JP4264606B2 - データ処理装置およびデータ処理方法 - Google Patents
データ処理装置およびデータ処理方法 Download PDFInfo
- Publication number
- JP4264606B2 JP4264606B2 JP12991699A JP12991699A JP4264606B2 JP 4264606 B2 JP4264606 B2 JP 4264606B2 JP 12991699 A JP12991699 A JP 12991699A JP 12991699 A JP12991699 A JP 12991699A JP 4264606 B2 JP4264606 B2 JP 4264606B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- value
- pixel
- difference
- bits
- 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)
Description
【発明の属する技術分野】
本発明は、データ処理装置およびデータ処理方法に関し、特に、例えば、データどうしの差分を求める処理や、その差分を元のデータに復元する処理を、ビット数を増加させずに高速で行うことができるようにするデータ処理装置およびデータ処理方法に関する。
【0002】
【従来の技術】
例えば、従来より、画像の画質の劣化を極力抑えて、高圧縮率で符号化する方法の1つとして、予測符号化がある。予測符号化は、符号化対象の画素(画素値)を、他の画素を参照することで予測し、その予測結果の、真値(符号化対象の画素)に対する予測誤差を符号化するものであり、符号化対象の画素をAと、参照される画素(参照画素)をBと、予測誤差をCと、それぞれ表すと、予測誤差Cは、式C=A−Bで表される。
【0003】
ここで、符号化対象の画像が静止画であれば、例えば、符号化対象の画素Aと同一フレーム(またはフィールド)にある、その画素Aの近傍の画素を、参照画素Bとして用いることができる。また、符号化対象の画像が動画であれば、例えば、符号化対象の画素Aのフレームに近接するフレームにある画素を、参照画素Bとして用いることができる。例えば、動画の符号化方式であるMPEG(Moving Picture Experts Group)方式では、符号化対象の画素Aのフレームに近接するフレームが動き補償され、その動き補償後の画素が、参照画素Bとして用いられる。
【0004】
【発明が解決しようとする課題】
ところで、いま、符号化対象の画像を構成する画素が、Nビットで表されるとすると、画像どうしの単純な差分である予測誤差は、最大でN+1ビットで表される値になる(例えば、画素が、0乃至255の範囲の8ビットで表されるとすると、そのような画素どうしの単純な差分は、−255乃至+255の範囲の値となり、その表現に、9ビットが必要となる)。この場合、予測誤差のビット数が、元の画素のビット数よりも増加することになり、却って、データ量が増加することがある。
【0005】
そこで、例えば、図1に示すように差分を表現することにより、上述したようなビット数の増加を防止する方法が考えられる。
【0006】
即ち、符号化対象の画素Aが、参照画素B以下である場合には、符号化対象の画素Aから参照画素Bを減算し、その減算値を、そのまま予測誤差Cとする。具体的には、例えば、符号化対象の画素Aが200で、参照画素Bが10である場合には、図1(A)に示すように、200−10=190が、予測誤差Cとされる。
【0007】
一方、符号化対象の画素Aが、参照画素Bより大きい場合には、図1(B)に示すように、符号化対象の画素Aから参照画素Bを減算し、その減算値に、ある値を加算し、その加算結果を、予測誤差Cとする。即ち、画素がNビットで表現されるとすると、符号化対象の画素Aから参照画素Bを減算して得られる減算値に、2Nを加算し、その加算結果を、予測誤差Cとする。具体的には、例えば、画素が8ビットで表され、符号化対象の画素Aが10で、参照画素Bが200である場合には、図1(B)に示すように、10−200+28=66が、予測誤差Cとされる。
【0008】
以上のように予測誤差Cを求めることで、その予測誤差Cのビット数は、元の画素のビット数と変わらない(元の画素がNビットで表現されるものであれば、予測誤差もNビットで表現することができる)。
【0009】
また、以上のようにして予測誤差Cを求めた場合には、その予測誤差は、次のようにして、元の画素(符号化対象の画素)Aに復元することができる。
【0010】
即ち、まず、予測誤差Cを参照画素Bと加算し、その加算値を求める。そして、いま、画素がNビットで表されるとすると、その加算値が2N−1以下である場合には、その加算値が、そのまま、元の画素Aの復元結果となる。
【0011】
一方、予測誤差Cとを参照画素Bとの加算値が2N−1より大きい場合には、その加算値から、2Nを減算する。この場合、その減算値が、元の画素Aの復元結果となる。
【0012】
以上のようにすることで、あるデータと、他のデータとの差分を、そのビット数を増加させずに表現することができ、さらに、その差分を、元のデータに復元することができる。
【0013】
しかしながら、上述の方法で差分を求める場合には、あるデータと、他のデータとの大小関係を判断し、その判断結果によって、処理の分岐を行う必要がある。また、その差分を復元する場合にも、そのような大小関係の判断と処理の分岐が必要となる。
【0014】
そして、判断および処理の分岐は、処理を行う上で、算術演算や論理演算に比較して時間を要するから、判断および処理の分岐を行わずに、上述のような表現の差分を求めることができるのが望ましい。
【0015】
本発明は、このような状況に鑑みてなされたものであり、データどうしの差分を求める処理や、その差分を元のデータに復元する処理を、ビット数を増加させずに、かつ高速で行うことができるようにするものである。
【0016】
【課題を解決するための手段】
本発明の第1の側面のデータ処理装置は、Nビットで表されるデータどうしの差分に相当する差分データを求めるデータ処理装置であって、第1のデータと、2 N とを加算し、その加算値を求める加算手段と、前記加算値から、第2のデータを減算し、その減算値を求める減算手段と、前記減算値の下位Nビットを抽出し、その下位Nビットを、前記第1のデータと第2のデータとの差分に相当する差分データとして出力する抽出手段とを含むデータ処理装置である。
【0017】
本発明の第1の側面のデータ処理方法は、Nビットで表されるデータどうしの差分に相当する差分データを求めるデータ処理方法であって、第1のデータと、2 N とを加算し、その加算値を求める加算ステップと、前記加算値から、第2のデータを減算し、その減算値を求める減算ステップと、前記減算値の下位Nビットを抽出し、その下位Nビットを、前記第1のデータと第2のデータとの差分に相当する差分データとして出力する抽出ステップとを含むデータ処理方法である。
【0018】
本発明の第2の側面のデータ処理装置は、Nビットで表されるデータどうしの差分に相当する差分データを元のデータに復元するデータ処理装置であって、第1のデータと、2 N とを加算し、その加算値を求め、前記加算値から、第2のデータを減算し、その減算値を求め、前記減算値の下位Nビットを抽出することにより得られる、前記第1のデータと第2のデータとの差分に相当する差分データを、前記第2のデータと加算し、その加算値を求める加算手段と、前記加算値の下位Nビットを抽出し、その下位Nビットを、前記第1のデータを復元した復元結果として出力する抽出手段とを含むデータ処理装置である。
【0019】
本発明の第2の側面のデータ処理方法は、Nビットで表されるデータどうしの差分に相当する差分データを元のデータに復元するデータ処理方法であって、第1のデータと、2 N とを加算し、その加算値を求め、前記加算値から、第2のデータを減算し、その減算値を求め、前記減算値の下位Nビットを抽出することにより得られる、前記第1のデータと第2のデータとの差分に相当する差分データを、前記第2のデータと加算し、その加算値を求める加算ステップと、前記加算値の下位Nビットを抽出し、その下位Nビットを、前記第1のデータを復元した復元結果として出力する抽出ステップとを含むデータ処理方法である。
【0020】
本発明の第3の側面のデータ処理装置は、Nビットで表されるデータどうしの差分に相当する差分データを求め、その差分データを元のデータに復元するデータ処理装置であって、第1のデータと、2 N とを加算し、その加算値である第1の加算値を求める第1の加算手段と、前記第1の加算値から、第2のデータを減算し、その減算値を求める減算手段と、前記減算値の下位Nビットを抽出し、その下位Nビットを、前記第1のデータと第2のデータとの差分に相当する差分データとして出力する第1の抽出手段と、前記差分データを、前記第2のデータと加算し、その加算値である第2の加算値を求める第2の加算手段と、前記第2の加算値の下位Nビットを抽出し、その下位Nビットを、前記第1のデータを復元した復元結果として出力する第2の抽出手段とを含むデータ処理装置である。
【0021】
本発明の第3の側面のデータ処理方法は、Nビットで表されるデータどうしの差分に相当する差分データを求め、その差分データを元のデータに復元するデータ処理方法であって、第1のデータと、2 N とを加算し、その加算値である第1の加算値を求める第1の加算ステップと、前記第1の加算値から、第2のデータを減算し、その減算値を求める減算ステップと、前記減算値の下位Nビットを抽出し、その下位Nビットを、前記第1のデータと第2のデータとの差分に相当する差分データとして出力する第1の抽出ステップと、前記差分データを、前記第2のデータと加算し、その加算値である第2の加算値を求める第2の加算ステップと、前記第2の加算値の下位Nビットを抽出し、その下位Nビットを、前記第1のデータを復元した復元結果として出力する第2の抽出ステップとを含むデータ処理方法である。
【0028】
本発明の第1の側面においては、第1のデータと、2Nとが加算され、その加算値から、第2のデータが減算される。そして、その減算値の下位Nビットが抽出され、第1のデータと第2のデータとの差分に相当する差分データとして出力される。
【0029】
本発明の第2の側面においては、第1のデータと第2のデータとの差分に相当する差分データが、第2のデータと加算され、その加算値の下位Nビットが抽出されて、第1のデータを復元した復元結果として出力される。
【0030】
本発明の第3の側面においては、第1のデータと、2Nとが加算され、その加算値である第1の加算値から、第2のデータが減算される。さらに、その減算値の下位Nビットが抽出され、第1のデータと第2のデータとの差分に相当する差分データとして出力される。そして、差分データが、第2のデータと加算され、その加算値である第2の加算値の下位Nビットが抽出されて、第1のデータを復元した復元結果として出力される。
【0034】
【発明の実施の形態】
図2は、本発明を適用した画像伝送システム(システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない)の一実施の形態の構成例を示している。
【0035】
伝送すべき画像データは、エンコーダ1に入力されるようになっている。ここで、本実施の形態では、画素(画素値)が、例えば、8ビットで表される(8ビットが割り当てられている)画像データが、エンコーダ1に入力されるものとする。また、8ビットでは、例えば、0乃至255の範囲の他、−128乃至+127等の256の任意の範囲の値を表すことができるが、ここでは、画素は、例えば、0乃至255の範囲の値をとるものとする。
【0036】
エンコーダ1では、画像データが符号化されることにより符号化データとされて出力される。この符号化データは、例えば、光ディスクや、光磁気ディスク、磁気ディスク、磁気テープ、相変化ディスク、半導体メモリ等の記録媒体2に供給されて記録される。あるいは、また、例えば、インターネットや、公衆回線、CATV(Cable Television)網、衛星回線等の伝送媒体3を介して伝送される。
【0037】
以上のようにして記録媒体2に記録された符号化データは、そこから再生されて、デコーダ4に供給される。あるいは、また、伝送媒体3を介して伝送されてくる符号化データが、デコーダ4に供給される。
【0038】
デコーダ4では、そこに供給される符号化データが復号され、これにより、元の画像データ(復号画像)とされる。この復号画像は、例えば、図示せぬモニタ等に供給されて表示される。
【0039】
次に、図3は、図2のエンコーダ1の構成例を示している。
【0040】
画像データは、例えば、1フレーム単位で、ブロック化部11に供給されるようになっており、ブロック化部11は、1フレームの画像データを、例えば、8×8画素等の所定の大きさのブロックに分割し、各ブロックをメモリ12および差分計算部13に供給する。メモリ12では、ブロック化部11から供給される画素が、ブロック単位で、順次記憶される。
【0041】
差分計算部13は、ブロック化部11から供給されるブロック単位の各画素を、順次、処理対象画素として、その処理対象画素と空間的に同一位置にある、1フレーム前の画素を、参照画素として、メモリ12から読み出す。そして、差分計算部13は、処理対象画素と参照画素との差分に相当する、前述の図1で説明したような表現のデータ(以下、適宜、差分データという)を求め、符号化部14に出力する。
【0042】
符号化部14では、差分計算部13からの差分データが、ブロック単位で、所定の符号化方式にしたがって符号化される。即ち、符号化部14は、差分データを、例えば、ハフマンコーディング、あるいはランレングス等で符号化する。
【0043】
符号化部14による符号化の結果得られる符号化データは、フレーム化部15に供給される。フレーム化部15では、符号化部14からのブロック単位の符号化データが、フレームごとに統合されて出力される。
【0044】
次に、図4は、図3の差分計算部13の構成例を示している。
【0045】
ブロック化部11から供給される処理対象画素は、演算器21に供給されるようになっており、また、メモリ12から読み出される参照画素は、演算器22に供給されるようになっている。
【0046】
演算器21には、上述したように、処理対象画素が供給される他、処理対象画素に割り当てられているビット数Nで表される最大の数+1(=2N)(以下、適宜、ビット最大値という)も供給されるようになっている。即ち、本実施の形態では、処理対象画素のビット数Nは8ビットであるから、演算器21には、(28−1)+1=256が供給されるようになっている。そして、演算器21は、処理対象画素を、ビット最大値と加算し、その加算値を、演算器22に出力するようになっている。
【0047】
演算器22は、演算器21の出力から、参照画素を減算し、その減算値を、ANDゲート23の一方の入力端子に供給するようになっている。
【0048】
ANDゲート23の他方の入力端子には、ビット最大値−1(従って、Nビットで表される数の最大値(=2N-1))が、演算器22の出力の下位Nビットを除くビットをマスクするためのマスク値として供給されるようになっている。そして、ANDゲート23は、演算器22の出力と、マスク値とのビットごとの論理積を演算することにより、演算器22の出力の下位Nビットを抽出し、その下位Nビットを、処理対象画素に対する差分データ(予測誤差)として出力するようになっている。ここで、本実施の形態では、処理対象画素のビット数Nは8ビットであるから、ANDゲート23には、255がマスク値として供給されるようになっており、従って、ANDゲート23では、演算器22の出力の下位8ビットが、差分データとして出力されるようになっている。
【0049】
次に、図5のフローチャートを参照して、図4の差分計算部13において行われる、処理対象画素に対する差分データを求める差分計算処理について説明する。
【0050】
差分計算部13では、まず最初に、ステップS1において、演算器21が、処理対象画素とビット最大値256(=28)とを加算し、その加算値を、演算器22に出力する。そして、ステップS2に進み、演算器22において、演算器21からの加算値から、参照画素が減算され、その減算値が、ANDゲート23に出力される。ANDゲート23では、ステップS3において、演算器22からの減算値が、マスク値(255)によってマスクされ(減算値とマスク値との、ビットごとの論理積が演算され)、これにより、演算器22が出力する減算値の下位Nビットが抽出される。この下位Nビットは、処理対象画素に対する差分データとして出力され、差分計算処理を終了する。
【0051】
なお、差分計算処理は、差分計算部13に、画素が供給されるごとに、その画素を、処理対象画素として行われる。
【0052】
以上の差分計算処理によれば、処理対象画素をdataと、参照画素をrefと、差分データをdiffと、それぞれ表すとき、式diff=(2N+data−ref)&(2N−1)にしたがって、Nビットの差分データdiffが求められることになる(&は、ビットごとの論理積を表す)。従って、判断や処理の分岐を行うことなく、差分データdiffを求めることができる。即ち、ビット数が増加しない差分データを、高速に求めることができる。
【0053】
ここで、8ビットの画素を対象に、単純な差分をとった結果と、図5の差分計算処理によって差分データを求めた結果とを、図6に示す。
【0054】
図6では、4×4画素のブロックが構成されており、図6(A)は、処理対象画素のブロックを、図6(B)は、参照画素のブロックを、それぞれ示している。そして、図6(C)は、図6(A)の処理対象画素から、図6(B)の参照画素を減算した、単純な差分を表しており、図6(D)は、図5の差分計算処理によって求めた差分データを示している。図6(C)では、負の値の画素が生じており、その表現には、処理対象画素のビット数より1ビット多い9ビットが必要となる。これに対して、図6(D)に示した差分データには、負の値が生じておらず、処理対象画素と同一ビット数である8ビットで表すことができる。
【0055】
なお、図4および図5の実施の形態では、処理対象画素に対して、ビット最大値を加算した後に、参照画素を減算するようにしたが、処理対象画素から参照画素を減算した後に、ビット最大値を加算するようにしてもよい。
【0056】
次に、図7は、エンコーダ1が図3に示したように構成される場合の、図2のデコーダ4の構成例を示している。
【0057】
符号化データは、ブロック分解部31に供給されるようになっており、ブロック分解部31では、フレーム単位の符号化データが、ブロック単位に分解され、復号部32に供給される。復号部32では、ブロック単位の符号化データが復号される。即ち、復号部32では、例えば、符号化部14における場合と逆の逆の処理が行われることにより復号され、その復号の結果得られる差分データが、差分復元部33に供給される。
【0058】
差分復元部33では、メモリ34に記憶されている、既に復元された画素が読み出される。即ち、差分復元部33では、復号部32からの差分データを求めるときに参照画素として用いられた画素が読み出される。そして、差分復元部33では、その参照画素と、復号部32からの差分データとを加算する処理に相当する差分復元処理が行われ、これにより、元の画素が復元される。
【0059】
この復元された画素は、メモリ34に供給され、以降の差分データを復元するときに参照画素として用いるのに記憶されるとともに、フレーム化部35に供給される。フレーム化部35では、差分復元部33からの画素が、フレームごとに統合され、これにより復号画像が構成されて出力される。
【0060】
次に、図8は、図7の差分復元部33の構成例を示している。
【0061】
復号部32から供給される差分データ、およびメモリ34から供給される参照画素は、演算器41に供給されるようになっている。演算器41は、それらの差分データと参照画素とを加算し、ANDゲート42の一方の入力端子に供給するようになっている。
【0062】
ANDゲート42の他方の入力端子には、ビット最大値−1(従って、Nビットで表される数の最大値(=2N−1))が、演算器41の出力の下位Nビットを除くビットをマスクするためのマスク値として供給されるようになっている。そして、ANDゲート42は、演算器41の出力と、マスク値とのビットごとの論理積を演算することにより、演算器41の出力の下位Nビットを抽出し、その下位Nビットを、差分データを復元した復元画素として出力するようになっている。ここで、本実施の形態では、上述したように、ビット最大値は256(=28)であるから、ANDゲート42には、255がマスク値として供給されるようになっており、その結果、ANDゲート42では、演算器41の出力の下位8ビットが、復元画素として出力されるようになっている。
【0063】
次に、図9のフローチャートを参照して、図8の差分復元部33において行われる、差分データから元の画素(復元画素)を復元する差分復元処理について説明する。
【0064】
差分復元部33では、まず最初に、ステップS11において、演算器41が、差分データと、参照画素とを加算し、その加算値を、ANDゲート42に供給する。ANDゲート42では、演算器41からの加算値が、マスク値によってマスクされ(加算値とマスク値との、ビットごとの論理積が演算され)、これにより、演算器41が出力する加算値の下位Nビットが抽出される。この下位Nビットは、差分データを元の画素に復元した復元画素として出力され、差分復元処理を終了する。
【0065】
なお、差分復元処理は、差分復元部33に、差分データが供給されるごとに、その差分データを対象に行われる。
【0066】
以上の差分復元処理によれば、元の画素をdataと、参照画素をrefと、差分データをdiffと、それぞれ表すとき、式data=(diff+ref)&(2N−1)にしたがって、Nビットの元の画素dataが復元されることになる。従って、判断や処理の分岐を行うことなく、ビット数が増加していない差分データdiffを、元の画素dataに、高速に復元することができる。
【0067】
次に、上述したように、図5で説明した差分計算処理によれば、あるデータaについて、他のデータbとの差分(a−b)に相当する、ビット数の増加しない差分データcを高速に求めることができ、さらに、図9で説明した差分復元処理によれば、その差分データcを、高速に、元のデータaに復元することができる。この場合、差分復元処理は、差分(a−b)について、データbを加算する処理に相当する。従って、いま、a−bをxとおくと、差分復元処理では、データxとデータbとの加算値に相当するデータaを、ビット数を増加させずに、高速に求めることができることになり、また、差分計算処理では、その加算値に相当するデータaから、元のデータxを、高速に求めることができることになる。即ち、差分計算処理と差分復元処理によれば、2つのデータの加算または減算に相当する処理と、その処理の結果得られた値を元の値に復元する処理とを、ビット数を増加させずに、高速に行うことができる。
【0068】
そこで、次に、このような高速な加算または減算と、その結果得られるデータを元に戻す処理を利用して行うことが可能な技術を、例えば、埋め込み符号化/復号を例にして説明する。
【0069】
まず、埋め込み符号化/復号の原理について説明する。
【0070】
一般に、情報と呼ばれるものは、エネルギ(エントロピー)の偏り(普遍性)を有し、この偏りが、情報(価値ある情報)として認識される。即ち、例えば、ある風景を撮影して得られる画像が、そのような風景の画像であると認識されるのは、画像(画像を構成する各画素の画素値など)が、その風景に対応したエネルギの偏りを有するからであり、エネルギの偏りがない画像は、雑音等にすぎず、情報としての利用価値はない。
【0071】
従って、価値ある情報に対して、何らかの操作を施し、その情報が有する本来のエネルギの偏りを、いわば破壊した場合でも、その破壊されたエネルギの偏りを元に戻すことで、何らかの操作が施された情報も、元の情報に戻すことができる。即ち、情報を符号化して得られる符号化データは、その情報が有する本来のエネルギの偏りを利用して、元の情報に復号することができる。
【0072】
ここで、情報が有するエネルギ(の偏り)を表すものとしては、例えば、相関性がある。
【0073】
情報の相関性とは、その情報の構成要素(例えば、画像であれば、その画像を構成する画素やラインなど)どうしの相関(例えば、自己相関や、ある構成要素と他の構成要素との距離など)を意味する。
【0074】
即ち、例えば、いま、図10に示すようなHライン(水平走査線)でなる画像があった場合に、その上から1行目のライン(第1ライン)と、他のラインとの相関は、一般に、図11(A)に示すように、第1ラインとの距離が近いライン(図10における画面の上の行のライン)ほど大きくなり、第1ラインとの距離が遠いライン(図10における画面の下の行のライン)ほど小さくなる(第1ラインから近いほど相関が大きくなり、遠いほど相関が小さくなるという相関の偏りがある)。
【0075】
そこで、いま、図10の画像において、第1ラインから近い第Mラインと、第1ラインから遠い第Nラインとを入れ替え(1<M<N≦H)、その入れ替え後の画像について、第1ラインと、他のラインとの相関を計算すると、それは、例えば、図11(B)に示すようになる。
【0076】
即ち、入れ替え後の画像では、第1ラインから近い第Mライン(入れ替え前の第Nライン)との相関が小さくなり、第1ラインから遠い第Nライン(入れ替え前の第Mライン)との相関が大きくなる。
【0077】
従って、図11(B)では、第1ラインから近いほど相関が大きくなり、遠いほど相関が小さくなるという相関の偏りが破壊されている。しかしながら、画像については、一般に、第1ラインから近いほど相関が大きくなり、遠いほど相関が小さくなるという相関の偏りを利用することにより、破壊された相関の偏りを、元に戻すことができる。即ち、図11(B)において、第1ラインから近い第Mラインとの相関が小さく、第1ラインから遠い第Nラインとの相関が大きいのは、画像が有する本来の相関の偏りからすれば、明らかに不自然であり(おかしく)、第Mラインと第Nラインとは入れ替えるべきである。そして、図11(B)における第Mラインと第Nラインとを入れ替えることで、図11(A)に示すような相関、即ち、元の画像を復号することができる。
【0078】
ここで、図10および図11で説明した場合においては、埋め込み符号化では、ラインの入れ替えが、画像の符号化を行うこととなり、その符号化に際し、例えば、何ライン目を移動するかや、どのラインどうしを入れ替えるかなどが、埋め込むべき情報(以下、付加情報という)にしたがって決定されることになる。一方、埋め込み復号では、符号化後の画像、即ち、ラインの入れ替えられた画像を、その相関を利用して、ラインを元の位置に入れ替えることにより、元の画像に戻すことが、画像を復号することとなり、その復号に際し、例えば、何ライン目を移動したかや、どのラインどうしを入れ替えたかなどを検出することが、画像に埋め込まれた付加情報を復号することになる。
【0079】
次に、図12は、以上のようにして画像に付加情報を埋め込む埋め込み符号化を行う埋め込み符号化器として機能する図2のエンコーダ1のハードウェア構成例を示している。
【0080】
埋め込み符号化すべき画像は、フレームメモリ51に供給されるようになされており、フレームメモリ51は、その画像を、例えば、フレーム単位で一時記憶するようになされている。
【0081】
CPU(Central Processing Unit)52は、プログラムメモリ53に記憶されたプログラムを実行することで、埋め込み符号化処理を行うようになされている。即ち、CPU32は、付加情報データベース55から供給される付加情報を、例えば、1ビット単位で受信し、その1ビットごとの付加情報を、フレームメモリ51に記憶された画像に埋め込むようになされている。具体的には、CPU52は、フレームメモリ51に記憶された画像を構成する一部の画素を選択し、その選択した画素に対して、付加情報に対応した処理であって、画像の相関性を利用して元に戻すことができるものを施すことにより、画素に、付加情報を埋め込むようになされている。
【0082】
プログラムメモリ53は、例えば、ROM(Read Only Memory)やRAM(Random Access Memory)などで構成され、CPU52に、埋め込み符号化処理を行わせるためのコンピュータプログラムを記憶している。
【0083】
出力I/F(Interface)54は、フレームメモリ51から、付加情報の埋め込まれた画像を読み出し、符号化データとして出力するようになされている。付加情報データベース55は、画像に埋め込む付加情報を記憶している。
【0084】
なお、フレームメモリ51は、複数のフレームを記憶することのできるように、複数バンクで構成されており、バンク切り替えを行うことで、フレームメモリ51では、そこに供給される画像の記憶、CPU52による埋め込み符号化処理の対象となっている画像の記憶、および埋め込み符号化処理後の画像(符号化データ)の出力を、同時に行うことができるようになされている。これにより、埋め込み符号化対象の画像が、動画であっても、符号化データのリアルタイム出力を行うことができるようになされている。
【0085】
次に、図13は、図12のCPU52がプログラムメモリ53に記憶されたプログラムを実行することにより実現される図12の埋め込み符号化器としてのエンコーダ1の機能的構成例を示している。
【0086】
画素選択部61は、フレームメモリ51に記憶された画像を構成する画素を順次読み出し、そのうちの一部を、埋め込み符号化の対象とする処理対象画素として選択し、埋め込み部62に供給するようになっている。また、画素選択部61は、フレームメモリ51から読み出した画素のうち、処理対象画素として選択しなかったものを、記憶部64に供給し、対応するアドレスに記憶させるようになっている。
【0087】
埋め込み部62には、上述したように、画素選択部61から処理対象画素が供給される他、付加情報変換部63から、付加情報を変換した変換結果として、例えば、0または2N-1(本実施の形態では、N=8であるから、2N-1=27)が供給されるようになっている。埋め込み部62は、図8に示した差分復元部33を構成する演算器41またはANDゲート42とそれぞれ同様に構成される演算器71またはANDゲート72で構成されており、従って、画素選択部61からの処理対象画素に対して、付加情報変換部63からの付加情報の変換結果を加算した加算値に相当する値を、図8の差分復元部33における場合と同様にして高速に演算し、その演算結果を、処理対象画素に、付加情報を埋め込んだ埋め込み結果として出力するようになっている。この埋め込み結果は、記憶部64に供給され、対応するアドレスに記憶されるようになっている。
【0088】
付加情報変換部63には、付加情報データベース55から、付加情報が、例えば、1ビット単位で供給されるようになっており、付加情報変換部63は、その1ビットの付加情報を、0または2N-1に変換し、埋め込み部62に供給するようになっている。記憶部64は、画素選択部61からの画素、および埋め込み部62からの付加情報が埋め込まれた画素を一時記憶し、例えば、1フレーム分の画素を記憶すると、その1フレーム分の画素を、符号化データとして出力するようになっている。
【0089】
次に、図14のフローチャートを参照して、図13のエンコーダ1において行われる埋め込み符号化処理について説明する。
【0090】
フレームメモリ51には、埋め込み符号化の対象とする画像が、1フレーム単位で供給されて記憶される。
【0091】
一方、付加情報変換部63は、付加情報データベース55から、付加情報を1ビットずつ読み出すようになっており、付加情報変換部63が、1ビットの付加情報を読み出すと、ステップS21において、画素選択部61は、その1ビットの付加情報を埋め込む処理の対象とする画素(処理対象画素)を、フレームメモリ51に記憶された画像から選択し、埋め込み部62に供給する。なお、ステップS21で処理対象画素として選択されたなかった画素は、画素選択部61において、フレームメモリ51から読み出され、記憶部64に供給されて記憶されるようになっている。
【0092】
ここで、本実施の形態では、例えば、図15に示すように、フレームメモリ51に記憶された画像から、五の目格子状に、画素が選択されるようになされている。即ち、画素選択部61では、図15において、斜線を付していない画素が、例えば、ラインスキャン順に、順次、処理対象画素として選択されるようになされている。なお、図15におけるp(x,y)は、左からx番目の、上からy番目の画素(画素値)を表している。
【0093】
その後、付加情報変換部63は、ステップS22において、付加情報データベース55から読み出した1ビットの付加情報を変換する。即ち、付加情報変換部63は、付加情報が0または1のとき、その付加情報を、それぞれ0または2N-1に変換する。この付加情報の変換結果は、埋め込み部62に供給される。
【0094】
埋め込み部62では、ステップS23において、画素選択部61からの処理対象画素に、付加情報変換部63からの付加情報の変換結果としての0または2N-1を加算した加算値に相当する値が求められることで、処理対象画素に、付加情報が埋め込まれる。
【0095】
即ち、埋め込み部62では、演算器71において、画素選択部61からの処理対象画素に、付加情報変換部63からの付加情報の変換結果が加算され、その加算値が、ANDゲート72に供給される。ANDゲート72では、演算器71からの加算値の、下位Nビット以外がマスクされ、これにより、処理対象画素に、付加情報の変換結果としての0または2N-1を加算した加算値に相当する値が出力される。
【0096】
ANDゲート72の出力としての、付加情報が埋め込まれた処理対象画素は、ステップS24において、記憶部64に供給されて記憶される。そして、ステップS21に戻り、以下、同様の処理を繰り返す。
【0097】
以上の埋め込み符号化処理によれば、処理対象画素に対して、例えば、8ビットが割り当てられている場合には、それに、0または27が加算された加算値に相当する値が、付加情報の埋め込み結果として出力されることになる。
【0098】
なお、埋め込み符号化処理は、画素が、例えば、YUVなどで表現されている場合には、輝度成分Y、または色成分U,Vのいずれに対して行っても良い。また、埋め込み符号化処理は、画素が、例えば、RGBで表現されている場合には、R,G,Bのいずれに対して行っても良い。
【0099】
さらに、フレームメモリ51に記憶された、ある1フレームの画像について埋め込み符号化処理が行われた後は、記憶部64からは、その埋め込み符号化処理が行われた1フレームの画像(付加情報が埋め込まれた画像)が、符号化データとして読み出され、フレームメモリ51に記憶された、次の1フレームの画像を対象に、埋め込み符号化処理が続行される。
【0100】
以上のように、フレームメモリ51に記憶された画像を構成する一部の画素を選択し、その選択した画素に対して、付加情報に対応した値を加算することで、画素に、付加情報を埋め込むことにより、画像の画質の劣化を極力なくし、かつデータ量を増加せずに、画像に付加情報を埋め込むことが可能となる。
【0101】
即ち、付加情報が埋め込まれた画素は、画像の相関性、即ち、ここでは、後述するような、付加情報が埋め込まれなかった画素との間の相関を利用することにより、オーバヘッドなしで、元の画素と付加情報に復号(戻す)ことが可能である。従って、その結果得られる復号画像(再生画像)には、基本的に、付加情報を埋め込むことによる画質の劣化は生じない。
【0102】
次に、図16は、図12の埋め込み符号化器としてのエンコーダ1が出力する符号化データを、画像の相関性を利用して元の画像と付加情報に復号する埋め込み復号器として機能する図2のデコーダの構成例を示している。
【0103】
符号化データ、即ち、付加情報が埋め込まれた画像(以下、適宜、埋め込み画像という)は、フレームメモリ81に供給されるようになされており、フレームメモリ81は、埋め込み画像を、例えば、フレーム単位で一時記憶するようになされている。なお、フレームメモリ81も、図12のフレームメモリ51と同様に構成され、バンク切り替えを行うことにより、埋め込み画像が、動画であっても、そのリアルタイム処理が可能となっている。
【0104】
出力I/F82は、フレームメモリ81から、CPU83による埋め込み復号処理の結果得られる画像(復号画像)を読み出して出力するようになされている。
【0105】
CPU83は、プログラムメモリ84に記憶されたプログラムを実行することで、埋め込み復号処理を行うようになされている。即ち、CPU83は、フレームメモリ81に記憶された埋め込み画像を、画像の相関性を利用して元の画像と付加情報に復号するようになされている。具体的には、CPU83は、埋め込み画像を構成する一部の画素を、処理対象画素として選択し、図17に示すように、その処理対象画素に対して、図12のCPU52が施した処理と逆の処理を施すことで、その画素値を変更する。さらに、図17に示すように、CPU83は、画素値の変更前の処理対象画素P1と、その周辺画素(図17の実施の形態では、左右に隣接する画素)との相関値R1(第1の相関)を演算するとともに、画素値の変更された処理対象画素P2と、その画素の周辺画素との相関値R2(第2の相関)を演算し、その相関値R1とR2とを比較する。そして、CPU83は、その比較結果に基づいて、画素値の変更前または変更後の処理対象画素のうちのいずれか一方を、復号結果とするとともに、その処理対象画素に埋め込まれた付加情報(ここでは、1ビットの1または0のうちのいずれか一方)を復号する。
【0106】
プログラムメモリ83は、例えば、図12のプログラムメモリ53と同様に構成され、CPU53に、埋め込み復号化処理を行わせるためのコンピュータプログラムを記憶している。
【0107】
次に、図18は、図16のCPU83がプログラムメモリ84に記憶されたプログラムを実行することにより実現される埋め込み復号処理を行う図2のデコーダ2の機能的構成例を示している。
【0108】
フレームメモリ81に記憶された符号化データは、前処理部91および相関算出部92に供給されるようになっている。
【0109】
前処理部91は、図4に示した差分計算部13を構成する演算器21,22、またはANDゲート23とそれぞれ同様に構成される演算器101,102、またはANDゲート103で構成されている。また、演算器102には、参照画素ではなく、2N-1が供給されるようになっている。従って、前処理部91は、符号化データから、2N-1を減算した減算値に相当する値(差分データ)を、図4の差分計算部13における場合と同様にして高速に演算し、その演算結果を、相関算出部92に供給するようになっている。
【0110】
相関算出部92は、そこに供給される符号化データ(付加情報が埋め込まれた画像を構成する画素)のうち、エンコーダ1において付加情報が埋め込まれた画素を、処理対象画素として選択するようになっている。さらに、相関算出部92は、処理対象画素と、その処理対象画素についての前処理部91における演算結果それぞれについて、後述するような相関値を演算し、データ復元部93に供給するようになっている。なお、相関算出部92では、処理対象画素として選択しなかった画素は、そのまま、データ復元部93を介して、復号された画素として出力されるようになっている。
【0111】
データ復元部93は、相関算出部92から供給される相関値に基づいて、付加情報が埋め込まれた画素を、元の付加情報と画素に復元して出力するようになっている。
【0112】
次に、図19のフローチャートを参照して、埋め込み復号器としての図18のデコーダ4において行われる埋め込み復号処理について説明する。
【0113】
フレームメモリ81では、そこに供給される符号化データとしての埋め込み画像が、例えば、1フレーム単位で順次記憶される。そして、フレームメモリ81に記憶された埋め込み画像を構成する画素が、例えば、ラインスキャン順に順次読み出され、前処理部91および相関算出部92に供給される。
【0114】
相関算出部92は、フレームメモリ81から埋め込み画像を構成する画素を受信すると、ステップS31において、その中から、埋め込み復号を行う処理の対象とする画素(処理対象画素)を選択する。
【0115】
ここで、相関算出部92では、図15に示したように、図13の画素選択部61と同様に、フレームメモリ81に記憶された埋め込み画像から、五の目格子状に、画素が選択されるようになされている。即ち、相関選択部92では、ステップS31の処理が行われるごとに、図15において、斜線を付していない画素が、例えば、ラインスキャン順に、順次、処理対象画素として選択されるようになされている。
【0116】
その後、ステップS32に進み、前処理部91は、その後段の相関算出部92で相関の算出を行うための前処理として、そこに供給される埋め込み画像を構成する画素から、2N-1を減算した減算値に相当する値を演算する。
【0117】
即ち、演算器101には、埋め込み画像を構成する画素と、ビット最大値2Nが供給されるようになっており、演算器101は、それらを加算して、その加算値を、演算器102に出力する。
【0118】
演算器102では、演算器101の出力から、2N-1が減算され、その減算値が、ANDゲート103の一方の入力端子に供給される。
【0119】
ANDゲート23の他方の入力端子には、ビット最大値−1(=2N-1)が、演算器102の出力の下位Nビットを除くビットをマスクするためのマスク値として供給されるようになっている。そして、ANDゲート23では、演算器102の出力と、マスク値とのビットごとの論理積が演算されることにより、演算器102の出力の下位Nビットが抽出され、埋め込み画像を構成する画素から、2N-1を減算した減算値に相当する値として、相関算出部92に供給される。
【0120】
従って、上述したように、画素に対して、8ビットが割り当てられている場合においては、ステップS32では、埋め込み画像を構成する画素から、27を減算した減算値に相当する値が求められる。
【0121】
なお、この減算(に相当する演算)は、画素値が、例えば、YUVなどで表現されている場合には、輝度成分Y、または色成分U,Vのいずれに対して行っても良い。また、減算は、画素値が、例えば、RGBで表現されている場合には、R,G,Bのいずれに対して行っても良い。但し、ステップS32における減算は、図14のステップS23における加算が行われたものと同一のものに対して行う必要がある。即ち、画素値が、例えば、YUVなどで表現されており、図14のステップS23における付加情報の埋め込みが、YUVのうちの、例えば、Y成分に対してのみ行われた場合には、ステップS32における減算は、やはり、Y成分に対してのみ行う必要がある。
【0122】
ステップS32の処理後は、ステップS33に進み、相関演算部92において、処理対象画素(ステップS31で選択された画素)(以下、適宜、第1の画素という)P1と、その画素から27を減算した減算値に相当する値(ステップS32において前処理部91によって求められた値)(以下、適宜、第2の画素という)P2のそれぞれについて、処理対象画素の周辺画素としての、例えば、その左右に隣接する画素との間の相関値が演算される。
【0123】
即ち、ステップS33では、例えば、処理対象画素そのものである第1の画素P1と、その左右の画素それぞれの画素との差分の絶対値が演算され、その2つの絶対値の加算値が、第1の画素P1についての相関値R1として求められる。さらに、ステップS33では、処理対象画素から27を減算した減算値に相当する第2の画素P2についても、処理対象画素の左右の画素それぞれの画素との差分の絶対値どうしの加算値が演算され、それが、第2の画素P2の相関値R2として求められる。
【0124】
なお、ステップS32において、処理対象画素について得られる第1の画素P1または第2の画素P2それぞれとの間の相関を求めるのに用いる画素は、処理対象画素の左右に隣接する画素に限定されるものではなく、上下に隣接する画素であっても良いし、時間的に隣接する画素であっても良い。また、必ずしも、空間的または時間的に隣接する画素である必要もない。但し、処理対象画素について得られる第1の画素P1または第2の画素P2それぞれとの相関を求めるにあたっては、図15において、斜線を付した画素、即ち、付加情報が埋め込まれていない画素を用いるのが望ましい。これは、付加情報が埋め込まれた画素を用いて相関を求めても、元の画像についての相関を得ることができず、従って、画像の相関性を利用することができないため、付加情報が埋め込まれた画素から、元の画素および付加情報を、正確に復号するのが困難となるからである。また、画像の相関性を利用して、付加情報が埋め込まれた画素を復号する以上、相関値を求めるのに用いる画素は、付加情報が埋め込まれた画素との空間的または時間的距離が近いものであるのが望ましい。
【0125】
第1の画素P1についての相関値R1、および第2の画素P2についての相関値R2が算出されると、それらの相関値R1およびR2は、データ復元部93に供給される。そして、データ復元部93では、ステップS34において、相関算出部92からの相関値R1とR2とが比較される。
【0126】
ステップS34において、相関値R1が、相関値R2より大きい(以上である)と判定された場合、ステップS35に進み、データ復元部93において、付加情報の復号結果として、0が出力される。さらに、ステップS35では、処理対象画素の復号結果として、第1の画素P1が出力され、ステップS31に戻る。
【0127】
即ち、第1の画素P1についての相関値R1の方が、第2の画素P2についての相関値R2より大きいということは、処理対象画素の復号結果としては、画素P2よりも、画素P1の方が確からしいこととなるので、処理対象画素の復号結果は、その確からしい画素P1とされる。さらに、画素P1は、処理対象画素そのものであるから、図14のステップS23で0が加算されたものと考えられる。そして、図14の埋め込み符号化処理では、付加情報が0の場合には、0を加算することとしているから、第1の画素P1についての相関値R1の方が大きく、画素P1が、処理対象画素として確からしい場合には、そこに埋め込まれた付加情報は0ということになる。
【0128】
一方、ステップS34において、相関値R2が、相関値R1より大きい(以上である)と判定された場合、ステップS36に進み、データ復元部93において、付加情報の復号結果として、1が出力される。さらに、ステップS36では、処理対象画素の復号結果として、第2の画素P2が出力され、ステップS31に戻る。
【0129】
即ち、第2の画素P2についての相関値R2の方が、第1の画素P1についての相関値R1より大きいということは、処理対象画素の復号結果としては、画素P1よりも、画素P2の方が確からしいこととなるので、処理対象画素の復号結果は、その確からしい画素P2とされる。さらに、画素P2は、ステップS32で、画素P1から27が減算されたものであるから、図14のステップS23で、元の画素に27が加算されたものであると考えられる。そして、図14の埋め込み符号化処理では、付加情報が1の場合には、27を加算することとしているから、第2の画素P2についての相関値R2の方が大きく、画素P2が、処理対象画素の復号結果として確からしい場合には、そこに埋め込まれた付加情報は1ということになる。
【0130】
ここで、上述のようにして求められる相関値R1とR2との差分が小さい場合には、画素P1とP2のうちのいずれが、処理対象画素の復号結果として確からしいかは、一概にはいえない。そこで、このような場合には、処理対象画素の左右に隣接する画素だけでなく、他の画素をも用いて、画素P1,P2それぞれについての相関値を求め、その相関値を比較することで、画素P1,P2のうちのいずれが、処理対象画素の復号結果として確からしいかを決定することができる。
【0131】
以上のように、付加情報が埋め込まれた画像である符号化データを、画像の相関性を利用して、元の画像と付加情報に復号するようにしたので、その復号のためのオーバヘッドがなくても、符号化データを、元の画像と付加情報に復号することができる。従って、その復号画像(再生画像)には、基本的に、付加情報を埋め込むことによる画質の劣化は生じない。
【0132】
なお、上述の場合には、処理対象画素と、他の画素との相関値として、それらの画素の差分の絶対値を用いるようにしたが、相関値は、これに限定されるものではない。
【0133】
また、本実施の形態では、図15に示したように、画像から、五の目格子状に、画素を選択し、その画素に、付加情報を埋め込むようにしたが、付加情報を埋め込む画素の選択パターンは、これに限定されるものではない。但し、付加情報を埋め込んだ画素の復号にあたっては、上述したように、付加情報が埋め込まれていない画素を用いて相関を求めるのが望ましく、また、画素どうしの相関は、基本的に、それらの間の空間的または時間的距離が離れるほど小さくなっていく。従って、正確な復号を行う観点からは、付加情報を埋め込む画素は、空間的または時間的に、いわゆる疎らになるように選択するのが望ましい。一方、多くの付加情報を埋め込む観点、即ち、圧縮率の観点からは、付加情報を埋め込む画素は、ある程度多くする必要がある。従って、付加情報を埋め込む画素は、復号の正確さと、圧縮率とをバランスさせて選択するのが望ましい。
【0134】
さらに、本実施の形態では、処理対象画素として選択された1画素に、1ビットの付加情報を埋め込むようにしたが、1画素に、2ビット以上の付加情報を埋め込むようにすることも可能である。例えば、1画素に、2ビットの付加情報を埋め込む場合には、その2ビットの付加情報にしたがって、例えば、0,2N×1/22,2N×2/22,2N×3/22のうちのいずれかを、画素に加算するようにすれば良い。即ち、この場合、例えば、画素に8ビットが割り当てられており、処理対象画素が100であるときには、図20に示すように、処理対象画素に対し、付加情報に対応して、0,64,128,192のうちのいずれかを加算した値が求められ、これにより、100,164,228,36のうちのいずれかとされることになる。なお、処理対象画素に付加情報を埋め込むために加算する値は、上述のように、2Nを等分した値に限定されるものではない。また、上述のように、処理対象画素に対し、0,64,128,192のいずれかを加算して付加情報を埋め込む場合には、その復号は、付加情報が埋め込まれた画素から0,64,128,192をそれぞれ減算し、それらの減算結果それぞれについて、上述のような相関値を求め、それらの相関値を比較することで行うことが可能である。
【0135】
さらに、本実施の形態では、画素に、0または27のうちのいずれかを加算することで、付加情報を埋め込むようにしたが、画素に加算する値は、0または27に限定されるものではない。但し、その2つの加算結果どうしが、あまり異なったものとならない場合には、図19のステップS33で求められる相関値R1とR2も、あまり異なったものとならなくなる。これは、画素および付加情報の復号結果の精度を劣化させることとなるから、付加情報にしたがって、画素に加算する値は、その加算結果が、できるだけ異なる値となるものが望ましい。
【0136】
さらに、付加情報として用いる情報は、特に限定されるものではなく、例えば、画像や、音声、テキスト、コンピュータプログラム、その他のデータを付加情報として用いることが可能である。なお、埋め込み符号化対象の画像データの一部を付加情報とし、残りを、フレームメモリ51への供給対象とすれば、その残りの部分に、付加情報とされた画像の一部分が埋め込まれるから、画像の圧縮が実現されることになる。
【0137】
また、本実施の形態では、CPU52または83に、コンピュータプログラムを実行させることで、埋め込み符号化処理または埋め込み復号処理をそれぞれ行うようにしたが、これらの処理は、それ専用のハードウェアによって行うことも可能である。
【0138】
さらに、本実施の形態では、CPU52または83に実行させるコンピュータプログラムを、プログラムメモリ53または84にそれぞれ記憶させておくようにしたが、このコンピュータプログラムは、例えば、磁気テープ、磁気ディスク、光ディスク、光磁気ディスク、相変化ディスクなどの記録媒体や、インターネット、地上波、衛星回線、公衆網、CATV(Cable Television)網などの伝送媒体を介して提供するようにすることが可能である。
【0139】
次に、上述の場合においては、画像を構成する画素を所定のパターンで選択し、その画素に、付加情報に対応する値を加算することで、付加情報の埋め込みを行うとともに、付加情報が埋め込まれた画素を、相関値を利用して、元の付加情報と画素に復号するようにしたが、埋め込み符号化/復号は、その他、例えば、画像を構成する画素を、その度数分布に基づいて選択し、その選択した画素を、付加情報にしたがって変更することで、付加情報を埋め込むとともに、付加情報が埋め込まれた画素を、画素の度数分布に基づいて、元の付加情報と画素に復号することによって行うことも可能である。
【0140】
そこで、図21は、そのような埋め込み符号化を行う埋め込み符号化器の構成例を示している。
【0141】
埋め込み符号化すべき画像データは、フレームメモリ131に供給されるようになされており、フレームメモリ131は、そこに供給される画像を、例えば、フレーム単位で一時記憶するようになされている。
【0142】
なお、フレームメモリ131も、図12のフレームメモリ51と同様に、複数バンクで構成されており、バンク切り替えを行うことで、そこに供給される画像が、動画であっても、符号化データのリアルタイム出力を行うことができるようになされている。
【0143】
付加情報データベース132は、画像に埋め込むべき付加情報を記憶しており、メモリ134は、付加情報データベース132から供給される付加情報を一時記憶して、画素値変更部143に供給するようになっている。出力バッファ135は、画素値変更部143の出力を一時記憶して、符号化データとして出力するようになっている。
【0144】
度数分布算出部141は、フレームメモリ131に記憶された符号化対象の画像の画素値の度数分布を、例えば、1フレーム単位で求め、変更対象画素値/変更値決定部142に供給するようになされている。変更対象画素値/変更値決定部142は、度数分布算出部141から供給される画素値の度数分布に基づき、フレームメモリ131に記憶された符号化対象の画像を構成する画素値の中から、付加情報にしたがって変更する画素値(以下、適宜、変更対象画素値という)を決定するとともに、その変更対象画素値を変更する値(以下、適宜、変更値という)を決定し、画素値変更部143に供給するようになされている。
【0145】
画素値変更部143は、フレームメモリ131に記憶された符号化対象のフレームを構成する画素値を、所定の順序としての、例えば、ラインスキャン順に読み出し、その読み出した画素値が、変更対象画素値に一致しない場合には、そのまま出力バッファ135に供給して対応するアドレスに記憶させるようになされている。また、画素値変更部143は、読み出した画素値が、変更対象画素値に一致する場合には、メモリ134に記憶された付加情報を読み出し、その付加情報にしたがって、変更対象画素値を変更値に変更するか、またはそのままとし、出力バッファ135に供給して、対応するアドレスに記憶させるようになされている。
【0146】
次に、図22のフローチャートを参照して、図21の埋め込み符号化器において行われる埋め込み符号化処理について説明する。
【0147】
フレームメモリ131には、そこに供給される画像データが、1フレーム単位で、順次記憶される。また、付加情報データベース132からは、そこに記憶されている付加情報が読み出され、メモリ134に、順次供給されて記憶される。
【0148】
一方、度数分布算出部141では、ステップS41において、フレームメモリ131に記憶された符号化対象の1フレームを構成する画素値が読み出され、その度数分布が算出される。
【0149】
ここで、図23に、実際の画像の画素値の度数分布を示す。なお、図23は、それぞれ8ビットが割り当てられたRGBコンポーネント信号で構成される1フレームの画像のRコンポーネントの度数分布を示している。Rコンポーネントには、ここでは、上述したように、8ビットが割り当てられおり、従って、0乃至255の範囲の画素値をとり得るが、図23では、250以上の画素値となる画素は存在していない。さらに、図23から明らかなように、一般に、画像には、各画素値(ここでは、0乃至255それぞれの値)が、同じような数だけ存在するのではなく、多数存在する画素値もあれば、まったく存在しない画素値もある。しかしながら、画素値の度数分布の変化は、一般に連続している。
【0150】
度数分布算出部141で求められた画素値の度数分布は、変更対象画素値/変更値決定部142に供給される。変更対象画素値/変更値決定部142は、画素値の度数分布を受信すると、ステップS42に進み、その度数分布に基づき、フレームメモリ131に記憶された符号化対象の画像を構成する画素値の中から、変更対象画素値とするものを決定するとともに、その変更対象画素値を変更する値である変更値を決定する。即ち、変更対象画素値/変更値決定部142は、例えば、度数分布から、最も度数の高い画素値を検出し、それを、変更対象画素値として決定する。さらに、変更対象画素値/変更値決定部142は、度数分布から、度数が0になっている画素値を検出し、それを、変更値として決定する(度数が0になっている画素値が複数ある場合には、例えば、そのうちの1つを選択して、変更値として決定する)。
【0151】
ここで、本実施の形態では、変更対象画素値に、付加情報が埋め込まれる。そこで、埋め込むことのできる付加情報のデータ量を多くするために、最も度数の高い画素値を、変更対象画素値とするようにしている。従って、変更対象画素値とする画素値は、度数の最も高いものに限定されるものではない。
【0152】
変更対象画素値/変更値決定部142において、変更対象画素値および変更値が決定されると、その変更対象画素値および変更値は、画素値変更部143に供給される。
【0153】
画素値変更部143は、変更対象画素値および変更値を受信すると、ステップS43において、フレームメモリ131に記憶された符号化対象のフレームを構成する最も左上の画素値を読み出し、ステップS44に進む。ステップS44では、画素値変更部143において、ステップS43で読み出された画素値が変更対象画素値である(に一致する)かどうかが判定され、変更対象画素値でないと判定された場合、ステップS45乃至S47をスキップして、ステップS48に進み、その画素値が、そのまま出力バッファ135に供給されて、対応するアドレスに書き込まれる。
【0154】
また、ステップS44において、ステップS43で読み出された画素値が変更対象画素値であると判定された場合、ステップS45に進み、画素値変更部143は、メモリ134から付加情報を読み出し、ステップS46に進む。ここで、ステップS45では、付加情報が、例えば、1ビット単位で読み出されるものとする。
【0155】
ステップS46では、画素値変更部134において、ステップS45で読み出された1ビットの付加情報が0または1のうちのいずれであるかが判定される。ステップS46において、付加情報が、0または1のうちの、例えば、0であると判定された場合、ステップS47をスキップして、ステップS48に進み、画素値変更部34において、変更対象画素値が、そのまま出力バッファ135に供給されて、対応するアドレスに書き込まれる。即ち、0である付加情報は、変更対象画素値を変更しないことで、その変更対象画素値を有する画素に埋め込まれる。
【0156】
また、ステップS46において、付加情報が、0または1のうちの、例えば、1であると判定された場合、ステップS47に進み、画素値変更部143において、変更対象画素値が変更値に変更され、ステップS48に進む。ステップS48では、画素値変更部134において、ステップS47で変更された変更値が、出力バッファ135に供給されて、対応するアドレスに書き込まれる。即ち、1である付加情報は、変更対象画素値を変更値に変更することで、その変更対象画素値を有していた画素に埋め込まれる。
【0157】
ステップS48の処理後は、ステップS49に進み、いま符号化対象とされているフレームの画素の読み出しがすべて終了したかどうかが判定される。ステップS49において、いま符号化対象とされているフレームの画素すべての読み出しが、まだ終了していないと判定された場合、ステップS43に戻り、画素値変更部143において、ラインスキャン順に、次に処理すべき画素値が、フレームメモリ131から読み出され、以下、同様の処理が繰り返される。
【0158】
また、ステップS49において、いま符号化対象とされているフレームの画素すべての読み出しが終了したと判定された場合、ステップS50に進み、出力バッファ135に記憶されている、付加情報が埋め込まれたフレームが、符号化データとして読み出されて出力される。そして、ステップS51に進み、フレームメモリ131に、次に処理すべきフレームが記憶されているかどうかが判定され、記憶されていると判定された場合、ステップS41に戻り、そのフレームを符号化対象として、同様の処理が繰り返される。
【0159】
また、ステップS51において、フレームメモリ131に、次に処理すべきフレームが記憶されていないと判定された場合、埋め込み符号化処理を終了する。
【0160】
以上のような埋め込み符号化処理によれば、ある1フレームの画像は、次のような符号化データに符号化される。
【0161】
即ち、例えば、符号化対象のフレームに、図24(A)において・で示すように、変更対象画素値が分布しているとすると、各変更対象画素値のうち、ラインスキャン順で、0の付加情報に対応する位置にあるものは、そのままとされ、1の付加情報に対応する位置にあるものは、図24(B)において×で示すように、図24(A)のフレームには存在しない画素値である変更値に変更される。
【0162】
以上のように、フレームメモリ131に記憶された画像を構成する画素値のうち、度数の最も高い画素値である変更対象画素値を、付加情報にしたがって、その画像に存在しない画素値である変更値に変更することにより、付加情報を埋め込む場合には、画像の連続性(画像を構成する画素値の度数分布の連続性)を利用して、変更値を、元の変更対象画素値に変更することで、元の画像を復号することができるとともに、付加情報を復号することができる。従って、画像の画質の劣化を極力なくし、かつデータ量を増加せずに、画像に付加情報を埋め込むことができる。
【0163】
即ち、変更値は、画像の連続性、つまり、ここでは、画像を構成する画素値の度数分布の連続性を利用することにより、オーバヘッドなしで、元の画素値(変更対象画素値)に復号する(戻す)こができ、さらに、変更値と変更対象画素値を検出することで、付加情報を復号することができる。従って、その結果得られる復号画像(再生画像)には、基本的に、付加情報を埋め込むことによる画質の劣化は生じない。
【0164】
なお、符号化対象のフレームに、存在しない画素値がない場合には、変更対象画素値を変更すると、その変更後の画素値と、符号化対象のフレームに最初から存在する画素値とを区別することが困難となる。そこで、図22の埋め込み符号化処理のステップS41において、度数分布を算出した後に、その度数分布から、フレームに、存在しない画素値がないことが判明した場合には、そのフレームには付加情報を埋め込まず、次のフレームを、符号化対象として、埋め込み符号化処理を行うのが望ましい。
【0165】
次に、図25は、図21の埋め込み符号化器が出力する符号化データとしての付加情報が埋め込まれた画像(埋め込み画像)を、画像の連続性を利用して元の画像と付加情報に復号する埋め込み復号器の構成例を示している。
【0166】
符号化データ、即ち、埋め込み画像は、入力バッファ151に供給されるようになっており、入力バッファ151は、埋め込み画像を、例えば、フレーム単位で一時記憶するようになされている。なお、入力バッファ151も、図21のフレームメモリ131と同様に構成され、バンク切り替えを行うことにより、埋め込み画像が、動画であっても、そのリアルタイム処理が可能となっている。
【0167】
フレームメモリ154は、画素値変更部163において復号された画像を、例えば、1フレーム単位で記憶して出力するようになされている。メモリ155は、画素値変更部163で復号された付加情報を一時記憶して出力するようになされている。
【0168】
度数分布算出部161は、入力バッファ151に記憶された復号対象の埋め込み画像のフレームを構成する画素値を読み出し、その度数分布を求めて、変更対象画素値/変更値決定部162に供給するようになされている。変更対象画素値/変更値決定部162は、度数分布算出部161からの画素値の度数分布に基づき、埋め込み画像を構成する画素値の中から、埋め込み符号化器において変更対象画素値または変更値それぞれに決定された画素を求め(決定し)、画素値変更部163に供給するようになされている。画素値変更部163は、変更対象画素値/変更値決定部162の出力から、変更対象画素値および変更値を認識し、入力バッファ151に記憶された復号対象の埋め込み画像のフレームの中の変更対象画素値および変更値を検出することで、その埋め込み画像に埋め込まれた付加情報を復号して、メモリ155に供給するようになされている。さらに、画素値変更部163は、埋め込み画像の中の変更値を変更対象画素値に変更することで、その埋め込み画像を、元の画像に復号し、フレームメモリ154に供給するようになされている。
【0169】
次に、図26のフローチャートを参照して、図25の埋め込み復号器において行われる埋め込み復号処理について説明する。
【0170】
入力バッファ151では、そこに供給される埋め込み画像(符号化データ)が、例えば、1フレーム単位で順次記憶される。
【0171】
一方、度数分布算出部161では、ステップS61において、入力バッファ151に記憶された復号対象の埋め込み画像のフレームが読み出され、そのフレームを構成する画素値の度数分布が求められる。この度数分布は、変更対象画素値/変更値決定部162に供給される。
【0172】
変更対象画素値/変更値決定部162は、度数分布算出部161から度数分布を受信すると、ステップS62において、その度数分布に基づいて、図21の埋め込み符号化器(変更対象画素値/変更値決定部142)において決定された変更対象画素値および変更値を求める。
【0173】
即ち、埋め込み画像に符号化された元の画像を構成する画素値が、例えば、図27(A)に示すような連続した度数分布を有していたとすると、図21の埋め込み符号化器では、度数の最も高い画素値P1が変更対象画素値として決定される。なお、図27では、画素値のとりうる範囲が、0乃至MAXとされており、また、元の画像(図27(A))は、画素値Pmin以下の画素および画素値Pmax以上の画素が存在しないものとなっている(0<Pmin<Pmax<MAX)。
【0174】
さらに、この場合、埋め込み符号化器において、画素値Pmin以下の、元の画像に存在しないある画素値P2が変更値として決定され、埋め込み符号化が行われたとすると、その結果得られる埋め込み画像の画素値の度数分布は、例えば、図27(B)に示すようなものとなる。即ち、変更対象画素値P1の度数は、それに近い画素値(例えば、両隣の画素値)の度数に比較して極端に低くなり、変更値P2の度数は、逆に、それに近い画素値の度数に比較して極端に高くなる。
【0175】
その結果、例えば、画素値の小さいものから、画素値nの度数と画素値n+1の度数との差分(=画素値nの度数−画素値n+1の度数)(以下、適宜、度数差分という)を求めていくと、その度数差分は、変更対象画素値P1の付近(n=P1のときと、n+1=P1のとき)において、極端に大きくなった後、極端に小さくなる(不連続になる)。また、度数差分は、変更値P2の付近(n=P2のときと、n+1=P2のとき)において、極端に小さくなった後、極端に大きくなる(不連続になる)。
【0176】
従って、埋め込み符号化器において決定された変更対象画素値および変更値は、度数差分をサーチしていくことで求めることができ、変更対象画素値/変更値決定部162では、そのようにして、埋め込み画像の画素値の度数分布に基づき、図21の埋め込み符号化器において決定された変更対象画素値および変更値を求めるようになされている。
【0177】
図26に戻り、ステップS62において、変更対象画素値/変更値決定部162は、埋め込み符号化器において決定された変更対象画素値および変更値を求めると、それらを、画素値変更部163に出力し、ステップS63に進む。
【0178】
ステップS63では、画素値変更部163において、入力バッファ151に記憶された復号対象の埋め込み画像のフレームを構成する最も左上の画素値が読み出され、ステップS64に進み、その画素値が判定される。ステップS64において、読み出された画素値が、変更対象画素値および変更値のいずれでもないと判定された場合、画素値変更部164は、ステップS68に進み、その画素値を、フレームメモリ154に供給し、対応するアドレスに記憶させる。ここで、変更対象画素値および変更値のいずれでもない画素には、付加情報は埋め込まれていないから、その復号は行われない(することができない)(する必要がない)。
【0179】
また、ステップS64において、読み出された画素値が、変更対象画素値であると判定された場合、ステップS65に進み、画素値変更部163は、メモリ155に、付加情報の復号結果として、0または1のうちの、変更対象画素値に対応する0を供給して記憶させる。そして、ステップS68に進み、画素値変更部163は、変更対象画素値を、そのまま、フレームメモリ154に供給し、対応するアドレスに記憶させる。
【0180】
さらに、ステップS64において、読み出された画素値が、変更値であると判定された場合、ステップS66に進み、画素値変更部163は、変更値を、変更対象画素値に変更し、これにより、元の画素値に復号して、ステップS67に進む。ステップS67では、画素値変更部163において、メモリ155に対して、付加情報の復号結果として、0または1のうちの、変更値に対応する1が供給されて書き込まれる。そして、ステップS68に進み、画素値変更部163は、変更対象画素値(ステップS66において、変更値を変更したもの)を、フレームメモリ154に供給し、対応するアドレスに記憶させる。
【0181】
ステップS68の処理後は、ステップS69に進み、いま復号対象とされている埋め込み画像のフレームの画素の読み出しがすべて終了したかどうかが判定される。ステップS69において、いま復号対象とされている埋め込み画像のフレームの画素すべての読み出しが、まだ終了していないと判定された場合、ステップS63に戻り、画素値変更部163において、ラインスキャン順に、次に処理すべき画素値が、入力バッファ151から読み出され、以下、同様の処理が繰り返される。
【0182】
また、ステップS69において、いま復号対象とされている埋め込み画像の画素すべての読み出しが終了したと判定された場合、フレームメモリ154またはメモリ155にそれぞれ記憶された1フレームの復号画像または付加情報が読み出されて出力される。そして、ステップS70に進み、入力バッファ151に、次に処理すべき埋め込み画像のフレームが記憶されているかどうかが判定され、記憶されていると判定された場合、ステップS61に戻り、そのフレームを復号対象として、同様の処理が繰り返される。
【0183】
また、ステップS70において、入力バッファ151に、次に処理すべき埋め込み画像のフレームが記憶されていないと判定された場合、埋め込み復号処理を終了する。
【0184】
以上のように、付加情報が埋め込まれた画像である符号化データを、画像の連続性を利用して、元の画像と付加情報に復号するようにしたので、その復号のためのオーバヘッドがなくても、符号化データを、元の画像と付加情報に復号することができる。従って、その復号画像には、基本的に、付加情報を埋め込むことによる画質の劣化は生じない。
【0185】
なお、本実施の形態では、図21の埋め込み符号化処理において、付加情報にしたがい、変更対象画素値を、そのままとする(変更対象画素値に変更する)か、または変更値に変更するようにしたが、符号化対象の画像に、存在しない画素値が2以上ある場合には、例えば、そのうちの2つを第1の変更値と第2の変更値とし、付加情報にしたがい、変更対象画素値を、第1の変更値に変更するか、または第2の変更値に変更するようにすることが可能である。ここで、変更対象画素値を、そのままとするか、または変更値に変更する場合には、符号化対象の画像に、存在しない画素値が1つあれば良いが、変更対象画素値を、第1または第2の変更値に変更する場合には、符号化対象の画像に、存在しない画素値が2以上ある必要がある。しかしながら、変更対象画素値を、第1または第2の変更値に変更する場合には、埋め込み画像には、変更対象画素値が存在しなくなるので、埋め込み復号器6において、埋め込み画像の度数分布から、より精度良く、変更対象画素値を求めることが可能となる。
【0186】
さらに、符号化対象の画像に、存在しない画素値が複数ある場合には、その複数の画素値をすべて変更値とし、付加情報にしたがい、変更対象画素値を、複数の変更値のうちのいずれかに変更するようにすることが可能である。この場合、1画素に、2ビット以上の付加情報を埋め込むことが可能となる。
【0187】
また、本実施の形態では、埋め込み符号化処理において、符号化対象の画像の画素値を、ラインスキャン順に処理するようにしたが、その処理の順番は、ラインスキャン順に限定されるものではない。但し、埋め込み符号化器と埋め込み復号器において、同一の順番で処理が行われるように設定しておく必要がある。
【0188】
さらに、本実施の形態では、フレーム単位で度数分布を求めるようにしたが、度数分布は、その他、例えば、1フレームを幾つかのブロックに分けて、そのブロック単位で求めても良いし、複数フレーム単位で求めても良い。
【0189】
また、本実施の形態では、図25の埋め込み復号器において、図21の埋め込み符号化器で決定された変更対象画素値および変更値を求めるようにしたが、変更対象画素値および変更値は、僅かな量のデータであり、埋め込み画像に、オーバーヘッドとして含めるようにしても良い。
【0190】
さらに、埋め込み符号化の対象とする画像が、例えば、RGBコンポーネント信号で構成されるカラー画像などである場合には、RGBそれぞれについて、埋め込み符号化処理を施すことが可能である。
【0191】
次に、図21に示した埋め込み符号化器を、図3に示した符号化部14に用いることで、画素値そのものを用いて埋め込み符号化を行う場合に比較して、より効果的な埋め込み符号化行うことが可能となる。
【0192】
即ち、例えば、いま、図3の差分計算部13において、画像を構成する画素について、その隣接する画素(例えば、左隣の画素)との差分に相当する差分データを演算するものとすると、隣接する画素どうしの差は、一般に小さいことから、差分データは、特定の値に集中する。具体的には、図28(A)は、ある1フレームの画像の画素値の度数分布を示しているが、この画像について差分データを演算すると、その差分データの度数分布は、図28(B)に示すようになる。また、図29(A)は、他の1フレームの画像の画素値の度数分布を示しているが、この画像について差分データを演算すると、その差分データの度数分布は、図29(B)に示すようになる。なお、図28および図29における画素値には8ビットが割り当てられている。
【0193】
いずれにしても、隣接する画素どうしについては、一般に、その画素値が近いことから、それらの間の差は、一般に小さくなり、その結果、差分データは、0や255(=28−1)付近に集中する。
【0194】
従って、差分データに付加情報を埋め込む場合には、変更対象画素値とされる最も度数の高い差分データの数は、画素値そのものに付加情報を埋め込む場合に比較して、膨大な個数となり(図28および図29の実施の形態では、差分データの度数分布において最も高い度数は、画素値の度数分布において最も高い度数の10倍近くになっている)、その結果、そのような膨大な数の差分データに対して、多数の付加情報を埋め込むことが可能となる。
【0195】
ここで、以上のように、図21に示した埋め込み符号化器を、図3に示した符号化部14に用いた場合には、それにより得られる符号化データ(埋め込み画像)は、図25に示した埋め込み復号器を、図7に示した復号部32に用いることで、元の画素と付加情報に復号することができる。
【0196】
なお、本実施の形態では、図3の符号化部14に、ハフマンコーディングやランレングス等による符号化を行わせるようにしたが、これは、次のような理由による。即ち、差分データは、図28(B)および図29(B)に示したように、0付近および255付近に集中し、その他の値となることは少ない。従って、0付近および255付近の差分データには、少ないビット数を割り当てるとともに、その他の値の差分データには、ある程度のビット数を割り当てるようなハフマンコーディング等を行うことで、その結果得られる符号化データ全体のデータ量を削減することができる。そして、その場合でも、符号化データは、元の画像に復号することができる。
【0197】
但し、図3の符号化部14には、ハフマンコーディングやランレングス等による符号化以外の、例えば、ADRC(Adaptive Dynamic Range Coding)方式による符号化等を行わせるようにすることも可能である。ここで、ADRC方式による符号化では、ブロックの画素(ここでは、差分データ)の最大値MAXと最小値MINが検出され、DR=MAX−MINが、ブロックの局所的なダイナミックレンジとして求められる。そして、ブロックの各画素から、最小値MINが減算され、その減算値が、DR/2Kで除算(DR/2Kを量子化ステップ幅として量子化)されることにより、Kビットのデータに量子化される。なお、このKビットのデータの復号は、次のようにして行うことができる。即ち、ADRC方式による復号では、Kビットのデータが、DR/2Kを量子化ステップ幅として逆量子化される。そして、その逆量子化結果に、ブロックの最小値MINが加算され、その加算値が、復号結果として出力される。
【0198】
【発明の効果】
本発明の第1の側面によれば、ビット数を増加させることなく、第1のデータと第2のデータとの差分を表現する差分データを高速に求めることが可能となる。
【0199】
本発明の第2の側面によれば、第1のデータと第2のデータとの差分を表現する差分データから、元の第1のデータを高速に求めることが可能となる。
【0200】
本発明の第3の側面によれば、ビット数を増加させることなく、第1のデータと第2のデータとの差分を表現する差分データを高速に求めることが可能となるとともに、そのような差分データから、元の第1のデータを高速に求めることが可能となる。
【図面の簡単な説明】
【図1】符号化対象画素について、参照画素との差分を表現する差分データを、ビット数を増加させることなく求める方法を説明するための図である。
【図2】本発明を適用した画像伝送システムの一実施の形態の構成例を示す図である。
【図3】図2のエンコーダ1の構成例を示すブロック図である。
【図4】図3の差分計算部13の構成例を示す図である。
【図5】図4の差分計算部13が行う差分計算処理を説明するためのフローチャートである。
【図6】画像について求められた差分データを示す図である。
【図7】図2のデコーダ4の構成例を示すブロック図である。
【図8】図7の差分復元部33の構成例を示す図である。
【図9】図8の差分復元部33が行う差分復元処理を説明するためのフローチャートである。
【図10】符号化対象の画像を示す図である。
【図11】相関性を利用した符号化/復号を説明するための図である。
【図12】埋め込み符号化器として機能する図2のエンコーダ1のハードウェア構成例を示すブロック図である。
【図13】図12のエンコーダ1の機能的構成例を示すブロック図である。
【図14】図13のエンコーダ1による埋め込み符号化処理を説明するためのフローチャートである。
【図15】図14のステップS21の処理を説明するための図である。
【図16】埋め込み復号器として機能する図2のデコーダ4のハードウェア構成例を示すブロック図である。
【図17】図16のCPU83の処理を説明するための図である。
【図18】図16のデコーダ4の機能的構成例を示すブロック図である。
【図19】図18のデコーダ4による埋め込み復号処理を説明するためのフローチャートである。
【図20】画素に、2ビットの付加情報を埋め込む場合を説明するための図である。
【図21】埋め込み符号化器の他の構成例を示すブロック図である。
【図22】図21の埋め込み符号化器による埋め込み符号化処理を説明するためのフローチャートである。
【図23】実際の画像の画素値の度数分布を示す図である。
【図24】図22のフローチャートに示した埋め込み符号化処理の結果を説明するための図である。
【図25】図21の埋め込み符号化器の出力の埋め込み復号を行う埋め込み復号器の構成例を示すブロック図である。
【図26】図25の埋め込み復号器による埋め込み復号処理を説明するためのフローチャートである。
【図27】図26のステップS62の処理を説明するための図である。
【図28】差分データの度数分布を示す図である。
【図29】差分データの度数分布を示す図である。
【符号の説明】
1 エンコーダ, 2 記録媒体, 3 伝送媒体, 4 デコーダ, 11ブロック化部, 12 メモリ, 13 差分計算部, 14 符号化部, 15 フレーム化部, 21,22 演算器, 23 ANDゲート, 31 ブロック分解部, 32 復号部, 33 差分復元部, 34 メモリ, 35 フレーム化部, 41 演算器, 42 ANDゲート, 51 フレームメモリ, 52 CPU, 53 プログラムメモリ, 54 出力I/F, 55 付加情報データベース, 61 画素選択部, 62 埋め込み部, 63 付加情報変換部, 64 記憶部, 71 演算器, 72 ANDゲート, 81 フレームメモリ, 82 出力I/F, 83 CPU, 84 プログラムメモリ, 91 前処理部, 92 相関算出部, 93 データ復元部, 101,102 演算器, 103 ANDゲート, 131 フレームメモリ, 132 付加情報データベース, 134 メモリ, 135 出力バッファ, 141 度数分布算出部, 142 変更対象画素値/変更値決定部, 143 画素値変更部, 151 入力バッファ, 154 フレームメモリ, 155 メモリ, 161 度数分布算出部, 162 変更対象画素値/変更値決定部, 163 画素値変更部
Claims (12)
- Nビットで表されるデータどうしの差分に相当する差分データを求めるデータ処理装置であって、
第1のデータと、2Nとを加算し、その加算値を求める加算手段と、
前記加算値から、第2のデータを減算し、その減算値を求める減算手段と、
前記減算値の下位Nビットを抽出し、その下位Nビットを、前記第1のデータと第2のデータとの差分に相当する差分データとして出力する抽出手段と
を含むデータ処理装置。 - 前記第1および第2のデータは、画素値である
請求項1に記載のデータ処理装置。 - 前記第2のデータは、前記第1のデータを予測符号化するときに参照する画素値である
請求項2に記載のデータ処理装置。 - 前記差分データを符号化する符号化手段をさらに含む
請求項1に記載のデータ処理装置。 - Nビットで表されるデータどうしの差分に相当する差分データを求めるデータ処理方法であって、
第1のデータと、2Nとを加算し、その加算値を求める加算ステップと、
前記加算値から、第2のデータを減算し、その減算値を求める減算ステップと、
前記減算値の下位Nビットを抽出し、その下位Nビットを、前記第1のデータと第2のデータとの差分に相当する差分データとして出力する抽出ステップと
を含むデータ処理方法。 - Nビットで表されるデータどうしの差分に相当する差分データを元のデータに復元するデータ処理装置であって、
第1のデータと、2 N とを加算し、その加算値を求め、
前記加算値から、第2のデータを減算し、その減算値を求め、
前記減算値の下位Nビットを抽出する
ことにより得られる、前記第1のデータと第2のデータとの差分に相当する差分データを、前記第2のデータと加算し、その加算値を求める加算手段と、
前記加算値の下位Nビットを抽出し、その下位Nビットを、前記第1のデータを復元した復元結果として出力する抽出手段と
を含むデータ処理装置。 - 前記第1および第2のデータは、画素値である
請求項6に記載のデータ処理装置。 - 前記第2のデータは、前記第1のデータを予測符号化するときに参照する画素値である
請求項7に記載のデータ処理装置。 - 符号化された符号化データを受信し、その符号化データを復号して、前記差分データを出力する復号手段をさらに含む
請求項6に記載のデータ処理装置。 - Nビットで表されるデータどうしの差分に相当する差分データを元のデータに復元するデータ処理方法であって、
第1のデータと、2 N とを加算し、その加算値を求め、
前記加算値から、第2のデータを減算し、その減算値を求め、
前記減算値の下位Nビットを抽出する
ことにより得られる、前記第1のデータと第2のデータとの差分に相当する差分データを、前記第2のデータと加算し、その加算値を求める加算ステップと、
前記加算値の下位Nビットを抽出し、その下位Nビットを、前記第1のデータを復元した復元結果として出力する抽出ステップと
を含むデータ処理方法。 - Nビットで表されるデータどうしの差分に相当する差分データを求め、その差分データを元のデータに復元するデータ処理装置であって、
第1のデータと、2Nとを加算し、その加算値である第1の加算値を求める第1の加算手段と、
前記第1の加算値から、第2のデータを減算し、その減算値を求める減算手段と、
前記減算値の下位Nビットを抽出し、その下位Nビットを、前記第1のデータと第2のデータとの差分に相当する差分データとして出力する第1の抽出手段と、
前記差分データを、前記第2のデータと加算し、その加算値である第2の加算値を求める第2の加算手段と、
前記第2の加算値の下位Nビットを抽出し、その下位Nビットを、前記第1のデータを復元した復元結果として出力する第2の抽出手段と
を含むデータ処理装置。 - Nビットで表されるデータどうしの差分に相当する差分データを求め、その差分データを元のデータに復元するデータ処理方法であって、
第1のデータと、2Nとを加算し、その加算値である第1の加算値を求める第1の加算ステップと、
前記第1の加算値から、第2のデータを減算し、その減算値を求める減算ステップと、
前記減算値の下位Nビットを抽出し、その下位Nビットを、前記第1のデータと第2のデータとの差分に相当する差分データとして出力する第1の抽出ステップと、
前記差分データを、前記第2のデータと加算し、その加算値である第2の加算値を求める第2の加算ステップと、
前記第2の加算値の下位Nビットを抽出し、その下位Nビットを、前記第1のデータを復元した復元結果として出力する第2の抽出ステップと
を含むデータ処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12991699A JP4264606B2 (ja) | 1999-05-11 | 1999-05-11 | データ処理装置およびデータ処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12991699A JP4264606B2 (ja) | 1999-05-11 | 1999-05-11 | データ処理装置およびデータ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000324482A JP2000324482A (ja) | 2000-11-24 |
JP4264606B2 true JP4264606B2 (ja) | 2009-05-20 |
Family
ID=15021578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12991699A Expired - Fee Related JP4264606B2 (ja) | 1999-05-11 | 1999-05-11 | データ処理装置およびデータ処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4264606B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7076246B2 (ja) * | 2018-03-23 | 2022-05-27 | マクセル株式会社 | 撮像装置および撮像システム |
-
1999
- 1999-05-11 JP JP12991699A patent/JP4264606B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000324482A (ja) | 2000-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10805629B2 (en) | Video compression through motion warping using learning-based motion segmentation | |
US6381275B1 (en) | Image coding apparatus and image decoding apparatus | |
JP4822304B2 (ja) | 画像処理装置および画像処理方法、並びに記録媒体 | |
JP5467141B2 (ja) | 下層のフィルタリングを備えたスケーラブルビデオ符号化 | |
KR100803611B1 (ko) | 영상의 부호화, 복호화 방법 및 장치 | |
JP5128976B2 (ja) | 復元されたフレームのフレーム率をアップコンバートする装置および方法 | |
JP2636622B2 (ja) | ビデオ信号の符号化方法及び復号化方法ならびにビデオ信号の符号化装置及び復号化装置 | |
US20100166073A1 (en) | Multiple-Candidate Motion Estimation With Advanced Spatial Filtering of Differential Motion Vectors | |
JP4993676B2 (ja) | 画像符号化装置及び画像符号化方法 | |
KR20060088461A (ko) | 영상신호의 엔코딩/디코딩시에 영상블록을 위한 모션벡터를베이스 레이어 픽처의 모션벡터로부터 유도하는 방법 및장치 | |
JP4284265B2 (ja) | 動画像符号化装置、動画像符号化方法、動画像復号化装置および動画像復号化方法 | |
JP2006109418A (ja) | トランスコーディングのために出力マクロブロック及び動きベクトルを推定する方法及びトランスコーダ | |
JP4143884B2 (ja) | 符号化装置および符号化方法、復号装置および復号方法、記録媒体、並びにデータ処理装置 | |
JP4264606B2 (ja) | データ処理装置およびデータ処理方法 | |
JP2006508584A (ja) | ベクトル予測のための方法 | |
CN112437312B (zh) | 视频解码方法、编码方法、装置、设备及存储介质 | |
JP3032213B2 (ja) | 画像符号化装置及び画像復号化装置 | |
JP4133581B2 (ja) | テロップ合成装置、テロップ合成方法及びテロップ合成プログラム | |
JP2008301270A (ja) | 動画像符号化装置及び動画像符号化方法 | |
JP2005347841A (ja) | 画像再生装置及び画像再生方法 | |
KR100262962B1 (ko) | 움직임 추정방법 및 장치 | |
KR20060059770A (ko) | 영상신호의 엔코딩/디코딩시에 영상블록을 위한 모션벡터를베이스 레이어 픽처의 모션벡터로부터 유도하는 방법 및장치 | |
JP2596352B2 (ja) | 小数精度動きベクトル探索装置 | |
JP2005354174A (ja) | 動き探索装置 | |
JPH10145797A (ja) | 画像符号化方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081217 |
|
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: 20090120 |
|
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: 20090202 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120227 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130227 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140227 Year of fee payment: 5 |
|
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 |