CN108259900B - 针对视频的上下文自适应二进制熵编码的变换系数编码 - Google Patents

针对视频的上下文自适应二进制熵编码的变换系数编码 Download PDF

Info

Publication number
CN108259900B
CN108259900B CN201810249582.5A CN201810249582A CN108259900B CN 108259900 B CN108259900 B CN 108259900B CN 201810249582 A CN201810249582 A CN 201810249582A CN 108259900 B CN108259900 B CN 108259900B
Authority
CN
China
Prior art keywords
coefficient
group
last
zero
coefficient group
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
CN201810249582.5A
Other languages
English (en)
Other versions
CN108259900A (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.)
BlackBerry Ltd
Original Assignee
BlackBerry Ltd
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 BlackBerry Ltd filed Critical BlackBerry Ltd
Priority to CN201810249582.5A priority Critical patent/CN108259900B/zh
Publication of CN108259900A publication Critical patent/CN108259900A/zh
Application granted granted Critical
Publication of CN108259900B publication Critical patent/CN108259900B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/93Run-length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems

Abstract

描述了用于对视频进行编码和解码的方法和设备,该方法和设备将变换块划分为系数组。在组内按反扫描顺序对非零系数内的系数进行游长编码。在系数编码之前,对指示哪个系数组按组扫描顺序是包含非零系数的最后系数组的数据进行编码。然后,对指示在该系数组内按扫描顺序的最后非零系数在该最后非零系数组内的位置的数据进行编码。从而,在知晓系数的位置且不需要块结束标志的情况下,解码器能够对游长数据进行解码。

Description

针对视频的上下文自适应二进制熵编码的变换系数编码
本申请是申请日为2013年1月16的题为“针对视频的上下文自适应二进制熵编码的变换系数编码”的发明专利申请No.201380016680.X的分案申请。
版权通知
本文件的一部分公开内容和所附材料包含了要求版权的材料。当该传真复制出现在专利商标局文件或记录中时,版权所有者不反对任何人对该专利文件或专利公开内容进行传真复制,但是保留除此之外的所有其他版权。
技术领域
本申请总体上涉及数据压缩,具体地,涉及用于在对视频的上下文自适应二进制熵编码中对变换系数进行编码的方法和设备。
背景技术
在多种背景下出现数据压缩。其在通信和计算机联网中经常用于高效地存储、发送、和再现信息。其在图像、音频和视频的编码中具有特别的应用。由于每个视频帧所要求的大量数据以及编码和解码经常需要发生的速度,视频向数据压缩提出了重大的挑战。高级音频和视频编码标准(“AVS”)是在中国开发的现有音频和视频编码标准。已开始开发替代AVS的下一代标准的工作,该下一代标准可以被称为AVS2。
很多视频编码标准使用基于块的编码过程。在这些过程中,将图像或帧分为块,通常是4x4或8x8(然而在一些情况下可以使用非正方形的块),且将块频谱变换为系数,并进行量化和熵编码。在很多情况下,被变换的数据不是实际的像素数据,而是在预测操作之后的残余数据。预测可以是帧内预测(即在帧/图像内的块到块)或帧间预测(即,在帧之间(也被称为运动预测))。
为了压缩数据,量化变换系数的编码被设计为利用变换特性来改进压缩。在AVS的情况下,使用四元组对系数进行编码:程(level)、游(run)、符号(sign)、块结束(EOB)标志。编码是从变换块中最后非零系数开始沿反锯齿(zig-zag)方向的(因此,要求EOB标志)。
使用一元二进制化将“程减一”(level-minus-one)和“游”数据进行二进制化,然后使用基于上下文的熵编码对二进制值(bin)进行编码。具体地,AVS针对变换系数数据使用算术编码。
AVS的现有编码方案存在一些缺陷。在一些情况下,可能出现长游。在32x32块的情况下,最差情况下的游是1023。当二进制化时,这导致要对具有1024个二进制值的数目进行编码。EOB标志呈现了类似的最差情况开销。例如,在使用32x32块的情况下,最差情况场景是1024个非零系数,这意味着1023个EOB标志。最终,由于AVS所采用的编码方案,在对所有变换系数进行解码之前,解码器不具有与块中的变换系数的位置相关的任何先验知识。这使得该数据不能用于改进上下文确定或其他编码判定。
附图说明
现在将通过示例来参考示出了本申请的示例实施例的附图,在附图中:
图1示出了被分为系数组的变换块的示例,并示出了锯齿组扫描顺序;
图2示出了图1的示例变换块以及在系数组中的锯齿扫描顺序的示例;
图3示出了被映射到变换块的CG标志的一个示例;
图4以流程图形式示出了使用程游(level-run)信息和系数组划分进行编码的方法的一个实施例;
图5以流程图形式示出了对程游信息进行解码以重构残余的方法的一个实施例;
图6以图形方式示出了在系数组边界处截断的程游编码的示例;
图7以图形方式示出了跨系数组边界的程游编码的示例;
图8示出了变换块的区域划分的示例;
图9以框图形式示出了视频编码器的一个实施例;
图10以框图形式示出了视频解码器的一个实施例;
图11示出了示例系数组;
图12以图解方式示出了包含与图11的系数组相对应的程游对在内的双向链表;
图13示出了在由于RDOQ造成非零系数转变为零系数之后的图12的双向链表;以及
图14以流程图形式示出了用于使用RDOQ对变换系数进行编码的示例过程。
在不同的附图中使用了类似的附图标记来表示类似的组件。
具体实施方式
在第一方面中,本申请描述了一种使用视频解码器对编码视频的比特流中的视频进行解码的方法,所述视频包括被划分为块的图片,所述块的残余数据被频谱变换为变换块,每个变换块被进一步划分为系数组。所述方法包括:对最后系数组数据进行解码,所述最后系数组数据指示按组扫描顺序的包含非零变换系数的最后系数组;对最后系数数据进行解码,所述最后系数数据指示所述最后系数组内按扫描顺序的最后非零变换系数在所述最后系数组内的位置;以及对所述最后系数组的程、游和符号数据进行解码,以重构所述最后系数组的变换系数。
本申请还公开了一种使用视频编码器对视频进行编码的方法,所述视频包括被划分为块的图片,所述块的残余数据被频谱变换为变换块,每个变换块被进一步划分为系数组。所述方法包括:对最后系数组数据进行编码,所述最后系数组数据指示按组扫描顺序的包含非零变换系数的最后系数组;对最后系数数据进行编码,所述最后系数数据指示所述最后系数组内按扫描顺序的最后非零变换系数在所述最后系数组内的位置;以及对用于重构所述最后系数组的变换系数的所述最后系数组的程、游和符号数据进行编码。
在另一方面中,本申请描述了一种使用视频编码器对视频进行编码的方法,所述视频包括被划分为变换系数的变换块的图片,每个块被进一步划分为系数组,其中,按反扫描顺序使用程游编码对变换系数进行编码。所述方法包括:针对包含非零变换系数的每个系数组,形成双向链表,所述双向链表针对该系数组中的每个程游对具有节点,在头节点和尾节点之间的每个节点被链接到按反扫描顺序的前一节点并被链接到按反扫描顺序的下一节点,其中,所述头节点对应于按扫描顺序的最后非零系数以及所述尾节点对应于按扫描顺序的第一非零系数,所述头节点不具有前一节点以及所述尾节点不具有下一节点;以及针对所述表中的每个节点,基于速率失真优化表达来选择“程”。如果所选“程”非零且不同于当前节点的“程”,则基于所选“程”来更新该节点的“程”,以及如果所选“程”是零,则从所述双向链表中移除该节点并更新其前一节点的“游”值。
在又一方面中,本申请描述了被配置为实现这种编码和解码方法的编码器和解码器。
在再一方面中,本申请描述了存储计算机可执行程序指令的非瞬时计算机可读介质,当执行所述计算机可执行程序指令时,所述计算机可执行程序指令将处理器配置为执行所述编码和/或解码方法。
根据以下结合附图对示例的描述的论述,本领域普通技术人员将理解本申请的其他方面和特征。
在随后的描述中,参考用于视频编码的AVS标准和/或开发中的AVS2标准来描述一些示例实施例。本领域普通技术人员将理解:本申请不限于AVS或AVS2,而是可以适用于其他视频编码/解码标准,包括可能的未来标准、多视图编码标准、可伸缩视频编码标准、以及可重配置视频编码标准。
在随后的描述中,当提到视频或图像时,术语帧、图片、切片、分片和矩形切片组可以在某种程度上相互交换使用。在一些情况下,一系列帧/图片可以被称为“序列”。在其他实现中可以使用其他术语。还将意识到:可以逐帧来执行特定编码/解码操作,一些是逐切片执行的,一些是逐图片执行的,一些是逐分片执行的,且一些是逐矩形切片组执行的,这取决于适用的图像或视频编码标准的具体要求或术语。在任何具体实施例中,适用的图像或视频编码标准可以视情况确定下面描述的操作是针对帧和/或切片和/或图片和/或分片和/或矩形切片组来执行的。因此,本领域普通技术人员在考虑到本公开的情况下将理解:针对给定实施例,本文描述的具体操作或过程以及对帧、切片、图片、分片、矩形切片组的具体引用适用于帧、切片、图片、分片、矩形切片组、还是这些中的一些或全部。如根据以下描述将变得显而易见的,这对于编码树单位、编码单位、预测单位、变换单位等同样成立。术语“块”可以用于指代编码树单位、编码单位、预测单位、或变换单位,这取决于其所使用的上下文。
将理解:本文描述的编码器或解码器均可以在包含一个或多个处理元件和存储器在内的专用计算设备或通用计算设备上实现。编码器或解码器执行的操作视情况可以例如通过专用集成电路来实现,或通过所存储的可由通用处理器执行的程序指令来实现。设备可以包括附加软件,该附加软件包括例如用于控制基本设备功能的操作系统。本领域普通技术人员在注意到以下描述的情况下将意识到其中可以实现编码器或解码器的设备和平台的范围。
编码器接收视频源并产生编码比特流。解码器接收编码比特流并输出解码视频帧。解码器可以被实现为视频回放设备的一部分,即,可以在显示设备上显示输出视频。将理解:诸如计算机、机顶盒、DVD或蓝光播放器之类的视频回放机和/或移动手持设备可以在显示设备上显示之前在存储器中对解码帧进行缓存。编码器和解码器可以被配置为以符合多种视频压缩标准的方式来工作。例如,编码器和解码器可以是符合AVS的。在其他实施例中,编码器和解码器可以符合其他视频压缩标准,包括AVS标准的演进,例如AVS2。
与任何基于块的混合编码框架一样,AVS将图片/帧划分为块。使用预测操作来生成预测块。该预测可以是空间预测,即帧内预测,在帧内预测中,本地重构像素是预测的基础,或者预测可以是时间预测,即帧间预测,在帧间预测中,来自附近图片/帧的重构像素是预测的基础。预测块和原始数据之间的差异是后续被编码的残余或误差。
首先通过以下方式对残余进行编码:使用例如DCT(或DST、或小波变换等)操作对残余进行频谱变换以将残余数据块变换为变换系数块。最左上角的系数是DC系数,且其他系数越远离最左上角系数,就是逐渐越高频率的系数。在很多情况下,变换块的右下部分有可能包含所有零系数,这就是为什么频谱变换对压缩有帮助。
然后使用量化步长对变换系数进行量化。在一些情况下,量化步长对于给定序列、图片/帧、或块可以是固定的。在一些情况下,量化步长更一般地是量化矩阵,其中,可以对变换块中的不同系数位置进行使用位置特定量化步长的量化。在一些实施例中,变换和量化操作被集成到单一操作中。在一些情况下,本文的描述可以将量化变换系数简称为“变换系数”或“系数”。将意识到:当提到对“变换系数”或“系数”的熵编码时,这些变换系数通常将是已被量化的。
根据适用的编码标准所规定的语法和编码方案,对量化变换系数块进行熵编码。在AVS情况下,按反扫描顺序来读取系数,其中,将扫描顺序定义为从最左上角系数到最右下角系数前进的锯齿扫描顺序。AVS中的实际编码开始于块中的最后有效(significant)系数,即,按扫描顺序的最后非零系数,并按反扫描顺序回到最左上角系数。被编码的数据包括四部分[程、游、符号、EOB]。“程”指示当前非零系数的量值(减1),“游”指示当前系数和按反扫描顺序的下一个非零系数之间的零系数的数目,符号指示非零系数的符号,以及EOB标志指示该当前系数是否是块中按扫描顺序的“第一个”非零系数,即,这是否是该块的按反扫描顺序编码的最后非零系数。
使用一元二进制化对“游”和“程”值进行二进制化。然后对二进制化的数据进行上下文自适应熵编码。
如上所述,EOB标志表示在具有相对多的非零系数的块中的显著开销成本。此外,“游”值可以在具有至少一个高频非零系数的稀疏块中较大,其导致由于一元二进制化方案而产生的对大量二进制值进行编码。最后,在解码器完成对所有变换系数数据的解码并检测到指示当前非零系数完成了该块的数据的EOB标志之前,解码器不知道正在被解码的任何数据在块中的位置。
本申请提供了通过信号通知最后有效系数数据来消除对EOB标志的使用的方法和系统。此外,为了改进压缩效率,降低计算复杂度,和/或简化变换编码设计,本申请提供了将每个块进一步划分为非重叠的系数组的方法和系统。在很多实施例中,系数组是正方形块,例如4x4,然而在一些实施例中,它们可以是非正方形的,例如2x8,或者在一些情况下,是按扫描顺序的1-D系数序列。在一些情况下,可以将系数组称为“子块”或“子编码块”。
现在参考图1,其示出了变换块100的示例。在该情况下,变换块100是16x16变换系数块。该变换块100已被分为十六个4x4系数组(CG),其中一些标有附图标记102。每个系数组102包含十六个变换系数。
逐系数组来执行对变换系数的编码。即,对一个系数组中的十六个变换系数进行编码,之后移动到下一个系数组。
在图1中指出了组扫描顺序104。在本示例中的组扫描顺序106是锯齿扫描顺序,其从最左上角系数组开始并向着最右下角系数组前进。在一些实施例中,按反组扫描顺序对系数组进行编码/解码,这意味着最左上角系数组是要编码/解码的最后系数组。
现在还参考图2,其示出了变换块100和在系数组102a之一中的扫描顺序108。系数组中的扫描顺序108对该系数组内的系数的处理进行排序。在该示例中,扫描顺序108是系数的锯齿扫描顺序。在一些实施例中,按扫描顺序108的逆序(“反扫描顺序”)对系数(特别是它们的程-游-符号数据)进行编码/解码。反扫描顺序开始于最右下角系数并向着最左上角系数以锯齿扫描方式前进。
将理解:在这些示例中描述的基于锯齿的扫描顺序和组扫描顺序表示了一种可能的扫描顺序集合。在其他实施例中,扫描顺序或组扫描顺序可以是对角式、垂直式、水平式、或对块和/或系数组中的位置的任何其他规定排序。在一个实施例中,组扫描顺序和系数组中的扫描顺序可以不同,即例如一个可以是锯齿的,而另一个可以是对角的。
将变换块100划分为系数组102(示出为102a、102b、102c)使得能够将CG标志用于信号通知特定系数组是否包含任何非零系数。如果系数组的所有系数是零,则编码器不需要对除了CG标志之外的任何数据进行编码。即,编码器仅对具有非零系数的系数组的程、游、和符号数据进行编码,例如,那些具有被设置为1的CG标志的系数组。在一些情况下,可以假定最左上角系数组的CG标志被设为1;即,不对该系数组的CG标志进行编码,且始终对系数(它们的程-游-符号数据)进行编码。
在一些实施例中,可以将CG标志作为集合进行发送,然后按反组扫描顺序发送每个非零CG的系数数据。在一些其他实施例中,在对下一个CG标志进行编码之前,指示CG包含非零系数的每个CG标志在编码比特流中可以后接该CG的数据,例如,程、游、和符号数据(即,CG标志可以与程-游-符号数据交织)。
本申请提出了对变换块中最后非零系数的位置进行编码,而不发送EOB标志。一旦解码器知道变换块中最后非零系数的位置,则在其对程-游数据进行解码时,它将知道其何时到达系数组中的最后系数,使得EOB标志不必要。此外,本申请提出了对两级最后系数位置信息进行编码:(a)按组扫描顺序包含非零系数的最后系数组的位置;以及(b)在该最后系数组中的最后非零系数的位置。从而,解码器将知道最后非零系数的坐标,且因此知道与变换块的所有后续解码的CG标志、程、游、和符号数据相关联的位置信息。
图2示出了系数组102b中的非零系数110和系数组102c中的非零系数112。在旧的AVS编码方案下,非零系数112将是整个变换块100上按反锯齿扫描顺序的最后系数。然而,根据本申请的该示例实施例,按反组扫描顺序的最后非零系数组是系数组102b,且该系数组中的最后非零系数是非零系数110。因此,编码器对系数组102b的位置和非零系数110在该系数组102b中的位置进行编码。然后编码器继续对最后系数组102b和最左上角系数组(其CG标志可以被推断为1)之间的剩余系数组的CG标志以及具有被设为(或被推断为)1的关联CG标志的每个系数组的程-游-符号数据进行编码。如稍后将描述的,在一些示例实施例中,还可以对每个非零CG内的最后系数位置进行编码。在其他实施例中,可以针对下一个CG对“最后游”进行编码,以指定在最右下角系数和下一个CG中的最后非零系数之间的零的数目,或在一些实施例中,游数据可以跨过CG边界(且可以按反组扫描顺序跳过所有零CG)。
图3示出了被划分为4x4个系数组的示例16x16变换块200。最后系数组202a位于xCG=3,yCG=1。在一些实施例中,这些坐标可以被二进制化和编码。在其他实施例中,可以将最后非零系数组的位置作为系数组按组扫描顺序的位置来信号通知,在本示例中该位置是12(在0,1,...,15的范围内)。在图3的关联系数组中示出了各个系数组的CG标志的值。将意识到:不需要对最后系数组202a的CG标志进行编码,这是由于基于其是最后系数组,因此知道其包含非零系数。在一些实施例中,还可以推断出在xCG=0,yCG=0处的第一个系数组的CG标志为1,而不管其是否包含任何非零系数,这是由于该系数组具有全零系数的可能性非常小。如果(如下面方括号所指示地)省略了这两个CG标志,则在本示例中,按反组扫描顺序的编码CG标志是:
[1]1 0 0 0 1 0 1 0 0 1 1 [1]
现在参考图4,其以流程图形式示出了用于在视频编码器中对变换系数进行编码的一个示例过程300。如操作302所示,首先对残余数据块进行变换和量化,以产生量化变换系数块。请回忆本示例实施例假定不管8x8、16x16、32x32还是某个其他大小,变换块被划分为系数组。系数组可以是正方形变换系数组。在一些情况下,它们可以是2x2、4x4、6x6、8x8、或某个其他大小。在一些实现中,系数组大小可以取决于变换块大小。
在操作304中,编码器对按组扫描顺序的最后非零系数组的位置进行编码。组扫描顺序是从最左上角到最右下角的系数组的排序。在本示例中,组扫描顺序可以是锯齿扫描顺序。这些系数组中包含非零系数的最后系数组是最后非零系数组。在操作304中对其在变换块中的位置进行编码。
在操作306中,编码器对该最后非零系数组中的最后非零系数的位置进行编码。所编码的位置是在系数组内的位置且不是在变换块中的绝对位置,这是因为已经对系数组位置进行了编码。在该系数组中的最后非零系数是在系数组中按扫描顺序的最后非零系数。
然后在操作308中按反组扫描顺序对最后非零系数组和最左上角系数组之间的所有系数组的CG标志进行编码。在该实施例中,CG标志与程-游数据不交织。
然后在操作310中,对具有非零系数的系数组的程、游、符号数据进行编码。这包括其CG标志可以被推断为1的系数组,而不管该系数组是否包含非零系数,例如在一些实施例中的最左上角系数组。
最后,在操作312中,在比特流中输出编码数据。
在图5所示的示例过程400中以流程图形式示出了在解码器处的对应操作。在操作402,解码器对按组扫描顺序的最后非零系数组的位置进行解码。从而,解码器能够识别变换块中的哪个系数组是按组扫描顺序的包含非零系数的最后系数组。然后在操作404中,解码器对在最后非零系数组中按扫描顺序的最后非零系数的位置进行解码。
然后解码器在操作406中对系数组标志进行解码。针对最后非零系数组和最左上角系数组之间的每个系数组,可以按反组扫描顺序对CG标志进行解码。注意到:该示例假定最左上角系数组的CG标志被推断为1,然而在其他示例实施例中,可以对其进行编码/解码。从而解码器能够识别变换块中的哪些系数组包含非零系数,且从而它们是否具有针对其系数而编码的程、游、和符号数据。
在操作408中,解码器对非零系数组的程、游、和符号数据进行解码,以重构这些系数组的量化变换域系数。如下面将详细描述的,根据实现方式,解码器可以对每个非零系数组的最后游数据、每个非零系数组的最后非零系数位置数据、或跨系数组边界的游数据进行解码。将全零系数组重构为全零系数。
在操作410中,解码器对重构的变换系数块进行反量化和反变换,以生成重构残余块。通过与后续预测操作、滤波等的组合,解码器输出重构的像素数据。
如本领域技术人员在考虑到本文的完整描述的情况下将理解的:上述过程中的一些操作可以变化,使得它们按不同顺序发生,或以交织方式发生,或以组合方式发生。
对最后非零CG位置进行编码
如上所述,本申请提供了部分通过对包含非零系数的按组扫描顺序的最后系数组的位置进行编码来提供对最后非零系数的位置的信号通知。存在可以对该位置进行编码的各种方式。下面提供一些示例。
在一个示例中,使用x-y坐标来信号通知最后非零系数组位置。例如,xCG可以指示x位置,且yCG可以指示y位置。可以例如通过一元二进制化对这些值中的每一个值进行二进制化。在另一实施例中,可以使用固定长度的二进制数字。
然后使用上下文自适应编码对二进制化的x-y坐标进行编码。可以基于块大小和正在被编码的特定二进制值的二进制值索引来确定用于对二进制化坐标进行编码的上下文。可以针对xCG和yCG使用单独的上下文。在一个示例中,可以通过以下方式来给出上下文确定:
ctxInc(lastCGX)=0,如果块大小是8x8且二进制值索引=0;
2,如果块大小是16x16且二进制值索引=0;
4,如果块大小是16x16且二进制值索引=1;
6,如果块大小是16x16且二进制值索引=2;
8,如果块大小是32x32且二进制值索引=0;
10,如果块大小是32x32且二进制值索引=1;
12,如果块大小是32x32且二进制值索引>1;
ctxInc(lastCGY)=1,如果块大小是8x8且二进制值索引=0;
3,如果块大小是16x16且二进制值索引=0;
5,如果块大小是16x16且二进制值索引=1;
7,如果块大小是16x16且二进制值索引=2;
9,如果块大小是32x32且二进制值索引=0;
11,如果块大小是32x32且二进制值索引=1;
13,如果块大小是32x32且二进制值索引>1;
在本示例中,可以使用总共28个上下文:14个用于亮度(luma)分量且14个用于色度分量。
在另一示例中,x-y坐标的二进制化可以基于一元前缀和固定长度后缀的串联。注意到:在假定使用4x4个系数组的情况下,这可以直到块大小达到32x32才改变二进制化坐标。后缀可以是单一比特。然后可以使用旁路模式对后缀进行编码,即等概率,其避免了与该二进制值的编码相关的上下文确定步骤。用于对前缀进行编码的上下文是基于块大小和二进制值索引来确定的。
在这些示例的另一变型中,对xCG和yCG进行联合编码;意味着引入了用于信号通知最后非零系数组是否是在(0,0)处的最左上角系数组的标志,该最左上角系数组往往是最有可能的最后非零系数组。如果设置了该标志,则对xCG和yCG的进一步编码不是必需的。然而,如果未设置该标志,则对xCG值和yCG值进行编码。但是,由于编码器和解码器将知道xCG和yCG值不能都是0,因此如果编码/解码的xCG值是零,则将对yCG值进行编码和解码为(yCG-1)。下面阐述了示出了该变型的示例伪代码:
编码器:
Figure BDA0001607013720000121
解码器:
Figure BDA0001607013720000122
Figure BDA0001607013720000131
在另一示例中,使用最后非零系数组位置的按组扫描顺序的索引来信号通知最后非零系数组位置。组扫描顺序对在索引0处的最左上角到在索引NxN-1的最右下角的系数组进行排序,其中,NxN是系数组的总数。对组扫描位置号进行二进制化和编码。
对最后非零CG中的最后非零系数位置进行编码
如上所述,通过对最后非零系数组的位置和该最后非零系数组中的最后非零系数的位置进行编码,来信号通知变换块中最后非零系数的位置。可以用与上面关于系数组所描述的方式类似方式对最后非零系数组中的最后非零系数的位置进行编码,即可以对系数组中系数的x-y坐标进行编码,或者可以对系数组中按扫描顺序的系数的位置进行编码。
由于本申请规定了将变换块划分为系数组且将程-游编码用于对系数数据进行编码/解码,因此需要解决跨过系数组边界的游的问题。使用系数组划分,程-游编码在每个系数组中使用扫描顺序来发生。因此,在非零系数之间的游可以延伸跨过系数组边界。
现在参考图6,其示出了用于游信令的两种可能性。首先使用游、程、和符号数据对系数组CGi+1进行编码/解码。如图所示,编码按反扫描顺序前进。最后程-游对是用于对由附图标记502所指示的系数进行编码的。存在用于对游进行编码的两种可能方案。一种是对延伸跨过系数组边界直到下一个非零系数的游508进行编码。即,在该示例中,游508将是6。另一种方案是对截断的游506进行编码。截断的游506停止于系数组边界,且在该情况下游506将具有值2。将意识到:对截断的游进行编码将通常导致更短的游,因此其将更有效率;然而,截断的游留下了如何对下一个系数组(即,CGi)进行编码的问题。
如果对截断的游进行编码,则一种可能的方案是对每个非零系数组的最后非零系数的位置进行编码。即,其关联CG标志被设置为1的每个系数组也使其最后非零系数的位置被编码。在该示例中,系数组CGi中的系数504的位置将被编码在比特流中。如变换块中最后非零系数一样,对每个系数组的最后非零系数的位置的编码可以基于x-y坐标或按扫描顺序的位置。
一旦对位置数据进行二进制化,用于对最后非零系数的位置进行编码的上下文可以部分取决于二进制值索引,但是也可以取决于系数组在块中的位置。现在参考图8,其示出了示例16x16变换块600和用于上下文确定的区域划分。在该示例中,块被分为四个区域。区域0是最左上角系数组。区域1包括最右下角系数组右侧的三个系数组,且区域2包括最左上角系数组下方的三个系数组。其他九个系数组在区域3中。可以例如通过以下方式给出用于对x和y位置进行编码的上下文:
ctxInc(lastCGX)=regionIndex*6+binIndex
ctxInc(lastCGY)=regionIndex*6+binIndex+3
该示例将导致总共48个上下文:24个用于亮度且24个用于色度。
由于DCT变换的属性,区域1中CG中的系数对应于垂直分量,而区域2中CG的系数对应于水平分量。因此,当预测残余主要包含垂直分量时,非零变换系数往往位于接近区域2中CG的顶部的位置。类似地,当预测残余主要包含水平分量时,非零变换系数往往位于接近区域1中CG的左侧的位置。因此,区域1和区域2中CG中的最后系数的位置在本情况下表现出对称性。
因此,在一个实施例中,对区域2中的Y坐标进行编码可以共享与对区域1中的X坐标进行编码相同的上下文,且对区域2中的X坐标进行编码可以共享与对区域1中的Y坐标进行编码相同的上下文。这还等价于将区域2中CG中的最后系数位置的(X,Y)坐标交换,并使用区域1的上下文对其进行编码。
用于处理系数组边界处的截断的游的另一可能方案是对“最后游”512进行编码/解码,即按反扫描顺序从系数组中最右下角系数到第一个非零系数的零的游。同样地,在一些实施例中可以使用一元二进制化。可以根据系数组在块中的位置(如上所述)、二进制值索引、以及最大在先编码程(即,秩)来导出用于对最后游512进行编码的上下文。“秩”是与该变换块的之前编码的最大程相关联的值。在一个示例实现中,如下确定秩:
秩=0,如果最大编码程=0
1,如果最大编码程=1
2,如果最大编码程=2
3,如果最大编码程=3或4
4,如果最大编码程>4
在本示例中,可以如下确定上下文:
ctxInc(lastRun)=秩*2+min(1,binIndex),如果CG是块中左上角CG
=秩*2+min(1,binIndex)+10,其他情况
如上所述,最左上角系数组的CG标志可以被推断为1,这是因为非常有可能该系数组包含至少一个非零系数。在不太可能的其不包含任何非零系数的情况下,则可以发送特殊信号来指示该情况。例如,在对最后游进行编码的情况下,可以对特殊的最后游值lastRun=16进行编码。注意到:将仅在已推断出有效(significant)CG标志为1时才信号通知lastRun=16。
现在参考图7,其示出了非截断的游信令的示例实施例。在系数组边界处未截断游510的情况下,其可以被配置为在计算游时排除来自全零系数组的系数。即,在确定游510时,仅对具有被设置为1的关联CG标志的系数组中的系数进行计数,跳过按反组扫描顺序遇到的任何全零系数组,在本示例中例如是CGi+1
现在参考图9,其示出了编码器900的示例实施例的简化框图。编码器900包括处理器902、存储器904、和编码应用906。编码应用906可以包括在存储器904中存储的、且包含用于将处理器902配置为执行诸如本文所述的操作之类的操作的指令在内的计算机程序或应用。例如,编码应用906可以根据本文描述的过程对比特流编码并输出编码的比特流。将理解:编码应用906可以存储在计算机可读介质上,例如压缩光盘、闪存设备、随机存取存储器、硬盘驱动器等。
现在还参考图10,其示出了解码器1000的示例实施例的简化框图。解码器1000包括处理器1002、存储器1004、以及解码应用1006。解码应用1006可以包括在存储器1004中存储的、且包含用于将处理器1002配置为执行诸如本文所述的操作之类的操作的指令在内的计算机程序或应用。将理解:解码应用1006可以存储在计算机可读介质上,例如压缩光盘、闪存设备、随机存取存储器、硬盘驱动器等。
速率失真优化量化
在现有的AVS2实现中,以暴力方式执行速率失真优化量化(RDOQ)。即,对于每个非零量化系数,在搜索中尝试该系数的每一种可能的量化值(通常是程、程-1、...、0),以最小化对变换块进行编码的速率失真成本。
当前的RDOQ方案存在大量缺陷,包括由于暴力方案的计算负担所导致的低效率、以及由于缺少用于为变换块选择最佳“最后”系数的标准而导致的不准确。
在本申请的一个方面中,提出了使用上述两级编码结构(即,系数组)的新的RDOQ方案。在该方案中,使用双向链表数据结构来实现改进的最后系数选择,实现更快的计算,以及实现降低存储器占用。由于上述编码和解码过程依赖于对变换系数的游长编码,RDOQ被以下事实所复杂化:对一个系数的改变(例如,将非零变为零)可以影响之前的游-程对(按反扫描顺序)。事实上,如果将系数减为零且扩展之前的游,则消除了当前的游-程对。因此,传统的数据结构(例如,数组)对于反应这些联系是不恰当的。
本RDOQ方案的双向链表可以具有例如如下定义的节点:
Figure BDA0001607013720000161
然后可以例如如下定义双向链表:
Figure BDA0001607013720000162
Figure BDA0001607013720000171
在双向链表中存在两种基本操作:节点添加和节点移除。首先,初始化列表,使得其头和尾为空。在系数组的反向扫描期间,当遇到程-游对时,创建节点并将其添加到链表的尾。该过程继续,直到到达系数组中最左上角系数。
现在参考图11,其示出了示例系数组700。在该示例中,按反扫描顺序开始于系数组中的最后非零系数的系数如下所示:
1,-1,0,0,0,0,2,0,1,-5
现在还参考图12,其以图解方式示出了与图11的系数组相对应的双向链表710的示例。表710是通过以反扫描顺序读取系数并为每个非零系数创建新节点来构建的。使用每个零系数来更新游值。
一旦创建了双向链表710,其在执行RDOQ时的有用之处在于:当将非零系数转变为零系数时,从双向链表中移除对应节点。
为了说明,现在参考图13,其示出了在移除了第二节点(-1,4)之后图12的双向链表710。在该说明性场景中,已将系数-1转变为零系数。因此,移除了节点(-1,4),且前一节点(1,0)接管其游值加一。因此,现在第一节点或头节点包含程-游对(1,5)且第二节点的前一节点和下一节点的关联现在变为直接链接。
为了在RDOQ中选择变换系数c的量化级别,针对每个候选级别u来计算以下速率失真成本:
如果u!=0,
J(u)=D(Q-1(u),c)+λ·(R(runcurr)+R(u)+R(runprev))
否则
J(u)=D(Q-1(0),c)+λ·(R(runcurr+1+runprev))
其中,Q-1()是解量化函数,R()是速率估计函数。runcurr是当前程-游对的游,且runprev是按反扫描顺序的前一程-游对的游。在当前程-游对是系数组中最后程-游对的情况下,runprev被设置为该系数组中最后游。
在另一实施例中,可以基于部分游来计算成本。例如,可以通过下式给出成本表达式:
如果u!=0,
J(u)=D(Q-1(u),c)+λ·(R(partial(runcurr))+R(u)+R(runprev))
否则
J(u)=D(Q-1(0),c)+λ·(R(partial(runcurr+1+runprev)))
部分游速率是在一元二进制化中没有最终二进制值1的情况下对游的速率估计。例如,游=3的一元二进制化是0001。部分游是000。由于假定下一个程是未知的,使用部分游可以是更恰当的。
现在参考图14,其以流程图形式示出了用于使用双向链表数据结构来执行RDOQ的示例过程800。
在操作802中,过程800开始于对变换系数的硬量化,以得到程。基于该操作,编码器知道哪些系数组包含全零量化系数,因此它们不需要被编码。然后编码器在操作804中通过以反扫描顺序在系数组内读取程-游对并为每个非零系数添加节点,来构建系数组的双向链表。
然后在操作806,编码器可以通过测试速率失真成本的不同程值,来评估当前程-游对/节点,以进行RDOQ。在一个实施例中,可以使用上述成本表达式之一。选择导致最小速率失真成本的程。
在操作808,编码器评估所选程是否为零。如果是,则在操作810中,编码器从双向链表中移除当前节点,并调整前一节点的游。注意到:在一些实施例中,在本RDOQ过程中可以不包括第一节点或头节点。在一些实施例中,在该示例过程800之后执行第二RDOQ过程,其中,评估系数以逐系数组或逐变换块来确定它们中的哪个最佳地用作最后非零系数。
在操作812中,编码器确定其是否已处理了系数组中的第一对,即双向链表的尾节点。如果否,则在操作814中编码器移动到下一节点(程-游对)并返回操作806。如果其到达了双向链表的末尾,则编码器进行至操作816,在操作816中,其对RDOQ优化双向链表中的程-游对进行编码。
如上所述,本过程800可以后接第二RDOQ过程,在该第二RDOQ过程中,将非零系数评估为系数组和/或变换块中的最后非零系数。使用速率失真成本表达式,编码器确定选择不同系数作为最后非零系数是否将是有利的,将在第一RDOQ过程800中幸存的后续非零系数有效地进行了零化。
将意识到:根据本申请的解码器和/或编码器可以用多种计算设备来实现,包括(但不限于):服务器、恰当编程的通用计算机、音频/视频编码和回放设备、电视机顶盒、电视广播设备、以及移动设备。解码器或编码器可以通过软件来实现,该软件包含用于将处理器配置为执行本文所述功能的指令。软件指令可以存储在任何合适的非瞬时计算机可读存储器上,包括CD、RAM、ROM、闪存等。
将理解:本文所述的编码器和实现所述用于配置编码器的方法/过程的模块、例程、进程、线程、或其他软件组件可以使用标准计算机编程技术和语言来实现。本申请不限于特定处理器、计算机语言、计算机编程惯例、数据结构、其他这种实现细节。本领域技术人员将认识到:可以将所述过程实现为在易失性或非易失性存储器中存储的计算机可执行代码的一部分、专用集成芯片(ASIC)的一部分等等。
可以对所述实施例进行某种调整和修改。因此,上面讨论的实施例被视为是说明性而非限制性的。

Claims (22)

1.一种使用视频解码器对编码视频的比特流中的视频进行解码的方法,所述视频包括被划分为块的图片,所述块的残余数据被频谱变换为变换块,每个变换块被进一步划分为系数组,所述方法包括:
对最后系数组数据进行解码,所述最后系数组数据指示按组扫描顺序的包含非零变换系数的最后系数组;
对最后系数数据进行解码,所述最后系数数据指示所述最后系数组内按扫描顺序的最后非零变换系数在所述最后系数组内的位置;以及
对所述最后系数组的程、游、和符号数据进行解码,以重构所述最后系数组的变换系数,
其中解码所述系数组的游数据包括:解码在所述系数组的相应的边界处停止的截断的游。
2.根据权利要求1所述的方法,其中,所述组扫描顺序包括块中的系数组从最左上角系数组开始的排序,以及由所述解码器按所述组扫描顺序的逆序对所述块中的系数组进行解码。
3.根据权利要求1所述的方法,其中,所述扫描顺序包括系数组内的变换系数从所述组中的最左上角变换系数开始的排序,以及按所述扫描顺序的逆序对系数组中的变换系数的程、游、和符号数据进行解码。
4.根据权利要求1所述的方法,其中,所述最后系数数据包括所述最后系数组内按所述扫描顺序的最后非零变换系数的位置。
5.根据权利要求1所述的方法,其中,所述最后系数数据包括所述最后系数组内的所述最后非零变换系数的x位置和y位置。
6.根据权利要求5所述的方法,还包括:首先对指示所述最后系数组是否是所述块内最左上角系数组的第一CG标志进行解码,以及如果不是这种情况,则对所述最后系数组的x位置进行解码,以及如果所述x位置是0,则对指示所述最后系数组的y位置的y值进行解码并将所解码的y值加1。
7.根据权利要求1所述的方法,还包括:对指示所述系数组中的哪些系数组包含非零系数的有效系数组标志进行解码,以及其中,对最后系数数据进行解码还包括:针对包含非零系数的每个系数组,按所述组扫描顺序的逆序从所述最后系数组到左上角系数组,对指示该系数组内按所述扫描顺序的最后系数的位置的最后系数位置进行解码。
8.根据权利要求7所述的方法,其中,对程、游、和符号数据进行解码包括:对包含非零系数的每个系数组的变换系数的程、游、和符号数据进行解码,以及对游数据进行解码包括:针对每个系数组中第一个非零系数,对该系数组中从所述第一个非零系数到[0,0]位置的零的游进行解码。
9.根据权利要求1所述的方法,还包括:对指示所述系数组中哪些系数组包含非零系数的有效系数组标志进行解码,以及其中,对游数据进行解码还包括:针对除了所述最后系数组之外的包含非零系数的每个系数组,对指示该系数组中所述最后非零系数和最右下角系数之间按所述扫描顺序的零的数目的最后游值进行解码。
10.一种用于对编码视频的比特流进行解码以在视频解码器中重构系数组的系数的解码器,所述系数组包括左上角系数,所述解码器包括:
处理器;
存储器;以及
解码应用,所述解码应用被存储在存储器中并包含用于将所述处理器配置为执行根据权利要求1至9中任一项所述的方法的指令。
11.一种存储处理器可执行指令的非瞬时处理器可读介质,当执行所述处理器可执行指令时,所述处理器可执行指令将一个或多个处理器配置为执行根据权利要求1至10中任一项所述的方法。
12.一种使用视频编码器对视频进行编码的方法,所述视频包括被划分为块的图片,所述块的残余数据被频谱变换为变换块,每个变换块被进一步划分为系数组,所述方法包括:
对最后系数组数据进行编码,所述最后系数组数据指示按组扫描顺序的包含非零变换系数的最后系数组;
对最后系数数据进行编码,所述最后系数数据指示所述最后系数组内按扫描顺序的最后非零变换系数在所述最后系数组内的位置;以及
对用于重构所述最后系数组的变换系数的所述最后系数组的程、游和符号数据进行编码,
其中解码所述系数组的游数据包括:解码在所述系数组的相应的边界处停止的截断的游。
13.根据权利要求12所述的方法,其中,所述组扫描顺序包括块中的系数组从最左上角系数组开始的排序,以及由所述编码器按所述组扫描顺序的逆序对所述块中的系数组进行编码。
14.根据权利要求12所述的方法,其中,所述扫描顺序包括系数组内的变换系数从所述组中的最左上角变换系数开始的排序,以及按所述扫描顺序的逆序对系数组中的变换系数的程、游、和符号数据进行编码。
15.根据权利要求12所述的方法,其中,所述最后系数数据包括所述最后系数组内按所述扫描顺序的最后非零变换系数的位置。
16.根据权利要求12所述的方法,其中,所述最后系数数据包括所述最后系数组内的所述最后非零变换系数的x位置和y位置。
17.根据权利要求16所述的方法,还包括:首先对指示所述最后系数组是否是所述块内最左上角系数组的第一CG标志进行编码,以及如果不是这种情况,则对所述最后系数组的x位置进行编码,以及如果所述x位置是0,则将所述最后系数组的y位置减1以创建y值,并对所述y值进行编码。
18.根据权利要求12所述的方法,还包括:对指示所述系数组中的哪些系数组包含非零系数的CG标志进行编码,以及其中,对最后系数数据进行编码还包括:针对包含非零系数的每个系数组,按所述组扫描顺序的逆序从所述最后系数组到左上角系数组,对指示该系数组内按所述扫描顺序的最后系数的位置的最后系数位置进行编码。
19.根据权利要求18所述的方法,其中,对程、游、和符号数据进行编码包括:对包含非零系数的每个系数组的变换系数的程、游、和符号数据进行编码,以及对游数据进行编码包括:针对每个系数组中第一个非零系数,对该系数组中从所述第一个非零系数到[0,0]位置的零的游进行编码。
20.根据权利要求12所述的方法,还包括:对指示所述系数组中哪些系数组包含非零系数的CG标志进行编码,以及其中,对游数据进行编码还包括:针对除了所述最后系数组之外的包含非零系数的每个系数组,对指示该系数组中所述最后非零系数和最右下角系数之间按所述扫描顺序的零的数目的最后游值进行编码。
21.一种用于对视频进行编码的编码器,所述编码器包括:
处理器;
存储器;以及
编码应用,所述编码应用被存储在存储器中并包含用于将所述处理器配置为执行根据权利要求12至20中任一项所述的方法的指令。
22.一种存储处理器可执行指令的非瞬时处理器可读介质,当执行所述处理器可执行指令时,所述处理器可执行指令将一个或多个处理器配置为执行根据权利要求12至20中任一项所述的方法。
CN201810249582.5A 2013-01-16 2013-01-16 针对视频的上下文自适应二进制熵编码的变换系数编码 Active CN108259900B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810249582.5A CN108259900B (zh) 2013-01-16 2013-01-16 针对视频的上下文自适应二进制熵编码的变换系数编码

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201380016680.XA CN104272735B (zh) 2013-01-16 2013-01-16 针对视频的上下文自适应二进制熵编码的变换系数编码
CN201810249582.5A CN108259900B (zh) 2013-01-16 2013-01-16 针对视频的上下文自适应二进制熵编码的变换系数编码
PCT/CA2013/050020 WO2014110651A1 (en) 2013-01-16 2013-01-16 Transform coefficient coding for context-adaptive binary entropy coding of video

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201380016680.XA Division CN104272735B (zh) 2013-01-16 2013-01-16 针对视频的上下文自适应二进制熵编码的变换系数编码

Publications (2)

Publication Number Publication Date
CN108259900A CN108259900A (zh) 2018-07-06
CN108259900B true CN108259900B (zh) 2021-01-01

Family

ID=51208886

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380016680.XA Active CN104272735B (zh) 2013-01-16 2013-01-16 针对视频的上下文自适应二进制熵编码的变换系数编码
CN201810249582.5A Active CN108259900B (zh) 2013-01-16 2013-01-16 针对视频的上下文自适应二进制熵编码的变换系数编码

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201380016680.XA Active CN104272735B (zh) 2013-01-16 2013-01-16 针对视频的上下文自适应二进制熵编码的变换系数编码

Country Status (5)

Country Link
US (1) US10412396B2 (zh)
EP (1) EP2946553B1 (zh)
CN (2) CN104272735B (zh)
HK (1) HK1213717A1 (zh)
WO (1) WO2014110651A1 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9781424B2 (en) * 2015-01-19 2017-10-03 Google Inc. Efficient context handling in arithmetic coding
WO2017043763A1 (ko) * 2015-09-10 2017-03-16 삼성전자 주식회사 부호화 장치, 복호화 장치, 그 부호화 및 복호화 방법
US10362310B2 (en) * 2015-10-21 2019-07-23 Qualcomm Incorporated Entropy coding techniques for display stream compression (DSC) of non-4:4:4 chroma sub-sampling
CN114222140A (zh) * 2016-05-28 2022-03-22 世宗大学校产学协力团 视频信号的解码方法
EP3264763A1 (en) * 2016-06-29 2018-01-03 Thomson Licensing Method and apparatus for improved significance flag coding using simple local predictor
EP3270594A1 (en) * 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for advanced cabac context adaptation for last coefficient coding
JP2020072277A (ja) * 2017-03-03 2020-05-07 シャープ株式会社 動画像符号化装置及び動画像復号装置
KR102302797B1 (ko) 2017-04-13 2021-09-16 엘지전자 주식회사 영상의 부호화/복호화 방법 및 이를 위한 장치
CN115297324A (zh) 2017-04-13 2022-11-04 Lg 电子株式会社 熵编码和解码视频信号的方法和设备
US11477492B2 (en) 2017-08-04 2022-10-18 Google Inc. Adaptation for entropy coding of blocks of image data
US10523968B2 (en) * 2017-09-18 2019-12-31 Google Llc Coding of last significant coefficient flags
US10382758B2 (en) * 2017-12-15 2019-08-13 Google Llc Transform block-level scan order selection for video coding
CN110650343A (zh) * 2018-06-27 2020-01-03 中兴通讯股份有限公司 图像的编码、解码方法及装置、电子设备及系统
WO2020006338A1 (en) * 2018-06-29 2020-01-02 Interdigital Vc Holdings, Inc. Method and apparatus for video encoding and decoding based on adaptive coefficient group
CN116886914A (zh) * 2018-10-05 2023-10-13 Lg电子株式会社 图像编码/解码方法、存储介质及数据传输方法
MX2021005493A (es) * 2018-11-12 2021-06-18 Lg Electronics Inc Metodo para codificar el coeficiente de transformacion con base en la puesta a cero de frecuencia alta y aparato del mismo.
KR102388807B1 (ko) * 2018-12-17 2022-04-20 엘지전자 주식회사 고주파 제로잉을 기반으로 변환 계수 스캔 순서를 결정하는 방법 및 장치
WO2020182207A1 (en) * 2019-03-13 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Partitions on sub-block transform mode
CN110545437B (zh) * 2019-08-30 2021-07-20 北京大学 系数编码、解码方法、电子设备及介质
CN114556932B (zh) * 2019-09-24 2023-05-23 北京达佳互联信息技术有限公司 用于视频编解码的无损编解码模式
CN116016915B (zh) * 2019-11-21 2024-04-23 北京达佳互联信息技术有限公司 变换与系数信令的方法和装置
CN113132734B (zh) * 2019-12-31 2023-05-26 杭州海康威视数字技术股份有限公司 一种编码、解码方法、装置及其设备
US11368694B1 (en) * 2021-01-26 2022-06-21 Meta Platforms, Inc. Architecture for rate estimation in video coding
US11695965B1 (en) 2022-10-13 2023-07-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video coding using a coded picture buffer

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748244A (en) * 1995-03-28 1998-05-05 Daewoo Electronics Co., Ltd. Adaptive runlength coding based on zero and non-zero subblocks

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253055A (en) * 1992-07-02 1993-10-12 At&T Bell Laboratories Efficient frequency scalable video encoding with coefficient selection
JPH08186815A (ja) * 1994-12-28 1996-07-16 Pioneer Electron Corp サブバンド符号化方法
US5920572A (en) * 1995-06-30 1999-07-06 Divicom Inc. Transport stream decoder/demultiplexer for hierarchically organized audio-video streams
US6275527B1 (en) * 1998-01-14 2001-08-14 Conexant Systems, Inc. Pre-quantization in motion compensated video coding
US6856701B2 (en) * 2001-09-14 2005-02-15 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
AU2002353125A1 (en) * 2001-12-13 2003-06-30 Fraunhofer Crcg Using line structure information to enhance line drawing in digital systems
US7190724B2 (en) * 2002-04-12 2007-03-13 Seiko Epson Corporation Method and apparatus for transform domain video processing
WO2003091850A2 (en) * 2002-04-26 2003-11-06 The Trustees Of Columbia University In The City Of New York Method and system for optimal video transcoding based on utility function descriptors
US7230987B2 (en) * 2002-09-30 2007-06-12 Broadcom Corporation Multiple time-base clock for processing multiple satellite signals
US7533402B2 (en) * 2002-09-30 2009-05-12 Broadcom Corporation Satellite set-top box decoder for simultaneously servicing multiple independent programs for display on independent display device
US6795584B2 (en) * 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
WO2004049722A1 (en) * 2002-11-22 2004-06-10 Koninklijke Philips Electronics N.V. Transcoder for a variable length coded data stream
US7782954B2 (en) * 2003-09-07 2010-08-24 Microsoft Corporation Scan patterns for progressive video content
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
JP4858311B2 (ja) * 2007-05-30 2012-01-18 富士ゼロックス株式会社 画像処理装置及びプログラム
MX2011005749A (es) * 2008-12-03 2011-06-20 Nokia Corp Conmutacion entre modos de codificacion de coeficientes dct.
EP2396969A4 (en) * 2009-02-13 2012-12-12 Research In Motion Ltd MODIFIED ENTROPIC CODING FOR IMAGES AND VIDEOS
US8410959B2 (en) * 2010-04-09 2013-04-02 Qualcomm, Incorporated Variable length codes for coding of video data
PT3244612T (pt) * 2010-04-13 2018-11-14 Ge Video Compression Llc Codificação de mapas de significância e blocos de coeficientes de transformada
PL2559166T3 (pl) * 2010-04-13 2018-04-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Koder i dekoder dzielący interwał prawdopodobieństwa
MY184131A (en) * 2010-07-09 2021-03-19 Samsung Electronics Co Ltd Method and apparatus for entropy encoding/decoding a transform coefficient
US9641846B2 (en) * 2010-10-22 2017-05-02 Qualcomm Incorporated Adaptive scanning of transform coefficients for video coding
US9288496B2 (en) * 2010-12-03 2016-03-15 Qualcomm Incorporated Video coding using function-based scan order for transform coefficients
US8976861B2 (en) * 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US8634474B2 (en) 2011-05-03 2014-01-21 Texas Instruments Incorporated CABAC macroblock rewind and end of slice creation to control slice size for video encoders
US9379736B2 (en) * 2011-06-03 2016-06-28 Qualcomm Incorporated Context-adaptive coding video data
US9491491B2 (en) * 2011-06-03 2016-11-08 Qualcomm Incorporated Run-mode based coefficient coding for video coding
EP2727355A1 (en) * 2011-06-29 2014-05-07 Motorola Mobility LLC Methods and system for using a scan coding pattern during intra coding
US20130003859A1 (en) * 2011-06-30 2013-01-03 Qualcomm Incorporated Transition between run and level coding modes
US9756360B2 (en) * 2011-07-19 2017-09-05 Qualcomm Incorporated Coefficient scanning in video coding
US20130177070A1 (en) * 2012-01-11 2013-07-11 Qualcomm Incorporated Significance map support for parallel transform coefficient processing in video coding
EP3691269A1 (en) * 2012-01-20 2020-08-05 BlackBerry Limited Methods and devices for context modeling to enable modular processing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748244A (en) * 1995-03-28 1998-05-05 Daewoo Electronics Co., Ltd. Adaptive runlength coding based on zero and non-zero subblocks

Also Published As

Publication number Publication date
CN108259900A (zh) 2018-07-06
CN104272735A (zh) 2015-01-07
US20160080749A1 (en) 2016-03-17
WO2014110651A1 (en) 2014-07-24
CN104272735B (zh) 2018-04-13
EP2946553A1 (en) 2015-11-25
US10412396B2 (en) 2019-09-10
EP2946553B1 (en) 2019-01-02
EP2946553A4 (en) 2016-07-27
HK1213717A1 (zh) 2016-07-08

Similar Documents

Publication Publication Date Title
CN108259900B (zh) 针对视频的上下文自适应二进制熵编码的变换系数编码
CN108259901B (zh) 用于对游长编码变换系数进行熵编码的上下文确定
US20230037689A1 (en) Methods and apparatuses for coding transform blocks
KR20200090766A (ko) 변환 스킵 플래그를 이용한 영상 코딩 방법 및 장치
KR101538832B1 (ko) 다중-레벨 유효성 맵 스캐닝
AU2019249440A1 (en) Position dependent intra prediction combination extended with angular modes
CN112514386B (zh) 网格编解码量化系数编解码
KR102370754B1 (ko) 레지듀얼 코딩 방법 및 그 장치
KR20240018691A (ko) 영상 코딩 시스템에서 레지듀얼 정보를 사용하는 영상 디코딩 방법 및 그 장치
KR101407755B1 (ko) 인코딩 및 디코딩을 위한 멀티레벨 유의성 맵
TWI493945B (zh) 使用分割區選擇之重要地圖編碼及解碼
CN113412626B (zh) 在图像编译系统中使用残差信息的图像解码方法及其装置
EP3991419B1 (en) Independent cabac for sub-sections of a picture
KR20220024500A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
EP2618571B1 (en) Methods and devices for pipelining within binary arithmetic coding and decoding
TW202029754A (zh) 用於置零轉換之掃描及最後係數位置寫碼
CN114788276A (zh) 图像数据编码和解码

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for 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: 1257871

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant