专利名称:使用所估计译码成本的视频译码模式选择的制作方法
技术领域:
本发明涉及视频译码,且更特定来说涉及估计用以译码视频序列的译码成本。
背景技术:
可将数字视频能力并入各种装置中,其中包括数字电视、数字直播系统、无线通 信装置、个人数字助理(PDA)、膝上型计算机、桌上型计算机、视频游戏机、数码 相机、数字记录装置、蜂窝式或卫星无线电电话等。数字视频装置在处理及传输视频 序列方面可提供相对于常规模拟视频系统的显著改善。
已建立不同的用于译码数字视频序列的视频译码标准。举例来说,移动图像专家 组(MPEG)已编制许多标准,包括MPEG-1、 MPEG-2及MPEG-4。其它实例包括国际 电信联盟(ITU) -T H.263标准及ITU-T H.264标准及其相似物、ISO/IEC MPEG-4, 部分IO,即高级视频译码(AVC)。这些视频译码标准通过以压縮方式译码数据来支 持视频序列的改善的传输效率。
许多当前技术利用基于块的译码。在基于块的译码中,将多媒体序列的帧划分成 离散的像素块,且基于与其它块的差来译码所述像素块,所述其它块可与所述像素块 位于相同帧或不同帧中。某些像素块(通常称作"宏块")包含子像素块群组。作为 实例,16x16宏块可包含四个8x8子块。所述子块可单独译码。举例来说,所述H.264 标准准许使用各种不同大小(例如,16x16、 16x8、 8x16、 8x8、 4x4、 8x4及4x8)来 译码块。此外,扩展来说,在宏块中可包括有任何大小(例如,2x16、 16x2、 2x2、 4x16 及8x2)的子块。
发明内容
在本发明的某些方面中, 一种用于处理数字视频数据的方法包含识别像素块的
剩余数据的在量化时将保持非零的一个或一个以上变换系数;至少基于所述所识别的 变换系数估计与所述剩余数据的译码相关联的位数量;及至少基于与译码所述剩余数 据相关联的所估计位数量来估计用于译码所述像素块的译码成本。
在某些方面中, 一种用于处理数字视频数据的设备包含变换模块,其为像素块 的剩余数据产生变换系数;位估计模块,其识别在量化时将保持非零的一个或一个以 上变换系数且至少基于所述所识别的变换系数估计与所述剩余数据的译码相关联的位 数量;及控制模块,其至少基于与译码所述剩余数据相关联的所估计位数量来估计用
10于译码所述像素块的译码成本。
在某些方面中, 一种用于处理数字视频数据的设备包含用于识别像素块的剩余 数据的在量化时将保持非零的一个或一个以上变换系数的装置;用于至少基于所述所 识别的变换系数估计与所述剩余数据的译码相关联的位数量的装置;用于至少基于与 译码所述剩余数据相关联的所估计位数量来估计用于译码所述像素块的译码成本的装 置。
在某些方面中, 一种用于处理数字视频数据的计算机程序产品包含其上具有指令 的计算机可读媒体。所述指令包括用于识别像素块的剩余数据的在量化时将保持非 零的一个或一个以上变换系数的代码;用于至少基于所述所识别的变换系数估计与所 述剩余数据的译码相关联的位数量的代码;及用于至少基于与译码所述剩余数据相关 联的所估计位数量来估计用于译码所述像素块的译码成本的代码。
在附图及以下说明中阐明一个或一个以上实例的细节。根据所述说明及图式以及 权利要求书,将明了其它特征、目的及优点。
图1是图解说明采用本文所述译码成本估计技术的视频译码系统的方块图。
图2是更详细地图解说明实例性编码模块的方块图。
图3是更详细地图解说明另一实例性编码模块的方块图。
图4是图解说明编码模块基于所估计的译码成本选择编码模式的实例性操作的流 程图。
图5是图解说明编码模块在不量化或编码块的剩余数据的情况下估计与译码所述 剩余数据相关联的位数量的实例性操作的流程图。
图6是图解说明编码模块在不编码块的剩余数据的情况下估计与译码所述剩余数 据相关联的位数量的实例性操作的流程图。
具体实施例方式
本发明描述用于使用所估计译码成本的视频译码模式选择的技术。举例来说,为 提供高压縮效率,编码装置可尝试选择以高效率译码像素块的数据的译码模式来译码 所述块。为此,所述编码装置可至少基于对可能模式的至少一部分的译码成本的估计 执行译码模式选择。根据本文所述的技术,所述编码装置在不实际译码块的情况下估 计不同模式的译码成本。实际上,在一些方面中,所述编码模块装置可在不针对每一 模式量化所述块的数据的情况下估计所述模式的译码成本。以此方式,本发明的译码 成本估计技术减少执行有效模式选择所需要的在计算上密集的计算量。
图1是图解说明多媒体译码系统10的方块图,所述系统采用如本文所述的译码 成本估计技术。译码系统10包括通过传输信道16连接的编码装置12及解码装置14。
11编码装置12编码一个或一个以上数字多媒体数据序列,且通过传输信道16将所述经 编码的序列传输到解码装置14,解码装置14进行解码且可能将其提供给解码装置14 的用户。传输信道16可包含任一有线或无线媒体,或其组合。
编码装置12可形成用于广播一个或一个以上多媒体数据信道的广播网络组件的 部分。作为实例,编码装置12可形成用以将一个或一个以上经编码多媒体数据信道广 播到无线装置的无线基站、服务器或任一基础结构节点的部分。在此情况下,编码装 置12可将经编码数据传输到多个无线装置,例如解码装置14。然而,为简单起见, 在图1中仅图解说明单个解码装置14。或者,编码装置12可包含手机,所述手机局 部传输所捕获的视频用于视频电话或其它类似应用。
解码装置14可包含用户装置,所述用户装置接收编码装置12所传输的经编码多 媒体数据且解码所述多媒体数据供提供给用户。通过举例的方式,解码装置14可实施 为如下装置的部分数字电视、无线通信装置、赌博装置、便携式数字助理(PDA)、 膝上型计算机或桌上型计算机、数字音乐及视频装置(例如,所销售的"iPod"商标 的装置)或无线电电话(例如,蜂窝式、卫星或基于陆地的无线电电话)或经配备用 于视频及/或音频串流、视频电话或两者的其它无线移动终端。解码装置14可与移动 或静止装置相关联。在广播应用中,编码装置12可将经编码的视频及/或音频传输到 与多个用户相关联的解码装置14。
在一些方面中,对于双向通信应用,多媒体译码系统10可根据会话初始协议 (SIP)、国际电信联盟标准的(ITU-T)H.323部分的标准、ITU-T H.324标准或其它标 准来支持视频电话或视频串流。对于单向或双向通信,编码装置12可根据例如移动图 像专家组(MPEG) -2、 MPEG-4、 ITU-T H.263或ITU-T H.264 (其对应于MPEG-4 第10部分的高级视频译码(AVC))等视频压缩标准产生经编码的多媒体数据。虽 然在图1中未显示,编码装置12及解码装置14可分别与音频编码器及解码器集成在 一起,且包括适当的多路复用器-多路分用器(MUX-DEMUX)模块或其它硬件、固 件或软件,以处置共用数据序列或单独数据序列中音频及视频两者的编码。如果适当, MUX-DEMUX模块可符合ITUH.223多路复用器协议或其它协议,例如用户数据报协 议(UDP)。
在某些方面中,本发明涵盖应用于增强型H.264视频译码以在使用唯正向链路 (FLO)空中接口规范的地面移动多媒体多播(TM3)系统中递送即时多媒体服务, "地面移动多媒体多播的唯正向链路空中接口规范"已在2006年8月出版为技术标准 TIA-1099 ( "FLO"规范)。然而,本发明中所描述的译码成本估计技术并非局限于 任一特定类型的广播、多播、单播或点-对-点系统。
如在图1中所图解说明,编码装置12包括编码模块18及传输器20。编码模块 18接收一个或一个以上输入多媒体序列(在视频编码的情况下,所述输入多媒体序列 可包括一个或一个以上数据帧)且选择性地编码所接收多媒体序列的帧。编码模块18 从一个或一个以上源(在图1中未显示)接收输入多媒体序列。在一些方面中,编码模块18可从一个或一个以上视频内容提供者(例如)通过卫星接收输入多媒体序列。
作为另一实例,编码模块18可从集成在编码装置12内或耦合到编码装置12的图像捕 获装置(图1中未显示)中接收多媒体序列。或者,编码模块18可从编码装置12内 或耦合到编码装置12的存储器或档案库(图1中未显示)中接收多媒体序列。所述多 媒体序列可包含将要作为广播或根据需要译码及传输的现场即时或近即时视频、音频 或视频及音频序列,且可包含将要作为广播或根据需要译码及传输的经预译码及存储 的视频、音频或视频及音频序列。在一些方面中,所述多媒体序列的至少一部分可以 是计算机产生的,例如在赌博的情况下。
在任何情况下,编码模块18编码帧并通过传输器20将多个经译码帧传输到解码 装置14。编码模块18可将输入多媒体序列的帧编码为帧内译码帧、帧间译码帧或其 组合。使用帧内译码技术编码的帧不参考其它帧进行译码,且通常称作内("I")帧。 使用帧间译码技术编码的帧参考一个或一个以上其它帧进行译码。所述帧间译码帧可 包括一个或一个以上预测("P")帧、双向("B")帧或其组合。P帧参考至少一 个临时先前帧进行编码,而B帧参考至少一个临时未来帧进行编码。在一些情况下, B帧可参考至少一个临时未来帧及至少一个临时先前帧进行编码。
编码模块18可进一步经配置以将帧划分成多个块且单独地编码所述块中的每一 者。作为实例,编码模块18可将所述帧划分成多个16x16块。某些通常称作"宏块" 的块包含子划分块(本文称作"子块")群组。作为实例,16x16宏块可包含四个8x8 子块或其它子划分块。举例来说,H.264标准准许使用各种不同大小(例如,16x16、 16x8、 8x16、 8x8、 4x4、 8x4及4x8)对块进行编码。此外,扩展来说,在宏块中可包 括任何大小的子块,例如2xl6、 16x2、 2x2、 4x16、 8x2等。因此,编码模块18可经 配置以将所述帧划分成若干块且将所述像素块中的每一者编码为帧内译码块或帧间译 码块,其每一者可通常称作块。
编码模块18可支持多个译码模式。所述模式中的每一者可对应于块大小及译码 技术的不同组合。举例来说,在H.264标准的情况下,存在七个帧间译码模式及十三 个帧内译码模式。所述七个不同块大小的帧间译码模式包括SKIP模式、16x16模式、 16x8模式、8x16模式、8x8模式、8x4模式、4x8模式及4x4模式。所述十三个帧内 译码模式包括:INTRA 4x4模式,关于所述模式,有九个可能内插方向;及INTRA 16x16 模式,关于所述模式,有4个可能内插方向。
为提供高压缩效率,根据本发明的各种方面,编码模块18尝试选择以高效率译 码块的数据的模式。为此,编码模块18针对所述块中的每一者估计所述模式的至少一 部分的译码成本。编码模块18依据比率及失真估计译码成本。根据本文所述的技术, 编码模块18在不实际译码所述块来确定比率及失真度量的情况下估计所述模式的译 码成本。以此方式,译码模式18可在不针对每一模式执行块的数据的在计算上复杂的 译码的情况下至少基于所述译码成本来选择所述模式中的一者。常规模式选择需要使 用所述模式中的每一者对数据进行实际译码来确定选择哪一个模式。因此,所述技术通过在不针对所述模式中的每一者实际译码数据的情况下基于译码成本选择模式来节省时间及计算资源。实际上,在一些方面中,编码模块18可在不针对每一模式量化块的数据的情况下估计所述模式的译码成本。以此方式,本发明的译码成本估计技术减少执行有效模式选择所需要的在计算上密集的计算量。
编码装置12应用选定模式来译码所述帧的块且通过传输器20传输所述经译码的数据帧。传输器20可包括适当的调制解调器及驱动器电路软件及/或固件以通过传输信道16传输经编码的多媒体。对于无线应用,传输器26包括RF电路以传输携载经编码多媒体数据的无线数据。
解码装置14包括接收器22及解码模块24。解码装置14通过接收器22从编码装置12接收经编码数据。与传输器20 —样,接收器22可包括适当的调制解调器及驱动器电路软件及/或固件以通过传输信道16接收经编码的多媒体,且可包括RF电路以在无线应用中接收携载经编码多媒体数据的无线数据。解码模块24解码通过接收器22接收的经译码数据帧。解码装置14可进一步通过显示器(未显示)将所述经解码的数据帧提供给用户,所述显示器可集成在解码装置14内或提供为通过有线或无线连接耦合到解码装置14的离散装置。
在一些实例中,编码装置12及解码装置14各自可包括交互的传输及接收电路,以便对于通过传输信道16传输的经编码多媒体及其它信息,每一者均可用作传输装置及接收装置。在此情况下,编码装置12及解码装置14两者可传输及接收多媒体序列且因此参与双向通信。换句话说,可将译码系统10的所图解说明的组件集成为编码器/解码器(CODEC)的部分。
编码装置12及解码装置14中的组件是可用于实施本文所述技术的那些装置的实例。然而,如果需要,编码装置12及解码装置14可包括许多其它组件。举例来说,编码装置12可包括多个编码模块,其每一者接收一个或一个以上多媒体数据序列且根据本文所述技术编码相应的多媒体数据序列。在此情况下,编码装置12可进一步包括至少一个多路复用器以组合所述数据段以用于传输。另外,如果适用,编码装置12及解码装置14可包括适当的调制、解调、变频、滤波及放大器组件以用于传输及接收经编码的视频,其中包括射频(RF)无线组件及天线。然而,为便于图解说明,所述组件未显示于图1中。
图2是更详细地图解说明实例性编码模块30的方块图。编码模块30可(举例来说)表示图1的编码装置12的编码模块18。如图2中所图解说明,编码模块30包括控制模块32,其从一个或一个以上源接收一个或一个以上多媒体序列的输入多媒体数据帧,且处理所接收多媒体序列的所述帧。特定来说,控制模块32分析传入的多媒体序列帧且基于对所述帧的分析来确定编码还是跳过所述传入帧。在一些方面中,编码装置12可使用帧跳跃以减小的帧速率编码所述多媒体序列中所含的信息来节约跨传输信道16的带宽。
而且,对于将编码的传入帧,控制模块32也可经配置以确定将所述帧编码为I帧、P帧或B帧。控制模块32可确定在多媒体序列的开始、在所述序列的场景变化处将传入帧编码为I帧,供用作信道切换帧或供用作内刷新帧。否则,控制模块32将所述帧编码为经帧间译码的帧(即P帧或B帧)以减小与译码所述帧相关联的带宽量。
控制模块32可进一步经配置以将所述帧划分成多个块且为所述块中的每一者选择译码模式,例如上文所述的H.264译码模式中的一者。如下文将详细描述,编码模块30可估计所述模式的至少一部分的译码成本以辅助选择所述译码模式中的最有效一者。在选择用于译码所述块中的一者的译码模式之后,编码模块30产生所述块的剩余数据。对于经选择将进行帧内译码的块,空间预测模块34产生所述块的剩余数据。空间预测模块34可(举例来说)使用一个或一个以上邻近块及对应于所述选定帧内译码模式的内插方向性通过内插来产生所述块的预测版。空间预测模块34然后可计算所述输入帧的所述块与所述经预测块之间的差。此差称作剩余数据或剩余系数。
对于经选择将进行帧间译码的块,运动估计模块36及运动补偿模块38产生所述块的剩余数据。特定来说,运动估计模块36识别至少一个参考帧且搜索所述参考帧中的最匹配所述输入帧中的所述块的块。运动估计模块36计算运动向量,以表示所述输入帧中的所述块的位置与所述参考帧中的所述所识别块的位置之间的偏移。运动补偿模块38计算所述输入帧的所述块与所述参考帧中所述运动向量所指向的所述所识别块之间的差。此差是所述块的剩余数据。
编码模块30还包括变换模块40、量化模块46及熵编码器48。变换模块40根据变换函数变换所述块的剩余数据。在一些方面中,变换模块40对剩余数据应用整数变换,例如4x4或8x8整数变换或离散余弦变换(DCT)以产生所述剩余数据的变换系数。量化模块46量化所述变换系数且将所述经量化的变换系数提供到熵编码器48。熵编码器48使用例如上下文自适应可变长度译码(CAVLC)或上下文自适应二进制算术译码(CABAC)等上下文自适应译码技术来编码经量化的变换系数。如下文将详细描述,熵编码器48应用选定模式来译码所述块的数据。
熵编码器48也可编码与所述块相关联的额外数据。举例来说,除剩余数据外,熵编码器48还可编码所述块的一个或一个以上运动向量、指示所述块的译码模式的识
别符、 一个或一个以上参考帧索引、量化参数(QP)信息、所述块的切片信息等。熵编码器48可从编码模块30内的其它模块接收此额外块数据。举例来说,运动向量信息可接收自运动估计模块36,而块模式信息可接收自控制模块32。在一些方面中,熵编码器48可使用固定长度译码(FLC)技术或通用可变长度译码(VLC)技术(例如,指数哥伦布译码("Exp-Golomb"))来译码此额外信息的至少一部分。或者,熵编码器48可使用上文所述的上下文自适应译码技术(即CABAC或CAVLC)编码所述额外块数据的一部分。
为辅助控制模块32选择用于所述块的模式,控制模块32估计所述可能模式的至少一部分的译码成本。在某些方面中,控制模块32可在所述可能译码模式中的每一者中估计译码所述块的成本。举例来说,可根据在给定模式 与译码所述块相关联的位数量与在那个模式中产生的失真量的比值来估计成本。举例来说,在H.264标准的情况下,对于经选择进行帧间译码的块,控制模块32可估计二十二个不同译码模式(帧间译码模式及帧内译码模式)的译码成本,且对于经选择进行帧内译码的块,控制模块32可估计十三个不同译码模式的译码成本。在其它方面中,控制模块32可使用另一模式选择技术来最初减小可能模式组,且然后利用本发明的技术来估计所述组中剩余模式的译码成本。换句话说,在一些方面中,控制模块32在应用所述成本估计技术之前可縮小模式可能性的数量。有利地,编码模块30在针对不同模式不实际译码所述块的数据的情况下估计所述模式的译码成本,从而降低与所述译码决策相关联的计算开销。实际上,在图2所图解说明的实例中,编码模块30在不针对不同模式量化所述块的数据的情况下可估计译码成本。以此方式,本发明的所述译码成本估计技术减少计算译码成本所需要的在计算上密集的计算量。特定来说,不必为选择所述模式中的一者而使用各种译码模式来编码所述块。
如本文将更详细地描述,控制模块32根据如下方程式估计每一所分析模式的译码成本
J-D+义膨cfe.凡 (1)
其中J是所估计的译码成本,D是所述块的失真度量,Awo&是相应模式的拉格朗日(Lagrange)乘数,且i 是所述块的比率度量。失真度量(D)可(举例来说)包含绝对差和(SAD)、平方差和(SSD)、绝对变换差和(SATD)、平方变换差和(SSTD)等。比率度量(/ )(举例来说)可以是给定块中与译码所述数据相关联的位量。如上文所述,可使用不同的译码技术译码不同类型的块数据。因此,可将方程式(l)重写成如下形式
), (2)
其中凡。 , ,表示使用上下文自适应译码技术进行译码的块数据的比率度量,且^^一,^表示使用非上下文自适应译码技术进行译码的块数据的比率度量。在H.264标准中,举例来说,可使用上下文自适应译码(例如,CAVLC或CABAC)来译码剩余数据。例如运动向量、块模式等其它块数据可使用FLC或通用VLC技术(例如,Exp-Golomb)进行译码。在此情况下,方程式(2)可重写成如下形式
其中/^"^^/表示使用上下文自适应译码技术译码所述剩余数据的比率度量,
例如与译码所述剩余数据相关联的位数量,且/ W/z"表示使用FLC或通用VLC技术译码其它块数据的比率度量,例如与译码其它块数据相关联的位数量。
在计算所估计的译码成本(J)时,编码模块30可相对简单地确定与使用FLC或通用VLC译码块数据相关联的位数量,即/ 。,m。编码模块30可(举例来说)使用译码表来识别与使用FLC或通用VLC译码所述块数据相关联的位数量D所述译码表可(举例来说)包括多个码字及与译码所述码字相关联的位数量。然而,确定与译码所述剩余数据相关联的位数量(/ ra,rfwa/)由于上下文自适应译码随数据的上下文而变的自适应性质而提出更加困难的任务。为确定与译码所述剩余数据(或无论何种数据正在进行上下文自适应译码)相关联的精确的位数量,编码模块30必须变换所述剩余数据、量化所述经变换的剩余数据且编码所述经变换量化的剩余数据。然而,根据本发明的技术,位估计模块42可在不实际译码所述剩余数据的情况下估计与使用所述上下
文自适应译码技术译码所述剩余数据相关联的位数量。
在图2所图解说明的实例中,位估计模块42使用剩余数据的变换系数估计与译码所述剩余数据相关联的位数量。因此,对于将要分析的每一模式,编码模块30仅需要计算所述剩余数据的变换系数即可估计与译码所述剩余数据相关联的位数量。因此,编码模块30通过不针对所述模式的中每一者量化所述变换系数或编码经量化的变换系数来减小确定与译码所述剩余数据相关联的位数量所需要的计算资源及时间的量。
位估计模块42分析变换模块40所输出的变换系数以识别在量化之后将保持非零的一个或一个以上变换系数。特定来说,位估计模块42比较所述变换系数中的每一者与对应阈值。在一些方面中,可依据编码模块30的.QP计算所述对应阈值。位估计模块42将大于或等于其对应阈值的变换系数识别为在量化之后将保持非零的变换系数。
位估计模块42至少基于经识别在量化之后保持非零的变换系数来估计与译码所
述剩余数据相关联的位数量。特定来说,位估计模块42确定在量化后仍存在的非零变
换系数的数量。位估计模块42还对经识别在量化后仍存在的变换系数的绝对值的至少
一部分求和。位估计模块42然后使用如下方程式估计所述剩余数据的比率度量,即与
译码所述剩余数据相关联的位数量
L" = a, * S47Z) + "2 * WZ", + "3, (4)
其中s^rz)是经预测在量化后仍存在的非零变换系数的至少一部分绝对值的和,ivz^,是经预测在量化后仍存在的所估计的非零变换系数数量,且",、^及^是系数。
可使用最小二乘估计计算系数"/、 "2及"3。在方程式(4)的实例中,虽然所述变换
系数的和是绝对变换差的和SATD,但也可使用例如SSTD等其它差系数。
下文图解说明4x4块的A^,血。/的实例性计算。可对不同大小的块执行类似计算。编码模块30计算所述剩余数据的变换系数的矩阵。下文图解说明实例性变换系数矩阵。
<formula>formula see original document page 17</formula>
变换系数矩阵M)的行数量等于所述块中像素的行数量,且所述变换系数矩阵的列数量等于所述块中像素的列数量。因此,在以上实例中,所述变换系数矩阵的尺寸是
4x4以与4x4块对应。所述变换系数矩阵的每一元^"》是相应剩余系数的变换。
在量化期间,矩阵^4中具有较小值的变换系数在量化之后往往变成零。同样,编码模块30比较剩余变换系数的矩阵^与阈值矩阵以预测矩阵」的哪些变换系数在量化之后将保持非零。下文图解说明实例性阈值矩阵
<formula>formula see original document page 18</formula>
可依据QP值计算矩阵C。矩阵C的尺寸与矩阵的尺寸相同。举例来说,在H.264标准的情况下,可基于如下方程式计算矩阵C的元
<formula>formula see original document page 18</formula>
其中2S/rWg/V是依据QP确定縮放的参数,丄eve/-—(9,"f/,"&"是所述矩阵的行i及列j处的元的死区参数且也是QP的函数,"w/—&^/</,"(^/^是所述矩阵的行i及列j处的元的乘数因子且也是QP的函数,/对应于矩阵的行,y'对应于矩阵的列,且g尸对应于编码模块30的量化参数。在实例性方程式(5)中,在H.264译码标准中,可依据操作的QP来界定所述变量。其它方程式可用于确定所述变量中的哪些在量化之后仍将存在,且在其它译码标准中可基于所述特定标准所采用的量化方法进行界定。在一些方面中,编码模块30可经配置以在QP值的范围内操作。在此情况下,编码模块30可预先计算多个比较矩阵,所述比较矩阵与所述QP值范围中所述QP值中的每一者相对应。编码模块30选择与编码模块30的所述QP相对应的比较矩阵以与所述变换系数矩阵相比较。
变换系数矩阵^与阈值矩阵C之间的比较结果是由一与零构成的矩阵。在以上实
例中,所述比较形成如下所图解说明的由一与零构成的矩阵
<formula>formula see original document page 18</formula>
其中一表示识别为在量化后可能存在(即可能保持非零)的变换系数的位置,且零表示在量化后可能不存在(即可能变成零)的变换系数的位置。如上文所述,当矩
阵^的变换系数的绝对值大于或等于矩阵c的对应阈值时,将所述变换系数识别为可
能保持非零。
使用所形成的一与零矩阵,位估计模块42确定在量化后仍将存在的变换系数的数量。换句话说,位估计模块42确定识别为在量化之后保持非零的变换系数的数量。位估计模块42可根据如下方程式确定识别为在量化之后保持非零的变换系数的数量
<formula>formula see original document page 18</formula>
其中A^^,是非零变换系数的所估计数^在上述实例中,iVZ^,等于8。位估计模块42还计算经估计在量化后仍存在的所述变换系数的绝对值的至少一
部分的和。在某些方面中,位估计模块42可根据如下方程式计算所述变换系数的绝对
值的至少一部分的和
<formula>formula see original document page 19</formula>
其中W7D是识别为在量化之后保持非零的所有变换系数的和,辑/,》是行Z及列 乂处矩阵M的值,且"是行/及列y'处矩阵^的值,且afe(x)是计算x的绝对值的 绝对值函数。在上述实例中,5^rZ)等于2361。其它差度量可用于变换系数,例如SSTD。
使用这些值,位估计模块42使用以上方程式(3)近似与译码所述剩余系数相关 联的位数量。控制模块32可使用i ^^。,的估计来计算所述模式的总译码成本的估计。 编码模块30可以相同方式估计一个或一个以上其它可能模式的总译码成本,且然后选 择具有最小译码成本的模式。编码模块30然后应用选定译码模式来译码所述帧的所述 块。
上述技术可个别地或两个或更多个此类技术或所有此类技术一起实施在编码装 置12中。编码模块30中的组件是适于实施本文所述技术的那些组件的实例性组件。 然而,如果需要,编码模块30可包括许多其它组件,及组合上述一个或一个以上模块 的功能性的较少数量的组件。编码模块30中的所述组件可实施为一个或一个以上处理 器、数字信号处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散 逻辑、软件、硬件、固件或其任一组合。以模块形式描绘不同的特征旨在突出编码模 块30的不同功能方面且未必暗示必须通过单独的硬件及/或软件组件来实现所述模块。 而是,可将与一个或一个以上模块相关联的功能性集成在共用或单独的硬件或软件组 件内。
图3是图解说明另一实例性编码模块50的方块图。图3的编码模块50大致类似 于图2的编码模块30,只是编码模块50的位估计模块52在对剩余数据的变换系数进 行量化之后估计与译码所述剩余数据相关联的位数量。特定来说,在变换系数的量化 之后,位估计模块52使用如下方程式估计与译码所述剩余系数相关联的位数量<formula>formula see original document page 19</formula>
其中&47^/)是非零的经量化变换系数的绝对值的和,A^Zw是非零的经量化变换 系数的数量,且",、^及q是系数。可使用最小二乘估计计算系数fl/、 ^及q。虽然 编码模块50在估计与译码所述剩余数据相关联的位数量之前量化所述变换系数,但编 码模块50仍在不实际译码所述块的数据的情况下估计所述模式的译码成本。因此,仍 减小在计算上密集的计算量。
图4是图解说明编码模块的实例性操作的流程图,例如图2的编码模块30及/或 图3的编码模块50至少基于所估计的译码成本选择编码模式。然而,出于实例性的目 的,将根据编码模块30论述图4。编码模块30选择将针对其估计译码成本的模式(60)。编码模块30产生当前块的失真度量(62)。举例来说,编码模块30可基于所述块与 至少一个参考块之间的比较计算失真度量。在经选择将进行帧内译码的块的情况下, 所述参考块可以是所述相同帧内的邻近块。另一方面,对于经选择将进行帧间译码的 块,所述参考块可以是来自邻近帧的块。所述失真度量可以是(举例来说)SAD、 SSD、 SATD、 SSTD或其它类似失真度量。
在图4的实例中,编码模块30确定与使用非上下文自适应译码技术译码所述数 据的所述部分相关联的位数量(64)。如上文所述,此数据可包括所述块的一个或一 个以上运动向量、指示所述块的译码模式的识别符、 一个或一个以上参考帧索引、QP 信息、所述块的切片信息等。编码模块30可(举例来说)使用译码表来识别与使用 FLC、通用VLC或其它非上下文自适应译码技术译码所述数据相关联的位数量。
编码模块30估计及/或计算与使用上下文自适应译码技术译码所述数据的所述部 分相关联的位数量(66)。举例来说,在H.264标准的上下文中,编码模块30可估计 与使用上下文自适应译码来译码所述剩余数据相关联的位数量。编码模块30可在不实 际执行译码所述剩余数据的情况下估计与译码所述剩余数据相关联的位数量。在某些
方面中,编码模块30可在不量化所述剩余数据的情况下估计与译码所述剩余数据相关 联的位数量。举例来说,编码模块30可计算所述剩余数据的变换系数,且识别在量化 之后可能保持非零的变换系数。使用这些所识别的变换系数,编码模块30估计与译码 所述剩余数据相关联的位数量。在其它方面中,编码模块30可量化所述变换系数且至 少基于所述经量化的变换系数来估计与译码所述剩余数据相关联的位数量。在任一情 况下,编码模块30通过估计所需要的位数量来节省时间及处理资源。如果有足够的计 算资源,那么编码模块30可计算而非估计所需要的实际位数量。
编码模块30估计及/或计算以选定模式译码所述块的总译码成本(68)。编码模 块30可基于失真度量、与译码所述数据的使用非上下文自适应译码译码的部分相关联 的位及与译码所述数据的使用上下文自适应译码译码的部分相关联的位估计译码所述 块的总译码成本。举例来说,编码模块30可使用以上方程式(2)或(3)估计以选定 模式译码所述块的总译码成本。
编码模块30确定是否存在将针对其估计译码成本的任何其它译码模式(70)。 如上文所述,编码模块30估计所述可能模式的至少一部分的译码成本。在某些方面中, 编码模块30可在所述可能译码模式中的每一者中估计译码所述块的成本。举例来说, 在H.264标准的上下文中,对于经选择进行帧间译码的块,编码模块30可估计二十二 个不同译码模式(帧间译码及帧内译码模式)的译码成本,且对于经选择进行帧内译 码的块,编码模块30可估计十三个不同译码模式的。在其它方面中,控制模块30可 使用另一模式选择技术来最初减小可能模式组,且然后利用本发明的技术来估计所述 经减小的译码模式组的译码成本。
当存在更多将针对其估计译码成本的译码模式时,编码模块30选择下一译码模 式且在所述选定译码模式中估计译码所述数据的成本。当不存在更多将针对其估计译
20码成本的译码模式时,编码模块30至少基于所述所估计的译码成本选择所述模式中的 一者用于译码所述块(72)。在一个实例中,译码模块30可选择具有最小所估计译码 成本的译码模式。在选择模式时,译码模块30可应用所述选定模式译码所述特定块 (74)。所述过程可针对给定帧中的额外块继续。作为实例,所述过程可继续直到已 使用根据本文所述技术选择的译码模式译码所述帧中的所有块。而且,所述过程可继 续直到已使用高效率模式译码多个帧的块。
图5是图解说明编码模块(例如图2的编码模块30)的实例性操作的流程图,其 估计与译码块的剩余系数相关联的位数量。在选择所述译码模式中的将针对其估计译 码成本的一者之后,编码模块30针对所述选定模式产生所述块的剩余数据(80)。举 例来说,对于经选择将进行帧内译码的块,空间预测模块34基于所述块与所述块的预 测版的比较产生所述块的剩余数据。或者,对于经选择将进行帧间译码的块,运动估 计模块36及运动补偿模块38基于所述块与参考帧中对应块之间的比较计算所述块的 剩余数据。在一些方面中,所述剩余数据可能已经经计算以产生所述块的失真度量。 在此情况下,编码模块30可从存储器检索所述剩余数据。
变换模块40根据变换函数变换所述块的剩余系数以产生所述剩余数据的变换系 数(82)。变换模块40可(举例来说)对剩余数据应用4x4或8x8整数变换或DCT 变换以产生所述剩余数据的变换系数。位估计模块42比较所述变换系数中的一者与对 应阈值以确定所述变换系数是否大于或等于所述阈值(84)。可根据编码模块30的 QP计算与所述变换系数相对应的阈值。如果所述变换系数大于或等于所述对应阈值, 那么位估计模块42将所述变换系数识别为在量化之后将保持非零的系数(86)。如果 所述变换系数小于所述对应阈值,那么位估计模块42将所述变换系数识别为在量化之 后将变成零的系数(88)。
位估计模块42确定对于所述块的所述剩余数据是否存在额外的变换系数(90)。 如果存在所述块的额外变换系数,那么位估计模块42选择所述系数中的另一者并将其 与对应阈值进行比较。如果不存在将分析的额外变换系数,那么位估计模块42确定经 识别在量化之后保持非零的系数数量(92)。位估计模块42也对经识别在量化之后保 持非零的变换系数的绝对值的至少一部分求和(94)。位估计模块42使用所确定的非 零系数的数量及非零系数的部分的和估计与译码所述剩余数据相关联的位数量(96)。 举例来说,位估计模块42可使用以上方程式(4)估计与译码所述剩余数据相关联的 位数量。以此方式,编码模块30在不量化或编码所述剩余数据的情况下在所述选定模 式中估计与译码所述块的所述剩余数据相关联的位数量。
图6是图解说明编码模块的实例性操作的流程图,例如图3的编码模块50估计 与译码块的剩余系数相关联的位数量。在选择所述译码模式中的将针对其估计译码成 本的一者之后,编码模块50产生所述块的剩余系数(100)。举例来说,对于经选择 将进行帧内译码的块,空间预测模块34基于所述块与所述块的预测版的比较计算所述 块的剩余数据。或者,对于经选择将进行帧间译码的块,运动估计模块36及运动补偿模块38基于所述块与参考帧中对应块之间的比较计算所述块的剩余数据。在一些方面 中,所述剩余系数可能己经经计算以产生所述块的失真度量。
变换模块40根据变换函数变换所述块的剩余系数以产生所述剩余数据的变换系 数(102)。变换模块40可(举例来说)对剩余数据应用4x4或8x8整数变换或DCT 变换以产生经变换的剩余系数。量化模块46根据编码模块50的QP量化所述变换系 数(104)。
位估计模块52确定非零的经量化变换系数的数量(106)。位估计模块42也对 非零级或经量化变换系数的绝对值求和(108)。位估计模块52使用所计算的非零经 量化变换系数的数量及非零经量化变换系数的和估计与译码所述剩余数据相关联的位 数量(110)。举例来说,位估计模块52可使用以上方程式(4)估计与译码所述剩余 系数相关联的位数量。以此方式,编码模块在不编码所述剩余数据的情况下在所述选 定模式中估计与译码所述块的所述剩余数据相关联的位数量。
基于本文所述的教示,应了解,可不依赖于任何其它方面来实施本文所揭示的方 面且可以各种方式来组合这些方面中的两者或更多者。本文所述的技术可实施在硬件、 软件、固件或其任一组合中。如果实施在硬件中,那么可使用数字硬件、模拟硬件或 其组合实现所述技术。如果实施在软件中,那么可至少部分地通过计算机程序产品实 现所述技术,所述计算机程序产品包括其上存储有指令或代码的计算机可读媒体。与 所述计算机程序产品的计算机可读媒体相关联的所述指令或代码可由计算机来执行, 例如,由例如一个或一个以上数字信号处理器(DSP)、通用微处理器等一个或一个 以上处理器、ASIC、 FPGA或其它等效集成电路或离散逻辑电路来执行。
通过举例而非限制的方式,所述计算机可读媒体可包含RAM (例如,同步动态 随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器 (NVRAM) 、 ROM、电可擦除可编程只读存储器(EEPROM) 、 EEPROM、快闪存 储器、CD-ROM或其它光学磁盘存储器件、磁性磁盘存储器件或其它磁性存储装置, 或任一其它可用来携载或存储呈指令或数据结构形式且可由计算机存取的期望程序代 码的有形媒体。
本文已描述多个方面及实例。然而,也可对这些实例做各种修改,且本文所提供 的原理也可应用于其它方面。这些及其它方面归属于以上权利要求书的范围内。
2权利要求
1、一种用于处理数字视频数据的方法,所述方法包含识别像素块的剩余数据的在量化时将保持非零的一个或一个以上变换系数;至少基于所述所识别的变换系数估计与所述剩余数据的译码相关联的位数量;及至少基于与译码所述剩余数据相关联的所述所估计位数量来估计用于译码所述像素块的译码成本。
2、 根据权利要求1所述的方法,其中识别所述变换系数包含比较所述变换系数 中的每一者与多个阈值中的对应一者,以识别在量化时将保持非零的所述变换系数, 其中根据量化参数(QP)计算所述多个阈值中的每一者。
3、 根据权利要求2所述的方法,其中比较所述变换系数中的每一者与多个阈值 中的对应一者以识别在量化时将保持非零的所述变换系数包含将小于其对应阈值的所 述变换系数识别为在量化时将保持非零的变换系数。
4、根据权利要求2所述的方法,其进一步包含预计算多个阈值组,其中所述阚值组中的每一者对应于所述QP的不同值;及 基于用于编码所述像素块的所述QP的所述值选择所述多个阈值组中的一者。
5、根据权利要求1所述的方法,其中估计与译码所述剩余数据相关联的所述位 数量包含确定被识别为在量化时保持非零的所述变换系数的数量;对被识别为在量化时保持非零的所述变换系数中的至少一者的绝对值求和;及 至少基于所述所确定的非零变换系数的数量及所述至少一个非零变换系数的所 述绝对值的所述和来估计与所述剩余数据的译码相关联的所述位数量。
6、根据权利要求1所述的方法,其中估计与所述剩余数据的译码相关联的所述 位数量包含在至少两个块模式中的每一者中估计译码所述剩余数据所需要的位数量, 且估计所述译码成本包含在所述至少两个块模式中的每一者中至少基于在所述块模式 中的相应一者中的所述所估计位数量来估计所述译码成本,且进一步包含至少基于所 述模式中的每一者的所述所估计译码成本来选择所述块模式中的一者。
7、根据权利要求6所述的方法,其进一步包含针对所述模式中的每一者,至少使用与所述剩余数据的译码相关联的所述所估计位数量来估计用于译码所述像素块的总译码成本;选择所述多个模式中具有最小所估计总译码成本的一者;及 应用所述选定模式来译码所述像素块。
8、 根据权利要求7所述的方法,其中估计所述总译码成本包含计算所述像素块的失真度量;计算与所述像素块的非剩余数据的译码相关联的位数量;及 至少基于所述失真度量、与所述非剩余数据的译码相关联的所述位数量及与所述 剩余数据的译码相关联的所述位数量来估计用于译码所述像素块的所述总译码成本。
9、 根据权利要求1所述的方法,其进一步包含至少基于与所述剩余数据的译码相关联的所述所估计位数量选择译码模式;在选择所述译码模式之后量化所述剩余数据的所述变换系数; 编码所述剩余数据的所述经量化变换系数;及 传输所述剩余数据的所述经编码系数。
10、 根据权利要求1所述的方法,其进一步包含产生所述变换系数的矩阵,其中所述变换系数矩阵的行数量等于所述块中的像素 行数量,且所述变换系数矩阵的列数量等于所述块中的像素列数量;比较所述变换系数矩阵与阈值矩阵,其中所述阈值矩阵具有与所述变换系数矩阵 的尺寸相同的尺寸,且进一步其中所述比较产生1和0的矩阵,其中所述0表示所述 变换系数矩阵中在量化之后将变成O的位置,且所述1表示所述变换系数矩阵中在量 化之后将保持非零的位置;对所述1和0矩阵中1的数量求和以计算被识别为在量化时保持非零的所述变换 系数的数量;对所述变换系数矩阵中对应于所述1和0矩阵中所述1的位置的所述变换系数中 的至少一者的绝对值求和;及至少基于所述非零变换系数的所述数量及所述至少一个非零变换系数的所述和 估计与所述剩余数据的译码相关联的所述位数量。
11、 一种用于处理数字视频数据的设备,所述设备包含 变换模块,其为像素块的剩余数据产生变换系数;位估计模块,其识别在量化时将保持非零的所述变换系数中的一者或一者以上, 且至少基于所述所识别的变换系数估计与所述剩余数据的译码相关联的位数量;及 控制模块,其至少基于与译码所述剩余数据相关联的所述所估计位数量来估计用于译码所述像素块的译码成本。
12、 根据权利要求11所述的设备,其中所述位估计模块比较所述变换系数中的 每一者与多个阈值中的对应一者,以识别在量化时将保持非零的所述变换系数,其中 根据量化参数(QP)计算所述多个阈值中的每一者。
13、 根据权利要求12所述的设备,其中所述位估计模块将小于其对应阈值的所 述变换系数识别为在量化时将保持非零的变换系数。
14、 根据权利要求12所述的设备,其中所述位估计模块预计算多个阈值组,其 中所述阈值组中的每一者对应于所述QP的不同值,且基于用于编码所述像素块的所 述QP的所述值选择所述多个阈值组中的一者。
15、 根据权利要求11所述的设备,其中所述位估计模块确定被识别为在量化时 保持非零的所述变换系数的数量,对被识别为在量化时保持非零的所述变换系数中的 至少一者的绝对值求和及至少基于所述所确定的非零变换系数的数量及所述至少一个 非零变换系数的所述绝对值的所述和来估计与所述剩余数据的译码相关联的所述位数
16、 根据权利要求11所述的设备,其中所述位估计模块在至少两个块模式中的每一者中估计与所述剩余数据的译码相 关联的所述位数量,且所述控制模块至少基于在所述至少两个块模式中的相应一者中的所述所估计位 数量估计所述块模式中的每一者的译码成本,且至少基于所述模式中的每一者的所述 所估计译码成本来选择所述块模式中的一者。
17、 根据权利要求16所述的设备,其中所述控制模块针对所述模式中的每一者, 至少使用与所述剩余数据的译码相关联的所述所估计位数量来估计用于译码所述像素 块的总译码成本,选择所述多个模式中具有最小所估计总译码成本的一者,且应用所 述选定模式来译码所述像素块。
18、 根据权利要求17所述的设备,其中所述控制模块计算所述像素块的失真度 量,计算与所述像素块的非剩余数据的译码相关联的位数量,且至少基于所述失真度 量、与所述非剩余数据的译码相关联的所述位数量及与所述剩余数据的译码相关联的 所述位数量来估计用于译码所述像素块的所述总译码成本。
19、 根据权利要求ll所述的设备,其进一步包含控制模块,其至少基于与译码所述剩余数据相关联的所述所估计位数量选择译码模式;量化模块,其在选择所述译码模式之后量化所述剩余数据的所述变换系数; 熵编码模块,其编码所述剩余数据的所述经量化变换系数;及 传输器,其传输所述剩余数据的所述经编码系数。
20、 根据权利要求ll所述的设备,其中所述变换模块产生所述变换系数的矩阵,其中所述变换系数矩阵的行数量等于所 述块中的像素行数量,且所述变换系数矩阵的列数量等于所述块中的像素列数量,且所述位估计模块比较所述变换系数矩阵与阈值矩阵,其中所述阈值矩阵具有与所 述变换系数矩阵的尺寸相同的尺寸,且进一步其中所述比较产生1和0的矩阵,其中 所述0表示所述变换系数矩阵中在量化之后将变成0的位置且所述1表示所述变换系 数矩阵中在量化之后将保持非零的位置,进一步其中所述位估计模块对所述1和0矩阵中1的数量求和以计算被识别为在 量化时保持非零的所述变换系数的数量,对所述变换系数矩阵中对应于所述1和0矩 阵中所述1的位置的所述变换系数中的至少一者的绝对值求和,且至少基于所述非零 变换系数的数量及所述至少一个非零变换系数的所述和来估计与所述剩余数据的译码 相关联的所述位数量。
21、 一种用于处理数字视频数据的设备,所述设备包含用于识别像素块的剩余数据的在量化时将保持非零的一个或一个以上变换系数 的装置;用于至少基于所述所识别的变换系数估计与所述剩余数据的译码相关联的位数 量的装置;用于至少基于与译码所述剩余数据相关联的所述所估计位数量来估计用于译码 所述像素块的译码成本的装置。
22、 根据权利要求21所述的设备,其中所述识别装置比较所述变换系数中的每 一者与多个阈值中的对应一者,以识别在量化时将保持非零的所述变换系数,其中根 据量化参数(QP)计算所述多个阈值中的每一者。
23、 根据权利要求22所述的设备,其中所述识别装置将小于其对应阈值的所述 变换系数识别为在量化时将保持非零的变换系数。
24、 根据权利要求22所述的设备,其进一步包含用于预计算多个阈值组的装置,其中所述阈值组中的每一者对应于所述QP的不 同值;及用于基于用于编码所述像素块的所述QP的所述值选择所述多个阈值组中的一者 的装置。
25、根据权利要求21所述的设备,其中所述估计装置确定被识别为在量化时保 持非零的所述变换系数的数量,对被识别为在量化时保持非零的所述变换系数中的至 少一者的绝对值求和及至少基于所述所确定的非零变换系数的数量及所述至少一个非 零变换系数的所述绝对值的所述和来估计与所述剩余数据的译码相关联的所述位数
26、 根据权利要求21所述的设备,其中所述位估计装置在至少两个块模式中的 每一者中估计与所述剩余数据的译码相关联的位数量,且所述译码成本估计装置至少 基于在所述至少两个块模式中的相应一者中的所述所估计位数量来估计所述块模式中 的每一者的译码成本,且进一步包含用于至少基于所述模式中的每一者的所述所估计 位数量来选择所述块模式中的一者的装置。
27、 根据权利要求26所述的设备,其进一步包含用于针对所述模式中的每一者 至少使用与所述剩余数据的译码相关联的所述所估计位数量来估计用于译码所述像素 块的总译码成本的装置,其中所述选择装置选择所述多个模式中具有最小所估计总译 码成本的一者。
28、 根据权利要求27所述的设备,其中所述译码成本估计装置计算所述像素块 的失真度量,计算与所述像素块的非剩余数据的译码相关联的位数量,且至少基于所 述失真度量、与所述非剩余数据的译码相关联的所述位数量及与所述剩余数据的译码 相关联的所述位数量来估计用于译码所述像素块的所述总译码成本。
29、 根据权利要求21所述的设备,其进一步包含用于至少基于与所述剩余数据的译码相关联的所述所估计位数量选择译码模式 的装置;用于在选择所述译码模式之后量化所述剩余数据的所述变换系数的装置; 用于编码所述剩余数据的所述经量化变换系数的装置;及 用于传输所述剩余数据的所述经编码系数的装置。
30、 根据权利要求21所述的设备,其进一步包含用于产生所述变换系数的矩阵 的装置,其中所述变换系数矩阵的行数量等于所述块中的像素行数量,且所述变换系 数矩阵的列数量等于所述块中的像素列数量,且其中所述识别装置比较所述变换系数矩阵与阈值矩阵,其中所述阈值矩阵具有与所述变换系数矩阵的尺寸相同的尺寸,且进一步其中所述比较产生1和0的矩阵,其中所 述0表示所述变换系数矩阵中在量化之后将变成0的位置,且所述1表示所述变换系 数矩阵中在量化之后将保持非零的位置;且所述估计装置对所述1和0矩阵中1的数量求和以计算被识别为在量化时保持非 零的所述变换系数的数量,对所述变换系数矩阵中对应于所述1和0矩阵中所述1的 位置的所述变换系数中的至少一者的绝对值求和,且至少基于所述非零变换系数的数 量及所述至少一个非零变换系数的所述和来估计与所述剩余数据的译码相关联的所述 位数量。
31、 一种用于处理数字视频数据的计算机程序产品,所述计算机程序产品包含其 上具有指令的计算机可读媒体,所述指令包含-用于识别像素块的剩余数据的在量化时将保持非零的一个或一个以上变换系数 的代码; 用于至少基于所述所识别的变换系数估计与所述剩余数据的译码相关联的位数 量的代码;及用于至少基于与译码所述剩余数据相关联的所述所估计位数量来估计用于译码 所述像素块的译码成本的代码。
32、 根据权利要求31所述的计算机程序产品,其中用于识别所述变换系数的代 码包含用于比较所述变换系数中的每一者与多个阈值中的对应一者以识别在量化时将 保持非零的所述变换系数的代码,其中根据量化参数(QP)计算所述多个阈值中的每 一者。
33、 根据权利要求32所述的计算机程序产品,其中用于比较所述变换系数中的 每一者与多个阈值中的对应一者以识别在量化时将保持非零的所述变换系数的代码包 含用于将小于其对应阈值的所述变换系数识别为在量化时将保持非零的变换系数的代 码。
34、 根据权利要求32所述的计算机程序产品,其进一步包含-用于预计算多个阈值组的代码,其中所述阈值组中的每一者对应于所述QP的不同值;及用于基于用于编码所述像素块的所述QP的所述值选择所述多个阈值组中的一者 的代码。
35、 根据权利要求31所述的计算机程序产品,其中用于估计与所述剩余数据的 译码相关联的所述位数量的代码包含用于确定被识别为在量化时保持非零的所述变换系数的数量的代码; 用于对被识别为在量化时保持非零的所述变换系数中的至少一者的绝对值求和 的代码;及用于至少基于所述所确定的非零变换系数的数量及所述至少一个非零变换系数 的所述绝对值的所述和来估计与所述剩余数据的译码相关联的所述位数量的代码。
36、 根据权利要求31所述的计算机程序产品,其中用于估计与所述剩余数据的 译码相关联的所述位数量的代码包含用于在至少两个块模式中的每一者中估计与所述 剩余数据的译码相关联的位数量的代码,且用于估计所述译码成本的代码包含用于至 少基于在所述至少两个块模式中的相应一者中的所述所估计位数量来估计所述块模式 中的每一者的所述译码成本的代码,且进一步包含用于至少基于所述模式中的每一者 的所述所估计位数量来选择所述块模式中的一者的代码。
37、 根据权利要求36所述的计算机程序产品,其进一步包含 用于针对所述模式中的每一者至少使用与所述剩余数据的译码相关联的所述所估计位数量来估计用于译码所述像素块的总译码成本的代码;用于选择所述多个模式中具有最小所估计总译码成本的一者的代码;及 用于应用所述选定模式来译码所述像素块的代码。
38、 根据权利要求37所述的计算机程序产品,其中用于估计所述总译码成本的 代码包含用于计算所述像素块的失真度量的代码;用于计算与所述像素块的非剩余数据的译码相关联的位数量的代码;及 用于至少基于所述失真度量、与所述非剩余数据的译码相关联的所述位数量及与所述剩余数据的译码相关联的所述位数量来估计用于译码所述像素块的所述总译码成本的代码。
39、 根据权利要求31所述的计算机程序产品,其进一步包含 用于至少基于与所述剩余数据的译码相关联的所述所估计位数量选择译码模式的代码;用于在选择所述译码模式之后量化所述剩余数据的所述变换系数的代码; 用于编码所述剩余数据的所述经量化变换系数的代码;及 用于传输所述剩余数据的所述经编码系数的代码。
40、 根据权利要求31所述的计算机程序产品,其进一步包含 用于产生所述变换系数的矩阵的代码,其中所述变换系数矩阵的行数量等于所述块中的像素行数量,且所述变换系数矩阵的列数量等于所述块中的像素列数量;用于比较所述变换系数矩阵与阈值矩阵的代码,其中所述阈值矩阵具有与所述变 换系数矩阵的尺寸相同的尺寸,且进一步其中所述比较产生1和0的矩阵,其中所述0表示所述变换系数矩阵中在量化之后将变成o的位置,且所述1表示所述变换系数矩阵中在量化之后将保持非零的位置;及用于对所述1和0矩阵中1的数量求和以计算被识别为在量化时保持非零的所述 变换系数的数量的代码;用于对所述变换系数矩阵中对应于所述1和0矩阵中所述1的位置的所述变换系 数中的至少一者的绝对值求和的代码;及用于至少基于所述非零变换系数的数量及所述至少一个非零变换系数的所述和 来估计与所述剩余数据的译码相关联的所述位数量的代码。
全文摘要
本发明描述用于使用所估计译码成本的译码模式选择的技术。举例来说,为提供高压缩效率,编码装置可尝试选择以高效率译码像素块的数据的译码模式来译码所述块。为此,所述编码装置可基于对可能模式的至少一部分的译码成本的估计来执行译码模式选择。根据本文所述的技术,所述编码装置在不实际译码所述块的情况下估计不同模式的译码成本。实际上,在一些方面中,所述编码模块装置可在不针对每一模式量化所述块的数据的情况下估计所述模式的译码成本。以此方式,本发明的译码成本估计技术减少执行有效模式选择所需要的在计算上密集的计算量。
文档编号H04N7/26GK101663895SQ200780052818
公开日2010年3月3日 申请日期2007年5月4日 优先权日2007年5月4日
发明者史考特·T·斯瓦泽伊, 塞伊富拉·哈利特·奥古兹, 方 施, 维诺德·考希克, 西塔拉曼·加纳帕蒂·苏布拉马尼亚, 陈培松 申请人:高通股份有限公司