(57)【要約】【課題】符号化などをはじめとするビットプレーン単位の各種の画像処理において、必要なデータのみを処理することで当該処理に必要な時間や電力を削減すること。【解決手段】個々の画素を表現する画素データは、画素データ処理部２００での量子化を経て画素データ記憶部２０１に一時蓄積される。データ監視部２０２は、画素データ記憶部２０１に蓄積された複数画素分の画素データを参照して、少なくとも一つの１を含むビットプレーンのうち、ビットプレーン番号が最大であるものを特定する。そして、有効データ選択部２０３は画素データ記憶部２０１内のデータのうち、各画素の、上記で特定されたビットプレーン番号以下のビットデータのみをビットプレーンデータ処理部２０４に引き渡す。ビットプレーンデータ処理部２０４は、上記で引き渡されたデータのみについて符号化処理をおこなう。【選択図】　　　図２
2004015741.tif 000002
【特許請求の範囲】
【請求項１】
電子画像を構成する個々のビットプレーンごとにビットデータの符号化をおこなう画像処理方法において、
前記ビットプレーンのうち、当該ビットプレーンを構成するビットデータの少なくとも一つが所定の値であって、かつそのビットプレーン番号が最大であるものを特定する特定工程と、
前記電子画像を構成するビットプレーンのうち、そのビットプレーン番号が前記特定工程で特定されたビットプレーンのビットプレーン番号以下であるものを構成するビットデータを切り出す有効データ切り出し工程と、
前記有効データ切り出し工程で切り出されたビットデータについて、個々のビットプレーンごとにビットデータの符号化をおこなう符号化工程と、
を含んだことを特徴とする画像処理方法。
【請求項２】
電子画像を構成する個々のビットプレーンごとにビットデータの符号化をおこなう画像処理方法において、
前記電子画像中の一画素を表現する複数のビットデータを切り出す画素データ切り出し工程と、
前記画素データ切り出し工程で切り出されたビットデータのうち所定の値であってかつそのビットプレーン番号が最大であるものを特定する特定工程と、
前記特定工程で特定されたビットデータのビットプレーン番号が、所定の記憶回路または記憶領域に格納されたビットプレーン番号より大きいか否かを判定する判定工程と、
前記判定工程で、前記特定工程で特定されたビットデータのビットプレーン番号が、所定の記憶回路または記憶領域に格納されたビットプレーン番号より大きいと判定された場合に、前記所定の記憶回路または記憶領域に格納されたビットプレーン番号を前記特定工程で特定されたビットデータのビットプレーン番号に書き換える書き換え工程と、
を含んだことを特徴とする画像処理方法。
【請求項３】
さらに、前記所定の記憶回路または記憶領域をクリアする初期化工程と、
前記初期化工程で前記所定の記憶回路または記憶領域がクリアされた後に前記画素データ切り出し工程で切り出された少なくとも一つの画素のビットデータのうち、そのビットプレーン番号が前記所定の記憶回路または記憶領域に現在格納されているビットプレーン番号以下であるものを切り出す有効データ切り出し工程と、
を含んだことを特徴とする請求項２に記載の画像処理方法。
【請求項４】
さらに、前記有効データ切り出し工程で切り出されたビットデータについて、個々のビットプレーンごとにビットデータの符号化をおこなう符号化工程を含んだことを特徴とする請求項３に記載の画像処理方法。
【請求項５】
電子画像を構成する個々のビットプレーンごとにビットデータの符号化をおこなわせる画像処理プログラムにおいて、
前記ビットプレーンのうち、当該ビットプレーンを構成するビットデータの少なくとも一つが所定の値であって、かつそのビットプレーン番号が最大であるものを特定させる特定工程と、
前記電子画像を構成するビットプレーンのうち、そのビットプレーン番号が前記特定工程で特定されたビットプレーンのビットプレーン番号以下であるものを構成するビットデータを切り出させる有効データ切り出し工程と、
前記有効データ切り出し工程で切り出されたビットデータについて、個々のビットプレーンごとにビットデータの符号化をおこなわせる符号化工程と、
をコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項６】
電子画像を構成する個々のビットプレーンごとにビットデータの符号化をおこなわせる画像処理プログラムにおいて、
前記電子画像中の一画素を表現する複数のビットデータを切り出させる画素データ切り出し工程と、
前記画素データ切り出し工程で切り出されたビットデータのうち所定の値であってかつそのビットプレーン番号が最大であるものを特定させる特定工程と、
前記特定工程で特定されたビットデータのビットプレーン番号が、所定の記憶回路または記憶領域に格納されたビットプレーン番号より大きいか否かを判定させる判定工程と、
前記判定工程で、前記特定工程で特定されたビットデータのビットプレーン番号が、所定の記憶回路または記憶領域に格納されたビットプレーン番号より大きいと判定された場合に、前記所定の記憶回路または記憶領域に格納されたビットプレーン番号を前記特定工程で特定されたビットデータのビットプレーン番号に書き換えさせる書き換え工程と、
をコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項７】
さらに、前記所定の記憶回路または記憶領域をクリアさせる初期化工程と、
前記初期化工程で前記所定の記憶回路または記憶領域がクリアされた後に前記画素データ切り出し工程で切り出された少なくとも一つの画素のビットデータのうち、そのビットプレーン番号が前記所定の記憶回路または記憶領域に現在格納されているビットプレーン番号以下であるものを切り出させる有効データ切り出し工程と、
をコンピュータに実行させることを特徴とする請求項６に記載の画像処理プログラム。
【請求項８】
電子画像を構成する個々のビットプレーンごとにビットデータの符号化をおこなう画像処理装置において、
前記ビットプレーンのうち、当該ビットプレーンを構成するビットデータの少なくとも一つが所定の値であって、かつそのビットプレーン番号が最大であるものを特定する特定手段と、
前記電子画像を構成するビットプレーンのうち、そのビットプレーン番号が前記特定手段により特定されたビットプレーンのビットプレーン番号以下であるものを構成するビットデータを切り出す有効データ切り出し手段と、
前記有効データ切り出し手段により切り出されたビットデータについて、個々のビットプレーンごとにビットデータの符号化をおこなう符号化手段と、
を備えたことを特徴とする画像処理装置。
【請求項９】
電子画像を構成する個々のビットプレーンごとにビットデータの符号化をおこなう画像処理装置において、
前記電子画像中の一画素を表現する複数のビットデータを切り出す画素データ切り出し手段と、
前記画素データ切り出し手段により切り出されたビットデータのうち所定の値であってかつそのビットプレーン番号が最大であるものを特定する特定手段と、前記特定手段により特定されたビットデータのビットプレーン番号が、所定の記憶回路または記憶領域に格納されたビットプレーン番号より大きいか否かを判定する判定手段と、
前記判定手段により、前記特定手段により特定されたビットデータのビットプレーン番号が、所定の記憶回路または記憶領域に格納されたビットプレーン番号より大きいと判定された場合に、前記所定の記憶回路または記憶領域に格納されたビットプレーン番号を前記特定手段により特定されたビットデータのビットプレーン番号に書き換える書き換え手段と、
を備えたことを特徴とする画像処理装置。
【請求項１０】
さらに、前記所定の記憶回路または記憶領域をクリアする初期化手段と、
前記初期化手段により前記所定の記憶回路または記憶領域がクリアされた後に前記画素データ切り出し手段により切り出された少なくとも一つの画素のビットデータのうち、そのビットプレーン番号が前記所定の記憶回路または記憶領域に現在格納されているビットプレーン番号以下であるものを切り出す有効データ切り出し手段と、
を備えたことを特徴とする請求項９に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、電子画像を構成する個々のビットプレーンごとにビットデータの符号化をおこなう画像処理方法、画像処理プログラムおよび画像処理装置に関する。
【０００２】
【従来の技術】
今やＬＳＩは情報機器から調理器具まで、あらゆる電化製品に組み込まれ、その性能が製品の価値や価格に直接影響することも多い。特にデジタルカメラなどに組み込まれるＬＳＩでは、大量の画像データを対象としつつ、処理の高速化と省電力化とを実現することが重要な技術課題である。
【０００３】
【発明が解決しようとする課題】
しかしながら従来技術においては、本来不必要な処理のために無駄に時間や電力を消費してしまっていることも多い。
【０００４】
図８は、上記ＬＳＩが処理対象とする電子画像のデータ構造を模式的に示す説明図である。図８（ａ）に示すように、水平方向にＸ個、垂直方向にＹ個の画素からなる画像の個々の画素は、それぞれＺ個のビットデータにより表現される。また、各画素の同一位置（同一桁）にあるビットデータの集合をビットプレーンという。
【０００５】
図８（ｂ）に示すように、たとえばＺ＝８であるとすると、各画素の最上位ビット（ＭＳＢ）の集合がビットプレーン７（＝８−１）、最下位ビット（ＬＳＢ）の集合がビットプレーン０（＝８−（８−０））となる。そして、個々のビットデータは画素名とビットプレーン番号とを組み合わせて、たとえば「ａ７」のように表すことができる。
【０００６】
上記のような画像にビットプレーン単位の画像処理、たとえばエントロピ符号化などをおこなう回路は、図９に示すように左上隅の画素ａから右下隅の画素ｂに向かって各画素のビットプレーン７のデータを処理し、つぎに同様にａからｂへ向かってビットプレーン６のデータを処理し・・・というように、いわば画素を横断して、同じビットプレーン番号のビットデータを連続的に処理してゆく。
【０００７】
このとき符号化の種類によっては、０ばかりが連続するビットプレーンはその番号さえ分かればよく、ビットプレーン内のデータそのものを別の符号に置き換える必要はない場合がある。
【０００８】
たとえばＪＰＥＧ２０００のエントロピ符号化では、図９に示す順で走査して最初に１が現れたビットプレーンより前（上位）のビットプレーンについては、「０ビットプレーン」としてその番号が出力ファイルのヘッダ部に記録されるのみである。当該ファイルの本体部には、最初に１が現れたビットプレーン、およびそれより後（下位）のビットプレーン内のビットデータが符号化されて格納される。
【０００９】
したがって、仮に図９に示した画素ａおよび画素ｂの２画素のみからなる画像があったとすると、０で埋め尽くされた上層部のビットプレーン７〜５はそのことがヘッダに書き込まれるのみである。このように０が連続している間の、いわば上澄みのビットプレーンはすべて０だったことさえ分かればよく、データ自体を上記回路により符号化する必要はない。にもかかわらず、従来はこれらのデータも区別なく上記回路に供給していたため、処理時間が余計にかかってしまうという問題点があった。
【００１０】
しかも、こうしたビットプレーン単位の画像処理の前段には、ウェーブレット変換、量子化など画素単位の画像処理がおこなわれるのが普通である。ここで、前段の画素単位の処理に必要な処理時間はＸ＊Ｙ画素分、後段のビットプレーン単位の処理に必要な処理時間はＸ＊Ｙ＊Ｚビットプレーン分である。一般に、前段に比べて後段のほうが時間がかかるため、前段の回路と後段の回路との間に、前段の処理が終わったのに前がつかえて後段の処理に入れないデータが溜まってしまい、全体の処理の効率を下げてしまうという問題点があった。
【００１１】
この発明は上記従来技術による問題を解決するため、必要なデータのみを処理することで当該処理に必要な時間や電力を削減することが可能な画像処理方法、画像処理プログラムおよび画像処理装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、この発明にかかる画像処理方法、画像処理プログラムまたは画像処理装置は、電子画像を構成する個々のビットプレーンごとにビットデータの符号化をおこなう画像処理方法、画像処理プログラムまたは画像処理装置において、前記ビットプレーンのうち、当該ビットプレーンを構成するビットデータの少なくとも一つが所定の値であって、かつそのビットプレーン番号が最大であるものを特定し、前記電子画像を構成するビットプレーンのうち、そのビットプレーン番号が上記で特定されたビットプレーンのビットプレーン番号以下であるものを構成するビットデータを切り出し、上記で切り出されたビットデータについて、個々のビットプレーンごとにビットデータの符号化をおこなうことを特徴とする。
【００１３】
また、この発明にかかる画像処理方法、画像処理プログラムまたは画像処理装置は、電子画像を構成する個々のビットプレーンごとにビットデータの符号化をおこなう画像処理方法、画像処理プログラムまたは画像処理装置において、前記電子画像中の一画素を表現する複数のビットデータを切り出し、上記で切り出されたビットデータのうち所定の値であってかつそのビットプレーン番号が最大であるものを特定し、上記で特定されたビットデータのビットプレーン番号が、所定の記憶回路または記憶領域に格納されたビットプレーン番号より大きいか否かを判定し、大きいと判定された場合に、前記所定の記憶回路または記憶領域に格納されたビットプレーン番号を上記で特定されたビットデータのビットプレーン番号に書き換えることを特徴とする。
【００１４】
また、この発明にかかる画像処理方法、画像処理プログラムまたは画像処理装置は、さらに、前記所定の記憶回路または記憶領域をクリアするとともに、前記所定の記憶回路または記憶領域がクリアされた後に切り出された少なくとも一つの画素のビットデータのうち、そのビットプレーン番号が前記所定の記憶回路または記憶領域に現在格納されているビットプレーン番号以下であるものを切り出すようにしてもよく、さらに、上記で切り出されたビットデータについて、個々のビットプレーンごとにビットデータの符号化をおこなうようにしてもよい。
【００１５】
これらの発明によって、符号化などをはじめとするビットプレーン単位の各種の画像処理において、原理的に処理の不必要なビットプレーン、たとえば単一の値のみから構成されるビットプレーンなどは、当該処理に先立ってあらかじめ切り捨てられることになる。
【００１６】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画像処理方法、画像処理プログラムおよび画像処理装置の好適な実施の形態を詳細に説明する。
【００１７】
図１は、本発明の実施の形態にかかる画像処理装置（具体的にはデジタルカメラなど）に組み込まれるＤＳＣ画像処理用ＬＳＩの概略構成を示すブロック図である。図示するように、ＣＣＤなどから入力した撮像データは、明暗の調整やエッジの強調などをはじめとする各種画像処理回路１０１を経て、ＪＰＥＧ２０００符号化マクロ１００に入力される。
【００１８】
このＪＰＥＧ２０００符号化マクロ１００は画像データを、ＪＰＥＧ２０００のフォーマットに圧縮するための専用の回路であって、入力した画像データにＤＣレベル色変換回路１０２によるＤＣレベルの色変換、ウェーブレット変換回路１０３によるウェーブレット変換、量子化回路１０４による量子化およびエントロピ符号化処理回路１０６によるエントロピ符号化を施した後、符号フォーマット化処理回路１０７によって符号フォーマット化し、ＪＰＥＧ形式でメディアＩ／Ｆ１０８や通信Ｉ／Ｆ１０９に出力するためのものである。そして、ＣＰＵ１１０はＪＰＥＧ２０００符号化マクロ１００の動作を制御する。
【００１９】
ただし、本発明の実施の形態にかかるＪＰＥＧ２０００符号化マクロ１００では、メモリ１１１、プライオリティ・エンコーダ１１２、セレクタ１１３を含むデータ選択回路１０５が追加されており、この機構によって、エントロピ符号化処理回路１０６によるエントロピ符号化の必要のないデータをあらかじめカットできるという特長を持っている。なお、この機構に関する詳細については後述する。
【００２０】
つぎに、図２は本発明の実施の形態にかかる画像処理装置の構成を機能的に示すブロック図である。なお、ここでは上記装置が備える種々の機能のうち、当該マクロにより実現される機能（具体的には、量子化からエントロピ符号化までの機能）についてのみ説明をおこなう。図２に示すように、本実施の形態にかかる画像処理装置は、画素データ処理部２００、画素データ記憶部２０１、データ監視部２０２、有効データ選択部２０３およびビットプレーンデータ処理部２０４を含む構成である。
【００２１】
まず、２００は画素データ処理部であり、図８のような構造を有する電子画像について画素単位の画像処理、すなわち一画素を構成する複数のビットデータを一つの数値とみなして、画像に対するいわば縦割りの処理をおこなう機能部である。本実施の形態による画素データ処理部２００は、画素単位の画像処理の一つである量子化を実施するものとする。なお、量子化の手順については公知であるので詳細な説明を省略する。
【００２２】
つぎに、２０１は画素データ記憶部であり、画素データ処理部２００から出力された画素データを一時的に蓄積する機能部であり、図１に示したメモリ１１１により実現される。その容量は、少なくともＪＰＥＧ２０００により規定された一ブロック内の画素のデータが保持できるだけあればよい。
【００２３】
ＪＰＥＧ２０００の符号化方式では、量子化後の画像データ（処理後データは係数としている）をブロックに分割して符号化（エントロピ）処理をおこなうのであるが、ここでは分割後の各ブロックの画像、すなわち原画像の部分画像をそれぞれ一つの電子画像として説明する。したがって画素データ記憶部２０１は、少なくとも一つの電子画像分の画素データを保持できればよいことになるが、ここでは複数の電子画像を保持できるだけの容量があるものとする。
【００２４】
２０２はデータ監視部であり、画素データ処理部２００から出力された画素データを参照して、当該画素データ中で値が１となっているビットデータのうち、ビットプレーン番号（ビット番号、といっても同じことである）が最も大きいもののその番号を有効ビットプレーン番号記憶部２０２ａに書き込む。ただし、書き込もうとする値が、有効ビットプレーン番号記憶部２０２ａにすでに書き込まれている値を超えている場合に限って書き込むものとする。
【００２５】
このデータ監視部２０２の動作を具体例により説明する。図３（ａ）に示すように、たとえば一ブロックが２画素×２画素の計４画素から構成されるとすると、図３（ｂ）に示すように、各画素のデータは画素データ処理部２００での量子化を経て、ａ→ｂ→ｃ→ｄの順でデータ監視部２０２に引き渡される。
【００２６】
データ監視部２０２は、画素データ処理部２００から入力した個々の画素の画素データ（これは同時に画素データ記憶部２０１にも出力されているので、「画素データ記憶部２０１に格納される画素データ」などといっても同じである）、たとえば画素ａのデータを参照して、１が立っているビットのうち最も上位にあるものを検出する。図３（ｂ）に示す画素ａのデータでは、ビットプレーン０および１の値がそれぞれ１になっており、ビットプレーン１の１のほうが上位にある。
【００２７】
ブロック開始の時点で有効ビットプレーン番号記憶部２０２ａはクリアされており、書き込もうとする値「１」が無条件に、すでに書き込まれている値を超えたとみなされるので（実際には「すでに書き込まれている値」は存在しないのであるが）、データ監視部２０２は値「１」を有効ビットプレーン番号記憶部２０２ａに書き込む。
【００２８】
つぎに、画素ｂのデータで値が１となっているのはビットプレーン４のみであり、これが最も上位にある。そして、書き込もうとする値「４」はすでに書き込まれている値「１」を超えているので、データ監視部２０２は有効ビットプレーン番号記憶部２０２ａ内の値「１」を「４」に書き換える。
【００２９】
つぎに、画素ｃのデータで値が１となっているのはビットプレーン０のみであり、これが最も上位にある。そして、書き込もうとする値「０」はすでに書き込まれている値「４」を超えていないので、データ監視部２０２は有効ビットプレーン番号記憶部２０２ａへの書き込みを中止して、続く画素ｄの判定に移る。
【００３０】
つぎに、画素ｄのデータで値が１となっているのはビットプレーン０および３であり、後者が最も上位にある。そして、書き込もうとする値「３」はすでに書き込まれている値「４」を超えていないので、この場合も有効ビットプレーン番号記憶部２０２ａの値の更新はおこなわない。
【００３１】
したがって、一ブロック分の画素データが画素データ記憶部２０１に格納された時点では、有効ビットプレーン番号記憶部２０２ａには値「４」が保持されていることになる。この値は、上記ブロックにおいてはそれより上位のビットプレーン、すなわちビットプレーン５、６および７はすべて０ビットプレーンであることを示している。
【００３２】
一ブロック分の画素データについて上記処理を終えると、データ監視部２０２は有効ビットプレーン番号一覧記憶部２０２ｂに、上記ブロックのブロック番号と、当該ブロックの処理完了の時点で有効ビットプレーン番号記憶部２０２ａに保持されている値、すなわち図３の例では「４」とを対応づけて保存する。
【００３３】
そして、上記ブロックの各画素を構成するビットデータのうち、「４」より上位のビットプレーンに属するものは、後述するビットプレーンデータ処理部２０４に引き渡される前に、その前段の有効データ選択部２０３により一律にカットされる。したがって、データ監視部２０２による上記一連の処理は、ビットプレーンデータ処理部２０４の処理対象として有効なビットデータを各ブロックについて特定する作業であるということもできる。
【００３４】
なお、このデータ監視部２０２は、具体的には、図１に示したビット間の優劣を判定するプライオリティ・エンコーダ１１２と、処理結果を保存する記憶回路により実現される。
【００３５】
また、図４はデータ監視部２０２による上述の処理の手順を示すフローチャートである。まず、新たなブロックの処理を開始するに先立って、有効ビットプレーン番号記憶部２０２ａを初期化する（ステップＳ４０１）。つぎに、画素データ処理部２００から順次供給される画素データを監視し、一ブロック内の画素データのうち最も上位に１が立っているものの、当該１のビットプレーン番号を検出する（ステップＳ４０２）。
【００３６】
図５は、図４のステップＳ４０２における、有効ビットプレーン番号検出処理の手順を示すフローチャートである。データ監視部２０２は、一画素を表現する複数のビットデータを参照して、１が立っているビットのうちそのビットプレーン番号が最大であるものを検出する（ステップＳ５０１）。
【００３７】
そして、上記で検出したビットプレーン番号と、現時点で有効ビットプレーン番号記憶部２０２ａに保持されている、最新の有効ビットプレーン番号とを比較して（ステップＳ５０２）、もし前者が後者より大きければ（ステップＳ５０３：Ｙｅｓ）、有効ビットプレーン番号記憶部２０２ａ内の値を、ステップＳ５０１で検出したビットプレーン番号で更新する（ステップＳ５０４）。
【００３８】
図４に戻り、つぎにデータ監視部２０２と平行して同一の画素データを供給された画素データ記憶部２０１は、当該データを取り込んで格納する（ステップＳ４０３）。そして、一ブロック内のすべての画素データにつきステップＳ４０２およびＳ４０３の処理を繰り返し、画素データ記憶部２０１に一ブロックの最後の画素データまで格納し終えた時点で（ステップＳ４０４：Ｙｅｓ）、有効ビットプレーン番号記憶部２０２ａ内の値を、ブロック番号と対応づけて有効ビットプレーン番号一覧記憶部２０２ｂに格納する（ステップＳ４０５）。
【００３９】
図２に戻り、つぎに２０３は有効データ選択部であり、画素データ記憶部２０１から読み出した画素データのうち、後述するビットプレーンデータ処理部２０４による処理の対象としなければならないデータ、すなわち画素データのうち処理対象として有効なデータのみを切り出す機能部である。
【００４０】
図３に例示したブロックと対応づけて、有効ビットプレーン番号一覧記憶部２０２ｂに保持されている値「４」は、当該ブロック内の画素ａ〜ｄのうち最も上位のビットプレーンに１が現れるもの、ここでは画素ｂの当該ビットプレーン番号を示している。
【００４１】
そして、図３（ｂ）から分かるように５以上のビットプレーンは０ばかりであり、これらについてはそのことさえ記録しておけば、連続する０そのものを別の数値列に変換（符号化）する必要はない。そこで、この有効データ選択部２０３により、ビットプレーンデータ処理部２０４による符号化の前処理として、上記ブロック内の４以下のビットプレーンのみを切り出しておく。なお、有効データ選択部２０３は具体的には図１に示したセレクタ１１３により実現される。
【００４２】
図６は、有効データ選択部２０３による上記処理の手順をまとめたフローチャートである。有効データ選択部２０３は、画素データ記憶部２０１から一画素分のビットデータを読み出し（ステップＳ６０１）、当該データのうち、当該画素の属するブロックについて特定された有効ビットプレーン以下のもののみを選択する（ステップＳ６０２）。そして、選択したデータをビットプレーンデータ処理部２０４に引き渡す（ステップＳ６０３）。上記処理を、一ブロック内の全画素データについておこない、一ブロックを処理し終えた時点で（ステップＳ６０４：Ｙｅｓ）終了する。
【００４３】
図２に戻り、つぎに２０４はビットプレーンデータ処理部であり、有効データ選択部２０３により切り出された画素データについてビットプレーン単位の画像処理、すなわち同一ビットプレーンにある各画素のビットデータをひとまとまりとして、画像に対するいわば横割りの処理をおこなう機能部である。本実施の形態によるビットプレーンデータ処理部２０４は、ビットプレーン単位の画像処理の一つであるエントロピ符号化を実施するものとする。なお、エントロピ符号化の手順については公知であるので詳細な説明を省略する。
【００４４】
ビットプレーンデータ処理部２０４による符号化は、あらかじめ有効データ選択部２０３により不要なビットプレーンがカットされているので、少なくとも一つの１を含むビットプレーン、図３の例ではビットプレーン４以下のビットプレーンについて実施される。すなわち図７に示すように、従来おこなっていたａ７からｄ５までの処理はスキップされ、ａ４から符号化が開始されることになる。
【００４５】
以上説明した実施の形態によれば、ＪＰＥＧ２０００によるエントロピ符号化を省略できるビットプレーン、具体的には０が連続している間の上層のビットプレーンのデータは符号化回路へは出力されない。したがって、省略可能なビットプレーンがかりにｎ個あったとすると、符号化に要する時間は従来技術のＸ＊Ｙ＊Ｚビットプレーン分から、Ｘ＊Ｙ＊（Ｚ−ｎ）ビットプレーン分に短縮され、これに伴って処理に必要な電力も削減することができる。
【００４６】
また、画素単位の量子化に要する時間と、ビットプレーン単位でのエントロピ符号化に要する時間との格差を縮めることができ、両処理の間で待たされるデータの量を少なくできるので、回路のどこかがボトルネックになって処理全体の効率を下げてしまうことを回避できる。
【００４７】
なお、上述した実施の形態ではＪＰＥＧ２０００によるエントロピ符号化を例として説明したが、これ以外にもビットプレーン単位の処理であって、不要なビットプレーンまで無駄に処理をおこなっているものがあれば、本発明を応用することで当該処理の効率化をはかることが可能である。
【００４８】
また、上述した実施の形態では各機能部を専用のハードウェア（プライオリティ・エンコーダなど）により実現したが、プログラマブルなプロセッサに専用のプログラムを組み込むことで上記各部を実現するようにしてもよい。
【００４９】
また、たとえばフォトレタッチ・ソフトなど、一般のアプリケーション・ソフトウェアによって上記各部を実現するようにしてもよい。すなわち、（１）量子化後の画素データを所定のメモリ領域に順次格納する際に、各画素データで１が立っている最上位ビットを所定の変数に保持するモジュール（上述のデータ監視部２０２に相当）、（２）上記メモリから一ブロック分の画素データを取り出す際に、上記変数の値以下のビットプレーンのデータのみを選択するモジュール（上述の有効データ選択部２０３に相当）、などを作成し、コンピュータのハードディスクなどに保存しておく。
【００５０】
なお、これらのプログラムはハードディスクに限らず、フレキシブルディスク、ＲＯＭ、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＭＯ、ＤＶＤなどコンピュータで読み取り可能な各種の記録媒体に記録され、当該記録媒体によって配布することができるほか、インターネットなどのネットワークを介して配布することも可能である。
【００５１】
（付記１）電子画像を構成する個々のビットプレーンごとにビットデータの符号化をおこなう画像処理方法において、
前記ビットプレーンのうち、当該ビットプレーンを構成するビットデータの少なくとも一つが所定の値であって、かつそのビットプレーン番号が最大であるものを特定する特定工程と、
前記電子画像を構成するビットプレーンのうち、そのビットプレーン番号が前記特定工程で特定されたビットプレーンのビットプレーン番号以下であるものを構成するビットデータを切り出す有効データ切り出し工程と、
前記有効データ切り出し工程で切り出されたビットデータについて、個々のビットプレーンごとにビットデータの符号化をおこなう符号化工程と、
を含んだことを特徴とする画像処理方法。
【００５２】
（付記２）電子画像を構成する個々のビットプレーンごとにビットデータの符号化をおこなう画像処理方法において、
前記電子画像中の一画素を表現する複数のビットデータを切り出す画素データ切り出し工程と、
前記画素データ切り出し工程で切り出されたビットデータのうち所定の値であってかつそのビットプレーン番号が最大であるものを特定する特定工程と、
前記特定工程で特定されたビットデータのビットプレーン番号が、所定の記憶回路または記憶領域に格納されたビットプレーン番号より大きいか否かを判定する判定工程と、
前記判定工程で、前記特定工程で特定されたビットデータのビットプレーン番号が、所定の記憶回路または記憶領域に格納されたビットプレーン番号より大きいと判定された場合に、前記所定の記憶回路または記憶領域に格納されたビットプレーン番号を前記特定工程で特定されたビットデータのビットプレーン番号に書き換える書き換え工程と、
を含んだことを特徴とする画像処理方法。
【００５３】
（付記３）さらに、前記所定の記憶回路または記憶領域をクリアする初期化工程と、
前記初期化工程で前記所定の記憶回路または記憶領域がクリアされた後に前記画素データ切り出し工程で切り出された少なくとも一つの画素のビットデータのうち、そのビットプレーン番号が前記所定の記憶回路または記憶領域に現在格納されているビットプレーン番号以下であるものを切り出す有効データ切り出し工程と、
を含んだことを特徴とする付記２に記載の画像処理方法。
【００５４】
（付記４）さらに、前記有効データ切り出し工程で切り出されたビットデータについて、個々のビットプレーンごとにビットデータの符号化をおこなう符号化工程を含んだことを特徴とする付記３に記載の画像処理方法。
【００５５】
（付記５）電子画像を構成する個々のビットプレーンごとにビットデータの符号化をおこなわせる画像処理プログラムにおいて、
前記ビットプレーンのうち、当該ビットプレーンを構成するビットデータの少なくとも一つが所定の値であって、かつそのビットプレーン番号が最大であるものを特定させる特定工程と、
前記電子画像を構成するビットプレーンのうち、そのビットプレーン番号が前記特定工程で特定されたビットプレーンのビットプレーン番号以下であるものを構成するビットデータを切り出させる有効データ切り出し工程と、
前記有効データ切り出し工程で切り出されたビットデータについて、個々のビットプレーンごとにビットデータの符号化をおこなわせる符号化工程と、
をコンピュータに実行させることを特徴とする画像処理プログラム。
【００５６】
（付記６）電子画像を構成する個々のビットプレーンごとにビットデータの符号化をおこなわせる画像処理プログラムにおいて、
前記電子画像中の一画素を表現する複数のビットデータを切り出させる画素データ切り出し工程と、
前記画素データ切り出し工程で切り出されたビットデータのうち所定の値であってかつそのビットプレーン番号が最大であるものを特定させる特定工程と、
前記特定工程で特定されたビットデータのビットプレーン番号が、所定の記憶回路または記憶領域に格納されたビットプレーン番号より大きいか否かを判定させる判定工程と、
前記判定工程で、前記特定工程で特定されたビットデータのビットプレーン番号が、所定の記憶回路または記憶領域に格納されたビットプレーン番号より大きいと判定された場合に、前記所定の記憶回路または記憶領域に格納されたビットプレーン番号を前記特定工程で特定されたビットデータのビットプレーン番号に書き換えさせる書き換え工程と、
をコンピュータに実行させることを特徴とする画像処理プログラム。
【００５７】
（付記７）さらに、前記所定の記憶回路または記憶領域をクリアさせる初期化工程と、
前記初期化工程で前記所定の記憶回路または記憶領域がクリアされた後に前記画素データ切り出し工程で切り出された少なくとも一つの画素のビットデータのうち、そのビットプレーン番号が前記所定の記憶回路または記憶領域に現在格納されているビットプレーン番号以下であるものを切り出させる有効データ切り出し工程と、
をコンピュータに実行させることを特徴とする付記６に記載の画像処理プログラム。
【００５８】
（付記８）さらに、前記有効データ切り出し工程で切り出されたビットデータについて、個々のビットプレーンごとにビットデータの符号化をおこなわせる符号化工程をコンピュータに実行させることを特徴とする付記７に記載の画像処理プログラム。
【００５９】
（付記９）電子画像を構成する個々のビットプレーンごとにビットデータの符号化をおこなう画像処理装置において、
前記ビットプレーンのうち、当該ビットプレーンを構成するビットデータの少なくとも一つが所定の値であって、かつそのビットプレーン番号が最大であるものを特定する特定手段と、
前記電子画像を構成するビットプレーンのうち、そのビットプレーン番号が前記特定手段により特定されたビットプレーンのビットプレーン番号以下であるものを構成するビットデータを切り出す有効データ切り出し手段と、
前記有効データ切り出し手段により切り出されたビットデータについて、個々のビットプレーンごとにビットデータの符号化をおこなう符号化手段と、
を備えたことを特徴とする画像処理装置。
【００６０】
（付記１０）電子画像を構成する個々のビットプレーンごとにビットデータの符号化をおこなう画像処理装置において、
前記電子画像中の一画素を表現する複数のビットデータを切り出す画素データ切り出し手段と、
前記画素データ切り出し手段により切り出されたビットデータのうち所定の値であってかつそのビットプレーン番号が最大であるものを特定する特定手段と、
前記特定手段により特定されたビットデータのビットプレーン番号が、所定の記憶回路または記憶領域に格納されたビットプレーン番号より大きいか否かを判定する判定手段と、
前記判定手段により、前記特定手段により特定されたビットデータのビットプレーン番号が、所定の記憶回路または記憶領域に格納されたビットプレーン番号より大きいと判定された場合に、前記所定の記憶回路または記憶領域に格納されたビットプレーン番号を前記特定手段により特定されたビットデータのビットプレーン番号に書き換える書き換え手段と、
を備えたことを特徴とする画像処理装置。
【００６１】
（付記１１）さらに、前記所定の記憶回路または記憶領域をクリアする初期化手段と、
前記初期化手段により前記所定の記憶回路または記憶領域がクリアされた後に前記画素データ切り出し手段により切り出された少なくとも一つの画素のビットデータのうち、そのビットプレーン番号が前記所定の記憶回路または記憶領域に現在格納されているビットプレーン番号以下であるものを切り出す有効データ切り出し手段と、
を備えたことを特徴とする付記１０に記載の画像処理装置。
【００６２】
（付記１２）さらに、前記有効データ切り出し手段により切り出されたビットデータについて、個々のビットプレーンごとにビットデータの符号化をおこなう符号化手段を備えたことを特徴とする付記１１に記載の画像処理装置。
【００６３】
（付記１３）前記特定手段はプライオリティ・エンコーダにより実現されることを特徴する付記１０〜付記１２のいずれか一つに記載の画像処理装置。
【００６４】
（付記１４）前記有効データ切り出し手段はセレクタにより実現されることを特徴する付記１１または付記１２に記載の画像処理装置。
【００６５】
【発明の効果】
以上説明したように本発明によれば、符号化などをはじめとするビットプレーン単位の各種の画像処理において、原理的に処理の不必要なビットプレーン、たとえば単一の値のみから構成されるビットプレーンなどは、当該処理に先立ってあらかじめ切り捨てられてしまうので、必要なデータのみを処理することで当該処理に必要な時間や電力を削減することが可能な画像処理方法、画像処理プログラムおよび画像処理装置が得られるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施の形態にかかる画像処理装置に組み込まれる、ＤＳＣ画像処理用ＬＳＩの概略構成を示すブロック図である。
【図２】本発明の実施の形態にかかる画像処理装置の構成を機能的に示すブロック図である。
【図３】本発明の実施の形態にかかる画像処理装置による、量子化における各画素データの処理順序を示す説明図である。
【図４】本発明の実施の形態にかかるデータ監視部２０２の処理の手順を示すフローチャートである。
【図５】図４のステップＳ４０２における、有効ビットプレーン番号検出処理の手順を示すフローチャートである。
【図６】本発明の実施の形態にかかる有効データ選択部２０３の処理の手順を示すフローチャートである。
【図７】本発明の実施の形態にかかる画像処理装置による、エントロピ符号化における各ビットデータの処理順序を示す説明図である。
【図８】電子画像のデータ構造を模式的に示す説明図である。
【図９】従来技術によるエントロピ符号化における各ビットデータの処理順序を示す説明図である。
【符号の説明】
１００　ＪＰＥＧ２０００符号化マクロ
２００　画素データ処理部
２０１　画素データ記憶部
２０２　データ監視部
２０２ａ　有効ビットプレーン番号記憶部
２０２ｂ　有効ビットプレーン番号一覧記憶部
２０３　有効データ選択部
２０４　ビットプレーンデータ処理部
【図１】
2004015741.tif 000003
【図２】
2004015741.tif 000004
【図３】
2004015741.tif 000005
【図４】
2004015741.tif 000006
【図５】
2004015741.tif 000007
【図６】
2004015741.tif 000008
【図７】
2004015741.tif 000009
【図８】
2004015741.tif 000010
【図９】
2004015741.tif 000011