(57)【特許請求の範囲】
【請求項１】
２次元信号を所定の信号スキャン順序で複数の周波数領域であるサブバンドに分割する２次元ハールウェーブレット変換手段と、
前記２次元ハールウェーブレット変換手段の過程で一定数の２次元信号が一定数の係数に変換されるごとに、変換によって得られた係数を、同一階層かつ空間的に同一位置に属する交流サブバンドの係数の組として一定数ずつ抽出する係数抽出手段と、
前記抽出された交流サブバンドの係数の組を符号化して、同一階層内で係数組が抽出された順序で連結し、高周波サブバンドの符号列を形成する係数符号化手段と、
最低周波数サブバンドである直流サブバンドを符号化して連結し、最低周波数サブバンドの符号列を形成する初期係数符号化手段と、
最低周波数サブバンドの符号列を出力した後、順次、前記係数符号化手段によって形成された高周波サブバンドの符号列を出力する符号出力手段と
を有することを特徴とする符号化装置。
【請求項２】
前期所定の信号スキャン順序は、前記２次元信号のスキャンライン順序であり、前記係数抽出手段は、前記２次元信号のスキャンライン方向に係数の組を一定数ずつ順次抽出することを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記係数抽出手段は、係数の組を一組ずつ順次抽出することを特徴とする請求項１に記載の符号化装置。
【請求項４】
２次元信号を所定の信号スキャン順序で複数の周波数領域であるサブバンドに分割する２次元ハールウェーブレット変換手段と、
前記２次元ハールウェーブレット変換手段の過程で空間的に隣接した２ｍ×２（ｍは整数：ｍ≧１）の２次元信号が２ｍ×２の係数に変換されるごとに、変換によって得られた係数を、同一階層かつ空間的に同一位置に属する交流サブバンドの係数の組として一定数ずつ抽出する係数抽出手段と、
前記抽出された交流サブバンドの係数の組を符号化して、同一階層内で係数組が抽出された順序で連結し、高周波サブバンドの符号列を形成する係数符号化手段と、
最低周波数サブバンドである直流サブバンドを符号化して連結し、最低周波数サブバンドの符号列を形成する初期係数符号化手段と、
最低周波数サブバンドの符号列を出力した後、順次、前記係数符号化手段によって形成された高周波サブバンドの符号列を出力する符号出力手段と
を有することを特徴とする符号化装置。
【請求項５】
前記各係数は複数の成分からなり、前記係数符号化手段は、同一階層かつ空間的に同一位置に属する交流サブバンドの係数の全成分を、所定の順序で成分毎に符号化し、前記所定の順序は、同一種類のサブバンドの係数について、該係数の全成分が連続して符号化される順序であることを特徴とする請求項１に記載の符号化装置。
【請求項６】
前記各係数は複数の成分からなり、前記係数符号化手段は、同一階層かつ空間的に同一位置に属する交流サブバンドの係数の全成分を、所定の順序で成分毎に符号化し、前記所定の順序は、同一種類のサブバンドの係数について、該係数の全成分が連続して符号化される順序であることを特徴とする請求項４に記載の符号化装置。
【請求項７】
前記各係数は複数の成分からなり、前記係数符号化手段は、同一階層かつ空間的に同一位置に属する交流サブバンドの係数の全成分を、所定の順序で成分毎に符号化し、前記所定の順序は、同一種類の成分について、全種類のサブバンドの係数の該成分が連続して符号化される順序であることを特徴とする請求項１に記載の符号化装置。
【請求項８】
前記各係数は複数の成分からなり、前記係数符号化手段は、同一階層かつ空間的に同一位置に属する交流サブバンドの係数の全成分を、所定の順序で成分毎に符号化し、前記所定の順序は、同一種類の成分について、全種類のサブバンドの係数の該成分が連続して符号化される順序であることを特徴とする請求項４に記載の符号化装置。
【請求項９】
前記２次元信号の各空間座標における解像度を設定した係数間引きマップを生成する係数間引きマップ生成手段と、
前記２次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を検出するとともに、前記前後する複数の画面から各部分領域において信号値が変化する変化期間を求める動領域検出手段とをさらに有し、
前記係数間引きマップ生成手段は、前記変化期間が長い領域内ほど前記解像度を低く設定し、前記動領域の解像度をこの動領域以外の領域の解像度より低くなるようにして、前記動領域とこの動領域以外の領域とで解像度が異なる係数間引きマップを生成し、
前記係数抽出手段は、前記係数間引きマップを参照し、当該座標に設定された解像度まで係数を間引いて抽出することを特徴とする請求項１に記載の符号化装置。
【請求項１０】
前記２次元信号の各空間座標における解像度を設定した係数間引きマップを生成する係数間引きマップ生成手段と、
前記２次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を検出するとともに、前記前後する複数の画面から各部分領域において信号値が変化する変化期間を求める動領域検出手段とをさらに有し、
前記係数間引きマップ生成手段は、前記変化期間が長い領域内ほど前記解像度を低く設定し、前記動領域の解像度をこの動領域以外の領域の解像度より低くなるようにして、前記動領域とこの動領域以外の領域とで解像度が異なる係数間引きマップを生成し、
前記係数抽出手段は、前記係数間引きマップを参照し、当該座標に設定された解像度まで係数を間引いて抽出することを特徴とする請求項４に記載の符号化装置。
【請求項１１】
前記２次元信号の各空間座標における量子化精度を示す係数量子化マップを生成する係数量子化マップ生成手段と、
前記係数量子化マップを参照し、係数の空間座標に対応する量子化精度まで前記係数を量子化する係数量子化手段と、
前記２次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を検出するとともに、前記前後する複数の画面から各部分領域において信号値が変化する変化期間を求める動領域検出手段とをさらに有し、
前記係数量子化マップ生成手段は、前記変化期間が長い領域内ほど前記量子化精度を低く設定し、前記動領域の量子化精度をこの動領域以外の領域の量子化精度より低くなるようにして、前記動領域とこの動領域以外の領域とで量子化精度が異なる係数量子化マップを生成し、前記係数符号化手段は、前記量子化された係数の組を符号化することを特徴とする請求項１に記載の符号化装置。
【請求項１２】
前記２次元信号の各空間座標に対応する量子化精度を示す係数量子化マップを生成する係数量子化マップ生成手段と、
前記係数量子化マップを参照し、係数組の空間座標に対応する量子化精度まで前記係数組を量子化する係数量子化手段と、
前記２次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を検出するとともに、前記前後する複数の画面から各部分領域において信号値が変化する変化期間を求める動領域検出手段とをさらに有し、
前記係数量子化マップ生成手段は、前記変化期間が長い領域内ほど前記量子化精度を低く設定し、前記動領域の量子化精度をこの動領域以外の領域の量子化精度より低くなるようにして、前記動領域とこの動領域以外の領域とで量子化精度が異なる係数量子化マップを生成し、前記係数符号化手段は、前記量子化された係数組を符号化することを特徴とする請求項４に記載の符号化装置。
【請求項１３】
前記２次元信号の各空間座標における解像度を設定した係数間引きマップを生成する係数間引きマップ生成手段と、
前記２次元信号は複数の画面の系列からなり、前の画面の符号化対象領域と後の画面の符号化対象領域との重複領域を動領域として検出する動領域検出手段とをさらに有し、
前記係数間引きマップ生成手段は、前記動領域の解像度をこの動領域以外の領域の解像度より低くなるようにして、前記動領域とこの動領域以外の領域とで解像度が異なる係数間引きマップを生成し、
前記係数抽出手段は、前記係数間引きマップを参照し、当該座標に設定された解像度まで係数を間引いて抽出することを特徴とする請求項１に記載の符号化装置。
【請求項１４】
前記２次元信号の各空間座標における解像度を設定した係数間引きマップを生成する係数間引きマップ生成手段と、
前記２次元信号は複数の画面の系列からなり、前の画面の符号化対象領域と後の画面の符号化対象領域との重複領域を動領域として検出する動領域検出手段とをさらに有し、
前記係数間引きマップ生成手段は、前記動領域の解像度をこの動領域以外の領域の解像度より低くなるようにして、前記動領域とこの動領域以外の領域とで解像度が異なる係数間引きマップを生成し、
前記係数抽出手段は、前記係数間引きマップを参照し、当該座標に設定された解像度まで係数を間引いて抽出することを特徴とする請求項４に記載の符号化装置。
【請求項１５】
前記２次元信号の各空間座標における量子化精度を示す係数量子化マップを生成する係数量子化マップ生成手段と、
前記係数量子化マップを参照し、係数の空間座標に対応する量子化精度まで前記係数を量子化する係数量子化手段と、
前記２次元信号は複数の画面の系列からなり、前の画面の符号化対象領域と後の画面の符号化対象領域との重複領域を動領域として検出する動領域検出手段とをさらに有し、
前記係数量子化マップ生成手段は、前記動領域の量子化精度をこの動領域以外の領域の量子化精度より低くなるようにして、前記動領域とこの動領域以外の領域とで量子化精度が異なる係数量子化マップを生成し、
前記係数符号化手段は、前記量子化された係数の組を符号化することを特徴とする請求項１に記載の符号化装置。
【請求項１６】
前記２次元信号の各空間座標に対応する量子化精度を示す係数量子化マップを生成する係数量子化マップ生成手段と、
前記係数量子化マップを参照し、係数組の空間座標に対応する量子化精度まで前記係数組を量子化する係数量子化手段と、
前記２次元信号は複数の画面の系列からなり、前の画面の符号化対象領域と後の画面の符号化対象領域との重複領域を動領域として検出する動領域検出手段とをさらに有し、
前記係数量子化マップ生成手段は、前記動領域の量子化精度をこの動領域以外の領域の量子化精度より低くなるようにして、前記動領域とこの動領域以外の領域とで量子化精度が異なる係数量子化マップを生成し、
前記係数符号化手段は、前記量子化された係数組を符号化することを特徴とする請求項４に記載の符号化装置。
【請求項１７】
２次元ハールウェーブレット変換により得られた複数のサブバンドの係数が前記サブバンドの符号列として、最低周波数サブバンドの符号列から高周波サブバンドの符号列へと順次入力される復号装置であって、
前記最低周波数サブバンドに対応する符号列から、前記最低周波数サブバンドの係数を復号し、前記最低周波数サブバンドの２次元信号を生成する初期係数復号手段と、
前記最低周波数サブバンドの符号列に後続して入力される高周波サブバンドの符号列から、同一階層のウェーブレット分解レベルに属する複数のサブバンドで空間的に同一位置に属する交流サブバンドの係数の組を一定数ずつ復号する係数復号手段と、
前記係数の組が復号されるごとに２次元ハールウェーブレット逆変換を行い、元の２次元信号列を生成するウェーブレット逆変換手段と
を有することを特徴とする復号装置。
【請求項１８】
前記係数復号手段は、前記２次元信号のスキャンライン方向に前記係数の組を一定数ずつ順次復号することを特徴とする請求項１７に記載の復号装置。
【請求項１９】
前記係数復号手段は、前記係数の組を一組ずつ順次復号することを特徴とする請求項１８に記載の復号装置。
【請求項２０】
前記各係数は複数の成分からなり、前記係数復号手段は、同一階層かつ空間的に同一位置に属する交流サブバンドの係数の全成分を、所定の順序で成分毎に復号し、前記所定の順序は、同一種類のサブバンドの係数について、該係数の全成分が連続して復号される順序であることを特徴とする請求項１９に記載の復号装置。
【請求項２１】
前記各係数は複数の成分からなり、前記係数復号手段は、同一階層かつ空間的に同一位置に属する交流サブバンドの係数の全成分を、所定の順序で成分毎に復号し、前記所定の順序は、同一種類の成分について、全種類のサブバンドの係数の該成分が連続して復号される順序であることを特徴とする請求項１９に記載の復号装置。
【請求項２２】
２次元ハールウェーブレット変換によって２次元信号を所定の信号スキャン順序で複数の周波数領域であるサブバンドに分割するステップと、
最低周波数サブバンドである直流サブバンドを符号化して連結し、最低周波数サブバンドの符号列を形成するステップと、
前記２次元ハールウェーブレット変換の過程で一定数の２次元信号が一定数の係数に変換されるごとに、変換によって得られた係数を、同一階層かつ空間的に同一位置に属する交流サブバンドの係数の組として一定数ずつ抽出するステップと、
前記抽出された交流サブバンドの係数の組を符号化して、同一階層内で係数組が抽出された順序で連結し、高周波サブバンドの符号列を形成するステップと、
前記最低周波数サブバンドの符号列を出力した後、順次、前記高周波サブバンドの符号列を出力するステップと
を有することを特徴とする符号化方法。
【請求項２３】
前記抽出するステップは、前記２次元信号のスキャンライン方向に係数の組を一定数ずつ順次抽出することを特徴とする請求項２２に記載の符号化方法。
【請求項２４】
前記抽出するステップは、係数の組を一組ずつ順次抽出することを特徴とする請求項２２に記載の符号化方法。
【請求項２５】
２次元ハールウェーブレット変換によって２次元信号を所定の信号スキャン順序で複数の周波数領域であるサブバンドに分割するステップと、
最低周波数サブバンドである直流サブバンドを符号化して連結し、最低周波数サブバンドの符号列を形成するステップと、
前記２次元ハールウェーブレット変換の過程で空間的に隣接した２ｍ×２（ｍは整数：ｍ≧１）の２次元信号が２ｍ×２の係数に変換されるごとに、変換によって得られた係数を、同一階層かつ空間的に同一位置に属する交流サブバンドの係数の組として一定数ずつ抽出するステップと、
前記抽出された交流サブバンドの係数の組を符号化して、同一階層内で係数組が抽出された順序で連結し、高周波サブバンドの符号列を形成するステップと、
前記最低周波数サブバンドの符号列を出力した後、順次、前記高周波サブバンドの符号列を出力するステップと
を有することを特徴とする符号化方法。
【請求項２６】
２次元ハールウェーブレット変換により得られた複数のサブバンドの係数を、前記サブバンドの符号列として、最低周波数サブバンドの符号列から高周波サブバンドの符号列へと順次入力するステップと、
前記最低周波数サブバンドに対応する符号列から、前記最低周波数サブバンドの係数を復号し、前記最低周波数サブバンドの２次元信号を生成するステップと、
前記最低周波数サブバンドの符号列に後続して入力される高周波サブバンドの符号列から、同一階層のウェーブレット分解レベルに属する複数のサブバンドで空間的に同一位置に属する交流サブバンドの係数の組を一定数ずつ復号するステップと、
前記係数の組が復号されるごとに２次元ハールウェーブレット逆変換を行い、元の２次元信号列を生成するステップと
を有することを特徴とする復号方法。
【請求項２７】
前記係数の組を復号するステップは、前記２次元信号のスキャンライン方向に前記係数の組を一定数ずつ順次復号することを特徴とする請求項２６に記載の復号方法。
【請求項２８】
前記係数の組を復号するステップは、前記係数の組を一組ずつ順次復号することを特徴とする請求項２７に記載の復号方法。
【請求項２９】
２次元ハールウェーブレット変換によって２次元信号を所定の信号スキャン順序で複数の周波数領域であるサブバンドに分割するステップと、
最低周波数サブバンドである直流サブバンドを符号化して連結し、最低周波数サブバンドの符号列を形成するステップと、
前記２次元ハールウェーブレット変換の過程で一定数の２次元信号が一定数の係数に変換されるごとに、変換によって得られた係数を、同一階層かつ空間的に同一位置に属する交流サブバンドの係数の組として一定数ずつ抽出するステップと、
前記抽出された交流サブバンドの係数の組を符号化して、同一階層内で係数組が抽出された順序で連結し、高周波サブバンドの符号列を形成するステップと、
前記最低周波数サブバンドの符号列を出力した後、順次、前記高周波サブバンドの符号列を出力するステップと
をコンピュータに実行させることを特徴とする符号化プログラム。
【請求項３０】
２次元ハールウェーブレット変換によって２次元信号を所定の信号スキャン順序で複数の周波数領域であるサブバンドに分割するステップと、
最低周波数サブバンドである直流サブバンドを符号化して連結し、最低周波数サブバンドの符号列を形成するステップと、
前記２次元ハールウェーブレット変換の過程で空間的に隣接した２ｍ×２（ｍは整数：ｍ≧１）の２次元信号が２ｍ×２の係数に変換されるごとに、変換によって得られた係数を、同一階層かつ空間的に同一位置に属する交流サブバンドの係数の組として一定数ずつ抽出するステップと、
前記抽出された交流サブバンドの係数の組を符号化して、同一階層内で係数組が抽出された順序で連結し、高周波サブバンドの符号列を形成するステップと、
前記最低周波数サブバンドの符号列を出力した後、順次、前記高周波サブバンドの符号列を出力するステップと
をコンピュータに実行させることを特徴とする符号化プログラム。
【請求項３１】
２次元ハールウェーブレット変換により得られた複数のサブバンドの係数を、前記サブバンドの符号列として、最低周波数サブバンドの符号列から高周波サブバンドの符号列へと順次入力するステップと、
前記最低周波数サブバンドに対応する符号列から、前記最低周波数サブバンドの係数を復号し、前記最低周波数サブバンドの２次元信号を生成するステップと、
前記最低周波数サブバンドの符号列に後続して入力される高周波サブバンドの符号列から、同一階層のウェーブレット分解レベルに属する複数のサブバンドで空間的に同一位置に属する交流サブバンドの係数の組を一定数ずつ復号するステップと、
前記係数の組が復号されるごとに２次元ハールウェーブレット逆変換を行い、元の２次元信号列を生成するステップと
をコンピュータに実行させることを特徴とする復号プログラム。
【請求項３２】
画像入力手段と、
符号化された画像信号を送受信するための通信手段と、
前記画像入力手段により入力された送信すべき画像信号を所定の信号スキャン順序で複数の周波数領域であるサブバンドに分割する２次元ハールウェーブレット変換手段と、
前記２次元ハールウェーブレット変換手段の過程で一定数の２次元信号が一定数の係数に変換されるごとに、変換によって得られた係数を、同一階層かつ空間的に同一位置に属する交流サブバンドの係数の組として一定数ずつ抽出する係数抽出手段と、
前記抽出された交流サブバンドの係数の組を符号化して、同一階層内で係数組が抽出された順序で連結し、高周波サブバンドの符号列を形成する係数符号化手段と、
最低周波数サブバンドである直流サブバンドを符号化して連結し、最低周波数サブバンドの符号列を形成する初期係数符号化手段と、
最低周波数サブバンドの符号列を前記通信手段へ出力した後、順次、前記係数符号化手段によって形成された高周波サブバンドの符号列を前記通信手段へ出力する符号出力手段と、
受信した画像信号の最低周波数サブバンドに対応する符号列から、前記最低周波数サブバンドの係数を復号し、前記最低周波数サブバンドの画像信号を生成する初期係数復号手段と、
前記最低周波数サブバンドの符号列に後続して入力される高周波サブバンドの符号列から、同一階層のウェーブレット分解レベルに属する複数のサブバンドで空間的に同一位置に属する交流サブバンドの係数の組を一定数ずつ復号する係数復号手段と、
前記係数の組が復号されるごとに２次元ハールウェーブレット逆変換を行い、元の受信画像信号を生成するウェーブレット逆変換手段と、
前記受信画像信号に基づいて受信画像を表示する画像表示手段と
を有することを特徴とする通信端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は２次元信号の圧縮伸張方式に係り、特にウェーブレット変換を用いた２次元信号の符号化／復号方法および装置に関する。
【背景技術】
【０００２】
画像信号に代表される２次元信号を記録媒体に格納する場合やネットワークを通して伝送する場合には、記録媒体や伝送路を効率的に利用するためにデータの圧縮あるいは符号化が不可欠である。従来、ＤＣＴ（離散コサイン変換）を用いた符号化や予測符号化などの種々の方式が提案され、実際に使用されている。近年は、ウェーブレット変換を用いた情報圧縮方法が盛んに研究され、種々の提案がされている。【０００３】
たとえば、特許文献１（特開平９−１４８９３８号公報）に記載された符号化／復号方式は、まず、２次元画像をタイルに分け、各タイルに対しウェーブレット変換を繰り返し適用することによって、周波数サブバンドへの階層的な分割を行う。その後、分割された各サブバンドに対して可変長符号化を行い、低周波のサブバンドから順に符号を出力する。タイルへの分割を行うメリットとしては、係数の統計的性質の近い近接領域をまとめ、各領域に最適な符号化を施すことによって符号効率の向上が図れる点、および、ハードウェアによって符号化処理や復号処理の並列化が実現できる点などが挙げられる。なお、タイルへの分割は、過分割すると逆に符号効率が低下するため、通常、６４×６４程度以上の大きさに決定される。ただし、タイル分割後にウェーブレット変換を行う方法では、タイル境界に不連続な歪み、すなわちブロックノイズが生じてしまうという課題がある。【０００４】
また、特許文献２（特開２０００−３１６１５２号公報）に記載された符号化／復号方式は、ウェーブレット変換後の各サブバンドをブロック（８×８）へ分割し、各ブロックに対して符号化を行う。ウェーブレット変換後にブロック分割することで、ブロックノイズが発生しないというメリットがある。【０００５】
上述した方式を用いてサブバンド符号化を行うことにより、時間とともに解像度を向上させる漸進的な表示機能を提供することができ、画像閲覧者の認知的な待ち時間を低減することが可能となる。たとえば、特許文献３（特開平１１−２９８８９７号公報）には、解像度が上昇するに伴って、表示される画像のサイズが大きくなる画像データ伝送方法が開示されている。【０００６】
また、特許文献４（特表２００３−５０４９２１号公報）には、画像を分割し、各サブ画像を異なるウェーブレット復号化レートで描画する方法が開示されている。具体的には、画面の中央部がもっともユーザに注視される領域であることを利用し、中心部のサブ画像において最も早くディテールが描画され、中心から遠ざかるにしたがって遅れて徐々にディテールが描画される。このような表示機能によっても画像閲覧者の認知的な待ち時間を低減することが可能である。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１および特許文献２に記載されたいずれの方式も並列化を前提としているために、汎用の逐次処理型ＣＰＵを用いて復号する場合には十分な処理速度を得ることができない。その主な要因は次の通りである。【０００８】
第１に、ＣＰＵは、各係数値が格納されているメモリアドレスに対して、係数の符号化（または復号）時とウェーブレット演算（または逆ウェーブレット演算）時との２回アクセスする必要がある。一般に、ＣＰＵにおいて、メモリアクセスに要する時間はＣＰＵ内部の演算時間に比べて長く、メモリアクセス回数が多いと処理速度が大きく低下する。【０００９】
第２に、ＣＰＵが各タイルまたは各ブロックへのメモリアクセスを行う際、係数が格納されるアドレスが、スキャンライン上から離れた位置にあり、かつ多数行に渡る。たとえば、２ＬＨサブバンドがブロック（８×８）の領域に分割される場合には、２ＬＨの展開には８行のスキャンラインに対するメモリアクセスが行われる。このため、メモリアクセス先が分散し、キャッシュメモリの効率が低下する。一般的なＣＰＵはキャッシュメモリを備えているため、局所的なメモリアクセスは高速に行うことができるが、上記のようにメモリアクセス先が分散すると、実メモリへのアクセスが発生し、処理速度が大きく低下する。【００１０】
さらに、上記従来の方式では、大きな中間メモリが必要となるという問題もある。なぜならば、符号化時には、あるタイルまたはブロックのウェーブレット変換が開始されてから当該タイルまたはブロックの符号化が完了するまで、復号時には、あるタイルまたはブロックの係数復号が開始されてから逆ウェーブレット変換が完了するまで、それぞれＬＨ、ＨＬ、ＨＨサブバンドをメモリ上に保持しておく必要があるからである。【００１１】
そこで、本発明の目的は、逐次処理型のＣＰＵを用いてウェーブレット符号化／復号を行う際にも、十分な速度向上結果が得られる符号化／復号方法および装置を提供することにある。【００１２】
本発明のさらに他の目的は、ウェーブレット符号化／復号処理において、サブバンドを一時的に格納するために必要となる中間メモリの容量を削減することができる符号化／復号方法および装置を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の第１の側面による符号化装置は、２次元信号を複数の周波数領域であるサブバンドに分割するウェーブレット変換手段と、同一階層のウェーブレット分解レベルに属する複数のサブバンドから、空間的に同一位置に属する係数の組を一定数ずつ抽出する係数抽出手段と、前記抽出された係数の組を符号化する係数符号化手段と、を有することを特徴とする。
本発明の第２の側面による符号化装置は、２次元信号から空間的に隣接した２ｍ×２（ｍは整数：ｍ≧１）要素を順次抽出する要素抽出手段と、前記２ｍ×２要素を複数のサブバンドの係数組に分割するウェーブレット変換手段と、前記係数組を符号化する係数符号化手段と、符号化された係数組を低解像度側のサブバンドから順に並べ替えて出力する符号出力手段と、を有することを特徴とする。【００１４】
本発明の第３の側面による復号装置は、ウェーブレット変換により得られた複数のサブバンドの係数を符号化した符号列を入力し、元の２次元信号を生成する復号装置において、最低周波数サブバンドに対応する符号列から前記最低周波数サブバンドの係数を復号する初期係数復号手段と、前記最低周波数サブバンド符号列に後続する符号列から同一階層のウェーブレット分解レベルに属する複数のサブバンドで空間的に同一位置に属する係数の組を一定数ずつ復号する係数復号手段と、前記係数の組が復号されるごとにウェーブレット逆変換を行うウェーブレット逆変換手段と、を有することを特徴とする。【００１５】
本発明によれば、ハール関数を基底とするウェーブレット変換によって画像をサブバンドに分割し、最低周波のLLサブバンドの全領域を符号化した後、各階層のウェーブレット分解レベルに属するLH, HL, HHサブバンド係数を、空間的に同一位置にある係数ごとに符号化する。復号側では、最初に最低周波のLLサブバンドを展開した後、各ウェーブレット分解レベルのサブバンドにおいて、空間的に同一位置にあるLH係数、HL係数、HH係数を１組ずつ復号し、それらの係数値を用いて直ちに逆ウェーブレット変換を行い、次のウェーブレット分解レベルのLL係数値を得る。
【発明の効果】
【００１６】
上述したように、本発明によれば、ＬＨ、ＨＬおよびＨＨサブバンドから同一画像位置にそれぞれ対応する係数を順次読み出して符号化するために、汎用の逐次処理型ＣＰＵを用いても実メモリへのストア・ロード回数を削減でき高速処理が可能となり、さらに、ＬＨ、ＨＬおよびＨＨサブバンドの同一位置の係数が同時に順次符号化されるために、ＬＨ、ＨＬおよびＨＨサブバンドのデータを符号化が終了するまで保持しておく必要がなくなる。【００１７】
また、逐次符号化が可能となるために、符号化対象の係数を格納する係数メモリにＣＰＵの高速レジスタやキャッシュメモリを用いることができ、符号化速度をさらに向上させることができる。【００１８】
また、復号時において、１組のＬＨ、ＨＬおよびＨＨサブバンド係数が復号されるごとに、それらの係数値がレジスタ上で直ちに逆ウェーブレット演算にかけられ、実メモリへのアクセスが削減できる。また、復号時のメモリアクセスとして、ＬＬサブバンドの読み出しが同一スキャンライン上で連続して行われるとともに、逆ウェーブレット演算結果の書き込みもスキャンライン２行のみに対して連続して行われるため、キャッシュメモリの効率が向上する。さらに、サブバンドを一時的に格納するために必要となる中間メモリの容量を削減できる。【００１９】
このように、１組のＬＨ、ＨＬおよびＨＨサブバンド係数の復号と、それらの逆ウェーブレット演算が、レジスタなどの高速メモリを介して行うことが可能となり、逐次処理型の汎用ＣＰＵにおいても、復号の高速化が達成できる。また、サブバンド全体を中間メモリに保持する必要がないため、使用メモリ量が削減できる。また、ハードウェアによる並列化が可能な場合には、従来のタイル分割方式と併用することにより、さらに高速な復号処理も可能である。【００２０】
また、特別な並列演算ハードウェアを必要とせず高速に実行可能であることから、中〜低速な汎用ＣＰＵで符号化・復号を行う用途において有効である。これにより、ネットワーク経由で画像を受信・表示するクライアント端末を低コストで実現でき、安価なユビキタス端末を実現することが可能となる。
【図面の簡単な説明】
【００２１】
【図１】図１は、本発明の第１実施例による符号化装置の概略的構成を示すブロック図である。
【図２Ａ】図２Ａは、サブバンドメモリ１０２における各サブバンドｎＬＬ、ｎＬＨ、ｎＨＬ、ｎＨＨの係数配列の一例を示す模式図である。
【図２Ｂ】図２Ｂは、出力符号メモリ１０４における符号配列の一例を示す模式図である。
【図３】図３は、本発明の第１実施例による符号化装置による符号化制御を示すフローチャートである。
【図４】図４は、本発明の第１実施例による復号装置の概略的構成を示すブロック図である。
【図５】図５は、本発明の第１実施例による復号装置の復号制御を示すフローチャートである。
【図６】図６は、本発明の第２実施例による符号化装置の概略的構成を示すブロック図である。
【図７】図７は、本発明の第１実施例による符号化装置による符号化制御を示すフローチャートである。
【図８】図８は、本発明の第１および第２実施例による符号化および復号動作を模式的に示した図である。
【図９】図９は、本発明の第３実施例による符号化装置の概略的構成を示すブロック図である。
【図１０】図１０は、本発明の第３実施例による符号化装置による符号化制御を示すフローチャートである。
【図１１】図１１は、本発明の第３実施例による符号化および復号動作を模式的に示した図である。
【図１２】図１２は、本発明の第４実施例による符号化装置の概略的構成を示すブロック図である。
【図１３】図１３は、本発明の第４実施例による符号化装置による符号化制御を示すフローチャートである。
【図１４】図１４は、本発明の第４実施例における動領域検出と間引き動作を説明するためのコンソール画面を模式的に示した図である。
【図１５】図１５は、本発明の第５実施例による符号化装置の概略的構成を示すブロック図である。
【図１６】図１６は、本発明の第５実施例による符号化制御を示すフローチャートである。
【図１７】図１７は、本発明の第５実施例による符号化および復号動作を模式的に示した図である。
【図１８】図１８は、本発明の第６実施例による符号化装置の概略的構成を示すブロック図である。
【図１９】図１９は、本発明の第６実施例による符号化制御を示すフローチャートである。
【図２０】図２０は、本発明の第７実施例による符号化装置の概略的構成を示すブロック図である。
【図２１】図２１は、本発明の第７実施例による符号化制御を示すフローチャートである。
【図２２】図２２は、本発明の第７実施例における動領域検出と係数量子化動作を説明するためのコンソール画面を模式的に示した図である。
【図２３】図２３は、本発明の第８実施例による符号化および復号装置を内蔵した双方向通信端末のブロック図である。
【図２４】図２４は、本発明の第９実施例による符号化装置の概略的構成を示すブロック図である。
【図２５】図２５は、本発明の第９実施例による復号装置の概略的構成を示すブロック図である。
【発明を実施するための最良の形態】
【００２２】
１．第１実施例
１．１）符号化装置
図１は、本発明の第１実施例による符号化装置の概略的構成を示すブロック図である。符号化装置は、画像データ１０を画像入力装置（図示せず）から入力し、後述するウェーブレット符号化により符号系列を出力する。符号化装置は、主として、データ処理装置１０１、サブバンドメモリ１０２、係数メモリ１０３、および、出力符号メモリ１０４を有し、生成された符号系列は符号出力装置１０５へ出力される。【００２３】
データ処理装置１０１は、たとえば一般的なＣＰＵ(Central Processing Unit)などのプログラム制御プロセッサであり、図示しないプログラムメモリから符号化プログラム群を読み出して実行することで、ウェーブレット変換（ここでは、２次元ハールウェーブレット変換）プロセス（ウェーブレット変換手段１０１ａ）、初期係数符号化プロセス（初期係数符号化手段１０１ｂ）、同一座標係数抽出プロセス（同一座標係数抽出手段１０１ｃ）、係数符号化プロセス（係数符号化手段１０１ｄ）および符号出力プロセス（符号出力手段１０１ｅ）を生成することができる（詳しくは後述する。）。【００２４】
サブバンドメモリ１０２、係数メモリ１０３および出力符号メモリ１０４は、それぞれ別個のメモリで構成することもできるが、たとえば１つの半導体メモリにそれぞれのスペースを割り当てることで構成することも可能である。この半導体メモリに入力画像データ１０を格納するスペースを設けても良い。なお、後述するように、本発明では、ＣＰＵのレジスタやキャッシュメモリを係数メモリ１０３として利用することができる。【００２５】
サブバンドメモリ１０２は、入力画像データ１０を２次元ハールウェーブレット変換することにより得られたＮ（１以上の整数）階層のサブバンドデータ（ｎＬＬ、ｎＬＨ、ｎＨＬ、ｎＨＨ）（１≦ｎ≦Ｎ）を格納する。以下、説明の便宜上、階層ｎのサブバンドｎＬＬ、ｎＬＨ、ｎＨＬ、ｎＨＨは、画像の空間座標（ｘ，ｙ）に対応するｐn×ｑn（ｐ，ｑは整数）の係数行列からなるものとする。したがって、各階層のサブバンドデータｎＬＬ、ｎＬＨ、ｎＨＬ、ｎＨＨはいずれも２次元信号である。【００２６】
係数メモリ１０３は、データ処理装置１０１の同一座標係数抽出プロセスによりサブバンドメモリ１０２から順次抽出された１つの階層のサブバンドｎＬＨ、ｎＨＬ、ｎＨＨにおける同一空間座標（ｉ，ｊ）の係数の組｛ＬＨ（ｉ，ｊ），ＨＬ（ｉ，ｊ），ＨＨ（ｉ，ｊ）｝を格納する。係数組の抽出順は画像の左上端から右下端までのスキャンライン方向に従う。ただし、２以上の一定数の係数組を順次抽出することもできる。たとえば｛ＬＨ（ｉ，ｊ），ＨＬ（ｉ，ｊ），ＨＨ（ｉ，ｊ）｝に隣接する１つ以上の係数組を抽出して係数メモリ１０３に格納してもよい。上述したように、係数メモリ１０３にＣＰＵのキャッシュメモリを利用した場合、キャッシュメモリに余裕があれば、複数組の係数を格納できる。【００２７】
出力符号メモリ１０４はＮＬＬサブバンド符号メモリ１０４．１と（ｎＬＨ、ｎＨＬ、ｎＨＨ）サブバンド符号メモリ１０４．２を有する。ＮＬＬサブバンド符号メモリ１０４．１は、データ処理装置１０１の初期係数符号化プロセスにより階層ＮのサブバンドＮＬＬを符号化することで得られたサブバンド符号ＮＬＬｃを格納する。（ｎＬＨ、ｎＨＬ、ｎＨＨ）サブバンド符号メモリ１０４．２は、係数メモリ１０３に順次読み出された同一座標係数の組を係数符号化プロセスにより符号化することで得られた符号（ｎＬＨ、ｎＨＬ、ｎＨＨ）ｃを格納する。【００２８】
（メモリデータ構成）
サブバンドメモリ１０２および出力符号メモリ１０４のデータ構成の一例を説明する。
ここでは、係数メモリ１０３に、同一空間座標（ｉ，ｊ）の１組の係数｛ＬＨ（ｉ，ｊ），ＨＬ（ｉ，ｊ），ＨＨ（ｉ，ｊ）｝が格納され、符号化される場合を例示する。【００２９】
図２Ａはサブバンドメモリ１０２における各サブバンドｎＬＬ、ｎＬＨ、ｎＨＬ、ｎＨＨの係数配列の一例を示す模式図であり、図２Ｂは出力符号メモリ１０４における符号配列の一例を示す模式図である。【００３０】
図２Ａにおいて、２次元ハールウェーブレット変換により得られる階層ｎのサブバンドｎＬＬの係数配列はｎＬ（０，０），ｎＬ（１，０），・・・，ｎＬ（ｐn，ｑn）、サブバンドｎＬＨの係数配列はｎＡ（０，０），ｎＡ（１，０），・・・，ｎＡ（ｐn，ｑn）、サブバンドｎＨＬの係数配列はｎＢ（０，０），ｎＢ（１，０），・・・，ｎＢ（ｐn，ｑn）、サブバンドｎＨＨの係数配列はｎＣ（０，０），ｎＣ（１，０），・・・，ｎＣ（ｐn，ｑn）であり、それぞれ画像の空間的位置を示す座標（０，０），・・・，（ｉ，ｊ），・・・、（ｐn，ｑn）に対応している。【００３１】
図２Ｂにおいて、ＮＬＬサブバンド符号メモリ１０４．１には、上述したサブバンドＮＬＬの係数ＮＬ（０，０），ＮＬ（１，０），・・・，ＮＬ（ｐN，ｑN）を初期符号化プロセスにより符号化した符号ＮＬＬｃ（０，０），ＮＬＬｃ（１，０），・・・，ＮＬＬｃ（ｐN，ｑN）が格納されている。ここで、初期符号化プロセスの符号化方式には、隣接する係数との差分を符号化するＤＰＣＭ(Differential Pulse Code Modulation)ハフマン符号などが利用できる。【００３２】
また、（ｎＬＨ、ｎＨＬ、ｎＨＨ）サブバンド符号メモリ１０４．２には、係数メモリ１０３に順次読み出された同一座標係数の１組あるいは複数組（ｎＬＨ、ｎＨＬ、ｎＨＨ）を係数符号化プロセスにより１組ずつ符号化した符号（ｎＬＨｃ、ｎＨＬｃ、ｎＨＨｃ）が格納されている。ここで、係数符号化プロセスの符号化方式には、ゼロ値の連長数と非ゼロ係数の値によるランレングスハフマン符号やＬＺＷ(Lempel-Ziv-Welch)符号などが利用できる。【００３３】
図２Ａのサブバンドデータを例に取ると、まず階層ｎのサブバンドｎＬＨ、ｎＨＬ、ｎＨＨの同じ座標（０，０）を有する係数ｎＡ（０，０）、ｎＢ（０，０）およびｎＣ（０，０）がまとめて係数メモリ１０３に読み出され、係数符号化プロセスにより符号化されたｎＡｃ（０，０）、ｎＢｃ（０，０）およびｎＣｃ（０，０）がサブバンド符号メモリ１０４．２に格納される。続いて、同じ座標（１，０）を有する係数ｎＡ（１，０）、ｎＢ（１，０）およびｎＣ（１，０）がまとめて係数メモリ１０３に読み出され、係数符号化プロセスにより符号化されたｎＡｃ（１，０）、ｎＢｃ（１，０）およびｎＣｃ（１，０）がサブバンド符号メモリ１０４．２に格納される。以下同様にして、座標（ｐn，ｑn）までの全ての係数が符号化され、サブバンド符号メモリ１０４．２に格納される。【００３４】
２組の係数が係数メモリ１０３に読み出される例では、階層ｎのサブバンドｎＬＨ、ｎＨＬ、ｎＨＨの同じ座標（０，０）および（１，０）を有する係数ｎＡ（０，０）、ｎＢ（０，０）、ｎＣ（０，０）および係数ｎＡ（１，０）、ｎＢ（１，０）、ｎＣ（１，０）がまとめて係数メモリ１０３に読み出され、同様に符号化が行われ、符号ｎＡｃ（０，０）、ｎＢｃ（０，０）およびｎＣｃ（０，０）およびｎＡｃ（１，０）、ｎＢｃ（１，０）、ｎＣｃ（１，０）がサブバンド符号メモリ１０４．２に格納されてもよい。この場合、次に係数メモリ１０３に読み出されるのは、サブバンドｎＬＨ、ｎＨＬ、ｎＨＨの同じ座標（２，０）および（３，０）を有する係数である。以下同様に、順次２組ずつ係数が読み出される。一般化して、２以上の一定数の係数組が読み出される場合も同様である。【００３５】
このようにして出力符号メモリ１０４に格納されたサブバンド符号ＮＬＬｃとｎＬＨｃ、ｎＨＬｃおよびｎＨＨｃとが符号出力プロセスにより符号出力装置１０５へ出力される。符号出力装置１０５は、たとえばＤＶＤなどの光記録媒体に情報を記録するドライブであり、あるいは、ネットワークに接続されたネットワークインターフェースである。【００３６】
（符号化制御）
図３は、本実施例における符号化制御を示すフローチャートである。【００３７】
まず、カメラやスキャナなどの画像入力装置から画像データ１０を入力し、画像メモリに格納する（ステップＳ１１）。【００３８】
次に、データ処理装置１０１上のウェーブレット変換プロセスは、画像メモリから読み出された画像データ１０に対してＮ段の２次元ハールウェーブレット変換を実行し、その変換結果を上述したようにサブバンドメモリ１０２に格納する（ステップＳ１２）。【００３９】
２次元ハールウェーブレット変換が終了すると、初期係数符号化プロセスは、初期係数ＮＬＬを階層Ｎのサブバンドメモリから読み出し、ランレングスハフマン符号あるいはＬＺＷ符号などを用いて可変長符号化し、その符号ＮＬＬｃ（０，０），ＮＬＬｃ（１，０），・・・，ＮＬＬｃ（ｐN，ｑN）を出力符号メモリ１０４のＮＬＬサブバンド符号メモリ１０４．１に格納する（ステップＳ１３）。【００４０】
初期係数符号化が全て終了すると、次の符号化対象はＬＨ、ＨＬ、ＨＨサブバンドとなる。まず、解像度レベル（階層）を示す変数ｎをＮに設定して符号化対象を階層ＮのＬＨ、ＨＬ、ＨＨサブバンドとし（ｎ＝Ｎ）、さらに、同一座標係数抽出プロセスはｎＬＨ、ｎＨＬ、ｎＨＨの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する（ｉ＝ｊ＝０）（ステップＳ１４）。【００４１】
続いて、同一座標係数抽出プロセスは、サブバンドメモリ１０２から階層ｎのサブバンドｎＬＨ、ｎＨＬ、ｎＨＨにおける同一空間座標（ｉ，ｊ）の係数の組｛ｎＡ（ｉ，ｊ），ｎＢ（ｉ，ｊ），ｎＣ（ｉ，ｊ）｝を読み出して係数メモリ１０３に格納する（ステップＳ１５）。ただし、上述したように２以上の一定数の係数組を読み出してもよい。たとえば同一空間座標（ｉ，ｊ）、（ｉ＋１、ｊ）・・・にそれぞれ対応する一定数の係数組を読み出す。こうして１つあるいは複数の係数組が係数メモリ１０３に読み出されると、係数符号化プロセスが起動して符号化が行われる。【００４２】
係数符号化プロセスは、係数メモリ１０３から係数組ｎＡ（ｉ，ｊ），ｎＢ（ｉ，ｊ），ｎＣ（ｉ，ｊ）を読み出して可変長符号化を行い、出力符号メモリ１０４のサブバンド符号メモリ１０４．２に格納する（ステップＳ１６）。係数メモリ１０３に読み出された係数組に関する符号化が終了すると、同一座標係数抽出プロセスは、当該階層ｎの全ての座標に関して符号化が終了したか否かを判定する（ステップＳ１７）。【００４３】
当該階層ｎにおける全ての符号化が終了していなければ（ステップＳ１７のＮＯ）、抽出座標（ｉ，ｊ）をスキャンライン方向に所定数だけシフトさせ（ステップＳ１８）、当該階層ｎにおける全ての符号化が終了するまで上記ステップＳ１５〜Ｓ１８を繰り返す。【００４４】
階層ｎにおける全ての符号化が終了すると（ステップＳ１７のＹＥＳ）、現在の階層ｎが最大解像度であるｎ＝１であるか否かを判定し（ステップＳ１９）、ｎが１に到達していなければ（ステップＳ１９のＮＯ）、ｎを１だけデクリメントし（ステップＳ２０）、ｎＬＨ、ｎＨＬ、ｎＨＨの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する（ｉ＝ｊ＝０）（ステップＳ２１）。こうして階層ｎを１ずつ減少させながら上記ステップＳ１５〜Ｓ２１を繰り返す。【００４５】
最高解像度レベルである階層ｎ＝１のサブバンドの符号化が完了すると（ステップＳ１９のＹＥＳ）、符号出力プロセスは、出力符号メモリ１０４に蓄積された符号列を読み出し、符号出力装置１０５へ出力する（ステップＳ２２）。【００４６】
なお、上記説明では、全符号化が完了した後に符号出力する動作としたが、一定量の符号が蓄積される毎に、符号を出力してもよい。こうしたストリーミング伝送を用いることにより、出力符号メモリ１０４のメモリ使用量および伝送開始遅延を小さくすることができる。【００４７】
また、上記説明では、各解像度の低周波成分を画像メモリおよび各ｎＬＬサブバンドメモリに保持する方式としたが、本発明はこれらの記憶方法を限定するものではない。たとえば、これらのメモリを共有し使用メモリ量を削減するといった方法を採ってもよい。【００４８】
１．２）復号装置
図４は、本発明の第１実施例による復号装置の概略的構成を示すブロック図である。
復号装置は、上記符号化装置により出力された符号列２０を入力し、後述するウェーブレット復号により元の画像データを出力する。復号装置は、主として、データ処理装置２０１、サブバンドメモリ２０２、係数メモリ２０３、および、画像出力装置２０４を有し、復号された画像データが画像出力装置２０４へ出力される。【００４９】
データ処理装置２０１は、符号化装置と同様にＣＰＵなどのプログラム制御プロセッサであり、図示しないプログラムメモリから復号プログラム群を読み出して実行することで、初期係数の復号プロセス（初期係数の復号手段２０１ａ）、同一座標係数の復号プロセス（同一座標係数の復号手段２０１ｂ）、ウェーブレット逆変換（ここでは、２次元ハールウェーブレット逆変換）プロセス（ウェーブレット逆変換手段２０１ｃ）、および画像出力プロセス（画像出力手段２０１ｄ）を生成することができる（詳しくは後述する。）。【００５０】
サブバンドメモリ２０２および係数メモリ２０３は、それぞれ別個のメモリで構成することもできるが、たとえば１つの半導体メモリにそれぞれのスペースを割り当てることで構成することも可能である。この半導体メモリに入力符号列２０を格納する入力符号メモリを設けても良い。なお、後述するように、本発明では、ＣＰＵのレジスタやキャッシュメモリを係数メモリ２０３として利用することができる。【００５１】
サブバンドメモリ２０２は、後述する初期係数および同一座標係数の復号ステップおよびウェーブレット逆変換ステップにより、復号されたＮＬＬサブバンド係数列から順次生成された（Ｎ−１）ＬＬ、（Ｎ−２）ＬＬ、・・・サブバンド係数列を格納する。以下、ＮＬＬサブバンド係数列も含めて一般化し、ｎＬＬサブバンド係数列（０≦ｎ≦Ｎ）と記す。【００５２】
係数メモリ２０３は、データ処理装置２０１の同一座標係数復号プロセスにより復号された同一空間座標（ｉ，ｊ）のサブバンド係数の組｛ＬＨ（ｉ，ｊ），ＨＬ（ｉ，ｊ），ＨＨ（ｉ，ｊ）｝を格納する。ただし、２以上の一定数の係数組が格納されてもよい。たとえば｛ＬＨ（ｉ，ｊ），ＨＬ（ｉ，ｊ），ＨＨ（ｉ，ｊ）｝に隣接する１つ以上の係数組が符号化されている場合、複数の係数組が復号され係数メモリ２０３に格納される。上述したように、係数メモリ２０３にＣＰＵのキャッシュメモリを利用した場合、キャッシュメモリに余裕があれば、複数組の係数を格納できる。【００５３】
画像出力装置２０４は、たとえば液晶ディスプレイなどである。データ処理装置２０１の画像出力プロセスは、後述する初期係数および同一座標係数の復号プロセスと、ウェーブレット逆変換のプロセスとによって復号された画像データを画像出力装置２０４に表示する。【００５４】
図５は、本発明の第１実施例による復号装置の復号制御を示すフローチャートである。まず、入力した可変長符号列２０を入力符号メモリに格納する（ステップＳ３１）。【００５５】
次に、初期係数復号プロセスは、入力符号メモリからＮＬＬサブバンドの可変長符号を順次読み出して復号し、得られた初期係数であるＮＬＬサブバンド係数ＮＬ（０，０）、ＮＬ（０，１）・・・をＮＬＬサブバンドメモリ２０２に格納する（ステップＳ３２）。【００５６】
ＮＬＬサブバンド係数の復号が全て終了すると、次の復号対象はＬＨ，ＨＬ，ＨＨサブバンドとなる。まず、解像度レベル（階層）を示す変数ｎをＮに設定して復号対象を階層ＮのＬＨ、ＨＬ、ＨＨサブバンドとし（ｎ＝Ｎ）、さらに、同一座標係数復号プロセスはｎＬＨ、ｎＨＬ、ｎＨＨの各サブバンドの復号する係数の空間座標(x,y)を原点に初期化する（ｉ＝ｊ＝０）（ステップＳ３３）。【００５７】
続いて、同一座標係数復号プロセスは符号列ｎＡｃ（ｉ，ｊ），ｎＢｃ（ｉ，ｊ），ｎＣｃ（ｉ，ｊ）・・・を入力符号メモリから読み出し、階層ｎのサブバンドｎＬＨ、ｎＨＬ、ｎＨＨにおける同一空間座標（ｉ，ｊ）の係数の組｛ｎＡ（ｉ，ｊ），ｎＢ（ｉ，ｊ），ｎＣ（ｉ，ｊ）｝を係数メモリ２０３に格納する（ステップＳ３４）。ただし、上述したように複数組の係数が符号化されている場合には、複数組の係数が係数メモリ２０３に格納される。こうして１あるいは２以上の一定数の係数組が係数メモリ２０３に格納されると直ちに、ウェーブレット逆変換プロセスによりウェーブレット逆変換が行われる。【００５８】
ウェーブレット逆変換プロセスは、係数メモリ２０３から係数ｎＡ（ｉ，ｊ），ｎＢ（ｉ，ｊ），ｎＣ（ｉ，ｊ）を、サブバンドメモリ２０２から対応するｎＬＬサブバンド係数ｎＬ（ｉ，ｊ）をそれぞれ読み出す（ステップＳ３５）。読み出されたｎＬ（ｉ，ｊ）、ｎＡ（ｉ，ｊ），ｎＢ（ｉ，ｊ）およびｎＣ（ｉ，ｊ）に対してウェーブレット逆変換を行い、その結果をサブバンドメモリ２０２に（ｎ−１）ＬＬサブバンドの係数（ｎ−１）Ｌ（ｉ，ｊ）として格納する（ステップＳ３６）。続いて、同一座標係数復号プロセスは、当該階層ｎの全ての座標に関して復号が終了したか否かを判定する（ステップＳ３７）。【００５９】
当該階層ｎにおける全ての復号が終了していなければ（ステップ３７のＮＯ）、座標（ｉ，ｊ）をスキャンライン方向に所定数だけシフトさせ（ステップＳ３８）、当該階層ｎにおける全ての復号が終了するまで上記ステップＳ３４〜Ｓ３８を繰り返す。【００６０】
階層ｎにおける全ての復号が終了すると（ステップＳ３７のＹＥＳ）、現在の階層ｎが出力すべき解像度に対応する階層ＮDに到達したか否かを判定する（ステップＳ３９）。
ｎがＮDに到達していなければ（ステップＳ３９のＮＯ）、ｎを１だけデクリメントし（ステップＳ４０）、ｎＬＨ、ｎＨＬ、ｎＨＨの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する（ｉ＝ｊ＝０）（ステップＳ３０１）。こうして階層ｎを１ずつ減少させながらｎがＮDに到達まで上記ステップＳ３４〜Ｓ４０，Ｓ３０１を繰り返す。【００６１】
階層ｎが出力すべき解像度の階層ＮDに到達すると（ステップＳ３９のＹＥＳ）、画像出力プロセスは（ｎ−１）ＬＬサブバンドデータをサブバンドメモリ２０２から読み出し、画像出力装置２０４へ出力して画像表示する（ステップＳ３０２）。【００６２】
続いて、階層ｎが最大解像度であるｎ＝１であるか否かを判定する（ステップＳ３０３）。階層ｎが１に到達していない場合には（ステップＳ３０３のＮＯ）、復号すべきサブバンドが残っているので、ステップＳ４０に戻り、階層ｎが１に到達するまで上記ステップＳ３４〜Ｓ４０，Ｓ３０１〜Ｓ３０３を繰り返す。最高解像度レベルである階層ｎ＝１のサブバンドの復号が完了すると（ステップＳ３０３のＹＥＳ）、処理を終了する。【００６３】
なお、上記説明では、全ての符号入力が完了した後に復号する動作としたが、初期符号から順次、一定量の符号が入力される毎に復号を行ってもよい。こうしたストリーミング伝送を用いることにより、入力符号メモリのメモリ使用量および復号開始遅延を小さくすることができる。【００６４】
また、上記説明では、入力符号列を入力符号メモリに保持し、ｎＬＬサブバンド係数をｎＬＬサブバンドメモリに保持する方式としたが、本発明はこれらの記憶方法を限定するものではない。たとえば、これらのメモリの一部を共有し使用メモリ量を削減するといった方法を採ってもよい。【００６５】
また、本実施例において、符号化装置の係数符号化プロセスが出力する符号および復号装置の係数復号プロセスの入力となる符号は、
（ａ）まずＬＨ係数の(Y,Cb,Cr)、次にＨＬ係数の(Y,Cb,Cr)、最後にＨＨ係数の(Y,Cb,Cr)といった順に並んでいてもよし、
（ｂ）まずＹ成分のＬＨ、ＨＬ、ＨＨ係数、次にＣｂ成分のＬＨ、ＨＬ、ＨＨ係数、最後にＣｒ成分のＬＨ、ＨＬ、ＨＨ係数といった順に並んでいてもよい。【００６６】
符号化・復号を行うＣＰＵが複数のデータ列に対して同一演算を適用するＳＩＭＤ(Single Instruction stream/Multiple data stream)命令に対応している場合には、前者（ａ）の符号順を用いるのが効率的である。また、ＳＩＭＤ命令に対応しておらず演算用レジスタのビット数が少ないＣＰＵの場合では、後者（ｂ）の符号順によって各係数の成分ごとに演算を行うのが効率的である。【００６７】
１．３）効果
第１実施例の符号化装置および符号化制御によれば、画像データをウェーブレット変換することで得られたＬＨ、ＨＬおよびＨＨサブバンド係数を格納し、それぞれ画像の同一位置にそれぞれ対応する係数を少なくとも１組ずつ順次読み出して符号化し、出力符号メモリに格納する。【００６８】
逐次符号化が可能となるために、符号化対象の係数を格納する係数メモリにＣＰＵの高速レジスタやキャッシュメモリを用いることができ、符号化速度を向上させることができる。【００６９】
第１実施例の復号装置および復号制御によれば、係数復号プロセスによって復号されたそれぞれ同一画像位置に対応する１組あるいは複数組のＬＨ、ＨＬおよびＨＨサブバンド係数は、レジスタなどの高速メモリである係数メモリに読み出されると直ちにウェーブレット逆変換される。したがって、逐次処理型ＣＰＵにおいて実メモリへのストア・ロード回数を削減でき、復号速度が大幅に高速化する。【００７０】
さらに、ＬＨ、ＨＬおよびＨＨサブバンドの同一画像位置の係数が同時に順次復号化されるために、ＬＨ、ＨＬおよびＨＨサブバンドのデータの復号が終了するまで保持しておく必要がなくなる。【００７１】
さらに、ウェーブレット逆変換プロセスはＬＬサブバンドをスキャンライン順に連続して読み出し、また、演算結果をｎＬＬサブバンドの２行分のスキャンライン上に連続して出力するため、キャッシュメモリの効率が向上し、高速化が達成できる。【００７２】
また、ブロックやタイル毎ではなく、スキャンライン順に画素が出力されるため、復号の途中経過を表示しても復号済み領域と未復号領域との境界に階段状のノイズが生じない。【００７３】
２．第２実施例
２．１）符号化装置
図６は、本発明の第２実施例による符号化装置の概略的構成を示すブロック図である。符号化装置は、２次元信号の代表例として画像データ１０を画像入力装置（図示せず）から入力し、後述するウェーブレット符号化により符号系列を出力する。符号化装置は、主として、データ処理装置３０１、ＬＬサブバンドメモリ３０２、係数メモリ３０３、および、出力符号メモリ３０４を有し、生成された符号系列は符号出力装置３０５へ出力される。【００７４】
データ処理装置３０１は、一般的なＣＰＵなどのプログラム制御プロセッサであり、図示しないプログラムメモリから符号化プログラム群を読み出して実行することで、画素抽出プロセス（画素抽出（要素抽出）手段３０１ａ）、ウェーブレット変換（ここでは、２次元ハールウェーブレット変換）プロセス（ウェーブレット変換手段３０１ｂ）、係数符号化プロセス（係数符号化手段３０１ｃ）、初期係数符号化プロセス（初期係数符号化手段３０１ｄ）、および符号出力プロセス（符号出力手段３０１ｅ）を生成することができる（詳しくは後述する。）。【００７５】
ＬＬサブバンドメモリ３０２、係数メモリ３０３および出力符号メモリ３０４は、それぞれ別個のメモリで構成することもできるが、たとえば１つの半導体メモリにそれぞれのスペースを割り当てることで構成することも可能である。なお、後述するように、本発明では、ＣＰＵのレジスタやキャッシュメモリを係数メモリ３０３として利用することができる。【００７６】
ＬＬサブバンドメモリ３０２は、入力画像データ１０を０ＬＬサブバンドデータとして格納し、さらに画素抽出プロセスにより順次抽出された部分領域（２ｍ×２）を２次元ハールウェーブレット変換することにより得られるｎＬＬサブバンド係数（１≦ｎ≦Ｎ）を順次格納し、最終的にはＮＬＬサブバンド係数が格納される。第２実施例における符号化装置では、画素抽出プロセスが（ｎ−１）ＬＬサブバンド係数から空間的に隣接した２ｍ×２画素の部分領域を順次抽出し、それに対して２次元ハールウェーブレット変換を実行し、ｎＬＬサブバンド係数が得られる。２ｍ×２部分領域の抽出順は画像の左上端から右下端までのスキャンライン方向に従う。【００７７】
係数メモリ３０３は、２次元ハールウェーブレット変換により得られた１つの階層のサブバンドｎＬＨ、ｎＨＬ、ｎＨＨにおける同一空間座標（ｉ，ｊ）の係数の組｛ＬＨ（ｉ，ｊ），ＨＬ（ｉ，ｊ），ＨＨ（ｉ，ｊ）｝を格納する。ただし、２以上の一定数の係数組を格納してもよい。上述したように、係数メモリ３０３にＣＰＵのキャッシュメモリを利用した場合、キャッシュメモリに余裕があれば、複数組の係数を格納可能である。【００７８】
出力符号メモリ３０４は（ｎＬＨ、ｎＨＬ、ｎＨＨ）サブバンド符号メモリ３０４．１および初期出力符号であるＮＬＬサブバンド符号メモリ３０４．２を有する。（ｎＬＨ、ｎＨＬ、ｎＨＨ）サブバンド符号メモリ３０４．１は、係数メモリ３０３に順次読み出された同一座標係数の組を係数符号化プロセスにより符号化することで得られた符号（ｎＬＨ、ｎＨＬ、ｎＨＨ）ｃを格納する。ＮＬＬサブバンド符号メモリ３０４．２は、データ処理装置３０１の初期係数符号化プロセスによりＮＬＬサブバンド係数を符号化することで得られたサブバンド符号ＮＬＬｃを格納する。【００７９】
（符号化制御）
図７は、本実施例における符号化制御を示すフローチャートである。【００８０】
まず、カメラやスキャナなどの画像入力装置から画像データ１０を入力し、０ＬＬサブバンドとしてＬＬサブバンドメモリ３０２に格納する（ステップＳ４１）。【００８１】
データ処理装置３０１上の画素抽出プロセスは、解像度レベル（階層）を示す変数ｎを１に設定し、さらにｎＬＨ、ｎＨＬ、ｎＨＨの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する（ｉ＝ｊ＝０）（ステップＳ４２）。【００８２】
続いて、画素抽出プロセスは、ＬＬサブバンドメモリ３０２の（ｎ−１）ＬＬサブバンドから、座標（ｉ，ｊ）に対応する空間的に隣接した２ｍ×２画素の部分領域を順次抽出する（ステップＳ４３）。たとえば、ｎ＝１、ｍ＝１およびｉ＝ｊ＝０の場合は、図６に示すように、０ＬＬサブバンド（入力画像データ１０）から左上の２×２部分領域（Ｈ１，Ｈ２、Ｈ３、Ｈ４）が抽出される。【００８３】
ウェーブレット変換プロセスは、抽出された２ｍ×２画素の部分領域に対して２次元ハールウェーブレット変換を実行し（ステップＳ４４）、その結果得られたＬＨ係数ｎＡ（ｉ，ｊ）、ＨＬ係数ｎＢ（ｉ，ｊ）およびＨＨ係数ｎＣ（ｉ，ｊ）を係数メモリ３０３にそれぞれ格納し、ＬＬ係数ｎＬ（ｉ，ｊ）をｎＬＬサブバンドとしてＬＬサブバンドメモリ３０２に格納する（ステップＳ４５）。【００８４】
続いて、ウェーブレット変換プロセスは係数符号化プロセスを呼び出し、係数メモリ３０３から係数組ｎＡ（ｉ，ｊ），ｎＢ（ｉ，ｊ），ｎＣ（ｉ，ｊ）を読み出して可変長符号化を行い、出力符号メモリ３０４のサブバンド符号メモリ３０４．１に格納する（ステップＳ４６）。係数メモリ３０３に読み出された係数組に関する符号化が終了すると、画素抽出プロセスは、当該階層ｎの全ての座標に関して符号化が終了したか否かを判定する（ステップＳ４７）。【００８５】
当該階層ｎにおける全ての符号化が終了していなければ（ステップＳ４７のＮＯ）、抽出座標（ｉ，ｊ）をスキャンライン方向に所定数だけシフトさせ（ステップＳ４８）、当該階層ｎにおける全ての符号化が終了するまで上記ステップＳ４３〜Ｓ４８を繰り返す。【００８６】
階層ｎにおける全ての符号化が終了すると（ステップＳ４７のＹＥＳ）、現在の階層ｎが最低解像度レベルの階層Ｎであるか否かを判定し（ステップＳ４９）、ｎがＮに到達していなければ（ステップＳ４９のＮＯ）、ｎを１だけインクリメントし、空間座標(x,y)を原点に初期化する（ｉ＝ｊ＝０）（ステップＳ５０）。こうして階層ｎを１ずつ増加させながら上記ステップＳ４３〜Ｓ５０を繰り返す。【００８７】
最低解像度レベルＮのサブバンドの符号化が完了すると（ステップＳ４９のＹＥＳ）、初期係数符号化プロセスが立ち上がり、ＬＬサブバンドメモリ３０２に格納されているＮＬＬサブバンド係数を符号化し、出力符号メモリ３０４のＮＬＬサブバンド符号メモリ３０４．２に格納する（ステップＳ４０１）。【００８８】
続いて、符号出力プロセスは、出力対象の階層ｎを最低解像度レベルＮに設定し（ステップＳ４０２）、出力符号メモリ３０４のサブバンド符号メモリ３０４．１およびＮＬＬサブバンド符号メモリ３０４．２から階層ｎの符号を低解像度から高解像度の順で読み出し出力する（ステップＳ４０３〜Ｓ４０５）。すなわち、階層ｎのサブバンド符号が出力されると（ステップＳ４０３）、階層ｎが最高解像度レベルｎ＝１に到達したか否かを判定し（ステップＳ４０４）、到達していなければ（ステップＳ４０４のＮＯ）、階層ｎを１だけ減少させ（ステップＳ４０５）、ステップＳ４０３に戻る。こうしてｎ＝１になるまで上記ステップＳ４０３〜Ｓ４０５を繰り返して全ての符号を順次出力する。【００８９】
上述したように、画素抽出プロセスは２ｍ×２の部分領域を抽出することができる。ｍの値はＣＰＵに依存して決定すればよい。たとえば、ＣＰＵが複数のデータ列に対して同一演算を適用するＳＩＭＤ命令に対応している場合には、例えばｍ＝２として４×２といった単位で抽出し、複数のウェーブレット演算を一括して行うことにより演算効率を向上させることができる。【００９０】
また上記説明では、各解像度の低周波成分をｎＬＬサブバンドメモリに保持する方式としたが、本発明はこれらの記憶方法を限定するものではない。たとえば、これらの記憶部を共有し使用メモリ量を削減するといった方法を採ってもよい。【００９１】
２．２）復号装置
本実施例の符号化方式によって出力された符号は、図４および図５で示す第１実施例の復号方式によって復号可能であるから、詳細な説明は省略する。【００９２】
２．３）効果
本実施例による符号化装置および符号化制御では、画素抽出プロセスによって抽出された２ｍ×２画素領域に対してウェーブレット演算が行われた後、そのＬＨ，ＨＬ，ＨＨ係数がレジスタなどの小規模・高速メモリ（計数メモリ３０３）上で、直ちに符号化される。これにより高速符号化が可能となり、またＬＨ，ＨＬ，ＨＨサブバンドを格納するための実メモリが不要となる。【００９３】
なお、本実施例では、符号出力が開始されるまで出力符号を全て一時的に記憶しておく必要があり、ストリーミング伝送ができない。このため、第１実施例においてストリーミング伝送を行った場合と比べ、一時的に記憶するためのメモリ（出力符号メモリ３０４）は増加する。しかし、これらの符号は可変長符号化によって冗長性が削減されているため、全体としては、サブバンドをそのまま記憶する第１実施例よりもメモリ容量を抑えることができる。【００９４】
２．４）具体例
上述した第１および第２実施例の具体例を図面を参照しながら説明する。【００９５】
図８は、本発明の第１および第２実施例による符号化および復号動作を模式的に示した図である。本具体例では、画像入力装置としてビデオカメラを、データ処理装置１０１、２０１、３０１としてパーソナルコンピュータを、データ記憶装置１０２〜１０４、２０２、２０３、および３０２〜３０４として半導体メモリ（パーソナルコンピュータに含まれる）を、符号出力装置１０５，３０５として有線あるいは無線ネットワーク通信制御装置を備えているものとする。【００９６】
符号化装置の場合、パーソナルコンピュータは、画像入力、ウェーブレット演算、初期係数符号化、係数抽出、係数符号化、符号出力の各機能を実現するＣＰＵを有している。【００９７】
まずビデオカメラから輝度・色差空間で表される入力画像１０が与えられると、画像入力プロセスによって、画像データ（０ＬＬ）が半導体メモリに格納される。格納された画像１０は、画素としてH1, H2, …を持ち、各画素はY,Cb,Crの数値データ（H1#Y, H1#Cb, H1#Cr, …）から構成されている。【００９８】
入力画像１０は、ウェーブレット演算によって、２次元ハールウェーブレット変換が施され、結果が半導体メモリ内にｎＬＬ、ｎＬＨ、ｎＨＬおよびｎＨＨサブバンド係数Ｚ１０１〜Ｚ１０４として格納される。具体的には、左上端の原点から順に、まず、画素H1,H2,H3,H4のY,Cb,Cr成分に対してウェーブレット演算が行われ、L1,A1,B1,C1にY,Cb,Crの各係数値が書き込まれる。次に、画素H5,H6,H7,H8のY,Cb,Cr成分に対してウェーブレット演算が行われ、L2,A2,B2,C2にY,Cb,Crの各係数値が書き込まれる。以上の処理が、画像の右下終端まで繰り返される。以上のウェーブレット変換が、ＬＬサブバンドに対して繰り返し適用され、多重解像度のデータが構成される。【００９９】
ウェーブレット変換が完了すると、次に、初期係数符号化プロセスによって、最低解像度である解像度レベルＮのＬＬサブバンド（図８では１ＬＬサブバンド）の原点(x,y)=(0,0)から、係数値が順次読み込まれて可変長符号化される。これにより得られた符号Ｚ１０５は、図８では１ＬＬ符号メモリに格納される。【０１００】
さらに、解像度レベルＮから順に、LH, HL, HHサブバンドの符号化が行われる。LH, HL, HHサブバンドの符号化では、原点から順に、その空間座標に対応する係数が順次抽出されて可変長符号化される。具体的には、まず、係数抽出プロセスによって、(x,y)=(0,0)に対応する係数A1,B1,C1が抽出され、係数符号化プロセスによって可変長符号化される。
次に、(x,y)=(1,0)に対応する係数A2,B2,C2が抽出され、符号化される。以上の処理がサブバンドの右下終端まで行われ、得られた符号Ｚ１０６が(LH,HL,HH)符号メモリに格納される。【０１０１】
最後に、符号出力プロセスによって、ＬＬ符号メモリおよび(LH,HL,HH)符号メモリの内容が順次通信路へ出力される。【０１０２】
復号装置の場合、パーソナルコンピュータは、符号入力、初期係数復号、係数復号、逆ウェーブレット演算、画像出力の各機能を実現するＣＰＵを有している。【０１０３】
通信路から符号が与えられると、符号入力プロセスによって、符号データＺ１０５およびＺ１０６が半導体メモリに格納される。図８の例では１ＬＬ符号および(1LH,1HL,1HH)符号が格納される。【０１０４】
入力符号Z105は、初期係数復号プロセスによって復号され、結果が半導体メモリ内のLLサブバンドメモリに出力される。【０１０５】
次に、 (LH,HL,HH)符号データZ106が係数復号プロセスに順次供給され、係数値の復号が行われる。続いて、復号された係数とLLサブバンドメモリの係数との組から、逆ウェーブレット演算プロセスによって２次元ハール逆ウェーブレット演算が行われ、結果が0LLサブバンドメモリに出力される。具体的には、まず、係数値A1,B1,C1が順次復号された後、係数値L1,A1,B1,C1を用いて逆ウェーブレット演算が行われ、演算結果がH1,H2,H3,H4へ出力される。次に、係数値A2,B2,C2が順次復号された後、係数値L2,A2,B2,C2を用いて逆ウェーブレット演算が行われ、演算結果がH5,H6,H7,H8へ出力される。以上の処理が、サブバンドの終端まで繰り返される。【０１０６】
さらに高解像度のサブバンドの符号が存在する場合、以上のウェーブレット逆変換が繰り返し適用され、多重解像度の画像が順次復号される。【０１０７】
各解像度レベルのサブバンドが復号完了した段階で、画像出力プロセスによって画像が液晶ディスプレイへ出力される。【０１０８】
同じく図８を参照して、本発明の符号化方式の第２の具体例について説明する。ただし、本具体例におけるパーソナルコンピュータは、画像入力、画素抽出、ウェーブレット演算、係数符号化、初期係数符号化および符号出力の各機能を実現するＣＰＵを有している。【０１０９】
ビデオカメラから、入力画像として、輝度・色差空間で表される画像１０が与えられると、画像入力プロセスによって画像データが半導体メモリに格納される。【０１１０】
入力画像１０は、画素抽出プロセスによって、２×２画素ごとに抽出され、ウェーブレット演算プロセスへ供給され、ウェーブレット演算と符号化が行われる。具体的には、まず、画素H1,H2,H3,H4がウェーブレット演算プロセスへ供給されて符号化が行われた後、画素H5,H6,H7,H8がウェーブレット演算プロセスへ供給されて符号化が行われる。【０１１１】
ウェーブレット演算プロセスは、２×２の画素が供給されると、これら画素に対して２次元ハールウェーブレット変換を施し、係数L1,A1,B1,C1を得る。係数符号化プロセスは、A1,B1,C1を順次符号化し、(LH,HL,HH)符号Ｚ１０６として出力符号メモリへ格納する。【０１１２】
以上の処理が、画像の終端まで繰り返される。また、こうして生成されたnLLサブバンドに対して、さらにウェーブレット演算と符号化が繰り返し適用され、多重解像度の符号が生成される。【０１１３】
次に、初期係数符号化プロセスによって、最低解像度である解像度レベルＮのLLサブバンド（図８では1LLサブバンドメモリ）の原点(x,y)=(0,0)から、係数値が順次読み込まれて可変長符号化される。これにより得られた符号は、図８では1LL符号メモリに格納される。【０１１４】
最後に、符号出力プロセスによって、半導体メモリに格納された符号データが、解像度レベルＮから順に並べ替えられ、LL符号メモリおよび(LH,HL,HH)符号メモリのデータが順次通信路へ出力される。【０１１５】
３．第３実施例
３．１）符号化装置
図９は、本発明の第３実施例による符号化装置の概略的構成を示すブロック図である。符号化装置は、２次元信号の代表例として画像データ１０を画像入力装置（図示せず）から入力し、後述するウェーブレット符号化により符号系列を出力する。符号化装置は、主として、データ処理装置４０１、ＬＬサブバンドメモリ４０２、係数メモリ４０３、出力符号メモリ４０４、および、画素間引きマップメモリ４０５を有し、生成された符号系列は符号出力装置４０６へ出力される。【０１１６】
データ処理装置４０１は、一般的なＣＰＵなどのプログラム制御プロセッサであり、図示しないプログラムメモリから符号化プログラム群を読み出して実行することで、画素間引きマップ生成プロセス（画素間引きマップ生成手段４０１ａ）、画素間引き抽出プロセス（画素間引き抽出手段４０１ｂ）、ウェーブレット変換（ここでは、２次元ハールウェーブレット変換）プロセス（ウェーブレット変換手段４０１ｃ）、係数符号化プロセス（係数符号化手段４０１ｄ）、初期係数符号化（初期係数符号化手段４０１ｅ）、および符号出力プロセス（符号出力手段４０１ｆ）を生成することができる（詳しくは後述する。）。【０１１７】
ＬＬサブバンドメモリ４０２、係数メモリ４０３、出力符号メモリ４０４および画素間引きマップメモリ４０５は、それぞれ別個のメモリで構成することもできるが、たとえば１つの半導体メモリにそれぞれのスペースを割り当てることで構成することも可能である。なお、後述するように、本発明では、ＣＰＵのレジスタやキャッシュメモリを係数メモリ４０３として利用することができる。【０１１８】
ＬＬサブバンドメモリ４０２は、入力画像データ１０を０ＬＬサブバンドデータとして格納し、さらに画素間引き抽出プロセスにより順次抽出された部分領域（２ｍ×２）を２次元ハールウェーブレット変換することにより得られるｎＬＬサブバンド係数（１≦ｎ≦Ｎ）を順次格納し、最終的にはＮＬＬサブバンド係数が格納される。第３実施例における符号化装置では、画素間引き抽出プロセスが（ｎ−１）ＬＬサブバンド係数から２ｍ×２画素の部分領域を順次抽出し、それに対して間引き処理を行い、その結果に対して２次元ハールウェーブレット変換を実行し、ｎＬＬサブバンド係数が得られる。２ｍ×２画素の部分領域はスキャンライン方向に順次抽出される。【０１１９】
係数メモリ４０３は、２次元ハールウェーブレット変換することにより得られる１つの階層のサブバンドｎＬＨ、ｎＨＬ、ｎＨＨにおける同一空間座標（ｉ，ｊ）の係数の組｛ＬＨ（ｉ，ｊ），ＨＬ（ｉ，ｊ），ＨＨ（ｉ，ｊ）｝を格納する。ただし、２以上の一定数の係数組を格納することもできる。たとえば｛ＬＨ（ｉ，ｊ），ＨＬ（ｉ，ｊ），ＨＨ（ｉ，ｊ）｝に隣接する１つ以上の係数組を抽出して係数メモリ４０３に格納してもよい。上述したように、係数メモリ４０３にＣＰＵのキャッシュメモリを利用した場合、キャッシュメモリに余裕があれば、複数組の係数を格納できる。【０１２０】
出力符号メモリ４０４は（ｎＬＨ、ｎＨＬ、ｎＨＨ）サブバンド符号メモリ４０４．１および初期出力符号であるＮＬＬサブバンド符号メモリ４０４．２を有する。（ｎＬＨ、ｎＨＬ、ｎＨＨ）サブバンド符号メモリ４０４．１は、係数メモリ４０３に順次読み出された同一座標係数の組を係数符号化プロセスにより符号化することで得られた符号（ｎＬＨ、ｎＨＬ、ｎＨＨ）ｃを格納する。ＮＬＬサブバンド符号メモリ４０４．２は、データ処理装置４０１の初期係数符号化プロセスによりＮＬＬサブバンド係数を符号化することで得られたサブバンド符号ＮＬＬｃを格納する。【０１２１】
画素間引きマップメモリ４０５は、後述する画素間引きマップ生成プロセスにより生成され、画像の各部分における解像度レベルが格納されている。したがって、画素間引きマップメモリ４０５をサーチすることで、抽出された部分領域に対して画素間引き処理を行うか否かを判定することができる（詳しくは後述する）。【０１２２】
（符号化制御）
図１０は、本実施例における符号化制御を示すフローチャートである。【０１２３】
まず、カメラやスキャナなどの画像入力装置から画像データ１０を入力し、０ＬＬサブバンドとしてＬＬサブバンドメモリ４０２に格納する（ステップＳ５１）。【０１２４】
データ処理装置４０１上の画素間引きマップ生成プロセスは、画像の入力が行われると、０ＬＬサブバンドデータを読み込み、各座標の画素をどの解像度レベルまで間引いて符号化するかを示す画素間引きマップを生成し、画素間引きマップメモリ４０５に格納する（ステップＳ５２）。【０１２５】
たとえば、１つの画像内に濃淡２値の文字領域と色や濃淡が細かく変化する写真とが混在している場合、隣接要素値の変位を検出することで、あるいは、エッジ強度などの特徴量を解析することで写真領域と文字領域とを区別することができる。そして、写真領域の解像度を文字領域より低下させるように画素間引きマップを生成することで、視覚的な品質劣化を抑えながら符号量を削減することが可能になる。【０１２６】
画素間引き抽出プロセスは、解像度レベル（階層）を示す変数ｎを１に設定し、さらにｎＬＨ、ｎＨＬ、ｎＨＨの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する（ｉ＝ｊ＝０）（ステップＳ５３）。【０１２７】
続いて、画素間引き抽出プロセスは、ＬＬサブバンドメモリ４０２の（ｎ−１）ＬＬサブバンドから、座標（ｉ，ｊ）に対応する２ｍ×２画素の部分領域を順次抽出する（ステップＳ５４）。たとえば、ｎ＝１、ｍ＝１およびｉ＝ｊ＝０の場合は、図９に示すように、０ＬＬサブバンド（入力画像データ１０）から左上の２×２部分領域（Ｈ１，Ｈ２、Ｈ３、Ｈ４）が抽出される。【０１２８】
部分領域が抽出されると、画素間引き抽出プロセスは、抽出された部分領域に対応する座標の解像度レベルを画素間引きマップメモリ４０５から読み出し、その解像度レベルの値によって、抽出部分が間引き対象画素である否かを判定する（ステップＳ５５）。当該抽出部分が間引き対象である場合（ステップＳ５５のＹＥＳ）、所定の間引き演算によって画素が間引かれ（ステップＳ５６）、間引かれた画素値に対してウェーブレット変換が実行される（ステップＳ５７）。当該抽出部分が間引き対象でない場合（ステップＳ５５のＮＯ）、当該抽出部分のそのままの画素値でウェーブレット変換が実行される（ステップＳ５７）。なお、間引き演算は特に限定されない。抽出領域内の１つの画素値を代表値として用いてもよいし、抽出された全画素値の平均をとってもよい。【０１２９】
たとえば、抽出された２×２画素が間引き対象画素である場合、それら画素値の平均値を持った２×２画素として、ウェーブレット演算プロセスに供給される。間引き対象画素ではない場合は、２×２画素のそれぞれの画素値がそのままウェーブレット演算プロセスに供給される。【０１３０】
ウェーブレット変換プロセスは、抽出された２ｍ×２画素の部分領域に対して２次元ハールウェーブレット変換を実行し（ステップＳ５７）、その結果得られたＬＨ係数ｎＡ（ｉ，ｊ）、ＨＬ係数ｎＢ（ｉ，ｊ）およびＨＨ係数ｎＣ（ｉ，ｊ）を係数メモリ４０３にそれぞれ格納し、ＬＬ係数ｎＬ（ｉ，ｊ）をｎＬＬサブバンドとしてＬＬサブバンドメモリ４０２に格納する（ステップＳ５８）。【０１３１】
続いて、ウェーブレット変換プロセスは係数符号化プロセスを呼び出し、係数メモリ４０３から係数ｎＡ（ｉ，ｊ），ｎＢ（ｉ，ｊ），ｎＣ（ｉ，ｊ）を読み出して可変長符号化を行い、出力符号メモリ４０４のサブバンド符号メモリ４０４．１に格納する（ステップＳ５９）。係数メモリ４０３に読み出された係数組に関する符号化が終了すると、画素間引き抽出プロセスは、当該階層ｎの全ての座標に関して符号化が終了したか否かを判定する（ステップＳ６０）。【０１３２】
当該階層ｎにおける全ての符号化が終了していなければ（ステップＳ６０のＮＯ）、抽出座標（ｉ，ｊ）をスキャンライン方向に所定数だけシフトさせ（ステップＳ５０１）、当該階層ｎにおける全ての符号化が終了するまで上記ステップＳ５４〜Ｓ６０，Ｓ５０１を繰り返す。【０１３３】
階層ｎにおける全ての符号化が終了すると（ステップＳ６０のＹＥＳ）、現在の階層ｎが最低解像度レベルの階層Ｎであるか否かを判定し（ステップＳ５０２）、ｎがＮに到達していなければ（ステップＳ５０２のＮＯ）、ｎを１だけインクリメントし、空間座標(x,y)を原点に初期化する（ｉ＝ｊ＝０）（ステップＳ５０３）。こうして階層ｎを１ずつ増加させながら上記ステップＳ５４〜Ｓ６０，Ｓ５０１〜Ｓ５０３を繰り返す。【０１３４】
最低解像度レベルＮのサブバンドの符号化が完了すると（ステップＳ５０２のＹＥＳ）、初期係数符号化プロセスが立ち上がり、ＬＬサブバンドメモリ４０２に格納されているＮＬＬサブバンド係数を符号化し、出力符号メモリ４０４のＮＬＬサブバンド符号メモリ４０４．２に格納する（ステップＳ５０４）。【０１３５】
以下、ステップＳ５０４〜Ｓ５０８は、図７におけるステップＳ４０１〜Ｓ４０５とおなじであるから説明は省略する。【０１３６】
本実施例では、画素間引きマップ生成プロセスにおける解像度レベルの決定方法については限定しない。たとえば、写真・自然画と文字・グラフが混在している画像においては、画像閲覧者の意図によって、写真・自然画と、文字・グラフとで解像度レベルを異ならせてもよい。また、写真・自然画といった、輝度変化の緩やかな領域の解像度をより低くすることで、認知的な品質劣化を抑えながら符号量を削減できる。
また、画像内の隣接要素値の変位が比較的大きい領域と比較的小さい領域とで解像度を異なるようにしてもよい。特に、比較的小さい領域の解像度を比較的大きい領域の解像度より低く設定してもよい。隣接要素値の変位の大小は、隣接要素値の変位が予め設定された閾値より大きいか小さいかによって決めることができる。【０１３７】
３．２）復号装置
本実施例の符号化方式によって出力された符号は、図４および図５で示す第１実施例の復号方式によって復号可能であるから、詳細な説明は省略する。【０１３８】
３．３）効果
第３実施例の符号化装置および符号化制御によれば、第１実施例と同様に符号化処理の高速化および必要メモリの低減が可能となる他に、上述したように画素間引き抽出プロセスによって、部分領域ごとに異なる解像度レベルで画像を符号化することができる。
この際、画素の間引きは抽出と同時に行われるため、間引きによって生じる処理負荷はごく小さく抑えることができる。これによって、閲覧者の注目領域や、文字などディテールが重要な領域のみを高精細に符号化し、その他の領域の符号量を落とすことが可能となり、認知的な待ち時間を低減することができる。特に、写真・自然画と文字・グラフが混在している画像においては、写真・自然画の領域の画素を多く間引くことによって、被写体の概要把握や文字の判読といった、画像の意味理解のための最小限の情報を保ったまま、符号量を削減できる。【０１３９】
なお、上述した間引き関連処理であるステップＳ５２およびＳ５５〜Ｓ５６は、図３に示す第１実施例の符号化制御フローに適用することもできる。【０１４０】
具体的には、図３において、画像データ入力ステップＳ１１の後に画素間引きマップ生成ステップＳ５２を挿入する。さらに、同一座標係数抽出ステップＳ１５において、同一座標係数抽出プロセスが画素間引きマップを参照し、間引く必要がなければそのまま抽出し、間引く必要がある場合には当該座標に設定された解像度まで係数を間引いて抽出する。【０１４１】
３．４）具体例
図１１は、本発明の第３実施例による符号化および復号動作を模式的に示した図である。本具体例では、画像入力装置としてビデオカメラを、データ処理装置４０１としてパーソナルコンピュータを、データ記憶装置４０２〜４０５として半導体メモリ（パーソナルコンピュータに含まれる）を、符号出力装置４０６として有線あるいは無線ネットワーク通信制御装置を備えているものとする。本具体例における基本的構成は第２具体例と同様であるが、データ処理装置４０１であるパーソナルコンピュータが画素間引きマップ生成および画素間引き抽出の機能する点で異なる。【０１４２】
図１１において、ビデオカメラから入力画像１０が与えられると、画像入力プロセスによって画像データが半導体メモリに格納される。画素間引きマップ生成プロセスは、入力画像に対してエッジ強度などの特徴量を解析し、写真領域と文字領域とを分離し、写真領域を解像度レベル２、文字領域を解像度レベル１に設定した画素間引きマップＺ２０２を生成する。【０１４３】
画素間引き抽出プロセスは、入力画像１０および画素間引きマップＺ２０２を用いて２×２画素ごとに画素領域を抽出し、その画素領域が写真領域であれば、画素を間引いてウェーブレット演算および符号化を行い、文字領域であれば、そのままウェーブレット演算および符号化を行う。【０１４４】
こうして出力された符号列は、復号装置において復号され、写真領域の解像度だけが低くなった復号画像Ｚ２０３が得られる。【０１４５】
４．第４実施例
４．１）符号化装置
図１２は、本発明の第４実施例による符号化装置の概略的構成を示すブロック図である。符号化装置は、２次元信号の代表例として画像データ１０をビデオカメラ等の画像入力装置（図示せず）から入力し、後述するウェーブレット符号化により符号系列を出力する。符号化装置は、主として、データ処理装置５０１、ＬＬサブバンドメモリ５０２、係数メモリ５０３、出力符号メモリ５０４、画素間引きマップメモリ５０５、および、後続フレームデータメモリ５０６を有し、生成された符号系列は符号出力装置５０７へ出力される。【０１４６】
データ処理装置５０１は、一般的なＣＰＵなどのプログラム制御プロセッサであり、図示しないプログラムメモリから符号化プログラム群を読み出して実行することで、動領域検出プロセス（動領域検出手段５０１ａ）、画素間引きマップ生成プロセス（画素間引きマップ生成手段５０１ｂ）、画素間引き抽出プロセス（画素間引き抽出手段５０１ｃ）、ウェーブレット変換（ここでは、２次元ハールウェーブレット変換）プロセス（ウェーブレット変換手段５０１ｄ）、係数符号化プロセス（係数符号化手段５０１ｅ）、初期係数符号化プロセス（初期係数符号化手段５０１ｆ）、および符号出力プロセス（符号出力手段５０１ｇ）を生成することができる（詳しくは後述する。）。【０１４７】
ＬＬサブバンドメモリ５０２、係数メモリ５０３、出力符号メモリ５０４、画素間引きマップメモリ５０５、および、後続フレームデータメモリ５０６は、それぞれ別個のメモリで構成することもできるが、たとえば１つの半導体メモリにそれぞれのスペースを割り当てることで構成することも可能である。なお、後述するように、本発明では、ＣＰＵのレジスタやキャッシュメモリを係数メモリ５０３として利用することができる。【０１４８】
ＬＬサブバンドメモリ５０２は、入力画像データ１０を０ＬＬサブバンドデータとして格納し、さらに画素抽出プロセスにより順次抽出された部分領域（２ｍ×２）を２次元ハールウェーブレット変換することにより得られるｎＬＬサブバンド係数（１≦ｎ≦Ｎ）を順次格納し、最終的にはＮＬＬサブバンド係数が格納される。第４実施例における符号化装置では、画素間引き抽出プロセスが（ｎ−１）ＬＬサブバンド係数から２ｍ×２画素の部分領域を順次抽出し、それに対して間引き処理を行い、その結果に対して２次元ハールウェーブレット変換を実行し、ｎＬＬサブバンド係数が得られる。部分領域（２ｍ×２）はスキャンライン方向に順次抽出される。【０１４９】
係数メモリ５０３は、２次元ハールウェーブレット変換することにより得られる１つの階層のサブバンドｎＬＨ、ｎＨＬ、ｎＨＨにおける同一空間座標（ｉ，ｊ）の係数の組｛ＬＨ（ｉ，ｊ），ＨＬ（ｉ，ｊ），ＨＨ（ｉ，ｊ）｝を格納する。ただし、２以上の一定数の係数組を格納することもできる。たとえば｛ＬＨ（ｉ，ｊ），ＨＬ（ｉ，ｊ），ＨＨ（ｉ，ｊ）｝に隣接する１つ以上の係数組を抽出して係数メモリ５０３に格納してもよい。上述したように、係数メモリ５０３にＣＰＵのキャッシュメモリを利用した場合、キャッシュメモリに余裕があれば、複数組の係数を格納できる。【０１５０】
出力符号メモリ５０４は（ｎＬＨ、ｎＨＬ、ｎＨＨ）サブバンド符号メモリ５０４．１および初期出力符号であるＮＬＬサブバンド符号メモリ５０４．２を有する。（ｎＬＨ、ｎＨＬ、ｎＨＨ）サブバンド符号メモリ５０４．１は、係数メモリ５０３に順次読み出された同一座標係数の組を係数符号化プロセスにより符号化することで得られた符号（ｎＬＨ、ｎＨＬ、ｎＨＨ）ｃを格納する。ＮＬＬサブバンド符号メモリ５０４．２は、データ処理装置５０１の初期係数符号化プロセスによりＮＬＬサブバンド係数を符号化することで得られたサブバンド符号ＮＬＬｃを格納する。【０１５１】
画素間引きマップメモリ５０５は、後述する画素間引きマップ生成プロセスにより生成され、画像の各部分における解像度レベルが格納されている。したがって、画素間引きマップメモリ５０５をサーチすることで、抽出された部分領域に対して画素間引き処理を行うか否かを判定することができる（詳しくは後述する）。【０１５２】
また、後続フレームデータメモリ５０６は、複数フレームの画像データ１０が連続して入力したときに、ＬＬサブバンドメモリ５０２に格納される現在のフレームに続く入力フレームデータを格納する。【０１５３】
データ処理装置５０１上の動領域検出プロセスは、現在の入力画像および後続フレームデータメモリ５０６の内容から、後続のフレームで画素値に変化が生じる領域（動領域）を検出する。
画素間引きマップ生成プロセスは、検出された動領域の情報に基づき、動領域とそれ以外の領域とで解像度が異なる係数間引きマップを生成する。具体的には、動領域を低解像度、それ以外の領域を高解像度とする。【０１５４】
（符号化制御）
図１３は、本実施例における符号化制御を示すフローチャートである。【０１５５】
まず、ビデオカメラなどの動画像入力装置から動画像データ１０を入力すると、符号化対象のフレームデータが０ＬＬサブバンドとしてＬＬサブバンドメモリ５０２に格納され、後続するフレームデータが後続フレームデータメモリ５０６に格納される（ステップＳ６１）。【０１５６】
動領域検出プロセスは、ＬＬサブバンドメモリ５０２に格納された０ＬＬサブバンドデータと後続フレームデータメモリ５０６に格納された後続フレームデータとに基づいて動領域を検出する（ステップＳ６２）。動領域の検出方法としては、たとえば両フレーム画像の差分をとる方法がある。【０１５７】
画素間引きマップ生成プロセスは、検出された動領域を低解像度に、それ以外の領域を高解像度にそれぞれ設定した画素間引きマップを生成し画素間引きマップメモリ５０５に格納する（ステップＳ６３）。【０１５８】
続いて、画素間引き抽出プロセスは、解像度レベル（階層）を示す変数ｎを１に設定し、さらにｎＬＨ、ｎＨＬ、ｎＨＨの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する（ｉ＝ｊ＝０）（ステップＳ６４）。【０１５９】
続いて、画素間引き抽出プロセスは、ＬＬサブバンドメモリ５０２の（ｎ−１）ＬＬサブバンドから、座標（ｉ，ｊ）に対応する２ｍ×２画素の部分領域を順次抽出する（ステップＳ５４）。たとえば、ｎ＝１、ｍ＝１およびｉ＝ｊ＝０の場合は、図１２に示すように、０ＬＬサブバンド（入力画像データ１０）から左上の２×２部分領域（Ｈ１，Ｈ２、Ｈ３、Ｈ４）が抽出される。【０１６０】
部分領域が抽出されると、画素間引き抽出プロセスは、抽出された部分領域に対応する座標の解像度レベルを画素間引きマップメモリ５０５から読み出し、その解像度レベルの値によって、抽出部分が間引き対象画素である否かを判定する（ステップＳ６６）。当該抽出部分が間引き対象である場合（ステップＳ６６のＹＥＳ）、所定の間引き演算によって画素が間引かれ（ステップＳ６７）、間引かれた画素値に対してウェーブレット変換が実行される（ステップＳ６８）。当該抽出部分が間引き対象でない場合（ステップＳ６６のＮＯ）、当該抽出部分のそのままの画素値でウェーブレット変換が実行される（ステップＳ６８）。なお、間引き演算は特に限定されない。抽出領域内の１つの画素値を代表値として用いてもよいし、抽出された全画素値の平均をとってもよい。【０１６１】
たとえば、抽出された２×２画素が間引き対象画素である場合、それら画素値の平均値を持った２×２画素として、ウェーブレット演算プロセスに供給される。間引き対象画素ではない場合は、２×２画素のそれぞれの画素値がそのままウェーブレット演算プロセスに供給される。【０１６２】
ウェーブレット変換プロセスは、抽出された２ｍ×２画素の部分領域に対して２次元ハールウェーブレット変換を実行し（ステップＳ６８）、その結果得られたＬＨ係数ｎＡ（ｉ，ｊ）、ＨＬ係数ｎＢ（ｉ，ｊ）およびＨＨ係数ｎＣ（ｉ，ｊ）を係数メモリ５０３にそれぞれ格納し、ＬＬ係数ｎＬ（ｉ，ｊ）をｎＬＬサブバンドとしてＬＬサブバンドメモリ５０２に格納する（ステップＳ６９）。【０１６３】
続いて、ウェーブレット変換プロセスは係数符号化プロセスを呼び出し、係数メモリ５０３から係数組ｎＡ（ｉ，ｊ），ｎＢ（ｉ，ｊ），ｎＣ（ｉ，ｊ）を読み出して可変長符号化を行い、出力符号メモリ５０４のサブバンド符号メモリ５０４．１に格納する（ステップＳ７０）。係数メモリ５０３に読み出された１あるいは２以上の一定数の係数組に関する符号化が終了すると、画素間引き抽出プロセスは、当該階層ｎの全ての座標に関して符号化が終了したか否かを判定する（ステップＳ７１）。【０１６４】
当該階層ｎにおける全ての符号化が終了していなければ（ステップＳ７１のＮＯ）、抽出座標（ｉ，ｊ）をスキャンライン方向に所定数だけシフトさせ（ステップＳ７２）、当該階層ｎにおける全ての符号化が終了するまで上記ステップＳ６５〜Ｓ７２を繰り返す。【０１６５】
階層ｎにおける全ての符号化が終了すると（ステップＳ７１のＹＥＳ）、現在の階層ｎが最低解像度レベルの階層Ｎであるか否かを判定し（ステップＳ７３）、ｎがＮに到達していなければ（ステップＳ７３のＮＯ）、ｎを１だけインクリメントし、空間座標(x,y)を原点に初期化する（ｉ＝ｊ＝０）（ステップＳ７４）。こうして階層ｎを１ずつ増加させながら上記ステップＳ６５〜Ｓ７４を繰り返す。【０１６６】
最低解像度レベルＮのサブバンドの符号化が完了すると（ステップＳ７３のＹＥＳ）、初期係数符号化プロセスが立ち上がり、ＬＬサブバンドメモリ５０２に格納されているＮＬＬサブバンド係数を符号化し、出力符号メモリ５０４のＮＬＬサブバンド符号メモリ５０４．２に格納する（ステップＳ７５）。【０１６７】
以下、ステップＳ７５〜Ｓ７９は、図７におけるステップＳ４０１〜Ｓ４０５と同じであるから説明は省略する。【０１６８】
なお、本実施例で使用する後続フレーム情報は、後続フレームの画像データであってもよいし、信号値が更新される更新領域の座標情報であってもよい。後続フレーム情報として画像データを使用する場合は、現フレーム画像と後続フレーム画像の差分を取って動領域を検出することができる。また、更新領域の座標情報を使用する場合には、その更新領域をそのまま動領域として使用することができる。【０１６９】
また、後続フレーム情報としては、単一フレームだけでなく、複数のフレームを用いるようにしてもよい。複数フレームを用いる場合、各部分領域において画素の値が変化する期間を求め、この変化期間に基づいて画素間引きマップの解像度を設定する。より具体的には、画素の変化期間が長い領域、すなわち長時間に亘って画素が変化する領域ほど解像度を低くする。このように画素間引きマップを生成することで、更に符号量を低減することができる。【０１７０】
また、上述した第４実施例における動領域検出および間引き関連処理であるステップＳ６１〜Ｓ６３およびＳ６６〜Ｓ６７は、図３に示す第１実施例の符号化制御フローに適用することもできる。【０１７１】
４．２）復号装置
本実施例の符号化方式によって出力された符号は、図４および図５で示す第１実施例の復号方式によって復号可能であるから、詳細な説明は省略する。【０１７２】
４．３）効果
第４実施例の符号化装置および符号化制御によれば、第１実施例と同様に符号化処理の高速化および必要メモリの低減が可能となる他に、連続するフレームが符号化される際、後続のフレーム画像で上書きされる領域を動領域として検出することで、動領域を低解像度、それ以外の領域を高解像度に設定した画素間引きマップを生成することができ、これによって動領域の符号量を低減し、フレームレートを向上させることができる。符号量低減のトレードオフとして、動領域の解像度は落ちることになるが、動領域は後続フレームで上書きされる領域であるため、一時的に低解像度で表示しても閲覧者は視覚的な品質低下を認知しにくい。【０１７３】
４．４）具体例
図１４は本発明の第４実施例における動領域検出と間引き動作を説明するためのコンソール画面を模式的に示した図である。本具体例は、画像入力装置としてビデオカメラを、データ処理装置５０１としてワークステーションのＣＰＵを、データ記憶装置５０２〜５０６として半導体記憶装置（ワークステーションに含まれる）を、符号出力装置としてネットワークに接続された通信制御装置を備えている。上述したように、ワークステーションのＣＰＵは、動領域検出、画素間引きマップ生成、画素間引き抽出、ウェーブレット変換、係数符号化、初期係数符号化、および符号出力の各機能を実現することができる。【０１７４】
また、画像の動領域検出および間引き処理を模式的に示すための表示手段としてワークステーションのコンソール画面が想定され、図１４には、フレーム画面の更新領域が順次供給され、符号化されて伝送される様子が模式的に示されている。【０１７５】
Z300はフレームfにおけるコンソール画面の状態を示しており、Z3000はフレームfにおける画面Z300上の更新領域を示す。Z301はフレーム(f+1)におけるコンソール画面の状態を示しており、Z3010はフレーム(f+1)における画面Z301上の更新領域を示す。同様に、Z302はフレーム(f+2)におけるコンソール画面の状態、Z3020はその更新領域をそれぞれ示している。【０１７６】
上述したように、ワークステーションは、フレームfの時点で、後続フレーム(f+1)の更新領域の座標を先行して取得している。すなわち、Z3001がフレームfの画面Z300上での後続フレーム(f+1)の更新領域の位置を示しており、同様に、Z3011がフレーム(f+1)の画面Z301上での後続フレーム(f+2)の更新領域の座標を示している。また、フレーム(f+2)の後続フレームでは、画面Z302が更新されていないものとする。【０１７７】
フレームfにおける動作は以下の通りである。まず、ワークステーションは、入力画像Z3000と後続フレーム情報Z3001とを取得する。動領域検出プロセスによって、Z3000とZ3001との重複領域が動領域として検出され、画素間引きマップ生成プロセスによって動領域を解像度レベル２、その他の領域を解像度レベル１とする画素間引きマップZ310が生成される。【０１７８】
画素間引き抽出プロセスは、入力画像Z3000および画素間引きマップZ310を元に、2×2画素ごとに画素を抽出し、ウェーブレット演算プロセスへ供給し、ウェーブレット変換および符号化を行う。解像度レベル２の動領域については、画素が間引かれて符号化される。こうして得られた符号を復号し、更新領域内への描画を行うことによって、動領域の解像度だけが低くなった表示画像Z320が得られる。以上がフレームfにおける動作である。【０１７９】
フレーム(f+1)においても同様に、入力画像Z3010と後続フレーム情報Z3011の重複領域が動領域として検出され、画素間引きマップZ311が生成される。この結果、動領域の解像度だけが粗くなった表示画像Z321が得られる。【０１８０】
フレーム(f+2)では、後続フレームで更新領域が存在しないため、動領域が検出されない。このため、画素の間引きは行われない（Z312）。この結果、画面の全領域で高精細な復号画像Z322が得られる。【０１８１】
５．第５実施例
５．１）符号化装置
図１５は、本発明の第５実施例による符号化装置の概略的構成を示すブロック図である。本実施例における基本的構成は第２実施例と同様であるが、データ処理装置９０１が、係数量子化マップ生成プロセスおよび係数量子化プロセスを生成できる点、および、係数量子化マップメモリ９０５を備えている点で異なる。【０１８２】
すなわち、データ処理装置９０１は、係数量子化マップ生成プロセス（係数量子化マップ生成手段９０１ａ）、画素抽出プロセス（画素抽出（要素抽出）手段９０１ｂ）、ウェーブレット変換（ここでは、２次元ハールウェーブレット変換）プロセス（ウェーブレット変換手段９０１ｃ）、係数量子化プロセス（係数量子化手段９０１ｄ）、係数符号化プロセス（係数符号化手段９０１ｅ）、初期係数符号化プロセス（初期係数符号化手段９０１ｆ）、および符号出力プロセス（符号出力手段９０１ｇ）を生成することができる。【０１８３】
また、係数量子化マップメモリ９０５には、画像の各部分における量子化パラメータからなる係数量子化マップが格納されている。したがって、係数量子化マップメモリ９０５をサーチすることで、画素抽出プロセスにおいて抽出された部分領域に対する、係数量子化の精度を取得することができる（詳しくは後述する）。なお、係数量子化マップは、係数量子化マップ生成プロセスにより生成される。【０１８４】
図１６は、本実施例における符号化制御を示すフローチャートである。【０１８５】
まず、カメラやスキャナなどの画像入力装置から画像データ１０を入力し、０ＬＬサブバンドとしてＬＬサブバンドメモリ９０２に格納する（ステップＳ８０１）。【０１８６】
データ処理装置９０１上の係数量子化マップ生成プロセスは、画像の入力が行われると、０ＬＬサブバンドデータを読み込み、各空間座標位置・各解像度レベルに対応する係数をどの量子化精度まで間引いて符号化するかを示す係数量子化マップを生成し、係数量子化マップメモリ９０５に格納する（ステップＳ８０２）。【０１８７】
画素抽出プロセスは、解像度レベル（階層）を示す変数ｎを１に設定し、さらにｎＬＨ、ｎＨＬ、ｎＨＨの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する（ｉ＝ｊ＝０）（ステップＳ８０３）。【０１８８】
続いて、画素抽出プロセスは、ＬＬサブバンドメモリ９０２の（ｎ−１）ＬＬサブバンドから、座標（ｉ，ｊ）に対応する２ｍ×２画素の部分領域を順次抽出する（ステップＳ８０４）。たとえば、ｎ＝１、ｍ＝１およびｉ＝ｊ＝０の場合は、図１５に示すように、０ＬＬサブバンド（入力画像データ１０）から左上の２×２部分領域（Ｈ１，Ｈ２、Ｈ３、Ｈ４）が抽出される（ステップＳ８０４）。【０１８９】
ウェーブレット変換プロセスは、抽出された２ｍ×２画素の部分領域に対して２次元ハールウェーブレット変換を実行し（ステップＳ８０５）、その結果得られたＬＨ係数ｎＡ（ｉ，ｊ）、ＨＬ係数ｎＢ（ｉ，ｊ）およびＨＨ係数ｎＣ（ｉ，ｊ）を係数メモリ９０３にそれぞれ格納し、ＬＬ係数ｎＬ（ｉ，ｊ）をｎＬＬサブバンドとしてＬＬサブバンドメモリ９０２に格納する（ステップＳ８０６）。【０１９０】
係数量子化プロセスは、係数メモリ９０３からＬＨ係数ｎＡ（ｉ，ｊ）、ＨＬ係数ｎＢ（ｉ，ｊ）およびＨＨ係数ｎＣ（ｉ，ｊ）を読み出す。さらに、係数量子化マップメモリ９０５から、当該空間座標・解像度レベルに対応する係数量子化パラメータを読み出し、そのパラメータによって示される量子化精度までＬＨ係数ｎＡ（ｉ，ｊ）、ＨＬ係数ｎＢ（ｉ，ｊ）およびＨＨ係数ｎＣ（ｉ，ｊ）を量子化する。量子化された各係数によって、係数メモリ９０３の内容が更新される（ステップＳ８０７）。【０１９１】
以下、ステップＳ８０８〜Ｓ８１７は、図７におけるステップＳ４６〜Ｓ５０，Ｓ４０１〜Ｓ４０５と同じであるから説明は省略する。なお、図１５において、９０４は出力符号メモリ、９０４．１は（ｎＬＨ、ｎＨＬ、ｎＨＨ）サブバンド符号メモリ、９０４．２はＮＬＬサブバンド符号メモリ、９０６は符号出力装置である。【０１９２】
なお、第３実施例と同様に、写真領域と文字領域とで係数の量子化精度が異なるように、係数量子化マップを生成してもよい。たとえば、１つの画像内に濃淡２値の文字領域と色や濃淡が細かく変化する写真とが混在している場合、隣接要素値の変位を検出することで、あるいは、エッジ強度などの特徴量を解析することで、写真領域と文字領域とを区別することができる。そして、写真領域の量子化精度を文字領域より低下させるように係数量子化マップを生成することで、視覚的な品質劣化を抑えながら符号量を削減することが可能になる。【０１９３】
また、画像内の隣接要素値の変位が比較的大きい領域と比較的小さい領域とで係数の量子化精度が異なるようにしてもよい。特に、比較的小さい領域の量子化精度を比較的大きい領域の量子化精度より低く設定してもよい。隣接要素値の変位の大小は、隣接要素値の変位が予め設定された閾値より大きいか小さいかによって決めることができる。【０１９４】
５．２）復号装置
本実施例の符号化方式によって出力された符号は、図４および図５で示す第１実施例の復号方式によって復号可能であるから、詳細な説明は省略する。【０１９５】
５．３）効果
第５実施例の符号化装置および符号化制御によれば、第１実施例と同様に符号化処理の高速化および必要メモリの低減が可能となる他に、上述したように係数量子化プロセスによって、部分領域ごとに異なる量子化精度で画像を符号化することができる。これによって、第３実施例と同様に、閲覧者の注目領域や、文字などディテールが重要な領域のみを高精細に符号化し、その他の領域の符号量を落とすことが可能となり、認知的な待ち時間を低減することができる。【０１９６】
さらに、第５実施例では、第３実施例よりも細かい単位での品質制御が可能である。第３実施例では、非注目領域の品質を下げる場合、２分の１、４分の１といった、２のべき乗単位で解像度を下げることになる。このため、僅かに品質を下げたいといった場合にも、解像度を半分に下げる必要があった。これに対して、第５実施例では、量子化精度を制御することによって、モスキートノイズ等の量子化歪みを細かく制御することができる。【０１９７】
５．４）具体例
図１７は、本発明の第５実施例による符号化動作を模式的に示した図である。本具体例では、画像入力装置としてビデオカメラを、データ処理装置９０１としてパーソナルコンピュータを、データ記憶装置９０２〜９０５として半導体メモリ（パーソナルコンピュータに含まれる）を、符号出力装置９０６として有線あるいは無線ネットワーク通信制御装置を備えているものとする。本具体例における基本的構成は第２具体例と同様であるが、データ処理装置９０１であるパーソナルコンピュータが係数量子化マップ生成および係数量子化の機能を備える点で異なる。【０１９８】
図１７において、ビデオカメラから入力画像Z401が与えられると、画像入力プロセスによって画像データが半導体メモリに格納される。係数量子化マップ生成プロセスは、入力画像に対してエッジ強度などの特徴量を解析し、写真領域と文字領域とを分離し、写真領域を量子化ステップ６（Qstep=6）、文字領域を量子化ステップ３（Qstep=3）に設定した係数量子化マップZ402を生成する。【０１９９】
画素抽出プロセスおよびウェーブレット変換プロセスは、入力画像Z401を用いて２×２画素ごとに画素領域を抽出し、ウェーブレット演算を行う。係数量子化プロセスは、係数量子化マップZ402から得た量子化ステップの情報を基に、その画素領域が写真領域であれば、係数値Z403.1を６刻みに量子化し、係数値Z403.2を得る。また、画素領域が文字領域であれば、画素を３刻みに量子化し、係数値Z403.3を得る。量子化された係数は、係数符号化プロセスによって符号化される。【０２００】
こうして出力された符号列は、復号装置において復号され、写真領域の係数だけが粗く量子化された画像が得られる。【０２０１】
６．第６実施例
６．１）符号化装置
図１８は、本発明の第６実施例による符号化装置の概略的構成を示すブロック図である。本実施例における基本的構成は第５実施例と同様であるが、データ処理装置１００１が動領域検出プロセスを生成できる点、および、後続フレームデータメモリ１００６を備えている点で異なる。【０２０２】
すなわち、データ処理装置１００１は、動領域検出プロセス（動領域検出手段１００１ａ）、係数量子化マップ生成プロセス（係数量子化マップ生成手段１００１ｂ）、画素抽出プロセス（画素抽出（要素抽出）手段１００１ｃ）、ウェーブレット変換（ここでは、２次元ハールウェーブレット変換）プロセス（ウェーブレット変換手段１００１ｄ）、係数量子化プロセス（係数量子化手段１００１ｅ）、係数符号化プロセス（係数符号化手段１００１ｆ）、初期係数符号化プロセス（初期係数符号化手段１００１ｇ）、および符号出力プロセス（符号出力手段１００１ｈ）を生成することができる。【０２０３】
データ処理装置１００１上の動領域検出プロセスは、第４実施例と同様、現在の入力画像および後続フレームデータメモリ１００６の内容から、後続のフレームで画素値に変化が生じる領域（動領域）を検出する。
係数量子化マップ生成プロセスは、検出された動領域の情報に基づき、動領域とそれ以外の領域とで量子化精度が異なる係数量子化マップを生成する。具体的には、動領域を粗い量子化精度、それ以外の領域を細かい量子化精度とする。【０２０４】
図１９は、本実施例における符号化制御を示すフローチャートである。【０２０５】
まず、ビデオカメラなどの動画像入力装置から動画像データ１０を入力すると、符号化対象のフレームデータが０ＬＬサブバンドとしてＬＬサブバンドメモリ１００２に格納され、後続するフレームデータが後続フレームデータメモリ１００６に格納される（ステップＳ９０１）。【０２０６】
動領域検出プロセスは、ＬＬサブバンドメモリ１００２に格納された０ＬＬサブバンドデータと後続フレームデータメモリ１００６に格納された後続フレームデータとに基づいて動領域を検出する（ステップＳ９０２）。動領域の検出方法としては、たとえば両フレーム画像の差分をとる方法がある。【０２０７】
係数量子化マップ生成プロセスは、検出された動領域を粗い量子化精度、それ以外の領域を細かい量子化精度にそれぞれ設定した係数量子化マップを生成し、係数量子化マップメモリ１００５に格納する（ステップＳ９０３）。【０２０８】
以下、ステップＳ９０４〜Ｓ９１８は、図１６におけるステップＳ８０３〜Ｓ８１７と同じであるから説明は省略する。なお、図１８において、１００３は係数メモリ、１００４は出力符号メモリ、１００４．１は（ｎＬＨ、ｎＨＬ、ｎＨＨ）サブバンド符号メモリ、１００４．２はＮＬＬサブバンド符号メモリ、１００７は符号出力装置である。【０２０９】
なお、本実施例で使用する後続フレーム情報は、後続フレームの画像データであってもよいし、信号値が更新される更新領域の座標情報であってもよい。後続フレーム情報として画像データを使用する場合は、現フレーム画像と後続フレーム画像の差分を取って動領域を検出することができる。また、更新領域の座標情報を使用する場合には、その更新領域をそのまま動領域として使用することができる。【０２１０】
また、後続フレーム情報としては、単一フレームだけでなく、複数のフレームを用いるようにしてもよい。複数フレームを用いる場合、各部分領域において画素の値が変化する期間を求め、この変化期間に基づいて係数量子化マップの量子化精度を設定する。より具体的には、画素の変化期間が長い領域、すなわち長時間に亘って画素が変化する領域ほど量子化精度を低くする。このように係数量子化マップを生成することで、更に符号量を低減することができる。【０２１１】
６．２）復号装置
本実施例の符号化方式によって出力された符号は、図４および図５で示す第１実施例の復号方式によって復号可能であるから、詳細な説明は省略する。【０２１２】
６．３）効果
第６実施例の符号化装置および符号化制御によれば、第１実施例と同様に符号化処理の高速化および必要メモリの低減が可能となる他に、第４実施例と同様に動領域の符号量を低減し、フレームレートを向上させることができる。【０２１３】
さらに、第６実施例では、第４実施例よりも細かい単位での品質制御が可能である。第４実施例では、動領域の品質を下げる場合、２分の１、４分の１といった、２のべき乗単位で解像度を下げることになる。このため、僅かに品質を下げたいといった場合にも、解像度を半分に下げる必要があった。これに対して、第６実施例では、量子化精度を制御することによって、モスキートノイズ等の量子化歪みを細かく制御することができる。【０２１４】
６．４）具体例
本具体例における基本的構成は第４具体例と同様であるが、データ処理装置１００１であるワークステーションが、係数量子化マップ生成および係数量子化の機能を備える点で異なる。本具体例では、第４具体例と同様に動領域の品質を低下させることができるが、第４具体例のように動領域の解像度が低くなるのではなく、量子化精度が低くなって表示される。【０２１５】
７．第７実施例
７．１）符号化装置
図２０は、本発明の第７実施例による符号化装置の概略的構成を示すブロック図である。本実施例における基本的構成は第１実施例と同様であるが、データ処理装置１１０１が動領域検出プロセスおよび係数量子化マップ生成プロセス、係数量子化プロセスを生成できる点、および、係数量子化マップメモリ１１０５および後続フレームデータメモリ１１０６を備えている点で異なる。【０２１６】
すなわち、データ処理装置１１０１は、動領域検出プロセス（動領域検出手段１１０１ａ）、係数量子化マップ生成プロセス（係数量子化マップ生成手段１１０１ｂ）、ウェーブレット変換（ここでは、２次元ハールウェーブレット変換）プロセス（ウェーブレット変換手段１１０１ｃ）、同一座標係数抽出プロセス（同一座標係数抽出手段１１０１ｄ）、係数量子化プロセス（係数量子化手段１１０１ｅ）、初期係数符号化プロセス（初期係数符号化手段１１０１ｆ）、係数符号化プロセス（係数符号化手段１１０１ｇ）、および符号出力プロセス（符号出力手段１１０１ｈ）を生成することができる。【０２１７】
データ処理装置１１０１上の動領域検出プロセスは、第４実施例と同様、現在の入力画像および後続フレームデータメモリ１１０６の内容から、後続のフレームで画素値に変化が生じる領域（動領域）を検出する。【０２１８】
係数量子化マップ生成プロセスは、検出された動領域の情報に基づき、動領域とそれ以外の領域とで量子化精度が異なる係数量子化マップを生成する。具体的には、動領域を粗い量子化精度、それ以外の領域を細かい量子化精度とする。生成された係数量子化マップは、係数量子化マップメモリ１１０５に格納される。【０２１９】
係数量子化プロセスは、係数メモリ１００３からＬＨ係数ｎＡ（ｉ，ｊ）、ＨＬ係数ｎＢ（ｉ，ｊ）およびＨＨ係数ｎＣ（ｉ，ｊ）を読み出す。さらに、係数量子化マップメモリ１１０５から、当該空間座標・解像度レベルに対応する係数量子化パラメータを読み出し、そのパラメータによって示される量子化精度までＬＨ係数ｎＡ（ｉ，ｊ）、ＨＬ係数ｎＢ（ｉ，ｊ）およびＨＨ係数ｎＣ（ｉ，ｊ）を量子化する。【０２２０】
図２１は、本実施例における符号化制御を示すフローチャートである。【０２２１】
まず、ビデオカメラなどの動画像入力装置から動画像データ１０を入力すると、符号化対象のフレームデータが０ＬＬサブバンドとしてサブバンドメモリ１１０２に格納され、後続するフレームデータが後続フレームデータメモリ１１０６に格納される（ステップＳ１００１）。【０２２２】
次に、データ処理装置１０１上のウェーブレット変換プロセスは、サブバンドメモリ１１０２から読み出された０ＬＬサブバンドデータに対してＮ段の２次元ハールウェーブレット変換を実行し、その変換結果をサブバンドメモリ１１０２に格納する（ステップＳ１００２）。【０２２３】
２次元ハールウェーブレット変換が終了すると、初期係数符号化プロセスは、初期係数ＮＬＬを階層Ｎのサブバンドメモリから読み出し、ランレングスハフマン符号あるいはＬＺＷ符号などを用いて可変長符号化し、その符号ＮＬＬｃ（０，０），ＮＬＬｃ（１，０），・・・，ＮＬＬｃ（ｐN，ｑN）を出力符号メモリ１０４のＮＬＬサブバンド符号メモリ１１０４．１に格納する（ステップＳ１００３）。【０２２４】
符号出力プロセスは、出力符号メモリ１１０４に蓄積された符号列を読み出し、符号出力装置１１０７へ出力する（ステップＳ１００４）。【０２２５】
初期係数符号化が全て終了すると、次の符号化対象はＬＨ、ＨＬ、ＨＨサブバンドとなる。まず、解像度レベル（階層）を示す変数ｎをＮに設定して符号化対象を階層ＮのＬＨ、ＨＬ、ＨＨサブバンドとし（ｎ＝Ｎ）、さらに、同一座標係数抽出プロセスはｎＬＨ、ｎＨＬ、ｎＨＨの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する（ｉ＝ｊ＝０）（ステップＳ１００５）。【０２２６】
本実施例では、各解像度でのＬＨ、ＨＬ、ＨＨサブバンドの符号化が実行される前に、動領域検出プロセスおよび係数量子化マップ生成プロセスが起動される。【０２２７】
動領域検出プロセスは、ＬＬサブバンドメモリ１１０２に格納された０ＬＬサブバンドデータと、現在、後続フレームデータメモリ１１０６に格納されている後続フレームデータとに基づいて動領域を検出する（ステップＳ１００６）。動領域の検出方法としては、たとえば両フレーム画像の差分をとる方法がある。【０２２８】
係数量子化マップ生成プロセスは、検出された動領域を粗い量子化精度に、それ以外の領域を細かい量子化精度にそれぞれ設定した係数量子化マップを生成し、係数量子化マップメモリ１１０５に格納する（ステップＳ１００７）。【０２２９】
続いて、同一座標係数抽出プロセスは、サブバンドメモリ１１０２から階層ｎのサブバンドｎＬＨ、ｎＨＬ、ｎＨＨにおける同一空間座標（ｉ，ｊ）の係数の組｛ｎＡ（ｉ，ｊ），ｎＢ（ｉ，ｊ），ｎＣ（ｉ，ｊ）｝を読み出して係数メモリ１１０３に格納する（ステップＳ１００８）。こうして１つあるいは複数の係数組が係数メモリ１１０３に読み出されると、係数量子化プロセスが起動して量子化が行われる。【０２３０】
係数量子化プロセスは、係数メモリ１１０３から係数組ｎＡ（ｉ，ｊ），ｎＢ（ｉ，ｊ），ｎＣ（ｉ，ｊ）を読み出し、さらに、係数量子化マップメモリ１１０５から、当該空間座標・解像度レベルに対応する係数量子化パラメータを読み出して、そのパラメータによって示される量子化精度までＬＨ係数ｎＡ（ｉ，ｊ）、ＨＬ係数ｎＢ（ｉ，ｊ）およびＨＨ係数ｎＣ（ｉ，ｊ）の量子化を行う。量子化された各係数によって、係数メモリ１１０３の内容が更新される（ステップＳ１００９）。【０２３１】
係数符号化プロセスは、係数メモリ１１０３から係数組ｎＡ（ｉ，ｊ），ｎＢ（ｉ，ｊ），ｎＣ（ｉ，ｊ）を読み出して可変長符号化を行い、出力符号メモリ１１０４のサブバンド符号メモリ１１０４．２に格納する（ステップＳ１０１０）。係数メモリ１１０３に読み出された係数組に関する符号化が終了すると、同一座標係数抽出プロセスは、当該階層ｎの全ての座標に関して符号化が終了したか否かを判定する（ステップＳ１０１１）。【０２３２】
当該階層ｎにおける全ての符号化が終了していなければ（ステップＳ１０１１のＮＯ）、抽出座標（ｉ，ｊ）をスキャンライン方向に所定数だけシフトさせ（ステップＳ１０１２）、当該階層ｎにおける全ての符号化が終了するまで上記ステップＳ１００８〜Ｓ１０１２を繰り返す。【０２３３】
階層ｎにおける全ての符号化が終了すると（ステップＳ１０１１のＹＥＳ）、符号出力プロセスは、出力符号メモリ１１０４に蓄積された符号列を読み出し、符号出力装置１１０７へ出力する（ステップＳ１０１３）。【０２３４】
さらに、現在の階層ｎが最大解像度であるｎ＝１であるか否かを判定し（ステップＳ１０１４）、ｎが１に到達していなければ（ステップＳ１０１４のＮＯ）、ｎを１だけデクリメントし（ステップＳ１０１５）、ｎＬＨ、ｎＨＬ、ｎＨＨの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する（ｉ＝ｊ＝０）（ステップＳ１０１６）。こうして階層ｎを１ずつ減少させながら上記ステップＳ１００６〜Ｓ１０１６を繰り返す。【０２３５】
なお、上記説明では、各解像度レベルのＬＨ、ＨＬ、ＨＨサブバンド符号化前に、動領域検出プロセスおよび係数量子化マップ生成プロセスが起動されるものとして説明したが、プロセスの起動回数を抑制するために、一定の解像度レベルおきにこれらのプロセスが起動するようにしてもよく、また、一定の解像度レベル以上でこれらのプロセスが起動するようにしてもよい。【０２３６】
７．２）復号装置
本実施例の符号化方式によって出力された符号は、図４および図５で示す第１実施例の復号方式によって復号可能であるから、詳細な説明は省略する。【０２３７】
７．３）効果
第７実施例の符号化装置および符号化制御によれば、第１実施例と同様に符号化処理の高速化および必要メモリの低減が可能となる他に、第６実施例と同様に動領域の符号量を低減し、フレームレートを向上させることができる。【０２３８】
さらに、第７実施例では、符号化中に、画面内のより広い範囲を動領域として検出することができるため、符号量をさらに低減し、フレームレートをさらに向上させることができる。その理由は以下の２点である。【０２３９】
第１に、本実施例では、各解像度のＬＨ、ＨＬ、ＨＨサブバンドが符号化される前に動領域検出が行われ、新たな係数量子化マップが生成される。したがって、画像入力時にはまだ画面が更新されておらず、動領域が存在しなかったような場合でも、次の解像度レベルの符号化時までに画面が更新されていれば、その解像度以降では係数を粗く量子化することでき、結果として符号量を低減することができる。【０２４０】
第２に、本実施例では、各解像度で符号化されたＬＨ、ＨＬ、ＨＨサブバンドは、そのまま通信路などの符号出力装置１１０７へ出力される。一般に、符号出力装置１１０７は、データ処理装置１１０１の処理速度に比べて低速であるため、符号の出力には多くの待ち時間が発生する。本実施例では、この符号出力の期間内に画面が更新された場合にも、次の解像度レベルを符号化する直前に、動領域として検出することができる。【０２４１】
以上のように、本実施例では、符号化の途中段階でも、後続のフレームから動領域を新たに検出することができ、符号量をさらに低減することができる。【０２４２】
なお、本実施例では、符号量制御方法を量子化による方法としたが、第４実施例のような解像度打切りによる符号量制御を用いても、同様のフレームレート向上効果が達成できる。【０２４３】
７．４）具体例
図２２は、本発明の第７実施例による動領域検出と係数量子化動作を説明するためのコンソール画面を模式的に示した図である。 本具体例における基本構成は第４具体例と同じであるが、データ処理装置１１０１であるワークステーションが、係数量子化マップ生成プロセスおよび係数量子化プロセスを生成できる点で異なる。【０２４４】
図２２には、フレーム画面の更新領域が順次供給され、符号化されて伝送される様子が模式的に示されている。Z501，Z502，Z503は、それぞれフレームf，(f+1)，(f+2)におけるワークステーションのコンソール画面を示している。また、Z5010，Z5020，Z5030はフレームf，(f+1)，(f+2)で符号化される領域を示しており、Z5031は、フレーム(f+2)において新たに供給された後続フレーム領域を示している。【０２４５】
フレームfにおいて、ワークステーションは入力画像Z501を取得し、入力画像Z501の領域Z5010に対しウェーブレット変換を行って、各周波数サブバンドZ510を得る。さらに、最低解像度のＬＬ成分であるZ511を可変長符号化し、通信路へ出力する。【０２４６】
次に、フレーム(f+1)において、次の解像度レベルのＬＨ，ＨＬ，ＨＨサブバンドを符号化するにあたり、ワークステーションの動領域検出プロセスは、後続フレームがないかどうかを調べる。フレーム(f+1)には後続フレームが存在しないため、係数量子化マップには、サブバンド全域に亘って高精度の量子化ステップが採用される。こうして、高精度の量子化ステップで係数量子化が行われ、係数符号化プロセスによりＬＨ，ＨＬ，ＨＨサブバンドZ512が符号化され、通信路へ出力される。【０２４７】
最後に、フレーム(f+2)において、次の解像度レベルのＬＨ，ＨＬ，ＨＨサブバンドを符号化する前に、後続フレームの有無がチェックされる。フレーム(f+2)には後続フレームZ5031が存在するため、サブバンド内において後続フレームが存在する範囲が動領域として検出される。さらに、動領域が粗く量子化されるよう、係数量子化マップが生成される。こうして、動領域が低精度、それ以外の領域が高精度の量子化ステップで係数量子化が行われ、係数符号化プロセスによりＬＨ，ＨＬ，ＨＨサブバンドZ513が符号化され、通信路へ出力される。【０２４８】
こうして出力された符号列は、復号装置において復号され、動領域の係数だけが粗く量子化された画像が得られる。【０２４９】
８．第８実施例
上述した第１〜第７実施例では、符号化装置で符号化された画像データを復号装置で復号する場合を説明したが、符号化装置と復号装置が１つの通信端末に内蔵され、別の通信端末との間で双方向画像通信を行うことも可能である。以下、カメラおよびディスプレイが接続された通信端末（たとえばカメラ付き携帯電話機など）を例にとって説明する。【０２５０】
図２３は本発明の第８実施例による符号化および復号装置を内蔵した双方向通信端末のブロック図である。端末には、プログラム制御プロセッサとしてのＣＰＵ６０１が設けられ、内部バスによりキャッシュメモリ６０２およびメインメモリ６０３に接続されている。内部バスはさらにポートを介して外部バス６０４に接続され、外部バス６０４には必要なプログラムを格納したメモリ６０５、データメモリ６０６、カメラ６０８を接続するインタフェース６０７、ディスプレイ６１０を接続するインタフェース６０９、および通信制御部６１２を接続するインタフェース６１１などがそれぞれ接続されている。通信制御部６１２はネットワーク６１３に接続される。携帯電話機であれば、通信制御部６１２は無線通信部およびチャネル制御部を含み、ネットワーク６１３は移動通信ネットワークである。【０２５１】
プログラムメモリ６０５には、符号化プログラム、復号プログラム、通信端末の全体的動作を制御するメインプログラムなどが格納されている。符号化プログラムは第１〜第７実施例で説明した図３、図７、図１０、図１３、図１６、図１９および図２１のいずれかに示すフローチャートで表現されるものであり、復号プログラムは図５に示すフローチャートで表現されるものである。符号化プログラムおよび復号プログラムの上述した各プロセスはメインプログラムによるプロセスの管理下で実行される。【０２５２】
データメモリ６０６はサブバンドメモリ６０６．１および入出力符号化データメモリ６０６．２を含む。サブバンドメモリ６０６．１は、たとえば図１のサブバンドメモリ１０２や図６のＬＬサブバンドメモリ３０２である。入出力符号化データメモリ６０６．２は、たとえば図１や図６の出力符号メモリ１０４／３０４などの出力符号メモリと図４の０ＬＬサブバンドメモリなどの入力符号メモリとを含む。【０２５３】
また、カメラ６０８は符号化装置における画像入力装置に対応し、ディスプレイ６１０は復号装置における画像出力装置２０４に対応する。カメラで撮像された画像データは上述したようにウェーブレット変換および符号化され、その符号列がネットワークを介して相手方端末へ送信される。逆に、相手側から受信した画像データの符号列は上述したように復号されウェーブレット逆変換されてディスプレイ６１０上に表示される。詳細な動作は既に説明したとおりであり、いずれもキャッシュメモリ６０２を係数メモリとして利用することができる。【０２５４】
９．第９実施例
本発明による符号化装置および復号装置は、上述したようにＣＰＵ上で各制御プログラムを実行することにより実現できるが、ハードウエアにより実現することも可能である。
ここでは上述した第１実施例の各プロセスをハードウエア化した構成を例示するが、他の実施例でも同様に構成される。【０２５５】
図２４は本発明の第９実施例による符号化装置の一例を示すブロック図である。カメラ等の画像入力装置７０１により入力した画像データは画像メモリ７０２に格納され、上述したようにウェーブレット変換部７０３により順次ウェーブレット変換される。こうして得られたサブバンド係数ＬＬ、ＬＨ，ＨＬ，ＨＨがサブバンドメモリ７０４に格納され、その初期係数ＮＬＬが初期係数符号化部７０５により符号化されて出力符号メモリ７０９に格納される。さらに、同一座標係数抽出部７０６は、サブバンドメモリ７０４から他のサブバンド係数ＬＨ，ＨＬ，ＨＨの同一座標の係数組を抽出し、１あるいは２以上の一定数の係数組を高速レジスタ７０７に格納する。レジスタ７０７に格納された係数組が係数符号化部７０８により符号化され、出力符号メモリ７０９に格納される。こうして出力符号メモリ７０９に格納されたＮＬＬ符号および同一座標係数組の符号が符号出力部７１０により順次読み出され出力される。【０２５６】
図２５は本発明の第９実施例による復号装置の一例を示すブロック図である。ここでは上述した第１実施例のハードウエア構成を例示する。上記符号化装置により送出された符号列は符号入力装置８０１により入力され、入力符号メモリ８０２に格納される。まず、初期係数復号部８０３により初期係数ＮＬＬが復号されサブバンドメモリ８０４に格納される。続いて、係数復号部８０５は入力符号から１あるいは２以上の一定数のサブバンド係数組ｎＬＨ，ｎＨＬ，ｎＨＨを順次復号し、レジスタ８０６へ格納する。ウェーブレット逆変換部８０７はレジスタ８０６から係数組を読み出してウェーブレット逆変換を行い、その結果をサブバンドメモリ８０４に格納する。出力画像の解像度レベルに到達すると、それ以降画像出力部８０８は画像データを出力する。【０２５７】
以上説明したように、本発明による符号化／復号制御によって、汎用のＣＰＵを用いて高速符号化／復号処理を達成でき、かつ、中間メモリを低減することができる。【０２５８】
なお、以上説明した本発明の第１〜第９実施例では、特に処理対象を画像データとしたが、本発明は画像データ以外の２次元データにも適用可能であることは言うまでもない。【０２５９】
また、以上説明したような本発明を実現するための処理プログラムは磁気ディスクやCD-ROMなどの記録媒体に記憶させておくこともできる。その処理プログラムとそれを格納した記録媒体とはいずれも本発明の範囲に含まれるものである。
【産業上の利用可能性】
【０２６０】
本発明による符号化／復号装置は、高精細画像を、表示デバイスの解像度や、閲覧者の操作・要求に応じて漸次的に配信するといった用途に適用できる。
【図１】
0004665898.tif 000002
【図２Ａ】
0004665898.tif 000003
【図２Ｂ】
0004665898.tif 000004
【図３】
0004665898.tif 000005
【図４】
0004665898.tif 000006
【図５】
0004665898.tif 000007
【図６】
0004665898.tif 000008
【図７】
0004665898.tif 000009
【図８】
0004665898.tif 000010
【図９】
0004665898.tif 000011
【図１０】
0004665898.tif 000012
【図１１】
0004665898.tif 000013
【図１２】
0004665898.tif 000014
【図１３】
0004665898.tif 000015
【図１４】
0004665898.tif 000016
【図１５】
0004665898.tif 000017
【図１６】
0004665898.tif 000018
【図１７】
0004665898.tif 000019
【図１８】
0004665898.tif 000020
【図１９】
0004665898.tif 000021
【図２０】
0004665898.tif 000022
【図２１】
0004665898.tif 000023
【図２２】
0004665898.tif 000024
【図２３】
0004665898.tif 000025
【図２４】
0004665898.tif 000026
【図２５】
0004665898.tif 000027