(57)【特許請求の範囲】
【請求項１】
データを符号化データに符号化する符号化装置において、
ベクトル量子化により、前記データのブロックを、固定長の前記符号化データに符号化する第１の符号化手段と、
ADRC(Adaptive Dynamic Range Coding)により、前記データのブロックを、そのブロックのダイナミックレンジに応じた可変長の前記符号化データに符号化する第２の符号化手段と、
前記データのブロックのダイナミックレンジから求められる、１フレーム分の前記符号化データのデータ量が、所定の設定値に一致するように、前記データの符号化に用いるべき符号化方式を判定するのに用いられる所定の閾値と、前記ADRCにより前記データのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を決定するときに用いられる、前記所定の閾値より大きい他の閾値とを設定する閾値設定手段と、
前記データのブロックのダイナミックレンジが前記所定の閾値より小さい場合、前記ベクトル量子化を、前記データの符号化に用いるべき符号化方式として判定し、前記データのブロックのダイナミックレンジが前記所定の閾値より大きい場合、前記ADRCを、前記データの符号化に用いるべき符号化方式として判定する判定手段と、
前記判定手段の判定結果にしたがい、前記ベクトル量子化または前記ADRCにより前記データを符号化することにより得られた符号化データを選択する選択手段と
を備え、
前記第２の符号化手段は、前記データのブロックのダイナミックレンジと前記他の閾値との大小関係に応じて、そのデータのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を、前記ダイナミックレンジが大であるほど、大きい値のビット数になるように決定する
符号化装置。
【請求項２】
データを符号化データに符号化する符号化方法において、
ベクトル量子化により、前記データのブロックを、固定長の前記符号化データに符号化する第１の符号化ステップと、
ADRC(Adaptive Dynamic Range Coding)により、前記データのブロックを、そのブロックのダイナミックレンジに応じた可変長の前記符号化データに符号化する第２の符号化ステップと、
前記データのブロックのダイナミックレンジから求められる、１フレーム分の前記符号化データのデータ量が、所定の設定値に一致するように、前記データの符号化に用いるべき符号化方式を判定するのに用いられる所定の閾値と、前記ADRCにより前記データのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を決定するときに用いられる、前記所定の閾値より大きい他の閾値とを設定する閾値設定ステップと、
前記データのブロックのダイナミックレンジが前記所定の閾値より小さい場合、前記ベクトル量子化を、前記データの符号化に用いるべき符号化方式として判定し、前記データのブロックのダイナミックレンジが前記所定の閾値より大きい場合、前記ADRCを、前記データの符号化に用いるべき符号化方式として判定する判定ステップと、
前記判定ステップの判定結果にしたがい、前記ベクトル量子化または前記ADRCにより前記データを符号化することにより得られた符号化データを選択する選択ステップと
を含み、
前記第２の符号化ステップは、前記データのブロックのダイナミックレンジと前記他の閾値との大小関係に応じて、そのデータのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を、前記ダイナミックレンジが大であるほど、大きい値のビット数になるように決定する
符号化方法。
【請求項３】
データを符号化データに符号化する符号化装置として、コンピュータを機能させるためのプログラムにおいて、
ベクトル量子化により、前記データのブロックを、固定長の前記符号化データに符号化する第１の符号化手段と、
ADRC(Adaptive Dynamic Range Coding)により、前記データのブロックを、そのブロックのダイナミックレンジに応じた可変長の前記符号化データに符号化する第２の符号化手段と、
前記データのブロックのダイナミックレンジから求められる、１フレーム分の前記符号化データのデータ量が、所定の設定値に一致するように、前記データの符号化に用いるべき符号化方式を判定するのに用いられる所定の閾値と、前記ADRCにより前記データのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を決定するときに用いられる、前記所定の閾値より大きい他の閾値とを設定する閾値設定手段と、
前記データのブロックのダイナミックレンジが前記所定の閾値より小さい場合、前記ベクトル量子化を、前記データの符号化に用いるべき符号化方式として判定し、前記データのブロックのダイナミックレンジが前記所定の閾値より大きい場合、前記ADRCを、前記データの符号化に用いるべき符号化方式として判定する判定手段と、
前記判定手段の判定結果にしたがい、前記ベクトル量子化または前記ADRCにより前記データを符号化することにより得られた符号化データを選択する選択手段と
して、コンピュータを機能させるためのプログラムであり、
前記第２の符号化手段は、前記データのブロックのダイナミックレンジと前記他の閾値との大小関係に応じて、そのデータのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を、前記ダイナミックレンジが大であるほど、大きい値のビット数になるように決定する
プログラム。
【請求項４】
データを符号化データに符号化する符号化装置として、コンピュータを機能させるためのプログラムが記録されている記録媒体において、
ベクトル量子化により、前記データのブロックを、固定長の前記符号化データに符号化する第１の符号化手段と、
ADRC(Adaptive Dynamic Range Coding)により、前記データのブロックを、そのブロックのダイナミックレンジに応じた可変長の前記符号化データに符号化する第２の符号化手段と、
前記データのブロックのダイナミックレンジから求められる、１フレーム分の前記符号化データのデータ量が、所定の設定値に一致するように、前記データの符号化に用いるべき符号化方式を判定するのに用いられる所定の閾値と、前記ADRCにより前記データのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を決定するときに用いられる、前記所定の閾値より大きい他の閾値とを設定する閾値設定手段と、
前記データのブロックのダイナミックレンジが前記所定の閾値より小さい場合、前記ベクトル量子化を、前記データの符号化に用いるべき符号化方式として判定し、前記データのブロックのダイナミックレンジが前記所定の閾値より大きい場合、前記ADRCを、前記データの符号化に用いるべき符号化方式として判定する判定手段と、
前記判定手段の判定結果にしたがい、前記ベクトル量子化または前記ADRCにより前記データを符号化することにより得られた符号化データを選択する選択手段と
して、コンピュータを機能させるためのプログラムであり、
前記第２の符号化手段は、前記データのブロックのダイナミックレンジと前記他の閾値との大小関係に応じて、そのデータのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を、前記ダイナミックレンジが大であるほど、大きい値のビット数になるように決定する
プログラムが記録されている記録媒体。
【請求項５】
データを符号化した符号化データを復号する復号装置において、
前記符号化データは、
ベクトル量子化により、前記データのブロックを、固定長の第１の符号化データに符号化し、
ADRC(Adaptive Dynamic Range Coding)により、前記データのブロックを、そのブロックのダイナミックレンジに応じた可変長の第２の符号化データに符号化し、
前記データのブロックのダイナミックレンジから求められる、１フレーム分の前記符号化データのデータ量が、所定の設定値に一致するように、前記データの符号化に用いるべき符号化方式を判定するのに用いられる所定の閾値と、前記ADRCにより前記データのブロックを符号化することにより得られる前記第２の符号化データに割り当てるデータ量を決定するときに用いられる、前記所定の閾値より大きい他の閾値とを設定し、
前記データのブロックのダイナミックレンジが前記所定の閾値より小さい場合、前記ベクトル量子化を、前記データの符号化に用いるべき符号化方式として判定し、前記データのブロックのダイナミックレンジが前記所定の閾値より大きい場合、前記ADRCを、前記データの符号化に用いるべき符号化方式として判定し、
その判定結果にしたがい、前記ベクトル量子化または前記ADRCにより前記データを符号化することにより得られた前記第１又は第２の符号化データを、前記符号化データとして選択するとともに、
前記ADRCにおいて、前記データのブロックのダイナミックレンジと前記他の閾値との大小関係に応じて、そのデータのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を、前記ダイナミックレンジが大であるほど、大きい値のビット数になるように決定する
ことにより得られたものであり、
前記符号化データとして選択される前記第１及び第２の符号化データは、符号化したデータのブロックのダイナミックレンジを含み、
復号しようとする注目フレームについて、前記所定の閾値、及び、前記他の閾値を認識する閾値認識手段と、
前記符号化データに含まれるダイナミックレンジが前記所定の閾値より小さい場合、前記符号化データが、前記第１の符号化データであると判定し、前記符号化データに含まれるダイナミックレンジが前記所定の閾値より大きい場合、前記符号化データが、前記第２の符号化データであると判定する判定手段と、
前記第１の符号化データを、前記ベクトル量子化に対応する復号方式で復号する第１の復号手段と、
前記第２の符号化データに含まれるダイナミックレンジと前記他の閾値との大小関係に応じて、前記ADRCによって前記第２の符号化データに割り当てられたデータ量を認識し、そのデータ量に対応する量子化ステップで逆量子化を行う、前記ADRCに対応する復号方式で、前記第２の符号化データを復号する第２の復号手段と
を備える復号装置。
【請求項６】
前記注目フレームの符号化データには、前記所定の閾値、及び、前記他の閾値の情報が含まれており、
前記閾値認識手段は、前記注目フレームの符号化データに含まれる情報から、前記所定の閾値、及び、前記他の閾値を認識する
請求項５に記載の復号装置。
【請求項７】
前記閾値認識手段は、前記注目フレームの符号化データに含まれるダイナミックレンジから求められる、１フレーム分の符号化データのデータ量が、前記注目フレームの符号化データのデータ量に一致するときの前記所定の閾値、及び、前記他の閾値を認識する
請求項５に記載の復号装置。
【請求項８】
データを符号化した符号化データを復号する復号方法において、
前記符号化データは、
ベクトル量子化により、前記データのブロックを、固定長の第１の符号化データに符号化し、
ADRC(Adaptive Dynamic Range Coding)により、前記データのブロックを、そのブロックのダイナミックレンジに応じた可変長の第２の符号化データに符号化し、
前記データのブロックのダイナミックレンジから求められる、１フレーム分の前記符号化データのデータ量が、所定の設定値に一致するように、前記データの符号化に用いるべき符号化方式を判定するのに用いられる所定の閾値と、前記ADRCにより前記データのブロックを符号化することにより得られる前記第２の符号化データに割り当てるデータ量を決定するときに用いられる、前記所定の閾値より大きい他の閾値とを設定し、
前記データのブロックのダイナミックレンジが前記所定の閾値より小さい場合、前記ベクトル量子化を、前記データの符号化に用いるべき符号化方式として判定し、前記データのブロックのダイナミックレンジが前記所定の閾値より大きい場合、前記ADRCを、前記データの符号化に用いるべき符号化方式として判定し、
その判定結果にしたがい、前記ベクトル量子化または前記ADRCにより前記データを符号化することにより得られた前記第１又は第２の符号化データを、前記符号化データとして選択するとともに、
前記ADRCにおいて、前記データのブロックのダイナミックレンジと前記他の閾値との大小関係に応じて、そのデータのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を、前記ダイナミックレンジが大であるほど、大きい値のビット数になるように決定する
ことにより得られたものであり、
前記符号化データとして選択される前記第１及び第２の符号化データは、符号化したデータのブロックのダイナミックレンジを含み、
復号しようとする注目フレームについて、前記所定の閾値、及び、前記他の閾値を認識する閾値認識ステップと、
前記符号化データに含まれるダイナミックレンジが前記所定の閾値より小さい場合、前記符号化データが、前記第１の符号化データであると判定し、前記符号化データに含まれるダイナミックレンジが前記所定の閾値より大きい場合、前記符号化データが、前記第２の符号化データであると判定する判定ステップと、
前記第１の符号化データを、前記ベクトル量子化に対応する復号方式で復号する第１の復号ステップと、
前記第２の符号化データに含まれるダイナミックレンジと前記他の閾値との大小関係に応じて、前記ADRCによって前記第２の符号化データに割り当てられたデータ量を認識し、そのデータ量に対応する量子化ステップで逆量子化を行う、前記ADRCに対応する復号方式で、前記第２の符号化データを復号する第２の復号ステップと
を含む復号方法。
【請求項９】
データを符号化した符号化データを復号する復号装置として、コンピュータを機能させるためのプログラムにおいて、
前記符号化データは、
ベクトル量子化により、前記データのブロックを、固定長の第１の符号化データに符号化し、
ADRC(Adaptive Dynamic Range Coding)により、前記データのブロックを、そのブロックのダイナミックレンジに応じた可変長の第２の符号化データに符号化し、
前記データのブロックのダイナミックレンジから求められる、１フレーム分の前記符号化データのデータ量が、所定の設定値に一致するように、前記データの符号化に用いるべき符号化方式を判定するのに用いられる所定の閾値と、前記ADRCにより前記データのブロックを符号化することにより得られる前記第２の符号化データに割り当てるデータ量を決定するときに用いられる、前記所定の閾値より大きい他の閾値とを設定し、
前記データのブロックのダイナミックレンジが前記所定の閾値より小さい場合、前記ベクトル量子化を、前記データの符号化に用いるべき符号化方式として判定し、前記データのブロックのダイナミックレンジが前記所定の閾値より大きい場合、前記ADRCを、前記データの符号化に用いるべき符号化方式として判定し、
その判定結果にしたがい、前記ベクトル量子化または前記ADRCにより前記データを符号化することにより得られた前記第１又は第２の符号化データを、前記符号化データとして選択するとともに、
前記ADRCにおいて、前記データのブロックのダイナミックレンジと前記他の閾値との大小関係に応じて、そのデータのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を、前記ダイナミックレンジが大であるほど、大きい値のビット数になるように決定する
ことにより得られたものであり、
前記符号化データとして選択される前記第１及び第２の符号化データは、符号化したデータのブロックのダイナミックレンジを含み、
復号しようとする注目フレームについて、前記所定の閾値、及び、前記他の閾値を認識する閾値認識手段と、
前記符号化データに含まれるダイナミックレンジが前記所定の閾値より小さい場合、前記符号化データが、前記第１の符号化データであると判定し、前記符号化データに含まれるダイナミックレンジが前記所定の閾値より大きい場合、前記符号化データが、前記第２の符号化データであると判定する判定手段と、
前記第１の符号化データを、前記ベクトル量子化に対応する復号方式で復号する第１の復号手段と、
前記第２の符号化データに含まれるダイナミックレンジと前記他の閾値との大小関係に応じて、前記ADRCによって前記第２の符号化データに割り当てられたデータ量を認識し、そのデータ量に対応する量子化ステップで逆量子化を行う、前記ADRCに対応する復号方式で、前記第２の符号化データを復号する第２の復号手段と
して、コンピュータを機能させるためのプログラム。
【請求項１０】
データを符号化した符号化データを復号する復号装置として、コンピュータを機能させるためのプログラムが記録されている記録媒体において、
前記符号化データは、
ベクトル量子化により、前記データのブロックを、固定長の第１の符号化データに符号化し、
ADRC(Adaptive Dynamic Range Coding)により、前記データのブロックを、そのブロックのダイナミックレンジに応じた可変長の第２の符号化データに符号化し、
前記データのブロックのダイナミックレンジから求められる、１フレーム分の前記符号化データのデータ量が、所定の設定値に一致するように、前記データの符号化に用いるべき符号化方式を判定するのに用いられる所定の閾値と、前記ADRCにより前記データのブロックを符号化することにより得られる前記第２の符号化データに割り当てるデータ量を決定するときに用いられる、前記所定の閾値より大きい他の閾値とを設定し、
前記データのブロックのダイナミックレンジが前記所定の閾値より小さい場合、前記ベクトル量子化を、前記データの符号化に用いるべき符号化方式として判定し、前記データのブロックのダイナミックレンジが前記所定の閾値より大きい場合、前記ADRCを、前記データの符号化に用いるべき符号化方式として判定し、
その判定結果にしたがい、前記ベクトル量子化または前記ADRCにより前記データを符号化することにより得られた前記第１又は第２の符号化データを、前記符号化データとして選択するとともに、
前記ADRCにおいて、前記データのブロックのダイナミックレンジと前記他の閾値との大小関係に応じて、そのデータのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を、前記ダイナミックレンジが大であるほど、大きい値のビット数になるように決定する
ことにより得られたものであり、
前記符号化データとして選択される前記第１及び第２の符号化データは、符号化したデータのブロックのダイナミックレンジを含み、
復号しようとする注目フレームについて、前記所定の閾値、及び、前記他の閾値を認識する閾値認識手段と、
前記符号化データに含まれるダイナミックレンジが前記所定の閾値より小さい場合、前記符号化データが、前記第１の符号化データであると判定し、前記符号化データに含まれるダイナミックレンジが前記所定の閾値より大きい場合、前記符号化データが、前記第２の符号化データであると判定する判定手段と、
前記第１の符号化データを、前記ベクトル量子化に対応する復号方式で復号する第１の復号手段と、
前記第２の符号化データに含まれるダイナミックレンジと前記他の閾値との大小関係に応じて、前記ADRCによって前記第２の符号化データに割り当てられたデータ量を認識し、そのデータ量に対応する量子化ステップで逆量子化を行う、前記ADRCに対応する復号方式で、前記第２の符号化データを復号する第２の復号手段と
して、コンピュータを機能させるためのプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置および符号化方法、復号装置および復号方法、並びにプログラムおよび記録媒体に関し、特に、例えば、画像を、制限されたデータ量に符号化するとともに、高画質の画像を復号することができるようにする符号化装置および符号化方法、復号装置および復号方法、並びにプログラムおよび記録媒体に関する。
【背景技術】
【０００２】
例えば、画像データは、そのデータ量が多いため、画像データを記録媒体に記録する場合や、伝送媒体を介して伝送する場合等においては、画像データは符号化（圧縮符号化）され、符号化データとされて、記録媒体に記録、あるいは伝送媒体を介して伝送される。
【０００３】
画像データの符号化（復号）方式としては、例えば、特許文献１に記載されているADRC(Adaptive Dynamic Range Coding)やベクトル量子化によるものをはじめとして、種々の方式が提案されている。
【特許文献１】特許第2518214号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
符号化においては、画像データが圧縮されるが、その圧縮率が高くなるほど、伝送エラー等が生じた場合の復号画像の画質は大きく劣化する。即ち、例えば、圧縮率が１０である場合（データを１／１０に圧縮した場合）には、その圧縮後の１ビットは、圧縮前の１０ビットに相当するため、圧縮後の１ビットにエラーが生じると、単純には、復号後の１０ビットが損なわれる。このため、画像データを高圧縮率で符号化（圧縮）すれば、エラー耐性が損なわれる。
【０００５】
一方、画像データを高エラー耐性の符号化方式で符号化することにより、伝送エラー等等に対するエラー耐性を強く（高く）することができる。しかしながら、この場合、圧縮率が低下する。
【０００６】
従って、高圧縮と高エラー耐性とはトレードオフの関係にあり、高圧縮かつ高エラー耐性の符号化を行うことは困難であった。
【０００７】
ここで、高圧縮の符号化方式としては、例えば、ベクトル量子化による符号化が知られている。また、高エラー耐性の符号化方式（ロバスト性の高い符号化方式）としては、例えば、ADRCによる符号化が知られている。
【０００８】
そこで、例えば、画像データの一部を、ベクトル量子化により符号化し、残りをADRCにより符号化する方法が考えられる。
【０００９】
しかしながら、単純に、画像データの一部を、ベクトル量子化により符号化し、残りをADRCにより符号化した場合には、即ち、例えば、１フレームの画像データの半分を、ベクトル量子化により符号化し、残りの半分をADRCにより符号化した場合には、一般に、十分な高圧縮かつ高エラー耐性を得ることは困難である。
【００１０】
一方、例えば、ディジタルスチルカメラにおいては、ユーザ向けに、所定の容量のメモリカードに記録することができる画像データの枚数を提示することが行われる。この場合、１枚あたりの画像データの容量は、メモリカードの容量を、提示した枚数で除算した値に制限される。このように、１枚あたりの画像データの容量が、ある値に制限されている場合、画像データは、その制限されている値（制限値）のデータ量に符号化すれば良く、より小さい値のデータ量に高圧縮する必要はない。即ち、画像データは、符号化後のデータ量の制限値を有効利用して、その制限値の範囲内で、高エラー耐性、ひいては、高画質の復号画像が得られるように符号化するのが望ましい。
【００１１】
本発明は、このような状況に鑑みてなされたものであり、データの符号化により生じるデータ量を制限して、より品質の良い復号結果を得ることができるようにするものである。
【課題を解決するための手段】
【００１２】
本発明の第１の側面の符号化装置、又は、プログラム、若しくは、記録媒体は、データを符号化データに符号化する符号化装置において、ベクトル量子化により、前記データのブロックを、固定長の前記符号化データに符号化する第１の符号化手段と、ADRC(Adaptive Dynamic Range Coding)により、前記データのブロックを、そのブロックのダイナミックレンジに応じた可変長の前記符号化データに符号化する第２の符号化手段と、前記データのブロックのダイナミックレンジから求められる、１フレーム分の前記符号化データのデータ量が、所定の設定値に一致するように、前記データの符号化に用いるべき符号化方式を判定するのに用いられる所定の閾値と、前記ADRCにより前記データのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を決定するときに用いられる、前記所定の閾値より大きい他の閾値とを設定する閾値設定手段と、前記データのブロックのダイナミックレンジが前記所定の閾値より小さい場合、前記ベクトル量子化を、前記データの符号化に用いるべき符号化方式として判定し、前記データのブロックのダイナミックレンジが前記所定の閾値より大きい場合、前記ADRCを、前記データの符号化に用いるべき符号化方式として判定する判定手段と、前記判定手段の判定結果にしたがい、前記ベクトル量子化または前記ADRCにより前記データを符号化することにより得られた符号化データを選択する選択手段とを備え、前記第２の符号化手段は、前記データのブロックのダイナミックレンジと前記他の閾値との大小関係に応じて、そのデータのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を、前記ダイナミックレンジが大であるほど、大きい値のビット数になるように決定する符号化装置、又は、符号化装置として、コンピュータを機能させるためのプログラム、若しくは、プログラムが記録された記録媒体である。
【００１３】
本発明の第１の側面の符号化方法は、データを符号化データに符号化する符号化方法において、ベクトル量子化により、前記データのブロックを、固定長の前記符号化データに符号化する第１の符号化ステップと、ADRC(Adaptive Dynamic Range Coding)により、前記データのブロックを、そのブロックのダイナミックレンジに応じた可変長の前記符号化データに符号化する第２の符号化ステップと、前記データのブロックのダイナミックレンジから求められる、１フレーム分の前記符号化データのデータ量が、所定の設定値に一致するように、前記データの符号化に用いるべき符号化方式を判定するのに用いられる所定の閾値と、前記ADRCにより前記データのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を決定するときに用いられる、前記所定の閾値より大きい他の閾値とを設定する閾値設定ステップと、前記データのブロックのダイナミックレンジが前記所定の閾値より小さい場合、前記ベクトル量子化を、前記データの符号化に用いるべき符号化方式として判定し、前記データのブロックのダイナミックレンジが前記所定の閾値より大きい場合、前記ADRCを、前記データの符号化に用いるべき符号化方式として判定する判定ステップと、前記判定ステップの判定結果にしたがい、前記ベクトル量子化または前記ADRCにより前記データを符号化することにより得られた符号化データを選択する選択ステップとを含み、前記第２の符号化ステップは、前記データのブロックのダイナミックレンジと前記他の閾値との大小関係に応じて、そのデータのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を、前記ダイナミックレンジが大であるほど、大きい値のビット数になるように決定する符号化方法である。
【００１６】
本発明の第２の側面の復号装置、又は、プログラム、若しくは、記録媒体は、データを符号化した符号化データを復号する復号装置において、前記符号化データは、ベクトル量子化により、前記データのブロックを、固定長の第１の符号化データに符号化し、ADRC(Adaptive Dynamic Range Coding)により、前記データのブロックを、そのブロックのダイナミックレンジに応じた可変長の第２の符号化データに符号化し、前記データのブロックのダイナミックレンジから求められる、１フレーム分の前記符号化データのデータ量が、所定の設定値に一致するように、前記データの符号化に用いるべき符号化方式を判定するのに用いられる所定の閾値と、前記ADRCにより前記データのブロックを符号化することにより得られる前記第２の符号化データに割り当てるデータ量を決定するときに用いられる、前記所定の閾値より大きい他の閾値とを設定し、前記データのブロックのダイナミックレンジが前記所定の閾値より小さい場合、前記ベクトル量子化を、前記データの符号化に用いるべき符号化方式として判定し、前記データのブロックのダイナミックレンジが前記所定の閾値より大きい場合、前記ADRCを、前記データの符号化に用いるべき符号化方式として判定し、その判定結果にしたがい、前記ベクトル量子化または前記ADRCにより前記データを符号化することにより得られた前記第１又は第２の符号化データを、前記符号化データとして選択するとともに、前記ADRCにおいて、前記データのブロックのダイナミックレンジと前記他の閾値との大小関係に応じて、そのデータのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を、前記ダイナミックレンジが大であるほど、大きい値のビット数になるように決定することにより得られたものであり、前記符号化データとして選択される前記第１及び第２の符号化データは、符号化したデータのブロックのダイナミックレンジを含み、復号しようとする注目フレームについて、前記所定の閾値、及び、前記他の閾値を認識する閾値認識手段と、前記符号化データに含まれるダイナミックレンジが前記所定の閾値より小さい場合、前記符号化データが、前記第１の符号化データであると判定し、前記符号化データに含まれるダイナミックレンジが前記所定の閾値より大きい場合、前記符号化データが、前記第２の符号化データであると判定する判定手段と、前記第１の符号化データを、前記ベクトル量子化に対応する復号方式で復号する第１の復号手段と、前記第２の符号化データに含まれるダイナミックレンジと前記他の閾値との大小関係に応じて、前記ADRCによって前記第２の符号化データに割り当てられたデータ量を認識し、そのデータ量に対応する量子化ステップで逆量子化を行う、前記ADRCに対応する復号方式で、前記第２の符号化データを復号する第２の復号手段とを備える復号装置、又は、復号装置として、コンピュータを機能させるためのプログラム、若しくは、プログラムが記録された記録媒体である。
【００１７】
本発明の第２の側面の復号方法は、データを符号化した符号化データを復号する復号方法において、前記符号化データは、ベクトル量子化により、前記データのブロックを、固定長の第１の符号化データに符号化し、ADRC(Adaptive Dynamic Range Coding)により、前記データのブロックを、そのブロックのダイナミックレンジに応じた可変長の第２の符号化データに符号化し、前記データのブロックのダイナミックレンジから求められる、１フレーム分の前記符号化データのデータ量が、所定の設定値に一致するように、前記データの符号化に用いるべき符号化方式を判定するのに用いられる所定の閾値と、前記ADRCにより前記データのブロックを符号化することにより得られる前記第２の符号化データに割り当てるデータ量を決定するときに用いられる、前記所定の閾値より大きい他の閾値とを設定し、前記データのブロックのダイナミックレンジが前記所定の閾値より小さい場合、前記ベクトル量子化を、前記データの符号化に用いるべき符号化方式として判定し、前記データのブロックのダイナミックレンジが前記所定の閾値より大きい場合、前記ADRCを、前記データの符号化に用いるべき符号化方式として判定し、その判定結果にしたがい、前記ベクトル量子化または前記ADRCにより前記データを符号化することにより得られた前記第１又は第２の符号化データを、前記符号化データとして選択するとともに、前記ADRCにおいて、前記データのブロックのダイナミックレンジと前記他の閾値との大小関係に応じて、そのデータのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を、前記ダイナミックレンジが大であるほど、大きい値のビット数になるように決定することにより得られたものであり、前記符号化データとして選択される前記第１及び第２の符号化データは、符号化したデータのブロックのダイナミックレンジを含み、復号しようとする注目フレームについて、前記所定の閾値、及び、前記他の閾値を認識する閾値認識ステップと、前記符号化データに含まれるダイナミックレンジが前記所定の閾値より小さい場合、前記符号化データが、前記第１の符号化データであると判定し、前記符号化データに含まれるダイナミックレンジが前記所定の閾値より大きい場合、前記符号化データが、前記第２の符号化データであると判定する判定ステップと、前記第１の符号化データを、前記ベクトル量子化に対応する復号方式で復号する第１の復号ステップと、前記第２の符号化データに含まれるダイナミックレンジと前記他の閾値との大小関係に応じて、前記ADRCによって前記第２の符号化データに割り当てられたデータ量を認識し、そのデータ量に対応する量子化ステップで逆量子化を行う、前記ADRCに対応する復号方式で、前記第２の符号化データを復号する第２の復号ステップとを含む復号方法である。
【００２０】
本発明の第１の側面においては、ベクトル量子化により、前記データのブロックが、固定長の前記符号化データに符号化されるとともに、ADRC(Adaptive Dynamic Range Coding)により、前記データのブロックが、そのブロックのダイナミックレンジに応じた可変長の前記符号化データに符号化される。一方、前記データのブロックのダイナミックレンジから求められる、１フレーム分の前記符号化データのデータ量が、所定の設定値に一致するように、前記データの符号化に用いるべき符号化方式を判定するのに用いられる所定の閾値と、前記ADRCにより前記データのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量を決定するときに用いられる、前記所定の閾値より大きい他の閾値とが設定され、前記データのブロックのダイナミックレンジが前記所定の閾値より小さい場合、前記ベクトル量子化が、前記データの符号化に用いるべき符号化方式として判定され、前記データのブロックのダイナミックレンジが前記所定の閾値より大きい場合、前記ADRCが、前記データの符号化に用いるべき符号化方式として判定される。そして、その判定結果にしたがい、前記ベクトル量子化または前記ADRCにより前記データを符号化することにより得られた符号化データが選択される。また、ADRCでは、前記データのブロックのダイナミックレンジと前記他の閾値との大小関係に応じて、そのデータのブロックを符号化することにより得られる前記符号化データに割り当てるデータ量が、前記ダイナミックレンジが大であるほど、大きい値のビット数になるように決定される。
【００２１】
本発明の第２の側面においては、復号しようとする注目フレームについて、前記所定の閾値、及び、前記他の閾値が認識され、前記符号化データに含まれるダイナミックレンジが前記所定の閾値より小さい場合、前記符号化データが、前記第１の符号化データであると判定され、前記符号化データに含まれるダイナミックレンジが前記所定の閾値より大きい場合、前記符号化データが、前記第２の符号化データであると判定される。そして、前記第１の符号化データは、前記ベクトル量子化に対応する復号方式で復号される。また、前記第２の符号化データに含まれるダイナミックレンジと前記他の閾値との大小関係に応じて、前記ADRCによって前記第２の符号化データに割り当てられたデータ量が認識され、そのデータ量に対応する量子化ステップで逆量子化を行う、前記ADRCに対応する復号方式で、前記第２の符号化データが復号される。
【発明の効果】
【００２２】
本発明によれば、データの符号化により生じるデータ量を制限して、より品質の良い復号結果を得ることが可能となる。
【発明を実施するための最良の形態】
【００３６】
以下、図面を参照して、発明の実施の形態について説明する。
【００３７】
図１は、本発明を適用した画像処理システムの一実施の形態の構成例を示している。なお、システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは、問わない。
【００３８】
図１の画像処理システムでは、符号化対象の画像データが、符号化装置１に供給される。符号化装置１は、そこに供給される画像データを符号化し、その結果得られる符号化データを出力する。この符号化データは、記録媒体３に供給されて記録され、あるいは、伝送媒体４を介して伝送（送信）される。
【００３９】
ここで、記録媒体３としては、例えば、光ディスク、磁気ディスク、光磁気ディスク、磁気テープ、半導体メモリその他を採用することができる。伝送媒体４としては、例えば、インターネット、LAN、電話回線、衛星回線、地上波、赤外線その他の任意の有線回線または無線回線を採用することができる。
【００４０】
復号装置２には、記録媒体３から符号化データが再生されて供給される。また、復号装置２には、伝送媒体４を介して伝送されてくる符号化データが受信されて供給される。
【００４１】
復号装置２は、そこに供給される符号化データを復号し、その結果得られる復号画像データを出力する。この復号画像データは、例えば、図示せぬディスプレイ等に供給されて表示される。
【００４２】
次に、図２は、図１の符号化装置１の構成例を示している。
【００４３】
符号化装置１に入力された符号化対象の画像データは、メモリ１１に供給される。メモリ１１は、そこに供給される画像データを、例えば、１フレーム（またはフィールド）単位で記憶する。
【００４４】
VQエンコーダ１２は、メモリ１１に記憶された画像データを、所定のブロックの単位で読み出し、そのブロックを、ベクトル量子化(VQ(Vector Quantization))によって、固定長の符号化データに符号化する。そして、VQエンコーダ１２は、その符号化の結果得られる符号化データを、選択部１５に供給する。なお、ベクトル量子化は、固定長の符号化データを得る符号化方式である他、高圧縮の符号化方式でもある。
【００４５】
ADRCエンコーダ１３は、メモリ１１に記憶された画像データを、所定のブロックの単位で読み出し、そのブロックを、ADRCによって、可変長の符号化データに符号化する。そして、ADRCエンコーダ１３は、その符号化の結果得られる符号化データを、選択部１５に供給する。なお、ADRCは、可変長の符号化データを得る符号化方式である他、高エラー耐性の符号化方式でもある。また、ADRCエンコーダ１３は、画像データのブロックを、そのブロックのダイナミックレンジに応じたデータ長（ビット長）の符号化データに符号化する。即ち、ADRCエンコーダ１３には、閾値設定部１６から、後述する２つの閾値TH1，TH2が供給されるようになっている。ADRCエンコーダ１３は、画像データのブロックを、そのブロックのダイナミックレンジと閾値TH1，TH2それぞれとの大小関係に応じたデータ長の符号化データに符号化する。
【００４６】
なお、VQエンコーダ１２が符号化の対象とするブロックと、ADRCエンコーダ１３が符号化の対象とするブロックとは、同一サイズであっても良いし、異なるサイズであっても良い。ここでは、VQエンコーダ１２が、例えば、横×縦が４×４画素のブロックを符号化の対象とし、ADRCエンコーダ１３が、例えば、横×縦が８×８画素のブロックを符号化の対象とするものとする。即ち、VQエンコーダ１２は、メモリ１１に記憶された１フレームの画像データを、４×４画素のブロックに分割して、そのブロックを符号化するものとする。また、ADRCエンコーダ１３は、メモリ１１に記憶された１フレームの画像データを、８×８画素のブロックに分割して、そのブロックを符号化するものとする。
【００４７】
ここで、VQエンコーダ１２がベクトル量子化による符号化の対象とする４×４画素のブロックを、以下、適宜、VQブロックという。また、ADRCエンコーダ１３がADRCによる符号化の対象とする８×８画素のブロックを、以下、適宜、ADRCブロックという。
【００４８】
評価判定部１４は、メモリ１１に記憶された画像データを、所定のブロックの単位ごとに評価し、その評価結果に基づいて、そのブロックの符号化に用いるべき符号化方式を判定する。即ち、評価判定部１４には、閾値設定部１６から、後述する閾値TH0が供給されるようになっている。評価判定部１４は、画像データの所定のブロックのダイナミックレンジを、そのブロックの評価値として求め、その評価値と閾値TH0との大小関係に応じて、データの符号化に用いるべき符号化方式を判定する。そして、判定評価部１４は、その判定結果に基づき、選択部１５を制御する。
【００４９】
なお、評価判定部１４が評価を行う単位のブロックを、以下、適宜、評価ブロックという。ここでは、例えば、メモリ１１に記憶された１フレームの画像データを、８×８画素単位に分割したブロックを、評価ブロックとすることとする。
【００５０】
従って、ここでは、評価ブロックは、ADRCブロックに等しい。また、評価ブロックは、４つのVQブロックを含む（４つのVQブロックからなる）。即ち、評価ブロックは、１つのADRCブロックと、４つのVQブロックに、それぞれ対応する。
【００５１】
選択部１５は、評価判定部１４の制御にしたがい、VQエンコーダ１２が出力する符号化データ（以下、適宜、VQ符号化データという）、またはADRCエンコーダ１３が出力する符号化データ（以下、適宜、ADRC符号化データという）を選択し、最終的な符号化結果（評価ブロックの符号化結果）として出力する。
【００５２】
閾値設定部１６は、メモリ１１に記憶された１フレームの画像データのVQブロックとADRCブロックそれぞれのダイナミックレンジから求められる、選択部１５が出力する１フレームの画像データの符号化データのデータ量に応じて、画像データの符号化に用いるべき符号化方式を判定するのに用いられる閾値TH0を設定し、評価判定部１４に供給する。また、閾値設定部１６は、同様にして、ADRCエンコーダ１３においてADRCブロックを符号化することにより得られるADRC符号化データに割り当てるデータ量（ビット数）を決定するときに用いられる閾値TH1，TH2も設定し、ADRCエンコーダ１３に供給する。
【００５３】
次に、図３は、図２のVQエンコーダ１２の構成例を示している。
【００５４】
上述したように、VQエンコーダ１２は、メモリ１１（図２）に記憶された画像データを、VQブロックの単位で読み出し、そのVQブロックを、ベクトル量子化によって符号化する。
【００５５】
即ち、ブロック取得部２１は、メモリ１１から、VQブロック（の画像データ）を読み出し、最小値検出部２２、最大値検出部２３、および差分演算部２５に供給する。
【００５６】
最小値検出部２２は、ブロック取得部２１から供給されたVQブロックを構成する４×４画素の画素値のうちの最小値MINを検出し、DR検出部２４、差分演算部２５、およびバッファ２９に供給する。
【００５７】
同時に、最大値検出部２３は、ブロック取得部２１から供給されたVQブロックを構成する４×４画素の画素値のうちの最大値MAXを検出し、DR検出部２４に供給する。
【００５８】
DR検出部２４は、最大値検出部２３から供給される最大値MAXから、最小値検出部２２から供給される最小値MINを減算し、その減算値を、ブロック取得部２１が出力したVQブロックのダイナミックレンジDRとして、正規化部２６、およびバッファ２９に供給する。
【００５９】
一方、差分演算部２５は、ブロック取得部２１から供給されたVQブロックを構成する４×４画素の画素値それぞれから、最小値検出部２２から供給された最小値MINを減算し、その減算値を画素値としたVQブロックを、正規化部２６に供給する。正規化部２６は、差分演算部２５から供給されたVQブロックを構成する４×４画素の画素値（差分演算部２５で求められた減算値）それぞれを、DR検出部２４から供給されたダイナミックレンジDRで除算することにより正規化し、ベクトル量子化部２７に供給する。
【００６０】
ベクトル量子化部２７は、コードブック記憶部２８に記憶されたコードブックを参照することにより、正規化部２６から供給されたVQブロックを構成する４×４画素の画素値（正規化部２６で正規化された画素値）をコンポーネントとするベクトルをベクトル量子化し、そのベクトル量子化の結果得られるコード（以下、適宜、VQコードという）を、バッファ２９に供給する。
【００６１】
バッファ２９は、ブロック取得部２１でメモリ１１から読み出されたVQブロックについて、最小値検出部２２から供給された最小値MIN、DR検出部２４から供給されたダイナミックレンジDR、およびベクトル量子化部２７から供給されたVQコードを、所定の順番で記憶し、その最小値MIN、ダイナミックレンジDR、およびVQコードを、VQ符号化データとして、選択部１５（図２）に出力する。
【００６２】
図４は、図３のVQエンコーダ１２がVQブロックを符号化することにより得られるVQ符号化データのフォーマットを示している。
【００６３】
VQ符号化データは、その先頭から、例えば、VQブロックについてのダイナミックレンジDR、最小値MIN、およびVQコードが順次配置されて構成される。
【００６４】
なお、VQ符号化データを構成するダイナミックレンジDR、最小値MIN、およびVQコードは、いずれも固定長であり、従って、VQブロックのVQ符号化データ全体も、固定長である。
【００６５】
また、VQ符号化データのフォーマットは、図４に示したフォーマットに限定されるものではない。
【００６６】
次に、図５は、図２のADRCエンコーダ１３の構成例を示している。
【００６７】
上述したように、ADRCエンコーダ１３は、メモリ１１（図２）に記憶された画像データを、ADRCブロックの単位で読み出し、そのADRCブロックを、ADRCによって符号化する。
【００６８】
ここで、KビットADRCにおいては、ADRCブロックを構成する画素の画素値の最大値MAXと最小値MINが検出され、DR=MAX-MINを、ADRCブロックのダイナミックレンジDRとし、このダイナミックレンジDRに基づいて、ADRCブロックを構成する各画素の画素値がKビットに再量子化される。即ち、ADRCブロックを構成する各画素の画素値から、最小値MINが減算され、その減算値がDR/2Kで除算（量子化）される。そして、以上のようにして得られる、ADRCブロックを構成するKビットの各画素の画素値を、所定の順番で並べたビット列が、ADRCコードとして出力される。
【００６９】
即ち、ブロック取得部４１は、メモリ１１から、ADRCブロック（の画像データ）を読み出し、最小値検出部４２、最大値検出部４３、および差分演算部４５に供給する。
【００７０】
最小値検出部４２は、ブロック取得部４１から供給されたADRCブロックを構成する８×８画素の画素値のうちの最小値MINを検出し、DR検出部４４、差分演算部４５、およびバッファ４８に供給する。
【００７１】
同時に、最大値検出部４３は、ブロック取得部４１から供給されたADRCブロックを構成する８×８画素の画素値のうちの最大値MAXを検出し、DR検出部４４に供給する。
【００７２】
DR検出部４４は、最大値検出部４３から供給される最大値MAXから、最小値検出部４２から供給される最小値MINを減算し、その減算値を、ブロック取得部４１が出力したADRCブロックのダイナミックレンジDRとして、ビット数決定部４６、およびバッファ４８に供給する。
【００７３】
ビット数決定部４６は、DR検出部４４からのダイナミックレンジDRに応じて、ADRCブロックの各画素に対して割り当てる割り当てビット数Ｋを決定する。即ち、ビット数決定部４６には、閾値設定部１６（図２）から閾値TH1，TH2が供給される。閾値TH1とTH2との大小関係は、例えば、TH1＜TH2となっており、ビット数決定部４６は、例えば、DR検出部４４からのADRCブロックのダイナミックレンジDRと、閾値TH1，TH2それぞれとの大小関係を判定し、その大小関係に基づき、例えば、２乃至４ビットの範囲で、ダイナミックレンジDRが大であるほど、大きい値のビット数を、割り当てビット数Ｋに決定する。
【００７４】
具体的には、ビット数決定部４６は、ADRCブロックのダイナミックレンジDRと、閾値TH1，TH2それぞれとの大小関係が、例えば、DR<TH1，TH1≦DR<TH2，TH2≦DRである場合、ADRCブロックの各画素に対して割り当てる割り当てビット数Ｋを、それぞれ２，３，４ビットとする。
【００７５】
そして、ビット数決定部４６は、DR検出部４４からのダイナミックレンジDRを２の割り当てビット数Ｋ乗（２K）で除算した除算値DR/２Kを、量子化ステップとして、量子化部４７に供給する。
【００７６】
一方、差分演算部４５は、ブロック取得部４１から供給されたADRCブロックを構成する８×８画素の画素値それぞれから、最小値検出部４２から供給された最小値MINを減算し、その減算値を画素値としたADRCブロックを、量子化部４７に供給する。
【００７７】
量子化部４７は、差分演算部４５から供給されたADRCブロックを構成する８×８画素の画素値（差分演算部４５で求められた減算値）それぞれを、DR検出部４４から供給された量子化ステップDR/２Kで除算すること（例えば、小数点以下切り捨て）により、割り当てビット数Ｋで表現される値に量子化（正規化）し、その量子化結果を、所定の順番で並べたビット列を、ADRCコードとして、バッファ４８に供給する。
【００７８】
バッファ４８は、ブロック取得部４１でメモリ１１から読み出されたADRCブロックについて、最小値検出部４２から供給された最小値MIN、DR検出部４４から供給されたダイナミックレンジDR、および量子化部４７から供給されたADRCコードを、所定の順番で記憶し、その最小値MIN、ダイナミックレンジDR、およびADRCコードを、ADRC符号化データとして、選択部１５（図２）に出力する。
【００７９】
図６は、図５のADRCエンコーダ１３がADRCブロックを符号化することにより得られるADRC符号化データのフォーマットを示している。
【００８０】
ADRC符号化データは、その先頭から、例えば、ADRCブロックについてのダイナミックレンジDR、最小値MIN、およびADRCコードが順次配置されて構成される。
【００８１】
なお、ADRC符号化データを構成するダイナミックレンジDRおよび最小値MINは、いずれも固定長であるが、ADRCコードは可変長である。即ち、ADRCコードは、ADRCブロックを構成する８×８画素の画素値それぞれを量子化ステップDR/２Kで除算することにより、割り当てビット数Ｋで表現される値に量子化（正規化）して得られる、各画素ごとの量子化結果を並べたビット列であるから、そのビット長は、Ｋ×８×８ビットとなる。従って、ADRCコードのビット長は、割り当てビットＫ数によって異なる。その結果、ADRCブロックのADRC符号化データ全体は可変長になる。
【００８２】
ここで、ADRCブロックの各画素に対して割り当てられる割り当てビット数Ｋは、上述したように、２乃至４ビットのうちのいずれかである。従って、ADRCコードのビット長は、２×８×８ビット、３×８×８ビット、または４×８×８ビットのうちのいずれかであり、このことから、ADRCブロックのADRC符号化データは、いわば半可変長であるということができる。
【００８３】
次に、図７は、図２の評価判定部１４の構成例を示している。
【００８４】
評価判定部１４では、評価ブロックのダイナミックレンジDRを評価値として算出し、その評価値に基づき、評価ブロックの符号化に用いるべき符号化方式を判定するようになっている。
【００８５】
ブロック取得部１１１は、メモリ１１から、評価ブロック（の画像データ）を読み出し、最小値検出部１１２および最大値検出部１１３に供給する。
【００８６】
最小値検出部１１２は、ブロック取得部１１１から供給された評価ブロックを構成する８×８画素の画素値のうちの最小値MINを検出し、DR検出部１１４に供給する。
【００８７】
同時に、最大値検出部１１３は、ブロック取得部１１１から供給された評価ブロックを構成する８×８画素の画素値のうちの最大値MAXを検出し、DR検出部１１４に供給する。
【００８８】
DR検出部１１４は、最大値検出部１１３から供給される最大値MAXから、最小値検出部１１２から供給される最小値MINを減算し、その減算値を、ブロック取得部１１１が出力した評価ブロックのダイナミックレンジDRとして、DR判定部１１５に供給する。
【００８９】
DR判定部１１５は、評価ブロックのダイナミックレンジDRを、評価ブロックの符号化に用いるべき符号化方式を判定するための評価値として、その評価値に基づき、評価ブロックの符号化に用いるべき符号化方式を判定する。
【００９０】
即ち、DR判定部１１５には、閾値設定部１６（図２）から閾値TH0が供給されるようになっている。判定部１１５は、評価ブロックの評価値としてのダイナミックレンジDRを、閾値設定部１６からの閾値TH0と比較する。そして、DR判定部１１５は、ダイナミックレンジDRが閾値TH0より小さい場合（以下の場合）、ベクトル量子化を、評価ブロックの符号化に用いるべきであると判定し、ダイナミックレンジDRが閾値TH0以上の場合（より大きい場合）、ADRCを、評価ブロックの符号化に用いるべきであると判定する。
【００９１】
DR判定部１１５は、評価ブロックの符号化に用いるべき符号化方式の判定後、その判定結果にしたがい、選択部１５（図２）に対して、VQエンコーダ１２による、評価ブロックに対応する４つのVQブロックの符号化結果であるVQ符号化データの選択、またはADRCエンコーダ１３による、評価ブロックに対応する１つのADRCブロックの符号化結果であるADRC符号化データの選択を指示する選択信号を供給する。
【００９２】
即ち、DR判定部１１５は、ベクトル量子化を評価ブロックの符号化に用いるべきであると判定した場合、VQエンコーダ１２が出力する、その評価ブロックに対応する４つのVQブロックのVQ符号化データを選択することを指示する選択信号を、選択部１５に供給する。また、DR判定部１１５は、ADRCを評価ブロックの符号化に用いるべきであると判定した場合、ADRCエンコーダ１３が出力する、その評価ブロックに対応する１つのADRCブロックのADRC符号化データを選択することを指示する選択信号を、選択部１５に供給する。
【００９３】
次に、図８を参照して、図２の閾値設定部１６による閾値TH0，TH1，TH2の設定方法について説明する。
【００９４】
図８は、閾値TH0，TH1，TH2が、TH0<TH1<TH2の大小関係を有する場合の１フレームの画像データのVQブロックとADRCブロックのダイナミックレンジDRの頻度分布を示している。
【００９５】
ここで、図８においては、横軸が、VQブロックまたはADRCブロックのダイナミックレンジDRを示しており、縦軸が、各ダイナミックレンジDRのVQブロックまたはADRCブロックのブロック数（頻度）を示している。なお、図８では、ダイナミックレンジDRが８ビット（０乃至２５５）で表されるものとしてある。
【００９６】
上述したように、評価ブロックのダイナミックレンジDRが閾値TH0以上の場合（TH0≦DRの場合）、その評価ブロックに対応するADRCブロックが、ADRCにより符号化される。さらに、ADRCによる符号化では、図５で説明したように、ADRCブロックの各画素に対し、そのADRCブロックのダイナミックレンジDRに応じて、２，３、または４ビットが割り当てられる。
【００９７】
即ち、上述したように、ADRCブロックのダイナミックレンジDRが閾値TH1未満（かつ閾値TH0以上）である場合（DR<TH1の場合）、そのADRCブロックの各画素には２ビットが割り当てられる。また、ADRCブロックのダイナミックレンジDRが閾値TH1以上、かつ閾値TH2未満である場合（TH1≦DR<TH2の場合）、そのADRCブロックの各画素には３ビットが割り当てられる。さらに、ADRCブロックのダイナミックレンジDRが閾値TH2以上（かつDRが取り得る最大値としての２５５以下）である場合（TH2≦DRの場合）、そのADRCブロックの各画素には３ビットが割り当てられる。
【００９８】
従って、１フレームの画像データにおいて、ADRCブロックが、ADRCにより符号化されることによって生じるデータ量は、ADRCブロックのダイナミックレンジDRの頻度分布、即ち、図８において、ダイナミックレンジDRが、閾値TH1未満（かつ閾値TH0以上）のADRCブロックの数、閾値TH1以上、かつ閾値TH2未満のADRCブロックの数、および閾値TH2以上（かつDRが取り得る最大値としての２５５以下）のADRCブロックの数から求めることができる。
【００９９】
具体的には、１フレームの画像データにおいて、ダイナミックレンジDRが、閾値TH1未満のADRCブロック、閾値TH1以上、かつ閾値TH2未満のADRCブロック、閾値TH2以上のADRCブロックのADRC符号化データのデータ量を、それぞれｄ１，ｄ２，ｄ３とするとともに、ダイナミックレンジDRが、閾値TH1未満のADRCブロック、閾値TH1以上、かつ閾値TH2未満のADRCブロック、閾値TH2以上のADRCブロックの数を、それぞれ、ｃ１，ｃ２，ｃ３とすると、１フレームの画像データにおけるADRCブロックが、ADRCにより符号化されることによって生じるデータ量は、ｄ１×ｃ１＋ｄ２×ｃ２＋ｄ３×ｃ３で求めることができる。
【０１００】
一方、評価ブロックのダイナミックレンジDRが閾値TH0未満の場合（TH0>DRの場合）、その評価ブロックに対応する４つのVQブロックが、ベクトル量子化により符号化される。さらに、ベクトル量子化による符号化では、図４で説明したように、固定長のVQ符号化データが得られる。
【０１０１】
従って、１フレームの画像データにおいて、VQブロックが、ベクトル量子化により符号化されることによって生じるデータ量も、VQブロックのダイナミックレンジの頻度分布、即ち、図８において、ダイナミックレンジDRが、閾値TH0未満（かつDRが取り得る最小値としての０以上）のVQブロックの数から求めることができる。
【０１０２】
具体的には、VQブロックのVQ符号化データのデータ量をｄ０と表すとともに、１フレームの画像データにおけるVQブロックの数をｃ０と表すこととすると、１フレームの画像データにおけるVQブロックが、ベクトル量子化により符号化されることによって生じるデータ量は、ｄ０×ｃ０１で求めることができる。
【０１０３】
従って、図２の符号化装置１により１フレームの画像データを符号化することにより得られる符号化データのデータ量は、ｄ０×ｃ０＋ｄ１×ｃ１＋ｄ２×ｃ２＋ｄ３×ｃ３で求めることができる。
【０１０４】
以上のように、１フレームの画像データの符号化データのデータ量は、ダイナミックレンジDRが、閾値T0未満のVQブロック、閾値T0以上、かつ閾値TH1未満のADRCブロック、閾値TH1以上、かつ閾値TH2未満のADRCブロック、閾値TH2以上のADRCブロックそれぞれのブロック数（頻度）から求めることができる。
【０１０５】
このことは、１フレームの画像データの符号化データのデータ量を、閾値TH0，TH1，TH2により制御することができることを意味する。即ち、閾値TH0，TH1，TH2を制御することにより、ダイナミックレンジDRが、閾値T0未満のVQブロック、閾値T0以上、かつ閾値TH1未満のADRCブロック、閾値TH1以上、かつ閾値TH2未満のADRCブロック、閾値TH2以上のADRCブロックそれぞれのブロック数が変化し、これにより、１フレームの画像データの符号化データのデータ量も変化する。従って、閾値TH0，TH1，TH2を変えることで、１フレームの画像データの符号化データのデータ量を変えることができる。
【０１０６】
閾値設定部１６は、１フレームの画像データの符号化データのデータ量が所定値となるように、閾値TH0，TH1，TH2を設定する。
【０１０７】
図９は、図２の閾値設定部１６の構成例を示している。
【０１０８】
ブロック取得部６１は、メモリ１１から、１フレームの画像データを構成するすべてのADRCブロックとVQブロック（の画像データ）を読み出し、最小値検出部６２および最大値検出部６３に供給する。
【０１０９】
最小値検出部６２は、ブロック取得部６１から供給されたADRCブロックまたはVQブロックを構成する各画素の画素値のうちの最小値MINを検出し、DR検出部６４に供給する。
【０１１０】
同時に、最大値検出部６３は、ブロック取得部６１から供給されたADRCブロックまたはVQブロックを構成する各画素の画素値のうちの最大値MAXを検出し、DR検出部６４に供給する。
【０１１１】
DR検出部６４は、最大値検出部６３から供給される最大値MAXから、最小値検出部６２から供給される最小値MINを減算し、その減算値を、ブロック取得部６１が出力した、対応するADRCブロックまたはVQブロックのダイナミックレンジDRとして、閾値算出部６５に供給する。
【０１１２】
閾値算出部６５は、DR検出部６４からの１フレームの画像データのVQブロックとADRCブロックそれぞれのダイナミックレンジDR（の頻度分布）から図８で説明した原理により求められる、その１フレームの画像データの符号化データのデータ量が、データ量設定部６６から供給される設定値に（ほぼ）一致するように、閾値TH0，TH1、およびTH２を設定する。そして、閾値算出部６５は、閾値TH0を、評価判定部１４（図２）に供給するとともに、閾値TH1およびTH2を、ADRCエンコーダ１３（図２）に供給する。
【０１１３】
ここで、データ量設定部６６は、例えば、ユーザの操作等に応じて、１フレームの画像データの符号化データのデータ量を設定し、その設定値を、閾値算出部６５に供給する。
【０１１４】
即ち、データ量設定部６６は、例えば、ユーザ等から高画質の画像を指示する入力があった場合や、短い記録時間（あるいは、少ない枚数の画像の記録）を指示する入力があった場合には、１フレーム（または１枚）の画像データの符号化データのデータ量として大きな値を設定し、その設定値を、閾値算出部６５に供給する。この場合、符号化装置１が出力する１フレーム（または１枚）あたりの符号化データのデータ量は多くなるが、高エラー耐性、ひいては高画質の復号画像が得られるようになる。
【０１１５】
また、データ量設定部６６は、例えば、ユーザ等から低画質の画像を指示する入力があった場合や、長い記録時間（あるいは、多い枚数の画像の記録）を指示する入力があった場合には、１フレームの画像データの符号化データのデータ量として小さな値を設定し、その設定値を、閾値算出部６５に供給する。この場合、符号化装置１が出力する符号化データを復号して得られる復号画像の画質は劣化するものの、長い時間（あるいは、多い枚数）の画像の記録が可能となる。
【０１１６】
さらに、データ量設定部６６は、例えば、ユーザ等から具体的な記録時間（あるいは、記録する画像の枚数）を指示する入力があった場合には、記録媒体３（図２）の容量（空き容量）を、その記録時間（枚数）に対応する値で除算して得られる除算値を、１フレーム（１枚）の画像データの符号化データのデータ量として設定し、その設定値を、閾値算出部６５に供給する。この場合、ユーザ等が指示した記録時間（枚数）の画像の記録を保証することができる。
【０１１７】
次に、図１０のフローチャートを参照して、図２の符号化装置１の処理について説明する。
【０１１８】
メモリ１１には、画像データが供給され、メモリ１１は、その画像データを、１フレーム単位で記憶する。
【０１１９】
そして、ステップＳ１において、閾値設定部１６は、メモリ１１に記憶された１フレームの画像データを注目フレームの画像データとして、その注目フレームの画像データについて、図８および図９で説明したようにして、閾値TH0，TH1、およびTH2を設定する。さらに、ステップＳ１では、閾値設定部１６は、注目フレームについて設定した閾値TH0を、評価判定部１４に供給するとともに、閾値TH1およびTH2を、ADRCエンコーダ１３に供給する。そして、評価判定部１４は、メモリ１１に記憶された注目フレームの画像データを、評価ブロックに分割し、例えば、ラスタスキャン順に、注目ブロックとして、ステップＳ２に進む。
【０１２０】
ステップＳ２では、VQエンコーダ１２、ADRCエンコーダ１３、および評価値判定部１４は、注目ブロックを対象に処理を行う。即ち、ステップＳ２では、ステップＳ２−１，Ｓ２−２、およびＳ２−３の処理が行われる。
【０１２１】
ステップＳ２−１では、VQエンコーダ１２が、注目ブロックに対応する４つのVQブロックを符号化し、その結果得られるVQ符号化データを、選択部１５に出力する。
【０１２２】
ステップＳ２−２では、ADRCエンコーダ１３が、上述したように、注目ブロックに対応する１つのADRCブロックのダイナミックレンジDRと、閾値設定部１６からの閾値TH1，TH2それぞれとの大小関係に基づき、そのADRCブロックの各画素に対する割り当てビット数Ｋを決定する。さらに、ステップＳ２−２では、ＡＤＲＣエンコーダ１３は、ADRCブロックを、決定した割り当てビット数ＫのADRCによって符号化し、その結果得られるADRC符号化データを、選択部１５に出力する。
【０１２３】
ステップＳ２−３では、評価判定部１４が、注目ブロックの符号化に用いるべき符号化方式を判定するための評価値としての、例えば、その注目ブロックのダイナミックレンジDRを求める。
【０１２４】
その後、ステップＳ２からＳ３に進み、評価判定部１４は、ステップＳ２−３で求めた評価値としてのダイナミックレンジDRと、閾値設定部１６からの閾値TH0との大小関係に基づき、上述したようにして、注目ブロックの符号化に用いるべき符号化方式を判定し、その判定結果に基づき、VQ符号化データまたはADRC符号化データを選択すべきことを表す選択信号を、選択部１５に供給して、ステップＳ４に進む。
【０１２５】
ステップＳ４では、選択部１５は、評価判定部１４からの選択信号にしたがい、注目ブロックについて、VQエンコーダ１２が出力するVQ符号化データ、またはADRCエンコーダ１３が出力するADRC符号化データのうちの一方を選択し、注目ブロックの符号化結果として出力して、ステップＳ５に進む。
【０１２６】
ステップＳ５では、評価判定部１４は、注目フレームのすべての評価ブロックを、注目ブロックとしたかどうかを判定する。ステップＳ５において、注目フレームのすべての評価ブロックを、まだ注目ブロックとしていないと判定された場合、評価判定部１４は、ラスタスキャン順で、注目フレームにおける次の評価ブロックを、新たに注目ブロックとして、ステップＳ２に戻り、以下、同様の処理を繰り返す。
【０１２７】
また、ステップＳ５において、注目フレームのすべての評価ブロックを、注目ブロックとしたと判定された場合、ステップＳ６に進み、閾値記憶部１６は、メモリ１１に、次のフレームの画像データが記憶されたかどうかを判定する。ステップＳ６において、メモリ１１に、次のフレームの画像データが記憶されたと判定された場合、評価判定部１４は、その、次のフレームを、新たに注目フレームとして、ステップＳ１に戻り、以下、同様の処理を繰り返す。
【０１２８】
また、ステップＳ６において、メモリ１１に、次のフレームの画像データが記憶されていないと判定された場合、処理を終了する。
【０１２９】
以上のように、ADRCブロックとVQブロックのダイナミックレンジDRから求められる、符号化データのデータ量に応じて、画像データの符号化に用いるべき符号化方式を判定するのに用いられる閾値TH0を設定し、ADRCブロックまたはVQブロックに対応する評価ブロックのダイナミックレンジDRと閾値TH0との大小関係に応じて、データの符号化に、高圧縮のベクトル量子化を用いるか、または高エラー耐性のADRCを用いるかを判定するようにしたので、高画質かつ高エラー耐性の符号化を実現することができる。即ち、高エラー耐性の符号化方式であるADRCによる符号化の高エラー耐性を維持しながら、ADRCによる符号化のみの場合よりも、高圧縮率を実現することができる。
【０１３０】
さらに、ADRCブロックを符号化することにより得られるADRC符号化データに割り当てるデータ量を決定するときに用いられる閾値TH1およびTH2も設定し、ADRCブロックのダイナミックレンジDRと、閾値TH1およびTH2との大小関係に応じて、ADRCブロックの画素に割り当てる割り当てビット数Ｋを決定するようにしたので、データの符号化により生じる符号化データのデータ量を制限して、より高画質の復号画像を得ることができる符号化を行うことが可能となる。
【０１３１】
図１１は、図２の符号化装置１による１フレームの画像データの符号化の様子を示している。
【０１３２】
図１１において、太線で囲んだ正方形状のブロックは、８×８画素の評価ブロックを示している。
【０１３３】
評価ブロックの画像データが、ベクトル量子化により符号化される場合、評価ブロックに対応する（含まれる）４つの４×４画素のVQブロックが、ベクトル量子化により符号化される。また、評価ブロックの画像データが、ADRCにより符号化される場合、評価ブロックに対応する（含まれる）１つの８×８画素のADRCブロックが、ベクトル量子化により符号化される。
【０１３４】
次に、図１２は、図２の復号装置２の構成例を示している。
【０１３５】
符号化データは、符号化方式判定部１２１に供給される。符号化方式判定部１２１は、そこに供給される符号化データが、高圧縮の符号化方式であるベクトル量子化、または高エラー耐性の符号化方式であるADRCのうちのいずれの符号化方式で符号化されたものであるかを判定する。さらに、符号化方式判定部１２１は、そこに供給される符号化データが、ベクトル量子化により符号化されたVQ符号化データであると判定した場合、そのVQ符号化データを、VQデコーダ１２２に供給する。また、符号化方式判定部１２１は、そこに供給される符号化データが、ADRCにより符号化されたADRC符号化データであると判定した場合、そのADRC符号化データを、ADRCデコーダ１２３に供給する。さらに、符号化方式判定部１２１は、図２の符号化装置１においてADRCブロックをADRC符号化データに符号化する際に用いられた閾値TH1およびTH2を認識し、ADRCデコーダ１２３に供給する。
【０１３６】
VQデコーダ１２２は、VQエンコーダ１２（図２）の符号化方式に対応する復号方式で、符号化方式判定部１２１から供給されたVQ符号化データを復号し、その結果得られるVQブロックの復号結果を、合成部１２４に供給する。
【０１３７】
ADRCデコーダ１２３は、符号化方式判定部１２１から供給された閾値TH1およびTH2を用い、ADRCエンコーダ１３（図２）の符号化方式に対応する復号方式で、符号化方式判定部１２１から供給されたADRC符号化データを復号し、その結果得られるADRCブロックの復号結果を、合成部１２４に供給する。
【０１３８】
合成部１２４は、VQデコーダ１２２からのVQブロックの復号結果と、ADRCデコーダ１２３からのADRCブロックの復号結果とから、１フレーム単位の復号画像データを構成して出力する。
【０１３９】
図１３は、図１２の符号化方式判定部１２１の構成例を示している。
【０１４０】
メモリ１３１には、符号化方式判定部１２１に入力される符号化データが供給される。メモリ１３１は、そこに供給される符号化データを、例えば１フレーム単位で記憶する。
【０１４１】
閾値認識部１３２は、メモリ１３１に記憶された１フレームの符号化データを、注目フレームの符号化データとして、その注目フレームについて、符号化装置１の閾値設定部１６（図２）で設定された閾値TH0乃至TH2を認識する。そして、閾値認識部１３２は、注目フレームについての閾値TH0を、判定部１３４に供給するとともに、閾値TH1およびTH2を、ADRCデコーダ１２３に供給する。
【０１４２】
ここで、例えば、符号化装置１においては、各フレームを符号化するのに用いた閾値TH0乃至TH2の情報を、符号化データに含めるようにすることができる。この場合、閾値認識部１３２は、符号化データに含まれる情報から、注目フレームについての閾値TH0乃至TH2を認識することができる。
【０１４３】
また、閾値認識部１３２において、各フレームの符号化データのデータ量を把握している場合には、注目フレームについての閾値TH0乃至TH2は、その注目フレームの符号化データに含まれる（VQブロックとADRCブロックの）ダイナミックレンジDRと、注目フレームの符号化データのデータ量から、図８および図９で説明した場合と同様に、即ち、図９の閾値算出部６５における場合と同様にして求めることができる。
【０１４４】
一方、DR検出部１３３は、メモリ１３１から注目フレームの符号化データを順次読み出し、その符号化データに含まれるVQブロックまたはADRCブロックのダイナミックレンジDRを検出して、判定部１３４に供給する。判定部１３４は、閾値認識部１３２からの閾値TH0と、DR検出部１３３からのダイナミックレンジDRとの大小関係に基づいて、そのダイナミックレンジDRを含む符号化データが、ベクトル量子化により符号化されたVQ符号化データであるのか、またはADRCにより符号化されたADRC符号化データであるのかを判定し、その判定結果に基づいて、出力部１３５を制御する。
【０１４５】
即ち、出力部１３５は、DR検出部１３３がメモリ１３１から読み出しのと同一の符号化データを読み出す。
【０１４６】
そして、判定部１３４は、DR検出部１３３からのダイナミックレンジDRが閾値TH0より小さい場合、そのダイナミックレンジDRを含む符号化データが、ベクトル量子化により符号化されたVQ符号化データであると判定し、出力部１３５に、メモリ１３１から読み出した符号化データを、VQ符号化データとして、VQデコーダ１２２（図１２）に出力させる。
【０１４７】
また、判定部１３４は、DR検出部１３３からのダイナミックレンジDRが閾値TH0以上の場合、そのダイナミックレンジDRを含む符号化データが、ADRCにより符号化されたADRC符号化データであると判定し、出力部１３５に、メモリ１３１から読み出した符号化データを、ADRC符号化データとして、ADRCデコーダ１２３（図１２）に出力させる。
【０１４８】
次に、図１４は、図１２のVQデコーダ１２２の構成例を示している。
【０１４９】
符号化方式判定部１２１（図１２）が出力するVQ符号化データは、分離部１４１に供給される。ここで、１つのVQブロックのVQ符号化データは、図４に示したように、そのVQブロックのダイナミックレンジDR、最小値MIN、およびVQコードから構成される。
【０１５０】
分離部１４１は、符号化方式判定部１２１からのVQ符号化データを、ダイナミックレンジDR、最小値MIN、およびVQコードに分離し、VQコードをベクトル逆量子化部１４２に、ダイナミックレンジDRを逆正規化部１４４に、最小値MINを加算部１４５に、それぞれ供給する。
【０１５１】
ベクトル逆量子化部１４２は、コードブック記憶部１４３に記憶されたコードブックを参照し、分離部１４１からのVQコードをベクトル逆量子化する。即ち、コードブック記憶部１４３は、図３のコードブック記憶部２８と同一のコードブックを記憶しており、ベクトル逆量子化部１４２は、このコードブックに基づいて、分離部１４１からのVQコードに対応する、VQブロックを構成する４×４画素と同一の数のコンポーネントを有するコードベクトル（セントロイドベクトル）を求める。さらに、ベクトル逆量子化部１４２は、そのコードベクトルのコンポーネントを画素値とする４×４画素のVQブロックを、逆正規化部１４４に供給する。
【０１５２】
逆正規化部１４４は、ベクトル逆量子化部１４２から供給されたVQブロックを構成する４×４画素の画素値それぞれに対して、分離部１４１から供給されたダイナミックレンジDRを乗算し、その乗算値それぞれを画素値とする４×４画素のVQブロックを、加算部１４５に供給する。
【０１５３】
加算部１４５は、逆正規化部１４４から供給されたVQブロックを構成する４×４画素の画素値それぞれに対して、分離部１４１から供給された最小値MINを加算し、その加算値それぞれを画素値とする４×４画素のVQブロックを、１つのVQブロックのVQ符号化データの復号結果として出力する。
【０１５４】
次に、図１５は、図１２のADRCデコーダ１２３の構成例を示している。
【０１５５】
符号化方式判定部１２１（図１２）が出力するADRC符号化データは、分離部１５１に供給される。ここで、１つのADRCブロックのADRC符号化データは、図６に示したように、そのADRCブロックのダイナミックレンジDR、最小値MIN、およびADRCコードから構成される。
【０１５６】
分離部１５１は、符号化方式判定部１２１からのADRC符号化データを、ダイナミックレンジDR、最小値MIN、およびADRCコードに分離し、ADRCコードを逆量子化部１５３に、ダイナミックレンジDRをビット数認識部１５２に、最小値MINを加算部１５４に、それぞれ供給する。
【０１５７】
ビット数認識部１５２は、分離部１５１からのダイナミックレンジDRに応じて、ADRCブロックの各画素に対して割り当てられた割り当てビット数Ｋを認識する。
【０１５８】
即ち、ビット数認識部１５２には、符号化方式判定部１２１（図１２）から閾値TH1およびTH2も供給されるようになっている。そして、ビット数認識部１５２は、分離部１５１からのダイナミックレンジDRと、符号化方式判定部１２１からの閾値TH1およびTH2との大小関係に基づき、図５のビット数決定部４６における場合と同様にして、ADRCブロックの各画素に対して割り当てられた割り当てビット数Ｋを認識する。さらに、ビット数認識部１５２は、分離部１５１からのダイナミックレンジDRを２の割り当てビット数Ｋ乗（２K）で除算した除算値DR/２Kを、量子化ステップとして、逆量子化部１５３に供給する。
【０１５９】
逆量子化部１５３は、分離部１５１からのADRCコードを、ビット数認識部１５２から供給される量子化ステップDR/２Kにしたがって逆量子化する。即ち、ADRCコードは、ADRCブロックを構成する８×８画素の画素値それぞれの、量子化ステップDR/２Kによる量子化結果であるから、その８×８画素それぞれの量子化値が含まれる。逆量子化部１５３は、ADRCコードに含まれる８×８画素それぞれの量子化値それぞれに、量子化ステップDR/２Kを乗算し、その乗算値を画素値とする８×８画素のADRCブロックを、加算部１５４に供給する。
【０１６０】
加算部１５４は、逆量子化部１５３から供給されたADRCブロックを構成する８×８画素の画素値それぞれに対して、分離部１５１から供給された最小値MINを加算し、その加算値それぞれを画素値とする８×８画素のADRCブロックを、１つのADRCブロックのADRC符号化データの復号結果として出力する。
【０１６１】
次に、図１６のフローチャートを参照して、図１２の復号装置２の処理について説明する。
【０１６２】
符号化方式判定部１２１は、１フレームの符号化データが供給されると、その１フレームを注目フレームとし、ステップＳ２１において、その注目フレームについて、符号化装置１が設定した閾値TH0乃至TH2を認識し、そのうちの閾値TH1およびTH2を、ADRCデコーダ１２３に供給する。
【０１６３】
そして、ステップＳ２２に進み、符号化方式判定部１２１は、注目フレームの、あるVQブロックまたはADRCブロックの符号化データの符号化方式を、その符号化データに含まれるダイナミックレンジDRと、注目フレームについての閾値TH0との大小関係に基づき、上述したように判定する。
【０１６４】
ステップＳ２２において、符号化方式がベクトル量子化であると判定された場合、即ち、符号化データがVQ符号化データである場合、ステップＳ２３に進み、符号化方式判定部１２１は、そのVQ符号化データを、VQデコーダ１２２に出力し、ステップＳ２４に進む。ステップＳ２４では、VQデコーダ１２２は、符号化方式判定部１２１からのVQ符号化データを復号し、その結果得られるVQブロックの復号結果を、合成部１２４に供給して、ステップＳ２７に進む。
【０１６５】
一方、ステップＳ２２において、符号化方式がADRCであると判定された場合、即ち、符号化データがADRC符号化データであると判定された場合、ステップＳ２５に進み、符号化方式判定部１２１は、そのADRC符号化データを、ADRCデコーダ１２３に出力し、ステップＳ２６に進む。ステップＳ２６では、ADRCデコーダ１２３は、符号化方式判定部１２１からのADRC符号化データに含まれるダイナミックレンジDRと、同じく符号化方式判定部１２１からの注目フレームについての閾値TH1およびTH2との大小関係に基づいて、ADRCブロックの画素に対する割り当てビット数Ｋ、ひいては、量子化ステップDR／２Kを求め、その量子化ステップDR／２Kを用いて、図１５で説明したように、符号化方式判定部１２１からのADRC符号化データを復号する。そして、ADRCデコーダ１２３は、その復号の結果得られるADRCブロックの復号結果を、合成部１２４に供給して、ステップＳ２７に進む。
【０１６６】
ステップＳ２７では、符号化方式判定部１２１が、注目フレームについて、復号すべき符号化データが、まだあるかどうかを判定する。ステップＳ２７において、注目フレームについて、復号すべき符号化データがあると判定された場合、ステップＳ２２に戻り、注目フレームの中の、まだ復号していない符号化データを対象に、以下、同様の処理が繰り返される。
【０１６７】
また、ステップＳ２７において、注目フレームについて、復号すべき符号化データがないと判定された場合、即ち、注目フレームのすべての符号化データの復号が終了した場合、合成部１２４は、その注目フレームの復号結果を出力し、ステップＳ２８に進む。
【０１６８】
ここで、合成部１２４は、図示せぬメモリを内蔵しており、そのメモリに、VQデコーダ１２２から出力されるVQブロックの復号結果と、ADRCデコーダ１２３から出力されるADRCブロックの復号結果を記憶させる。そして、合成部１２４は、メモリに、VQブロックとADRCブロックの復号結果を記憶させることによって、１フレーム単位の復号画像データを構成して出力する。
【０１６９】
ステップＳ２８では、符号化方式判定部１２１が、次のフレームの符号化データがあるかどうかを判定する。ステップＳ２８において、次のフレームの符号化データがあると判定された場合、その、次のフレームを、新たに注目フレームとして、ステップＳ２１に戻り、以下、同様の処理が繰り返される。
【０１７０】
また、ステップＳ２８において、次のフレームの符号化データがないと判定された場合、処理を終了する。
【０１７１】
以上のように、復号装置２では、符号化データの符号化方式を判定するようにしたので、ベクトル量子化により得られるVQ符号化データと、ADRCにより得られるADRC符号化データとが混在する符号化データを復号し、高画質の復号画像を得ることができる。
【０１７２】
また、符号化装置１では、ダイナミックレンジDRに基づき、ベクトル量子化またはADRCのうちのいずれの符号化方式を採用するかを決定するようにしたので、復号装置２においても、符号化データが、VQ符号化データまたはADRC符号化データのうちのいずれであるかは、その符号化データに含まれるダイナミックレンジDRに基づき、判定することが可能となる。
【０１７３】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０１７４】
そこで、図１７は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０１７５】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク２０５やＲＯＭ２０３に予め記録しておくことができる。
【０１７６】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体２１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体２１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０１７７】
なお、プログラムは、上述したようなリムーバブル記録媒体２１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部２０８で受信し、内蔵するハードディスク２０５にインストールすることができる。
【０１７８】
コンピュータは、CPU(Central Processing Unit)２０２を内蔵している。CPU２０２には、バス２０１を介して、入出力インタフェース２１０が接続されており、CPU２０２は、入出力インタフェース２１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部２０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)２０３に格納されているプログラムを実行する。あるいは、また、CPU２０２は、ハードディスク２０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部２０８で受信されてハードディスク２０５にインストールされたプログラム、またはドライブ２０９に装着されたリムーバブル記録媒体２１１から読み出されてハードディスク２０５にインストールされたプログラムを、RAM(Random Access Memory)２０４にロードして実行する。これにより、CPU２０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU２０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース２１０を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部２０６から出力、あるいは、通信部２０８から送信、さらには、ハードディスク２０５に記録等させる。
【０１７９】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０１８０】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０１８１】
なお、図１の画像処理システムは、動画および静止画のいずれも処理することが可能である。
【０１８２】
また、本実施の形態では、画像データの符号化と復号を行うようにしたが、本発明は、その他、例えば、音声データの符号化と復号に適用することが可能である。この場合、高音質の音声の復号結果を得ることができる。
【０１８３】
さらに、本実施の形態では、固定長の符号化方式として、高圧縮の符号化方式でもあるベクトル量子化を採用するとともに、可変長の符号化方式として、高エラー耐性の符号化方式でもあるADRCを採用することとしたが、固定長の符号化方式は、ベクトル量子化に限定されるものではなく、可変長の符号化方式も、ADRCに限定されるものではない。
【０１８４】
また、本実施の形態では、ADRCの際、ADRCブロックの各画素値から、その最小値MINを減算するようにしたが、ADRCブロックの各画素値から減算する値としては、最小値MINの他、例えば、ADRCブロックの画素値の平均値、その他の任意の値を採用することが可能である。
【０１８５】
さらに、本実施の形態では、ADRCの際、ADRCブロックの各画素値を、そのダイナミックレンジDRに対応した値であるDR/２Kで正規化（量子化）するようにしたが、ADRCブロックの各画素値の正規化は、その他、例えば、ADRCブロックの最大値MAXに対応した値であるMAX/２Kなどの値によって行うことが可能である。
【０１８６】
ベクトル量子化の際にVQブロックの各画素値から減算する値や、その正規化に用いる値についても同様である。
【０１８７】
また、本実施の形態では、ダイナミックレンジDRと閾値TH0との大小関係に基づき、ベクトル量子化またはADRCのいずれにより符号化を行うかを判定し、さらに、ADRCにより符号化を行う場合には、ダイナミックレンジDRと、２つの閾値TH1，TH2それぞれとの大小関係に基づき、ADRCブロックの各画素に割り当てる割り当てビット数Ｋを決定するようにしたが、ADRCブロックの各画素に割り当てる割り当てビット数Ｋは、その他、例えば、ダイナミックレンジDRと１つの閾値との大小関係や、ダイナミックレンジDRと３以上の閾値それぞれとの大小関係に基づいて決定することが可能である。
【図面の簡単な説明】
【０１８８】
【図１】本発明を適用した画像処理システムの一実施の形態の構成例を示す図である。
【図２】符号化装置１の構成例を示すブロック図である。
【図３】VQエンコーダ１２の構成例を示すブロック図である。
【図４】VQ符号化データのフォーマットを示す図である。
【図５】ADRCエンコーダ１３の構成例を示すブロック図である。
【図６】ADRC符号化データのフォーマットを示す図である。
【図７】評価判定部１４の構成例を示すブロック図である。
【図８】ダイナミックレンジDRの頻度分布を示す図である。
【図９】閾値設定部１６の構成例を示すブロック図である。
【図１０】符号化装置１の処理を説明するフローチャートである。
【図１１】符号化装置１による１フレームの画像データの符号化結果を示す図である。
【図１２】復号装置２の構成例を示すブロック図である。
【図１３】符号化方式判定部１２１の構成例を示すブロック図である。
【図１４】VQデコーダ１２２の構成例を示すブロック図である。
【図１５】ADRCデコーダ１２３の構成例を示すブロック図である。
【図１６】復号装置２の処理を説明するフローチャートである。
【図１７】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０１８９】
１  符号化装置，  ２  復号装置，  ３  記録媒体，  ４  伝送媒体，  １１  メモリ，  １２  VQエンコーダ，  １３  ADRCエンコーダ，  １４  評価判定部，  １５  選択部，  １６  閾値設定部，  ２１  ブロック取得部，  ２２  最小値検出部，  ２３  最大値検出部，  ２４  DR検出部，  ２５  差分演算部，  ２６  正規化部，  ２７  ベクトル量子化部，  ２８  コードブック記憶部，  ２９  バッファ，  ４１  ブロック取得部，  ４２  最小値検出部，  ４３  最大値検出部，  ４４  DR検出部，  ４５  差分演算部，  ４６  ビット数決定部，  ４７  量子化部，  ４８  バッファ，  ６１  ブロック取得部，  ６２  最小値検出部，  ６３  最大値検出部，  ６４  DR検出部，  ６５  閾値算出部，  ６６  データ量設定部，  １１１  ブロック取得部，  １１２  最小値検出部，  １１３  最大値検出部，  １１４  DR検出部，  １１５  DR判定部，  １２１  符号化方式判定部，  １２２  VQデコーダ，  １２３  ADRCデコーダ，  １２４  合成部，  １３１  メモリ，  １３２  閾値認識部，  １３３  DR検出部，  １３４  判定部，  １３５  出力部，  １４１  分離部，  １４２  ベクトル逆量子化部，  １４３  コードブック記憶部，  １４４  逆正規化部，  １４５  加算部，  １５１  分離部，  １５２  ビット数認識部，  １５３  逆量子化部，  １５４  加算部，  ２０１  バス，  ２０２  CPU，  ２０３  ROM，  ２０４  RAM，  ２０５  ハードディスク，  ２０６  出力部，  ２０７  入力部，  ２０８  通信部，  ２０９  ドライブ，  ２１０  入出力インタフェース，  ２１１  リムーバブル記録媒体
【図１】
0004639582.tif 000002
【図２】
0004639582.tif 000003
【図３】
0004639582.tif 000004
【図４】
0004639582.tif 000005
【図５】
0004639582.tif 000006
【図６】
0004639582.tif 000007
【図７】
0004639582.tif 000008
【図８】
0004639582.tif 000009
【図９】
0004639582.tif 000010
【図１０】
0004639582.tif 000011
【図１１】
0004639582.tif 000012
【図１２】
0004639582.tif 000013
【図１３】
0004639582.tif 000014
【図１４】
0004639582.tif 000015
【図１５】
0004639582.tif 000016
【図１６】
0004639582.tif 000017
【図１７】
0004639582.tif 000018