(57)【要約】【課題】画像に関するデータを処理する複数の処理部の一部に、他の処理部に比べて時間を要する処理を実行する高負荷処理部を備える画像処理装置において、上記高負荷処理部の駆動クロックを他の処理部に比べて大幅に上げることなく、各処理部において処理に要する時間の整合を行い得る画像処理装置を提供する。【解決手段】本発明の画像処理装置は、画像に関するデータを処理する複数の処理部の一部に、他の処理部に比べて時間を要する処理を実行する高負荷処理部を備える画像処理装置において、上記高負荷処理部を複数並列に用意し、上記画像に関するデータを上記複数の高負荷処理部に分配するデータ分配部と、上記複数の高負荷処理部で処理の終了したデータを、上記画像に関するデータを１つの高負荷処理部で処理した場合に得られるデータと同じにして出力するデータ合成部とを備えることを特徴とする。【選択図】　図２
2004030515.tif 000002
【特許請求の範囲】
【請求項１】
画像に関するデータを処理する複数の処理部の一部に、他の処理部に比べて時間を要する処理を実行する高負荷処理部を備える画像処理装置において、
上記高負荷処理部を複数並列に用意し、上記画像に関するデータを上記複数の高負荷処理部に分配するデータ分配部と、上記複数の高負荷処理部で処理の終了したデータを、上記画像に関するデータを１つの高負荷処理部で処理した場合に得られるデータと同じにして出力するデータ合成部とを備えることを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
上記データ分配部は、入力されたデータを一旦メモリに格納し、当該メモリから各高負荷処理部へデータを分けて出力する画像処理装置。
【請求項３】
請求項１に記載の画像処理装置において、
上記データ分配部は、入力されたデータをデータ量に基づいて各高負荷処理部に直接分けて出力する画像処理装置。
【請求項４】
請求項１乃至３の何れかに記載の画像処理装置において、
上記データ合成部は、各高付加処理部で処理の終了したデータを、上記画像に関するデータを１つの高負荷処理部で処理した場合に得られるデータと同じになる様にメモリに格納し、全ての高負荷処理部での処理終了後にメモリからデータを出力する画像処理装置。
【請求項５】
請求項１乃至３の何れかに記載の画像処理装置において、
上記データ合成部は、各高負荷処理部で処理の終了したデータを記憶する個別の記憶手段を備え、全ての高負荷処理部での処理終了後、上記画像に関するデータを１つの高負荷処理部で処理した場合に得られるデータと同じになる様に上記各高負荷処理部に対応する記憶手段に記憶しているデータを出力する画像処理装置。
【請求項６】
請求項１乃至請求項５の何れかに記載の画像処理装置において、
上記他の処理部がデータ単位で処理するのに対して、上記高負荷処理部が上記データを構成するビットデータの単位で処理を行う画像処理装置。
【請求項７】
請求項１乃至請求項６の何れかに記載の画像処理装置はＪＰＥＧ２０００形式の画像処理装置であって、
上記高負荷処理部は、係数モデリング及びＭＱ符号化処理を実行する処理部である画像処理装置。
【請求項８】
画像に関するデータについて行う複数の処理の一部に、他の処理に比べて時間を要する高負荷処理を含む画像処理方法において、
上記画像に関するデータを複数に分割し、分割した各データに対して上記高負荷処理を並列に実行し、実行後のデータを、上記画像に関するデータを１つの高負荷処理部で処理した場合に得られるデータと同じにして出力することを特徴とする画像処理方法。
【請求項９】
請求項８に記載の画像処理方法において、
他の処理がデータ単位で処理を行うのに対して、上記高負荷処理は上記データを構成するビットデータを単位として処理を行う画像処理方法。
【請求項１０】
請求項８又は請求項９に記載の画像処理方法は、ＪＰＥＧ２０００形式に従う画像処理方法であって、
上記高負荷処理は、係数モデリング及びＭＱ符号化処理である画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像に関するデータを処理する複数の処理部の一部に、他の処理部に比べて時間を要する処理を実行する高負荷処理部を備える画像処理装置及び画像処理方法に関する。
【０００２】
【従来の技術】
画像に関するデータに対して所定の処理を実行する画像処理装置には、画像に関するデータを処理する複数の処理部の一部に、他の処理部に比べて時間を要する処理を実行する高負荷処理部を備えるものがある。上記高負荷処理部としては、例えば、駆動クロックの周波数が同じ場合において、他の処理部が画像データ単位で処理を行うのに対して、上記画像データを構成するビットデータ単位で処理を行う処理部が該当する。このような高負荷処理部を備える画像処理装置としては、ＪＰＥＧ２０００形式の画像処理装置が挙げられる。ＪＰＥＧ２０００形式の画像処理装置においては、以下に説明するように、係数モデリング及びＭＱ符号化処理を実行する処理部が上記の高負荷処理部に相当する。
【０００３】
図１１は、ＪＰＥＧ２０００形式の画像処理装置３００の構成を示す図である。画像データは、まず、色変換部３０１においてＹ（輝度）、Ｃｒ（色差）、Ｃｂ（色差）に変換される。不可逆変換フィルタを用いる離散ウェーブレット変換部３０２は、所定レベルの離散ウェーブレット変換を行い、求められるウェーブレット係数を次段の量子化部３０３に出力する。量子化部３０３では、スカラー量子化を実行する。
【０００４】
次の係数モデリング部３０４では、ウェーブレット係数を各サブバンド内で所定サイズのブロックに分割し、ブロック単位で、上記スカラー量子化されたデータを上位ビットから順にビットプレーンに分解する。係数モデリング部３０４では、ビットプレーンに分解された各ウェーブレット係数を３通りの符号化パスに分けてビットデータ単位で係数符号化する。
【０００５】
ＭＱ符号化部３０５は、上記係数モデリング部４においてビットデータ単位で係数符号化された画像データに対して２値算術符号化処理を行い、得られる符号データを符号形成部３０６に出力する。
【０００６】
符号形成部３０６は、上記ＭＱ符号化部３０５において求められる符号データの所定の箇所に、符号化に関する情報等のデータを付加してコードストリームと呼ばれる一連の符号データを形成し、これを出力する。
【０００７】
【発明が解決しようとする課題】
上記各処理部の内、色変換部３０１、離散ウェーブレット変換部３０２、及び量子化部３０３は、８ビットや１６ビット等の画像データ単位で処理を実行する。これに対して、係数モデリング部３０４及びＭＱ符号化部３０５では、上記画像データ等を構成するビットデータ単位で処理を実行する。即ち、係数モデリング部３０４及びＭＱ符号化部３０５は、他の処理部に比べて処理データ量が多く、処理に時間を要する高負荷処理部（図中、高負荷処理部Ａと記す。）であるといえる。
【０００８】
色変換部３０１、離散ウェーブレット変換部３０２及び量子化部３０３において、８ビットの画像データを１２ビットの離散ウェーブレット係数に変換する場合、量子化部３０３から出力されるデータを、大きなバッファメモリを介さずにスムーズに処理するには、係数モデリング部３０４及びＭＱ符号化部３０５の処理速度、即ち駆動クロックの周波数を１２倍にする必要がある。このように、駆動クロックの周波数を大幅に高めるには、個別にクロック信号の発生装置を用意するか、又はサイズの大きな周波数逓倍回路を必要とする。
【０００９】
本発明は、画像に関するデータを処理する複数の処理部の一部に、他の処理部に比べて時間を要する処理を実行する高負荷処理部を備える画像処理装置において、上記高負荷処理部の駆動クロックを他の処理部に比べて大幅に上げることなく、各処理部において処理に要する時間の整合が行い易い画像処理装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明の第１の画像処理装置は、画像に関するデータを処理する複数の処理部の一部に、他の処理部に比べて時間を要する処理を実行する高負荷処理部を備える画像処理装置において、上記高負荷処理部を複数並列に用意し、上記画像に関するデータを上記複数の高負荷処理部に分配するデータ分配部と、上記複数の高負荷処理部で処理の終了したデータを、上記画像に関するデータを１つの高負荷処理部で処理した場合に得られるデータと同じにして出力するデータ合成部とを備えることを特徴とする。
【００１１】
本発明の第２の画像処理装置は、上記第１の画像処理装置において、上記データ分配部は、入力されたデータを一旦メモリに格納し、当該メモリから各高負荷処理部へデータを分けて出力することを特徴とする。
【００１２】
本発明の第３の画像処理装置は、上記第１の画像処理装置において、上記データ分配部は、入力されたデータをデータ量に基づいて各高負荷処理部に直接分けて出力することを特徴とする。
【００１３】
本発明の第４の画像処理装置は、上記何れかの画像処理装置において、上記データ合成部は、各高付加処理部で処理の終了したデータを、上記画像に関するデータを１つの高負荷処理部で処理した場合に得られるデータと同じになる様にメモリに格納し、全ての高負荷処理部での処理終了後にメモリからデータを出力することを特徴とする。
【００１４】
本発明の第５の画像処理装置は、上記第１乃至第３の何れかの画像処理装置において、上記データ合成部は、各高負荷処理部で処理の終了したデータを記憶する個別の記憶手段を備え、全ての高負荷処理部での処理終了後、上記画像に関するデータを１つの高負荷処理部で処理した場合に得られるデータと同じになる様に上記各高負荷処理部に対応する記憶手段に記憶しているデータを出力することを特徴とする。
【００１５】
本発明の第６の画像処理装置は、上記何れかの画像処理装置において、上記他の処理部がデータ単位で処理するのに対して、上記高負荷処理部が上記データを構成するビットデータの単位で処理を行うことを特徴とする。
【００１６】
本発明の第７の画像処理装置は、上記何れかの画像処理装置は、ＪＰＥＧ２０００形式の画像処理装置であって、上記高負荷処理部は、係数モデリング及びＭＱ符号化処理を実行する処理部であることを特徴とする画像処理装置。
【００１７】
本発明の第１の画像処理方法は、画像に関するデータについて行う複数の処理の一部に、他の処理に比べて時間を要する高負荷処理を含む画像処理方法において、上記画像に関するデータを複数に分割し、分割した各データに対して上記高負荷処理を並列に実行し、実行後のデータを、上記画像に関するデータを１つの高負荷処理部で処理した場合に得られるデータと同じにして出力することを特徴とする。
【００１８】
本発明の第２の画像処理方法は、上記第１の画像処理方法において、他の処理がデータ単位で処理を行うのに対して、上記高負荷処理は上記データを構成するビットデータを単位として処理を行うことを特徴とする。
【００１９】
本発明の第３の画像処理方法は、上記第１又は第２の画像処理方法は、ＪＰＥＧ２０００形式に従う画像処理方法であって、上記高負荷処理は、係数モデリング及びＭＱ符号化処理であることを特徴とする。
【００２０】
【発明の実施の形態】
（１）全体構成
以下、添付の図面を用いて実施の形態１に係るＪＰＥＧ２０００形式の画像処理装置１について説明する。画像処理装置１は、４つの係数モデリング及びＭＱ符号化処理部（処理データ量が多く処理に時間を要する高負荷処理部である。）を備え、量子化した一連のウェーブレット係数を、データ量が略同じになる様に上記４つの係数モデリング及びＭＱ符号化部に分配し、上記４つの係数モデリング及びＭＱ符号化部での処理が終了した符号データを、上記量子化後の一連のウェーブレット係数を１つの係数モデリング及びＭＱ符号化部において処理した場合に生成される符号データと同じになる様に合成して出力するものを備えることを特徴とする。これにより、８ビット等のデータ単位で処理を行う前段の各処理部とビットデータ単位で処理を行う係数モデリング及びＭＱ符号化処理間部との処理に要する時間の差を、当該係数モデリング及びＭＱ符号化部の動作クロックの周波数を極端に高くすることなく吸収することができる。
【００２１】
図１は、画像処理装置１の構成を示す図である。画像データは、まず、色変換部２においてＹ（輝度）、Ｃｒ（色差）、Ｃｂ（色差）の３つの信号に変換される。不可逆変換フィルタを用いる離散ウェーブレット変換部３は、上記３つの信号それぞれに対してレベル３の離散ウェーブレット変換を行い、求められるウェーブレット係数を次段の量子化部４に出力する。量子化部４では、スカラー量子化を実行する。
【００２２】
並列信号処理部５では、量子化後のウェーブレット係数を、処理データ量が同じ程度になるようにサブバンド単位で４つのグループに分け、各グループ別に用意した４つの係数モデリング及びＭＱ符号化処理部（高負荷処理部である。）で並列処理した後に、上記量子化後のウェーブレット係数を１つの係数モデリング及びＭＱ符号化処理部で処理した場合に得られるデータと同じになる様に合成して出力する。当該並列信号処理部５については、後に詳しく説明する。
【００２３】
符号形成部６は、並列信号処理部５において生成された一連の符号データの所定箇所に、符号化に関する情報等の付加情報を追加したデータをコードストリームと呼ばれる最終的な符号データとして出力する。
【００２４】
（２）並列信号処理部
図２は、並列信号処理部５の構成を示す図である。並列信号処理部５は、それぞれ同じ構成の第１信号処理部１０、第２信号処理部１１、及び第３信号処理部１２で構成されている。各信号処理部には、初段の色変換部２においてＹ（輝度）、Ｃｒ（色差）、Ｃｂ（色差）の３つの信号に変換された画像データを離散ウェーブレット変換部３及び量子化部４で処理したデータがそれぞれ入力される。
【００２５】
以下、第１信号処理部１０の構成について説明する。係数メモリ１３は、入力されるＹ（輝度）についての量子化後のウェーブレット係数を、処理データ量が略同じになる様に、サブバンド単位で４つのグループに分け、分けた各グループのウェーブレット係数のデータを個別に設けた係数モデリング及びＭＱ符号化部１４〜１７に出力する。即ち、係数メモリ１３は、入力されるデータを４つの係数モデリング及びＭＱ符号化処理部１４〜１７に分配するデータ分配部として機能する。係数メモリ１３の構成及び動作については、後に詳しく説明する。
【００２６】
係数モデリング及びＭＱ符号化部１４〜１７では、ＪＰＥＧ２０００の規定に従い、入力されたウェーブレット係数のデータをブロック単位でビットプレーンに分割し、各ビットプレーンについて３通りの符号化パスに分けてビットデータ単位で係数符号化し、更に、係数符号化後のデータをＭＱ符号化処理として２値算術符号化して符号化後のデータを符号メモリ部１８に出力する。即ち、係数モデリング及びＭＱ符号化部１４〜１７は、他の処理部に比べて処理データ量が多く、処理に時間を要する高負荷処理部（図中、括弧書きで高負荷処理部Ａ１〜Ａ４と記す。）であるといえる。
【００２７】
符号メモリ部１８では、係数モデリング及びＭＱ符号化部１４〜１７から出力された符号データを、量子化されたウェーブレット係数を１つの係数モデリング及びＭＱ符号化処理部で処理した場合に得られる符号データと同じになる様に合成して出力する。符号メモリ部１８については後に詳しく説明する。即ち、符号メモリ部１８は、各係数モデリング及びＭＱ符号化部１４〜１７で生成された符号データを、量子化後のウェーブレット係数を１つの係数モデリングおよびＭＱ符号化部で処理した場合に得られる符号データと同じになる様に、合成して出力するデータ合成部として機能する。
【００２８】
（３）係数メモリ
図３は、係数メモリ１３の構成を示す図である。係数メモリ１３は、入力されるウェーブレット係数のデータを、一旦メモリ２０に格納した後、３ＬＬ，３ＬＨ，３ＨＬ，３ＨＨ，２ＬＨ，２ＨＬ，２ＨＨのサブバンドのグループ（以下、第１グループと呼ぶ）、１ＬＨのサブバンドのグループ（以下、第２グループと呼ぶ。）、１ＨＬのサブバンドのグループ（以下、第３グループと呼ぶ。）、及び１ＨＨのサブバンドのグループの４つのグループ（以下、第４グループと呼ぶ。）に分けて順に読み出し、第１グループのデータをセレクタ３１の出力端子３１ａから係数モデリング及びＭＱ符号化部１４に出力し、第２グループのデータをセレクタ３１の出力端子３１ｂから係数モデリング及びＭＱ符号化部１５に出力し、第３グループのデータをセレクタ３１の出力端子３１ｃから係数モデリング及びＭＱ符号化部１６に出力し、第４グループのデータをセレクタ３１の出力端子３１ｄから係数モデリング及びＭＱ符号化部１７に出力する。
【００２９】
以下、係数メモリ１３の回路構成について詳しく説明する。量子化後のウェーブレット係数は、まず、メモリ２０及びカウンタ２１に入力される。カウンタ２１は、入力されるウェーブレット係数のデータ量をカウントし、カウント値を４つの比較器２２，２４，２６，２８の一方の信号入力端子に入力する。
【００３０】
比較器２２は、３ＬＬ，３ＬＨ，３ＨＬ，３ＨＨ，２ＬＨ，２ＨＬ及び２ＨＨのサブバンド全てのデータ量を基準値ｒｅｆ１とし、カウント値が当該値を超えた場合にＨｉｇｈレベルの信号をレジスタ２３のデータ出力要求端子に出力する。レジスタ２３には、メモリ２０内における３ＬＬ，３ＬＨ，３ＨＬ，３ＨＨ，２ＬＨ，２ＨＬ及び２ＨＨのサブバンドのウェーブレット係数のデータを読み出すのに必要な第１アドレス指定データが格納されており、比較器２２からのＨｉｇｈレベルの信号に応じて当該第１アドレス指定データをメモリ２０のアドレス指定端子２０ａに出力する。メモリ２０は、上記第１アドレス指定データの入力に応じて、３ＬＬ，３ＬＨ，３ＨＬ，３ＨＨ，２ＬＨ，２ＨＬ及び２ＨＨのサブバンドのウェーブレット係数のデータをセレクタ３１に出力する。
【００３１】
比較器２４は、上記基準値ｒｅｆ１に１ＬＨのサブバンドのデータ量を加算した値を基準値ｒｅｆ２とし、カウンタ２１のカウント値が当該基準値ｒｅｆ２を超えた場合にＨｉｇｈレベルの信号をレジスタ２５のデータ出力要求端子に出力する。レジスタ２５には、メモリ２０内における１ＬＨのサブバンドのウェーブレット係数のデータを読み出すのに必要な第２アドレス指定データが格納されており、比較器２４からのＨｉｇｈレベルの信号に応じて当該第２アドレス指定データをメモリ２０のアドレス指定端子２０ａに出力する。メモリ２０は、上記第２アドレス指定データの入力を受けて、１ＬＨのサブバンドのウェーブレット係数のデータをセレクタ３１に出力する。
【００３２】
比較器２６は、上記基準値ｒｅｆ２に１ＨＬのサブバンドのデータ量を加算した値を基準値ｒｅｆ３とし、カウント値が当該基準値ｒｅｆ３を超えた場合にＨｉｇｈレベルの信号をレジスタ２７のデータ出力要求端子に出力する。レジスタ２７には、メモリ２０内における１ＨＬのサブバンドのウェーブレット係数のデータを読み出すのに必要な第３アドレス指定データが格納されており、比較器２６からのＨｉｇｈレベルの信号に応じて当該第３アドレス指定データをメモリ２０のアドレス指定端子２０ａに出力する。メモリ２０は、上記第３アドレス指定データの入力を受けて１ＨＬのサブバンドのウェーブレット係数のデータをセレクタ３１に出力する。
【００３３】
比較器２８は、上記基準値ｒｅｆ３に１ＨＨのサブバンドのデータ量を加算した値を基準値ｒｅｆ４とし、カウント値が当該基準値ｒｅｆ４を超えた場合にＨｉｇｈレベルの信号をレジスタ２９のデータ出力要求端子に出力する。レジスタ２９には、メモリ２０内における１ＨＨのサブバンドのウェーブレット係数のデータを読み出すのに必要な第４アドレス指定データが格納されており、比較器２８からのＨｉｇｈレベルの信号に応じて当該第４アドレス指定データをメモリ２０のアドレス指定端子２０ａに出力する。メモリ２０は、上記第４アドレス指定データの入力を受けて１ＨＨのサブバンドのウェーブレット係数のデータをセレクタ３１に出力する。
【００３４】
上記比較器２２，２４，２６，２８から出力される信号は、ターミネーション信号Ｔ１，Ｔ２，Ｔ３，Ｔ４として符号メモリ部１８に出力される。当該ターミネーション信号Ｔ１〜Ｔ４を用いる処理の内容の説明は、後述の符号メモリ部１８の詳しい説明の欄で行う。
【００３５】
また、比較器２４，２６，２８の出力する信号は、それぞれ加算器３０に入力される。加算器３０は、入力される３つの信号の内、Ｈｉｇｈレベルの信号の数を求め、求めた値を２ビットの選択信号としてセレクタ３１の選択信号入力端子３１ｆに出力する。上述したように、比較器２４，２６，２８は、それぞれ１ＬＨ，１ＨＬ，１ＨＨのサブバンドのウェーブレット係数のデータがメモリ２０に格納完了すると同時にＨｉｇｈレベルの信号を出力する。即ち、加算器３０は、メモリ２０への１ＬＨのサブバンドのウェーブレット係数のデータが格納完了するまでは、選択信号として“００”を選択信号入力端子３１ｆに出力する。セレクタ３１は、“００”の選択信号の入力を受けている間、信号入力端子３１ａに入力されるデータを信号出力端子３１ｂより出力する。従って、選択信号が“００”の期間中に、メモリ２０に格納された３ＬＬ，３ＬＨ，３ＨＬ，２ＬＨ，２ＨＬ，２ＨＨのサブバンドのウェーブレット係数のデータがセレクタ３１の信号出力端子３１ｂから出力される。
【００３６】
加算器３０は、メモリ２０への１ＬＨのサブバンドのウェーブレット係数のデータの格納が完了すると、選択信号として“０１”をセレクタ３１の選択信号入力端子３１ｆに出力する。セレクタ３１は、“０１”の選択信号を受けて信号入力端子３１ａに入力されるデータを信号出力端子３１ｃより出力する。選択信号が“０１”の期間中、メモリ２０に格納された１ＬＨのサブバンドのウェーブレット係数のデータがセレクタ３１の信号出力端子３１ｃから出力される。
【００３７】
以下同様に、加算器３１は、メモリ２０への１ＨＬ，１ＨＨのサブバンドのウェーブレット係数が格納完了すると選択信号としてそれぞれ“１０”，“１１”をセレクタ３１の選択端子に出力する。セレクタ３１は、“１０”，“１１”の選択信号を受けて信号入力端子３１ａに入力されるデータをそれぞれ信号出力端子３１ｄ，３１ｅに出力する。選択信号が“１０”，“１１”の期間中、それぞれメモリ２０に格納された１ＨＬ，１ＨＨのサブバンドのウェーブレット係数のデータがセレクタの信号出力端子３１ｄ，３１ｅから出力される。
【００３８】
（４）符号メモリ部
図４は、符号メモリ部１８の構成を示す図である。符号メモリ部１８では、係数モデリング及びＭＱ符号化部１４〜１７からそれぞれ出力される符号データを一旦メモリ５８に格納した後、量子化後のウェーブレット係数が１つの係数モデリング及びＭＱ符号化部において処理された場合に得られる符号データと同じになる様に、メモリ５８から第１グループ、第２グループ、第３グループ、第４グループのデータを順に出力する。
【００３９】
以下、回路構成について説明する。係数モデリング及びＭＱ符号化部１４，１５，１６，１７の出力は、順に、レジスタ４０，４３，４６，４９に出力される。係数モデリング及びＭＱ符号化部１４〜１７において生成される符号データの量は一定でない。そこで、符号メモリ部１８では、ＪＰＥＧ２０００の規定に従う係数モデリング及びＭＱ符号化部１４〜１７から符号データが出力される際にＨｉｇｈレベルに切り換るバイトアウト信号から出力符号データの量をカウンタ４１，４４，４７，５０によりカウントする。
【００４０】
また、符号メモリ部１８では、係数メモリ１３から出力される４つのターミネーション信号Ｔ１〜Ｔ４がそれぞれＨｉｇｈレベルに切り換ってから、対応する係数モデリング及びＭＱ符号化部１４〜１７の処理能力から予め特定される遅延時間だけ経過した時点で、当該対応する係数モデリング及びＭＱ符号化部１４〜１７における符号化処理が完了したと判断する。具体的には、係数メモリ１３の比較器２２，２４，２６，２８から出力されたターミネーション信号Ｔ１，Ｔ２，Ｔ３，Ｔ４は、それぞれ遅延回路５３，５４，５５，５６において所定時間だけ遅延された後、処理完了信号Ｃ１，Ｃ２，Ｃ３，Ｃ４としてレジスタ４０，４３，４６，４９のデータ要求端子、調停回路５２、及びＡＮＤゲート５７に出力される。遅延回路５３，５４，５５，５６は、それぞれ入力されるターミネーション信号Ｔ１，Ｔ２，Ｔ３，Ｔ４を上記係数モデリング及びＭＱ符号化部１４，１５，１６，１７の処理能力から特定される処理時間だけ信号を遅延させる。
【００４１】
まず、係数モデリング及びＭＱ符号化部１４から出力される第１グループ、即ち、３ＬＬ，３ＬＨ，３ＨＬ，３ＨＨ，２ＬＨ，２ＨＬ，２ＨＨのサブバンドのウェーブレット係数の符号データに関して説明する。レジスタ４０は、係数モデリング及びＭＱ符号化部１４からＨｉｇｈレベルのバイトアウト信号がイネーブル端子４０ｅに入力されている時に入力端子４０ａに入力されるデータを符号データとして格納する。カウンタ４１は、Ｈｉｇｈレベルのバイトアウト信号の数をカウントする。アドレス生成部４２は、カウンタ４１によるカウント値に基づいて、メモリ５８に書き込んだ符号データの読み出しに必要なアドレス信号の生成を行う。メモリ５８の各グループの符号データの書き込み開始アドレスは、予め決められている。アドレス生成部４２は、上記データ書き込み開始アドレスにカウンタ４１のカウント値から特定されるデータ量を加算してメモリ５８に書き込まれる符号データの最終アドレスを特定する。
【００４２】
係数モデリング及びＭＱ符号化部１５，１６，１７からそれぞれ出力される第２グループ，第３グループ，第４グループ、即ち、１ＬＨ，１ＨＬ，１ＨＨのサブバンドのウェーブレット係数の符号データに関しても同様である。即ち、レジスタ４３，４６，４９は、それぞれ係数モデリング及びＭＱ符号化部１５，１６，１７からＨｉｇｈレベルのバイトアウト信号がイネーブル端子４３ｅ，４６ｅ，４９ｅに入力されている時に、信号入力端子４３ａ，４６ａ，４９ａに入力されるデータを符号データとして格納する。カウンタ４４，４７，５０は、Ｈｉｇｈレベルのバイトアウト信号に基づいて入力された符号データの量をカウントする。アドレス生成部４５，４８，５１は、それぞれカウンタ４４，４７，５０によるカウント値に基づいて、メモリ５８に書き込んだ符号データの読み出しに必要なアドレス信号の生成を行う。上述したようにメモリ５８の各グループの符号データの書き込み開始アドレスは、予め決められている。アドレス生成部４５，４８，５１は、上記データ書き込み開始アドレスに、それぞれカウンタ４４，４７，５０のカウント値から特定されるデータ量を加算してメモリ５８に書き込まれる符号データの最終アドレスを特定する。
【００４３】
レジスタ４０，４３，４６，４９は、データ要求端子４０ｂ，４３ｂ，４６ｂ，４９ｂに対する上記処理完了信号の入力に応じて、格納しているデータを信号出力端子４０ｃ，４３ｃ，４６ｃ，４９ｃから後段のメモリ５８へと出力する。各レジスタとメモリ５８との間には、複数のレジスタから同時に格納データが出力された場合に、メモリ５８へのデータ出力順序を調整する調停回路５２を設けておく。当該調停回路５２については、後に詳しく説明する。
【００４４】
ＡＮＤゲート５７は、入力される４つの処理完了信号Ｃ１〜Ｃ４が全てＨｉｇｈレベルに換わった時にメモリ５８への各グループの符号データの格納が完了したと判断して、第１グループ用のアドレス生成部４２のアドレスデータ出力要求端子４０ｂにＨｉｇｈレベルの信号を出力する。アドレス生成部４２は、アドレス信号の出力要求端子４２ａへのＨｉｇｈレベルの信号入力に応じて、アドレス信号をメモリ５８のアドレス指定端子５８ａに出力し、メモリ５８に格納している第１グループ、即ち、３ＬＬ，３ＬＨ，３ＨＬ，３ＨＨ，２ＬＨ，２ＨＬ，２ＨＨのサブバンドについての符号データの読み出しを行う。なお、当該アドレス信号は、読み出し開始アドレス、及び、読み出し終了アドレスのデータで構成される。
【００４５】
メモリ５８から出力される符号データは、そのまま外部に出力されると共に、カウンタ５９に入力され、データ量のカウントが行われる。カウンタ５９は、カウント値を比較器６０，６１，６２の一方の信号入力端子に入力する。
【００４６】
比較器６０の残りの信号入力端子には、カウンタ４１のカウント値が入力される。即ち比較器６０は、第１グループ分の全ての符号データがメモリ５８から出力された時にＨｉｇｈレベルの信号を第２グループ用のアドレス生成部４５のアドレス信号の出力要求端子４５ａに出力する。アドレス生成部４５は、アドレス信号の出力要求端子４５ａへのＨｉｇｈレベルの信号入力に応じてアドレス信号をメモリ５８のアドレス指定端子５８ａに出力し、メモリ５８に格納している第２グループ、即ち１ＬＨのサブバンドについての符号データの読み出しを行う。
【００４７】
比較器６１の残りの信号入力端子には、カウンタ４４からのカウント値が入力される。即ち、比較器６１は、第２グループの全ての符号データがメモリ５８から出力された時にＨｉｇｈレベルの信号を第３グループ用のアドレス生成部４８のアドレス信号の出力要求端子４８ａに出力する。アドレス生成部４８は、アドレス信号の出力要求端子４８ａへのＨｉｇｈレベルの信号入力に応じて、アドレス信号をメモリ５８のアドレス指定端子５８ａに出力し、メモリ５８に格納している第３グループ、即ち１ＨＬのサブバンドについての符号データの読み出しを行う。
【００４８】
比較器６２の残りの信号入力端子には、カウンタ４７からのカウント値が入力される。即ち、比較器６２は、第３グループ分の全ての符号データがメモリ５８から出力された時にＨｉｇｈレベルの信号を第４グループ用のアドレス生成部５１のアドレス信号の出力要求端子５１ａに出力する。アドレス生成部５１は、アドレス信号の出力要求端子５８ａへのＨｉｇｈレベルの信号入力に応じて、アドレス信号をメモリ５８のアドレス指定端子５８ａに出力し、メモリ５８に格納している第４グループ、即ち１ＨＨのサブバンドについての符号データの読み出しを行う。
【００４９】
（５）調停回路
図５は、図４に示した符号メモリ部１８の備える調停回路５２の構成を示す図である。調停回路５２には、係数モデリング及びＭＱ符号化処理の完了したグループの符号データが並列に入力される。調停回路５２では、第１グループから第４グループへと順に繰り返し係数モデリング及びＭＱ符号化処理の完了を調べ、調べた結果、先に処理の完了したグループのデータから優先してメモリ５８に出力させる。あるグループのデータをメモリ５８に出力している間に処理の完了した他のグループのデータは、個別に用意するレジスタ７０，７２，７４，７６に保存する。
【００５０】
以下、回路構成について説明する。レジスタ７０，７２，７４，７６は、ＦＩＦＯ型のレジスタメモリであり、データ出力要求端子７０ａ，７２ａ，７４ａ，７６ａへのＨｉｇｈレベルの信号の入力に応じて、データを格納順に出力する。各レジスタの出力端子は、全て調停回路５２自体の符号データ出力端子５２ａに出力されると共にカウンタ７８に入力される。また、カウンタ７１，７３，７５，７７は、それぞれ上記レジスタ７０，７２，７４，７６に入力されるデータ量をカウントする。
【００５１】
係数メモリ１３からの４つの処理完了信号Ｃ１，Ｃ２，Ｃ３，Ｃ４は、それぞれＡＮＤゲート８８，８９，９０，９１の一方の信号入力端子に入力されると共に、これら４つ全ての処理完了信号が４入力ＮＯＲゲート１００の信号入力端子に接続される。４入力ＮＯＲゲート１００の信号出力端子は、ＲＳフリップフロップ１０２のセット端子Ｓに入力されている。ＮＯＲゲート１００は、４つの処理完了信号全てがＬｏｗレベルにある時、Ｈｉｇｈレベルの信号を出力するが、４つの処理完了信号の内、１つでもＨｉｇｈレベルに切り換ると、以降ずっとＬｏｗレベルを保持する。
【００５２】
リレー回路８３は、セット端子８３ａにＨｉｇｈレベルの信号が入力されている間、端子８３ｂ，８３ｃ，８３ｄ，８３ｅの順にパルス状の信号、即ち、一時的にＨｉｇｈレベルに切り換る信号を繰り返し出力する。各端子は、それぞれ２入力ＡＮＤゲート９６，９７，９８，９９の一方の信号入力端子に接続される。これらのＡＮＤゲート９６，９７，９８，９９の残りの信号入力端子には、それぞれフリップフロップ９２，９３，９４，９５の出力データが反転して入力される。ＡＮＤゲート９６，９７，９８，９９の出力端子は、それぞれ上述した２入力ＡＮＤゲート８８，８９，９０，９１の残りの信号入力端子に入力される。
【００５３】
ＡＮＤゲート８８の出力端子は、４入力ＯＲゲート１０１の信号入力端子の１つ、フリップフロップ９２のデータ入力端子、ＲＳフリップフロップ１０７のセット端子Ｓに接続されている。ＲＳフリップフロップ１０７のデータ出力端子Ｑは、レジスタ７０のデータ出力要求端子７０ａ及び２入力ＡＮＤゲート１０３の一方の信号入力端子に接続されている。
【００５４】
同様に、ＡＮＤゲート８９の出力端子は、４入力ＯＲゲート１０１の信号入力端子の１つ、フリップフロップ９３のデータ入力端子、ＲＳフリップフロップ１０８のセット端子Ｓに接続されている。ＲＳフリップフロップ１０８のデータ出力端子Ｑは、レジスタ７２のデータ出力要求端子７２ａ及び２入力ＡＮＤゲート１０４の一方の信号入力端子に接続されている。
【００５５】
ＡＮＤゲート９０の出力端子は、４入力ＯＲゲート１０１の信号入力端子の１つ、フリップフロップ９４のデータ入力端子、ＲＳフリップフロップ１０９のセット端子Ｓに接続されている。ＲＳフリップフロップ１０９のデータ出力端子Ｑは、レジスタ７４のデータ出力要求端子７４ａ及び２入力ＡＮＤゲート１０５の一方の信号入力端子に接続されている。
【００５６】
ＡＮＤゲート９１の出力端子は、４入力ＯＲゲート１０１の最後の信号入力端子、フリップフロップ９５のデータ入力端子、ＲＳフリップフロップ１１０のセット端子Ｓに接続されている。ＲＳフリップフロップ１１０のデータ出力端子Ｑは、レジスタレジスタ７６のデータ出力要求端子７６ａ及び２入力ＡＮＤゲート１０６の一方の信号入力端子に接続されている。
【００５７】
４入力ＯＲゲート１０１の出力端子は、ＲＳフリップフロップ１０２のリセット端子Ｒに接続されている。各ＡＮＤゲート１０３，１０４，１０５，１０６の出力端子を接続して伸びる配線Ｌ１は、ＲＳフリップフロップ１０２のセット端子Ｓ、ＲＳフリップフロップ１０７，１０８，１０９，１１０のリセット端子Ｒ及びカウンタ７８のリセット端子Ｒに接続されている。
【００５８】
比較器７９，８０，８１，８２の一方の信号入力端子には、カウンタ７８のカウント値が入力され、もう一方の信号入力端子には、それぞれカウンタ７１，７３，７５，７７のカウント値が入力される。比較器７９，８０，８１，８２の信号出力端子は、上述したＡＮＤゲート１０３，１０４，１０５，１０６の残りの信号入力端子に接続されている。
【００５９】
上記構成の調停回路５２において、４つの処理完了信号Ｃ１〜Ｃ４の全てがＬｏｗレベルの時、ＡＮＤゲート８８，８９，９０，９１は、入力される処理完了信号Ｃ１，Ｃ２，Ｃ３，Ｃ４をそのまま通過させる。
【００６０】
この状態において、４つの処理完了信号Ｃ１〜Ｃ４の内の１つ、例えば、信号Ｃ２がＨｉｇｈレベルに切り換った場合を考える。処理完了信号Ｃ２がＨｉｇｈレベルに切り換ることで、フリップフロップ９３及びＲＳフリップフロップ１０８がセットされる。また、ＲＳフリップフロップ１０２のセット端子Ｓに接続されているＮＯＲゲート１００の出力がＬｏｗレベルに切り換る。また、ＯＲゲート１０１の出力がＨｉｇｈレベルに切り換り、ＲＳフリップフロップ１０２をリセットしてリレー回路８３の動作を停止させる。フリップフロップ９３がセットされることで、ＡＮＤゲート９７の出力が常にＬｏｗに切り換る。これにより、ＡＮＤゲート８９及びＯＲゲート１０１の出力がＨｉｇｈからＬｏｗに切り換えられる。ＲＳフリップフロップ１０８がセットされることで、レジスタ７２のデータ出力要求端子７２ａ及びＡＮＤゲート１０４の一方の信号入力端子の信号レベルがＨｉｇｈに切り換る。これにより、レジスタ７２に格納されている第２グループ、即ち１ＬＨのサブバンドについての符号データが出力される。カウンタ７８は、レジスタ７２から出力されるデータの量をカウントし、カウント値を各比較器７９〜８２に出力する。比較器８０は、カウンタ７３のカウント値と同じ量のデータの出力が完了した場合にＨｉｇｈレベルの信号を出力する。上述したように、ＡＮＤゲート１０４の一方の信号入力端子には、Ｈｉｇｈレベルの信号が入力されているため、比較器８０の出力するＨｉｇｈレベルの信号は、カウンタ７８のリセット端子Ｒ、及びＲＳフリップフロップ１０２のセット端子Ｓに入力される。これにより、カウンタ７８はリセットされる。また、ＲＳフリップフロップ１０２がセットされることで、リレー回路８３が再び始動し、各信号出力端子８３ｂ，８３ｃ，８３ｄ，８３ｅに順にパルス状の信号が出力される。
【００６１】
引き続き、上記１ＬＨのサブブロックの符号データをレジスタ７２からメモリ５８に出力している間に、処理完了信号Ｃ３，Ｃ４がＨｉｇｈレベルに切り換った場合について考察する。上述した処理によりフリップフロップ９３がセットされているため、処理完了信号Ｃ２がＨｉｇｈレベルであってもＡＮＤゲート８９の出力が再びＨｉｇｈに切り替わることはない。リレー回路８３は、Ｈｉｇｈレベルのパルス状の信号を信号出力端子８３ｄ，８３ｅの順で出力するため、処理完了信号Ｃ３の方が先にＡＮＤゲート９０を通過し、ＯＲゲート１０１の出力をＨｉｇｈレベルに切り換え、ＲＳフリップフロップ１０２をリセットしてリレー回路８３の動作を止める。これにより、処理完了信号Ｃ３がＡＮＤゲート９０を通過すると同時に、処理完了信号Ｃ４がＡＮＤゲート９１を通過することはない。ＡＮＤゲート９０を通過した処理完了信号Ｃ３は、フリップフロップ９４及びＲＳフリップフロップ１０９をセットする。フリップフロップ９４がセットされることで、ＡＮＤゲート９８の出力が常にＬｏｗに切り換る。これにより、ＡＮＤゲート９０及びＯＲゲート１０１の出力がＨｉｇｈからＬｏｗに切り換えられる。ＲＳフリップフロップ１０９がセットされることで、レジスタ７４のデータ出力要求端子７４ａ及びＡＮＤゲート１０５の一方の信号入力端子の信号レベルがＨｉｇｈレベルに切り換る。これにより、レジスタ７４に格納されている第３グループ、即ち１ＨＬのサブバンドの符号データが出力される。カウンタ７８は、レジスタ７４から出力されるデータの量をカウントし、カウント値を各比較器７９〜８２に出力する。比較器８１は、カウンタ７５のカウント値と同じ量のデータの出力を完了した場合にＨｉｇｈレベルの信号を出力する。上述したように、ＡＮＤゲート１０５の一方の信号入力端子にはＨｉｇｈレベルの信号が入力されているため、比較器８１の出力するＨｉｇｈレベルの信号は、カウンタ７８のリセット端子Ｒ、及びＲＳフリップフロップ１０２のセット端子Ｓに入力される。これにより、カウンタ７８はリセットされる。また、ＲＳフリップフロップ１０２がセットされることで、リレー回路８３が再び始動し、各信号出力端子８３ｂ，８３ｃ，８３ｄ，８３ｅに順にパルス状の信号が出力される。
【００６２】
以下、同様の調停動作が実行される。
【００６３】
（６）処理結果
図６は、並列信号処理部５を使用せずに、量子化部４から出力される量子化後の各サブバンドのウェーブレット係数をそのままＪＰＥＧ２０００に準拠した係数モデリング及びＭＱ符号化処理した場合（従来技術を示す図１１を参照）に処理に要する時間と、並列信号処理部５を用いて処理した場合に要する時間との比較を示す図である。図示ずる様に、調停回路５２での調停処理及び各メモリからのデータ読み出しに要する時間を加算しても処理に要する全時間は短縮できることが確認された。即ち、並列信号処理部５を採用することで、データ単位で処理を行う色変換部２、離散ウェーブレット変換部３及び量子化部４において実行する処理に要する時間と、ビットデータ単位で処理を行う係数モデリング及びＭＱ符号化処理に要する時間との差を低減し得ることができることが確認された。
【００６４】
（７）実施の形態２
上記実施の形態１に係る画像処理装置１では、並列信号処理部５に調停回路５２を必要としたが、これらを用いずに装置を構成することも考えられる。実施の形態２の画像処理装置１’（図示せず）では、調停回路を使用しない並列信号処理部５’を採用する。並列信号処理部５’を用いる以外、その他の処理部の構成は画像処理装置１と同じである。以下、並列信号処理部５’についてのみ説明する。また当該説明においては、必要に応じて上記その他の処理部を画像処理装置１と同じ参照番号を付して使用する。
【００６５】
図７は、並列信号処理部５’の構成を示す図である。並列信号処理部５’は、それぞれ同じ構成の第１信号処理部２００、第２信号処理部２０１、及び第３信号処理部２０３で構成されている。各信号処理部には、初段の色変換部２においてＹ（輝度）、Ｃｒ（色差）、Ｃｂ（色差）の３つの信号に変換された画像データを離散ウェーブレット変換部３及び量子化部４で処理したデータがそれぞれ入力される。
【００６６】
以下、第１信号処理部２００の構成について説明する。係数メモリ２０３は、入力されるＹ（輝度）についての量子化後のウェーブレット係数のデータから、３ＬＬ，３ＬＨ，３ＨＬ，３ＨＨ，２ＬＨ，２ＨＬ，２ＨＨ（上記第１実施形態の場合と同様に第１グループという。）のサブバンドのウェーブレット係数を抽出し、後段の係数モデリング及びＭＱ符号化部２０７にメモリを介さずに直接出力する。同様に、係数メモリ２０４，２０５，２０６は、量子化後のウェーブレット係数のデータから、それぞれ、１ＬＨ（第２グループという。），１ＨＬ（第３グループという。），１ＨＨ（第３グループという。）のサブバンドのウェーブレット係数のデータを抽出し、後段の係数モデリング及びＭＱ符号化部２０８，２０９，２１０にメモリを介さずに直接出力する。即ち、係数メモリ２０３〜２０６は、入力されるデータを４つの係数モデリング及びＭＱ符号化処理部２０７〜２１０に分配するデータ分配部として機能する。
【００６７】
係数モデリング及びＭＱ符号化部２０７，２０８，２０９，２１０では、それぞれＪＰＥＧ２０００の規定に従い、入力されたウェーブレット係数のデータをブロック単位でビットプレーンに分割し、各ビットプレーンについて３通りの符号化パスに分けてビットデータ単位で係数符号化し、更に、係数符号化後のデータをＭＱ符号化処理として２値算術符号化して符号化後のデータを対応する符号メモリ部２１１，２１２，２１３，２１４に出力する。上記係数モデリング及びＭＱ符号化部２０７〜２１０は、他の処理部に比べて処理データ量が多く、処理に時間を要する高負荷処理部（図中、括弧書きで高負荷処理部Ａ１〜Ａ４と記す。）であるといえる。
【００６８】
符号メモリ部２１１〜２１４及び信号合成部２１５では、係数モデリング及びＭＱ符号化部２０７〜２１０から出力された符号データをそれぞれ別のレジスタに格納した後、量子化後のウェーブレット係数のデータを１つの係数モデリングおよびＭＱ符号化処部で処理した場合に得られる符号データと同じになる様に、上記レジスタから順に出力する。即ち、符号メモリ部２１１〜２１４及び信号合成部２１５は、各係数モデリング及びＭＱ符号化部２０７〜２１０で生成された符号データを、量子化後のウェーブレット係数を１つの係数モデリングおよびＭＱ符号化部で処理した場合に得られる符号データと同じになる様に、合成して出力するデータ合成部として機能する。なお、符号メモリ部２１１〜２１４及び信号合成部２１５については後に詳しく説明する。
【００６９】
（８）係数メモリ
図８の（ａ）は、係数メモリ２０３の構成を示し、（ｂ）は、係数メモリ２０４の構成を示す。係数メモリ２０５，２０６は、基本的に係数メモリ２０４と同じ構成であり、相違点については後に説明する。
【００７０】
まず、係数メモリ２０３について説明する。図８の（ａ）に示すように、係数メモリ２０３に入力される量子化後のウェーブレット係数のデータは、レジスタ２２０の信号入力端子２２０ａ及びカウンタ２２１に入力される。ＮＯＲゲート２２３の出力は、最初Ｈｉｇｈレベルであり、当該信号は、レジスタ２２０のイネーブル端子２２０ｅに入力されると共に、当該信号の反転信号がレジスタ２２０のデータ読み出し要求端子２２０ｃに入力される。レジスタ２２０のイネーブル端子２２０ｅに入力される信号がＨｉｇｈレベルであるため、レジスタ２２０は入力されるデータを最初から格納する。カウンタ２２１は、入力されるウェーブレット係数のデータ量をカウントし、カウント値を比較器２２２の一方の信号入力端子に入力する。比較器２２２の残りの信号入力端子には、第１グループ、即ち３ＬＬ，３ＬＨ，３ＨＬ，３ＨＨ，２ＬＨ，２ＨＬ，２ＨＨのサブバンドのウェーブレット係数のデータ量を示す基準値ｒｅｆ１が入力されている。比較器２２２は、当該係数メモリ２０３に入力されたデータの量が第１グループのウェーブレット係数のデータ量になった時にＨｉｇｈレベルの信号を２入力ＮＯＲゲート２２３の一方の信号入力端子に入力すると共に、当該信号をターミネーション信号Ｔ１として出力する。ＮＯＲゲート２２３のもう一方の信号入力端子は、Ｌｏｗレベルの信号が入力されており、比較器２２２から入力される信号のＬｏｗレベルからＨｉｇｈレベルに切り換りに応じて出力信号をＨｉｇｈレベルからＬｏｗレベルに切り換える。これにより、イネーブル端子２２０ｅに入力される信号がＬｏｗレベルに切り換り、レジスタ２２０へのデータの書き込みが停止する一方で、データ読み出し要求端子２２０ｃに入力される信号がＨｉｇｈレベルに切り換り、格納したデータを出力する。
【００７１】
次に、係数メモリ２０４について説明する。係数メモリ２０４に入力されるウェーブレット係数のデータは、レジスタ２２４のデータ入力端子２２４ａに入力されると共に、カウンタ２２５に入力される。以下に説明するようにＡＮＤゲート２２８の出力は、最初Ｌｏｗレベルである。このため、第１グループのウェーブレット係数が入力されている間は、イネーブル端子２２４ｅにはＬｏｗレベルの信号が入力されているため、レジスタ２２４へのデータの書き込みは行われない。
【００７２】
カウンタ２２５は、当該係数メモリ２０４に入力されるデータの量のカウントを行い、カウント値を比較器２２６，２２７に出力する。比較器２２６の一方の信号入力端子には、上記した第１グループのウェーブレット係数のデータ量を表す基準値ｒｅｆ１が入力されている。比較器２２６は、カウント値が基準値ｒｅｆ１になった時にＨｉｇｈレベルの信号を出力する。比較器２２６の出力は、２入力ＡＮＤゲート２２８に入力される。当該ＡＮＤゲート２２８の残りの信号入力端子には、比較器２２７の出力が反転して入力されている。比較器２２７の一方の信号入力端子には、上記基準値ｒｅｆ１に第２グループ、即ち、１ＬＨのサブバンドのウェーブレット係数のデータ量を加算した基準値ｒｅｆ２が入力されている。比較器２２７は、カウント値が基準値ｒｅｆ２になった時にＨｉｇｈレベルの信号をターミネーション信号Ｔ２として出力すると共に、上記ＡＮＤゲート２２８に反転して出力する。
【００７３】
上記構成において、ＡＮＤゲート２２８は、第２グループ、即ち１ＬＨのサブバンドのウェーブレット係数のデータが入力されている間だけＨｉｇｈレベルの信号をレジスタ２２４のイネーブル端子２２４ｅに出力すると共に、当該信号の反転信号をデータ読み出し要求端子２２４ｃに出力する。即ち、係数メモリ２０４では、第２グループのウェーブレット係数が入力されている間だけレジスタ２２４へのデータの書き込みが行われ、当該データの書き込み完了後、出力端子２２４ｂから書き込んだデータの出力が行われる。
【００７４】
係数メモリ２０５，２０６は、係数メモリ２０４と基本的な構成が同じである。係数メモリ２０５，２０６と係数メモリ２０４との相違点は、比較器２２６及び２２７に入力する基準値の値が違うことである。即ち、係数メモリ２０５の場合、比較器２２６の一方の信号入力端子には、上記基準値ｒｅｆ２が入力され、比較器２２７の一方の信号入力端子には、上記基準値ｒｅｆ２に第３グループ、即ち１ＨＬのサブバンドのウェーブレット係数のデータ量を加えた基準値ｒｅｆ３が入力される。この場合において、比較器２２７は、入力されるウェーブレット係数のデータ量が基準値ｒｅｆ３を超えた場合に、Ｈｉｇｈレベルのタイミネーション信号Ｔ３を出力する。
【００７５】
また、係数メモリ２０６では、比較器の一方の信号入力端子には、上記基準値ｒｅｆ３が入力され、比較器２２７の一方の信号入力端子には、上記基準値ｒｅｆ３に第４グループ、即ち１ＨＨのサブバンドのウェーブレット係数のデータ量を加えた基準値ｒｅｆ４が入力される。この場合において、比較器２２７は、入力されるウェーブレット係数のデータ量が基準値ｒｅｆ４を超えた場合に、Ｈｉｇｈレベルのターミネーション信号Ｔ４を出力する。
【００７６】
（９）符号メモリ及び信号合成部
図９は、符号メモリ２１１〜２１４及び信号合成部２１５の構成を示す図である。符号メモリ２１１，２１２，２１３の構成は同じであり、それぞれ入力される符号データの量をカウントしておき、当該カウント値をデータを出力するレジスタの切り換え用のデータとして使用する。ＪＰＥＧ２０００形式に準拠する係数モデリング及びＭＱ符号化部２０７〜２１０において生成される符号データの量は一定でない。そこで、符号メモリ２１１，２１２，２１３では、ＪＰＥＧ２０００の規定に従う係数モデリング及びＭＱ符号化部２０７，２０８，２０９から、符号データが出力される際に同時に出力されるバイトアウト信号に基づいて符号データの量をカウンタ２３１，２３３，２３５で計数する。
【００７７】
以下、符号メモリ２１１について説明する。係数モデリング及びＭＱ符号化部２０７から符号メモリ２１１に入力された符号データは、レジスタ２３０のデータ入力端子２２１ａに入力される。符号メモリ２１１には、また、係数モデリング及びＭＱ符号化部２０７から、符号データが出力される際に同時に出力されるバイトアウト信号が入力される。当該バイトアウト信号は、レジスタ２３０のイネーブル端子２３０ｅ及びカウンタ２３１に入力される。即ち、レジスタ２３０は、バイトアウト信号が入力されている時に入力される符号データを格納する。
【００７８】
同様に、係数メモリ２１２，２１３では、それぞれ係数モデリング及びＭＱ符号化部２０８，２０９から出力される符号データ及びバイトアウト信号が入力され、レジスタ２３２，２３４は、バイトアウト信号が入力されている時に入力される符号データを格納する。また、カウンタ２３３，２３５は、上記バイトアウト信号の数をカウントする。
【００７９】
符号メモリ２１４は、格納したデータの量の情報を必要としないため、レジスタ２３６のみを備え、バイトアウト信号が入力されている時に入力される符号データを格納する。
【００８０】
信号合成部２１５は、係数メモリ２０３〜２０６から出力されるターミネーション信号Ｔ１〜Ｔ４を係数モデリング及びＭＱ符号化部２０７〜２１０において必要な処理時間だけ遅延させた信号を、処理完了信号Ｃ１〜Ｃ４として取り扱い、これら処理完了信号Ｃ１〜Ｃ４が全てＨｉｇｈレベルに切り換った時に、全てのウェーブレット係数についての係数モデリングおよびＭＱ符号化処理が終了したと判断し、符号メモリ２１１，２１２，２１３，２１４の順に、レジスタに格納している符号データを読み出し、これを一連の符号データとして外部に出力する。
【００８１】
より具体的には、各ターミネーション信号Ｔ１，Ｔ２，Ｔ３，Ｔ４を遅延回路２４１，２４２，２４３，２４４に入力して遅延させ、遅延させた信号を処理完了信号Ｃ１，Ｃ２，Ｃ３，Ｃ４として４入力ＡＮＤゲート２４５に入力する。各遅延回路２４１〜２４４は、上述するように、対応する係数モデリング及びＭＱ符号化部２０７〜２１０において必要な処理時間だけターミネーション信号Ｔ１〜Ｔ４を遅延させせる。全ての処理完了信号Ｃ１〜Ｃ４がＨｉｇｈレベルに切り換った場合、ＡＮＤゲート２４５は、Ｈｉｇｈレベルの信号をカウンタ２３７のリセット端子Ｒに出力すると共に、符号メモリ２１１のレジスタ２３０のデータ要求端子２３０ｃに出力する。当該信号を受けて、カウンタ２３７はリセットされ、レジスタ２３０は格納した第１グループ、即ち３ＬＬ，３ＬＨ，３ＨＬ，３ＨＨ，２ＬＨ，２ＨＬ，２ＨＨのサブバンドについての符号データを出力する。当該レジスタ２３０の出力するデータ量はカウンタ２３７によりカウントされる。比較器２３８の一方の信号入力端子にはカウンタ２３７のカウンタ値が入力され、残りの信号入力端子には、カウンタ２３１のカウンタ値が入力される。
【００８２】
比較器２３８は、レジスタ２３０から出力されたデータの量がカウンタ２３１の計数したカウント値と同じになった時にＨｉｇｈレベルの信号を、カウンタ２３７のリセット端子Ｒ、及び符号メモリ２１２のレジスタ２３２のデータ要求端子２３２ｃに出力する。当該信号を受けてカウンタ２３７はリセットされ、レジスタ２３２は格納した第２グループ、即ち１ＬＨのサブバンドについての符号データを出力する。当該レジスタ２３２の出力するデータ量はカウンタ２３７によりカウントされる。比較器２３９の一方の信号入力端子にはカウンタ２３７のカウンタ値が入力され、残りの信号入力端子には、カウンタ２３３のカウンタ値が入力される。
【００８３】
比較器２３９は、レジスタ２３２から出力されたデータの量がカウンタ２３３の計数したカウント値と同じになった時にＨｉｇｈレベルの信号を、カウンタ２３７のリセット端子Ｒ、及び符号メモリ２１３のレジスタ２３４のデータ要求端子２３４ｃに出力する。当該信号を受けてカウンタ２３７はリセットされ、レジスタ２３４は格納した第３グループ、即ち１ＨＬのサブバンドについての符号データを出力する。当該レジスタ２３４の出力するデータ量はカウンタ２３７によりカウントされる。比較器２４０の一方の信号入力端子にはカウンタ２３７のカウンタ値が入力され、残りの信号入力端子には、カウンタ２３５のカウンタ値が入力される。
【００８４】
比較器２４０は、レジスタ２３４から出力されたデータの量がカウンタ２３５の計数したカウント値と同じになった時にＨｉｇｈレベルの信号を、符号メモリ２１４のレジスタ２３６のデータ要求端子２３６ｃに出力する。当該信号を受けてレジスタ２３６は格納した第４グループ、即ち１ＨＨのサブバンドについての符号データを出力する。
【００８５】
信号合成部２１５の上記働きにより、４つのグループに分割されたサブバンド後との符号データが、第１〜第４グループの順に並ぶ一連の符号データに合成され、出力される。
【００８６】
（１０）処理結果
図９は、並列信号処理部５’を使用せずに、量子化部４から出力される量子化後の各サブバンドのウェーブレット係数をそのまま係数モデリング及びＭＱ符号化処理した場合（従来技術を示す図１１を参照）に処理に要する時間と、並列信号処理部５’を用いて処理した場合に要する時間と、更に、上記実施の形態１に係る並列信号処理部５を用いて処理した場合に要する時間の比較を示す図である。図示ずるように、並列信号処理部５’を使用する方が、並列信号処理部５の備える調停回路５２での調停処理に要する時間が不要であるため、より高速な処理を実現できることが確認された。即ち、並列信号処理部５’を採用することで、データ単位で処理を行う色変換部２、離散ウェーブレット変換部３及び量子化部４において実行する処理に要する時間と、ビットデータ単位で処理を行う係数モデリング及びＭＱ符号化処理に要する時間との差を一層低減することができることが確認された。
【００８７】
【発明の効果】
本発明の第１の画像処理装置では、高負荷処理部を複数並列に設けたことにより、当該高負荷処理部の処理速度を上記複数倍に高めることができる。これにより、他の処理部との処理時間の整合をとることが容易になる。
【００８８】
本発明の第２の画像処理装置は、入力されたデータを一旦メモリに格納し、当該メモリから各高負荷処理部へデータを分けて出力するデータ分配部の働きにより、複数並列に設けた各高付加処理部で処理するデータ量を低減し、高負荷処理に要する時間を数分の一に短縮することができる。これにより、他の処理部との処理時間の整合をとることが容易になる。
【００８９】
本発明の第３の画像処理装置では、入力されたデータをデータ量に基づいて各高負荷処理部に直接分けるデータ分配部の働きにより、短時間で各高負荷処理部へのデータ分配が実現され、高負荷処理に要する時間を一層短くすることができる。これにより、他の処理部との処理時間の整合をとることが容易になる。
【００９０】
本発明の第４の画像処理装置では、各高付加処理部で処理の終了したデータを、上記画像に関するデータを１つの高負荷処理部で処理した場合に得られるデータと同じになる様にメモリに格納し、全ての高負荷処理部での処理終了後にメモリからデータを出力するデータ合成部の働きにより、複数並列に設けた各高付加処理部で処理するデータの量を低減し、高負荷処理に要する時間を数分の一に短縮することができる。これにより、他の処理部との処理時間の整合をとることが容易になる。
【００９１】
本発明の第５の画像処理装置は、上記第１乃至第３の画像処理装置であって、各高負荷処理部で処理の終了したデータ用の個別のレジスタを備え、全ての高負荷処理部での処理終了後、上記画像に関するデータを１つの高負荷処理部で処理した場合に得られるデータと同じになる様に上記各高負荷処理部に対応するレジスタに格納しているデータを出力するデータ合成部の働きにより、短時間で各高負荷処理部において処理したデータの合成が実現され、高負荷処理に要する時間を一層短くすることができる。これにより、他の処理部との処理時間の整合をとることが容易になる。
【００９２】
本発明の第６の画像処理装置では、上記何れかの画像処理装置において、上記他の処理部がデータ単位で処理するのに対して、上記高負荷処理部が上記データを構成するビットデータの単位で処理を行うが、上述したように、複数並列に設けた高負荷処理部により処理の高速化を図ることができるため、他の処理部との処理時間の整合をとることが容易に行うことができる。
【００９３】
本発明の第７の画像処理装置は、ＪＰＥＧ２０００形式の画像処理装置であり、高負荷処理部である係数モデリング及びＭＱ符号化部を複数並列に設けたことにより、係数モデリング及びＭＱ符号化処理に要する時間を短縮することができる。これにより、他の処理部、例えば量子化部などとの処理時間の整合が取りやすくなる。
【００９４】
本発明の第１の画像処理方法は、他の処理部に比べて処理に時間を要する高負荷処理を並列に実行することで、当該処理に要する時間を短縮することができる。これにより、他の処理部との処理時間の整合を取りやすくなる。
【００９５】
本発明の第２の画像処理方法は、ビットデータ単位で処理を行う高負荷処理を複数並列して実行することで、当該処理に要する時間を短縮することができる。これにより、データ単位で処理を行う他の処理部との処理時間の整合が容易になる。
【００９６】
本発明の第３の画像処理方法は、ＪＰＥＧ２０００形式の画像処理装置であり、高負荷処理である係数モデリング及びＭＱ符号化処理を複数並列に実行することにより、係数モデリング及びＭＱ符号化処理に要する時間を短縮することができる。これにより、他の処理部、例えば量子化部などとの処理時間の整合が取りやすくなる。
【図面の簡単な説明】
【図１】画像処理装置の構成を示す図である。
【図２】並列信号処理部の構成を示す図である。
【図３】係数メモリの構成を示す図である。
【図４】符号メモリ部の構成を示す図である。
【図５】調停回路の構成を示す図である。
【図６】従来の画像処理装置との処理速度の比較結果を示す図である。
【図７】実施の形態２に係る画像処理装置の並列信号処理部の構成を示す図である。
【図８】各係数メモリの構成を示す図である。
【図９】各符号メモリ及び信号合成部の構成を示す図である。
【図１０】従来の画像処理装置との処理速度の比較結果を示す図である。
【図１１】従来のＪＰＥＧ２０００形式の画像処理装置の構成を示す図である。
【符号の説明】
１　画像処理装置、２　色変換部、３　離散ウェーブレット変換部、４　量子化部、５　並列信号処理部、６　符号形成部、１０　第１信号処理部、１１　第２信号処理部、１２　第３信号処理部、１３　係数メモリ、１８　符号メモリ部、２０　メモリ、２１　カウンタ、２２，２４，２６，２８比較器、２３，２５，２７，２９　レジスタ、３０　加算器、３１　セレクタ、４０，４３，４６，４９　レジスタ、４１，４４，４７，５０　カウンタ、４２，４５，４８，５１　アドレス生成部、５２　調停回路、５３，５４，５５，５６　遅延回路、５８　メモリ、７０，７２，７４，７６　レジスタ、７１，７３，７５，７７　カウンタ。
【図１】
2004030515.tif 000003
【図２】
2004030515.tif 000004
【図３】
2004030515.tif 000005
【図４】
2004030515.tif 000006
【図５】
2004030515.tif 000007
【図６】
2004030515.tif 000008
【図７】
2004030515.tif 000009
【図８】
2004030515.tif 000010
【図９】
2004030515.tif 000011
【図１０】
2004030515.tif 000012
【図１１】
2004030515.tif 000013