説明

プログレッシブJPEG復号化システム

【課題】 プログレッシブJPEG復号化システムを提供する。
【解決手段】 プログレッシブJPEGビットストリームを効率的に復号化するための装置および方法が発明される。本発明は、メモリ要求が最小限で、メモリ効率のよいプログレッシブJPEG復号化方法を提供する。特定の復号化走査のDCT係数を全て記憶する代わりに、DCT係数の一部、および残りのDCT係数の非ゼロ係数指標を、本来のデータフォーマットまたは圧縮されたフォーマットのいずれかで記憶する。プログレッシブJPEGピクチャを復号化するためのメモリ要求は、実際の用途における表示装置の解像度に従って、最小限にすることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログレッシブ圧縮画像の画像復元に関する。特に、本発明は、プログレッシブJPEGの復元方法に関する。
【背景技術】
【0002】
JPEG(Joint Photographic Experts Group)は、1987年に、JPEG「ISO 10918」として知られる静止画像グラフィックスフォーマットを導入したが、このフォーマットは、静止画像圧縮の主要なフォーマットとなった。これは、デジタルカメラなどの用途で普及しており、インターネットで広く用いられている。最も普通のJPEGは、不可逆圧縮アルゴリズム用いているが、これは、圧縮のときに、情報が画像から除去されることを意味している。JPEGによって、ピクチャ品質および対応ファイルサイズの両方で、はっきりした利点が提供される。
【0003】
JPEG標準は、多くの出版物で説明されている。たとえば(非特許文献1)。プログレッシブJPEGは、インターレースGIF(Graphics Interchange Format)と同等のJPEGである。プログレッシブJPEGは、JPEGの圧縮アルゴリズム一式を用いて作られる画像であって、全画像が完全に到着するまで、ラインの連続的なウェーブで、「フェードイン」する画像である(2001年7月10日、H.S.Stone(H.S.ストーン)の「プログレッシブJPEG複合化(Progressive JPEG decoding)」と題された(特許文献1)を参照されたい)。
【0004】
シンプルまたはベースラインJPEGファイルは、1つの、上から下までの画像の走査として記憶される。プログレッシブJPEGでは、ファイルは一連の走査に分割される。第1の走査は、非常に低品質の設定と同等の画像を示すので、ほとんどスペースをとらない。次に続く走査は、徐々に質を向上させる。各走査は、すでに提供されたデータに追加されるので、全記憶領域要求は、最終走査と同じ質のベースラインJPEG画像と、おおよそ同じである。ベースラインJPEGと比較すると、プログレッシブJPEGは、同じデータを、より複雑な順序に再配列するものである。
【0005】
プログレッシブJPEGの利点は次のことである。すなわち、画像の送信中にすぐに画像が見られる場合には、非常に素早く全体画像の概観を見て取ることができ、長く待つにつれて、質が徐々に改善するということである。これは、ゆっくりと画像を上から下まで表示するよりもはるかによい。
【0006】
プログレッシブJPEGファイルは、ベースラインのみのJPEG復号器では読み取りできず、プログレッシブJPEGビットストリームを復号するためには、追加動作を、ベースラインJPEG復号器に加えなければならない。
【特許文献1】米国特許第6,259,820号明細書
【非特許文献1】「JPEG静止画像圧縮標準(The JPEG still picture compression standars)」ウォーレス(Wallace)、消費者用電子機器に関するIEEE会報(IEEE Transactions on Consumer Electronics)、第34巻、第4号、1991年4月、30〜44ページ
【発明の開示】
【発明が解決しようとする課題】
【0007】
JPEG復号器における最も大きな問題の1つは、各復号化走査において中間的に復号化された情報を記憶するのに必要なメモリスペースが、ベースラインJPEG復号化で必要なスペースと比較して、非常に大きいということである。これは、全ての中間的に復号化されたDCT係数をメモリに記憶する必要があり、これらの係数が、次の走査で、ポイント変換方法を用いて更新されるからである。各DCT係数の精度は、通常、12ビットである。4:2:2フォーマットによる、1600×1200のプログレッシブJPEG符号化画像に対して、短整数を用いて各DCT係数を表すと想定する場合には、92,160,000ビットのメモリスペースが、フル解像度の復号化のためには必要とされる。このメモリ要求は、どれか埋め込まれたLSIシステムの物理的メモリサイズを超える可能性がある。メモリ容量を拡張すると、プログレッシブJPEG復号化システム用のシステムコストは、手が出せないほど高くなる。
【0008】
メモリサイズ構成の柔軟性が必要とされている。なぜなら、DVDプレーヤ/レコーダから携帯PDAにわたる、JPEG復号用の様々な装置が利用できるからである。異なる復号化システムには、異なるシステムスループットおよびメモリ構成がある。このフレキシブルメモリとスループットのトレードオフ復号化方法が、プログレッシブJPEG復号化システムにおいては望ましい。
【課題を解決するための手段】
【0009】
上記の問題を考慮し、本発明の目的は、メモリ効率のよいプログレッシブ復号器を提供することである。本発明においては、周波数マスク分類器を用いることによって、特定の復号化された走査におけるDCT係数を、2つの範疇、すなわち、最上位DCT係数および最下位DCT係数に分類する。最下位DCT係数は、メモリに直接には記憶されない。それらは2値化され、0係数かまたは非ゼロ係数かを示す0または1によって表される。最下位DCT係数の2値化されたビットマップおよび最上位DCT係数の実際の値が、メモリに記憶され、したがって、全体のメモリ要求は、著しく低減される。最上位DCT係数および最下位DCT係数のビットマップを圧縮し、圧縮されたデータを記憶する場合には、メモリ要求をさらに低減することができる。最上位DCT係数は、ピクチャ品質の向上のために各走査で更新され、最下位DCT係数のビットマップは、可変長復号化プロセス中に、ビットストリームポインタが、確実に、正しくシフトされるように更新される。
【0010】
一般に、プログレッシブJPEG復号化システムには、走査およびブロックパーサと、複数走査解像度向上手段と、周波数マスク手段と、2値化手段と、2進シーケンス圧縮手段と、係数圧縮手段と、メモリと、2進シーケンス復元手段と、係数復元手段と、可変長復号化手段と、逆量子化手段と、逆離散コサイン変換手段とが含まれる。
【0011】
ここで、上記の構成要素を含むプログレッシブ復号化システムの動作について説明する。プログレッシブJPEGビットストリームが、走査およびブロックパーサによって処理され、走査番号、訂正ビットおよびポイント変換パラメータを含む多数の復号化パラメータが抽出され、複数走査解像度向上手段に渡される。各走査のパースされたビットが、ランレングス復号化のために、可変長復号化手段に渡される。複数走査解像度向上手段は、走査番号、ポイント変換パラメータ、訂正ビット、復号化された値および前の走査の係数を受け取る。複数走査解像度向上手段は、走査番号、ポイント変換パラメータおよび訂正ビットを含む復号化された走査情報に従って、前の走査の係数、および前の走査の表示ビットマップを更新し、更新された係数および非ゼロ係数表示ビットを生成する。周波数マスク手段は、周波数領域にマスク領域を定義し、1つまたは複数の更新された係数を抽出して、マスク領域内係数を供給する。2値化手段は、更新された係数および非ゼロ係数表示ビットを変換し、それらを、0係数または表示ビットおよび非ゼロ係数または表示ビットに対して、それぞれ値「0」および「1」を用いて表し、表示ビットマップを供給する。2進シーケンス圧縮手段は、2進エントロピ符号化などの可逆符号化方法を用いて、表示ビットマップを圧縮し、表示ビットマップを表すのに使用するビット数を著しく低減し、圧縮された表示ビットマップを供給する。係数圧縮手段は、可逆または不可逆圧縮アルゴリズムのいずれかを用いて、マスク領域内係数を符号化し、圧縮された係数を生成する。メモリは、圧縮された表示ビットマップおよび圧縮された係数を、予め定義した位置に記憶し、その出力端子を通して、前の走査の圧縮された係数および前の走査の圧縮された表示ビットマップを供給する。2進シーケンス復元手段は、2進シーケンス圧縮手段の逆の処理を用いて、前の走査の圧縮された表示ビットマップを復号化し、前の走査の表示ビットマップを再構成する。係数復元手段は、係数圧縮手段において採用されている可逆および不可逆圧縮アルゴリズムの逆の処理を用いて、前の走査の圧縮された係数を復号化し、前の走査の係数を生成する。可変長復号化手段は、1つまたは複数のパースされたビットからコードワードを識別し、ハフマン符号化ルックアップテーブルおよび前の走査の表示ビットマップに従って、識別したコードワードを復号化し、復号化した値を供給する。逆量子化手段は、1つまたは複数の量子化スケールファクタを用いて、マスク領域内係数をスケーリングし、量子化された係数を供給する。逆離散コサイン変換手段は、マスク領域内の量子化された係数を取得し、マスク領域内の量子化された係数およびマスク領域外の「0」値を含むデータブロックにブロック変換を実行し、復号化されたピクチャを生成する。
【0012】
プログレッシブJPEG復号化システムの構成および動作を、「課題を解決するための手段」において簡単に説明したが、様々な変更および修正が当業者には明らかであることに、留意すべきである。このような変更および修正は、特許請求の範囲から逸脱するのでない限り、特許請求の範囲によって定義される本発明の範囲内に含まれるものとして理解すべきである。
【発明の効果】
【0013】
本発明は、最小限のメモリ要求で、プログレッシブJPEGビットストリームを復号化するための、メモリ効率のよい装置および方法を提供する。特定の復号化走査のDCT係数を全て記憶する代わりに、DCT係数の一部、および残りのDCT係数の非ゼロ係数指標を、本来のフォーマットかまたは圧縮されたフォーマットのいずれかで記憶する。様々なデータ記憶フォーマットによって、本発明を実現するシステムに、大きな実施上の柔軟性が提供される。本発明の主な利点は、プログレッシブJPEGピクチャを復号化するためのメモリ要求を、実際の用途における表示装置の解像度に応じて、最小限にできることである。
【発明を実施するための最良の形態】
【0014】
本発明の一実施形態を図1に示す。この装置を用いて、プログレッシブJPEGビットストリームを復号化する。この装置には、走査およびブロックパーサ0000、プログレッシブ画像復号化手段0010、ピクチャサイズ調整フィルタ0020、走査情報圧縮手段0030、メモリ0040および1つまたは複数の表示装置0050が含まれる。
【0015】
プログレッシブJPEGビットストリーム0001は、走査およびブロックパーサ0000によって処理され、走査番号0002、訂正ビット0003およびポイント変換パラメータ0004を含む多数の復号化パラメータが抽出され、プログレッシブ復号化手段0010に渡される。各走査のパースされたビット0005もまた、ランレングス復号化のために、プログレッシブ復号化手段0010に渡される。プログレッシブ復号化手段0010は、ランレングス復号化を行い、走査パラメータおよび圧縮された前の走査情報0041に基づいて、各走査の復号化された係数を更新する。各走査の走査情報0011は、走査情報圧縮手段0030を用いて圧縮され、圧縮された走査情報0042は、メモリ0040に記憶される。現在の復号化走査の走査情報0011は、次の走査における係数更新の有用な情報を含んでいる。復号化されたピクチャ0012を再スケーリングして、様々な表示装置0050で表示するように、異なるサイズの様々なスケーリングされたピクチャ0021を生成する。
【0016】
図1に示す実施形態の効果は、はるかに少ないメモリ要求で、プログレッシブJPEGビットストリームを復号化できるということである。限られたメモリ資源を備えた組み込みシステムに対する、プログレッシブJPEGピクチャ復号化のボトルネックが、このようにして除去される。図1に示す実施形態はまた、各走査で復号化された中間結果を完全にまたは部分的に圧縮することによって、走査情報を記憶するための様々な解決法を提供する。これによって、異なる複雑さおよびコスト要件を備えた様々なシステムのために本発明を実施するのに適した、実施の柔軟性が与えられる。
【0017】
図2aに示す別の実施形態によって、図1に示すプログレッシブ画像復号化システムの実現化について説明する。この実施形態には、走査およびブロックパーサ1000、複数走査解像度向上手段1050、周波数マスク手段1020、2値化手段1060、多重化手段1070、メモリ1090、多重分離手段1080、可変長復号化手段1010、逆量子化手段1030および逆離散コサイン変換手段1040が含まれる。
【0018】
この実施形態の動作をここで説明する。プログレッシブJPEGビットストリーム1001が、走査およびブロックパーサ1000によって処理され、走査番号1002、訂正ビット1004およびポイント変換パラメータ1005を含む多数の復号化パラメータが抽出され、複数走査解像度向上手段1050に渡される。各走査のパースされたビット1003が、ランレングス復号化のために可変長復号化手段1010に渡される。複数走査解像度向上手段1050が、走査番号1002、ポイント変換パラメータ1005、訂正ビット1004、復号化された値1011および前の走査の係数を受け取る。複数走査解像度向上手段1050は、走査番号1002、ポイント変換パラメータ1005および訂正ビット1004を含む復号化された走査情報に従って、前の走査の係数1051、および前の走査の非ゼロ係数表示ビット1012を更新し、更新された係数および非ゼロ係数表示ビット1052を生成する。周波数マスク手段1020は、周波数領域にマスク領域を定義し、1つまたは複数の更新された係数を抽出して、マスク領域内係数1022、およびマスク領域外係数または非ゼロ係数表示ビット1021を供給する。2値化手段1060は、マスク領域外係数または非ゼロ表示ビット1021を変換し、それらを、0係数または表示ビットおよび非ゼロ係数または表示ビットに対して、それぞれ値「0」および「1」を用いて表す。多重化手段1070は、マスク領域内係数1022、およびマスク領域外非ゼロ係数表示ビット1061を結合し再配列して、その出力端子を通して、多重化された係数および非ゼロ係数表示ビット1091を供給する。メモリ1090は、多重化された係数および非ゼロ係数表示ビット1091を記憶し、その出力端子を通して、前の走査の係数および非ゼロ係数表示ビット1092を供給する。多重分離手段1080は、前の走査の係数および非ゼロ係数表示ビット1092を分離し、その2つの出力端子を通して、前の走査の係数1051および前の走査の非ゼロ係数表示ビット1012を供給する。可変長復号化手段1010は、パースされたビット1003の1つまたは複数からコードワードを識別し、ハフマン符号化ルックアップテーブルおよび前の走査の非ゼロ係数表示ビット1012に従って、識別したコードワードを復号化し、復号化された値1011を供給する。逆量子化手段1030は、1つまたは複数の量子化スケールファクタを用いて、マスク領域内係数1022をスケーリングし、量子化された係数1031を供給する。逆離散コサイン変換手段1040は、マスク領域内の量子化された係数1031を取得し、マスク領域内の量子化された係数1031およびマスク領域外の「0」値を含むデータブロックにブロック変換を実行し、復号化されたピクチャ1041を生成する。
【0019】
図2bに示す別の実施形態では、図2b〜7に示す周波数マスク手段の実現化について説明している。
【0020】
この実施形態の動作をここで説明する。周波数マスク手段1020は、各ブロックの周波数領域におけるマスク領域を定義する。1つまたは複数の更新された係数が、マスク領域内係数1022を供給するために抽出される。
【0021】
図3に示す別の実施形態によって、図1に示すプログレッシブ画像復号化システムの別の実現化について説明する。この実施形態には、走査およびブロックパーサ2000、複数走査解像度向上手段2050、周波数マスク手段2020、2値化手段2060、2進シーケンス圧縮手段2100、多重化手段2070、メモリ2090、多重分離手段2080、2進シーケンス復元手段2110、可変長復号化手段2010、逆量子化手段2030および逆離散コサイン変換手段2040が含まれる。
【0022】
この実施形態の動作をここで説明する。プログレッシブJPEGビットストリーム2001が、走査およびブロックパーサ2000によって処理され、走査番号2002、訂正ビット2004およびポイント変換パラメータ2005を含む多数の復号化パラメータが抽出され、複数走査解像度向上手段2050に渡される。各走査のパースされたビット2003が、ランレングス復号化のために可変長復号化手段2010に渡される。複数走査解像度向上手段2050が、走査番号2002、ポイント変換パラメータ2005、訂正ビット2004、復号化された値2011および前の走査の係数を受け取る。複数走査解像度向上手段2050は、走査番号2002、ポイント変換パラメータ2005および訂正ビット2004を含む復号化された走査情報に従って、前の走査の係数2051、および前の走査の非ゼロ係数表示ビット2012を更新し、更新された係数および非ゼロ係数表示ビット2052を生成する。周波数マスク手段2020は、周波数領域にマスク領域を定義し、1つまたは複数の更新された係数を抽出して、マスク領域内係数2022、およびマスク領域外係数または非ゼロ係数表示ビット2021を供給する。2値化手段2060は、マスク領域外係数または非ゼロ表示ビット2021を変換し、それらを、0係数または表示ビットおよび非ゼロ係数または表示ビットに対して、それぞれ値「0」および「1」を用いて表す。2進シーケンス圧縮手段2100は、2進エントロピ符号化などの可逆符号化方法を用いて、マスク領域外非ゼロ係数表示ビット2061を圧縮し、マスク領域外非ゼロ係数表示ビット2061を表すのに使用するビット数を著しく減少し、圧縮された表示ビット2101を供給する。多重化手段2070は、マスク領域内係数2022、および圧縮された表示ビット2101を結合して再配列し、その出力端子を通して、多重化された係数および圧縮された表示ビット2091を供給する。メモリ2090は、多重化された係数および圧縮された表示ビット2091を記憶し、その出力端子を通して、前の走査の係数および圧縮された表示ビット2092を供給する。多重分離手段2080は、前の走査の係数および圧縮された表示ビット2092を分離し、その2つの出力端子を通して、前の走査の係数2051および前の走査の圧縮された表示ビット2111を供給する。2進シーケンス復元手段2110は、2進シーケンス圧縮手段2100の逆の処理を用いて、前の走査の圧縮された表示ビット2111を復号化し、前の走査の非ゼロ係数表示ビット2012を再構成する。可変長復号化手段2010は、パースされたビット2003の1つまたは複数からコードワードを識別し、ハフマン符号化ルックアップテーブルおよび前の走査の非ゼロ係数表示ビット2012に従って、識別したコードワードを復号化し、復号化された値2011を供給する。逆量子化手段2030は、1つまたは複数の量子化スケールファクタを用いて、マスク領域内係数2022をスケーリングし、量子化された係数2031を供給する。逆離散コサイン変換手段2040は、マスク領域内の量子化された係数2031を取得し、マスク領域内の量子化された係数2031およびマスク領域外の「0」値を含むデータブロックにブロック変換を実行し、復号化されたピクチャ2041を生成する。
【0023】
図4に示す別の実施形態によって、図1に示すプログレッシブ画像復号化システムの別の実現化について説明する。この実施形態には、走査およびブロックパーサ3000、複数走査解像度向上手段3050、周波数マスク手段3020、2値化手段3060、2進シーケンス圧縮手段3100、係数圧縮手段3110、多重化手段3070、メモリ3090、多重分離手段3080、2進シーケンス復元手段3120、係数復元手段3130、可変長復号化手段3010、逆量子化手段3030および逆離散コサイン変換手段3040が含まれる。
【0024】
この実施形態の動作をここで説明する。プログレッシブJPEGビットストリーム3001が、走査およびブロックパーサ3000によって処理され、走査番号3002、訂正ビット3004およびポイント変換パラメータ3005を含む多数の復号化パラメータが抽出され、複数走査解像度向上手段3050に渡される。各走査のパースされたビット3003は、ランレングス復号化のために可変長復号化手段3010に渡される。複数走査解像度向上手段3050が、走査番号3002、ポイント変換パラメータ3005、訂正ビット3004、復号化された値3011および前の走査の係数を受け取る。複数走査解像度向上手段3050は、走査番号3002、ポイント変換パラメータ3005および訂正ビット3004を含む復号化された走査情報に従って、前の走査の係数3051、および前の走査の非ゼロ係数表示ビット3012を更新し、更新された係数および非ゼロ係数表示ビット3052を生成する。周波数マスク手段3020は、周波数領域にマスク領域を定義し、1つまたは複数の更新された係数を抽出して、マスク領域内係数3022、およびマスク領域外係数または非ゼロ係数表示ビット3021を供給する。2値化手段3060は、マスク領域外係数または非ゼロ表示ビット3021を変換し、それらを、0係数または表示ビットおよび非ゼロ係数または表示ビットに対して、それぞれ値「0」および「1」を用いて表す。2進シーケンス圧縮手段3100は、2進エントロピ符号化などの可逆符号化方法を用いて、マスク領域外非ゼロ係数表示ビット3061を圧縮し、マスク領域外非ゼロ係数表示ビット3061を表すのに使用するビット数を著しく低減し、圧縮された表示ビット3101を供給する。係数圧縮手段3110は、可逆または不可逆圧縮アルゴリズムのいずれかを用いて、マスク領域内係数3022を符号化し、圧縮された係数3111を生成する。多重化手段3070は、圧縮された係数3111、および圧縮された表示ビット3101を結合して再配列し、その出力端子を通して、圧縮された係数および表示ビット3091を供給する。メモリ3090は、圧縮された係数および表示ビット3091を記憶し、その出力端子を通して、前の走査の圧縮された係数および表示ビット3092を供給する。多重分離手段3080は、前の走査の圧縮された係数および表示ビット3092を分離し、その2つの出力端子を通して、前の走査の係数3051および前の走査の圧縮された表示ビット3121を供給する。2進シーケンス復元手段3120は、2進シーケンス圧縮手段3100の逆の処理を用いて、前の走査の圧縮された表示ビット3121を復号化し、前の走査の非ゼロ係数表示ビット3012を再構成する。係数復元手段3130は、係数圧縮手段3110において採用されている可逆および不可逆圧縮アルゴリズムの逆処理を用いて、前の走査の圧縮された係数3131を復号化し、前の走査の係数3051を生成する。可変長復号化手段3010は、パースされたビット3003の1つまたは複数からコードワードを識別し、ハフマン符号化ルックアップテーブルおよび前の走査の非ゼロ係数表示ビット3012に従って、識別したコードワードを復号化し、復号化された値3011を供給する。逆量子化手段3030は、1つまたは複数の量子化スケールファクタを用いて、マスク領域内係数3022をスケーリングし、量子化された係数3031を供給する。逆離散コサイン変換手段3040は、マスク領域内の量子化された係数3031を取得し、マスク領域内の量子化された係数3031およびマスク領域外の「0」値を含むデータブロックにブロック変換を実行し、復号化されたピクチャ3041を生成する。
【0025】
図2a〜図4に示す実施形態によって、様々なメモリ容量構成でのプログレッシブJPEG復号化が、多様で柔軟に実現される。これらの実施形態における効果の1つは、表示装置によって規定される固定された解像度でプログレッシブJPEGを復号化するのに必要なメモリが、フルサイズのプログレッシブJPEG復号化に必要とされるメモリよりも、はるかに少ないということである。これらの実施形態の別の効果は、表示解像度が固定されているときでも、メモリ要求を様々な方法で構成でき、復号化の大きな柔軟性が与えられることである。たとえば、復号化システムが、小さなメモリ容量で、非常に高い周波数で動作する場合には、図4に示す実施形態が、図2aおよび図3に示す実施形態に比較して、よりよい解決法を提供する。しかしながら、復号化システムが、非常に低い周波数で動作するか、または低い復号化スループットで設計されているが、そのメモリ容量が大きい場合には、図2aの実施形態が、図3および図4に示す実施形態に比較してより適している。
【0026】
図5に示す別の実施形態によって、図1に示すプログレッシブ画像復号化システムの別の実現化について説明する。この実施形態には、走査およびブロックパーサ4000、複数走査解像度向上手段4050、周波数マスク手段4020、2値化手段4060、メモリ4070、可変長復号化手段4010、逆量子化手段4030および逆離散コサイン変換手段4040が含まれる。
【0027】
この実施形態の動作をここで説明する。プログレッシブJPEGビットストリーム4001が、走査およびブロックパーサ4000によって処理され、走査番号4002、訂正ビット4004およびポイント変換パラメータ4005を含む多数の復号化パラメータが抽出され、複数走査解像度向上手段4050に渡される。各走査のパースされたビット4003は、ランレングス復号化のために可変長復号化手段4010に渡される。複数走査解像度向上手段4050が、走査番号4002、ポイント変換パラメータ4005、訂正ビット4004、復号化された値4011および前の走査の係数を受け取る。複数走査解像度向上手段4050は、走査番号4002、ポイント変換パラメータ4005および訂正ビット4004を含む復号化された走査情報に従って、前の走査の係数4051、および前の走査の表示ビットマップ4071を更新し、更新された係数および非ゼロ係数表示ビット4052を生成する。周波数マスク手段4020は、周波数領域にマスク領域を定義し、1つまたは複数の更新された係数を抽出して、マスク領域内係数4073を供給する。2値化手段4060は、更新された係数および非ゼロ係数表示ビット4052を変換し、それらを、0係数または表示ビットおよび非ゼロ係数または表示ビットに対して、それぞれ値「0」および「1」を用いて表し、表示ビットマップ4072を供給する。メモリ4070は、表示ビットマップ4072およびマスク領域内係数4073を、予め定義した位置に記憶し、その出力端子を通して、前の走査の係数4051および前の走査の表示ビットマップ4071を供給する。可変長復号化手段4010は、パースされたビット4003の1つまたは複数からコードワードを識別し、ハフマン符号化ルックアップテーブルおよび前の走査の表示ビットマップ4071に従って、識別したコードワードを復号化し、復号化された値4011を供給する。逆量子化手段4030は、1つまたは複数の量子化スケールファクタを用いて、マスク領域内係数4073をスケーリングし、量子化された係数4031を供給する。逆離散コサイン変換手段4040は、マスク領域内の量子化された係数4031を取得し、マスク領域内の量子化された係数4031およびマスク領域外の「0」値を含むデータブロックにブロック変換を実行し、復号化されたピクチャ4041を生成する。
【0028】
図6に示す別の実施形態によって、図1に示すプログレッシブ画像復号化システムの別の実現化について説明する。この実施形態には、走査およびブロックパーサ5000、複数走査解像度向上手段5050、周波数マスク手段5020、2値化手段5060、2進シーケンス圧縮手段5080、メモリ5070、2進シーケンス復元手段5090、可変長復号化手段5010、逆量子化手段5030および逆離散コサイン変換手段5040が含まれる。
【0029】
この実施形態の動作をここで説明する。プログレッシブJPEGビットストリーム5001が、走査およびブロックパーサ5000によって処理され、走査番号5002、訂正ビット5004およびポイント変換パラメータ5005を含む多数の復号化パラメータが抽出され、複数走査解像度向上手段5050に渡される。各走査のパースされたビット5003は、ランレングス復号化のために可変長復号化手段5010に渡される。複数走査解像度向上手段5050が、走査番号5002、ポイント変換パラメータ5005、訂正ビット5004、復号化された値5011および前の走査の係数を受け取る。複数走査解像度向上手段5050は、走査番号5002、ポイント変換パラメータ5005および訂正ビット5004を含む復号化された走査情報に従って、前の走査の係数5051、および前の走査の表示ビットマップ5071を更新し、更新された係数および非ゼロ係数表示ビット5052を生成する。周波数マスク手段5020は、周波数領域にマスク領域を定義し、1つまたは複数の更新された係数を抽出して、マスク領域内係数5073を供給する。2値化手段5060は、更新された係数および非ゼロ係数表示ビット5052を変換し、それらを、0係数または表示ビットおよび非ゼロ係数または表示ビットに対して、それぞれ値「0」および「1」を用いて表し、表示ビットマップ5081を供給する。2進シーケンス圧縮手段5080は、2進エントロピ符号化などの可逆符号化方法を用いて、表示ビットマップ5081を圧縮し、表示ビットマップ5081を表すのに使用するビット数を著しく低減し、圧縮された表示ビットマップ5072を供給する。メモリ5070は、圧縮された表示ビットマップ5072およびマスク領域内係数5073を、予め定義した位置に記憶し、その出力端子を通して、前の走査の係数5051および前の走査の圧縮された表示ビットマップ5071を供給する。2進シーケンス復元手段5090は、2進シーケンス圧縮手段5080の逆の処理を用いて、前の走査の圧縮された表示ビットマップ5071を復号化し、前の走査の表示ビットマップ5091を再構成する。可変長復号化手段5010は、パースされたビット5003の1つまたは複数からコードワードを識別し、ハフマン符号化ルックアップテーブルおよび前の走査の表示ビットマップ5091に従って、識別したコードワードを復号化し、復号化された値5011を供給する。逆量子化手段5030は、1つまたは複数の量子化スケールファクタを用いて、マスク領域内係数5073をスケーリングし、量子化された係数5031を供給する。逆離散コサイン変換手段5040は、マスク領域内の量子化された係数5031を取得し、マスク領域内の量子化された係数5031およびマスク領域外の「0」値を含むデータブロックにブロック変換を実行し、復号化されたピクチャ5041を生成する。
【0030】
図7に示す別の実施形態によって、図1に示すプログレッシブ画像復号化システムの別の実現化について説明する。この実施形態には、走査およびブロックパーサ6000、複数走査解像度向上手段6050、周波数マスク手段6020、2値化手段6060、2進シーケンス圧縮手段6080、係数圧縮手段6100、メモリ6070、2進シーケンス復元手段6090、係数復元手段6110、可変長復号化手段6010、逆量子化手段6030および逆離散コサイン変換手段6040が含まれる。
【0031】
この実施形態の動作をここで説明する。プログレッシブJPEGビットストリーム6001が、走査およびブロックパーサ6000によって処理され、走査番号6002、訂正ビット6004およびポイント変換パラメータ6005を含む多数の復号化パラメータが抽出され、複数走査解像度向上手段6050に渡される。各走査のパースされたビット6003が、ランレングス復号化のために可変長復号化手段6010に渡される。複数走査解像度向上手段6050が、走査番号6002、ポイント変換パラメータ6005、訂正ビット6004、復号化された値6011および前の走査の係数を受け取る。複数走査解像度向上手段6050は、走査番号6002、ポイント変換パラメータ6005および訂正ビット6004を含む復号化された走査情報に従って、前の走査の係数6051、および前の走査の表示ビットマップ6071を更新し、更新された係数および非ゼロ係数表示ビット6052を生成する。周波数マスク手段6020は、周波数領域にマスク領域を定義し、1つまたは複数の更新された係数を抽出して、マスク領域内係数6021を供給する。2値化手段6060は、更新された係数および非ゼロ係数表示ビット6052を変換し、それらを、0係数または表示ビットおよび非ゼロ係数または表示ビットに対して、それぞれ値「0」および「1」を用いて表し、表示ビットマップ6081を供給する。2進シーケンス圧縮手段6080は、2進エントロピ符号化などの可逆符号化方法を用いて、表示ビットマップ6081を圧縮し、表示ビットマップ6081を表すのに使用するビット数を著しく低減し、圧縮された表示ビットマップ6072を供給する。係数圧縮手段6100は、可逆または不可逆圧縮アルゴリズムのいずれかを用いて、マスク領域内係数6021を符号化し、圧縮された係数6073を生成する。メモリ6070は、圧縮された表示ビットマップ6072および圧縮された係数6073を、予め定義した位置に記憶し、その出力端子を通して、前の走査の圧縮された係数6074および前の走査の圧縮された表示ビットマップ6071を供給する。2進シーケンス復元手段6090は、2進シーケンス圧縮手段6080の逆の処理を用いて、前の走査の圧縮された表示ビットマップ6071を復号化し、前の走査の表示ビットマップ6091を再構成する。係数復元手段6110は、係数圧縮手段6100において採用されている可逆および不可逆圧縮アルゴリズムの逆の処理を用いて、前の走査の圧縮された係数6074を復号化し、前の走査の係数6051を生成する。可変長復号化手段6010は、パースされたビット6003の1つまたは複数からコードワードを識別し、ハフマン符号化ルックアップテーブルおよび前の走査の表示ビットマップ6091に従って、識別したコードワードを復号化し、復号化された値6011を供給する。逆量子化手段6030は、1つまたは複数の量子化スケールファクタを用いて、マスク領域内係数6021をスケーリングし、量子化された係数6031を供給する。逆離散コサイン変換手段6040は、マスク領域内の量子化された係数6031を取得し、マスク領域内の量子化された係数6031およびマスク領域外の「0」値を含むデータブロックにブロック変換を実行し、復号化されたピクチャ6041を生成する。
【0032】
図5〜図7に示す実施形態は、次のことを除いて、図2a〜図4に示す実施形態と同様である。すなわち、図5〜図7に示す実施形態では、マスク領域内の圧縮されたかまたは圧縮されていない係数、およびあらゆる全体ブロックの圧縮されたかまたは圧縮されていないビットマップがメモリに記憶されるが、一方、図2a〜図4に示す実施形態では、マスク領域内の圧縮されたかまたは圧縮されていない係数、およびマスク領域外の圧縮されたかまたは圧縮されていない表示ビットが、メモリに記憶されることである。図5〜図7に示す実施形態は、メモリアクセスの簡単なアドレス指定手段を提供し、一方で、図2a〜図4に示す実施形態は、より複雑なメモリアドレス指定手段を必要とするが、メモリスペースは小さい。このように、図5〜図7に示す実施形態によって、メモリアドレス指定の容易さと、各走査の中間的な、復号化された結果を記憶するためのメモリサイズとの間のトレードオフの点で、実現化の柔軟性に、別の次元が提供される。
【0033】
図8に示す実施形態によって、図2a〜図7に示す可変長復号化手段1010、2010、3010、4010、5010および6010の実現化について説明する。この実施形態には、ゼロビットカウンタ7000、ビットストリームバッファ7010およびコードワード復号化手段7020が含まれる。
【0034】
この実施形態の動作をここで説明する。ゼロビットカウンタ7000は、前の走査の非ゼロ係数表示ビットまたは前の走査の表示ビットマップ7001、および復号化されたゼロラン7003を使用し、ビットストリームバッファシフト制御7002を生成するが、このビットストリームバッファシフト制御7002は、次の有効なコードワードの開始に向けて、ビットストリームバッファ7010にパースされたビットを配置するために使用する。ビットストリームバッファ7010は、1つまたは複数のパースされたビット7011を受け取って記憶し、ビットストリームバッファシフト制御7002に従って、パースされたビット7011をシフトして有効なコードワード7012を形成し、その出力端子を通して、コードワード7012を出力する。コードワード復号化手段7020は、予め定義または予めダウンロードしたハフマン復号化テーブルに従ってコードワード7012を復号化し、その2つの出力端子を通して、復号化されたゼロラン7003および復号化された値7021を発生する。
【0035】
図9に示す別の実施形態によって、図2a〜図7に示す複数走査解像度向上手段1050、2050、3050、4050、5050および6050の実現化について説明する。この実施形態には、走査近似手段8000およびスイッチ8010が含まれる。
【0036】
この実施形態の動作をここで説明する。走査近似手段8000は、訂正ビット8006およびポイント変換パラメータ8004を用いてポイント変換を実行すること、および前の走査の非ゼロ係数表示ビットまたは前の走査の表示ビットマップ8007を更新することによって、前の走査の係数8002を向上させ、更新された係数および表示ビット8005を供給する。スイッチ8010は、走査番号8011が第1の走査を示すときには、復号化された値8001を選択し、走査番号8011が次の復号化走査を示すときには、更新された係数および表示ビット8005を選択し、更新された係数および非ゼロ係数表示ビット8012を供給する。
【0037】
図10に示す実施形態によって、図9に示す走査近似手段8000の実現化について説明する。この実施形態には、ポイント変換手段9000、セレクタ9010、表示ビット更新手段9020および多重化手段9030が含まれる。
【0038】
この実施形態の動作をここで説明する。表示ビット更新手段9020は、マスク領域外係数に関して、有効な復号化された値9021が非ゼロの場合には、ゼロ係数表示ビットを「0」から「1」に更新し、有効な復号化された値9021がゼロの場合には、ゼロ係数表示ビットを「0」に保つ。ポイント変換手段9000は、ポイント変換パラメータ9002によって指定された複数のビット数のうちの1つだけ、訂正ビット9001をシフトすることによって、ポイント変換された値9003を生成する。セレクタ9010は、前の走査の非ゼロ係数表示ビットまたは前の走査の表示ビットマップ9011が「0」を受け取るときには復号化された値9021を選択すること、および前の走査の非ゼロ係数表示ビットまたは前の走査の表示ビットマップ9011が「1」を受け取るときにはポイント変換された値9003を選択することによって、選択された値9012を生成する。加算手段9040は、選択された値9012および前の走査の係数9041を合計し、更新された係数9031を生成する。多重化手段9030は、更新された表示ビット9032および更新された係数9031を結合し、更新された係数および表示ビット9033を供給する。
【0039】
図8〜図10に示す実施形態は、本発明を効率的に実現するために必要な構成要素である。これらの実施形態は、図2a〜図7に示す本発明の様々な実現化において使用できる。
【産業上の利用可能性】
【0040】
本発明は、プログレッシブJPEG復号化システムに利用可能である。
【図面の簡単な説明】
【0041】
【図1】効率的なプログレッシブJPEGピクチャ復号化システムの実現化を示すブロック図。
【図2a】効率的なプログレッシブJPEGピクチャ復号化方式1のための装置を示すブロック図。
【図2b】効率的なプログレッシブJPEG復号化のための周波数マスク手段を示すブロック図。
【図3】効率的なプログレッシブJPEGピクチャ復号化方式2のための装置を示すブロック図。
【図4】効率的なプログレッシブJPEGピクチャ復号化方式3のための装置を示すブロック図。
【図5】効率的なプログレッシブJPEGピクチャ復号化方式4のための装置を示すブロック図。
【図6】効率的なプログレッシブJPEGピクチャ復号化方式5のための装置を示すブロック図。
【図7】効率的なプログレッシブJPEGピクチャ復号化方式6のための装置を示すブロック図。
【図8】プログレッシブJPEG復号化のための可変長復号化手段を示すブロック図。
【図9】プログレッシブJPEG復号化のための複数走査解像度向上手段を示すブロック図。
【図10】プログレッシブJPEG復号化のための走査近似手段を示すブロック図。
【符号の説明】
【0042】
0000 走査およびブロックパーサ
0010 プログレッシブ画像復号化手段
0020 ピクチャサイズ調節フィルタ
0030 走査情報圧縮手段
0040 メモリ
0050 1つまたは複数の表示装置
1000 走査およびブロックパーサ
1010 可変長復号化手段
1020 周波数マスク手段
1030 逆量子化手段
1040 逆離散コサイン変換手段
1050 複数走査解像度向上手段
1060 2値化手段
1070 多重化手段
1080 多重分離手段
1090 メモリ
2000 走査およびブロックパーサ
2010 可変長復号化手段
2020 周波数マスク手段
2030 逆量子化手段
2040 逆離散コサイン変換手段
2050 複数走査解像度向上手段
2060 2値化手段
2070 多重化手段
2080 多重分離手段
2090 メモリ
2100 2進シーケンス圧縮手段
2110 2進シーケンス復元手段
3000 走査およびブロックパーサ
3010 可変長復号化手段
3020 周波数マスク手段
3030 逆量子化手段
3040 逆離散コサイン変換手段
3050 複数走査解像度向上手段
3060 2値化手段
3070 多重化手段
3080 多重分離手段
3090 メモリ
3100 2進シーケンス圧縮手段
3110 係数圧縮手段
3120 2進シーケンス復元手段
3130 係数復元手段
4000 走査およびブロックパーサ
4010 可変長復号化手段
4020 周波数マスク手段
4030 逆量子化手段
4040 逆離散コサイン変換手段
4050 複数走査解像度向上手段
4060 2値化手段
4070 メモリ
5000 走査およびブロックパーサ
5010 可変長復号化手段
5020 周波数マスク手段
5030 逆量子化手段
5040 逆離散コサイン変換手段
5050 複数走査解像度向上手段
5060 2値化手段
5070 メモリ
5080 2進シーケンス圧縮手段
5090 2進シーケンス復元手段
6000 走査およびブロックパーサ
6010 可変長復号化手段
6020 周波数マスク手段
6030 逆量子化手段
6040 逆離散コサイン変換手段
6050 複数走査解像度向上手段
6060 2値化手段
6070 メモリ
6080 2進シーケンス圧縮手段
6090 2進シーケンス復元手段
6100 係数圧縮手段
6110 係数復元手段
7000 ゼロビットカウンタ
7010 ビットストリームバッファ
7020 コードワード復号化手段
8000 走査近似手段
8010 スイッチ
9000 ポイント変換手段
9010 セレクタ
9020 表示ビット更新手段
9030 多重化手段
9040 加算手段

【特許請求の範囲】
【請求項1】
プログレッシブJPEG画像ビットストリームを復号化するための装置であって、
ビットストリームを受け取るための入力端子と、4つの出力端子とを有する走査およびブロックパーサであって、前記ビットストリームからパラメータをパースし、前記4つの出力端子を通して、走査番号と、訂正ビットと、ポイント変換パラメータとを供給する走査およびブロックパーサと、
前記走査番号を受け取るための第1の入力端子と、前記訂正ビットを受け取るための第2の入力端子と、前記ポイント変換パラメータを受け取るための第3の入力端子と、前記パースされたビットを受け取るための第4の入力端子と、圧縮された前の走査情報を受け取るための第5の入力端子と、2つの出力端子とを有するプログレッシブ画像復号化手段であって、前記パースされたビットを復号化し、前記走査番号と、前記訂正ビットと、前記ポイント変換パラメータとに基づいて前記圧縮された前の走査情報を更新し、復号化されたピクチャを供給するプログレッシブ画像復号化手段と、
前記走査情報を受け取るための入力端子と、出力端子とを有する走査情報圧縮手段であって、2進またはグレースケールデータ圧縮技法を用いて前記走査情報を圧縮し、圧縮された走査情報を生成する走査情報圧縮手段と、
前記圧縮された走査情報を受け取るための入力端子と、出力端子とを有するメモリであって、前記圧縮された走査情報を記憶し、前記出力端子を通して、圧縮された前の走査情報を供給するためのメモリと、
復号化されたピクチャを受け取るための入力端子と、出力端子とを有するピクチャサイズ調節フィルタであって、前記復号化されたピクチャのサイズをスケーリングし、様々な解像度の表示装置で表示するために、スケーリングされたピクチャを供給するピクチャサイズ調節フィルタと、
前記スケーリングされたピクチャを受け取り、前記スケーリングされたピクチャを表示するための、1つまたは複数の表示装置と、
を含む装置。
【請求項2】
プログレッシブJPEG画像ビットストリームを復号化するための装置であって、
ビットストリームを受け取るための入力端子と、4つの出力端子とを有する走査およびブロックパーサであって、前記ビットストリームからパラメータをパースし、前記4つの出力端子を通して、走査番号と、訂正ビットと、ポイント変換パラメータとを供給する走査およびブロックパーサと、
前記走査番号を受け取るための第1の入力端子と、前記ポイント変換パラメータを受け取るための第2の入力端子と、前記訂正ビットを受け取るための第3の入力端子と、復号化された値を受け取るための第4の入力端子と、前の走査の係数を受け取るための第5の入力端子と、前の走査の非ゼロ係数表示ビットを受け取るための第6の入力端子と、出力端子とを有する複数走査解像度向上手段であって、前記走査番号と、前記訂正ビットと、前記ポイント変換パラメータとに基づいて、前記復号化された値および/または前記前の走査の係数を更新し、前記更新された係数および非ゼロ係数表示ビットを供給するための複数走査解像度向上手段と、
前記更新された係数および非ゼロ係数表示ビットを受け取るための入力端子と、2つの出力端子とを有する周波数マスク手段であって、周波数領域内にマスク領域を定義し、1つまたは複数の更新された係数を抽出して、マスク領域内係数と、マスク領域外係数または非ゼロ係数表示ビットとを供給するための周波数マスク手段と、
前記マスク領域外係数または非ゼロ係数表示ビットを受け取るための入力端子と、出力端子とを有する2値化手段であって、前記マスク領域外係数または非ゼロ係数表示ビットを変換し、それらを、ゼロ係数または表示ビットおよび非ゼロ係数または表示ビットに対して、それぞれ値「0」および「1」を用いて表す2値化手段と、
前記マスク領域内係数を受け取るための第1の入力端子と、前記マスク領域外非ゼロ係数表示ビットを受け取るための第2の入力端子と、出力端子とを有する多重化手段であって、前記マスク領域内係数と、前記マスク領域外非ゼロ係数表示ビットとを結合して再配列し、その出力端子を通して、多重化された係数および非ゼロ係数表示ビットを供給する多重化手段と、
前記多重化された係数および非ゼロ係数表示ビットを受け取るための入力端子と、出力端子とを有するメモリであって、前記多重化された係数および非ゼロ係数表示ビットを記憶し、その出力端子を通して、前の走査の係数および非ゼロ係数表示ビットを供給するためのメモリと、
前記前の走査の係数および非ゼロ係数表示ビットを受け取るための入力端子と、2つの出力端子とを有する多重分離手段であって、前記前の走査の係数および非ゼロ係数表示ビットを分離し、その2つの出力端子を通して、前の走査の係数と、前の走査の非ゼロ係数表示ビットとを供給する多重分離手段と、
前記前の走査の非ゼロ係数表示ビットを受け取るための第1の入力端子と、前記パースされたビットを受け取るための第2の入力端子と、出力端子とを有する可変長復号化手段であって、1つまたは複数の前記パースされたビットからコードワードを識別し、ハフマン符号化ルックアップテーブルと前の走査の非ゼロ係数表示ビットとに従って、前記コードワードを復号化し、復号化された値を供給するための可変長復号化手段と、
前記マスク領域内係数を受け取るための入力端子と、出力端子とを有する逆量子化手段であって、1つまたは複数の量子化スケールファクタを用いて前記マスク領域内係数をスケーリングし、量子化された係数を供給するための逆量子化手段と、
前記量子化された係数を受け取るための入力端子と、出力端子とを有する逆離散コサイン変換手段であって、前記マスク領域内の量子化された係数を取得し、前記マスク領域内の量子化された係数と、マスク領域外の「0」値とを含むでデータブロックにブロック変換を実行し、復号化されたピクチャを生成するための逆離散コサイン変換手段と、
を含む装置。
【請求項3】
プログレッシブJPEG画像ビットストリームを復号化するための装置であって、
ビットストリームを受け取るための入力端子と、4つの出力端子とを有する走査およびブロックパーサであって、前記ビットストリームからパラメータをパースし、前記4つの出力端子を通して、走査番号と、訂正ビットと、ポイント変換パラメータとを供給する走査およびブロックパーサと、
前記走査番号を受け取るための第1の入力端子と、前記ポイント変換パラメータを受け取るための第2の入力端子と、前記訂正ビットを受け取るための第3の入力端子と、復号化された値を受け取るための第4の入力端子と、前の走査の係数を受け取るための第5の入力端子と、前の走査の非ゼロ係数表示ビットを受け取るための第6の入力端子と、出力端子とを有する複数走査解像度向上手段であって、前記走査番号と、前記訂正ビットと、前記ポイント変換パラメータとに基づいて、前記復号化された値および/または前記前の走査の係数を更新し、前記更新された係数および非ゼロ係数表示ビットを供給するための複数走査解像度向上手段と、
前記更新された係数および非ゼロ係数表示ビットを受け取るための入力端子と、2つの出力端子とを有する周波数マスク手段であって、周波数領域にマスク領域を定義し、1つまたは複数の更新された係数を抽出して、マスク領域内係数と、マスク領域外係数または非ゼロ係数表示ビットとを供給するための周波数マスク手段と、
前記マスク領域外係数または非ゼロ係数表示ビットを受け取るための入力端子と、出力端子とを有する2値化手段であって、前記マスク領域外係数または非ゼロ係数表示ビットを変換し、それらを、ゼロ係数または表示ビットおよび非ゼロ係数または表示ビットに対して、それぞれ値「0」および「1」を用いて表す2値化手段と、
前記マスク領域外非ゼロ係数表示ビットを受け取るための入力端子と、出力端子とを有する2進シーケンス圧縮手段であって、その入力2進シーケンスを、可逆圧縮方法を用いて圧縮し、その出力端子を通して、圧縮された表示ビットを供給するための2進シーケンス圧縮手段と、
前記マスク領域内係数を受け取るための第1の入力端子と、前記圧縮された表示ビットを受け取るための第2の入力端子と、出力端子とを有する多重化手段であって、前記マスク領域内係数と、前記圧縮された表示ビットとを結合して再配列し、その出力端子を通して、多重化された係数および圧縮された表示ビットを供給するための多重化手段と、
前記多重化された係数および圧縮された表示ビットを受け取るための入力端子と、出力端子とを有するメモリであって、前記多重化された係数および圧縮された表示ビットを記憶し、その出力端子を通して、前の走査の係数および圧縮された表示ビットを供給するためのメモリと、
前記前の走査の係数および圧縮された表示ビットを受け取るための入力端子と、2つの出力端子とを有する多重分離手段であって、前記前の走査の係数および圧縮された表示ビットを分離し、その2つの出力端子を通して、前の走査の係数と、前の走査の圧縮された表示ビットとを供給する多重分離手段と、
前記前の走査の圧縮された表示ビットを受け取るための入力端子と、出力端子とを有する2進シーケンス復元手段であって、前記前の走査の圧縮された表示ビットを復号化し、前の走査における前記マスク領域外非ゼロ係数表示ビットを再構成し、前の走査の非ゼロ係数表示ビットを供給するための2進シーケンス復元手段と、
前記前の走査の非ゼロ係数表示ビットを受け取るための第1の入力端子と、前記パースされたビットを受け取るための第2の入力端子と、出力端子とを有する可変長復号化手段であって、1つまたは複数の前記パースされたビットからコードワードを識別し、ハフマン符号化ルックアップテーブルと前記前の走査の非ゼロ係数表示ビットとに従って、前記コードワードを復号化し、復号化された値を供給するための可変長復号化手段と、
前記マスク領域内係数を受け取るための入力端子と、出力端子とを有する逆量子化手段であって、1つまたは複数の量子化スケールファクタを用いて前記マスク領域内係数をスケーリングし、量子化された係数を供給するための逆量子化手段と、
前記量子化された係数を受け取るための入力端子と、出力端子とを有する逆離散コサイン変換手段であって、前記マスク領域内の量子化された係数を取得し、前記マスク領域内の量子化された係数と、マスク領域外の「0」値とを含むデータブロックにブロック変換を実行し、復号化されたピクチャを生成するための逆離散コサイン変換手段と、
を含む装置。
【請求項4】
プログレッシブJPEG画像ビットストリームを復号化するための装置であって、
ビットストリームを受け取るための入力端子と、4つの出力端子とを有する走査およびブロックパーサであって、前記ビットストリームからパラメータをパースし、前記4つの出力端子を通して、走査番号と、訂正ビットと、ポイント変換パラメータとを供給する走査およびブロックパーサと、
前記走査番号を受け取るための第1の入力端子と、前記ポイント変換パラメータを受け取るための第2の入力端子と、前記訂正ビットを受け取るための第3の入力端子と、復号化された値を受け取るための第4の入力端子と、前の走査の係数を受け取るための第5の入力端子と、前の走査の非ゼロ係数表示ビットを受け取るための第6の入力端子と、出力端子とを有する複数走査解像度向上手段であって、前記走査番号と、前記訂正ビットと、前記ポイント変換パラメータとに基づいて、前記復号化された値および/または前記前の走査の係数を更新し、前記更新された係数および非ゼロ係数表示ビットを供給するための複数走査解像度向上手段と、
前記更新された係数および非ゼロ係数表示ビットを受け取るための入力端子と、2つの出力端子とを有する周波数マスク手段であって、周波数領域にマスク領域を定義し、1つまたは複数の更新された係数を抽出して、マスク領域内係数と、マスク領域外係数または非ゼロ係数表示ビットとを供給するための周波数マスク手段と、
前記マスク領域外係数または非ゼロ係数表示ビットを受け取るための入力端子と、出力端子とを有する2値化手段であって、前記マスク領域外係数または非ゼロ係数表示ビットを変換し、それらを、ゼロ係数または表示ビットおよび非ゼロ係数または表示ビットに対して、それぞれ値「0」および「1」を用いて表す2値化手段と、
前記マスク領域外非ゼロ係数表示ビットを受け取るための入力端子と、出力端子とを有する2進シーケンス圧縮手段であって、その入力2進シーケンスを、可逆圧縮方法を用いて圧縮し、その出力端子を通して、圧縮された表示ビットを供給するための2進シーケンス圧縮手段と、
前記マスク領域内係数を受け取るための入力端子と、出力端子とを有する係数圧縮手段であって、不可逆または可逆符号化方法のいずれかによって、前記マスク領域内係数を圧縮し、圧縮された係数を供給するための係数圧縮手段と、
前記圧縮された係数を受け取るための第1の入力端子と、前記圧縮された表示ビットを受け取るための第2の入力端子と、出力端子とを有する多重化手段であって、前記圧縮された係数と、前記圧縮された表示ビットとを結合して再配列し、その出力端子を通して、圧縮された係数および表示ビットを供給するための多重化手段と、
前記圧縮された係数および表示ビットを受け取るための入力端子と、出力端子とを有するメモリであって、前記圧縮された係数および表示ビットを記憶し、その出力端子を通して、前の走査の圧縮された係数および表示ビットを供給するためのメモリと、
前記前の走査の圧縮された係数および表示ビットを受け取るための入力端子と、2つの出力端子とを有する多重分離手段であって、前記前の走査の圧縮された係数および表示ビットを分離し、その2つの出力端子を通して、前の走査の圧縮された係数と、前の走査の圧縮された表示ビットとを供給する多重分離手段と、
前記前の走査の圧縮された表示ビットを受け取るための入力端子と、出力端子とを有する2進シーケンス復元手段であって、前記前の走査の圧縮された表示ビットを復号化し、前の走査における前記マスク領域外非ゼロ係数表示ビットを再構成し、前の走査の非ゼロ係数表示ビットを供給するための2進シーケンス復元手段と、
前記前の走査の圧縮された係数を受け取るための入力端子と、出力端子とを有する係数復元手段であって、前記前の走査の圧縮された係数を復号化し、前の走査における前記マスク領域内係数を再構成し、前の走査の係数を供給するための係数復元手段と、
前記前の走査の非ゼロ係数表示ビットを受け取るための第1の入力端子と、前記パースされたビットを受け取るための第2の入力端子と、出力端子とを有する可変長復号化手段であって、1つまたは複数の前記パースされたビットからコードワードを識別し、ハフマン符号化ルックアップテーブルと前の走査の非ゼロ係数表示ビットとに従って、前記コードワードを復号化し、復号化された値を供給するための可変長復号化手段と、
前記マスク領域内係数を受け取るための入力端子と、出力端子とを有する逆量子化手段であって、1つまたは複数の量子化スケールファクタを用いて前記マスク領域内係数をスケーリングし、量子化された係数を供給するための逆量子化手段と、
前記量子化された係数を受け取るための入力端子と、出力端子とを有する逆離散コサイン変換手段であって、前記マスク領域内の量子化された係数を取得し、前記マスク領域内の量子化された係数と、マスク領域外の「0」値とを含むデータブロックにブロック変換を実行し、復号化されたピクチャを生成するための逆離散コサイン変換手段と、
を含む装置。
【請求項5】
プログレッシブJPEG画像ビットストリームを復号化するための装置であって、
ビットストリームを受け取るための入力端子と、4つの出力端子とを有する走査およびブロックパーサであって、前記ビットストリームからパラメータをパースし、前記4つの出力端子を通して、走査番号と、訂正ビットと、ポイント変換パラメータとを供給する走査およびブロックパーサと、
前記走査番号を受け取るための第1の入力端子と、前記ポイント変換パラメータを受け取るための第2の入力端子と、前記訂正ビットを受け取るための第3の入力端子と、復号化された値を受け取るための第4の入力端子と、前の走査の係数を受け取るための第5の入力端子と、前の走査の表示ビットマップを受け取るための第6の入力端子と、出力端子とを有する複数走査解像度向上手段であって、前記走査番号と、前記訂正ビットと、前記ポイント変換パラメータとに基づいて、前記復号化された値および/または前記前の走査の係数を更新し、前記更新された係数および非ゼロ係数表示ビットを供給するための複数走査解像度向上手段と、
前記更新された係数および非ゼロ係数表示ビットを受け取るための入力端子と、出力端子とを有する周波数マスク手段であって、周波数領域にマスク領域を定義し、1つまたは複数の更新された係数を抽出して、マスク領域内係数を供給するための周波数マスク手段と、
前記更新された係数および非ゼロ係数表示ビットを受け取るための入力端子を有する2値化手段であって、前記更新された係数および非ゼロ係数表示ビットを変換し、それらを、ゼロ係数または表示ビットおよび非ゼロ係数または表示ビットに対して、それぞれ値「0」および「1」を用いて表し、表示ビットマップを供給するための2値化手段と、
前記マスク領域内係数を受け取るための第1の入力端子と、前記表示ビットマップを受け取るための第2の入力端子と、2つの出力端子とを有するメモリであって、前記マスク領域内係数と、前記表示ビットマップとを、予め定義した位置に記憶し、その2つの出力端子を通して、前の走査の係数と、前の走査の表示ビットマップとを供給するためのメモリと、
前記前の走査の表示ビットマップを受け取るための第1の入力端子と、前記パースされたビットを受け取るための第2の入力端子と、出力端子とを有する可変長復号化手段であって、1つまたは複数の前記パースされたビットからコードワードを識別し、ハフマン符号化ルックアップテーブルと前記前の走査の表示ビットマップとに従って、前記コードワードを復号化し、復号化された値を供給するための可変長復号化手段と、
前記マスク領域内係数を受け取るための入力端子と、出力端子とを有する逆量子化手段であって、1つまたは複数の量子化スケールファクタを用いて前記マスク領域内係数をスケーリングし、量子化された係数を供給するための逆量子化手段と、
前記量子化された係数を受け取るための入力端子と、出力端子とを有する逆離散コサイン変換手段であって、前記マスク領域内の量子化された係数を取得し、前記マスク領域内の量子化された係数と、マスク領域外の「0」値とを含むデータブロックにブロック変換を実行し、復号化されたピクチャを生成するための逆離散コサイン変換手段と、
を含む装置。
【請求項6】
プログレッシブJPEG画像ビットストリームを復号化するための装置であって、
ビットストリームを受け取るための入力端子と、4つの出力端子とを有する走査およびブロックパーサであって、前記ビットストリームからのパラメータをパースし、前記4つの出力端子を通して、走査番号と、訂正ビットと、ポイント変換パラメータとを供給する走査およびブロックパーサと、
前記走査番号を受け取るための第1の入力端子と、前記ポイント変換パラメータを受け取るための第2の入力端子と、前記訂正ビットを受け取るための第3の入力端子と、復号化された値を受け取るための第4の入力端子と、前の走査の係数を受け取るための第5の入力端子と、前の走査の表示ビットマップを受け取るための第6の入力端子と、出力端子とを有する複数走査解像度向上手段であって、前記走査番号と、前記訂正ビットと、前記ポイント変換パラメータとに基づいて、前記復号化された値および/または前記前の走査の係数とを更新し、前記更新された係数および非ゼロ係数表示ビットを供給するための複数走査解像度向上手段と、
前記更新された係数および非ゼロ係数表示ビットを受け取るための入力端子と、出力端子とを有する周波数マスク手段であって、周波数領域にマスク領域を定義し、1つまたは複数の更新された係数を抽出して、マスク領域内係数を供給するための周波数マスク手段と、
前記更新された係数および非ゼロ係数表示ビットを受け取るための入力端子を有する2値化手段であって、前記更新された係数および非ゼロ係数表示ビットを変換し、それらを、ゼロ係数または表示ビットおよび非ゼロ係数または表示ビットに対して、それぞれ値「0」および「1」を用いて表し、表示ビットマップを供給するための2値化手段と、
前記表示ビットマップを受け取るための入力端子と、出力端子とを有する2進シーケンス圧縮手段であって、その入力2進シーケンスを、可逆圧縮方法を用いて圧縮し、その出力端子を通して、圧縮された表示ビットマップを供給するための2進シーケンス圧縮手段と、
前記マスク領域内係数を受け取るための第1の入力端子と、前記圧縮された表示ビットマップを受け取るための第2の入力端子と、2つの出力端子とを有するメモリであって、前記マスク領域内係数と、前記圧縮された表示ビットマップを、予め定義した位置に記憶し、その2つの出力端子を通して、前の走査の係数と、前の走査の圧縮された表示ビットマップとを供給するためのメモリと、
前記前の走査の圧縮された表示ビットマップを受け取るための入力端子と、出力端子とを有する2進シーケンス復元手段であって、前記前の走査の圧縮された表示ビットマップを復号化し、前の走査における前記非ゼロ係数表示ビットマップを再構成し、前の走査の表示ビットマップを供給するための2進シーケンス復元手段と、
前記前の走査の表示ビットマップを受け取るための第1の入力端子と、前記パースされたビットを受け取るための第2の入力端子と、出力端子とを有する可変長復号化手段であって、1つまたは複数の前記パースされたビットからコードワードを識別し、ハフマン符号化ルックアップテーブルと前記前の走査の表示ビットマップとに従って、前記コードワードを復号化し、復号化された値を供給するための可変長復号化手段と、
前記マスク領域内係数を受け取るための入力端子と、出力端子とを有する逆量子化手段であって、1つまたは複数の量子化スケールファクタを用いて前記マスク領域内係数をスケーリングし、量子化された係数を供給するための逆量子化手段と、
前記量子化された係数を受け取るための入力端子と、出力端子とを有する逆離散コサイン変換手段であって、前記マスク領域内の量子化された係数を取得し、前記マスク領域内の量子化された係数と、マスク領域外の「0」値とを含むデータブロックにブロック変換を実行し、復号化されたピクチャを生成するための逆離散コサイン変換手段と、
を含む装置。
【請求項7】
プログレッシブJPEG画像ビットストリームを復号化するための装置であって、
ビットストリームを受け取るための入力端子と、4つの出力端子とを有する走査およびブロックパーサであって、前記ビットストリームからのパラメータをパースし、前記4つの出力端子を通して、走査番号と、訂正ビットと、ポイント変換パラメータとを供給する走査およびブロックパーサと、
前記走査番号を受け取るための第1の入力端子と、前記ポイント変換パラメータを受け取るための第2の入力端子と、前記訂正ビットを受け取るための第3の入力端子と、復号化された値を受け取るための第4の入力端子と、前の走査の係数を受け取るための第5の入力端子と、前の走査の表示ビットマップを受け取るための第6の入力端子と、出力端子とを有する複数走査解像度向上手段であって、前記走査番号と、前記訂正ビットと、前記ポイント変換パラメータとに基づいて、前記復号化された値および/または前記前の走査の係数とを更新し、前記更新された係数および非ゼロ係数表示ビットを供給するための複数走査解像度向上手段と、
前記更新された係数および非ゼロ係数表示ビットを受け取るための入力端子と、出力端子とを有する周波数マスク手段であって、周波数領域にマスク領域を定義し、1つまたは複数の更新された係数を抽出して、マスク領域内係数を供給するための周波数マスク手段と、
前記更新された係数および非ゼロ係数表示ビットを受け取るための入力端子を有する2値化手段であって、前記更新された係数および非ゼロ係数表示ビットを変換し、それらを、ゼロ係数または表示ビットおよび非ゼロ係数または表示ビットに対して、それぞれ値「0」および「1」を用いて表し、表示ビットマップを供給するための2値化手段と、
前記表示ビットマップを受け取るための入力端子と、出力端子とを有する2進シーケンス圧縮手段であって、その入力2進シーケンスを、可逆圧縮方法を用いて圧縮し、その出力端子を通して、圧縮された表示ビットマップを供給するための2進シーケンス圧縮手段と、
前記マスク領域内係数を受け取るための入力端子と、出力端子とを有する係数圧縮手段であって、不可逆または可逆符号化方法のいずれかによって、前記マスク領域内係数を圧縮し、圧縮された係数を供給するための係数圧縮手段と、
前記圧縮された係数を受け取るための第1の入力端子と、前記圧縮された表示ビットマップを受け取るための第2の入力端子と、2つの出力端子とを有するメモリであって、前記圧縮された係数と、前記圧縮された表示ビットマップとを、予め定義した位置に記憶し、その2つの出力端子を通して、前の走査の圧縮された係数と、前の走査の圧縮された表示ビットマップとを供給するためのメモリと、
前記前の走査の圧縮された表示ビットマップを受け取るための入力端子と、出力端子とを有する2進シーケンス復元手段であって、前記前の走査の圧縮された表示ビットマップを復号化し、前の走査における前記非ゼロ係数表示ビットマップを再構成し、前の走査の表示ビットマップを供給するための2進シーケンス復元手段と、
前記前の走査の圧縮された係数を受け取るための入力端子と、出力端子とを有する係数復元手段であって、前記前の走査の圧縮された係数を復号化し、前の走査におけるマスク領域内係数を再構成し、前の走査の係数を供給するための係数復元手段と、
前記前の走査の表示ビットマップを受け取るための第1の入力端子と、前記パースされたビットを受け取るための第2の入力端子と、出力端子とを有する可変長復号化手段であって、1つまたは複数の前記パースされたビットからコードワードを識別し、ハフマン符号化ルックアップテーブルと前記前の走査の表示ビットマップとに従って、前記コードワードを復号化し、復号化された値を供給するための可変長復号化手段と、
前記マスク領域内係数を受け取るための入力端子と、出力端子とを有する逆量子化手段であって、1つまたは複数の量子化スケールファクタを用いて前記マスク領域内係数をスケーリングし、量子化された係数を供給するための逆量子化手段と、
前記量子化された係数を受け取るための入力端子と、出力端子とを有する逆離散コサイン変換手段であって、前記マスク領域内の量子化された係数を取得し、前記マスク領域内の量子化された係数と、マスク領域外の「0」値とを含むデータブロックにブロック変換を実行し、復号化されたピクチャを生成するための逆離散コサイン変換手段と、
を含む装置。
【請求項8】
前記可変長復号化手段が、
前の走査の非ゼロ係数表示ビットまたは前の走査の表示ビットマップを受け取るための第1の入力端子と、復号化されたゼロランを受け取るための第2の入力端子と、出力端子とを有するゼロビットカウンタであって、前記前の走査の非ゼロ係数表示ビットまたは前の走査の表示ビットマップと、前記復号化されたゼロランとから、前記出力端子を通して、ビットストリームバッファシフト制御を発生するためのゼロビットカウンタと、
1つまたは複数の前記パースされたビットを受け取るための第1の入力端子と、ビットストリームバッファシフト制御を受け取るための第2の入力端子と、出力端子とを有するビットストリームバッファであって、1つまたは複数の前記パースされたビットを受け取って記憶し、前記ビットストリームバッファシフト制御に従って、前記パースされたビットをシフトし、有効コードワードを形成し、その出力端子を通して、前記コードワードを出力するビットストリームバッファと、
前記コードワードを受け取るための第1の入力端子と、2つの出力端子とを有するコードワード復号化手段であって、予め定義または予めダウンロードしたハフマン復号化テーブルに従って、前記コードワードを復号化し、その2つの出力端子を通して、復号化されたゼロランおよび復号化された値を生成および供給するためのコードワード復号化手段と、
を含む、請求項2〜7のいずれか一項に記載の装置。
【請求項9】
前記複数走査解像度向上手段が、
前記前の走査の係数を受け取るための第1の入力端子と、前記訂正ビットを受け取るための第2の入力端子と、前記ポイント変換パラメータを受け取るための第3の入力端子と、前記復号化された値を受け取るための第4の入力端子と、出力端子とを有する走査近似手段であって、ポイント変換を実行し非ゼロ係数表示ビットを更新することによって、前記前の走査の係数を向上させ、更新された係数および表示ビットを供給するための走査近似手段と、
前記復号化された値を受け取るための第1の入力端子と、前記更新された係数および表示ビットを受け取るための第2の入力端子と、前記走査番号を受け取るための第3の入力端子と、出力端子とを有するスイッチであって、前記走査番号が第1の走査を示すときには、前記復号化された値を選択し、前記走査番号が次の走査を示すときには、前記更新された係数および表示ビットを選択し、更新された係数および非ゼロ係数表示ビットを供給するためのスイッチと、
を含む、請求項2〜7のいずれか一項に記載の装置。
【請求項10】
前記走査近似手段が、
前記復号化された値を受け取るための入力端子と、出力端子とを有する表示ビット更新手段であって、マスク領域外係数に関して、有効な復号化された値が非ゼロの場合には、ゼロ係数表示ビットを「0」から「1」に更新し、前記有効な復号化された値がゼロの場合には、ゼロ係数表示ビットを「0」に保つための表示ビット更新手段と、
前記訂正ビットを受け取るための第1の入力端子と、前記ポイント変換パラメータを受け取るための第2の入力端子と、出力端子とを有するポイント変換手段であって、前記ポイント変換パラメータによって指定された複数のビット数のうちの1つだけ、前記訂正ビットをシフトすることによって、ポイント変換された値を生成するためのポイント変換手段と、
前記復号化された値を受け取るための第1の入力端子と、前記ポイント変換された値を受け取るための第2の入力端子と、前記前の走査の表示ビットマップまたは前記前の走査の非ゼロ係数表示ビットを受け取るための第3の入力端子と、出力端子とを有するセレクタであって、その第3の入力端子が「0」を受け取るときには、前記復号化された値を選択し、その第3の入力端子が、「1」を受け取るときには、前記ポイント変換された値を選択することによって、選択された値を生成するためのセレクタと、
前記選択された値を受け取るための第1の入力端子と、前記前の走査の係数を受け取るための第2の入力端子と、出力端子とを有する加算手段であって、前記選択された値と、前記前の走査の係数とを合計して、更新された係数を生成するための加算手段と、
前記更新された表示ビットを受け取るための第1の入力端子と、前記更新された係数を受け取るための第2の入力端子と、出力端子とを有する多重化手段であって、前記更新された表示ビットと、前記更新された係数とを結合し、前記更新された係数および表示ビットを供給するための多重化手段と、
を含む、請求項9に記載の装置。

【図1】
image rotate

【図2a】
image rotate

【図2b】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2006−93958(P2006−93958A)
【公開日】平成18年4月6日(2006.4.6)
【国際特許分類】
【出願番号】特願2004−275053(P2004−275053)
【出願日】平成16年9月22日(2004.9.22)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】