CN1735209A - 使用流水线结构的二进制算术解码装置和方法 - Google Patents

使用流水线结构的二进制算术解码装置和方法 Download PDF

Info

Publication number
CN1735209A
CN1735209A CNA2005100893407A CN200510089340A CN1735209A CN 1735209 A CN1735209 A CN 1735209A CN A2005100893407 A CNA2005100893407 A CN A2005100893407A CN 200510089340 A CN200510089340 A CN 200510089340A CN 1735209 A CN1735209 A CN 1735209A
Authority
CN
China
Prior art keywords
decoded bits
decoding
parameter
context
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2005100893407A
Other languages
English (en)
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1735209A publication Critical patent/CN1735209A/zh
Pending legal-status Critical Current

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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/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)
  • Computing Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Advance Control (AREA)
  • Image Processing (AREA)

Abstract

提供了二进制算术解码方法和装置。使用先前产生的解码参数组产生第一解码比特和第一解码参数组。使用第一解码参数组产生第二解码比特和第二解码参数组。如果第一解码比特是语法元素的最后比特,则在产生随后的解码比特时忽略第二解码参数组。第一和第二解码比特的产生、以及对第一解码比特是否是语法元素的最后比特的确定例如去二进制化操作可以是流水线式的,使得对第一解码比特是否是语法元素的最后比特的确定在产生第二解码比特和第二解码参数组的同时和/或之后发生。

Description

使用流水线结构的二进制算术解码装置和方法
技术领域
本发明涉及数据压缩方法和装置,特别涉及算术解码方法和装置。
背景技术
人们正变得越来越希望视频处理设备支持高质量视频应用和多媒体业务。一般地说,视频装置必须在给定时间内处理的数据量日益增加。这导致了对用于视频数据的高速压缩和解压缩的新技术的持续需求。
传统的视频数据压缩技术包括由国际电信联盟(ITU)规定的H.261、H.262、H.263和其它技术、以及由国际标准化组织(ISO)规定的MPEG-1、MPEG-2、MPEG-4和其它技术。近来,ITU和ISO的联合视频组开发了包括高压缩速率的H.264和MPEG-4部分10AVC(MPEG-4 part 10 AVC)。由于H.264提供可能更高的压缩速率和对各种网络环境的适应性,因此尽管它在实现上存在复杂性和普遍困难,它仍被积极地开发为下一代视频数据压缩技术。
H.264标准定义了三种简档(profile),包括基线(baseline)简档、主简档和扩展简档。这些简档使用不同的压缩和恢复方案。基线简档通过基于上下文自适应可变长度编码(CAVLC)的熵编码来压缩视频数据。主简档定义用于处理高质量视频数据的设备例如HD电视的特性。主简档通过根据基于上下文的自适应二进制算术编码(CABAC)的熵编码来压缩视频数据。CABAC可以通过使用概率估计和算术编码方案来获得良好的压缩性能,其中所述概率估计和算术编码方案基于根据每个比特的上下文进行的概率模型选择和对每个语法元素的统计。
图1是图示根据H.264标准的、基于CABAC的数据压缩过程的流程图。该数据压缩过程包括:二进制化步骤S102、上下文模型选择步骤S104、算术编码步骤S106以及概率更新步骤S108。在二进制化步骤S102中,由于如上所述CABAC使用二进制算术编码,这意味着二元判定(binary decision)(‘0’和‘1’)被编码,因此具有非二进制值的语法元素例如变换系数或运动矢量在算术编码之前被二进制化。在上下文模型选择步骤S104中,为每个二进制化的比特选择上下文模型。该上下文模型是二进制化的语法元素的每个比特的概率模型。可以根据对近期被编码的语法元素的统计,从可用模型中选择比特的模型。上下文模型代表每个比特为‘0’或‘1’的相对概率。在算术编码步骤S106中,算术编码器根据相关联的所选择的概率模型将每个比特编码。在概率更新步骤S108中,基于实际编码值更新所选择的上下文模型。
使用CABAC解码器将通过图1示出的过程压缩的数据解码(恢复)。图2是图示CABAC解码器中的数据恢复过程的流程图。如图2所示,数据恢复过程包括:上下文选择步骤S202、1-比特解码步骤S204和去二进制化(de-binarization)步骤S206。在上下文选择步骤S202中,选择用于在算术解码器中进行解码的上下文。然后,在1-比特解码步骤S204中,使用所选择的上下文以及在先前产生的被解码比特的解码过程期间产生的解码参数(例如值、范围)来产生被解码比特。在去二进制化步骤S206中,通过确定在解码步骤中解码的比特是否是原始语法元素的最后比特来恢复该语法元素。
根据H.264标准,通过图1和2中的步骤压缩和恢复视频数据。如参考图2所描述的那样,按顺序一次一个比特地将二进制编码数据解码,也就是说,在完成对当前比特的解码之后,对下一比特的解码开始。语法元素的长度是可变的,而不是恒定的。因此,在完成对当前比特的去二进制化之前,不可能确定下一比特是属于当前语法元素还是属于下一语法元素。因此,可能难以以高处理速度执行CABAC解码。此外,1-比特解码步骤可包括重新正规化(re-normalization),其持续时间通常是可变的,并且其可以进一步延迟处理。如上所述的传统H.264解码过程中的潜在问题可能是使得难以实现具有高数据处理速率的高速CABAC解码器。
发明内容
在本发明的一些实施例中,提供了二进制算术解码方法。使用先前产生的解码参数组产生第一解码比特和第一解码参数组。使用第一解码参数组产生第二解码比特和第二解码参数组。如果第一解码比特是语法元素的最后比特,则在产生随后的解码比特时忽略第二解码参数组。第一和第二解码比特的产生、以及第一解码比特是否是语法元素的最后比特的确定例如去二进制化操作可以是流水线式的(pipelined),使得对第一解码比特是否是语法元素的最后比特的确定在产生第二解码比特和第二解码参数组的同时和/或之后发生。如果第一解码比特是语法元素的最后比特则在产生随后的解码比特时忽略第二解码参数组可以包括:如果第一解码比特是语法元素的最后比特,则在产生随后的解码比特时,不使用在产生第二解码比特时确定的上下文和解码间隔,而是使用来自第一解码参数组的解码间隔参数来产生第三解码比特。
根据本发明的另一实施例,第一和第二解码参数组可以包括各自的第一和第二上下文以及各自的第一和第二解码间隔参数。第一和第二解码间隔参数可以包括各自的第一和第二值和范围参数组。
第一解码比特和第一解码参数组的产生以及/或者第二解码比特和第二解码参数组的产生可以包括将第一范围和值参数组以及/或者第二范围和值参数组重新正规化。重新正规化可以包括:产生指示二进制的“1”在第一范围参数的最低有效b位中出现的次数的第一二进制值;产生指示二进制的“1”相对于第一范围参数的最低有效位出现的位位置的第二二进制值;产生第一与第二二进制值的和;将第一范围参数移动该第一与第二二进制值的和,以产生第二范围参数;以及将第一值参数移动该第一与第二二进制值的和,以产生第二值参数。
在另一实施例中,使用先前产生的解码参数组来产生第一解码比特和第一解码参数组包括:产生第一多个解码比特和第一多个解码参数组。使用第一解码参数组来产生第二解码比特和第二解码参数组包括:产生第二多个解码比特和第二多个解码参数组。确定第一解码比特是否是语法元素的最后比特包括:确定第一多个解码比特之一是否是语法元素的最后比特。如果第一解码比特是语法元素的最后比特则在产生随后的解码比特时忽略第二解码参数组包括:如果所述第一多个解码比特之一是语法元素的最后比特,则在产生随后解码比特时忽略第二多个解码参数组中的至少一个。第一和第二多个解码比特的产生以及第一多个解码比特之一是否是语法元素的最后比特的确定可以是流水线式的,使得对第一多个解码比特之一是否是语法元素的最后比特的确定在产生第二多个解码比特和第二多个解码参数组的同时和/或之后发生。每个解码参数组可以包括解码间隔参数,例如每个解码参数组包括值参数和范围参数,并且解码参数组可以不包括上下文。
根据本发明的其它实施例,一种装置包括二进制算术解码器,该解码器被配置为从编码比特流恢复语法元素。该二进制算术解码器被配置为使用先前产生的解码参数组产生第一解码比特和对应的解码参数组、以及使用第一解码参数组产生第二解码比特和对应的第二解码参数组,并且还被配置为确定第一解码比特是否是语法元素的最后比特、并且如果第一解码比特是语法元素的最后比特则在产生随后的解码比特时忽略第二解码参数组。
该二进制算术解码器可以包括上下文-自适应二进制算术编码(CABAC)解码器,该解码器被配置为:如果第一解码比特是语法元素的最后比特,则在产生随后的解码比特时,不使用在产生第二解码比特时确定的上下文和解码间隔。该CABAC解码器还可以被配置为:如果第一解码比特是语法元素的最后比特,则使用来自第一解码参数组的解码间隔参数来产生第三解码比特。
第一和第二解码参数组可包括各自的第一和第二解码上下文以及各自的第一和第二解码间隔参数。CABAC解码器可包括:寄存器,被配置为存储上下文和解码间隔参数;上下文选择器,被配置为从寄存器接收上下文、存储所接收的上下文、以及响应于语法元素指示符信号而从所存储的上下文中进行选择;算术解码器,被配置为从上下文选择器接收所选择的上下文以及从寄存器接收解码间隔参数、接收数据流并根据所选择的上下文和所接收的解码间隔参数从中产生解码比特、以及产生包括各个解码比特的上下文和解码间隔参数的各个组;去二进制化器,被配置为接收解码比特、将解码比特转换成语法元素、以及产生指示解码比特是否是语法元素的最后比特的最后比特指示符信号;以及控制器,被配置为接收所产生的各个解码比特的上下文和解码间隔参数组以及最后比特指示符信号,并且响应于最后比特指示符信号而选择性地将上下文和解码间隔参数存储在寄存器中。
第一和第二解码参数组可以包括各自的第一和第二范围和值参数组,并且算术解码器可以包括重新正规化器,该重新正规化器被配置为将第一范围和值参数组以及/或者第二范围和值参数组重新正规化。重新正规化器可以包括:第一检测器,被配置为产生指示二进制的“1”在第一范围参数的最低有效b位中出现的次数的第一二进制值;第二检测器,被配置为产生指示二进制的“1”相对于第一范围参数的最低有效位出现的位位置的第二二进制值;加法器,被配置为产生第一与第二二进制值的和;第一移位寄存器,被配置为将第一范围参数移动该第一与第二二进制值的和,以产生第二范围参数;以及第二移位寄存器,被配置为将第一值参数移动该第一与第二二进制值的和,以产生第二值参数。重新正规化器可以根据以下关系、通过将第一范围参数和第一值参数移动x位来产生第二范围参数和第二值参数:
         x=log2(2b-2/range)+1=b-1-round(log2range),其中,b是常数,而range(范围)是第一范围参数。
在另一实施例中,二进制算术解码器被配置为:产生第一多个解码比特和对应的第一多个解码参数组,以及使用第一解码参数组产生第二多个解码比特和对应的第二解码参数组。该二进制算术解码器还被配置为:确定第一多个解码比特之一是否是语法元素的最后比特,并且如果第一多个解码比特之一是语法元素的最后比特,则在产生随后的解码比特时,忽略第二多个解码参数组中的至少一个。该二进制算术解码器可以包括:算术解码器链,其每一个都被配置为将一组解码参数传递到该链中的下一算术解码器;以及多比特去二进制化器(multi-bit de-binarizer),被配置从算术解码器链接收多个解码比特。
根据本发明的另一实施例,一种算术解码器包括:解码器,被配置为从被算术编码的输入数据流产生第一范围参数和第一值参数;以及重新正规化器,被配置为基于二进制的“1”在第一范围参数的最低有效b位中出现的次数、以及二进制的“1”相对于第一范围参数的最低有效位出现的位位置,从第一范围和值参数产生重新正规化的第二范围和值参数。重新正规化器可以包括:第一检测器,被配置为产生指示二进制的“1”在第一范围参数的最低有效b位中出现的次数的第一二进制值;第二检测器,被配置为产生指示二进制的“1”相对于第一范围参数的最低有效位出现的位位置的第二二进制值;加法器,被配置为产生第一与第二二进制值的和;第一移位寄存器,被配置为将第一范围参数移动该第一与第二二进制值的和,以产生第二范围参数;以及第二移位寄存器,被配置为将第一值参数移动该第一与第二二进制值的和,以产生第二值参数。重新正规化器可以根据以下关系、通过将第一范围参数和第一值参数移动x位来产生第二范围参数和第二值参数:
        x=log2(2b-2/range)+1=b-1-round(log2range),其中,b是常数,而range(范围)是第一范围参数。
附图说明
图1是图示根据H.264标准、根据基于上下文的自适应二进制算术编码(CABAC)的传统数据压缩过程的流程图。
图2是图示根据H.264标准、基于CABAC的传统数据恢复过程的流程图。
图3是图示根据本发明一些实施例的基于流水线方案的CABAC解码过程的图。
图4是根据本发明另外的实施例的解码过程的流程图。
图5和6是根据本发明另外的实施例的CABAC解码器的示意图。
图7是根据本发明一些实施例的用于图5和6所示的算术解码器中的重新正规化器的示意图。
图8图示根据本发明一些实施例的、包括多个比特的同时解码和去二进制化的解码过程。
图9图示根据本发明另外的实施例的算术解码器的示例,该算术解码器被配置为将多个比特同时解码和去二进制化。
具体实施方式
现在将参考附图对本发明的具体示例实施例进行描述。然而,本发明可以以多种不同的形式实施,而不应被解释为限于在此阐述的实施例。相反,提供这些实施例,使得本公开彻底和完整,并且将向本领域技术人员充分传达本发明的范围。在附图中,相同的附图标记表示相同的元件。将理解的是,当提到一元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到该另一元件、或者可以存在***的元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接
这里使用的术语仅仅是出于描述特定实施例的目的,而不是打算限制本发明。如在此使用的那样,单数形式“一”(“a”、“an”)和“该”(“the”)还将包括复数形式,除非以其它方式明确说明。还可以理解的是,当术语“包括”和/或“包含”(“includes,”“includes,”“including”and/or“including,”)被用于本说明书中时,其具体说明存在所述特征、整数、步骤、操作、元件和/或组件,但并不排除存在或增加一个或多个其它特征、整数、步骤、操作、元件、组件和/或它们的组。
除非以其它方式定义,这里使用的所有术语(包括技术和科学术语)具有与本发明所属技术领域的一个普通技术人员所通常理解的相同的含义。还将理解的是,诸如在常用的字典中定义的那些术语的术语应被解释为具有与它们在相关领域和本说明书的上下文中的含义一致的含义,而不应在理想化或过于刻板的意义上进行解释,除非在这里明确地如此定义。
将理解的是,尽管在这里使用术语第一、第二来描述各种元件,但是这些元件不应受到这些术语限制。这些术语仅仅用来将一个元件与另一元件区分开。因此,在不脱离本发明的教导的情况下,第一项可以被称为第二项,并且类似地,第二项可以被称为第一项。如在这里使用的那样,术语“和/或”包括一个或多个相关的所列出的项的任意和全部组合。符号“/”也可以被用作“和/或”的简化记号。
图3是图示基于根据本发明一些实施例的流水线CABAC解码过程的图。在所示实施例中,对连续比特的上下文选择和去二进制化可以并行执行,例如,使得对第一比特bin1的去二进制化在第二比特bin2的上下文选择和/或解码开始的同时和/或之后发生。更具体地说,在第一时钟周期CC1中,为第一比特bin1选择上下文。在第二时钟周期CC2中,使用第一时钟周期CC1的上下文将第一比特bin1解码。在第二时钟周期CC2中,为第二比特bin2选择上下文。对第一比特bin1的去二进制化、对第二比特bin2的解码操作、以及对第三比特的上下文选择均在第三时钟周期CC3中执行。
在所示实施例中,对多个比特的上下文选择、1-比特解码和去二进制化中的至少两个在同一时钟周期中执行。可以使用这种流水线方案来获得增大的速度。然而,由于语法元素通常具有可变的长度,因此也许不可能在完成对当前的一个比特的去二进制化之前确定对应语法元素的所有比特是否都被解码。因而,在使用如图3所示的流水线方案的CABAC解码过程中,当使用错误的上下文选择将属于下一语法元素的比特解码时,可能出现错误。例如,假设第三比特bin3是语法元素的最后比特,则对第四比特bin4的上下文选择应使用新语法元素的上下文。然而,在使用如图3所示的流水线方案的CABAC解码中,对第四比特bin4的上下文选择发生在完成对第三比特bin3的去二进制化之前,即,基于第三比特bin3和第四比特bin4属于同一语法元素的假设进行了上下文选择。这导致了错误,该错误在于使用错误的上下文将作为下一语法元素的第一比特的第四比特bin4解码。如果不解决这一错误,它可导致上下文的不正确更新,从而导致后续比特的解码错误。
图4是图示根据本发明一些实施例的解码过程的流程图。如图4所示,当对语法元素的最后比特的去二进制化完成时,利用该比特的解码结果更新解码参数,以便避免上述错误。例如,参考图3,当对第三比特bin3的去二进制化完成时,在随后的解码中,忽略已经在对第四比特bin4的解码中产生的解码参数。可以转而使用可存储在CABAC解码器的寄存器中的第三比特bin3的解码参数,以避免上下文更新错误。
在下文中,将参照图4来描述根据本发明一些实施例的CABAC解码过程。上下文选择步骤S402、1-比特解码步骤S404和去二进制化步骤S406与上面参照图2描述的对应步骤基本相同,因此省略对其的进一步描述。根据所示出的本发明的实施例,使用如图3所示的流水线方案来逐个比特地执行上述步骤。当完成对一比特的去二进制化时,执行对该比特是否是语法元素的最后比特的确定(S408)。如果该比特是语法元素的最后比特,则忽略在对下一比特,即下一语法元素的第一比特的解码过程中产生的解码参数,并且利用该语法元素的最后比特的上下文和所产生的范围与值的参数重置解码器的解码参数(S410)。如果该比特不是语法元素的最后比特,则使用当前解码的比特的上下文和所产生的解码间隔参数(例如范围和值参数)来更新解码器的解码参数(S412)。
图5是根据本发明另外的实施例的解码器的方框图,该解码器被配置为执行图4所示的解码过程。CABAC解码器包括上下文选择器502、算术解码器504、去二进制化器506、控制器508和寄存器510,其中,上下文选择器502、算术解码器504和去二进制化器506被以流水线配置。根据语法元素指示符信号SEx.比特索引(bit index)信号k、以及通过将前一比特解码产生的解码参数组DCP_P中的解码参数DCP_P2,上下文选择器502选择存储在其内部存储器内的多个上下文中的一个CTX_A。语法元素指示符信号SEx和比特索引信号k每周期提供一次。上下文选择器502将所选择的上下文传送给算术解码器504。
算术解码器504通过使用从上下文选择器502输入的上下文CTX_A来对从外部流缓冲器输入的比特流执行1-比特解码。算术解码器504将解码后的二进制值bin_v输出到去二进制化器506,并将解码过程中产生的解码参数DCP_N输出到控制器508。算术解码器504通过使用所产生的先前解码的比特的解码参数组DCP_P中的解码参数DCP_P1来执行对当前比特的解码。
去二进制化器506将从算术解码器504输入的二进制值bin_v去二进制化,并且产生恢复的语法元素SE_V。在由去二进制化器506进行去二进制化期间,确定一比特是否是语法元素的最后比特。去二进制化器506产生最后比特指示符信号Last_bin,其指示正被去二进制化的比特是否是语法元素的最后比特。
控制器508响应来自去二进制化器506的最后比特指示符信号Last_bin,从两个解码参数组DCP_N和DCP_P中选择一个,并将所选择的参数组存储到寄存器510中。解码参数组DCP_N被从算术解码器504输入,而另一解码参数组DCP_P是所产生的前一比特的参数组。
控制器508基于最后比特指示符信号Last_bin确定当前正被去二进制化的比特是否是语法元素的最后比特,并且,如果是这样,则将前一比特的解码参数存储在寄存器510中。如果当前正被去二进制化的比特不是语法元素的最后比特,则将从算术解码器504输入的新解码参数DCP_N存储在寄存器510中。从寄存器510输入到上下文选择器502的解码参数DCP_P2可以包括前一比特的上下文和上下文索引,而从寄存器510输入到算术解码器504的解码参数DCP_P1可以是解码间隔参数,例如用于算术解码过程的范围和值参数。
图6是根据本发明一些实施例的解码器的详细图,该解码器被配置为执行图4所示的解码过程。图6示出的解码器包括上下文选择器610、算术解码器620、去二进制化器630、控制器640和寄存器650。上下文选择器610包括:上下文索引生成器612、多个上下文存储寄存器614和第一控制电路616。上下文索引生成器612根据语法元素值SEx和比特索引k产生当前比特的上下文索引CTX_Idx,其中,每个周期从外部提供一次语法元素值SEx和比特索引k的每一个。将多个上下文存储在寄存器614中。第一控制电路616根据所产生的上下文索引CTX_Idx_N,将从寄存器614中选择的上下文CTX_A输入到算术解码器620。第一控制电路616可以包括多路复用器(MUX)电路。
通过使用从上下文选择器610输入的上下文、以及存储在寄存器650的解码间隔参数寄存器652中的前一比特输入的解码范围和值参数range_P和value_P,算术解码器620每个周期一比特地对比特流中的压缩数据进行解码。算术解码器620将解码后的二进制值bin_V提供给去二进制化器630。在对当前比特的解码中,算术解码器620通过使用来自上下文选择器610的上下文CTX_A和所产生的前一比特的范围和值参数range_P和value_P,产生新上下文CTX_N以及产生新范围和值参数range_N和value_N。
在图5和6中,算术解码器504和620可以使用由以下操作伪代码描述的传统1-比特解码过程:
Modified_QM Coder_deeoder(state,MPS,range,value)
(1)Set bit=MPS
(2)Set rLPS=rLPS_table_64×4[state][(range>>6)&3]
(3)Set range=range-rLPS
(4)if value<range then Set state=AC_next_state_MPS_64[state]
   else Set value=value-range
   Set range=rLPS,Set bit=!bit
   if state==0 then Set MPS=1-MPS
   Set state=AC_next_state_LPS_64[state]
(5)Set while range≤2b-2do
   Set range=2*range and value=2*value+read_one_bit(),其中range和value是算术解码间隔参数。
上述程序中的操作(5)对应重新正规化操作,由于其可变的发生频率,其可导致总操作时间的变化增加,如上所述。操作(5)的重新正规化操作可以重复可变的次数,直到满足操作(5)中的‘while’语句的条件为止。
如果在没有‘while’条件的情况下执行操作(5),则这种时间延迟可被减小。下面示出了对不使用这种‘while’结构的操作(5)的可能的替换操作:
(5-1)x=log2(2b-2/range)+1=b-1-round(log2range)
(5-2)range=range<<x and value<<x+read_x_bit(),其中符号<<表示移位,并且read_x_bit对应正被解码的输入比特流。
在这些操作中,b是常数,并且x是当1在该range(范围)内的b-1个最低有效位中仅出现一次时输入范围参数中的移位。操作(5-1)包括对数和除法运算,并且可能难以用硬件实现。
图7是图5和6所示的算术解码器中可用于重新正规化操作的重新正规化器700的示例。参见图7,重新正规化器700包括:第一比特检测器702、第二比特检测器704、加法器706、第一移位寄存器708和第二移位寄存器710。当在从寄存器输入的前一比特的范围参数range_P中的第b比特之下“1”仅仅出现一次时,第一比特检测器702输出“1”,而在“1”出现多于一次时输出“0”。这可以通过对前一比特的范围参数range_P进行与(AND)操作和或(OR)操作来获得。第一比特检测器702可以通过使用与门和或门(未示出)来实现。第二比特检测器704产生一信号,该信号指示在前一比特的范围参数range_P中第一次出现的“1”的出现在哪个位位置。第二比特检测器704可以使用优先编码器(priority encoder)来实现。
加法器706将第一比特检测器702和第二比特检测器704的输出相加。加法器706的输出对应上面的等式中的x。第一移位寄存器708输出新范围参数range_N,该新范围参数range_N通过将从寄存器输入的前一比特的范围参数range_P向左移动加法器706的输出x而产生。第二移位寄存器710通过将从寄存器输入的前一比特的值参数value_P和输入比特流比特流[31∶0]向左移动加法器706的输出x来产生新的值参数value_N。
如上所述,重新正规化器700通过使用前一比特的范围和值参数来产生新的范围和值参数range_N和value_N。重新正规化器700不需要如上述操作(5)中所需的重复移位操作。通过使用图7示出的硬件配置,可以在一个周期内完成重新正规化过程,这可以由此减小延迟。算术解码器的其它操作可以遵循H.264标准,因此省略对其的详细描述。
再次参照图6,去二进制化器630通过使用由算术解码器620产生的解码后的二进制值bin_v来恢复原始语法元素SE_V,确定输入二进制值bin_v是否是语法元素的最后比特,并产生用于选择上下文选择和解码间隔参数的最后比特指示符信号Last_bin。控制器640选择解码参数并将其存储在寄存器650中。这些参数是从两个参数组,即从寄存器650输入的前一比特的参数CTX_P、CTX_Idx_P、range_P和value_P以及从算术解码器620和上下文选择器610输入的当前比特的参数CTX_N、CTX_Idx_N、range_N和value_N中选择的。根据从寄存器650输入的前一比特的上下文索引CTX_Idx_P,前一比特的上下文CTX_P也被输入上下文选择器610。
如图所示,控制器640可以包括MUX电路642、644、646和648。控制器640的第一MUX电路642根据最后比特指示符信号Last_bin选择一组解码间隔参数,并将其输入解码间隔参数寄存器652。所存储的解码间隔参数是从两个参数组,即从解码间隔参数寄存器652提供的前一比特的解码间隔参数range_P和value_P以及从算术解码器620输入的当前比特的解码间隔参数range_N和value_N中选择的。如果当前正被去二进制化的比特是语法元素的最后比特,则第一MUX电路642利用从解码间隔参数寄存器652输入的前一比特的范围和值参数range_P和value_P来更新解码寄存器652。如果当前正被去二进制化的比特不是语法元素的最后比特,则第一MUX电路642将当前比特的范围和值参数range_N和value_N保留在解码间隔参数寄存器652中。
控制器640的第二MUX电路644根据最后比特指示符信号Last_bin选择上下文索引,并将所选择的上下文索引存储在上下文索引寄存器654中。上下文索引是从来自上下文索引寄存器654的前一比特的上下文索引CTX_Idx_P、以及来自上下文选择器610的当前比特的上下文索引CTX_Idx_N中选择的。如果当前正被去二进制化的比特是语法元素的最后比特,则第二MUX电路644在上下文索引寄存器654中利用从索引寄存器654输入的前一比特的上下文索引CTX_Idx_P来重置索引寄存器654。如果当前正被去二进制化的比特不是语法元素的最后比特,则第二MUX电路642将当前比特的上下文索引CTX_Idx_N存储在上下文索引寄存器654中。
控制器640的第三MUX电路646响应于来自去二进制化器630的最后比特指示符信号Last_bin而选择上下文,并将所选择的上下文存储在上下文寄存器656中。该上下文是从来自上下文寄存器656的前一比特的上下文CTX_P、和来自算术解码器620的当前比特的上下文CTX_N中选择的。如果当前正被去二进制化的比特是语法元素的最后比特,则第三MUX电路646利用从上下文寄存器656输入的前一比特的上下文CTX_P来重置上下文寄存器656。如果当前正被去二进制化的比特不是语法元素的最后比特,则第三MUX电路646将当前比特的上下文CTX_N存储到上下文寄存器656中。控制器640的第四MUX电路648根据存储在上下文索引寄存器654中的上下文索引将来自上下文寄存器656的上下文提供给上下文选择器610。
如上所述,寄存器650包括多个寄存器,前一比特和当前比特的解码参数分别被存储在其每一个中。寄存器650包括解码间隔参数寄存器652、上下文索引寄存器654和上下文寄存器656。解码间隔参数寄存器652存储从控制器640的第一MUX电路642输入的解码间隔参数,并将所存储的解码间隔参数输出到算术解码器620和控制器640。上下文索引寄存器654存储从控制器640的第二MUX电路644输入的上下文索引,并将所存储的上下文索引输出给到第二和第四MUX电路644和648。上下文寄存器656存储从第三MUX电路646输入的上下文,并将所存储的上下文输出到第三和第四MUX电路646和648。
在H.264/AVC标准中,当“最大概率符号(Most Probable Symbol)”(MPS)和“最小概率符号(Least Probable Symbol)”(LPS)的概率相同时,可以执行二进制算术解码过程(例如,在“旁通解码(bypass decoding)”模式中),而不需要上下文选择过程。因此,有可能同时将多个比特解码。此外,在旁通解码模式下,当用于解码的二进制化方案采用指数Golomb(Exp-Golomb)码时,可以同时将多个比特去二进制化。本发明的实施例可以应用于旁通解码器。也就是说,当对语法元素的最后比特进行解码时,可以通过更新最后比特的范围和值参数并改变从条形缓冲器(strip buffer)读出的位偏移(bit offset)而在一个周期内将多个比特解码。
图8图示根据本发明一些实施例的二进制算术解码器中的示例解码过程。如图8所示,第一和第二多个4比特每个都被并行地解码和去二进制化。与上面参照图3-6所述的操作相似,可以通过在正被去二进制化的4比特中检测语法元素的最后比特,并利用该最后比特的解码参数来更新解码参数,使得该最后比特的解码参数被用于后续语法元素的第一比特,来防止起因于将属于其它语法元素的比特解码的解码错误。
图9图示多比特解码器900的示例,该解码器沿着图8示出的线并行地将第一和第二多个比特解码和去二进制化。该多比特解码器包括解码器900,和去二进制化器910。解码器900包括4个算术解码器902、904、906和908的链。第一解码器902将比特bin0、bin4、...解码,第二解码器904将比特bin1、bin5、...解码,第三解码器906将比特bin2、bin6、...解码,并且第四解码器908将比特bin3、bin7、...解码。第一解码器902向多比特去二进制化器910提供解码后的二进制值bin_v1,并且还向第二解码器904提供在解码过程中产生的解码范围和值参数range_N1和value_N1。第二解码器904使用从第一解码器902输入的解码参数range_N1和value_N1进行解码,将解码后的二进制值bin_v2输出到多比特去二进制化器910,并向第三解码器906提供在解码过程中产生的解码范围和值参数range_N2和value_N2。
第三解码器904使用从第二解码器904输入的解码参数range_N2和value_N2进行解码,将解码后的二进制值bin_v3提供给多比特去二进制化器910,并将在解码过程中产生的解码范围和值参数range_N3和value_N3输出到第四解码器908。第四解码器908使用从第三解码器906输入的解码参数range_N3和value_N3进行解码,将解码后的二进制值bin_v4输出到多比特去二进制化器910,并将在解码过程中产生的解码范围和值参数range_N4和value_N4输出到第一解码器902。使用相对简单的运算方程和快速计算技术,可以在旁通模式下在一个时钟周期内执行第一到第四解码器902、904、906和908的解码操作。
多比特去二进制化器910将从第一、第二、第三和第四解码器902、904、906和908输出的解码后的二进制值bin_v1、bin_v2、bin_v3和bin_v4去二进制化,并产生对应的语法元素。多比特去二进制化器910还确定来自第一到第四解码器的被解码的二进制值中的任一个是否是语法元素的最后比特,并产生给第一解码器902的最后比特指示符信号Last_bin,作为响应,第一解码器902忽略所产生的跟随在最后比特之后的比特的解码参数。例如,如果第三比特bin_v3是对应语法元素的最后比特,则第一解码器902使用从第三解码器906输出的解码范围和值参数range_N3和value_N3,而解码范围和值参数range_N4和value_N4被忽略。通过上述过程,可以防止属于其它语法元素的下一比特的解码错误。
如上所述,通过使用根据本发明各种实施例的二进制算术解码器和方法,可以在没有比较操作的情况下执行重新正规化过程,并因此可以减小解码的时间延迟。根据本发明另外的实施例,通过以流水线的方式将比特解码和去二进制化,可以提高解码速度,同时避免解码错误。
在附图和说明书中,已经公开了本发明的实施例,并且,尽管采用了特定术语,但仅仅是在一般性和说明性的意义上使用它们,而不是出于限制的目的,在所附权利要求中阐述了本发明的范围。
相关申请交叉引用
此美国非临时专利申请要求2004年8月2日提交的韩国专利申请2004-60813在35U.S.C§119下的优先权,其全部内容通过引用而被合并于此。

Claims (35)

1.一种二进制算术解码方法,包括:
使用先前产生的解码参数组产生第一解码比特和第一解码参数组;
使用第一解码参数组产生第二解码比特和第二解码参数组;
确定第一解码比特是否是语法元素的最后比特;以及
如果第一解码比特是语法元素的最后比特,则在产生随后的解码比特时忽略第二解码参数组。
2.根据权利要求1的方法,其中,第一和第二解码比特的产生以及对第一解码比特是否是语法元素的最后比特的确定是流水线式的,使得对第一解码比特是否是语法元素的最后比特的确定在产生第二解码比特和第二解码参数组的同时和/或之后发生。
3.根据权利要求1的方法,其中,如果第一解码比特是语法元素的最后比特则在产生随后的解码比特时忽略第二解码参数组包括:在产生随后的解码比特时,不使用产生第二解码比特时确定的上下文和解码间隔。
4.根据权利要求3的方法,还包括:如果第一解码比特是语法元素的最后比特,则使用来自第一解码参数组的解码间隔参数来产生第三解码比特。
5.根据权利要求1的方法,其中,对第一解码比特是否是语法元素的最后比特的确定包括将该第一解码比特去二进制化。
6.根据权利要求1的方法,其中,第一和第二解码参数组包括各自的第一和第二上下文以及各自的第一和第二解码间隔参数。
7.根据权利要求6的方法,其中,第一和第二解码间隔参数包括各自的第一和第二值与范围参数组。
8.根据权利要求7的方法,其中,使用先前产生的解码参数组来产生第一解码比特和第一解码参数组、以及/或者使用第一解码参数组来产生第二解码比特和第二解码参数组包括:将第一范围和值参数组以及/或者第二范围和值参数组重新正规化。
9.根据权利要求8的方法,其中,将第一范围和值参数组以及/或者第二范围和值参数组重新正规化包括:
产生指示二进制的“1”在第一范围参数的最低有效b位中的次数的第一二进制值;
产生指示二进制的“1”相对于第一范围参数的最低有效位出现的位位置的第二二进制值;
产生第一与第二二进制值的和;
将第一范围参数移动该第一与第二二进制值的和,以产生第二范围参数;以及
将第一值参数移动该第一与第二二进制值的和,以产生第二值参数。
10.根据权利要求1的方法:
其中,使用先前产生的解码参数组来产生第一解码比特和第一解码参数组包括:产生第一多个解码比特和第一多个解码参数组;
其中,使用第一解码参数组来产生第二解码比特和第二解码参数组包括:产生第二多个解码比特和第二多个解码参数组;
其中,确定第一解码比特是否是语法元素的最后比特包括:确定第一多个解码比特之一是否是语法元素的最后比特;以及
其中,如果第一解码比特是语法元素的最后比特则在产生随后的解码比特时忽略第二解码参数组包括:如果第一多个解码比特之一是语法元素的最后比特,则在产生随后的解码比特时忽略第二多个解码参数组中的至少一个。
11.根据权利要求10的方法,其中,第一和第二多个解码比特的产生、以及对第一多个解码比特之一是否是语法元素的最后比特的确定是流水线式的,使得对第一多个解码比特之一是否是语法元素的最后比特的确定在产生第二多个解码比特和第二多个解码参数组的同时和/或之后发生。
12.根据权利要求11的方法,其中,解码参数组每个都包括解码间隔参数。
13.根据权利要求12的方法,其中,解码参数组每个都包括值参数和范围参数。
14.根据权利要求10的方法,其中,解码参数组不包括上下文。
15.根据权利要求1的方法,还包括:从第一解码比特恢复语法元素。
16.一种装置,包括:
二进制算术解码器,被配置为从编码比特流恢复语法元素,该二进制算术解码器被配置为使用先前产生的解码参数组来产生第一解码比特和对应的解码参数组、以及使用第一解码参数组来产生第二解码比特和对应的第二解码参数组,该二进制算术解码器还被配置为确定第一解码比特是否是语法元素的最后比特、以及如果第一解码比特是语法元素的最后比特则在产生随后的解码比特时忽略第二解码参数组。
17.根据权利要求16的装置,其中,二进制算术解码器被配置为以流水线的方式产生第一和第二解码比特以及确定第一解码比特是否是语法元素的最后比特,使得对第一解码比特是否是语法元素的最后比特的确定在产生第二解码比特和第二解码参数组的同时和/或之后发生。
18.根据权利要求16的装置,其中,二进制算术解码器包括上下文-自适应二进制算术编码(CABAC)解码器,该解码器被配置为如果第一解码比特是语法元素的最后比特,则在产生随后的解码比特时不使用在产生第二解码比特时确定的上下文和解码间隔。
19.根据权利要求18的装置,其中,CABAC解码器还被配置为如果第一解码比特是语法元素的最后比特,则使用来自第一解码参数组的解码间隔参数来产生第三解码比特。
20.根据权利要求18的装置,其中,第一和第二解码参数组包括各自的第一和第二解码上下文以及各自的第一和第二解码间隔参数。
21.根据权利要求20的装置,其中,CABAC解码器包括:
寄存器,被配置为存储上下文和解码间隔参数;
上下文选择器,被配置为从寄存器接收上下文,存储所接收的上下文,并响应于语法元素指示符信号而从所存储的上下文之间进行选择;
算术解码器,被配置为从上下文选择器接收所选择的上下文并从寄存器接收解码间隔参数,接收数据流、并根据所选择的上下文和所接收的解码间隔参数从其中产生解码比特,以及产生各个解码比特的包括上下文和解码间隔参数的各个组;
去二进制化器,被配置为接收解码比特,将该解码比特转换成语法元素、以及产生指示解码比特是否是语法元素的最后比特的最后比特指示符信号;以及
控制器,被配置为接收所产生的各个解码比特的上下文和解码间隔参数组以及最后比特指示符信号,并且响应于最后比特指示符信号,选择性地将上下文和解码间隔参数存储在寄存器中。
22.根据权利要求21的装置,其中,第一和第二解码参数组包括各自的第一和第二范围和值参数组,并且其中,算术解码器包括重新正规化器,该重新正规化器被配置为将第一范围和值参数组以及/或者第二范围和值参数组重新正规化。
23.根据权利要求22的装置,其中,重新正规化器包括:
第一检测器,被配置为产生指示二进制的“1”在第一范围参数的最低有效b位中出现的次数的第一二进制值;
第二检测器,被配置为产生指示二进制的“1”相对于第一范围参数的最低有效位出现的位位置的第二二进制值;
加法器,被配置为产生第一与第二二进制值的和;
第一移位寄存器,被配置为将第一范围参数移动该第一与第二二进制值的和,以产生第二范围参数;以及
第二移位寄存器,被配置为将第一值参数移动该第一与第二二进制值的和,以产生第二值参数。
24.根据权利要求23的装置,其中,重新正规化器根据以下关系、通过将第一范围参数和第一值参数移动x位来产生第二范围参数和第二值参数:
x=log2(2b-2/range)+1=b-1-round(log2range),其中,b是常数,而range是第一范围参数。
25.根据权利要求21的装置,
其中,上下文选择器被配置为响应于第一语法元素指示符信号而产生第一上下文索引、以及响应于第二语法元素指示符信号而产生第二上下文索引;
其中,控制器被配置为响应于最后比特指示符信号,选择性地将第一上下文索引或第二上下文索引提供给寄存器;
其中,算术解码器被配置为产生第一解码比特的第一上下文和第一解码间隔参数组、以及产生第二解码比特的第二上下文和第二解码间隔参数组;
其中,寄存器包括:
解码间隔寄存器,被配置为存储从控制器接收的解码间隔参数,并将所存储的解码间隔参数提供给算术解码器;
上下文寄存器,被配置为存储从控制器接收的上下文;以及
上下文索引寄存器,被配置为存储从控制器接收的上下文索引;
其中,控制器包括:
第一控制电路,被配置为响应于最后比特指示符信号,将第一解码间隔参数组或第二解码间隔参数组之一存储在解码间隔寄存器中;
第二控制电路,被配置为响应于最后比特指示符信号,将第一上下文或第二上下文之一存储在上下文寄存器中;
第三控制电路,被配置为响应于最后比特指示符信号,将第一上下文索引或第二上下文索引之一存储在上下文寄存器中;以及
第四控制电路,被配置为根据存储在上下文索引寄存器中的上下文索引,将所选择的上下文提供给上下文选择器的上下文存储单元。
26.根据权利要求16的装置,其中,二进制算术解码器被配置为产生第一多个解码比特和对应的第一多个解码参数组、以及使用第一解码参数组产生第二多个解码比特和对应的第二解码参数组;该二进制算术解码器还被配置为确定第一多个解码比特之一是否是语法元素的最后比特,并且如果所述第一多个解码比特之一是语法元素的最后比特,则在产生随后的解码比特时忽略第二多个解码参数组中的至少一个。
27.根据权利要求26的装置,其中,二进制算术解码器被配置为以流水线的方式产生第一和第二多个解码比特、以及确定第一多个解码比特之一是否是语法元素的最后比特,使得对第一多个解码比特之一是否是语法元素的最后比特的确定在产生第二多个解码比特和第二多个解码参数组的同时和/或之后发生。
28.根据权利要求26的装置,其中,解码参数组每个都包括解码间隔参数。
29.根据权利要求28的装置,其中,解码参数组每个都包括值参数和范围参数。
30.根据权利要求26的装置,其中,解码参数组不包括上下文。
31.根据权利要求26的装置,其中,二进制算术解码器包括:
算术解码器链,其每一个被配置为将一组解码参数传递到该链的下一算术解码器;以及
多比特去二进制化器,被配置为从算术解码器链接收多个解码比特。
32.根据权利要求31的装置,其中,算术解码器链和多比特去二进制化器是流水线式的,使得在产生第二多个解码比特的同时和/或之后将第一多个解码比特去二进制化。
33.一种算术解码器,包括:
解码器,被配置为从被算术编码的输入数据流产生第一范围参数和第一值参数;以及
重新正规化器,被配置为基于二进制的“1”在第一范围参数的最低有效b位中出现的次数、以及二进制的“1”相对于第一范围参数的最低有效位出现的位位置,从第一范围和值参数产生重新正规化后的第二范围和值参数。
34.根据权利要求33的解码器,其中,重新正规化器包括:
第一检测器,被配置为产生指示二进制的“1”在第一范围参数的最低有效b位中出现的次数的第一二进制值;
第二检测器,被配置为产生指示二进制的“1”相对于第一范围参数的最低有效位出现的位位置的第二二进制值;
加法器,被配置为产生第一与第二二进制值的和;
第一移位寄存器,被配置为将第一范围参数移动该第一与第二二进制值的和,以产生第二范围参数;以及
第二移位寄存器,配置为将第一值参数移动该第一与第二二进制值的和,以产生第二值参数。
35.根据权利要求34的解码器,其中,重新正规化器根据以下关系、通过将第一范围参数和第一值参数移动x位来产生第二范围参数和第二值参数:
x=log2(2b-2/range)+1=b-1-round(log2range),
其中,b是常数,而range是第一范围参数。
CNA2005100893407A 2004-08-02 2005-08-02 使用流水线结构的二进制算术解码装置和方法 Pending CN1735209A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR60813/04 2004-08-02
KR20040060813A KR100648258B1 (ko) 2004-08-02 2004-08-02 고속의 디코딩을 수행하는 파이프라인 구조의 내용 기반적응적 이진 산술 디코더

Publications (1)

Publication Number Publication Date
CN1735209A true CN1735209A (zh) 2006-02-15

Family

ID=36077374

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005100893407A Pending CN1735209A (zh) 2004-08-02 2005-08-02 使用流水线结构的二进制算术解码装置和方法

Country Status (6)

Country Link
US (1) US7573951B2 (zh)
EP (1) EP1624579A3 (zh)
JP (1) JP2006054865A (zh)
KR (1) KR100648258B1 (zh)
CN (1) CN1735209A (zh)
TW (1) TWI320896B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902639A (zh) * 2009-05-27 2010-12-01 索尼公司 编码装置和编码方法以及解码装置和解码方法
CN101562455B (zh) * 2008-04-18 2013-08-14 瑞昱半导体股份有限公司 内容可适性二元算数编码的译码装置及其译码方法
CN101600104B (zh) * 2008-06-02 2014-03-19 联发科技股份有限公司 上下文自适应二进制算术编码的解码单元及解码方法
CN104980749A (zh) * 2014-04-11 2015-10-14 扬智科技股份有限公司 算术编码的解码装置及方法
CN107113445A (zh) * 2014-11-04 2017-08-29 三星电子株式会社 用于二进制算术编/解码的概率更新方法及使用该方法的熵编/解码器
CN107302364A (zh) * 2012-01-20 2017-10-27 Ge视频压缩有限责任公司 从数据流解码具有变换系数级别的多个变换系数的装置
CN103238322B (zh) * 2010-12-03 2018-05-04 维洛媒体国际有限公司 在视频译码中单独地译码视频块的最后有效系数的位置
CN108206950A (zh) * 2016-12-19 2018-06-26 北京君正集成电路股份有限公司 一种码流长度计算方法及设备
US11330272B2 (en) 2010-12-22 2022-05-10 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
CN116301907A (zh) * 2023-05-24 2023-06-23 成都索贝视频云计算有限公司 解析结构体二进制数据的方法、设备、介质及***

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7221296B2 (en) * 2005-08-22 2007-05-22 Streaming Networks (Pvt.) Ltd. Method and system for fast context based adaptive binary arithmetic coding
JP2007074648A (ja) * 2005-09-09 2007-03-22 Matsushita Electric Ind Co Ltd Cabac復号化装置
CN100466739C (zh) * 2005-10-12 2009-03-04 华为技术有限公司 Cabac解码***及方法
KR100717055B1 (ko) * 2005-11-18 2007-05-10 삼성전자주식회사 Cabac 복호기에서 복수의 이진 값들을 파이프라인방식에 의하여 복호화하는 방법 및 이를 위한 복호화 장치
JP2007300517A (ja) * 2006-05-02 2007-11-15 Sony Corp 動画像処理方法、動画像処理方法のプログラム、動画像処理方法のプログラムを記録した記録媒体及び動画像処理装置
US7262722B1 (en) * 2006-06-26 2007-08-28 Intel Corporation Hardware-based CABAC decoder with parallel binary arithmetic decoding
US7339507B1 (en) * 2006-09-13 2008-03-04 Jiun-In Guo Device for video decoding
KR100827107B1 (ko) * 2006-10-20 2008-05-02 삼성전자주식회사 다중 연산부 구조의 h.264 복호화기 및 그 복호화기의압축 영상 데이터 복호화 방법
JP4865509B2 (ja) * 2006-11-01 2012-02-01 キヤノン株式会社 復号装置及び復号方法
JP2008289125A (ja) * 2007-04-20 2008-11-27 Panasonic Corp 算術復号化装置及びその方法
US8782379B2 (en) * 2007-09-27 2014-07-15 Qualcomm Incorporated H.264 video decoder CABAC core optimization techniques
US7777654B2 (en) * 2007-10-16 2010-08-17 Industrial Technology Research Institute System and method for context-based adaptive binary arithematic encoding and decoding
US8542727B2 (en) * 2007-12-31 2013-09-24 Intel Corporation Systems and apparatuses for performing CABAC parallel encoding and decoding
JP4895396B2 (ja) * 2008-01-22 2012-03-14 キヤノン株式会社 画像復号化装置及び画像復号化方法
JP4962400B2 (ja) * 2008-04-30 2012-06-27 ソニー株式会社 算術復号装置
US8138956B2 (en) 2008-06-02 2012-03-20 Mediatek Inc. CABAC encoder and CABAC encoding method
US20100138618A1 (en) * 2008-12-03 2010-06-03 Vns Portfolio Llc Priority Encoders
EP2293569A1 (en) 2009-08-31 2011-03-09 MediaTek, Inc CABAC decoding unit and method
CN102045558B (zh) * 2009-10-22 2012-09-19 鸿富锦精密工业(深圳)有限公司 熵解码方法
US9973768B2 (en) * 2010-03-16 2018-05-15 Texas Instruments Incorporated CABAC decoder with decoupled arithmetic decoding and inverse binarization
ITVI20100175A1 (it) * 2010-06-21 2011-12-22 St Microelectronics Pvt Ltd Sistema per la codifica entropica di video h.264 per applicazioni hdtv in tempo reale
US10123053B2 (en) * 2011-05-23 2018-11-06 Texas Instruments Incorporated Acceleration of bypass binary symbol processing in video coding
MX353235B (es) 2011-09-29 2018-01-08 Sharp Kk Star Dispositivo de decodificación de imágenes, método de decodificación de imágenes y dispositivo de codificación de imágenes.
BR112014007494B1 (pt) * 2011-09-29 2022-05-31 Sharp Kabushiki Kaisha Dispositivo de decodificação de imagem, método de decodificação de imagem, e dispositivo de codificação de imagem
US9088796B2 (en) * 2011-11-07 2015-07-21 Sharp Kabushiki Kaisha Video decoder with enhanced CABAC decoding
CN102801974B (zh) * 2012-07-19 2014-08-20 西安电子科技大学 基于cabac的图像压缩熵编码器
US10009606B2 (en) * 2012-10-11 2018-06-26 Nvidia Corporation Low power context adaptive binary arithmetic decoder engine
US9445132B2 (en) * 2013-09-09 2016-09-13 Qualcomm Incorporated Two level last significant coefficient (LSC) position coding
WO2015110011A1 (en) * 2014-01-24 2015-07-30 Mediatek Inc. Decoding apparatus capable of controlling repetition number of scan procedure based on at least one syntax element decoding result and related method
US10113900B2 (en) 2016-04-19 2018-10-30 Rosemount Tank Radar Ab Field device with multiple protocol support
KR20180031944A (ko) * 2016-09-21 2018-03-29 삼성전자주식회사 비디오 디코더 및 이를 포함하는 전자 시스템
CN107277553B (zh) * 2017-07-10 2020-10-27 中国科学技术大学 一种二元算术编码器
US11561797B2 (en) * 2019-08-19 2023-01-24 Ati Technologies Ulc Decompression engine for decompressing compressed input data that includes multiple streams of data

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4295125A (en) * 1980-04-28 1981-10-13 International Business Machines Corporation Method and means for pipeline decoding of the high to low order pairwise combined digits of a decodable set of relatively shifted finite number of strings
US4899143A (en) * 1988-04-21 1990-02-06 Bell Communications Research, Inc. High capacity communication system over collision-type channels
EP0550761B1 (en) * 1991-07-22 2000-02-16 Fujitsu Limited Method for controlling data recording on magnetic tape
GB9506471D0 (en) * 1995-03-29 1995-05-17 Sgs Thomson Microelectronics Coding scheme for transmitting data
JP3247052B2 (ja) * 1996-09-02 2002-01-15 アイチップス・テクノロジー株式会社 画像データ変換処理方法及び装置
GB2355899A (en) 1999-10-29 2001-05-02 Oak Technology Inc Multistage digital processor with dedicated stage clock controllers
JP2001136524A (ja) 1999-11-02 2001-05-18 Ricoh Co Ltd 圧縮伸長装置
JP3406550B2 (ja) * 1999-12-28 2003-05-12 パナソニック コミュニケーションズ株式会社 算術符号化装置および算術復号化装置
JP3457269B2 (ja) 2000-07-18 2003-10-14 パナソニック コミュニケーションズ株式会社 算術符号化・復号化方法および算術符号化・復号化装置
JP3854849B2 (ja) * 2001-11-07 2006-12-06 富士通株式会社 データ伸長処理方法およびデータ伸長処理装置
CN1285216C (zh) * 2001-11-16 2006-11-15 株式会社Ntt都科摩 图像编码方法和装置、图像译码方法和装置
JP2003319391A (ja) 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
US6825782B2 (en) 2002-09-20 2004-11-30 Ntt Docomo, Inc. Method and apparatus for arithmetic coding and termination
US8165221B2 (en) * 2006-04-28 2012-04-24 Netapp, Inc. System and method for sampling based elimination of duplicate data

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101562455B (zh) * 2008-04-18 2013-08-14 瑞昱半导体股份有限公司 内容可适性二元算数编码的译码装置及其译码方法
CN101600104B (zh) * 2008-06-02 2014-03-19 联发科技股份有限公司 上下文自适应二进制算术编码的解码单元及解码方法
CN101902639A (zh) * 2009-05-27 2010-12-01 索尼公司 编码装置和编码方法以及解码装置和解码方法
CN103238322B (zh) * 2010-12-03 2018-05-04 维洛媒体国际有限公司 在视频译码中单独地译码视频块的最后有效系数的位置
US11330272B2 (en) 2010-12-22 2022-05-10 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US10757447B2 (en) 2012-01-20 2020-08-25 Ge Video Compression, Llc Transform coefficient coding
US11968395B2 (en) 2012-01-20 2024-04-23 Ge Video Compression, Llc Transform coefficient coding
CN107302364A (zh) * 2012-01-20 2017-10-27 Ge视频压缩有限责任公司 从数据流解码具有变换系数级别的多个变换系数的装置
US11616982B2 (en) 2012-01-20 2023-03-28 Ge Video Compression, Llc Transform coefficient coding
CN107302364B (zh) * 2012-01-20 2021-01-19 Ge视频压缩有限责任公司 从数据流解码具有变换系数级别的多个变换系数的装置
CN104980749B (zh) * 2014-04-11 2018-04-24 扬智科技股份有限公司 算术编码的解码装置及方法
CN104980749A (zh) * 2014-04-11 2015-10-14 扬智科技股份有限公司 算术编码的解码装置及方法
US10432945B2 (en) 2014-11-04 2019-10-01 Samsung Electronics Co., Ltd. Probability update method for binary arithmetic coding/decoding, and entropy coder/decoder using the same
CN107113445A (zh) * 2014-11-04 2017-08-29 三星电子株式会社 用于二进制算术编/解码的概率更新方法及使用该方法的熵编/解码器
CN108206950A (zh) * 2016-12-19 2018-06-26 北京君正集成电路股份有限公司 一种码流长度计算方法及设备
CN108206950B (zh) * 2016-12-19 2021-11-12 北京君正集成电路股份有限公司 一种码流长度计算方法及设备
CN116301907A (zh) * 2023-05-24 2023-06-23 成都索贝视频云计算有限公司 解析结构体二进制数据的方法、设备、介质及***

Also Published As

Publication number Publication date
JP2006054865A (ja) 2006-02-23
EP1624579A2 (en) 2006-02-08
US7573951B2 (en) 2009-08-11
US20060023795A1 (en) 2006-02-02
KR100648258B1 (ko) 2006-11-23
TW200606660A (en) 2006-02-16
TWI320896B (en) 2010-02-21
EP1624579A3 (en) 2007-01-17
KR20060012093A (ko) 2006-02-07

Similar Documents

Publication Publication Date Title
CN1735209A (zh) 使用流水线结构的二进制算术解码装置和方法
US7385535B2 (en) Decoding system and method based on context-based adaptive binary arithmetic coding
US7932843B2 (en) Parallel CABAC decoding for video decompression
EP2191650B1 (en) Architecture for multi-stage decoding of a cabac bitstream
US9577668B2 (en) Systems and apparatuses for performing CABAC parallel encoding and decoding
JP3224164B2 (ja) デコーダ
JP4897888B2 (ja) メモリ効率の良い(memoryefficient)適応形ブロックコーディング
CN107801025B (zh) 解码器、编码器、解码和编码视频的方法
CN101600104B (zh) 上下文自适应二进制算术编码的解码单元及解码方法
CN1214649C (zh) 用于视频预测残差系数编码的熵编码方法
JP4897887B2 (ja) 可変長コードのメモリ効率の良いコーディング
US7817864B2 (en) Coding apparatus and decoding apparatus
TWI399929B (zh) 以上下文為基礎之適應性二進制算術編碼之編碼器以及編碼方法
JP2002016500A (ja) 複数のマッピングテーブルを用いた可変長符号化及び復号化方法、並びにその装置
JP2010509895A5 (zh)
CN1259801A (zh) 变长码字解码器
JP4453398B2 (ja) 符号化装置、プログラム、および符号化処理方法
CN1251414C (zh) 可变长度解码***和方法
US7439886B2 (en) Variable-length decoder, video decoder and image display system having the same, and variable-length decoding method
CN1653698A (zh) 包含cpu处理器接口的可编程变长解码器
Bingbo et al. A high-performance VLSI architecture for CABAC decoding in H. 264/AVC
Park et al. Area efficient fast Huffman decoder for multimedia applications
EP2293569A1 (en) CABAC decoding unit and method
Lei et al. A new pipelined VLSI architecture for JPEG-LS compression algorithm
CN1535023A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20060215