CN104041033A - 确定在视频译码中用于译码变换系数数据的上下文 - Google Patents

确定在视频译码中用于译码变换系数数据的上下文 Download PDF

Info

Publication number
CN104041033A
CN104041033A CN201380005229.8A CN201380005229A CN104041033A CN 104041033 A CN104041033 A CN 104041033A CN 201380005229 A CN201380005229 A CN 201380005229A CN 104041033 A CN104041033 A CN 104041033A
Authority
CN
China
Prior art keywords
sub
block
decoding
conversion coefficient
context
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
CN201380005229.8A
Other languages
English (en)
Other versions
CN104041033B (zh
Inventor
瓦迪姆·谢廖金
霍埃尔·索赖罗哈斯
马尔塔·卡切维奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104041033A publication Critical patent/CN104041033A/zh
Application granted granted Critical
Publication of CN104041033B publication Critical patent/CN104041033B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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
    • 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/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • H03M7/4012Binary arithmetic codes
    • H03M7/4018Context adapative binary arithmetic codes [CABAC]

Abstract

在一个实例中,一种用于译码视频数据的装置包括视频译码器,所述视频译码器经配置以:确定当前子块的一或多个相邻子块的经译码的子块旗标的值;基于所述经译码的子块旗标的所述值来确定用于译码所述当前子块的变换系数的上下文;及使用所述经确定上下文熵译码所述变换系数。

Description

确定在视频译码中用于译码变换系数数据的上下文
本申请案主张2012年1月13日申请的第61/586,668号美国临时申请案、2012年1月19日申请的第61/588,595号美国临时申请案和2012年2月9日申请的第61/597,097号美国临时申请案的权益,所述申请案中的每一者的全部内容特此以引用的方式并入。
技术领域
本发明涉及视频译码。
背景技术
数字视频能力可并入到广泛范围的装置中,所述装置包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板型计算机、电子书阅读器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏机、蜂窝式或卫星无线电电话、所谓的“智能型手机”、视频电话会议装置、视频串流装置等。数字视频装置实施视频压缩技术,例如以下各者中描述的技术:由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分(高级视频译码(AVC))定义的标准、目前在开发中的高效率视频译码(HEVC)标准,和这些标准的扩展。视频装置可通过实施所述视频压缩技术而较有效率地发射、接收、编码、解码和/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测,以减少或移除视频序列中所固有的冗余。对于基于块的视频译码而言,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块(其还可被称作树块、译码单元(CU)和/或译码节点)。使用相对于同一图片中的相邻块中的参考样本的空间预测来编码图片的帧内译码(I)切片中的视频块。图片的帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间预测或时间预测导致用于待译码块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量和指示经译码块与预测性块之间的差的残余数据来编码帧间译码块。根据帧内译码模式和残余数据来编码帧内译码块。为进行进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,可接着量化残余变换系数。可扫描最初布置成二维阵列的经量化的变换系数以便产生变换系数的一维向量,且可应用熵译码以实现更进一步压缩。
发明内容
一股来说,本发明描述关于确定用于熵译码(例如,使用上下文自适应二进制算术译码(CABAC))视频数据的上下文的技术。CABAC译码大体上涉及确定当译码各种语法元素的二进制表示时的上下文。语法元素的实例包括用于变换系数的数据,例如,指示变换系数是否有效的数据、有效的变换系数的正负号,和有效的变换系数的水平值。变换系数大体上对应于例如变换单元(TU)的变换块的系数。本发明描述用于基于变换块的变换系数在其中出现的区域来确定用于译码变换系数的上下文的技术。
在一个实例中,一种译码视频数据的方法包括基于视频块的变换系数在其中出现的区域来确定用于译码所述视频块的所述变换系数的上下文,及使用所述经确定上下文来熵译码所述变换系数。
在另一实例中,一种用于译码视频数据的装置包括视频译码器,所述视频译码器经配置以基于视频块的变换系数在其中出现的区域来确定用于译码所述视频块的所述变换系数的上下文,且使用所述经确定上下文来熵译码所述变换系数。
在另一实例中,一种用于译码视频数据的装置包括用于基于视频块的变换系数在其中出现的区域来确定用于译码所述视频块的所述变换系数的上下文的装置,及用于使用所述经确定上下文来熵译码所述变换系数的装置。
在另一实例中,一种计算机可读存储媒体具有存储于其上的指令,所述指令在被执行时致使处理器基于视频块的变换系数在其中出现的区域来确定用于译码所述视频块的所述变换系数的上下文,且使用所述经确定上下文来熵译码所述变换系数。
在另一实例中,一种解码视频数据的方法包括:确定视频块的变换系数是否为DC变换系数;在所述变换系数经确定为所述视频块的所述DC变换系数时,在不考虑所述视频块的大小的情况下基于为所述DC变换系数的所述变换系数来确定用于解码所述变换系数的上下文;及使用所述经确定上下文熵解码所述变换系数。
在另一实例中,一种用于解码视频数据的装置包括视频解码器,所述视频解码器经配置以:确定视频块的变换系数是否为DC变换系数;在所述变换系数经确定为所述视频块的所述DC变换系数时,在不考虑所述视频块的大小的情况下基于为所述DC变换系数的所述变换系数来确定用于解码所述变换系数的上下文;及使用所述经确定上下文熵解码所述变换系数。
在另一实例中,一种用于解码视频数据的装置包括:用于确定视频块的变换系数是否为DC变换系数的装置;用于在所述变换系数经确定为所述视频块的所述DC变换系数时在不考虑所述视频块的大小的情况下基于为所述DC变换系数的所述变换系数来确定用于解码所述变换系数的上下文的装置;及用于使用所述经确定上下文熵解码所述变换系数的装置。
在另一实例中,一种计算机可读存储媒体具有存储于其上的指令,所述指令在被执行时致使处理器进行如下操作:确定视频块的变换系数是否为DC变换系数;在所述变换系数经确定为所述视频块的所述DC变换系数时,在不考虑所述视频块的大小的情况下基于为所述DC变换系数的所述变换系数来确定用于解码所述变换系数的上下文;及使用所述经确定上下文熵解码所述变换系数。
在另一实例中,一种编码视频数据的方法包括:确定视频块的变换系数是否为DC变换系数;在所述变换系数经确定为所述视频块的所述DC变换系数时,在不考虑所述视频块的大小的情况下基于为所述DC变换系数的所述变换系数来确定用于编码所述变换系数的上下文;及使用所述经确定上下文熵编码所述变换系数。
在另一实例中,一种用于编码视频数据的装置包括视频编码器,所述视频编码器经配置以:确定视频块的变换系数是否为DC变换系数;在所述变换系数经确定为所述视频块的所述DC变换系数时,在不考虑所述视频块的大小的情况下基于为所述DC变换系数的所述变换系数来确定用于编码所述变换系数的上下文;及使用所述经确定上下文熵编码所述变换系数。
在另一实例中,一种用于编码视频数据的装置包括:用于确定视频块的变换系数是否为DC变换系数的装置;用于在所述变换系数经确定为所述视频块的所述DC变换系数时在不考虑所述视频块的大小的情况下基于为所述DC变换系数的所述变换系数来确定用于编码所述变换系数的上下文的装置;及用于使用所述经确定上下文熵编码所述变换系数的装置。
在另一实例中,一种计算机可读存储媒体具有存储于其上的指令,所述指令在被执行时致使处理器进行如下操作:确定视频块的变换系数是否为DC变换系数;在所述变换系数经确定为所述视频块的所述DC变换系数时,在不考虑所述视频块的大小的情况下基于为所述DC变换系数的所述变换系数来确定用于编码所述变换系数的上下文;及使用所述经确定上下文熵编码所述变换系数。
在另一实例中,一种解码视频数据的方法包括:确定当前子块的一或多个相邻子块的经译码的子块旗标的值;基于所述经译码的子块旗标的所述值来确定用于解码所述当前子块的变换系数的上下文;及使用所述经确定上下文熵解码所述变换系数。
在另一实例中,一种用于解码视频数据的装置包括视频解码器,所述视频解码器经配置以:确定当前子块的一或多个相邻子块的经译码的子块旗标的值;基于所述经译码的子块旗标的所述值来确定用于解码所述当前子块的变换系数的上下文;及使用所述经确定上下文熵解码所述变换系数。
在另一实例中,一种用于解码视频数据的装置包括:用于确定当前子块的一或多个相邻子块的经译码的子块旗标的值的装置;用于基于所述经译码的子块旗标的所述值来确定用于解码所述当前子块的变换系数的上下文的装置;及用于使用所述经确定上下文熵解码所述变换系数的装置。
在另一实例中,一种计算机可读存储媒体具有存储于其上的指令,所述指令在被执行时致使处理器进行如下操作:确定当前子块的一或多个相邻子块的经译码的子块旗标的值;基于所述经译码的子块旗标的所述值来确定用于解码所述当前子块的变换系数的上下文;及使用所述经确定上下文熵解码所述变换系数。
在另一实例中,一种编码视频数据的方法包括:确定当前子块的一或多个相邻子块的经译码的子块旗标的值;基于所述经译码的子块旗标的所述值来确定用于编码所述当前子块的变换系数的上下文;及使用所述经确定上下文熵编码所述变换系数。
在另一实例中,一种用于编码视频数据的装置包括视频编码器,所述视频编码器经配置以:确定当前子块的一或多个相邻子块的经译码的子块旗标的值;基于所述经译码的子块旗标的所述值来确定用于编码所述当前子块的变换系数的上下文;及使用所述经确定上下文熵编码所述变换系数。
在另一实例中,一种用于编码视频数据的装置包括:用于确定当前子块的一或多个相邻子块的经译码的子块旗标的值的装置;用于基于所述经译码的子块旗标的所述值来确定用于编码所述当前子块的变换系数的上下文的装置;及用于使用所述经确定上下文熵编码所述变换系数的装置。
在另一实例中,一种计算机可读存储媒体具有存储于其上的指令,所述指令在被执行时致使处理器进行如下操作:确定当前子块的一或多个相邻子块的经译码的子块旗标的值;基于所述经译码的子块旗标的所述值来确定用于编码所述当前子块的变换系数的上下文;及使用所述经确定上下文熵编码所述变换系数。
在附图和以下描述中阐述一或多个实例的细节。其它特征、目标和优点将从所述描述和图式及从权利要求书显而易见。
附图说明
图1为说明可利用本发明中所描述的帧间预测技术的实例视频编码和解码系统的方框图。
图2为说明可实施本发明中所描述的帧间预测技术的实例视频编码器的方框图。
图3为说明可实施本发明中所描述的帧间预测技术的实例视频解码器的方框图。
图4为说明视频块中的变换系数与和所述视频块相关联的有效性映射之间的关系的概念图。
图5A到图5D为说明使用z字形扫描次序、水平扫描次序、垂直扫描次序和对角线扫描次序扫描的视频数据块的实例的概念图。
图6为说明划分为子块以用于变换系数译码的实例视频块的概念图。
图7为说明实例五点支持的概念图,所述五点支持用以定义使用反向对角线扫描次序扫描的视频块中的系数的有效性映射的上下文模型。
图8A和图8B为说明五点支持内的上下文相依性的概念图。
图9A和图9B为说明视频块到两个或两个以上区域的实例划分的概念图。
图10为说明针对视频块的每一区域的基于邻域或基于位置的上下文的实例指派的概念图。
图11为说明针对视频块的每一区域的上下文偏移的实例指派的概念图。
图12为说明视频块基于与现有上下文模型相关的TU大小的到两个或两个以上区域的实例内嵌式划分的概念图。
图13A和图13B为说明视频块到两个或两个以上区域的实例划分的概念图。
图14A和图14B为说明针对视频块的每一区域的上下文偏移的实例指派的概念图。
图15为说明用于编码当前块的实例方法的流程图。
图16为说明用于解码视频数据的当前块的实例方法的流程图。
具体实施方式
一股来说,本发明描述关于确定用于视频数据的熵译码(例如,使用上下文自适应二进制算术译码(CABAC))的上下文的技术。CABAC译码通常涉及确定当译码各种语法元素的二进制表示时的上下文。语法元素包括(例如)用于变换系数的数据,例如,指示变换系数是否有效的数据、有效的变换系数的正负号,和有效的变换系数的水平值。变换系数大体上对应于例如变换单元(TU)的变换块的系数。本发明描述用于基于变换块的变换系数在其中出现的区域来确定用于译码变换系数的上下文的技术。
一股来说,根据本发明的技术,视频译码器可经配置以基于变换系数在其中出现的区域来确定用于译码变换系数的上下文,且接着使用经确定上下文来熵译码变换系数。可以多种方式将视频块划分为区域。图9A和图11说明将视频块划分为包括一或多个左上子块(例如,4×4个子块)的第一区域和包括在所述第一区域外部的子块的第二区域的实例。图9B说明沿对角线方向将视频块划分为区域的实例。图10说明将视频块划分为四等分且将左上四等分进一步划分为包括左上四等分的左上部分的子块的第一子区域和包括所述左上四等分的在所述第一子区域外部的子块的第二子区域的实例。图12说明将视频块划分为对应于视频块大小(例如,4×4、8×8、16×16和32×32)的区域的实例。图13A说明将视频块划分为水平矩形区域的实例。图13B说明将视频块划分为垂直矩形区域的实例。以下更详细地描述这些图。
在各种实例中,视频译码器可经配置而以多种方式(例如,基于变换系数在其中出现的区域)来确定用于译码变换系数的上下文。举例来说,视频译码器可经配置而使用一些区域的基于位置的上下文信息或其它区域的基于邻域的上下文信息来确定上下文。在一些实例中,特定区域内的所有变换系数可使用基于所述区域所确定的同一上下文来译码。在其它实例中,可基于上下文邻域来确定一区域内的变换系数的上下文。在另外实例中,视频译码器可基于变换系数在其中出现的区域来确定待应用于上下文的偏移。即,所述区域中的每一者可与待应用于上下文的特定上下文偏移相关联。
本发明的技术可减少带宽消耗,进而导致在译码变换系数的语法元素时位的节省。所述语法元素可包括以下各者中的任一者或其全部:有效系数旗标(其指示对应变换系数是否有效,即,非零);有效系数的正负号;有效系数是否具有大于1的绝对值的指示;具有大于1的绝对值的有效系数是否具有大于2的绝对值的指示;及/或具有大于2的绝对值的系数的剩余水平值。
图1为说明可利用本发明中所描述的技术的实例视频编码和解码系统10的方框图。如图1中所展示,系统10包括源装置12,源装置12产生稍后待由目的地装置14解码的经编码视频数据。源装置12和目的地装置14可包含广泛范围的装置中的任一者,包括桌上型计算机、笔记型(即,膝上型)计算机、平板型计算机、机顶盒、电话手机(例如,所谓“智能型”手机)、所谓“智能型”板、电视、摄影机、显示装置、数字媒体播放器、视频游戏机、视频串流装置,或其类似者。在一些情形下,源装置12和目的地装置14可经装备以进行无线通信。
目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包含能够将经编码的视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一实例中,链路16可包含用以使源装置12能够将经编码视频数据直接实时发射到目的地装置14的通信媒体。可根据通信标准(例如,无线通信协议)调制经编码视频数据,且将经编码视频数据发射到目的地装置14。通信媒体可包含任何无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理传输线。通信媒体可形成基于包的网络(例如,局域网、广域网或例如因特网的全球网络)的部分。通信媒体可包括路由器、交换器、基站,或可用以促进从源装置12到目的地装置14的通信的任何其它设备。
或者,经编码数据可从输出接口22输出到存储装置34。类似地,可通过输入接口从存储装置34存取经编码数据。存储装置34可包括多种分布式或本地存取的数据存储媒体中的任一者,例如,硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适数字存储媒体。在另一实例中,存储装置34可对应于可保持由源装置12产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可经由串流传输或下载从存储装置34存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包括网站服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)装置或本地磁盘驱动器。目的地装置14可经由任何标准数据连接(包括因特网连接)而存取经编码视频数据。此数据连接可包括适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器,等等),或所述两者的组合。经编码视频数据从存储装置34的传输可为串流传输、下载传输或所述两者的组合。
本发明的技术未必限于无线应用或环境。所述技术可应用于支持多种多媒体应用中的任一者的视频译码,所述应用例如:空中电视广播、有线电视发射、卫星电视发射、(例如)经由因特网的串流视频传输、供存储于数据存储媒体上的数字视频的编码、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射以支持例如视频串流、视频播放、视频广播和/或视频电话的应用。
在图1的实例中,源装置12包括视频源18、视频编码器20和输出接口22。在一些情形下,输出接口22可包括调制器/解调器(调制解调器)和/或发射器。在源装置12中,视频源18可包括源,例如,视频俘获装置(例如,摄像机)、含有先前俘获的视频的视频存档、用以从视频内容提供者接收视频的视频馈送接口,和/或用于产生计算机图形数据作为源视频的计算机图形系统,或这些源的组合。作为一个实例,如果视频源18为摄像机,则源装置12和目的地装置14可形成所谓的相机电话或视频电话。然而,一股本发明中所描述的技术可适用于视频译码,且可应用于无线和/或有线应用。
经俘获、经预先俘获或经计算机产生的视频可由视频编码器20来编码。可经由源装置12的输出接口22将经编码视频数据直接发射到目的地装置14。还可(或替代性地)将经编码视频数据存储到存储装置34上以供目的地装置14或其它装置稍后存取以用于解码和/或播放。
目的地装置14包括输入接口28、视频解码器30和显示装置32。在一些情形下,输入接口28可包括接收器和/或调制解调器。目的地装置14的输入接口28经由链路16接收经编码视频数据。经由链路16传达或在存储装置34上提供的经编码视频数据可包括由视频编码器20产生的多种语法元素,其供例如视频解码器30的视频解码器在解码视频数据时使用。所述语法元素可与在通信媒体上传输、存储于存储媒体上或存储于文件服务器上的经编码视频数据包括在一起。
显示装置32可与目的地装置14集成在一起或在目的地装置14外部。在一些实例中,目的地装置14可包括集成式显示装置且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一股来说,显示装置32向用户显示经解码视频数据,且可包含多种显示装置中的任一者,例如,液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20和视频解码器30可根据视频压缩标准(例如,目前在开发中的高效率视频译码(HEVC)标准)而操作,且可遵照HEVC测试模型(HM)。或者,视频编码器20和视频解码器30可根据例如ITU-T H.264标准或者被称作MPEG-4第10部分(高级视频译码(AVC))的其它专属或工业标准或这些标准的扩展而操作。举例来说,标准的扩展包括可缩放视频译码(SVC)、多视图视频译码(MVC)、例如译码深度信息的三维(3D)译码等。然而,本发明的技术不限于任何特定译码标准或标准扩展。视频压缩标准的其它实例包括MPEG-2和ITU-T H.263。
尽管图1中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成在一起,且可包括适当的MUX-DEMUX单元或其它硬件和软件以处置共同数据串流或单独数据串流中的音频和视频两者的编码。如果适用,则在一些实例中,MUX-DEMUX单元可遵照ITU H.223多路复用器协议,或例如用户数据报协议(UDP)的其它协议。
视频编码器20和视频解码器30各自可实施为多种合适编码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分地以软件实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且在硬件中使用一或多个处理器来执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包括于一或多个编码器或解码器中,其中任一者可集成为相应装置中的组合式编码器/解码器(编解码器)的部分。
JCT-VC正致力于HEVC标准的开发。HEVC标准化努力是基于视频译码装置的演进模型,其被称作HEVC测试模型(HM)。HM假设视频译码装置相对于根据(例如)ITU-TH.264/AVC的现有装置的若干额外能力。举例来说,尽管H.264提供九个帧内预测编码模式,但HM可提供多达三十三个帧内预测编码模式。
一股来说,HM的工作模型描述视频帧或图片可被划分成包括明度样本和色度样本两者的树块或最大译码单元(LCU)的序列。树块具有与H.264标准的宏块的用途类似的用途。切片包括按译码次序的众多连续树块。可将视频帧或图片分割成一或多个切片。每一树块可根据四叉树而分裂成译码单元(CU)。举例来说,树块(作为四叉树的根节点)可分裂成四个子节点,且每一子节点又可为上代节点,且分裂成另外四个子节点。最后未分裂的子节点(作为四叉树的叶节点)包含译码节点,即,经译码视频块。与经译码的位流相关联的语法数据可定义树块可分裂的最大次数,且还可定义译码节点的最小大小。
CU包括译码节点和与所述译码节点相关联的预测单元(PU)和变换单元(TU)。CU的大小对应于译码节点的大小,且形状必须为正方形。CU的大小的范围可从8×8个像素直到具有最大64×64个像素或大于64×64个像素的树块的大小。每一CU可含有一或多个PU和一或多个TU。与CU相关联的语法数据可描述(例如)CU到一或多个PU的分割。分割模式可在CU是被跳过还是经直接模式编码、经帧内预测模式编码还是经帧间预测模式编码之间不同。PU可分割成非正方形。与CU相关联的语法数据还可描述(例如)根据四叉树的CU到一或多个TU的分割。TU的形状可为正方形或非正方形。
HEVC标准允许实现根据TU的变换,变换可针对不同CU而不同。通常基于针对经分割LCU所定义的给定CU内的PU的大小来设定TU大小,尽管可能并非总是如此情形。TU通常具有与PU相同的大小,或小于PU。在一些实例中,可使用称为“残余四叉树”(RQT)的四叉树结构而将对应于CU的残余样本再分为更小的单元。RQT的叶节点可称作变换单元(TU)。可变换与TU相关联的像素差值以产生可量化的变换系数。
一股来说,PU包括与预测过程有关的数据。举例来说,当将PU以帧内模式编码时,所述PU可包括描述所述PU的帧内预测模式的数据。作为另一实例,当将PU以帧间模式编码时,所述PU可包括定义所述PU的运动向量的数据。定义PU的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,和/或运动向量的参考图片列表。
一股来说,TU用于变换过程和量化过程。具有一或多个PU的给定CU还可包括一或多个TU。在预测之后,视频编码器20可计算对应于PU的残余值。残余值包含像素差值,可使用TU将所述像素差值变换成变换系数,进行量化和扫描以产生串行化变换系数以用于熵译码。本发明通常使用术语“视频块”来指代CU的译码节点。在一些特定情形下,本发明还可使用术语“视频块”来指代树块(即,LCU),或CU(其包括译码节点和PU和TU)。
视频序列通常包括一系列视频帧或图片。图片群组(GOP)通常包含视频图片中的一系列的一或多个视频图片。GOP可在GOP的标头、图片中的一者或一者以上的标头中或在别处包括语法数据,所述语法数据描述包括于GOP中的数个图片。图片的每一切片可包括描述相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作,以便编码视频数据。视频块可对应于CU内的译码节点。视频块可具有固定或变化的大小,且可根据指定译码标准而在大小方面不同。
作为一实例,HM支持以各种PU大小进行预测。假定特定CU的大小为2N×2N,HM支持以2N×2N或N×N的PU大小进行帧内预测,且以2N×2N、2N×N、N×2N或N×N的对称PU大小进行帧间预测。HM还支持以2N×nU、2N×nD、nL×2N和nR×2N的PU大小的不对称分割以进行帧间预测。在不对称分割中,CU的一个方向未经分割,而另一方向分割成25%和75%。CU的对应于25%分割区的部分由“n”继之以“上”、“下”、“左”或“右”的指示来指示。因此,例如,“2N×nU”指代在水平方向上经分割而具有顶部的2N×0.5N PU和底部的2N×1.5N PU的2N×2N CU。
在本发明中,“N×N”与“N乘N”可互换地使用以指代视频块在垂直尺寸与水平尺寸方面的像素尺寸,例如,16×16个像素或16乘16个像素。一股来说,16×16块在垂直方向中将具有16个像素(y=16)且在水平方向中将具有16个像素(x=16)。同样地,N×N块通常在垂直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数值。可按行和列来布置块中的像素。此外,块未必需要在水平方向中与在垂直方向中具有相同数目个像素。举例来说,块可包含N×M个像素,其中M未必等于N。
在使用CU的PU进行帧内预测性或帧间预测性译码之后,视频编码器20可计算CU的TU的残余数据。PU可包含空间域(还称作像素域)中的像素数据,且TU可包含在将(例如)离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换的变换应用于残余视频数据之后的变换域中的系数。残余数据可对应于未经编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包括CU的残余数据的TU,且接着变换所述TU以产生CU的变换系数。
在应用任何变换以产生变换系数之后,视频编码器20可执行变换系数的量化。量化大体上指代如下过程:将变换系数量化以可能地减少用以表示所述系数的数据的量,从而提供进一步压缩。所述量化过程可减少与所述系数中的一些或全部相关联的位深度。举例来说,可在量化期间将n位值下舍入到m位值,其中n大于m。
在一些实例中,视频编码器20和视频解码器30可利用预定义扫描次序来扫描经量化的变换系数以产生可经熵编码的串行化向量。在其它实例中,视频编码器20和视频解码器30可执行自适应扫描。在扫描所述经量化变换系数以形成一维向量之后,或在扫描期间,视频编码器20可熵编码所述一维向量,例如,根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法。视频解码器30可熵解码所述系数,执行反量化过程和反变换过程以再现残余数据,且组合所述残余数据与预测性数据以产生经解码视频数据。视频编码器20还可熵编码与经编码视频数据相关联的语法元素以供视频解码器30用于解码视频数据。
为了执行CABAC,视频编码器20和视频解码器30可将上下文模型内的上下文指派给待译码的符号。所述上下文可关于(例如)符号的相邻值是否非零。根据本发明的技术,视频编码器20和/或视频解码器30可经配置以基于视频块的变换系数在其中出现的区域来确定用于熵译码(例如,熵编码或熵解码)变换系数的上下文。
视频编码器20和视频解码器30可经配置而具有视频块(例如,变换单元)的各区域的定义。举例来说,视频编码器20和视频解码器30可经配置而具有各种大小的视频块的区域的定义。在一些实例中,视频编码器20可确定借以将视频块划分为区域的方法和表示将如何划分所述块的码数据。所述区域中的每一者可与用于确定出现于相应区域内的变换系数的上下文的相应值和/或技术相关联。
举例来说,视频块的特定区域可与基于邻域的上下文确定方案相关联,而视频块的另一区域可与基于位置的上下文确定方案相关联。作为另一实例,视频块的一区域可与偏移相关联,所述偏移将被应用于经确定用于位于所述区域中的变换系数的上下文。同一视频块的不同区域可与用于计算上下文的不同偏移值和/或不同技术相关联。
作为一个实例,视频块可包括两个不同区域:第一区域,其包括视频块的左上隅角中的一或多个子块(例如,4×4个变换系数子块);及第二区域,其包括视频块的未包括于第一区域中的其它子块。更具体来说,视频编码器20和视频解码器30可确定子块的x坐标和y坐标,且通过比较x与y的总和与阈值来确定所述子块是在第一区域中还是在第二区域中。如果x与y的总和小于所述阈值,则视频编码器20和视频解码器30可确定所述子块在第一区域中,且否则视频编码器20和视频解码器30可确定所述子块在第二区域中。视频编码器20和视频解码器30可基于视频块的系数在第一区域的子块中还是在第二区域的子块中来确定用于所述系数的上下文。
举例来说,在一些区域中,所述上下文可为固定上下文,其中视频编码器20和视频解码器30使用所述固定上下文来译码所述区域中的变换系数。即,视频编码器20和视频解码器30可将同一上下文应用于所述区域中的所有变换系数。或者,所述区域中的子块中的每一者可与确定上下文的同一方法(例如,固定上下文方法)相关联,但区域中的不同子块可具有不同固定上下文。视频编码器20和视频解码器30可基于子块在区域中的位置来确定所述子块的固定上下文。作为又一实例,可将固定上下文指派给区域内的个别变换系数位置。即,视频编码器20和视频解码器30可基于变换系数在视频块、子块和/或区域中的位置来确定用于译码区域内的变换系数的上下文。
作为另一实例,在一些区域中,可根据相邻子块来定义上下文模型。举例来说,视频编码器20和视频解码器30可经配置而具有用于特定区域内的每一子块的上下文的集合。即,区域中的每一子块可与上下文的一相应集合相关联。视频编码器20和视频解码器30可针对相应子块中的每一变换系数从上下文的集合选择适当上下文。用于一个子块的上下文的集合可不同于用于另一子块的上下文的集合。
作为又一实例,用于区域中的每一子块的个别旗标可经译码而表示在对应子块中是否存在任何有效(即,非零)系数。这些旗标可称作经译码的子块旗标。所述旗标可用于选择用于译码子块中的变换系数的上下文。举例来说,视频编码器20和视频解码器30可基于一或多个相邻子块的旗标的值来确定用于译码子块中的变换系数的上下文。举例来说,所述旗标可具有为0或1的二进制值,且视频编码器20和视频解码器30可基于右边相邻的子块和下方相邻的子块(还称作底部相邻的子块)的旗标值的总和来确定用于译码当前子块中的变换系数的上下文。还可将其它公式用于计算子块的上下文。
视频编码器20和视频解码器30可经配置以单独地或按任何组合实施本发明的技术中的任一者或全部。这些技术的一个实例组合为视频编码器20和视频解码器30可经配置以将变换单元划分为子块(例如,4×4个像素子块),且接着基于特定变换系数在子块中的位置且基于用于一或多个相邻子块(例如,左边相邻的子块和底部相邻的子块)的经译码块旗标来确定用于译码所述子块的所述变换系数的数据的上下文。
视频编码器20和视频解码器30可经配置以使用在这些各种实例中所确定的上下文来译码表示变换系数的一或多个语法元素。变换系数可包括各种类型的语法元素。举例来说,变换系数可包括significant_coeff_flag,其指示变换系数是否具有非零值(即,为有效的)。如果变换系数有效,则变换系数可包括指示变换系数的值是大于还是小于0的正负号值(例如,coeff_sign_flag),和指示变换系数的绝对值是否大于1的值(例如,coeff_abs_level_greater1_flag)。如果变换系数具有大于1的绝对值,则变换系数可包括指示变换系数是否具有大于2的绝对值的值(例如,coeff_abs_level_greater2_flag)。如果变换系数具有大于2的绝对值,则变换系数可包括指示变换系数的绝对值减去二的值(例如,coeff_abs_level_remaining)。
视频编码器20和视频解码器30的CABAC译码器可使用根据本发明的技术所确定的上下文来译码这些值中的任一者或全部。额外或替代性地,视频编码器20和视频解码器30可使用根据本发明的技术所确定的上下文来译码指示最后有效系数的位置的数据(例如,last_significant_coeff_x_prefix、last_significant_coeff_x_suffix、last_significant_coeff_y_prefix和last_significant_coeff_y_suffix)。
视频编码器20和视频解码器30可经配置以单独地或按任何组合执行本发明中所描述的技术中的任何一者或一者以上。以下描述用于基于视频块的变换系数在其中出现的区域来确定用于译码视频块的变换系数的上下文且使用所述经确定上下文来熵译码变换系数的各种技术。以下参看图9到图14来描述所述技术的实例。一股来说,使用经确定上下文来译码变换系数包括使用经确定上下文来译码变换系数的一或多个语法元素。确定上下文大体上包括确定变换系数在其中出现的区域且基于所述区域来确定上下文。举例来说,所述区域可与特定上下文或上下文的集合相关联,和/或与用于确定上下文的一或多种技术相关联。
图2为说明可实施本发明中所描述的帧间预测技术的实例视频编码器20的方框图。视频编码器20可执行视频切片内的视频块的帧内译码和帧间译码。帧内译码依赖于空间预测以减少或移除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测以减少或移除视频序列的邻近帧或图片内的视频的时间冗余。帧内模式(I模式)可指代若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)的帧间模式可指代若干基于时间的压缩模式中的任一者。
在图2的实例中,视频编码器20包括模式选择单元35、预测处理器41、参考图片存储器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。预测处理器41包括运动估计单元42、运动补偿单元44和帧内预测单元46。对于视频块重构而言,视频编码器20还包括反量化单元58、反变换单元60和求和器62。还可包括解块滤波器(图2中未展示)以对块边界滤波从而移除来自经重构视频的成块效应假影。视需要,所述解块滤波器将通常对求和器62的输出滤波。除解块滤波器以外,还可使用额外的环路滤波器(环路内或环路后)。
如图2中所展示,视频编码器20接收视频数据,且模式选择单元35将所述数据分割为视频块。此分割还可包括分割为切片、瓦片(tile)或其它较大单元,以及(例如)根据LCU和CU的四叉树结构的视频块分割。视频编码器20大体上说明了编码待编码的视频切片内的视频块的组件。可将所述切片划分为多个视频块(且有可能划分为视频块的集合,其称为瓦片)。预测处理器41可基于误差结果(例如,译码速率和失真的水平)针对当前视频块选择多个可能译码模式中的一者,例如,多个帧内译码模式中的一者或多个帧间译码模式中的一者。预测处理器41可将所得帧内或帧间译码块提供到求和器50以产生残余块数据且提供到求和器62以重构经编码块以用作参考图片。
预测处理器41内的帧内预测单元46可执行当前视频块相对于处于与待译码的当前块相同的帧或切片中的一或多个相邻块的帧内预测性译码,以提供空间压缩。预测处理器41内的运动估计单元42和运动补偿单元44执行相对于一或多个参考图片中的一或多个预测性块的当前视频块的帧间预测性译码,以提供时间压缩。
运动估计单元42可经配置以根据视频序列的预定模式确定视频切片的帧间预测模式。所述预定模式可将序列中的视频切片指定为P切片、B切片或GPB切片。运动估计单元42和运动补偿单元44可高度集成,但出于概念性目的而单独加以说明。由运动估计单元42执行的运动估计为产生运动向量的过程,所述运动向量估计视频块的运动。运动向量(例如)可指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的位移。
预测性块为被发现与待译码的视频块的PU在像素差方面压缩紧密匹配的块,可通过绝对差总和(SAD)、平方差总和(SSD)或其它差量度来确定所述像素差。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分率像素位置的值。因此,运动估计单元42可执行相对于全像素位置和分数像素位置的运动搜索,且以分数像素精度输出运动向量。
运动估计单元42通过比较经帧间译码切片中的视频块的PU的位置与参考图片的预测性块的位置来计算所述PU的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),所述列表中的每一者识别存储于参考图片存储器64中的一或多个参考图片。运动估计单元42将所计算的运动向量发送到熵编码单元56和运动补偿单元44。
由运动补偿单元44执行的运动补偿可涉及基于由运动估计确定的运动向量来提取或产生预测性块,其有可能执行子像素精度的内插。一旦接收到当前视频块的PU的运动向量,运动补偿单元44便可在参考图片列表中的一者中找到运动向量所指向的预测性块。运动补偿单元44还可产生与视频块和视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。
如以上所描述,作为由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可对当前块进行帧内预测。具体来说,帧内预测单元46可确定用以编码当前块的帧内预测模式。在一些实例中,帧内预测单元46可(例如)在单独编码回合期间使用各种帧内预测模式来编码当前块,且帧内预测单元46(或在一些实例中,为模式选择单元35)可从经测试模式中选择要使用的适当帧内预测模式。举例来说,帧内预测单元46可使用对各种经测试的帧内预测模式的速率-失真分析而计算速率-失真值,且在经测试模式当中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析通常确定经编码块与经编码以产生所述经编码块的原始的未经编码的块之间的失真(或误差)的量,以及用以产生经编码块的位速率(即,位数目)。帧内预测单元46可从失真和速率计算各种经编码块的比率以确定哪一帧内预测模式展现块的最佳速率-失真值。
在任一情形下,在选择用于块的帧内预测模式之后,帧内预测单元46可将指示用于块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可根据本发明的技术来编码指示选定帧内预测模式的信息。视频编码器20可在经发射的位流配置数据中包括各种块的编码上下文的定义及将用于所述上下文中的每一者的最有可能的帧内预测模式、帧内预测模式索引表和经修改的帧内预测模式索引表的指示,所述位流配置数据可包括多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(还称作码字映射表)。
在预测处理器41经由帧间预测或帧内预测产生用于当前视频块的预测性块之后,视频编码器20通过从当前视频块减去预测性块而形成残余视频块。求和器50表示执行此计算的单元。残余块中的残余视频数据可包括于一或多个TU中且应用于变换处理单元52。变换处理单元52通常将残余视频数据从像素域转换到变换域(例如,频域)。变换处理单元52可使用例如离散余弦变换(DCT)或概念上类似的变换的变换将残余视频数据变换为残余变换系数。或者,变换处理单元52可将二维(2D)变换(在水平方向和垂直方向两者上)应用于TU中的残余数据。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化所述变换系数以进一步减少位速率。所述量化过程可减少与所述系数中的一些或全部相关联的位深度。可通过调整量化参数而修改量化的程度。
在量化之后,熵编码单元56熵编码经量化的变换系数。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法或技术。所述熵编码大体上包括扫描经量化的变化系数(本文中为了简要起见大体上简称为“变换系数”)一或多次,及在每一扫描期间熵译码用于变换系数的语法元素,例如,指示对应变换系数是否有效、是否具有大于1或2的绝对值、有效系数的绝对值(或其一部分,例如,大于2的部分)和正负号的语法元素。
根据本发明的技术,熵编码单元56可基于视频块(例如,变换单元)的变换系数在其中出现的区域来确定用于译码(即,熵编码)所述视频块的变换系数的上下文。举例来说,在扫描期间,熵编码单元56可确定变换系数在视频块中的位置,且确定所述位置出现于哪一区域中。另外,熵编码单元56可包括定义视频块的区域的配置数据。
举例来说,熵编码单元56可经配置有一阈值。在此实例中,熵编码单元56可确定定义变换系数的位置的x坐标和y坐标是否具有大于所述阈值的总和(即,x+y)。在此实例中,第一区域对应于x坐标值和y坐标值的总和小于所述阈值的变换系数,且第二区域对应于x坐标值和y坐标值的总和大于或等于所述阈值的变换系数。或者,可使用多个阈值来定义多个区域。在图9B中展示以此方式定义的区域的实例,以下更详细地描述图9B。
作为另一实例,熵编码单元56可经配置以确定子块(包括变换系数)在视频块中的位置。子块可对应于4×4变换系数子块。即,视频块可包括多个非重叠子块,每一非重叠子块具有相同的大小,例如,4×4个变换系数。为了确定子块的区域,熵编码单元56可比较子块(例如,子块的特定变换系数,例如,子块的左上变换系数)的x坐标和y坐标的总和与阈值。x坐标和y坐标的总和是否小于阈值可指示子块的变换系数是包括于第一区域还是第二区域中。
举例来说,令Cij表示具有在位置(i,j)处的左上变换系数的子块的位置,其中x=i和y=j。另外,令T定义所述阈值。熵编码单元56可使用以下伪码来确定子块的变换系数在其中出现的区域:
(i+j<T)?区域1:区域2。
在此实例中,当i+j小于T时(即,子块的x坐标和y坐标的总和小于阈值),熵编码单元56确定子块的所有变换系数出现于区域1中,而当i+j大于或等于T时(即,子块的x坐标和y坐标的总和大于或等于阈值),熵编码单元56确定子块的所有变换系数出现于区域2中。以下参看图9到图14更详细地描述区域的这些和其它实例。
熵编码单元56可经配置而以各种方式基于区域来确定上下文。举例来说,熵编码单元56可使用变换系数在视频块中的位置或变换系数在其中出现的4×4子块的位置、基于变换系数在其中出现的区域来确定用于译码变换系数的上下文。
或者,可根据相邻的4×4子块来定义上下文模型。举例来说,熵编码单元56可将可用上下文的相应集合指派给每一4×4子块,且(例如)基于变换系数在子块中的位置来为子块中的待译码的当前变换系数选择上下文中的一者。可将上下文的集合指派给相应子块,以使得每一子块可具有可用上下文的不同集合。作为又一实例,熵编码单元56可将上下文计算为ctx=Right4x4SubBlockFlag+Bottom4x4SubBlockFlag。在此情形下,Right4x4SubBlockFlag表示用于右边相邻的子块的经译码的子块旗标,而Bottom4x4SubBlockFlag表示用于底部相邻的经译码的子块旗标的经译码的子块旗标。
在一些实例中,熵编码单元56可将偏移应用于用于熵编码变换系数的经确定上下文,且可进一步基于变换系数在其中出现的区域来确定待应用的偏移。即,熵编码单元56可以相同的通用方式计算用于两个或两个以上区域的系数的基本上下文,但不同区域可具有不同的对应偏移值。因此,熵编码单元56可基于区域所映射到的偏移(即,与所述区域相关联的偏移)将偏移应用于经计算的上下文值。
熵编码单元56可确定变换系数是否为DC(直流)变换系数(通常存在于变换块的左上隅角中),且基于变换系数在其中出现的区域以及所述变换系数是否为DC变换系数来选择用于译码变换系数的上下文。举例来说,熵编码单元56可使用用于专用位置的共享上下文来确定用于变换系数的上下文。即,所述共享上下文可包含应用于出现在特定位置处(例如,子块的左上隅角)的所有变换系数的同一上下文。因此,所述共享上下文可进一步包括待在译码DC变换系数而非出现于其它子块的左上位置处的非DC变换系数时应用的特定上下文的指示。
额外或替代性地,共享上下文可包含在不同大小的块之间的用于出现于所述块的特定位置处的变换系数的共享上下文。举例来说,熵编码单元56可经配置以在译码任何大小(例如,4×4、8×8、16×16或其类似者)的视频块(例如,TU)的DC变换系数时应用同一上下文。即,熵编码单元56可包括将DC变换系数(对于任何大小的块)映射到用于译码DC变换系数的同一上下文数据的数据。换句话说,熵编码单元56可经配置以使用经确定用于DC变换系数的上下文来译码DC变换系数,而不考虑正被译码的当前视频块的大小。通常,DC变换系数为视频块的左上系数。
在通过熵编码单元56进行的熵编码之后,可将经编码的位流传输到视频解码器30,或经存档以用于稍后传输或由视频解码器30检索。熵编码单元56还可熵编码运动向量、帧内模式指示和正被译码的当前视频切片的其它语法元素。
反量化单元58和反变换单元60分别应用反量化和反变换,以在像素域中重构残余块以供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块加到参考图片列表中的一者内的参考图片中的一者的预测性块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重构的残余块以计算子整数像素值以用于运动估计中。求和器62将经重构的残余块添加到由运动补偿单元44产生的运动补偿预测块,以产生参考块以供存储于参考图片存储器64中。参考块可由运动估计单元42和运动补偿单元44用作参考块以对后续视频帧或图片中的块进行帧间预测。
以此方式,视频编码器20表示视频译码器的一实例,其经配置以基于视频块的变换系数在其中出现的区域来确定用于译码视频块的变换系数的上下文,且使用经确定上下文来熵译码所述变换系数。所述区域可包含第一区域和第二区域中的一者,所述第一区域包含视频块的变换系数的一或多个左上4×4子块,所述第二区域包含视频块的在所述第一区域外部的变换系数。
图3为说明可实施本发明中所描述的帧间预测技术的实例视频解码器30的方框图。在图3的实例中,视频解码器30包括熵解码单元80、预测处理器81、反量化单元86、反变换单元88、求和器90和参考图片存储器92。预测处理器81包括运动补偿单元82和帧内预测单元84。在一些实例中,视频解码器30可执行与参考来自图2的视频编码器20所描述的编码回合大体上互逆的解码回合。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码的视频切片的视频块和相关联语法元素的经编码的视频位流。视频解码器30的熵解码单元80熵解码所述位流以产生经量化的系数、运动向量和其它语法元素。熵解码单元80将运动向量、帧内模式指示和其它预测相关语法元素转发到预测处理器81。熵解码单元80将经量化的系数以块(例如,TU)的形式转发到反量化单元86。视频解码器30可接收视频切片层级和/或视频块层级的语法元素。
具体来说,根据本发明的技术,熵解码单元80可基于块的变换系数在其中出现的区域来确定用于熵解码变换系数的上下文。具体来说,一旦变换系数位于块内,熵解码单元80便可基于块的变换系数将在其中出现的区域来确定所述上下文。熵解码单元80可经配置以如以下参看图9到图14所解释来确定所述区域或其它所述区域。举例来说,如图9A中所展示,熵解码单元80可经配置以确定一变换系数将出现于包括块的左上隅角中的一或多个子块的第一区域中还是出现于包括在所述第一区域外部的子块的第二区域中,且基于所述变换系数将出现于第一区域还是第二区域中来确定上下文。
同样,熵解码单元80可基于区域来确定上下文,这是因为熵解码单元80可通过用于计算或确定与每一区域中的系数相关联的上下文的一或多个各种技术进行配置。即,每一区域可与用于计算或确定上下文的一或多种技术相关联。举例来说,一区域可与在一或多个变换系数之间共享的上下文相关联。作为另一实例,一区域可与在所述区域的子块之间共享的上下文相关联。作为又一实例,一区域可与一偏移值相关联,所述偏移值将应用于经计算用于所述区域中的变换系数的上下文值。熵解码单元80可经配置以基于变换系数在其中出现的区域使用如本文中所描述的这些或其它技术来确定用于解码变换系数的上下文。熵解码单元80可接着使用经确定上下文来熵解码变换系数。
额外或替代性地,共享上下文可包含在不同大小的块之间的用于出现于所述块的特定位置处的变换系数的共享上下文。举例来说,熵解码单元80可经配置以在译码任何大小(例如,4×4、8×8、16×16或其类似者)的视频块(例如,TU)的DC变换系数时应用同一上下文。即,熵解码单元80可包括将DC变换系数(对于任何大小的块)映射到用于译码DC变换系数的同一上下文数据的数据。换句话说,熵解码单元80可经配置以使用经确定用于DC变换系数的上下文来译码DC变换系数,而不考虑正被译码的当前视频块的大小。通常,DC变换系数为视频块的左上系数。
当视频切片经译码为帧内译码(I)切片时,预测处理器81的帧内预测单元84可基于用信号通知的帧内预测模式和来自当前帧或图片的先前解码块的数据而产生用于当前视频切片的视频块的预测数据。在视频帧经译码为帧间译码(即,B、P或GPB)切片时,预测处理器81的运动补偿单元82基于运动向量和从熵解码单元80接收的其它语法元素而产生针对当前视频切片的视频块的预测性块。预测性块可从参考图片列表中的一者内的参考图片中的一者产生。视频解码器30可基于存储于参考图片存储器92中的参考图片使用默认建构技术来建构参考帧列表(列表0和列表1)。
运动补偿单元82通过解析运动向量和其它语法元素而确定当前视频切片的视频块的预测信息,且使用所述预测信息以产生针对正被解码的当前视频块的预测性块。举例来说,运动补偿单元82使用所接收的语法元素中的一些来确定用以译码视频切片的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一者或一者以上的建构信息、切片的每一经帧间编码视频块的运动向量、切片的每一经帧间译码视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。
运动补偿单元82还可基于内插滤波器执行内插。运动补偿单元82可使用如由视频编码器20在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。在此情形下,运动补偿单元82可从所接收的语法元素确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。
反量化单元86将位流中所提供且由熵解码单元80解码的经量化的变换系数反量化(即,解量化)。反量化过程可包括使用由视频编码器20针对视频切片中的每一视频块计算的量化参数以确定量化程度及(同样)应被应用的反量化的程度。反变换单元88将反变换(例如,反DCT、反整数变换或概念上类似的反变换过程)应用于变换系数,以便在像素域中产生残余块。
在一些情形下,反变换单元88可将二维(2D)反变换(在水平方向和垂直方向两者上)应用于系数。根据本发明的技术,反变换单元88可替代地应用水平一维(1D)反变换、垂直1D反变换,或不将变换应用于TU中的每一者中的残余数据。可将在视频编码器20处应用于残余数据的变换的类型用信号通知给视频解码器30以将适当类型的反变换应用于变换系数。
在运动补偿单元82基于运动向量和其它语法元素产生当前视频块的预测性块之后,视频解码器30通过对来自反变换单元88的残余块与由运动补偿单元82产生的对应预测性块求和而形成经解码的视频块。求和器90表示执行此求和运算的(若干)组件。视需要,还可应用解块滤波器来对经解码块滤波以便移除成块效应假影。其它环路滤波器(在译码环路中或在译码环路后)也可用以使像素转变平滑,或以其它方式改进视频质量。接着将给定帧或图片中的经解码的视频块存储于参考图片存储器92中,参考图片存储器92存储用于后续运动补偿的参考图片。参考图片存储器92还存储经解码视频以用于稍后在显示装置(例如,图1的显示装置32)上呈现。
以此方式,视频解码器30表示视频译码器的一实例,其经配置以基于视频块的变换系数在其中出现的区域来确定用于译码视频块的变换系数的上下文,且使用经确定上下文来熵译码所述变换系数。所述区域可包含第一区域和第二区域中的一者,所述第一区域包含视频块的变换系数的一或多个左上4×4子块,所述第二区域包含视频块的在所述第一区域外部的变换系数。
图4为说明视频块中的变换系数与和所述视频块相关联的有效性映射之间的关系的概念图。如图4中所说明,有效性映射包括“1”以指示视频块中的有效系数值(即,大于零的值)的每一实例。可在位流中用信号通知有效性映射,其可由视频解码器(例如,视频解码器30)解码以确定待解码的视频块中的有效(即,大于零)系数的位置。更具体来说,可在位流中用信号通知视频块内的最后非零系数的位置。视频块中的最后非零系数的位置取决于用于视频块的扫描次序。可用信号通知额外语法元素以根据已知或可知晓的扫描次序相对于最后非零系数来指示其它有效系数。
图5A到图5D为说明使用z字形扫描次序、水平扫描次序、垂直扫描次序和对角线扫描次序所扫描的视频数据的块的实例的概念图。如图5A到图5D中所展示,视频数据的8×8块(例如,CU的TU)可包括在对应块位置中的六十四个变换系数(以圆圈表示)。在此实例中,块100、102、104和106各自具有8×8的大小,且因此包括使用先前所描述的预测技术所产生的六十四个变换系数。
根据本发明中所描述的技术,块100、102、104和106中的每一者中的六十四个变换系数可能已使用2D变换、水平1D变换和垂直1D变换中的一者进行了变换或可被反变换,或变换系数可根本不经变换。无论是否经变换,视频块100、102、104和106中的每一者中的系数均使用z字形扫描次序、水平扫描次序、垂直扫描次序和对角线扫描次序中的一者经扫描以准备进行熵译码。
如图5A中所展示,与块100相关联的扫描次序为z字形扫描次序。所述z字形扫描次序使得视频译码器(例如,视频编码器20或视频解码器30)以如由图5A中的箭头所指示的对角线方式扫描块100的经量化的变换系数。在图5D中,类似地,对角线扫描次序使得视频译码器以如由图5D中的箭头所指示的对角线方式来扫描块106的经量化的变换系数。如图5B和图5C中所展示,与块102和104相关联的扫描次序分别为水平扫描次序和垂直扫描次序。水平扫描次序使得视频译码器以水平逐行或“光栅”方式扫描块102的经量化的变换系数,而垂直扫描次序使得视频译码器以垂直逐行或“旋转光栅”方式扫描块104的经量化的变换系数(还如由图5B和图5C中的箭头所指示)。
在其它实例中,如以上所描述,块可具有小于或大于块100、102、104和106的大小的大小,且可包括更多或更少的经量化的变换系数和对应的块位置。在这些实例中,与特定块相关联的扫描次序可使得视频译码器以实质上与图5A到图5D的8×8块的实例中所展示的方式类似的方式来扫描块的经量化的变换系数,例如,可遵循先前所描述的扫描次序中的任一者来扫描4×4块或16×16块。
尽管图5A到图5D中的扫描方向大体上被展示为从低频率系数进行到高频率系数,但在其它实例中,视频编码器20和视频解码器30可经配置以执行反向扫描次序,其中扫描可从高频率系数进行到低频率系数。即,视频编码器20和视频解码器30可以与图5A到图5D中所展示的次序相反的次序来扫描系数。
图6为说明划分为子块以用于变换系数译码的实例视频块110的概念图。在当前HM中,将子块概念用于变换系数译码。视频译码器可将大于经确定的子块大小的任何变换单元(TU)再分为子块。举例来说,将视频块110划分为四个4×4子块。
在图6的经说明实例中,视频译码器将视频块110划分为4×4子块。在其它实例中,视频译码器可将视频块划分为其它大小的子块,例如,8×8、16×16等。如果视频译码器将同一子块大小用于帧或切片的所有TU,则归因于通过子块大小实现的均一性,可在硬件实施中实现增益。举例来说,所有处理可在所述子块中分裂,而与TU大小无关。然而,对于执行本发明的技术而言,均一的子块大小并非必要的。
对于系数译码而言,视频译码器可使用对角线扫描次序来扫描视频块110的每一4×4子块,如图6中所展示。在一些实例中,视频译码器可使用统一扫描来扫描每一子块的变换系数。在此情形下,将同一扫描次序用于有效性信息,即,有效性映射、系数水平、正负号等。在第一实例中,如图6中所展示,视频译码器可使用对角线扫描来扫描变换系数。在另一实例中,视频译码器可以与图6中所展示的次序相反的次序来扫描变换系数,例如,从右下隅角开始且进行到左上隅角的反向对角线扫描。在其它实例中,视频译码器可使用z字形、水平或垂直扫描来扫描变换系数。其它扫描方向/定向也是可能的。
为了解释简单起见,本发明将视频块的子块描述为4×4子块。然而,本发明的技术还可应用于不同大小(例如,8×8、16×16等)的子块。针对每一4×4块,译码significant_coeffgroup_flag,且如果在子块中存在至少一个非零系数,则此旗标被设定为一,否则所述旗标等于零。如果对于给定子块而言significant_coeffgroup_flag非零,则以反向对角线次序来扫描4×4子块,且针对所述子块的每一系数来译码significant_coeff_flag以指示系数的有效性。这些旗标的群组可称作视频块的有效性映射。在某一实例中,替代于明确地用信号通知所述有效性映射,可使用相邻的4×4子块旗标或在4×4子块含有最后系数或DC系数时隐含地导出significant_coeffgroup_flag。系数的绝对值也经译码,即,系数水平。
尽管将图6的扫描的方向大体上展示为从低频率系数进行到高频率系数,但在其它实例中,视频编码器20和视频解码器30可经配置以执行反向扫描次序,其中所述扫描可从高频率系数进行到低频率系数。即,视频编码器20和视频解码器30可以与图6中所展示的次序相反的次序来扫描系数。
图7为说明实例五点支持邻域的概念图,所述五点支持邻域用以定义用于选择使用反向对角线扫描次序扫描的视频块112中的系数的有效性映射的上下文的上下文模型。如以上所提及,对于上下文自适应译码而言,可基于描述变换系数具有为0的值或为1的值的概率的上下文模型来译码变换系数。关于有效性映射译码,上下文模型描述特定变换系数是否有效(即,非零)的概率。
对于有效性映射译码而言,五点支持S可用以定义用以译码视频块112的变换系数的有效性映射的上下文模型。五点支持可称作“上下文支持邻域”或简单地称作“支持邻域”。即,视频译码器可依据所述支持来确定当前位置的有效性为一或零的概率。所述上下文支持邻域定义可用作用于译码当前系数的上下文的相邻系数(例如,其可包括有效性信息)。根据本发明的一些实例,所述上下文支持邻域可针对块或子块内的不同系数位置而不同。
在图7中所展示的实例中,相对于由被圆圈环绕的圆点表示的当前或“目标”位置,五点支持S由被正方形环绕的圆点表示。可将上下文模型Ctx(以下等式(1))定义为所述支持的每一点中的有效旗标的总和,其中如果对应变换系数非零,则可将有效性旗标设定为“1”,且否则便将有效性旗标设定为“0”。
Ctx = Σ p ∈ S ( coef p ! = 0 ) - - - ( 1 )
因此,有效性旗标计数可少于或等于支持基数。ctx的值未必为原始上下文值,但可以偏移的形式应用于基本上下文值,以导出待用以译码针对特定系数的数据的上下文。
然而,当并行地计算用于一个以上变换系数(例如,与变换系数相关联的有效性信息)的上下文时(称作“并行有效性上下文计算”或简单地称作“并行上下文计算”),图7中所展示的支持S可并不合适。举例来说,使用图7中所展示的支持S可妨碍视频译码器并行地计算用于有效性信息的上下文的能力,因为支持S中的所有数据必须可用(例如,已经译码)以使得能够进行上下文的并行计算。在一些情况下,如以下关于图8A所描述,译码器可能被迫等候支持S中的一支持元素完成译码,之后才确定用于支持S中的另一支持元素的上下文。此延迟减少了视频译码器有效地处理有效性信息的能力。
图8A和图8B为说明五点支持内的上下文相依性的概念图。举例来说,为了计算带圆圈位置的有效性上下文,可能有必要解析由棱形(展示于图8A中)描绘的支持S内的位置的有效性旗标。如果要求并行地计算两个系数的有效性上下文,则所述解析可引入延迟,这是因为在扫描次序中所述棱形被定位成紧接在带圆圈元素之前。即,无法与由棱形标记的位置同时地计算带圆圈位置的上下文,这是因为带圆圈位置取决于由棱形标记的位置,且因此,必须在确定用于带圆圈位置的上下文之前译码由棱形标记的位置。
为了解决此相依性,可从支持S移除特定元素,使得所述支持具有所谓的“洞”(由三角形环绕的未填充的圆点,展示于图8B中)。举例来说,洞中的有效性旗标被跳过且在上下文计算时不加以考虑(即,假定为零)。因此,不需要解析洞位置中的有效性旗标。5点支持形状取决于位置以允许实现较佳的并行处理。
图9A和图9B为说明一视频块到两个或两个以上区域的实例划分的概念图。在当前HM中,通过5点支持将邻域上下文模型化用于大于8×8(即,16×16、32×32和非正方形变换大小16×4、4×16、32×8和8×32)的TU大小。然而,具有5点支持的上下文模型化可增大较大块大小的上下文计算的复杂性。图9A的区域R1表示包括视频块的变换系数的一或多个左上4×4子块的区域的一实例,而图9A的区域R2表示包括视频块的在区域R1外部的变换系数的区域的一实例。图9A还表示多个区域包含一或多个子块的相应集合的实例。
根据本发明中所描述的技术,视频译码器(例如,视频编码器20或视频解码器30)可将视频块划分为区域R(例如,如图9A和图9B中所展示)且针对不同区域中的每一者使用不同上下文指派程序。举例来说,一些区域可使用固定的或基于位置的上下文且一些区域可使用基于邻域的上下文。如图9A中所说明,所述区域可基于4×4子块以使得在一个区域或另一区域中包括整个子块。而且,在一些实例中,划分为区域可为灵活的。如图9B中所说明,视频块可在对角线方向上划分为区域以使得子块的部分可包括于两个不同区域中。在其它实例中,所述划分可能视系数位置或含有此系数的4×4子块的位置而定。
在一些实例中,可根据视频块中的系数位置或根据含有此系数的4×4子块的位置来定义上下文。或者,可能根据相邻的4×4子块来定义上下文模型。举例来说,同一4×4子块内的每一系数可使用一或若干个上下文,下一4×4子块的系数也可使用一或若干个上下文。然而,一个4×4子块的上下文可能不同于先前基于4×4子块的上下文。或者,可能将上下文计算为Ctx=Right4x4SubBlockFlag+Bottom4x4SubBlockFlag,或视邻域而定的类似公式。再次,Right4x4SubBlockFlag可表示右边相邻的子块的经译码的子块旗标(例如,指示右边相邻的4×4子块是否包括至少一个非零系数),且Bottom4x4SubBlockFlag可表示右边相邻的子块的经译码的子块旗标(例如,指示底部相邻的4×4子块是否包括至少一个非零系数)。
图10为说明针对视频块的每一区域的基于邻域或基于位置的上下文的实例指派的概念图。如图10中所说明,还可能使用混合类型的上下文,例如,对于一些区域而言上下文可为基于邻域的,且对于同一视频块的一些区域而言上下文可为固定的或基于位置的。基于位置的方法的可能优点在于不必按逐系数的方式来计算上下文。替代地,视频译码器可针对区域中的所有系数计算上下文一次,使得区域中的所有系数具有相同上下文。图10表示多个区域包含一或多个子块的相应集合的实例。
对于具有坐标(x,y)的系数而言,可根据系数位置来定义区域。举例来说,如果条件(x+y>=阈值)为真,则视频译码器可确定对应系数出现于区域R2内;否则,如果所述条件并不为真,则视频译码器确定对应系数出现于区域R1内。类似地,可基于4×4子块将坐标指派给区域。对于具有(X,Y)坐标的子块而言,可根据4×4子块位置来定义区域。举例来说,如果条件(X+Y>=阈值)为真,则视频译码器可确定对应系数出现于区域R2内;否则,视频译码器可确定对应系数出现于区域R1内。阈值可固定到某一预定义值(例如,等于4、5、6、7或8的整数),或可视视频块(例如,TU)大小而定。
以此方式,图10表示如下实例:视频译码器可经配置以基于变换系数在其中出现的区域、使用基于所述区域的基于位置的上下文信息和基于邻域的上下文信息中的一者来确定用于译码变换系数的上下文。具体来说,如果变换系数在第一区域中,则视频译码器可使用第一上下文确定方法来确定用于译码变换系数的上下文。如果变换系数在第二区域中,则视频译码器可使用第二上下文确定方法来确定用于译码变换系数的上下文,其中第二上下文确定方法不同于第一上下文确定方法且第一区域不同于第二区域。在一实例中,第一区域和第二区域不重叠。再一次,第一和第二上下文确定方法的实例包括使用基于位置的上下文信息和基于邻域的上下文信息。
图11为说明针对视频块的每一区域的上下文偏移的实例指派的概念图。对于不同区域而言上下文模型可为单独的,但仍将同一方法用于上下文计算。换句话说,可通过用于计算用于译码变换系数的上下文的一种方法配置视频译码器,但其可包括基于变换系数在其中出现的区域所确定的不同上下文模型。
举例来说,可基于邻域来计算上下文,但对于不同区域,所述上下文使用偏移。针对每一区域的偏移可为固定的或取决于视频块大小、视频块或子块中的系数位置和视频块中的子块位置中的一者或一者以上。图11的区域R1表示包括视频块的变换系数的一或多个左上4×4子块的区域的另一实例,而图11的区域R2表示包括视频块的在区域R1外部的变换系数的区域的另一实例。图11也是多个区域包含一或多个子块的相应集合的实例。
通过偏移,可根据等式(2)来计算上下文。
Ctx = offset ( region ) + Σ p ∈ S ( coef p ! = 0 ) - - - ( 2 )
或者,视频译码器可根据将Ctx用作输入的函数(例如,Ctx=(Ctx+1)>>1)来计算上下文。
在图11中展示基于区域的偏移的一个实例,其中区域R1和R2是基于4×4子块进行定义且对于区域R1和R2而言偏移不同。偏移值offset1和offset2可为任何整数,例如,offset1=0,offset2=3。在其它实例中,到区域的其它划分也是有可能的,且到两个以上区域的划分也是有可能的。
图12为说明基于与现有上下文模型相关的TU大小的视频块到两个或两个以上区域的实例内嵌式划分的概念图。因为在当前HM中存在若干大小的TU(4×4、8×8、16×16和32×32),所以可使用内嵌式样的划分根据较小TU大小来进行较大块的划分,如图12中所说明。对于内嵌式划分而言,上下文计算的方法可共享且上下文模型自身可共享。
举例来说,对于TU大小32×32而言,在表示4×4TU的区域R1中,上下文计算可使用与用于大小为4×4的实际TU的方法相同的用于上下文计算的方法。另外,可在大小为4×4的TU与大小为32×32的TU的R1之间共享上下文模型,或可将偏移应用于大小为4×4的TU的上下文模型。到于R2,可在大小为8×8的TU与大小为32×32的TU的R2之间共享上下文计算方法。R3表示16×16TU区域,而R4表示32×32TU区域。此方法的可能优点在于:可将相同单元用于上下文计算,且可考虑到内嵌区域与TU之间的额外相关性。
或者,使用内嵌式划分,可在所有TU或TU的某一群组之间针对专用位置共享一些有效性映射上下文模型。举例来说,可在具有从4×4到32×32的大小的所有TU之间共享对应于DC系数的上下文模型。作为另一实例,可在所有TU之间共享关于高频率系数的上下文模型。在这些情形下,大小为32×32的TU中的区域R1(表示4×4TU)可与具有大小4×4、8×8、16×16、32×32等中的任一者的TU使用相同的用于DC系数和/或高频率系数的上下文模型。
作为另一实例,替代在所有TU之间进行共享,可仅在所有TU的子集或群组之间共享以上所描述的系数(例如,DC和/或高频率系数)的上下文模型。举例来说,可仅在两种大小的TU(例如,4×4TU和8×8TU)之间共享系数的上下文模型。在此情形下,大小为32×32的TU中的区域R1(表示4×4TU)可与具有大小4×4和8×8的TU使用相同的用于DC系数和/或高频率系数的上下文模型。
以此方式,图12的实例表示视频译码器(例如,视频编码器20或视频解码器30)可经配置以从视频块的多个区域中确定变换系数在其中出现的区域的实例,其中所述区域中的每一者对应于多个变换单元(TU)大小中的相应一者,且其中视频译码器通过选择在所述区域和与所述区域具有相同大小的TU之间共享的上下文而确定上下文。
图12还表示视频译码器(例如,视频编码器20或视频解码器30)可经配置以从视频块的多个区域中确定变换系数在其中出现的区域的实例,其中所述区域中的每一者对应于多个变换单元(TU)大小中的相应一者,且其中为了确定上下文,视频译码器选择在不同大小的两个或两个以上TU之间共享的用于变换系数的专用位置的上下文,其中所述区域具有与不同大小的两个或两个以上TU中的一者相同的大小。用于变换系数的专用位置的所述共享上下文可包含在不同大小的两个或两个以上TU之间共享的用于DC系数和高频率系数中的一者的上下文。额外或替代性地,用于变换系数的专用位置的所述共享上下文可包含在具有4×4变换系数的大小的第一TU与具有8×8变换系数的大小的第二TU之间共享的上下文。
图13A和图13B为说明视频块到两个或两个以上区域的实例划分的概念图。以与以上关于区域是基于正方形(例如,4×4)子块的实例所描述的方式类似的方式,本发明的技术还描述用以基于矩形形状的子块将视频块(例如,TU)划分为两个或两个以上区域的分类方法。举例来说,可依据如图13A和图13B中所展示的系数扫描而将2×8和8×2子块用于8×8视频块。在此实例中,视频译码器将水平扫描应用于在图13A中所展示的块中的系数,且将垂直扫描应用于图13B中所展示的块。在图13A和图13B中所说明的实例中,一个正方形块表示单一系数,且整个视频块的大小为8×8。
根据本发明的技术,视频块可划分为不同矩形区域,例如,R1、R2、R3和R4。不同矩形区域中的每一者可具有不同上下文指派。举例来说,对于一些区域而言,可使用固定上下文。这些区域可基于以上所描述且在图13A和图13B中所展示的矩形(例如,2×8或8×2)子块而形成。举例来说,可根据视频块中的系数位置或根据含有这是数的矩形子块的位置来定义上下文。
或者,可能根据相邻的矩形形状的子块来定义上下文模型。举例来说,同一矩形子块内的每一系数可使用一或若干个上下文。另外,相邻矩形子块的系数还可使用一或若干个上下文。然而,一个矩形子块的上下文可不同于先前基于矩形子块的上下文。还可能使用混合类型的上下文,例如,对于一些区域而言上下文可为基于邻域的,且对于同一视频块的一些区域而言上下文可为固定的或基于位置的。基于位置的方法的优点在于,不必逐系数地计算上下文,可针对一区域一次性地进行。而且,所述划分可能视系数位置或含有这是数的矩形子块的位置而定。
对于具有(x,y)坐标的系数而言,可根据系数位置来定义区域。举例来说,如果条件(x+y>=阈值)为真,则可将此系数指派给区域R2;否则,可将其指派给区域R1。以类似方式,可基于矩形形状的子块进行此操作,对于具有(X,Y)坐标的子块而言,可根据矩形子块位置来定义区域。举例来说,如果条件(X+Y>=阈值)为真,则可将此系数指派给区域R2,否则,可将其指派给R1。所述阈值可固定到某一预定义值(如整数(例如,等于0或1))或可能视TU大小而定。
或者,对于不同区域而言上下文模型可不同,但仍将同一方法用于上下文计算。举例来说,可基于邻域来计算上下文,但对于不同区域,所述上下文使用偏移。偏移可为固定的、视视频块大小而定的或视以下各者中的一者或一者以上而定:在视频块和/或矩形子块中的系数位置、含有当前系数的矩形子块在视频块中的位置,或这些条件的任何组合。
通过偏移,可根据等式(3)来计算上下文。
Ctx = offset ( region ) + Σ p ∈ S ( coef p ! = 0 ) - - - ( 3 )
或者,可根据将Ctx用作输入的函数(例如,Ctx=(Ctx+1)>>1)来计算上下文。
图14A和图14B为说明针对视频块的每一区域的上下文偏移的实例指派的概念图。在这些实例中,区域R1和R2是基于矩形子块和扫描方向来定义,且对于区域R1和R2而言偏移不同。偏移值offset1和offset2可为任何整数,例如,offset1=0,offset2=3。到区域的其它划分也是有可能的。举例来说,区域的数目可大于二。应注意,视系数扫描方向而定,在本发明中使用2×8和8×2矩形子块作为一实例。在无限制的情况下,可将类似方法用于具有大小M×N的其它矩形形状子块。
一股来说,本发明描述视频块的基于对角线、基于正方形(例如,4×4)子块和基于矩形(例如,2×8和8×2)子块的划分。在其它实例中,其它类型的划分为可能的,且划分可基于具有不同大小的各种形状(例如,矩形、正方形、三角形等)而为灵活的。本发明还描述将视频块划分为任何数目个区域。本发明进一步描述基于正方形子块、矩形子块或基于例如视频块的对角线划分的其它分组而将系数分组为区域。以上所描述的阈值和偏移还被提供作为一实例,可利用其它值或相邻相依性。
如本发明中所描述的类似技术可用于非正方形的变换单元或其它形状的单元。所描述的技术可应用于有效性映射译码,且在无限制的情况下应用于变换系数的其它语法和二进位(bin)译码。另外,本发明通常将视频块称作TU块,但所述技术可应用于TU、PU、CU、LCU或块的其它群组中的任一者。
图15为说明用于编码当前块的实例方法的流程图。当前块可包含当前CU或所述当前CU的一部分。尽管关于视频编码器20(图1和图2)进行了描述,但应理解,其它装置可经配置以执行类似于图15的方法的方法。
在此实例中,视频编码器20最初预测当前块(150)。举例来说,视频编码器20可计算当前块的一或多个预测单元(PU)。视频编码器20可接着计算当前块的残余块以(例如)产生变换单元(TU)(152)。为了计算所述残余块,视频编码器20可计算原始的未经译码块与当前块的预测块之间的差(即,逐个像素的差)。视频编码器20可接着变换和量化残余块的系数(154)。接下来,视频编码器20可扫描残余块的经量化的变换系数(156)。
在扫描期间,视频编码器20可确定当前系数在其中出现的区域,且以此方式,视频编码器20可确定各种系数在其中出现的区域(158)。根据本发明的技术,视频编码器20可基于(例如)系数的位置或系数在其中出现的子块的位置来确定系数在其中出现的区域。视频编码器20可使用关于图9到图14所描述的技术中的任一者或其它类似技术来确定区域。举例来说,如图9A中所展示,视频编码器20可经配置以确定系数出现于包括一或多个子块的第一区域中还是包括在第一区域外部的子块的第二区域中。
视频编码器20可进一步基于区域来确定用于熵编码系数的上下文(160)。即,视频编码器20可针对每一系数基于系数在其中出现的区域来确定用于编码系数的上下文。举例来说,如以上所论述,视频编码器20可基于系数在其中出现的区域而基于系数在块中的位置、包括系数的子块在块中的位置、待应用于经计算的上下文的偏移或其类似者来确定上下文。
同样,视频编码器20可使用经确定上下文来熵编码系数(162)。具体来说,视频编码器20可使用上下文来熵编码表示系数的一或多个语法元素。举例来说,视频编码器20可熵编码系数的有效性信息、有效系数的水平信息和/或有效系数的正负号信息中的一者或一者以上。有效性信息可包含significant_coeff_flag数据。水平信息可包含coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag和coeff_abs_level_remaining。正负号信息可包含coeff_sign_flag。视频编码器20可接着输出系数的经熵编码的数据(164)。
以此方式,图15的方法表示一方法的一实例,所述方法包括基于视频块的变换系数在其中出现的区域来确定用于译码视频块的变换系数的上下文,及使用经确定上下文来熵译码所述变换系数。此外,所述区域可包含第一区域和第二区域中的一者,所述第一区域包含视频块的变换系数的一或多个左上4×4子块,所述第二区域包含视频块的在所述第一区域外部的变换系数。
图16为说明用于解码视频数据的当前块的实例方法的流程图。当前块可包含当前CU或所述当前CU的一部分。尽管关于视频解码器30(图1和图3)进行了描述,但应理解,其它装置可经配置以执行类似于图16的方法的方法。
视频解码器30可预测当前块(200),例如,使用帧内或帧间预测模式以计算当前块的经预测块。视频解码器30还可接收当前块的经熵编码的数据,例如,对应于当前块的残余块的系数的经熵编码数据(202)。
根据本发明的技术,视频解码器30可(例如)在反向扫描和熵解码过程期间确定系数将在其中出现的区域(204)。即,视频解码器30可基于先前所解码的变换系数的位置和扫描次序中的下一有效变换系数来确定下一变换系数的位置。视频解码器30可进一步确定此位置在其中出现的块的区域。视频解码器30可以类似方式类似地确定系数中的每一者的区域。
此外,视频解码器30可基于(例如)系数的位置或系数将在其中出现的子块的位置来确定系数将在其中出现的区域。视频解码器30可使用关于图9到图14所描述的技术中的任一者或其它类似技术来确定区域。举例来说,如图9A中所展示,视频解码器30可经配置以确定系数出现于包括一或多个子块的第一区域中还是包括在第一区域外部的子块的第二区域中。
另外,视频解码器30可基于经确定区域来确定用于解码系数的上下文(206)。即,视频解码器30可针对每一系数基于系数在其中出现的区域来确定用于解码系数的上下文。举例来说,如以上所论述,视频解码器30可基于系数将在其中出现的区域而基于系数在块中的位置、包括系数的子块在块中的位置、待应用于经计算的上下文的偏移或其类似者来确定上下文。
视频解码器30可使用经确定上下文熵解码经熵译码的数据以再现块的系数(208)。具体来说,视频解码器30可使用上下文来熵解码表示系数的一或多个语法元素。举例来说,视频解码器30可熵解码系数的有效性信息、有效系数的水平信息和/或有效系数的正负号信息中的一者或一者以上。有效性信息可包含significant_coeff_flag数据。水平信息可包含coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag和coeff_abs_level_remaining。正负号信息可包含coeff_sign_flag。视频解码器30可接着重新产生块(例如,TU)以包括在经解码的变换系数的相应位置中的经解码的变换系数(210)。即,如以上所论述,视频解码器30可反向扫描经再现的系数以产生经量化的变换系数的块。
视频解码器30可接着反量化和反变换所述系数以产生残余块(212)。视频解码器30可最终通过组合所预测块与残余块来解码当前块(214)。即,视频解码器30可以数学方式组合经预测块的像素值与残余块的位于相同位置的像素值以解码且再现原始块。
以此方式,图16的方法表示一方法的一实例,所述方法包括基于视频块的变换系数在其中出现的区域来确定用于译码视频块的变换系数的上下文,及使用经确定上下文来熵译码所述变换系数。此外,所述区域可包含第一区域和第二区域中的一者,所述第一区域包含视频块的变换系数的一或多个左上4×4子块,所述第二区域包含视频块的在所述第一区域外部的变换系数。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,则所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体进行传输,且通过基于硬件的处理单元执行。计算机可读媒体可包括计算机可读存储媒体(其对应于例如数据存储媒体的有形媒体)或通信媒体,通信媒体包括(例如)根据通信协议促进计算机程式从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、代码和/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机程式产品可包括计算机可读媒体。
举例来说而非限制,所述计算机可读存储媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,快闪存储器,或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。而且,将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字订户线(DSL)或无线技术(例如,红外线、无线电和微波)而从网站、服务器或其它远端源传输指令,则同轴电缆、光缆、双绞线、DSL或无线技术(例如,红外线、无线电和微波)包括于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包括连接、载波、信号或其它暂时媒体,而可替代地针对非暂时、有形存储媒体。如本文中所使用,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。以上各者的组合也应包括于计算机可读媒体的范围内。
可通过一或多个处理器来执行指令,例如,一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。因此,如本文中所使用,术语“处理器”可指代前述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文所描述的功能性提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入于组合式编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可实施于多种装置或设备中,所述装置或设备包括无线手持机、集成电路(IC)或一组IC(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求通过不同硬件单元来实现。而是,如以上所描述,可将各种单元组合于编解码器硬件单元中,或通过互操作性硬件单元(包括如以上所描述的一或多个处理器)的集合结合合适软件和/或固件来提供所述单元。
已描述各种实例。这些和其它实例在所附权利要求书的范围内。

Claims (52)

1.一种解码视频数据的方法,所述方法包含:
确定当前子块的一或多个相邻子块的经译码的子块旗标的值;
基于所述经译码的子块旗标的所述值来确定用于解码所述当前子块的变换系数的上下文;及
使用所述经确定上下文来熵解码所述变换系数。
2.根据权利要求1所述的方法,其中所述一或多个相邻子块包含右边相邻的子块和底部相邻的子块。
3.根据权利要求2所述的方法,其中确定所述上下文包含计算所述右边相邻的子块的经译码的子块旗标的值与所述底部相邻的子块的经译码的子块旗标的值的总和,及使用所述经计算总和来确定所述上下文。
4.根据权利要求1所述的方法,其中所述经译码的子块旗标表示所述相邻子块中的相应者是否包括至少一个非零变换系数。
5.根据权利要求1所述的方法,其中所述子块中的每一者对应于变换系数的相应4×4块,且其中所述经译码的子块旗标指示所述相应4×4块中的所述变换系数中的至少一者是否具有非零值。
6.根据权利要求1所述的方法,其中所述当前子块具有4×4像素的大小,且其中所述当前子块在具有大于4×4像素的大小的当前变换单元内。
7.根据权利要求1所述的方法,其中确定所述上下文进一步包含基于所述变换系数在所述当前子块中的位置来确定用于解码所述变换系数的所述上下文。
8.根据权利要求1所述的方法,其中熵解码所述变换系数包含根据上下文自适应二进制算术译码CABAC熵解码所述变换系数。
9.一种用于解码视频数据的装置,所述装置包含视频解码器,所述视频解码器经配置以:确定当前子块的一或多个相邻子块的经译码的子块旗标的值;基于所述经译码的子块旗标的所述值来确定用于解码所述当前子块的变换系数的上下文;及使用所述经确定上下文熵解码所述变换系数。
10.根据权利要求9所述的装置,其中所述一或多个相邻子块包含右边相邻的子块和底部相邻的子块。
11.根据权利要求10所述的装置,其中为了确定所述上下文,所述视频解码器经配置以计算所述右边相邻的子块的经译码的子块旗标的值与所述底部相邻的子块的经译码的子块旗标的值的总和,及使用所述经计算总和来确定所述上下文。
12.根据权利要求9所述的装置,其中所述经译码的子块旗标表示所述相邻子块中的相应者是否包括至少一个非零变换系数。
13.根据权利要求9所述的装置,其中所述视频解码器进一步经配置以基于所述变换系数在所述当前子块中的位置来确定用于解码所述变换系数的所述上下文。
14.根据权利要求9所述的装置,其中所述视频解码器经配置以根据上下文自适应二进制算术译码CABAC熵解码所述变换系数。
15.一种用于解码视频数据的装置,所述装置包含:
用于确定当前子块的一或多个相邻子块的经译码的子块旗标的值的装置;
用于基于所述经译码的子块旗标的所述值来确定用于解码所述当前子块的变换系数的上下文的装置;及
用于使用所述经确定上下文来熵解码所述变换系数的装置。
16.根据权利要求15所述的装置,其中所述一或多个相邻子块包含右边相邻的子块和底部相邻的子块。
17.根据权利要求16所述的装置,其中所述用于确定所述上下文的装置包含用于计算所述右边相邻的子块的经译码的子块旗标的值与所述底部相邻的子块的经译码的子块旗标的值的总和的装置,及用于使用所述经计算总和来确定所述上下文的装置。
18.根据权利要求15所述的装置,其中所述经译码的子块旗标表示所述相邻子块中的相应者是否包括至少一个非零变换系数。
19.根据权利要求15所述的装置,其中所述用于确定所述上下文的装置进一步包含用于基于所述变换系数在所述当前子块中的位置来确定用于解码所述变换系数的所述上下文的装置。
20.根据权利要求15所述的装置,其中所述用于熵解码所述变换系数的装置包含用于根据上下文自适应二进制算术译码CABAC熵解码所述变换系数的装置。
21.一种其上存储有指令的计算机可读存储媒体,所述指令在被执行时致使处理器:
确定当前子块的一或多个相邻子块的经译码的子块旗标的值;
基于所述经译码的子块旗标的所述值来确定用于解码所述当前子块的变换系数的上下文;及
使用所述经确定上下文来熵解码所述变换系数。
22.根据权利要求21所述的计算机可读存储媒体,其中所述一或多个相邻子块包含右边相邻的子块和底部相邻的子块。
23.根据权利要求22所述的计算机可读存储媒体,其中所述致使所述处理器确定所述上下文的指令包含致使所述处理器计算所述右边相邻的子块的经译码的子块旗标的值与所述底部相邻的子块的经译码的子块旗标的值的总和且使用所述经计算总和来确定所述上下文的指令。
24.根据权利要求21所述的计算机可读存储媒体,其中所述经译码的子块旗标表示所述相邻子块中的相应者是否包括至少一个非零变换系数。
25.根据权利要求21所述的计算机可读存储媒体,其中所述致使所述处理器确定所述上下文的指令进一步包含致使所述处理器基于所述变换系数在所述当前子块中的位置来确定用于解码所述变换系数的所述上下文的指令。
26.根据权利要求21所述的计算机可读存储媒体,其中所述致使所述处理器熵解码所述变换系数的指令包含致使所述处理器根据上下文自适应二进制算术译码CABAC熵解码所述变换系数的指令。
27.一种编码视频数据的方法,所述方法包含:
确定当前子块的一或多个相邻子块的经译码的子块旗标的值;
基于所述经译码的子块旗标的所述值来确定用于编码所述当前子块的变换系数的上下文;及
使用所述经确定上下文来熵编码所述变换系数。
28.根据权利要求27所述的方法,其中所述一或多个相邻子块包含右边相邻的子块和底部相邻的子块。
29.根据权利要求28所述的方法,其中确定所述上下文包含计算所述右边相邻的子块的经译码的子块旗标的值与所述底部相邻的子块的经译码的子块旗标的值的总和,及使用所述经计算总和来确定所述上下文。
30.根据权利要求27所述的方法,其中所述经译码的子块旗标表示所述相邻子块中的相应者是否包括至少一个非零变换系数。
31.根据权利要求27所述的方法,其中所述子块中的每一者对应于变换系数的相应4×4块,且其中所述经译码的子块旗标指示所述相应4×4块中的所述变换系数中的至少一者是否具有非零值。
32.根据权利要求27所述的方法,其中所述当前子块具有4×4像素的大小,且其中所述当前子块在具有大于4×4像素的大小的当前变换单元内。
33.根据权利要求27所述的方法,其中确定所述上下文进一步包含基于所述变换系数在所述当前子块中的位置来确定用于编码所述变换系数的所述上下文。
34.根据权利要求27所述的方法,其中熵编码所述变换系数包含根据上下文自适应二进制算术译码CABAC熵编码所述变换系数。
35.一种用于编码视频数据的装置,所述装置包含视频编码器,所述视频编码器经配置以:确定当前子块的一或多个相邻子块的经译码的子块旗标的值;基于所述经译码的子块旗标的所述值来确定用于编码所述当前子块的变换系数的上下文;及使用所述经确定上下文熵编码所述变换系数。
36.根据权利要求35所述的装置,其中所述一或多个相邻子块包含右边相邻的子块和底部相邻的子块。
37.根据权利要求36所述的装置,其中为了确定所述上下文,所述视频编码器经配置以计算所述右边相邻的子块的经译码的子块旗标的值与所述底部相邻的子块的经译码的子块旗标的值的总和,及使用所述经计算总和来确定所述上下文。
38.根据权利要求35所述的装置,其中所述经译码的子块旗标表示所述相邻子块中的相应者是否包括至少一个非零变换系数。
39.根据权利要求35所述的装置,所述视频编码器进一步经配置以基于所述变换系数在所述当前子块中的位置来确定用于解码所述变换系数的所述上下文。
40.根据权利要求35所述的装置,其中所述视频编码器经配置以根据上下文自适应二进制算术译码CABAC熵编码所述变换系数。
41.一种用于编码视频数据的装置,所述装置包含:
用于确定当前子块的一或多个相邻子块的经译码的子块旗标的值的装置;
用于基于所述经译码的子块旗标的所述值来确定用于编码所述当前子块的变换系数的上下文的装置;及
用于使用所述经确定上下文来熵编码所述变换系数的装置。
42.根据权利要求41所述的装置,其中所述一或多个相邻子块包含右边相邻的子块和底部相邻的子块。
43.根据权利要求42所述的装置,其中所述用于确定所述上下文的装置包含用于计算所述右边相邻的子块的经译码的子块旗标的值与所述底部相邻的子块的经译码的子块旗标的值的总和的装置,及用于使用所述经计算总和来确定所述上下文的装置。
44.根据权利要求41所述的装置,其中所述经译码的子块旗标表示所述相邻子块中的相应者是否包括至少一个非零变换系数。
45.根据权利要求41所述的装置,其中所述用于确定所述上下文的装置进一步包含用于基于所述变换系数在所述当前子块中的位置来确定用于编码所述变换系数的所述上下文的装置。
46.根据权利要求41所述的装置,其中所述用于熵编码所述变换系数的装置包含用于根据上下文自适应二进制算术译码CABAC熵编码所述变换系数的装置。
47.一种其上存储有指令的计算机可读存储媒体,所述指令在被执行时致使处理器:
确定当前子块的一或多个相邻子块的经译码的子块旗标的值;
基于所述经译码的子块旗标的所述值来确定用于编码所述当前子块的变换系数的上下文;及
使用所述经确定上下文来熵编码所述变换系数。
48.根据权利要求47所述的计算机可读存储媒体,其中所述一或多个相邻子块包含右边相邻的子块和底部相邻的子块。
49.根据权利要求48所述的计算机可读存储媒体,其中所述致使所述处理器确定所述上下文的指令包含致使所述处理器计算所述右边相邻的子块的经译码的子块旗标的值与所述底部相邻的子块的经译码的子块旗标的值的总和且使用所述经计算总和来确定所述上下文的指令。
50.根据权利要求47所述的计算机可读存储媒体,其中所述经译码的子块旗标表示所述相邻子块中的相应者是否包括至少一个非零变换系数。
51.根据权利要求47所述的计算机可读存储媒体,其中所述致使所述处理器确定所述上下文的指令进一步包含致使所述处理器基于所述变换系数在所述当前子块中的位置来确定用于编码所述变换系数的所述上下文的指令。
52.根据权利要求47所述的计算机可读存储媒体,其中所述致使所述处理器熵编码所述变换系数的指令包含致使所述处理器根据上下文自适应二进制算术译码CABAC熵编码所述变换系数的指令。
CN201380005229.8A 2012-01-13 2013-01-11 确定在视频译码中用于译码变换系数数据的上下文 Active CN104041033B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201261586668P 2012-01-13 2012-01-13
US61/586,668 2012-01-13
US201261588595P 2012-01-19 2012-01-19
US61/588,595 2012-01-19
US201261597097P 2012-02-09 2012-02-09
US61/597,097 2012-02-09
US13/738,602 US9621894B2 (en) 2012-01-13 2013-01-10 Determining contexts for coding transform coefficient data in video coding
US13/738,602 2013-01-10
PCT/US2013/021278 WO2013106739A2 (en) 2012-01-13 2013-01-11 Determining contexts for coding transform coefficient data in video coding

Publications (2)

Publication Number Publication Date
CN104041033A true CN104041033A (zh) 2014-09-10
CN104041033B CN104041033B (zh) 2018-10-26

Family

ID=48779949

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201380005233.4A Pending CN104054340A (zh) 2012-01-13 2013-01-11 确定在视频译码中用于译码变换系数数据的上下文
CN201380005229.8A Active CN104041033B (zh) 2012-01-13 2013-01-11 确定在视频译码中用于译码变换系数数据的上下文
CN201380005235.3A Active CN104041029B (zh) 2012-01-13 2013-01-11 确定在视频译码中用于译码变换系数数据的上下文

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201380005233.4A Pending CN104054340A (zh) 2012-01-13 2013-01-11 确定在视频译码中用于译码变换系数数据的上下文

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201380005235.3A Active CN104041029B (zh) 2012-01-13 2013-01-11 确定在视频译码中用于译码变换系数数据的上下文

Country Status (18)

Country Link
US (3) US20130182772A1 (zh)
EP (3) EP2803194B1 (zh)
JP (3) JP6046164B2 (zh)
KR (3) KR101721302B1 (zh)
CN (3) CN104054340A (zh)
AU (3) AU2013207823B2 (zh)
BR (3) BR112014017118B1 (zh)
CA (3) CA2863043A1 (zh)
HK (2) HK1198405A1 (zh)
IL (3) IL233162A (zh)
MY (2) MY166883A (zh)
PH (3) PH12014501467A1 (zh)
RU (3) RU2603537C2 (zh)
SG (4) SG11201403342YA (zh)
TW (3) TWI559736B (zh)
UA (1) UA114418C2 (zh)
WO (3) WO2013106729A2 (zh)
ZA (1) ZA201405688B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109936742A (zh) * 2017-12-18 2019-06-25 佳能株式会社 对视频序列进行编码的方法、编码装置和存储介质
CN110169068A (zh) * 2017-01-19 2019-08-23 谷歌有限责任公司 Dc系数符号代码化方案
WO2020020221A1 (en) * 2018-07-24 2020-01-30 Mediatek Singapore Pte. Ltd. Methods and apparatus for entropy coding and decoding aspects of video data
CN114631317A (zh) * 2019-10-18 2022-06-14 北京字节跳动网络技术有限公司 子图片的参数集信令中的语法约束

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9497472B2 (en) 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation 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
ES2797423T3 (es) * 2011-06-28 2020-12-02 Samsung Electronics Co Ltd Procedimiento de codificación y decodificación de vídeo usando codificación aritmética con una señalización bidimensional del último coeficiente significativo
BR112014011155B1 (pt) 2011-11-08 2023-04-04 Google Technology Holdings LLC Método de determinação de uma palavra de código binária para um símbolo, codificador de vídeo e meio que pode ser lido em computador
WO2013109997A1 (en) 2012-01-21 2013-07-25 General Instrument Corporation Method of determining binary codewords for transform coefficients
US9866829B2 (en) * 2012-01-22 2018-01-09 Qualcomm Incorporated Coding of syntax elements that correspond to coefficients of a coefficient block in video coding
US9479780B2 (en) * 2012-02-01 2016-10-25 Google Technology Holdings LLC Simplification of significance map coding
EP2810440A1 (en) 2012-02-04 2014-12-10 General Instrument Corporation Devices and methods for context reduction in last significant coefficient position coding
CA2807908A1 (en) * 2012-06-30 2013-12-30 Research In Motion Limited Position-based context selection for greater-than-one flag decoding and encoding
CA2807919C (en) * 2012-08-31 2016-06-14 Research In Motion Limited Methods and devices for entropy coding in scalable video compression
US9215464B2 (en) * 2013-09-19 2015-12-15 Blackberry Limited Coding position data for the last non-zero transform coefficient in a coefficient group
US9813737B2 (en) 2013-09-19 2017-11-07 Blackberry Limited Transposing a block of transform coefficients, based upon an intra-prediction mode
KR102250088B1 (ko) * 2013-10-24 2021-05-10 삼성전자주식회사 비디오 스트림을 복호화하는 방법 및 장치
GB2524726B (en) * 2014-03-25 2018-05-23 Canon Kk Image data encapsulation with tile support
EP3211894B1 (en) 2014-10-21 2020-03-04 LG Electronics Inc. Method and apparatus for performing graph-based prediction by using optimization function
US9781424B2 (en) 2015-01-19 2017-10-03 Google Inc. Efficient context handling in arithmetic coding
US10306229B2 (en) * 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US10805644B2 (en) 2015-09-08 2020-10-13 Samsung Electronics Co., Ltd. Device and method for entropy encoding and decoding
KR20170031643A (ko) * 2015-09-11 2017-03-21 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10440399B2 (en) * 2015-11-13 2019-10-08 Qualcomm Incorporated Coding sign information of video data
US10542267B2 (en) 2016-01-21 2020-01-21 Samsung Display Co., Ltd. Classification preserving image transform compression
WO2017135661A1 (ko) * 2016-02-01 2017-08-10 엘지전자 주식회사 그래프 기반 분리 가능한 변환 (graph-based separable transform)을 이용하여 비디오 신호를 인코딩 / 디코딩하는 방법 및 장치
CN116916013A (zh) 2016-04-29 2023-10-20 世宗大学校产学协力团 视频信号编码/解码方法和设备
US10805607B2 (en) 2016-04-29 2020-10-13 Industry Academy Cooperation Foundation Of Sejong University Video signal encoding/decoding method and apparatus
CN113810707A (zh) 2016-04-29 2021-12-17 世宗大学校产学协力团 用于对图像信号进行编码和解码的方法和装置
EP3270594A1 (en) * 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for advanced cabac context adaptation for last coefficient coding
WO2018044087A1 (ko) * 2016-08-31 2018-03-08 주식회사 케이티 비디오 신호 처리 방법 및 장치
RU2653289C1 (ru) * 2016-12-07 2018-05-07 Владимир Леонидович Карякин Способ повышения качества канала передачи данных в системе iptv по коэффициенту ber в режиме тв вещания и устройство для его осуществления
TWI635742B (zh) * 2017-01-09 2018-09-11 晨星半導體股份有限公司 動態影像編碼裝置及動態影像編碼方法
KR102302797B1 (ko) * 2017-04-13 2021-09-16 엘지전자 주식회사 영상의 부호화/복호화 방법 및 이를 위한 장치
US11032545B2 (en) * 2017-06-29 2021-06-08 Qualcomm Incorporated Reducing seam artifacts in 360-degree video
US10484695B2 (en) 2017-10-23 2019-11-19 Google Llc Refined entropy coding for level maps
US10298895B1 (en) * 2018-02-15 2019-05-21 Wipro Limited Method and system for performing context-based transformation of a video
EP3562156A1 (en) * 2018-04-27 2019-10-30 InterDigital VC Holdings, Inc. Method and apparatus for adaptive context modeling in video encoding and decoding
US10645381B2 (en) 2018-04-30 2020-05-05 Google Llc Intra-prediction for smooth blocks in image/video
CN117097895A (zh) * 2018-09-23 2023-11-21 Lg 电子株式会社 编码/解码视频信号的方法及其装置
KR102473571B1 (ko) 2018-10-05 2022-12-06 타이사 리서치 엘엘씨 변환 계수 코딩 방법 및 그 장치
CN116886914A (zh) 2018-10-05 2023-10-13 Lg电子株式会社 图像编码/解码方法、存储介质及数据传输方法
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
US11025937B2 (en) * 2019-03-16 2021-06-01 Tencent America LLC Method and apparatus for video coding
US11218735B2 (en) 2019-04-02 2022-01-04 Qualcomm Incorporated Context derivation for last position coding for video coding
CN113711613A (zh) * 2019-04-19 2021-11-26 字节跳动有限公司 变换跳过模式的上下文编解码
US11375220B2 (en) * 2019-11-27 2022-06-28 Tencent America LLC Method and apparatus for video decoding using a nominal directional mode and an angular offset
US11206428B1 (en) * 2020-07-14 2021-12-21 Tencent America LLC Method and apparatus for frequency-dependent joint component secondary transform

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585958A (zh) * 2001-09-14 2005-02-23 诺基亚有限公司 基于上下文的自适应二进制算术编码的方法和系统
WO2008108534A1 (en) * 2007-03-07 2008-09-12 Samsung Electronics Co., Ltd. Method and apparatus for context adaptive binary arithmetic coding and decoding
WO2011128303A2 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Coding of significance maps and transform coefficient blocks

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6680974B1 (en) 1999-12-02 2004-01-20 Lucent Technologies Inc. Methods and apparatus for context selection of block transform coefficients
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
KR100612015B1 (ko) * 2004-07-22 2006-08-11 삼성전자주식회사 컨텍스트 적응형 이진 산술 부호화 방법 및 그 장치
US8320453B2 (en) 2005-07-08 2012-11-27 Lg Electronics Inc. Method for modeling coding information of a video signal to compress/decompress the information
RU2371881C1 (ru) 2005-07-08 2009-10-27 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ моделирования информации кодирования видеосигнала для компрессии/декомпрессии информации
US8599925B2 (en) 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
WO2007035056A1 (en) 2005-09-26 2007-03-29 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding and entropy decoding fine-granularity scalability layer video data
KR100873636B1 (ko) 2005-11-14 2008-12-12 삼성전자주식회사 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치
CN101321283B (zh) * 2007-06-10 2010-04-07 华为技术有限公司 兼容不同大小块变换的编解码方法及编解码器
US9008171B2 (en) 2008-01-08 2015-04-14 Qualcomm Incorporated Two pass quantization for CABAC coders
KR101375668B1 (ko) 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
US8831087B2 (en) * 2008-10-06 2014-09-09 Qualcomm Incorporated Efficient prediction mode selection
US8576916B2 (en) * 2008-10-08 2013-11-05 Qualcomm Incorporated Method and apparatus for reducing bus traffic of a texture decoding module in a video decoder
US20100174539A1 (en) 2009-01-06 2010-07-08 Qualcomm Incorporated Method and apparatus for vector quantization codebook search
CN102388610B (zh) 2009-02-09 2015-03-04 三星电子株式会社 使用低复杂度频率变换的视频编码方法和设备以及视频解码方法和设备
US8780999B2 (en) 2009-06-12 2014-07-15 Qualcomm Incorporated Assembling multiview video coding sub-BITSTREAMS in MPEG-2 systems
US8665964B2 (en) 2009-06-30 2014-03-04 Qualcomm Incorporated Video coding based on first order prediction and pre-defined second order prediction mode
US8914835B2 (en) 2009-10-28 2014-12-16 Qualcomm Incorporated Streaming encoded video data
KR102574591B1 (ko) 2010-05-12 2023-09-06 인터디지털 매디슨 페턴트 홀딩스 에스에이에스 통합된 유효성 맵 코딩을 위한 방법 및 장치
US9313514B2 (en) 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
US8902988B2 (en) 2010-10-01 2014-12-02 Qualcomm Incorporated Zero-out of high frequency coefficients and entropy coding retained coefficients using a joint context model
US20120082235A1 (en) 2010-10-05 2012-04-05 General Instrument Corporation Coding and decoding utilizing context model selection with adaptive scan pattern
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
US8953690B2 (en) 2011-02-16 2015-02-10 Google Technology Holdings LLC Method and system for processing video data
US8891630B2 (en) * 2011-10-24 2014-11-18 Blackberry Limited Significance map encoding and decoding using partition set based context assignment
US8964849B2 (en) * 2011-11-01 2015-02-24 Blackberry Limited Multi-level significance maps for encoding and decoding
PL2876883T3 (pl) 2011-11-01 2019-10-31 Velos Media Int Ltd Wielopoziomowe mapy znaczeń do kodowania i dekodowania
CA2773990C (en) 2011-11-19 2015-06-30 Research In Motion Limited Multi-level significance map scanning
JP6134651B2 (ja) 2011-12-28 2017-05-24 シャープ株式会社 算術復号装置、算術符号化装置および算術復号方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585958A (zh) * 2001-09-14 2005-02-23 诺基亚有限公司 基于上下文的自适应二进制算术编码的方法和系统
WO2008108534A1 (en) * 2007-03-07 2008-09-12 Samsung Electronics Co., Ltd. Method and apparatus for context adaptive binary arithmetic coding and decoding
WO2011128303A2 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Coding of significance maps and transform coefficient blocks

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BENJAMIN BROSS.ET AL: "WD4: Working Draft 4 of High-Efficiency Video Coding", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11》 *
NGUYEN NGUYEN,ET AL: "Multi-level significance maps for Large Transform Units", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110169068A (zh) * 2017-01-19 2019-08-23 谷歌有限责任公司 Dc系数符号代码化方案
CN110169068B (zh) * 2017-01-19 2020-04-28 谷歌有限责任公司 Dc系数符号代码化方案
US11102477B2 (en) 2017-01-19 2021-08-24 Google Llc DC coefficient sign coding scheme
CN109936742A (zh) * 2017-12-18 2019-06-25 佳能株式会社 对视频序列进行编码的方法、编码装置和存储介质
WO2020020221A1 (en) * 2018-07-24 2020-01-30 Mediatek Singapore Pte. Ltd. Methods and apparatus for entropy coding and decoding aspects of video data
TWI722498B (zh) * 2018-07-24 2021-03-21 新加坡商聯發科技(新加坡)私人有限公司 熵編碼和解碼視訊資料的方法和裝置
US11509890B2 (en) 2018-07-24 2022-11-22 Hfi Innovation Inc. Methods and apparatus for entropy coding and decoding aspects of video data
CN114631317A (zh) * 2019-10-18 2022-06-14 北京字节跳动网络技术有限公司 子图片的参数集信令中的语法约束
CN114631317B (zh) * 2019-10-18 2024-03-15 北京字节跳动网络技术有限公司 子图片的参数集信令中的语法约束
US11956432B2 (en) 2019-10-18 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Interplay between subpictures and in-loop filtering
US11962771B2 (en) 2019-10-18 2024-04-16 Beijing Bytedance Network Technology Co., Ltd Syntax constraints in parameter set signaling of subpictures

Also Published As

Publication number Publication date
TW201336317A (zh) 2013-09-01
PH12014501530A1 (en) 2014-10-08
HK1198405A1 (zh) 2015-04-17
RU2603537C2 (ru) 2016-11-27
CA2863043A1 (en) 2013-07-18
US9253481B2 (en) 2016-02-02
AU2013207804A1 (en) 2014-07-31
PH12014501530B1 (en) 2014-10-08
JP2015507430A (ja) 2015-03-05
CN104054340A (zh) 2014-09-17
RU2014133162A (ru) 2016-03-10
IL233162A0 (en) 2014-07-31
CA2863011A1 (en) 2013-07-18
AU2013207752A1 (en) 2014-07-31
TW201336310A (zh) 2013-09-01
US20130182773A1 (en) 2013-07-18
KR20140120909A (ko) 2014-10-14
US20130182758A1 (en) 2013-07-18
IL233160A (en) 2016-07-31
EP2803196A2 (en) 2014-11-19
WO2013106739A2 (en) 2013-07-18
RU2014133154A (ru) 2016-03-10
HK1198404A1 (zh) 2015-04-17
US20130182772A1 (en) 2013-07-18
CA2863019C (en) 2020-04-28
TWI559736B (zh) 2016-11-21
IL233161A0 (en) 2014-07-31
BR112014017000A8 (pt) 2017-07-04
BR112014017000A2 (pt) 2017-06-13
CN104041029B (zh) 2018-03-06
PH12014501467B1 (en) 2014-10-08
IL233162A (en) 2017-05-29
EP2803194C0 (en) 2024-01-03
MY172757A (en) 2019-12-11
EP2803194B1 (en) 2024-01-03
BR112014017118A8 (pt) 2017-07-04
KR20140120908A (ko) 2014-10-14
BR112014017118B1 (pt) 2023-04-18
JP6046164B2 (ja) 2016-12-14
ZA201405688B (en) 2017-08-30
WO2013106710A3 (en) 2014-02-20
SG11201403341PA (en) 2014-08-28
SG11201403343RA (en) 2014-09-26
WO2013106710A2 (en) 2013-07-18
PH12014501465A1 (en) 2014-10-08
JP2015507431A (ja) 2015-03-05
RU2014133158A (ru) 2016-03-10
PH12014501467A1 (en) 2014-10-08
WO2013106729A3 (en) 2014-03-20
KR102187013B1 (ko) 2020-12-04
MY166883A (en) 2018-07-24
AU2013207752B2 (en) 2017-05-04
BR112014017121A8 (pt) 2017-07-04
EP2803195A2 (en) 2014-11-19
WO2013106729A2 (en) 2013-07-18
AU2013207823B2 (en) 2016-12-08
BR112014017118A2 (pt) 2017-06-13
SG11201403342YA (en) 2014-09-26
CN104041033B (zh) 2018-10-26
TW201347545A (zh) 2013-11-16
UA114418C2 (uk) 2017-06-12
WO2013106739A3 (en) 2014-03-20
KR101721302B1 (ko) 2017-03-29
BR112014017121A2 (pt) 2017-06-13
SG10201605387XA (en) 2016-08-30
TWI532382B (zh) 2016-05-01
IL233160A0 (en) 2014-07-31
JP2015507429A (ja) 2015-03-05
CA2863011C (en) 2017-10-17
RU2595897C2 (ru) 2016-08-27
AU2013207823A1 (en) 2014-07-24
JP6266535B2 (ja) 2018-01-24
KR20140116194A (ko) 2014-10-01
BR112014017121B1 (pt) 2023-02-07
US9621894B2 (en) 2017-04-11
CA2863019A1 (en) 2013-07-18
EP2803194A2 (en) 2014-11-19
CN104041029A (zh) 2014-09-10

Similar Documents

Publication Publication Date Title
CN104041033A (zh) 确定在视频译码中用于译码变换系数数据的上下文
JP2021119709A (ja) 画像予測方法および装置
CN103299620B (zh) 在视频译码中使用最可能扫描次序对用于视频块的扫描次序信息进行有效译码
CN103999460A (zh) 在变换跳过模式中译码有效系数信息
CN105359532A (zh) 帧内运动补偿延伸
CN105027561A (zh) 用于上下文自适应、多层级有效性译码的上下文导出
CN103959785A (zh) 在视频译码中用于色度分量的变换单位分割
CN103959775A (zh) 帧内模式视频译码
CN104025603A (zh) 最后有效系数的位置的渐进式译码
CN103339935A (zh) 运动向量预测
CN103703776A (zh) 在视频译码中的系数扫描
CN104247420A (zh) 转换系数译码
CN104221380A (zh) 用于并行运动估计的共同空间候选块
CN103843347A (zh) 用于视频译码的运动向量预测值候选剪裁移除
CN103959779A (zh) 在视频译码中用于自适应环路滤波和样本自适应偏移的基于最大译码单元(lcu)或分区的语法
CN103563378A (zh) 存储器高效的上下文建模
CN104685875A (zh) 用于视频译码中的4:2:2样本格式的帧内译码
CN103636208A (zh) 在视频译码中用于非正方形块的上下文自适应熵译码
CN103931182A (zh) 帧内预测视频译码中的非正方形变换
CN103636223A (zh) 用于视频译码的多区扫描次序
CN103797802A (zh) 用于视频译码中的短距离帧内预测的线缓冲器减少
CN104396243A (zh) 用于视频压缩的自适应上取样滤波器
CN103636225A (zh) 用信号发送用于叶层级译码单元的子集的变换系数的语法元素
CN104509111A (zh) 样本自适应偏移(sao)译码
CN104205835A (zh) 导出最末位置译码的上下文以供视频译码

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant