JPH104360A - Variable length decoding method and device - Google Patents

Variable length decoding method and device

Info

Publication number
JPH104360A
JPH104360A JP15393596A JP15393596A JPH104360A JP H104360 A JPH104360 A JP H104360A JP 15393596 A JP15393596 A JP 15393596A JP 15393596 A JP15393596 A JP 15393596A JP H104360 A JPH104360 A JP H104360A
Authority
JP
Japan
Prior art keywords
data
decoding
code
original data
bits
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.)
Withdrawn
Application number
JP15393596A
Other languages
Japanese (ja)
Inventor
Mitsuharu Oki
光晴 大木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP15393596A priority Critical patent/JPH104360A/en
Publication of JPH104360A publication Critical patent/JPH104360A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To realize high speed processing in the case of decoding a binary data stream where a plurality of original data are compressed. SOLUTION: In the case of decoding a binary data stream where a plurality of original data are compressed, data are read into a memory from the binary data stream by a total code length of each longest code in codes corresponding to a plurality of the original data in the step S12. A plurality of the original data are decoded from the read data in the succeeding step S13. Number of bits used for decoding a plurality of the original data is obtained in the succeeding step S14 and the number of bits in use is deleted from the head of the binary data stream in the succeeding step S15.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、圧縮されたデータ
を伸長して復元データを得る可変長復号化方法、及びそ
の装置に関するものである。
[0001] 1. Field of the Invention [0002] The present invention relates to a variable length decoding method for decompressing compressed data to obtain restored data, and an apparatus therefor.

【0002】[0002]

【従来の技術】現在最も多く使用されている画像圧縮の
方式の1つとして、いわゆるMPEG(Moving Picture
Coding Experts Group) 規格を挙げることができる。
このMPEGとは、ISO/IEC JTC1/SC29
(International Organizationfor Standardization /
International Electrotechnical Commission, JointTe
chnical Committee 1 / Sub Committee 29:国際標準化
機構/国際電気標準会議 合同技術委員会1/専門部会
29)の蓄積用動画像符号化の検討組織の略称であり、
MPEG1標準としてISO11172が、MPEG2標準とし
てISO13818がある。これらの国際標準において、マルチ
メディア多重化の項目でISO11172-1及びISO13818-1が、
映像の項目でISO11172-2及びISO13818-2が、また音声の
項目でISO11172-3及びISO13818-3がそれぞれ標準化され
ている。
2. Description of the Related Art One of the most widely used image compression systems at present is a so-called MPEG (Moving Picture).
Coding Experts Group) Standards.
This MPEG is ISO / IEC JTC1 / SC29
(International Organization for Standardization /
International Electrotechnical Commission, JointTe
chnical Committee 1 / Sub Committee 29: International Organization for Standardization / International Electrotechnical Commission Joint Technical Committee 1 / Special Committee 29)
There are ISO11172 as the MPEG1 standard and ISO13818 as the MPEG2 standard. In these international standards, ISO11172-1 and ISO13818-1 for multimedia multiplexing are
ISO11172-2 and ISO13818-2 are standardized for video items, and ISO11172-3 and ISO13818-3 are standardized for audio items.

【0003】このMPEG規格に基づいた画像符号化方
式のように過去及び未来の画像との相関を利用して圧縮
する方式、すなわち、動き補償を行って圧縮する方式
が、効率が高く、有望視されている。
[0003] As in the image coding method based on the MPEG standard, a method of compressing by utilizing the correlation with past and future images, that is, a method of compressing by performing motion compensation is highly efficient and promising. Have been.

【0004】図7は、MPEG2により圧縮された符号
化データ列の一部として、MPEG2におけるマクロブ
ロックモード(macroblock_modes)の部分の符号を示し
ており、図中右欄の数字はビット長を示している。
[0004] FIG. 7 shows a code of a macroblock mode (macroblock_modes) part in MPEG2 as a part of an encoded data string compressed by MPEG2, and a number in a right column in the figure shows a bit length. I have.

【0005】デコーダ側では、圧縮された符号データ列
(入力バイナリデータ列)を受け取り、先頭から順番に
符号を見ていき、macroblock_type の可変長符号のパタ
ーン(図示省略。)と一致するパターンを検出し、その
パターンに対応する復号データをmacroblock_type とす
る。
[0005] The decoder receives the compressed code data sequence (input binary data sequence), looks at the codes in order from the beginning, and detects a pattern that matches the macroblock_type variable-length code pattern (not shown). Then, the decoded data corresponding to the pattern is defined as macroblock_type.

【0006】次に、spatial_temporal_weight_code_fla
g が1であり、かつ、spatial_temporal_weight_code_t
able_indexが0でない場合は、macroblock_type に関す
る符号に続く2ビットの符号をspatial_temporal_weigh
t_codeとする。
Next, spatial_temporal_weight_code_fla
g is 1 and spatial_temporal_weight_code_t
If able_index is not 0, the 2-bit code following the code for macroblock_type is changed to spatial_temporal_weigh
Set to t_code.

【0007】次に、macroblock_motion_forward 、ある
いは、macroblock_motion_backwardの少なくとも一方が
0でなければ、以下の操作を行う。つまり、picture_st
ructure がframe構造である場合は、frame_pred_f
rame_dctの値が0であれば、続く2ビットの符号をfram
e_motion_type とし、frame_pred_frame_dctの値が0で
なければ、何もしない。picture_structure がfram
e構造でない場合は、続く2ビットの符号をfield_moti
on_type とする。
Next, if at least one of macroblock_motion_forward or macroblock_motion_backward is not 0, the following operation is performed. That is, picture_st
If ructure has a frame structure, frame_pred_f
If the value of rame_dct is 0, the sign of the next 2 bits is fram
If e_motion_type is set and the value of frame_pred_frame_dct is not 0, nothing is performed. picture_structure is frame
If it is not the e structure, the following 2 bit code is
Set to on_type.

【0008】次に、picture_structure がframe構
造であり、かつ、frame_pred_frame_dctの値が0であ
り、かつ、macroblock_intraあるいはmacroblock_patte
rnのどちらかが0でなければ、続く1ビットの符号をdc
t_typeとする。
Next, picture_structure has a frame structure, frame_pred_frame_dct has a value of 0, and macroblock_intra or macroblock_patte
If either of rn is not 0, the sign of the following 1 bit is dc
Set to t_type.

【0009】ただし、macroblock_modesに関する符号デ
ータ列以前に入力されてきた符号データ列により、spat
ial_temporal_weight_code_flag 、spatial_temporal_w
eight_code_table_index、macroblock_motion_forward
、macroblock_motion_backward、picture_structure
、frame_pred_frame_dct、macroblock_intra、macrobl
ock_patternは、復号されている。
However, the code data sequence input before the code data sequence related to macroblock_modes
ial_temporal_weight_code_flag, spatial_temporal_w
eight_code_table_index, macroblock_motion_forward
, Macroblock_motion_backward, picture_structure
, Frame_pred_frame_dct, macroblock_intra, macrobl
ock_pattern has been decrypted.

【0010】このようにして、macroblock_modes(macr
oblock_type, spatial_temporal_weight_code, frame_m
otion_type, field_motion_type、dct_type)に関する復
号が行われる。また、図7のビット長(No. of bits)
の欄には、それぞれの符号の長さが示されているこのよ
うな符号化データ列の一部、例えばmacroblock_modesに
関するデータ列を、メモリを有するマイクロプロセッサ
を用いて復号処理する場合の処理手順について、図8〜
図10を参照しながら説明する。
In this manner, macroblock_modes (macr
oblock_type, spatial_temporal_weight_code, frame_m
otion_type, field_motion_type, and dct_type). Also, the bit length (No. of bits) in FIG.
In the column of, a part of such an encoded data sequence in which the length of each code is indicated, for example, a data sequence relating to macroblock_modes, a processing procedure when decoding processing is performed using a microprocessor having a memory 8 to
This will be described with reference to FIG.

【0011】図8〜図10は、この復号の一連の操作の
フローチャートである。図8〜図10の一連の操作を行
う前に、あらかじめ、spatial_temporal_weight_code_f
lag等は復号され、マイクロプロセッサのメモリ上のそ
れぞれの領域に格納されているとする。
FIG. 8 to FIG. 10 are flowcharts of a series of operations for this decoding. Before performing the series of operations in FIGS. 8 to 10, spatial_temporal_weight_code_f
It is assumed that lag and the like are decoded and stored in respective areas on the memory of the microprocessor.

【0012】図8において、ステップS401でこの一
連の操作は始まり、ステップS402に進む。
In FIG. 8, this series of operations starts in step S401, and proceeds to step S402.

【0013】ステップS402で、マイクロプロセッサ
の入出力ポートから、入力バイナリデータ列(符号デー
タ列)の先頭9ビット分を読み込み、それをメモリ上の
変数BSの領域に代入する。そして、ステップS403
に進む。ステップS403で、BSの値を先頭から調べ
ていき、macroblock_type の可変長符号のパターンと一
致するパターンを検出し、そのパターンに対応する復号
データをmacroblock_type とする。つまり、対応する復
号データをメモリ上の変数macroblock_type の領域に代
入する。この一致するパターンの検出は、マイクロプロ
セッサの論理演算回路で行われる。また、この一致した
パターンの長さ(復号において使用したビット数)をメ
モリ上の変数UBの領域に代入する。macroblock_type
に関する符号長は、最短で1ビット、最長で9ビットで
ある(図7参照)から、9ビット分のデータ(符号)を
コピーしたBSの値のみから、必ず復号できる(UB=
1〜9)。次にステップS404に進む。ステップS4
04で、入力バイナリデータ列の先頭からUBビット分
削除し、UB+1ビット目を先頭とする。これは、具体
的には、これ以降で入力バイナリデータ列を先頭から読
み込むとき、UB+1ビット目から読み込むことを意味
する。そして、ステップS405に進む。
In step S402, the first 9 bits of an input binary data sequence (code data sequence) are read from the input / output port of the microprocessor, and are substituted into the variable BS area on the memory. Then, step S403
Proceed to. In step S403, the value of the BS is checked from the beginning, a pattern that matches the pattern of the variable-length code of macroblock_type is detected, and decoded data corresponding to the pattern is defined as macroblock_type. That is, the corresponding decoded data is assigned to the area of the variable macroblock_type on the memory. The detection of the matching pattern is performed by a logic operation circuit of the microprocessor. Further, the length of the matched pattern (the number of bits used in decoding) is assigned to the area of the variable UB on the memory. macroblock_type
The minimum code length is 1 bit and the maximum is 9 bits (see FIG. 7). Therefore, it is always possible to decode (UB =
1-9). Next, the process proceeds to step S404. Step S4
In step 04, UB bits are deleted from the head of the input binary data string, and the UB + 1 bit is set as the head. Specifically, this means that when the input binary data string is read from the beginning thereafter, it is read from the UB + 1st bit. Then, the process proceeds to step S405.

【0014】ステップS405で、メモリ上の変数spat
ial_temporal_weight_code_flag 、spatial_temporal_w
eight_code_table_indexを調べ、spatial_temporal_wei
ght_code_flag が1であり、かつ、spatial_temporal_w
eight_code_table_indexが0でないかをチェックする。
このチェックは、上記論理演算回路で行われる。真であ
ればステップS406に進み、偽であれば図9のステッ
プS409に進む。ステップS406で、入出力ポート
から、入力バイナリデータ列の先頭2ビット分を読み込
み、それをメモリ32上の変数BSの領域に代入する。
そして、ステップS407に進む。ステップS407
で、BSの値からspatial_temporal_weight_codeを求め
る。具体的には、2ビットのデータであるBSの値を、
メモリ上の変数spatial_temporal_weight_codeにコピー
すれば良い。そして、ステップS408に進む。ステッ
プS408で、入力バイナリデータ列の先頭から2ビッ
ト分削除し、3ビット目を先頭とする。そして、図9の
ステップS409に進む。
In step S405, the variable spat in the memory
ial_temporal_weight_code_flag, spatial_temporal_w
Examine eight_code_table_index, spatial_temporal_wei
ght_code_flag is 1 and spatial_temporal_w
Check whether eight_code_table_index is not 0.
This check is performed by the logical operation circuit. If true, the process proceeds to step S406, and if false, the process proceeds to step S409 in FIG. In step S406, the first two bits of the input binary data string are read from the input / output port and assigned to the area of the variable BS on the memory 32.
Then, the process proceeds to step S407. Step S407
Then, spatial_temporal_weight_code is obtained from the value of BS. Specifically, the value of BS, which is 2-bit data, is
Just copy it to the variable spatial_temporal_weight_code in memory. Then, the process proceeds to step S408. In step S408, two bits are deleted from the head of the input binary data string, and the third bit is set as the head. Then, the process proceeds to step S409 in FIG.

【0015】図9のステップS409で、メモリ上の変
数macroblock_motion_forward 、macroblock_motion_ba
ckwardを調べ、macroblock_motion_forward 、あるい
は、macroblock_motion_backwardの少なくとも一方が0
でないかをチェックする。真であればステップS410
に進み、偽であれば図10のステップS418に進む。
ステップS410で、メモリ上の変数picture_structur
e を調べ、picture_structure がframe構造である
かをチェックする。真であればステップS411に進
み、偽であればステップS415に進む。ステップS4
11で、メモリ上の変数frame_pred_frame_dctを調べ、
frame_pred_frame_dctの値が0でないかをチェックす
る。真であればステップS412に進み、偽であれば図
10のステップS418に進む。ステップS412で、
入出力ポートから、入力バイナリデータ列の先頭2ビッ
ト分を読み込み、それをメモリ上の変数BSの領域に代
入する。そして、ステップS413に進む。ステップS
413で、BSの値からframe_motion_type を求める。
具体的には、2ビットのデータであるBSの値を、メモ
リ上の変数frame_motion_type にコピーすれば良い。そ
して、ステップS414に進む。ステップS414で、
入力バイナリデータ列の先頭から2ビット分削除し、3
ビット目を先頭とする。そして、図10のステップS4
18に進む。また、ステップS415で、入出力ポート
から、入力バイナリデータ列の先頭2ビット分を読み込
み、それをメモリ上の変数BSの領域に代入する。そし
て、ステップS416に進む。ステップS416で、B
Sの値からfield_motion_type を求める。具体的には、
2ビットのデータであるBSの値を、メモリ上の変数fi
eld_motion_type にコピーすれば良い。そして、ステッ
プS417に進む。ステップS417で、入力バイナリ
データ列の先頭から2ビット分削除し、3ビット目を先
頭とする。そして、図10のステップS418に進む。
At step S409 in FIG. 9, variables macroblock_motion_forward, macroblock_motion_ba
Check ckward and check if at least one of macroblock_motion_forward or macroblock_motion_backward is 0
Check if it is not. If true, step S410
If it is false, the process proceeds to step S418 in FIG.
In step S410, the variable picture_structur on the memory
Check e and check if picture_structure is a frame structure. If true, the process proceeds to step S411, and if false, the process proceeds to step S415. Step S4
At 11, check the variable frame_pred_frame_dct on the memory,
Check whether the value of frame_pred_frame_dct is not 0. If true, the process proceeds to step S412, and if false, the process proceeds to step S418 in FIG. In step S412,
The first two bits of the input binary data string are read from the input / output port, and are substituted into the variable BS area on the memory. Then, the process proceeds to step S413. Step S
At 413, frame_motion_type is obtained from the value of BS.
Specifically, the value of the BS, which is 2-bit data, may be copied to the variable frame_motion_type on the memory. Then, the process proceeds to step S414. In step S414,
Delete 2 bits from the beginning of the input binary data string,
The bit is the head. Then, step S4 in FIG.
Proceed to 18. In step S415, the first two bits of the input binary data string are read from the input / output port, and are substituted into the area of the variable BS on the memory. Then, the process proceeds to step S416. In step S416, B
Field_motion_type is obtained from the value of S. In particular,
The value of BS, which is 2-bit data, is stored in a variable fi on the memory.
Just copy it to eld_motion_type. Then, the process proceeds to step S417. In step S417, two bits are deleted from the head of the input binary data string, and the third bit is set as the head. Then, the process proceeds to step S418 in FIG.

【0016】図10のステップS418で、メモリ上の
変数picture_structure 、frame_pred_frame_dct、macr
oblock_intra 、macroblock_pattern を調べ、picture_
structure がframe構造であり、かつ、frame_pred
_frame_dctの値が0であり、かつ、macroblock_intraあ
るいはmacroblock_patternのどちらかが0でないかをチ
ェックする。真であればステップS419に進み、偽で
あればステップS422に進む。ステップS419で、
入出力ポート33から、入力バイナリデータ列の先頭1
ビット分を読み込み、それをメモリ32上の変数BSの
領域に代入する。そして、ステップS420に進む。ス
テップS420で、BSの値からdct_typeを求める。具
体的には、1ビットのデータであるBSの値を、メモリ
32上の変数dct_typeにコピーすれば良い。そして、ス
テップS421に進む。ステップS421で、入力バイ
ナリデータ列の先頭から1ビット分削除し、2ビット目
を先頭とする。そして、ステップS422に進む。そし
て、ステップS422で、この一連の処理は終わる。
At step S418 in FIG. 10, the variables picture_structure, frame_pred_frame_dct,
Check oblock_intra and macroblock_pattern,
structure is a frame structure and frame_pred
It is checked whether the value of _frame_dct is 0 and either macroblock_intra or macroblock_pattern is not 0. If true, the process proceeds to step S419, and if false, the process proceeds to step S422. In step S419,
From the input / output port 33, the first 1
The bits are read and assigned to the area of the variable BS on the memory 32. Then, the process proceeds to step S420. In step S420, dct_type is obtained from the value of BS. Specifically, the value of BS, which is 1-bit data, may be copied to the variable dct_type on the memory 32. Then, the process proceeds to step S421. In step S421, one bit is deleted from the head of the input binary data string, and the second bit is set as the head. Then, the process proceeds to step S422. Then, in step S422, this series of processing ends.

【0017】このようにして、マイクロプロセッサを用
いて、macroblock_modesに関する復号が行われる。
In this manner, the decoding relating to macroblock_modes is performed using the microprocessor.

【0018】[0018]

【発明が解決しようとする課題】ところで、上記ステッ
プS405、ステップS409、ステップS410、ス
テップS411、ステップS418の全ての分岐におい
て、真である場合、ステップS402、ステップS40
6、ステップS412、ステップS419での4箇所
で、入出力ポート33から、入力バイナリデータ列を読
み込まなくてはいけない。読み込む処理には時間がかか
るため、復号処理を高速に行うことが出来ないという欠
点がある。
By the way, if true in all the branches of the above steps S405, S409, S410, S411, and S418, step S402, step S40
6, the input binary data string must be read from the input / output port 33 at four locations in step S412 and step S419. Since the reading process takes time, there is a disadvantage that the decoding process cannot be performed at high speed.

【0019】すなわち、従来の復号化方法においては、
1つの値を復号するのに、1回、入力バイナリデータ列
を読み込まなくてはいけないので、復号処理を高速に行
いたいという要望に答えられていない。
That is, in the conventional decoding method,
Since it is necessary to read the input binary data sequence once to decode one value, there is no answer to the demand for high-speed decoding.

【0020】本発明は、このような実情に鑑みてなされ
たものであり、複数の原データを圧縮したバイナリデー
タ列を復号する際に、復号処理を高速に行い得るような
可変長復号化方法及び可変長復号化装置の提供を目的と
する。
The present invention has been made in view of such circumstances, and has a variable length decoding method capable of performing high-speed decoding when decoding a binary data string obtained by compressing a plurality of original data. And a variable-length decoding device.

【0021】[0021]

【課題を解決するための手段】本発明に係る可変長復号
化方法によれば、複数の原データを圧縮したバイナリデ
ータ列を入力とし、上記バイナリデータ列から復号を行
い、上記複数の原データを復元する可変長復号化方法に
おいて、上記複数の原データに対応する符号の内、各符
号が最長の符号とした場合の合計の符号長(例えば、1
4ビット)だけ、上記バイナリデータ列からデータを読
み込み、上記読み込んだデータから、上記複数の原デー
タを復号すると共に、上記複数の原データの復号に際し
使用したビット数(UB)を求め、上記使用したビット
数だけ、上記バイナリデータ列の先頭から削除すること
により、上述した課題を解決する。
According to the variable length decoding method of the present invention, a binary data string obtained by compressing a plurality of original data is input, and decoding is performed from the binary data string. In the variable-length decoding method for restoring the code, the total code length (for example, 1) when each code is the longest code among the codes corresponding to the plurality of original data.
4 bits), the data is read from the binary data string, the plurality of original data are decoded from the read data, and the number of bits (UB) used in decoding the plurality of original data is obtained. The above-described problem is solved by deleting the number of bits from the beginning of the binary data string.

【0022】また、本発明に係る可変長復号化装置によ
れば、複数の原データを圧縮したバイナリデータ列を入
力とし、上記バイナリデータ列から復号を行い、上記複
数の原データを復元する可変長復号化装置において、上
記複数の原データに対応する符号の内、各符号が最長の
符号とした場合の合計の符号長だけ、上記バイナリデー
タ列からデータを読み込み、上記読み込んだデータを格
納する記憶素子を有し、上記記憶素子に記憶された上記
読み込んだデータから、上記複数の原データを復号する
と共に、上記複数の原データの復号に際し使用したビッ
ト数を求める復元データ生成回路を有し、上記使用した
ビット数だけ、上記バイナリデータ列の先頭から削除す
るデータ削除回路を有することにより、上述した課題を
解決する。
Further, according to the variable length decoding device of the present invention, a binary data string obtained by compressing a plurality of original data is input, decoding is performed from the binary data string, and the variable length decoding apparatus restores the plurality of original data. In the long decoding device, data is read from the binary data string by a total code length when each code is the longest code among the codes corresponding to the plurality of original data, and the read data is stored. And a restoration data generation circuit for decoding the plurality of original data from the read data stored in the storage element and obtaining the number of bits used in decoding the plurality of original data. The above-mentioned problem is solved by providing a data deletion circuit for deleting the number of used bits from the beginning of the binary data string.

【0023】本発明の可変長復号化方法及び可変長復号
化装置によれば、入力データ列の先頭から、一度、多め
に(例えば、8〜128ビット程度)入力バイナリデー
タ列を読み込み、それをメモリ32上の変数BSの領域
に格納する。そして、このBSから、複数のデータに関
する復号を行い、それぞれの復号において使用したビッ
ト数の合計を求め、その合計数の値だけ入力バイナリデ
ータ列の先頭から削除している。これにより、一度の入
力バイナリデータ列の読み込みで、複数のデータに関す
る復号を行うことができ、復号処理を高速に行うことが
可能である。
According to the variable length decoding method and the variable length decoding device of the present invention, an input binary data sequence is read from the beginning of the input data sequence once more (for example, about 8 to 128 bits), and is read. It is stored in the area of the variable BS on the memory 32. Then, decoding of a plurality of data is performed from the BS, the total number of bits used in each decoding is obtained, and the value of the total number is deleted from the head of the input binary data string. Thereby, decoding of a plurality of data can be performed by reading the input binary data sequence once, and the decoding process can be performed at high speed.

【0024】[0024]

【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照しながら説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0025】図1は、本発明の実施の形態を説明するた
めの図である。この本発明の実施の形態においては、複
数の原データを圧縮したバイナリデータ列を入力とし、
上記バイナリデータ列から復号を行い、上記複数の原デ
ータを復元する可変長復号化方法を前提としている。
FIG. 1 is a diagram for explaining an embodiment of the present invention. In the embodiment of the present invention, a binary data string obtained by compressing a plurality of original data is input,
A variable length decoding method for decoding from the binary data sequence and restoring the plurality of original data is assumed.

【0026】図1においては、ステップS11で復号処
理が開始されると、最初のステップS12において、上
記複数の原データに対応する符号の内、各符号が最長の
符号とした場合の合計の符号長だけ、上記バイナリデー
タ列からメモリにデータを読み込んでいる。次のステッ
プS13では、上記読み込んだデータから、上記複数の
原データを復号している。次のステップS14では、上
記複数の原データの復号に際し使用したビット数を求
め、次のステップS15に進んで、上記使用したビット
数だけ、上記バイナリデータ列の先頭から削除し、次の
ステップS16で処理を終了している。ここで、ステッ
プS13、S14、S15の順序は前後してもよい。
In FIG. 1, when the decoding process is started in step S11, in a first step S12, a total code when each code is the longest code among the codes corresponding to the plurality of original data. Only the length is read from the binary data string into the memory. In the next step S13, the plurality of original data are decoded from the read data. In the next step S14, the number of bits used in decoding the plurality of original data is obtained, and the process proceeds to the next step S15, where the number of used bits is deleted from the beginning of the binary data string, and the next step S16 Ends the processing. Here, the order of steps S13, S14, and S15 may be changed.

【0027】このような処理を実現するためのハードウ
ェア構成の一例を図2に示す。
FIG. 2 shows an example of a hardware configuration for realizing such processing.

【0028】図2は、一般的なマイクロプロセッサの内
部構成を示しており、このマイクロプロセッサは、論理
演算回路31、メモリ32、入出力ポート33、バス線
34、及び制御回路35を有して構成されている。入出
力ポート33からデータが入力され、バス線34を介し
てメモリ32に取り込まれる。取り込まれたデータは、
メモリ32からバス線34を介して論理演算回路31に
供給され、論理演算回路(ALU)31で所望の処理が
行われ、メモリ32にフィードバックされる。全ての処
理が終わると、結果は、バス線34を介して入出力ポー
ト33に出力される。これらの制御は、制御回路35に
て行われる。このようにして、データはマイクロプロセ
ッサで所望の処理が行われていく。
FIG. 2 shows the internal configuration of a general microprocessor, which has a logical operation circuit 31, a memory 32, an input / output port 33, a bus line 34, and a control circuit 35. It is configured. Data is input from the input / output port 33 and is taken into the memory 32 via the bus line 34. The captured data is
The data is supplied from the memory 32 to the logical operation circuit 31 via the bus line 34, the logical operation circuit (ALU) 31 performs desired processing, and is fed back to the memory 32. When all processing is completed, the result is output to the input / output port 33 via the bus line 34. These controls are performed by the control circuit 35. In this manner, the data is subjected to desired processing by the microprocessor.

【0029】次に、上記実施の形態を、前述したいわゆ
るMPEG2により圧縮符号化された符号データ列を復
号化する場合の処理手順の具体例について説明する。
Next, a description will be given of a specific example of a processing procedure for decoding the above-described embodiment of a code data string which has been compression-encoded by the so-called MPEG2.

【0030】図3〜図5は、前記図7と共に説明したM
PEG2符号化データの内のマクロブロックモード(ma
croblock_modes)の部分の符号について復号を行う手順
を示しており、例えば図2に示すマイクロプロセッサに
より可変長復号を行う場合の処理手順を示している。
FIGS. 3 to 5 show the M shown in FIG.
Macroblock mode (ma) in PEG2 encoded data
2 shows a procedure for decoding the code of the part of (croblock_modes), for example, a processing procedure when performing variable length decoding by the microprocessor shown in FIG.

【0031】この具体例においては、図3〜図5の一連
の操作を行う前に、予め、spatial_temporal_weight_co
de_flag 等は復号され、図2のメモリ32上のそれぞれ
の領域に格納されているとする。
In this specific example, before performing the series of operations shown in FIGS. 3 to 5, spatial_temporal_weight_co
It is assumed that de_flag and the like are decoded and stored in respective areas on the memory 32 in FIG.

【0032】図3において、ステップS101でこの一
連の操作は始まり、ステップS102に進む。
In FIG. 3, this series of operations starts in step S101, and proceeds to step S102.

【0033】ステップS102で、図2の入出力ポート
33から、入力バイナリデータ列(符号データ列)の先
頭14ビット分を読み込み、それをメモリ32上の変数
BSの領域に代入する。そして、ステップS103に進
む。ステップS103で、BSの値を先頭から調べてい
き、macroblock_type の可変長符号のパターンと一致す
るパターンを検出し、そのパターンに対応する復号デー
タをmacroblock_typeとする。つまり、対応する復号デ
ータをメモリ32上の変数macroblock_type の領域に代
入する。この一致するパターンの検出は、論理演算回路
31で行われる。また、この一致したパターンの長さ
(復号において使用したビット数)をメモリ32上の変
数UBの領域に代入する。macroblock_type に関する符
号長は、最短で1ビット、最長で9ビットである(図7
参照)から、14ビット分のデータ(符号)をコピーし
たBSの値のみから、必ず復号できる(UB=1〜
9)。次にステップS104に進む。ステップS104
で、BSの先頭(左端)からUBビット分削除し、UB
ビット分シフトする。これにより、入力バイナリデータ
列の先頭からUBビット分削除しUB+1ビット目を先
頭とした後の「入力バイナリデータ列の先頭から14−
UBビット分の値」と、BSの値は一致する。そして、
ステップS105に進む。
In step S102, the leading 14 bits of the input binary data sequence (code data sequence) are read from the input / output port 33 of FIG. 2 and are substituted into the variable BS area on the memory 32. Then, the process proceeds to step S103. In step S103, the value of the BS is checked from the beginning, a pattern that matches the pattern of the variable-length code of macroblock_type is detected, and decoded data corresponding to the pattern is defined as macroblock_type. That is, the corresponding decoded data is assigned to the area of the variable macroblock_type on the memory 32. This matching pattern is detected by the logical operation circuit 31. Further, the length of the matched pattern (the number of bits used in decoding) is assigned to the area of the variable UB on the memory 32. The minimum code length for macroblock_type is 1 bit and the maximum is 9 bits (FIG. 7).
), It is always possible to decode from only the BS value obtained by copying the 14-bit data (code) (UB = 1 to
9). Next, the process proceeds to step S104. Step S104
To delete UB bits from the head (left end) of the BS,
Shift by bits. As a result, UB bits are deleted from the beginning of the input binary data string, and the UB + 1-th bit is set to "14-from the beginning of the input binary data string.
The value of the UB bit "and the value of the BS match. And
Proceed to step S105.

【0034】ステップS105で、メモリ32上の変数
spatial_temporal_weight_code_flag 、spatial_tempor
al_weight_code_table_indexを調べ、spatial_temporal
_weight_code_flag が1であり、かつ、spatial_tempor
al_weight_code_table_indexが0でないかをチェックす
る。このチェックは、論理演算回路31で行われる。真
であればステップS106に進み、偽であれば図4のス
テップS109に進む。ステップS106で、BSの値
からspatial_temporal_weight_codeを求める。具体的に
は、BSの先頭(左端)の2ビットのデータを、メモリ
32上の変数spatial_temporal_weight_codeにコピーす
れば良い。そして、ステップS107に進む。ステップ
S107で、UB+2を新たにUBとする。そして、ス
テップS108に進む。ステップS108で、BSの先
頭から2ビット分削除し、2ビット分シフトする。そし
て、図4のステップS109に進む。
In step S105, the variables in the memory 32
spatial_temporal_weight_code_flag, spatial_tempor
Examine al_weight_code_table_index and find spatial_temporal
_weight_code_flag is 1 and spatial_tempor
Check if al_weight_code_table_index is not 0. This check is performed by the logical operation circuit 31. If true, the process proceeds to step S106, and if false, the process proceeds to step S109 in FIG. In step S106, spatial_temporal_weight_code is determined from the value of BS. Specifically, the head (left end) 2-bit data of the BS may be copied to the variable spatial_temporal_weight_code on the memory 32. Then, the process proceeds to step S107. In step S107, UB + 2 is newly set as UB. Then, the process proceeds to step S108. In step S108, two bits are deleted from the head of the BS and shifted by two bits. Then, the process proceeds to step S109 in FIG.

【0035】図4のステップS109で、メモリ32上
の変数macroblock_motion_forward、macroblock_motion
_backwardを調べ、macroblock_motion_forward 、ある
いは、macroblock_motion_backwardの少なくとも一方が
0でないかをチェックする。真であればステップS11
0に進み、偽であれば図5のステップS118に進む。
ステップS110で、メモリ32上の変数picture_stru
cture を調べ、picture_structure がframe構造で
あるかをチェックする。真であればステップS111に
進み、偽であればステップS115に進む。ステップS
111で、メモリ32上の変数frame_pred_frame_dctを
調べ、frame_pred_frame_dctの値が0でないかをチェッ
クする。真であればステップS112に進み、偽であれ
ばステップS118に進む。ステップS112で、BS
の値からframe_motion_type を求める。具体的には、B
Sの先頭2ビットのデータを、メモリ32上の変数fram
e_motion_type にコピーすれば良い。そして、ステップ
S113に進む。ステップS113で、UB+2を新た
にUBとする。そして、ステップS114に進む。ステ
ップS114で、BSの先頭から2ビット分削除し、2
ビット分シフトする。そして、図5のステップS118
に進む。また、ステップS115で、BSの値からfiel
d_motion_type を求める。具体的には、BSの先頭2ビ
ットのデータを、メモリ32上の変数field_motion_typ
e にコピーすれば良い。そして、ステップS116に進
む。ステップS116で、UB+2を新たにUBとす
る。そして、ステップS117に進む。ステップS11
7で、BSの先頭から2ビット分削除し、2ビット分シ
フトする。そして、図5のステップS118に進む。
At step S109 in FIG. 4, the variables macroblock_motion_forward, macroblock_motion
Check _backward and check if at least one of macroblock_motion_forward or macroblock_motion_backward is not 0. If true, step S11
0, and if false, the process proceeds to step S118 in FIG.
In step S110, the variable picture_stru in the memory 32
Examine cture and check if picture_structure is a frame structure. If true, the process proceeds to step S111, and if false, the process proceeds to step S115. Step S
At 111, the variable frame_pred_frame_dct on the memory 32 is checked to see if the value of frame_pred_frame_dct is not zero. If true, the process proceeds to step S112, and if false, the process proceeds to step S118. In step S112, the BS
Find frame_motion_type from the value of. Specifically, B
The first two bits of S are stored in the variable fram
Just copy it to e_motion_type. Then, the process proceeds to step S113. In step S113, UB + 2 is newly set as UB. Then, the process proceeds to step S114. In step S114, two bits are deleted from the head of the BS, and
Shift by bits. Then, step S118 in FIG.
Proceed to. Also, in step S115, fiel is calculated from the value of BS.
Find d_motion_type. Specifically, the first two bits of BS data are stored in the variable field_motion_typ
Just copy it to e. Then, the process proceeds to step S116. In step S116, UB + 2 is newly set as UB. Then, the process proceeds to step S117. Step S11
In step 7, two bits are deleted from the head of the BS and shifted by two bits. Then, the process proceeds to step S118 in FIG.

【0036】図5のステップS118で、メモリ32上
の変数picture_structure 、frame_pred_frame_dct、ma
croblock_intra、macroblock_patternを調べ、picture_
structure がframe構造であり、かつ、frame_pred
_frame_dctの値が0であり、かつ、macroblock_intraあ
るいはmacroblock_patternのどちらかが0でないかをチ
ェックする。真であればステップS119に進み、偽で
あればステップS121に進む。ステップS119で、
BSの値からdct_typeを求める。具体的には、
BSの先頭1ビットのデータを、メモリ32上の変数dc
t_typeにコピーすれば良い。そして、ステップS120
に進む。ステップS120で、UB+1を新たにUBと
する。そして、ステップS121に進む。
At step S118 in FIG. 5, the variables picture_structure, frame_pred_frame_dct, ma
Examine croblock_intra and macroblock_pattern,
structure is a frame structure and frame_pred
It is checked whether the value of _frame_dct is 0 and either macroblock_intra or macroblock_pattern is not 0. If true, the process proceeds to step S119, and if false, the process proceeds to step S121. In step S119,
Dct_type is obtained from the value of BS. In particular,
The data of the first bit of BS is stored in the variable dc on the memory 32.
Just copy it to t_type. Then, step S120
Proceed to. In step S120, UB + 1 is newly set as UB. Then, the process proceeds to step S121.

【0037】ステップS121で、入力バイナリデータ
列の先頭からUBビット分削除し、UB+1ビット目を
先頭とする。これは、具体的には、macroblock_modes以
降の別の復号において、入力バイナリデータ列を先頭か
ら読み込むとき、UB+1ビット目から読み込むことを
意味する。そして、ステップS122に進む。このステ
ップS122で、この一連の処理は終わる。
In step S121, UB bits are deleted from the head of the input binary data string, and the UB + 1 bit is set as the head. Specifically, this means that in another decoding after macroblock_modes, when the input binary data string is read from the head, it is read from the UB + 1th bit. Then, the process proceeds to step S122. In step S122, this series of processing ends.

【0038】このようにして、例えば図2に示すような
マイクロプロセッサにより、macroblock_modesに関する
復号が行われる。
In this manner, decoding relating to macroblock_modes is performed by, for example, a microprocessor as shown in FIG.

【0039】ここで、ステップS102において入力バ
イナリデータ列から14ビット取ってメモリ32に読み
込むことについて説明する。
Here, a description will be given of how the 14 bits are taken from the input binary data string and read into the memory 32 in step S102.

【0040】前記図7から分かるように、macroblock_m
odesに関する符号は、最長で、 「macroblock_type の最長の符号の長さ」+「spatial_
temporal_weight_codeの符号長」+「frame_motion_typ
e の符号長、あるいは、field_motion_type の符号長」
+「dct_typeの符号長」=9+2+2+1=14ビット である。従って、ステップS102において14ビット
読み込むことで、必ず、ずなわち最長の場合を考慮して
も、全て復号できる。つまり、ステップS102におい
て最長の場合を考慮したビット数だけ読み込んでいるの
である。
As can be seen from FIG. 7, macroblock_m
The code related to odes is the longest, "the length of the longest code of macroblock_type" + "spatial_
code length of temporal_weight_code "+" frame_motion_typ
The code length of e or the code length of field_motion_type "
+ “Code length of dct_type” = 9 + 2 + 2 + 1 = 14 bits. Therefore, by reading 14 bits in step S102, all decoding can be performed even if the longest case is considered. That is, in step S102, only the number of bits in consideration of the longest case is read.

【0041】このように、本発明の実施の形態において
は、一度、多めに(例えば、8〜128ビット程度)入
力バイナリデータ列をステップS102において読み込
み、それをメモリ32上の変数BSの領域に格納する。
そして、このBSの内容から、複数のデータに関する復
号を行い、それぞれの復号において使用したビット数の
合計(UB)を求め、ステップS121において、その
合計数の値だけ入力バイナリデータ列の先頭から削除し
ている。これにより、一度の入力バイナリデータ列の読
み込みで、複数のデータに関する復号を行うことがで
き、復号処理を高速に行うことが可能である。
As described above, in the embodiment of the present invention, the input binary data sequence is read once more (for example, about 8 to 128 bits) in step S102, and is read into the area of the variable BS on the memory 32. Store.
Then, decoding of a plurality of data is performed from the contents of the BS, and the total number of bits (UB) used in each decoding is obtained. In step S121, the value of the total number is deleted from the head of the input binary data string. doing. Thereby, decoding of a plurality of data can be performed by reading the input binary data sequence once, and the decoding process can be performed at high speed.

【0042】また、マイクロプロセッサの種類によって
は、図2に示す構成において、さらに、レジスタファイ
ルを有する場合がある。レジスタファイルは、図2のバ
ス線34に接続されており、メモリ32と論理演算回路
31とにアクセス出来る。これは、メモリ32の読み書
きが比較的低速なので、高速にアクセスできるようにメ
モリ32と論理演算回路31の間にレジスタファイルを
設けているものである。この場合、上記BSの値、すな
わち上記入力バイナリデータ列から読み込んだデータ
を、上記レジスタファイル上に常駐させることにより、
さらに高速処理が可能となる。
Depending on the type of microprocessor, the configuration shown in FIG. 2 may further include a register file. The register file is connected to the bus line 34 in FIG. 2 and can access the memory 32 and the logical operation circuit 31. Since the reading and writing of the memory 32 is relatively slow, a register file is provided between the memory 32 and the logical operation circuit 31 for high-speed access. In this case, by making the value of the BS, that is, the data read from the input binary data string reside on the register file,
Further, high-speed processing becomes possible.

【0043】以上説明したような本発明の実施の形態
は、MPEG2符号化データの他の部分に対しても適用
可能であり、他の具体例として、符号化データの動きベ
クトル(motion_vector) の部分について、図6を参照
しながら説明する。
The embodiment of the present invention as described above can be applied to other portions of the MPEG2 encoded data. As another specific example, the motion vector (motion_vector) portion of the encoded data is used. Will be described with reference to FIG.

【0044】図6は、MPEG2符号化データのmotion
_vectorの部分の符号を示している。このmotion_vector
の部分の符号は、最初に1〜11ビットの符号に符号
化されたmotion_code[r][s][0]がある。次に、f_code
[s][0]が1でなく、かつ、motion_code[r][s][0]が0で
ないときは、1〜8ビットの符号に符号化されたmotion
_residual[r][s][0]がある。次に、dmvが1のとき
は、1〜2ビットの符号に符号化されたdmvector[0] が
ある。
FIG. 6 shows the motion of MPEG2 encoded data.
The sign of the _vector part is shown. This motion_vector
Is a motion_code [r] [s] [0] which is first coded into a code of 1 to 11 bits. Then, f_code
If [s] [0] is not 1 and motion_code [r] [s] [0] is not 0, the motion encoded into a 1- to 8-bit code
There is _residual [r] [s] [0]. Next, when dmv is 1, there is dmvector [0] encoded in a code of 1 to 2 bits.

【0045】次に、1〜11ビットの符号に符号化され
たmotion_code[r][s][1]がある。次に、f_code[s][1]が
1でなく、かつ、motion_code[r][s][1]が0でないとき
は、1〜8ビットの符号に符号化されたmotion_residua
l[r][s][1]がある。次に、dmvが1のときは、1〜2
ビットの符号に符号化されたdmvector[1] がある。
Next, there is motion_code [r] [s] [1] encoded into a code of 1 to 11 bits. Next, when f_code [s] [1] is not 1 and motion_code [r] [s] [1] is not 0, motion_residua encoded into a 1- to 8-bit code
There is l [r] [s] [1]. Next, when dmv is 1, 1-2
There is dmvector [1] encoded as a bit code.

【0046】この部分に、本発明の実施の形態を適用す
る場合、まず、考えられる最大の長さである11+8+
2+11+8+2=42ビットを、入力バイナリデータ
列の先頭から読み込む。そして、読み込んだデータか
ら、最初に、motion_code[r][s][0]を復号し、次に、必
要に応じて、motion_residual[r][s][0]を復号し、次
に、必要に応じて、dmvector[0] を復号する。さらに、
motion_code[r][s][1]を復号し、次に、必要に応じて、
motion_residual[r][s][1]を復号し、次に、必要に応じ
て、dmvector[1] を復号する。そして、これら復号に使
用された合計のビット数を、入力バイナリデータ列の先
頭から削除する。このようにして、一度の入力バイナリ
データ列の読み込みで、複数のデータに関する復号を行
うことができ、復号処理を高速に行うことが可能であ
る。
When the embodiment of the present invention is applied to this part, first, the maximum possible length is 11 + 8 +
2 + 11 + 8 + 2 = 42 bits are read from the head of the input binary data string. Then, from the read data, first, motion_code [r] [s] [0] is decoded, and then, if necessary, motion_residual [r] [s] [0] is decoded. Decrypts dmvector [0] according to. further,
Decode motion_code [r] [s] [1] and then, if necessary,
Decode motion_residual [r] [s] [1] and then, if necessary, dmvector [1]. Then, the total number of bits used for the decoding is deleted from the head of the input binary data sequence. In this way, decoding of a plurality of data can be performed by reading the input binary data sequence once, and the decoding process can be performed at high speed.

【0047】また、本発明は、MPEG2符号化データ
に関する復号に限定されないことは勿論である。
The present invention is of course not limited to decoding of MPEG2 encoded data.

【0048】[0048]

【発明の効果】本発明によれば、複数の原データを圧縮
したバイナリデータ列を復号する際に、複数の原データ
に相当するデータをバイナリデータ列から読み込んでい
るため、読み込んだデータから複数の復元データを得る
ことができ、データの読み込み回数を少なくすることが
でき、復号処理を高速に行うことが可能となる。
According to the present invention, when decoding a binary data string obtained by compressing a plurality of original data, data corresponding to the plurality of original data is read from the binary data string. Can be obtained, the number of times of reading data can be reduced, and the decoding process can be performed at high speed.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の基本的な実施の形態を示すフローチャ
ートである。
FIG. 1 is a flowchart showing a basic embodiment of the present invention.

【図2】本発明の実施の形態が適用されるハードウェア
の一例の概略構成を示すブロック図である。
FIG. 2 is a block diagram illustrating a schematic configuration of an example of hardware to which an embodiment of the present invention is applied;

【図3】本発明の実施の形態の復号化処理手順の具体例
を示すフローチャートである。
FIG. 3 is a flowchart illustrating a specific example of a decoding processing procedure according to the embodiment of the present invention.

【図4】本発明の実施の形態の復号化処理手順の具体例
の図3の続きを示すフローチャートである。
FIG. 4 is a flowchart showing a continuation of FIG. 3 of a specific example of a decoding processing procedure according to the embodiment of the present invention;

【図5】本発明の実施の形態の復号化処理手順の具体例
の図4の続きを示すフローチャートである。
FIG. 5 is a flowchart showing a specific example of a decoding processing procedure according to the embodiment of the present invention, which is continued from FIG. 4;

【図6】MPEG2符号化データの動きベクトル(moti
on_vector) の部分の符号を示す図である。
FIG. 6 shows a motion vector (moti) of MPEG2 encoded data.
FIG. 14 is a diagram illustrating reference numerals of (on_vector).

【図7】MPEG2符号化データのマクロブロックモー
ド(macroblock_modes)の部分の符号を示す図である。
FIG. 7 is a diagram illustrating codes of a macroblock mode (macroblock_modes) portion of MPEG2 encoded data.

【図8】従来例の復号化処理手順の具体例を示すフロー
チャートである。
FIG. 8 is a flowchart showing a specific example of a conventional decoding processing procedure.

【図9】従来例の復号化処理手順の具体例の図8の続き
を示すフローチャートである。
FIG. 9 is a flowchart showing a continuation of FIG. 8 of a specific example of a conventional decoding processing procedure.

【図10】従来例の復号化処理手順の具体例の図9の続
きを示すフローチャートである。
FIG. 10 is a flowchart showing a continuation of FIG. 9 of a specific example of the decoding processing procedure of the conventional example.

【符号の説明】[Explanation of symbols]

31 論理演算回路、 32 メモリ、 33 入出力
ポート、 34 バス線、 35 制御回路
31 logic operation circuit, 32 memory, 33 input / output port, 34 bus line, 35 control circuit

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 複数の原データを圧縮したバイナリデー
タ列を入力とし、上記バイナリデータ列から復号を行
い、上記複数の原データを復元する可変長復号化方法に
おいて、 上記バイナリデータ列から上記複数の原データに相当す
るデータを読み込むデータ読み込み工程と、 上記読み込んだデータから、上記複数の原データを復号
すると共に、上記複数の原データの復号に際し使用した
ビット数を求め、上記使用したビット数だけ、上記バイ
ナリデータ列の先頭から削除する工程とを有することを
特徴とする可変長復号化方法。
1. A variable length decoding method for receiving a binary data string obtained by compressing a plurality of original data, decoding the binary data string, and restoring the plurality of original data, comprising the steps of: A data reading step of reading data corresponding to the original data of the above; from the read data, decoding the plurality of original data, obtaining the number of bits used in decoding the plurality of original data, And deleting the data from the beginning of the binary data string.
【請求項2】 上記データ読み込み工程は、上記複数の
原データに対応する符号の内、各符号が最長の符号とし
た場合の合計の符号長だけ、上記バイナリデータ列から
データを読み込むことを特徴とする請求項1記載の可変
長復号化方法。
2. The data reading step reads data from the binary data sequence by a total code length when each of the codes corresponding to the plurality of original data is the longest code. The variable length decoding method according to claim 1, wherein
【請求項3】 上記復号は、マイクロプロセッサを使用
して行われ、上記読み込んだデータは、上記マイクロプ
ロセッサ内のレジスタファイルに常駐させることを特徴
とする請求項1記載の可変長復号化方法。
3. The variable length decoding method according to claim 1, wherein said decoding is performed using a microprocessor, and said read data is resident in a register file in said microprocessor.
【請求項4】 上記読み込んだデータから上記複数の原
データのうち一番最初の原データを復号をした時点で、
上記一番最初の原データに使用したビット数だけ上記読
み込んだデータの先頭部分を削除して、上記一番最初の
原データに使用したビット数だけシフトして、上記一番
最初の原データに使用したビット数だけ後方に意味のな
いデータを付け加えた加工データを作成し、上記複数の
原データの内、二番目の原データは、上記加工データを
用いて復号することを特徴とする請求項1記載の可変長
復号化方法。
4. When the first original data of the plurality of original data is decoded from the read data,
The first part of the read data is deleted by the number of bits used for the first original data, and shifted by the number of bits used for the first original data. The processing data created by adding meaningless data to the rear by the number of bits used, and the second original data of the plurality of original data is decoded using the processed data. 2. The variable length decoding method according to claim 1.
【請求項5】 複数の原データを圧縮したバイナリデー
タ列を入力とし、上記バイナリデータ列から復号を行
い、上記複数の原データを復元する可変長復号化装置に
おいて、 上記複数の原データに対応する符号の内、各符号が最長
の符号とした場合の合計の符号長だけ、上記バイナリデ
ータ列からデータを読み込み、上記読み込んだデータを
格納する記憶手段と、 上記記憶手段に記憶された上記読み込んだデータから、
上記複数の原データを復号すると共に、上記複数の原デ
ータの復号に際し使用したビット数を求める復元データ
生成手段と、 上記使用したビット数だけ、上記バイナリデータ列の先
頭から削除するデータ削除手段とを有することを特徴と
する可変長復号化装置
5. A variable length decoding apparatus which receives a binary data string obtained by compressing a plurality of original data, decodes the binary data string, and restores the plurality of original data. Memory means for reading data from the binary data string by the total code length when each code is the longest code, and storing the read data; and the reading means stored in the storage means. From the data
A decoding means for decoding the plurality of original data and obtaining the number of bits used in decoding the plurality of original data; and a data deleting means for deleting the number of used bits from the beginning of the binary data string. Variable length decoding device characterized by having
JP15393596A 1996-06-14 1996-06-14 Variable length decoding method and device Withdrawn JPH104360A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15393596A JPH104360A (en) 1996-06-14 1996-06-14 Variable length decoding method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15393596A JPH104360A (en) 1996-06-14 1996-06-14 Variable length decoding method and device

Publications (1)

Publication Number Publication Date
JPH104360A true JPH104360A (en) 1998-01-06

Family

ID=15573302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15393596A Withdrawn JPH104360A (en) 1996-06-14 1996-06-14 Variable length decoding method and device

Country Status (1)

Country Link
JP (1) JPH104360A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4899214A (en) * 1988-09-02 1990-02-06 Itek Graphic Corp. Low cost color scanner

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4899214A (en) * 1988-09-02 1990-02-06 Itek Graphic Corp. Low cost color scanner

Similar Documents

Publication Publication Date Title
US5706346A (en) Scrambling apparatus and descrambling apparatus
US6725372B1 (en) Digital watermarking
US6606393B1 (en) Message authentication code using image histograms
EP0888008B1 (en) Scramble apparatus
Han et al. Detection and correction of transmission errors in JPEG images
CA2134681C (en) Apparatus and method for encoding and decoding images
US5991403A (en) Recoverable cryptographic transformation on YUV data suitable for compressions
EP2317476B1 (en) Multimedia signature coding and decoding
US6516318B2 (en) Management system and terminal apparatus to manage and control distribution and use of software and the like
JPH08111867A (en) Coding method and decoding method for dynamic image
JPH06252775A (en) Decoder
US6414608B1 (en) Variable length code decoding device, digital broadcast receiving apparatus, and DVD reproducing apparatus
JPH11284843A (en) Method and device for incorporating watermark in bit stream representation of digital image sequence
EP0817498A1 (en) MPEG-2 decoding with a reduced RAM requisite by ADPCM recompression before storing MPEG-2 decompressed data optionally after a subsampling algorithm
US5854799A (en) Video decoder with functions to detect and process errors in encoded video data
KR100276037B1 (en) Variable length decoding and method for decoding two codes per clock cycle
US5742351A (en) Device for encoding sequences of frames constituted by film-type images and video-type images, and corresponding decoding device
EP0738084A2 (en) Image decoding apparatus
US5963342A (en) Image processing apparatus and method thereof
KR20060101092A (en) Security method of moving picture for mobile communication terminal
JP3185763B2 (en) Video encoding device
JP3340157B2 (en) Scramble device
JPH104360A (en) Variable length decoding method and device
JP3262761B2 (en) Error tolerant mode video codec method and apparatus
JP2776284B2 (en) Image coding device

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030902