明 細 書 可変長符号化方法および可変長符号化装置 技術分野
本発明は、 可変長符号化方法および可変長符号化装置に関し、 特に画像符号化 方式の規格である MP EG 4および H. 263における可変長符号化を実現する 可変長符号化方法および可変長符号化装置に関するものである。 背景技術
動画像データに対し帯域圧縮技術を用いて符号化および複号化を行う方式と して、 I SOで規格化された MP EG (Mo V i n g P i c t u r e Co d i n g E e r t s G r o u p ) 方式や I TU— Tで勧告された H. 263 方式などがある。 これらの方式は、 画面内の相関を利用して、 画面內を複数画素 力、ら構成されるプロックに分割し、 このブロック内のデータを直交変換方式の 1 つである DCT (D i s c r e t e Co s i n e Tr a n s f o rm, 離散 コサイン変換) を行い、 量子化、 VLC (Va r i a b l e L e n g t h C o d e, 可変長符号) の各処理を施して画像データの圧縮を実現することを基本 としている。
この VLCは、 DCTを行った結果得られた DCT係数に対し、 先行するゼロ の係数の個数である Ru nと、 非ゼロの係数の値である L'e v e 1とその非ゼロ の係数が最後であるかどうかを示す L a s tを、 (L a s 't、 Ru n、 L e V e 1 ) の組として、 これに一意的な符号を割り当てて符号化をネ亍ぅものである。
MPEG4においては、 一意的な符号を割り当てる V L Cテーブルが定義され ているが、 この VLCテーブル上に VLCが定義されていない場合に対応させる ために、 3つのエスケープモードを適用している。第 1のエスケープモードは、 ( La s t, R n, Le v e l) の組に対し、 Le v e lの絶対値から、 VL C テーブルにおいて L a s t、 Ru nに対応する最大の L e v e 1の値である LM AXを減算した後に、 その結果に対し再度 VLCテーブルにより VLCを行うモ
ードである。 第 2のエスケープモードは、 (L a s t、 Rian、 L e V e 1 ) の組 に対し、 Runの値から、 VLCテーブルにおいて L a Λ、 L e v e 1に対応 する最大の Ru nの値である RMAXに 1を加算した値を減算し、 その結果に対 し再度 VLCテーブルにより VLCを行うモードである。 第 3のエスケープモー ドは、 上記の組に対し、 これを FLC (F i X e d Le n g t h C o d e, 固定長符号) に変換するモードである。
また、 H. 263方式などは MP EG 4と同様に一意的½符号を割り当てる V LCテーブルが定義されているが、 エスケープモードは F LCに変換するモード のみである。
以下、 第 12図を用いて従来の MPEG4における VL.Cの処理チャートを説 明する。 ': ''
まず、 一次元配列に並び替えた DC T係数から、 先行 るゼロの係数である R tinと、 非ゼロの係数値である L e V e 1と、 その非ゼロの係数が最後であるか どうかを示す L a s tを、 (La s t、 Run、 : L e v e l) の糸且として、 これに 一意的な符号を割り当てる VLC化を行い、 VLCの割り当てが出来ない場合に は、 3つのエスケープモードを適用する可変長符号化方法について説明する。 第 12図は、 従来の可変長符号化方法を説明するためのチャート図である。 第 12図において、 〇 (白丸) はデータが確定しているととを意味し、 〇 1か ら O 9はそれぞれの係数の処理工程を示す。 また、 符号ィ匕 Bは第 1のエスケープ モード、 符号化 Cは第 2のエスケープモード、 符号化 Di 第 3のエスケープモー ドに対応している。 ' ,
以下、 各係数の処理工程について説明する。 '
符号化 Aにおいて、 O lは La s t、 Run、 L e v e 1によって活性化 ( すなわち、入出力時点でデータがそろっていること)する処理であり、 (La s t Run, Le v e l) の組に対応する V L Cテーブルが存在する場合には、 C o d e 1を〇 9に出力して処理は完了する。一方、 (L a s t、 Run、 L e v e 1) の組に対応する VLCテーブルが存在しない場合には > "存在しない"という ことを示す符号を符号化 Bに出力する。
符号化 Bにおいて、 O 2は O 1の処理で対応する VL0 ーブルが存在しない
場合に、 L a s tと Ru nによって活性ィ匕する処理であり、 (L a s t、 R u n) の組に対応する最大の L e V e 1の値である LMAXを O 3に出力する。
〇3は、 LMAXによって活性ィ匕する処理であり、 L e v e lの値から LMA Xを減算する処理を行い、 得られた N e wL e v e 1の値を O 4に出力する。
04は、 L a s t、 R u n、 N e wL e V e 1によって活性化する処理であ り、 (L a s t、 Ru n, N e wL e v e 1 ) の組に対応する V L Cテーブルが存 在する場合には、 C o d e 2を〇 9に出力して処理は完 TT "る。 一方、 (L a s t 、 R n, N e wL e v e 1 ) の組に対応する V L Cテーブルが存在しない場合 には、 "存在しない"ということを示す符号を符号ィヒ Cに出力する。
符号化 Cにおいて、 O 5は O 4の処理で対応する VL Cテーブルが存在しない 場合に、 L a s tと L e v e lによって活性ィ匕する処理であり、 (L a s t、 L e v e 1 ) の組に対応する最大の Ru nの値である RMAXを O 6に出力する。
〇6は、 RMAXによって活性ィ匕する処理であり、 Ru nの値から、 RMAX と 1の合計を減算する処理を行い、 得られた N e wRu nの値を 07に出力する 。
07は、 L a s t、 N e wRu n、 L e v e 1によって活性化する処理であ り、 (L a s t、 N e wRu n、 L e v e l ) の組に対応する V L Cテーブルが存 在する場合には、 C o d e 3を O 9に出力して処理は完了する。一方、 (L a s t 、 N e wRu n、 L e v e 1 ) の組に対応する V L Cテーブルが存在しない場合 には、 "存在しない"ということを示す符号を符号化 Dに出力する。
符号ィ匕 Dにおいて、 O 8は O 7の処理で対応する V L Cテーブルが存在しない 場合に、 L a s t、 Ru n, L e v e lを F L Cによって変換する処理であり、 F LCの C o d e 4を 09に出力する。
09は、 C o d e l〜C o d e 4の符号の中から、 有効 符号を活性化し、 そ の符号を出力する。
第 1 3図は従来の可変長符号化方法のサイクル毎の処理!^容をまとめた図であ る。 ':
以下、 各サイクル毎の動作について説明する。 なお、 ッコ内は図中の処理内 容を示す。
まず、 1サイクル目 (I T) は、 通常の VLCである、: L a s t、 Run, L e v e 1によって活性化する処理を行い(NORMAL VLC),その通常の V LCの結果がテーブルに存在するか否かの判定を行う (NORMAL VLC判 定)。
2サイクル目 (2 T) は、 1 Tの処理で通常の VLCの結果がテーブルに存在 するならば、 その結果を出力する (VLC結果)。 一方、通常の VLCの結果がテ 一ブルに存在しないならば、 L e v e lの値から、 L a s t、 Ru nに対応する 最大の L e v e 1の値である LMAXを減算して N e wL e v e 1の値を得る ( LMAX)0 ,.'
3サイクル目 (3Τ) は、 LMAXによって活性化すさ処理であり、 L a s t , Run, N e wL e v e 1の組に対応する VLCを行う (LMAX VLC) 。 そして、 L a s t、 Run、 N e wL e v e 1の組に対応する VLCの結果が テーブルに存在するか否かの判定を行う (LMAX VLC判定)。
4サイクル目 (4T) は、 3 Tの処理で LMAX VLCの結果がテーブルに 存在するならば、 その結果を出力する (VLC結果)。 一方、 LMAX VLCの 結果がテーブルに存在しないならば、 Runの値から、 L a s t、 L e v e lに 対応する最大の Ru nの値である RMAXに 1を加算した値を減算して N e wR unの値を得る (RMAX)。 '
5サイクル目 (5T) は、 RMAXによって活性化する処理であり、 L a s t 、 NewRun、 L e v e 1の組に対応する V L Cを行う (RMAX VLC) 。 そして、 L a s t、 NewRun、 L e v e lの組に 応する V L Cの結果が テーブルに存在するか否かの判定を行う (RMAX VLC判定)。
6サイクル目 (6T) は、 5 Tの処理で RMAX VLCの結果がテーブルに 存在するならば、 その結果を出力する (VLC結果)。 一方、 RMAX VLCの 結果がテーブルに存在しないならば、 L a s t、 Run, L e v e lを FLCに よって処理を行い、 その結果を出力する (FLC結果)。
しかしながら、 上記従来の MP EG4における VLCの処理チャートでは、 そ れぞれのテーブルを引く処理を 1サイクルとすると、 F L Cの結果を出力するま でに 6サイクル (6T) の処理が必要である。 これは 1プロック中に 1つの FL π'
Cが存在した場合に、 1マクロブロックでは F L Cが 6つ存在することになり、 VLCの処理は FLC 1つに対し、 最大で 36サイクル必要となる。 つまり、 ブ ロック数が増加するに伴つてサイクル数が増加し、 処理速度が遅くなるという問 題があった。
本発明は、 力かる問題点を解決するためになされたものであり、 演算サイクル 数を少なくし、 効率よく V L Cの処理を行うことのできる ^変長符号化方法およ び可変長符号化装置を提供することを目的とする。 発明の開示 .
本発明 (請求の範囲第 1項) に係る可変長符号化方法は、 一次元配列に並び替 えた離散コサイン変換係数から、 先行するゼロの係数である Ru nと、 非ゼロの 係数値である L e V e 1と、 該非ゼロの係数が最後であるかどうかを示す L a s tを、 (L a s t、 Run、 L e v e l) の組として、 これに一意的な符号を割り 当てる VLC化を行い、 VLCの割り当てが出来ない場合には、 3つのエスケー プモードを適用し、符号化を行う可変長符号化方法において、 (L a s t、 R u n 、 L e v e l) の組に対応する符号割り当てを行うステップ (a) と、 第 1のェ スケープモードとして、 L e v e lから、 (L a s t、 R u n) に対応する最大の L e v e lである LMAXを減算し、該得られた補正 L e v e 1を含む、 (L a s t、 Run, 補正 L e v e 1) の組に対して、 符号割り当てを行うステップ (b ) と、 第 2のエスケープモードとして、 Ru nから、 (L a 's ΐ、 L e V e 1 ) に 対応する最大の Ru nである RMAXに 1を加算した値を減算し、 該得られた補 正 Runを含む、 (L a s t、捕正 Run、 L e v e 1 ) の組に対して、 符号割り 当てを行うステップ (c) と、 第 3のエスケープモードとして、 FLCの割り当 てを行うステップ (d) との処理を並列に行い、 上記ステップ (a) 〜 (d) で 割り当てた符号を、 (a), (b), (c), (d)の優先順位で選択し、符号として出 力するステップ (e) とを含むものである。
このような構成の可変長符号化方法では、 少ない演算サイクルで VL Cの処理 を行うことができる。 ' '
この発明 (請求の範囲第 2項) は、 請求の範囲第 1項 载の可変長符号化方法
において、 上記可変長符号の割り当て方法は、 上記ステ、:.プ (e) における符号 化されたデータを選択する優先順位として、 (a), (b)^,(c), (d)、 (a), ( c), (b), (d)、及ぴ(a), (d) の 3つのパターンのうちのいずれか 1つのパ ターンを選択するものである。
このような構成の可変長符号化方法では、優先順位は任意に設定することが可 能であり、 また、 ステップ (d) は FLCによって常に一意的な符号が割り当て られるため, 優先順位をステップ (a)、 ステップ (d) ( テツプ (b)、 (c) は順不同) とすることで、 ステップ (b)、 ステップ (c) を強制的に選択不可と することができ、 ステップ (a) とステップ (d) で可変長符号化を行う画像圧 縮方式である H. 263に適応することが可能となる。 :., ,
この発明 (請求の範囲第 3項) に係る可変長符号化装置は、 L e v e 1信号の 絶対値である L e V e 1絶対値信号おょぴ L a s t信号^久カする RMAXテー プノレと、 Run信号および上記 La s t信号を入力する LMAXテーブルと、 上 記 L e V e 1絶対値信号、 上記 L e v e 1信号の正負を示す信号、 上記 R u n信 号、 および上記 La s t信号を入力する第 1の VLCテーブルと、 上記 Run信 号から、 上記 RMAXテーブルの出力信号と 1の合計を減算する第 1の減算回路 と、 該第 1の減算回路の出力信号を保持する第 2のレジスタと、 該第 2のレジス タの出力信号、 上記 L e V e 1絶対値信号、 上記 L e v e l信号の正負を示す信 号および上記 L a s t信号を入力する第 2の VLCテーブルと、 上記し e v e 1 絶対値信号から上記 L M A Xテーブルの出力信号を減算する第 2の減算回路と、 該第 2の減算回路の出力信号を保持する第 3のレジスタと ^ 該第 3のレジスタの 出力信号、 上記 L e v e 1信号の正負を示す信号、 上記 R u n信号および上記 L a s t信号を入力する第 3の VLCテーブルと、 上記第 1の VLCテーブルの出 力信号を保持する第 1のレジスタと、 上記第 2の V L Cテープレの出力信号を保 持する第 4のレジスタと、 上記第 3の VLCテーブルの出力信号を保持する第 5 のレジスタと、 上記第 4のレジスタの出力信号を入力する RMAX VLC生成 回路と、 上記第 5のレジスタの出力信号を入力する LMAX VLC生成回路と 、 上記 L e v e 1信号、 上記 Run信号、 および上記 L a s t信号を入力する F LC生成回路と、 上記第 1のレジスタの出力信号、 上記第 4のレジスタの出力信
Ji ■
'■' ''
号、 上記第 5のレジスタの出力信号を入力する制御回路と、 上記第 1のレジスタ の出力信号、 上記 RMAX VLC生成回路の出力信号、 上記 LMAX VLC 生成回路の出力信号、 および上記 F L C生成回路の出力信号を入力する選択回路 とを備え、 上記制御回路は、 上記第 1のレジスタの出力信号と、 上記第 4のレジ スタの出力信号と、 上記第 5のレジスタの出力信号とが VLCとして正しいかど うかを判定し、 判定した結果を示す選択信号を上記選択囱路に出力し、 上記選択 回路は、上記選択信号により、上記第 1のレジスタの出力信号、上記 RMAX V LC生成回路の出力信号、 上記 LMAX VLC生成回路の出力信号、 上記 F L C生成回路の出力信号から、 いずれか一つの出力信号を選択し、 符号として出力 するものである。
このような構成の可変長符号化装置では、すべての処理を 2サイクルで実行す ることが可能であり、 処理サイクル数の削減を図ることができる。
この発明 (請求の範囲第 4項) は、 請求の範囲第 3項記載の可変長符号化装置 において、 上記制御回路は、 上記第 1のレジスタの出力信号と、 上記第 4のレジ スタの出力信号と、 上記第 5のレジスタの出力信号とが VLCとして正しいかど うかを判定し、 判定した結果を予め設定した優先順位に て、 上記選択回路に 出力するものである。 ';
このような構成の可変長符号化装置では、 優先順位は任 ¾に設定することが可 能である。 また、 この優先順位を第 1のレジスタの出力信号、 FLC生成回路の 出力信号 (残り 2つは順不同) を選択するようにすることで、 Η. 263の画像 圧縮方式に適応することが可能となる。
この発明 (請求の範囲第 5項) に係る可変長符号化装置は、 L e v e 1信号の 絶対値である L e V e 1絶対値信号、 および L a s t信号'を入力する RMAXテ 一プルと、 Run信号、 および上記 La s t信号を入力す LMAXテーブルと 、 上記 Run信号から、 上記 RMAXテーブルの出力信号 1の合計を減算する 第 1の減算回路と、 上記 L e V e 1絶対値信号から上記 MAXテーブルの出力 信号を減算する第 2の減算回路と、 上記第 1の減算回路^出力信号を保持する第 2のレジスタと、 上記第 2の減算回路の出力信号を保持する第 3のレジスタと、 該第 3のレジスタの出力信号、 および上記 L e v e 1絶対値信号のいずれかを選
択する第 1の選択回路と、 上記第 2のレジスタの出力信号、 および上記 Ru n信 号のいずれかを選択する第 2の選択回路と、 上記第 1の選択回路の出力信号、 上 記第 2の選択回路の出力信号、 上記 L e v e 1信号の正負を示す信号、 および上 記 L a s t信号を入力する VLCテーブルと、 該 VLCテーブルの出力信号を保 持する第 1のレジスタと、 上記 L e v e 1信号、 上記 Ru ii信号、 および上記 L a s t信号を入力する FLC生成回路と、 上記第 1のレ タの出力信号を入力 する制御回路と、 上記第 1のレジスタの出力信号、 および; h記制御回路の出力信 号を入力する VLC生成回路と、 該 VLC生成回路の出力情号、 および上記 F L C生成回路の出力信号を入力する第 3の選択回路とを備え、 第 1周期で、 上記第 1の選択回路は上記制御回路から出力される第 1の選択信号を入力し、 上記 L e V e 1絶対値信号を選択して上記 VLCテーブルに出力し、 上記第 2の選択回路 は上記制御回路から出力される第 2の選択信号を入力し、 上記 Ru n信号を選択 して上記 VLCテーブルに出力し、 上記 VLCテーブルは VLCを実行し、 その 出力信号を上記第 1のレジスタに出力し、 第 2周期で、 上記制御回路は上記第 1 のレジスタの出力信号が通常の VLCとして正しいかどう- を判定し、 上記第 1 のレジスタの出力信号が通常の V L Cとして正しいと判^したならば、 その判定 の結果を示す第 3の選択信号を上記 V L C生成回路および止記第 3の選択回路に 出力し、 上記 V L C生成回路は上記第 1のレジスタの出力信号を通常の V L C符 号として出力し、 上記第 3の選択回路は上記第 3の選択信号により、 上記 VLC 生成回路の出力信号を選択して出力し、 第 1周期で、 上記 LMAXテーブルは、 上記 L a s t信号と上記 Ru n信号とを入力し、 LMAXデータ信号を生成して 上記第 2の減算回路に出力し、 該第 2の減算回路は上記 LMAXデータ信号と上 記 L e V e 1絶対値信号とを入力し、 該 L e v e 1絶対値 ί言号から上記 LMAX データ信号を減算し、 その結果を第 3のレジスタに出力じ;: 第 2周期で、 上記第 1の選択回路は上記制御回路から出力される第 1の選択 号を入力し、 上記第 3 のレジスタの出力信号を選択して上記 V L Cテーブルに出力し、 上記第 2の選択 回路は上記制御回路から出力される第 2の選択信号を入 し、 上記 Ru n信号を 選択して上記 V L Cテーブルに出力し、 上記 V L Cテーブルは V L Cを実行し、 その出力信号を上記第 1のレジスタに出力し、 第 3周期で、 上記制御回路は上記
第 2周期で行われた通常の VLCの判定が正しくなければミ' 上記第 1のレジスタ の出力信号が LMAX VLCとして正しいかどうかを判定し、 上記第 1のレジ スタの出力信号が LMAX VLCとして正しいと判定 tiたならば、 その判定の 結果を示す第 3の選択信号を上記 V L C生成回路および _ 己第 3の選択回路に出 力し、 上記 VLC生成回路は上記第 1のレジスタの出力信号を LMAX VLC 符号として出力し、 上記第 3の選択回路は上記第 3の選択信号により、 上記 VL C生成回路の出力信号を選択して出力し、 第 1周期で、 上記 RMAXテーブルは 上記 L a s t信号と上記 L e V e 1絶対値信号とを入力し、 RMAXデータ信号 を生成して上記第 1の減算回路に出力し、 該第 1の減算回路は上記 RMAXデー タ信号と上記 Ru n信号とを入力し、 該 Run信号から、 止記 RMAXデータ信 号と 1を加算した値を減算し、 その結果を上記第 2のレジ タに出力し、 第 3周 期で、 上記第 1の選択回路は上記制御回路から出力される'第 1の選択信号を入力 し、 上記 L e v e 1絶対値信号を選択して上記 VLCテ ブルに出力し、 上記第 2の選択回路は上記制御回路から出力される第 2の選択 を入力し、 上記第 2 のレジスタの出力信号を選択して上記 VLCテーブルに出力し、 上記 VLCテ一 ブ^ ま VLCを実行し、 その出力信号を上記第 1のレジスタに出力し、 第 4周期 で、 上記制御回路は上記第 3周期で行われた LMAX VLCの判定が正しくな ければ、 上記第 1のレジスタの出力信号が RMAX VLCとして正しいかどう かを判定し、 上記第 1のレジスタの出力信号が RMAX VLCとして正しいと 判定したならば、 第 3の選択信号を上記 VLC生成回路および上記第 3の選択回 路に出力し、 上記 VLC生成回路は上記第 1のレジスダの出力信号を RMAX
VLC符号として出力し、 上記第 3の選択回路は上記第 の選択信号により、 上 記 V L C生成回路の出力信号を選択して出力し、 上記制 fl回路に入力される上記 第 1のレジスタの出力信号が、 いずれも VLCとして正じくないと判定したなら ば、 第 5周期で、 上記第 3の選択回路は上記 FLC生成回路の出力信号を選択し て出力するものである。
このような構成の可変長符号化装置では、 通常の V L Cを行うのと同時に N e wL e v e l信号、 N e w R u n信号を算出することが可能である。 また、 従来 V L Cの処理に 6サイクルを要していたが、 処理サイクル数を 5サイクルに削減
することができる。 さらに、 従来は 3つの VLCテーブルを用いて処理を行って いたが、 1つの VLCテーブルで VLCを行うことが可能なため、 回路面積の削 減を図ることができる。
この発明 (請求の範囲第 6項) に係る可変長符号化装 gは、 L e v e 1信号の 絶対値である L e V e 1絶対値信号および L a s t信号を入力する RMAXテー ブノレと、 Run信号および上記 La s t信号を入力する MAXテーブルと、 上 記 Run信号から、 上記 RMAXテーブルの出力信号と 1の合計を減算する第 1 の減算回路と、 上記 L e V e 1絶対値信号から上記 L MAXテーブルの出力信号 を減算する第 2の減算回路と、 上記第 1の減算回路の出力信号を保持する第 2の レジスタと、 上記第 2の減算回路の出力信号を保持する第 3のレジスタと、 該第 3のレジスタの出力信号、 および上記 L e V e 1絶対値信号のいずれかを選択す る第 1の選択回路と、 上記第 2のレジスタの出力信号、 よび上記 Run信号の いずれかを選択する第 2の選択回路と、 上記第 1の選択回路の出力信号、 上記第 2の選択回路の出力信号、 上記 L e v e 1信号の正負を示す信号、 および上記 L a s t信号を入力する VLCテーブルと、 該 VLCテ一 ^レの出力信号を保持す る第 1のレジスタと、 上記 Le v e l信号、 上記 Run ½\ および上記 L a s t信号を入力する F L C生成回路と、 上記第 1のレジスタの出力信号を入力する 制御回路と、 上記第 1のレジスタの出力信号、 および上記制御回路の出力信号を, 入力する VLC生成回路と、 該 VLC生成回路の出力信号、 および上記 FLC生 成回路の出力信号を入力する第 3の選択回路とを備え、 第 1周期で、 上記第 1の 選択回路は上記制御回路から出力される第 1の選択信号を入力し、 上記 L e v e 1絶対値信号を選択して上記 V L Cテーブルに出力し、 上記第 2の選択回路は上 記制御回路から出力される第 2の選択信号を入力し、 上 u n信号を選択して 上記 VLCテーブルに出力し、 上記 VLCテーブルは V ECを実行し、 その出力 信号を上記第 1のレジスタに出力し、 第 2周期で、 上記制御回路は上記第 1のレ ジスタの出力信号が通常の VLCとして正しいかどうかを判定し、 上記第 1のレ ジスタの出力信号が通常の VLCとして正しいと判定したならば、 その判定の結 果を示す第 3の選択信号を上記 V L C生成回路および上記第 3の選択回路に出力 し、 上記 VLC生成回路は上記第 1のレジスタの出力信号を通常の VLC符号と
して出力し、 上記第 3の選択回路は上記第 3の選択信号により、 上記 VLC生成 回路の出力信号を選択して出力し、 第 1周期で、 上記 LMAXテーブルは、 上記 L a s t信号と上記 Ru n信号とを入力し、 LMAXデータ信号を生成して上記 第 2の減算回路に出力し、 該第 2の減算回路は上記 LMAXデータ信号と上記 L e V e 1絶対値信号とを入力し、 該 L e v e 1絶対値信号から上記 LMAXデー タ信号を減算し、 その結果を第 3のレジスタに出力し、 第 周期で、 上記第 1の 選択回路は上記制御回路から出力される第 1の選択信号 入力し、 上記第 3のレ ジスタの出力信号を選択して上記 V L Cテーブルに出力 ¾、 上記第 2の選択回路 は上記制御回路から出力される第 2の選択信号を入力し、'.止記 R u n信号を選択 して上記 VLCテーブルに出力し、 上記 VLCテーブルは VLCを実行し、 その 出力信号を上記第 1のレジスタに出力し、 第 3周期で、 上記制御回路は上記第 2 周期で行われた通常の VLCの判定が正しくなければ、 上記第 1のレジスタの出 力信号が LMAX VLCとして正しいかどうかを判定し、 上記第 1のレジスタ の出力信号が LMAX VLCとして正しいと判定したならば、 その判定の結果 を示す第 3の選択信号を上記 V L C生成回路および上記第 3の選択回路に出力し 、 上記 VLC生成回路は上記第 1のレジスタの出力信号を LMAX VLC符号 として出力し、 上記第 3の選択回路は上記第 3の選択信号により、 上記 VLC生 成回路の出力信号を選択して出力し、 第 1周期で、 上記 Ri¼AXテーブルは上記 La s t信号と上記 L e V e 1絶対値信号とを入力し、 RMAXデータ信号を生 成して上記第 1の減算回路に出力し、 該第 1の減算回路は上記 RMAXデータ信 号と上記 Ru n信号とを入力し、 該 Run信号から、 上己 RMAXデータ信号と 1を加算した値を減算し、 その結果を上記第 2のレジスタに出力し、 第 3周期で 、 上記第 1の選択回路は上記制御回路から出力される第 1の選択信号を入力し、 上記 e V e 1絶対値信号を選択して上記 VL Cテーブルに出力し、 上記第 2の 選択回路は上記制御回路から出力される第 2の選択信号を 力し、 上記第 2のレ ジスタの出力信号を選択して上記 VLCテーブルに出力 1^ 上記 VLCテーブル は VLCを実行し、 その出力信号を上記第 1のレジスタ fei力し、 第 4周期で、 上記制御回路は上記第 3周期で行われた LMAX VL め判定が正しくなけれ ば、 上記第 1のレジスタの出力信号が RMAX VLCとして正しいかどうかを
判定し、 上記第 1のレジスタの出力信号が RMAX VLCとして正しいと判定 したならば、 第 3の選択信号を上記 VL C生成回路およ!上記第 3の選択回路に 出力し、 上記 VLC生成回路は上記第 1のレジスタの出力信号を RMAX VL C符号として出力し、 上記第 3の選択回路は上記第 3の選択信号により、 上記 V LC生成回路の出力信号を選択して出力し、 上記制御回路に入力される上記第 1 のレジスタの出力信号が、 いずれも VLCとして正しくないと判定したならば、 第 4周期で、 上記第 3の選択回路は上記 F L C生成回路 出力信号を選択して出 力するものである。 :
このような構成の可変長符号化装置では、 通常の V L C ;を行うのと同時に N e wL e V e 1信号、 N e wR u n信号を算出することが可能である。 また、 従来 VLCの処理に 6サイクルを要していたが、 処理サイクル数を 4サイクルに削減 することができる。 さらに、 従来は 3つの VLCテーブルを用いて処理を行って いたが、 1つの VLCテーブルで VLCを行うことが可能なため、 回路面積の削 減を図ることができる。
この発明 (請求の範囲第 7項) は、 請求の範囲第 5項ま^は請求の範囲第 6項 記載の可変長符号化装置において、 上記制御回路は、 上記第 1のレジスタの出力 信号が VLCとして正しいかどうかを判定し、 さらに正し/くない場合の周期の回 数を判断して VLCの制御を行い、 予め設定した優先順位に従って、 VLCの出 力順位を変更するものである。 "·
このような構成の可変長符号化装置では、 優先順位は任意に設定することが可 能であり、 また、 FLC生成回路は常に一意的な符号が割り当てられるため、 優 先順位として、 通常の VL Cを判定した後に、 判定の結果が正しくなければ F L C生成回路の出力信号を選択するようにすることで、 H. 263の画像圧縮方式 に適応することが可能となる。
この発明 (請求の範囲第 8項) に係る可変長符号化装置は、 L e v e 1信号の 絶対値である L e V e 1絶対値信号、 L a s t信号、 および固定値を入力し、 上 記 L e V e 1絶対値信号もしくは上記固定値のいずれかを選択して出力する第 1 の出力信号、 および上記 L a s t信号もしくは上記固定 いずれかを選択して 出力する第 2の出力信号を出力する第 1の選択回路と、 上記第 1の出力信号およ
び上記第 2の出力信号を入力する RMAXテーブルと、 Run信号、 上記 L a s t信号、 および固定値を入力し、 上記 Run信号もしくは上記固定値のいずれか を選択して出力する第 3の出力信号、 および上記 L a s t信号もしくは上記固定 値のいずれかを選択して出力する第 4の出力信号を出力する第 2の選択回路と、 上記第 3の出力信号おょぴ上記第 4の出力信号を入力する LMAXテーブルと、 上記 Ru n信号から、 上記 RMAXテーブルの出力信号ど 1の合計を減算する第 1の減算回路と、 上記 L e V e 1絶対値信号から上記 LMAXテーブルの出力信 号を減算する第 2の減算回路と、 上記第 1の減算回路の 力信号を保持する第 2 のレジスタと、 上記第 2の減算回路の出力信号を保持する第 3のレジスタと、 該 第 3のレジスタの出力信号および上記 L e V e 1絶対値信号のいずれかを選択す る第 3の選択回路と、 上記第 2のレジスタの出力信号および上記 Ru n信号のい ずれかを選択する第 4の選択回路と、 上記第 3の選択回路の出力信号、 上記第 4 の選択回路の出力信号、 上記 L e V e 1信号の正負を示す信号、 および上記 L a s t信号を入力する VLCテーブルと、 該 V L Cテーブルの出力信号を保持する 第 1のレジスタと、 上記 L e v e 1信号、 上記 Run信号、 および上記 L a s t 信号を入力する F L C生成回路と、 上記第 1のレジスタの出力信号を入力する制 御回路と、 上記第 1のレジスタの出力信号、 および上記制御回路の出力信号を入 力する V L C生成回路と、 該 V L C生成回路の出力信号、;': 'および上記 F L C生成 回路の出力信号を入力する第 5の選択回路とを備え、 第¾ ^期で、 上記第 1の選 択回路は上記制御回路から出力される第 1の選択信号を入力して固定値を選択し 、 上記第 2の選択回路は上記制御回路から出力される第 2の選択信号を入力して 、 上記 Run信号および上記 L a s t信号を選択し、 上言己第 3の選択回路は上記 制御回路から出力される第 3の選択信号を入力し、 上記 L e v e 1絶対値信号を 選択して上記 VL Cテーブルに出力し、 上記第 4の選択回路は上記制御回路から 出力される第 4の選択信号を入力し、 上記 Ru n信号を選択して上記 VLCテー ブルに出力し、 上記 VLCテーブルは VLCを実行し、 ¾の出力信号を上記第 1 のレジスタに出力し、 第 2周期で、 上記制御回路は上記索 :1のレジスタの出力信 号が通常の VLCとして正しいかどうかを判定し、上記第 1のレジスタの出力信 号が通常の VLCとして正しいと判定したならば、 その判定の結果を示す第 5の
, 14 :.;:
選択信号を上記 VLC生成回路、 および上記第 5の選択阖路に出力し、 上記 VL C生成回路は、 上記第 1のレジスタの出力信号を通常の V'LC符号として出力し 、 上記第 5の選択回路は上記第 5の選択信号により、 上記 VLC生成回路の出力 信号を選択して出力し、 第 1周期で、 上記 LMAXテーブルは、 上記 L a s t信 号と上記 Run信号とを入力し、 L MAXデータ信号を生成して上記第 2の減算 回路に出力し、 該第 2の減算回路は上記 L MAXデータ信号と上記 L e V e 1絶 対値信号とを入力し、 該 L e V e 1絶対値信号から上記 LMAXデータ信号を減 算し、 その結果を第 3のレジスタに出力し、 第 2周期で、 '上記第 3の選択回路は 上記制御回路から出力される第 3の選択信号を入力し、 ι記第 3のレジスタの出 力信号を選択して上記 VLCテーブルに出力し、 上記第 4'の選択回路は上記制御 回路から出力される第 4の選択信号を入力し、 上記 Rui¾言号を選択して上記 V に-
LCテーブルに出力し、 上記 VLCテーブルは VLCを実行し、 その出力信号を 上記第 1のレジスタに出力し、 第 3周期で、 上記制御回路は上記第 2周期で行わ れた通常の VLCの判定が正しくなければ、 上記第 1のレジスタの出力信号が L MAX VLCとして正しいかどうかを判定し、 上記第 1のレジスタの出力信号 が LMAX VLCとして正しいと判定したならば、 その判定の結果を示す第 5 の選択信号を上記 V L C生成回路および上記第 5の選択回 に出力し、 上記 V L C生成回路は上記第 1のレジスタの出力信号を LMAX yLC符号として出力 し、 上記第 5の選択回路は上記第 5の選択信号により、 1^己 VLC生成回路の出 力信号を選択して出力し、 第 2周期で、 上記 RMAXテ ルは上記 L a s t信 号と上記 L e v e 1絶対値信号とを入力し、 RMAXデ!! ^信号を生成して上記 第 1の減算回路に出力し、 該第 1の減算回路は上記 RMAXデータ信号と上記 R un信号とを入力し、 該 Run信号から、 上記 RMAXデータ信号と 1を加算し た値を減算し、 その結果を上記第 2のレジスタに出力し、 第 3周期で、 上記第 3 の選択回路は上記制御回路から出力される第 3の選択信号を入力し、 上記 L e V e 1絶対値信号を選択して上記 VLCテーブルに出力し、 上記第 4の選択回路は 上記制御回路から出力される第 4の選択信号を入力し、 き己第 2のレジスタの出 力信号を選択して上記 VLCテーブルに出力し、 上記 VLpテーブルは VLCを 実行し、 その出力信号を上記第 1のレジスタに出力し、 第^ 4周期で、 上記制御回
路は上記第 3周期で行われた LMAX VLCの判定が i .レくなければ、 上記第 1のレジスタの出力信号が RMAX VLCとして正し どうかを判定し、 上 記第 1のレジスタの出力信号が RMAX VLCとして正しいと判定したならば 、 その判定の結果を示す第 5の選択信号を上記 V L C生成回路および上記第 3の 選択回路に出力し、 上記 VLC生成回路は上記第 1のレジスタの出力信号を RM AX VLC符号として出力し、 上記第 5の選択回路は上記第 5の選択信号によ り、 上記 VLC生成回路の出力信号を選択して出力し、 上記制御回路に入力され る上記第 1のレジスタの出力信号が、 いずれも VLCと て正しくないと判定し たならば、 第 4周期で、 上記第 5の選択回路は上記 FLC^成回路の出力信号を 選択して出力するものである。 ;:..!'
このような構成の可変長符号化装置では、 常に 1サイ ル目で RMAXテープ ノレにアクセスすることがなく、 消費電力を削減すること; I きる。 また、 従来 V L Cの処理に 6サイクルを要していたが、 処理サイクル数を 4サイクルに削減す ることができる。 さらに、 従来は 3つの VLCテーブルを用いて処理を行ってい たが、 1つの VLCテーブルで VLCを行うことが可能となるため、 回路面積の 削減を図ることができる。
この発明 (請求の範囲第 9項) は、 請求の範囲第 8項記載の可変長符号化装置 において、 上記制御回路は、 上記第 1のレジスタの出力信号が VLCとして正し いかどうかを判定し、 さらに正しくない場合の周期の回数を判断して VLCの制 御を行い、 予め設定した優先順位に従って、 VLCの出 順位を変更するもので ある。 '
このような構成の可変長符号化装置では、 優先順位は 意に設定することが可 能であり、 また、 FLC生成回路は常に一意的な符号が割り当てられるため、 優 先順位を通常の V L Cを判定した後に、 判定の結果が正しくなければ F L C生成 回路の出力信号を選択するようにすることで、 H. 263の画像圧縮方式に適応 することが可能となる。 図面の簡単な説明 ",
第 1図は、 本発明の実施の形態 1による可変長符号化方 f¾を説明するためのチ
ヤート図である。
第 2図は、 本発明の実施の形態 1による符号を出力する優先順位の組み合わせ を説明するための図である。
第 3図は、 本発明の実施の形態 2による可変長符号化装置の構成を説明するた めのプロック図である。 , ,:
第 4図は、 本発明の実施の形態 2による制御回路の動作を説明するためのタイ ミングチャートである。 '
第 5図は、 本発明の実施の形態 2によるサイクル毎の処理内容をまとめた図で ある。 '·
第 6図は、 本発明の実施の形態 3による可変長符号化装置の構成を説明するた めのブロック図である。
第 7図は、 本発明の実施の形態 3による制御回路の動作を説明するためのタイ ミングチャートである。
第 8図は、 本発明の実施の形態 3による 5 Τで処理が行われるときのサイクル 毎の処理内容をまとめた図である。 ―
第 9図は、 本発明の実施の形態 3による 4 Τで処理が行 れるときのサイクル 毎の処理内容をまとめた図である。 :.,:.
第 1 0図は、 本発明の実施の形態 4による可変長符号ィ 置の構成を説明する ためのブロック図である。
第 1 1図は、 本発明の実施の形態 4によるサイクル毎の処理内容をまとめた図 である。
第 1 2図は、 従来の可変長符号化方法を説明するためのチャート図である。 第 1 3図は、 従来の可変長符号化方法のサイクル毎の処理内容をまとめた図で あ 。 発明を実施するための最良の形態 :: ::
以下、 本発明の実施の形態について説明する。 ;:;
(実施の形態 1 ) :
本実施の形態 1の可変長符号化方法は、 一次元配列に並び替えた D C Τ係数か
ら、 先行するゼロの係数の個数である Ru nと、 非ゼロの係数の値である L e V e 1と、 その非ゼロの係数が最後であるかどうかを示す L a s tを、 (La s t、 Run, L e v e l) の組として、 これに一意的な符号 割り当てる可変長符号 (Va r i a b l e L e n g t h C o d e, 以下 V ' Cと省略する) ィ匕を行 い、 VLCの割り当てが出来ない場合には、 後述する 3つのエスケープモードを 適用するものである。
第 1図は本発明の実施の形態 1による可変長符号化方法を説明するためのチヤ 一ト図である。
第 1図において、 〇 (白丸) はデータが確定していることを意味し、 P 1〜P 9はそれぞれの係数の処理工程を示す。 また、 符号化 2は第 1のエスケープモー ド、 符号化 3は第 2のエスケープモード、 符号化 4は第 3のエスケープモードに それぞれ対応している。 :
以下、 各係数の処理工程について説明する。 :' :''
符号ィ匕 1において、 P 1は L a s t、 R u n、 L e v e .]によって活性化 (す なわち、 入出力時点でデータがそろっていること) する処理であり、 (La s t、 Run, L e v e l) の組に対応する V L Cテーブルが存在するならば通常の V LCの Co d eAを P9に出力する。 一方、 (L a s t、 Run、 Le v e l) の 組に対応する VLCが存在しない場合は、 "存在しない"ということを示す符号を P 9に出力する。
符号化 2において、 P 2は La s t、 R u nによって活性ィ匕する処理であり、 ( La s t, Run) の組に対応する最大の L e v e 1の値である LMAXを P 3 に出力する。 P 3は LMAXによって活性化する処理であ.り、 L e V e 1の値か ら LMAXを減算する処理を行い、 得られた NewLe y ,e 1の値を P 4に出力 する。 ?4は & 3 1、 Run, N e wL e V e 1によち'て活性化する処理であ り、 (La s t、 Run、 NewLe v e l) の組に対応夺る V L Cテーブルが存 在するならば、 C o d e Bを P 9に出力する。具体的に C o d e Bは、 "0000 O i l" (E S C (エスケープ)コードの符号) と、 "0" (LMAXでの VLCを示 す) と、 VLCの結果とを、 LMAX符号化データとして P 9に出力する。 一方 、 (L a s t, Run, NewLe v e 1) の組に対応する V L Cが存在しない場
合は、 "存在しなレ、 "ということを示す符号を P 9に出力する。
符号化 3において、 P5は、 La s t、 Le v e lによって活性化する処理で あり、 (L a s t、 Le v e l)の組に対応する最大の R u nである RMAXの値 を P 6に出力する。 P 6は RMAXによって活性化する処理であり、 Runの値 から、 RMAXと 1の合計を減算する処理を行い、 得られた N e wRu nの値を P 7に出力する。 ? 7は & 3 1:、 NewRun、 L e . e 1によって活性化す る処理であり、 (La s t、 NewRun、 L e v e 1) 組に対応する VLCテ 一ブルが存在するならば、 C 0 d e Cを P 9に返す。 具体的に C o d e Cは、 " O O O O O l l" (ESCコード) と、 "10" (RMAXでの VLCを示す) と、 VLCの結果とを、 RMAX符号化データとして P 9に出力する。一方、 (La s t、 NewRun、 L e v e l) の組に対応する V L Cが存在しない場合は、 " 存在しなレ、 "ということを示す符号を P 9に出力する。
符号化 4において、 P8は FLC (F i x e d L e n g t h Co d e, 固 定長符号) に変換する処理であり、 H. 263の場合は、' 0000011" (E S Cコード) と、 F LCの結果 (L a s t— 1ビット、 R'u n— 6ビット、 L e v e 1—8ビット) とを、 FLC符号ィ匕データとして P 9 出力する。 また MP EG 4の場合は、 "0000011" (ESCコード) と、' (MP EG 4で の F LCを示す) と、 FL Cの結果 (L a s t— 1ビット、 Ru n_ 6ビット、 1、 Le v e l— 12ビット、 1) とを、 F L C符号化データとして P 9に出力 する。
P 9は、 予め与えられた優先順位に従って、 Co d e A〜C o d e Dのデータ を選択し、 選択されたデータを出力する。 第 2図に優先順位の組み合わせを示す 第 2図より、 A〜Dは、 それぞれ C o d e A〜C o d e pを示す。 例えば、 P 9の優先順位の組み合わせとして優先順位 1が設定され " lJ、るとする。 つまり、 P 9に C o d e Aのデータが存在するならば、 Co d eB; Co d e C、 および Co d e Dのいずれのデータが存在していても、 P 9は C o d e Aのデータを出 力する。 一方、 P 9に C 0 d e Aのデータは存在せず、 Co d e Bのデータが存 在するならば、 Co d e Cおよび C o d e Dのいずれのデータが存在していても
、 P 9は C o d e Bのデータを出力する。 また、 P 9に C o d e Aおよび C o d e Bのデータは存在せず、 C o d e Cのデータが存在するならば、 C o d eDの データが存在していても、 P 9は C o d e Cのデータを出力する。 また、 P 9に C o d eA、 C o d e B、 C o d e Cのいずれのデータも存在しないならば、 P 9.は C o d e Dのデータを出力する。
このように、 本実施の形態 1による可変長符号化方法によれば、 符号ィ匕 1 (P 1)、 符号化 2 (P 2、 P 3、 P 4)、 符号化 3 (P 5、 P:6、 P 7)、 符号化 4 ( P 8) の各処理を同時に行い、 予め設定された優先順位は! ¾つてデータを出力す るようにしたので、 すべての処理を 2ステップ (各符号ィ匕め処理と判定) で行う ことが可能であり、 処理ステップ数を削減することができる。 また、 P 2、 P 3 、 P 4の処理ステップ数を 2ステップとし、 P 5、 P 6、 P 7の処理ステップ数 を 2ステップとした場合には、 全ての処理を 3ステップで行うことができる。 なお、 本実施の形態 1による可変長符号化方法において、 P 9における優先順 位の組み合わせは、 Co d eA>C o d e B〉 Co d e C〉 Co d eDとしたが 、 優先順位はこれに限られるものではなく、 優先順位を C o d e A>C o d e C >C o d e B〉C o d e Dとしても同様の効果を得ることができる。 また、 C o d eDは FLCによって常に一意的な符号が割り当てられるため、 優先順位を、 Co d eA>C o d eD (残り 2つは順不同) とするこ. で、 C o d e B、 C o d e Cを強制的に選択不可とすることができ、 符号化 1ど符号ィ匕 4で可変長符号 化を行う画像圧縮方式である H . 263に適応することが可能となる。
(実施の形態 2) ,
本実施の形態 2の可変長符号化装置は、 上述した実施の形態 1による可変長符 号化方法を実現するためのものである。
第 3図は、 本発明の実施の形態 2による可変長符号化装置の構成を説明するた めのブロック図である。
第 3図において、 100は L e v e l信号、 101は ¾ 3 1信号、 102は Run信号、 103は L e V e 1信号 100の正負を示 i g n信号、 104 は L e v e 1信号 100の絶対値である L e v e l絶対値言号、 105は F L C 生成回路、 106は FLC生成回路 105の出力信号である FLCデータ信号、
107は RMAXテーブル、 108は RMAXテーブル 107の出力信号である RMAXデータ信号、 109は第 1の減算回路、 1 10 ί第 1の減算回路 109 の出力信号、 1 15は第 1の減算回路 109の出力信号: i 10を保持する第 2の レジスタ、 182は第 2のレジスタ 115より出力され ¾: ewRun信号、 1 1 1は第 2の VLCテーブル、 114は第 2の VLCテーブル 1 11の出力信号 である第 2の VLCデータ信号、 180は第 2の VLCデータ信号 114を保持 する第 4のレジスタ、 116は Ne wRu n信号 182を用いて生成した VLC データ信号、 1 17は LMAXテーブル、 118は LMAXテーブル 1 17の出 力信号である LMAXデータ信号、 119は第 2の減算回路、 120は第 2の減 算回路 1 19の出力信号、 122は第 2の減算回路 119の出力信号 120を保 持する第 3のレジスタ、 183は第 3のレジスタ 122より出力される N e wL e v e 1信号、 112は第 3の VLCテーブル、 121ほ第 3の V L Cテーブル 112の出力信号である第 3の VLCデータ信号、 18: ま第 3の VLCデータ 信号 121を保持する第 5のレジスタ、 123は N e w L ::e v e 1信号 183を 用いて生成した VLCデータ信号、 113は第 1の VLCテーブル、 124は第 1の VLCテープル 1 13の出力信号である第 1の VLCデータ信号、 125は 第 1の VLCデータ信号 124を保持する第 1のレジスタ、 126は通常の VL Cデータ信号、 170は NewRun信号を用いて生成した VLCデータ信号 1 16を入力し、 RMAXの符号化データを生成する RMAX VLC生成回路、 175は RMAX しじ生成回路170の出力信号である RMAXデータ信号 、 171は NewL e v e 1信号を用いて生成した V L Cデ'ータ信号 123を入 力し、 L MAXの符号化データを生成する LM A X Vl^'C生成回路、 176は LMAX VL C生成回路 171の出力信号である LMAiXデータ信号、 127 は通常の VLCデータ信号 126と、 N e wRu n信号を用いて生成した VL C データ信号 116と、 Ne wL e V e 1信号を用いて生成した VLCデータ信号 123とを入力し、 予め設定された優先順位に基づいて VLCデータ信号を選択 する制御回路、 128は制御回路 127で選択されたデータ信号を出力する選択 信号、 129は RMAXデータ信号 175と、 LMAXデータ信号 176と、 F LCデータ信号 106と、 通常の VLCデータ信号 126とを入力し、 選択信号
128により出力するデータ信号を選択する選択回路、 0は選択回路 129 で選択されたデータ信号である。 '
次に本発明の実施の形態 2による可変長符号化装置の動作について、 上述した 第 3図のブロック図を第 1図のチャート図と対応させて説明する。
まず、 符号ィ匕 1の処理において、 第 1の VLCテーブル 113は、 L a s t信 号 101と、 Ru n信号 102と、 Le v e l絶対値信号 104と、 S i g n信 号 103とを入力して、第 1の VLCデータ信号 124を生成し (P 1)、第 1の レジスタ 125に保持する。 そして、 第 1のレジスタ 12.5は、 通常の VLCデ ータ信号 126を制御回路 127と選択回路 129に出力する (P 9)。
符号ィ匕 3の処理において、 RMAXテーブル 107は、: La s t信号 101と L e V e 1絶対値信号 104とを入力し、 RMAXデ タ信号 108を生成し て (P5)、第 1の減算回路 109に出力する。 第 1の減算回路 109は、 RMA Xデータ信号 108と、 Ru n信号 102とを入力し、 Run信号 102の値か ら、 RMAXデータ信号 108と 1を加算した値を減算し (P 6)、 その結果を第 1の減算回路の出力信号 110として第 2のレジスタ 115に出力する。 第 2の レジスタ 115は、 入力された第 1の減算回路の出力信号 110を保持する。 続 いて、 第 2の VLCテーブル 11 1は、 第 2のレジスタ 1 15から出力される N e wRu n信号 182と、 La s t信号 101と、 L e v e l絶対値信号 104 と、 S i g n信号 103とを入力し、 第 2の VLCデータ信号 114を生成し ( P 7)、第 4のレジスタ 180に出力する。 第 4のレジス 180は、入力された 第 2の VLCデータ信号 114を保持する。 そして、 第 4のレジスタ 180は、 N e wRu n信号を用いて生成した VLCデータ信号 116を制御回路 127に 出力する。
また、 符号ィ匕 2の処理において、 LMAXテ一ブル 117は、 La s t信号 1 01と、 Run信号 102とを入力し、 LMAXデータ信号 118を生成して ( P 2)、第 2の減算回路 119に出力する。 第 2の減算回路 1 19は、 LMAXデ ータ信号 118と、 L e v e l絶対値信号 104とを入力し、 L e v e l絶対値 信号 104から LMAXデータ信号 118を減算し(P 3)、その結果を第 2の減 算回路の出力信号 120として第 3のレジスタ 122に出力する。 第 3のレジス
タ 122は、 入力された第 2の減算回路の出力信号 120'を保持する。 続いて、 第 3の VLCテーブル 1 12は第 3のレジスタ 122から出力される NewL e V e 1信号 1 83と、 La s t信号 101と、 Ru n信号 102と、 S i g n信 号 103とを入力し、第 3の VLCデータ信号 121を生成し(P 4)、第 5のレ ジスタ 181に出力する。 第 5のレジスタ 181は、 入力きれた第 3の VLCデ ータ信号 12 1を保持する。 そして、 第 5のレジスタ 181は NewL e v e 1 信号を用いて生成した VLCデータ信号 123を制御回路 127に出力する。
RMAX VLC生成回路 170は、 第 4のレジスタ 180から出力される N e wRu n信号を用いて生成した VLCデータ信号 1 1 6の VLC化を行い、 ( ESC 一K+ "0" +VLC結果) を RMAX符号化データである RMAXデ ータ信号 175とし、選択回路 129に出力する (P 9)。 また、 LMAX VL C生成回路 1 71は、 第 5のレジスタ 181から出力さ^'る N e wL e v e 1信 号を用いて生成した VLCデータ信号 1 23の VLC化 行い、 (E S Cコード + "10" +VLC結果) を LMAX符号化データである' LMAXデータ信号 1 76とし、選択回路 129に出力する (P 9)。 続いて、 制御回路 127は、 第 1 のレジスタ 1 25から出力される通常の VLCデータ信号 126と、 第 4のレジ スタ 180から出力される Ne wRun信号を用いて生成した VLCデータ信号 1 16と、 第 5のレジスタ 181から出力される Ne wL e v e 1信号を用いて 生成した V L Cデータ信号 123とを入力し、 それぞれの V L Cデータ信.号が V LCとして正しいかどうか判定を行う。 そして、 制御回路 127は、 予め設定さ れた優先順位に従って、 VLCデータ信号を選択するため p選択信号 128を出 力する。 '
例えば優先 W頁位を、 通常の VLCデータ、 NewL e v e 1信号を用いて生成 した VLCデータ、 Ne wRun信号を用いて生成した LCデータ、 FLCデ —タの順番で設定したとする (第 2図における、優先順位 1)。 つまり、制御回路 127に通常の VLCデータ信号 126が存在するならば、 NewL e v e 1信 号を用いて生成した VLCデータ信号 123、 あるいは Ne wRun信号を用い て生成した VLCデータ信号 1 16の存在にかかわらず、 制御回路 127は通常 の VLCデータ信号 124を選択する選択信号 128を、 選択回路 129に出力
する。 一方、 制御回路 127に通常の V L Cデータ信号 6が存在せず、 N e wL e V e 1信号を用いて生成した V L Cデータ信号 123が存在するならば、 Ne wRu n信号を用いて生成した VLCデータ信号 1 1 6の存在にかかわらず 、 制御回路 127は Ne wL e V e 1信号を用いて生成した V L Cデータ信号 1 23を選択する選択信号 128を、 選択回路 129に出力する。 また、 制御回路 127に通常の VLCデータ信号 1 29、 および Ne wL e v e 1信号を用いて 生成した VLCデータ信号 123が存在せず、 Ne wRun信号を用いて生成し た VLCデータ信号 116が存在するならば、 制御回路 1 27はNewRun信 号を用いて生成した VLCデータ信号 1 1 6を選択する選択信号 128を、 選択 回路 129に出力する。 そして、 選択回路 129は、 制御回路 1 27より入力さ れる選択信号 1 28に制御されて、 いずれかの VLCデ^タ信号を選択し、 デー タ信号 1 30として出力する。 一方、 選択回路 129は制御回路 127より VL Cデータ信号を選択する選択信号 128が入力されないならば、 FLCデータ信 号 106を選択し、 データ信号 130として出力する。
第 4図は本発明の実施の形態 2による制御回路の動作を説明するためのタイミ ングチヤ一トである。
第 4図において、 c 1 o c k (クロック)は一定周期の信号、 t c o e f— eは V L Cを行うための開始可能なデータがそろつていることを示す開始信号、 M P EG4/H. 263はいずれかの規格を示す信号であり、 信号が H (H i g h) のときは MP EG4を示し、 信号が L (L ow) のとき 263を示す。 C 0 u n t e r (カウンタ) は判定の開始、 および判定の 数を示す。 d e c— n oma 1は通常の VLCデータ信号 126であり、 第 1の VLCテーブル 1 1 3 の結果を示す。 d e c— l ma xは NewL e v e 1信号を用いて生成した VL Cデータ信号 1 23であり、 第 3の VLCテーブル 1 12の結果を示す。 d e c — r ma xは N e wR u n信号を用いて生成した V L Cデータ信号 1 1 6であり 、 第 2の VLCテーブル 1 1 1の結果を示す。 s e l_n oma 1は通常の VL Cデータ信号 1 26 (d e c— n oma 1) の結果が V l テーブルに存在する ならば、 信号を Hにする。 s e 1— l ma xは NewL e v e 1信号を用いて生 成した VL Cデータ信号 123 (d e c— 1 ma x) の結果が VLCテーブルに
存在するならば、 信号を Hにする。 s e 1— r ma Xは NewRun信号を用い て生成した VLCデータ信号 116 (d e c__r ma x ):: :.の結果が V L Cテープ ルに存在するならば、 信号を Hにする。 s e 1— f 1 c i;、 通常の VLCデータ 信号 126、 NewL e v e 1信号を用いて生成した V L Cデータ信号 123、 Ne wRu n信号を用いて生成した VLCデータ信号 116のいずれの結果も V LCテーブルに存在しないならば、 信号を Hにする。 また、. 図中斜線部分は判定 が行われるサイクル数を示す。
次に、 各 VLCデータ信号について説明する。
第 4 (a) 図は、 MP EG4における通常の VLCデータ信号を選択する場合 のタイミングチヤ一トである。
第 4 (a) 図において、 カウンタの値が 0を示し、 VI: Cテーブルの判定が開 始可能なデータがそろったならば、 t c o e f — eの開i 言号の立ち上がり判定 が行われる。 判定の結果、 カウンタの値が 1のとき d e c'二 n oma 1の信号が H (つまりデータが存在することを示す) ならば、 d e c— 1 ma Xおよび d e c— r ma xの信号の結果にかかわらず、 s e 1— n o m a 1の信号を Hにする 。 このとき、 制御回路 127は通常の VLCデータ信号 126を選択する選択信 号 128を出力し、 選択回路 129は選択信号 128に制御されて、 通常の VL Cデータ信号 126を選択する。
第 4 ( b ) 図は、 MPEG4における Ne wL e V e l"信号を用いて生成した VLCデータ信号を選択する場合のタイミングチャートである。
第 4 (b) 図において、 カウンタの値が 0を示し、 V Cテーブルの判定が開 始可能なデータがそろったならば、 t c o e f —eの開錄 j言号の立ち上がり判定 が行われる。 判定の結果、 カウンタの値が 1のとき全ての信号が Lで、 カウンタ の値が 2のとき d e c_n oma 1の信号が L, d e c— 1 ma xの信号が Hな らば、 d e c— r ma xの信号の結果にかかわらず、 s e l— l ma xの信号を Hにする。 このとき、 制御回路 127は Ne wL e V e 1信号を用いて生成した VLCデータ信号 123により選択信号 128を出力し、 選択回路 129は選択 信号 128に制御されて、 LMAXデータ信号 176を選択する。
第 4 (c) 図は、 MPEG4における NewRun信号を用いて生成した VL
Cデータ信号を選択する場合のタイミングチャートである。
第 4 (c) 図において、 カウンタの値が 0を示し、 VLCテーブルの判定が開 始可能なデータがそろったならば、 t c o e f— eの開始信号の立ち上がり判定 が行われる。 判定の結果、 カウンタの値が 1のとき全ての信号が Lで、 カウンタ の値が 2のとき d e c— n oma 1の信号が L, d e c丄 1 m a xの信号が L, d e c_r ma xの信号が Hならば、 s e 1— r m a xの信号を Hにする。 この とき、 制御回路 127は NewRun信号を用いて生成 た VLCデータ信号 1 16により選択信号 128を出力し、 選択回路 129は選択信号 128に制御さ れて、 RMAXデータ信号 175を選択する。
第 4 (d) 図は、 MP EG4における FLCデータ信号を選択する場合のタイ ミングチャートである。
第 4 (d) 図において、 カウンタの値が 0を示し、 VLCテーブルの判定が開 始可能なデータがそろったならば、 t c o e i—eの開始信号の立ち上がり判定 が行われる。 判定の結果、 カウンタの値が 1および 2のとき d e c_n oma 1 , d e c_ 1 ma , d e c— r m a xのいずれの信号も' Lならば、 s e l— f 1 cの信号を Hにする。 そして、 選択回路 129で FLCデータ信号 106を選 択する。 ノ'
第 4 (e) 図は、 H. 263における通常の じデ^ 信号を選択する場合 のタイミングチャートである。
第 4 (e) 図において、 カウンタの値が 0を示し、 VLCテーブルの判定が開 始可能なデータがそろったならば、 t c o e f— eの開始信号の立ち上がり判定 が行われる。 判定の結果、 カウンタの値が 1のとき d e c—n oma 1の信号が Hならば、 d e c— 1 ma xおよび d e c_r ma xの信号の結果にかかわらず 、 s e 1— n oma 1の信号を Hにする。 このとき、 制御回路 1 27は通常の V LCデータ信号 126を選択する選択信号 128を出力し、 選択回路 1 29は選 択信号 1 28に制御されて、 通常の VLCデータ信号 126を選択する。
第 4 (f ) 図は、 H. 263における FLCデータ信 選択する場合のタイ ミングチャートである。 ' ':
第 4 (f ) 図において、 カウンタの値が 0を示し、 VLCテーブルの判定が開
始可能なデータがそろったならば、 t c o e f— eの開始信号の立ち上がり判定 が行われる。 判定の結果、 カウンタの値が 1および 2のとき d e c— n oma 1 , d e c— 1 ma x, d e c— r m a xのいずれの信号 Lならば、 s e l_f 1 cの信号を Hにする。 そして、 選択回路 129で FLG.データ信号 106を選 択する。
次に、 上述したタイミングチャートの処理内容をまとめた図を第 5図に示し説 明する。
第 5図は本発明の実施の形態 2によるサイクル毎の処理内容をまとめた図であ る。
以下、 各サイクル毎の動作について説明する。 なお、 カツコ内は図中の処理內 容を示す。
第 5図より、 1サイクル目 (1T) は、 通常の VLCである L a s t、 Run 、 L e v e 1によってテーブルを引く処理を行う (NORMAL VLC)。 また 、 同時サイクルで、 Le v e lの値から、 La s t、 Runに対応する最大の L e V e 1の値である LMAXを減算して N e wL e v e 1を得(LMAX)、 Ru nの値から、 L a s t、 L e v e 1に対応する最大の Ru nの値である RMAX に 1を加算した値を減算して N e wRu nを得る (RMAX)。
続いて、 2サイクル目 (2T) は、 通常の VLCの結果が制御回路 127に存 在するか否かの判定を行い(NORMAL VLC判定)、通常の VLCの結果が 存在するならば、 その結果を出力する (VLC結果)。 また、 同時サイクルで L a s t、 Run, N e wL e v e 1の組に対応する V L Cを行い (LMAX VL C)、 La s t、 NewRun、 L e v e lの組に対応す V L Cを行う (RMA X VLC)0 ;
続いて、 3サイクル目 (3T) は、 L a s t、 R u n;: N e w L e v e 1の組 に対応する VLCの結果が制御回路 127に存在する力、否かの判定を行い (LM AX VLC判定)、 LMAX V L Cの結果が存在するならば、その結果を出力 し (VLC結果)、 また、 La s t、 NewRun、 L e v e lの組に対応する V LCの結果が制御回路 127に存在する力、否かの判定を行い (RMAX VLC 判定)、 RMAX VLCの結果が存在するならば、その結果を出力する (VLC
結果)。一方、いずれの結果も制御回路 127に存在していないと判定したならば 、 同時サイクルで L a s t、 Run, L e v e 1を F L Qによって処理を行い、 その結果を出力する (FLC結果)。 ,:
このように、 本実施の形態 2による可変長符号化装置によれば、 通常の VLC データと NewL e v e 1信号を用いて生成した VL Cデータと N e wR u n信 号を用いて生成した VLCデータと、 の処理を同時に行い、 予め設定した優先順 位に従って結果を出力するものとしたので、 すべての処理を 3サイクルで実行す ることが可能となり、 処理サイクル数を大幅に削減することが可能である。 なお、 本実施の形態 2による可変長符号化装置において, 予め設定した優先順 位は、 通常の VLCデータ、 NewL e v e 1信号を用いて生成した V L Cデー タ、 N e wRu n信号を用いて生成した VLCデータ、 FLCデータの順番で信 号を選択するものとしたが、 この順番に限るものではなぐ; 優先順位を通常の V LCデータ、 N e wRu n信号を用いて生成した VLCデ タ、 NewL e v e 1信号を用いて生成した VLCデータ、 FLCデータとしてもよレ、。 また、 さら に優先順位を通常の VLCデータ、 F LCデータとすることで、 NewL e v e 1信号を用いて生成した VLCデータ、 Ne wRu n信号を用いて生成した VL Cデータを選択することなく VLC化を行うことも可能である。 つまり、 そのよ うな優先順位は H. 263の VLCの処理にも対応することができ、 また、 画像 データによって任意に N e wL e V e 1信号を用いて生成した V L Cデータ、 N e wRu n信号を用いて生成した V L Cデータの優先順位を変えることが可能と なる。 これによりエスケープモードにおけるサイクル数 ¾¾1減した可変長符号化 装置を得ることができる。 '
(実施の形態 3) 「
本実施の形態 3の可変長符号化装置は、 1つの V L Cテーブルを用いて V L C を行うものである。
第 6図は、 本発明の実施の形態 3による可変長符号ィヒ装置の構成を説明するた めのプロック図である。
第 6図において、 第 3図と同一符号は同一または相当する部分を示している。 135は第 1の減算回路 109の出力信号、 1 36は第 'わ減算回路の出力信号 .!
135を保持する第 2のレジスタ、 137は第 2のレジスタ 136より出力され る NewRun信号、 138は第 2の減算回路 1 1 9の出力信号、 1 39は第 2 の減算回路 1 1 9の出力信号 1 38を保持する第 3のレジスタ、 140は第 3の レジスタ 139より出力される NewL e v e 1信号、 141は L e v e 1絶対 値信号 104と NewL e v e 1信号 140のうち、 いずれか一方の信号を選択 する第 1の選択回路、 142は第 1の選択回路 141の出力信号、 143は尺11 η信号 102と Ne wRun信号 1 37のうち、 いずれか 方の信号を選択する 第 2の選択回路、 144は第 2の選択回路 143の出力信号、 1 31は L a s t 信号 101と S i g n信号 103と、 第 1の選択回路の出力信号 142と、 第 2 の選択回路の出力信号 144とを入力する VLCテーブル、 132は¥ 〇テー ブル 131から出力される VLCテーブル出力信号、 133は VLCテーブル出 力信号 132を保持する第 1のレジスタ、 134は第 1のレジスタ 133の出力 信号である VLCデータ信号、 145は VLCデータ信号 134を入力する制御 回路、 146は第 1の選択回路 141を制御し、 L e v e l絶対値信号 104と Ne wL e V e 1信号 140のうち、 いずれか一方の信号を選択する第 1の選択 信号、 147は第 2の選択回路 143を制御し、 R u n信号 102と NewRu n信号 137のうち、 いずれか一方の信号を選択する第 2の選択信号、 148は 制御回路 145で選択された VLCデータ信号 134を VLC生成回路 1 72と 第 3の選択回路 149に出力する第 3の選択信号、 1 72は第 3の選択信号 14 8と VLCデータ信号 1 34とを入力し、 符号化データを生成する V L C生成回 路、 1 77は VLC生成回路 1 72の出力信号である VLC生成信号、 149は ¥ じ生成信号1 77と FLCデータ信号 106のうち、 いずれか一方の信号を 選択する第 3の選択回路である。
次に本発明の実施の形態 3による可変長符号ィ匕装置の動作について、 第 6図を 用いて説明する。
制御回路 145は第 1の選択信号 146により第 1の選択回路 141を制御し 、 第 2の選択信号 147により第 2の選択回路 143を制御する。 そして、 第 1 の選択回路 141は第 1の選択信号 146により制御されて、 L e V e 1絶対値 信号 104を選択し、 第 1の選択回路 141の出力信号 142として VLCテー
ブル 131に出力する。 また、 第 2の選択回路 143は第 gの選択信号 147に より制御されて、 Run信号 102を選択し、 第 2の選^回路 143の出力信号 144として VLCテーブル 131に出力する。 VLCデ ブル 131は、 L a s t信号 101と、 S i g n信号 103と-, L e v e l絶対値信号 104として の第 1の選択回路の出力信号 142と、 Ru n信号 102としての第 2の選択回 路の出力信号 144とを入力し、 通常の VLCを行って VLCテーブル出力信号
132を生成し、 第 1のレジスタ 133に出力する。 第 1のレジスタ 133は V LCテーブル出力信号 132を保持し、 通常の VLCである VLCデータ信号 1 34を制御回路 145と VLC生成回路 172に出力する。
制御回路 145は通常の VLCデータである VLCデ^ ~タ信号 134を入力し 、 VLCテーブルとして正しいか否かの判定を行う。 判定 結果、 VLCデータ 信号 134が VLCとして正しいならば、 制御回路 145'1は VLCデータ信号 1
34を選択する第 3の選択信号 148を VLC生成回路 1'72と第 3の選択回路
149とに出力する。 0生成回路172は、 選択さ ナこ VLCデータ信号 1 34を通常の VLCデータとし、 VLC生成信号 177として第 3の選択回路 1
49に出力する。 第 3の選択回路 149は第 3の選択信号 148に制御されて V LC生成信号 1 77を選択し、 データ信号 130として出力する。
次に、 LMAXテーブル 117は、 L a s t信号 10 Lと Ru n信号 102と を入力し、 LMAXデータ信号 118を生成して第 2の減算回路 119に出力す る。 第 2の減算回路 119は、 LMAXデータ信号 118と L e V e 1絶対値信 号 104とを入力し、 L e V e 1絶対値信号 104から LMAXデータ信号 1 1 8を減算し、 その結果を第 2の減算回路の出力信号 13 として第 3のレジスタ 139に出力する。 第 3のレジスタ 139は第 2の減算回路の出力信号 138を 保持し、 NewL e v e l信号 140として第 1の選択回路 141に出力する。 制御回路 145は、 第 1の選択信号 146により、 第 1の選択回路 141を制 御し、 第 1の選択回路 141は Ne wL e V e 1信号 140を選択し、 第 1の選 択回路の出力信号 142として VLCテーブル 131に出力する。 また、 制御回 路 145は第 2の選択信号 147により、 第 2の選択回路 143を制御し、 第 2 の選択回路 143は Run信号 102を選択し、 第 2の逶択回路の出力信号 14
4として VLCテーブル 131に出力する。 VLCテーブル 131は L a s t信 号 101と、 S i g n信号 103と、 NewL e v e l信号 140としての第 1 の選択回路の出力信号 142と、 Run信号 102としてめ第 2の選択回路の出 力信号 144とを入力し、 LMAX VLCを行って V pテーブル出力信号 1 32を生成し、 第 1のレジスタ 133に出力する。 第 1の;レジスタ 133は LM AX 乙〇でぁる 乙じテーブル出カ信号132を保持する。
制御回路 145は、 LMAX VLCである VLCデータ信号 134を入力し 、 VLCとして正しいか否かの判定を行う。 判定の結果、 VLCデータ信号 13 4が VLCとして正しいならば、 制御回路 145は VLCデータ信号 134を選 択する第 3の選択信号 148を VLC生成回路 172と第 3の選択回路 149と に出力する。 ¥し〇生成回路172は、 ESCコードと、 LMAXでの VLCを 示す符号を付加して符号化を行い VLC生成信号 177と,レて第 3の選択回路 1 49に出力する。 第 3の選択回路 149は第 3の選択信号 148に制御されて V LC生成信号 177を選択し、 データ信号 130として する。
また、 RMAXテープノレ 107は、 La s t信号 10 と L e v e 1絶対値信 号 104とを入力し、 RMAXデータ信号 108を生成 て第 1の減算回路 10 9に出力する。 第 1の減算回路 109は、 RMAXデータ信号 108と Ru n信 号 102とを入力し、 Run信号 102から、 RMAXデータ信号 108と 1を 加算した値を減算し、 その結果を第 1の減算回路 109の出力信号 135として 第 2のレジスタ 136に出力する。 第 2のレジスタ 136は第 1の減算回路の出 力信号 135を保持し、 NewRun信号l 37として第 2の選択回路 143に 出力する。 '
制御回路 145は、 第 1の選択信号 146により、 第 1 選択回路 141を制 御し、 第 1の選択回路 141は L e v e l絶対値信号 1 を選択し、 第 1の選 択回路 141の出力信号 142として VLCテーブル 1さ'.1に出力する。 また、 制御回路 145は、 第 2の選択信号 147により、 第 2 ¾択回路 143を制御 し、 第 2の選択回路 143は Ne wRu n信号 137を選択し、 第 2の選択回路 の出力信号 144として VLCテーブル 131に出力する。 VL Cテーブル 13 1は L a s t信号 101と、 S i g n信号 103と、 Le v e l絶対値信号 10
4としての第 1の選択回路の出力信号 142と、 N e wRu n信号 137として の第 2の選択回路の出力信号 144とを入力し、 RMA : VLCを行って VL Cテーブル出力信号 132を生成し、 第 1のレジスタ 133に出力する。 第 1の レジスタ 133は RMAX VLCである VLCテーブル出力信号 132を保持 する。
制御回路 145は、 RMAX VLCである VLCデータ信号 134を入力し 、 VLCとして正しいか否かの判定を行う。 判定の結果、 VLCデータ信号 13 4が VLCとして正しいならば、 制御回路 145は VLCデータ信号 134を選 択する第 3の選択信号 148を VLC生成回路 172と第 3の選択回路 149と に出力する。 。生成回路172は、 ESCコードと、 RMAXでの VLCを 示す符号を付加して符号化を行い VLC生成信号 177 して第 3の選択回路 1 49に出力する。 第 3の選択回路 149は第 3の選択信軎 148に制御されて V LC生成信号 177を選択し、 データ信号 130として ώ力する。
一方、 制御回路 145において、 いずれの VLCデータ?言号 134も VLCと して正しくないと判定したならば、 第 3の選択回路 149は、 FLCデータ信号 106を選択し、 データ信号 130として出力する。
次に、 第 7図は本発明の実施の形態 3による制御回路の動作を説明するための タイミングチャートである。
第 7図において、 各信号の名称は第 4図と同一であるので、 説明を省略する。 次に、 各タイミングチャートについて説明する。 ノ
第 7 (a) 図は、 MP EG 4における通常の VLCデ タ信号を選択する場合
.
のタイミングチャートである。 ':
第 7 (a) 図において、 カウンタの値が 0を示し、 V pテーブルの判定が開 始可能なデータがそろつたならば、 t c o e f— eの開始信号の立ち上がり判定 が行われる。 判定の結果、 カウンタの値が 1のとき d e c— n oma 1の信号が Hならば、 d e c_ 1 ma xおよび d e c_r ma xの信号の結果にかかわらず 、 s e 1— n oma 1の信号を Hにする。 このとき、 制御回路 145は通常の V LCである VLCデータ信号 134を選択する第 3の選択信号 148を出力し、 第 3の選択回路 149は第 3の選択信号 148に制御されて、 通常の VLCデー
タ信号である V L C生成信号 1 Ί 7を選択する。 - 第 7 (b) 図は、 MPEG4における Ne wL e V e 1 言号を用いて生成した VL Cデータ信号を選択する場合のタイミングチヤ一トである。
第 7 (b) 図において、 カウンタの値が 0を示し、 VLCテーブルの判定が開 始可能なデータがそろったならば、 t c o e f— eの開始信号の立ち上がり判定 が行われる。 判定の結果、 カウンタの値が 1のとき全ての信号が Lで、 カウンタ の値が 2のとき、 d e c__n oma 1の信号が L, d e c— 1 m a xの信号が H ならば、 d e c— r ma xの信号の結果にかかわらず、 s e 1— 1 m a xの信号 を Hにする。 このとき、 制御回路 145は Ne wL e V 1信号を用いて生成し た VLCデータ信号 134を選択する第 3の選択信号 1 8を出力し、 第 3の選 択回路 149は第 3の選択信号 148に制御されて、 N W L e V e 1信号を用 いて生成した VLCデータ信号である VLC生成信号 1 77を選択する。
第 7 (c) 図は、 MPEG4にぉけるNewRu n信号を用ぃて生成したVL Cデータ信号を選択する場合のタイミングチャートである。
第 7 (c) 図において、 カウンタの値が 0を示し、 VLCテーブルの判定が開 始可能なデータがそろったならば、 t c o e f— eの開始信号の立ち上がり判定 が行われる。 判定の結果、 カウンタの値が 1、 および 2めとき全ての信号がしで 、 カウンタの値が 3のとき、 d e c_n oma 1の信号が L, d e c_l ma x の信号が L, d e c— r ma xの信号が Hならば、 s e 1,— r m a xの信号を H にする。 このとき、 制御回路 145は Ne wRun信号 用いて生成した VLC データ信号を選択する第 3の選択信号 148を出力し、 桊: 3の選択回路 149は 第 3の選択信号 148に制御されて、 Ne wRun信号を用いて生成した VLC データ信号である VLC生成信号 1 77を選択する。
第 7 (d) 図は、 MP EG4における FLCデータ信号を選択する場合のタイ ミングチャートである。
第 7 (d) 図において、 カウンタの値が 0を示し、 VLCテーブルの判定が開 始可能なデータがそろったならば、 t c o e f— eの開始信号の立ち上がり判定 が行われる。 判定の結果、 カウンタの値が 1〜4のとき全ての信号が Lならば、 s e l_f 1 cの信号を Hにする。 そして、 第 3の選択囪路 149で F LCデー
タ信号 106を選択する。
第 7 (e) 図は、 H. 263における通常の VLCデ !タ信号を選択する場合 のタイミングチャートである。
第 7 (e) 図において、 カウンタの値が 0を示し、 V Cテーブルの判定が開 始可能なデータがそろったならば、 t c o e f— eの開始 号の立ち上がり判定 が行われる。 判定の結果、 カウンタの値が 1のとき d e c—n oma 1の信号が Hならば、 d e c_l ma xおよび d e c— r ma xの信号の結果にかかわらず 、 s e 1— n oma 1の信号を Hにする。 このとき、 制御回路 145は通常の V LCである VLCデータ信号 134を選択する第 3の選択信号 148を出力し、 第 3の選択回路 149は第 3の選択信号 148に制御されて、 通常の VLCデー タ信号である VLC生成信号 177を選択する。
第 7 (f ) 図は、 H. 263における FLCデータ信号 !―を選択する場合のタイ ミングチャートである。
第 7 ( f ) 図において、 カウンタの値が 0を示し、 VLCテーブルの判定が開 始可能なデータがそろつたならば、 t c o e f一 eの開始信号の立ち上がり判定 が行われる。 判定の結果、 カウンタの値が 1および 2のとき全ての信号が Lなら ば、 s e 1— f 1 cの信号を Hにする。 そして、 第 3の選択回路 149で FLC データ信号 106を選択する。
次に、 上述したタイミングチャートの処理内容をまとめた図を第 8図に示す。 第 8図は本発明の実施の形態 3によるサイクル毎の処¾内容をまとめた図であ る。 : :
以下、 各サイクル毎の動作について説明する。 なお、 力クコ内は図中の処理内 容を示す。
第 8図より、 1サイクル目 (1 T) は、 通常の VLCで!?る L a s t、 Ru n 、 L e v e 1によってテーブルを引く処理を行う (NORMAL VLC)。 また 、 同時サイクルで、 L e v e 1の値から、 L a s t、 Runに対応する最大の L e V e 1の値である LMAXを減算して N e wL e v e 1を得(LMAX)、 R nの値から、 L a s t、 L e v e 1に対応する最大の R u nの値である RMAX に 1を加算した値を減算して N e wRu nを得る (RMAX)。
2サイクル目 (2T) は、 通常の VLCの結果が制御回路 145に存在するか 否かの判定を行い(NORMAL VLC判定)、通常の VLCの結果が存在する ならば、 その結果を出力する (VLC結果)。 また、 同時 fィクルで La s t、 R u n、 N e wL e v e 1の組に対応する VLCを行う (LMAX VLC)。
3サイクル目 (3T) は、 La s t、 Run, NewL e v e lの組に対応す る VLCの結果が制御回路 145に存在するか否かの判定'を行い (LMAX V LC判定)、 LMAX VLCの結果が存在するならば、 め結果を出力する (V L C結果)、 また、 同時サイクルで L a s t、 NewRun、 L e v e lの組に対 応する VLCを行う (RMAX VLC)。
4サイクル目 (4T) は、 L a s t、 Ne wRun、 L e v e lの組に対応す る VLCの結果が制御回路 145に存在するか否かの判定を行い (RMAX V LC判定)、 RMAX VLCの結果が存在するならば、その結果を出力する (V LC結果)。
5サイクル目 (5T) は、 上述したいずれの VLC結果も制御回路 145に存 在していないと判定したなら、 La s t、 Run, L e e 1を F L Cによって 処理を行い、 その結果を出力する (FLC結果)。 !
また、 上述した第 8図の構成によれば、 RMAX VLCの判定を 4サイクル 目で行い、 RMAX VLCの結果が制御回路 145に存在していなければ F L Cデータの出力を 5サイクル目で行うこととしているが、 4サイクル目で RMA X VLCの判定を行うのと同時に FLCデータの出力を行うことも可能である 。 第 9図に第 8図の作業を 4サイクルで行うときのサイクル毎の処理内容をまと めた図を示す。
第 9図より第 8図との違いは、 4サイクル目 (4T) の処理が開始すると、 R MAX VLCの判定を行い、 RMAX V L Cの結果が制御回路 145に存在 しているならば、 その結果を出力し、 RMAX VLCの結果が制御回路 145 に存在していなければ、 同時サイクルで F L Cデータを出力し処理が終了するこ とである。
このように、 本実施の形態 3による可変長符号化装置によれば、 通常の VLC を行うと同時に LMAX VLCと RMAX VLCの生成を同時に行い、 通常
の VLCデータ信号が正しいものと判断されたならば、 ]kAX VLCおよび RMAX VLCの判定を行わないものとしたので、 通常の VLCを行うのと同 時に Ne wL e V e 1信号、 N e wR u n信号を算出することが可能である。 ま た、 従来 VLCの処理に 6サイクルを要していたが、 本実施の形態 3によれば処 理サイクル数を 4サイクルまたは 5サイクルに削減することができる。 さらに、 従来は 3つの VLCテーブルを用いて処理を行っていたが、 1つの V'LCテープ ルで VLCを行うことが可能なため、 回路面積の削減を図 ¾ことができる。 なお、 本実施の形態 3による可変長符号化装置において、 予め設定した優先順 位は、 通常の VLCデータ、 NewL e v e 1信号を用いて生成した V L Cデー タ、 N e wRu n信号を用いて生成した VLCデータ、 FLCデータの順番で信 号を選択するものとしたが、 この順番に限るものではな :ί' 優先順位を通常の V LCデータ、 N e wRu η信号を用いて生成した VLC タ、 NewL e v e 1信号を用いて生成した VLCデータ、 FLCデータとしてもよい。 また、 さら に優先順位を通常の VLCデータ、 FLCデータとすることで、 NewL e v e 1信号を用いて生成した VLCデータ、 Ne wRun信号を用いて生成した VL Cデータを選択することなく VLC化を行うことも可能である。 つまり、 そのよ うな優先順位は H. 263の VLCの処理にも対応することができ、 また、 画像 データによって任意に N e wL e V e 1信号を用いて生成した V L Cデータ、 N ewR ti n信号を用いて生成した VLCデータの優先順位を変えることが可能と なる。 これによりエスケープモードにおけるサイクル数 減した可変長符号化 装置を得ることができる。
また、 本実施の形態 3による可変長符号化装置において; カウンタを制御し、 VLCコードを正しくない回数に力ゥントさせることで、 優先順位を任意に設定 することが可能である。 つまり、 第 7図でカウンタは通常の VLCデータ、 Ne wL e V e 1信号を用いて生成した VLCデータ、 N e wR u n信号を用いて生 成した VLCデータ、 FLCデータの順番で VLCデータを出力するものとして いるが、 カウンタを制御して、 通常の VLCデータ、 NewRun信号を用いて 生成した VLCデータ、 NewL e v e 1信号を用いて生成した V L Cデータ、 F L Cデータの順番に設定してもよい。 このような順番に 定を変えた場合でも
、 同様の効果を得ることができる。 また、 優先順位を通常め VLCデータ、 FL Cデータの順番に設定することで、 H. 263に対応し 処理を行うことも可能 である。
(実施の形態 4)
本実施の形態 4の可変長符号化装置は、 1つの VLCテーブルを用いて VLC を行い、 しかも余分な処理にアクセスしないようにするものである。
第 10図は、 本発明の実施の形態 4による可変長符号化装置の構成を説明する ためのプロック図である。
第 10図において、 第 6図と同一符号は同一または相当する部分を示している 150は L e v e l絶対値信号 104と NewL e v e l信号 140のうち、 いずれか一方の信号を選択する第 3の選択回路、 1 51 3の選択回路 1 50 の出力信号、 1 52は Ru n信号 102と N e wRu n信号 137のうち、 いず れか一方の信号を選択する第 4の選択回路、 1 53は第 4の選択回路 1 52の出 力信号、 154は V L Cデータ信号 134を入力する制御回路、 157は第 3の 選択回路 150を制御し、 L e v e l絶対値信号 104と NewL e v e 1信号 140のうち、 いずれか一方の信号を選択する第 3の選択信号、 158は第 4の 選択回路 152を制御し、 1 1111信号102と Ne wRun信号 137のうち、 いずれか一方の信号を選択する第 4の選択信号、 1 59は L e v e l絶対値信号 104と、 L a s t信号 1 01と、 固定値とを入力する第 1の選択回路、 160 は第 1の選択回路 1 59により L e v e 1絶対値信号 104または固定値を出力 する第 1の出力信号、 16 1は第 1の選択回路 159によ L a s t信号 101 または固定値を出力する第 2の出力信号、 162は Run信号 102と、 L a s t信号 101と、 固定値とを入力する第 2の選択回路、 ϊ''63は第 2の選択回路 162により Ru n信号 102または固定値を出力する第 3の出力信号、 1 64 は第 2の選択回路 1 62により L a s t信号 101または固定値を出力する第 4 の出力信号、 155は第 1の選択回路 159を制御し、 L e v e l絶対値信号 1 04と、 L a s t信号 101と、 固定値の中から、 出力する信号を選択する第 1 の選択信号、 156は第 2の選択回路 1 62を制御し、 R u n信号 102と、 L a s t信号 101と、 固定値の中から、 出力する信号を選択する第 2の選択信号
、 1 65は制御回路 154で選択された V L Cデータ信专 34を V L C生成回 路 1 72と第 5の選択回路 1 66に出力する第 5の選択信号、 1 66は VLC生 成信号 1 77と F L Cデータ信号 106とのうち、 いずれか一方の信号を選択す る第 5の選択回路である。
次に本発明の実施の形態 4による可変長符号ィヒ装置の動作について、 第 10図 を用いて説明する。
制御回路 154は第 3の選択信号 157により第 3の選択回路 150を制御し 、 第 4の選択信号 1 58により第 4の選択回路 152を制御する。 そして、 第 3 の選択回路 150は第 3の選択信号 157により制御されて、 L e v e l絶対値 信号 104を選択し、 第 3の選択回路の出力信号 151として VLCテーブル 1 31に出力する。 また、 第 4の選択回路 1 52は第 4の蘧択信号 158により制 御されて、 Ru n信号 102を選択し、 第 4の選択回路の出力信号 1 53として VLCテーブル 1 31に出力する。 VLCテーブル 131は、 L a s t信号 1 0 1と、 S i g n信号 103と、 L e v e l絶対値信号 104としての第 3の選択 回路の出力信号 1 51と、 Run信号 102としての第 4の選択回路の出力信号
153とを入力し、 通常の VLCを行って VLCテーブル出力信号 1 32を生成 し、 第 1のレジスタ 133に出力する。 第 1のレジスタ 1 33は VLCテーブル 出力信号 1 32を保持し、 通常の VLCである VLCデ 信号 134を制御回 路 1 54と VLC生成回路 1 72に出力する。
制御回路 154は通常の VLCデータである VLCデ タ信号 134を入力し 、 VLCテーブルとして正しいか否かの判定を行う。 判定の結果、 VLCデータ 信号 134が VLCとして正しいならば、 制御回路 154は VLCデータ信号 1 34を選択する第 5の選択信号 165を VLC生成回路 1 72と第 5の選択回路
1 66とに出力する。 じ生成回路1 72は、 選択された VLCデータ信号 1 34を通常の VLCデータとし、 VLC生成信号 1 77として第 5の選択回路 1
66に出力する。 第 5の選択回路 1 66は第 5の選択信号 165に制御されて V
5
LC生成信号 1 77を選択し、 データ信号 130として出力する。
次に、 制御回路 154は第 2の選択信号 156により 2の選択回路 162を 制御する。 第 2の選択回路 162は第 2の選択信号 156により制御されて、 R
un信号 102と L a s t信号 101とを選択して入力し、 それぞれ第 3の出力 信号 163および第 4の出力信号 1 64として LMAXテーブル 1 17に出力す る。 LMAXテーブル 1 1 7は、 第 3の出力信号 163および第 4の出力信号 1 64を入力し、 LMAXデータ信号 1 18を生成して第 2 減算回路 1 19に出 力する。 第 2の減算回路 1 19は LMAXデータ信号 1 1'8と L e v e 1絶対値 信号 104とを入力し、 L e v e l絶対値信号 104から LMAXデータ信号 1 18を減算し、 その結果を第 2の減算回路の出力信号 13 '8として第 3のレジス タ 139に出力する。 第 3のレジスタ 1 39は第 2の減算回路の出力信号 1 38 を保持し、 Ne wL e V e 1信号 140として第 3の選択回路 1 50に出力する 制御回路 1 54は、 第 3の選択信号 157により第 3の選択回路 150を制御 し、 第 4の選択信号 158により第 4の選択回路 152を制御する。 第 3の選択 回路 1 50は第 3の選択信号 157に制御されて N e wL e V e 1信号 140を 選択し、 第 3の選択回路の出力信号 151として VLCテーブル 131に出力す る。 また、 第 4の選択回路 152は第 4の選択信号 158に制御されて R u n信 号 102を選択し、 第 4の選択回路の出力信号 153と ϋそ VLCテープル 1 3 1に出力する。 VLCテーブル 131は、 L a s t信号 01と、 S i g n信号 103と、 NewL e v e 1信号 140としての第 3の ϊί^回路の出力信号 1 5 1と、 !!!!信号丄 02としての第 4の選択回路の出力信号 153とを入力し、 LMAX VLCを行って VLCテーブル出力信号 1 32を生成し、 第 1のレジ スタ 133に出力する。 第 1のレジスタ 133は、 LMAX VLCである VL Cテーブル出力信号 132を保持する。
制御回路 1 54は、 LMAXデータである VLCデータ信号 1 34を入力し、 VLCとして正しいか否かの判定を行う。 判定の結果、 ¥ 0データ信号1 34 が VLCとして正しいならば、 制御回路 154は¥ じ ータ信号1 34を選択 する第 5の選択信号 165を VLC生成回路 1 72と第 選択回路 1 66とに 出力する。 じ生成回路1 72は、 ESCコードと、 LMAXでの VLCを示 す符号を付カ卩して符号ィ匕を行い VLC生成信号 177として第 5の選択回路 1 6 6に出力する。 第 5の選択回路 166は第 5の選択信号 1 65に制御されて VL
C生成信号 1 Ί 7を選択し、 データ信号 1 30として出力する。
また、 制御回路 1 54は、 第 1の選択信号 1 55により第 1の選択回路 1 59 を制御する。 第 1の選択回路 159は第 1の選択信号 155により制御されて、 L e v e l絶対値信号 104と L a s t信号 101とを il択して入力し、 それぞ れ第 1の出力信号 160および第 2の出力信号 161と UifCRMAXテーブル 1 07に出力する。 RMAXテーブル 107は、 第 1の出力信号 1 60および第 2 の出力信号 16 1を入力し、 RMAXデータ信号 108を生成して第 1の減算回 路 109に出力する。 第 1の減算回路 109は、 RMAXデータ信号 108と R u n信号 102とを入力し、 Ru n信号 102の値から、 RMAXデータ信号 1 08と 1を加算した値を減算し、 その結果を第 1の減算回路の出力信号 1 35と して第 2のレジスタ 136に出力する。 第 2のレジスタ 136は第 1の減算回路 の出力信号 135を保持し、 Ne wRun信号 137として第 4の選択回路 1 5 2に出力する。 , ·' ·
制御回路 1 54は、 第 3の選択信号 157により、 第 3 ¾選択回路 1 50を制 御し、 第 4の選択信号 158により第 4の選択回路 1 5 を制御する。 第 3の選 択回路 1 50は第 3の選択信号 157に制御されて L e v e l絶対値信号 104 を選択し、 第 3の選択回路の出力信号 1 51として VLCテーブル 131に出力 する。 また、 第 4の選択回路 152は第 4の選択信号 158に制御されて New 1 1111信号1 37を選択し、 第 4の選択回路の出力信号 1 53としで VLCテー ブル 1 31に出力する。 VLCテーブル 1 31は L a s t信号 102と、 S i g n信号 103と、 L e v e l絶対値信号 104としての第 Sの選択回路の出力信 号 151と、 NewRun信号l 37としての第 4の選択回路の出力信号 153 とを入力し、 RMAX VLCを行って VLCテーブル tfci力信号 132を生成し 、 第 1のレジスタ 1 33に出力する。 第 1のレジスタ 1 3:'3は RMAX VLC である VLCテーブル出力信号 132を保持する。 '
制御回路 154は、 RMAX VLCである VLCデータ信号 134を入力し 、 VLCとして正しいか否かの判定を行う。 判定の結果、 VLCデータ信号 1 3 4は VLCとして正しいならば、 制御回路 154は VLCデータ信号 1 34を選 択する第 5の選択信号 1 65を VLC生成回路 1 72と第 5の選択回路 1 66と
に出力する。 VLC生成回路 172は、 ESCコードと、 RMAXでの VLCを 示す符号を付加して符号化を行い V L C生成信号 1 77として第 5の選択回路 1 66に出力する。 第 5の選択回路 1 66は第 5の選択信号 1 65に制御きれて V LC生成信号 1 77を選択し、 データ信号 130として出力する。
—方、 制御回路 1 54において、 いずれの V L Cデー 信号 1 34も VLCと して正しくないならば、 第 5の選択回路 166は、 FLGデータ信号 106を選 択し、 データ信号 1 30として出力する。 '
次に、 本発明の実施の形態 4によるサイクル毎の処理内容をまとめた図を第 1 1図に示し説明する。
以下、 各サイクル毎の動作について説明する。 なお、 カツコ内は図中の処理内 容を示す。
第 1 1図より、 1サイクル目 (1 T) は、 通常の VLCである L a s t、 Ru n、 L e v e 1によってテーブルを引く処理を行う (NORMAL VLC)。 ま た、 同時サイクルで、 L e v e 1の値から、 L a s t、 お unに対応する最大の L e V e 1の値である LMAXを減算して Ne wL e V ュを得る (LMAX)
2サイクル目 (2T) は、 通常の VLCの結果が制御回路 154に存在するか 否かの判定を行い(NORMAL VLC判定)、通常の V L Cの結果が存在する ならば、 その結果を出力する (VLC結果)。 また、 同時サイクルで Ru nの値か ら、 L a s t、 L e V e 1に対応する最大の Runの値である RMAXに 1を加 算した値を減算して Ne wRunを得る (RMAX)。 ま,た、 L a s t, Run, N e wL e v e 1の組に対応する V L Cを行う (LMAX: VLC)。
3サイクル目 ( 3 T) は、 L a s t、 Run, N e w L e v e 1の組に対応す る VLCの結果が制御回路 154に存在するか否かの判 行い (LMAX V LC判定)、 LMAX V L Cの結果が存在するならば、そ—の結果を出力する.(V L C結果)、 また、 同時サイクルで L a s t、 NewRu'n、 L e v e lの組に対 応する VLCを行う (RMAX VLC)
4サイクル目 (4T) は、 L a s t、 Ne wRu n、 L e v e lの組に対応す る VLCの結果が制御回路 154に存在するか否かの判定を行い (RMAX V
LC判定)、 RMAX VLCの結果が存在するならば、そ.の結果を出力する (V LC結果)。一方、上述したいずれの VLC結果も制御回路 154に存在していな いと判定したならば、 La s t、 Run、 L e v e 1を F L Cによって処理を行 い、 その結果を出力する (FLC結果)。
このように、 本実施の形態 4による可変長符号化装置によれば、 通常の VLC を行うのと同時に Ne wL e v e 1信号を算出し、 第 1のエスケープモードを実 行する 2サイクル目で NewRun信号を算出するものとしたので、 常に 1サイ クル目で R M A Xテーブルにアクセスすることがなく、 消費電力を削減すること ができる。 また、 従来 VLCの処理に 6サイクルを要して! f、たが、 本実施の形態 4によれば処理サイクル数を 4サイクルに削減すること; できる。 さらに、 従来 は 3つの VL Cテーブルを用いて処理を行っていたが、 つの VLCテーブルで V L Cを行うことが可能となるため、 回路面積の削減を囪 ¾ことができる。 なお、 本実施の形態 4による可変長符号化装置において、 予め設定した優先順 位は、 通常の VLCデータ、 NewLe v e 1信号を用いて生成した V L Cデー タ、 N e wRu n信号を用いて生成した VLCデータ、 FLCデータの順番で信 号を選択するものとしたが、 この順番に限るものではなく、 優先順位を通常の V LCデータ、 N e wRu n信号を用いて生成した VLCデータ、 NewL e v e 1信号を用いて生成した VLCデータ、 FLCデータとじてもよい。 また、 さら に優先順位を通常の VLCデータ、 FLCデータとすることで、 NewL e v e 1信号を用いて生成した VLCデータ、 N e wRu n信号を用いて生成した VL Cデータを選択することなく VLC化を行うことも可能である。 つまり、 そのよ うな優先順位は H. 263の VLCの処理にも対応することができ、 また、 画像 データによって任意に Ne wL e V e 1信号を用いて生成した V L Cデータ、 N e wRu n信号を用いて生成した VLCデータの優先順位を変えることが可能と なる。 これによりエスケープモードにおけるサイクル数を削減した可変長符号化 装置を得ることができる。 産業上の利用可能性
以上のように本発明に係る可変長符号化方法および可変長符号化装置は、 演算
サイクル数を少なくし、 効率よく可変長符号ィ匕の処理を行うことができるので、 特に、 MPEG4や H. 263等の規格に準拠した動画像の圧縮処理に適してい る。