CN103238323B - 在视频译码中基于视频块的扫描次序对块内的最后有效系数的位置进行译码 - Google Patents

在视频译码中基于视频块的扫描次序对块内的最后有效系数的位置进行译码 Download PDF

Info

Publication number
CN103238323B
CN103238323B CN201180057872.6A CN201180057872A CN103238323B CN 103238323 B CN103238323 B CN 103238323B CN 201180057872 A CN201180057872 A CN 201180057872A CN 103238323 B CN103238323 B CN 103238323B
Authority
CN
China
Prior art keywords
coordinate
scanning sequence
decoding
coefficient
scanning
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
CN201180057872.6A
Other languages
English (en)
Other versions
CN103238323A (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 CN103238323A publication Critical patent/CN103238323A/zh
Application granted granted Critical
Publication of CN103238323B publication Critical patent/CN103238323B/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
    • 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
    • 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
    • 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
    • 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/60General implementation details not specific to a particular type of compression
    • H03M7/6035Handling of unkown probabilities
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Abstract

在一个实例中,揭示一种在视频译码过程期间对与视频数据块相关联的系数进行译码的设备,其中所述设备包含视频译码器,所述视频译码器经配置以:在与所述块相关联的扫描次序包括第一扫描次序时根据所述扫描次序对指示所述块内的最后非零系数的位置的x和y坐标进行译码;以及在所述扫描次序包括第二扫描次序时根据所述扫描次序对指示所述块内的所述最后非零系数的所述位置的互换的x和y坐标进行译码,其中所述第二扫描次序不同于所述第一扫描次序。

Description

在视频译码中基于视频块的扫描次序对块内的最后有效系数的位置进行译码
本申请案主张2010年12月3日申请的第61/419,740号美国临时申请案、2010年12月22日申请的第61/426,426号美国临时申请案、2010年12月22日申请的第61/426,360号美国临时申请案以及2010年12月22日申请的第61/426,372号美国临时申请案的权益,以上每一美国临时申请案的整个内容以引用方式并入本文。
技术领域
本发明涉及视频译码,且更特定来说,涉及对与视频块的系数有关的语法信息的译码。
背景技术
数字视频能力可并入到广泛多种装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频串流装置和类似装置。数字视频装置实施视频压缩技术,例如在由MPEG-2、MPEG-4、ITU-TH.263、IUT-TH.264/MPEG-4第10部分高级视频译码(AVC)、当前在开发的高效视频译码(HEVC)标准界定的标准以及这些标准的扩展中描述的技术。视频装置可通过实施这些视频压缩技术而较高效地发射、接收、编码、解码和/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,视频切片(即,视频帧或视频帧的一部分)可被分割为视频块,视频块也可称为树块、译码单元(CU)和/或译码节点。图片的经帧内译码(I)切片中的视频块是使用相对于同一图片中的相邻块中的参考样本的空间预测来编码,图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可称为帧,且参考图片可称为参考帧。
空间或时间预测产生待译码块的预测块。残余数据表示待译码原始块与预测块之间的像素差。经帧间译码块是根据指向形成预测块的参考样本块的运动向量以及指示经译码块与预测块之间的差的残余数据来编码。经帧内译码块是根据帧内译码模式和残余数据来编码。为了进一步压缩,可将残余数据从像素域变换到变换域,从而得到残余变换系数,所述系数随后可经量化。可扫描初始以二维阵列布置的经量化变换系数以便产生变换系数的一维向量,且可应用熵译码以实现甚至更大的压缩。
发明内容
本发明描述用于在视频译码过程期间对与视频数据块相关联的系数进行译码的技术,包含用于对根据与块相关联的扫描次序识别块内的最后非零或最后“有效”系数的位置的信息(即块的最后有效系数位置信息)进行译码的技术。本发明的技术可通过基于识别与块相关联的扫描次序的信息(即块的扫描次序信息)对特定块的最后有效系数位置信息进行译码,而提高对用以对块进行译码的视频数据块的最后有效系数位置信息的译码的效率,换句话说,所述技术可在对信息进行译码时提高对块的最后有效系数位置信息的压缩。本发明的技术还可通过使用在多个扫描次序中的一者对块进行译码时使用共同统计数据对特定块的最后有效系数位置信息进行译码,而允许当对块的最后有效系数位置信息进行译码时译码系统相对于其它系统具有较低的复杂性。
在一个实例中,通过在扫描次序包括第一扫描次序时根据与块相关联的扫描次序对指示特定视频数据块内的最后有效系数的位置的x和y坐标进行译码以及在扫描次序包括第二扫描次序时根据扫描次序对指示块内的最后有效系数的位置的“交换的”或互换的x和y坐标进行译码,可提高译码效率且可减少译码系统复杂性。
在此实例中,第一和第二扫描次序可相对于彼此对称(或至少部分地对称)。由于在第一和第二扫描次序之间的对称性,因此当扫描次序包括第一扫描次序时x坐标包括给定值的概率可与当扫描次序包括第二扫描次序时y坐标包括相同值的概率相同或相似,且反之亦然。类似地,当扫描次序包括第一扫描次序时y坐标包括给定值的概率可与当扫描次序包括第二扫描次序时x坐标包括相同值的概率相同或相似,且反之亦然。换句话说,当扫描次序包括第一扫描次序时x和y坐标可各自具有分别与当扫描次序包括第二扫描次序时互换的x和y坐标相同或相似的包括给定值的概率。因此,可为了上下文自适应熵译码而使用共同统计数据来对x和y坐标以及互换的x和y坐标进行译码,其可导致使用相对于其它系统具有较低复杂性的译码系统。此外,共同统计数据可基于x和y坐标以及互换的x和y坐标而更新,其可导致所述统计数据比使用其它技术更新的类似统计数据更准确,且因此更高效地对相应坐标进行译码。
在另一实例中,通过在必要时以递增方式对视频数据块的最后有效系数位置信息进行译码,可提高译码效率,其可导致对信息进行更高效地译码。此外,在必须完整地对信息进行译码的情况下,通过使用上下文自适应熵译码对信息进行译码以使得用以对信息进行译码的统计数据是至少部分地基于与块相关联的扫描次序而选择,可提高译码效率。以此方式对信息进行译码可导致使用比当使用其它方法时更准确的统计数据,且再次对块的最后有效系数位置信息进行更高效地译码。
本发明的技术可与任何上下文自适应熵译码方法一起使用,包含CABAC、概率区间分割熵译码(PIPE)或另一上下文自适应熵译码方法。在本发明中为了说明而描述CABAC,但关于本发明中广泛描述的技术并无限制。而且,例如除了视频数据之外,所述技术可通常应用于其它类型的数据的译码。
因此,本发明的技术可使得当对一个或一个以上视频数据块的最后有效系数位置信息进行译码时,能够使用相对于其它方法更高效的译码方法,且使用相对于其它系统具有较低复杂性的译码系统。以此方式,当使用本发明的技术时,对于包含信息的经译码位流可存在相对的位节省,以及用以对信息进行译码的系统的复杂性的相对降低。
在一个实例中,一种在视频译码过程期间对与视频数据块相关联的系数进行译码的方法包含:在与所述块相关联的扫描次序包括第一扫描次序时根据所述扫描次序对指示所述块内的最后非零系数的位置的x和y坐标进行译码;以及在所述扫描次序包括第二扫描次序时根据所述扫描次序对指示所述块内的所述最后非零系数的所述位置的互换的x和y坐标进行译码,其中所述第二扫描次序不同于所述第一扫描次序。
在另一实例中,一种用于在视频译码过程期间对与视频数据块相关联的系数进行译码的设备包含视频译码器,所述视频译码器经配置以:在与所述块相关联的扫描次序包括第一扫描次序时根据所述扫描次序对指示所述块内的最后非零系数的位置的x和y坐标进行译码;以及在所述扫描次序包括第二扫描次序时根据所述扫描次序对指示所述块内的所述最后非零系数的所述位置的互换的x和y坐标进行译码,其中所述第二扫描次序不同于所述第一扫描次序。
在另一实例中,一种用于在视频译码过程期间对与视频数据块相关联的系数进行译码的装置包含:用于在与所述块相关联的扫描次序包括第一扫描次序时根据所述扫描次序对指示所述块内的最后非零系数的位置的x和y坐标进行译码的装置;以及用于在所述扫描次序包括第二扫描次序时根据所述扫描次序对指示所述块内的所述最后非零系数的所述位置的互换的x和y坐标进行译码的装置,其中所述第二扫描次序不同于所述第一扫描次序。
本发明中描述的技术可以硬件、软件、固件或其组合来实施。如果以硬件实施,那么设备可作为集成电路、处理器、离散逻辑或其任何组合而实现。如果以软件来实施,则可在例如微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP)等一个或一个以上处理器中执行软件。可最初将执行所述技术的软件存储于有形计算机可读媒体中且在处理器中加载并执行。
因此,本发明还预期一种包括指令的计算机可读媒体,所述指令在执行时致使处理器在视频译码过程期间对与视频数据块相关联的系数进行译码,其中所述指令致使所述处理器:在与所述块相关联的扫描次序包括第一扫描次序时根据所述扫描次序对指示所述块内的最后非零系数的位置的x和y坐标进行译码;以及在所述扫描次序包括第二扫描次序时根据所述扫描次序对指示所述块内的所述最后非零系数的所述位置的互换的x和y坐标进行译码,其中所述第二扫描次序不同于所述第一扫描次序。
一个或一个以上实例的细节陈述于附图及以下描述中。其它特征、目标及优势将从描述及附图和从权利要求书中显而易见。
附图说明
图1是说明视频编码和解码系统的一实例的框图,所述视频编码和解码系统可实施与本发明的技术一致的用于基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效译码的技术。
图2是说明视频编码器的一实例的框图,所述视频编码器可实施与本发明的技术一致的用于基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效编码的技术。
图3是说明视频解码器的一实例的框图,所述视频解码器可实施与本发明的技术一致的用于基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效解码的技术。
图4A到4C是说明视频数据块以及对应的有效系数位置信息和最后有效系数位置信息的一实例的概念图。
图5A到5C是使用Z形扫描次序、水平扫描次序以及垂直扫描次序扫描的视频数据块的多个实例的概念图。
图6A到6C是说明与本发明的技术一致的针对其基于扫描次序信息对最后有效系数位置信息进行译码的视频数据块的多个实例的概念图。
图7是说明与本发明的技术一致的用于基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效译码的方法的实例的流程图。
图8是说明与本发明的技术一致的用于基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效编码的方法的实例的流程图。
图9是说明与本发明的技术一致的用于基于视频数据块的扫描次序信息对经编码最后有效系数位置信息进行高效解码的方法的实例的流程图。
图10是说明与本发明的技术一致的用于基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效编码的方法的另一实例的流程图。
图11是说明与本发明的技术一致的用于基于视频数据块的扫描次序信息对经编码最后有效系数位置信息进行高效解码的方法的另一实例的流程图。
具体实施方式
本发明描述用于在视频译码过程期间对与视频数据块相关联的系数进行译码的技术,包含用于根据与所述块相关联的扫描次序对识别所述块内的最后非零或最后“有效”系数的位置的信息(即,所述块的最后有效系数位置信息)进行译码的技术。本发明的技术可通过基于识别与特定块相关联的扫描次序的信息(即,所述块的扫描次序信息)对所述块的最后有效系数位置信息进行译码,而提高对用于对视频数据块进行译码的所述块的最后有效系数位置信息的译码效率。换句话说,所述技术可在对块的最后有效系数位置信息进行译码时提高对所述信息的压缩。本发明的技术还可通过在使用多个扫描次序中的一者对特定块进行译码时使用共同统计数据对所述块的最后有效系数位置信息进行译码,而使得能够使用在对块的最后有效系数位置信息进行译码时相对于其它系统具有较低复杂性的译码系统。
在本发明中,术语“译码”是指在编码器处发生的编码或者在解码器处发生的解码。类似地,术语“译码器”是指编码器、解码器,或组合式编码器/解码器(“CODEC”)。术语译码器、编码器、解码器和CODEC全部是指与本发明一致的经设计以用于对视频数据进行译码(编码和/或解码)的特定机器。
一般来说,在开发这些技术的过程中所执行的经验测试已证明视频数据块的最后有效系数位置信息与扫描次序信息之间的关系。举例来说,根据与视频数据块相关联的扫描次序(即,用于对所述块进行译码的扫描次序)的所述块内的最后有效系数的位置可取决于所述扫描次序。换句话说,指示所述块内的的给定位置根据扫描次序对应于所述块内的最后有效系数的位置的概率的统计数据可取决于使用哪一扫描次序对所述块进行译码而变化。因此,使用上下文自适应熵译码对所述块的最后有效系数位置信息进行译码以使得至少部分基于所述块的扫描次序信息来选择用于对所述信息进行译码的统计数据可产生更准确的统计数据,且因此可导致对最后有效系数位置信息的更高效译码。
另外,根据本发明的技术,可根据与视频数据块相关联的扫描次序使用指示所述块内的最后有效系数的位置的x和y坐标对所述块的最后有效系数位置信息进行译码。在这些情况下,所述统计数据可指示根据扫描次序对应于所述块内的最后有效系数的位置的坐标(例如,x坐标或y坐标)包括给定值(例如,“0”、“1”、“2”等)的概率。因为一些扫描次序(例如,第一扫描次序和第二扫描次序)可相对于彼此对称(或至少部分对称),所以在扫描次序包括第一扫描次序时x坐标包括给定值的概率可与在扫描次序包括第二扫描次序时y坐标包括相同值的概率相同或类似,且反之亦然。类似地,在扫描次序包括第一扫描次序时y坐标包括给定值的概率可与在扫描次序包括第二扫描次序时x坐标包括相同值的概率相同或类似,且反之亦然。也就是说,在扫描次序包括第一扫描次序时的x和y坐标可各自分别具有与在扫描次序包括第二扫描次序时“交换”或互换的x和y坐标相同或类似的包括给定值的概率。因此,可使用共同统计数据对所述x和y坐标以及互换的x和y坐标进行译码。
因此,使用共同统计数据对在扫描次序包括第一扫描次序时的x和y坐标进行译码以及对在扫描次序包括第二扫描次序时的互换的x和y坐标进行译码可导致降低的译码系统复杂性。此外,基于x和y坐标以及互换的x和y坐标来更新共同统计数据还可产生更准确的统计数据,这可再次导致对最后有效系数位置信息的更高效译码。
作为一个实例,本发明的技术可通过在扫描次序包括第一扫描次序时根据与特定视频数据块相关联的扫描次序对指示所述块内的最后有效系数的位置的x和y坐标进行译码,且在扫描次序包括第二扫描次序时根据所述扫描次序对指示所述块内的最后有效系数的位置的互换的x和y坐标进行译码,而提高译码效率并降低译码系统复杂性。
在此实例中,可出于上下文自适应熵译码的目的使用共同统计数据对x和y坐标以及互换的x和y坐标进行译码,这可导致使用相对于其它系统(例如,针对可在系统内使用以对视频数据块进行译码的每一扫描次序包括单独统计数据的系统)具有较低复杂性的译码系统。此外,可基于x和y坐标以及互换的x和y坐标来更新共同统计数据,这可导致所述统计数据比使用其它技术来更新的类似统计数据(例如,针对可在系统内使用以对视频数据块进行译码的特定扫描次序而更新的统计数据)更准确。因此,与使用其它方法而译码的类似信息相比,可对x和y坐标以及互换的x和y坐标(即,块的最后有效系数位置信息)更高效地进行译码。
作为另一实例,本发明的技术可通过在必要时以递增方式对视频数据块的最后有效系数位置信息进行译码而提高译码效率。因此,可使用比在使用其它技术(例如,始终完整地对所述块的最后有效系数位置信息进行译码)时少的信息对最后有效系数位置信息进行译码。此外,在必须完整地对最后有效系数位置信息进行译码的情况下,可通过使用上下文自适应熵译码对所述信息进行译码以使得至少部分基于所述块的扫描次序信息来选择用于对所述信息进行译码的统计数据,而提高译码效率。以此方式对最后有效系数位置信息进行译码可导致使用比在使用其它方法(例如,在不考虑所述块的扫描次序信息的情况下选择所述统计数据)时更准确的统计数据,且再次导致对最后有效系数位置信息更高效地进行译码。
在上文所描述的实例中,为了使用统计数据对视频数据块的最后有效系数位置信息进行译码,可通过执行上下文自适应二进制算术译码(CABAC)过程对所述信息进行译码,所述上下文自适应二进制算术译码(CABAC)过程包含基于一个或一个以上上下文应用包含统计数据的上下文模型。在其它实例中,其它上下文自适应熵译码过程(例如,上下文自适应可变长度译码(CAVLC)、概率区间分割熵译码(PIPE))以及其它上下文自适应熵译码过程也可使用本发明的技术。在本发明中出于说明的目的描述CABAC,而非对本发明中广泛描述的技术的限制。而且,所述技术(例如)除了视频数据之外还一般可应用于其它类型的数据的译码。
以上文所描述的方式对一个或一个以上视频数据块的最后有效系数位置信息进行译码可使得能够使用相对于其它方法更高效的译码方法,并且使用相对于其它系统具有较低复杂性的译码系统。以此方式,当使用本发明的技术时,可存在针对包含所述信息的经译码位流的相对的位节省,以及针对用于对所述信息进行译码的系统的相对的复杂性降低。
图1是说明视频编码和解码系统10的一实例的框图,所述视频编码和解码系统10可实施与本发明的技术一致的用于基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效译码的技术。如图1中所示,系统10包括源装置12,源装置12经由通信信道16将经编码的视频发射到目的地装置14。源装置12和目的地装置14可包括各种各样的装置中的任一者。在一些情况下,源装置12和目的地装置14可包括无线通信装置,例如无线手持机、所谓的蜂窝式或卫星无线电电话,或可在通信信道16上(在此情况下,通信信道16为无线的)传送视频信息的任何无线装置。
然而,涉及基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效译码的本发明的技术不一定限于无线应用或环境。这些技术一般可应用于其中执行编码或解码的任何情形,包含空中电视广播、有线电视传输、卫星电视传输、流式传输因特网视频传输、被编码到存储媒体中或从存储媒体检索和解码的经编码数字视频,或其它情形。因此,不需要通信信道16,且本发明的技术可应用于其中应用编码的环境或者其中应用解码的环境,(例如)而不需要编码与解码装置之间的任何数据通信。
在图1的实例中,源装置12包含视频源18、视频编码器20、调制器/解码器(调制解调器)22和发射器24。目的地装置14包含接收器26、调制解调器28、视频解码器30,和显示装置32。根据本发明,源装置12的视频编码器20和/或目的地装置14的视频解码器30可经配置以应用用于基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效译码的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(例如,外部相机)接收视频数据。同样,目的地装置14可与外部显示装置介接,而不是包含集成式显示装置。
图1的所说明的系统10仅是一个实例。用于基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效译码的技术可由任何数字视频编码和/或解码装置来执行。尽管一般来说,本发明的技术是由视频编码装置来执行,但所述技术还可由视频编码器/解码器(通常被称作“CODEC”)来执行。另外,本发明的技术还可由视频预处理器来执行。源装置12及目的地装置14仅为此些译码装置的实例,其中源装置12产生用于发射到目的地装置14的经译码视频数据。在一些实例中,装置12、14可以大体上对称的方式操作,以使得装置12、14中的每一者包含视频编码和解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频发射,例如用于视频流式传输、视频重放、视频广播或视频电话。
源装置12的视频源18可包含视频俘获装置,例如摄像机、含有先前所俘获的视频的视频存档,和/或来自视频内容提供者的视频馈入。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或直播视频(livevideo)、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18为摄像机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,一般来说,本发明中所描述的技术可适用于视频译码,且可适用于无线或有线应用。在每一情况下,可由视频编码器20来编码经俘获的、经预先俘获的或计算机产生的视频。经编码的视频信息可接着由调制解调器22根据通信标准来调制,且经由发射器24而发射到目的地装置14。调制解调器22可包含各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包含经设计以用于发射数据的电路,包含放大器、滤波器及一个或一个以上天线。
目的地装置14的接收器26在信道16上接收信息,且调制解调器28解调所述信息。再次,上文所描述的视频编码过程可实施本文中所描述的用以基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效译码的技术中的一者或一者以上。在信道16上传送的信息可包含由视频编码器20界定的语法信息,所述语法信息还被视频解码器30使用,所述语法信息包含描述视频数据块(例如,宏块或译码单元)的特性和/或处理的语法元素(例如,所述块的最后有效系数位置信息和/或扫描次序信息以及其它信息)。显示装置32向用户显示经解码的视频数据,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
在图1的实例中,通信信道16可包括任一无线或有线通信媒体,例如,射频(RF)频谱或一个或一个以上物理传输线、或无线和有线媒体的任一组合。通信信道16可形成例如局域网、广域网或例如因特网的全球网络的基于包的网络的部分。通信信道16一般表示用于将视频数据从源装置12发射到目的地装置14的任何合适的通信媒体或不同通信媒体的集合,包含有线或无线媒体的任何合适组合。通信信道16可包含可用于促进从源装置12到目的地装置14的通信的路由器、交换器、基站或任何其它设备。在其它实例中,编码或解码装置可实施本发明的技术而不需要此些装置之间的任何通信。举例来说,编码装置可与本发明的技术一致地对经编码位流进行编码和存储。或者,解码装置可与本发明的技术一致地接收或检索经编码位流,且对所述位流进行解码。
视频编码器20和视频解码器30可根据例如ITU-TH.264标准(或者被称作MPEG-4第10部分,高级视频译码(AVC))的视频压缩标准而操作。然而,本发明的技术不限于任何特定译码标准。其它实例包含MPEG-2、ITU-TH.263以及目前在开发中的高效视频译码(HEVC)标准。一般来说,本发明的技术是相对于HEVC来描述,但应理解,这些技术还可结合其它视频译码标准而使用。尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器一起集成,且可包含适当的MUX-DEMUX单元或其它硬件和软件,以处置对共同数据流或单独数据流中的音频与视频两者的编码。如果可适用,MUX-DEMUX单元可符合ITUH.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。
视频编码器20和视频解码器30各自可经实施为例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合等多种合适编码器和解码器电路中的任一者。视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,视频编码器20和视频解码器30中的任一者可作为组合式编码器/解码器(CODEC)的一部分而集成于相应相机、计算机、移动装置、订户装置、广播装置、机顶盒、服务器等中。
视频序列通常包含一系列视频帧。图片群组(GOP)一般包括一系列一个或一个以上视频帧。GOP可在GOP的标头、GOP的一个或一个以上帧的标头或其它地方中包含语法数据,所述语法数据描述包含于GOP中的帧的数目。每一帧可包含帧语法数据,所述帧语法数据描述相应帧的编码模式。视频编码器(例如,视频编码器20)通常对个别视频帧内的视频块进行操作以便对视频数据进行编码。根据ITU-TH.264标准,视频块可对应于宏块或宏块的分区。根据其它标准(例如,下文更详细地描述的HEVC),视频块可对应于译码单元(例如,最大译码单元)或译码单元的分区。所述视频块可具有固定的或变化的大小,且可根据指定的译码标准而大小不同。每一视频帧可包含多个切片,即视频帧的若干部分。每一切片可包含多个视频块,所述多个视频块可布置在若干分区(还被称作子块)中。
取决于指定的译码标准,视频块可被分割为各种“N×N”子块大小,例如16×16、8×8、4×4、2×2等等。在本发明中,“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。作为一个实例,在ITU-TH.264标准中,可将大小为16乘16个像素的块称作宏块,且将小于16乘16个像素的块称作16乘16宏块的分区。在其它标准(例如,HEVC)中,可相对于其大小更一般地将块界定为译码单元和其分区,各自具有不同的而非固定的大小。
视频块可包括像素域中的若干像素数据块,或(例如)在对给定视频块的残余数据应用例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换等变换之后的在变换域中的若干变换系数块,其中残余数据表示块的视频数据与针对所述块而产生的预测性数据之间的像素差。在一些情况下,视频块可包括变换域中的若干经量化变换系数块,其中在对给定视频块的残余数据应用变换之后,所得的变换系数也被量化。
块分割用作基于块的视频译码技术中的重要目的。使用较小的块对视频数据进行译码可导致对包含高水平细节的视频帧的位置的数据的更好预测,且可因此减少表示为残余数据的所得误差(即,预测数据与源视频数据的偏差)。然而,虽然潜在地减少残余数据,但此些技术可需要额外的语法信息来指示相对于视频帧如何分割较小的块,且可导致增加的经译码视频位速率。因此,在一些技术中,块分割可取决于对照归因于额外的语法信息而引起的经译码视频数据的位速率的所得增加来平衡残余数据的合意的减少。
一般来说,块及其各种分区(即,子块)可被视为视频块。另外,可将切片视为多个视频块(例如,宏块或译码单元),和/或子块(宏块的分区,或子译码单元)。每一切片可为视频帧的可独立解码单元。或者,帧自身可为可解码单元,或可将帧的其它部分界定为可解码单元。此外,可将GOP(还被称作序列)界定为可解码单元。
当前正在努力开发新的视频译码标准(当前被称作高效视频译码(HEVC))。新兴的HEVC标准还可被称作H.265。标准化工作是基于被称作HEVC测试模型(HM)的视频译码装置模型。HM经由根据(例如)ITU-TH.264/AVC的装置而假设视频译码装置的若干能力。举例来说,鉴于H.264提供九个帧内预测编码模式,HM(例如)基于正被帧内预测译码的块的大小而提供多达三十五个帧内预测编码模式。
HM将视频数据块称作译码单元(CU)。CU可指代用作向其应用各种译码工具以进行压缩的基本单元的矩形图像区。在H.264中,其还可被成为宏块。位流内的语法数据可界定最大译码单元(LCU),其为在像素数目方面的最大CU。一般来说,CU具有与H.264的宏块类似的目的,只不过CU不具有大小区别。因此,CU可被分割或“分裂”为若干子CU。
LCU可与指示如何分割LCU的四叉树数据结构相关联。一般来说,四叉树数据结构中的每个LCU的CU包含一个节点,其中根节点对应于LCU,且其它节点对应于LCU的子CU。如果将给定CU分裂为四个子CU,那么四叉树中的对应于分裂的CU的节点包含四个子节点,所述四个子节点中的每一者对应于子CU中的一者。所述四叉树数据结构的每一节点可提供对应CU的语法信息。举例来说,四叉树中的节点可包含CU的分裂旗标,从而指示对应于所述节点的CU是否被分裂为四个子CU。可递归地界定给定CU的语法信息,且所述语法信息可取决于CU是否被分裂为子CU。
未分裂的CU(即,对应于终端的CU,或给定四叉树中的叶节点)可包含一个或一个以上预测单元(PU)。一般来说,PU表示对应CU的全部或一部分,且包含用于检索PU的参考样本的数据以用于执行对所述CU的预测的目的。举例来说,在对CU进行帧内模式编码时,PU可包含描述PU的帧内预测模式的数据。作为另一实例,在对CU进行帧间模式编码时,PU可包含界定PU的运动向量的数据。界定运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考帧,和/或运动向量的参考列表(例如,列表0或列表1)。界定CU的一个或一个以上PU的CU的数据还可描述(例如)将CU分割为一个或一个以上PU。分割模式在CU未被译码、被帧内预测模式编码还是被帧间预测模式编码之间可不同。
具有一个或一个以上PU的CU还可包含一个或一个以上变换单元(TU)。如上文所描述,在使用一个或一个以上PU对CU进行预测之后,视频编码器可针对CU的对应于一个或一个以上PU的相应部分计算一个或一个以上残余块。所述残余块可表示用于CU的视频数据与用于一个或一个以上PU的所预测数据之间的像素差。可变换、扫描并量化一组残余值以界定一组经量化变换系数。TU可界定大体上类似于上文参考CU所描述的四叉树数据结构的分割数据结构,所述分割数据结构指示变换系数的分割信息。TU不一定受限于PU的大小。因此,TU可比同一CU的对应PU更大或更小。在一些实例中,TU的最大大小可对应于对应CU的大小。在一个实例中,可使用被称为“残余四叉树(RQT)”的四叉树结构将对应于CU的残余样本细分为更小的单元。在此情况下,RQT的叶节点可被称作TU,可针对所述TU变换并量化对应的残余样本。
在用以产生预测性数据和残余数据的帧内预测或帧间预测编码之后,以及在用以产生变换系数的任何变换(例如,用于H.264/AVC或离散余弦变换DCT中的4×4或8×8整数变换)之后,可执行对变换系数的量化。量化一般指代将变换系数量化以可能地减少用于表示系数的数据量的过程。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,n位值可在量化期间下舍入到m位值,其中n大于m。
在量化之后,可执行对经量化数据(即,经量化变换系数)的熵译码。所述熵译码可符合本发明的关于基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效译码的技术,且还可使用其它熵译码技术,例如上下文自适应可变长度译码(CAVLC)、CABAC、PIPE或另一熵译码方法。举例来说,可使用熵译码技术对经量化变换系数的被表示为量值和对应正负号(例如,“+1”或“-1”)的系数值进行编码。
应注意,取决于指定的译码标准,可针对任何视频数据块执行上文所描述的预测、变换和量化,例如对CU的PU和/或TU,或对宏块。因此,本发明的与基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效译码相关的技术可应用于任何视频数据块,例如,应用于任何经量化变换系数块,包含宏块,或CU的TU。此外,视频数据块(例如,宏块,或CU的TU)可包含对应视频数据的亮度分量(Y)、第一色度分量(U)和第二色度分量(V)中的每一者。因此,可针对给定视频数据块的Y、U和V分量中的每一者执行本发明的技术。
为了如上文所描述对视频数据块进行编码,还可产生关于给定块内的有效系数的位置的信息并对所述信息进行编码。随后,可如上文所描述对有效系数的值进行编码。在H.264/AVC和新兴的HEVC标准中,当使用上下文自适应熵译码过程(例如,CABAC过程)时,可在对有效系数的值进行编码之前对视频数据块内的有效系数的位置进行编码。可将对块内的全部有效系数的位置进行编码的过程称作有效图(SM)编码。下文更详细地描述的图4A到4C是说明4×4经量化变换系数块和对应的SM数据的实例的概念图。
可如下描述典型的SM编码程序。对于给定的视频数据块,仅在所述块内存在至少一个有效系数的情况下才对SM进行编码。可在经译码块模式中指示给定视频数据块内的有效系数的存在(例如,使用语法元素“coded_block_pattern”,或CBP),其为针对与视频数据中的像素区域相关联的一组块(例如,亮度和色度块)而译码的二进制值。CBP中的每一位被称作经译码块旗标(例如,对应于语法元素“coded_block_flag”),且用于指示在其对应块内是否存在至少一个有效系数。换句话说,经译码块旗标是指示在单一变换系数块内是否存在任何有效系数的一位符号,且CBP是用于一组相关视频数据块的一组经译码块旗标。
如果经译码块旗标指示在对应块内不存在有效系数(例如,旗标等于“0”),那么不针对所述块编码进一步的信息。然而,如果经译码块旗标指示在对应块内存在至少一个有效系数(例如,旗标等于“1”),那么可通过遵循与所述块相关联的系数扫描次序针对所述块对SM进行编码。所述扫描次序可界定其中将块内的每一系数的有效性编码为SM编码的部分的次序。换句话说,扫描可使二维系数块串行化为一维表示以确定系数的有效性。可使用不同的扫描次序(例如,Z形、水平和垂直)。下文更详细地描述的图5A到5C说明可针对8×8视频数据块使用的各种扫描次序中的一些的实例。然而,本发明的技术还可相对于广泛多种其它扫描次序进行应用,包含对角扫描次序、作为Z形、水平、垂直和/或对角扫描次序的组合的扫描次序,以及部分Z形、部分水平、部分垂直和/或部分对角的扫描次序。另外,本发明的技术还可考虑自身基于与先前经译码的视频数据块(例如,具有与正被译码的当前块相同的块大小或译码模式的块)相关联的统计数据是自适应的扫描次序。举例来说,在一些情况下,自适应扫描次序可为与所述块相关联的扫描次序。
给定指示在给定块内存在至少一个有效系数的经译码块旗标,以及对所述块的扫描次序,可如下对所述块的SM进行编码。可首先使用所述扫描次序将二维经量化变换系数块映射到一维阵列中。对于所述阵列中的每一系数,遵循所述扫描次序,可对一位有效系数旗标(例如,对应于语法元素“significant_coeff_flag”)进行编码。也就是说,可向所述阵列中的每一位置指派一二进制值,所述二进制值在对应系数是有效的情况下可被设定为“1”,且在对应系数是非有效的情况下可被设定为“0”(即,零)。如果给定有效系数旗标等于“1”,从而指示对应系数是有效的,那么还可对额外的一位最后有效系数旗标(例如,对应于语法元素“last_significant_coeff_flag”)进行编码,其可指示所述对应系数是否是所述阵列内(即,给定扫描次序的块内)的最后有效系数。具体来说,如果对应系数是所述阵列内的最后有效系数,那么每一最后有效系数旗标可被设定为“1”,且否则会被设定为“0”。如果以此方式到达最后阵列位置,且SM编码过程未终止于等于“1”的最后有效系数旗标,那么可推断出所述阵列(且进而给定扫描次序的块)中的最后系数是有效的,且针对最后阵列位置没有最后有效系数旗标可被编码。
图4B到4C是分别说明对应于图4A中所描绘的呈现在图中而非阵列形式的块的SM数据的若干组有效系数旗标和最后有效系数旗标的实例的概念图。应注意,在其它实例中,可将如上文所描述的有效系数旗标和最后有效系数旗标设定为不同值(例如,在对应系数是有效的情况下可将有效系数旗标设定为“0”,且在对应系数是非有效的情况下可将有效系数旗标设定为“1”,且在对应系数是最后有效系数的情况下可将最后有效系数旗标设定为“0”,且在对应系数不是最后有效系数的情况下可将最后有效系数旗标设定为“1”)。
在对SM进行编码之后,如上文所描述,还可对所述块中的每一有效系数的值(即,例如分别由语法元素“coeff_abs_level_minusl”和“coeff_sign_flag”指示的每一有效系数的量值和正负号)进行编码。
根据一些技术,如上文所描述,可使用固定扫描次序对视频数据块进行译码,例如,Z形扫描次序。根据其它技术,可使用多个扫描次序对所述块进行译码。在一些实例中,可使用“自适应系数扫描(ACS)”,其中扫描次序随时间调适,且在任何给定时间使用当前调适的扫描次序对特定系数块进行译码。在又其它技术中,视频编码器20可基于一个或一个以上压缩效率度量来测试若干扫描次序,且选择最佳扫描次序对所述块进行编码。另外,视频编码器20可通过对ACS索引进行编码来向视频解码器30指示扫描次序,所述ACS索引可表示若干扫描次序中的任一者(例如,针对Z形扫描次序使用0,针对水平扫描次序使用1,且针对垂直扫描次序使用2)。
根据一些技术,视频编码器20可仅在最后有效系数不位于扫描次序中的第一位置(对应于块内的通常被称作“DC”位置的左上位置)中时才对ACS索引进行编码。视频编码器20之所以以此方式对ACS索引进行编码是因为在块内的最后(且唯一)有效系数位于DC位置中的情况下,视频解码器30不需要由视频编码器20使用的扫描次序的指示,因为所有可能的扫描次序可开始于DC位置,如图5和6中所示,也在下文更详细地描述。
在块内的最后有效系数不位于DC位置中的情况下,视频编码器20可以以下方式对ACS索引进行编码。视频编码器20可对指示扫描次序是Z形扫描次序(例如,binl=“0”)或不是Z形扫描次序(例如,binl=“1”)的第一信号(例如,“binl”)进行编码。在扫描次序不是Z形扫描次序的情况下,视频编码器20可对指示扫描次序是水平扫描次序(例如,bin2=“0”)还是垂直扫描次序(例如,bin2=“1”)的第二信号(例如,“bin2”)进行编码。类似地,视频解码器30可接收第一信号和第二信号并对其进行解码以确定ACS索引。因此,并非始终对ACS索引进行译码,视频编码器20和/或视频解码器30可仅在最后有效系数不位于DC位置中时才对ACS索引进行译码。
如先前所描述,根据本发明的技术,可根据与特定视频数据块相关联的扫描次序使用指示所述块内的最后有效系数的位置的x和y坐标对所述块的最后有效系数位置信息进行译码。在一些实例中,x坐标可对应于所述块内的位置的列编号,且y坐标可对应于所述块内的位置的行编号。举例来说,所述行和列编号可与对应于块内的参考或“原点”位置(例如,DC位置)的行和列编号相关。因此,根据这些技术,可不使用SM译码对视频数据块的最后有效系数位置信息进行译码,如上文所描述,而是通过对根据与所述块相关联的扫描次序的块内的最后有效系数的位置的x和y坐标进行显式译码。根据此些技术,可独立于所述块的剩余SM数据(即,有效系数旗标或有效系数位置信息)对x和y坐标进行译码。举例来说,可在对所述块的有效系数位置信息进行译码之前对x和y坐标进行译码。
在与本发明的技术一致的一些实例中,为了对x和y坐标进行译码,视频编码器20和/或视频解码器30可进一步确定指示所述块内的给定位置对应于根据扫描次序的所述块内的最后有效系数的位置的概率的统计数据。具体来说,所述统计数据可指示根据扫描次序对应于所述块内的最后有效系数的位置的坐标(例如,x坐标或y坐标)包括给定值(例如,“0”、“1”、“2”等)的概率。换句话说,所述统计数据可指示先前所描述的x和y坐标中的每一者包括给定值的概率。视频编码器20和/或视频解码器30可确定所述统计数据,且基于所述统计数据(例如)使用上下文自适应熵译码对所述x和y坐标进行译码。在一些实例中,视频编码器20和/或视频解码器30可使用先前经译码的视频数据块的最后有效系数位置信息(例如,先前经译码的块的x和y坐标的值)来确定所述统计数据。在其它实例中,视频编码器20和/或视频解码器30可基于x和y坐标来更新所述统计数据以反映相应坐标包括特定值的概率。如先前所描述,所述统计数据可取决于使用哪一扫描次序对所述块进行译码而变化。
作为与本发明的技术一致的一个实例,为了基于所述统计数据对x和y坐标进行译码,视频编码器20和/或视频解码器30可执行上下文自适应熵译码过程(例如,CABAC过程),其包含基于至少一个上下文应用包含所述统计数据的上下文模型。举例来说,所述至少一个上下文可包含x和y坐标以及扫描次序中的一者。在此实例中,视频编码器20和/或视频解码器30可使用所述扫描次序来选择包含所述统计数据的特定上下文模型。也就是说,视频编码器20和/或视频解码器30可在使用特定扫描次序对所述块进行译码时选择唯一统计数据对x和y坐标进行译码。
此外,在一个坐标(例如,y坐标)在另一坐标(例如,x坐标)之后被译码的情况下,视频编码器20和/或视频解码器30可使用另一先前经译码的坐标的值作为上下文来对所述坐标进行译码。也就是说,可使用x和y坐标中的先前经译码的一者的值来进一步在上下文模型内选择指示另一目前被译码的坐标包括给定值的概率的统计数据。视频编码器20和/或视频解码器30可随后通过执行上下文自适应熵译码过程而使用选定的统计数据对x和y坐标进行译码。
作为与本发明的技术一致的另一实例,x和y坐标可各自使用包括一个或一个以上位或“二进位”的序列的一元码字来表示。换句话说,x和y坐标可被“二进制化”。因此,为了基于所述统计数据对x和y坐标进行译码,视频编码器20和/或视频解码器30可通过执行上下文自适应熵译码过程对对应于特定坐标的码字的每一二进位进行译码。在此实例中,上下文模型中所包含的指示坐标包含给定值的概率的统计数据可包含指示对应于坐标的码字的每一二进位包括给定值(例如,“0”或“1”)的概率的概率估计。此外,所述统计数据可包含取决于码字内的相应二进位的位置的码字的每一二进位的不同概率估计。在一些实例中,视频编码器20和/或视频解码器30可使用先前经译码的视频数据块的对应二进位(例如,对应于先前经译码的块的x和y坐标的码字的二进位)的值来确定概率估计,(例如)以作为基于先前经译码的块的最后有效系数位置信息来确定统计数据(如先前所描述)的部分。在其它实例中,视频编码器20和/或视频解码器30还可使用每一二进位的值来更新概率估计,(例如)以作为基于x和y坐标来更新统计数据(同样如先前所描述)的部分。视频编码器20和/或视频解码器30可使用概率估计通过执行上下文自适应熵译码过程对每一二进位进行译码。
上文所描述的技术的一个缺点是,当对视频数据块的最后有效系数位置信息进行译码时,视频编码器20和/或视频解码器30可取决于视频编码器20和/或视频解码器30用于对所述块进行译码的扫描次序而使用不同统计数据。换句话说,在使用多个扫描次序对所述块进行译码时,视频编码器20和/或视频解码器30可各自确定并维持(例如,更新)多组统计数据,以便对视频数据块的最后有效系数位置信息进行译码。在一些情况下,针对相对于彼此对称的扫描次序而确定和维持的若干组统计数据可包含相同或类似的信息,如先前所描述。在这些情况下,确定和维持所述若干组统计数据可导致译码系统资源的低效使用和不必要的译码系统复杂性。
上文所描述的技术的另一缺点是,在视频编码器20和/或视频解码器30使用共同统计数据对视频数据块的最后有效系数位置信息进行译码,而不管用于对所述块进行译码的扫描次序如何时,所述统计数据可能没有针对每一扫描次序个别确定和维持(例如,更新)的统计数据那么准确。也就是说,共同统计数据可指示给定视频数据块内的位置对应于根据与所述块相关联的扫描次序的所述块内的最后有效系数的位置的概率没有针对用于对所述块进行译码的特定扫描次序而个别确定和维持的统计数据那么准确。在这些情况下,使用所述共同统计数据对最后有效系数位置信息进行译码可导致降低的译码效率。
上文所描述的技术的又一缺点是,在一些情况下,视频编码器20和/或视频解码器30可使用在视频数据块内的共同位置(例如,DC位置)处发起的多个扫描次序中的一者对所述块进行译码。在这些情况下,在根据与所述块相关联的扫描次序的所述块内的最后有效系数的位置对应于共同位置时,在所述块内不存在超过位于共同位置中的系数的其它有效系数。因此,视频编码器20和/或视频解码器30不需要对所述块内的最后有效系数的位置进行译码。换句话说,在此情况下,完整地对所述块的最后有效系数位置信息(例如,如先前所描述,使用x和y坐标表示)进行译码可为不必要的,因为这可再次导致降低的译码效率。
另外,在以上实例中,在块内的最后有效系数的位置不对由于共同位置,且必须完整地对所述块的最后有效系数位置信息进行译码时,在一些情况下,可能使用不准确的统计数据(例如不利用最后有效系数位置信息与所述块的扫描次序信息之间的先前所描述的关系的统计数据)对所述信息进行译码,这可再次导致降低的译码效率。
因此,本发明描述可使得能够相对于其它技术对视频数据块的最后有效系数位置信息进行更高效地译码,且相对于其它系统使用复杂性较低的译码系统的技术。作为一个实例,可通过在使用多个扫描次序中的一者对所述块进行译码时使用共同统计数据对最后有效系数位置信息进行译码(例如,通过对指示所述信息的x和y坐标以及互换的x和y坐标进行译码,其取决于用于对所述块进行译码的扫描次序),而使用相对于其它系统复杂性较低的译码系统对所述信息进行译码。根据此实例,还可通过基于x和y坐标以及互换的x和y坐标来更新共同统计数据(其可导致统计数据更准确)而对最后有效系数位置信息进行更高效地译码。作为另一实例,可通过在必要时以递增方式对最后有效系数位置信息进行译码,且在完整地对所述信息进行译码时,基于扫描次序进行所述译码(例如,将扫描次序用作上下文),而对所述信息更高效地进行译码。
在一些实例中,源装置12的视频编码器20可经配置以对视频数据的某些块(例如,一个或一个以上宏块,或CU的TU)进行编码,且目的地装置14的视频解码器30可经配置以从视频编码器20(例如,从调制解调器28和接收器26)接收经编码视频数据。根据本发明的技术,作为一个实例,视频编码器20和/或视频解码器30可经配置以在扫描次序包括第一扫描次序时根据与特定视频数据块相关联的扫描次序对指示所述块内的最后有效系数的位置的x和y坐标进行译码。视频编码器20和/或视频解码器30可进一步经配置以在扫描次序包括第二扫描次序时根据所述扫描次序对指示所述块内的最后有效系数的位置的互换的x和y坐标进行译码。举例来说,所述第二扫描次序可不同于所述第一扫描次序。
在此实例中,所述第一扫描次序和所述第二扫描次序可相对于彼此对称(或至少部分对称)。举例来说,所述第一扫描次序可为水平扫描次序,且所述第二扫描次序可为垂直扫描次序,其中所述水平扫描次序和所述垂直扫描次序发起于所述块内的共同位置处。举例来说,所述共同位置可为DC位置,如先前所描述。
在此实例中,为了对x和y坐标以及互换的x和y坐标进行译码,视频编码器20和/或视频解码器30可进一步经配置以确定指示x和y坐标中的每一者包括给定值的概率的统计数据,其中对x和y坐标以及互换的x和y坐标进行译码包括基于所述统计数据进行译码。举例来说,x坐标包括给定值的概率可用于对x坐标和互换的y坐标进行译码,且y坐标包括给定值的概率可用于对y坐标和互换的x坐标进行译码。视频编码器20和/或视频解码器30可进一步经配置以基于x和y坐标以及互换的x和y坐标来更新统计数据。举例来说,可使用x坐标和互换的y坐标来更新x坐标包括给定值的概率,且可使用y坐标和互换的x坐标来更新y坐标包括给定值的概率。
作为一个实例,为了基于所述统计数据对x和y坐标以及互换的x和y坐标进行译码,视频编码器20和/或视频解码器30可经配置以执行上下文自适应熵译码过程(例如,CABAC过程),其包含视频编码器20和/或视频解码器30基于至少一个上下文应用包含所述统计数据的上下文模型。举例来说,所述至少一个上下文可包含x和y坐标、互换的x和y坐标以及扫描次序中的一者。
应注意,在一些实例中,视频编码器20和/或视频解码器30可进一步经配置以在扫描次序包括第三扫描次序时对x和y坐标进行译码。举例来说,所述第三扫描次序可不同于所述第一扫描次序和所述第二扫描次序。作为一个实例,所述第三扫描次序可为Z形扫描次序,或对角扫描次序,其中所述Z形扫描次序或对角扫描次序也发起于所述块内的共同位置(例如,DC位置)处。
在此实例中,在一些情况下,视频编码器20和/或视频解码器30可进一步经配置以对识别扫描次序的信息(即,所述块的扫描次序信息)进行译码。另外,在一些情况下,视频编码器20和/或视频解码器30可进一步经配置以对识别所述块内的其它有效系数的位置的信息(即,所述块的有效系数位置信息)进行译码。
作为另一实例,视频编码器20和/或视频解码器30可经配置以根据与特定视频数据块相关联的扫描次序对指示所述块内的最后有效系数的位置的x和y坐标进行译码。举例来说,所述扫描次序可为多个扫描次序中的一者,其中所述多个扫描次序中的每一者均发起于所述块内的共同位置(例如,DC位置)处。
在此实例中,为了对x和y坐标进行译码,视频编码器20和/或视频解码器30可经配置以对指示x坐标是否对应于共同位置的信息进行译码,对指示y坐标是否对应于共同位置的信息进行译码,且在x坐标不对应于共同位置且y坐标不对应于共同位置的情况下,对识别所述扫描次序的信息进行译码。视频编码器20和/或视频解码器30可进一步经配置以在x坐标不对应于共同位置的情况下基于扫描次序对x坐标进行译码,且在y坐标不对应于共同位置的情况下基于扫描次序对y坐标进行译码。
在此实例中,为了基于所述扫描次序对x和y坐标进行译码,视频编码器20和/或视频解码器30可经配置以执行上下文自适应熵译码过程(例如,CABAC过程),其包含视频编码器20和/或视频解码器30基于至少一个上下文应用上下文模型。举例来说,所述至少一个上下文可包含扫描次序。
在任何情况下,在以上文所描述的方式对所述块的最后有效系数位置信息,且在一些情况下,对扫描次序信息和有效系数位置信息(即,SM数据)进行译码之后,视频编码器20和/或视频解码器30还可对所述块内的每一有效系数的值(例如,分别由语法元素“coeff_abs_level_minusl”和“coeff_sign_flag”指示的每一有效系数的量值和正负号)进行译码。
因此,本发明的技术可使得视频编码器20和/或视频解码器30能够比在使用其它方法时对所述块的最后有效系数位置信息更高效地进行译码,且可使得视频编码器20和/或视频解码器30能够相对于其它系统具有较低的复杂性。以此方式,当使用本发明的技术时,可存在针对包含最后有效系数位置信息的经译码位流的相对的位节省,以及针对用于对所述信息进行译码的视频编码器20和/或视频解码器30的相对的复杂性降低。
视频编码器20和视频解码器30各自可在可适用时经实施为例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合等多种合适编码器或解码器电路中的任一者。视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,视频编码器20和视频解码器30中的任一者可被集成为组合式视频编码器/解码器(CODEC)的一部分。包含视频编码器20和/或视频解码器30的设备可包括集成电路、微处理器和/或无线通信装置,例如蜂窝式电话。
图2是说明视频编码器20的一实例的框图,所述视频编码器20可实施与本发明的技术一致的用于基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效编码的技术。视频编码器20可执行对视频帧内的块(包含宏块、CU以及分区或其子分区)的帧内译码和帧间译码。帧内译码依赖于空间预测以减少或移除给定视频帧内的视频中的空间冗余。帧间译码依赖于时间预测以减少或移除视频序列的邻近帧内的视频中的时间冗余。帧内模式(I模式)可指代若干基于空间的压缩模式中的任一者,且帧间模式(例如,单向预测(P模式)或双向预测(B模式))可指代若干基于时间的压缩模式中的任一者。
如图2中所示,视频编码器20接收待编码视频帧内的当前视频数据块。在图2的实例中,视频编码器20包含运动补偿单元44、运动估计单元42、存储器64、求和器50、变换模块52、量化单元54以及熵译码单元56。对于视频块重构,视频编码器20还包含逆量化单元58、逆变换模块60以及求和器62。还可包含解块滤波器(图2中未展示)以对块边界滤波,以从经重构的视频移除成块性假影。在需要时,解块滤波器将通常对求和器62的输出进行滤波。
在编码过程期间,视频编码器20接收待译码的视频帧或切片。可将帧或切片划分为多个视频块。运动估计单元42和运动补偿单元44可相对于一个或一个以上参考帧中的一个或一个以上块执行对给定的所接收视频块的帧间预测译码以提供时间压缩。帧内预测模块46可相对于在与待译码的块相同的帧或切片中的一个或一个以上相邻块执行对给定的所接收视频块的帧内预测译码,以提供空间压缩。
模式选择单元40可基于译码结果(例如,所得的译码率以及失真水平)且基于包含正被译码的给定所接收块的帧或切片的帧或切片类型来选择译码模式中的一者(即,一个模式或多个帧内或帧间译码模式),且将所得的经帧内或帧间译码的块提供给求和器50以产生残余块数据,且提供给求和器62以重构经编码块,以在参考帧或参考切片中使用。一般来说,帧内预测涉及相对于相邻的先前经译码的块来预测当前块,而帧间预测涉及用以在时间上预测当前块的运动估计和运动补偿。
运动估计单元42与运动补偿单元44代表视频编码器20的帧间预测元件。运动估计单元42与运动补偿单元44可高度集成,但出于概念上的目的而分开予以说明。运动估计是产生估计视频块的运动的运动向量的过程。运动向量(例如)可指示预测性参考帧(或其它经译码单元)内的预测块相对于当前帧(或其它经译码单元)内正被译码的当前块的位移。预测块是被发现在像素差异方面与待译码的块紧密匹配的块,其可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定。运动向量还可指示块的分区的移位。运动补偿可涉及基于运动估计所确定的运动向量来获取或产生预测块。再次,在一些实例中,运动估计单元42与运动补偿单元44可在功能上集成。
运动估计单元42可通过将经帧间译码帧的视频块与存储器64中的参考帧的视频块进行比较来计算所述视频块的运动向量。运动补偿单元44还可出于此比较的目的而内插参考帧(例如,I帧或P帧)的子整数像素。作为一实例,ITUH.264标准描述了两个列表:列表0,其包含具有比正被编码的当前帧早的显示次序的参考帧;以及列表1,其包含具有比正被编码的当前帧晚的显示次序的参考帧。因此,存储于存储器64中的数据可根据这些列表进行组织。
运动估计单元42可将来自存储器64的一个或一个以上参考帧的块与当前帧(例如,P帧或B帧)的待编码的块进行比较。当存储器64中的参考帧包含子整数像素的值时,由运动估计单元42计算出的运动向量可指代参考帧的子整数像素位置。运动估计单元42和/或运动补偿单元44还可经配置以在没有子整数像素位置的值存储于存储器64中时计算存储于存储器64中的参考帧的子整数像素位置的值。运动估计单元42可将所计算的运动向量发送到熵编码单元56和运动补偿单元44。可将由运动向量识别的参考帧块称作帧间预测块,或更一般地,称作预测块。运动补偿单元44可基于预测块计算预测数据。
帧内预测模块46可对当前块进行帧内预测,以作为如上文所描述的由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案。具体来说,帧内预测模块46可确定用以对当前块进行编码的帧内预测模式。在一些实例中,帧内预测模块46可(例如)在单独编码回合期间使用各种帧内预测模式对当前块进行编码,且帧内预测模块46(在一些实例中,或为模式选择单元40)可从所测试的模式中选择将使用的适当的帧内预测模式。举例来说,帧内预测模块46可使用对各种所测试的帧内预测模式的速率-失真分析来计算速率-失真值,且在所测试的模式中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析一般确定经编码块与曾被编码以产生所述经编码块的原始未经编码块之间的失真(或误差)量,以及用于产生所述经编码块的位速率(即,位数目)。帧内预测模块46可从各种经编码块的失真和速率计算比率,以确定哪一帧内预测模式展现出用于所述块的最佳的速率-失真值。
在(例如)使用帧内预测或帧间预测对当前块进行预测之后,视频编码器20可通过从正被译码的原始视频块减去由运动补偿单元44或帧内预测模块46计算的预测数据而形成残余视频块。求和器50代表可执行此减法操作的组件。变换模块52可对残余块应用变换(例如,离散余弦变换(DCT)或概念上类似的变换),从而产生包括残余变换系数值的视频块。变换模块52可执行概念上类似于DCT的其它变换,例如由H.264标准界定的变换。也可使用小波变换、整数变换、子带变换或其它类型的变换。在任何情况下,变换模块52可对残余块应用所述变换,从而产生残余变换系数块。所述变换可将残余信息从像素域转换为变换域(例如,频域)。量化单元54可量化残余变换系数以进一步减少位速率。量化过程可减少与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。
在量化之后,熵编码单元56可对经量化变换系数进行熵编码,其可包含CAVLC、CABAC、PIPE或其它熵译码技术。在由熵编码单元56熵译码之后,可将经编码的视频发射到另一装置或存档以供随后发射或检索。
在一些情况下,视频编码器20的熵编码单元56或另一单元可经配置以执行除了上文所描述的对经量化变换系数进行熵译码之外的其它译码功能。举例来说,熵编码单元56可用适当的语法元素建构所述块(例如,宏块、CU或LCU)或含有所述块的视频帧的标头信息,以用于在经编码视频位流中发射。根据一些译码标准,此些语法元素可包含如先前所描述的所述块(例如,宏块或CU的TU)的最后有效系数位置信息。还如先前所描述,在被低效译码的情况下,所述最后有效系数位置信息可消耗较高百分比的总经压缩视频位速率。因此,本发明描述可使得能够比在使用其它方法时对所述块的最后有效系数位置信息进行更高效译码的技术。此外,本发明描述在对所述块的最后有效系数位置信息进行译码时使用相对于其它系统具有较低复杂性的译码系统。
在一些实例中,视频编码器20的熵编码单元56可经配置以对视频数据的某些块进行编码(例如,一个或一个以上宏块,或CU的TU)。根据本发明的技术,作为一个实例,熵编码单元56可经配置以在扫描次序包括第一扫描次序时根据与特定视频数据块相关联的扫描次序对指示所述块内的最后有效系数的位置的x和y坐标进行编码。熵编码单元56可进一步经配置以在扫描次序包括第二扫描次序时根据所述扫描次序对指示所述块内的最后有效系数的位置的互换的x和y坐标进行编码。举例来说,所述第二扫描次序可不同于所述第一扫描次序。
在此实例中,所述第一扫描次序和所述第二扫描次序可相对于彼此对称(或至少部分对称)。举例来说,所述第一扫描次序可为水平扫描次序,且所述第二扫描次序可为垂直扫描次序,其中所述水平和垂直扫描次序发起于所述块内的共同位置(例如,DC位置)处。
具体来说,所述第一扫描次序和所述第二扫描次序可各自为可由熵编码单元56用于对所述块进行编码的扫描次序。举例来说,所述第一和第二扫描次序可为在包括视频编码器20和视频解码器30的对应译码系统10内由视频编码器20用于对视频数据块进行编码且由视频解码器30用于对所述块进行解码的扫描次序。在一些实例中,所述第一和第二扫描次序可仅为在系统10内用于对所述块进行译码的扫描次序中的一些扫描次序。在其它实例中,所述第一和第二扫描次序可为在系统10内用于对所述块进行译码的仅有扫描次序。
此外,互换的x和y坐标还对应于所述块的最后有效系数位置信息,但被熵编码单元56进一步处理(即,互换),以使得能够比在使用如先前所描述的其它技术时对所述信息更高效地进行编码。具体来说,互换的x和y坐标可使得能够使用共同统计数据对指示所述块的最后有效系数位置信息的x和y坐标以及互换的x和y坐标进行编码,还如先前所描述。
在此实例中,为了对x和y坐标以及互换的x和y坐标进行编码,熵编码单元56可进一步经配置以确定指示x和y坐标中的每一者包括给定值的概率的统计数据,其中对x和y坐标以及互换的x和y坐标进行编码包括基于所述统计数据进行编码。举例来说,x坐标包括给定值的概率可用于对x坐标和互换的y坐标进行编码,且y坐标包括给定值的概率可用于对y坐标和互换的x坐标进行编码。
一般来说,在所述扫描次序包括第一扫描次序时,所述统计数据可指示所述块内的给定位置对应于根据扫描次序的所述块内的最后有效系数的位置的概率。具体来说,在所述扫描次序包括第一扫描次序时,所述统计数据可指示根据扫描次序对应于所述块内的最后有效系数的位置的坐标(例如,x坐标或y坐标)包括给定值(例如,“0”、“1”、“2”等)的概率。
如先前所描述,因为所述第一和第二扫描次序可相对于彼此对称(或至少部分对称),所以在扫描次序包括第一扫描次序时x坐标包括给定值的概率可与在扫描次序包括第二扫描次序时y坐标包括相同值的概率相同或类似,且反之亦然。类似地,在扫描次序包括第一扫描次序时y坐标包括给定值的概率可与在扫描次序包括第二扫描次序时x坐标包括相同值的概率相同或类似,且反之亦然。也就是说,在扫描次序包括第一扫描次序时的x和y坐标可各自分别具有与在扫描次序包括第二扫描次序时的互换的x和y坐标相同或类似的包括给定值的概率。因此,所述统计数据可进一步指示互换的x和y坐标中的每一者包括给定值的概率。在一些实例中,熵编码单元56可使用先前经编码的视频数据块的最后有效系数位置信息(例如,先前经编码的块的x和y坐标以及互换的x和y坐标的值)来确定所述统计数据。
熵编码单元56可进一步经配置以基于x和y坐标以及互换的x和y坐标来更新所述统计数据,以使得使用x坐标和互换的y坐标来更新x坐标包括给定值的概率,且使用y坐标和互换的x坐标来更新y坐标包括给定值的概率。举例来说,可以上文所描述的方式使用经更新的统计数据对随后经编码的视频数据块的最后有效系数位置信息进行编码。
作为一个实例,为了基于所述统计数据对x和y坐标以及互换的x和y坐标进行编码,熵编码单元56可经配置以执行上下文自适应熵译码过程(例如,CABAC过程),其包含熵编码单元56基于至少一个上下文应用包含所述统计数据的上下文模型。举例来说,所述至少一个上下文可包含x和y坐标、互换的x和y坐标以及扫描次序中的一者。如先前所提到,除了CABAC之外,出于译码的目的而互换x和y坐标的所描述的技术还可用于其它上下文自适应熵译码技术中,例如CAVLC、PIPE或其它上下文自适应熵译码技术。
在此实例中,熵编码单元56可使用扫描次序(例如,水平或垂直扫描次序)来选择包含所述统计数据的特定上下文模型。也就是说,熵编码单元56可选择相同统计数据对在使用第一扫描次序对所述块进行编码时的x和y坐标进行编码,且对在使用第二扫描次序对所述块进行编码时的互换的x和y坐标进行编码。此外,在一个坐标(例如,y坐标)在另一坐标(例如,x坐标)之后被编码的情况下,熵编码单元56可使用另一先前经编码的坐标的值作为上下文来对所述坐标进行编码。也就是说,取决于用于对所述块进行编码的扫描次序,可使用x和y坐标以及互换的x和y坐标中的先前经编码的一者的值来进一步在上下文模型内选择指示另一目前被编码的坐标包括给定值的概率的统计数据。熵编码单元56可随后使用选定的统计数据通过执行上下文自适应熵译码过程来对x和y坐标以及互换的x和y坐标进行编码。
在此实例中,还如先前所描述,x和y坐标以及互换的x和y坐标可各自使用包括一个或一个以上二进位的序列的一元码字来表示,即“二进制化”。因此,为了基于所述统计数据对x和y坐标以及互换的x和y坐标进行编码,熵编码单元56可通过执行上下文自适应熵译码过程对对应于特定坐标的码字的每一二进位进行编码。在此实例中,上下文模型中所包含的指示坐标包括给定值的概率的统计数据可包含指示对应于坐标的码字的每一二进位包括给定值(例如,“0”或“1”)的概率的概率估计。此外,所述统计数据可包含取决于码字内的相应二进位的位置的码字的每一二进位的不同概率估计。在一些实例中,熵编码单元56可使用先前经编码的视频数据块的对应二进位(例如,对应于先前经编码的块的x和y坐标以及互换的x和y坐标的码字的二进位)的值来确定所述概率估计,(例如)以作为基于先前经编码的块的最后有效系数位置信息来确定统计数据(如先前所描述)的部分。在其它实例中,熵编码单元56还可使用每一二进位的值来更新概率估计,(例如)以作为基于x和y坐标以及互换的x和y坐标来更新统计数据(如先前所描述)的部分。熵编码单元56可使用所述概率估计通过执行上下文自适应熵译码过程对每一二进位进行编码。
在一些情况下,作为另一实例,用于一个(例如,x)坐标的一元码字的二进位的不同值可产生用于另一(例如,y)坐标的一元码字的对应二进位的不同概率估计。因此,当使用对应于所述二进位的概率估计对用于一个坐标的一元码字的二进位进行编码时,如上文所描述,使用包含与用于另一坐标的一元码字的二进位(例如,对应二进位)的值相关的信息的概率估计可导致概率估计较准确,且因此可实现高效编码。举例来说,用于另一坐标的一元码字的二进位可为对应于用于一个坐标的一元码字的二进位的二进位,例如,所述二进位可位于其相应码字内的相同或类似二进位位置中。使用先前经编码的二进位作为上下文来以此“交错”方式对x和y坐标以及互换的x和y坐标(或一般为指示视频数据块的最后有效系数位置信息的x和y坐标)进行编码可允许使用相应x和y坐标的相互信息,其可允许对所述坐标更高效地进行编码。
在其它实例中,熵编码单元56一般可经配置而以交错方式对x和y坐标以及互换的x和y坐标进行编码。在一些实例中,熵编码单元56可经配置而以交错方式对用于相应x和y坐标的码字的个别二进位进行编码。在其它实例中,熵编码单元56可经配置而以交错方式对所述码字的二进位的群组进行编码。举例来说,可使用第一译码模式(例如,常规译码模式)对用于x和y坐标中的每一者的码字的一些二进位进行编码,而可使用第二译码模式(例如,绕过译码模式)对所述码字的剩余二进位进行编码。因此,熵编码单元56可经配置以在对对应于使用第一(例如,常规)译码模式译码的另一坐标的码字的一个或一个以上二进位进行编码之前对对应于使用所述第一译码模式译码的坐标中的一者的码字的一个或一个以上二进位进行编码,随后在对对应于使用第二(例如,绕过)译码模式译码的另一坐标的码字的一个或一个以上二进位进行编码之前对对应于使用所述第二译码模式译码的所述一个坐标的码字的一个或一个以上二进位进行编码。在其它实例中,熵编码单元56可经配置以对一起使用第二译码模式译码的码字的二进位进行编码。
因此,以上文所描述的方式分离对用于x和y坐标中的每一者的码字的二进位的编码可允许对一起使用特定译码模式(例如,绕过模式)编码的二进位进行分组,这可提高译码处理量。
换句话说,在x和y坐标以及互换的x和y坐标中的每一者包括一个或一个以上二进位的序列的情况下,熵编码单元56可经配置以通过执行上下文自适应熵译码过程对x和y坐标以及互换的x和y坐标进行编码,所述上下文自适应熵译码过程包含基于x和y坐标以及互换的x和y坐标中的一者应用包含所述统计数据的上下文模型。熵编码单元56可经配置以通过借助至少部分基于序列的对应于另一坐标的至少一个二进位的值从上下文模型中选择统计数据来对序列的对应于相应x和y坐标中的一者的至少一个二进位进行编码,而对所述坐标进行编码。此外,熵编码单元56可经配置而以交错方式对序列的对应于所述坐标中的一者的一个或一个以上二进位以及序列的对应于另一坐标的一个或一个以上二进位进行编码。
因此,为了对最后有效系数位置信息进行编码,熵编码单元56可经配置以使用先前经编码的二进位作为上下文来以交错方式对x和y坐标以及互换的x和y坐标进行编码。也就是说,熵编码单元56可经配置以通过执行上下文自适应熵译码过程而对用于给定坐标的一元码字的每一二进位进行编码,所述上下文自适应熵译码过程包含基于至少一个上下文应用上下文模型,其中所述至少一个上下文可包含一元码字内的二进位的位置(如先前所描述),以及用于另一坐标的一元码字的一个或一个以上先前经编码的二进位的值。另外,熵编码单元56一般可经配置而以交错方式对x和y坐标以及互换的x和y坐标进行编码。
应注意,在与本发明的技术一致的其它实例中,可使用其它类型的码字,例如被截断的一元码字、指数哥伦布码字、级联码字以及各种译码技术的组合。
还应注意,在一些实例中,熵编码单元56可进一步经配置以在扫描次序包括第三扫描次序时对x和y坐标进行编码。举例来说,所述第三扫描次序可不同于所述第一扫描次序和所述第二扫描次序。作为一个实例,所述第三扫描次序可为Z形扫描次序,或对角扫描次序,其中所述Z形扫描次序或对角扫描次序也发起于所述块内的共同位置(例如,DC位置)处。
在此实例中,熵编码单元56可进一步经配置以对识别扫描次序的信息(即,所述块的扫描次序信息)进行编码。或者,如先前所描述,在熵编码单元56使用自适应扫描次序对所述块进行编码时,熵编码单元56可省略对所述块的扫描次序信息进行编码。另外,在一些情况下,熵编码单元56可进一步经配置以对识别所述块内的所有其它有效系数的位置的信息(即,所述块的有效系数位置信息)进行编码。
举例来说,所述块的有效系数位置信息可使用有效系数旗标序列来表示,如先前所描述。还如先前所描述,可通过借助执行上下文自适应熵译码过程(例如,CABAC过程)对所述序列的每一有效系数旗标进行编码而对所述有效系数位置信息进行编码,所述上下文自适应熵译码过程包含基于至少一个上下文应用上下文模型,其中所述至少一个上下文可包含根据扫描次序的所述块内的旗标的位置。
所述上下文模型可包含指示每一旗标包括给定值(例如,“0”或“1”)的概率的概率估计。在一些实例中,熵编码单元56可使用先前经编码的视频数据块的对应有效系数旗标的值来确定概率估计。在其它实例中,熵编码单元56还可使用每一旗标的值来更新所述概率估计以反映旗标包括给定值的概率。举例来说,可以上文所描述的方式使用经更新的概率估计对随后经编码的视频数据块的有效系数位置信息进行编码。
作为另一实例,熵编码单元56可经配置以根据与特定视频数据块相关联的扫描次序对指示所述块内的最后有效系数的位置的x和y坐标进行编码。举例来说,所述扫描次序可为多个扫描次序中的一者,其中所述多个扫描次序中的每一者均发起于所述块内的共同位置(例如,DC位置)处。
在此实例中,为了对x和y坐标进行编码,熵编码单元56可经配置以对指示x坐标是否对应于共同位置的信息进行编码,对指示y坐标是否对应于共同位置的信息进行编码,且在x坐标不对应于共同位置且y坐标不对应于共同位置的情况下,对识别所述扫描次序的信息进行编码。熵编码单元56可进一步经配置以在x坐标不对应于共同位置的情况下基于扫描次序对x坐标进行编码,且在y坐标不对应于共同位置的情况下基于扫描次序对y坐标进行编码。
在此实例中,为了基于所述扫描次序对x坐标和y坐标进行编码,熵编码单元56可经配置以执行上下文自适应熵译码过程(例如,CABAC过程),其包含熵编码单元56基于至少一个上下文应用上下文模型。举例来说,所述至少一个上下文可包含扫描次序。
另外,作为一个实例,熵编码单元56可经配置以在另一坐标(例如,x坐标)之后对一个坐标(例如,y坐标)进行编码,其中熵编码单元56可经配置以使用另一先前经编码的坐标的值作为上下文来对所述一个坐标进行编码。作为另一实例,在x和y坐标中的每一者包括一个或一个以上二进位的序列的情况下,熵编码单元56可经配置以通过至少部分基于序列的对应于另一坐标的至少一个二进位(例如,对应二进位)的值从上下文模型中选择统计数据来对序列的对应于坐标中的一者的至少一个二进位进行编码。此外,熵编码单元56可经配置而以交错方式对序列的对应于所述坐标中的一者的一个或一个以上二进位以及序列的对应于另一坐标的一个或一个以上二进位进行编码。
在任何情况下,在以上文所描述的方式对所述块的最后有效系数位置信息,且在一些情况下,对扫描次序信息和有效系数位置信息(即,SM数据)进行编码之后,熵编码单元56还可对所述块内的每一有效系数的值(例如,分别由语法元素“coeff_abs_level_minusl”和“coeff_sign_flag”指示的每一有效系数的量值和正负号)进行编码。
因此,本发明的技术可使得熵编码单元56能够比在使用其它方法时对所述块的最后有效系数位置信息更高效地进行编码,且可使得熵编码单元56能够相对于其它系统具有较低的复杂性。以此方式,当使用本发明的技术时,可存在针对包含所述最后有效系数位置信息的经译码位流的相对的位节省,以及针对用于对所述信息进行编码的熵编码单元56的相对的复杂性降低。
逆量化单元58和逆变换模块60分别应用逆量化和逆变换以在像素域中重构残余块,(例如)以用于随后用作参考块。运动补偿单元44可通过将残余块添加到存储器64的帧中的一者的预测块而计算参考块。运动补偿单元44还可将一个或一个以上内插滤波器应用于经重构的残余块以计算子整数像素值以在运动估计中使用。求和器62将经重构的残余块添加到由运动补偿单元44产生的经运动补偿的预测块以产生经重构的视频块以供存储在存储器64中。经重构的视频块可由运动估计单元42和运动补偿单元44用作用于对后续视频帧中的块进行帧间译码的参考块。
以此方式,视频编码器20表示经配置以进行以下操作的视频译码器的实例:在扫描次序包括第一扫描次序时,根据与视频数据块相关联的扫描次序对指示所述块内的最后非零系数的位置的x和y坐标进行译码,且在扫描次序包括第二扫描次序时,根据与所述扫描次序对指示所述块内的最后非零系数的位置的互换的x和y坐标进行译码,其中所述第二扫描次序不同于所述第一扫描次序。
图3是说明视频解码器30的一实例的框图,所述视频解码器30可实施与本发明的技术一致的用于基于视频数据块的扫描次序信息对经编码的最后有效系数位置信息进行高效解码的技术。在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测模块74、逆量化单元76、逆变换单元78、存储器82以及求和器80。视频解码器30在一些实例中可执行一般与关于视频编码器20(图2)所描述的编码回合互逆的解码回合。运动补偿单元72可基于从熵解码单元70接收的运动向量产生预测数据。
在一些实例中,视频解码器30可经配置以从视频编码器20接收经编码视频数据(例如,一个或一个以上宏块,或CU的TU)。根据本发明的技术,作为一个实例,熵解码单元70可经配置以在扫描次序包括第一扫描次序时根据与特定视频数据块相关联的扫描次序对指示所述块内的最后有效系数的位置的x和y坐标进行解码。熵解码单元70可进一步经配置以在扫描次序包括第二扫描次序时根据所述扫描次序对指示所述块内的最后有效系数的位置的互换的x和y坐标进行解码。举例来说,所述第二扫描次序可不同于所述第一扫描次序。
在此实例中,所述第一扫描次序和所述第二扫描次序可相对于彼此对称(或至少部分对称)。举例来说,所述第一扫描次序可为水平扫描次序,且所述第二扫描次序可为垂直扫描次序,其中所述水平扫描次序和所述垂直扫描次序发起于所述块内的共同位置(例如,DC位置)处。
具体来说,所述第一扫描次序和所述第二扫描次序可各自为可由熵解码单元70用于对所述块进行解码的扫描次序。举例来说,所述第一和第二扫描次序可为在包括视频编码器20和视频解码器30的对应译码系统10内由视频编码器20用于对视频数据块进行编码且由视频解码器30用于对所述块进行解码的扫描次序。在一些实例中,所述第一和第二扫描次序可仅为在系统10内用于对所述块进行译码的扫描次序中的一些扫描次序。在其它实例中,所述第一和第二扫描次序可为在系统10内用于对所述块进行译码的仅有扫描次序。
此外,互换的x和y坐标也对应于所述块的最后有效系数位置信息,但被熵解码单元70进一步处理(即,互换),以使得能够比在使用如先前所描述的其它技术时对所述信息更高效地进行解码。具体来说,互换的x和y坐标可使得能够使用共同统计数据对指示所述块的最后有效系数位置信息的x和y坐标以及互换的x和y坐标进行解码,还如先前所描述。
在此实例中,为了对x和y坐标以及互换的x和y坐标进行解码,熵解码单元70可进一步经配置以确定指示x和y坐标中的每一者包括给定值的概率的统计数据,其中对x和y坐标以及互换的x和y坐标进行解码包括基于所述统计数据进行解码。举例来说,x坐标包括给定值的概率可用于对x坐标和互换的y坐标进行解码,且y坐标包括给定值的概率可用于对y坐标和互换的x坐标进行解码。
一般来说,在所述扫描次序包括第一扫描次序时,所述统计数据可指示所述块内的给定位置对应于根据扫描次序的所述块内的最后有效系数的位置的概率。具体来说,在所述扫描次序包括第一扫描次序时,所述统计数据可指示根据扫描次序对应于所述块内的最后有效系数的位置的坐标(例如,x坐标或y坐标)包括给定值(例如,“0”、“1”、“2”等)的概率。
如先前所描述,因为所述第一和第二扫描次序可相对于彼此对称(或至少部分对称),所以在扫描次序包括第一扫描次序时x坐标包括给定值的概率可与在扫描次序包括第二扫描次序时y坐标包括相同值的概率相同或类似,且反之亦然。类似地,在扫描次序包括第一扫描次序时y坐标包括给定值的概率可与在扫描次序包括第二扫描次序时x坐标包括相同值的概率相同或类似,且反之亦然。也就是说,在扫描次序包括第一扫描次序时的x和y坐标可各自分别具有与在扫描次序包括第二扫描次序时的互换的x和y坐标相同或类似的包括给定值的概率。因此,所述统计数据可进一步指示互换的x和y坐标中的每一者包括给定值的概率。在一些实例中,熵解码单元70可使用先前经解码的视频数据块的最后有效系数位置信息(例如,先前经解码的块的x和y坐标以及互换的x和y坐标的值)来确定所述统计数据。
熵解码单元70可进一步经配置以基于x和y坐标以及互换的x和y坐标来更新统计数据。举例来说,可使用x坐标和互换的y坐标来更新x坐标包括给定值的概率,且可使用y坐标和互换的x坐标来更新y坐标包括给定值的概率。举例来说,可以上文所描述的方式使用经更新的统计数据对随后经解码的视频数据块的最后有效系数位置信息进行解码。
作为一个实例,为了基于所述统计数据对x和y坐标以及互换的x和y坐标进行解码,熵解码单元70可经配置以执行上下文自适应熵译码过程(例如,CABAC过程),其包含熵解码单元70基于至少一个上下文应用包含所述统计数据的上下文模型。举例来说,所述至少一个上下文可包含x和y坐标、互换的x和y坐标以及扫描次序中的一者。如先前所提到,除了CABAC之外,出于译码的目的而互换x和y坐标的所描述的技术还可用于其它上下文自适应译码技术中,例如CAVLC、PIPE或其它上下文自适应技术。
在此实例中,熵解码单元70可使用扫描次序(例如,水平或垂直扫描次序)来选择包含所述统计数据的特定上下文模型。也就是说,熵解码单元70可选择相同统计数据对在使用第一扫描次序对所述块进行解码时的x和y坐标进行解码,且对在使用第二扫描次序对所述块进行解码时的互换的x和y坐标进行解码。此外,在一个坐标(例如,y坐标)在另一坐标(例如,x坐标)之后被解码的情况下,熵解码单元70可使用另一先前经解码的坐标的值作为上下文来对所述坐标进行解码。也就是说,取决于用于对所述块进行解码的扫描次序,可使用x和y坐标或互换的x和y坐标中的先前经解码的一者的值来进一步在上下文模型内选择指示另一目前被解码的坐标包括给定值的概率的统计数据。熵解码单元70可随后使用选定的统计数据通过执行上下文自适应熵译码过程来对x和y坐标以及互换的x和y坐标进行解码。
在此实例中,还如先前所描述,x和y坐标以及互换的x和y坐标可各自使用包括一个或一个以上二进位的序列的一元码字来表示,即“二进制化”。因此,为了基于所述统计数据对x和y坐标以及互换的x和y坐标进行解码,熵解码单元70可通过执行上下文自适应熵译码过程对对应于特定坐标的码字的每一二进位进行解码。在此实例中,上下文模型中所包含的指示坐标包括给定值的概率的统计数据可包含指示对应于坐标的码字的每一二进位包括给定值(例如,“0”或“1”)的概率的概率估计。此外,所述统计数据可包含取决于码字内的相应二进位的位置的码字的每一二进位的不同概率估计。在一些实例中,熵解码单元70可使用先前经解码的视频数据块的对应二进位(例如,对应于先前经解码的块的x和y坐标以及互换的x和y坐标的码字的二进位)的值来确定所述概率估计,(例如)以作为基于先前经解码的块的最后有效系数位置信息来确定统计数据(如先前所描述)的部分。在其它实例中,熵解码单元70还可使用每一二进位的值来更新概率估计,(例如)以作为基于x和y坐标以及互换的x和y坐标来更新统计数据(如先前所描述)的部分。熵解码单元70可使用所述概率估计通过执行上下文自适应熵译码过程对每一二进位进行解码。
在一些情况下,作为另一实例,用于一个(例如,x)坐标的一元码字的二进位的不同值可产生用于另一(例如,y)坐标的一元码字的对应二进位的不同概率估计。因此,当使用对应于所述二进位的概率估计对一个坐标的一元码字的二进位进行解码时,如上文所描述,使用包含与另一坐标的一元码字的二进位(例如,对应二进位)的值相关的信息的概率估计可导致概率估计较准确,且因此可实现高效解码。举例来说,用于另一坐标的一元码字的二进位可为对应于用于一个坐标的一元码字的二进位的二进位,例如,所述二进位可位于其相应码字内的相同或类似二进位位置中。
使用先前经解码的二进位作为上下文来以此“交错”方式对x和y坐标以及互换的x和y坐标(或一般为指示视频数据块的最后有效系数位置信息的x和y坐标)进行解码可允许使用相应x和y坐标的相互信息,其可允许对所述坐标更高效地进行解码。
在其它实例中,熵解码单元70一般可经配置而以交错方式对x和y坐标以及互换的x和y坐标进行解码。在一些实例中,熵解码单元70可经配置而以交错方式对用于相应x和y坐标的码字的个别二进位进行解码。在其它实例中,熵解码单元70可经配置而以交错方式对所述码字的二进位的群组进行解码。举例来说,可使用第一译码模式(例如,常规译码模式)对用于x和y坐标中的每一者的码字的一些二进位进行解码,而可使用第二译码模式(例如,绕过译码模式)对所述码字的剩余二进位进行解码。因此,熵解码单元70可经配置以在对对应于使用第一(例如,常规)译码模式译码的另一坐标的码字的一个或一个以上二进位进行解码之前对对应于使用所述第一译码模式译码的坐标中的一者的码字的一个或一个以上二进位进行解码,随后在对对应于使用第二(例如,绕过)译码模式译码的另一坐标的码字的一个或一个以上二进位进行解码之前对对应于使用所述第二译码模式译码的所述一个坐标的码字的一个或一个以上二进位进行解码。在其它实例中,熵解码单元70可经配置以对一起使用第二译码模式译码的码字的二进位进行解码。
因此,以上文所描述的方式分离对用于x和y坐标中的每一者的码字的二进位的解码可允许对一起使用特定译码模式(例如,绕过模式)解码的二进位进行分组,这还可提高译码效率。
换句话说,在x和y坐标以及互换的x和y坐标中的每一者包括一个或一个以上二进位的序列的情况下,熵解码单元70可经配置以通过执行上下文自适应熵译码过程对x和y坐标以及互换的x和y坐标进行解码,所述上下文自适应熵译码过程包含基于x和y坐标以及互换的x和y坐标中的一者应用包含所述统计数据的上下文模型。熵解码单元70可经配置以通过借助至少部分基于序列的对应于另一坐标的至少一个二进位的值从上下文模型中选择统计数据来对序列的对应于相应x和y坐标中的一者的至少一个二进位进行解码,而对所述坐标进行解码。此外,熵解码单元70可经配置而以交错方式对序列的对应于所述坐标中的一者的一个或一个以上二进位以及序列的对应于另一坐标的一个或一个以上二进位进行解码。
因此,为了对最后有效系数位置信息进行解码,熵解码单元70可经配置以使用先前经解码的二进位作为上下文来以交错方式对x和y坐标以及互换的x和y坐标进行解码。也就是说,熵解码单元70可经配置以通过执行上下文自适应熵译码过程而对用于给定坐标的一元码字的每一二进位进行解码,所述上下文自适应熵译码过程包含基于至少一个上下文应用上下文模型,其中所述至少一个上下文可包含一元码字内的二进位的位置(如先前所描述),以及用于另一坐标的一元码字的一个或一个以上先前经解码的二进位的值。另外,熵编码单元56一般可经配置而以交错方式对x和y坐标以及互换的x和y坐标进行编码。
应注意,在与本发明的技术一致的其它实例中,可使用其它类型的码字,例如被截断的一元码字、指数哥伦布码字、级联码字以及各种译码技术的组合。
还应注意,在一些实例中,熵解码单元70可进一步经配置以在扫描次序包括第三扫描次序时对x和y坐标进行解码。举例来说,所述第三扫描次序可不同于所述第一扫描次序和所述第二扫描次序。作为一个实例,所述第三扫描次序可为Z形扫描次序,或对角扫描次序,其中所述Z形扫描次序或对角扫描次序也发起于所述块内的共同位置(例如,DC位置)处。
在此实例中,在一些情况下,熵解码单元70可进一步经配置以对识别扫描次序的信息(即,所述块的扫描次序信息)进行解码。或者,如先前所描述,在熵解码单元70使用自适应扫描次序对所述块进行解码时,熵解码单元70可省略对所述块的扫描次序信息进行解码。另外,在一些情况下,熵解码单元70可进一步经配置以对识别所述块内的其它有效系数的位置的信息(即,所述块的有效系数位置信息)进行解码。
举例来说,所述块的有效系数位置信息可使用有效系数旗标序列来表示,如先前所描述。还如先前所描述,可通过借助执行上下文自适应熵译码过程(例如,CABAC过程)对所述序列的每一有效系数旗标进行解码而对所述有效系数位置信息进行解码,所述上下文自适应熵译码过程包含基于至少一个上下文应用上下文模型,其中所述至少一个上下文可包含根据扫描次序的所述块内的旗标的位置。
再次,所述上下文模型可包含指示每一旗标包括给定值(例如,“0”或“1”)的概率的概率估计。在一些实例中,熵解码单元70可使用先前经解码的视频数据块的对应有效系数旗标的值来确定概率估计。在其它实例中,熵解码单元70还可使用每一旗标的值来更新所述概率估计以反映旗标包括给定值的概率。举例来说,可以上文所描述的方式使用经更新的概率估计对随后经解码的视频数据块的有效系数位置信息进行解码。
作为另一实例,熵解码单元70可经配置以根据与特定视频数据块相关联的扫描次序对指示所述块内的最后有效系数的位置的x和y坐标进行解码。举例来说,所述扫描次序可为多个扫描次序中的一者,其中所述多个扫描次序中的每一者均发起于所述块内的共同位置(例如,DC位置)处。
在此实例中,为了对x和y坐标进行解码,熵解码单元70可经配置以对指示x坐标是否对应于共同位置的信息进行解码,对指示y坐标是否对应于共同位置的信息进行解码,且在x坐标不对应于共同位置且y坐标不对应于共同位置的情况下,对识别所述扫描次序的信息进行解码。熵解码单元70可进一步经配置以在x坐标不对应于共同位置的情况下基于扫描次序对x坐标进行解码,且在y坐标不对应于共同位置的情况下基于扫描次序对y坐标进行解码。
在此实例中,为了基于所述扫描次序对x和y坐标进行解码,熵解码单元70可经配置以执行上下文自适应熵译码过程(例如,CABAC过程),其包含熵解码单元70基于至少一个上下文应用上下文模型。举例来说,所述至少一个上下文可包含扫描次序。
另外,作为一个实例,熵解码单元70可经配置以在另一坐标(例如,x坐标)之后对一个坐标(例如,y坐标)进行解码,其中熵解码单元70可经配置以使用另一先前经解码的坐标的值作为上下文来对所述一个坐标进行解码。作为另一实例,在x和y坐标中的每一者包括一个或一个以上二进位的序列的情况下,熵解码单元70可经配置以通过至少部分基于序列的对应于另一坐标的至少一个二进位(例如,对应二进位)的值从上下文模型中选择统计数据来对序列的对应于坐标中的一者的至少一个二进位进行解码。此外,熵解码单元70可经配置而以交错方式对序列的对应于所述坐标中的一者的一个或一个以上二进位以及序列的对应于另一坐标的一个或一个以上二进位进行解码。
在任何情况下,在以上文所描述的方式对所述块的最后有效系数位置信息,且在一些情况下,对扫描次序信息和有效系数位置信息(即,SM数据)进行解码之后,熵解码单元70还可对所述块内的每一有效系数的值(例如,分别由语法元素“coeff_abs_level_minusl”和“coeff_sign_flag”指示的每一有效系数的量值和正负号)进行解码。
因此,本发明的技术可使得熵解码单元70能够比在使用其它方法时对所述块的最后有效系数位置信息更高效地进行解码,且可使得熵解码单元70能够相对于其它系统具有较低的复杂性。以此方式,当使用本发明的技术时,可存在针对包含所述最后有效系数位置信息的经译码位流的相对的位节省,以及针对用于对所述信息进行解码的熵解码单元70的相对的复杂性降低。
运动补偿单元72可使用在位流中接收的运动向量来识别存储器82中的参考帧中的预测块。帧内预测模块74可使用在位流中接收的帧内预测模式以从空间上邻近的块形成预测块。
帧内预测模块74可(例如)使用相邻的先前经解码的块的像素使用用于经编码块的帧内预测模式的指示来对经编码块进行帧内预测。对于其中所述块被帧间预测模式编码的实例,运动补偿单元72可接收界定运动向量的信息,以便检索用于经编码块的经运动补偿预测数据。在任何情况下,运动补偿单元72或帧内预测模块74可将界定预测块的信息提供给求和器80。
逆量化单元76将在位流中提供且由熵解码单元70解码的经量化块系数逆量化(即,解量化)。逆量化过程可包含(例如)如由H.264解码标准界定或如由HEVC测试模型执行的常规过程。逆量化过程还可包含使用由视频编码器20针对每一块计算的量化参数QPY,以确定应应用的量化程度以及同样的逆量化程度。
逆变换模块78对变换系数应用逆变换,例如,逆DCT、逆整数变换,或概念上类似的逆变换过程,以便在像素域中产生残余块。运动补偿单元72产生经运动补偿的块,可能执行基于内插滤波器的内插。待用于具有子像素精度的运动估计的内插滤波器的识别符可包含于语法元素中。运动补偿单元72可使用如由视频编码器20在视频块的编码期间所使用的内插滤波器来计算参考块的子整数像素的内插值。运动补偿单元72可根据所接收的语法信息来确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测块。
运动补偿单元72使用用以确定用于对经编码视频序列的帧进行编码的块的大小的经编码块的语法信息、描述经编码视频序列的帧或切片的每一块如何被分割的分区信息、指示如何对每一分区进行编码的模式、用于每一经帧间编码块或分区的一个或一个以上参考帧(以及参考帧列表),以及其它信息中的一些来对经编码视频序列进行解码。帧内预测模块74还可例如使用相邻的先前经解码的块的像素使用用于经编码块的语法信息来对经编码块进行帧内预测,如先前所描述。
求和器80对残余块与由运动补偿单元72或帧内预测模块74产生的对应预测块进行求和以形成经解码块。如果需要,还可应用解块滤波器以对经解码块进行滤波,以便移除成块性假影。经解码视频块随后被存储在存储器82中,存储器82提供用于后续运动补偿的参考块且还产生经解码视频以用于在显示装置(例如,图1的显示装置32)上呈现。
以此方式,视频解码器30表示经配置以进行以下操作的视频译码器的实例:在扫描次序包括第一扫描次序时,根据与视频数据块相关联的扫描次序对指示所述块内的最后非零系数的位置的x和y坐标进行译码,且在扫描次序包括第二扫描次序时,根据所述扫描次序对指示所述块内的最后非零系数的位置的互换的x和y坐标进行译码,其中所述第二扫描次序不同于所述第一扫描次序。
图4A到4C是说明视频数据块以及对应的有效系数位置信息和最后有效系数位置信息的一实例的概念图。如图4A中所示,视频数据块(例如,宏块,或CU的TU)可包含经量化变换系数。举例来说,如图4A中所示,块400可包含使用先前所描述的预测、变换和量化技术产生的经量化变换系数。对于此实例,假设块400具有2N×2N的大小,其中N等于二。因此,块400具有4×4的大小,且包含十六个经量化变换系数,也如图4A中所示。进一步假设与块400相关联的扫描次序是Z形扫描次序,如下文在图5A中更详细地描述。
在此实例中,根据Z形扫描次序的块400内的最后有效系数是位于块400内的位置406中的等于“1”的经量化变换系数。在其它实例中,如上文所描述,块可具有比块400的大小小或大的大小,且可包含比块400多或少的经量化变换系数。在又其它实例中,与块400相关联的扫描次序可为不同的扫描次序,例如,水平扫描次序、垂直扫描次序、对角扫描次序,或另一扫描次序。
图4B说明有效系数旗标数据(即,如先前所描述的以图或块形式表示的有效系数旗标)的一实例。在图4B的实例中,块402可对应于图4A中所描绘的块400。换句话说,块402的有效系数旗标可对应于块400的经量化变换系数。如图4B中所示,块402的等于“1”的有效系数旗标对应于块400的有效系数。类似地,块402的等于“0”的有效系数旗标对应于块400的零或非有效系数。
在此实例中,块402的对应于根据Z形扫描次序的块400内的最后有效系数的有效系数旗标是位于块402内的位置408中的等于“1”的有效系数旗标。在其它实例中,用于指示有效或非有效系数的有效系数旗标的值可变化(例如,等于“0”的有效系数旗标可对应于有效系数,且等于“1”的有效系数旗标可对应于非有效系数)。
图4C说明最后有效系数旗标数据(即,还如先前所描述的以图或块形式表示的最后有效系数旗标)的一实例。在图4C的实例中,块404可对应于分别在图4A和图4B中所描绘的块400和块402。换句话说,块404的最后有效系数旗标可对应于块400的经量化变换系数,且对应于块402的有效系数旗标。
如图4C中所示,块404的位于块404内的位置410中的等于“1”的最后有效系数旗标对应于块400的最后有效系数,且对应于根据Z形扫描次序的块402的等于“1”的有效系数旗标中的最后者。类似地,块404的等于“0”的最后有效系数旗标(即,所有剩余最后有效系数旗标)对应于块400的零或非有效系数,且对应于块402的等于“1”的所有有效系数旗标(除了根据Z形扫描次序的此些有效系数旗标中的最后者之外)。
用于指示根据扫描次序的最后有效系数的最后有效系数旗标的值可变化(例如,等于“0”的最后有效系数旗标可对应于根据扫描次序的最后有效系数,且等于“1”的最后有效系数旗标可对应于所有剩余系数)。在任何情况下,可将块402的有效系数旗标以及块404的最后有效系数旗标统称为块400的SM数据。
如上文所描述,可通过使用与视频数据块相关联的扫描次序将来自二维块表示的用于块的有效系数旗标(如图4B中所示的块402中所描绘)串行化为一维阵列来指示所述块的有效系数位置信息。在图4A到4B中所示的块400到402的实例中,再次假设Z形扫描次序,可通过将块402的有效系数旗标串行化为一维阵列来指示块400的有效系数位置信息。也就是说,可通过根据Z形扫描次序产生块402的有效系数旗标的序列来指示块400的有效系数位置信息。
在此实例中,所产生的序列可对应于值“111111”,从而表示根据Z形扫描次序的块402的前6个有效系数旗标。应注意,所产生的序列可含有对应于块400内的从Z形扫描次序的第一块位置(即,DC位置)开始且结束于对应于根据Z形扫描次序的块400的最后有效系数(即,对应于块404的等于“1”的最后有效系数旗标)的块位置的一系列块位置的有效系数旗标。
还如上文所描述,可通过使用与所述块相关联的扫描次序将来自二维块表示的用于所述块的最后有效系数旗标(如图4C中所示的块404中所描绘)串行化为一维阵列来指示所述块的最后有效系数位置信息。在图4A到4C中所示的块400到404的实例中,再次假设Z形扫描次序,可通过将块404的最后有效系数旗标串行化为一维阵列来指示块400的最后有效系数位置信息。也就是说,可通过根据Z形扫描次序产生块404的最后有效系数旗标的序列来指示块400的最后有效系数位置信息。在此实例中,所产生的序列可对应于值“000001”,从而表示根据Z形扫描次序的块404的前6个最后有效系数旗标。
再次应注意,所产生的序列可含有对应于块400内的从Z形扫描次序的第一块位置开始且结束于对应于根据Z形扫描次序的块400的最后有效系数(即,对应于块404的等于“1”的最后有效系数旗标)的块位置的一系列块位置的最后有效系数旗标。因此,在此实例中,在根据Z形扫描次序的等于“1”的最后有效系数旗标之后没有最后有效系数旗标包含于所述序列中。一般来说,可不需要在根据与视频数据块相关联的扫描次序的等于“1”的最后有效系数旗标之后的最后有效系数旗标来指示所述块的最后有效系数位置信息。因此,在一些实例中,从用于指示所述信息的最后有效系数旗标的所产生序列中省略这些旗标。
还应注意,如上文所描述,如果最后有效系数位于根据扫描次序的最后块位置(例如,右下块位置)内,那么所产生的序列可不包含对应于最后块位置的最后有效系数旗标,因为可推断出所述位置含有所述块的最后有效系数。因此,在此实例中,所产生的序列可对应于值“000000000000000”,其中对应于最后块位置的最后有效系数旗标不包含于所述序列中,且推断出等于“1”。
图5A到5C是分别使用Z形扫描次序、水平扫描次序以及垂直扫描次序扫描的视频数据块的多个实例的概念图。如图5A到5C中所示,8×8视频数据块(例如,宏块,或CU的TU)可包含对应块位置(用圆圈表示)中的六十四个经量化变换系数。举例来说,块500到504可各自包含再次使用先前所描述的预测、变换和量化技术产生的六十四个经量化变换系数,其中每一对应块位置均用圆圈表示。对于此实例,假设块500到504具有2N×2N的大小,其中N等于四。因此,块500到504具有8×8的大小。
如图5A中所示,与块500相关联的扫描次序是Z形扫描次序。Z形扫描次序以如图5A中的箭头所指示的对角方式扫描块500的经量化变换系数。类似地,如图5B和5C中所示,与块502和504相关联的扫描次序分别是水平扫描次序和垂直扫描次序。水平扫描次序以水平逐排或“光栅”方式扫描块502的经量化变换系数,而垂直扫描次序以垂直逐排或“旋转光栅”方式扫描块504的经量化变换系数,还如图5B和5C中的箭头所指示。
在其它实例中,如上文所描述,块可具有比块500到504的大小小或大的大小,且可包含更多或更少的经量化变换系数和对应的块位置。在这些实例中,与块相关联的扫描次序可以与图5A到5C的8×8块500到504的实例中所示的方式大体上类似的方式扫描所述块的经量化变换系数,例如,可遵循先前所描述的扫描次序中的任一者来扫描4×4块或16×16块。
如先前所描述,本发明的技术还可相对于广泛多种其它扫描次序进行应用,包含对角扫描次序、作为Z形、水平、垂直和/或对角扫描次序的组合的扫描次序,以及部分Z形、部分水平、部分垂直和/或部分对角的扫描次序。另外,本发明的技术还可考虑自身基于与先前经译码的视频数据块(例如,具有与正被译码的当前块相同的块大小或译码模式的块)相关联的统计数据是自适应的扫描次序。举例来说,在一些情况下,自适应扫描次序可为与视频数据块相关联的扫描次序。
图6A到6C是说明与本发明的技术一致的针对其基于扫描次序信息对最后有效系数位置信息进行译码的视频数据块的多个实例的概念图。如图6A中所示,块600可包含根据水平扫描次序从0排序到15的十六个块位置,如由箭头所指示且上文参考图5B所描述。所述十六个块位置中的每一者可含有经量化变换系数,如上文参考图4A所描述。还如图6A中所示,可将根据水平扫描次序的块600内的对应于位置“2”的第三位置称作位置606。在此实例中,可使用x和y坐标(2,0)来表示位置606,其中x坐标等于“2”,y坐标等于“0”,且对应于x和y坐标(0,0)的参考位置或“原点”位于块600的左上角,即DC位置,如上文所描述。对于此实例,假设位置606对应于根据水平扫描次序的块600内的最后有效系数的位置。
进一步假设对于块600,存在指示块600内的给定位置对应于根据水平扫描次序的块600内的最后有效系数的位置的概率的统计数据。具体来说,所述统计数据可指示根据水平扫描次序对应于所述块内的最后有效系数的位置的坐标(例如,x坐标或y坐标)包括给定值(例如,“0”、“1”、“2”等)的概率。换句话说,所述统计数据可指示先前所描述的x和y坐标(2,0)中的每一者包括给定值的概率。
此外,在一些情况下,可(例如)通过执行上下文自适应熵译码过程(例如,CABAC过程)而基于所述统计数据对所述x和y坐标进行译码,所述上下文自适应熵译码过程包含基于至少一个上下文应用包含所述统计数据的上下文模型。举例来说,所述至少一个上下文可包含x和y坐标以及扫描次序中的一者。在此实例中,可使用扫描次序(例如,水平扫描次序)来选择包含所述统计数据的特定上下文模型。另外,在一个坐标(例如,y坐标)在另一坐标(例如,x坐标)之后被译码的情况下,可使用另一先前经译码的坐标的值作为上下文来对所述坐标进行译码。也就是说,可使用x和y坐标中的先前经译码的一者的值来进一步在上下文模型内选择指示另一目前被译码的坐标包括给定值的概率的统计数据。
另外,在一些实例中,x和y坐标可各自使用包括一个或一个以上二进位的序列的一元码字来表示,即“二进制化”。因此,为了基于所述统计数据对x和y坐标进行译码,可通过执行上下文自适应熵译码过程对对应于特定坐标的码字的每一二进位进行译码。在此实例中,上下文模型中所包含的指示坐标包括给定值的概率的统计数据可包含指示对应于坐标的码字的每一二进位包括给定值(例如,“0”或“1”)的概率的概率估计。此外,所述统计数据可包含取决于码字内的相应二进位的位置的码字的每一二进位的不同概率估计。
如图6B中进一步展示,块602还可包含再次从0排序到15的十六个块位置,但在此情况下是根据垂直扫描次序,如箭头所指示且上文参考图5C所描述。所述十六个块位置中的每一者可含有经量化变换系数,如上文参考图4A所描述。还如图6B中所示,可将根据垂直扫描次序的块602内的对应于位置“2”的第三位置称作位置608。在此实例中,可使用x和y坐标(0,2)来表示位置608,其中x坐标等于“0”,y坐标等于“2”,且对应于x和y坐标(0,0)的参考位置或“原点”再次位于块602的左上角,即DC位置,如上文所描述。对于此实例,假设位置608再次对应于根据垂直扫描次序的块602内的最后有效系数的位置。
在图6A到6B的实例中,块600的水平扫描次序可相对于块602的垂直扫描次序对称,使得根据水平扫描次序的块600内的最后有效系数的位置的x坐标“2”包括给定值的概率可与根据垂直扫描次序的块602内的最后有效系数的位置的y坐标“2”包括相同值的概率相同或类似,且反之亦然。类似地,根据水平扫描次序的块600内的最后有效系数的位置的y坐标“0”包括给定值的概率可与根据垂直扫描次序的块602内的最后有效系数的位置的x坐标“0”包括相同值的概率相同或类似,且反之亦然。也就是说,块600内的位置606的x和y坐标(2,0)可各自分别具有与块602内的位置608的x和y坐标(0,2)相同或类似的包括给定值的概率。如图6B中的虚线箭头所指示,块602内的位置608的互换的x和y坐标(0,2)可对应于块602内的位置610,其可使用x和y坐标(2,0)来表示。
因此,根据本发明的技术,可使用指示块600内的给定位置对应于根据水平扫描次序的块600内的最后有效系数的位置的概率的共同统计数据对块600内的位置606的x和y坐标(2,0)进行译码,以及对块602内的位置608的互换的x和y坐标(0,2)进行译码,如先前所描述。
如图6C中进一步展示,块604还可包含再次从0排序到15的十六个块位置,但在此情况下是根据Z形扫描次序,如由箭头所指示且上文参考图5A所描述。所述十六个块位置中的每一者可含有经量化变换系数,如上文参考图4A所描述。还如图6C中所示,可将根据Z形扫描次序的块604内的对应于位置“2”的第三位置称作位置612。在此实例中,可使用x和y坐标(0,1)来表示位置612,其中x坐标等于“0”,y坐标等于“1”,且对应于x和y坐标(0,0)的参考位置或“原点”再次位于块604的左上角,即DC位置,如上文所描述。对于此实例,假设位置612再次对应于根据Z形扫描次序的块604内的最后有效系数的位置。
在图6C的实例中,块604的Z形扫描次序可不分别相对于块600和602的水平或垂直扫描次序对称。因此,上文所描述的概率的同一性或类似性在对应于块600或块602内的最后有效系数的位置的x和y坐标以及对应于块604内的最后有效系数的位置的x和y坐标之间可能不存在。尽管如此,可使用上文参考图6A到6B的实例所描述的共同统计数据对对应于块604内的最后有效系数的位置的x和y坐标进行译码。举例来说,虽然使用所述共同统计数据对x和y坐标进行译码可能未准确地反映相应坐标包括特定值的概率,但以此方式对坐标进行译码可仍然由于使用了共同统计数据而非单独统计数据而提高了译码效率,进而潜在地降低了系统复杂性,如先前所描述。
图7是说明与本发明的技术一致的用于基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效译码的方法的实例的流程图。图7的技术可通常由任何处理单元或处理器执行,无论是以硬件、软件、固件还是其组合实施,且当以软件或固件实施时,可提供对应硬件以执行用于所述软件或固件的指令。出于实例的目的,关于视频编码器20(图1和2)和/或视频解码器30(图1和3)描述图7的技术,但应了解,其它装置可经配置以执行类似技术。而且,图7中说明的步骤可以不同次序或并行地执行,且可添加额外步骤并省略某些步骤,而不脱离本发明的技术。
起初,视频编码器20和/或视频解码器30可确定与视频数据块相关联的扫描次序是第一扫描次序还是第二扫描次序(700)。举例来说,如先前描述,块可为宏块或CU的TU。此外,第一扫描次序和第二扫描次序可相对于彼此对称(或至少部分地对称)。举例来说,第一扫描次序可为水平扫描次序且第二扫描次序可为垂直扫描次序,其中水平扫描次序和垂直扫描次序发起于块内的共同位置处,例如DC位置,同样如先前描述。
具体来说,第一扫描次序和第二扫描次序可各自为可由视频编码器20和/或视频解码器30使用以对块进行译码的扫描次序。举例来说,在包括视频编码器20和视频解码器30的对应译码系统10内,第一和第二扫描次序可为由视频编码器20使用以对视频数据块进行编码及由视频解码器30使用以对块进行解码的扫描次序。在一些实例中,第一和第二扫描次序可仅为在系统10内用以对块进行译码的扫描次序中的一些扫描次序。在其它实例中,第一和第二扫描次序可为在系统10内用以对块进行译码的仅有扫描次序。以此方式,图7的实例方法可适用于使用多个扫描次序来对视频数据块进行译码的任何译码系统。
视频编码器20可直接做出扫描次序是第一扫描次序还是第二扫描次序的确定,(例如)以作为对块进行编码的一部分。视频解码器30可通过对块的扫描次序信息进行解码来做出此确定。举例来说,视频编码器20可如图8的实例方法中更详细描述的那样对扫描次序信息进行编码,且视频解码器30可同样如图9的实例方法中更详细描述的那样对信息进行解码。
在扫描次序为第一扫描次序的情况下(702),视频编码器20和/或视频解码器30可进一步根据扫描次序对指示块内的最后有效系数的位置的x和y坐标进行译码(704),即,块的最后有效系数位置信息。然而,在扫描次序为第二扫描次序的情况下(702),视频编码器20和/或视频解码器30可改为根据扫描次序对指示块内的最后有效系数的位置的互换的x和y坐标进行译码(706)。在此实例中,互换的x和y坐标也对应于块的最后有效系数位置信息,但经视频编码器20和/或视频解码器30进一步处理(即互换)以使得能够比当如先前所述使用其它技术时更高效地对信息进行译码。具体来说,互换的x和y坐标可使得能够使用共同统计数据对指示块的最后有效系数位置信息的x和y坐标以及互换的x和y坐标进行译码,同样如先前所述。在任一情况下,无论是使用x和y坐标还是互换的x和y坐标来表示,块的最后有效系数位置信息均可在视频编码器20的情况下经编码且在视频解码器30的情况下经解码。
为了对x和y坐标以及互换的x和y坐标进行译码,视频编码器20和/或视频解码器30可在扫描次序包括第一扫描次序时进一步确定指示块内的给定位置根据扫描次序对应于块内的最后有效系数的位置的概率的统计数据。特定来说,当扫描次序包括第一扫描次序时,所述统计数据可指示根据扫描次序对应于块内的最后有效系数的位置的坐标(例如,x或y坐标)包括给定值(例如,“0”、“1”、“2”等)的概率。换句话说,所述统计数据可指示先前描述的x和y坐标中的每一者包括给定值的概率。
因为第一和第二扫描次序可相对于彼此对称(或至少部分地对称),所以当扫描次序包括第一扫描次序时x坐标包括给定值的概率可与当扫描次序包括第二扫描次序时y坐标包括相同值的概率相同或相似,且反之亦然。类似地,当扫描次序包括第一扫描次序时y坐标包括给定值的概率可与当扫描次序包括第二扫描次序时x坐标包括相同值的概率相同或相似,且反之亦然。也就是说,当扫描次序包括第一扫描次序时x和y坐标可各自具有分别与当扫描次序包括第二扫描次序时互换的x和y坐标相同或相似的包括给定值的概率。因此,所述统计数据可进一步指示互换的x和y坐标中的每一者包括给定值的概率。在一些实例中,视频编码器20和/或视频解码器30可使用先前经译码视频数据块的最后有效系数位置信息(例如先前经译码块的x和y坐标以及互换的x和y坐标的值)来确定统计数据。
在此实例中,视频编码器20和/或视频解码器30可基于统计数据对x和y坐标以及互换的x和y坐标进行译码。举例来说,视频编码器20和/或视频解码器30可基于统计数据对x和y坐标以及互换的x和y坐标进行译码以使得使用x坐标包括给定值的概率对x坐标和互换的y坐标进行译码,且使用y坐标包括给定值的概率对y坐标和互换的x坐标进行译码。此外,视频编码器20和/或视频解码器30可基于x和y坐标以及互换的x和y坐标更新统计数据以反映相应坐标包括特定值的概率。在此实例中,x坐标包括给定值的概率可使用x坐标和互换的y坐标来更新,且y坐标包括给定值的概率可使用y坐标和互换的x坐标来更新。举例来说,可使用经更新统计数据以上述方式对随后经译码视频数据块的最后有效系数位置信息进行译码。
在一些实例中,为了基于统计数据对x和y坐标以及互换的x和y坐标进行译码,视频编码器20和/或视频解码器30可执行上下文自适应熵译码过程(例如,CABAC过程),其包含基于至少一个上下文应用包含统计数据的上下文模型。举例来说,所述至少一个上下文可包含x和y坐标、互换的x和y坐标以及扫描次序中的一者。在此实例中,视频编码器20和/或视频解码器30可使用扫描次序(例如,水平或垂直扫描次序)来选择包含统计数据的特定上下文模型。也就是说,视频编码器20和/或视频解码器30可选择相同统计数据在使用第一扫描次序对块进行译码时对x和y坐标进行译码以及在使用第二扫描次序对块进行译码时对互换的x和y坐标进行译码。
此外,在一个坐标(例如,y坐标)在另一坐标(例如,x坐标)之后被译码的情况下,视频编码器20和/或视频解码器30可使用另一先前经译码坐标的值作为上下文对所述坐标进行译码。也就是说,取决于用以对块进行译码的扫描次序,可使用x和y坐标或互换的x和y坐标中的先前经译码一者的值进一步在上下文模型内选择指示另一当前经译码坐标包括给定值的概率的统计数据。视频编码器20和/或视频解码器30可随后使用选定统计数据通过执行上下文自适应熵译码过程来对x和y坐标以及互换的x和y坐标进行译码。
在此实例中,x和y坐标以及互换的x和y坐标可各自使用包括一个或一个以上位或二进位(即,经二进制化)的序列的一元码字来表示。因此,为了基于统计数据对x和y坐标以及互换的x和y坐标进行译码,视频编码器20和/或视频解码器30可通过执行上下文自适应熵译码过程对码字的对应于特定坐标的每一二进位进行译码。在此实例中,上下文模型中所包含的指示坐标包括给定值的概率的统计数据可包含指示码字的对应于坐标的每一二进位包括给定值(例如,“0”或“1”)的概率的概率估计。此外,取决于码字内的相应二进位的位置,统计数据可包含针对码字的每一二进位的不同概率估计。在一些实例中,视频编码器20和/或视频解码器30可使用先前经译码视频数据块的对应二进位(例如,码字的对应于先前经译码块的x和y坐标以及互换的x和y坐标的二进位)的值来确定概率估计,(例如)以作为基于先前经译码块的最后有效系数位置信息确定统计数据的一部分,如先前所述。在其它实例中,视频编码器20和/或视频解码器30还可使用每一二进位的值来更新概率估计,(例如)以作为基于x和y坐标以及互换的x和y坐标更新统计数据的一部分,同样如先前所述。视频编码器20和/或视频解码器30可通过执行上下文自适应熵译码过程使用概率估计来对每一二进位进行译码。
作为另一实例,视频编码器20和/或视频解码器30可通过至少部分地基于序列的对应于坐标中的一者的至少一个二进位(例如,对应二进位)的值从上下文模型选择统计数据对序列的对应于另一坐标的至少一个二进位进行译码来对x和y坐标以及互换的x和y坐标进行译码。此外,视频编码器20和/或视频解码器30可以交错方式对序列的对应于坐标中的一者的一个或一个以上二进位以及序列的对应于另一坐标的一个或一个以上二进位进行译码。
最终,在一些实例中,视频编码器20和/或视频解码器30可根据扫描次序对指示块内的所有其它有效系数的位置的信息(即,块的有效系数位置信息)进行译码(708)。举例来说,块的有效系数位置信息可使用有效系数旗标序列来表示,如先前所述。同样如先前所述,可通过执行上下文自适应熵译码过程(例如,CABAC过程)对序列的每一有效系数旗标进行译码来对有效系数位置信息进行译码,所述上下文自适应熵译码过程包含基于至少一个上下文应用上下文模型,其中所述至少一个上下文可包含根据扫描次序的块内的旗标的位置。
在此实例中,上下文模型可包含指示每一旗标包括给定值(例如,“0”或“1”)的概率的概率估计。在一些实例中,视频编码器20和/或视频解码器30可使用先前经译码视频数据块的对应有效系数旗标的值来确定概率估计。在其它实例中,视频编码器20和/或视频解码器30还可使用每一旗标的值来更新概率估计以反映旗标包括给定值的概率。举例来说,可使用经更新概率估计以上述方式对随后经译码视频数据块的有效系数位置信息进行译码。
以此方式,图7的方法表示以下方法的实例:当扫描次序包括第一扫描次序时根据与块相关联的扫描次序对指示视频数据块内的最后非零系数的位置的x和y坐标进行译码,且当扫描次序包括第二扫描次序时根据扫描次序对指示块内的最后非零系数的位置的互换的x和y坐标进行译码,其中第二扫描次序不同于第一扫描次序。
图8是说明与本发明的技术一致的用于基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效编码的方法的实例的流程图。图8的技术可通常由任何处理单元或处理器执行,无论是以硬件、软件、固件还是其组合实施,且当以软件或固件实施时,可提供对应硬件以执行用于所述软件或固件的指令。出于实例的目的,关于熵编码单元56(图2)描述图8的技术,但应了解,其它装置可经配置以执行类似技术。而且,图8中说明的步骤可以不同次序或并行地执行,且可添加额外步骤并省略某些步骤,而不脱离本发明的技术。
起初,熵编码单元56可接收视频数据块(800)。举例来说,块可为宏块或CU的TU,如先前所述。熵编码单元56可进一步根据与块相关联的扫描次序确定指示块内的最后有效系数的位置的x和y坐标(802),即块的最后有效系数位置信息。举例来说,扫描次序可为由熵编码单元56使用以对块进行编码的扫描次序,且可为发起于块内的共同位置处的多个扫描次序中的一者,如先前所述。同样如先前所述,共同位置可对应于DC位置。此外,x和y坐标可各自使用包括一个或一个以上二进位的序列的一元码字来表示。
熵编码单元56可进一步确定扫描次序是第一扫描次序还是第二扫描次序(804)。举例来说,在包括视频编码器20和视频解码器30的对应译码系统10内,第一和第二扫描次序可为可由熵编码单元56使用以对视频数据块进行编码的扫描次序,如先前所述。在一些实例中,第一和第二扫描次序可仅为在系统10内用以对块进行译码的扫描次序中的一些扫描次序。在其它实例中,第一和第二扫描次序可为在系统10内用以对块进行译码的仅有扫描次序。如先前所述,第一和第二扫描次序可相对于彼此对称(或至少部分地对称)。举例来说,第一扫描次序可为水平扫描次序且第二扫描次序可为垂直扫描次序。熵编码单元56可直接做出扫描次序是第一扫描次序还是第二扫描次序的确定,(例如)以作为对块进行编码的一部分。
在扫描次序为第一扫描次序的情况下(806),熵编码单元56可进一步对x和y坐标进行编码(808)。然而在扫描次序为第二扫描次序的情况下(806),熵编码单元56可改为互换x和y坐标,且对互换的x和y坐标进行编码(810)。如先前所述,互换的x和y坐标也对应于块的最后有效系数位置信息,但经熵编码单元56进一步处理(即互换)以使得比当使用其它技术时更高效地对信息进行编码。具体来说,互换的x和y坐标可使得能够使用共同统计数据来对指示块的最后有效系数位置信息的x和y坐标以及互换的x和y坐标进行编码,同样如先前所述。在任一情况下,无论是使用x和y坐标还是互换的x和y坐标来表示,熵编码单元56均可对块的最后有效系数位置信息进行编码。
为了对x和y坐标以及互换的x和y坐标进行编码,熵编码单元56可在扫描次序包括第一扫描次序时进一步确定指示块内的给定位置根据扫描次序对应于块内的最后有效系数的位置的概率的统计数据。特定来说,当扫描次序包括第一扫描次序时,所述统计数据可指示根据扫描次序对应于块内的最后有效系数的位置的坐标(例如,x或y坐标)包括给定值(例如,“0”、“1”、“2”等)的概率。换句话说,所述统计数据可指示先前描述的x和y坐标中的每一者包括给定值的概率。
因为第一和第二扫描次序可相对于彼此对称(或至少部分地对称),所以当扫描次序包括第一扫描次序时x坐标包括给定值的概率可与当扫描次序包括第二扫描次序时y坐标包括相同值的概率相同或相似,且反之亦然。类似地,当扫描次序包括第一扫描次序时y坐标包括给定值的概率可与当扫描次序包括第二扫描次序时x坐标包括相同值的概率相同或相似,且反之亦然。也就是说,当扫描次序包括第一扫描次序时x和y坐标可各自具有分别与当扫描次序包括第二扫描次序时互换的x和y坐标相同或相似的包括给定值的概率。因此,所述统计数据可进一步指示互换的x和y坐标中的每一者包括给定值的概率。在一些实例中,熵编码单元56可使用先前经编码视频数据块的最后有效系数位置信息(例如先前经编码块的x和y坐标以及互换的x和y坐标的值)来确定统计数据。
在此实例中,熵编码单元56可基于统计数据对x和y坐标以及互换的x和y坐标进行编码。举例来说,熵编码单元56可基于统计数据对x和y坐标以及互换的x和y坐标进行编码以使得使用x坐标包括给定值的概率对x坐标和互换的y坐标进行编码,且使用y坐标包括给定值的概率对y坐标和互换的x坐标进行编码。此外,熵编码单元56可基于x和y坐标以及互换的x和y坐标更新统计数据以反映相应坐标包括特定值的概率。在此实例中,x坐标包括给定值的概率可使用x坐标和互换的y坐标来更新,且y坐标包括给定值的概率可使用y坐标和互换的x坐标来更新。举例来说,可使用经更新统计数据以上述方式对随后经编码视频数据块的最后有效系数位置信息进行编码。
在一些实例中,为了基于统计数据对x和y坐标以及互换的x和y坐标进行编码,熵编码单元56可执行上下文自适应熵译码过程(例如,CABAC过程),其包含基于至少一个上下文应用包含统计数据的上下文模型。举例来说,所述至少一个上下文可包含x和y坐标、互换的x和y坐标以及扫描次序中的一者。在此实例中,熵编码单元56可使用扫描次序(例如,水平或垂直扫描次序)来选择包含统计数据的特定上下文模型。也就是说,熵编码单元56可选择相同统计数据在使用第一扫描次序对块进行编码时对x和y坐标进行编码以及在使用第二扫描次序对块进行编码时对互换的x和y坐标进行编码。
此外,在一个坐标(例如,y坐标)在另一坐标(例如,x坐标)之后被编码的情况下,熵编码单元56可使用另一先前经编码坐标的值作为上下文对所述坐标进行编码。也就是说,取决于用以对块进行编码的扫描次序,可使用x和y坐标或互换的x和y坐标中的先前经编码一者的值进一步在上下文模型内选择指示另一当前经编码坐标包括给定值的概率的统计数据。熵编码单元56可随后使用选定统计数据通过执行上下文自适应熵译码过程来对x和y坐标以及互换的x和y坐标进行编码。
在此实例中,x和y坐标以及互换的x和y坐标可各自使用包括一个或一个以上二进位(即,经二进制化)的序列的一元码字来表示。因此,为了基于统计数据对x和y坐标以及互换的x和y坐标进行编码,熵编码单元56可通过执行上下文自适应熵译码过程对码字的对应于特定坐标的每一二进位进行编码。在此实例中,上下文模型中所包含的指示坐标包括给定值的概率的统计数据可包含指示码字的对应于坐标的每一二进位包括给定值(例如,“0”或“1”)的概率的概率估计。此外,取决于码字内的相应二进位的位置,统计数据可包含针对码字的每一二进位的不同概率估计。在一些实例中,熵编码单元56可使用先前经编码视频数据块的对应二进位(例如,码字的对应于先前经编码块的x和y坐标以及互换的x和y坐标的二进位)的值来确定概率估计,(例如)以作为基于先前经编码块的最后有效系数位置信息确定统计数据的一部分,如先前所述。在其它实例中,熵编码单元56还可使用每一二进位的值来更新概率估计,(例如)以作为基于x和y坐标以及互换的x和y坐标更新统计数据的一部分,同样如先前所述。熵编码单元56可通过执行上下文自适应熵译码过程使用概率估计对每一二进位进行编码。
如先前所述,作为另一实例,熵编码单元56可通过至少部分地基于序列的对应于坐标中的一者的至少一个二进位(例如,对应二进位)的值从上下文模型选择统计数据对序列的对应于另一坐标的至少一个二进位进行编码来对x和y坐标以及互换的x和y坐标进行编码。此外,熵编码单元56可以交错方式对序列的对应于坐标中的一者的一个或一个以上二进位以及序列的对应于另一坐标的一个或一个以上二进位进行编码。
在任一情况下,熵编码单元56可进一步对识别扫描次序的信息(即,块的扫描次序信息)进行编码(812)。在其中扫描次序包含在系统10内用以对视频数据块进行译码的两个扫描次序中的一者的一些实例中,熵编码单元56可使用单一二进位对扫描次序信息进行编码。举例来说,熵编码单元56可对单一二进位进行编码以指示扫描次序是第一扫描次序(例如,bin=“0”)还是第二扫描次序(bin=“1”)。在其中扫描次序包含可由系统10使用以对视频数据块进行译码的三个扫描次序中的一者的其它实例中,熵编码单元56可使用一到两个二进位来对扫描次序信息进行编码。举例来说,熵编码单元56可对第一二进位进行编码以指示扫描次序是否为第一扫描次序(例如,如果扫描次序为第一扫描次序,则bin1=“0”,否则bin1=“1”)。在第一二进位指示扫描次序不是第一扫描次序的情况下,熵编码单元56可对第二二进位进行编码以指示扫描次序是第二扫描次序(例如,bin2=“0”)还是第三扫描次序(例如,bin2=“1”)。在其它实例中,可使用对块的扫描次序信息进行编码的其它方法,包含使用二进位的其它值。在一些实例中,熵编码单元56可在位流中直接以信号表示每一二进位。在其它实例中,熵编码单元56可以与上文参考对码字的对应于x和y坐标以及互换的x和y坐标中的一者的二进位进行编码而描述的类似方式,进一步使用上下文自适应熵译码过程(例如,CABAC过程)来对每一二进位进行编码。或者如先前所述,当熵编码单元56使用自适应扫描次序来对块进行编码时,熵编码单元56可省略对块的扫描次序信息的编码。
在一些实例中,熵编码单元56可进一步根据扫描次序对指示块内的所有其它有效系数的位置的信息(即,块的有效系数位置信息)进行编码(814)。如先前所述,举例来说,块的有效系数位置信息可使用有效系数旗标序列来表示。同样如先前所述,可通过执行上下文自适应熵译码过程(例如,CABAC过程)对序列的每一有效系数旗标进行编码来对有效系数位置信息进行编码,所述上下文自适应熵译码过程包含基于至少一个上下文应用上下文模型,其中所述至少一个上下文可包含根据扫描次序的块内的旗标的位置。
上下文模型可包含指示每一旗标包括给定值(例如,“0”或“1”)的概率的概率估计。在一些实例中,熵编码单元56可使用先前经编码视频数据块的对应有效系数旗标的值来确定概率估计。在其它实例中,熵编码单元56还可使用每一旗标的值来更新概率估计以反映旗标包括给定值的概率。举例来说,可使用经更新概率估计以上述方式对随后经编码视频数据块的有效系数位置信息进行编码。
最终,熵编码单元56可基于块的扫描次序信息停止对最后有效系数位置信息进行编码(816)。举例来说,熵编码单元56可继续其它译码任务,例如对块或后续块的其它语法元素的编码,如上所述。
以此方式,图8的方法表示以下方法的实例:当扫描次序包括第一扫描次序时根据与块相关联的扫描次序对指示视频数据块内的最后非零系数的位置的x和y坐标进行译码,且当扫描次序包括第二扫描次序时根据扫描次序对指示块内的最后非零系数的位置的互换的x和y坐标进行译码,其中第二扫描次序不同于第一扫描次序。
图9是说明与本发明的技术一致的用于基于视频数据块的扫描次序信息对经编码最后有效系数位置信息进行高效解码的方法的实例的流程图。图9的技术可通常由任何处理单元或处理器执行,无论是以硬件、软件、固件还是其组合实施,且当以软件或固件实施时,可提供对应硬件以执行用于所述软件或固件的指令。出于实例的目的,关于熵解码单元70(图3)描述图9的技术,但应了解,其它装置可经配置以执行类似技术。而且,图9中说明的步骤可以不同次序或并行地执行,且可添加额外步骤并省略某些步骤,而不脱离本发明的技术。
起初,熵解码单元70可接收视频数据块的经编码有效性数据(900)。举例来说,块可为宏块或CU的TU,如先前所述。熵解码单元70可进一步对有效性数据进行解码以根据与块相关联的扫描次序确定指示块内的最后有效系数的位置的坐标(902),即块的最后有效系数位置信息。扫描次序可为由熵编码单元(例如,图2的熵编码单元56)使用以对块进行编码的扫描次序,且可为发起于块内的共同位置处的多个扫描次序中的一者。同样如先前所述,共同位置可对应于DC位置。此外,所确定的坐标可各自使用包括一个或一个以上二进位的序列的一元码字来表示。
如上文参考图8的实例所述,所确定的坐标可对应于根据扫描次序指示块内的最后有效系数的位置的x和y坐标或互换的x和y坐标,其取决于扫描次序。举例来说,坐标可在扫描次序包括第一扫描次序时对应于x和y坐标,且在扫描次序包括第二扫描次序时对应于互换的x和y坐标。x和y坐标以及互换的x和y坐标对应于块的最后有效系数位置信息,但互换的x和y坐标经进一步处理(即,互换)以使得比当使用其它技术时更高效地对信息进行译码。具体来说,互换的x和y坐标可使得能够使用共同统计数据来对指示块的最后有效系数位置信息的x和y坐标以及互换的x和y坐标进行译码,同样如先前所述。
在任一情况下,以与先前参见图8的熵编码单元56的实例所述相似的方式,为了对有效性数据进行解码以确定坐标,熵解码单元70可在扫描次序包括第一扫描次序时进一步确定指示块内的给定位置根据扫描次序对应于块内的最后有效系数的位置的概率的统计数据。特定来说,当扫描次序包括第一扫描次序时,所述统计数据可指示根据扫描次序对应于块内的最后有效系数的位置的坐标(例如,x或y坐标)包括给定值(例如,“0”、“1”、“2”等)的概率。换句话说,所述统计数据可指示先前描述的x和y坐标中的每一者包括给定值的概率。
因为第一和第二扫描次序可相对于彼此对称(或至少部分地对称),所以当扫描次序包括第一扫描次序时x坐标包括给定值的概率可与当扫描次序包括第二扫描次序时y坐标包括相同值的概率相同或相似,且反之亦然。类似地,当扫描次序包括第一扫描次序时y坐标包括给定值的概率可与当扫描次序包括第二扫描次序时x坐标包括相同值的概率相同或相似,且反之亦然。也就是说,当扫描次序包括第一扫描次序时x和y坐标可各自具有分别与当扫描次序包括第二扫描次序时互换的x和y坐标相同或相似的包括给定值的概率。因此,所述统计数据可进一步指示互换的x和y坐标中的每一者包括给定值的概率。在一些实例中,熵解码单元70可使用先前经解码视频数据块的最后有效系数位置信息(例如先前经解码块的x和y坐标以及互换的x和y坐标的值)来确定统计数据。
在此实例中,熵解码单元70可基于统计数据对有效性数据进行解码以确定坐标,即x和y坐标或互换的x和y坐标。举例来说,熵解码单元70可基于统计数据对有效性数据进行解码以确定x和y坐标或互换的x和y坐标以使得使用x坐标包括给定值的概率对有效性数据进行解码以确定x坐标和互换的y坐标,且使用y坐标包括给定值的概率对有效性数据进行解码以确定y坐标和互换的x坐标。此外,熵解码单元70可基于x和y坐标以及互换的x和y坐标更新统计数据以反映相应坐标包括特定值的概率。在此实例中,x坐标包括给定值的概率可使用x坐标和互换的y坐标来更新,且y坐标包括给定值的概率可使用y坐标和互换的x坐标来更新。举例来说,可使用经更新统计数据以上述方式对有效性数据进行解码以确定随后经解码视频数据块的最后有效系数位置信息。
在一些实例中,为了基于统计数据对有效性数据进行解码以确定x和y坐标或互换的x和y坐标,熵解码单元70可执行上下文自适应熵译码过程(例如,CABAC过程),所述上下文自适应熵译码过程包含基于至少一个上下文应用包含统计数据的上下文模型。举例来说,所述至少一个上下文可包含x和y坐标、互换的x和y坐标以及扫描次序中的一者。在此实例中,熵解码单元70可使用扫描次序(例如,水平或垂直扫描次序)来选择包含统计数据的特定上下文模型。也就是说,熵解码单元70可选择相同统计数据在使用第一扫描次序对块进行解码时对有效性数据进行解码以确定x和y坐标以及在使用第二扫描次序对块进行解码时对有效性数据进行解码以确定互换的x和y坐标。
x和y坐标以及互换的x和y坐标可各自使用包括一个或一个以上二进位(即,经二进制化)的序列的一元码字来表示。因此,为了基于统计数据对有效性数据进行解码以确定x和y坐标或互换的x和y坐标,熵解码单元70可通过执行上下文自适应熵译码过程对有效性数据进行解码以确定码字的对应于特定坐标的每一二进位。在此实例中,上下文模型中所包含的指示坐标包括给定值的概率的统计数据可包含指示码字的对应于坐标的每一二进位包括给定值(例如,“0”或“1”)的概率的概率估计。此外,取决于码字内的相应二进位的位置,统计数据可包含针对码字的每一二进位的不同概率估计。在一些实例中,熵解码单元70可使用先前经解码视频数据块的对应二进位(例如,码字的对应于先前经解码块的x和y坐标以及互换的x和y坐标的二进位)的值来确定概率估计,(例如)以作为基于先前经解码块的最后有效系数位置信息确定统计数据的一部分,如先前所述。在其它实例中,熵解码单元70还可使用每一二进位的值来更新概率估计,(例如)以作为基于x和y坐标以及互换的x和y坐标更新统计数据的一部分,同样如先前所述。熵解码单元70可通过执行上下文自适应熵译码过程使用概率估计来对有效性数据进行解码以确定每一二进位。
如先前所述,作为另一实例,熵解码单元70可通过至少部分地基于序列的对应于坐标中的一者的至少一个二进位(例如,对应二进位)的值从上下文模型选择统计数据对序列的对应于另一坐标的至少一个二进位进行解码来对x和y坐标以及互换的x和y坐标进行解码。此外,熵解码单元70可以交错方式对序列的对应于坐标中的一者的一个或一个以上二进位以及序列的对应于另一坐标的一个或一个以上二进位进行解码。
熵解码单元70可进一步接收块的经编码扫描次序数据(904)。熵解码单元70可进一步对扫描次序数据进行解码以确定识别扫描次序的信息(906),即块的扫描次序信息。或者如先前所述,当熵解码单元70使用自适应扫描次序来对块进行解码时,熵解码单元70可不接收和解码块的经编码扫描次序数据。在任一情况下,熵解码单元70可进一步确定扫描次序是第一扫描次序还是第二扫描次序(908)。举例来说,在包括视频编码器20和视频解码器30的对应译码系统10内,第一和第二扫描次序可为可由熵解码单元70使用以对视频数据块进行解码的扫描次序,如先前所述。第一和第二扫描次序可仅为在系统10内用以对块进行译码的扫描次序中的一些扫描次序。在其它实例中,第一和第二扫描次序可为在系统10内用以对块进行译码的仅有扫描次序。在一些情况下,第一和第二扫描次序可相对于彼此对称(或至少部分地对称)。举例来说,第一扫描次序可为水平扫描次序且第二扫描次序可为垂直扫描次序。熵解码单元70可使用所确定的块的扫描次序信息做出扫描次序是第一扫描次序还是第二扫描次序的确定。
在扫描次序为第一扫描次序的情况下(910),熵解码单元70可继续使用所确定的x和y坐标对块进行解码。在一些实例中,熵解码单元70可进一步接收块的剩余经编码有效性数据(914)。熵解码单元70可进一步对剩余有效性数据进行解码以根据扫描次序确定指示块内的所有其它有效系数的位置的信息(916),即,块的有效系数位置信息。如先前所述,举例来说,块的有效系数位置信息可使用有效系数旗标序列来表示。同样如先前所述,可通过执行上下文自适应熵译码过程(例如,CABAC过程)对序列的每一有效系数旗标进行解码来对剩余有效性数据进行解码以确定有效系数位置信息,所述上下文自适应熵译码过程包含基于至少一个上下文应用上下文模型,其中所述至少一个上下文可包含根据扫描次序的块内的旗标的位置。
上下文模型可包含指示每一旗标包括给定值(例如,“0”或“1”)的概率的概率估计。在一些实例中,熵解码单元70可使用先前经解码视频数据块的对应有效系数旗标的值来确定概率估计。在其它实例中,熵解码单元70还可使用每一旗标的值来更新概率估计以反映旗标包括给定值的概率。举例来说,可使用经更新概率估计以上述方式对剩余有效性数据进行解码以确定随后经解码视频数据块的有效系数位置信息。
然而,在扫描次序为第二扫描次序的情况下(910),熵解码单元70可互换所确定的x和y坐标(912),且以如上文参考步骤(914)和(916)所述相似的方式使用互换的x和y坐标继续对块进行解码。如先前所述,x和y坐标以及互换的x和y坐标对应于块的最后有效系数位置信息,但互换的x和y坐标经进一步处理以使得比当使用其它技术时更高效地对信息进行译码。
最终,熵解码单元70可基于块的扫描次序信息停止对最后有效系数位置信息进行解码(918)。举例来说,熵解码单元70可继续其它译码任务,例如对块或后续块的其它语法元素的解码,如上所述。
以此方式,图9的方法表示以下方法的实例:当扫描次序包括第一扫描次序时根据与块相关联的扫描次序对指示视频数据块内的最后非零系数的位置的x和y坐标进行译码,且当扫描次序包括第二扫描次序时根据扫描次序对指示块内的最后非零系数的位置的互换的x和y坐标进行译码,其中第二扫描次序不同于第一扫描次序。
图10是说明与本发明的技术一致的用于基于视频数据块的扫描次序信息对最后有效系数位置信息进行高效编码的方法的另一实例的流程图。图10的技术可通常由任何处理单元或处理器执行,无论是以硬件、软件、固件还是其组合实施,且当以软件或固件实施时,可提供对应硬件以执行用于所述软件或固件的指令。为了实例的目的,关于熵编码单元56(图2)描述图10的技术,但应了解,其它装置可经配置以执行类似技术。而且,图10中说明的步骤可以不同次序或并行地执行,且可添加额外步骤并省略某些步骤,而不脱离本发明的技术。
起初,熵编码单元56可接收视频数据块(1000)。举例来说,块可为宏块或CU的TU,如先前所述。熵编码单元56可进一步根据与块相关联的扫描次序确定指示块内的最后有效系数的位置的x和y坐标(1002),即,块的最后有效系数位置信息。举例来说,扫描次序可为由熵编码单元56使用以对块进行编码的扫描次序,且可为在包括视频编码器20和视频解码器30的对应译码系统10内用以对视频数据块进行译码的多个扫描次序中的一者。举例来说,所述多个扫描次序中的每一者可发起于块内的共同位置处,例如DC位置。此外,同样如先前所述,x和y坐标可各自使用包括一个或一个以上二进位的序列的一元码字来表示。
熵编码单元56可进一步确定x和y坐标是否各自对应于块内的共同位置(1004)。共同位置可对应于DC位置。熵编码单元56可直接做出上述确定,(例如)以作为确定x和y坐标的一部分,如上所述。
熵编码单元56可进一步对x坐标是否对应于共同位置的指示进行编码(1006)。类似地,熵编码单元56可进一步对y坐标是否对应于共同位置的指示进行编码(1008)。熵编码单元56可使用单一二进位对每一指示进行编码。举例来说,熵编码单元56可对指示x坐标是对应于(例如,bin1=“1”)还是不对应于(bin1=“0”)共同位置的第一二进位进行编码,且对指示y坐标是对应于(例如,bin2=“1”)还是不对应于(bin2=“0”)共同位置的第二二进位进行编码。在一些实例中,熵编码单元56可在位流中直接以信号表示每一二进位。在其它实例中,熵编码单元56可(例如)通过执行包含基于上下文而应用上下文模型的CABAC过程,以与上文参考图7到9所述相似的方式进一步使用上下文自适应熵译码过程对每一二进位进行编码。
在x和y坐标各自对应于共同位置的情况下(1010),熵编码单元56可基于块的扫描次序信息停止对最后有效系数位置信息进行编码(1024)。换句话说,在x和y坐标各自对应于共同位置的情况下,块内不存在根据扫描次序超过块内的最后(且唯一)有效系数的额外有效系数。在此些情况下,熵编码单元56不需要对块的任何额外最后有效系数位置信息或任何扫描次序信息或有效系数位置信息进行编码。在此些情况下,熵编码单元56可继续其它译码任务,例如对块或后续块的其它语法元素的编码。
在x和y坐标不各自对应于共同位置的情况下(1010),熵编码单元56可进一步对识别扫描次序的信息(即,块的扫描次序信息)进行编码(1012)。在其中扫描次序包含在系统10内用以对视频数据块进行译码的两个扫描次序中的一者的一些实例中,熵编码单元56可使用单一二进位对扫描次序信息进行编码。举例来说,熵编码单元56可对单一二进位进行编码以指示扫描次序是第一扫描次序(例如,bin=“0”)还是第二扫描次序(bin=“1”)。在其中扫描次序包含可由系统10使用以对视频数据块进行译码的三个扫描次序中的一者的其它实例中,熵编码单元56可使用一到两个二进位来对扫描次序信息进行编码。举例来说,熵编码单元56可对第一二进位进行编码以指示扫描次序是否为第一扫描次序(例如,如果扫描次序为第一扫描次序,则bin1=“0”,否则bin1=“1”)。在第一二进位指示扫描次序不是第一扫描次序的情况下,熵编码单元56可对第二二进位进行编码以指示扫描次序是第二扫描次序(例如,bin2=“0”)还是第三扫描次序(例如,bin2=“1”)。在其它实例中,可使用对块的扫描次序信息进行编码的其它方法,包含使用二进位的其它值。在一些实例中,熵编码单元56可在位流中直接以信号表示每一二进位。在其它实例中,熵编码单元56可(例如)通过执行包含基于上下文而应用上下文模型的CABAC过程,以与上文参考图7到9所述相似的方式进一步使用上下文自适应熵译码过程来对每一二进位进行编码。或者如先前所述,当熵编码单元56使用自适应扫描次序来对块进行编码时,熵编码单元56可不对块的扫描次序信息进行编码。
在任一情况下,在x坐标不对应于共同位置的情况下(1014),熵编码单元56可进一步基于扫描次序对x坐标进行编码(1016)。类似地,在y坐标不对应于共同位置的情况下(1018),熵编码单元56可进一步基于扫描次序对y坐标进行编码(1020)。为了对x和y坐标进行编码,熵编码单元56可进一步确定指示块内的给定位置根据扫描次序对应于块内的最后有效系数的位置的概率的统计数据。特定来说,所述统计数据可指示根据扫描次序对应于块内的最后有效系数的位置的坐标(例如,x或y坐标)包括给定值(例如,“0”、“1”、“2”等)的概率。换句话说,所述统计数据可指示先前描述的x和y坐标中的每一者包括给定值的概率。在一些实例中,熵编码单元56可使用先前经编码视频数据块的最后有效系数位置信息(例如,先前经编码块的x和y坐标的值)确定统计数据。
在一些实例中,统计数据可取决于扫描次序而变化。特定来说,块内的给定位置根据扫描次序对应于块内的最后有效系数的位置的概率可取决于扫描次序而变化。也就是说,不同扫描次序可导致块的最后有效系数位置信息的不同统计数据。因此,当基于统计数据对块的最后有效系数位置信息进行编码时,至少部分地基于扫描次序选择统计数据可导致使用准确的统计数据,且因此可实现高效的编码。因此,熵编码单元56可基于统计数据对x和y坐标进行编码,其中熵编码单元56至少部分地基于扫描次序选择统计数据。因此,熵编码单元56可基于扫描次序对x和y坐标进行编码。此外,熵编码单元56可基于x和y坐标更新统计数据以反映相应坐标包括特定值的概率。举例来说,可使用经更新统计数据以上述方式对后续经编码视频数据块的最后有效系数位置信息进行编码。
在一些实例中,为了基于统计数据对x和y坐标进行编码,熵编码单元56可执行上下文自适应熵译码过程(例如,CABAC过程),所述上下文自适应熵译码过程包含基于至少一个上下文应用包含统计数据的上下文模型。举例来说,所述至少一个上下文可包含x和y坐标以及扫描次序中的一者。在此实例中,熵编码单元56可使用扫描次序来选择包含统计数据的特定上下文模型。以此方式,熵编码单元56可基于扫描次序对x和y坐标进行编码。此外,在一个坐标(例如,y坐标)在另一坐标(例如,x坐标)之后被编码的情况下,熵编码单元56可使用另一先前经编码坐标的值作为上下文来对所述坐标进行编码。也就是说,可使用x和y坐标中的先前经编码一者的值进一步在上下文模型内选择指示另一当前经编码坐标包括给定值的概率的统计数据。熵编码单元56可随后使用选定统计数据通过执行上下文自适应熵译码过程来对x和y坐标进行编码。
在此实例中,x和y坐标可各自使用包括一个或一个以上二进位(即,经二进制化)的序列的一元码字来表示。因此,为了基于统计数据对x和y坐标进行编码,熵编码单元56可通过执行上下文自适应熵译码过程对码字的对应于特定坐标的每一二进位进行编码。在此实例中,上下文模型中所包含的指示坐标包括给定值的概率的统计数据可包含指示码字的对应于坐标的每一二进位包括给定值(例如,“0”或“1”)的概率的概率估计。此外,取决于码字内的相应二进位的位置,统计数据可包含针对码字的每一二进位的不同概率估计。在一些实例中,熵编码单元56可使用先前经编码视频数据块的对应二进位(例如,码字的对应于先前经编码块的x和y坐标的二进位)的值来确定概率估计,(例如)以作为基于先前经编码块的最后有效系数位置信息确定统计数据的一部分,如先前所述。在其它实例中,熵编码单元56还可使用每一二进位的值来更新概率估计,(例如)以作为基于x和y坐标更新统计数据的一部分,同样如先前所述。熵编码单元56可通过执行上下文自适应熵译码过程使用概率估计对每一二进位进行编码。
如先前所述,作为另一实例,熵编码单元56可通过至少部分地基于序列的对应于坐标中的一者的至少一个二进位(例如,对应二进位)的值从上下文模型选择统计数据对序列的对应于另一坐标的至少一个二进位进行编码来对x和y坐标进行编码。此外,熵编码单元56可以交错方式对序列的对应于坐标中的一者的一个或一个以上二进位以及序列的对应于另一坐标的一个或一个以上二进位进行编码。
在一些实例中,在对每一坐标进行编码之前,熵编码单元56可从每一坐标减去值“1”以便允许比当使用其它方法时更高效地对坐标进行译码。举例来说,熵编码单元56可在对坐标进行编码之前从每一坐标减去值“1”以便减少用以对坐标进行译码的信息量。类似地,熵解码单元(例如,在图11的实例中更详细描述的熵解码单元70)可在对坐标进行解码之后将值“1”加到每一坐标以便确定坐标。
在一些实例中,熵编码单元56可进一步根据扫描次序对指示块内的所有其它有效系数的位置的信息(即,块的有效系数位置信息)进行编码(1022)。如先前所述,块的有效系数位置信息可使用有效系数旗标序列来表示。同样如先前所述,可通过执行上下文自适应熵译码过程(例如,CABAC过程)对序列的每一有效系数旗标进行编码来对有效系数位置信息进行编码,所述上下文自适应熵译码过程包含基于至少一个上下文应用上下文模型,其中所述至少一个上下文可包含根据扫描次序的块内的旗标的位置。
在此实例中,上下文模型可包含指示每一旗标包括给定值(例如,“0”或“1”)的概率的概率估计。在一些实例中,熵编码单元56可使用先前经编码视频数据块的对应有效系数旗标的值来确定概率估计。在其它实例中,熵编码单元56还可使用每一旗标的值来更新概率估计以反映旗标包括给定值的概率。举例来说,可使用经更新概率估计以上述方式对随后经编码视频数据块的有效系数位置信息进行编码。
最终,熵编码单元56可基于块的扫描次序信息停止对最后有效系数位置信息进行编码(1024)。举例来说,熵编码单元56可继续其它译码任务,例如对块或后续块的其它语法元素的编码,如先前所述。
以此方式,图10的方法表示以下方法的实例:当扫描次序包括第一扫描次序时根据与块相关联的扫描次序对指示视频数据块内的最后非零系数的位置的x和y坐标进行译码,且当扫描次序包括第二扫描次序时根据扫描次序对指示块内的最后非零系数的位置的互换的x和y坐标进行译码,其中第二扫描次序不同于第一扫描次序。
图11是说明与本发明的技术一致的用于基于视频数据块的扫描次序信息对经编码最后有效系数位置信息进行高效解码的方法的另一实例的流程图。图11的技术可通常由任何处理单元或处理器执行,无论是以硬件、软件、固件还是其组合实施,且当以软件或固件实施时,可提供对应硬件以执行用于所述软件或固件的指令。出于实例的目的,关于熵解码单元70(图3)描述图11的技术,但应了解,其它装置可经配置以执行类似技术。而且,图11中说明的步骤可以不同次序或并行地执行,且可添加额外步骤并省略某些步骤,而不脱离本发明的技术。
起初,熵解码单元70可接收视频数据块的第一信号(1100)。块可为宏块或CU的TU,如先前所述。熵解码单元70可进一步对第一信号进行解码以确定指示块内的最后有效系数的位置的x坐标根据与块相关联的扫描次序是否对应于共同位置的指示(1102)。类似地,熵解码单元70可进一步接收块的第二信号(1104)。熵解码单元70可进一步对第二信号进行解码以确定指示块内的最后有效系数的位置的y坐标根据扫描次序是否对应于共同位置的指示(1106)。
举例来说,扫描次序可为由熵编码单元(例如,熵编码单元56)使用以对块进行编码的扫描次序,且可为在包括视频编码器20和视频解码器30的对应译码系统10内用以对视频数据块进行译码的多个扫描次序中的一者。举例来说,所述多个扫描次序中的每一者可发起于共同位置处,如先前所述。共同位置可对应于DC位置。
此外,每一指示可包括单一二进位。举例来说,熵解码单元70可对第一信号进行解码以确定指示x坐标是对应于(例如,bin1=“1”)还是不对应于(bin1=“0”)共同位置的第一二进位,且对第二信号进行解码以确定指示y坐标是对应于(例如,bin2=“1”)还是不对应于(bin2=“0”)共同位置的第二二进位。在一些实例中,熵解码单元70可在位流中直接接收每一二进位。也就是说,第一信号和第二信号可分别包括第一二进位和第二二进位。在其它实例中,熵解码单元70可(例如)通过执行包含基于上下文而应用上下文模型的CABAC过程,以与上文参考图7到9所述相似的方式使用上下文自适应熵译码过程对第一和第二信号进行解码以确定相应二进位。
在x和y坐标各自对应于共同位置的情况下(1108),熵解码单元70可基于块的扫描次序信息停止对经编码最后有效系数位置信息进行解码(1030)。换句话说,在x和y坐标各自对应于共同位置的情况下,块内不存在根据扫描次序超过块内的最后(且唯一)有效系数的额外有效系数。在此些情况下,熵解码单元70不需要对块的任何额外最后有效系数位置信息或任何扫描次序信息或有效系数位置信息进行解码。举例来说,在此些情况下,熵解码单元70可继续其它译码任务,例如对块或后续块的其它语法元素的解码。
在x和y坐标不各自对应于共同位置的情况下(1108),熵解码单元70可进一步接收块的经编码扫描次序数据(1110)。熵解码单元70可进一步对扫描次序数据进行解码以确定识别扫描次序的信息(1112),即,块的扫描次序信息。在其中扫描次序包含在系统10内用以对视频数据块进行译码的两个扫描次序中的一者的一些实例中,熵解码单元70可对扫描次序数据进行解码以确定单一二进位。举例来说,单一二进位可指示扫描次序是第一扫描次序(例如,bin=“0”)还是第二扫描次序(bin=“1”)。在其中扫描次序包含可在系统10内使用以对视频数据块进行译码的三个扫描次序中的一者的其它实例中,熵解码单元70可对扫描次序数据进行解码以确定一到两个二进位。举例来说,熵解码单元70可确定指示扫描次序是否为第一扫描次序(例如,如果扫描次序为第一扫描次序,则bin1=“0”,否则bin1=“1”)的第一二进位。在第一二进位指示扫描次序不是第一扫描次序的情况下,熵解码单元70可确定指示扫描次序是第二扫描次序(例如,bin2=“0”)还是第三扫描次序(例如,bin2=“1”)的第二二进位。在其它实例中,可使用确定块的扫描次序信息的其它方法,包含使用二进位的其它值。在一些实例中,熵解码单元70可在位流中直接接收每一二进位。也就是说,扫描次序数据可包括一个或一个以上二进位。在其它实例中,熵解码单元70可(例如)通过执行包含基于上下文而应用上下文模型的CABAC过程,以与上文参考图7到9所述相似的方式使用上下文自适应熵译码过程来对扫描次序数据进行解码以确定每一二进位。或者,如先前所述,当熵解码单元70使用自适应扫描次序来对块进行解码时,熵解码单元70可不接收块的经编码扫描次序数据并对其进行解码。
在任一情况下,在x坐标不对应于共同位置的情况下(1114),熵解码单元70可进一步接收经编码x坐标(1116),且基于扫描次序对x坐标进行解码(1118)。类似地,在y坐标不对应于共同位置的情况下(1120),熵解码单元70可进一步接收经编码y坐标(1122),且基于扫描次序对y坐标进行解码(1124)。如先前所述,为了对x和y坐标进行解码,熵解码单元70可以与上文参考熵编码单元56所述大体上相似的方式进一步确定指示块内的给定位置根据扫描次序对应于块内的最后有效系数的位置的概率的统计数据。所述统计数据可指示根据扫描次序对应于块内的最后有效系数的位置的坐标(例如,x或y坐标)包括给定值(例如,“0”、“1”、“2”等)的概率。换句话说,所述统计数据可指示先前描述的x和y坐标中的每一者包括给定值的概率。在一些实例中,熵解码单元70可使用先前经解码视频数据块的最后有效系数位置信息(例如,先前经解码块的x和y坐标的值)确定统计数据。
在一些实例中,统计数据可取决于扫描次序而变化。特定来说,块内的给定位置根据扫描次序对应于块内的最后有效系数的位置的概率可取决于扫描次序而变化。也就是说,不同扫描次序可导致块的最后有效系数位置信息的不同统计数据。因此,当基于统计数据对块的最后有效系数位置信息进行解码时,至少部分地基于扫描次序选择统计数据可导致使用准确的统计数据,且因此可实现高效的解码。因此,熵解码单元70可基于统计数据对经编码x和y坐标进行解码,其中熵解码单元70至少部分地基于扫描次序选择统计数据。因此,熵解码单元70可基于扫描次序对经编码x和y坐标进行解码。此外,熵解码单元70可基于x和y坐标更新统计数据以反映相应坐标包括特定值的概率。举例来说,可使用经更新统计数据以上述方式对后续经解码视频数据块的经编码最后有效系数位置信息进行解码。
在一些实例中,为了基于统计数据对x和y坐标进行解码,熵解码单元70可执行上下文自适应熵译码过程(例如,CABAC过程),所述上下文自适应熵译码过程包含基于至少一个上下文应用包含统计数据的上下文模型。举例来说,所述至少一个上下文可包含x和y坐标以及扫描次序中的一者。在此实例中,熵解码单元70可使用扫描次序来选择包含统计数据的特定上下文模型。以此方式,熵解码单元70可基于扫描次序对经编码x和y坐标进行解码。此外,在一个坐标(例如,y坐标)在另一坐标(例如,x坐标)之后被解码的情况下,熵解码单元70可使用另一先前经解码坐标的值作为上下文来对所述坐标进行解码。也就是说,可使用x和y坐标中的先前经解码一者的值进一步在上下文模型内选择指示另一当前经解码坐标包括给定值的概率的统计数据。熵解码单元70可随后使用选定统计数据通过执行上下文自适应熵译码过程来对经编码x和y坐标进行解码。
x和y坐标可各自使用包括一个或一个以上二进位(即,经二进制化)的序列的一元码字来表示。因此,为了基于统计数据对经编码x和y坐标进行解码,熵解码单元70可通过执行上下文自适应熵译码过程对码字的对应于特定坐标的每一二进位进行解码。在此实例中,上下文模型中所包含的指示坐标包括给定值的概率的统计数据可包含指示码字的对应于坐标的每一二进位包括给定值(例如,“0”或“1”)的概率的概率估计。此外,取决于码字内的相应二进位的位置,统计数据可包含针对码字的每一二进位的不同概率估计。在一些实例中,熵解码单元70可使用先前经解码视频数据块的对应二进位(例如,码字的对应于先前经解码块的x和y坐标的二进位)的值来确定概率估计,(例如)以作为基于先前经解码块的最后有效系数位置信息确定统计数据的一部分,如先前所述。在其它实例中,熵解码单元70还可使用每一二进位的值来更新概率估计,(例如)以作为基于x和y坐标更新统计数据的一部分,同样如先前所述。熵解码单元70可通过执行上下文自适应熵译码过程使用概率估计来对每一二进位进行解码。
如先前所述,作为另一实例,熵解码单元70可通过至少部分地基于序列的对应于坐标中的一者的至少一个二进位(例如,对应二进位)的值从上下文模型选择统计数据对序列的对应于另一坐标的至少一个二进位进行解码来对x和y坐标进行解码。此外,熵解码单元70可以交错方式对序列的对应于坐标中的一者的一个或一个以上二进位以及序列的对应于另一坐标的一个或一个以上二进位进行解码。
在对每一坐标进行解码后,熵解码单元70可即刻将值“1”加到每一坐标以便允许比当使用其它方法时更高效地对坐标进行译码。举例来说,同样如先前所述,熵编码单元(例如,熵编码单元56)可通过首先从每一坐标减去值“1”来对x和y坐标进行编码以便减少用以对坐标进行译码的信息量。因此,熵解码单元70可在对坐标进行解码之后将值“1”加到每一坐标以便确定坐标。
在一些实例中,熵解码单元70可进一步接收块的经编码有效性数据(1126)。在这些实例中,熵解码单元70可对有效性数据进行解码以根据扫描次序确定指示块内的所有其它有效系数的位置的信息(1128),即,块的有效系数位置信息。如先前所述,块的有效系数位置信息可使用有效系数旗标序列来表示。同样如先前所述,可通过执行上下文自适应熵译码过程(例如,CABAC过程)对序列的每一有效系数旗标进行解码来对有效系数位置信息进行解码,所述上下文自适应熵译码过程包含基于至少一个上下文应用上下文模型,其中所述至少一个上下文可包含根据扫描次序的块内的旗标的位置。
在此实例中,上下文模型可包含指示每一旗标包括给定值(例如,“0”或“1”)的概率的概率估计。在一些实例中,熵解码单元70可使用先前经解码视频数据块的对应有效系数旗标的值来确定概率估计。在其它实例中,熵解码单元70还可使用每一旗标的值来更新概率估计以反映旗标包括给定值的概率。举例来说,可使用经更新概率估计以上述方式对随后经解码视频数据块的经编码有效系数位置信息进行解码。
最终,熵解码单元70可基于块的扫描次序信息停止对经编码最后有效系数位置信息进行解码(1130)。举例来说,熵解码单元70可继续其它译码任务,例如对块或后续块的其它语法元素的解码,如先前所述。
以此方式,图11的方法表示以下方法的实例:当扫描次序包括第一扫描次序时根据与块相关联的扫描次序对指示视频数据块内的最后非零系数的位置的x和y坐标进行译码,且当扫描次序包括第二扫描次序时根据扫描次序对指示块内的最后非零系数的位置的互换的x和y坐标进行译码,其中第二扫描次序不同于第一扫描次序。
因此,根据本发明的技术,经编码位流可包括视频数据块的最后有效系数位置信息,即,与块相关联的系数。特定来说,视频编码器20可在扫描次序包括第一扫描次序时对根据与块相关联的扫描次序指示块内的最后有效系数的位置的x和y坐标进行编码,且在扫描次序包括第二扫描次序时对根据扫描次序指示块内的最后有效系数的位置的互换的x和y坐标进行编码。举例来说,第二扫描次序可不同于第一扫描次序。视频解码器30又可对块的最后有效系数位置信息进行解码。特定来说,视频解码器30可在扫描次序包括第一扫描次序时对x和y坐标进行解码,且在扫描次序包括第二扫描次序时对互换的x和y坐标进行解码。
因此,本发明还预期一种包括存储于其上的数据结构的计算机可读媒体,所述数据结构包含经编码位流。存储在计算机可读媒体上的经编码位流可包括使用特定格式编码的视频数据,以及使用x和y坐标表示的根据与块相关联的扫描次序识别视频数据块内的最后有效系数的位置的经编码信息。在位流内对x和y坐标进行编码的特定次序取决于与块相关联的扫描次序是包括第一扫描次序还是第二扫描次序。更具体来说,如果扫描次序包括第一扫描次序,那么位流可包含使用x和y坐标编码的块的最后有效系数位置信息。在此情况下,可对块的最后有效系数位置信息进行解码,且可直接使用所得的x和y坐标对块进行解码。或者,如果扫描次序包括第二扫描次序,那么位流可包含使用互换的x和y坐标编码的块的最后有效系数位置信息。在此情况下,可对最后有效系数位置信息进行解码,其中互换的x和y坐标进一步经互换,且可使用所得的x和y坐标对块进行解码。
在一个或一个以上实例中,所描述的功能可以硬件、软件、固件或其任一组合来实施。如果以软件实施,那么功能可作为一个或一个以上指令或代码存储在计算机可读媒体上或经由计算机可读媒体传输,且由基于硬件的处理单元执行。计算机可读媒体可包含对应于例如数据存储媒体等有形媒体的计算机可读存储媒体,或包含促进计算机程序例如根据通信协议从一处传送到另一处的任何媒体的通信媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一个或一个以上计算机或者一个或一个以上处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
举例来说且并非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来以指令或数据结构的形式存储所要程序代码且可由计算机存取的任何其它媒体。而且,恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波等无线技术包含于媒体的定义中。然而应了解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬时媒体,而是针对非瞬时有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘使用激光以光学方式再现数据。以上各者的组合也应包含在计算机可读媒体的范围内。
可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器来执行指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文描述的功能性可提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。
本发明的技术可在广泛多种装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但不一定需要通过不同硬件单元来实现。而是,如上所述,各种单元可在编解码器硬件单元中组合或由互操作硬件单元(包含如上所述的一个或一个以上处理器)的集合结合合适软件和/或固件来提供。
已描述了各种实例。这些和其它实例属于所附权利要求书的范围内。

Claims (19)

1.一种在视频编码过程期间对与视频数据块相关联的系数进行编码的方法,所述方法包括:
执行x坐标和y坐标的上下文自适应熵译码,其中所述x坐标和所述y坐标分别指示所述块内的最后非零系数的水平位置和垂直位置,其中执行上下文自适应熵译码包含使用基于针对所述x坐标和所述y坐标中的每一者的各自上下文的各自统计数据,且其中所述统计数据指示当所述视频数据块的所述系数以第一扫描次序被扫描时,所述x坐标和所述y坐标中的每一者包括给定值的概率,所述x坐标和所述y坐标包括给定值的概率与当所述系数以不同于所述第一扫描次序的第二扫描次序被扫描时互换的x坐标和互换的y坐标包括给定值的概率相同或相似;
当所述视频数据块的所述系数以所述第一扫描次序扫描时,作为执行所述x坐标和所述y坐标的上下文自适应熵译码的一部分,使用所述各自统计数据编码所述x坐标和y坐标,使得基于所述x坐标包括给定值的概率来编码所述x坐标且基于所述y坐标包括给定值的概率来编码所述y坐标,以及
当所述视频数据块的所述系数以所述第二扫描次序扫描时,互换所述x坐标和y坐标,且作为执行所述x坐标和所述y坐标的上下文自适应熵译码的一部分,使用所述各自统计数据编码所述经互换的x坐标和经互换的y坐标,使得基于所述y坐标包括给定值的概率来编码经互换的x坐标且基于所述x坐标包括给定值的概率来编码经互换的y坐标。
2.一种在视频解码过程期间对与视频数据块相关联的系数进行解码的方法,所述方法包括:
执行x坐标和y坐标的上下文自适应熵译码,其中所述x坐标和所述y坐标分别指示所述块内的最后非零系数的水平位置和垂直位置,其中执行上下文自适应熵译码包含使用基于针对所述x坐标和所述y坐标中的每一者的各自上下文的各自统计数据,且其中所述统计数据指示当所述视频数据块的所述系数以第一扫描次序被扫描时,所述x坐标和所述y坐标中的每一者包括给定值的概率,所述x坐标和所述y坐标包括给定值的概率与当所述系数以不同于所述第一扫描次序的第二扫描次序被扫描时互换的x坐标和互换的y坐标包括给定值的概率相同或相似;
当所述视频数据块的所述系数以所述第一扫描次序扫描时,作为执行所述x坐标和所述y坐标的上下文自适应熵译码的一部分,使用所述各自统计数据解码所述x坐标和y坐标,使得基于所述x坐标包括给定值的概率来解码所述x坐标且基于所述y坐标包括给定值的概率来解码所述y坐标,以及
当所述视频数据块的所述系数以所述第二扫描次序扫描时,互换所述x坐标和y坐标,作为执行所述x坐标和所述y坐标的上下文自适应熵译码的一部分,使用所述各自统计数据解码经互换的x坐标和经互换的y坐标,使得基于所述y坐标包括给定值的概率来解码经互换的x坐标且基于所述x坐标包括给定值的概率来解码经互换的y坐标。
3.根据权利要求1或2所述的方法,其中所述第一扫描次序和所述第二扫描次序相对于彼此对称。
4.根据权利要求1或2所述的方法,其中所述第一扫描次序包括水平扫描次序,且所述第二扫描次序包括垂直扫描次序,且其中所述水平扫描次序和所述垂直扫描次序发起于所述块内的共同位置处。
5.根据权利要求1或2所述的方法,其中所述第一扫描次序包括水平扫描次序,垂直扫描次序,以及第三扫描次序中的一者,且所述第二扫描次序包括剩余的两者中的一者,且其中所述水平扫描次序、所述垂直扫描次序和所述Z形扫描次序发起于所述块内的共同位置处。
6.根据权利要求1或2所述的方法,其进一步包括:
对识别所述扫描次序的信息进行编码或解码。
7.根据权利要求1或2所述的方法,其中对所述x坐标和所述y坐标以及经互换的x坐标和经互换的y坐标中的一者编码或解码包括对一个或多个二进位的序列编码或解码,其中所述统计数据指示所述二进位中的每一者具有给定值的概率。
8.根据权利要求1所述的方法,进一步包括:
基于所述x和y坐标以及所述互换的x和y坐标中的相应者对与所述视频数据块相关联的非零系数的值进行编码;以及
在位流中输出所述非零系数的所述经编码值。
9.根据权利要求2所述的方法,进一步包括:
在位流中接收与所述视频数据块相关联的非零系数的经编码值;以及
基于所述x和y坐标以及所述互换的x和y坐标中的所述相应者对所述非零系数的所述经编码值进行解码。
10.一种用于在视频编码过程期间对与视频数据块相关联的系数进行编码的设备,所述设备包括:
用于执行x坐标和y坐标中的上下文自适应熵译码的装置,其中所述x坐标和所述y坐标分别指示所述块内的最后非零系数的水平位置和垂直位置,其中执行上下文自适应熵译码包含使用基于针对所述x坐标和所述y坐标中的每一者的各自上下文的各自统计数据,且其中所述统计数据指示当所述视频数据块的所述系数以第一扫描次序被扫描时,所述x坐标和所述y坐标中的每一者包括给定值的概率,所述x坐标和所述y坐标包括给定值的概率与当所述系数以不同于所述第一扫描次序的第二扫描次序被扫描时互换的x坐标和互换的y坐标包括给定值的概率相同或相似;
用于当所述视频数据块的所述系数以所述第一扫描次序扫描时,作为执行所述x坐标和所述y坐标的上下文自适应熵译码的一部分,使用所述各自统计数据编码所述x坐标和y坐标,使得基于所述x坐标包括给定值的概率来编码所述x坐标且基于所述y坐标包括给定值的概率来编码所述y坐标的装置,以及
用于当所述视频数据块的所述系数以所述第二扫描次序扫描时,互换所述x坐标和y坐标,且作为执行所述x坐标和所述y坐标的上下文自适应熵译码的一部分,使用所述各自统计数据编码经互换的x坐标和经互换的y坐标,使得基于所述y坐标包括给定值的概率来编码经互换的x坐标且基于所述x坐标包括给定值的概率来编码经互换的y坐标的装置。
11.一种用于在视频解码过程期间对与视频数据块相关联的系数进行解码的设备,所述设备包括:
用于执行x坐标和y坐标中的上下文自适应熵译码的装置,其中所述x坐标和所述y坐标分别指示所述块内的最后非零系数的水平位置和垂直位置,其中执行上下文自适应熵译码包含使用基于针对所述x坐标和所述y坐标中的每一者的各自上下文的各自统计数据,且其中所述统计数据指示当所述视频数据块的所述系数以第一扫描次序被扫描时,所述x坐标和所述y坐标中的每一者包括给定值的概率,所述x坐标和所述y坐标包括给定值的概率与当所述系数以不同于所述第一扫描次序的第二扫描次序被扫描时互换的x坐标和互换的y坐标包括给定值的概率相同或相似;
用于当所述视频数据块的所述系数以所述第一扫描次序扫描时,作为执行所述x坐标和所述y坐标的上下文自适应熵译码的一部分,使用所述各自统计数据解码所述x坐标和y坐标,使得基于所述x坐标包括给定值的概率来解码所述x坐标且基于所述y坐标包括给定值的概率来解码所述y坐标的装置,以及
用于当所述视频数据块的所述系数以所述第二扫描次序扫描时,互换所述x坐标和y坐标,且作为执行所述x坐标和所述y坐标的上下文自适应熵译码的一部分,使用所述各自统计数据解码经互换的x坐标和经互换的y坐标,使得基于所述y坐标包括给定值的概率来解码经互换的x坐标且基于所述x坐标包括给定值的概率来解码经互换的y坐标的装置。
12.根据权利要求10或11所述的设备,其中所述第一扫描次序和所述第二扫描次序相对于彼此对称。
13.根据权利要求10或11所述的设备,其中所述第一扫描次序包括水平扫描次序,且所述第二扫描次序包括垂直扫描次序,且其中所述水平扫描次序和所述垂直扫描次序发起于所述块内的共同位置处。
14.根据权利要求10或11所述的设备,其中所述第一扫描次序包括水平扫描次序,垂直扫描次序,以及第三扫描次序中的一者,且所述第二扫描次序包括剩余的两者中的一者包括Z形扫描次序,且其中所述水平扫描次序、所述垂直扫描次序和所述Z形扫描次序发起于所述块内的共同位置处。
15.根据权利要求10所述的设备,进一步包括:
用于基于所述x和y坐标以及所述互换的x和y坐标中的相应者对与所述视频数据块相关联的非零系数的值进行编码的装置;以及
用于在位流中输出所述非零系数的所述经编码值的装置。
16.根据权利要求11所述的设备,进一步包括:
用于在位流中接收与所述视频数据块相关联的非零系数的经编码值的装置;以及用于基于所述x和y坐标以及所述互换的x和y坐标中的所述相应者对所述非零系数的所述经编码值进行解码的装置。
17.根据权利要求10或11所述的设备,其进一步包括用于对识别所述扫描次序的信息进行编码或解码的装置。
18.根据权利要求10或11所述的设备,其中用于对所述x坐标和所述y坐标以及经互换的x坐标和经互换的y坐标中的一者编码的装置或解码的装置包括用于对一个或多个二进位的序列编码的装置或解码的装置,其中所述统计数据指示所述二进位中的每一者具有给定值的概率。
19.根据权利要求11所述的设备,其中所述装置包括以下各项中的至少一者:
集成电路;
微处理器;以及
无线通信装置,其包含所述视频译码器。
CN201180057872.6A 2010-12-03 2011-11-30 在视频译码中基于视频块的扫描次序对块内的最后有效系数的位置进行译码 Active CN103238323B (zh)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US41974010P 2010-12-03 2010-12-03
US61/419,740 2010-12-03
US201061426360P 2010-12-22 2010-12-22
US201061426426P 2010-12-22 2010-12-22
US201061426372P 2010-12-22 2010-12-22
US61/426,360 2010-12-22
US61/426,426 2010-12-22
US61/426,372 2010-12-22
US13/303,015 2011-11-22
US13/303,015 US9042440B2 (en) 2010-12-03 2011-11-22 Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
PCT/US2011/062715 WO2012075193A1 (en) 2010-12-03 2011-11-30 Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding

Publications (2)

Publication Number Publication Date
CN103238323A CN103238323A (zh) 2013-08-07
CN103238323B true CN103238323B (zh) 2016-05-11

Family

ID=46162210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180057872.6A Active CN103238323B (zh) 2010-12-03 2011-11-30 在视频译码中基于视频块的扫描次序对块内的最后有效系数的位置进行译码

Country Status (16)

Country Link
US (2) US9042440B2 (zh)
EP (4) EP3361641B1 (zh)
JP (1) JP5746363B2 (zh)
KR (1) KR101523452B1 (zh)
CN (1) CN103238323B (zh)
AU (1) AU2011336601B2 (zh)
BR (1) BR112013013650B1 (zh)
CA (1) CA2818436C (zh)
ES (2) ES2963135T3 (zh)
HK (1) HK1185488A1 (zh)
IL (1) IL226209A (zh)
MY (1) MY161436A (zh)
RU (1) RU2541226C2 (zh)
SG (1) SG190691A1 (zh)
WO (1) WO2012075193A1 (zh)
ZA (1) ZA201304933B (zh)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RS56250B1 (sr) 2010-07-09 2017-11-30 Samsung Electronics Co Ltd Uređaj za entropijsko dekodiranje koeficijenta transformacije
US10091529B2 (en) 2010-07-09 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding a transform coefficient
US9497472B2 (en) 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in video coding
US9042440B2 (en) * 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US8755620B2 (en) 2011-01-12 2014-06-17 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus for performing arithmetic coding and/or arithmetic decoding
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
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US9338449B2 (en) 2011-03-08 2016-05-10 Qualcomm Incorporated Harmonized scan order for coding transform coefficients in video coding
CN103597838B (zh) * 2011-04-15 2017-03-29 黑莓有限公司 对末位有效系数的位置进行编码和解码的方法和设备
MX2014000172A (es) * 2011-06-28 2014-02-19 Samsung Electronics Co Ltd Metodo y aparato para codificar video y metodo y aparato para decodificar video acompañados por una codificacion aritmetica.
US9491469B2 (en) 2011-06-28 2016-11-08 Qualcomm Incorporated Coding of last significant transform coefficient
WO2013017092A1 (en) 2011-08-04 2013-02-07 Mediatek Inc. Method and apparatus for reordered binarization of syntax elements in cabac
TWI613907B (zh) * 2011-11-08 2018-02-01 三星電子股份有限公司 用於解碼視訊的方法
CN107483944B (zh) 2011-11-08 2020-06-05 株式会社Kt 利用解码装置对视频信号进行解码的方法
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
US9654139B2 (en) * 2012-01-19 2017-05-16 Huawei Technologies Co., Ltd. High throughput binarization (HTB) method 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
US20130188736A1 (en) 2012-01-19 2013-07-25 Sharp Laboratories Of America, Inc. High throughput significance map processing for cabac in hevc
US9237344B2 (en) * 2012-03-22 2016-01-12 Qualcomm Incorporated Deriving context for last position coding for video coding
US9756327B2 (en) 2012-04-03 2017-09-05 Qualcomm Incorporated Quantization matrix and deblocking filter adjustments for video coding
KR20130112374A (ko) * 2012-04-04 2013-10-14 한국전자통신연구원 고속 인트라 예측을 위한 영상 부호화 방법 및 장치
SG10201707023VA (en) 2012-04-15 2017-10-30 Samsung Electronics Co Ltd Parameter update method for entropy coding and decoding of conversion coefficient level, and entropy coding device and entropy decoding device of conversion coefficient level using same
US9621921B2 (en) 2012-04-16 2017-04-11 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
MX2013015089A (es) 2012-05-25 2014-02-21 Panasonic Corp Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imágenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
SG10201803891XA (en) 2012-05-25 2018-07-30 Velos Media Int Ltd Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
WO2013175736A1 (ja) * 2012-05-25 2013-11-28 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および、動画像符号化復号装置
PL2858357T3 (pl) 2012-06-04 2022-11-21 Sun Patent Trust Sposób kodowania obrazów wideo, sposób dekodowania obrazów wideo
JP6788346B2 (ja) * 2012-10-01 2020-11-25 ジーイー ビデオ コンプレッション エルエルシー ベース層からの予測のための副ブロックの副分割の派生を使用するスケーラブルビデオ符号化
US10003804B2 (en) 2012-12-27 2018-06-19 Nec Corporation Video coding device using quantizing an orthogonal transform coefficient
EP3010230A4 (en) * 2013-06-11 2016-11-16 Nec Corp VIDEO CODING DEVICE, VIDEO PROCESSING AND VIDEO PROGRAM
US9445132B2 (en) * 2013-09-09 2016-09-13 Qualcomm Incorporated Two level last significant coefficient (LSC) position coding
US9215464B2 (en) * 2013-09-19 2015-12-15 Blackberry Limited Coding position data for the last non-zero transform coefficient in a coefficient group
CN104853196B (zh) * 2014-02-18 2018-10-19 华为技术有限公司 编解码方法和装置
EP3120561B1 (en) * 2014-03-16 2023-09-06 VID SCALE, Inc. Method and apparatus for the signaling of lossless video coding
JP6341756B2 (ja) * 2014-05-26 2018-06-13 キヤノン株式会社 画像処理装置、画像処理装置の制御方法
EP3306930A4 (en) * 2015-09-10 2018-05-02 Samsung Electronics Co., Ltd. Encoding device, decoding device, and encoding and decoding method thereof
CN106657961B (zh) * 2015-10-30 2020-01-10 微软技术许可有限责任公司 立体视频的混合数字-模拟编码
RU2606370C1 (ru) * 2015-12-03 2017-01-10 Общество с ограниченной ответственностью "РОБОСИВИ" (ООО "РОБОСИВИ") Способ сегментирования лазерных сканов и система для его осуществления
US10602192B2 (en) * 2016-02-04 2020-03-24 Mediatek Inc. Methods and apparatuses for performing entropy encoding and entropy decoding with size determination of at least one bitstream portion
EP3270594A1 (en) * 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for advanced cabac context adaptation for last coefficient coding
EP3509301B1 (en) 2016-08-31 2023-08-09 KT Corporation Method and device for processing video signal
US10817587B2 (en) 2017-02-28 2020-10-27 Texas Instruments Incorporated Reconfigurable matrix multiplier system and method
US10735023B2 (en) 2017-02-24 2020-08-04 Texas Instruments Incorporated Matrix compression accelerator system and method
US10810281B2 (en) 2017-02-24 2020-10-20 Texas Instruments Incorporated Outer product multipler system and method
US11086967B2 (en) 2017-03-01 2021-08-10 Texas Instruments Incorporated Implementing fundamental computational primitives using a matrix multiplication accelerator (MMA)
US10523968B2 (en) 2017-09-18 2019-12-31 Google Llc Coding of last significant coefficient flags
WO2019199838A1 (en) * 2018-04-12 2019-10-17 Futurewei Technologies, Inc. Reducing context switching for coding transform coefficients
US11128866B2 (en) 2018-10-18 2021-09-21 Qualcomm Incorporated Scans and last coefficient position coding for zero-out transforms
US11677955B2 (en) 2019-01-15 2023-06-13 Lg Electronics Inc. Image decoding method for coding residual information on basis of high frequency zeroing in image coding system, and device therefor
US20220277491A1 (en) * 2019-05-31 2022-09-01 Electronics And Telecommunications Research Institute Method and device for machine learning-based image compression using global context
KR20220024500A (ko) * 2019-07-12 2022-03-03 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
CN112449192B (zh) * 2019-08-27 2022-09-16 杭州海康威视数字技术股份有限公司 解码方法、编码方法及装置
US11785219B2 (en) 2020-04-13 2023-10-10 Qualcomm Incorporated Coefficient coding for support of different color formats in video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6775414B1 (en) * 1999-11-19 2004-08-10 Ati International Srl Variable-length code decoder

Family Cites Families (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1679903A (en) 1928-01-12 1928-08-07 Chase Appliance Corp Anticreeping device for railway rails
US5295203A (en) 1992-03-26 1994-03-15 General Instrument Corporation Method and apparatus for vector coding of video transform coefficients
JPH06205388A (ja) 1992-12-28 1994-07-22 Canon Inc 画像符号化装置
EP0607484B1 (en) 1993-01-20 1998-09-09 Samsung Electronics Co. Ltd. Method and device for encoding and decoding image data
EP1802134A3 (en) 1995-03-15 2008-12-31 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems
US5838825A (en) 1996-01-17 1998-11-17 Matsushita Electric Industrial Co., Ltd. Apparatus for decompressing image data which has been compressed using a linear transform
US5818877A (en) 1996-03-14 1998-10-06 The Regents Of The University Of California Method for reducing storage requirements for grouped data values
US6301304B1 (en) 1998-06-17 2001-10-09 Lsi Logic Corporation Architecture and method for inverse quantization of discrete cosine transform coefficients in MPEG decoders
US6553147B2 (en) 1998-10-05 2003-04-22 Sarnoff Corporation Apparatus and method for data partitioning to improving error resilience
EP1041826A1 (en) 1999-04-01 2000-10-04 Lucent Technologies Inc. Apparatus for coding data and apparatus for decoding block transform coefficients
US6680974B1 (en) 1999-12-02 2004-01-20 Lucent Technologies Inc. Methods and apparatus for context selection of block transform coefficients
US6650707B2 (en) * 2001-03-02 2003-11-18 Industrial Technology Research Institute Transcoding apparatus and method
US20020122483A1 (en) * 2001-03-02 2002-09-05 Matsushita Electric Industrial Co., Ltd. Encoding circuit and method
WO2002078355A1 (en) 2001-03-23 2002-10-03 Nokia Corporation Variable length coding
US6856701B2 (en) 2001-09-14 2005-02-15 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
EP1445955A4 (en) * 2001-11-16 2009-10-28 Ntt Docomo Inc IMAGE ENCODING METHOD, IMAGE DECODING METHOD, ENCODER AND IMAGE DECODER, PROGRAM, COMPUTER DATA SIGNAL, AND IMAGE TRANSMISSION SYSTEM
US7190840B2 (en) 2002-01-07 2007-03-13 Hewlett-Packard Development Company, L.P. Transform coefficient compression using multiple scans
JP3866580B2 (ja) 2002-01-30 2007-01-10 日本電信電話株式会社 画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム及びそれらのプログラムを記録したコンピュータ読み取り可能な記録媒体
US7099387B2 (en) 2002-03-22 2006-08-29 Realnetorks, Inc. Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses
JP4090862B2 (ja) 2002-04-26 2008-05-28 松下電器産業株式会社 可変長符号化方法および可変長復号化方法
KR100729270B1 (ko) 2002-05-02 2007-06-15 프라운호퍼-게젤샤프트 츄어 푀르더룽 데어 안게반텐 포르슝에.파우. 이미지 및/또는 비디오 인코더 및 디코더에서의변환계수를 인코딩하는 방법 및 장치, 및 이에 대응하는컴퓨터 프로그램 및 컴퓨터로 읽을 수 있는 저장매체
US7376280B2 (en) 2002-07-14 2008-05-20 Apple Inc Video encoding and decoding
US7483575B2 (en) 2002-10-25 2009-01-27 Sony Corporation Picture encoding apparatus and method, program and recording medium
US6646578B1 (en) 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
US20050036549A1 (en) 2003-08-12 2005-02-17 Yong He Method and apparatus for selection of scanning mode in dual pass encoding
US7688894B2 (en) 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US7379608B2 (en) 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
US7599435B2 (en) 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US7522774B2 (en) 2004-03-10 2009-04-21 Sindhara Supermedia, Inc. Methods and apparatuses for compressing digital image data
US20060078049A1 (en) 2004-10-13 2006-04-13 Nokia Corporation Method and system for entropy coding/decoding of a video bit stream for fine granularity scalability
NO322043B1 (no) 2004-12-30 2006-08-07 Tandberg Telecom As Fremgangsmate for forenklet entropikoding
US8311119B2 (en) * 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
US7609904B2 (en) 2005-01-12 2009-10-27 Nec Laboratories America, Inc. Transform coding system and method
JP2006211304A (ja) 2005-01-28 2006-08-10 Matsushita Electric Ind Co Ltd 映像符号化装置、映像復号化装置、映像符号化方法、映像復号化方法、映像符号化プログラムおよび映像復号化プログラム
US20060227865A1 (en) 2005-03-29 2006-10-12 Bhaskar Sherigar Unified architecture for inverse scanning for plurality of scanning scheme
EP1768415A1 (en) 2005-09-27 2007-03-28 Matsushita Electric Industrial Co., Ltd. Adaptive scan order of DCT coefficients and its signaling
US8599925B2 (en) 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US20070071331A1 (en) 2005-09-24 2007-03-29 Xiteng Liu Image compression by economical quaternary reaching method
WO2007043583A1 (ja) 2005-10-11 2007-04-19 Matsushita Electric Industrial Co., Ltd. 画像符号化装置、画像復号化装置及びこれらの方法
WO2007063472A2 (en) 2005-11-30 2007-06-07 Koninklijke Philips Electronics N.V. Encoding method and apparatus applying coefficient reordering
KR100867995B1 (ko) 2006-01-07 2008-11-10 한국전자통신연구원 동영상 데이터 인코딩/디코딩 방법 및 그 장치
US7884742B2 (en) 2006-06-08 2011-02-08 Nvidia Corporation System and method for efficient compression of digital data
US8275045B2 (en) 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
US8942292B2 (en) 2006-10-13 2015-01-27 Qualcomm Incorporated Efficient significant coefficients coding in scalable video codecs
US8098735B2 (en) 2006-12-21 2012-01-17 Lsi Corporation Efficient 8×8 CABAC residual block decode
US7369066B1 (en) 2006-12-21 2008-05-06 Lsi Logic Corporation Efficient 8×8 CABAC residual block transcode system
WO2008080516A1 (de) 2006-12-27 2008-07-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und verfahren zum kodieren eines transformationskoeffizientenblockes
DK2123052T3 (da) 2007-01-18 2011-02-28 Fraunhofer Ges Forschung Kvalitetsskalerbar videodatastrøm
KR101356733B1 (ko) 2007-03-07 2014-02-05 삼성전자주식회사 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
EP2120461B1 (en) 2007-03-14 2011-07-06 Nippon Telegraph and Telephone Corporation Code quantity estimating method and device, their program, and recording medium
US7813567B2 (en) 2007-04-26 2010-10-12 Texas Instruments Incorporated Method of CABAC significance MAP decoding suitable for use on VLIW data processors
US7885473B2 (en) 2007-04-26 2011-02-08 Texas Instruments Incorporated Method of CABAC coefficient magnitude and sign decoding suitable for use on VLIW data processors
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US8619853B2 (en) 2007-06-15 2013-12-31 Qualcomm Incorporated Separable directional transforms
US7535387B1 (en) 2007-09-10 2009-05-19 Xilinx, Inc. Methods and systems for implementing context adaptive binary arithmetic coding
US8204327B2 (en) 2007-10-01 2012-06-19 Cisco Technology, Inc. Context adaptive hybrid variable length coding
KR101394153B1 (ko) 2007-12-11 2014-05-16 삼성전자주식회사 양자화 방법 및 장치, 역양자화 방법 및 장치
US8891615B2 (en) 2008-01-08 2014-11-18 Qualcomm Incorporated Quantization based on rate-distortion modeling for CABAC coders
US8977064B2 (en) 2008-02-13 2015-03-10 Qualcomm Incorporated Rotational transcoding for JPEG or other coding standards
KR101375668B1 (ko) 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
EP2154894A1 (en) 2008-08-15 2010-02-17 Thomson Licensing Video coding with coding of the locations of significant coefficients in a block of coefficients
US7932843B2 (en) 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
EP2182732A1 (en) 2008-10-28 2010-05-05 Panasonic Corporation Switching between scans in image coding
EP2371066A4 (en) 2008-12-03 2014-06-04 Nokia Corp SWITCHING BETWEEN CODING MODES FOR DCT COEFFICIENTS
US8004431B2 (en) 2008-12-09 2011-08-23 Qualcomm Incorporated Fast parsing of variable-to-fixed-length codes
US20110249755A1 (en) 2008-12-16 2011-10-13 Youji Shibahara Moving image coding method, moving image decoding method, moving image coding apparatus, moving image decoding apparatus, program, and integrated circuit
KR20220123340A (ko) 2009-01-27 2022-09-06 인터디지털 브이씨 홀딩스 인코포레이티드 비디오 인코딩 및 디코딩에서 변환 선택을 위한 방법 및 장치
JP5004986B2 (ja) 2009-03-19 2012-08-22 キヤノン株式会社 スキャン変換装置及び画像符号化装置、並びにそれらの制御方法
JP5302769B2 (ja) 2009-05-14 2013-10-02 キヤノン株式会社 スキャン変換装置及び画像符号化装置及びそれらの制御方法
US9100648B2 (en) 2009-06-07 2015-08-04 Lg Electronics Inc. Method and apparatus for decoding a video signal
KR20100136890A (ko) 2009-06-19 2010-12-29 삼성전자주식회사 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법
US8294603B2 (en) 2009-06-30 2012-10-23 Massachusetts Institute Of Technology System and method for providing high throughput entropy coding using syntax element partitioning
WO2011007478A1 (ja) 2009-07-17 2011-01-20 日本電気株式会社 ウェーブレット変換符号化/復号方法および装置
US8619866B2 (en) 2009-10-02 2013-12-31 Texas Instruments Incorporated Reducing memory bandwidth for processing digital image data
US8477845B2 (en) 2009-10-16 2013-07-02 Futurewei Technologies, Inc. Predictive adaptive scan ordering for video coding
KR101457894B1 (ko) 2009-10-28 2014-11-05 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
KR20110045949A (ko) 2009-10-28 2011-05-04 삼성전자주식회사 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치
TW201119407A (en) 2009-11-19 2011-06-01 Thomson Licensing Method for coding and method for reconstruction of a block of an image
WO2011087908A1 (en) 2010-01-15 2011-07-21 Thomson Licensing Video coding using compressive sensing
US8588536B2 (en) 2010-02-22 2013-11-19 Texas Instruments Incorporated Guaranteed-rate tiled image data compression
WO2011126288A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image and method and apparatus for decoding image using adaptive coefficient scan order
ES2912048T3 (es) 2010-04-13 2022-05-24 Ge Video Compression Llc Codificación de mapas de significado y bloques de coeficiente de transformada
US9172968B2 (en) 2010-07-09 2015-10-27 Qualcomm Incorporated Video coding using directional transforms
RS56250B1 (sr) 2010-07-09 2017-11-30 Samsung Electronics Co Ltd Uređaj za entropijsko dekodiranje koeficijenta transformacije
US20120027081A1 (en) 2010-07-30 2012-02-02 Cisco Technology Inc. Method, system, and computer readable medium for implementing run-level coding
US9154801B2 (en) 2010-09-30 2015-10-06 Texas Instruments Incorporated Method and apparatus for diagonal scan and simplified coding of transform coefficients
US9042440B2 (en) * 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
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
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
US20120163472A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Efficiently coding scanning order information for a video block in video coding
WO2012093969A1 (en) 2011-01-07 2012-07-12 Agency For Science, Technology And Research Method and an apparatus for coding an image
US8687904B2 (en) * 2011-01-14 2014-04-01 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus which include arithmetic coding or arithmetic decoding
US8891617B2 (en) 2011-01-18 2014-11-18 Google Inc. Method and system for processing video data
US20120207400A1 (en) * 2011-02-10 2012-08-16 Hisao Sasai Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US9338449B2 (en) 2011-03-08 2016-05-10 Qualcomm Incorporated Harmonized scan order for coding transform coefficients in video coding
US8861599B2 (en) * 2011-03-08 2014-10-14 Sony Corporation Context reduction for last transform position coding
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US8861593B2 (en) 2011-03-15 2014-10-14 Sony Corporation Context adaptation within video coding modules
US8446301B2 (en) 2011-04-15 2013-05-21 Research In Motion Limited Methods and devices for coding and decoding the position of the last significant coefficient
US9491469B2 (en) 2011-06-28 2016-11-08 Qualcomm Incorporated Coding of last significant transform coefficient
MY170555A (en) 2012-01-20 2019-08-19 Ge Video Compression Llc Transform coefficient coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6775414B1 (en) * 1999-11-19 2004-08-10 Ati International Srl Variable-length code decoder

Also Published As

Publication number Publication date
EP3709519A1 (en) 2020-09-16
ES2673939T3 (es) 2018-06-26
IL226209A0 (en) 2013-07-31
EP3361641A1 (en) 2018-08-15
US20120140814A1 (en) 2012-06-07
BR112013013650B1 (pt) 2021-03-23
JP2013545415A (ja) 2013-12-19
JP5746363B2 (ja) 2015-07-08
IL226209A (en) 2017-05-29
EP3926833B1 (en) 2023-10-18
AU2011336601A1 (en) 2013-06-06
EP3926833A1 (en) 2021-12-22
US9042440B2 (en) 2015-05-26
EP2647204B1 (en) 2018-04-04
BR112013013650A2 (pt) 2016-09-13
ZA201304933B (en) 2014-03-26
US9055290B2 (en) 2015-06-09
RU2013130251A (ru) 2015-01-10
KR20130095310A (ko) 2013-08-27
KR101523452B1 (ko) 2015-05-27
EP3709519B8 (en) 2021-11-10
EP3361641B1 (en) 2020-05-20
ES2963135T3 (es) 2024-03-25
EP2647204A1 (en) 2013-10-09
SG190691A1 (en) 2013-07-31
AU2011336601B2 (en) 2015-09-24
EP3926833C0 (en) 2023-10-18
CA2818436C (en) 2016-09-13
EP3709519B1 (en) 2021-09-22
RU2541226C2 (ru) 2015-02-10
HK1185488A1 (zh) 2014-02-14
MY161436A (en) 2017-04-14
US20140341274A1 (en) 2014-11-20
CA2818436A1 (en) 2012-06-07
WO2012075193A1 (en) 2012-06-07
CN103238323A (zh) 2013-08-07

Similar Documents

Publication Publication Date Title
CN103238323B (zh) 在视频译码中基于视频块的扫描次序对块内的最后有效系数的位置进行译码
CN103299620B (zh) 在视频译码中使用最可能扫描次序对用于视频块的扫描次序信息进行有效译码
CN104025457B (zh) 用于最后有效系数位置译码的上下文最优化
CN103404144B (zh) 视频译码中的经量化脉码调制
CN103299628B (zh) 指示使用cabac用于视频译码的帧内预测模式选择
CN103262533B (zh) 指示用于视频译码的帧内预测模式选择的方法,及编解码设备
CN103238322B (zh) 在视频译码中单独地译码视频块的最后有效系数的位置
CN103477638B (zh) 用于视频译码的变换系数的译码
CN103339935B (zh) 运动向量预测
CN103190147B (zh) 用于视频译码的语法元素的联合译码方法及设备
CN103703776B (zh) 在视频译码中的系数扫描
CN103703781B (zh) 使用自适应运动向量分辨率的视频译码
CN103339936B (zh) 用于视频译码的单一参考图片列表建构
CN103797801B (zh) 视频译码中的非正方形变换单元和预测单元
CN103797802B (zh) 用于视频译码中的短距离帧内预测的线缓冲器减少
CN103636224B (zh) 用于视频压缩中的系数等级译码的上下文
CN103931182A (zh) 帧内预测视频译码中的非正方形变换
CN103329523A (zh) 使用经映射变换和扫描模式的视频译码
CN103999460A (zh) 在变换跳过模式中译码有效系数信息
CN104221380A (zh) 用于并行运动估计的共同空间候选块
CN103202016A (zh) 用于视频译码的自适应运动向量分辨率信令
CN103636208A (zh) 在视频译码中用于非正方形块的上下文自适应熵译码
CN104205835B (zh) 导出最末位置译码的上下文以供视频译码
CN103181170A (zh) 用于视频译码的变换系数的自适应扫描
CN103609123A (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: 1185488

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1185488

Country of ref document: HK

TR01 Transfer of patent right

Effective date of registration: 20171103

Address after: Dublin, Ireland

Patentee after: Verona Media International Limited

Address before: American California

Patentee before: Qualcomm Inc.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211025

Address after: California, USA

Patentee after: QUALCOMM Inc.

Address before: Ai Erlandubailin

Patentee before: Willow Media International Ltd.

TR01 Transfer of patent right