CN103262534A - 改进熵编码和解码的方法及装置 - Google Patents

改进熵编码和解码的方法及装置 Download PDF

Info

Publication number
CN103262534A
CN103262534A CN2011800604519A CN201180060451A CN103262534A CN 103262534 A CN103262534 A CN 103262534A CN 2011800604519 A CN2011800604519 A CN 2011800604519A CN 201180060451 A CN201180060451 A CN 201180060451A CN 103262534 A CN103262534 A CN 103262534A
Authority
CN
China
Prior art keywords
value
coefficient
transform coefficient
quantization transform
last
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800604519A
Other languages
English (en)
Other versions
CN103262534B (zh
Inventor
胡洋
J.索尔
吕小安
尹鹏
郑云飞
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.)
InterDigital VC Holdings Inc
Original Assignee
Thomson Licensing SAS
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=44802431&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN103262534(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Priority to CN201810367091.0A priority Critical patent/CN108419084B/zh
Publication of CN103262534A publication Critical patent/CN103262534A/zh
Application granted granted Critical
Publication of CN103262534B publication Critical patent/CN103262534B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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

Landscapes

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

Abstract

提供了一种改进熵编码和解码的方法及装置。一种装置包括:视频编码器(200),用于通过如下步骤编码画面中的至少一个块:变换该块的残差以获取变换系数;量化所述变换系数以获取量化变换系数;以及熵编码所述量化变换系数。该量化变换系数使用一个标志来编码,该标志指示正在处理的所述量化变换系数的当前一个是数值大于或等于指定值的该块的最后非零系数。

Description

改进熵编码和解码的方法及装置
交叉引用相关申请
本申请要求2010年10月14日提交的美国临时申请第61/393,195号的利益,在此通过引用并入其全部内容。
技术领域
本原理一般涉及视频编码和解码,尤其涉及改进熵编码和解码的方法及装置。
背景技术
视频编码标准采用预测和基于块变换来平衡帧内/间关联中的冗余和实现高压缩效率。而且,熵编码使编码位流达到它的熵边界并进一步提高编码效率。
熵编码在视频编码系统中的重要使用是编码作为帧内/间预测、块变换和量化之后的残差数据块的块的量化变换系数。对于这样的数据,已经开发出了范围从像哈夫曼(Huffman)编码那样的可变长度编码到算术编码的熵编码工具。现有技术的CABAC(上下文自适应二进制算术编码)实现了高编码效率,但CABAC编码过程的非系统性实现导致进行两次扫描通过来编码数据块。
CABAC是国际标准化组织/国际电工委员会(ISO/IEC)运动图像专家组-4(MPEG-4)第10部分高级视频编码(AVC)标准/国际电信联盟,电信部门(ITU-T)H.264建议书(下文称为“MPEG-4AVC标准”)中量化变换系数块的熵编码方法。CABAC在两次主要通过中编码一个块。在第一次通过中,CABAC按照正向之字形扫描次序编码该块的有效性图(significance map)。在第二次通过中,CABAC按反向之字形扫描次序编码非零值。
转到图1,CABAC编码的例子用标号100总体表示。在有效性图编码通过,即,第一次通过中,CABAC使用sig_flag和last_flag表示非零系数的位置。
在非零值的反向之字形编码中,使用两种子编码过程。在第一子编码过程中,称为Bin_1(即,第一bin)的语法用于指示非零系数是否具有1的绝对值。如果非零系数具有1的绝对值,则Bin_1=1,并发送非零系数的符号。否则,Bin_1=0,并且编码转移到第二子编码过程。在第二子编码过程中,CABAC编码与Bin_1=0相对应、绝对值大于1的系数,然后发送它们各自的符号。
CABAC的缺点是相应编码牵涉到两次扫描通过(即,编码有效性图的正向之字形扫描、和编码数值的反向之字形扫描)。另外,CABAC的设计主要针对较小块尺寸(例如,4×4和8×8)。CABAC被证明对较大块(例如,16×16,32×32,和64×64)不怎么有效。
一种现有技术的做法提出了加入一个标志来指示大于1的离散余弦变换(DCT)系数的最后位置。但是,该现有技术的做法受大于1的标志限制并仍然使用两次扫描通过。
发明内容
现有技术的这些和其他缺陷和缺点通过本原理来解决,本原理针对改进熵编码和解码的方法及装置。
按照本原理的一个方面,提供了一种装置。该装置包括通过如下步骤编码画面中的至少一个块的视频编码器:变换该块的残差以获取变换系数;量化所述变换系数以获取量化变换系数;以及熵编码所述量化变换系数。该量化变换系数使用一个标志来编码,该标志指示正在处理的所述量化变换系数的当前一个是数值大于或等于指定值的该块的最后非零系数。
按照本原理的另一个方面,提供了一种在视频编码器中的方法。该方法包括通过如下步骤编码画面中的至少一个块:变换该块的残差以获取变换系数;量化所述变换系数以获取量化变换系数;以及熵编码所述量化变换系数。该量化变换系数使用一个标志来编码,该标志指示正在处理的所述量化变换系数的当前一个是数值大于或等于指定值的该块的最后非零系数。
按照本原理的又一个方面,提供了一种装置。该装置包括通过如下步骤解码画面中的至少一个块的视频解码器:熵解码量化变换系数;逆量化所述量化变换系数以获取变换系数;以及逆变换该变换系数以获取该块的重构残差以便用在重构该块中。该量化变换系数使用一个标志来解码,该标志指示正在处理的所述量化变换系数的当前一个是数值大于或等于指定值的该块的最后非零系数。
按照本原理的再一个方面,提供了一种在视频解码器中的方法。该方法包括通过如下步骤解码画面中的至少一个块:熵解码量化变换系数;逆量化所述量化变换系数以获取变换系数;以及逆变换该变换系数以获取该块的重构残差以便用在重构该块中。该量化变换系数使用一个标志来解码,该标志指示正在处理的所述量化变换系数的当前一个是数值大于或等于指定值的该块的最后非零系数。
本原理的这些和其他方面、特征和优点将从要结合附图阅读的对示范性实施例的如下详细描述中变得显而易见。
附图说明
本原理可以依照如下示范性图形得到更好理解,在附图中:
图1是示出依照现有技术的CABAC编码的例子的图形;
图2是示出依照本原理的实施例、可以应用本原理的示范性视频编码器的方框图;
图3是示出依照本原理的实施例、可以应用本原理的示范性视频解码器的方框图;
图4是示出依照本原理的实施例、4×4尺寸的示范性被量化变换块的图形;
图5是示出依照本原理的实施例的编码过程的例子的图形;
图6是示出依照本原理的实施例、不保存Bin_1的示范性特殊情况的图形;
图7A是示出依照本原理的实施例、熵编码的示范性方法的流程图;
图7B是示出依照本原理的实施例、编码last_ge2_flag的示范性方法的流程图;
图7C是示出依照本原理的实施例、编码last_flag的示范性方法的流程图;
图7D是示出依照本原理的实施例、编码Bin_1的示范性方法的流程图;
图7E是示出依照本原理的实施例、编码level的示范性方法的流程图;
图8A是示出依照本原理的实施例、熵解码的示范性方法的流程图;
图8B是示出依照本原理的实施例、解码last_ge2_flag的示范性方法的流程图;
图8C是示出依照本原理的实施例、解码last_flag的示范性方法的流程图;
图8D是示出依照本原理的实施例、解码Bin_1的示范性方法的流程图;
图8E是示出依照本原理的实施例、解码level的示范性方法的流程图;
图9是示出依照本原理的实施例、选择和传信当前变换系数的一个数值的示范性方法的流程图;以及
图10是示出依照本原理的实施例、解码当前变换系数的一个数值的示范性方法的流程图。
具体实施方式
本原理针对改进熵编码和解码的方法及装置。
本描述例示了本原理。因此,应该懂得,本领域的普通技术人员能够设想出尽管未明确描述或显示在本文中,但体现本原理和包括在它的精神和范围之内的各种安排。
本文列举的所有例子和条件语言旨在教授的目的,以帮助读者理解本原理以及本发明人为促进技术进步而贡献的概念,并且应该理解为不局限于这样具体列举的例子和条件。
此外,本文阐述本原理的各个原理、方面和实施例及其特定例子的所有语句旨在包含其结构和功能等效物两者。另外,这样的等效物旨在包括当前已知的等效物以及未来开发的等效物,即与结构无关、开发出来执行相同功能的任何元件。
因此,例如,本领域的普通技术人员应该懂得,本文所表示的方框图代表体现本原理的例示性电路的概念图。类似地,应该懂得,任何流程图、流图、状态转变图、伪码等代表基本上可以表示在计算机可读媒体中、因此可以由计算机或处理器执行的各种进程,无论这样的计算机或处理器是否明确显示出来。
显示在图形中的各种元件的功能可以通过使用专用硬件以及能够与适当软件相联系执行软件的硬件来实现。当由处理器提供时,这些功能可以由单个专用处理器、由单个共享处理器、或由其中一些可以共享的多个单独处理器提供。此外,术语“处理器”或“控制器”的显性使用不应该理解为专门指能够执行软件的硬件,而是可以隐性地包括但不限于数字信号处理器(“DSP”)硬件、存储软件的只读存储器(“ROM”)、随机存取存储器(“RAM”)和非易失性存储体。
也可以包括传统的和/或定制的其他硬件。类似地,显示在图形中的任何开关都只是概念性的。它们的功能可以通过程序逻辑的运算、通过专用逻辑、通过程序控制和专用逻辑的交互、或甚至人工地实现,正如从上下文中更具体了解到的那样,特定的技术可由实现者选择。
在其权利要求书中,表达成执行特定功能的部件的任何元件旨在包含执行那种功能的任何方式,例如,包括a)执行那种功能的电路元件的组合,或b)任何形式的软件,因此包括与执行那种软件的适当电路结合执行该功能的固件、微码等。如这样的权利要求书定义的本原理在于以权利要求书要求的方式组合和汇集各种所列举部件提供的功能。因此,应该认为可以提供那些功能的任何部件都等效于本文所示的那些部件。
在说明书中提到本原理的“一个实施例”或“实施例”以及它的其他变体意味着结合该实施例所述的特征、结构、特性等包括在本原理的至少一个实施例中。因此,出现在整个说明书中的各个地方的措词“在一个实施例中”或“在实施例中”以及任何其他变体的出现未必都指同一实施例。
应该懂得,如下“/”、“和/或”、和“至少一个”的任何一种的使用,例如,在“A/B”、“A和/或B”、和“A和B的至少一个”的情况下,旨在包含只有第一所列选项(A)的选择,只有第二所列选项(B)的选择,或两个选项(A和B)的选择。作为进一步的例子,在“A、B、和/或C”和“A、B、和C的至少一个”的情况下,这样的措词旨在包含只有第一所列选项(A)的选择,只有第二所列选项(B)的选择,只有第三所列选项(C)的选择,只有第一和第二所列选项(A和B)的选择,只有第一和第三所列选项(A和C)的选择,只有第二和第三所列选项(B和C)的选择,或所有三个选项(A、B和C)的选择。本领域的普通技术人员容易明白,对于列出的许多项目,可以依此类推。
此外,如本文所使用,词汇“画面”和“图像”可交换使用,指的是静止图像或来自视频序列的画面。众所周知,画面可以是帧或半帧。
转到图2,可以应用本发明原理的示范性视频编码器用标号200总体表示。视频编码器200包括具有与组合器285的非反相输入端信号通信的输出端的帧排序缓冲器210。组合器285的输出端被连接成与变换器和量化器225的第一输入端信号通信。变换器和量化器225的输出端被连接成与熵编码器245的第一输入端和逆变换器和逆量化器250的第一输入端信号通信。熵编码器245的输出端被连接成与组合器290的第一非反相输入端信号通信。组合器290的输出端被连接成与输出缓冲器235的第一输入端信号通信。
编码器控制器205的第一输出端被连接成与帧排序缓冲器210的第二输入端、逆变换器和逆量化器250的第二输入端、画面类型判定模块215的输入端、宏块类型(MB类型)判定模块220的第一输入端、帧内预测模块260的第二输入端、去块滤波器265的第二输入端、运动补偿器270的第一输入端、运动估计器275的第一输入端、和参考画面缓冲器280的第二输入端信号通信。
编码器控制器205的第二输出端被连接成与补充增强信息(SEI)插入器230的第一输入端、变换器和量化器225的第二输入端、熵编码器245的第二输入端、输出缓冲器235的第二输入端、和序列参数集(SPS)和画面参数集(PPS)插入器240的输入端信号通信。
SEI插入器230的输出端被连接成与组合器290的第二非反相输入端信号通信。
画面类型判定模块215的第一输出端被连接成与帧排序缓冲器210的第三输入端信号通信。画面类型判定模块215的第二输出端被连接成与宏块类型判定模块220的第二输入端信号通信。
序列参数集(SPS)和画面参数集(PPS)插入器240的输出端被连接成与组合器290的第三非反相输入端信号通信。
逆变换器和逆量化器250的输出端被连接成与组合器219的第一非反相输入端信号通信。组合器219的输出端被连接成与帧内预测模块260的第一输入端和去块滤波器265的第一输入端信号通信。去块滤波器265的输出端被连接成与参考画面缓冲器280的第一输入端信号通信。参考画面缓冲器280的输出端被连接成与运动估计器275的第二输入端和运动补偿器270的第三输入端信号通信。运动估计器275的第一输出端被连接成与运动补偿器270的第二输入端信号通信。运动估计器275的第二输出端被连接成与熵编码器245的第三输入端信号通信。
运动补偿器270的输出端被连接成与开关297的第一输入端信号通信。帧内预测模块260的输出端被连接成与开关297的第二输入端信号通信。宏块类型判定模块220的输出端被连接成与开关297的第三输入端信号通信。开关297的第三输入端确定开关的“数据”输入(如与控制输入,即,第三输入相比)由运动补偿器270提供还是由帧内预测模块260提供。开关297的输出端被连接成与组合器219的第二非反相输入端和组合器285的反相输入端信号通信。
帧排序缓冲器210的第一输入端和编码器控制器205的输入端可作为编码器200的输入端用于接收输入画面。此外,补充增强信息(SEI)插入器230的第二输入端可作为编码器200的输入端用于接收元数据。输出缓冲器235的输出端可作为编码器200的输出端用于输出位流。
转到图3,可以应用本原理的示范性视频解码器用标号300总体表示。该视频解码器300包括具有连接成与熵解码器345的第一输入端信号通信的输出端的输入缓冲器310。熵解码器345的第一输出端被连接成与逆变换器和逆量化器350的第一输入端信号通信。逆变换器和逆量化器350的输出端被连接成与组合器325的第二非反相输入端信号通信。组合器325的输出端被连接成与去块滤波器365的第二输入端和帧内预测模块360的第一输入端信号通信。去块滤波器365的第二输出端被连接成与参考画面缓冲器380的第一输入端信号通信。参考画面缓冲器380的输出端被连接成与运动补偿器370的第二输入端信号通信。
熵解码器345的第二输出端被连接成与运动补偿器370的第三输入端、去块滤波器365的第一输入端、和帧内预测器360的第三输入端信号通信。熵解码器345的第三输出端被连接成与解码器控制器305的输入端信号通信。解码器控制器305的第一输出端被连接成与熵解码器345的第二输入端信号通信。解码器控制器305的第二输出端被连接成与逆变换器和逆量化器350的第二输入端信号通信。解码器控制器305的第三输出端被连接成与去块滤波器365的第三输入端信号通信。解码器控制器305的第四输出端被连接成与帧内预测模块360的第二输入端、运动补偿器370的第一输入端、和参考画面缓冲器380的第二输入端信号通信。
运动补偿器370的输出端被连接成与开关397的第一输入端信号通信。帧内预测模块360的输出端被连接成与开关397的第二输入端信号通信。开关397的输出端被连接成与组合器325的第一非反相输入端信号通信。
输入缓冲器310的输入端可作为解码器300的输入端用于接收输入位流。去块滤波器365的第一输出端可作为解码器300的输出端用于输出输出画面。
如上所述,本原理针对改进视频编码和解码的方法及装置。有利的是,本原理克服了CABAC的非系统性弱点。本原理还使用了二进制算术编码机,但利用了节省二进制bins的系统性编码过程,这减少了在编码器和解码器两者中对二进制算术编码机的使用。借助于这种系统性编码方法和减少的二进制bins,超过现有技术CABAC系统地实现了更简单编码系统和更高压缩效率。
因此,本原理针对利用较少语法bins的系数块的系统性熵编码。系统地,当按给定扫描次序寻找(或处理)系数值时,我们编码系数值。具体地说,我们使用“有效性标志(sig_flag)”来指示零和非零系数。对于非零,我们使用“大于或等于2的最后系数(last_ge2_flag)”和“最后标志(last_flag)”来分别指示左位置集合是否包括“大于或等于2(ge2)”的大量非零系数和有效系数。每当找到或通过sig_flag(sig_flag=1)指示有效系数时,就马上编码它的数值。这对于本原理的做法有三方面好处:
(1)在一次扫描中编码整个块,这使系统更简单。
(2)减少了二进制bins,因此在编码器和解码器上节省了一些二进制算术编码运算。
(3)相邻编码系数的电平(level)信息可用于为像sig_flag、last_flag、last_ge2_flag那样的语法、和电平bins设计上下文模型。
因此,所公开和所述的熵编码系统是比现有技术的系统更简单和更有效的熵编码系统。
在视频编码系统中,利用帧内或帧间预测处理原始数据,以便消除帧内或帧间关联,然后利用像4×4、8×8、16×16、32×32、和64×64DCT那样的基于块变换(或一些其他变换)加以处理,以便进一步消除关联。然后,将量化应用于变换块中的系数。在一个实施例中,最后进行熵编码来编码每个变换块的量化系数,以便为输出流提供它们。
转到图4,4×4的示范性量化变换块用标号400总体表示。在预测、变换和量化之后,一个块中的大部分能量集中在低频位置(处在变换块的左上角)中,而大多数高频系数(处在块的右下角)都是零。为了熵编码这样的数据块,我们需要用二进制bins有效地表达包括系数值和它们在块内的位置的块信息。然后,利用二进制算术编码机编码二进制bins。
为了用二进制bins表达块信息,我们使用如下语法。为了易于描述起见,一些语法元素从像CABAC那样的现有方法中借用过来。另外,按如下引入新的语法元素来实现本原理:
·Sig_flag:它被定义成与CABAC中相同。Sig_flag=1意味着相应系统是非零(有效)。Sig_flag=0意味着相应系统是零。
·Last_ge2_flag:它是依照本原理引入的新语法元素,用于指示当前非零系数是否是按给定扫描次序当前块中绝对值大于1的最后系数。表达“ge2”来自“大于或等于2”。Last_ge2_flag=1意味着当前非零系数是最后这样的系数。Last_ge2_flag=0意味着当前非零系数不是最后这样的系数。
·Last_flag:它被定义成与CABAC中相同。Last_flag意味着当前非零系数是否是按给定扫描次序当前块中的最后一个。Last_flag=1意味着当前非零系数是最后这样的一个。Last_flag=0意味着当前非零系数不是最后这样的一个。
·Bin_1:当已知系数非零,但不知道其绝对值是1还是大于1(ge2)时,发送Bin_1来澄清它。Bin_1=1意味着非零系数具有1的绝对值。Bin_1=0意味着非零系数具有大于1(ge2)的绝对值。注意,我们使用Bin_1来指示系数具有1或大于1的绝对值,而不是将这个信息编码成像2、3、或更大值那样的其他系数值。这是因为在典型的数据块中,大约一半非零具有1的绝对值,因此特别地处理它们更有效。
·Level:当已知系数具有大于1(ge2)的绝对值时,我们发送其等于绝对值的电平。这个电平原来不是二进制的,因此,我们使用像,例如,但不限于,用在CABAC中的UEG0方法那样的某种二进制化方法将它们二进制化,然后我们利用二进制算术编码来编码这些二进制bins。
·Sign:对于每个非零系数,对“+”和“-”分别发送像0或1那样的符号。
转到图5,编码过程的一个例子用标号500总体表示。编码过程500针对图4中的示范性块400的编码来描述。我们按给定扫描次序,例如,CABAC中的正向之字形扫描来扫描数据。在图5的第一行中给出了重排系数。
ο对于第一系数“10”,它是非零的(sig_flag=1),并且不是最后ge2(last_ge2_flag=0)。为了编码它的值,首先发送Bin_l=0以指示它的绝对值大于1。然后编码它的绝对值以及level。这里只编码10-2=8,解码器知道绝对值应该是8+2=10。最后,利用0发送它的符号“+”。
ο对于第二系数“0”,sig_flag=0。然后发送有关这个系数的所有信息,然后编码器转去处理下一个系数。
о对于下一个系数“-1”,它是非零的(sig_flag=1),并且不是最后ge2(last_ge2_flag=0)。为了编码它的值,发送Bin_l=1以指示它的绝对值是1。然后无需处理level。最后,利用1发送它的符号“-”。
о对于下一个系数“2”,它是非零的(sig_flag=1),并且是最后ge2(last_ge2_flag=1)。在last_ge2_flag=1之后,我们需要发送last_flag来指示当前系数是否是最后非零系数。这时,它不是最后非零系数,因此last_flag=0。注意,last_ge2_flag=1在这里隐性地指示这个系数必然具有大于1的绝对值(即,它必然是ge2),因此节省了Bin_l=0。我们通过编码2-2=0发送它的绝对值以及level,然后解码器知道绝对值是0+2=2。最后,利用0发送它的符号“+”。
о对于下一个系数“0”,sig_flag=0。
о对于下一个系数“1”,它是非零的(sig_flag=1),并且不是最后非零系数(last_flag=0)。在last_ge2_flag=1之后,所有有效系数都必然具有1的绝对值,因此我们再不需要编码它的绝对值以及Bin_l或level。我们只利用0发送它的符号“+”。
о对于下一个系数“0”,sig_flag=0。
о对于下一个系数“-1”,它是非零的(sig_flag=1),并且是最近非零(last_flag=1)。在我们利用1发送它的符号“-”之后,这个块的编码就完成了。
从上面的编码例子中我们可以看出,所述实施例的至少一个新方面是使用了last_ge2_flag。存在last_ge2_flag的几方面优点,至少包括如下:
1.last_ge2_flag节省了一些last_flag。如果last_ge2_flag=0,则在随后扫描位置中必然存在非零(尤其大于1)系数。然后,last_flag必然是0,因此我们节省这些last_flag直到last_ge2_flag=1。
将编码相同示范性块与CABAC和提出的方法相比较。在图1中,利用CABAC编码块需要5个等于00001的last_flag,而在图5中,利用新方法编码相同块需要3个last_ge2_flag(001)和3个last_flag(001)。假设一个块中有N个非零系数,则CABAC需要N个last_flag,而新方法总共需要N+1个last_ge2_flag和last_flag。与接下来通过last_ge2_flag节省两个相比,这里这一个额外标志是相当值得的。
2.在扫描路径的末端,非常有可能观察到相继的所谓拖尾1(trailingones)、即绝对值等于1的变换系数电平的出现。对于图5中的例子,存在五个有效系数:10、-1、2、1、-1,以及末端上的“1”和“-1”是拖尾1。对于CABAC中的拖尾1,Last_ge2_flag节省了Bin_1。在Last_ge2_flag=1之后,如果一些系数被表示成非零,则它们必然具有1的绝对值。在CABAC编码中它们实际上是拖尾1。在CABAC中,每个这样的拖尾1都需要一个Bin_1来指示它是1(而不是ge2)。由于我们用Last_ge2_flag=1隐性地指示它们,所以这里节省了用于拖尾1的Bin_1。在大变换块中,存在相当大量的拖尾1,这里的节省是有意义的。
3.对于非拖尾1,Last_ge2_flag节省了其他Bin_l。当Last_ge2_flag在某个系数上从0变换成1时,该系数必然是ge2(即,该系数具有大于1的绝对值),因此无需发送必然是0的Bin_l。一个例子是图1中的编码例子的系数2。
这样节省Bin_1只存在于Last_ge2_flag从0变换成1的块中。也就是说,存在不止一个为该块发送的Last_ge2_flag。假设为该块只发送了一个Last_ge2_flag,则它必然是1,以及相应系数可以具有1或ge2的绝对值。在图6中提供了一些示范性情况,其中系数按某种给定扫描次序排列。
转到图6,不保存Bin_1的示范性特殊情况用标号600总体表示。此外,我们注意到,存在四种特殊情况,每一种被分别表示成情况1、情况2、情况3和情况4。在情况1和2中,所有有效系数的绝对值都小于2。在情况3和4中,只有第一有效系数具有大于1的绝对值。在所有情况中,在第一有效系数上将Last_ge2_flag设置成1,因此对于last_ge2_flag,没有“从0变成1”,只有一个bin用于last_ge2_flag。因此,具有last_ge2_flag=1的系数可以是1(像在情况1和2中那样)或大于1(像在情况3和4中那样),这可以通过Bin_1来指示。在情况1和2中,第一有效系数“1”具有last_ge2_flag=1和Bin_1=1。在情况3和4中,第一有效系数2(或更一般地说,大于或等于2)具有last_ge2_flag=1和Bin_1=0。也就是说,当一个块的last_ge2_flag只包括必然是1的一个bin时,需要编码相应Bin_1。
转到图7A,熵编码的示范性方法用标号700总体表示,该方法包括将控制交给判定框701的开始框712。判定框701确定在一个块中是否存在有效系数。如果是,则将控制交给功能框702。否则,将控制交给结束框799。功能框702设置last_ge2_flag=0和last_flag=0,并将控制交给功能框703。如果last_flag=0,则功能框703使用变量j开始循环,变量j具有从第1到第(#)系数的范围,并将控制交给功能框704。功能框704编码sig_flag,并将控制交给功能框705。判定框705确定sig_flag=1是否成立。如果是,则将控制交给功能框706。否则,将控制交给循环限制框711。如果需要的话,功能框706编码last_ge2_flag,并将控制交给功能框707。如果需要的话,功能框707编码last_flag,并将控制交给功能框708。如果需要的话,功能框708编码Bin_1,并将控制交给功能框709。如果需要的话,功能框709编码level,并将控制交给功能框710。功能框710编码sign,并将控制交给循环限制框711。循环限制框711结束该循环,并将控制交给结束框799。
关于功能框703,我们按某种扫描次序对块中的系数循环。在具有last_flag=1的系数之后,无需对系数循环。关于判定框705,如果sig_flag=1(有效),则我们通过方框706-710进一步编码系数。否则,我们对下一个系数循环。关于功能框706,该功能框处理last_ge2_flag,注意,last_ge2_flag的处理将参照图7B作进一步描述。关于功能框707,该功能框处理last_flag,注意,last_flag的处理将参照图7C作进一步描述。关于功能框708,该功能框处理Bin_1,注意,Bin_1的处理将参照图7D作进一步描述。关于功能框709,该功能框处理level,注意,level的处理将参照图7E作进一步描述。
转到图7B,编码last_ge2_flag的示范性方法用标号720总体表示。该方法720包括将控制交给判定框721的开始框719。判定框721确定last_ge2_flag=0是否成立。如果是,则将控制交给判定框722。否则,将控制交给结束框798。判定框722确定在当前系数之后是否存在大于1的系数。如果是,则将控制交给功能框723。否则,将控制交给功能框724。功能框723设置last_ge2_flag=0,并将控制交给判定框725。功能框724设置last_ge2_flag=1,并将控制交给判定框725。判定框725确定当前扫描位置是否是最后扫描位置。如果是,则将控制交给结束框798。否则,将控制交给功能框726。功能框726编码last_ge2_flag,并将控制交给结束框798。
转到图7C,编码last_flag的示范性方法用标号730总体表示。该方法730包括将控制交给判定框731的开始框729。判定框731确定last_ge2_flag=1是否成立。如果是,则将控制交给判定框732。否则,将控制交给结束框797。判定框732确定在当前系数之后是否存在有效系数。如果是,则将控制交给功能框733。否则,将控制交给功能框734。功能框733设置last_flag=0,并将控制交给判定框735。功能框734设置last_flag=1,并将控制交给判定框735。判定框735确定当前扫描位置是否是最后扫描位置。如果是,则将控制交给结束框797。否则,将控制交给功能框736。功能框736编码last_flag,并将控制交给结束框797。
转到图7D,编码Bin_1的示范性方法用标号740总体表示。该方法740包括将控制交给判定框741的开始框739。判定框741确定(last_ge2_flag=0)是否成立或(对于作为块中的第一有效系数的当前系数,last_ge2_flag=1是否成立)。如果是,则将控制交给判定框742。否则,将控制交给结束框796。判定框742确定变换系数的绝对值是否是1(Abs(currCoeff)=1是否成立)。如果是,则将控制交给功能框743。否则,将控制交给功能框744。功能框743设置Bin_1=1,并将控制交给功能框745。功能框744设置Bin_1=0,并将控制交给功能框745。功能框745编码Bin_1,并将控制交给结束框796。
转到图7E,编码level的示范性方法用标号750总体表示。该方法750包括将控制交给判定框751的开始框749。判定框751确定变换系数的绝对值大于或等于2(Abs(currCoeff)>=2)是否成立。如果是,则将控制交给功能框752。否则,将控制交给结束框795。功能框752编码level,其中level=Abs(currCoeff)-2,并将控制交给结束框795。
方法700中的编码次序与图1中的例子的编码次序相同。但是,该编码次序对于方框706~710来说是灵活的,只要满足如下准则即可:
оLast_ge2_flag(由功能框706)在Bin_l(由功能框708)之前处理,以及Bin_l(由功能框708)在level(由功能框709)之前处理。也就是说。706→708→709。
оLast_flag(由功能框707)的处理可以接在功能框706、708或709之后。
оsign(由功能框710)的处理可以在四个功能框706、707、708、709的任何一个之前或之后完成。
о解码器中的处理次序必须与编码器中的处理次序匹配。
注意,当编码块中的最后扫描位置中的系数时,要作特殊处理。
о在方法720中,如果last_ge2_flag在最后系数之前仍然是0,则对于最后系数,last_ge2_flag必然是1,因此无需编码last_ge2_flag。
о在方法730中,类似地,如果last_flag在最后系数之前仍然是0,则对于最后系数,last_flag必然是1,因此无需编码last_flag。
оBin_l(740):关于功能框741,如果对于最后系数,通过功能框724将last_ge2_flag设置成1(但无需通过功能框726编码和发送),并且是块中的第一有效系数,则应该按照方框742-745测试和编码Bin_l。
о如果需要的话,应该编码level信息(按照方框709)。
转到图8A,熵解码的示范性方法用标号800总体表示,该方法800包括将控制交给判定框801的开始框819。判定框801确定在一个块中是否存在有效系数。如果是,则将控制交给功能框802。否则,将控制交给结束框899。功能框802设置last_ge2_flag=0和last_flag=0,并将控制交给功能框803。如果last_flag=0,则功能框803使用变量j开始循环,变量j具有从第1到第(#)系数的范围,并将控制交给功能框804。功能框804解码sig_flag,并将控制交给功能框805。判定框805确定sig_flag=1是否成立。如果是,则将控制交给功能框806。否则,将控制交给循环限制框811。如果需要的话,功能框806解码last_ge2_flag,并将控制交给功能框807。如果需要的话,功能框807解码last_flag,并将控制交给功能框808。如果需要的话,功能框808解码Bin_1,并将控制交给功能框809。如果需要的话,功能框809解码level,并将控制交给功能框810。功能框810解码sign,并将控制交给循环限制框811。循环限制框811结束该循环,并将控制交给结束框899。
关于功能框803,我们按与编码器相同的扫描次序对块中的系数循环。在具有last_flag=1的系数之后,无需对系数循环。关于功能框806,该功能框处理last_ge2_flag,注意,last_ge2_flag的处理将参照图8B作进一步描述。关于功能框807,该功能框处理last_flag,注意,last_flag的处理将参照图8C作进一步描述。关于功能框808,该功能框处理Bin_1,注意,Bin_1的处理将参照图8D作进一步描述。关于功能框809,该功能框处理level,注意,level的处理将参照图8E作进一步描述。
要懂得的是,在一个实施例中,方法800的解码次序与方法700的编码次序匹配。但是,该解码次序对于功能框806-810来说是灵活的,只要与与其有关的编码次序匹配即可。
转到图8B,解码last_ge2_flag的示范性方法用标号820总体表示。该方法820包括将控制交给判定框821的开始框812。判定框812确定last_ge2_flag=0是否成立。如果是,则将控制交给判定框822。否则,将控制交给结束框898。判定框822确定当前扫描位置是否是最后扫描位置。如果是,则将控制交给功能框823。否则,将控制交给功能框824。功能框823设置last_ge2_flag=1,并将控制交给结束框898。功能框724解码last_ge2_flag,并将控制交给结束框898。
转到图8C,解码last_flag的示范性方法用标号830总体表示。该方法830包括将控制交给判定框831的开始框825。判定框831确定last_ge2_flag=1是否成立。如果是,则将控制交给判定框832。否则,将控制交给结束框897。判定框832确定当前扫描位置是否是最后扫描位置。如果是,则将控制交给结束框897。否则,将控制交给功能框833。功能框833解码last_flag,并将控制交给结束框897。
转到图8D,解码Bin_1的示范性方法用标号840总体表示。该方法840包括将控制交给功能框841的开始框834。功能框841设置Bin_1=1,并将控制交给判定框842。判定框842确定(last_ge2_flag=0)是否成立或(对于作为块中的第一有效系数的当前系数,last_ge2_flag=1是否成立)。如果是,则将控制交给功能框843。否则,将控制交给结束框896。功能框843解码Bin_1,并将控制交给结束框896。
转到图8E,解码level的示范性方法用标号850总体表示。该方法850包括将控制交给判定框851的开始框844。判定框851确定(Bin_1=0)是否成立或(对于不是块中的第一有效系数的当前系数,last_ge2_flag=1是否成立)。如果是,则将控制交给功能框852。否则,将控制交给功能框853。功能框852解码level,将当前系数的绝对值设置成level+2(Abs(currCoeff)=level+2),并将控制交给结束框895。功能块853将当前系数的绝对值设置成1(abs(currCoeff))=1。并将控制交给结束框895。
注意,当解码块中的最后扫描位置中的系数时,要作特殊处理。
о在方法820中,如果last_ge2_flag在最后系数之前仍然是0,则对于最后系数,last_ge2_flag必然是1,因此无需解码last_ge2_flag。而是,仅仅按照方框823设置成1。
о在方法830中,类似地,如果last_flag在最后系数之前仍然是0,则对于最后系数,last_flag必然是1,因此无需解码last_flag。
оBin_l(按方法840):关于功能框842,如果对于最后系数,在823中将last_ge2_flag设置成1(但无需通过功能框824解码),并且是块中的第一有效系数,则应该通过功能框843解码Bin_l。
оlevel(按方法850):在851中,如果Bin_1=0或如果对于最后系数,通过方框823将last_ge2_flag设置成1(但无需通过功能框824解码),以及最后系数不是第一有效系数,则应该通过功能框852解码level。否则,通过功能框853将这个最后系数的绝对值设置成1。
所提方法的另一个优点是在像sig_flag、last_flag等那样的其他语法的相同扫描通过中编码系数电平。在CABAC中,以可以看作编码一个块的第二次通过的反向之字形扫描次序编码系数电平信息。在这种反向之字形次序编码中,可以利用利用编码系数的反向之字形位置设计的上下文模型编码电平信息。具体地说,利用上下文模型0(以反向之字形次序)编码第一编码系数,利用上下文模型1编码第二编码系数,依此类推。这种上下文模型设计与利用等概率(0.5/0.5)模型(即,每个bin1位地直接输出bins)编码电平bins相比呈现一些好处。
在单次通过编码方法中利用适当设计的上下文模型可以容易地补偿这种小损失。给定编码系数的系数电平信息,可以根据来自它们的编码邻居的已知电平信息设计sig_flag、last_ge2_flag、last_flag、Bin_1和level的上下文模型,以便进一步提高上下文模型的性能和达到更高编码效率。
转到图9,选择和传信当前变换系数的一个数值的方法用标号900总体表示。方法900包括将控制交给功能框910的开始框905。功能框910输入画面和一组数值,并将控制交给功能框920。功能框920根据以前处理的块或画面的统计值自适应地选择一个数值,并将控制交给功能框930。功能框930在序列级别、帧级别、切片级别、或块级别上显性地传信所选数值,并将控制交给结束框999。
转到图10,解码当前变换系数的一个数值的示范性方法用标号1000总体表示。方法1000包括将控制交给功能框1010的开始框1005。功能框1010在序列级别、帧级别、切片级别、或块级别上解码所选数值,并将控制交给结束框1099。
因此,本原理有利地提供了系统性地编码量化变换块的改进熵编码和解码的方法及装置。至少存在两种与这种做法相联系的新颖性。首先,引入的last_ge2_flag减少了要在编码器和解码器中二进制算术编解码的二进制bins,因此实现了更简单的系统。其次,利用其他语法以相同扫描次序编码系数值信息使块的熵编码在一次扫描通过中完成。该数值信息可以用于改进语法的上下文模型,以便进一步达到较高编码效率。
要懂得的是,last_ge2_flag仅仅是一个实施例。本领域的普通技术人员可明显看出,该标志可替代地可以称为last_geX_flag,其中X是任何数字。
现在对其中一些上面已经提及的本发明的许多附带优点/特征的一些加以描述。例如,一个优点/特征是一种含有视频编码器的装置,该视频编码器用于通过如下步骤编码画面中的至少一个块:变换该块的残差以获取变换系数;量化所述变换系数以获取量化变换系数;以及熵编码所述量化变换系数。该量化变换系数在单次通过中使用一个标志来编码,该标志指示正在处理的所述量化变换系数的当前一个是数值大于或等于指定值的该块的最后非零系数。
另一个优点/特征是如上所述的含有视频编码器的装置,其中该指定值是2。
又一个优点/特征是如上所述的含有视频编码器的装置,其中量化变换系数当中数值小于指定值的随后非零系数通过只编码数值小于指定值的随后非零系数的各自符号来编码。
再一个优点/特征是如上所述的含有视频编码器的装置,其中该指定值选自多个数值。
此外,另一个优点/特征是如上所述的指定值选自多个数值的含有视频编码器的装置,其中该画面是包括在视频序列中的多个画面之一,以及响应从该画面中或视频序列中的多个画面当中的一个或多个其他画面中的以前处理过块中导出的统计值自适应地选择指定值。
进一步,另一个优点/特征是如上所述的含有视频编码器的装置,其中显性地传信该指定值。
此外,另一个优点/特征是如上所述的含有视频编码器的装置,其中在序列级别、帧级别、切片级别、和块级别的至少一个上显性地传信该指定值。
另外,另一个优点/特征是如上所述的含有视频编码器的装置,其中量化变换系数的当前一个的电平通过如下步骤来编码:从量化变换系数的当前一个的实际值中减去指定值以获取差值;以及编码该差值作为电平,以便在相应解码器上通过将差值与指定值相加再现该电平。
此外,另一个优点/特征是如上所述的含有视频编码器的装置,其中至少sig_flag语法元素、标志、last_flag语法元素、Bin_l语法元素、level语法元素、和sign语法元素在相同扫描次序中编码,sig_flag语法元素用于指示量化变换系数的当前一个是否具有非零值,last_flag语法元素用于指示具有非零值的量化变换系数的当前一个是否是在给定扫描次序中该块中具有非零值的最后量化变换系数,Bin_l语法元素用于指示量化变换系数的当前一个的绝对值具有当前未知的非零值,level语法元素用于当量化变换系数的当前一个具有大于指定值的绝对值时指示量化变换系数的当前一个的绝对值,以及sign语法元素用于指示量化变换系数的当前一个的相应符号。
相关领域的普通技术人员可以根据本文的教导轻易地弄清本原理的这些和其他特征和优点。应该明白,本原理的教导可以以硬件、软件、固件、专用处理器、或它们的组合的各种形式实现。
最优选的是,将本原理的教导实现成硬件和软件的组合。此外,软件可以实现成有形地具体化在程序存储单元上的应用程序。应用程序可以上载到包含任何适用结构的机器上并由它执行。优选的是,在含有像一个或多个中央处理单元(“CPU”)、随机存取存储器(“RAM”)、和输入/输出(“I/O”)接口那样的硬件的计算机平台上实现该机器。该计算机平台还可以包括操作系统和微指令代码。本文所述的各种过程和功能可以是可由CPU执行的部分微指令代码或部分应用程序,或它们的任何组合。另外,像附加数据存储单元和打印单元那样的各种其他外围单元可以与计算机平台连接。
还应该明白,因为描绘在附图中的一些分系统部件和方法最好用软件实现,所以系统部件或过程功能块之间的实际连接可能随编程本原理的方式而异。给定本文的教导,相关领域的普通技术人员能够设想出本原理的这些和类似实现或配置。
尽管本文参考附图描述了一些例示性实施例,但应该明白,本原理不局限于那些确切实施例,相关领域的普通技术人员可以不偏离本原理的精神或范围地实施各种改变和修改。所有这样的改变和修改都意欲包括在如所附权利要求书所述的本原理的范围之内。

Claims (33)

1.一种装置,其包含:
视频编码器(200),用于通过如下步骤编码画面中的至少一个块:变换该块的残差以获取变换系数;量化所述变换系数以获取量化变换系数;以及熵编码所述量化变换系数,其中该量化变换系数使用一个标志来编码,该标志指示正在处理的所述量化变换系数的当前一个是数值大于或等于指定值的该块的最后非零系数。
2.如权利要求1所述的装置,其中该指定值是2。
3.如权利要求1所述的装置,其中量化变换系数当中数值小于指定值的随后非零系数通过只编码数值小于指定值的随后非零系数的各自符号来编码。
4.如权利要求1所述的装置,其中该指定值选自多个数值。
5.如权利要求4所述的装置,其中该画面是包含在视频序列中的多个画面之一,以及响应从该画面中或视频序列中的多个画面当中的一个或多个其他画面中的以前处理过块中导出的统计值自适应地选择指定值。
6.如权利要求1所述的装置,其中显性地传信该指定值。
7.如权利要求1所述的装置,其中在序列级别、帧级别、切片级别、和块级别的至少一个上显性地传信该指定值。
8.如权利要求1所述的装置,其中量化变换系数的当前一个的电平通过如下步骤来编码:从量化变换系数的当前一个的实际值中减去指定值以获取差值;以及编码该差值作为电平,以便在相应解码器上通过将差值与指定值相加再现该电平。
9.如权利要求1所述的装置,其中至少sig_flag语法元素、标志、last_flag语法元素、Bin_l语法元素、level语法元素、和sign语法元素在相同扫描次序中编码,其中sig_flag语法元素用于指示量化变换系数的当前一个是否具有非零值,last_flag用于指示具有非零值的量化变换系数的当前一个是否是在给定扫描次序中该块中具有非零值的最后量化变换系数,Bin_l语法元素用于指示量化变换系数的当前一个的绝对值具有当前未知的非零值,level语法元素用于当量化变换系数的当前一个具有大于指定值的绝对值时指示量化变换系数的当前一个的绝对值,以及sign语法元素用于指示量化变换系数的当前一个的相应符号。
10.一种在视频编码器中的方法,其包含:
通过如下步骤编码画面中的至少一个块:变换该块的残差以获取变换系数;量化所述变换系数以获取量化变换系数;以及熵编码所述量化变换系数,其中该量化变换系数使用一个标志来编码,该标志指示正在处理的所述量化变换系数的当前一个是数值大于或等于指定值的该块的最后非零系数(200,700)。
11.如权利要求10所述的方法,其中该指定值是2(751)。
12.如权利要求10所述的方法,其中量化变换系数当中数值小于指定值的随后非零系数通过只编码数值小于指定值的随后非零系数的各自符号来编码(710,721,731,741,751)。
13.如权利要求10所述的方法,其中该指定值选自多个数值(910,920)。
14.如权利要求13所述的方法,其中该画面是包含在视频序列中的多个画面之一,以及响应从该画面中或视频序列中的多个画面当中的一个或多个其他画面中的以前处理过块中导出的统计值自适应地选择指定值(920)。
15.如权利要求10所述的方法,其中显性地传信该指定值(930)。
16.如权利要求10所述的方法,其中在序列级别、帧级别、切片级别、和块级别的至少一个上显性地传信该指定值(930)。
17.如权利要求10所述的方法,其中量化变换系数的当前一个的电平通过如下步骤来编码:从量化变换系数的当前一个的实际值中减去指定值以获取差值;以及编码该差值作为电平,以便在相应解码器上通过将差值与指定值相加再现该电平(752)。
18.如权利要求10所述的方法,其中至少sig_flag语法元素、标志、last_flag语法元素、Bin_l语法元素、level语法元素、和sign语法元素在相同扫描次序中编码,其中sig_flag语法元素用于指示量化变换系数的当前一个是否具有非零值,last_flag用于指示具有非零值的量化变换系数的当前一个是否是在给定扫描次序中该块中具有非零值的最后量化变换系数,Bin_l语法元素用于指示量化变换系数的当前一个的绝对值具有当前未知的非零值,level语法元素用于当量化变换系数的当前一个具有大于指定值的绝对值时指示量化变换系数的当前一个的绝对值,以及sign语法元素用于指示量化变换系数的当前一个的相应符号。
19.一种装置,其包含:
视频解码器(300),用于通过如下步骤解码画面中的至少一个块:熵解码量化变换系数;逆量化所述量化变换系数以获取变换系数;以及逆变换该变换系数以获取该块的重构残差以便用在重构该块中,其中该量化变换系数使用一个标志来解码,该标志指示正在处理的所述量化变换系数的当前一个是数值大于或等于指定值的该块的最后非零系数。
20.如权利要求19所述的装置,其中该指定值是2。
21.如权利要求19所述的装置,其中量化变换系数当中数值小于指定值的随后非零系数通过只解码数值小于指定值的随后非零系数的各自符号来解码。
22.如权利要求19所述的装置,其中显性地确定该指定值。
23.如权利要求19所述的装置,其中从序列级别、帧级别、切片级别、和块级别的至少一个中显性地确定该指定值。
24.如权利要求19所述的装置,其中量化变换系数的当前一个的电平通过如下步骤来解码:解码量化变换系数的当前一个的实际值与指定值之间事先确定的差值;以及将该差值与该指定值相加来获取该电平。
25.如权利要求19所述的装置,其中至少sig_flag语法元素、标志、last_flag语法元素、Bin_l语法元素、level语法元素、和sign语法元素在相同扫描次序中编码,其中sig_flag语法元素用于指示量化变换系数的当前一个是否具有非零值,last_flag用于指示具有非零值的量化变换系数的当前一个是否是在给定扫描次序中该块中具有非零值的最后量化变换系数,Bin_l语法元素用于指示量化变换系数的当前一个的绝对值具有当前未知的非零值,level语法元素用于当量化变换系数的当前一个具有大于指定值的绝对值时指示量化变换系数的当前一个的绝对值,以及sign语法元素用于指示量化变换系数的当前一个的相应符号。
26.一种在视频解码器中的方法,其包含:
通过如下步骤解码画面中的至少一个块:熵解码量化变换系数;逆量化所述量化变换系数以获取变换系数;以及逆变换该变换系数以获取该块的重构残差以便用在重构该块中,其中该量化变换系数使用一个标志来解码,该标志指示正在处理的所述量化变换系数的当前一个是数值大于或等于指定值的该块的最后非零系数(300,800)。
27.如权利要求26所述的方法,其中该指定值是2(802)。
28.如权利要求26所述的方法,其中量化变换系数当中数值小于指定值的随后非零系数通过只解码数值小于指定值的随后非零系数的各自符号来解码(810,821,831,842,851)。
29.如权利要求26所述的方法,其中显性地确定该指定值(1005)。
30.如权利要求26所述的方法,其中从序列级别、帧级别、切片级别、和块级别的至少一个中显性地确定该指定值(1005)。
31.如权利要求26所述的装置,其中量化变换系数的当前一个的电平通过如下步骤来解码:解码量化变换系数的当前一个的实际值与指定值之间事先确定的差值;以及将该差值与该指定值相加来获取该电平(852)。
32.如权利要求26所述的装置,其中至少sig_flag语法元素、标志、last_flag语法元素、Bin_l语法元素、level语法元素、和sign语法元素在相同扫描次序中编码,其中sig_flag语法元素用于指示量化变换系数的当前一个是否具有非零值,last_flag用于指示具有非零值的量化变换系数的当前一个是否是在给定扫描次序中该块中具有非零值的最后量化变换系数,Bin_l语法元素用于指示量化变换系数的当前一个的绝对值具有当前未知的非零值,level语法元素用于当量化变换系数的当前一个具有大于指定值的绝对值时指示量化变换系数的当前一个的绝对值,以及sign语法元素用于指示量化变换系数的当前一个的相应符号。
33.一种含有编码在上面的视频信号数据的计算机可读存储介质,其包含:
通过如下步骤编码的画面中的至少一个块:变换该块的残差以获取变换系数;量化所述变换系数以获取量化变换系数;以及熵编码所述量化变换系数,其中该量化变换系数使用一个标志来编码,该标志指示正在处理的所述量化变换系数的当前一个是数值大于或等于指定值的该块的最后非零系数。
CN201180060451.9A 2010-10-14 2011-10-06 改进熵编码和解码的方法及装置 Active CN103262534B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810367091.0A CN108419084B (zh) 2010-10-14 2011-10-06 改进熵编码和解码的方法、装置及存储介质

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US39319510P 2010-10-14 2010-10-14
US61/393,195 2010-10-14
PCT/US2011/055047 WO2012051033A1 (en) 2010-10-14 2011-10-06 Method and apparatus for improved entropy encoding and decoding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810367091.0A Division CN108419084B (zh) 2010-10-14 2011-10-06 改进熵编码和解码的方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN103262534A true CN103262534A (zh) 2013-08-21
CN103262534B CN103262534B (zh) 2018-05-22

Family

ID=44802431

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201180060451.9A Active CN103262534B (zh) 2010-10-14 2011-10-06 改进熵编码和解码的方法及装置
CN201810367091.0A Active CN108419084B (zh) 2010-10-14 2011-10-06 改进熵编码和解码的方法、装置及存储介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810367091.0A Active CN108419084B (zh) 2010-10-14 2011-10-06 改进熵编码和解码的方法、装置及存储介质

Country Status (10)

Country Link
US (7) US9693056B2 (zh)
EP (3) EP3667924B1 (zh)
JP (5) JP2014500643A (zh)
KR (7) KR102339720B1 (zh)
CN (2) CN103262534B (zh)
DK (1) DK2628299T3 (zh)
ES (1) ES2747798T3 (zh)
HU (1) HUE045823T2 (zh)
PL (2) PL3667924T3 (zh)
WO (1) WO2012051033A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110073663A (zh) * 2017-01-26 2019-07-30 谷歌有限责任公司 使用级别图的变换系数代码化
CN111741302A (zh) * 2020-08-07 2020-10-02 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机可读介质及电子设备
CN112567754A (zh) * 2018-08-22 2021-03-26 联发科技股份有限公司 转换系数编码或解码的方法与装置
CN112913246A (zh) * 2018-10-05 2021-06-04 Lg电子株式会社 用于编码变换系数的方法及其装置
CN113412626A (zh) * 2019-01-12 2021-09-17 Lg 电子株式会社 在图像编译系统中使用残差信息的图像解码方法及其装置
CN114679917A (zh) * 2019-06-24 2022-06-28 阿里巴巴集团控股有限公司 视频数据的变换跳过残差编码

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103262534B (zh) * 2010-10-14 2018-05-22 汤姆逊许可公司 改进熵编码和解码的方法及装置
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
US20120230418A1 (en) 2011-03-08 2012-09-13 Qualcomm Incorporated Coding of transform coefficients for video coding
US9491469B2 (en) 2011-06-28 2016-11-08 Qualcomm Incorporated Coding of last significant transform coefficient
US9866829B2 (en) 2012-01-22 2018-01-09 Qualcomm Incorporated Coding of syntax elements that correspond to coefficients of a coefficient block in video coding
CA2807382A1 (en) * 2012-04-16 2013-10-16 Research In Motion Limited Modified contexts for level coding of video data
EP3270595A1 (en) * 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for last coefficient coding for adaptive transform based video compression
JP6377785B2 (ja) * 2017-01-26 2018-08-22 ユニ・チャーム株式会社 使い捨て吸収性物品
IL281532B1 (en) * 2018-09-21 2024-05-01 Interdigital Vc Holdings Inc Scalar quantizer decision diagram for dependent scalar quantization
CN116132677A (zh) 2018-11-12 2023-05-16 三星电子株式会社 用于对系数等级进行熵编码/熵解码的方法和装置
US11671598B2 (en) 2019-01-02 2023-06-06 Lg Electronics Inc. Image decoding method and device using residual information in image coding system
CN112514384A (zh) 2019-01-28 2021-03-16 株式会社 Xris 视频信号编码/解码方法及其装置
WO2020185890A1 (en) 2019-03-11 2020-09-17 Futurewei Technologies, Inc. Tile level filtering in video coding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1620819A (zh) * 2001-10-17 2005-05-25 皇家飞利浦电子股份有限公司 改进的可变长度解码器
US20070036223A1 (en) * 2005-08-12 2007-02-15 Microsoft Corporation Efficient coding and decoding of transform blocks
US20070110153A1 (en) * 2005-11-14 2007-05-17 Samsung Electronics Co., Ltd. Method, medium, and apparatus encoding and/or decoding an image using the same coding mode across components
US20090147843A1 (en) * 2007-12-11 2009-06-11 Samsung Electronics Co., Ltd. Method and apparatus for quantization, and method and apparatus for inverse quantization

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1214649C (zh) * 2003-09-18 2005-08-10 中国科学院计算技术研究所 用于视频预测残差系数编码的熵编码方法
US7656326B2 (en) * 2006-06-08 2010-02-02 Via Technologies, Inc. Decoding of context adaptive binary arithmetic codes in computational core of programmable graphics processing unit
CN101212676B (zh) * 2006-12-29 2010-06-02 北京展讯高科通信技术有限公司 高效并行cabac解码方法及其装置
KR101356733B1 (ko) * 2007-03-07 2014-02-05 삼성전자주식회사 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
US8891615B2 (en) * 2008-01-08 2014-11-18 Qualcomm Incorporated Quantization based on rate-distortion modeling for CABAC coders
KR101375668B1 (ko) 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
JP2009231914A (ja) * 2008-03-19 2009-10-08 Sony Corp 復号装置、復号処理方法およびプログラム
JP2012023611A (ja) 2010-07-15 2012-02-02 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
US9154801B2 (en) 2010-09-30 2015-10-06 Texas Instruments Incorporated Method and apparatus for diagonal scan and simplified coding of transform coefficients
CN103262534B (zh) 2010-10-14 2018-05-22 汤姆逊许可公司 改进熵编码和解码的方法及装置
MX345866B (es) 2012-03-29 2017-02-21 Aptargroup Inc Cierre con miembro de cierre deslizable.

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1620819A (zh) * 2001-10-17 2005-05-25 皇家飞利浦电子股份有限公司 改进的可变长度解码器
US20070036223A1 (en) * 2005-08-12 2007-02-15 Microsoft Corporation Efficient coding and decoding of transform blocks
US20070110153A1 (en) * 2005-11-14 2007-05-17 Samsung Electronics Co., Ltd. Method, medium, and apparatus encoding and/or decoding an image using the same coding mode across components
US20090147843A1 (en) * 2007-12-11 2009-06-11 Samsung Electronics Co., Ltd. Method and apparatus for quantization, and method and apparatus for inverse quantization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KAZUO SUGIMOTO ET AL: "Proposal on Improved Entropy Coding Method for DCT coefficients", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 2ND MEETING: GENEVA, CH, 21-28 JULY, 2010》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110073663A (zh) * 2017-01-26 2019-07-30 谷歌有限责任公司 使用级别图的变换系数代码化
CN112567754A (zh) * 2018-08-22 2021-03-26 联发科技股份有限公司 转换系数编码或解码的方法与装置
CN112913246A (zh) * 2018-10-05 2021-06-04 Lg电子株式会社 用于编码变换系数的方法及其装置
CN112913246B (zh) * 2018-10-05 2023-09-15 Lg电子株式会社 用于编码变换系数的方法及其装置
CN113412626A (zh) * 2019-01-12 2021-09-17 Lg 电子株式会社 在图像编译系统中使用残差信息的图像解码方法及其装置
CN113412626B (zh) * 2019-01-12 2024-01-23 Lg 电子株式会社 在图像编译系统中使用残差信息的图像解码方法及其装置
CN114679917A (zh) * 2019-06-24 2022-06-28 阿里巴巴集团控股有限公司 视频数据的变换跳过残差编码
CN111741302A (zh) * 2020-08-07 2020-10-02 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机可读介质及电子设备

Also Published As

Publication number Publication date
PL2628299T3 (pl) 2019-12-31
US11218732B2 (en) 2022-01-04
KR102339720B1 (ko) 2021-12-16
KR20210046855A (ko) 2021-04-28
DK2628299T3 (da) 2019-10-07
KR20130119426A (ko) 2013-10-31
CN108419084A (zh) 2018-08-17
EP3667924A1 (en) 2020-06-17
US9693056B2 (en) 2017-06-27
EP2628299A1 (en) 2013-08-21
JP2017175648A (ja) 2017-09-28
US20200359054A1 (en) 2020-11-12
US20190075321A1 (en) 2019-03-07
KR102586032B1 (ko) 2023-10-10
US11677983B2 (en) 2023-06-13
US20220086488A1 (en) 2022-03-17
US9832486B2 (en) 2017-11-28
CN103262534B (zh) 2018-05-22
US20230276074A1 (en) 2023-08-31
KR20230144120A (ko) 2023-10-13
US20170257643A1 (en) 2017-09-07
EP2628299B1 (en) 2019-08-07
KR102123605B1 (ko) 2020-06-15
JP2023073281A (ja) 2023-05-25
EP3961930A1 (en) 2022-03-02
KR101997765B1 (ko) 2019-07-08
KR102244659B1 (ko) 2021-04-27
PL3667924T3 (pl) 2022-02-07
US10097859B2 (en) 2018-10-09
ES2747798T3 (es) 2020-03-11
US20130208806A1 (en) 2013-08-15
CN108419084B (zh) 2021-02-26
JP2019110592A (ja) 2019-07-04
JP2021073805A (ja) 2021-05-13
JP2014500643A (ja) 2014-01-09
KR20190084331A (ko) 2019-07-16
WO2012051033A1 (en) 2012-04-19
KR20180081152A (ko) 2018-07-13
US20180124428A1 (en) 2018-05-03
JP7181126B2 (ja) 2022-11-30
KR101874945B1 (ko) 2018-07-06
KR20210154878A (ko) 2021-12-21
HUE045823T2 (hu) 2020-01-28
KR20200070427A (ko) 2020-06-17
US10694211B2 (en) 2020-06-23
EP3667924B1 (en) 2021-10-06
JP6491691B2 (ja) 2019-03-27

Similar Documents

Publication Publication Date Title
CN103262534A (zh) 改进熵编码和解码的方法及装置
JP6529854B2 (ja) 適応ツリー選択を使用してバイナリ・セットをビデオ符号化およびビデオ復号する方法および装置
CN105959697B (zh) 变换单元内的多符号位隐藏
CN102884792B (zh) 用于统一显著图编码的方法和设备
CN105103548B (zh) 一种编码、解码图像数据的方法及设备
KR101625548B1 (ko) 변환 계수 레벨 코딩을 위한 컨텍스트 모델링 기술들
US8885706B2 (en) Apparatus and methodology for a video codec system with noise reduction capability
KR101907043B1 (ko) 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들
CN102547280B (zh) 用于提高图像或视频解码中的操作效率的方法
CN107743239B (zh) 一种视频数据编码、解码的方法及装置
CN105847827B (zh) 有效度图编码的复杂度降低
KR20070028404A (ko) 픽처를 저장하는 방법, 비디오 복호기, 비디오 부호기,휴대 장치 및 컴퓨터 프로그램 제품
CN103716634A (zh) 使用误差平面编码的数据压缩方法及装置
US20180255320A1 (en) Bias minimization for successive image reconstruction based on embedded codec circuitry
US20120147972A1 (en) Image decoding apparatus, image decoding method, image encoding apparatus, image encoding method, and program
CN103260023A (zh) 图像编码/解码系统与其方法

Legal Events

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

Effective date of registration: 20190918

Address after: Delaware, USA

Patentee after: Interactive Digital VC Holding Company

Address before: Icelemulino, France

Patentee before: Thomson Licensing Company

TR01 Transfer of patent right