CN1267817C - 用于衰落补偿的信号指示 - Google Patents

用于衰落补偿的信号指示 Download PDF

Info

Publication number
CN1267817C
CN1267817C CNB031241697A CN03124169A CN1267817C CN 1267817 C CN1267817 C CN 1267817C CN B031241697 A CNB031241697 A CN B031241697A CN 03124169 A CN03124169 A CN 03124169A CN 1267817 C CN1267817 C CN 1267817C
Authority
CN
China
Prior art keywords
frame
video
gradual change
compensation
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB031241697A
Other languages
English (en)
Other versions
CN1460925A (zh
Inventor
S·斯里尼瓦桑
S·雷格纳坦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1460925A publication Critical patent/CN1460925A/zh
Application granted granted Critical
Publication of CN1267817C publication Critical patent/CN1267817C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects

Abstract

在视频处理应用中使用信号指示渐变补偿的技术和工具。例如,视频编码器对一幅参照图像进行渐变补偿,用信号指示使用了渐变补偿,并且用信号指示渐变补偿的渐变参数。视频解码器收到用信号指示的信息并使用渐变参数对参照图像进行渐变补偿。

Description

用于衰落补偿的信号指示
(1)技术领域
本申请要求美国临时专利申请序列号60/377,628所述权利。该临时专利申请于2002年5月3日提出,将在此被引用。本申请涉及与此同时提交的美国专利申请序列号aa/bbb,ccc,其标题为“渐变补偿的参数化”,以及与此同时提交的美国专利申请序列号aa/bbb,ccc,标题为“渐变估计/补偿”,这两个专利申请公开的内容将在此被引用。
在视频处理应用中使用信号指示渐变补偿的技术和工具。例如,视频编码器对一幅参照图像进行渐变补偿,用信号指示使用了渐变补偿,并且用信号指示渐变补偿的渐变参数。
(2)背景技术
数字视频使用大量的存储和传输容量。典型的原始数字视频序列每秒包含15或30帧。每帧可能包含数万或数十万的象素(也称为pels)。每象素表示图片中一个很小的元素。在原始形式下,计算机通常使用24比特来表示一个象素。因此,一个原始数字视频序列每秒钟的比特数,或比特率可能是5百万比特/秒或者更多。
多数的计算机和计算机网络缺乏处理原始数字视频的资源。由于这个原因,工程师使用压缩(也称为编码)来降低数字视频的比特率。压缩可能是无损失的,这样不会影响视频的质量并但是比特率的降低程度受到视频复杂度的限制。或者,压缩可能是有损失的,这样会影响视频的质量但是能大幅降低比特率。解压缩与压缩相反。
总的来说,视频压缩技术包括帧内压缩和帧际压缩。帧内压缩技术压缩单个的帧,通常称为I帧或关键帧。帧际压缩技术压缩帧的时候参照前面的和/或者后面的帧,通常称为预测帧、P帧或B帧。
微软公司的Windows媒体视频,版本8[“WMV8”]包括一个视频编码器和一个视频解码器。WMV8编码器使用帧内和帧际压缩,WMV8解码器使用帧内和帧际解压缩。
A.WMV8帧内压缩
图1是WMV8编码器对一个关键帧里的一块象素(105)进行基于块的帧内压缩(100)的例子。例如,WMV8编码器把一个视频关键帧分解为8×8的象素块并对单个象素块做8×8的离散余弦变换[“DCT”](110),将8×8的象素块(105)变换为8×8的DCT系数块(115)。编码器量化(120)DCT系数,得到一个8×8的量子化的DCT系数块(125),编码器准备用它来进行熵编码。
编码器将DC系数(126)作为与当前正在编码的块的已编码的前一邻居块(如:邻居块(135))的DC系数(136)的差分进行编码。编码器对差分(140)做熵编码。图1展示经编码作为与邻居(左边的)块(135)的左边一栏(137)的差分(147)的AC系数左边一栏(127)。余下的AC系数从块(125)的量子化的DCT系数得到。
编码器扫描(150)8×8的预测的、量子化的AC DCT系数块(145)得到一维数组(155)然后用运行长度编码(160)的一种变体对扫描过的AC系数进行熵编码。编码器从一个或多个运行/级别/最后表(165)里选择一个熵码,然后输出这个熵码(170)。
B.WMV8帧际压缩
WMV8编码器的帧际压缩使用基于块的运动补偿预测编码,接着使用残差转换编码。图2和图3展示WMV8编码器对一个预测帧使用基于块的帧际压缩。特别地,图2展示预测帧(210)的运动估计,图3展示预测帧的运动预测块的预测残差的压缩。
例如,WMV8编码器把一个预测帧分解为8×8的象素块。四个8×8的象素块构成大块。对每个大块进行运动预测。运动预测估计大块的象素对一个参照帧的相对运动,例如,参照帧可以是在前面已经编码的一帧。在图2中,WMV8编码器对预测帧(210)中的大块(215)计算出一个运动向量。为了计算出这个运动向量,编码器搜索参照帧(230)的一个搜索区域(235)。在搜索区域(235)中,编码器用预测帧(210)里的大块(215)和不同的候选大块进行比较来找到一个较好匹配的候选大块。在编码器找到一个较好匹配的大块之后,编码器输出详细说明匹配大块的运动向量(熵编码的)的信息,从而解码器能够在解码的时候找到匹配的大块。当使用运动补偿对预测帧(210)解码时,解码器使用运动向量来通过参照帧(230)的信息计算大块(215)的预测大块。对大块(215)的预测很少是理想的,因此,编码器通常对预测大块和大块(215)自身之间8×8的象素块的差异(也称为误差或残差块)进行编码。
图3展示了WMV8编码器计算和编码一个误差块(335)的例子。误差块(335)是预测块(315)和原来的当前块(325)之间的差异。编码器对误差块(335)做DCT(340)变换,生成一个8×8的系数块(345)。然后编码器量子化(350)这些DCT系数,生成一个8×8的量子化的DCT系数块(355)。量子化过程的步长是可以调整的。量子化导致精确度的损失,但并不是系数信息的完全损失。
然后编码器准备对8×8的量子化的DCT系数块(355)做熵编码。编码器扫描(360)8×8的块(355)得到一个包含64个元素的一维数组(365),使得系数通常从最低频率向最高频率排序,这样通常产生0值的结果。
编码器用运行长度编码(370)的一个变体对扫描过的系数进行熵编码。编码器从一个或多个运行/级别/最后表(375)里选择一个熵码,然后输出这个熵码。
图4展示了一个对帧际编码的块进行对应的解码过程(400)的例子。由于对DCT系数的量子化,重建的块(475)和对应的初始块并不完全一样。这样的压缩是有损失的。
概括图4,解码器对表示使用可变长度解码(410)和一个或多个运行/级别/最后表(415)和运行长度编码(420)的预测残差熵编码的信息进行解码(410,420)。解码器反向扫描(430)存储熵编码的信息的一维数组(425)得到一个两维的块(435)。解码器反向量子化并反向离散余弦变换(一起,440)这些数据,得到一个重建的误差块(445)。在一条单独的运动补偿路径中,解码器使用运动向量信息(455)计算出一个预测块(465)来得到相对参照帧的位移。解码器组合(470)预测块(465)和重建的误差块(445)来生成重建块(475)。
初始帧和重建帧之间的变化量被称为畸变,需要用来对帧编码的比特数被成为帧比率。畸变的量和帧比率大致成反比。换句话来说,用更少的比特来对帧进行编码(更高的压缩)将得到更大的畸变,反之亦然。
C.已有的基于运动的视频压缩的局限性
带有特殊效果如渐变、变形和颜色混合的视频序列需要相对而言更多的比特数来编码,因为已有的基于运动的视频压缩方法总的来说对这样的帧不是很有效。例如,考虑一个视频序列,在其中帧里的一个物体从一帧到下一帧在一个方向上运动一点点。用典型的块匹配运动估计技术,在没有渐变的视频序列中找到当前帧中的一个块在前一帧中较好的匹配块,并且对得到的运动向量编码是一件容易的事情。然而,如果,例如,一个“渐变到全黑“效果发生在视频序列里的时候,当前帧里的每个亮度值相对于前一帧可能都有了变化,这样阻碍了视频编码器为一个块找到比较好的匹配。渐变还可能发生在自然照度变化的一个序列里。作为其它转换效果的颜色混合以及变形,也可能降低直接做运动估计/补偿的有效性。
D.视频压缩和解压缩的标准
除了WMV8以外,还有一些国际标准涉及视频压缩和解压缩。这些标准包括运动图片专家组[“MPEG]1,2和4的标准以及国际电信同盟[“ITU”]的标准H.261,H.262和H.263。象WMV8一样,这些标准使用帧内压缩和帧际压缩的组合,虽然这些标准在压缩技术的细节上和WMV8有所不同。例如,H.263标准中的附件P描述了参照图片再取样模式,该模式可以用来预测从而在编码时自适应地更改图片的分辨率。
既然对数码视频来说视频压缩和解压缩是至关重要的,在视频压缩和解压缩领域有充足的发展也就不奇怪了。无论已有的视频压缩和解压缩接收有什么样的益处,然而,它们并没有下述技术和工具的优越性。
(3)发明内容
视频压缩的一个目标是提高帧比率-畸变的性能,换句话说,用更少的比特达到同样的质量,或用同样数量的比特但达到更高的质量。实现这个目标的一种方法是找出视频序列中需要相对大量比特来编码的部分,然后找到方法来更好地压缩这些部分。带有特殊效果如渐变、变形和颜色混合的视频序列的部分是不多的,但需要相对大量的比特来编码,这样的情况确实出现因为已有的基于运动的视频压缩方法一般对这样的部分不是很有效。
因此,概括地来讲,详细说明集中于各种用来提高视频序列中帧比率-畸变的性能技术和方法,这些方法包括淡入、淡出、交叉渐变、或其他渐变,颜色混合,或变形效果。例如,视频编码器通过调整参照帧对当前帧进行渐变补偿。这样使得用参照帧的运动补偿更加有效。然后视频编码器用信号指示对应的视频解码器如何进行渐变补偿。视频解码器收到用信号指示的信息并通过调整参照帧来进行渐变补偿。特别地,详细说明集中于说明有效的方法来用信号指示渐变补偿信息,这样为典型的视频序列减少了和渐变补偿信息相关的比特率。
在第一组技术和工具中,视频编码器或解码器对一个视频图像(如当前的视频帧)使用一个渐变补偿开/关信号来处理。例如,视频编码器通过视频图像是否使用了渐变补偿来确定开/关信号的值。然后视频编码器传输这个开/关信号(和渐变参数一起,如果使用了渐变补偿的话)。对应的视频解码器接收这个这个开/关信号(和任何渐变参数一起),然后根据开/关信号的值来确定渐变补偿对视频图像是开还是关。
在第二组技术和工具中,渐变补偿开/关信号和其他图像级的信息(如运动模式信息)熵编码在一起,这样来减少典型的视频序列中和开/关信号相关的比特率。例如,一个或更多的熵码一起表示一个视频图像的开/关信号和这个图像的图像级信息。
在第三组技术和工具中,视频编码器或解码器在视频序列中对渐变补偿能力信号进行处理。如果启用渐变补偿,视频编码器或解码器对视频序列中的视频图像用一个或多个开/关信号来处理。例如,能力信号在序列级,开/关信号都在图像级。
各种技术和工具可以组合或单独使用。不同的实例使用一种或多种这里描述的技术和工具。
另外的特性和优点将在明显地体现在下面不同实例的详细描述中,这些实例引用附图来说明。
(4)附图说明
图1展示现有技术所述基于块的帧内压缩。
图2展示现有技术所述视频编码器中的运动估计。
图3展示现有技术所述基于块的帧际压缩。
图4展示现有技术所述基于块的帧际解压缩。
图5为方框图,展示一个适合的计算环境,下述几个实例将在其中实现。
图6为方框图,展示下述几个实例中使用的一个一般化的视频编码系统。
图7为方框图,展示下述几个实例中使用的一个一般化的视频解码系统。
图8为流程图,展示使用渐变估计和补偿的一种视频编码技术。
图9为流程图,展示使用渐变补偿的一种视频解码技术。
图10为方框图,展示一个能进行渐变估计和补偿的视频编码系统。
图11为方框图,展示一个能进行渐变补偿的视频解码系统。
图12为流程图,展示一种渐变探测和参数提取的技术。
图13为一张表,展示一种指示是否对一个帧使用渐变补偿的信号表示方案。
(5)具体实施方式
下述实例涉及渐变估计和/或补偿的技术和工具。没有渐变补偿/估计,带有特殊效果如渐变、变形和颜色混合的视频序列需要相对而言更多的比特数来编码,因为已有的基于运动的视频压缩方法总的来说对这样的帧不是很有效。下述实例通过对这样的序列进行渐变估计/补偿来提高帧比率-畸变的性能。不同的实例涉及用来估计、应用、编码和/或解码全局亮度改变参数的技术和工具。
部分实例中的渐变补偿包括对一个或多个参照帧进行全局亮度改变来对渐变进行补偿。全局亮度改变是在一个定义的区域中亮度的改变,这个区域可以是一个帧,帧的一部分(如,一个帧里单独的块或大块,或一个帧里的一组大块),也可以是被编码或解码的图像的其他特定部分。然后通过调整一个或多个参照帧用运动估计/补偿来预测当前帧。作为其他选择,渐变补偿包括对参照帧全局的改变来对颜色混合或变形这样的效果进行补偿。总的来说,渐变补偿包括任何对渐变(即渐变到全黑或从全黑渐变)、颜色混合、变形,或其他影响象素值强度的自然或合成光照效果的补偿。然而为了不失一般性,术语全局亮度改变和渐变将在这里可以互相替代,除非在语境中有明确的描述。
作为对帧进行渐变补偿的其他选择,一些实例对域、对象层或其图像进行渐变补偿。
在一些实例中,通过在YUV颜色空间中调整参照帧的亮度和色度通道的象素值来进行渐变补偿。这些调整包括缩放和替换亮度象素值,缩放和替换色度象素值。作为其他选择,颜色空间是不同的(例如YIQ或RGB)并且/或者补偿使用其他调整技术。
一个编码器/解码器进行渐变估计/补偿是基于一帧一帧的。作为其他选择,一个编码器/解码器进行渐变估计/补偿可以有其他的基础或基于一帧的一部分如一个或多个块或大块。
不同的技术和工具可以组合使用或单独使用。不同的实例实现一种或多种所述的技术和工具。虽然这些技术的操作通为了方便说明常以一种特地的、连续的顺序来描述,应理解这样的描述方式包括操作顺序上小的改动,除非一种特定的顺序是必须的。例如,连续描述的操作可能在一些场合下重新安排或同时执行。再者,为简单起见,流程图通常不展示特定的技术和其他技术联合使用的各种方法。
在一些实例中,视频编码器和解码器在比特流中使用不同的标志和信号。虽然描述的是特定的标志和信号,应理解这样的描述方式包括标志和信号的不同惯例(例如,用0而不用1)。
I.计算环境
图5展示了适合的计算环境(500)的一个一般化的例子,下述几个实例将在其中实现。计算环境(500)并不意味着对使用或功能的范围加以任何限制,因为这些技术和工具可以在不同的通用或专用计算环境中实现。
参照图5,计算环境(500)包括至少一个处理单元(510)和存储器(520)。在图5中,这个最基本的配置(530)包含在一个虚线框里。处理单元(510)执行计算机可执行的指令并且可以是一个真实或虚拟的处理器。在多处理器系统中,多个处理单元执行计算机可执行的指令来提高处理能力。存储器(520)可以是易变失储器(如寄存器、缓存、RAM),非易失存储器(如ROM、EEPROM、闪存等等),或两者的组合。存储器(520)存储实现编码器或解码器的软件(580),如视频编码器或解码器。
计算环境可能有附加的属性。例如,计算环境(500)包含存储(540),一个或多个输入设备(550),一个或多个输出设备(560),和一个或多个通讯连接(570)。一个互联机制(未标出)如总线、控制器、或网络连接了计算环境(550)中的组件。典型地,操作系统软件(未标出)为其他在计算环境(500)中执行的软件提供一个操作环境,并且协调计算环境(500)中组件的活动。
存储(540)可以是可运动的或不可运动的,并且包括磁盘,磁带或盒式磁带,CD-ROM,DVD,或其他可以用来存储信息并且在计算环境(500)中访问到的媒体。存储(540)保存软件(580)实现编码器或解码器的指令。
输入设备(550)可以是一个触摸输入设备,如键盘,鼠标,笔,或轨迹球,语音输入设备,扫描仪,或其他为计算环境(500)提供输入的设备。为音频或视频编码,输入设备(550)可以是声卡、视频卡、电视卡,或类似的可以接受模拟或数字格式的音频或视频输入的设备,或可以将音频或视频样本读入计算环境(500)的CD-ROM或CD-RW。输出设备(560)可以是显示器、打印机、音箱、CD刻录机,或其他可以为计算环境(500)提供输出的设备。
通讯连接(570)启用通讯媒体与其他的计算实体通讯。通讯媒体传送信息如计算机可执行的指令、音频或视频输入或输出,或其他以调制过的数据信号表达的数据。调制过的数据信号是一种信号,它的一个或多个特性被设置或改变用以在信号中对信息进行编码。作为例子,而非限制,通讯媒体包括以电、光、RF、红外线、声音或其他载体实现的有线或无线的技术。
这些技术和工具可以在一般性的计算机可读媒体的语境中描述。计算机可读媒体是任何可以在计算环境中访问到的媒体。作为例子,而非限制,在计算环境(500)中,计算机可读媒体包括存储器(520)、存储(540)、通讯媒体,和上述媒体的组合。
这些技术和工具可以在一般性的计算机可执行指令的语境中描述,如那些包含在程序模块中,由真实的或虚拟的目标处理器在计算环境中执行的指令。总的来说,程序模块包括子程序、程序、库、对象、类、组件、数据结构等等,它们执行特殊的任务或实现特殊的抽象数据类型。在不同的实例中,程序模块的功能可以按需要组合或分解在模块之间。程序模块的计算机可执行指令可以在本地或分布式的计算环境中执行。
为方便说明,详细说明中使用“估计”、“信号”,“编码”和“解码”这样的术语来描述计算环境中的计算机操作。这些术语是计算机操作的高层抽象,不应和人做出的动作混淆。与这些术语相对应的实际的计算机操作取决于不同的实现。
II.一般化的视频编码器和解码器
图6是方框图,展示一般化的视频编码器(600),图7是方框图,展示一般化的视频解码器(700)。
编码器和解码器中模块之间的关系表示编码器和解码器中的主要信息流;为简单起见其他关系并没有展示。特别地,图6和7一般没有展示附加信息如对视频序列,帧,大块,块等等的编码器设置、模式、表等等。这些附加信息在输出流中被发送,通常再对这些附加信息进行熵编码之后。输出流的格式可以是Windows媒体视频格式或其他格式。
编码器(600)和解码器(700)是基于块的,并且使用每个大块包含4个8×8的亮度块(有时当作一个16×16的大块)和2个8×8的色度块的4∶2∶0大块格式。作为其他选择,编码器(600)和解码器(700)是基于对象的,使用不同的大块或块格式,或对不同大小或配置的象素集合而非8×8的块或16×16的大块进行操作。
取决于实现和需要的压缩类型,编码器或解码器的模块可以增加,忽略,分成多个模块,和其他模块组合,以及/或被类似的模块替代。在作为其他选择的实例中,有着不同的模块及/或其他模块的配置编码器或解码器使用一种或多种所述技术。
A.视频编码器
图6是方框图,展示一个一般化的视频编码系统(600)。编码系统(600)接收到包含当前帧(605)的一系列视频帧,并产生压缩的视频信息(695)作为输出。特殊的视频编码器实例通常使用一般化的视频编码系统(600)的一个变体或补充版本。
编码系统(600)压缩预测帧和关键帧。为了方便说明,图6展示了关键帧通过编码系统(600)的一条路径以及向前预测帧的一条路径。编码系统(600)的很多组件被用来压缩关键帧和预测帧。这些组件具体的操作取决于被压缩的信息类型。
预测帧[也称为p-帧、b-帧(双向预测),或交互编码帧]用一个或多个其他帧的预测(或差别)来表示。预测残差是初始帧和预测结果之间的差别。相反,关键帧[也称为I-帧,内编码帧]压缩的时候不引用其他帧。
如果当前帧(605)是一个向前预测帧,运动估计器(610)根据参照帧估计当前帧(605)里的大块或其他象素集的运动,参照帧是重建的前一帧(625),它缓冲在帧存储(620)里。在作为其他选择的实例中,参照帧是后一帧或当前帧是双向预测的。运动估计器(610)将运动信息(615)如运动向量作为附加信息输出。运动补偿器(630)对重建的前一帧应用运动信息(615)来生成一个运动补偿的当前帧(635)。然而预测很少非常理想,运动补偿的当前帧(635)和初始当前帧(605)之间的差别是预测残差(645)。作为其他选择,运动估计器和运动补偿器应用其他类型的运动估计/补偿。
频率变换器(660)转换空间域的视频信息为频率域(即频谱)数据。对基于块的视频帧,频率变换器(660)对运动预测残差数据块应用离散余弦变换[“DCT”]或DCT的变体生成DCT系数块。作为其他选择,频率变换器(660)应用其他常规的频率变换如傅立叶变换或使用小波分析或次能带分析。在一些实例中,频率变换器(660)对关键帧的空间预测残差块应用频率变换。频率变换器(660)可以应用8×8、8×4、4×8或其他大小的频率变换。
然后量化器(670)对频谱数据系数块进行量子化。量化器使用基于帧到帧或其他基础的步长对频谱数据应用均匀、标量量子化。作为其他选择,量化器对频谱数据系数应用其他类型的量子化,例如,非均匀、向量,或非自适应量子化,或在不使用频率变换的编码系统中直接量子化空间域数据。除自适应量子化以外,编码器(600)可能使用帧丢弃,自适应过滤,或其他技术来进行速率控制。
当重建的当前帧需要用在接下来的运动估计/补偿中时,逆量子化变换器(676)对量子化的频谱数据系数进行逆量子化。然后逆频率变换器(660)执行频率变换器(660)的逆操作,生成重建的预测残差(对预测帧)或重建的关键帧。如果当前帧(605)是一个关键帧,将重建的关键帧作为重建的当前帧(未标出)。如果当前帧(605)是一个预测帧,重建的预测残差加到运动补偿的当前帧(635)中生成重建的当前帧。帧存储(620)缓冲重建的当前帧用来预测下一帧。在一些实例中,编码器对重建的帧应用去块过滤器来自适应地平滑帧里块之间的不连续。
熵编码器(680)压缩量化器(670)的输出和一些附加信息(如运动信息(615),量子化步长)。通常熵编码技术包括算术编码、微分编码、霍夫曼编码、运行长度编码、LZ编码、字典编码和上述技术的组合。熵编码器(680)通常对不同类型的信息(如DC系数、AC系数、不同类型的附加信息)使用不同的编码技术,而且可以对一种特别的编码技术选择使用不同的编码表。
熵编码器(680)将压缩的视频信息(695)放到缓冲(690)中。缓冲级别指标将反馈回比特率自适应模块。压缩的视频信息(695)以一个恒定的或相对恒定的比特率从缓冲(690)中减少,并以同样的比特率存储接下来的流。作为其他选择,编码系统(600)在压缩后马上将压缩的视频信息作为流输出。
在缓冲(690)之前或之后,压缩的视频信息(695)可能为在网络上传输被通道编码。通道编码可以对压缩的视频信息施加检错和纠正数据(695)。
B.视频解码器
图7是方框图,展示一般化的视频解码系统(700)。解码系统(700)收到压缩的视频帧系列信息(795)然后产生包括重建帧(705)的输出。特殊的视频解码器实例通常使用一般化的解码器(700)的一个变体或补充版本。
解码系统(700)对预测帧和关键帧解压缩。为了方便说明,图7展示了关键帧通过解码系统(700)的一条路径以及向前预测帧的一条路径。解码系统(700)的很多组件被用来解压缩关键帧和预测帧。这些组件具体的操作取决于被解压缩的信息类型。
缓冲(790)收到压缩的视频系列信息(795)并使可用的这些收到信息送到熵解码器(780)。缓冲(790)通常以一个长时间内比较恒定的速率来接收信息,并包括一个抖动缓冲用来平滑短时间内带宽或传输的变化。缓冲(790)可以包含一个回放缓冲及其他缓冲。作为其他选择,缓冲(790)以变化的速率接收信息。在缓冲(790)之前或之后,可以对压缩的视频信息进行通道编码和检错和纠正处理。
熵解码器(780)对熵编码的量子化数据以及熵编码的附加信息(如运动信息(715)、量子化步长)进行熵解码,通常应用编码器里使用的熵编码的逆过程。熵解码技术包括算术解码、微分解码、霍夫曼解码、运行长度解码、LZ解码、字典解码,和上述技术的组合。熵解码器(780)经常对不同类型的信息(如DC系数、AC系数、不同类型的附加信息)使用不同的解码技术,并且可以对一种特殊的解码技术选择不同的编码表。
如果将被重建的帧(705)是一个向前预测帧,运动补偿器(730)对参照帧(724)应用运动信息(715)来生成重建帧(705)的预测(735)。例如,运动补偿器(730)使用大块运动向量在参照帧(725)中寻找一个大块。帧缓冲(720)存储前面的重建帧来作为参照帧使用。作为其他选择,运动补偿器应用其他类型的运动补偿。运动补偿器的预测很少非常理想,因此解码器(700)也重建预测残差。
当解码器需要一个重建帧来进行接下来的运动补偿时,帧存储(720)缓冲这个重建帧用来预测下一帧。在一些实例中,解码器对重建的帧应用去块过滤器来自适应地平滑帧里块之间的不连续。
逆量子化变换器(770)对熵解码的数据进行逆量子化。总的来说,逆量子化变换器使用基于帧到帧或其他基础的步长对熵解码的信息应用均匀的、标量逆量子化变换。作为其他选择,逆量子变换器对数据应用其他类型的逆量子变换,例如非均匀的、向量、或非自适应的逆量子变换,或直接逆量子化不使用逆频率变换的解码系统中的空间域数据。
逆频率变换器(760)转换量子化的频率域数据到空间域的视频信息。对基于块的视频帧,逆频率变换器(760)对DCT系数块应用逆DCT[“IDCT”]或IDCT的变体,生成运动预测残差数据。作为其他选择,逆频率变换器(760)应用其他常规的逆频率变换如傅立叶变换或使用小波分析或次能带分析。在一些实例中,逆频率变换器(760)对关键帧的空间预测残差块应用逆频率变换。逆频率变换器(760)可以应用8×8、8×4、4×8或其他大小的逆频率变换。
III.全局亮度改变估计/补偿
一些下述实例包括用来估计、应用、编码和/或解码以几个参数描述的全局亮度改变的技术和工具。这些技术和工具使得同样的重建视频的主观或者客观质量能在更低的比特率上达到。每个单独的工具或技术都实现一种或多种1)全局亮度改变补偿方案;2)全局亮度参数的参数化;3)计算上有效的全局亮度参数估计/提取;4)全局亮度改变的帧的低成本的信号表示;5)全局亮度参数的低成本信号表示。亮度改变可能对一帧,一个域,帧或域的一部分如单个块、单个大块、或大块组,或图片的其他特定部分是全局的。虽然对大部分下面针对整帧的亮度改变的参数化和补偿的说明,但同样的亮度改变补偿框架可以用来(a)判断图像的一部分(如单独的块或大块)是否有渐变,(b)计算这个部分的渐变参数,及(c)参数化和传输这些图像特定部分的渐变参数。这些技术可以对图像的多个部分重复使用。
全局亮度改变(也称为“渐变”)可能是场景的亮度和/或对比度的变化。通常,这样的变化是线性的,但渐变也可以定义为包括在同一框架下任何的平滑、非线性映射。渐变、变形和颜色混合广泛应用在视频内容的创作中以平滑场景变换时视频帧的演化和提供特殊的效果。更进一步,一些序列渐变得很自然是因为亮度的改变。带有特殊效果如渐变、变形和颜色混合的视频帧需要相对而言更多的比特数来编码,因为已有的基于运动的视频压缩方法总的来说对这样的帧不是很有效。
A.全局亮度改变补偿方案
图8展示一种使用全局亮度改变补偿的视频编码技术(800)。一个编码器,如图6展示的编码器(600)可能使用技术(800)。
首先,编码器在要编码的帧中检测是否有渐变(810),如一个视频序列中当前正在编码的帧。如果编码器在帧中检测到渐变(810),那么编码器取得渐变参数(820)。例如,编码器检测到渐变并且取得渐变参数在C-节中有描述。作为其他选择,编码器使用不同的技术来检测渐变和/或取得参数。编码器用信号表示渐变补偿是开还是关,并且,如果是开,那么也用信号表示渐变参数。
如果这一帧的渐变被检测到,编码器就对一个或多个这一帧的参照帧进行渐变补偿(830),例如象B一节中描述的那样。当编码器对多个参照帧进行渐变补偿,多个参照帧可以在正在编码的帧之前或之后(按回放的顺序)。编码器根据多个参照帧用信号表示正在编码的帧的哪些部分是补偿过的。对这样的信号表示,编码器可能使用已在这样的系统中进行参照帧选择的信号表示。在一些实例中,编码器可能同时使用初始参照帧和重映射的参照帧对正在编码的帧进行运动估计/补偿。编码器可能这样做,例如,编码一个既有渐变内容又有非渐变内容覆盖的当前帧。
在渐变补偿后,编码器根据调整的参照帧使用运动估计/补偿对这一帧进行编码(840)。如果编码器未检测到渐变,编码器对这一帧的编码不需要取得渐变参数或进行渐变补偿。当编码完成后(850),处理结束。
图9展示使用渐变补偿来对已编码的视频进行解码的技术(900)。象图7中所示的解码器(700)可能使用技术(900)。
首先,解码器检测(910)对要解码的帧渐变是开还是关。一种进行这种检测的方法是检测编码器发送的信号表示的信息。如果解码器测出对这一帧渐变是开(910),那么解码器进行渐变补偿(920)。例如,解码器得到编码器发送的渐变参数并对一个或多个要被解码的帧的参照帧进行渐变补偿(象编码器进行的那样)。
然后解码器解码这一帧(930),例如,根据调整过的参照帧使用运动补偿。如果渐变是关,那么解码器对这一帧进行解码(930)而不进行渐变补偿。当解码完成(940),过程结束。
图10展示一个进行全局亮度改变补偿的样本编码器框架(1000)。在这个框架(1000)里,编码器有条件地使用渐变估计得到的参数来重映射一个参照帧。当编码器在探测到一定程度比较确定的,在整个帧里都出现的渐变,那么编码器进行重映射,或渐变补偿。否则,渐变补偿是一个恒定运算(即输出=输入)。
根据图10,编码器使用渐变检测模块(1030)比较当前帧(1010)和参照帧(1020)来确定是否有渐变发生。在一些实例中,参照帧是视频序列中当前帧的前一帧。作为其他选择,参照帧可以是前一帧前面的帧或在当前帧之后。当使用了多个参照帧时,编码器可能对每个参照帧进行渐变检测。编码器根据渐变检测的结果生成一个“渐变开”或“渐变关”的信号(1040)。
如果渐变为开,渐变估计模块(1050)根据对当前帧(1010)和参照帧(1020)的计算估计渐变参数(1060)。(一些实例中的渐变参数估计的细节在下面C一节讨论到)。
渐变补偿模块(1070)使用渐变参数(1060)来重映射当前帧(1020)(作为其他选择,多个参照帧)。编码器可以使用其他的编码模块(1080)(如运动估计和补偿、频率变换,和量子化模块)来压缩这一帧。编码器输出运动向量、残差和其他说明已被编码的当前帧(1010)的信息(1090)。除了用直线运动向量的运动估计/补偿,全局亮度改变补偿的框架适用于各种基于运动补偿的视频编码解码器。
图11展示一个进行全局亮度改变补偿的样本解码器框架(1100)。解码器生成一个解码后的当前帧(1110)。为了解码一个使用渐变补偿的已编码的帧,解码器使用渐变补偿模块(1130)对一个已解码的参照帧(1120)(作为其他选择,对多个参照帧)进行渐变补偿。
如果渐变开/关信号(1140)表明对已编码的当前帧(1110)渐变为开,那么解码器对参照帧(1120)进行渐变补偿。解码器使用在渐变估计中取得的渐变参数(1150)进行渐变补偿(象在编码器中那样)。否则(如果对当前帧渐变为关),渐变补偿为一个恒等运算(即输出=输入)。
然后解码器可以使用其他的解码模块(1160)(如运动补偿、逆频率变换,和逆量子化模块)对使用运动向量、残差和编码器提供的其他信息(1170)的已编码的帧进行解压缩。
B.参数化和补偿
在视频编辑中,合成渐变有时通过应用一种简单的、以象素为单位的线性变换于亮度和色度通道来实现。类似的,交叉渐变有时通过两个视频序列的线性累加来实现,这个过程中合成随时间推移而改变。相应地,在一些实例中,如图10里的框架(1000)所示的编码器把渐变(无论是自然的还是合成的)参数化为一个以象素为单位的线性变换,把交叉渐变参数化为一个线性累加,而如图11里的框架(1100)所示的解码器进行对应的变换。
让I(n)代表帧n里的一个图像而I(n-1)为前一帧里的一个图像。当运动很小的时候,简单的渐变用等式1中的一阶关系来建模。(由于视频序列中可能的运动,等式1中的关系是近似的)。
             I(n)≈CI(n-1)+B                   (1),
这里渐变参数B和C各自对应亮度和对比度。当非线性渐变发生的时候,一阶分量通常反映了大部分的改变。
从一个图像序列U(n)到一个图像序列V(n)的交叉渐变可以用等式2的关系建模。由于视频序列中可能的运动,等式2的关系是近似的。
            I(n)≈αnV+(1-αn)U
                ≈I(n-1)+α(V-U)                (2),
≈ ( 1 - α ) I ( n - 1 ) n ≈ 0 ( 1 + α ) I ( n - 1 ) n ≈ 1 / α
n≈0表示交叉渐变的开始,而n≈1/α表示交叉渐变的结束。对跨越几个帧的交叉渐变,α是很小的。在交叉渐变的开始,第n帧接近于第n-1帧的减弱(对比度<1)版本。接近结束时,第n帧为第n-1帧的增强(对比度>1)版本。换句话来说,在交叉渐变的开始,第n帧可以建模为第n-1帧缩放对比度值1-α,而在交叉渐变结束时,第n帧可以建模为第n-1帧缩放对比度值1+α。公式2展示在交叉渐变开始和结束时,编码器可以通过重映射一个参照帧(如第n-1帧)使用一个线性规则(如下面公式3和4所示)得到第n帧。
编码器通过重映射一个参照帧来进行全局亮度改变补偿。编码器基于象素或其他的基础来重映射参照帧。初始的、未重映射的参照帧完全被丢弃(虽然在多个参照帧的情况下,未重映射的参照帧也可能被用到)。
下面的线性规则基于公式1,通过两个参数B和C(对应于场景的亮度和对比度)重映射参照帧R的亮度值到重映射参照帧
Figure C0312416900211
参照帧的亮度值被通过对比度值缩放(或“加权”)以及通过亮度值移位(即加一个偏移量)。对色度,重映射遵循下面的规则:
这里μ是色度值的均值。在一个实例中,128被假设认为是色度值无符号8比特表示的均值。色度重映射的这一规则没有用到亮度分量。
在一些实例中,公式3和4中用到的两个参数的线性重映射被扩展为高阶的项。例如,公式5是一个重映射R的亮度值到 的二阶公式:
其他实例使用其他的重映射规则。在这样的重映射规则的一个类别中,对非线性渐变,线性映射被非线性映射所替代。
C.估计渐变参数
渐变估计是在编码过程中计算渐变参数的过程。象图10中里的框架(1000)所示的编码器可能在编码的过程中计算亮度(B)和对比度(C)参数。
在一些实例中,为了快速准确地估计参数,编码器使用图12所示的技术(1200)。在所示技术中,只分析了亮度通道。作为其他选择,当有更多计算资源可用时,编码器可以在分析中包含色度。例如,编码器算出公式3和4(不仅仅是公式3)中的C,来使得C更稳固。
在图12所示的实例里,在渐变估计的过程中场景中的运动被忽略了。这基于下面的观察(a)渐变和交叉渐变通常发生在静止或运动很少的场景中,及(b)全局亮度改变补偿在运动很多的场景中的效用是很低的。作为其他选择,编码器同时计算出渐变参数和运动信息。然后运动信息在该技术(1200)后面的阶段中或其他时候被用来改进渐变参数的准确度。一种使用运动信息的方法是在渐变估计中忽略那些检测到有运动的参照帧。
在技术(1200)的不同部分中,绝对误差和∑abs(I(n)-R)或
Figure C0312416900216
用来作为决定渐变存在和参数的度量。作为其他选择,编码器对同一误差项使用其他或附加的度量如误差平方和[“SSE”]或误差平方均值[“MSE”],或者编码器使用不同的误差项。
在技术(1200)的不同阶段,编码器可能在满足退出条件时终止技术(1200)。图12展示了几种退出条件。对另一个退出条件(未在图12中标出),编码器检测对比度参数是否在技术(1200)的开始或一个中间阶段接近1.0(在一种实现中,.99<C<1.02),如果是这样,终止技术(1200)。
编码器通过对当前帧和参照帧减少抽样(1210)来开始处理(1200)。在一种实现中,编码器在水平和垂直的方向上进行抽样减少到1/4。作为其他选择,编码器可减少到其他因子来抽样,或全然不减小。
然后编码器计算低分辨率版本的当前帧和参照帧(以下标d表示)的绝对误差和∑abs(Id(n)-Rd)(1220)。绝对误差和度量减少抽样得到的当前帧和减少抽样得到的参照帧之间的象素值差异。如果绝对误差和小于一个特定的阈值(1230)(如预先确定的减少抽样得到的当前帧和减少抽样得到的参照帧之间的象素亮度值差异度量),编码器认为没有渐变发生,从而不进行渐变补偿(1235)。
否则,编码器估计亮度(B)和对比度(C)参数(1240)。B和C的粗略估计根据Rd用Id(n)建模得到。在一个实例中,亮度和对比度参数通过对整个减少抽样得到的帧做线性回归得到。在其他的实例中,编码器使用其他形式的统计分析如最小平方和、最小平方中位数等等,用来做更健壮的分析。例如,编码器根据误差项Id(n)-Rd最小化MSE或SSE。在一些情况下,MSE和SSE并不健壮。因此编码器也对误差项检验绝对误差和。编码器对特别的点丢弃高的误差值(可能由运动而非渐变造成)。
然后编码器通过量子化和去量子化B和C计算Bf和Cf(1250)。粗略估计的参数被量子化和去量子化,得到Bf和Cf,来确保它们在允许的范围之内并检验一致性。在一些实例中,对典型的8比特深的图像,B和C被量子化为每个6比特。B取-32到31的整数值,由带符号的5比特整数代表。C量子化的值,用Cq来表示,取值以均匀的步长0.015625(1/64)从0.515625到1.484375,对应量子化的值1到63。量子化通过对B和C四舍五入到最近的有效的去量子化值并取合适的二进制指数来进行。
然后编码器计算初始定界的绝对误差和(SOrgBnd)和重映射的定界绝对误差和(SRmpBnd)(1270)。在一些实例中,编码器计算这些和使用吻合度分析。对初始分辨率下随机或伪随机的一组象素,编码器计算重映射的定界的绝对误差和∑babs(I(n)-CfR-Bf),这里对特定的边界M,babs(x)=min(abs(x),M)。在一个实例中,M是被编码的帧的量子化参数的倍数。边界M在量子化参数比较粗略的时候会高一些,在量子化参数比较精确的时候会低一些。编码器还累积初始的定界的绝对误差和∑babs(I(n)-R)。如果计算资源允许,编码器可能对整个的帧计算定界的误差和。
然后,基于初始的及重映射的定界的绝对误差和的相对值,编码器确定是否使用渐变补偿(1280)。例如,在一些实例中,编码器不使用渐变补偿除非重映射的定界的绝对误差和小于或等于特定的阈值相对于初始定界的绝对误差和的百分比σ。在一种实现中,σ=.95。如果编码器进行渐变补偿,编码器重新计算编码参数,这次计算基于I(n)和R之间的线性回归,但在完全的分辨率下(1290)。为节省计算时间,编码器可以对随机或伪随机抽样得到的帧来进行重复的线性回归。此外,编码器可以作为其他选择使用其他形式的统计分析(如最小平方和、最小平方中位数等等)来做更健壮的分析。当编码结束(1295),过程亦结束。
在一个实例中,编码器允许一种特殊的情况,即公式3和4里的C=-1。这种特殊情况通过比特流里的Cq=0用信号表示。在这个“反转”模式里,参照帧在通过B移位之前先反转,B的范围以2为步长从193到319。
D.信号表示
如图10里框架(1000)所示的编码器发送渐变开/关信号表示的信息及渐变参数。如图11里框架(1100)所示的解码器接收用信号表示的信息和渐变参数。
在一些实例中,在序列级别,编码器发送一比特来标志序列是否启用全局亮度改变补偿。编码器还在帧级别用信号表示全局亮度改变和/或用信号表示帧的部分的全局亮度改变,如帧内部单独的块或大块。
在典型的视频序列的帧之间,全局亮度改变或渐变的发生是少见的。通过加一个比特来用信号表示渐变(或者,等价地,没有渐变)是可能的。例如,编码器可以在帧级别使用一个比特信号表示渐变(或者,等价地,没有渐变)。然而,把渐变(或者,等价地,没有渐变)和其他信息一起用信号表示并不会更经济。例如,编码器在一个运动模式(即,运动向量的数量和配置,子象素插值方案)的可变长代码(VLC)表中使用一个转义序列进行帧级别的信号表示。在这样的实例中,编码器一起用信号表示最不频繁运动模式和渐变补偿的激活。
让事件F表示渐变的存在,G表示这一帧最不频繁运动模式的选择。让VLC<MVMODE>表示当G为假的时候的一个运动模式。这张VLC表的设计使用转义符号<ESC>来用信号表示什么时候F和/或F为真。表1展示了F和运动模式的联合编码,当激活了渐变补偿的时候渐变参数B和C放在后面。
  G=假   G=真
  F=假   <MVMODE>   <ESC>0
  F=真   <ESC>1<MVMODE>[B][C]   <ESC>1<ESC>[B][C]
表1:最不频繁运动模式和渐变信号的联合编码
如果全局亮度改变对某一帧是激活的,另外一个VLC(或<MVMODE>或<ESC>)放在后面来表示运动模式。然后,用各自表示B和C的两个6位的定长编码字作为信号表示参数。作为其他选择,参数可以用VLC来表示。当渐变应用于帧的一个单独部分,编码器可独立地用这部分来信号表示渐变参数。例如,如果渐变仅用于视频帧的大块,则渐变信息可以通过联合熵编码和大块级的信息如编码的块模式或变换类型来用信号表示。
图13是树图,展示当编码器对最不频繁运动模式和渐变的存在联合编码时的编码排列(对应于表1,作为一种实现)。(渐变参数编码的细节在此忽略)。编码器使用VLC来表示每一种其他的运动模式(如,代码“0”,“10”和“110”相应地表示运动模式0,1,2)。当渐变没有激活的时候,编码器使用转义码(如“111”)跟着一个“0”来表示最不频繁运动模式。编码器使用转义码跟着一个“1”来标志渐变是激活的。
应当理解这里描述的程序,过程或方法并不关系到或限制于任何特定类型的计算环境,除非明确指出。不同类型的通用或专用计算环境可以与这里描述的说明符合的方式来使用或执行操作。以软件展示的实例的元素可以通过硬件实现,反之亦然。
考虑到我们的发明的原则可以用在很多可能的实例当中,我们要求所有这样的实例,在下述权利要求所述或与之等同的范围和精神之内,都视为我们的发明。

Claims (21)

1.一种在计算机系统中由计算机实现的方法,其特征在于,所述方法包括:
对多个视频帧中的每个视频帧:
确定这一视频帧的全局亮度改变补偿开/关信号的值,其中,所述值取决于是否对所述视频帧使用了全局亮度改变补偿;
将所述全局亮度改变补偿开/关信号的值和这一视频帧其他的帧级别信息熵编码在一起;以及
在帧级别发送所述熵编码结果信号。
2.按照权利要求1的所述方法,其特征在于,进一步包括:
对包括所述多个视频帧的序列,发送全局亮度改变补偿能力开/关信号的值的信号。
3.按照权利要求1的所述方法,其特征在于,进一步包括:
在确定所述全局亮度改变补偿开/关信号的值之前,对多个视频中的至少一个视频帧:
检测该视频帧中是否有渐变;及
对这一视频帧估计全局亮度改变参数,所述全局亮度改变参数在对该视频帧进行熵编码的结果之后传输。
4.在计算机系统中的一种计算机可执行方法,其特征在于,包括:
对于多个视频帧中的每个视频帧:
以帧级别接收信息,其中所述信息包括将该视频帧的全局亮度改变补偿开/关信号的值和这一视频帧其他的帧级别信息熵编码的结果;
从该接收的信息中,对该视频帧的全局亮度改变补偿开/关信号的值和这一视频帧其他的帧级别信息进行熵解码;以及
根据所述该视频帧的全局亮度改变补偿开/关信号来确定对于所述视频帧是开启还是关闭了全局亮度改变补偿。
5.按照权利要求4的所述方法,其特征在于,进一步包括:
对包括所述多个视频帧的序列,发送全局亮度改变补偿能力开/关信号的值的信号。
6.按照权利要求1-5中任一所述方法,其特征在于,所述熵编码的结果包括至少部分指示了该视频帧的全局亮度改变补偿开/关信号的值和这一视频帧其他的帧级别信息的可变长度代码。
7.按照权利要求1-5中任一所述方法,其特征在于,所述熵编码的结果包括从具有多个可变长度代码的单个可变长度代码表中选择出的一个可变长度代码。
8.按照权利要求7的所述方法,其特征在于,所述可变长度代码是转义码。
9.按照权利要求1-5中任一所述方法,其特征在于,所述其他的帧级别信息是该视频帧的运动模式信息。
10.按照权利要求1-5中任一所述方法,其特征在于,如果对于该视频帧,所述全局亮度改变补偿是开启的,则熵编码的结果是第一可变长度代码,在所述第一可变长度代码之后有单个比特,在所述单个比特之后是第二可变长度代码,并且其中所述单个比特将对信号的全局亮度改变补偿与最不频繁运动模式区分开来。
11.按照权利要求1-5中任一所述方法,其特征在于,如果对于该视频帧,所述全局亮度改变补偿是关闭的,则:
如果该视频帧的运动模式是最不频繁运动模式,熵编码的结果是指示该视频帧的最不频繁运动模式的可变长度代码和单个比特;以及
否则,熵编码的结果是指示该视频帧运动模式的可变长度代码。
12.一种在计算机系统中由计算机实现的方法,其特征在于,在视频编码期间,包括:
在视频图像序列级,发送一个视频图像序列的渐变补偿能力信号;及
如果启用了渐变补偿,在帧级别,发送所述视频图像序列中视频帧的一个或多个渐变补偿开/关信号。
13.一种在计算机系统中由计算机实现的方法,其特征在于,在视频解码期间,包括:
在视频图像序列级,接收和处理一个视频图像序列的渐变补偿能力信号;以及
如果启用了渐变补偿,在帧级别,接收和处理所述视频图像序列中视频帧的一个或多个渐变补偿开/关信号。
14.按照权利要求12或13的所述方法,其特征在于,所述一个或多个渐变补偿开/关信号包括:每个视频帧使用一比特来表示所述视频帧是否使用了渐变补偿。
15.按照权利要求12或13的所述方法,其特征在于,所述一个或多个渐变补偿开/关信号包括:
每个视频帧使用一个或多个熵编码,所述熵编码共同表示所述视频帧是否使用了渐变补偿以及其他图像级信息。
16.按照权利要求12或13的所述方法,其特征在于,渐变参数以帧级别跟随在一个或更多渐变补偿开/关信号之后。
17.一种方法,其特征在于,在编码期间包括:
在视频序列的第一层语法级别发送一个渐变补偿标志;及
当在第一层语法级别的渐变补偿标志表明视频序列中的当前视频帧的渐变补偿是激活的,在视频序列中比第一层语法级别低的第二层语法级别上发送一个或多个渐变参数,所述一个或多个渐变参数用于对当前视频帧的至少一个部分的渐变补偿,所述渐变补偿包括至少部分基于所述一个或多个渐变参数调整一个参照视频帧中的多个象素值。
18.一种方法,其特征在于,在解码期间包括:
在视频序列的第一层语法级别接收和处理一个渐变补偿标志;及
当在第一层语法级别的渐变补偿标志表明视频序列中的当前视频帧的渐变补偿是激活的,在视频序列中比第一层语法级别低的第二层语法级别上接收和处理一个或多个渐变参数,所述一个或多个渐变参数用于对当前视频帧的至少一个部分的渐变补偿,所述渐变补偿包括至少部分基于所述一个或多个渐变参数调整一个参照视频帧中的多个象素值。
19.按照权利要求17或18的所述方法,其特征在于,所述参照视频帧中的多个象素值包括亮度值和色度值。
20.按照权利要求17或18的所述方法,其特征在于,所述参照视频帧中的多个象素值包括参照视频帧中所有的象素值。
21.按照权利要求17或18的所述方法,其特征在于,所述第一层语法级别是序列级,所述第二层语法级别是帧级。
CNB031241697A 2002-05-03 2003-04-29 用于衰落补偿的信号指示 Expired - Lifetime CN1267817C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US37762802P 2002-05-03 2002-05-03
US60/377,628 2002-05-03
US10/379,079 US7609767B2 (en) 2002-05-03 2003-03-03 Signaling for fading compensation
US10/379,079 2003-03-03

Publications (2)

Publication Number Publication Date
CN1460925A CN1460925A (zh) 2003-12-10
CN1267817C true CN1267817C (zh) 2006-08-02

Family

ID=29219040

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031241697A Expired - Lifetime CN1267817C (zh) 2002-05-03 2003-04-29 用于衰落补偿的信号指示

Country Status (6)

Country Link
US (1) US7609767B2 (zh)
EP (1) EP1359770B1 (zh)
JP (3) JP4159400B2 (zh)
KR (1) KR100578432B1 (zh)
CN (1) CN1267817C (zh)
HK (1) HK1060244A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7609767B2 (en) * 2002-05-03 2009-10-27 Microsoft Corporation Signaling for fading compensation
US7277486B2 (en) * 2002-05-03 2007-10-02 Microsoft Corporation Parameterization for fading compensation
US8135073B2 (en) * 2002-12-19 2012-03-13 Trident Microsystems (Far East) Ltd Enhancing video images depending on prior image enhancements
US8009739B2 (en) * 2003-09-07 2011-08-30 Microsoft Corporation Intensity estimation/compensation for interlaced forward-predicted fields
JP4339675B2 (ja) * 2003-12-24 2009-10-07 オリンパス株式会社 グラデーション画像作成装置及びグラデーション画像作成方法
US7983835B2 (en) 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
JP4232971B2 (ja) 2004-04-16 2009-03-04 Kddi株式会社 動き予測情報検出装置
US7590059B2 (en) * 2004-05-21 2009-09-15 Broadcom Corp. Multistandard video decoder
US7894522B2 (en) * 2005-09-16 2011-02-22 Sony Corporation Classified filtering for temporal prediction
TWI276047B (en) * 2005-12-15 2007-03-11 Ind Tech Res Inst An apparatus and method for lossless entropy coding of audio signal
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US20090154567A1 (en) 2007-12-13 2009-06-18 Shaw-Min Lei In-loop fidelity enhancement for video compression
FR2925187B1 (fr) * 2007-12-14 2011-04-08 Commissariat Energie Atomique Systeme comportant une pluralite d'unites de traitement permettant d'executer des taches en parallele,en mixant le mode d'execution de type controle et le mode d'execution de type flot de donnees
KR20090099720A (ko) * 2008-03-18 2009-09-23 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
JP5156704B2 (ja) * 2008-07-29 2013-03-06 パナソニック株式会社 画像符号化装置、画像符号化方法、集積回路及びカメラ
US8269885B2 (en) * 2009-04-03 2012-09-18 Samsung Electronics Co., Ltd. Fade in/fade-out fallback in frame rate conversion and motion judder cancellation
JP5321363B2 (ja) * 2009-09-01 2013-10-23 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラムならびに映像伝送装置
US8396119B1 (en) * 2009-09-30 2013-03-12 Ambarella, Inc. Data sample compression and decompression using randomized quantization bins
WO2011125211A1 (ja) 2010-04-08 2011-10-13 株式会社 東芝 画像符号化方法及び画像復号化方法
MX2013002429A (es) 2010-09-03 2013-04-08 Dolby Lab Licensing Corp Metodo y sistema para compensacion de iluminacion y transicion para codificacion y procesamiento de video.
US9811373B2 (en) * 2011-02-09 2017-11-07 Nec Corporation Analysis engine control device
WO2014078068A1 (en) * 2012-11-13 2014-05-22 Intel Corporation Content adaptive transform coding for next generation video
KR101677406B1 (ko) 2012-11-13 2016-11-29 인텔 코포레이션 차세대 비디오용 비디오 코덱 아키텍처
US10972749B2 (en) * 2019-08-29 2021-04-06 Disney Enterprises, Inc. Systems and methods for reconstructing frames
US11012718B2 (en) 2019-08-30 2021-05-18 Disney Enterprises, Inc. Systems and methods for generating a latent space residual

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03145392A (ja) 1989-10-31 1991-06-20 Nec Corp 動き補償フレーム間符号化・復号化方法とその符号化装置・復号化装置
US5245436A (en) 1992-02-14 1993-09-14 Intel Corporation Method and apparatus for detecting fades in digital video sequences
JPH0646412A (ja) 1992-07-24 1994-02-18 Victor Co Of Japan Ltd 動画像予測符号化方法及び復号方法
US5598514A (en) * 1993-08-09 1997-01-28 C-Cube Microsystems Structure and method for a multistandard video encoder/decoder
JP3795932B2 (ja) 1994-05-19 2006-07-12 富士写真フイルム株式会社 画像データ圧縮符号化方法および装置
US5568167A (en) 1994-09-23 1996-10-22 C-Cube Microsystems, Inc. System for providing antialiased video overlays
US5959673A (en) * 1995-10-05 1999-09-28 Microsoft Corporation Transform coding of dense motion vector fields for frame and object based video coding applications
GB9607645D0 (en) 1996-04-12 1996-06-12 Snell & Wilcox Ltd Processing of video signals prior to compression
JPH1042195A (ja) 1996-04-27 1998-02-13 Victor Co Of Japan Ltd 映像切換え装置
US6266370B1 (en) 1996-09-03 2001-07-24 Nippon Telegraph And Telephone Corporation Brightness-variation compensation method and coding/decoding apparatus for moving pictures
JP2938412B2 (ja) 1996-09-03 1999-08-23 日本電信電話株式会社 動画像の輝度変化補償方法、動画像符号化装置、動画像復号装置、動画像符号化もしくは復号プログラムを記録した記録媒体および動画像の符号化データを記録した記録媒体
US6094455A (en) * 1996-09-25 2000-07-25 Matsushita Electric Industrial Co., Ltd. Image compression/encoding apparatus and system with quantization width control based on bit generation error
CA2274181C (en) 1996-12-10 2009-10-20 British Telecommunications Public Limited Company Digital video coding generating frames representing multiple playback modes
US6735253B1 (en) * 1997-05-16 2004-05-11 The Trustees Of Columbia University In The City Of New York Methods and architecture for indexing and editing compressed video over the world wide web
JP3911768B2 (ja) 1997-06-02 2007-05-09 ソニー株式会社 画像符号化方法及び画像符号化装置
US6195458B1 (en) * 1997-07-29 2001-02-27 Eastman Kodak Company Method for content-based temporal segmentation of video
US5978029A (en) * 1997-10-10 1999-11-02 International Business Machines Corporation Real-time encoding of video sequence employing two encoders and statistical analysis
US6002400A (en) * 1997-11-19 1999-12-14 International Business Machines Corporation Method and apparatus for handles to components in graphical windows user interface
US6100940A (en) 1998-01-21 2000-08-08 Sarnoff Corporation Apparatus and method for using side information to improve a coding system
US6278735B1 (en) * 1998-03-19 2001-08-21 International Business Machines Corporation Real-time single pass variable bit rate control strategy and encoder
US6268864B1 (en) * 1998-06-11 2001-07-31 Presenter.Com, Inc. Linking a video and an animation
JP3166716B2 (ja) * 1998-08-12 2001-05-14 日本電気株式会社 フェード画像対応動画像符号化装置及び符号化方法
US6466624B1 (en) * 1998-10-28 2002-10-15 Pixonics, Llc Video decoder with bit stream based enhancements
KR100571307B1 (ko) * 1999-02-09 2006-04-17 소니 가부시끼 가이샤 코딩 시스템 및 방법, 부호화 장치 및 방법, 복호화 장치및 방법, 기록 장치 및 방법, 및 재생 장치 및 방법
JP3957915B2 (ja) 1999-03-08 2007-08-15 パイオニア株式会社 フェード検出装置及び情報符号化装置
JP2001231045A (ja) * 2000-02-15 2001-08-24 Nec Corp 動画像符号化および復号化装置
EP1303988A1 (en) * 2000-07-13 2003-04-23 Koninklijke Philips Electronics N.V. Pre-processing method for motion estimation
JP4328000B2 (ja) 2000-08-02 2009-09-09 富士通株式会社 動画像符号化装置および動画像の特殊効果シーン検出装置
US6944226B1 (en) * 2000-10-03 2005-09-13 Matsushita Electric Corporation Of America System and associated method for transcoding discrete cosine transform coded signals
US6771311B1 (en) * 2000-12-11 2004-08-03 Eastman Kodak Company Automatic color saturation enhancement
US6959044B1 (en) * 2001-08-21 2005-10-25 Cisco Systems Canada Co. Dynamic GOP system and method for digital video encoding
US7609767B2 (en) * 2002-05-03 2009-10-27 Microsoft Corporation Signaling for fading compensation
KR20050061762A (ko) * 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치

Also Published As

Publication number Publication date
US20030206583A1 (en) 2003-11-06
EP1359770B1 (en) 2014-05-07
JP2007306619A (ja) 2007-11-22
JP4249790B2 (ja) 2009-04-08
JP2007074750A (ja) 2007-03-22
HK1060244A1 (zh) 2004-07-30
KR100578432B1 (ko) 2006-05-11
JP4159400B2 (ja) 2008-10-01
US7609767B2 (en) 2009-10-27
EP1359770A3 (en) 2004-11-17
CN1460925A (zh) 2003-12-10
JP2004007650A (ja) 2004-01-08
EP1359770A2 (en) 2003-11-05
KR20030086904A (ko) 2003-11-12
JP4102841B2 (ja) 2008-06-18

Similar Documents

Publication Publication Date Title
CN1267817C (zh) 用于衰落补偿的信号指示
CN1280709C (zh) 退色补偿的参数化
CN106716997B (zh) 使用环路内滤波器参数预测的视频编码方法和设备
CN102144391B (zh) 用于层间残余视频编码和解码的跳过模式
CN1215439C (zh) 执行可缩放的分层运动估算的装置与方法
CN1262916C (zh) 退色估计/补偿
RU2609077C2 (ru) Способ кодирования видео с использованием регулировки смещения согласно классификации пикселей посредством максимальных единиц кодирования и устройство для этого и способ декодирования видео и устройство для этого
US20050053151A1 (en) Escape mode code resizing for fields and slices
CN1627824A (zh) 位流控制的后处理过滤
CN103959777A (zh) 视频译码中的与自适应环路滤波器合并的样本自适应偏移
CN1947426A (zh) 用于实现运动可伸缩性的方法和设备
CN1418436A (zh) 图像编码方法和图像编码器
US20110235715A1 (en) Video coding system and circuit emphasizing visual perception
US20230048557A1 (en) Method and device for subband coding frequency conversion unit, and method and device for image encoding/decoding using same
US20070036222A1 (en) Non-zero coefficient block pattern coding
US20130272419A1 (en) Method and apparatus for generating encoded motion information/recovering motion information using motion information integration, and image encoding/decoding method and apparatus using same
CN1813480A (zh) 变换域中零的早期检测
CN1320830C (zh) 噪声估计方法和设备、以及利用其编码视频的方法和设备
JP6065613B2 (ja) 動画像符号化装置
CN1650635A (zh) 对低速率应用的数字图像进行处理的方法
CN1418014A (zh) 编码方法和编码装置
Song et al. Unified depth intra coding for 3D video extension of HEVC
CN1778117A (zh) 使用参变速率失真模型对视频编码进行数率失真优化数据划分的系统和方法
WO2023138391A1 (zh) 系数解码方法、装置、图像解码器及电子设备
EP2887667A1 (en) Coding of high dynamic range images

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20031210

Assignee: Sony (China) Ltd.

Assignor: Sony Corp.

Contract record no.: 2012990000570

Denomination of invention: Signal indicator for fading compensation

Granted publication date: 20060802

License type: Common License

Record date: 20120806

EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20031210

Assignee: Sony (China) Ltd.

Assignor: Sony Corp.

Contract record no.: 2012990000570

Denomination of invention: Signal indicator for fading compensation

Granted publication date: 20060802

License type: Common License

Record date: 20120806

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150428

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150428

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20060802