JP2005318560A - Variable length decoding apparatus and method - Google Patents
Variable length decoding apparatus and method Download PDFInfo
- Publication number
- JP2005318560A JP2005318560A JP2005095036A JP2005095036A JP2005318560A JP 2005318560 A JP2005318560 A JP 2005318560A JP 2005095036 A JP2005095036 A JP 2005095036A JP 2005095036 A JP2005095036 A JP 2005095036A JP 2005318560 A JP2005318560 A JP 2005318560A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- data
- storage unit
- variable length
- zero
- 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.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】 少ないハードウェア資源で可変長符号化データの復号を高効率に実現でき、かつ、消費電力の低い可変長復号装置を提供する。
【解決手段】 可変長復号装置は、符号化データを格納する第1記憶ユニット10、可変長復号ユニット20、係数データを格納する第2記憶ユニット30、逆量子化ユニット40及び逆DCTユニット50を備える。可変長復号ユニットは、制御部21、復号部22及びアドレス生成部23を有する。第2記憶ユニットは、初期化機構を有し、マクロブロック単位の復号に先立って、制御部により一斉に初期化される。復号部によって復号された非ゼロ量子化データのみを、アドレス生成部によって生成される第2記憶ユニットのアドレスに格納する。逆量子化ユニットは第2記憶ユニットから量子化データを読み出し逆量子化し、逆DCTユニットは逆DCTして、復号データを得る。
【選択図】 図1PROBLEM TO BE SOLVED: To provide a variable length decoding device which can realize decoding of variable length encoded data with low hardware resources with high efficiency and low power consumption.
A variable length decoding device includes a first storage unit 10 for storing encoded data, a variable length decoding unit 20, a second storage unit 30 for storing coefficient data, an inverse quantization unit 40, and an inverse DCT unit 50. Prepare. The variable length decoding unit includes a control unit 21, a decoding unit 22, and an address generation unit 23. The second storage unit has an initialization mechanism, and is initialized all at once by the control unit prior to decoding in units of macroblocks. Only the non-zero quantized data decoded by the decoding unit is stored in the address of the second storage unit generated by the address generation unit. The inverse quantization unit reads the quantized data from the second storage unit and performs inverse quantization, and the inverse DCT unit performs inverse DCT to obtain decoded data.
[Selection] Figure 1
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 includes 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 efficiently decode variable-length encoded data with a small amount of hardware resources and has 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, and 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, 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 to generate a DCT coefficient.
この構成によれば、量子化部は、ゼロの量子化データが格納されるはずのアドレスには、アクセスしないので、記憶ユニットの初期化を行わなくても良い。したがって、記憶ユニットの初期化に必要な処理サイクルを節約できる。 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 by the 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 a code. When s = 0, data (LEVEL) is positive, and when s = 1, 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 variable length encoded data and an application field thereof.
10 第1記憶ユニット
20 可変長復号ユニット
21 制御部
22 復号部
23 アドレス生成部
30 第2記憶ユニット
31 リセット端子
40 逆量子化ユニット
41 逆量子化処理部
42 セレクタ
43 データ設定部
50 逆DCTユニット
60 フラグレジスタ
10
Claims (12)
前記符号化データを量子化データに変換する可変長復号部と、
前記量子化データを格納する記憶ユニットとを備え、
前記可変長復号部は、変換した量子化データのうちの非ゼロの量子化データのみを、前記記憶ユニットに格納する可変長復号装置。 A variable length decoding device for decoding encoded data that has been subjected to variable length encoding,
A variable length decoding unit that converts the encoded data into quantized data;
A storage unit for storing the quantized data,
The variable length decoding unit is a variable length decoding device that stores only non-zero quantized data of the converted quantized data in the storage unit.
前記可変長復号部は、前記初期化機構が前記記憶ユニットの全領域をゼロ(「0」)に初期化した後に、変換した量子化データのうちの非ゼロの量子化データのみを、前記記憶ユニットに格納する、請求項1記載の可変長復号装置。 The storage unit has an initialization mechanism that initializes the entire area of the storage unit;
The variable length decoding unit stores only non-zero quantized data of the converted quantized data after the initialization mechanism initializes all areas of the storage unit to zero (“0”). The variable length decoding device according to claim 1, which is stored in a unit.
前記制御部は、前記初期化機構に制御信号を発し、
前記初期化機構は、前記制御信号を受信すると前記記憶ユニットの全領域をゼロ(「0」)に初期化し、
前記復号部は、前記符号化データを変換して中間データを生成し、生成した中間データから量子化データを生成し、
前記アドレス生成部は、前記中間データを基に、非ゼロの量子化データを格納する前記記憶ユニットのアドレスを生成し、
前記復号部は、前記制御部が前記記憶ユニットの全領域をゼロ(「0」)に初期化した後に、前記アドレス生成部が生成した前記記憶ユニットのアドレスに、非ゼロの量子化データを格納する、請求項2記載の可変長復号装置。 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,
The initialization mechanism initializes the entire area of the storage unit to zero (“0”) when receiving the control signal;
The decoding unit generates intermediate data by converting the encoded data, generates quantized data from the generated intermediate data,
The address generation unit generates an address of the storage unit that stores non-zero quantized data based on the intermediate data,
The decoding unit stores non-zero quantized data at the address of the storage unit generated by the address generation unit after the control unit initializes the entire area of the storage unit to zero (“0”). The variable length decoding device according to claim 2.
前記逆量子化部は、前記記憶ユニットから読み出した量子化データを基に、DCTデータを生成し、
前記逆DCT部は、前記DCTデータを基に、復号データを生成する請求項2記載の可変長復号装置。 Further comprising 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,
The variable length decoding device according to claim 2, wherein the inverse DCT unit generates decoded data based on the DCT data.
前記可変長復号部は、前記フラグレジスタの全アドレスに、ゼロ(「0」)を示すフラグを設定して、前記フラグレジスタを初期化した後に、変換した量子化データのうちの非ゼロの量子化データのみを前記記憶ユニットに格納し、前記フラグレジスタの対応するアドレスに、非ゼロを示すフラグを設定する、請求項1記載の可変長復号装置。 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”) to all addresses of the flag register, initializes the flag register, and then converts non-zero quantum data in the converted quantized data. 2. The variable length decoding device according to claim 1, wherein only the digitized data is stored in the storage unit, and a flag indicating non-zero is set in a corresponding address of the flag register.
前記制御部は、前記フラグレジスタに制御信号を発して、前記フラグレジスタの全アドレスに、ゼロ(「0」)を示すフラグを設定して前記フラグレジスタを初期化し、
前記復号部は、前記符号化データを変換して中間データを生成し、生成した中間データから量子化データを生成し、
前記アドレス生成部は、前記中間データを基に、非ゼロの量子化データを格納する前記記憶ユニットのアドレスを生成し、
前記復号部は、前記制御部が前記フラグレジスタを初期化した後に、前記アドレス生成部が生成した前記記憶ユニットのアドレスに、非ゼロの量子化データを格納し、前記フラグレジスタの対応するアドレスに、非ゼロを示すフラグを設定する、請求項5記載の可変長復号装置。 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 flag register, sets a flag indicating zero (“0”) in all addresses of the flag register, initializes the flag register,
The decoding unit generates intermediate data by converting the encoded data, generates quantized data from the generated intermediate data,
The address generation unit generates an address of the storage unit that stores non-zero quantized data based on the intermediate data,
The decoding unit stores non-zero quantized data in the address of the storage unit generated by the address generation unit after the control unit initializes the flag register, and stores it in a corresponding address of the flag register. The variable length decoding device according to claim 5, wherein a flag indicating non-zero is set.
前記逆量子化部は、前記フラグレジスタのフラグが非ゼロであることを示す場合は、前記記憶ユニットの対応するアドレスから量子化データを読み込み、前記フラグレジスタのフラグがゼロ(「0」)であることを示す場合は、値「0」を取り込み、DCT係数を生成する、請求項5記載の可変長復号装置。 Further comprising an inverse quantization unit,
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”). The variable length decoding device according to claim 5, wherein when it indicates that there is a value, the value “0” is taken in and a DCT coefficient is generated.
前記逆DCT部は、前記逆量子化部が生成したDCTデータを基に、復号データを生成する請求項7記載の可変長復号装置。 An inverse DCT unit;
The variable length decoding device according to claim 7, wherein the inverse DCT unit generates decoded data based on the DCT data generated by the inverse quantization unit.
前記符号化データを量子化データに変換する可変長復号ステップと、
前記量子化データを記憶ユニットに格納する格納ステップとを含み、
前記可変長復号ステップでは、変換した量子化データのうちの非ゼロの量子化データのみを、前記記憶ユニットに格納する、可変長復号方法。 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 into quantized data;
Storing the quantized data in a storage unit;
In the variable-length decoding step, only the non-zero quantized data among the converted quantized data is stored in the storage unit.
前記格納ステップでは、前記初期化ステップにおいて前記記憶ユニットの全領域をゼロ(「0」)に初期化した後に、前記可変長復号ステップにおいて変換した量子化データのうちの非ゼロの量子化データのみを、前記記憶ユニットに格納する、請求項9記載の可変長復号方法。 An initialization step of initializing the storage unit;
In the storing step, only the non-zero quantized data of the quantized data converted in the variable length decoding step after initializing the entire area of the storage unit to zero (“0”) in the initializing step The variable length decoding method according to claim 9, wherein: is stored in the storage unit.
前記格納ステップでは、前記フラグ設定ステップにおいて前記フラグレジスタの全アドレスに、ゼロ(「0」)を示すフラグを設定して前記フラグレジスタを初期化した後に、前記可変長復号ステップにおいて変換した量子化データのうちの非ゼロの量子化データのみを前記記憶ユニットに格納し、
前記フラグ設定ステップでは、前記フラグレジスタの対応するアドレスに、非ゼロを示すフラグを設定する、請求項9記載の可変長復号方法。 A flag setting step of setting a flag indicating that the quantized data is zero (“0”) or non-zero in a flag register corresponding to each address of the storage unit;
In the storing step, after the flag register is initialized by setting a flag indicating zero (“0”) in all the addresses of the flag register in the flag setting step, the quantization converted in the variable length decoding step Storing only non-zero quantized data of the data in the storage unit;
The variable length decoding method according to claim 9, wherein in the flag setting step, a flag indicating non-zero is set at a corresponding address of the flag register.
前記逆量子化ステップでは、前記フラグレジスタのフラグが非ゼロであることを示す場合は、前記記憶ユニットの対応するアドレスから量子化データを読み込み、前記フラグレジスタのフラグがゼロ(「0」)であることを示す場合は、値「0」を取り込み、DCT係数を生成する、請求項11記載の可変長復号方法。 Further comprising an inverse quantization step;
In the inverse quantization step, if 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”). The variable length decoding method according to claim 11, wherein if it is indicated, a value “0” is taken in to generate 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 true JP2005318560A (en) | 2005-11-10 |
JP2005318560A5 JP2005318560A5 (en) | 2009-02-12 |
JP4607638B2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016119672A (en) * | 2014-12-18 | 2016-06-30 | 京セラドキュメントソリューションズ株式会社 | Apparatus and method for processing image data |
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 | Run-length code decoding circuit |
JPH1146363A (en) * | 1997-04-04 | 1999-02-16 | Samsung Electron Co Ltd | Symbol decoding method and apparatus |
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 | Run-length code decoding circuit |
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 apparatus |
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 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016119672A (en) * | 2014-12-18 | 2016-06-30 | 京セラドキュメントソリューションズ株式会社 | Apparatus and method for processing image data |
Also Published As
Publication number | Publication date |
---|---|
JP4607638B2 (en) | 2011-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1968418B (en) | System and method for image data processing using hybrid type | |
US7898445B2 (en) | Entropy coding apparatus | |
US5604498A (en) | Huffman decoder | |
US6292114B1 (en) | Efficient memory mapping of a huffman coded list suitable for bit-serial decoding | |
US8457428B2 (en) | Image coding apparatus, control method thereof, and storage medium | |
JP3341962B2 (en) | Variable length decoder and method for decoding variable length code value | |
JP2002016500A (en) | Variable length encoding and decoding method using a plurality of mapping tables, and apparatus therefor | |
JP2002261623A (en) | Decoding device, decoding method, storage medium and program software | |
US10250912B2 (en) | Method and apparatus for entropy decoding with arithmetic decoding decoupled from variable-length decoding | |
TW200937875A (en) | Compression system for a bit-plane | |
JP3940672B2 (en) | Image processing apparatus and image processing method | |
JPH08213916A (en) | Variable length decoding device using relative address | |
CN100440979C (en) | Context-based adaptive two-dimensional variable-length decoding method and device | |
JP4181887B2 (en) | Variable length coding apparatus and method | |
JP2002524007A (en) | Image compression method and apparatus | |
JP4061104B2 (en) | Memory access and skipping based on run / skip count by context model | |
US20050259742A1 (en) | System and method for choosing tables in CAVLC | |
JP4607638B2 (en) | Variable length decoding apparatus and method | |
JP4644290B2 (en) | Encoding block pattern generation method and apparatus for high frequency coefficients | |
US7262718B2 (en) | Variable length decoder and variable length decoding method | |
KR100576548B1 (en) | Context-based adaptive variable length decoding device and method thereof | |
JP2000261324A (en) | Huffman decoding circuit | |
CN100399833C (en) | High-speed image compression device using last non-zero detection circuit | |
WO2010095181A1 (en) | Variable-length decoding device | |
JP2010268094A (en) | Image decoder and image 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 |