(57)【特許請求の範囲】
【請求項１】
画像データをブロック毎に圧縮し、所定数のブロックからなるＭＣＵ（Minimum Coded Unit）単位で可変長符号化して得られた画像圧縮データを伸張して原画像データを再生する画像圧縮データの伸張方法であって、
前記画像圧縮データに対して可変長復号化処理を行い、この可変長復号化処理結果から前記画像圧縮データにおける各ＭＣＵの符号化ビット長を求める第１の工程と、
前記第１の工程において求めた前記画像圧縮データにおける各ＭＣＵの符号化ビット長を基にして、前記画像圧縮データにおける伸張対象の一のＭＣＵの符号化ビットの位置を求め、求めた位置の前記一のＭＣＵの符号化ビットに対して伸張処理を行う第２の工程とを備え、
前記画像圧縮データは、画像を水平方向に走査する順にＭＣＵ単位で可変長符号化されたものであり、
前記第２の工程を、伸張対象の一のＭＣＵを画像を垂直方向に走査する順に指定しつつ、繰り返し行う
ことを特徴とする画像圧縮データの伸張方法。
【請求項２】
画像データをブロック毎に圧縮し、所定数のブロックからなるＭＣＵ単位で可変長符号化して得られた画像圧縮データを入力とし、この画像圧縮データを伸張して原画像データを再生する画像圧縮データの伸張装置であって、
前記画像圧縮データを入力とし、入力した画像圧縮データに対してＭＣＵ単位で伸張処理を行うＭＣＵ処理部と、
前記画像圧縮データを入力とし、入力した画像圧縮データに対して可変長復号化処理を行い、この可変長復号化処理結果から前記画像圧縮データにおける各ＭＣＵの符号化ビット長を求めるＭＣＵ情報生成部と、
前記ＭＣＵ情報生成部により求められた前記画像圧縮データにおける各ＭＣＵの符号化ビット長を基にして、前記画像圧縮データにおける一のＭＣＵの符号化ビットの位置を示すビット位置情報を求め、求めたビット位置情報を前記ＭＣＵ処理部に入力するＭＣＵ処理情報生成部とを備え、
前記ＭＣＵ処理部は、前記画像圧縮データにおける，前記ＭＣＵ処理情報生成部から入力されたビット位置情報が示す位置の一のＭＣＵの符号化ビットに対して伸張処理を行うことにより、前記一のＭＣＵの原画像データを再生するものであり、かつ、
前記画像圧縮データは、画像を水平方向に走査する順にＭＣＵ単位で可変長符号化されたものであり、
前記ＭＣＵ処理情報生成部は、ビット位置情報を求める一のＭＣＵを，画像を垂直方向に走査する順に特定するものである
ことを特徴とする画像圧縮データの伸張装置。
【請求項３】
請求項２記載の画像圧縮データの伸張装置において、
前記ＭＣＵ処理部により再生された一のＭＣＵの原画像データを順次蓄積する画像データ出力バッファと、
前記画像データ出力バッファに一のＭＣＵの原画像データが原画像垂直方向のＭＣＵの個数分蓄積されたとき、前記画像データ出力バッファに蓄積された画像データを当該画像圧縮データの伸張装置から出力する画像データ垂直出力部とを備えている
ことを特徴とする画像圧縮データの伸張装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像圧縮データを伸張して原画像を再生する伸張方法及び装置に関するものである。
【０００２】
【従来の技術】
現在、標準化されかつ互換性を持つ多数の画像圧縮フォーマットでは、圧縮前の原画像を所定画素毎に分割して取り扱う方法が用いられており、分割された各画素を読み出す順序は画面の上部から下部へ順に水平方向にスキャン（走査）するように統一されている。ＪＰＥＧ（Joint Photographic Experts Group）に代表される方式では、画像を復元するために必要な最小構成単位であるＭＣＵ（Minimum Coded Unit）単位に画面を分割する手法を取る。ＭＣＵは所定の個数の，８×８ピクセルからなるブロックによって構成される。画像の符号化手法としては、ブロック毎に画像データを圧縮し、画像データ圧縮処理の最終段階においては可変長符号化技術を用いて、画面水平方向にＭＣＵ単位で走査し、順に可変長ビットに変換し圧縮蓄積するという方法が用いられる。また、隣接する画素情報の差は小さいという画像の特性を利用して、各ブロックの直交変換データにおける周波数特性が０の値であるＤＣ成分を記録する際に、近似した値である直前のブロックのＤＣ成分との差分値を用いることによって、画像圧縮率を高める手法も利用されている。
【０００３】
一方、印字ヘッドのシーク幅の狭いプリンタでは、より大きな画像の印刷出力を行うために横長の画像に対して垂直ライン方向に出力してゆく方法が使われている。
【０００４】
ここで、画像圧縮データの伸張出力に垂直ライン方向出力の方法を適用する場合を考える。この場合、従来の技術では、画像圧縮データとして蓄積された以外の順序ではＭＣＵ単位でデータを取り出すことができないため、１画面分の画像データ用メモリを準備し、一旦１画面分の画像データを伸張して前記画像データ用メモリに蓄えてから垂直ライン方向に順に出力する方法がとられている。
【０００５】
図４は従来の画像圧縮データの伸張装置の構成例を示すブロック図であり、画像圧縮データの伸張出力に垂直ライン方向出力の方法を適用したものである。
【０００６】
図４において、６１は画像圧縮データを取り込む画像データ入力部、６０は１画面分の画像圧縮データの垂直伸張処理を行う画面処理部、５０は画面処理部６０の構成要素であり、ＭＣＵ単位で画像圧縮データの伸張処理を行うＭＣＵ処理部である。ＭＣＵ処理部５０は可変長復号化部１２、逆直交変換部１３、逆量子化部１４及びブロックデータ出力部１５から構成され、画像データ入力部６１から取り込まれた画像圧縮データは可変長復号化部１２、逆直交変換部１３、逆量子化部１４、ブロックデータ出力部１５の順に受け渡され伸張処理される。６２はＭＣＵ処理部５０により伸張されたデータを受け取り画像データとして出力する画像データ生成部、６３は１画面分の画像データを蓄積可能な記憶容量を持ち画像データ生成部６２から出力された画像データを記録する画像データ出力バッファァ、６４は画像データ出力バッファ６３に記録された画像データを垂直走査方向に列単位で出力する画像データ垂直出力部である。
【０００７】
図４に示す従来の画像圧縮データの伸張装置について、以下その動作を説明する。
【０００８】
画像データ入力部６１から読み込まれた画像圧縮データに対して、画面処理部６０では、ＭＣＵ処理部５０の構成要素である可変長復号化部１２、逆直交変換部１３、逆量子化部１４、ブロックデータ出力部１５が順に動作し、これによりブロック毎の画像圧縮データの伸張処理が行われ、画像データ生成部６２にブロック毎の画像データが入力される。１ＭＣＵ分に相当する個数のブロックの画像圧縮データの伸張処理が終了すると、画像データ生成部６２は入力した各ブロックの画像データを合わせて１ＭＣＵ分の画像データとし、画像圧縮時の走査順序と同様に水平走査方向に順に画像データ出力バッファ６３に記録する。画面処理部６０では、ＭＣＵ処理部５０により引き続きＭＣＵ単位の画像圧縮データの伸張処理を行い、これにより１画面分の画像データを再生する。
【０００９】
画像データ生成部６２によって１画面分の画像データが画像データ出力バッファ６３に記録された後、画像データ垂直出力部６４によって画像データ出力バッファ６３に記録された画像データが垂直方向に列単位で出力される。
【００１０】
【発明が解決しようとする課題】
前記のような従来の構成では、１画面分の画像データ出力バッファを準備する必要があるため、画像伸張処理に要するメモリの総記憶容量が非常に大きくなるという問題があった。
【００１１】
すなわち、画像圧縮データが可変長符号化されている場合には各ブロックの符号化ビット長は一定ではないので、ＭＣＵ単位の符号化ビット長も当然のことながら一定ではない。一方、可変長符号化されたときと異なる順序で伸張処理を行うためには、次の伸張処理を行うＭＣＵの符号化ビットが画像圧縮データのどの位置にあるのかを知る必要がある。ところがＭＣＵ単位の符号化ビット長は一定ではないため、画像圧縮データにおいてＭＣＵの符号化ビット位置は容易には知ることができない。
【００１２】
このため、垂直走査方向に順に画像データを再生したい場合でも、可変長符号化された画像圧縮データにおける各ＭＣＵの符号化ビットの位置を例えば絶対アドレスを用いた単純な計算式を用いて特定することはできないことから、図４に示す従来例のように、１画面分の画像圧縮データ全てに対して伸張処理を行うことが必要となり、したがって画像伸張処理に大きな記憶容量のメモリが必要になった。
【００１３】
また、垂直ライン方向出力の方法を前後のブロックのＤＣ成分の差分値を利用するデータ圧縮規格に適用させる場合、一のブロックのＤＣ成分の値を得るためには、その都度、画像圧縮データの先頭ブロックから前記一のブロックまでの各ＤＣ成分の値を読み取りその和を求める必要があるので、演算処理が煩雑になるという問題もあった。
【００１４】
本発明は前記の問題を解決するものであり、可変長符号化された画像圧縮データの伸張方法として、画面全体に対して伸張処理を行わなくても可変長符号化と異なる順序で画像圧縮データを伸張可能にすることを目的とするものである。
【００１５】
また本発明は、可変長符号化された画像圧縮データの伸張装置として、前記の方法を用いて、より少ないワークメモリ容量で画像データを所定の順に再生可能にすることを目的とする。
【００１６】
【課題を解決するための手段】
前記の課題を解決するために、本発明は、画像圧縮データを画像伸張処理前に１度読み取り、１画面中のＭＣＵ毎の符号化ビット長情報を求め、求めた情報を参照して次の位置のＭＣＵを伸張するために必要なビット位置情報を求め、所定の順にＭＣＵ単位で画像伸張処理を行うものである。
【００１７】
請求項１の発明が講じた解決手段は、画像データをブロック毎に圧縮し、所定数のブロックからなるＭＣＵ（Minimum Coded Unit）単位で可変長符号化して得られた画像圧縮データを伸張して原画像データを再生する画像圧縮データの伸張方法として、前記画像圧縮データに対して可変長復号化処理を行い、この可変長復号化処理結果から前記画像圧縮データにおける各ＭＣＵの符号化ビット長を求める第１の工程と、前記第１の工程において求めた前記画像圧縮データにおける各ＭＣＵの符号化ビット長を基にして、前記画像圧縮データにおける伸張対象の一のＭＣＵの符号化ビットの位置を求め、求めた位置の前記一のＭＣＵの符号化ビットに対して伸張処理を行う第２の工程とを備え、前記画像圧縮データは画像を水平方向に走査する順にＭＣＵ単位で可変長符号化されたものであり、前記第２の工程を画像を垂直方向に走査する順に伸張対象の一のＭＣＵを指定しつつ繰り返し行うものである。
【００１８】
請求項１の発明により、第１の工程において可変長復号化処理により求めた画像圧縮データにおける各ＭＣＵの符号化ビット長を基にして、第２の工程において画像圧縮データにおける所定のＭＣＵの符号化ビットの位置を求めることができるので、１画面分の画像圧縮データ全てに対して伸張処理を行わなくても、所定のＭＣＵの原画像データを再生することができる。そして第２の工程を一のＭＣＵを順次指定しつつ繰り返し行うことにより、原画像データをＭＣＵ単位で、画像圧縮時に可変長符号化した順序に限定されることなく、所定の順に再生することができる。さらに、画像を水平方向に走査する順にＭＣＵ単位で可変長符号化された画像圧縮データから、画像を垂直方向に走査する順にＭＣＵ単位で原画像データを再生することができ、しかもこのとき１画面分の画像圧縮データ全てに対して伸張処理を行う必要がない。
【００１９】
また、請求項２の発明が講じた解決手段は、画像データをブロック毎に圧縮し、所定数のブロックからなるＭＣＵ単位で可変長符号化して得られた画像圧縮データを入力とし、この画像圧縮データを伸張して原画像データを再生する画像圧縮データの伸張装置として、前記画像圧縮データを入力とし、入力した画像圧縮データに対してＭＣＵ単位で伸張処理を行うＭＣＵ処理部と、前記画像圧縮データを入力とし、入力した画像圧縮データに対して可変長復号化処理を行い、この可変長復号化処理結果から前記画像圧縮データにおける各ＭＣＵの符号化ビット長を求めるＭＣＵ情報生成部と、前記ＭＣＵ情報生成部により求められた前記画像圧縮データにおける各ＭＣＵの符号化ビット長を基にして、前記画像圧縮データにおける一のＭＣＵの符号化ビットの位置を示すビット位置情報を求め、求めたビット位置情報を前記ＭＣＵ処理部に入力するＭＣＵ処理情報生成部とを備え、前記ＭＣＵ処理部は、前記画像圧縮データにおける，前記ＭＣＵ処理情報生成部から入力されたビット位置情報が示す位置の一のＭＣＵの符号化ビットに対して伸張処理を行うことにより、前記一のＭＣＵの原画像データを再生するものであり、かつ、前記画像圧縮データは画像を水平方向に走査する順にＭＣＵ単位で可変長符号化されたものであり、前記ＭＣＵ処理情報生成部はビット位置情報を求める一のＭＣＵを画像を垂直方向に走査する順に特定するものである。
【００２０】
請求項２の発明により、ＭＣＵ情報生成部により求められた画像圧縮データにおける各ＭＣＵの符号化ビット長を基にして、ＭＣＵ処理情報生成部により画像圧縮データにおける所定のＭＣＵの符号化ビットの位置を示すビット位置情報が求められる。そしてＭＣＵ処理部は前記ビット位置情報が示す位置のＭＣＵの符号化ビットに対して伸張処理を行うので、当該装置は１画面分の画像圧縮データ全てに対して伸張処理を行わなくても所定のＭＣＵの原画像データを再生することができる。そして前記ＭＣＵ処理情報生成部がＭＣＵを順次指定しつつビット位置情報を求めることにより、原画像データをＭＣＵ単位で、画像圧縮時に可変長符号化した順序に限定されることなく、所定の順に再生することができる。さらに、画像を水平方向に走査する順にＭＣＵ単位で可変長符号化された画像圧縮データから、画像を垂直方向に走査する順にＭＣＵ単位で原画像データを再生することができ、しかもこのとき１画面分の画像圧縮データ全てに対して伸張処理を行う必要がない。
【００２１】
請求項３の発明では、前記請求項２の画像圧縮データの伸張装置は、前記ＭＣＵ処理部により再生された一のＭＣＵの原画像データを順次蓄積する画像データ出力バッファと、前記画像データ出力バッファに一のＭＣＵの原画像データが原画像垂直方向のＭＣＵの個数分蓄積されたとき、前記画像データ出力バッファに蓄積された画像データを当該画像圧縮データの伸張装置から出力する画像データ垂直出力部とを備えているものとする。
【００２２】
請求項３の発明により、前記画像データ出力バッファのメモリサイズは、１画面分の画像データを保存するために必要なメモリサイズの画像水平方向のＭＣＵの個数分の１でよいので、従来よりも少ないワークメモリ容量で画像データをＭＣＵ単位で垂直方向に読み出して出力することが可能になる。
【００２３】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照しながら説明する。
【００２４】
図１は本発明の一実施形態に係る画像圧縮データの伸張装置の構成を示すブロック図である。図１に示す画像圧縮データの伸張装置は、画像データをブロック毎に圧縮し、所定数のブロックからなるＭＣＵ（Minimum Coded Unit）単位で水平走査方向に順に可変長符号化して得られた画像圧縮データを入力とし、この画像圧縮データをＭＣＵ単位で垂直走査方向に順に伸張して原画像データを再生するものである。
【００２５】
図１において、１０は画像圧縮データを入力とし、ＭＣＵ単位で画像圧縮データの伸張処理を行うＭＣＵ処理部であり、入力した画像圧縮データを一旦格納する画像圧縮データメモリ１１並びに画像圧縮データメモリ１１から読み出した画像圧縮データに対して伸張処理を行う，可変長復号化部１２、逆直交変換部１３、逆量子化部１４及びブロックデータ出力部１５によって構成されている。ＭＣＵ処理部１０の構成要素である可変長復号化部１２、逆直交変換部１３、逆量子化部１４及びブロックデータ出力部１５の構成については従来技術と同様であるので本実施形態ではその詳細な説明を省略する。
【００２６】
また２０は画像圧縮データを入力とし、入力した画像圧縮データからＭＣＵ情報テーブル２２を作成するＭＣＵ情報生成部としてのＭＣＵ情報テーブル作成部である。ＭＣＵ情報テーブル２２は符号化ビット長テーブル２２ａ及びＤＣ成分テーブル２２ｂから構成される。２５はＭＣＵ情報テーブル２２を参照してＭＣＵ処理部１０が次のＭＣＵの伸張処理を実行するために必要となるパラメータを生成するＭＣＵ処理情報生成部としてのＭＣＵ先頭ブロックパラメータ生成部である。ＭＣＵ処理部１０及びＭＣＵ先頭ブロックパラメータ生成部２５によって１画面分の垂直伸張処理を行う画面処理部３０が構成されている。
【００２７】
また３１は画像圧縮データを取り込みＭＣＵ処理部１０及びＭＣＵ情報テーブル作成部２０に入力する画像圧縮データ入力部、３２はＭＣＵ処理部１０により再生された一のＭＣＵの各ブロックのデータを受け取り一のＭＣＵの原画像データを生成出力する画像データ生成部、３３は画像データ生成部３２から出力された一のＭＣＵの原画像データを垂直走査方向並びの画像データとして順次格納する画像データ出力バッファ、３４は垂直走査方向１列分のＭＣＵの原画像データが画像データ出力バッファ３３に格納される度に画像データ出力バッファ３３から画像データを読み出して出力する画像データ垂直出力部である。画像データ出力バッファ３３は垂直走査方向１列分のＭＣＵの原画像データを格納するために必要なメモリ容量を有しており、図１では画像データ出力バッファ３３のメモリ容量に対する画像サイズの仮想イメージ４０を図示している。
【００２８】
以上のように構成された本実施形態に係る画像圧縮データの伸張装置について、以下、その動作を１画面分の画像圧縮データを伸張する場合を例にとって説明する。
【００２９】
まず画像圧縮データに対する伸張処理の前に、画像データ入力部３１によりＭＣＵ情報テーブル作成部２０に画像圧縮データを入力し、ＭＣＵ情報テーブル作成部２０は入力された画像圧縮データの可変長復号化処理を行い、ブロック毎の符号化ビット長及びＤＣ成分値を求める。そして、可変長復号化処理により求めた各ブロックの符号化ビット長を基にしてＭＣＵ毎の符号化ビット長を計算し、計算した各ＭＣＵの符号化ビット長からなる符号化ビット長テーブル２２ａを作成すると共に、可変長復号化処理により求めた各ブロックのＤＣ成分値を基にして各ＭＣＵ毎のＤＣ成分の差分値を計算した値からなるＤＣ成分テーブル２２ｂを作成する。すなわち１画面分の画像圧縮データ毎に、符号化ビット長テーブル２２ａ及びＤＣ成分テーブル２２ｂからなるＭＣＵ情報テーブル２２が伸張処理の前に新たに作成される。ＭＣＵ情報テーブル２２は例えば本装置に内蔵されたメモリ等に作成される。
【００３０】
ここでＭＣＵ情報テーブル２２について説明する。
【００３１】
符号化ビット長テーブル２２ａとしては、１画面中のＭＣＵの個数のサイズのデータテーブルを準備する必要がある。
【００３２】
図２は画像データにおけるＭＣＵの区分の例を表す図である。図２に示す画像データは垂直方向にＨmax 列、水平方向にＶmax 行に分割されており、合計（Ｈmax ×Ｖmax ）個のＭＣＵに区分されている。ＭＣＵ１個当たりの画素サイズは画像圧縮時の設定によるため不定である。また、各ＭＣＵの符号化ビット長は可変長符号化されているので一定ではない。
【００３３】
ここで列ｈ，行ｖのＭＣＵ位置を(h,v) と表す。水平走査方向の順とは(1,1) から(Hmax,1)まで、(1,2) から(Hmax,2)まで、…、(1,Vmax)から(Hmax,Vmax) までというように画像を水平方向に走査する順序のことをいい、垂直走査方向の順とは(1,1) から(1,Vmax)まで、(2,1) から(2,Vmax)まで、…、(Hmax,1)から(Hmax,Vmax) までというように画像を垂直方向に走査する順序のことをいうものとする。
【００３４】
水平走査方向の順にＭＣＵ単位で圧縮された画像圧縮データを垂直走査方向の順にＭＣＵ単位で伸張するためには、伸張対象のＭＣＵに対して、例えば図２に示すような垂直方向ビット長ｂｘを伸張処理の前に求める必要がある。水平走査方向の順にＭＣＵ単位で圧縮された画像圧縮データでは、ＭＣＵの符号化ビットは垂直走査方向の順には並んでいないからである。
【００３５】
(h,v) の位置のＭＣＵの伸張処理の終了時における符号化ビット位置ａ１から、垂直走査方向の次のＭＣＵである(h,v+1) の位置のＭＣＵの伸張処理の開始時における符号化ビット位置ａ２までの垂直方向ビット長ｂｘをVbitlen(h,v)で表すものとすると、垂直方向ビット長Vbitlen(h,v)は、(h,v) の位置のＭＣＵの符号化ビット長をbitlen(h,v) とすると、次のような計算式で求めることができる。
0003559419.tif 000002
（ただしｖ≠Ｖmax ）
上式において、右辺の第１項が図２に示す符号化ビット長ｂ１に相当し、第２項が図２に示す符号化ビット長ｂ２に相当する。
【００３６】
本実施形態では符号化ビット長テーブル２２ａには各ＭＣＵの符号化ビット長を計算して入れるものとし、ＭＣＵ先頭ブロックパラメータ生成部２５によって式（１）に従って垂直方向ビット長Vbitlen(h,v)を求めるものとする。
【００３７】
また式（１）は、
0003559419.tif 000003
というように展開することができる。すなわち、
0003559419.tif 000004
という式によって、より短い演算回数で求めることができる。
【００３８】
またＤＣ成分テーブル２２ｂとしては、ＭＣＵの個数の配列のデータテーブルを輝度や色差等の画素成分の種類別に準備する必要がある。
【００３９】
図３はＭＣＵ内のブロックの構成例を示す図である。カラー画像の場合には画素成分の種類別に図３に示すようなブロックがそろって１個のＭＣＵを構成するが、図３では説明を簡略化するために１つの画素成分についてのブロックのみを示している。
【００４０】
ＭＣＵは（８×８）画素からなる任意の個数のブロックから構成されており、ＤＣ成分の読み出しはブロック単位で順次行われる。図３に示すＭＣＵは４個のブロック（ブロックｎ−３，ｎ−２，ｎ−１，ｎ）によって構成されている。
【００４１】
ＭＣＵ情報テーブル作成部２０は画像圧縮データを画面水平方向に走査していき、画像圧縮データの先頭ブロックから各ブロックまでの全てのＤＣ成分の和を各ブロックのＤＣ成分差分値として計算し、各ＭＣＵの最終ブロックのＤＣ成分差分値を各ＭＣＵのＤＣ成分差分値として、ＤＣ成分テーブル２２ｂに記録する。
【００４２】
ｎ番目のブロックのＤＣ成分の値をＤＣ(n) とすると、ｎ番目のブロックのＤＣ成分差分値ΔＤＣ(n) は次のような計算式で求めることができる。
【００４３】
ｎ＝１のとき  ΔＤＣ(1) ＝０
ｎ≧２のとき  ΔＤＣ(n) ＝ＤＣ(n) −ΔＤＣ(n-1)
この結果、ＤＣ成分テーブル２２ｂには、各ＭＣＵの最終ブロックのＤＣ成分の元の値（差分ではない）と画像圧縮データの先頭ブロックのＤＣ成分の元の値との差分データが記録されることになる。このため、ＤＣ成分テーブル２２ｂを参照することにより、一のブロックのＤＣ成分の元の値を得るために、符号化された画像圧縮データの先頭ブロックから前記一のブロックまでの各ＤＣ成分の値を読み取る必要がなくなる。
【００４４】
ＭＣＵ先頭ブロックパラメータ生成部２５は、ＭＣＵ処理部１０において伸張処理が終了したＭＣＵのＤＣ成分差分値をＤＣ成分テーブル２２ｂから読み出し、次のＭＣＵの伸張処理のパラメータとしてＭＣＵ処理部１０に入力する。ＭＣＵ処理部１０は、ＭＣＵ先頭ブロックパラメータ生成部２５から入力された，直前に伸張処理を終了したＭＣＵのＤＣ成分差分値を基にして、次のＭＣＵを構成する各ブロックのＤＣ成分の元の値を求める。
【００４５】
またＭＣＵ先頭ブロックパラメータ生成部２５は、画像圧縮データの垂直走査方向の伸張を行う際に、垂直走査方向の始点すなわち図２におけるｖ＝１のときに次の水平方向位置のＭＣＵの伸張処理に用いるパラメータを内部メモリに記憶しておき、垂直方向１列分のＭＣＵの伸張処理が終了したｖ＝Ｖmax のときに、内部メモリに記憶したパラメータを次の列のＭＣＵの伸張処理のために出力するようにしてもよい。
【００４６】
次に画面処理部３０によって画像圧縮データの伸張処理が行われる。１画面分の画像圧縮データが画像データ入力部３１からＭＣＵ処理部１０に入力され、ＭＣＵ処理部１０は入力した画像圧縮データを画像圧縮データメモリ１１に一旦格納し、画像圧縮データメモリ１１に格納した画像圧縮データに対してＭＣＵ単位で順に伸張処理を行う。ＭＣＵ処理部１０はブロック毎に画像圧縮データの伸張処理を行い、１ＭＣＵ分のブロックの伸張処理が終了した後、ＭＣＵ先頭ブロックパラメータ生成部２５から、画像圧縮データにおける，次に伸張処理を行うＭＣＵの符号化ビットの位置を示すビット位置情報を含むパラメータを入力し、このパラメータに基づき次のＭＣＵの伸張処理を行う。ＭＣＵ先頭ブロックパラメータ生成部２５は、ＭＣＵ処理部１０が一のＭＣＵに対する伸張処理が終了したときＭＣＵ情報テーブル２２を参照し、次の垂直走査方向の位置のＭＣＵの原画像データを再生するためのパラメータである，このＭＣＵの符号化ビットの位置を示すビット位置情報及び直前に伸張処理が終了した前記一のＭＣＵのＤＣ成分差分値を求め、ＭＣＵ処理部１０に入力する。このような動作を繰り返すことによって、画面垂直方向の画像圧縮データの伸張処理を実現する。
【００４７】
また、ＭＣＵ処理部１０で伸張された原画像データは、画像データ生成部３２によって画像データ出力バッファ３３に画面垂直方向に順に並べて記録され、画像データ出力バッファ３３に垂直走査方向１列分のＭＣＵの原画像データがそろう度に、画像データ垂直出力部３４によって垂直方向１列分の原画像データとして出力され、出力終了後、画像データ出力バッファ３３に記録された原画像データは消去される。
【００４８】
以上のように本実施形態によると、各ＭＣＵの符号化ビット長データ等の情報を記憶するＭＣＵ情報テーブルを１画面毎に作成し、このＭＣＵ情報テーブルを参照して画像圧縮データにおける，次に伸張処理を行うＭＣＵの符号化ビットの位置等の情報を生成し、生成した情報をＭＣＵ単位の伸張処理に利用することによって、垂直走査方向に原画像を再生する際に画像全体に対して伸張処理を行う必要がなくなるので、画面出力のためのデータバッファの記憶容量を画面水平方向のＭＣＵ個数分の１に削減することができる。
【００４９】
ここでＪＰＥＧ（Joint Photographic Experts Group）方式により画像情報を圧縮伸張する場合を例にとって、本実施形態を用いた場合と従来技術を用いた場合との比較を行う。
【００５０】
比較条件として、画像サイズ６４０×４８０ドットのカラー画像であってベースライン方式でＹ：Ｕ：Ｖ比（輝度・色差の比）４：１：１又は４：２：２に対応するものを対象とし、画像情報を蓄積するためのデータバッファにはデータ間引きが行われていない画像情報を完全に再現させたデータが入るものとした。
【００５１】
前記の条件より、１ＭＣＵが画面を分割する大きさは１６×１６ドットで、１画面が水平４０個×垂直３０個の計１２００個のＭＣＵによって構成され、１ＭＣＵは縦横８×８ピクセルの６４バイトのブロック最大８個で構成され、画素成分数は輝度成分が１、色差成分２の計３成分で構成されていることが導かれる。またＪＰＥＧ処理におけるハフマン圧縮は最悪の場合に１バイトを１６ビットに変換する。
【００５２】
ゆえに１ＭＣＵの最大ビット長は６４×８×１６＝８１９２ビットであるので、符号化ビット長テーブル２２ａとしてはＭＣＵ１個当たり１６ビットすなわち２バイト幅のテーブルを準備すればよいことになる。また、ＤＣ成分は１バイト幅と決まっており、画素成分が３種類なので、ＤＣ成分テーブル２２ｂとしてはＭＣＵ１個当たり１×３バイトのテーブルを準備する必要がある。したがって、ＭＣＵ情報テーブル２２として必要な記憶容量は１２００×（２＋１×３）＝６ＫＢである。
【００５３】
また画像データ出力バッファは、従来の方法では画像サイズに画素成分数を乗じた分の容量すなわち６４０×４８０×３＝９００ＫＢ必要であるが、本実施形態では垂直走査方向にＭＣＵ１列分の画像データを並べることができるだけの容量で済むので、従来の方法において必要であった容量の水平走査方向のＭＣＵ個数分の１すなわち９００÷４０＝２２．５ＫＢで済むことが分かる。
【００５４】
以上のことから分かるように、本実施形態において、ＭＣＵ情報テーブル２２として必要になる記憶容量を差し引いても、データ伸張時に必要な記憶容量を大幅に削減することができる。
【００５５】
なお本実施形態では符号化ビット長テーブル２２ａのデータは各ＭＣＵの符号化ビット長すなわち各ＭＣＵを構成するブロックの符号化ビット長の合計値としたが、符号化ビット長テーブル２２ａの各データを記録するビット幅を本実施形態の場合よりも広くし、符号化ビット長テーブル２２ａとして、次の垂直位置のＭＣＵまでのビット長合計値、又は次の垂直位置のＭＣＵのデータの画像圧縮データメモリ１１の格納アドレスを記録するようにしてもよい。
【００５６】
さらに本発明は、本実施形態のように、画像を水平方向に走査する順にＭＣＵ単位で可変長符号化された画像圧縮データを垂直方向に順にＭＣＵ毎に伸張するものに限られるものではなく、画像圧縮時に可変長符号化した順序に限定されることなく、所定の順に、ＭＣＵ単位で原画像データを再生する方法及び装置として他の用途にも適用可能である。すなわち、ＭＣＵ先頭ブロックパラメータ生成部２５によってパラメータを出力するＭＣＵの順序を変えることによって、１画面分の画像圧縮データ全てに対して伸張処理を行うことなく、垂直走査方向以外の所定の順にＭＣＵ単位で原画像データを再生することができる。
【００５７】
【発明の効果】
以上のように本発明によると、可変長復号化処理により求めた画像圧縮データにおける各ＭＣＵの符号化ビット長を基にして画像圧縮データにおける所定のＭＣＵの符号化ビットの位置を求めることができるので、１画面分の画像圧縮データ全てに対して伸張処理を行わなくても、所定のＭＣＵの原画像データを再生することができる。このため、原画像データをＭＣＵ単位で、画像圧縮時に可変長符号化した順序に限定されることなく、所定の順に再生することができる。
【００５８】
特に、画像を水平方向に走査する順にＭＣＵ単位で可変長符号化された画像圧縮データから、１画面分の画像圧縮データ全てに対して伸張処理を行うことなく、画像を垂直方向に走査する順にＭＣＵ単位で原画像データを再生することができる。このため画像データ出力バッファのメモリサイズは、１画面分の画像データを保存するために必要なメモリサイズの画像水平方向のＭＣＵの個数分の１でよいので、従来よりも少ないワークメモリ容量で画像データをＭＣＵ単位で垂直方向に読み出して出力することが可能になる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る画像圧縮データの伸張装置の構成を示すブロック図である。
【図２】図２は画像データにおけるＭＣＵの区分の例を表す図であり、垂直走査方向のＭＣＵの走査を説明するための概念図である。
【図３】ＭＣＵ内のブロックの構成の例を示す図である。
【図４】従来の画像圧縮データの伸張装置の構成を示すブロック図である。
【符号の説明】
１０  ＭＣＵ処理部
２０  ＭＣＵ情報テーブル作成部（ＭＣＵ情報生成部）
２５  ＭＣＵ先頭ブロックパラメータ生成部（ＭＣＵ処理情報生成部）
３３  画像データ出力バッファ
３４  画像データ垂直出力部
【図１】
0003559419.tif 000005
【図２】
0003559419.tif 000006
【図３】
0003559419.tif 000007
【図４】
0003559419.tif 000008