(57)【特許請求の範囲】
【請求項１】
１画素がｉビットで表わされる原画像データを周波数変換、量子化処理、及び、エントロピー符号化を行なって符号化された符号化画像データを、１画素が所定のｎ（ｎ＜ｉ）ビットで表わされる画像データに復号する画像復号装置であって、
前記符号化画像データのヘッダ情報を抽出し解析する解析手段と、
該解析手段の解析により、量子化処理で用いた量子化テーブルを抽出する抽出手段と、
前記解析手段の解析により、前記ビット数ｉを取得するビット数取得手段と、
該ビット数取得手段で取得されたビット数ｉに基づいて、前記抽出手段で抽出された量子化テーブルの量子化係数をスケーリングするスケーリング手段と、
前記符号化データを逆エントリピー復号して量子化値を算出し、当該算出された量子化値を前記スケーリング手段でスケーリングされた量子化テーブルを用いて逆量子化して周波数変換係数を算出し、当該周波数変換係数に対して逆周波数変換を行って画像データに復元する復号手段と
を備えることを特徴とする画像復号装置。
【請求項２】
前記復号手段における逆量子化処理は整数演算で行ない、
前記スケーリング手段は、前記抽出手段で抽出された量子化テーブルの各量子化係数にオフセット値２i-n-1を加算した後、加算後の量子化係数をｉ−ｎビットだけ下位にシフトすることで、スケーリングすることを特徴とする請求項１に記載の画像復号装置。
【請求項３】
前記復号手段における逆量子化処理は実数演算で行ない、
前記スケーリング手段は、前記抽出手段で抽出された量子化テーブルの各量子化係数をｉ−ｎビットだけ下位にシフトすることで、スケーリングすることを特徴とする請求項１に記載の画像復号装置。
【請求項４】
１画素がｉビットで表わされる原画像データを周波数変換、量子化処理、及び、エントロピー符号化を行なって符号化された符号化画像データを、１画素がｎ（ｎ＜ｉ）ビットで表わされる画像データに復号する画像復号装置の制御方法であって、
前記符号化画像データのヘッダ情報を抽出し解析する解析工程と、
該解析工程の解析により、量子化処理で用いた量子化テーブルを抽出する抽出工程と、
前記解析工程の解析により、前記ビット数ｉを取得するビット数取得工程と、
該ビット数取得工程で取得されたビット数ｉに基づいて、前記抽出工程で抽出された量子化テーブルの量子化係数をスケーリングするスケーリング工程と、
前記符号化データを逆エントリピー復号して量子化値を算出し、当該算出された量子化値を前記スケーリング工程でスケーリングされた量子化テーブルを用いて逆量子化して周波数変換係数を算出し、当該周波数変換係数に対して逆周波数変換を行って画像データに復元する復号工程と
を備えることを特徴とする画像復号装置の制御方法。
【請求項５】
コンピュータに読込ませ実行させることで、前記コンピュータを、１画素がｉビットで表わされる原画像データを周波数変換、量子化処理、及び、エントロピー符号化を行なって符号化された符号化画像データを、１画素がｎ（ｎ＜ｉ）ビットで表わされる画像データに復号する画像復号装置として機能させるコンピュータプログラムであって、
前記符号化画像データのヘッダ情報を抽出し解析する解析手段と、
該解析手段の解析により、量子化処理で用いた量子化テーブルを抽出する抽出手段と、
前記解析手段の解析により、前記ビット数ｉを取得するビット数取得手段と、
該ビット数取得手段で取得されたビット数ｉに基づいて、前記抽出手段で抽出された量子化テーブルの量子化係数をスケーリングするスケーリング手段と、
前記符号化データを逆エントリピー復号して量子化値を算出し、当該算出された量子化値を前記スケーリング手段でスケーリングされた量子化テーブルを用いて逆量子化して周波数変換係数を算出し、当該周波数変換係数に対して逆周波数変換を行って画像データに復元する復号手段
として機能させることを特徴とするコンピュータプログラム。
【請求項６】
請求項５に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項７】
１画素がｉビットで表わされる原画像データを周波数変換、量子化処理、及び、エントロピー符号化を行なって符号化された符号化画像データを、１画素がｎ（ｎ＜ｉ）ビットで表わされる画像データに復号する画像復号装置であって、
異なるビット数の画像データ用の量子化テーブルを、その量子化テーブルを特定する情報と関連付けて記憶する記憶手段と、
前記符号化画像データのヘッダ情報を抽出し解析する解析手段と、
該解析手段の解析により、量子化処理で用いた量子化テーブルを特定する情報を抽出する抽出手段と、
前記解析手段の解析により、前記ビット数ｉを取得するビット数取得手段と、
前記量子化テーブルを特定する情報に基づき、該当する量子化テーブルを前記記憶手段から取得し、前記ビット数取得手段で取得されたビット数ｉに基づいて、取得した量子化テーブルの量子化係数をスケーリングするスケーリング手段と、
前記符号化データを逆エントリピー復号して量子化値を算出し、当該算出された量子化値を前記スケーリング手段でスケーリングされた量子化テーブルを用いて逆量子化して周波数変換係数を算出し、当該周波数変換係数に対して逆周波数変換を行って画像データに復元する復号手段と
を備えることを特徴とする画像復号装置。
【請求項８】
前記復号手段における逆量子化処理は整数演算で行ない、
前記スケーリング手段は、前記記憶手段から取得した量子化テーブルの各量子化係数にオフセット値２i-n-1を加算した後、加算後の量子化係数をｉ−ｎビットだけ下位にシフトすることで、スケーリングすることを特徴とする請求項７に記載の画像復号装置。
【請求項９】
前記復号手段における逆量子化処理は実数演算で行い、
前記スケーリング手段は、前記記憶手段から取得した量子化テーブルの各量子化係数をｉ−ｎビットだけ下位にシフトすることで、スケーリングすることを特徴とする請求項７に記載の画像復号装置。
【請求項１０】
１画素がｉビットで表わされる原画像データを周波数変換、量子化処理、及び、エントロピー符号化を行なって符号化された符号化画像データを、１画素がｎ（ｎ＜ｉ）ビットで表わされる画像データに復号する画像復号装置の制御方法であって、
前記符号化画像データのヘッダ情報を抽出し解析する解析工程と、
該解析工程の解析により、量子化処理で用いた量子化テーブルを特定する情報を抽出する抽出工程と、
前記解析工程の解析により、前記ビット数ｉを取得するビット数取得工程と、
異なるビット数の画像データ用の量子化テーブルをその量子化テーブルを特定する情報と関連付けて記憶する所定の記憶手段の中から、前記抽出工程で抽出された量子化テーブルを特定する情報に該当する量子化テーブルを取得し、前記ビット数取得工程で取得されたビット数ｉに基づいて、取得した量子化テーブルの量子化係数をスケーリングするスケーリング工程と、
前記符号化データを逆エントリピー復号して量子化値を算出し、当該算出された量子化値を前記スケーリング工程でスケーリングされた量子化テーブルを用いて逆量子化して周波数変換係数を算出し、当該周波数変換係数に対して逆周波数変換を行って画像データに復元する復号工程と
を備えることを特徴とする画像復号装置の制御方法。
【請求項１１】
コンピュータに読込ませ実行させることで、前記コンピュータを、１画素がｉビットで表わされる原画像データを周波数変換、量子化処理、及び、エントロピー符号化を行なって符号化された符号化画像データを、１画素がｎ（ｎ＜ｉ）ビットで表わされる画像データに復号する画像復号装置として機能させるコンピュータプログラムであって、
前記符号化画像データのヘッダ情報を抽出し解析する解析手段と、
該解析手段の解析により、量子化処理で用いた量子化テーブルを特定する情報を抽出する抽出手段と、
前記解析手段の解析により、前記ビット数ｉを取得するビット数取得手段と、
異なるビット数の画像データ用の量子化テーブルをその量子化テーブルを特定する情報と関連付けて記憶する所定の記憶手段の中から、前記抽出手段で抽出された量子化テーブルを特定する情報に該当する量子化テーブルを取得し、前記ビット数取得手段で取得されたビット数ｉに基づいて、取得した量子化テーブルの量子化係数をスケーリングするスケーリング手段と、
前記符号化データを逆エントリピー復号して量子化値を算出し、当該算出された量子化値を前記スケーリング手段でスケーリングされた量子化テーブルを用いて逆量子化して周波数変換係数を算出し、当該周波数変換係数に対して逆周波数変換を行って画像データに復元する復号手段
として機能させることを特徴とするコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化画像データの復号する技術に関するものである。
【背景技術】
【０００２】
静止画像データの国際標準符号化方式であるＪＰＥＧには、離散コサイン変換（ＤＣＴ）を利用した非可逆符号化方式と予測符号化を用いる可逆符号化方式とがある。また、ＪＰＥＧでは、各色８ビットのカラー画像データと１２ビットのカラー画像データの符号化・復号化処理が規定されいる。ＤＣＴを用いる８ビット画像はベースラインＪＰＥＧ、８ビットを含む１２ビット画像の符号化は拡張ＪＰＥＧとして区別されている。本発明は、ＤＣＴを用いる非可逆符号化方式に関する。
【０００３】
詳細については、“ＩＴＵ−Ｔ勧告Ｔ．８１（ＩＳＯ／ＩＥＣ １０９１８−１）”の付属書ＢのＢ．２．２節フレームヘッダシンタックスに記述されている。該Ｂ．２．２節の表Ｂ．２にフレームヘッダパラメータのサイズと値が規定されており、符号化・復号化する画像データのビット数が２番目のパラメータＰとして規定されている。シーケンシャルＤＣＴのベースラインは８ビット画像のみに限定され、シーケンシャルＤＣＴの拡張とプログレッシブＤＣＴは８ビットと１２ビット画像の符号化・復号化ができるようになっている。画像データ中の符号化したビット数に関する情報は、前記フレームヘッダパラメータに記述されている。従って、復号時は該パラメータに基づいて復号処理を行うので、いずれのビット数であっても符号化する以前の画像のビット数と、復号後の画像データのビット数は同じとなる。
【０００４】
これまでのカラー画像入力機器は、技術的な課題やコスト上の理由から、各色８ビットの精度でデータを生成することが多く、ＪＰＥＧ圧縮と言えば、一般に、８ビットデータの圧縮を行うベースラインＪＰＥＧを指す。
【０００５】
近年、画像入力機器の精度が向上し、デジタルカメラやスキャナなど８ビットを越える精度を有する画像データの生成が手軽にできるようになってきた。これに対応して、１２ビットデータの圧縮が可能な拡張ＪＰＥＧの必要性が増してきている。
【０００６】
拡張ＪＰＥＧがベースラインＪＰＥＧと大きく違うのは、入力データのビット数が４ビット増えていることで、これにより、色変換部、ＤＣＴ変換部、量子化部などの各処理部においてビット数の拡張を図る必要がある。
【０００７】
拡張ＪＰＥＧで符号化したコードを復号するには、ビット数が拡張された拡張ＪＰＥＧ対応の復号装置が必須であり、当然、ベースラインＪＰＥＧのみに対応する復号装置では復号することができない。
【０００８】
図１は、ベースラインＪＰＥＧで符号化したコードの復号する装置のブロック構成図である。
【０００９】
図中、１０１は外部から入力されたベースラインＪＰＥＧによって符号化された符号化データを示す。１０３は符号化データのヘッダを解析するヘッダ解析部、１０５は量子化テーブル格納部、１０７はハフマン復号部、１０９は逆量子化部である。１１１は、逆ＤＣＴ変換部、１１３は色変換部、そして、１１５は復号化した各色８ビットのカラー画像データである。
【００１０】
ヘッダ解析部１０３は、ベースラインＪＰＥＧ符号１０１のヘッダ情報を解析して、該ヘッダ中の量子化テーブル情報を抽出し、量子化テーブル情報中の量子化ステップ値を、そのまま量子化テーブル格納部１０５に格納する。
【００１１】
一方、ベースラインＪＰＥＧ符号１０１の中のハフマン符号化されたコードは、ハフマン復号部１０７にて復号され、復号されたＤＣＴ係数の量子化値は逆量子化部１０９に送られる。
【００１２】
逆量子化部１０９は、ＤＣＴ係数量子化値に、量子化テーブル格納部１０５から読み出した量子化ステップ値を乗算し、量子化値をＤＣＴ係数に戻す。そして、逆量子化部１０９は、このＤＣＴ係数を逆ＤＣＴ変換部１１１へ送る。
【００１３】
逆ＤＣＴ変換部１１１は、ＤＣＴ変換係数を実空間データに戻し、該データを色変換部１１３へ転送する。該色変換部では、逆ＤＣＴ変換後の輝度と色差信号であるＹＣｂＣｒ（各コンポーネントが８ビットの時のレンジは０〜２５５）から３原色であるＲＧＢへの変換を行う。この色変換は、ＩＴＵ−Ｒ  ＢＴ．６０１から導出される以下の式（１）が一般的に用いられる。
Ｒ＝Ｙ＋（（Ｃｒ−ｋ）×１．４０２０）
Ｇ＝Ｙ−（（Ｃｂ−ｋ）×０．３４４１）−（（Ｃｒ−ｋ）×０．７１３９）
Ｂ＝Ｙ＋（（Ｃｂ−ｋ）×１．７７１８）                  …（１）
ここで、ｋは固定値であり、８ビットデータの変換ではｋ＝１２８という値である。
【００１４】
以上の色変換により元の各色８ビットのＲＧＢデータが復元される。
【００１５】
ところで、ＣＣＤセンサやＣＭＯＳセンサの技術進歩による、画像入力デバイス（イメージスキャナやデジタルカメラ等）のビット数は拡大してきているが、コンピュータからモニタに表示する画像のビット数の拡大はあまり進んでいない。
【００１６】
標準的なコンピュータの表示装置であるＣＲＴモニタや液晶モニタはアナログもしくは各色８ビットのインターフェースが一般的である。１０ビット画像データをＤＡ変換したアナログ信号をモニタに出力するハードウェアも一部にあるが、コンピュータのＯＳとの連携がとれていないため、１０ビット画像をモニタ表示できるのは、汎用性のない限られたアプリケーションのみである。一般的なコンピュータの利用状況下での表示では、ＲＧＢ各色成分のビット数は最大でも８ビットまでである。以上のことは、“ＩＴＵ−Ｔ勧告Ｔ．８１（ＩＳＯ／ＩＥＣ １０９１８−１）”に定められていることか、或いは、現状のパーソナルコンピュータの状況を述べたものである。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
１２ビットの画像を積極的に使いたい用途として、赤め補正や階調・色調などの補正処理、ゴミ取りなど画像の見えを良くする画像処理を施す場合、あるいは、復号画像データにカラーマッチング処理を施し、それをプリンタ等に出力する場合が考えられる。
【００１８】
元が１２ビットの圧縮画像でも、８ビット画像をモニタに表示するだけなら８ビットで復号した方が、高速にソフトウェア処理できるし、拡張ＪＰＥＧ対応の特別なハードが必要なくて都合がよい。しかし、拡張ＪＰＥＧで符号化した１２ビット画像を８ビット画像として復号するには次のような課題があった。
【００１９】
先ず、１２ビット画像を該ビット数に対応する拡張ＪＰＥＧで符号化したコードを、８ビット画像にダイレクトにＪＰＥＧで復号することはできない。それゆえ、一旦、１２ビット画像に復号した後、８ビット画像に変換することが考えられる。
【００２０】
しかし１２ビット画像として復号するには、復号処理を行う一部の演算部が１２ビットのデータを扱える必要がある。そのため、これまでの８ビット画像の復号のみに対応しているベースラインＪＰＥＧ用のハードウェア或いはソフトウェアでは、復号することが困難であった。
【００２１】
本発明はかかる問題点に鑑みなされたものであり、８ビットを越えるビット数で表わされる原画像の符号化データをダイレクトに８ビットの画像データに変換する技術を提供しようとするものである。
【課題を解決するための手段】
【００２２】
この課題を解決するため、例えば本発明の画像復号装置は以下の構成を備える。すなわち、
１画素がｉビット（ｉ≧８）で表わされる原画像データを周波数変換、量子化処理、及び、エントロピー符号化を行なって符号化された符号化画像データを、１画素がｉビットで表わされる画像データに復号する画像復号装置であって、
前記符号化画像データのヘッダ情報を抽出し解析する解析手段と、
該解析手段の解析により、量子化処理で用いた量子化テーブルを抽出する抽出手段と、
前記解析手段の解析により、前記ビット数ｉを取得するビット数取得手段と、
該ビット数取得手段で取得されたビット数ｉに基づいて、前記抽出手段で抽出された量子化テーブルの量子化係数をスケーリングするスケーリング手段と、
前記符号化データを逆エントロピー復号して量子化値を算出し、当該算出された量子化値を前記スケーリング手段でスケーリングされた量子化テーブルを用いて逆量子化して周波数変換係数を算出し、当該周波数変換係数に対して逆周波数変換を行って画像データに復元する復号手段とを備える。
【発明の効果】
【００２３】
本発明によれば、符号化時に用いた量子化テーブルをスケーリングした量子化テーブルで逆量子化処理することにより、８ビットを越えるビット数、例えば１２ビット画像を圧縮符号化した符号化データから直接的に８ビット画像に復号することが可能になる。この結果、一旦１２ビット画像に復号した後、８ビット画像に変換する必要もない。
【発明を実施するための最良の形態】
【００２４】
以下添付図面に従って本発明に係る実施形態を詳細に説明する。
【００２５】
＜第１の実施形態＞
第１の実施形態では、拡張ＪＰＥＧで符号化された１２ビット画像をダイレクトに８ビット画像として復号する。そのため、スケーリングした量子化テーブルとして、符号化時に用いた量子化テーブルを１６で除算し、整数に丸めたテーブルを用いることを特徴とする。
【００２６】
図２は本第１の実施形態の復号処理のブロック図を表している。
【００２７】
同図において、２０１はベースラインＪＰＥＧまたは拡張ＪＰＥＧ符号による符号化データである。この符号化データは、イメージスキャナやデジタルカメラから入力するものでも良いし、記憶媒体に格納された画像データファイルとしても構わない。
【００２８】
２０３はヘッダ解析部、２０４はオフセット加算部、２０５はビットシフト部である。２０７は量子化テーブル格納部、２０９はハフマン復号部、２１１は逆量子化部、２１３は逆ＤＣＴ変換部、２１５は色変換部、２１７はレベルクリップ部、２２１は復号化した各色８ビットのカラー画像データである。
【００２９】
ヘッダ解析部２０３は、ＪＰＥＧ符号化データ２０１のヘッダ情報を解析して、該ヘッダ中のフレーム開始マーカ（ＳＯＦ１マーカ）から、この符号化データ２０１が拡張ＪＰＥＧ符号であるかどうかを特定する。また、ヘッダ解析部２０３は、ヘッダ中に記述されている量子化ステップ情報を抽出する。
【００３０】
ヘッダ解析部２０３が符号化データ２０１が拡張ＪＰＥＧであり、１２ビット画像であると判定した場合、符号化処理で使用した量子化テーブルを１６（＝２4）で除算して整数化する。この整数化された量子化テーブルをスケーリングし、逆量子化処理で使用する。このために、オフセット加算部２０４にて前記量子化ステップ値に丸め処理用のオフセットとして“８”を加算し、該加算結果を１６で割るために、ビットシフト部２０５にて４ビット右シフトしてから、量子化テーブル格納部２０７に格納する。
【００３１】
シフトするビット数は復号画像のビット数と符号化前の画像のビット数によって決まるため、符号化前の画像のビット数をヘッダ解析部２０３で抽出し、ビットシフト部２０５に送る。
【００３２】
一方、フレーム開始マーカがベースラインＪＰＥＧを表わす“ＳＯＦ０”マーカであった場合、従来の処理方法で８ビット画像を復号できるので、量子化テーブル情報中の量子化ステップ値を一切変更せずに、そのまま量子化テーブル格納部２０７に格納する。この場合、図１の構成は、ベースラインＪＰＥＧ用の復号装置と同様の構成になるので、その説明は省略する。以下は、１２ビット画像データを復号する場合の説明である。
【００３３】
ＪＰＥＧ符号化データ２０１の中のハフマン符号化されたコードは、ハフマン復号部２０９にて復号され、復号されたＤＣＴ係数量子化値は逆量子化部２１１に送られる。
【００３４】
逆量子化部２１１は、このＤＣＴ係数量子化値に量子化テーブル格納部２０７から読み出した量子化ステップ値を乗算し、ＤＣＴ係数に戻して、逆ＤＣＴ変換部２１３へ送る。
【００３５】
拡張ＪＰＥＧ符号を復号する場合、該ＤＣＴ係数は従来の方法で処理した時のおよそ１／１６倍になっている。逆ＤＣＴ変換は線形変換であるため、ＤＣＴ係数が１／１６倍になっていれば、逆ＤＣＴ変換後の実空間データも１／１６倍になり、８ビットレンジの画像データになる。
【００３６】
ベースラインＪＰＥＧ符号を復号する場合は、従来の方法で処理した時と同じ８ビットレンジの画像データになる。
【００３７】
逆ＤＣＴ変換部２１３から色変換部２１５へ転送するデータが、８ビットレンジに収まるので、色変換部２１５では、先に示した式（１）において、ｋ＝１２８という値で、輝度と色差信号であるＹＣｂＣｒから３原色であるＲＧＢへの変換を行う。
【００３８】
以上の処理によって、１２ビット画像を符号化した拡張ＪＰＥＧコードは、１２ビットレンジの１／１６倍、すなわち、８ビットレンジの画像データとしてダイレクトに復号することが可能になる。
【００３９】
ここで、量子化ステップを整数に丸めるため、画像データのレンジは正確に１／１６倍にはならず、８ビットのレンジを超えることがある。しかし、従来の復号処理においても、量子化と逆量子化の組合せでＤＣＴ係数が大きくなることがあり、復号画像が８ビットのレンジを越えることがある。現象的にはそれと同じであるため、従来と同じ手法で対処できる。具体的には、広めのレンジで復号して最低レベルを０に、最高レベルを２５５にクリップすればよい。この処理は、レベルクリップ部２１７で行う。
【００４０】
上記第１の実施形態では、１２ビットの画像データを符号化したコードを８ビットの画像として復号する場合について示したが、符号化する画像データは１２ビットに限定されるものでは無く、復号する画像も８ビットに限定されない。
【００４１】
例えば、１０ビットの画像データを符号化して９ビットの画像データとして復号する場合にも適用できる。この場合、符号化で使った量子化テーブルを２で除算した量子化テーブルで逆量子化して復号処理する。
【００４２】
これまでの一般の復号装置には上述した仕組みが無い。そういった仕組みのない復号装置で上述の復号処理を行おうとした場合、変更した量子化テーブルをヘッダに書き戻し、ＳＯＦ１マーカをＳＯＦ０マーカに変更して、一般の復号装置に入力すればよい。マーカの変更は９〜１２ビットデータを符号化して、８ビットデータに復号する場合に行う。それ以外の場合はＳＯＦ１マーカのままでよい。
【００４３】
上記第１の実施形態の処理を、ソフトウェアで実現する場合には、基本的に図２に示す各処理部をコンピュータプログラムの関数や配列変数（量子化テーブル格納部２０７）として利用すればよい。
【００４４】
図５は第１の実施形態をソフトウェアでもって実現する場合の処理手順を示すフローチャートである。なお、同図において用いる各変数Ｑ０、Ｑ’、Ｑ”、及びｉは整数変数である点に注意されたい。すなわち、演算途中で小数点以下が発生しても、小数点以下は切り捨てられる。
【００４５】
先ず、ステップＳ１では符号化データ２０１のヘッダを解析する。そして、ステップＳ２において、解析結果に基づいて、符号化データ２０１の画像データの量子化テーブルＱ０（ＤＣＴは８×８画素を単位に処理するので、正確には、Ｑ０j,k（ｊ，ｋ＝０、１、…７）を得る。そして、ステップＳ３にて、符号化データの符号化前の画像データの各成分のビット数ｉを得る。
【００４６】
ステップＳ４では、量子化テーブルＱ０の各量子化係数に、オフセット値を加算し、一時的な量子化テーブルＱ’を得る。ここで、符号化時の画像データのビット数をｉ、復号画像のビット数をｎとすると、オフセット値は、２i-n-1（＝２i-n／２）で算出できる。なお、ビット数ｉとｎが共に“８”の場合、２-1＝０．５となるが、整数演算であるので無視されることになる。また、ｉ＝１２の場合、ｎ＝８の場合、２12-9＝８となり、先に説明したオフセット値“８”を得ることができる。
【００４７】
ステップＳ５では、一時的に量子化テーブルＱ’を「ｉ−８」ビットだけ下位方向にシフトし、量子化テーブルＱ”を得る。この結果、小数点以下の値が発生するが、それは無視する。
【００４８】
ステップＳ６では、算出された量子化テーブルＱ”を量子化テーブル格納部２０７に格納する。
【００４９】
上記の結果、量子化テーブル格納部２０７には復号処理で利用する量子化テーブルが格納される。従って、ステップＳ７においては、ベースラインＪＰＥＧ復号処理を実行すればよい。
【００５０】
＜第１の実施形態の変形＞
上記第１の実施形態では、符号化時に利用した量子化テーブルの値を“１６”で除算した量子化ステップを整数に丸めたが、本第１実施形態の変形では、整数に丸めず、１６で除算した実数の量子化ステップを用いる。
【００５１】
それを実現するには、逆量子化部で乗算する値を整数から実数に拡張する必要がある。（逆）ＤＣＴ変換部や（逆）色変換部では多くの演算を行うため、８ビットから１２ビットへ拡張すると、該変換部のハードウェア規模が大幅に増大するが、逆量子化部の実数量子化ステップ対応だけなら、わずかな規模の増加で済む。
【００５２】
この規模の増加は、１２ビット画像を符号化したコードをより正確な８ビット画像に復号するために必要なものと解釈できる。
【００５３】
図３に本実施形態の復号処理のブロック図を示し、上記第１の実施形態との違いについて説明する。
【００５４】
スケーリングした量子化テーブル整数化する必要がないので、丸め処理のためのオフセット加算部は不要である。ビットシフト部２０５で４ビット右シフトをするが、小数部の４ビットを含む実数の量子化ステップを出力し、該実数の量子化ステップを量子化テーブル格納部２０７に格納する。
【００５５】
逆量子化部２１１では、量子化テーブル格納部２０７から読み出す実数の量子化ステップを乗算する。よって、乗算するデータのビット数は小数部４ビット分増え、その分乗算器の規模が大きくなる。
【００５６】
一般的に、２次元ＤＣＴ変換は水平方向の変換処理と垂直方向の変換処理の２回で行い、その２回の変換を同一のハードウェアで処理する。１回目の変換入力データは基本的に整数であるが、２回目の変換の演算精度を上げるために、１回目の変換結果である実数データ（もしくは、小数部の最下位数ビットを丸めたデータ）を２回目の変換データとして入力する。ようするに、ＤＣＴ変換部としては、１回目の変換から実数データが入力できるような演算機能を有している。
【００５７】
その機能を利用して、前記逆量子化部から出力する実数データの整数部分を逆ＤＣＴ変換部２１３に出力して演算精度の高い変換処理を行う。
【００５８】
以上説明したことが、第１実施形態との違いである。上記実施形態では、スケーリングの比を１／１６としたが、８ビットレンジの最大値＝２５５と１２ビットレンジの最大値＝４０９５の比、すなわち、２５５／４０９５をスケーリングの比としてもよい。
【００５９】
＜第２の実施形態＞
前記第１の実施形態では、符号化されたコードが量子化テーブル情報をヘッダに持つ場合について説明した。
【００６０】
機器内で圧縮と伸張の両方を行うシステムなどでは、符号化データと量子化テーブル情報を別々に記憶保持する。そして、符号化する際に利用した量子化テーブルを特定する番号（この番号でベースラインＪＰＥＧ符号化、拡張ＪＰＥＧ符号化を区別する）を符号化データと共に記憶することが行われる。この場合、符号化時に使用した量子化テーブル番号を所定サイズの画像を符号化したコード単位で持ち、コードを外部へ出力する時に、量子化テーブル情報を付加して出力するといった形態が考えられる。
【００６１】
本第２の実施形態では、そのようなシステムにおける量子化テーブルのスケーリングと逆量子化処理について説明する。
【００６２】
簡単に言えば、符号化時に使用した量子化テーブル番号から量子化テーブル情報を取り出して、前記第１の実施形態のように該量子化テーブルにスケーリングを施して逆量子化処理に用いる。
【００６３】
図４を用いて第１実施形態との違いを説明する。
【００６４】
まず、コード情報に付加されたテーブル番号をテーブル番号抽出部３０１にて取り出し、それを、機器（システム）が持つ量子化テーブル情報部３０３に送り、該テーブル番号の量子化テーブルの全量子化ステップ情報を受け取る。
【００６５】
該量子化ステップに対し、符号化前の画像のビット数と復号する画像のビット数から決まるスケーリング処理をスケーリング部２０５にて行う。該スケーリング後の量子化ステップを量子化テーブル格納部２０７に格納し、逆量子化処理に用いる。
【００６６】
これ以外は先に説明した第１の実施形態と同様である。なお、スケーリング後の量子化テーブルが整数の場合と実数の場合とがあるが、前記実施形態と同様に、整数あるいは実数のテーブルを量子化テーブル格納部に保存し、逆量子化部にて量子化値に乗算すればよい。
【００６７】
＜第３の実施形態＞
同一シリーズ製品の間で圧縮したコードを送受信する場合は、機器内でのデータ情報の管理とほぼ同じ方法を用いることが可能である。すなわち、コードのヘッダに量子化テーブルを付加しなくても、テーブル番号情報がコードに付加してあればよい。
【００６８】
テーブル番号と量子化テーブルとの対応が一致している機器の間では、量子化テーブル情報を付加せずに、テーブル番号を付加したコードの送受信が可能である。
【００６９】
しかし、該コードの送信先の機器において、前記第２の実施形態で説明した機能が組み込まれていなければ、１２ビット画像を符号化したコードを８ビット画像に復号することができない。この場合、コードの送信元で復号時のテーブル番号を決める必要がある。
【００７０】
それを実現する１つの方法として、符号化時に使用した量子化テーブルを、符号化前の画像のビット数と復号する画像のビット数から決まる比率でスケーリングしたテーブルを用意する。そして、その比率に一番近い量子化テーブルを探し、該量子化テーブルの番号をコードに付加あるいは変更して、別の機器にコードを送信する。
【００７１】
機器が保持する量子化テーブルが決まり、符号化前の画像のビット数と復号する画像のビット数が判れば、復号時に求められる量子化テーブルは一意に決まる。従って、上記のように一番近いテーブルを毎回探す必要は無く、例えば１２ビット符号化時のテーブル番号と８ビット復号時のテーブル番号の対応表をあらかじめ用意しておき、それに基づいて、テーブル番号を変更してやればよい。
【００７２】
テーブル番号の対応表は、上記１２ビット符号化・８ビット復号時の対応表以外に、１２ビット符号化・１０ビット復号、１０ビット符号化・８ビット復号時の対応表など、必要となるものを保持する。
【００７３】
また、量子化テーブル番号を付け直したコードを同じ機器内で復号しても構わない。
【００７４】
以上実施形態を説明したが、本発明は先に示したようにコンピュータプログラムでもって実現しても良いのは明らかである。また、通常コンピュータプログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体に格納されていて、それをコンピュータにセットし、システムにコピーもしくはインストールすることで実行可能になる。従って、このようなコンピュータ可読記憶媒体も本発明の範疇にあるのは明らかである。
【図面の簡単な説明】
【００７５】
【図１】従来の復号装置のブロック構成図である。
【図２】第１実施形態における復号装置のブロック構成図である。
【図３】第１実施形態の変形例の復号装置のブロック構成図である。
【図４】第２の実施形態における復号装置のブロック構成図である。
【図５】第１の実施形態をコンピュータプログラムで実現する場合の処理手順を示すフローチャートである。
【図１】
0004756949.tif 000002
【図２】
0004756949.tif 000003
【図３】
0004756949.tif 000004
【図４】
0004756949.tif 000005
【図５】
0004756949.tif 000006