JP4607638B2 - Variable length decoding apparatus and method - Google Patents
Variable length decoding apparatus and method Download PDFInfo
- Publication number
- JP4607638B2 JP4607638B2 JP2005095036A JP2005095036A JP4607638B2 JP 4607638 B2 JP4607638 B2 JP 4607638B2 JP 2005095036 A JP2005095036 A JP 2005095036A JP 2005095036 A JP2005095036 A JP 2005095036A JP 4607638 B2 JP4607638 B2 JP 4607638B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- zero
- storage unit
- variable length
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
本発明は、可変長符号化された符号データを復号する可変長復号装置に関するものである。 The present invention relates to a variable-length decoding device that decodes variable-length encoded code data.
動画像データを圧縮伸長する方式として、MPEG2、MPEG4等の国際規格(非特許文献1)が知られている。近年、動画像をあつかうディジタル家電製品の中には、これら国際規格に準拠したLSIやソフトウエアコアが必ず実装されている。 As a method for compressing and expanding moving image data, international standards (Non-Patent Document 1) such as MPEG2 and MPEG4 are known. In recent years, LSIs and software cores conforming to these international standards are always mounted in digital home appliances that handle moving images.
これらの国際標準によれば、動画像データは8×8画素のブロックまたは16×16画素のマクロブロックに分割されており、ブロック単位またはマクロブロック単位でデータ処理が実行される。 According to these international standards, moving image data is divided into 8 × 8 pixel blocks or 16 × 16 pixel macroblocks, and data processing is executed in units of blocks or macroblocks.
MPEG2、MPEG4等の動画像データを圧縮するための符号化器は、主に、離散コサイン変換器(DCT)と、量子化器(Q)と、可変長符号化器(VLC)とから構成される。入力された画素データは、まず離散コサイン変換器によって、空間領域データから周波数領域データに変換される。画素データが自然画像からなる時、周波数領域データに変換すると、低周波領域にデータが集中する。次に量子化器で、離散コサイン変換器で得られた周波数領域データのうち高周波成分の係数を値「0」にするために、粗く量子化する。そうすると周波数データは、非ゼロの値が低周波成分のデータに集中し、高周波成分のデータは全て値「0」に変換される。可変長符号化器では、低周波成分から高周波成分にデータが構成されるように、つまり、高周波成分の値「0」が連なりやすいように、ジグザグにスキャンをしながら、非ゼロとゼロのデータセットを生成する。このデータセットをハフマンコードのテーブルを用いて可変長符号化し、可変長符号化データを得る。 An encoder for compressing moving image data such as MPEG2 and MPEG4 mainly comprises a discrete cosine transformer (DCT), a quantizer (Q), and a variable length encoder (VLC). The The input pixel data is first converted from spatial domain data to frequency domain data by a discrete cosine transformer. When the pixel data is a natural image, if the pixel data is converted into frequency domain data, the data concentrates in the low frequency domain. Next, in the quantizer, the frequency domain data obtained by the discrete cosine transformer is coarsely quantized in order to set the coefficient of the high frequency component to the value “0”. Then, the non-zero values of the frequency data are concentrated on the low frequency component data, and all the high frequency component data is converted to the value “0”. In variable length encoder, non-zero and zero data are scanned while zigzag so that data is composed from low frequency component to high frequency component, that is, high frequency component value “0” is easily connected. Generate a set. This data set is variable-length encoded using a Huffman code table to obtain variable-length encoded data.
上述した可変長符号化データが記録媒体あるいはネットワークを通じて提供される。可変長符号化データを復号して、動画像データを復元するための復号器は、一般に、可変長復号器(VLD)、逆量子化器(IQ)、逆離散コサイン変換器(IDCT)から構成される。 The variable length encoded data described above is provided through a recording medium or a network. A decoder for decoding variable length encoded data and restoring moving image data generally comprises a variable length decoder (VLD), an inverse quantizer (IQ), and an inverse discrete cosine transformer (IDCT). Is done.
図15は、従来の画像復号装置のブロック図である。図15に示す従来の画像復号装置は、符号化データメモリ1、アドレス生成器2aを有する可変長復号器(VLD)2、係数データメモリ3、逆量子化器(IQ)4、及び、逆DCT器(IDCT)5を備える。符号化データメモリ1は、動画像データが可変長符号化された可変長符号化データを格納する。係数データメモリ3は、可変長復号器2によって変換された係数データ(すなわち、量子化データ)であるランレングス値を格納する。
FIG. 15 is a block diagram of a conventional image decoding apparatus. The conventional image decoding apparatus shown in FIG. 15 includes an encoded
図15に示す従来の画像復号装置の動作の概要を以下に説明する。 The outline of the operation of the conventional image decoding apparatus shown in FIG. 15 will be described below.
可変長復号器2に符号化データメモリ1から可変長符号化データが供給されると、可変長復号器2は、まず、係数データメモリ3の初期化を行う。すなわち、この初期化処理として、可変長復号器2は、係数データメモリ3の全アドレスに対して値「0」を書き込むことによって、クリア処理を行う。
When variable length encoded data is supplied from the encoded
画像復号装置における画像データの処理は、マクロブロック単位で行われるのが一般的である。例えば、画素データの構成比がY:Cb:Cr=4:2:0であるとすると、1マクロブロックは、Y:16×16画素、Cb:8×8画素、Cr:8×8画素の計384画素で構成されるので、1マクロブロックの初期化に384シンボル分の初期化が必要となる。(1画素は、通常、8ビットからなる1シンボルの画素値を持つ。)1画素当たりに1サイクルの初期化処理が必要とすると、1マクロブロックの初期化処理に384サイクルが必要となる。 In general, image data processing in the image decoding apparatus is performed in units of macroblocks. For example, assuming that the composition ratio of pixel data is Y: Cb: Cr = 4: 2: 0, one macroblock has Y: 16 × 16 pixels, Cb: 8 × 8 pixels, and Cr: 8 × 8 pixels. Since it is composed of a total of 384 pixels, it is necessary to initialize 384 symbols to initialize one macroblock. (One pixel usually has a pixel value of one symbol consisting of 8 bits.) If one cycle of initialization processing is required per pixel, 384 cycles are required for initialization processing of one macroblock.
初期化処理が終了すると、可変長復号器2は、符号化データメモリ1からの可変長符号化データ(ビット列)を、別に用意されている可変長復号テーブルと照合して、量子化データに復号し、そのうちの非ゼロの量子化データのみを、係数データメモリ3に書き込む。非ゼロの量子化データが書き込まれる係数データメモリ3のアドレスは、アドレス生成器2aによって生成される。
When the initialization process is completed, the
このようにして、1マクロブロックの復号処理が終了すると、次のマクロブロックの復号処理を行う。この時、図15に示す従来の画像復号装置では、新しいマクロブロックの復号処理を行うために、係数データメモリ3の初期化が必要である。この初期化は、毎マクロブロックの復号処理ごとに必要であるため、復号処理に要する時間における初期化処理に要する時間の割合が大きい。
In this way, when the decoding process for one macroblock is completed, the decoding process for the next macroblock is performed. At this time, in the conventional image decoding apparatus shown in FIG. 15, the
図15に示した従来の画像復号装置では、最終的な係数データ(量子化データ)を格納するまでに要する復号処理サイクル数は、
(復号処理サイクル)=(初期化処理の最低384サイクル)+
(非ゼロのシンボル数)*(VLDでのシンボル当たりの復号処理サイクル数)
となる。ここに、1シンボル数は、量子化データの1データに相当する。
In the conventional image decoding apparatus shown in FIG. 15, the number of decoding processing cycles required until the final coefficient data (quantized data) is stored is
(Decoding processing cycle) = (Minimum 384 cycles of initialization processing) +
(Number of non-zero symbols) * (Number of decoding processing cycles per symbol in VLD)
It becomes. Here, the number of one symbol corresponds to one data of quantized data.
バッテリーで動作するような携帯機器に搭載される画像復号装置では、動作周波数は低いことが望ましいので、前記復号処理サイクルもなるべく少ないことが望ましい。しかし、近年、画面サイズや動画像処理フレーム数の増大により、復号処理サイクル数は、増加傾向にあり、初期化処理に要するサイクル数もなるべく小さくする必要がある。さらに、毎マクロブロックの復号処理で、必ず係数データメモリ3の初期化処理のためのアクセスが、384サイクルあるために、消費電力も増大してしまう。なるべく係数データメモリ3へのアクセス回数を低減する必要がある。
In an image decoding apparatus mounted on a portable device that operates on a battery, it is desirable that the operating frequency is low, and therefore it is desirable that the number of decoding processing cycles be as small as possible. However, in recent years, the number of decoding processing cycles has been increasing due to an increase in the screen size and the number of moving image processing frames, and the number of cycles required for initialization processing needs to be as small as possible. Furthermore, since there are 384 cycles of access for the initialization process of the
図16は、図1の従来画像復号装置における、初期化処理に要する時間の影響を軽減するように改良したものである。すなわち、図16は、従来の改良型画像復号装置のブロック図である。図16において、 図15と同様な構成要素については、同一の符号を付すことにより、説明を省略する。 FIG. 16 shows an improvement in the conventional image decoding apparatus of FIG. 1 so as to reduce the influence of the time required for the initialization process. That is, FIG. 16 is a block diagram of a conventional improved image decoding apparatus. In FIG. 16, the same components as those in FIG. 15 are denoted by the same reference numerals, and the description thereof is omitted.
図16に示すように、従来の改良型画像復号装置は、並列に設置された係数データメモリ3aと係数データメモリ3b、及び、これらを交互に切り替える切替え器6を備えている。
As shown in FIG. 16, the conventional improved image decoding apparatus includes a
図16に示す従来の改良型画像復号装置では、可変長復号器2に符号化データメモリ1から可変長符号化データが供給されると、可変長復号器2は、まず、係数データメモリ3aの初期化を行う。初期化が終了すると、可変長復号器2は、切替え器6の選択を切り替えて、係数データメモリ3bの初期化を行う。同時に、可変長復号器2は、符号化データメモリ1からの可変長符号化データ(ビットストリーム)を、別に用意されている可変長復号テーブルと照合して、量子化データを復号し、そのうちの非ゼロの量子化データのみを、係数データメモリ3aに書き込む。
In the conventional improved image decoding apparatus shown in FIG. 16, when variable length encoded data is supplied from the encoded
このように、並列に設置された2つの係数データメモリ3a、3bを交互に切り替え、初期化の処理と、復号とデータ書込みの処理とを並列に実行することによって、初期化処理に要する時間の影響を軽減している。
As described above, the two
図16に示す従来の改良型画像復号装置では、最終的な係数データ(量子化データ)を格納するまでに要する復号処理サイクル数は、
(初期化処理の最低384サイクル)と、
(非ゼロのシンボル数)*(VLDでのシンボル当たりの復号処理サイクル数)のうち、いずれか大きい方のサイクル数となる。しかし、図16に示す従来の改良型画像復号装置では、2つの係数データメモリ3a、3bを設置しなければならないので、回路面積の増大は避けられない。
(Minimum 384 cycles of initialization)
Of (the number of non-zero symbols) * (the number of decoding processing cycles per symbol in the VLD), the larger number of cycles. However, in the conventional improved image decoding apparatus shown in FIG. 16, since the two
そこで本発明は、少ないハードウェア資源で可変長符号化データの復号を高効率に実現でき、かつ、消費電力の低い可変長復号装置を提供することを目的とする。 Therefore, an object of the present invention is to provide a variable length decoding device that can realize decoding of variable length encoded data with low hardware resources with high efficiency and low power consumption.
第1の発明に係る可変長復号装置は、可変長符号化された符号化データを復号する可変長復号装置であって、符号化データを量子化データに変換する可変長復号部と、量子化データを格納する記憶ユニットとを備え、可変長復号部は、変換した量子化データのうちの非ゼロの量子化データのみを、記憶ユニットに格納する。 A variable length decoding device according to a first aspect of the present invention is a variable length decoding device that decodes encoded data that has been subjected to variable length encoding, a variable length decoding unit that converts encoded data into quantized data, and quantization The variable length decoding unit stores only non-zero quantized data of the converted quantized data in the storage unit.
この構成によれば、可変長復号部は、変換した量子化データのうちの非ゼロの量子化データのみを、記憶ユニットに格納すればよいので、復号処理の時間を短縮できる。また、本構成の可変長復号装置は、初期化機能つき記憶ユニットまたは非ゼロデータ表示フラグメモリを付加して、さらに機能の拡充を図れるので、発展性がある。 According to this configuration, the variable length decoding unit only needs to store non-zero quantized data in the converted quantized data in the storage unit, so that the time for decoding processing can be shortened. In addition, the variable length decoding device of the present configuration has expandability because a storage unit with an initialization function or a non-zero data display flag memory can be added to further expand the functions.
第2の発明に係る可変長復号装置では、記憶ユニットは、記憶ユニットの全領域を初期化する初期化機構を有し、可変長復号部は、初期化機構が記憶ユニットの全領域をゼロ(「0」)に初期化した後に、変換した量子化データのうちの非ゼロの量子化データのみを、記憶ユニットに格納する。 In the variable length decoding device according to the second invention, the storage unit has an initialization mechanism for initializing the entire area of the storage unit, and the variable length decoding unit is configured such that the initialization mechanism reduces the entire area of the storage unit to zero ( After initialization to “0”), only non-zero quantized data of the converted quantized data is stored in the storage unit.
この構成によれば、マクロブロックの復号ごとに必要な記憶ユニットの初期化を、初期化機構を利用して、1サイクルで処理できるので、記憶ユニットの初期化に必要な時間を大幅に短縮できる。 According to this configuration, since the initialization of the storage unit required for each decoding of the macroblock can be processed in one cycle using the initialization mechanism, the time required for the initialization of the storage unit can be greatly shortened. .
第3の発明に係る可変長復号装置では、可変長復号部は、制御部と復号部とアドレス生成部とを有し、制御部は、初期化機構に制御信号を発し、初期化機構は、制御信号を受信すると、記憶ユニットの全領域をゼロ(「0」)に初期化し、復号部は、符号化データを変換して中間データを生成し、生成した中間データから量子化データを生成し、アドレス生成部は、中間データを基に、非ゼロの量子化データを格納する記憶ユニットのアドレスを生成し、復号部は、制御部が記憶ユニットの全領域をゼロ(「0」)に初期化した後に、アドレス生成部が生成した記憶ユニットのアドレスに、非ゼロの量子化データを格納する。 In the variable length decoding device according to the third invention, the variable length decoding unit includes a control unit, a decoding unit, and an address generation unit, the control unit issues a control signal to the initialization mechanism, and the initialization mechanism includes: When the control signal is received, the entire area of the storage unit is initialized to zero (“0”), and the decoding unit converts the encoded data to generate intermediate data, and generates quantized data from the generated intermediate data. The address generation unit generates the address of the storage unit that stores the non-zero quantized data based on the intermediate data, and the decoding unit initially sets the entire area of the storage unit to zero (“0”). Then, the non-zero quantized data is stored in the address of the storage unit generated by the address generation unit.
この構成によれば、制御部が発する制御信号をトリガーとして、記憶ユニットを初期化し、その後に、復号部は、符号化データを変換した量子化データの内、非ゼロの量子化データを格納するので、正確な順序で復号処理を行うことが出来る。また、記憶ユニットの初期化に必要な処理サイクルが少なくてすみ、復号の高速化が可能となる。 According to this configuration, the storage unit is initialized using a control signal generated by the control unit as a trigger, and then the decoding unit stores non-zero quantized data among the quantized data obtained by converting the encoded data. Therefore, the decoding process can be performed in the correct order. In addition, the number of processing cycles required for initializing the storage unit is reduced, and the decoding speed can be increased.
第4の発明に係る可変長復号装置では、逆量子化部と逆DCT部とをさらに備え、逆量子化部は、記憶ユニットから読み出した量子化データを基に、DCTデータを生成し、逆DCT部は、DCTデータを基に、復号データを生成する。 The variable length decoding device according to a fourth aspect of the present invention further includes an inverse quantization unit and an inverse DCT unit, the inverse quantization unit generates DCT data based on the quantized data read from the storage unit, and performs inverse processing. The DCT unit generates decoded data based on the DCT data.
この構成によれば、マクロブロックの復号ごとの記憶ユニットの初期化に必要な時間が短いので、高速処理可能な可変長復号装置を実現できる。 According to this configuration, since the time required for initialization of the storage unit for each macroblock decoding is short, a variable-length decoding device capable of high-speed processing can be realized.
第5の発明に係る可変長復号装置では、記憶ユニットの各アドレスに対応して、量子化データがゼロまたは非ゼロであることを示すフラグを格納するフラグレジスタをさらに備え、可変長復号部は、フラグレジスタの全アドレスに、ゼロ(「0」)を示すフラグを設定して、フラグレジスタを初期化した後に、変換した量子化データのうちの非ゼロの量子化データのみを記憶ユニットに格納し、フラグレジスタの対応するアドレスに、非ゼロを示すフラグを設定する。 In the variable length decoding device according to the fifth aspect of the present invention, the variable length decoding unit further includes a flag register that stores a flag indicating that the quantized data is zero or non-zero, corresponding to each address of the storage unit. After setting the flag indicating zero (“0”) to all addresses of the flag register and initializing the flag register, only non-zero quantized data of the converted quantized data is stored in the storage unit. Then, a flag indicating non-zero is set at the corresponding address of the flag register.
この構成によれば、記憶ユニット上のゼロの量子化データのアドレスは、フラグレジスタのフラグを調べて知ることが出来るので、記憶ユニットには、変換した量子化データのうちの非ゼロの量子化データのみを格納し、ゼロの量子化データを格納する必要がない。また、記憶ユニットの初期化が必要ないために、記憶ユニットには通常のメモリまたはレジスタを利用出来るという利点がある。 According to this configuration, since the address of the zero quantized data on the storage unit can be known by examining the flag in the flag register, the storage unit has a non-zero quantized quantized data. Only the data is stored and there is no need to store zero quantized data. Further, since initialization of the storage unit is not necessary, there is an advantage that a normal memory or register can be used for the storage unit.
第6の発明に係る可変長復号装置では、可変長復号部は、制御部と復号部とアドレス生成部とを有し、制御部は、フラグレジスタに制御信号を発して、フラグレジスタの全アドレスに、ゼロ(「0」)を示すフラグを設定してフラグレジスタを初期化し、復号部は、符号化データを変換して中間データを生成し、生成した中間データから量子化データを生成し、アドレス生成部は、中間データを基に、非ゼロの量子化データを格納する記憶ユニットのアドレスを生成し、復号部は、制御部がフラグレジスタを初期化した後に、アドレス生成部が生成した記憶ユニットのアドレスに、非ゼロの量子化データを格納し、フラグレジスタの対応するアドレスに、非ゼロを示すフラグを設定する。 In the variable length decoding device according to the sixth aspect of the present invention, the variable length decoding unit has a control unit, a decoding unit, and an address generation unit, and the control unit issues a control signal to the flag register, and all addresses of the flag register In addition, a flag indicating zero (“0”) is set to initialize the flag register, and the decoding unit converts the encoded data to generate intermediate data, generates quantized data from the generated intermediate data, The address generation unit generates an address of a storage unit that stores non-zero quantized data based on the intermediate data, and the decoding unit stores the memory generated by the address generation unit after the control unit initializes the flag register. Non-zero quantized data is stored at the unit address, and a flag indicating non-zero is set at the corresponding address of the flag register.
この構成によれば、制御部が発する制御信号をトリガーとして、フラグレジスタを初期化し、その後に、復号部は、符号化データを変換した量子化データの内、非ゼロの量子化データを格納すると同時に、フラグレジスタの対応するアドレスに非ゼロのフラグを設定する。こうすることにより、記憶ユニット上のゼロの量子化データのアドレスは、フラグレジスタのフラグを調べて知ることが出来る。また、記憶ユニットの初期化は必要なく、記憶ユニットには通常のメモリを利用出来る。 According to this configuration, the flag register is initialized using a control signal generated by the control unit as a trigger, and then the decoding unit stores non-zero quantized data among the quantized data obtained by converting the encoded data. At the same time, a non-zero flag is set in the corresponding address of the flag register. By doing so, the address of the zero quantized data on the storage unit can be known by examining the flag in the flag register. Further, there is no need to initialize the storage unit, and a normal memory can be used for the storage unit.
第7の発明に係る可変長復号装置では、逆量子化部をさらに備え、逆量子化部は、フラグレジスタのフラグが非ゼロであることを示す場合は、記憶ユニットの対応するアドレスから量子化データを読み込み、フラグレジスタのフラグがゼロ(「0」)であることを示す場合は、値「0」を取り込み、DCT係数を生成する。 The variable length decoding device according to a seventh aspect of the present invention further includes an inverse quantization unit, and the inverse quantization unit quantizes from a corresponding address of the storage unit when the flag register indicates that the flag is non-zero. When data is read and the flag in the flag register indicates zero (“0”), the value “0” is taken in and a DCT coefficient is generated.
この構成によれば、量子化部は、ゼロの量子化データが格納されるはずのアドレスには、アクセスしないので、記憶ユニットの初期化を行わなくても良い。したがって、記憶ユニットの初期化に必要な処理サイクルを節約できる。 According to this configuration, the quantization unit does not access the address where the zero quantized data is to be stored, and therefore the storage unit need not be initialized. Therefore, it is possible to save the processing cycle necessary for initializing the storage unit.
第8の発明に係る可変長復号装置では、逆DCT部をさらに備え、逆DCT部は、逆量子化部が生成したDCT係数を基に、復号データを生成する。 The variable length decoding device according to an eighth aspect of the present invention further includes an inverse DCT unit, and the inverse DCT unit generates decoded data based on the DCT coefficient generated by the inverse quantization unit.
この構成によれば、通常の可変長復号装置にフラグレジスタを設定することにより、可変長符号化データを復号する高効率の可変長復号装置を実現できる。 According to this configuration, a highly efficient variable-length decoding device that decodes variable-length encoded data can be realized by setting a flag register in a normal variable-length decoding device.
本発明によれば、少ないハードウェア資源で可変長符号化データの復号を高効率に実現でき、かつ、消費電力の低い可変長復号装置を提供することができる。 According to the present invention, it is possible to provide a variable-length decoding device that can realize decoding of variable-length encoded data with low hardware resources with high efficiency and low power consumption.
以下図面を参照しながら、本発明の実施の形態を説明する。 Embodiments of the present invention will be described below with reference to the drawings.
(実施の形態1)
図1は、本発明の実施の形態1における可変長復号装置100のブロック図である。本形態の可変長復号装置100は、符号化データを格納する第1記憶ユニット10、可変長復号ユニット(VLD)20、係数データを格納する第2記憶ユニット30、逆量子化ユニット(IQ)40、及び、逆DCTユニット(IDCT)50を備える。
(Embodiment 1)
FIG. 1 is a block diagram of a variable-
可変長復号ユニット20は、制御部21、復号部22、及び、アドレス生成部23を有する。
The variable
第2記憶ユニット30は、初期化機構を有していて、リセット端子31に入力される制御信号によって、第2記憶ユニット30の全アドレスを一斉に初期化することが出来る。以下の説明では、簡単のために、第2記憶ユニット30は、(4×4)の二次元配列をしているものと仮定する。
The
図3は、本発明の実施の形態1における可変長復号装置100のフローチャートである。図3に示すフローチャートに従って、図1に示す本形態の可変長復号装置100の動作を説明する。
FIG. 3 is a flowchart of variable
第1記憶ユニット10には、図6に示す符号化データがヘッダとともに格納されているものとする。すなわち、図6は、本発明の実施の形態1における第1記憶ユニット10のデータ格納状態図である。第1記憶ユニット10のアドレス(0x0000)とアドレス(0x0001)には、ヘッダの値がそれぞれ格納されており、アドレス(0x0002)以降には、符号化データが格納されている。
Assume that the
ステップS10において復号処理が開始されると、可変長復号ユニット20が起動される。
When the decoding process is started in step S10, the variable
ステップS11において、復号部22は、第1記憶ユニット10のアドレス(0x0000)とアドレス(0x0001)から、ヘッダの値(0xC000)(16進表記、以下同様)と値(0xC1B3)を読み出し、ヘッダ処理を行う。そして、制御部21は、第2記憶ユニット30を初期化するための制御信号であるリセット信号を第2記憶ユニット30のリセット端子31に出力する。
In step S11, the
ステップS12において、第2記憶ユニット30は、リセット端子31にリセット信号を受け取ると、第2記憶ユニット30の全アドレスのデータを値「0」にリセットして、初期化を行う。初期化が完了すると、第2記憶ユニット30の(4×4)の配列要素は、図7に示すように、すべてのアドレスが、値「0」に置き換わる。すなわち、図7は、本発明の実施の形態1における第2記憶ユニット30の初期化後の状態図である。初期化が終了すると、可変長復号ユニット20は復号処理の状態に移る。
In step S <b> 12, when the
ステップS13において、復号部22は、第1記憶ユニット10から符号化データを読み出す。復号部22は、先ず、第1記憶ユニット10のアドレス(0x0002)から、データ(0xBCA5)を、アドレス(0x0003)から、データ(0xDFFF)を読み出す。これらの16進表示のデータを2進表示のビット列で表すと次のようになる。
(0xBCA5)=(1011110010100101)
(0xDFFF)=(1101111111111111)
読み出したビット列は、ヘッダに含まれている、ビット列の区切り表す情報により、複数の符号データ列に区切られる。図8は、本発明の実施の形態1における第1記憶ユニット10から読み出したビット列の例示図である。図8に示すように、読み出したビット列は、ヘッダに続く符号データ列(101)、符号データ列(1110)、符号データ列(0101001)、符号データ列(01110)に区切られる。
In step S <b> 13, the
(0xBCA5) = (1011110010100101)
(0xDFFF) = (11011111111111111)
The read bit string is divided into a plurality of code data strings based on information representing the bit string delimiter included in the header. FIG. 8 is an exemplary diagram of a bit string read from the
図3に戻って、ステップS14において、復号部22は、読み出した符号列を、別に用意されている可変長復号テーブル(VLCテーブル)と照合して、復号を行う。可変長復号テーブルは、復号部22の内部に論理回路として組み込まれている。この論理回路は、いわゆるルックアップテーブルとして、機能する。
Returning to FIG. 3, in step S <b> 14, the
図9は、本発明の実施の形態1における可変長復号テーブルの例示図である。図9に示す可変長復号テーブルは、符号データ列を組合せデータ(LAST,RUN,LEVEL)に変換するための対応関係を示している。なお、組合せデータ(LAST,RUN,LEVEL)は、中間データに相当する。
FIG. 9 is an exemplary diagram of a variable length decoding table according to
組合せデータ(LAST,RUN,LEVEL)において、データ(LAST)は、当該復号データが最後のデータか否かを表す。LAST=1の時、当該復号データは最後のデータであり、LAST=0の時、当該復号データは最後のデータではない。 In the combination data (LAST, RUN, LEVEL), the data (LAST) represents whether the decoded data is the last data. When LAST = 1, the decoded data is the last data. When LAST = 0, the decoded data is not the last data.
データ(RUN)は、当該復号データの前に連なる値「0」の個数を表す。 Data (RUN) represents the number of values “0” consecutive before the decoded data.
データ(LEVEL)は、当該復号データの非ゼロの値を表す。 Data (LEVEL) represents a non-zero value of the decoded data.
図9において、符号データ列の最下位ビット「s」は、符号を表すビットであり、s=0の時、データ(LEVEL)はプラス、s=1の時、データ(LEVEL)はマイナスであることを表す。 In FIG. 9, the least significant bit “s” of the code data string is a bit representing the code. When s = 0, the data (LEVEL) is positive, and when s = 1, the data (LEVEL) is negative. Represents that.
図9は、便宜上、符号データ列を図8の入力された符号データ列の順序に並べている。この表は、説明のためのものであって、必ずしもMPEG4の規格に準拠するものではない。 9, for convenience, the code data strings are arranged in the order of the input code data strings shown in FIG. This table is for explanation and does not necessarily conform to the MPEG4 standard.
再び図3に戻って、ステップS15において、復号部22は、図9に従って、図8の入力された符号データ列を組合せデータ(LAST,RUN,LEVEL)に順次変換する。先ず、符号データ列(101)を組合せデータ(0、0、1)(データ(LEVEL)の符号は負)に変換する。
Returning to FIG. 3 again, in step S15, the
ステップS16において、LAST=1かどうかの判定を行う。この場合、LAST=0であるから、判定結果は「No」となり、ステップS14に戻る。 In step S16, it is determined whether LAST = 1. In this case, since LAST = 0, the determination result is “No”, and the process returns to step S14.
ステップS14とステップS15の処理を行って、復号部22は、符号データ列(1110)を組合せデータ(0、0、3)(データ(LEVEL)の符号は正)に変換する。
By performing the processing of step S14 and step S15, the
ステップS16において、LAST=0であるから、判定結果は「No」となり、ステップS14に戻る。 In step S16, since LAST = 0, the determination result is “No”, and the process returns to step S14.
ステップS14とステップS15の処理を行って、復号部22は、符号データ列(0101001)を組合せデータ(0、1、2)(データ(LEVEL)の符号は負)に変換する。
By performing the processing of step S14 and step S15, the
ステップS16において、LAST=0であるから、判定結果は「No」となり、ステップS14に戻る。 In step S16, since LAST = 0, the determination result is “No”, and the process returns to step S14.
ステップS14とステップS15の処理を行って、復号部22は、符号データ列(01110)を組合せデータ(1、0、1)(データ(LEVEL)の符号は正)に変換する。
By performing the processing of step S14 and step S15, the
ステップS16において、LAST=1であるから、判定結果は「Yes」となり、ステップS17に進む。 In step S16, since LAST = 1, the determination result is “Yes”, and the process proceeds to step S17.
以上で、入力された符号データ列を、図9の可変長復号テーブルと照合する変換処理が終了し、組合せデータ(0、0、1)、(0、0、3)、(0、1、2)、及び、(1、0、1)が得られる。 Thus, the conversion process for collating the input code data string with the variable length decoding table of FIG. 9 is completed, and the combination data (0, 0, 1), (0, 0, 3), (0, 1, 2) and (1, 0, 1) are obtained.
ステップS17において、非ゼロのデータを第2記憶ユニット30に格納する。先ず、アドレス生成部23は、得られた組合せデータのデータ(RUN)の値を参照して、非ゼロのデータを格納する、第2記憶ユニット30のアドレスを順次求める。その結果、
LEVEL=1を格納するアドレスは、アドレス(0);
LEVEL=3を格納するアドレスは、アドレス(1);
LEVEL=2を格納するアドレスは、アドレス(3)(なぜならば、RUN=1で、値「0」のデータがこの前に1個ある。);
LEVEL=1を格納するアドレスは、アドレス(4)
となる。
In step S <b> 17, non-zero data is stored in the
The address for storing LEVEL = 1 is address (0);
The address storing LEVEL = 3 is address (1);
The address for storing LEVEL = 2 is address (3) (because RUN = 1 and there is one data of value “0” before this);
The address for storing LEVEL = 1 is address (4).
It becomes.
復号部22は、制御部21が求めた第2記憶ユニット30のアドレスに、それぞれのLEVELの値を、その符号を考慮して、格納する。
The
図10は、本発明の実施の形態1における第2記憶ユニット30のデータ格納後の状態図である。第2記憶ユニット30では、図10の点線矢印で示されるように、アドレスをジグザグ状に設定している。
FIG. 10 is a state diagram after data storage in the
以上で、符号化データの量子化データへの変換が終了し、変換結果は、第2記憶ユニット30に格納されている。
Thus, the conversion of the encoded data into the quantized data is completed, and the conversion result is stored in the
ステップS18において、逆量子化ユニット40は、可変長復号ユニット20のデータを読み出し、逆量子化処理を行い、DCTデータを生成する。
In step S18, the
ステップS19において、逆DCTユニット50は、逆量子化ユニット40が生成したDCTデータを用いて、逆DCT処理を行い、復号データを出力端子90に出力する。
In step S <b> 19, the
ステップS20に移り、1マクロブロックの復号処理が終了する。 Moving to step S20, the decoding process for one macroblock is completed.
本形態の可変長復号装置100によれば、マクロブロックの復号ごとに必要な記憶ユニットの初期化を、初期化機構を利用して、1サイクルで処理できるので、記憶ユニットの初期化に必要な時間を大幅に短縮できる。
According to the variable
また、図10から明らかなように、本形態の可変長復号装置100では、1マクロブロックの復号処理のはじめに、第2記憶ユニット30を値「0」に初期化した後、非ゼロの値のみ、その格納すべきアドレスを求めて、第2記憶ユニット30に格納する。この方法により、上述した符号化データの例では、アドレス(2)とアドレス(5)以降のアドレスには、復号部22は、全くアクセスしなくて良い。このように、本形態の可変長復号装置100によれば、可変長復号ユニット20は、変換した量子化データのうちの非ゼロの量子化データのみを、記憶ユニットに格納すればよいので、復号処理時間の短縮と、記憶ユニットアクセスに伴って必要となる電力の削減を図ることが出来る。
As is clear from FIG. 10, in the variable
上述した本発明の実施の形態1の説明において、第2記憶ユニット30は、説明を簡単にするために、図7及び図10に示したように、(4×4)の二次元配列を仮定したが、第2記憶ユニット30は、1次元配列の記憶ユニットであってもよい。その場合、1次元配列記憶ユニットのアドレスが、図10に示す2次元配列記憶ユニットのジグザグスキャンの順番に順序付けられていればよい。
In the description of the first embodiment of the present invention described above, the
図11は、本発明の実施の形態1における1次元配列の第2記憶ユニット30のブロック図である。図11の上図は、第2記憶ユニット30の1ビットを格納するメモリセル構成を表している。このメモリセルは、リセット入力(R)、クロック入力(CLK)、データ入力(Data)、及び、ライトイネーブル信号入力(WE)を備えている。図11の下図は、第2記憶ユニット30のブロック図であり、上図のメモリセルを1アドレスにつき12個並べて、1アドレス‐12ビットの構成を作り、さらに、それらを384個組み合わせて、384アドレス*12ビットの構成の記憶ユニットを作っている。
FIG. 11 is a block diagram of the
図12は、本発明の実施の形態1における1次元配列の第2記憶ユニットのデータ格納後の状態図である。図12は、図11の第2記憶ユニット30に、図10に格納したと同じ復号後の量子化データを格納した状態を示している。すなわち、図12のすべてのアドレスをデータ(0x000)に初期化した後に、非ゼロ量子化データのみを格納する。その結果、
アドレス(0x0000)に、データ(−1)の16進表記であるデータ(0xFFF)が、
アドレス(0x0001)に、データ(3)の16進表記であるデータ(0x003)が、
アドレス(0x0003)に、データ(−2)の16進表記であるデータ(0xFFE)が、
アドレス(0x0004)に、データ(1)の16進表記であるデータ(0x001)が、それぞれ格納される。
FIG. 12 is a state diagram after data storage in the second storage unit of the one-dimensional array according to
At the address (0x0000), the data (0xFFF) which is the hexadecimal notation of the data (-1) is
At address (0x0001), data (0x003), which is the hexadecimal notation of data (3),
At the address (0x0003), the data (0xFFE) which is the hexadecimal notation of the data (-2) is
Data (0x001), which is the hexadecimal notation of data (1), is stored at the address (0x0004).
なお、図11に示す第2記憶ユニット30によれば、第2記憶ユニット30の初期化を、1サイクルで実行できることは、言うまでもない。
Needless to say, according to the
(実施の形態2)
図2は、本発明の実施の形態2における可変長復号装置200のブロック図である。図2に示す本形態の可変長復号装置200は、符号化データを格納する第1記憶ユニット10、可変長復号ユニット(VLD)20、係数データを格納する第2記憶ユニット30、フラグレジスタ60、逆量子化ユニット(IQ)40、及び、逆DCTユニット(IDCT)50を備える。
(Embodiment 2)
FIG. 2 is a block diagram of variable
可変長復号ユニット20は、制御部21、復号部22、及び、アドレス生成部23を有する。制御部21は、フラグレジスタ60に制御信号を送る。
The variable
逆量子化ユニット40は、逆量子化処理部41、セレクタ42、及び、データ設定部43を有する。データ設定部43は、設定された値「0」を常に出力している。セレクタ42は、逆量子化処理部41が読み込むデータを、第2記憶ユニット30から得るか、データ設定部43から得るかを、選択する。この制御は、フラグレジスタ60のフラグによって行う。
The
フラグレジスタ60は、第2記憶ユニット30の各アドレスに対応して、第2記憶ユニット30に格納する量子化データがゼロまたは非ゼロであることを示すフラグを格納する。本形態のフラグレジスタ60は、量子化データがゼロの時、フラグ値「0」を格納し、量子化データが非ゼロの時、フラグ値「1」を格納する。
The flag register 60 stores a flag indicating that the quantized data stored in the
図4は、本発明の実施の形態2における可変長復号装置200の前半のフローチャートである。図5は、本発明の実施の形態2における可変長復号装置200の後半のフローチャートである。図4と図5に示すフローチャートに従って、図2に示す本形態の可変長復号装置200の動作を説明する。
FIG. 4 is a flowchart of the first half of variable-
本形態の可変長復号装置200の動作の説明においては、本発明の実施の形態2と同様に、第1記憶ユニット10には、図6に示す符号化データがヘッダとともに格納されているものとする。また、簡単のために、第2記憶ユニット30は、(4×4)の二次元配列をしているものと仮定する。さらに、フラグレジスタ60は、第2記憶ユニット30のアドレスに対応して、アドレス(0)からアドレス(15)にフラグを設定できるものとする。
In the description of the operation of the variable
図4のステップS30において復号処理が開始されると、可変長復号ユニット20が起動される。
When the decoding process is started in step S30 of FIG. 4, the variable
ステップS31において、復号部22は、第1記憶ユニット10のアドレス(0x0000)とアドレス(0x0001)から、ヘッダの値(0xC000)と値(0xC1B3)を読み出し、ヘッダ処理を行う。そして、制御部21は、フラグレジスタ60を初期化するための制御信号であるリセット信号をフラグレジスタ60に出力する。
In step S31, the
ステップS32において、フラグレジスタ60は、リセット信号を受け取ると、フラグレジスタ60の全アドレスのフラグを値「0」にリセットして、初期化を行う。初期化が完了すると、可変長復号ユニット20は復号処理の状態に移る。
In step S32, when receiving the reset signal, the
ステップS33において、復号部22は、第1記憶ユニット10から符号化データを読み出す。本形態の可変長復号装置200においても、本発明の実施の形態1と同様に、可変長復号ユニット20は、第1記憶ユニット10から符号化データをビット列として読み出し、図8に示すように、ヘッダと、ヘッダに続く符号データ列(101)、符号データ列(1110)、符号データ列(0101001)、符号データ列(01110)を取得する。
In step S <b> 33, the
ステップS34において、復号部22は、読み出した符号列を、図9に示す可変長復号テーブル(VLCテーブル)と照合する。
In step S34, the
ステップS35において、復号部22は、入力された符号データ列を組合せデータ(LAST,RUN,LEVEL)に順次変換する。
In step S35, the
ステップS34からステップS36まで、本発明の実施の形態1と同様な処理によって、組合せデータ(0、0、1)、(0、0、3)、(0、1、2)、(1、0、1)が得られる。 From step S34 to step S36, combination data (0, 0, 1), (0, 0, 3), (0, 1, 2), (1, 0) are processed in the same manner as in the first embodiment of the present invention. 1) is obtained.
ステップS37において、アドレス生成部23は、得られた組合せデータのデータ(RUN)を参照して、非ゼロのデータを格納する、第2記憶ユニット30のアドレスを順次求める。その結果、
LEVEL=1を格納するアドレスは、アドレス(0);
LEVEL=3を格納するアドレスは、アドレス(1);
LEVEL=2を格納するアドレスは、アドレス(3);
LEVEL=1を格納するアドレスは、アドレス(4)
となる。
In step S <b> 37, the
The address for storing LEVEL = 1 is address (0);
The address storing LEVEL = 3 is address (1);
The address for storing LEVEL = 2 is address (3);
The address for storing LEVEL = 1 is address (4).
It becomes.
ステップS38において、復号部22は、制御部21が求めた第2記憶ユニット30のアドレスに、それぞれのLEVELの値を、その符号を考慮して、格納する。
In step S38, the
図13は、本発明の実施の形態2における第2記憶ユニット30のデータ格納後の状態図である。第2記憶ユニット30では、図13の点線矢印で示されるように、アドレスをジグザグ状に設定している。図13において、記号「x」は、上述した復号処理において、ゼロの量子化データが得られたアドレスにある特定されていない無意味な値である。
FIG. 13 is a state diagram after data storage in the
ステップS39において、制御部21は、制御部21が求めた第2記憶ユニット30のアドレスに対応する、フラグレジスタ60のアドレスに、フラグ値「1」を設定する。その結果、フラグレジスタ60は、図14に示すようになる。すなわち、図14は、本発明の実施の形態2におけるフラグレジスタ60のフラグ設定後の状態図である。
In step S <b> 39, the
以上で量子化データへの変換が終わり、ステップS40に制御が移る。 This completes the conversion to quantized data, and the control shifts to step S40.
次に、図5を参照して、ステップS40に制御が移ると、逆量子化ユニット40が起動される。
Next, referring to FIG. 5, when the control is shifted to step S40, the
ステップS41において、逆量子化ユニット40は、量子化データを読み出す第2記憶ユニット30のアドレスをアドレス(0)から順に設定する。
In step S41, the
ステップS42において、セレクタ42は、ステップS41において設定された第2記憶ユニット30のアドレスに対応するフラグレジスタ60のアドレスのフラグを調べ、それが値「0」かどうかを判定する。判定結果が「No」ならば、ステップS43に進み、判定結果が「Yes」ならば、ステップS44に進む。
In step S42, the
ステップS43において、フラグは、値「1」を示しているから、セレクタ42は、ステップS41において設定された第2記憶ユニット30のアドレスに格納されている量子化データ(非ゼロ)を選択し、逆量子化処理部41に送る。
In step S43, since the flag indicates the value “1”, the
ステップS44において、フラグは、値「0」を示しているから、セレクタ42は、データ設定部43が設定している値「0」を選択し、逆量子化処理部41に送る。
In step S44, since the flag indicates the value “0”, the
ステップS45において、全係数データの取得が完了したかどうかを判定する。全係数データの取得が完了していなければ、ステップS41に戻り、第2記憶ユニットの次のアドレスを設定して、ステップS42からステップS45を繰り返す。ステップS45において、全係数データの取得が完了していれば、ステップS46に進む。 In step S45, it is determined whether or not acquisition of all coefficient data has been completed. If acquisition of all coefficient data is not completed, the process returns to step S41, the next address of the second storage unit is set, and steps S42 to S45 are repeated. If acquisition of all the coefficient data is completed in step S45, the process proceeds to step S46.
ステップS46において、逆量子化処理部41は、セレクタ42から送られてきた係数データ(すなわち、量子化データ)を用いて逆量子化処理を行い、DCTデータを生成する。
In step S46, the inverse
ステップS47において、逆DCTユニット50は、逆量子化処理部41が生成したDCTデータを用いて、逆DCT処理を行い、復号データを出力端子90に出力する。
In step S <b> 47, the
ステップS48に移り、1マクロブロックの復号処理が終了する。 Moving to step S48, the decoding process for one macroblock is completed.
以上説明したように、本形態の可変長復号装置200は、第2記憶ユニット30の各アドレスに対応したフラグレジスタ60を設け、第2記憶ユニット30に非ゼロ量子化データのみを格納するとともに、フラグレジスタ60の対応するフラグを非ゼロを示す値「1」に設定する。この方法によって、逆量子化ユニット40が、第2記憶ユニット30から量子化データを読み出す時、フラグレジスタ60のフラグを参照して、第2記憶ユニット30の非ゼロ量子化データのみの読み出し、その他のデータは、データ設定部43に設定している値「0」にマスクすることが出来る。
As described above, the variable
このように、本形態の可変長復号装置200では、第2記憶ユニット30のアドレスの数に相当する数のフラグレジスタ60を設ける必要はあるが、第2記憶ユニット30の初期化を毎マクロブロックの復号処理ごとに行う必要はない。従って、通常使用されるメモリを第2記憶ユニット30に使用できる。また、フラグレジスタ60の初期化は、毎マクロブロックの復号処理ごとに行う必要があるが、この処理量は、僅少である。この結果、本形態の可変長復号装置200によれば、可変長符号化データの復号処理時間の短縮を図ることが出来る。
As described above, in the variable
上述した本形態の可変長復号装置200の説明において、第2記憶ユニット30は、説明を簡単にするために、図13に示したように、(4×4)の二次元配列を仮定したが、第2記憶ユニット30は、図12に示すような、1次元配列の記憶ユニットであってもよい。その場合、図12に示す1次元配列記憶ユニットのアドレスが、図13に示す2次元配列記憶ユニットのジグザグスキャンの順番に順序付けられていればよい。
In the description of the variable
また、図14に示したフラグレジスタ60は、アドレス(0)からアドレス(15)を有すると仮定した。フラグレジスタ60の大きさは、第2記憶ユニット30のアドレスの大きさに対応させる必要がある。第2記憶ユニット30として、図12に示す1次元配列記憶ユニットを用いる場合は、フラグレジスタ60は、アドレス(0x0000)からアドレス(0x017F)を有し、各アドレスに1ビットを格納できれば良い。
Further, the
本発明に係る可変長復号装置は、例えば、可変長符号化された符号化データを復号する技術分野及びその応用分野等において好適に利用できる。 The variable-length decoding apparatus according to the present invention can be suitably used in, for example, a technical field for decoding encoded data that has been subjected to variable-length coding, an application field thereof, and the like.
10 第1記憶ユニット
20 可変長復号ユニット
21 制御部
22 復号部
23 アドレス生成部
30 第2記憶ユニット
31 リセット端子
40 逆量子化ユニット
41 逆量子化処理部
42 セレクタ
43 データ設定部
50 逆DCTユニット
60 フラグレジスタ
10
Claims (3)
記憶ユニットと、
可変長符号化された符号化データを、非ゼロの量子化データの最後を示す値を含む中間データに変換する可変長復号部とを備え、
前記可変長復号部は、前記中間データから、前記値により示される前記非ゼロの量子化データの最後に至るまでの部分的量子化データを生成し、
前記可変長復号部は、前記部分的量子化データのみを前記記憶ユニットに保存し、
前記記憶ユニットの各アドレスに対応して、前記量子化データがゼロまたは非ゼロであることを示すフラグを格納するフラグレジスタをさらに備え、
前記可変長復号部は、前記フラグレジスタの全アドレスに、ゼロ(「0」)を示すフラグを設定して、前記フラグレジスタを初期化した後に、変換した量子化データのうちの非ゼロの量子化データのみを前記記憶ユニットに格納し、前記フラグレジスタの対応するアドレスに、非ゼロを示すフラグを設定し、
逆量子化部と、
値「0」を出力するデータ設定部とをさらに備え、
前記逆量子化部は、前記フラグレジスタのフラグが非ゼロであることを示す場合は、前記記憶ユニットの対応するアドレスから量子化データを読み込み、前記フラグレジスタのフラグがゼロ(「0」)であることを示す場合は、前記記憶ユニットから量子化データを読み込まず、前記データ設定部が出力する値「0」を取り込み、DCT係数を生成する、可変長復号装置。 A variable length decoding device for decoding encoded data that has been subjected to variable length encoding,
A storage unit;
A variable length decoding unit that converts encoded data that has been subjected to variable length encoding into intermediate data that includes a value indicating the end of non-zero quantized data;
The variable length decoding unit generates partially quantized data from the intermediate data to the end of the non-zero quantized data indicated by the value ,
The variable length decoding unit stores only the partially quantized data in the storage unit,
A flag register for storing a flag indicating that the quantized data is zero or non-zero corresponding to each address of the storage unit;
The variable length decoding unit sets a flag indicating zero (“0”) in all addresses of the flag register, initializes the flag register, and then converts non-zero quantum data in the converted quantized data. Storing only the digitized data in the storage unit, and setting a flag indicating non-zero in the corresponding address of the flag register,
An inverse quantization unit;
A data setting unit that outputs a value “0”;
If the flag in the flag register indicates non-zero, the inverse quantization unit reads the quantized data from the corresponding address in the storage unit, and the flag register flag is zero (“0”). In the case of indicating that there is a variable length decoding device , the quantized data is not read from the storage unit, the value “0” output from the data setting unit is taken in, and a DCT coefficient is generated .
可変長符号化された符号化データを、非ゼロの量子化データの最後を示す値を含む中間データに変換する可変長復号ステップとを含み、
前記可変長復号ステップにおいて、前記中間データから、前記値により示される前記非ゼロの量子化データの最後に至るまでの部分的量子化データを生成し、
前記可変長復号ステップにおいて、前記部分的量子化データのみを記憶ユニットに保存し、
前記記憶ユニットの各アドレスに対応して、前記量子化データがゼロまたは非ゼロであることを示すフラグを格納するフラグレジスタをさらに設け、
前記可変長復号ステップにおいて、前記フラグレジスタの全アドレスに、ゼロ(「0」)を示すフラグを設定して、前記フラグレジスタを初期化した後に、変換した量子化データのうちの非ゼロの量子化データのみを前記記憶ユニットに格納し、前記フラグレジスタの対応するアドレスに、非ゼロを示すフラグを設定し、
逆量子化ステップと、 値「0」を出力するデータ設定ステップとをさらに含み、
前記逆量子化ステップにおいて、前記フラグレジスタのフラグが非ゼロであることを示す場合は、前記記憶ユニットの対応するアドレスから量子化データを読み込み、前記フラグレジスタのフラグがゼロ(「0」)であることを示す場合は、量子化データを読み込まず、前記データ設定ステップにおいて出力される値「0」を取り込み、DCT係数を生成する、可変長復号方法。 A variable length decoding method for decoding encoded data that has been subjected to variable length encoding,
A variable-length decoding step of converting the encoded data that has been variable-length encoded into intermediate data including a value indicating the end of the non-zero quantized data;
In the variable length decoding step, partial quantized data from the intermediate data to the end of the non-zero quantized data indicated by the value is generated,
In the variable length decoding step, only the partially quantized data is stored in a storage unit ;
Corresponding to each address of the storage unit, a flag register for storing a flag indicating that the quantized data is zero or non-zero is further provided,
In the variable length decoding step, a flag indicating zero (“0”) is set in all addresses of the flag register, the flag register is initialized, and then the non-zero quantum of the converted quantized data is set. Storing only the digitized data in the storage unit, and setting a flag indicating non-zero in the corresponding address of the flag register,
And further includes an inverse quantization step and a data setting step of outputting a value “0”,
In the dequantization step, when the flag register indicates that the flag is non-zero, the quantized data is read from the corresponding address of the storage unit, and the flag register flag is zero (“0”). A variable-length decoding method that, when indicating that there is a data, does not read the quantized data, takes in the value “0” output in the data setting step, and generates a DCT coefficient .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005095036A JP4607638B2 (en) | 2004-03-30 | 2005-03-29 | Variable length decoding apparatus and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004098929 | 2004-03-30 | ||
JP2005095036A JP4607638B2 (en) | 2004-03-30 | 2005-03-29 | Variable length decoding apparatus and method |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005318560A JP2005318560A (en) | 2005-11-10 |
JP2005318560A5 JP2005318560A5 (en) | 2009-02-12 |
JP4607638B2 true JP4607638B2 (en) | 2011-01-05 |
Family
ID=35445454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005095036A Expired - Fee Related JP4607638B2 (en) | 2004-03-30 | 2005-03-29 | Variable length decoding apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4607638B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9641721B2 (en) * | 2014-12-18 | 2017-05-02 | Kyocera Document Solutions Inc. | Apparatus and method for processing image data with multiple flip-flop storages |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0556271A (en) * | 1991-07-25 | 1993-03-05 | Fujitsu Ltd | Reverse quantizing method and image data restoring device |
JPH07273663A (en) * | 1994-03-29 | 1995-10-20 | Mitsubishi Electric Corp | Method and device for signal processing |
JPH0883347A (en) * | 1994-09-13 | 1996-03-26 | Toshiba Corp | Picture processor |
JPH08167856A (en) * | 1994-10-12 | 1996-06-25 | Matsushita Electric Ind Co Ltd | Decoding circuit for run length code |
JPH1146363A (en) * | 1997-04-04 | 1999-02-16 | Samsung Electron Co Ltd | Symbol-decoding method and device thereof |
JP2001308713A (en) * | 2000-04-19 | 2001-11-02 | Oki Electric Ind Co Ltd | Data generating circuit |
WO2001095637A1 (en) * | 2000-06-02 | 2001-12-13 | Matsushita Electric Industrial Co., Ltd. | Image processing apparatus, and image processing method |
JP2003179503A (en) * | 1995-04-14 | 2003-06-27 | Toshiba Corp | Variable length decoding method and device |
-
2005
- 2005-03-29 JP JP2005095036A patent/JP4607638B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0556271A (en) * | 1991-07-25 | 1993-03-05 | Fujitsu Ltd | Reverse quantizing method and image data restoring device |
JPH07273663A (en) * | 1994-03-29 | 1995-10-20 | Mitsubishi Electric Corp | Method and device for signal processing |
JPH0883347A (en) * | 1994-09-13 | 1996-03-26 | Toshiba Corp | Picture processor |
JPH08167856A (en) * | 1994-10-12 | 1996-06-25 | Matsushita Electric Ind Co Ltd | Decoding circuit for run length code |
JP2003179503A (en) * | 1995-04-14 | 2003-06-27 | Toshiba Corp | Variable length decoding method and device |
JPH1146363A (en) * | 1997-04-04 | 1999-02-16 | Samsung Electron Co Ltd | Symbol-decoding method and device thereof |
JP2001308713A (en) * | 2000-04-19 | 2001-11-02 | Oki Electric Ind Co Ltd | Data generating circuit |
WO2001095637A1 (en) * | 2000-06-02 | 2001-12-13 | Matsushita Electric Industrial Co., Ltd. | Image processing apparatus, and image processing method |
Also Published As
Publication number | Publication date |
---|---|
JP2005318560A (en) | 2005-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7898445B2 (en) | Entropy coding apparatus | |
US5604498A (en) | Huffman decoder | |
US6219457B1 (en) | Method and system for decoding data encoded in a variable length code word | |
US6587057B2 (en) | High performance memory efficient variable-length coding decoder | |
US7817864B2 (en) | Coding apparatus and decoding apparatus | |
US8532192B2 (en) | Video processing apparatus and a method of processing video data | |
US10250912B2 (en) | Method and apparatus for entropy decoding with arithmetic decoding decoupled from variable-length decoding | |
JP2002261623A (en) | Decoding device, decoding method, storage medium and program software | |
JP3021331B2 (en) | Variable length decoding device using relative address | |
TW200937875A (en) | Compression system for a bit-plane | |
JP4181887B2 (en) | Variable length coding apparatus and method | |
JP3940672B2 (en) | Image processing apparatus and image processing method | |
JP2002524007A (en) | Image compression method and apparatus | |
JP4061104B2 (en) | Memory access and skipping based on run / skip count by context model | |
JP4607638B2 (en) | Variable length decoding apparatus and method | |
US20050259742A1 (en) | System and method for choosing tables in CAVLC | |
JP4644290B2 (en) | Encoding block pattern generation method and apparatus for high frequency coefficients | |
JP4502384B2 (en) | Variable length code decoding apparatus and variable length code decoding method | |
US7262718B2 (en) | Variable length decoder and variable length decoding method | |
JPH10271016A (en) | Encoder/decoder | |
KR100576548B1 (en) | Apparatus and Method of Context-based Adaptive Variable Length Decoding | |
JP2000261324A (en) | Huffman decoding circuit | |
JP2007295157A (en) | Unit, method and program for data coding, and information recording medium having recorded data coding program | |
WO2010095181A1 (en) | Variable-length decoding device | |
JP2003318740A (en) | Variable length encoding method and variable length decoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100331 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100520 |
|
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: 20100915 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101007 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131015 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |