CN104025457B - 用于最后有效系数位置译码的上下文最优化 - Google Patents

用于最后有效系数位置译码的上下文最优化 Download PDF

Info

Publication number
CN104025457B
CN104025457B CN201280054851.3A CN201280054851A CN104025457B CN 104025457 B CN104025457 B CN 104025457B CN 201280054851 A CN201280054851 A CN 201280054851A CN 104025457 B CN104025457 B CN 104025457B
Authority
CN
China
Prior art keywords
context
binary
block
transform block
index
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.)
Active
Application number
CN201280054851.3A
Other languages
English (en)
Other versions
CN104025457A (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 CN104025457A publication Critical patent/CN104025457A/zh
Application granted granted Critical
Publication of CN104025457B publication Critical patent/CN104025457B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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]
    • 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/4031Fixed length to variable length coding
    • H03M7/4037Prefix 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
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients

Landscapes

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

Abstract

一种视频编码器经配置以编码指示最后有效系数在视频块内的位置的二进制串。一种视频解码器经配置以解码所述经编码的二进制串。所述串可使用上下文自适应二进制算术译码CABAC进行译码。可向所述二进制串的二进制索引指派上下文。所述上下文可根据映射函数来确定。上下文可被指派给一或多个二进制索引,其中每一索引与不同块大小相关联。16×16视频块的最后二进制索引可与32×32视频块的最后二进制索引共享上下文。

Description

用于最后有效系数位置译码的上下文最优化
相关申请案
本申请案主张以下各者的权利:
2011年11月8日申请的第61/557,317号美国临时申请案;
2011年11月20日申请的第61/561,909号美国临时申请案;
2012年1月19日申请的第61/588,579号美国临时专利申请案;以及
2012年2月7日申请的第61/596,049号美国临时专利申请案,所述申请案中的每一者特此以全文引用的方式被并入。
技术领域
本发明是关于视频译码,且更特定而言是关于用于译码变换系数的技术。
背景技术
数字视频能力可并入至广泛范围的装置中,所述装置包含数字电视、数字直播***、无线广播***、个人数字助理(PDA)、便携式或台式计算机、平板型计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏主机、蜂窝式或卫星无线电电话、所谓的“智能手机”、视频电话会议装置、视频流式传输装置,及其类似者。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分(高级视频译码(AVC))定义的标准、目前在开发中的高效视频译码(HEVC)标准,及此等标准的扩展等中描述的彼等技术。视频装置可通过实施此等视频压缩技术而更有效率地发射、接收、编码、解码和/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测,以减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块,其还可被称作树型块、译码单元(CU)和/或译码节点。图片的帧内译码(I)切片中的视频块是使用相对于同一图片中的相邻块中的参考样本的空间预测来编码。图片的帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间预测或时间预测导致用于待译码块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量及指示经译码块与预测性块之间的差异的残余数据来编码帧间译码块。根据帧内译码模式及残余数据来编码帧内译码块。为了进一步压缩,可将残余数据从像素域变换至变换域,从而得到残余变换系数,可接着量化所述残余变换系数。可扫描最初布置成二维阵列的经量化的变换系数以便产生变换系数的一维向量,且可应用熵译码以实现甚至更多压缩。
发明内容
一般来说,本发明描述用于对视频数据译码的技术。具体来说,本发明描述用于对变换系数译码的技术。
在本发明的一个实例中,一种编码变换系数的方法包括:获得指示最后有效系数在与视频块相关联的变换系数块内的位置的二进制串;基于视频块大小确定用于所述二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及至少部分基于所述所确定的上下文使用上下文自适应二进制算术译码(CABAC)来编码所述二进制串。
在本发明的另一实例中,一种解码变换系数的方法包括:获得指示最后有效系数在与视频块相关联的变换系数块内的位置的经编码二进制串,其中所述经编码二进制串是使用CABAC来编码;基于视频块大小确定用于所述经编码二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串。
在本发明的另一实例中,一种经配置以在视频编码过程中编码变换系数的设备包括:用于获得指示最后有效系数在与视频块相关联的变换系数块内的位置的二进制串的装置;用于基于视频块大小确定用于所述二进制串的二进制索引的上下文的装置,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及用于至少部分基于所述所确定的上下文使用CABAC来编码所述二进制串的装置。
在本发明的另一实例中,一种经配置以在视频解码过程中解码变换系数的设备包括:用于获得指示最后有效系数在与视频块相关联的变换系数块内的位置的经编码二进制串的装置,其中所述经编码二进制串是使用CABAC来编码;用于基于视频块大小确定用于所述经编码二进制串的二进制索引的上下文的装置,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及用于至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串的装置。
在本发明的另一实例中,一种装置包括视频编码器,其经配置以:获得指示最后有效系数在与视频块相关联的变换系数块内的位置的二进制串;基于视频块大小确定用于所述二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及至少部分基于所述所确定的上下文使用CABAC来编码所述二进制串。
在本发明的另一实例中,一种装置包括视频解码器,其经配置以:获得指示最后有效系数在与视频块相关联的变换系数块内的位置的经编码二进制串,其中所述经编码二进制串是使用CABAC来编码;基于视频块大小确定用于所述经编码二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串。
在本发明的另一实例中,一种非暂时性计算机可读存储媒体具有存储于上面的指令,所述指令在执行时使得视频编码装置:获得指示最后有效系数在与视频块相关联的变换系数块内的位置的二进制串;基于视频块大小确定用于所述二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及至少部分基于所述所确定的上下文使用CABAC来编码所述二进制串。
在本发明的另一实例中,一种非暂时性计算机可读存储媒体具有存储于上面的指令,所述指令在执行时使得视频解码装置:获得指示最后有效系数在与视频块相关联的变换系数块内的位置的经编码二进制串,其中所述经编码二进制串是使用CABAC来编码;基于视频块大小确定用于所述经编码二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串。
一或多个实例的细节陈述于附图及以下描述中。其它特征、目标及优势将从描述及附图和从权利要求书中显而易见。
附图说明
图1为说明实例视频编码及解码***的框图。
图2A至2D说明例示性系数值扫描次序。
图3说明关于系数值块的有效性图的一个实例。
图4为说明可实施本发明中所描述的技术的实例视频编码器的框图。
图5为说明可实施本发明中所描述的技术的实例熵编码器的框图。
图6为说明根据本发明的技术的编码指示最后有效系数的位置的二进制串值的实例的流程图。
图7为说明可实施本发明中所描述的技术的实例视频解码器的框图。
图8为说明可实施本发明中所描述的技术的实例熵解码器的框图。
图9为说明根据本发明的技术的解码指示最后有效系数的位置的二进制串值的实例的流程图。
具体实施方式
一般来说,本发明描述用于对视频数据译码的技术。具体来说,本发明描述用于在视频编码和/或解码过程中对变换系数译码的技术。在基于块的视频译码中,变换系数块可布置成二维(2D)阵列。可执行扫描过程以将变换系数的二维(2D)阵列重新布置成变换系数的经排序一维(1D)阵列(即,向量)。一或多个语法元素可用以基于扫描次序指示最后有效系数(即,非零系数)在变换系数块内的位置。最后有效系数的位置可供视频编码器使用以使变换系数的编码最优化。同样,视频解码器可使用最后有效系数的位置来使变换系数的解码最优化。因此,所要的是,对指示最后有效系数的位置的一或多个语法元素高效地译码。
本发明描述用于对指示最后有效系数的位置的一或多个语法元素译码的技术。在一些实例中,指示最后有效系数的位置的语法元素的全部或一部分可根据以下技术中的任一者受到熵译码:上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、概率区间分割熵译码(PIPE)或其类似者。在利用还可被称作“二进制位”或“二进制位索引”)的二进制索引及上下文指派的熵译码技术中,共同上下文指派可用于针对不同变换块(TU)大小和/或不同色彩分量的二进制位。以此方式,可减少上下文的总数。通过减少上下文的总数,由于需要存储较少上下文,因此视频编码器和/或视频解码器可对指示最后有效系数的位置的语法元素更高效地译码。
图1为说明根据本发明的实例的实例视频编码及解码***10的框图,所述实例视频编码及解码***10可经配置以利用用于对变换系数译码的技术。如图1中所展示,***10包含源装置12,其经由通信信道16将经编码视频发射至目的装置14。经编码视频数据也可存储于存储媒体34或文件服务器36上,且可由目的装置14按需要进行存取。当存储至存储媒体或文件服务器时,视频编码器20可将经译码视频数据提供至另一装置,例如网络接口、光盘(CD)、蓝光或数字视频光盘(DVD)刻录机或压印设施(stamping facility)装置或其它装置等,从而将经译码视频数据存储至存储媒体。同样,例如网络接口、CD或DVD读取器或类似者等与视频解码器30分离的装置可从存储媒体检索经译码视频数据,且将检索到的数据提供至视频解码器30。
源装置12及目的装置14可包括广泛的多种装置中的任一者,所述装置包含台式计算机、笔记本式(即,便携式)计算机、平板计算机、机顶盒、例如所谓智能手机等的电话手机、电视、相机、显示装置、数字媒体播放器、视频游戏机,或其类似者。在许多状况下,此等装置可被配备以进行无线通信。因此,通信信道16可包括无线信道、有线信道,或适合于发射经编码视频数据的无线信道与有线信道的组合。类似地,文件服务器36可经由包含因特网连接的任何标准数据连接而由目的装置14存取。此数据连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器,等等),或两者的组合。
根据本发明的实例的用于对变换系数译码的技术可应用至支持多种多媒体应用中的任一者的视频译码,例如空中电视广播、有线电视发射、***发射、流式传输视频发射(例如,经由因特网)、存储于数据存储媒体上的数字视频的编码、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,***10可经配置以支持单向或双向视频发射以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
在图1的实例中,源装置12包含视频源18、视频编码器20、调制器/解调器22,和发射器24。在源装置12中,视频源18可包含例如视频俘获装置(例如,摄像机)、含有先前俘获的视频的视频存档、自视频内容提供者接收视频的视频馈入接口和/或用于产生计算机图形数据作为源视频的计算机图形***等源,或此等源的组合。作为一个实例,如果视频源18为摄像机,那么源装置12及目的装置14可形成所谓的相机电话或视频电话。然而,本发明中所描述的技术可大体适用于视频译码,且可应用于无线和/或有线应用,或经编码视频数据存储于本地磁盘上的应用。
经俘获、预先俘获或计算机产生的视频可由视频编码器20进行编码。经编码视频信息可由调制解调器22根据例如无线通信协议等的通信标准调制,且经由发射器24发射至目的装置14。调制解调器22可包含各种混频器、滤波器、放大器,或经设计以用于信号调制的其它组件。发射器24可包含经设计以用于发射数据的电路,包含放大器、滤波器及一或多个天线。
由视频编码器20编码的经俘获、预先俘获或计算机产生的视频还可存储于存储媒体34或文件服务器36上以供稍后消耗。存储媒体34可包含蓝光光盘、DVD、CD-ROM、快闪存储器,或用于存储经编码视频的任何其它合适的数字存储媒体。存储在存储媒体34上的经编码视频可接着由目的装置14存取以用于解码及回放。
文件服务器36可为能够存储经编码视频且将所述经编码视频发射到目的装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储器(NAS)装置、本地磁盘驱动器,或能够存储经编码视频数据且将经编码视频数据发射到目的装置的任何其它类型的装置。来自文件服务器36的经编码视频数据的发射可为流式传输发射、下载发射或所述两者的组合。文件服务器36可由目的装置14通过任何标准数据连接(包含因特网连接)存取。此数据连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器、以太网、USB,等等),或两者的组合。
在图1的实例中,目的装置14包含接收器26、调制解调器28、视频解码器30和显示装置32。目的装置14的接收器26经由信道16接收信息,且调制解调器28解调所述信息以产生用于视频解码器30的经解调位流。经由信道16传达的信息可包含由视频编码器20产生以供视频解码器30在解码视频数据时使用的多种语法信息。此语法还可与存储在存储媒体34或文件服务器36上的经编码视频数据包含在一起。视频编码器20和视频解码器30中的每一者可形成能够编码或解码视频数据的各别编码器-解码器(CODEC)的部分。
显示装置32可与目的装置14集成,或在目的装置14外部。在一些实例中,目的装置14可包含集成显示装置,且还可经配置以与外部显示装置接口连接。在其它实例中,目的装置14可为显示装置。一般来说,显示装置32向用户显示经解码的视频数据,且可包括例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置等多种显示装置中的任一者。
在图1的实例中,通信信道16可包括任一无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理发射线,或无线和有线媒体的任一组合。通信信道16可形成例如局域网、广域网或例如因特网的全球网络等基于分组的网络的部分。通信信道16一般表示用于将视频数据从源装置12发射到目的装置14的任何合适的通信媒体或不同通信媒体的集合,包含有线或无线媒体的任何合适组合。通信信道16可包含可用于促进从源装置12到目的装置14的通信的路由器、交换机、基站或任何其它设备。
视频编码器20和视频解码器30可根据视频压缩标准操作,视频压缩标准例如目前正由ITU-T视频译码专家组(VCEG)和ISO/IEC运动图片专家组(MPEG)的关于视频译码的联合合作团队(JCT-VC)开发的高效率视频译码(HEVC)标准,且可符合HEVC测试模型(HM)。视频编码器20和视频解码器30可根据HEVC标准的被称作“HEVC工作草案5”或“WD5”的新近草案操作,所述新近草案描述于文献JCTVC-G1103(Bross等人)“WD5:高效率视频译码(HEVC)的工作草案5”(ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的关于视频译码的联合合作团队(JCT-VC),第7次会议:瑞士日内瓦,2012年11月)中。另外,HEVC的另一新近工作草案(工作草案7)描述于文献HCTVC-I1003(Bross等人)“高效率视频译码(HEVC)文本规范草案7”(ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的关于视频译码的联合合作团队(JCT-VC),第9次会议:瑞士日内瓦,2012年4月27日至2012年5月7日)中。替代地,视频编码器20及视频解码器30可根据例如替代地被称作MPEG-4第10部分高级视频译码(AVC)的ITU-TH.264标准的其它专属或行业标准或者此等标准的扩展而操作。然而,本发明的技术不限于任何特定译码标准。其它实例包含MPEG-2和ITU-T H.263。
尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件及软件,以处理对共同数据流或分离数据流中的音频与视频两者的编码。如果适用,那么在一些实例中,MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
视频编码器20和视频解码器30各自可经实施为例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合等的多种合适编码器电路中的任一者。当所述技术部分地以软件实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且在硬件中使用一或多个处理器来执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含于一或多个编码器或解码器中,其中任一者可集成为各别装置中的组合式编码器/解码器(编解码器(CODEC))的部分。
视频编码器20可实施本发明的用于在视频编码过程中译码变换系数的技术中的任一者或全部。同样,视频解码器30可实施用于在视频译码过程中对变换系数译码的此等技术中的任一者或全部。如本发明中所描述的视频译码器可指视频编码器或视频解码器。类似地,视频译码单元可指视频编码器或视频解码器。同样,视频译码可指视频编码或视频解码。
图1的视频编码器20和视频解码器30表示经配置以进行以下操作的视频译码器的实例:获得指示最后有效系数在视频块内的位置的二进制串;基于视频块大小确定二进制串的二进制索引的上下文,其中上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及至少部分基于所确定的上下文使用上下文自适应二进制算术译码(CABAC)对二进制串译码。
对于根据当前在开发中的HEVC标准的视频译码,视频帧可经分割成译码单元。译码单元(CU)通常是指用作各种译码工具被应用于以实现视频压缩的基本单元的图像区。CU通常具有表示为Y的明度分量,以及表示为U和V的两个色度分量。取决于视频采样格式,依据样本的数目来计的U和V分量的大小可与Y分量的大小相同或不同。CU通常为正方形,且可被视为类似于(例如)依据例如ITU-T H.264等其它视频译码标准的所谓的宏块。为了说明目的,在本申请案中将描述根据正在开发的HEVC标准的目前所提议方面中的一些的译码。然而,本发明中所描述的技术可用于其它视频译码过程,例如根据H.264定义的那些译码过程或其它标准或专属视频译码过程。HEVC标准化努力是基于视频译码装置的被称作HEVC测试模型(HM)的模型。HM假设视频译码装置的优于根据(例如)ITU-T H.264/AVC的装置的若干能力。举例来说,H.264提供九个帧内预测编码模式,而HM提供多达三十四个帧内预测编码模式。
视频序列通常包含一系列视频帧或图片。图片群组(GOP)通常包括一系列的一或多个视频图片。GOP可在GOP的标头、图片中的一或多者的标头中或在别处包含语法数据,所述语法数据描述包含于GOP中的图片的数目。图片的每一切片可包含描述所述各别切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作,以便编码视频数据。视频块可包含对应于CU内的译码节点的一或多个TU或PU。视频块可具有固定或变化的大小,且可根据指定译码标准而在大小上不同。
根据HM,CU可包含一或多个预测单元(PU)和/或一或多个变换单元(TU)。位流内的语法数据可定义最大译码单元(LCU),其为依据像素的数目来计的最大CU。一般来说,除了CU不具有大小区别以外,CU具有类似于H.264的宏块的用途。因此,可将CU***成多个子CU。一般来说,本发明中对CU的参考可指图片的最大译码单元或LCU的子CU。可将LCU***成多个子CU,且可将每一子CU进一步***成多个子CU。用于位流的语法数据可定义可将LCU***的最大次数,所述最大次数被称作CU深度。因此,位流也可定义最小译码单元(SCU)。本发明还使用术语“块”或“部分”来指CU、PU或TU中的任一者。一般来说,“部分”可指视频帧的任一子集。
LCU可与四叉树数据结构相关联。一般来说,四叉树数据结构每CU包含一个节点,其中根节点对应于LCU。如果将CU***成四个子CU,那么对应于CU的节点包含四个叶节点,所述四个叶节点中的每一者对应于所述子CU中的一者。四叉树数据结构的每一节点可提供用于对应CU的语法数据。举例来说,四叉树中的节点可包含***旗标,所述***旗标指示对应于所述节点的CU是否***成多个子CU。可以递归方式定义用于CU的语法元素,且用于CU的语法元素可取决于CU是否***成多个子CU。如果CU未经进一步***,那么CU被称作叶CU。在本发明中,叶CU的4个子CU也将被称作叶CU,尽管不存在原始叶CU的明显***。举例来说,如果具有16×16大小的CU不被进一步***,那么四个8×8子CU也将被称作叶CU,尽管16×16CU从未被***。
此外,叶CU的TU还可与各别四叉树数据结构相关联。即,叶CU可包含指示如何将叶CU分割成多个TU的四叉树。本发明提及指示如何将LCU分割为CU四叉树的四叉树,以及指示如何将叶CU分割成多个TU作为TU四叉树的四叉树。TU四叉树的根节点一般对应于叶CU,而CU四叉树的根节点一般对应于LCU。未经***的TU四叉树的TU被称作叶TU。
叶CU可包含一或多个预测单元(PU)。一般来说,PU表示对应CU的全部或一部分,且可包含用于检索用于PU的参考样本的数据。举例来说,当PU经帧间模式编码时,PU可包含定义用于PU的运动向量的数据。定义运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、用于运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考帧,和/或用于运动向量的参考列表(例如,列表0或列表1)。定义PU的叶CU的数据还可描述(例如)将CU分割成一或多个PU。分割模式可取决于CU是未经译码、经帧内预测模式编码还是经帧间预测模式编码而不同。对于帧内译码,可将PU视为与下文所描述的叶变换单元相同。
作为一实例,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。
为了对块(例如,视频数据的预测单元)进行译码,首先导出用于块的预测子。还被称作预测性块的预测子可经由帧内(I)预测(即,空间预测)或帧间(P或B)预测(即,时间预测)来导出。因此,一些预测单元可使用相对于同一帧(或切片)中的相邻参考块中的参考样本的空间预测来进行帧内译码(I),且其它预测单元可相对于其它先前译码帧(或切片)中的参考样本块进行单向帧间译码(P)或双向帧间译码(B)。在每一状况下,参考样本可用以形成待译码块的预测性块。
在识别了预测性块时,确定原始视频数据块与其预测性块之间的差。此差可被称作预测残余数据,且指示将被译码的块中的像素值与经选择以表示经译码块的预测性块中的像素值之间的像素差。为了实现更好的压缩,预测残余数据可(例如)使用离散余弦变换(DCT)、整数变换、卡南-洛伊夫(Karhunen-Loeve)(K-L)变换或另一变换进行变换。
例如TU等变换块中的残余数据可布置成驻存于空间像素域中的像素差值的二维(2D)阵列。变换将残余像素值转换成例如频域等变换域中的变换系数的二维阵列。为了进一步压缩,在熵译码之前可量化变换系数。熵译码器接着将例如CAVLC、CABAC、PIPE或其类似者等熵译码应用至经量化的变换系数。
为了对经量化的变换系数块进行熵译码,通常执行扫描过程,使得块中经量化变换系数的二维(2D)阵列根据特定扫描次序重新布置成变换系数的经排序的一维(1D)阵列(即,向量)。熵译码接着被应用至变换系数的向量。对变换单元中的经量化变换系数的扫描使变换系数的2D阵列串行化以用于熵译码器。可产生有效性图以指示有效(亦即,非零)系数的位置。可应用扫描以扫描有效(亦即,非零)系数的级别,和/或对有效系数的正负号译码。
在HEVC中,首先针对TU译码有效变换系数的位置信息(例如,有效性图)以指示最后非零系数在扫描次序中的位置。以逆扫描次序针对每一系数对有效性图和级别信息(系数的绝对值和正符号)进行译码。
在进行任何变换以产生变换系数之后,视频编码器20可执行变换系数的量化。量化大体是指如下过程:将变换系数量化以可能地减少用以表示所述系数的数据的量,从而提供进一步压缩。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,可在量化期间将n位值降值舍位至m位值,其中n大于m。在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化的变换系数,以产生可经熵编码的串行化向量。在其它实例中,视频编码器20可执行自适应扫描。
图2A至2D说明一些不同例示性扫描次序。还可使用其它所定义扫描次序或自适应(变化的)扫描次序。图2A说明Z字形扫描次序,图2B说明水平扫描次序,图2C说明垂直扫描次序,且图2D说明对角线扫描次序。还可定义并使用这些扫描次序的组合。在一些实例中,本发明的技术在视频译码过程中在所谓有效性图的译码期间可为特别适用的。
一或多个语法元素可经定义以指示最后有效系数(即,非零系数)的位置,所述位置可取决于与系数块相关联的扫描次序。举例来说,一个语法元素可定义最后有效系数在系数值块内的列位置,且另一语法元素可定义最后有效系数在系数值块内的行位置。
图3说明关于系数值块的有效性图的一个实例。有效性图展示于右侧,其中1位旗标识别左侧视频块中有效(即,非零)的系数。在一个实例中,在给定有效系数的集合(例如,通过有效性图定义)及扫描次序的情况下,可定义出最后有效系数的位置。在新兴HEVC标准中,可将变换系数分组成信息块。信息块可包括整个TU,或在一些状况下,TU可被再分成较小信息块。针对信息块中的每一系数译码有效性图及级别信息(绝对值和正负号)。在一个实例中,对于4×4TU及8×8TU,信息块由呈逆扫描次序(例如,对角线、水平或垂直)的16个连续系数组成。对于16×16及32×32TU,4×4子块内的系数被当作信息块。语法元素经译码且用信号传送以表示信息块内的系数级别信息。在一个实例中,所有符号是以逆扫描次序编码。本发明的技术可改善用以定义系数块的最后有效系数的此位置的语法元素的译码。
作为一个实例,本发明的技术可用以译码系数块(例如,TU或TU的信息块)的最后有效系数的位置。接着,在译码最后有效系数的位置之后,可译码与变换系数相关联的级别及正负号信息。级别及正负号信息的译码可通过以逆扫描次序译码以下符号(例如,对于TU或TU的信息块)根据五遍次方法而进行处理:
significant_coeff_flag(缩写sigMapFlag):此旗标可指示信息块中每一系数的有效性。具有一或大于一的值的系数可被认为是有效的。
coeff_abs_level_greater1_flag(缩写gr1Flag):此旗标可指示系数的绝对值对于非零系数(即,具有为1的sigMapFlag的系数)是否大于1。
coeff_abs_level_greater2_flag(缩写gr2Flag):此旗标可指示系数的绝对值对于具有大于1的绝对值的系数(即,具有为1的gr1Flag的系数)是否大于2。
coeff_sign_flag(缩写signFlag):此旗标可指示非零系数的正负号信息。举例来说,此旗标的零可指示正号,而1可指示负号。
coeff_abs_level_remain(缩写levelRem):此语法元素可指示变换系数级别的剩余绝对值。对于此语法元素,对于具有大于x的幅值的每一系数,系数的绝对值-x可译码为(abs(级别)-x)。x的值取决于gr1Flag和gr2Flag的呈现。若已对gr2Flag进行了译码,则将levelRem值计算为(abs(级别)-2)。如果尚未对gr2Flag进行译码,但已对gr1Flag进行了译码,那么将levelRem值计算为(abs(级别)-1)。
以此方式,可对TU或TU的一部分(例如,信息块)的变换系数译码。在任何状况下,关系到用以定义系数块的最后有效系数的位置的语法元素的译码的本发明的技术还可与用于最终译码变换系数的级别及正负号信息的其它类型的技术一起使用。如本发明中所陈述,用于译码有效性、级别及正负号信息的五遍次方法仅为在译码块的最后有效系数的位置之后可使用的一项实例技术。
在扫描经量化变换系数以形成一维向量之后,视频编码器20可熵编码变换系数的一维向量。视频编码器20还可熵编码与经编码视频数据相关联的语法元素以供视频解码器30用于解码视频数据。熵编码可根据以下技术中的一者来执行:CAVLC、CABAC、基于语法的上下文自适应二进制算术译码(SBAC)、PIPE译码或另一熵编码方法。为了执行CAVLC,视频编码器20可针对待发射的符号选择可变长度代码。可构建可变长度译码(VLC)中的代码字,使得相对较短代码对应于更有可能的符号,而较长代码对应于较不可能的符号。以此方式,与(例如)针对待发射的每一符号使用等长度代码字相比较,使用VLC可实现位节省。
本发明的熵译码技术被具体描述为适用于CABAC,但所述技术还可适用于CAVLC、SBAC、PIPE或其它技术。请注意,PIPE使用类似于算术译码的那些原理的原理。
一般来说,使用CABAC对数据符号译码可涉及以下步骤中的一或多者:
(1)二进制化:如果待译码符号具有非二进制值,那么其被映射至二进制序列,即所谓的“二进制位串”。二进制位串中的每一二进制索引(即,“二进制位”)可具有值“0”或“1”。
(2)上下文指派:在规则模式中,将每一二进制位指派给上下文。二进制位还可根据不指派上下文的绕过模式译码。上下文为概率模型,且常常被称作“上下文模型”。如本文中所使用,术语上下文可指概率模型或概率值。上下文确定对于给定二进制位如何计算二进制位的值的概率。上下文可基于例如先前编码符号的值或二进制位号码等的信息与二进制位的值的概率关联。另外,可基于较高级别(例如,切片)参数将上下文指派给二进制位。
(3)二进制位编码:用算术编码器来编码二进制位。为了编码二进制位,算术编码器需要二进制位的值的概率(即,二进制位的值等于“0”的概率,和/或二进制位的值等于“1”的概率)作为输入。(所估计)概率可在上下文中由被称作“上下文状态”的整数值表示。
(4)状态更新:可基于二进制位的实际经译码值更新所选择上下文的概率(状态)(例如,如果二进制位值为“1”,那么二进制位为“1”的概率可得到增加)。可根据与上下文相关联的转变规则来管控概率的更新。
以下内容为可由视频编码器20执行的最后有效系数语法元素的实例二进制化技术。最后有效系数语法元素可包含最后有效系数在二维块内的行位置和列位置(即,x坐标和y坐标)。对于8×8块,存在系数在列或行内的最后位置的八个不同可能性,即,0,1,...,7。将八个不同二进制位用以表示此等八个行或列位置。举例来说,bin0=1可指示,行或列0处的系数为最后有效系数。在此实例中,如果bin0=0,那么位置0处的系数并非最后系数。等于1的另一二进制位可指示最后有效系数的位置。举例来说,bin1=1可指示,位置1为最后有效系数。作为另一实例,binX=1可指示,位置X为最后有效系数。如上文所描述,每一二进制位可由两种不同方法来编码:(1)用上下文编码二进制位,和(2)使用绕过模式编码二进制位(在无上下文的情况下)。
表1展示最后有效系数的位置的实例二进制化,其中一些二进制位用上下文编码,且其它二进制位使用绕过模式编码。表1中的实例提供用于32×32TU的最后有效系数的实例二进制化。表1的第二列提供最后有效系数在大小为T的TU内的位置的可能值的对应截断一元前缀值,所述大小T由为2log2(T)-1的最大截断一元前缀长度定义。表1的第三列提供每一截断一元前缀的对应固定长度后缀。为了简洁,表1包含指示一或零位值的X值。请注意,X值根据固定长度代码唯一地映射共享截断一元前缀的每一值。表1中最后位置分量的量值可对应于x坐标值和/或y坐标值。请注意,用于4×4、8×8和16×16TU的最后有效系数的二进制化可以类似于关于表1描述的32×32TU的二进制化的方式来定义。
表1.大小为32×32的TU的二进制化,其中X意谓1或0。
如上文所描述,使用CABAC对数据符号进行译码还可涉及上下文指派。在一个实例中,上下文建模可用于二进制位串的经截断一元串部分的算术编码,而上下文建模并不用于二进制位串的固定二进制串的算术编码(即,固定二进制串经绕过)。在使用上下文建模编码截断一元串的状况下,可将上下文指派给二进制串的二进制位索引中的每一者。
存在可将上下文指派给二进制串的每一二进制位索引的若干方式。表示最后有效系数的位置的二进制位串的上下文指派的数目可等于用于可能的TU大小和色彩分量的经截断一元串的二进制位索引的数目或长度。举例来说,如果明度分量的可能大小为4×4、8×8、16×16和32×32,那么当二进制位皆不被绕过时,一个维度的上下文指派的数目可等于60(即,4+8+16+32)。同样,对于具有可能大小4×4、8×8和16×16的每一色度分量,当二进制位皆不被绕过时,上下文指派的数目可等于28(即,4+8+16)。因此,当最后有效系数的位置是使用x和y坐标指定时,上下文指派的最大数目对于每一维度可等于116(即,60+28+28)。以下实例上下文指派假设,一些二进制位根据关于表1描述的二进制化方案将被绕过。然而,请注意,本文中所描述的上下文指派技术可适用于若干二进制化方案。另外,即使在假设一些二进制位将被绕过时,仍存在可将上下文指派给表示最后有效系数的位置的二进制位串的二进制位的众多方式。
在一些状况下,可为所要的是相对于上下文指派的所需要数目的数目来减少上下文的总数。以此方式,编码器或解码器可能不需要存储并维持一样多的上下文。然而,当减少上下文的数目时,(例如)如果两个二进制位以不同概率共享上下文,那么预测准确度也可被减小。另外,特定上下文可被更频繁地更新,其可影响二进制位的值的所估计概率。即,使用所指派上下文对二进制位译码可涉及更新上下文。因此,指派给上下文的后续二进制位可使用所更新上下文来译码。另外,请注意,在一些实例中,上下文模型可在切片级别初始化,使得尽管向二进制位指派了相同上下文,但切片内的二进制位的值不会影响后续切片内的二进制位的译码。本发明描述用于使上下文指派最优化的技术,使得可减少上下文的数目,同时维持所估计概率的准确度。在一个实例中,本文中所描述的上下文指派技术包含向个别二进制位索引指派相同上下文的技术。
以下表2至13说明针对表示最后有效系数在TU内的位置的二进制位串的二进制位索引的上下文指派。请注意,对于表2至13中的一些二进制位(例如,8×8块的二进制位5至7),不指派上下文。此是因为如上文所描述,假设此等二进制位将使用绕过模式来译码。亦请注意,表2至13中的值表示上下文的索引。在表2至13中,当不同二进制位具有相同上下文索引值时,所述不同二进制位共享相同上下文。上下文索引至实际上下文的映射可根据视频译码标准进行定义。表2至13说明上下文被指派给二进制位的通常方式。
表2说明上文关于以上表1提供的实例二进制化的针对不同TU大小的每一二进制位的可能的上下文编索引。在表2的实例中,允许相邻二进制位共享相同上下文。举例来说,8×8TU的二进制位2和3共享相同上下文。
表2:用于最后位置译码的上下文指派
表3至6各自说明根据以下规则的上下文指派的其它实例:
1.前K个二进制位并不共享上下文,其中K>1。K对于每一TU大小可不同。
2.一个上下文仅可被指派给连续二进制位。举例来说,二进制位3至二进制位5可使用上下文5。然而,二进制位3及二进制位5使用上下文5且二进制位4使用上下文6不被允许。
3.不同TU大小的最后N个二进制位(N>=0)可共享相同上下文。
4.共享相同上下文的二进制位的数目随着TU大小而增加。
以上规则1至4对于提供于表1中的二进制化可特别有用。然而,规则1至4对于其它二进制化方案可同样有用,且实际上下文指派可为了经实施的二进制化方案进行相应地调整。
二进制位 0 1 2 3 4 5 6 7 8
索引
TU4x4 0 1 2
TU8x8 3 4 5 6 7
TU16x16 8 9 10 11 11 12 12
TU32x32 13 14 14 15 16 16 16 16 17
表3:根据规则1至4的最后位置二进制位的实例
表4:根据规则1至4的最后位置二进制位的实例
表5:根据规则1至4的最后位置二进制位的实例
表6:根据规则1至4的最后位置二进制位的实例
以下表7至8提供来自不同块大小的最后二进制位共享相同上下文的实例上下文指派,其可进一步使上下文的数目最优化。在一个实例中,直接映射可用以确定如何在两个或两个以上块大小的最后二进制位之间共享上下文。举例来说,对于分别具有大小M和N的块A和块B,块A的第n个二进制位可与块大小B的第n个二进制位使用相同的上下文。
表7:块大小共享相同上下文的最后位置二进制位的实例。
表8展示来自一些块大小的最后位置二进制位彼此共享上下文的另一实例。在此状况下,具有大小8×8和16×16的TU共享相同上下文。
表8:一些块大小(8×8和16×16)共享相同上下文的最后位置二进制位的实例。
在另一实例中,来自不同块大小的最后位置二进制位的上下文映射可使用函数f(.)来导出。举例来说,块大小A中的第n个二进制位可与块大小B中的第m个二进制位共享相同上下文,其中m为n的函数(m=f(n))。举例来说,函数可为线性的,即m=n*a+b,其中a和b为线性函数的参数。表9展示a=1、b=1、A=8×8TU且B=16×16TU的实例。
表9:具有基于线性函数的共享上下文的最后位置二进制位的实例
请注意,当在某些状况下应用以上等式时,归因于整数运算,可涉及舍入。举例来说,7*0.5=3。
根据以下实例,可使用以下等式来计算从8×8块大小中的位置n到4×4块中的位置m的映射:
m=f(n)=n>>1,其意谓a=0.5,b=0,A=8×8,B=4×4 (1)
可使用以下等式来计算从16×16块中的位置n至4×4块中的位置m的映射:
m=f(n)=n>>2,其意谓a=0.5,b=0,A=16×16,B=4×4 (2)
如上文所描述,等式(1)和(2)仅为可用以实施不同大小的块之间的映射的两个实例。等式(1)和(2)可被称作映射函数。请注意,等式(1)和(2)中的“>>”可表示根据例如HEVC等视频译码标准定义的移位运算。另外,其它等式可用以实现相同映射或不同映射。
表10提供根据等式(1)和(2)的针对4×4、8×8和16×16TU的最后有效系数的实例上下文指派。
表10:具有不同大小的变换单元的上下文映射
表11提供表10的使用不同上下文索引值(即,15至17替代0至2)的上下文指派的实例。如上文所描述,表3至12中上下文索引的值并不意欲限制指派给二进制索引的实际上下文。
表11:具有不同大小的变换单元的上下文映射
请注意,表11中上下文的映射等效于以下映射函数:
ctx_index=(n>>k)+15 (3)
其中ctx_index为上下文的索引;
n=二进制位索引
k=log2TrafoDimension-2;
log2TrafoDimension=log2(宽度),对于x维度上的最后位置;
log2TrafoDimension=log2(高度),对于y维度上的最后位置。
在一些状况下,在(1)至(3)中定义的函数可供译码装置使用以建立可存储于存储器中且用以查找上下文指派的一系列表。在一些状况下,可基于本文中所描述且存储于视频编码器20和视频解码器30中的等式和规则来预先确定表。
另外,在一些实例中,上文所定义的函数(1)至(3)可被选择性地应用以向特定二进制位指派上下文。以此方式,可基于不同规则向不同二进制位指派上下文。在一个实例中,例如上文所描述的那些函数的函数可仅应用于小于阙值Th1和/或大于阙值Th2的二进制位索引(即,n的值)。表12展示基于二进制位索引的值(即,n>Th2=2)选择性地应用上文所描述的映射技术的实例。
表12:具有基于线性函数和阙值的共享上下文的最后位置二进制位的实例
在另一实例中,用于将技术应用至二进制位索引的阙值对于不同块大小、不同帧类型、不同色彩分量(Y、U、V)和/或其它辅助信息可不同。此阙值可根据视频译码标准进行预先定义,或可使用高级语法来用信号传送。举例来说,可在序列参数集(SPS)、图片参数集(PPS)、适配参数集(APS)和/或切片标头中用信号传送阙值。
在另一实例中,映射函数对于不同块大小、不同帧类型、不同色彩分量(Y、U和V)和/或其它辅助信息可不同。映射函数可根据视频译码标准进行预先定义,或可使用高级语法来用信号传送。举例来说,可在SPS、PPS、APS和/或切片标头中用信号传送映射函数。
在另一实例中,可基于色彩分量、帧类型、量化参数(QP)和/或其它辅助信息来适应性地应用上文所描述的直接映射和函数映射技术。举例来说,直接映射或函数映射技术可仅应用至色度分量。此适应性的规则可经预先定义,或可使用高级语法用信号传送。举例来说,可在SPS、PPS、APS和/或切片标头中用信号传送适应性的规则。
在另一实例中,色度分量和明度分量的最后位置二进制位可共享相同上下文。此情形可应用于任何块大小,例如,4×4、8×8、16×16或32×32。表13展示4×4TU的明度和色度分量的最后位置二进制位共享上下文的实例。
二进制位索引 0 1 2 3
明度TU4×4 0 1 2
色度TU4×4 0 1 2
表13:4×4TU中的明度和色度分量的最后位置二进制位的实例
图4为说明可使用如本发明中所描述的用于译码变换系数的技术的视频编码器20的实例的框图。举例来说,视频编码器20表示经配置以进行以下操作的视频编码器的实例:获得指示最后有效系数在视频块内的位置的二进制串;基于视频块大小确定二进制串的二进制索引的上下文,其中上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及至少部分基于所确定的上下文使用CABAC对二进制串编码。出于说明目的但不关于可需要扫描变换系数的其它译码标准或方法限制本发明的情况下,将在HEVC译码的上下文中描述视频编码器20。视频编码器20可执行视频帧内的CU的帧内译码及帧间译码。帧内译码依赖于空间预测来减少或移除给定视频帧内的视频数据中的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的当前帧与先前译码帧之间的时间冗余。帧内模式(I模式)可指若干基于空间的视频压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)的帧间模式可指若干基于时间的视频压缩模式中的任一者。
如图4中所展示,视频编码器20接收待编码的视频帧内的当前视频块。在图4的实例中,视频编码器20包含模式选择模块40、运动估计模块42、运动补偿模块44、帧内预测模块46、参考帧缓冲器64、求和器50、变换模块52、量化模块54,和熵编码模块56。说明于图4中的变换模块52为将实际变换或变换的组合应用至残余数据块的模块,且不应与也可被称作CU的变换单元(TU)的变换系数块相混淆。为了视频块重建,视频编码器20还包含反量化模块58、反变换模块60和求和器62。还可包含去块滤波器(图4中未展示)以对块边界进行滤波,以从经重建的视频中移除成块性伪影。如果需要的话,去块滤波器通常将对求和器62的输出进行滤波。
在编码过程期间,视频编码器20接收待译码的视频帧或切片。帧或切片可被划分成多个视频块,例如,最大译码单元(LCU)。运动估计模块42和运动补偿模块44相对于一或多个参考帧中的一或多个块执行所接收视频块的帧间预测性译码以提供时间压缩。帧内预测模块46可相对于与待译码块在相同的帧或切片中的一或多个相邻块执行所接收视频块的帧内预测性译码以提供空间压缩。
模式选择模块40可(例如)基于每一种模式的误差(即,失真)结果而选择译码模式(帧内模式或帧间模式)中的一者,且将所得经帧内或经帧间预测块(例如,预测单元(PU))提供到求和器50以产生残余块数据,且提供到求和器62以重建经编码块以供在参考帧中使用。求和器62组合所预测块与来自反变换模块60的用于所述块的经反量化的经反变换的数据以重建经编码块,如下文更详细描述。可将一些视频帧指明为I帧,其中I帧中的所有块是以帧内预测模式进行编码。在一些状况下,例如,当由运动估计模块42执行的运动搜索并不产生所述块的足够预测时,帧内预测模块46可执行P帧或B帧中的块的帧内预测编码。
运动估计模块42和运动补偿模块44可高度集成,但为了概念目的而分离地加以说明。运动估计(或运动搜索)为产生估计视频块的运动的运动向量的过程。运动向量(例如)可指示当前帧中的预测单元相对于参考帧的参考样本的位移。运动估计模块42通过比较经帧间译码帧的预测单元与存储在参考帧缓冲器64中的参考帧的参考样本来计算用于所述预测单元的运动向量。参考样本可为被发现在像素差方面紧密匹配CU的包含正被译码的PU的部分的块,像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差度量来确定。参考样本可出现在参考帧或参考切片内的任何处,且未必出现在参考帧或切片的块(例如,译码单元)边界处。在一些实例中,参考样本可出现在分数像素位置处。
运动估计模块42将所计算的运动向量发送到熵编码模块56和运动补偿模块44。由运动向量识别的参考帧的部分可被称作参考样本。运动补偿模块44可(例如)通过检索由用于PU的运动向量识别的参考样本来计算用于当前CU的预测单元的预测值。
作为对由运动估计模块42和运动补偿模块44执行的帧间预测的替代,帧内预测模块46可对所接收块执行帧内预测。帧内预测模块46可相对于相邻的先前经译码块(例如,假设块的从左到右、从上到下的编码次序,在当前块上方、右上方、左上方或左侧的块)预测所接收块。帧内预测模块46可经配置而具有多种不同帧内预测模式。举例来说,帧内预测模块46可经配置以基于正被编码的CU的大小而具有某数目个定向预测模式,例如,三十四个定向预测模式。
帧内预测模块46可通过(例如)计算各种帧内预测模式的误差值及选择产生最低误差值的模式来选择帧内预测模式。定向预测模式可包含用于组合空间上相邻像素的值及将组合值应用于PU中的一或多个像素位置的功能。一旦已计算PU中的所有像素位置的值,帧内预测模块46便可基于PU与待编码的所接收块之间的像素差而计算预测模式的误差值。帧内预测模块46可继续测试帧内预测模式,直到发现产生可接受的误差值的帧内预测模式为止。帧内预测模块46可接着将PU发送到求和器50。
视频编码器20通过从正被译码的原始视频块中减去由运动补偿模块44或帧内预测模块46计算的预测数据来形成残余块。求和器50表示执行此减法运算的一或多个组件。残余块可对应于像素差值的二维矩阵,其中残余块中的值的数目与对应于残余块的PU中的像素的数目相同。残余块中的值可对应于PU中和待译码的原始块中的处于相同位置的像素的值之间的差(即,误差)。所述差可取决于经译码的块的类型而为色度差或明度差。
变换模块52可从残余块形成一或多个变换单元(TU)。变换模块52从多个变换中选择变换。可基于一或多个译码特性(例如,块大小、译码模式或其类似者)而选择变换。变换模块52接着对TU应用所选择变换,从而产生包括变换系数的二维阵列的视频块。
变换模块52可将所得变换系数发送到量化模块54。量化模块54可接着使变换系数量化。熵编码模块56可接着根据扫描模式执行对矩阵中的经量化的变换系数的扫描。本发明将熵编码模块56描述为执行扫描。然而,应理解,在其它实例中,例如量化模块54等其它处理模块可执行扫描。
反量化模块58和反变换模块60分别应用反量化和反变换以重建像素域中的残余块(例如)以供稍后用作参考块。运动补偿模块44可通过将残余块与参考帧缓冲器64的帧中的一者的预测性块相加来计算参考块。参考帧缓冲器64有时被称作经解码图片缓冲器(DPB)。运动补偿模块44还可将一或多个内插滤波器应用至经重建残余块以计算子整数像素值以用于运动估计。求和器62将经重建的残余块与由运动补偿模块44产生的运动补偿预测块相加,以产生经重建视频块以供存储于参考帧缓冲器64中。经重建视频块可由运动估计模块42和运动补偿模块44用作参考块以对后续视频帧中的块进行帧间译码。
一旦将变换系数扫描成一维阵列,熵编码模块56便可对系数应用熵译码,例如,CAVLC、CABAC、SBAC、PIPE或另一熵译码方法。在一些状况下,熵编码模块56还可经配置以执行除熵译码外的其它译码功能。举例来说,熵编码模块56可经配置以确定用于CU和PU的经译码块模式(CBP)值。又,在一些状况下,熵编码模块56可执行系数的游程长度译码。在由熵编码模块56进行熵译码之后,可将所得经编码视频发射至例如视频解码器30的另一装置,或经存档以供稍后发射或检索。
根据本发明的技术,熵编码模块56可基于(例如)上文关于表2至13描述的上下文指派和以下各者的任何组合来选择用以编码语法元素的上下文:用于帧内预测模式的帧内预测方向、对应于语法元素的系数的扫描位置、块类型、变换类型,和/或其它视频序列性质。
在一个实例中,熵编码模块56可使用上文关于表1所描述的在HEVC中所采用的二进制化技术来编码最后有效系数的位置。在其它实例中,熵编码模块56可使用其它二进制化技术来编码最后有效系数的位置。在一个实例中,最后有效系数的位置的代码字可包含截断一元代码前缀继之以固定长度代码后缀。在一个实例中,最后位置的每一量值可将相同二进制化用于所有可能的TU大小,唯最后位置等于TU大小减去1的情况下除外。此例外是归因于截断一元译码的性质。在一个实例中,可通过指定x坐标值及y坐标值来指定最后有效系数在矩形变换系数内的位置。在另一实例中,变换系数块可呈1×N向量的形式,且最后有效系数在向量内的位置可通过单一位置值来指定。
图5为说明可实施本发明中所描述的技术的实例熵编码模块56的框图。在一个实例中,说明于图5中的熵编码模块56可为CABAC编码器。实例熵编码模块56可包含二进制化模块502、包含绕过编码引擎504和规则编码引擎508的算术编码模块510,和上下文建模模块506。熵编码模块56接收语法元素,例如表示最后有效变换系数在变换块系数内的位置的一或多个语法元素,且将所述语法元素编码到位流中。语法元素可包含指定最后有效系数在变换系数块内的位置的x坐标的语法元素,及指定最后有效系数在变换系数块内的位置的y坐标的语法元素。
二进制化模块502接收语法元素并产生二进制位串(即,二进制串)。在一个实例中,二进制化模块502接收表示有效系数在变换系数块内的最后位置的语法元素,且根据上文关于表1所描述的实例产生二进制位串。算术编码模块510从二进制化模块502接收二进制位串,且对二进制位串执行算术编码。如图5中所展示,算术编码模块510可自绕过路径或规则译码路径接收二进制位值。与上文所描述的CABAC过程相一致,在算术编码模块510从绕过路径接收二进制位值的状况下,绕过编码引擎504可在不利用指派给二进制位值的上下文的情况下对二进制位值执行算术编码。在一个实例中,绕过编码引擎504可假设二进制位的可能值的相等概率。
在算术编码模块510通过规则路径接收二进制位值的状况下,上下文建模模块506可提供上下文变量(例如,上下文状态),使得规则编码引擎508可基于由上下文建模模块506提供的上下文指派执行算术编码。在一个实例中,算术编码模块510可使用上下文指派来编码位串的前缀部分,且可在不使用上下文指派的情况下编码位串的后缀部分。上下文指派可根据上文关于表2至13所描述的实例来定义。上下文模型可存储于存储器中。上下文建模模块506可包含一系列编索引表,和/或利用映射函数来确定用于特定二进制位的上下文和上下文变量。在编码二进制位值之后,规则编码引擎508可基于实际二进制位值更新上下文,并输出经编码二进制位值作为位流的部分。以此方式,熵编码模块经配置以基于本文中所描述的上下文指派技术来编码一或多个语法元素。
图6为说明根据本发明的技术的用于确定指示最后有效系数的位置的二进制串值的上下文的实例方法的流程图。描述于图6中的方法可通过本文中所描述的实例视频编码器或熵编码器中的任一者来执行。在步骤602处,获得指示最后有效变换系数在视频块内的位置的二进制串。二进制串可根据关于表1描述的二进制化方案来定义。在步骤604处,确定用于二进制串的二进制位值的上下文。可基于本文中所描述的技术将上下文指派给二进制位。可通过视频编码器或熵编码器存取查找表或执行映射函数来确定上下文。上下文可用以导出特定二进制位的特定上下文变量。上下文变量可为指示64个可能概率(状态)中的一者和最有可能状态(例如,“1”或“0”)的7位二进制值。如上文所描述,在一些状况下,二进制位可根据上文所描述的映射函数和表2至13来共享上下文。在步骤606处,使用例如CABAC等的利用上下文变量的算术编码过程来编码二进制位值。请注意,当二进制位共享上下文时,一个二进制位的值可影响用以根据上下文自适应编码技术编码后续二进制位的上下文变量的值。举例来说,如果特定二进制位为“1”,那么可基于后续二进制位为1的增加的概率来编码后续二进制位。以此方式,熵编码二进制串可包含更新上下文模型的上下文状态。另外,请注意,在一些实例中,上下文模型可在切片级别初始化,使得切片内的二进制位的值可不影响后续切片内的二进制位的编码。
图7为说明可使用如本发明中所描述的用于对变换系数译码的技术的视频解码器30的实例的框图。举例来说,视频解码器30表示经配置以进行以下操作的视频解码器的实例:获得指示最后有效系数在视频块内的位置的经编码二进制串,其中经编码二进制串是使用CABAC编码;基于视频块大小来确定经编码二进制串的二进制索引的上下文,其中上下文被指派给至少两个二进制索引,其中至少两个二进制索引中的每一者与不同视频块大小相关联;以及至少部分基于所确定的上下文使用CABAC解码经编码的二进制串。
在图7的实例中,视频解码器30包含熵解码模块70、运动补偿模块72、帧内预测模块74、反量化模块76、反变换模块78、参考帧缓冲器82,和求和器80。在一些实例中,视频解码器30可执行与关于视频编码器20描述的编码遍次大体互逆的解码遍次。
熵解码模块70对经编码位流执行熵解码过程以检索变换系数的一维阵列。所使用的熵解码过程取决于由视频编码器20使用的熵译码(例如,CABAC、CAVLC等)。由编码器使用的熵译码过程可在经编码位流中用信号传送,或可为预定过程。
在一些实例中,熵解码模块70(或反量化模块76)可使用镜像由视频编码器20的熵编码模块56(或量化模块54)使用的扫描模式的扫描来扫描所接收值。尽管可在反量化模块76中执行系数的扫描,但将出于说明的目的而将扫描描述为由熵解码模块70执行。此外,尽管为了易于说明而展示为分离功能模块,但熵解码模块70、反量化模块76和视频解码器30的其它模块的结构和功能性可彼此高度集成。
反量化模块76使提供于位流中且由熵解码单元70解码的经量化的变换系数反量化(即,解量化)。反量化过程可包含常规过程,例如,类似于针对HEVC提议或由H.264解码标准定义的过程。反量化过程可包含使用由视频编码器20针对CU计算的量化参数QP以确定量化的程度,且同样地,确定应应用的反量化的程度。反量化模块76可在将系数从一维阵列转换成二维阵列之前或之后,使变换系数反量化。
反变换模块78对经反量化的变换系数应用反变换。在一些实例中,反变换模块78可基于来自视频编码器20的发信号或通过从一或多个译码特性(例如,块大小、译码模式或其类似者)推断出变换,来确定反变换。在一些实例中,反变换模块78可基于包含当前块的LCU的四叉树的根节点处的用信号传送的变换而确定应用于当前块的变换。替代地,可在LCU四叉树中的叶节点CU的TU四叉树的根部用信号传送变换。在一些实例中,反变换模块78可应用级联反变换,其中反变换模块78将两个或两个以上反变换应用于正被解码的当前块的变换系数。
帧内预测模块74可基于用信号传送的帧内预测模式及来自当前帧的先前经解码块的数据而产生用于当前帧的当前块的预测数据。运动补偿模块72可从经编码位流检索运动向量、运动预测方向和参考索引。参考预测方向指示帧间预测模式是单向(例如,P帧)还是双向(B帧)的。参考索引指示,候选运动向量基于哪个参考帧。基于所检索的运动预测方向、参考帧索引和运动向量,运动补偿模块72产生用于当前部分的经运动补偿的块。这些经运动补偿的块基本上重新创建用以产生残余数据的预测性块。
运动补偿模块72可产生经运动补偿的块,有可能基于内插滤波器而执行内插。待用于具有子像素精度的运动估计的内插滤波器的识别符可包含在语法元素中。运动补偿模块72可使用如在视频块的编码期间由视频编码器20使用的内插滤波器来计算用于参考块的子整数像素的内插值。运动补偿模块72可根据所接收的语法信息来确定由视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生预测性块。
另外,在HEVC实例中,运动补偿模块72和帧内预测模块74可使用语法信息(例如,由四叉树提供)中的一些语法信息来确定用以编码经编码视频序列的(多个)帧的LCU的大小。运动补偿模块72和帧内预测处理单元74还可使用语法信息来确定***信息,所述***信息描述如何***经编码视频序列的帧的每一CU(且同样地,如何***子CU)。语法信息还可包含指示如何编码每一***的模式(例如,帧内预测或帧间预测,且对于帧内预测,为帧内预测编码模式)、用于每一经帧间编码的PU的一或多个参考帧(和/或含有用于参考帧的识别符的参考列表),以及用以解码经编码视频序列的其它信息。
求和器80组合残余块与由运动补偿单元72或帧内预测处理单元74产生的对应预测块以形成经解码块。如果需要的话,还可应用去块滤波器以对经解码块进行滤波,以便移除成块性伪影。接着将经解码视频块存储在参考帧缓冲器82中,参考帧缓冲器82提供用于后续运动补偿的参考块且也产生经解码视频以用于呈现在显示装置(例如,图1的显示装置32)上。参考帧缓冲器82还可被称作DPB。
图8为说明可实施本发明中所描述的技术的实例熵解码模块70的框图。熵解码模块70接收熵编码位流,且解码来自位流的语法元素。在一个实例中,语法元素可表示最后有效变换系数在变换块系数内的位置。语法元素可包含指定最后有效系数在变换系数块内的位置的x坐标的语法元素,及指定最后有效系数在变换系数块内的位置的y坐标的语法元素。在一个实例中,说明于图8中的熵解码模块70可为CABAC解码器。图8中的实例熵解码模块70包含算术解码模块702,所述算术解码模块702可包含绕过解码引擎704和规则解码引擎706。实例熵解码模块70还包含上下文建模单元708和反二进制化模块710。实例熵解码模块70可执行关于图5描述的实例熵编码模块56的互逆功能。以此方式,熵解码模块70可基于本文中所描述的上下文指派技术来执行熵解码。
算术解码模块702接收经编码位流。如图8中所展示,算术解码模块702可根据绕过路径或规则译码路径处理经编码二进制位值。可在位流中以较高级语法用信号传送经编码二进制位值是应根据绕过路径还是根据规则遍次进行处理的指示。与上文所描述的CABAC过程相一致,在算术解码模块702从绕过路径接收二进制位值的状况下,绕过解码引擎704可在不利用指派给二进制位值的上下文的情况下对二进制位值执行算术解码。在一个实例中,绕过解码引擎704可假设二进制位的可能值的相等概率。
在算术解码模块702通过规则路径接收二进制位值的状况下,上下文建模模块708可提供上下文变量,使得规则解码引擎706可基于由上下文建模模块708提供的上下文指派执行算术解码。可根据上文关于表2至13所描述的实例来定义上下文指派。上下文模型可存储于存储器中。上下文建模模块708可包含一系列编索引表,和/或利用映射函数来确定经编码位流的上下文和上下文变量部分。在解码二进制位值之后,规则解码引擎706可基于经解码的二进制位值更新上下文。另外,反二进制化模块710可对二进制位值执行反二进制化,且使用二进制位匹配函数来确定二进制位值是否为有效的。反二进制化模块710还可基于匹配确定来更新上下文建模模块。因此,反二进制模块710根据上下文自适应解码技术来输出语法元素。以此方式,熵解码模块70经配置以基于本文中所描述的上下文指派技术来解码一或多个语法元素。
图9为说明根据本发明的技术的用于从二进制串确定值的实例方法的流程图,所述值指示最后有效系数在变换系数内的位置。描述于图9中的方法可由本文中所描述的实例视频解码器或熵解码单元中的任一者来执行。在步骤902处,获得经编码位流。可从存储器或经由发射来检索经编码位流。可根据CABAC编码过程或另一熵译码过程编码经编码位流。在步骤904处,确定用于经编码的二进制串的一部分的上下文。可基于本文中所描述的技术将上下文指派给经编码的二进制位。可通过视频或熵解码器存取查找表或执行映射函数来确定上下文。可基于提供于经编码位流中的较高级语法来确定上下文。上下文可用以导出用于特定经编码二进制位的特定上下文变量。如上文所描述,上下文变量可为指示64个可能概率(状态)中的一者和最有可能状态(例如,“1”或“0”)的7位二进制值,且在一些状况下,二进制位可共享上下文。在步骤906处,使用例如CABAC等的利用上下文变量的算术解码过程来解码二进制串。可逐个二进制位地解码二进制串,其中在解码每一二进制位之后更新上下文模型。经解码位流可包含进一步用以解码与经编码视频数据相关联的变换系数的语法元素。以此方式,利用上文所描述的技术将上下文指派给特定二进制位可提供编码视频数据的高效解码。
在一或多个实例中,可以硬件、软件、固件或其任何组合来实施所描述功能。如果以软件来实施,那么可将所述功能作为一或多个指令或代码存储在计算机可读媒体上或经由计算机可读媒体而发射,且由基于硬件的处理单元来执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体等有形媒体)或通信媒体,通信媒体包含促进(例如)根据通信协议将计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体一般可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、代码和/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
以实例说明且非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。而且,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源发射软件,则同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电及微波的无线技术包括于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬时媒体,而是有关于非瞬时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常磁性地再生数据,而光盘使用激光光学地再生数据。上文的组合也应包括在计算机可读媒体的范围内。
可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面,可将本文中所描述的功能性提供于经配置以用于编码及解码的专用硬件和/或软件模块内,或并入于组合式编解码器中。并且,可将所述技术完全实施于一或多个电路或逻辑元件中。
本发明的技术可在广泛多种装置或设备中予以实施,所述装置或设备包含无线手机、集成电路(IC)或一组IC(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必需要通过不同硬件单元来实现。更确切地说,如上文所描述,可将各种单元组合于编解码器硬件单元中,或通过结合合适软件和/或固件的互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合来提供所述单元。
已描述了各种实例。这些及其它实例属于所附权利要求书的范围内。

Claims (20)

1.一种编码视频块的变换系数的方法,所述方法包括:
确定指示最后有效系数在与所述视频块相关联的变换系数的变换块内的位置的二进制串,所述二进制串包括前缀部分和后缀部分;
基于所述变换块的大小确定用于所述二进制串的所述前缀部分中的二进制索引的上下文,其中所述上下文根据通过以下函数定义的上下文索引ctx_index被指派给至少两个二进制索引:
ctx_index=(n>>(log2(T)-2))+15,
其中n为二进制索引,>>表示二进制移位操作,且T为所述变换块的尺寸,且其中所述至少两个二进制索引中的每一者与不同变换块大小相关联;以及
至少部分基于所确定的上下文使用上下文自适应二进制算术译码CABAC来编码所述二进制串。
2.根据权利要求1所述的方法,其中所述上下文被指派给16×16变换块的最后二进制索引和32×32变换块的最后二进制索引。
3.根据权利要求2所述的方法,其中第二上下文被指派给所述16×16变换块的相邻二进制索引。
4.根据权利要求1所述的方法,其中至少部分基于所述所确定的上下文使用CABAC编码所述二进制串包含基于所述二进制串的值更新所述上下文,且其中所述变换块为第一变换块,所述方法进一步包括:
确定指示最后有效系数在第二变换块内的位置的第二二进制串,其中所述第一变换块和所述第二变换块的大小不同;以及
至少部分基于经更新的上下文使用CABAC编码所述第二二进制串。
5.一种解码用于视频块的变换系数的方法,所述方法包括:
获得指示最后有效系数在与所述视频块相关联的变换系数的变换块内的位置的经编码二进制串,所述经编码二进制串包括前缀部分和后缀部分,其中所述经编码二进制串是使用上下文自适应二进制算术译码CABAC来编码;
基于所述变换块的大小确定用于所述经编码二进制串的所述前缀部分中的二进制索引的上下文,其中所述上下文根据通过以下函数定义的上下文索引ctx_index被指派给至少两个二进制索引:
ctx_index=(n>>(log2(T)-2))+15,
其中n为二进制索引,>>表示二进制移位操作,且T为所述变换块的尺寸,且其中所述至少两个二进制索引中的每一者与不同变换块大小相关联;
至少部分基于所确定的上下文使用CABAC解码所述经编码二进制串;以及
基于经解码二进制串确定所述最后有效系数在与所述视频块相关联的所述变换系数的变换块中的所述位置。
6.根据权利要求5所述的方法,其中所述上下文被指派给16×16变换块的最后二进制索引和32×32变换块的最后二进制索引。
7.根据权利要求6所述的方法,其中第二上下文被指派给所述16×16变换块的相邻二进制索引。
8.根据权利要求5所述的方法,其中至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串包含基于所述经编码二进制串的值更新所述上下文,且其中所述变换块为第一变换块;且进一步包括:
获得指示最后有效系数在第二变换块内的位置的第二经编码二进制串,其中所述第一变换块和所述第二变换块的大小不同;以及
至少部分基于经更新的上下文使用CABAC解码所述第二经编码二进制串。
9.一种经配置以编码用于视频块的变换系数的设备,所述设备包括:
用于确定指示最后有效系数在与所述视频块相关联的变换系数的变换块内的位置的二进制串的装置,所述二进制串包括前缀部分和后缀部分;
用于基于所述变换块的大小确定用于所述二进制串的所述前缀部分中的二进制索引的上下文的装置,其中所述上下文根据通过以下函数定义的上下文索引ctx_index被指派给至少两个二进制索引:
ctx_index=(n>>(log2(T)-2))+15,
其中n为二进制索引,>>表示二进制移位操作,且T为所述变换块的尺寸,且其中所述至少两个二进制索引中的每一者与不同变换块大小相关联;以及
用于至少部分基于所确定的上下文使用上下文自适应二进制算术译码CABAC来编码所述二进制串的装置。
10.根据权利要求9所述的设备,其中至少部分基于所述所确定的上下文使用CABAC编码所述二进制串包含基于所述二进制串的值更新所述上下文,且其中所述变换块为第一变换块;且进一步包括:
用于确定指示最后有效系数在第二变换块内的位置的第二二进制串的装置,其中所述第一变换块和所述第二变换块的大小不同;以及
用于至少部分基于经更新的上下文使用CABAC熵译码所述第二二进制串的装置。
11.一种经配置以解码用于视频块的变换系数的设备,所述设备包括:
用于获得指示最后有效系数在与所述视频块相关联的变换系数的变换块内的位置的经编码二进制串的装置,所述经编码二进制串包括前缀部分和后缀部分,其中所述经编码二进制串是使用上下文自适应二进制算术译码CABAC来编码;
用于基于所述变换块的大小确定用于所述经编码二进制串的所述前缀部分中的二进制索引的上下文的装置,其中所述上下文根据通过以下函数定义的上下文索引ctx_index被指派给至少两个二进制索引:
ctx_index=(n>>(log2(T)-2))+15,
其中n为二进制索引,>>表示二进制移位操作,且T为所述变换块的尺寸,且其中所述至少两个二进制索引中的每一者与不同变换块大小相关联;
用于至少部分基于所确定的上下文使用CABAC解码所述经编码二进制串的装置;以及
用于基于经解码二进制串确定所述最后有效系数在与所述视频块相关联的所述变换系数的变换块中的所述位置的装置。
12.根据权利要求11所述的设备,其中至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串包含基于所述经编码二进制串的值更新所述上下文,且其中所述变换块为第一变换块;且进一步包括:
用于获得指示最后有效系数在第二变换块内的位置的第二经编码二进制串的装置,其中所述第一变换块和所述第二变换块的大小不同;以及
用于至少部分基于经更新的上下文使用CABAC解码所述第二经编码二进制串的装置。
13.一种经配置以编码用于视频块的变换系数的装置,所述装置包括:
存储器,其经配置以存储所述变换系数;以及
视频编码器,其经配置以:
确定指示最后有效系数在与所述视频块相关联的变换系数的变换块内的位置的二进制串,所述二进制串包括前缀部分和后缀部分;
基于所述变换块的大小确定用于所述二进制串的所述前缀部分中的二进制索引的上下文,其中所述上下文根据通过以下函数定义的上下文索引ctx_index被指派给至少两个二进制索引:
ctx_index=(n>>(log2(T)-2))+15,
其中n为二进制索引,>>表示二进制移位操作,且T为所述变换块的尺寸,且其中所述至少两个二进制索引中的每一者与不同变换块大小相关联;以及
至少部分基于所确定的上下文使用上下文自适应二进制算术译码CABAC来编码所述二进制串。
14.根据权利要求13所述的装置,其中所述上下文被指派给16×16变换块的最后二进制索引和32×32变换块的最后二进制索引。
15.根据权利要求14所述的装置,其中第二上下文被指派给所述16×16变换块的相邻二进制索引。
16.根据权利要求13所述的装置,其中至少部分基于所述所确定的上下文使用CABAC编码所述二进制串包含基于所述二进制串的值更新所述上下文,且其中所述变换块为第一变换块;且其中所述视频编码器经进一步配置以:
确定指示最后有效系数在第二变换块内的位置的第二二进制串,其中所述第一变换块和所述第二变换块的大小不同;以及
至少部分基于经更新的上下文使用CABAC编码所述第二二进制串。
17.一种经配置以解码用于视频块的变换系数的装置,所述装置包括:
存储器,其经配置以存储所述变换系数;以及
视频解码器,其经配置以:
获得指示最后有效系数在与所述视频块相关联的所述变换系数的变换块内的位置的经编码二进制串,所述经编码二进制串包括前缀部分和后缀部分,其中所述经编码二进制串是使用上下文自适应二进制算术译码CABAC来编码;
基于所述变换块的大小确定用于所述经编码二进制串的所述前缀部分中的二进制索引的上下文,其中所述上下文根据通过以下函数定义的上下文索引ctx_index被指派给至少两个二进制索引:
ctx_index=(n>>(log2(T)-2))+15,
其中n为二进制索引,>>表示二进制移位操作,且T为所述变换块的尺寸,且其中所述至少两个二进制索引中的每一者与不同变换块大小相关联;
至少部分基于所确定的上下文使用CABAC解码所述经编码二进制串;以及
基于经解码二进制串确定所述最后有效系数在与所述视频块相关联的所述变换系数的变换块中的所述位置。
18.根据权利要求17所述的装置,其中所述上下文被指派给16×16变换块的最后二进制索引和32×32变换块的最后二进制索引。
19.根据权利要求18所述的装置,其中第二上下文被指派给所述16×16变换块的相邻二进制索引。
20.根据权利要求17所述的装置,其中至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串包含基于所述经编码二进制串的值更新所述上下文,且其中所述变换块为第一变换块;且其中所述视频解码器经进一步配置以:
获得指示最后有效系数在第二变换块内的位置的第二经编码二进制串,其中所述第一变换块和所述第二变换块的大小不同;以及
至少部分基于经更新的上下文使用CABAC解码所述第二经编码二进制串。
CN201280054851.3A 2011-11-08 2012-11-06 用于最后有效系数位置译码的上下文最优化 Active CN104025457B (zh)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201161557317P 2011-11-08 2011-11-08
US61/557,317 2011-11-08
US201161561909P 2011-11-20 2011-11-20
US61/561,909 2011-11-20
US201261588579P 2012-01-19 2012-01-19
US61/588,579 2012-01-19
US201261596049P 2012-02-07 2012-02-07
US61/596,049 2012-02-07
US13/669,096 2012-11-05
US13/669,096 US9357185B2 (en) 2011-11-08 2012-11-05 Context optimization for last significant coefficient position coding
PCT/US2012/063717 WO2013070610A1 (en) 2011-11-08 2012-11-06 Context optimization for last significant coefficient position coding

Publications (2)

Publication Number Publication Date
CN104025457A CN104025457A (zh) 2014-09-03
CN104025457B true CN104025457B (zh) 2017-06-30

Family

ID=48223671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280054851.3A Active CN104025457B (zh) 2011-11-08 2012-11-06 用于最后有效系数位置译码的上下文最优化

Country Status (15)

Country Link
US (1) US9357185B2 (zh)
EP (3) EP2777163B1 (zh)
JP (1) JP5955974B2 (zh)
KR (1) KR101677356B1 (zh)
CN (1) CN104025457B (zh)
AU (1) AU2012336023B2 (zh)
BR (2) BR112014011062B1 (zh)
CA (1) CA2854816C (zh)
ES (1) ES2700523T3 (zh)
IL (1) IL232331A (zh)
IN (1) IN2014CN03431A (zh)
MY (1) MY168322A (zh)
RU (1) RU2586002C2 (zh)
SG (1) SG11201401614TA (zh)
WO (1) WO2013070610A1 (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SI2728866T1 (sl) * 2011-06-28 2019-03-29 Samsung Electronics Co., Ltd. Postopek dekodiranja videa z uporabo aritmetičnega dekodiranja
WO2013067435A1 (en) * 2011-11-04 2013-05-10 Huawei Technologies Co., Ltd. Differential pulse code modulation intra prediction for high efficiency video coding
CN108235015A (zh) * 2011-11-08 2018-06-29 三星电子株式会社 用于对视频进行解码的设备
US9154792B2 (en) 2011-11-08 2015-10-06 Qualcomm Incorporated Progressive coding of position of last significant coefficient
US9357185B2 (en) * 2011-11-08 2016-05-31 Qualcomm Incorporated Context optimization for last significant coefficient position coding
WO2013082291A2 (en) * 2011-11-29 2013-06-06 Huawei Technologies Co., Ltd. Unified partitioning structures and signaling methods for high efficiency video coding
US9654139B2 (en) 2012-01-19 2017-05-16 Huawei Technologies Co., Ltd. High throughput binarization (HTB) method 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
US20130188736A1 (en) * 2012-01-19 2013-07-25 Sharp Laboratories Of America, Inc. High throughput significance map processing 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
US9237344B2 (en) * 2012-03-22 2016-01-12 Qualcomm Incorporated Deriving context for last position coding for video coding
US20150326859A1 (en) * 2012-06-28 2015-11-12 Nec Corporation Video quantization-parameter encoding method, video quantization-parameter decoding method, device, and program
GB2513111A (en) * 2013-04-08 2014-10-22 Sony Corp Data encoding and decoding
US9215464B2 (en) * 2013-09-19 2015-12-15 Blackberry Limited Coding position data for the last non-zero transform coefficient in a coefficient group
US11323733B2 (en) 2014-05-23 2022-05-03 Qualcomm Incorporated Predictor palette initialization in palette-based video coding
US10382749B2 (en) * 2014-05-23 2019-08-13 Qualcomm Incorporated Coding run values based on palette index in palette-based video coding
US10291940B2 (en) 2014-05-23 2019-05-14 Qualcomm Incorporated Coding runs with escape in palette-based video coding
CN107079151B (zh) 2014-09-26 2020-06-05 株式会社Kt 用于处理视频信号的方法和设备
US10477218B2 (en) 2014-10-20 2019-11-12 Kt Corporation Method and apparatus for predicting and restoring a video signal using palette entry
CN111800632B (zh) 2015-01-15 2024-03-29 株式会社Kt 对编码视频信号解码的方法和对视频信号编码的方法
US10477244B2 (en) 2015-01-29 2019-11-12 Kt Corporation Method and apparatus for predicting and restoring a video signal using palette entry and palette mode
CN107409224B (zh) 2015-01-29 2020-09-08 株式会社Kt 用于处理视频信号的方法和设备
WO2016159610A1 (ko) 2015-04-02 2016-10-06 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10708164B2 (en) * 2016-05-03 2020-07-07 Qualcomm Incorporated Binarizing secondary transform index
EP3270594A1 (en) * 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for advanced cabac context adaptation for last coefficient coding
EP3270595A1 (en) * 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for last coefficient coding for adaptive transform based video compression
CN117119195A (zh) 2018-03-29 2023-11-24 弗劳恩霍夫应用研究促进协会 变换系数块编码
US20210274182A1 (en) * 2018-07-02 2021-09-02 Interdigital Vc Holdings, Inc. Context-based binary arithmetic encoding and decoding
US11483575B2 (en) * 2018-08-24 2022-10-25 Hfi Innovation Inc. Coding transform coefficients with throughput constraints
US11336918B2 (en) 2018-09-05 2022-05-17 Qualcomm Incorporated Regular coded bin reduction for coefficient coding
RU2766571C1 (ru) * 2018-09-23 2022-03-15 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ кодирования/декодирования видеосигналов и устройство для этого
BR122021011813A2 (pt) * 2018-11-12 2021-08-10 Lg Electronics Inc. Método de decodificação de imagens através de um aparelho de decodificação, método de codificação de imagens através de um aparelho de codificação e mídia de armazenamento legível por computador não transitória
US10904548B2 (en) 2018-12-06 2021-01-26 Qualcomm Incorporated Coefficient processing for video encoding and decoding
KR102388807B1 (ko) * 2018-12-17 2022-04-20 엘지전자 주식회사 고주파 제로잉을 기반으로 변환 계수 스캔 순서를 결정하는 방법 및 장치
US10798397B2 (en) * 2019-01-02 2020-10-06 Tencent America LLC Method and apparatus for video coding
US11134273B2 (en) 2019-02-14 2021-09-28 Qualcomm Incorporated Regular coded bin reduction for coefficient coding
SG11202109076QA (en) 2019-03-11 2021-09-29 Interdigital Vc Holdings Inc Entropy coding for video encoding and decoding
US11218735B2 (en) * 2019-04-02 2022-01-04 Qualcomm Incorporated Context derivation for last position coding for video coding
US11949870B2 (en) * 2019-06-21 2024-04-02 Qualcomm Incorporated Context modeling for low-frequency non-separable transformation signaling for video coding
US11336893B2 (en) * 2020-01-07 2022-05-17 Qualcomm Incorporated Context derivation and entropy coding initialization parameters for coordinates of last position coding in video coding
US11785219B2 (en) 2020-04-13 2023-10-10 Qualcomm Incorporated Coefficient coding for support of different color formats in video coding
WO2024011076A1 (en) * 2022-07-06 2024-01-11 Bytedance Inc. Method, apparatus, and medium for video processing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101951516A (zh) * 2010-09-25 2011-01-19 清华大学 基于h.264/avc中cabac的并行编码实现电路及编码方法
CN102187583A (zh) * 2008-08-19 2011-09-14 汤姆森特许公司 基于上下文的自适应二进制算术编码(cabac)的视频流兼容性

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2277174T3 (es) 2002-05-02 2007-07-01 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Codificacion aritmetica de coeficientes de transformacion.
US6900748B2 (en) 2003-07-17 2005-05-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
KR100612015B1 (ko) 2004-07-22 2006-08-11 삼성전자주식회사 컨텍스트 적응형 이진 산술 부호화 방법 및 그 장치
DE102004049156B4 (de) 2004-10-08 2006-07-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codierschema für einen ein zeitlich veränderliches Graphikmodell darstellenden Datenstrom
CN101167366B (zh) 2005-12-05 2010-10-27 华为技术有限公司 一种二进制化方法及装置
US8275045B2 (en) * 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
US20100040136A1 (en) 2008-08-13 2010-02-18 Horizon Semiconductors Ltd. Method for performing binarization using a lookup table
EP2559166B1 (en) 2010-04-13 2017-11-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Probability interval partioning encoder and decoder
KR102310816B1 (ko) 2010-05-12 2021-10-13 인터디지털 매디슨 페턴트 홀딩스 에스에이에스 통합된 유효성 맵 코딩을 위한 방법 및 장치
US9591320B2 (en) 2010-07-15 2017-03-07 Texas Instruments Incorporated Context and bypass encoding video
US9641846B2 (en) 2010-10-22 2017-05-02 Qualcomm Incorporated Adaptive scanning of transform coefficients for video coding
US8861599B2 (en) 2011-03-08 2014-10-14 Sony Corporation Context reduction for last transform position coding
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
US20130003858A1 (en) * 2011-06-30 2013-01-03 Vivienne Sze Simplified Context Selection For Entropy Coding of Transform Coefficient Syntax Elements
EP2740272A4 (en) * 2011-08-04 2015-04-08 Mediatek Inc METHOD AND DEVICE FOR RECORDING BINARIZATION OF SYNTAX ELEMENTS IN CABAC
US8964849B2 (en) * 2011-11-01 2015-02-24 Blackberry Limited Multi-level significance maps for encoding and decoding
US9154792B2 (en) 2011-11-08 2015-10-06 Qualcomm Incorporated Progressive coding of position of last significant coefficient
CN108235015A (zh) 2011-11-08 2018-06-29 三星电子株式会社 用于对视频进行解码的设备
US9357185B2 (en) * 2011-11-08 2016-05-31 Qualcomm Incorporated Context optimization for last significant coefficient position coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102187583A (zh) * 2008-08-19 2011-09-14 汤姆森特许公司 基于上下文的自适应二进制算术编码(cabac)的视频流兼容性
CN101951516A (zh) * 2010-09-25 2011-01-19 清华大学 基于h.264/avc中cabac的并行编码实现电路及编码方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Binarisation modification for last position coding;Vadim Seregin;《Joint Collaborative Team on Video Coding,6th Meeting: Torino, IT, 14-22 July, 2011》;20110716;第1-9页 *
Context reduction of the last transform position in JCTVC-D262 for CE11.1;Cheung Auyeung;《Joint Collaborative Team on Video Coding,5th Meeting: Geneva, CH, 16-23 March, 2011》;20110318;第1-6页 *

Also Published As

Publication number Publication date
US9357185B2 (en) 2016-05-31
EP3439305B1 (en) 2020-03-11
AU2012336023A1 (en) 2014-05-22
IL232331A0 (en) 2014-06-30
BR112014011062A8 (pt) 2017-06-20
KR20140098120A (ko) 2014-08-07
EP3637768A1 (en) 2020-04-15
JP5955974B2 (ja) 2016-07-20
WO2013070610A1 (en) 2013-05-16
US20130114676A1 (en) 2013-05-09
IL232331A (en) 2017-05-29
EP2777163A1 (en) 2014-09-17
RU2586002C2 (ru) 2016-06-10
BR112014011062B1 (pt) 2021-06-29
KR101677356B1 (ko) 2016-11-17
IN2014CN03431A (zh) 2015-09-04
BR112014011062A2 (pt) 2017-06-13
JP2015502080A (ja) 2015-01-19
AU2012336023B2 (en) 2016-01-07
EP3439305A1 (en) 2019-02-06
CA2854816C (en) 2017-06-06
EP3637768B1 (en) 2021-04-21
CA2854816A1 (en) 2013-05-16
RU2014123383A (ru) 2015-12-20
ES2700523T3 (es) 2019-02-18
SG11201401614TA (en) 2014-07-30
CN104025457A (zh) 2014-09-03
BR122020003135B1 (pt) 2021-07-06
EP2777163B1 (en) 2018-10-10
MY168322A (en) 2018-10-30

Similar Documents

Publication Publication Date Title
CN104025457B (zh) 用于最后有效系数位置译码的上下文最优化
JP6802260B2 (ja) ビデオコーディングにおける係数レベルのコーディング
CN104025603B (zh) 最后有效系数的位置的渐进式译码
CN103238323B (zh) 在视频译码中基于视频块的扫描次序对块内的最后有效系数的位置进行译码
CN103404144B (zh) 视频译码中的经量化脉码调制
CN103703776B (zh) 在视频译码中的系数扫描
CN103190147B (zh) 用于视频译码的语法元素的联合译码方法及设备
CN103299620B (zh) 在视频译码中使用最可能扫描次序对用于视频块的扫描次序信息进行有效译码
CN103262533B (zh) 指示用于视频译码的帧内预测模式选择的方法,及编解码设备
CN104205830B (zh) 用于在视频译码中的参考索引译码的旁路二进制位的方法、设备及装置
CN104247421B (zh) 用于系数扫描的系数群及系数译码
CN103636224B (zh) 用于视频压缩中的系数等级译码的上下文
CN104041029B (zh) 确定在视频译码中用于译码变换系数数据的上下文
CN104685875B (zh) 用于视频译码的方法、设备、计算机可读存储媒体
CN103999367B (zh) 用于上下文自适应二进制算术译码的上下文缩减的数目
CN103797801B (zh) 视频译码中的非正方形变换单元和预测单元
CN103947120B (zh) 使用二进制算术译码过程熵译码视频数据的方法及其设备
CN103238322B (zh) 在视频译码中单独地译码视频块的最后有效系数的位置
CN104255035B (zh) 视讯译码中的量化参数(qp)译码
CN103931182B (zh) 帧内预测视频译码中的非正方形变换
CN105027561B (zh) 用于上下文自适应、多层级有效性译码的上下文导出
CN104067524B (zh) 具有精简的初始化值集合的上下文自适应熵译码
CN107667531A (zh) 使用增强型上下文自适应二进制算术译码设计来译码数据
CN103959775A (zh) 帧内模式视频译码
CN104221380A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1197951

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20171101

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: 1197951

Country of ref document: HK

TR01 Transfer of patent right

Effective date of registration: 20211008

Address after: California, USA

Patentee after: QUALCOMM Inc.

Address before: Ai Erlandubailin

Patentee before: Willow Media International Ltd.

TR01 Transfer of patent right