(57)【要約】【課題】  動画像符号化データの全部または一部を、動画像復号装置の処理能力に応じて効率良く復号し、視覚的な妨害の少ない良好な再生画質を得ること。【解決手段】  動画像データの各フレームを複数のサブバンドに分解し、サブバンドの係数を所定単位毎にビットプレーン符号化して生成された動画像符号化データを復号する動画像復号装置であって、前記所定単位の動画像符号化データの復号処理にかかった時間の差の大小を判定するための情報を取得する復号処理時間計測部（１０５）と、得られるた情報に基づいて、復号しないビットプレーンを決定する非復号ビットプレーン決定部（１０７）と、復号しないビットプレーン以外の符号化データから、サブバンドの係数を前記所定単位で復元するビットプレーン復号部と、復元されたサブバンドの係数を合成し、フレームデータを生成する逆離散ウェーブレット変換部（１０４）とを備える。【選択図】  図７
2004343710.tif 000002
【特許請求の範囲】
【請求項１】
動画像データの各フレームを複数のサブバンドに分解し、サブバンドの係数を所定単位毎に上位のビットから下位のビットへとビットプレーン、またはサブビットプレーン単位で符号化して生成された動画像符号化データを復号する動画像復号装置であって、
前記所定単位の動画像符号化データの復号処理に割り当てられた時間と実際の復号処理にかかった時間の差の大小を判定するための情報を取得する復号処理時間情報取得手段と、
前記復号処理時間情報取得手段により得られる情報に基づいて、復号しないビットプレーン、またはサブビットプレーンを決定する非復号ビットプレーン決定手段と、
前記非復号ビットプレーン決定手段により決定されたビットプレーン、またはサブビットプレーン以外の符号化データから、サブバンドの係数を前記所定単位で復元するビットプレーン復号手段と、
前記ビットプレーン復号手段により得られた前記複数のサブバンドの係数を合成し、フレームデータを生成するサブバンド合成手段と
を備えることを特徴とする動画像復号装置。
【請求項２】
前記復号処理時間情報取得手段は動画像符号化データの復号処理にかかった復号処理時間を取得し、前記非復号ビットプレーン決定手段は前記復号処理時間情報取得手段から得られる復号処理時間に基づいて復号しないビットプレーン、またはサブビットプレーンを決定することを特徴とする請求項１に記載の動画像復号装置。
【請求項３】
更に復号済のフレームデータを格納するための復号フレームデータ格納手段を備え、
前記復号処理時間情報取得手段は前記復号フレームデータ格納手段に格納されているフレーム数を取得し、前記非復号ビットプレーン決定手段は前記復号処理時間情報取得手段から得られるフレーム数に基づいて復号しないビットプレーン、またはサブビットプレーンを決定することを特徴とする請求項１に記載の動画像復号装置。
【請求項４】
前記非復号ビットプレーン決定手段は画質を示すパラメータを保持し、前記復号処理時間情報取得手段により得られる情報に基づいて前記パラメータを調整し、パラメータにより各サブバンドの復号しないビットプレーン、またはサブビットプレーンを決定することを特徴とする請求項１乃至３のいずれかに記載の動画像復号装置。
【請求項５】
前記非復号ビットプレーン決定手段は各サブバンドの復号しないビットプレーン、またはサブビットプレーンの枚数を格納するテーブルを保持し、前記復号処理時間情報取得手段により得られる情報に応じて前記テーブルに格納された復号しないビットプレーン、またはサブビットプレーンの枚数を増減することを特徴とする請求項１乃至３のいずれかに記載の動画像復号装置。
【請求項６】
前記非復号ビットプレーン決定手段は、前記所定単位の動画像符号化データの復号処理に割り当てられた時間と、前記復号処理情報取得手段により得られる復号処理時間との差分を算出し、算出した差分を累積した値に基づいて復号しないビットプレーン、またはサブビットプレーンを決定することを特徴とする請求項２に記載の動画像復号装置。
【請求項７】
前記動画像符号化データを生成するためのサブバンド分解が２次元離散ウェーブレット変換により行われ、前記サブバンド合成手段は、２次元逆離散ウェーブレット変換を用いてフレームデータを合成することを特徴とする請求項１乃至６のいずれかに記載の動画像復号装置。
【請求項８】
前記所定単位は、フレームまたは、フレームを複数に分割したブロックであることを特徴とする請求項１乃至７のいずれかに記載の動画像復号装置。
【請求項９】
動画像データの各フレームを複数のサブバンドに分解し、サブバンドの係数を所定単位毎に上位のビットから下位のビットへとビットプレーン、またはサブビットプレーン単位で符号化して生成された動画像符号化データを復号する動画像復号方法であって、
前記所定単位の動画像符号化データの復号処理に割り当てられた時間と実際の復号処理にかかった時間の差の大小を判定するための情報を取得する復号処理時間情報取得工程と、
前記復号処理時間情報取得工程により得られる情報に基づいて、復号しないビットプレーン、またはサブビットプレーンを決定する非復号ビットプレーン決定工程と、
前記非復号ビットプレーン決定工程により決定されたビットプレーン、またはサブビットプレーン以外の符号化データから、サブバンドの係数を前記所定単位で復元するビットプレーン復号工程と、
前記ビットプレーン復号工程により得られた前記複数のサブバンドの係数を合成し、フレームデータを生成するサブバンド合成工程と
を備えることを特徴とする動画像復号方法。
【請求項１０】
前記復号処理時間情報取得工程では動画像符号化データの復号処理にかかった復号処理時間を取得し、前記非復号ビットプレーン決定工程では前記復号処理時間情報取得工程で得られる復号処理時間に基づいて復号しないビットプレーン、またはサブビットプレーンを決定することを特徴とする請求項９に記載の動画像復号方法。
【請求項１１】
更に復号済のフレームデータを格納するための復号フレームデータ格納工程を備え、
前記復号処理時間情報取得工程では前記復号フレームデータ格納工程に格納されているフレーム数を取得し、前記非復号ビットプレーン決定工程では前記復号処理時間情報取得工程で得られるフレーム数に基づいて復号しないビットプレーン、またはサブビットプレーンを決定することを特徴とする請求項９に記載の動画像復号方法。
【請求項１２】
前記非復号ビットプレーン決定工程では、画質を示すパラメータを管理し、前記復号処理時間情報取得工程で得られる情報に基づいて前記パラメータを調整し、パラメータにより各サブバンドの復号しないビットプレーン、またはサブビットプレーンを決定することを特徴とする請求項９乃至１１のいずれかに記載の動画像復号方法。
【請求項１３】
前記非復号ビットプレーン決定工程では、各サブバンドの復号しないビットプレーン、またはサブビットプレーンの枚数を格納するテーブルを管理し、前記復号処理時間情報取得工程で得られる情報に応じて前記テーブルに格納された復号しないビットプレーン、またはサブビットプレーンの枚数を増減することを特徴とする請求項９乃至１１のいずれかに記載の動画像復号方法。
【請求項１４】
前記非復号ビットプレーン決定工程では、前記所定単位の動画像符号化データの復号処理に割り当てられた時間と、前記復号処理時間情報取得工程で得られる復号処理時間との差分を算出し、算出した差分を累積した値に基づいて復号しないビットプレーン、またはサブビットプレーンを決定することを特徴とする請求項１０に記載の動画像復号方法。
【請求項１５】
前記動画像符号化データを生成するためのサブバンド分解が２次元離散ウェーブレット変換により行われ、前記サブバンド合成工程において、２次元逆離散ウェーブレット変換を用いてフレームデータを合成することを特徴とする請求項９乃至１４のいずれかに記載の動画像復号方法。
【請求項１６】
前記所定単位は、フレームまたは、フレームを複数に分割したブロックであることを特徴とする請求項９乃至１５のいずれかに記載の動画像復号方法。
【請求項１７】
情報処理装置が実行可能なプログラムであって、前記プログラムを実行した情報処理装置を、請求項１乃至８のいずれかに記載の動画像復号装置として機能させることを特徴とするプログラム。
【請求項１８】
請求項９乃至１６のいずれかに記載の動画像復号方法を実現するためのプログラムコードを有することを特徴とする情報処理装置が実行可能なプログラム。
【請求項１９】
請求項１７又は１８に記載のプログラムを記憶したことを特徴とする情報処理装置が読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各フレームが独立に符号化された動画像データから、その全部または一部を復号して再生画像を得る動画像復号装置、及び方法、及びこの方法を実現するプログラム、及びこのプログラムを記憶する記憶媒体に関するものである。
【背景技術】
【０００２】
一般に、動画像データの符号化方式は、フレーム間の相関を利用するものとしないものとに大別することができる。それぞれの方式には長所及び短所が存在し、どちらの方式が適しているかということは使用するアプリケーションに依存する。例えば、Ｍｏｔｉｏｎ  ＪＰＥＧは、動画像データの各フレームを一枚の静止画像としてとらえて独立に符号化する方式であり、フレーム間の相関を用いない符号化方式の一例である。フレーム毎に独立に符号化することによって、動画像の分割、連結、部分的な書き換えなどの動画編集が容易であることや、復号側の処理能力に応じて復号フレーム数を選択して復号することが可能であるという利点がある。
【０００３】
近年、動画像データをフレーム毎に独立に符号化する符号化方式において、各フレームをウェーブレット変換とビットプレーン符号化とを組み合わせて符号化する方式が注目を集めている。このような動画像符号化方式には、ウェーブレット変換におけるサブバンド分解の仕組みを利用して空間解像度を段階的に変えた復号が可能であること、また、復号ビットプレーン数を変えることにより、復号画素精度を段階的に変更することが可能である等の大きな特徴がある。
【０００４】
ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１で標準化作業が進められている画像符号化方式であるＪＰＥＧ２０００（ＩＳＯ／ＩＥＣ  １５４４４）もウェーブレット変換とビットプレーン符号化との組み合わせにより構成されている。同標準のＰａｒｔ３では、Ｍｏｔｉｏｎ  ＪＰＥＧ２０００の名称で、動画像の各フレームの符号化にＪＰＥＧ２０００を適用した場合のファイルフォーマットを規定している。
【０００５】
Ｍｏｔｉｏｎ  ＪＰＥＧ２０００に代表されるこのような動画像符号化方式は、前述のように復号解像度、復号画素精度の柔軟性といった利点がある一方で、ビットプレーン符号化による符号化・復号処理の負荷が高いという欠点がある。特に、専用の動画像記録装置で記録した映像をパーソナルコンピュータで再生する場合に、コンピュータの性能によっては、全データを実時間で復号・表示することはできないという問題が起こる。
【０００６】
このような問題に対して、フレームを復号するのに所望の復号処理時間を定めて符号化処理単位に復号処理時間を割り振り、割り振られた復号処理時間内でビットプレーン単位に復号する方法が開示されている（例えば、特許文献１参照）。
【０００７】
【特許文献１】特開平１１−２８８３０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示されるような所定の時間で復号処理を打ち切る動画像復号装置では、フレーム毎に復号処理打ち切りのポイント（復号ビットプレーン数）が変化しやすいため、動画像として再生した場合に歪みの形状の時間変化を生じ、これがフリッカー（ちらつき）として視覚上の妨害要因となるという問題がある。
【０００９】
本発明は上記問題点を鑑みてなされたものであり、動画像符号化データの全部または一部を、動画像復号装置の処理能力に応じて効率良く復号し、視覚的な妨害の少ない良好な再生画質を得ることができる動画像復号装置並びに方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、動画像データの各フレームを複数のサブバンドに分解し、サブバンドの係数を所定単位毎に上位のビットから下位のビットへとビットプレーン、またはサブビットプレーン単位で符号化して生成された動画像符号化データを復号する、本発明の動画像復号装置は、前記所定単位の動画像符号化データの復号処理に割り当てられた時間と実際の復号処理にかかった時間の差の大小を判定するための情報を取得する復号処理時間情報取得手段と、前記復号処理時間情報取得手段により得られる情報に基づいて、復号しないビットプレーン、またはサブビットプレーンを決定する非復号ビットプレーン決定手段と、前記非復号ビットプレーン決定手段により決定されたビットプレーン、またはサブビットプレーン以外の符号化データから、サブバンドの係数を前記所定単位で復元するビットプレーン復号手段と、前記ビットプレーン復号手段により得られた前記複数のサブバンドの係数を合成し、フレームデータを生成するサブバンド合成手段とを備えることを特徴とする。
【００１１】
また、動画像データの各フレームを複数のサブバンドに分解し、サブバンドの係数を所定単位毎に上位のビットから下位のビットへとビットプレーン、またはサブビットプレーン単位で符号化して生成された動画像符号化データを復号する、本発明の動画像復号方法は、前記所定単位の動画像符号化データの復号処理に割り当てられた時間と実際の復号処理にかかった時間の差の大小を判定するための情報を取得する復号処理時間情報取得工程と、前記復号処理時間情報取得工程により得られる情報に基づいて、復号しないビットプレーン、またはサブビットプレーンを決定する非復号ビットプレーン決定工程と、前記非復号ビットプレーン決定工程により決定されたビットプレーン、またはサブビットプレーン以外の符号化データから、サブバンドの係数を前記所定単位で復元するビットプレーン復号工程と、前記ビットプレーン復号工程により得られた前記複数のサブバンドの係数を合成し、フレームデータを生成するサブバンド合成工程とを備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、動画像符号化データの全部または一部を、動画像復号装置の処理能力に応じて効率良く復号し、視覚的な妨害の少ない良好な再生画質を得ることができる。
【発明を実施するための最良の形態】
【００１３】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。ただし、本実施の形態において例示される構成部品の寸法、材質、形状、それらの相対配置などは、本発明が適用される装置の構成や各種条件により適宜変更されるべきものであり、本発明がそれらの例示に限定されるものではない。
【００１４】
＜動画像符号化データの概略＞
まず、本実施の形態における動画像復号装置で復号する対象となる動画像符号化データについて説明する。
【００１５】
図１は、本実施の形態の動画像復号装置で復号する対象となる動画像符号化データを生成する動画像符号化装置２００の構成を示す図である。動画像符号化装置２００ではウェーブレット変換とビットプレーン符号化とを組み合わせた符号化方式により、動画像を構成する各フレームを独立に符号化するものである。図１に示すように、動画像データ入力部２０１、離散ウェーブレット変換部２０２、係数量子化部２０３、ビットプレーン符号化部２０４、符号列形成部２０５及び２次記憶装置２０６、信号線２０７を備えている。
【００１６】
次に、図１に示す動画像符号化装置２００の各構成要素の動作を説明しながら、動画像符号化装置２００における符号化処理の流れについて説明する。尚、ここでは、１秒あたり３０フレームのレートで、１画素の輝度値が８ビットのモノクロ動画像データが４秒分（合計１２０フレーム）、動画像符号化装置２００に取り込まれ、符号化されるものとして説明する。すなわち、動画像符号化装置２００では、動画像データ入力部２０１から入力される１秒あたり３０フレームの動画像データをフレーム単位に符号化し、最終的に２次記憶装置２０６に符号化データを格納するものである。
【００１７】
まず、動画像データ入力部２０１から１秒あたり３０フレームのレートで、４秒分の動画像データが入力される。動画像データ入力部２０１は、例えばディジタルカメラ等の撮像部分であって、ＣＣＤ等の撮像デバイスとガンマ補正、シェーディング補正等の各種画像調整回路とによって実現することが可能である。動画像データ入力部２０１は、入力された動画像データを１フレームずつ離散ウェーブレット変換部２０２に送る。尚、以降の説明において、便宜上各フレームデータには、入力された順に１から番号を与えて、例えばフレーム１、フレーム２、…というような番号で各フレームを識別するようにする。また、各フレームにおける水平方向の画素位置（座標）をｘ、垂直方向の画素位置をｙとし、画素位置（ｘ，ｙ）の画素値をＰ（ｘ，ｙ）で表す。
【００１８】
動画像データ入力部２０１から入力した１フレームの画像データは、離散ウェーブレット変換部２０２でそれぞれ不図示の内部バッファに適宜格納され、２次元離散ウェーブレット変換が行われる。２次元離散ウェーブレット変換は、１次元の離散ウェーブレット変換を水平及び垂直方向それぞれに適用することにより実現するものである。図２は、２次元離散ウェーブレット変換によって処理される符号化対象画像のサブバンドを説明するための概念図である。
【００１９】
すなわち、図２（ａ）に示されるような符号化対象画像に対して、まず垂直方向に１次元離散ウェーブレット変換を適用し、図２（ｂ）に示すように低周波サブバンドＬと高周波サブバンドＨとに分解する。次に、それぞれのサブバンドに対して水平方向の１次元離散ウェーブレット変換を適用することにより、図２（ｃ）に示すようなＬＬ、ＨＬ、ＬＨ、ＨＨの４つのサブバンドに分解する。
【００２０】
動画像符号化装置２００の離散ウェーブレット変換部２０２では、上述した２次元離散ウェーブレット変換により得られたサブバンドＬＬに対して、さらに繰り返し２次元離散ウェーブレット変換を適用する。これによって、符号化対象画像をＬＬ、ＬＨ１、ＨＬ１、ＨＨ１、ＬＨ２、ＨＬ２、ＨＨ２の７つのサブバンドに分解することができる。図３は、２回の２次元離散ウェーブレット変換によって得られる７つのサブバンドを示す図である。
【００２１】
尚、動画像符号化装置２００では、各サブバンド内の係数をＣ（Ｓｂ，ｘ，ｙ）と表す。ここで、Ｓｂはサブバンドの種類を表し、ＬＬ、ＬＨ１、ＨＬ１、ＨＨ１、ＬＨ２、ＨＬ２、ＨＨ２のいずれかである。また、（ｘ，ｙ）は各サブバンド内の左上隅の係数位置を（０，０）としたときの水平方向及び垂直方向の係数位置（座標）を表す。
【００２２】
動画像符号化装置２００は、離散ウェーブレット変換部２０２におけるＮ個の１次元信号ｓ（ｎ）（但し、ｎは０〜Ｎ−１の整数）に対する１次元離散ウェーブレット変換として２つの方法を備える。一つは式（１）、（２）に示す整数型５×３フィルタによる変換であり、もう一つは式（３）、（４）に示す実数型５×３フィルタによる変換である。
【００２３】
ｈ（ｎ）＝ｓ（２ｎ＋１）
−ｆｌｏｏｒ｛（ｓ（２ｎ）＋ｓ（２ｎ＋２））／２｝  …（１）
【００２４】
ｌ（ｎ）＝ｓ（２ｎ）
＋ｆｌｏｏｒ｛（ｈ（ｎ−１）＋ｈ（ｎ）＋２）／４｝  …（２）
【００２５】
ｈ（ｎ）＝ｓ（２ｎ＋１）−（ｓ（２ｎ）＋ｓ（２ｎ＋２））／２  …（３）
【００２６】
ｌ（ｎ）＝ｓ（２ｎ）＋（ｈ（ｎ−１）＋ｈ（ｎ））／４      …（４）
【００２７】
但し、ｈ（ｎ）は高周波サブバンドの係数、ｌ（ｎ）は低周波サブバンドの係数、ｆｌｏｏｒ｛Ｒ｝は実数Ｒを超えない最大の整数値を表す。尚、式（１）、（２）及び式（３）、（４）の計算において必要となる１次元信号ｓ（ｎ）の両端（ｎ＜０及びｎ＞Ｎ−１）におけるｓ（ｎ）は、公知の方法により１次元信号ｓ（ｎ）（ｎ＝０〜Ｎ−１）の値から求めておく。
【００２８】
整数型５×３フィルタと実数型５×３フィルタのいずれを適用するかは、信号線２０７を介して装置外部から入力されるフィルタ選択信号によって、フレーム単位に指定することができる。例えば、信号線２０７から入力されるフィルタ選択信号が「０」である場合、着目するフレームを整数型５×３フィルタによって分解し、フィルタ選択信号が「１」である場合、着目するフレームを実数型５×３フィルタによって分解するといった具合である。
【００２９】
係数量子化部２０３では、離散ウェーブレット変換部２０２で生成された各サブバンドの係数Ｃ（Ｓｂ，ｘ，ｙ）を、各サブバンド毎に定めた量子化ステップｄｅｌｔａ（Ｓｂ）を用いて量子化する。ここで、量子化された係数値をＱ（Ｓｂ，ｘ，ｙ）と表す場合、係数量子化部２０３で行われる量子化処理は式（５）により表すことができる。
【００３０】
Ｑ（Ｓｂ，ｘ，ｙ）＝ｓｉｇｎ｛Ｃ（Ｓｂ，ｘ，ｙ）｝
×ｆｌｏｏｒ｛｜Ｃ（Ｓｂ，ｘ，ｙ）｜／ｄｅｌｔａ（Ｓｂ）｝…（５）
【００３１】
ここで、ｓｉｇｎ｛Ｉ｝は整数Ｉの正負符号を表す関数であり、Ｉが正の場合は１を、負の場合は−１を返す。また、ｆｌｏｏｒ｛Ｒ｝は実数Ｒを超えない最大の整数値を表す。但し、上述の量子化処理は離散ウェーブレット変換部２０２において実数型５×３フィルタが選択され、使用された場合にのみ適用されるものであり、信号線２０７から入力されるフィルタ選択信号により整数型５×３フィルタが選択されている場合には係数Ｃ（Ｓｂ，ｘ，ｙ）を量子化された係数値として出力する。即ちこの場合、Ｑ（Ｓｂ，ｘ，ｙ）＝Ｃ（Ｓｂ，ｘ，ｙ）となる。
【００３２】
ビットプレーン符号化部２０４は、係数量子化部２０３において量子化された係数値Ｑ（Ｓｂ，ｘ，ｙ）を符号化する。尚、各サブバンドの係数をブロック分割し、別々に符号化することによりランダムアクセスを容易にする方法など、符号化手法として様々な手法が提案されているが、ここでは説明を簡単にするためにサブバンド単位で符号化することとする。
【００３３】
各サブバンドの量子化された係数値Ｑ（Ｓｂ，ｘ，ｙ）（以降、単に「係数値」と称す。）の符号化は、サブバンド内の係数値Ｑ（Ｓｂ，ｘ，ｙ）の絶対値を自然２進数で表現し、上位の桁から下位の桁へとビットプレーン方向を優先して二値算術符号化することにより行われる。各サブバンドの係数値Ｑ（Ｓｂ，ｘ，ｙ）を自然２進表記した場合の下からｎ桁目のビットをＱｎ（ｘ，ｙ）と表記して説明する。尚、２進数の桁を表す変数ｎをビットプレーン番号と呼ぶこととし、ビットプレーン番号ｎはＬＳＢ（最下位ビット）を０桁目とする。
図４は、ビットプレーン符号化部２０４でサブバンドＳｂを符号化する処理手順を説明するためのフローチャートである。図４に示すように、まず、符号化対象となるサブバンドＳｂ内の係数の絶対値を調べ、その最大値Ｍａｂｓ（Ｓｂ）を求める（ステップＳ６０１）。次に、サブバンドＳｂ内の係数の絶対値を表すためにＭａｂｓ（Ｓｂ）を２進数で表現する場合に必要となる桁数ＮＢＰ（Ｓｂ）を式（６）を用いて求める（ステップＳ６０２）。
【００３４】
ＮＢＰ（Ｓｂ）＝ｃｅｉｌ｛ｌｏｇ２（Ｍａｂｓ（Ｓｂ）＋１）｝      …（６）
【００３５】
但し、ｃｅｉｌ｛Ｒ｝は実数Ｒに等しい、又はそれ以上の最小の整数値を表すものとする。
【００３６】
次に、ビットプレーン番号ｎに有効桁数ＮＢＰ（Ｓｂ）を代入する（ステップＳ６０３）。そして、ビットプレーン番号ｎから１を引いてｎ−１を求めてｎに代入する（ステップＳ６０４）。
【００３７】
さらに、ｎ桁目のビットプレーンを二値算術符号を用いて符号化する（ステップＳ６０５）。ビットプレーン内の各ビットを符号化する際には、符号化済みの情報からいくつかの状態（コンテクスト）に分類し、それぞれ異なる出現確率予測モデルで符号化する。動画像符号化装置２００においては、使用する算術符号としてＭＱ−Ｃｏｄｅｒを用いる。このＭＱ−Ｃｏｄｅｒを用いて、ある状態（コンテクスト）で発生した二値シンボルを符号化する手順、或いは、算術符号化処理のための初期化手順、終端手順については、静止画像の国際標準ＩＳＯ／ＩＥＣ１５４４４−１勧告等に詳細に説明されているのでここでは説明を省略する。
【００３８】
また、動画像符号化装置２００では、各ビットプレーンの符号化の開始時に算術符号化器を初期化し、終了時に算術符号化器の終端処理を行うものとする。また、個々の係数の最初に符号化される「１」の直後に、その係数の正負符号を０、１で表し、算術符号化する。ここでは、正の場合は０、負の場合は１とする。例えば、係数が−５で、この係数の属するサブバンドＳｂの有効桁数ＮＢＰ（Ｓｂ）が６の場合、係数の絶対値は２進数０００１０１で表され、各ビットプレーンの符号化により上位桁から下位桁へと符号化される。そして、２番目のビットプレーンの符号化時（この場合、上から４桁目）に最初の「１」が符号化され、この直後に正負符号「１」を算術符号化する。
【００３９】
次に、ビットプレーン番号ｎが０であるか否かを判定する（ステップＳ６０６）。その結果、ｎが０、すなわちステップＳ６０５においてＬＳＢプレーンの符号化を行った場合（ＹＥＳ）、サブバンドＳｂの符号化処理を終了する。また、それ以外の場合（ＮＯ）、ステップＳ６０４に処理を移す。
【００４０】
上述した処理によって、サブバンドＳｂの全係数を符号化することができ、各ビットプレーンｎに対応する符号列ＣＳ（Ｓｂ，ｎ）を生成する。生成した符号列ＣＳ（Ｓｂ，ｎ）は、符号列形成部２０５に送られ、符号列形成部２０５内の不図示のバッファに一時的に格納される。
【００４１】
符号列形成部２０５では、ビットプレーン符号化部２０４により全サブバンドの係数の符号化が終了して全符号列が内部バッファに格納されると、所定の順序で内部バッファに格納された符号列を読み出す。そして、必要な付加情報を挿入して、１枚のフレームに対応する符号列を形成し、２次記憶装置２０６へと出力する。
【００４２】
符号列形成部２０５で生成される最終的な符号列は、ヘッダと、レベル０、レベル１及びレベル２の３つに階層化された符号化データとにより構成される。ヘッダには画像の水平方向、垂直方向の画素数や、２次元離散ウェーブレット変換の適用回数、選択されたフィルタを指定する情報、各サブバンドの量子化ステップｄｅｌｔａ（Ｓｂ）など、復号に必要となる付加情報が格納される。
【００４３】
レベル０の符号化データは、サブバンドＬＬの係数を符号化して得られるＣＳ（ＬＬ，ＮＢＰ（ＬＬ）−１）からＣＳ（ＬＬ，０）の符号列で構成される。また、レベル１は、ＬＨ１、ＨＬ１、ＨＨ１の各サブバンドの係数を符号化して得られる符号列ＣＳ（ＬＨ１，ＮＢＰ（ＬＨ１）−１）からＣＳ（ＬＨ１，０）、ＣＳ（ＨＬ１，ＮＢＰ（ＨＬ１）−１）からＣＳ（ＨＬ１，０）、及びＣＳ（ＨＨ１，ＮＢＰ（ＨＨ１）−１）からＣＳ（ＨＨ１，０）で構成される。さらに、レベル２は、ＬＨ２、ＨＬ２、ＨＨ２の各サブバンドの係数を符号化して得られる符号列ＣＳ（ＬＨ２，ＮＢＰ（ＬＨ２）−１）からＣＳ（ＬＨ２，０）、ＣＳ（ＨＬ２，ＮＢＰ（ＨＬ２）−１）からＣＳ（ＨＬ２，０）、及びＣＳ（ＨＨ２，ＮＢＰ（ＨＨ２）−１）からＣＳ（ＨＨ２，０）で構成される。
【００４４】
図５は、符号列形成部２０５において生成される１枚のフレームデータに対応する符号列の細部構造を示す図である。
【００４５】
図５に示すように構成された符号列は、復号側でヘッダとレベル０の符号化データを復号することにより元の１／４の解像度の復元画像を得ることができる。また、レベル１の符号化データを加えて復号することにより元の１／２の解像度の復元画像を得ることができる。さらに、レベル２の符号化データまで加えて復号した場合には、元の解像度の復元画像を得ることができるというように、徐々に解像度を上げて画像を復号することができる。
【００４６】
一方、各レベルのビットプレーン符号化データの、上位のいくつかのビットプレーンのみを復号した場合には荒い復号画像を、下位のビットプレーンへと復号対象を増やしていった場合には、徐々に精度を上げて各サブバンドの変換係数を復元することができ、復号画質を向上させることが可能となる。
【００４７】
２次記憶装置２０６は、例えば、ハードディスクやメモリといった記憶装置であり、符号列形成部２０５で生成された符号列を内部に格納する。２次記憶装置２０６では符号列形成部２０５から出力される各フレームの符号列が連結され、動画像データの符号化データが構成される。図６は２次記憶装置２０６に格納される動画像符号化データの構造を示すものである。先頭のヘッダには動画像としての付加情報、例えば、フレーム数や、再生フレームレートなどが格納される。
【００４８】
＜第１の実施形態＞
図７は、本発明の第１の実施形態に係る動画像復号装置１００の構成を示すブロック図である。前述の動画像符号化装置２００と共通するブロックについては同じ参照番号を用いる。図７に示すように、第１の実施形態に係る動画像復号装置１００は、２次記憶装置２０６、符号列読み出し部１０１、ビットプレーン復号部１０２、逆離散ウェーブレット変換部１０４、動画像データ出力部１０５、復号処理時間計測部１０６、非復号ビットプレーン決定部１０７とを備える。
【００４９】
以下、図７を参照して、第１の実施形態の動画像復号装置１００の動作手順について説明する。
【００５０】
第１の実施形態の動画像復号装置１００で復号対象とする動画像符号化データは、前述の動画像符号化装置２００により生成した符号化データである。また、動画像符号化データの生成にあたっては、全てのフレームで整数型５×３フィルタを使用したものとする。すなわち、前述した動画像符号化装置２００の信号線２０７から整数型５×３フィルタを選択する信号を入力して動画像データの符号化を行う。
【００５１】
動画像符号化データの復号は、符号化データ中のフレーム単位で行われる。そこで、符号列読み出し部１０１は、二次記憶装置２０６に格納されている符号化データから着目するフレームの符号化データを読み出して不図示の内部バッファに格納する。符号化データのフレーム単位の読み出しは、フレーム１、フレーム２というように順番に行われる。
【００５２】
ビットプレーン復号部１０２は、符号列読み出し部１０１の内部バッファに格納される符号化データをサブバンド順に読み出して、量子化された変換係数データＱ（Ｓｂ，ｘ，ｙ）を復号する。ビットプレーン復号部１０２における処理は、図１に示されるビットプレーン符号化部２０４と対を成すものである。
【００５３】
すなわち、ビットプレーン符号化部２０４では、上位のビットプレーンから下位のビットプレーンへと係数の絶対値の各ビットを所定のコンテクストにより二値算術符号化する。これに対し、ビットプレーン復号部１０２では、同様に上位のビットプレーンから下位のビットプレーンへと符号化時と同じコンテクストにより二値算術符号化データの復号を行い、係数の各ビットを復元する。また、係数の正負符号については符号化時と同じタイミングで、同じコンテクストを用いて算術符号の復号を行うようにする。
【００５４】
但し、このとき非復号ビットプレーン決定部１０７からは、各サブバンドについて復号しない下位ビットプレーン数ＮＤ（Ｓｂ）が指示され、ビットプレーン復号部１０２では指示される枚数の下位ビットプレーンについては復号処理を行わない。例えば、サブバンドＨＨ２の係数を復号する場合に、非復号ビットプレーン決定部１０７から与えられるサブバンドＨＨ２の非復号ビットプレーン数ＮＤ（ＨＨ２）が２である場合、符号列読み出し部１０１から読み出されるサブバンドＨＨ２の係数の符号化データのＣＳ（ＨＨ２，ＮＢＰ（ＨＨ２）−１）からＣＳ（ＨＨ２，２）までを復号してサブバンドの係数を復元し、ＣＳ（ＨＨ２，１）およびＣＳ（ＨＨ２，０）の２枚のビットプレーンについては復号しない。
【００５５】
逆離散ウェーブレット変換部１０４では、図１における離散ウェーブレット変換部２０２でのウェーブレット変換処理の逆変換を行い、フレームのデータを復元する。本第１の実施形態の動画像復号装置１００では、全てのフレームで整数型５×３フィルタを使用して生成される動画像符号化データを復号対象とするので、上述した式（１）、（２）に対応する逆変換を行う。
【００５６】
動画像の再生表示を行う場合には、各フレームデータは所定の時間に表示される。一方、逆離散ウェーブレット変換１０４からの出力は、復号処理に掛かる時間により左右されるので、表示すべき時間と同期するものではない。このため、復号したフレームデータをバッファに格納して表示時間との調整が必要になる。例えば、動画像データ出力部１０５をネットワーク回線のインターフェースにより実現して、表示時間との調整のためのバッファ格納処理を本第１の実施の形態の動画像復号装置１００の外部で行うようにしても良いし、動画像データ出力部１０５の内部で行うようにしても良い。
【００５７】
動画像データ出力部１０５の具体例として、動画像データ出力部１０５にディスプレイを接続し、動画像表示を行う場合について説明する。図１６は動画像データ出力部１０５の一形態と、ディスプレイへの接続を示す図である。同図において１６０１は複数のフレームデータを格納することが可能なバッファ、１６０２はディスプレイインターフェース、１６０３はディスプレイである。バッファ１６０１は逆離散ウェーブレット変換部１０４から可変の時間間隔で出力される復元画像データを、順番に格納する。復元画像データ格納の際には格納する復元画像データのフレーム番号と格納するアドレスを保持し、後から順番に取り出せるようにしておく。ディスプレイインターフェース１６０２は動画像データのフレームレートに応じて一定の時間間隔（例えば秒あたり３０フレームの動画像であるならば１／３０秒おき）でバッファ１６０１から復元画像データを順番に取り出し、ディスプレイ１６０３へと表示する。取り出したフレームデータはバッファ１６０１から消去する。このように、バッファ１６０１は、逆離散ウェーブレット変換部１０４からの復元画像データの入力と、ディスプレイインターフェースによるデータ取り出しの時間間隔の違いを調整する役割を果たす。
【００５８】
本実施の形態の動画像復号装置では、後述する処理によって、１フレームの復号処理時間の平均が目標復号時間Ｔとなるように制御を行う。しかしながら、各フレームのデータ復元に掛かる時間にはばらつきがあるため、バッファ１６０１に格納されるフレームデータの枚数が変化する。そのため、表示時間になってもフレームデータがバッファに準備されていない状態にならないように、動画復号の開始から所定時間後に再生表示を開始したり、あるいは所定のフレーム枚数がバッファに蓄積されてから再生開始するなど、動画再生開始のタイミングを調整する。また、バッファ容量に制約のある場合であって、バッファに所定枚数以上のフレームデータが格納されている場合には、フレームデータの復号処理を休止するよう制御することも必要となる。
【００５９】
そして、動画像データ出力部１０５は、逆離散ウェーブレット変換部１０４から出力される復元画像データを装置外部へと出力する。動画像データ出力部１０５は、例えばネットワーク回線や表示デバイスへのインタフェース等によって実現することが可能である。
【００６０】
復号処理時間計測部１０６は、各フレームについて、符号列読み出し部１０１によるフレーム符号化データの読み出し開始から動画像データ出力部１０５による復元されたフレームデータの出力までにかかる時間Ｄｔを測定し、非復号ビットプレーン決定部１０７へと出力する。ただし、図１６に例示したように、動画像データ出力部１０５が内部にフレームデータを格納するバッファを備え、装置外部への出力を一定間隔に調整する場合には、時間Ｄｔはバッファ１６０１へのフレームデータ格納までの時間とする。
【００６１】
非復号ビットプレーン決定部１０７は、復号処理時間計測部１０６から出力される１フレームの復号処理時間を元に、各サブバンドの非復号ビットプレーンを決定する。非復号ビットプレーン決定部１０７はその内部に、非復号ビットプレーン数決定のインデックス値となる変数Ｑ（以降、「Ｑファクタ」と呼ぶ。）と、それぞれのＱファクタにおいて各サブバンドの非復号ビットプレーン数を示したテーブルと、目標復号処理時間Ｔ、時間差分ΔＴを保持する。図８にＱファクタと各サブバンドの非復号ビットプレーン数の対応を表すテーブルの例を示す。
【００６２】
図９は、動画像復号装置１００による動画像符号化データの復号処理の流れを示すフローチャートである。図９に示すように、まず、動画像符号化データの復号開始時点、即ち、フレーム１の符号化データの復号開始前にＱファクタ、時間差分ΔＴを０にリセットする（ステップＳ７０１）。
【００６３】
次に、非復号ビットプレーン決定部１０７で、Ｑファクタに基づいて各サブバンドの非復号ビットプレーン数をテーブルから読み出し、ビットプレーン復号部１０２へ設定する（ステップＳ７０２）。
【００６４】
続いて、符号列読み出し部１０１から逆離散ウェーブレット変換部１０４の処理により、１フレームの復号が行われ、動画像データ出力部１０５にフレームデータが出力される（ステップＳ７０３）。
【００６５】
復号処理時間計測部１０６はステップＳ７０３で行われた１フレームの復号処理にかかった時間Ｄｔを計測し、非復号ビットプレーン決定部１０７へと渡す（ステップＳ７０４）。
【００６６】
非復号ビットプレーン決定部１０７は、１フレームの目標復号時間Ｔと実際にかかった復号処理時間Ｄｔの差分を求め、保持している時間差分ΔＴに加算する（ステップＳ７０５）。
【００６７】
次に、ΔＴの値に応じてＱファクタを更新する（ステップＳ７０６）。ΔＴがあらかじめ設定した所定の閾値Ｕｑ（Ｕｑ＞０）よりも大きければＱから１を減じ、値を小さくする。ΔＴが所定の閾値よりも大きくなるのは目標の時間の総和に対して実際にかかった復号時間の総和が小さい場合であり、復号画質を向上させるためにＱの値を小さくすることにより非復号ビットプレーン数を減らす。また、反対にΔＴがあらかじめ設定した所定の閾値Ｌｑ（Ｌｑ＜０）よりも小さければＱに１を加えて、値を大きくする。ΔＴが所定の閾値Ｌｑよりも小さくなるのは目標の時間の総和に対して実際にかかった復号時間の総和が大きい場合であり、１フレームの復号時間を短縮するために値を大きくすることにより非復号ビットプレーン数を増やす。但しＱの値の範囲は０から９までとし、上述の更新処理により０より小さくなった場合には０、９より大きくなった場合には９とする。なお、ΔＴが閾値ＬｑとＵｑの範囲内ある場合には（Ｌｑ≦ΔＴ≦Ｕｑ）、目標の時間の総和に対して実際にかかった復号時間の総和が丁度良い範囲内にあるので、Ｑの値は変更せずにそのままにしておく。
【００６８】
復号処理を行ったフレームが最後のフレームであるか否かを判定し、最後のフレームでない場合（ＮＯ）にはステップＳ７０２に処理を移し、次のフレームの復号を行い、最後のフレームである場合（ＹＥＳ）は動画像符号化データの復号処理を終了する（ステップＳ７０７）。
【００６９】
上述したように、１フレームの復号処理にかかる時間と目標復号時間の差分の累積値から、非復号ビットプレーン数のインデックス値であるＱファクタを定め、Ｑファクタに応じてサブバンド毎の非復号ビットプレーン数を変えることで、再生画像の視覚上の不具合をできるだけ抑制して、復号処理時間を制御することができる。
【００７０】
＜第２の実施形態＞
第１の実施形態では、復号対象となる動画像符号化データは全て整数型５×３フィルタによりサブバンド分解を行うことを前提として説明した。本第２の実施形態の動画像復号装置では、実数型５×３フィルタを使用してサブバンド分解を行った動画像符号化データを復号対象とする場合について説明する。即ち、前述した動画像符号化装置２００において信号線２０７から実数型５×３フィルタを選択する信号を入力して、動画像の各フレームを符号化する。符号化する際に各サブバンドの量子化ステップｄｅｌｔａ（Ｓｂ）を全フレームで同一とする。
【００７１】
図１０は、本発明の第２の実施形態に係る動画像復号装置３００の構成を示すブロック図である。前述の動画像符号化装置２００、および第１の実施形態の動画像復号装置１００と共通するブロックについては同じ参照番号を用いる。図１０に示すように、第２の実施形態に係る動画像復号装置３００は、２次記憶装置２０６、符号列読み出し部９０４、ビットプレーン復号部１０２、係数逆量子化部９０１、逆離散ウェーブレット変換部９０２、動画像データ出力部１０５、復号処理時間計測部１０６、非復号ビットプレーン決定部９０３とを備える。
【００７２】
以下、同図を用いて、本第２の実施形態の動画像復号装置３００の動作手順について説明する。
【００７３】
まず、第１の実施形態の符号列読み出し部１０１と同様にして符号列読み出し部９０４により、二次記憶装置２０６に格納されている動画像符号化データから着目するフレームの符号化データを読み出して不図示の内部バッファに格納する。このとき、読み出したフレームの符号化データのヘッダから各サブバンドＳｂの量子化ステップｄｅｌｔａ（Ｓｂ）を読み出し、同じく不図示の内部バッファに格納しておく。
【００７４】
ビットプレーン復号部１０２は、第１の実施形態と同様にして符号列読み出し部９０４の内部バッファに格納される符号化データから、量子化された変換係数データＱ（Ｓｂ，ｘ，ｙ）を復号する。本第２の実施形態の動画像復号装置３００においても、非復号ビットプレーン決定部９０３から指示されるＮＤ（Ｓｂ）枚の下位ビットプレーンについては復号処理を行わない。
【００７５】
係数逆量子化部９０１では、各サブバンド毎に定めた量子化ステップｄｅｌｔａ（Ｓｂ）とビットプレーン復号部１０２で復号された量子化された係数値をＱ（Ｓｂ，ｘ，ｙ）とから、各サブバンドの係数Ｃ（Ｓｂ，ｘ，ｙ）を復元する。
【００７６】
逆離散ウェーブレット変換部９０２では、図１における離散ウェーブレット変換部２０２でのウェーブレット変換処理の逆変換を行い、フレームのデータを復元する。本第２の実施形態の動画像復号装置３００では、全てのフレームで実数型５×３フィルタを使用して生成される動画像符号化データを復号対象とするので、上述した式（３）、（４）に対応する逆変換を行う。
【００７７】
そして、動画像データ出力部１０５は、逆離散ウェーブレット変換部９０２から出力される復元画像データを装置外部へと出力する。
【００７８】
復号処理時間計測部１０６は、第１の実施形態と同様に、各フレームについて、符号列読み出し部９０４によるフレーム符号化データの読み出し開始から動画像データ出力部１０５による復元されたフレームデータの出力までにかかる時間Ｄｔを測定し、非復号ビットプレーン決定部９０３へと出力する。
【００７９】
非復号ビットプレーン決定部９０３は、復号処理時間計測部１０６から出力される１フレームの復号処理時間を元に、各サブバンドの非復号ビットプレーンを決定する。非復号ビットプレーン決定部９０３はその内部に、各サブバンドの非復号ビットプレーン数ＮＤ（Ｓｂ）を示したテーブルと、目標復号処理時間Ｔ、時間差分ΔＴ、サブバンドインデックスＳＩを保持する。図１１にサブバンドＳｂ毎の非復号ビットプレーン数ＮＤ（Ｓｂ）を保持するテーブルの例を示す。
【００８０】
図１２は、本画像復号装置３００による動画像符号化データの復号処理の流れを示すフローチャートである。図１２に示すように、まず、動画像符号化データの復号開始時点、即ち、フレーム１の符号化データの復号開始前にサブバンドインデックスＳＩ、時間差分ΔＴを０にリセットする（ステップＳ１１０１）。
【００８１】
次に、非復号ビットプレーン決定部９０３に保持するサブバンド毎の非復号ビットプレーン数ＮＤ（Ｓｂ）を全て０に初期化する（ステップＳ１１０２）。
【００８２】
次に、非復号ビットプレーン決定部９０３に格納された非復号ビットプレーン数ＮＤ（Ｓｂ）を読み出し、ビットプレーン復号部１０２へ設定する（ステップＳ１１０３）。
【００８３】
続いて、符号列読み出し部９０４から逆離散ウェーブレット変換部９０２の処理により、１フレームの復号が行われ、動画像データ出力部１０５にフレームデータが出力される（ステップＳ１１０４）。
【００８４】
復号処理時間計測部１０６はステップＳ１１０４で行われた１フレームの復号処理にかかった時間Ｄｔを計測し、非復号ビットプレーン決定部９０３へと渡す（ステップＳ１１０５）。
【００８５】
非復号ビットプレーン決定部９０３は、１フレームの目標復号時間Ｔと実際にかかった復号処理時間Ｄｔの差分を求め、保持している時間差分ΔＴに加算する（ステップＳ１１０６）。
【００８６】
次に、ΔＴの値に応じて非復号ビットプレーン数ＮＤ（Ｓｂ）を保持するテーブル、および、サブバンドインデックスＳＩを更新する（ステップＳ１１０７）。
【００８７】
図１３はステップＳ１１０７で行われる処理の流れを示すフローチャートである。まず、ΔＴがあらかじめ設定した所定の閾値Ｕｑ（Ｕｑ＞０）よりも大きいか否かを判断する（ステップＳ１２０１）。大きい場合（ＹＥＳ）にはサブバンドインデックスＳＩから１を減じる（ステップＳ１２０２）。そして、ＳＩが−１かどうかを判断し（ステップＳ１２０３）、−１である場合にはＳＩを６に設定する（ステップＳ１２０４）。次に、サブバンドインデックスＳＩに対応するサブバンドＳ（ＳＩ）の非復号ビットプレーン数ＮＤ（Ｓ（ＳＩ））から１を引く（ステップＳ１２０５）。ΔＴが所定の閾値よりも大きくなるのは目標の時間の総和に対して実際にかかった復号時間の総和が小さい場合であるので、非復号ビットプレーン数を減らすことで復号画質を向上させる。サブバンドインデックスＳＩとサブバンドの対応は図１４の通りである。例えばＳＩが２であれば、対応するサブバンドはＨＬ２であり、ＮＤ（ＨＬ２）の値から１を引くといった具合である。そして、ＮＤ（Ｓ（ＳＩ））と０を比較し（ステップＳ１２０６）、ＮＤ（Ｓ（ＳＩ））が０より小さい値となった場合にはＮＤ（Ｓ（ＳＩ））を０とし（ステップＳ１２０７）、ＳＩを０に戻す（ステップＳ１２１３）。
【００８８】
一方、ステップＳ１２０１の比較の結果、ΔＴ≦Ｕｑである場合（ＮＯ）、ΔＴをあらかじめ設定した所定の閾値Ｌｑ（Ｌｑ＜０）と比較し（ステップＳ１２０８）、ΔＴ＞Ｌｑである場合（ＮＯ）には処理を終了する。ΔＴ≦Ｌｑの場合（ＹＥＳ）、ＮＤ（Ｓ（ＳＩ））に１を加える（ステップＳ１２０９）。ΔＴが所定の閾値よりも小さくなるのは目標の時間の総和に対して実際にかかった復号時間の総和が長い場合であるので、非復号ビットプレーン数を増やすことで、１フレームの復号時間を短縮する。続いてＳＩにも１を加え（ステップＳ１２１０）、ＳＩを７と比較して（ステップＳ１２１１）、ＳＩが７ならば（ＹＥＳ）ＳＩを０に設定する（ステップＳ１２１２）。
【００８９】
以上の処理により、ΔＴが所定の値より大きい場合、または所定の値よりも小さい場合に、ひとつのサブバンドの非復号ビットプレーン数ＮＤ（Ｓｂ）を１レベル変化させる。
【００９０】
図１２の処理に戻り、復号処理を行ったフレームが最後のフレームであるか否かを判定し（ステップＳ１１０８）、最後のフレームでない場合（ＮＯ）にはステップＳ１１０３に処理を移し、次のフレームの復号を行い、最後のフレームである場合（ＹＥＳ）は動画像符号化データの復号処理を終了する。
【００９１】
上述したように、１フレームの復号処理にかかる時間と目標復号時間の差分の累積値から、サブバンド毎の非復号ビットプレーン数を変えることで、再生画像の視覚上の不具合できるだけ抑制して、復号処理時間を制御することができる。
【００９２】
＜第３の実施形態＞
第１、第２の実施形態の動画像復号装置では、ビットプレーンを単位として非復号部分を定めたが、着目するビットの周囲の符号化済みの部分に基づき、ビットプレーン内の各ビットをカテゴリ分けして複数のパス（サブビットプレーン）に分解し、パスを単位として非復号部分を定めることもできる。以下、パスを単位として非復号部分を定める実施形態について説明する。
【００９３】
本第３の実施形態の動画像復号装置の復号対象となる動画像符号化データを生成する過程は、基本的には前述した図１に示した動画像符号化装置２００の処理と同様であるが、ビットプレーン符号化部２０４におけるビットプレーンの符号化の方法が異なっており、前述のように１つのビットプレーンを複数のパスに分けて符号化する。説明を簡略化するため、ここでは具体的なパスへ分割方法は記さないが、ＩＳＯ／ＩＥＣ１５４４４−１勧告書に記載されるＪＰＥＧ２０００におけるビットプレーン符号化方法と同様の方法により符号化する。ＪＰＥＧ２０００では、最上位のビットプレーンを除き、３つのパスに分解して符号化が行われる。従って、あるサブバンドＳｂの有効ビット数がＮＢＰ（Ｓｂ）である場合、（ＮＢＰ（Ｓｂ）−１）×３＋１のパスによって符号化される。それぞれのパスにより生成される符号をＣＳＰ（Ｓｂ，ｎ）と記す。ここでｎはパスの番号であり、最初のパスの番号を（ＮＢＰ（Ｓｂ）−１）×３）とし、最後のパスの番号を０とする。
【００９４】
符号列形成部２０５により、ビットプレーン単位の符号化データを並べて符号列を形成したのと同様に、パスの符号化データを並べて符号列を形成する。図１５はこのようにして生成された、本第３の実施形態の動画像復号装置で復号対象となる動画像符号化データの構造の例である。図５に示した第１、第２の実施形態の符号化対象と比較すると、符号化データを構成する要素がビットプレーン符号化データＣＳ（Ｓｂ，ｎ）からパスの符号化データＣＳＰ（Ｓｂ，ｎ）に置き換わった点が異なっている。ｎはビットプレーン、または、パスの番号である。さらに、第１、第２の実施形態で復号対象とする動画像符号化データはビットプレーン符号化部２０４の出力するビットプレーン符号化データを全て含んだが、ここでは、符号列形成部２０５により符号化データの廃棄が行われる例を示している。サブバンドＨＨ１，ＬＨ２，ＨＬ２については最後のパスの符号化データを廃棄し、ＨＨ２については最後の２つのパスの符号化データを廃棄している。
【００９５】
なお、本第３の実施形態の動画像復号装置の構成は、図７に示す第１の実施形態の動画像復号装置１００の構成と同じであり、ビットプレーン復号部１０２と非復号ビットプレーン決定部１０７の動作が異なるのみである。
【００９６】
ビットプレーン復号部１０２では、前述の動画像符号化装置２００のビットプレーン符号化と対をなす復号処理により、パスの符号化データＣＳＰ（Ｓｂ，ｎ）を復号して各パスのビットを取り出し、サブバンドの係数を復元する。このとき、第１の実施形態の動画像復号装置１００では非復号ビットプレーン決定部１０７から復号しない下位ビットプレーン数ＮＤ（Ｓｂ）が指示されたが、本第３の実施形態では復号しない下位のパスの数ＮＤＰ（Ｓｂ）が指示され、ビットプレーン復号部１０２では下位ＮＤＰ（Ｓｂ）のパスの符号化データは復号しない。即ち、ＣＳＰ（Ｓｂ，ＮＤＰ（Ｓｂ）−１）からＣＳＰ（Ｓｂ，０）の復号を行わない。
【００９７】
非復号ビットプレーン決定部１０７は、第１の実施形態で非復号ビットプレーン数ＮＤ（Ｓｂ）をビットプレーン復号部１０２に指示したのと同様の処理により、非復号パス数ＮＤＰ（Ｓｂ）を指示する。
【００９８】
以上のように、本第３の実施形態の動画像復号装置１００では、ビットプレーンよりも細かい符号化単位で非復号部分を設定できるため、より細かな復号画質の調整、および復号時間の調整が可能となる。
【００９９】
＜第４の実施形態＞
上記第１から第３の実施形態においては、各フレームの目標復号時間Ｔと実際の復号処理時間Ｄｔとの差分を累積した値ΔＴに基づいて復号範囲を調整していた。第１の実施形態の説明で動画像データ出力部１０５の具体例として説明したように、動画像データ出力部１０５をバッファとディスプレイインターフェースにより構成し、ディスプレイを接続して動画像表示を行うような場合には、実際に復号処理時間を計測せずともバッファに格納されているフレームデータの枚数を監視することで同等の処理を行うことができる。以下、このような実施の形態について説明する。
【０１００】
本第４の実施形態の動画像復号装置の復号対象となる動画像符号化データを生成する過程は、前述した図１に示す動画像符号化装置２００の処理と同様である。
【０１０１】
図１７は、本発明の第４の実施形態に係る動画像復号装置４００の構成を示すブロック図である。動画像符号化装置２００、および第１の実施形態の動画像復号装置１００と共通するブロックについては同じ参照番号を用いる。図１７に示すように、第４の実施形態に係る動画像復号装置４００は、２次記憶装置２０６、符号列読み出し部１０１、ビットプレーン復号部１０２、逆離散ウェーブレット変換部１０４、バッファ１６０１、ディスプレイインターフェース１６０２、非復号ビットプレーン決定部１７０２、バッファ状態監視部１７０１とを備え、ディスプレイ１６０３に接続されている。同図の通り、本発明の第４の実施形態の動画像復号装置４００は第１の実施形態の動画像復号装置１００の動画像データ出力部１０５を図１６のようにバッファ１６０１とディスプレイインターフェース１６０２で構成し、復号処理時間計測部１０６をバッファ状態監視部１７０１に、非復号ビットプレーン決定部１０７を非復号ビットプレーン決定部１７０２に置き換えている。
【０１０２】
以下、同図を用いて、本第４の実施形態の動画像復号装置４００の動作手順について説明する。符号列読み出し部１０１、ビットプレーン復号部１０２、逆離散ウェーブレット変換部１０４の動作は第１の実施形態の動画像復号装置１００での動作と同様である。また、バッファ１６０１、ディスプレイインターフェース１６０２の基本動作についても同じく第１の実施の形態の説明にて動画像データ出力部１０５をバッファとディスプレイインターフェースにより構成する具体例として説明した通りである。但し、本第４の実施形態の動画像復号装置４００では所定の時間に本来表示すべきデータがバッファ１６０１に準備できていない状態を避けるために、復号開始後、時間ｍＴ経過してから復号フレームデータの表示を開始することとする。Ｔは上述の実施の形態と同じく、１フレームの目標復号処理時間であり、ｍは任意の正の整数である。即ち、ディスプレイインターフェース１６０２は復号処理の開始から時間ｍＴ経過の後、バッファ１６０１から一定の時間間隔にて復元フレームデータを順番に取り出してディスプレイへの表示を行う。１フレームの復号データをバッファ１６０１に準備する時間として、復号処理時間以外の要素は無視できるものとして考えるならば、秒あたり３０フレームの動画像の場合、目標復号時間Ｔは１／３０秒であり、また、バッファ１６０１から復元フレームデータを取り出す間隔もまた１／３０秒である。
【０１０３】
図１８は復号開始からの時系列で本動画像復号装置４００の動作を表すものである。図１８に示すように、復号開始時点（時間０）から時間ｍＴ経過した時点において最初のフレームが表示され、時間Ｔ間隔でフレームが次々と表示される。上述の第１から第３の実施形態にて復号範囲を制御する指標として用いた時間差分ΔＴは、時間ｎＴから着目するあるフレームｎが復号された時間を減じたものであり、この値が上限値Ｕｑより大きい場合には復号範囲を広げて復号画質を上げ、逆にこの値が下限値Ｌｑより小さい場合には復号範囲を狭くして復号画質を落として１フレーム当りの復号処理時間を短くするよう制御していたが、本第４の実施形態の動画像復号装置ではバッファ１６０１に格納される復号フレームデータ数に着目して同様の制御を行う。
【０１０４】
図１８において、復号開始からフレームｎの復号終了時点の時間をｄとして（ｎ−１）Ｔ＜ｄ＜ｎＴである場合、即ち、０＜ΔＴ＜Ｔである場合、フレームｎの復号終了時点でバッファ１６０１に格納されている復号フレーム数はｍ枚である。ΔＴ＞Ｔとなる場合、フレームｎ復号終了時点でバッファ１６０１にはｍ＋１枚以上の復号フレームデータが格納される。反対に、ｎＴ＜ｄ＜（ｎ＋１）Ｔである場合、即ち−Ｔ＜ΔＴ＜０である場合、フレームｎ復号終了時点でバッファ１６０１に格納されている復号フレーム数はｍ−１枚である。ΔＴ＜−Ｔとなる場合には、ｍ−２枚以下となる。フレームｎの復号終了時点でバッファ１６０１に格納される復号フレーム数がｍ＋１枚以上であれば復号範囲を広げて復号画質を向上させ、逆に、ｍ−２枚以下であれば復号画質を落として１フレーム当りの復号処理時間を短くするように制御すれば、Ｕｑ＝Ｔ、Ｌｑ＝−ＴとしてΔＴに基づいて復号範囲を制御するのと同様の動作をさせることができる。なお、逆離散ウェーブレット変換部１０４によるバッファ１６０１への復号フレームデータ格納と、ディスプレイインターフェース１６０２による復号フレームデータの読み出しは同一時刻には発生しないものとする。
【０１０５】
バッファ状態監視部１７０１は、各フレームの復号終了時点ごとにバッファ１６０１に格納されている復号フレームの枚数ｐを取得し、非復号ビットプレーン決定部１７０２へと出力する。
【０１０６】
非復号ビットプレーン決定部１７０２では、バッファ状態監視部１７０１から出力される格納フレーム数ｐを元に、各サブバンドの非復号ビットプレーンを決定する。非復号ビットプレーン決定部１７０２はその内部に、非復号ビットプレーン数決定のインデックス値となる変数Ｑ（以下、「Ｑファクタ」と呼ぶ。）と、それぞれのＱファクタにおいて各サブバンドの非復号ビットプレーン数を示したテーブルと、復号開始から表示開始までの遅延時間を決定するパラメータｍを保持する。図８はＱファクタと各サブバンドの非復号ビットプレーン数の対応を表すテーブルの例を示す。
【０１０７】
図１９は、動画像復号装置４００による動画像符号化データの復号処理の流れを示すフローチャートである。図１９に示すように、まず、動画像符号化データの復号開始時点、即ち、フレーム１の符号化データの復号開始前にＱファクタ、時間差分ΔＴを０にリセットする（ステップＳ１９０１）。
【０１０８】
次に、非復号ビットプレーン決定部１７０２で、Ｑファクタに基づいて各サブバンドの非復号ビットプレーン数をテーブルから読み出し、ビットプレーン復号部１０２へ設定する（ステップＳ１９０２）。
【０１０９】
続いて、符号列読み出し部１０１から逆離散ウェーブレット変換部１０４の処理により１フレームの復号が行われ、バッファ１６０１にフレームデータが格納される（ステップＳ１９０３）。
【０１１０】
バッファ監視部１７０１はバッファ１６０１に格納されているフレームデータの枚数ｐを取得し、非復号ビットプレーン決定部１７０２へと渡す（ステップＳ１９０４）。
【０１１１】
復号処理の開始から時間ｍＴが経過しているか否か、即ち、復号フレームデータの表示を開始しているか否かを判断し（ステップＳ１９０５）、表示開始前である場合（ＮＯ）、ステップＳ１９０２に戻って次のフレームの処理を行う。表示開始済である場合（ＹＥＳ）には、ｐの値に応じてＱファクタを更新する（ステップＳ１９０６）。ｐがｍよりも大きければ（即ちｐ＞ｍならば）Ｑから１を減じ、値を小さくする。ｐ＞ｍとなるのは目標の時間の総和に対して実際にかかった復号時間の総和が小さい場合であり、復号画質を向上させるためにＱの値を小さくすることにより非復号ビットプレーン数を減らす。また、反対にｐがｍ−１より小さければ（即ち、ｐ＜ｍ−１ならば）Ｑに１を加えて、値を大きくする。ｐ＜ｍ−１となるのは目標の時間の総和に対して実際にかかった復号時間の総和が大きい場合であり、１フレームの復号時間を短縮するために値を大きくすることにより非復号ビットプレーン数を増やす。但しＱの値の範囲は０から９までとし、上述の更新処理により０より小さくなった場合には０、９より大きくなった場合には９とする。なお、ｐ＝ｍであれば、目標の時間の総和に対して実際にかかった復号時間の総和が丁度良い範囲内にあるので、Ｑの値は変更せずにそのままにしておく。
【０１１２】
次のステップＳ１９０７で復号処理を行ったフレームが最後のフレームであるか否かを判定し、最後のフレームでない場合（ＮＯ）にはステップＳ７０２に戻って次のフレームの復号を行い、最後のフレームである場合（ＹＥＳ）は動画像符号化データの復号処理を終了する。
【０１１３】
復号処理が終了してもディスプレイインターフェース１６０２はバッファ１６０１に格納されるフレームデータの取り出しを時間ｍＴ分継続する。
【０１１４】
以上のように、本第４の実施形態の動画像復号装置４００では、１フレームの復号処理にかかる時間と目標復号時間の差分の累積値から復号範囲を調整することと同等な手法として、バッファに保持された復号フレーム数によって復号範囲を調整した。このような構成にすることで、個々のフレームの処理時間の計測が困難である場合にも、バッファに保持する復号フレーム数に応じて非復号ビットプレーン数を変えることで、再生画像の視覚上の不具合できるだけ抑制して、復号処理時間を制御することができる。
【０１１５】
＜他の実施形態＞
本発明は、上述した実施形態に限定されるものではない。例えば、上述した第１から第３の実施形態においては、サブバンドを単位にビットプレーン符号化を行ったが、サブバンドをブロックに分割し、ブロック毎にビットプレーン符号化を行ってもよい。また、一つのビットプレーンを複数のパスで符号化するようにしても構わない。
【０１１６】
また、二値算術符号化の方法としてMQ-Coderを用いる例について述べたが、上述の実施形態に限定されるものではなく、例えば、QM-Coder等、MQ-Coder以外の算術符号化方法を適用しても構わないし、マルチコンテクストの情報源を符号化するに適する方式であればその他の２値符号化方式を適用しても構わない。
【０１１７】
また、サブバンド分解のためのフィルタは上述の実施形態に限定されるものではなく、実数型９×７フィルタなど、その他のフィルタを使用しても構わない。さらに、その適用回数についても上述の実施形態に限定されるものではない。上述の実施の形態では水平方向、垂直方向に同回数の１次元離散ウェーブレット変換を施したが、同一回数でなくてもよい。
【０１１８】
さらに、動画像符号化データの構造についても上述の実施の形態に限定されるものではなく、符号列の順序、付加情報の格納形態など、変えても構わない。例えば、本発明はフレームデータの符号化方式としてＩＳＯ／ＩＥＣ１５４４４−１に定めるＪＰＥＧ２０００を用いる場合に好適なものであり、ＪＰＥＧ２０００の規格に記される符号化データ、あるいは同規格のＰａｒｔ３に規定するＭｏｔｉｏｎ  ＪＰＥＧ２０００の符号化データとしても良い。
【０１１９】
また、復号処理時間の計測についても上述の実施の形態に限定されるものではなく、例えば、ウェーブレット変換などの処理はおおむね一定の処理時間と推定し、ビットプレーン復号にかかる時間のみを計測するようにしても構わないし、複数フレーム単位に処理時間を計測し、非復号部分を制御しても構わない。
【０１２０】
更に、本発明は、複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置等）に適用してもよい。
【０１２１】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。ここでプログラムコードを記憶する記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、ＲＯＭ、ＲＡＭ、磁気テープ、不揮発性のメモリカード、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、光ディスク、光磁気ディスク、ＭＯなどが考えられる。
【０１２２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２３】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１２４】
【図１】本発明の実施の形態における動画像符号化装置の構成を示すブロック図である。
【図２】２次元離散ウェーブレット変換によって処理される符号化対象画像のサブバンドを説明するための図である。
【図３】２回の２次元離散ウェーブレット変換によって得られる７つのサブバンドを示す図である。
【図４】ビットプレーン符号化部でサブバンドＳｂを符号化する処理手順を説明するためのフローチャートである。
【図５】符号列形成部において生成される１フレーム分の動画像符号化データに対応する符号列の細部構造を示す図である。
【図６】二次記憶装置に格納される各フレームの符号列の一例を示す図である。
【図７】本発明の第１、第３の実施形態に係る動画像復号装置の構成を示すブロック図である。
【図８】本発明の第１の実施形態に係るＱファクタと各サブバンドの非復号ビットプレーンＮＤ（Ｓｂ）、まは、Ｑファクタと各サブバンドの非復号パス数ＮＤＰ（Ｓｂ）の関係を示す図である。
【図９】本発明の第１、第３の実施形態に係る動画像復号装置の処理の流れを示すフローチャートである。
【図１０】本発明の第２の実施形態に係る動画像復号装置の構成を示すブロック図である。
【図１１】本発明の第２の実施形態に係る非復号ビットプレーン決定部に保持されるテーブルの例を示す図である。
【図１２】本発明の第２の実施形態に係る動画像復号装置の処理の流れを示すフローチャートである。
【図１３】ステップＳ１１０７におけるＮＤ（Ｓｂ）テーブル、ＳＩの更新処理の流れを示すフローチャートである。
【図１４】本発明の第２の実施形態に係るサブバンドインデックスＳＩとサブバンドの対応を示す図である。
【図１５】本発明の第３の実施形態に係る動画像復号装置で復号対象とする１フレーム分の動画像符号化データの構造を示す図である。
【図１６】動画像データ出力部の具体的構成例を示すブロック図である。
【図１７】本発明の第４の実施形態に係る動画像復号装置の構成を示すブロック図である。
【図１８】本発明の第４の実施形態に係る動画像復号装置の時系列での動作を示すタイムチャートである。
【図１９】本発明の第４の実施形態に係る動画像復号装置の処理の流れを示すフローチャートである。
【符号の説明】
【０１２５】
１００  動画像復号装置
１０１  符号列読み出し部
１０２  ビットプレーン復号部
１０４  逆離散ウェーブレット変換部
１０５  動画像データ出力部
１０６  復号処理時間計測部
１０７  非復号ビットプレーン決定部
２００  動画像復号装置
２０１  動画像データ入力部
２０２  離散ウェーブレット変換部
２０３  係数量子化部
２０４  ビットプレーン符号化部
２０５  符号列形成部
２０６  ２次記憶装置
２０７  信号線
３００  動画像復号装置
４００  動画像復号装置
９０１  係数逆量子化部
９０２  逆離散ウェーブレット変換部
９０３  非復号ビットプレーン決定部
９０４  符号列読み出し部
１６０１  バッファ
１６０２  ディスプレイインターフェース
１６０３  ディスプレイ
１７０１  バッファ状態監視部
１７０２  非復号ビットプレーン決定部
【図１】
2004343710.tif 000003
【図２】
2004343710.tif 000004
【図３】
2004343710.tif 000005
【図４】
2004343710.tif 000006
【図５】
2004343710.tif 000007
【図６】
2004343710.tif 000008
【図７】
2004343710.tif 000009
【図８】
2004343710.tif 000010
【図９】
2004343710.tif 000011
【図１０】
2004343710.tif 000012
【図１１】
2004343710.tif 000013
【図１２】
2004343710.tif 000014
【図１３】
2004343710.tif 000015
【図１４】
2004343710.tif 000016
【図１５】
2004343710.tif 000017
【図１６】
2004343710.tif 000018
【図１７】
2004343710.tif 000019
【図１８】
2004343710.tif 000020
【図１９】
2004343710.tif 000021