JPH07106979A - エンコーディング方法、バッファメモリ削減方法、圧縮/伸長方法、トークン数制限装置及び伸長装置 - Google Patents
エンコーディング方法、バッファメモリ削減方法、圧縮/伸長方法、トークン数制限装置及び伸長装置Info
- Publication number
- JPH07106979A JPH07106979A JP6179846A JP17984694A JPH07106979A JP H07106979 A JPH07106979 A JP H07106979A JP 6179846 A JP6179846 A JP 6179846A JP 17984694 A JP17984694 A JP 17984694A JP H07106979 A JPH07106979 A JP H07106979A
- Authority
- JP
- Japan
- Prior art keywords
- tokens
- encoding
- predetermined number
- buffer memory
- decoder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
うステージ間のバッファメモリのサイズを削減する。 【構成】 ランレングス・エンコーダ203より出力さ
れる各ブロックのトークンが所定個数を超えたときに、
前EOB回路211が残りのトークンを切り捨て、その
代わりに強制的にEOBを出力する。これによって、ハ
フマン・エンコーダ205より出力される各ブロックの
符号語数が制限され、したがって、ハフマン・デコーダ
が扱う1ブロックあたりの符号語数が制限される結果、
ハフマン・デコーダ206とランレングス・デコーダ2
08の間のバッファメモリ(FIFO)207のサイズ
を削減できる。
Description
に係り、特に、2つの独立したデコーディング・プロセ
ス間のデータバッファリング用記憶装置を持つ圧縮/伸
長装置に関する。
ステムにおいて広く利用されている。これらのデータ圧
縮方式は、複数のステージを結合することによって圧縮
または伸長を行なう構成となっている。これらのステー
ジには、データ圧縮系のカスケード接続が含まれよう。
例えば、Joint Photographic Experts Group(JP
EG)静止画像圧縮規格では、2次元の離散的コサイン
変換によってデータを変換した後、その係数が量子化さ
れる。その後に、DC係数の差分パルスコード変調(D
PCM)とAC係数のランレングス・エンコーディング
が続き、最後に、その結果がフマン符号化される。デー
タ圧縮システムの伸長部は圧縮部を逆にしたものである
ので、複数のデコーダがカスケード接続され同様に連続
したステージとなる。
y)である。損失性圧縮手法においては、圧縮中に入力
データの一部が削除され、あるいは量子化される結果、
圧縮データを伸長しても入力データの完全な複製を得ら
れない。損失性画像圧縮は複数のステージを用いて達成
されることが多い。そのようなシステムの例が図1に示
されている。
異なった速度で動作することが少なくない。非同期のス
テージがカスケード接続されたリアルタイムシステムの
場合、データバッファリングは設計上の一つの重要点に
なる。
入力データ110を速度Rで受け取る。この損失性圧縮
器101は、例えば、入力データ110に応答して係数
を設定速度Rで出力する変換符号(TC)圧縮器であ
る。損失性圧縮器101の出力はランレングス・エンコ
ーダ(RLE)102の入力に結合される。ランレング
ス・エンコーダ102は、速度Rで、損失性圧縮器10
1の出力を受け取って圧縮する。ランレングス・エンコ
ーダ102は可変長のエンコーダであって、その入力に
応答し、一定速でないR−Gの平均速度でトークンを生
成する。ランレングス・エンコーダ102によって生成
されたトークンはエンコーダ103の入力に加えられ、
エンコーダ103は受け取ったトークンを符号語にエン
コードする。これらの符号語はR−Gの平均速度で生成
され、そして記憶されあるいはチャネルにより伝送され
る。
トリームの伸長は、ステージが逆のものであることを別
にすれば圧縮の場合と非常に似ている。デコーダ106
は圧縮データストリームを受け取って、一定速でないR
−Gの平均速度でトークンを生成する。このトークンは
ランレングス・エンコーダ105に受け取られ、このラ
ンレングス・エンコーダ105は速度Rで係数を生成す
る。この係数は損失性伸長器104に受け取られ、損失
性伸長器104は再生データ入力111を出力する。
の各ステージは異なった速度で動作する。各ステージの
速度はRとR−Gで、R>G≧0である。このようにな
るのは、主に可変長エンコーディング(すなわちランレ
ングス・エンコーダ/デコーダ)のためである。この例
にあっては、エンコーダとデコーダはRの速度で動作で
き、同期動作が可能であるので、全く問題はない。しか
し、そうでない場合には、エンコーダ及びデコーダの速
度を平均化するためにバッファリングが必要である。
もRのバースト速度で動作できないときには、先入れ/
先出し(FIFO)バッファが使用される。FIFOバ
ッファは、動作速度の違うステージ間を接続するための
周知の非同期解決策である。FIFOバッファは、それ
が一杯になるまで、前段の高速側ステージがその最高速
度で動作することを可能にする。FIFOバッファは本
質的に出力コード・レートを平均化する。
なうべき時間の長さによって決まる。言い換えれば、F
IFOバッファのサイズによって、平均化のウインドウ
が決定される。FIFOバッファのサイズが画像のサイ
ズと等しいならば、FIFOバッファは全てのバースト
速度に対応できる。しかしながら、FIFOバッファの
サイズを大きくすればするほどコストが増加し、さら
に、一般的に、バッファのサイズの増加分に格納される
ケースは稀であるので、サイズ増加の効果が逓減する。
定用途向けIC(ASIC)で実現される。バッファが
必要な場合、そのバッファをデコーダと同一のICチッ
プ中に含めてもよい。その記憶サイズはチップの全体サ
イズと直接関係する。バッファサイズが大きくなるほ
ど、そのICのサイズが大きくなる。ICが大型化すれ
ば、それだけコストが上昇するのが普通である。チップ
サイズを抑えてチップの総コストを減らすには、バッフ
ァのサイズを可能な限り減らすことが望ましてい。した
がって、システムコストを効果的に減らすためには、必
要とされるバッファ記憶サイズを減らすのが望ましい。
は、損失性圧縮装置中のバッファのサイズを削減するた
めの方法と装置を提供することと、伸長装置中の複数ス
テージ間に使用されるバッファのサイズを削減すること
である。
縮/伸長装置によれば、エンコーディング系において、
リアルタイム画像データを複数ブロックに分割し、各ブ
ロックを例えば離散的コサイン変換することにより係数
に変換し、この係数のランレングス・エンコーディング
してトークンを生成し、トークンをハフマン・エンコー
ディングすることによって圧縮データストリームを得
る。デコーディング系において、圧縮データストリーム
のハフマン・デクコーディングによりトークンを生成
し、トークンのランレングス・デコーディングによって
係数を生成し、係数を画像データに伸長する。
ディングのステージに入力する各ブロックのトークン数
を所定数に制限する。一例では、ランレングス・エンコ
ーディングのステージで生成された各ブロックのトーク
ン数を計数し、計数値が所定値に達したときに、強制的
にEOB指示を出し、残りのトークンを切り捨てる。ま
た、一例では、上記所定数は、デコーディング系のハフ
マン・デコーディングのステージの後に置かれるバッフ
ァメモリのサイズに応じてユーザにより選択される。
される1ブロックあたりのトークン数が制限されること
により、当該ステージより出力される1ブロックあたり
の符号語数が制限される。したがって、デコーディング
系のハフマン・デコーディングのステージの扱う1ブロ
ックあたりの符号語数が制限される結果、当該ステージ
の後のデータバッファのメモリサイズの削減が可能にな
る。このバッファと当該ステージとは同一チップ上に実
現されることが多いので、バッファサイズの削減により
チップサイズを小さくでき、システムコストの引下げ等
に効果がある。
に、やや具体的な本発明の一態様について述べたもので
あり、その範囲に本発明が限定されるものではない。後
記実施例の説明及び特許請求の範囲の記載から理解され
るように、本発明には、2つのカスケード接続されたデ
コーディング・ステージ間のバッファのサイズを削減す
るための新規な方法及び装置、データを複数のデータブ
ロックにエンコードするための新規な方法及び装置、複
数のデータブロックを複数のシンボルにエンコードする
ための新規な方法及び装置、並びに、複数のシンボルを
予め決められた数のシンボルに制限するための新規な方
法及び装置が含まれる。
法並びに装置について述べる。以下の詳細な説明におい
て、本発明の完全な理解のためにクロック速度、ビット
レート、バッファサイズ等々の様々な具体例を提示す
る。しかし、このような具体例によらずに本発明を実施
できることは、当業者には明白であろう。また、周知の
方法、関数、部品及び手順については詳細には述べない
が、これは本発明を無用に難解にすることを避けるため
である。
発明の圧縮/伸長システムの一実施例のブロック図であ
る。図2に示したシステムは損失性圧縮システムであ
る。図2に含まれている図1中の対応ブロックそれぞれ
を特定の構成にした場合、本システムは図1のシステム
と非常に似た動作をする。
変換圧縮器202に受け取られ、変換圧縮器202は係
数を出力として生成する。この出力はランレングス・エ
ンコーダ203に受け取られるようにその入力に結合さ
れている。ランレングス・エンコーダ203はトークン
を生成するが、このトークンは前EOB(EarlyEnd o
f Block)回路211に受け取られる。前EOB回路2
11の出力するトークンは、FIFO212に受け取ら
れるように結合されている。FIFO212はオプショ
ンであって、本発明を採用するため必要とされるもので
はない。ハフマン・エンコーダ204はFIFO212
からのトークンを受け取るように接続され、そのトーク
ンをエンコードして圧縮データを生成する。この圧縮デ
ータはチャネル205へ出力される。チャネル205
は、メモリすなわち記憶装置を含むか、あるいは通信媒
体を含む。
ン・デコーダ206に受け取られる。ハフマン・デコー
ダ206は圧縮データをトークンへとデコードする。ハ
フマン・デコーダ206の出力トークンはFIFO20
7に格納される。本発明にあっては、FIFO207
は、FIFO以外の記憶装置もしくはバッファでもよ
い。FIFO207に格納されたトークンはランレング
ス・デコーダ208に受け取られる。ランレングス・デ
コーダ208はトークンを係数へとデコードし、この係
数は変換伸長器209に受け取られる。変換伸長器20
9の出力はリアルタイム画像データである。
ーダ203、前EOB回路211、FIFO212(オ
プション)及びハフマン・エンコーダ204は、本発明
システムのエンコーディング部を構成する。ハフマン・
デコーダ206、FIFO207、、ランレングス・デ
コーダ208及び変換伸長器209は、本発明システム
のデコーディング部を構成する。
6及びFIFO207は、単一の特定用途向けIC(A
SIC)に統合される。FIFO207はオンチップ
(onchip)であるので、そのサイズは直接的にASIC
の全体サイズを左右する。本発明は、データ圧縮システ
ムに必要なFIFO深さを制限する。一例では、FIF
O207のデコーダFIFO深さは、8ビット・トーク
ンの16個分に、トークンに関連した、あるいは規格
(例えばJPEG)によって必要な、あるビット数を加
えた値にまで制限される。このようにして、ASICの
サイズも同様に制限される。
ートである。リアルタイム画像データはラスタースキャ
ン順で変換圧縮器102に受け取られる(処理ブロック
301)。ある例では、変換圧縮器202は、JPEG
規格を使用して画像データを圧縮する(処理ブロック3
02)。変換圧縮器202は、最初に画像を8×8画素
ブロックに分割し、次に、各ブロックに変換を施し係数
を生成する。本発明においては、変換圧縮器202は離
散的コサイン変換(DCT)を施す。本発明では、これ
らの変換係数はつぎに不均等に量子化されることによ
り、64個の量子化係数が得られる。この量子化係数は
つぎにジグザグ順にランレングス・エンコーダ203へ
提供される。
のジグザグ系列に対しランレングス・エンコーディング
を行なって、トークンを生成する(処理ブロック30
3)。ランレングス・エンコーダ203は、ゼロ係数の
シリーズを、あるカテゴリを持つ一つのトークン及びゼ
ロトークンの個数を示す計数値へエンコードする。JP
EGでは、3種類のトークンがある。各ブロック毎に、
DC係数はDCトークンとなる。非ゼロAC係数はAC
トークンとなる。ACトークンは2つのパートからな
る。ACトークンの一つのパートは、非ゼロAC係数の
サイズを表わす。ACトークンのもう一つのパートは、
ジクザグ順で、非ゼロAC係数の前に連続したゼロAC
係数の個数を表わす。EOB(End of Block)トーク
ンは、ブロックの最後の非ゼロ係数がエンコードされた
後に生成される(ただし、最後の係数が非ゼロの場合は
生成されない)。
れ、この前EOB回路211は個々のブロックのトーク
ン数をある所定数までに制限する(処理ブロック30
4)。これは、一例では、所定数を超えたトークンをす
べて切り捨てることによって行なわれる。トークンはつ
ぎにFIFO212に格納される(処理ブロック30
5)。ただし、FIFO212が使用されるのは、ラン
レングス・エンコーダ203とハフマン・エンコーダ2
04とが、その速度の整合しない時に同期して動作でき
るようにするためである。データが利用できるようにな
った時に、それがエンコードされ、システムのエンコー
ディング部が一つのパイプラインのごとくであるなら
ば、FIFO212は必要とされない。
はFIFO212がシステムに含まれていないときは前
EOB回路211から)、ハフマン・エンコーダ204
に受け取られて符号語へエンコードされる(処理ブロッ
ク306)。ハフマン・エンコーダ204から出力され
る符号語は、圧縮データを表わしており、チャネル20
5へ出力されるか、メモリに格納される(処理ブロック
307)。
る。圧縮データはチャネル205よりハフマン・デコー
ダ206に受け取られ、ハフマン・デコーダ206はト
ークンを生成する(処理ブロック308)。FIFO2
07は、トークンを、ランレングス・デコーダ208が
デコードすることができるまで格納する(処理ブロック
309)。ランレングス・デコーダ208はFIFO2
07から受け取ったトークンをデコードし係数を生成す
る(処理ブロック310)。これら係数は、変換伸長器
209に受け取られ画像データへ伸長される(処理ブロ
ック311)。
7はオプションであり、異速度で動作するステージ間の
非同期を解決するために導入し得る。例えば、FIFO
212はランレングス・エンコーダ203とハフマン・
エンコーダ204の動作速度が異なる時に導入されるこ
とになろうし、FIFO207はハフマン・デコーダ2
06とランレングス・デコーダ208の動作速度が異な
る時に導入されることになろう。
う符号語数を制限することによって、FIFO207の
サイズを制限する。本発明においては、ハフマン・デコ
ーダ206の扱う符号語数を制限するために、ハフマン
・エンコーダ204により生成される符号語数を制限す
る。ハフマン・エンコーダ204により生成される符号
語数は、ハフマン・エンコーダ204の扱うトークン数
と直接関係している。ハフマン・エンコーダ204によ
り受け取られてエンコードされるトークン数を制限する
ために、本発明は所定数を超えるトークンを持つブロッ
クを切り詰める。所定数を超えるトークンを持つブロッ
クの切り詰めは、ランレングス・エンコーダ203によ
り生成されたトークンの個数がユーザにより選ばれた閾
値に達した時に強制的にEOBトークンにすることによ
ってなされる。ある例では、所定のトークン数は1ブロ
ックあたり32トークンである。トークンを生成するの
は非ゼロ係数だけであるので、各ブロックの非ゼロAC
係数の個数を制限することによりFIFOの要求が減少
する。ゆえに、通常のEOB条件より前に強制的に前E
OBトークンを出すことにより、ハフマン・エンコーダ
204での1ブロックあたりのトークン数は直接的に制
限される。
ン・エンコーダ204の間に速度不整合がある場合、シ
ステムのエンコーディング部のFIFO212のサイズ
を減らすために本発明を利用できる。この場合、ブロッ
ク中の所定数を超える係数部分は切り詰められる結果、
生成可能なトークン数は、ある所定の最大数に制限され
る。このように、1ブロックあたりのトークン数は直接
的に制限される。
うことになる1ブロックあたりの最大トークン数は、動
作速度の比によって決めることができる。例えば、損失
性圧縮器202が20MHzの速度で動作し、ハフマン
・エンコーダ204が10MHzの速度で動作する場
合、ハフマン・エンコーダ204が処理可能な最大の平
均速度(R−G)は [10Mトークン/s/20M成分/s]×64成分/ブ
ロック=32トークン/ブロック である。ここで、成分とはこの例では係数である。ゆえ
に、この例の場合、1ブロックあたりのトークン数は3
2に制限される。このシステムはまた、損失性圧縮器の
半分の速度で動作するデコーダについて、エンコーダが
同様の速度で動作しようとしまいと、補償できる。
長方式だけに限定されるものではなく、本発明はデータ
が予め定義されたユニットに分割される他の方式でね利
用できる。また、本発明は、係数及びトークンを用いる
場合に利用できるだけでなく、単位がいくつかの成分を
包含する方式にも利用できる。
スが図4に示されている。本発明において、当該プロセ
スはトークン計数値をゼロに初期化することから始まる
(処理ブロック400)。ある例では、この初期化は各
ブロックの先頭で起こる。エンコーディング・プロセス
の結果としてトークンが生成される(処理ブロック40
1)。つぎに、本発明はトークンが生成される時にトー
クンの個数を計数する(処理ブロック402)。テスト
によって、ブロックのトークン全てが出払ったかを確認
する(処理ブロック403)。そうであれば当該ブロッ
クの処理は終了するが、そうでなければ処理ブロック4
04より処理が続く。
選んだ限界値に達したかを確かめる(処理ブロック40
4)。ある例では、ユーザにより選択される限界値は3
2トークンである。あるブロックに関し、ユーザの選択
した限界値に達すると、処理は処理ブロック405に進
み、EOBトークンが発行され、当該ブロックの残りの
係数は捨てられる。限界値に達しないときは、引き続き
トークンが生成されハフマン・エンコーダによりエンコ
ーディングされ、そして処理は処理ブロック401より
継続する。
る。さらに、本発明は非損失性符号器の前に損失性ステ
ージを付加する。このエンコーダに損失性ステージを追
加することにより、本発明はデコーダ中の非損失性ステ
ージにおける速度不整合による障害を回避する。
ロックの高い周波数の係数をより重く量子化することと
同等であり、高い周波数の係数が多いブロックしか影響
を受けない。高い周波数の係数を除去しても、再生画像
には視覚的に殆ど不利益をもたらさない。
遂行するために必要な回路の一例のブロック図である。
図5において、前EOB回路500はカウンタ501、
レジスタ502、コンパレータ503、マルチプレクサ
504及びANDゲート505からなる。カウンタ50
1のイネーブル入力はTOKEN_CLKに接続され
る。カウンタ501のリセット入力はBLOCK_CL
K信号に接続される。カウンタ501の出力はコンパレ
ータ503のA入力に接続される。コンパレータ503
のB入力はレジスタ502の出力に接続される。レジス
タ502の入力は6本のデータ線D0−D5と書き込みイ
ネーブル(WEN)信号からなっている。コンパレータ
503の出力はANDゲート505の一方の入力に接続
される。ANDゲート505の他方の入力はTOKEN
_CLK信号に接続される。ANDゲート505の出力
はハフマンクロックパルスHUFFMAN_ENC_C
LKである。コンパレータ503の出力はマルチプレク
サ(MUX)504の制御入力にも接続される。MUX
504の一方の入力はハフマン・デコーダにより生成さ
れたトークンと接続される。MUX504の他方の入力
はEOBトークン(EOB_TOKEN)に接続され
る。EOB_TOKYNは、ある例では布線論理和とさ
れ、他の例ではプログラムされる。MUX504の出力
はハフマン・エンコードされるべきトークン(HUFF
MAN_ENC_TOKEN)である。
号を介して各ブロックのトークン数を計数する。カウン
タ501は各ブロックの終わりでリセットされる。ある
例では、カウンタ501は、新しいブロックの始まりで
付勢されるBLOCK_CLK信号を利用してリセット
される。レジスタ502は許された最大数のトークンを
保持する。この値は、WEN信号を付勢することにより
レジスタ502に書き込まれる。WEN信号が付勢され
る時に、データ入力D0−D5のビットがレジスタ502
にラッチされて記憶される。一例では、レジスタ502
は6ビットのカウンタであり、したがって0から63ま
での数を記憶できる。
値をレジスタ502の値と比較する。レジスタ502の
値がカウンタ501の値以上である間、コンパレータ5
03の出力は”1”(例えば、高電位)である。この”
1”出力によってMUX504のトークン出力の選択が
なされる結果、ハフマン・エンコードされたトークンが
出力される。また、コンパレータ503の”1”バイナ
リ出力はANDゲート505をイネーブルするので、T
OKEN_CLKが高電位の時に各クロックはHUFF
MAN_ENC_CLK信号としてANDゲート505
より有効に出力される。カウンタ501の値がレジスタ
502の値以上であるときは、コンパレータ503の出
力が0であることによって、トークンの限界値を超えた
ことを表示する。この場合、ANDゲート505の入力
の一つが0であるため、ANDゲート505のトークン
クロック出力はディセーブルされる。また、コンパレー
タ503の”0”バイナリ出力は、MUX503の0入
力を選択させることにより、MUX504よりEOBト
ークンを出力させる。かくして、レジスタ502の値が
カウンタ501の値より大きい間はトークンが生成され
る。そうでないときは、EOBトークンが出され、EO
B条件が真となってカウンタ501がリセットされるま
でトークンは出力されない。
画素数より1つ少ない値にレジスタ502を初期化する
ことによってディセーブルすることができる。ブロック
が8×8のサイズである例では、63なる値をレジスタ
502に設定すると前EOB回路500はディセーブル
になる。トークン計数値が63以上になるまでコンパレ
ータが1を出力し続けるからである。それでも、この時
に、EOBは自動的に発行される。したがって、強制の
EOBトークンが生成されることはない。
したがって、本発明を実施するために、本発明のデコー
ディングに関しては変更不要である。よって、既存のデ
コーダ・チップをそのまま本発明システムのデコーディ
ング部分を実現するために使用できる。
ークン方式によって悪化はしない。JPEG方式におい
ては、変換係数は不均一に量子化される。一般的に、高
い周波数の係数がより重く量子化されるが、これは人間
の視覚系が高い空間周波数に対して感度が低いためであ
る。本発明は、高い周波数の係数だけを切り捨てること
により、上記特性を利用し、本発明の前EOBを用いな
いで圧縮した画像と、人間の視覚系の認識できる限りに
おいて実質的に同一品質の画像を生成する。さらに、非
ゼロAC係数の多いブロック(したがって前EOBによ
って切り捨てられることになるブロック)は視覚的に目
立ちやすい。人間の視覚系は画像の目立つ領域を量子化
しても気付きにくいので、見かけの画質劣化は少ない。
ゆえに、本発明の方法及び装置は、エンコーダから出力
される1ブロックあたりのACトークン数を直接的に制
限する。このようにして、視覚的品質あるいはシステム
のビットレートに殆ど影響を与えることなく、かつ、よ
り少ないハードウエアコストにて、予め決めたサイズの
デコーダを実現することができる。
変形及び修正が明らかであろうが、図面を用いて説明し
た上記実施例は本発明を限定することを意図したもので
ないことは言うまでもない。
明によれば、伸長/圧縮システム内の異動作速度のステ
ージ間のバッファのサイズを削減し、システムコストを
引き下げることができ、また、バッファサイズの削減に
よる実質的な画像品質の悪化を回避できる等の効果を得
られる。
ック図である。
である。
ある。
路図である。
Claims (31)
- 【請求項1】 データ圧縮装置において複数ユニットに
分割されたデータのエンコーディング方法であって、 該データを第1の複数個の第1種類シンボルにエンコー
ドする第1エンコーディングステップ、 該複数ユニットの各ユニットに応じて生成された該第1
の複数個の第1種類シンボルを第1の所定個数に制限す
るリミッティングステップ、 及び該第1の複数個の第1種類シンボルを第2の複数個
の第2種類シンボルにエンコードする第2エンコーディ
ングステップを有し、該第2の複数個は第2の所定個数
に制限されることを特徴とするエンコーディング方法。 - 【請求項2】 請求項1記載のエンコーディング方法に
おいて、該ユニットがブロックからなることを特徴とす
るエンコーディング方法。 - 【請求項3】 請求項1記載のエンコーディング方法に
おいて、該データ圧縮装置はカスケード接続された第1
のデコーダ、メモリ、及び第2のデコーダを有し、該第
1の複数個の第1種類シンボルが制限されることによっ
て該第1デコーダと該第2デコーダの間のデータのバッ
ファリングに必要な該メモリのサイズが削減されること
を特徴とするエンコーディング方法。 - 【請求項4】 請求項1記載のエンコーディング方法に
おいて、該第1エンコーディングステップ後のデータを
メモリ手段を用いてバッファリングするバッファリング
ステップを有し、該第1の複数個の第1種類シンボルが
制限されることによって該第1の複数個の第1種類シン
ボルのバッファリングのために必要な該メモリ手段のサ
イズが削減されることを特徴とするエンコーディング方
法。 - 【請求項5】 請求項1記載のエンコーディング方法に
おいて、該第1種類シンボルはトークンからなることを
特徴とするエンコーディング方法。 - 【請求項6】 請求項1記載のエンコーディング方法に
おいて、該第2種類シンボルは符号語からなることを特
徴とするエンコーディング方法。 - 【請求項7】 データ圧縮装置においてカスケード接続
された第1と第2のデコーダ間でデータを格納するため
のバッファメモリの必要サイズを削減するための方法で
あって、 データを複数ブロックの第1種類シンボルのにエンコー
ドするステップと、 該複数ブロックの該第1種類シンボルを複数の第2種類
シンボルにエンコードするステップからなり、 該後者のステップが、該複数ブロックの該第2種類シン
ボルを所定個数の該第2種類シンボルに制限する制限ス
テップを含むことにより、圧縮中に該第1デコーダに供
給された該第2種類シンボルが制限されて該第1デコー
ダより出力された圧縮データをバッファリングするため
の該バッファメモリのサイズが削減されることを特徴と
するバッファメモリ削減方法。 - 【請求項8】 請求項7記載のバッファメモリ削減方法
において、該所定個数は該バッファメモリのサイズに応
じてユーザにより決められることを特徴とするバッファ
メモリの削減方法。 - 【請求項9】 請求項7記載のバッファメモリ削減方法
において、該制限ステップは該所定個数を超える該第2
種類シンボルを切り捨てるステップからなることを特徴
とするバッファメモリ削減方法。 - 【請求項10】 請求項7記載のバッファメモリ削減方
法において、該制限ステップは、出力された該第2種類
シンボルを計数して計数値を発生するステップ、該計数
値を該所定個数と比較するステップ、及び、該計数値が
該所定個数を超えるときにEOB指示を発行し、該ブロ
ックの残りの部分を切り捨てるステップからなることを
特徴とするバッファメモリ削減方法。 - 【請求項11】 画像データを圧縮して複数の係数から
なる複数のブロックを生成するステップ、 該複数ブロックの各ブロック内の複数係数をエンコード
して複数のトークンを生成する第1エンコーディングス
テップ、 該複数のトークンを複数の符号後にエンコードするステ
ップであって、該トークンの個数を所定個数に制限する
ための制限ステップを含む、第2エンコーディングステ
ップ、 該トークン個数を複数のデコードされたトークンにデコ
ードする第1デコーディングステップ、 該複数のデコードされたトークンをバッファに格納する
ステップ、 該バッファに格納された該複数のデコードされたトーク
ンをデコードして複数の係数を生成する第2デコーディ
ングステップ、 及び該係数を画像データに伸長するステップからなる圧
縮/伸長方法。 - 【請求項12】 請求項11記載の圧縮/伸長方法にお
いて、該第2エンコーディングステップはハフマン・エ
ンコーディングのステップからなり、該第1デコーディ
ングステップはハフマン・テコーディングのステップか
らなることを特徴とする圧縮/伸長方法。 - 【請求項13】 請求項11記載の圧縮/伸長方法にお
いて、該制限ステップは、エンコードされたトークンの
個数を計数して計数値を生成するステップ、該計数値を
該所定個数の比較するステップ、及び、該計数値が該所
定個数を超えるときに該ブロックの残りの部分の代わり
にEOB指示を出力するステップからなることを特徴と
する圧縮/伸長方法。 - 【請求項14】 請求項11記載の圧縮/伸長方法にお
いて、該所定個数は該バッファメモリのサイズに応じて
ユーザにより決められることを特徴とする圧縮/伸長方
法。 - 【請求項15】 JPEG圧縮器を用いて画像データを
圧縮して複数の係数を生成する圧縮ステップ、 該複数の係数のランレングス・エンコーディングをして
複数のトークンを生成するステップ、 該複数のトークンを複数の符号語にハフマン・エンコー
ディングするステップであってトークンの個数を所定個
数に制限する制限ステップを含むステップ、 該トークン個数を複数のデコードされたトークンにハフ
マン・デコーディングするステップ、 該複数のデコードされたトークンをバッファに格納する
ステップ、 該バッファに格納された該複数のデコードされたトーク
ンをランレングス・エンコーディングして複数の係数を
生成するステップ、 及び該係数を画像データに伸長するステップからなる圧
縮/伸長方法。 - 【請求項16】 請求項15記載の圧縮/伸長方法にお
いて、該制限ステップは、該エンコードされたトークン
の個数を計数して計数値を生成するステップ、該計数値
を該所定個数と比較するステップ、及び、該計数値が該
所定個数を超えるときに該ブロックの残りの部分の代わ
りにEOB指示を出力する出力ステップからなることを
特徴とする圧縮/伸長方法。 - 【請求項17】 請求項16記載の圧縮/伸長方法にお
いて、該出力ステップは、EOBトークンを出力するス
テップからなることを特徴とする圧縮/伸長方法。 - 【請求項18】 エンコードされるトークンの個数を制
限するための装置であって、 該トークンの個数を計数して該トークンの計数値を生成
するカウンタ手段、 所定数を記憶するための記憶手段、 該所定数と該計数値とを比較し、該計数値が該所定数を
超えるときに第1の状態の信号を出力し、該計数値が該
所定数以下のときに第2の状態の信号を出力する、該記
憶手段及び該カウンタ手段に接続されたコンパレータ手
段、 及び第1及び第2の入力並びに制御入力を有し、該第1
の入力が該トークンに接続され、該第2の入力がEOB
指示に接続され、該制御入力が該信号を受けるように接
続され、該信号が該第1の状態であることに応答してE
OBトークンを出力し、該信号が該第2の状態であるこ
とに応答して該トークンを出力するマルチプレクサ手段
からなるトークン数制限装置。 - 【請求項19】 所定個数のトークンに応答してエンコ
ーディング手段により生成された圧縮データを伸長する
ための伸長装置であって、 該圧縮データを受け取り複数のトークンを生成する、第
1の速度で動作する第1のデコーダ手段、 該複数のトークンを受け取るように接続された、所定サ
イズのバッファメモリ手段、 及び該バッファメモリ手段より該複数のトークンを受け
取るように接続され、該複数のトークンをデコードする
ためのものであって、該第1の速度より高速の第2の速
度で動作する可変長デコーダであるところの第2のデコ
ーダ手段を具備し、 該バッファメモリ手段の該所定サイズは該エンコーディ
ング手段によりエンコードされたトークンを該所定個数
に制限することによって削減されることを特徴とする伸
長装置。 - 【請求項20】 請求項19記載の伸長装置において、
該バッファメモリ手段はFIFOからなることを特徴と
する伸長装置。 - 【請求項21】 請求項19記載の伸長装置において、
該バッファメモリ手段は該トークンを格納することを特
徴とする伸長装置。 - 【請求項22】 請求項19記載の伸長装置において、
該所定個数のトークンは32個のトークンからなること
を特徴とする伸長装置。 - 【請求項23】 請求項19記載の伸長装置において、
該第1のデコード手段はハフマンデコーダからなること
を特徴とする伸長装置。 - 【請求項24】 請求項24記載の伸長装置において、
該第2のデコード手段はランレングス・デコーダからな
ることを特徴とする伸長装置。 - 【請求項25】 所定個数のトークンに応答してエンコ
ーディング手段により生成された圧縮データを伸長する
ための伸長装置であって、 該圧縮データを受け取り複数のトークンを生成する、第
1の速度で動作する第1のデコーダ手段、 該複数のトークンを受け取るように接続された所定サイ
ズのバッファメモリ手段、 該バッファメモリ手段より該複数のトークンを受け取る
ように接続され、該複数のトークンをデコードして複数
の係数を生成するものであって、該第1の速度より高速
の第2の速度で動作する可変長デコーダであるところの
第2のデコーダ手段、 及び該複数の係数を受け取るように接続された、伸長さ
れたデータを生成するための変換伸長器手段を具備し、 該エンコーディング手段によりエンコードされるトーク
ンを所定個数に制限することによって、該バッファメモ
リ手段の該所定サイズが削減されることを特徴とする伸
長装置。 - 【請求項26】 請求項25記載の伸長装置において、
該バッファメモリ手段はFIFOからなることを特徴と
する伸長装置。 - 【請求項27】 請求項25記載の伸長装置において、
該バッファメモリ手段はトークンを格納することを特徴
とする伸長装置。 - 【請求項28】 請求項25記載の伸長装置において、
該所定個数のトークンは32個のトークンからなること
を特徴とする伸長装置。 - 【請求項29】 請求項25記載の伸長装置において、
該第1のデコーダ手段はハフマン・デコーダからなるこ
とを特徴とする伸長装置。 - 【請求項30】 請求項25記載の伸長装置において、
該第1のデコーダ手段はランレングス・デコーダからな
ることを特徴とする伸長装置。 - 【請求項31】 請求項25記載の伸長装置において、
該変換伸長器手段はJPEG圧縮器からなることを特徴
とする伸長装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10737693A | 1993-08-17 | 1993-08-17 | |
| US08/107376 | 1993-08-17 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07106979A true JPH07106979A (ja) | 1995-04-21 |
| JP3247804B2 JP3247804B2 (ja) | 2002-01-21 |
Family
ID=22316320
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17984694A Expired - Fee Related JP3247804B2 (ja) | 1993-08-17 | 1994-08-01 | データ圧縮方法、データ圧縮/伸長方法、符号語データ数制限装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5535290A (ja) |
| JP (1) | JP3247804B2 (ja) |
| DE (1) | DE4429017B4 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7167259B2 (en) | 2000-05-16 | 2007-01-23 | International Business Machines Corporation | System and method for merging line work objects using tokenization and selective compression |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0576749B1 (en) | 1992-06-30 | 1999-06-02 | Discovision Associates | Data pipeline system |
| US5809270A (en) | 1992-06-30 | 1998-09-15 | Discovision Associates | Inverse quantizer |
| US6067417A (en) | 1992-06-30 | 2000-05-23 | Discovision Associates | Picture start token |
| US6047112A (en) | 1992-06-30 | 2000-04-04 | Discovision Associates | Technique for initiating processing of a data stream of encoded video information |
| US6112017A (en) | 1992-06-30 | 2000-08-29 | Discovision Associates | Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus |
| US5784631A (en) * | 1992-06-30 | 1998-07-21 | Discovision Associates | Huffman decoder |
| US6330665B1 (en) | 1992-06-30 | 2001-12-11 | Discovision Associates | Video parser |
| US6435737B1 (en) | 1992-06-30 | 2002-08-20 | Discovision Associates | Data pipeline system and data encoding method |
| US7095783B1 (en) | 1992-06-30 | 2006-08-22 | Discovision Associates | Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto |
| US6079009A (en) | 1992-06-30 | 2000-06-20 | Discovision Associates | Coding standard token in a system compromising a plurality of pipeline stages |
| US5768561A (en) | 1992-06-30 | 1998-06-16 | Discovision Associates | Tokens-based adaptive video processing arrangement |
| US5805914A (en) | 1993-06-24 | 1998-09-08 | Discovision Associates | Data pipeline system and data encoding method |
| US5861894A (en) | 1993-06-24 | 1999-01-19 | Discovision Associates | Buffer manager |
| US5768629A (en) | 1993-06-24 | 1998-06-16 | Discovision Associates | Token-based adaptive video processing arrangement |
| JP3332580B2 (ja) * | 1994-06-14 | 2002-10-07 | キヤノン株式会社 | 画像再生装置及び画像再生方式 |
| US5654806A (en) * | 1996-05-06 | 1997-08-05 | Xerox Corporation | Code manipulation for a high speed JPEG decoder |
| US5959560A (en) * | 1997-02-07 | 1999-09-28 | Said; Amir | Data compression via alphabet partitioning and group partitioning |
| US6111844A (en) * | 1997-07-03 | 2000-08-29 | At&T Corp. | Quality degradation through compression/decompression |
| US6266419B1 (en) | 1997-07-03 | 2001-07-24 | At&T Corp. | Custom character-coding compression for encoding and watermarking media content |
| KR100354531B1 (ko) * | 1998-05-06 | 2005-12-21 | 삼성전자 주식회사 | 실시간 복호화를 위한 무손실 부호화 및 복호화 시스템 |
| US9267232B2 (en) | 2005-03-24 | 2016-02-23 | Tarkett Inc. | Synthetic turf system having an infill trapping structure |
| US7668186B1 (en) * | 2006-03-07 | 2010-02-23 | Xilinx, Inc. | Token ecosystem for buffer management |
| US9418450B2 (en) | 2006-08-31 | 2016-08-16 | Ati Technologies Ulc | Texture compression techniques |
| US8458457B2 (en) * | 2007-02-02 | 2013-06-04 | Red Hat, Inc. | Method and system for certificate revocation list pre-compression encoding |
| US20230052538A1 (en) * | 2021-08-13 | 2023-02-16 | Meta Platforms, Inc. | Systems and methods for determining token rates within a rate-distortion optimization hardware pipeline |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4394774A (en) * | 1978-12-15 | 1983-07-19 | Compression Labs, Inc. | Digital video compression system and methods utilizing scene adaptive coding with rate buffer feedback |
| US4922273A (en) * | 1987-04-02 | 1990-05-01 | Konica Corporation | Compression method of halftone image data |
| FR2630277B1 (fr) * | 1988-04-15 | 1992-10-16 | Thomson Csf | Procede de codage et de decodage d'informations, par blocs, et dispositifs de codage et de decodage, pour la mise en oeuvre de ce procede |
| US5051840A (en) * | 1988-12-14 | 1991-09-24 | Fuji Photo Film Co., Ltd. | Device for coding a picture signal by compression |
| US5046121A (en) * | 1989-01-31 | 1991-09-03 | Konica Corporation | Image data compression apparatus |
| US5086488A (en) * | 1989-08-19 | 1992-02-04 | Mitsubishi Denki Kabushiki Kaisha | Transform coding apparatus |
| US5142380A (en) * | 1989-10-23 | 1992-08-25 | Ricoh Company, Ltd. | Image data processing apparatus |
| US5063608A (en) * | 1989-11-03 | 1991-11-05 | Datacube Inc. | Adaptive zonal coder |
| JP3071205B2 (ja) * | 1990-01-23 | 2000-07-31 | オリンパス光学工業株式会社 | 画像データの符号化装置および符号化方法 |
| US5303058A (en) * | 1990-10-22 | 1994-04-12 | Fujitsu Limited | Data processing apparatus for compressing and reconstructing image data |
| US5262854A (en) * | 1992-02-21 | 1993-11-16 | Rca Thomson Licensing Corporation | Lower resolution HDTV receivers |
-
1994
- 1994-08-01 JP JP17984694A patent/JP3247804B2/ja not_active Expired - Fee Related
- 1994-08-16 DE DE4429017A patent/DE4429017B4/de not_active Expired - Fee Related
-
1995
- 1995-09-11 US US08/526,758 patent/US5535290A/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7167259B2 (en) | 2000-05-16 | 2007-01-23 | International Business Machines Corporation | System and method for merging line work objects using tokenization and selective compression |
Also Published As
| Publication number | Publication date |
|---|---|
| US5535290A (en) | 1996-07-09 |
| DE4429017B4 (de) | 2005-10-13 |
| DE4429017A1 (de) | 1995-04-27 |
| JP3247804B2 (ja) | 2002-01-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3247804B2 (ja) | データ圧縮方法、データ圧縮/伸長方法、符号語データ数制限装置 | |
| US6678422B1 (en) | Method and apparatus for image data compression with low memory requirement | |
| CN100518319C (zh) | 将数据压缩成固定长度数据块及解压的方法 | |
| US6687407B2 (en) | Quantization table adjustment | |
| US5450599A (en) | Sequential pipelined processing for the compression and decompression of image data | |
| JP3210516B2 (ja) | データ圧縮方式 | |
| JP3022784B2 (ja) | 高速の可変長復号化装置 | |
| US6668015B1 (en) | Efficient fixed-length block compression and decompression | |
| JP2831888B2 (ja) | Hdtv復号化器 | |
| US5706001A (en) | Run-length decoding apparatus for use in a video signal decoding system | |
| EP0925555B1 (en) | Dual-speed variable length decoder and decoding architecture for mpeg-2 video data | |
| US6353685B1 (en) | Method and apparatus for image compression | |
| EP0708565A2 (en) | Variable-length decoding apparatus using relative addressing | |
| JP3153404B2 (ja) | ディジタルビデオ・ビットストリームコーダ | |
| JPH08275168A (ja) | ランレングス符号化方法及びその装置 | |
| JP3835273B2 (ja) | 画像符号化復号装置 | |
| US6353634B1 (en) | Video decoder using bi-orthogonal wavelet coding | |
| KR19990060489A (ko) | 에이치디티브이 비디오 디코더 | |
| WO2001071650A1 (en) | Method and apparatus for run-length encoding video data | |
| KR0166721B1 (ko) | 가변장 복호화기 | |
| US5654704A (en) | Video variable length code encoder with EOB insertion responsive to word length | |
| US5561422A (en) | Method and apparatus for variable length coding with reduced memory requirement | |
| JP3049265B2 (ja) | 画像データ符号化回路 | |
| JP2728003B2 (ja) | ゼロラン展開回路およびゼロラン展開方法 | |
| JP2003333339A (ja) | 画像符号化装置及び画像符号化方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071102 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081102 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081102 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091102 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101102 Year of fee payment: 9 |
|
| LAPS | Cancellation because of no payment of annual fees |