(57)【要約】【課題】画像データにおける符号化処理及び／又は復号化処理に関する処理を効率的に高速に行うことを目的とする。【解決手段】ｍ×ｎ（但し、ｍ、ｎは共に１以上の自然数）の周波数領域信号に変換された画像信号を量子化して、信号の大きさをｋ（但し、ｋは１以上の自然数）ビットで表現した信号を、指定したアドレスに対応して記憶する第一の記憶モジュール４５を有する画像処理装置において、第一の記憶モジュール４５は、書き込み時のアドレスと読み出し時のアドレスとを有し、信号の書き込みのときはｋビット長の信号を１単位として、ｍ×ｎ個の信号を前記書き込み時のアドレスである物理アドレスに対応した順で記憶し、信号の読み出しのときは、前記読み出し時のアドレスであるｋビットの信号のビットの重みごとにふられたｋ個のアドレスと、同一の大きさの重みのビットが作る面においてａ×ｂ（但し、０＜ａ＜＝ｍ、０＜ｂ＜＝ｎ）ごとにふられたアドレスとに基づいて、読み出すことを特徴とする画像処理装置。【選択図】　　　　　図１２
2004040388.tif 000002
【特許請求の範囲】
【請求項１】
ｍ×ｎ（但し、ｍ、ｎは共に１以上の自然数）の周波数領域信号に変換された画像信号を量子化して、信号の大きさをｋ（但し、ｋは１以上の自然数）ビットで表現した信号を、指定したアドレスに対応して記憶する第一の記憶モジュールを有する画像処理装置において、
前記第一の記憶モジュールは、書き込み時のアドレスと読み出し時のアドレスとを有し、信号の書き込みのときはｋビット長の信号を１単位として、ｍ×ｎ個の信号を前記書き込み時のアドレスである物理アドレスに対応した順で記憶し、信号の読み出しのときは、前記読み出し時のアドレスであるｋビットの信号のビットの重みごとにふられたｋ個のアドレスと、同一の大きさの重みのビットが作る面においてａ×ｂ（但し、０＜ａ＜＝ｍ、０＜ｂ＜＝ｎ）ごとにふられたアドレスとに基づいて、読み出すことを特徴とする画像処理装置。
【請求項２】
前記第一の記憶モジュールを、画像信号を周波数領域信号に変換する周波数領域信号変換器と、前記周波数領域信号の符号器又は復号器との間に設けることを特徴とする請求項１記載の画像処理装置。
【請求項３】
所定の大きさのブロック単位で周波数領域信号を書き込み又は読み出す第二の記憶モジュールを有し、前記第二の記憶モジュールから読み出した前記周波数領域信号を前記第一の記憶モジュールに書き込む一方、前記第一の記憶モジュールから読み出した前記周波数領域信号を前記第二の記憶モジュールに書き込むことを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記第一の記憶モジュールと前記第二の記憶モジュールとを二組以上有し、パイプライン処理によって前記第一の記憶モジュール及び前記第二の記憶モジュールからデータを読み出し又は書き込むことを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記画像処理装置は、ＪＰＥＧ２０００が規定する符号化及び／又は復号化の処理を行うことを特徴とする請求項１乃至４何れか一項記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置に係り、特にＪＰＥＧ２０００による画像処理装置に関する。
【０００２】
【従来の技術】
近年、画像圧縮・伸張技術の国際基準としてＪＰＥＧ２０００が知られている。ＪＰＥＧ２０００は、それ以前の画像圧縮・伸張技術の国際基準であったＪＰＥＧに比べて、圧縮率が高いこと、豊富な符号化機能を具備していること、動画データにも対応していること等を特徴としている。
【０００３】
図１にＪＰＥＧ２０００の符号化手順の流れを示す。また、図１においては、説明に必要な構成を表し、説明に必要の無い構成を省略してある。以下の図面においても同じである。
【０００４】
ＪＰＥＧ２０００の符号化手順においては、画像データ１は、２次元離散ウェーブレット変換（ＤＷＴ）部１０、量子化器１１、係数モデリング部１２、算術符号下部１３、符号形成部１４の処理を経て、符号データ２が得られる。図２〜図４にこれらの処理を模式的に描いた図を示す。なお、係数モデリング部１２及び算術符号器１３により、エントロピー符号化が行われる。
【０００５】
まず、入力される画像に対して複数レベルの２次元離散ウェーブレット変換を行う。この際、処理する画像をタイルと呼ばれる複数の矩形ブロックに分ける場合が多い。画像を複数のタイルに分割する場合は、後述する２次元離散ウェーブレット変換、量子化、エントロピー符号化は、該タイルの単位で処理を行う。
【０００６】
図２は、画像データ１を１２８×１２８の大きさのタイルに分割し、レベル２の２次元離散ウェーブレット変換を行った場合の例を示す。
【０００７】
１２８×１２８の画像データが３２×３２の４つのサブバンド２ＬＬ、２ＨＬ、２ＬＨ、２ＨＨと、大きさが６４×６４の３つのサブバンド１ＨＬ、１ＬＨ、１ＨＨのウェーブレット係数データ２１に変換される。ＪＰＥＧ２０００では、ウェーブレット変換のフィルタ係数としては、可逆、非可逆の２通りのフィルタ係数が用意されている。可逆、非可逆を統一的に扱う場合は、可逆のフィルタ係数が用いられ、より符号効率の高い処理を実現する場合は、非可逆のフィルタ係数を用いる。
【０００８】
次にウェーブレット係数データに対して図３に示されるような式によりスカラー量子化が行われる。ここで、ｓｉｇｎ（ａ）はウェーブレット係数データａの符号、｜ａ｜はａの絶対値、Δｂはサブバンド毎に決められた量子化ステップ、「」はフロア関数を示す。ただし、可逆ウェーブレット係数を用いた場合は、このスカラー量子化の処理は実施されない。
【０００９】
次に、ウェーブレット変換後、或いは量子化後の係数データを各サブバンド毎、或いはサブバンドを複数の矩形領域に分割したコードブロック毎にエントロピー符号化していく。該エントロピー符号化は、後段の算術符号器１３に与えるコンテキストを生成する係数モデリング部１２での処理と、実際に符号化を行う算術符合器１３での処理により成される。
【００１０】
図４は、各サブバンド毎にエントロピー符号化した場合におけるサブバンド２ＬＬと、その算術符号器１３の処理を示す。
【００１１】
サブバンド２ＬＬは、３２×３２の画像サイズを有し、各点の画像は、（Ｎ＋３）ビットで量子化されている。上面が量子化ビットのＭＳＢ（ｍｏｓｔ　ｓｉｇｎｉｆｉｃａｎｔ　ｂｉｔ）で、下面が量子化ビットのＬＳＢ（ｌｅａｓｅｔｓｉｇｎｉｆｉｃａｎｔ　ｂｉｔ）である。図４では、上から二つのプレーンには、量子化ビットが存在しない。このプレーンをゼロビットプレーンという。
【００１２】
次に、算術符号器１３での処理手順を示す。
【００１３】
（１）一つのサブバンド（コードブロック毎にエントロピー符号化する場合は、コードブロック）の係数データを符号＋絶対値に変換し、係数絶対値は、ビットプレーンに分割してＭＳＢ側からビットプレーン毎にエントロピー符号化を行う。図４（Ａ）では、２ＬＬのサブバンドの係数絶対値をビットプレーンに分割した様子を示す。
【００１４】
（２）上位から数えて初めて有効なビット（０で無いビット）が出現するビットプレーンまでは、ゼロビットプレーンであるので、エントロピー符号化は行わず、初めて０で無いビットが出現したビットプレーンから、エントロピー符号化を開始する。図４（Ａ）の例では、上位２プレーンがゼロビットプレーンであり、３プレーン目に初めて０でないビットが出現し、このビットプレーンＮからビットプレーン０までのＮ＋１枚のビットプレーンについてエントロピー符号化を行う。
【００１５】
（３）エントロピー符号化を行うビットプレーンに関しては、基本的に１つのビットプレーンを３回スキャンして符号化する。該符号化のためスキャンする各パスは以下のように呼ばれている。
▲１▼　ｓｉｇｎｉｆｉｃａｎｃｅ　ｐｒｏｐａｇａｔｉｏｎ　ｐａｓｓ
▲２▼　ｍａｇｎｉｔｕｄｅ　ｒｅｆｉｎｅｍｅｎｔ　ｐａｔｈ
▲３▼　ｃｌｅａｎｕｐ　ｐａｓｓ
ビットプレーン上の各ビットは、特定の規則によって分類され、そのビットの周辺ビットの状態から生成されたコンテキストを用いていずれか一つのパスで符号化される。
【００１６】
図４（Ｂ）に示すように、最初に符号化するビットプレーンＮは、ｃｌｅａｎｕｐ　ｐａｓｓのみで、符号化されるが、それ以降のビットプレーンは、それぞれ上記３つのパスで符号化される。即ち、Ｎ＋１個のビットプレーンが存在する場合、合計３Ｎ＋１のパスにより符号化が行われる。
【００１７】
（４）次に、算術符号器１３で、上記各パスで発生する符号化ビットとそれに対応するコンテキストにより、エントロピー符号（ＭＱ符号）を生成する。
【００１８】
このようにして生成されたエントロピー符号（ＭＱ符号）は、図１に示す符号形成部１４における処理で、最終のＪＰＥＧ２０００のビットストリームとしてまとめられる。
【００１９】
符号形成部１４では、まず、先の算術符号器１３で生成された各パス単位で発生した符号を、複数パス毎にまとめる。このまとめられた単位をレイヤと呼ぶ。図５では、３Ｎ＋１個のパス毎に算術符号器１３で生成された符号をレイヤ０からレイヤＮまでＬ＋１個のレイヤにまとめている様子を示す。
【００２０】
例えば、ビットプレーン２ＬＬＮ−１、ｃ、ビットプレーン２ＬＬＮ−１、ｓ、ビットプレーン２ＬＬＮ−１、ｍをレイヤ０とし、・・・ビットプレーン２ＬＬＯ、ｓ、ビットプレーン２ＬＬＯ、ｍ、ビットプレーン２ＬＬＯ、ｃをレイヤＬとしている。なお、レイヤの選定は、これに限らず実施することができる。
【００２１】
更に、図６に示すように、コードブロック、レイヤ毎にまとめられた符号を並べて最終のビットストリームが生成される。図６では、２ＬＬのレイヤ０、２ＬＬのレイヤ１、・・・２ＨＬ、２ＬＨ、２ＨＨのレイヤＬ、２ＨＬ、２ＬＨ、２ＨＨのレイヤ０、・・・２ＨＬ、２ＬＨ、２ＨＨのレイヤＬ、１ＨＬ、１ＬＨ、１ＨＨのレイヤ０、・・・１ＨＬ、１ＬＨ、１ＨＨのレイヤＬのビットストリームとなる。ビットストリームは、重要なデータ（優先順位の高いデータ）を先に送信するように構成される。なお、レイヤは任意に設定できる。全てを一つのレイヤとしてもよい。
【００２２】
ここで、コードブロック、レイヤ毎のまとまりをパケットと呼び、各パケットは、それぞれのパケットの情報を示すパケットヘッダーと先ほどの算術符号器１３で生成されたエントロピー符号より成る。例えば、２ＨＬ、２ＬＨ、２ＨＨのレイヤＬ３４は、２ＨＬ、２ＬＨ、２ＨＨのレイヤＬのエントロピー符号３８から構成される。したがって、ビットストリームは、１又は複数のパケットにより構成される。
【００２３】
ここでは、入力画像データが単色である場合を示したが、複数色（コンポーネント）よりなる画像の場合、同様に各色（コンポーネント）毎にサブバンド毎、レイヤ毎のパケットを生成して規定された順番に並べることでＪＰＥＧ２０００のビットストリームを得ることができる。図７には、３色（コンポーネント０、１、２）よりなる画像をＪＰＥＧ２０００で符号化した場合のビットストリームの例を示す。
【００２４】
ＪＰＥＧ２０００の符号化方式は、いったん符号化されたビットストリームを復号すること無く、符号状態のままで再度圧縮して、必要な圧縮率を得られるという特徴がある。これは上記で説明したようにＪＰＥＧ２０００の符号は、パケットと呼ばれるコンポーネント（色成分）、サブバンド（解像度）、レイヤ毎の符号を組み合わせて構成されているため、一旦、符号化を行った後で、その符号の圧縮率が所望の圧縮率より悪ければ、復号した際の画質面から見て優先順位の低いパケットの復号データを順次破棄していくことで、圧縮率を上げる操作が可能であることによる。
【００２５】
図７で示される符号は可逆（ロスレス）であるが、例えば図８に示すように、図７の符号の各コンポーネントにおいて、優先順位の低い１ＨＬ、１ＬＨ、１ＨＨのレイヤＬのパケットを破棄することで、非可逆（ロッシー）であるが、図７の符号をさらに圧縮した（圧縮率を上げた）符号を得ることができる。
【００２６】
【発明が解決しようとする課題】
しかしながら、上述した如くＪＰＥＧ２０００は従来のＪＰＥＧの符号化手順と異なる手順を採用した結果、画像の圧縮・伸長に必要とされる演算処理量が増えてしまったという問題が知られている。一般に、ＪＰＥＧ２０００はＪＰＥＧに比べて画像の圧縮で５倍〜６倍、画像の伸長で３倍〜４倍の処理能力が必要だといわれている。
【００２７】
本発明は、上記の点に鑑みなされたもので、画像データにおける符号化処理及び／又は復号化処理に関する処理を効率的に高速に行うことを目的とする。
【００２８】
【課題を解決するための手段】
そこで、上記問題を解決するため、請求項１記載の発明は、ｍ×ｎ（但し、ｍ、ｎは共に１以上の自然数）の周波数領域信号に変換された画像信号を量子化して、信号の大きさをｋ（但し、ｋは１以上の自然数）ビットで表現した信号を、指定したアドレスに対応して記憶する第一の記憶モジュールを有する画像処理装置において、前記第一の記憶モジュールは、書き込み時のアドレスと読み出し時のアドレスとを有し、信号の書き込みのときはｋビット長の信号を１単位として、ｍ×ｎ個の信号を前記書き込み時のアドレスである物理アドレスに対応した順で記憶し、信号の読み出しのときは、前記読み出し時のアドレスであるｋビットの信号のビットの重みごとにふられたｋ個のアドレスと、同一の大きさの重みのビットが作る面においてａ×ｂ（但し、０＜ａ＜＝ｍ、０＜ｂ＜＝ｎ）ごとにふられたアドレスとに基づいて、読み出すことを特徴とする。
【００２９】
また、請求項２記載の発明は、前記第一の記憶モジュールを、画像信号を周波数領域信号に変換する周波数領域信号変換器と、前記周波数領域信号の符号器又は復号器との間に設けることを特徴とする。
【００３０】
また、請求項３記載の発明は、所定の大きさのブロック単位で周波数領域信号を書き込み又は読み出す第二の記憶モジュールを有し、前記第二の記憶モジュールから読み出した前記周波数領域信号を前記第一の記憶モジュールに書き込む一方、前記第一の記憶モジュールから読み出した前記周波数領域信号を前記第二の記憶モジュールに書き込むことを特徴とする。
【００３１】
また、請求項４記載の発明は、前記第一の記憶モジュールと前記第二の記憶モジュールとを二組以上有し、パイプライン処理によって前記第一の記憶モジュール及び前記第二の記憶モジュールからデータを読み出し又は書き込むことを特徴とする。
【００３２】
また、請求項５記載の発明は、前記画像処理装置は、ＪＰＥＧ２０００が規定する符号化及び／又は復号化の処理を行うことを特徴とする。
【００３３】
請求項１記載の発明によれば、ｍ×ｎ（但し、ｍ、ｎは共に１以上の自然数）の周波数領域信号に変換された画像信号を量子化して、信号の大きさをｋ（但し、ｋは１以上の自然数）ビットで表現した信号を、指定したアドレスに対応して記憶する第一の記憶モジュールを有する画像処理装置において、書き込み時のアドレスと読み出し時のアドレスとを有し、信号の書き込みのときはｋビット長の信号を１単位として、ｍ×ｎ個の信号を前記書き込み時のアドレスである物理アドレスに対応した順で記憶し、信号の読み出しのときは、前記読み出し時のアドレスであるｋビットの信号のビットの重みごとにふられたｋ個のアドレスと、同一の大きさの重みのビットが作る面においてａ×ｂ（但し、０＜ａ＜＝ｍ、０＜ｂ＜＝ｎ）ごとにふられたアドレスとに基づいて、読み出すことによって、ａ×ｂビットの信号を１単位として読み出すことより、効率的に特定の信号をビットスライスする方向に取り出すことができる。
【００３４】
請求項２記載の発明によれば、前記第一の記憶モジュールを、画像信号を周波数領域信号に変換する周波数領域信号変換器と、前記周波数領域信号の符号器又は復号器との間に設けることにより、ビットプレーン毎の符号化・復号化の処理を効率的に行うことができる。
【００３５】
請求項３記載の発明によれば、所定の大きさのブロック単位で周波数領域信号を書き込み又は読み出す第二の記憶モジュールを有し、前記第二の記憶モジュールから読み出した前記周波数領域信号を前記第一の記憶モジュールに書き込む一方、前記第一の記憶モジュールから読み出した前記周波数領域信号を前記第二の記憶モジュールに書き込むことにより、不要な演算を行うことなく所定の大きさのブロック単位で処理を行うことができる。
【００３６】
請求項４記載の発明によれば、前記第一の記憶モジュールと前記第二の記憶モジュールとを２つ以上有し、パイプライン処理を行うことにより、データの読み出し又は書き込みの処理における待ち時間を無くし、データの読み出し又は書き込みの処理速度を早めることができる。
【００３７】
請求項５記載の発明によれば、ＪＰＥＧ２０００の符号化及び／又は復号化の処理に前記画像処理装置を用いることにより、符号化及び／又は復号化の処理速度を早めることができる。
【００３８】
【発明の実施の形態】
以下、本発明の実施の形態について図面に基づいて説明する。なお、本発明の実施の形態は、ＪＰＥＧ２０００ベースにして説明する。
【００３９】
図８に本発明の実施における１チップの符号化・復号化器４０の例を示す。図８では、説明に必要な構成を表し、説明に必要の無い構成を省略してある。以下の図面においても同じである。
【００４０】
図８の復号化・符号化器４０は、前・後処理部４１、２次元離散ウェーブレット変換部（ＤＷＴ／ＩＤＷＴ）４２、メモリーコントローラー４３、ウェーブレット係数ワークメモリ４４、ビットプレーン生成モジュール（ＪＳＲ）４５、エントロピー符号・復号化部４６、符号メモリ（ＣＯＤ＿ＭＥＭ）４７、符号構成部４８、ヘッダー処理部４９、ＰＬＬ（Ｐｈａｓｅ　Ｌｏｃｋｅｄ　Ｌｏｏｐ）回路５０及びＣＰＵＩ／Ｆ５１から構成されている。
【００４１】
前・後処理部４１は、符号化の際は画像データを画像データバスＩＭＤ１９−０から得て、例えばレベルシフトを行い、ＲＧＢ（赤、緑、青）データをＹＣｂＣｒ（輝度成分・色差成分）データに変換する。また、復号化の際はその逆変換を行う。
【００４２】
２次元離散ウェーブレット変換部（ＤＷＴ／ＩＤＷＴ）４２は、２次元離散ウェーブレット変換及びその逆変換を行う。
【００４３】
メモリーコントローラー４３は、符号化の際はウェーブレット係数ワークメモリ４４及びビットプレーン生成モジュール（ＪＳＲ）４５を管理しており、ウェーブレット係数データをウェーブレット係数ワークメモリ４４に格納して、格納したウェーブレット係数データをコードブロック単位でビットプレーン生成モジュール４５に渡す。また、復号化の際はその逆の処理を行う。
【００４４】
ビットプレーン生成モジュール４５は、符号化の際はコードブロック単位で渡されたウェーブレット係数データを格納し、前記ウェーブレット係数データをビットプレーン単位でエントロピー符号化・復号化部４６に渡す。また、復号化の際はその逆の処理を行う。
【００４５】
エントロピー符号化・復号化部４６は、符号化の際は前記ビットプレーン生成モジュール４５より取得したビットプレーン単位のウェーブレット係数データを基にエントロピー符号化を行い、符号化したデータを符号メモリ４７に格納する。また、復号化の際はその逆の処理を行う。
【００４６】
符号形成部４８は、符号化の際は符号形成を行い、生成した符号にヘッダー処理部４９で生成したヘッダーを付加して符号データバスＣＯＤ７−０によりビットストリームを有する符号データフォーマットを出力する。また、復号化の際は、符号データバスＣＯＤ７−０からビットストリームを有する符号データフォーマットを得て、符号化の際とは逆の処理を行う。
【００４７】
ＰＬＬ回路５０は、符号化・復号化器４０のクロックを生成する。
【００４８】
ＣＰＵＩ／Ｆ５１は、符号化・復号化器４０と外部に設けられたＣＰＵとのインターフェースをとる。
【００４９】
次に、コードブロック単位でウェーブレット係数データの読み書きが可能なウェーブレット係数ワークメモリ４４について、説明する。
【００５０】
図９は、Ｙ成分のコンポーネントに対して３レベルのウェーブレット変換を行った例を説明するための図である。図９では、タイルサイズは１０２４×１０２４で、画像サイズが９６０×７２０の画像データをウェーブレット変換した結果を示している。また、図において斜線を引いている部分が、ウェーブレット係数データが存在している部分である。
【００５１】
図１０は、Ｙ成分のウェーブレット係数データをウェーブレット係数ワークメモリ４４上に配置した一例を説明するためのメモリマップ図である。図１０中のアドレスは、全てオフセットアドレスを用いて記述してある。また、図９は３レベルのウェーブレット変換を行った場合の例を示したが、図１０においては、ＪＰＥＧ２０００のデフォルトである５レベルまで行った場合の例を示してある。
【００５２】
ここで、レベル１までしか使用しない場合は、レベル１のＬＬ成分をウェーブレット係数ワークメモリ４４に格納する。レベル２以上を使用する場合は、レベル１のＬＬ成分は格納せず、代わりにレベル２の成分を格納する。以降のレベルについても同様の操作を繰り返し、データを格納する。
【００５３】
図１１は、ウェーブレット係数データが配置されたサブバンドをコードブロックに分割した一例を説明するための図である。図において斜線を引いている部分が、前記ウェーブレット係数データが存在している部分である。
【００５４】
サブバンド内の水平方向のサイズは固定なので、各コードブロックの先頭アドレスと、各ラインの先頭アドレスは計算可能である。ウェーブレット係数データがコードブロック内に存在する場合は、前記計算したアドレスより、コードブロックを単位としてウェーブレット係数データを読み出し、ビットプレーン生成モジュール４５に書き込む。コードブロック内にウェーブレット係数データが存在しない場合は、０（ゼロ）をビットプレーン生成モジュール４５に書き込む。復号化の際はその逆の処理を行う。
【００５５】
上述の如く、ウェーブレット係数ワークメモリ４４上にウェーブレット係数データを配置することで、コードブロックを単位に、データの読み込み又は書き込みが可能となる。
【００５６】
図１２にビットプレーン生成モジュールの概念図を示す。図１２では、ｍ×ｎのサイズのデータのビット長方向にウェーブレット係数データを記憶した後、ビットスライスする方向にａ×ｂビットのデータを取り出すこと示している。取り出したデータを用いて、ビットプレーンが生成され、このビットプレーンを単位としてそれ以降の圧縮・伸長の処理を行っていく。圧縮・伸長の方法は算術符号化（ＭＱコーダ）を使用する。
【００５７】
図１３にビットプレーン生成モジュールにおける具体的なアドレス指定の一例を示す。図１３では、図１２中のｍを６４、ｎを６４、ｋを１６としている。
【００５８】
図中、物理アドレスに対応した０００（１６進数）からＦＦＦ（１６進数）で表されるウェーブレットアドレスをビットプレーン生成モジュール４５に対して設定する。こうすることにより、前記設定したウェーブレットアドレスを指定して、１単位が１６ビットのウェーブレット係数データを６４×６４個、書き込み又は読み込むことが可能となる。
【００５９】
一方、４×４個のウェーブレット係数を一つの領域として、前記ウェーブレットアドレスとは異なった、ビットスライスする方向にふられたアドレス（ＭＱアドレス）をビットプレーン生成モジュール４５に対して設定する。また、ウェーブレット係数データの大きさの重みごとにふられたアドレスとして、ビットプレーンアドレスを割り当てる。
【００６０】
上記２つのアドレス（ＭＱアドレスと、ビットプレーンアドレス）を割り当てることにより、ウェーブレット係数データをビットスライスしたデータについて４×４ビットの単位で読み込み又は書き込むことが可能となる。ビットプレーン生成モジュール４５からデータを読み込んだ場合は、コードブロック単位のビットプレーンデータを生成することが可能となる。
【００６１】
次にビットプレーン生成モジュール４５と、ウェーブレット係数ワークメモリ４４と、符号メモリ４７とをそれぞれ２組持ち、パイプライン処理によって画像の符号化・復号化処理を行う一例を示す。
【００６２】
図１４は、パイプライン処理を用いた符号化・復号化器の構成の一例を説明するための図である。図１４の説明図では、図８と同一部分には同一符号を付して説明を省略している。図８と異なる点は、ウェーブレット係数ワークメモリ４４と、ビットプレーン生成モジュール４５と、符号メモリ４７とがそれぞれ２組（ウェーブレット係数ワークメモリ４４１、ウェーブレット係数ワークメモリ４４２、ビットプレーン生成モジュール４５１、ビットプレーン生成モジュール４５２、符号メモリ４７１、符号メモリ４７２）存在する点のみである。
【００６３】
次に前記符号化器を用いた画像データの符号化において、パイプライン処理を用いた場合と、用いなかった場合の符号化の処理手順を説明する。
【００６４】
図１５は、符号化の処理手順を示すタイミング図である。図１５の（Ａ）を参照しつつ、前記パイプライン処理を用いなかった場合の符号化の処理手順を説明する。
【００６５】
ステップＳ１０で、ウェーブレット係数データ２１をウェーブレット変換ワークメモリ４４に書き込む。書き込みが完了すると（図中（１））、ステップＳ１０に引き続きステップＳ１１に進み、前記ウェーブレット変換ワークメモリ４４に書き込んだウェーブレット係数データ２１をコードブロック単位でビットプレーン生成モジュール４５にラッチしていく。図１５中、７０は、ウェーブレット係数データ２１の１コードブロックを表すものである。
【００６６】
１コードブロックのラッチが完了すると（図中（２））、ステップＳ１２に進み、ビットプレーン生成モジュール４５からウェーブレット係数データ２１をコードブロック単位で読み出し、エントロピー符号化部４６に渡す。エントロピー符号化部４６では、コードブロック単位でＭＱ符号化を行う。
【００６７】
ＭＱ符号化が終了したら（図中（３））、ステップＳ１２に引き続き、ステップＳ１３に進み、コードブロック単位で符号化したデータを符号メモリ４７に格納する（図中（４））。
【００６８】
ここで、前記ＭＱ符号化が終了した時点（図中（３））で、ビットプレーン生成モジュール４５がラッチしているウェーブレット係数データは必要なくなる。そこで、ビットプレーン生成モジュール４５では、次のコードブロックの処理を開始する（図中（５））。
【００６９】
また、ビットプレーン生成モジュール４５において、全てのコードブロック単位のウェーブレット係数データの処理が完了した時点（図中（６））で、ウェーブレット係数ワークメモリ４４が保持しているウェーブレット係数データは必要なくなる。そこで、ウェーブレット係数ワークメモリ４４では、次のウェーブレット係数データの書き込みを開始する（図中（７））。
【００７０】
このような処理手順によって、画像データの符号化を行うことができる。しかしながら、図１５の（Ａ）の構成では、図中（１）から（７）までの間、ウェーブレット係数ワークメモリ４４は、ウェーブレット係数データを保持しておく必要があり、次のデータを書き込むことができない。同様に、ビットプレーン生成モジュール４５においても、図中（２）から（５）の間は、次工程のＭＱコーダでの処理が完了していないので、ラッチしているウェーブレット係数データを次のデータに書き替えることができずに、休止状態となっている。
【００７１】
図１５の（Ｂ）に、パイプライン処理を用いた場合の符号化の処理手順を示す。
【００７２】
ステップＳ２０で、ウェーブレット係数データ２１をウェーブレット変換ワークメモリ４４１に書き込む。前記図１５の（Ａ）と比較して、（Ｂ）は、図１４に示すが如くウェーブレット変換ワークメモリ４４２が存在するため、ウェーブレット変換ワークメモリ４４１への書き込みが完了すると（図中（２０））すぐにステップＳ２１で、２個目のウェーブレット変換ワークメモリ４４２への、ウェーブレット係数データ２１の書き込みが開始される（図中（２１））。
【００７３】
一方、ステップＳ２０に引き続きステップＳ２２に進み、前記ウェーブレット変換ワークメモリ４４１に書き込んだウェーブレット係数データ２１をコードブロック単位でビットプレーン生成モジュール４５にラッチしていく。ここでも１つ目のコードブロックをビットプレーン生成モジュール４５１にラッチした後（図中（２２））、すぐに２つ目のコードブロックをビットプレーン生成モジュール４５２にラッチする（図中（２３））ことにより、符号データの出力まで、休止期間を置かずに、処理を進めていくことが可能となる。また、符号化の逆の手順を行うことで、復号化におけるモジュールの休止期間も無くすことが可能となり、処理効率が改善される。
【００７４】
本発明は、ＪＰＥＧ２０００が規定する符号化又は復号化の処理に限らない。
【００７５】
また、本発明のパイプライン処理は、ウェーブレット係数ワークメモリ４４、ビットプレーン生成モジュール４５のそれぞれが２組以上だけでも実施可能であり、また、それぞれ２組以上の組み合わせでも良い。
【００７６】
【発明の効果】
上述の如く本発明によれば、画像データにおける符号化処理及び／又は復号化処理に関する処理を効率的に高速に行うことができる。
【００７７】
【図面の簡単な説明】
【図１】ＪＰＥＧ２０００の符号化の流れを説明するための図である。
【図２】画像データを１２８×１２８の大きさのタイルに分割し、レベル２の２次元離散ウェーブレット変換を行った場合の例を説明するための図である。
【図３】スカラー量子化の式である。
【図４】各サブバンド毎にエントロピー符号化した場合におけるサブバンド２ＬＬとその算術符号器の処理を説明するための図である。
【図５】３Ｎ＋１個のパス毎に算術符号器で生成された符号をレイヤ０からレイヤＬまでのＬ＋１個のレイヤにまとめている様子を示す図である。
【図６】ビットストリームを説明するための図である。
【図７】３色（コンポーネント０、１、２）より成る画像をＪＰＥＧ２０００で符号化した場合のビットストリームの図である。
【図８】符号化・復号化器の構成例を説明するための図である。
【図９】Ｙ成分のコンポーネントに対して３レベルのウェーブレット変換を行った例を説明するための図である。
【図１０】ウェーブレット係数データをメモリ上に配置した一例を説明するための図である。
【図１１】ウェーブレット係数データが配置されたサブバンドをコードブロックに分割した一例を説明するための図である。
【図１２】ビットプレーン生成モジュールの概念図である。
【図１３】ビットプレーン生成モジュールにおける具体的なアドレス指定の一例を示す図である。
【図１４】パイプライン処理を用いた符号化・復号化器の構成の一例を説明するための図である。
【図１５】符号化の処理手順を示すタイミング図である。
【符号の説明】
１　　画像データ
２　　符号化データ
１０　ＤＷＴ部
１１　量子化器
１２　係数モデリング部
１３　算術符号器
１４　符号形成部
２０　１タイルの画像データ
２１　ウェーブレット係数データ
３８　エントロピー符号
４０　符号化・復号化器
４１　前・後処理部
４２　ＤＷＴ／ＩＤＷＴ
４３　メモリーコントローラー
４４　ウェーブレット係数ワークメモリ
４５　ビットプレーン生成モジュール（ＪＳＲ）
４６　エントロピー符号・復号化部
４７　符号メモリ（ＣＯＤ＿ＭＥＭ）
４８　符号構成部
４９　ヘッダー処理部
５０　ＰＬＬ（Ｐｈａｓｅ　Ｌｏｃｋｅｄ　Ｌｏｏｐ）回路
５１　ＣＰＵＩ／Ｆ
【図１】
2004040388.tif 000003
【図２】
2004040388.tif 000004
【図３】
2004040388.tif 000005
【図４】
2004040388.tif 000006
【図５】
2004040388.tif 000007
【図６】
2004040388.tif 000008
【図７】
2004040388.tif 000009
【図８】
2004040388.tif 000010
【図９】
2004040388.tif 000011
【図１０】
2004040388.tif 000012
【図１１】
2004040388.tif 000013
【図１２】
2004040388.tif 000014
【図１３】
2004040388.tif 000015
【図１４】
2004040388.tif 000016
【図１５】
2004040388.tif 000017