JP4374712B2 - Data processing apparatus, data processing method, and recording medium - Google Patents
Data processing apparatus, data processing method, and recording medium Download PDFInfo
- Publication number
- JP4374712B2 JP4374712B2 JP2000102131A JP2000102131A JP4374712B2 JP 4374712 B2 JP4374712 B2 JP 4374712B2 JP 2000102131 A JP2000102131 A JP 2000102131A JP 2000102131 A JP2000102131 A JP 2000102131A JP 4374712 B2 JP4374712 B2 JP 4374712B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- value
- values
- image
- reference data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Editing Of Facsimile Originals (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、データ処理装置およびデータ処理方法、並びに記録媒体に関し、特に、例えば、画像等を、高圧縮すること等ができるようにするデータ処理装置およびデータ処理方法、並びに記録媒体に関する。
【0002】
【従来の技術】
例えば、画像その他のデータを圧縮する方法としては、ハフマン符号化等のエントロピー符号化を用いる方法がある。
【0003】
エントロピー符号化は、ビット列に対し統計的な性質を利用してより少ないビット列に変換する可逆符号化であり、例えば、ハフマン符号化が該当する。ハフマン符号化では、出現頻度の高い値に対して、短い符号語を割り当てる一方、出現頻度の低い値に対して、長い符号語を割り当てることで、データの圧縮が行われる。
【0004】
このため、画像を、ハフマン符号化によって圧縮する場合には、その画像を構成する各画素について、その画素に隣接する画素(隣接画素)との差分を計算し、その差分値を、ハフマン符号化することが行われる。
【0005】
即ち、画像を構成する画素の画素値そのものの度数分布には、ある程度の偏りはあるものの、一般には、それほど大きな偏りはない。これに対して、差分値は、隣接する画素どうしの差であり、一般には、0付近に集中するため、その度数分布は、0付近を最大度数とする比較的急峻な、大きな偏りを有するものとなる。
【0006】
従って、差分値を対象として、ハフマン符号化を行うことにより、画素値そのものを対象とする場合に比較して、圧縮率を大きく向上させることができる。
【0007】
【発明が解決しようとする課題】
ここで、画素値どうしの単純な差分値は、元の画素値がNビットで表されるとすると、最大でN+1ビットで表される値になる。即ち、例えば、画素値が、0乃至255の範囲の8ビットで表されるとすると、そのような画素どうしの単純な差分は、−255乃至+255の範囲の値となり、その表現に、9ビットが必要となる。この場合、差分値がとり得る値の数は、元の画素値がとり得る値の数のほぼ2倍になるから、ハフマン符号化において必要となる符号語の数も2倍となり、圧縮率を劣化させることになる。
【0008】
そこで、差分をとる2つの画素値どうしの大小関係を判定し、その判定結果に基づいて、差分値を計算する方法を変えることにより、上述のような差分値のビット数の増加を防止する方法がある。
【0009】
即ち、差分値を計算しようとして注目している注目画素(の画素値)Aが、それに隣接する隣接画素(の画素値)B以上である場合には、注目画素Aから隣接画素Bを減算し、その減算値を、そのまま差分データCとする。具体的には、例えば、注目画素値Aが200で、隣接画素値Bが10である場合には、200−10=190が、差分値Cとされる。
【0010】
一方、注目画素Aが、隣接画素Bより小さい場合には、注目画素Aから隣接画素Bを減算し、その減算値に、ある値を加算し、その加算結果を、差分値とする。即ち、画素がNビットで表現されるとすると、注目画素Aから隣接画素Bを減算して得られる減算値に、2Nを加算し、その加算結果を、差分値Cとする。具体的には、例えば、画素が8ビットで表され、注目画素値Aが10で、隣接画素値Bが200である場合には、10−200+28=66が、差分値Cとされる。
【0011】
以上のような差分値Cを求めるようにすることで、その差分値Cのビット数は、元の画素のビット数と変わらない(元の画素がNビットで表現されるものであれば、差分データもNビットで表現することができる)。従って、差分値のビット数が増加することによる圧縮率の低下を防止することができる。
【0012】
なお、以上のようにして求められた差分値Cは、次のようにして、元の画素(注目画素)Aに復元することができる。
【0013】
即ち、まず、差分値Cを隣接画素Bと加算し、その加算値を求める。そして、いま、画素がNビットで表されるとすると、その加算値が2N−1以下である場合には、その加算値が、そのまま、元の画素Aの復元結果となる。
【0014】
一方、差分値Cとを隣接画素Bとの加算値が2N−1より大きい場合には、その加算値から、2Nを減算する。この場合、その減算値が、元の画素Aの復元結果となる。
【0015】
以上のようにすることで、ある画素Aと、他の画素Bとの差分を、そのビット数を増加させずに表現することができ、さらに、その差分を、元の画素Aに復元することができる。
【0016】
なお、この場合、差分値の度数分布は、0および2N−1付近を最大度数とする比較的急峻な、大きな偏りを有するものとなる。
【0017】
以上のように、隣接する画素どうしの差分値の度数分布は、ある値を中心として比較的急峻な、大きな偏りを有する分布となるが、画像について、より急峻で、より大きな偏りを有する度数分布が得られれば、より高い圧縮率を実現することができる。
【0018】
本発明は、このような状況に鑑みてなされたものであり、画像その他のデータを、より高い圧縮率で圧縮することができるようにするものである。
【0019】
【課題を解決するための手段】
本発明の第1のデータ処理装置は、第1のデータは近接する値の間に相関があり、第1のデータが取り得る値を順に基準データの値として設定し、第1のデータのうちの、基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、基準データの値ごとに生成する度数分布生成手段と、基準データの値ごとの第1のデータの値の度数分布に基づいて、基準データの値ごとに、変換テーブルを生成するテーブル生成手段とを備えることを特徴とする。
【0021】
第1のデータ処理装置において、度数分布生成手段には、基準データに対して、時間的または空間的に隣接する第1のデータの値の度数分布を生成させることができる。
【0022】
第1のデータ処理装置において、テーブル生成手段には、基準データに対して度数分布が求められた各値の第1のデータに対して、その度数の昇順または降順に、第2のデータを割り当てることにより、基準データの値ごとの変換テーブルを生成させることができる。
【0023】
第1のデータ処理装置において、第1のデータは、画像を構成する画素値とすることができる。
【0024】
本発明の第1のデータ処理方法は、第1のデータは近接する値の間に相関があり、第1のデータが取り得る値を順に基準データの値として設定し、第1のデータのうちの、基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、基準データの値ごとに生成する度数分布生成ステップと、基準データの値ごとの第1のデータの値の度数分布に基づいて、基準データの値ごとに、変換テーブルを生成するテーブル生成ステップとを備えることを特徴とする。
【0025】
本発明の第1の記録媒体は、第1のデータは近接する値の間に相関があり、第1のデータが取り得る値を順に基準データの値として設定し、第1のデータのうちの、基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、基準データの値ごとに生成する度数分布生成ステップと、基準データの値ごとの第1のデータの値の度数分布に基づいて、基準データの値ごとに、変換テーブルを生成するテーブル生成ステップとを備えるプログラムが記録されていることを特徴とする。
【0026】
本発明の第2のデータ処理装置は、変換対象となる第1のデータを所定の順番で選択するとともに、その選択された第1のデータに対して所定の位置関係にある他の第1のデータを、基準データとして選択する選択手段と、基準データの値ごとに生成され、第1および第2のデータが対応付けられた変換テーブルに基づいて、第1のデータを、第2のデータに変換する変換手段とを備え、第1のデータは、近接する値の間に相関があり、変換テーブルは、第1のデータが取り得る値を順に基準データの値として設定し、第1のデータのうちの、基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第1のデータの値の度数分布に基づいて、基準データの値ごとに生成されたものであり、変換手段は、基準データの値ごとに生成された変換テーブルのうち、選択手段により選択された基準データに対応するものを参照し、選択手段により選択された変換対象の第1のデータを、その第1のデータに対応付けられている第2のデータに変換することを特徴とする。
【0029】
第2のデータ処理装置において、変換テーブルは、第1のデータのうちの所定の値のデータを基準データとして、第1のデータのうちの、基準データに対して時間的または空間的に隣接するものの度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第1のデータの値の度数分布に基づいて、基準データの値ごとに生成されたものとすることができる。
【0030】
第2のデータ処理装置において、変換テーブルは、基準データに対して度数分布が求められた各値の第1のデータに対して、その度数の昇順または降順に、第2のデータを割り当てることにより、基準データの値ごとに生成されたものとすることができる。
【0031】
第2のデータ処理装置において、第1のデータは、画像を構成する画素値とすることができる。
【0032】
第2のデータ処理装置には、基準データの値ごとの変換テーブルを記憶する記憶手段をさらに設けることができる。
【0033】
第2のデータ処理装置には、基準データの値ごとの変換テーブルを生成する生成手段をさらに設けることができる。
【0034】
第2のデータ処理装置には、第1のデータを変換して得られる第2のデータを圧縮する圧縮手段をさらに設けることができる。
【0035】
本発明の第2のデータ処理方法は、変換対象となる第1のデータを所定の順番で選択するとともに、その選択された第1のデータに対して所定の位置関係にある他の第1のデータを、基準データとして選択する選択ステップと、基準データの値ごとに生成され、第1および第2のデータが対応付けられた変換テーブルに基づいて、第1のデータを、第2のデータに変換する変換ステップとを備え、第1のデータは、近接する値の間に相関があり、変換テーブルは、第1のデータが取り得る値を順に基準データの値として設定し、第1のデータのうちの、基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第1のデータの値の度数分布に基づいて、基準データの値ごとに生成されたものであり、変換ステップにおいて、基準データの値ごとに生成された変換テーブルのうち、選択ステップにおいて選択された基準データに対応するものを参照し、選択ステップにおいて選択された変換対象の第1のデータを、その第1のデータに対応付けられている第2のデータに変換することを特徴とする。
【0036】
本発明の第2の記録媒体は、変換対象となる第1のデータを所定の順番で選択するとともに、その選択された第1のデータに対して所定の位置関係にある他の第1のデータを、基準データとして選択する選択ステップと、基準データの値ごとに生成され、第1および第2のデータが対応付けられた変換テーブルに基づいて、第1のデータを、第2のデータに変換する変換ステップとを備え、第1のデータは、近接する値の間に相関があり、変換テーブルは、第1のデータが取り得る値を順に基準データの値として設定し、第1のデータのうちの、基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第1のデータの値の度数分布に基づいて、基準データの値ごとに生成されたものであり、変換ステップにおいて、基準データの値ごとに生成された変換テーブルのうち、選択ステップにおいて選択された基準データに対応するものを参照し、選択ステップにおいて選択された変換対象の第1のデータを、その第1のデータに対応付けられている第2のデータに変換するプログラムが記録されていることを特徴とする。
【0037】
本発明の第3のデータ処理装置は、逆変換対象となる第2のデータを所定の順番で選択するとともに、その選択された第2のデータに対して所定の位置関係にある、既に逆変換された第1のデータを、基準データとして選択する選択手段と、基準データの値ごとに生成され、第1および第2のデータが対応付けられた変換テーブルに基づいて、第2のデータを、第1のデータに逆変換する逆変換手段とを備え、第1のデータは、近接する値の間に相関があり、変換テーブルは、第1のデータが取り得る値を順に基準データの値として設定し、第1のデータのうちの、基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第1のデータの値の度数分布に基づいて、基準データの値ごとに生成されたものであり、逆変換手段は、基準データの値ごとに生成された変換テーブルのうち、選択手段により選択された基準データに対応するものを参照し、選択手段により選択された逆変換対象の第2のデータを、その第2のデータに対応付けられている第1のデータに変換し、選択手段は、最初に逆変換対象となる第2のデータについての基準データとして、その第2のデータと同一の値、または、所定の値を使用することを特徴とする。
【0040】
第3のデータ処理装置において、変換テーブルは、第1のデータのうちの所定の値のデータを基準データとして、第1のデータのうちの、基準データに対して時間的または空間的に隣接するものの度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第1のデータの値の度数分布に基づいて、基準データの値ごとに生成されたものとすることができる。
【0041】
第3のデータ処理装置において、変換テーブルは、基準データに対して度数分布が求められた各値の第1のデータに対して、その度数の昇順または降順に、第2のデータを割り当てることにより、基準データの値ごとに生成されたものとすることができる。
【0042】
第3のデータ処理装置において、第1のデータは、画像を構成する画素値とすることができる。
【0043】
第3のデータ処理装置には、基準データの値ごとの変換テーブルを記憶する記憶手段をさらに設けることができる。
【0044】
第3のデータ処理装置には、基準データの値ごとの変換テーブルを取得する取得手段をさらに設けることができる。
【0045】
第3のデータ処理装置には、圧縮された第2のデータを伸張する伸張手段をさらに設けることができる。
【0046】
本発明の第3のデータ処理方法は、逆変換対象となる第2のデータを所定の順番で選択するとともに、その選択された第2のデータに対して所定の位置関係にある、既に逆変換された第1のデータを、基準データとして選択する選択ステップと、基準データの値ごとに生成され、第1および第2のデータが対応付けられた変換テーブルに基づいて、第2のデータを、第1のデータに逆変換する逆変換ステップとを備え、第1のデータは、近接する値の間に相関があり、変換テーブルは、第1のデータが取り得る値を順に基準データの値として設定し、第1のデータのうちの、基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第1のデータの値の度数分布に基づいて、基準データの値ごとに生成されたものであり、逆変換ステップにおいて、基準データの値ごとに生成された変換テーブルのうち、選択ステップにおいて選択された基準データに対応するものを参照し、選択ステップにおいて選択された逆変換対象の第2のデータを、その第2のデータに対応付けられている第1のデータに変換し、選択ステップにおいて、最初に逆変換対象となる第2のデータについての基準データとして、その第2のデータと同一の値、または、所定の値を使用することを特徴とする。
【0047】
本発明の第3の記録媒体は、逆変換対象となる第2のデータを所定の順番で選択するとともに、その選択された第2のデータに対して所定の位置関係にある、既に逆変換された第1のデータを、基準データとして選択する選択ステップと、基準データの値ごとに生成され、第1および第2のデータが対応付けられた変換テーブルに基づいて、第2のデータを、第1のデータに逆変換する逆変換ステップとを備え、第1のデータは、近接する値の間に相関があり、変換テーブルは、第1のデータが取り得る値を順に基準データの値として設定し、第1のデータのうちの、基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第1のデータの値の度数分布に基づいて、基準データの値ごとに生成されたものであり、逆変換ステップにおいて、基準データの値ごとに生成された変換テーブルのうち、選択ステップにおいて選択された基準データに対応するものを参照し、選択ステップにおいて選択された逆変換対象の第2のデータを、その第2のデータに対応付けられている第1のデータに変換し、選択ステップにおいて、最初に逆変換対象となる第2のデータについての基準データとして、その第2のデータと同一の値、または、所定の値を使用するプログラムが記録されていることを特徴とする。
【0073】
本発明の第1のデータ処理装置およびデータ処理方法、並びに記録媒体においては、第1のデータは近接する値の間に相関があり、第1のデータが取り得る値を順に基準データの値として設定し、第1のデータのうちの、基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布が、基準データの値ごとに生成され、基準データの値ごとの第1のデータの値の度数分布に基づいて、基準データの値ごとに、変換テーブルが生成される。
【0074】
本発明の第2のデータ処理装置およびデータ処理方法、並びに記録媒体においては、変換対象となる第1のデータが所定の順番で選択されるとともに、その選択された第1のデータに対して所定の位置関係にある他の第1のデータが、基準データとして選択される。そして、基準データの値ごとに生成され、第1および第2のデータが対応付けられた変換テーブルに基づいて、第1のデータが、第2のデータに変換される。さらに、第1のデータは、近接する値の間に相関があり、変換テーブルは、第1のデータが取り得る値を順に基準データの値として設定し、第1のデータのうちの、基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第1のデータの値の度数分布に基づいて、基準データの値ごとに生成されたものである。そして、基準データの値ごとに生成された変換テーブルのうち、選択された基準データに対応するものが参照され、選択された変換対象の第1のデータが、その第1のデータに対応付けられている第2のデータに変換される。
【0075】
本発明の第3のデータ処理装置およびデータ処理方法、並びに記録媒体においては、第2のデータが選択されるとともに、その選択された第2のデータに対して所定の位置関係にある、既に逆変換された第1のデータが、基準データとして選択される。そして、基準データの値ごとに生成され、第1および第2のデータが対応付けられた変換テーブルに基づいて、第2のデータが、第1のデータに逆変換される。さらに、第1のデータは、近接する値の間に相関があり、変換テーブルは、第1のデータが取り得る値を順に基準データの値として設定し、第1のデータのうちの、基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、基準データの値ごとに生成し、その、基準データの値ごとの第1のデータの値の度数分布に基づいて、基準データの値ごとに生成されたものである。そして、基準データの値ごとに生成された変換テーブルのうち、選択された基準データに対応するものが参照され、選択された逆変換対象の第2のデータが、その第2のデータに対応付けられている第1のデータに変換される。なお、最初に逆変換対象となる第2のデータについての基準データとして、その第2のデータと同一の値、または、所定の値が使用される。
【0078】
【発明の実施の形態】
図1は、本発明を適用した画像変換装置の一実施の形態の構成例を示している。
【0079】
この画像変換装置においては、画像データが、隣接する画素どうしの差分値以上に、急峻で大きな偏りを有する度数分布となるようなデータに変換されるようになっている。
【0080】
即ち、フレームメモリ1には、変換の対象であるディジタル画像データが、例えば、1フレームごとに供給されるようになっており、フレームメモリ1は、そこに供給される画像データを、順次記憶する。
【0081】
コードテーブル作成部2は、画像データを構成する画素値を変換するのに用いるコードテーブルを、画像データを構成する画素値が取り得る値ごとに作成(生成)し、コードテーブル記憶部3に供給する。
【0082】
なお、コードテーブル作成部2においては、フレームメモリ1に記憶された各フレームごとの画像データを用いて、そのフレームに使用するコードテーブルを作成することもできるし、コードテーブル作成用にあらかじめ用意された画像データを用いて、すべてのフレームに共通に使用するコードテーブルを作成することもできる。
【0083】
コードテーブル記憶部3は、コードテーブル作成部2から供給されるコードテーブルを一時記憶する。
【0084】
変換対象画素取得部4は、フレームメモリ1に記憶されたフレームを構成する画素(画素値)を、いわゆるラスタスキャン順に読み出し(取得し)、読み出した画素を、コードテーブル記憶部3に記憶されたコードテーブルにしたがって変換する対象(以下、適宜、変換対象画素という)として、変換部6に供給する。
【0085】
基準画素取得部5は、変換対象画素に対して所定の位置関係にある画素を、フレームメモリ1から読み出し(取得し)、基準画素として、変換部6に出力する。即ち、基準画素取得部5は、変換対象画素に対して空間的または時間的に隣接する画素等の、近い位置にある画素を、基準画素として、フレームメモリ1から読み出し、変換部6に出力する。なお、本実施の形態では、基準画素取得部5は、例えば、変換対象画素の左隣の画素を、基準画素として、フレームメモリ1から読み出すものとする。
【0086】
変換部6は、コードテーブル記憶部3に記憶された、画素値が取り得る値ごとのコードテーブルのうち、基準画素取得部5からの基準画素の画素値に対するものを参照し、そのコードテーブルにしたがって、変換対象画素取得部4からの変換対象画素の画素値を変換する。さらに、変換部6は、その変換後の画素値を、フレームメモリ7に供給する。
【0087】
フレームメモリ7は、変換部6からの、変換対象画素の変換後の画素値を、対応する位置のアドレスに記憶し、1フレーム分の画素値を記憶すると、そのような画素値でなる画像(以下、適宜、変換画像という)を出力する。
【0088】
次に、図2は、図1のコードテーブル作成部2の構成例を示している。
【0089】
フレームメモリ11には、コードテーブルの作成に用いる画像データであるコードテーブル作成用画像データが供給されるようになっており、フレームメモリ11は、そのコードテーブル作成用画像データを記憶する。
【0090】
ここで、上述したように、コードテーブル作成用画像データは、図1のフレームメモリ1に記憶された画像データであっても良いし、コードテーブルの作成用にあらかじめ用意された画像データであっても良い。
【0091】
画素選択部12は、フレームメモリ11に記憶された画像データのフレームを構成する画素のうち、ある画素値のものを、基準画素として選択する。さらに、画素選択部12は、その選択した基準画素について、図1の変換対象画素取得部4が取得する変換対象画素と、その変換対象画素に対して、基準画素取得部5が取得する基準画素との位置関係が成立する画素を、フレームメモリ11から、さらに選択する。
【0092】
即ち、本実施の形態では、上述したように、基準画素取得部5は、変換対象画素取得部4が取得する変換対象画素に対して、その左隣の画素を、基準画素として取得する。従って、画素選択部12は、図3に示すように、自身が選択した基準画素に対して、その右隣の画素を選択する。このように、画素選択部12は、図1の変換対象画素選択部4が変換対象画素として取得する画素に相当する画素を選択する。
【0093】
ここで、画素選択部12が、基準画素に対して選択する、変換対象画素に相当する画素を、以下、適宜、選択画素という。
【0094】
画素選択部12において選択された基準画素と、その基準画素に対する選択画素は、ヒストグラム作成部13に供給されるようになっている。
【0095】
ヒストグラム作成部13は、図4に示すように、基準画素に対して、画素選択部12が選択する選択画素の画素値(例えば、輝度値)の度数分布(ヒストグラム)を、基準画素の画素値ごとに作成し、コード生成部14に供給する。
【0096】
コード生成部14は、ヒストグラム作成部13から供給される、基準画素の画素値ごとの選択画素の度数分布に基づいて、基準画素の画素値ごとに、選択画素の画素値と、その画素値に割り当てる割当コードとを対応付けたコードテーブルを生成し、コードテーブル記憶部3(図1)に供給する。
【0097】
ここで、コード生成部14において、選択画素の度数分布に基づいて生成されるコードテーブルについて説明する。
【0098】
図5は、実際の画像を用いて求めた選択画素の度数分布を示している。
【0099】
即ち、図5は、画素値が8ビットで表現される画像において、画素値が20の画素を基準画素としたときの、その右隣の画素である選択画素の画素値の度数分布と、画素値が128の画素を基準画素としたときの、その右隣の画素である選択画素の画素値の度数分布とを示している。
【0100】
図5から、ある画素値の基準画素の右隣の画素である選択画素の画素値の度数分布は、一様な分布ではなく、不均一な分布となり、さらに、基準画素の画素値を中心とする左右対称の分布にはならない(ことが多い)。
【0101】
このため、ある画素から、その左隣の画素(本実施の形態では、基準画素)を減算して得られる差分値が、必ずしも、最適な偏りを有するとは限らない。
【0102】
即ち、例えば、いま、ある画素値の基準画素の右隣の画素(選択画素)の画素値の度数分布が、図6(A)に示すようであったとする。ここで、図6(A)において、横軸は、基準画素の画素値を基準とする、その右隣の画素の画素値を表し、即ち、基準画素の右隣の画素から、基準画素を減算して得られる差分値を表し、縦軸は、その差分値の度数(頻度)を表す。
【0103】
画素値を、その画素の左隣の画素(基準画素)との差分値で表現するということは、その差分値の絶対値が小さい方が度数が高く、差分値の絶対値が大きい方が度数が低いことを前提として、各画素値に対して、その差分値の絶対値の昇順(または降順)に、コードを割り当てることに相当する。
【0104】
従って、差分値による表現では、例えば、図6(B)に示すように、差分値が0の画素値には、コード0が、差分値が+1の画素値には、コード1が、差分値が−1の画素値には、コード2が、差分値が+2の画素値には、コード3が、差分値が−2の画素値には、コード3が、・・・、それぞれ割り当てられる。
【0105】
この場合、割り当てられたコード(割当コード)を、横軸にした度数分布は、図6(C)に示すようになり、マクロ的には(全体としては)、コードが大きくなるにつれて、度数が減少するような分布となるが、ミクロ的には、度数は、単調減少せず、多少の凹凸をもったものとなる。この凹凸は、図6(A)に示した度数分布において、差分値の絶対値が小さい方(大きい方)が、必ずしも度数が高く(低く)なるとはならないことに起因する。
【0106】
このように、ある画素値の基準画素の右隣の画素(選択画素)について、基準画素との差分値に基づいて割り当てた割当コードの度数分布は、図6(C)に示すような凹凸をもったものとなることから、他の画素値の基準画素の右隣の画素についての割当コードの度数分布も、同様に、凹凸をもったものとなる。
【0107】
従って、画像全体についての差分値に基づく割当コードの度数分布は、マクロ的には、コードが大きくなるにつれて度数が減少する、各画素値の基準画素に対する度数分布を加算したものとなるから、全体としては、ある程度急峻で、かつある程度大きな偏りを有する分布となる。しかしながら、画像全体についての差分値に基づく割当コードの度数分布は、ミクロ的には、上述したような凹凸をもった、各画素値の基準画素に対する度数分布を加算したものであるから、その急峻さおよび偏りは、凹凸の影響で、いわば鈍ったものとなる。
【0108】
そこで、コード生成部14は、度数分布が、より急峻で、かつ、より偏りを有するものとなるように、各画素値に、次のような割当コードを割り当てるコードテーブルを生成するようになっている。
【0109】
即ち、例えば、いま、ある画素値の基準画素の右隣の画素(選択画素)の画素値の度数分布として、図6(A)と同様の図7(A)に示すものが、ヒストグラム作成部13から、コード生成部14に供給されたとする。
【0110】
この場合、コード生成部14は、ヒストグラム作成部13からの度数分布に基づいて、選択画素の各画素値(基準画素を基準とする画素値)に対して、その画素値の度数の昇順(または降順)に、コードを割り当てる。
【0111】
従って、図7(A)に示した度数分布においては、画素値(基準画素を基準とする画素値)が、0,+1,+2,−1,+3,−2,+4,+5,−3,−4(−5),・・・の順で、度数が小さくなっているから、コード生成部14では、図7(B)に示すように、各画素値に対して、そのような順番で、例えば、0からの整数値のコードが割り当てられたコードテーブルが作成される。
【0112】
この場合、割り当てられたコード(割当コード)を、横軸にした度数分布は、図7(C)に示すように、単調減少の分布となる。
【0113】
同様に、他の画素値の基準画素の右隣の画素(選択画素)について、基準画素を基準とする画素値の度数分布に基づいて割り当てた割当コードの度数分布も、図7(C)に示すような単調減少の分布となる。
【0114】
従って、この場合、画像全体の割当コードの度数分布は、上述したような単調減少の各度数分布を加算したものとなるから、図6において差分値表現について説明した場合に比較して、より急峻で、かつより大きな偏りを有する分布となる。
【0115】
以上のように、基準画素の右隣の画素の画素値の度数、つまり、画素値の存在確率に基づいて、その画素値に割り当てるコードを決定し、そのようなコードに変換することで、コードの度数分布は、より急峻で、かつより大きな偏りを有するものとなる。
【0116】
その結果、図7(B)に示したコードテーブルに基づいて、画素値を割当コードに変換した画素(以下、適宜、変換画素という)で構成される画像(変換画像)は、より高い圧縮率で圧縮することが可能となる。
【0117】
次に、図8のフローチャートを参照して、図1の画像変換装置で行われる、画像を変換画像に変換する変換処理について説明する。
【0118】
フレームメモリ1には、変換対象の画像が、順次供給されて記憶され、また、コードテーブル作成部2には、コードテーブル作成用画像が供給される。なお、ここでは、例えば、フレームメモリ1に記憶された、変換対象の画像が、その画像を変換するためのコードテーブルを作成するのに用いるコードテーブル作成用画像として供給されるものとする。
【0119】
コードテーブル作成部2は、ステップS1において、フレームメモリ1に記憶された、いま変換の対象となっているフレームである注目フレームの画像を用いて、コードテーブル作成処理を行い、これにより、基準画素となる画素がとり得る各画素値ごとのコードテーブルを作成する。この各画素値ごとのコードテーブルは、コードテーブル記憶部3に供給されて記憶され、ステップS2に進む。
【0120】
ステップS2では、変換対象画素取得部4は、フレームメモリ1の注目フレームを構成する画素のうち、ラスタスキャン順で、まだ、変換対象画素とされていない画素を、変換対象画素として読み出し、変換部6に供給する。さらに、ステップS2では、基準画素取得部5は、フレームメモリ1から、変換対象画素の左隣の画素を、基準画素として読み出し、変換部6に供給する。
【0121】
そして、ステップS3に進み、変換部6は、コードテーブル記憶部3に記憶された、画素値が取り得る値ごとのコードテーブルのうち、基準画素取得部5からの基準画素の画素値に対するものを参照し、そのコードテーブルにしたがって、変換対象画素取得部4からの変換対象画素の画素値を、その画素値に対応付けられている割当コードに変換して、ステップS4に進む。ステップS4では、変換部6は、画素値を割当コードに変換した変換対象画素、即ち、変換画素を、フレームメモリ7に供給して、対応する位置のアドレスに記憶させる。
【0122】
その後、ステップS5に進み、注目フレームを構成するすべての画素を、変換対象画素として、その画素値の変換を行ったかどうかが判定される。ステップS5において、注目フレームを構成する画素のすべてを、変換対象画素として、その画素値の変換を、まだ行っていないと判定された場合、ステップS2に戻り、以下、同様の処理が繰り返される。
【0123】
また、ステップS5において、注目フレームを構成する画素のすべてを、変換対象画素として、その画素値の変換を行ったと判定された場合、即ち、フレームメモリ7に、注目フレームに対応する変換画像が記憶された場合、フレームメモリ7から変換画像が読み出されるとともに、コードテーブル記憶部3に記憶された、その変換画像を得るのに用いたコードテーブル(各画素値ごとのコードテーブルのセット)が読み出されて出力される。
【0124】
そして、ステップS6に進み、フレームメモリ1に、注目フレームの次のフレームが記憶されているかどうかが判定される。ステップS6において、注目フレームの次のフレームが記憶されていると判定された場合、その、次のフレームを、新たに注目フレームとして、ステップS1に戻り、以下、同様の処理が繰り返される。
【0125】
また、ステップS6において、フレームメモリ1に、注目フレームの次のフレームが記憶されていないと判定された場合、処理を終了する。
【0126】
なお、図8のフローチャートによれば、あるフレームの画像が変換画像に変換されるごとに、その変換に用いるコードテーブルが作成されるから、各フレームごとに、そのフレームに対するコードテーブルが得られることになる。
【0127】
但し、コードテーブルの作成は、例えば、2フレーム以上の画像ごとに作成することが可能である。
【0128】
また、コードテーブルは、所定の画像を用いて、あらかじめ作成しておき、コードテーブル記憶部3に記憶させておくことも可能である。この場合、図1の画像変換装置において、コードテーブル作成部2は不要となる(従って、図8のステップS1の処理も不要である)。さらに、この場合、一連の画像を変換するのに、1セットのコードテーブルがあれば済むことになる。
【0129】
次に、図9のフローチャートを参照して、図8のステップS1で行われる、コードテーブル作成部2(図2)によるコードテーブル作成処理について、さらに説明する。
【0130】
フレームメモリ11には、コードテーブル作成用画像データが供給されて記憶される。
【0131】
そして、ステップS11において、画素選択部12は、画像データを構成する画素値が取り得る値のうちの1つを、基準画素の画素値として設定し、ステップS12に進む。ステップS12では、画素選択部12は、フレームメモリ11のコードテーブル作成用画像データから、ステップS11で設定された画素値(以下、適宜、設定画素値という)を有する画素を、基準画素として検索し、その基準画素の右隣の画素を、選択画素として選択して、ヒストグラム作成部13に供給する。
【0132】
ヒストグラム作成部13は、ステップS13において、画素選択部12からの選択画素の画素値の度数分布(ヒストグラム)を作成し、コード生成部14に供給する。コード生成部14は、ステップS14において、ヒストグラム作成部13からの度数分布に基づいて、いま基準画素となっている画素値(設定画素値)に対するコードテーブルを、図7で説明したようにして作成する。
【0133】
即ち、コード生成部14は、ヒストグラム作成部13からの度数分布に基づき、基準画素の右隣の画素(選択画素)の各画素値(基準画素を基準とする画素値)に対して、その画素値の度数の昇順に、コードを割り当て、これにより、いま基準画素となっている画素値(設定画素値)に対するコードテーブルを作成する。
【0134】
そして、ステップS15に進み、画素選択部12は、画像データを構成する画素値が取り得る値のすべてを、設定画素値として処理を行ったかどうかを判定する。ステップS15において、画像データを構成する画素値が取り得る値のすべてを、設定画素値として、まだ、処理を行っていないと判定された場合、ステップS11に戻り、画素選択部12において、画像データを構成する画素値が取り得る値のうちの、まだ設定画素値とされていない画素値の1つが、新たな設定画素値とされ、以下、同様の処理が繰り返される。
【0135】
一方、ステップS15において、画像データを構成する画素値が取り得る値のすべてを、設定画素値として処理を行ったと判定された場合、即ち、画像データを構成する画素値が取り得る値のすべてに対して、コードテーブルが得られた場合、コード生成部14は、そのコードテーブルを、コードテーブル記憶部3(図1)に出力して、リターンする。
【0136】
なお、図1の画像変換装置において(後述する図10の画像逆変換装置においても同様)、フレームの左端または右端の画素の左隣または右隣の画素が必要な場合は、その左隣または右隣の画素は、例えば、左端または右端の画素と同一の画素値を有するものとして、あるいは、所定の画素値(例えば、0など)を有するものとして、処理が行われる。
【0137】
次に、図10は、図1の画像変換装置が出力する変換画像を、元の画像に逆変換する画像逆変換装置の一実施の形態の構成例を示している。
【0138】
図1の画像変換装置が出力する変換画像とコードテーブルは、フレームメモリ23とコードテーブル取得部21に、それぞれ供給されるようになっている。
【0139】
コードテーブル取得部21は、そこに供給される各画素値ごとのコードテーブルを取得し、コードテーブル記憶部22に供給する。コードテーブル記憶部22は、コードテーブル取得部21からのコードテーブルを記憶する。
【0140】
フレームメモリ23は、そこに供給される変換画像を、例えば、1フレーム単位で順次記憶する。逆変換対象画素取得部24は、フレームメモリ23に記憶された変換画像を構成する変換画素を、例えば、ラスタスキャン順に、順次、逆変換の対象(以下、適宜、逆変換対象画素という)として取得し、逆変換部25に供給する。
【0141】
逆変換部25には、逆変換対象画素取得部24から逆変換対象画素が供給される他、基準画素取得部27から、基準画素が供給されるようになっている。逆変換部25は、コードテーブル記憶部22に記憶された、画素値が取り得る値ごとのコードテーブルのうち、基準画素取得部27からの基準画素の画素値に対するものを参照し、そのコードテーブルにしたがって、逆変換対象画素取得部24からの逆変換対象画素の画素値としての割当コードを、元の画素値に逆変換する。さらに、逆変換部25は、その逆変換後の画素値を、フレームメモリ26に供給する。
【0142】
フレームメモリ26は、逆変換部25からの、逆変換された画素の画素値(元の画素値)を、対応する位置のアドレスに記憶し、1フレーム分の画素値を記憶すると、即ち、元の画像を復元すると、その復元した元の画像を出力する。
【0143】
基準画素取得部27は、フレームメモリ26に記憶された、既に逆変換された画素のうち、逆変換対象画素が、変換対象画素とされた場合に、図1の画像変換装置において基準画素とされる画素を取得し、これを基準画素として、逆変換部25に供給する。即ち、本実施の形態では、基準画素取得部27は、フレームメモリ26に記憶された、既に逆変換された画素のうち、逆変換対象画素の左隣の画素を、基準画素として取得し、逆変換部25に供給する。
【0144】
なお、本実施の形態では、逆変換対象画素取得部24は、フレームメモリ23に記憶された変換画像を構成する変換画素を、ラスタスキャン順に、逆変換対象画素として取得するので、その逆変換対象画素の左隣の画素は、既に、逆変換され、元の画素に復元されて、フレームメモリ26に記憶されている。
【0145】
次に、図11のフローチャートを参照して、図10の画像逆変換装置で行われる、変換画像を、元の画像に逆変換する逆変換処理について説明する。
【0146】
図1の画像変換装置が出力する変換画像と各画素値ごとのコードテーブルが供給されると、ステップS21において、フレームメモリ23は、その変換画像を記憶し、コードテーブル取得部21は、変換画像とともに供給されるコードテーブルを取得して、コードテーブル記憶部22に供給する。コードテーブル記憶部22では、コードテーブル取得部21からのコードテーブルが記憶される。
【0147】
そして、ステップS22に進み、逆変換対象画素取得部24において、フレームメモリ23に記憶された変換画像を構成する変換画素のうち、ラスタスキャン順で、まだ、逆変換対象画素とされていないものが、逆変換対象画素として読み出され、逆変換部25に供給される。さらに、ステップS22では、基準画素取得部27において、フレームメモリ26に記憶された、既に逆変換された画素のうち、逆変換対象画素の左隣の画素が、基準画素として取得され、逆変換部25に供給される。
【0148】
逆変換部25は、ステップS23において、コードテーブル記憶部22に記憶された、画素値が取り得る値ごとのコードテーブルのうち、基準画素取得部27からの基準画素の画素値に対するものを参照し、そのコードテーブルにしたがって、逆変換対象画素取得部24からの逆変換対象画素の画素値としての割当コードを、元の画素値に逆変換する。そして、ステップS24において、逆変換部25は、その逆変換後の画素値を、フレームメモリ26に供給し、対応する位置のアドレスに記憶させて、ステップS25に進む。
【0149】
ステップS25では、逆変換対象画素取得部24において、フレームメモリ23に記憶された変換画像を構成するすべての画素を、逆変換対象画素として、その画素値の逆変換を行ったかどうかが判定される。ステップS25において、変換画像を構成する画素のすべてを、逆変換対象画素として、その画素値の変換を、まだ行っていないと判定された場合、ステップS22に戻り、以下、同様の処理が繰り返される。
【0150】
また、ステップS25において、変換画像を構成する画素のすべてを、逆変換対象画素として、その画素値の逆変換を行ったと判定された場合、即ち、フレームメモリ26に、変換画像を逆変換した元の画像が記憶された場合、フレームメモリ26から、その元の画像が読み出され、処理を終了する。
【0151】
なお、図11のフローチャートにしたがった逆変換処理は、画像逆変換装置に対して、変換画像と各画素値ごとのコードテーブルが供給されるごとに行われる。
【0152】
また、ここでは、図10の画像逆変換装置に対して、変換画像とともに、コードテーブルが供給されるものとしたが、図1の画像変換装置において、上述したように、コードテーブルを、あらかじめ作成しておき、コードテーブル記憶部3に記憶させておく場合には、図10の画像逆変換装置においても、それと同一のコードテーブルを、コードテーブル記憶部22に記憶させておくようにすることができる。この場合、図10の画像逆変換装置は、コードテーブル取得部21を設けずに構成することができる。
【0153】
次に、上述したように、図1の画像変換装置が出力する変換画像は、それを構成する画素値である割当コードが、急峻で、かつ大きな偏りを有する分布となることから、ハフマン符号化等のエントロピー符号化することで、高い圧縮率で圧縮することが可能となる。
【0154】
そこで、図12は、画像を、そのように圧縮して伝送する画像伝送システムの一実施の形態の構成例を示している。
【0155】
この画像伝送システムは、画像データの圧縮を行う圧縮装置31と、圧縮された画像データを、元の画像データに伸張する伸張装置34とから構成されている。
【0156】
圧縮装置31は、画像変換装置41、エントロピー符号化部42、およびマルチプレクサ43で構成されている。
【0157】
画像変換装置41は、図1に示した画像変換装置と同様に構成され、圧縮対象の画像データを、上述したようにして、変換画像に変換し、コードテーブルとともに、エントロピー符号化部42に出力する。エントロピー符号化部42は、変換画像と、コードテーブルそれぞれに対して、ハフマン符号化等のエントロピー符号化処理を施すことで、その圧縮を行い、マルチプレクサ43に出力する。
【0158】
ここで、上述したように、変換画像は、それを構成する画素値である割当コードが、急峻で、かつ大きな偏りを有する分布となることから、エントロピー符号化部42では、高圧縮が実現される。
【0159】
マルチプレクサ43は、エントロピー符号化部42からの圧縮された変換画像とコードテーブルとが多重化され、その多重化の結果得られたデータは、例えば、地上波、衛星回線、CATV(Cable Television)網、インターネット、公衆回線などでなる伝送媒体32を介して伝送され、あるいは、また、例えば、半導体メモリ、光磁気ディスク、磁気ディスク、光ディスク、磁気テープ、相変化ディスクなどでなる記録媒体33に記録され、伸張装置34に提供される。
【0160】
伸張装置34は、デマルチプレクサ44、エントロピー復号部45、および画像逆変換装置46で構成されている。
【0161】
デマルチプレクサ44は、伝送媒体32または記録媒体33を介して提供されるデータを受信し、そのデータを、エントロピー符号化された変換画像とコードテーブルとに分離して、エントロピー復号部45に供給する。エントロピー復号部45は、デマルチプレクサ44の出力を、元の変換画像とコードテーブルにそれぞれ復号し、画像逆変換装置46に供給する。
【0162】
画像逆変換装置46は、図10の画像逆変換装置と同様に構成され、上述したように、そこに供給される変換画像を、同じくそこに供給されるコードテーブルを用いて、元の画像に逆変換して出力する。
【0163】
次に、上述のように、画像を、その画素値が、急峻で、かつ大きな偏りを有する分布となるものに変換し、その逆変換を行う方法は、本件出願人が先に提案した、例えば、特願平11−284199号等に開示されている埋め込み符号化/復号を行う場合に適用することができる。
【0164】
そこで、図13は、本件出願人が先に提案した画像伝送システムの構成例を示している。
【0165】
この画像伝送システムは、符号化装置110および復号装置120で構成されており、符号化装置110は、符号化対象としての、例えば、画像を符号化して符号化データを出力し、復号装置120は、その符号化データを、元の画像に復号するようになされている。
【0166】
即ち、画像データベース101は、符号化すべきディジタル画像データを記憶している。そして、画像データベース101からは、そこに記憶されている画像が読み出され、埋め込み符号化器103に供給される。
【0167】
また、付加情報データベース102は、符号化対象の画像に埋め込むべき情報としての付加情報(ディジタルデータ)を記憶している。そして、付加情報データベース102からも、そこに記憶されている付加情報が読み出され、埋め込み符号化器103に供給される。
【0168】
埋め込み符号化器103では、画像データベース101からの画像、および付加情報データベース102からの付加情報が受信される。さらに、埋め込み符号化器103は、画像データベース101からの画像が有するエネルギの偏りを利用して復号を行うことができるように、その画像を、付加情報データベース102からの付加情報にしたがって符号化して出力する。即ち、埋め込み符号化器103は、画像が有するエネルギの偏りを利用して復号を行うことができるように、画像に付加情報を埋め込むことで、その画像を符号化し、符号化データを出力する。埋め込み符号化器103が出力する符号化データは、例えば、半導体メモリ、光磁気ディスク、磁気ディスク、光ディスク、磁気テープ、相変化ディスクなどでなる記録媒体104に記録され、あるいは、また、例えば、地上波、衛星回線、CATV(Cable Television)網、インターネット、公衆回線などでなる伝送媒体105を介して伝送され、復号装置120に提供される。
【0169】
復号装置120は、埋め込み復号器106で構成され、そこでは、記録媒体104または伝送媒体105を介して提供される符号化データが受信される。さらに、埋め込み復号器106は、その符号化データを、画像が有するエネルギの偏りを利用して、元の画像および付加情報に復号する。復号された画像は、例えば、図示せぬモニタに供給されて表示される。
【0170】
なお、付加情報としては、例えば、元の画像に関連するテキストデータや、音声データ、その画像を縮小した縮小画像等は勿論、元の画像に無関係なデータも用いることができる。
【0171】
次に、図13の埋め込み符号化器103における符号化(埋め込み符号化)、および埋め込み復号器106における復号(埋め込み復号)の原理について説明する。
【0172】
一般に、情報と呼ばれるものは、エネルギ(エントロピー)の偏り(普遍性)を有し、この偏りが、情報(価値ある情報)として認識される。即ち、例えば、ある風景を撮影して得られる画像が、そのような風景の画像であると人によって認識されるのは、画像(画像を構成する各画素の画素値など)が、その風景に対応したエネルギの偏りを有するからであり、エネルギの偏りがない画像は、雑音等にすぎず、情報としての利用価値はない。
【0173】
従って、価値ある情報に対して、何らかの操作を施し、その情報が有する本来のエネルギの偏りを、いわば破壊した場合でも、その破壊されたエネルギの偏りを元に戻すことで、何らかの操作が施された情報も、元の情報に戻すことができる。即ち、情報を符号化して得られる符号化データは、その情報が有する本来のエネルギの偏りを利用して、元の価値ある情報に復号することができる。
【0174】
ここで、情報が有するエネルギ(の偏り)を表すものとしては、例えば、相関性、連続性、相似性などがある。
【0175】
情報の相関性とは、その情報の構成要素(例えば、画像であれば、その画像を構成する画素やラインなど)どうしの相関(例えば、自己相関や、ある構成要素と他の構成要素との距離など)を意味する。例えば、画像の相関性を表すものとしては、画像のライン間の相関があり、この相関を表す相関値としては、例えば、2つのラインにおける、対応する各画素値の差分の2乗和等を用いることができる(この場合、相関値が小さいことは、ライン間の相関が大きいことを表し、相関値が大きいことは、ライン間の相関が小さいことを表す)。
【0176】
即ち、例えば、いま、図14に示すようなHラインを有する画像があった場合に、その上から1行目のライン(第1ライン)と、他のラインとの相関は、一般に、図15(A)に示すように、第1ラインとの距離が近いライン(図14における画像の上側のライン)ほど、第Mラインについての相関として示すように大きくなり、第1ラインとの距離が遠いライン(図14における画像の下側のライン)ほど、第Nラインについての相関として示すように小さくなる。従って、第1ラインから近いほど、第1ラインとの相関が大きくなり、遠いほど相関が小さくなるという相関の偏りがある。
【0177】
そこで、いま、図14の画像において、第1ラインから比較的近い第Mラインと、第1ラインから比較的遠い第Nラインとの画素値を入れ替える操作を行い(1<M<N≦H)、その入れ替え後の画像について、第1ラインと、他のラインとの相関を計算値すると、それは、例えば、図15(B)に示すようになる。
【0178】
即ち、入れ替え後の画像では、第1ラインから近い第Mライン(入れ替え前の第Nライン)との相関が小さくなり、第1ラインから遠い第Nライン(入れ替え前の第Mライン)との相関が大きくなる。
【0179】
従って、図15(B)では、第1ラインから近いほど相関が大きくなり、遠いほど相関が小さくなるという相関性の偏りが破壊されている。しかしながら、画像については、一般に、第1ラインから近いほど相関が大きくなり、遠いほど相関が小さくなるという相関性の偏りを利用することにより、破壊された相関性の偏りを復元することができる。即ち、図15(B)において、第1ラインから近い第Mラインとの相関が小さく、第1ラインから遠い第Nラインとの相関が大きいのは、画像が有する本来の相関性の偏りからすれば、明らかに不自然であり(おかしく)、第Mラインと第Nラインとは入れ替えるべきである。そして、図15(B)における第Mラインと第Nラインとを入れ替えることで、図15(A)に示すような本来の相関性の偏りを有する画像、即ち、元の画像を復号することができる。
【0180】
ここで、図14および図15で説明した場合においては、ラインの入れ替えが、画像の符号化を行うこととなる。また、その符号化に際し、埋め込み符号化器103では、例えば、何ライン目を移動するかや、どのラインどうしを入れ替えるかなどが、付加情報にしたがって決定されることになる。一方、埋め込み復号器106では、符号化後の画像、即ち、ラインの入れ替えられた画像を、その相関を利用して、ラインを元の位置に入れ替えることにより、元の画像に戻すことが、画像を復号することとなる。さらに、その復号に際し、埋め込み復号器106において、例えば、何ライン目を移動したかや、どのラインどうしを入れ替えたかなどを検出することが、画像に埋め込まれた付加情報を復号することになる。
【0181】
次に、情報の連続性についてであるが、例えば、画像のある1ラインについて注目した場合に、その注目ラインにおいて、図16(A)に示すような、画素値の変化パターンが連続している波形が観察されたとすると、その注目ラインと離れた他のラインでは、注目ラインとは異なる画素値の変化パターンが観察される。従って、注目ラインと、その注目ラインと離れた他のラインとにおいては、画素値の変化パターンが異なり、連続性においても偏りがある。即ち、画像のある部分の画素値の変化パターンに注目すると、その注目部分に隣接する部分には、同様の画素値の変化パターンが存在し、注目部分から離れるにつれて、異なる画素値の変化パターンが存在するという連続性の偏りがある。
【0182】
そこで、いま、図16(A)に示した、画像のあるラインにおける、画素値の変化パターンが連続している波形の一部を、例えば、図16(B)に示すように、離れたラインにおける波形の一部と入れ替える。
【0183】
この場合、画像の連続性の偏りが破壊される。しかしながら、近接する部分の画素値の変化パターンは連続しており、離れるほど、画素値の変化パターンが異なるという連続性の偏りを利用することにより、破壊された連続性の偏りを復元することができる。即ち、図16(B)において、波形の一部の画素値の変化パターンが、他の部分の画素値の変化パターンに比較して大きく異なっているのは、波形が有する本来の連続性の偏りからすれば、明らかに不自然であり、他の部分の画素値の変化パターンと異なっている部分は、他の部分の画素値の変化パターンと同様の波形に入れ替えるべきである。そして、そのような入れ替えを行うことで、連続性の偏りが復元され、これにより、図16(B)に示した波形から、図16(A)に示した元の波形を復号することができる。
【0184】
ここで、図16で説明した場合においては、波形の一部を、その周辺の画素値の変化パターンとは大きく異なる画素値の変化パターンの波形に入れ替えることが、画像の符号化を行うこととなる。また、その符号化に際し、埋め込み符号化器103では、例えば、波形のどの部分の画素値の変化パターンを入れ替えるのかや、画素値の変化パターンをどの程度大きく変化させるのかなどが、付加情報にしたがって決定されることになる。一方、埋め込み復号器106では、符号化後の信号、即ち、大きく異なる画素値の変化パターンを一部に有する波形を、周辺の画素値の変化パターンは連続しており、離れるほど、画素値の変化パターンが異なるという連続性の偏りを利用して、元の波形に戻すことが、その元の波形を復号することとなる。さらに、その復号に際し、埋め込み復号器106において、例えば、波形のどの部分の画素値の変化パターンが大きく変化していたのかや、画素値の変化パターンがどの程度大きく変化していたのかなどを検出することが、埋め込まれた付加情報を復号することになる。
【0185】
次に、情報の相似性についてであるが、例えば、風景を撮影した画像等の一部は、画像のフラクタル性(自己相似性)を利用して生成することができることが知られている。即ち、例えば、図17(A)に示すような、海と森を撮影した画像においては、海全体の画素値の変化パターンと、その海の一部の画素値の変化パターンとの相似性は高いが、それらの変化パターンと、海から離れた森の画素値の変化パターンとの相似性は低いという相似性の偏りがある。ここで、画像の相似性は、上述のように画素値の変化パターンを比較して考えるのではなく、エッジ形状を比較して考えても良い。
【0186】
そこで、いま、図17(A)に示した海の一部と、森の一部とを入れ替える。
【0187】
この場合、画像の相似性の偏りが破壊され、図17(B)に示すような画像が得られる。しかしながら、近接する部分の画素値の変化パターンは相似性が高く、離れるほど、画素値の変化パターンの相似性が低くなるという相似性の偏りを利用することにより、破壊された相似性の偏りを復元することができる。即ち、図17(B)において、海の画像の一部が、海と相似性の低い森の画像の一部になっていること、および森の画像の一部が、森と相似性の低い海の画像の一部となっていることは、画像が有する本来の相似性の偏りからすれば、明らかに不自然である。具体的には、図17(B)において、海の画像の中の、森の画像の一部についての相似性は、海の他の部分についての相似性に比較して極端に低くなっており、また、森の画像の中の、海の画像の一部についての相似性も、森の他の部分についての相似性に比較して極端に低くなっている。
【0188】
従って、画像が本来有する相似性の偏りからすれば、海の画像の一部となっている、森の画像の一部と、森の画像の一部となっている、海の画像の一部とは入れ替えるべきである。そして、そのような入れ替えを行うことで、画像の相似性の偏りが復元され、これにより、図17(B)に示した画像から、図17(A)に示した元の画像を復号することができる。
【0189】
ここで、図17で説明した場合においては、海の画像の一部と、森の画像の一部とを入れ替えることが、画像の符号化を行うこととなる。また、その符号化に際し、埋め込み符号化器103では、例えば、海の画像のどの部分(画面上の位置)と、森の画像のどの部分とを入れ替えるのかなどが、付加情報にしたがって決定されることになる。一方、埋め込み復号器では、符号化後の信号、即ち、海の一部が、森の一部となっているとともに、森の一部が、海の一部となっている画像を、周辺の画素値の変化パターンの相似性は高く、離れるほど、画素値の変化パターンの相似性が低くなっていくという相似性の偏りを利用して、元の画像に戻すことが、その元の画像を復号することとなる。さらに、その復号に際し、埋め込み復号器106において、例えば、海の画像のどの部分と、森の画像のどの部分とが入れ替えられていたのかなどを検出することが、埋め込まれた付加情報を復号することになる。
【0190】
以上のように、埋め込み符号化器103において、符号化対象の画像が有するエネルギの偏りを利用して復号を行うことができるように、その画像を、付加情報にしたがって符号化して、符号化データを出力する場合には、埋め込み復号器106では、その符号化データを、画像が有するエネルギの偏りを利用することにより、復号のためのオーバヘッドなしで、元の画像および付加情報に復号することができる。
【0191】
また、符号化対象の画像には、付加情報が埋め込まれることで、その埋め込みの結果得られる画像は、元の画像と異なる画像とされ、人が価値ある情報として認識することのできる画像ではなくなることから、符号化対象の画像については、オーバヘッドなしの暗号化を実現することができる。
【0192】
さらに、完全可逆の電子透かしを実現することができる。即ち、従来の電子透かしでは、例えば、画質にあまり影響のない画素値の下位ビットが、電子透かしに対応する値に、単に変更されていたが、この場合、その下位ビットを、元の値に戻すことは困難である。従って、復号画像の画質は、電子透かしとしての下位ビットの変更により、少なからず劣化する。これに対して、符号化データを、元の画像が有するエネルギの偏りを利用して復号する場合には、劣化のない元の画像および付加情報を得ることができ、従って、付加情報を電子透かしとして用いることで、電子透かしに起因して復号画像の画質が劣化することはない。
【0193】
また、埋め込まれた付加情報は、符号化データから画像を復号することで取り出すことができるので、画像の符号化結果とともに、オーバヘッドなしでサイドインフォメーションを提供することができる。言い換えれば、付加情報を取り出すためのオーバヘッドなしで、その付加情報を画像に埋め込むことができるので、その埋め込みの結果得られる符号化データは、付加情報の分だけ圧縮(埋め込み圧縮)されているということができる。従って、例えば、ある画像の半分を符号化対象とするとともに、残りの半分を付加情報とすれば、符号化対象である半分の画像に、残りの半分の画像を埋め込むことができるから、この場合、画像は、単純には、1/2に圧縮されることになる。
【0194】
さらに、符号化データは、元の画像が有するエネルギの偏りという、いわば統計量を利用して復号されるため、誤りに対する耐性の強いものとなる。即ち、ロバスト性の高い符号化であるロバスト符号化(統計的符号化)を実現することができる。
【0195】
また、符号化データは、元の画像が有するエネルギの偏りを利用して復号されるため、そのエネルギの偏りに特徴があるほど、即ち、例えば、画像については、そのアクティビティが高いほど、あるいは、冗長性が低いほど、多くの付加情報を埋め込むことができる。ここで、上述したように、付加情報の埋め込みの結果得られる符号化データは、付加情報の分だけ圧縮されているということができるが、この圧縮という観点からすれば、符号化対象の情報が有するエネルギの偏りを利用して復号を行うことができるように、その情報を、付加情報にしたがって符号化する方式(埋め込み符号化方式)によれば、画像のアクティビティが高いほど、あるいは、画像の冗長性が低いほど、圧縮率が高くなる。この点、埋め込み符号化方式は、従来の符号化方式と大きく異なる(従来の符号化方式である、例えばMPEG(Moving Picture Experts Group)方式などでは、基本的に、画像のアクティビティが高いほど、あるいは、画像の冗長性が低いほど、圧縮率は低くなる)。
【0196】
さらに、例えば、上述したように、画像を符号化対象とする一方、付加情報として、画像とは異なるメディアの、例えば、音声を用いるようにすることで、音声をキーとして、画像の提供を行うようなことが可能となる。即ち、符号化装置110側において、例えば、契約者が発話した音声「開けゴマ」など付加情報として画像に埋め込んでおき、復号装置120側では、ユーザに、音声「開けゴマ」を発話してもらい、その音声と、画像に埋め込まれた音声とを用いて話者認識を行うようにする。このようにすることで、例えば、話者認識の結果、ユーザが契約者である場合にのみ、自動的に、画像を提示するようなことが可能となる。なお、この場合、付加情報としての音声は、いわゆる特徴パラメータではなく、音声波形そのものを用いることが可能である。
【0197】
また、例えば、音声を符号化対象とする一方、付加情報として、音声とは異なるメディアの、例えば、画像を用いるようにすることで、画像をキーとして、音声の提供を行うようなこと(例えば、顔認識後の音声応答)が可能となる。即ち、符号化装置110側において、例えば、ユーザへの応答としての音声に、そのユーザの顔の画像を埋め込み、復号装置120側では、ユーザの顔を撮影し、その結果得られる画像とマッチングする顔画像が埋め込まれている音声を出力するようにすることで、ユーザごとに異なる音声応答を行う音声応答システムを実現することが可能となる。
【0198】
さらに、音声に、音声を埋め込んだり、画像に、画像を埋め込んだりするような、あるメディアの情報に、それと同一メディアの情報を埋め込むようなことも可能である。あるいは、また、画像に、契約者の音声と顔画像を埋め込んでおけば、ユーザの音声と顔画像とが、画像に埋め込まれているものと一致するときのみ、その画像を提示するようにする、いわば二重鍵システムなどの実現も可能となる。
【0199】
また、例えば、テレビジョン放送信号を構成する、いわば同期した画像と音声のうちのいずれか一方に、他方を埋め込むようなことも可能であり、この場合、異なるメディアの情報どうしを統合した、いわば統合符号化を実現することができる。
【0200】
さらに、埋め込み符号化方式では、上述したように、情報には、そのエネルギの偏りに特徴があるほど、多くの付加情報を埋め込むことができる。従って、例えば、ある2つの情報について、エネルギの偏りに特徴がある方を適応的に選択し、その選択した方に、他方を埋め込むようにすることで、全体のデータ量を制御することが可能となる。即ち、2つの情報どうしの間で、一方の情報によって、他方の情報量を、いわば吸収するようなことが可能となる。そして、このように全体のデータ量を制御することができる結果、伝送路の伝送帯域や使用状況、その他の伝送環境にあったデータ量による情報伝送(環境対応ネットワーク伝送)が可能となる。
【0201】
また、例えば、画像に、その画像を縮小した画像を埋め込むことで(あるいは、音声に、その音声を間引いたものを埋め込むことで)、データ量を増加することなく、いわゆる階層符号化(下位階層の情報を少なくすることにより、上位階層の情報を生成する符号化)を実現することができる。
【0202】
さらに、例えば、画像に、その画像を検索するためのキーとなる画像を埋め込んでおくことで、そのキーとなる画像に基づいて、画像の検索を行うデータベースを実現することが可能となる。
【0203】
次に、図18は、画像の連続性を利用して元に戻すことができるように、画像に付加情報を埋め込む埋め込み符号化を行う場合の図13の埋め込み符号化器103の構成例を示している。
【0204】
画像データベース101から供給される画像は、フレームメモリ131に供給されるようになされており、フレームメモリ131は、画像データベース101からの画像を、例えば、フレーム単位で一時記憶するようになされている。
【0205】
CPU(Central Processing Unit)132は、プログラムメモリ133に記憶されたプログラムを実行することで、後述する埋め込み符号化処理を行うようになされている。即ち、CPU132は、プログラムメモリ133に記憶されているプログラムにしたがって、付加情報データベース102からメモリ134を介して供給される付加情報を受信し、その付加情報を、フレームメモリ131に記憶された画像に埋め込むようになされている。具体的には、CPU132は、フレームメモリ131に記憶された画像を構成する画素値を、メモリ134に記憶された付加情報にしたがって変更することで、その画素値に、付加情報を埋め込むようになされている。この付加情報が埋め込まれた画像は、符号化データとして出力されるようになされている。
【0206】
プログラムメモリ133は、例えば、ROM(Read Only Memory)やRAM(Random Access Memory)などで構成され、CPU132に、埋め込み符号化処理を行わせるためのコンピュータプログラムや必要なデータを記憶している。
【0207】
メモリ134は、付加情報データベース102が記憶している付加情報を読み出し、一時記憶するようになされている。出力バッファ135は、CPU132によって埋め込み符号化処理が行われることにより得られる符号化データを一時記憶して出力するようになされている。
【0208】
なお、フレームメモリ131は、複数のフレームを記憶することのできるように、複数バンクで構成されており、バンク切り替えを行うことで、フレームメモリ131では、画像データベース101から供給される画像の記憶、およびCPU132による埋め込み符号化処理の対象となっている画像の記憶を、同時に行うことができるようになされている。これにより、画像データベース101から供給される画像が、動画であっても、符号化データのリアルタイム出力を行うことができるようになされている。
【0209】
次に、図19は、図18の埋め込み符号化器103の機能的な構成例を示している。なお、この図19に示した機能的な構成は、CPU132がプログラムメモリ133に記憶されたコンピュータプログラムを実行することで実現されるようになされている。
【0210】
フレームメモリ131、メモリ134、または出力バッファ135それぞれは、図18で説明したものと同一のものである。
【0211】
度数分布算出部141は、フレームメモリ131に記憶された符号化対象の画像の画素値の度数分布(ヒストグラム)を、例えば、1フレーム単位で求め、変更対象画素値/変更値決定部142に供給するようになされている。変更対象画素値/変更値決定部142は、度数分布算出部141から供給される画素値の度数分布に基づき、フレームメモリ131に記憶された符号化対象の画像を構成する画素値の中から、付加情報にしたがって変更する画素値(以下、適宜、変更対象画素値という)を決定するとともに、その変更対象画素値を変更する値(以下、適宜、変更値という)を決定し、画素値変更部143に供給するようになされている。画素値変更部143は、フレームメモリ131に記憶された符号化対象のフレームを構成する画素値を、所定の順序としての、例えば、ラスタスキャン順で読み出し、その読み出した画素値が、変更対象画素値に一致しない場合には、そのまま出力バッファ135に供給して対応するアドレスに記憶させるようになされている。また、画素値変更部143は、読み出した画素値が、変更対象画素値に一致する場合には、メモリ134に記憶された付加情報を読み出し、その付加情報にしたがって、変更対象画素値を変更値に変更するか、またはそのままとし、出力バッファ135に供給して対応するアドレスに記憶させるようになされている。
【0212】
次に、図20のフローチャートを参照して、図19の埋め込み符号化器103において行われる埋め込み符号化処理について説明する。
【0213】
画像データベース101からは、そこに記憶されている画像が読み出され、フレームメモリ131に、順次供給されて記憶される。また、付加情報データベース102からは、そこに記憶されている付加情報が読み出され、メモリ134に、順次供給されて記憶される。
【0214】
一方、度数分布算出部141では、ステップS101において、フレームメモリ131に記憶された符号化対象の1フレームを構成する画素値が読み出され、その度数分布が算出される。
【0215】
ここで、図21に、実際の画像の画素値の度数分布を示す。なお、図21は、それぞれ8ビットが割り当てられたRGBコンポーネント信号で構成される1フレームの画像のRコンポーネントの度数分布を示している。Rコンポーネントには、ここでは、上述したように、8ビットが割り当てられおり、従って、0乃至255等の256の範囲の画素値をとり得るが、図21では、250以上の画素値となる画素は存在していない。さらに、図21から明らかなように、一般に、画像には、各画素値(ここでは、0乃至255それぞれの値)が、同じような数だけ存在するのではなく、多数存在する画素値もあれば、まったく存在しない画素値もある。しかしながら、画素値の度数分布の変化は、一般に連続している。
【0216】
度数分布算出部141で求められた画素値の度数分布は、変更対象画素値/変更値決定部142に供給される。変更対象画素値/変更値決定部142は、画素値の度数分布を受信すると、ステップS102に進み、その度数分布に基づき、フレームメモリ131に記憶された符号化対象の画像を構成する画素値の中から、変更対象画素値とするものを決定するとともに、その変更対象画素値を変更する値である変更値を決定する。即ち、変更対象画素値/変更値決定部142は、例えば、度数分布から、最も度数の高い画素値を検出し、それを、変更対象画素値として決定する。さらに、変更対象画素値/変更値決定部142は、度数分布から、度数が0になっている画素値を検出し、それを、変更値として決定する(度数が0になっている画素値が複数ある場合には、例えば、そのうちの1つを選択して、変更値として決定する)。
【0217】
ここで、本実施の形態では、変更対象画素値に、付加情報が埋め込まれる。そこで、埋め込むことのできる付加情報のデータ量を多くするために、最も度数の高い画素値を、変更対象画素値とするようにしている。但し、変更対象画素値とする画素値は、度数の最も高いものに限定されるものではない。
【0218】
変更対象画素値/変更値決定部142において、変更対象画素値および変更値が決定されると、その変更対象画素値および変更値は、画素値変更部143に供給される。
【0219】
画素値変更部143は、変更対象画素値および変更値を受信すると、ステップS103において、フレームメモリ131に記憶された符号化対象のフレームを構成する最も左上の画素値を読み出し、ステップS104に進む。ステップS104では、画素値変更部143において、ステップS104で読み出された画素値が変更対象画素値であるかどうかが判定され、変更対象画素値でないと判定された場合、ステップS105乃至S107をスキップして、ステップS108に進み、その画素値が、そのまま出力バッファ135に供給されて、対応するアドレスに書き込まれる。
【0220】
また、ステップS104において、ステップS104で読み出された画素値が変更対象画素値であると判定された場合、ステップS105に進み、画素値変更部143は、メモリ134から付加情報を読み出し、ステップS106に進む。ここで、ステップS105では、付加情報が、例えば、1ビット単位で読み出されるものとする。
【0221】
ステップS106では、画素値変更部143において、ステップS105で読み出された1ビットの付加情報が0または1のうちのいずれであるかが判定される。ステップS106において、付加情報が、0または1のうちの、例えば、0であると判定された場合、ステップS107をスキップして、ステップS108に進み、画素値変更部34において、変更対象画素値が、そのまま出力バッファ135に供給されて、対応するアドレスに書き込まれる。即ち、0である付加情報は、変更対象画素値を変更しないことで、その変更対象画素値を有する画素に埋め込まれる。
【0222】
また、ステップS106において、付加情報が、0または1のうちの、例えば、1であると判定された場合、ステップS107に進み、画素値変更部143において、変更対象画素値が変更値に変更され、ステップS108に進む。ステップS108では、画素値変更部143において、ステップS107で変更された変更値が、出力バッファ135に供給されて、対応するアドレスに書き込まれる。即ち、1である付加情報は、変更対象画素値を変更値に変更することで、その変更対象画素値を有していた画素に埋め込まれる。
【0223】
ステップS108の処理後は、ステップS109に進み、いま符号化対象とされているフレームの画素の読み出しがすべて終了したかどうかが判定される。ステップS109において、いま符号化対象とされているフレームの画素すべての読み出しが、まだ終了していないと判定された場合、ステップS103に戻り、ラスタスキャン順に、次に処理すべき画素値が読み出され、以下、同様の処理が繰り返される。
【0224】
また、ステップS109において、いま符号化対象とされているフレームの画素すべての読み出しが終了したと判定された場合、ステップS110に進み、出力バッファ135に記憶されている、付加情報が埋め込まれたフレームが、符号化データとして読み出されて出力される。そして、ステップS111に進み、フレームメモリ131に、次に処理すべきフレームが記憶されているかどうかが判定され、記憶されていると判定された場合、ステップS101に戻り、そのフレームを符号化対象として、同様の処理が繰り返される。
【0225】
また、ステップS111において、フレームメモリ131に、次に処理すべきフレームが記憶されていないと判定された場合、埋め込み符号化処理を終了する。
【0226】
以上のような埋め込み符号化処理によれば、ある1フレームの画像は、次のような符号化データに符号化される。
【0227】
即ち、例えば、符号化対象のフレームに、図22(A)において・で示すように、変更対象画素値が分布しているとすると、各変更対象画素値のうち、ラスタスキャン順で、0の付加情報に対応する位置にあるものは、そのままとされ、1の付加情報に対応する位置にあるものは、図22(B)において×で示すように、図22(A)のフレームには存在しない画素値、即ち、度数が0の画素値である変更値に変更される。
【0228】
以上のように、フレームメモリ131に記憶された画像を構成する画素値のうち、度数の最も高い画素値である変更対象画素値を、付加情報にしたがって、その画像に存在しない画素値である変更値に変更することにより、付加情報を埋め込む場合には、画像の連続性(画像を構成する画素値の度数分布の連続性)の偏りを利用して、変更値を、元の変更対象画素値に変更することで、元の画像を復号することができるとともに、付加情報を復号することができる。従って、画像の画質の劣化を極力なくし、かつデータ量を増加せずに、画像に付加情報を埋め込むことができる。
【0229】
即ち、変更値は、画像の連続性、つまり、ここでは、画像を構成する画素値の度数分布の連続性を利用することにより、オーバヘッドなしで、元の画素値(変更対象画素値)に復号する(戻す)こができ、さらに、変更値と変更対象画素値を検出することで、付加情報を復号することができる。従って、その結果得られる復号画像(再生画像)には、基本的に、付加情報を埋め込むことによる画質の劣化は生じない。
【0230】
なお、符号化対象のフレームに、存在しない画素値がない場合には、変更対象画素値を変更すると、その変更後の画素値と、符号化対象のフレームに最初から存在する画素値とを区別することが困難となる。そこで、図20の埋め込み符号化処理のステップS101において、度数分布を算出した後に、その度数分布から、フレームに、存在しない画素値がないことが判明した場合には、そのフレームには付加情報を埋め込まず、次のフレームを、符号化対象として、埋め込み符号化処理を行うのが望ましい。
【0231】
次に、図23は、図19の埋め込み符号化器103が出力する符号化データを、画像の連続性を利用して元の画像と付加情報に復号する図13の埋め込み復号器106の構成例を示している。
【0232】
符号化データ、即ち、付加情報が埋め込まれた画像(以下、適宜、埋め込み画像ともいう)は、入力バッファ151に供給されるようになされており、入力バッファ151は、埋め込み画像を、例えば、フレーム単位で一時記憶するようになされている。なお、入力バッファ151も、図18のフレームメモリ131と同様に構成され、バンク切り替えを行うことにより、埋め込み画像が、動画であっても、そのリアルタイム処理が可能となっている。
【0233】
CPU152は、プログラムメモリ153に記憶されたプログラムを実行することで、後述する埋め込み復号処理を行うようになされている。即ち、CPU152は、入力バッファ151に記憶された埋め込み画像を、画像の連続性を利用して元の画像と付加情報に復号するようになされている。具体的には、CPU152は、入力バッファ151に記憶された復号対象のフレームの画素値のうち、変更対象画素値と変更値とを検出することで、付加情報を復号し、さらに、変更値を変更対象画素値に変更することで、元の画像を復号するようになされている。
【0234】
プログラムメモリ153は、例えば、図18のプログラムメモリ133と同様に構成され、CPU152に、埋め込み復号化処理を行わせるためのコンピュータプログラムや必要なデータを記憶している。
【0235】
フレームメモリ154は、CPU152において復号された画像を、例えば、1フレーム単位で記憶して出力するようになされている。メモリ155は、CPU152で復号された付加情報を一時記憶して出力するようになされている。
【0236】
次に、図24は、図23の埋め込み復号器106の機能的な構成例を示している。なお、この図24に示した機能的な構成は、CPU152がプログラムメモリ153に記憶されたコンピュータプログラムを実行することで実現されるようになされている。
【0237】
入力バッファ151、フレームメモリ154、またはメモリ155それぞれは、図23で説明したものと同一のものである。
【0238】
度数分布算出部161は、入力バッファ151に記憶された復号対象の埋め込み画像のフレームを構成する画素値を読み出し、その度数分布を求めて、変更対象画素値/変更値決定部162に供給するようになされている。変更対象画素値/変更値決定部162は、度数分布算出部161からの画素値の度数分布に基づき、埋め込み画像を構成する画素値の中から、埋め込み符号化器103において変更対象画素値と変更値それぞれに決定された画素値を求め(決定し)、画素値変更部163に供給するようになされている。画素値変更部163は、変更対象画素値/変更値決定部162の出力から、変更対象画素値および変更値を認識し、入力バッファ151に記憶された復号対象の埋め込み画像のフレームの中の変更対象画素値および変更値を検出することで、その埋め込み画像に埋め込まれた付加情報を復号して、メモリ155に供給するようになされている。さらに、画素値変更部163は、埋め込み画像の中の変更値を変更対象画素値に変更することで、その埋め込み画像を、元の画像に復号し、フレームメモリ154に供給するようになされている。
【0239】
次に、図25のフローチャートを参照して、図24の埋め込み復号器106において行われる埋め込み復号処理について説明する。
【0240】
入力バッファ151では、そこに供給される埋め込み画像(符号化データ)が、例えば、1フレーム単位で順次記憶される。
【0241】
一方、度数分布算出部161では、ステップS121において、入力バッファ151に記憶された復号対象の埋め込み画像のフレームが読み出され、そのフレームを構成する画素値の度数分布が求められる。この度数分布は、変更対象画素値/変更値決定部162に供給される。
【0242】
変更対象画素値/変更値決定部162は、度数分布算出部161から度数分布を受信すると、ステップS122において、その度数分布に基づいて、埋め込み符号化器103において決定された変更対象画素値および変更値を求める。
【0243】
即ち、埋め込み画像に符号化された元の画像を構成する画素値が、例えば、図26(A)に示すような連続した度数分布を有していたとすると、埋め込み符号化器103では、度数の最も高い画素値P1が変更対象画素値として決定される。なお、図26では、画素値のとりうる範囲が、0乃至MAXとされており、また、元の画像は、画素値Pmin以下の画素および画素値Pmax以上の画素が存在しないものとなっている(0<Pmin<Pmax<MAX)。
【0244】
さらに、この場合、埋め込み符号化器103において、画素値Pmin以下の、元の画像に存在しないある画素値P2が変更値として決定され、埋め込み符号化が行われたとすると、その結果得られる埋め込み画像の画素値の度数分布は、例えば、図26(B)に示すようなものとなる。即ち、変更対象画素値P1の度数は、それに近い画素値(例えば、両隣の画素値)の度数に比較して極端に低くなり、変更値P2の度数は、逆に、それに近い画素値の度数に比較して極端に高くなる。
【0245】
その結果、例えば、画素値の小さいものから、画素値nの度数と画素値n+1の度数との差分(=画素値nの度数−画素値n+1の度数)(以下、適宜、度数差分という)を求めていくと、その度数差分は、変更対象画素値P1の付近(n=P1のときと、n+1=P1のとき)において、図27(A)に示すように、極端に大きくなった後、極端に小さくなる(不連続になる)。また、度数差分は、変更値P2の付近(n=P2のときと、n+1=P2のとき)において、図27(B)に示すように、極端に小さくなった後、極端に大きくなる(不連続になる)。
【0246】
従って、埋め込み符号化器103において決定された変更対象画素値および変更値は、度数差分をサーチしていくことで求めることができ、変更対象画素値/変更値決定部162では、そのようにして、埋め込み画像の画素値の度数分布に基づき、埋め込み符号化器103において決定された変更対象画素値および変更値を求めるようになされている。
【0247】
図25に戻り、変更対象画素値/変更値決定部162は、埋め込み符号化器103において決定された変更対象画素値および変更値を求めると、それらを、画素値変更部163に出力し、ステップS123に進む。
【0248】
ステップS123では、画素値変更部163において、入力バッファ151に記憶された復号対象の埋め込み画像のフレームを構成する最も左上の画素値が読み出され、ステップS124に進み、その画素値が判定される。ステップS124において、読み出された画素値が、変更対象画素値および変更値のいずれでもないと判定された場合、画素値変更部163は、ステップS128に進み、その画素値を、フレームメモリ154に供給し、対応するアドレスに記憶させる。ここで、変更対象画素値および変更値のいずれでもない画素には、付加情報は埋め込まれていないから、その復号は行われない(することができない)(する必要がない)。
【0249】
また、ステップS124において、読み出された画素値が、変更対象画素値であると判定された場合、ステップS125に進み、画素値変更部163は、メモリ155に、付加情報の復号結果として、0または1のうちの、変更対象画素値に対応する0を供給して記憶させる。そして、ステップS128に進み、画素値変更部163は、変更対象画素値を、そのまま、フレームメモリ154に供給し、対応するアドレスに記憶させる。
【0250】
さらに、ステップS124において、読み出された画素値が、変更値であると判定された場合、ステップS126に進み、画素値変更部163は、変更値を、変更対象画素値に変更し、これにより、元の画素値に復号して、ステップS127に進む。ステップS127では、画素値変更部163において、メモリ155に対して、付加情報の復号結果として、0または1のうちの、変更値に対応する1が供給されて書き込まれる。そして、ステップS128に進み、画素値変更部163は、変更対象画素値(ステップS126において、変更値を変更したもの)を、フレームメモリ154に供給し、対応するアドレスに記憶させる。
【0251】
ステップS128の処理後は、ステップS129に進み、いま復号対象とされている埋め込み画像のフレームの画素の読み出しがすべて終了したかどうかが判定される。ステップS129において、いま復号対象とされている埋め込み画像のフレームの画素すべての読み出しが、まだ終了していないと判定された場合、ステップS123に戻り、ラスタスキャン順に、次に処理すべき画素値が読み出され、以下、同様の処理が繰り返される。
【0252】
また、ステップS129において、いま復号対象とされている埋め込み画像の画素すべての読み出しが終了したと判定された場合、フレームメモリ154またはメモリ155にそれぞれ記憶された1フレームの復号画像または付加情報が読み出されて出力される。そして、ステップS130に進み、入力バッファ151に、次に処理すべき埋め込み画像のフレームが記憶されているかどうかが判定され、記憶されていると判定された場合、ステップS121に戻り、そのフレームを復号対象として、同様の処理が繰り返される。
【0253】
また、ステップS130において、入力バッファ151に、次に処理すべき埋め込み画像のフレームが記憶されていないと判定された場合、埋め込み復号処理を終了する。
【0254】
以上のように、付加情報が埋め込まれた画像である符号化データを、画像の連続性を利用して、元の画像と付加情報に復号するようにしたので、その復号のためのオーバヘッドがなくても、符号化データを、元の画像と付加情報に復号することができる。従って、その復号画像には、基本的に、付加情報を埋め込むことによる画質の劣化は生じない。
【0255】
なお、本実施の形態では、埋め込み符号化処理において、付加情報にしたがい、変更対象画素値を、そのままとする(変更対象画素値に変更する)か、または変更値に変更するようにしたが、符号化対象の画像に、存在しない画素値が2以上ある場合には、例えば、そのうちの2つを第1の変更値と第2の変更値とし、付加情報にしたがい、変更対象画素値を、第1の変更値に変更するか、または第2の変更値に変更するようにすることが可能である。ここで、変更対象画素値を、そのままとするか、または変更値に変更する場合には、符号化対象の画像に、存在しない画素値が1つあれば良いが、変更対象画素値を、第1または第2の変更値に変更する場合には、符号化対象の画像に、存在しない画素値が2以上ある必要がある。しかしながら、変更対象画素値を、第1または第2の変更値に変更する場合には、埋め込み画像には、変更対象画素値が存在しなくなるので、埋め込み復号器106において、埋め込み画像の度数分布から、より精度良く、変更対象画素値を求めることが可能となる。
【0256】
さらに、符号化対象の画像に、存在しない画素値が複数ある場合には、その複数の画素値をすべて変更値とし、付加情報にしたがい、変更対象画素値を、複数の変更値のうちのいずれかに変更するようにすることが可能である。この場合、1画素に、2ビット以上の付加情報を埋め込むことが可能となる。
【0257】
また、本実施の形態では、埋め込み符号化処理において、符号化対象の画像の画素値を、ラスタスキャン順に処理するようにしたが、その処理の順番は、ラスタスキャン順に限定されるものではない。即ち、度数分布を求める画素値を読み出すことができれば良いので、処理の順番は、列方向や斜め方向であってもかまわない。
【0258】
さらに、本実施の形態では、埋め込み符号化処理および埋め込み復号処理において、フレーム単位で度数分布を求めるようにしたが、度数分布は、その他、例えば、1フレームを幾つかのブロックに分けて、そのブロック単位で求めても良いし、複数フレーム単位で求めても良い。
【0259】
また、本実施の形態では、埋め込み復号器106において、埋め込み符号化器103で決定された変更対象画素値および変更値を求めるようにしたが、変更対象画素値および変更値は、僅かな量のデータであり、埋め込み画像に、オーバーヘッドとして含めるようにしても良い。
【0260】
さらに、埋め込み符号化の対象とする画像が、例えば、RGBコンポーネント信号で構成されるカラー画像などである場合には、RGBそれぞれについて、埋め込み符号化処理を施すことが可能である。
【0261】
また、付加情報として用いる情報は、特に限定されるものではなく、例えば、画像や、音声、テキスト、コンピュータプログラム、制御信号、その他のデータを付加情報として用いることが可能である。なお、画像データベース101の画像の一部を付加情報とし、残りを、フレームメモリ131への供給対象とすれば、その残りの部分に、付加情報とされた画像の一部分が埋め込まれるから、画像の圧縮が実現されることになる。
【0262】
さらに、本実施の形態では、付加情報を、画像に埋め込むようにしたが、付加情報は、その他、例えば、音声等の、値の度数分布の形状が連続性を有するメディアに埋め込むことが可能である。
【0263】
また、ここでは、画像に、付加情報そのものを埋め込むようにしたが、画像には、その他、例えば、付加情報の特徴量(例えば、付加情報のヒストグラムや、分散、ダイナミックレンジ等)を埋め込むようにすることも可能である。
【0264】
次に、図28は、図13の埋め込み符号化器103を、図1の画像変換装置を利用して構成した場合の機能的構成例を示している。なお、図中、図19における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図28の埋め込み符号化器103は、画像変換装置171が新たに設けられている他は、図19における場合と同様に構成されている。
【0265】
画像変換装置171は、図1の画像変換装置と同様に構成されており、フレームメモリ131に記憶された符号化対象の画像を、上述したようにして、変換画像に変換し、フレームメモリ131に記憶させるようになっている。
【0266】
なお、ここでは、説明を簡単にするために、画像変換装置171においては、あらかじめ作成された、画素値として取り得る値ごとのコードテーブルが記憶されているものとする。
【0267】
従って、図28の実施の形態では、度数分布算出部141、変更対象画素値/変更値決定部142、および画素値変更部143において、変換画像を対象に、上述したような埋め込み符号化処理が行われる。
【0268】
次に、図29のフローチャートを参照して、図28の埋め込み符号化器103における埋め込み符号化処理について説明する。
【0269】
図28の埋め込み符号化器103では、まず最初に、ステップS140において、画像変換装置171が、フレームメモリ131に記憶された符号化対象の画像を、変換画像に変換し、フレームメモリ131に記憶させる。
【0270】
そして、ステップS141乃至S151において、図20のステップS101乃至S111における場合とそれぞれ同様の処理が行われ、これにより、変換画像を対象として、図20で説明した場合と同様の埋め込み符号化処理が行われ、付加情報が埋め込まれる。
【0271】
以上のように、画像そのものではなく、変換画像に対して、付加情報を埋め込むことで、より効率的な埋め込み符号化を行うことが可能となる。
【0272】
即ち、画像変換装置171において得られる変換画像を構成する変換画素の画素値の分布は、上述したように、急峻で大きな偏りを有する。従って、変換画像に付加情報を埋め込む場合には、変更対象画素値とされる最も度数の高い変換画素(の画素値)の数は、元の画像の画素値そのものに付加情報を埋め込む場合に比較して、膨大な個数となり、その結果、そのような膨大な数の変換画素に対して、多量の付加情報を埋め込むことが可能となる。
【0273】
次に、図30は、埋め込み符号化器103が、図28に示したように構成される場合の、図13の埋め込み復号器106の機能的な構成例を示している。なお、図中、図24における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図30の埋め込み復号器106は、画像逆変換装置181が新たに設けられている他は、図24における場合と同様に構成されている。
【0274】
画像逆変換装置181は、図10の画像逆変換装置と同様に構成され、フレームメモリ154に記憶された変換画像を、元の画像に逆変換することで復元し、フレームメモリ154に書き込むようになっている。
【0275】
次に、図30の埋め込み復号器106による埋め込み復号処理について、図31のフローチャートを参照して説明する。
【0276】
図30の埋め込み復号器106では、ステップS161乃至S170において、図25のステップS121乃至S130における場合とそれぞれ同様の処理が、上述したような変換画像に付加情報を埋め込んで得られる符号化データを対象に行われる。但し、ステップS169からS170に進む間に、ステップS171において、画像逆変換装置181は、フレームメモリ154に記憶された変換画像を構成する各変換画素の画素値を、元の画素値に逆変換し、フレームメモリ154に書き込む。
【0277】
即ち、図28の埋め込み符号化器103が出力する符号化データは、上述したように、変換画像に、付加情報が埋め込まれたものであるから、そのような符号化データに対して、図25のステップS121乃至S128とそれぞれ同様のステップS161乃至S168の処理が施されることにより、フレームメモリ154には、変換画像が書き込まれることになる。ステップS171では、画像逆変換装置181において、その変換画像が、上述したようにして逆変換され、その結果得られる元の画像が、フレームメモリ154に書き込まれる。
【0278】
以上のような埋め込み復号処理によれば、上述したように、多量の付加情報が埋め込まれた画像を、元の画像と付加情報とに復号することができる。
【0279】
なお、本実施の形態では、CPU132または152に、コンピュータプログラムを実行させることで、埋め込み符号化処理または埋め込み復号処理をそれぞれ行うようにしたが、これらの処理は、それ専用のハードウェアによって行うことも可能である。
【0280】
次に、上述した一連の処理は、汎用のコンピュータ等に、プログラムをインストールして行わせることが可能である。
【0281】
そこで、図32は、上述した一連の処理を実行するプログラムがインストールされる汎用のコンピュータの一実施の形態の構成例を示している。
【0282】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク205やROM203に予め記録しておくことができる。
【0283】
あるいはまた、プログラムは、フロッピーディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体211に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体211は、いわゆるパッケージソフトウエアとして提供することができる。
【0284】
なお、プログラムは、上述したようなリムーバブル記録媒体211からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部208で受信し、内蔵するハードディスク205にインストールすることができる。
【0285】
コンピュータは、CPU(Central Processing Unit)202を内蔵している。CPU202には、バス201を介して、入出力インタフェース210が接続されており、CPU202は、入出力インタフェース210を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部207が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)203に格納されているプログラムを実行する。あるいは、また、CPU202は、ハードディスク205に格納されているプログラム、衛星若しくはネットワークから転送され、通信部208で受信されてハードディスク205にインストールされたプログラム、またはドライブ209に装着されたリムーバブル記録媒体211から読み出されてハードディスク205にインストールされたプログラムを、RAM(Random Access Memory)204にロードして実行する。これにより、CPU202は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU202は、その処理結果を、必要に応じて、例えば、入出力インタフェース210を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部206から出力、あるいは、通信部208から送信、さらには、ハードディスク205に記録等させる。
【0286】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
【0287】
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0288】
なお、本実施の形態では、ある画素の左隣の画素を基準画素としたが、その他、例えば、右隣の画素や、その上または下に隣接する画素、隣接しないが近い位置にある画素等を、基準画素とすることが可能である。さらに、例えば、前のフレームの同一位置にある画素や、動き補償を行った後の前のフレームの同一位置にある画素等を、基準画素とすることも可能である。また、近い位置にある幾つかの画素の画素値の平均値を求め、その平均値を有する画素が仮想的に存在するものとして、その仮想的な画素を、基準画素とすることも可能である。
【0289】
さらに、本実施の形態では、画像データを変換の対象とするようにしたが、その他、例えば、オーディオデータや、コンピュータプログラム等を変換の対象とすることが可能である。但し、本発明は、画像データやオーディオデータ等のように、データどうしの間に、何らかの相関があるものを、変換の対象とする場合に、特に有用である。
【0290】
【発明の効果】
本発明の第1のデータ処理装置およびデータ処理方法、並びに記録媒体によれば、急峻で、大きな偏りを有する分布の第2のデータを得ることが可能となる。
【0291】
本発明の第2のデータ処理装置およびデータ処理方法、並びに記録媒体によれば、急峻で、大きな偏りを有する分布の第2のデータを得ることが可能となる。
【0292】
本発明の第3のデータ処理装置およびデータ処理方法、並びに記録媒体によれば、急峻で、大きな偏りを有する分布の第2のデータを、元の第1のデータに逆変換することが可能となる。
【図面の簡単な説明】
【図1】本発明を適用した画像変換装置の一実施の形態の構成例を示すブロック図である。
【図2】図1のコードテーブル作成部2の構成例を示すブロック図である。
【図3】図2の画素選択部12の処理を説明するための図である。
【図4】図2のヒストグラム作成部13の処理を説明するための図である。
【図5】実際の画像から得られた画素値のヒストグラムを示す図である。
【図6】図2のコード生成部14の処理を説明するための図である。
【図7】図2のコード生成部14の処理を説明するための図である。
【図8】図1の画像変換装置による変換処理を説明するためのフローチャートである。
【図9】図8のステップS1の処理のより詳細を説明するためのフローチャートである。
【図10】本発明を適用した画像逆変換装置の一実施の形態の構成例を示すブロック図である。
【図11】図10の画像逆変換装置による逆変換処理を説明するためのフローチャートである。
【図12】本発明を適用した画像伝送システムの一実施の形態の構成例を示すブロック図である。
【図13】本件出願人が先に提案した画像伝送システムの構成例を示すブロック図である。
【図14】符号化対象の画像を示す図である。
【図15】相関性を利用した符号化/復号を説明するための図である。
【図16】連続性を利用した符号化/復号を説明するための図である。
【図17】相似性を利用した符号化/復号を説明するための図である。
【図18】図13の埋め込み符号化器103のハードウェアの構成例を示すブロック図である。
【図19】図18の埋め込み符号化器103の機能的構成例を示すブロック図である。
【図20】埋め込み符号化処理を説明するためのフローチャートである。
【図21】実際の画像の画素値の度数分布を示す図である。
【図22】埋め込み符号化処理の結果を説明するための図である。
【図23】図13の埋め込み復号器106のハードウェアの構成例を示すブロック図である。
【図24】図23の埋め込み復号器106の機能的構成例を示すブロック図である。
【図25】埋め込み復号処理を説明するためのフローチャートである。
【図26】図25のステップS122の処理を説明するための図である。
【図27】図25のステップS122の処理を説明するための図である。
【図28】本発明を適用した、図13の埋め込み符号化器103の一実施の形態の構成例を示すブロック図である。
【図29】図28の埋め込み符号化器103が行う埋め込み符号化処理を説明するためのフローチャートである。
【図30】本発明を適用した、図13の埋め込み復号器106の一実施の形態の構成例を示すブロック図である。
【図31】図30の埋め込み復号器106が行う埋め込み復号処理を説明するためのブロック図である。
【図32】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
1 フレームメモリ, 2 コードテーブル作成部, 3 コードテーブル記憶部, 4 変換対象画素取得部, 5 基準画素取得部, 6 変換部, 7フレームメモリ, 11 フレームメモリ, 12 画素選択部, 13 ヒストグラム作成部, 14 コード生成部, 21 コードテーブル取得部, 22 コードテーブル記憶部, 23 フレームメモリ, 24 逆変換対象画素取得部, 25 逆変換部, 26 フレームメモリ, 27 基準画素取得部, 31 圧縮装置, 32 伝送媒体, 33 記録媒体, 34 伸張装置, 41 画像変換装置, 42 エントロピー符号化部, 43 マルチプレクサ, 44 デマルチプレクサ, 45 エントロピー復号部, 46 画像逆変換装置, 101 画像データベース, 102 付加情報データベース, 103 埋め込み符号化器, 104 記録媒体, 105 伝送媒体, 106 埋め込み復号器, 110 符号化装置, 120 復号装置, 131 フレームメモリ, 132 CPU, 133 プログラムメモリ, 134 メモリ, 135 出力バッファ, 141 度数分布算出部, 142 変更対象画素値/変更値決定部, 143 画素値変更部, 151 入力バッファ, 152 CPU, 153 プログラムメモリ, 154 フレームメモリ, 155 メモリ, 161 度数分布算出部, 162 変更対象画素値/変更値決定部, 163 画素値変更部, 171 画像変換装置, 181 画像逆変換装置, 201 バス, 202 CPU, 203 ROM, 204 RAM, 205 ハードディスク, 206 出力部, 207 入力部,208 通信部, 209 ドライブ, 210 入出力インタフェース, 211 リムーバブル記録媒体[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data processing device, a data processing method, and a recording medium, and more particularly, to a data processing device, a data processing method, and a recording medium that enable, for example, high compression of an image or the like.
[0002]
[Prior art]
For example, as a method for compressing images and other data, there is a method using entropy coding such as Huffman coding.
[0003]
Entropy coding is lossless coding in which a bit string is converted into a smaller number of bit strings using statistical properties, and corresponds to, for example, Huffman coding. In Huffman coding, data is compressed by assigning short codewords to values with high appearance frequency and assigning long codewords to values with low appearance frequency.
[0004]
For this reason, when an image is compressed by Huffman coding, for each pixel constituting the image, a difference from a pixel adjacent to the pixel (adjacent pixel) is calculated, and the difference value is encoded by Huffman coding. To be done.
[0005]
In other words, the frequency distribution of the pixel values of the pixels constituting the image has a certain degree of deviation, but generally does not have a great degree of deviation. On the other hand, the difference value is a difference between adjacent pixels and is generally concentrated in the vicinity of 0. Therefore, the frequency distribution has a relatively steep and large deviation with the maximum frequency near 0. It becomes.
[0006]
Therefore, by performing Huffman coding for the difference value, the compression rate can be greatly improved compared to the case where the pixel value itself is targeted.
[0007]
[Problems to be solved by the invention]
Here, if the original pixel value is represented by N bits, the simple difference value between the pixel values is a value represented by N + 1 bits at the maximum. That is, for example, if the pixel value is represented by 8 bits in the range of 0 to 255, such a simple difference between the pixels becomes a value in the range of -255 to +255, and the representation is 9 bits. Is required. In this case, since the number of values that the difference value can take is almost twice the number of values that the original pixel value can take, the number of codewords required in Huffman coding also doubles, and the compression rate is reduced. It will deteriorate.
[0008]
Therefore, a method for preventing the increase in the number of bits of the difference value as described above by determining the magnitude relationship between two pixel values for which a difference is obtained and changing the method for calculating the difference value based on the determination result. There is.
[0009]
That is, when the target pixel (the pixel value) A of interest for calculating the difference value is equal to or greater than the adjacent pixel (the pixel value) B adjacent thereto, the adjacent pixel B is subtracted from the target pixel A. The subtraction value is used as difference data C as it is. Specifically, for example, when the target pixel value A is 200 and the adjacent pixel value B is 10, 200−10 = 190 is set as the difference value C.
[0010]
On the other hand, when the target pixel A is smaller than the adjacent pixel B, the adjacent pixel B is subtracted from the target pixel A, a certain value is added to the subtraction value, and the addition result is set as a difference value. That is, if a pixel is expressed by N bits, the subtraction value obtained by subtracting the adjacent pixel B from the target pixel A is set to 2NAnd the result of the addition is defined as a difference value C. Specifically, for example, when the pixel is represented by 8 bits, the target pixel value A is 10, and the adjacent pixel value B is 200, 10−200 + 28= 66 is the difference value C.
[0011]
By obtaining the difference value C as described above, the number of bits of the difference value C is not different from the number of bits of the original pixel (if the original pixel is expressed by N bits, the difference Data can also be expressed in N bits). Therefore, it is possible to prevent a reduction in compression rate due to an increase in the number of bits of the difference value.
[0012]
Note that the difference value C obtained as described above can be restored to the original pixel (target pixel) A as follows.
[0013]
That is, first, the difference value C is added to the adjacent pixel B, and the added value is obtained. Now, assuming that a pixel is represented by N bits, the added value is 2NIf it is −1 or less, the added value is directly used as the restoration result of the original pixel A.
[0014]
On the other hand, the sum of the difference value C and the adjacent pixel B is 2NIf it is greater than -1, 2 is calculated from the added value.NIs subtracted. In this case, the subtraction value becomes the restoration result of the original pixel A.
[0015]
As described above, the difference between a certain pixel A and another pixel B can be expressed without increasing the number of bits, and the difference is restored to the original pixel A. Can do.
[0016]
In this case, the frequency distribution of the difference values is 0 and 2NIt has a relatively steep and large bias with -1 vicinity as the maximum frequency.
[0017]
As described above, the frequency distribution of the difference values between adjacent pixels is a distribution having a relatively steep and large bias around a certain value, but the frequency distribution having a steeper and larger bias with respect to an image. Is obtained, a higher compression ratio can be realized.
[0018]
The present invention has been made in view of such a situation, and makes it possible to compress images and other data at a higher compression rate.
[0019]
[Means for Solving the Problems]
The first data processing apparatus of the present inventionThe first data has a correlation between adjacent values, and values that the first data can take are set as reference data values in order., Reference data of the first dataThe value of the data that is close to each other in time or space for all of the data that is the value ofFrequency distribution generating means for generating the frequency distribution for each reference data value and first data for each reference data valueThe value of theAnd a table generating means for generating a conversion table for each value of the reference data based on the frequency distribution.
[0021]
In the first data processing apparatus, the frequency distribution generation means includes first data that is temporally or spatially adjacent to the reference data.The value of theThe frequency distribution can be generated.
[0022]
In the first data processing apparatus, the second data is assigned to the table generating means in the ascending or descending order of the frequency with respect to the first data of each value for which the frequency distribution is obtained with respect to the reference data. As a result, a conversion table for each value of the reference data can be generated.
[0023]
In the first data processing device, the first data can be a pixel value constituting an image.
[0024]
The first data processing method of the present invention includes:The first data has a correlation between adjacent values, and values that the first data can take are set as reference data values in order., Reference data of the first dataThe value of the data that is close to each other in time or space for all of the data that is the value ofA frequency distribution generating step for generating the frequency distribution for each reference data value and first data for each reference data valueThe value of theAnd a table generation step of generating a conversion table for each value of the reference data based on the frequency distribution.
[0025]
The first recording medium of the present invention isThe first data has a correlation between adjacent values, and values that the first data can take are set as reference data values in order., Reference data of the first dataThe value of the data that is close to each other in time or space for all of the data that is the value ofA frequency distribution generating step for generating the frequency distribution for each reference data value and first data for each reference data valueThe value of theBased on the frequency distribution, a program including a table generation step for generating a conversion table is recorded for each value of the reference data.
[0026]
The second data processing apparatus of the present inventionTo be convertedThe first dataIn a predetermined orderAnd selecting means for selecting, as reference data, other first data having a predetermined positional relationship with the selected first data, and generated for each value of the reference data, Conversion means for converting the first data into the second data based on the conversion table associated with the second data, the first data being correlated between adjacent values; The conversion table sequentially sets values that can be taken by the first data as values of the reference data, and temporally or with respect to each data of all the data that are the values of the reference data of the first data. A frequency distribution of data values having spatially close positional relationships is generated for each reference data value, and based on the frequency distribution of the first data value for each reference data value, the value of the reference data Is generated for eachThe conversion means refers to the conversion table generated for each value of the reference data and corresponds to the reference data selected by the selection means, and converts the first data to be converted selected by the selection means. , Convert to the second data associated with the first dataIt is characterized by that.
[0029]
In the second data processing device, the conversion table is temporally or spatially adjacent to the reference data of the first data, with the data having a predetermined value of the first data as the reference data. A frequency distribution of things is generated for each value of the reference data, and the first data for each value of the reference dataThe value of theIt can be generated for each value of the reference data based on the frequency distribution.
[0030]
In the second data processing device, the conversion table assigns the second data in ascending or descending order of the frequency to the first data of each value for which the frequency distribution is obtained with respect to the reference data. , And can be generated for each value of the reference data.
[0031]
In the second data processing apparatus, the first data can be a pixel value constituting an image.
[0032]
The second data processing apparatus may further include storage means for storing a conversion table for each reference data value.
[0033]
The second data processing device may further include a generating unit that generates a conversion table for each value of the reference data.
[0034]
The second data processing apparatus may further include a compression unit that compresses the second data obtained by converting the first data.
[0035]
The second data processing method of the present invention includes:To be convertedThe first dataIn a predetermined orderA selection step of selecting, as reference data, other first data having a predetermined positional relationship with respect to the selected first data, and generated for each value of the reference data, A conversion step of converting the first data into the second data based on a conversion table associated with the second data, wherein the first data has a correlation between adjacent values; The conversion table sequentially sets values that can be taken by the first data as values of the reference data, and temporally or with respect to each data of all the data that are the values of the reference data of the first data. A frequency distribution of data values having spatially close positional relationships is generated for each reference data value, and based on the frequency distribution of the first data value for each reference data value, the value of the reference data Generated every time DerIn the conversion step, the conversion table generated for each value of the reference data is referred to the one corresponding to the reference data selected in the selection step, and the first data to be converted selected in the selection step is , Convert to the second data associated with the first dataIt is characterized by that.
[0036]
The second recording medium of the present invention isTo be convertedThe first dataIn a predetermined orderA selection step of selecting, as reference data, other first data having a predetermined positional relationship with respect to the selected first data, and generated for each value of the reference data, A conversion step of converting the first data into the second data based on a conversion table associated with the second data, wherein the first data has a correlation between adjacent values; The conversion table sequentially sets values that can be taken by the first data as values of the reference data, and temporally or with respect to each data of all the data that are the values of the reference data of the first data. A frequency distribution of data values having spatially close positional relationships is generated for each reference data value, and based on the frequency distribution of the first data value for each reference data value, the value of the reference data Generated every time DerIn the conversion step, the conversion table generated for each value of the reference data is referred to the one corresponding to the reference data selected in the selection step, and the first data to be converted selected in the selection step is , Convert to the second data associated with the first dataThe program is recorded.
[0037]
The third data processing apparatus of the present inventionIt becomes the object of reverse conversionSecond dataIn a predetermined orderA selection means for selecting, as reference data, first data that has been selected and is in a predetermined positional relationship with the selected second data and has already been inversely transformed, and is generated for each value of the reference data. And an inverse conversion means for inversely converting the second data into the first data based on a conversion table in which the first and second data are associated with each other. There is a correlation between them, and the conversion table sequentially sets values that the first data can take as reference data values, and among the first data, all the data that are the values of the reference data Is generated for each reference data value based on the frequency distribution of the first data value for each reference data value. For each reference data value Der thoseThus, the inverse conversion means refers to the conversion table generated for each value of the reference data and corresponds to the reference data selected by the selection means, and the second conversion target second conversion object selected by the selection means is selected. The data is converted into the first data associated with the second data, and the selection means is the same as the second data as reference data for the second data to be inversely converted first. Use the value of or the predetermined valueIt is characterized by that.
[0040]
In the third data processing device, the conversion table is adjacent to the reference data in the first data in terms of time or space, using the predetermined value of the first data as reference data. A frequency distribution of things is generated for each value of the reference data, and the first data for each value of the reference dataThe value of theIt can be generated for each value of the reference data based on the frequency distribution.
[0041]
In the third data processing apparatus, the conversion table assigns the second data in ascending or descending order of the frequency to the first data of each value for which the frequency distribution is obtained with respect to the reference data. It can be generated for each value of the reference data.
[0042]
In the third data processing apparatus, the first data can be a pixel value constituting an image.
[0043]
The third data processing apparatus can further include storage means for storing a conversion table for each value of the reference data.
[0044]
The third data processing apparatus may further include an acquisition unit that acquires a conversion table for each value of the reference data.
[0045]
The third data processing apparatus can further include decompression means for decompressing the compressed second data.
[0046]
The third data processing method of the present invention is:It becomes the object of reverse conversionSecond dataIn a predetermined orderA selection step of selecting, as reference data, first data that has already been inversely transformed and is in a predetermined positional relationship with the selected second data, and is generated for each value of the reference data And an inverse conversion step of inversely converting the second data into the first data based on a conversion table in which the first and second data are associated with each other. There is a correlation between them, and the conversion table sequentially sets values that the first data can take as reference data values, and among the first data, all the data that are the values of the reference data Is generated for each reference data value based on the frequency distribution of the first data value for each reference data value. Value of the reference data Der those generated in the doorIn the reverse conversion step, the second conversion table generated for each value of the reference data is referred to the one corresponding to the reference data selected in the selection step, and the second conversion target selected in the selection step is selected. The data is converted into the first data associated with the second data, and in the selection step, the same as the second data is used as reference data for the second data to be inversely converted first. Use the value of or the predetermined valueIt is characterized by that.
[0047]
The third recording medium of the present invention isIt becomes the object of reverse conversionSecond dataIn a predetermined orderA selection step of selecting, as reference data, first data that has already been inversely transformed and is in a predetermined positional relationship with the selected second data, and is generated for each value of the reference data And an inverse conversion step of inversely converting the second data into the first data based on a conversion table in which the first and second data are associated with each other. There is a correlation between them, and the conversion table sequentially sets values that the first data can take as reference data values, and among the first data, all the data that are the values of the reference data Is generated for each reference data value based on the frequency distribution of the first data value for each reference data value. Value of the reference data Der those generated in the doorIn the reverse conversion step, the second conversion table generated for each value of the reference data is referred to the one corresponding to the reference data selected in the selection step, and the second conversion target selected in the selection step is selected. The data is converted into the first data associated with the second data, and in the selection step, the same as the second data is used as reference data for the second data to be inversely converted first. Use the value of or the predetermined valueThe program is recorded.
[0073]
In the first data processing apparatus, the data processing method, and the recording medium of the present invention,The first data has a correlation between adjacent values, and values that the first data can take are set as reference data values in order., Reference data of the first dataThe value of the data that is close to each other in time or space for all of the data that is the value ofIs generated for each value of the reference data, and the first data for each value of the reference dataThe value of theOn the basis of the frequency distribution, a conversion table is generated for each value of the reference data.
[0074]
In the second data processing apparatus, data processing method, and recording medium of the present invention,To be convertedThe first dataIn a predetermined orderWhile being selected, other first data having a predetermined positional relationship with the selected first data is selected as reference data. Then, the first data is converted into the second data based on a conversion table that is generated for each value of the reference data and that associates the first and second data. Further, the first data has a correlation between adjacent values, and the conversion table sequentially sets values that can be taken by the first data as reference data values, and the reference data of the first data For each reference data value, a frequency distribution of the data values that are in a temporally or spatially close positional relationship to each data among all the data that are the values of the reference data is generated. Are generated for each value of the reference data based on the frequency distribution of the values of the first data.Then, the conversion table generated for each value of the reference data is referred to the one corresponding to the selected reference data, and the selected first data to be converted is associated with the first data. Is converted into second data.
[0075]
In the third data processing device, the data processing method, and the recording medium of the present invention, the second data is selected and is in a predetermined positional relationship with the selected second data and is already reversed. The converted first data is selected as reference data. Then, the second data is inversely converted into the first data based on the conversion table generated for each value of the reference data and associated with the first and second data. Further, the first data has a correlation between adjacent values, and the conversion table sequentially sets values that can be taken by the first data as reference data values, and the reference data of the first data For each reference data value, a frequency distribution of the data values that are in a temporally or spatially close positional relationship to each data among all the data that are the values of the reference data is generated. Are generated for each value of the reference data based on the frequency distribution of the values of the first data.Then, the conversion table generated for each value of the reference data is referred to the one corresponding to the selected reference data, and the selected second data to be inversely converted is associated with the second data. Is converted into the first data. Note that the same value as the second data or a predetermined value is used as the reference data for the second data to be subjected to inverse conversion first.
[0078]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 shows a configuration example of an embodiment of an image conversion apparatus to which the present invention is applied.
[0079]
In this image conversion apparatus, the image data is converted into data having a frequency distribution that is steep and has a large deviation beyond the difference value between adjacent pixels.
[0080]
That is, digital image data to be converted is supplied to the
[0081]
The code
[0082]
The code
[0083]
The code
[0084]
The conversion target
[0085]
The reference
[0086]
The
[0087]
The
[0088]
Next, FIG. 2 shows a configuration example of the code
[0089]
The frame memory 11 is supplied with code table creation image data that is image data used to create a code table, and the frame memory 11 stores the code table creation image data.
[0090]
Here, as described above, the code table creation image data may be image data stored in the
[0091]
The
[0092]
That is, in the present embodiment, as described above, the reference
[0093]
Here, the pixel corresponding to the conversion target pixel that the
[0094]
The reference pixel selected by the
[0095]
As shown in FIG. 4, the
[0096]
Based on the frequency distribution of the selected pixel for each pixel value of the reference pixel supplied from the
[0097]
Here, the code table generated in the
[0098]
FIG. 5 shows a frequency distribution of selected pixels obtained using an actual image.
[0099]
That is, FIG. 5 shows a frequency distribution of pixel values of a selected pixel that is a pixel on the right side when a pixel having a pixel value of 20 is set as a reference pixel in an image represented by 8 bits. When a pixel having a value of 128 is set as a reference pixel, a frequency distribution of pixel values of a selected pixel which is a pixel on the right side of the pixel is shown.
[0100]
From FIG. 5, the frequency distribution of the pixel value of the selected pixel that is a pixel right next to the reference pixel of a certain pixel value is not a uniform distribution but a non-uniform distribution, and the pixel value of the reference pixel is centered. The distribution is not symmetrical (often).
[0101]
For this reason, the difference value obtained by subtracting the pixel on the left (a reference pixel in this embodiment) from a certain pixel does not necessarily have an optimal bias.
[0102]
That is, for example, assume that the frequency distribution of the pixel value of the pixel (selected pixel) on the right side of the reference pixel having a certain pixel value is as shown in FIG. Here, in FIG. 6A, the horizontal axis represents the pixel value of the right adjacent pixel based on the pixel value of the reference pixel, that is, subtracts the reference pixel from the right adjacent pixel of the reference pixel. The vertical axis represents the frequency (frequency) of the differential value.
[0103]
Representing a pixel value as a difference value with the pixel (reference pixel) on the left of that pixel means that the smaller the absolute value of the difference value, the higher the frequency, and the higher the absolute value of the difference value, the higher the frequency. This is equivalent to assigning codes to each pixel value in ascending order (or descending order) of the absolute value of the difference value.
[0104]
Therefore, in the expression using the difference value, for example, as shown in FIG. 6B, the
[0105]
In this case, the frequency distribution in which the assigned code (assignment code) is on the horizontal axis is as shown in FIG. 6 (C), and macroscopically (as a whole), the frequency increases as the code increases. Microscopically, the frequency does not decrease monotonously but has some unevenness. This unevenness is caused by the fact that in the frequency distribution shown in FIG. 6A, the smaller (larger) absolute value of the difference value does not necessarily become higher (lower).
[0106]
As described above, the frequency distribution of the allocation code allocated based on the difference value from the reference pixel for the pixel (selected pixel) on the right side of the reference pixel having a certain pixel value has an unevenness as shown in FIG. Therefore, the frequency distribution of the allocation code for the pixel on the right side of the reference pixel of another pixel value is similarly uneven.
[0107]
Therefore, since the frequency distribution of the allocation code based on the difference value for the entire image is a macro addition of the frequency distribution with respect to the reference pixel of each pixel value, the frequency decreases as the code increases. Is a distribution having a certain degree of steepness and a certain degree of bias. However, since the frequency distribution of the allocation code based on the difference value for the entire image is a microscopic addition of the frequency distribution with respect to the reference pixel of each pixel value having the unevenness as described above, its steepness is obtained. The thickness and the deviation are dull due to unevenness.
[0108]
Therefore, the
[0109]
That is, for example, as the frequency distribution of the pixel value of the pixel (selected pixel) right next to the reference pixel having a certain pixel value, the histogram generation unit shown in FIG. 7A similar to FIG. 13 is supplied to the
[0110]
In this case, based on the frequency distribution from the
[0111]
Therefore, in the frequency distribution shown in FIG. 7A, pixel values (pixel values with reference to the reference pixel) are 0, +1, +2, -1, +3, -2, +4, +5, -3, Since the frequency decreases in the order of −4 (−5),..., In the
[0112]
In this case, the frequency distribution with the assigned code (assignment code) on the horizontal axis is a monotonically decreasing distribution as shown in FIG.
[0113]
Similarly, the frequency distribution of the allocation code assigned based on the frequency distribution of the pixel values with reference to the reference pixel for the pixel (selected pixel) to the right of the reference pixel of another pixel value is also shown in FIG. The distribution is monotonically decreasing as shown.
[0114]
Accordingly, in this case, since the frequency distribution of the allocation code of the entire image is obtained by adding the frequency distributions of monotonous decrease as described above, the frequency distribution is steeper compared to the case where the difference value expression is described in FIG. And a distribution with a larger bias.
[0115]
As described above, the code assigned to the pixel value is determined based on the frequency of the pixel value of the pixel immediately adjacent to the reference pixel, that is, the existence probability of the pixel value, and converted into such a code. This frequency distribution is steeper and has a larger bias.
[0116]
As a result, based on the code table shown in FIG. 7B, an image (converted image) composed of pixels obtained by converting pixel values into allocation codes (hereinafter referred to as converted pixels as appropriate) has a higher compression rate. Can be compressed.
[0117]
Next, a conversion process for converting an image into a converted image performed by the image conversion apparatus in FIG. 1 will be described with reference to the flowchart in FIG.
[0118]
The
[0119]
In step S1, the code
[0120]
In step S <b> 2, the conversion target
[0121]
Then, the process proceeds to step S3, and the
[0122]
Thereafter, the process proceeds to step S5, and it is determined whether or not the conversion of the pixel value is performed with all the pixels constituting the target frame as the conversion target pixels. In step S5, when it is determined that all of the pixels constituting the frame of interest are conversion target pixels and the pixel values have not yet been converted, the process returns to step S2, and the same processing is repeated thereafter.
[0123]
If it is determined in step S5 that all the pixels constituting the target frame have been converted as pixel values to be converted, that is, the converted image corresponding to the target frame is stored in the
[0124]
In step S6, it is determined whether or not the
[0125]
If it is determined in step S6 that the frame next to the frame of interest is not stored in the
[0126]
According to the flowchart of FIG. 8, each time an image of a certain frame is converted into a converted image, a code table used for the conversion is created. Therefore, a code table for the frame can be obtained for each frame. become.
[0127]
However, the code table can be created for each image of two frames or more, for example.
[0128]
The code table can be created in advance using a predetermined image and stored in the code
[0129]
Next, with reference to the flowchart of FIG. 9, the code table creation process performed by the code table creation unit 2 (FIG. 2) performed in step S1 of FIG. 8 will be further described.
[0130]
The frame memory 11 is supplied with and stored code table creation image data.
[0131]
In step S11, the
[0132]
In step S <b> 13, the
[0133]
That is, based on the frequency distribution from the
[0134]
Then, the process proceeds to step S15, and the
[0135]
On the other hand, if it is determined in step S15 that all of the values that can be taken by the pixel values constituting the image data have been processed as the set pixel values, that is, all the values that can be taken by the pixel values that make up the image data. On the other hand, when the code table is obtained, the
[0136]
In the image conversion apparatus of FIG. 1 (the same applies to the image reverse conversion apparatus of FIG. 10 described later), if a pixel adjacent to the left or right of the leftmost or rightmost pixel of the frame is necessary, the left adjacent or right The adjacent pixel is processed, for example, as having the same pixel value as the pixel at the left end or the right end, or having a predetermined pixel value (for example, 0).
[0137]
Next, FIG. 10 shows a configuration example of an embodiment of an image reverse conversion device that reversely converts the converted image output from the image conversion device of FIG. 1 into the original image.
[0138]
The converted image and code table output from the image conversion apparatus in FIG. 1 are supplied to the
[0139]
The code
[0140]
The
[0141]
Inverse conversion target pixels are supplied from the reverse conversion target
[0142]
The
[0143]
The reference
[0144]
In the present embodiment, the inverse conversion target
[0145]
Next, with reference to the flowchart of FIG. 11, an inverse transform process performed by the image inverse transform device of FIG. 10 to inversely transform a converted image into an original image will be described.
[0146]
When the converted image output from the image conversion apparatus of FIG. 1 and the code table for each pixel value are supplied, in step S21, the
[0147]
Then, the process proceeds to step S22, and among the conversion pixels constituting the converted image stored in the
[0148]
In step S23, the
[0149]
In step S25, the inverse conversion target
[0150]
Further, when it is determined in step S25 that all the pixels constituting the converted image have been subjected to inverse conversion of the pixel values as the inverse conversion target pixels, that is, the original image obtained by inversely converting the converted image in the
[0151]
Note that the inverse transformation process according to the flowchart of FIG. 11 is performed each time a converted image and a code table for each pixel value are supplied to the image inverse transformation apparatus.
[0152]
Here, the code table is supplied together with the converted image to the image reverse conversion device in FIG. 10, but the code table is created in advance in the image conversion device in FIG. 1 as described above. In addition, in the case where the code
[0153]
Next, as described above, the conversion image output from the image conversion apparatus in FIG. 1 has a distribution in which the allocation code, which is a pixel value constituting the conversion image, is steep and has a large deviation. By performing entropy coding such as, it is possible to compress at a high compression rate.
[0154]
FIG. 12 shows an example of the configuration of an embodiment of an image transmission system that compresses and transmits an image in such a manner.
[0155]
This image transmission system includes a compression device 31 that compresses image data and a decompression device 34 that decompresses the compressed image data to the original image data.
[0156]
The compression device 31 includes an image conversion device 41, an
[0157]
The image conversion apparatus 41 is configured in the same manner as the image conversion apparatus shown in FIG. 1, converts the image data to be compressed into a converted image as described above, and outputs the converted image data to the
[0158]
Here, as described above, since the allocation code, which is the pixel value constituting the converted image, has a steep and large distribution, the
[0159]
The
[0160]
The expansion device 34 includes a
[0161]
The
[0162]
The image
[0163]
Next, as described above, the method of converting the image into a pixel whose pixel value is a steep and large distribution and performing the inverse conversion is proposed by the present applicant, for example, The present invention can be applied to the case of performing the embedded encoding / decoding disclosed in Japanese Patent Application No. 11-284199.
[0164]
FIG. 13 shows a configuration example of the image transmission system previously proposed by the applicant.
[0165]
The image transmission system includes an encoding device 110 and a decoding device 120. The encoding device 110 encodes, for example, an image as an encoding target, and outputs encoded data. The decoding device 120 The encoded data is decoded into the original image.
[0166]
That is, the
[0167]
The
[0168]
The embedded
[0169]
The decoding device 120 is configured by an embedded
[0170]
As the additional information, for example, text data related to the original image, audio data, a reduced image obtained by reducing the image, and data unrelated to the original image can be used.
[0171]
Next, the principles of encoding (embedded encoding) in the embedded
[0172]
In general, what is called information has a bias (universality) of energy (entropy), and this bias is recognized as information (worthy information). That is, for example, an image obtained by shooting a certain landscape is recognized by a person as being an image of such a landscape because the image (pixel value of each pixel constituting the image, etc.) This is because the image has a corresponding energy bias, and an image without the energy bias is merely noise or the like and is not useful as information.
[0173]
Therefore, even if some operation is performed on valuable information and the original energy bias of the information is destroyed, so to speak, some operation is performed by restoring the destroyed energy bias. Information can also be restored to the original information. That is, encoded data obtained by encoding information can be decoded into original valuable information by utilizing the original energy bias of the information.
[0174]
Here, examples of the energy (bias) of information include correlation, continuity, and similarity.
[0175]
Information correlation is the correlation (for example, autocorrelation between one component and another component) (for example, in the case of an image, pixels and lines constituting the image). Distance). For example, the correlation between the images includes the correlation between the lines of the image, and the correlation value indicating the correlation includes, for example, the sum of squares of the differences between the corresponding pixel values in the two lines. (In this case, a small correlation value represents a large correlation between lines, and a large correlation value represents a small correlation between lines).
[0176]
That is, for example, when there is an image having H lines as shown in FIG. 14, the correlation between the first line from the top (first line) and other lines is generally shown in FIG. As shown in (A), the closer the distance to the first line (the upper line in the image in FIG. 14) is, as shown as the correlation for the Mth line, the greater the distance from the first line. The line (the lower line in the image in FIG. 14) becomes smaller as shown as the correlation for the Nth line. Accordingly, there is a correlation bias in which the closer to the first line, the greater the correlation with the first line and the smaller the distance.
[0177]
Therefore, in the image of FIG. 14, an operation of exchanging the pixel values of the Mth line that is relatively close to the first line and the Nth line that is relatively far from the first line is performed (1 <M <N ≦ H). When the correlation between the first line and the other lines is calculated for the image after the replacement, it is as shown in FIG. 15B, for example.
[0178]
That is, in the image after replacement, the correlation with the Mth line (Nth line before replacement) close to the first line becomes small, and the correlation with the Nth line (Mth line before replacement) far from the first line. Becomes larger.
[0179]
Therefore, in FIG. 15B, the correlation bias that the correlation increases as the distance from the first line decreases and the correlation decreases as the distance from the first line decreases. However, with respect to an image, generally, the correlation bias that the correlation becomes larger as it is closer to the first line and the correlation becomes smaller as it is farther can be used to restore the broken correlation bias. That is, in FIG. 15B, the correlation with the Mth line near the first line is small and the correlation with the Nth line far from the first line is large because of the inherent correlation bias of the image. For example, it is clearly unnatural (funny), and the Mth line and the Nth line should be interchanged. Then, by replacing the M-th line and the N-th line in FIG. 15B, an image having an original correlation bias as shown in FIG. 15A, that is, an original image can be decoded. it can.
[0180]
Here, in the case described with reference to FIG. 14 and FIG. 15, the replacement of the lines will encode the image. In the encoding, the embedded
[0181]
Next, regarding information continuity, for example, when attention is paid to one line of an image, a change pattern of pixel values as shown in FIG. Assuming that the waveform is observed, a change pattern of pixel values different from that of the target line is observed in other lines apart from the target line. Therefore, the pixel value change pattern is different between the attention line and another line away from the attention line, and there is also a bias in continuity. That is, when attention is paid to the pixel value change pattern of a certain part of the image, a similar pixel value change pattern exists in a part adjacent to the target part. There is a continuity bias that exists.
[0182]
Therefore, a part of the waveform in which the change pattern of pixel values in a certain line of the image shown in FIG. 16A is continuous is shown in FIG. 16B, for example. Replace with part of the waveform at.
[0183]
In this case, the continuity bias of the image is destroyed. However, by using the continuity bias that the change pattern of pixel values of adjacent parts is continuous and the change pattern of pixel values is different as the distance is increased, the destroyed continuity bias can be restored. it can. That is, in FIG. 16B, the change pattern of the pixel value of a part of the waveform is significantly different from the change pattern of the pixel value of the other part. Therefore, a portion that is clearly unnatural and is different from the change pattern of the pixel value of the other portion should be replaced with a waveform similar to the change pattern of the pixel value of the other portion. Then, by performing such replacement, the continuity bias is restored, so that the original waveform shown in FIG. 16A can be decoded from the waveform shown in FIG. .
[0184]
Here, in the case described with reference to FIG. 16, replacing a part of the waveform with a waveform of a change pattern of pixel values that is significantly different from the change pattern of the surrounding pixel values is to encode an image. Become. In the encoding, the embedded
[0185]
Next, regarding the similarity of information, for example, it is known that a part of an image or the like obtained by photographing a landscape can be generated using the fractal nature (self-similarity) of the image. That is, for example, in an image obtained by photographing the sea and forest as shown in FIG. 17A, the similarity between the change pattern of pixel values of the entire sea and the change pattern of pixel values of a part of the sea is Although it is high, there is a similarity bias that the similarity between these change patterns and the change pattern of pixel values of forests away from the sea is low. Here, the similarity of images may be considered not by comparing pixel value change patterns as described above but by comparing edge shapes.
[0186]
Therefore, a part of the sea shown in FIG. 17A is replaced with a part of the forest.
[0187]
In this case, the image similarity bias is destroyed, and an image as shown in FIG. 17B is obtained. However, the variation pattern of the pixel values of the adjacent parts has a high similarity, and the similarity deviation of the pixel value change pattern decreases as the distance from the pattern increases. Can be restored. That is, in FIG. 17B, a part of the sea image is a part of a forest image having low similarity to the sea, and a part of the forest image has low similarity to the forest. Being part of the ocean image is clearly unnatural, given the inherent similarity bias of the image. Specifically, in FIG. 17B, the similarity of a part of the forest image in the sea image is extremely low compared to the similarity of the other part of the sea. Also, the similarity of a part of the sea image in the forest image is extremely low compared to the similarity of the other part of the forest.
[0188]
Therefore, according to the bias of similarity that the image originally has, a part of the sea image that is a part of the sea image and a part of the sea image that is a part of the forest image Should be replaced. Then, by performing such replacement, the similarity similarity of the images is restored, thereby decoding the original image shown in FIG. 17A from the image shown in FIG. Can do.
[0189]
Here, in the case described with reference to FIG. 17, a part of the sea image and a part of the forest image are replaced with each other to encode the image. In the encoding, the embedded
[0190]
As described above, the embedded
[0191]
In addition, since the additional information is embedded in the image to be encoded, the image obtained as a result of the embedding is different from the original image and is not an image that can be recognized as valuable information by a person. Therefore, it is possible to realize encryption without overhead for the image to be encoded.
[0192]
Furthermore, a completely reversible digital watermark can be realized. That is, in the conventional digital watermark, for example, the low-order bits of the pixel value that do not significantly affect the image quality are simply changed to values corresponding to the digital watermark. In this case, the low-order bits are changed to the original values. It is difficult to return. Therefore, the image quality of the decoded image deteriorates not a little due to the change of the lower bits as the digital watermark. On the other hand, when the encoded data is decoded using the energy bias of the original image, the original image and the additional information without deterioration can be obtained. Therefore, the image quality of the decoded image does not deteriorate due to the digital watermark.
[0193]
Further, since the embedded additional information can be extracted by decoding the image from the encoded data, the side information can be provided without any overhead along with the image encoding result. In other words, since the additional information can be embedded in an image without the overhead for extracting the additional information, the encoded data obtained as a result of the embedding is compressed (embedded compressed) by the amount of the additional information. be able to. Therefore, for example, if half of a certain image is to be encoded and the other half is additional information, the remaining half of the image can be embedded in the half of the image to be encoded. The image is simply compressed to ½.
[0194]
Furthermore, since the encoded data is decoded using a so-called statistic, that is, an energy bias of the original image, it is highly resistant to errors. That is, robust encoding (statistical encoding) that is highly robust encoding can be realized.
[0195]
In addition, since the encoded data is decoded using the energy bias of the original image, the more characteristic the energy bias is, that is, for example, the higher the activity of the image, or The lower the redundancy, the more additional information can be embedded. Here, as described above, the encoded data obtained as a result of embedding the additional information can be said to be compressed by the amount of the additional information. From the viewpoint of this compression, the information to be encoded is According to the method of encoding the information according to the additional information (embedded encoding method) so that decoding can be performed using the bias of energy possessed, the higher the activity of the image, or the The lower the redundancy, the higher the compression ratio. In this regard, the embedded coding system is greatly different from the conventional coding system (in the conventional coding system, for example, the MPEG (Moving Picture Experts Group) system), basically, the higher the activity of the image, or The lower the image redundancy, the lower the compression rate).
[0196]
Furthermore, for example, as described above, an image is to be encoded, and as additional information, for example, audio of a medium different from the image is used, and the image is provided using the audio as a key. It becomes possible. That is, on the encoding device 110 side, for example, the voice “open sesame” uttered by the contractor is embedded in the image as additional information, and on the decoding device 120 side, the user utters the voice “open sesame”. Then, speaker recognition is performed using the voice and the voice embedded in the image. In this way, for example, as a result of speaker recognition, it is possible to automatically present an image only when the user is a contractor. In this case, the sound as the additional information can use the sound waveform itself, not so-called feature parameters.
[0197]
In addition, for example, while audio is an encoding target, audio is provided using an image as a key by using, for example, an image of a medium different from audio as additional information (for example, Voice response after face recognition). That is, on the encoding device 110 side, for example, an image of the user's face is embedded in the voice as a response to the user, and on the decoding device 120 side, the user's face is photographed and matched with the resulting image. By outputting the voice in which the face image is embedded, it is possible to realize a voice response system that performs a different voice response for each user.
[0198]
Furthermore, it is also possible to embed information of the same medium in information of a certain medium, such as embedding sound in an audio or embedding an image in an image. Alternatively, if the voice and face image of the contractor are embedded in the image, the image is presented only when the voice and face image of the user match those embedded in the image. In other words, a double key system can be realized.
[0199]
In addition, for example, it is possible to embed the other in one of the synchronized images and sounds constituting the television broadcast signal. In this case, the information of different media is integrated. Integrated coding can be realized.
[0200]
Further, in the embedded coding system, as described above, the information can be embedded with more additional information, as the information has a characteristic of energy bias. Therefore, for example, it is possible to control the total amount of data by adaptively selecting one of the two types of information that has a characteristic in energy bias and embedding the other in the selected one. It becomes. That is, between two pieces of information, one piece of information can absorb the other amount of information. As a result of controlling the total amount of data in this way, information transmission (environmentally responsive network transmission) with a data amount suitable for the transmission band and usage status of the transmission path and other transmission environments becomes possible.
[0201]
Further, for example, by embedding a reduced image of an image in an image (or by embedding a sound obtained by thinning out the sound), so-called hierarchical encoding (lower hierarchy) is performed without increasing the amount of data. (Encoding for generating higher layer information) can be realized.
[0202]
Furthermore, for example, by embedding an image as a key for searching for an image in the image, a database for searching for an image based on the image as the key can be realized.
[0203]
Next, FIG. 18 shows a configuration example of the embedded
[0204]
An image supplied from the
[0205]
A CPU (Central Processing Unit) 132 executes a program stored in the
[0206]
The
[0207]
The
[0208]
The
[0209]
Next, FIG. 19 shows a functional configuration example of the embedded
[0210]
Each of the
[0211]
The frequency
[0212]
Next, the embedded encoding process performed in the embedded
[0213]
The image stored in the
[0214]
On the other hand, in the frequency
[0215]
Here, FIG. 21 shows a frequency distribution of pixel values of an actual image. FIG. 21 shows the frequency distribution of the R component of an image of one frame composed of RGB component signals each assigned 8 bits. Here, as described above, 8 bits are assigned to the R component, and therefore, pixel values in a range of 256 such as 0 to 255 can be taken. In FIG. 21, pixels having pixel values of 250 or more are used. Does not exist. Furthermore, as is apparent from FIG. 21, in general, there are not only the same number of pixel values (here, values of 0 to 255) but also a large number of pixel values in the image. For example, some pixel values do not exist at all. However, changes in the frequency distribution of pixel values are generally continuous.
[0216]
The frequency distribution of pixel values obtained by the frequency
[0217]
Here, in the present embodiment, additional information is embedded in the change target pixel value. Therefore, in order to increase the data amount of the additional information that can be embedded, the pixel value having the highest frequency is set as the change target pixel value. However, the pixel value as the change target pixel value is not limited to the highest frequency value.
[0218]
When the change target pixel value and the change value are determined in the change target pixel value / change
[0219]
When the pixel
[0220]
If it is determined in step S104 that the pixel value read in step S104 is a change target pixel value, the process proceeds to step S105, where the pixel
[0221]
In step S106, the pixel
[0222]
If it is determined in step S106 that the additional information is, for example, one of 0 or 1, the process proceeds to step S107, and the pixel
[0223]
After the process of step S108, the process proceeds to step S109, and it is determined whether or not all the pixels in the frame that is the current encoding target have been read. If it is determined in step S109 that reading of all the pixels of the frame that is the current encoding target has not been completed yet, the process returns to step S103, and the pixel values to be processed next are read in the raster scan order. Thereafter, the same processing is repeated.
[0224]
If it is determined in step S109 that reading of all the pixels of the frame that is the current encoding target has been completed, the process proceeds to step S110, and the frame in which the additional information stored in the
[0225]
If it is determined in step S111 that the frame to be processed next is not stored in the
[0226]
According to the embedded encoding process as described above, an image of a certain frame is encoded into the following encoded data.
[0227]
That is, for example, assuming that the change target pixel values are distributed in the encoding target frame as indicated by · in FIG. 22A, among the change target pixel values, 0 in the raster scan order. Those at the position corresponding to the additional information are left as they are, and those at the position corresponding to one additional information are present in the frame of FIG. 22 (A) as indicated by x in FIG. 22 (B). The pixel value that is not changed, that is, the changed value that is a pixel value with a frequency of 0 is changed.
[0228]
As described above, the change target pixel value, which is the highest pixel value among the pixel values constituting the image stored in the
[0229]
That is, the change value is decoded into the original pixel value (change target pixel value) without overhead by using the continuity of the image, that is, the continuity of the frequency distribution of the pixel values constituting the image. The additional information can be decoded by detecting the change value and the change target pixel value. Accordingly, in the decoded image (reproduced image) obtained as a result, image quality deterioration due to embedding additional information basically does not occur.
[0230]
If there is no pixel value that does not exist in the encoding target frame, changing the change target pixel value distinguishes the pixel value after the change from the pixel value that originally exists in the encoding target frame. Difficult to do. Therefore, after calculating the frequency distribution in step S101 of the embedded encoding process in FIG. 20, if it is determined from the frequency distribution that there is no pixel value that does not exist in the frame, additional information is added to the frame. It is desirable to perform the embedded encoding process with the next frame as an encoding target without being embedded.
[0231]
Next, FIG. 23 shows a configuration example of the embedded
[0232]
The encoded data, that is, an image in which additional information is embedded (hereinafter also referred to as an embedded image as appropriate) is supplied to the
[0233]
The
[0234]
The
[0235]
The
[0236]
Next, FIG. 24 shows a functional configuration example of the embedded
[0237]
Each of the
[0238]
The frequency
[0239]
Next, the embedded decoding process performed in the embedded
[0240]
In the
[0241]
On the other hand, in step S121, the frequency
[0242]
When the change target pixel value / change
[0243]
That is, if the pixel values constituting the original image encoded in the embedded image have a continuous frequency distribution as shown in FIG. 26A, for example, the embedded
[0244]
Further, in this case, in the embedded
[0245]
As a result, for example, the difference between the frequency of the pixel value n and the frequency of the pixel value n + 1 (= the frequency of the pixel value n−the frequency of the pixel value n + 1) (hereinafter, appropriately referred to as a frequency difference) from the smallest pixel value. The frequency difference is calculated as the change target pixel value P.1Near (n = P1And n + 1 = P1), As shown in FIG. 27A, after becoming extremely large, it becomes extremely small (discontinuous). The frequency difference is the change value P2Near (n = P2And n + 1 = P2), As shown in FIG. 27 (B), after becoming extremely small, it becomes extremely large (discontinuous).
[0246]
Therefore, the change target pixel value and the change value determined in the embedded
[0247]
Returning to FIG. 25, when the change target pixel value / change
[0248]
In step S123, the pixel
[0249]
When it is determined in step S124 that the read pixel value is the change target pixel value, the process proceeds to step S125, and the pixel
[0250]
Furthermore, when it is determined in step S124 that the read pixel value is a change value, the process proceeds to step S126, and the pixel
[0251]
After the process of step S128, the process proceeds to step S129, and it is determined whether or not all the pixels in the frame of the embedded image that is the decoding target have been read. If it is determined in step S129 that reading of all the pixels of the frame of the embedded image that is to be decoded has not been completed yet, the process returns to step S123, and the pixel value to be processed next is determined in raster scan order. Thereafter, the same processing is repeated.
[0252]
If it is determined in step S129 that reading of all the pixels of the embedded image that is the decoding target has been completed, one frame of decoded image or additional information stored in the
[0253]
If it is determined in step S130 that the frame of the embedded image to be processed next is not stored in the
[0254]
As described above, encoded data, which is an image in which additional information is embedded, is decoded into the original image and additional information using the continuity of the image, so there is no overhead for decoding. However, the encoded data can be decoded into the original image and additional information. Accordingly, the decoded image basically does not deteriorate in image quality due to the embedded additional information.
[0255]
In the present embodiment, in the embedded encoding process, the change target pixel value is left as it is (changed to the change target pixel value) or changed to the change value according to the additional information. When there are two or more pixel values that do not exist in the image to be encoded, for example, two of them are set as a first change value and a second change value, and the change target pixel value is set according to the additional information, It is possible to change to the first change value or to change to the second change value. Here, when the change target pixel value is left as it is or is changed to the change value, it is sufficient if there is one pixel value that does not exist in the encoding target image. In the case of changing to the first or second change value, it is necessary that the encoding target image has two or more pixel values that do not exist. However, when the change target pixel value is changed to the first or second change value, since the change target pixel value does not exist in the embedded image, the embedded
[0256]
Further, when there are a plurality of non-existing pixel values in the encoding target image, all the plurality of pixel values are changed values, and the change target pixel value is selected from any of the plurality of changed values according to additional information. It is possible to change it. In this case, additional information of 2 bits or more can be embedded in one pixel.
[0257]
In this embodiment, in the embedded encoding process, the pixel values of the image to be encoded are processed in the raster scan order. However, the order of the process is not limited to the raster scan order. That is, as long as the pixel value for obtaining the frequency distribution can be read out, the processing order may be the column direction or the oblique direction.
[0258]
Furthermore, in the present embodiment, the frequency distribution is obtained for each frame in the embedded encoding process and the embedded decoding process, but the frequency distribution is divided into several blocks, for example, by dividing one frame into several blocks. It may be obtained in units of blocks or may be obtained in units of a plurality of frames.
[0259]
In this embodiment, the embedded
[0260]
Furthermore, when the image to be embedded is, for example, a color image composed of RGB component signals, it is possible to perform embedded encoding on each of RGB.
[0261]
The information used as the additional information is not particularly limited, and for example, an image, sound, text, computer program, control signal, or other data can be used as the additional information. If a part of the image in the
[0262]
Furthermore, in the present embodiment, the additional information is embedded in the image. However, the additional information can be embedded in other media, such as audio, in which the shape of the frequency distribution of values is continuous. is there.
[0263]
Here, the additional information itself is embedded in the image. However, for example, the feature amount of the additional information (for example, a histogram of additional information, variance, dynamic range, etc.) is embedded in the image. It is also possible to do.
[0264]
Next, FIG. 28 shows a functional configuration example when the embedded
[0265]
The
[0266]
Here, in order to simplify the description, it is assumed that the
[0267]
Therefore, in the embodiment of FIG. 28, the frequency
[0268]
Next, the embedded encoding process in the embedded
[0269]
In the embedded
[0270]
Then, in steps S141 to S151, the same processing as in steps S101 to S111 in FIG. 20 is performed, whereby the same embedded encoding processing as that described in FIG. 20 is performed on the converted image. Additional information is embedded.
[0271]
As described above, it is possible to perform more efficient embedded coding by embedding additional information in the converted image instead of the image itself.
[0272]
That is, as described above, the distribution of the pixel values of the converted pixels constituting the converted image obtained by the
[0273]
Next, FIG. 30 illustrates a functional configuration example of the embedded
[0274]
The image
[0275]
Next, the embedded decoding process by the embedded
[0276]
In the embedded
[0277]
That is, the encoded data output from the embedded
[0278]
According to the embedded decoding process as described above, as described above, an image in which a large amount of additional information is embedded can be decoded into the original image and the additional information.
[0279]
In the present embodiment, the
[0280]
Next, the above-described series of processing can be performed by installing a program in a general-purpose computer or the like.
[0281]
Therefore, FIG. 32 shows a configuration example of an embodiment of a general-purpose computer in which a program for executing the series of processes described above is installed.
[0282]
The program can be recorded in advance in a
[0283]
Alternatively, the program is stored temporarily on a
[0284]
The program is installed on the computer from the
[0285]
The computer includes a CPU (Central Processing Unit) 202. An input /
[0286]
Here, in this specification, the processing steps for describing a program for causing a computer to perform various types of processing do not necessarily have to be processed in time series according to the order described in the flowchart, but in parallel or individually. This includes processing to be executed (for example, parallel processing or processing by an object).
[0287]
Further, the program may be processed by one computer or may be distributedly processed by a plurality of computers. Furthermore, the program may be transferred to a remote computer and executed.
[0288]
In the present embodiment, the pixel adjacent to the left of a certain pixel is used as the reference pixel. However, for example, the pixel adjacent to the right, the pixel adjacent above or below it, the pixel not adjacent to but close to the pixel, etc. Can be used as a reference pixel. Furthermore, for example, a pixel at the same position in the previous frame or a pixel at the same position in the previous frame after motion compensation can be used as the reference pixel. It is also possible to obtain an average value of the pixel values of several pixels at close positions and to use the virtual pixel as a reference pixel, assuming that a pixel having the average value exists virtually. .
[0289]
Furthermore, in the present embodiment, image data is targeted for conversion, but for example, audio data, computer programs, etc. can be targeted for conversion. However, the present invention is particularly useful when conversion is performed on data that has some correlation between data such as image data and audio data.
[0290]
【The invention's effect】
According to the first data processing apparatus, the data processing method, and the recording medium of the present invention.,SuddenIt is possible to obtain second data having a distribution that is steep and has a large bias.
[0291]
According to the second data processing apparatus, the data processing method, and the recording medium of the present invention.,SuddenIt is possible to obtain second data having a distribution that is steep and has a large bias.
[0292]
According to the third data processing apparatus, data processing method, and recording medium of the present invention.,SuddenIt is possible to reversely convert the second data having a steep and large distribution into the original first data.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration example of an embodiment of an image conversion apparatus to which the present invention is applied.
FIG. 2 is a block diagram illustrating a configuration example of a code
3 is a diagram for explaining processing of a
4 is a diagram for explaining processing of a
FIG. 5 is a diagram illustrating a histogram of pixel values obtained from an actual image.
6 is a diagram for explaining processing of a
7 is a diagram for explaining processing of a
8 is a flowchart for explaining conversion processing by the image conversion apparatus in FIG. 1; FIG.
FIG. 9 is a flowchart for explaining more details of the processing in step S1 of FIG.
FIG. 10 is a block diagram illustrating a configuration example of an embodiment of an image reverse conversion device to which the present invention has been applied.
11 is a flowchart for explaining an inverse transform process by the image inverse transform device in FIG. 10;
FIG. 12 is a block diagram illustrating a configuration example of an embodiment of an image transmission system to which the present invention has been applied.
FIG. 13 is a block diagram illustrating a configuration example of an image transmission system previously proposed by the present applicant.
FIG. 14 is a diagram illustrating an image to be encoded.
FIG. 15 is a diagram for explaining encoding / decoding using correlation.
FIG. 16 is a diagram for explaining encoding / decoding using continuity.
FIG. 17 is a diagram for explaining encoding / decoding using similarity.
18 is a block diagram illustrating a hardware configuration example of the embedded
FIG. 19 is a block diagram illustrating a functional configuration example of the embedded
FIG. 20 is a flowchart for explaining embedded encoding processing;
FIG. 21 is a diagram illustrating a frequency distribution of pixel values of an actual image.
FIG. 22 is a diagram for explaining the result of an embedded encoding process;
23 is a block diagram illustrating a hardware configuration example of the embedded
24 is a block diagram illustrating a functional configuration example of the embedded
FIG. 25 is a flowchart for explaining embedded decoding processing;
FIG. 26 is a diagram for explaining the processing in step S122 in FIG. 25;
FIG. 27 is a diagram for explaining the process of step S122 of FIG. 25;
28 is a block diagram illustrating a configuration example of an embodiment of an embedded
FIG. 29 is a flowchart for explaining an embedded encoding process performed by the embedded
30 is a block diagram illustrating a configuration example of an embodiment of an embedded
31 is a block diagram for explaining an embedded decoding process performed by the embedded
FIG. 32 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present invention has been applied.
[Explanation of symbols]
1 frame memory, 2 code table creation unit, 3 code table storage unit, 4 conversion pixel acquisition unit, 5 reference pixel acquisition unit, 6 conversion unit, 7 frame memory, 11 frame memory, 12 pixel selection unit, 13 histogram creation unit , 14 code generation unit, 21 code table acquisition unit, 22 code table storage unit, 23 frame memory, 24 inverse conversion target pixel acquisition unit, 25 inverse conversion unit, 26 frame memory, 27 reference pixel acquisition unit, 31 compression device, 32 Transmission medium, 33 recording medium, 34 decompression device, 41 image conversion device, 42 entropy encoding unit, 43 multiplexer, 44 demultiplexer, 45 entropy decoding unit, 46 image inverse conversion device, 101 image database, 102 additional information Database, 103 embedded encoder, 104 recording medium, 105 transmission medium, 106 embedded decoder, 110 encoding device, 120 decoding device, 131 frame memory, 132 CPU, 133 program memory, 134 memory, 135 output buffer, 141 frequency Distribution calculation unit, 142 Change target pixel value / change value determination unit, 143 Pixel value change unit, 151 Input buffer, 152 CPU, 153 Program memory, 154 Frame memory, 155 memory, 161 Frequency distribution calculation unit, 162 Change target pixel value / Change value determination unit, 163 pixel value change unit, 171 image conversion device, 181 image reverse conversion device, 201 bus, 202 CPU, 203 ROM, 204 RAM, 205 hard disk, 206 output unit , 207 input unit, 208 communication unit, 209 drive, 210 input / output interface, 211 removable recording medium
Claims (25)
前記第1のデータは近接する値の間に相関があり、前記第1のデータが取り得る値を順に基準データの値として設定し、前記第1のデータのうちの、前記基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、前記基準データの値ごとに生成する度数分布生成手段と、
前記基準データの値ごとの前記第1のデータの値の度数分布に基づいて、前記基準データの値ごとに、前記変換テーブルを生成するテーブル生成手段と
を備えることを特徴とするデータ処理装置。A data processing apparatus that creates a conversion table that associates the first and second data, used when converting first data into second data,
The first data has a correlation between adjacent values, and values that the first data can take are set as reference data values in order, and the reference data values of the first data are A frequency distribution generating means for generating a frequency distribution of data values that are in a temporally or spatially close positional relationship to each data of all the data, for each value of the reference data;
A data processing apparatus comprising: table generation means for generating the conversion table for each value of the reference data based on a frequency distribution of the values of the first data for each value of the reference data.
ことを特徴とする請求項1に記載のデータ処理装置。The data processing apparatus according to claim 1, wherein the frequency distribution generation unit generates a frequency distribution of values of the first data that are temporally or spatially adjacent to the reference data.
ことを特徴とする請求項1に記載のデータ処理装置。The table generating means assigns the second data to the first data of each value for which the frequency distribution is obtained for the reference data in ascending or descending order of the frequencies. The data processing apparatus according to claim 1, wherein the conversion table is generated for each data value.
ことを特徴とする請求項1に記載のデータ処理装置。The data processing apparatus according to claim 1, wherein the first data is a pixel value constituting an image.
前記第1のデータは近接する値の間に相関があり、前記第1のデータが取り得る値を順に基準データの値として設定し、前記第1のデータのうちの、前記基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、前記基準データの値ごとに生成する度数分布生成ステップと、
前記基準データの値ごとの前記第1のデータの値の度数分布に基づいて、前記基準データの値ごとに、前記変換テーブルを生成するテーブル生成ステップと
を備えることを特徴とするデータ処理方法。A data processing method for creating a conversion table associating the first and second data, which is used when converting first data into second data,
The first data has a correlation between adjacent values, and values that the first data can take are set as reference data values in order, and the reference data values of the first data are A frequency distribution generation step of generating a frequency distribution of data values that are in a temporally or spatially close positional relationship to each data of all the data, for each value of the reference data;
A table generation step of generating the conversion table for each value of the reference data based on a frequency distribution of the values of the first data for each value of the reference data.
前記第1のデータは近接する値の間に相関があり、前記第1のデータが取り得る値を順に基準データの値として設定し、前記第1のデータのうちの、前記基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、前記基準データの値ごとに生成する度数分布生成ステップと、
前記基準データの値ごとの前記第1のデータの値の度数分布に基づいて、前記基準データの値ごとに、前記変換テーブルを生成するテーブル生成ステップと
を備えるプログラムが記録されている
ことを特徴とする記録媒体。A recording medium on which a program for causing a computer to perform data processing for creating a conversion table in which the first data and the second data are associated is used when converting the first data into the second data. Because
The first data has a correlation between adjacent values, and values that the first data can take are set as reference data values in order, and the reference data values of the first data are A frequency distribution generation step of generating a frequency distribution of data values that are in a temporally or spatially close positional relationship to each data of all the data, for each value of the reference data;
A program comprising: a table generation step for generating the conversion table for each value of the reference data based on a frequency distribution of the values of the first data for each value of the reference data. A recording medium.
変換対象となる前記第1のデータを所定の順番で選択するとともに、その選択された第1のデータに対して所定の位置関係にある他の前記第1のデータを、基準データとして選択する選択手段と、
前記基準データの値ごとに生成され、前記第1および第2のデータが対応付けられた変換テーブルに基づいて、前記第1のデータを、前記第2のデータに変換する変換手段と
を備え、
前記第1のデータは、近接する値の間に相関があり、
前記変換テーブルは、前記第1のデータが取り得る値を順に基準データの値として設定し、前記第1のデータのうちの、前記基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、前記基準データの値ごとに生成し、その、前記基準データの値ごとの前記第1のデータの値の度数分布に基づいて、前記基準データの値ごとに生成されたものであり、
前記変換手段は、前記基準データの値ごとに生成された前記変換テーブルのうち、前記選択手段により選択された基準データに対応するものを参照し、前記選択手段により選択された変換対象の前記第1のデータを、その第1のデータに対応付けられている第2のデータに変換する
ことを特徴とするデータ処理装置。A data processing device for converting first data into second data,
Selection for selecting the first data to be converted in a predetermined order, and selecting the other first data having a predetermined positional relationship with the selected first data as reference data Means,
Conversion means for converting the first data into the second data based on a conversion table generated for each value of the reference data and associated with the first and second data;
The first data has a correlation between adjacent values;
The conversion table sequentially sets values that can be taken by the first data as values of reference data, and for each data of all the data that is the value of the reference data of the first data. A frequency distribution of data values that are close to each other in time or space is generated for each reference data value, and the frequency distribution of the first data value for each reference data value is generated. based on state, and are not generated for each value of the reference data,
The conversion means refers to a table corresponding to the reference data selected by the selection means among the conversion tables generated for each value of the reference data, and the conversion target selected by the selection means A data processing apparatus that converts one data into second data associated with the first data .
ことを特徴とする請求項7に記載のデータ処理装置。The conversion table uses a predetermined value of the first data as the reference data, and the frequency distribution of the first data that is temporally or spatially adjacent to the reference data Is generated for each value of the reference data, and is generated for each value of the reference data based on the frequency distribution of the values of the first data for each value of the reference data. 8. The data processing apparatus according to claim 7, wherein
ことを特徴とする請求項8に記載のデータ処理装置。The conversion table allocates the second data to the first data of each value for which a frequency distribution is obtained for the reference data in ascending or descending order of the frequencies. The data processing apparatus according to claim 8, wherein the data processing apparatus is generated for each of the values.
ことを特徴とする請求項7に記載のデータ処理装置。The data processing apparatus according to claim 7, wherein the first data is a pixel value constituting an image.
ことを特徴とする請求項7に記載のデータ処理装置。The data processing apparatus according to claim 7, further comprising storage means for storing the conversion table for each value of the reference data.
ことを特徴とする請求項7に記載のデータ処理装置。The data processing apparatus according to claim 7, further comprising a generating unit that generates the conversion table for each value of the reference data.
ことを特徴とする請求項7に記載のデータ処理装置。The data processing apparatus according to claim 7, further comprising compression means for compressing the second data obtained by converting the first data.
変換対象となる前記第1のデータを所定の順番で選択するとともに、その選択された第1のデータに対して所定の位置関係にある他の前記第1のデータを、基準データとして選択する選択ステップと、
前記基準データの値ごとに生成され、前記第1および第2のデータが対応付けられた変換テーブルに基づいて、前記第1のデータを、前記第2のデータに変換する変換ステップと
を備え、
前記第1のデータは、近接する値の間に相関があり、
前記変換テーブルは、前記第1のデータが取り得る値を順に基準データの値として設定し、前記第1のデータのうちの、前記基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、前記基準データの値ごとに生成し、その、前記基準データの値ごとの前記第1のデータの値の度数分布に基づいて、前記基準データの値ごとに生成されたものであり、
前記変換ステップにおいて、前記基準データの値ごとに生成された前記変換テーブルのうち、前記選択ステップにおいて選択された基準データに対応するものを参照し、前記選択ステップにおいて選択された変換対象の前記第1のデータを、その第1のデータに対応付けられている第2のデータに変換する
ことを特徴とするデータ処理方法。A data processing method for converting first data into second data,
Selection for selecting the first data to be converted in a predetermined order and selecting the other first data having a predetermined positional relationship with the selected first data as reference data Steps,
A conversion step of converting the first data into the second data based on a conversion table generated for each value of the reference data and associated with the first and second data;
The first data has a correlation between adjacent values;
The conversion table sequentially sets values that can be taken by the first data as values of reference data, and for each data of all the data that is the value of the reference data of the first data. A frequency distribution of data values that are close to each other in time or space is generated for each reference data value, and the frequency distribution of the first data value for each reference data value is generated. based on state, and are not generated for each value of the reference data,
In the conversion step, the conversion table generated for each value of the reference data is referred to the one corresponding to the reference data selected in the selection step, and the conversion target selected in the selection step is A data processing method , comprising: converting one data into second data associated with the first data .
変換対象となる前記第1のデータを所定の順番で選択するとともに、その選択された第1のデータに対して所定の位置関係にある他の前記第1のデータを、基準データとして選択する選択ステップと、
前記基準データの値ごとに生成され、前記第1および第2のデータが対応付けられた変換テーブルに基づいて、前記第1のデータを、前記第2のデータに変換する変換ステップと
を備え、
前記第1のデータは、近接する値の間に相関があり、
前記変換テーブルは、前記第1のデータが取り得る値を順に基準データの値として設定し、前記第1のデータのうちの、前記基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、前記基準データの値ごとに生成し、その、前記基準データの値ごとの前記第1のデータの値の度数分布に基づいて、前記基準データの値ごとに生成されたものであり、
前記変換ステップにおいて、前記基準データの値ごとに生成された前記変換テーブルのうち、前記選択ステップにおいて選択された基準データに対応するものを参照し、前記選択ステップにおいて選択された変換対象の前記第1のデータを、その第1のデータに対応付けられている第2のデータに変換する
プログラムが記録されていることを特徴とする記録媒体。A recording medium on which a program for causing a computer to perform data processing for converting first data into second data is recorded,
Selection for selecting the first data to be converted in a predetermined order and selecting the other first data having a predetermined positional relationship with the selected first data as reference data Steps,
A conversion step of converting the first data into the second data based on a conversion table generated for each value of the reference data and associated with the first and second data;
The first data has a correlation between adjacent values;
The conversion table sequentially sets values that can be taken by the first data as values of reference data, and for each data of all the data that is the value of the reference data of the first data. A frequency distribution of data values that are close to each other in time or space is generated for each reference data value, and the frequency distribution of the first data value for each reference data value is generated. based on state, and are not generated for each value of the reference data,
In the conversion step, the conversion table generated for each value of the reference data is referred to the one corresponding to the reference data selected in the selection step, and the conversion target selected in the selection step is A recording medium on which a program for converting one data into second data associated with the first data is recorded.
逆変換対象となる前記第2のデータを所定の順番で選択するとともに、その選択された第2のデータに対して所定の位置関係にある、既に逆変換された前記第1のデータを、基準データとして選択する選択手段と、
前記基準データの値ごとに生成され、前記第1および第2のデータが対応付けられた変換テーブルに基づいて、前記第2のデータを、前記第1のデータに逆変換する逆変換手段と
を備え、
前記第1のデータは、近接する値の間に相関があり、
前記変換テーブルは、前記第1のデータが取り得る値を順に基準データの値として設定し、前記第1のデータのうちの、前記基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、前記基準データの値ごとに生成し、その、前記基準データの値ごとの前記第1のデータの値の度数分布に基づいて、前記基準データの値ごとに生成されたものであり、
前記逆変換手段は、前記基準データの値ごとに生成された前記変換テーブルのうち、前記選択手段により選択された基準データに対応するものを参照し、前記選択手段により選択された逆変換対象の前記第2のデータを、その第2のデータに対応付けられている第1のデータに変換し、
前記選択手段は、最初に逆変換対象となる前記第2のデータについての前記基準データとして、その第2のデータと同一の値、または、所定の値を使用する
ことを特徴とするデータ処理装置。A data processing device that reversely converts the second data obtained by converting the first data into the original first data,
The second data to be inversely converted is selected in a predetermined order, and the first data that has already been inversely converted and has a predetermined positional relationship with respect to the selected second data is defined as a reference Selection means for selecting as data;
Inverse conversion means for inversely converting the second data into the first data based on a conversion table generated for each value of the reference data and associated with the first and second data. Prepared,
The first data has a correlation between adjacent values;
The conversion table sequentially sets values that can be taken by the first data as values of reference data, and for each data of all the data that is the value of the reference data of the first data. A frequency distribution of data values that are close to each other in time or space is generated for each reference data value, and the frequency distribution of the first data value for each reference data value is generated. based on state, and are not generated for each value of the reference data,
The inverse conversion means refers to a table corresponding to the reference data selected by the selection means from among the conversion tables generated for each value of the reference data, and the reverse conversion target selected by the selection means Converting the second data into first data associated with the second data;
The selection means uses the same value as the second data or a predetermined value as the reference data for the second data to be inversely converted first. .
ことを特徴とする請求項16に記載のデータ処理装置。The conversion table is located at a position temporally or spatially close to the reference data of the first data, with the predetermined value data of the first data as the reference data. A frequency distribution is generated for each value of the reference data, and is generated for each value of the reference data based on the frequency distribution of the value of the first data for each value of the reference data. The data processing apparatus according to claim 16.
ことを特徴とする請求項17に記載のデータ処理装置。The conversion table uses a predetermined value of the first data as the reference data, and the frequency distribution of the first data that is temporally or spatially adjacent to the reference data Is generated for each value of the reference data, and is generated for each value of the reference data based on the frequency distribution of the first data for each value of the reference data. The data processing apparatus according to claim 17.
ことを特徴とする請求項16に記載のデータ処理装置。The conversion table allocates the second data to the first data of each value for which a frequency distribution has been obtained for the reference data, in ascending or descending order of the frequencies. The data processing device according to claim 16, wherein the data processing device is generated for each of the values.
ことを特徴とする請求項16に記載のデータ処理装置。The data processing apparatus according to claim 16, wherein the first data is a pixel value constituting an image.
ことを特徴とする請求項16に記載のデータ処理装置。The data processing apparatus according to claim 16, further comprising storage means for storing the conversion table for each value of the reference data.
ことを特徴とする請求項16に記載のデータ処理装置。The data processing apparatus according to claim 16, further comprising an acquisition unit configured to acquire the conversion table for each value of the reference data.
ことを特徴とする請求項16に記載のデータ処理装置。The data processing apparatus according to claim 16, further comprising decompression means for decompressing the compressed second data.
逆変換対象となる前記第2のデータを所定の順番で選択するとともに、その選択された第2のデータに対して所定の位置関係にある、既に逆変換された前記第1のデータを、基準データとして選択する選択ステップと、
前記基準データの値ごとに生成され、前記第1および第2のデータが対応付けられた変換テーブルに基づいて、前記第2のデータを、前記第1のデータに逆変換する逆変換ステップと
を備え、
前記第1のデータは、近接する値の間に相関があり、
前記変換テーブルは、前記第1のデータが取り得る値を順に基準データの値として設定し、前記第1のデータのうちの、前記基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、前記基準データの値ごとに生成し、その、前記基準データの値ごとの前記第1のデータの値の度数分布に基づいて、前記基準データの値ごとに生成されたものであり、
前記逆変換ステップにおいて、前記基準データの値ごとに生成された前記変換テーブルのうち、前記選択ステップにおいて選択された基準データに対応するものを参照し、前記選択ステップにおいて選択された逆変換対象の前記第2のデータを、その第2のデータに対応付けられている第1のデータに変換し、
前記選択ステップにおいて、最初に逆変換対象となる前記第2のデータについての前記基準データとして、その第2のデータと同一の値、または、所定の値を使用する
ことを特徴とするデータ処理方法。A data processing method for inversely converting the second data obtained by converting the first data into the original first data,
The second data to be inversely converted is selected in a predetermined order, and the first data that has already been inversely converted and has a predetermined positional relationship with the selected second data is used as a reference. A selection step to select as data;
An inverse conversion step of inversely converting the second data into the first data based on a conversion table generated for each value of the reference data and associated with the first and second data. Prepared,
The first data has a correlation between adjacent values;
The conversion table sequentially sets values that can be taken by the first data as values of reference data, and for each data of all the data that is the value of the reference data of the first data. A frequency distribution of data values that are close to each other in time or space is generated for each reference data value, and the frequency distribution of the first data value for each reference data value is generated. based on state, and are not generated for each value of the reference data,
In the reverse conversion step, the conversion table generated for each value of the reference data is referred to the one corresponding to the reference data selected in the selection step, and the reverse conversion target selected in the selection step is selected. Converting the second data into first data associated with the second data;
In the selecting step, the same value as the second data or a predetermined value is used as the reference data for the second data to be inversely transformed first. .
逆変換対象となる前記第2のデータを所定の順番で選択するとともに、その選択された第2のデータに対して所定の位置関係にある、既に逆変換された前記第1のデータを、基準データとして選択する選択ステップと、
前記基準データの値ごとに生成され、前記第1および第2のデータが対応付けられた変換テーブルに基づいて、前記第2のデータを、前記第1のデータに逆変換する逆変換ステップと
を備え、
前記第1のデータは、近接する値の間に相関があり、
前記変換テーブルは、前記第1のデータが取り得る値を順に基準データの値として設定し、前記第1のデータのうちの、前記基準データの値である全てのデータのうちの各データに対して時間的または空間的に近い位置関係にあるデータの値の度数分布を、前記基準データの値ごとに生成し、その、前記基準データの値ごとの前記第1のデータの値の度数分布に基づいて、前記基準データの値ごとに生成されたものであり、
前記逆変換ステップにおいて、前記基準データの値ごとに生成された前記変換テーブルのうち、前記選択ステップにおいて選択された基準データに対応するものを参照し、前記選択ステップにおいて選択された逆変換対象の前記第2のデータを、その第2のデータに対応付けられている第1のデータに変換し、
前記選択ステップにおいて、最初に逆変換対象となる前記第2のデータについての前記基準データとして、その第2のデータと同一の値、または、所定の値を使用する
プログラムが記録されていることを特徴とする記録媒体。A recording medium on which a program for causing a computer to perform data processing for inversely converting second data obtained by converting first data into original first data is recorded,
The second data to be inversely converted is selected in a predetermined order, and the first data that has already been inversely converted and has a predetermined positional relationship with the selected second data is used as a reference. A selection step to select as data;
An inverse conversion step of inversely converting the second data into the first data based on a conversion table generated for each value of the reference data and associated with the first and second data. Prepared,
The first data has a correlation between adjacent values;
The conversion table sequentially sets values that can be taken by the first data as values of reference data, and for each data of all the data that is the value of the reference data of the first data. A frequency distribution of data values that are close to each other in time or space is generated for each reference data value, and the frequency distribution of the first data value for each reference data value is generated. based on state, and are not generated for each value of the reference data,
In the reverse conversion step, the conversion table generated for each value of the reference data is referred to the one corresponding to the reference data selected in the selection step, and the reverse conversion target selected in the selection step is selected. Converting the second data into first data associated with the second data;
In the selection step, a program that uses the same value as the second data or a predetermined value is recorded as the reference data for the second data to be inversely converted first. A characteristic recording medium.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000102131A JP4374712B2 (en) | 2000-04-04 | 2000-04-04 | Data processing apparatus, data processing method, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000102131A JP4374712B2 (en) | 2000-04-04 | 2000-04-04 | Data processing apparatus, data processing method, and recording medium |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007067197A Division JP4548434B2 (en) | 2007-03-15 | 2007-03-15 | Data processing apparatus, data processing method, and recording medium |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2001285650A JP2001285650A (en) | 2001-10-12 |
JP2001285650A5 JP2001285650A5 (en) | 2007-05-10 |
JP4374712B2 true JP4374712B2 (en) | 2009-12-02 |
Family
ID=18616066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000102131A Expired - Fee Related JP4374712B2 (en) | 2000-04-04 | 2000-04-04 | Data processing apparatus, data processing method, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4374712B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117767960B (en) * | 2024-02-22 | 2024-06-18 | 智联信通科技股份有限公司 | Sensor data optimization acquisition and storage method |
CN118075457B (en) * | 2024-04-18 | 2024-06-21 | 山西顺达胜业通信工程有限公司 | Intelligent control method for equipment based on video monitoring |
-
2000
- 2000-04-04 JP JP2000102131A patent/JP4374712B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001285650A (en) | 2001-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4822304B2 (en) | Image processing apparatus, image processing method, and recording medium | |
JP3924967B2 (en) | Encoding apparatus and method, decoding apparatus and method, recording medium, and data processing system | |
JP4147700B2 (en) | Encoding apparatus, encoding method, and recording medium | |
US7738711B2 (en) | Coding apparatus and method, decoding apparatus and method, data processing system, storage medium, and signal | |
US6859155B2 (en) | Data processing device | |
WO2010032693A1 (en) | Moving image encoding device, moving image decoding device, moving image encoding method, moving image decoding method, moving image encoding program, and moving image decoding program | |
JP3991249B2 (en) | Encoding apparatus and encoding method, decoding apparatus and decoding method, information processing apparatus and information processing method, and recording medium | |
JP4556087B2 (en) | DATA PROCESSING DEVICE, DATA PROCESSING METHOD, PROGRAM, AND PROGRAM RECORDING MEDIUM | |
JP4182603B2 (en) | Encoding apparatus and encoding method, decoding apparatus and decoding method, recording medium, and data processing apparatus | |
JP4835855B2 (en) | Apparatus, method and program for moving picture encoding, and apparatus method and program for moving picture decoding | |
JP4374712B2 (en) | Data processing apparatus, data processing method, and recording medium | |
JP4143884B2 (en) | Encoding apparatus and encoding method, decoding apparatus and decoding method, recording medium, and data processing apparatus | |
JP4556147B2 (en) | Decoding device, decoding method, recording medium, and data processing device | |
JP4548434B2 (en) | Data processing apparatus, data processing method, and recording medium | |
EP0993194A2 (en) | Method and apparatus for embedding an additional signal into an image signal | |
JP2001285622A (en) | Imbedding device and imbedding method, decoder and decoding method, and recording medium | |
JP5235850B2 (en) | Image encoding apparatus, image decoding apparatus, image encoding / decoding system and method thereof | |
JP2007116246A (en) | Motion vector estimating device and method, encoding device and method, decoding device and method, program, and recording medium | |
JP4264606B2 (en) | Data processing apparatus and data processing method | |
JP4507130B2 (en) | Data processing apparatus, data processing method, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070315 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070315 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090528 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090727 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090818 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090831 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120918 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120918 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130918 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |