CN101911702B - 针对支持cabac的视频编码过程而量化视频块的系数的方法和装置 - Google Patents

针对支持cabac的视频编码过程而量化视频块的系数的方法和装置 Download PDF

Info

Publication number
CN101911702B
CN101911702B CN200980101857XA CN200980101857A CN101911702B CN 101911702 B CN101911702 B CN 101911702B CN 200980101857X A CN200980101857X A CN 200980101857XA CN 200980101857 A CN200980101857 A CN 200980101857A CN 101911702 B CN101911702 B CN 101911702B
Authority
CN
China
Prior art keywords
quantized coefficient
coefficient sets
coefficient
video
video blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200980101857XA
Other languages
English (en)
Other versions
CN101911702A (zh
Inventor
马尔塔·卡切维奇
叶琰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101911702A publication Critical patent/CN101911702A/zh
Application granted granted Critical
Publication of CN101911702B publication Critical patent/CN101911702B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/19Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

本发明描述针对支持基于上下文的自适应二进制算术编码(CABAC)的视频编码过程而量化视频块的系数的技术。一种方法可包含:针对所述视频块而产生多个经量化系数组,其中基于所述视频块的所述系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一者;估计与经由所述CABAC对所述视频块进行编码相关联的多个成本,其中所述所估计的成本分别是基于所述经量化系数组中的不同组;及选择所述经量化系数组中与最低成本相关联的给定一个组。

Description

针对支持CABAC的视频编码过程而量化视频块的系数的方法和装置
本申请案主张2008年1月8日申请的第61/019,830号美国临时申请案及2008年2月21日申请的第61/030,454号美国临时申请案的权益,所述两个临时申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及数字视频编码,且更确切地说,涉及用于支持基于上下文的自适应二进制算术编码(CABAC)的视频编码过程的量化技术。
背景技术
可将数字视频能力并入广泛范围的装置中,包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数字相机、数字记录装置、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话及其类似者。数字视频装置实施例如MPEG-2、MPEG-4或ITU-T H.264/MPEG-4,第10部分、高级视频编码(AVC)的视频压缩技术,以更有效地发射及接收数字视频信息。视频压缩技术执行空间预测及时间预测以减少或移除视频序列中所固有的冗余。
帧内编码依赖于空间预测来减少或移除给定经编码单元内的视频块之间的空间冗余,给定经编码单元可包含视频帧、视频帧的片段、一群图片,或视频块的另一经界定单元。对比而言,帧间编码依赖于时间预测来减少或移除视频序列的连续经编码单元的视频块之间的时间冗余。对于帧内编码,视频编码器执行空间预测以基于同一经编码单元内的其它数据来压缩数据。对于帧间编码,视频编码器执行运动估计及运动补偿以追踪两个或两个以上邻近经编码单元的对应视频块的移动。
经编码视频块可由预测信息表示,所述预测信息可用于产生或识别预测性块,及指示正被编码的块与所述预测性块之间的差异的剩余数据块。在帧间编码的情况下,使用一个或一个以上运动向量来识别预测性数据块,而在帧内编码的情况下,可使用预测模式来产生预测性块。帧内编码及帧间编码两者可界定若干不同的预测模式,其可界定编码中所使用的不同块大小及/或预测技术。也可包括额外类型的语法元素作为经编码视频数据的一部分,以便控制或界定编码过程中所使用的编码技术或参数。
在基于块的预测编码之后,视频编码器可应用变换、量化及熵编码过程来进一步减小与剩余块的通信相关联的位速率。变换技术可包含离散余弦变换或概念上类似的过程。或者,可使用小波变换、整数变换或其它类型的变换。在离散余弦变换(DCT)过程中,作为一实例,变换过程将一组像素值转换成变换系数,其可表示频域中像素值的能量。将量化应用于所述变换系数,且量化大体涉及限制与任何给定变换系数相关联的位的数目的过程。熵编码包含共同地压缩经量化变换系数的序列的一个或一个以上过程。
基于上下文的自适应二进制算术编码(CABAC)是一种类型的熵编码技术,其当前在一些编码标准中受到支持,例如ITU-T H.264/MPEG4、AVC标准。CABAC可涉及若干阶段,包括二值化、上下文模型选择及二进制算术编码。在二值化中,将任何非二进制符号映射为二进制序列(有时称为频率组串)。在上下文建模中,将模型概率分布指派给正被编码的元素(例如,符号)。接着,在后续二进制算术编码阶段中,使用所指派的概率分布来执行编码,以便产生形成正根据所指派的模型概率分布而编码的元素的经编码表示的位序列。
CABAC过程可通过知晓给定上下文中元素的概率而无损地压缩界定视频流的元素。CABAC通常比其它熵编码技术(例如,内容自适应可变长度编码(CAVLC)技术)更有效地压缩数据,但可能要求解码器侧上显著更复杂的处理。在以下出版物中更全面地描述ITU H.264/AVC设定中的CABAC:戴特勒夫·马波(Detlev Marpe)、海柯·斯卡华兹(Heiko Schwarz)及托马斯·维根德(Thomas Wiegand)的“H.264/AVC视频压缩标准中的基于上下文的自适应二进制算数编码(″Context-based Adaptive BinaryArithmetic Coding in the H.264/AVC Video Compression Standard″)”,其于2003年7月在“IEEE视频技术电路及系统译文(″IEEE Translations on Circuits and Systems for VideoTechnology″)”,第13卷,第7号中登载。
发明内容
大体而言,本发明描述可用于针对支持基于上下文的自适应二进制算术编码(CABAC)的视频编码过程而量化视频块的系数的量化技术。所描述的技术可通过在量化过程期间执行及/或估计CABAC步骤中的一些步骤来考虑量化过程期间的CABAC。可使用所述技术来实现视频编码的编码速率与量化步骤中的失真之间的所需平衡。根据所述技术,可针对不同经量化系数组而估计与经由CABAC对视频块进行编码相关联的多个成本。接着,可选择与最低成本相关联的经量化系数组来界定经量化系数。
在一个实例中,本发明提供一种针对支持CABAC的视频编码过程而量化视频块的系数的方法。所述方法包含:针对所述视频块产生多个经量化系数组,其中基于对所述视频块的系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一者;估计与经由CABAC对所述视频块进行编码相关联的多个成本,其中所述所估计的成本分别是基于所述经量化系数组中的不同组;及选择所述经量化系数组中与所述成本中的最低一个成本相关联的给定一个组。
在另一实例中,本发明提供一种经配置以针对支持CABAC的视频编码过程而量化视频块的系数的设备。所述设备包含量化单元,所述量化单元:针对所述视频块产生多个经量化系数组,其中基于对所述视频块的系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一者;估计与经由CABAC对所述视频块进行编码相关联的多个成本,其中所述所估计的成本分别是基于所述经量化系数组中的不同组;及选择所述经量化系数组中与最低成本相关联的给定组。
在另一实例中,本发明提供一种针对支持CABAC的视频编码过程而量化视频块的系数的装置,所述装置包含:用于针对所述视频块而产生多个经量化系数组的装置,其中基于对所述视频块的系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一者;用于估计与经由CABAC对视频块进行编码相关联的多个成本的装置,其中所述所估计的成本分别是基于所述经量化系数组中的不同组;及用于选择所述经量化系数组中与最低成本相关联的给定组的装置。
在另一实例中,本发明提供一种经配置以针对支持基于上下文的自适应二进制算术编码(CABAC)的视频编码过程而量化视频块的系数的装置,所述装置包含编码单元及发射器,所述编码单元包括量化单元及CABAC单元。所述量化单元:计算用于视频块的多个经量化系数组,其中基于对所述视频块的系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一者;估计与经由CABAC对视频块进行编码相关联的多个成本,其中所述所估计的成本分别是基于所述经量化系数组中的不同组;选择所述经量化系数组中与最低成本相关联的给定一个组;及输出所述经量化系数组中的所述给定一个组。所述CABAC单元:接收所述经量化系数组中的所述给定一个组;对所述经量化系数组中的所述给定一个组执行CABAC,以将所述经量化系数组中的所述给定一个组熵编码为位流;及输出所述位流,且发射器发射所述位流。
本发明中所描述的技术可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,则软件可在一个或一个以上处理器如微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP)中执行。执行所述技术的软件最初可存储在计算机可读媒体中且在处理器中加载并执行。
因此,本发明还涵盖一种包含指令的计算机可读媒体,所述指令在执行后即使得装置在支持CABAC的视频编码过程中量化视频块的系数,其中所述指令使得所述装置:针对所述视频块而产生多个经量化系数组,其中基于对所述视频块的系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一者;估计与经由CABAC对所述视频块进行编码相关联的多个成本,其中所述所估计的成本分别是基于所述经量化系数组中的不同组;及选择所述经量化系数组中与最低成本相关联的给定组。
在随附图式及以下描述中阐述本发明的一个或一个以上方面的细节。本发明中所描述的技术的其它特征、目标及优点将从描述及图式且从权利要求书中显而易见。
附图说明
图1是说明视频编码及解码系统的示范性框图。
图2是说明符合本发明的视频编码器的实例的框图。
图3是说明四乘四元素视频块的锯齿形扫描的概念图。
图4是说明符合本发明的视频解码器的实例的框图。
图5到图10是说明符合本发明的技术的流程图。
具体实施方式
图1是说明可实施本发明的技术的一个示范性视频编码及解码系统10的框图。如图1中所示,系统10包括源装置12,其经由通信信道15将经编码的视频发射到目的地装置16。源装置12及目的地装置16可包含广泛范围的装置中的任一者。在一些情况下,源装置12及目的地装置16包含无线通信装置,例如无线手持机、所谓的蜂窝式或卫星无线电电话,或可经由通信信道15传送视频信息的任何无线装置,在此情况下,通信信道15是无线的。然而,本发明的技术(其与量化有关)未必限于无线应用或设定。
在图1的实例中,源装置12可包括视频源20、视频编码器22、调制器/解调器(调制解调器)23及发射器24。目的地装置16可包括接收器26、调制解调器27、视频解码器28及显示装置30。根据本发明,源装置12的视频编码器22可经配置以应用考虑上下文自适应二进制算术编码(CABAC)的效应的量化技术。以此方式,源装置12可实现所需水平的量化,且借此改进编码过程。
图1的所说明系统10只是示范性的。本发明的量化技术可由支持CABAC的任何编码装置执行。源装置12只是此编码装置的一个实例。本发明的量化技术可包括针对支持CABAC以进行熵编码的视频编码过程而量化视频块的系数。在此情况下,视频编码器22可产生用于所述视频块的多个经量化系数组,其中基于对所述视频块的系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一者。所述最后非零系数可视所使用的扫描次序(例如锯齿形扫描)而定。视频编码器22可估计与经由CABAC对视频块进行编码相关联的多个成本,其中所述所估计的成本分别是基于所述经量化系数组中的不同组;且选择所述经量化系数组中与最低成本相关联的给定一个组。在针对将不同系数视为视频块的最后非零系数的单遍中的不同经量化系数组中的每一者而产生所估计的成本的范围内,此方法可称为一遍方法。
或者,本发明的量化技术可遵循两遍方法。在此情况下,所述技术可包括在第一遍中估计视频块的最后非零系数,且接着基于对所估计的最后非零系数实际上是所述视频块的最后非零系数的假定而在第二遍中针对所述视频块而产生经量化系数组。本发明提出组合一遍方法及两遍方法两者。在组合一遍方法中,可将每个可能系数视为是所述最后非零系数,且可针对是最后非零系数的不同系数而产生许多可能的经量化系数组。然而,在两遍方法中,使用估计技术来估计所述最后非零系数,且仅可针对所估计的最后非零系数固定为所述最后非零系数的单个情况而产生并考虑经量化系数组。组合一遍方法与一遍方法相比可能计算上更密集,但在一些情况下可得出更准确的结果。可使用各种额外技术来降低一遍方法的计算复杂性。两遍方法相对于一遍方法可显著降低复杂性,且在许多情况下,相对于一遍方法而言,两遍方法中的编码质量的降低可忽略。
大体而言,源装置12产生经编码视频数据,用于发射到目的地装置16。然而,在一些情况下,装置12、16可以大致对称的方式而操作。举例来说,装置12、16中的每一者可包括视频编码及解码组件。因此,系统10可支持视频装置12、16之间的单向或双向视频发射,例如,以用于视频串流、视频回放、视频广播或视频电话。
源装置12的视频源20可包括视频捕捉装置,例如视频相机、含有先前捕捉的视频的视频档案,或来自视频内容提供者的视频馈入。作为另一替代方案,视频源20可产生基于计算机图形的数据作为源视频,或实时视频(live video)、存档的视频与计算机产生的视频的组合。在一些情况下,如果视频源20为视频相机,则源装置12及目的地装置16可形成所谓的相机电话或视频电话。在每一情况下,所捕捉的、预捕捉的或计算机产生的视频可由视频编码器22编码。接着,经编码的视频信息可由调制解调器23根据通信标准(例如,码分多址(CDMA)或另一通信标准)进行调制,且经由发射器24发射到目的地装置16。调制解调器23可包括各种混频器、滤波器、放大器或为信号调制而设计的其它组件。发射器24可包括为发射数据而设计的电路,包括放大器、滤波器及一个或一个以上天线。
目的地装置16的接收器26经由信道15而接收信息,且调制解调器27解调所述信息。又,视频编码过程可实施本文所述的技术以改进量化过程。视频解码器28所执行的视频解码过程可在重新建构视频序列的过程中执行逆量化。显示装置28向用户显示经解码的视频数据,且可包含多种显示装置中的任一者,例如阴极射线管、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
在图1的实例中,通信信道15可包含任何无线或有线通信媒体,例如射频(RF)频谱或一个或一个以上物理发射线路,或无线媒体与有线媒体的任何组合。通信信道15可形成基于包的网络(例如,局域网络、广域网络,或例如因特网的全球网络)的一部分。通信信道15大体表示任何合适的通信媒体,或不同通信媒体的集合,以用于将视频数据从源装置12发射到目的地装置16。
视频编码器22及视频解码器28可根据支持CABAC的视频压缩标准(例如,ITU-TH.264标准,替代地描述为MPEG-4,第10部分,高级视频编码(AVC))而操作。尽管图1中未展示,但在一些方面中,视频编码器22及视频解码器28可各自与音频编码器及解码器集成,且可包括适当的MUX-DEMUX(多路复用-多路分用)单元,或其它硬件及软件,以处理共同数据流或单独数据流中的音频与视频两者的编码。如果适用,则MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)的其它协议。
ITU-T H.264/MPEG-4(AVC)标准由ITU-T视频编码专家组(VCEG)连同ISO/IEC运动图片专家组(MPEG)制订为被称为联合视频小组(JVT)的集体合作的产品。在一些方面中,本发明中所描述的技术可应用于大体符合H.264标准的装置。在ITU-T研究组发表的且日期为2005年3月的ITU-T建议案H.264“通用视频音频服务的高级视频编码(″Advanced Video Coding for generic audiovisual services″)”中描述了H.264标准,所述标准在本文中可称为H.264标准或H.264规范,或H.264/AVC标准或规范。联合视频小组(JVT)继续致力于对H.264/MPEG-4AVC的扩展。
视频编码器22及视频解码器28各自可实施为一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码器22及视频解码器28中的每一者可包括在一个或一个以上编码器或解码器中,其中任一者可在相应移动装置、订户装置、广播装置、服务器或其类似者中集成为组合编码器/解码器(CODEC)的一部分。
视频序列通常包括一系列视频帧。视频编码器22对个别视频帧内的视频块进行操作,以便对视频数据进行编码。所述视频块可具有固定或变化的大小,且可根据指定编码标准而在大小上有所不同。每一视频帧包括一系列片段。每一片段可包括一系列宏块,其可布置为子块。作为一实例,ITU-T H.264标准支持各种块大小的帧内预测(例如对于亮度(luma)分量而言为16×16、8×8或4×4,且对于色度分量而言为8×8),以及各种块大小的帧间预测(例如对于亮度分量而言为16×16、16×8、8×16、8×8、8×4、4×8及4×4,且对于色度分量而言为对应的按比例缩放的大小)。视频块可包含像素数据块,或变换系数块,例如,遵循例如离散余弦变换的变换过程或概念上类似的变换过程。本发明的量化技术通常应用于经变换视频块的变换系数。
较小的视频块可提供较好的分辨率,且可用于视频帧的包括高水平的细节的位置。大体而言,可将宏块(MB)及各种子块视为视频块。另外,可将片段视为一系列视频块,例如MB及/或子块。每一片段可为视频帧的可独立解码单元。在预测之后,可对8×8剩余块或4×4剩余块执行变换,且如果使用帧内16×16预测模式,则可将额外变换应用于色度分量或亮度分量的4×4块的DC系数。又,在变换之后,所述数据可仍被称为是视频块,亦即,变换系数块。术语“系数”大体指代变换系数,但可替代地指代其它类型的系数或值,例如像素值,或另一类型的系数。
在基于帧内或基于帧间的预测性编码及变换技术(例如,H.264/AVC中所使用的4×4或8×8整数变换或离散余弦变换DCT)之后,可执行量化。下文更详细地论述量化,但量化大体指代对系数进行量化以可能地减少用于表示系数的数据的量的过程。量化过程可减小与一些或所有系数相关联的位深度。举例来说,在量化期间,可将8位值下舍(round down)成7位值。本发明的量化技术考虑将执行CABAC的事实。
确切地说,在量化之后,可根据CABAC方法执行熵编码。本发明提供用于以可实现速率与失真的所需平衡的方式来量化视频块的系数的技术。所描述的技术实施CABAC的估计,以便改进所述量化,且在对通信速率的给定位预算下实现(例如)所需水平的质量。
根据本发明的技术,视频编码器22可针对视频块而产生多个经量化系数组,其中基于所述视频块的系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一者。视频编码器22可估计与经由CABAC对视频块进行编码相关联的多个成本,其中所估计的成本分别是基于所述经量化系数组中的不同组;且选择所述经量化系数组中与最低成本相关联的给定一个组。视频编码器22可将选定的经量化系数组用于视频块的量化。此方法称为一遍方法。
或者,本发明的量化技术可遵循两遍方法。在此情况下,视频编码器22可在第一遍中估计视频块的最后非零系数,且接着基于对所估计的最后非零系数实际上是所述视频块的最后非零系数的假定而在第二遍中针对所述视频块而产生经量化系数组。在两遍方法中,使用估计技术来估计所述最后非零系数,且仅可针对所估计的最后非零系数实际上是所述最后非零系数的情况而考虑经量化系数组。单独的估计遍可消除对执行与不具有正确的系数作为最后非零系数的经量化系数组相关联的计算的需要。
图2是说明包括执行符合本发明的剩余系数的量化的速率一失真(RD)量化单元40的视频编码器50的实例的框图。视频编码器50可对应于装置20的视频编码器22,或不同装置的视频编码器。视频编码器50可执行视频帧内的块的帧内编码及帧间编码。帧内编码依赖于空间预测来减少或移除给定视频帧内的视频中的空间冗余。帧间编码依赖于时间预测来减少或移除视频序列的邻近帧内的视频中的时间冗余。对于帧间编码,视频编码器50执行运动估计以追踪两个或两个以上邻近帧之间的匹配视频块的移动。帧内模式(I模式)可指代基于空间的压缩模式,且例如预测(P模式)或双向(B模式)的帧间模式可指代基于时间的压缩模式。
如图2中所示,视频编码器50接收视频帧内待编码的当前视频块。在图2的实例中,视频编码器50包括预测单元32、参考帧存储装置34、块变换单元38、RD量化单元40、逆量化单元42、逆变换单元44及CABAC编码单元46。还可包括解块滤波器(未图示)以对块边界进行滤波以移除块效应假象(blockiness artifact)。视频编码器50还包括求和器48及求和器51。预测单元32大体表示帧内预测单元及/或帧间预测单元。
在编码过程期间,视频编码器50接收待编码的视频块,且预测单元32执行预测性编码技术。对于帧间编码而言,预测单元32将待编码的视频块与一个或一个以上视频参考帧或片段中的各种块进行比较,以便界定预测性块。对于帧内编码而言,预测单元32基于同一经编码单元内的相邻数据而产生预测性块。预测单元32输出预测块,且加法器48将所述预测块从正被编码的视频块减去,以便产生剩余块。
对于帧间编码而言,预测单元32可包含运动估计及运动补偿单元,其识别指向预测块的运动向量,且基于所述运动向量而产生所述预测块。通常,将运动估计视为产生运动向量的过程,其估计运动。举例来说,所述运动向量可指示预测性帧内的预测性块相对于当前帧内的正被编码的当前块的位移。通常将运动补偿视为基于由运动估计确定的运动向量而提取或产生预测性块的过程。如所提到的,对于帧内编码,预测单元32基于同一经编码单元内的相邻数据而产生预测性块。一个或一个以上帧内预测模式可界定帧内预测块可如何界定。
视频编码器50通过将预测单元32所产生的预测视频块从正被编码的原始视频块减去而形成剩余视频块。求和器48执行此减法运算。变换单元38对所述剩余块应用变换(例如,离散余弦变换(DCT)或概念上类似的变换),从而产生包含剩余变换块系数的视频块。举例来说,变换单元38可执行由H.264标准界定的其它变换,所述变换在概念上类似于DCT。也可使用小波变换、整数变换、次频带变换或其它类型的变换。在任何情况下,变换单元38均对剩余块应用变换,从而产生剩余变换系数块。所述变换可将剩余信息从像素域转换为频域。
RD量化单元40(本文也称为“量化单元40”)对剩余变换系数进行量化以进一步减小位速率。确切地说,量化单元40执行下文更详细描述的量化技术中的一者或一者以上,以便考虑由CABAC单元46执行的CABAC编码。以此方式,量化单元40可实施速率-失真模型并实现所要水平的量化,其(例如)针对给定速率或位预算而实现所需数目的位。
在量化之后,CABAC单元46根据CABAC方法对经量化的变换系数进行熵编码,以进一步压缩数据。在由CABAC单元46进行的熵编码之后,可将经编码的视频发射到另一装置或存档以供稍后发射或检索。逆量化单元42及逆变换单元44分别应用逆量化及逆变换,以在像素域中重新建构剩余块以用作参考块。求和器51将经重新建构的剩余块与运动补偿单元36所产生的经运动补偿的预测块相加,以产生经重新建构的视频块以存储在参考帧存储装置34中。所述经重新建构的视频块可由预测单元32用作参考块,以对后续视频帧中的块进行帧间编码。
可将预测误差E(x,y)(亦即正被编码的块I(x,y)与预测的块P(x,y)之间的差异)表示为变换基础函数fij(x,y)的加权和:
E ( x , y ) = Σ i = 1 N Σ j = 1 N c ij f ij ( x , y )
其中x及y界定给定系数在视频块内的位置,且cij为加权因子,有时称为预测误差系数。通常在8×8(N=8)或4×4(N=4)块基础上执行所述变换。随后可如下量化权重cij
lij=Q(cij,QP)
其中lij被称为经量化的系数或水平,QP为量化参数,且Q为界定量化步长的量化矩阵。量化的运算引入信息损失。然而,可用较小数目的位来表示经量化的系数,借此节省发射带宽、存储空间及处理资源。按照惯例通过调整QP的值来控制压缩的水平(信息损失)。
经量化的变换系数连同运动向量及一些控制信息可形成完整的经编码元素序列。在从编码装置发射到解码装置之前,所有这些元素通常经熵编码,以便进一步减少其表示所需要的位的数目。
在解码器侧上,通过首先以与编码器中相同的方式建构其预测且通过将经压缩预测误差添加到所述预测来获得当前帧中的块。通过对经解量化的系数应用逆变换来得出经压缩预测误差,如下:
E ~ ( x , y ) = Σ i = 1 N Σ j = 1 N r ij r ~ ij ( x , y )
其中rij为经解量化(也称为经重新建构)的系数。可通过逆量化来计算系数rij
rij=Q-1(lij,QP)
经重新建构的帧R(x,y)与原始帧I(x,y)之间的差异可称为重新建构误差。
按照惯例,视频编解码器中的变换系数的量化通常是基于统一重新建构量化器(URQ)。对数据进行量化的分类规则由编码器界定。量化的一个实例是所谓的死区加统一阈值量化(DZ-UTQ)方法。下文的等式界定此死区量化器,其中f0表示死区参数,其中0≤f0≤0.5:
Figure GSB00000787494100102
其中lij对应于与给定QP相关联的水平。
概念上,可通过使lij与对应的QP相乘而导出对应于水平lij的重新建构值rij
rij=lij·QP
等式
Figure GSB00000787494100111
及rij=lij·QP表示针对MPEG-4AVC而实际上指定的等式的数学上简化的版本,因为出于简单性目的而忽略了用于使对应的基础函数标准化的不同比例因子。
在H.264及MPEG-4AVC中,可根据以下等式来执行量化:
lij=sgn(cij)[|cij|·Q(QP%6,i,j)+f]/215+QP/6,i,j=0,...,3
其中Q表示量化矩阵,%表示模除法,且f针对帧内帧而言等于215+QP/6/3,且针对帧间帧而言等于215+QP/6/6。可根据以下等式来执行系数的解量化:
rij=lij·R(QP%6,i,j),i,j=0,...,3
其中R表示解量化矩阵。与Q及R相关联的值为QP%6=0.1,...,5,且可经预计算及存储。
可使用锯齿形扫描或另一扫描次序来对给定块中的系数进行排序(扫描),从而产生经一维排序的系数向量。扫描(例如,锯齿形扫描)也可称为串行化,因为与所述块所界定的二维图案相比其产生一维系数系列。针对4×4块的实例锯齿形扫描出现在图3中。锯齿形扫描大体假定,在应用二维(2D)变换之后,具有最多能量的变换系数(亦即,较高值系数)对应于低频率变换函数,且朝向所述块的左上部而定位,如图3中所描绘。因此,在通过锯齿形扫描产生的系数向量中,较高量值系数将最有可能朝向经一维排序的系数向量的开头出现。在量化之后,低能量系数中的大多数可能等于0。
CABAC是H.264/AVC中所使用的对变换系数进行编码的一种方法。图2的CABAC编码单元46可执行此编码。大体而言,使用CABAC对任何数据符号进行编码可涉及以下阶段:二值化、上下文模型选择、算术编码及概率更新。对于二值化而言,CABAC单元46在算术编码之前将任何为非二进制值的符号转换为二进制代码。在上下文模型选择中,CABAC单元46例如依据与最近编码的数据符号相关联的统计数据从可用模型的选集中选择上下文模型。“上下文模型”是经二值化的符号的一个或一个以上频率组的概率模型。此模型可依据最近编码的数据符号的统计数据而选自可用模型的选集。上下文模型将每一频率组的概率存储为“1”或“0”。
对于算术编码而言,CABAC单元46根据选定概率模型(也称为上下文模型)对每一频率组进行编码。基于实际经编码值(例如,如果频率组值为“1”,则“1”的频率计数增加)而更新选定概率模型(概率更新)。CABAC中的概率估计可基于使用有限状态机(FSM)的表驱动估计器。在此情况下,CABAC中的每一概率模型可从128个不同状态中取出具有相关联的概率值p的一个状态。可通过是两个二进制决策“0”或“1”中概率最小的“最小概率符号”的六十四个单独概率状态之间的转变过程来执行概率更新。可针对经二值化的符号的每一位(或“频率组”)而重复上下文模型选择、算术编码及概率更新。
CABAC单元46使用CABAC对变换系数进行编码包括所谓的显著性映射的编码及非零系数的编码。如果块具有非零系数,则对为二进制值的显著性映射进行编码。对于扫描次序中的每一系数,发射一位符号significant_coeff_flag。如果significant_coeff_flag符号为一,即,如果相应扫描位置处存在非零系数,则发送另一一位符号last_significant_coeff_flag。此last_significant_coeff_flag符号指示当前非零系数是否为块内部的最后非零系数(last_significant_coeff_flag=1),或是否后面有其它非零系数(last_significant_coeff_flag=0)。
对于对显著性映射进行编码而言,可将多达十五个不同概率模型用于significant_coeff_flag及last_significant_coeff_flag两者。模型的选择及因此对应上下文索引可视扫描位置而定。对于对非零水平coeff_abs_level_minus 1=|lij|-1编码而言,可使用十个上下文,其中所述上下文中的五个用于对二进制表示的第一位进行编码,且其它五个专用于对第二到第14位进行编码。所述上下文可由CABAC单元46选择,如下:
1.将参数NumLg1及NumEq1分别设定为等于块中至此为止经编码的大于一及等于一的系数的数目。以逆向扫描次序对非零水平进行编码,且因此更新参数NumLg1及NumEq1,亦即,首先对对应于高频率变换函数的系数进行编码。
2.可通过以下等式来确定经二值化符号的第一位的上下文:
3.可通过以下等式来选择经二值化符号的第2到第14位的上下文:
Ctx2=min(4,NumLg1)。
CABAC单元46还可支持具有固定分布的旁路模式。coeff_abs_level_minus 1的二进制表示中的其它位可经过旁路模式。最终,可使用每一非零系数的一个位来发送非零系数的正负号,例如,其中1指示正且0指示负(或与此相反)。
针对每一N×N视频块,在给定其变换系数cij的情况下,需要得出对应的经量化系数lij(其确定经重新建构的系数rij),使得预测误差E(x,y)与所述预测误差的经重新建构的版本
Figure GSB00000787494100131
之间的均方误差(MSE)失真D在对系数进行编码的速率R的约束的条件下最小化。换句话说,目标是使以下表达最小化:
min [ D ( E ( x , y ) - E ~ ( x , y ) ) ] 条件为R<Rbudget
可使用其它加法失真量度来替代MSE,例如,经活动性加权的MSE。使上述等式最小化的受速率约束的问题可通过经由使用拉格朗日乘数(Lagrange multiplier)λ“合并,,速率与失真而转换为等效的不受约束的问题来解决。在此情况下,不受约束的问题变为确定(针对固定λ)系数水平,其产生如下界定的最小总拉格朗日成本:
J ( λ ) = D ( E ( x , y ) - E ~ ( x , y ) ) + λR .
在H.264的情况下,给定块的平方重新建构误差
D = ( E ( x , y ) - E ~ ( x , y ) ) 2 = ( Σ i = 1 N Σ j = 1 N c ij f ij ( x , y ) - Σ i = 1 N Σ j = 1 N r ij f ij ( x , y ) ) 2
与以下平方量化误差成比例:
Σ i = 1 N Σ j = 1 N ( r ij - c ij ) 2 .
速率R是对经量化系数lij进行编码所需的位的数目。
下文所论述的所提出算法得出经量化系数值lij,针对所述经量化系数值lij,总拉格朗日成本函数J(λ)的值接近于其最小值。
因为MPEG-4AVC中所使用的变换是正交的,所以可将拉格朗日成本J(λ)计算为:
J ( λ ) = Σ i = 1 N Σ j = 1 N J ( λ , c ij , l ij ) .
在此情况下,J(λ,cij,lij)在经量化为水平lij时为系数cij的拉格朗日成本。换句话说:
J(λ,cij,lij)=err(cij,lij)+λ·bits(lij)。
量化误差err(cij,lij)与(rij-cij)2成比例:
err(cij,lij)=N(QP%6,i,j)·(rij-cij)2
又,QP表示量化参数,且%表示模除法。N(QP%6,i,j)表示标准化矩阵。编码质量通常随QP变小而提高。亦即,QP的较小值通常对应于较少的量化,且因此对应于较高质量编码。或者,倘若QP以此方式界定,编码质量可随QP变小而降低。
在量化及解量化矩阵Q及R的情况下,标准化矩阵N(QP%6,i,j)的值可仅视在由i及j以及值QP%6=0,1,...,5指定的块中的位置而定。可通过使用CABAC的一部分(例如,如针对ITU H.264而界定)对lij进行编码来计算对值lij进行编码所需的位(“bits(lij)”)的数目。然而,并非执行所有CABAC步骤,RD量化单元40出于量化的目的可仅执行CABAC的前两个步骤。所述前两个步骤包括二值化及上下文模型选择。接着,替代于调用算术编码器来执行二进制算术编码,RD量化单元40可估计对每一频率组进行编码所需的位的数目。假定为给定频率组选择的上下文对应于有限状态机中的状态m,则可将对给定频率组进行编码所需的位的所估计数目表示为指派给状态m的概率p的熵。RD量化单元40每宏块一次地确定每一频率组的上下文可能是足够的。
对于每一系数cij而言,可测试水平|lij|的至多3个可能值:0、
Figure GSB00000787494100142
Figure GSB00000787494100143
与单遍实例一样,在此两遍方法中,可如下计算4×4块值
Figure GSB00000787494100145
l ij float = | c ij | · Q ( QP % 6 , i , j ) / 2 15 + QP / 6 ,
l ij floor = floor ( l ij float ) ,
l ij ceil = l ij floor + 1 .
可假定使用锯齿形扫描来对给定块中的系数进行排序(扫描),此产生经一维排序的系数向量。所述经排序的系数可表示为ci,其中i=0,...,M,且(例如)M对于4×4块而言等于15,且对于8×8块而言等于63。
根据本发明,RD量化单元40可产生经量化系数/水平li,如下:
1.计算拉格朗日成本Jk(λ),且产生经量化系数的向量lk,假定系数ck(k=M,M-1,...,0)为块中的最后非零系数,亦即,用于扫描位置k的last_significant_coeff_flag等于1。
a.对于每一系数ci(i=k-1,...,0),当经量化值li等于预选定的值组(如0、lfloor及lceil)时,计算所述系数的拉格朗日成本J(λ,ci,li)。
2.挑选li的使J(λ,ci,li)最小化的值,且使用对应于li的选定值的J(λ,ci,li)来更新拉格朗日成本Jk(λ)。
RD量化单元40所执行的量化技术的速度可如下增加。
1.系数ci相较于距lceil而言更接近于lfloor(如通过(例如)lfloat与lfloor或lceil之间的绝对距离而测量),则在上文的步骤1.a中可仅考虑值lfloor
2.系数ck相较于距lceil而言更接近于lfloor,且lfloor等于零,则系数ck不可能为最后非零系数。因此,在此情况下,可针对k的此值而跳过拉格朗日成本Jk(λ)的计算。
3.当Jk(λ)开始随k的减小而增加时,可终止Jk(λ)的计算。
总而言之,RD量化单元40可针对支持CABAC的视频编码过程而量化视频块的系数。RD量化单元40可针对所述视频块产生多个经量化系数组,其中基于所述视频块的系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一者;估计与经由CABAC对视频块进行编码相关联的多个成本,其中所估计的成本分别是基于所述经量化系数组中的不同组;选择所述经量化系数组中与最低成本相关联的给定一个组;且将所述经量化系数组中的所述给定一个组输出到CABAC编码单元46。CABAC编码单元46可接着对所述经量化系数组中的所述给定一个组执行CABAC过程,以将所述经量化系数组中的所述给定一个组熵编码为位流,并输出所述位流。
量化单元40可通过计算与速率-失真模型相关联的拉格朗日成本函数来估计成本。与所述经量化系数组中的所述选定一个组相关联的特定成本界定与多个成本相关联的位的最低数目。量化单元40可存储指示位的最低数目的值,其与特定成本相关联。
拉格朗日成本函数可界定与所述经量化系数组中的经量化系数中的每一者相关联的个别系数拉格朗日成本组。对于经量化系数的等于零、最低值及最高值的值,量化单元40计算与所述经量化系数组中的所述经量化系数相关联的个别系数拉格朗日成本组。上文描述了这些值的实例。大体而言,所述最低值是基于视频块的系数中的个别一个系数的绝对值、量化参数及量化矩阵,且最高值包含最低值加一。
为了加速此量化过程,量化单元40可实施类似上文所提及的技术的加速技术。举例来说,对于所述经量化系数中的个别一个系数,如果所述经量化系数中的所述个别一个系数相较于距最高值而言更接近于最低值,则针对等于最高值的值,量化单元40可跳过与所述经量化系数中的所述个别一个系数相关联的个别系数拉格朗日成本的计算。
又,如果视频块的系数中的针对所述经量化系数组中的一者而对应于视频块的最后非零系数的特定一个系数界定相较于距最高值而言更接近于最低值的值,且如果最低值等于零,则RD量化单元40可跳过估计与对用于所述经量化系数组中的所述一者的视频块进行编码相关联的特定成本。另外,当用于界定与所述组中的特定一个组相关联的特定拉格朗日成本的求和开始随视频块的系数的值减小而增加时,RD量化单元40可终止估计与所述组中的所述特定一个组相关联的多个成本。可使用这些或其它技术来加速量化过程,而不会使经编码视频中的质量降级。
图4是说明视频解码器60的实例的框图,视频解码器60对以本文所述的方式编码的视频序列进行解码。视频解码器60包括CABAC解码单元52,其执行由图3的CABAC单元46执行的编码的互逆解码功能。
视频解码器60可对视频帧内的块执行帧内解码及帧间解码。在图4的实例中,视频解码器60包括CABAC解码单元52(上文所提及)、运动补偿单元54、逆量化单元56、逆变换单元58及参考帧存储装置62。视频解码器60还包括求和器64。任选地,视频解码器60还可包括解块滤波器(未图示),其对求和器64的输出进行滤波。图4说明用于对视频块进行帧间解码的视频解码器60的时间预测组件。尽管图4中未展示,但视频解码器60还可包括用于对一些视频块进行帧内解码的空间预测组件。
在由CABAC解码单元52执行的CABAC解码之后,运动补偿单元54接收运动向量及来自参考帧存储装置62的一个或一个以上经重新建构的参考帧。逆量化单元56对经量化的块系数进行逆量化,亦即,解量化。逆量化过程可为如H.264解码所界定的常规过程。逆变换单元58对变换系数应用逆变换,例如,逆DCT或概念上类似的逆变换过程,以便在像素域中产生剩余块。运动补偿单元54产生经运动补偿的块,求和器64对所述块与剩余块进行求和以形成经解码的块。如果需要,还可应用解块滤波器来对经解码的块进行滤波以便移除块效应假象。接着,将经滤波的块放置在参考帧存储装置62中,存储装置62从运动补偿提供参考块且还对驱动显示装置(例如,图1的装置28)产生经解码的视频。
图5是说明由视频编码器50执行的一遍技术的流程图。如图所示,速率-失真(RD)量化单元40基于非零系数假定而产生经量化系数组(101)。确切地说,RD量化单元40假定给定系数为最后非零系数,且基于此假定而计算用于所述视频块的系数组。RD量化单元40接下来假定另一系数为最后非零系数,且基于此假定而产生用于所述视频块的另一系数组,依此类推。
对于经量化系数组中的每一者,量化单元基于拉格朗日成本函数而估计成本(102)。确切地说,对于每一组,RD量化单元40在多个可能值(例如,零、最低值及最高值)下确定用于每一系数的个别拉格朗日成本函数。所述最低值可基于视频块的系数中的个别一个系数的绝对值、量化参数及量化矩阵(或其参数),且最高值可包含最低值加一。
RD量化单元40选择具有最低总拉格朗日成本的经量化系数组(103)。确切地说,RD量化单元40对一组的每一系数的最低个别拉格朗日成本进行求和,且针对每一可能组重复此过程。又,拉格朗日成本平衡速率与失真的成本。RD量化单元40选择具有总最低拉格朗日的组(103),且RD量化单元40将选定经量化系数组输出到CABAC编码单元46(104)。CABAC编码单元46基于选定经量化系数组及任何其它语法参数而执行CABAC以产生经编码的位流(105),且输出所述经编码的位流(106)。
图6是更详细地说明估计成本的示范性过程的另一流程图。确切地说,量化单元40针对零值、最低值及最高值而计算每一系数的个别拉格朗日成本函数。又,所述最低值可基于视频块的系数中的个别一个系数的绝对值、量化参数及量化矩阵(或从所述矩阵映射的参数),且最高值可包含最低值加一。
如上文所提,RD量化单元40可如何计算4×4块的系数cij的最低值(lfloor)及最高值(lceil)的一个实例如下:
lfloat=|cij|·Q(QP%6,i,j)/215+QP/6
lfloor=floor(lfoat),
lceil=lfloor+1。
又,运算底部(Ifloat)表示与Ifloat相关联的最低值,QP表示量化参数,且Q表示例如针对H.264/AVC而界定的量化矩阵的量化矩阵。QP%6、i及j的值可用于界定来自矩阵Q的参数。函数%表示模除法。
RD量化单元40为每一系数选择最低成本个别系数拉格朗日成本函数(111),且(例如)通过对选定个别系数拉格朗日成本进行求和来确定所述组的总拉格朗日成本(112)。如果存在另一经量化系数组要考虑(113的“是”分支),则RD量化单元40重复步骤的此过程(110到112)。确切地说,对于通过假定给定系数为最后非零系数而界定的每一系数组,量化单元40重复步骤的此过程(110到112)。一旦已针对每一可能的经量化系数组(由最后非零系数假定界定)而确定总拉格朗日成本,则RD量化单元40选择具有最低总拉格朗日成本的经量化系数组(114)。
图7到图9说明可用于加速量化过程而不实质上牺牲经量化系数中的质量的任选技术。图7到图9的技术可个别地或共同地使用。图7到图9的技术最适用于一遍量化过程,但这些技术中的一些(确切地说是图7的技术)也可用于下文更详细陈述的两遍量化。如图7中所示,如果个别经量化系数相较于距顶部而言更接近于底部(121的“是”分支),则RD量化单元40可在最高值处跳过与个别经量化系数相关联的个别系数拉格朗日成本的计算(122)。在此情况下,RD量化单元40可假定与个别经量化系数相关联的个别系数拉格朗日成本将在零或最低值处最小化。因此,在此情况下,RD量化单元40可在最高值处避免与同个别经量化系数相关联的拉格朗日成本的计算相关联的不必要计算。然而,如果个别经量化系数并非相较于距顶部而言更接近于底部(121的“否”分支),则不跳过所述计算(123)。
在图8的技术中,RD量化单元40确定最低值是否等于零(131)且对应于最后非零系数的特定系数是否相较于距顶部而言更接近于底部(132)。如果这两个可能性均为真(131的“是”分支及132的“是”分支),则RD量化单元40可跳过针对与所述特定最后非零系数相关联的特定经量化系数组而估计与对视频块进行编码相关联的特定成本(133)。在此情况下,RD量化单元40可假定所述特定经量化系数组的总拉格朗日成本将不包含最小值,且即使所述值被完全计算也不会被选择。因此,在此情况下可跳过对特定成本的计算。然而,如果这些可能性中的任一者为假(131的“否”分支或132的“否”分支),则RD量化单元40不跳过对特定成本的估计。图8的技术是RD量化单元40避免一些不必要计算的另一方式。
在图9的技术中,RD量化单元40监视界定特定成本的求和,即,监视经量化系数中的每一者的个别拉格朗日成本的求和,以界定与给定系数组相关联的总拉格朗日成本。如果用以界定特定成本中的一者的求和开始随视频块的系数的值减小而增加(141的“是”分支),则RD量化单元40终止对所述组的多个成本的估计(142)。在此情况下,RD量化单元40可假定与给定系数组相关联的总拉格朗日成本将不是总最小值。因此,当识别出步骤141的可能性(141的“是”分支)时,可避免计算。当求和不随视频块的系数的值减小而增加(141的“否”分支)时,不终止计算(143)。
如上文所提及,本发明也涵盖两遍方法。在两遍方法中,本发明的技术可包括在第一遍中估计视频块的最后非零系数,且接着基于对所估计的最后非零系数实际上为所述视频块的最后非零系数的假定而在第二遍中针对所述视频块产生经量化系数组。单独的估计遍可消除对执行与不具有正确系数作为最后非零系数的经量化系数组相关联的计算的需要。根据本发明,RD量化单元40可根据如下文更详细概述的此两遍方法而产生经量化系数。
类似于单遍方法,下文所论述的所提出的两遍算法得出经量化系数值lij,对于所述经量化系数值lij,总拉格朗日成本函数J(λ)的值接近于其最小值。两遍方法的特征可在于复杂性低于基于穷举搜索而使总拉格朗日成本函数J(λ)最小化的方法。
对于每一系数cij而言,可测试水平|lij|的至多3个可能值:0、
Figure GSB00000787494100191
Figure GSB00000787494100192
与单遍实例一样,在此两遍方法中,可如下计算4×4块值
Figure GSB00000787494100193
Figure GSB00000787494100194
l ij float = | c ij | · Q ( QP % 6 , i , j ) / 2 15 + QP / 6 ,
l ij floor = floor ( l ij float ) ,
l ij ceil = l ij floor + 1 .
此外,为了降低复杂性,如果系数cij相较于距
Figure GSB00000787494100198
而言更接近于
Figure GSB00000787494100199
(例如,如由
Figure GSB000007874941001910
Figure GSB000007874941001911
Figure GSB000007874941001912
之间的绝对距离测量),则仅考虑值
Figure GSB000007874941001913
如果cij相较于1而言更接近于水平0,则其可被指派有水平0,而不进行任何进一步分析。换句话说,可在两遍方法的第二遍期间应用图7的技术。
可假定给定块中的系数是使用锯齿形扫描(例如,如图3中所示)进行排序(扫描)的,从而产生经一维排序的系数向量。经排序的系数可表示为ci,其中i=0,...,M,且(例如)M对于4×4块而言等于15,且对于8×8块而言等于63。
RD量化单元40可使用以下符号,以便计算对除正负号位之外的li的值进行编码所需的位:
significant_coeff_flag,其指示系数是否为非零,
last_significant_coeff_flag,其识别最后非零系数,及
coeff_abs_level_minus1,其表示系数的绝对值减1。
在significant_coeff_flag及last_significant_coeff_flag的情况下,上下文及因此对符号进行编码所需的位可仅视扫描位置i而定。然而,用于coeff_abs_level_minus1的频率组的上下文(例如,包括第一频率组-greater_than_1符号)可视以反向次序扫描的其它非零水平的值而定。换句话说,li的上下文视具有索引j的经量化系数的值(其中j>i)而定。
因此,RD量化单元40可在两个单独遍中获得经量化系数/水平li。在第一遍中,RD量化单元40可估计哪一系数应为最后非零系数。此所估计的最后非零系数可表示为ck。在第二遍中,RD量化单元40可在假定系数ck实际上为块中的最后非零系数的情况下确定并产生经量化系数的最终值。
在实施中,在第一遍中,RD量化单元40可仅考虑系数
Figure GSB00000787494100201
其中:
i1
Figure GSB00000787494100202
的情况下i的最大值,且
i0
Figure GSB00000787494100203
的情况下i的最大值,或如果此索引不存在,则i0=0。
此外,为了降低复杂性,当将系数ci(i=i0,...,i1)量化为li=0时,可将Jsum的值预计算为量化误差的总和err(ci,li),如下:
J sum = Σ i = i 0 i 1 err ( c i , 0 ) .
RD量化单元40可在第一遍中执行一些或所有以下步骤,所述第一遍用于估计视频块的最后非零系数。
1)如果对于系数
Figure GSB00000787494100205
Figure GSB00000787494100206
则:
a)更新Jsum的值:
J sum = J sum - err ( c i 0 , 0 ) .
b)当
Figure GSB00000787494100212
为最后非零系数时,计算所述块的拉格朗日成本
Figure GSB00000787494100213
的近似值为:
J i 0 ( λ ) = J sum + λ · ( bits last = 1 - bits last = 0 ) .
在此情况下,bitslast=1为指示
Figure GSB00000787494100215
为最后非零系数所需的位的数目(亦即,用以将last_significant_coeff_flag编码为等于1的位的数目)的近似值。此外,bitslast=0为指示
Figure GSB00000787494100216
非最后非零系数所需的位的数目(亦即,用以将last_significant_coeff_flag编码为等于0的位的数目)的近似值。
c)将起始索引i0更新为i0=i0+1。
2)对于系数ci,其中i=i0,...,i1
a)更新Jsum的值:
Jsum=Jsum-err(ci,0)。
b)当ci经量化为0时,得出拉格朗日成本J(λ,ci,0)。
c)如果系数ci相较于1而言更接近于0,则如下计算Jsum的更新值:
Jsum=Jsum+J(λ,ci,0)
d)如果系数ci相较于0而言更接近于1,则计算拉格朗日成本的两个额外值:
i)Jlast=0(λ,ci,1)-ci经量化为1,且非最后非零系数,
ii)Jlast=1(λ,ci,1)-ci经量化为1,且为最后非零系数。
更新Jsum的值:
Jsum=Jsum+min(J(λ,ci,0),Jlast=0(λ,ci,1))。
当ci为最后非零系数时,拉格朗日成本Ji(λ)的近似值为:
Ji(λ)=Jsum+Jlast=1(λ,ci,1)
当计算将经量化系数的值编码为等于1所需的位时,RD量化单元40将greater_than_1符号的上下文固定为5个可能值中的一者。
假定具有Jk(λ)的最小对应值的系数ck为块中的最后非零系数。
在上文的步骤中,RD量化单元40在不明确考虑每个可能最后非零系数的每个可能情形的情况下估计视频块的最后非零系数。在此情况下,RD量化单元40通过求与经由CABAC对视频块进行编码相关联的成本的近似值来估计所述最后非零系数。近似成本中的不同成本对应于是最后非零系数的不同系数。最终的所估计的最后非零系数界定最低近似成本。步骤1可被视为特殊情况,而步骤2可关于大多数系数而执行。
在上文的步骤中,RD量化单元40通过循序地将视频块的系数中的每一者视为是最后非零系数而以循序方式界定近似成本中的不同成本。在如此做的过程中,当将视频块的系数中的每一者视为最后非零系数时,RD量化单元40循序地向上及向下调整所累加的成本。确切地说,上文的步骤2(a)(其中将Jsum更新为Jsum=Jsum-err(ci,0))可使得所累加的成本减小。在此情况下,步骤2(a)可使得Jsum变得更小。另一方面,步骤2(c)及2(d)(其中将Jsum的值更新为Jsum=Jsum+J(λ,ci,0)或更新为Jsum=Jsum+min(J(λ,ci,0),Jlast=0(λ,ci,1)))可使得所累加的成本变得更大。因此,RD量化单元40通过循序地将视频块的系数中的每一者视为是最后非零系数而以循序方式界定近似成本中的不同成本,且在如此做的过程中,通过向上及向下调整来累加总成本。以此方式,RD量化单元40在不明确考虑每个可能最后非零系数的每个可能情形的情况下估计视频块的最后非零系数。
一旦RD量化单元40已估计出最后非零系数,则RD量化单元40可执行第二遍,其基于对所估计的最后非零系数实际上为视频块的最后非零系数的假定而针对所述视频块产生经量化系数组。确切地说,在第二遍中,RD量化单元40在假定第一遍中所选择的系数ck实际上为视频块中的最后非零系数的情况下确定每一经量化系数的最终值。在此情况下,对于每一系数ci(i=k,...,0),RD量化单元40得出拉格朗日成本J(λ,ci,li)经最小化的情况下水平li的值。如先前所描述,可考虑水平li的三个不同值,例如,0、
Figure GSB00000787494100221
Figure GSB00000787494100222
为了在对水平li的值进行编码时计算上下文,可使用已为水平lj(j=k,...,i+1)选择的值。
换句话说,产生经量化系数组可包含计算与用于视频块的经量化系数组中如具有等于零、最低值及最高值的值的每一可能的非零经量化系数相关联的拉格朗日成本。又,所述最低值可基于视频块的系数中的个别一个系数的绝对值、量化参数及量化矩阵,且所述最高值可包含最低值加一。
图10是说明可使用上文概述的两遍方法的编码技术的流程图。在此情况下,RD量化单元40估计视频块的最后非零系数(151)。如上文所解释,此估计步骤(151)可包括求与经由CABAC对视频块进行编码相关联的成本的近似值,且所述近似成本中的不同成本可对应于是最后非零系数的不同系数。在此情况下,最终的所估计的最后非零系数界定最低近似成本。
此外,在估计步骤(151)期间,RD量化单元40可通过循序地将视频块的系数中的每一者视为是最后非零系数而以循序方式界定近似成本中的不同成本。在如此做的过程中,当将视频块的系数中的每一者视为是最后非零系数时,RD量化单元40循序地向上及向下调整所累加的成本。
接下来,RD量化单元40基于对所估计的最后非零系数实际上为最后非零系数的假定而产生经量化系数组(152)。产生步骤(152)可包括计算与用于视频块的经量化系数组中的如具有等于零、最低值及最高值的值的每一可能非零经量化系数相关联的拉格朗日成本。一旦经产生,则RD量化单元40可将经量化系数组输出到CABAC单元46,其对所产生的经量化系数组执行CABAC,以将所产生的经量化系数组熵编码为位流(153)。接着可输出经编码的位流,且可能对其进行调制并将其发射到另一装置。
本发明的所述技术可在广泛多种装置或设备中实施,包括无线手持机及集成电路(IC)或一组IC(亦即,芯片组)。已描述经提供以强调功能方面的任何组件、模块或单元,且其未必需要通过不同硬件单元等来实现。
因此,本文所描述的技术可以硬件、软件、固件或其任何组合来实施。描述为模块或组件的任何特征可一起实施在集成逻辑装置中或单独地实施为离散但可交互操作的逻辑装置。如果以软件来实施,则所述技术可通过一包含在经执行时执行上述方法中的一者或一者以上的指令的计算机可读媒体来至少部分地实现。计算机可读数据存储媒体可形成可包括封装材料的计算机程序产品的一部分。计算机可读媒体可包含例如同步动态随机存取存储器(SDRAM)的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体及其类似者。另外或替代地,可至少部分地通过计算机可读通信媒体来实现所述技术,所述计算机可读通信媒体以指令或数据结构的形式来载运或传送代码,且可由计算机来存取、读取及/或执行。
代码可由一个或一个以上处理器来执行,所述一个或一个以上处理器例如是一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA),或其它等效集成或离散逻辑电路。因此,本文中所使用的术语“处理器”可指代上述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可在经配置以用于编码及解码的专用软件模块或硬件模块内提供,或并入组合视频编码器-解码器(CODEC)中。又,所述技术可在一个或一个以上电路或逻辑元件中完整地实施。
已描述了本发明的各种方面。这些及其它方面在随附权利要求书的范围内。

Claims (28)

1.一种针对支持基于上下文的自适应二进制算术编码CABAC的视频编码过程而量化视频块的系数的方法,所述方法包含:
针对所述视频块而产生多个经量化系数组,其中基于所述视频块的所述系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一个组;
估计与经由所述CABAC对所述视频块进行编码相关联的多个成本,其中所述所估计的成本分别是基于所述经量化系数组中的不同组,其中估计所述多个成本包含计算与速率一失真模型相关联的拉格朗日成本函数,且其中所述拉格朗日成本函数界定与所述经量化系数组中的经量化系数中的每一者相关联的个别系数拉格朗日成本组;
针对所述经量化系数的等于零值、最低值及最高值的值而计算与所述经量化系数组中的所述经量化系数相关联的所述个别系数拉格朗日成本组;以及
选择所述经量化系数组中与所述成本中的最低一个成本相关联的给定一个组,其中与所述经量化系数组中的所选择的组相关联的特定成本界定与所述多个成本相关联的位的最低数目。
2.根据权利要求1所述的方法,其进一步包含输出所述经量化系数组中的所述给定一个组。
3.根据权利要求2所述的方法,其进一步包含:
接收所述经量化系数组中的所述给定一个组;
对所述经量化系数组中的所述给定一个组执行所述CABAC,以将所述经量化系数组中的所述给定一个组熵编码为位流;以及
输出所述位流。
4.根据权利要求1所述的方法,其进一步包含存储指示位的所述最低数目的值,所述值与所述特定成本相关联。
5.根据权利要求1所述的方法,其中所述最低值是基于所述视频块的所述系数中的个别一个系数的绝对值、量化参数及量化矩阵,且其中所述最高值包含所述最低值加。
6.根据权利要求1所述的方法,其进一步包含针对所述经量化系数中的个别一个系数:
如果所述经量化系数中的所述个别一个系数相较于距所述最高值而言更接近于所述最低值,则针对等于所述最高值的值,跳过与所述经量化系数中的所述个别一个系数相关联的个别系数拉格朗日成本的计算。
7.根据权利要求1所述的方法,其进一步包含:
如果所述视频块的所述系数中的针对所述经量化系数组中的一个组对应于所述视频块的所述最后非零系数的所述特定一个系数界定相较于距所述最高值而言更接近于所述最低值的值,且如果所述最低值等于零,则针对所述经量化系数组中的所述一个组,跳过估计与对所述视频块进行编码相关联的特定成本。
8.根据权利要求1所述的方法,其进一步包含:
当用以界定与所述经量化系数组中的特定一个组相关联的特定拉格朗日成本的求和开始随所述视频块的所述系数的值减小而增加时,终止估计与所述经量化系数组中的所述特定一个组相关联的所述多个成本。
9.一种经配置以针对支持基于上下文的自适应二进制算术编码CABAC的视频编码过程而量化视频块的系数的设备,所述设备包含:
量化单元,其:
针对所述视频块而产生多个经量化系数组,其中基于所述视频块的所述系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一个组;
估计与经由所述CABAC对所述视频块进行编码相关联的多个成本,其中所述所估计的成本分别是基于所述经量化系数组中的不同组,其中在估计所述多个成本的过程中,所述量化单元计算与速率-失真模型相关联的拉格朗日成本函数,且其中所述拉格朗日成本函数界定与所述经量化系数组中的经量化系数中的每一者相关联的个别系数拉格朗日成本组;
针对所述经量化系数的等于零值、最低值及最高值的值而计算与所述经量化系数组中的所述经量化系数相关联的所述个别系数拉格朗日成本组;以及
选择所述经量化系数组中与最低成本相关联的给定一个组,其中与所述经量化系数组中的所选择的组相关联的特定成本界定与所述多个成本相关联的位的最低数目。
10.根据权利要求9所述的设备,其中所述量化单元:
输出所述经量化系数组中的所述给定一个组。
11.根据权利要求10所述的设备,其进一步包含CABAC单元,所述CABAC单元:
接收所述经量化系数组中的所述给定一个组;
对所述经量化系数组中的所述给定一个组执行所述CABAC,以将所述经量化系数组中的所述给定一个组熵编码为位流;以及
输出所述位流。
12.根据权利要求9所述的设备,其中所述量化单元存储指示位的所述最低数目的值,所述值与所述特定成本相关联。
13.根据权利要求9所述的设备,其中所述最低值是基于所述视频块的所述系数中的个别一个系数的绝对值、量化参数及量化矩阵,且其中所述最高值包含所述最低值加一。
14.根据权利要求9所述的设备,其中针对所述经量化系数中的个别一个系数:
如果所述经量化系数中的所述个别一个系数相较于距所述最高值而言更接近于所述最低值,则所述量化单元针对等于所述最高值的值而跳过与所述经量化系数中的所述个别一个系数相关联的个别系数拉格朗日成本的计算。
15.根据权利要求9所述的设备,其中如果所述视频块的所述系数中的针对所述经量化系数组中的一个组对应于所述视频块的所述最后非零系数的所述特定一个系数界定相较于距所述最高值而言更接近于所述最低值的值,且如果所述最低值等于零,则所述量化单元针对所述经量化系数组中的所述一个组,跳过估计与对所述视频块进行编码相关联的特定成本。
16.根据权利要求9所述的设备,其中所述量化单元:
在用以界定与所述经量化系数组中的特定一个组相关联的特定拉格朗日成本的求和开始随所述视频块的所述系数的值减小而增加时,终止估计与所述经量化系数组中的所述特定一个组相关联的所述多个成本。
17.根据权利要求9所述的设备,其中所述设备包含一个或一个以上电路、集成电路(IC)芯片或IC芯片组。
18.一种针对支持基于上下文的自适应二进制算术编码CABAC的视频编码过程而量化视频块的系数的装置,所述装置包含:
用于针对所述视频块产生多个经量化系数组的装置,其中基于对所述视频块的所述系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一个组;
用于估计与经由所述CABAC对所述视频块进行编码相关联的多个成本的装置,其中所述所估计的成本分别是基于所述经量化系数组中的不同组,其中用于估计所述多个成本的装置包含用于计算与速率-失真模型相关联的拉格朗日成本函数的装置,且其中所述拉格朗日成本函数界定与所述经量化系数组中的经量化系数中的每一者相关联的个别系数拉格朗日成本组;
用于针对所述经量化系数的等于零值、最低值及最高值的值而计算与所述经量化系数组中的所述经量化系数相关联的所述个别系数拉格朗日成本组的装置;以及
用于选择所述经量化系数组中与最低成本相关联的给定一个组的装置,其中与所述经量化系数组中的所选择的组相关联的特定成本界定与所述多个成本相关联的位的最低数目。
19.根据权利要求18所述的装置,其进一步包含:
用于输出所述经量化系数组中的所述给定一个组的装置。
20.根据权利要求19所述的装置,其进一步包含:
用于接收所述经量化系数组中的所述给定一个组的装置;
用于对所述经量化系数组中的所述给定一个组执行所述CABAC以将所述经量化系数组中的所述给定一个组熵编码为位流的装置;以及
用于输出所述位流的装置。
21.根据权利要求18所述的装置,其进一步包含用于存储指示位的所述最低数目的值的装置,所述值与所述特定成本相关联。
22.根据权利要求18所述的装置,其中所述最低值是基于所述视频块的所述系数中的个别一个系数的绝对值、量化参数及量化矩阵,且其中所述最高值包含所述最低值加一。
23.根据权利要求18所述的装置,其进一步包含针对所述经量化系数中的个别一个系数:
如果所述经量化系数中的所述个别一个系数相较于距所述最高值而言更接近于所述最低值,则用于针对等于所述最高值的值而跳过与所述经量化系数中的所述个别一个系数相关联的个别系数拉格朗日成本的计算的装置。
24.根据权利要求18所述的装置,其进一步包含:
如果所述视频块的所述系数中的针对所述经量化系数组中的一个组对应于所述视频块的所述最后非零系数的所述特定一个系数界定相较于距所述最高值而言更接近于所述最低值的值,且如果所述最低值等于零,则用于针对所述经量化系数组中的所述一个组,跳过估计与对所述视频块进行编码相关联的特定成本的装置。
25.根据权利要求18所述的装置,其进一步包含:
用于在用以界定与所述经量化系数组中的特定一个组相关联的特定拉格朗日成本的求和开始随所述视频块的所述系数的值减小而增加时,终止估计与所述经量化系数组中的所述特定一个组相关联的所述多个成本的装置。
26.一种经配置以针对支持基于上下文的自适应二进制算术编码CABAC的视频编码过程而量化视频块的系数的装置,所述装置包含编码单元及发射器,所述编码单元包括量化单元及CABAC单元,其中所述量化单元:
针对所述视频块而产生多个经量化系数组,其中基于对所述视频块的所述系数中的特定一个系数对应于所述视频块的最后非零系数的假定而界定所述经量化系数组中的每一个组;
估计与经由所述CABAC对所述视频块进行编码相关联的多个成本,其中所述所估计的成本分别是基于所述经量化系数组中的不同组,其中在估计所述多个成本的过程中,所述量化单元计算与速率-失真模型相关联的拉格朗日成本函数,且其中所述拉格朗日成本函数界定与所述经量化系数组中的经量化系数中的每一者相关联的个别系数拉格朗日成本组;
针对所述经量化系数的等于零值、最低值及最高值的值而计算与所述经量化系数组中的所述经量化系数相关联的所述个别系数拉格朗日成本组;
选择所述经量化系数组中与最低成本相关联的给定一个组,其中与所述经量化系数组中的所选择的组相关联的特定成本界定与所述多个成本相关联的位的最低数目;以及
输出所述经量化系数组中的所述给定一个组;且
其中所述CABAC单元:
接收所述经量化系数组中的所述给定一个组;
对所述经量化系数组中的所述给定一个组执行所述CABAC,以将所述经量化系数组中的所述给定一个组熵编码为位流;以及
输出所述位流;且
其中所述发射器发射所述位流。
27.根据权利要求26所述的装置,其中所述装置包含无线通信装置。
28.根据权利要求27所述的装置,还包括:调制器,所述调制器在所述发射器发射所述位流之前对所述位流进行调制。
CN200980101857XA 2008-01-08 2009-01-08 针对支持cabac的视频编码过程而量化视频块的系数的方法和装置 Expired - Fee Related CN101911702B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US1983008P 2008-01-08 2008-01-08
US61/019,830 2008-01-08
US3045408P 2008-02-21 2008-02-21
US61/030,454 2008-02-21
US12/340,205 US8891615B2 (en) 2008-01-08 2008-12-19 Quantization based on rate-distortion modeling for CABAC coders
US12/340,205 2008-12-19
PCT/US2009/030465 WO2009089370A1 (en) 2008-01-08 2009-01-08 Quantization based on rate-distortion modeling for cabac coders

Publications (2)

Publication Number Publication Date
CN101911702A CN101911702A (zh) 2010-12-08
CN101911702B true CN101911702B (zh) 2012-07-25

Family

ID=40844521

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980101857XA Expired - Fee Related CN101911702B (zh) 2008-01-08 2009-01-08 针对支持cabac的视频编码过程而量化视频块的系数的方法和装置

Country Status (10)

Country Link
US (1) US8891615B2 (zh)
EP (2) EP2243296B1 (zh)
JP (1) JP5290325B2 (zh)
KR (1) KR101177737B1 (zh)
CN (1) CN101911702B (zh)
BR (1) BRPI0907209A2 (zh)
CA (1) CA2709711C (zh)
RU (1) RU2475999C2 (zh)
TW (1) TWI457002B (zh)
WO (1) WO2009089370A1 (zh)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
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
KR101375668B1 (ko) * 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
US8902972B2 (en) 2008-04-11 2014-12-02 Qualcomm Incorporated Rate-distortion quantization for context-adaptive variable length coding (CAVLC)
US8218633B2 (en) * 2008-06-18 2012-07-10 Kiu Sha Management Limited Liability Company Bidirectionally decodable Wyner-Ziv video coding
KR20110027238A (ko) * 2009-09-10 2011-03-16 삼성전자주식회사 휴대용 단말기의 영상 데이터 처리 장치 및 방법
US20110125987A1 (en) * 2009-11-20 2011-05-26 Qualcomm Incorporated Dedicated Arithmetic Decoding Instruction
NO2559244T3 (zh) * 2010-04-13 2017-12-30
KR20230129624A (ko) 2010-05-12 2023-09-08 인터디지털 매디슨 페턴트 홀딩스 에스에이에스 통합된 유효성 맵 코딩을 위한 방법 및 장치
KR101373814B1 (ko) * 2010-07-31 2014-03-18 엠앤케이홀딩스 주식회사 예측 블록 생성 장치
WO2012048055A1 (en) 2010-10-05 2012-04-12 General Instrument Corporation Coding and decoding utilizing adaptive context model selection with zigzag scan
WO2012051033A1 (en) 2010-10-14 2012-04-19 Thomson Licensing Method and apparatus for improved entropy encoding and decoding
US8976861B2 (en) * 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US9042440B2 (en) 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US8913662B2 (en) * 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
US8755620B2 (en) 2011-01-12 2014-06-17 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus for performing arithmetic coding and/or arithmetic decoding
US8687904B2 (en) * 2011-01-14 2014-04-01 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus which include arithmetic coding or arithmetic decoding
US8891617B2 (en) * 2011-01-18 2014-11-18 Google Inc. Method and system for processing video data
US10075706B2 (en) 2011-01-19 2018-09-11 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
US8953690B2 (en) * 2011-02-16 2015-02-10 Google Technology Holdings LLC Method and system for processing video data
US9106913B2 (en) * 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US8861599B2 (en) 2011-03-08 2014-10-14 Sony Corporation Context reduction for last transform position coding
US9338449B2 (en) 2011-03-08 2016-05-10 Qualcomm Incorporated Harmonized scan order for coding transform coefficients in video coding
US20120230396A1 (en) * 2011-03-11 2012-09-13 Mitsubishi Electric Research Laboratories, Inc. Method for Embedding Decoding Information in Quantized Transform Coefficients
US9379736B2 (en) * 2011-06-03 2016-06-28 Qualcomm Incorporated Context-adaptive coding video data
EP4220966A1 (en) * 2011-06-24 2023-08-02 Sun Patent Trust Image decoding device,
WO2013002585A2 (ko) * 2011-06-28 2013-01-03 삼성전자 주식회사 엔트로피 부호화/복호화 방법 및 장치
US9167253B2 (en) 2011-06-28 2015-10-20 Qualcomm Incorporated Derivation of the position in scan order of the last significant transform coefficient in video coding
EP3402206B1 (en) 2011-06-28 2020-05-20 Samsung Electronics Co., Ltd. Video encoding and decoding method using arithmetic coding with a two-dimensional signaling of the last significant coefficient
KR20200037439A (ko) * 2011-07-18 2020-04-08 선 페이턴트 트러스트 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치 및 화상 부호화 복호 장치
US10110891B2 (en) * 2011-09-29 2018-10-23 Sharp Kabushiki Kaisha Image decoding device, image decoding method, and image encoding device
EP2763414B1 (en) 2011-09-29 2020-09-23 Sharp Kabushiki Kaisha Image decoding device and image decoding method for performing bi-prediction to uni-prediction conversion
AU2011236109B2 (en) * 2011-10-18 2015-02-19 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
US9584819B2 (en) 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
US8964849B2 (en) 2011-11-01 2015-02-24 Blackberry Limited Multi-level significance maps for encoding and decoding
KR20140097969A (ko) * 2011-11-07 2014-08-07 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 및 화상 부호화 복호 장치
BR112014011155B1 (pt) 2011-11-08 2023-04-04 Google Technology Holdings LLC Método de determinação de uma palavra de código binária para um símbolo, codificador de vídeo e meio que pode ser lido em computador
US9270988B2 (en) 2011-11-08 2016-02-23 Google Technology Holdings LLC Method of determining binary codewords for transform coefficients
US9247257B1 (en) 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
JPWO2013094199A1 (ja) * 2011-12-21 2015-04-27 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法、画像符号化装置、画像復号化方法、画像復号化装置、および画像符号化復号化装置
US9191670B2 (en) * 2012-01-17 2015-11-17 Qualcomm Incorporated Throughput improvement for CABAC coefficient level coding
CN105847827B (zh) 2012-01-20 2019-03-08 索尼公司 有效度图编码的复杂度降低
US10284851B2 (en) 2012-01-21 2019-05-07 Google Technology Holdings LLC Method of determining binary codewords for transform coefficients
WO2013109993A1 (en) 2012-01-21 2013-07-25 General Instrument Corporation Method of determining binary codewords for transform coefficients
CN103220509B (zh) * 2012-01-21 2017-12-15 中兴通讯股份有限公司 自适应控制算术编码bin数量的方法、编码器和解码器
US20130195200A1 (en) * 2012-01-28 2013-08-01 Research In Motion Limited Methods and devices for context modeling to enable modular processing
US9479780B2 (en) * 2012-02-01 2016-10-25 Google Technology Holdings LLC Simplification of significance map coding
EP3328086A1 (en) * 2012-02-04 2018-05-30 Google Technology Holdings LLC Devices and methods for context reduction in last significant coefficient position coding
US9237344B2 (en) * 2012-03-22 2016-01-12 Qualcomm Incorporated Deriving context for last position coding for video coding
EP2654296A1 (en) * 2012-04-16 2013-10-23 BlackBerry Limited Modified HEVC level coding of video data
US9774856B1 (en) 2012-07-02 2017-09-26 Google Inc. Adaptive stochastic entropy coding
US10003804B2 (en) 2012-12-27 2018-06-19 Nec Corporation Video coding device using quantizing an orthogonal transform coefficient
US9509998B1 (en) 2013-04-04 2016-11-29 Google Inc. Conditional predictive multi-symbol run-length coding
WO2014199551A1 (ja) * 2013-06-11 2014-12-18 日本電気株式会社 映像符号化装置、映像符号化方法および映像符号化プログラム
US10264261B2 (en) * 2013-08-27 2019-04-16 Integrated Device Technology, Inc. Entropy encoding initialization for a block dependent upon an unencoded block
JP6197496B2 (ja) * 2013-08-30 2017-09-20 富士通株式会社 量子化装置、量子化方法および量子化プログラム
US9392288B2 (en) 2013-10-17 2016-07-12 Google Inc. Video coding using scatter-based scan tables
US9179151B2 (en) 2013-10-18 2015-11-03 Google Inc. Spatial proximity context entropy coding
US10313681B2 (en) * 2013-12-18 2019-06-04 Intel Corporation Techniques for rate-distortion optimization in video compression
US9432696B2 (en) 2014-03-17 2016-08-30 Qualcomm Incorporated Systems and methods for low complexity forward transforms using zeroed-out coefficients
US9516345B2 (en) 2014-03-17 2016-12-06 Qualcomm Incorporated Systems and methods for low complexity forward transforms using mesh-based calculations
US9948934B2 (en) * 2014-07-02 2018-04-17 Apple Inc. Estimating rate costs in video encoding operations using entropy encoding statistics
FR3024933A1 (fr) * 2014-08-12 2016-02-19 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
US9762912B2 (en) * 2015-01-16 2017-09-12 Microsoft Technology Licensing, Llc Gradual updating using transform coefficients for encoding and decoding
US9781424B2 (en) 2015-01-19 2017-10-03 Google Inc. Efficient context handling in arithmetic coding
JP6476900B2 (ja) * 2015-01-21 2019-03-06 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US9916415B2 (en) * 2016-04-11 2018-03-13 Globalfoundries Inc. Integrated circuit performance modeling that includes substrate-generated signal distortions
CN108322749B (zh) * 2018-03-15 2021-03-16 北京数码视讯科技股份有限公司 Rdoq的系数优化方法、rdoq的加速方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1157080A (zh) * 1995-04-25 1997-08-13 菲利浦电子有限公司 用于编码视频图像的装置和方法
CN101095359A (zh) * 2004-12-30 2007-12-26 坦德伯格电信公司 改进熵编码的方法
CN101094401A (zh) * 2006-06-23 2007-12-26 深圳安凯微电子技术有限公司 一种图像压缩/解压缩方法和系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2503706B2 (ja) 1990-01-19 1996-06-05 三菱電機株式会社 変換符号化方式
US5734755A (en) * 1994-03-11 1998-03-31 The Trustees Of Columbia University In The City Of New York JPEG/MPEG decoder-compatible optimized thresholding for image and video signal compression
TW455821B (en) 1999-09-03 2001-09-21 Ind Tech Res Inst Signal process method and device
EP2479896A1 (en) 2002-04-26 2012-07-25 NTT DoCoMo, Inc. Signal encoding method, signal decoding method, signal encoding device, signal decoding device, signal encoding program, and signal decoding program
JP4037839B2 (ja) 2004-03-11 2008-01-23 株式会社東芝 画像符号化方法及び装置
JP4188878B2 (ja) 2004-06-07 2008-12-03 日本電信電話株式会社 動画像符号化方法,動画像符号化装置,動画像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
WO2006005182A1 (en) 2004-07-14 2006-01-19 Slipstream Data Inc. Method, system and computer program product for optimization of data compression
KR100612015B1 (ko) 2004-07-22 2006-08-11 삼성전자주식회사 컨텍스트 적응형 이진 산술 부호화 방법 및 그 장치
JP4281667B2 (ja) 2004-10-25 2009-06-17 株式会社日立製作所 画像符号化装置
JP2006157881A (ja) 2004-11-08 2006-06-15 Toshiba Corp 可変長符号化装置及びその方法
US20060098733A1 (en) * 2004-11-08 2006-05-11 Kabushiki Kaisha Toshiba Variable-length coding device and method of the same
RU2336661C2 (ru) 2005-04-19 2008-10-20 Самсунг Электроникс Ко., Лтд. Способ и устройство адаптивного выбора контекстной модели для кодирования по энтропии
KR100746007B1 (ko) 2005-04-19 2007-08-06 삼성전자주식회사 엔트로피 코딩의 컨텍스트 모델을 적응적으로 선택하는방법 및 비디오 디코더
US8379721B2 (en) 2005-09-22 2013-02-19 Qualcomm Incorported Two pass rate control techniques for video coding using a min-max approach
PT2950543T (pt) 2006-01-09 2017-11-22 Musmann Hans-Georg Codificação adaptativa do erro de predição em codificação de vídeo híbrida
KR20070077059A (ko) * 2006-01-19 2007-07-25 삼성전자주식회사 엔트로피 부호화/복호화 방법 및 장치
US8401082B2 (en) * 2006-03-27 2013-03-19 Qualcomm Incorporated Methods and systems for refinement coefficient coding in video compression
US8582663B2 (en) * 2006-08-08 2013-11-12 Core Wireless Licensing S.A.R.L. Method, device, and system for multiplexing of video streams
KR20120031529A (ko) 2007-05-04 2012-04-03 퀄컴 인코포레이티드 추정된 코딩 비용을 이용하는 비디오 코딩 모드 선택
US7957600B2 (en) * 2007-05-08 2011-06-07 Arris Group, Inc. Methods and systems for rate-distortion optimized quantization of transform blocks in block transform video coding
US8891615B2 (en) 2008-01-08 2014-11-18 Qualcomm Incorporated Quantization based on rate-distortion modeling for CABAC coders

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1157080A (zh) * 1995-04-25 1997-08-13 菲利浦电子有限公司 用于编码视频图像的装置和方法
CN101095359A (zh) * 2004-12-30 2007-12-26 坦德伯格电信公司 改进熵编码的方法
CN101094401A (zh) * 2006-06-23 2007-12-26 深圳安凯微电子技术有限公司 一种图像压缩/解压缩方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
En-hui Yang.et al.Rate Distortion Optimization of H.264 with Main Profile Compatibility.《Information Theory, 2006 IEEE International Symposium on》.2006,282-286. *
Ramchandran, K. et al.Rate-distortion optimal fast thresholding with complete JPEG/MPEG decoder compatibility.《Image Processing,IEEE Transactions on》.1994,第3卷(第5期),700-704. *

Also Published As

Publication number Publication date
JP5290325B2 (ja) 2013-09-18
EP2243296A1 (en) 2010-10-27
JP2011509642A (ja) 2011-03-24
KR20100102701A (ko) 2010-09-24
US20090175332A1 (en) 2009-07-09
TWI457002B (zh) 2014-10-11
RU2475999C2 (ru) 2013-02-20
BRPI0907209A2 (pt) 2015-07-14
CA2709711A1 (en) 2009-07-16
WO2009089370A1 (en) 2009-07-16
US8891615B2 (en) 2014-11-18
KR101177737B1 (ko) 2012-08-28
CN101911702A (zh) 2010-12-08
EP2243296B1 (en) 2017-03-01
RU2010133239A (ru) 2012-02-20
CA2709711C (en) 2013-05-14
EP2824929A2 (en) 2015-01-14
TW201004354A (en) 2010-01-16
EP2824929A3 (en) 2015-06-10

Similar Documents

Publication Publication Date Title
CN101911702B (zh) 针对支持cabac的视频编码过程而量化视频块的系数的方法和装置
CN101946515B (zh) Cabac译码器的二回合量化
CN102017633B (zh) 用于上下文自适应可变长度译码(cavlc)的速率-失真量化
CN102172027B (zh) 有效率的预测模式选择
CN102369731B (zh) 基于视频译码中的活动度量的滤波预测
CN101743751B (zh) 视帧内预测模式而定的残差块的自适应变换
CN104506876B (zh) 用于高分辨率运动图像的解码方法和编码设备
CN104067524B (zh) 具有精简的初始化值集合的上下文自适应熵译码
JP5590133B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
CN102474608B (zh) 解码代表图像序列的编码数据流的方法和编码图像序列的方法
CN103404144A (zh) 视频译码中的经量化脉码调制
CN103270754A (zh) 对视频数据块的系数的模式相依扫描
CN103238322A (zh) 在视频译码中单独地译码视频块的最后有效系数的位置
CN103238323A (zh) 在视频译码中基于视频块的扫描次序对块内的最后有效系数的位置进行译码
CN103636223A (zh) 用于视频译码的多区扫描次序
CN101663895B (zh) 使用所估计译码成本的视频译码模式选择
US8811474B2 (en) Encoder and encoding method using coded block pattern estimation
Li et al. Lagrange optimization in high efficiency video coding for SATD-based intra-mode decision
KR20180032570A (ko) 디스플레이 스트림 압축에서의 변환 모드를 위한 블록 크기에 대한 수정
CN102598662A (zh) 用于图像编码和解码的方法和装置、以及对应的计算机程序
JP2016146602A (ja) 映像符号化装置、方法及びプログラム

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120725

Termination date: 20190108