自适应编码器辅助帧速率上变换的制作方法

文档序号:7676048阅读:119来源:国知局
专利名称:自适应编码器辅助帧速率上变换的制作方法
技术领域
本发明涉及数字视频编码与解码,且更特定来说涉及视频帧的内插技术。
背景技术
可将数字视频能力并入范围广泛的装置中,包括数字电视、数字直接广播系统、 无线通信装置、个人数字助理(PDA)、膝上型计算机、桌上型计算机、视频游戏机、 数字摄像机、数字记录装置、蜂窝式或卫星无线电电话等等。数字视频装置在处理及 传输视频序列方面可提供相对于常规模拟视频系统的显著改善。
已针对数字视频序列的编码而建立不同的视频编码标准。举例来说,运动图像专 家组(MPEG)己开发出多种标准,包括MPEG-1、 MPEG-2及MPEG-4。其它实例包 括国际电信联盟(ITU) -T H.263标准及ITU-T H.264标准及其对应标准ISO/IEC MPEG-4的第IO部分,即先进视频编码(AVC)。这些视频编码标准通过以压縮方式 进行数据编码来支持视频序列的改善的传输效率。
各种视频编码标准支持利用连续视频帧之间的相似性(称为时间或帧间关联)来 提供帧间压縮的视频编码技术。所述帧间压缩技术通过将视频帧的以像素为基础的显 现变换为运动显现来消除横跨各帧的数据冗余。使用帧间技术编码的帧称为P ("预测 性")帧或B ("双向")帧。称为I ("内部")帧的某些帧使用空间压縮来编码,其是 不可预测的。

发明内容
本发明说明用于编码器辅助帧速率上变换(EA-FRUC)的自适应视频编码与解码 技术。根据所揭示的技术,编码器使用内插的帧速率上变换帧作为参考来选择性地编 码视频帧(例如,B帧或其它预测性帧)或此种视频帧的区域(例如,区块)。所述 编码器在与将要编码的视频帧相同的时间实例内插所述帧速率上变换帧,并(例如) 基于帧速率失真(RD)优化决策来选择多个帧速率上变换编码模式中的一者。然后, 所述编码器使用所选择的帧速率上变换编码模式、所述帧速率上变换参考帧及可指示的任何额外参考帧来对所述帧的至少一部分(例如,所述帧中的区块)进行编码。
解码器内插所述帧速率上变换帧并在知道所述编码器曾使用的特定帧速率上变 换模式的情况下使用所述帧速率上变换帧对所述经编码帧或其部分进行解码。所述编 码器经由所述经编码视频帧中的一个或一个以上现有参数来传送所述帧速率上变换模 式。以此方式,可将所述编码模式传送给所述解码器以供用于对所述经编码视频帧进 行高效率的解码而不消耗实质上的额外带宽。帧速率上变换参考帧的使用及帧速率上
变换编码模式的传送允许所述编码器及解码器更有效地平衡编码效率与视觉质量。
一方面,本发明提供一种数字视频编码方法,其包含内插帧速率上变换(FRUC) 视频帧;将所述帧速率上变换帧用作参考来对视频帧的至少一部分进行编码;针对所 述经编码视频帧的至少一部分选择多个帧速率上变换模式中的一者;及调整所述经编 码视频帧的所述至少一部分的一个或一个以上参数以指示所选择的帧速率上变换模 式。
另一方面,本发明提供一种数字视频编码设备,其包含内插模块,其内插帧速 率上变换(FRUC)视频帧;编码模块,其将所述帧速率上变换帧用作参考来对视频 帧的至少一部分进行编码;模式选择模块,其针对所述经编码视频帧的所述至少一部分选择多个帧速率上变换模式中的一者;及信令模块,其调整所述经编码视频帧的所 述至少一部分的一个或一个以上参数以指示所选择的帧速率上变换模式。
在额外方面,本发明提供一种用于编码数字视频数据的处理器,所述处理器经配 置以内插帧速率上变换(FRUC)视频帧;将所述帧速率上变换帧用作参考来对视 频帧的至少一部分进行编码;针对所述经编码视频帧的所述至少一部分选择多个帧速 率上变换模式中的一者;及调整所述经编码视频帧的所述至少一部分的一个或一个以 上参数以指示所选择的帧速率上变换模式。
另一方面,本发明提供一种数字视频解码方法,其包含内插帧速率上变换 (FRUC)视频帧;选择多个帧速率上变换模式中的一者以基于经编码视频帧的至少 一部分的指示所选择的帧速率上变换模式的一个或一个以上参数来对所述经编码视频 帧的所述至少一部分进行解码;及将内插的帧速率上变换帧用作参考来根据所选择的 帧速率上变换模式对所述经编码视频帧的所述至少一部分进行解码。
另一方面,本发明提供一种数字视频解码设备,其包含内插模块,其内插帧速 率上变换(FRUC)视频帧;模式选择模块,其选择多个帧速率上变换模式中的一者 以基于经编码视频帧的至少一部分的指示所选择的帧速率上变换模式的一个或一个以 上参数来对所述经编码视频帧的所述至少一部分进行解码;及解码模块,其将内插的 帧速率上变换帧用作参考来根据所选择的帧速率上变换模式对所述经编码视频帧的所 述至少一部分进行解码。
另一方面,本发明提供一种用于解码数字视频数据的处理器,所述处理器经配置 以内插帧速率上变换(FRUC)视频帧;选择多个帧速率上变换模式中的一者以基 于经编码视频帧的至少一部分的指示所选择的帧速率上变换模式的一个或一个以上参数来对所述经编码视频帧的所述至少一部分进行解码;及将内插的帧速率上变换帧用 作参考来根据所选择的帧速率上变换模式对所述经编码视频帧的所述至少一部分进行 解码。
本发明中所说明的技术可在数字视频编码及/或解码设备中实施于硬件、软件、固 件或其任一组合中。如果实施于软件中,那么可在计算机中执行所述软件。所述软件 最初可作为指令、程序码或类似物存储。因此,本发明还构思用于数字视频编码的计 算机程序产品,其包含计算机可读媒体,其中所述计算机可读媒体包含用于致使计算 机执行根据本发明的技术的码。
附图及以下说明中论述各方面的额外细节。将从说明书及图式及权利要求书明了 其它特征、目的及优点。


图1是图解说明采用根据本发明的编码器辅助帧速率上变换(EA-FRUC)技术的 视频编码及解码系统的框图。
图2A及2B是分别图解说明用于图1的系统的编码器与解码器的实例性操作的 流程图。
图3是图解说明在图1所示系统的视频编码器中使用的编码器辅助帧速率上变换 技术针对固定的图像群组(GOP)图案的应用的图式。
图4是图解说明在图1所示系统的视频编码器中使用的另一编码器辅助帧速率上 变换技术针对自适应图像群组图案的应用的图式。
图5是图解说明用于图1所示视频编码器的编码器辅助帧速率上变换编码器的框图。
图6图解说明根据本发明所说明的编码器辅助帧速率上变换技术来编码的视频帧。
图7是图解说明用于根据本发明所说明的自适应编码器辅助帧速率上变换技术来 编码视频帧或其部分的技术的流程图。
图8是图解说明用于经根据本发明所说明的自适应编码器辅助帧速率上变换技术 编码的视频帧或其部分的解码技术的流程图。
图9是图解说明用于根据本发明所说明的自适应编码器辅助帧速率上变换技术来 编码视频帧或其部分的设备的框图。
图10是图解说明用于对经过根据本发明所说明的自适应编码器辅助帧速率上变 换技术编码的视频帧或其部分进行解码的设备的框图。
具体实施例方式
本发明说明用于编码器辅助帧速率上变换(EA-FRUC)的自适应视频编码与解码技术。根据所揭示的技术,编码器将内插的帧速率上变换帧用作参考来选择性地对视 频帧(例如,B帧或其它预测性帧)或此种视频帧的一部分(例如,区块)进行编码。 所述编码器在与将要编码的视频帧相同的时间实例内插所述帧速率上变换帧,并(例
如)根据帧速率失真(RD)优化决策来选择多个帧速率上变换编码模式中的一者。所 述帧速率上变换编码模式可应用于所述帧或所述帧的一部分,例如宏块(MB)或子分 区或宏块的子区块,其每一者在本发明中一般可称为区块。然后,所述编码器使用所 选择的帧速率上变换编码模式、所述帧速率上变换参考帧及可指示的任何额外参考帧 来对所述帧或其部分进行编码。
解码器内插所述帧速率上变换帧并在知道所述编码器曾使用的特定帧速率上变 换模式的情况下使用所述帧速率上变换帧来对所述经编码帧或其部分进行解码。所述 编码器经由所述经编码视频帧中的一个或一个以上现有参数来传送所述帧速率上变换 模式。举例来说,用于宏块的参数可用于传送针对宏块的帧速率上变换模式。以此方 式,可将所述编码模式高效地传送给所述解码器以用于对所述经编码视频帧进行解码 而不消耗实质上的额外带宽。帧速率上变换参考帧的使用及帧速率上变换编码模式的 传送允许所述编码器及解码器更有效地平衡编码效率与视觉质量。
所述编码器可(举例来说)调整与经编码视频帧中的宏块或子分区(即区块)相 关联的经编码区块图案(CBP)参数及/或运动向量(MV)参数,以识别针对所述区 块选择的帧速率上变换模式。这些参数中的每一者包括可设定为零或非零值的位。因 此,可通过将所述经编码区块图案参数设定为零且将所述运动向量参数设定为零来指 示第一模式,可通过将所述经编码区块图案参数设定为非零值且将所述运动向量参数 设定为零来指示第二模式,可通过将所述经编码区块图案参数设定为零且将所述运动 向量参数设定为非零值来指示第三模式,且可通过将所述经编码区块图案参数及所述 运动向量参数设定为非零值来指示第四模式。尽管本发明中出于举例目的而说明四个 帧速率上变换模式,但可通过所述经编码区块图案及运动向量参数及/或通过经编码区 块图案、运动向量与其它参数的额外组合来规定额外或替代模式。
使用此类参数或类似参数,可将使用帧速率上变换帧作为参考而用于对视频帧中 的区块进行编码的帧速率上变换模式有效地传送并高效地传送给解码器以用于解码。 对于所述帧速率上变换模式中的每一者,所述编码器可通过不同的运动补偿信息(例 如,剩余数据及运动向量)来对视频帧中的相关区块进行编码。作为实例,可针对所 述第一帧速率上变换模式而对无运动补偿信息进行编码,可针对所述第二帧速率上变 换模式对运动向量信息进行编码,可针对所述第三模式对剩余信息进行编码,而可针 对所述第四模式对剩余信息及运动向量信息进行编码。
解码器通过检查嵌入经编码视频帧中的参数(例如,经编码区块图案及运动向量) 来解码所述经编码的视频帧,以识别用于对所述视频帧中的区块进行编码的所选择的 帧速率上变换模式。使用所述参数,所述解码器可确定应针对哪些帧或其部分来内插 帧速率上变换帧及如何将所述帧速率上变换帧用作参考来解码经编码的视频帧或其部分。以此方式,所述解码器可通过选择使用标准解码操作还是编码器辅助帧速率上变 换解码操作(由所述编码器规定)来选择性地对帧中的视频区块进行解码。
图1是图解说明采用根据本发明的一方面的自适应编码器辅助帧速率上变换
(EA-FRUC)技术的视频编码与解码系统10的框图。如图1中所示,系统IO包括通 过传输信道15连接的视频编码器12与视频解码器14。传输信道15可以是有线或无 线媒体。系统10可支持双向视频传输,例如,在视频电话的情况下。因此,可在信道 15的相对端上提供互逆编码、解码、多路复用(MUX)及解多路复用(DEMUX)组 件。另一选择为,视频编码器12可形成经由有线或无线媒体将视频广播或流式传输到 一个或一个以上订户装置的视频广播装置的部分。在各方面,编码器系统12及解码器 系统14可包含于视频通信装置(例如,配备用于视频流式传输的无线移动终端、视频 电话或两者)内。
系统IO可支持根据会话启动协议(SIP) 、 ITU-TH.323标准、ITU-TH.324标准
或其它标准的视频流式传输的视频电话。视频编码器12根据视频压縮标准(例如, MPEG-2、 MPEG-4、 ITU-T H.263或ITU-T H.264)产生经编码的视频数据。尽管图1 中未显示,但视频编码器12及视频解码器14可分别与音频编码器及解码器整合,并 包括适当的MUX-DEMUX单元或其它硬件及软件,来处置在共用数据串流或单独数 据串流中对音频与视频两者的编码。如果适用,那么MUX-DEMUX单元可符合ITU H.223多路复用器协议或其它协议(例如,用户数据报协议(UDP))。
在某些方面,本发明构思应用于增强型H.264视频编码以在地面移动多媒体多播 (TM3)系统中使用唯前向链路(FLO)空中接口规格、"用于地面移动多媒体多播 的唯前向链路空中接口规格"(将公布为技术标准TIA-1099 ("唯前向链路规格")) 来输送即时视频服务。所述唯前向链路规格包括定义位串流语法及语义的实例及适用 于经由唯前向链路空中接口输送服务的解码过程。然而,所述编码器辅助帧速率上变 换技术不限于任何特定类型的广播、多播系统或点对点系统。
视频编码器12及视频解码器14可实施为一个或一个以上处理器、数字信号处理 器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、 固件或其任一组合。视频编码器12及视频解码器14的所图解说明的组件可包括于一 个或一个以上编码器或解码器中,其任一者可作为组合的编码器/解码器(编解码器) 的部分整合于相应的订户装置、广播装置、服务器或类似装置中。此外,视频编码器 及解码器12、 14可包括用于经编码视频的传输及接收的调制、解调制、频率变换、滤 波及放大组件,包括射频(RF)无线组件及天线(如果适用)。然而,为便于图解说 明,图1中未显示此类组件。
编码器12基于帧的视频内容来选择性地对输入源视频源串流2的视频帧进行编 码。所述多个帧可包括未参考其它帧而编码的一个或一个以上内部('T')帧、参考时 间上在先的帧而编码的预测性("P")帧及/或相对于时间上在先及/或未来帧而编码的 双向("B")帧。此外,此类帧中的个别区块可编码为I、 P或B个区块。编码器12
11根据本发明中所说明的编码器辅助帧速率上变换技术来编码多个视频帧。
编码器12执行编码器辅助帧速率上变换来内插作为参考帧用于编码对应视频帧 的帧速率上变换帧。明确来说,编码器12内插帧速率上变换帧,所述帧速率上变换帧 在与视频帧相同的时间索引(即,相同的时间实例)作为参考用于所述视频帧。以此 方式,编码器辅助帧速率上变换使得编码器12能够以减小的大小来预测性地编码视频
帧,因为对应的帧速率上变换帧与在其它情况下作为参考用于编码所述视频帧的其它 视频帧相比,可能与将要编码的视频帧更加匹配。然而,除将所述帧速率上变换帧用
作参考来编码所述视频帧以外,编码器12还根据多个帧速率上变换模式中的一者选择 性地对所述视频帧中的每一区块进行编码。编码器12可基于速率失真(RD)优化决 策来选择用于对所述视频帧中的区块进行编码的帧速率上变换模式,以平衡编码位率 与视觉质量损失的要求。
编码器12基于所选择的帧速率上变换模式通过不同的运动补偿信息(例如,剩 余数据及运动向量)来对在视频帧中的区块进行编码。作为实例,可针对所述第一帧 速率上变换模式将无运动补偿信息编码于区块中,可针对所述第二帧速率上变换模式 对运动向量信息进行编码,可针对第三模式对剩余信息进行编码,且可针对第四模式 对剩余信息及运动向量信息进行编码。以此方式,如果视觉质量是可接受的,那么编 码器12可选择不同的帧速率上变换模式来减小有效位速率,或者,如果视觉质量需要 改善,那么增加有效位速率。
以上帧速率上变换模式是出于举例的目的而说明。可提供额外帧速率上变换模 式。此外,可提供替代性帧速率上变换模式。作为一个实例,替代性帧速率上变换模 式可将以上帧速率上变换模式中的任一者与在预测性视频编码技术中熟知的一个或一 个以上正常双向(B)MB模式组合。因此,编码器辅助帧速率上变换模式的总组合可 多于四个模式,及/或所述四个模式可包括将本文中所说明的帧速率上变换模式与正常 B模式组合的一个或一个以上替代性模式。
编码器12通过调整经编码视频帧的现有参数(例如,与此帧中的区块相关的参 数,例如经编码区块图案与运动向量参数)而将所选择的帧速率上变换模式传送到解 码器14。举例来说,此可通过使用由所述现有参数所提供的位来指示所述帧速率上变 换模式中的哪一模式用于编码所述视频帧中的每一区块来实现。以此方式,编码器12 可传送所选择的帧速率上变换模式而不增加所述视频帧的编码大小。而是,编码器12 可使用本来会存在于所述经编码视频帧中的参数值,从而传送帧速率上变换模式信息 而不消耗实质数量的额外编码位,同时允许通过使用帧速率上变换方案的编码位的对话。
在图1的实例中,视频编码器12包括帧处理模块20、标准编码器16及编码器辅 助帧速率上变换编码器18。帧处理模块20经配置以处理输入的源视频串流2。帧处理 模块20可经配置以根据固定的图像群组(GOP)图案(例如,IBPBPBP)来处理传入 的视频帧。另一选择为,帧处理模块20可经配置以根据自适应图像群组图案来处理传入的视频帧,其中基于所述视频内容,在每一P帧之间编码多个B帧。在任何情况下, 帧处理模块20确定使用标准技术还是使用本发明中所说明的自适应编码器辅助帧速 率上变换技术来编码传入的视频帧(例如,F" F2及F3)。图1中,F2表示B帧,而 帧F,及F3分别表示先前及后续P帧(其作为编码帧F2的参考帧)。
标准编码器16使用标准编码技术来编码P帧及I帧(例如,F,及F一 。编码器 辅助帧速率上变换编码器18可根据本发明中所说明的自适应编码器辅助帧速率上变 换技术来对每一双向(B)预测性视频帧(例如,F2)的至少一部分进行编码。特定来 说,编码器辅助帧速率上变换编码器18可根据多个帧速率上变换模式中的一者并参考 内插的帧速率上变换帧来选择性地对F2中的每一区块进行编码,以平衡编码位率与视 觉质量损失的要求。
为根据所述帧速率上变换模式中的一者来选择性地对帧F2内的区块进行编码,编
码器辅助帧速率上变换编码器18首先在与F2相同的时间索引内插帧速率上变换帧。 所述帧速率上变换帧是以与普通B帧相同的方式在时间上驻存于帧F,与帧&之间并 依赖其两个相邻帧F,及F3作为参考帧的预测性帧。编码器辅助帧速率上变换编码器 18使用与在解码器14中所采用的相同的帧速率上变换过程来内插所述帧速率上变换 帧。也就是说,编码器辅助帧速率上变换编码器18可(举例来说)使用相邻的P帧 F,及F3来内插所述帧速率上变换帧。因此,可从F,及F3内插对应于F2的帧速率上变 换帧。内插可基于帧平均、帧重复或其它内插技术。
如上所述,所述编码器辅助帧速率上变换过程使用在与视频帧F2相同的时间实例 产生的内插帧速率上变换帧的对应部分来对视频帧F2的至少一部分进行编码。我们直 到,解码器14将能够把所述帧速率上变换帧内插于解码器侧。因此,我们还直到因此
可在所述解码器侧获得所述帧速率上变换帧以供用于解码帧F2。据此,可使用所述帧
速率上变换作为帧F2的参考帧。
使用内插的帧速率上变换帧作为参考来对视频帧的至少一部分进行编码,可减小 所述视频帧的经编码数据的大小,因为所述帧速率上变换帧的参考数据可能比在其它 情况下用于编码所述视频帧的参考帧F,及F3更加匹配。因此,如果所述帧速率上变 换帧与将要编码的视频帧F2精确或足够相近地匹配,那么可减少甚或消除编码于视频 帧F2中的运动补偿信息(例如,运动向量及剩余数据)。编码器辅助帧速率上变换使 编码器12能够预测解码器14执行帧速率上变换的能力并利用此点从经编码的视频帧 F2中省略可在所述解码器处从内插的帧速率上变换帧获得的数据。因此,编码器辅助 帧速率上变换可改善横跨信道15的压縮比率及传输带宽。
在针对F2产生所述帧速率上变换帧之后,编码器辅助帧速率上变换编码器18针 对"可能"参考帧中的每一者执行运动估计。在此情况下,所述"可能"参考帧包括 在与将要编码的视频帧F2相同的时间实例内插的帧速率上变换帧;在时间上在将要编 码的视频帧F2之前、在时间上在将要编码视频帧F2之后的参考帧或之前与之后两者 的参考帧,例如^及F3。所述可能参考帧可按时间排序于一个或一个以上缓冲器或列表中。举例来说,反向参考缓冲器可包括时间上在将要编码的视频帧F2之后的一个或 一个以上参考帧,例如帧R。正向参考缓冲器可包括在时间上在所述将要编码视频帧
之前的参考帧。当编码器辅助帧速率上变换编码器18在与将要编码的视频帧F2相同 的时间实例内插帧速率上变换帧时,还将所述帧速率上变换帧包括于正向参考帧中(图 3中更详细说明)。参照图l,针对F2的正向参考缓冲器包括F,及在与F2相同的时间 索引内插的帧速率上变换帧,而所述反向参考缓冲器包括F3。
对于正常的视频编码(即,非帧速率上变换视频编码),将要考虑用于编码的先 前参考帧的数量为N,即在所述正向参考帧缓冲器中的非内插参考帧的数量。编码所 述视频帧时所参考的特定参考帧规定于编码数据字段中,例如通过规定参考帧0到 N-l中的哪一者是所关心的参考帧。为指示所述视频帧或其一部分是参考在所述编码 器处内插的帧速率上变换帧来编码的,编码器辅助帧速率上变换编码器18可针对所述 正向参考缓冲器将所述编码字段设定为N。通过将所述编码字段设定为N(g卩,比"正 常"视频编码情况下的可能数量高出一),可使用所述编码数据字段来指示编码器辅助 帧速率上变换编码而不增加所述视频帧的编码大小。换句话说,可使用相同的编码字
段来指示基于内插的帧速率上变换帧或非内插的参考帧的编码。
为确定将所述帧速率上变换模式中的哪些帧速率上变换模式用于对帧F2中的区 块的编码,编码器辅助帧速率上变换编码器18可针对所述帧速率上变换模式中的每一 者使用针对F2的内插帧速率上变换帧来执行运动估计。编码器辅助帧速率上变换编码 器18还可针对包括于所述正向及反向参考缓冲器内的每一非内插参考帧(即相对于 F2的F,及F》执行运动估计。编码器辅助帧速率上变换编码器18基于速率失真优化 决策选择所述模式(即标准模式或多个帧速率上变换模式中的一者)来对F2中的区块 进行编码。也就是说,编码器辅助帧速率上变换编码器18可经配置以选择将速率失真 成本函数最小化的编码模式。所述速率失真优化决策可使用速率失真函数,所述速率 失真函数包含使用经编码帧或其部分的运动向量及剩余对编码大小与失真之间的折衷 进行测量及对所得图像失真进行对应估计。编码器辅助帧速率上变换编码器18可使用 所属技术领域中己知的其它适合成本函数,例如最小剩余函数及绝对差和(SAD)函 数。
如果选择标准模式来对帧F2中的给定区块进行编码,即如果使用非内插帧(例如,
F,与&)中的一者或一者以上作为参考来对F2中的区块进行编码,那么编码器辅助帧 速率上变换编码器18对帧F2中的区块进行编码以产生符合标准的位串流。然而,如
果选择帧速率上变换模式中的一者来对F2中的区块进行编码,即如果使用所述帧速率
上变换帧作为参考来对F2区块进行编码,那么编码器辅助帧速率上变换编码器18可 产生专有位串流。所述专有位串流使解码器14能够确定所述帧速率上变换模式中的哪 一模式用于对视频帧F2中的对应区块的编码,且然后使用所述同一帧速率上变换模式 对视频帧F2中的区块进行解码。
编码器辅助帧速率上变换编码器18调整一个或一个以上现有参数或数据字段来
14指示所述多个帧速率上变换模式中的哪一模式用于对视频帧中的对应区块的编码。通
过将所述H.264标准用作实例,编码器辅助帧速率上变换编码器18可使用由经编码区 块图案(CBP)参数及运动向量(MV)参数提供的位来指示所选择的帧速率上变换模 式。举例来说,可通过将针对区块的经编码区块图案参数及运动向量参数设定为零来 指示第一帧速率上变换模式,可通过将所述经编码区块图案参数设定为非零值且将所 述运动向量参数设定为零来指示第二帧速率上变换模式,可通过将所述经编码区块图 案参数设定为零且将所述运动向量参数设定为非零值来指示第三帧速率上变换模式, 且可通过将所述经编码区块图案参数设定为非零值且将所述运动向量参数设定为非零 值来指示第四帧速率上变换模式。通常,出于所述H.264标准的目的,将所述经编码 区块图案参数设定为零且将所述运动向量参数设定为零是无效状态。然而,通过略微 突破或修改所述H.264标准,可指示所选择的帧速率上变换模式而不增加视频帧的编 码大小。
一方面,解码器14可(举例来说)使用先前所说明的"参考帧"编码字段作为 针对帧中的区块检查经编码区块图案及运动向量编码字段的触发。如先前所说明,所 述参考帧编码字段指示当存储于所述字段中的值为N (即比正向参考缓冲器的预定义 大小的大小(即N-1)大一)时参考帧中的对应参考帧或区块使用通过编码器辅助帧 速率上变换编码器18内插的帧速率上变换帧来编码。因此,通过首先检查所述参考帧 编码字段并确定所述正向参考缓冲器大小为N,解码器14可确定所述视频帧的一部分 是否是使用非内插帧作为参考还是使用通过编码器辅助帧速率上变换编码器18内插 的帧速率上变换帧作为参考来编码,并相应地处理由所述区块的经编码区块图案及运 动向量参数提供的信息。
解码器14接收来自编码器12的所传输位串流并解码视频帧。在图1的实例中, 解码器14包括用以处置I及P帧的解码的标准解码器22及用以处置B帧的解码及帧 速率上变换帧的内插的编码器辅助帧速率上变换解码器24。标准解码器22应用标准 的解码技术来解码由编码器12发送的每一I帧及P帧(例如,F,及&)。在帧F,与 F3中的每一帧中编码的信息允许标准解码器22解码并提供视频信息帧。解码器22与 24无需为分离的组件,而相反可在共用CODEC内整合为分离的过程,其在共享的基 础上利用多个组件。
在图1所图解说明的实例中,编码器辅助帧速率上变换解码器24检查帧F2 (其 可在时间上驻存于F,与F3之间)的参考帧编码字段,以确定F2是使用非内插帧编码 还是使用内插的帧速率上变换帧作为参考进行编码。当编码器辅助帧速率上变换解码 器确定F2是使用非内插帧作为参考来编码时,编码器辅助帧速率上变换解码器24根 据标准技术来解码F2。举例来说,编码器辅助帧速率上变换解码器24可将F2解码成 与由参考帧编码字段规定的非内插帧匹配。然而,当编码器辅助帧速率上变换解码器 24确定F2的一部分是使用由编码器12内插的帧速率上变换帧编码时,编码器辅助帧 速率上变换解码器检查与F2相关联的区块的经编码区块图案及运动向量参数。基于所述经编码区块图案及运动向量参数,编码器辅助帧速率上变换解码器24确定所述帧速 率上变换模式中的哪一模式用于对帧F2的相关区块进行编码并相应地对所述F2区块 进行解码。
当帧F2中的区块使用所述帧速率上变换模式中的一者编码时,编码器辅助帧速率
上变换解码器12使用对应于参考帧F,及F3的经解码视频帧来内插帧速率上变换帧。 此帧速率上变换帧与由编码器12内插的帧速率上变换帧匹配且用于对F2的一个或一 个以上区块进行解码。举例来说,当使用第一帧速率上变换模式对F2中的给定区块进 行编码时,可将由编码器辅助帧速率上变换解码器24内插的帧速率上变换帧中的对应
区块用作F2,因为所述帧速率上变换帧与F2足够相近得匹配。作为另一实例,当使用 第二帧速率上变换模式来对F2中的区块进行编码时,编码器辅助帧速率上变换解码器
24使用内插的帧速率上变换帧及由所接收的视频帧提供的运动向量信息来对F2中的 相应区块进行解码。在另一实例中,当编码器辅助帧速率上变换解码器24确定F2中 的区块使用第三帧速率上变换模式编码时,编码器辅助帧速率上变换解码器24使用内 插的帧速率上变换帧及由所接收的视频帧提供的剩余数据来对F2中的相应区块进行 解码。在又一实例中,当编码器辅助帧速率上变换解码器24确定F2中的区块使用第 四帧速率上变换模式编码时,编码器辅助帧速率上变换解码器24使用由所接收的视频 帧提供的运动向量数据及剩余数据来对F2中的相应区块进行解码。以此方式,解码器 14可高效地对从编码器12接收的位串流进行解码。
图2A是图解说明编码器14的实例性操作的流程图。如图2A所示,编码器14 接收输入的源视频串流(3)。更明确来说,相对于编码器14,帧处理单元20接收输 入的源视频串流2并处理视频串流2以确定视频内容(4)。基于所述视频内容(例如, 帧速率上变换帧的数量及位置),帧处理模块20确定所接收的视频帧是否是B帧(5), 或帧中的一个或一个以上区块是否是B区块。
当帧处理模块20确定所述所接收的视频帧并非B帧(5的否分支)时,帧处理 模块20将所述视频帧发送到标准编码器16。标准编码器16执行正常可变长度编码 (VLC)编码来编码所述视频帧(6)并相应地产生位串流(7)。所述位串流可(举 例来说)符合所述ITU-T H.264标准。
当帧处理模块20确定所接收的视频帧是B帧(5的是分支)时,帧处理模块20 将所述B帧发送到编码器辅助帧速率上变换编码器18。编码器辅助帧速率上变换编码 器18在与所述B帧相同的时间索引内插帧速率上变换帧(9)且选择一个或一个以上 模式来编码B帧中的宏块或子分区(即区块)(11)。编码器辅助帧速率上变换编码 器18可针对给定区块来选择本发明中所说明的多个帧速率上变换模式中的一者,或可 选择应用标准的B模式编码而不是选择EA帧速率上变换模式来编码所述区块。
编码器辅助帧速率上变换编码器18根据所选择的模式对B帧中的每一区块进行 编码(13)。如果EA编码器18根据编码器辅助帧速率上变换模式(17的是分支) 对所述B帧中的区块进行编码,那么编码器辅助帧速率上变换编码器18产生不符合H.264标准的位串流(21)。在此情况下,所述位串流可能不符合所述H.264标准, 因为编码器辅助帧速率上变换编码器18可调整一个或一个以上区块的一个或一个以 上参数(例如,经编码区块图案及运动向量参数)以指示所选择的帧速率上变换模式。 特定来说,可通过将由经修改的参数提供的位设定为通常无效的状态来指示所述帧速 率上变换模式中的一者。此外,在选择根据所述帧速率上变换模式中的一者来对所述 B帧中的区块进行编码时,编码器辅助帧速率上变换编码器还可将正向参考缓冲器的 大小增加一。在此情况下,所述参考缓冲器的大小大于预定义的最大值,而因此不符 合H.264标准。
另一方面,当EA编码器18不根据所述帧速率上变换模式中的一者对所述B帧 中的任何区块进行编码(17的否分支)时,编码器辅助帧速率上变换编码器18产生 符合R264标准的位串流(19)。经由信道15将由编码器12产生的位串流传输到解 码器14 (8)。
图2B是图解说明解码器14的实例性操作的流程图。如图2B中所示,解码器14 经由信道15接收位串流(23)。 一旦接收所述位串流,解码器14便将所述位串流剖 析为经编码的视频帧(25)并执行错误恢复。解码器14处理每一视频帧以确定所述视 频帧是否是B帧(26)。当解码器14确定所述视频帧并非B帧(26的否分支)时, 标准解码器22将正常的解码操作应用于所述视频帧以解码所述视频帧(27)。
然而,当解码器14确定所述视频帧是B帧(26的是分支)时,编码器辅助帧速 率上变换解码器24确定是否使用帧速率上变换模式来对所述B帧中的任何区块进行 编码(29)。编码器辅助帧速率上变换解码器24可通过正向参考缓冲器已从N-1增 加到N的指示来确定使用帧速率上变换模式,且然后可通过检查相关的经编码区块图 案及运动向量参数来识别用于对所述B帧中的相应区块进行编码的特定帧速率上变换 模式,如先前所说明。
为确定所述B帧是否是使用非内插帧作为参考编码或所述B帧区块中的任一者是
否是根据所述帧速率上变换模式中的一者而使用帧速率上变换帧作为参考来编码 (29),编码器辅助帧速率上变换解码器24可(举例来说)处理参考帧编码字段。如 先前所说明,当存储于所述参考帧编码字段中的值是0与N-1之间的值时,所述值指 示所述正向参考缓冲器中的非内插参考帧中哪一帧作为参考用于编码所述B帧。然而, 当存储于所述参考帧编码字段中的所述值为N时,编码器辅助帧速率上变换解码器24 知道所述B帧的至少一部分是将帧速率上变换帧用作参考而根据所述帧速率上变换模 式中的一者来编码的。
如果所述B帧中的区块根据所述帧速率上变换模式中的一者编码(29),那么解 码器24 (例如)通过参考相应区块的经编码区块图案及运动向量参数来确定所使用的 帧速率上变换模式(31)。在此基础上,编码器辅助帧速率上变换解码器24针对每一 区块选择适当的帧速率上变换模式。编码器辅助帧速率上变换解码器24响应于关于所 述B帧是根据所述帧速率上变换模式中的一者来编码的确定(29的是分支)而内插帧
17速率上变换帧(33)。然后,编码器辅助帧速率上变换解码器24可将内插的帧速率上 变换帧(33)用作参考帧而根据所选择的帧速率上变换模式(31)来对所述B帧中的 区块进行解码(35)。
当确定所述B帧中的区块并非根据所述帧速率上变换模式中的一者编码(31的 否分支)时,编码器辅助帧速率上变换解码器24将适当的视频帧用作参考来解码所述 B帧(36)。如先前所说明,可通过检査参考帧编码字段来确定适当的参考帧。在任 何情况下,解码器14重构由标准解码器22及编码器辅助帧速率上变换解码器24解码 的视频帧以形成视频序列(28)。
图3是图解说明用于视频编码器12的编码器辅助帧速率上变换技术针对P帧与B 帧的固定图像群组图案的应用的图式。在图3的所图解说明的实例中,帧处理模块20 将输入的源视频串流2处理成P帧32A-32D (统称为"P帧32")、帧速率上变换帧 34及B帧30。尽管图3仅显示B帧30,但由帧处理模块20产生的帧可包括多个B 帧。
通过编码器12在与B帧30相同的时间索引内插帧速率上变换帧34,且将帧速 率上变换帧34用作参考来编码B帧30。因此,B帧30的编码大小减小,因为其包括 帧速率上变换帧34与B帧30之间的差分。也就是说,针对B帧30的经编码视频帧 包括"真正"B帧30的剩余(在视频串流2中传输)及帧速率上变换帧34。帧速率 上变换帧34并未编码或传输到解码器14。而是,解码器14使用由编码器12所使用 的相同帧速率上变换技术来内插帧速率上变换帧34。因此,图3仅针对B帧30来图 解说明所述相依关系。
在此配置中,由于B帧30的编码大小减小,因此可减小横跨信道15丢弃B帧 30的机率。在丢弃B帧30的情况下(举例来说,在降级的传输条件下),解码器14 仍可执行帧速率上变换来以帧速率上变换帧34替换丢失的B帧30。尽管视觉质量可 在一定程度上受损,但解码器14可能仍然能够使用所述帧速率上变换过程来产生B 帧30的合理传真。
如图3中所示,可参考P帧32与帧速率上变换帧34中的任一者或此类帧的组合 来编码B帧30。因此,用于B帧30的正向参考缓冲器包括P帧32A-32C及帧速率上 变换帧34,而用于B帧30的反向参考缓冲器包括P帧32D。为确定将要将所述可能 参考帧中的哪一者作为参考用于编码B帧,编码器12针对包括于所述正向及反向参 考缓冲器中的每一参考帧(即,P帧32及帧速率上变换帧34)来执行运动估计。更明 确来说,编码器12可使用不同的参考帧来对B帧30的不同部分(例如,不同区块, 如宏块、子分区或子区块)进行编码。可将B帧分成多个区块(例如宏块(MB)及 其它较小子区块(例如,16x16像素阵列)),或分成任何数量的较小子区块(例如, 8x8子区块或4x4子区块),其每一者可相对于其它区块而以独立或不同的方式编码。 特定来说,可使用不同的编码器辅助帧速率上变换模式来对在B帧内的此类区块进行 编码,此取决于适用的速率失真(RD)优化决策,如本发明中所说明。大体来说,子区块可横跨B帧30、 P帧32及帧速率上变换帧34而变化。举例来 说,可使用运动估计算法来将B帧30编码为帧或多个区块。作为实例,可按区块来 编码B帧30,所述区块包括多个大小,例如16x16、 16x8、 8x16、 8x8、 8x4、 4x8及 4x4像素,但也可设想其它区块大小。因此,可将B帧30分割成一组经编码的区块, 所述组区块对所述帧中的实质上所有像素进行编码。所述经编码区块可以是不同大小 且可如本发明中所说明的那样使用不同的编码器辅助帧速率上变换模式来对所述经编 码区块中的每一者进行编码。因此,可将帧速率上变换帧34用作参考帧以用于将要编 码的B帧30的部分或所有区块。
为选择将要将哪一帧用作参考来编码B帧30,编码器12针对B帧30或B帧30 的每一子区块执行运动估计。相对于使用帧速率上变换帧34来执行运动估计,编码器 12针对不同帧速率上变换模式中的每一者执行运动估计。所述运动估计算法针对每一 群组区块计算运动补偿信息,例如运动向量及剩余数据。例如,编码器12可首先针对 较大区块(例如,16xl6区块)计算运动补偿信息,接下来针对所述较大区块的每一 子区块或子分区(例如,16x8区块、8x16、 8x8、 4x8、 4x4区块,及类似区块)。
如先前所说明,编码器12基于速率失真优化决策选择参考帧而在帧速率上变换 帧34的情况下选择帧速率上变换模式来编码B帧30。当编码器12选择帧速率上变换 模式中的一者来对B帧30中的每一区块进行编码时,编码器12相应地调整相应区块 的经编码区块图案及运动向量向量参数,以向解码器14传送编码器12所使用的帧速 率上变换模式。
图4是图解说明在视频编码器12中使用的编码器辅助帧速率上变换技术针对自 适应图像群组图案的应用的图式。在自适应图像群组图案中,可基于视频内容在相邻 的P帧之间编码多个B帧且可针对每一B帧在相同的时间索引产生独立的帧速率上变 换帧。
如图4中所示,帧处理模块20处理输入的源视频串流以产生B帧40A-40C及P 帧42A-42D。 B帧40A-40C在P帧44C与44D之间编码。B帧40B与P帧44C-44D 之间的箭头图解说明B帧40B的可能相依关系。因此,用于B帧40B的正向参考缓 冲器包括P帧42A-42C及帧速率上变换帧44,而反向参考缓冲器包括P帧42D。尽管 图4中未以箭头显示,但B帧40A及B帧40C也可参考P帧44A-44C。此外,尽管 图中未显示,但编码器12可针对B帧40A及40C中的每一者内插对应的FURC帧。 用于B帧40A-40C中的每一者的正向参考缓冲器包括P帧42A-42C及对应的帧速率 上变换帧。换句话说,用于B帧40A的正向参考缓冲器包括对应的帧速率上变换帧(未 显示)及P帧42A-42C,但不包括帧速率上变换帧44,因为帧速率上变换帧44对应 于B帧40B。
选择将要使用哪一帧速率上变换模式来对B帧40B内的区块进行编码遵循与图3 中所说明的相同的技术,不同之处仅是可以不同的方式产生帧速率上变换帧44。特定 来说,可基于P帧42C与42D之间的其它B帧(例如,B帧40A及40B)的数量来縮放P帧42C及42D的信息。否则,基于速率失真优化决策来执行运动估计及选择帧 速率上变换模式的过程保持不变。此过程对于B帧40A及40C也相同,不同之处是使 用对应的帧速率上变换帧而非帧速率上变换帧44。
图5是更详细图解说明编码器辅助帧速率上变换编码器18的实例的框图。如图5 中所示,编码器辅助帧速率上变换编码器18包括内插模块50、模式选择模块52、信 令模块56及编码模块58。模式选择模块52进一步包括运动计算单元54及速率失真 (RD)计算单元55。大体来说,编码器辅助帧速率上变换编码器16根据多个帧速率 上变换模式中的一者选择性地对从标准编码器16接收的B帧中的区块进行编码。
内插模块50使用从标准编码器16接收的P帧在与B帧(例如,F2)相同的时间 实例内插帧速率上变换帧。特定来说,内插模块50在与所述B帧相同的时间索引内 插帧速率上变换帧并以与解码器14产生所述B帧的帧速率上变换帧相同的方式产生 所述帧速率上变换帧。将帧F2用作实例,内插模块50使用帧F,及F3来内插帧速率上 变换帧。
大体来说,模式选择模块52选择多个帧速率上变换模式中的一者来对F2中的每 一区块进行编码。模式选择模块52可(举例来说)基于速率失真优化决策(其使用运 动估计结果来平衡编码位率与视觉质量损失的要求)来选择帧速率上变换模式。特定 来说,运动计算单元54相对于可能参考帧中的每一帧执行针对F2的运动估计。所述 可能参考帧包括由内插模块50产生的帧速率上变换帧及包括于用于所述B帧的正向 及反向参考缓冲器中的非内插视频帧(即F" F3),及相对于F2在与F2相同的时间 实例产生的帧速率上变换帧。
运动计算单元54产生运动向量以表示F2内的视频区块与前一帧F,、后一帧F3
及在与帧F2相同的时间实例产生的帧速率上变换帧内的对应区块之间的运动。移动计
算单元54还产生表示F2内的视频区块与F,、 F2及所述帧速率上变换帧内的对应区块 之间的差异的剩余数据。
速率失真计算单元55可评价使用帧速率上变换模式中的每一者来对帧F2中的区 块进行编码的结果。速率失真计算单元55还可评价使用F,或F3来对帧F2中的区块进 行编码的结果。特定来说,速率失真计算单元55可选择性地将由运动估计单元54产 生的信息应用到每一帧速率上变换模式的速率失真函数。举例来说,速率失真计算单 元55针对第一帧速率上变换模式而使用无运动向量数据及无剩余数据来处理区块的 速率失真成本函数。在另一实例中,速率失真计算单元55针对第二帧速率上变换模式 而仅使用运动向量数据来处理所述速率失真成本函数。在额外实例中,速率失真计算 单元55针对第三帧速率上变换模式而仅使用剩余数据来处理所述速率失真成本函数。 在又一实例中,速率失真计算单元55针对第四帧速率上变换模式将剩余数据及运动向 量数据应用于所述速率失真成本函数。
速率失真计算单元55将针对每一帧速率上变换模式以及针对R与F3的成本函数 的结果相比较,并选择使经编码区块的速率失真成本函数降到最低的帧速率上变换模式。更明确来说,速率失真计算单元55输出指示针对所述区块的所选择的帧速率上变
换模式的信号。以此方式,编码模块56确定适用于所述帧内的区块的帧速率上变换模式。
信令模块56接收所述输出并相应地调整一个或一个以上参数。如先前所说明, 信令模块56可(举例来说)将由区块的经编码区块图案参数及运动向量参数提供的位 设定为零或非零值来指示所选择的帧速率上变换模式。当选择所述帧速率上变换模式 中的一者时,信令模块56还可将参考帧编码字段设定为比正向参考缓冲器的预定义大 小大一的值,即将所述字段设定为N而非N-1。以此方式,解码器14可检査所述参 考帧编码字段以确定对应的视频帧使用帧速率上变换帧还是非内插视频帧作为参考来 编码。
当此编码字段指示所述视频帧的至少一部分是使用帧速率上变换帧作为参考来 编码时,解码器14可相应地处理每一区块的经编码区块图案及运动向量参数。也就是 说,解码器14知道处理所述经编码区块图案及运动向量参数来确定针对区块而选择哪 一帧速率上变换模式,而不是以正常方式处理所述经编码区块图案及运动向量参数。 应注意此点,因为所述第一帧速率上变换模式可由如H.264标准定义的无效状态指示, 且如果未在经编码区块图案及运动向量参数之前检查参考帧编码字段那么解码器14 可将此解译为错误。
因此,当选择所述帧速率上变换模式中的一者来对F2中的区块进行编码时,编码 模块58产生专有输出位串流。否则,编码模块58产生标准的输出位串流。也就是说, 当使用F,或F3作为参考来编码F2时,编码模块58根据H.264标准语法来产生所述输 出串流。
图6是图解说明根据本发明中说明的帧速率上变换模式中的一者来编码的视频帧 60的框图。视频帧包括视频帧标头62、包括经编码视频内容的视频帧信息64、视频 帧参数66及视频帧端70。在图6的所图解说明的实例中,通过使用在与视频帧60相 同的时间索引内插的帧速率上变换帧来对视频帧60中的区块进行编码来减少视频信 息64 (即,运动向量数据及剩余数据)的量。可基于选择用于对视频帧60内的区块 进行编码的帧速率上变换模式来进一步减少视频信息64。
如先前所说明,当使用所述第一帧速率上变换模式来对视频帧60中的给定区块 进行编码时,所述区块的视频信息64可能不包括任何运动补偿信息。另一选择为,当 使用所述第二帧速率上变换模式来编码给定区块时,所述区块的视频信息64可仅包括 运动向量信息。作为另一实例,当使用所述第三帧速率上变换模式来编码给定区块时, 所述区块的视频信息64可仅包括剩余数据。作为又一实例,当使用所述第四帧速率上 变换模式来编码视频帧60中的给定区块时,所述区块的视频信息64可包括运动向量 数据及剩余数据。然而,在这些情况中的每一情况下,可相对于使用非内插帧作为参 考来编码视频帧时所需要的视频信息而减少视频信息64。
在图6的所图解说明的实例中,视频帧参数66包括经编码区块图案参数67、运
21动向量参数68及参考帧参数69。可针对帧60内的个别区块而独立地规定经编码区块 图案参数67及运动向量参数68。参数67-69中的每一者可以是在适用标准(例如, H.264标准)的语法中定义的现有参数且包括于经编码的视频帧中。本发明中所说明 的技术可能尤其适用于H.264标准,但不必受此限制。通过使用视频帧参数66来指示 哪一帧速率上变换模式用于对视频帧60内的区块的编码,可以高效的方式提供足够的 编码信息。
特定来说,经编码区块图案参数67及运动向量参数68用于指示用于对视频帧60 内的区块进行编码的帧速率上变换模式。如先前所说明,经编码区块图案参数67及 68中的每一者可提供可设定为零及非零值的位。因此,可使用经编码区块图案参数67 及运动向量参数68来指示本发明中所说明的帧速率上变换模式。因此,帧60中的不 同区块可具有不同的经编码区块图案及运动向量(MV)参数来指示针对相应区块的 不同帧速率上变换模式。
参考帧69对应于本发明中先前提到的参考帧编码字段。因此,参考帧参数69用 于指示视频帧60中的区块使用内插帧速率上变换帧作为参考还是使用非内插视频帧 作为参考来编码。举例来说,当参考参数69从0-N-1编号时,解码器14可基于包括 于正向参考缓冲器中的非内插参考帧中的一者来将参考帧60中的区块识别为已编码。 然而,当参考参数69设定为N时,解码器14可根据所说明的帧速率上变换模式中的 一者来将参考帧60中的区块识别为已编码。当参考帧参数69是设定为N时,解码器 14解译经编码区块图案参数67及运动向量参数68以确定帧速率上变换模式中的哪一 者用于对视频帧60中的给定区块的编码。
图7是图解说明用于自适应编码器辅助帧速率上变换的技术的流程图。大体来说, 编码器12可根据多个帧速率上变换模式中的一者来执行图7中所图解说明的技术以选 择性地对视频帧(例如,B帧或P帧)中的区块进行编码。所述帧速率上变换模式经 选择用于平衡编码位率与视觉质量损失的要求,且由于所述视频帧将帧速率上变换帧 用作参考来编码而减小所述视频帧的编码大小。可高效率地识别所选择的帧速率上变 换模式,且在某些方面通过调整与帧中的区块相关联的现有参数或编码字段来识别所 选择的帧速率上变换模式而并不增加编码大小。解码器14可通过检查经修改的参数来 确定将哪一帧速率上变换模式用于对经编码视频帧中的区块的解码来对所述视频帧进 行高效率的解码。
当编码器12接收视频帧80时,图7的流程图中所示的过程开始。编码器12可 以固定的图像群组图案(例如,IBPBPBP)或自适应图像群组图案接收视频帧,在自 适应图像群组图案中可基于视频内容在相邻的P之间编码多个B帧。编码器12处理 所接收的视频帧以确定所述视频帧是否是B帧82。如果所述视频帧不是B帧,那么 编码器12执行P帧编码84,例如将前一 P帧用作参考来对所述P帧中的区块进行编 码。然后,编码器12对所述经编码的P帧执行可变长度编码(VLC) 86并产生经由 信道15传输到解码器14的输出位串流88。在编码器12编码所述P帧之后,编码器12内插帧速率上变换帧90。特定来说, 编码器12在与后续B帧相同的时间索引内插所述帧速率上变换帧。当后续B帧是相 邻P帧之间当中的多个帧中的第一帧时,编码器12可通过使用刚刚编码的P帧(即 在步骤90中编码的P帧)的信息产生帧速率上变换信息来内插所述帧速率上变换帧。 否则,编码器12可通过縮放两个相邻P帧的帧速率上变换信息并使用经縮放的帧速率 上变换信息来产生帧速率上变换信息来产生所述帧速率上变换帧。当单个B帧编码于 相邻的P帧之间时,编码器12可此方式内插所述帧速率上变换帧。
为内插所述帧速率上变换帧,可将针对所述P帧的运动向量存储于运动向量缓冲 器中且可重构所述P帧并将其存储于经重构帧缓冲器中。编码器12使用存储于所述运 动向量缓冲器及经重构帧缓冲器中的信息来内插帧速率上变换帧90。编码器12将所 述帧速率上变换帧存储于缓冲器96中。当所述帧速率上变换帧存储于所述缓冲器中 时,编码器12可调整参考帧编码字段。也就是说,当所述帧速率上变换帧存储于所述 缓冲器中时将正向参考缓冲器的大小增加到N,以指示所述帧速率上变换帧用作参考 帧。
在步骤84中编码所述P帧之后,编码器12接收另一视频帧并处理此视频帧以确 定其是否是B帧82。当编码器12确定所接收的视频帧是B帧时,编码器针对视频帧 98执行B帧编码。为减小所述B帧的编码大小,编码器12针对每一可能参考帧而对 B帧执行运动估计100。所述可能参考帧存储于所述正向及反向参考缓冲器中。如先 前所说明,在步骤90中产生的帧速率上变换帧存储于所述正向参考缓冲器中。
编码器12将速率失真成本函数应用于所述运动估计结果102,并基于所述速率失 真成本函数而针对所述帧中的每一区块选择帧速率上变换模式或正常模式104。相对 于将帧速率上变换帧用作所述B帧的参考而产生的运动估计结果,编码器12针对每 一帧速率上变换模式应用所述速率失真成本函数。换句话说,如先前所说明,编码器 12可将所述速率失真成本函数应用于对应于每一帧速率上变换模式的运动估计结果 的信息。将所述第二帧速率上变换模式用作实例,编码器12可仅将由所述运动估计产 生的运动向量信息应用于所述速率失真成本函数。以此方式,编码器12可将非内插参 考帧中的每一区块与所述帧速率上变换帧的每一帧速率上变换模式的速率失真成本函 数结果相比较,以确定选择哪一模式106。然后,编码器12可选择所述帧速率上变换 模式或使给定区块的速率失真成本函数最小化或即便并非最小也至少产生最需要的速 率失真成本的正常的非帧速率上变换模式。
如果所述帧速率上变换模式中的一者使给定区块的速率失真成本函数最小化,那 么编码器12根据所选择的帧速率上变换模式来执行所述区块的可变长度编码编码 110。否则,编码器12使用所选择的非内插视频帧作为参考来执行所述区块的正常的 可变长度编码编码108。编码器12产生输出位串流88,所述输出位串流88传输到解 码器14。当编码器12使用正常的可变长度编码编码来编码所述B帧时,所述输出位 串流可符合H.264标准。然而,当编码器12使用所说明的帧速率上变换模式中的一者
23对所述B帧中的一个或一个以上区块进行编码时,由于对经编码的B帧的一个或一个 以上参数(例如,经编码区块图案及运动向量参数)所做出的调整,所述输出位串流 可能不符合H.264标准。
特定来说,所述输出位串流可能不符合的原因在于,当根据所述帧速率上变换模 式中的一者来编码所述B帧并使用一个或一个以上区块的经编码区块图案及运动向量 参数来指示所选择的帧速率上变换模式时,所述参考帧编码字段从N-1增加到N。尽 管所述输出位串流并不符合,但解码器14可高效地解码所述位串流。
图8是图解说明用于对根据本发明中所说明的自适应编码器辅助帧速率上变换技 术编码的视频帧进行解码的解码技术的流程图。大体来说,通过解码器14来执行图8 所示的解码技术来对从编码器14接收的经编码视频帧进行高效解码。当解码器14接 收经编码的视频帧120时,所述流程开始。
一旦接收经编码的视频帧120,解码器14便检查参考帧参数或编码字段122以确 定所述视频帧根据所说明的帧速率上变换模式中的一者来编码还是使用非内插视频帧 作为参考来编码。如果所述参考帧参数大于N-l (124),其中N是正向参考缓冲器 中非内插参考帧的数量,那么解码器14继续进行以根据所说明的帧速率上变换模式中 的一者对所述视频帧中的区块进行解码。然而,如果所述参考帧参数小于N-1,那么 解码器14将所指示的视频帧用作参考来对所述视频帧中的区块进行解码126。当所述 参考帧参数存储0与N-l之间的值时,所述值识别作为参考用于编码所述视频帧的非 内插参考帧。
然而,当所述参考帧参数存储值N时,解码器14检查所述视频帧的每一区块的 经编码区块图案及运动向量参数128,并基于所述经编码区块图案及运动向量参数来 确定用于编码相应区块的帧速率上变换模式130。以此方式,解码器14将所述参考帧 参数用作触发来确定何时以正常方式(即,符合H.264标准)使用所述经编码区块图 案及运动向量参数或指示用于对所述视频帧中的区块进行编码的帧速率上变换模式。 在确定所述帧速率上变换模式之后,解码器14可根据所述所选择的帧速率上变换模式 (即,在步骤130中确定的帧速率上变换模式)来解码所述视频帧。
图9是图解说明用于根据本发明中所说明的自适应编码器辅助帧速率上变换技术 来编码视频帧或其部分的数字视频编码设备136的框图。数字视频编码设备136可驻 存于图l的视频编码器(例如,视频编码器12)中,而且可通过硬件、软件或固件或 其任一适当组合来实现。如图9中所示,数字视频编码设备136可包括内插模块138, 其用于如本文所说明的那样内插帧速率上变换帧;编码模块140,其用于如本文所说 明的那样将所述帧速率上变换帧用作参考来编码视频帧;选择模块142,其用于如本 文所说明的那样选择一个或一个以上帧速率上变换模式来编码视频帧或其部分及调 整模块144,其用于如本文所说明的那样调整参数以指示用于编码所述视频帧或其部 分的帧速率上变换模式。在某些实例性配置中,模块138可实质上对应于图5的内插 模块50,模块140可实质上对应于图5的编码模块58,模块142可实质上对应于图5的模式选择模块52,而模块144可实质上对应于图5的信令模块56。
图10是图解说明用于对根据本发明中所说明的自适应编码器辅助帧速率上变换 技术编码的视频帧或其部分进行解码的数字视频解码设备146的框图。数字视频解码 设备146可驻存于图1的视频解码器(例如,视频解码器14)中,且可通过硬件、软 件或固件或其任一适当组合来实现。如图IO中所示,数字视频解码设备146可包括用 于如本文所说明的那样内插帧速率上变换帧的内插模块148。数字视频解码设备146 还可包括选择模块150,其用于如本文所说明的那样选择一个或一个以上帧速率上变 换模式来对数字元视频帧的至少一部分进行解码,例如基于针对经编码视频帧的至少 一部分而指示所选择的帧速率上变换模式的一个或一个以上参数。此外,数字视频解 码设备146可包括解码模块152,其用于将所述帧速率上变换帧用作参考而根据所选 择的帧速率上变换模式来对视频帧或其部分进行解码。
可在硬件、软件、固件或其任一组合中实施本文中所说明的技术。如果实施于软 件中,那么可部分通过用于数字视频编码的计算机程序产品(其包含计算机可读媒体) 来实现所述技术,其中所述计算机可读媒体包含用于致使计算机执行根据本发明的技 术的码。在此情况下,所述计算机可读媒体可包含随机存取存储器(RAM),例如同 步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储 器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光 学数据存储媒体及类似存储装置。
所述程序码可由计算机执行,例如通过一个或一个以上处理器(例如, 一个或一 个以上数字信号处理器(DSP))、通用微处理器、专用集成电路(ASIC)、现场可 编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路。在某些方面,本文中所说 明的功能性可提供在配置用于编码及解码的专用软件模块或硬件模块内,或并入到组 合的视频编码器-解码器(CODEC)中。
然而,可在不背离以上权利要求书的范围的情况下对本文中所说明的技术做出各 种修改。因此,上文所说明的特定方面及其它方面归属于以上权利要求书的范围内。
2权利要求
1、一种数字视频编码方法,其包含内插帧速率上变换(FRUC)视频帧;将所述帧速率上变换帧用作参考来对视频帧的至少一部分进行编码;针对所述经编码视频帧的所述至少一部分选择多个帧速率上变换模式中的一者;及调整所述经编码视频帧的所述至少一部分的一个或一个以上参数以指示所述所选择的帧速率上变换模式。
2、 如权利要求1所述的方法,其中选择多个帧速率上变换模式中的一者包含针 对所述经编码视频帧中的多个区块中的至少一者选择多个帧速率上变换模式中的一 者,且调整一个或一个以上参数包含调整与所述区块中的至少一者相关联的一个或一 个以上参数以指示相应区块的所述所选择的帧速率上变换模式。
3、 如权利要求2所述的方法,其中调整一个或一个以上参数包含调整所述区块 中的每一者的经编码区块图案(CBP)参数及运动向量(MV)参数以指示所述所选择 的帧速率上变换模式。
4、 如权利要求3所述的方法,其进一步包含将所述经编码区块图案参数设定为 零且将所述运动向量参数设定为零以指示第一模式,将所述经编码区块图案参数设定 为零且将所述运动向量参数设定为非零值以指示第二模式,将所述经编码区块图案参 数设定为非零值且将所述运动向量参数设定为零以指示第三模式,及将所述经编码区 块图案参数设定为非零值且将所述运动向量参数设定为非零值以指示第四模式。
5、 如权利要求1所述的方法,其中选择多个帧速率上变换模式中的一者包含基 于速率失真优化决策来选择所述帧速率上变换模式中的一者。
6、 如权利要求1所述的方法,其进一步包含将模式信息包括在所述经编码的视 频帧中,其中所述模式信息包含第一模式的无剩余信息及无运动向量信息、第二模式 的运动向量信息、第三模式的剩余信息及第四模式的剩余信息及运动向量信息。
7、 一种数字视频编码设备,其包含 内插模块,其内插帧速率上变换(FRUC)视频帧;编码模块,其将所述帧速率上变换帧用作参考来对视频帧的至少一部分进行编码;模式选择模块,其针对所述经编码视频帧的所述至少一部分选择多个帧速率上变 换模式中的一者;及信令模块,其调整所述经编码视频帧中的所述至少一部分的一个或一个以上参数 以指示所述所选择的帧速率上变换模式。
8、 如权利要求7所述的设备,其中所述模式选择模块针对所述经编码视频帧内的多个区块中的至少一者选择多个帧速率上变换模式中的一者,且所述信令模块调整 与所述区块中的每一者相关联的一个或一个以上参数以指示相应区块的所述所选择的 帧速率上变换模式。
9、 如权利要求8所述的设备,其中所述信令模块调整所述区块中每一者的经编 码区块图案(CBP)参数及运动向量(MV)参数以指示所述所选择的帧速率上变换模 式。
10、 如权利要求9所述的设备,其中所述信令模块将所述经编码区块图案参数设 定为零且将所述运动向量参数设定为零以指示第一模式,将所述经编码区块图案参数 设定为零且将所述运动向量参数设定为非零值以指示第二模式,将所述经编码区块图 案参数设定为非零值且将所述运动向量参数设定为零以指示第三模式,且将所述经编 码区块图案参数设定为非零值且将所述运动向量参数设定为非零值以指示第四模式。
11、 如权利要求7所述的设备,其中所述模式选择模块基于速率失真优化决策来 选择所述帧速率上变换模式中的一者。
12、 如权利要求7所述的设备,其中所述编码模块在所述经编码视频帧中包括模 式信息,其中所述模式信息包含第一模式的无剩余信息及无运动向量信息、第二模式 的运动向量信息、第三模式的剩余信息及第四模式的剩余信息及运动向量信息两者。
13、 一种用于对数字视频数据进行编码的处理器,所述处理器经配置以内插帧 速率上变换(FRUC)视频帧;将所述帧速率上变换帧用作参考来对视频帧的至少一 部分进行编码;针对所述经编码视频帧的所述至少一部分选择多个帧速率上变换模式 中的一者;及调整所述经编码视频帧的所述至少一部分的一个或一个以上参数以指示 所述所选择的帧速率上变换模式。
14、 一种用于数字视频编码的计算机程序产品,其包含 计算机可读媒体,其包含用于致使计算机进行以下操作的代码内插帧速率上变换(FRUC)视频帧;将所述帧速率上变换帧用作参考来对视频帧的至少一部分进行编码;针对所述经编码视频帧的所述至少一部分选择多个帧速率上变换模式中的一者;及调整所述经编码视频帧的所述至少一部分的一个或一个以上参数以指示所述 所选择的帧速率上变换模式。
15、 一种数字视频编码设备,其包含内插装置,其用于内插帧速率上变换(FRUC)视频帧;编码装置,其将所述帧速率上变换帧用作参考来对视频帧的至少一部分进行编码;选择装置,其用于针对所述经编码视频帧的所述至少一部分选择多个帧速率上变 换模式中的一者;及调整装置,其用于调整所述经编码视频帧的所述至少一部分的一个或一个以上参数以指示所述所选择的帧速率上变换模式。
16、 如权利要求15所述的设备,其中所述用于选择多个帧速率上变换模式中的 一者的装置包含用于针对所述经编码视频帧内的多个区块中的至少一者选择多个帧速 率上变换模式中的一者的装置,且所述用于调整一个或一个以上参数的装置包含用于 调整与所述区块中的每一者相关联的一个或一个以上参数以指示相应区块的所述所选 择的帧速率上变换模式的装置。
17、 如权利要求16所述的设备,其中所述用于调整一个或一个以上参数的装置 包含用于调整所述区块中的每一者的经编码区块图案(CBP)参数及运动向量(MV) 参数以指示所述所选择的帧速率上变换模式的装置。
18、 如权利要求17所述的设备,其进一步包含用于将所述经编码区块图案参 数设定为零且将所述运动向量参数设定为零以指示第一模式的装置;用于将所述经编 码区块图案参数设定为零且将所述运动向量参数设定为非零以指示第二模式的装置; 用于将所述经编码区块图案参数设定为非零且将所述运动向量参数设定为零以指示第 三模式的装置;及用于将所述经编码区块图案参数设定为非零且将所述运动向量参数 设定为非零以指示第四模式的装置。
19、 如权利要求15所述的设备,其中所述用于选择多个帧速率上变换模式中的 一者的装置包含用于基于速率失真优化决策来选择所述帧速率上变换模式中的一者的 装置。
20、 一种数字视频解码方法,其包含 内插帧速率上变换(FRUC)视频帧;选择多个帧速率上变换模式中的一者以基于经编码视频帧的至少一部分的指示 所述所选择的帧速率上变换模式的一个或一个以上参数来对所述经编码视频帧的所述 至少一部分进行解码;及将所述内插的帧速率上变换帧用作参考来根据所述所选择的帧速率上变换模式 对所述经编码视频帧的所述至少一部分进行解码。
21、 如权利要求20所述的方法,其中选择多个帧速率上变换模式中的一者包含 针对所述经编码视频帧中的多个区块中的至少一者选择多个帧速率上变换模式中的一 者,其中与所述区块中的每一者相关联的一个或一个以上参数指示相应区块的所述所选择的帧速率上变换模式。
22、 如权利要求21所述的方法,其中指示所述所选择的帧速率上变换模式的所 述参数包含所述区块中的每一者的经编码区块图案(CBP)参数及运动向量(MV)参 数。
23、 如权利要求22所述的方法,其中将所述经编码区块图案参数设定为零且将 所述运动向量参数设定为零以指示第一模式,将所述经编码区块图案参数设定为零且 将所述运动向量参数设定为非零以指示第二模式,将所述经编码区块图案参数设定为 非零且将所述运动向量参数设定为零以指示第三模式,且将所述经编码区块图案参数设定为非零且将所述运动向量参数设定为非零以指示第四模式。
24、 如权利要求20所述的方法,其中所述经编码视频帧包括模式信息,其中所 述模式信息包含第一模式的无剩余信息及无运动向量信息、第二模式的运动向量信息、 第三模式的剩余信息及第四模式的剩余信息及运动向量信息两者。
25、 一种数字视频解码设备,其包含-内插模块,其内插帧速率上变换(FRUC)视频帧;模式选择模块,其选择多个帧速率上变换模式中的一者以基于经编码视频帧的至 少一部分的指示所述所选择的帧速率上变换模式的一个或一个以上参数对所述经编码 视频帧的所述至少一部分进行解码;及解码模块,其将所述内插的帧速率上变换帧用作参考来根据所述所选择的帧速率上变换模式对所述经编码视频帧的所述至少一部分进行解码。
26、 如权利要求25所述的设备,其中所述模式选择模块针对所述经编码视频帧 内的多个区块中的至少一者选择多个帧速率上变换模式中的一者,其中与所述区块中 的每一者相关联的一个或一个以上参数指示相应区块的所述所选择的帧速率上变换模式。
27、 如权利要求26所述的设备,其中指示所述所选择的帧速率上变换模式的所 述参数包含所述区块中的每一者的经编码区块图案(CBP)参数及运动向量(MV)参 数。
28、 如权利要求27所述的设备,其中将所述经编码区块图案参数设定为零且将 所述运动向量参数设定为零以指示第一模式,将所述经编码区块图案参数设定为零且 将所述运动向量参数设定为非零以指示第二模式,将所述经编码区块图案参数设定为 非零且将所述运动向量参数设定为零以指示第三模式,且将所述经编码区块图案参数 设定为非零且将所述运动向量参数设定为非零以指示第四模式。
29、 如权利要求25所述的设备,其中所述经编码视频帧包括模式信息,其中所 述模式信息包含第一模式的无剩余信息及无运动向量信息、第二模式的运动向量信息、 第三模式的剩余信息及第四模式的剩余信息及运动向量信息两者。
30、 一种用于对数字视频数据进行解码的处理器,所述处理器经配置以 内插帧速率上变换(FRUC)视频帧;选择多个帧速率上变换模式中的一者以基于经编码视频帧的至少一部分的指示 所述所选择的帧速率上变换模式的一个或一个以上参数来对所述经编码视频帧的所述 至少一部分进行解码;及将所述内插的帧速率上变换帧用作参考来根据所述所选择的帧速率上变换模式 对所述经编码视频帧的所述至少一部分进行解码。
31、 一种用于数字视频解码的计算机程序产品,其包含 计算机可读媒体,其包含用于致使计算机进行以下操作的代码内插帧速率上变换(FRUC)视频帧;选择多个帧速率上变换模式中的一者以基于经编码视频帧的至少一部分的指 示所述所选择的帧速率上变换模式的一个或一个以上参数来对所述经编码视频帧 的所述至少一部分进行解码;及将所述内插的帧速率上变换帧用作参考来根据所述所选择的帧速率上变换模 式对所述经编码视频帧的所述至少一部分进行解码。
32、 一种数字视频解码设备,其包含内插装置,其用于内插帧速率上变换(FRUC)视频帧;选择装置,其用于选择多个帧速率上变换模式中的一者以基于经编码视频帧的至 少一部分的指示所述所选择的帧速率上变换模式的一个或一个以上参数来对所述经编码视频帧的所述至少一部分进行解码;及解码装置,其用于将所述内插的帧速率上变换帧用作参考来根据所述所选择的帧速率上变换模式对所述经编码视频帧的所述至少一部分进行解码。
33、 如权利要求32所述的设备,其中所述用于选择多个帧速率上变换模式中的 一者的装置包含用于针对所述经编码视频帧内的多个区块中的至少一者选择多个帧速 率上变换模式中的一者的装置,且其中与所述区块中的每一者相关联的一个或一个以 上参数指示相应区块的所述所选择的帧速率上变换模式。
34、 如权利要求33所述的设备,其中指示所述所选择的帧速率上变换模式的所 述参数包含所述区块中的每一者的经编码区块图案(CBP)参数与运动向量(MV)参 数。
35、 如权利要求34所述的设备,其中将所述经编码区块图案参数设定为零且将 所述运动向量参数设定为零以指示第一模式,将所述经编码区块图案参数设定为零且 将所述运动向量参数设定为非零以指示第二模式,将所述经编码区块图案参数设定为 非零且将所述运动向量参数设定为零以指示第三模式,且将所述经编码区块图案参数 设定为非零且将所述运动向量参数设定为非零以指示第四模式。
36、 如权利要求32所述的设备,其中所述经编码视频帧包括模式信息,其中所 述模式信息包含第一模式的无剩余信息及无运动向量信息、第二模式的运动向量信息、 第三模式的剩余信息及第四模式的剩余信息及运动向量信息两者。
全文摘要
本发明说明用于编码器辅助帧速率上变换(EA-FRUC)的自适应视频编码及解码技术。编码器将内插的帧速率上变换帧用作参考来选择性地对视频帧的至少一部分(例如,区块)进行编码。所述编码器在与将要编码的视频帧相同的时间实例处内插所述帧速率上变换帧的至少一部分,并(例如)基于速率失真(RD)针对所述部分选择多个帧速率上变换编码模式中的一者。所述编码器使用所选择的帧速率上变换编码模式、所述帧速率上变换参考帧及可指示的任何额外参考帧来对所述帧进行编码。解码器内插所述帧速率上变换帧,并在知道所述编码器曾使用的特定帧速率上变换模式的情况下使用所述帧速率上变换帧或进行解码。所述编码器经由所述经编码视频帧中的一个或一个以上现有参数来传送区块的帧速率上变换模式。
文档编号H04N7/46GK101411203SQ200780010701
公开日2009年4月15日 申请日期2007年3月29日 优先权日2006年4月4日
发明者涛 田, 方 石, 维贾雅拉克希米·R·拉韦恩德拉恩 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1