WO2007102518A1 - Arithmetic encoding device, arithmetic encoding method, arithmetic encoding program, and computer-readable recording medium containing the program - Google Patents

Arithmetic encoding device, arithmetic encoding method, arithmetic encoding program, and computer-readable recording medium containing the program Download PDF

Info

Publication number
WO2007102518A1
WO2007102518A1 PCT/JP2007/054358 JP2007054358W WO2007102518A1 WO 2007102518 A1 WO2007102518 A1 WO 2007102518A1 JP 2007054358 W JP2007054358 W JP 2007054358W WO 2007102518 A1 WO2007102518 A1 WO 2007102518A1
Authority
WO
WIPO (PCT)
Prior art keywords
symbol
unit
context
update
arithmetic
Prior art date
Application number
PCT/JP2007/054358
Other languages
French (fr)
Japanese (ja)
Inventor
Tian Song
Atsushi Yamada
Takashi Shimamoto
Original Assignee
The University Of Tokushima
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 The University Of Tokushima filed Critical The University Of Tokushima
Priority to JP2008503883A priority Critical patent/JP4547503B2/en
Publication of WO2007102518A1 publication Critical patent/WO2007102518A1/en

Links

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
    • 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

Abstract

[PROBLEMS] To reduce a calculation amount of the process of CABAC in H.264/AVC. [MEANS FOR SOLVING PROBLEMS] An arithmetic encoding device includes: an arithmetic encoding unit for arithmetically encoding a digital symbol generated by a digitization unit; a context calculation unit for generating a context number; an update unit for updating a symbol value indicated by a superior symbol or an inferior symbol and symbol appearance possibility according to the digitized symbol generated by the digitization unit; and a possibility state storage unit for storing the symbol value and the symbol appearance possibility by using the context number calculated by the context calculation unit as an index. The arithmetic encoding unit includes: a first storage unit for storing a prediction value of a region rLPS obtained by dividing an inferior symbol section according to the generation possibility; a second storage unit different from the first storage unit, also for storing a prediction value of the rLPS; and a calculation unit for performing arithmetic encoding by referencing a prediction value of the rLPS stored in the first storage unit and the second storage unit.

Description

明 細 書  Specification
算術符号化装置、算術符号化方法、算術符号化プログラム及びプロダラ ムを格納したコンピュータで読み取り可能な記録媒体  Arithmetic encoding device, arithmetic encoding method, arithmetic encoding program, and computer-readable recording medium storing program
技術分野  Technical field
[0001] 本発明は、動画像符号化'復号に用いられる算術符号化技術に関するものであり、 特に、動画像符号化規格である H. 264ZAVCにおける CABAC (Context-based Adaptive Binary Arithmetic Coding :コンテキスト準拠適応 2進算術符号化)に準拠し た算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納 したコンピュータで読み取り可能な記録媒体に関する。  [0001] The present invention relates to an arithmetic coding technique used for video coding 'decoding, and in particular, CABAC (Context-based Adaptive Binary Arithmetic Coding) in H.264ZAVC, which is a video coding standard. The present invention relates to an arithmetic encoding device, an arithmetic encoding method, an arithmetic encoding program, and a computer-readable recording medium storing the program.
背景技術  Background art
[0002] 近年、 DVDや地上デジタルハイビジョン等の高画質動画像の普及が急速に進ん でおり、動画像の高ビットレート、高解像度によって情報量が飛躍的に増加し、効率 のよレ、動画像データの圧縮が必須となってレ、る。デジタル動画像圧縮の主な構成技 術は、予測符号化、動き処理、変換符号化、量子化、符号割当の 5つがある。この内 、符号割当は、量子化レベルなどに「0」、「1」の符号を効率よく割り当て、冗長な符 号の削減をする。符号割当には可変長符号化、適応符号化、固定長符号化等が知 られている。可変長符号化(VLC : Variable Length Cording)はハフマン符号化、ラン レングス符号化、算術符号化、適応ビット割当等に区分される。この内、算術符号化 は、シンボルの出現確率に応じて符号ィヒテーブルを作成し符号割当を行うものであ る。  [0002] In recent years, high-definition moving images such as DVDs and terrestrial digital high-definition have been rapidly spreading, and the amount of information has increased dramatically due to the high bit rate and high resolution of moving images. Image data must be compressed. There are five main technologies for digital video compression: predictive coding, motion processing, transform coding, quantization, and code allocation. Among these, code allocation efficiently assigns codes “0” and “1” to the quantization level and the like to reduce redundant codes. For code allocation, variable-length coding, adaptive coding, fixed-length coding, and the like are known. Variable length coding (VLC) is divided into Huffman coding, run length coding, arithmetic coding, and adaptive bit allocation. Among these, arithmetic coding is to create a code table according to the appearance probability of a symbol and perform code allocation.
[0003] 算術符号化は、画像データの特徴に応じた最適な符号割当ができるため、固定し た符号化テーブルを使用するハフマン符号化などに比べて符号化効率が優れてい る。し力しながら算術符号化は、シンボルの出現確率を計算しながら符号化テーブル を作成し符号割当をする動的な方式のため、一般的にハフマン符号化と比較して多 大な計算処理を必要とするという問題がある。  Arithmetic coding is capable of optimal code allocation according to the characteristics of image data, and therefore has better coding efficiency than Huffman coding using a fixed coding table. However, since arithmetic coding is a dynamic method that creates a coding table and assigns codes while calculating the appearance probability of symbols, it generally requires more computational processing than Huffman coding. There is a problem of need.
[0004] 一方、 ITU— T (International Telecommunication Union - Telecommunication Stan dardization Sector)では、動画像符号化 *復号技術として H. 264の規格策定を行つ ている (非特許文献 1参照)。特許文献 1には、 ITU— T規格 H. 264による算術符号 ィ匕 '復号の処理プロセスの具体的な実現方法の実例が開示される。図 26は、 H. 26 4/AVCによる算術符号化.復号の処理プロセスのフローチャートである。同図は、 非特許文献 1の Fig. 9—1を、機能を中心に再編集したものである。図 26を用いて、 算術符号化 '復号の流れを以下に説明する。 [0004] On the other hand, the ITU-T (International Telecommunication Union-Telecommunication Standardization Sector) has developed the H.264 standard as a video coding * decoding technology. (See Non-Patent Document 1). Patent Document 1 discloses an example of a specific method for realizing an arithmetic code decoding process according to ITU-T standard H.264. FIG. 26 is a flowchart of the process of arithmetic coding / decoding according to H.264 / AVC. This figure is a re-edited version of Fig. 9-1 of Non-Patent Document 1 with a focus on functions. The flow of arithmetic coding and decoding will be described below with reference to FIG.
[0005] あるシンタックス要素(Syntax Element : SE)について、符号化又は復号が開始され ると、ステップ 1において、そのシンタックス要素に対して、コンテキスト計算が行われ る。コンテキスト計算では、コンテキストに対応するコンテキスト番号が求められ、コン テキスト番号によりシンボル値と確率状態が求められる。シンボル値は、一部の例外 はあるものの、多くは対応表を参照することによって求められる。確率状態は、後述の ステップ 3で格納されている値を参照して求められる。求められたシンボル値と確率 状態は、算術符号化'復号プロセスに与えられ、ステップ 2に進む。  [0005] When encoding or decoding of a syntax element (SE) is started, context calculation is performed on the syntax element in step 1. In context calculation, the context number corresponding to the context is obtained, and the symbol value and the probability state are obtained from the context number. Symbol values are often obtained by referring to the correspondence table, with some exceptions. The probability state is obtained by referring to the value stored in Step 3 described later. The determined symbol values and probability states are given to the arithmetic coding 'decoding process and go to step 2.
[0006] ステップ 2においては、ステップ 1より受け取ったシンボル値と確率状態を用いて、 当該シンタックスの算術符号化又は復号を行い、結果を出力信号として出力する。同 時に、符号ィ匕又は復号したシンボルの情報を、シンボル出現確率制御プロセスに出 力し、ステップ 3に進む。  [0006] In step 2, the symbol value and probability state received in step 1 are used to perform arithmetic coding or decoding of the syntax, and the result is output as an output signal. At the same time, the code information or the decoded symbol information is output to the symbol appearance probability control process, and the process proceeds to Step 3.
[0007] ステップ 3においては、符号化または復号したシンボルの情報を受けて、次の処理 で用いるシンボル値と確率状態の更新値を求め、確率状態として格納しておく。  [0007] In step 3, the information of the encoded or decoded symbol is received, the symbol value and the update value of the probability state used in the next processing are obtained and stored as the probability state.
[0008] ステップ 4において、当該シンタックス要素の符号ィ匕又は復号が完了したかどうかを 判定し、完了してない場合には、ステップ 1に戻り、符号化又は復号が完了するまで 同様のプロセスを繰り返す。当該シンタックス要素の符号化又は復号が完了すると、 次のシンタックス要素について符号化又は復号を行う。  [0008] In step 4, it is determined whether or not the encoding or decoding of the syntax element has been completed. If not, the process returns to step 1 and the same process is performed until encoding or decoding is completed. repeat. When the encoding or decoding of the syntax element is completed, the next syntax element is encoded or decoded.
[0009] 図 27に、 H. 264/AVCの算術符号化の処理プロセスを具現化した算術符号化 装置のブロック図を示す。この算術符号化装置 700は、適応算術符号化'復号部 71 0、コンテキスト計算部 720、及び符号化'復号制御部 730を備え、適応算術符号化' 復号部 710は、算術符号化'復号部 711、シンボル出現確率制御部 712、及び確率 状態格納部 713を有する。コンテキスト計算部 720は、入力信号(Sin) S11のシンタ ックス要素(SE)の種別と既符号ィ匕ビット数又は復号ビット数より、コンテキスト番号を 生成する(図 26のステップ 1の処理に相当する)。 FIG. 27 shows a block diagram of an arithmetic coding apparatus that embodies the H.264 / AVC arithmetic coding process. The arithmetic coding apparatus 700 includes an adaptive arithmetic coding / decoding unit 710, a context calculation unit 720, and an encoding / decoding control unit 730. The adaptive arithmetic coding / decoding unit 710 includes an arithmetic coding / decoding unit. 711, a symbol appearance probability control unit 712, and a probability state storage unit 713. The context calculation unit 720 obtains a context number from the type of the syntax element (SE) of the input signal (Sin) S11 and the number of already-signed bits or the number of decoded bits. Generate (corresponds to step 1 in Fig. 26).
[0010] この算術符号化装置 700では、各処理ステップは、その前のステップでの処理結果 を受けて、そのステップでの処理を開始する必要があるため、その動作は、シーケン シャルな処理となり、一つのシンタックス要素が処理される時間は、各処理ステップの 和となる。すなわち、例えば、シンタックス要素 0の処理に必要な区間 SOは、処理 51 と処理 52と処理 53と処理 54とのそれぞれに費やされる時間の和となる。  [0010] In this arithmetic coding apparatus 700, each processing step needs to start processing in that step in response to the processing result in the previous step, so the operation is sequential processing. The time for which one syntax element is processed is the sum of each processing step. That is, for example, the section SO required for the processing of the syntax element 0 is the sum of the time spent for the processing 51, the processing 52, the processing 53, and the processing 54, respectively.
[0011] 符号化又は復号の時間当たりの処理符号量 (即ちシンタックス要素数)が多い場合 、符号化又は復号の処理時間を短縮することは、必須の要件となる。本検討例の算 術符号化'復号装置 40では、各ステップは、シーケンシャルな処理を行っているため 、全体の処理時間の短縮のためには、各ステップの処理時間を短縮しなければなら ず、現状の技術レベルでは、高速化には限界がある。  [0011] When the processing code amount (that is, the number of syntax elements) per coding or decoding time is large, it is an essential requirement to shorten the coding or decoding processing time. In the arithmetic coding / decoding device 40 of the present study example, each step performs sequential processing. Therefore, in order to reduce the overall processing time, the processing time of each step must be reduced. However, at the current technology level, there is a limit to speeding up.
[0012] これに対して、特許文献 1には、算術符号化処理を高速化した算術符号化装置が 開示される。この算術符号ィ匕装置 800は、図 28のブロック図に示すように適応算術 符号化部 810、コンテキスト計算部 820、及び符号化制御部 830を備える。コンテキ スト計算部 820は、レジスタ 821と比較判定部 822とを有する。適応算術符号化部 81 0は、算術符号ィ匕部 811とシンボル出現確率制御部 814と確率状態格納部 815とを 有する。これによれば、ある入力信号が算術符号ィ匕部 811で符号化される間に、コン テキスト計算部 820は、次の入力信号についてコンテキストを求めることができるので 、算術符号化部 811は、ある入力信号を符号化後、直ちに次の入力信号の符号化 処理を行える。従って、符号化処理の高速化が可能となる。  On the other hand, Patent Document 1 discloses an arithmetic encoding device that speeds up arithmetic encoding processing. This arithmetic coding apparatus 800 includes an adaptive arithmetic coding unit 810, a context calculation unit 820, and a coding control unit 830 as shown in the block diagram of FIG. The context calculation unit 820 includes a register 821 and a comparison determination unit 822. The adaptive arithmetic coding unit 810 includes an arithmetic code key unit 811, a symbol appearance probability control unit 814, and a probability state storage unit 815. According to this, since a context calculation unit 820 can obtain a context for the next input signal while a certain input signal is encoded by the arithmetic code input unit 811, the arithmetic encoding unit 811 Immediately after encoding an input signal, the next input signal can be encoded. Accordingly, the encoding process can be speeded up.
[0013] さらに、ある信号が算術符号化部 811で符号化される間に、シンボル出現確率制 御部 814は、算術符号ィ匕部 811による符号化シンボル力 優勢シンボルである場合 と劣勢シンボルである場合とにつレ、て、それぞれのシンボル値と確率状態の更新値 を求めておき、符号化シンボルが確定した後に、一方の更新値を選択する。この結 果、算術符号化部 811は、次の符号の符号ィ匕において、必要なシンボル値と確率状 態を得て、直ちに符号化処理と確率状態記録部 815への書込み処理を行えるため、 算術符号化処理の更なる高速化が可能となる。  [0013] Further, while a certain signal is encoded by the arithmetic encoding unit 811, the symbol appearance probability control unit 814 performs coding symbol power dominant symbols by the arithmetic code unit 811 and inferior symbols. In some cases, an update value of each symbol value and probability state is obtained, and after the encoded symbol is determined, one update value is selected. As a result, the arithmetic encoding unit 811 obtains a necessary symbol value and a probability state in the sign of the next code, and can immediately perform the encoding process and the writing process to the probability state recording unit 815. The arithmetic encoding process can be further speeded up.
特許文献 1 :特開 2005— 130099号公報 非特許文献 1 : Joint Video Team(JVT) of ISO/IEC MPEG & ITU-TVCEG; "Draftl T U_T Recommendation and Final Draft International Standard of Joint Video Specific ation (ITU-T Rec. H.264|lSO/IEC 14496—10 MPEG— AVC)." Patent Document 1: Japanese Patent Laid-Open No. 2005-130099 Non-Patent Document 1: Joint Video Team (JVT) of ISO / IEC MPEG &ITU-TVCEG;"Draftl T U_T Recommendation and Final Draft International Standard of Joint Video Specific ation (ITU-T Rec. H.264 | lSO / IEC 14496 —10 MPEG— AVC). "
非特許文献 2: Hassan Shojania and Subramania Sudharsanan, "A VLSI Architecture for High Performance CABAC Encoding. Visual Communications and Image Proces sing 2005, Pro of SPIE Vol. 5960, pp.1444.  Non-Patent Document 2: Hassan Shojania and Subramania Sudharsanan, "A VLSI Architecture for High Performance CABAC Encoding. Visual Communications and Image Proces sing 2005, Pro of SPIE Vol. 5960, pp.1444.
非特許文献 3 :大久保榮他「改訂版 H. 264ZAVC教科書」インプレス  Non-Patent Document 3: Rei Okubo et al. “Revised H.264ZAVC Textbook” Impress
非特許文献 4 :「技術分野別特許マップ 電気 14 デジタル動画像圧縮技術」特許庁 ^^特許乂献 5: Roberto R. Osorio, Javier D. Bruguera, riigh-Throughput Architectu re for H.264/AVC CABAC Compression System" IEEE TRANSACTIONS ON CIRC UITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 16, NO. 11, NOVEMBE R 2006.  Non-Patent Document 4: "Patent Map by Technology Field: Electricity 14 Digital Video Compression Technology" Patent Office ^^ Patent Contribution 5: Roberto R. Osorio, Javier D. Bruguera, riigh-Throughput Architecture for H.264 / AVC CABAC Compression System "IEEE TRANSACTIONS ON CIRC UITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 16, NO. 11, NOVEMBE R 2006.
発明の開示  Disclosure of the invention
発明が解決しょうとする課題  Problems to be solved by the invention
[0014] し力 ながらこの方法でも、 1サイクルで 1ビットの符号化を実現するものでなぐ高 速化対策としては十分ではない。一方、非特許文献 2では 1サイクルで 1バイナリシン ボルを処理可能な高速化手法が提案されているが、この手法でも十分でなく 1サイク ルで複数の処理を行うには至っておらず、十分な高速処理が実現できるとは言い難 レ、。 [0014] However, even this method is not sufficient as a measure for increasing the speed, which cannot realize 1-bit encoding in one cycle. On the other hand, Non-Patent Document 2 proposes a high-speed method that can process one binary symbol in one cycle. However, this method is not sufficient, and multiple processing is not performed in one cycle. It is difficult to say that high-speed processing can be realized.
[0015] H. 264/AVCの符号化処理処理においては、エントロピー符号化である可変長 符号化 (VLC)が採用されている。 VLCは、実際に H. 264/AVCのビットストリーム を生成してレ、るモジュールである。この符号化方式として CABACと CAVLCがある。 CAVLC (Context-Adaptive Variable Length Coding:コンテキスト適応型可変長符 号化方式)は、量子化された DCT係数値の符号ィヒにのみ用いられる。一方 CABAC (Context Adaptive Binary Arithmetic Coding:コンテキスト適応型 2値算術符号化方 式)は、算術符号ィ匕を用いたエントロピー符号化方式であり、 CAVLCと比較して符 号化効率が高いという利点を有する。  In the H.264 / AVC encoding processing, variable length encoding (VLC) that is entropy encoding is employed. VLC is a module that actually generates and streams H.264 / AVC bitstreams. There are CABAC and CAVLC as encoding methods. CAVLC (Context-Adaptive Variable Length Coding) is used only for the sign of quantized DCT coefficient values. CABAC (Context Adaptive Binary Arithmetic Coding), on the other hand, is an entropy coding method that uses arithmetic codes and has the advantage of higher coding efficiency than CAVLC. Have.
[0016] し力、しながら、 CABAC処理は高い符号化効率を得ることができる反面、処理時間 が長いという問題がある。特に高解像度アプリケーションにおいて、リアルタイムに符 号化を行うには、処理に極めて高い動作周波数を要する。既存の MPUや CPUでは 、計算上数 GHzもの動作周波数が要求されることとなって、ノ、イビジョン放送などのメ ディアに対応できないという問題があった。このため、 CABAC処理を高速に行うた めの構成が切望されているものの、上述の通り従来の手法では未だ不十分であった [0016] However, CABAC processing can achieve high coding efficiency, but processing time. There is a problem that is long. In particular, in high-resolution applications, encoding in real time requires a very high operating frequency. With existing MPUs and CPUs, operating frequencies of several GHz are required for calculations, and there is a problem that media such as media and IB broadcasts cannot be handled. For this reason, although a configuration for performing CABAC processing at high speed is desired, the conventional method is still insufficient as described above.
[0017] 本発明は、このような問題点を解消するためになされたものである。本発明の主な 目的は、 H. 264/AVCにおける CABACの処理の演算量を削減し、実装を容易に した算術符号化装置、算術符号化方法、算術符号ィヒプログラム及びプログラムを格 納したコンピュータで読み取り可能な記録媒体を提供することにある。 [0017] The present invention has been made to solve such problems. The main object of the present invention is to store an arithmetic coding device, an arithmetic coding method, an arithmetic coding program, and a program that reduce the amount of computation of CABAC processing in H.264 / AVC and facilitate implementation. To provide a computer-readable recording medium.
課題を解決するための手段  Means for solving the problem
[0018] 上記の目的を達成するために、本発明の第 1の算術符号化装置は、多値信号を 2 値化するための 2値化部と、 2値化部で生成された 2値シンボルを算術符号化するた めの算術符号化部と、コンテキスト番号を生成するためのコンテキスト計算部と、 2値 化部で生成された 2値シンボルに基づいて、優勢シンボル或いは劣勢シンボルが示 すシンボル値とシンボル出現確率とを更新するための更新部と、コンテキスト計算部 で計算されたコンテキスト番号をインデックスとして、シンボル値とシンボル出現確率 とを格納するための確率状態格納部とを備える算術符号化装置であって、算術符号 化部は、劣勢シンボルの区間を発生確率に基づレ、て分割した領域 rLPSの予測値を 格納する第 1格納部と、同じく rLPSの予測値を格納する、第 1格納部とは別個の第 2 格納部と、第 1格納部及び第 2格納部に格納された rLPSの予測値を参照して算術 符号化を行う演算部とを備える。これにより、 1サイクル中に 2ビット以上の処理が可能 な高速な算術符号化を実現できる。  [0018] In order to achieve the above object, a first arithmetic coding apparatus of the present invention includes a binarization unit for binarizing a multilevel signal, and a binary generated by the binarization unit The dominant symbol or the inferior symbol is indicated based on the arithmetic encoding unit for arithmetically encoding the symbol, the context calculating unit for generating the context number, and the binary symbol generated by the binarizing unit. An arithmetic code comprising: an update unit for updating the symbol value and the symbol appearance probability; and a probability state storage unit for storing the symbol value and the symbol appearance probability using the context number calculated by the context calculation unit as an index The arithmetic coding unit is a first storage unit that stores a prediction value of a region rLPS divided by dividing an inferior symbol section based on an occurrence probability, and similarly stores a prediction value of rLPS. First storage A second storage unit separate from the first storage unit, and an arithmetic unit that performs arithmetic coding with reference to the predicted values of rLPS stored in the first storage unit and the second storage unit. This makes it possible to realize high-speed arithmetic coding that can process more than 2 bits in one cycle.
[0019] さらに第 2の算術符号化装置は、多値信号を 2値化するための 2値化部と、 2値化 部で生成された 2値シンボルを算術符号化するための算術符号化部と、コンテキスト 番号を生成するためのコンテキスト計算部と、 2値化部で生成された 2値シンボルに 基づレ、て、優勢シンボル或いは劣勢シンボルが示すシンボル値とシンボル出現確率 とを更新するための更新部と、コンテキスト計算部で計算されたコンテキスト番号をィ ンデッタスとして、シンボル値とシンボル出現確率とを格納するための確率状態格納 部とを備える算術符号ィヒ装置であって、算術符号化部は、優勢シンボル処理時の優 勢シンボル処理連続数、初期の区間、シンボル出現確率に基づいて決定される更新 区間の予測値を格納する更新区間格納部と、優勢シンボル処理時の優勢シンボル 処理連続数、及び初期のシンボル出現確率に基づいて決定されるシンボル出現確 率の予測値を格納するためのコンテキスト更新テーブルと、再正規化の回数に基づ いて、更新区間の補集合である lowを更新する再正規化テーブルを有する再正規化 部とを備える。これにより、連続して優勢シンボル処理が行われる場合の算術符号ィ匕 処理を数サイクル削減でき、処理の低減と高速化が図られる。 [0019] Further, the second arithmetic encoding device includes a binarizing unit for binarizing the multilevel signal, and an arithmetic encoding for arithmetically encoding the binary symbol generated by the binarizing unit. The symbol value and the symbol appearance probability indicated by the dominant symbol or the inferior symbol based on the binary symbol generated by the component, the context calculation unit for generating the context number, and the binary symbol generated by the binarization unit. And the context number calculated by the context calculator An arithmetic coding apparatus comprising a probability state storage unit for storing symbol values and symbol appearance probabilities as an indeterminate, wherein the arithmetic encoding unit includes a number of consecutive dominant symbol processes during the dominant symbol processing, An update interval storage unit that stores a predicted value of an update interval determined based on a symbol appearance probability, a symbol appearance probability, and a symbol determined based on an initial symbol appearance probability A context update table for storing the predicted value of the probability of occurrence and a renormalization unit having a renormalization table for updating low, which is a complement of the update interval, based on the number of renormalizations . As a result, arithmetic code processing when dominant symbol processing is continuously performed can be reduced by several cycles, and processing can be reduced and speeded up.
さらにまた第 3の算術符号ィ匕装置は、多値信号を 2値化するための 2値化部と、 2値 化部で生成された 2値シンボルを算術符号化するための算術符号化部と、コンテキス ト番号を生成するためのコンテキスト計算部と、 2値化部で生成された 2値シンボルに 基づレ、て、優勢シンボル或いは劣勢シンボルが示すシンボル値とシンボル出現確率 とを更新するための更新部と、コンテキスト計算部で計算されたコンテキスト番号をィ ンデッタスとして、シンボル値とシンボル出現確率とを格納するための確率状態格納 部とを備える算術符号ィヒ装置であって、算術符号化部は、優勢シンボル処理時の優 勢シンボル処理連続数、初期の区間、シンボル出現確率に基づいて決定される更新 区間の予測値を格納する第 1更新区間格納部と、同じく更新区間の予測値を格納す る、第 1更新区間格納部と別個の第 2更新区間格納部と、優勢シンボル処理時の優 勢シンボル処理連続数、及び初期のシンボル出現確率に基づレ、て決定されるシン ボル出現確率の予測値を格納するための第 1コンテキスト更新テーブルと、優勢シン ボル処理時の優勢シンボル処理連続数、及び前記第 1コンテキスト更新テーブルが 更新したシンボル出現確率に基づいて決定されるシンボル出現確率の予測値を格 納するための、第 1コンテキスト更新テーブルと別個の第 2コンテキスト更新テーブル と、再正規化の回数に基づいて、更新区間の補集合である lowを更新する再正規化 テーブルを有する再正規化部とを備える。これにより、連続して優勢シンボル処理が 行われる場合の算術符号化処理を、複数の異なるコンテキストが使用される場合でも 削減できる。 [0021] さらにまた第 4の算術符号ィヒ装置は、多値信号を 2値化するための 2値化部と、 2値 化部で生成された 2値シンボルを算術符号化するための算術符号化部と、コンテキス ト番号を生成するためのコンテキスト計算部と、 2値化部で生成された 2値シンボルに 基づレ、て、優勢シンボル或いは劣勢シンボルが示すシンボル値とシンボル出現確率 とを更新するための更新部と、コンテキスト計算部で計算されたコンテキスト番号をィ ンデッタスとして、シンボル値とシンボル出現確率とを格納するための確率状態格納 部とを備える算術符号ィ匕装置であって、算術符号化部が、劣勢シンボルの区間を発 生確率に基づいて分割した領域 rLPSの予測値を格納する第 1格納部と、同じく rLP Sの予測値を格納する、第 1格納部とは別個の第 2格納部と、第 1格納部及び第 2格 納部に格納された rLPSの予測値を参照して算術符号ィ匕を行う演算部とを備える 2サ イタル予測部と、優勢シンボル処理時の優勢シンボル処理連続数、初期の区間、シ ンボル出現確率に基づいて決定される更新区間の予測値を格納する更新区間格納 部と、優勢シンボル処理時の優勢シンボル処理連続数、及び初期のシンボル出現確 率に基づいて決定されるシンボル出現確率の予測値を格納するためのコンテキスト 更新テーブルと、再正規化の回数に基づいて、更新区間の補集合である lowを更新 する再正規化テーブルを有する再正規化部とを備える連続優勢シンボル処理予測 部と、 2サイクル予測部と連続優勢シンボル処理予測部のいずれ力を切り替える予測 手法切替部とを備える。これにより、 2サイクル予測又は連続優勢シンボル処理予測 を適宜切り替えて、サイクル数を効率よく削減して更に高速な算術符号ィ匕が実現でき る。 Furthermore, the third arithmetic coding unit includes a binarizing unit for binarizing the multilevel signal and an arithmetic encoding unit for arithmetically encoding the binary symbol generated by the binarizing unit. And the symbol calculation and symbol appearance probability indicated by the dominant symbol or the inferior symbol based on the binary symbol generated by the binarization unit and the context calculation unit for generating the context number. An arithmetic coding apparatus comprising: an updating unit for storing a probability state storage unit for storing symbol values and symbol appearance probabilities using the context number calculated by the context calculating unit as an index The update unit is the same as the first update interval storage unit that stores the predicted value of the update interval that is determined based on the number of dominant symbol processes, the initial interval, and the symbol appearance probability during dominant symbol processing. A second update interval storage unit that is separate from the first update interval storage unit, the number of consecutive dominant symbol processes during the dominant symbol processing, and the initial symbol appearance probability. Based on the first context update table for storing the predicted value of the symbol appearance probability to be determined, the number of consecutive dominant symbol processing during the dominant symbol processing, and the symbol appearance probability updated by the first context update table Based on the number of renormalizations and the second context update table separate from the first context update table to store the predicted value of the symbol appearance probability to be determined, low is updated as the complement of the update interval A renormalization unit having a renormalization table. As a result, the arithmetic coding process when the dominant symbol process is continuously performed can be reduced even when a plurality of different contexts are used. [0021] Further, the fourth arithmetic coding apparatus includes a binarizing unit for binarizing the multilevel signal and an arithmetic coding for binarizing the binary symbol generated by the binarizing unit. Based on the binary symbol generated by the encoding unit, context number generation unit, and binarization unit, the symbol value and symbol appearance probability indicated by the dominant symbol or the inferior symbol An arithmetic code input device comprising: an update unit for updating a symbol; and a probability state storage unit for storing a symbol value and a symbol appearance probability using the context number calculated by the context calculation unit as an indent What is the first storage unit that stores the predicted value of rLPS and the first storage unit that stores the predicted value of rLP S, where the arithmetic coding unit divides the inferior symbol section based on the occurrence probability? With a separate second storage A two-site prediction unit comprising an arithmetic unit that performs arithmetic coding with reference to the rLPS prediction values stored in the first storage unit and the second storage unit, and the number of consecutive dominant symbol processes during the dominant symbol processing An update interval storage unit that stores the predicted value of the update interval determined based on the initial interval and symbol appearance probability, the number of consecutive dominant symbol processing during the dominant symbol processing, and the initial symbol appearance probability A context update table for storing the predicted value of the symbol appearance probability determined, and a renormalization unit having a renormalization table for updating low, which is a complement of the update interval, based on the number of renormalizations A continuous dominant symbol processing prediction unit, and a prediction method switching unit that switches between the two-cycle prediction unit and the continuous dominant symbol processing prediction unit. As a result, the 2-cycle prediction or the continuous dominant symbol processing prediction is appropriately switched to efficiently reduce the number of cycles and realize a faster arithmetic code.
[0022] 一方、算術符号化方法は、 2値シンボルの算術符号ィヒにあたり、出現確率の高い シンボルである優勢シンボルと出現確率の低いシンボルである劣勢シンボルとを、前 シンボルまでの数線上の区間及び劣勢シンボルの数線上の区間の座標値に基づレ、 て、数線上の所定の区間に対応させ、その数線上の区間対応結果と入力される 2値 シンボルから符号化信号を出力する算術符号化方法であって、符号化対象のシンポ ルが優勢シンボルである場合の優勢シンボル処理時の区間座標値、及び劣勢シン ボルである場合の劣勢シンボル処理時の区間座標値を予め記録した第 lrLPSテー ブルを参照して、第 1シンボルの区間を更新した分割領域を求める工程と、得られた 分割領域と、第 lrLPSテーブルと別個の第 2rLPSテーブルを参照して、第 1シンポ ルに続く第 2シンボルの区間を更新した分割領域を求める工程と、必要に応じて再正 規化を行い、出力符号を出力する工程と、コンテキスト番号を更新する工程とを含む 。これにより、 1サイクル中に 2ビット以上の処理が可能な高速な算術符号化を実現で きる。 On the other hand, in the arithmetic coding method of binary symbols, a dominant symbol that is a symbol with high appearance probability and an inferior symbol that is a symbol with low appearance probability are represented on the number line up to the previous symbol. Based on the coordinate value of the section and the section on the number line of the inferior symbol, the encoded signal is output from the binary symbol input corresponding to the section correspondence result on the number line, corresponding to the predetermined section on the number line. An arithmetic coding method in which section coordinate values at the time of dominant symbol processing when the symbol to be encoded is a dominant symbol and section coordinate values at the time of inferior symbol processing when the symbol to be encoded is an inferior symbol are recorded in advance. Referring to the lrLPS table, a step of obtaining a segmented area in which the first symbol section is updated and obtained Referring to the divided region and the second rLPS table that is separate from the first rrLPS table, a step of obtaining a divided region obtained by updating the section of the second symbol following the first symbol, and performing renormalization as necessary. Outputting an output code and updating a context number. This makes it possible to realize high-speed arithmetic coding that can process more than 2 bits in one cycle.
[0023] また算術符号ィ匕方法は、 2値シンボルの算術符号化にあたり、出現確率の高いシ ンボルである優勢シンボルと出現確率の低レ、シンボルである劣勢シンボルとを、前シ ンボルまでの数線上の区間及び劣勢シンボルの数線上の区間の座標値に基づいて 、数線上の所定の区間に対応させ、その数線上の区間対応結果と入力される 2値シ ンボルから符号ィ匕信号を出力する算術符号化方法であって、 2値シンボルの優勢シ ンボルが連続する場合に、優勢シンボルの連続数とコンテキスト番号に基づいて、更 新区間格納部を参照して更新区間の予測値を求める工程と、コンテキスト番号を格 納するコンテキスト更新テーブルを用いて更新する工程とを含む。これにより、連続し て優勢シンボル処理が行われる場合の算術符号ィヒ処理を数サイクル削減でき、処理 の低減と高速化が図られる。  [0023] In addition, the arithmetic coding method uses a dominant symbol that is a symbol having a high appearance probability and a low symbol that has a high probability of appearance and an inferior symbol that is a symbol having a high appearance probability up to the previous symbol. Based on the coordinate values of the section on the number line and the section on the number line of the inferior symbol, it is made to correspond to a predetermined section on the number line, and the sign signal is derived from the section corresponding result on the number line and the input binary symbol. This is an arithmetic coding method to be output. When the dominant symbols of binary symbols are consecutive, the predicted value of the update interval is calculated by referring to the update interval storage unit based on the number of consecutive dominant symbols and the context number. And a step of updating using a context update table storing a context number. As a result, the arithmetic coding process when the dominant symbol processing is continuously performed can be reduced by several cycles, and the processing can be reduced and speeded up.
[0024] さらに、算術符号ィ匕プログラムは、 2値シンボルの算術符号化にあたり、出現確率の 高レ、シンボルである優勢シンボルと出現確率の低レ、シンボルである劣勢シンボルと を、前シンボルまでの数線上の区間及び劣勢シンボルの数線上の区間の座標値に 基づいて、数線上の所定の区間に対応させ、その数線上の区間対応結果と入力さ れる 2値シンボルから符号ィ匕信号を出力する算術符号プログラムであって、符号化対 象のシンボルが優勢シンボルである場合の優勢シンボル処理時の区間座標値、及 び劣勢シンボルである場合の劣勢シンボル処理時の区間座標値を予め記録した第 1 rLPSテーブルを参照して、第 1シンボルの区間を更新した分割領域を求める機能と 、得られた分割領域と、第 lrLPSテーブルと別個の第 2rLPSテーブルを参照して、 第 1シンボルに続く第 2シンボルの区間を更新した分割領域を求める機能と、必要に 応じて再正規化を行い、出力符号を出力する機能と、コンテキスト番号を更新する機 能とをコンピュータに実現させる。これにより、 1サイクル中に 2ビット以上の処理が可 能な高速な算術符号化を実現できる。 [0025] さらにまた算術符号化プログラムは、 2値シンボルの算術符号ィ匕にあたり、出現確 率の高レ、シンボルである優勢シンボルと出現確率の低レ、シンボルである劣勢シンポ ノレとを、前シンボルまでの数線上の区間及び劣勢シンボルの数線上の区間の座標 値に基づいて、数線上の所定の区間に対応させ、その数線上の区間対応結果と入 力される 2値シンボルから符号化信号を出力する算術符号ィ匕プログラムであって、 2 値シンボルの優勢シンボルが連続する場合に、優勢シンボルの連続数とコンテキスト 番号に基づいて、更新区間格納部を参照して更新区間の予測値を求める機能と、コ ンテキスト番号を格納するコンテキスト更新テーブルを用いて更新する機能とをコンビ ユータに実現させる。これにより、連続して優勢シンボル処理が行われる場合の算術 符号化処理を数サイクル削減でき、処理の低減と高速化が図られる。 [0024] Further, in the arithmetic coding of the binary symbol, the arithmetic code 匕 program converts the symbol with a high appearance probability, a dominant symbol as a symbol, a symbol with a low appearance probability, and a symbol as an inferior symbol to the previous symbol. Based on the coordinate values of the section on the number line and the section on the number line of the inferior symbol, it is made to correspond to a predetermined section on the number line, and the sign signal from the binary symbol inputted as a result of the section correspondence on the number line An arithmetic code program to be output, which records in advance the coordinate values for the dominant symbol processing when the symbol to be encoded is the dominant symbol, and the coordinate values for the inferior symbol processing when the symbol is an inferior symbol. The first rLPS table is referred to, and a function for obtaining a divided region in which the first symbol section is updated, and the obtained divided region and a second rLPS table separate from the lrLPS table are referred to. Then, a function for obtaining a segmented area obtained by updating the second symbol section following the first symbol, a function for performing renormalization as necessary, outputting an output code, and a function for updating a context number are provided. Make it a computer. This makes it possible to realize high-speed arithmetic coding that can process more than 2 bits in one cycle. [0025] Furthermore, the arithmetic coding program uses a symbol having a high probability of occurrence, a symbol having a high probability of appearance and a symbol having a low probability of appearance, and a symbol having a low probability of occurrence as a symbol. Based on the coordinate values of the section on the number line up to the symbol and the section on the number line of the inferior symbol, it is made to correspond to a predetermined section on the number line and encoded from the section corresponding result on the number line and the input binary symbol An arithmetic coding program that outputs a signal, and when the dominant symbols of the binary symbol are consecutive, the predicted value of the update interval is referred to the update interval storage unit based on the number of consecutive dominant symbols and the context number. And a function to update using a context update table that stores context numbers. As a result, the arithmetic coding process when the dominant symbol process is continuously performed can be reduced by several cycles, and the process can be reduced and speeded up.
[0026] またコンピュータで読み取り可能な記録媒体は、上記プログラムを格納するもので ある。記録媒体には、 CD_ROM、 CD-R, CD _RWやフレキシブルディスク、磁 気テープ、 M〇、 DVD-ROM, DVD -RAM, DVD-R, DVD + R、 DVD-RW 、 DVD + RW, Blue— ray (登録商標)、 HD DVD (登録商標)(AOD)等の磁気デ イスク、光ディスク、光磁気ディスク、半導体メモリその他のプログラムを格納可能な媒 体が含まれる。またプログラムには、上記記録媒体に格納されて配布されるものの他 、インターネット等のネットワーク回線を通じてダウンロードによって配布される形態の ものも含まれる。さらに記録媒体には、上記プログラムがソフトウェアやファームウェア 等の形態で実行可能な状態に実装された汎用もしくは専用機器を含む。さらにまた プログラムに含まれる各処理や機能は、コンピュータで実行可能なプログラムソフトゥ エアにより実行してもよいし、各部の処理を所定のゲートアレイ(FPGA、 ASIC)等の ハードウェア、又はプログラム 'ソフトウェアとハードウェアの一部の要素を実現する部 分的ハードウェア ·モジュールとが混在する形式で実現してもよい。 発明の効果  [0026] A computer-readable recording medium stores the above-described program. Recording media include CD_ROM, CD-R, CD_RW, flexible disk, magnetic tape, M〇, DVD-ROM, DVD-RAM, DVD-R, DVD + R, DVD-RW, DVD + RW, Blue— This includes media that can store magnetic disks such as ray (registered trademark) and HD DVD (registered trademark) (AOD), optical disks, magneto-optical disks, semiconductor memories, and other programs. The program includes a program distributed in a download form through a network line such as the Internet, in addition to a program stored and distributed in the recording medium. Furthermore, the recording medium includes general-purpose or dedicated equipment in which the program is implemented in a state where it can be executed in the form of software, firmware, or the like. Furthermore, each process and function included in the program may be executed by program software that can be executed by a computer, or each part of the process or function may be performed by hardware such as a predetermined gate array (FPGA, ASIC), or It may be realized in the form of a mixture of partial hardware modules that realize some elements of software and hardware. The invention's effect
[0027] 本発明の算術符号化装置、算術符号化方法、算術符号化プログラム及びプロダラ ムを格納したコンピュータで読み取り可能な記録媒体によれば、 H. 264/AVCに おける CABACの処理のサイクル数を削減し、処理の低負荷化、高速化を図ることが できる。 発明を実施するための最良の形態 [0027] According to the computer-readable recording medium storing the arithmetic encoding device, arithmetic encoding method, arithmetic encoding program, and program of the present invention, the number of CABAC processing cycles in H.264 / AVC Can be reduced, and the processing load can be reduced and the processing speed can be increased. BEST MODE FOR CARRYING OUT THE INVENTION
[0028] 以下、本発明の実施の形態を図面に基づいて説明する。ただし、以下に示す実施 の形態は、本発明の技術思想を具体化するための算術符号化装置、算術符号化方 法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な 記録媒体を例示するものであって、本発明は算術符号化装置、算術符号化方法、算 術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒 体を以下のものに特定しなレ、。また、本明細書は請求の範囲に示される部材を、実 施の形態の部材に特定するものでは決してない。特に実施の形態に記載されている 構成部品の寸法、材質、形状、その相対的配置等は特に特定的な記載がない限り は、本発明の範囲をそれのみに限定する趣旨ではなぐ単なる説明例にすぎない。 なお、各図面が示す部材の大きさや位置関係等は、説明を明確にするため誇張して レ、ることがある。さらに以下の説明において、同一の名称、符号については同一もしく は同質の部材を示しており、詳細説明を適宜省略する。さらに、本発明を構成する各 要素は、複数の要素を同一の部材で構成して一の部材で複数の要素を兼用する態 様としてもよいし、逆に一の部材の機能を複数の部材で分担して実現することもでき る。  Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the embodiment described below exemplifies an arithmetic encoding device, an arithmetic encoding method, an arithmetic encoding program, and a computer-readable recording medium storing the program for embodying the technical idea of the present invention. Therefore, the present invention specifies an arithmetic encoding device, an arithmetic encoding method, an arithmetic encoding program, and a computer-readable recording medium storing the program as follows. Further, the present specification by no means specifies the member shown in the claims as the member of the embodiment. In particular, the dimensions, materials, shapes, relative arrangements, and the like of the components described in the embodiments are merely illustrative examples that are not intended to limit the scope of the present invention unless otherwise specified. Only. Note that the size and positional relationship of the members shown in each drawing may be exaggerated for clarity of explanation. Further, in the following description, the same name and reference sign indicate the same or the same members, and detailed description will be omitted as appropriate. Furthermore, each element constituting the present invention may be configured such that a plurality of elements are constituted by the same member and the plurality of elements are shared by one member, and conversely, the function of one member is plural members. It can also be realized by sharing.
[0029] 本明細書において算術符号化装置に接続される操作、制御、入出力、表示、その 他の処理等のためのコンピュータ、プリンタ、外部記憶装置その他の周辺機器との接 続は、例えば IEEE1394、 RS - 232x, RS -422, RS -423, RS -485, USB等 のシリアル接続、パラレル接続、あるいは 10BASE— T、 100BASE-TX, 1000B ASE— Τ等のネットワークを介して電気的に接続して通信を行う。接続は有線を使つ た物理的な接続に限られず、 ΙΕΕΕ802. lx、 OFDM方式等の無線 LANや Blueto oth等の電波、赤外線、光通信等を利用した無線接続等でもよい。さらに検索対象の テキストや画像データの保存やデータベース構築、検索等に関する設定の保存等を 行うための記録媒体には、メモリカードや磁気ディスク、光ディスク、光磁気ディスク、 半導体メモリ等が利用できる。  [0029] In this specification, connection to computers, printers, external storage devices and other peripheral devices for operation, control, input / output, display, other processing, etc. connected to the arithmetic coding device is, for example, IEEE1394, RS-232x, RS-422, RS-423, RS-485, USB, etc., serial connection, parallel connection, or 10BASE-T, 100BASE-TX, 1000B ASE—electrically connected via a network such as Τ And communicate. The connection is not limited to a physical connection using a wired connection, but may be a wireless connection using wireless LAN such as 802.lx or OFDM, radio waves such as Bluetooth, infrared, or optical communication. In addition, memory cards, magnetic disks, optical disks, magneto-optical disks, semiconductor memories, etc. can be used as storage media for storing text and image data to be searched, database construction, storage of search settings, etc.
(動画像符号化/復号装置)  (Video encoding / decoding device)
[0030] 図 1に、 H. 264/AVCの符号化処理処理により、画像データ力もビットストリーム を得る動画像符号化/復号装置を構成するブロック図の一例を、図 1に示す。この図 に示す動画像符号化/復号装置 100は、メモリ管理を行う DMA1 (Direct Memory Access)と、動き探索部 2 (ME)と、デブロッキングフィルタ 3 (DF : Deblocking Filter) と、動き補償部 4 (MC)と、変換部 5と、量子化部 6と、逆量子化部 7と、逆変換部 8と、 全体制御部 9と、可変長符号ィ匕部(VLC : Variable Length Coder)である算術符号化 /復号装置 10と、可変長復号化部 11 (VLD : Variable Length Decoder)とを備える。 算術符号化/復号装置 10は、算術符号ィヒ技術として CABACや CAVLCを行う。 動画像符号化/復号装置 100は、ハードウェアで構成する他、プロセッサでソフトゥ エア的に処理することも可能である。この場合は、コンピュータにインストールされた算 術符号化プログラムにて、算術符号化を行う。なおコンピュータには、汎用のパーソ ナルコンピュータやワークステーションの他、携帯電話やスマートフォン、 PDA、通信 機能付カーナビゲーシヨンやデータ通信可能な固定電話等の、動画像を表示可能 な機器が適宜利用できる。 [0030] FIG. 1 shows that the image data power is also converted into a bitstream by the H.264 / AVC encoding processing. FIG. 1 shows an example of a block diagram of a moving image encoding / decoding device that obtains the above. The moving image encoding / decoding device 100 shown in this figure includes a DMA1 (Direct Memory Access), a motion search unit 2 (ME), a deblocking filter 3 (DF: Deblocking Filter), and a motion compensation unit that perform memory management. 4 (MC), conversion unit 5, quantization unit 6, inverse quantization unit 7, inverse conversion unit 8, overall control unit 9, and variable length coder (VLC) A certain arithmetic encoding / decoding device 10 and a variable length decoding unit 11 (VLD: Variable Length Decoder) are provided. The arithmetic encoding / decoding device 10 performs CABAC and CAVLC as arithmetic encoding techniques. The moving image encoding / decoding device 100 is configured by hardware, and can also be processed in software by a processor. In this case, arithmetic coding is performed by an arithmetic coding program installed in the computer. In addition to general-purpose personal computers and workstations, devices that can display moving images, such as mobile phones, smartphones, PDAs, car navigation systems with communication functions, and landlines that can perform data communication, can be used as computers. .
[0031] 動画像符号化/復号装置 100では、まず符号化処理を行う動画像が入力され、動 き探索部 2において動き検出処理を行う。この処理で求められた動きベクトルを用い 、動き補償部 4、変換部 5、量子化部 6において、動き補償処理、変換処理、量子化 処理を行う。量子化処理を行ったブロック係数、および符号化に使用するすべての 情報が算術符号ィ匕/復号装置 10に集められ、ビットストリームを作成する。次のフレ ームの符号に用いる参照フレームを作成するため、逆符号化部 7、逆変換部 8、動き 補償部 4を用いて、その逆処理を行い、参照フレームを作成し、フレームメモリ FMに 保管する。フレームメモリ FMに保管する前に、デブロッキングフィルタ 3を用いれば、 ブロックノイズを軽減する効果が得られる。 [0031] In the moving image encoding / decoding device 100, first, a moving image to be encoded is input, and the motion search unit 2 performs a motion detection process. The motion compensation unit 4, the conversion unit 5, and the quantization unit 6 perform motion compensation processing, conversion processing, and quantization processing using the motion vector obtained by this processing. The block coefficients subjected to the quantization process and all information used for encoding are collected in the arithmetic code decoder / decoder 10 to create a bitstream. In order to create a reference frame to be used for the code of the next frame, the inverse encoding unit 7, the inverse transform unit 8, and the motion compensation unit 4 are used to perform reverse processing to create a reference frame, and the frame memory FM Keep in. If deblocking filter 3 is used before storing in frame memory FM, the effect of reducing block noise can be obtained.
[0032] この動画像符号化/復号装置 100では、符号化以外に復号処理も可能となる。そ の処理手順は、まず入力されるビットストリームを復号処理を行う可変長復号ィヒ部 11 より解析し、ビットストリームにある画像情報を復号し、参照フレーム生成手順と同じく 逆量子化部 7、逆変換部 8、動き補償部 4を用いて画像フレームを復元し、フレームメ モリ FMに保管する。このように、算術符号化技術には、符号化されたデータの復号 も含まれる。本明細書においては、算術符号化装置、方法、プログラム等は、算術符 号化のみならず、復号を行う装置、方法、プログラムも含むものとして説明する。 (算術符号化方式) [0032] The moving image encoding / decoding device 100 can perform decoding processing in addition to encoding. The processing procedure is as follows. First, the input bit stream is analyzed by the variable length decoding unit 11 that performs decoding processing, the image information in the bit stream is decoded, and the inverse quantization unit 7, The image frame is restored using the inverse transform unit 8 and the motion compensation unit 4 and stored in the frame memory FM. Thus, arithmetic coding techniques include decoding of encoded data. In this specification, arithmetic coding devices, methods, programs, etc. A description will be given on the assumption that not only encoding but also an apparatus, method, and program for performing decoding. (Arithmetic coding method)
[0033] 本実施の形態では、 H. 264/AVCにおける CABAC処理の高速化を図る。 CAB ACは算術符号ィ匕方式である。基本的な算術符号化であるエリアス符号化 '復号化 の概念を、図 2に示す。算術符号化では、一般に下限値 0以上、上限値 1未満の実 数直線を考える。この区間を初期の rangeとする。算術符号ィ匕においては、優勢シン ボル(Most Possible Symbol : MPS)、劣勢シンボル(Least Possible Symbol : LPS)の 発生確率に基づいて実数直線を分割する。分割した領域をそれぞれ rMPS、 rLPS とする。その後、符号ィ匕出力対象となるシンボルが属する領域を選択する。ここでは 仮に rMPSを選択したとする。その後、選択した rMPSを次の rangeとし、この range に対して同様に rMPS、 rLPSに分割し、符号化出力対象となる領域を選択する。こ の動作を符号化出力対象が無くなるまで繰り返し、最終的に特定された領域である r angeの範囲内に収まる値を出力値 valueとして出力することで符号化が完了する。 通常は rangeの下限値を出力値 valueとして出力する。このような基本的な算術符号 ィ匕は、区間の rangeや入力値である valueが実数値であり、演算精度の問題から現 実的ではない。そこで実数直線を有限のビット幅を持つ整数区間とし、特定した区間 の幅である rangeと特定した区間の下限値である valueに対して正規化処理を導入 することで問題を解決している。正規化処理は、左シフト演算により行われ、この正規 化処理によって、 rangeと valueの演算精度を確保している。 CABACでは、複数の コンテキスト変数情報を利用して符号化効率の向上を図っている。  [0033] In the present embodiment, the CABAC processing in H.264 / AVC is accelerated. CAB AC is an arithmetic sign method. Figure 2 shows the concept of alias coding and decoding, which is basic arithmetic coding. In arithmetic coding, a real line with a lower limit of 0 or more and an upper limit of 1 is generally considered. This section is the initial range. In arithmetic sign 匕, the real line is divided based on the probability of occurrence of the dominant symbol (MPS) and the inferior symbol (Least Possible Symbol: LPS). Let the divided areas be rMPS and rLPS, respectively. After that, the area to which the symbol that is the target of code output belongs is selected. Here, it is assumed that rMPS is selected. After that, the selected rMPS is set as the next range, and this range is divided into rMPS and rLPS in the same manner, and the region to be encoded output is selected. This operation is repeated until there are no more encoding output targets, and the value that falls within the range of the range that is finally specified is output as the output value value, thereby completing the encoding. Normally, the lower limit value of the range is output as the output value value. Such a basic arithmetic sign 匕 is not realistic because the range of the interval and the value that is the input value are real values, and it is not a matter of accuracy. Therefore, the real line is made an integer interval with a finite bit width, and the problem is solved by introducing normalization to the range that is the width of the specified interval and the value that is the lower limit value of the specified interval. Normalization processing is performed by left shift operation, and the accuracy of range and value is ensured by this normalization processing. CABAC uses multiple context variable information to improve encoding efficiency.
[0034] 次に算術符号化(AC Arithmetic Coding)を行う手順を、図 3に基づいて説明する 。 CABACにおいて用いられる 2値算術符号化の場合、与えられた 2値シンボルの発 生確率に基づいて、入力信号に応じて実数 0. 0から 1. 0の間で区間を逐次分割し ていく。ここで、入力信号 00010とすると、 "0"の発生確率が 0. 8、 " 1 "の発生確率が 0. 2となる。このため、入力信号の内" 0"が符号化されると、前の区間の下 0. 8の部 分が、新しい区間として更新される。一方、 " 1"が符号化されると、前の区間の上 0. 2 が新しい区間として更新される。  Next, a procedure for performing arithmetic coding (AC Arithmetic Coding) will be described with reference to FIG. In the case of binary arithmetic coding used in CABAC, based on the occurrence probability of a given binary symbol, the interval is sequentially divided between real numbers 0.0 and 1.0 according to the input signal. Here, when the input signal is 00010, the occurrence probability of “0” is 0.8, and the occurrence probability of “1” is 0.2. Therefore, when “0” in the input signal is encoded, the lower 0.8 part of the previous interval is updated as a new interval. On the other hand, if "1" is encoded, the upper 0.2 of the previous interval is updated as a new interval.
[0035] 図 3の最初のステップ 1では' '0"を符号化する。この結果、初期区間の 0. 0- 1. 0 の下側 0. 8の部分(0. 0〜0. 8)が新しい区間として更新される。 [0035] The first step 1 in Fig. 3 encodes '0', which results in an initial interval of 0.0-1.0. The lower 0.8 part (0.0 to 0.8) is updated as a new section.
[0036] 次にステップ 2で" 0"を符号化する。この結果、現在の区間(0· 0〜0· 8)の下側で[0036] Next, in step 2, "0" is encoded. As a result, on the lower side of the current section (0 · 0 to 0 · 8)
0. 8 X 0. 8 = 0. 64の咅分(0. 0〜0. 64)力 S更新された区間となる。 0. 8 X 0. 8 = 0.6. Apportioning (0.0 to 0.64) force S This is an updated section.
[0037] 同様にステップ 3で" 0"を符号ィ匕する。この結果、現在の区間(0. 0〜0. 64)のさら に下彻 Jで 0. 64 X 0. 8 = 0. 512のき分(0. 0〜0. 512)力 S更新区間となる。 Similarly, in step 3, “0” is signed. As a result, in addition to the current interval (0.0 to 0.64), the lower limit J is 0.664 X 0.8 = 0.512 (S0.0 to 0.512) force S update interval. Become.
[0038] 次にステップ 4では" 1 "を符号化する。この結果、現在の区間(0. 0〜0. 512)の上 側で、 0. 512 X 0. 2 = 0. 1024の部分、すなわち((0. 512— 0. 1024 = 0. 4096Next, in step 4, “1” is encoded. As a result, in the upper part of the current interval (0.0 to 0.512), the portion of 0.512 x 0.2 = 0.1024, ie ((0.512—0.1024 = 0. 4096
)〜0. 512) = (0. 4096〜0. 512)カ更新区間となる。 ) ~ 0.512) = (0.4096 ~ 0.512) update interval.
[0039] そしてステップ 5で再び" 0"を符号化する。この結果、現在の区間(0. 4096-0. 5[0039] In step 5, "0" is encoded again. As a result, the current interval (0. 4096-0. 5
12)の下側で 0. 1024 X 0. 8 = 0. 08192の部分(0. 4096〜(0. 4096 + 0. 081912) The lower part of 0.1024 x 0. 8 = 0.0.08192 (0.4096 to (0.4096 + 0.0.0819
2) ) = (0. 4096〜0. 49152)カ更新区間となる。 2)) = (0.4096 to 0.449152) is the update interval.
[0040] 最後に、ステップ 6で符号を決定する。算術符号の符号語は、最終区間を特定する 実数値の 2進表現となる。この例では、最終の更新区間が(0. 4096-0. 49152)と なるので、その間に含まれる実数の中で最も 2進表現が短くなる 0· 4375をとることが できる。 0. 4375の 2進表現は 0· 0111になるので、常に 0となる最初の桁を除いた、 小数点以下の" 0111"が符号語として出力される。 [0040] Finally, the code is determined in Step 6. The code word of arithmetic code is a binary representation of a real value that specifies the last interval. In this example, since the last update interval is (0.4096-0.49152), it is possible to take 0 · 4375, which is the shortest binary representation among the real numbers included in the interval. 0. The binary representation of 4375 is 0 · 0111, so “0111” below the decimal point is always output as a code word, excluding the first digit that is 0.
(算術符号化装置のブロック図)  (Block diagram of arithmetic coding device)
[0041] 次に、 CABAC処理を行う算術符号化装置の例を、図 4に示す。この図に示すよう に算術符号化装置 10Aは、多値信号を 2値シンボルに変換する 2値化部 12と、符号 化すべき 2値シンボルの発生確率を周囲の状況すなわちコンテキストに応じて計算 · 更新するためのコンテキスト計算部 14と、これら 2値シンボルと 2値シンボル発生確率 に基づいて算術符号化を行う 2値算術符号ィ匕部 16で構成されている。 Next, FIG. 4 shows an example of an arithmetic coding device that performs CABAC processing. As shown in this figure, the arithmetic coding apparatus 10A includes a binarization unit 12 that converts a multilevel signal into a binary symbol, and calculates the occurrence probability of the binary symbol to be encoded according to the surrounding situation, that is, the context. It consists of a context calculation unit 14 for updating, and a binary arithmetic code unit 16 for performing arithmetic coding based on these binary symbols and binary symbol occurrence probabilities.
[0042] 2値算術符号化部 16の詳細を図 5に示す。この図に示すように、 2値算術符号化部FIG. 5 shows details of the binary arithmetic encoding unit 16. As shown in this figure, binary arithmetic coding unit
16は rLPSテープノレ 20と、コンテキスト変更テープノレ 30と、演算咅 と、再正規ィ匕 部 50とを有する。 16 includes an rLPS tape knob 20, a context change tape knob 30, an arithmetic unit, and a renormalization unit 50.
(再正規化)  (Renormalization)
[0043] CABAC内部の 2値算術符号化部も、算術符号化にあたっては上記と同様の動作 を行う。ただ、実際に区間区間を保持する記憶素子であるレジスタの桁数が有限であ るため、出力すべき区間の上位ビットが確定した段階で適時確定ビットを出力し、更 新区間の幅を広げる再正規化(Renormalization)の処理が加わる。 [0043] The binary arithmetic encoding unit in CABAC also performs the same operation as described above for arithmetic encoding. However, the number of digits in the register, which is the storage element that actually holds the section, is finite. For this reason, when the upper bits of the section to be output are determined, a fixed bit is output in a timely manner, and renormalization processing is added to widen the update section.
[0044] 再正規化の手順を、図 6に基づいて説明する。ステップ 1で 0を符号ィ匕した結果、更 新区間が(0〜0. 8)となる。次にステップ 2で 1を符号化した結果、区間(0. 0〜0. 8 )の上側 0. 2の部分 (0. 64〜0. 8)が更新区間となる。この段階で、出力すべき区間 の代表値が 0. 5以上になることが確定する。すなわち、先頭のビットが " 1 "であること が確定するため、この時点でステップ 3として、" 1"を出力すると共に、 (0. 5〜: 1. 0) の区間を (0. 0〜: 1. 0)に拡大するようマッピング (対応付け)する。ここでは、 (0. 64 〜0. 8)の区間を(((0. 64 - 0. 5) X 2 = 0. 28)〜((0. 8 - 0. 5) X 2 = 0. 6) ) = ( 0. 28-0. 6)に拡大する。このように、処理の途中で(この例ではステップ 2で 1を符 号化した時点で)区間の座標値が 0. 5 (2進表現で 0. 1)以上となることが判明するの で、その時点で小数点第 1位の " 1 "を出力する。同時に、区間から 0. 5を減算して 2 倍することにより、区間を実質的に拡張でき、使用可能な桁数を大きくできる。一方、 区間の座標値が 0. 25よりも小さくなると、先頭ビットが" 0"であることが判明する。こ の処理によって、区間の幅を表す実数の桁数が増え続けることを防ぐことができ、有 限桁数の演算で符号ィ匕を行うことが可能となる。  [0044] The renormalization procedure will be described with reference to FIG. As a result of signing 0 in step 1, the update interval is (0 to 0.8). Next, as a result of encoding 1 in step 2, the upper 0.2 part (0.64 to 0.8) of the interval (0.0 to 0.8) becomes the update interval. At this stage, it is determined that the representative value of the section to be output is 0.5 or more. In other words, since it is determined that the first bit is “1”, “1” is output as step 3 at this time, and the interval from (0.5 to 1.0) is set to (0. : Map (map) to enlarge to 1.0). Here, the interval from (0. 64 to 0.8) is defined as (((0. 64-0.5) X 2 = 0.28) to ((0. 8-0.5) X 2 = 0.6. )) = (0. 28-0. 6). In this way, it becomes clear that the coordinate value of the section becomes 0.5 (0.1 in binary expression) or more during the processing (in this example, when 1 is encoded in step 2). At that time, the first decimal place "1" is output. At the same time, by subtracting 0.5 from the interval and doubling it, the interval can be substantially expanded and the number of usable digits can be increased. On the other hand, when the coordinate value of the section is smaller than 0.25, it is found that the first bit is “0”. This process prevents the number of real digits representing the width of the interval from increasing, and makes it possible to perform sign-up by calculating a limited number of digits.
[0045] 以上の例では、説明のため 2値シンボルの発生確率は固定のものとした力 実際に は一動作ごとに適応的に変更させることも可能である。 2値算術符号ィ匕部に 2値シン ボルの発生確率を与える役割は、コンテキスト計算部 14が行つている。  [0045] In the above example, for the sake of explanation, the force with a fixed occurrence probability of binary symbols can be changed adaptively for each operation in practice. The context calculator 14 plays the role of giving the occurrence probability of the binary symbol to the binary arithmetic code part.
(CABACの動作)  (CABAC operation)
[0046] CABACの動作としては、更新区間を更新する、すなわち range (更新区間)と low  [0046] The CABAC operation is to update the update interval, that is, range (update interval) and low
(更新区間以外)に区分する動作として、 MPS (Most Possible Symbol)処理と LPS (L east Possible Symbol)処理の 2種類がある。上記図 3の例では、 0を符号化する処理 力 SMPSに該当し、 1を符号化する処理が LPSに相当する。  There are two types of operations (MPS (Most Possible Symbol) processing) and LPS (Least Possible Symbol) processing, which are classified into (except for the update interval). In the example of FIG. 3, this corresponds to the processing power SMPS for encoding 0, and the process for encoding 1 corresponds to LPS.
[0047] MPS処理時には、以下の式によって rangeと lowが決定される。  [0047] During MPS processing, range and low are determined by the following equations.
range = range— rLP¾  range = range— rLP¾
low = low  low = low
[0048] 一方、 LPS処理時には以下の式で rangeと lowが決定される。 range =rLPS On the other hand, during LPS processing, range and low are determined by the following equations. range = rLPS
low= low + range— rLPS  low = low + range— rLPS
これらの処理のいずれが行われるかは、コンテキストと rangeによって決定される。コ ンテキストは、 2値シンボルの発生確率を示しており、シンボルの処理時に更新される  Which of these processes is performed is determined by the context and range. The context indicates the probability of occurrence of the binary symbol and is updated when the symbol is processed
[0049] コンテキストは図 4に示すコンテキスト計算部 14で保持、更新される。コンテキスト計 算部 14は、 2値シンボルの発生確率を複数保持しており、現在の符号化対象や周囲 の状況すなわちコンテキストに応じて発生確率を切り替え、 2値算術符号化部 16に 与える。 2値シンボルの発生確率は、発生確率テーブルに保持され、発生確率が高 レ、 0、 1いずれかのシンボル(MPS : Most Probable Symbol :発生確率が最も高いシン ボル)と、その発生確率テーブル番号 (pStateldx)とが対応付けて保持される。発生 確率テーブル番号を指定すると、対応する発生確率が得られる。 [0049] The context is held and updated by the context calculator 14 shown in FIG. The context calculation unit 14 holds a plurality of binary symbol occurrence probabilities, and switches the occurrence probabilities according to the current encoding target and the surrounding situation, that is, the context, and supplies it to the binary arithmetic encoding unit 16. The occurrence probability of a binary symbol is stored in the occurrence probability table, and the occurrence probability is high. Either 0 or 1 (MPS: Most Probable Symbol: the symbol with the highest occurrence probability) and its occurrence probability table number (pStateldx) is stored in association with each other. When the occurrence probability table number is specified, the corresponding occurrence probability is obtained.
(従来の CABAC処理)  (Conventional CABAC processing)
[0050] 次に、 CABAC処理を行う従来の算術符号化装置において、 2値算術符号ィ匕部 16 力 コンテキスト計算部 14から与えられた発生確率 (コンテキスト)に従って、 2値化部 12から与えられる 2値シンボルの符号化を行レ、、区間を更新する手順を、図 7のプロ ック図及び図 8の動作図に基づいて説明する。  [0050] Next, in the conventional arithmetic coding apparatus that performs CABAC processing, the binary arithmetic code input section 16 is given from the binarization section 12 according to the occurrence probability (context) given from the context calculation section 14 The procedure for encoding binary symbols and updating intervals will be described with reference to the block diagram in FIG. 7 and the operation diagram in FIG.
[0051] 図 7に示す算術符号ィ匕装置 200は、演算部 40と、 rLPSテープノレ 20と、コンテキス ト更新部 70とを備える。また算術符号化装置 200は、入力端子として、区間を入力す る range入力及び/又は low入力、 2値列入力、コンテキスト入力を備えている。 ran ge入力、 low入力はそれぞれ、演算部 40、 rLPSテーブル 20に接続される。また 2値 列入力は演算部 40、 rLPSテープノレ 20、コンテキスト更新部 70に接続される。さらに コンテキスト入力は、 rLPSテープノレ 20、コンテキスト更新部 70に接続される。ここで r LPSテープノレ 20は、指定された rangeとコンテキストに応じて、 rLPSを選択するテー ブルである。また演算部 40は再正規化部を備え、再正規化の際に符号ビットを生成 し、演算部 40から出力符号を出力する。コンテキストは、 range, lowの更新後に更 新される。コンテキスト更新部 70は、前段の処理結果に基づいてコンテキストを更新 して出力する。 [0052] 演算部 40は、算術符号化演算を行う。ここでは、入力された区間 range及び/又 は low、これに対応する rLPSを rLPSテーブル 20を参照して決定し、これらに基づ いて区間を更新し、 range 'と low'を出力する。 7 includes an arithmetic unit 40, an rLPS tape knob 20, and a context update unit 70. The arithmetic coding apparatus 200 includes, as input terminals, a range input and / or low input for inputting a section, a binary string input, and a context input. The range input and low input are connected to the arithmetic unit 40 and the rLPS table 20, respectively. The binary string input is connected to the arithmetic unit 40, the rLPS tape knob 20, and the context update unit 70. Further, the context input is connected to the rLPS tape glue 20 and the context update unit 70. Here, r LPS tape 20 is a table for selecting rLPS according to the specified range and context. The arithmetic unit 40 includes a renormalization unit, generates a sign bit at the time of renormalization, and outputs an output code from the arithmetic unit 40. The context is updated after updating range, low. The context update unit 70 updates and outputs the context based on the previous processing result. [0052] The calculation unit 40 performs arithmetic coding calculation. Here, the input range “range” and / or “low” and the corresponding rLPS are determined by referring to the rLPS table 20, the range is updated based on these, and range “low” is output.
[0053] この処理を、図 8の動作図に基づいて説明する。ここでは、所定の区間に対して、( サイクル 1) MPS処理と、(サイクル 2) LPS処理及び再正規化を行う処理を説明して いる。すなわち、まずサイクル 1で、 rangeと lowが決定されている区間に対して、 2値 シンボル A及び対応するコンテキスト Xの場合に演算部 40が MPS処理して符号ィ匕を 行レ、、区間を range 'と low'に更新する。ここでは、  This processing will be described based on the operation diagram of FIG. Here, (cycle 1) MPS processing, (cycle 2) LPS processing and renormalization processing are described for a predetermined section. That is, first, in cycle 1, for the interval for which range and low are determined, in the case of binary symbol A and the corresponding context X, the arithmetic unit 40 performs MPS processing and performs sign sign 、, Update to range 'and low'. here,
range = range— ^Ρ¾Λ range = range— ^ Ρ¾ Λ
low =low  low = low
となる。一方でコンテキスト更新部 70がコンテキスト Xを更新する。そしてサイクル 2で 、この range,と low'を 2値シンボル B及び対応するコンテキスト Yの場合に演算部 40 力 SLSP処理で符号化を行って、区間を range"と low"に更新する。ここでは range =rLPS 、  It becomes. On the other hand, the context update unit 70 updates the context X. Then, in cycle 2, in the case of binary symbol B and corresponding context Y, the range and low 'are encoded by the arithmetic unit 40-power SLSP process, and the interval is updated to range "and low". Here range = rLPS,
iow =iow + range — rLP^  iow = iow + range — rLP ^
となる。また一方、コンテキスト更新部 70がコンテキスト Yを更新する。  It becomes. On the other hand, the context update unit 70 updates the context Y.
[0054] さらに再正規化を行って区間を range" 'と low" 'に拡大する。この結果、 [0054] Further, renormalization is performed to expand the interval to range "'and low"'. As a result,
range = grange —0. 5) X 2  range = grange —0. 5) X 2
low" ' = (low,,一 0· 5) Χ 2  low "'= (low, 1 0 · 5) Χ 2
となる。さらに演算部 40が出力符号 " 1 "を出力する。このように従来の CABAC処理 では、上記の処理を完了するまでに 2サイクルを要した。  It becomes. Further, the calculation unit 40 outputs the output code “1”. Thus, the conventional CABAC process required two cycles to complete the above process.
[0055] 一方で近年の画像の高精細化に伴って H. 264ZAVCの符号ィ匕処理をリアルタイ ムで行うなど、高速化の要求が高ぐ CABAC処理の演算量を削減することが求めら れている。しなしながら、上記の構成では range、 lowの値が前の処理に依存するた め、演算をパイプラインィ匕できないという問題があった。すなわち、 P 接するシンボル の算術符号化においては、 2シンボル目の処理には range、 lowだけでなく rLPSの 値までも前の処理(1シンボル目の処理)に依存する。このため、 1サイクル間に 2シン ボル以上の処理は困難とされていた。 [0056] 言い換えると、従来、 CABACの実行速度の高速化手法としては、 CABAC装置の 各処理部の処理やメモリアクセス、符号化器部分の動作並列化等に着目し、如何に 効率よくデータ処理を行うかという手法を主眼として、 1シンボル /1サイクルの処理 の実現が研究されている。しかしながら、 CABACのシンボル処理は、常に過去のシ ンボルの出現確率に依存する特徴があり、各シンボルの処理時に更新が必要なコン テキスト、 rLPSは、直前のシンボルの処理結果を得なければならなレ、。このため従来 は、前段の処理に依存する性質上、演算処理のハードウェアを増やすことでは処理 の効率化は望めないと考えられており、十分に満足できる高速化が実現されていな いにもかかわらず、 1シンボル /1サイクルの処理速度が高速化の限界であると理解 されていた。 [0055] On the other hand, with the recent high definition of images, H.264ZAVC code processing is performed in real time. It is. However, in the above configuration, the range and low values depend on the previous processing, so there is a problem that the operation cannot be pipelined. In other words, in the arithmetic coding of P-connected symbols, the processing of the second symbol depends on the previous processing (the processing of the first symbol) not only for range and low but also for the value of rLPS. For this reason, it was considered difficult to process more than 2 symbols in one cycle. In other words, conventionally, as a method for increasing the execution speed of CABAC, focusing on processing of each processing unit of the CABAC device, memory access, parallel operation of the encoder portion, etc., how efficiently data processing is performed. Realization of processing of 1 symbol / cycle is being researched, focusing on the method of whether or not to perform. However, CABAC symbol processing always has a feature that depends on the appearance probability of past symbols. The context that needs to be updated when processing each symbol, rLPS, must obtain the processing result of the immediately preceding symbol. Les. For this reason, in the past, due to the nature of dependence on the processing in the previous stage, it is thought that increasing the processing hardware will not improve the efficiency of the processing, and sufficient speedup is not realized. Regardless, it was understood that the processing speed of one symbol / cycle was the limit of speedup.
[0057] これに対し本発明では、シンボルの出現確率の演算手順を分析し、シンボル間の 依存性の詳細関係を解明した。これにより、状況によりシンボル間の依存性を失くし、 事前に次サイクルの処理を実行し、テーブルの更新も同時に実現できる手法を開発 するに至った。  On the other hand, in the present invention, the calculation procedure of the appearance probability of the symbol is analyzed, and the detailed relationship of the dependency between the symbols is clarified. As a result, depending on the situation, the dependency between symbols was lost, and the process of the next cycle was executed in advance, and a method that could simultaneously update the table was developed.
(2サイクル予測)  (2 cycle prediction)
[0058] 本実施の形態では、 2シンボルの処理に必要な情報を一括して入力し、 1サイクル 間に 2シンボルの処理を行うため、コンテキスト更新テーブル、 rLPSテーブル、演算 部をそれぞれ 2つ設けている。ここでは rangeと lowを演算するために必要なコンテキ スト、すなわち 2値列とシンタックス要素と周囲の状況(コンテキスト)に基づいて、生 成された 2値列に使用するコンテキストを決定するための rLPSテーブルを予め作成 し、処理時にはこれを参照することで先の演算の予測を可能としている。さらに rLPS テーブルを 2つ用意することで、 2サイクル分の処理を行うための異なる rLPSを、同 時に参照可能とした。例えば、一方のテーブルを MPS処理用の LPSを記録した第 1 rLPSテープノレとし、他方を LPS処理用の LPSを記録した第 2rLPSを保持したテー ブルとしており、 1サイクル中に MPS処理、 LPS処理両方に対応できる。また各 rLP Sテーブルはマルチポート(デュアルポート)メモリを利用し、 2つのアクセスポートから 同時に書き込みと読み出しを可能としている。これにより、一方のアクセスポートから データを読み書きしているときに、他方のアクセスポートを使用してデータの読み出し などが行なえる。これにより、 2つのプロセッサが同じメモリに同時にアクセス可能とな り、 2サイクル分の処理を 1サイクル内で完了でき、処理サイクル数を低減して CABA C処理の高速化を図ってレ、る。 [0058] In the present embodiment, two pieces of context update table, rLPS table, and operation unit are provided in order to input information necessary for 2-symbol processing at once and perform 2-symbol processing in one cycle. ing. Here, the context required to calculate range and low, ie, the binary string, syntax elements, and surrounding context (context) is used to determine the context to use for the generated binary string. The rLPS table is created in advance, and it is possible to predict the previous calculation by referring to it during processing. Furthermore, by preparing two rLPS tables, different rLPS for processing for two cycles can be referred to at the same time. For example, one table is the first rLPS tape record that records LPS for MPS processing, and the other is a table that stores the second rLPS that records LPS for LPS processing. Both MPS processing and LPS processing are performed in one cycle. It can correspond to. Each rLP S table uses multi-port (dual port) memory, and can be written and read simultaneously from two access ports. As a result, when data is being read from or written to one access port, data can be read using the other access port. Etc. can be done. As a result, two processors can access the same memory at the same time, and two cycles of processing can be completed within one cycle, reducing the number of processing cycles and increasing the speed of CABA C processing.
[0059] なおコンテキストをメモリから 2つ同時に読み出し、且つ 2つ同時に書き込むには、 更新コンテキストの内容により、最大で従来の 4倍程度のメモリ量が必要になると見込 まれる。またメモリ量を従来の 2倍のみ使用した場合には、同じコンテキストの更新が 必要となる際に 2サイクルの処理を要し、処理速度の低減になる。同様に 3シンボル の処理も可能である力 コンテキストのメモリ量は従来の 6倍程度となる。このように、 パフォーマンスとハードウェア仕様のバランス、及び要求される処理能力や速度など に応じて、適切な構成に設計する必要がある。好ましくは、一括に入力する情報は 2 シンボル分とし、 2サイクル予測と、後述する連続 MPS処理予測を併用して、これら を切り替えることにより、画像にあまり依存せず、高い処理速度を保つことができる。 以下、順次説明する。 [0059] Note that to read and write two contexts from memory at the same time, it is expected that a maximum amount of memory four times that of the conventional one will be required depending on the contents of the update context. Also, if only twice the amount of memory is used, two cycles of processing are required when the same context needs to be updated, reducing the processing speed. Similarly, 3 symbols can be processed. The memory capacity of the power context is about six times that of the conventional one. In this way, it is necessary to design an appropriate configuration according to the balance between performance and hardware specifications, and required processing capacity and speed. Preferably, the information to be input at a time is for two symbols, and switching between two-cycle prediction and continuous MPS processing prediction described later can maintain high processing speed without depending much on the image. it can. Hereinafter, the description will be made sequentially.
(実施の形態 1)  (Embodiment 1)
[0060] 図 9に、本実施の形態 1に係る算術符号化装置を示す。この図に示す算術符号ィ匕 装置は、多値信号を 2値シンボルに変換する 2値化部 112と、符号化すべき 2値シン ボルの発生確率を周囲の状況 (コンテキスト)に応じて計算 ·更新するためのコンテキ スト計算部 114と、これら 2値シンボルと 2値シンボル発生確率に基づいて算術符号 化を行う算術符号化部 116と、コンテキストを保持する第 1メモリ部 117と、 range及び lowを保持する第 2メモリ部 118と、 2サイクル予測を行う予測部 119と、出力バッファ 121とを備える。この算術符号化装置は、多値信号及び/又は符号化対象のシンタ ックス要素を 2値化部 112で入力すると、 2値列に変換して算術符号化部 116と予測 部 119に送られる。また必要に応じて周囲の状況(コンテキスト)もコンテキスト計算部 114に入力される。そして予測部 119で rangeの予測を行う一方、算術符号化部 11 6で算術符号化を行い、得られた結果を符号ビットとして各々出力バッファ 121に出 力する。なお、必要に応じて入力側にバッファを設けることも可能であることは言うま でもない。  FIG. 9 shows the arithmetic coding apparatus according to the first embodiment. The arithmetic coding apparatus shown in this figure calculates a binarization unit 112 that converts a multilevel signal into a binary symbol, and calculates the occurrence probability of a binary symbol to be encoded according to the surrounding situation (context). The context calculation unit 114 for updating, the arithmetic coding unit 116 that performs arithmetic coding based on these binary symbols and the binary symbol occurrence probability, the first memory unit 117 that holds the context, and range and low Are provided, a second memory unit 118 that holds the data, a prediction unit 119 that performs two-cycle prediction, and an output buffer 121. In this arithmetic encoding apparatus, when a multilevel signal and / or a syntax element to be encoded is input to the binarizing unit 112, the arithmetic unit converts it into a binary string and sends it to the arithmetic encoding unit 116 and the prediction unit 119. In addition, the surrounding situation (context) is also input to the context calculation unit 114 as necessary. The prediction unit 119 performs range prediction, while the arithmetic encoding unit 116 performs arithmetic encoding, and outputs the obtained result to the output buffer 121 as a code bit. It goes without saying that a buffer can be provided on the input side as required.
(第 1メモリ部 117) [0061] 第 1メモリ部 117は、コンテキストを保持するコンテキストテーブルとして機能する。コ ンテキストテーブルは必要に応じて随時更新される。このため第 1メモリ部 117には更 新が可能なメモリ、例えば RAMなどが使用される。第 1メモリ部 117の例を図 10に示 す。この図に示すように第 1メモリ部 117内にはコンテキスト # 1、 # 2、 # 3、 · · ·が保 持され、各コンテキストが 2値列(0, 1)と対応付けられる。この際、 1のコンテキストに 複数の 2値列を割り当てることも可能である。 (First memory part 117) [0061] The first memory unit 117 functions as a context table that holds contexts. The context table is updated as needed. Therefore, the first memory unit 117 uses an updatable memory such as a RAM. An example of the first memory unit 117 is shown in FIG. As shown in this figure, contexts # 1, # 2, # 3,... Are held in the first memory unit 117, and each context is associated with a binary string (0, 1). At this time, it is possible to assign multiple binary sequences to one context.
[0062] 第 2メモリ部 118は、コンテキストを保持する第 2コンテキスト更新テーブルとして機 能する。 range, low値の保持には、レジスタなどが使用できる。  [0062] The second memory unit 118 functions as a second context update table that holds contexts. Registers can be used to hold range and low values.
[0063] また、図 11の変形例に示すように、第 1メモリ部と第 2メモリ部を共通のメモリ部 117 Aとして構成し、コンテキストと range、 lowを一のメモリ内に各々保持することも可能 である。  [0063] Also, as shown in the modification of FIG. 11, the first memory unit and the second memory unit are configured as a common memory unit 117A, and the context, range, and low are each held in one memory. Is also possible.
[0064] 第 1メモリ部 117にはデュアルポート型メモリを使用する。これによつて、コンテキスト テーブルに同時にリード/ライトを行うことが可能となる。  The first memory unit 117 uses a dual port memory. This makes it possible to read / write to the context table at the same time.
(算術符号化部 116)  (Arithmetic coding part 116)
[0065] 図 9の算術符号化部 116の詳細を、図 12のブロック図及び図 13の動作図に基づ いて説明する。図 12に示す算術符号化部 116は、演算部 140と、第 lrLPSテープ ノレ 120と、第 2rLPSテーブル 122と、符号ビット生成部 160と、コンテキスト更新部 17 0とを備える。また算術符号化部 116は、入力端子として、区間を入力する range入 力及び/又は low入力、 2値列入力、コンテキスト入力としてコンテキスト X入力、コン テキスト Y入力を備えている。 range入力は、演算部 140、第 lrLPSテーブル 120、 第 2rLPSテーブル 122、符号ビット生成部 160に接続される。一方 low入力は、演算 部 140、第 2rLPSテープノレ 122、符号ビット生成部 160に接続される。また 2値列入 力は演算部 140、第 2rLPSテーブル 122、符号ビット生成部 160、コンテキスト更新 部 170に接続される。さらにコンテキスト X入力は、第 lrLPSテーブル 120、第 2rLP Sテーブル 122、符号ビット生成部 160、コンテキスト更新部 170に接続される。一方 コンテキスト Y入力は、第 2rLPSテープノレ 122、符号ビット生成部 160、コンテキスト 更新部 170に接続される。  Details of arithmetic coding section 116 in FIG. 9 will be described based on the block diagram in FIG. 12 and the operation diagram in FIG. The arithmetic coding unit 116 shown in FIG. 12 includes a computing unit 140, an lrLPS tape node 120, a second rLPS table 122, a code bit generation unit 160, and a context update unit 170. The arithmetic coding unit 116 includes a range input and / or a low input for inputting a section as an input terminal, a binary string input, and a context X input and a context Y input as context inputs. The range input is connected to the arithmetic unit 140, the first lrLPS table 120, the second rLPS table 122, and the code bit generation unit 160. On the other hand, the low input is connected to the operation unit 140, the second rLPS tape NOR 122, and the code bit generation unit 160. The binary string input is connected to the calculation unit 140, the second rLPS table 122, the sign bit generation unit 160, and the context update unit 170. Further, the context X input is connected to the lrLPS table 120, the second rLP S table 122, the code bit generation unit 160, and the context update unit 170. On the other hand, the context Y input is connected to the second rLPS tape relay 122, the sign bit generation unit 160, and the context update unit 170.
[0066] 第 lrLPSテープノレ 120、第 2rLPSテーブル 122は、それぞれ入力された rangeと コンテキストに応じて、 rLPSを決定するテーブルである。テーブルを 2つ備えたことで 、 1サイクノレ中に 2ビットの読み出しや書き込みを行うことが可能となり、高速な処理が 見込まれる。また一方、いずれのテーブルに最新のデータが保持されているかを管 理し、必要に応じてテーブルを切り替える制御が必要となる。このため、図 9の算術符 号化部 116はテーブル管理手段を備えてレ、る。 [0066] The first lrLPS tape glue 120 and the second rLPS table 122 are respectively input to the input range and This table determines rLPS according to the context. By providing two tables, two bits can be read and written in one cycle, and high-speed processing is expected. On the other hand, it is necessary to control which table holds the latest data and switch the table as needed. For this reason, the arithmetic coding unit 116 of FIG. 9 includes table management means.
[0067] 符号ビット生成部 160は、再正規化の際に出力符号を出力する。さらにコンテキスト 更新部 170は、前段の処理結果に基づいてコンテキストを更新して出力する。演算 部 140は、入力された区間 range及び Z又は low、これに対応する rLPSを rLPSテ 一ブル 20を参照して決定し、これらに基づいて区間を更新し、 range'と low'を出力 する。 [0067] The sign bit generation unit 160 outputs an output code at the time of renormalization. Further, the context update unit 170 updates and outputs the context based on the previous processing result. The calculation unit 140 determines the input range range and Z or low, and the corresponding rLPS with reference to the rLPS table 20, updates the interval based on these, and outputs range 'and low'. .
[0068] この処理を、図 13の動作図に基づいて説明する。図 13は図 8と同様、所定の区間 に対して MPS処理、 LPS処理、再正規化を行う処理を説明している。ここでは range と lowが決定されている区間に対して、 2値シンボル A及び対応するコンテキスト Xの 場合に演算部 140が MPS処理して符号化を行レ、、区間を range'と low'に更新する 処理と、この range'と low'を 2値シンボル B及び対応するコンテキスト Yの場合に演 算部 140が LSP処理で符号化を行って、区間を range"と low"に更新する処理、及 び再正規化を行って区間を range" 'と low" 'に拡大する処理と、コンテキスト更新部 170がコンテキスト X、コンテキスト Yをそれぞれ更新する処理を、 1サイクルで行う。 すなわち、演算部 140は第 lrLPSテーブル 120を参照して MPS時の rLPSを、第 2r LPSテーブル 122を参照して LPS時の rLPS 'を、各々取得し、以下の計算を行う。 range'" = (rLPS,—0· 5) X 2  This process will be described based on the operation diagram of FIG. FIG. 13 illustrates the processing for performing MPS processing, LPS processing, and renormalization for a predetermined section, as in FIG. In this case, for the interval for which range and low are determined, in the case of binary symbol A and the corresponding context X, arithmetic unit 140 performs MPS processing and performs encoding, and the interval is set to range 'and low'. In the case of the update process and the range 'and low' for the binary symbol B and the corresponding context Y, the calculation unit 140 performs encoding by LSP processing and updates the interval to range "and low". In addition, the process that expands the interval to range "'and low"' by performing renormalization and the process in which the context update unit 170 updates context X and context Y are performed in one cycle. That is, the arithmetic unit 140 obtains rLPS at the time of MPS by referring to the lrLPS table 120 and rLPS ′ at the time of LPS by referring to the second rLPS table 122 and performs the following calculation. range '"= (rLPS, —0 · 5) X 2
low" ' = Qow + range-rLPS-rLPS '—0. 5) X 2  low "'= Qow + range-rLPS-rLPS' —0. 5) X 2
[0069] また同じサイクル内で符号ビット生成部 160が出力符号' Τ'を出力し、コンテキスト 更新部 170はコンテキスト X、コンテキスト Υをそれぞれ更新する。これによつて、 1サ イタルで MPS処理、 LPS処理、再正規化を完了させることができる。  In addition, in the same cycle, the sign bit generation unit 160 outputs the output code “Τ”, and the context update unit 170 updates the context X and the context Υ, respectively. As a result, MPS processing, LPS processing, and renormalization can be completed in one cycle.
[0070] 次に、図 14に、他の構成に係る算術符号化部 300の例を示す。この図に示す算術 符号化部 300は、 1サイクル中で 2シンボルを処理するために、 1シンボル目処理用 の第 1算術符号化手段 301と、 2シンボル目処理用の第 2算術符号化手段 302と、符 号ビット生成部 360を備える。第 1算術符号化手段 301は、第 lrLPSテーブル 320と 、第 1コンテキスト更新テーブル 330と、第 1演算部 340と、第 1再正規化部 350とを 備える。また第 2算術符号化手段 302は同様に、第 2rLPSテーブル 322と、第 2コン テキスト更新テーブル 332と、第 2演算部 342と、第 2再正規化部 352とを備える。こ の算術符号ィ匕部 300は、 2値列としてシンボル A及びコンテキスト Xを入力すると、コ ンテキスト X及び rangeに対応した rLPSを第 lrLPSテーブル 320を参照して求め、 この値とシンボル Aとで第 1演算部 340は算術符号ィ匕を行レ、、 rangeと lowを更新す る。さらに必要に応じて第 1再正規化部 350で再正規化を行レ、、 range'と low'を第 2 算術符号化手段 302に送出すると共に、符号ビットを符号ビット生成部 360に出力す る。また第 1コンテキスト更新テーブル 330を更新し、コンテキスト X'を出力する。 Next, FIG. 14 shows an example of an arithmetic encoding unit 300 according to another configuration. Arithmetic coding section 300 shown in this figure, in order to process two symbols in one cycle, first arithmetic coding means 301 for the first symbol processing and second arithmetic coding means for the second symbol processing 302 and the mark No. bit generation unit 360 is provided. The first arithmetic encoding means 301 includes an lrLPS table 320, a first context update table 330, a first calculation unit 340, and a first renormalization unit 350. Similarly, the second arithmetic encoding means 302 includes a second rLPS table 322, a second context update table 332, a second calculation unit 342, and a second renormalization unit 352. When the symbol A and the context X are input as a binary string, the arithmetic sign part 300 obtains an rLPS corresponding to the context X and the range by referring to the lrLPS table 320, and this value and the symbol A Then, the first operation unit 340 updates the arithmetic sign y and updates range and low. Further, if necessary, the first renormalization unit 350 performs renormalization, sends range 'and low' to the second arithmetic coding means 302, and outputs the sign bit to the sign bit generation unit 360. The Also, the first context update table 330 is updated, and the context X ′ is output.
[0071] 一方、第 2算術符号化手段 302は、コンテキスト Y及び range'に対応した rLPSを 第 2rLPSテーブル 322を参照して求め、この値と range'と low'に基づいて第 2演算 部 342で算術符号化を行い、 range'と low'を更新する。さらに必要に応じて第 2再 正規化部 352で再正規化を行い、 range"と low"を出力すると共に、符号ビット生成 部 360に符号ビットを出力する。符号ビット生成部 360は、出力符号ビットを出力する 。またシンボル B及びコンテキスト Yに基づいて第 2コンテキスト更新テーブル 332を 更新し、コンテキスト Y'を出力する。  On the other hand, the second arithmetic encoding unit 302 obtains rLPS corresponding to the context Y and range ′ with reference to the second rLPS table 322, and based on this value and range ′ and low ′, the second arithmetic unit 342 Perform arithmetic encoding with and update range 'and low'. Further, the second renormalization unit 352 performs renormalization as necessary, and outputs range “and low” and also outputs the sign bit to the sign bit generation unit 360. The sign bit generation unit 360 outputs an output sign bit. Also, the second context update table 332 is updated based on the symbol B and the context Y, and the context Y ′ is output.
[0072] 以上の処理は、 1サイクル中で終えることができる。すなわち、 rangeと low、コンテ キスト Xに基づいて第 1算術符号ィ匕手段 301で 1シンボル目のシンボル Aを算術符号 化すると共に、得られた range'と low'、及びコンテキスト Yに基づいて第 2算術符号 化手段 302が 2シンボル目のシンボル Bを算術符号化する。このように本実施の形態 では、 2値列とシンタックス要素と周囲の状況(コンテキスト)に基づいて、生成された 2値列に使用するコンテキストを決定する rLPSテーブルを予め作成しておくと共に、 rLPSテーブルを 2つ用意することで、 1サイクノレ中に演算部は各々のテーブルから 必要なデータを読み出し、更新することができ、 2サイクル分の演算を 1サイクルで完 了すること力 Sできる。この結果、高い符号化効率を達成する一方で処理時間の長さが 問題となっていた CABACの処理サイクル数を削減することが可能となり、もって処理 の高速化を図り、高解像度アプリケーションのリアルタイム符号ィ匕等に実装可能なシ ステムを構築できる。この手法は、汎用の CPUや MPUでソフトウェア的に実装するこ とも可能である力 好ましくは専用のハードウェアを構築して実行させることで、より効 率のょレ、処理が可能となる。 [0072] The above processing can be completed in one cycle. That is, first symbol A is arithmetically encoded by the first arithmetic coding means 301 based on range and low and context X, and the first symbol A based on the obtained range ′ and low ′ and context Y. Two arithmetic coding means 302 arithmetically codes the second symbol B. As described above, in this embodiment, an rLPS table for determining a context to be used for a generated binary string based on a binary string, a syntax element, and a surrounding situation (context) is created in advance. By preparing two rLPS tables, the calculation unit can read and update necessary data from each table during one cycle, and can complete the calculation for two cycles in one cycle. As a result, it is possible to reduce the number of CABAC processing cycles, which has been a problem with the length of processing time, while achieving high coding efficiency, thereby speeding up processing and enabling real-time coding for high-resolution applications. That can be mounted on You can build a stem. This method can be implemented as a software with a general-purpose CPU or MPU. Preferably, it is possible to perform more efficient processing by constructing and executing dedicated hardware.
(2サイクル予測を行う算術符号ィヒ部の変形例)  (Modification of arithmetic code part that performs 2-cycle prediction)
[0073] 図 9のブロック図に示す算術符号ィ匕装置の構成では、算術符号ィ匕部 116で算術符 号化演算を行う。算術符号ィ匕部 116の具体的な構成としては、例えば図 5のブロック 図に示した構成が利用できる。ここで、コンテキスト更新テーブルを各々 ROMで構成 すると、各々がシンボルに応じてコンテキストを決定するため、 ROMのサイズを大きく する必要がある。また、 ROMではデータのアクセスに 1サイクルを要するため、遅延 が生じる。そこで、一方のコンテキスト更新テーブルを組み合わせ回路で構成するこ とで ROMのサイズを小さくでき、安価に構成できる。さらに組み合わせ回路では、演 算論理の結果はそのサイクル中に生成されるので、余分なサイクルを要さず、処理を 高速化できる利点が得られる。組み合わせ回路を用いた算術符号化部 216の例を、 図 29に示す。 In the configuration of the arithmetic code unit shown in the block diagram of FIG. 9, the arithmetic code unit 116 performs arithmetic encoding operations. As a specific configuration of the arithmetic code key unit 116, for example, the configuration shown in the block diagram of FIG. 5 can be used. Here, if each context update table is composed of ROM, each determines the context according to the symbol, so the ROM size must be increased. In addition, ROM requires a cycle because data access requires one cycle. Therefore, by configuring one context update table with a combinational circuit, the ROM size can be reduced and the configuration can be made inexpensively. Furthermore, in the combinational circuit, the result of the arithmetic logic is generated during that cycle, so that an extra cycle is not required and the processing speed can be increased. An example of the arithmetic coding unit 216 using a combinational circuit is shown in FIG.
[0074] この図に示す算術符号化部 216は、コンテキストメモリ部 217と、図 29においてコン テキストメモリ部 217の第 1の出力側に接続された第 1コンテキスト更新テーブル 230 と、第 2の出力側に接続された第 2コンテキスト更新テーブル 232と、コンテキストメモ リ部 217の第 1の出力側に接続された第 lrLPSテーブル 220と、第 1コンテキスト更 新テーブル 230とコンテキストメモリ部 217の加算器出力と接続された第 2rLPSテー ブノレ 222と、 rangeの値を保持するための rangeメモリ咅 218と、 rangeメモリ咅 及び第 lrLPSテーブル 220の出力側に接続された第 1選択器 224と、第 1選択器 2 24及び rangeメモリ部 218に接続された第 lrange更新部 240と、第 2rLPSテープ ノレ 222及び第 lrange更新部 240の出力側に接続された第 2選択器 226と、第 2選 択器 226及び第 lmnge更新部 240の出力側に接続され、且つ出力側を rangeメモ リ部 218に接続した第 2range更新部 242と、 lowの値を保持する lowメモリ部 219と、 lowメモリ部 219、第 lrange更新部 240及び第 1選択器 224の出力側に接続された 第 llow更新部 250と、第 llow更新部 250、第 2range更新部 242及び第 2選択器 2 26の出力側に接続され、且つ出力側を lowメモリ部 219に接続した第 21ow更新部 2 52とを備える。 [0074] The arithmetic coding unit 216 shown in this figure includes a context memory unit 217, a first context update table 230 connected to the first output side of the context memory unit 217 in Fig. 29, and a second output. The second context update table 232 connected to the first side, the lrLPS table 220 connected to the first output side of the context memory unit 217, the adder output of the first context update table 230 and the context memory unit 217 2nd rLPS table No. 222 connected to, 1st selector 224 connected to the output side of the range memory 218 218 and the range memory 及 び and 1st rrLPS table 220 to hold the range value, and 1st selection Device 2 24 and range memory unit 218 connected to first range update unit 240, second rLPS tape nozzle 222 and second selector 226 connected to the output side of first range update unit 240, and second selector 226 And the second lmnge update unit 24 The second range update unit 242 connected to the output side of 0 and the output side connected to the range memory unit 218, the low memory unit 219 holding the low value, the low memory unit 219, the lrange update unit 240 and The first low update unit 250 connected to the output side of the first selector 224, the first low update unit 250, the second range update unit 242 and the second selector 2 26 are connected to the output side and the output side is a low memory. Part 21ow update part 2 connected to part 219 52.
[0075] なお図 29は、処理工程とデータの流れをブロック図的に表現した図であるため、実 際のハードウェア的な結線とは必ずしも一致しない。例えば range値については、 ra ngeメモリ部 218→第 lrangeテーブル→第 2rangeテーブル→rangeメモリ部 218に ループして、 rangeが順次更新される様子を示している力 実際には第 lrangeテー ブル及び第 2rangeテーブルがそれぞれ rangeメモリ部 218に接続され、各々の ran geテーブルで更新した range値を rangeメモリ部 218に書き込むことができる。またコ ンテキストメモリ部 217が重複して表示されている力 両者は同じものであり、図 29に おいて左側のコンテキストメモリ部 217はリード時、中央のコンテキストメモリ部 217は ライト時の動作をそれぞれ示してレ、る。  Note that FIG. 29 is a block diagram representing the processing steps and the data flow, and therefore does not necessarily match the actual hardware connection. For example, for the range value, the range memory section 218 → the lrange table → the second range table → the range memory section 218 is shown as a force indicating that the range is sequentially updated. Each of the two range tables is connected to the range memory unit 218, and the range value updated in each range table can be written to the range memory unit 218. In addition, in FIG. 29, the context memory unit 217 is displayed in duplicate, and the context memory unit 217 on the left side in FIG. Show each one.
[0076] コンテキストメモリ部 217は、図 9においてコンテキストを保持する第 1メモリ部 117に 相当する。ここでは、シンボル Aとこれに対応するコンテキスト X、シンボル Bとこれに 対するコンテキスト Yの 4つの入力、及び更新されたコンテキスト X'、 Y' 2つの出力を 備えるデュアルポート RAM等で構成される。このコンテキストメモリ部 217は、更新さ れたコンテキストを保持すると共に、指定されたアドレスに従い該当するコンテキスト の読み込みを行い、さらに第 1、第 2コンテキスト更新テーブル 232によって更新され た 2つのコンテキスト X,、 Y,の書き込みを各々行う。ここで第 2コンテキスト更新テー ブノレ 232は、 ROMで構成されるが、一方第 1コンテキスト更新テーブル 230は組み 合わせ回路で構成される。一方のコンテキスト更新テーブルを組み合わせ回路で構 成することで、第 2段階でコンテキスト X、 Yを同時に更新できるので、 1サイクルで 2シ ンボルの処理を行う高速化に大きく資する。  [0076] The context memory unit 217 corresponds to the first memory unit 117 that holds a context in FIG. Here, it consists of a dual-port RAM with four inputs, symbol A and corresponding context X, symbol B and corresponding context Y, and two updated context X 'and Y' outputs. The context memory unit 217 holds the updated context, reads the corresponding context according to the specified address, and further, the two contexts X,... Updated by the first and second context update tables 232. Write Y, respectively. Here, the second context update table 232 is composed of a ROM, while the first context update table 230 is composed of a combinational circuit. By constructing one context update table with a combinational circuit, contexts X and Y can be updated simultaneously in the second stage, which greatly contributes to speeding up the processing of two symbols in one cycle.
[0077] なお、図 29に示す算術符号化部 216の例において、第 1コンテキスト更新テープ ノレ 230及び第 2コンテキスト更新テーブル 232の両方を組み合わせ回路で構成する こともできる。この場合は、一層の高速化を図ることができる。なお、コンテキスト更新 テーブルに大量のデータを記憶する場合は、組み合わせ回路で実現すると大面積 ィ匕と高コスト化となるため不適となる。ただ、保存すべきデータ量が少ない場合は、組 み合わせ回路で実装しても面積力 SROMの場合に比べさほど大きくならないため、両 方を組み合わせ回路で構成することが好ましレ、。 [0078] 第 1及び第 2rLPSテーブル 222は、各々 ROMで構成され、入力されたコンテキス トに従い、 rLPSを出力する。 ROMに保持された rLPSテーブルのデータは、コンテ キストに応じて 4つに区分されているため、各 rLPSテーブルが 4つの出力を備える。 各々の rLPSテープノレカゝら出力された rLPSは、第 1及び第 2選択器 226にそれぞれ 入力される。第 1、第 2選択器 226は、各々入力される rangeに従レ、、該当する rLPS を選択して、第 1、第 2mnge更新部 242に出力する。第 1、第 2mnge更新部 242は 、 rangeの値を更新して rangeメモリ部 218の range値を書き換える。同様に lowメモ リ部 219は、 low値を保持する。これら rangeメモリ部 218や lowメモリ部 219は、レジ スタで構成できる。また第 1、第 21ow更新部 252は、再正規化部の機能を実現して おり、 range及び再正規化の回数に従い再正規化して lowを更新する。このようにし て第 llow更新部 250はシンボル Aの算術符号化された符号ビット 1を出力し、第 21ο w更新部 252はシンボル Βの算術符号化された符号ビット 2を出力する。 Note that, in the example of the arithmetic encoding unit 216 shown in FIG. 29, both the first context update tape node 230 and the second context update table 232 can be configured by combinational circuits. In this case, it is possible to further increase the speed. When storing a large amount of data in the context update table, it is not appropriate to use a combinational circuit because of the large area and cost. However, when the amount of data to be stored is small, even if it is implemented with a combinational circuit, it is not so large as compared with the case of the area power SROM. [0078] The first and second rLPS tables 222 are each composed of a ROM, and output rLPS according to the input context. Since the rLPS table data held in ROM is divided into four according to the context, each rLPS table has four outputs. The rLPS output from each rLPS tape recorder is input to the first and second selectors 226, respectively. The first and second selectors 226 select the corresponding rLPS according to each input range, and output the selected rLPS to the first and second mnge update unit 242. First, second 2Mng e update unit 242 rewrites the range value of the range memory portion 218 updates the value of the range. Similarly, the low memory unit 219 holds a low value. These range memory unit 218 and low memory unit 219 can be configured by registers. The first and 21st update units 252 realize the function of the renormalization unit, and renormalize and update low according to the range and the number of renormalizations. In this way, the llow update unit 250 outputs the sign bit 1 that is arithmetically encoded for the symbol A, and the 21st w update unit 252 outputs the sign bit 2 that is arithmetically encoded for the symbol Β.
[0079] なお図 29の例では、各処理を行う部材を機能的に表現したものであって、実際の ハードウェア構成においては、一の部材で複数の機能を実現することができる。例え ば、コンテキストメモリ部 217は図 9において第 1メモリ部 117に、 rangeメモリ部 218 及び lowメモリ部 219は、第 2メモリ部 118に相当する。また、第 lrange更新部 240 及び第 llow更新部 250は、図 14に示す第 1演算部に、第 2range更新部 242及び 第 21ow更新部 252は、第 2演算部に、各々相当し、さらにこれらを適宜纏めることも できる。  In the example of FIG. 29, members that perform each process are functionally expressed, and in an actual hardware configuration, a plurality of functions can be realized with one member. For example, the context memory unit 217 corresponds to the first memory unit 117 in FIG. 9, and the range memory unit 218 and the low memory unit 219 correspond to the second memory unit 118 in FIG. Further, the lrange update unit 240 and the llow update unit 250 correspond to the first calculation unit shown in FIG. 14, the second range update unit 242 and the 21ow update unit 252 correspond to the second calculation unit, respectively. Can be summarized as appropriate.
(DSEの算術符号化処理工程)  (DSE arithmetic coding process)
[0080] 以上の算術符号ィ匕部 216で 1サイクル中に 2シンボルの算術符号化演算を行う処 理は、図 29及び図 30のフローチャートに示すように、 4段階に分けることができる。す なわち、ステップ S1で示す第 1段階では、各コンテキストの読み込みが行われる。具 体的には、コンテキストメモリ部 217で、アドレスに従いシンボル A、 Bと対応するコン テキスト X、 Yの読み出しを行う。図 29において、左側のコンテキストメモリ部 217はリ ード状態を示している。 The processing of performing arithmetic coding operation of two symbols in one cycle in the arithmetic code key unit 216 described above can be divided into four stages as shown in the flowcharts of FIGS. In other words, in the first stage shown in step S1, each context is read. Specifically, the context memory unit 217 reads the contexts X and Y corresponding to the symbols A and B according to the address. In FIG. 29, the context memory unit 217 on the left indicates a read state.
[0081] 次にステップ S2で示す第 2段階で、各コンテキストの更新と各 rLPSの読み込みが 行われる。具体的には、コンテキストメモリ部 217の第 1の出力から第 1コンテキスト更 新テーブル 230がコンテキスト Xを読み込み、コンテキスト X'に更新する。また、更新 されたコンテキスト X'を第 2コンテキスト更新テーブル 232が参照し、他方でコンテキ ストメモリ部 217の第 2の出力から得られたコンテキスト Yをコンテキスト Y'に更新する 。ここで、コンテキスト更新テーブルを 2つの ROMとせず、一方を組み合わせ回路で 構成した第 1コンテキスト更新テーブル 230とし、他方を ROMで構成された第 2コン テキスト更新テーブル 232とすることで、処理の高速化と小面積化を両立させ、 2つの シンボル A、 Bのコンテキスト X、 Yを同時に更新することが可能となる。また上述の通 り、すべてのコンテキスト更新テーブルを組み合わせ回路で構成することで、一層の 高速化が図られる。 [0081] Next, in the second stage shown in step S2, each context is updated and each rLPS is read. Specifically, the first context update from the first output of the context memory unit 217. New table 230 reads context X and updates to context X '. Also, the updated context X ′ is referred to by the second context update table 232, and on the other hand, the context Y obtained from the second output of the context memory unit 217 is updated to the context Y ′. Here, the context update table is not two ROMs, one is the first context update table 230 configured with a combinational circuit, and the other is the second context update table 232 configured with ROM, thereby enabling high-speed processing. It is possible to update the contexts X and Y of two symbols A and B at the same time. In addition, as described above, all the context update tables are composed of combinational circuits, which can further increase the speed.
[0082] また一方で、第 2段階において更新前のコンテキスト Xに基づき、シンボル Aの rLP Sを rLPSテーブルを参照して求める。すなわち、コンテキストメモリ部 217の第 1の出 力から得られるコンテキスト Xに基づき、第 lrLPSテーブル 220が rLPSを第 1選択器 224に出力する。他方、第 1コンテキスト更新テーブル 230で得られるコンテキスト X' 及びコンテキストメモリ部 217の第 2の出力から得られるコンテキスト Yの AND出力が 第 2rLPSテーブル 222に送られ、同様に更新前のコンテキスト Yの rLPSが求められ 、第 2選択器 226に出力される。  On the other hand, in the second stage, based on the context X before update, the rLP S of the symbol A is obtained by referring to the rLPS table. That is, based on the context X obtained from the first output of the context memory unit 217, the lrLPS table 220 outputs rLPS to the first selector 224. On the other hand, the AND output of the context Y obtained from the context X ′ obtained from the first context update table 230 and the second output of the context memory unit 217 is sent to the second rLPS table 222, and similarly the rLPS of the context Y before the update. Is output to the second selector 226.
[0083] さらにステップ S3で示す第 3段階で、更新されたコンテキストの書き込みと rangeの 更新が行われる。まず、第 1コンテキスト更新テーブル 230及び第 2コンテキスト更新 テーブル 232から各々出力されるコンテキスト X'、 Y'がコンテキストメモリ部 217に書 き込まれる。図 29において、中央下段のコンテキストメモリ部 217はライト状態を示し ている。  [0083] Further, in the third stage shown in step S3, the updated context is written and the range is updated. First, the contexts X ′ and Y ′ output from the first context update table 230 and the second context update table 232 are written in the context memory unit 217. In FIG. 29, the context memory unit 217 in the lower center part shows a write state.
[0084] 一方で、第 1選択器 224は、 rangeメモリ部 218を参照して得られる rangeに従い、 シンボル Aの該当する rLPSを選択して、第 lrange更新部 240に出力する。第 Iran ge更新部 240は、 rangeメモリ部 218に保持される現在の rangeを、選択された rLP Sに応じて range'に更新すると共に、次段のシンボル Bに相当する rangeを決定する ために第 2range更新部 242に出力する。また一方で、更新された range 'に応じて、 再正規化の回数を決定し、第 llow更新部 250に出力する。  On the other hand, the first selector 224 selects the corresponding rLPS of the symbol A according to the range obtained by referring to the range memory unit 218, and outputs the selected rLPS to the lrange update unit 240. The first range update unit 240 updates the current range held in the range memory unit 218 to range ′ according to the selected rLP S and determines the range corresponding to the symbol B in the next stage. Output to second range updater 242. On the other hand, the number of re-normalizations is determined according to the updated range 'and output to the llow update unit 250.
[0085] 第 2range更新部 242は、第 lrange更新部 240で更新された range'を、第 2選択 器 226で選択された rLPSに従い、 range"に更新し、 rangeメモリ部 218の range値 を range"に更新する。一方、更新された range"に応じて再正規化の回数を決定し、 第 21ow更新部 252に出力する。 [0085] The second range updating unit 242 selects the range 'updated by the lrange updating unit 240, as the second selection. In accordance with the rLPS selected by the device 226, the range is updated to “range”, and the range value in the range memory unit 218 is updated to “range”. On the other hand, the number of re-normalizations is determined according to the updated “range”, and is output to the 21st update unit 252.
[0086] 最後にステップ S4で示す第 4段階で、 lowの更新が行われる。第 llow更新部 250 は、 range '及び再正規化の回数に応じて、 lowメモリ部 219に保持された low値を lo w'に更新すると共に、シンボル Aの符号ビット 1を出力する。一方第 21ow更新部 25 2は、 range"及び再正規化の回数に応じて low'を low"に更新し、 lowメモリ部 219 の low値を low"に更新する。また、シンボル Bの符号ビット 2を出力する。  [0086] Finally, low is updated in the fourth stage shown in step S4. The llow update unit 250 updates the low value held in the low memory unit 219 to low w ′ according to range ′ and the number of renormalizations, and outputs the sign bit 1 of the symbol A. On the other hand, the 21 ow update unit 252 updates low 'to low "according to the range" and the number of renormalizations, and updates the low value of the low memory unit 219 to low ". Also, the sign bit of symbol B 2 is output.
[0087] 以上のようにして、 2つのコンテキスト更新テーブルの一方を ROM、他方を組み合 わせ回路で構成して、 1サイクルで 2シンボルの算術符号ィ匕を安価に実現できる。 (連続 MPS処理予測)  [0087] As described above, one of the two context update tables is composed of a ROM and the other is composed of a combination circuit, so that two symbols of arithmetic codes can be realized at low cost in one cycle. (Continuous MPS processing prediction)
[0088] 一方で、 CABAC処理による 2値化の特徴として、同じシンボルを連続して生成し やすい点が挙げられる。また CABAC処理に含まれる MPS処理と LPS処理の内、 M PS処理の特徴として、 lowは変化せず rangeの値のみ緩やかに減少するという傾向 がある。そこで、 2値列が MPSの連続である場合、この連続数と range及びコンテキ ストから、数サイクル先までの結果を予測することが可能となる。  [0088] On the other hand, as a characteristic of binarization by CABAC processing, it is easy to generate the same symbol continuously. Among the MPS processing and LPS processing included in CABAC processing, the characteristic of MPS processing is that low does not change and only the range value tends to decrease gradually. Therefore, when the binary sequence is a sequence of MPSs, it is possible to predict the results up to several cycles ahead from the number of sequences, range, and context.
[0089] この処理の手順を、図 15の動作図に基づいて説明する。ここではコンテキスト Xが 一定値で、 MPS処理が連続して 4回続くものとする。まず第 1サイクルで rangeOが ra ngelに更新されるとすると、このときの MPS処理で使用する rLPSが rLPS lであれ ば、  The procedure of this process will be described based on the operation diagram of FIG. Here, it is assumed that context X is a constant value and MPS processing continues four times. First, if rangeO is updated to random in the first cycle, if rLPS used in MPS processing at this time is rLPS l,
range 1 = rangeO— rLPS丄  range 1 = rangeO— rLPS 丄
iowO = lowl  iowO = lowl
となる。また次の第 2サイクルで rangelが range2に更新されるとすると、このときの M PS処理で使用する rLPSが rLPS 2であれば、  It becomes. If rangel is updated to range2 in the next second cycle, if rLPS used in the MPS process at this time is rLPS2,
range 2 = rangel— rLPS 2  range 2 = rangel— rLPS 2
=rangeO -rLPS l -rLPS2  = rangeO -rLPS l -rLPS2
iow2 = low 1 = lowO  iow2 = low 1 = lowO
となる。さらに第 3サイクルで range2が range3に更新され、このとき rLPS3であれば range3 =range2— rLPS3 It becomes. In the third cycle, range2 is updated to range3. range3 = range2— rLPS3
=rangeO -rLPS l -rLPS2 -rLPS3  = rangeO -rLPS l -rLPS2 -rLPS3
low3 = low2 = lowl =lowO  low3 = low2 = lowl = lowO
となり、最後に第 4サイクルで range3が range4に更新され、このとき rLPS4であれば range4 = range3— rLPS4  Finally, range3 is updated to range4 in the fourth cycle. At this time, if rLPS4, range4 = range3—rLPS4
= rangeO -rLPS l -rLPS2 -rLPS3 -rLPS4  = rangeO -rLPS l -rLPS2 -rLPS3 -rLPS4
iow4 = low3 = low2 = low 1 = lowO  iow4 = low3 = low2 = low 1 = lowO
となる。このように同一コンテキストを用いた MPSの連続した処理は、 range、コンテ キスト X、連続数から演算することができるので、予め演算した結果をテーブルに記録 しておくことで、上記のパラメータから数サイクル先まで予測可能となる。これを実現 するために、 MPS連続数テーブルを用意する。  It becomes. In this way, MPS continuous processing using the same context can be calculated from range, context X, and the number of consecutive numbers. It becomes possible to predict even the cycle ahead. To achieve this, an MPS continuous number table is prepared.
(MPS連続数テーブル)  (MPS continuous number table)
[0090] 図 16に、コンテキストが一定の場合の MPS連続数テーブルの例を示す。この図に 示すように、 MPS連続数テーブルは、 range、コンテキスト、 MPS連続数に応じた ra ngeを表として保持している。このため、これらのパラメータでテーブルを参照すれば 、連続した MPS処理後の rangeの値を取り出すことができる。図 15の例では、初期 値である rangeを rangeAmコンテキスト X (—定)、 MPS連続数 4であるから、 range 予測値は、図 16の MPS連続数テーブルにおいて Eの位置に格納された値となる。こ のように、テーブルの参照のみによって数サイクル先の更新区間を求めることができ るので、特に MPS処理が連続する場合には極めて大幅な演算量の低減が見込まれ 、処理数低減による高速化が図られる。 FIG. 16 shows an example of the MPS continuous number table when the context is constant. As shown in this figure, the MPS sequence number table holds a range according to the range, context, and MPS sequence number. Therefore, by referring to the table with these parameters, the range value after the continuous MPS processing can be extracted. In the example of Fig. 15, the initial range is the rangeAm context X (—constant) and the MPS continuous number is 4. Therefore, the range predicted value is the value stored at the position E in the MPS continuous number table of Fig. 16. Become. In this way, an update interval several cycles ahead can be obtained only by referring to the table. Therefore, especially when MPS processing continues, the amount of computation can be significantly reduced, and the speed can be increased by reducing the number of processing. Is planned.
(再正規化による変化)  (Change due to renormalization)
[0091] 以上の MPS処理では、 LPS処理が生じない間、すなわち MPS処理が連続する間 は lowは一定である。し力 ながら、図 17 (a)に示すように再正規化を行うと lowの値 が変化する。ただ、再正規化の値は rangeによって決まる。このため、 rangeの値と再 正規化を行う回数が判れば、 lowの値を求めることができる。このように、再正規化に よって変化する lowについてもテーブルィ匕することが可能となる。 In the above MPS processing, low is constant while LPS processing does not occur, that is, while MPS processing continues. However, when renormalization is performed as shown in Fig. 17 (a), the low value changes. However, the renormalization value is determined by range. For this reason, if the value of range and the number of renormalizations are known, the value of low can be obtained. In this way, renormalization Therefore, it is possible to table the changing low.
[0092] 再正規化を考慮した連続 MPS処理予測部 400のブロック図を図 18に示す。この 図に示す連続 MPS処理予測部 400は、 rangeテーブル 420と、コンテキスト更新テ ーブノレ 430と、再正規化部 450を備える。この連続 MPS処理予測部 400は、 range と MPS連続数、コンテキストに応じて rangeテーブル 420を参照し、 rengeを range ' に更新する。一方で再正規化回数と lowに基づいて、再正規化部 450が low'と符号 ビットを出力する。さらに、 MPS連続数とコンテキストに基づいて、コンテキスト更新テ 一ブル 430を参照し、コンテキストを更新する(context→context' )。 FIG. 18 shows a block diagram of the continuous MPS process prediction unit 400 in consideration of renormalization. The continuous MPS process prediction unit 400 shown in this figure includes a range table 420, a context update table 430, and a renormalization unit 450. The continuous MPS processing prediction unit 400 refers to the range table 420 according to the range, the number of MPS consecutive numbers, and the context, and updates renge to range '. On the other hand, based on the number of times of renormalization and low, the renormalization unit 450 outputs low 'and a sign bit. Further, the context is updated by referring to the context update table 430 based on the number of consecutive MPSs and the context (context → context ′).
[0093] 再正規化を考慮した range予測の例を、図 17 (b)に示す。この図に示すように、 M PS連続数と再正規化の回数に応じて、 rangeの値を予測でき、さらにコンテキストを 更新できる。 [0093] An example of range prediction considering renormalization is shown in Fig. 17 (b). As shown in this figure, the range value can be predicted and the context can be updated according to the number of consecutive MPSs and the number of renormalizations.
(コンテキストの変化)  (Change in context)
[0094] また上記の例ではコンテキストが一定とした力 S、コンテキストが途中で切り替わる場 合もあり得る。上記の手法では同一シンボルに対して同一コンテキストを使用すること を前提としていたため、コンテキストが変更されるとそれ以降の変化を予測できないこ ととなる。そこで、 rangeテーブルとコンテキスト更新テーブルとを各々 2つ用意するこ とで、このようなコンテキストの変化にも対応可能な連続 MPS処理予測を実現する。  [0094] In addition, in the above example, the force S with a constant context may occur, and the context may change in the middle. In the above method, it is assumed that the same context is used for the same symbol, so if the context is changed, subsequent changes cannot be predicted. Therefore, by preparing two range tables and two context update tables, continuous MPS process prediction that can cope with such context changes is realized.
[0095] 図 19は、連続する MPS処理において、コンテキストが 4サイクルまではコンテキスト X、続く 2サイクルはコンテキスト Yに切り替わる例を示している。この場合も、コンテキ スト毎にテーブル化することが可能である。図 20に、 range,コンテキスト(可変)、 M PS連続数に応じた range予測値を記録した MPS連続数テーブルの例を示す。図 1 9の例では、初期値である rangeを rangeA、コンテキスト Xでの MPS連続数が 4、そ の時点での rangeが rangeEで、その後のコンテキスト Yでの MPS連続数が 2である ため、 range予測値は、図 20の MPS連続数テーブルにおいて Eの位置に格納され た値と、 Iの位置に格納された値の和 E + Iとなる。このように、コンテキストが変化する 場合であっても、同様にテーブルの参照によって容易に更新区間を求めることができ るので、大幅な処理の低減と高速化が図られる。  FIG. 19 shows an example in which the context is switched to the context X until the fourth cycle and the subsequent two cycles are switched to the context Y in the continuous MPS processing. In this case as well, it is possible to create a table for each context. Fig. 20 shows an example of the MPS continuous number table that records the range prediction value according to the range, context (variable), and MPS continuous number. In the example of Figure 19, the initial range is rangeA, the number of consecutive MPSs in context X is 4, the range at that point is rangeE, and the subsequent number of MPSs in context Y is 2. The predicted range value is the sum E + I of the value stored at position E and the value stored at position I in the MPS continuous number table in Fig. 20. In this way, even when the context changes, the update interval can be easily obtained by referring to the table in the same manner, so that the processing can be greatly reduced and the processing speed can be increased.
[0096] コンテキストが変化する場合に連続 MPS処理予測を実現する連続 MPS処理予測 部 400Bを構成するブロック図の例を図 21に示す。この図に示す連続 MPS処理予 測部 400Bは、 2つの予測テーブル 420A、 420B (MPS連続数テーブル)を設ける ことで、 rangeとコンテキスト、 MPS連続数が入力されると、これらのパラメータに応じ た range予測値が参照され、対応する値として range"が出力される。また予測テー ブノレ 420A、 420B内のコンテキストは適宜更新される。この例ではコンテキストを X、 Yの 2種類とした例を説明した力 さらに多くのコンテキストに対応させた複数のテー ブルを用意することも可能であることは言うまでもない。 [0096] Continuous MPS processing prediction that realizes continuous MPS processing prediction when context changes FIG. 21 shows an example of a block diagram constituting the part 400B. The continuous MPS processing prediction unit 400B shown in this figure provides two prediction tables 420A and 420B (MPS continuous number table), so that when a range, context, and MPS continuous number are input, these parameters correspond to these parameters. The range prediction value is referred to, and range "is output as the corresponding value. The contexts in the prediction table nozzles 420A and 420B are updated appropriately. In this example, two types of contexts, X and Y, are described. It goes without saying that it is possible to prepare multiple tables corresponding to more contexts.
[0097] 図 22に、より詳細な連続 MPS処理予測部 500のブロック図を示す。この図に示す ように、連続 MPS処理予測部 500は第 1コンテキスト更新テーブル 530と、第 2コンテ キスト更新テーブル 532と、第 lrangeテーブル 520と、第 2rangeテーブル 522と、 再正規化テーブルを有する一の再正規化部 550を備える。この連続 MPS処理予測 部 500は、 rangeと MPS連続数 X (図 19の例では 4)、コンテキスト A (図 19ではコン テキスト X)に基づいて、第 2rangeテーブル 522を参照し、 range' (rangeE)を求め る。一方、コンテキスト B (図 19ではコンテキスト Y)、 MPS連続数 Y (図 19では 2)、第 2rangeテーブル 522で得られた range'に基づいて、第 lrangeテーブル 520を参 照し、 range"を求める。一方で、第 lrangeテーブル 520及び第 2rangeテーブル 52 2の再正規化回数と、 lowの値に基づいて、再正規化部 550が再正規化テーブルを 参照して low'と、再正規化による符号ビットを出力する。このように、一の再正規化部 550でコンテキストの異なる再正規化を加算して、適切な符号ビットを出力することが でき、回路の簡素化に寄与する。さらにまた、コンテキスト Aを、 MPS連続数に基づき 第 2コンテキスト更新テーブル 532を参照してコンテキスト A'に更新し、コンテキスト B を MPS連続数に基づいて第 1コンテキスト更新テーブル 530を参照し、コンテキスト B'に更新する。また上述の通り、コンテキスト変更数を増やすことも可能である。 (連続 MPS処理予測を行う算術符号化部の変形例)  FIG. 22 shows a more detailed block diagram of continuous MPS process prediction section 500. As shown in this figure, the continuous MPS process prediction unit 500 includes a first context update table 530, a second context update table 532, a first lrange table 520, a second range table 522, and a renormalization table. The re-normalization unit 550 is provided. This continuous MPS processing prediction unit 500 refers to the second range table 522 based on range and the number of MPS consecutive X (4 in the example of FIG. 19) and context A (context X in FIG. 19), and range '(rangeE ). On the other hand, based on the context B (context Y in FIG. 19), the MPS continuous number Y (2 in FIG. 19), and the range 'obtained in the second range table 522, the range l is obtained by referring to the lrange table 520. On the other hand, based on the number of renormalizations in the lrange table 520 and the second range table 52 2 and the value of low, the renormalization unit 550 refers to the renormalization table and sets low ' In this way, one renormalization unit 550 can add renormalizations with different contexts and output appropriate sign bits, contributing to simplification of the circuit. , Context A is updated to context A 'by referring to the second context update table 532 based on the MPS continuous number, and context B is referred to the first context update table 530 based on the MPS continuous number and to context B'. Update Also as described above, it is possible to increase the number of context change. (Modification of arithmetic coding unit that performs continuous MPS processing prediction)
[0098] また上記図 29で説明したのと同様に、連続 MPS処理予測においても、コンテキス ト更新テーブルを各々 ROMで構成する他、より安価で安定した高速化を得るために 、一方を組み合わせ回路で構成したり、両方を組み合わせ回路で構成することもでき る。このような算術符号化部 316の例を、図 31に示す。図 31も処理工程をブロック的 に表現した図であるため、コンテキストメモリ部 217Bが重複して表示されているが、 両者は同じものである。 [0098] Similarly to the description in Fig. 29 above, in the continuous MPS process prediction, the context update table is composed of each ROM, and one of them is a combinational circuit in order to obtain a cheaper and more stable speedup. It is also possible to configure both with a combinational circuit. An example of such an arithmetic encoding unit 316 is shown in FIG. Figure 31 is also a block of processing. Since the context memory unit 217B is displayed in duplicate, the two are the same.
[0099] この図に示す算術符号ィ匕部 316も、第 1及び第 2コンテキスト更新テーブル 230B、  [0099] The arithmetic sign key section 316 shown in this figure also includes the first and second context update tables 230B,
232Bの出力側に接続されたコンテキストメモリ部 217Bと、コンテキストメモリ部 217B の第 1の出力側に接続された第 1コンテキスト更新テーブル 230Bと、第 2の出力側に 接続された第 2コンテキスト更新テーブル 232Bとを備え、これらの構成は図 29とほぼ 同様である。すなわち、第 1コンテキスト更新テーブル 230Bは組み合わせ回路で構 成され、第 2コンテキスト更新テーブル 232Bは ROMで構成される。あるいは、第 1コ ンテキスト更新テーブル 230B及び第 2コンテキスト更新テーブル 232Bのいずれも、 組み合わせ回路で構成してもよい。特に保存すべきデータ量が少ない場合は、実装 面積も大きくならないので、より高速化が図られる組み合わせ回路のみでの構成が好 ましい。  The context memory unit 217B connected to the output side of 232B, the first context update table 230B connected to the first output side of the context memory unit 217B, and the second context update table connected to the second output side These configurations are almost the same as those in FIG. That is, the first context update table 230B is composed of combinational circuits, and the second context update table 232B is composed of ROM. Alternatively, both the first context update table 230B and the second context update table 232B may be configured by combinational circuits. In particular, when the amount of data to be stored is small, the mounting area does not increase, so a configuration with only combinational circuits that can achieve higher speed is preferable.
[0100] また算術符号化部 316は、 rangeの値を保持する rangeメモリ部 218Bと、 lowの値 を保持する lowメモリ部 219Bも備え、これらもレジスタ等で構成できる。これらの部材 は、図 29とほぼ同様に構成できるので、詳細説明は省略する。  [0100] The arithmetic encoding unit 316 also includes a range memory unit 218B that holds a range value and a low memory unit 219B that holds a low value, and these can also be configured by a register or the like. Since these members can be configured in substantially the same manner as in FIG. 29, detailed description thereof will be omitted.
[0101] 一方で算術符号化部 316は、シンボル A (MPS)の連続数 m及び対応するコンテ キスト Xを入力し、 rangeメモリ部 218Bから読み出した rangeを range 'に更新する第 lrangeテープノレ 520Bと、シンボル B (MPS)の連続数 n及び対応するコンテキスト Y を入力し、第 lrangeテーブル 520Bの range 'を更新して range"を出力する第 2ran geテープノレ 522Bを備える。これら rangeテーブルは、 MPS連続数に基づき、 range を予測する。さらに算術符号化部 316は、図 29と同様に第 lrangeテーブル 520Bで 更新された range 'と再正規化の回数に基づいて再正規化を行レ、、 lowメモリ部 219 Bの lowを更新して low'と符号ビット 1を出力する第 llow更新部 250Bと、第 2range テーブル 522Bの range"及び再正規化の回数に基づいて再正規化を行レ、、第 llo w更新部 250Bで得られた low'を更新した low"と符号ビット 2を出力する第 21ow更 新部 252Bを備える。  On the other hand, the arithmetic coding unit 316 receives the number m of consecutive symbols A (MPS) and the corresponding context X, and the first lrange tape master 520B that updates the range read from the range memory unit 218B to range '. The second range tape No. 522B that inputs the number of consecutive symbols B (MPS) n and the corresponding context Y, updates the range 'of the lrange table 520B and outputs the range "is provided. The arithmetic encoding unit 316 performs renormalization based on the range 'updated in the lrange table 520B and the number of renormalization, as in FIG. The first low update unit 250B that updates low of the memory unit 219B and outputs low 'and the sign bit 1, re-normalization based on the range "of the second range table 522B and the number of re-normalization, Llow w update unit lowB obtained by 250B Comprising a first 21ow update unit 252B for outputting a No. bit 2.
[0102] 図 31も、図 29と同様に処理工程とデータの流れをブロック図的に表現した図である ため、実際のハードウェア的な結線とは必ずしも一致しなレ、。例えばコンテキストメモ リ部 217Bが重複して表示されている力 両者は同じものであり、図 31において左側 のコンテキストメモリ部 217Bはリード時、中央のコンテキストメモリ部 217Bはライト時 の動作をそれぞれ示してレ、る。 [0102] Since FIG. 31 is also a block diagram representing the processing steps and the data flow in the same manner as FIG. 29, the actual hardware connection does not necessarily match. For example, context memo The power displayed in the overlapping area 217B is the same. In FIG. 31, the left context memory section 217B shows the operation during reading, and the central context memory section 217B shows the operation during writing. .
(MPSEの算術符号ィヒ処理工程)  (MPSE arithmetic process)
[0103] この算術符号化部 316も、図 31及び図 32のフローチャートに示すようにステップ S ' 1〜S ' 4の 4段階で、シンボル A、 Bの算術符号化処理を行える。すなわち、ステップ S ' 1で示す第 1段階では、各コンテキストの読み込みが行われる。具体的には、コン テキストメモリ部 217Bで、シンボル A、 Bと対応するコンテキスト X、 Yの読み出し(リー ド)を行う。 This arithmetic encoding unit 316 can also perform arithmetic encoding processing of symbols A and B in four stages of steps S ′ 1 to S ′ 4 as shown in the flowcharts of FIGS. That is, in the first stage indicated by step S′1, each context is read. Specifically, the context memory unit 217B reads (reads) the contexts X and Y corresponding to the symbols A and B.
[0104] 次にステップ S ' 2で示す第 2段階で、各コンテキストの更新が行われる。具体的に は、コンテキストメモリ部 217Bの第 1の出力から第 1コンテキスト更新テーブル 230B 力 Sコンテキスト Xを読み込み、さらにシンボル Aの MPS連続数 mに基づいてコンテキ スト X'に更新する。また、更新されたコンテキスト X'を第 2コンテキスト更新テーブル 2 32Bが参照し、他方でコンテキストメモリ部 217Bの第 2の出力から得られたコンテキ スト Y、及びその MPS連続数 ηに基づき、コンテキスト Y'に更新する。  Next, in the second stage indicated by step S′2, each context is updated. Specifically, the first context update table 230B output S context X is read from the first output of the context memory unit 217B, and further updated to the context X ′ based on the number of consecutive MPSs of the symbol A. In addition, the second context update table 2 32B refers to the updated context X ′, and on the other hand, based on the context Y obtained from the second output of the context memory unit 217B and its MPS continuity η, the context Y Update to '.
[0105] さらにステップ S ' 3で示す第 3段階で、更新されたコンテキストの書き込みと range の更新が行われる。すなわち、第 1コンテキスト更新テーブル 230B及び第 2コンテキ スト更新テーブル 232Bから各々出力されるコンテキスト X'、 Y'がコンテキストメモリ 部 217Bに書き込まれる。このようにして第 1、第 2コンテキスト更新テーブル 232Bで 、 MPSを処理した分のコンテキスト(発生確率)の更新をステップ S ' 2で行い、ステツ プ S ' 3でコンテキストメモリ部 217Bに書き込む。  [0105] Further, in the third stage shown in step S'3, the updated context is written and the range is updated. That is, the contexts X ′ and Y ′ output from the first context update table 230B and the second context update table 232B are written in the context memory unit 217B. In this way, in the first and second context update tables 232B, the context (occurrence probability) for the amount of MPS processed is updated in step S′2, and written in the context memory unit 217B in step S′3.
[0106] 一方でシンボル Aにっき、 MPS連続数 mとそのコンテキスト Xに基づき、第 lrange テーブル 520Bが rangeの値を range'に更新する。 rangeの値は、 rangeメモリ部 21 8Bから読み込まれる。さらにシンボル Bにっき、 MPS連続数 nとそのコンテキスト Yに 基づき、第 2rangeテーブル 522Bが range'の値を range"に更新する。更新された r ange"の値は、 rangeメモリ部 218Bに書き込まれる。  On the other hand, for symbol A, based on the number of consecutive MPS m and its context X, the first lrange table 520B updates the value of range to range ′. The range value is read from the range memory section 218B. Further, for the symbol B, based on the MPS consecutive number n and its context Y, the second range table 522B updates the value of range 'to range ". The updated value of range" is written to the range memory unit 218B.
[0107] 最後にステップ S ' 4で示す第 4段階で、 lowの更新が行われる。第 llow更新部 25 OBは、 range'及び再正規化の回数に応じて、 lowメモリ部 219Bに保持された low 値を low'に更新すると共に、シンボル Aの符号ビット 1を出力する。一方第 21ow更新 部 252Bは、 range"及び再正規化の回数に応じて low'を low"に更新し、 lowメモリ 部 219Bの low値を low"に更新する。また、シンボル Bの符号ビット 2を出力する。こ の方法はシンボルが MPSのときのみ有効である力 図 29と同様に簡単な演算回路 で 1サイクルで 2シンボルの処理が可能な算術符号化部 316が実現できる。 [0107] Finally, in the fourth stage indicated by step S'4, a low update is performed. The llow update unit 25 OB is low stored in the low memory unit 219B according to the range 'and the number of renormalization. The value is updated to low 'and the sign bit 1 of symbol A is output. On the other hand, the 21ow update unit 252B updates low 'to low "according to the range" and the number of renormalizations, and updates the low value of the low memory unit 219B to low ". Also, the sign bit 2 of symbol B This method is effective only when the symbol is MPS. Similarly to Fig. 29, the arithmetic coding unit 316 capable of processing two symbols in one cycle can be realized with a simple arithmetic circuit.
[0108] このようにして、前段のシンボルの演算を待たずに次段のシンボルの算術符号化を 行うことができるので、パイプライン処理が可能となり、従来は不可能と考えられてい た処理の高速化が図られる。図 33に、このようなパイプライン処理の例を示す。図 33 に示すように、 3つのシンボルについて、算術符号化処理を並列して行うことができる ので、 1サイクルで 2シンボル以上の処理が可能となる。  [0108] In this way, since it is possible to perform arithmetic coding of the next stage symbol without waiting for the computation of the previous stage symbol, pipeline processing becomes possible, and processing that was previously considered impossible is possible. High speed is achieved. Figure 33 shows an example of such pipeline processing. As shown in Fig. 33, arithmetic coding can be performed in parallel for three symbols, so processing of two or more symbols is possible in one cycle.
(2つの手法の切り替え)  (Switching between the two methods)
[0109] 以上のように、 2サイクル予測は 1サイクル分の処理を削減し、多くの場面で予測可 能である利点を有する。一方連続 MPS処理予測は、数サイクル分の処理を削減でき 、削減量が大きいが、 MPSが連続する場合のみ予測可能であるという制約がある。  [0109] As described above, the 2-cycle prediction has an advantage that the processing for one cycle is reduced and prediction is possible in many scenes. On the other hand, continuous MPS processing prediction can reduce processing for several cycles and the amount of reduction is large, but there is a restriction that prediction is possible only when MPS continues.
[0110] よって、これら 2サイクル予測と連続 MPS処理予測とを組み合わせ、状況に応じて より有効な手法を選択し、これらを切り替えて利用することで、一層の高速化を図るこ とができる。本発明の実施の形態 3として、このような予測手法切替部を備える算術符 号化装置の一例を、図 23及び図 24に示す。これらの図に示す算術符号化装置 600 も、図 9と同様にコンテキスト計算部 614、第 1メモリ部 617、第 2メモリ部 618、算術符 号化部 610を備える。これらの部材は基本的に図 9等と同様であって、詳細説明を省 略する。算術符号ィ匕部 610は、入力された 2信号をバッファリングする入力バッファ 6 21と、 2サイクル予測部 622と、連続 MPS処理予測部 623と、これらを切り替える予 測手法切替部 624とを備える。予測手法切替部 624は、入力されるコンテキストや ra nge等に応じて、その時点で適切な予測手法を選択して切り替える。図 23の例では 2サイクル予測部 622を選択した状態を、図 24の例では連続 MPS処理予測部 623 を選択した状態を、それぞれ示している。これにより、 2サイクル予測と、連続 MPS処 理予測を適宜組み合わせて、多くのサイクル数を削減できる。  [0110] Therefore, by combining these two-cycle prediction and continuous MPS process prediction, selecting a more effective method according to the situation, and switching these to use, it is possible to further increase the speed. As an embodiment 3 of the present invention, an example of an arithmetic coding apparatus including such a prediction technique switching unit is shown in FIG. 23 and FIG. The arithmetic coding apparatus 600 shown in these figures also includes a context calculation unit 614, a first memory unit 617, a second memory unit 618, and an arithmetic coding unit 610 as in FIG. These members are basically the same as those shown in FIG. 9 and the like and will not be described in detail. The arithmetic code input unit 610 includes an input buffer 622 for buffering two input signals, a 2-cycle prediction unit 622, a continuous MPS processing prediction unit 623, and a prediction method switching unit 624 for switching between them. . The prediction method switching unit 624 selects and switches an appropriate prediction method at that time according to the input context, range, and the like. In the example of FIG. 23, the state where the 2-cycle prediction unit 622 is selected is shown, and in the example of FIG. 24, the state where the continuous MPS process prediction unit 623 is selected is shown. As a result, the number of cycles can be reduced by appropriately combining two-cycle prediction and continuous MPS processing prediction.
[0111] 図 25に、 2サイクル予測と連続 MPS処理予測を予測手法切替部 624で切り替える 様子を示す。この図に示すように、 2値化されたビット列の状態に基づいて、予測手 法切替部 624がこれらの切り替えを行う。ここでは、切り替えの条件として、入力ビット 力 S"0"の連続である場合のみ連続 MPS処理予測を使用し、その他の場合は 2サイク ル予測を使用する。予測手法切替部 624はこの条件に従レ、、いずれかの手法を選 択し、選択した手法に従って処理を行う。 [0111] In Fig. 25, the two-cycle prediction and the continuous MPS processing prediction are switched by the prediction method switching unit 624. Show the state. As shown in this figure, the prediction method switching unit 624 performs switching based on the state of the binarized bit string. Here, as a condition for switching, continuous MPS processing prediction is used only when the input bit force S is “0”, and in other cases, 2-cycle prediction is used. The prediction method switching unit 624 follows this condition, selects one of the methods, and performs processing according to the selected method.
(実施例)  (Example)
[0112] 次に本発明の実施例として、 2サイクル予測、連続 MPS処理予測、及びこれらを切 り替える場合のそれぞれについて算術符号ィ匕を行レ、、削減されるサイクル数の比率 をシミュレーションで求めた。ここでは、一括で入力するコンテキスト数を 2として、種 々のシミュレーション用幽像シーケンス (akiyo、 bridge-close^ b ridge-far Λ earphone^ c lair)に対して算術符号化を行い、そのシミュレーション結果を、それぞれ表 1〜表 5に 示す。表において DSEは 2サイクル予測、 MPSEは連続 MPS処理予測、 DSE + M PSEはこれらを切り替えた例を、それぞれ示している。この表に示すように、いずれの シーケンスに対しても 2サイクル予測、連続 MPS処理予測によって演算量を削減で き、特に 2サイクル予測が良好な結果を示している。またこれらを切り替える方式では 、一層の演算量削減が図られ、本実施の形態の有用性が確認できた。またシミュレ ーシヨン結果によれば、コンテキストの変更許可数を増すほど、削減率は向上した。 ただ、コンテキストの変更許可数を増加すると、削減できるサイクル数は増加するもの の、回路構成が複雑化して回路面積が増大するというデメリットもあるので、サイクノレ 数削減効果と回路構成に要するコスト、要求される仕様などに応じて適宜決定する。 [0112] Next, as an embodiment of the present invention, two-cycle prediction, continuous MPS process prediction, and switching between these are performed with an arithmetic sign 符号, and the ratio of the number of cycles to be reduced is simulated. Asked. Here, the number of contexts input in a batch is set to 2, and arithmetic coding is performed on various simulation ghost image sequences (akiyo, bridge-close ^ b ridge-far Λ earphone ^ c lair), and the simulation results Are shown in Table 1 to Table 5, respectively. In the table, DSE is 2-cycle prediction, MPSE is continuous MPS processing prediction, and DSE + MPSE is an example of switching between these. As shown in this table, the computational complexity can be reduced by 2-cycle prediction and continuous MPS process prediction for any sequence, and the 2-cycle prediction shows particularly good results. Further, in the method of switching between them, the calculation amount can be further reduced, and the usefulness of the present embodiment has been confirmed. Also, according to the simulation results, the reduction rate improved as the number of context changes allowed increased. However, increasing the number of context changes allowed increases the number of cycles that can be reduced, but it also has the demerit of increasing the circuit area by complicating the circuit configuration. It is determined as appropriate according to the specifications.
[0113] [表 1]  [0113] [Table 1]
Figure imgf000035_0001
Figure imgf000035_0001
[0114] [表 2] bridge—close [0114] [Table 2] bridge—close
入力コンテキスト数 MPSE (%) DSE(%) MPSE+DSE (%)  Number of input contexts MPSE (%) DSE (%) MPSE + DSE (%)
1 3.18  1 3.18
2 19.00 36.68 40.78 2 19.00 36.68 40.78
3 26.08 47.72 68. BO3 26.08 47.72 68. BO
4 29.66 63.24 66. BO4 29.66 63.24 66. BO
B 31.85 56.52 69.66 B 31.85 56.52 69.66
[0115] [表 3] [0115] [Table 3]
[0116] [0116]
Figure imgf000036_0001
Figure imgf000036_0001
[0117] [表 5]  [0117] [Table 5]
Figure imgf000036_0002
Figure imgf000036_0002
[0118] なお他の実施の形態に係る算術符号化装置は、多値信号を 2値化するための 2値 化部と、 2値化部で生成された 2値シンボルを算術符号化するための算術符号ィ匕部 と、コンテキスト番号を生成するためのコンテキスト計算部と、 2値化部で生成された 2 値シンボルに基づレ、て、優勢シンボル或いは劣勢シンボルが示すシンボル値とシン ボル出現確率とを更新するための更新部と、コンテキスト計算部で計算されたコンテ キスト番号をインデックスとして、シンボル値とシンボル出現確率とを格納するための 確率状態格納部とを備える算術符号ィ匕装置であって、算術符号化部は、劣勢シンポ ルの区間を発生確率に基づいて分割した領域 rLPSの予測値を格納する第 1格納部 と、同じく rLPSの予測値を格納する、第 1格納部とは別個の第 2格納部と、第 1格納 部に格納された rLPSの予測値及び初期の区間を参照して算術符号化を行い区間 を更新する第 1演算部と、同じく第 2格納部に格納された rLPSの予測値及び前記第 1演算部で更新された更新区間を参照して算術符号化を行う、第 1演算部とは別個 の第 2演算部と、シンボル出現確率及び優勢シンボルが示すシンボル値を更新する 第 1コンテキスト更新テーブルと、同じくシンボル出現確率及び優勢シンボルが示す シンボル値を更新する、第 1コンテキスト更新テーブルとは別個の第 2コンテキスト更 新テーブルとを備え、第 1コンテキスト更新テーブルは、入力されたコンテキストに対 する出力を同サイクル中に前記第 2コンテキストテーブルに入力可能な組み合わせ 回路で構成されている。これにより、 1サイクル中に 2ビット以上の処理が可能な高速 な算術符号化を実現できる。 [0118] An arithmetic coding apparatus according to another embodiment performs arithmetic coding on a binarization unit for binarizing a multilevel signal and a binary symbol generated by the binarization unit. The symbol value and symbol indicated by the dominant symbol or the inferior symbol based on the binary symbol generated by the binary code generated by the binarization unit, the context calculation unit for generating the context number An arithmetic coding apparatus comprising: an update unit for updating an appearance probability; and a probability state storage unit for storing a symbol value and a symbol appearance probability using the context number calculated by the context calculation unit as an index And the arithmetic coding unit The first storage unit that stores the predicted value of rLPS, the second storage unit that stores the predicted value of rLPS separately from the first storage unit, and the first storage unit that stores the predicted value of rLPS The first calculation unit that performs arithmetic coding with reference to the rLPS prediction value and the initial interval stored in the storage unit and updates the interval, and the rLPS prediction value stored in the second storage unit and the first interval. A second arithmetic unit that performs arithmetic encoding with reference to the update section updated by the arithmetic unit, and that updates the symbol appearance probability and the symbol value indicated by the dominant symbol, separately from the first arithmetic unit. And a second context update table separate from the first context update table, which also updates the symbol appearance probability and the symbol value indicated by the dominant symbol, and the first context update table corresponds to the input context. That the output and an input possible combinations circuit to the second context table during the same cycle. This makes it possible to realize high-speed arithmetic coding that can process more than 2 bits in one cycle.
[0119] 算術符号化装置においては、第 1コンテキスト更新テーブル及び第 2コンテキスト更 新テーブルを組み合わせ回路で構成できる。これによつて処理の高速化が図られる 。なお、第 1コンテキスト更新テーブルを ROMで、第 2コンテキスト更新テーブルを組 み合わせ回路で構成してもよぐこれによつて算術符号ィヒを安価に実現できる。 産業上の利用可能性 In the arithmetic coding apparatus, the first context update table and the second context update table can be configured by a combinational circuit. This speeds up the processing. Note that the first context update table may be composed of ROM and the second context update table may be composed of a combinational circuit, which makes it possible to realize arithmetic coding at low cost. Industrial applicability
[0120] 本発明の算術符号化装置、算術符号化方法、算術符号化プログラム及びプロダラ ムを格納したコンピュータで読み取り可能な記録媒体は、動画像信号を圧縮して記 録したり伝送する用途に有用であり、例えば携帯端末装置、動画像撮像装置、動画 像記録'再生装置等、高画質動画像を処理する装置及びその応用分野において好 適に利用できる。 [0120] The computer-readable recording medium storing the arithmetic coding apparatus, arithmetic coding method, arithmetic coding program, and program of the present invention is suitable for use in recording and transmitting moving image signals after compression. It is useful and can be suitably used in devices that process high-quality moving images, such as portable terminal devices, moving image capturing devices, and moving image recording / reproducing devices, and their application fields.
図面の簡単な説明  Brief Description of Drawings
[0121] [図 1]H. 264/AVCの符号化処理処理により、画像データからビットストリームを得 る動画像符号化/復号装置を示すブロック図である。  FIG. 1 is a block diagram showing a moving image encoding / decoding device that obtains a bit stream from image data by H.264 / AVC encoding processing.
[図 2]算術符号化 ·復号化の概念を説明するための概念図である。  FIG. 2 is a conceptual diagram for explaining the concept of arithmetic coding / decoding.
[図 3]2値算術符号化を行う手順を示す概念図である。  FIG. 3 is a conceptual diagram showing a procedure for performing binary arithmetic coding.
[図 4]CABAC処理を行う算術符号化装置を示すブロック図である。 園 5]図 4の 2値算術符号ィ匕部の詳細を示すブロック図である。 FIG. 4 is a block diagram showing an arithmetic coding apparatus that performs CABAC processing. 5] FIG. 5 is a block diagram showing details of the binary arithmetic code portion of FIG.
[図 6]再正規化の手順を示す概念図である。  FIG. 6 is a conceptual diagram showing a renormalization procedure.
園 7]算術符号化装置を示すブロック図である。 FIG. 7 is a block diagram showing an arithmetic encoding device.
園 8]図 7の算術符号ィ匕装置の動作を示す概念図である。 8] FIG. 8 is a conceptual diagram showing the operation of the arithmetic coding apparatus shown in FIG.
園 9]本実施の形態 1に係る算術符号ィ匕装置を示すブロック図である。 FIG. 9] is a block diagram showing an arithmetic coding apparatus according to the first embodiment.
園 10]図 9の第 1メモリ部を示す概念図である。 10] FIG. 10 is a conceptual diagram showing the first memory unit of FIG.
園 11]本実施の形態 1に係る算術符号ィ匕装置の変形例を示すブロック図である。 園 12]図 9に示す算術符号ィ匕装置の算術符号化部のブロック図である。 11] A block diagram showing a modification of the arithmetic coding apparatus according to the first embodiment. 12] FIG. 10 is a block diagram of the arithmetic coding unit of the arithmetic coding apparatus shown in FIG.
園 13]図 12の算術符号ィ匕部の動作を示す概念図である。 13] FIG. 13 is a conceptual diagram showing the operation of the arithmetic sign key portion of FIG.
園 14]他の構成に係る算術符号ィ匕部を示すブロック図である。 FIG. 14] is a block diagram showing an arithmetic sign key section according to another configuration.
[図 15]連続 MPS処理予測の手順を示す概念図である。 FIG. 15 is a conceptual diagram showing a procedure for predicting continuous MPS processing.
[図 16]コンテキストが一定の場合の MPS連続数テーブルを示す概念図である。  FIG. 16 is a conceptual diagram showing an MPS continuous number table when the context is constant.
[図 17]図 17 (a)再正規化を行う様子を示す概念図、図 17 (b)は再正規化を考慮した range予測を示す概念図である。  FIG. 17 (a) is a conceptual diagram showing how renormalization is performed, and FIG. 17 (b) is a conceptual diagram showing range prediction considering renormalization.
[図 18]再正規化を考慮した連続 MPS処理予測部のブロック図である。  FIG. 18 is a block diagram of a continuous MPS process prediction unit considering renormalization.
[図 19]連続する MPS処理において、コンテキストが変化する様子を示す概念図であ る。  FIG. 19 is a conceptual diagram showing how context changes in continuous MPS processing.
園 20]MPS連続数テーブルの例を示す概念図である。 20] It is a conceptual diagram showing an example of the MPS continuous number table.
[図 21]コンテキストが変化する場合に連続 MPS処理予測を実現する連続 MPS処理 予測部を構成するブロック図である。  FIG. 21 is a block diagram of a continuous MPS process prediction unit that realizes continuous MPS process prediction when the context changes.
園 22]詳細な連続 MPS処理予測部のブロック図を示す。 22) A detailed block diagram of the continuous MPS process prediction unit is shown.
園 23]本発明の実施の形態 3に係る算術符号化装置を示すブロック図である。 園 24]本発明の実施の形態 3に係る算術符号化装置を示すブロック図である。 FIG. 23] is a block diagram showing an arithmetic coding apparatus according to Embodiment 3 of the present invention. Sono]] is a block diagram showing an arithmetic coding apparatus according to Embodiment 3 of the present invention.
[図 25]2サイクル予測と連続 MPS処理予測を予測手法切替部で切り替える様子を示 すブロック図である。  FIG. 25 is a block diagram showing a state in which 2-cycle prediction and continuous MPS process prediction are switched by a prediction method switching unit.
[図 26]H. 264ZAVCによる算術符号化.復号の処理プロセスのフローチャートであ る。  FIG. 26 is a flowchart of the process of arithmetic coding / decoding by H.264ZAVC.
園 27]H. 264ZAVCの算術符号ィ匕の処理プロセスを具現化した算術符号ィ匕装置 を示すブロック図である。 27] H. 264ZAVC's arithmetic code system that embodies the processing process of arithmetic code FIG.
[図 28]従来の算術符号化装置を示すブロック図である。  FIG. 28 is a block diagram showing a conventional arithmetic coding device.
園 29]2サイクル予測を行う算術符号ィ匕部の変形例を示すブロック図である。 FIG. 29] is a block diagram showing a modified example of the arithmetic code key part that performs 2-cycle prediction.
園 30]図 29の算術符号ィ匕部による算術符号化の手順を示すフローチャートである。 [30] FIG. 30 is a flowchart showing a procedure of arithmetic coding by the arithmetic sign key part of FIG.
[図 31]連続 MPS処理予測を行う算術符号化部の変形例を示すブロック図である。 園 32]図 31の算術符号ィ匕部による算術符号化の手順を示すフローチャートである。 園 33]図 29、図 31の算術符号をパイプライン処理で行う様子を示すタイミングチヤ一 トである。  FIG. 31 is a block diagram showing a modification of the arithmetic encoding unit that performs continuous MPS process prediction. [32] FIG. 32 is a flowchart showing a procedure of arithmetic coding by the arithmetic sign key part of FIG. 33] This is a timing chart showing how the arithmetic codes in Figs. 29 and 31 are performed by pipeline processing.
符号の説明 Explanation of symbols
1 - - -DMA  1---DMA
2…動き探索部  2… Motion search unit
3…デブロッキングフィルタ  3… Deblocking filter
4…動き補償部  4… Motion compensation unit
5…変換部  5… Conversion unit
6…量子化部  6 ... Quantization part
7· · ·逆量子化部  7 · · · Inverse quantization section
8…逆変換部  8 ... Inverse conversion part
9…全体制御部  9 ... Overall control unit
10…算術符号化/復号装置  10: Arithmetic encoding / decoding device
10A…算術符号化装置  10A: Arithmetic coding device
11…可変長複号化部  11… Variable length decoding part
12、 112· · · 2値ィ匕部  12, 112
14、 114、 614…コンテキス卜計算部  14, 114, 614 ... Context calculator
16、 116— 2値算術符号ィ匕部  16, 116— Binary arithmetic sign
20" 'rLPSテープ'ノレ  20 "'rLPS tape'
30…コンテキスト変更テーブル  30 ... Context change table
40、 140…演算部  40, 140 ... Calculation unit
50…再正規化部 、 170…コンテキス卜更新部50 ... Renormalization part , 170… Context 卜 Update Department
0· ··動画像符号化/復号装置0 .. Video encoding / decoding device
7· ··第 1メモリ部7 ··· First memory section
7A…メモ卿7A… Memo 卿
8- ··第 2メモリ部8- · Second memory section
9- --予測部9- --Predictor
0- ·-第 lrLPSテーブル0- ·-lrLPS table
1· ··出力バッファ1 ... Output buffer
2- --第 2rLPSテーブル 2- --2nd rLPS table
、 360…符号ビット生成部  , 360 ... sign bit generator
、 300…算術符号化装置  300 ... Arithmetic encoder
、 316···算術符号ィ匕部 316 ... Arithmetic sign
7、 217B…コンテキス卜メモリ部 、 218B"'rangeメモリ咅 7, 217B ... Context memory section, 218B "range memory"
、 219B---low^y¾ , 219B --- low ^ y¾
·' '·第 lrLPSテーブル · '' · LrLPS table
·· '·第 2rLPSテーブル ····· 2nd rLPS table
·· '·第 1選択器 ··· First selector
·· •第 2選択器  ··· Second selector
、 230B…第 1コンテキスト更新テー -ブル 、 232B…第 2コンテキスト更新テー -ブル -· -弟 lrange更新部 , 230B ... first context update table, 232B ... second context update table-brother-lrange update unit
·· '第 2range更新部  ··· 2nd range update section
、 250B…第 llow更新部  , 250B ... llow update section
、 252B…第 21ow更新部 , 252B ... 21ow update section
-- -第 1算術符号化手段 --First arithmetic encoding means
-· -第 2算術符号化手段 -·-Second arithmetic coding means
·· -第 lrLPSテーブル 322…第 2rLPSテープノレ ...-lrLPS table 322… 2nd rLPS tape nore
330…第 1コンテキスト更新テーブル 330 ... First context update table
332…第 2コンテキスト更新テーブル332 ... Second context update table
340…第 1演算部 340 ... 1st operation part
342…第 2演算部  342… Second calculation unit
350…第 1再正規化部  350 ... 1st renormalization part
352…第 2再正規化部  352 ... Second renormalization unit
400、 400B、 500·· ·連続 MPS処理予測部 400, 400B, 500 ... Continuous MPS processing prediction unit
420- · -rangeテープノレ 420- · -range tape
420A, 420B…予測テープノレ  420A, 420B ... predicted tape
430…コンテキスト更新テーブル  430 ... Context update table
450…再正規化部  450 ... Renormalization part
520、 520B…第 lrangeテーブル  520, 520B ... lrange table
522、 522B…第 2rangeテーブル  522, 522B ... 2nd range table
530…第 1コンテキスト更新テーブル 530 ... First context update table
532…第 2コンテキスト更新テーブル532 ... Second context update table
550…再正規化部 550 ... Renormalization unit
600…算術符号化装置 600 ... Arithmetic encoder
610…算術符号化部 610: Arithmetic coding part
617…第 1メモリ部 617 ... 1st memory section
618…第 2メモリ部 618 ... Second memory section
621…入力バッファ 621 ... Input buffer
622… 2サイクル予測部  622 ... 2-cycle prediction unit
623…連続 MPS処理予測部  623… Continuous MPS processing prediction unit
624…予測手法切替部 624 ... Prediction method switching part
700…算術符号化装置 700 ... Arithmetic encoder
710…適応算術符号化 ·復号部 710 ... Adaptive arithmetic coding / decoding part
711 · · ·算術符号化 *復号部 712· ··シンボル出現確率制御部711 · · · Arithmetic coding * Decoding part 712 ··· Symbol appearance probability control unit
713· ··確率状態格納部 713 ··· Probability state storage
720· ··コンテキスト計算部 720 ... Context calculator
730- 符号化 *復号制御部730- Encoding * Decoding control unit
800- 算術符号化装置 800- Arithmetic encoder
810- --適応算術符号化部 810- --Adaptive arithmetic coding part
811- --算術符号化部 811- --arithmetic encoding part
814- --シンボル出現確率制御部 814- --Symbol appearance probability controller
815- --確率状態格納部 815- --Probability state storage
820- --コンテキスト計算部 820- --Context calculator
821- --レジスタ 821 --- Register
822- --比較判定部  822- --Comparison judgment part
830· ··符号化制御部  830 ... Encoding control unit
FM-- 'フレームメモリ  FM-- 'frame memory

Claims

請求の範囲 The scope of the claims
[1] 多値信号を 2値化するための 2値化部と、 [1] A binarization unit for binarizing a multilevel signal,
前記 2値化部で生成された 2値シンボルを算術符号ィヒするための算術符号ィ匕部と コンテキスト番号を生成するためのコンテキスト計算部と、  An arithmetic code unit for arithmetically encoding the binary symbol generated by the binarization unit, and a context calculation unit for generating a context number;
前記 2値化部で生成された 2値シンボルに基づいて、優勢シンボル或いは劣勢シ ンボルが示すシンボル値とシンボル出現確率とを更新するための更新部と、 前記コンテキスト計算部で計算されたコンテキスト番号をインデックスとして、前記シ ンボル値と前記シンボル出現確率とを格納するための確率状態格納部と、 を備える算術符号化装置であって、  An update unit for updating the symbol value and symbol appearance probability indicated by the dominant symbol or the inferior symbol based on the binary symbol generated by the binarization unit, and the context number calculated by the context calculation unit And a probability state storage unit for storing the symbol value and the symbol appearance probability using as an index,
前記算術符号化部は、  The arithmetic encoding unit is
劣勢シンボルの区間を発生確率に基づレ、て分割した領域 rLPSの予測値を格納 する第 1格納部と、  A first storage unit for storing a prediction value of a region rLPS obtained by dividing an inferior symbol section based on an occurrence probability;
同じく rLPSの予測値を格納する、前記第 1格納部とは別個の第 2格納部と、 前記第 1格納部及び第 2格納部に格納された rLPSの予測値を参照して算術符 号化を行う演算部と、  Similarly, the second storage unit that stores the rLPS prediction value is separate from the first storage unit, and is arithmetically encoded with reference to the rLPS prediction values stored in the first storage unit and the second storage unit. An arithmetic unit for performing
を備えてなることを特徴とする算術符号化装置。  An arithmetic coding apparatus comprising:
[2] 多値信号を 2値化するための 2値化部と、 [2] A binarization unit for binarizing a multilevel signal,
前記 2値化部で生成された 2値シンボルを算術符号ィヒするための算術符号ィ匕部と コンテキスト番号を生成するためのコンテキスト計算部と、  An arithmetic code unit for arithmetically encoding the binary symbol generated by the binarization unit, and a context calculation unit for generating a context number;
前記 2値化部で生成された 2値シンボルに基づいて、優勢シンボル或いは劣勢シ ンボルが示すシンボル値とシンボル出現確率とを更新するための更新部と、 前記コンテキスト計算部で計算されたコンテキスト番号をインデックスとして、前記シ ンボル値と前記シンボル出現確率とを格納するための確率状態格納部と、 を備える算術符号化装置であって、  An update unit for updating the symbol value and symbol appearance probability indicated by the dominant symbol or the inferior symbol based on the binary symbol generated by the binarization unit, and the context number calculated by the context calculation unit And a probability state storage unit for storing the symbol value and the symbol appearance probability using as an index,
前記算術符号化部は、  The arithmetic encoding unit is
優勢シンボル処理時の優勢シンボル処理連続数、初期の区間、シンボル出現確 率に基づいて決定される更新区間の予測値を格納する更新区間格納部と、 優勢シンボル処理時の優勢シンボル処理連続数、及び初期のシンボル出現確率 に基づいて決定されるシンボル出現確率の予測値を格納するためのコンテキスト更 新テーブルと、 Number of consecutive dominant symbol processing during dominant symbol processing, initial interval, symbol appearance probability An update interval storage unit that stores a predicted value of an update interval determined based on a rate, a number of consecutive dominant symbol processings during dominant symbol processing, and a predicted value of a symbol appearance probability determined based on an initial symbol appearance probability A context update table to store
再正規化の回数に基づいて、更新区間の補集合である lowを更新する再正規化 テーブルを有する再正規化部と、  A renormalization unit having a renormalization table for updating low, which is a complement of the update interval, based on the number of renormalizations;
を備えることを特徴とする算術符号化装置。 An arithmetic coding apparatus comprising:
多値信号を 2値化するための 2値化部と、  A binarization unit for binarizing a multilevel signal;
前記 2値化部で生成された 2値シンボルを算術符号ィヒするための算術符号ィ匕部と コンテキスト番号を生成するためのコンテキスト計算部と、  An arithmetic code unit for arithmetically encoding the binary symbol generated by the binarization unit, and a context calculation unit for generating a context number;
前記 2値化部で生成された 2値シンボルに基づいて、優勢シンボル或いは劣勢シ ンボルが示すシンボル値とシンボル出現確率とを更新するための更新部と、  An updating unit for updating a symbol value and a symbol appearance probability indicated by the dominant symbol or the inferior symbol based on the binary symbol generated by the binarization unit;
前記コンテキスト計算部で計算されたコンテキスト番号をインデックスとして、前記シ ンボル値と前記シンボル出現確率とを格納するための確率状態格納部と、 を備える算術符号化装置であって、  An arithmetic coding apparatus comprising: a probability state storage unit for storing the symbol value and the symbol appearance probability using the context number calculated by the context calculation unit as an index;
前記算術符号化部は、  The arithmetic encoding unit is
優勢シンボル処理時の優勢シンボル処理連続数、初期の区間、シンボル出現確 率に基づいて決定される更新区間の予測値を格納する第 1更新区間格納部と、 同じく更新区間の予測値を格納する、前記第 1更新区間格納部と別個の第 2更新 区間格納部と、  The first update interval storage unit that stores the predicted value of the update interval determined based on the number of dominant symbol processes at the time of dominant symbol processing, the initial interval, and the symbol appearance probability, and similarly stores the predicted value of the update interval A second update interval storage unit separate from the first update interval storage unit,
優勢シンボル処理時の優勢シンボル処理連続数、及び初期のシンボル出現確率 に基づいて決定されるシンボル出現確率の予測値を格納するための第 1コンテキスト 更新テーブルと、  A first context update table for storing a predicted number of symbol appearance probabilities determined based on the number of consecutive dominant symbol processing during dominant symbol processing and an initial symbol appearance probability;
優勢シンボル処理時の優勢シンボル処理連続数、及び前記第 1コンテキスト更新 テーブルで更新されたシンボル出現確率に基づいて決定されるシンボル出現確率 の予測値を格納するための、前記第 1コンテキスト更新テーブルと別個の第 2コンテ キスト更新テーブルと、 再正規化の回数に基づいて、更新区間の補集合である lowを更新する再正規化 テーブルを有する再正規化部と、 The first context update table for storing a predicted value of the symbol appearance probability determined based on the number of consecutive dominant symbol processing during the dominant symbol processing and the symbol appearance probability updated in the first context update table; A separate second context update table, A renormalization unit having a renormalization table for updating low, which is a complement of the update interval, based on the number of renormalizations;
を備えることを特徴とする算術符号化装置。 An arithmetic coding apparatus comprising:
多値信号を 2値化するための 2値化部と、  A binarization unit for binarizing a multilevel signal;
前記 2値化部で生成された 2値シンボルを算術符号ィヒするための算術符号ィ匕部と コンテキスト番号を生成するためのコンテキスト計算部と、  An arithmetic code unit for arithmetically encoding the binary symbol generated by the binarization unit, and a context calculation unit for generating a context number;
前記 2値化部で生成された 2値シンボルに基づいて、優勢シンボル或いは劣勢シ ンボルが示すシンボル値とシンボル出現確率とを更新するための更新部と、 前記コンテキスト計算部で計算されたコンテキスト番号をインデックスとして、前記シ ンボル値と前記シンボル出現確率とを格納するための確率状態格納部と、 を備える算術符号化装置であって、  An update unit for updating the symbol value and symbol appearance probability indicated by the dominant symbol or the inferior symbol based on the binary symbol generated by the binarization unit, and the context number calculated by the context calculation unit And a probability state storage unit for storing the symbol value and the symbol appearance probability using as an index,
前記算術符号化部が、  The arithmetic encoding unit is
劣勢シンボルの区間を発生確率に基づレ、て分割した領域 rLPSの予測値を格納 する第 1格納部と、  A first storage unit for storing a prediction value of a region rLPS obtained by dividing an inferior symbol section based on an occurrence probability;
同じく rLPSの予測値を格納する、前記第 1格納部とは別個の第 2格納部と、 前記第 1格納部及び第 2格納部に格納された rLPSの予測値を参照して算術符 号化を行う演算部と、  Similarly, the second storage unit that stores the rLPS prediction value is separate from the first storage unit, and is arithmetically encoded with reference to the rLPS prediction values stored in the first storage unit and the second storage unit. An arithmetic unit for performing
を備える 2サイクル予測部と、 A 2-cycle prediction unit comprising:
優勢シンボル処理時の優勢シンボル処理連続数、初期の区間、シンボル出現確 率に基づいて決定される更新区間の予測値を格納する更新区間格納部と、  An update interval storage unit for storing a predicted value of an update interval determined based on the number of consecutive dominant symbol processing at the time of dominant symbol processing, an initial interval, and a symbol appearance probability;
優勢シンボル処理時の優勢シンボル処理連続数、及び初期のシンボル出現確率 に基づいて決定されるシンボル出現確率の予測値を格納するためのコンテキスト更 新テーブルと、  A context update table for storing predicted number of symbol appearance probabilities determined based on the number of consecutive dominant symbol processing at the time of dominant symbol processing and initial symbol appearance probability;
再正規化の回数に基づいて、更新区間の補集合である lowを更新する再正規化 テーブルを有する再正規化部と、  A renormalization unit having a renormalization table for updating low, which is a complement of the update interval, based on the number of renormalizations;
を備える連続優勢シンボル処理予測部と A continuous dominant symbol processing prediction unit comprising:
前記 2サイクル予測部と連続優勢シンボル処理予測部のいずれかを切り替える予 測手法切替部と、 It is planned to switch between the 2-cycle prediction unit and the continuous dominant symbol processing prediction unit. A measurement method switching unit;
を備えることを特徴とする算術符号化装置。  An arithmetic coding apparatus comprising:
[5] 2値シンボルの算術符号化にあたり、出現確率の高いシンボルである優勢シンボル と出現確率の低レ、シンボルである劣勢シンボルとを、前シンボルまでの数線上の区 間及び劣勢シンボルの数線上の区間の座標値に基づレ、て、数線上の所定の区間に 対応させ、 [5] In arithmetic coding of binary symbols, the dominant symbol, which is a symbol with a high appearance probability, and the inferior symbol, which is a symbol with a low appearance probability, is divided into a number line and the number of inferior symbols. Based on the coordinate value of the section on the line, it corresponds to the predetermined section on the number line,
その数線上の区間対応結果と入力される 2値シンボルから符号ィ匕信号を出力する 算術符号化方法であって、  An arithmetic coding method for outputting a sign signal from an interval correspondence result on the number line and an input binary symbol,
符号化対象のシンボルが優勢シンボルである場合の優勢シンボル処理時の区間 座標値、及び劣勢シンボルである場合の劣勢シンボル処理時の区間座標値を予め 記録した第 lrLPSテーブルを参照して、第 1シンボルの区間を更新した分割領域を 求める工程と、  Referring to the first lrLPS table in which the coordinates of the interval at the time of dominant symbol processing when the symbol to be encoded is the dominant symbol and the interval coordinate values at the time of processing of the inferior symbol when the symbol to be encoded are recorded in advance are referred to A step of obtaining a divided region in which the symbol section is updated;
得られた分割領域と、第 lrLPSテーブルと別個の第 2rLPSテーブルを参照して、 第 1シンボルに続く第 2シンボルの区間を更新した分割領域を求める工程と、 必要に応じて再正規化を行い、出力符号を出力する工程と、  Referring to the obtained divided region and the second rLPS table separate from the lrLPS table, a step of obtaining a divided region obtained by updating the second symbol section following the first symbol, and performing renormalization as necessary Outputting an output code;
コンテキスト番号を更新する工程と、  Updating the context number;
を含むことを特徴とする算術符号化方法。  An arithmetic coding method comprising:
[6] 2値シンボルの算術符号化にあたり、出現確率の高いシンボルである優勢シンボル と出現確率の低レ、シンボルである劣勢シンボルとを、前シンボルまでの数線上の区 間及び劣勢シンボルの数線上の区間の座標値に基づレ、て、数線上の所定の区間に 対応させ、 [6] In arithmetic coding of binary symbols, a dominant symbol that is a symbol with a high appearance probability and a low symbol with a low probability of appearance, an inferior symbol that is a symbol, and the number of inferior symbols and the number of inferior symbols Based on the coordinate value of the section on the line, it corresponds to the predetermined section on the number line,
その数線上の区間対応結果と入力される 2値シンボルから符号ィ匕信号を出力する 算術符号化方法であって、  An arithmetic coding method for outputting a sign signal from an interval correspondence result on the number line and an input binary symbol,
2値シンボルの優勢シンボルが連続する場合に、優勢シンボルの連続数とコンテキ スト番号に基づいて、更新区間格納部を参照して更新区間の予測値を求める工程と コンテキスト番号を格納するコンテキスト更新テーブルを用いて更新する工程と、 を含むことを特徴とする算術符号化方法。 [7] 2値シンボルの算術符号化にあたり、出現確率の高いシンボルである優勢シンボル と出現確率の低レ、シンボルである劣勢シンボルとを、前シンボルまでの数線上の区 間及び劣勢シンボルの数線上の区間の座標値に基づレ、て、数線上の所定の区間に 対応させ、 Context update table that stores the process of obtaining the predicted value of the update section by referring to the update section storage unit based on the number of consecutive dominant symbols and the context number when the dominant symbol of the binary symbol is continuous and the context number And a step of updating using the arithmetic coding method. [7] In arithmetic coding of binary symbols, a dominant symbol that is a symbol with a high appearance probability and a low symbol with a low probability of appearance, an inferior symbol that is a symbol, the number of inferior symbols and the number of inferior symbols Based on the coordinate value of the section on the line, it corresponds to the predetermined section on the number line,
その数線上の区間対応結果と入力される 2値シンボルから符号ィ匕信号を出力する 算術符号プログラムであって、  An arithmetic code program for outputting a sign key signal from the interval correspondence result on the number line and the input binary symbol,
符号化対象のシンボルが優勢シンボルである場合の優勢シンボル処理時の区間 座標値、及び劣勢シンボルである場合の劣勢シンボル処理時の区間座標値を予め 記録した第 lrLPSテーブルを参照して、第 1シンボルの区間を更新した分割領域を 求める機能と、  Referring to the first lrLPS table in which the coordinates of the interval at the time of dominant symbol processing when the symbol to be encoded is the dominant symbol and the interval coordinate values at the time of processing of the inferior symbol when the symbol to be encoded are recorded in advance are referred to A function for obtaining a segmented area in which a symbol section is updated;
得られた分割領域と、第 lrLPSテーブルと別個の第 2rLPSテーブルを参照して、 第 1シンボルに続く第 2シンボルの区間を更新した分割領域を求める機能と、 必要に応じて再正規化を行い、出力符号を出力する機能と、  Refers to the obtained divided region and the second rLPS table separate from the lrLPS table, obtains a divided region by updating the second symbol section following the first symbol, and performs renormalization as necessary. A function of outputting an output code;
コンテキスト番号を更新する機能と、  The ability to update the context number,
をコンピュータに実現させることを特徴とする算術符号ィ匕プログラム。  An arithmetic code program that causes a computer to realize the above.
[8] 2値シンボルの算術符号化にあたり、出現確率の高いシンボルである優勢シンボル と出現確率の低レ、シンボルである劣勢シンボルとを、前シンボルまでの数線上の区 間及び劣勢シンボルの数線上の区間の座標値に基づレ、て、数線上の所定の区間に 対応させ、 [8] In arithmetic coding of binary symbols, a dominant symbol that has a high probability of appearance and a low symbol that has a low probability of appearance, an inferior symbol that has a low probability of occurrence, and the number of inferior symbols and the number of inferior symbols. Based on the coordinate value of the section on the line, it corresponds to the predetermined section on the number line,
その数線上の区間対応結果と入力される 2値シンボルから符号ィ匕信号を出力する 算術符号化プログラムであって、  An arithmetic coding program that outputs a sign signal from the result of interval correspondence on the number line and an input binary symbol,
2値シンボルの優勢シンボルが連続する場合に、優勢シンボルの連続数とコンテキ スト番号に基づいて、更新区間格納部を参照して更新区間の予測値を求める機能と コンテキスト番号を格納するコンテキスト更新テーブルを用いて更新する機能と、 をコンピュータに実現させることを特徴とする算術符号ィ匕プログラム。  Context update table that stores a context number and a function for obtaining a predicted value of an update section by referring to the update section storage section based on the number of consecutive dominant symbols and the context number when the dominant symbol of the binary symbol is continuous An arithmetic code program characterized by having a computer implement a function to update using
[9] 請求項 7又は 8に記載されるプログラムを格納したコンピュータで読み取り可能な記 録媒体。 [9] A computer-readable recording medium storing the program according to claim 7 or 8.
PCT/JP2007/054358 2006-03-07 2007-03-06 Arithmetic encoding device, arithmetic encoding method, arithmetic encoding program, and computer-readable recording medium containing the program WO2007102518A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008503883A JP4547503B2 (en) 2006-03-07 2007-03-06 Arithmetic coding apparatus, arithmetic coding method, arithmetic coding program, and computer-readable recording medium storing the program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-061780 2006-03-07
JP2006061780 2006-03-07

Publications (1)

Publication Number Publication Date
WO2007102518A1 true WO2007102518A1 (en) 2007-09-13

Family

ID=38474945

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/054358 WO2007102518A1 (en) 2006-03-07 2007-03-06 Arithmetic encoding device, arithmetic encoding method, arithmetic encoding program, and computer-readable recording medium containing the program

Country Status (2)

Country Link
JP (1) JP4547503B2 (en)
WO (1) WO2007102518A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009159366A (en) * 2007-12-27 2009-07-16 Akuseru:Kk Encoding system, encoding method, encoding program, decoding system, decoding method, and decoding program
JP2014518595A (en) * 2011-03-31 2014-07-31 トムソン ライセンシング Techniques for CABAC decoding
JP2015511443A (en) * 2012-01-30 2015-04-16 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ Binary arithmetic coding scheme
JP2015115665A (en) * 2013-12-09 2015-06-22 日本電信電話株式会社 Binary arithmetic encoding apparatus, binary arithmetic encoding method and binary arithmetic encoding program
CN106851276A (en) * 2017-02-09 2017-06-13 西安电子科技大学 A kind of CABAC streamline coding methods realized based on Vivado HLS
CN110431748A (en) * 2017-03-15 2019-11-08 Ntt电子股份有限公司 Binary arithmetic decoding device and binary arithmetic decoding device
CN111345004A (en) * 2017-11-09 2020-06-26 区块链控股有限公司 System for simplifying executable instructions to optimize verifiable computing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005504471A (en) * 2001-09-14 2005-02-10 ノキア コーポレイション Context-based adaptive binary arithmetic coding method and system
JP2005130099A (en) * 2003-10-22 2005-05-19 Matsushita Electric Ind Co Ltd Arithmetic decoding device, arithmetic encoding device, arithmetic encoding/decoding device, portable terminal equipment, moving image photographing device, and moving image recording/reproducing device
JP2005525018A (en) * 2002-05-02 2005-08-18 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン Method and apparatus for encoding and decoding binary states and corresponding computer program and corresponding computer readable information storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005504471A (en) * 2001-09-14 2005-02-10 ノキア コーポレイション Context-based adaptive binary arithmetic coding method and system
JP2005525018A (en) * 2002-05-02 2005-08-18 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン Method and apparatus for encoding and decoding binary states and corresponding computer program and corresponding computer readable information storage medium
JP2005130099A (en) * 2003-10-22 2005-05-19 Matsushita Electric Ind Co Ltd Arithmetic decoding device, arithmetic encoding device, arithmetic encoding/decoding device, portable terminal equipment, moving image photographing device, and moving image recording/reproducing device

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009159366A (en) * 2007-12-27 2009-07-16 Akuseru:Kk Encoding system, encoding method, encoding program, decoding system, decoding method, and decoding program
JP2014518595A (en) * 2011-03-31 2014-07-31 トムソン ライセンシング Techniques for CABAC decoding
JP2015511443A (en) * 2012-01-30 2015-04-16 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ Binary arithmetic coding scheme
US9312881B2 (en) 2012-01-30 2016-04-12 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Binary arithmetic coding scheme
JP2015115665A (en) * 2013-12-09 2015-06-22 日本電信電話株式会社 Binary arithmetic encoding apparatus, binary arithmetic encoding method and binary arithmetic encoding program
CN106851276A (en) * 2017-02-09 2017-06-13 西安电子科技大学 A kind of CABAC streamline coding methods realized based on Vivado HLS
CN110431748A (en) * 2017-03-15 2019-11-08 Ntt电子股份有限公司 Binary arithmetic decoding device and binary arithmetic decoding device
CN110431748B (en) * 2017-03-15 2022-12-23 Ntt电子股份有限公司 Binary arithmetic decoder and binary arithmetic decoding device
CN111345004A (en) * 2017-11-09 2020-06-26 区块链控股有限公司 System for simplifying executable instructions to optimize verifiable computing
CN111345004B (en) * 2017-11-09 2023-12-01 区块链控股有限公司 System for simplifying executable instructions to optimize verifiable computing

Also Published As

Publication number Publication date
JP4547503B2 (en) 2010-09-22
JPWO2007102518A1 (en) 2009-07-23

Similar Documents

Publication Publication Date Title
JP3220598B2 (en) Variable length code table and variable length coding device
US7079057B2 (en) Context-based adaptive binary arithmetic coding method and apparatus
US8018996B2 (en) Arithmetic decoding apparatus and method
US6292114B1 (en) Efficient memory mapping of a huffman coded list suitable for bit-serial decoding
JP4547503B2 (en) Arithmetic coding apparatus, arithmetic coding method, arithmetic coding program, and computer-readable recording medium storing the program
US20060294174A1 (en) Hardware-based CABAC decoder
CN111183647B (en) Method, apparatus, and computer-readable medium for decoding video data
JP2006054865A (en) Binary arithmetic decoding apparatus and methods using pipelined structure
TWI397268B (en) Entropy processor for decoding
TW202002636A (en) Trellis coded quantization coefficient coding
WO2012023061A1 (en) Method and apparatus for determining mapping between a syntax element and a code word for variable length coding
US6546053B1 (en) System and method for decoding signal and method of generating lookup table for using in signal decoding process
US20030174076A1 (en) Huffman decoding method and apparatus
JP4865662B2 (en) Entropy encoding apparatus, entropy encoding method, and computer program
JP4865509B2 (en) Decoding device and decoding method
Ramesh Kumar et al. Two-symbol FPGA architecture for fast arithmetic encoding in JPEG 2000
KR101151352B1 (en) Context-based adaptive variable length coding decoder for h.264/avc
US9532044B2 (en) Arithmetic decoding device, image decoding apparatus and arithmetic decoding method
Shi et al. Pipelined architecture design of h. 264/avc cabac real-time decoding
Pastuszak High-speed architecture of the CABAC probability modeling for H. 265/HEVC encoders
JPH0918350A (en) Coding/decoding device and coding/decoding method
Banerjee et al. An Intelligent Lossless Data Compressor Implementation using Reconfigurable Hardware.
JP2934603B2 (en) Method and apparatus for decoding variable length code
JPH0621828A (en) Vector quantizing decoder
KR20180031944A (en) Video decoder and electronic system including the same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2008503883

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07715249

Country of ref document: EP

Kind code of ref document: A1