JP2005217871A - Arithmetic decoding apparatus and arithmetic decoding program - Google Patents
Arithmetic decoding apparatus and arithmetic decoding program Download PDFInfo
- Publication number
- JP2005217871A JP2005217871A JP2004023325A JP2004023325A JP2005217871A JP 2005217871 A JP2005217871 A JP 2005217871A JP 2004023325 A JP2004023325 A JP 2004023325A JP 2004023325 A JP2004023325 A JP 2004023325A JP 2005217871 A JP2005217871 A JP 2005217871A
- Authority
- JP
- Japan
- Prior art keywords
- decoding
- bit
- state information
- internal state
- batch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
本発明は、復号処理を高速に行う算術復号化装置および算術復号化プログラムに関する。 The present invention relates to an arithmetic decoding device and an arithmetic decoding program that perform decoding processing at high speed.
算術符号化は、エントロピー符号化のひとつであり、効率的な符号化が可能であるということが知られている。算術符号化は、符号化を行うシンボル系列を0以上1未満の値をもつ符号化系列に対応させることにより符号化する手法であり、符号化系列の値をたどることにより復号化を行う。発生確率の高いシンボル系列や短いシンボル系列に対する符号化系列を表現するためのビット数は少なくてよいが、発生確率の低いシンボル系列や長いシンボル系列に対しては、符号化系列を表現するビット数は大きくなる。 Arithmetic coding is one of entropy coding, and it is known that efficient coding is possible. Arithmetic coding is a method of coding by associating a symbol sequence to be coded with a coded sequence having a value of 0 or more and less than 1, and performs decoding by following the value of the coded sequence. The number of bits for expressing a coded sequence for a symbol sequence with a high probability of occurrence or a short symbol sequence may be small, but for a symbol sequence with a low probability of occurrence or a long symbol sequence, the number of bits for representing a coded sequence Will grow.
算術符号化は、画像圧縮や音声圧縮等に用いられており、符号化すべきシンボル系列が特徴の異なる複数のシンボル系列の列からなる場合がある。このような場合、予め複数の確率モデルを用意しておき、今符号化しようとする系列の特徴にあう確率モデルに順次切り替えることにより、符号化効率を高めることができるということが知られている。この予め用意しておく確率モデル群をコンテキストと呼び、一般にコンテキストは優勢シンボル(MPS)と、MPSの発生確率を求めるために必要となるステートとから構成される。複数のコンテキストを予め用意しておき、符号化するシンボル、復号化するビットによりコンテキストを切り替えるような算術符号化をマルチコンテキスト型算術符号化と呼ぶ。 Arithmetic coding is used for image compression, audio compression, and the like, and the symbol sequence to be encoded may be composed of a sequence of a plurality of symbol sequences having different characteristics. In such a case, it is known that by preparing a plurality of probability models in advance and sequentially switching to the probability model that matches the characteristics of the sequence to be encoded, the encoding efficiency can be improved. . A group of probabilistic models prepared in advance is called a context. Generally, a context is composed of a dominant symbol (MPS) and a state necessary for obtaining the occurrence probability of MPS. Arithmetic coding in which a plurality of contexts are prepared in advance and the context is switched by a symbol to be coded and a bit to be decoded is called multi-context arithmetic coding.
ここで、マルチコンテキスト型2値算術符号演算について図9を用いて説明する。 Here, the multi-context binary arithmetic code operation will be described with reference to FIG.
図9中(v)は復号開始時の初期領域幅であり、(u)は復号化すべきデータ系列の初期値である。 In FIG. 9, (v) is the initial area width at the start of decoding, and (u) is the initial value of the data series to be decoded.
まず、復号化を始める前に、所定の初期化処理が行われる。初期化処理は、現在の領域幅、復号化すべきデータ系列、コンテキストに対して行われる。 First, a predetermined initialization process is performed before starting decoding. The initialization process is performed on the current area width, the data series to be decoded, and the context.
1ビット目の復号を行う。コンテキストが与えられると、それを元に領域(v)の分割を行う。(w)が劣勢シンボル(LPS)に対応する領域、(x)が優勢シンボル(MPS)に対応する領域である。復号化すべきデータ系列(u)は(x)に含まれるので1ビット目はMPSを出力する。以下、(x)を現在の領域幅として、同様の操作を繰り返すことにより復号が進むが、演算精度を保つための正規化処理を行う必要がある。 Decode the first bit. When a context is given, the region (v) is divided based on the context. (W) is a region corresponding to the inferior symbol (LPS), and (x) is a region corresponding to the dominant symbol (MPS). Since the data sequence (u) to be decoded is included in (x), the first bit outputs MPS. Hereinafter, the decoding proceeds by repeating the same operation with (x) as the current region width, but it is necessary to perform a normalization process to maintain the calculation accuracy.
具体的に正規化の処理を説明する。ある所定の正規化判定値よりも現在の領域幅が小さくなった場合、現在の領域幅が正規化判定値以上になるまで、現在の領域幅と復号化すべきデータ系列に対し、1ビットの左シフトを繰り返す。現在の領域幅の空いた右側のビットには0が埋められ、復号化すべきデータ系列の空いた右側のビットにはビットストリームから1ビットずつデータがつめられる。現在の領域幅、復号化すべきデータ系列ともに、ビット数が決められ、あふれたビットはともに捨てられる。 The normalization process will be specifically described. When the current region width becomes smaller than a predetermined normalization determination value, the current region width and the data sequence to be decoded are left by 1 bit until the current region width becomes equal to or greater than the normalization determination value. Repeat the shift. Zeros are filled in the bits on the right side with the empty current area width, and the bits on the right side of the data series to be decoded are padded with data bit by bit from the bit stream. The number of bits is determined for both the current area width and the data series to be decoded, and both overflow bits are discarded.
正規化は算術符号化の演算精度を保つためのもので、正規化判定値は正規化が必要であるかどうかの判定に用いるものである。一般に正規化判定値は領域幅の最大値の半分の値をとる。 Normalization is for maintaining the calculation accuracy of arithmetic coding, and the normalization determination value is used for determining whether normalization is necessary. In general, the normalization determination value takes a value that is half the maximum value of the region width.
マルチコンテキスト型算術復号化の例として、H.264(非特許文献1)で採用されているCABACの算術復号化装置101の構成を図10に示す。算術復号化装置101は、制御部102、算術復号化部103、内部状態情報記憶部104、および参照テーブル記憶部105によって構成される。
As an example of multi-context arithmetic decoding, FIG. 10 shows the configuration of CABAC arithmetic decoding apparatus 101 employed in H.264 (Non-patent Document 1). The arithmetic decoding apparatus 101 includes a
コンテキストインデックスは、今復号化しようとするビットのコンテキストを指し示すものである。 The context index indicates the context of the bit to be decoded now.
制御部102は、コンテキストインデックスとともに復号要求が入力されると、内部状態情報記憶部104、および参照テーブル記憶部105から必要なデータを読み出し、内部状態情報記憶部104の内部状態情報を更新し、更新した内部状態情報を、復号要求とともに算術復号化部103へ送る機能を有する。また、制御部102は、算術復号化部103から復号終了通知を受け取ると、算術復号化部103より内部状態情報を読み出し、正規化が必要であれば正規化を行い、内部状態情報記憶部104の更新を行う機能を有する。
When the decoding request is input together with the context index, the
算術復号化部103は、制御部102から内部状態情報とともに復号要求が送られると、算術復号化を行い、復号化データとして出力する機能を有する。また、算術復号化部103は、内部状態情報の更新を行い、復号終了通知を制御部102に送る機能を有する。
The
内部状態記憶部104は、内部状態情報を記憶する。内部状態情報は、少なくとも現在の領域幅、復号化すべきデータ系列、コンテキストからなる。制御部102より要求があれば、制御部102へ、内部状態情報記憶部104に記憶された内部状態情報を送る。
The internal
参照テーブル記憶部105は、内部状態情報記憶部104の内部状態情報の更新に必要となる参照テーブル情報を記憶する。制御部102より要求があれば、制御部102に記憶されている参照テーブル情報を送る。
The reference
次に、CABAC復号処理時における算術復号化装置101の動作を、図11のフローチャートを用いて説明する。入力としてコンテキストインデックスが与えられることとする。 Next, the operation of the arithmetic decoding apparatus 101 during the CABAC decoding process will be described using the flowchart of FIG. A context index is given as input.
まず、制御部102は、内部状態情報記憶部104、および参照テーブル記憶部105から、現在の領域幅を更新するために必要なデータを読み出し、現在の領域幅の更新を行う(ステップS101)。
First, the
制御部102は、内部状態情報記憶部104より現在の領域幅と、復号化すべきデータ系列とを読み出し、両者を比較し、現在の領域幅が復号すべきデータ系列以下であるか否か判定する(ステップS102)。現在の領域幅が復号すべきデータ系列以下であれば、制御部102は、算術復号化部103へLPSの復号要求と現在のMPSを送り、そうでなければMPSの復号要求と現在のMPSを送る。
The
制御部102から算術復号化部103へLPSの復号要求と、現在のMPSが送られると、算術復号化部103は、MPSを反転した値を出力し、制御部102は、内部状態情報記憶部104の内部状態情報の更新を行う(ステップS103)。
When an LPS decoding request and the current MPS are sent from the
制御部102から算術復号化部103へMPSの復号要求と、現在のMPSが送られると、算術復号化部103は、MPSの値を出力し、制御部102は、内部状態情報記憶部104の内部状態情報の更新を行う(ステップS104)。
When the MPS decoding request and the current MPS are sent from the
次に、制御部102は、MPSとLPSの反転が必要であるかどうかの判定を行う(ステップS105)。
Next, the
MPSとLPSの反転が必要である場合は、制御部102は、コンテキストインデックスに対応するコンテキストを内部状態情報記憶部104から読み出し、MPS値の反転を行い、内部状態情報記憶部104へ返す(ステップS106)。
When it is necessary to invert MPS and LPS, the
次に、制御部102は、内部状態情報記憶部104から必要な内部状態情報を読み出し、更新した上、内部状態情報記憶部104へ返す(ステップS107)。
Next, the
次に、制御部102は、正規化を行い(ステップS108)、処理を終了する。
Next, the
画像圧縮等ではリアルタイム性が要求され、算術符号化、復号化の演算量の削減、処理の高速化が求められている。算術復号化処理においては、一般に、正規化の処理が必要であり、正規化の判定は1ビット復号する毎に必要であるために、複数のビットを一括して復号することは、非常に困難であった。 Real-time performance is required for image compression and the like, and the amount of arithmetic coding and decoding is reduced, and the processing speed is required. In arithmetic decoding processing, normalization processing is generally required, and normalization determination is required every time one bit is decoded. Therefore, it is very difficult to decode a plurality of bits at once. Met.
ところで、同一コンテキストが連続し、かつ、任意のnビットを復号しても正規化が発生しないことを条件に、nビットの一括復号処理を行うことによって、復号処理を高速化する算術復号化装置(例えば、特許文献1)が開示されている。 By the way, an arithmetic decoding device that speeds up decoding processing by performing n-bit batch decoding processing on the condition that normalization does not occur even if arbitrary n bits are decoded even if the same context continues. (For example, Patent Document 1) is disclosed.
特許文献1の手法は、同一コンテキストが連続し、かつ、MPSが連続である場合は、LPS幅が一定である(これをQeとおく)ため、最初の領域幅をAregとおくと、nビット先の領域幅はAreg−n×Qeで計算できる。この値が正規化判定値以上であり、MPSが連続しているという条件を満たした場合に複数ビットの一括復号化処理を行い、そうでなければ1ビット毎の逐次処理を行うものである。
In the method of
この手法は、2値画素からなる画像の符号化を扱う算術復号化装置の復号化処理を高速化するために考案されたものであり、片方の画素値が連続するような符号化データに対して、非常に高速に復号を行うことが可能である。 This technique was devised to speed up the decoding process of an arithmetic decoding apparatus that handles the encoding of an image composed of binary pixels. For encoded data in which one pixel value is continuous. Therefore, it is possible to perform decoding at a very high speed.
特許文献1における算術復号化装置の復号化処理の概要を、図12のフローチャートを用いて説明する。
The outline of the decoding process of the arithmetic decoding apparatus in
算術復号化装置は、復号化処理を開始すると、Areg−n×Qeを算出し、算出結果が正規化判定値以上か否かを判定し(ステップS111)、算出結果が正規化判定値以上である場合には、コンテキストが連続で、かつ、MPSが連続であるか否かを判定する(ステップS112)。 When starting the decoding process, the arithmetic decoding apparatus calculates Areg−n × Qe, determines whether the calculation result is equal to or greater than the normalization determination value (step S111), and the calculation result is equal to or greater than the normalization determination value. If there is, it is determined whether the context is continuous and the MPS is continuous (step S112).
コンテキストが連続で、かつ、MPSが連続である場合には、算術復号化装置は、nビットの一括復号化処理を行い(ステップS113)、算出結果が正規化判定値以上でない場合、またはコンテキストが連続、かつ、MPSが連続でない場合には、1ビット毎の逐次復号化処理を行う(ステップS114)。 If the context is continuous and the MPS is continuous, the arithmetic decoding apparatus performs n-bit batch decoding processing (step S113), and if the calculation result is not equal to or greater than the normalization determination value, or the context is If continuous and MPS is not continuous, sequential decoding processing for each bit is performed (step S114).
上述のように、特許文献1の算術復号化装置では、同一コンテキストが連続するという条件と、nビットを復号しても正規化が発生しないという条件に従って、一括復号処理が可能かどうかの判定を行っている。
As described above, the arithmetic decoding device of
そのためCABACのようなマルチコンテキスト型算術符号化において、頻繁にコンテキストの切り替えが行なわれる符号化系列に対しては、一括復号処理が選択される頻度が激減し、ほとんどのビットが1ビット毎の逐次復号処理により復号されることとなり、結果として復号処理の高速化ができない。 For this reason, in multi-context arithmetic coding such as CABAC, the frequency with which batch decoding processing is selected is drastically reduced for coded sequences in which contexts are frequently switched, and most of the bits are sequentially changed bit by bit. As a result, the decoding process cannot be speeded up.
また、nビット復号しても正規化が発生しないという条件では、nビット復号化途中の正規化とnビット復号化直後の正規化を区別することができないため、nビット復号化直後に正規化が発生するような場合に対しても、1ビット毎の逐次処理へ切り替えるため、高速化が困難となる。
本発明は、上記事情に鑑みてなされたものであり、複数ビットを一括して復号化処理可能かどうか判定し、可能であれば一括復号処理を行うことで高速に算術復号化処理を行う算術復号化装置、および算術復号化プログラムを提供することを目的とする。 The present invention has been made in view of the above circumstances, and determines whether or not a plurality of bits can be decoded at once, and performs arithmetic decoding processing at high speed by performing batch decoding processing if possible. It is an object to provide a decoding device and an arithmetic decoding program.
上記目的を達成するために、請求項1に記載の算術復号化装置は、少なくとも現在の領域幅、一つ前の領域幅、復号化すべきデータ系列、およびコンテキストを含む内部状態情報とともに復号要求が供給されると、算術復号化を行い、復号化データを出力する算術復号化装置であって、前記内部状態情報、および最初のビットからnビット目までの優勢シンボルのビット列である優勢シンボル列を記憶する内部状態情報記憶手段と、前記復号要求がされた際の、前記内部状態情報記憶手段に記憶されている前記内部状態情報を記憶する初期内部状態情報退避手段と、前記内部状態情報の更新に必要なテーブル情報を記憶する参照テーブル記憶手段と、優勢シンボル列を基に、nビット連続の優勢シンボルからなる前記復号化データを生成、出力、または、n−1ビット連続の優勢シンボルの後に1ビットの劣勢シンボルからなる前記復号化データを生成、出力する複数ビット一括復号手段と、前記初期内部状態情報退避手段に記録しておいた初期の内部状態情報を前記内部状態情報記憶手段に送り、前記内部状態情報記憶手段に記憶された当該初期の内部状態情報を用いて、1ビット毎の算術復号処理を行い、前記復号化データを生成、出力する1ビット復号手段と、一括復号処理が可能であるかどうかを、前記内部状態情報記憶手段より読み出した前記現在の領域幅、前記一つ前の領域幅、および前記復号化すべきデータ系列を元に判定し、一括復号が可能である場合には、前記複数ビット一括復号手段に対して、前記復号要求、一括復号の方法を示すためのフラグ値、一括復号ビット数n、および前記優勢シンボル列を供給する一括復号処理管理手段とを備えることを特徴とする。
In order to achieve the above object, the arithmetic decoding apparatus according to
また、請求項2に記載の算術復号化プログラムは、少なくとも現在の領域幅、一つ前の領域幅、復号化すべきデータ系列、およびコンテキストを含む内部状態情報とともに復号要求が供給されると、算術復号化を行い、復号化データを出力する算術復号化装置としてコンピュータを機能させるための算術復号化プログラムであって、前記コンピュータを、前記内部状態情報、および最初のビットからnビット目までの優勢シンボルのビット列である優勢シンボル列を記憶する内部状態情報記憶手段と、前記復号要求がされた際の、前記内部状態情報記憶手段に記憶されている前記内部状態情報を記憶する初期内部状態情報退避手段と、前記内部状態情報の更新に必要なテーブル情報を記憶する参照テーブル記憶手段と、優勢シンボル列を基に、nビット連続の優勢シンボルからなる前記復号化データを生成、出力、または、n−1ビット連続の優勢シンボルの後に1ビットの劣勢シンボルからなる前記復号化データを生成、出力する複数ビット一括復号手段と、前記初期内部状態情報退避手段に記録しておいた初期の内部状態情報を前記内部状態情報記憶手段に送り、前記内部状態情報記憶手段に記憶された当該初期の内部状態情報を用いて、1ビット毎の算術復号処理を行い、前記復号化データを生成、出力する1ビット復号手段と、一括復号処理が可能であるかどうかを、前記内部状態情報記憶手段より読み出した前記現在の領域幅、前記一つ前の領域幅、および前記復号化すべきデータ系列を元に判定し、一括復号が可能である場合には、前記複数ビット一括復号手段に対して、前記復号要求、一括復号の方法を示すためのフラグ値、一括復号ビット数n、および前記優勢シンボル列を供給する一括復号処理管理手段として機能させることを特徴とする。 Further, the arithmetic decoding program according to claim 2, when a decoding request is supplied together with at least the current region width, the previous region width, the data sequence to be decoded, and the internal state information including the context, the arithmetic decoding program An arithmetic decoding program for causing a computer to function as an arithmetic decoding device that performs decoding and outputs decoded data, the computer having the internal state information, and predominance from the first bit to the nth bit An internal state information storage means for storing a dominant symbol string, which is a bit string of symbols, and an initial internal state information saver for storing the internal state information stored in the internal state information storage means when the decoding request is made Means, reference table storage means for storing table information necessary for updating the internal state information, and a dominant symbol string, Multiple-bit batch decoding means for generating and outputting the decoded data consisting of n-bit continuous dominant symbols, or generating and outputting the decoded data consisting of 1-bit inferior symbols after n-1 consecutive bits And sending the initial internal state information recorded in the initial internal state information saving means to the internal state information storage means, and using the initial internal state information stored in the internal state information storage means, The current area width read out from the internal state information storage means for performing 1-bit arithmetic decoding processing, generating and outputting the decoded data, and whether or not collective decoding processing is possible , Determining based on the previous area width and the data series to be decoded, and if batch decoding is possible, the multi-bit batch decoding means, No. request, characterized in that to function as a flag value, batch decoding processing management means for supplying batch decoded bit number n, and the dominant symbol string for indicating the method of batch decoding.
本発明により、コンテキストの切り替えが発生した場合に対しても、一括復号を行うことが可能となる。そのため、複数ビットを一括に復号する頻度が高まるため、復号処理を高速化することができる。 According to the present invention, batch decoding can be performed even when context switching occurs. As a result, the frequency of decoding a plurality of bits at a time increases, and the decoding process can be speeded up.
また、nビットの一括復号を行う際に正規化が発生した場合、正規化がnビット復号した直後に発生したものかそうでないかを判定することにより、複数ビットを一括に復号する頻度が高まり、復号処理を高速化することができる。 Also, if normalization occurs when performing n-bit batch decoding, the frequency of decoding multiple bits at once increases by determining whether normalization occurred immediately after n-bit decoding or not. The decoding process can be speeded up.
本発明の実施形態を、図1〜図8を用いて説明する。 An embodiment of the present invention will be described with reference to FIGS.
≪第1の実施形態≫
第1の実施形態では、コンテキストの切り替えが発生するしないにかかわらず、「MPSがnビット連続」し、「nビット復号後に正規化が発生しない」場合について説明する。
<< First Embodiment >>
In the first embodiment, a case will be described in which “MPS is n-bit continuous” and “normalization does not occur after n-bit decoding” regardless of whether context switching occurs.
図1は、第1の実施形態における算術復号化装置1の機能構成を示す機能ブロック図である。
FIG. 1 is a functional block diagram illustrating a functional configuration of the
第1の実施形態における算術復号化装置1は、図1に示すように、一括復号処理管理部2、内部状態情報記憶部3、初期内部状態情報退避部4、参照テーブル記憶部5、複数ビット一括復号部6、および1ビット復号部7によって構成される。
As shown in FIG. 1, the
一括復号処理管理部2は、一括復号処理が可能であるかどうかを、内部状態情報記憶部3より読み出した現在の領域幅、一つ前の領域幅、および復号化すべきデータ系列を元に判定し、一括復号が可能である場合には、複数ビット一括復号部6に対して、復号要求、一括復号の方法を示すためのフラグ値、一括復号ビット数n、およびMPS列を供給する機能を有する。また、一括復号が可能でない場合には、一括復号処理管理部2は、1ビット復号部7に対して復号要求を供給する機能を有する。また、一括復号処理管理部2は、内部状態情報記憶部3に対して、内部状態情報の更新を行う機能を有し、内部状態情報記憶部3の現在の領域幅が正規化判定値を下回った場合には、正規化の処理を行う機能を有する。なお、第1の実施形態においては、一括復号処理管理部2は、「MPSがnビット連続」し、「nビット復号後に正規化が発生しない」場合の一括復号の処理方法を示すフラグ値を、複数ビット一括復号部6に対して供給する。
The batch decoding
内部状態情報記憶部3は、内部状態情報およびMPS列を記憶する。内部状態情報は少なくとも現在の領域幅、一つ前の領域幅、復号化すべきデータ系列、コンテキストから構成される。また、MPS列は、最初のビットからnビット目までのMPSの列であり、内部状態情報記憶部3にMPS列を記憶しておくことで、MPSの連続を容易に生成することが可能となる。内部状態情報記憶部3内の内部状態情報は、一括復号処理管理部2よって読み出される。
The internal state
初期内部状態情報退避部4は、本算術復号化装置1に復号要求が送られた際の、内部状態情報記憶部3に記憶されている内部状態情報を記憶する。
The initial internal state information saving unit 4 stores the internal state information stored in the internal state
参照テーブル記憶部5は、内部状態情報の更新に必要となる参照テーブル情報を記憶する。
The reference
複数ビット一括復号部6は、複数ビットの一括復号処理を行う機能を有する。具体的には、複数ビット一括復号部6は、一括復号処理管理部2より送られたフラグ値とMPS列により、nビット連続のMPSからなる復号化データを生成、出力し、または、n−1ビット連続のMPSの後に1ビットのLPSからなる復号化データを生成、出力する。いずれの場合にも、複数ビット一括復号部6は、内部状態情報記憶部3のデータの更新を行う。
The multi-bit batch decoding unit 6 has a function of performing multi-bit batch decoding processing. Specifically, the multi-bit batch decoding unit 6 generates and outputs decoded data composed of n-bit continuous MPS based on the flag value and the MPS sequence sent from the batch decoding
1ビット復号部7は、復号化したデータを一時的に記憶しておく一時記憶部を有し(図示しない)、1ビット毎の逐次復号を行い、復号化データを生成、出力する機能を有する。具体的には、1ビット復号部7は、一括復号処理管理部2から1ビット復号部7に復号要求が通知された場合、初期内部状態情報退避部4に記録しておいた初期の内部状態情報を内部状態情報記憶部3に送り、復帰した後、内部状態情報記憶部3のデータを用いて、1ビット毎の算術復号処理をn回行う。1ビット復号部7は、1ビット復号する度に復号化データを一時記憶部に1ビットずつ供給する。
The 1-
次に、第1の実施形態における算術復号化装置1の復号化処理時の動作を、図2のフローチャートを用いて説明する。
Next, the operation at the time of the decoding process of the
一括復号するビット数nは一括復号処理管理部2に入力され、ビットストリームおよびコンテキストインデックスは一括復号処理管理部2を介して内部状態情報記憶部3に入力される。
The number n of bits to be collectively decoded is input to the batch decoding
ここでは、一括復号処理を行うビット数n、各ビットに対応するコンテキストインデックスn個、復号すべきビットストリームが算術復号化装置1の入力として既に与えられており、この段階で、すべての内部状態情報は初期化されていることとする。
Here, the number of bits n for batch decoding, the context index n corresponding to each bit, and the bit stream to be decoded have already been given as inputs to the
まず、一括復号処理管理部2は、内部状態情報記憶部3に記憶されている復号化処理開始時のすべての内部状態情報を初期内部状態情報退避部4に記録する(ステップS01)。ここで保存した内部状態情報は、一括復号処理が不可能であるとみなされ、1ビット毎の逐次復号処理を行う場合の初期状態の情報となる。
First, the collective decoding
次に、MPSがn回連続すると仮定した上で、一括復号処理管理部2は、参照テーブル記憶部5に記憶されている参照テーブル情報を読み出し、さらに内部状態情報記憶部3に記憶されている内部状態情報を読み出し、そのうちの領域幅とコンテキストを更新する処理をn回繰り返す(ステップS02)。MPSがn回連続した場合の領域幅が、現在の領域幅として内部状態情報記憶部3に、MPSがn−1回連続した場合の領域幅が、一つ前の領域幅として内部状態情報記憶部3に、それぞれ記録される。また、コンテキストはn−1回MPSが連続した状態が内部状態情報記憶部3に記録される。
Next, assuming that the MPS continues n times, the collective decoding
この様子を図3に示す。図3の(a)〜(e)はMPSが0〜n回まで連続した場合のそれぞれの領域幅を示す。一括復号処理管理部2は、n−1回目の領域幅(d)を一つ前の領域幅として内部状態情報記憶部3に記録し、n回目の領域幅(e)を現在の領域幅として内部状態情報記憶部3に記録する。また、入力されたコンテキストインデックスを基にMPS列を生成し、内部状態情報記憶部3に記録する。
This is shown in FIG. (A) to (e) of FIG. 3 show respective region widths when MPS continues from 0 to n times. The batch decoding
一括復号処理管理部2は、内部状態情報記憶部3から現在の領域幅と復号すべきデータ系列を読み出し、現在の領域幅の方が復号すべきデータ系列より大きいか否かを判定する(ステップS03)。
The batch decoding
現在の領域幅の方が復号すべきデータ系列より大きい場合、一括復号処理管理部2は、内部状態情報記憶部3から領域幅を読み出し、領域幅が正規化判定値より大きいか否かを判定し(ステップS04)、領域幅が正規化判定値より大きい場合は、複数ビット一括復号部6へ復号要求を通知し、MPS列を供給する。なお、正規化判定値は、一括復号処理管理部2に予め記憶されていることとする。
When the current region width is larger than the data series to be decoded, the collective decoding
複数ビット一括復号部6に一括復号処理管理部2から復号要求が通知され、MPS列が供給されると、複数ビット一括復号部6は、nビット連続のMPSからなる復号化データを生成、出力する(ステップS05)。
When a decoding request is notified to the multi-bit batch decoding unit 6 from the batch decoding
内部状態情報記憶部3には、コンテキストとしてn−1回MPSが連続した状態の値が記録されているので、一括復号処理管理部2は、参照テーブル記憶部5に記憶されている参照テーブル情報を読み出し、もう1回MPSが発生した状態に更新する処理を行う(ステップS06)。
Since the internal state
また、ステップS03において、現在の領域幅の方が復号すべきデータ系列より大きくなかった場合、または、ステップS04において、領域幅が正規化判定値より大きくなかった場合は、一括復号処理管理部2は、初期内部状態情報退避部4に記録した復号化処理開始時のすべての内部状態情報を読み出し、内部状態情報記憶部3へ記録し(ステップS07)、1ビット復号部7へ復号要求を通知する。
If the current area width is not larger than the data sequence to be decoded in step S03, or if the area width is not larger than the normalization determination value in step S04, the collective decoding
1ビット復号部7は、一括復号処理管理部2から復号要求が通知されると、1ビット毎の逐次復号処理を行い、1ビット復号する毎に、1ビット復号部7内の一時記憶部に復号ビットを供給することで符号化データを生成し、nビットの復号が終了した後、1ビット復号部7は、1ビット復号部内の一時記憶部に記憶された復号化データを出力する(ステップS08)。
When the decoding request is notified from the batch decoding
このように処理を行うことで、コンテキストの切り替えが発生するしないにかかわらず、「MPSがnビット連続」し、「nビット復号後に正規化が発生しない」符号化系列の一括復号が可能となり、マルチコンテキスト型の算術復号に対しても復号処理を高速に行うことが可能となる。 By performing processing in this way, it becomes possible to perform batch decoding of an encoded sequence in which “MPS is n bits continuous” and “normalization does not occur after n bit decoding” regardless of whether context switching occurs, Decoding processing can be performed at high speed even for multi-context arithmetic decoding.
図4に、「MPSがnビット連続」し、「nビット復号後に正規化が発生しない」場合における領域幅を示す。図4に示すように、初期状態(f)〜nビット(j)までの領域幅が、正規化判定値を下回らなければ、一括復号処理が行われる。 FIG. 4 shows the region width when “MPS is n bits continuous” and “normalization does not occur after n bits decoding”. As shown in FIG. 4, when the area width from the initial state (f) to n bits (j) is not less than the normalization determination value, the collective decoding process is performed.
≪第2の実施形態≫
第2の実施形態では、第1の実施形態で説明した一括復号処理に加えて、「MPSがnビット連続」するが、「nビット復号後に正規化が発生する」場合について説明する。
<< Second Embodiment >>
In the second embodiment, in addition to the collective decoding process described in the first embodiment, a case where “MPS is n-bit continuous” but “normalization occurs after n-bit decoding” will be described.
第2の実施形態における算術復号化装置1は、一括復号処理管理部2、内部状態情報記憶部3、初期内部状態情報退避部4、参照テーブル記憶部5、複数ビット一括復号部6、および1ビット復号部7によって構成される。
The
第2の実施形態における算術復号化装置1は、図1に示す第1の実施形態における算術復号化装置1と同じ機能構成である。なお、第2の実施形態においては、一括復号処理管理部2は、「MPSがnビット連続」し、「nビット復号後に正規化が発生しない」場合、または「MPSがnビット連続」するが、「nビット復号後に正規化が発生する」場合のどちらかの一括復号の処理方法を示すフラグ値を、複数ビット一括復号部6に対して供給する。
The
次に、第2の実施形態における算術復号化装置1の復号化処理時の動作を、図5のフローチャートを用いて説明する。
Next, the operation | movement at the time of the decoding process of the
一括復号するビット数nは一括復号処理管理部2に入力され、ビットストリームおよびコンテキストインデックスは一括復号処理管理部2を介して内部状態情報記憶部3に入力される。
The number n of bits to be collectively decoded is input to the batch decoding
ここでは、一括復号処理を行うビット数n、各ビットに対応するコンテキストインデックスn個、復号すべきビットストリームが算術復号化装置1の入力として既に与えられており、この段階で、すべての内部状態情報は初期化されていることとする。
Here, the number of bits n for batch decoding, the context index n corresponding to each bit, and the bit stream to be decoded have already been given as inputs to the
まず、一括復号処理管理部2は、内部状態情報記憶部3に記憶されている復号化処理開始時のすべての内部状態情報を初期内部状態情報退避部4に記録する(ステップS11)。ここで保存した内部状態情報は、一括復号処理が不可能であるとみなされ、1ビット毎の逐次復号処理を行う場合の初期状態の情報となる。
First, the collective decoding
次に、MPSがn回連続すると仮定した上で、一括復号処理管理部2は、参照テーブル記憶部5に記憶されている参照テーブル情報を読み出し、さらに内部状態情報記憶部3に記憶されている内部状態情報を読み出し、そのうちの領域幅とコンテキストを更新する処理をn回繰り返す(ステップS12)。MPSがn回連続した場合の領域幅が、現在の領域幅として内部状態情報記憶部3に、MPSがn−1回連続した場合の領域幅が、一つ前の領域幅として内部状態情報記憶部3に、それぞれ記録される。また、コンテキストはn−1回MPSが連続した状態が内部状態情報記憶部3に記録される。
Next, assuming that the MPS continues n times, the collective decoding
一括復号処理管理部2は、内部状態情報記憶部3から現在の領域幅と復号すべきデータ系列を読み出し、現在の領域幅の方が復号すべきデータ系列より大きいか否かを判定する(ステップS13)。
The batch decoding
現在の領域幅の方が復号すべきデータ系列より大きい場合、一括復号処理管理部2は、内部状態情報記憶部3から領域幅を読み出し、領域幅が正規化判定値より大きいか否かを判定し(ステップS14)、領域幅が正規化判定値より大きい場合は、複数ビット一括復号部6へ復号要求を通知し、MPS列を供給する。なお、正規化判定値は、一括復号処理管理部2に予め記憶されていることとする。
When the current region width is larger than the data series to be decoded, the collective decoding
複数ビット一括復号部6に一括復号処理管理部2から復号要求が通知され、MPS列が供給されると、複数ビット一括復号部6は、nビット連続のMPSからなる復号化データを生成、出力する(ステップS15)。
When a decoding request is notified to the multi-bit batch decoding unit 6 from the batch decoding
内部状態情報記憶部3には、コンテキストとしてn−1回MPSが連続した状態の値が記録されているので、一括復号処理管理部2は、参照テーブル記憶部5に記憶されている参照テーブル情報を読み出し、もう1回MPSが発生した状態に更新する処理を行う(ステップS16)。
Since the internal state
また、ステップS14において、領域幅が正規化判定値より大きくなかった場合は、一括復号処理管理部2は、内部状態情報記憶部3から一つ前の領域幅を読み出し、一つ前の領域幅が正規化判定値より大きいか否かを判定し(ステップS17)、一つ前の領域幅が正規化判定値より大きい場合は、複数ビット一括復号部6へ復号要求を通知する。
If the region width is not larger than the normalization determination value in step S14, the batch decoding
複数ビット一括復号部6に一括復号処理管理部2から復号要求が通知されると、一括復号処理管理部2は、内部状態情報記憶部3に記録されている現在の領域幅と復号化すべきデータ系列に対し、1ビットの正規化処理を行い(ステップS18)、ステップS15の処理へ移行する。
When a decoding request is notified from the batch decoding
また、ステップS13において、現在の領域幅の方が復号すべきデータ系列より大きくなかった場合、または、ステップS17において、一つ前の領域幅が正規化判定値より大きくなかった場合は、一括復号処理管理部2は、初期内部状態情報退避部4に記録した復号化処理開始時のすべての内部状態情報を読み出し、内部状態情報記憶部3へ記録し(ステップS19)、1ビット復号部7へ復号要求を通知する。
If the current region width is not larger than the data sequence to be decoded in step S13, or if the previous region width is not larger than the normalization determination value in step S17, batch decoding is performed. The
1ビット復号部7は、一括復号処理管理部2から復号要求が通知されると、1ビット毎の逐次復号処理を行い、1ビット復号する毎に、1ビット復号部7内の一時記憶部に復号ビットを供給することで符号化データを生成し、nビットの復号が終了した後、1ビット復号部7は、1ビット復号部内の一時記憶部に記憶された復号化データを出力する(ステップS20)。
When the decoding request is notified from the batch decoding
このように処理を行うことで、「MPSがnビット連続」し、かつ、「正規化が発生しない」場合に加え、「MPSがnビット連続」するが、「nビット復号直後に正規化が発生する」場合に対しても、符号化系列を一括復号することが可能となる。そのため、一括復号処理を行う頻度が高くなり、復号処理を高速化することができる。 By performing processing in this way, in addition to “MPS is n bits continuous” and “normalization does not occur”, “MPS is n bits continuous”, but “normalization is performed immediately after n bit decoding” Even in the case of “occurs”, the encoded sequence can be collectively decoded. Therefore, the frequency of performing the batch decoding process increases, and the decoding process can be speeded up.
図6に、「MPSがnビット連続」するが、「nビット復号後に正規化が発生する」場合における領域幅を示す。図6に示すように、初期状態(k)〜nビット(o)までの領域幅において、nビット(o)の領域幅が正規化判定値を下回っても、MPSが発生した後の正規化は必ず1ビットであるため、1ビットの正規化を行った上で、一括復号処理が行われる。 FIG. 6 shows the region width when “MPS is n bits continuous” but “normalization occurs after n bits decoding”. As shown in FIG. 6, in the region width from the initial state (k) to n bits (o), normalization after MPS occurs even if the region width of n bits (o) is less than the normalization determination value. Since 1 is always 1 bit, the batch decoding process is performed after normalizing 1 bit.
≪第3の実施形態≫
第3の実施形態では、第1および第2の実施形態で説明した一括復号処理に加えて、「MPSがn−1ビット連続し、次にLPSが発生する」が、「n−1ビット復号後に正規化が発生しない」場合について説明する。
<< Third Embodiment >>
In the third embodiment, in addition to the collective decoding process described in the first and second embodiments, “MPS is continued for n−1 bits and then LPS occurs” is “n−1 bit decoding. A case where normalization does not occur later will be described.
第3の実施形態における算術復号化装置1は、一括復号処理管理部2、内部状態情報記憶部3、初期内部状態情報退避部4、参照テーブル記憶部5、複数ビット一括復号部6、および1ビット復号部7によって構成される。
The
第3の実施形態における算術復号化装置1は、図1に示す第1および第2の実施形態における算術復号化装置1と同じ機能構成である。なお、第2の実施形態においては、一括復号処理管理部2は、「MPSがnビット連続」し、「nビット復号後に正規化が発生しない」場合、または「MPSがnビット連続」するが、「nビット復号後に正規化が発生する」場合、「MPSがn−1ビット連続し、次にLPSが発生する」が、「n−1ビット復号後に正規化が発生しない」場合のいずれかの一括復号の処理方法を示すフラグ値を、複数ビット一括復号部6に対して供給する。
The
次に、第3の実施形態における算術復号化装置1の復号化処理時の動作を、図7のフローチャートを用いて説明する。
Next, the operation | movement at the time of the decoding process of the
一括復号するビット数nは一括復号処理管理部2に入力され、ビットストリームおよびコンテキストインデックスは一括復号処理管理部2を介して内部状態情報記憶部3に入力される。
The number n of bits to be collectively decoded is input to the batch decoding
ここでは、一括復号処理を行うビット数n、各ビットに対応するコンテキストインデックスn個、復号すべきビットストリームが算術復号化装置1の入力として既に与えられており、この段階で、すべての内部状態情報は初期化されていることとする。
Here, the number of bits n for batch decoding, the context index n corresponding to each bit, and the bit stream to be decoded have already been given as inputs to the
まず、一括復号処理管理部2は、内部状態情報記憶部3に記憶されている復号化処理開始時のすべての内部状態情報を初期内部状態情報退避部4に記録する(ステップS21)。ここで保存した内部状態情報は、一括復号処理が不可能であるとみなされ、1ビット毎の逐次復号処理を行う場合の初期状態の情報となる。
First, the collective decoding
次に、MPSがn回連続すると仮定した上で、一括復号処理管理部2は、参照テーブル記憶部5に記憶されている参照テーブル情報を読み出し、さらに内部状態情報記憶部3に記憶されている内部状態情報を読み出し、そのうちの領域幅とコンテキストを更新する処理をn回繰り返す(ステップS22)。MPSがn回連続した場合の領域幅が、現在の領域幅として内部状態情報記憶部3に、MPSがn−1回連続した場合の領域幅が、一つ前の領域幅として内部状態情報記憶部3に、それぞれ記録される。また、コンテキストはn−1回MPSが連続した状態が内部状態情報記憶部3に記録される。
Next, assuming that the MPS continues n times, the collective decoding
一括復号処理管理部2は、内部状態情報記憶部3から現在の領域幅と復号すべきデータ系列を読み出し、現在の領域幅の方が復号すべきデータ系列より大きいか否かを判定する(ステップS23)。
The batch decoding
現在の領域幅の方が復号すべきデータ系列より大きい場合、一括復号処理管理部2は、内部状態情報記憶部3から領域幅を読み出し、領域幅が正規化判定値より大きいか否かを判定し(ステップS24)、領域幅が正規化判定値より大きい場合は、複数ビット一括復号部6へ復号要求を通知し、MPS列を供給する。なお、正規化判定値は、一括復号処理管理部2に予め記憶されていることとする。
When the current region width is larger than the data series to be decoded, the collective decoding
複数ビット一括復号部6に一括復号処理管理部2から復号要求が通知され、MPS列が供給されると、複数ビット一括復号部6は、nビット連続のMPSからなる復号化データを生成、出力する(ステップS25)。
When a decoding request is notified to the multi-bit batch decoding unit 6 from the batch decoding
内部状態情報記憶部3には、コンテキストとしてn−1回MPSが連続した状態の値が記録されているので、一括復号処理管理部2は、参照テーブル記憶部5に記憶されている参照テーブル情報を読み出し、もう1回MPSが発生した状態に更新する処理を行う(ステップS26)。
Since the internal state
また、ステップS24において、領域幅が正規化判定値より大きくなかった場合は、一括復号処理管理部2は、内部状態情報記憶部3から一つ前の領域幅を読み出し、一つ前の領域幅が正規化判定値より大きいか否かを判定し(ステップS27)、一つ前の領域幅が正規化判定値より大きい場合は、複数ビット一括復号部6へ復号要求を通知する。
In step S24, if the area width is not larger than the normalization determination value, the collective decoding
複数ビット一括復号部6に一括復号処理管理部2から復号要求が通知されると、一括復号処理管理部2は、内部状態情報記憶部3に記録されている現在の領域幅と復号化すべきデータ系列に対し、1ビットの正規化処理を行い(ステップS28)、ステップS25の処理へ移行する。
When a decoding request is notified from the batch decoding
また、ステップS27において、一つ前の領域幅が正規化判定値より大きくなかった場合は、一括復号処理管理部2は、初期内部状態情報退避部4に記録した復号化処理開始時のすべての内部状態情報を読み出し、内部状態情報記憶部3へ記録し(ステップS29)、1ビット復号部7へ復号要求を通知する。
In step S27, if the previous area width is not larger than the normalization determination value, the collective decoding
1ビット復号部7は、一括復号処理管理部2から復号要求が通知されると、1ビット毎の逐次復号処理を行い、1ビット復号する毎に、1ビット復号部7内の一時記憶部に復号ビットを供給することで符号化データを生成し、nビットの復号が終了した後、1ビット復号部7は、1ビット復号部内の一時記憶部に記憶された復号化データを出力する(ステップS30)。
When the decoding request is notified from the batch decoding
また、ステップS23において、現在の領域幅の方が復号すべきデータ系列より大きくなかった場合、一括復号処理管理部2は、内部状態情報記憶部3から一つ前の領域幅と復号化すべきデータ系列をそれぞれ読み出し、一つ前の領域幅が復号化すべきデータ系列より大きく、かつ、一つ前の領域幅が正規化判定値より大きいか否か判定し(ステップS31)、一つ前の領域幅が復号化すべきデータ系列より大きく、かつ、一つ前の領域幅が正規化判定値より大きい場合、複数ビット一括復号部6へ復号要求を通知し、MPS列を供給する。
If the current area width is not larger than the data series to be decoded in step S23, the collective decoding
複数ビット一括復号部6に一括復号処理管理部2から、復号要求が通知され、MPS列が供給されると、複数ビット一括復号部6は、n−1ビット連続のMPSからなる復号化データを生成、出力した後、MPS列の最後のビットを反転して1ビットのLPSからなる復号値を生成し、出力する(ステップS32)。
When the decoding request is notified to the multi-bit batch decoding unit 6 from the batch decoding
内部状態情報記憶部3には、コンテキストとしてn−1回MPSが連続した状態の値が記録されているので、一括復号処理管理部2は、参照テーブル記憶部5に記憶されている参照テーブル情報を読み出し、コンテキストを次にLPSが発生した状態に更新する処理を行う(ステップS33)。
Since the internal state
一括復号処理管理部2は、内部状態情報記憶部3から現在の領域幅を読み出し、現在の領域幅が正規化判定値を下回っている間、1ビット正規化の処理を繰り返す(ステップS34)。
The batch decoding
なお、ステップS31において、上記の条件を満たさない場合は、ステップS29の処理へ移行する。 In step S31, when the above condition is not satisfied, the process proceeds to step S29.
このように処理を行うことで、「MPSがnビット連続」し、「nビット復号後に正規化が発生しない」場合と、「MPSがnビット連続」するが、「nビット復号後に正規化が発生する」場合と、「MPSがn−1ビット連続し、次にLPSが発生する」が、「n−1ビット復号後に正規化が発生しない」場合のそれぞれに対し、一括復号処理を行うことができる。そのため、一括復号を行う頻度が高くなるため、復号処理を高速に行うことができる。 By performing the processing in this way, “MPS is n bits continuous” and “normalization does not occur after n bits decoding” and “MPS is n bits continuous”, but “normalization is not performed after n bits decoding” Perform batch decoding for each of the cases where "occurs" and "MPS continues for n-1 bits and then LPS occurs" but "normalization does not occur after n-1 bits decoding" Can do. As a result, the frequency of batch decoding is increased, so that the decoding process can be performed at high speed.
図8に示すように、初期状態(p)〜nビット(t)までの領域幅において、nビット先読み後の領域幅(t)がデータ系列以下であり、かつ、n−1ビット先読み後の領域幅(s)がデータ系列より大きく、かつ、n−1ビット先読み後の領域幅(t)が正規化判定値以上である場合は、「MPSがn−1ビット連続し、次にLPSが発生する」、かつ、「n−1ビット復号後に正規化が発生しない」場合であり、それ以外のときは、n−1ビット復号する間に正規化が発生する場合である。 As shown in FIG. 8, in the area width from the initial state (p) to n bits (t), the area width (t) after n-bit prefetching is equal to or smaller than the data series, and after n-1 bit prefetching If the area width (s) is larger than the data series and the area width (t) after n−1 bit prefetching is greater than or equal to the normalization judgment value, “MPS is n−1 bits continuous, then LPS is Occurs, and “normalization does not occur after n−1 bit decoding”, and in other cases, normalization occurs during n−1 bit decoding.
なお、途中で正規化が発生する場合は、一括復号処理が煩雑になるため、初期状態に戻した上で最初から1ビット毎の逐次復号処理を行うこととする。 If normalization occurs in the middle, the batch decoding process becomes complicated, so that the initial decoding is performed and then the sequential decoding process for each bit is performed from the beginning.
以上、本発明によれば、コンテキストの切り替えが発生した場合に対しても、一括復号を行うことが可能となる。そのため、複数ビットを一括に復号する頻度が高まるため、復号処理を高速化することができる。 As described above, according to the present invention, it is possible to perform batch decoding even when context switching occurs. As a result, the frequency of decoding a plurality of bits at a time increases, and the decoding process can be speeded up.
また、nビットの一括復号を行う際に正規化が発生した場合、正規化がnビット復号した直後に発生したものかそうでないかを判定することにより、複数ビットを一括に復号する頻度が高まり、復号処理を高速化することができる。 Also, if normalization occurs when performing n-bit batch decoding, the frequency of decoding multiple bits at once increases by determining whether normalization occurred immediately after n-bit decoding or not. The decoding process can be speeded up.
1 算術復号化装置
2 一括復号処理管理部
3 内部状態情報記憶部
4 初期内部状態情報退避部
5 参照テーブル記憶部
6 複数ビット一括復号部
7 1ビット復号部
101 算術復号化装置
102 制御部
103 算術復号化部
104 内部状態情報記憶部
105 参照テーブル記憶部
DESCRIPTION OF
Claims (2)
前記内部状態情報、および最初のビットからnビット目までの優勢シンボルのビット列である優勢シンボル列を記憶する内部状態情報記憶手段と、
前記復号要求がされた際の、前記内部状態情報記憶手段に記憶されている前記内部状態情報を記憶する初期内部状態情報退避手段と、
前記内部状態情報の更新に必要なテーブル情報を記憶する参照テーブル記憶手段と、
優勢シンボル列を基に、nビット連続の優勢シンボルからなる前記復号化データを生成、出力、または、n−1ビット連続の優勢シンボルの後に1ビットの劣勢シンボルからなる前記復号化データを生成、出力する複数ビット一括復号手段と、
前記初期内部状態情報退避手段に記録しておいた初期の内部状態情報を前記内部状態情報記憶手段に送り、前記内部状態情報記憶手段に記憶された当該初期の内部状態情報を用いて、1ビット毎の算術復号処理を行い、前記復号化データを生成、出力する1ビット復号手段と、
一括復号処理が可能であるかどうかを、前記内部状態情報記憶手段より読み出した前記現在の領域幅、前記一つ前の領域幅、および前記復号化すべきデータ系列を元に判定し、一括復号が可能である場合には、前記複数ビット一括復号手段に対して、前記復号要求、一括復号の方法を示すためのフラグ値、一括復号ビット数n、および前記優勢シンボル列を供給する一括復号処理管理手段と、
を備えることを特徴とする算術復号化装置。 Arithmetic decoding that performs arithmetic decoding and outputs decoded data when a decoding request is supplied together with internal state information including at least the current region width, the previous region width, the data sequence to be decoded, and the context A device,
Internal state information storage means for storing the internal state information and a dominant symbol string which is a bit string of a dominant symbol from the first bit to the nth bit;
Initial internal state information saving means for storing the internal state information stored in the internal state information storage means when the decryption request is made;
Reference table storage means for storing table information necessary for updating the internal state information;
Based on the dominant symbol string, the decoded data consisting of n-bit consecutive dominant symbols is generated, output, or the decoded data consisting of 1-bit inferior symbols after the n-1 bit consecutive dominant symbols are generated, Multi-bit batch decoding means for outputting;
The initial internal state information recorded in the initial internal state information saving unit is sent to the internal state information storage unit, and the initial internal state information stored in the internal state information storage unit is used to set 1 bit. 1-bit decoding means for performing arithmetic decoding processing for each and generating and outputting the decoded data;
Whether batch decoding is possible is determined based on the current area width read from the internal state information storage means, the previous area width, and the data series to be decoded. If possible, batch decoding processing management for supplying the decoding request, a flag value for indicating a batch decoding method, a batch decoding bit number n, and the dominant symbol string to the multi-bit batch decoding means Means,
An arithmetic decoding device comprising:
前記コンピュータを、
前記内部状態情報、および最初のビットからnビット目までの優勢シンボルのビット列である優勢シンボル列を記憶する内部状態情報記憶手段と、
前記復号要求がされた際の、前記内部状態情報記憶手段に記憶されている前記内部状態情報を記憶する初期内部状態情報退避手段と、
前記内部状態情報の更新に必要なテーブル情報を記憶する参照テーブル記憶手段と、
優勢シンボル列を基に、nビット連続の優勢シンボルからなる前記復号化データを生成、出力、または、n−1ビット連続の優勢シンボルの後に1ビットの劣勢シンボルからなる前記復号化データを生成、出力する複数ビット一括復号手段と、
前記初期内部状態情報退避手段に記録しておいた初期の内部状態情報を前記内部状態情報記憶手段に送り、前記内部状態情報記憶手段に記憶された当該初期の内部状態情報を用いて、1ビット毎の算術復号処理を行い、前記復号化データを生成、出力する1ビット復号手段と、
一括復号処理が可能であるかどうかを、前記内部状態情報記憶手段より読み出した前記現在の領域幅、前記一つ前の領域幅、および前記復号化すべきデータ系列を元に判定し、一括復号が可能である場合には、前記複数ビット一括復号手段に対して、前記復号要求、一括復号の方法を示すためのフラグ値、一括復号ビット数n、および前記優勢シンボル列を供給する一括復号処理管理手段と、
して機能させることを特徴とする算術復号化プログラム。 Arithmetic decoding that performs arithmetic decoding and outputs decoded data when a decoding request is supplied together with internal state information including at least the current region width, the previous region width, the data sequence to be decoded, and the context An arithmetic decoding program for causing a computer to function as a device,
The computer,
Internal state information storage means for storing the internal state information and a dominant symbol string which is a bit string of a dominant symbol from the first bit to the nth bit;
Initial internal state information saving means for storing the internal state information stored in the internal state information storage means when the decryption request is made;
Reference table storage means for storing table information necessary for updating the internal state information;
Based on the dominant symbol string, the decoded data consisting of n-bit consecutive dominant symbols is generated, output, or the decoded data consisting of 1-bit inferior symbols after the n-1 bit consecutive dominant symbols are generated, Multi-bit batch decoding means for outputting;
The initial internal state information recorded in the initial internal state information saving unit is sent to the internal state information storage unit, and the initial internal state information stored in the internal state information storage unit is used to set 1 bit. 1-bit decoding means for performing arithmetic decoding processing for each and generating and outputting the decoded data;
Whether batch decoding is possible is determined based on the current area width read from the internal state information storage means, the previous area width, and the data series to be decoded. If possible, batch decoding processing management for supplying the decoding request, a flag value for indicating a batch decoding method, a batch decoding bit number n, and the dominant symbol string to the multi-bit batch decoding means Means,
An arithmetic decoding program characterized by being made to function.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004023325A JP2005217871A (en) | 2004-01-30 | 2004-01-30 | Arithmetic decoding apparatus and arithmetic decoding program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004023325A JP2005217871A (en) | 2004-01-30 | 2004-01-30 | Arithmetic decoding apparatus and arithmetic decoding program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005217871A true JP2005217871A (en) | 2005-08-11 |
Family
ID=34906391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004023325A Pending JP2005217871A (en) | 2004-01-30 | 2004-01-30 | Arithmetic decoding apparatus and arithmetic decoding program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005217871A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007129508A1 (en) | 2006-05-02 | 2007-11-15 | Sony Corporation | Dynamic image processing method, program for the dynamic image processing method, recording medium containing the program for the dynamic image processing method, dynamic image processing device |
JP2009207029A (en) * | 2008-02-29 | 2009-09-10 | Sony Corp | Arithmetic decoding apparatus |
JP2009268031A (en) * | 2008-04-30 | 2009-11-12 | Sony Corp | Arithmetic decoding apparatus |
JP2013090189A (en) * | 2011-10-19 | 2013-05-13 | Fujitsu Ltd | Decoding apparatus, decoding method and decoding program |
US11257399B2 (en) | 2016-12-12 | 2022-02-22 | Nec Corporation | Decoding apparatus, decoding method, and program |
-
2004
- 2004-01-30 JP JP2004023325A patent/JP2005217871A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007129508A1 (en) | 2006-05-02 | 2007-11-15 | Sony Corporation | Dynamic image processing method, program for the dynamic image processing method, recording medium containing the program for the dynamic image processing method, dynamic image processing device |
JP2009207029A (en) * | 2008-02-29 | 2009-09-10 | Sony Corp | Arithmetic decoding apparatus |
JP2009268031A (en) * | 2008-04-30 | 2009-11-12 | Sony Corp | Arithmetic decoding apparatus |
JP2013090189A (en) * | 2011-10-19 | 2013-05-13 | Fujitsu Ltd | Decoding apparatus, decoding method and decoding program |
US11257399B2 (en) | 2016-12-12 | 2022-02-22 | Nec Corporation | Decoding apparatus, decoding method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5221047B2 (en) | CABAC encoding method and apparatus using improved context model selection for improved compression ratio, and CABAC decoding method and apparatus | |
JP3017379B2 (en) | Encoding method, encoding device, decoding method, decoder, data compression device, and transition machine generation method | |
Duda | Asymmetric numeral systems: entropy coding combining speed of Huffman coding with compression rate of arithmetic coding | |
KR100894002B1 (en) | Device and data method for selective compression and decompression and data format for compressed data | |
US5912636A (en) | Apparatus and method for performing m-ary finite state machine entropy coding | |
US6677869B2 (en) | Arithmetic coding apparatus and image processing apparatus | |
KR100717055B1 (en) | Method of decoding bin values using pipeline architecture, and decoding apparatus therefor | |
US7894532B2 (en) | Variable-length encoding apparatus and method | |
US20100085224A1 (en) | Adaptive combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems | |
JP4785706B2 (en) | Decoding device and decoding method | |
JP2008067361A (en) | Encoding apparatus, decoding apparatus, encoding method, and program | |
JP5656593B2 (en) | Apparatus and method for decoding encoded data | |
JP6159240B2 (en) | Binary arithmetic encoding device, binary arithmetic encoding method, and binary arithmetic encoding program | |
TWI538416B (en) | Methods for arithmetic coding and decoding, arithmetic coder and arithmetic decoder | |
JP2005217871A (en) | Arithmetic decoding apparatus and arithmetic decoding program | |
JP3929312B2 (en) | Arithmetic coding apparatus and image processing apparatus | |
JP2008311803A (en) | Arithmetic decoding method, arithmetic decoding device and arithmetic decoding program | |
JP2008098751A (en) | Arithmetic encoding device and arithmetic decoding device | |
JP2007074648A (en) | Cabac decoding apparatus | |
KR100207428B1 (en) | Variable length coding apparatus and method adaptive to changes of the hoffman codes | |
TW202418807A (en) | Noniterative entropy coding | |
JP4694462B2 (en) | Encoding apparatus, encoding method, program, and recording medium thereof | |
JP6280266B2 (en) | Decoding device and decoding method | |
TW202218431A (en) | Arithmetic encoder for arithmetically encoding and arithmetic decoder for arithmetically decoding a sequence of information values, methods for arithmetically encoding and decoding a sequence of information values and computer program for implementing these methods | |
JP5857978B2 (en) | Encoding device, decoding device, encoding / decoding system, and program |