(57)【要約】【課題】  サブバンド係数を符号化する符号化方式において、任意形状に対応した高効率の形状符号化、及び符号化データの復号を実現する。【解決手段】  画像データを複数の周波数帯域に分割してサブバンド係数を生成することにより周波数帯域分割を行う周波数帯域分割手段と、前記サブバンド係数を、前記画像データの形状を表す形状情報に基づいて統合する統合手段と、統合された前記サブバンド係数と前記形状情報とから、前記形状の領域内のサブバンド係数を符号化して符号化データを生成する符号化手段とを備える。【選択図】図１
2006050557.tif 000002
【特許請求の範囲】
【請求項１】
画像データを複数の周波数帯域に分割してサブバンド係数を生成することにより周波数帯域分割を行う周波数帯域分割手段と、
前記サブバンド係数を、前記画像データの形状を表す形状情報に基づいて統合する統合手段と、
統合された前記サブバンド係数と前記形状情報とから、前記形状の領域内のサブバンド係数を符号化して符号化データを生成する符号化手段と
を備えることを特徴とする画像符号化装置。
【請求項２】
前記統合手段は、水平方向又は垂直方向に配列された前記サブバンド係数のうち、対応する前記形状情報が前記形状の領域内であることを示すサブバンド係数のみを選択することにより、前記サブバンド係数を統合することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記符号化手段は、符号化対象となる前記統合されたサブバンド係数の周囲の係数を参照して符号化することを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項４】
前記形状情報と、前記形状の領域内の前記サブバンド係数とを利用して前記形状の領域外のサブバンド係数を補填するサブバンド係数補填手段をさらに備えることを特徴とする請求項１乃至３のいずれかに記載の画像符号化装置。
【請求項５】
前記周波数帯域分割手段は、参照される前記領域外の画素について、前記形状情報に基づき前記形状の領域内の画素データを補填する補填手段を備えることを特徴とする請求項１乃至４のいずれかに記載の画像符号化装置。
【請求項６】
画像データを複数の周波数帯域に分割してサブバンド係数を生成することにより周波数帯域分割を行う周波数帯域分割手段と、
前記画像データの形状を表す形状情報につき、前記サブバンド係数に対応する形状情報が前記形状の領域内に属することを示す場合には前記サブバンド係数を選択し、前記形状情報が、前記形状の領域外に属することを示す場合には所定値を選択する選択手段と、
符号化対象のサブバンド係数を、該サブバンド係数の周囲のサブバンド係数について対応する形状情報に基づいて前記選択手段からの出力された値を参照して符号化する符号化手段と
を備えることを特徴とする画像符号化装置。
【請求項７】
前記画像データが動画像データである場合には、該動画像データは、入力画像データと、前記入力画像データを予測することで生成された予測画像データとの差分データであることを特徴とする請求項６に記載の画像符号化装置。
【請求項８】
前記周波数帯域分割が離散ウェーブレット変換であることを特徴とする請求項１乃至７のいずれかに記載の画像符号化装置。
【請求項９】
画像データを符号化した符号化データを復号する画像復号装置であって、
前記画像データの形状を表す形状情報を符号化した形状情報符号化データを復号して形状情報を生成する形状情報復号手段と、
前記形状情報について、前記形状の領域内を示す情報を統合して統合形状情報を生成する統合形状情報生成手段と、前記統合形状情報を参照して、前記符号化データを復号して第１のサブバンド係数列を得る復号手段と、
前記第１のサブバンド係数列におけるサブバンド係数の配列を、前記形状情報と前記統合形状情報とを利用して変更して第２のサブバンド係数列を生成する配列変更手段と、
前記第２のサブバンド係数列と前記形状情報とを参照して画像データを合成する画像合成手段と、
を備えることを特徴とする画像復号装置。
【請求項１０】
前記画像データの合成は、逆離散ウェーブレット変換によることを特徴とする請求項９に記載の画像復号装置。
【請求項１１】
画像データを複数の周波数帯域に分割してサブバンド係数を生成することにより周波数帯域分割を行う周波数帯域分割工程と、
前記サブバンド係数を、前記画像データの形状を表す形状情報に基づいて統合する統合工程と、
統合された前記サブバンド係数と前記形状情報とから、前記形状の領域内のサブバンド係数を符号化して符号化データを生成する符号化工程と
を備えることを特徴とする画像符号化方法。
【請求項１２】
前記統合工程では、水平方向又は垂直方向に配列された前記サブバンド係数のうち、対応する前記形状情報が前記形状の領域内であることを示すサブバンド係数のみを選択することにより、前記サブバンド係数が統合されることを特徴とする請求項１１に記載の画像符号化方法。
【請求項１３】
前記符号化工程では、符号化対象となる前記統合されたサブバンド係数の周囲の係数を参照して符号化されることを特徴とする請求項１１又は１２に記載の画像符号化方法。
【請求項１４】
前記形状情報と、前記形状の領域内の前記サブバンド係数とを利用して前記形状の領域外のサブバンド係数を補填するサブバンド係数補填工程をさらに備えることを特徴とする請求項１１乃至１３のいずれかに記載の画像符号化方法。
【請求項１５】
前記周波数帯域分割工程は、参照される前記領域外の画素について、前記形状情報に基づき前記形状の領域内の画素データを補填する補填工程を備えることを特徴とする請求項１１乃至１４のいずれかに記載の画像符号化方法。
【請求項１６】
画像データを複数の周波数帯域に分割してサブバンド係数を生成することにより周波数帯域分割を行う周波数帯域分割工程と、
前記画像データの形状を表す形状情報につき、前記サブバンド係数に対応する形状情報が前記形状の領域内に属することを示す場合には前記サブバンド係数を選択し、前記形状情報が、前記形状の領域外に属することを示す場合には所定値を選択する選択工程と、
符号化対象のサブバンド係数を、該サブバンド係数の周囲のサブバンド係数について対応する形状情報に基づいて前記選択工程において選択された値を参照して符号化する符号化工程と
を備えることを特徴とする画像符号化方法。
【請求項１７】
前記画像データが動画像データである場合に、該動画像データは、入力画像データと、前記入力画像データを予測することで生成された予測画像データとの差分データであることを特徴とする請求項１６に記載の画像符号化方法。
【請求項１８】
前記周波数帯域分割が離散ウェーブレット変換であることを特徴とする請求項１１乃至１７のいずれかに記載の画像符号化方法。
【請求項１９】
請求項１１乃至１８のいずれかに記載の画像符号化方法をコンピュータに実行させるためのコンピュータプログラム。
【請求項２０】
画像データを符号化した符号化データを復号する画像復号方法であって、
前記画像データの形状を表す形状情報を符号化した形状情報符号化データを復号して形状情報を生成する形状情報復号工程と、
前記形状情報について、前記形状の領域内を示す情報を統合して統合形状情報を生成する統合形状情報生成工程と、
前記統合形状情報を参照して、前記符号化データを復号して第１のサブバンド係数列を得る復号工程と、
前記第１のサブバンド係数列におけるサブバンド係数の配列を、前記形状情報と前記統合形状情報とを利用して変更して第２のサブバンド係数列を生成する配列変更工程と、
前記第２のサブバンド係数列と前記形状情報とを参照して画像データを合成する画像合成工程と
を備えることを特徴とする画像復号方法。
【請求項２１】
前記画像データの合成は、逆離散ウェーブレット変換によることを特徴とする請求項２０に記載の画像復号方法。
【請求項２２】
請求項２０又は２１に記載の画像復号方法をコンピュータに実行させるためのコンピュータプログラム。
【請求項２３】
請求項１９又は請求項２２に記載のコンピュータプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、コンピュータプログラム及び記録媒体に関する。
【背景技術】
【０００２】
近年、ネットワークを介して流れるコンテンツは文字情報から静止画像情報、さらには動画像情報と大容量化、多様化している。これに合わせて、情報量を圧縮する符号化技術の開発も進み、開発された符号化技術は国際標準化によって広く普及するようになった。
【０００３】
一方で、ネットワーク自体も大容量化、多様化が進んでおり、１つのコンテンツが送信側から受信側に届くまでに様々な環境を通過することになった。また、送信／受信側機器の処理性能も多様化している。送受信機器の主として用いられるPCではCPU性能、グラフィクス性能など、大幅な性能向上が進む一方、PDA、携帯電話機、ＴＶ，ハードディスクレコーダなど、処理性能の異なる様々な機器がネットワーク接続機能を持つようになってきている。このため、１つのデータで、変化する通信回線容量や受信側機器の処理性能に対応できるスケーラビリティという機能が注目されている。
【０００４】
このスケーラビリティ機能を持つ静止画像符号化方式としてＪＰＥＧ２０００符号化方式が広く知られている。この方式は国際標準化され、ＩＳＯ／ＩＥＣ１５４４４−１（Information technology -- JPEG ２０００ image coding system -- Part １: Core coding system）に詳細が記述されている。その特徴は入力された画像データに対して離散ウェーブレット変換（ＤＷＴ：Ｄｉｓｃｒｅａｔｅ Ｗａｖｅｌｅｔ Ｔｒａｎｓｆｏｒｍａｔｉｏｎ）を施し、複数周波数帯に分離する。それらの係数を量子化し、その値をビットプレーン毎に算術符号化するというものである。ビットプレーンを必要な数だけ符号化したり、復号したりすることで、きめの細かい階層の制御を可能にしている。
【０００５】
また、ＪＰＥＧ２０００符号化方式では、従来の符号化技術には無い、画像の中で興味がある領域の画質を相対的に向上させるＲＯＩ（Ｒｅｇｉｏｎ  Ｏｆ  Ｉｎｔｅｒｅｓｔ）といった技術も実現している。
【０００６】
図３４にＪＰＥＧ２０００符号化方式の符号化手順を示す。タイル分割部９００１は入力画像を複数の領域（タイル）に分割する。この機能はオプションである。ＤＷＴ部９００２は離散ウェーブレット変換を行い、周波数帯に分離する。量子化部９００３で、各係数を量子化する。ただし、この機能はオプションである。ＲＯＩ部９００７はオプションであり、興味のある領域を設定し、量子化部９００３でシフトアップを行う。エントロピー符号化部９００４でＥＢＣＯＴ（Ｅｍｂｅｄｅｄ Ｂｌｏｃｋ Ｃｏｄｉｎｇ  ｗｉｔｈ  Ｏｐｔｉｍｉｚｅｄ  Ｔｒｕｎｃａｔｉｏｎ）方式でエントロピー符号化を行い、符号化されたデータはビット切り捨て部９００５で必要に応じて下位ビットを切り捨ててレート制御を行う。符号形成部９００６でヘッダ情報を付加し、種々のスケーラビリティの機能を選択して符号化データを出力する。
【０００７】
図３５にＪＰＥＧ２０００符号化方式の復号手順を示す。符号解析部９０２０はヘッダを解析し、階層を構成するための情報を得る。ビット切り捨て部９０２１は入力される符号化データを内部バッファの容量、復号処理能力に対応して、下位のビットを切り捨てる。エントロピー復号部９０２２はＥＢＣＯＴ符号化方式の符号化データを復号し、量子化されたウェーブレット変換係数を得る。逆量子化部９０２３はこれに逆量子化を施し、逆ＤＷＴ部９０２４は逆離散ウェーブレット変換を施して画像データを再生する。タイル合成部９０２５は複数のタイルを合成して画像データ再生する。
【０００８】
このＪＰＥＧ２０００符号化方式を動画像の各フレームに対応させることで動画像符号化を行うＭｏｔｉｏｎ  ＪＰＥＧ２０００方式（ＩＳＯ／ＩＥＣ１５４４４−３（Information technology -- JPEG ２０００ image coding system Part ３: Motion JPEG ２０００））も勧告されている。
【０００９】
一方で、ＭＰＥＧ−４符号化方式ではオブジェクト符号化を行っている。（非特許文書  「ＩＳＯ／ＩＥＣ１４４９６−２」又は非特許文献１参照。）図３６にその符号化の手順を示す。ブロック分割９０３１で８ｘ８のブロックに分割し補填部９０３２でパディングを行い、差分部９０３３で動き補償による予測データを引き、ＤＣＴ部９０３４で離散コサイン変換を行い、量子化部９０３５で量子化を行う。その結果はエントロピー符号化部９０３６で符号化される。
【００１０】
形状に関する情報はブロック分割部９０４３で符号化単位のブロックに分割され、参照のためにフレームメモリ９０４４に格納されると同時に、動き補償部９０４２で求められた動きベクトルに従って、フレームメモリ９０４４を参照して差分部９０４５でその差異を求め、エントロピー符号化部９０４６で符号化される。
【００１１】
符号形成部９０３７でヘッダ情報を付加して、動きベクトルを符号化して、形状情報の符号化データ、量子化された係数の符号化データと共に出力する。同時の逆量子化部９０３８で逆量子化し、逆ＤＣＴ部９０３９で離散コサイン変換の逆変換を施し、加算部９０４０で予測データを加算してフレームメモリ９０４１に格納する。動き補償部９０４２は入力画像とフレームメモリ９０４１に格納されている参照フレームを参照して動きベクトルを求め、予測データを生成する。
【非特許文献１】藤原  洋 監修  「画像＆音声圧縮技術のすべて」ＣＱ出版社  ２０００年４月１日発行  ページ１０７〜１１０
【発明の開示】
【発明が解決しようとする課題】
【００１２】
前述のＪＰＥＧ２０００のような離散ウェーブレット変換を行う方式に形状符号化を適用するためには、画素単位で補填を行うと変換係数全体に影響が及ぶため、量子化等での劣化を助長してしまう。また、画素単位での補填では周波数空間上で近傍のサブバンド係数との相関が低いため、算術符号化で効率が上がらないといった問題が生じる。
【００１３】
本発明は上記の問題を考慮して、サブバンド係数を符号化する符号化方式において、任意形状に対応した高効率の符号化、及び符号化データの復号を実現することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するための本発明は、画像データを複数の周波数帯域に分割してサブバンド係数を生成することにより周波数帯域分割を行う周波数帯域分割手段と、前記サブバンド係数を、前記画像データの形状を表す形状情報に基づいて統合する統合手段と、統合された前記サブバンド係数と前記形状情報とから、前記形状の領域内のサブバンド係数を符号化して符号化データを生成する符号化手段とを備える。
【００１５】
上記課題を解決するための本発明は更に、画像データを複数の周波数帯域に分割してサブバンド係数を生成することにより周波数帯域分割を行う周波数帯域分割手段と、前記画像データの形状を表す形状情報につき、前記サブバンド係数に対応する形状情報が前記形状の領域内に属することを示す場合には前記サブバンド係数を選択し、前記形状情報が、前記形状の領域外に属することを示す場合には所定値を選択する選択手段と、符号化対象のサブバンド係数を、該サブバンド係数の周囲のサブバンド係数について対応する形状情報に基づいて前記選択手段からの出力された値を参照して符号化する符号化手段とを備える。
【００１６】
上記課題を更に解決するための本発明は、画像データを符号化した符号化データを復号する画像復号装置であって、前記画像データの形状を表す形状情報を符号化した形状情報符号化データを復号して形状情報を生成する形状情報復号手段と、前記形状情報について、前記形状の領域内を示す情報を統合して統合形状情報を生成する統合形状情報生成手段と、前記統合形状情報を参照して、前記符号化データを復号して第１のサブバンド係数列を得る復号手段と、前記第１のサブバンド係数列におけるサブバンド係数の配列を、前記形状情報と前記統合形状情報とを利用して変更して第２のサブバンド係数列を生成する配列変更手段と、前記第２のサブバンド係数列と前記形状情報とを参照して画像データを合成する画像合成手段とを備える。
【発明の効果】
【００１７】
本発明では、サブバンド係数を符号化する符号化方式において、任意形状に対応した高効率の符号化、及び符号化データの復号を実現できる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の第１の実施形態を、図面を用いて詳細に説明する。
【００１９】
［第１の実施形態］
図１は本発明の第１の実施形態に係る動画像符号化装置を示すブロック図である。第１の実施形態では、動画像符号化装置が使用する画像の符号化方式として、ＭｏｔｉｏｎＪＰＥＧ２０００符号化方式を例にとって説明するが、これに限定されない。また、形状符号化方式として、ＭＰＥＧ−４符号化方式を例にとって説明するがこれに限定されない。
【００２０】
図１において、１は入力された画像データをブロック単位に分割するブロック分割部であり、２は分割されたブロックに対して離散ウェーブレット変換を施すＤＷＴ部である。３は離散ウェーブレット変換で得られたサブバンド係数を量子化する量子化部である。４は量子化結果で領域内のサブバンド係数と形状情報を統合する係数統合部である。５は係数統合部４から出力されたサブバンド係数を格納する係数メモリである。
【００２１】
６は係数統合部４から出力された形状情報を格納する形状情報メモリである。７は形状を考慮して、ＪＰＥＧ２０００符号化方式のＥＢＣＯＴ符号化をビットプレーン毎に行う符号化部であり、８はビットレートを調整するビット切り捨て部である。９は入力された形状情報をブロック単位に分割するブロック分割部であり、１０はブロック分割された形状情報をＤＷＴ部２の周波数帯に合わせて縮小を行う縮小部である。
【００２２】
１１はＭＰＥＧ−４符号化方式の形状符号化方式で符号化する形状情報符号化部である。１２は必要なヘッダを生成し、ビット切り捨て部８と形状情報符号化部１１の出力から符号化データを形成する符号形成部である。
【００２３】
上記のように構成された動画像符号化装置における動画像符号化動作を以下で説明する。
【００２４】
本実施形態では、動画像データをフレーム単位に入力する。同時に別途抽出された形状情報を入力するものとするが、内部で形状情報の抽出を行ってももちろん構わない。ここで、入力画像データは図３２（ａ）に示すようになり、その形状情報は図３２（ｂ）に示すようになる。
【００２５】
ブロック分割部１は動画像データが、ブロック分割部９は形状情報が入力され、１フレーム分を保持して、ブロックに分割し、後段にブロック単位で出力する。ブロック分割部１でブロック分割された動画像データはＤＷＴ部２に入力される。ＤＷＴ部２で行う離散ウェーブレット変換は適用回数を２回とし７分割する場合を例にとって説明するが、これに限定されない。
【００２６】
ブロック分割された形状情報は形状情報符号化部１１と縮小部１０に入力される。形状情報符号化部１１ではＭＰＥＧ−４符号化方式の形状符号化方式で符号化され、符号形成部１２に出力される。
【００２７】
縮小部１０では入力された形状情報を、ＤＷＴ部２での適用回数に従って、縮小する。本実施形態で説明する適用回数が２回であれば、１／２、１／４の縮小を行った形状情報を生成する。すなわち適用回数をＴとすると（１／２）Ｎ（但し、Ｎ＝１・・・Ｔ）の縮小画像を生成する。縮小された形状符号化はそれぞれの周波数帯に対応しており、これを並べた状態を図３２（ｃ）に示す。
【００２８】
図２にＤＷＴ部２の詳細なブロック図を示す。図２において、５０、６９は水平方向のローパスフィルタを行うＨＬＰＦ部、５３、７２は水平方向のハイパスフィルタを行うＨＨＰＦ部、５７，６３，７６，８２は垂直方向のローパスフィルタを行うＶＬＰＦ部、６０、６６、７９、８５は垂直方向のハイパスフィルタを行うＶＨＰＦ部である。５６、７５は形状情報の水平方向の１／２サブサンプリングを行うサブサンプリング部、５１，５４，７０，７３はフィルタの出力を水平方向に１／２サブサンプリングするサブサンプリング部、５８、６１、６４、６７、７７、８０、８３、８６は垂直方向に１／２サブサンプリングするサブサンプリング部、５２、５５、５９、６２、６５、６８、７１、７４、７８、８１、８４、８７はフィルタ処理結果を格納するメモリである。
【００２９】
ブロック分割部１から画像データが、ブロック分割部９から縮小されていない形状情報が、縮小部１０から（１／２）に縮小された形状情報が入力される。画像データはＨＬＰＦ部５０とＨＨＰＦ部５３に入力され、水平方向にフィルタ処理が施される。例えば、ＪＰＥＧ２０００で使用される９−７フィルタを使用する例を取って説明する。すなわち、領域外の部分に関しては仮想的に画素値を補い、水平方向に７タップのローパスフィルタと９タップのハイパスフィルタを施す。但し、これに限定されない。
【００３０】
図３に各フィルタ部の詳細なブロック図を示す。図３において、タップ数はそれぞれのフィルタに依存するがここでは９タップの場合を例にとって説明する。
【００３１】
１００は形状情報の９画素分のデータを蓄積するラッチ群であり、１０１は画像データの９画素分のデータを蓄積するラッチ群である。１０２は入力された形状情報から境界を判定する境界判定器であり、１０３は境界判定器１０２の結果とラッチ群１０１の画像データからフィルタ処理を行うためのデータを生成する補填器であり、１０４は補填器１０３からの出力を係数ごとに格納するラッチ群である。１０５はフィルタ演算を行うフィルタ演算部である。
【００３２】
形状情報とフィルタ処理を行う画素値はラッチ群１００とラッチ群１０１に入力される。境界判定器１０２は形状情報から領域内外を分ける境界を検出し、その状況を補填器１０３に入力する。補填器１０３はフィルタの中央の画素とそれに隣接する領域内画素値に関してはそのままとして、それ以外の画素値を補填する。それ以外の画素について領域内の画素値を用いて境界を境に点対称で補填を行う。
【００３３】
図６に入力される画像のデータ例を示す。水平方向に９画素がある状態を示しており、太枠で囲まれた画素が中央であり、その画素値をＡとする。灰色の部分が領域外を表わす。中央から左方向に画素値をＢ、Ｃ、Ｄ、Ｅ、とし、中央から左方向に画素値をＦ、Ｇ、Ｈ、Ｉとする。第１列では中央の画素Ａの左右から領域外となっており、境界はこの中央画素の両脇にあると考えられる。第２列は画素Ｂの左側と画素Ａの右側にあると考えられ、以下、同様に境界を検出することができる。
【００３４】
この境界を境に点対象に拡張・補填を行う。その様子を図７に示す。図７では小文字は複写された結果を表し、ａはＡを複写した値を表し、以下、ｂとＢ、ｃとＣ、ｄとＤ、ｅとＥ、ｆとＦ、ｇとＧ、ｈとＨ、ｉとＩはそれぞれを複写した値を表している。第１列では両方向に向かってＡの画素値を複写する。第２列では画素Ａの右側に画素Ｂの値を複写する。Ｂの左側に対しては画素Ａの値を複写する。画素Ａの２つ右側には画素Ａを画素Ｂの左側に複写した画素ａを複写する。以下同様にして９タップの全てに画素を補填する。以下、第３列以降も同様にして補填を行う。
【００３５】
また、境界の形状によっては複数の領域が存在する場合が生じる。図８にその一例を表す。第１列では画素Ａの領域のほかに画素Ｇ、Ｈ、Ｉからなる領域も存在する。これらに関しても中央の両隣の境界を検出して補填を行う。その結果を図９に示す。第１列では画素Ａを含む領域と画素Ｇ、Ｈ、Ｉを含む領域は離れているため、中央の画素Ａの左右から領域外として補填を行われ、全て画素Ａを複写した画素ａとなる。第２列以下でも同様に中央の画素を含む領域の両側に境界があるものとして補填が行われている。
【００３６】
図３に戻って、補填器１０３で上記のように補填した結果がラッチ群１０４に格納されている。フィルタ演算器１０５はそれぞれの重みを積算し、それらの値を加算して出力することで画素Ａに対する変換値が出力される。
【００３７】
図２に戻って、変換の結果はサブサンプリング部５１、５４で水平方向に１／２にサブサンプリングされ、メモリ５２、５５に格納される。入力された形状情報はサブサンプリング部５６で水平方向に１／２にサブサンプリングされ、ＶＬＰＦ部５７、６３とＶＨＰＦ部６０、６６に入力される。各フィルタ部は上記のＨＬＰＦ部５０、ＨＨＰＦ部５３と同様に領域外の値を補填・拡張しながらフィルタ処理を行い、それぞれサブサンプリング部５８、６１、６４、６７に入力され、垂直方向に１／２サブサンプリングされてメモリ５９、６２、６５、６８に格納される。メモリ５９、６２、６５、６８は周波数帯１ＬＬ、１ＬＨ、１ＨＬ、１ＨＨの内容が格納される。
【００３８】
適用回数を２回としたので、１ＬＬに対して同様の変換を施す。ＨＬＰＦ部６９、ＨＨＰＦ部７２に入力されるサイズは入力に対して縦横１／２に縮小されたものであり、それに合わせて縮小部１０から縦横１／２に縮小した形状情報を入力することが異なるが、それ以外の処理は同じである。その結果、メモリ７８、８１、８４、８７に周波数帯２ＬＬ、２ＨＬ、２ＬＨ、２ＨＨの内容が格納される。それぞれの周波数帯の関係を図３３に示す。
【００３９】
図１に戻って、ＤＷＴ部２で生成された各周波数帯のサブバンド係数は量子化部３で量子化され、係数統合部４に入力される。係数統合部４は縮小部１０から縮小された形状情報が入力され、領域内のサブバンド係数を統合する。
【００４０】
図４は係数統合部４の詳細なブロック図である。同図において、１１０は水平方向１ライン分の形状情報を格納するラッチ群であり、１１１は水平方向１ライン分のサブバンド係数を格納するラッチ群であり、１１２は入力された形状情報から境界を判定する境界判定器であり、１１３は境界判定器１１２の内容に従ってラッチ群１１０からの入力を切換えるセレクタである。１１４は境界判定器１１２の内容に従ってラッチ群１１１からの入力を切換えるセレクタである。１１５はセレクタ１１３の出力である形状情報を格納するラッチ群である。１１６はセレクタ１１４の出力であるサブバンド係数を格納するラッチ群である。１１７はメモリであり、形状情報を格納したラッチ群１１５の出力を１ブロック分格納する。１１８はメモリであり、サブバンド係数を格納したラッチ群１１６の出力を１ブロック分格納する。
【００４１】
１１９は垂直方向１ライン分の形状情報を格納するラッチ群であり、１２０は垂直方向１ライン分のサブバンド係数を格納するラッチ群であり、１２１は入力された形状情報から境界を判定する境界判定器であり、１２２は境界判定器１２１の内容に従ってラッチ群１１９からの入力を切換えるセレクタである。１２３は境界判定器１２１の内容に従ってラッチ群１２０からの入力を切換えるセレクタである。１２４はセレクタ１２２の出力である形状情報を格納するラッチ群である。１２５はセレクタ１２３の出力であるサブバンド係数を格納するラッチ群である。１２６はメモリであり、形状情報を格納したラッチ群１２４の出力を１ブロック分格納する。１２７はメモリであり、サブバンド係数を格納したラッチ群１２５の出力を１ブロック分格納する。
【００４２】
上記の構成において、形状情報とサブバンド係数の水平１ライン分ずつが入力され、ラッチ群１１０とラッチ群１１１にそれぞれ格納される。境界判定器１１２は水平方向で左から１つずつ形状情報をラッチ群１１０から読み込み、領域内であればセレクタ１１３と１１４が入力されたデータを出力するように制御する。一方、領域外であれば、セレクタ１１３と１１４が出力を行わないように制御する。
【００４３】
ラッチ群１１５、１１６は処理を開始する前に必ず０でクリアされる。ここで、０は、形状情報の場合には領域外をあらわすこととする。ラッチ群１１０と１１１とにそれぞれ格納されたデータは、クロックに従って１つずつ読み出され、領域内であれば形状情報とサブバンド係数とがラッチ群１１５、１１６に順に格納され、領域外であれば格納されない。この処理が１ライン分終了すると、形状情報とサブバンド係数とは、領域外のデータが除外されて格納されているので、左側に寄った状態になる。
【００４４】
このようなラッチ群への格納結果は、形状情報についてはメモリ１１７、サブバンド係数についてはメモリ１１８に格納される。図１０は、メモリ１１７及び１１８における格納の様子を示す図である。図１０において、白が領域内、灰色が領域外のデータを示している。
【００４５】
図１０ａは入力される形状情報またはサブバンド係数を表す。このような入力に対して上記の処理を施し、メモリ１１７、またはメモリ１１８に格納された形状情報またはサブバンド係数の様子は図１０ｂのようになる。
【００４６】
１ブロック分の水平方向の処理が終了すると、メモリ１１７とメモリ１１８から形状情報とサブバンド係数の垂直１ライン分ずつが入力され、ラッチ群１１９とラッチ群１２０にそれぞれ格納される。その際、境界判定器１２１は垂直方向で上から１つずつ形状情報をラッチ群１１９から読み込み、領域内であればセレクタ１２２と１２３が入力を出力するように制御し、一方、領域外であればセレクタ１２２と１２３が出力を行わないように制御する。
【００４７】
ラッチ群１２４、１２５は処理を開始する前に必ず０でクリアされる。ラッチ群１１９と１２０とにそれぞれ格納されたデータは、クロックに従って１つずつ読み出され、領域内であれば形状情報とサブバンド係数がラッチ群１２４、１２５に順に格納され、領域外であれば格納されない。この処理が垂直１ライン分終了すると、形状情報とサブバンド係数が上側に寄った状態になる。その結果は形状情報についてはメモリ１２６、サブバンド係数についてはメモリ１２７に格納される。図１０ｃは図１０ｂに対して上記の処理を施した結果の形状情報またはサブバンド係数を示している。メモリ１２６、メモリ１２７の出力は、統合形状情報及び統合サブバンド係数として図１の形状情報メモリ６及び係数メモリ５に格納される。
【００４８】
図１に戻って、係数メモリ５及び形状情報メモリ６に格納された統合サブバンド係数と統合形状情報は符号化部７に入力され、サブバンド係数はビットプレーン毎にＥＢＣＯＴ符号化され、ビット切り捨て部８に入力される。
【００４９】
図５に符号化部７の詳細なブロック図を示す。同図において、１５０は統合サブバンド係数ごとのクロックを発生させるクロック発生器である。１５１は形状情報メモリ６から入力された統合形状情報を格納する形状情報メモリであり、１５２、１５３、１５４、１５５は統合サブバンド係数の各ビットをビットプレーン毎に格納するビットプレーンメモリである。１５６は形状情報メモリ１５１の統合形状情報にしたがって入力と出力を制御するセレクタである。１５７はメモリ１５１の統合形状情報にしたがって出力を制御するセレクタである。１５８は参照するサブバンド係数を格納する参照サブバンドメモリである。１５９はエントロピー符号化器である。
【００５０】
形状情報メモリ１５１には形状情報メモリ６の形状情報が格納され、ビットプレーンメモリ１５２、１５３、１５４、１５５にビットプレーン単位で係数メモリ５のサブバンド係数が格納されると、クロック発生器１５０はクロックを発生し、ビットプレーンの上位から算術符号化を開始する。セレクタ１５７ではクロックに従って、符号化対象のビットをビットプレーンメモリ１５２、１５３、１５４、１５５から読み出し、形状情報メモリ１５１に格納された対応する統合形状情報が領域内を表している場合はエントロピー符号化器１５９に入力する。一方、領域外を表している場合は出力を行わず、エントロピー符号化器１５９も動作しない。
【００５１】
セレクタ１５６は符号化する統合サブバンド係数が、形状情報メモリ１５１に格納された対応する統合形状情報に基づいて領域内にあると識別される場合には、符号化対象の統合サブバンド係数の周囲の統合サブバンド係数で符号化済みサブバンド係数のビットをビットプレーンメモリ１５２、１５３、１５４、１５５から適宜読み出し、出力する。一方、形状情報メモリ１５１に格納された対応する統合形状情報に基づいて、参照するサブバンド係数で領域外のものについては、入力として「０」を選択し、出力する。セレクタ１５６の出力は参照サブバンドメモリ１５８に格納される。エントロピー符号化器１５９はセレクタ１５７から符号化対象ビットを読み込み、参照サブバンドメモリ１５８からは参照値を読み込んで符号化対象ビットをエントロピー符号化する。符号化結果は図１のビット切り捨て部８に入力される。
【００５２】
ビット切り捨て部８は不図示のバッファ等の容量からレート制御を行うため、出力するビットプレーンの数を決定して、当該のビットプレーンの符号化データを符号形成部１２に入力する。符号形成部１２は必要なヘッダと形状情報符号化部１１から出力された形状情報の符号化データと、ビット切り捨て部８から出力された符号化データを多重化して出力する。
【００５３】
このような一連の選択動作により、形状に対応した画像データを符号化することが可能になり、離散ウェーブレット変換部で形状を考慮した拡張を行い、係数統合部ではサブバンド係数を形状情報に従って統合することで、相関の高い領域内のサブバンド係数を纏めることと、符号化する対象を減少させることで符号化効率を改善することができる。さらに、エントロピー符号化する対象が減少するので高速に処理することも可能となる。
【００５４】
［第２の実施形態］
図１１は、本発明の第２の実施形態に係る動画像復号装置の構成を示すブロック図である。本実施形態では第１実施形態で生成された符号化データを復号する場合を例にとって説明するが、これに限定されない。
【００５５】
２００はヘッダを解析し、解析結果に基づいて、後段を制御し、入力された符号化データをビット切り捨て部２０５と形状情報復号部２０１に入力する符号解析部である。２０１はＭＰＥＧ−４符号化方式の形状符号化方式で復号する形状情報復号部である。２０２は復号して得られた形状情報を格納するフレームメモリである。２０３は復号された形状情報を逆ＤＷＴ部２１０の周波数帯に合わせて縮小を行う縮小部である。２０４は形状情報を統合して統合形状情報を生成する形状情報統合部である。
【００５６】
２０５は復号するビット数を調整するビット切り捨て部である。２０６はＪＰＥＧ２０００符号化方式のＥＢＣＯＴ符号化によってビットプレーン毎に復号を行う復号部である。２０７は復号されたサブバンド係数を格納する係数メモリである。２０８は形状情報に基づいて、サブバンド係数を展開する係数展開部である。２０９は量子化されたサブバンド係数を逆量子化する逆量子化部である。２１０は逆量子化したブロックに対して形状情報に基づいて逆離散ウェーブレット変換を施す逆ＤＷＴ部である。２１１は復号して得られた画像データを格納するフレームメモリである。
【００５７】
上記のように構成された動画像復号装置における動画像復号動作を以下で説明する。本実施形態では、動画像データの符号化データをフレーム単位に入力する。
【００５８】
入力された符号化データは符号解析部２００に入力される。付加されたヘッダを解析し、符号化の特性を把握し、後段の各部の初期化等を行う。また符号解析部２００は入力された符号化データから形状情報に関する符号化データと画像データに関する符号化データを分離し、前者を形状情報復号部２０１に、後者をビット切り捨て部２０５に入力する。
【００５９】
形状情報復号部２０１は、ＭＰＥＧ−４符号化方式の形状符号化方式に従って復号し、形状情報を生成し、フレームメモリ２０２に格納する。同時に縮小部２０３に入力する。縮小部２０３は符号解析部２００で解析されて得られた離散ウェーブレット変換の適用回数に従って、形状情報の縮小画像を生成して保持する。本実施形態では第１実施形態で生成された符号化データを復号するので、適用回数は２回である。縮小された形状情報は形状情報統合部２０４、係数展開部２０８、逆ＤＷＴ部２１０に入力される。
【００６０】
形状情報統合部２０４は、第１の実施形態における係数統合部４（図４）における形状情報の統合処理と同様の処理が実行され、フレームメモリ２０２に格納された形状情報と対応する統合形状情報が生成され、復号部２０６へ提供される。より具体的には、図４のラッチ群１１０、境界判定器１１２、セレクタ１１３、ラッチ群１１５、メモリ１１７、ラッチ群１１９、境界判定器１２１、セレクタ１２２、ラッチ群１２４、メモリ１２６で構成される。これにより、領域内を表す形状情報が統合されて統合形状情報が生成され、図１１の復号部２０６に出力される。
【００６１】
一方、画像データに関する符号化データはビット切り捨て部２０５に入力される。ビット切り捨て部２０５は復号部２０６やその他の状況から復号するビット数を調整する。復号部２０６はビット切り捨て部２０５から画像データに関する符号化データを、形状情報統合部２０４から統合された形状情報が入力される。
【００６２】
図１２に復号部２０６の詳細なブロック図を示す。同図において、２２０はサブバンド係数ごとのクロックを発生させるクロック発生器である。２２１は形状情報統合部２０４から入力された形状情報を格納する形状情報メモリであり、２２２は形状情報メモリ２２１の形状情報にしたがって入力と出力を制御するセレクタである。２２３は参照する係数を格納する参照サブバンドメモリである。２２４はエントロピー復号器である。２２５、２２６、２２７、２２８はサブバンドの各ビットをビットプレーン毎に格納するビットプレーンメモリである。
【００６３】
形状情報メモリ２２１に形状情報統合部２０４からの形状情報が格納されたら、クロック発生器２２０は係数単位に処理をするためのクロックを発生する。セレクタ２２２は復号するサブバンド係数が領域内であれば、符号化対象サブバンド係数の周囲のサブバンド係数で符号化済みサブバンド係数のビットをビットプレーンメモリ２２５、２２６、２２７、２２８から適宜読みだす。
【００６４】
また、形状情報メモリ２２１で参照するサブバンド係数で領域外のものについては０を出力する。セレクタ２２２は、復号する領域外であれば出力を行わず、エントロピー復号器２２４も動作しない。エントロピー復号器２２４は符号化データと参照サブバンドメモリ２２３から参照値を読み込み、ビットを復号する。復号されたビットはビットプレーンメモリ２２５、２２６、２２７、２２８にクロック発生器２２０に従って格納される。
【００６５】
復号結果は図１１の係数メモリ２０７に入力される。係数展開部２０８は係数の展開を行う。図１３に係数展開部２０８の詳細なブロック図を示す。２５０は周波数帯に合わせて縮小された形状情報を格納するメモリである。２５１は形状統合器２０４で統合された形状情報の水平方向１ライン分のデータを蓄積するラッチ群であり、２５２は復号されたサブバンド係数データの水平方向１ライン分のデータを蓄積するラッチ群である。
【００６６】
２５３は入力された形状情報から水平方向の境界を判定する境界判定器である。２５４はセレクタであり、境界判定器２５３の出力に応じて出力を制御する。２５５はセレクタであり、境界判定器２５３とラッチ群２５１の出力に応じて出力を制御する。２５６はセレクタ２５４の出力を蓄積するラッチ群であり、２５７はセレクタ２５５の出力を蓄積するラッチ群である。２５８、２５９はブロック単位のメモリであり、メモリ２５８は形状情報を、メモリ２５９はサブバンド係数を格納する。
【００６７】
２６０は形状情報の垂直方向１ライン分のデータを蓄積するラッチ群であり、２６１はサブバンド係数データの垂直方向１ライン分のデータを蓄積するラッチ群である。２６２は入力された形状情報から垂直方向の境界を判定する境界判定器である。２６３はセレクタであり、境界判定器２６２とラッチ群２６０の出力に応じて出力を制御する。２６４はセレクタ２６３の出力を蓄積するラッチ群であり、２６５はブロック単位のメモリであり、サブバンド係数を格納する。
【００６８】
上記の構成において、図１１の縮小部２０３から処理する周波数帯に適応した形状情報を入力し、メモリ２５０に格納する。その後、図１１の形状統合部２０４から統合形状情報と係数メモリ２０７からサブバンド係数の水平１ライン分ずつが入力され、ラッチ群２５１とラッチ群２５２にそれぞれ格納される。
【００６９】
境界判定器２５３はメモリ２５０の水平方向で左から１つずつ形状情報を読み込み、領域内であればラッチ群２５１からセレクタ２５４が入力を出力するように制御信号を生成する。同様にラッチ群２５２からセレクタ２５５が入力を出力するように制御信号を生成する。領域外であれば、何れのセレクタも入力は行わないように制御する。
【００７０】
ラッチ群２５６、２５７は処理を開始する前に必ず０でクリアされる。０は形状情報では領域外をあらわすこととする。クロックに従って１つずつ読み出し、領域内であれば形状情報とサブバンド係数をラッチ群２５６、２５７に順に格納し、領域外であれば格納は行わずにラッチの位置を１つだけ左に移動する。セレクタ２５４とセレクタ２５５はラッチ群２５１からの出力が領域外になった場合、ラインの処理を終了する。
【００７１】
この処理を１ライン分終了すると、形状情報とサブバンド係数が水平方向に元の配置状態になる。その結果は形状情報についてはメモリ２５８、サブバンド係数についてはメモリ２５９に格納される。図１０にその様子を示す。図１０ｃに上記の処理を施し、メモリ２５８、またはメモリ２５９に格納される形状情報またはサブバンド係数は図１０ｄのようになる。
【００７２】
１ブロック分の水平方向の処理が終了したら、メモリ２５８とメモリ２５９から形状情報とサブバンド係数の垂直１ライン分ずつが入力され、ラッチ群２６０とラッチ群２６１にそれぞれ格納される。境界判定器２６２は垂直方向で上から１つずつ形状情報を読み込み、領域内であればラッチ群２６１からセレクタ２６３が入力を出力するように制御信号を生成する。
【００７３】
領域外であれば、何れのセレクタも入力は行わないように制御する。ラッチ群２６４は処理を開始する前に必ず０でクリアされる。クロックに従って１つずつ読み出し、領域内であれば形状情報とサブバンド係数をラッチ群２６４に順に格納し、領域外であれば格納は行わずラッチの位置を１つだけ左に移動する。セレクタ２６３はラッチ群２６０からの出力が領域外になった場合、ラインの処理を終了する。
【００７４】
この処理を１ライン分終了すると、形状情報とサブバンド係数が垂直方向にも元の配置状態になる。すなわち図１０ａの状態に戻る。その結果、サブバンド係数についてはメモリ２６５に格納される。
【００７５】
メモリ２６５の出力は図１１の逆量子化部２０９に出力される。図１１に戻り、逆量子化部２０９は入力された値に対して所定の逆量子化を行い、サブバンド係数を再生し、逆ＤＷＴ部２１０に入力される。
【００７６】
図１４に逆ＤＷＴ部２１０の詳細なブロック図を示す。図１４において、４５０、４５１、４５２、４５３、４７２、４７３、４７４、４７５は垂直方向に２倍のアップサンプリングするアップサンプリング部、４５４、４５６、４７６、４７８は垂直方向のローパスフィルタを行うＶＬＰＦ部、４５５、４５７、４７７、４７９は垂直方向のハイパスフィルタを行うＶＨＰＦ部、４５８、４５９、４６０、４６１、４６９、４７０、４８０、４８１、４８２、４８３、４９２、４９３はフィルタ処理結果を格納するメモリ、４６２、４６３、４７１、４８４、４８５、４９４は周波数合成を行う合成部である。
【００７７】
４６４、４６５、４８６、４８７はフィルタの出力を水平方向に２倍のアップサンプリングするアップサンプリング部、４６７、４９０は水平方向のローパスフィルタを行うＨＬＰＦ部、４６８、４９１は水平方向のハイパスフィルタを行うＨＨＰＦ部、である。４６６、４８９は形状情報の垂直方向の２倍のアップサンプリングを行うアップサンプリング部である。
【００７８】
図１１の逆量子化部２０９からサブバンド係数が、縮小部２０３から（１／４）に縮小された形状情報と（１／２）に縮小された形状情報が入力される。またブロックの周波数帯２ＬＬ、２ＬＨ、２ＨＬ、２ＨＨのサブバンド係数がアップサンプリング部４５０、４５１、４５２、４５３にそれぞれ入力される。アップサンプリング部４５０、４５１、４５２、４５３は垂直方向に２倍のアップサンプリングするために間に０値を挿入する。
【００７９】
アップサンプリングされたそれぞれのサブバンド係数は（１／４）に縮小された形状情報と共にＶＬＰＦ部４５４、ＶＨＰＦ部４５５、ＶＬＰＦ部４５６、ＶＨＰＦ部４５７に入力される。各部のフィルタは第１の実施形態で図３に表したような構成のフィルタで構成されており、逆離散ウェーブレット変換の係数に従って、補填を行いながらフィルタ処理を行う。求められた結果はメモリ４５８、４５９，４６０、４６１にそれぞれ格納される。
【００８０】
合成部４６２はメモリ４５８、４５９からそれぞれの係数値を読み出し、逆離散ウェーブレット変換で規定されている周波数での合成を行う。同様に、合成部４６３はメモリ４６０、４６１からそれぞれの係数値を読み出し、逆離散ウェーブレット変換で規定されている周波数での合成を行う。
【００８１】
アップサンプリング部４６４、４６５は水平方向に２倍のアップサンプリングするために間に０値を挿入する。一方、入力された（１／４）に縮小された形状情報はアップサンプリング部４６６に入力され、形状情報の係数単位での繰り返しによって垂直方向に２倍にアップサンプリングする。
【００８２】
アップサンプリング部４６４、４６５でアップサンプリングされたそれぞれのサブバンド係数は、アップサンプリング部４６６で拡大された形状情報と共にＨＬＰＦ部４６７、ＨＨＰＦ部４６８に入力される。ＨＬＰＦ部４６７、ＨＨＰＦ部４６８も図３のフィルタ部の構成をとっており、求められた結果はメモリ４６９、４７０にそれぞれ格納される。合成部４７１はメモリ４６９、４７０からそれぞれの係数値を読み出し、逆離散ウェーブレット変換で規定されている周波数での合成を行う。これにより、周波数帯１ＬＬを算出する。
【００８３】
同様に周波数帯１ＬＨ．１ＨＬ、１ＨＨを図１１の逆量子化部２０９から入力してフィルタ処理を行い、最終的に合成部４９４で画素値を得る。図１１に戻って、求められた画素値はフレームメモリ２１１に格納され、フレームメモリ２０２に格納された形状情報と共に外部に出力される。
【００８４】
このような一連の選択動作により、離散ウェーブレット変換部で形状を考慮した統合を行って符号化された符号化データを復号することが可能になり、符号化効率の高い符号化データを劣化なく復号することが可能になった。また、シンボル数も全てのサブバンド係数で処理を行うより少ないため、高速化が図られている。さらにビット切り捨てを行うことで、適宜情報量を減らして高速な処理を行うことも可能になった。
【００８５】
［第３の実施形態］
図１５は、本発明の第３の実施形態に係る動画像符号化装置の構成を示すブロック図である。図１５において第１の実施形態の図１と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【００８６】
５００は形状情報を格納するフレームメモリであり、５０１は動き補償部５０７で求められた動きベクトルで求められる形状情報の予測データとの差分を求める差分部である。５０２は動き補償部５０７で求められた動きベクトルで求められる画像データの予測データとの差分を求める差分部である。５０３は量子化部３の逆量子化を行う逆量子化部であり、５０４はＤＷＴ部２の逆変換を行う逆ＤＷＴ部である。ＤＷＴ部２と同様に形状情報を参照して逆変換を行う。
【００８７】
逆ＤＷＴ部５０４は図１４で示されるブロックで構成され、第２の実施形態の逆ＤＷＴ部２１０と同様に動作する。５０５は予測データとの加算を行う加算部である。５０６は動き補償の参照のために復号画像を格納しておくフレームメモリである。５０７はフレームメモリ５０６と入力画像から動き予測を行い、動きベクトルと予測データを算出する動き補償器である。
【００８８】
５０８は形状を考慮してＪＰＥＧ２０００符号化方式のＥＢＣＯＴ符号化をビットプレーン毎に行う符号化部である。５０９は動きベクトル等を符号化する動き符号化部である。５１０は必要なヘッダを生成し形状情報符号化部１１と符号化部５０８、動き符号化部５０９の出力から符号化データを形成する符号形成部である。
【００８９】
上記のように構成された動画像符号化装置における動画像符号化動作を以下で説明する。本実施形態では、動画像データをフレーム単位に入力する。同時に別途抽出された形状情報を入力するものとするが、内部で形状情報の抽出を行ってももちろん構わない。
【００９０】
第１の実施形態と同様にブロック分割部１は動画像データを、ブロック分割部９は形状情報を入力し、１フレーム分を保持して、ブロックに分割し、後段にブロック単位で出力する。ブロック分割部１でブロック分割された動画像データは動き補償部５０７と差分部５０２に入力される。
【００９１】
動き補償部５０７は入力された画像データとフレームメモリ５０６に格納された１枚以上の復号画像のデータと比較し、予測誤差を最小とする動きベクトルとその予測データを生成する。生成された動きベクトルは動き符号化部５０９で符号化され、符号形成部５１０に入力される。
【００９２】
一方、ブロック分割部９でブロック分割された形状情報は差分部５０１、縮小部１０、フレームメモリ５００に入力される。フレームメモリ５００に格納される形状情報は他のフレームの形状情報を動き補償するために使用される。差分部５０１では動き補償部５０７で算出された動きベクトルに基づいてフレームメモリ５００に格納された符号化済みの形状情報から形状情報の予測データを求め、差分を求める。形状情報符号化部１１では差分部５０１から出力された差分をＭＰＥＧ−４符号化方式の形状符号化方式で符号化し、符号形成部５１０に出力される。縮小部１０では入力された形状情報を、ＤＷＴ部２での適用回数に従って、縮小する。
【００９３】
差分部５０２で動き補償部５０７で算出された予測データを引く。ＤＷＴ部２ではブロック分割部９から形状情報を、縮小部１０から縮小された形状情報を、差分部５０２からイントラ符号化時には画素値を、動き補償時は予測誤差を入力し、第１の実施形態と同様に形状情報を参照して補填・拡張を行いつつ、離散ウェーブレット変換を行う。量子化部３で量子化を行い、符号化部５０８と逆量子化部５０３に入力される。
【００９４】
符号化部５０８は第１の実施形態の符号化部７と同様に領域外の係数に対して周囲の係数に０を補填する。図１６に符号化部５０８の詳細なブロック図を示す。図１６において第１実施形態の図５と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。５２０は境界を判定する境界判定器であり、５２１は境界判定器５２０の内容に従ってビットプレーンメモリ１５２、１５３、１５４、１５５からの入力または０を選択して出力するセレクタである。５２２は参照する係数を格納する参照サブバンドメモリである。５２３はエントロピー符号化器である。
【００９５】
上記の構成において、符号化部５０８は、形状情報メモリ１５１に縮小部１０で縮小された形状情報が、ビットプレーンメモリ１５２、１５３、１５４、１５５にビットプレーン単位で図１５の量子化部３からのサブバンド係数が格納されたら、クロック発生器１５０がクロックを発生し、ビットプレーンの上位から算術符号化を開始する。境界判定器５２０は符号化する画素が領域内か領域外かを判定する。
【００９６】
セレクタ５２１ではクロックに従って、符号化対象のビットが領域内であればビットプレーンメモリ１５２、１５３、１５４、１５５から符号化するビットを読み出す。また、セレクタ５２１は符号化対象のビットの周囲の形状情報を参照して、領域内で符号化済みの係数に対してはビットプレーンメモリ１５２、１５３、１５４、１５５から同レベルのビット又は上位ビットの符号化済みのビットを適宜読み出す。
【００９７】
また形状情報で領域外の画素値を参照する場合、参照値として０を選択する。セレクタ５２１の出力は参照サブバンドメモリ５２２に格納される。本実施形態で図１０の形状情報に対して、０が選択される係数は図１７に示した黒い部分が対象となる。エントロピー符号化器５２３は参照サブバンドメモリ５２２から符号化対象ビットと参照値とを読み込み、符号化対象ビット符号化する。符号化結果は図１５の符号形成部５１０に入力される。
【００９８】
図１５に戻り、符号化部５０８で符号化されて得られた符号化データは符号形成部５１０に入力される。符号形成部５１０でヘッダ情報を付加し、動きに関する符号化データ、形状情報の符号化データ、量子化された係数の符号化データと共に出力する。
【００９９】
同時に量子化部３の出力は逆量子化部５０３で逆量子化され、逆ＤＷＴ部５０４で離散ウェーブレット変換の逆変換を施し、加算部５０５で予測データを加算してフレームメモリ５０６に格納する。
【０１００】
このような一連の選択動作により、形状に対応した画像データを符号化することが可能になり、動き補償を行いながら、離散ウェーブレット変換部で形状を考慮した拡張を行い、形状情報に従って符号化する対象を減少させることで符号化効率を改善する効果がある。さらに、エントロピー符号化する対照が減少するので高速に処理するといった効果がある。
【０１０１】
［第４の実施形態］
図１８は、本発明の第４の実施形態に係る動画像復号装置の構成を示すブロック図である。本実施形態では第３実施形態で生成された符号化データを復号する場合を例にとって説明するが、これに限定されない。
【０１０２】
図１８において第２の実施形態の図１１と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【０１０３】
４００は動きベクトル等を復号する動き復号部である。４０１は動きベクトルに基づいて、画像データの予測データを算出する動き補償部である。４０２は形状情報に基づいて、ＪＰＥＧ２０００符号化方式のＥＢＣＯＴ符号化によってビットプレーン毎に復号を行う復号部である。４０３は予測データとの加算を行う加算部である。４０４は動きベクトルに基づいて、形状情報の予測データを算出する動き補償器である。４０５は予測データとの加算を行う加算部である。
【０１０４】
上記のように構成された動画像復号装置における動画像復号動作を以下で説明する。本実施形態では、動画像データの符号化データをフレーム単位に入力する。
【０１０５】
第２実施形態と同様に、入力された符号化データは符号解析部２００に入力される。付加されたヘッダを解析し、符号化の特性を把握し、後段の各部の初期化等を行う。また符号解析部２００は入力された符号化データから動きに関する符号化データと、形状情報に関する符号化データと、画像データに関する符号化データを分離し、それぞれを動き復号部４００、形状情報復号部２０１、復号部４０２に入力する。
【０１０６】
動き復号部４００は動きベクトル等の動きに関する情報を復号し、動き補償部４０１と動き補償部４０４に入力する。動き補償部４０１は復号された画像が格納されているフレームメモリ２１１から動きベクトル等に従って、予測データを生成し、加算部４０３に出力する。同様に、動き補償部４０４は復号された形状情報が格納されているフレームメモリ２０２から動きベクトル等に従って、形状情報の予測データを生成し、加算部４０５に出力する。
【０１０７】
第２の実施形態と同様に形状情報復号部２０１は、ＭＰＥＧ−４符号化方式の形状符号化方式に従って復号し、加算部４０５に入力する。加算部４０５では動き補償部４０４から供給される予測データと加算し、形状情報を再生し、フレームメモリ２０２に格納し、同時に縮小部２０３に入力する。縮小部２０３は形状情報の縮小画像を生成して保持する。縮小された形状情報は復号部４０２、逆ＤＷＴ部２１０に入力される。
【０１０８】
復号部４０２は第２の実施形態の図１２の構成でサブバンド係数を復号する。但し、復号されるサブバンド係数は統合され多係数ではないことが異なる。復号結果は図１８の係数メモリ２０７に入力される。以下、第２実施形態と同様に逆量子化部２０９は所定の逆量子化を行い、逆ＤＷＴ部２１０で予測誤差または画素値を再生する。逆ＤＷＴ部２１０の出力は加算部４０３に入力され、動き補償部４０１から供給される予測データと加算し、復号画像を得て、フレームメモリ２１１に格納する。復号画像はフレームメモリ２１１から、形状情報はフレームメモリ２０２から適宜読み出される。
【０１０９】
このような一連の選択動作により、離散ウェーブレット変換部で形状を考慮して符号化された符号化データを復号することが可能になり、符号化データを劣化なく復号することが可能になった。また、シンボル数も全てのサブバンド係数で処理を行うより少ないため、高速化が図られている。さらに動き補償を行うことで、符号化効率の向上を行うことも可能になった。
【０１１０】
［第５の実施形態］
図１９は、本発明の第５の実施形態に係る動画像符号化装置の構成を示すブロック図である。図１９において、３００は装置全体の制御、及び種々の処理を行う中央演算装置（ＣＰＵ）、３０１は本装置の制御に必要なオペレーティングシステム（ＯＳ）、ソフトウェア、演算に必要な記憶領域を提供するメモリである。３０２は種々の装置をつなぎ、データ、制御信号をやり取りするバスである。３０３は装置の起動、各種条件の設定、再生の指示を行うための端末である。３０４はソフトウェアを蓄積する記憶装置である。
【０１１１】
３０５はストリームを蓄積する記憶装置である。記憶装置３０４および、３０５はシステムから切り離して移動できるメディアで構成することも出来る。３０６は動画像を撮像するカメラである。３０７は画像を表示するモニタであり、３０９は通信回路であり、ＬＡＮ、公衆回線、無線回線、放送電波等で構成されている。３０８は通信回路３０９を介してストリームを送受信する通信インターフェースである。
【０１１２】
メモリ３０１には装置全体を制御し、各種ソフトウェアを動作させるためのＯＳ６０１や動作させるソフトウェア６０２〜６０５を格納し、画像データを格納する画像エリア６０６、生成した符号化データを格納する符号エリア６０７、各種演算や符号化の際のパラメータ等を格納しておくワーキングエリア６０８が存在する。
【０１１３】
このような構成において動画像符号化処理について説明する。カメラ３０６から入力された画像データを符号化し、通信回路３０９に出力する場合を例にとって説明する。
【０１１４】
メモリ３０１のメモリの使用、格納状況を図２０ａに示す。メモリ３０１には装置全体を制御し、各種ソフトウェアを動作させるためのＯＳ６０１、動画像符号化する動画像符号化ソフトウェア６０２、動画像からオブジェクトを抽出するオブジェクト抽出ソフトウェア６０３、通信する通信ソフトウェア６０４、カメラ３０５から動画像をフレーム単位で入力する画像入力ソフトウェア６０５が格納されている。
【０１１５】
動画像符号化ソフトウェア６０２はＭｏｔｉｏｎ  ＪＰＥＧ２０００符号化方式を例にとって説明するが、これに限定されない。処理に先立ち、端末３０３から装置全体に対して起動が指示され、各部が初期化される。すると記憶装置３０４に格納されているソフトウェアがバス３０２を介してメモリ３０１に展開され、ソフトウェアが起動される。
【０１１６】
このような構成において、処理に先立ち、メモリ３０１上の符号エリア６０７、ワーキングエリア６０８は０でクリアされる。画像入力ソフトウェア６０５はカメラ３０５で撮像された画像データを１フレームずつ、メモリ３０１上の画像エリア６０６に格納する。その後、オブジェクト抽出ソフトウェアは画像エリア６０６の画像からオブジェクトを抽出し、その形状情報を画像エリア６０６に格納する。以後、特に、画像エリア６０６の画像データと形状情報の格納については言及しない。
【０１１７】
次に、ＣＰＵ３００による動画像符号化ソフトウェア６０２での画像データを符号化する動作について図２１に示すフローチャートに従って説明する。
【０１１８】
まずステップＳ１にて、ＭｏｔｉｏｎＪＰＥＧ２０００符号化方式で必要なヘッダを生成して、メモリ３０１上の符号エリア６０７に格納する。通信ソフトウェアは、符号エリア６０７に符号化データが格納されたら、通信インターフェース３０８を介して通信回線３０９に送出し、送出後、符号エリア６０７の該当する領域をクリアする。以後、特に、符号エリア６０７の符号化データの送信については言及しない。
【０１１９】
ステップＳ２にて、符号化処理の終了判定を行う。端末３０３から符号化処理の終了が入力されれば全ての処理を終了する。そうでなければステップＳ３に進む。ステップＳ３にて、画像入力ソフトウェア６０５に同期して、メモリ３０１上の画像エリア６０６から画像データを読み込む。ステップＳ４にて、オブジェクト抽出ソフトウェア６０３に同期して、メモリ３０１上の画像エリア６０６から形状情報を読み込む。
【０１２０】
ステップＳ５にて、１フレームに含まれる全てのブロックについて処理が終了したか否かを判定し、終了していればステップＳ２に戻り、次のフレームの処理を行う。そうでなければステップＳ６に進む。ステップＳ６にて、入力された形状情報から１つのブロックを選択し、をＭＰＥＧ−４符号化方式の形状符号化方式で符号化し、符号化データをメモリ３０１上の符号エリア６０７に格納する。ステップＳ７にて、全ての周波数帯の符号化が終了したか否かを判定し、終了していればステップＳ１２に進む。そうでなければステップＳ８に進み、周波数帯の符号化を行う。
【０１２１】
ステップＳ８にて、入力された画像データから１つのブロックを選択し、形状に適応した離散ウェーブレット変換を施し、その変換係数をメモリ３０１上のワーキングエリア６０８に格納する。
【０１２２】
図２２にステップＳ８の形状適応離散ウェーブレット変換の処理についてフローチャートを用いて説明する。
【０１２３】
ステップＳ５１にて、画像エリア６０６の画像データから符号化するブロックを切り出す。ステップＳ５２にて、画像エリア６０６の形状情報から符号化するブロックを入力する。ステップＳ５３にて、形状適応離散ウェーブレット変換処理の終了判定を行う。所定の適用回数が終了したかを判定し、所定の適用回数になったらこの処理を終了して図２１のステップＳ９に進む。一方、終了していなければステップＳ５４に進む。
【０１２４】
ステップＳ５４にて、ステップＳ５１で切り出されたブロックまたは画像エリア６０６に格納された周波数帯のデータに対して、ステップＳ５２で画像エリア６０６に格納された形状情報画像エリア６０６に格納された形状情報、または縮小されて画像エリア６０６に格納された形状情報を参照して水平方向のローパスフィルタ処理を行う。
【０１２５】
図２３にステップＳ５４、Ｓ５６、Ｓ５９、Ｓ６１、Ｓ６３、Ｓ６５の形状適応離散ウェーブレット変換のフィルタ処理についてフローチャートを参照して説明する。図２３では係数やその方向が各種のフィルタで異なるだけで基本的な手順は同じである。
【０１２６】
ステップＳ８０にて、全ての係数について処理が終了したか判定し、終了していなければステップＳ８１に進み、終了していれば図２２のサブサンプリングの各処理に進む。ステップＳ８１にて、中央の値が領域外か否かを判定し、領域外であれば、フィルタ演算を行わないため、ステップＳ８０に戻る。ステップＳ８２にて、中央の値が境界を含むか否かを判定し、境界を含まないのであれば、補填・拡張処理を行わないため、ステップＳ８４に進み、境界を含むのであればステップＳ８３へ移行する。
【０１２７】
ステップＳ８３にて、領域外の値を第１の実施形態と同様に点対称で補填を行う。ステップＳ８４にて、各値に重みを乗じ、加算して、その値をメモリ３０１上のワーキングエリア６０８に格納し、ステップＳ８０に戻り、次の係数の処理を行う。
【０１２８】
図２２に戻って、ステップＳ５５にて、ステップＳ８４でワーキングエリア６０８に格納されたデータに対して、水平方向のサブサンプリングを行い、その値をメモリ３０１上のワーキングエリア６０８に格納する。
【０１２９】
ステップＳ５６にて、ステップＳ５１で切り出されたブロックまたは画像エリア６０６に格納された周波数帯のデータに対して、ステップＳ５２で画像エリア６０６に格納された形状情報、または縮小されて画像エリア６０６に格納された形状情報を参照して水平方向のハイパスフィルタ処理を行う。
【０１３０】
ステップＳ５７にて、水平方向のサブサンプリングを行い、その値をメモリ３０１上のワーキングエリア６０８に格納する。ステップＳ５８にて、ステップＳ５２で切り出されたかまたは縮小されて画像エリア６０６に格納された形状情報から水平方向にサブサンプリングして縮小された形状情報を作成し、これをメモリ３０１上のワーキングエリア６０８に格納する。
【０１３１】
ステップＳ５９にて、ステップＳ５５でサブサンプリング処理され、ワーキングエリア６０８に格納された周波数帯のデータに対して、ステップＳ５８で縮小されてワーキングエリア６０８に格納された形状情報を参照して垂直方向のローパスフィルタ処理を行い、その結果をメモリ３０１上のワーキングエリア６０８に格納する。ステップＳ６０にて、ステップＳ５９にてフィルタ処理されワーキングエリア６０８に格納されたデータに対して、垂直方向のサブサンプリングを行い、その値をメモリ３０１上の画像エリア６０６に格納する。これはＬＬに該当する。
【０１３２】
ステップＳ６１にて、ステップＳ５５でサブサンプリング処理され、ワーキングエリア６０８に格納された周波数帯のデータに対して、ステップＳ５８で縮小されてワーキングエリア６０８に格納された形状情報を参照して垂直方向のハイパスフィルタ処理を行い、その結果をメモリ３０１上のワーキングエリア６０８に格納する。ステップＳ６２にて、ステップＳ６１にてフィルタ処理されワーキングエリア６０８に格納されたデータに対して、垂直方向のサブサンプリングを行い、その値をメモリ３０１上の画像エリア６０６に格納する。これはＬＨに該当する。ステップＳ６３にて、ステップＳ５７でサブサンプリング処理され、ワーキングエリア６０８に格納された周波数帯のデータに対して、ステップＳ５８で縮小されてワーキングエリア６０８に格納された形状情報を参照して垂直方向のローパスフィルタ処理を行い、その結果をメモリ３０１上のワーキングエリア６０８に格納する。
【０１３３】
ステップＳ６４にて、ステップＳ６３にてフィルタ処理されワーキングエリア６０８に格納されたデータに対して、垂直方向のサブサンプリングを行い、その値をメモリ３０１上の画像エリア６０６に格納する。これはＨＬに該当する。ステップＳ６５にて、ステップＳ５７でサブサンプリング処理され、ワーキングエリア６０８に格納された周波数帯のデータに対して、ステップＳ５８で縮小されてワーキングエリア６０８に格納された形状情報を参照して垂直方向のハイパスフィルタ処理を行い、その結果をメモリ３０１上のワーキングエリア６０８に格納する。
【０１３４】
ステップＳ６６にて、ステップＳ６５にてフィルタ処理されワーキングエリア６０８に格納されたデータに対して、垂直方向のサブサンプリングを行い、その値をメモリ３０１上の画像エリア６０６に格納する。これはＨＨに該当する。ステップＳ６７にて、ステップＳ５８で切り出されてワーキングエリア６０８に格納された形状情報から垂直方向にサブサンプリングして縮小された形状情報を作成し、これをメモリ３０１上の画像エリア６０６に格納する。
【０１３５】
ステップＳ５４からステップＳ６７を行うことによって離散ウェーブレット変換を１回適用した周波数帯とそれに適応する形状情報をメモリ３０１上の画像エリア６０６に得ることができる。ステップＳ５３にて所望する適用回数に至らない場合は、入力する画像データ及び、形状情報を直前で求め、画像エリア６０６に格納されているＬＬに対して行うことで所望する周波数帯の全てを得ることができる。ステップＳ５３で所望する適用回数に達した場合は図２１のステップＳ９に進む。
【０１３６】
図２１に戻って、ステップＳ９にて、メモリ３０１上の画像に格納された各周波数帯のサブバンド係数に対して量子化を行い、その結果をワーキングエリア６０８に格納する。ステップＳ１０にて、ステップＳ７で画像エリア６０６に格納した形状情報を参照して、ステップＳ９でワーキングエリア６０８に格納された量子化値を統合する。図２４に係数統合の処理について詳細なフローチャートを示して説明する。
【０１３７】
ステップＳ１００にて、メモリ３０１上のワーキングエリア６０８内部の形状情報のためのエリアＳ１とサブバンド係数のためのエリアＶ１を０でクリアし、カウンタ値ｊを−１にする。ステップＳ１０１にて、ブロック内の周波数帯の全ての水平ラインについて統合処理が終了したか否かを判定し、処理が終了していなければステップＳ１０２に進み、終了していればステップＳ１１１に進む。
【０１３８】
ステップＳ１０２にて、カウンタ値ｊに１を加える。ステップＳ１０３にて、画像エリア６０６に格納された形状情報を用いて、処理する水平のラインで全てのサブバンド係数が領域外か否かを判定し、全てが領域外、すなわちライン内に領域内がなければステップＳ１０１に進み、次の水平ラインの処理を行う。そうでければ、ステップＳ１０４にてカウンタ値ｃとｘを０にする。
【０１３９】
ステップＳ１０５にて、処理する水平のラインで全てのサブバンド係数の処理を終了したか否かを判定し、水平ラインの全てのサブバンド係数を処理したのであれば、ステップＳ１０１に進み、次の水平ラインの処理を行う。そうでなければステップＳ１０６に進む。ステップＳ１０６にて、注目している量子化値が同一周波数帯の同一位置に該当する形状情報を参照して領域外か否かを判定する。領域内と判定された場合はステップＳ１０７に進み、そうでなければステップＳ１１０に進む。
【０１４０】
ステップＳ１０７にて、同一位置の形状情報をメモリ３０１上のワーキングエリア６０８のエリアＳ１［ｘ，ｊ］に領域内を表す値を格納する。ステップＳ１０８にて、画像エリア６０６に格納されている同一位置のサブバンド係数Ｖｉ〔ｃ、ｊ〕をワーキングエリア６０８のＶ１［ｘ，ｊ］に格納する。ステップＳ１０９にて、カウンタ値ｘに１を加える。
【０１４１】
ステップＳ１１０にて、カウンタ値ｃに１を加え、次のサブバンド係数の処理を行うためにステップＳ１０５に進む。ステップＳ１０１にて、全ての水平ラインについてステップＳ１０２からステップＳ１１０の処理が終了したら、ステップＳ１１１に進み、終了していなければステップＳ１０２以下を繰り返す。ステップＳ１１１以下で、垂直方向の統合処理を行う。
【０１４２】
ステップＳ１１１にて、メモリ３０１上のワーキングエリア６０８内部の形状情報のためのエリアＳ２とサブバンド係数のためのエリアＶ２を０でクリアし、カウンタ値ｉを０にする。ステップＳ１１２にて、ブロック内の全ての垂直ラインについて統合処理が終了したか否かを判定し、処理が終了していなければステップＳ１１３に進み、終了していれば図２１のステップＳ１１進む。ステップＳ１１３では、カウンタ値ｉに１を加える。ステップＳ１１４にて、画像エリア６０６に格納された形状情報を用いて、処理する垂直のラインで全てのサブバンド係数が領域外か否かを判定し、全てが領域外、すなわちライン内に領域内がなければステップＳ１１２に進み、次の垂直ラインの処理を行う。
【０１４３】
ステップＳ１１５にて、カウンタ値ｃとｙとを０にする。ステップＳ１１６にて、処理する垂直のラインで全てのサブバンド係数の処理を終了したか否かを判定し、垂直ラインの全てのサブバンド係数を処理したのであれば、ステップＳ１１２に進み、次の垂直ラインの処理を行う。そうでなければステップＳ１１７に進む。ステップＳ１１７にて、注目しているサブバンド係数が同一周波数帯の同一位置に該当する形状情報Ｓ１［ｉ，ｃ］を参照して領域外か否かを判定する。領域内と判定された場合はステップＳ１１８に進み、そうでなければステップＳ１２１に進む。
【０１４４】
ステップＳ１１８にて、形状情報Ｓ１［ｉ，ｃ］をメモリ３０１上のワーキングエリア６０８のエリアＳ２［ｉ，ｙ］に格納する。ステップＳ１１９にて、ワーキングエリア６０８に格納されている同一位置のサブバンド係数Ｖｉ〔ｉ、ｃ〕をワーキングエリア６０８のＶ２［ｉ，ｙ］に格納する。ステップＳ１２０にて、カウンタ値ｙに１を加える。ステップＳ１２１にて、カウンタ値ｃに１を加え、次のサブバンド係数の処理を行うためにステップＳ１１６に進む。
【０１４５】
ステップＳ１１２にて、全ての垂直ラインについてステップＳ１１３からステップＳ１２１の処理が終了したら、係数統合の処理を終了し、図２１のステップＳ１１に進み、終了していなければステップＳ１１３以下を繰り返す。
【０１４６】
図２１に戻り、ステップＳ１１にて、ステップＳ１０で統合され、ワーキングエリア６０８に格納されている統合された量子化値Ｖ２を統合された形状情報Ｓ２を参照して符号化する。
【０１４７】
図２５に符号化処理の詳細なフローチャートを示す。ステップＳ１５０にて、ビットプレーンのカウンタ値ｐを０、水平方向のカウンタ値ｘを‐１に、垂直方向のカウンタ値ｙを０にする。ステップＳ１５１にて、処理するかカウンタ値ｐを参照して符号化する全てのビットプレーンの符号化処理が終了したか否かを判定し、終了であれば、図２１のステップＳ７に進む。そうでなければステップＳ１５２に進む。
【０１４８】
ステップＳ１５２にて、符号化処理するサブバンド係数の上位からｐビット目のビットプレーンの全ビットの符号化処理を全て終了したか否かを判定し、全てのビットを処理したのであれば、ステップＳ１６３に進み、そうでなければステップＳ１５３に進む。ステップＳ１５３にて、カウンタ値ｘに１を加える。ステップＳ１５４にて、統合された形状情報Ｓ２〔ｘ、ｙ〕（ｘ、ｙはブロック内のサブバンド係数の位置）を参照して、符号化する対象のビットを含むサブバンド係数Ｖ２〔ｘ、ｙ〕が領域外か否かを判定し、領域外であれば、ステップＳ１６２に進み、そうでなければステップＳ１５５に進む。
【０１４９】
ステップＳ１５５にて、符号化対象のビットを符号化するのに必要な参照ビットが全て揃ったかを判定し、揃っていなければラスタ順に次の参照ビットを決定するためステップＳ１５６に進み、揃っていればステップＳ１６１に進む。ステップＳ１５６にて、対象となる参照ビットを含むサブバンド係数が領域外であるか否かを、統合された形状情報Ｓ２〔ｘ＋ｉ、ｙ+ｊ〕(但し、ｉ＝−１〜１、ｊ＝−１〜１)を参照して判定する。領域外であればステップＳ１５７に進む。そうでなければステップＳ１５８に進む。
【０１５０】
ステップＳ１５７にて、対象となった参照ビットに０を補填し、次の参照ビットの値を決定するためにステップＳ１５５に戻る。ステップＳ１５８にて、対象となる参照ビットを含むサブバンド係数のビットが符号化済みか否かを判定し、符号化済みならばステップＳ１５９に進み、そうでなければステップＳ１６０に進む。
【０１５１】
ステップＳ１５９にて、符号化済みの同レベルのビットをメモリ３０１上のワーキングエリア６０８に格納されているサブバンド係数Ｖ２〔ｘ＋ｉ、ｙ+ｊ〕から読み出し、次の参照ビットの値を決定するためにステップＳ１５５に戻る。ステップＳ１６０にて、符号化済みの上位レベルのビットをメモリ３０１上のワーキングエリア６０８に格納されているサブバンド係数Ｖ２〔ｘ＋ｉ、ｙ+ｊ〕から読み出し、次の参照ビットの値を決定するためにステップＳ１５５に戻る。
【０１５２】
ステップＳ１５５にて、全ての参照ビットが揃ったと判断されたら、ステップＳ１６１にて、エントロピー符号化し、生成した符号をメモリ３０１上の符号エリア６０７に格納し、次のビットを処理するために、ステップＳ１５３に戻る。ステップＳ１５４にて、領域外と判断されたら、その水平ラインにはすでに符号化すべきビットは無いので、ステップＳ１６２にて、次のラインの処理を行うため、カウント値ｘを−１にし、カウント値ｙに１を加える。
【０１５３】
ステップＳ１５２にて、全てのビットが終了したと判断されたら、ステップＳ１６３にて、次のビットプレーンの符号化を行うため、カウント値ｐに１を加え、カウント値ｘを−１にし、カウント値ｙを０にする。ステップＳ１５１ですべてのビットプレーンの処理が終了したら、図２１のステップＳ７に戻る。図２１に戻り、ステップＳ７で前周波数帯が終了したと判断されたら、ステップＳ１２にて、メモリ３０１上に格納されたステップＳ１のヘッダがあればヘッダデータと、ステップＳ６で格納された形状情報の符号化データと、ステップＳ１１で符号化された量子化値の符号化データとを多重化し、メモリ３０１上の符号エリア６０７に格納しておく。その後、ワーキングエリア６０８、画像エリア６０６のデータをクリアし、次のブロックの処理を行うためにステップＳ５に進む。端末３０３で処理の終了が指示されたら、全てのソフトウェアを停止する。
【０１５４】
このような一連の選択動作により、形状に対応した画像データを符号化することが可能になり、離散ウェーブレット変換で形状を考慮した拡張を行い、係数統合で領域内のサブバンド係数を纏めることで、サブバンド係数間の相関を利用し、符号化効率の向上が行えるといった効果がある。なお、本実施形態においては画像の符号化方式をＪＰＥＧ２０００符号化方式としたが他の符号化方式、たとえば、ＭＰＥＧ−４のＳｔｉｌｌ  Ｔｅｘｔｕｒｅ  Ｏｂｊｅｃｔ符号化などの静止画像符号化方式やでももちろんかまわない。また、動き補償符号化を行うことで符号化効率を向上させることもできる。
【０１５５】
また、形状情報の符号化をＭＰＥＧ−４符号化方式としたが、ＪＢＩＧやＭＭＲなどの符号化方式であってももちろん構わない。本実施形態では通信ソフトウェアを起動し、符号エリア６０７内の符号化データを通信インターフェース３０８を介して通信回線３０９に送信する例について説明したが、記憶装置３０５に格納してももちろんかまわない。
【０１５６】
また、本実施形態の各部または全部の機能をハードウェアで構成してももちろんかまわない。また、ＣＰＵ３００による動画像符号化ソフトウェアが符号化する別な動作について図２６に示すフローチャートに示す。図２１との相違点は係数統合のステップＳ１０がない点である。参照ビットに領域外が多くなるため、符号化時の相関が低下するが、統合処理を省略できるため、高速化が可能である。
【０１５７】
［第６の実施形態］
本実施形態では、図１９の構成を用いて、第５実施形態で生成された符号化データの復号動作について説明する。記憶装置３０５に格納されている符号化データを復号してモニタ３０７に表示する場合を例にとって説明する。
【０１５８】
本実施形態では、動画像データの符号化データをフレーム単位に入力する。メモリ３０１のメモリの使用、格納状況を図２０ｂに示す。第５実施形態と同様にメモリ３０１にはＯＳ６０１、画像エリア６０６、符号エリア６０７、ワーキングエリア６０８が存在する。その他に、動画像を復号する動画像復号ソフトウェア７０１、通信する通信ソフトウェア６０４、モニタ３０７に動画像を表示する画像表示ソフトウェア７０２が格納されている。
【０１５９】
第５の実施形態と同様に各部の初期化が行われ、記憶装置３０４に格納されているソフトウェアが起動される。ＣＰＵ３００による動画像復号ソフトウェア７０１が復号する動作について図２７に示すフローチャートに従って説明する。
【０１６０】
動画像復号ソフトウェア７０１は、ステップＳ２０１にて、記憶装置３０５から動画像データの符号化データのヘッダに入力し、メモリ３０１上の符号エリア６０７に格納した後、符号化の特性を把握し、メモリ３０１上のワーキングエリア６０８に各初期値等を格納する。
【０１６１】
ステップＳ２０２にて、終了判定を行う。記憶装置３０５の符号化データの全てを復号するか、端末３０３から中断の指示が合った場合、全てのメモリ領域をクリアし、ソフトウェアの動作を終了する。そうでなければステップＳ２０３に進み、次のフレームの処理を行う。
【０１６２】
ステップＳ２０３にて、動画像データの符号化データを記憶装置３０５からフレーム単位に入力し、メモリ３０１上の符号エリア６０７に格納する。ステップＳ２０４にて、フレーム内の全ブロックに対して復号が終了したか否かを判定し、終了していればステップＳ２１３進み、そうでなければステップＳ２０５に進む。
【０１６３】
ステップＳ２０５にて、符号エリア６０７から形状情報に関する符号化データを読み出し、復号する。本実施形態ではＭＰＥＧ−４符号化方式の形状符号化方式に従って復号し、形状情報を生成し、画像エリア６０６に格納する。生成された形状情報は領域内外を表す画素あたり１ビットの情報である。ステップＳ２０６にて、画像エリア６０６の形状情報に対して、ステップＳ２０１で解析した結果から離散ウェーブレット変換の適用回数ｎを読み出し、ｎ段階の縮小画像を生成して、画像エリア６０６に格納しておく。
【０１６４】
ステップＳ２０７にて、全ての周波数帯の復号が終了したか否かを判定し、終了していればステップＳ２０４に進み、次のブロックの復号処理を行う。そうでなければステップＳ２０８に進む。ステップＳ２０８にて、ステップＳ２０６で生成された縮小された形状情報で、復号する周波数帯に適合した形状情報をメモリ３０１上の画像エリア６０６から読み出し、形状の統合処理を行う。形状統合処理に関しては、第５実施形態の図２４に記載された係数統合における形状情報の処理のみを行うことで、ワーキングエリア６０８の統合された形状情報Ｓ２に格納される。
【０１６５】
ステップＳ２０９にて、符号エリア６０７から画像データに関する符号化データを読み出し、復号して、量子化されたサブバンド係数を求めて、ワーキングエリア６０８に格納する。図２８に復号処理の詳細なフローチャートを示す。ステップＳ２５０にて、メモリ３０１上のワーキングエリア６０８の内部のサブバンド係数のためのエリアＶ２を０でクリアし、ビットプレーンのカウンタ値ｐを０、水平方向のカウンタ値ｘを−１に、垂直方向のカウンタ値ｙを０にする。
【０１６６】
ステップＳ２５１にて、処理するかカウンタ値ｐを参照して復号する全てのビットプレーンの復号処理が終了したか否かを判定し、終了であれば、図２７のステップＳ２１０に進み、係数の展開の処理を行う。そうでなければステップＳ２５２に進む。ステップＳ２５２にて、復号処理するサブバンド係数の上位からｐビット目のビットプレーンの全ビットの復号処理を全て終了したか否かを判定し、全てのビットを処理したのであれば、ステップＳ２６３に進み、そうでなければステップＳ２５３に進む。
【０１６７】
ステップＳ２５３にて、カウンタ値ｘに１を加える。ステップＳ２５４にて、形状情報Ｓ２〔ｘ、ｙ〕（ｘ、ｙはブロック内のサブバンド係数の位置）を参照して、復号する対象のビットを含むサブバンド係数Ｖ２〔ｘ、ｙ〕が領域外か否かを判定し、領域外であれば、ステップＳ２６２に進み、そうでなければステップＳ２５５に進む。ステップＳ２５５にて、復号対象のビットを復号するのに必要な参照ビットが全て揃ったかを判定し、揃っていなければラスタ順に次の参照ビットを決定するためステップＳ２５６に進み、揃っていればステップＳ２６１に進む。
【０１６８】
ステップＳ２５６にて、対象となる参照ビットを含むサブバンド係数が領域外であるか否かを、形状情報Ｓ２〔ｘ＋ｉ、ｙ+ｊ〕(但し、ｉ＝−１〜１、ｊ＝−１〜１)を参照して判定する。領域外であればステップＳ２５７に進む。そうでなければステップＳ２５８に進む。ステップＳ２５７にて、対象となった参照ビットに０を補填し、次の参照ビットの値を決定するためにステップＳ２５５に戻る。
【０１６９】
ステップＳ２５８にて、対象となる参照ビットを含むサブバンド係数のビットが復号済みか否かを判定し、復号済みならばステップＳ２５９に進み、そうでなければステップＳ２６０に進む。ステップＳ２５９にて、復号済みの同レベルのビットをメモリ３０１上のワーキングエリア６０８に格納されているサブバンド係数Ｖ２〔ｘ＋ｉ、ｙ+ｊ〕から読み出し、次の参照ビットの値を決定するためにステップＳ２５５に戻る。
【０１７０】
ステップＳ２６０にて、復号済みの上位レベルのビットをメモリ３０１上のワーキングエリア６０８に格納されているサブバンド係数Ｖ２〔ｘ＋ｉ、ｙ+ｊ〕から読み出し、次の参照ビットの値を決定するためにステップＳ２５５に戻る。ステップＳ２５５にて、全ての参照ビットが揃ったと判断されたら、ステップＳ２６１にて、エントロピー復号し、生成したビットをメモリ３０１上のワーキングエリア６０８のサブバンド係数Ｖ２〔ｘ＋ｉ、ｙ+ｊ〕の該当するビットに格納し、次のビットを処理するために、ステップＳ２５３に戻る。
【０１７１】
ステップＳ２５４にて、領域外と判断されたら、その水平ラインにはすでに復号すべきビットは無いので、ステップＳ２６２にて、次のラインの処理を行うため、カウント値ｘを−１にし、カウント値ｙに１を加える。ステップＳ２５２にて、全てのビットが終了したと判断されたら、ステップＳ２６３にて、次のビットプレーンの復号を行うため、カウント値ｐに１を加え、カウント値ｘを−１にし、カウント値ｙを０にする。
【０１７２】
図２７に戻り、ステップＳ２０９の復号処理によって生成されたサブバンド係数はワーキングエリア６０８のサブバンド係数のエリアＶ２に統合された形状情報はエリアＳ２に格納されている。その後ステップＳ２１０に進む。ステップＳ２１０にて係数の展開を行う。
【０１７３】
図２９に係数展開の処理について詳細なフローチャートを示して説明する。
【０１７４】
ステップＳ２２０にて、メモリ３０１上のワーキングエリア６０８内部の形状情報のためのエリアＳ１に該当する周波数帯に適応した縮小された形状情報を格納する。ステップＳ２２１にて、サブバンド係数のためのエリアＶ１を０でクリアし、カウンタ値ｊを−１にする。ステップＳ２２２にて、ブロック内の周波数帯の全ての水平ラインについて展開処理が終了したか否かを判定し、処理が終了していなければステップＳ２２３に進み、終了していればステップＳ２３１に進む。
【０１７５】
ステップＳ２２３にて、カウンタ値ｊに１を加える。ステップＳ２２４にて、画像エリア６０６に格納された形状情報を用いて、処理する水平のラインで全てのサブバンド係数が領域外か否かを判定し、全てが領域外、すなわちライン内に領域内がなければステップＳ２２２に進み、次の水平ラインの処理を行う。ステップＳ２２５にて、カウンタ値ｃとｘを０にする。
【０１７６】
ステップＳ２２６にて、処理する水平のラインで全てのサブバンド係数の処理を終了したか否かを判定し、水平ラインの全てのサブバンド係数を処理したのであれば、ステップＳ２２２に進み、次の水平ラインの処理を行う。そうでなければステップＳ２２７に進む。ステップＳ２２７にて、注目しているサブバンド係数が同一周波数帯の同一位置に該当する形状情報Ｓ１［ｉ，ｃ］を参照して領域外か否かを判定する。領域内と判定された場合はステップＳ２２８に進み、そうでなければステップＳ２３０に進む。
【０１７７】
ステップＳ２２８にて、ワーキングエリア６０８に格納されているサブバンド係数Ｖ２〔ｘ、ｊ〕をワーキングエリア６０８のＶ１［ｃ，ｊ］に格納する。ステップＳ２２９にて、カウンタ値ｘに１を加える。
【０１７８】
ステップＳ２３０にて、カウンタ値ｃに１を加え、次のサブバンド係数の処理を行うためにステップＳ２２６に進む。ステップＳ２２２にて、全ての水平ラインについてステップＳ２２３からステップＳ２３０の処理が終了したら、ステップＳ２３１に進み、終了していなければステップＳ２２３以下を繰り返す。ステップＳ２３１以下で、垂直方向の展開処理を行う。
【０１７９】
ステップＳ２３１にて、メモリ３０１上のワーキングエリア６０８のサブバンド係数のためのエリアＶを０でクリアし、カウンタ値ｉを０にする。ステップＳ２３２にて、ブロック内の全ての垂直ラインについて展開処理が終了したか否かを判定し、処理が終了していなければステップＳ２３３に進み、終了していれば図２７のステップＳ２１１に進む。
【０１８０】
ステップＳ２３３にて、カウンタ値ｉに１を加える。ステップＳ２３４にて、ワーキングエリア６０８に格納された形状情報を用いて、処理する垂直のラインで全てのサブバンド係数が領域外か否かを判定し、全てが領域外、すなわちライン内に領域内がなければステップＳ２３２に進み、次の垂直ラインの処理を行う。そうでなければ、ステップＳ２３５にてカウンタ値ｃとｙを０にする。
【０１８１】
ステップＳ２３６にて、処理する垂直のラインで全てのサブバンド係数の処理を終了したか否かを判定し、垂直ラインの全てのサブバンド係数を処理したのであれば、ステップＳ２３２に進み、次の垂直ラインの処理を行う。そうでなければステップＳ２３７に進む。
【０１８２】
ステップＳ２３７にて、注目している量子化値が同一周波数帯の同一位置に該当する形状情報Ｓ１［ｉ，ｃ］を参照して領域外か否かを判定する。領域内と判定された場合はステップＳ２３８に進み、そうでなければステップＳ２４０に進む。ステップＳ２３８にて、ワーキングエリア６０８に格納されている同一位置のサブバンド係数Ｖ１〔ｉ、ｙ〕をワーキングエリア６０８のＶ［ｉ，ｃ］に格納する。
【０１８３】
ステップＳ２３９にて、カウンタ値ｙに１を加える。ステップＳ２４０にて、カウンタ値ｃに１を加え、次のサブバンド係数の処理を行うためにステップＳ２３６に進む。ステップＳ２３２にて、全ての垂直ラインについてステップＳ２３３からステップＳ２４０の処理が終了したら、係数展開の処理を終了し、図２７のステップＳ２１１に進み、終了していなければステップＳ２３２以下を繰り返す。
【０１８４】
図２７に戻り、ステップＳ２１０で展開されたサブバンド係数はワーキングエリア６０８内のエリアＶに格納されている。ステップＳ２１１にて、ワーキングエリア６０８の量子化されたサブバンド係数を読み込み、逆量子化を施し、サブバンド係数を再生して、ワーキングエリア６０８の同じ領域に戻す。
【０１８５】
ステップＳ２１２にて、ワーキングエリア６０８の再生されたサブバンド係数を読み込み、画像エリア６０６の形状情報に適応した逆離散ウェーブレット変換を施し、その変換係数をメモリ３０１上のワーキングエリア６０８に格納する。
【０１８６】
図３０にステップＳ２１２の形状適応逆離散ウェーブレット変換の処理についてフローチャートを用いて説明する。
【０１８７】
ステップＳ３００にて、ワーキングエリア６０８のサブバンド係数Ｖを読み込む。ステップＳ３０１にて、画像エリア６０６の形状情報から復号したブロックに対応する縮小された形状情報を入力する。
【０１８８】
ステップＳ３０２にて、形状適応逆離散ウェーブレット変換処理の終了判定を行う。所定の適用回数が終了したかを判定し、所定の適用回数になったらこの処理を終了して図２７のステップ２０７に進む。ステップＳ３０３にて、逆量子化されてワーキングエリア６０８に格納された周波数帯ＬＬのデータに対して、垂直方向のアップサンプリングを行い、その値をメモリ３０１上のワーキングエリア６０８に格納する。
【０１８９】
ステップＳ３０４にて、ステップＳ３０４でアップサンプリングされたＬＬの周波数帯のデータに対して、ステップＳ３０２で画像エリア６０６に格納された形状情報を参照して垂直方向のローパスフィルタ処理を行い、結果をワーキングエリア６０８に格納する。本フィルタ処理は第５実施形態の図２３に示したフローチャートに従って処理される。以後の各フィルタ処理も同様である。
【０１９０】
ステップＳ３０５にて、逆量子化されてワーキングエリア６０８に格納された周波数帯ＬＨのデータに対して、垂直方向のアップサンプリングを行い、その値をメモリ３０１上のワーキングエリア６０８に格納する。
【０１９１】
ステップＳ３０６にて、ステップＳ３０５でアップサンプリングされたＬＨの周波数帯のデータに対して、ステップＳ３０２で画像エリア６０６に格納された形状情報を参照して垂直方向のハイパスフィルタ処理を行い、結果をワーキングエリア６０８に格納する。ステップＳ３０８にて、逆離散ウェーブレット変換で規定されている周波数での合成を行い、ワーキングエリア６０８に格納する。
【０１９２】
ステップＳ３０８にて、逆量子化されてワーキングエリア６０８に格納された周波数帯ＨＬのデータに対して、垂直方向のアップサンプリングを行い、その値をメモリ３０１上のワーキングエリア６０８に格納する。ステップＳ３０９にて、ステップＳ３０８でアップサンプリングされたＨＬの周波数帯のデータに対して、ステップＳ３０２で画像エリア６０６に格納された形状情報を参照して垂直方向のローパスフィルタ処理を行い、結果をワーキングエリア６０８に格納する。
【０１９３】
ステップＳ３１０にて、逆量子化されてワーキングエリア６０８に格納された周波数帯ＨＨのデータに対して、垂直方向のアップサンプリングを行い、その値をメモリ３０１上のワーキングエリア６０８に格納する。ステップＳ３１１にて、ステップＳ３１０でアップサンプリングされたＨＨの周波数帯のデータに対して、ステップＳ３０２で画像エリア６０６に格納された形状情報を参照して垂直方向のハイパスフィルタ処理を行い、結果をワーキングエリア６０８に格納する。
【０１９４】
ステップＳ３１２にて、逆離散ウェーブレット変換で規定されている周波数での合成を行い、ワーキングエリア６０８に格納する。ステップＳ３１３にて、ワーキングエリア６０８に格納された縮小された形状情報は形状情報の係数単位での繰り返しによって水平方向に２倍にアップサンプリングされてワーキングエリア６０８に格納される。ステップＳ３１４にて、ステップＳ３０８でワーキングエリア６０８に格納された周波数帯ＬＬのデータと周波数帯ＬＨを合成したデータに対して、水平方向のアップサンプリングを行い、その値をメモリ３０１上のワーキングエリア６０８に格納する。
【０１９５】
ステップＳ３１５にて、ステップＳ３１４でアップサンプリングされたデータに対して、ワーキングエリア６０８に格納された垂直方向にアップサンプリングされた形状情報を参照して水平方向のローパスフィルタ処理を行い、結果をワーキングエリア６０８に格納する。ステップＳ３１６にて、ステップＳ３１２でワーキングエリア６０８に格納された周波数帯ＬＨのデータと周波数帯ＨＨを合成したデータに対して、水平方向のアップサンプリングを行い、その値をメモリ３０１上のワーキングエリア６０８に格納する。
【０１９６】
ステップＳ３１７にて、ステップＳ３１６でアップサンプリングされたデータに対して、ステップＳ３１３でワーキングエリア６０８に格納された水平方向にアップサンプリングされた形状情報を参照して水平方向のハイパスフィルタ処理を行い、結果をワーキングエリア６０８に格納する。ステップＳ３１８にて、逆離散ウェーブレット変換で規定されている周波数での合成を行い、画像エリア６０６に格納して、次の周波数帯の処理に進むため、ステップＳ３０２に進む。
【０１９７】
ステップＳ３０２にて、所定の適用回数が終了していたらこの処理を終了して図２７のステップＳ２０７に進む。
【０１９８】
図２７に戻って、ステップＳ２０７にて、全ての周波数帯の復号が終了したら次のブロックの復号処理を行うためにステップＳ２０４に進む。ステップＳ２０４にて、フレーム内の全ブロックについて処理が終了した場合、ステップＳ２１３に進む。
【０１９９】
ステップＳ２１３にて、ステップＳ２１２で画像エリア６０６に格納された画像データを出力する。ステップＳ２１４にて、出力された画像データは画像表示ソフトウェアによってモニタ３０７上に表示される。
【０２００】
このような一連の選択動作により、離散ウェーブレット変換部で形状を考慮して符号化され、相関を高めるために係数を統合した符号化データを復号することが可能になり、符号化データを劣化なく復号することが可能になった。また、シンボル数も全てのサブバンド係数で処理を行うより少ないため、高速化が図られている。さらに動き補償を行うことで、符号化効率の向上を行うことも可能になった。
【０２０１】
なお、本実施形態においては画像の符号化方式をＪＰＥＧ２０００符号化方式としたが他の符号化方式、たとえば、ＭＰＥＧ−４のＳｔｉｌｌ  Ｔｅｘｔｕｒｅ  Ｏｂｊｅｃｔ符号化などの静止画像符号化方式やでももちろんかまわない。
【０２０２】
また、形状情報の符号化をＭＰＥＧ−４符号化方式としたが、ＪＢＩＧやＭＭＲなどの符号化方式であってももちろん構わない。さらには、サブバンド係数の上位ビットの上に形状情報をビットプレーンとして符号化しても構わない。
【０２０３】
また、本実施形態の各部または全部の機能をハードウェアで構成してももちろんかまわない。また、ＣＰＵ３００による動画像符号化ソフトウェアが符号化する別な動作について図３１に示すフローチャートに示す。図２７との相違点は係数統合のステップＳ２０６と係数展開のステップＳ２１０がない点である。参照ビットに領域外が多くなるため、符号化時の相関が低下するが、統合処理を省略できるため、高速化が可能である。
【０２０４】
［第７の実施形態］
上記の実施形態においては、画像データのうち、動画像データの符号化・復号化処理について説明した。本発明の適用対象は動画像データに限定されるものではなく、静止画像についても同様にして適用可能である。そこで、本実施形態では、本発明に対応する静止画像符号化装置の実施形態について説明する。
【０２０５】
図３７は、本発明をファクシミリ通信装置に適用した例である。１０００１は原稿を読み取るスキャナであり、カラー原稿、グレースケール原稿等を読み込み、光電変換とデジタル化によって入力画像を生成する。１０００２はフレームメモリであり、生成された入力画像を蓄積する。１０００３はディスプレイ部であり、フレームメモリ１０００２に蓄積された画像データを表示する。
【０２０６】
１０００４はデジタイザ部であり、不図示のユーザがディスプレイ部１０００３に表示された画像を見ながら必要とする部分を指示する。１０００５は境界処理部であり、デジタイザ部１０００４で指示された領域の内部を符号化対象領域として決定し、その領域を形状情報メモリ１０００６に格納する。形状情報メモリ１０００６は領域内を１、領域外を０としてそれぞれの画素値を形状情報として格納する。
【０２０７】
１０００７は本発明を適用した静止画符号化装置である。１０００８は通信インターフェースであり、通信回路１０００９に送信するためのパケット化などを行い、通信回路１０００９に送信する。通信回路１０００９はLAN、公衆回線などで構成される通信回路である。
【０２０８】
スキャナ部１０００１で読み込まれた画像データはフレームメモリ１０００２に格納される。フレームメモリ１０００２に格納された画像データはディスプレイ部１０００３に表示され、不図示のユーザがデジタイザ部１０００４を用いて、必要とする部分の輪郭をなぞって、境界処理部１０００５は対象領域を決定し、対象領域の内部の画素を１、そうでない画素を０とした２値画像情報を生成し、形状情報として形状情報メモリ１０００６に格納される。形状情報メモリ１０００６に格納された形状情報とフレームメモリ１０００２に格納された画像データは静止画像符号化装置１０００７に入力される。静止画像符号化装置１０００７では、画像データの符号化が行われ、符号化データが通信インターフェース１０００８に入力される。ここでパケット化等が行われて、通信回線１０００９を介して宛先装置に送信される。
【０２０９】
図３８は本実施形態に対応する、図３７の静止画像符号化装置１０００７の構成の一例を示すブロック図である。ここで静止画像符号化装置１０００７が使用する画像の符号化方式として、ＪＰＥＧ２０００符号化方式を例にとって説明するが、これに限定されない。また、形状情報の符号化方式として、ＭＭＲ符号化方式を例にとって説明するがこれに限定されない。
【０２１０】
図３８においては、図１に記載した動画像符号化装置と基本的な構成は同一である。しかし、図３８においては、図１におけるブロック分割部９を備えていないので、縮小部１０は、形状情報メモリ１０００６から入力される形状情報を、ＤＷＴ部２の周波数帯に合わせて縮小を行う。
【０２１１】
他の処理については、基本的に第１の実施形態において記載した動画像符号化装置における処理と同様であるので、ここでの記載は省略する。
【０２１２】
［第８の実施形態］
第７の実施形態においては、本発明の実施形態のうち、静止画像データの符号化処理について説明した。本実施形態では、更に静止画データを復号する静止画像復号化装置の実施形態について説明する。
【０２１３】
図３９は本発明をファクシミリ通信装置に適用した例である。通信回路１００１０はLAN、公衆回線などで構成される通信回路である。１００１１は通信インターフェースであり、通信回路１００１０から受信されたパケットデータ等を解析し、符号化データを再構成する。１００１２は本実施形態に対応する静止画復号装置である。１００１３は復号された形状情報を格納する形状情報メモリである。１００１４は描画部であり、形状情報メモリ１００１３に格納された形状情報を参照して、静止画復号装置で復号された静止画像を描画する。１００１５は描画された画像データを格納するフレームメモリである。１００１６はフレームメモリ１００１５の内容を印字するプリンタ部である。
【０２１４】
通信回線１００１０から受信されたパケット化されたデータは通信インターフェース１００１１に入力され、符号化データを再構成する。再構成された符号化データは静止画像復号装置１０００１２に入力される。なお、図３７の静止画像復号装置１００１２の構成の一例に対応するブロック図は図１１に示したものと同様であり、静止画像復号装置１００１２における処理も図１１に関連して記載した第２の実施形態における説明と同様であるので、ここでの説明は省略する。
【０２１５】
なお、図１１において、フレームメモリ２０２に格納された形状情報は、図３９の形状情報メモリ１００１３に格納される。また、描画部１００１４は形状情報メモリ１００１３に格納された形状情報に従って、フレームメモリ２１１から画像データを読み出し、印刷フォーマットに描画する。描画された画像データはフレームメモリ１００１５に格納される。フレームメモリ１０００１５に格納された画像データはプリンタ部１００１６で印字されて出力される。
【０２１６】
以上のように、本発明では、離散ウェーブレット変換で形状を考慮した拡張を行い、形状情報を参照した符号化・復号を行うことで、任意形状に対応した符号化・復号を行うことが可能になる。また、係数の統合によって、領域内の係数の相関を高めることが可能になり、高能率の符号化・復号が可能になる。
【０２１７】
なお、以上に記載の実施形態においては画像の符号化方式をＪＰＥＧ２０００符号化方式としたが他の符号化方式、たとえば、ＭＰＥＧ−４のＳｔｉｌｌ  Ｔｅｘｔｕｒｅ  Ｏｂｊｅｃｔ符号化などの静止画像符号化方式やでももちろんかまわない。
【０２１８】
また、形状情報の符号化をＭＭＲ符号化方式としたが、ＪＢＩＧやＭＰＥＧ−４符号化方式などの符号化方式であってももちろん構わない。さらには、サブバンド係数の上位ビットの上に形状情報をビットプレーンとして符号化しても構わない。
【０２１９】
また、メモリやラッチの構成はこれに限定されず、形状情報メモリや係数メモリを他のメモリと兼用したり、ラッチ群を用いずにメモリから直接読み出すようにしたりしてももちろん構わない。
【０２２０】
また、本実施形態の各部または全部の機能をソフトウェアで記述し、ＣＰＵ等の演算装置によって処理をさせてももちろんかまわない。
【０２２１】
［その他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０２２２】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２２３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０２２４】
【図１】第１の実施形態としての本発明にかかる動画像符号化装置の構成例を示すブロック図である。
【図２】本発明の第１及び第３の実施形態に対応する離散ウェーブレット部の構成例を示すブロック図である。
【図３】本発明の第１及び第３の実施形態に対応する離散ウェーブレット部のフィルタ部の構成例を示すブロック図である。
【図４】本発明の第１の実施形態に対応する係数統合部の構成例を示すブロック図である。
【図５】本発明の第１の実施形態としての本発明にかかる符号化部の構成例を示すブロック図である。
【図６】本発明の実施形態に対応する係数を補填する係数値の一例を表す図である。
【図７】本発明の実施形態に対応する係数を補填された係数値の一例を表す図である。
【図８】本発明の実施形態に対応する係数を補填する係数値の一例を表す図である。
【図９】本発明の実施形態に対応する係数を補填された係数値の一例を表す図である。
【図１０ａ】本発明の実施形態に対応する係数を統合する係数値の一例を表す図である。
【図１０ｂ】本発明の実施形態に対応する係数を統合の途中の係数値の一例を表す図である。
【図１０ｃ】本発明の実施形態に対応する係数を統合された係数値の一例を表す図である。
【図１０ｄ】本発明の実施形態に対応する係数を展開する途中の係数値の一例を表す図である。
【図１１】本発明の第２の実施形態に対応する動画像復号装置の構成例を示すブロック図である。
【図１２】本発明の第２の実施形態に対応する復号部の構成例を示すブロック図である。
【図１３】本発明の第２の実施形態に対応する係数展開部の構成例を示すブロック図である。
【図１４】本発明の第１及び第３の実施形態に対応する離散ウェーブレット部の構成例を示すブロック図である。
【図１５】本発明の第３の実施形態に対応する動画像符号化装置の構成例を示すブロック図である。
【図１６】本発明の第３の実施形態に対応する符号化部の構成例を示すブロック図である。
【図１７】本発明の実施形態に対応する係数を補填された係数値の一例を表す図である。
【図１８】本発明の第４の実施形態に対応する動画像復号装置の構成例を示すブロック図である。
【図１９】本発明の第５及び第６の実施形態に対応する動画像符号化装置の構成例を示すブロック図である。
【図２０ａ】本発明の第５の実施形態に対応するメモリ３０１のメモリの使用、格納状況の一例を表す図である。
【図２０ｂ】本発明の第６の実施形態に対応するメモリ３０１のメモリの使用、格納状況の一例を表す図である。
【図２１】本発明の第５の実施形態に対応する動画像符号化動作の一例を示すフローチャート図である。
【図２２】本発明の第５の実施形態に対応する形状適応離散ウェーブレット変換の処理動作の一例を示すフローチャート図である。
【図２３】本発明の第５及び６の実施形態に対応する形状適応離散ウェーブレット変換のフィルタ処理動作の一例を示すフローチャート図である。
【図２４】本発明の第５の実施形態に対応する係数統合処理動作の一例を示すフローチャート図である。
【図２５】本発明の第５の実施形態に対応する符号化処理動作の一例を示すフローチャート図である。
【図２６】本発明の第５の実施形態に対応する動画像符号化動作の一例を示すフローチャート図である。
【図２７】本発明の第６の実施形態に対応する動画像復号動作の一例を示すフローチャート図である。
【図２８】本発明の第６の実施形態に対応する復号処理動作の一例を示すフローチャート図である。
【図２９】本発明の第６の実施形態に対応する係数展開処理動作の一例を示すフローチャート図である。
【図３０】本発明の第６の実施形態に対応する形状適応離散ウェーブレット逆変換の処理動作の一例を示すフローチャート図である。
【図３１】本発明の第６の実施形態に対応する動画像符号化動作の一例を示すフローチャート図である。
【図３２】本発明の入力画像例と形状情報の一例を表す図である。
【図３３】本発明の離散ウェーブレット変換の一例を表す図である。
【図３４】従来の動画像符号化装置の構成例を表す図である。
【図３５】従来の動画像復号装置の構成例を表す図である。
【図３６】従来の動画像符号化装置の構成例を表す図である。
【図３７】本発明の第７の実施形態に対応するファクシミリ装置の構成の一例を示す図である。
【図３８】本発明の第７の実施形態に対応する静止画像符号化装置の構成の一例を示す図である。
【図３９】本発明の第８の実施形態に対応するファクシミリ装置の構成の一例を示す図である。
【図１】
2006050557.tif 000003
【図２】
2006050557.tif 000004
【図３】
2006050557.tif 000005
【図４】
2006050557.tif 000006
【図５】
2006050557.tif 000007
【図６】
2006050557.tif 000008
【図７】
2006050557.tif 000009
【図８】
2006050557.tif 000010
【図９】
2006050557.tif 000011
【図１０ａ】
2006050557.tif 000012
【図１０ｂ】
2006050557.tif 000013
【図１０ｃ】
2006050557.tif 000014
【図１０ｄ】
2006050557.tif 000015
【図１１】
2006050557.tif 000016
【図１２】
2006050557.tif 000017
【図１３】
2006050557.tif 000018
【図１４】
2006050557.tif 000019
【図１５】
2006050557.tif 000020
【図１６】
2006050557.tif 000021
【図１７】
2006050557.tif 000022
【図１８】
2006050557.tif 000023
【図１９】
2006050557.tif 000024
【図２０ａ】
2006050557.tif 000025
【図２０ｂ】
2006050557.tif 000026
【図２１】
2006050557.tif 000027
【図２２】
2006050557.tif 000028
【図２３】
2006050557.tif 000029
【図２４】
2006050557.tif 000030
【図２５】
2006050557.tif 000031
【図２６】
2006050557.tif 000032
【図２７】
2006050557.tif 000033
【図２８】
2006050557.tif 000034
【図２９】
2006050557.tif 000035
【図３０】
2006050557.tif 000036
【図３１】
2006050557.tif 000037
【図３２】
2006050557.tif 000038
【図３３】
2006050557.tif 000039
【図３４】
2006050557.tif 000040
【図３５】
2006050557.tif 000041
【図３６】
2006050557.tif 000042
【図３７】
2006050557.tif 000043
【図３８】
2006050557.tif 000044
【図３９】
2006050557.tif 000045