CN100566178C - 二进制算术码解码器和编码器,算术码解码器和编码器及其方法 - Google Patents

二进制算术码解码器和编码器,算术码解码器和编码器及其方法 Download PDF

Info

Publication number
CN100566178C
CN100566178C CNB2004800323318A CN200480032331A CN100566178C CN 100566178 C CN100566178 C CN 100566178C CN B2004800323318 A CNB2004800323318 A CN B2004800323318A CN 200480032331 A CN200480032331 A CN 200480032331A CN 100566178 C CN100566178 C CN 100566178C
Authority
CN
China
Prior art keywords
arithmetic
many
binary
buffer
sign indicating
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.)
Expired - Fee Related
Application number
CNB2004800323318A
Other languages
English (en)
Other versions
CN1875545A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of CN1875545A publication Critical patent/CN1875545A/zh
Application granted granted Critical
Publication of CN100566178C publication Critical patent/CN100566178C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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
    • 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
    • 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/423Methods 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 characterised by memory arrangements
    • 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

Landscapes

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

Abstract

在本发明的二进制算术码解码器中,分离算术码的解码和逆二值化,并且***较大的中间缓冲器。在输入流时首先执行算术码的解码,由此可以以解码器的最大输入比特率来解码算术码。所获得的二进制符号串首先被保持在中间缓冲器中,随后执行与下一级的块解码器的处理相匹配的、从二进制符号串到多值符号的逆二值化。提供了一种二进制算术码解码器和编码器、算术码解码器和编码器及其方法,用于以比现有技术低的最大Bin速率来实时编码和解码二进制算术码。

Description

二进制算术码解码器和编码器,算术码解码器和编码器及其方法
技术领域
本发明涉及算术解码和算术编码。更具体地,本发明涉及其中对多值符号进行了二值化的二进制符号串的算术码的解码和编码的封装。
背景技术
二进制算术编码是一种压缩编码技术。在二进制算术编码中,对一个多值符号进行二值化,以生成二进制符号串,然后对此二进制符号串进行算术编码,以获得最终二进制算术码。算术码的处理成本高于Huffman码,并且只是应用于不需要实时能力的应用中,例如文件压缩和静态图像压缩。然而,随着近年来在LSI中实现的速度越来越高,算术码已经开始用于图像编码。一个示例是国际电信联盟电信标准化部门(ITU-T)所建立的新视频编解码器的国际标准H.264的主类(Main Profile)。
在H.264中,二进制算术编码被称作“基于上下文的自适应二进制算术编码(CABAC)”。在IEEE的International Conferences onImage Processing(ICIP)中,D.Marpe等在2002年的会议上所著的题为“Context-based adaptive binary arithmetic coding inJVT/H.26L”(2002 IEEE International Conference on ImageProcessing,ISBN:0-7803-7623-4 IEEE Catalog No.02CH37396,p.2-513-2-536);以及在2001年的会议上所著的题为“Videocompression using context-based adaptive arithmetic coding”(2001 IEEE International Conference on Image Processing,ISBN:0-7803-6725-1,p.558-561)中描述了关于CABAC的详情。
在CABAC中,首先将要编码的多值符号二值化为二进制符号(Bin)的串,然后根据针对每一Bin所确定的上下文的概率估计值,对每一Bin进行二进制算术编码。在二值化中,将数字设置为由公式所规定的格式,以将多个值转换为比特模式,但是这可以被视为简单的可变长度编码(VLC)。上下文选择中可以使用的环境包括:原始多值符号的表示的对象、周围块的参数、以及二进制符号串中的顺序。另一方面,在解码中,从现在要解码的二进制符号的上下文获得概率估计值,然后对算术码进行解码。如果恢复了二进制符号,则更新概率估计值,并且进一步选择接下来要解码的二进制符号的上下文。
在理想的算术编码中,可以将数据压缩到熵的极限,并且一个比特可以逻辑表达无限的Bin。然而,因为这在实际中难以封装,所以在CABAC中,采用简化算术编码,并且将上限设置在每比特的平均Bin数上。为了简化,通过参考表来代替乘法,因此解码一个Bin所需的计算受限于对表的参考、比较和相减。
在诸如H.264CABAC之类的二进制算术编码中,解码和编码算术码的处理成本较高。
图1示出了H.264解码器的总体配置。
H.264解码器的配置包括:用于接收并保持流的CPB缓冲器41;以及用于通过帧间隔来解码每一帧的即时解码器42。即时解码器42由CABAC解码器43和块解码器44组成。块解码器44执行逆量化、逆离散整数变换、运动补偿预测、以及环内(in-loop)滤波过程,并且处理成本与画面元素数目成比例。
相反,CABAC解码器43的处理成本与Bin数目成比例。
图2示出了CABAC解码器的详情。
CABAC解码器51包括二进制算术码解码器54、逆二值化单元55、用于保存每一上下文的概率估计值的存储器52、以及用于控制这些组件的控制单元53。处理单位是Bin的解码,并且控制单元53利用Bin的每一解码来更新概率估计值,并且还使内部状态根据H.264标准的语法来转变。这些过程不能对多个Bin一起执行,因此Bin的数目确定了处理成本。
接下来计算实际的处理成本。每一帧的压缩率根据帧的编码类型(帧内或帧间)以及预测准确度或图像质量而不同,因此每一帧中的比特数随着每一帧而波动。换句话说,CABAC解码器的成本随着每一帧而波动。根据此标准,一帧的最大比特数由如下公式给出:
2048×最大MBPS×Delta时间×色度格式因子/最小CR,并且,如果这被转换为平均帧间隔的最大比特率,则是:
2048×最大MBPS×色度格式因子/最小CR。
这里,最大MBPS是每秒的最大宏块数,Delta时间是帧时间间隔,色度格式因子是在色彩信号加到亮度信号时的样本数目比,并且最小CR是最小压缩率。
在附录A中所描述的级别4.1中,最大MBPS是245760,色度格式因子是1.5,并且最小CR是2,得到的最大比特率是377Mbps。Bin到比特的压缩率被指定为1.33或更小,并且将此转换为最大Bin速率,得到503Mbin/sec。因为根据平均帧间隔得到最大比特率,所以这种情形中的最大Bin速率是通过将在平均帧间隔中要处理的Bin数目除以帧间隔得到的值。如果解码器的性能不能达到此最大Bin速率,则解码过程将不能在要显示此帧时完成,这导致帧的删除,即,图像质量的严重恶化。
前面关于解码器封装的解释也适用于执行逆操作的编码器的情形。
图3示出了H.264编码器的配置。
块编码器63执行的操作例如运动补偿预测、离散整数变换、量化、逆量化、逆离散整数变换、以及以画面元素输入速率进行的环内滤波过程。然后,由二进制转换器64将块信息转换为编码Bin串。由算术编码器65将Bin串转换为编码比特串,然后发送到输出缓冲器66。输出缓冲器66的累积量被反馈到块编码器63,并且用于控制块编码器63中的编码量。
在二值化中,块信息的一个元素(例如,转换系数)被转换成多个Bin。结果,Bin串的生成速率至少是突发中的画面元素速率的十倍。随后处理Bin串的控制单元62以及存储器61和算术编码器65必须以此速度操作。如果考虑帧之间的处理,H.264编码器的最大Bin速率是503Mbin/sec,对于H.264解码器亦是如此。
在现有技术中,高比特率的实时处理仍然是成问题的。例如,如果如H.264标准中所描述的那样执行解码过程,则要处理的Bin速率变为不切实际的值。满足H.264级别4.1标准的最大Bin速率是503Mbin/sec,并且即使在两个周期中处理一个Bin,CABAC解码器或算术编码器必须以1GHz或更高的频率来操作。该值是现有LSI以低成本能容易实现的速度的数倍。
发明内容
本发明的目的是提供一种以比现有技术低的最大Bin速率来实时编码二进制算术码的编码器以及实时解码二进制算术码的解码器。
为了实现上述目的,本发明的解码器包括:算术码解码装置,用于根据二进制算术码的输入来解码二进制算术码,以获得二进制符号;中间缓冲器,用于累积已经解码的二进制符号;以及逆二值化装置,用于当从缓冲器提取二进制符号时,根据逆二值化装置的输出来提取二进制符号,转换为多值符号,并且提供结果作为输出。
在这种配置中,算术码解码装置和逆二值化装置独立操作,并且通常以不同速度来进行处理。
为了实现上述目的,本发明的编码器包括:二值化装置,用于根据多值符号的输入,将多值符号转换为二进制符号;缓冲器,用于累积二进制符号;以及算术编码装置,用于当从缓冲器提取二进制符号时,根据算术编码装置的输出来提取二进制符号,并生成二进制算术码。
在这种配置中,算术编码装置和二值化装置通常以不同速度进行处理。可以将算术编码装置要实现的处理性能规定为输出码率的最大值。另一方面,以多值符号为单位的处理在二值化装置中变为可能,由此可以将二值化装置要实现的处理性能规定为输入多值符号速率的最大值。
根据本发明,可以大大降低二进制算术码解码器和编码器要实现的二进制符号处理速率的最大值。可以将本发明的算术码解码装置要实现的处理性能规定为输入码率的最大值,类似地,可以将算术码编码装置要实现的处理性能规定为输出码率的最大值。
作为示例,当应用于H.264的级别4.1时,最大视频比特率是50Mbps,因此最大Bin速率是66.7Mbin/sec。该值小于或等于现有技术的七分之一,由此看得出可以极大地有助于封装。
在现有技术中,CPB缓冲器保持流,但是该缓冲器在本发明中不是必需的。实际上,需要比CPB缓冲器稍大的存储器装置。在H.264的情形中,算术码的压缩率被限制到1.33或更低,并且存储器装置可以是CPB缓冲器的1.33倍。
本发明的编码器包括用于二进制或多值符号的缓冲器,因此被减慢到缓冲器延迟的程度,但是编码器却能提供与延迟无关的估计值,因为可以获得比特数估计装置所生成的实际码比特数目。在需要控制编码数量的情形中,例如视频编码器,使用被延迟的生成比特数目导致控制的不稳定,但是使用本发明中的估计值允许抑制缓冲器延迟的波动。
附图说明
图1是根据国际标准ITU-T H.264的解码器的方框图;
图2是H.264CABAC解码器的内部方框图;
图3是H.264编码器的方框图;
图4是使用本发明的二进制算术码解码器的视频解码器的方框图;
图5是使用本发明的二进制算术码编码器的视频编码器的方框图;
图6是本发明的二进制算术码解码器或编码器的方框图;
图7是示出了根据本发明的二进制算术码解码过程的流程图;
图8是本发明的解码过程的子例程的流程图;
图9是示出了根据本发明的二进制算术码编码过程的流程图;以及
图10是本发明的编码过程的子例程的流程图
具体实施方式
本发明的算术码解码器具有:算术码解码器,用于根据二进制算术码的输入来解码,以获得二进制符号;中间缓冲器,用于存储二进制符号;以及逆二值化装置,用于从中间缓冲器提取二进制符号串,以转换为多值符号并提供结果,并且根据这些多值符号的输出,从中间缓冲器提取二进制符号串。
另外,本发明的算术码编码器具有:二值化装置,用于根据多值符号的输入,将多值符号转换为二进制符号;缓冲器,用于存储二进制符号;以及算术编码装置,用于在从缓冲器提取二进制符号时,根据其自身的输出来提取二进制符号,以生成二进制算术码。
本发明的另一算术码解码器具有:算术码解码装置,用于根据算术码的输入来解码算术码,以获得多值符号;缓冲器,用于存储多值符号;以及逆转换装置,用于当从缓冲器提取多值符号时,根据其自身的输出来提取多值符号,以输出符号,并提供结果作为输出。
本发明的另一算术码解码器具有:转换装置,用于根据输入符号的输入,将输入符号转换为多值符号;缓冲器,用于存储多值符号;以及算术码编码装置,用于在从缓冲器提取多值符号时,根据其自身输出来提取多值符号,以生成算术码。
图4是使用本发明的二进制算术码解码器的视频解码器的方框图。
算术码解码器10将作为输入接收到的流的算术码进行解码,以获得二进制符号(Bin),并且将二进制符号提供给控制单元11以及逆二值化单元12,并且将二进制符号存储在中间缓冲器14中。从控制单元11提供解码所必需的上下文的概率估计值。
控制单元11根据流的语法,从当前要解码的二进制符号中选择上下文,并且从存储器13获取概率估计值,并将概率估计值提供给算术码解码器10。在上下文的选择中,如果必要的话,使用存储器13中存储的块信息。控制单元11在从算术码解码器10获得二进制符号时,更新存储器13中存储的概率估计值,并且将二进制符号串的组成信息提供给逆二值化单元12。组成信息例如包括多值符号所指示的参数名称、二进制符号串的格式信息、以及用于执行逆转换的定时。
基于从算术码解码器10提供的二进制符号以及从控制单元11提供的组成信息,逆二值化单元12在必要时将二进制符号串转换为多值符号,并且将作为结果获得的块信息存储在存储器13中。流中所包括的块信息例如包括量化转换系数、量化参数、有效块模式、预测模式、以及运动向量,但是要存储在存储器13中的块信息是控制单元11所参考的信息。
中间缓冲器14存储算术码解码器10已经获得的二进制符号,并且将二进制符号提供给控制单元15和逆二值化单元16。中间缓冲器14基于来自控制单元15的指令来提供二进制符号。
控制单元15根据流的语法从中间缓冲器14获得二进制符号串,并且将组成信息提供给逆二值化单元16。
逆二值化单元16从中间缓冲器14获取二进制符号串,并且基于从控制单元15提供的组成信息,将二进制符号串转换为多值符号,并且将作为结果获得的块信息提供给块解码器17。
基于从逆二值化单元16提供的块信息,块解码器17执行逆量化、逆整数转换、运动补偿预测、以及环内滤波过程,以获得解码图像,并且提供所获得的解码图像作为输出。
算术码解码器10、控制单元11、逆二值化单元12和存储器13构成了中间缓冲器14之前的级的模块,它们执行与作为输入提供给算术码解码器10的流的比特、字节或字节串相匹配的处理。相反,控制单元15、逆二值化单元16和块解码器17构成了中间缓冲器14之后的模块,它们执行与解码图像的输出相匹配的处理。因此,算术码解码器10和逆二值化单元16独立操作,通常以不同的速度来执行处理。中间缓冲器14吸收前后级的处理速度之间的差。
图5是使用本发明的二进制算术码编码器的视频编码器的方框图。
块编码器20考虑从比特数估计单元27提供的所生成比特的估计数目,针对输入图像执行运动向量搜索、运动补偿预测、离散整数变换、量化、逆量化、逆离散整数变换以及环内滤波过程,并生成块信息。块信息是组成流所必需的信息,并且包含这样的信息,例如量化转换系数、量化参数、有效块模式、预测模式以及运动向量。
二值化单元21将获得的块信息转换为二进制符号串,并且将结果存储在中间缓冲器22中。
中间缓冲器22存储二值化单元21已经转换的二进制符号串,并且基于来自算术编码器25的指令,将二进制符号提供给算术编码器25。中间缓冲器22还将累积量提供给比特数估计单元27。
逆二值化单元23基于从中间缓冲器22获得的二进制符号串以及从控制单元24提供的组成信息,恢复块信息,并且将信息存储在存储器26中。这里要恢复的块信息是控制单元24所参考的信息。
根据流的语法,控制单元24从当前要编码的二进制符号中选择上下文,并且从存储器26获取概率估计值,并将概率估计值提供给算术编码器25。如果必要,控制单元24在选择上下文时使用存储器26中存储的块信息。在从中间缓冲器22获得二进制符号时,控制单元24更新存储器26中存储的概率估计值,并且将二进制符号串的组成信息提供给逆二值化单元23。
算术编码器25基于从中间缓冲器22获得的二进制符号以及从控制单元24获得的概率估计值,执行二进制算术编码,并提供所获得的流作为输出。算术编码器25还将在算术编码时所读取的二进制符号数目以及所生成的码的比特数目提供给比特数估计单元27。
比特数估计单元27根据从算术编码器25提供的二进制符号数目和码比特数目,估计二进制符号数目和码比特数目之间的关系,将从中间缓冲器22提供的累积量转换为比特数目,以得到生成比特的数目,并且将结果提供给块编码器20。
块编码器20、二进制单元21和比特数估计单元27是中间缓冲器22之前的模块,它们执行与作为输入提供给块编码器20的图像的流的比特、字节和字节串相匹配的处理。相反,逆二值化单元23、控制单元24、算术编码器25和存储器26是中间缓冲器22之后的模块,它们执行与流输出相匹配的处理。因此,二值化单元21和算术编码器25独立操作,并且通常以不同速度来执行处理。之后缓冲器22吸收前后级之间的处理速度差。
图6是示出了本发明另一实施例的方框图。
在构成图6所示的本发明的二进制算术码解码器时,处理器31执行算术码的解码,并且处理器32执行逆二值化。可以从处理器31和处理器32访问存储器33,并且存储器33保持作为处理器31输入的码串、作为处理器31输出的二进制符号串,此外还保持处理器32的输入、作为处理器32输出的多值符号、以及处理时必需的概率期望和块信息。
在图6中将处理器31和处理器32分开,以表示逻辑配置,但是当操作***提供多重处理能力时,或者当通过诸如包括Intel(美国)的Hyper Threading的CPU之类的单个处理器可以实现多重处理时,这两个处理器可以变为一个组件。另外,存储器33不需要是一个存储器,而是可以具有这样的配置:其中,只能从处理器31访问的变量不是总线连接而是直接连接到处理器31。
参考图7,接下来解释在处理器31执行算术码解码时的操作。
编码句法包括编码模式、运动向量、编码标记和系数,并且假设它们已经经历了二进制算术编码。在这种情形中,可以从编码模式得知运动向量信息的存在,并且可以从编码标记得知系数的存在。
首先在步骤A100中执行初始化。在初始化中,针对每一上下文,将概率估计值设置为初始值。在步骤A110中,解码块的编码模式。在步骤A111中,取决于运动向量信息的存在,出现分支。如果运动向量信息存在,则过程前进到步骤A120,并且如果运动向量信息不存在,则过程前进到步骤A130。
在步骤A120中,解码运动向量的水平值。在步骤A121中解码运动向量的垂直值。在步骤A130中,解码编码标记。在步骤A131中,取决于系数的存在,过程出现分支。如果系数存在,过程前进到步骤A140,但是如果系数不存在,则前进到步骤A150。
在步骤A140中,解码系数。在步骤A141,取决于系数的完成,操作出现分支。如果完成,则操作前进到步骤A150,但是如果系数继续,则操作前进到步骤A140。
在步骤A150,取决于码串的完成,操作出现分支。如果没有完成,操作前进到步骤A110。
在以这些步骤执行解码时,调用用于解码多值符号的子例程。在此子例程中,处理器31执行图8所示的操作。
接下来参考图8解释此子例程。
首先在步骤A10中清空符号串缓冲器。在步骤A11中,选择符合当前句法的上下文。如果必要,使用相邻块的信息。在步骤A12中,获取当前上下文的概率估计值。在步骤A13中,解码算术码。等待码的输入,并且在作为输入接收到码时,将码字的当前值与概率估计值比较,以根据大小关系获得二进制符号。如果执行相对于二进制符号的“0”和“1”对称的操作,则概率估计值也可以通过MPS值(对称表达)和MPS的概率估计值来表达。MPS是其出现概率具有高估计值的符号,MPS概率估计值的值从0.5到1。在步骤A14中,所获得的二进制符号存储在符号串缓冲器中,并作为输出提供给存储器。在步骤A15中,根据二进制符号的值更新概率估计值。当概率估计值是对称表达,并且MPS概率估计值没有达到0.5时,反转MPS。在步骤A16中,取决于符号串缓冲器中的二进制符号串是否构成完整的二进制符号串,操作出现分支。如果实现了完整的二进制符号串,则操作前进到步骤A17,并且如果不完整,则操作返回步骤A11,以继续解码算术码。
必要时在步骤A17中执行逆二值化。决定必要性的条件包括与句法相关的元素以及上下文选择时可能考虑的元素。
接下来解释处理器32执行逆二值化时的操作。整个过程的流程根据图7的流程来操作,与处理器31类似。然而,所调用的解码子例程与处理器31不同。处理器32中所使用的解码子例程是逆二值化,由此从二进制符号串解码多值符号。处理器32与算术码没有关系,因此不需要在步骤A100中将概率估计值设置为初始值。
在图6中,当实现本发明的二进制算术码编码器时,处理器31执行二值化,并且处理器32执行算术编码。可以从处理器31和处理器32访问存储器33,并且存储器33保持这样的信息,例如作为处理器31输入的多值符号、作为处理器31输出的二进制符号串,此外还保持处理器32的输入、作为处理器32输出的码串、以及处理中必需的概率估计值和块信息。
接下来参考图9解释在处理器31中执行二值化时的操作。
首先在步骤A200中执行初始化。在步骤A210中,执行块编码模式的编码过程。在步骤A211中,取决于运动向量信息的存在,操作出现分支。如果运动向量信息存在,则操作前进到步骤A220,但是如果信息不存在,则操作前进到步骤A230。
在步骤A220中,编码运动向量的水平值。在步骤A221中,编码运动向量的垂直值。在步骤A230中,对编码标记进行编码。在步骤A231中,取决于系数是否存在,操作出现分支。如果存在系数,则操作前进到步骤A240,但是如果不存在系数,则操作前进到步骤A250。
在步骤A240中,编码系数。在步骤A241中,取决于系数是否完成,操作出现分支。如果完成,则操作前进到步骤A250,但是如果系数继续,则操作在步骤A240中继续。
在步骤A250中,取决于编码是否完成,操作出现分支。如果编码尚未完成,则过程前进到步骤A210。以这些步骤执行的编码过程是二值化,由此调用输出子例程,用于将多值符号转换为二进制符号串,并提供结果作为输出。在输出子例程中,对作为输出提供的二进制符号的数目进行计数,并且使得可从外部获得,以允许参考。
接下来解释处理器32中执行算术编码时的操作。处理的整个流程根据图9的流程来操作,如处理器31。然而,步骤A200的初始化以及所调用的编码过程子例程与处理器31不同。在处理器32中所使用的编码过程子例程中,通过逆二值化从二进制符号串解码多值符号,并且对二进制符号串进行算术编码。在执行算术编码时,在步骤A200的初始化中将概率期望设置为初始值。
接下来参考图10解释处理器32的编码过程子例程的操作。
首先,在步骤A20中,执行逆二值化,由此提供多值符号作为输出,并将相应的二进制符号串存储在符号串缓冲器中。在步骤A21,获取当前上下文的概率估计值。
在步骤A23中,从符号串缓冲器的头部提取一个二进制符号,执行算术编码,并且提供结果作为输出。对算术编码的实例数目以及生成比特的数目进行计数,并且使得可从外部获得用于参考。
在步骤A24中,根据二进制符号的值更新概率估计值。如果概率估计值是对称表达,则当MPS概率估计值小于0.5时反转MPS。在步骤A25中,取决于符号串缓冲器是否为空,操作出现分支。如果符号串缓冲器为空,则操作结束,但是如果符号串缓冲器不空,则操作返回步骤A21,以继续算术编码。
得到处理器31中作为输出提供的二进制符号数目以及处理器32中的算术编码实例数目和生成比特数目。通过从作为输出提供的二进制符号数目减去算术编码实例数目,得到存储器中存储的二进制符号数目。另外,可以根据算术编码实例数目和生成比特数目,得到二进制符号数目和码比特数目之间的关系。可以根据这些值计算估计的生成比特数目。可以在处理器31的输出子例程中计算估计的生成比特数目,并且使得可从外部获得用于参考,或者可以在外部根据作为基础的值来计算。
接下来解释由计算机***实现上述用于解码二进制算术码的解码器和编码器的示例。
计算机***具有CPU,并且CPU连接到缓冲器和存储器。
在存储器中,存储用于执行本发明的解码过程和编码过程的程序。本发明的解码过程和编码过程通过CPU执行该程序来执行。
在上述实施例中描述了处理二进制算术码的情形,但是本发明不限于应用于二进制算术码。如果要使用四进制算术码,通过将附图和解释中的二进制简单改变为四进制,可以实现本发明的四进制算术码解码器和编码器。即使在混合了二进制和三进制算术码时,也可以将本发明配置为从二进制算术码的处理切换到三进制算术码的处理,以匹配上下文。
虽然采用视频解码器和视频编码器作为示例,解释了本发明的实施例,但是本发明不限于在这些形式中的应用。通过将块解码器17替换为语言帧解码器并且将块编码器20替换为语音帧编码器,本发明可以容易地应用于语音解码器和语音编码器。本发明的二进制算术码解码器和编码器还可以应用于与视频和语音相类似的使用二进制算术码的其他媒体或数据的其他编码器和解码器。

Claims (8)

1.一种二进制算术码解码器,包括:
存储器,用于存储解码所必需的算术码的概率估计值;
算术码解码器,用于使用所述概率估计值来解码作为输入接收到的二进制算术码,以获得二进制符号;
缓冲器,用于累积已经解码的所述二进制符号;
逆二值化单元,用于从所述缓冲器提取所述二进制符号,以将所述二进制符号转换为多值符号,并且提供结果;以及
控制单元,用于接收来自所述算术码解码器的所述二进制符号,并更新所述存储器中的所述概率估计值。
2.一种算术码解码器,包括:
存储器,用于存储解码所必需的算术码的概率估计值;
算术码解码器,用于使用所述概率估计值来解码作为输入接收到的多值算术码,以获得多值符号;
缓冲器,用于累积已经解码的所述多值符号;
逆转换单元,用于从所述缓冲器提取所述多值符号,以将所述多值符号转换为输出符号,并提供结果;以及
控制单元,用于接收来自所述算术码解码器的所述多值符号,并更新所述存储器中的所述概率估计值。
3.一种二进制算术码编码器,包括:
二值化单元,用于将作为输入接收到的用于二进制算术码编码的数据转换为二进制符号;
缓冲器,用于累积所述二进制符号;
算术编码器,用于从所述缓冲器提取二进制符号以生成算术码;以及
比特数估计单元,用于根据所述算术编码器已经提取的二进制符号数目以及已经生成的码比特数目来估计二进制符号数目和码比特数目之间的关系,并且用于根据所述缓冲器的累积数量估计算术编码之后生成的码比特数目。
4.一种算术码编码器,包括:
多值转换单元,用于将作为输入接收到的用于多值算术码编码的数据转换为多值符号;
缓冲器,用于累积所述多值符号;
算术编码器,用于从所述缓冲器提取多值符号,并生成算术码;以及
比特数估计单元,用于根据所述算术编码器已经提取的多值符号数目以及已经生成的码比特数目来估计多值符号数目和码比特数目之间的关系,并且用于根据所述缓冲器的累积数量估计算术编码之后生成的码比特数目。
5.一种解码器中解码二进制算术码的方法,所述解码器包括用于累积二进制符号的缓冲器和用于存储概率估计值的存储器,所述方法包括:
算术码解码步骤,使用所述概率估计值来解码作为输入接收到的二进制算术码,以获得二进制符号,并将所述二进制符号累积到所述缓冲器;以及
逆二值化步骤,从所述缓冲器提取所述二进制符号,以将所述二进制符号转换为多值符号,并且提供结果;以及
控制步骤,接收由所述算术码解码步骤获得的所述二进制符号,并更新所述存储器中的所述概率估计值。
6.一种解码器中解码算术码的方法,所述解码器包括用于累积多值符号的缓冲器和用于存储概率估计值的存储器,所述方法包括:
算术码解码步骤,使用所述概率估计值来解码作为输入接收到的多值算术码,以获得多值符号,并将所述多值符号累积到所述缓冲器;
逆转换步骤,从所述缓冲器提取所述多值符号,以将所述多值符号转换为输出符号,并提供结果;以及
控制步骤,接收由所述算术码解码步骤获得的所述多值符号,并更新所述存储器中的所述概率估计值。
7.一种编码器中编码二进制算术码的方法,所述编码器包括用于累积已经转换的二进制符号的缓冲器,所述方法包括:
二值化步骤,将作为输入接收到的用于二进制算术码编码的数据转换为二进制符号,并将所述二进制符号累积到所述缓冲器;
算术编码步骤,从所述缓冲器提取二进制符号以生成算术码;以及
比特数估计步骤,用于根据在所述算术编码步骤已经提取的二进制符号数目以及已经生成的码比特数目来估计二进制符号数目和码比特数目之间的关系,并且根据所述缓冲器的累积数量估计算术编码之后生成的码比特数目。
8.一种编码器中编码算术码的方法,所述编码器包括用于累积已经转换的多值符号的缓冲器,所述方法包括:
多值转换步骤,将作为输入接收到的用于多值算术码编码的数据转换为多值符号,并将所述多值符号累积到所述缓冲器;
算术编码步骤,从所述缓冲器提取多值符号,并生成算术码;以及
比特数估计步骤,用于根据在所述算术编码步骤已经提取的多值符号数目以及已经生成的码比特数目来估计多值符号数目和码比特数目之间的关系,并且根据所述缓冲器的累积数量估计算术编码之后生成的码比特数目。
CNB2004800323318A 2003-10-29 2004-10-28 二进制算术码解码器和编码器,算术码解码器和编码器及其方法 Expired - Fee Related CN100566178C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP369176/2003 2003-10-29
JP2003369176 2003-10-29

Publications (2)

Publication Number Publication Date
CN1875545A CN1875545A (zh) 2006-12-06
CN100566178C true CN100566178C (zh) 2009-12-02

Family

ID=34510376

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800323318A Expired - Fee Related CN100566178C (zh) 2003-10-29 2004-10-28 二进制算术码解码器和编码器,算术码解码器和编码器及其方法

Country Status (7)

Country Link
US (1) US7301485B2 (zh)
EP (1) EP1684435A4 (zh)
JP (1) JP4677901B2 (zh)
KR (1) KR100801364B1 (zh)
CN (1) CN100566178C (zh)
TW (1) TW200518481A (zh)
WO (1) WO2005041420A1 (zh)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101208233B1 (ko) * 2004-11-09 2012-12-04 파나소닉 주식회사 중간 형식으로 변환하는 2단계 산술 복호
KR100829558B1 (ko) * 2005-01-12 2008-05-14 삼성전자주식회사 스케일러블 오디오 데이터 산술 복호화 방법 및 장치와스케일러블 오디오 비트스트림 절단 방법
CN100584025C (zh) * 2005-08-04 2010-01-20 华为技术有限公司 一种基于内容自适应的算术解码***及装置
JP4440863B2 (ja) * 2005-09-13 2010-03-24 パナソニック株式会社 符号化復号化装置、符号化復号化方法、符号化復号化集積回路、および符号化復号化プログラム
JP4540585B2 (ja) 2005-10-20 2010-09-08 パナソニック株式会社 符号化装置及び復号化装置
US7983343B2 (en) * 2006-01-12 2011-07-19 Lsi Corporation Context adaptive binary arithmetic decoding for high definition video
JP4745865B2 (ja) * 2006-02-28 2011-08-10 富士通セミコンダクター株式会社 符号化装置および方法
US7262722B1 (en) * 2006-06-26 2007-08-28 Intel Corporation Hardware-based CABAC decoder with parallel binary arithmetic decoding
JP4928176B2 (ja) * 2006-06-27 2012-05-09 キヤノン株式会社 映像符号化装置及び映像符号化方法
US8107552B2 (en) 2006-06-28 2012-01-31 Samsung Electronics Co., Ltd. System and method of wireless communication of uncompressed video having a fast fourier transform-based channel interleaver
JP2008022383A (ja) * 2006-07-13 2008-01-31 Matsushita Electric Ind Co Ltd 画像符号化装置
JP4902854B2 (ja) * 2006-09-12 2012-03-21 パナソニック株式会社 動画像復号化装置、動画像復号化方法、動画像復号化プログラム、動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像符号化復号化装置
US7912302B2 (en) 2006-09-21 2011-03-22 Analog Devices, Inc. Multiprocessor decoder system and method
US8194750B2 (en) 2006-10-16 2012-06-05 Samsung Electronics Co., Ltd. System and method for digital communication having a circulant bit interleaver for equal error protection (EEP) and unequal error protection (UEP)
JP2008141530A (ja) * 2006-12-01 2008-06-19 Canon Inc 画像符号化装置及び画像符号化方法
JP4742018B2 (ja) * 2006-12-01 2011-08-10 キヤノン株式会社 画像符号化装置及び画像符号化方法
WO2008088768A2 (en) 2007-01-11 2008-07-24 Thomson Licensing Methods and apparatus for using syntax for the coded_block_flag syntax element and the coded_block_pattern syntax element for the cavlc 4:4:4 intra, high 4:4:4 intra, and high 4:4:4 predictive profiles in mpeg-4 avc high level coding
JP4823090B2 (ja) * 2007-02-01 2011-11-24 パナソニック株式会社 画像符号化装置
US7518536B2 (en) * 2007-03-30 2009-04-14 Hong Kong Applied Science And Technology Research Institute Co. Ltd. Method and apparatus for debinarization of digital video data during decoding
US7443318B2 (en) * 2007-03-30 2008-10-28 Hong Kong Applied Science And Technology Research Institute Co. Ltd. High speed context memory implementation for H.264
JP2008282178A (ja) 2007-05-09 2008-11-20 Toshiba Corp 産業用コントローラ
JPWO2008142956A1 (ja) * 2007-05-21 2010-08-05 日本電気株式会社 映像符号化装置、映像符号化方法および映像符号化プログラム
JP2008294669A (ja) * 2007-05-23 2008-12-04 Toshiba Corp 画像符号化装置
US7990289B2 (en) * 2007-07-12 2011-08-02 Intellectual Ventures Fund 44 Llc Combinatorial coding/decoding for electrical computers and digital data processing systems
US8144037B2 (en) * 2007-07-12 2012-03-27 Intellectual Ventures Fund 44 Llc Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems
US8055085B2 (en) * 2007-07-12 2011-11-08 Intellectual Ventures Fund 44 Llc Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems
US7839311B2 (en) * 2007-08-31 2010-11-23 Qualcomm Incorporated Architecture for multi-stage decoding of a CABAC bitstream
JP4850806B2 (ja) * 2007-10-01 2012-01-11 キヤノン株式会社 エントロピー符号化装置、エントロピー符号化方法およびコンピュータプログラム
US8138956B2 (en) * 2008-06-02 2012-03-20 Mediatek Inc. CABAC encoder and CABAC encoding method
US7714754B2 (en) * 2008-07-14 2010-05-11 Vixs Systems, Inc. Entropy decoder with pipelined processing and methods for use therewith
JP5580541B2 (ja) * 2009-03-06 2014-08-27 パナソニック株式会社 画像復号化装置および画像復号化方法
JP2010278668A (ja) * 2009-05-27 2010-12-09 Sony Corp 符号化装置及び符号化方法、並びに復号装置及び復号方法
US9973768B2 (en) 2010-03-16 2018-05-15 Texas Instruments Incorporated CABAC decoder with decoupled arithmetic decoding and inverse binarization
KR102388012B1 (ko) 2010-04-13 2022-04-18 지이 비디오 컴프레션, 엘엘씨 샘플 배열 멀티트리 세부분할에서 계승
BR122020007669B1 (pt) 2010-04-13 2022-07-12 Ge Video Compression, Llc Codificação de uma amostragem espacial de um sinal de informação bidimensional usando subdivisão
PL2559246T3 (pl) 2010-04-13 2017-02-28 Ge Video Compression Llc Łączenie obszarów próbek
KR101874272B1 (ko) 2010-04-13 2018-07-03 지이 비디오 컴프레션, 엘엘씨 평면 간 예측
KR20120014676A (ko) * 2010-08-10 2012-02-20 에스케이 텔레콤주식회사 적응적 부호화/복호화 모드 인덱싱 기법을 이용한 영상 부호화/복호화 장치 및 방법
JP2012138661A (ja) * 2010-12-24 2012-07-19 Sony Corp 画像処理装置および方法
US8805099B2 (en) * 2011-06-22 2014-08-12 Panasonic Intellectual Property Corporation Of America Image decoding method and image coding method
US10250912B2 (en) * 2015-02-17 2019-04-02 Mediatek Inc. Method and apparatus for entropy decoding with arithmetic decoding decoupled from variable-length decoding
CN105207677B (zh) * 2015-09-01 2018-02-06 上海斐讯数据通信技术有限公司 一种图形化编解码***及方法
US20180020228A1 (en) * 2016-07-12 2018-01-18 Mediatek Inc. Video processing system with multiple syntax parsing circuits and/or multiple post decoding circuits
CN109068144B (zh) * 2018-07-18 2021-03-12 北京奇艺世纪科技有限公司 一种概率估计方法、装置及电子设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05176187A (ja) * 1991-12-20 1993-07-13 Fujitsu Ltd データ圧縮・復元装置
JPH0697834A (ja) * 1992-09-11 1994-04-08 Nippon Telegr & Teleph Corp <Ntt> 可変多値算術符号化方法
JP2939869B2 (ja) * 1995-04-18 1999-08-25 富士ゼロックス株式会社 画像符号化装置および画像復号装置
JP2729165B2 (ja) 1995-10-31 1998-03-18 日本電気アイシーマイコンシステム株式会社 画像処理装置及びその処理方法
US6072909A (en) * 1995-12-13 2000-06-06 Fuji Xerox Co., Ltd. Image coding devise and image decoding devise using with image disassembly
JPH1155531A (ja) 1997-07-31 1999-02-26 Ricoh Co Ltd 算術符号化装置
JP3745160B2 (ja) * 1999-04-12 2006-02-15 三菱電機株式会社 符号化装置、復号化装置、符号化方法並びに復号化方法
JP3350482B2 (ja) 1999-06-04 2002-11-25 松下電送システム株式会社 算術符号化装置および算術復号化装置
JP3684128B2 (ja) 2000-02-18 2005-08-17 キヤノン株式会社 算術符号化/復号化方法ならびに算術符号化/復号化装置
US6677869B2 (en) * 2001-02-22 2004-01-13 Panasonic Communications Co., Ltd. Arithmetic coding apparatus and image processing apparatus
JP3929312B2 (ja) 2002-01-09 2007-06-13 パナソニック コミュニケーションズ株式会社 算術符号化装置および画像処理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Context-Based AdaptiveBinaryArithmeticCodingintheH.264/AVC VideoCompressionStandard. Detlev Marpe,Heiko Schwarz,Tomas Wiegand.IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY,Vol.VOL.13 . 2003
Context-Based AdaptiveBinaryArithmeticCodingintheH.264/AVC VideoCompressionStandard. Detlev Marpe,Heiko Schwarz,Tomas Wiegand.IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY,Vol.VOL.13 . 2003 *

Also Published As

Publication number Publication date
TW200518481A (en) 2005-06-01
TWI311870B (zh) 2009-07-01
EP1684435A4 (en) 2007-01-10
WO2005041420A1 (ja) 2005-05-06
KR100801364B1 (ko) 2008-02-05
US7301485B2 (en) 2007-11-27
JP4677901B2 (ja) 2011-04-27
KR20060064008A (ko) 2006-06-12
US20070040708A1 (en) 2007-02-22
JPWO2005041420A1 (ja) 2007-10-04
CN1875545A (zh) 2006-12-06
EP1684435A1 (en) 2006-07-26

Similar Documents

Publication Publication Date Title
CN100566178C (zh) 二进制算术码解码器和编码器,算术码解码器和编码器及其方法
CN112640448B (zh) 编码转换系数的熵编解码方法与装置
US4420771A (en) Technique for encoding multi-level signals
CN1316433C (zh) 视频信息编码方法和视频信息解码方法
US6917310B2 (en) Video decoder and encoder transcoder to and from re-orderable format
US6014095A (en) Variable length encoding system
JP5583106B2 (ja) データデコーディング
US20200177919A1 (en) Method for Producing Video Coding and Programme-Product
JP2008527902A (ja) 伸縮型符号化のための適応的エントロピー符号化及び復号化方法とその装置
JP4175366B2 (ja) 符号化装置および方法
CN102740068A (zh) 图像存储器压缩方法与装置
US10127913B1 (en) Method of encoding of data stream, method of decoding of data stream, and devices for implementation of said methods
US9414091B2 (en) Video encoder with an integrated temporal filter
KR102123620B1 (ko) 대용량 병렬 처리를 위해 비디오 신호를 엔트로피 인코딩 또는 엔트로피 디코딩하는 방법 및 장치
CN1327713C (zh) 用于对视频数据流压缩和解压缩的方法和装置
Gomes et al. High-performance design for the AV1 multi-alphabet arithmetic decoder
WO2003067763A2 (en) Video compression using analytical entropy coding
KR20030062229A (ko) 비디오 데이터를 런-렝스 인코딩하는 방법 및 장치
US6125211A (en) Progressive image transmission
US8421655B2 (en) Apparatus for parallel entropy encoding and decoding
Ahmadvand et al. A new pipelined architecture for JPEG2000 MQ-coder
US7262718B2 (en) Variable length decoder and variable length decoding method
JPH08316846A (ja) 画像符号化装置、画像復号化装置、画像符号化方法および画像復号化方法
Hsiau et al. Real-time PC-based software implementation of H. 261 video codec
JP3239664B2 (ja) 可変長符号復号方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091202

Termination date: 20211028

CF01 Termination of patent right due to non-payment of annual fee