用于对数字视频数据进行编码的方法和数字视频编码器系统技术领域
本发明涉及通过利用帧内模式(INTRA-mode)和帧间模式
(INTER-mode)对原始输入视频帧序列进行编码来对与该原始输入视频帧序
列对应的数字视频数据进行编码的方法和数字视频编码器系统。
背景技术
在现代的数字视频编码系统中,利用两种主要的模式来压缩视频信号:
帧内模式和帧间模式。在帧内模式中,亮度信道和色度信道是经由变换编码
通过利用单个图像的给定信道中像素的空间冗余度来编码的。利用单独的帧
之间的时间冗余度的帧间模式依赖于运动补偿技术,运动补偿技术通过从一
个帧到另一个帧编码像素的运动,从一个或多个前面解码的帧中预测帧。在
帧间模式中,亮度信道和色度信道共享同一运动描述。
通常地,待编码的帧被划分为单独压缩和编码的独立的块(宏块或像素
块)。在帧间模式中,每个块被分配一个或若干运动矢量,帧的预测是按照
运动矢量的组通过位移来自过去的和/或未来的帧的像素块来构成的。最后,
待编码的帧和其运动补偿的预测之间的差值(称作残留信号)通过变换编码
以与帧内模式类似的方式进行编码。
在MPEG术语中,帧内模式对应于I帧,而帧间模式对应于P帧和B帧。
帧间模式的编码效率比帧内模式的编码效率高得多,因为其利用了时间预测:
信号的大部分包含在通过运动补偿形成的预测中,并且残留信号具有比原始
信号少的能量。由于帧内编码帧(INTRA frame)的编码仅依赖于其自己的
空间冗余度,所以其能够独立于任何其它的图像进行解码(对帧间编码帧
(INTER frame),不是这种情况),因此其被周期性地插入比特流中。帧
内编码帧可以是景物改变帧或者是刷新帧,景物改变帧处于与景物改变对应
的没有时间冗余度可利用的新的一组帧的开始,刷新帧处于特定时间冗余度
可利用的其它位置。
由于基础编码方法是不同的,所以帧内编码帧和帧间编码帧呈现不同的
编码假象。在整个同类的视频序列中,后续的帧间编码帧的质量和假象趋于
稳定。然而,如果帧内刷新帧被编码,则由于帧间编码导致的所有在前的假
象被擦除,并且由于帧内编码导致的新的假象被突然引入。因此视频质量在
帧内刷新帧上是中断的,导致在这里称作的闪耀效应(flashing effect)(在
文献中也使用闪烁效应(flickering effect)和泵送效应(pumping effect))。
闪耀效应尤其在低运动序列中和在适中的比特速率或低的比特速率上是可见
的,此时编码假象变得相当显著。
存在多种用于降低这种闪耀效应的方法和设备。在下列参考文献中公开
了一些示例:US 2007/0230574、US 2007/0081591和US 2008/0025397。
利用较早方法的缺点是增加的关于额外的压缩循环所需要的计算量。本
发明针对的是在不增加额外压缩循环的条件下降低闪耀效应的可选方法和设
备。
发明内容
鉴于上述原因,本发明的目标是解决或至少减少上面讨论的缺陷中的一
个或若干个。通常地,上面的目标是通过所附的独立权利要求来实现的。
具体地,根据本发明的第一方面,提出一种对与原始输入视频帧序列对
应的数字视频数据进行编码的方法。所述方法包括将第一原始输入视频帧编
码为帧间编码帧;将所述帧间编码帧解码并重构为参考帧;创建包括来自第
二原始输入视频帧和所述参考帧的信息的帧内输入帧;以及将所述帧内输入
帧编码为帧内编码帧。
这种方法的优势在于,其在不增加额外的压缩循环的情况下有利于降低
所述闪耀效应。这种有利结果的一个原因是利用来自前面经编码的帧间编码
帧的信息以及来自原始输入帧的信息来创建待编码为帧内编码帧的输入帧,
因此在前面经编码的帧间编码帧中存在的任何编码假象将至少部分出现在新
编码的帧内编码帧中,因此将降低所述闪耀效应。此外,本方法不改变或更
改ISO/MPEG系列(MPEG-1、MPEG-2、MPEG-4)的视频编码标准以及
ITU-H.26X系列(H.261、H.263及扩展、H.264)的视频推荐。
所述方法可进一步包括将所述第二原始输入帧划分为子区域;以及针对
所述第二原始输入帧的每个子区域,确定所述第二原始输入视频帧的所述子
区域的运动水平。
用于创建与所述第二原始输入帧的子区域对应的所述帧内输入帧的子
区域的来自所述第二原始输入帧的信息和来自所述参考帧的信息的比率可基
于在所述第二原始输入帧的相应子区域中识别的所述运动水平。通过这样做,
用于所述帧内输入帧的具有高运动水平的区域的信息可取自于所述原始输入
帧,而用于所述帧内输入帧的具有低运动水平的区域的信息可取自于所述参
考帧。
可利用单独来自所述第二原始输入视频帧的信息创建所述帧内输入帧
的第一子区域。
可利用单独来自所述参考帧的信息创建所述帧内输入帧的第二子区域。
可利用来自所述第二原始输入视频帧和所述参考帧的信息创建所述帧
内输入帧的第三子区域。
所述方法可进一步包括:在第一量化值下主要基于来自所述第二原始输
入视频帧的信息对所述帧内输入帧的区域进行编码,和在第二量化值下主要
基于来自所述参考帧的信息对所述帧内输入帧的区域进行编码,其中所述第
二量化值不同于所述第一量化值。因此具有高运动水平的区域可以利用比具
有低运动水平或没有运动水平的区域高的质量进行编码。
所述帧间编码帧可以是P帧或B帧,所述帧内编码帧可以是I帧。
根据本发明的另一方面,提出一种计算机可读记录介质,在其上记录有
当在具有处理能力的设备上被执行时用于实现上面的方法的程序。
根据本发明的又一方面,提出一种数字网络摄像机,其被设置为执行在
所述计算机可读记录介质上记录的所述程序。
根据本发明的再一方面,提出一种数字视频编码器系统,其用于通过利
用帧内模式和帧间模式对原始输入视频帧序列进行编码来对与所述原始输入
视频帧序列对应的数字视频数据进行编码。所述数字视频编码器系统包括:
编码器模块,被设置为将输入帧处理为帧内编码帧或帧间编码帧;解码器模
块,被设置为对由所述编码器编码的所述帧内编码帧或所述帧间编码帧进行
解码;运动补偿模块,被设置为利用来自所述解码器模块的信息,以便将经
编码的帧重构为参考帧;以及帧内输入帧构造模块,被设置为利用来自原始
输入视频帧的信息以及来自前面经编码和重构的参考帧的信息创建帧内输入
帧,其中所述编码器模块在编码帧内编码帧时被设置为利用借助于所述帧内
输入帧构造模块构造的所述帧内输入帧。
所述数字视频编码器系统可进一步包括:运动检测模块,被设置为检测
所述原始输入视频帧的子区域中的运动水平,其中所述帧内输入帧构造模块
被设置为基于借助于所述运动检测模块在所述原始输入帧的相应子区域中识
别的所述运动水平,来决定将用以创建与所述原始输入帧的子区域对应的所
述帧内输入帧的子区域的来自所述原始输入帧的信息和来自所述参考帧的信
息的比率。
所述数字视频编码器系统可以在监控摄像机中实现。
附图说明
现在将参照示出本发明实施例的附图更详细地描述本发明的这个及其
它方面。不应认为附图将本发明局限于特定的实施例,相反,附图用来解释
和理解本发明。在整个附图中相同的附图标记表示相同的元件。
图1示出根据现有技术的数字视频编码器系统的高层框图。
图2示出根据本发明的数字视频编码器系统的实施例的高层框图。
图3是与对数字视频数据进行编码的方法的实施例有关的框图。
具体实施方式
本发明涉及用于对与原始帧序列对应的数字视频数据进行编码的数字
视频编码器系统及方法。
在下面的描述中,为了说明,给出特定术语来提供本发明的全面理解。
然而本领域的技术人员将明白,为实践本发明,这些特定细节不是必需的。
例如,本发明是关于ISO/MPEG系列(MPEG-1、MPEG-2、MPEG-4)的视
频编码标准以及关于ITU-H.26X系列(H.261、H.263和扩展、H.264)的视
频推荐描述的。然而,相同的技术能够容易地应用于其它类型的视频编码标
准。
在现代的数字视频编码系统中,利用两种主要的模式来压缩多个视频帧
的视频流中的视频帧:帧内模式和帧间模式。在帧内模式中,亮度信道和色
度信道是经由变换编码通过利用单个图像的给定信道中像素的空间冗余度来
编码的。利用单独的帧之间的时间冗余度的帧间模式依赖于运动补偿技术,
运动补偿技术通过从一个帧到另一个帧编码像素的运动,从一个(或多个)
前面解码的帧中预测帧。在帧间模式中,亮度信道和色度信道共享同一运动
描述。
通常地,待编码的帧被划分为单独压缩和编码的独立的块(宏块或像素
块)。在帧间模式中,每个块被分配一个或若干运动矢量。帧的预测是按照
运动矢量的组通过位移来自过去的和/或未来的帧的像素块来构成的。最后,
待编码的帧和其运动补偿的预测之间的差值(称作残留信号)通过变换编码
以与帧内模式类似的方式进行编码。
在没有参考任何过去的或未来的帧的情况下,根据帧内模式编码的视频
帧称作I帧。根据帧间模式编码的视频帧本身或者是称为P帧且参考过去或
未来的帧(其是帧内编码帧或帧间编码帧)编码的单向预测帧,或者是称为
B帧且参考两个以上的过去或未来的参考帧编码的双向预测帧。
帧内编码帧包括景物改变帧或者刷新帧,景物改变帧处于没有时间冗余
度可利用的与景物改变对应的新的一组帧的开始,刷新帧处于特定时间冗余
度是可利用的其它位置。
图1示出本领域众所周知的典型数字视频编码设备100的高层框图。数
字视频编码设备100接收视频帧的输入视频流。每个视频帧由离散余弦变换
(DCT)模块112处理。如上文提到的,每个帧可以单独地被处理(帧内编
码帧)或者参考从运动估计模块140接收的来自其它帧的信息被处理(帧间
编码帧)。接下来,量化器(Qu)模块114对来自离散余弦变换模块112的
信息进行量化。离散余弦变换模块112和量化器模块114构成编码器模块
110。最后,用熵编码器(E)模块150对经量化的视频帧进行编码,以产生
经编码的比特流。熵编码器(E)模块150可以使用例如可变长度编码(VLC)
系统或算术编码(CABAC)。
由于经帧间编码的视频帧是参考其它邻近的视频帧被限定的,所以数字
视频编码器100需要创建在数字视频解码器的解码处理以后每个被解码的不
可避免地具有编码假象的帧将如何显现的副本,使得可以正确地对帧间编码
帧进行解码。因此,数字视频编码器100的下部实际是数字视频解码器模块
120。具体地,反量化器(Qu-1)模块122对视频帧信息的量化求逆,反离
散余弦变换(DCT-1)模块124对视频帧信息的离散余弦变换求逆。在DCT-1
模块124已重构DCT系数以后,运动补偿模块130将一起使用该信息与运动
矢量,以重构接下来被用作下一帧的运动估计的参考帧的经编码的帧。
接下来可以利用经解码的视频帧来对关于经解码的视频帧中的信息所
限定的帧间编码帧(P帧或B帧)进行编码。具体地,利用运动补偿(MC)
模块130和运动估计(ME)模块140来确定运动矢量并产生用来对帧间编码
帧进行编码的微分值。运动估计(ME)模块140通常包括存储装置,该存储
装置用于存储上一次解码的当产生所需微分值时所使用的图像的副本。
通过使用H.264(MPEG-4第10部分),促进了预测经帧内编码的宏块
的方法。如果以帧内模式对块或宏块进行编码,那么根据同一图像内的前面
经编码和重构的块来形成预测块。在编码前从当前块中减去该预测块。由于
内预测模块通过预测来自它们的邻近块的像素值(亮度和色度)减少了待编
码的数据量,因此其是H.264编解码器的必不可少部分。在图1中,通过帧
内预测(IP)模块105执行帧内预测方法。
由于基础编码方法是不同的,所以帧内编码帧和帧间编码帧呈现不同的
编码假象。在整个同类的视频序列中,后续的帧间编码帧的质量和假象趋于
稳定。然而,如果帧内刷新帧被编码,则由于帧间编码导致的所有在前的假
象被擦除,并且由于帧内编码导致的新的假象被突然引入。因此视频质量在
帧内刷新帧上是中断的,导致在这里称作的闪耀效应(flashing effect)(在
文献中也使用闪烁效应(flickering effect)和泵送效应(pumping effect))。
闪耀效应尤其在低运动序列中和在适中的比特速率或低的比特速率上是可见
的,此时编码假象变得相当显著。
因此,要解决的问题是降低当对帧内编码帧和帧间编码帧进行编码时由
于不同的编码假象而导致的闪耀效应。存在多种用于降低这种闪耀效应的方
法和设备。在下列参考文献中公开了一些示例:US 2007/0230574、US
2007/0081591和US 2008/0025397。本发明针对用于降低闪耀效应的可选方
法和设备。
归纳地说,本发明基于下列内容:
●根据常规的方法对视频帧序列中的第一帧内编码帧(其中没有在前
的帧间编码帧可利用)进行编码,参见上面的介绍。对于第一帧内编码帧,
将看不见闪耀效应。
●根据下列步骤对即将出现的作为刷新帧被引入的帧内编码帧进行编
码:
○识别当前原始输入帧的包括运动的子区域。作为非限定示例,
这可以通过例如比较当前输入帧与一个以上的前面(或者可能未来)的原始
输入帧来实现。可选地,作为另一非限定示例,这可以通过比较当前原始输
入帧与景物的当前状态的背景模型(background model)来实现。
○针对包括运动的每个子区域,确定运动水平(level of motion)。
○创建称作帧内输入帧的新的输入帧来代替原始输入帧。该帧内
输入帧的数据内容是来自当前原始输入帧的数据和来自参考帧(由前面经编
码的帧重构而成)的数据的混合,其中通常使用来自上一个参考帧的数据。
用于具有高水平运动的子区域的帧内输入帧数据主要取自于原始输入帧,而
用于没有运动或具有低水平运动的子区域的数据主要取自于参考帧。具体子
区域中取自于原始输入帧的信息和取自于参考帧的信息的比率是基于关于该
具体子区域所确定的运动水平。
○将包括来自原始输入帧和参考帧的信息/数据的帧内输入帧编
码为帧内编码帧。
○可选地,与没有运动或具有低运动水平的区域相比,对于具有
高运动水平的区域,以不同的质量对帧内输入帧进行编码。
○对于该特定的帧内编码帧,可以禁用任何可选的环路去方块滤
波器(如果使用H.264,那么可能存在)。
图2示出根据本发明的数字视频编码器系统200的实施例的高层框图。
数字视频编码器系统200被设置为用于对与原始输入视频帧序列对应的数字
视频数据进行编码。更准确地说,数字视频编码器系统200被设置为利用帧
内模式和帧间模式对原始输入视频帧序列进行编码。
数字视频编码器系统200包括帧内预测(IP)模块105、编码器模块110、
解码器模块120、运动补偿模块130、运动估计(ME)模块140和熵编码器
(E)模块150,所有这些模块同样出现在图1所示的现有技术编码器系统中。
此外,现在在该编码器系统的输入端增加了帧内输入帧构造(IIFC)模块160
和运动检测(MD)模块170。因此,帧内输入帧构造(IIFC)模块160和运
动检测(MD)模块170形成了根据本发明的数字视频编码器系统200的预
编码处理级。
根据本发明的实施例,数字视频编码器系统200是在监控摄像机中实现。
帧内预测(IP)模块105被设置为在帧内模式下通过预测来自它们的邻
近块的像素值(亮度和色度)来减少待编码的数据量。
编码器模块110包括离散余弦变换(DCT)模块112和量化器(Qu)模
块114。DCT模块112被设置为利用离散余弦变换对以帧内输入帧或帧间输
入帧形式的输入数据进行变换。量化器模块114被设置为对来自DCT模块
112的信息进行量化。当数字视频编码器系统200处于帧内模式时,编码器
模块110将被设置为将帧内输入帧处理为帧内编码帧。当数字视频编码器系
统200处于帧间模式时,编码器模块110将被设置为将帧间输入帧处理为帧
间编码帧。
熵编码器模块150被设置为通过对自编码器模块110输出的经量化的视
频帧进行编码,产生经编码的比特流。熵编码器(E)模块150可以使用例
如可变长度编码(VLC)系统或算术编码(CABAC)。
如上面提到的,由于经帧间编码的视频帧是关于其它邻近的视频帧被限
定的,所以数字视频编码器200需要创建在数字视频解码器的解码处理以后
每个被解码的不可避免地具有编码假象的帧将如何显现的副本,使得可以正
确地对帧间编码帧进行编码。因此,解码器模块120被设置为对由编码器模
块110编码的帧内编码帧或帧间编码帧进行解码。解码器模块120包括反量
化器(Qu-1)模块122和反离散余弦变换(DCT-1)模块124。反量化器(Qu-1)
模块122被设置为对来自编码器模块110的视频帧信息的量化求逆。反离散
余弦变换(DCT-1)模块124被设置为对来自编码器模块110的视频帧信息
的离散余弦变换求逆。
运动补偿模块130被设置为使用来自解码器模块120的信息,以便将经
编码的帧重构为参考帧。也就是说,在DCT-1模块124重构所有DCT系数以
后,运动补偿模块130将一起使用该信息与运动矢量,以重构经编码的帧。
在帧间模式中,经重构的帧用作下一帧的运动补偿的参考帧。
运动估计(ME)模块140用来确定运动矢量并产生用来对帧间编码帧
进行编码的微分值。
至此就是与例如图1所示的传统数字视频编码器系统类似的根据本发明
的数字视频编码器系统200。
根据本发明的数字视频编码器系统200的新特征是帧内输入帧构造模块
160和运动检测模块170。
运动检测模块170被设置为检测原始输入视频帧的子区域中的运动水
平。下面将更详细地讨论运动检测模块170及其功能。
帧内输入帧构造(IIFC)模块160被设置为利用来自原始输入视频帧的
信息以及来自经编码和重构的参考帧的信息创建帧内输入帧。当处于帧内模
式时,数字视频编码器系统200被设置为使用帧内输入帧,以便对帧内编码
帧进行编码。而且,帧内输入帧构造模块160被设置为决定来自所述原始输
入帧的信息和所述参考帧的信息的比率,该比率用来创建与所述原始输入帧
的子区域对应的所述帧内输入帧的子区域。该决定是基于借助于运动检测模
块170在所述原始输入帧的相应子区域中识别的运动水平。有多种用于检测
视频帧序列中的运动的方法/算法。下面将说明一些非限定示例。
一种简单的用于运动检测的算法比较当前原始输入帧(或者当前原始输
入帧的子区域)与另一原始输入帧(或者另一原始输入帧的子区域)并且简
单地计算不同的像素数量。可选地,该算法可以比较当前原始输入帧(或者
当前原始输入帧的子区域)与景物的当前状态的背景模型(或者景物的当前
状态的背景模型的子区域)。然后可使每个子区域中的运动水平与不同的像
素的数量关联。
现在将描述一种更复杂的用于运动检测以及用于对由摄像机拍摄的景
物的当前状态的背景模型进行更新的算法。
为了便于理解该过程,描述该迭代背景模型更新过程的一次迭代。因此,
该过程涉及初次迭代后某一时间执行的迭代。即使初次迭代之间存在一些差
异(主要涉及设置初始值),技术人员也可以根据下面的描述容易地实现初
次迭代。此外,可以在每次拍摄新的帧/图像时或者以有规律的间隔执行背景
模型更新。因此下面的过程将描述拍摄新的帧/图像以后的情况,此后当已经
执行背景模型更新过程的迭代时,该过程返回到帧/图像拍摄过程。在本文中
不对帧/图像拍摄过程进行描述,因为其对本领域的技术人员来说是众所周知
的。
在给定时刻或在背景模型迭代时,拍摄了与时间有关的新的帧/图像数
据。此时,摄像机的存储器包括:
-新拍摄的帧/图像数据;
-在前次迭代中产生的背景模型的数据;
-代表在前次迭代中识别的每个物体的数据,代表物体的该数据包括运动
矢量、代表该物体的图像以及包围该图像的边框;
-代表前景图像(foreground image)的数据,该前景图像示出在前次迭
代中识别的可能的物体像素。
背景模型更新过程能够访问该数据。
于是,背景模型更新开始,并且产生了运动图。该运动图从所拍摄的当
前帧/图像数据中产生,其表示正在运动的帧/图像的像素。
然后利用每个物体的速度矢量以及利用当前帧/图像数据的拍摄和前一
帧/图像数据的拍摄之间的时间差来预测每个被识别的物体的图像视图内的
新的位置。
然后通过例如查看每个物体的边框和图像,将该运动图分割为与当前物
体匹配的多个片段。这种匹配是通过计算匹配分数(match score)来执行的。
该匹配分数是通过比较这些片段和由物体边框限定的每个区域之间的和/或
这些片段和每个物体图像之间的重叠和距离来计算的。然后根据匹配结果,
分辨物体并且将其编译成物体的扩展、合并、分裂、删除或建立。
在分段以后,更新物体,以覆盖来自运动图的匹配的片段。然后,通过
更新并非被物体的边框包围的区域的区域中的背景模型,继续该过程。背景
模型的这些区域的更新是通过替换相应的像素或者通过根据来自背景模型的
当前值和新的值调整当前像素来执行的。
然后清除来自前次迭代的代表前景图像的数据,并且通过比较背景模型
与所拍摄的帧/图像,针对包括物体的区域计算新的值。然后根据新的前景图
像和运动图,利用新的运动矢量、代表物体的新的图像以及包围该物体的新
的图像的新的边框来更新物体。
当物体已被更新时,通过更新置于每个边框内的像素,调整背景模型。
被更新的像素是位于边框内的并非被识别的物体的一部分的那些像素,并且
该更新是通过代替相应的像素或者通过根据当前值和新的值调整当前像素来
确定背景模型的相应像素的值来执行的。由此背景模型被更新,过程返回到
所述帧/图像拍摄过程。
为了确定该例子中的运动,将计算新的图像和旧的图像之间的差异,其
中在该例子中将背景模型用作旧的图像。
在US 2010/0080477中描述了另一种用于视频运动检测的方法。根据此
方法,视频序列的一系列图像被合并成具有顶点X、Y和t的图像体。将图
像体沿着(X,t)平面或(Y,t)平面分片,用空-时滤波器滤波并且应用阈值
过滤以减少信息量。然后搜索算法沿着视频序列子集中的搜索线进行搜索,
以定位运动。通过识别没有与顶点中的任一个平行的线,可以对运行进行检
测。静止物体和照明变化表现为与顶点之一平行的线。因此,可以将真实运
动与照明变化区分开。为确定该例子中的运动,将使用已经被检测为运动的
像素的数量。
为降低帧内编码的刷新帧的闪烁而可以使用的关于运动水平的值,可以
针对全像来计算,但是其往往是针对该图像可被分成的每个子区域的局部值。
一个示例是,检测图像的每个子区域的运动,子区域例如为小至仅9个
像素,对每个单独的像素做标记,1代表运动或者0代表不运动。将这些值
相加,给出“子区域运动的总和”。这导致该子区域内的“最大运动”是9
(如果所有像素中有运动),“最小运动”是0。然后将根据“子区域运动
的总和”/“最大运动”计算“子区域运动水平”。
作为使用基于单个像素的子区域的可选办法,对具有多个像素的块中的
运动值求平均可以用来降低运动水平。
可以构想几种其它的建立这些子区域、它们运动值以及它们运动水平的
方法。
此外,可以根据所计算的来自相邻子区域的“子区域运动水平”之间的
插值,对“子区域运动水平”进行优化。该插值可以是线性的或非线性的,
并且可以旨在提供更清晰的物体边界。
一旦确定了每个子区域的运动水平,就可以确立来自原始输入帧的数据
/信息和来自参考帧的数据/信息的比率。利用该比率,可以创建帧内输入帧
的对应子区域。例如,如果运动水平高于第一阈值,则利用单独来自原始输
入视频帧的数据/信息来创建帧内输入帧的对应子区域;如果运动水平低于第
二阈值,则利用单独来自参考帧的数据/信息来创建帧内输入帧的对应子区
域;以及如果运动水平低于第一阈值且高于第二阈值,则利用来自原始输入
帧和参考帧的数据/信息来创建帧内输入帧的对应子区域。对于最后一种情
况,当利用来自原始输入帧和参考帧的数据/信息来创建帧内输入帧的对应子
区域时,来自原始输入帧的数据/信息以及来自参考帧的数据/信息的比率可
以基于该具体子区域中的运动水平。
如前面所提到的,可选地,与没有运动或具有较低运动水平的块相比,
对于具有较高运动水平的块,可以以不同的质量对帧内输入帧进行编码。通
常以较高的质量(即较低的量化值)对具有较高运动水平的块进行编码。
然而,在其上限定了上面提出的“子区域运动水平”值的子区域可能在
大小和位置上均完全不同于视频编码器所使用的块。如果一个子区域被标记
为具有高的运动水平,在编码过程中因此应当以不同的质量编码哪个块并非
是显而易见的。
一种解决方案也可以是根据“子区域运动水平”计算“块运动水平”。
通过例如定义限定质量值应何时变化的阈值,编码块的编码质量可以取决于
该“块运动水平”。较高的编码质量通常对运动更好地进行编码,较低的编
码质量会产生更均匀的编码质量。
本发明还涉及用于对与原始输入视频帧序列对应的数字视频数据进行
编码的方法。现在将参照图3更详细地介绍该发明方法的实施例。
根据编码模式,利用帧内模式或帧间模式对原始输入帧进行编码。
步骤300,根据常规的帧内编码方法对视频帧序列中的第一帧进行编码
(其中没有在前的帧内编码帧或帧间编码帧可利用),即在不参考任何过去
的帧或未来的帧的情况下对该帧进行编码,并且经由变换编码通过利用单个
帧的给定信道内的像素的空间冗余度对亮度信道和色度信道进行编码。对于
第一帧内编码帧,看不到闪耀效应。步骤305,将第一帧内编码帧解码并重
构为参考帧,以用于产生随后的帧间编码帧。
步骤310,利用常规的(见上文)帧间模式编码,将原始输入帧序列中
的下一个或多个原始输入视频帧编码为帧间编码帧。步骤315,将每个帧间
编码帧解码并重构为参考帧,以用于产生随后的帧间编码帧或者可选地用作
创建帧内输入帧时(步骤325)的输入数据。
根据下面步骤对即将产生的作为刷新帧引入的帧内编码帧进行编码:步
骤320,将当前原始输入帧的子区域划分成子区域,并且确定当前原始输入
帧中的每个子区域的运动水平。步骤325,创建被称作帧内输入帧的新的输
入帧,来代替原始输入帧。帧内输入帧的数据内容是来自当前原始输入帧的
数据和来自参考帧的数据的混合。该参考帧是由前面在步骤315中经解码的
帧重构而成,其通常是所使用的上一参考帧。用于具有高运动水平的子区域
的帧内输入帧数据主要取自于原始输入帧,而用于没有运动或具有低运动水
平的子区域的数据主要取自于参考帧。具体子区域中取自于原始输入帧的信
息和取自于参考帧的信息的比率是基于针对原始输入帧的该具体子区域所确
定的运动水平。
步骤330,将包括来自原始输入帧和参考帧的信息/数据的帧内输入帧编
码为帧内编码帧。可选地,与没有运动水平或具有低运动水平的区域相比,
对于具有高运动水平的区域,以不同的质量(较高质量对应于较低量化值,
较低质量对应于较高量化值)对帧内输入帧进行编码。其后,步骤335,将
经编码的帧内编码帧解码并重构为参考帧,以用作待编码的下一帧的参考帧。
待编码的下一帧通常可以是帧间编码帧(如图3中所示情况)、景物内变化
帧(INTRA scene change frame)或另一帧内刷新帧。
本领域技术人员认识到,本发明绝不局限于上面描述的方面和实施例。
例如,可以以不同方式确定原始输入帧的子区域中的运动检测以及原始
输入帧的不同子区域中的运动水平值的形成。
此外,来自原始输入帧的信息/数据以及来自参考帧的信息/数据的比率
可以随所确定的运动水平以及随由该方法/编码器系统的使用者控制的因素
变化。
而且,根据本发明的实施例,帧内预测(IP)模块105不需要存在于数
字视频编码器系统中。
此外,根据本发明的方法,无需对经编码的视频帧的序列中所有的刷新
帧(帧内编码帧)进行编码。
因此,在所附权利要求的范围内,多种改动和变化是可能的。