CN101663895A - 使用所估计译码成本的视频译码模式选择 - Google Patents
使用所估计译码成本的视频译码模式选择 Download PDFInfo
- Publication number
- CN101663895A CN101663895A CN200780052818A CN200780052818A CN101663895A CN 101663895 A CN101663895 A CN 101663895A CN 200780052818 A CN200780052818 A CN 200780052818A CN 200780052818 A CN200780052818 A CN 200780052818A CN 101663895 A CN101663895 A CN 101663895A
- Authority
- CN
- China
- Prior art keywords
- decoding
- remaining data
- zero
- matrix
- conversion coefficient
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/19—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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
- H04N19/176—Methods 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 the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明描述用于使用所估计译码成本的译码模式选择的技术。举例来说,为提供高压缩效率,编码装置可尝试选择以高效率译码像素块的数据的译码模式来译码所述块。为此,所述编码装置可基于对可能模式的至少一部分的译码成本的估计来执行译码模式选择。根据本文所述的技术,所述编码装置在不实际译码所述块的情况下估计不同模式的译码成本。实际上,在一些方面中,所述编码模块装置可在不针对每一模式量化所述块的数据的情况下估计所述模式的译码成本。以此方式,本发明的译码成本估计技术减少执行有效模式选择所需要的在计算上密集的计算量。
Description
技术领域
本发明涉及视频译码,且更特定来说涉及估计用以译码视频序列的译码成本。
背景技术
可将数字视频能力并入各种装置中,其中包括数字电视、数字直播***、无线通信装置、个人数字助理(PDA)、膝上型计算机、桌上型计算机、视频游戏机、数码相机、数字记录装置、蜂窝式或卫星无线电电话等。数字视频装置在处理及传输视频序列方面可提供相对于常规模拟视频***的显著改善。
已建立不同的用于译码数字视频序列的视频译码标准。举例来说,移动图像专家组(MPEG)已编制许多标准,包括MPEG-1、MPEG-2及MPEG-4。其它实例包括国际电信联盟(ITU)-T H.263标准及ITU-T H.264标准及其相似物、ISO/IEC MPEG-4,部分10,即高级视频译码(AVC)。这些视频译码标准通过以压缩方式译码数据来支持视频序列的改善的传输效率。
许多当前技术利用基于块的译码。在基于块的译码中,将多媒体序列的帧划分成离散的像素块,且基于与其它块的差来译码所述像素块,所述其它块可与所述像素块位于相同帧或不同帧中。某些像素块(通常称作“宏块”)包含子像素块群组。作为实例,16x16宏块可包含四个8x8子块。所述子块可单独译码。举例来说,所述H.264标准准许使用各种不同大小(例如,16x16、16x8、8x16、8x8、4x4、8x4及4x8)来译码块。此外,扩展来说,在宏块中可包括有任何大小(例如,2x16、16x2、2x2、4x16及8x2)的子块。
发明内容
在本发明的某些方面中,一种用于处理数字视频数据的方法包含:识别像素块的剩余数据的在量化时将保持非零的一个或一个以上变换系数;至少基于所述所识别的变换系数估计与所述剩余数据的译码相关联的位数量;及至少基于与译码所述剩余数据相关联的所估计位数量来估计用于译码所述像素块的译码成本。
在某些方面中,一种用于处理数字视频数据的设备包含:变换模块,其为像素块的剩余数据产生变换系数;位估计模块,其识别在量化时将保持非零的一个或一个以上变换系数且至少基于所述所识别的变换系数估计与所述剩余数据的译码相关联的位数量;及控制模块,其至少基于与译码所述剩余数据相关联的所估计位数量来估计用于译码所述像素块的译码成本。
在某些方面中,一种用于处理数字视频数据的设备包含:用于识别像素块的剩余数据的在量化时将保持非零的一个或一个以上变换系数的装置;用于至少基于所述所识别的变换系数估计与所述剩余数据的译码相关联的位数量的装置;用于至少基于与译码所述剩余数据相关联的所估计位数量来估计用于译码所述像素块的译码成本的装置。
在某些方面中,一种用于处理数字视频数据的计算机程序产品包含其上具有指令的计算机可读媒体。所述指令包括:用于识别像素块的剩余数据的在量化时将保持非零的一个或一个以上变换系数的代码;用于至少基于所述所识别的变换系数估计与所述剩余数据的译码相关联的位数量的代码;及用于至少基于与译码所述剩余数据相关联的所估计位数量来估计用于译码所述像素块的译码成本的代码。
在附图及以下说明中阐明一个或一个以上实例的细节。根据所述说明及图式以及权利要求书,将明了其它特征、目的及优点。
附图说明
图1是图解说明采用本文所述译码成本估计技术的视频译码***的方块图。
图2是更详细地图解说明实例性编码模块的方块图。
图3是更详细地图解说明另一实例性编码模块的方块图。
图4是图解说明编码模块基于所估计的译码成本选择编码模式的实例性操作的流程图。
图5是图解说明编码模块在不量化或编码块的剩余数据的情况下估计与译码所述剩余数据相关联的位数量的实例性操作的流程图。
图6是图解说明编码模块在不编码块的剩余数据的情况下估计与译码所述剩余数据相关联的位数量的实例性操作的流程图。
具体实施方式
本发明描述用于使用所估计译码成本的视频译码模式选择的技术。举例来说,为提供高压缩效率,编码装置可尝试选择以高效率译码像素块的数据的译码模式来译码所述块。为此,所述编码装置可至少基于对可能模式的至少一部分的译码成本的估计执行译码模式选择。根据本文所述的技术,所述编码装置在不实际译码块的情况下估计不同模式的译码成本。实际上,在一些方面中,所述编码模块装置可在不针对每一模式量化所述块的数据的情况下估计所述模式的译码成本。以此方式,本发明的译码成本估计技术减少执行有效模式选择所需要的在计算上密集的计算量。
图1是图解说明多媒体译码***10的方块图,所述***采用如本文所述的译码成本估计技术。译码***10包括通过传输信道16连接的编码装置12及解码装置14。编码装置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模块可符合ITU H.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)对块进行编码。此外,扩展来说,在宏块中可包括任何大小的子块,例如2x16、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+λmode·R, (1)
其中J是所估计的译码成本,D是所述块的失真度量,λmode是相应模式的拉格朗日(Lagrange)乘数,且R是所述块的比率度量。失真度量(D)可(举例来说)包含:绝对差和(SAD)、平方差和(SSD)、绝对变换差和(SATD)、平方变换差和(SSTD)等。比率度量(R)(举例来说)可以是给定块中与译码所述数据相关联的位量。如上文所述,可使用不同的译码技术译码不同类型的块数据。因此,可将方程式(1)重写成如下形式:
J=D+λmode(Rcontext+Rnon_context), (2)
其中Rcontext表示使用上下文自适应译码技术进行译码的块数据的比率度量,且Rnon_context表示使用非上下文自适应译码技术进行译码的块数据的比率度量。在H.264标准中,举例来说,可使用上下文自适应译码(例如,CAVLC或CABAC)来译码剩余数据。例如运动向量、块模式等其它块数据可使用FLC或通用VLC技术(例如,Exp-Golomb)进行译码。在此情况下,方程式(2)可重写成如下形式:
J=D+λmode(Rresidual+Rother), (3)
其中Rresidual表示使用上下文自适应译码技术译码所述剩余数据的比率度量,例如与译码所述剩余数据相关联的位数量,且Rother表示使用FLC或通用VLC技术译码其它块数据的比率度量,例如与译码其它块数据相关联的位数量。
在计算所估计的译码成本(J)时,编码模块30可相对简单地确定与使用FLC或通用VLC译码块数据相关联的位数量,即Rother。编码模块30可(举例来说)使用译码表来识别与使用FLC或通用VLC译码所述块数据相关联的位数量。所述译码表可(举例来说)包括多个码字及与译码所述码字相关联的位数量。然而,确定与译码所述剩余数据相关联的位数量(Rresidual)由于上下文自适应译码随数据的上下文而变的自适应性质而提出更加困难的任务。为确定与译码所述剩余数据(或无论何种数据正在进行上下文自适应译码)相关联的精确的位数量,编码模块30必须变换所述剩余数据、量化所述经变换的剩余数据且编码所述经变换量化的剩余数据。然而,根据本发明的技术,位估计模块42可在不实际译码所述剩余数据的情况下估计与使用所述上下文自适应译码技术译码所述剩余数据相关联的位数量。
在图2所图解说明的实例中,位估计模块42使用剩余数据的变换系数估计与译码所述剩余数据相关联的位数量。因此,对于将要分析的每一模式,编码模块30仅需要计算所述剩余数据的变换系数即可估计与译码所述剩余数据相关联的位数量。因此,编码模块30通过不针对所述模式的中每一者量化所述变换系数或编码经量化的变换系数来减小确定与译码所述剩余数据相关联的位数量所需要的计算资源及时间的量。
位估计模块42分析变换模块40所输出的变换系数以识别在量化之后将保持非零的一个或一个以上变换系数。特定来说,位估计模块42比较所述变换系数中的每一者与对应阈值。在一些方面中,可依据编码模块30的QP计算所述对应阈值。位估计模块42将大于或等于其对应阈值的变换系数识别为在量化之后将保持非零的变换系数。
位估计模块42至少基于经识别在量化之后保持非零的变换系数来估计与译码所述剩余数据相关联的位数量。特定来说,位估计模块42确定在量化后仍存在的非零变换系数的数量。位估计模块42还对经识别在量化后仍存在的变换系数的绝对值的至少一部分求和。位估计模块42然后使用如下方程式估计所述剩余数据的比率度量,即与译码所述剩余数据相关联的位数量:
Rresidual=a1*SATD+a2*NZest+a3, (4)
其中SATD是经预测在量化后仍存在的非零变换系数的至少一部分绝对值的和,NZest是经预测在量化后仍存在的所估计的非零变换系数数量,且a1、a2及a3是系数。可使用最小二乘估计计算系数a1、a2及a3。在方程式(4)的实例中,虽然所述变换系数的和是绝对变换差的和SATD,但也可使用例如SSTD等其它差系数。
下文图解说明4x4块的Rresidual的实例性计算。可对不同大小的块执行类似计算。编码模块30计算所述剩余数据的变换系数的矩阵。下文图解说明实例性变换系数矩阵。
变换系数矩阵(A)的行数量等于所述块中像素的行数量,且所述变换系数矩阵的列数量等于所述块中像素的列数量。因此,在以上实例中,所述变换系数矩阵的尺寸是4x4以与4x4块对应。所述变换系数矩阵的每一元A(i,j)是相应剩余系数的变换。
在量化期间,矩阵A中具有较小值的变换系数在量化之后往往变成零。同样,编码模块30比较剩余变换系数的矩阵A与阈值矩阵以预测矩阵A的哪些变换系数在量化之后将保持非零。下文图解说明实例性阈值矩阵。
可依据QP值计算矩阵C。矩阵C的尺寸与矩阵A的尺寸相同。举例来说,在H.264标准的情况下,可基于如下方程式计算矩阵C的元:
其中QBITS{QP}是依据QP确定缩放的参数,Level-_Offset(i,j){QP}是所述矩阵的行i及列j处的元的死区参数且也是QP的函数,Level_Scale(i,j){QP}是所述矩阵的行i及列j处的元的乘数因子且也是QP的函数,i对应于矩阵的行,j对应于矩阵的列,且QP对应于编码模块30的量化参数。在实例性方程式(5)中,在H.264译码标准中,可依据操作的QP来界定所述变量。其它方程式可用于确定所述变量中的哪些在量化之后仍将存在,且在其它译码标准中可基于所述特定标准所采用的量化方法进行界定。在一些方面中,编码模块30可经配置以在QP值的范围内操作。在此情况下,编码模块30可预先计算多个比较矩阵,所述比较矩阵与所述QP值范围中所述QP值中的每一者相对应。编码模块30选择与编码模块30的所述QP相对应的比较矩阵以与所述变换系数矩阵相比较。
变换系数矩阵A与阈值矩阵C之间的比较结果是由一与零构成的矩阵。在以上实例中,所述比较形成如下所图解说明的由一与零构成的矩阵:
其中一表示识别为在量化后可能存在(即可能保持非零)的变换系数的位置,且零表示在量化后可能不存在(即可能变成零)的变换系数的位置。如上文所述,当矩阵A的变换系数的绝对值大于或等于矩阵C的对应阈值时,将所述变换系数识别为可能保持非零。
使用所形成的一与零矩阵,位估计模块42确定在量化后仍将存在的变换系数的数量。换句话说,位估计模块42确定识别为在量化之后保持非零的变换系数的数量。位估计模块42可根据如下方程式确定识别为在量化之后保持非零的变换系数的数量:
其中NZest是非零变换系数的所估计数量,且M(i,j)是在行i及列j处矩阵M的值。在上述实例中,NZest等于8。
位估计模块42还计算经估计在量化后仍存在的所述变换系数的绝对值的至少一部分的和。在某些方面中,位估计模块42可根据如下方程式计算所述变换系数的绝对值的至少一部分的和:
其中SATD是识别为在量化之后保持非零的所有变换系数的和,M(i,j)是行i及列j处矩阵M的值,且A(i,j)是行i及列j处矩阵A的值,且abs(x)是计算x的绝对值的绝对值函数。在上述实例中,SATD等于2361。其它差度量可用于变换系数,例如SSTD。
使用这些值,位估计模块42使用以上方程式(3)近似与译码所述剩余系数相关联的位数量。控制模块32可使用Rresidual的估计来计算所述模式的总译码成本的估计。编码模块30可以相同方式估计一个或一个以上其它可能模式的总译码成本,且然后选择具有最小译码成本的模式。编码模块30然后应用选定译码模式来译码所述帧的所述块。
上述技术可个别地或两个或更多个此类技术或所有此类技术一起实施在编码装置12中。编码模块30中的组件是适于实施本文所述技术的那些组件的实例性组件。然而,如果需要,编码模块30可包括许多其它组件,及组合上述一个或一个以上模块的功能性的较少数量的组件。编码模块30中的所述组件可实施为一个或一个以上处理器、数字信号处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任一组合。以模块形式描绘不同的特征旨在突出编码模块30的不同功能方面且未必暗示必须通过单独的硬件及/或软件组件来实现所述模块。而是,可将与一个或一个以上模块相关联的功能性集成在共用或单独的硬件或软件组件内。
图3是图解说明另一实例性编码模块50的方块图。图3的编码模块50大致类似于图2的编码模块30,只是编码模块50的位估计模块52在对剩余数据的变换系数进行量化之后估计与译码所述剩余数据相关联的位数量。特定来说,在变换系数的量化之后,位估计模块52使用如下方程式估计与译码所述剩余系数相关联的位数量:
Rresidual=a1*SATQD+a2*NZTQ+a3, (8)
其中SATQD是非零的经量化变换系数的绝对值的和,NZTQ是非零的经量化变换系数的数量,且a1、a2及a3是系数。可使用最小二乘估计计算系数a1、a2及a3。虽然编码模块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选择下一译码模式且在所述选定译码模式中估计译码所述数据的成本。当不存在更多将针对其估计译码成本的译码模式时,编码模块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或其它光学磁盘存储器件、磁性磁盘存储器件或其它磁性存储装置,或任一其它可用来携载或存储呈指令或数据结构形式且可由计算机存取的期望程序代码的有形媒体。
本文已描述多个方面及实例。然而,也可对这些实例做各种修改,且本文所提供的原理也可应用于其它方面。这些及其它方面归属于以上权利要求书的范围内。
Claims (40)
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表示所述变换系数矩阵中在量化之后将变成0的位置,且所述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、根据权利要求11所述的设备,其进一步包含:
控制模块,其至少基于与译码所述剩余数据相关联的所述所估计位数量选择译码模式;
量化模块,其在选择所述译码模式之后量化所述剩余数据的所述变换系数;
熵编码模块,其编码所述剩余数据的所述经量化变换系数;及
传输器,其传输所述剩余数据的所述经编码系数。
20、根据权利要求11所述的设备,其中:
所述变换模块产生所述变换系数的矩阵,其中所述变换系数矩阵的行数量等于所述块中的像素行数量,且所述变换系数矩阵的列数量等于所述块中的像素列数量,且
所述位估计模块比较所述变换系数矩阵与阈值矩阵,其中所述阈值矩阵具有与所述变换系数矩阵的尺寸相同的尺寸,且进一步其中所述比较产生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表示所述变换系数矩阵中在量化之后将变成0的位置,且所述1表示所述变换系数矩阵中在量化之后将保持非零的位置;及
用于对所述1和0矩阵中1的数量求和以计算被识别为在量化时保持非零的所述变换系数的数量的代码;
用于对所述变换系数矩阵中对应于所述1和0矩阵中所述1的位置的所述变换系数中的至少一者的绝对值求和的代码;及
用于至少基于所述非零变换系数的数量及所述至少一个非零变换系数的所述和来估计与所述剩余数据的译码相关联的所述位数量的代码。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2007/068307 WO2008136828A1 (en) | 2007-05-04 | 2007-05-04 | Video coding mode selection using estimated coding costs |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101663895A true CN101663895A (zh) | 2010-03-03 |
CN101663895B CN101663895B (zh) | 2013-05-01 |
Family
ID=39145223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800528186A Expired - Fee Related CN101663895B (zh) | 2007-05-04 | 2007-05-04 | 使用所估计译码成本的视频译码模式选择 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2156672A1 (zh) |
JP (1) | JP2010526515A (zh) |
KR (2) | KR101166732B1 (zh) |
CN (1) | CN101663895B (zh) |
WO (1) | WO2008136828A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104054347A (zh) * | 2012-01-18 | 2014-09-17 | 高通股份有限公司 | 在视频译码中波前平行处理的使用的指示 |
CN108632620A (zh) * | 2011-03-08 | 2018-10-09 | 维洛媒体国际有限公司 | 用于视频译码的变换系数的译码 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9008171B2 (en) | 2008-01-08 | 2015-04-14 | Qualcomm Incorporated | Two pass quantization for CABAC coders |
US8891615B2 (en) | 2008-01-08 | 2014-11-18 | Qualcomm Incorporated | Quantization based on rate-distortion modeling for CABAC coders |
ES2906869T3 (es) * | 2011-06-16 | 2022-04-20 | Ge Video Compression Llc | Inicialización de contexto en codificación entrópica |
KR102126855B1 (ko) * | 2013-02-15 | 2020-06-26 | 한국전자통신연구원 | 부호화 모드 결정 방법 및 장치 |
KR102229386B1 (ko) * | 2014-12-26 | 2021-03-22 | 한국전자통신연구원 | 영상 부호화 장치 및 방법 |
WO2020153506A1 (ko) * | 2019-01-21 | 2020-07-30 | 엘지전자 주식회사 | 비디오 신호의 처리 방법 및 장치 |
WO2023067822A1 (ja) * | 2021-10-22 | 2023-04-27 | 日本電気株式会社 | 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法および映像システム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0646268A (ja) * | 1992-07-24 | 1994-02-18 | Chinon Ind Inc | 符号量制御装置 |
FR2753330B1 (fr) * | 1996-09-06 | 1998-11-27 | Thomson Multimedia Sa | Procede de quantification pour codage video |
NO318318B1 (no) * | 2003-06-27 | 2005-02-28 | Tandberg Telecom As | Fremgangsmate for forbedret koding av video |
JP2006140758A (ja) * | 2004-11-12 | 2006-06-01 | Toshiba Corp | 動画像符号化方法、動画像符号化装置および動画像符号化プログラム |
JP4146444B2 (ja) * | 2005-03-16 | 2008-09-10 | 株式会社東芝 | 動画像符号化の方法及び装置 |
CN100348051C (zh) * | 2005-03-31 | 2007-11-07 | 华中科技大学 | 一种增强型帧内预测模式编码方法 |
-
2007
- 2007-05-04 KR KR1020097025315A patent/KR101166732B1/ko not_active IP Right Cessation
- 2007-05-04 EP EP07761930A patent/EP2156672A1/en not_active Withdrawn
- 2007-05-04 WO PCT/US2007/068307 patent/WO2008136828A1/en active Application Filing
- 2007-05-04 CN CN2007800528186A patent/CN101663895B/zh not_active Expired - Fee Related
- 2007-05-04 JP JP2010507374A patent/JP2010526515A/ja not_active Ceased
- 2007-05-04 KR KR1020127007471A patent/KR20120031529A/ko not_active Application Discontinuation
Non-Patent Citations (2)
Title |
---|
Q CHEN 等: "A fast bits estimation method for rate distortion optimization in H.264/AVC", 《PROCEEDINGS OF THE PICTURE CODING SYMPOSIUM》 * |
Q WANG 等: "Low complexity RDO mode decision based on a fast coding-bits estimation model for H.264/AVC", 《CIRCUITS AND SYSTEMS,2005,ISCAS 2005》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632620A (zh) * | 2011-03-08 | 2018-10-09 | 维洛媒体国际有限公司 | 用于视频译码的变换系数的译码 |
CN108632620B (zh) * | 2011-03-08 | 2022-04-01 | 高通股份有限公司 | 用于视频译码的变换系数的译码 |
CN104054347A (zh) * | 2012-01-18 | 2014-09-17 | 高通股份有限公司 | 在视频译码中波前平行处理的使用的指示 |
Also Published As
Publication number | Publication date |
---|---|
WO2008136828A1 (en) | 2008-11-13 |
JP2010526515A (ja) | 2010-07-29 |
KR101166732B1 (ko) | 2012-07-19 |
CN101663895B (zh) | 2013-05-01 |
KR20100005240A (ko) | 2010-01-14 |
KR20120031529A (ko) | 2012-04-03 |
EP2156672A1 (en) | 2010-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101663895B (zh) | 使用所估计译码成本的视频译码模式选择 | |
CN101946515B (zh) | Cabac译码器的二回合量化 | |
CN101911702B (zh) | 针对支持cabac的视频编码过程而量化视频块的系数的方法和装置 | |
CN100581232C (zh) | 用于在视频序列中对运动进行编码的方法 | |
RU2533196C2 (ru) | Кодирование видео при помощи больших макроблоков | |
KR101387255B1 (ko) | 비디오 코딩을 위한 적응적 모션 분해능 | |
CN101406056B (zh) | 减少数字视频编码器中的内预测和模式判决处理中的计算的方法 | |
CN106131576B (zh) | 使用四叉树结构的视频解码方法、编码设备和解码设备 | |
RU2502218C2 (ru) | Кодирование видео при помощи больших макроблоков | |
CN101743751B (zh) | 视帧内预测模式而定的残差块的自适应变换 | |
CN101232618B (zh) | 用于在视频编码***中指示量化器参数的方法与设备 | |
CN1331353C (zh) | 用于子像素值内插的方法 | |
US8150172B2 (en) | Video coding mode selection using estimated coding costs | |
CN103202016A (zh) | 用于视频译码的自适应运动向量分辨率信令 | |
CN103238322A (zh) | 在视频译码中单独地译码视频块的最后有效系数的位置 | |
CN114501010B (zh) | 图像编码方法、图像解码方法及相关装置 | |
CN101999230A (zh) | 子像素分辨率下的偏移 | |
CN103190147A (zh) | 用于视频译码的语法元素的联合译码 | |
CN101267563A (zh) | 自适应可变长度编码 | |
CN101854545A (zh) | 用于视频编码器中的帧内预测的方法和设备 | |
CN103181170A (zh) | 用于视频译码的变换系数的自适应扫描 | |
CN102204251A (zh) | 使用大于4×4和8×8的变换的视频译码 | |
CN103238323A (zh) | 在视频译码中基于视频块的扫描次序对块内的最后有效系数的位置进行译码 | |
CN104303501A (zh) | 用于视频译码的量化矩阵和解块滤波器 | |
CN104041045A (zh) | 用于视频译码的二次边界滤波 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130501 Termination date: 20150504 |
|
EXPY | Termination of patent right or utility model |