JP6784150B2 - Arithmetic coding circuits, encoder devices, and arithmetic coding methods - Google Patents
Arithmetic coding circuits, encoder devices, and arithmetic coding methods Download PDFInfo
- Publication number
- JP6784150B2 JP6784150B2 JP2016222493A JP2016222493A JP6784150B2 JP 6784150 B2 JP6784150 B2 JP 6784150B2 JP 2016222493 A JP2016222493 A JP 2016222493A JP 2016222493 A JP2016222493 A JP 2016222493A JP 6784150 B2 JP6784150 B2 JP 6784150B2
- Authority
- JP
- Japan
- Prior art keywords
- context
- data string
- binary data
- unit
- arithmetic coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明は、可変長符号化を実行する算術符号化回路、エンコーダ装置、及び算術符号化方法に関する。 The present invention relates to an arithmetic coding circuit, an encoder device, and an arithmetic coding method for performing variable length coding.
昨今、可変長符号化を実行する算術符号化方式は、画像や映像を符号化する際によく用いられている。関連する技術は、例えば、非特許文献1や、特許文献1、2、及び3に開示されている。非特許文献1は、H.265 HEVC(High Efficiency Video Coding)に関連する技術を開示しており、特許文献1、2及び3は、H.264 AVC(Advanced Video Coding)(MPEG−4 AVC)に関連する技術を開示している。H.265 HEVC及びH.264 AVCは、いずれもCABAC(Context-based Adaptive Binary Arithmetic Coding)を採用している。以下詳説する。
Nowadays, an arithmetic coding method that executes variable length coding is often used when coding an image or a video. Related techniques are disclosed in, for example,
非特許文献1には、ITU―T 勧告H.265 規格に基づく映像符号化方式であるHEVCが記載されている。このHEVC方式は、算術符号化回路(専用回路)によって映像等を次のように符号化する。デジタル化された映像の各フレームは符号化ツリーユニット(CTU:Coding Tree Unit)に分割され、ラスタスキャン順に各符号化ツリーユニットが符号化される。次に、各符号化ツリーユニットは、クアッドツリー構造を形成するように、符号化ユニット(CU:Coding Unit)に分割されて符号化される。各符号化ユニットは、予測ユニット(PU:Prediction Unit)に分割されて予測される。また、各符号化ユニットの予測誤差は、クアッドツリー構造で、変換ユニット(TU:Transform Unit)に分割されて周波数変換される。周波数変換後の予測誤差は、変換ユニット単位で量子化された後に、算術符号化回路で符号化される。
次に、特許文献1、2及び3を説明する。特許文献1、2、及び3には、H.264 AVC規格に基づく映像符号化方式に関連する技術が記載されている。
Next,
特許文献1に記載されている符号化回路は、2値データ列を生成する2値化部と、2値化部が生成した2値データ列を一時保持するバッファ部と、バッファ部が一時保持した2値データ列を2値算術符号化する2値算術符号化部を具備する。また、この符号化回路は、バッファされた2値データ列を参照して、2値化部の入力データ列(シンタックス要素)を復号すると共にコンテキスト計算に用いる復号信号を生成する2値復号部を具備する。この2値復号部は、バッファ部の後段に設けられて、復号したシンタックス要素と復号信号をコンテキスト計算部に供給する。コンテキスト計算部は、2値復号化部から供給された各種情報を用いて、2値データに対応したコンテキスト番号(コンテキストインデックス)を計算し、計算したコンテキスト番号をコンテキストメモリーに供給する。コンテキストメモリーは、コンテキスト計算部から指定されたコンテキスト番号に基づいてコンテキストを2値算術符号化部に供給する。このように、特許文献1は2値化部によって生成された2値データ列を直接バッファ部に格納している。
The coding circuit described in
特許文献2に記載されている符号化回路は、2値化部と、コンテキスト計算部と、2値化部及びコンテキスト計算部に接続されたバッファ部と、バッファ部に一時保持された2値データ列を二値算術符号化する符号化部を具備する。また、コンテキスト計算部は、バッファされる前の2値データ列を使用して、2値データに対応したコンテキスト番号を計算し、計算したコンテキスト番号をバッファ部に供給する。また、コンテキストメモリーは、バッファ部を介してコンテキスト番号を得る。特許文献2は、2値化部で生成された2値データ列とコンテキスト計算部で計算されたコンテキストインデックスとを直接バッファ部に格納している。
The coding circuit described in
特許文献3に記載されている符号化回路は、2値化部と、記憶部(バッファ)と、コンテキスト計算部と、コンテキストメモリー部と、2値符号化部を具備する。この符号化回路は、2値データを記憶する記憶部の他に、コンテキストインデックスを格納するコンテキストメモリー部と、初期化パラメータからコンテキスト情報の初期値を生成する初期値生成部を備えている。この初期値生成部は、記憶部に記憶された2値データに対応したスライスの初期パラメータから、その2値データに対応するコンテキスト情報の初期値を生成して、コンテキストメモリーに供給する。なお、特許文献3では、2値復号化部の記載が省略されており、コンテキスト計算部が2値復号化部の処理動作も受け持っている。特許文献3においても、2値化部は直接記憶部に接続され、且つ、コンテキスト計算部及び初期値生成部は直接コンテキストメモリー部に接続されている。なお、特許文献1、2及び3では、コンテキスト番号を得るため演算回路をコンテキスト計算部と呼んでいるが、本明細書では、コンテキスト番号を得るため演算回路をコンテキスト生成部と呼ぶ。
The coding circuit described in
一方、図7(a)はH.265 HEVCに準拠した算術符号化回路を概略的に示している。図7(a)に示された算術符号化回路で符号化を行う手順を説明する。多値信号で入力されたCU、PU、TUの構成情報(それぞれのサイズ等)及び量子化後の量子化係数は、2値化部で2値データ列(“0”又は“1”のデータ列)に変換される。2値データ列への変換は、その数値が表す情報(シンタックス要素)毎に定められた変換方法に従って変換される。 On the other hand, FIG. 7A shows H. An arithmetic coding circuit conforming to 265 HEVC is shown schematically. A procedure for coding with the arithmetic coding circuit shown in FIG. 7A will be described. The configuration information (each size, etc.) of CU, PU, and TU input as a multi-valued signal and the quantization coefficient after quantization are binary data strings (“0” or “1” data in the binarization section. Converted to column). The conversion to the binary data string is performed according to the conversion method defined for each information (syntax element) represented by the numerical value.
算術符号化回路では、入力されるシンタックス要素毎の2値データと シンタックス要素毎に定められたコンテキストと を用いて符号化を行うCABACが実行される。この方式では、あるシンタックス要素のシンボル列が多値である場合、その何番目のシンボルかによっても 異なるコンテキストをとる場合もある。なお、コンテキストは、多く出現する方のシンボル(優勢シンボル:MPS:Most Probability Symbol)と、その発生確率の組からなる。HEVC方式において、コンテキストは発生確率とその変化は61通りの状態数とその状態遷移によって表現される。 In the arithmetic coding circuit, CABAC that encodes using the binary data for each input syntax element and the context defined for each syntax element is executed. In this method, if the symbol string of a syntax element is multi-valued, it may take a different context depending on the number of the symbol. The context consists of a set of the symbol that appears more frequently (dominant symbol: MPS: Most Probability Symbol) and its probability of occurrence. In the HEVC method, the context is represented by the occurrence probability and its change by 61 kinds of state numbers and their state transitions.
また、H.265HEVCにおいては、コンテキストによる発生確率を用いない、コンテキスト非依存な特殊なシンボルが存在する。このようなシンボルはバイパスシンボルと呼ばれ、優勢シンボルの発生確率が常に50%だと固定して処理する。一方、通常のコンテキストを用いるシンボルは、コンテキストシンボルと呼ばれる。バイパスシンボルは、発生確率を固定することにより、コンテキストを更新する必要がなくなるため、コンテキストシンボルよりも符号化の演算量が削減できる。 In addition, H. In 265HEVC, there is a special context-independent symbol that does not use the probability of occurrence by context. Such a symbol is called a bypass symbol, and it is fixed that the probability of occurrence of the dominant symbol is always 50%. On the other hand, a symbol that uses a normal context is called a context symbol. By fixing the probability of occurrence of the bypass symbol, it is not necessary to update the context, so that the amount of coding calculation can be reduced as compared with the context symbol.
この算術符号化回路は、シンタックス要素(シンタックスエレメント)列を入力として受け付けて 2値化とコンテキスト生成を行い、2値データ列とコンテキスト番号とをそれぞれ出力する 2値化及びコンテキスト生成部 と、コンテキスト番号を参照して該当コンテキストを選択して符号化部に送信するコンテキスト選択部と、2値データ列とコンテキスト選択部から得たコンテキストを用いて符号化する符号化部と、から構成されている。なお、この図7(a)の算術符号化回路には、2値データをバッファする記憶部が設けられていない。 This arithmetic coding circuit accepts a syntax element (syntax element) string as an input, performs binarization and context generation, and outputs a binary data string and a context number, respectively, with a binarization and context generator. , A context selection unit that selects the relevant context by referring to the context number and sends it to the encoding unit, and a coding unit that encodes using the context obtained from the binary data string and the context selection unit. ing. The arithmetic coding circuit of FIG. 7A is not provided with a storage unit for buffering binary data.
また、図7(b)に示すように、2値データ列及びコンテキスト番号をバッファする記憶部を2値化及びコンテキスト生成部に直接接続した構成の算術符号化回路も検討されている。この記憶部を設けることで、算術符号化回路は、符号化ツリーユニット(CTU)毎の画像の複雑度等によって生じる2値データ列の変動量を吸収できる。一方、仮に記憶部で2値データ列の変動量を吸収しきれずに2値データ列が欠落すると、正しく復号できなくなる。このため、記憶部は適切な容量の有する必要がある。 Further, as shown in FIG. 7B, an arithmetic coding circuit having a configuration in which a storage unit that buffers a binary data string and a context number is binarized and directly connected to a context generation unit is also being studied. By providing this storage unit, the arithmetic coding circuit can absorb the fluctuation amount of the binary data string caused by the complexity of the image for each coding tree unit (CTU). On the other hand, if the storage unit cannot absorb the fluctuation amount of the binary data string and the binary data string is missing, it cannot be decoded correctly. Therefore, the storage unit needs to have an appropriate capacity.
この図7(b)に示す算術符号化回路は概略つぎのように動作する。
まず、2値化及びコンテキスト生成部は、入力されたシンタックス要素から、2値データ列を生成すると同時に、各1bitのシンボル毎のコンテキスト番号を生成する。生成された2値データ列とコンテキスト番号は、接続されている記憶部に一時蓄積される。
The arithmetic coding circuit shown in FIG. 7B operates as follows.
First, the binarization and context generation unit generates a binary data string from the input syntax elements, and at the same time, generates a context number for each 1-bit symbol. The generated binary data string and context number are temporarily stored in the connected storage unit.
次に、適切なタイミングで2値データとコンテキスト番号が記憶部から読み出され、コンテキスト番号はコンテキスト選択部に、2値データは符号化部に入力される。 Next, the binary data and the context number are read from the storage unit at an appropriate timing, the context number is input to the context selection unit, and the binary data is input to the encoding unit.
コンテキスト選択部では、入力されたコンテキスト番号から、その番号に該当するコンテキストが読み出されて、読み出されたコンテキストが符号化部に入力される。符号化部では、入力された2値データとコンテキストを用いて2値データを符号化し、符号化データが出力される。 In the context selection unit, the context corresponding to the input context number is read from the input context number, and the read context is input to the encoding unit. The coding unit encodes the binary data using the input binary data and the context, and outputs the encoded data.
図7(a)及び(b)に例示したH.265 HEVCに準拠した符号化回路は多くの場合、H.264 AVCよりも多大なシンタックス要素の符号化を求められている。仮に図7(b)に示す算術符号化回路によってH.265 HEVCにしたがってリアルタイムエンコードを実施する場合、バッファに蓄積される2値データとコンテキスト番号のデータ量が大きく、記憶部容量が多量に必要になる。 H.I. Illustrated in FIGS. 7 (a) and 7 (b). 265 HEVC compliant coding circuits are often H.C. Coding of more syntax elements than 264 AVC is required. Temporarily, by the arithmetic coding circuit shown in FIG. 7 (b), H. When real-time encoding is performed according to 265 HEVC, the amount of binary data and context number data stored in the buffer is large, and a large amount of storage capacity is required.
よりこの方式の問題点を具体的に説明すれば、1bitの2値データの信号列のそれぞれに対して、コンテキスト番号が付属する点がある。H.265 HEVCには、コンテキスト番号の種類が476種類ある。このコンテキスト番号を表現するには9bitのデータが必要になる。このため、1bitの2値データにつき9bitのコンテキスト番号を付随させることになる。この結果、このコンテキスト番号を記録するためのデータ量が記憶部の容量の肥大化を招くことになる。 To explain the problem of this method more concretely, there is a point that a context number is attached to each signal string of 1-bit binary data. H.265 HEVC has 476 types of context numbers. 9-bit data is required to express this context number. Therefore, a 9-bit context number is attached to each 1-bit binary data. As a result, the amount of data for recording this context number causes an increase in the capacity of the storage unit.
特許文献2に記載された算術符号化回路は、上記図7(b)に示した算術符号化回路と同様の問題点を有する。
The arithmetic coding circuit described in
これに対して、特許文献1や特許文献3に記載されている算術符号化回路は、バッファの後段にコンテキスト計算部を具備した構成を採る。この構成の場合、コンテキスト番号をバッファすることが無い。一方で、バッファの後段でコンテキスト計算を行うためには、二値化部でシンタックスエレメントを2値化処理して得た2値データから、再度シンタックスエレメント(若しくは同等の信号)を得る2値化復号処理が必要になる。この構成では、2値化復号処理用の回路構成が必要となる。
On the other hand, the arithmetic coding circuit described in
また、今後多く利用されるH.265 HEVCでは、H.264 AVCに対して単位時間当たりの符号化データの量が多く 且つ コンテキスト番号の種類が多くなり、その結果 バッファ容量が H.264 AVC方式よりもより多量に確保する必要がある。 In addition, H. In 265 HEVC, H. For 264 AVC, the amount of coded data per unit time is large and the types of context numbers are large, resulting in a buffer capacity of H. It is necessary to secure a larger amount than the 264 AVC method.
H.265HEVCに適用可能な構成を備えた図7(b)においても、2値化及びコンテキスト生成部と記憶部(バッファ)を、バスを介して接続することは考慮されていない。このことは、H.264AVCに準拠した符号化回路を開示した特許文献1〜3も同様である。
H. Also in FIG. 7B having a configuration applicable to 265HEVC, it is not considered to connect the binarization and context generation unit and the storage unit (buffer) via the bus. This means that H. The same applies to Patent
例えば、図7(b)において、2値化及びコンテキスト生成部をバスを介して記憶部に接続した場合、バスを介してバッファに蓄積される2値データとコンテキスト番号のデータ量が大きくなり、バスの帯域が不足してしまうおそれがある。即ち、1bitの2値データにつき、9bitのコンテキスト番号が付随することになり、このデータ量がバスの帯域を逼迫させ、また、バッファ容量の肥大化を招いてしまう。 For example, in FIG. 7B, when the binarization and context generation unit is connected to the storage unit via the bus, the amount of binary data and the context number data stored in the buffer via the bus becomes large. There is a risk of running out of bus bandwidth. That is, a 9-bit context number is attached to each 1-bit binary data, and this amount of data tightens the bus bandwidth and causes the buffer capacity to increase.
このことは、特許文献1〜3に記載されたH.264AVCに準拠した符号化回路の場合に比較してより深刻になる。
This is described in
本発明は、算術符号化回路の規模を考慮しつつ、バッファとして使用する記憶部および記憶部周辺回路の有効利用を考慮してなされたものである。 The present invention has been made in consideration of the effective use of the storage unit and the peripheral circuit of the storage unit used as a buffer while considering the scale of the arithmetic coding circuit.
本発明は、上記課題の少なくとも何れかを解決し、回路規模、及び記憶部容量の適切な低減を図れる算術符号化回路、及び 該算術符号化回路を有するエンコーダの提供を目的とする。 An object of the present invention is to provide an arithmetic coding circuit capable of solving at least one of the above problems and appropriately reducing the circuit scale and the storage capacity, and an encoder having the arithmetic coding circuit.
また、本発明は、上記課題の少なくとも何れかを解決し、算術符号化回路の回路規模、及び記憶部容量を適切に低減可能な算術符号化方法の提供を目的とする。 Another object of the present invention is to solve at least one of the above problems and to provide an arithmetic coding method capable of appropriately reducing the circuit scale of the arithmetic coding circuit and the storage capacity.
本発明は、記憶部に接続されたバス上のデータ量を低減できる算術符号化回路及び/又は方法を提供することを目的とする。 An object of the present invention is to provide an arithmetic coding circuit and / or method capable of reducing the amount of data on a bus connected to a storage unit.
本発明の一実施形態に係る算術符号化回路は、シンタックス要素を受け、当該シンタックス要素を2値化して2値データ列を生成する2値化部と、前記2値データ列をコンテキスト生成処理してコンテキスト番号を生成するコンテキスト生成部と、前記2値化部及び前記コンテキスト生成部に接続され、前記2値データ列を格納するバッファを接続できるバスと、前記バスを介して前記バッファから取得した前記2値データ列から前記コンテキスト生成処理によって得られたコンテキスト番号を参照して所要のコンテキストを選択するコンテキスト選択部と、前記2値化部で生成された2値データ列と、前記コンテキスト選択部の選択した所要のコンテキストとを参照して前記2値データ列を符号化する符号化部と、を備え、前記2値化部は、前記2値データ列を復号化する回路のうち、前記2値データ列からコンテキスト番号を表わすビット数よりも少ないビット数を有するコンテキスト番号生成補助情報を生成する回路を少なくとも含み、前記コンテキスト生成部は、前記コンテキスト番号生成補助情報を前記バスを介して受け、当該コンテキスト番号生成補助情報に基づいた処理によって、2値データ列の個々のビットに対応したコンテキスト番号を生成し、前記コンテキスト選択部に出力する。 The arithmetic coding circuit according to the embodiment of the present invention has a binarization unit that receives a syntax element and binarizes the syntax element to generate a binary data string, and a context generation of the binary data string. A context generation unit that processes and generates a context number, a bus that is connected to the binarization unit and the context generation unit and can connect a buffer that stores the binary data string, and a bus from the buffer via the bus. A context selection unit that selects a required context by referring to a context number obtained by the context generation process from the acquired binary data string, a binary data string generated by the binarization unit, and the context. The binarization unit includes a coding unit that encodes the binary data string with reference to a required context selected by the selection unit, and the binarization unit is a circuit that decodes the binary data string. The context generation unit includes at least a circuit that generates context number generation auxiliary information having a number of bits smaller than the number of bits representing the context number from the binary data string, and the context generation unit transmits the context number generation auxiliary information via the bus. Upon receiving, the context number corresponding to each bit of the binary data string is generated by the process based on the context number generation auxiliary information, and is output to the context selection unit .
本発明の一実施形態に係るエンコーダ装置は、上記算術符号化回路を具備する。 The encoder device according to the embodiment of the present invention includes the above arithmetic coding circuit.
本発明の一実施形態に係る算術符号化回路の算術符号化方法は、シンタックス要素を2値化して2値データ列を生成して、バスを介して外部記憶部のバッファに格納すると共に、前記2値データ列からコンテキスト番号を表わすビット数よりも少ないビット数を有するコンテキスト番号生成補助情報を生成する第1の工程と、前記外部記憶部にバッファされた前記2値データ列と前記コンテキスト番号生成補助情報とを参照し、当該コンテキスト番号生成補助情報に基づいたコンテキスト生成処理によって2値データ列の個々のビットに対応したコンテキスト番号を設定する第2の工程と、設定したコンテキスト番号を参照して所要のコンテキストを選択する第3の工程と、生成された2値データ列と、選択された所要のコンテキストとを参照して前記2値データ列を符号化して出力する第4の工程とを、を含む。 In the arithmetic coding method of the arithmetic coding circuit according to the embodiment of the present invention, the syntax element is binarized to generate a binary data string, which is stored in the buffer of the external storage unit via the bus . The first step of generating context number generation auxiliary information having a bit number smaller than the number of bits representing the context number from the binary data string, and the binary data string and the context number buffered in the external storage unit . Refer to the generation auxiliary information, and refer to the second step of setting the context number corresponding to each bit of the binary data string by the context generation process based on the context number generation auxiliary information, and the set context number. The third step of selecting the required context, the generated binary data string, and the fourth step of encoding and outputting the binary data string with reference to the selected required context. ,including.
本発明によれば、バス上のデータ量を減少できると共に、回路規模、及び記憶部容量の適切な低減を図れる算術符号化回路、及び 該算術符号化回路を有するエンコーダを提供できる。 According to the present invention, it is possible to provide an arithmetic coding circuit capable of reducing the amount of data on the bus and appropriately reducing the circuit scale and the storage capacity, and an encoder having the arithmetic coding circuit.
また、本発明によれば、バス上のデータ量を減少できると共に、算術符号化回路の回路規模、及び記憶部容量を適切に低減可能な算術符号化方法を提供できる。 Further, according to the present invention, it is possible to provide an arithmetic coding method capable of reducing the amount of data on the bus and appropriately reducing the circuit scale and the storage capacity of the arithmetic coding circuit.
図面を参照して、本発明の実施形態を説明する。 Embodiments of the present invention will be described with reference to the drawings.
[第1の実施形態]
図1は、第1の実施形態の算術符号化回路10を示すブロック図であり、ここでは、主に、H.265 HEVCにしたがって動作する場合について説明するが、H.264AVCに従って動作する場合にも同様に適用可能である。第1の実施形態の算術符号化回路10は、CABAC(Context-based Adaptive Binary Arithmetic Coding)を採用して、エントロピー符号化を実行する回路である。図1に示す外部記憶部20は、算術符号化回路10にバス30を介して接続されている。図1では、外部記憶部20及びバス30は算術符号化回路10の外部に設けられているが、これらは算術符号化回路10の内部に設けられても良い。この場合、外部記憶部20はバッファとして使用される。
[First Embodiment]
FIG. 1 is a block diagram showing an
算術符号化回路10は、2値化部101と、コンテキスト番号生成部102と、コンテキスト選択部103と、符号化部104によって構成されている。このうち、2値化部101は、外部記憶部20にバス30を介して接続され、他方、コンテキスト番号生成部104も外部記憶部20にバス30を介して接続されている。
The
2値化部101は、シンタックス要素(シンタックスエレメント:SE)を受け付けて、当該シンタックス要素を2値化して2値データ列を生成して、外部記憶部20にバス30を介して2値データ列を出力する。
The
コンテキスト生成部102は、2値データ列を、バス30を介して外部記憶部20から取得して、2値データを復号した後にコンテキスト生成処理によってコンテキスト番号を生成する。
The
コンテキスト選択部103は、コンテキスト生成部102によって生成されたコンテキスト番号を参照して、コンテキスト番号で指定された所要のコンテキストを選択する。個々のコンテキストは、優勢シンボル(MPS:most probable symbol)とその発生確率の組からなる。コンテキスト選択部103は、例えばコンテキストをテーブルデータ(コンテキストテーブル)として保持して、受け付けたコンテキスト番号を索引として該当するコンテキストを出力する構成にすればよい。
The
符号化部104は、コンテキスト選択部103の選択した所要のコンテキストを参照して2値データ列を符号化処理する。この符号化部104で使用される2値データ列は、外部記憶部20によってバッファされた2値データ列である。なお、図1では、2値データ列はコンテキスト生成部102から取得されるように示しているが、符号化部104はコンテキスト生成部102を介さずに2値データ列を外部記憶部20から直接取得することも可能である。符号化された符号化データは算術符号化回路10から出力され、後段の回路に引き渡される。
The
このように、算術符号化回路10は、バス30を介して接続した外部記憶部20を使用して、入力されたシンタックス要素を逐次的にエントロピー符号化して、符号化データ列を出力する。尚、コンテキスト選択部103及び符号化部104は単一の回路、例えば、CPU(Central Processing Unit)によって構成されても良い。
In this way, the
この回路構成によれば、外部記憶部20は、算術符号化回路10の符号化処理以外にも使用することが可能になる。また、バス30は、外部記憶部20と該算術符号化回路10以外のエンコーダ装置内の回路との共通バスとして使用される構成を採用しても良い。
According to this circuit configuration, the
このように、バス30の前段に2値化部101を備え、バス30から2値データを読み出した後にコンテキスト番号生成部102を設けることで、コンテキスト番号をバス30を介することなく得られる回路構成を得られる。このため、外部記憶部20やバス30の帯域を適切に有効利用可能になり、従前の算術符号化回路による同量のエントロピー符号化の実行に対して、符号化処理に掛かる外部記憶部20の容量やバス30の使用帯域を実質的に低減できる。
In this way, by providing the
[第2の実施形態]
図2は、本発明の第2の実施形態に係る算術符号化回路11を示すブロック図である。図示された算術符号化回路11の回路構成のうち、第1の実施形態の算術符号化回路10と同様の回路要素については、同じ符号を付けて説明を省略若しくは簡略化する。
[Second Embodiment]
FIG. 2 is a block diagram showing an
図2に示す算術符号化回路11の外部記憶部20は、第1の実施形態と同様に、算術符号化回路11に接続された外部記憶部でありバッファとして使用され、バス30を介して算術符号化回路11に接続されている。
The
図示された算術符号化回路11は、2値データ列に加えて、コンテキスト番号生成補助情報を生成する2値化部201を備えている点で、図1に示された算術符号化回路10と相違している。具体的に言えば、図2に示された算術符号化回路11は、前述した2値化部201と共に、コンテキスト番号生成部202と、コンテキスト選択部103と、符号化部104を含んでいる。このうち、2値化部201とコンテキスト番号生成部202は、バス30を介して外部記憶部20に接続されている。この結果、外部記憶回路20には、2値データとコンテキスト生成補助情報が蓄積される。
The illustrated
外部記憶部20及びバス30は、第1の実施形態と同様に、算術符号化回路11の符号化処理以外にも使用される構成を採用しても良い。
Similar to the first embodiment, the
図2に示された2値化部201は、シンタックス要素を2値化して2値データ列を生成すると共に、コンテキスト番号の生成を補助するコンテキスト番号生成補助情報(即ち、付加情報)をシンタックス要素から生成して、外部記憶部20にバス30を介して出力する。
The
コンテキスト番号生成補助情報は、コンテキスト番号を表わすビット数よりも少ないビット数を有する情報である。また、コンテキスト番号生成補助情報は、2値データのビット列に対応して逐次的に変化する情報である。なお、コンテキスト番号生成補助情報については、後述する。 The context number generation auxiliary information is information having a number of bits smaller than the number of bits representing the context number. Further, the context number generation auxiliary information is information that changes sequentially corresponding to the bit string of the binary data. The context number generation auxiliary information will be described later.
コンテキスト生成部202は、2値データ列とコンテキスト番号生成補助情報とを外部記憶部20からバス30を介して取得して、コンテキスト番号生成補助情報の内容を参照して該コンテキスト番号生成補助情報の内容に基づいたコンテキスト生成処理によってコンテキスト番号を生成する。
The
コンテキスト選択部103及び符号化部104は、第1の実施形態と同様な構成を備えている。なお、図2では、2値データ列をコンテキスト生成部202から取得するように回路構成を示しているが、第1の実施形態と同様に、符号化部104はコンテキスト生成部202を介さずに2値データ列を外部記憶部20から直接取得することも可能である。
The
以下、図3を参照して、本発明の第2の実施形態に係る算術符号化回路11の動作を説明する。まず、算術符号化回路11に入力されたシンタックス値は2値化部201で2値データ列に変換される。同時に2値化処理中に取得した、コンテキスト番号生成処理を補助するコンテキスト番号生成補助情報(即ち付加情報)を生成する(ステップB1)。
Hereinafter, the operation of the
2値データとコンテキスト番号生成補助情報(付加情報)はバス30を介して記憶部20に保存される(ステップB2)。
The binary data and the context number generation auxiliary information (additional information) are stored in the
続いて、コンテキスト番号生成部202はバス30を介して記憶部20から2値データとコンテキスト番号生成補助情報(付加情報)を記憶部20から読み出す(ステップB3)。
Subsequently, the context
次に、コンテキスト番号生成部202は2値データを解析し、その際に必要があればコンテキスト番号生成補助情報(付加情報)を参照してコンテキスト番号を生成し、生成したコンテキスト番号をコンテキスト番号選択部103 へ出力する。他方、コンテキスト番号生成部202は、バス30を介して入力された2値データはそのまま符号化部104へ出力する(ステップB4)。
Next, the context
コンテキスト選択部103は入力されたコンテキスト番号に対応したコンテキスト情報を出力し(ステップB5)、符号化部104はコンテキスト情報にしたがってコンテキスト番号生成部202からの2値データを符号化する。
The
コンテキスト番号生成部202は、H.264AVCで用いられている回路を適用することによって構成できるから、ここでは詳述しない。
The context
このように、算術符号化回路11は、バス30を介して接続した外部記憶部20を使用して、入力されたシンタックス要素を逐次的にエントロピー符号化して、符号化データ列を出力する。この回路構成によれば、外部記憶部20は、算術符号化回路11の符号化処理以外にも使用することが可能になる。また、バス30は、外部記憶部20と該算術符号化回路11以外のエンコーダ装置内の回路との共通バスとして使用できる。このため、外部記憶部20やバス30の帯域を適切に有効利用可能になり、従前の算術符号化回路による同量のエントロピー符号化の実行に対して、符号化処理に掛かる外部記憶部20の容量やバス30の使用帯域を実質的に低減できる。
In this way, the
また、コンテキスト番号生成補助情報(付加情報)を用いることで、コンテキスト番号をそのままバッファする構成に対して外部記憶部20の容量及びバス30の使用帯域を低減できる。特に、エンコードに必要とされるバス帯域は、バッファ用記憶素子のように増強が難しい。このため、このバス帯域の削減によって実質的にエンコード能力にキャップが加わることを予防できる。
Further, by using the context number generation auxiliary information (additional information), the capacity of the
換言すれば、算術符号化処理に係るバスの必要帯域がコンテキスト番号生成補助情報を用いることで削減されるため、バス帯域幅に制限の加わるエンコーダ装置のアーキテクチャを採用する際に、上記仕組みがより有効に働く。特に、映像符号化処理等の符号化前のデータ量が非常に大きく、他の処理のためにもバスの帯域を十分に確保する必要があるエンコーダ装置の算術符号化回路に好適である。 In other words, since the required bandwidth of the bus related to arithmetic coding processing is reduced by using the context number generation auxiliary information, the above mechanism is more effective when adopting the encoder device architecture in which the bus bandwidth is limited. Works effectively. In particular, it is suitable for an arithmetic coding circuit of an encoder device in which the amount of data before coding such as video coding processing is very large and it is necessary to secure a sufficient bus bandwidth for other processing.
次に、図4及び図5を参照してコンテキスト番号生成補助情報の例を説明する。図4は、コンテキスト番号生成補助情報に用いるライスパラメータを示す説明図である。図5(a)は、コンテキスト番号生成補助情報を不使用のバッファ状態を示す説明図である。一方、図5(b)は、ライスパラメータをコンテキスト番号生成補助情報に用いる際のバッファ状態を示す説明図である。 Next, an example of the context number generation auxiliary information will be described with reference to FIGS. 4 and 5. FIG. 4 is an explanatory diagram showing the rice parameters used for the context number generation auxiliary information. FIG. 5A is an explanatory diagram showing a buffer state in which the context number generation auxiliary information is not used. On the other hand, FIG. 5B is an explanatory diagram showing a buffer state when the rice parameter is used for the context number generation auxiliary information.
標準化された映像符号化の規格の1つであるH.265 HEVCの規格によれば、画像を構成する各画素値を直交変換し、量子化されたあとの量子化係数は、それぞれがトランケーテッド・ライス符号とk次ゴロム符号によって表現される。トランケーテッド・ライス符号は符号化においてライスパラメータと呼ばれるパラメータを持つ。このHEVCで定義されているライスパラメータをコンテキスト番号生成補助情報として使用できる。 H.H., which is one of the standardized video coding standards. According to the 265 HEVC standard, each pixel value constituting an image is orthogonally converted, and the quantization coefficient after quantization is represented by a transcribed rice code and a k-th order Golomb code, respectively. The truncated rice code has a parameter called a rice parameter in coding. The rice parameter defined in this HEVC can be used as context number generation auxiliary information.
すなわち、ライスパラメータをコンテキスト番号生成補助情報として2値化部201で生成し、外部記憶部20及びバス30を介してコンテキスト番号生成回路202で使用する。なお、ライスパラメータは一例であり、例えばブロックサイズやブロックの分割形状の情報をコンテキスト番号生成補助情報とすることも可能である。
That is, the rice parameter is generated by the
ライスパラメータ及びk次ゴロム符号の次数kは、16個の量子化係数を順次読み込み、ある定められた量子化計数値を読んだ時点で更新される。図4(a)を参照すると、ライスパラメータ、及び次数kが更新される量子化係数値の対応例が示されている。ライスパラメータは初期値“0”から始まり“3”から“5”までの量子化係数値を読み込んだときに“1”に更新される。また“6”から“11”までの量子化係数値を読み込んだときに“2”に更新される。次数kに関しても同様である。 The rice parameter and the order k of the k-th order Golomb code are updated when 16 quantization coefficients are sequentially read and a predetermined quantization count value is read. With reference to FIG. 4A, a correspondence example of the rice parameter and the quantization coefficient value at which the order k is updated is shown. The rice parameter starts from the initial value "0" and is updated to "1" when the quantization coefficient values from "3" to "5" are read. Also, when the quantization coefficient values from "6" to "11" are read, it is updated to "2". The same applies to the order k.
図4(b)を参照すると、量子化係数値を2値化する際の、ライスパラメータの違いに起因する2値データ列の違いが示されている。同じ量子化係数値「5」であってもライスパラメータが“0”のときの2値データ列は“111101”となり、ライスパラメータが“1”のときは“1101”となる。すなわち、ライスパラメータを正しく把握していなければ1つの量子化係数の長さが正しく取得できずに正しいコンテキスト番号が容易に得られないことが分かる。 With reference to FIG. 4B, the difference in the binar data string due to the difference in the rice parameters when binarizing the quantization coefficient value is shown. Even if the same quantization coefficient value is "5", the binary data string is "111101" when the rice parameter is "0", and is "1101" when the rice parameter is "1". That is, it can be seen that if the rice parameters are not correctly grasped, the length of one quantization coefficient cannot be obtained correctly and the correct context number cannot be easily obtained.
図5を参照すると、コンテキスト生成補助情報をバッファしない例(すなわち第1の実施形態)におけるバッファされた2値データ列と、コンテキスト生成補助情報をバッファする例(すなわち第2の実施形態)におけるバッファされた2値データ列が示されている。 Referring to FIG. 5, the buffered binary data string in the example of not buffering the context generation auxiliary information (that is, the first embodiment) and the buffer in the example of buffering the context generation auxiliary information (that is, the second embodiment). The resulting binary data string is shown.
図5上段に示したコンテキスト生成補助情報をバッファしない例では、コンテキスト番号生成部102には2値データのみが入力されることになる。よって、それぞれの量子化係数の長さを取得するためには、トランケーテッド・ライス符号とk次ゴロムの組み合わせによる2値データ列を、一度元の量子化係数に復元して係数値を取得し、ライスパラメータを時々刻々と適切に更新していく処理が必要となる。すなわち、バッファの後段に2値復号化回路が必要となる。
In the example in which the context generation auxiliary information shown in the upper part of FIG. 5 is not buffered, only binary data is input to the context
一方、図5下段に示したコンテキスト生成補助情報をバッファする例では、2値化部201で2値データ列に付随してコンテキスト番号生成補助情報であるライスパラメータを2値データがバスを介してバッファされる。コンテキスト番号生成部202は、2値データ列だけでなくライスパラメータをバスを介して外部記憶部20から取得することによって、現在のライスパラメータを参照でき、内部でライスパラメータを2値データ列に従って更新する処理が不要となる。これによりコンテキスト番号生成部202内でライスパラメータを取得更新するために設けられていた回路が不要となり、回路面積の低減が図れる。また、コンテキスト番号生成処理にかかる処理負担が軽減されて、コンテキスト番号を得る処理の高速化や、コンテキスト番号を得る処理によって局所的に発生する熱や消費電力を低減する。
On the other hand, in the example of buffering the context generation auxiliary information shown in the lower part of FIG. 5, the
このように、算術符号化回路に必要となる、少なくとも、バッファの後段に設けられたコンテキスト番号を得るための回路規模を適切に低減可能になる。このため、算術符号化回路もしくはエンコーダ装置として、回路規模及び記憶部容量の適切な低減を図ることが可能になる。 In this way, it is possible to appropriately reduce the circuit scale required for the arithmetic coding circuit to obtain at least the context number provided in the subsequent stage of the buffer. Therefore, as an arithmetic coding circuit or an encoder device, it is possible to appropriately reduce the circuit scale and the storage capacity.
[第3の実施形態]
次に、本発明の第3の実施形態に係るエンコーダを説明する。図6は、第3の実施形態のエンコーダを示す機能ブロック図である。図6(a)に示されたエンコーダ1は、第1の実施形態に係る算術符号化回路10を含むエンコーダであり、図6(b)に示されたエンコーダ2は、第2の実施形態に係る算術符号化回路11を具備したエンコーダである。
[Third Embodiment]
Next, the encoder according to the third embodiment of the present invention will be described. FIG. 6 is a functional block diagram showing the encoder of the third embodiment. The
エンコーダ1若しくはエンコーダ2は、算術符号化回路10若しくは算術符号化回路11と、外部記憶部20と、エンコーダの他の回路群40とがバス30を介して接続され、エンコーダ内の制御を司るコントローラ50の管理下でエントロピー符号化を実行する。
The
このエンコーダ1は、例えば8K放送のリアルタイムエンコーダとして動作する。エンコーダ1の対応符号化方式はH.265 HEVC及びH.264 AVCに対応する。なお、他の回路群40には、各規格に係る構成要素(例えばブロック分割部、イントラ予測部、動き補償回路など)が含まれ得る。この他の回路群40には、バス30を介して外部記憶部20を使用する演算回路が含まれる。
This
図6(a)及び(b)に示したエンコーダ1又は2は、第1又は第2の実施形態を用いて説明した算術符号化回路10又は算術符号化回路11を具備しており、第1又は第2の実施形態を用いて説明した効果と同様な効果を奏する。
The
以上説明したように、上記回路構成を採用することで、回路規模、及び記憶部容量の適切な低減を図れる算術符号化回路、及び 該算術符号化回路を有するエンコーダを得られる。 As described above, by adopting the above circuit configuration, it is possible to obtain an arithmetic coding circuit capable of appropriately reducing the circuit scale and the storage capacity, and an encoder having the arithmetic coding circuit.
同様に、算術符号化回路の回路規模、及び記憶部容量を適切に低減可能な算術符号化方法を得られる。 Similarly, an arithmetic coding method capable of appropriately reducing the circuit scale of the arithmetic coding circuit and the storage capacity can be obtained.
また、図6(b)に示した上記回路構成を採用することで、算術符号化回路11は、少なくとも、バッファの後段に設けられたコンテキスト番号を得るための回路規模を、同等バッファ容量を用いて同等の符号化速度を発揮する既存回路に対して 低減して算術符号化回路を構築できる。
Further, by adopting the above circuit configuration shown in FIG. 6B, the
また、上記算術符号化回路11によれば、算術符号化に必要となるバッファ容量を、同等のコンテキスト番号を得るための回路規模を用いて同等の符号化速度を発揮する既存回路に対して、低減した算術符号化回路及びエンコーダ装置を実現できる。
Further, according to the above-mentioned
本発明は、4K映像や8K映像のように、リアルタイム映像符号化処理の符号化前のデータ量が大きい算術符号化に好適である。なお、外部記憶部20は、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)といった揮発性記憶素子で実現される事を想定され得る。また外部記憶部20はフラッシュメモリやハードディスクのような不揮発性の記憶素子でも実現されうる。上記は一例であり、その他のデータを記憶可能な記録媒体によっても実現され得る。
The present invention is suitable for arithmetic coding in which the amount of data before coding in the real-time video coding process is large, such as 4K video and 8K video. It can be assumed that the
なお、実施形態を例示して本発明を説明した。しかし、本発明の具体的な構成は前述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の変更があってもこの発明に含まれる。例えば、上述した実施形態のブロック構成の分離併合、手順の入れ替えなどの変更は本発明の趣旨および説明される機能を満たせば自由であり、上記説明が本発明を限定するものではない。 The present invention has been described by exemplifying embodiments. However, the specific configuration of the present invention is not limited to the above-described embodiment, and is included in the present invention even if there is a change within a range that does not deviate from the gist of the present invention. For example, changes such as separation and merging of block configurations and replacement of procedures of the above-described embodiments are free as long as the gist of the present invention and the functions described are satisfied, and the above description does not limit the present invention.
また、上記の実施形態の一部又は全部は、以下のようにも記載されうる。尚、以下の付記は本発明をなんら限定するものではない。
[付記1]
シンタックス要素を受け、当該シンタックス要素を2値化して2値データ列を生成する2値化部と、
前記2値データ列をコンテキスト生成処理してコンテキスト番号を生成するコンテキスト生成部と、
前記2値化部及び前記コンテキスト生成部に接続されたバスと、を備え、
前記バスには前記2値データ列を格納するバッファを接続できる算術符号化回路。
In addition, some or all of the above embodiments may also be described as follows. The following notes do not limit the present invention in any way.
[Appendix 1]
A binarization unit that receives a syntax element and binarizes the syntax element to generate a binar data string.
A context generator that generates a context number by performing context generation processing on the binary data string, and
A bus connected to the binarization unit and the context generation unit is provided.
An arithmetic coding circuit capable of connecting a buffer for storing the binary data string to the bus.
[付記2]
前記バス及び前記バッファのうち、少なくともバスを内部に含む付記1記載の算術符号化回路。
[Appendix 2]
The arithmetic coding circuit according to
[付記3]
前記バス及び前記バッファを内部に含む付記2記載の算術符号化回路。
[Appendix 3]
The arithmetic coding circuit according to
[付記4]
前記バスを介して前記バッファから取得した前記2値データ列から前記コンテキスト生成処理によって得られたコンテキスト番号を参照して所要のコンテキストを選択するコンテキスト選択部と、
前記2値化部で生成された2値データ列と、前記コンテキスト選択部の選択した所要のコンテキストとを参照して前記2値データ列を符号化する符号化部と、
を更に含む付記1〜3の何れか一項に記載の算術符号化回路。
[Appendix 4]
A context selection unit that selects a required context by referring to the context number obtained by the context generation process from the binary data string acquired from the buffer via the bus.
A coding unit that encodes the binarized data string with reference to the binarized data string generated by the binarized unit and the required context selected by the context selection unit.
The arithmetic coding circuit according to any one of
[付記5]
前記バッファは、前記算術符号化回路以外にも接続され、
前記バスは、前記バッファと該算術符号化回路以外のエンコーダ装置内の回路との共通バスとしても使用される、
付記1又は2記載の算術符号化回路。
[Appendix 5]
The buffer is connected to other than the arithmetic coding circuit.
The bus is also used as a common bus between the buffer and circuits in the encoder device other than the arithmetic coding circuit.
The arithmetic coding circuit according to
[付記6]
前記バッファに対して前記バスを介して接続された前記2値化部は、前記2値データ列を復号化する回路のうち、前記2値データ列からコンテキスト番号を表わすビット数よりも少ないビット数を有するコンテキスト番号生成補助情報を生成する回路を少なくとも含み、
前記バッファに対して前記バスを介して接続された前記コンテキスト生成部は、前記コンテキスト番号生成補助情報を前記バスを介して受け、当該コンテキスト番号生成補助情報に基づいた処理によって、2値データ列の個々のビットに対応したコンテキスト番号を生成し、前記コンテキスト選択部に出力する
付記2〜5の何れか一項に記載の算術符号化回路。
[Appendix 6]
The binarization unit connected to the buffer via the bus has a smaller number of bits than the number of bits representing the context number from the binary data string in the circuit for decoding the binary data string. Includes at least a circuit that generates auxiliary information for context number generation
The context generation unit connected to the buffer via the bus receives the context number generation auxiliary information via the bus, and performs processing based on the context number generation auxiliary information to obtain a binary data string. The arithmetic coding circuit according to any one of
[付記7]
該算術符号化回路は、H.265HEVCに準拠した符号化するCABAC回路である付記1〜6の何れか一項に記載の算術符号化回路。
[Appendix 7]
The arithmetic coding circuit is described in H.I. The arithmetic coding circuit according to any one of
[付記8]
前記コンテキスト番号生成補助情報は、ライスパラメータであり、
前記2値化部は、前記2値データ列として 前記シンタックス要素を 量子化係数を示すビット列に2値化すると共に、2値化した量子化係数を示すビット列に対応するライスパラメータ列を出力し、
前記コンテキスト生成部は、前記バッファに記憶された量子化係数を示すビット列と該ビット列に対応するライスパラメータとを取得して、前記バッファに記憶されていた前記ライスパラメータを参照して該ライスパラメータの値に基づいた処理によって、2値データ列の個々のビットに対応したコンテキスト番号を設定し、前記コンテキスト選択部に出力する
付記7に記載の算術符号化回路。
[Appendix 8]
The context number generation auxiliary information is a rice parameter.
The binarization unit binarizes the syntax element into a bit string indicating the quantization coefficient as the binar data string, and outputs a rice parameter string corresponding to the bit string indicating the binarized quantization coefficient. ,
The context generation unit acquires a bit string indicating the quantization coefficient stored in the buffer and a rice parameter corresponding to the bit string, and refers to the rice parameter stored in the buffer to obtain the rice parameter of the rice parameter. The arithmetic coding circuit according to Appendix 7, wherein a context number corresponding to each bit of a binary data string is set by processing based on a value and output to the context selection unit.
[付記9]
前記バッファに対して前記バスを介して接続された前記コンテキスト生成部は、前記2値データ列を復号化する回路のうち、前記2値データ列からライスパラメータを生成する回路を少なくとも含まず、
前記バッファに記憶された2値データ列からライスパラメータを生成せずに、前記バッファに記憶されていた前記ライスパラメータを参照して該ライスパラメータの値に基づいた処理によって、2値データ列の個々のビットに対応したコンテキスト番号を設定し、前記コンテキスト選択部に出力する
付記8に記載の算術符号化回路。
[Appendix 9]
The context generator connected to the buffer via the bus does not include at least a circuit that generates rice parameters from the binary data string among the circuits that decode the binary data string.
Individual of the binary data string by processing based on the value of the rice parameter with reference to the rice parameter stored in the buffer without generating the rice parameter from the binary data string stored in the buffer. The arithmetic coding circuit according to
[付記10]
前記バッファに前記バスを介して接続された前記2値化部は、
前記2値データ列を復号化する回路のうち、前記2値データ列からライスパラメータを生成する回路を少なくとも含み、
シンタックス要素を2値化して2値データ列を生成すると共に、コンテキスト番号の生成を補助するライスパラメータを前記シンタックス要素から生成して、バッファに出力し、
前記バッファの後段にある前記コンテキスト生成部は、前記バッファに記憶された2値データ列からライスパラメータを生成せずに、前記バッファに記憶されていた前記ライスパラメータを参照して該ライスパラメータの値に基づいた処理によって、2値データ列の個々のビットに対応したコンテキスト番号を設定し、前記コンテキスト選択部に出力する
付記8記載の算術符号化回路。
[Appendix 10]
The binarization unit connected to the buffer via the bus
Among the circuits for decoding the binary data string, at least a circuit for generating rice parameters from the binary data string is included.
The syntax element is binarized to generate a binary data string, and a rice parameter that assists in the generation of the context number is generated from the syntax element and output to the buffer.
The context generator located in the subsequent stage of the buffer does not generate a rice parameter from the binary data string stored in the buffer, but refers to the rice parameter stored in the buffer and refers to the value of the rice parameter. The arithmetic coding circuit according to
[付記11]
付記1から9の何れか一項に記載の算術符号化回路を具備したエンコーダ装置。
[Appendix 11]
An encoder device including the arithmetic coding circuit according to any one of
[付記12]
シンタックス要素を2値化して2値データ列を生成して、バスを介してバッファに格納する第1の工程と、
前記外部記憶部にバッファされた前記2値データ列を参照し、コンテキスト生成処理によってコンテキスト番号を設定する第2の工程と、
設定したコンテキスト番号を参照して所要のコンテキストを選択する第3の工程と、
生成された2値データ列と、選択された所要のコンテキストとを参照して前記2値データ列を符号化して出力する第4の工程とを、
を含む算術符号化回路の算術符号化方法。
[Appendix 12]
The first step of binarizing the syntax element to generate a binary data string and storing it in the buffer via the bus.
A second step of referring to the binary data string buffered in the external storage unit and setting the context number by the context generation process, and
The third step of selecting the required context by referring to the set context number, and
A fourth step of encoding and outputting the binary data string with reference to the generated binary data string and the selected required context.
Arithmetic coding method of an arithmetic coding circuit including.
[付記13]
前記外部記憶部は、前記算術符号化回路以外が実行する符号化処理以外の演算処理にも使用され、
前記バスは、前記外部記憶部と該算術符号化回路以外のエンコーダ装置内の回路との共通バスとしても使用される、
付記12記載の算術符号化方法。
[Appendix 13]
The external storage unit is also used for arithmetic processing other than the coding processing executed by other than the arithmetic coding circuit.
The bus is also used as a common bus between the external storage unit and a circuit in an encoder device other than the arithmetic coding circuit.
The arithmetic coding method according to
[付記14]
該算術符号化回路は、H.265HEVC方式でシンタックス要素を符号化するCABAC回路であり、
前記第1の工程では、前記2値データ列として シンタックス要素を 量子化係数を示すビット列に2値化すると共に、2値化した量子化係数を示すビット列に対応するライスパラメータ列を前記外部記憶部に出力し、
前記第2の工程では、前記外部記憶部にバッファされた量子化係数を示すビット列と該ビット列に対応するライスパラメータとを取得して、前記2値データ列からライスパラメータを生成せずに、前記バッファに記憶されていた前記ライスパラメータを参照して該ライスパラメータの値に基づいた処理によって、2値データ列の個々のビットに対応したコンテキスト番号を設定し、
前記第3の工程では、設定されたコンテキスト番号を参照して所要のコンテキストを選択し、
前記第4の工程では、生成された2値データ列と、選択された所要のコンテキストとを参照して前記2値データ列を符号化する、
付記12又は13記載の算術符号化方法。
[Appendix 14]
The arithmetic coding circuit is described in H.I. It is a CABAC circuit that encodes a syntax element by the 265HEVC method.
In the first step, the syntax element is binarized as the binarized data string into a bit string indicating the quantization coefficient, and the rice parameter string corresponding to the bit string indicating the binarized quantization coefficient is stored in the external storage. Output to the section
In the second step, the bit string indicating the quantization coefficient buffered in the external storage unit and the rice parameter corresponding to the bit string are acquired, and the rice parameter is not generated from the binary data string. The context number corresponding to each bit of the binary data string is set by processing based on the value of the rice parameter with reference to the rice parameter stored in the buffer.
In the third step, the required context is selected with reference to the set context number.
In the fourth step, the binary data string is encoded with reference to the generated binary data string and the required context selected.
The arithmetic coding method according to
1,2 エンコーダ
10,11 算術符号化回路
101,201 2値化部
102,202 コンテキスト番号生成部
103 コンテキスト選択部
104 符号化部
20 外部記憶部(外部メモリー)
30 バス
40 他の回路群
50 コントローラ
1, 2,
30
Claims (8)
前記2値データ列をコンテキスト生成処理してコンテキスト番号を生成するコンテキスト生成部と、
前記2値化部及び前記コンテキスト生成部に接続され、前記2値データ列を格納するバッファを接続できるバスと、
前記バスを介して前記バッファから取得した前記2値データ列から前記コンテキスト生成処理によって得られたコンテキスト番号を参照して所要のコンテキストを選択するコンテキスト選択部と、
前記2値化部で生成された2値データ列と、前記コンテキスト選択部の選択した所要のコンテキストとを参照して前記2値データ列を符号化する符号化部と、
を備え、
前記2値化部は、前記2値データ列を復号化する回路のうち、前記2値データ列からコンテキスト番号を表わすビット数よりも少ないビット数を有するコンテキスト番号生成補助情報を生成する回路を少なくとも含み、
前記コンテキスト生成部は、前記コンテキスト番号生成補助情報を前記バスを介して受け、当該コンテキスト番号生成補助情報に基づいた処理によって、2値データ列の個々のビットに対応したコンテキスト番号を生成し、前記コンテキスト選択部に出力する、
算術符号化回路。 A binarization unit that receives a syntax element and binarizes the syntax element to generate a binar data string.
A context generator that generates a context number by performing context generation processing on the binary data string, and
A bus that is connected to the binarization unit and the context generation unit and can connect a buffer that stores the binar data string .
A context selection unit that selects a required context by referring to the context number obtained by the context generation process from the binary data string acquired from the buffer via the bus.
A coding unit that encodes the binarized data string with reference to the binarized data string generated by the binarized unit and the required context selected by the context selection unit.
With
Among the circuits that decode the binary data string, the binarization unit includes at least a circuit that generates context number generation auxiliary information having a number of bits smaller than the number of bits representing the context number from the binary data string. Including
The context generation unit receives the context number generation auxiliary information via the bus, generates a context number corresponding to each bit of the binary data string by processing based on the context number generation auxiliary information, and generates the context number corresponding to each bit of the binary data string. Output to the context selection section,
Arithmetic coding circuit.
前記バスは、前記バッファと該算術符号化回路以外のエンコーダ装置内の回路との共通バスとしても使用される、
請求項1記載の算術符号化回路。 The buffer is connected to other than the arithmetic coding circuit.
The bus is also used as a common bus between the buffer and circuits in the encoder device other than the arithmetic coding circuit.
The arithmetic coding circuit according to claim 1 .
前記2値化部は、前記2値データ列として 前記シンタックス要素を 量子化係数を示すビット列に2値化すると共に、2値化した量子化係数を示すビット列に対応するライスパラメータ列を出力し、
前記コンテキスト生成部は、前記バッファに記憶された量子化係数を示すビット列と該ビット列に対応するライスパラメータとを取得して、前記バッファに記憶されていた前記ライスパラメータを参照して該ライスパラメータの値に基づいた処理によって、2値データ列の個々のビットに対応したコンテキスト番号を設定し、前記コンテキスト選択部に出力する
請求項1又は2に記載の算術符号化回路。 The context number generation auxiliary information is a rice parameter.
The binarization unit binarizes the syntax element into a bit string indicating the quantization coefficient as the binar data string, and outputs a rice parameter string corresponding to the bit string indicating the binarized quantization coefficient. ,
The context generating unit acquires a bit string indicating the quantization coefficient stored in the buffer and a rice parameter corresponding to the bit string, and refers to the rice parameter stored in the buffer to obtain the rice parameter of the rice parameter. The arithmetic coding circuit according to claim 1 or 2 , wherein a context number corresponding to each bit of the binary data string is set by processing based on the value and output to the context selection unit.
前記バッファに記憶された2値データ列からライスパラメータを生成せずに、前記バッファに記憶されていた前記ライスパラメータを参照して該ライスパラメータの値に基づいた処理によって、2値データ列の個々のビットに対応したコンテキスト番号を設定し、前記コンテキスト選択部に出力する
請求項3に記載の算術符号化回路。 The context generator connected to the buffer via the bus does not include at least a circuit that generates rice parameters from the binary data string among the circuits that decode the binary data string.
Individual of the binary data string by processing based on the value of the rice parameter with reference to the rice parameter stored in the buffer without generating the rice parameter from the binary data string stored in the buffer. The arithmetic coding circuit according to claim 3 , wherein a context number corresponding to a bit of is set and output to the context selection unit.
前記2値データ列を復号化する回路のうち、前記2値データ列からライスパラメータを生成する回路を少なくとも含み、
シンタックス要素を2値化して2値データ列を生成すると共に、コンテキスト番号の生成を補助するライスパラメータを前記シンタックス要素から生成して、バッファに出力し、
前記バッファの後段にある前記コンテキスト生成部は、前記バッファに記憶された2値データ列からライスパラメータを生成せずに、前記バッファに記憶されていた前記ライスパラメータを参照して該ライスパラメータの値に基づいた処理によって、2値データ列の個々のビットに対応したコンテキスト番号を設定し、前記コンテキスト選択部に出力する
請求項4記載の算術符号化回路。 The binarization unit connected to the buffer via the bus
Among the circuits for decoding the binary data string, at least a circuit for generating rice parameters from the binary data string is included.
The syntax element is binarized to generate a binary data string, and a rice parameter that assists in the generation of the context number is generated from the syntax element and output to the buffer.
The context generator located in the subsequent stage of the buffer does not generate a rice parameter from the binary data string stored in the buffer, but refers to the rice parameter stored in the buffer and refers to the value of the rice parameter. The arithmetic coding circuit according to claim 4 , wherein the context number corresponding to each bit of the binary data string is set by the process based on the above, and the context number is output to the context selection unit.
前記外部記憶部にバッファされた前記2値データ列と前記コンテキスト番号生成補助情報とを参照し、当該コンテキスト番号生成補助情報に基づいたコンテキスト生成処理によって2値データ列の個々のビットに対応したコンテキスト番号を設定する第2の工程と、
設定したコンテキスト番号を参照して所要のコンテキストを選択する第3の工程と、
生成された2値データ列と、選択された所要のコンテキストとを参照して前記2値データ列を符号化して出力する第4の工程とを、
を含む算術符号化回路の算術符号化方法。 The syntax element is binarized to generate a binary data string, which is stored in the buffer of the external storage unit via the bus, and has a number of bits smaller than the number of bits representing the context number from the binary data string. The first step of generating the context number generation auxiliary information and
The context corresponding to each bit of the binary data string is referred to by the binary data string buffered in the external storage unit and the context number generation auxiliary information, and the context generation process based on the context number generation auxiliary information is performed. The second step of setting the number and
The third step of selecting the required context by referring to the set context number, and
A fourth step of encoding and outputting the binary data string with reference to the generated binary data string and the selected required context.
Arithmetic coding method of an arithmetic coding circuit including.
前記コンテキスト番号生成補助情報は、ライスパラメータであり、
前記第1の工程では、前記2値データ列として シンタックス要素を 量子化係数を示すビット列に2値化すると共に、2値化した量子化係数を示すビット列に対応するライスパラメータ列を前記外部記憶部に出力し、
前記第2の工程では、前記外部記憶部にバッファされた量子化係数を示すビット列と該ビット列に対応するライスパラメータとを取得して、前記2値データ列からライスパラメータを生成せずに、前記バッファに記憶されていた前記ライスパラメータを参照して該ライスパラメータの値に基づいた処理によって、2値データ列の個々のビットに対応したコンテキスト番号を設定し、
前記第3の工程では、設定されたコンテキスト番号を参照して所要のコンテキストを選択し、
前記第4の工程では、生成された2値データ列と、選択された所要のコンテキストとを参照して前記2値データ列を符号化する、
請求項7記載の算術符号化方法。 The arithmetic coding circuit is described in H.I. It is a CABAC circuit that encodes a syntax element by the 265HEVC method.
The context number generation auxiliary information is a rice parameter.
In the first step, the syntax element is binarized as the binarized data string into a bit string indicating the quantization coefficient, and the rice parameter string corresponding to the bit string indicating the binarized quantization coefficient is stored in the external storage. Output to the section
In the second step, the bit string indicating the quantization coefficient buffered in the external storage unit and the rice parameter corresponding to the bit string are acquired, and the rice parameter is not generated from the binary data string. The context number corresponding to each bit of the binary data string is set by processing based on the value of the rice parameter with reference to the rice parameter stored in the buffer.
In the third step, the required context is selected with reference to the set context number.
In the fourth step, the binary data string is encoded with reference to the generated binary data string and the required context selected.
The arithmetic coding method according to claim 7 .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016222493A JP6784150B2 (en) | 2016-11-15 | 2016-11-15 | Arithmetic coding circuits, encoder devices, and arithmetic coding methods |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016222493A JP6784150B2 (en) | 2016-11-15 | 2016-11-15 | Arithmetic coding circuits, encoder devices, and arithmetic coding methods |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018082268A JP2018082268A (en) | 2018-05-24 |
JP6784150B2 true JP6784150B2 (en) | 2020-11-11 |
Family
ID=62199049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016222493A Active JP6784150B2 (en) | 2016-11-15 | 2016-11-15 | Arithmetic coding circuits, encoder devices, and arithmetic coding methods |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6784150B2 (en) |
-
2016
- 2016-11-15 JP JP2016222493A patent/JP6784150B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018082268A (en) | 2018-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7817864B2 (en) | Coding apparatus and decoding apparatus | |
CN107710759B (en) | Method and device for coding and decoding conversion coefficient | |
US9270988B2 (en) | Method of determining binary codewords for transform coefficients | |
US20150063440A1 (en) | Constrained intra prediction in video coding | |
US7990297B1 (en) | Encoding and decoding methods and devices employing dual codesets | |
KR20200049899A (en) | Methods and apparatus for video encoding and decoding binary sets using adaptive tree selection | |
US10284851B2 (en) | Method of determining binary codewords for transform coefficients | |
US8077064B2 (en) | Method and device for buffer-based interleaved encoding of an input sequence | |
US9641850B2 (en) | Video compression device | |
JP6208993B2 (en) | Image decoding apparatus and decoding processing method of image decoding apparatus | |
US20180205958A1 (en) | Encoding device, decoding device, and encoding and decoding method thereof | |
US10250912B2 (en) | Method and apparatus for entropy decoding with arithmetic decoding decoupled from variable-length decoding | |
JP5116704B2 (en) | Image coding apparatus and image coding method | |
US20150326859A1 (en) | Video quantization-parameter encoding method, video quantization-parameter decoding method, device, and program | |
US7973683B2 (en) | Apparatus and method for lossless coding and decoding | |
JP6784150B2 (en) | Arithmetic coding circuits, encoder devices, and arithmetic coding methods | |
US9426481B2 (en) | Method and apparatus for encoding image, and method and apparatus for decoding image | |
US20220038731A1 (en) | Image Decoding Method, Decoder and Storage Medium | |
JP6704194B2 (en) | Moving picture coding apparatus and moving picture coding method | |
EP2362547B1 (en) | Encoding and decoding methods and devices using a secondary codeword indicator | |
US20120147972A1 (en) | Image decoding apparatus, image decoding method, image encoding apparatus, image encoding method, and program | |
US9973209B2 (en) | Processor and data processing method thereof | |
JP2018006869A (en) | Image transmission system, control method thereof, and imaging device | |
JP6382728B2 (en) | Decoding method and decoding apparatus | |
JP5872804B2 (en) | Encoding apparatus and encoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191002 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200715 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200715 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200907 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200923 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201006 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6784150 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |