CN103179395A - 用于上下文自适应可变长度译码(cavlc)的速率-失真量化 - Google Patents

用于上下文自适应可变长度译码(cavlc)的速率-失真量化 Download PDF

Info

Publication number
CN103179395A
CN103179395A CN2013100546603A CN201310054660A CN103179395A CN 103179395 A CN103179395 A CN 103179395A CN 2013100546603 A CN2013100546603 A CN 2013100546603A CN 201310054660 A CN201310054660 A CN 201310054660A CN 103179395 A CN103179395 A CN 103179395A
Authority
CN
China
Prior art keywords
coefficient
quantification levels
candidate
video
quantification
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
Application number
CN2013100546603A
Other languages
English (en)
Other versions
CN103179395B (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 CN103179395A publication Critical patent/CN103179395A/zh
Application granted granted Critical
Publication of CN103179395B publication Critical patent/CN103179395B/zh
Active 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请涉及用于上下文自适应可变长度译码(CAVLC)的速率-失真量化。大体来说,本发明提供用于以可实现速率与失真的所要平衡的方式量化视频块的系数的技术。所述所描述技术可分析与每一个别系数相关联的多个量化层级,以为所述个别系数选择导致最低译码成本的量化层级。由于CAVLC不独立编码每一系数,所以所述技术可基于为先前经量化系数所选择的量化层级和用于系数向量的随后系数的所估计(或预测)的量化层级来为与所述个别系数相关联的候选量化层级中的每一者计算所述译码成本。所述系数中的每一者的所述量化层级基于所计算的译码成本来进行选择,以获得最小化速率-失真模型的一组经量化系数。

Description

用于上下文自适应可变长度译码(CAVLC)的速率-失真量化
分案申请的相关信息
本案是分案申请。该分案的母案是申请日为2009年4月10日、申请号为200980116373.2、发明名称为“用于上下文自适应可变长度译码(CAVLC)的速率-失真量化”的发明专利申请案。
相关申请案的交叉参考
本申请案主张2008年4月11日申请的第61/044,232号美国临时申请案的权益,所述临时申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及数字视频译码,且更特定来说涉及用于视频译码的量化技术。
背景技术
可将数字视频能力并入到较广范围的装置中,包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、数码相机、数字记录装置、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话等。数字视频装置实施例如MPEG-2、MPEG-4或ITU-T H.264/MPEG-4、第10部分、高级视频译码(AVC)等视频压缩技术以较有效地发射和接收数字视频信息。视频压缩技术执行空间预测和时间预测以减少或移除视频序列中固有的冗余。
帧内译码依赖于空间预测以减少或移除给定经译码单元内视频块之间的空间冗余,给定经译码单元可包含视频帧、视频帧的片段、图片的群组或视频块的另一所定义单元。相比之下,帧间译码依赖于时间预测以减少或移除视频序列的连续经译码单元的视频块之间的时间冗余。对于帧内译码来说,视频编码器可执行空间预测以基于相同经译码单元内的其它数据来压缩数据。对于帧间译码来说,视频编码器执行运动估计和运动补偿以追踪两个或两个以上相邻经译码单元的对应视频块的移动。
经译码视频块可由可用以创建或识别预测块和指示正经译码的块与预测块之间的差异的数据的残余块的预测信息来表示。在帧间译码的情形下,一个或一个以上运动向量用以识别数据的预测块,而在帧内译码的情形下,预测模式可用以产生预测块。帧内译码和帧间译码两者可定义若干不同预测模式,其可定义不同块大小和/或译码中使用的预测技术。还可包括额外类型的语法元素作为经编码视频数据的一部分以便控制或定义译码过程中使用的译码技术或参数。
在基于块的预测译码之后,视频编码器可应用变换、量化和熵译码过程以进一步减少与残余块的通信相关联的位速率。变换技术可包含离散余弦变换或概念上相似的过程。或者,可使用子波变换、整数变换或其它类型的变换。在离散余弦变换(DCT)过程中,作为一实例,变换过程将一组像素值转换成变换系数,所述变换系数可表示频域中像素值的能量。将量化应用于变换系数,且量化通常涉及限制与任何给定变换系数相关联的位数目的过程。熵译码包含共同地压缩经量化变换系数的序列的一个或一个以上过程。
上下文自适应可变长度译码(CAVLC)是当前在一些译码标准中支持的一种类型的熵译码技术,例如国际电信联盟标准化组(ITU-T)H.264/移动图片专家组(MPEG)-4、第10部分高级视频译码(AVC)(下文中为“H.264/MPEG-4第10部分AVC标准”)。根据如H.264/MPEG-4、第10部分AVC标准中所定义的CAVLC,编码器编码表示系数向量的多个语法元素。语法元素可包括系数向量中的系数的总数、系数向量中尾随一(trailing one)的数目、尾随一中的每一者的正负号、除了尾随一之外的非零系数的量值(或层级)、所有行程(run)的总和(即,最后非零系数之前的行程的总数),已经每一非零系数之前的零的行程长度。由于编码器基于系数向量的特定特性而自适应地选择VLC译码表而用于编码语法元素,所以CAVLC是自适应的。
发明内容
大体来说,本发明描述用于以可实现速率与失真的所要平衡的方式来量化视频块的系数的技术。所描述的技术可分析与每一个别系数相关联的多个量化层级以为个别系数选择导致最低译码成本的量化层级。由于CAVLC不独立编码每一系数,所以所述技术可基于为先前经量化系数选择的量化层级和用于系数向量的随后系数的所估计(或预测)的量化层级而计算与个别系数相关联的候选量化层级中的每一者的译码成本。系数中的每一者的量化层级基于所计算的译码成本进行选择以获得最小化速率-失真模型的一组经量化系数。
在一个实例中,本发明提供在视频译码过程中量化视频块的系数的至少一部分的方法。所述方法包括为视频块的系数的部分中的每一者确定与相应系数相关联的多个候选量化层级的译码成本,以及基于译码成本为系数中的每一者选择所述多个候选量化层级中的一者以获得一组经量化系数。
在另一实例中,本发明提供用于在视频译码过程中量化视频块的系数的至少一部分的设备。所述设备包括量化单元,其为视频块的系数的部分中的每一者确定与相应系数相关联的多个候选量化层级的译码成本,且基于译码成本为系数中的每一者选择所述多个候选量化层级中的一者以获得一组经量化系数。
在另一实例中,提供用于在视频译码过程中量化视频块的系数的至少一部分的装置。所述装置包含:用于为视频块的系数的部分中的每一者确定与相应系数相关联的多个候选量化层级的译码成本的装置;以及用于基于译码成本为系数中的每一者选择所述多个候选量化层级中的一者以获得一组经量化系数的装置。
本发明中所描述的技术可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么软件可执行于一个或一个以上处理器(例如,微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP))中。执行所述技术的软件最初可存储于计算机可读媒体中且经载入并执行于处理器中。
因此,本发明还预期包含指令的计算机可读媒体,所述指令在执行时使装置在视频译码过程中量化视频块的系数的至少一部分。所述指令使所述装置:为视频块的系数的部分中的每一者确定与相应系数相关联的多个候选量化层级的译码成本;且基于译码成本为系数中的每一者选择所述多个候选量化层级中的一者以获得一组经量化系数。
在附图和以下描述中阐述本发明的一个或一个以上方面的细节。本发明中所描述的技术的其它特征、目的和优点将从所述描述和图式以及从权利要求书而显而易见。
附图说明
图1是说明可实施本发明的技术中的一者或一者以上的视频编码和解码系统的示范性框图。
图2是说明符合本发明的视频编码器的实例的框图。
图3是说明4×4视频块的Z字形(zig-zag)扫描的概念图。
图4是说明符合本发明的量化网格(trellis)的框图。
图5-8是说明符合本发明的技术的流程图。
具体实施方式
图1是说明可实施本发明的技术的示范性视频编码和解码系统10的框图。如图1中所展示,系统10包括将经编码视频经由通信信道16发射到目的地装置14的源装置12。源装置12和目的地装置14可包含广泛范围的有线或无线装置中的任一者。在一些情况下,源装置12和目的地装置14包含无线通信装置,例如无线手持机、所谓的蜂窝式或卫星无线电电话,或可在通信信道16上传递视频信息的任何无线装置。虽然贯穿本发明在无线应用或设定的上下文中进行了描述,但本发明的技术不应限于此。所述技术还可用于有线应用或设定中。
在图1的实例中,源装置12可包括视频源20、视频编码器22、调制器/解调器(调制解调器)23和发射器24。目的地装置14可包括接收器26、调制解调器27、视频解码器28和显示装置30。根据本发明,源装置12的视频编码器22可经配置以应用本发明中描述的量化技术。以此方式,源装置12可实现量化的所要层级且借此改进编码过程。
大体来说,源装置12产生用于发射到目的地装置14的经译码视频数据。然而,在一些情况下,装置12、14可以大体上对称的方式进行操作。举例来说,装置12、14中的每一者可包括视频编码和解码组件以及发射和接收组件。因此,系统10(例如)对于视频串流、视频重放、视频广播或视频电话可支持装置12、14之间的单向或双向视频发射。
源装置12的视频源20可包括视频俘获装置,例如摄像机、含有先前俘获的视频的视频档案或来自视频内容提供者的视频馈入(例如,经由卫星)。作为另一替代实施例,视频源20可产生基于计算机图形的数据作为源视频,或实时视频、所存档视频与计算机产生的视频的组合。在一些情况下,如果视频源20为摄像机,那么源装置12和目的地装置14可形成所谓的相机电话或视频电话。在每一情形下,经俘获、预先俘获或计算机产生的视频可由视频编码器22进行编码。经编码视频信息可接着由调制解调器23根据通信标准(例如,码分多址(CDMA)或另一通信标准)进行调制,且经由发射器24发射到目的地装置14。调制解调器23可包括各种混频器、滤波器、放大器或经设计用于信号调制的其它组件。发射器24可包括经设计用于发射数据的电路,包括放大器、滤波器和一个或一个以上天线。
目的地装置14的接收器26在信道16上接收信息,且调制解调器27解调所述信息。视频解码器28可解码经编码的视频数据以重建视频序列。显示装置30将经解码视频数据显示给用户,且可包含例如阴极射线管、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置等各种显示装置中的任一者。
在图1的实例中,通信信道16可包含任何无线或有线通信媒体,例如射频(RF)频谱或一个或一个以上物理发射线,或无线媒体与有线媒体的任何组合。通信信道16可形成例如局域网、广域网或例如因特网等全球网络等基于包的网络的一部分。通信信道16通常表示任何合适的通信媒体,或不同通信媒体的集合,以用于将视频数据从源装置12发射到目的地装置14。
视频编码器22和视频解码器28可根据例如H.264/MPEG-4第10部分AVC标准等视频压缩标准进行操作。ITU-T H.264/MPEG-4第10部分AVC标准由ITU-T视频译码专家组(VCEG)连同ISO/IEC移动图片专家组(MPEG)一起阐明为被称为联合视频小组(JVT)的集体合作的产品。在一些方面中,本发明中描述的技术可应用于大体遵守H.264标准的装置。
视频编码器22和视频解码器28各自可经实施为一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码器22和视频解码器28中的每一者可包括于一个或一个以上编码器或解码器中,其任一者可在相应移动装置、订户装置、广播装置、服务器等中集成为组合编码器/解码器(CODEC)的一部分。
视频序列通常包括一系列视频帧。视频编码器22对个别视频帧内的视频块操作以便编码视频数据。所述视频块可具有固定或变化的大小,且可根据规定的译码标准而在大小上不同。每一视频帧可包括一系列片段,其可为视频帧的可独立解码的单元。每一片段可包括一系列宏块,其可经布置为子块。作为一实例,H.264标准支持各种块大小(例如亮度(luma)分量的16x16、8×8或4×4,以及色度(chroma)分量的8×8)的帧内预测,以及各种块大小(例如亮度分量的16x16、16x8、8x16、8×8、8x4、4x8和4×4以及色度分量的对应经缩放大小)的帧间预测。较小视频块可提供较好分辨率,且可用于包括较高层级细节的视频帧的位置。大体来说,宏块(MB)和各种子块可被看作为视频块。
视频块可包含像素数据的块,或变换系数的块(例如,在例如离散余弦变换(DCT)或其它变换过程等变换过程之后)。如本发明中使用的术语“系数”大体指代变换系数,但可替代地指代其它类型的系数或值,例如像素值,或另一类型的系数。本发明的量化技术通常适用于经变换视频块的变换系数,有时称为残余变换系数。
为编码视频块,视频编码器22执行帧内或帧间预测以产生预测块。视频编码器22从待编码的原始视频块减去预测块以产生残余块。因此,残余块指示正经译码的块与预测块之间的差异。视频编码器22可对残余块执行变换以产生变换系数的块。在基于帧内或帧间的预测译码和变换技术之后,视频编码器22执行量化。下文更详细地论述量化,但其大体指代系数经量化以可能地减少用以表示系数的数据量的过程。在量化之后,可根据例如CAVLC等熵译码方法执行熵译码。由视频编码器22执行的编码过程的每一步骤的更多细节将在下文图2中更详细地加以描述。
本发明提供用于以可实现速率与失真的所要平衡的方式来量化视频块的系数的技术。换句话说,所述技术改进编码过程的量化步阶(quantization step)以在通信速率的给定位预算下实现所要质量等级。根据本发明的技术,视频编码器22可为块的系数的至少一部分分析多个量化层级,以为个别系数选择具有最低译码成本的量化层级。
在一个实例中,视频编码器22可例如使用与速率-失真模型相关联的拉格朗日(Lagrange)成本函数循序地为与个别系数相关联的候选量化层级中的每一者计算译码成本。由于CAVLC不独立编码每一系数,所以视频编码器22可基于系数向量的所有其它系数的量化层级而计算与个别系数相关联的候选量化层级中的每一者的译码成本。当前和之前系数的量化层级是已知的;当前系数的量化层级等于候选量化层级中的一者,且之前系数的量化层级先前已选择。当前系数之后的系数的量化层级是未知的,且可因此如下文所详细描述进行估计。视频编码器22为当前正经分析的个别系数选择具有最低译码成本的候选量化层级。视频编码器22以上文描述的方式为块的所有系数选择量化层级。此方法称为一次通过或单次通过方法。
或者,视频编码器22可为与个别系数相关联的候选量化层级中的每一者计算一个以上译码成本(或多个译码成本)。可基于与先前系数相关联的先前选定的量化层级的幸存路径以及随后系数的将来(随后)量化层级的估计而计算多个译码成本。如下文关于图2和图4更详细地加以描述,幸存路径表示对块中的先前系数的量化决策的序列。视频编码器22继续以上文描述的方式为块的所有系数选择量化层级直到单一幸存路径存在为止。单一幸存路径表示对块中所有系数的量化决策的序列。
本发明的量化技术可使得视频编码器22能够在通信速率的给定位预算下实现所要质量等级。根据本发明的技术,视频编码器22可在逐系数(coefficient by coefficient)基础上实施速率-失真模型且实现所要的量化层级。相比之下,常规量化技术在如与逐系数基础相对的逐块基础上实施速率-失真模型。换句话说,常规量化技术在计算整个块的译码成本时仅分析系数中的每一者的单一量化层级。此类技术在选择量化系数或量化层级上不可与本发明的技术一样有效,以使得失真量度在最大目标译码位速率约束的条件下最小化,或等效地,译码位速率在最大可允许失真约束的条件下最小化。
图2是说明包括符合本发明的执行视频块的系数的量化的速率-失真(RD)量化单元40的视频编码器50的实例的框图。举例来说,视频编码器50可对应于源装置12的视频编码器22。视频编码器50可执行视频帧内的块的帧内和帧间译码。帧内译码依赖于空间预测以减少或移除给定视频帧内的视频中的空间冗余。帧间译码依赖于时间预测以减小或移除视频序列的相邻帧内的视频中的时间冗余。对于帧间译码来说,视频编码器50可执行运动估计以追踪在两个或两个以上相邻帧之间的匹配视频块的移动。帧内模式(I-模式)可指代基于空间的压缩模式,且例如预测(P-模式)或双向(B-模式)等帧间模式可指代基于时间的压缩模式。
在图2的实例中,视频编码器50包括预测单元32,参考帧存储装置34、变换单元38、RD量化单元40、逆量化单元42,逆变换单元44和CAVLC译码单元46。还可包括解块滤波器(未图示)以对块边界进行滤波以移除块状(blockiness)假影。视频编码器50还包括加法器48和加法器51。
如图2中所展示,视频编码器50接收待编码的视频帧的当前视频块或视频帧的片段。预测单元32执行预测译码技术以产生预测块。预测单元32可表示帧内预测单元和/或帧间预测单元。对于帧间译码来说,预测单元32将待编码的当前视频块与一个或一个以上参考视频帧或片段中的各种块进行比较以便定义预测块。对于帧内译码来说,预测单元32基于例如视频帧或片段等相同经译码单元内的邻近数据而产生预测块。
对于帧间译码来说,预测单元32可包含识别各自指向参考帧中的块的一个或一个以上运动向量的运动估计,和基于运动向量产生预测块的运动补偿单元。因而,运动估计可被视作产生运动向量(其估计运动)的过程。举例来说,运动向量可指示参考帧内的预测块相对于当前帧内的正经译码的当前块的位移。参考帧可在时间上位于当前视频块所属于的视频帧或片段之前或之后。运动补偿可被视作基于由运动估计确定的运动向量提取或产生预测块的过程。
如前所述,对于帧内译码来说,预测单元32基于相同经译码单元内的邻近数据产生预测块。一个或一个以上帧内预测模式可定义可如何定义帧内预测块。根据H.264/MPEG-4第10部分AVC标准,举例来说,预测单元32可使用九个可能的帧内预测模式中的一者产生4×4或8×8预测块:垂直预测模式、水平预测模式、DC预测模式、对角向下/向左预测模式、对角向下/向右预测模式、垂直向右预测模式、水平向下预测模式、垂直向左预测模式和水平向上预测模式。或者,预测单元32可使用H.264/MPEG-4第10部分AVC标准中定义的四个可能的帧内预测模式中的一者来产生16x16预测块:垂直预测模式、水平预测模式、DC预测模式和平面预测模式。
视频编码器50通过从待编码的原始视频块减去由预测单元32产生的预测视频块来形成残余视频块(标记为“残余块(RESID BLOCK)”)。加法器48执行此减法运算以获得残余块。变换单元38对残余块应用例如离散余弦变换(DCT)等变换,从而产生残余变换系数的视频块。变换单元38可在8×8(N=8)或4×4(N=4)块基础上应用变换。然而,变换单元38可执行由H.264标准定义的其它变换,其概念上类似于DCT。还可使用子波变换、整数变换、子频带变换或其它类型的变换。在任何情形下,变换单元38向残余块应用变换,从而产生残余变换系数的块。变换可将残余信息从像素域转换为频域。
RD量化单元40(本文中也称为“量化单元40”)量化残余变换系数以进一步减少位速率。特定来说,量化单元40执行下文更详细描述的量化技术中的一者或一者以上,从而致力于在通信速率的给定位预算下实现所要的质量等级。以此方式,量化单元40可实施速率-失真模型且实现所要的量化层级,例如实现给定速率或位预算的所要数目的位。
经量化变换系数连同预测语法(例如,运动向量、预测模式或其它控制信息)一起可形成元素的完整经译码序列。CAVLC编码单元46对经量化变换系数和预测语法进行熵译码以便进一步减少其表示所需要的位数目。在CAVLC编码单元46的熵译码之后,可将经编码视频发射到另一装置或存档以供随后发射或检索。
还将所述经量化系数提供到逆量化单元42。逆量化单元42和逆变换单元44分别应用逆量化和逆变换,以在像素域中重建残余块(标记为“经重建的残余(RECONRESID)”)而用作参考块。加法器51将由逆变换单元44输出的重建的残余块添加到由预测单元32产生的预测块,以产生重建的视频块用于存储于参考帧存储装置34中。存储于参考帧存储装置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 ) - - - ( 1 )
其中x和y定义给定系数在视频块内的位置,且cij为加权因数,有时称为预测误差系数或残余变换系数。残余变换系数或权重cij可随后如下进行量化:
lij Q(cij,QP)                                                 (2)
其中lij为所述经量化系数或层级,且Q(cij,QP)为通过量化参数QP量化cij的函数。函数Q(cij,QP)可将cij除以根据量化矩阵内定义量化步阶大小的QP和位置(i,j)导出的值。量化操作可引入信息的损失。然而,所述经量化系数可以较小数目的位表示,借此节省发射带宽、存储空间和处理资源。压缩的程度(信息的损失)常规地通过调整QP的值而控制。
在解码器侧,通过首先以与视频编码器50中相同的方式建构预测块且通过向预测块添加经解码预测误差或残余块而获得当前帧中的块。通过对经编码的位流进行熵解码,应用逆量化和逆变换操作而获得预测误差或残余块。逆量化(或解量化)可经执行以例如根据以下等式获得经解量化系数rij
rij=Q-1(lij,QP),                                               (3)
其中Q-1(lij,QP)表示通过量化参数QP将lij解量化的函数。函数Q(lij,QP)可将lij与根据逆量化矩阵内定义量化步阶大小的QP和位置(i,j)导出的值相乘。可执行逆变换操作以获得重建的残余块或重建的预测误差,其表示重建的块R(x,y)与原始块I(x,y)之间的差异。在一个实例中,可通过将以下函数应用于经解量化系数rij而获得残余块或预测误差
Figure BDA00002844521900091
的重建的型式:
E ~ ( x , y ) = Σ i = 1 N Σ j = 1 N r ij f ~ ij ( x , y ) - - - ( 4 )
其中
Figure BDA00002844521900093
为逆变换基底函数。
常规地,视频编解码器中的变换系数的量化通常基于均一重建量化器(URQ)。用于量化数据的分类规则由编码器定义。量化的一个实例是所谓的死区加均一阈值量化(DZ-UTQ)方法。以下等式定义此种死区量化器,其中f0指示死区参数,其中0≤f0≤0.5:
Figure BDA00002844521900094
其中lij对应于量化层级或量化系数值,sgn(N)为提取实数N的正负号的正负号函数,且
Figure BDA00002844521900095
为返回小于或等于M的最大整数的地板函数。
概念上,可通过将lij与对应的QP相乘而导出对应于层级lij的重建值或经解量化系数值rij
rij=lij·QP                                           (6)
由于用于正规化对应基底函数的不同缩放因数出于简单的目的而经省略,所以等式(5)和(6)表示针对H.264/MPEG-4第10部分AVC标准而实际所规定的数学上简化的型式。
在H.264/MPEG-4第10部分AVC标准中,可根据以下等式执行量化:
lij=sgn(cij)[|cij|·Q(QP%6,i,j)+f]/15+QP/6,i,j=0,...,3     (7)
其中Q表示量化步阶大小的量化矩阵,%表示模数除法,且对于经帧内译码帧来说f等于215+QP/6/3,且对于经帧间译码帧来说,f等于215+QP/6/6。可根据以下等式执行系数的解量化或逆量化:
rij=lij·R(QP,i,j),    i,j=0,...,3                  (8)
其中rij表示视频块中在位置(i,j)处的经解量化系数值,R表示解量化步阶大小。举例来说,R可相当于等式(3)的Q-1。在一些实施例中,可预计算且存储与QP的Q和R相关联的的值。
给定块中的残余变换系数可使用Z字形扫描或另一扫描次序进行定序(扫描),从而产生一维有序的系数向量。例如Z字形扫描等扫描也可称为串列化,因为其从块定义的二维型式产生一维系列的系数。4×4块的实例Z字形扫描出现于图3中。图3中展示的此种Z字形扫描的扫描次序遵循穿过视频块56的箭头。特定来说,系数C1-C16以扫描次序进行标记,且图3中展示的数值指示系数在循序一维向量内的位置,且不表示系数的实际值。图7中说明的Z字形扫描的结果是一维系数向量X,其中
X=[C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16]
其中C1-C16表示系数的二维阵列内的系数字置。
Z字形扫描通常假定在应用二维(2D)变换之后,具有最多能量的变换系数(即,较高值系数)对应于低频变换函数,且如在图3中所描绘朝向块的左上部定位。因此,在经由Z字形扫描产生的系数向量中,较高的量值系数将最有可能朝向一维有序系数向量的开始而出现。在量化之后,低能量系数中的大多数可等于0。
本发明的技术不限制于任何特定扫描次序或扫描技术。举例来说,本发明中使用的扫描次序可为图3中展示的Z字形扫描次序。或者,本发明中使用的扫描次序可为其它扫描次序,例如水平扫描、垂直扫描或任何其它扫描技术。在一些情况下,扫描次序可基于先前扫描的块的内容,或基于对应于用以对当前视频块进行译码的相同译码模式的先前扫描的块而进行调适。在一个实施例中,系数可基于其预先量化值(例如,残余变换系数值)的量值而布置。举例来说,所得系数向量可经布置以使得具有最小量值的系数朝向系数向量的开始而出现。根据此准则定序的系数将由ci指示,其中i1,…,M(对于4×4块来说M等于16,且对于8×8块来说M等于64)。
CAVLC为对经量化系数进行熵译码的一种方法。根据如H.264/MPEG-4第10部分AVC标准中定义的CAVLC,CAVLC编码单元46编码系数向量中系数的总数、系数向量中尾随一的数目、尾随一中的每一者的正负号、除了尾随一之外的非零系数的量值(或层级)、所有行程的总和(即,最后非零系数之前的行程的总数),以及每一非零系数之前的零的行程长度。
对于变换系数的每一块来说,需要找到经量化系数或量化层级以使得在最大目标译码位速率约束的条件下失真量度最小化,或等效地,在最大可允许失真约束的条件下译码位速率最小化。因此,需要在Rbudget的总译码位预算的条件下最小化预测误差E(x,y)与预测误差的重建型式
Figure BDA00002844521900111
之间的失真量度D:
在R<Rbudget的条件下,
Figure BDA00002844521900112
失真量度D可为均方差(MSE)失真、活动加权的MSE或另一失真量度。
可通过经由拉格朗日乘数λ“合并”速率与失真而将此所谓的“硬性”约束的取阈值问题转换为“宽松”等效的无约束的问题来解决所述“硬性”约束的取阈值问题。无约束取阈值问题成为最小化总拉格朗日成本J(λ)的系数层级的确定(对于固定λ来说),其经定义为:
J ( &lambda; ) = D ( E ( x , y ) - E ~ ( x , y ) ) + &lambda;R - - - ( 10 )
因此,等式可形成共同地最小化速率与失真的速率-失真模型。
在符合H.264的编码器的情形下,给定块的平方重建误差
Figure BDA00002844521900121
与平方量化误差成比例:
&Sigma; i = 1 N &Sigma; j = 1 N ( r ij - c ij ) 2 - - - ( 11 )
由于H.264标准中使用的变换为正交的,所以拉格朗日成本J(λ)可经计算为:
J ( &lambda; ) = &Sigma; i = 1 N &Sigma; j = 1 N J ( &lambda; , c ij , l ij ) . - - - ( 12 )
其中J(λ,cij,lij)在经量化为层级lij时为系数cij的拉格朗日成本:
J(λ,cij,lij)=误差(cij,lij)+λ·位(lij)。             (13)
量化误差err(cij,lij)与(rij-cij)2成比例:
误差(cij,lij)=N(QP,i,j)·(rij-cij)2。             (14)
如在量化和解量化矩阵Q和Q-1(或R)的情形下,正规化矩阵N(Qi,j)的值仅视块中的位置(由i和j规定)和QP的值而定。举例来说,可通过以上文简要描述的CAVLC算法来编码lij来计算对量化值lij进行译码所要求的位数目位(lij)。
对于非零系数的至少一部分来说,RD量化单元40分析一个以上候选量化层级。将出于说明的目的在分析三个候选量化层级时在下文描述RD量化单元40。然而,RD量化单元40可分析任何数目的候选量化层级。因此本发明的技术不应限于三个候选量化层级。在一个实例中,RD量化单元40可分析三个候选量化层级|lij|:0、其中表示系数的最大量化层级。在另一实例中,RD量化单元40可分析三个候选量化层级|lij|:0、1和
Figure BDA00002844521900127
对于4×4块来说可将最大量化层级
Figure BDA00002844521900128
计算为:
在一个方面中,RD量化单元40可使用上文简要描述的单次通过方法来从多个候选量化层级选择每一个别系数的量化层级。RD量化单元40可计算与个别系数相关联的所有候选量化层级的译码成本,且选择具有最低译码成本的候选量化层级作为当前正经分析的个别系数的量化层级。RD量化单元40可循序地执行此过程直到已为系数向量的个别系数中的每一者选择量化层级为止。
在上文描述的每一个别系数与三个候选量化层级(例如,0、
Figure BDA00002844521900131
Figure BDA00002844521900132
或0、1和
Figure BDA00002844521900133
)相关联的实例中,RD量化单元40计算个别系数的三个译码成本。三个译码成本中的每一者对应于可能候选量化层级中的不同一者。RD量化单元40可根据等式(10)或(13)的拉格朗日成本函数来计算成本。RD量化单元40为向量的个别系数中的每一者循序地执行上文描述的量化技术,以选择减少且常常最小化译码成本的一组量化系数(或层级)。
CAVLC可将关于若干系数的信息编码为单一语法元素。举例来说,如H.264标准中定义的语法元素“系数符记(coeff token)”编码经量化向量中的所有非零系数的数目。因而,CAVLC不独立编码每一系数。因此,为确定CAVLC用以编码经量化系数的向量的位的数目,向量的系数中的每一者必须为已知的以计算成本。当前系数的量化层级等于正经分析的候选量化层级中的一者且因此为已知的。系数向量中先于当前系数的系数的量化层级也为已知的,因为其先前经选择。然而,在系数向量中当前系数之后的系数的量化层级尚未被选择且因此并非为容易已知的。
然而,RD量化单元40可计算这些随后系数的量化层级的估计。在一个实例中,RD量化单元40可设定随后系数的量化层级等于如由上文等式(15)所定义的
Figure BDA00002844521900134
在另一实例中,RD量化单元40可计算预先量化值lij prequant为:
lij prequant=sgn(cij)[|cij|·Q(QP%6,i,j)+f]/215+QP/6,     (16)
其中对于帧内来说,f可等于215+QP/6/3,且对于帧间来说f可等于215+QP/6/6。也可使用基于系数统计的f的其它值。
在另一方面中,RD量化单元40可使用多次通过方法来选择减少且常常最小化系数的译码成本的一组量化系数(或层级)。在此方法中,RD量化单元40可计算与个别系数相关联的每一候选量化层级的多个译码成本。换句话说,每一个别系数与多个候选量化层级相关联,且候选量化层级中的每一者与多个译码成本相关联。可通过识别最小化速率-失真函数的量化层级的组合而选择量化层级。
作为一实例,RD量化单元40可实施多次通过方法以使用如图4中所说明的量化网格60来最小化速率-失真函数。量化网格60具有j个级,每一级对应于系数向量的个别系数。举例来说,对于4×4块来说,j=16。j个级中的每一者具有由三个黑色圆圈表示的三个状态,每一者对应于与级相关联的个别系数的候选量化层级。在图4中说明的实例中,每一级的三个状态(圆圈)表示候选量化层级0、
Figure BDA00002844521900141
Figure BDA00002844521900142
或者,每一级的三个状态(圆圈)可表示其它候选量化层级,例如0、1和
Figure BDA00002844521900143
此外,如上文所描述,所述级中的每一者可包括更多或更少的状态,例如两个候选量化层级或三个以上候选量化层级。
穿过量化网格60的路径表示对于块中所有系数的量化决策的序列,即一组量化系数(或层级)。RD量化单元40可使用维特比(Viterbi)算法以找到穿过量化网格60的幸存路径。维特比算法是用于找到导致所观察事件的序列的隐藏状态的最可能的序列(或维特比路径)的动态编程算法。维特比算法作出若干假设。第一,所观察事件和隐藏事件两者必须在序列中。此序列常常对应于时间。第二,这两个序列需要进行对准,且所观察事件的例项需要对应于隐藏事件的准确一个例项。第三,计算达到某一点t的最可能的隐藏序列必须仅视点t处的所观察事件和点t-1处的最可能的序列而定。
在量化网格60的每一级中,RD量化单元40基于达到当前个别系数和随后系数的所估计量化层级的每一幸存路径,例如根据等式(错误!未发现参考源。)或(13)的拉格朗日成本函数来计算候选量化层级中的每一者的成本。对于沿每一幸存路径的当前级和过去级中的系数来说,RD量化单元40具有量化层级信息。未来级(即,随后系数)的量化层级可经指派得到分别使用等式(15)和(16)计算的经预测量化层级
Figure BDA00002844521900148
或lij prequant,或其它经估计或预测的量化层级。
在例如对应于系数C2的量化网格60的第二级处,RD量化单元40计算与系数C1和C2相关联的候选量化层级的每一组合的译码成本。使用0、
Figure BDA00002844521900144
的候选量化层级作为一实例,RD量化单元40计算与系数C2相关联的每一候选量化层级的三个译码成本。对于与系数C2相关联的候选量化层级0来说,RD量化单元40使用量化层级l1=0、l2=0和l3-lj等于相应经预测/估计的量化层级
Figure BDA00002844521900146
或lij prequant来计算第一译码成本,(其中l1、l2、l3、…、lj分别为与C1、C2、C3、…、Cj相关联的选定、候选和/或预测的量化层级),使用量化层级
Figure BDA00002844521900147
l2=0和l3-lj等于相应经预测/估计的量化层级来计算第二译码成本,且使用量化层级
Figure BDA00002844521900151
l2=0和l3-lj等于相应经预测/估计的量化层级来计算第三译码成本。RD量化层级40选择具有最低经计算译码成本的路径作为用于与系数C2相关联的系数量化层级0的幸存路径。
同样,RD量化单元40使用l1分别=0、
Figure BDA00002844521900152
Figure BDA00002844521900153
以及l3-lj等于相应经预测的量化层级来计算与系数C2相关联的候选量化层级的第一、第二和第三译码成本。RD量化单元40选择具有最低经计算译码成本的路径作为用于与C2相关联的系数量化层级
Figure BDA00002844521900155
的幸存路径。RD量化单元40还使用l1分别=0、
Figure BDA00002844521900156
Figure BDA00002844521900157
以及l3-lj等于相应经预测量化层级来计算与系数C2相关联的候选量化层级
Figure BDA00002844521900158
的第一、第二和第三译码成本。RD量化单元40选择具有最低经计算译码成本的路径作为用于与系数C2相关联的系数量化层级
Figure BDA00002844521900159
的幸存路径。出于举例的目的,假设用于与系数C2相关联的量化层级0的幸存路径为包括
Figure BDA000028445219001510
的路径,用于与系数C2相关联的量化层级的幸存路径为包括
Figure BDA000028445219001512
的路径,且用于与系数C2相关联的量化层级
Figure BDA000028445219001513
的幸存路径为包括l1=0的路径。幸存路径在图4的量化网格60中经说明为点线。
在选择系数C2的幸存路径之后,RD量化单元40确定与系数向量的下一(随后)系数(例如,图4的实例中的C3)相关联的量化层级。RD量化单元40使用幸存路径和随后系数的所预测/估计的量化层级来计算与系数C3相关联的候选量化层级中的每一者的多个译码成本。基于所计算的成本,RD量化单元40基于所计算的译码成本而选择与每一候选系数相关联的幸存路径。在图4中说明的实例中,用于与系数C3相关联的量化层级0的幸存路径对于量化层级C1、C2和C3来说分别为0和0,用于与系数C3相关联的量化层级的幸存路径对于量化层级C1、C2和C3来说分别为0、
Figure BDA000028445219001517
且用于与系数C3相关联的量化层级的幸存路径对于量化层级C1、C2和C3来说分别为0、
Figure BDA000028445219001519
Figure BDA000028445219001520
RD量化单元40继续选择量化层级的幸存路径直到系数向量的最后系数(例如,Cj)为止。RD量化单元40选择具有最低译码成本的与最后系数相关联的单一量化层级,其对应于表示对块中的所有系数的量化决策的序列的穿过量化网格60的幸存路径。虽然此技术比上文描述的单次通过技术要求更多的计算资源,但结果可为更准确的。
为加速量化过程,量化单元40可实施一个或一个以上加速技术。举例来说,对于经量化系数中的个别一者来说,如果所述经量化系数中的所述个别一者与量化层级1相比更靠近量化层级0,那么量化单元40可在不作任何进一步分析的情况下将相关联的系数量化到量化层级0。换句话说,个别系数仅具有对应于网格中的量化层级0的一个状态,且量化单元40可跳过计算与同个别系数相关联的候选量化层级相关联的译码成本。这些或其它技术可用以加速量化过程,其中经编码视频在质量上具有极少(如果存在)降级。
图5是说明根据本发明的一个量化技术的视频编码器执行量化的实例操作的流程图。举例来说,视频编码器可包含图2的视频编码器50。视频编码器50的RD量化单元40获得系数的视频块(70)。可通过从待编码的原始视频块减去由预测单元32产生的预测视频块以获得像素差值的块,且接着将例如DCT等变换操作应用于像素差值的块以获得变换系数的块而形成系数的视频块。
RD量化单元40或其它组件扫描视频块的系数以获得系数的一维向量(即,系数向量)(71)。RD量化单元40可使用关于图3描述的Z字形扫描或另一扫描次序来扫描视频块的系数。作为另一实例,RD量化单元40可扫描系数向量的系数以将系数布置为量值的函数。此扫描技术的结果可导致视频块的系数以系数向量布置以使得具有最小量值的系数朝向系数向量的开始而出现。
RD量化单元40可选择系数向量的系数中的一者以进行分析(72)。RD量化单元40可以向量的第一系数开始且以向量的最后系数结束而循序地选择系数。因此,所选择的第一系数将为系数C1。作为另一实例,RD量化单元40可以向量的最后系数开始且以向量的第一系数结束而循序地选择系数。RD量化单元40计算用于选定系数的多个候选量化层级(73)。在一个实例中,RD量化单元可计算用于选定系数的三个候选量化层级。如上文所描述,RD量化单元40可计算三个候选量化层级|lij|:0、
Figure BDA00002844521900162
其中:
Figure BDA00002844521900163
在另一实例中,RD量化单元40可计算三个候选量化层级|lij|:0、1和
Figure BDA00002844521900164
虽然所述技术在三个候选量化层级的上下文中描述,但本发明的量化技术不应限于特定数目的候选量化层级。换句话说,RD量化单元40可计算与选定系数相关联的任何数目的候选量化层级,包括两个层级或三个以上层级。本文中三个候选量化层级的论述仅为示范性的。
RD量化单元40可计算与选定系数相关联的候选量化层级中的每一者的译码成本(74)。RD量化单元40可根据等式(10)或(13)的拉格朗日成本函数来计算成本。由于CAVLC不独立编码每一系数,所以向量的系数中的每一者的量化层级必须为已知的,从而确定CAVLC用以编码系数向量的位的数目(来自等式(10)的R或来自等式(13)的位(lij))。当前和之前系数的量化层级为已知的;当前系数的量化层级等于候选量化层级中的一者,且之前系数的量化层级先前已经选择。由于RD量化单元40仍必须分析当前系数之后的系数,所以当前系数之后的系数的量化层级为未知的,但可根据等式(15)或(16)预测或估计其成本。
RD量化单元40选择具有最低译码成本的候选量化层级作为用于当前正经分析的个别选定系数的量化层级(75)。RD量化单元40确定系数向量中是否存在仍必须进行量化的更多系数(76)。如果系数向量中存在剩余的系数(框76的“是”分支),那么RD量化单元40如上文关于框72-75所描述选择系数的量化层级。RD量化单元40继续如此执行直到系数向量中不再存在需要进行量化的系数为止。以此方式,RD量化单元40可循序地执行量化直到已为系数向量的个别系数中的每一者选择量化层级为止。此种量化技术可使视频编码器50能够选择减少且常常最小化块的译码成本的一组量化系数(或层级)。
当不再存在剩余的变换系数时,即系数向量的所有系数经量化(框76的“否”分支)时,CAVLC编码单元46对经量化变换系数连同预测语法(例如,运动向量、预测模式或其它控制信息)一起进行熵译码,以产生经译码视频块(77)。在由CAVLC编码单元46进行熵译码之后,视频编码器40将经编码视频块发射到另一装置或将经编码视频块存储/存档以供随后发射或检索(78)。
图6是更详细地说明RD量化单元40计算候选量化层级的译码成本的实例操作的流程图。图6中展示的过程可对应于图5中展示的过程的框74,或可对应于另一上下文内的译码成本的计算。如图6中所展示,RD量化单元40选择与个别系数相关联的候选量化层级中的一者(80)。RD量化单元81获得系数向量中任何先前经量化系数的量化层级(81)。任何先前经量化系数的量化层级可存储于存储器或其它存储装置内。
RD量化单元40获得随后系数(例如,尚未进行量化的系数)的预测(或估计)的量化层级(82)。举例来说,RD量化单元40可根据以下等式中的一者计算所预测或估计的量化层级:
Figure BDA00002844521900171
lij prequant=sgn(cij)[|cij|·Q(QP%6,i,j)+f]/215+QP/6
然而,RD量化单元40可为系数向量的随后系数的量化层级使用其它估计。
RD量化单元40使用与速率-失真模型相关联的拉格朗日成本函数来计算选定候选量化层级的译码成本(83)。在一个实例中,RD量化单元40使用等式(10)或(13)的拉格朗日成本函数来计算选定候选量化层级的译码成本。RD量化单元40基于与先前经量化系数相关联的所获得的量化层级、选定的候选量化层级和尚未进行量化的随后系数的所预测(或估计)的量化层级而计算选定候选量化层级的译码成本。由于CAVLC不独立编码每一系数,所以仅可基于向量的系数中的每一者的量化层级何时已知而确定位数目(来自等式(10)的R或来自等式(13)的位(lij)),使用所预测/估计的量化层级来计算成本。
RD量化单元40确定是否存在更多需要计算译码成本的候选量化层级(84)。如果存在剩余候选量化层级(图6的框84的“是”分支),那么RD量化单元40选择下一候选量化层级且如上文关于图6的框80-83所描述计算与下一候选量化层级相关联的译码成本。RD量化单元40继续如此执行直到不再存在应计算译码成本的与个别系数相关联的候选量化层级为止(图6的框84的“否”分支)。在所述点处所述过程回复到图5的框75。
图7是说明根据本发明的另一量化技术的视频编码器执行量化的实例操作的流程图。举例来说,视频编码器可包含图2的视频编码器50。视频编码器50的RD量化单元40获得系数的视频块(90)。可通过从待编码的原始视频块减去由预测单元32产生的预测视频块以获得像素差值的块且接着将例如DCT等变换操作应用于像素差值的块以获得变换系数的块而形成系数的视频块。
RD量化单元40或其它组件扫描视频块的系数以获得系数的一维向量(即,系数向量)(91)。RD量化单元40可使用如关于图3描述的Z字形扫描或另一扫描次序来扫描视频块的系数。作为另一实例,RD量化单元40可扫描系数向量的系数以将系数布置为量值的函数。此扫描技术的结果可导致视频块的系数以系数向量布置,以使得具有最小量值的系数朝向系数向量的开始而出现。
RD量化单元40可选择系数向量的系数中的一者进行分析(92)。RD量化单元40可以向量的第一系数开始且以向量的最后系数结束而循序地选择系数。因此,所选择的第一系数将为系数C1。作为另一实例,RD量化单元40可以向量的最后系数开始且以向量的第一系数结束而循序地选择系数。RD量化单元40计算用于选定系数的多个候选量化层级(93)。在一个实例中,RD量化单元可计算用于选定系数的三个候选量化层级。如上文所描述,RD量化单元40可计算三个候选量化层级|lij|:0、
Figure BDA00002844521900191
Figure BDA00002844521900192
其中:
Figure BDA00002844521900193
在另一实例中,RD量化单元40可计算三个候选量化层级|lij|:0、1和
Figure BDA00002844521900194
虽然所述技术在三个候选量化层级的上下文中描述,但本发明的量化技术不应限于特定数目的候选量化层级。换句话说,RD量化单元40可计算与选定系数相关联的任何数目的候选量化层级,包括两个层级或三个以上层级。
RD量化单元40可计算与选定系数相关联的候选量化层级中的每一者的多个译码成本(94)。换句话说,每一个别系数与多个候选量化层级相关联,且候选量化层级中的每一者与多个译码成本相关联。可基于与先前系数的先前选定量化层级以及随后系数的所预测或所估计的量化层级相关联的幸存路径来计算多个译码成本。如上文所描述,幸存路径表示为向量中的先前系数作出的量化决策的序列。
RD量化单元40为候选量化层级中的每一者选择具有最低译码成本的幸存路径(95)。因而,选定系数对应于三个幸存路径,其中每一幸存路径与同个别系数相关联的候选量化层级中的一者相关联。作为一个实例,RD量化单元40可计算候选系数的译码成本,且根据如关于图4详细说明且描述的量化网格60而选择与系数中的每一者相关联的幸存路径。
RD量化单元40确定系数向量中是否存在仍必须进行量化的更多系数(96)。如果系数向量中存在剩余系数(框96的“是”分支),那么RD量化单元40如上文关于框92-95所描述为随后系数选择量化层级中的每一者的幸存路径。
如果不再存在剩余变换系数,即系数向量的所有系数均经量化(框96的“否”分支),那么RD量化单元40选择单一幸存路径,即三个幸存路径中具有最低译码成本的与向量的最后系数相关联的一者(97)。此种量化技术可使视频编码器50能够选择减少且常常最小化块的译码成本的一组量化系数(或层级)。
CAVLC编码单元46对经量化变换系数连同预测语法(例如,运动向量、预测模式或其它控制信息)一起进行熵译码,以产生经译码视频块(98)。在CAVLC编码单元46进行的熵译码之后,视频编码器40将经编码视频块发射到另一装置或将经编码视频块存储/存档以供随后发射或检索(99)。
图8是说明可用以加速量化过程而不实质上牺牲经量化系数的质量的实例技术的流程图。图8中描述的加速技术可最适用于一次通过量化过程,在多次通过量化过程中也可为有用的。如图8中所展示,RD量化单元40可确定个别经量化系数是否与距下一最高候选量化层级相比更靠近量化层级0(100)。举例来说,在候选量化层级为0、1和
Figure BDA00002844521900201
的实例中,RD量化单元40可确定个别经量化系数是否与距候选量化层级1相比更靠近候选量化层级0。
如果个别经量化系数与距下一最高候选量化层级(例如,量化层级0)相比更靠近量化层级0(100的“是”分支),那么RD量化单元40可跳过计算与每一量化层级相关联的个别系数译码成本,而是在不进行任何进一步分析的情况下选择量化层级0(102)。在此情形下,RD量化单元40可假设与个别经量化系数相关联的个别系数译码成本将在量化层级0处最小化。因此,在此情形下,RD量化单元40可避免与同候选量化层级中的每一者相关联的译码成本的计算相关联的不必要的计算。如果个别经量化系数与距下一最高候选量化层级(例如,量化层级1)相比并非更靠近量化层级0,(100的“否”分支),那么RD量化单元40不可跳过计算与同个别系数相关联的候选量化层级相关联的译码成本。
本发明的所述技术可体现于广泛种类的装置或设备中,包括无线手持机和集成电路(IC)或一组IC(即,芯片集)。已描述经提供以强调功能方面的任何组件、模块或单元,且其未必需要通过不同硬件单元、组件或模块来实现。
因此,本文中描述的技术可以硬件、软件、固件或其任何组合实施。经描述为模块或组件的任何特征可共同实施于集成逻辑装置中或单独地实施为离散但可共同操作的逻辑装置。如果实施于软件中,那么可至少部分地通过包含在经执行时执行上述方法中的一者或一者以上的指令的计算机可读媒体来实现所述技术。计算机可读数据存储媒体可形成可包括封装材料的计算机程序产品的一部分。计算机可读媒体可包含例如同步动态随机存取存储器(SDRAM)等随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体等。另外或作为替代,可至少部分地通过计算机可读通信媒体来实现所述技术,所述计算机可读通信媒体以指令或数据结构的形式来携载或传递代码且可由计算机存取、读取和/或执行。
所述代码可由一个或一个以上处理器来执行,所述处理器例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,本文中所使用的术语“处理器”可指代上述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中描述的功能性可提供于经配置以用于编码和解码的专用软件模块或硬件模块内,或并入于组合式视频编码器-解码器(CODEC)中。并且,所述技术可完全实施于一个或一个以上电路或逻辑元件中。
已描述本发明的各个方面。这些和其它方面在所附权利要求书的范围内。

Claims (6)

1.一种在视频译码过程中量化视频块的系数的至少一部分的方法,所述方法包含:
为所述视频块的所述系数的所述部分中的每一者确定与相应系数相关联的多个候选量化层级的译码成本,其中与相应系数相关联的每个候选量化层级的译码成本至少部分地基于随后未经量化系数的预测的量化层级,其中随后未经量化系数的预测的量化层级至少部分地基于一随后未经量化系数的系数值;以及
基于所述译码成本来为所述系数中的每一者选择所述多个候选量化层级中的一者以获得一组经量化系数,其中随后未经量化系数的预测的量化层级至少部分地基于估计的最大量化层级。
2.一种在视频译码过程中量化视频块的系数的至少一部分的方法,所述方法包含:
为所述视频块的所述系数的所述部分中的每一者确定与相应系数相关联的多个候选量化层级的译码成本,其中与相应系数相关联的每个候选量化层级的译码成本至少部分地基于随后未经量化系数的预测的量化层级,其中随后未经量化系数的预测的量化层级至少部分地基于一随后未经量化系数的系数值;以及
基于所述译码成本来为所述系数中的每一者选择所述多个候选量化层级中的一者以获得一组经量化系数,其中随后未经量化系数的预测的量化层级至少部分地基于系数统计。
3.一种在视频译码过程中量化视频块的系数的至少一部分的设备,所述设备包含:量化单元,其:
为所述视频块的所述系数的所述部分中的每一者确定与相应系数相关联的多个候选量化层级的译码成本,其中与相应系数相关联的每个候选量化层级的译码成本至少部分地基于随后未经量化系数的预测的量化层级,其中随后未经量化系数的预测的量化层级至少部分地基于一随后未经量化系数的系数值;以及
基于所述译码成本来为所述系数中的每一者选择所述多个候选量化层级中的一者以获得一组经量化系数,其中随后未经量化系数的预测的量化层级至少部分地基于估计的最大量化层级。
4.一种在视频译码过程中量化视频块的系数的至少一部分的设备,所述设备包含:量化单元,其:
为所述视频块的所述系数的所述部分中的每一者确定与相应系数相关联的多个候选量化层级的译码成本,其中与相应系数相关联的每个候选量化层级的译码成本至少部分地基于随后未经量化系数的预测的量化层级,其中随后未经量化系数的预测的量化层级至少部分地基于一随后未经量化系数的系数值;以及
基于所述译码成本来为所述系数中的每一者选择所述多个候选量化层级中的一者以获得一组经量化系数,其中随后未经量化系数的预测的量化层级至少部分地基于系数统计。
5.一种在视频译码过程中量化视频块的系数的至少一部分的装置,所述装置包含:
用于为所述视频块的所述系数的所述部分中的每一者确定与相应系数相关联的多个候选量化层级的译码成本的装置,其中与相应系数相关联的每个候选量化层级的译码成本至少部分地基于随后未经量化系数的预测的量化层级,其中随后未经量化系数的预测的量化层级至少部分地基于一随后未经量化系数的系数值;以及
用于基于所述译码成本来为所述系数中的每一者选择所述多个候选量化层级中的一者以获得一组经量化系数的装置,其中随后未经量化系数的预测的量化层级至少部分地基于估计的最大量化层级。
6.一种在视频译码过程中量化视频块的系数的至少一部分的装置,所述装置包含:
用于为所述视频块的所述系数的所述部分中的每一者确定与相应系数相关联的多个候选量化层级的译码成本的装置,其中与相应系数相关联的每个候选量化层级的译码成本至少部分地基于随后未经量化系数的预测的量化层级,其中随后未经量化系数的预测的量化层级至少部分地基于一随后未经量化系数的系数值;以及
用于基于所述译码成本来为所述系数中的每一者选择所述多个候选量化层级中的一者以获得一组经量化系数的装置,其中随后未经量化系数的预测的量化层级至少部分地基于系数统计。
CN201310054660.3A 2008-04-11 2009-04-10 用于上下文自适应可变长度译码(cavlc)的速率-失真量化 Active CN103179395B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US4423208P 2008-04-11 2008-04-11
US61/044,232 2008-04-11
US12/338,838 US8902972B2 (en) 2008-04-11 2008-12-18 Rate-distortion quantization for context-adaptive variable length coding (CAVLC)
US12/338,838 2008-12-18
CN2009801163732A CN102017633B (zh) 2008-04-11 2009-04-10 用于上下文自适应可变长度译码(cavlc)的速率-失真量化

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2009801163732A Division CN102017633B (zh) 2008-04-11 2009-04-10 用于上下文自适应可变长度译码(cavlc)的速率-失真量化

Publications (2)

Publication Number Publication Date
CN103179395A true CN103179395A (zh) 2013-06-26
CN103179395B CN103179395B (zh) 2016-03-09

Family

ID=40678903

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2009801163732A Active CN102017633B (zh) 2008-04-11 2009-04-10 用于上下文自适应可变长度译码(cavlc)的速率-失真量化
CN201310054660.3A Active CN103179395B (zh) 2008-04-11 2009-04-10 用于上下文自适应可变长度译码(cavlc)的速率-失真量化

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2009801163732A Active CN102017633B (zh) 2008-04-11 2009-04-10 用于上下文自适应可变长度译码(cavlc)的速率-失真量化

Country Status (10)

Country Link
US (1) US8902972B2 (zh)
EP (1) EP2277315A1 (zh)
JP (1) JP5185436B2 (zh)
KR (1) KR101232420B1 (zh)
CN (2) CN102017633B (zh)
BR (1) BRPI0909007A2 (zh)
CA (1) CA2720697A1 (zh)
RU (1) RU2480940C2 (zh)
TW (1) TW201004357A (zh)
WO (1) WO2009126919A1 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8902972B2 (en) * 2008-04-11 2014-12-02 Qualcomm Incorporated Rate-distortion quantization for context-adaptive variable length coding (CAVLC)
KR20100079037A (ko) * 2008-12-30 2010-07-08 삼성전자주식회사 비디오 영상 부호화 방법 및 장치
CA2751803A1 (en) * 2009-02-13 2010-08-19 Research In Motion Limited Modified entropy encoding for images and videos
EP2396771A4 (en) * 2009-02-13 2012-12-12 Research In Motion Ltd IN-LOOP DEFLECTION FOR INTRACODED PICTURES OR FRAMES
KR101394536B1 (ko) * 2009-02-13 2014-05-15 블랙베리 리미티드 이미지 처리에서 픽셀-도메인 왜곡 분포의 균형이 맞춰진 적응적 양자화
JP5045845B2 (ja) * 2009-03-13 2012-10-10 日本電気株式会社 画像識別子抽出装置
JP2011041037A (ja) * 2009-08-12 2011-02-24 Sony Corp 画像処理装置および方法
WO2011031692A2 (en) * 2009-09-10 2011-03-17 Dolby Laboratories Licensing Corporation Speedup techniques for rate distortion optimized quantization
JP5423469B2 (ja) * 2010-02-23 2014-02-19 沖電気工業株式会社 量子化装置、プログラム及び方法、並びに、動画像符号化装置
KR101418104B1 (ko) * 2010-03-08 2014-07-16 에스케이 텔레콤주식회사 움직임 벡터 해상도 조합을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
PL3691267T3 (pl) 2010-04-13 2022-07-11 Ge Video Compression, Llc Kodowanie map istotności i bloków współczynników transformacji
GB2481856A (en) * 2010-07-09 2012-01-11 British Broadcasting Corp Picture coding using weighted predictions in the transform domain
US9497472B2 (en) 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in video coding
US9049444B2 (en) 2010-12-22 2015-06-02 Qualcomm Incorporated Mode dependent scanning of coefficients of a block of video data
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
JP2012156867A (ja) * 2011-01-27 2012-08-16 Toshiba Corp 逆離散コサイン変換装置、復号装置、及び画像処理装置
US8442338B2 (en) 2011-02-28 2013-05-14 Sony Corporation Visually optimized quantization
US9894353B2 (en) * 2011-06-13 2018-02-13 Sun Patent Trust Method and apparatus for encoding and decoding video using intra prediction mode dependent adaptive quantization matrix
US9756360B2 (en) 2011-07-19 2017-09-05 Qualcomm Incorporated Coefficient scanning in video coding
EP2774360B1 (en) * 2011-11-04 2017-08-02 Huawei Technologies Co., Ltd. Differential pulse code modulation intra prediction for high efficiency video coding
GB201119175D0 (en) * 2011-11-07 2011-12-21 Sony Corp Context adaptive data encoding
GB2501115B (en) * 2012-04-13 2015-02-18 Canon Kk Methods for segmenting and encoding an image, and corresponding devices
US9491475B2 (en) * 2012-03-29 2016-11-08 Magnum Semiconductor, Inc. Apparatuses and methods for providing quantized coefficients for video encoding
US10230956B2 (en) * 2012-09-26 2019-03-12 Integrated Device Technology, Inc. Apparatuses and methods for optimizing rate-distortion of syntax elements
US10277907B2 (en) * 2012-10-25 2019-04-30 Integrated Device Technology, Inc. Rate-distortion optimizers and optimization techniques including joint optimization of multiple color components
US9392286B2 (en) * 2013-03-15 2016-07-12 Magnum Semiconductor, Inc. Apparatuses and methods for providing quantized coefficients for video encoding
US9565440B2 (en) * 2013-06-25 2017-02-07 Vixs Systems Inc. Quantization parameter adjustment based on sum of variance and estimated picture encoding cost
US20150085922A1 (en) * 2013-09-25 2015-03-26 Magnum Semiconductor, Inc. Apparatuses and methods for reducing rate and distortion costs during encoding by modulating a lagrangian parameter
US10356405B2 (en) 2013-11-04 2019-07-16 Integrated Device Technology, Inc. Methods and apparatuses for multi-pass adaptive quantization
US9794575B2 (en) 2013-12-18 2017-10-17 Magnum Semiconductor, Inc. Apparatuses and methods for optimizing rate-distortion costs in video encoding
EP2980793A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder, system and methods for encoding and decoding
KR102338980B1 (ko) 2015-03-23 2021-12-13 삼성전자주식회사 플리커를 제거하기 위해 양자화 계수를 조절할 수 있은 인코더와 이를 포함하는 장치
US20170064298A1 (en) * 2015-09-02 2017-03-02 Blackberry Limited Video coding with delayed reconstruction
EP3414901A4 (en) * 2016-02-08 2018-12-26 Sharp Kabushiki Kaisha Systems and methods for transform coefficient coding
US11451840B2 (en) * 2018-06-18 2022-09-20 Qualcomm Incorporated Trellis coded quantization coefficient coding

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100303054B1 (ko) 1997-02-08 2001-09-24 모리시타 요이찌 정지영상과동영상부호화를위한양자화매트릭스
JP3234830B2 (ja) 1997-02-08 2001-12-04 松下電器産業株式会社 デコード方法
US6118822A (en) 1997-12-01 2000-09-12 Conexant Systems, Inc. Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
KR100311473B1 (ko) 1999-01-20 2001-11-02 구자홍 트렐리스 기반의 적응적 양자화기에서 최적경로 추적 방법
US6535647B1 (en) 1999-03-25 2003-03-18 General Dynamics Decision Systems, Inc. Image encoder method
US6909746B2 (en) * 2001-03-30 2005-06-21 Koninklijke Philips Electronics N.V. Fast robust data compression method and system
ATE528924T1 (de) 2001-11-22 2011-10-15 Panasonic Corp Kodierungs- und dekodierungsverfahren variabler länge
RU2354073C2 (ru) 2002-01-22 2009-04-27 Нокиа Корпорейшн Кодирование коэффициентов преобразования в кодерах и/или декодерах изображения и видеоданных
US7099387B2 (en) 2002-03-22 2006-08-29 Realnetorks, Inc. Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses
US6795584B2 (en) 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
CN100353768C (zh) 2003-11-26 2007-12-05 联发科技股份有限公司 在视频压缩系统中进行运动估测的方法及相关装置
CN101032081B (zh) * 2004-07-14 2010-05-26 喷流数据有限公司 用于数据压缩优化的方法和系统
CA2572818C (en) * 2004-07-14 2013-08-27 Slipstream Data Inc. Method, system and computer program product for optimization of data compression
US8379721B2 (en) 2005-09-22 2013-02-19 Qualcomm Incorported Two pass rate control techniques for video coding using a min-max approach
KR100753282B1 (ko) 2005-12-28 2007-08-29 엘지전자 주식회사 Cavlc 디코딩을 위한 vlc 테이블 선택방법 및 그cavlc 디코딩방법
HUE037348T2 (hu) 2006-01-09 2018-08-28 Musmann Hans Georg A predikciós hiba adaptív kódolása hibrid video kódolásban
US8005140B2 (en) * 2006-03-17 2011-08-23 Research In Motion Limited Soft decision and iterative video coding for MPEG and H.264
US8184712B2 (en) 2006-04-30 2012-05-22 Hewlett-Packard Development Company, L.P. Robust and efficient compression/decompression providing for adjustable division of computational complexity between encoding/compression and decoding/decompression
JP4660433B2 (ja) 2006-06-29 2011-03-30 株式会社東芝 符号化回路、復号回路、エンコーダ回路、デコーダ回路、cabac処理方法
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
US8902972B2 (en) * 2008-04-11 2014-12-02 Qualcomm Incorporated Rate-distortion quantization for context-adaptive variable length coding (CAVLC)

Also Published As

Publication number Publication date
RU2480940C2 (ru) 2013-04-27
EP2277315A1 (en) 2011-01-26
JP5185436B2 (ja) 2013-04-17
CA2720697A1 (en) 2009-10-15
WO2009126919A1 (en) 2009-10-15
US8902972B2 (en) 2014-12-02
CN103179395B (zh) 2016-03-09
BRPI0909007A2 (pt) 2019-09-24
TW201004357A (en) 2010-01-16
RU2010145912A (ru) 2012-05-20
JP2011517911A (ja) 2011-06-16
CN102017633A (zh) 2011-04-13
KR20100133007A (ko) 2010-12-20
CN102017633B (zh) 2013-08-14
KR101232420B1 (ko) 2013-02-12
US20090257489A1 (en) 2009-10-15

Similar Documents

Publication Publication Date Title
CN102017633B (zh) 用于上下文自适应可变长度译码(cavlc)的速率-失真量化
CN101911702B (zh) 针对支持cabac的视频编码过程而量化视频块的系数的方法和装置
CN101946515B (zh) Cabac译码器的二回合量化
CN101743751B (zh) 视帧内预测模式而定的残差块的自适应变换
JP5400876B2 (ja) ビデオ符号化のための、スライス依存性に基づくレート制御モデル適合化
CN102792688B (zh) 用于视频的数据压缩
CN104969552B (zh) 存储减少的帧内预测模式决策
RU2533196C2 (ru) Кодирование видео при помощи больших макроблоков
CN102172027B (zh) 有效率的预测模式选择
EP1575301A2 (en) V ideo transcoding method and apparatus
US8295623B2 (en) Encoding and decoding with elimination of one or more predetermined predictors
CN103181170A (zh) 用于视频译码的变换系数的自适应扫描
Vanam et al. Distortion-complexity optimization of the H. 264/MPEG-4 AVC encoder using the GBFOS algorithm
NS et al. Novel Intra-Prediction Framework for H. 264 Video Compression using Decision and Prediction Mode

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