CN103718554A - 用于视频译码的变换系数的译码 - Google Patents

用于视频译码的变换系数的译码 Download PDF

Info

Publication number
CN103718554A
CN103718554A CN201280038520.0A CN201280038520A CN103718554A CN 103718554 A CN103718554 A CN 103718554A CN 201280038520 A CN201280038520 A CN 201280038520A CN 103718554 A CN103718554 A CN 103718554A
Authority
CN
China
Prior art keywords
decoding
group
conversion coefficient
coefficient
binary bit
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
CN201280038520.0A
Other languages
English (en)
Other versions
CN103718554B (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
Priority claimed from US13/413,497 external-priority patent/US20120230418A1/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN103718554A publication Critical patent/CN103718554A/zh
Application granted granted Critical
Publication of CN103718554B publication Critical patent/CN103718554B/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明描述对在视频译码过程中与残余视频数据块相关联的变换系数进行译码。本发明的各方面包含选择用于有效性图译码及层级译码两者的扫描次序,以及选择与所述选定扫描次序一致的熵译码的上下文。本发明提出对所述扫描次序进行协调以对所述变换系数的所述有效性图进行译码以及对所述变换系数的所述层级进行译码。提出用于所述有效性图的所述扫描次序应在逆方向上(即,从较高频率到较低频率)。本发明还提出以子集而不是固定子块来扫描变换系数。明确地说,根据所述扫描次序以由许多连续系数组成的子集来扫描变换系数。

Description

用于视频译码的变换系数的译码
本申请案主张2011年8月5日申请的第61/515,711号美国临时申请案的权益,且是2012年3月6日申请的第13/413,497号美国申请案接续部分,所述两个申请案以全文引用的方式并入本文中。
技术领域
本发明涉及视频译码,且更明确地说涉及用于对通过视频译码过程产生的变换系数进行扫描及译码的技术。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及类似装置。数字视频装置实施视频压缩技术,例如通过MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、高级视频译码(AVC)、目前正在开发的高效率视频译码(HEVC)标准及此类标准的扩展部分定义的标准中描述的技术,以便更有效率地发射、接收及存储数字视频信息。
视频压缩技术包含空间预测及/或时间预测,以减少或移除视频序列中所固有的冗余。对于基于块的视频译码,一视频帧或切片可以分割成块。每一块可被进一步分割。使用相对于相同帧或切片中的相邻块中的参考样本的空间预测对经帧内译码(I)帧或切片中的块进行编码。经帧间译码(P或B)帧或切片中的块可使用相对于相同帧或切片中的相邻块中的参考样本的空间预测,或相对于其它参考帧中的参考样本的时间预测。空间或时间预测产生用于待译码块的预测性块。残余数据表示待译码原始块与预测性块之间的像素差。
经帧间译码块是根据指向形成预测性块的参考样本块的运动向量及指示经译码块与预测性块之间的差的残余数据而被编码。经帧内译码块是根据帧内译码模式及残余数据而被编码。为了进一步压缩,可以将残余数据从像素域变换到变换域,从而产生残余变换系数,接着可以对残余变换系数进行量化。可以特定次序扫描起初布置在二维阵列中的经量化变换系数以产生变换系数的一维向量用于熵译码。
发明内容
总的来说,本发明描述用于对在视频译码过程中与残余视频数据块相关联的变换系数进行译码的装置及方法。本发明中描述的技术、结构及方法可适用于使用熵译码(例如,上下文自适应二进制算术译码(CABAC))对与变换系数相关的语法元素进行译码的视频译码过程。本发明的各方面包含针对变换系数选择用于有效性译码以及层级及正负号译码两者的扫描次序,以及选择与选定扫描次序一致的熵译码的上下文。本发明的技术、结构及方法可适用于在视频编码器及视频解码器两者使用。
本发明提出对变换系数的有效性图进行译码以及对变换系数的层级进行译码的扫描次序的协调。也就是说,在一些实例中,用于有效性图及层级译码的扫描次序应具有相同模式及方向。在另一实例中,提出用于有效性图的扫描次序应在逆方向上(即,从较高频率的系数到较低频率的系数)。在又一实例中,提出用于有效性图及层级译码的扫描次序应经过协调,从而使得每一者在逆方向上进行。
本发明还提出,在一些实例中,在子集中扫描变换系数。明确地说,根据扫描次序在由多个连续系数组成的子集中扫描变换系数。这些子集可适用于有效性图扫描以及系数层级扫描两者。
此外,本发明提出,在一些实例中,以连续扫描且根据相同扫描次序执行有效性图及系数层级扫描。在一个方面中,所述扫描次序是逆扫描次序。连续扫描可包括若干扫描回合。每一扫描回合可包括一语法元素扫描回合。举例来说,第一扫描是有效性图扫描(也称为变换系数的层级的二进位0),第二扫描是对每一子集中的变换系数的层级的二进位1(即,具有大于1的层级的变换系数)的扫描,第三扫描可以是对每一子集中的变换系数的层级的二进位2(即,具有大于2的层级的变换系数)的扫描,第四扫描是对变换系数的层级的其余二进位(即,大于2的其余层级)的扫描,并且第五扫描是对变换系数的层级的正负号(即,正号或负号)的扫描。所述正负号回合可能在有效性图回合之后的任何点处。此外,通过每个回合译码一种以上语法元素可以减少扫描回合的数目。举例来说,可存在用于使用经译码二进位的语法元素的一个扫描回合,且用于使用旁路二进位(例如,其余的层级及正负号)的语法元素的第二扫描回合。在此上下文中,二进位是经熵译码的二进位串的一部分。将给定非二进制值的语法元素映射到二进制序列(所谓的二进位串)。
本发明还提出,在一些实例中,在两个不同上下文区域中使用CABAC对变换系数进行熵译码。第一上下文区域的上下文推导取决于变换系数的位置,而第二区域的上下文推导取决于变换系数的因果相邻者。在另一实例中,第二上下文区域可使用两个不同上下文模型,这取决于变换系数的位置。
在本发明的一个实例中,提出对在视频译码过程中与残余视频数据相关联的变换系数进行译码的方法。所述方法包括基于扫描次序将变换系数块布置成变换系数的一个或一个以上子集,对每一子集中的变换系数的层级的第一部分进行译码,其中层级的所述第一部分至少包含每一子集中的变换系数的有效性,并且对每一子集中的变换系数的层级的第二部分进行译码。
在本发明的另一实例中,提出一种用于对在视频译码过程中与残余视频数据相关联的多个变换系数进行译码的系统。所述系统包括视频译码单元,其经配置以基于扫描次序将变换系数块布置成变换系数的一个或一个以上子集,对每一子集中的变换系数的层级的第一部分进行译码,其中层级的所述第一部分至少包含每一子集中的变换系数的有效性,并且对每一子集中的变换系数的层级的第二部分进行译码。
在本发明的另一实例中,提出一种用于对在视频译码过程中与残余视频数据相关联的多个变换系数进行译码的系统。所述系统包括用于基于扫描次序将变换系数块布置成变换系数的一个或一个以上子集的装置,用于对每一子集中的变换系数的层级的第一部分进行译码的装置,其中层级的所述第一部分至少包含每一子集中的变换系数的有效性,以及用于对每一子集中的变换系数的层级的第二部分进行译码的装置。
在本发明的另一实例中,一种计算机程序产品包括上面存储有指令的计算机可读存储媒体,所述指令在执行时致使用于对在视频译码过程中与残余视频数据相关联的变换系数进行译码的装置的处理器进行以下操作:基于扫描次序将变换系数块布置成变换系数的一个或一个以上子集,对每一子集中的变换系数的层级的第一部分进行译码,其中层级的所述第一部分至少包含每一子集中的变换系数的有效性,并且对每一子集中的变换系数的层级的第二部分进行译码。
在本发明的另一实例中,一种对在视频译码过程中与残余视频数据相关联的变换系数进行译码的方法包括:在一个或一个以上第一回合中根据扫描次序对与所述残余视频数据相关联的一组变换系数中的变换系数的有效性信息进行译码;在一个或一个以上第二回合中根据所述扫描次序对所述变换系数的信息的第一组一个或一个以上二进位进行译码,其中所述一个或一个以上第二回合不同于所述一个或一个以上第一回合,且其中在译码过程的第一模式中对所述第一组一个或一个以上二进位进行译码;以及在一个或一个以上第三回合中根据所述扫描次序对所述变换系数的信息的第二组一个或一个以上二进位进行译码,其中所述一个或一个以上第三回合不同于所述一个或一个以上第一和第二回合,且其中在所述译码过程的第二模式中对所述第二组一个或一个以上二进位进行译码。
在本发明的另一实例中,一种用于对与残余视频数据相关联的变换系数进行译码的设备包括一个或一个以上处理器,所述一个或一个以上处理器经配置以:在一个或一个以上第一回合中根据扫描次序对与所述残余视频数据相关联的一组变换系数中的变换系数的有效性信息进行译码;在一个或一个以上第二回合中根据所述扫描次序对所述变换系数的信息的第一组一个或一个以上二进位进行译码,其中所述一个或一个以上第二回合不同于所述一个或一个以上第一回合,且其中在译码过程的第一模式中对所述第一组一个或一个以上二进位进行译码;以及在一个或一个以上第三回合中根据所述扫描次序对所述变换系数的信息的第二组一个或一个以上二进位进行译码,其中所述一个或一个以上第三回合不同于所述一个或一个以上第一和第二回合,且其中在所述译码过程的第二模式中对所述第二组一个或一个以上二进位进行译码。
在本发明的另一实例中,一种用于对与残余视频数据相关联的变换系数进行译码的设备包括:用于在一个或一个以上第一回合中根据扫描次序对与所述残余视频数据相关联的一组变换系数中的变换系数的有效性信息进行译码的装置;用于在一个或一个以上第二回合中根据所述扫描次序对所述变换系数的信息的第一组一个或一个以上二进位进行译码的装置,其中所述一个或一个以上第二回合不同于所述一个或一个以上第一回合,且其中在译码过程的第一模式中对所述第一组一个或一个以上二进位进行译码;以及用于在一个或一个以上第三回合中根据所述扫描次序对所述变换系数的信息的第二组一个或一个以上二进位进行译码的装置,其中所述一个或一个以上第三回合不同于所述一个或一个以上第一和第二回合,且其中在所述译码过程的第二模式中对所述第二组一个或一个以上二进位进行译码。
在本发明的另一实例中,一种非暂时性计算机可读存储媒体具有存储于其上的指令,所述指令在被执行时致使一个或一个以上处理器:在一个或一个以上第一回合中根据扫描次序对与所述残余视频数据相关联的一组变换系数中的变换系数的有效性信息进行译码;在一个或一个以上第二回合中根据所述扫描次序对所述变换系数的信息的第一组一个或一个以上二进位进行译码,其中所述一个或一个以上第二回合不同于所述一个或一个以上第一回合,且其中在译码过程的第一模式中对所述第一组一个或一个以上二进位进行译码;以及在一个或一个以上第三回合中根据所述扫描次序对所述变换系数的信息的第二组一个或一个以上二进位进行译码,其中所述一个或一个以上第三回合不同于所述一个或一个以上第一和第二回合,且其中在所述译码过程的第二模式中对所述第二组一个或一个以上二进位进行译码。
一个或一个以上实例的细节陈述于附图及以下描述中。其它特征、目标及优势将从描述及附图及从权利要求书中显而易见。
附图说明
图1是图解说明有效性图译码过程的概念图。
图2是图解说明用于有效性图译码的扫描模式及方向的概念图。
图3是图解说明用于变换单元的层级译码的扫描技术的概念图。
图4是图解说明实例视频译码系统的框图。
图5是图解说明实例视频编码器的框图。
图6是图解说明用于有效性图及系数层级译码的逆扫描次序的概念图。
图7是图解说明根据逆对角线扫描次序而扫描的变换系数的第一子集的概念图。
图8是图解说明根据逆水平扫描次序而扫描的变换系数的第一子集的概念图。
图9是图解说明根据逆垂直扫描次序而扫描的变换系数的第一子集的概念图。
图10是图解说明用于有效性图译码的上下文区域的概念图。
图11是图解说明用于使用逆扫描次序的有效性图译码的实例上下文区域的概念图。
图12是图解说明用于使用正向扫描次序的熵译码的实例因果相邻者的概念图。
图13是图解说明用于使用逆扫描次序的熵译码的实例因果相邻者的概念图。
图14是图解说明用于使用逆扫描次序的熵译码的实例上下文区域的概念图。
图15是图解说明用于使用逆扫描次序的熵译码的实例因果相邻者的概念图。
图16是图解说明用于使用逆扫描次序的CABAC的上下文区域的另一实例的概念图。
图17是图解说明用于使用逆扫描次序的CABAC的上下文区域的另一实例的概念图。
图18是图解说明用于使用逆扫描次序的CABAC的上下文区域的另一实例的概念图。
图19是图解说明实例熵译码单元的框图。
图20是图解说明实例视频解码器的框图。
图21是图解说明实例熵解码单元的框图。
图22是图解说明用于使用经协调扫描次序的有效性图及系数层级扫描的实例过程的流程图。
图23是图解说明用于有效性图及系数层级扫描及熵译码上下文推导的实例过程的流程图。
图24是图解说明用于有效性图及系数层级扫描及熵译码上下文推导的另一实例过程的流程图。
图25是图解说明用于有效性图及系数层级扫描及熵译码上下文推导的另一实例过程的流程图。
图26是图解说明用于使用逆扫描方向的有效性图译码的实例过程的流程图。
图27是图解说明用于根据变换系数子集的有效性图及系数层级扫描的实例过程的流程图。
图28是图解说明用于根据变换系数子集的有效性图及系数层级扫描的另一实例过程的流程图。
图29是图解说明用于根据变换系数子集的有效性图及系数层级扫描的另一实例过程的流程图。
图30是图解说明用于使用多个区域的熵译码的实例过程的流程图。
图31是说明用于对与残余视频数据相关联的变换系数进行译码的二进位的实例性排序的概念图。
图32是说明用于对与残余视频数据相关联的变换系数进行译码的二进位的实例性排序和分组的概念图。
图33是说明用于对与残余视频数据相关联的变换系数进行译码的实例性视频译码过程的流程图。
具体实施方式
数字视频装置实施视频压缩技术以更有效率地发射及接收数字视频信息。视频压缩过程可以应用空间(帧内)预测及/或时间(帧间)预测技术来减少或移除视频序列中固有的冗余。
作为一个实例,对于根据视频译码联合协作组(JCT-VC)当前正在开发的高效率视频译码(HEVC)标准的视频译码,可以将视频帧分割成译码单元。HEVC的最新工作草案(WD)(且在下文被称作HEVC WD7)可从http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-11003-v5.zip处得到,其中更近的版本可从http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v6.zip处得到,这两者在此以引用的方式并入,如同在本文中对其全文进行了陈述一般。
根据HEVC,译码单元一般是指充当基本单元的图像区域,各种译码工具被应用于所述基本单元以进行视频压缩。译码单元通常是正方形的(但不必如此),并且可以被认为是类似于所谓的宏块,例如,根据例如ITU-H.264等其它视频译码标准。在本申请案中出于说明的目的将描述根据正在开发的HEVC标准的一些所提出的方面的译码。然而,本发明中描述的技术可以用于其它视频译码过程,例如根据H.264或其它标准定义的视频译码过程或专有视频译码过程。
为了实现合意的译码效率,译码单元(CU)可以具有取决于视频内容的可变大小。另外,译码单元可以分裂成较小块用于进行预测或变换。明确地说,每一译码单元可以进一步被分割成预测单元(PU)及变换单元(TU)。预测单元可以被认为是类似于根据例如H.264标准等其它视频译码标准的所谓的分区。变换单元(TU)一般是指残余数据块,变换被应用于所述残余数据块以产生变换系数。
译码单元通常具有一个亮度分量(表示为Y)及两个色度分量(表示为U及V)。取决于视频取样格式,就样本数目而言,U及V分量的大小可以与Y分量的大小相同或不同。
为了对块(例如,视频数据的预测单元)进行译码,首先推导用于所述块的预测符。所述预测符(还称为预测性块)可以通过帧内(I)预测(即,空间预测)或帧间(P或B)预测(即,时间预测)来推导。因此,可以使用相对于相同帧(或切片)中的相邻参考块中的参考样本的空间预测对一些预测单元进行帧内译码(I),并且可以相对于其它先前经译码帧(或切片)中的参考样本块对其它预测单元进行单向帧间译码(P)或双向帧间译码(B)。在每一情况下,参考样本均可用于形成用于待译码块的预测性块。
在识别出预测性块后,即刻确定原始视频数据块与其预测性块之间的差。这个差可被称为预测残余数据,并且指示所述块中的像素值与被选择为表示经译码块的预测性块中的经译码及像素值之间的像素差。为了实现更好的压缩,可以例如使用离散余弦变换(DCT)、整数变换、卡忽南-拉维(K-L)变换或另一变换对预测残余数据进行变换。
变换块(例如TU)中的残余数据可以布置在驻存在空间像素域中的像素差值的二维(2D)阵列中。变换将残余像素值转换成变换域(例如频域)中的变换系数的二维阵列。为了进一步压缩,可以在熵译码之前对变换系数进行量化。熵译码器接着对经量化变换系数应用熵译码,例如上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、概率区间分割熵译码(PIPE)等。
为了对经量化变换系数块进行熵译码,通常执行扫描过程,以便在经排序的一维(1D)阵列(即,变换系数的向量)中根据特定扫描次序来处理块中的经量化变换系数的二维(2D)阵列。用变换系数的1-D次序应用熵译码。对变换单元中的经量化变换系数的扫描将熵译码器的变换系数的2D阵列串行化。可以产生有效性图以指示有效(即,非零)系数的位置。可以应用扫描以扫描有效(即,非零)系数的层级及/或对有效系数的正负号进行译码。
作为一实例,对于DCT,朝向2D变换单元的左上角(即,低频区域)的非零系数的概率常常更高。可能需要用增加将非零系数在系数的串行化行程的一端处分组在一起的概率的方式扫描所述系数,从而准许朝向串行化向量的另一端将零值系数分组在一起,并且将零值系数更有效率地译码成零行程。因为这个原因,扫描次序对于有效熵译码来说可能较重要。
作为一个实例,在HEVC标准中已采用所谓的对角线(或波前)扫描次序来用于扫描经量化的变换系数。替代地,可以使用z字形、水平、垂直或其它扫描次序。如上文所提及,对于变换是DCT的实例,通过变换及量化,非零变换系数一般位于朝向块的左上方区域的低频区域处。因此,在对角线扫描过程(所述过程可能首先横越左上方区域)之后,非零变换系数通常更可能位于扫描的前面部分中。对于首先从右下方区域横越的对角线扫描过程,非零变换系数通常更有可能位于扫描的后面部分中。
多个零值系数通常将在扫描的一端处被分组在一起(这取决于扫描方向),这是因为在较高频率下能量减少,并且是因为量化的影响,量化可能致使一些非零系数在位深度减小后即刻变为零值系数。在熵译码器设计中可以利用串行化1D阵列中的系数分布的这些特性来改进译码效率。换句话说,如果非零系数可以通过某种适当的扫描次序而有效布置在1D阵列的一个部分中,那么归因于许多熵译码器的设计,可以预期更好的译码效率。
为了实现将更多非零系数放置在1D阵列的一端处的这个目标,可以在视频编码器-解码器(编解码器)中使用不同扫描次序来对变换系数进行译码。在一些情况下,对角线扫描可能是有效的。在其它情况下,例如z字形、垂直或水平扫描等不同类型的扫描可能更加有效。
可以用各种方法来产生不同的扫描次序。一个实例是,对于变换系数的每一块,可以从多个可用的扫描次序中选出“最佳”扫描次序。视频编码器接着可以针对每一块向解码器提供对通过相应索引表示的一组扫描次序当中的最佳扫描次序的索引的指示。通过应用若干扫描次序并且选择在将非零系数放置在1D向量的开头或结尾附近方面最有效的一个扫描次序,可以确定最佳扫描次序的选择,由此促进有效的熵译码。
在另一实例中,可以基于与相关预测单元的译码有关的各种因素来确定用于当前块的扫描次序,所述因素例如是预测模式(I、B、P)、块大小、变换或其它因素。在一些情况下,因为可以在编码器及解码器两侧推断相同信息(例如预测模式),所以可能不需要向解码器提供对扫描次序索引的指示。而是,视频解码器可以存储配置数据,所述配置数据指示在了解用于块的预测模式及将预测模式映射到特定扫描次序的一个或一个以上准则的情况下的适当扫描次序。
为了进一步改进译码效率,可用的扫描次序可能并不是一直不变。而是,可以启用某种调适,以便例如基于已经译码的系数来自适应地调整扫描次序。总的来说,可以用使得根据选定扫描次序、零及非零系数更有可能被分组在一起的方式来进行扫描次序调适。
在一些视频编解码器中,初始可用扫描次序可以采用非常常规的形式,例如完全水平、垂直、对角线或z字形扫描。替代地,可以通过训练过程来推导扫描次序,并且因而所述扫描次序可能看起来有些随机。所述训练过程可能涉及向块或若干系列块应用不同扫描次序以识别产生合意的结果的扫描次序(例如如上文所提及,在非零及零值系数的有效放置方面)。
如果从训练过程推导扫描次序,或者如果可以选择多种不同的扫描次序,那么可能在编码器及解码器两侧保存特定扫描次序是有益的。指定此类扫描次序的数据量可相当大。举例来说,对于32×32变换块,一个扫描次序可能含有1024个变换系数位置。因为可能存在不同大小的块并且对于每一大小的变换块可能存在多个不同扫描次序,所以需要保存的数据的总量不可小视。例如对角线、水平、垂直或z字形次序等常规扫描次序可能不需要存储,或者可能需要最少的存储。然而,对角线、水平、垂直或z字形次序可能无法提供充足的种类来提供与被训练的扫描次序同等的译码性能。
在一个实例中,对于目前正在开发的H.264及HEVC标准,当使用CABAC熵译码器时,在系数层级之前对变换块(即,HEVC中的变换单元)中的有效系数(即,非零变换系数)的位置进行编码。对有效系数位置的译码过程称为有效性图译码。系数的有效性与系数层级的二进位0相同。如图1中所示,经量化变换系数11的有效性图译码产生有效性图13。有效性图13是1及0的图,其中1指示有效系数的位置。有效性图通常需要视频位速率的高百分比。本发明的技术还可适于与其它熵译码器(例如,PIPE)一起使用。
D.马普(D.Marpe)、H.施华兹(H.Schwarz)及T.维根(T.Wiegand)的“H.264/AVC视频压缩标准中的基于上下文的自适应二进制算术译码(Context-Based Adaptive BinaryArithmetic Coding in the H.264/AVC Video Compression Standard)”(《IEEE视频技术电路与系统期刊》(IEEE Trans.Circuits and Systems for Video Technology),2003年7月,第7期,第13卷)中描述了用于对有效性图进行译码的实例过程。在此过程中,如果如经译码块旗标(CBF)所指示在块中存在至少一个有效系数,则对有效性图进行译码,上述情况被定义为:
经译码块旗标:coded_block_flag是一位符号,其指示在单一变换系数块内部是否存在有效(即,非零)系数,针对所述块,经译码块模式指示非零条目。如果coded_block_flag是零,则不针对相关块发射进一步的信息。
如果所述块中存在有效系数,则通过如下遵照所述块中的变换系数的扫描次序对有效性图进行编码:
对变换系数的扫描:首先使用给定扫描模式将coded_block_flag针对其指示非零条目的子块的变换系数层级的二维阵列映射成一维列表。换句话说,根据扫描模式扫描具有有效系数的子块。
在给定扫描模式的情况下,如下扫描有效性图:
有效性图:如果coded_block_flag指示一个块具有有效系数,则对二进制值的有效性图进行编码。针对扫描次序中的每一变换系数,发射一位符号significant_coeff_flag。如果significant_coeff_flag符号是一,即,如果在这个扫描位置存在非零系数,则发送另一个一位符号last_significant_coeff_flag。这个符号指示当前有效系数是不是所述块内部的最后一个有效系数,或者后面是否跟着其它有效系数。如果到达最后一个扫描位置,并且有效性图编码尚未以值为一的last_significant_coeff_flag终止,则显然最后一个系数必须是有效的。
近来关于HEVC的提议已经移除了last_significant_coeff旗标。在这些提议中,在发送有效性图之前,先发送对最后一个有效系数的位置的X及Y位置的指示。
当前,在HEVC的一个提议中,提出对有效性图使用三种扫描模式:对角线、垂直及水平。图2展示了z字形扫描17、垂直扫描19、水平扫描21及对角线扫描15的实例。如图2中所示,这些扫描中的每一者在正向方向上进行,即,从变换块左上角的较低频率变换系数到变换块右下角的较高频率变换系数。在对有效性图进行译码之后,对每一有效变换系数(即,系数值)的其余的层级信息(二进位1-N,其中N是二进位的总数)进行译码。
在先前在H.264标准中指定的CABAC过程中,在处置了4×4子块之后,例如根据一元代码将变换系数层级中的每一者二进制化,以产生一系列二进位。在H.264中,用于每一子块的CABAC上下文模型集合是由二乘五个上下文模型组成,其中有五个模型用于coeff_abs_level_minus_one语法元素的第一个二进位及所有其余二进位(高达并且包含第14个二进位),所述语法元素对变换系数的绝对值进行编码。值得注意的是,在HEVC的一个所提议的版本中,其余的二进位仅包含二进位1及二进位2。其余的系数层级是用哥伦布-莱斯(Golomb-Rice)译码及指数哥伦布(Golomb)代码来旁路译码。旁路译码针对经旁路译码的二进位而绕过CABAC译码引擎。
在HEVC中,可以像在H.264标准中提出的原始CABAC过程中一样执行上下文模型的选择。然而,可以针对不同子块选择上下文模型的不同集合。明确地说,针对给定子块的上下文模型集合的选择取决于先前经译码的子块的某些统计数据。
图3展示HEVC过程的一个所提出的版本在对变换单元25中的变换系数的层级(层级的绝对值及层级的正负号)进行编码时所遵照的扫描次序。应注意,存在用于扫描较大块的4×4子块的正向z字形模式27,及用于扫描每一子块内的变换系数层级的逆z字形模式23。换句话说,在正向z字形模式中扫描一系列4×4子块,从而以一序列扫描所述子块。然后,在每一子块内,执行逆z字形扫描来扫描子块内的变换系数的层级。因此,将变换单元形成的二维阵列中的变换系数串行化成一维阵列,使得给定子块中被逆扫描的系数后面接着是在相继子块中被逆扫描的系数。
在一个实例中,根据图3中展示的子块扫描方法扫描的系数的CABAC译码可以使用60种上下文,即,10种上下文的6个集合,每一者如下文所描述而分布。对于4×4块,如表1中所示,可以使用10种上下文模型(5种模型用于二进位1,且5种模型用于二进位2到14):
Figure BDA0000464137330000111
表1-用于子块的系数层级的二进位1及二进位2到14的上下文
根据表1,分别在以下情况下对二进位1使用上下文组中的上下文模型0到4中的一者:在已经在子块内编码了大于1的系数之后,对正在所述子块中被扫描的当前经编码系数进行编码,当前经编码系数是在子块中扫描的初始系数,或者在所述子块中不存在尾随的1(没有先前经编码系数),在所述子块中存在1个尾随的1(即,已经编码了1,但是尚未对大于1的系数进行编码),在所述子块中存在两个尾随的1,或者在所述子块中存在三个或三个以上尾随的1。对于二进位2到14中的每一者(虽然HEVC的至少一个提议仅使用CABAC对二进位2进行译码,其中用指数哥伦布代码对系数层级的相继二进位进行译码),分别在以下情况下可以使用上下文模型0到4中的一者:所述系数是在所述子块中扫描的初始系数,或者存在大于1的零个先前经译码系数,存在大于1的一个先前经译码系数,存在大于1的两个先前经译码系数,存在大于1的三个先前经译码系数,或者存在大于1的四个先前经译码系数。
取决于在对子块的正向扫描中的先前经译码4×4子块中的大于1的系数的数目,存在这10个模型的6个不同集合:
Figure BDA0000464137330000121
表2-用于二进位1及二进位2到14的上下文
根据表2,分别在以下情况下针对给定子块使用上下文模型的集合0到5:子块大小是4×4,先前经译码子块中存在0到3个大于1的系数,先前经译码子块中存在4到7个大于1的系数,先前经译码子块中存在8到11个大于1的系数,先前经译码子块中存在12到15个大于1的系数,或者给定子块是第一4×4子块(左上方子块)或在先前经译码子块中存在16个大于1的系数。
上述用于H.264的译码过程及一些人针对HEVC而提出的过程具有若干缺点。如图3中所示,一个缺点是,用于系数层级的扫描针对子块的扫描而向前进行(即,从左上方子块开始),但是接着针对每一子块内的系数层级的扫描向后进行(即,从每一子块中的右下方系数开始)。这种方法意味着在所述块内来回走动,这可能使数据获取更加复杂。
另一个缺点来自以下事实:系数层级的扫描次序与有效性图的扫描次序不同。在HEVC中,存在用于有效性图的三个不同的所提议的扫描次序:正向对角线、正向水平及正向垂直,如图2中所示。所有有效系数扫描都与HEVC的提议中的系数层级的扫描不同,因为层级扫描是在逆方向上进行。因为系数层级扫描的方向及模式不与有效性扫描的方向及模式匹配,所以必须检查更多的系数层级。举例来说,假设针对有效性图使用水平扫描,并且在第一行系数的末尾发现最后一个有效系数。HEVC中的系数层级扫描将需要跨越用于层级扫描的多个行的对角线扫描,此时仅第一行实际上包含不同于0的系数层级。这种扫描过程可能引入不想要的低效。
在针对HEVC的提议中,有效性图的扫描在块中从在块的左上角发现的DC系数向前进行到通常在块的右下角发现的最高频率系数,而针对系数层级的扫描是在每一4×4子块内向后进行。这也有可能导致数据获取更加复杂并且更加低效。
一些HEVC提议的另一缺点来自上下文组。针对CABAC的上下文组(参见以上表2)对于块大小4×4与对于其它块大小是不同的。根据本发明,跨越所有块大小协调上下文以使得较少的存储器专用于存储不同组上下文将是合意的。
此外,如下文中将更详细描述,用于针对HEVC的有效性图的一些所提出的CABAC上下文只有在扫描次序是正向时才是有效的。因此,这将不允许逆有效性图扫描。
此外,上文所描述的用于对经量化系数的层级进行编码的上下文试图利用系数层级的局部相关。这些上下文取决于4×4子块当中的相关(参见表2中的上下文组),以及每一子块内的相关(参见表1中的上下文模型)。这些上下文的缺点是所述相依性可能太远(即,从一个子块到另一个子块被若干其它系数彼此分离的系数之间存在低相依性)。此外,在每一子块内,所述相依性可能较弱。
本发明提出若干不同特征,这些特征可以减少或消除上文所描述的一些缺点。在一些实例中,这些特征可以提供视频译码中的变换系数的更有效并且协调的扫描次序。在本发明的其它实例中,这些特征提供将用于与所提议的扫描次序一致的变换系数的基于CABAC的熵译码的更有效的上下文组。应注意,本发明中描述的所有技术都可以独立使用或者可以用任何组合一起使用。
图4是图解说明实例视频编码及解码系统10的框图,所述系统可经配置以利用根据本发明的实例的用于对变换系数进行译码的技术。如图4中所示,系统10包含源装置12,所述源装置经由通信信道16向目的地装置14发射经编码视频。经编码视频还可存储于存储媒体34或文件服务器36上,并且可以由目的地装置14在需要时存取。源装置12及目的地装置14可包括广泛多种装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的智能电话)、电视、相机、显示装置、数字媒体播放器、视频游戏控制台等。在许多情况下,此类装置可以经配备用于无线通信。因此,所述通信信道16可包括适合于发射经编码的视频数据的无线信道、有线信道或无线与有线信道的组合。类似地,文件服务器36可以由目的地装置14通过任何标准数据连接(包含因特网连接)来存取。这可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等)或适合于存取存储于文件服务器上的经编码视频数据的以上两者的组合。
根据本发明的实例的用于对变换系数进行译码的技术可以被应用于支持多种多媒体应用中的任一者的视频译码,所述多媒体应用例如是空中电视广播、有线电视发射、卫星电视发射、串流视频发射(例如,经由因特网)、对用于存储于数据存储媒体上的数字视频的编码、对存储于数据存储媒体上的数字视频的解码,或者其它应用。在一些实例中,所述系统10可经配置以支持单向或双向视频发射,以支持例如视频串流、视频回放、视频广播及/或视频电话等应用。
在图4的实例中,源装置12包含视频源18、视频编码器20、调制器/解调器(调制解调器)22及发射器24。在源装置12中,视频源18可包含一源,例如视频俘获装置,例如摄像机,包含先前俘获的视频的视频存档,用于从视频内容提供者接收视频的视频馈入接口及/或用于产生计算机图形数据作为源视频的计算机图形系统,或此类源的组合。作为一个实例,如果视频源18是摄像机,那么源装置12及目的地装置14可以形成所谓的相机电话或视频电话。然而,本发明中所描述的技术可大体上适用于视频译码,且可应用于无线及/或有线应用。
可由视频编码器20对所俘获、预俘获或计算机产生的视频进行编码。调制解调器22可以根据例如无线通信协议等通信标准对经编码视频信息进行调制,并且经由发射器24将经编码视频信息发射到目的地装置14。调制解调器22可包含各种混频器、滤波器、放大器或其它经设计用于信号调制的组件。发射器24可包含经设计以用于发射数据的电路,包含放大器、滤波器及一个或一个以上天线。
被视频编码器20编码的俘获、预先俘获或计算机产生的视频还可存储到存储媒体34或文件服务器36上以用于以后消耗。存储媒体34可包含蓝光光盘、DVD、CD-ROM、快闪存储器或用于存储经编码视频的任何其它合适的数字存储媒体。目的地装置14可接着存取存储于存储媒体34上的经编码视频以用于解码及回放。
文件服务器36可以是任何类型的能够存储经编码视频并且将经编码视频发射到目的地装置14的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置、本机磁盘驱动器或任何其它类型的能够存储经编码视频数据并且将经编码视频数据发射到目的地装置的装置。经编码视频数据从文件服务器36的传输可能是流式传输、下载传输或两者的组合。目的地装置14可以通过任何标准数据连接(包含因特网连接)来存取文件服务器36。这可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器、以太网、USB等)或适合于存取存储于文件服务器上的经编码视频数据的以上两者的组合。
图4的实例中的目的地装置14包含接收器26、调制解调器28、视频解码器30及显示装置32。目的地装置14的接收器26经由信道16接收信息,并且调制解调器28对所述信息进行解调以产生用于视频解码器30的经解调位流。经由信道16传送的信息可包含由视频编码器20产生以供视频解码器30在对视频数据进行解码时使用的多种语法信息。此类语法还可包含在存储于存储媒体34或文件服务器36上的经编码视频数据中。视频编码器20及视频解码器30中的每一者可以形成能够对视频数据进行编码或解码的相应编码器-解码器(编解码器)的一部分。
显示装置32可以与目的地装置14集成或者在目的地装置14外部。在一些实例中,目的地装置14可包含集成的显示装置,并且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可能是显示装置。总的来说,显示装置32将经解码视频数据显示给用户,并且可包含多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
在图4的实例中,通信信道16可包括任一无线或有线通信媒体,例如,射频(RF)频谱或一个或一个以上物理传输线、或无线及有线媒体的任一组合。通信信道16可形成例如局域网、广域网或例如因特网的全球网络的基于包的网络的一部分。通信信道16一般表示用于将视频数据从源装置12发射到目的地装置14的任何合适的通信媒体或不同通信媒体的集合,包含有线或无线媒体的任何合适的组合。通信信道16可包含路由器、交换器、基站或任何其它可以用于促进从源装置12到目的地装置14的通信的设备。
视频编码器20及视频解码器30可以根据一种视频压缩标准(例如目前正在开发的高效率视频译码(HEVC)标准)来操作,并且可以符合HEVC测试模型(HM)。替代地,视频编码器20及视频解码器30可以根据其它专有或业界标准来操作,所述标准例如是ITU-TH.264标准,或者被称为MPEG-4,第10部分,高级视频译码(AVC),或此类标准的扩展。然而,本发明的技术不限于任何特定译码标准。其它实例包含MPEG-2及ITU-TH.263。
尽管图4中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件及软件,以处置对共同数据流或单独数据流中的音频与视频两者的编码。在一些实例中,如果适用,则MUX-DEMUX单元可以符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
视频编码器20及视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地用软件实施所述技术时,装置可将用于所述软件的指令存储于合适的非暂时性计算机可读媒体中且在使用一个或一个以上处理器的硬件中执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可以包含在一个或一个以上编码器或解码器中,所述编码器或解码器中的任一者可以集成为相应装置中的组合编码器/解码器(编解码器)的一部分。
视频编码器20可以实施本发明的任何或所有技术以在视频译码过程中改进变换系数的编码。同样,视频解码器30可以实施这些技术中的任何或所有技术以在视频译码过程中改进变换系数的解码。如本发明中所描述,视频译码器可以指视频编码器或视频解码器。类似地,视频译码单元可以指视频编码器或视频解码器。同样,视频译码可以指视频编码或视频解码。
在本发明的一个实例中,视频译码器(例如视频编码器20或视频解码器30)可经配置以对视频译码过程中与残余视频数据相关联的多个变换系数进行译码。视频译码器可经配置以根据扫描次序对指示所述多个变换系数的有效系数的信息进行译码,并且根据扫描次序对指示多个变换系数的层级的信息进行译码。
在本发明的另一实例中,视频译码器(例如视频编码器20或视频解码器30)可经配置以对视频译码过程中与残余视频数据相关联的多个变换系数进行译码。所述视频译码器可经配置以用一种扫描对指示变换系数块中的有效变换系数的信息进行译码,所述扫描在从所述变换系数块中的较高频率系数到所述变换系数块的较低频率系数的逆扫描方向上进行。
在本发明的另一实例中,视频译码器(例如视频编码器20或视频解码器30)可经配置以对视频译码过程中与残余视频数据相关联的多个变换系数进行译码。所述视频译码器可经配置以:基于一种扫描次序将变换系数块布置成变换系数的一个或一个以上子集;对每一子集中的变换系数的层级的第一部分进行译码,其中层级的所述第一部分至少包含每一子集中的变换系数的有效性;以及对每一子集中的变换系数的层级的第二部分进行译码。
在本发明的另一实例中,视频译码器(例如视频编码器20或视频解码器30)可经配置以:根据一种扫描次序对指示所述多个变换系数的有效系数的信息进行译码;将所述经译码信息划分成至少第一区域及第二区域;根据第一组上下文使用上下文推导准则对所述第一区域中的经译码信息进行熵译码;以及根据第二组上下文使用与第一区域相同的上下文推导准则对第二区域中的经译码信息进行熵译码。
图5是图解说明可以使用如本发明中所描述的用于对变换系数进行译码的技术的视频编码器20的实例的框图。出于说明的目的将在HEVC译码的背景下描述视频编码器20,但关于可能需要扫描变换系数的其它译码标准或方法而不限制本发明。视频编码器20可以对视频帧内的CU执行帧内及帧间译码。帧内译码依赖于空间预测以减少或移除给定视频帧内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除当前帧与视频序列的先前经译码帧之间的时间冗余。帧内模式(I模式)可以指若干基于空间的视频压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可以指若干基于时间的视频压缩模式中的任一者。
如图5中所示,视频编码器20接收待编码视频帧内的当前视频块。在图5的实例中,视频编码器20包含运动补偿单元44、运动估计单元42、帧内预测模块46、参考帧缓冲器64、求和器50、变换模块52、量化单元54及熵编码单元56。图5中图解说明的变换模块52是向残余数据块应用实际变换的模块,并且不应与也可被称为CU的变换单元(TU)的变换系数块混淆。为了视频块重构,视频编码器20还包含逆量化单元58、逆变换模块60及求和器62。还可包含解块滤波器(图5中未展示)以将块边界滤波,以从经重构视频移除成块效应假影。在需要时,解块滤波器通常将对求和器62的输出进行滤波。
在编码过程期间,视频编码器20接收待译码的视频帧或切片。所述帧或切片可以被划分为多个视频块,例如,最大译码单元(LCU)。运动估计单元42及运动补偿单元44相对于一个或一个以上参考帧中的一个或一个以上块执行对接收到的视频块的帧间预测性译码以提供时间压缩。帧内预测单元46可相对于与待译码块相同的帧或切片中的一个或一个以上相邻块执行对所接收的视频块的帧内预测性译码以提供空间压缩。
模式选择单元40可以例如基于误差(即,失真)结果针对每一模式来选择译码模式中的一者(帧内或帧间),并且向求和器50提供所得的经帧内或经帧间译码块以产生残余块数据,并且向求和器62提供所得的经帧内或经帧间译码块以重构经编码块以供在参考帧中使用。一些视频帧可以被标示为I帧,其中I帧中的所有块都在帧内预测模式下被编码。在一些情况下,帧内预测模块46可以在例如运动估计单元42执行的运动搜索未产生对P或B帧中的块的足够预测的情况下执行所述块的帧内预测编码。
运动估计单元42及运动补偿单元44可以高度集成,但出于概念目的分开加以图解说明。运动估计是产生估计视频块的运动的运动向量的过程。举例来说,运动向量可以指示当前帧中的预测单元相对于参考帧的参考样本位移。参考样本可以是被发现在像素差方面与CU的包含经译码PU的部分紧密匹配的块,像素差可以通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定。运动补偿单元44执行的运动补偿可以包括基于由运动估计确定的运动向量来获取或产生用于所述预测单元的值。同样,在一些实例中,运动估计单元42及运动补偿单元44可以在功能上集成。
运动估计单元42通过将预测单元与存储在参考帧缓冲器64中的参考帧的参考样本进行比较来计算经帧间译码帧的预测单元的运动向量。在一些实例中,视频编码器20可以计算存储在参考帧缓冲器64中的参考帧的子整数像素位置的值。举例来说,视频编码器20可以计算四分之一像素位置、八分之一像素位置或参考帧的其它分数像素位置的值。因此,运动估计单元42可以相对于整数像素位置及分数像素位置执行运动搜索并且输出具有分数像素精确度的运动向量。运动估计单元42将计算出的运动向量发送到熵编码单元56及运动补偿单元44。参考帧的通过运动向量识别的部分可被称为参考样本。运动补偿单元44可以例如通过检索通过PU的运动向量识别的参考样本来计算用于当前CU的预测单元的预测值。
作为运动估计单元42及运动补偿单元44执行的帧间预测的替代方案,帧内预测模块46可以对接收到的块进行帧内预测编码。帧内预测模块46可以相对于相邻的先前经译码块(例如,当前块的上方、右上方、左上方或左侧的块)对接收到的块进行编码,假设块的编码次序为从左到右、从上到下。帧内预测模块46可以配置有多种不同帧内预测模式。举例来说,帧内预测模块46可以基于正被编码的CU的大小而配置有某个数目的方向预测模式,例如33种方向预测模式。
帧内预测模块46可以例如通过计算各种帧内预测模式的误差值及选择产出最低误差值的模式来选择帧内预测模式。方向预测模式可包含用于组合空间相邻的像素的值及向PU中的一个或一个以上像素位置应用所述组合值的功能。一旦已经计算出PU中的所有像素位置的值,帧内预测模块46便可以基于PU与待编码的所接收块之间的像素差来计算所述预测模式的误差值。帧内预测模块46可以继续测试帧内预测模式,直到发现得出可接受误差值的帧内预测模式为止。帧内预测模块46可以接着将PU发送到求和器50。
视频编码器20通过从正被译码的原始视频块减去由运动补偿单元44或帧内预测模块46计算的预测数据来形成残余块。求和器50表示执行此减法运算的组件。残余块可以对应于像素差值的二维矩阵,其中残余块中的值的数目与对应于所述残余块的PU中的像素的数目相同。残余块中的值可以对应于PU中与待译码的原始块中位于同一地点的像素之间的差,即误差。所述差可以是色度或亮度差,这取决于经译码的块的类型。
变换模块52可以从残余块形成一个或一个以上变换单元(TU)。变换模块52向TU应用变换,例如离散余弦变换(DCT)、定向变换或概念上类似的变换,从而产生包含变换系数的视频块。在例如变换跳过模式等某些视频译码模式中,变换处理模块52可直接将残余块发送到量化单元54,而不执行变换。在此些实例中,残余值可在本文中仍被称作“变换系数”,尽管实际上未将变换应用于残余值。
变换模块52可以将所得变换系数发送到量化单元54。量化单元54可以接着对变换系数进行量化。熵编码单元56可以接着根据所指定的扫描次序对矩阵中的经量化变换系数执行扫描。本发明将熵编码单元56描述为执行所述扫描。然而,应理解,在其它实例中,其它处理单元(例如量化单元54)可执行所述扫描。
如上文所提及,变换系数的扫描可以涉及两个扫描。一个扫描识别所述系数中的哪一些是有效的(即,非零)以形成有效性图,而另一个扫描对变换系数的层级进行译码。在一个实例中,本发明提出用于对块中的系数层级进行译码的扫描次序与用于对块的有效性图中的有效系数进行译码的扫描次序相同。在HEVC中,所述块可以是变换单元。如本文所使用,术语扫描次序可以指扫描的方向及/或扫描的模式。因此,所述有效性图及系数层级的扫描可能在扫描模式及/或扫描方向方面是相同的。也就是说,作为一个实例,如果用于形成有效性图的扫描次序是正向方向上的水平扫描模式,那么用于系数层级的扫描次序也应当是正向方向上的水平扫描模式。同样,作为另一实例,如果用于有效性图的扫描次序是逆方向上的垂直扫描模式,那么用于系数层级的扫描次序也应当是逆方向上的垂直扫描模式。这种情况可适用于对角线、z字形或其它扫描模式。
图6展示用于变换系数块(即,变换块)的逆扫描次序的实例。变换块可以使用变换(例如,举例来说,离散余弦变换(DCT))来形成。应注意,逆对角线模式9、逆z字形模式29、逆垂直模式31及逆水平模式33中的每一者从变换块右下角的较高频率系数向变换块左上角的较低频率系数进行。因此,本发明的一个方面呈现用于对有效性图进行译码及对系数层级进行译码的统一扫描次序。所述扫描可在以下意义上统一:对有效性图的译码以及对系数层级的译码的扫描是在相同方向上(即,在从较高频率系数到较低频率系数的相反方向上)进行,且/或在相同扫描模式中进行。所提出的技术向用于系数层级译码的扫描次序应用用于有效性图的扫描次序。总的来说,已经展示水平、垂直及对角线扫描模式很有效果,因而减少了对额外扫描模式的需要。然而,本发明的一般技术适用于与任何扫描模式一起使用。
根据另一方面,本发明提出将有效性扫描作为逆扫描来执行,即从变换单元中的最后一个有效系数到变换单元中的第一系数(即,DC系数)。图6中展示逆扫描次序的实例。明确地说,有效性扫描从较高频率位置处的最后一个有效系数向较低频率位置处的有效系数且最终向DC系数位置进行。
为了便于逆扫描,可以使用用于识别最后一个有效系数的技术。在J.Sole,R.Joshi、I.-S.Chong、M.Coban、M.Karczewicz所著的“高译码效率中的用于有效性图的并行上下文处理(Parallel Context Proces sing for the significance map in high coding efficiency)”(JCTVC-D262,韩国大邱第4届JCT-VC会议,2011年1月)中还有2010年12月3日申请的授予Joel Sole Roials等人的标题为“视频译码中最后一个有效变换系数的位置的编码(Encoding of the position of the last significant transform coefficient in video coding)”的第61/419,740号美国临时专利申请中描述了用于识别最后一个有效系数的过程。一旦识别出所述块中的最后一个有效系数,那么便可向有效性图及系数层级两者应用逆扫描次序。
本发明此外提出有效性扫描及系数层级扫描并非分别是逆向及正向的,而是实际上具有相同扫描方向并且更明确地说在一个块中只有一个方向。具体来说,提出有效性扫描及系数层级扫描两者均使用(例如)从变换单元中的最后一个有效系数到第一个系数的逆扫描次序。因此,在一个实例中,从最后一个有效系数到第一个系数(DC系数)执行有效性扫描(相对于一些所提出的用于HEVC的扫描是逆扫描)。本发明的这个方面呈现用于对有效性图进行译码及对系数层级进行译码的统一单向扫描次序。明确地说,所述统一单向扫描次序可以是统一逆扫描次序。根据统一逆扫描模式的用于有效性及系数层级扫描的扫描次序可以是逆对角线、逆z字形、逆水平或逆垂直,如图6中所示。然而,可以使用任何扫描模式。
作为为了CABAC上下文推导目的的如图3中所示的在二维子块中定义系数集合的替代,本发明提出将系数集合定义为根据扫描次序连续扫描的若干系数。明确地说,每一组系数可包括整个块上的扫描次序的连续系数。可以考虑任何大小的组,但是已经发现扫描组中的16个系数的大小很有效果。组大小可以是固定的或自适应的。这个定义允许组是2D块(如果使用子块扫描方法)、矩形(如果使用水平或垂直扫描)或对角线形状(如果使用z字形或对角线扫描)。系数的对角线形状的组可以是对角线形状的一部分、连续对角线形状,或连续对角线形状的一部分。
图7到9展示用固定4×4块布置之外的根据特定扫描次序布置成16系数子集的系数的实例。图7描绘由前16个系数以逆对角线扫描次序组成的16系数子集51。在此实例中,下一个子集将简单地由沿逆对角线扫描次序的接下来的16个连续系数组成。类似地,图8描绘逆水平扫描次序的用于前16个系数的16系数子集53。图9描绘逆垂直扫描次序的用于前16个系数的16系数子集55。
这种技术与用于系数层级的与用于有效性图的扫描次序相同的扫描次序相容。在此情况下,不需要用于系数层级的不同的(并且有时繁琐的)扫描次序,例如图3中所示。系数层级扫描可以形成为从变换单元中的最后一个有效系数的位置到DC系数位置进行的正向扫描。
在用于HEVC的一些所提出的过程中,对于使用CABAC的熵译码,用以下方式对变换系数进行编码。首先,在完整变换单元上存在一个回合(采用有效性图扫描次序)以对有效性图进行编码。随后,对层级的二进位1(第一回合)、其余的系数层级(第二回合)及系数层级的正负号(第三回合)进行编码存在三个回合(以系数层级扫描次序)。用于系数层级译码的这三个回合不是针对完整变换单元进行的。而是,如图3中所示,在4×4子块中进行每一回合。当已经在一个子块中完成所述三个回合时,通过依次执行相同三个编码回合来处理接下来的子块。这种方法促进编码的平行化。
如上文所描述,本发明提出以更加协调的方式扫描变换系数,从而使得用于系数层级的扫描次序与用以形成有效性图的有效系数的扫描次序相同。另外,提出以从块中的最后一个有效系数到块中的第一个系数(DC分量)进行的逆方向执行用于系数层级及有效系数的扫描。根据用于HEVC的一些提议,这种逆扫描与用于有效系数的扫描相反。
如先前参看图7到9描述,在一个实例中,本发明进一步提出将用于系数层级(包括有效性图)的上下文划分成若干子集。也就是说,针对系数的每一子集确定上下文。因此,在此实例中,相同上下文不一定用于整个系数扫描。而是,变换块内的不同子集可以具有针对每一子集单独地确定的不同上下文。每一子集可包括扫描次序的连续扫描系数的一维阵列。因此,系数层级扫描从最后一个有效系数向第一个系数(DC分量)进行,其中所述扫描根据扫描次序在概念上被分割成连续扫描系数的不同子集。举例来说,每一子集可包含用于特定扫描次序的n个连续扫描系数。将系数根据其扫描次序分组在若干子集中可以提供系数之间的更好相关,并且因而提供更有效的熵译码。
本发明进一步提出通过扩展系数层级的若干回合的概念以包含用于有效性图的额外回合,来提高变换系数的基于CABAC的熵译码的并行化。因而,具有四个回合的实例可包含:(1)对用于变换系数的有效系数旗标值的译码,例如,以形成有效性图,(2)对用于变换系数的层级值的二进位1的译码,(3)对系数层级值的其余的二进位的译码,及(4)对系数层级的正负号的译码,这些全都采用相同扫描次序。使用本发明中描述的技术,可以促进以上概述的四回合译码。也就是说,用相同扫描次序扫描有效系数及变换系数的层级(其中扫描次序在从高频系数到低频系数的逆方向上进行)支持上文所描述的若干回合译码技术的执行。
在另一实例中,五回合扫描技术可包含:(1)对用于变换系数的有效系数旗标值的译码,例如,以形成有效性图,(2)对用于变换系数的层级值的二进位1的译码,(3)对用于变换系数的层级值的二进位2的译码,(4)对系数层级的正负号的译码(例如,在旁路模式中),及(5)对系数层级值的其余的二进位的译码(例如,在旁路模式中),所有回合使用相同扫描次序。
还可采用具有较少回合的实例。举例来说,其中并行处理层级及正负号信息的二回合扫描可包含:(1)在一个回合中对常规回合二进位进行译码(例如,有效性、二进位1层级及二进位2层级),及(2)在另一个回合中对旁路二进位进行译码(例如,其余的层级及正负号),每一回合使用相同扫描次序。常规二进位是使用通过上下文推导准则确定的经更新的上下文用CABAC编码的二进位。举例来说,如下文将更详细解释,上下文推导准则可包含因果相邻系数相对于当前变换系数的经译码层级信息。旁路二进位可用具有固定上下文的CABAC编码的二进位。在一些实例中,可用哥伦布-莱斯(Golomb-Rice)译码及指数哥伦布(Golomb)代码对旁路二进位进行译码。
上文所描述的若干扫描回合的实例可以一般化成包含系数层级的第一部分的第一扫描回合,其中所述第一部分包含有效性回合,以及系数层级的第二部分的第二扫描回合。
在以上给定的实例中的每一者中,所述回合可以在每一子集中循序执行。虽然使用包括连续扫描系数的一维子集可能是合意的,但是若干回合方法也可应用于例如4×4子块等子块。以下更详细地概述用于连续扫描的子集的实例二回合及四回合过程。
在简化的二回合过程中,针对变换单元的每一子集,第一回合遵循扫描次序对所述子集中的系数的有效性进行译码,并且第二回合遵循相同扫描次序对所述子集中的系数的系数层级进行译码。扫描次序的特征可能在于扫描方向(正向或逆向)及扫描模式(例如,水平、垂直或对角线)。如上文所描述,如果每一子集中的这两个回合遵循相同扫描次序,那么所述算法可能更顺从并行处理。
在更加精细的四回合过程中,针对变换单元的每一子集,第一回合对所述子集中的系数的有效性进行译码,第二回合对所述子集中的系数的系数层级的二进位1进行译码,第三回合对所述子集中的系数的系数层级的其余的二进位进行译码,并且第四回合对所述子集中的系数的系数层级的正负号进行译码。同样,为了更顺从并行处理,每一子集中的所有回合应具有相同扫描次序。如上所述,已经展示具有逆方向的扫描次序很有效果。应注意,第四回合(即,系数层级的正负号的译码)可以紧接在第一回合(即,有效性图的译码)之后或恰在系数层级的其余值之前进行。
针对一些变换大小,子集可以是整个变换单元。在此情况下,存在对应于整个变换单元的所有有效系数的单一子集,并且有效性扫描及层级扫描以相同扫描次序进行。在此情况下,作为一子集中的n(例如,n=16)个系数的有限数目的替代,所述子集可以是变换单元的单一子集,其中所述单一子集包含所有有效系数。
返回到图5,一旦扫描了变换系数,熵编码单元56就可以向系数应用例如CAVLC或CABAC等熵译码。另外,熵编码单元56可以对运动向量(MV)信息以及在视频解码器30处对视频数据进行解码时有用的多种语法元素中的任一者进行编码。语法元素可包含具有有效系数旗标(其指示特定系数是否有效(例如,非零))及最后一个有效系数旗标(其指示特定系数是否为最后一个有效系数)的有效性图。视频解码器30可以使用这些语法元素来重构经编码视频数据。在熵编码单元56进行的熵译码之后,可以将所得的经编码视频发射到另一装置,例如视频解码器30,或者将所述视频存档用于以后发射或检索。
为了对语法元素进行熵编码,熵编码单元56可以执行CABAC及基于(举例来说)先前扫描的N个系数中的有效系数的数目来选择上下文模型,其中N是可与被扫描的块的大小有关的整数值。熵编码单元56还可基于用于计算被变换成变换系数块的残余数据的预测模式及用于将残余数据变换成变换系数块的变换类型来选择上下文模型。当利用帧内预测模式预测对应预测数据时,熵编码单元56可以进一步使上下文模型的选择基于帧内预测模式的方向。
此外,根据本发明的另一方面,提出将CABAC的上下文划分成系数的若干子集(例如,图7到9中展示的子集)。提出每一子集由整个块上的扫描次序中的连续系数构成。可以考虑任何大小的子集,但是已经发现扫描子集中的16个系数的大小很有效果。在此实例中,一子集可能是扫描次序的16个连续系数,所述扫描次序可以是任何扫描模式,包含子块、对角线、z字形、水平及垂直扫描模式。根据此提议,系数层级扫描从一块中的最后一个有效系数进行。因此,系数层级扫描从块中的最后一个有效系数向第一个系数(DC分量)进行,其中所述扫描在概念上被分割成系数的不同子集以便推导要应用的上下文。举例来说,所述扫描以扫描次序中的n个连续系数的子集而布置。最后一个有效系数是在从块的最高频率系数(通常在块的右下角附近发现)朝向块的DC系数(块的左上角)的逆扫描中遇到的第一个有效系数。
在本发明的另一方面中,提出针对所有块大小协调CABAC上下文推导准则。换句话说,作为具有如上文所论述的基于块大小的不同上下文推导的替代,每一块大小将依赖于CABAC上下文的相同推导。以此方式,不需要考虑特定的块大小以便推导所述块的CABAC上下文。上下文推导对于有效性译码及系数层级译码两者也是相同的。
还提出,CABAC上下文组取决于子集是否为子集0(被定义为具有最低频率的系数(即含有DC系数及邻近的低频系数)的子集)(即,上下文推导准则)。参见以下表3a及3b。
表3a-上下文组表。与表2比较。对子集存在相依性,不论所述子集是否为子集0(最低频率)。
根据以上表3a,如果分别在先前经译码子集中存在大于1的零个系数,在先前经译码子集中存在大于1的一个系数,或者在先前经译码子集中存在大于1的一个以上系数,则上下文模型的组0到2用于最低频率扫描子集(即,一组n个连续系数)。如果分别在先前经译码子集中存在大于1的零个系数,在先前经译码子集中存在大于1的一个系数,或在先前经译码子集中存在大于1的一个以上系数,则上下文模型的组3到5用于所有高于最低频率子集的子集。
表3b-上下文组表。
表3b展示一个上下文组表,所述表展示了良好的性能,因为这个表考虑到前一子集中大于1的系数的数目的更精确的计数。表3b可以用作以上表3a的替代方案。
表3c展示具有也可替代地使用的上下文推导准则的简化上下文组表。
Figure BDA0000464137330000251
表3c-上下文组表。
另外,含有变换单元中的最后一个有效系数的子集可以利用唯一组的上下文。
本发明还提出,用于子集的上下文仍然取决于前一子集中的大于1的系数的数目。举例来说,如果前一子集中的系数的数目是滑动窗,则设此数目为uiNumOne。一旦校验此值以决定用于当前子扫描组的上下文,便不将所述值设置成零。而是,将这个值归一化(例如,使用uiNumOne=uiNumOne/4,这等效于uiNumOne>>=2,或uiNumOne=uiNumOne/2,这等效于uiNumOne>>=1)。通过这样做,仍然可以考虑紧接在前一个子集之前的子集的值,但是是在给予当前经译码子集的CABAC上下文决策较小权重的情况下。明确地说,给定子集的CABAC上下文决策不仅考虑到前一子集中的大于1的系数的数目,而且还考虑到先前经译码子集中的大于1的系数的经加权数目。
另外,上下文组可能取决于以下各者:(1)当前扫描的子集中的有效系数的数目,以及(2)当前子集是否为具有有效系数的最后一个子集(即,使用逆扫描次序,这是指所述子集是否为针对系数层级被第一个扫描的)。另外,用于系数层级的上下文模型可以取决于当前系数是否为最后一个系数。
在HEVC中,先前已经针对16×16及32×32的变换系数块的有效性图译码提出了高度自适应上下文选择方法。应注意,这种上下文选择方法可以扩展到所有块大小。如图10中所示,这种方法将16×16块划分成四个区域,其中较低频率区域41中的每一系数(16×16块的实例中的x,y坐标位置中的左上角的四个系数([0,0]、[0,1]、[1,0]、[1,1]),其中[0,0]指示左上角,DC系数)具有其自身的上下文,顶部区域37中的系数(16×16块的实例中从x,y坐标位置[2,0]到[15,0]的顶行中的系数)共用3个上下文,左侧区域35中的系数(16×16块的实例中从x,y坐标位置[0,2]到[0,15]的左侧列中的系数)共用另外3个上下文,并且其余的区域39中的系数(16×16块中的其余的系数)共用5个上下文。作为一实例,用于区域39中的变换系数X的上下文选择是基于5个变换系数B、E、F、H及I中的最大变换系数的有效性的总和。因为X与沿扫描方向(在此实例中为z字形或对角线扫描模式)的X的相同对角线线路上的其它位置无关,所以可以根据扫描次序中的先前对角线线路并行地计算沿扫描次序中的对角线线路的变换系数的有效性的上下文。
如图10中所示,用于有效性图的所提出的上下文只有在扫描次序是正向的情况下才是有效的,因为如果使用逆扫描,则所述上下文在解码器处会变得非因果。也就是说,如果使用逆扫描,则解码器尚未如图10中所示对系数B、E、F、H及I进行解码。其结果是,位流是不可解码的。
然而,本发明提出使用逆扫描方向。因此,当扫描次序是逆方向时,有效性图在系数当中具有相应的相关性,如图6中所示。因此,如上文所描述,对有效性图使用逆扫描提供合意的译码效率。此外,对有效性图使用逆扫描用以协调用于系数层级及有效性图的译码的扫描。为了支持有效系数的逆扫描,上下文需要变化,使得其与逆扫描相容。提出有效系数的译码利用相对于逆扫描有因果关系的上下文。
在一个实例中,本发明进一步提出一种使用图11中描绘的上下文的用于有效性图译码的技术。较低频率区域43中的每一系数(在16×16块的实例中于左上角处x,y坐标位置[0,0]、[0,1]、[1,0]中的三个系数,其中[0,0]指示左上角DC系数)具有其自身的上下文推导。顶部区域45中的系数(在16×16块的实例中于顶行中从x,y坐标位置[2,0]到[15,0]的系数)具有取决于顶部区域45中的两个先前系数(例如,紧接在待译码系数右侧的两个系数,其中在给定逆扫描的情况下,此类系数是用于解码目的的因果相邻者)的有效性的上下文。左侧区域47中的系数(在16×16块的实例中于左侧列中从x,y坐标位置[0,2]到[0,15]的系数)具有取决于两个先前系数(例如,紧接在待译码系数下方的两个系数,其中在给定逆扫描定向的情况下,此类系数是用于解码目的的因果相邻者)的有效性的上下文。应注意,图11中的顶部区域45及左侧区域47中的这些上下文是图10中展示的上下文的相逆者(例如,其中顶部区域37中的系数具有取决于左侧系数的上下文,并且左侧区域35中的系数具有取决于上方的系数的上下文)。返回到图11,用于其余区域49中的系数(即,较低频率区域43、顶部区域45及左侧区域47外部的其余系数)的上下文取决于标记有I、H、F、E及B的位置中的系数的有效性的总和(或任何其它函数)。
在另一实例中,顶部区域45及左侧区域47中的系数可以使用与区域49中的系数完全相同的上下文推导。在逆扫描中,这是可能的,因为标记有I、H、F、E及B的相邻位置可用于顶部区域45及左侧区域47中的系数。在行/列结尾处,用于因果系数I、H、F、E及B的位置可以在块的外部。在所述情况下,假定此类系数的值是零(即,非有效)。
在选择上下文时有许多选项。基本的想法是使用已经根据扫描次序译码的系数的有效性。在图10所示的实例中,基于在位置B、E、F、H及I处的系数的有效性的总和来推导在位置X处的系数的上下文。这些上下文系数出现在本发明中针对有效性图提出的逆扫描次序的当前系数之前。在正向扫描中有因果关系的上下文在逆扫描次序中变为非因果关系(不可用)。解决这种问题的方式是将图10中的常规情况的上下文镜射到图11中用于逆扫描的上下文。针对在逆方向上从最后一个有效系数向DC系数位置进行的有效性扫描,用于系数X的上下文邻域由系数B、E、F、H、I构成,这些系数与相对于系数X的位置的较高频率位置相关联,并且已经被编码器或解码器在逆扫描中在系数X的译码之前加以处理。
如上文所论述,表1及2中图解说明的上下文及上下文模型试图采用4×4子块当中的系数层级的局部相关。然而,所述相依性可能太远。也就是说,在彼此通过若干系数分开的系数(举例来说,从一个子块到另一个子块)之间可能存在低相依性。此外,在每一子块内,系数之间的相依性可能较弱。本发明描述用于采用更加局部的上下文邻域的通过创建用于系数层级的上下文组来解决这些问题的技术。
本发明提出例如在根据HEVC或其它标准的视频译码中使用局部邻域来推导变换系数层级的上下文。这个邻域由已经被编码(或被解码)的与当前系数的层级具有高相关性的系数构成。所述系数可能在空间上与待译码的系数相邻,并且可以包含限定待译码系数及其它附近系数的系数两者,例如图11或图13所展示。值得注意的是,用于上下文推导的系数不限于子块或先前子块。而是,局部邻域可包括空间上定位成靠近待译码系数但将不一定驻存在与待译码系数相同的子块中或在彼此相同的子块中的系数(如果所述系数是布置在子块中)。并非依赖于位于固定子块中的系数,本发明提出使用在给定所使用的特定的扫描次序的情况下可用的相邻系数(即,已经被译码)。
可以针对系数的不同子集(例如,基于系数的先前经译码的子集)指定不同的CABAC上下文组。在系数的给定子集内,基于系数的局部邻域(有时称为上下文邻域)来推导上下文。根据本发明,在图12中展示上下文邻域的实例。上下文邻域中的系数可以在空间上位于待译码系数附近。
如图12中所示,对于正向扫描,用于变换系数X的层级的上下文取决于系数B、E、F、H及I的值。在正向扫描中,系数B、E、F、H及I与相对于位置及系数X的已经被编码器或解码器在译码系数X之前处理的较低频率位置相关联。
为了对CABAC的二进位1进行编码,上下文取决于在此上下文邻域中的有效系数(即,在此实例中,为系数B、E、F、H及I)的数目的总和。如果上下文邻域中的系数不属于所述块(即,归因于数据损耗),则为了确定系数X的上下文的目的,可以考虑所述值是0。为了对CABAC的其余二进位进行编码,所述上下文取决于所述邻域中等于1的系数的数目的总和以及所述邻域中大于1的系数的数目的总和。在另一实例中,二进位1的上下文可能取决于局部上下文邻域中的系数的二进位1值的总和。在另一实例中,二进位1的上下文可能取决于此上下文邻域中的有效性系数及二进位1值的总和的组合。
在选择上下文邻域时有许多可能性。然而,上下文邻域应由系数构成,使得编码器及解码器两者均可存取相同信息。明确地说,在邻域中的系数B、F、E、I及H先前已经被编码或解码并且可在确定用于系数X的上下文的过程中用于参考的意义上,这些系数应当是因果相邻者。
上文参看图12所描述的上下文是许多可能性中的一者。此类上下文可以被应用于当前提出以供在HEVC中使用的三种扫描中的任一者:对角线、水平及垂直。本发明提出用于推导系数层级的上下文的上下文邻域可以与用于推导有效性图的上下文的上下文邻域相同。举例来说,用于推导系数层级的上下文的上下文邻域可以是局部邻域,在有效性图的译码中就是这种情况。
如上文中更详细地描述,本发明提出使用逆扫描次序来扫描有效系数以形成有效性图。逆扫描次序可以是逆z字形模式、垂直模式或水平模式,如图6中所示。如果用于系数层级扫描的扫描次序也是逆模式,那么图12中展示的上下文邻域将变为非因果关系。本发明提出颠倒上下文邻域的位置,使得其参照逆扫描次序是有因果关系的。图13展示用于逆扫描次序的上下文邻域的实例。
如图13中所示,针对从最后一个有效系数到DC系数位置的逆方向进行的层级扫描,用于系数X的上下文邻域包括系数B、E、F、H及I,这些系数与相对于系数X的位置的较高频率位置相关联。在给定逆扫描的情况下,系数B、E、F、H及I已经由编码器或解码器在译码系数X之前经过处理,并且因此在其可供使用的意义上是有因果关系的。类似地,这种上下文邻域可以被应用于系数层级。
在一个实例中,本发明进一步提出另一种利用经选择以支持逆扫描的上下文的用于有效性图译码的技术。如上文所论述,先前对于HEVC已经针对16×16及32×32的变换系数块的有效性图译码提出了高度自适应上下文选择方法。举例来说,如上文参看图10所描述,这种方法将16×16块划分成四个区域,其中区域41中的每一位置具有其自身的上下文组,区域37具有若干上下文,区域35具有另外3个上下文,并且区域39具有5个上下文。作为一实例,用于变换系数X的上下文选择是基于5个位置B、E、F、H、I中的最大者的有效性的总和。因为X与X沿扫描方向的相同对角线线路上的其它位置无关,所以可以根据扫描次序中的先前对角线线路并行地计算沿扫描次序中的对角线线路的变换系数的有效性的上下文。
在用于HEVC的至少一个方法所提出的方法中,上下文推导具有若干缺点。一个问题是每个块的上下文的数目。具有较多上下文意味着每当刷新上下文时的较多存储器及较多处理。因此,具有一种具有很少上下文并且因此具有用以产生上下文的很少方式(例如,少于前述实例中的四种方式,即四种模式)的算法将是有益的。
解决这些缺点的一种方式是以逆次序对有效性图进行译码,也就是说,从最后一个有效系数(较高频率)到DC分量(最低频率)。以逆次序的这个过程的结果是用于正向扫描的上下文不再有效。上文所描述的技术包含一种用于确定基于逆扫描方向上的先前经译码的有效系数来指示当前一个有效系数的信息的上下文自适应二进制算术译码(CABAC)的上下文的方法。在逆z字形扫描的一实例中,先前经译码的有效系数驻存在有效系数中的当前一者所驻存的扫描线路的右侧的位置处。
至少基于与边界的距离及与DC分量的距离,对于变换块的不同位置上下文产生可能有所不同。在上文所描述的实例技术中,提出有效性图译码利用图11中描绘的一组上下文。
本发明提出可以通过减少每个块的上下文的数目而实现较高性能的用于逆有效性图扫描的上下文组。返回参看图11,通过允许左侧区域47及顶部区域45使用与其余的区域49相同的上下文推导,可以实现每个块的上下文数目的减少。在逆扫描中,这是可能的,因为标记有I、H、F、E及B的相邻位置可用于区域47及45处的系数。
图14展示根据此实例的上下文推导的实例。在此实例中,仅存在两个上下文区域:用于DC系数的低频区域57及用于所有其它系数的其余区域59。因此,此实例仅提出两种方式来推导上下文。在低频区域57(x,y位置[0,0]处的DC系数)中,基于位置来推导上下文,即DC系数具有其自身的上下文。在其余区域57中,基于用于每一待译码系数的局部邻域中的相邻系数的有效性来推导上下文。在此实例中,这是取决于通过图14中的I、H、F、E及B表示的5个相邻者的有效性的总和来推导的。
因此,推导一个块内的上下文的方式的数目从4减少到2。此外,上下文的数目相对于图11中的先前实例减少了8个(下部频率区域43有2个,并且上部区域45及左侧区域47各有3个)。在另一实例中,DC系数可以使用与块的其余部分相同的方法,因此推导块内的上下文的方式的数目减少到1。
图15展示一实例,其中系数X的当前位置致使相邻系数中的一些(在此情况下为H及B)在当前块之外。如果当前系数的任何相邻者在块的外部,则可以假设此类相邻系数具有0有效性(即,其是零值并且因而是非有效的)。替代地,可以对右下方的一个或一个以上系数指定一个或一个以上特殊上下文。以此方式,较高频率系数可以具有取决于位置的上下文,其方式与DC系数类似。然而,假设相邻者为零可以提供足够的结果,特别是因为右下方系数将一般具有较低的具有有效系数的概率,或者至少具有较低的具有较大值的有效系数的概率。
图14的实例中的上下文数目的减少对于实施很有好处。然而,这可能会导致性能稍微降低。本发明提出另一种用来改进性能同时仍然减少上下文数目的技术。明确地说,提出具有还基于相邻系数的第二组上下文。上下文推导算法完全相同,但是使用具有不同概率模型的两组上下文。所使用的上下文组取决于待译码的系数在变换单元内的位置。
更确切地说,当对较高频率系数(例如,系数的右下方x,y坐标位置)使用不同于较低频率处的系数(例如,系数的左上方x,y坐标位置)的上下文模型时,已经展示出增加的性能。将较低频率系数与较高频率系数分开并且因而将用于每一者的上下文模型分开的一种方式是计算系数的x+y值,其中x是系数的水平位置,且y是系数的垂直位置。如果这个值小于某个阈值(例如,已经展示4很有效果),那么使用上下文组1。如果所述值等于或大于阈值,那么选择上下文组2。同样,上下文组1及2具有不同概率模型。
图16展示这个实例的上下文区域的实例。同样,位置(0,0)处的DC系数具有其自身的上下文区域61。较低频率上下文区域63由等于或小于阈值4(不包含所述DC系数)的x+y位置处的变换系数组成。较高频率上下文区域65是由在大于4的阈值的x+y位置处的变换系数组成。阈值4是用作实例,并且可以被调整成任何实现较好性能的数字。在另一实例中,所述阈值可以取决于TU大小。
用于较低频率上下文区域63及较高频率上下文区域65的上下文推导在使用相邻者来选择上下文的方式方面是完全相同的,但是所采用的概率(即,上下文)是不同的。明确地说,可以使用基于相邻者的上下文选择的相同准则,但是应用此类准则会导致针对不同系数位置选择不同上下文,因为不同系数位置可以与不同组上下文相关联。以此方式,算法中并入了对较低及较高频率系数具有不同统计数据的了解,使得可以使用用于不同系数的不同组上下文。
在其它实例中,可以取决于系数的位置将x+y函数改变成其它函数。举例来说,一选项是对所有x<T并且y<T的系数给予相同组上下文,其中T是一阈值。图17展示具有这些上下文区域的变换系数块的实例。同样,在位置(0,0)处的DC系数可以具有其自身的上下文区域61。较低频率上下文区域73由X或Y位置小于或等于阈值4(不包含DC系数)的变换系数组成。较高频率上下文区域是由X或Y位置大于4的阈值的所有变换系数组成。同样,阈值4是用作实例,并且可以被调整成任何实现较好性能的数字。在一个实例中,所述阈值可以取决于TU大小。
图16及17中展示的上述技术具有两组5个上下文,这与图10中展示的上下文数目相比仍然是较小的上下文数目并且展现较高性能。其获得方式是通过将块分隔成不同区域,并且对于不同区域中的系数指定不同组上下文,但是仍然向每一区域应用相同的上下文推导准则。
图18展示具有上下文区域的变换系数块的另一实例。在此实例中,区域81中的DC系数及区域83及85中的x,y位置(1,0)及(0,1)处的系数各自具有其自身的上下文。其余的区域87具有又一上下文。在图18中展示的实例的变化形式中,区域83及85共用一上下文。
总的来说,上述技术可包含在从变换系数块中的较高频率系数到所述变换系数块中的较低频率系数的逆方向上扫描所述变换系数块中的有效系数以形成有效性图,并且基于所述块中的先前扫描的系数的局部邻域来确定用于有效性图的有效系数的上下文自适应二进制算术译码(CABAC)的上下文。可以基于局部邻域中具有比相应变换系数高的频率的先前扫描的变换系数来为有效系数中的每一者确定上下文。在一些实例中,可以基于上下文邻域的先前扫描的系数中的有效系数的数目的总和来确定所述上下文。待译码的有效系数中的每一者的局部邻域可包括空间上与所述块中的相应系数相邻的多个变换系数。
可以基于针对DC位置处的有效系数指定的个别上下文来确定所述变换系数块的DC(例如,最上方)位置处的有效系数的上下文。此外,可以使用基本上与用于确定不在所述块的左边缘及顶边缘处的系数的上下文的准则类似或等同的准则,来为所述块的左边缘及顶边缘处的系数确定上下文。在一些实例中,可以使用假定所述块外部的相邻系数为零值系数的准则来确定所述块的最右下方位置处的系数的上下文。此外,在一些实例中,确定上下文可包括基于系数在变换系数块内的位置,使用基本上类似或等同的用于选择上下文组内(但是是不同组的上下文)的上下文的准则来确定系数的上下文。
本发明中对上部、下部、右侧、左侧及类似说法的参考一般是为了方便而使用,以便指代较高频率及较低频率系数在变换系数块中的相对位置,所述变换系数块以常规方式布置,从而使较低频率系数朝向块的左上方,且较高频率系数朝向块的右下方,并且这不应当被视为对较高及较低频率系数可以用不同的非常规方式布置的情况进行限制。
返回到图5,在一些实例中,变换模块52可经配置以对某些变换系数(也就是说,某些位置中的变换系数)进行归零。举例来说,变换模块52可经配置以对在变换之后在TU的左上象限之外的所有变换系数进行归零。作为另一实例,熵编码单元56可经配置以对在阵列中的某些位置后面的阵列中的变换系数进行归零。在任何情况下,视频编码器20均可经配置以例如在扫描之前或之后对变换系数的某一部分进行归零。短语“归零”用于指将系数值设定成等于零,而不必跳过或丢弃所述系数。在一些实例中,这种将系数设定成零可能是对可能由于量化而引起的归零的补充。
逆量化单元58及逆变换模块60分别应用逆量化及逆变换以分别在像素域中重构残余块,(例如)以供稍后用作参考块。运动补偿单元44可以通过将残余块添加到参考帧缓冲器64的帧中的一者的预测性块来计算参考块。运动补偿单元44还可将一个或一个以上内插滤波器应用于经重构残余块以计算子整数像素值以用于运动估计。求和器62将经重构残余块添加到由运动补偿单元44产生的经运动补偿预测块以产生经重构视频块,以供存储在参考帧缓冲器64中。经重构视频块可由运动估计单元42及运动补偿单元44用作参考块以对后续视频帧中的块进行帧间译码。
图19是图解说明用于图5的视频编码器中的熵编码单元56的实例的框图。图19图解说明熵编码单元56的用于选择在CABAC熵译码使用的扫描次序及对应的上下文组的各种功能方面。熵编码单元56可包含扫描次序及上下文选择单元90、2D/1D扫描单元92、熵编码引擎94及扫描次序存储器96。
扫描次序及上下文选择单元90选择由2D/1D扫描单元92用于有效性图扫描及系数层级扫描的扫描次序。如上文所论述,扫描次序由扫描模式及扫描方向两者组成。扫描存储器96可以存储定义要对特定情形使用哪种扫描次序的指令及/或数据。作为实例,可以使用帧或切片的预测模式、块大小、变换,或视频数据的其它特性来选择扫描次序。在HEVC的一项提议中,将帧内预测模式中的每一者指派给特定扫描次序(子块对角线、水平或垂直)。解码器解析帧内预测模式,并且使用查找表确定要应用的扫描次序。可以使用自适应方法来追踪最频繁的有效系数的统计数据。在另一实例中,扫描可以基于在扫描次序中第一位的最频繁使用的系数。作为另一实例,扫描次序及上下文选择单元90可以对所有情形使用预定扫描次序。如上文所描述,扫描次序及上下文选择单元90可以针对有效性图及系数层级扫描两者选择扫描次序。根据本发明的技术,所述两个扫描可以具有相同扫描次序,并且明确地说可以都在逆方向上。
基于所述选定扫描次序,扫描次序及上下文选择单元90还选择将用于熵编码引擎94中的CABAC的上下文,例如上文参看图11及图13到18所描述的上下文。
2D/1D扫描单元92向变换系数的二维阵列应用所述选定扫描。明确地说,2D/1D扫描单元92可以扫描子集中的变换系数,如同上文参看图7到9所描述。明确地说,根据扫描次序在由多个连续系数组成的子集中扫描变换系数。这些子集可适用于有效性图扫描以及系数水平扫描两者。另外,2D/1D扫描单元92可以作为连续扫描并且根据相同扫描次序来执行有效性图及系数层级扫描。如上文所描述,连续扫描可以由若干扫描组成。在一个实例中,第一扫描是有效性图扫描,第二扫描是每一子集中的变换系数层级的二进位1的扫描,第三扫描是变换系数层级的其余二进位的扫描,并且第四扫描是变换系数层级的正负号的扫描。
熵编码引擎94使用从扫描次序及上下文选择单元90选出的上下文向扫描系数应用熵编码过程。在一些实例中,可以针对所有情况预定用于CABAC的上下文,并且因此,可能不需要用一个过程或单元来选择上下文。可以在系数被完全扫描成1D向量或在每一系数被添加到1D向量时向所述系数应用熵编码过程。在其它实例中,使用扫描次序直接在2D阵列中处理所述系数。在一些情况下,熵编码引擎94可经配置以并行地对1D向量的不同区段进行编码,以促进熵编码过程的并行化,以便提高速度及效率。熵编码引擎94产生携载着经编码视频的位流。可以将所述位流发射到另一装置或将其存储在数据存储档案中以供以后检索。除了残余变换系数数据之外,所述位流还可以携载可用于对位流中的经编码视频进行解码的运动向量数据及各种语法元素。
另外,熵编码单元56可以在经编码视频位流中提供信令以指示用于CABAC过程中的扫描次序及/或上下文。举例来说,可以作为各种层级下的语法元素(例如帧、切片、LCU、GU层级或TU层级)来发信号通知扫描次序及/或上下文。如果设置了预定扫描次序及/或上下文,则可能不需要在经编码位流中提供信令。此外,在一些实例中,可能视频解码器30无需信令即可推断一些参数值。为了准许用于不同TU的不同扫描次序的定义,可能需要在TU层级(例如,在TU四叉树标头中)发信号通知此类语法元素。虽然出于说明的目的描述了经编码视频位流中的信令,但是可以在边信息中在带外发信号通知指示参数值或函数的信息。
在此背景下,在经编码位流中发信号通知扫描次序及/或上下文不需要将此类元素从编码器实时发射到解码器,而是意味着此类语法元素被编码成位流,并且使其可以被解码器用任何方式存取。这可包含实时发射(例如,在视频会议中)以及将经编码位流存储在计算机可读媒体上,以供将来由解码器使用(例如,通过流式传输、下载、磁盘存取、卡存取、DVD、蓝光等)。
应注意,虽然为了便于图解说明而展示为分开的功能单元,但是扫描次序及上下文选择单元90、2D/1D扫描单元92、熵编码引擎94及扫描次序存储器96的结构及功能性可以彼此高度集成。
图20是图解说明对经编码视频序列进行解码的视频解码器30的实例的框图。在图20的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测模块74、逆量化单元76、逆变换单元78、参考帧缓冲器82及求和器80。在一些实例中,视频解码器30可执行一般与关于视频编码器20(图5)描述的编码回合互逆的解码回合。
熵解码70用与图5的熵编码单元56所使用的过程相反的过程对经编码视频进行熵解码。运动补偿单元72可基于从熵解码单元70接收的运动向量而产生预测数据。帧内预测模块74可基于发信号通知的帧内预测模式及来自当前帧的经先前解码块的数据而产生用于当前帧的当前块的预测数据。
在一些实例中,熵解码单元70(或逆量化单元76)可以使用镜射视频编码器20的熵编码单元56(或量化单元54)使用的扫描次序的扫描来扫描接收到的值。虽然可以在逆量化单元76中执行系数的扫描,但是出于图解说明的目的将把扫描描述成由熵解码单元70执行。另外,虽然为了便于图解说明而展示为分开的功能单元,但是熵解码单元70、逆量化单元76及视频解码器30的其它单元的结构及功能性可以彼此高度集成。
根据本发明的技术,视频解码器30可以根据相同扫描次序来扫描变换系数以及变换系数层级的有效性图两者。也就是说,用于有效性图及层级译码的扫描次序应具有相同模式及方向。另外,视频编码器30可以使用有效性图的扫描次序,即在逆方向上。作为另一实例,视频编码器30可以对有效性图使用层级译码的在逆方向上协调的扫描次序。
在本发明的另一方面中,视频解码器30可以扫描子集中的变换系数。明确地说,根据扫描次序在由多个连续系数组成的子集中扫描变换系数。这些子集可适用于有效性图扫描以及系数水平扫描两者。另外,视频解码器30可以根据相同扫描次序而执行有效性图扫描及系数层级扫描以作为连续扫描。在一个方面中,所述扫描次序是逆扫描次序。连续扫描可以由若干扫描回合组成。在一个实例中,第一扫描是有效性图扫描,第二扫描是每一子集中的变换系数层级中的二进位1的扫描,第三扫描是变换系数层级的其余二进位的扫描,并且第四扫描是变换系数层级的正负号的扫描。
视频解码器30可以从经编码位流接收识别由视频编码器20用于CABAC的扫描次序及/或上下文的信令。另外,或替代地,可以由视频解码器30基于经译码视频的例如预测模式、块大小等特性或其它特性来推断扫描次序及上下文。作为另一实例,视频编码器20及视频解码器30可以对所有使用情况都使用预定扫描次序及上下文,并且因此,将不需要经编码位流中的信令。
不管如何确定扫描次序,熵解码单元70都使用扫描次序的相逆次序将1D向量扫描到2D阵列中。由熵解码单元70产生的变换系数的2D阵列可以经量化,并且可以一般匹配由视频编码器20的熵编码单元56扫描的变换系数的2D阵列以产生变换系数的1D向量。
逆量化单元76将在位流中提供且由熵解码单元70解码的经量化变换系数逆量化,即解量化。逆量化过程可包含常规过程,例如,类似于针对HEVC所提出的过程或H.264解码标准所定义的过程。所述逆量化过程可包含使用视频编码器20针对CU所计算以确定量化程度及同样应应用的逆量化程度的量化参数QP。逆量化单元76可以在系数从1D向量转换成2D阵列之前或之后对变换系数进行逆量化。
逆变换模块78应用逆变换,例如逆DCT、逆整数变换、逆KLT、逆旋转变换、逆定向变换或另一逆变换。在一些实例中,逆变换模块78可以基于来自视频编码器20的信令或通过根据例如块大小、译码模式等一个或一个以上译码特性推断变换来确定逆变换。在一些实例中,逆变换模块78可以基于在用于包含当前块的LCU的四叉树的根节点处发信号通知的变换来确定将应用于当前块的变换。在一些实例中,逆变换模块78可以应用级联的逆变换。
运动补偿单元72产生经运动补偿块,有可能基于内插滤波器而执行内插。待用于具有子像素精度的运动估计的内插滤波器的识别符可包含在语法元素中。运动补偿单元72可使用由视频编码器20在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。运动补偿单元72可根据所接收的语法信息而确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。
在HEVC实例中,运动补偿单元72及帧内预测模块74可以使用一些语法信息(例如,通过四叉树提供)来确定用于对经编码视频序列的帧进行编码的LCU的大小。运动补偿单元72及帧内预测模块74还可使用语法信息来确定分裂信息,所述分裂信息描述经编码视频序列的帧的每一CU如何被分裂(以及同样,子CU如何被分裂)。语法信息还可包含指示每一分裂如何被编码的模式(例如,帧内或帧间预测,且对于帧内预测为帧内预测编码模式),用于每一经帧间编码的PU的一个或一个以上参考帧(及/或含有用于参考帧的识别符的参考列表)及用于对经编码视频序列进行解码的其它信息。
求和器80将残余块与由运动补偿单元72或帧内预测模块74产生的对应预测性块组合以形成经解码块。如果需要,还可应用解块滤波器以对经解码块进行滤波,以便移除块效应假影。随后将经解码视频块存储在参考帧缓冲器82中,参考帧缓冲器82提供用于后续运动补偿的参考块且还产生经解码视频用于呈现于显示装置(例如图4的显示装置32)上。
如上文所提及,本发明中呈现的用于扫描变换系数的技术可适用于编码器及解码器两者。视频编码器可以应用扫描次序将扫描变换系数从二维阵列扫描到一维阵列,而视频解码器可以例如用与编码器逆向的方式应用扫描次序将变换系数从一维阵列扫描到二维阵列。替代地,视频解码器可以应用扫描次序将变换系数从一维阵列扫描到二维阵列,并且视频编码器可以用与解码器逆向的方式应用扫描次序将变换系数从二维阵列扫描到一维阵列。因此,由译码器进行的扫描可以指由编码器进行的2D/1D扫描,或者由解码器进行的1D/2D扫描。另外,根据扫描次序进行的扫描可以指用于2D/1D扫描的扫描次序中的扫描、用于1D/2D扫描的扫描次序中的扫描、用于1D/2D扫描的扫描次序的相逆次序中的扫描,或用于2D/1D扫描的扫描次序的相逆次序中的扫描。因此,可以针对由编码器进行的扫描或由解码器进行的扫描来确立扫描次序。
视频解码器30可以用基本上与视频编码器20的操作方式对称的方式操作。举例来说,视频解码器30可以接收表示经编码CU的经熵编码数据,包含经编码PU及TU数据。视频解码器30可以对接收到的数据进行逆熵编码,从而形成经编码量化系数。当视频编码器20使用算术译码算法(例如,CABAC)对数据进行熵编码时,视频解码器30可以使用上下文模型对所述数据进行解码,所述上下文模型对应于视频编码器20用来对所述数据进行编码的相同的上下文模型。
视频解码器30还可以利用镜射由视频编码器20使用的扫描的逆扫描来对经解码系数进行逆扫描。为了对系数进行逆扫描,视频解码器30选择由视频编码器20使用的相同扫描次序,所述扫描次序可以存储在解码器处,或者由编码器在经编码位流中发信号通知。使用这种扫描次序,视频解码器30由此根据熵解码过程所产生的经量化变换系数的一维向量而形成二维矩阵。明确地说,视频解码器30根据由视频编码器20使用的扫描次序将系数从一维阵列逆扫描成二维阵列。
接下来,视频解码器30可以对根据所述扫描次序执行的逆扫描所产生的二维矩阵中的系数进行逆量化。视频解码器30可以接着向二维矩阵应用一个或一个以上逆变换。所述逆变换可以对应于由视频编码器20应用的变换。举例来说,视频解码器30可以基于在对应于当前经解码的CU的四叉树的根处发信号通知的信息或参照指示适当逆变换的其它信息来确定要应用的逆变换。在应用逆变换后,视频解码器30即刻恢复像素域中的残余视频数据,并且应用可适用的帧内预测或帧间预测解码,以重构原始视频数据。
图21是图解说明用于图20的视频解码器的熵解码单元70的实例的框图。图21图解说明用于选择视频解码过程中的CABAC解码的扫描次序及上下文的熵解码单元70的各种功能方面。如图21中所示,熵编码单元70可包含扫描次序及上下文选择单元100、1D/2D扫描单元102、熵解码引擎104及扫描次序存储器106。
熵解码引擎104对发射到视频解码器30或视频解码器30从存储装置检索的经编码视频进行熵解码。举例来说,熵解码引擎104可以向携载经编码视频的位流应用例如CAVLC、CABAC或另一过程的熵解码过程以恢复变换系数的1D向量。除了残余变换系数数据之外,熵解码引擎104还可以应用熵解码以再现可用于对位流中的经编码视频进行解码的运动向量数据及各种语法元素。熵解码引擎104可以基于经编码视频位流中的信令或通过从位流中的其它信息推断适当过程来确定选择哪个熵解码过程,例如,CAVLC、CABAC或另一过程。
根据本发明的技术,熵解码引擎104可以使用CABAC根据两个不同上下文区域对经编码视频进行熵解码。扫描次序及上下文选择单元100可以向熵解码引擎104提供上下文推导。根据本发明的实例,用于第一上下文区域的上下文推导取决于变换系数的位置,而用于第二区域的上下文推导取决于变换系数的因果相邻者。在另一实例中,第二上下文区域可使用两个不同上下文模型,这取决于变换系数的位置。
扫描次序及上下文选择单元100还可基于经编码视频位流中的信令来确定扫描次序及/或扫描次序的指示。举例来说,熵解码单元70可以接收明确地发信号通知扫描次序的语法元素。同样,虽然出于说明的目的描述经编码视频位流中的信令,但是扫描次序可以由熵解码单元70接收以作为边信息中的带外信息。此外,在一些实例中,可能扫描次序及上下文选择单元100在没有信令的情况下推断扫描次序。扫描次序可能基于预测模式、块大小、变换或经编码视频的其它特性。与图19的存储器96相同,图21的扫描次序存储器106可以存储界定扫描次序的指令及/或数据。
1D/2D扫描单元102从扫描次序及上下文选择单元100接收扫描次序,并且直接地或以逆向方式应用扫描次序来控制系数的扫描。根据本发明的技术,相同扫描次序可用于有效性图扫描及系数层级两者。在本发明的另一方面中,有效性图扫描可以在逆方向上进行。在本发明的另一方面中,有效性图扫描及系数层级扫描两者均可在逆方向上。
根据本发明的另一方面,1D/2D扫描单元102可以将变换系数的一维阵列扫描成一个或一个以上变换系数子集,对每一子集中的变换系数的有效性进行译码,及对每一子集中的变换系数的层级进行译码。在本发明的另一方面中,根据相同扫描次序以连续扫描执行有效性图及系数层级扫描。在一个方面中,所述扫描次序是逆扫描次序。连续扫描可能由若干扫描组成,其中第一扫描是有效性图扫描,第二扫描是每一子集中的变换系数的层级中的二进位1,第三扫描是变换系数的层级的其余二进位,并且第四扫描是变换系数的层级的正负号。
在编码器侧,变换系数的译码可包含根据扫描次序对变换系数进行编码以形成变换系数的一维阵列。在解码器侧,对变换系数译码可包含根据扫描次序对变换系数进行解码以重构变换块中的变换系数的二维阵列。
应注意,虽然为了便于图解说明而展示为分开的功能单元,但是扫描次序及上下文选择单元100、1D/2D扫描单元102、熵解码引擎104及扫描次序存储器106的结构及功能性可以彼此高度集成。
图22是图解说明用于使用经协调扫描次序的有效性图及系数层级扫描的实例过程的流程图。提出一种对在视频译码过程中与残余视频数据相关联的多个变换系数进行译码的方法。所述方法可以由视频译码器(例如图4的视频编码器20或视频解码器30)执行。视频译码器可经配置以选择扫描次序(120)。扫描次序可能是基于预测模式、块大小、变换或经编码视频的其它特性而选择。另外,扫描次序可能是默认扫描次序。扫描次序定义扫描模式及扫描方向两者。在一个实例中,扫描方向是从所述多个变换系数中的较高频率系数向所述多个变换系数中的较低频率系数进行的逆扫描方向。扫描模式可包含z字形模式、对角线模式、水平模式或垂直模式中的一者。
视频译码器可进一步经配置以根据扫描次序对指示所述多个变换系数的有效系数的信息进行译码(122),及确定用于对有效系数的多个子集的有效系数层级进行译码的上下文,其中所述多个子集中的每一者包括根据所述扫描次序扫描的一个或一个以上有效系数(124)。视频译码器还对指示根据所述扫描次序的所述多个变换系数的层级的信息进行译码(126)。子集可能是不同大小。应注意,步骤122、124及126可以是交错的,因为用于层级信息的上下文的确定取决于先前经译码的相邻系数。
图23是图解说明用于有效性图及系数层级扫描及CABAC上下文推导的另一实例过程的流程图。图23的方法与图22中展示的方法略有不同,因为不同大小的块的上下文可以使用相同的上下文推导准则。作为一个实例,视频译码器可以:根据上下文推导准则来推导用于变换系数的第一块的第一上下文,第一块具有第一大小;以及根据与第一块相同的上下文推导准则来推导用于变换系数的第二块的第二上下文,第二块具有第二不同大小(123)。与图22相同,步骤122、123及126可以是交错的,因为用于层级信息的上下文的确定取决于先前经译码的相邻系数。
图24是图解说明用于有效性图及系数层级扫描及CABAC上下文推导的另一实例过程的流程图。图24的方法与图22中展示的方法略有不同,因为用于子集的上下文是基于子集中的DC系数的存在而确定的。作为一个实例,视频译码器可以基于相应子集是否含有变换系数的DC系数来确定系数的不同子集的不同组上下文(125)。与图22相同,步骤122、125及126可以是交错的,因为用于层级信息的上下文的确定取决于先前经译码的相邻系数。
图25是图解说明用于有效性图及系数层级扫描及CABAC上下文推导的另一实例过程的流程图。图25的方法与图22中展示的方法略有不同,因为上下文是基于其它先前子集中的有效系数的经加权数目而确定的。作为一个实例,视频译码器可以基于前一个系数子集中的有效系数的数目及系数的其它先前子集中的有效系数的经加权数目来确定用于系数的不同子集的不同组上下文(127)。与图22相同,步骤122、127及126可以是交错的,因为用于层级信息的上下文的确定取决于先前经译码的相邻系数。
图26是图解说明用于使用逆扫描方向的有效性图译码的实例过程的流程图。提出一种对在视频译码过程中与残余视频数据相关联的变换系数进行译码的方法。所述方法可以由视频译码器(例如图4的视频编码器20或视频解码器30)执行。视频译码器可经配置以选择具有逆向方向的扫描次序(140),并且基于在逆扫描方向上的先前经译码有效系数来确定用于指示当前一个有效系数的信息的上下文自适应二进制算术译码(CABAC)的上下文(142)。视频译码器可以进一步经配置以对指示沿逆扫描方向的有效变换系数的信息进行译码,以形成有效性图(146)。
在一个实例中,所述扫描具有对角线模式,并且先前经译码的有效系数驻存在当前一个有效系数所驻存的扫描线路的右侧的位置处。在另一实例中,所述扫描具有水平模式,并且先前经译码的有效系数驻存在当前一个有效系数所驻存的扫描线路的下方的位置处。在另一实例中,所述扫描具有垂直模式,并且先前经译码的有效系数驻存在当前一个有效系数所驻存的扫描线路的右侧的位置处。
视频译码器可进一步经配置以对指示有效变换系数的层级的信息进行译码(148)。对指示有效变换系数的层级的信息进行译码的步骤可以在从变换系数块中的较高频率系数向变换系数块中的较低频率系数的逆扫描方向上进行。与图22相同,步骤142、146及148可以是交错的,因为用于层级信息的上下文的确定取决于先前经译码的相邻系数。
图27是图解说明用于根据变换系数的子集的有效性图及系数层级扫描的实例过程的流程图。提出一种对在视频译码过程中与残余视频数据相关联的变换系数进行译码的方法。所述方法可以由视频译码器(例如图4的视频编码器20或视频解码器30)执行。视频译码器可经配置以:将变换系数块布置成变换系数的一个或一个以上子集(160);对每一子集中的变换系数的有效性进行译码(162);以及对每一子集中的变换系数的层级进行译码(164)。在一个实例中,布置变换系数块可包含将变换系数块布置成对应于整个变换单元的单一组变换系数。在另一实例中,布置变换系数块可包含基于扫描次序将变换系数块布置成变换系数的一个或一个以上子集。
视频译码器可经配置以根据扫描次序对每一子集中的变换系数的有效性进行译码,并且根据所述扫描次序对变换系数层级进行译码。对有效性图进行译码(162)及对层级进行译码(164)可以在对子集的两个或两个以上连续扫描回合中一起执行(165)。
图28是图解说明用于根据变换系数的子集的有效性图及系数层级扫描的另一实例过程的流程图。视频编码器可以通过首先在相应子集中的变换系数的第一扫描中对子集中的变换系数的有效性进行译码(170)来执行连续扫描(165)。
对每一子集中的系数层级进行译码(164)包含对相应子集中的变换系数的至少第二扫描。所述第二扫描可包含在对相应子集中的变换系数的第二扫描中对子集中的变换系数层级的二进位1进行译码(172),在对相应子集中的变换系数的第三扫描中对子集中的变换系数的层级的其余二进位进行译码(174),以及在对相应子集中的变换系数的第四扫描中对子集中的变换系数层级的正负号进行译码(176)。
图29是图解说明用于根据变换系数的子集的有效性图及系数层级扫描的另一实例过程的流程图。在此实例中,对变换系数层级的正负号的译码(176)是在对层级的译码(172,174)之前执行。
图30是图解说明用于使用多个区域的熵译码的实例过程的流程图。提出一种对在视频译码过程中与残余视频数据相关联的多个变换系数进行译码的方法。所述方法可以由视频译码器(例如图4的视频编码器20或视频解码器30)执行。视频译码器可经配置以根据扫描次序对指示所述多个变换系数的有效系数的信息进行译码(180),将经译码信息划分成第一区域及第二区域(182),使用上下文自适应二进制算术译码根据第一组上下文对第一区域中的经译码信息进行熵译码(184),并且使用上下文自适应二进制算术译码根据第二组上下文对第二区域中的经译码信息进行熵译码(186)。在一个实例中,所述扫描次序具有逆方向及对角线扫描模式。这种方法还可应用于两个以上区域,其中每一区域具有一组上下文。
第一及第二区域可以用若干方式划分。在一个实例中,第一区域至少含有所述多个变换系数的DC分量,并且第二区域含有不在第一区域中的其余多个变换系数。
在另一实例中,第一区域含有通过x+y<T定义的区域内的所有变换系数,其中x是变换系数的水平位置,y是变换系数的垂直位置,并且T是阈值。第一区域可能含有DC系数。第二区域含有不在第一区域中的其余多个变换系数。
在另一实例中,第一区域含有通过x<T及y<T定义的区域内的所有变换系数,其中x是变换系数的水平位置,y是变换系数的垂直位置,并且T是阈值。第二区域含有不在第一区域中的其余多个变换系数。
在另一实例中,第一区域含有DC系数,第二区域含有通过x<T及y<T定义的区域内的所有变换系数(排除所述DC系数),其中x是变换系数的水平位置,y是变换系数的垂直位置,并且T是阈值,且第三区域含有不在第一区域或第二区域中的其余多个变换系数。在另一实例中,上文所描述的第二及第三区域可以使用相同方法来推导上下文,但使用用于每一区域的不同组上下文。
在另一实例中,第一区域包含在位置(1,0)及(0,1)处的DC分量及变换系数。第二区域含有不在第一区域中的其余多个变换系数。
在另一实例中,第一区域仅含有所述多个变换系数的DC分量,并且第二区域含有其余多个变换系数。
总的来说,用于第一区域中的每一变换系数的第一上下文是基于第一区域中的每一变换系数的位置,而用于第二区域中的每一变换系数的第二上下文是基于每一变换系数的因果相邻者的经译码信息。在一些实例中,第二上下文进一步是基于第二区域中的每一变换系数的位置。在另一实例中,用于第二区域中的每一变换系数的第二上下文是基于每一变换系数的五个因果相邻者的经译码信息。
图31说明用于对与残余视频数据相关联的变换系数进行译码的二进位190的实例性排序。视频译码器(例如视频编码器20或视频解码器30)可使用两种不同的译码模式对二进位190进行译码。举例来说,视频译码器可使用上下文自适应译码模式(例如,CABAC或另一上下文自适应过程(其每一者在本文中被称作“常规”)模式)或旁路译码模式(被称作旁路模式)来确定是否对二进位190进行译码。在图31中所示的实例中,视频译码器可在常规模式中对二进位192(未加阴影的块)进行译码,且可在旁路模式中对二进位194(加阴影的块)进行译码。在常规模式中被译码的二进位192可被称作“常规二进位192”,而在旁路模式中被译码的二进位194可被称作“旁路二进位194”。
为了在常规译码模式中对二进位192进行译码,视频译码器可例如通过使用正常的CABAC译码引擎而使用如上文所描述的上下文自适应概率模型。也就是说,CABAC过程的常规模式可例如相对于熵编码单元56或熵解码单元70而使用如上文所论述的自适应上下文模型。相比而言,为了在旁路模式中对二进位194进行译码,视频译码器可使用具有固定概率的简化的算术译码过程。举例来说,视频译码器可使用具有固定上下文的CABAC作为旁路模式对旁路二进位194进行译码。在一些实例中,视频译码器可将哥伦布-莱斯译码和/或指数哥伦布代码用作旁路译码模式对旁路二进位194进行译码。视频译码器可基于(例如)二进位在变换系数块中分布的均匀程度来确定是使用常规模式还是旁路模式。在一些实例中,视频译码器可经配置以在常规模式中对某些二进位进行译码且在旁路模式中对其它二进位进行译码。
在图31中所示的实例中,二进位190包含B1(二进位1)、B2(二进位2)、GR-EG(哥伦布-莱斯-指数哥伦布)旁路译码的二进位、S(正负号)以及cu_header,其全部可提供于CU中。二进位190可对应于以下语法元素:B1可对应于coeff_abs_level_greater1_flag,B2可对应于coeff_abs_level_greater2_flag,GR-EG可对应于coeff_abs_level_minus3,S可对应于coeff_sign_flag,且cu_header可对应于CU中的所有其它语法元素。也就是说,一般来说,特定变换系数的二进位1可识别特定变换系数是否具有大于1的值。同样,特定变换系数的二进位2可识别特定变换系数是否具有大于2的值。在其它实例中,可用二进位190表示更多或更少的语法元素。
如上所述,在一实例中且如与HEVC标准一起使用而提出的,视频译码器可在多个译码回合(其可被称作扫描)中对变换系数进行译码。举例来说,视频译码器可以有效性图扫描次序对整个TU执行第一回合以对TU中的变换系数的有效性进行译码。视频译码器可随后以系数层级扫描次序对变换系数的子集执行三个额外回合。这三个回合可包含:用于系数层级的绝对值的第一二进位(二进位1)的第一回合、用于系数层级的绝对值的第二二进位(二进位2)的第二回合以及用于系数层级的其余值和系数层级的正负号的第三回合。而且,在一些实例中,可以如上文所描述的扫描次序在n(例如,n=16)个连续系数的子集中执行所述三个系数层级回合中的每一者,当已在一个子集中完成三个回合时,视频译码器可通过执行相同的三个译码回合来循序地处理下一子集。此子集译码方法可促进对变换系数层级的译码的并行化。
根据本发明的各方面,如上所述,视频译码器可通过数据重新排序上的额外改进来进一步增强残余数据译码(例如,使用上下文自适应译码过程,例如CABAC)的并行化和处理量。举例来说,如上文所描述,视频译码器可执行一个或一个以上回合来对子集中的变换系数的有效性进行译码(例如,遵循扫描次序)。视频译码器可随后执行一个或一个以上额外回合来对所述子集中的系数的系数层级进行译码(例如,遵循相同的扫描次序)。所述扫描次序可通过扫描方向(正向或反向)和扫描模式(例如,水平、垂直、对角、z形等)来表征。一般来说,一回合可涉及根据扫描次序来扫描子集或整个变换单元中的系数。在其中使用子集的实例中,视频译码器可逐子集地执行所述回合,其中一子集含有任何组的n个变换系数(例如,连续扫描次序中的n=16个连续系数)。另外,视频译码器可在每一子集内循序地执行所述回合。虽然可在一些实例中使用包括连续扫描的系数的一维子集的使用,但译码过程还可适用于子块,例如4×4子块。
在一实例中,除了上文所描述的三个译码回合之外,视频译码器可针对有效性信息执行第四译码回合。也就是说,除了针对系数层级执行上文所描述的三个译码回合之外,视频译码器可执行额外的译码回合来对有效性信息进行译码。因此,在一个实例中,视频译码器可执行以下四个回合:(1)对例如与有效性图相关联的变换系数的有效性系数旗标值进行译码,(2)对变换系数的层级值的二进位1和二进位2进行译码,(3)对系数层级值的其余二进位进行译码,以及(4)对系数层级的正负号进行译码,其全部是以相同的扫描次序。视频译码器可以相同的扫描次序来扫描变换系数的有效性系数旗标和层级,其中所述扫描次序从高频率系数进行到低频率系数。
然而,当视频译码器执行上文所描述的三个或四个译码回合时,视频译码器可在最终的译码回合期间用旁路二进位194对一些常规的二进位192进行译码。也就是说,在图31中所示的实例中,在二进位串中,常规的二进位B2与旁路二进位GR-EG和S进行交错。因此,视频译码器必须在最终的译码回合期间在常规模式与旁路模式之间切换。在某些实例中,译码模式之间的切换可负面地影响译码性能。
图32说明用于对与残余视频数据相关联的变换系数进行译码的二进位200的实例性排序。如关于图31中所示的实例所描述,视频译码器(例如,视频编码器20或视频解码器30)可使用两种不同的译码模式(包含常规模式(例如,CABAC或其它上下文自适应模式)和旁路模式)对二进位200进行译码。所述旁路模式可为非上下文自适应的模式。举例来说,旁路模式可为固定上下文二进制算术译码模式、哥伦布-莱斯译码模式、指数哥伦布译码模式,或其任何组合。在图32中所示的实例中,视频译码器可在常规模式中对二进位202(未加阴影的块)进行译码,且可在旁路模式中对二进位204(加阴影的块)进行译码。在常规模式中被译码的二进位202可被称作“常规二进位202”,而在旁路模式中被译码的二进位204可被称作“旁路二进位204”。
在图32中所示的实例中,二进位200包含有效性信息、B1(二进位1)、B2(二进位2)、GR-EG(哥伦布-莱斯-指数哥伦布)、S(正负号)以及cu_header,其全部可提供于译码单元(CU)中。二进位200可对应于以下语法元素:SIG可对应于有效性旗标,B1可对应于coeff_abs_level_greater1_flag,B2可对应于coeff_abs_level_greater2_flag,GR-EG可对应于coeff_abs_level_minus3,S可对应于coeff_sign_flag,且cu_header可对应于CU中的所有其它语法元素。在其它实例中,可用二进位200表示更多或更少的语法元素。
在图32中所示的实例中,视频译码器可以将常规二进位202(即,在常规模式中译码的二进位)和旁路二进位204(即,在旁路模式中译码的二进位)进行分组的方式来执行译码回合。也就是说,视频译码器可执行对有效性(SIG)、系数层级的第一二进位(二进位1)和第二二进位(二进位2)(其两者都在常规模式中译码)进行译码的回合,之后执行对正负号(S)和其余层级(GR-EG)(其两者都在旁路模式中译码)进行译码的回合。以此方式,经旁路译码的元素(例如,正负号和其余层级的二进位)可被分组在一起。也就是说,旁路二进位可处于未被在常规模式中译码的二进位分离的连续译码次序中。在一些实例中,如关于图31的实例所描述,视频译码器可以如上文所描述的扫描次序对在n(例如,n=16)个连续系数的子集中的二进位200执行译码回合。当视频译码器已完成对变换系数的一个子集进行译码时,视频译码器可通过执行相同的译码回合来循序地处理下一子集。
在译码期间将旁路二进位204分组在一起可使处理量最大化,因为旁路二进位204不需要上下文获取和调适。另外,视频译码器不必在常规模式与旁路模式之间切换。因此,可在单个循环中对许多旁路二进位204进行译码。
根据本发明的各方面,视频译码器可执行如上文所描述的有效性信息和系数层级译码回合,以及对常规译码的二进位和旁路译码的二进位进行分组。也就是说,例如,视频译码器可首先对子集中的变换系数的有效性进行译码(例如,遵循扫描次序),随后对子集中的系数的系数层级进行译码(例如,遵循相同的扫描次序),如关于图31所描述。另外,视频译码器可对常规译码的二进位和旁路译码的二进位进行分组,如图32中所示。
在一实例中,对于变换系数块中的每一子集,视频译码器可执行以下回合:(1)根据扫描次序对子集中的系数的有效性进行译码,(2)根据所述扫描次序对子集中的系数的系数层级的二进位1进行译码,(3)根据所述扫描次序对子集中的系数的系数层级的二进位2进行译码,以及(4)根据所述扫描次序对子集中的使用旁路模式的二进位(例如,系数的系数层级的其余绝对值以及系数层级的正负号)进行译码。
在以上实例中,在第一回合中根据扫描次序对一组变换系数中的变换系数的有效性信息进行译码。在不同于第一回合的一个或一个以上第二回合中根据所述扫描次序对变换系数的信息的第一组一个或一个以上二进位(例如,二进位1和二进位2)进行译码。在译码过程(例如,CABAC过程)的第一模式(例如,常规模式)中对所述第一组中的所述一个或一个以上二进位(二进位1和二进位2)进行译码。在不同于第一和第二回合的一个或一个以上第三回合中根据所述扫描次序对变换系数的信息的第二组一个或一个以上二进位(例如,系数的系数层级的其余绝对值和正负号)进行译码。在译码过程的第二模式(例如,旁路模式)中对所述第二组一个或一个以上二进位进行译码。
在另一实例中,如上文关于上图7到9所描述,上文所描述的第四回合可分裂为两个单独回合(例如,一个用于层级的其余部分且一个用于层级的正负号)。也就是说,视频译码器可执行以下回合:(1)对变换系数的有效性系数旗标值进行译码,(2)对变换系数的层级值的二进位1进行译码,(3)对变换系数的层级值的二进位2进行译码,(4)对系数层级的正负号进行译码(例如,在旁路模式中)以及(5)对系数层级值的其余二进位进行译码(例如,在旁路模式中),所有回合都使用相同的扫描次序。
在又其它实例中,视频译码器可使用更少的回合对变换系数进行译码。举例来说,视频译码器可执行二回合扫描,其中并行地处理层级和正负号信息。在此实例中,视频译码器可执行以下回合:(1)对常规二进位(例如,有效性、二进位1层级和二进位2层级)进行译码,以及(2)对旁路二进位(例如,其余层级和正负号)进行译码,每一回合都使用相同的扫描次序。
在这些实例中,将旁路二进位分组在一起。也就是说,旁路二进位在未被二进位串中的任何常规二进位分离的情况下被译码。在其它实例中,不同的二进位可被上下文译码或旁路译码。在此些实例中,视频译码器可执行类似的译码回合,其中常规二进位在旁路二进位之前被译码,或反之亦然,使得旁路二进位被分组。在一些实例中,如上所述,视频译码器可从块中的最后有效系数开始扫描。
对子集(例如,扫描次序中的16个变换系数的子集)中的所有变换系数数据的处理可有利于译码并行化。也就是说,在正对一个子集进行译码时,视频译码器还可预先计算用于下一子集的CABAC上下文。因此,视频译码器可在前一子集完成被译码时准备好开始对下一子集进行译码。而且,数据获取受限于子集的大小(例如,一次16个系数),其可在一些硬件架构中具有益处。
然而,未将上文所描述的扫描限制于对TU中的变换系数的子集执行。举例来说,可针对包含整个TU的一组变换系数(即,TU的所有变换系数)来执行上文所描述的每一译码回合。在此实例中,每一扫描可延伸越过整个TU。因此,在一实例中,视频译码器可执行以下回合:(1)根据扫描次序对TU中的系数的有效性进行译码,(2)根据所述扫描次序对TU中的系数的系数层级的二进位1进行译码,(3)根据所述扫描次序对TU中的系数的系数层级的二进位2进行译码,以及(4)根据所述扫描次序对TU中的使用旁路模式的二进位(例如,系数的系数层级的其余绝对值以及系数层级的正负号)进行译码。在另一实例中,如上文所描述,视频羽毛球可将所述四个回合分裂为两个单独回合(例如,一个用于层级的其余部分且一个用于层级的正负号)。在此实例中,仍将旁路二进位分组在一起。
在其中对整个TU执行译码回合的实例中,视频译码器实质上使子集大小等于TU大小。此方法可能失去上文针对相对小的子集(具有n个系数,其中n可为(例如)16)所描述的一些并行化能力。然而,对整个TU执行译码回合可具有可能胜过并行化的损失的其它益处。举例来说,在残余数据译码结束时将所有旁路二进位一起分组在TU中可增加处理量,如上文所描述,因为可在单个循环中对许多旁路二进位进行译码。也就是说,视频译码器可对在常规模式中译码的所有二进位进行译码,之后对在旁路模式中译码的二进位进行译码。
另外,当视频译码器对整个TU执行译码回合时,每一语法元素与TU内的剩余语法元素分开译码。举例来说,首先,视频译码器对系数的所有有效性信息进行译码。视频译码器随后对系数层级的所有二进位1进行译码,随后对系数层级的所有二进位2进行译码,随后对旁路二进位(例如,其余系数层级和正负号,其可被分离到两个回合中或在同一回合中被译码)进行译码。因此,TU的语法元素可与其它语法元素分开地一起包含在二进位串中,而不是以与其它语法元素交错的方式。避免语法元素的交错可有利于投机性译码过程。也就是说,在一些实例中,视频译码器可执行投机性译码(用于并行译码)。在此些实例中,视频译码器可估计某些二进位值以便预先计算值。视频译码器可受益于预先知晓待处理的语法元素,因为需要用于后面的(未译码的)二进位的更少的估计。当针对整个TU将每一语法元素与剩余语法元素分离时,分离在TU中到达其最大程度。在此些实例中,视频译码器可执行投机性译码且使可并行译码的二进位的数目最大化。
图33是说明用于对与残余视频数据相关联的变换系数进行译码的实例性视频译码过程的流程图。虽然一般相对于视频译码器(例如,视频编码器20和/或视频解码器30)来描述图33中所示的实例,但应理解,可通过多种其它处理器、处理单元、基于硬件的译码单元(例如,编码器/解码器(CODEC))等来执行所述技术。另外,虽然图33中所示的实例一般涉及“变换系数”,但应理解,在一些实例中,视频译码器可不对残余数据执行变换,而是直接对残余值执行量化(例如,当执行“变换跳过模式”时)。因此,“变换系数”可一般包含经变换的以及未经变换的残余视频数据。
在图33中所示的实例中,视频译码器在一个或一个以上第一回合中根据扫描次序对与残余视频数据相关联的一组变换系数中的变换系数的有效性信息(例如,有效性图)进行译码(210)。在一些实例中,所述组变换系数可对应于包含少于TU中的全部变换系数的变换系数子集。举例来说,所述子集可包含n个系数,其中n小于TU中的变换系数的数目。在一实例中,n可为16个变换系数。在其它实例中,所述组变换系数可对应于TU中的整组变换系数(即,TU中的全部变换系数)。
视频译码器还可在一个或一个以上第二回合中根据所述扫描次序对所述变换系数的信息的第一组一个或一个以上二进位进行译码,其中所述一个或一个以上第二回合不同于所述一个或一个以上第一回合,且其中在译码过程的第一模式中对所述第一组一个或一个以上二进位进行译码(212)。举例来说,信息的所述第一组一个或一个以上二进位可包含与变换系数相关联的层级信息。另外,译码过程的第一模式可为例如CABAC等上下文自适应译码过程的常规模式。因此,视频译码器可以与有效性信息相同的扫描次序且在常规模式中对与变换系数相关联的某些层级信息进行译码。在一些实例中,所述常规译码模式还可用于对有效性信息进行译码。
另外,视频译码器可在一个或一个以上第三回合中根据所述扫描次序对所述变换系数的信息的第二组一个或一个以上二进位进行译码,其中所述一个或一个以上第三回合不同于所述一个或一个以上第一和第二回合,且其中在所述译码过程的第二模式中对所述第二组一个或一个以上二进位进行译码(214)。举例来说,信息的所述第二组一个或一个以上二进位可包含未包含于第一组一个或一个以上二进位中的与变换系数相关联的其余层级信息。另外,译码过程的第二模式可为例如CABAC等上下文自适应译码过程的旁路模式。所述旁路模式可使用固定上下文。在一些实例中,可使用哥伦布-莱斯译码和/或指数哥伦布代码对旁路二进位进行译码。因此,视频译码器可以与有效性信息和第一组一个或一个以上二进位相同的扫描次序但在旁路模式中对与变换系数相关联的某些其余层级信息进行译码。也就是说,使用旁路模式译码的二进位可以译码次序被分组,而不被常规模式中译码的二进位分离。
因此,在至少一个实例中,视频译码器可执行四回合译码过程来对与残余视频数据块相关联的变换系数进行译码。举例来说,如上文关于图7到9所描述,视频译码器可针对若干回合执行以下操作:
1.对子集中的系数的有效性进行译码。
2.对子集中的系数的系数层级的二进位1进行译码。
3.对子集中的系数的系数层级的二进位2进行译码。
4.对子集中的使用旁路模式的二进位(例如,系数的系数层级的其余绝对值以及系数层级的正负号)进行译码。
在此实例中,第一组一个或一个以上二进位可包含二进位1和二进位2,视频译码器可使用常规模式(例如,使用CABAC、CAVLC、PIPE等)对其进行译码,而在旁路模式中对其余二进位进行译码。另外,第二组一个或一个以上二进位可包含使用旁路模式的二进位。也就是说,视频译码器可将二进位3到二进位n(其中二进位n表示最终的二进位)分组在一起且在单个回合中对所述二进位进行译码。在其它实例中,视频译码器可使用更多或更少的回合对变换系数进行译码。举例来说,视频译码器可在单个第一回合中对第一组一个或一个以上二进位进行译码且在第二回合中对第二组一个或一个以上二进位进行译码。在另一实例中,上文所描述的第四回合可分裂在两个分开的回合中(用于正负号和其余层级)。
对使用第二译码模式译码的二进位(例如,旁路二进位)进行分组可增加译码效率和处理量。举例来说,不必在对每一二进位进行编码之后等待更新上下文模型(例如,这对于上下文自适应译码来说是所需的),旁路二进位可立即被连续译码(例如,归因于用于旁路编码的固定概率)。另外,在一组旁路二进位正被译码时,视频译码器可预先计算用于下一组旁路二进位的上下文。因此,视频译码器在先前的二进位完成时便准备好开始译码过程。
如上所述,所述组变换系数可对应于包含少于TU中的全部变换系数的变换系数子集。在此些实例中,对于一些硬件架构可存在益处。举例来说,对子集中的变换系数进行译码可在存储器利用率方面更高效,因为在译码期间必须存储和存取更少的数据。另外,视频译码器可并行地对子集中的一者或一者以上进行译码。
在其它实例中,所述组变换系数可对应于TU中的整组变换系数(即,TU中的全部变换系数)。对整个TU的变换系数进行译码可导致某一并行化兼容性的损失。然而,对TU的变换系数进行译码可存在一些益处。举例来说,在残余数据译码结束时将整个TU的所有旁路二进位分组在一起可增加处理量,如上文所描述。另外,视频译码器可执行对某些语法元素的投机性译码,如上文所描述。
应理解,关于图33所展示和描述的步骤仅作为一个实例而提供。也就是说,图33的方法的步骤不需要一定以图33中所示的次序执行,且可执行更少的、额外的或替代的步骤。
在一个或一个以上实例中,本发明中描述的功能可以用硬件、软件、固件或其任何组合来实施。如果用软件实施,则可以通过基于硬件的处理单元(例如一个或一个以上处理器)来执行所述功能,所述处理单元执行呈计算机可读指令或代码的形式的软件。此类指令或代码可以在计算机可读媒体上存储或传输,并且由基于硬件的处理单元来执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形非暂时媒体,例如数据存储媒体,或包含任何促进例如根据一种通信协议将计算机程序从一处传送到另一处的媒体的通信媒体。以此方式,计算机可读媒体一般可以对应于(1)有形计算机可读存储媒体,其是非暂时的,或(2)通信媒体,例如信号或载波。数据存储媒体可以是可由一个或一个以上计算机或一个或一个以上处理器存取以检索用于实施本发明中描述的技术的指令、代码及/或数据结构的任何可用的媒体。计算机程序产品可包含计算机可读媒体。
借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、快闪存储器、CD-ROM或任何其它固态、光学或磁性数据存储媒体,包含光盘存储装置、磁盘存储装置或其它磁性存储装置,或任何其它可用于以指令或数据结构的形式存储所需的程序代码并且可以由计算机存取的媒体。同样,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波的无线技术包括于媒体的定义中。但是,应理解,所述计算机可读存储媒体及数据存储媒体并不包含连接、载波、信号或其它瞬时媒体,而是针对于非瞬时有形存储媒体。如本文中所使用,磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常磁性地再现数据,而光盘使用激光光学地再现数据。以上各者的组合也应包括在计算机可读媒体的范围内。
可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器来执行所述指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文所述的功能性可以在经配置用于编码及解码的专用硬件及/或软件模块内提供,或者并入在组合编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。
本发明的技术可以通过广泛多种装置或设备来执行,所述装置或设备包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的智能电话)、电视、相机、显示装置、数字媒体播放器、视频游戏控制台等。在许多情况下,此类装置可以经配备用于无线通信。另外,此类技术可以通过集成电路(IC)或一组IC(例如,芯片组)来实施。经配置以执行本发明的技术的装置可包含上述装置中的任一者,并且在一些情况下,可能是视频编码器或视频解码器或组合的视频编码器-解码器,即视频编解码器,其可能通过硬件、软件及固件的组合而形成。本发明中描述各种组件、模块或单元可能是为了强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。而是,如上文所描述,各种单元可以联合合适的软件及/或固件而组合在编解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一个或一个以上处理器。
已描述了各种实例。这些及其它实例处于所附权利要求书的范围内。

Claims (60)

1.一种对在视频译码过程中与残余视频数据相关联的变换系数进行译码的方法,所述方法包括:
在一个或一个以上第一回合中根据扫描次序对与所述残余视频数据相关联的一组变换系数中的变换系数的有效性信息进行译码;
在一个或一个以上第二回合中根据所述扫描次序对所述变换系数的信息的第一组一个或一个以上二进位进行译码,其中所述一个或一个以上第二回合不同于所述一个或一个以上第一回合,且其中在译码过程的第一模式中对所述第一组一个或一个以上二进位进行译码;以及
在一个或一个以上第三回合中根据所述扫描次序对所述变换系数的信息的第二组一个或一个以上二进位进行译码,其中所述一个或一个以上第三回合不同于所述一个或一个以上第一和第二回合,且其中在所述译码过程的第二模式中对所述第二组一个或一个以上二进位进行译码。
2.根据权利要求1所述的方法,其中所述第一模式是上下文自适应二进制算术译码CABAC过程的常规模式,且所述第二模式是所述CABAC过程的旁路模式。
3.根据权利要求1所述的方法,其中所述CABAC过程的所述常规模式使用自适应上下文模型对二进位进行译码,且所述CABAC过程的所述旁路模式使用固定概率对二进位进行译码。
4.根据权利要求1所述的方法,其中所述第一组二进位包含所述组变换系数中的所述变换系数的系数层级的第一二进位和第二二进位,且所述第二组二进位包含所述组变换系数中的所述变换系数的其余系数层级的二进位。
5.根据权利要求1所述的方法,其中所述第二组二进位包含所述组变换系数中的所述变换系数的所述系数层级的正负号的二进位。
6.根据权利要求1所述的方法,其中所述组变换系数对应于变换单元TU中的整组变换系数。
7.根据权利要求1所述的方法,其中所述组变换系数对应于包括少于变换单元TU中的全部整组变换系数的子集。
8.根据权利要求7所述的方法,其进一步包括重复对所述TU中的多个变换系数子集中的每一者的所述译码,其中每一子集包括少于所述TU中的全部所述整组变换系数。
9.根据权利要求7所述的方法,其中所述子集中的每一者包括所述扫描次序中的十六个连续系数。
10.根据权利要求7所述的方法,其中所述子集中的每一者包括所述扫描次序中的变换系数的子块。
11.根据权利要求7所述的方法,其中对所述变换系数的有效性进行译码包括根据扫描次序对有效性进行译码,且对所述第一组和第二组一个或一个以上二进位进行译码包括根据所述扫描次序对所述第一组和第二组一个或一个以上二进位进行译码。
12.根据权利要求7所述的方法,其中:
对信息的所述第一组一个或一个以上二进位进行译码包括对所述变换系数的所述层级的第一二进位和第二二进位进行译码;以及
对信息的所述第二组一个或一个以上二进位进行译码包括对所述变换系数的所述层级的其余二进位以及所述变换系数的所述层级的正负号进行译码。
13.根据权利要求1所述的方法,其中译码包括编码,且其中编码包括将表示所述有效性信息、所述第一组一个或一个以上二进位和所述第二组一个或一个以上二进位的信息包含在经编码位流中。
14.根据权利要求1所述的方法,其中译码包括解码,且其中解码包括接收经编码位流中的表示所述有效性信息、所述第一组一个或一个以上二进位和所述第二组一个或一个以上二进位的信息。
15.根据权利要求14所述的方法,其中解码进一步包括:
从表示所述有效性信息、所述第一组一个或一个以上二进位和所述第二组一个或一个以上二进位的所述信息确定视频数据块的变换系数;
将逆变换应用于所述所确定的变换系数以产生残余视频数据块;以及
将所述残余视频数据块与预测性视频数据块进行组合以形成经重构视频数据块。
16.一种用于对与残余视频数据相关联的变换系数进行译码的设备,所述设备包括一个或一个以上处理器,所述一个或一个以上处理器经配置以:
在一个或一个以上第一回合中根据扫描次序对与所述残余视频数据相关联的一组变换系数中的变换系数的有效性信息进行译码;
在一个或一个以上第二回合中根据所述扫描次序对所述变换系数的信息的第一组一个或一个以上二进位进行译码,其中所述一个或一个以上第二回合不同于所述一个或一个以上第一回合,且其中在译码过程的第一模式中对所述第一组一个或一个以上二进位进行译码;以及
在一个或一个以上第三回合中根据所述扫描次序对所述变换系数的信息的第二组一个或一个以上二进位进行译码,其中所述一个或一个以上第三回合不同于所述一个或一个以上第一和第二回合,且其中在所述译码过程的第二模式中对所述第二组一个或一个以上二进位进行译码。
17.根据权利要求16所述的设备,其中所述第一模式是上下文自适应二进制算术译码CABAC过程的常规模式,且所述第二模式是所述CABAC过程的旁路模式。
18.根据权利要求16所述的设备,其中所述CABAC过程的所述常规模式使用自适应上下文模型对二进位进行译码,且所述CABAC过程的所述旁路模式使用固定概率对二进位进行译码。
19.根据权利要求16所述的设备,其中所述第一组二进位包含所述组变换系数中的所述变换系数的系数层级的第一二进位和第二二进位,且所述第二组二进位包含所述组变换系数中的所述变换系数的其余系数层级的二进位。
20.根据权利要求16所述的设备,其中所述第二组二进位包含所述组变换系数中的所述变换系数的所述系数层级的正负号的二进位。
21.根据权利要求16所述的设备,其中所述组变换系数对应于变换单元TU中的整组变换系数。
22.根据权利要求16所述的设备,其中所述组变换系数对应于包括少于变换单元TU中的全部整组变换系数的子集。
23.根据权利要求22所述的设备,其中所述一个或一个以上处理器进一步经配置以重复对所述TU中的多个变换系数子集中的每一者的所述译码,其中每一子集包括少于所述TU中的全部所述整组变换系数。
24.根据权利要求22所述的设备,其中所述子集中的每一者包括所述扫描次序中的十六个连续系数。
25.根据权利要求22所述的设备,其中所述子集中的每一者包括所述扫描次序中的变换系数的子块。
26.根据权利要求22所述的设备,其中为了对所述变换系数的有效性进行译码,所述一个或一个以上处理器经配置以根据扫描次序对有效性进行译码,且为了对所述第一组和第二组一个或一个以上二进位进行译码,所述一个或一个以上处理器经配置以根据所述扫描次序对所述第一组和第二组一个或一个以上二进位进行译码。
27.根据权利要求22所述的设备,其中:
为了对信息的所述第一组一个或一个以上二进位进行译码,所述一个或一个以上处理器经配置以对所述变换系数的所述层级的第一二进位和第二二进位进行译码;且
为了对信息的所述第二组一个或一个以上二进位进行译码,所述一个或一个以上处理器经配置以对所述变换系数的所述层级的其余二进位以及所述变换系数的所述层级的正负号进行译码。
28.根据权利要求16所述的设备,其中为了译码,所述一个或一个以上处理器经配置以进行编码,且其中编码包括将表示所述有效性信息、所述第一组一个或一个以上二进位和所述第二组一个或一个以上二进位的信息包含在经编码位流中。
29.根据权利要求16所述的设备,其中为了译码,所述一个或一个以上处理器经配置以进行解码,且其中解码包括接收经编码位流中的表示所述有效性信息、所述第一组一个或一个以上二进位和所述第二组一个或一个以上二进位的信息。
30.根据权利要求29所述的设备,其中为了解码,所述一个或一个以上处理器进一步经配置以:
从表示所述有效性信息、所述第一组一个或一个以上二进位和所述第二组一个或一个以上二进位的所述信息确定视频数据块的变换系数;
将逆变换应用于所述所确定的变换系数以产生残余视频数据块;以及
将所述残余视频数据块与预测性视频数据块进行组合以形成经重构视频数据块。
31.一种用于对与残余视频数据相关联的变换系数进行译码的设备,所述设备包括:
用于在一个或一个以上第一回合中根据扫描次序对与所述残余视频数据相关联的一组变换系数中的变换系数的有效性信息进行译码的装置;
用于在一个或一个以上第二回合中根据所述扫描次序对所述变换系数的信息的第一组一个或一个以上二进位进行译码的装置,其中所述一个或一个以上第二回合不同于所述一个或一个以上第一回合,且其中在译码过程的第一模式中对所述第一组一个或一个以上二进位进行译码;以及
用于在一个或一个以上第三回合中根据所述扫描次序对所述变换系数的信息的第二组一个或一个以上二进位进行译码的装置,其中所述一个或一个以上第三回合不同于所述一个或一个以上第一和第二回合,且其中在所述译码过程的第二模式中对所述第二组一个或一个以上二进位进行译码。
32.根据权利要求31所述的设备,其中所述第一模式是上下文自适应二进制算术译码CABAC过程的常规模式,且所述第二模式是所述CABAC过程的旁路模式。
33.根据权利要求31所述的设备,其中所述CABAC过程的所述常规模式使用自适应上下文模型对二进位进行译码,且所述CABAC过程的所述旁路模式使用固定概率对二进位进行译码。
34.根据权利要求31所述的设备,其中所述第一组二进位包含所述组变换系数中的所述变换系数的系数层级的第一二进位和第二二进位,且所述第二组二进位包含所述组变换系数中的所述变换系数的其余系数层级的二进位。
35.根据权利要求31所述的设备,其中所述第二组二进位包含所述组变换系数中的所述变换系数的所述系数层级的正负号的二进位。
36.根据权利要求31所述的设备,其中所述组变换系数对应于变换单元TU中的整组变换系数。
37.根据权利要求31所述的设备,其中所述组变换系数对应于包括少于变换单元TU中的全部整组变换系数的子集。
38.根据权利要求37所述的设备,其进一步包括用于重复对所述TU中的多个变换系数子集中的每一者的所述译码的装置,其中每一子集包括少于所述TU中的全部所述整组变换系数。
39.根据权利要求37所述的设备,其中所述子集中的每一者包括所述扫描次序中的十六个连续系数。
40.根据权利要求37所述的设备,其中所述子集中的每一者包括所述扫描次序中的变换系数的子块。
41.根据权利要求37所述的设备,其中用于对所述变换系数的有效性进行译码的装置包括用于根据扫描次序对有效性进行译码的装置,且用于对所述第一组和第二组一个或一个以上二进位进行译码的装置包括用于根据所述扫描次序对所述第一组和第二组一个或一个以上二进位进行译码的装置。
42.根据权利要求37所述的设备,其中:
用于对信息的所述第一组一个或一个以上二进位进行译码的装置包括用于对所述变换系数的所述层级的第一二进位和第二二进位进行译码的装置;以及
用于对信息的所述第二组一个或一个以上二进位进行译码的装置包括用于对所述变换系数的所述层级的其余二进位以及所述变换系数的所述层级的正负号进行译码的装置。
43.根据权利要求31所述的设备,其中用于译码的装置包括用于编码的装置,且其中用于编码的装置包括用于将表示所述有效性信息、所述第一组一个或一个以上二进位和所述第二组一个或一个以上二进位的信息包含在经编码位流中的装置。
44.根据权利要求31所述的设备,其中用于译码的装置包括用于解码的装置,且其中用于解码的装置包括用于接收经编码位流中的表示所述有效性信息、所述第一组一个或一个以上二进位和所述第二组一个或一个以上二进位的信息的装置。
45.根据权利要求44所述的设备,其中用于解码的装置进一步包括:
用于从表示所述有效性信息、所述第一组一个或一个以上二进位和所述第二组一个或一个以上二进位的所述信息确定视频数据块的变换系数的装置;
用于将逆变换应用于所述所确定的变换系数以产生残余视频数据块的装置;以及
用于将所述残余视频数据块与预测性视频数据块进行组合以形成经重构视频数据块的装置。
46.一种其上存储有指令的非暂时性计算机可读存储媒体,所述指令在被执行时致使一个或一个以上处理器:
在一个或一个以上第一回合中根据扫描次序对与所述残余视频数据相关联的一组变换系数中的变换系数的有效性信息进行译码;
在一个或一个以上第二回合中根据所述扫描次序对所述变换系数的信息的第一组一个或一个以上二进位进行译码,其中所述一个或一个以上第二回合不同于所述一个或一个以上第一回合,且其中在译码过程的第一模式中对所述第一组一个或一个以上二进位进行译码;以及
在一个或一个以上第三回合中根据所述扫描次序对所述变换系数的信息的第二组一个或一个以上二进位进行译码,其中所述一个或一个以上第三回合不同于所述一个或一个以上第一和第二回合,且其中在所述译码过程的第二模式中对所述第二组一个或一个以上二进位进行译码。
47.根据权利要求46所述的非暂时性计算机可读存储媒体,其中所述第一模式是上下文自适应二进制算术译码CABAC过程的常规模式,且所述第二模式是所述CABAC过程的旁路模式。
48.根据权利要求46所述的非暂时性计算机可读存储媒体,其中所述CABAC过程的所述常规模式使用自适应上下文模型对二进位进行译码,且所述CABAC过程的所述旁路模式使用固定概率对二进位进行译码。
49.根据权利要求46所述的非暂时性计算机可读存储媒体,其中所述第一组二进位包含所述组变换系数中的所述变换系数的系数层级的第一二进位和第二二进位,且所述第二组二进位包含所述组变换系数中的所述变换系数的其余系数层级的二进位。
50.根据权利要求46所述的非暂时性计算机可读存储媒体,其中所述第二组二进位包含所述组变换系数中的所述变换系数的所述系数层级的正负号的二进位。
51.根据权利要求46所述的非暂时性计算机可读存储媒体,其中所述组变换系数对应于变换单元TU中的整组变换系数。
52.根据权利要求46所述的非暂时性计算机可读存储媒体,其中所述组变换系数对应于包括少于变换单元TU中的全部整组变换系数的子集。
53.根据权利要求52所述的非暂时性计算机可读存储媒体,其进一步包括致使所述一个或一个以上处理器重复对所述TU中的多个变换系数子集中的每一者的所述译码的指令,其中每一子集包括少于所述TU中的全部所述整组变换系数。
54.根据权利要求52所述的非暂时性计算机可读存储媒体,其中所述子集中的每一者包括所述扫描次序中的十六个连续系数。
55.根据权利要求52所述的非暂时性计算机可读存储媒体,其中所述子集中的每一者包括所述扫描次序中的变换系数的子块。
56.根据权利要求52所述的非暂时性计算机可读存储媒体,其中所述致使所述一个或一个以上处理器对所述变换系数的有效性进行译码的指令包括致使所述一个或一个以上处理器根据扫描次序对有效性进行译码的指令,且所述致使所述一个或一个以上处理器对所述第一组和第二组一个或一个以上二进位进行译码的指令包括致使根据所述扫描次序对所述第一组和第二组一个或一个以上二进位进行译码的指令。
57.根据权利要求52所述的非暂时性计算机可读存储媒体,其中:
所述致使所述一个或一个以上处理器对信息的所述第一组一个或一个以上二进位进行译码的指令包括致使所述一个或一个以上处理器对所述变换系数的所述层级的第一二进位和第二二进位进行译码的指令;且
所述致使所述一个或一个以上处理器对信息的所述第二组一个或一个以上二进位进行译码的指令包括致使所述一个或一个以上处理器对所述变换系数的所述层级的其余二进位以及所述变换系数的所述层级的正负号进行译码的指令。
58.根据权利要求46所述的非暂时性计算机可读存储媒体,其中进行译码包括编码,且其中所述指令致使所述一个或一个以上处理器将表示所述有效性信息、所述第一组一个或一个以上二进位和所述第二组一个或一个以上二进位的信息包含在经编码位流中。
59.根据权利要求46所述的非暂时性计算机可读存储媒体,其中进行译码包括解码,且其中所述指令致使所述一个或一个以上处理器接收经编码位流中的表示所述有效性信息、所述第一组一个或一个以上二进位和所述第二组一个或一个以上二进位的信息。
60.根据权利要求59所述的非暂时性计算机可读存储媒体,其中所述指令进一步致使所述一个或一个以上处理器:
从表示所述有效性信息、所述第一组一个或一个以上二进位和所述第二组一个或一个以上二进位的所述信息确定视频数据块的变换系数;
将逆变换应用于所述所确定的变换系数以产生残余视频数据块;以及
将所述残余视频数据块与预测性视频数据块进行组合以形成经重构视频数据块。
CN201280038520.0A 2011-08-05 2012-08-03 用于视频译码的变换系数的译码 Active CN103718554B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201161515711P 2011-08-05 2011-08-05
US61/515,711 2011-08-05
US13/413,497 2012-03-06
US13/413,497 US20120230418A1 (en) 2011-03-08 2012-03-06 Coding of transform coefficients for video coding
US13/565,621 2012-08-02
US13/565,621 US9106913B2 (en) 2011-03-08 2012-08-02 Coding of transform coefficients for video coding
PCT/US2012/049518 WO2013022748A1 (en) 2011-08-05 2012-08-03 Coding of transform coefficients for video coding

Publications (2)

Publication Number Publication Date
CN103718554A true CN103718554A (zh) 2014-04-09
CN103718554B CN103718554B (zh) 2017-03-15

Family

ID=47668826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280038520.0A Active CN103718554B (zh) 2011-08-05 2012-08-03 用于视频译码的变换系数的译码

Country Status (14)

Country Link
US (1) US9106913B2 (zh)
EP (1) EP2740269A1 (zh)
JP (1) JP5951772B2 (zh)
KR (1) KR101656964B1 (zh)
CN (1) CN103718554B (zh)
AU (1) AU2012294683B2 (zh)
BR (1) BR112014002770B1 (zh)
CA (1) CA2844138C (zh)
IL (1) IL230364A (zh)
MX (1) MX2014001422A (zh)
MY (2) MY193779A (zh)
RU (1) RU2562381C1 (zh)
WO (1) WO2013022748A1 (zh)
ZA (1) ZA201401626B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105723714A (zh) * 2013-10-11 2016-06-29 黑莓有限公司 用于在跳过变换的情况下对块的符号编码
CN106663085A (zh) * 2014-08-08 2017-05-10 高通股份有限公司 用于再使用变换结构用于多分区变换的系统和方法
CN106991391A (zh) * 2017-03-30 2017-07-28 理光图像技术(上海)有限公司 文档处理装置以及文档处理和识别系统
CN107124915A (zh) * 2014-10-06 2017-09-01 高通股份有限公司 用于调色板模式译码的对角线副本
CN108664835A (zh) * 2017-04-02 2018-10-16 田雪松 一种编码图案有效性的识别方法和识别装置
CN109831670A (zh) * 2019-02-26 2019-05-31 北京大学深圳研究生院 一种反量化方法、系统、设备及计算机可读介质
CN110235445A (zh) * 2017-01-31 2019-09-13 世宗大学校产学协力团 影像编码/解码方法及装置
CN111988617A (zh) * 2019-05-22 2020-11-24 腾讯美国有限责任公司 视频解码方法和装置以及计算机设备和存储介质
CN115379220A (zh) * 2018-08-22 2022-11-22 寰发股份有限公司 转换系数编码或解码的方法与装置

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2947878B1 (en) * 2010-04-23 2017-02-15 M&K Holdings Inc. Apparatus for encoding an image
US9497472B2 (en) 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in video coding
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
US8634669B2 (en) * 2011-01-13 2014-01-21 Sony Corporation Fast implementation of context selection of significance map
US10397577B2 (en) 2011-03-08 2019-08-27 Velos Media, Llc Inverse scan order for significance map coding of transform coefficients in video coding
PL3309969T3 (pl) 2011-06-24 2023-09-18 Sun Patent Trust Sposób i urządzenie kodujące obraz
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
US20130003858A1 (en) * 2011-06-30 2013-01-03 Vivienne Sze Simplified Context Selection For Entropy Coding of Transform Coefficient Syntax Elements
US20130114667A1 (en) * 2011-11-08 2013-05-09 Sony Corporation Binarisation of last position for higher throughput
US9654139B2 (en) 2012-01-19 2017-05-16 Huawei Technologies Co., Ltd. High throughput binarization (HTB) method for CABAC in HEVC
US20130188736A1 (en) 2012-01-19 2013-07-25 Sharp Laboratories Of America, Inc. High throughput significance map processing for cabac in hevc
US9860527B2 (en) * 2012-01-19 2018-01-02 Huawei Technologies Co., Ltd. High throughput residual coding for a transform skipped block for CABAC in HEVC
US9743116B2 (en) 2012-01-19 2017-08-22 Huawei Technologies Co., Ltd. High throughput coding for CABAC in HEVC
US10616581B2 (en) 2012-01-19 2020-04-07 Huawei Technologies Co., Ltd. Modified coding for a transform skipped block for CABAC in HEVC
EP4391545A3 (en) 2012-01-20 2024-10-02 GE Video Compression, LLC Transform coefficient coding
RU2602782C2 (ru) * 2012-06-28 2016-11-20 Нек Корпорейшн Способ кодирования параметров квантования видео, способ декодирования параметров квантования видео и соответствующие устройства и программы
US9549182B2 (en) 2012-07-11 2017-01-17 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
US9264713B2 (en) 2012-07-11 2016-02-16 Qualcomm Incorporated Rotation of prediction residual blocks in video coding with transform skipping
BR112015026899B1 (pt) * 2013-04-23 2023-03-28 Qualcomm Incorporated Reposicionamento dos blocos residuais de previsão na codificação de vídeo
US9955163B2 (en) * 2013-06-17 2018-04-24 Google Llc Two pass quantization of video data
US10021419B2 (en) * 2013-07-12 2018-07-10 Qualcomm Incorported Rice parameter initialization for coefficient level coding in video coding process
AU2013395426B2 (en) 2013-07-24 2017-11-30 Microsoft Technology Licensing, Llc Scanning orders for non-transform coding
US9264724B2 (en) 2013-10-11 2016-02-16 Blackberry Limited Sign coding for blocks with transform skipped
US9781424B2 (en) * 2015-01-19 2017-10-03 Google Inc. Efficient context handling in arithmetic coding
CN104702962B (zh) * 2015-03-03 2019-04-16 华为技术有限公司 帧内编解码方法、编码器和解码器
US20160269747A1 (en) * 2015-03-12 2016-09-15 NGCodec Inc. Intra-Picture Prediction Processor with Dual Stage Computations
RU2706228C1 (ru) 2016-02-12 2019-11-15 Хуавей Текнолоджиз Ко., Лтд. Способ и устройство выбора порядка сканирования
KR102210230B1 (ko) 2016-02-12 2021-01-29 후아웨이 테크놀러지 컴퍼니 리미티드 스캔 순서 선택을 위한 방법 및 장치
AU2017268705B2 (en) 2016-05-23 2022-05-19 Kakadu R & D Pty Ltd A method and apparatus for image compression
EP3264763A1 (en) * 2016-06-29 2018-01-03 Thomson Licensing Method and apparatus for improved significance flag coding using simple local predictor
CN116567212A (zh) 2016-08-11 2023-08-08 Lx 半导体科技有限公司 编码/解码设备以及发送图像数据的设备
WO2018097691A2 (ko) * 2016-11-28 2018-05-31 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US10194147B2 (en) 2017-01-19 2019-01-29 Google Llc DC coefficient sign coding scheme
WO2018143670A1 (ko) * 2017-01-31 2018-08-09 세종대학교 산학협력단 영상의 부호화/복호화 방법 및 장치
US10554977B2 (en) * 2017-02-10 2020-02-04 Intel Corporation Method and system of high throughput arithmetic entropy coding for video coding
JP7198268B2 (ja) * 2017-07-31 2022-12-28 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート 画像復号化方法、画像符号化方法及びコンピュータ可読記録媒体
WO2019050299A1 (ko) * 2017-09-06 2019-03-14 가온미디어 주식회사 변화계수 서브그룹 스캐닝 방법에 따른 부/복호화 방법 및 장치
US10484695B2 (en) 2017-10-23 2019-11-19 Google Llc Refined entropy coding for level maps
US10694205B2 (en) * 2017-12-18 2020-06-23 Google Llc Entropy coding of motion vectors using categories of transform blocks
US10869060B2 (en) * 2018-01-30 2020-12-15 Google Llc Efficient context model computation design in transform coefficient coding
US10645381B2 (en) 2018-04-30 2020-05-05 Google Llc Intra-prediction for smooth blocks in image/video
US10771783B2 (en) * 2018-06-11 2020-09-08 Google Llc Transforms for large video and image blocks
US10992937B2 (en) 2018-06-18 2021-04-27 Qualcomm Incorporated Coefficient coding with grouped bypass bins
US11128866B2 (en) 2018-10-18 2021-09-21 Qualcomm Incorporated Scans and last coefficient position coding for zero-out transforms
KR20230154085A (ko) * 2018-12-17 2023-11-07 엘지전자 주식회사 고주파 제로잉을 기반으로 변환 계수 스캔 순서를 결정하는 방법 및 장치
US11102490B2 (en) * 2018-12-31 2021-08-24 Tencent America LLC Coefficient scanning methods on adaptive angle mode
CN113316934B (zh) * 2019-01-25 2024-03-08 寰发股份有限公司 带有变换块级别约束的变换系数编码的方法和设备
US11202100B2 (en) * 2019-03-11 2021-12-14 Qualcomm Incorporated Coefficient coding for transform skip mode
US10587286B1 (en) 2019-03-18 2020-03-10 Blackberry Limited Methods and devices for handling equiprobable symbols in entropy coding
US11375236B2 (en) * 2019-05-22 2022-06-28 Tencent America LLC Method and apparatus for video coding
CN117834877A (zh) * 2019-06-14 2024-04-05 松下电器(美国)知识产权公司 编码装置、解码装置和非暂时性的计算机可读取介质
CN114513663A (zh) * 2020-11-17 2022-05-17 腾讯科技(深圳)有限公司 视频解码方法、装置及电子设备
US11606568B1 (en) 2021-08-18 2023-03-14 Meta Platforms, Inc. End-of-block detection of quantized transform coefficient matrices in video encoding
US20230319260A1 (en) * 2022-04-04 2023-10-05 Tencent America LLC Systems and methods for frequency-dependent coefficient sign coding

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1679903A (en) 1928-01-12 1928-08-07 Chase Appliance Corp Anticreeping device for railway rails
US5295203A (en) 1992-03-26 1994-03-15 General Instrument Corporation Method and apparatus for vector coding of video transform coefficients
JPH06205388A (ja) 1992-12-28 1994-07-22 Canon Inc 画像符号化装置
EP0607484B1 (en) 1993-01-20 1998-09-09 Samsung Electronics Co. Ltd. Method and device for encoding and decoding image data
EP1802136A3 (en) 1995-03-15 2008-11-12 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems
US5838825A (en) 1996-01-17 1998-11-17 Matsushita Electric Industrial Co., Ltd. Apparatus for decompressing image data which has been compressed using a linear transform
US5818877A (en) 1996-03-14 1998-10-06 The Regents Of The University Of California Method for reducing storage requirements for grouped data values
US6301304B1 (en) 1998-06-17 2001-10-09 Lsi Logic Corporation Architecture and method for inverse quantization of discrete cosine transform coefficients in MPEG decoders
US6553147B2 (en) 1998-10-05 2003-04-22 Sarnoff Corporation Apparatus and method for data partitioning to improving error resilience
EP1041826A1 (en) 1999-04-01 2000-10-04 Lucent Technologies Inc. Apparatus for coding data and apparatus for decoding block transform coefficients
US6775414B1 (en) 1999-11-19 2004-08-10 Ati International Srl Variable-length code decoder
US6680974B1 (en) 1999-12-02 2004-01-20 Lucent Technologies Inc. Methods and apparatus for context selection of block transform coefficients
US20020122483A1 (en) 2001-03-02 2002-09-05 Matsushita Electric Industrial Co., Ltd. Encoding circuit and method
US6650707B2 (en) 2001-03-02 2003-11-18 Industrial Technology Research Institute Transcoding apparatus and method
EP1391121B1 (en) 2001-03-23 2012-08-15 Nokia Corporation Variable length coding
JP2003022485A (ja) 2001-07-10 2003-01-24 Oki Electric Ind Co Ltd 病院向け自動取引装置
US6856701B2 (en) 2001-09-14 2005-02-15 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
WO2003043346A1 (en) 2001-11-16 2003-05-22 Ntt Docomo, Inc. Image encoding method, image decoding method, image encoder, image decode, program, computer data signal, and image transmission system
US7190840B2 (en) 2002-01-07 2007-03-13 Hewlett-Packard Development Company, L.P. Transform coefficient compression using multiple scans
US7099387B2 (en) 2002-03-22 2006-08-29 Realnetorks, Inc. Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses
JP4090862B2 (ja) 2002-04-26 2008-05-28 松下電器産業株式会社 可変長符号化方法および可変長復号化方法
PT1467491E (pt) * 2002-05-02 2007-03-30 Fraunhofer Ges Forschung Codificação aritmética de coeficientes de transformação
US7376280B2 (en) 2002-07-14 2008-05-20 Apple Inc Video encoding and decoding
US7483575B2 (en) 2002-10-25 2009-01-27 Sony Corporation Picture encoding apparatus and method, program and recording medium
US6646578B1 (en) 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
US20050036549A1 (en) 2003-08-12 2005-02-17 Yong He Method and apparatus for selection of scanning mode in dual pass encoding
US7688894B2 (en) 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US7379608B2 (en) 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US7522774B2 (en) 2004-03-10 2009-04-21 Sindhara Supermedia, Inc. Methods and apparatuses for compressing digital image data
US20060078049A1 (en) 2004-10-13 2006-04-13 Nokia Corporation Method and system for entropy coding/decoding of a video bit stream for fine granularity scalability
NO322043B1 (no) 2004-12-30 2006-08-07 Tandberg Telecom As Fremgangsmate for forenklet entropikoding
US8311119B2 (en) * 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
US7609904B2 (en) 2005-01-12 2009-10-27 Nec Laboratories America, Inc. Transform coding system and method
JP2006211304A (ja) 2005-01-28 2006-08-10 Matsushita Electric Ind Co Ltd 映像符号化装置、映像復号化装置、映像符号化方法、映像復号化方法、映像符号化プログラムおよび映像復号化プログラム
US20060227865A1 (en) 2005-03-29 2006-10-12 Bhaskar Sherigar Unified architecture for inverse scanning for plurality of scanning scheme
EP1768415A1 (en) 2005-09-27 2007-03-28 Matsushita Electric Industrial Co., Ltd. Adaptive scan order of DCT coefficients and its signaling
US7933337B2 (en) * 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
US8599925B2 (en) 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US20070071331A1 (en) 2005-09-24 2007-03-29 Xiteng Liu Image compression by economical quaternary reaching method
WO2007043583A1 (ja) 2005-10-11 2007-04-19 Matsushita Electric Industrial Co., Ltd. 画像符号化装置、画像復号化装置及びこれらの方法
EP1958453B1 (en) 2005-11-30 2017-08-09 Koninklijke Philips N.V. Encoding method and apparatus applying coefficient reordering
KR100867995B1 (ko) * 2006-01-07 2008-11-10 한국전자통신연구원 동영상 데이터 인코딩/디코딩 방법 및 그 장치
US7884742B2 (en) 2006-06-08 2011-02-08 Nvidia Corporation System and method for efficient compression of digital data
US8275045B2 (en) 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
US8599926B2 (en) * 2006-10-12 2013-12-03 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
US8942292B2 (en) 2006-10-13 2015-01-27 Qualcomm Incorporated Efficient significant coefficients coding in scalable video codecs
US7369066B1 (en) 2006-12-21 2008-05-06 Lsi Logic Corporation Efficient 8×8 CABAC residual block transcode system
US8098735B2 (en) 2006-12-21 2012-01-17 Lsi Corporation Efficient 8×8 CABAC residual block decode
EP2109993B1 (de) 2006-12-27 2012-08-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und verfahren zum kodieren eines transformationskoeffizientenblockes
BRPI0720806B1 (pt) 2007-01-18 2023-03-28 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Corrente de dados de vídeo de qualidade escalonável
KR101356733B1 (ko) 2007-03-07 2014-02-05 삼성전자주식회사 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
WO2008111511A1 (ja) 2007-03-14 2008-09-18 Nippon Telegraph And Telephone Corporation 符号量推定方法、装置、そのプログラムおよび記録媒体
US7813567B2 (en) 2007-04-26 2010-10-12 Texas Instruments Incorporated Method of CABAC significance MAP decoding suitable for use on VLIW data processors
US7885473B2 (en) 2007-04-26 2011-02-08 Texas Instruments Incorporated Method of CABAC coefficient magnitude and sign decoding suitable for use on VLIW data processors
US8428133B2 (en) 2007-06-15 2013-04-23 Qualcomm Incorporated Adaptive coding of video block prediction mode
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US7535387B1 (en) 2007-09-10 2009-05-19 Xilinx, Inc. Methods and systems for implementing context adaptive binary arithmetic coding
US8204327B2 (en) 2007-10-01 2012-06-19 Cisco Technology, Inc. Context adaptive hybrid variable length coding
US20090273796A1 (en) 2008-04-30 2009-11-05 Kodak Graphic Communications Canada Company Peeling imaged media from a substrate
KR101394153B1 (ko) 2007-12-11 2014-05-16 삼성전자주식회사 양자화 방법 및 장치, 역양자화 방법 및 장치
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
US8977064B2 (en) 2008-02-13 2015-03-10 Qualcomm Incorporated Rotational transcoding for JPEG or other coding standards
KR101375668B1 (ko) 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
EP2154894A1 (en) 2008-08-15 2010-02-17 Thomson Licensing Video coding with coding of the locations of significant coefficients in a block of coefficients
US7932843B2 (en) * 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
EP2182732A1 (en) 2008-10-28 2010-05-05 Panasonic Corporation Switching between scans in image coding
CA2745314A1 (en) 2008-12-03 2010-06-10 Nokia Corporation Switching between dct coefficient coding modes
US8004431B2 (en) 2008-12-09 2011-08-23 Qualcomm Incorporated Fast parsing of variable-to-fixed-length codes
WO2010070897A1 (ja) 2008-12-16 2010-06-24 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路
KR20110106402A (ko) 2009-01-27 2011-09-28 톰슨 라이센싱 비디오 인코딩 및 디코딩에서 변환 선택을 위한 방법 및 장치
JP5004986B2 (ja) 2009-03-19 2012-08-22 キヤノン株式会社 スキャン変換装置及び画像符号化装置、並びにそれらの制御方法
JP5302769B2 (ja) 2009-05-14 2013-10-02 キヤノン株式会社 スキャン変換装置及び画像符号化装置及びそれらの制御方法
WO2010143853A2 (ko) 2009-06-07 2010-12-16 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 장치
KR20100136890A (ko) 2009-06-19 2010-12-29 삼성전자주식회사 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법
WO2011002914A1 (en) 2009-06-30 2011-01-06 Massachusetts Institute Of Technology System and method for providing high throughput entropy coding using syntax element partitioning
US8218645B2 (en) 2009-07-17 2012-07-10 Nec Corporation Method and apparatus for encoding and decoding by wavelet transform
US8619866B2 (en) 2009-10-02 2013-12-31 Texas Instruments Incorporated Reducing memory bandwidth for processing digital image data
US8477845B2 (en) 2009-10-16 2013-07-02 Futurewei Technologies, Inc. Predictive adaptive scan ordering for video coding
KR101457894B1 (ko) 2009-10-28 2014-11-05 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
KR20110045949A (ko) 2009-10-28 2011-05-04 삼성전자주식회사 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치
TW201119407A (en) 2009-11-19 2011-06-01 Thomson Licensing Method for coding and method for reconstruction of a block of an image
WO2011087908A1 (en) 2010-01-15 2011-07-21 Thomson Licensing Video coding using compressive sensing
US8588536B2 (en) 2010-02-22 2013-11-19 Texas Instruments Incorporated Guaranteed-rate tiled image data compression
US20110243220A1 (en) 2010-04-05 2011-10-06 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image and method and apparatus for decoding image using adaptive coefficient scan order
DK3435674T3 (da) 2010-04-13 2023-08-21 Ge Video Compression Llc Kodning af signifikanskort og transformationskoefficientblokke
US9215470B2 (en) 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
PL3104616T3 (pl) 2010-07-09 2017-10-31 Samsung Electronics Co Ltd Urządzenie do entropijnego dekodowania współczynników przekształcenia
US9591320B2 (en) * 2010-07-15 2017-03-07 Texas Instruments Incorporated Context and bypass encoding video
US20120027081A1 (en) 2010-07-30 2012-02-02 Cisco Technology Inc. Method, system, and computer readable medium for implementing run-level coding
US9154801B2 (en) 2010-09-30 2015-10-06 Texas Instruments Incorporated Method and apparatus for diagonal scan and simplified coding of transform coefficients
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
US20120163472A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Efficiently coding scanning order information for a video 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
SG191869A1 (en) 2011-01-07 2013-08-30 Agency Science Tech & Res Method and an apparatus for coding an image
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
US20120207400A1 (en) 2011-02-10 2012-08-16 Hisao Sasai Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US8861599B2 (en) 2011-03-08 2014-10-14 Sony Corporation Context reduction for last transform position coding
US10397577B2 (en) 2011-03-08 2019-08-27 Velos Media, Llc Inverse scan order for significance map coding of transform coefficients in video coding
US8861593B2 (en) 2011-03-15 2014-10-14 Sony Corporation Context adaptation within video coding modules
US8446301B2 (en) 2011-04-15 2013-05-21 Research In Motion Limited Methods and devices for coding and decoding the position of the last significant coefficient
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
US9392301B2 (en) 2011-07-01 2016-07-12 Qualcomm Incorporated Context adaptive entropy coding for non-square blocks in video coding
EP4391545A3 (en) 2012-01-20 2024-10-02 GE Video Compression, LLC Transform coefficient coding

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105723714B (zh) * 2013-10-11 2019-04-16 黑莓有限公司 用于在跳过变换的情况下对块的符号编码
CN105723714A (zh) * 2013-10-11 2016-06-29 黑莓有限公司 用于在跳过变换的情况下对块的符号编码
CN106663085A (zh) * 2014-08-08 2017-05-10 高通股份有限公司 用于再使用变换结构用于多分区变换的系统和方法
CN107124915A (zh) * 2014-10-06 2017-09-01 高通股份有限公司 用于调色板模式译码的对角线副本
US11425426B2 (en) 2017-01-31 2022-08-23 Industry Academy Cooperation Foundation Of Sejong University Method and apparatus for encoding/decoding image
CN110235445A (zh) * 2017-01-31 2019-09-13 世宗大学校产学协力团 影像编码/解码方法及装置
US11882315B2 (en) 2017-01-31 2024-01-23 Industry Academy Cooperation Foundation Of Sejong University Method and apparatus for encoding/decoding image
CN106991391A (zh) * 2017-03-30 2017-07-28 理光图像技术(上海)有限公司 文档处理装置以及文档处理和识别系统
CN108664835A (zh) * 2017-04-02 2018-10-16 田雪松 一种编码图案有效性的识别方法和识别装置
CN115379220A (zh) * 2018-08-22 2022-11-22 寰发股份有限公司 转换系数编码或解码的方法与装置
CN109831670A (zh) * 2019-02-26 2019-05-31 北京大学深圳研究生院 一种反量化方法、系统、设备及计算机可读介质
CN109831670B (zh) * 2019-02-26 2020-04-24 北京大学深圳研究生院 一种反量化方法、系统、设备及计算机可读介质
CN111988617A (zh) * 2019-05-22 2020-11-24 腾讯美国有限责任公司 视频解码方法和装置以及计算机设备和存储介质

Also Published As

Publication number Publication date
JP2014527358A (ja) 2014-10-09
RU2562381C1 (ru) 2015-09-10
BR112014002770A2 (pt) 2017-02-21
CN103718554B (zh) 2017-03-15
US9106913B2 (en) 2015-08-11
MY193779A (en) 2022-10-27
BR112014002770B1 (pt) 2022-08-23
CA2844138C (en) 2017-09-12
AU2012294683A1 (en) 2014-02-20
WO2013022748A1 (en) 2013-02-14
CA2844138A1 (en) 2013-02-14
ZA201401626B (en) 2017-01-25
AU2012294683B2 (en) 2015-11-19
KR101656964B1 (ko) 2016-09-12
US20130058407A1 (en) 2013-03-07
IL230364A (en) 2017-06-29
MY194171A (en) 2022-11-16
EP2740269A1 (en) 2014-06-11
MX2014001422A (es) 2014-03-21
KR20140046046A (ko) 2014-04-17
JP5951772B2 (ja) 2016-07-13

Similar Documents

Publication Publication Date Title
CN103718554A (zh) 用于视频译码的变换系数的译码
JP6599489B2 (ja) ビデオコーディングのための変換係数のコーディング
CN103238326B (zh) 使用变换系数的基于函数的扫描次序的视频译码
CN103299620B (zh) 在视频译码中使用最可能扫描次序对用于视频块的扫描次序信息进行有效译码
US20120121011A1 (en) Parallel context calculation in video coding
CN105191307A (zh) 在视频译码过程中用于系数级别译码的莱斯参数更新
CN103636223A (zh) 用于视频译码的多区扫描次序
CN103959779A (zh) 在视频译码中用于自适应环路滤波和样本自适应偏移的基于最大译码单元(lcu)或分区的语法
CN103891293A (zh) 用于色度分量的自适应环路滤波
CN104025603A (zh) 最后有效系数的位置的渐进式译码
CN105474641A (zh) 视频译码过程中用于系数层级译码的莱斯(rice)参数初始化
CN103703776A (zh) 在视频译码中的系数扫描
CN104067524A (zh) 具有精简的初始化值集合的上下文自适应熵译码
CN103636224A (zh) 用于视频压缩中的系数等级译码的上下文
CN104205832A (zh) 用于视频译码的变换系数译码中的群组旗标
CN104247417A (zh) 用于视频译码中的解块滤波器的β偏移控制
CN103650514A (zh) 使用vlc码字来译码语法元素

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1191483

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20171106

Address after: Dublin, Ireland

Patentee after: Verona Media International Limited

Address before: American California

Patentee before: Qualcomm Inc.

TR01 Transfer of patent right
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1191483

Country of ref document: HK

TR01 Transfer of patent right

Effective date of registration: 20211013

Address after: California, USA

Patentee after: QUALCOMM Inc.

Address before: Ai Erlandubailin

Patentee before: Willow Media International Ltd.

TR01 Transfer of patent right