JP2870515B2 - 可変長符号化装置 - Google Patents

可変長符号化装置

Info

Publication number
JP2870515B2
JP2870515B2 JP35828696A JP35828696A JP2870515B2 JP 2870515 B2 JP2870515 B2 JP 2870515B2 JP 35828696 A JP35828696 A JP 35828696A JP 35828696 A JP35828696 A JP 35828696A JP 2870515 B2 JP2870515 B2 JP 2870515B2
Authority
JP
Japan
Prior art keywords
code
length code
variable
length
coefficient
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP35828696A
Other languages
English (en)
Other versions
JPH10191336A (ja
Inventor
裕 横山
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP35828696A priority Critical patent/JP2870515B2/ja
Publication of JPH10191336A publication Critical patent/JPH10191336A/ja
Application granted granted Critical
Publication of JP2870515B2 publication Critical patent/JP2870515B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03BASIC ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Description

【発明の詳細な説明】

【0001】

【発明の属する技術分野】本発明は、動画像の符号化に
用いられる、可変長符号化装置に関する。

【0002】

【従来の技術】画像データを高能率に符号化する技術と
して、DCT(Discrete CosineTransform;離散コ
サイン変換)と可変長符号化を組み合わせた方式が標準
化され、広く用いられている。しかしながら、対象とす
る画像の画素レートが高い場合、ソフトウェア処理で
は、処理速度が不十分であり、専用ハードウェアが必要
となる。また、可変長符号化を行うためには、可変長符
号(VLC;VariableLength Code)テーブルが用
いられ、大きなメモリが必要となる。

【0003】高速処理を目指した装置としては、例えば
特開平4−119013号公報には、回路構成をさほど
複雑化することなしに、ハードウェアにて、高画質の動
画像に対応した高速リアルタイム処理の実現を図る符号
化装置の構成が提案されている。この装置では、イベン
トメモリを用いることにより、DCT係数の符号化のた
めのイベント生成と他の付加符号の挿入を独立して行
い、高速な符号化処理を実現している。

【0004】図12は、従来の可変長符号装置の構成を
ブロック図にて示したものである。図12を参照して、
201は、量子化後のDCT係数入力に対して、係数値
0の続く数と、それに続く非0の係数値との組みである
イベントに変換するイベント生成部、202は、イベン
トを一時的に記憶しておくイベントメモリ部、203
は、イベントに対して可変長符号を割り当てるための前
処理を行うコード生成前処理部、204は、イベントに
対して可変長符号を割り当てるコードテーブル、205
は切り替え回路、206は可変長符号を符号を連続した
ビット列に並び替えるパッキング回路である。

【0005】ここで、まず1ブロック分の係数データの
イベントが作成される。すなわち、イベント生成部20
1では、入力が0であれば、係数値0の続く数をカウン
トするカウンタをインクリメントし、非0の係数値であ
れば、係数値0の続く数と非0の係数値とを一組のイベ
ントとして、イベントメモリ202に記録する。また係
数値0の続く数をカウントするカウンタはリセットす
る。この処理をくり返し、1ブロック分のイベントをす
べて、イベントメモリ202に書き込む。なお、イベン
トにはEOB(End Of Block)をつけることを識
別するビットを付加し、ブロックの最後では、このビッ
トをONにする。

【0006】次に、イベントメモリに202書き込まれ
たイベントを順に読み出し、イベントに対応する符号を
生成する。この処理に先立ち、まず、前処理部では、E
OBをつけることを識別するビットがONである場合に
は、EOBを符号化することを示すイベントを追加生成
する。

【0007】次に、コード生成前処理部203は、前処
理されたイベントをコードテーブル204のアドレスと
して与えて、対応した可変長符号の符号語と符号長が出
力される。

【0008】切り替え回路205では、上記処理で可変
長符号化した符号と、その他の付加符号との選択をし、
シンタックスに応じて、付加符号を挿入する。

【0009】最後に、パッキング回路206において、
入力の符号から連続したビット列を構成している。

【0010】また可変長符号テーブルのサイズを削減す
るための従来の方法として、例えば特開平4−1421
63号公報あるいは特開平8−79091号公報に記載
され方法が知られている。

【0011】上記特開平4−142163号公報に記載
の可変長符号化装置においては、可変長符号の符号語の
上位ビットは、同じ符号の繰り返しパタンが多いという
特徴があることから、図13に示すように、可変長符号
テーブルに格納する符号語を、同じビットが繰り返され
るパタンの長さと残りの符号で表現している。

【0012】この表現によると、例えばMPEG(Mov
ing Picture Experts Group)IのDCT係数の
符号を表すためには、繰り返し回数の表現のために4ビ
ット、残りのデータのために6ビット使用し、さらに符
号長を表現するために4ビット使用し、全体の長さは1
符号あたり14ビットで表現されている。

【0013】また上記特開平8−79091号公報に記
載の方式では、図14に示すように、係数の値(レベ
ル)の範囲によって、4つのクラスに分類し、係数値0
の続く数(ラン)とレベルの組合わせに対応する可変長
符号テーブルのアドレスを、クラスにより識別されるフ
ラグ領域と、ランを表す領域と、レベルを表す領域と、
を含み、全体として固定長で構成している。ランとレベ
ルの領域の大きさは、それぞれのクラスに含まれる最大
値を格納するのに必要な最小限の大きさに定めている。
例えばMPEG1のDCT係数の符号を表すためには、
図14に示す例では、11ビット使用している。

【0014】

【発明が解決しようとする課題】しかしながら、上記し
た従来方式は下記記載の問題点を有している。

【0015】第1の問題点は、イベントメモリを用いる
上記従来の方式では、係数データよりも大きなメモリ容
量が必要となる、ということである。

【0016】その理由は、最大のイベント数の発生にも
対応できなければならず、少なくとも係数データの数と
同じ数だけのイベントを格納するだけの容量がイベント
メモリに必要とされているためである。また、非0の係
数値の他に、0ラン情報や、EOBフラグなども記録す
る必要があるため、一つのイベントに対するビット幅は
係数データよりも大きくなる、ためである。

【0017】第2の問題点は、有効係数が多く発生する
場合には、並列処理による高速化の効果が得られない、
あるいは処理が破綻する場合がある、ということであ
る。

【0018】その理由は、有効係数が多く発生し、イベ
ントの数が多くなると、たとえ付加データの挿入中にイ
ベント生成処理を行ったとしても、付加データを含めて
符号化する符号語の数が、入力のDCT係数の数よりも
多くなる場合がある、からである。また、イベントの書
き込みと読み出しが同時にできないために、イベントの
数が多くなると、1ブロック期間内に1ブロック分の符
号化処理が終了しない、可能性もある。

【0019】第3の問題点は、リアルタイム性が保証で
きない、ということである。

【0020】その理由は、イベントメモリを用いている
ため、DCT係数の入力から対応する符号の出力までの
遅延が一定ではない、ためである。また、イベントの書
き込みと読み出しが同時にできないために、イベントの
数が多くなると、遅延が大きくなる可能性がある。

【0021】第4の問題点は、イベントに対する符号化
処理が常に固定遅延で行われるか否かが不明確である点
である。

【0022】その理由は、コードテーブルを参照する可
変長符号化処理のみに対応しており、エスケープ符号の
ような固定長符号化処理、および、イントラ(Intra)
DC成分の処理が設けられていない、からである。

【0023】次に第5の問題点は、上記従来の可変長テ
ーブルのサイズ削減のための方式では、可変長符号テー
ブルのサイズの削減が十分ではないことである。

【0024】その理由は、同じビットの繰り返し数を記
録する方法では、繰り返し数を記録のためにもメモリが
使われ、符号語のビット幅の削減が十分ではない、ため
である。

【0025】また、レベルだけの分類では、可変長符号
の割り当てられていないランとレベルの組合わせに対し
てもアドレスが定義されている無効な領域が、まだ多く
存在しているためである。

【0026】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、入力のDCT係
数の値によらず常に固定遅延で符号化処理を行い、高い
ビットレートにおいても、効率の低下や破綻を回避し、
且つリアルタイム性を保証し構成を簡易とする、高速な
可変長符号化装置を提供することにある。

【0027】また本発明の他の目的は、メモリ容量やビ
ット幅の削減を行い、よりハードウェア規模の小さい可
変長符号化装置を提供することにある。

【0028】

【課題を解決するための手段】前記目的を達成するた
め、本願第1発明の可変長符号化装置は、可変長符号を
記録した記憶装置と、量子化DCT係数を蓄積しておく
記憶手段と、量子化DCT係数順に読み出して符号化
し、可変長符号の場合には、前記可変長符号を記録した
記憶装置を参照するためのアドレス信号を出力し、固定
長符号の場合には、符号語と符号長を出力する手段と、
量子化DCT係数以外の符号化情報を符号化し、可変長
符号の場合には、前記可変長符号を記録した記憶装置を
参照するためのアドレス信号を出力し、固定長符号の場
合には、符号語と符号長を出力する手段と、可変長符号
のアドレスを候補群から選択する手段と、固定長符号の
符号を候補群から選択する手段と、固定長符号の符号を
固定の遅延期間だけ遅延させる手段と、可変長符号また
は固定長符号のいずれかを選択する手段と、前記選択さ
れた符号を連ねて符号列を形成する手段と、を備えたこ
とを特徴とする。

【0029】また、本願第2発明の可変長符号化装置
は、可変長符号を記録した記憶装置と、量子化DCT係
数を蓄積しておく記憶手段と、量子化DCT係数順に読
み出して符号化し、可変長符号の場合には、前記可変長
符号を記録した記憶装置を参照するためのアドレス信号
を出力し、固定長符号の場合には、符号語と符号長を出
力する手段と、量子化DCT係数以外の符号化情報を符
号化し、可変長符号の場合には、前記可変長符号を記録
した記憶装置を参照するためのアドレス信号を出力し、
固定長符号の場合には、符号語と符号長を出力する手段
と、可変長符号のアドレスを候補群から選択する手段
と、固定長符号の符号を候補群から選択する手段と、固
定長符号の符号を固定の遅延期間だけ遅延させる手段
と、可変長符号と固定長符号を結合し、別な符号を生成
する手段と、前記固定長符号か、あるいは前記可変長符
号と固定長符号を結合した符号のいずれかを選択する手
段と、前記選択された符号を連ねて符号列を形成する手
段と、を備えたことを特徴とする。

【0030】また、本願第3発明の可変長符号化装置
は、上記本願第1発明又は上記本願第2発明の可変長符
号化装置の量子化DCT係数の符号化手段が、係数の0
の値が連続する数を計数する手段と、係数の値を絶対値
と符号に変換する手段と、係数の0の値が連続する係数
の絶対値から、前記可変長符号を記録した記憶装置のア
ドレスを生成する手段と、係数の0の値が連続する数と
係数の絶対値から、可変長符号が定義されている組合わ
せか否かを判定し、可変長符号が定義されていない組合
わせの場合に、固定長の符号を生成する手段と、過去の
ブロックの特定の係数の値を保持する記憶手段と、前記
過去のブロックの特定の係数の値と、入力の係数の値と
の差分をとる手段と、差分値を表現する可変長符号のア
ドレスと固定長符号とを出力する手段と、を備え、上記
演算を全て並列に同じ処理遅延内で実行し、出力する可
変長符号のアドレスを、生成した前記アドレスの候補群
から選択する手段と、出力する固定長符号を、生成した
前記固定長符号の候補群から選択する手段と、を備えた
ことを特徴とする。

【0031】また本願第4発明は、上記本願第1発明又
は上記本願第2発明の可変長符号化装置の前記可変長符
号を記録した記憶装置において、可変長符号の符号長と
符号語を記録する部分からなり、符号語は符号長に応じ
て上位ビットを固定の数だけ削り、符号長から再生す
る、ことを特徴とする、可変長符号を記録したことを特
徴とする。

【0032】また本願第5発明は、上記本願第1発明又
は上記本願第2発明の可変長符号化装置の前記可変長符
号を記録した記憶装置において、係数の0の値が連続す
る数と係数の絶対値の組み合わせに対応する符号を記録
した記憶装置のアドレスを、前記係数の0の値が連続す
る数と、前記係数の絶対値の組み合わせに応じて分類
し、それぞれの分類において、分類を識別するフラグ
と、係数の0の値が連続する数の下位ビットと、係数の
絶対値の下位ビットとを組み合わせて、前記アドレスを
生成することを特徴とする、可変長符号を記録したこと
を特徴とする。

【0033】

【発明の実施の形態】本発明の実施の形態について以下
に説明する。本発明の可変長符号化装置は、その好まし
い実施の形態において、固定長符号の符号を固定の遅延
期間だけ遅延させる手段(図2の107)と、可変長符
号かあるいは固定長符号かの何れかを選択する手段(図
2の108)と、を有する。また、上記した従来方式の
イベントメモリ(図12参照)に代わり、同時に読み書
き可能なDCT係数メモリ(図2の101)を有する。

【0034】すなわち、本発明は、その好ましい実施の
形態において、可変長符号化装置は、可変長符号を記録
した記憶装置(図2の可変長符号テーブル106)と、
量子化DCT係数を蓄積しておく記憶手段(図2の10
1)と、量子化DCT係数順に読み出して符号化し、可
変長符号の場合には、可変長符号を記録した記憶装置を
参照するためのアドレス信号を出力し、固定長符号の場
合には、符号語と符号長を出力する手段(図2の10
2)と、量子化DCT係数以外の符号化情報を符号化
し、可変長符号の場合には、可変長符号を記録した記憶
装置を参照するためのアドレス信号を出力し、固定長符
号の場合には、符号語と符号長を出力する手段(図2の
103)と、可変長符号のアドレスを候補群から選択す
る手段(図2の104)と、固定長符号の符号を候補群
から選択する手段(図2の105)と、固定長符号の符
号を固定の遅延期間だけ遅延させる手段(図2の10
7)と、可変長符号または固定長符号のいずれかを選択
する手段(図2の108)と、選択された符号を連ねて
符号列を形成する手段(図2の109)と、を備える。

【0035】本発明の実施の形態においては、固定長符
号の符号を固定の遅延期間だけ遅延させる手段(図2の
107)により、可変長符号化される場合に参照される
可変長符号テーブル(図2の105)の読み出し遅延と
のタイミングを調整し、可変長符号と固定長符号が混在
していても、符号の順序を正しく連続させることができ
る。

【0036】また同時に読み書き可能なDCT係数メモ
リ(図2の101)により、符号化処理中で係数の読み
出しが行われていも、次の処理単位のデータの書き込み
が可能なため、無駄な待ち時間を要しない。

【0037】そして、本発明は、別の実施の形態におい
て、更に、可変長符号と固定長符号を結合し別な符号を
生成する手段(図5の111)と、固定長符号か、ある
いは可変長符号と固定長符号を結合した符号のいずれか
を選択する手段(図5の108)を備えた構成とされ
る。

【0038】また、本発明は、その好ましい実施の形態
において、量子化DCT係数の符号化手段は、係数の0
の値が連続する数を計数する手段(図3の121)と、
係数の値を絶対値と符号に変換する手段(図3の12
2)と、係数の0の値が連続する係数の絶対値から、前
記記憶装置(可変長符号テーブル)のアドレスを生成す
る手段(図3の127)と、係数の0の値が連続する数
と係数の絶対値から、可変長符号が定義されている組合
わせか否かを判定し、可変長符号が定義されていない組
合わせの場合に、固定長の符号を生成する手段(図3の
128)と、過去のブロックの特定の係数の値を保持す
る記憶手段(図3の141)と、前記過去のブロックの
特定の係数の値と、入力の係数の値との差分をとる手段
(図3の142)と、差分値を表現する可変長符号のア
ドレスを出力する手段(図3の144)と、差分値が表
現する固定長符号を出力する手段(図3の145)と、
を備え、これらの演算を全て並列に同じ処理遅延内で実
行し、出力する可変長符号のアドレスを、生成した前記
アドレスの候補群から選択する手段(図3の132)
と、出力する固定長符号を、生成した前記固定長符号の
候補群から選択する手段(図3の133)と、を備え
る。

【0039】また、本発明の実施の形態においては、可
変長符号を記録した記憶装置(可変長符号テーブル)に
おいて、可変長符号の符号長と符号語を記録する部分か
らなり、符号語は符号長に応じて上位ビット固定の数だ
け省略した符号を記録しておく手段を有する。

【0040】さらに、本発明の実施の形態においては、
可変長符号を記録した記憶装置において、係数の0の値
が連続する数と係数の絶対値の組合わせに対応する符号
を記録した記憶装置のアドレスを、前記係数の0の値が
連続する数と、前記係数の絶対値の組合わせに応じて分
類し、それぞれの分類において、分類を識別するフラグ
と、係数の0の値が連続する数の下位ビットと、係数の
絶対値の下位ビットとを組み合わせて、前記アドレスを
生成することができる、符号の記録手段を有する。

【0041】また、符号の一部を省略して記録しておく
ため、記録すべきビット幅が少なくて済む。

【0042】さらに、前記係数の0の値が連続する数
と、前記係数の絶対値の組合わせによりアドレス生成方
法が分類することで、可変長符号の定義されていない組
合わせに対応する無駄な割り当てを少なくすることがで
き、可変長符号を記録した記憶装置の容量を小さくする
ことができる。

【0043】

【実施例】上記した本発明の実施の形態について更に詳
細に説明すべく、本発明の実施例について以下に説明す
る。

【0044】図1は、本発明の一実施例の符号化装置の
全体構成をブロック図にて示したものである。これは、
動画像を符号化する国際標準化方式の一つであり、動き
補償フレーム間予測とDCT符号化を組み合わせた方式
である。例えば、MPEG1(ISO−11172)あ
るいはMPEG2(ISO−13818)で標準化され
た方式が代表的である。

【0045】図1において、フレームメモリ1に入力画
像を順次取り込み、符号化画像の符号化順序の並べ替え
を行う。画像信号は、フレームメモリ1から、予め指定
された大きさであるブロック毎に、データを読み出す。

【0046】次に、フレーム間予測を行う画像では、動
き推定部2において、各々のブロック毎に動きベクトル
探索を行い、予測モードと動きベクトルの検出を行う。
動き補償予測部3では、検出した動きベクトルと予測モ
ードと、から動き補償フレーム間予測を行い、予測信号
を生成する。なお、フレーム間予測を行わない場合は、
予測信号をすべて零(0)とするか、あるいは、不図示
の切り替え器により、フレーム内の信号を直接入力する
ように信号を選択してもよい。

【0047】続いて、差分器4において、符号化処理中
の原信号と、予測信号との差分を計算する。

【0048】DCT変換部5では、差分器4の差分出力
データを、離散コサイン変換(DCT)により直交変換
を施し、変換係数を求める。DCT変換部5から出力さ
れる変換係数は、量子化器6において、量子化処理さ
れ、量子化変換係数を出力する。

【0049】さらに符号化処理では、局所復号画像を得
るために、量子化変換係数を逆量子化部7において逆量
子化し、逆DCT変換部8において逆変換(Inverse
DCT)を施し、加算器9にて、予測信号と加算するこ
とにより、局所復号信号を求める。この局所復号信号
は、フレーム間予測処理あるいは符号化画像のモニタの
ために、フレームメモリ10に蓄積される。

【0050】一方、可変長符号化部11では、量子化係
数や、動きベクトル、予測モードなどのその他の情報を
可変長符号に変換し、符号列を出力する。符号列は符号
バッファ12に蓄え、所定のタイミングで、符号を外部
へ出力する。

【0051】このように、画素レートの高い画像信号を
リアルタイムで扱うためには、可変長符号化部11にお
ける量子化変換係数の符号化を効率よく処理しなければ
ならない。

【0052】次に、本発明の一実施例の可変長符号化部
11の構成について説明する。図2は、本発明の一実施
例の可変長符号化部11の構成例を示した図である。

【0053】図2を参照すると、まず、DCT係数メモ
リ101に量子化したDCT係数を蓄えておく。DCT
係数メモリ101は同時に書き込みと読み出しが可能で
あり、DCT係数の符号化処理中に、次の処理単位のD
CT係数を書き込むことができる。

【0054】DCT係数符号化器102では、DCT係
数メモリ101から係数を順次読み出す。MPEG1あ
るいはMPEG2などの規格では、非0あるいはイント
ラ(Intra)DC成分などの係数に関して、符号への変
換処理を行う。DCT係数以外符号化器103では、D
CT係数以外の符号化すべき情報の符号化処理を行う。
例えば、各レイヤのヘッダ符号、マクロブロック・アド
レス、マクロブロック・タイプ、モーション・タイプ、
DCTタイプ、量子化ステップ・サイズ、動きベクト
ル、マクロブロック・パタン、EOB符号、などの符号
化処理を行う。

【0055】ここで、符号語としては、入力データの値
や種類によって、可変長符号の場合と固定長符号の場合
がある。可変長符号については、その符号語と符号長
は、可変長符号化テーブル106に記録してある。

【0056】DCT係数符号化器102、および、その
他符号化器103では、可変長符号の場合には、可変長
符号化テーブル106を参照するためのアドレス信号を
発生し、対応する可変長符号の符号語と符号長を出力さ
せる。一方、固定長符号の場合には、符号語そのものを
構成し、符号長とともに出力する。

【0057】選択器104は、可変長符号符号のアドレ
スの選択を行う。

【0058】選択器105は、固定長符号の選択を行
う。

【0059】遅延器107は、可変長符号テーブル10
6の参照に要する遅延時間を考慮し、固定長符号の出力
タイミングの調整をする。

【0060】選択器108は、可変長符号か固定長符号
かの選択を行う。

【0061】最後にパッキング器109において、生成
した符号語を順次連ねて、符号列を生成する。

【0062】次に、本発明の一実施例におけるDCT係
数符号化部102の構成について説明する。図3は、本
発明の一実施例におけるDCT係数符号化部102の構
成例を示した図である。

【0063】図3を参照すると、まず、0判定・0ラン
カウンタ121では、入力される量子化DCT係数の0
判定を行い、連続する0の数(0ラン長)を計数し、そ
の値を保持する。

【0064】絶対値符号分離器122では、入力される
量子化DCT係数の絶対値と、符号ビットとに分離す
る。0以外の有効な量子化DCT係数が入力されたとき
は、0ラン長と量子化DCT係数の値(レベル)および
符号は、それぞれレジスタ123、124、125、1
26に保持しておく。

【0065】可変長符号テーブルアドレス計算部127
では、0ラン長(run)とレベル(level)か
ら、可変長符号化する場合のテーブルアドレスを計算す
る。

【0066】エスケープ判定・符号生成部128では、
ラン(run)とレベル(level)の組合わせか
ら、可変長符号が定義されていない組合わせであるか否
かの判定を行い、エスケープ判定結果を出力する。エス
ケープの場合は固定長符号化し、固定長の符号語と符号
長を出力する。ここで固定長符号は、エスケープの識別
符号と、runの値と、levelの値の3つの要素か
ら構成される。

【0067】次に本発明の一実施例におけるイントラD
C成分の符号化処理について説明する。図3を参照する
と、まず、前値保存レジスタ141では、直前の符号化
ブロックでのイントラDC成分の値を保持しておく。こ
れは、各々の色成分について用意されている。また、指
定の条件のもとで、初期値にリセットされる。

【0068】次に差分器142では、入力のイントラD
C成分と、対応する色成分の前ブロックでの値と、の差
分を計算する。この差分値は、レジスタ143に保持し
ておく。

【0069】サイズ判定・可変長符号テーブルアドレス
変換器144では、差分値の大きさを判定し、サイズの
値を出力するとともに、サイズの値に対応する可変長符
号の格納されているアドレスを生成する。

【0070】ディファレンシャル符号生成部145で
は、求めたサイズの値に対応した差分値の符号を生成し
出力する。前記サイズの値に対応する可変長符号の格納
されているアドレスと、ディファレンシャルの値はそれ
ぞれ、レジスタ146、147に保持しておく。

【0071】選択器132、133は、それぞれ、可変
長符号テーブルアドレス、固定長符号の選択を行い、係
数の種類に応じて一つのアドレス、および固定長符号を
出力する。ここで、固定長符号は、符号語と符号長から
構成されるが、図では、一本の信号線で表現している。

【0072】なお、図3において、入力係数は、2の補
数表現であることを想定しているが、別の表現方法であ
ってもよい。例えば、図7、図8は、入力係数が絶対値
表現である場合の構成を示す図である。

【0073】図7では、エスケープ符号で符号化する2
の補数表現の係数の値を、補数表現変換器148により
絶対値表現を変換する。

【0074】図8では、エスケープ符号で符号化する係
数の値は、エスケープ判定・符号生成部128の内部で
生成するものとし、係数の符号を入力として追加した構
成に成っている。この構成によれば、係数を保持するレ
ジスタ124を省くことができる。

【0075】次に、本発明の一実施例として、可変長符
号化部11における量子化DCT係数の符号化処理の動
作タイミングについて説明する。図4は、動作タイミン
グを説明するためのタイミング図である。すなわち、図
4は、図2、及び図3に示した構成における動作を説明
するものであり、2クロック間隔で1つの量子化DCT
係数が入力され、1係数に対して2つの符号要素を順に
出力してパッキング処理する。なお、以下では、フレー
ム間予測を行わないイントラブロックの場合について説
明する。

【0076】図4を参照すると、最初に入力される係数
データ「130」はイントラDC成分である。この信号
は、イントラDC成分符号生成用の処理がなされる。い
ま、この信号と同じ色成分の前のブロックのイントラD
C成分が「128」であったとすると、イントラDC差
分値(c)は、次のクロックで「2」となり、イントラ
DCサイズ(d)も「2」となる。

【0077】さらに次のクロックで、ディファレンシャ
ル(e)は2ビットの“10”となる。サイズを表すた
めの可変長符号のテーブルアドレス(f)は、符号表の
並べ方の順番に依存するが、たとえば「a1」であると
すると、これもディファレンシャル(e)と同じタイミ
ングで確定する。

【0078】サイズの符号語は、可変長符号テーブルの
a1で示されるアドレスの符号語を参照する。

【0079】ここで、選択器132(図3参照)および
選択器104(図2参照)により、イントラDCサイズ
の符号のアドレスを選択し、可変長符号テーブル106
のアドレスを設定する。

【0080】アドレスが設定されてから、対応する符号
語が得られるまでには、数クロックの遅延がある。い
ま、たとえば3クロック経過後に符号語が得られるもの
とすると、アドレスa1に対応する符号c1が、可変長
符号(o)のタイミングで得られる。

【0081】これと同時に、選択器108により、この
信号(可変長符号(o))を選択し、パッキング器10
9の入力(q)として出力する。

【0082】図4を参照して、ディファレンシャルの符
号は、固定長符号(p)としてアドレスを設定した次の
クロックで、選択器133(図3参照)および選択器1
05(図2参照)により選択され、出力される。さらに
遅延器107により、可変長符号参照のための遅延時間
だけ遅延させたのち、サイズの符号の後に、ディファレ
ンシャルの符号を選択器108により選択し、パッキン
グ器109の入力(q)として出力する。なお、0ラン
長カウンタの値(g)は有効な係数の入力であったの
で、0にリセットする。

【0083】図4を参照して、次に入力される係数デー
タが「−2」であるとする。まず、この値は「0」では
なく、符号化すべき有効係数であるから、0ラン長カウ
ンタ(g)の値は零にリセットすると同時に、それまで
の0ラン長カウンタの値を0ラン長(h)にセットす
る。また、DCT係数は、入力の次のクロックで一旦ラ
ッチされる(i)とともに、絶対値表現に変換し、絶対
値(j)と符号(k)の値を保持する。

【0084】つづいて、0ラン長(run)と係数値
(level)の値の組合わせから、エスケープ判定を
行い、判定結果(l)を出力する。この場合は、エスケ
ープ(esc)ではなく、可変長符号化される。

【0085】このとき、ラン(run)とレベル(le
vel)の組合わせから、可変長符号テーブル106の
アドレスに変換する。いま、そのアドレスを「a2」と
する。ここで、MPEG1やMPEG2で使用されるD
CT係数の符号語の最後の1ビットは、レベル(lev
el)の符号(sign)を表すコードとなっているた
め、レベル(level)の絶対値により、テーブル引
きを行い、最後に符号ビットを付加することで、符号語
を生成する。

【0086】ここで、選択器132および選択器104
により、ランとレベルの組合わせの可変長符号のアドレ
スを選択し、可変長符号テーブル106のアドレスを設
定する。可変長の符号(o)は、上記したように数クロ
ックの遅延のあと、アドレス「a2」に対応する符号
「c2」が得られる。これと同時に、パッキング器10
9の入力(q)として、この信号(「c2」)を選択出
力する。

【0087】また固定長の符号(p)としては、係数の
符号(sign)を、アドレスを設定した次のクロック
で、選択器133および選択器105により、選択出力
する。この固定長符号は、上記と同様にして、遅延器1
07で遅延させた後、可変長符号「c2」の次のクロッ
クで、選択器108により選択し、パッキング器109
の入力(q)としてこの信号を出力する。

【0088】図4を参照して、次に入力される係数デー
タは「42」である。この時も同様に、0ラン長カウン
タの値(g)は零(0)にリセットすると同時に、それ
までの0ラン長カウンタの値を0ラン長(h)にセット
する。

【0089】また、DCT係数は入力の次のクロックで
一旦ラッチされる(i)とともに、絶対値表現に変換
し、絶対値(j)と符号(k)の値を保持する。

【0090】つづいて、0ラン長(run)と係数値
(level)の値の組合わせから、エスケープ判定を
行い、判定結果(l)を出力する。

【0091】この場合は、エスケープ符号となる。この
時、次のクロックでエスケープの識別符号(esc)の
あとに、ラン(run)の値を固定長符号化した符号を
結合したものを出力する(m)。

【0092】ここで、エスケープの識別符号(esc)
は、例えばMPEG1やMPEG2では、6ビットの符
号“000001”が使われる。また、ラン(run)
の最大値は、「63」であり、これも6ビットで表現さ
れる。ここで出力される符号は、これらの符号を結合し
た12ビットの符号である。

【0093】そして、続くクロックでは、レベル(le
vel)を固定長符号化した符号を出力する(m)。こ
れらの信号は、選択器133および選択器105により
選択され固定長の符号(p)として出力される。これら
も、上記と同様に遅延させた後、前の係数の符号に引続
き、選択器108により選択し、パッキング器109の
入力(q)として出力する。

【0094】以後、0係数が入力された場合には、0ラ
ン長カウンタの値(g)をインクリメントしていく。

【0095】そして、再び、係数データとして非0の係
数「3」が現れたとき、上記と同様なタイミングで符号
化処理が行われ、可変長符号テーブル106のアドレス
「a3」から可変長符号「c3」が導出され、入力デー
タの符号(sign)とともに符号語が送出される。

【0096】なお、図では明示していないが、符号(s
ign)は、符号語と符号長の組で表される。ただし、
図では符号語のみ示した。実際には、符号語と同じタイ
ミングで、対応する符号長も設定されている。

【0097】次に、DCT係数の入力間隔が異なる場合
について説明する。いま1クロックで1つの量子化DC
T係数が入力される場合を考える。このとき一つの係数
に対して発生する複数の符号要素は、一つの符号語に結
合してパッキング部に出力する必要がある。

【0098】図5は、本発明の別の実施例における可変
長符号化部の構成を示す図である。この実施例では、図
2の可変長符号テーブル105の出力の後段、及び選択
器108の前段に、符号結合器111を追加している。

【0099】符号結合器111は、可変長符号テーブル
105から出力される可変長符号と、遅延器107を介
して出力され、可変長符号の直後に符号化すべき固定長
符号を入力とし、可変長符号の直後に、固定長符号を結
合し、新しい符号を構成して出力する。

【0100】図6に、本発明の別の実施例の動作タイミ
ングを説明するためのタイミング図である。図6は、図
5に示した構成を用いて、1クロックで1つの量子化D
CT係数が入力される場合を示している。ここでも、フ
レーム間予測を行わないイントラブロックの場合である
とする。

【0101】図6を参照すると、まず最初に入力される
データ「130」は、イントラDC成分である。この信
号はイントラDC成分符号用の処理がなされる。いま、
この信号と同じ色成分の前のブロックのイントラDC成
分が「128」であったとすると、差分値(c)は、次
のクロックで「2」となり、サイズ(d)も「2」とな
る。

【0102】さらに次のクロックで、ディファレンシャ
ル(e)は2ビットの“10”となる。サイズを表すた
めの可変長符号テーブル106のアドレス(f)は、符
号表の並べ方の順番に依存するが、例えば「a1」であ
るとすると、これもディファレンシャル(e)と同じタ
イミングで確定する。

【0103】サイズの符号語は、可変長符号テーブル1
06の「a1」で指示されるアドレスの符号語を参照す
る。ここで、選択器132および選択器104により、
サイズの符号のアドレスを選択し、符号テーブルのアド
レスを設定する。

【0104】アドレスが設定されてから、対応する符号
語が得られるまでには、数クロックの遅延がある。い
ま、例えば3クロック経過後に符号語が得られるものと
すると、アドレス「a1」に対応する符号「c1」が、
可変長符号(o)のタイミングで得られる。これと同時
に、選択器108により、前記信号(符号「c1」)を
選択し、パッキング器109の入力(q)として出力す
る。

【0105】ディファレンシャルの符号は、固定長符号
(p)として出力され、アドレスを設定した同じクロッ
クで、選択器133および選択器105により、選択さ
れ出力される。遅延器107により、可変長符号参照の
ための遅延時間だけ遅延させたのち、符号結合器111
により、サイズの符号とディファレンシャルの符号と結
合させ、選択器108により選択し、パッキング器10
9の入力(q)として出力する。なお、0ラン長カウン
タの値(g)は有効な係数の入力であったので、0にリ
セットする。

【0106】図6を参照すると、次に入力される信号が
「−2」である。まず、この値は、「0」ではなく、符
号化すべき有効係数であるから、0ラン長カウンタの値
(g)を0にリセットすると同時に、それまでの0ラン
長カウンタの値を0ラン長(h)にセットする。また、
DCT係数は、入力の次のクロックで一旦ラッチされる
(i)とともに、絶対値表現に変換し、絶対値(j)と
符号(k)の値を保持する。

【0107】つづいて、0ラン長(run)と係数値
(level)の値の組合わせから、エスケープ判定を
行い、判定結果(l)を出力する。この場合はエスケー
プではなく、可変長符号化される。このときラン(ru
n)とレベル(level)の組合わせから、可変長符
号テーブル106のアドレスに変換する。いま、そのア
ドレスを「a2」とする。ここで、符号語の最後の1ビ
ットは、レベル(level)の符号(sign)を表
すコードとなっているため、レベル(level)の絶
対値により、テーブル引きを行い、最後に符号ビットを
付加することで、符号語を生成する。

【0108】ここで、選択器132および選択器104
により、ラン(run)とレベル(level)の組合
わせの可変長符号のアドレスを選択し、可変長符号テー
ブル106のアドレスを設定する。

【0109】可変長の符号(o)は、上記したような数
クロックの遅延のあと、アドレス「a2」に対応する符
号「c2」が得られる。また固定長の符号(p)として
は、符号(sign)を、アドレスを設定した同じクロ
ックで、選択器133および選択器105により、選択
して、出力する。これも、前記と同様に、遅延器107
で遅延させた後、可変長符号「c2」と結合し、選択器
108により選択し、パッキング器109の入力(q)
として、信号を出力する。

【0110】図4を参照すると、次に入力される係数デ
ータは「42」である。この時も、同様に、0ラン長カ
ウンタの値(g)は0にリセットすると同時に、それま
での0ラン長カウンタの値を0ラン長(h)にセットす
る。また、DCT係数は入力の次のクロックで一旦ラッ
チされる(i)とともに、絶対値表現に変換し、絶対値
(j)と符号(k)の値を保持する。

【0111】つづいて、0ラン長(run)と係数値
(level)の値の組合わせから、エスケープ判定を
行い、判定結果(l)を出力する。この場合はエスケー
プ符号となる。

【0112】この時、エスケープの識別符号(esc)
のあとに、ラン(run)とレベル(level)をそ
れぞれ固定長符号化した符号を結合し出力する(m)。
ここで、エスケープの識別符号(esc)は、例えばM
PEG2では、6ビットの符号“000001”が使わ
れる。また、ラン(run)の最大値は「63」であ
り、これも6ビットで表現される。また、レベル(le
vel)の値はMPEG2では12ビットで表現され
る。

【0113】ここで出力される符号は、これら3つの符
号を結合した24ビットの符号である。この信号は、選
択器133および選択器105により選択され、また固
定長の符号(p)として出力され、これも上記と同様
に、遅延器107で遅延させた後、前の係数の符号に引
続き、選択器108により選択し、パッキング器109
の入力(q)として出力する。

【0114】以後、0係数が入力された場合には、0ラ
ン長カウンタの値(g)をインクリメントしていく。そ
して再び非0の係数が現れたとき、上記と同様なタイミ
ングで符号化処理が行われ、可変長符号テーブル106
のアドレス「a3」から可変長符号「c3」が導出さ
れ、入力データの符号(sign)とともに符号語が送
出される。

【0115】次に、本発明の一実施例における可変長符
号テーブル106の構成方法について説明する。図9
に、本発明の一実施例における可変長符号テーブル10
6の構成を説明するための図を示す。

【0116】図9を参照すると、一つの可変長符号は、
符号語と符号長と、から構成される。ここで、MPEG
1あるいはMPEG2で使用されるDCT係数のための
可変長符号は、最大17ビットであり、一番末尾のビッ
トは係数値の符号を示すビットである。すなわち符号を
示すビットを省き、これは後から別途結合する構成とし
たことにより、最大16ビットの符号語を格納できれば
よい。

【0117】また、符号語の特徴として、上位ビットに
同じビット(例えば0)が連続して使用されている符号
語が多く存在する。そこで、この特徴を利用して、固定
の長さだけ上位ビットを省いて、残りのビットだけをテ
ーブルに記録する。実際の符号は、符号長から上位ビッ
トが省かれているか否かを判断し、上位ビットが省かれ
ている場合には、省かれた部分の符号を再結合し符号を
構成する。

【0118】図9に示す一実施例では、符号を、その符
号長から8ビット以下、8ビット超12ビット以下、1
2ビット超16ビット以下の3つのクラスに分類する。
符号長が8ビット以下の場合には、8ビット以下の符号
語のすべてをテーブルに記録する。8ビット超12ビッ
ト以下の場合には、上位4ビットを省き下位の8ビット
以下の符号語をテーブルに記録する。12ビット超16
ビット以下の場合には、上位8ビットを省き下位の8ビ
ット以下の符号語をテーブルに記録する。

【0119】この構成により、同じビットの連続する部
分を省くことができ、また、違うビットの存在する部分
を省くことはない。

【0120】符号長については、最大符号長が16ビッ
トであるので、4ビットで表現することが可能である。
例えば、符号長を2進数で表現し、“0000”につい
ては16に割り当てることにより、実現できる。あるい
は、符号長「−1」の値を2進数表現する、ようにして
もよいことは勿論である。

【0121】実際の符号語の構成では、まず符号長のデ
ータから、符号のクラス分けができ、それに応じて、指
定の数のビットをテーブル内の符号語の上位に結合する
だけでよい。

【0122】例えば図10のように、上位に8ビットの
同じ符号(ここでは“00000000”)を付加した
符号と、上位に4ビットの同じ符号(ここでは“000
0”)を付加した符号と、何も付加せずテーブル内の符
号とをそのままのものである符号を予め構成しておき、
これを符号長の長さにより選択すれば良い。このように
結合するビットの数は固定であるため、シフタ等のハー
ド資源を必要とせず、簡単な構成で符号語を生成でき
る。

【0123】以上説明したように、固定長の上位ビット
を省略したテーブル構成にすることで、ひとつの符号の
ためのビット幅を12ビットで収めることができる。

【0124】これは、図13で説明した従来の方法では
14ビット使用していたものに比べて、少ないビット幅
でテーブルを構成することができている。すなわちメモ
リ容量を小さくできる。

【0125】なお、以上の説明では、DCT係数の符号
に使う例について述べたが、他の符号語の表現にも使用
できることは容易に推定できる。例えば、マクロブロッ
ク・アドレスや、マクロクタイプや、マクロブロック・
パタンや、動きベクトルや、イントラDC成分のサイズ
の符号の表現にも、同様な方法が適用できる。

【0126】イントラDC成分のサイズについては、上
位ビットの同じ符号は“1”の連続であるが、この時は
符号語の再生には“1111”などを補えばよい。

【0127】次に、本発明の一実施例における可変長符
号テーブル106のアドレスを生成方法について説明す
る。

【0128】DCT係数の符号は、0の連続する数(r
un)と非0の係数値(level)の組合わせから定
義されるが、ラン(run)と、レベル(level)
の全ての組合わせに対して可変長符号が定義されている
わけではない。

【0129】可変長符号が定義されているのは、高い頻
度で出現する二百数十個の組合わせだけであり、残りの
全ての組合わせはエスケープ符号として固定長符号化さ
れる。そのため、ラン(run)とレベル(leve
l)の組合わせに対して幾つかのクラス分けを行い、そ
れぞれのクラスに対応したアドレスを生成する。この構
成により、アドレスのビット幅を削減し、すなわちメモ
リ空間を小さくすることができる。

【0130】図11を参照して、可変長符号テーブル1
06のアドレスの生成方法の一例を説明する。図11に
示すように、ラン(run)とレベル(level)の
絶対値により、8つのクラスに分類する。

【0131】それぞれのクラスにおいて、上位の数ビッ
トは固定で、残りのビットはrunあるいはlevel
の下位ビットを使用する。例えばレベル(level)
の絶対値が「1」で、ラン(run0が「31」以下で
あれば、アドレスの上位2ビットを“00”、下位の5
ビットはrunの値の下位5ビットにより、構成する。
別な例では、例えば「level」の絶対値が「5以上
8以下で、ラン(run)が「3」以下であれば、アド
レスの上位3ビットを100、次の2ビットはrunの
値の下位2ビットにより、さらに次の2ビットはレベル
(level)の絶対値の下位2ビットにより、構成す
る。

【0132】以上のように、本発明の実施例において
は、可変長符号のテーブルアドレスを、ラン(run)
とレベル(level)の組合わせから構成すること
で、7ビットのアドレス空間で表現できる。

【0133】これは、図14で説明した従来の方法では
11ビット使用していたものに比べて、少ないビット幅
でアドレスを生成することができている。すなわち無駄
の少ない効率的なテーブルが構成できる。

【0134】なお、以上の説明では、MPEG1あるい
はMPEG2に対応した符号化装置について説明した
が、他の画像符号化方式、例えば、H.261、H.2
63、JPEGなどにも適用することができる。

【0135】

【発明の効果】以上説明したように、本発明によれば、
下記記載の効果を奏する。

【0136】本発明の第1の効果は、符号化するデータ
を蓄積しておくメモリの容量を、削減することができ
る、ということである。

【0137】その理由は、本発明においては、イベント
メモリを用いず、係数メモリだけ使用しているためであ
る。

【0138】本発明の第2の効果は、非0の係数の係数
が多数発生しても、高速化の効果が減少しない、という
ことである。このため、高いビットレートの符号化処理
にも対応できる。

【0139】その理由は、本発明においては、係数の符
号化処理中は、係数メモリから係数を固定間隔で読み出
し、固定遅延で処理できるためである。

【0140】本発明の第3の効果は、有効係数に対する
符号化処理が如何なる場合でも、固定遅延で行うことが
できる。このためパイプライン制御を乱すことなく、常
に一定間隔でDCT係数データの供給が可能であり、高
いスループットとリアルタイム性を得ることができる。

【0141】その理由は、本発明においては、量子化D
CT係数に対する符号の種類、すなわち、イントラDC
成分なのか、エスケープなのか、それ以外なのか、によ
らず、同じ遅延時間で処理できる、ようにしたことによ
る。また、固定長符号の場合には、可変長符号のテーブ
ルの参照に要する遅延と同じだけ、符号の出力を遅延さ
せて、パッキング器に入力させるため、固定長符号と可
変長符号が混在していても、正しい順序で符号の出力が
可能である。このため、データの値や種類において、パ
イプライン処理のタイミングが乱されることはない。

【0142】本発明の第4の効果は、ハードウェア規模
の縮小を可能とする、ということである。

【0143】その理由は、本発明においては、DCT係
数の入力間隔を2クロックに1係数とすることで、1符
号当りのビット幅の削減が可能である、ことによる。ま
た、1係数あたり、複数個の符号語の構成要素からなる
場合、それを順次出力する構成により、それらをパッキ
ングの前に結合する必要がなく、制御も簡単になる。

【0144】本発明の第5の効果は、可変長符号テーブ
ルのためのメモリ量の縮小が可能である、ということで
ある。

【0145】その理由は、本発明においては、符号語の
一部を省略して記録しておくこと、および、可変長符号
の定義されていないラン(run)とレベル(leve
l)の組合わせに対する無駄な符号の蓄積を少なくして
いるからである。

【図面の簡単な説明】

【図1】本発明の一実施例の符号化装置の全体構成を示
すブロック図である。

【図2】本発明の一実施例における可変長符号化部の構
成を示すブロック図である。

【図3】本発明の一実施例におけるDCT係数符号化部
の構成を示すブロック図である。

【図4】本発明の一実施例における符号生成部の動作を
説明するためのタイミング図である。

【図5】本発明の一実施例における可変長符号化部の構
成を示すブロック図である。

【図6】本発明の一実施例における符号生成部の動作を
説明するタイミング図である。

【図7】本発明の一実施例におけるDCT係数符号化部
の構成を示すブロック図である。

【図8】本発明の一実施例における本発明のDCT係数
符号化部の構成を示すブロック図である。

【図9】本発明の一実施例における可変長符号テーブル
の構成を示す図である。

【図10】本発明の一実施例における可変長符号語の生
成方法を示す図である。

【図11】本発明の一実施例における可変長符号テーブ
ルアドレスの生成方法を説明するための図である。

【図12】従来の可変長符号化装置の構成の一例を示す
図である。

【図13】従来の可変長符号テーブルの構成を示す図で
ある。

【図14】従来の可変長符号テーブルアドレスの生成方
法を示す図である。

【符号の説明】

1 フレームメモリ 2 動き推定部 3 動き補償予測部 4 差分器 5 FCT変換部 6 量子化部 7 逆量子化部 8 逆DC変換部 9 加算器 10 フレームメモリ 11 可変長符号部 12 符号バッファ 101 DCT係数メモリ 102 DCT係数符号化器 103 DCT係数以外符号化器 104、105、108 セレクタ 106 可変長符号テーブル 107 遅延器 109 パッキング器 110 制御器 111 符号結合器 121 0判定・0ランカウンタ 122 絶対値・符号分離器 123、124、125、126 レジスタ 127 可変長符号テーブルアドレス計算部 128 エスケープ判定・符号生成部 129、130、131、143、146、147 141 前値保持レジスタ 142 差分器 144 サイズ判定・可変長テーブルアドレス変換器 145 ディファレンシャル符号生成器 148 補数表現変換器

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】動画像符号化装置に用いられる、可変長符
    号化装置において、 可変長符号を記録した記憶装置と、 量子化DCT係数を蓄積しておく記憶手段と、 量子化DCT係数順に読み出して符号化し、可変長符号
    の場合には、前記可変長符号を記録した記憶装置を参照
    するためのアドレス信号を出力し、固定長符号の場合に
    は、符号語と符号長を出力する手段と、 量子化DCT係数以外の符号化情報を符号化し、可変長
    符号の場合には、前記可変長符号を記録した記憶装置を
    参照するためのアドレス信号を出力し、固定長符号の場
    合には、符号語と符号長を出力する手段と、 可変長符号のアドレスを候補群から選択する手段と、 固定長符号の符号を候補群から選択する手段と、 固定長符号の符号を固定の遅延期間だけ遅延させる手段
    と、 可変長符号または固定長符号のいずれかを選択する手段
    と、 前記選択された符号を連ねて符号列を形成する手段と、 を備えたことを特徴とする、可変長符号化装置。
  2. 【請求項2】動画像符号化装置に用いられる、可変長符
    号化装置において、 可変長符号を記録した記憶装置と、 量子化DCT係数を蓄積しておく記憶手段と、 量子化DCT係数順に読み出して符号化し、可変長符号
    の場合には、前記可変長符号を記録した記憶装置を参照
    するためのアドレス信号を出力し、固定長符号の場合に
    は、符号語と符号長を出力する手段と、 量子化DCT係数以外の符号化情報を符号化し、可変長
    符号の場合には、前記可変長符号を記録した記憶装置を
    参照するためのアドレス信号を出力し、固定長符号の場
    合には、符号語と符号長を出力する手段と、 可変長符号のアドレスを候補群から選択する手段と、 固定長符号の符号を候補群から選択する手段と、 固定長符号の符号を固定の遅延期間だけ遅延させる手段
    と、 可変長符号と固定長符号を結合し、別な符号を生成する
    手段と、 前記固定長符号か、あるいは前記可変長符号と固定長符
    号を結合した符号のいずれかを選択する手段と、 前記選択された符号を連ねて符号列を形成する手段と、 を備えたことを特徴とする、可変長符号化装置。
  3. 【請求項3】前記請求項1又は2に記載の量子化DCT
    係数の符号化手段において、 係数の0の値が連続する数を計数する手段と、 係数の値を絶対値と符号に変換する手段と、 係数の0の値が連続する係数の絶対値から、前記可変長
    符号を記録した記憶装置のアドレスを生成する手段と、 係数の0の値が連続する数と係数の絶対値から、可変長
    符号が定義されている組合わせか否かを判定し、可変長
    符号が定義されていない組合わせの場合に、固定長の符
    号を生成する手段と、 過去のブロックの特定の係数の値を保持する記憶手段
    と、 前記過去のブロックの特定の係数の値と、入力の係数の
    値との差分をとる手段と、 差分値を表現する可変長符号のアドレスと固定長符号と
    を出力する手段と、 を備え、 上記演算を全て並列に同じ処理遅延内で実行し、出力す
    る可変長符号のアドレスを、生成した前記アドレスの候
    補群から選択する手段と、 出力する固定長符号を、生成した前記固定長符号の候補
    群から選択する手段と、 を備えたことを特徴とする可変長符号化装置。
  4. 【請求項4】前記請求項1又は2に記載の可変長符号化
    装置の前記可変長符号を記録した記憶装置において、 可変長符号の符号長と符号語を記録する部分からなり、
    符号語は符号長に応じて上位ビットを固定の数だけ削
    り、符号長から再生する、ことを特徴とする、可変長符
    号を記録した記憶装置。
  5. 【請求項5】前記請求項1又は2に記載の可変長符号化
    装置の前記可変長符号を記録した記憶装置において、 係数の0の値が連続する数と係数の絶対値の組み合わせ
    に対応する符号を記録した記憶装置のアドレスを、前記
    係数の0の値が連続する数と、前記係数の絶対値の組み
    合わせに応じて分類し、それぞれの分類において、分類
    を識別するフラグと、係数の0の値が連続する数の下位
    ビットと、係数の絶対値の下位ビットとを組み合わせ
    て、前記アドレスを生成することを特徴とする、可変長
    符号を記録した記憶装置。
JP35828696A 1996-12-27 1996-12-27 可変長符号化装置 Expired - Fee Related JP2870515B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35828696A JP2870515B2 (ja) 1996-12-27 1996-12-27 可変長符号化装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP35828696A JP2870515B2 (ja) 1996-12-27 1996-12-27 可変長符号化装置
US08/998,665 US6014095A (en) 1996-12-27 1997-12-29 Variable length encoding system

Publications (2)

Publication Number Publication Date
JPH10191336A JPH10191336A (ja) 1998-07-21
JP2870515B2 true JP2870515B2 (ja) 1999-03-17

Family

ID=18458509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35828696A Expired - Fee Related JP2870515B2 (ja) 1996-12-27 1996-12-27 可変長符号化装置

Country Status (2)

Country Link
US (1) US6014095A (ja)
JP (1) JP2870515B2 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3662129B2 (ja) * 1997-11-11 2005-06-22 松下電器産業株式会社 マルチメディア情報編集装置
US6332188B1 (en) * 1998-11-06 2001-12-18 Analog Devices, Inc. Digital signal processor with bit FIFO
US6339386B1 (en) * 1998-12-30 2002-01-15 Lg Information & Communications Ltd. Variable length coder of a video coder
JP2001308715A (ja) * 2000-04-20 2001-11-02 Mitsubishi Electric Corp 可変長符号化装置および可変長復号装置
WO2001091470A1 (en) * 2000-05-23 2001-11-29 Matsushita Electric Industrial Co., Ltd. Variable length encoding method and variable length encoder
JP2002091407A (ja) * 2000-09-20 2002-03-27 Ricoh Co Ltd 画像表示装置
US6653953B2 (en) * 2001-08-22 2003-11-25 Intel Corporation Variable length coding packing architecture
US7193541B2 (en) * 2001-12-04 2007-03-20 Sun Microsystems, Inc. Representation of sign in encoding scheme
JP4368575B2 (ja) 2002-04-19 2009-11-18 パナソニック株式会社 可変長復号化方法、可変長復号化装置およびプログラム
US6646578B1 (en) * 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
US7212681B1 (en) 2003-01-15 2007-05-01 Cisco Technology, Inc. Extension of two-dimensional variable length coding for image compression
US7283591B2 (en) * 2003-03-28 2007-10-16 Tarari, Inc. Parallelized dynamic Huffman decoder
US7194137B2 (en) * 2003-05-16 2007-03-20 Cisco Technology, Inc. Variable length coding method and apparatus for video compression
KR100561464B1 (ko) * 2003-07-29 2006-03-16 삼성전자주식회사 가변장 부호화 장치 및 방법
US7400681B2 (en) * 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
KR100975062B1 (ko) * 2003-12-27 2010-08-11 삼성전자주식회사 가변길이 부호화 장치 및 가변길이 부호화 방법
US7680349B2 (en) * 2004-08-18 2010-03-16 Cisco Technology, Inc. Variable length coding for clustered transform coefficients in video compression
US7454076B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Hybrid variable length coding method for low bit rate video coding
US7454073B2 (en) 2004-06-15 2008-11-18 Cisco Technology, Inc. Video compression using multiple variable length coding processes for multiple classes of transform coefficient blocks
US7471841B2 (en) 2004-06-15 2008-12-30 Cisco Technology, Inc. Adaptive breakpoint for hybrid variable length coding
KR100604986B1 (ko) * 2004-07-26 2006-07-28 삼성전자주식회사 4단계 파이프라인 방식의 계수 가변장 부호화방법 및 계수가변장 부호화기
US7499595B2 (en) * 2004-08-18 2009-03-03 Cisco Technology, Inc. Joint amplitude and position coding for photographic image and video coding
US7499596B2 (en) 2004-08-18 2009-03-03 Cisco Technology, Inc. Amplitude coding for clustered transform coefficients
US7492956B2 (en) * 2004-08-18 2009-02-17 Cisco Technology, Inc. Video coding using multi-dimensional amplitude coding and 2-D non-zero/zero cluster position coding
US7620258B2 (en) * 2004-08-18 2009-11-17 Cisco Technology, Inc. Extended amplitude coding for clustered transform coefficients
US7471840B2 (en) * 2004-08-18 2008-12-30 Cisco Technology, Inc. Two-dimensional variable length coding of runs of zero and non-zero transform coefficients for image compression
US7132963B2 (en) * 2004-09-13 2006-11-07 Ati Technologies Inc. Methods and apparatus for processing variable length coded data
JP5209467B2 (ja) * 2005-05-13 2013-06-12 クゥアルコム・インコーポレイテッドQualcomm Incorporated 改良されたマルチメディアデコーダに関する方法及び装置
JP4495034B2 (ja) * 2005-06-01 2010-06-30 パナソニック株式会社 可変長符号化方式および可変長符号化装置
US7242328B1 (en) 2006-02-03 2007-07-10 Cisco Technology, Inc. Variable length coding for sparse coefficients
US20070290899A1 (en) * 2006-06-19 2007-12-20 Donald Martin Monro Data coding
EP2009799A1 (en) * 2007-06-27 2008-12-31 Thomson Licensing Method and encoder for encoding a size of a data section and method and decoder for determining a size of a data section
JP2009278373A (ja) * 2008-05-14 2009-11-26 Sharp Corp 画像処理装置、画像形成装置及びコンピュータプログラム
JP2010045598A (ja) * 2008-08-12 2010-02-25 Fujitsu Ltd 可変長復号装置、及び、符号化装置
TWI482499B (zh) * 2008-10-03 2015-04-21 Ind Tech Res Inst 影像訊號處理裝置和方法
US9490839B2 (en) 2011-01-03 2016-11-08 Qualcomm Incorporated Variable length coding of video block coefficients
US9516316B2 (en) 2011-06-29 2016-12-06 Qualcomm Incorporated VLC coefficient coding for large chroma block
US9338456B2 (en) 2011-07-11 2016-05-10 Qualcomm Incorporated Coding syntax elements using VLC codewords
US9641835B2 (en) 2011-11-08 2017-05-02 Google Technology Holdings LLC Method of determining binary codewords for transform coefficients
KR101660605B1 (ko) 2011-11-08 2016-09-27 구글 테크놀로지 홀딩스 엘엘씨 변환 계수들에 대한 이진 코드워드들을 결정하는 방법
US9635358B2 (en) 2012-01-21 2017-04-25 Google Technology Holdings LLC Method of determining binary codewords for transform coefficients
US10284851B2 (en) 2012-01-21 2019-05-07 Google Technology Holdings LLC Method of determining binary codewords for transform coefficients
US9479780B2 (en) 2012-02-01 2016-10-25 Google Technology Holdings LLC Simplification of significance map coding
US9565435B2 (en) 2012-02-04 2017-02-07 Google Technology Holdings LLC Devices and methods for context reduction in last significant coefficient position coding
US9167245B2 (en) * 2012-02-05 2015-10-20 Google Technology Holdings LLC Method of determining binary codewords for transform coefficients
US8754792B2 (en) * 2012-07-14 2014-06-17 Sigma Designs, Inc. System and method for fixed rate entropy coded scalar quantization
US9781424B2 (en) 2015-01-19 2017-10-03 Google Inc. Efficient context handling in arithmetic coding
EP3291452B1 (en) * 2016-08-30 2020-03-25 Alcatel Lucent Encoding and decoding of vectoring coefficients with differential encoding size

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04119013A (en) * 1990-09-07 1992-04-20 Hitachi Ltd Variable length coder, variable length decoder, picture coder and picture decoder
JPH04142163A (en) * 1990-10-03 1992-05-15 Sony Corp Variable length encoding device
JP2959916B2 (ja) * 1992-10-28 1999-10-06 松下電器産業株式会社 デジタル・ビデオ・コーダ用のバーサタイルなエスケープ・ラン・レベル・コーダ
US5400075A (en) * 1993-01-13 1995-03-21 Thomson Consumer Electronics, Inc. Adaptive variable length encoder/decoder
JP3153404B2 (ja) * 1994-02-02 2001-04-09 松下電器産業株式会社 ディジタルビデオ・ビットストリームコーダ
US5563593A (en) * 1994-03-18 1996-10-08 Lucent Technologies Inc. Video coding with optimized low complexity variable length codes
JP3220598B2 (ja) * 1994-08-31 2001-10-22 三菱電機株式会社 可変長符号テーブルおよび可変長符号化装置
US5835145A (en) * 1996-01-19 1998-11-10 Lsi Logic Corporation Conversion system using programmable tables for compressing transform coefficients

Also Published As

Publication number Publication date
JPH10191336A (ja) 1998-07-21
US6014095A (en) 2000-01-11

Similar Documents

Publication Publication Date Title
US8941514B2 (en) Image coding and decoding system using variable length coding and variable length decoding
KR101356733B1 (ko) 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
KR100469176B1 (ko) 화상 부호화 방법
US7215707B2 (en) Optimal scanning method for transform coefficients in coding/decoding of image and video
DE69434271T4 (de) Adaptives variables Längenkodierungsverfahren für Videodaten
KR100624432B1 (ko) 내용 기반 적응적 이진 산술 복호화 방법 및 장치
US7298303B2 (en) Signal encoding method, signal decoding method, signal encoding apparatus, signal decoding apparatus, signal encoding program, and signal decoding program
US6009203A (en) Method and apparatus for hybrid VLC bitstream decoding
JP4354520B2 (ja) 符号化装置
US6031940A (en) System and method for efficiently encoding video frame sequences
JP4677901B2 (ja) 算術符号の復号器または符号化器と逆2値化変換器または2値化変換器との間に中間バッファが挿入された復号装置または符号化装置
US6735344B2 (en) Data structure for image transmission, image coding method, and image decoding method
US6681048B2 (en) Image coding apparatus and an image decoding apparatus
JP5586139B2 (ja) 映像の解像度の調整を通じて動画を効率的に符号化/復号化する方法及び装置
JP3856262B2 (ja) 動き補償符号化装置、動き補償符号化方法、及び動き補償符号記録媒体
JP3210996B2 (ja) 高能率符号化装置及び高能率復号化装置
US6292114B1 (en) Efficient memory mapping of a huffman coded list suitable for bit-serial decoding
KR100399932B1 (ko) 메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템
US7418146B2 (en) Image decoding apparatus
US5471207A (en) Compression of palettized images and binarization for bitwise coding of M-ary alphabets therefor
US5801650A (en) Decoding apparatus and method
US5386234A (en) Interframe motion predicting method and picture signal coding/decoding apparatus
JP3716931B2 (ja) 連続画像の適応型復号装置
JP4808928B2 (ja) 複数スキャンを使用する変換係数圧縮
JP3220598B2 (ja) 可変長符号テーブルおよび可変長符号化装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19981201

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080108

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090108

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100108

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110108

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110108

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120108

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees