(57)【特許請求の範囲】
【請求項１】
入力データから第１の階層データと上記第１の階層データより上位の第２の階層データとの少なくとも２階層からなる階層構造データを生成する階層データの生成装置において、
第１の階層の複数の信号値の演算結果を丸めることによって、より上位の第２の階層の信号値を生成すると共に、上記丸めにより生じる誤差を、上記第１の階層の信号値に分散させて重畳することによって、改めて上記第１の階層の信号値を生成する信号値生成手段と、
上記第１の階層の複数の信号値の内の１個を上記第２の階層の信号値によって置き換えてデータ量を圧縮する置き換え手段とを有し、
上記置き換え手段が発生する信号値を出力することを特徴とする階層データの生成装置。
【請求項２】
請求項１において、
上記出力される信号値を記憶する記憶手段をさらに有することを特徴とする階層データの生成装置。
【請求項３】
請求項１において、
上記演算結果が合計値または平均値であることを特徴とする階層データの生成装置。
【請求項４】
請求項１において、
上記演算結果を丸める処理が四捨五入、切り捨てまたは切り上げであることを特徴とする階層データの生成装置。
【請求項５】
請求項１において、
さらに、上記第２の階層データより上位の１または２以上の階層データを生成する場合に、上記誤差をそれより下位の全階層における画素値に分散して重畳することを特徴とする階層データの生成装置。
【請求項６】
入力データから第１の階層データと上記第１の階層データより上位の第２の階層データとの少なくとも２階層からなる階層構造データを生成し、階層構造データを受け取り、階層構造データから第１および第２の階層データをそれぞれ復元する階層データの生成復元システムにおいて、
第１の階層の複数の信号値の演算結果を丸めることによって、より上位の第２の階層の信号値を生成すると共に、上記丸めにより生じる誤差を、上記第１の階層の信号値に分散させて重畳することによって、改めて上記第１の階層の信号値を生成する信号値生成手段と、
上記第１の階層の複数の信号値の内の１個を上記第２の階層の信号値によって置き換えてデータ量を圧縮する置き換え手段と、
上記置き換え手段が発生する信号値を伝送または記憶する手段と、
受信または再生した上記第２の階層の信号値と、上記第２の階層の信号値で置き換えられたもの以外の上記第１の階層の信号値とによって、上記第２の階層の信号値で置き換えられた上記第１の階層の信号値を復元する手段とを有することを特徴とする階層データの生成復元システム。
【請求項７】
入力データから第１の階層データと上記第１の階層データより上位の第２の階層データとの少なくとも２階層からなる階層構造データを生成する階層データの生成方法において、
第１の階層の複数の信号値の演算結果を丸めることによって、より上位の第２の階層の信号値を生成すると共に、上記丸めにより生じる誤差を、上記第１の階層の信号値に分散させて重畳することによって、改めて上記第１の階層の信号値を生成するステップと、
上記第１の階層の複数の信号値の内の１個を上記第２の階層の信号値によって置き換えてデータ量を圧縮するステップとからなり、
圧縮するステップで発生した信号値を出力することを特徴とする階層データの生成方法。
【請求項８】
入力データから第１の階層データと上記第１の階層データより上位の第２の階層データとの少なくとも２階層からなる階層構造データを生成し、階層構造データを受け取り、階層構造データから第１および第２の階層データをそれぞれ復元する階層データの生成復元方法において、
第１の階層の複数の信号値の演算結果を丸めることによって、より上位の第２の階層の信号値を生成すると共に、上記丸めにより生じる誤差を、上記第１の階層の信号値に分散させて重畳することによって、改めて上記第１の階層の信号値を生成するステップと、
上記第１の階層の複数の信号値の内の１個を上記第２の階層の信号値によって置き換えてデータ量を圧縮するステップと、
圧縮するステップで発生した信号値を伝送または記憶するステップと、
受信または再生した上記第２の階層の信号値と、上記第２の階層の信号値で置き換えられたもの以外の上記第１の階層の信号値とによって、上記第２の階層の信号値で置き換えられた上記第１の階層の信号値を復元するステップとを有することを特徴とする階層データの生成復元方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、階層データの生成装置および方法、階層データの生成復元システムおよび方法に関する。
【０００２】
【従来の技術】
解像度の異なる複数の階層の画像信号を生成するための階層符号化が知られている。すなわち、高解像度画像信号を第１の階層としてこれより解像度が低い第２階層の画像信号、第２階層の画像信号より解像度が低い第３階層の画像信号、・・・・第（ｎ−１）階層の画像信号より解像度が低い第ｎ階層の画像信号を形成する符号化（階層符号化と称される）が提案されている。この符号化によれば、複数の画像信号を一つの伝送路（通信路、記録媒体）を介して伝送し、受信側では、複数の階層とそれぞれ対応する画像モニタによって、画像データを再生することができる。
【０００３】
より具体的には、標準解像度ビデオ信号、高解像度ビデオ信号、コンピュータディスプレイの画像データ、画像データベースを高速検索するための低解像度ビデオ信号等が異なる解像度のビデオ信号である。また、解像度の高低以外に、画像の拡大、縮小（所謂電子ズーム）に対しても階層符号化を適用することができる。画像の拡大、縮小は、例えばビデオゲームのアプリケーションにおいてしばしば使用される機能である。
【０００４】
従来の階層符号化では、第１階層（入力）画像信号と画素数が第１階層の画像信号に対して１／４の第２階層の画像信号を形成する場合、第１階層の画像信号を１／４に間引き、第２階層の画像信号を形成すると共に、第２階層の画像信号から補間された第１階層の補間信号と入力画像信号との差分値を計算し、この差分値を伝送している。このように、従来の階層符号化では、差分値の画素数は、入力画像信号の画素数と等しく、さらに、第２階層の信号を伝送するので、伝送データ量が元のデータ量より増大するのが普通であった。５階層の例では、画素数に関して、２５６＋６４＋１６＋４＋１＝３４１となり、各画素当たりのビット数を同一とすると、３４１／２５６≒１．３３倍にデータ量が増加する。
【０００５】
一方、本願出願人は、データ量の増大を抑制することができる階層符号化を既に提案している。この階層符号化について、３階層を例にして図１を参照して説明する。すなわち、階層構造データは、入力画像データで構成される第１階層データＤＬ１と、これより解像度が低い第２階層データＤＬ２と、第２階層より解像度が低い第３階層データＤＬ３から構成されるものである。
【０００６】
図１において最も下に、入力画像データによって構成される第１階層データＤＬ１の部分的画像（４×４画素）が示されている。この部分的画像を画素ブロックと称する。図１において、一つの正方形が一つの画素を表している。この第１階層の（２×２画素）の４個の画素毎に合計値または平均値が計算される。例えばＸ11，Ｘ21，Ｘ31，Ｘ41の合計値Ｙ１（＝Ｘ11＋Ｘ21＋Ｘ31＋Ｘ41）または平均値Ｙ１（＝１／４・（Ｘ11＋Ｘ21＋Ｘ31＋Ｘ41））が計算される。従って、（４×４画素）と対応する部分が（２×２画素）になる。このように計算された合計値または平均値によって第２階層データＤＬ２が構成される。第２階層では、（２×２画素）が画素ブロックである。
【０００７】
次に第２階層の空間的に隣接する（２×２）の４個の画素の合計値または平均値を計算する。例えば、合計値Ｚ（＝Ｙ１＋Ｙ２＋Ｙ３＋Ｙ４）または平均値Ｚ（＝１／４・（Ｙ１＋Ｙ２＋Ｙ３＋Ｙ４））が計算される。このように計算された合計値または平均値によって、第３階層データＤＬ３が構成される。第３階層データＤＬ３は、入力画像の画素ブロックに対応する１画素の集合である。図１から分かるように、階層が変化するに従って、画素数が１／４、１／１６、・・・と減少する。言い換えると、画像の面積が一定とすると、解像度が同様の割合で低下する。画素間の距離が一定であれば、画像の大きさが同様の割合で縮小する。このように、符号化処理は、第１階層から順により上位の階層に向かってなされる。
【０００８】
上述の平均値により上位の階層の画像を形成する階層符号化は、複数の階層の画像データを伝送する場合に、伝送画素数が増大しない利点がある。図１の例では、括弧を付した画素を伝送する代わりに上位階層のデータを伝送すれば良い。例えば第１階層の画素データＸ41の代わりに第２階層のデータＹ４を伝送すれば良い。また、第２階層の画素データＹ４の代わりに第３階層のデータＺを伝送すれば良い。すなわち、第１階層の画素ブロック毎の１画素（図１では、合計４画素）の伝送を省略し、その省略された画素の代わりにＹ１，Ｙ２，Ｙ３，Ｚを伝送する。
【０００９】
復号処理について説明すると、最上位階層である第３階層データＤＬ３は、受信データから直接得ることができる。第２階層のデータ中で伝送が省略された画素データ例えばＹ４は、合計値を用いる場合では、Ｙ４＝Ｚ−（Ｙ１＋Ｙ２＋Ｙ３）で求めることができる。また、平均値を用いる場合では、Ｙ４＝４Ｚ−（Ｙ１＋Ｙ２＋Ｙ３）として求められる。さらに、第１階層のデータ中で伝送が省略された画素データ例えばＸ41は、Ｘ41＝Ｙ１−（Ｘ11＋Ｘ21＋Ｘ31）（合計値の場合）またはＸ41＝４Ｙ１−（Ｘ11＋Ｘ21＋Ｘ31）（平均値の場合）として求められる。このように、復号時には、第３階層から順により下位の階層に向かってなされる。なお、伝送を省略する画素の位置は、右下コーナーの位置に限定されるものではない。
【００１０】
上述した階層符号化において、画素値が８ビットのデータである場合、平均演算または加算によって生成される値が１０ビットとなる。データ量が増加することを防止する目的で、合計値の下位側の２ビットまたは小数点以下に相当する桁を四捨五入あるいは切り捨てによって、上位８ビットに丸める処理を行っている。より下位の階層の伝送を省略した画素を復元する時に、符号化時の丸めによる誤差は、復元された画素値の下位２ビットに重畳される。図１の例では、第２階層の画素データＹ４を復元する時に、Ｙ４の下位２ビットに誤差が重畳される。さらに、第１階層の画素データＸ４を復元する時には、復元されたＹ４の下位２ビットに重畳された誤差が上位側へ２ビットシフトされる。このように、復号時には、下位階層になるほど、誤差が重畳される２ビットが上位側にシフトする。５階層の場合では、最下位の第１階層において、復元された画素データのＭＳＢ(Most Significant Bit)および２番目の上位ビットに誤差が重畳される。
【００１１】
下位の階層になるほど、誤差の影響がこのように上位側にシフトすることは、下位の階層になるほど、復号誤差が増大する問題を生じる。この問題を解決する一つの方法は、１画素当たりのビット長を上位階層ほど長くする方法である。図１の例では、第１階層データＤＬ１は、８ビット／１画素とされ、第２階層データＤＬ２は、１０ビット／１画素とされ、第３階層データＤＬ３は、１２ビット／１画素とされる。上位画素に関する値は、下位階層４画素の合計値（１０ビット）である（または上位から８ビット目と９ビット目との間に小数点が位置する平均値であるとみなせる）。但し、復号画像を表示する時には、上位８ビットに丸めた値を用いる。この方法は、全データ量（全ビット量）が元の画像データの１．０８倍に増大する。この増加の程度は、各階層のデータを全て伝送する時の増加率１．３３より少なくできる。
【００１２】
【発明が解決しようとする課題】
上述したように、上位階層ほどビット長を拡張する方法は、発生データの増加率が抑えられているが、多少の増加が発生する。若し、下位階層の４個の画素値の合計値の下位側の２ビットまたはその平均値の小数点以下に相当する桁がゼロであれば、丸めの処理に伴う誤差が発生せず、また、その誤差が復元時に上位ビット側にシフトする問題も生じない。しかしながら、実際には、そのように、下位側の２ビットまたは小数点以下に相当する桁がゼロとならない方が多い。
【００１３】
従って、この発明の目的は、上述した階層符号化において、上位階層データの生成時に発生する誤差を、その下位階層データの中に分散して重畳することによって、データ量の増加を防止でき、また、画像劣化の少ない階層データの生成装置および方法、階層データの生成復元システムおよび方法を提供することにある。
【００１４】
【課題を解決するための手段】
請求項１の発明は、上述した課題を解決するために、入力データから第１の階層データと第１の階層データより上位の第２の階層データとの少なくとも２階層からなる階層構造データを生成する階層データの生成装置において、
第１の階層の複数の信号値の演算結果を丸めることによって、より上位の第２の階層の信号値を生成すると共に、丸めにより生じる誤差を、第１の階層の信号値に分散させて重畳することによって、改めて第１の階層の信号値を生成する信号値生成手段と、
第１の階層の複数の信号値の内の１個を第２の階層の信号値によって置き換えてデータ量を圧縮する置き換え手段とを有し、
置き換え手段が発生する信号値を出力することを特徴とする階層データの生成装置である。
【００１５】
請求項６の発明は、入力データから第１の階層データと第１の階層データより上位の第２の階層データとの少なくとも２階層からなる階層構造データを生成し、階層構造データを受け取り、階層構造データから第１および第２の階層データをそれぞれ復元する階層データの生成復元システムにおいて、
第１の階層の複数の信号値の演算結果を丸めることによって、より上位の第２の階層の信号値を生成すると共に、丸めにより生じる誤差を、第１の階層の信号値に分散させて重畳することによって、改めて第１の階層の信号値を生成する信号値生成手段と、
第１の階層の複数の信号値の内の１個を第２の階層の信号値によって置き換えてデータ量を圧縮する置き換え手段と、
置き換え手段が発生する信号値を伝送または記憶する手段と、
受信または再生した第２の階層の信号値と、第２の階層の信号値で置き換えられたもの以外の第１の階層の信号値とによって、第２の階層の信号値で置き換えられた第１の階層の信号値を復元する手段とを有することを特徴とする階層データの生成復元システムである。
【００１６】
請求項７の発明は、入力データから第１の階層データと第１の階層データより上位の第２の階層データとの少なくとも２階層からなる階層構造データを生成する階層データの生成方法において、
第１の階層の複数の信号値の演算結果を丸めることによって、より上位の第２の階層の信号値を生成すると共に、丸めにより生じる誤差を、第１の階層の信号値に分散させて重畳することによって、改めて第１の階層の信号値を生成するステップと、
第１の階層の複数の信号値の内の１個を第２の階層の信号値によって置き換えてデータ量を圧縮するステップとからなり、
圧縮するステップで発生した信号値を出力することを特徴とする階層データの生成方法である。
【００１７】
請求項８の発明は、入力データから第１の階層データと第１の階層データより上位の第２の階層データとの少なくとも２階層からなる階層構造データを生成し、階層構造データを受け取り、階層構造データから第１および第２の階層データをそれぞれ復元する階層データの生成復元方法において、
第１の階層の複数の信号値の演算結果を丸めることによって、より上位の第２の階層の信号値を生成すると共に、丸めにより生じる誤差を、第１の階層の信号値に分散させて重畳することによって、改めて第１の階層の信号値を生成するステップと、
第１の階層の複数の信号値の内の１個を第２の階層の信号値によって置き換えてデータ量を圧縮するステップと、
圧縮するステップで発生した信号値を伝送または記憶するステップと、
受信または再生した第２の階層の信号値と、第２の階層の信号値で置き換えられたもの以外の第１の階層の信号値とによって、第２の階層の信号値で置き換えられた第１の階層の信号値を復元するステップとを有することを特徴とする階層データの生成復元方法である。
【００１８】
この発明は、上位階層のデータのビット長を拡張せず、また、付加コードを必要としないものである。この発明によれば、各階層の画素のビット長を最下位階層のビット長と等しい固定長とすることができる。従って、データ量の増加を抑えることができる。丸め誤差が生じるが、丸め誤差を分散して重畳するので、視覚上、復元画像の画質の劣化を目立たなくできる。
【００１９】
【発明の実施の形態】
以下、この発明の一実施形態について説明する。一実施形態は、階層符号化の方法である。一例として最下位階層データ（入力画像データ）ＤＬ１は、１画素が８ビットの画像データである。カラー画像の場合では、例えば輝度データ、２個の色差データの各コンポーネント毎に処理される。但し、コンポジット信号（輝度信号＋搬送色信号）であっても良い。また、この一実施形態は、下位階層の隣接４画素の画素値の平均値によりその上位階層における画素を生成し、下位階層の隣接４画素の内の１画素は、生成した上位階層の画素によって置き換え、全階層データが併存する場合に比してデータ量を圧縮する階層符号化に対してこの発明を適用したものである。
【００２０】
この発明による誤差分散の基本的な考え方について説明する。上位階層データの作成においてビット長固定の場合に発生する誤差をその下位階層データの中に分散して重畳する。さらに、誤差を最下位階層まで順に分散、重畳させてゆくことにより、最下位階層以外の階層のデータ（その下位階層の隣接４画素の平均値）が必ず４の倍数であるように、最下位階層のデータを補正する。この処理の結果、階層符号化における付加ビットが不要となる。
【００２１】
図２および図３は、一実施形態の符号化処理の流れを示すものである。例えば図２および図３のフローチャートは、ソフトウェア処理により階層構造データを生成するための処理を示す。図２および図３は、本来は、一連の流れを、作図スペースの都合上、別図面へ分割したものである。
【００２２】
この一実施形態では、隣接４画素の合計値を生成し、合計値を切り捨てによって丸めることにより、上位階層の画素値を生成するようにしている。例えば第２階層の画素値Ｙ１は、Ｙ１＝（Ｘ11＋Ｘ21＋Ｘ31＋Ｘ41）（切り捨てで８ビットに変換）によって生成される。切り捨ては、単に下位２ビットを捨てることである。合計値に限らず、平均値によって上位階層の画素値を形成しても良い。また、切り捨てに限らず、四捨五入を丸め処理として使用しても良い。四捨五入は、上位から９ビット目が１である時に、８ビット目に１を加え、９ビット目が０である時に８ビット目に１を加えず、さらに、何れの場合にも下位２ビットの００を捨てる処理である。
【００２３】
但し、以降の説明において、丸めた合計値と言った場合には、００とした下位２ビットを捨ててしまわない１０ビットの値であるとする。言い換えると、丸めた値の下位に２ビットの００を付加した値である。
【００２４】
ステップＳＴ１では、最下位階層のデータが入力される。次のステップＳＴ２において、隣接する４画素値の合計値が計算される。ステップＳＴ３では、合計値の下位２ビットが丸められる。ステップＳＴ４において、丸め誤差Ｄが計算される。丸め誤差Ｄは、丸めた合計値から合計値を減算した値である。切り捨ての場合では、Ｄ＝０，−１，−２，または−３である。
【００２５】
丸め誤差（差分値）Ｄが０かどうかが決定される。（ステップＳＴ５）。誤差が０であれば、誤差分散処理が不要であり、処理がステップＳＴ６に移る。ステップＳＴ６では、最下位階層の画素ブロック内の処理が終了したかどうかが決定される。処理が終了してないと決定されると、隣接４画素の組が更新される（ステップＳＴ７）。そして、ステップＳＴ２に戻って上述した処理が繰り返される。
【００２６】
ステップＳＴ６において、該当画素ブロック内の処理が終了したと決定されると、ステップＳＴ８において、上位階層が最上位階層であるか否かが決定される。最上位階層でないと決定されると、処理の対象の階層が上昇される（ステップＳＴ９）。そして、ステップＳＴ２に戻って上述した処理が繰り返される。
【００２７】
ステップＳＴ８において、最上位階層であると決定されると、ステップＳＴ１０において、全画素ブロックの処理が終了したか否かが決定される。全画素ブロックの処理が未了と決定されると、画素ブロックが更新される（ステップＳＴ１１）。そして、ステップＳＴ２に戻って上述した処理が繰り返される。ステップＳＴ１０において、全画素ブロックの処理が終了したと決定されると、階層構造データの生成処理が終了する。
【００２８】
ステップＳＴ５において、誤差Ｄが０でない場合には、誤差分散処理がなされる。先ず、ステップＳＴ１２において、丸めた合計値を２ビット右へシフトした値、すなわち、切り捨てによって上位階層画素値を生成し、上位階層画素値によって下位階層の１画素を置き換える。ステップＳＴ１３において、下位階層４画素の内の１画素を選択する。選択した画素（被選択画素）が上位階層画素によって置き換えられる画素（被置換画素）か否かが決定される（ステップＳＴ１４）。
【００２９】
被置換画素でない場合には、ステップＳＴ１５において、被選択画素の画素値が補正される。この補正は、誤差Ｄをその絶対値｜Ｄ｜で割った値を被選択画素の画素値に加算する処理である。従って、切り捨ての場合では、補正値が−１とされる。ステップＳＴ１４において、被選択画素が被置換画素であると決定されると、被選択画素の補正が行われない。
【００３０】
次のステップＳＴ１６で、下位階層が最下位階層かどうかが決定される。ステップＳＴ１６において、最下位階層であると決定されると、ステップＳＴ１７において、｜Ｄ｜画素分の補正が終了したかどうかが決定される。ステップＳＴ１７において、補正が終了したと決定されると、ステップＳＴ６で該当画素ブロック内の補正が終了したかどうかが決定される。このステップＳＴ６からＳＴ１１までの処理は、上述した通りである。
【００３１】
ステップＳＴ１６において、誤差を分散させた下位階層が最下位階層でないと決定されると、図３に示すフローチャートの処理がなされる。先ず、ステップＳＴ２１において階層が下降される。ステップＳＴ２２において、下位階層の４画素の内の１画素が選択される。被選択画素が被置換画素（すなわち、上位階層の画素値で置き換えられる画素）かどうかが決定される（ステップＳＴ２３）。
【００３２】
被置換画素でない場合には、ステップＳＴ２４において、被選択画素の画素値が補正される。この補正は、誤差Ｄをその絶対値｜Ｄ｜で割った値を被選択画素の画素値に加算する処理である。被置換画素である場合には、補正がなされない。そして、下位階層が最下位階層かどうかが決定される（ステップＳＴ２５）。下位階層が最下位階層でない場合には、ステップＳＴ２１（階層の下降）に処理が戻る。
【００３３】
ステップＳＴ２５において、下位階層が最下位階層であると決定される場合には、ステップＳＴ２６において、４画素分の補正が終了したかどうかが決定される。４画素分の補正が終了していないと決定されると、処理がステップＳＴ２２（画素選択）に戻り、上述したのと同様の処理が繰り返される。
【００３４】
ステップＳＴ２６において、４画素分の補正が終了したと決定されると、ステップＳＴ２７において、上位階層データの有無が調べられる。上位階層データがあると決定されると、ステップＳＴ２３で階層が上昇され、ステップＳＴ２６（補正終了？）に処理が戻る。ステップＳＴ２７において、上位階層データが無いと決定されると、図２中のステップＳＴ１７（補正終了？）に処理が戻る。ステップＳＴ１７以降の処理は、上述した通りである。
【００３５】
なお、画素ブロックは、最上位階層の１画素に対応する下位階層の領域である。３階層の場合では、第１階層の４×４画素の領域、第２階層の２×２画素の領域がそれぞれ画素ブロックである。但し、画素ブロックの定義を全画面としても良い。その場合では、ステップＳＴ１０（全ブロックの終了？）およびステップＳＴ１１（画素ブロックの更新）が不要である。
【００３６】
図４は、この発明の一実施形態による階層データ作成装置の一例を示す。図１に示すような３階層のデータを作成する場合に対してこの装置が適用される。入力画像データ（第１階層の元データ）の隣接４画素Ｘ1i, Ｘ2i, Ｘ3i, Ｘ4i（ｉ＝１，２，３，４）が加算器１に供給される。隣接４画素が同時化され、隣接４画素毎が加算器１に入力される。加算器１からの合計値Ｔｉが補正値発生部２内の丸めユニット３に供給される。
【００３７】
丸めユニット３は、例えば切り捨てにより８ビットとされた第２階層の暫定画素値Ｙｉ’を発生する。暫定とは、補正処理が未だされていないことを意味する。暫定画素値Ｙｉ’は、デマルチプレクサ３１に出力される。また、暫定画素値Ｙｉ’と合計値Ｔｉが減算器４に供給され、（（Ｙｉ’の下位に２ビット００を付加した値）−Ｔｉ＝Ｄ）によって、丸め誤差Ｄが算出される。減算器４に対してＹｉ’は、２ビット上位にシフトして入力し、また、下位２ビットには、常に００が入力されるようにする。丸め誤差Ｄが補正値生成ユニット５および制御ユニット６に供給される。
【００３８】
補正値生成ユニット５は、Ｄ／｜Ｄ｜によって−１（あるいは四捨五入による丸めの場合には、−１ないし＋１）の補正値を生成する。補正値がセレクタ７，８および９に対してその一方の入力として供給される。セレクタ７，８および９の他方の入力としてゼロデータが供給される。制御ユニット６は、セレクタ７，８および９に対して制御信号を発生する。誤差Ｄが０の時には、ゼロデータが選択されるように、制御ユニット６がセレクタ７，８および９を制御する。また、補正値が生成される時には、隣接４画素に対して所定の優先順位でもって補正値が選択されるように、制御ユニット６がセレクタ７，８および９を制御する。
【００３９】
補正値発生部２のセレクタ７，８および９から出力されるゼロデータまたは補正値が加算器１０，１１，１２にそれぞれ供給される。加算器１０，１１，１２には、被置換画素Ｘ4i以外の３個の画素Ｘ1i，Ｘ2i，Ｘ3iが供給される。加算器１０，１１，１２において、画素Ｘ1i，Ｘ2i，Ｘ3iのそれぞれに対してゼロデータまたは補正値が加算される。加算器１０，１１，１２の出力データがデマルチプレクサ１３，１４，１５に供給される。
【００４０】
デマルチプレクサ１３は、補正値が加算された画素値をレジスタ群１６の４個のレジスタに対して順に出力し、デマルチプレクサ１４は、補正値が加算された画素値をレジスタ群１７の４個のレジスタに対して順に出力し、デマルチプレクサ１５は、補正値が加算された画素値をレジスタ群１８の４個のレジスタに対して順に出力する。レジスタ群１６，１７，１８は、順に供給される４個の画素値を同時化する。
【００４１】
レジスタ群１６は、４個の画素値を加算器群１９の４個の加算器に供給する。レジスタ群１７および１８は、４個の画素値を加算器群２０および２１の４個の加算器に対してそれぞれに供給する。加算器群１９，２０，２１には、第３階層の画素値を４の倍数とするための補正値がそれぞれ供給される。加算器群１９，２０，２１から最終的な第１階層の画素値が得られる。
【００４２】
すなわち、加算器群１９からは、図１に示す階層構造において、隣接する４画素の組のそれぞれの左上の画素の画素値Ｘ11, Ｘ12, Ｘ13, Ｘ14が出力され、加算器群２０からは、隣接する４画素の組のそれぞれの右上の画素の画素値Ｘ21, Ｘ22, Ｘ23, Ｘ24が出力され、加算器群２１からは、隣接する４画素の組のそれぞれの左下の画素の画素値Ｘ31, Ｘ32, Ｘ33, Ｘ34が出力される。
【００４３】
３１で示すデマルチプレクサに対して、上述した丸めユニット３からの暫定画素値Ｙｉ’が供給される。デマルチプレクサ３１は、暫定画素値Ｙｉ’をレジスタ群３２の４個のレジスタに対して順に出力する。レジスタ群３２によって、同時化された４個の暫定画素値Ｙ１’，Ｙ２’，Ｙ３’，Ｙ４’が加算器３３に供給される。加算器３３からの合計値Ｔ５が補正値発生部３４に供給される。
【００４４】
補正値発生部３４は、補正値発生部２と同様の構成を有する。但し、制御ユニット３５およびセレクタ３６が補正値発生部３４のブロック内部のものとは別のブロックとして付加して示されている。補正値発生部３４では、合計値Ｔ５を丸めることにより画素値Ｚが形成され、（Ｄ＝（Ｚの下位に２ビット００を付加した値−Ｔ５）の演算によって丸め誤差Ｄが生成され、Ｄ／｜Ｄ｜の演算によって補正値が形成される。
【００４５】
形成された補正値が加算器群３７の４個の加算器にそれぞれ供給される。加算器群３７の加算器の他の入力として、レジスタ群３２により同時化された暫定画素値Ｙ１’，Ｙ２’，Ｙ３’が供給され、これらの暫定画素値に対して補正値が加算される。暫定画素値Ｙ４’は、第３階層の画素値Ｚにより置換される被置換画素のために、加算器群３７には供給されない。加算器群３７から最終的な第２階層の画素値Ｙ１〜Ｙ３が取り出される。
【００４６】
補正値発生部２で生成された補正値が加算器群１９，２０，２１に対して供給される。画素値Ｙ１に対する補正値が画素値Ｘ11, Ｘ21, Ｘ31を出力する加算器に対して供給される。画素値Ｙ２に対する補正値が画素値Ｘ12, Ｘ22, Ｘ32を出力する加算器に対して供給される。画素値Ｙ３に対する補正値が画素値Ｘ13, Ｘ23, Ｘ33を出力する加算器に対して供給される。
【００４７】
セレクタ３６には、補正値とゼロデータが供給され、制御ユニット３５によってセレクタ３６が一方を選択する。制御ユニット３５には、丸め誤差Ｄが供給され、Ｄ＝０の時には、セレクタ３６がゼロデータを選択し、Ｄ≠０の時には、セレクタ３６が補正値を選択するように、制御ユニット３５がセレクタ３６を制御する。セレクタ３６の出力が加算器群１９，２０，２１の画素値Ｘ14, Ｘ24, Ｘ34を出力する加算器に対して供給される。
【００４８】
以上の構成により、加算器群１９，２０，２１からは、第１階層の画素値Ｘ1i, Ｘ2i, Ｘ3iが取り出され、加算器群３７からは、第２階層の画素値Ｙ１〜Ｙ３が取り出され、補正値発生部３４からは、第３階層の画素値Ｚ（合計値Ｔ５を丸めた値）が取り出される。
【００４９】
この発明の一実施形態の理解のために、処理の具体例について図５を参照して説明する。図５では、階層数が３の場合を想定している。従って、第１階層が最下位階層、第３階層が最上位階層である。加算器１では、隣接４画素（Ｘ11, Ｘ21, Ｘ31, Ｘ41）の合計値Ｔ１が計算される。合計値Ｔ１の下位２ビットが丸めユニット３によって丸められ、暫定画素値Ｙ１’が生成される。減算器４では、丸め誤差Ｄが計算される。
【００５０】
図５の例では、合計値Ｔ１が４の倍数であって、下位２ビットが００である。従って、セレクタ７、８、９がゼロデータを選択し、加算器１０、１１、１２において画素値補正がされない。また、該当画素ブロック内の処理が終了していないので、入力される隣接４画素の組が（Ｘ12, Ｘ22, Ｘ32, Ｘ42）へ更新される。そして、加算器１によってこれらの４画素の画素値の合計値Ｔ２が計算され、合計値Ｔ２を丸めることで暫定画素値Ｙ２’が形成される。
【００５１】
図５の例では、合計値Ｔ２の下位２ビットが０１である。従って、丸め誤差Ｄ＝（Ｙ２’の下位に２ビット００を付加した値）−Ｔ２＝−１である。補正値生成ユニット５によって−１の補正値が生成され、この補正値が制御ユニット６の制御によって、所定の画素値に対して加算される。この場合、被置換画素Ｘ42以外に補正値が加算される。ここでは、図５における破線矢印で示すように、被選択画素Ｘ12の画素値に−１が加算される。なお、図５中で、破線矢印は、加算器１０、１１、１２における加算処理を表し、実線矢印は、加算器群１９、２０、２１における加算処理を表す。
【００５２】
次に、隣接４画素の組がＸ13, Ｘ23, Ｘ33, Ｘ34に更新され、これらの画素値の合計値Ｔ３が計算される。合計値Ｔ３の下位２ビットが１０（誤差Ｄ＝−２）となるので、図５において、破線矢印で示すように、第１階層の２個の画素Ｘ13およびＸ33が選択され、加算器１０および１２によって、２個の被選択画素の画素値がそれぞれ−１されたものに補正される。
【００５３】
同様に、隣接４画素の組（Ｘ14, Ｘ24, Ｘ34, Ｘ44) について合計値Ｔ４が計算される。合計値Ｔ４の下位２ビットが１１（丸め誤差Ｄ＝−３）となるので、破線矢印で示すように、被置換画素Ｘ44以外の３個の画素Ｘ14、Ｘ24、Ｘ34が選択され、各画素値が−１されたものに補正される。この場合、３個の被選択画素の画素値を−１としないで、１個の被選択画素の画素値を＋１としても良い。そのようにしても、４画素の合計値の下位２ビットを００とできる。１画素に＋１を加算する方法は、補正される画素数を減少できる。
【００５４】
また、デマルチプレクサ３１、レジスタ群３２を介して加算器３３に対して暫定画素値Ｙ１〜Ｙ４が供給され、これらの合計値Ｔ５が演算される。図５の例では、合計値Ｔ５の下位２ビットが１０となる。この下位２ビットを切り捨てることによって、第３階層の画素値Ｚが形成され、画素値Ｚが出力される。
【００５５】
補正値発生部３４では、Ｄ＝（Ｚの下位に２ビット００を付加した値）−Ｔ５により丸め誤差Ｄ（＝−２）を発生し、丸め誤差Ｄから補正値−１を生成する。この補正値を第２階層の２個の暫定画素値に対して加算する補正を行う。図５の例では、加算器群３７において、暫定画素値Ｙ１’およびＹ３’に対して、それぞれ−１を加算する。暫定画素値Ｙ２’に対する加算値が０とされる。この処理を受けた、第２階層の画素値においては、下位に２ビット００を付加したものが、それに対する第１階層の４画素の合計値とは異なってくる。そのためさらに、第１階層の画素値に対する補正を行う必要が生じる。
【００５６】
第３階層の合計値の下位２ビットを００とするために、補正された第２階層の合計値の下位２ビットは、第１階層の画素値の最下位から３番目および４番目のビット（最上位から数えて第５番目および第６番目のビット）に相当する。従って、補正された第２階層の合計値の下位２ビットを００とする場合、補正値が第１階層の４個の画素値に対してそれぞれ−１を加える処理がなされる。図５の例では、画素値Ｙ１に対する補正をさらに補正するため、第１階層の画素値Ｘ11、Ｘ21、Ｘ31、Ｘ41に対して−１を加える。画素値Ｙ２に対する補正をさらに補正するための第１階層の画素値Ｘ11、Ｘ21、Ｘ31、Ｘ41に対しても−１を加える。
【００５７】
このようにして、第１階層の画素値は、最初の段階の補正処理と、２番目の段階の補正処理との両方を受けて、図５に示すような画素値に変更される。
【００５８】
次に、上述したように階層符号化されたデータを復号する処理、すなわち、上位階層の画素値で置き換えられた下位階層の画素値の復元処理は、最上位階層（第３階層）から下位階層に向かって順に復号処理がなされる。第３階層の画素値は、受信または再生した画素値そのものが使用される。第２階層中の被置換画素の画素値は、第３階層の画素値から３画素の画素値の合計値を減算することで得ることができる。例えばＹ４＝（Ｚの下位に２ビット００を付加した値）または４Ｚ−（Ｙ１＋Ｙ２＋Ｙ３）で復元できる。第１階層の被置換画素の画素値も、同様にして求めることができる。すなわち、復元処理は、誤差を分散した処理を使用しないで形成された階層構造データの場合と同様に行うことができる。
【００５９】
また、この発明は、１枚の画像の領域を分けて階層構造データの形成方法を異ならせるようにしても良い。すなわち、上述した誤差分散処理の場合では、最下位階層に誤差が分散され、重畳されるので、画質劣化が目立ちにくい画像の周辺部分では、誤差分散の処理を採用し、画像の中央部では、丸め誤差をゼロまたは非常に少なくできる処理方法を採用する。
【００６０】
例えば画像中央部では、第１の階層の複数の画素値の演算結果によって、ビット長が拡張されたより上位の第２の階層の画素値を生成し、この第１の階層の複数の画素値の内の１個を第２の階層の画素値によって置き換えてデータ量を圧縮し、置き換えられた画素値を出力するデータ生成方法を採用できる。または、第１の階層の複数の画素値の演算結果を丸めることによって、より上位の第２の階層の画素値を生成すると共に、丸めにより生じる誤差を示すコードを生成し、第１の階層の複数の画素値の内の１個を第２の階層の画素値によって置き換えてデータ量を圧縮し、このコードと、置き換えられた画素値とを出力するデータ生成方法を採用できる。
【００６１】
以上の説明では、隣接する４画素の画素値の合計値または平均値によって，上位階層の画素値を生成している。しかしながら、４個以外の個数の画素値を使用しても良く、また、隣接していない複数の画素値を使用しても良く、さらに、加重平均その他のより複雑な演算によって上位階層画素値を生成しても良い。また、上述した説明では、丸め処理としては、切り捨て、四捨五入の他に切り上げ等を使用しても良い。さらに、１０ビット（合計値）の下位２ビットを００以外にも、０１、１０、１１にそろえる丸め方法にも適用可能である。但し、この場合には、前もって下位２ビットの値を決めておく必要がある。さらに、この発明は、画像データに限らず、ディジタル音声データのような他のディジタル情報信号に対しても適用することができる。
【００６２】
【発明の効果】
この発明によれば、各階層の画素値を固定のビット長とすることができ、ビット長を拡張したり、付加コード使用する必要がない。また、固定のビット長とするために、単に誤差を切り捨てる場合のように、誤差が上位階層となるほど、上位側にシフトすることが防止でき、画質の劣化を防止することができる。さらに、この発明では、各階層データの画素値のビット長が一定長であるので、データを扱い易く、階層間で処理時間が異なる不都合を回避することができる。
【図面の簡単な説明】
【図１】この発明が適用可能な階層構造データを説明するための略線図である。
【図２】この発明による階層構造データの生成処理を説明するためのフローチャートである。
【図３】この発明による階層構造データの生成処理を説明するためのフローチャートである。
【図４】この発明による階層構造データの生成を行うための構成の一例を示すブロック図である。
【図５】この発明による階層構造データの生成処理を説明するための略線図である。
【符号の説明】
ＤＬ１・・・第１階層データ、ＤＬ２・・・第２階層データ、ＤＬ３・・・第３階層データ、Ｔ１〜Ｔ５・・・合計値、２，３４・・・補正値発生部
【図１】
0003807117.tif 000002
【図２】
0003807117.tif 000003
【図３】
0003807117.tif 000004
【図４】
0003807117.tif 000005
【図５】
0003807117.tif 000006