JP4235870B2 - データ処理装置およびデータ処理方法、復号装置および復号方法、並びに記録媒体 - Google Patents

データ処理装置およびデータ処理方法、復号装置および復号方法、並びに記録媒体 Download PDF

Info

Publication number
JP4235870B2
JP4235870B2 JP2000264922A JP2000264922A JP4235870B2 JP 4235870 B2 JP4235870 B2 JP 4235870B2 JP 2000264922 A JP2000264922 A JP 2000264922A JP 2000264922 A JP2000264922 A JP 2000264922A JP 4235870 B2 JP4235870 B2 JP 4235870B2
Authority
JP
Japan
Prior art keywords
data
bit
value
target data
code
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
Application number
JP2000264922A
Other languages
English (en)
Other versions
JP2002077585A5 (ja
JP2002077585A (ja
Inventor
哲二郎 近藤
小林  直樹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2000264922A priority Critical patent/JP4235870B2/ja
Priority to US09/944,758 priority patent/US6831992B2/en
Publication of JP2002077585A publication Critical patent/JP2002077585A/ja
Publication of JP2002077585A5 publication Critical patent/JP2002077585A5/ja
Application granted granted Critical
Publication of JP4235870B2 publication Critical patent/JP4235870B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32251Spatial or amplitude domain methods in multilevel data, e.g. greyscale or continuous tone data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0051Embedding of the watermark in the spatial domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ処理装置およびデータ処理方法、復号装置および復号方法、並びに記録媒体に関し、特に、例えば、復号精度が高いデータの埋め込みを行うことができるようにするデータ処理装置およびデータ処理方法、復号装置および復号方法、並びに記録媒体に関する。
【0002】
【従来の技術】
図1は、画像を構成する画素(画素値)を表すビット列を構成する各ビットを入れ替えるビットスワップを行うことにより、その画素に、データを埋め込む従来の埋め込み符号化装置の一例の構成を示している。
【0003】
画像データは、画像データ用メモリ1に供給され、画像データ用メモリ1は、そこに供給される画像データを一時記憶する。また、画像データに埋め込まれるデータ(以下、適宜、埋め込み対象データという)は、埋め込み対象データ用メモリ2に供給され、埋め込み対象データ用メモリ2は、そこに供給される埋め込み対象データを一時記憶する。
【0004】
ビットスワップ埋め込み部3は、画像データ用メモリ1に記憶された画像データを構成する画素を、例えば、ラスタスキャン順で、順次、注目画素とし、その画素値を読み出すとともに、埋め込み対象データ用メモリ2に記憶された埋め込み対象データを読み出す。さらに、ビットスワップ埋め込み部3は、注目画素の画素値を表すビット列を構成する各ビットを、埋め込み対象データに応じてビットスワップすることにより、注目画素の画素値に埋め込み対象データを埋め込み、その埋め込みの結果得られる画素値(以下、適宜、埋め込み後画素値という)を、埋め込み後画像データ用メモリ4に供給する。
【0005】
埋め込み後画像データ用メモリ4は、ビットスワップ埋め込み部3から供給される埋め込み後画素値を、注目画素の位置に対応するアドレスに記憶し、例えば、1フレーム分の埋め込み後画素値を記憶すると、その1フレーム分の埋め込み後画素値で構成される画像データ(以下、適宜、埋め込み後画像データという)を出力する。
【0006】
次に、図2のフローチャートを参照して、図1の埋め込み符号化装置の処理(埋め込み符号化処理)について説明する。
【0007】
埋め込み符号化装置に対して、例えば、1フレーム(またはフィールド)の画像データと、その1フレームの画像データに埋め込む埋め込み対象データが供給されると、ステップS1において、画像データ用メモリ1は、その画像データを記憶し、埋め込み対象データ用メモリ2は、埋め込み対象データを記憶する。
【0008】
そして、ステップS2に進み、ビットスワップ埋め込み部3は、画像データ用メモリ1に記憶された画像データを構成する画素のうち、ラスタスキャン順で、まだ注目画素としていないものを注目画素とし、その画素値を読み出すとともに、その画素値に埋め込み可能なビット数分の埋め込み対象データを、埋め込み対象データ用メモリ2から読み出す。さらに、ステップS2では、ビットスワップ埋め込み部3は、注目画素の画素値を表すビット列を構成する各ビットを、埋め込み対象データに応じてビットスワップすることにより、注目画素の画素値に埋め込み対象データを埋め込み、その埋め込みの結果得られる埋め込み後画素値を、埋め込み後画像データ用メモリ4に供給して記憶させる。
【0009】
その後、ステップS3に進み、ビットスワップ埋め込み部3は、画像データ用メモリ1に記憶された画像データを構成するすべての画素を注目画素として処理を行ったかどうかを判定し、まだ、すべての画素を注目画素として処理を行っていないと判定した場合、ステップS2に戻る。
【0010】
また、ステップS3において、画像データ用メモリ1に記憶された画像データを構成するすべての画素を注目画素として処理を行ったと判定された場合、即ち、埋め込み後画像データ用メモリ4に、1フレーム分の埋め込み後画素値で構成される画像データ(埋め込み後画像データ)が記憶された場合、ステップS4に進み、埋め込み後画像データ用メモリ4は、記憶している埋め込み後画像データを出力し、処理を終了する。
【0011】
なお、図2のフローチャートの処理は、埋め込み符号化装置に、1フレームの画像データが供給されるごとに、その1フレームの画像データについて行われる。
【0012】
以上のような埋め込み符号化処理によれば、例えば、図3に示すように、埋め込み対象データが画素値に埋め込まれる。
【0013】
即ち、図3は、注目画素の画素値が16であり、その注目画素に、値が3の埋め込み対象データが埋め込まれる場合を示している。
【0014】
例えば、いま、画素値に8ビットが割り当てられているとすると(以下においても、同様とする)、画素値「16」は、一般に、バイナリコードで「00010000」と表される。従って、このバイナリコード「00010000」をビットスワップすることにより得られるビット列は、図3に示すような8パターンだけ存在する。ビットスワップ埋め込み部3は、画素値に対応するバイナリコードを構成するビット列について、そのビット列を構成するビットの入れ替えパターン(ビットスワップのパターン)と、埋め込み対象データとを対応付けて記憶しており、注目画素に埋め込む埋め込み対象データに対応付けられたパターンにしたがって、注目画素の画素値を表すバイナリコードをビットスワップする。
【0015】
図3においては、画素値「16」を表すバイナリコード「00010000」をビットスワップすることにより得られる8通りのビットスワップパターン「00010000」、「00100000」、「01000000」、「10000000」、「00000001」、「00000010」、「00000100」、「00001000」それぞれに対して、埋め込み対象データ「0」、「1」、「2」、「3」、「4」、「5」、「6」、「7」が対応付けられており、従って、埋め込み対象データが「3」である場合には、ビットスワップ埋め込み部3は、画素値「16」を表すバイナリコード「00010000」を、「3」に対応付けられているバイナリコード「10000000」にビットスワップし、そのビットスワップの結果得られたバイナリコード「10000000」で表される画素値「128」を、埋め込み後画素値として出力する。
【0016】
以上から、画素値に、埋め込み対象データを、ビットスワップによって埋め込む場合においては、画素値に、どの程度の埋め込み対象データを埋め込むことができるかは、画素値を表すバイナリコードを構成するビット列の0または1の数によって決まる。
【0017】
即ち、画素値に埋め込むことのできる情報量は、その画素値を表すバイナリコードのビットスワップの全パターン数によって決まり、ビットスワップの全パターン数をNとすれば、log2Nビットが、画素値に埋め込むことのできる情報量となる。ここで、図4に、8ビットのバイナリコードについて、0または1の数と、埋め込むことのできる情報量との関係を示す。
【0018】
次に、図5は、図1の埋め込み符号化装置が出力する埋め込み後画像データから、元の画素値と埋め込み対象データを復号する復号装置の一例の構成を示している。
【0019】
埋め込み後画像データは、埋め込み後画像データ用メモリ11に供給されるようになっており、埋め込み後画像データ用メモリ11は、そこに供給される埋め込み後画像データを一時記憶する。
【0020】
ビットスワップ戻し部12は、埋め込み後画像データ用メモリ11に記憶された埋め込み後画像データを構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とし、その注目画素の埋め込み後画素値を、埋め込み後画像データ用メモリ11から読み出すとともに、注目画素の画素値の予測値を、予測値取得部15から受信する。さらに、ビットスワップ戻し部12は、注目画素の埋め込み後画素値を表すビット列を構成する各ビットを、注目画素の予測値に応じてビットスワップすることにより、注目画素の画素値を復号するとともに、その注目画素に埋め込まれていた埋め込み対象データを復号する。なお、復号された注目画素の画素値は、ビットスワップ戻し部12から画像データ用メモリ13に供給され、埋め込み対象データは、ビットスワップ戻し部12から埋め込み対象データ用メモリ14に供給されるようになっている。
【0021】
画像データ用メモリ13は、ビットスワップ戻し部12から供給される、復号された注目画素の画素値を、その注目画素の位置に対応するアドレスに一時記憶する。埋め込み対象データ用メモリ14は、ビットスワップ戻し部12から供給される、復号された埋め込み対象データを一時記憶する。
【0022】
予測値取得部15は、画像データ用メモリ13に記憶された、既に復号された画素値に基づいて、注目画素の予測値を求め、ビットスワップ戻し部12に供給する。
【0023】
なお、予測値取得部15においては、例えば、画像データ用メモリ13に記憶された、既に復号された画素値のうちの、注目画素の左や上に隣接する画素の画素値を、そのまま予測値とすることができる。あるいは、また、予測値取得部15においては、例えば、画像データ用メモリ13に記憶された、既に復号された画素値のうちの、注目画素に空間的または時間的に近い位置にある画素の画素値の平均値を求め、これを、予測値とするようにすることも可能である。
【0024】
次に、図6のフローチャートを参照して、図5の復号装置の処理(復号処理)について説明する。
【0025】
復号装置に対して、例えば、1フレーム(またはフィールド)の埋め込み後画像データが供給されると、ステップS11において、埋め込み後画像データ用メモリ11は、その埋め込み後画像データを記憶する。
【0026】
その後、ビットスワップ戻し部12は、埋め込み後画像データ用メモリ11に記憶された埋め込み後画像データを構成する画素のうち、ラスタスキャン順で、まだ注目画素としていないものを注目画素とし、予測値取得部15は、ステップS12において、画像データ用メモリ13に記憶された、既に復号された画素値に基づいて、注目画素の予測値を求め、ビットスワップ戻し部12に供給する。
【0027】
ビットスワップ戻し部12は、注目画素の埋め込み後画素値を、埋め込み後画像データ用メモリ11から読み出すとともに、注目画素の画素値の予測値を、予測値取得部15から受信し、ステップS13において、注目画素の埋め込み後画素値を表すビット列を構成する各ビットを、注目画素の予測値に応じてビットスワップすることにより、注目画素の画素値を復号するとともに、その注目画素に埋め込まれていた埋め込み対象データを復号して、ステップS14に進む。
【0028】
ステップS14では、ビットスワップ戻し部12は、注目画素の画素値の復号値を、画像データ用メモリ13に供給して記憶させるとともに、埋め込み対象データの復号値を、埋め込み対象データ用メモリ14に供給して記憶させ、ステップS15に進む。
【0029】
ステップS15では、ビットスワップ戻し部12は、埋め込み後画像データ用メモリ11に記憶された埋め込み後画像データを構成するすべての画素を注目画素として処理を行ったかどうかを判定し、まだ、すべての画素を注目画素として処理を行っていないと判定した場合、ラインスキャン順で、まだ、注目画素としていない画素を、新たに注目画素として、ステップS12に戻る。
【0030】
また、ステップS15において、埋め込み後画像データ用メモリ11に記憶された埋め込み後画像データを構成するすべての画素を注目画素として処理を行ったと判定された場合、即ち、画像データ用メモリ13に、1フレーム分の画素値で構成される画像データが記憶されるとともに、埋め込み対象データ用メモリ14に、その画像データに埋め込まれていた埋め込み対象データが記憶された場合、ステップS16に進み、画像データ用メモリ13から、そこに記憶されている画像データ(の復号値)が出力されるとともに、埋め込み対象データ用メモリ14から、そこに記憶されている埋め込み対象データ(の復号値)が出力され、処理を終了する。
【0031】
なお、図6のフローチャートの処理は、復号装置に、1フレームの埋め込み後画像データが供給されるごとに、その1フレームの埋め込み後画像データについて行われる。
【0032】
以上のような復号処理によれば、例えば、図7に示すように、埋め込み後画素値が、画素値と埋め込み対象データに復号される。
【0033】
即ち、図7は、図3で説明したように、画素値「16」に、値が3の埋め込み対象データを埋め込むことによって得られた埋め込み後画素値「128」を復号する場合を示している。
【0034】
埋め込み後画素値「128」を表すバイナリコードは、「10000000」であるが、このバイナリコードは、元の画素値を表すバイナリコードをビットスワップすることにより得られたものであるから、元の画素値を表すバイナリコードは、埋め込み後画素値「128」を表すバイナリコード「10000000」をビットスワップすることにより得られる全パターンのビット列の中に存在する。従って、埋め込み後画素値「128」を表すバイナリコード「10000000」をビットスワップすることにより得られる全パターンのビット列の中から、元の画素値を表すバイナリコードを見つけ出すことが、元の画素値を復号することになる。
【0035】
また、元の画素値に対応するバイナリコードは、その埋め込み対象データに対応するビットスワップのパターンにしたがってビットスワップされることにより、埋め込み後画素値とされるから、埋め込み後画素値を表すバイナリコードを、元の画素値を表すバイナリコードとするためのビットスワップのパターンが分かれば、埋め込み後画素値に埋め込まれている埋め込み対象データを復号することができる。
【0036】
そこで、ビットスワップ戻し部12は、まず、画素値を復号するために、埋め込み後画素値「128」を表すバイナリコード「10000000」をビットスワップすることにより、そのバイナリコードから得られる全パターンのビット列を求める。さらに、ビットスワップ戻し部12は、各パターンのビット列が表す画素値に対して、予測値取得部15からの注目画素の予測値の予測誤差が最も小さくなるパターンのビット列を見つけ出す。即ち、いま、予測値取得部15が出力する注目画素の予測値が、例えば「14」であったとすると、埋め込み後画素値「128」を表すバイナリコード「10000000」から得られる、図7の8パターンのビット列が表す画素値の中で、予測値「14」との予測誤差が最も小さいのは、16であり、この画素値「16」が、元の画素値として復号される。
【0037】
また、ビットスワップ戻し部12は、ビットスワップ埋め込み部3における場合と同一の、ビットスワップのパターンと埋め込み対象データとの対応付け情報を記憶しており、この対応付け情報から、復号された画素値「16」を表すバイナリコード「0001000」を、埋め込み後画素値「128」を表すバイナリコード「10000000」にビットスワップするビットスワップパターンに対応付けられている埋め込み対象データ「3」を、注目画素の画素値「16」に埋め込まれていた埋め込み対象データとして復号する。
【0038】
以上のようにして、埋め込み後画素値「128」は、元の画素値「16」とそこに埋め込まれた埋め込み対象データ「3」に復号される。
【0039】
なお、例えば、いま、埋め込み後画像データをラスタスキャン順に復号していった場合に、注目画素の左隣の画素の画素値を、注目画素の予測値として、そのまま用いるとすると、埋め込み後画像データの最も左の画素については、予測値となる画素値が存在しないことになる。そこで、埋め込み符号化時においては、例えば、画像データの最も左の画素には、埋め込み対象データを埋め込まないようにするとともに、復号時においては、埋め込み後画像データの最も左の画素より右側の画素を、復号対象とするようにすることができる。
【0040】
【発明が解決しようとする課題】
ところで、図5の復号装置では、注目画素の画素値の予測値の予測誤差が小さいことを前提として、画素値と埋め込み対象データの復号を行っている。
【0041】
従って、図7で説明したように、画素値「16」に、値が3の埋め込み対象データを埋め込むことによって得られた埋め込み後画素値「128」を復号する場合において、元の画素値「16」を比較的精度良く予測する予測値「14」が得られたときには、埋め込み後画素値「128」を、正確に、元の画素値「16」に復号することができる。
【0042】
しかしながら、予測値の精度は比較的良い場合であっても、元の画素値の値が小さい場合には、埋め込み後画素値を、元の画素値に正確に復号することが困難なことがある。さらに、図5の復号装置では、画素値を正確に復号することができなければ、元の画素値を表すバイナリコードを、埋め込み後画素値を表すバイナリコードにビットスワップするビットスワップパターンに基づいて復号される埋め込み対象データも、正確に復号することができない。
【0043】
具体的には、注目画素の画素値が、値の小さい、例えば2である場合は、その注目画素の予測値として、比較的正確な「1」が得られたとしても、正確に復号することができない。
【0044】
即ち、注目画素の画素値「2」のバイナリコードは、「00000010」であるから、このバイナリコードのビットスワップパターンは、図7における場合と同様に、8パターンあり、埋め込み符号化によって、その8パターンのうちのいずれかのビット列を表す埋め込み後画素値とされる。そして、この埋め込み後画素値を復号する場合に、上述のように、比較的予測精度の高い予測値(元の画素値「2」に近い予測値)「1」が得られたとしても、図7に示した、「1」が1ビットだけの8パターンのビット列のうちの、予測値「1」の予測誤差を最小にするのは、「1」を表すバイナリコード「00000001」であり、従って、埋め込み後画素値「2」は、バイナリコード「00000001」が表す画素値「1」に復号され、元の画素値「2」には復号されない。
【0045】
このように、値の小さな画素値について、比較的正確な予測値が得られても、正確に復号を行うことができないのは、画素値に割り当てられるバイナリコードに起因する。
【0046】
即ち、8ビットのバイナリコードのうち、例えば、「1」が1ビットだけのもの(従って、「0」が7ビットあるもの)を考えると、そのようなバイナリコードのビットスワップパターンは、図7に示した8パターンであるが、この8パターンのバイナリコード「00000001」、「00000010」、「00000100」、「00001000」、「00010000」、「00100000」、「01000000」、「10000000」が表す画素値は、それぞれ、「1」、「2」、「4」、「8」、「16」、「32」、「64」、「128」であり、この8パターンのバイナリコードに対応する画素値の間隔は、密のところもあれば、粗のところもある。即ち、画素値が小さい部分では、画素値どうしの間隔は密になり、画素値が大きい部分では、画素値どうしの間隔は粗になる。
【0047】
このため、間隔が密になっている画素値である、例えば、「1」や、「2」、「4」等については、比較的精度の高い予測値が得られても、その画素値の予測値は、その画素値に近い他の画素値に対する予測誤差を最小にするものとなり、真の画素値に対する予測誤差を最小とするものにならないことが多くなる。その結果、上述したように、画素値を正確に復号することができないことになる。
【0048】
本発明は、このような状況に鑑みてなされたものであり、復号精度が高いデータの埋め込みを行うことができるようにするものである。
【0049】
本発明の第1のデータ処理装置は、第1のディジタルデータ内の、所定数ビット数からなるターゲットデータをビットスワップするビットスワップ手段と、ターゲットデータ周辺の周辺データに対応する値からターゲットデータに対応する値を予測する予測値を出力する予測手段と、予測手段により出力される予測値と、ビットスワップされたターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータをソートするソート手段と、ソート手段によりソートされた、ビットスワップされたターゲットデータに応じて、補正コードを出力する補正コード出力手段と、第2のディジタルデータに応じて、ソート手段によりソートされた、ビットスワップされたターゲットデータの内の1つを、第1のディジタルデータに第2のディジタルデータを埋め込んだ埋め込みデータとして出力する埋め込みデータ出力手段とを備えることを特徴とする。
【0050】
本発明の第1のデータ処理方法は、第1のディジタルデータ内の、所定数ビット数からなるターゲットデータをビットスワップするビットスワップステップと、ターゲットデータ周辺の周辺データに対応する値からターゲットデータに対応する値を予測する予測値を出力する予測ステップと、予測ステップにより出力される予測値と、ビットスワップされたターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータをソートするソートステップと、ソートステップによりソートされた、ビットスワップされたターゲットデータに応じて、補正コードを出力する補正コード出力ステップと、第2のディジタルデータに応じて、ソートステップによりソートされた、ビットスワップされたターゲットデータの内の1つを、第1のディジタルデータに第2のディジタルデータを埋め込んだ埋め込みデータとして出力する埋め込みデータ出力ステップとを備えることを特徴とする。
【0051】
本発明の第1の記録媒体は、第1のディジタルデータ内の、所定数ビット数からなるターゲットデータをビットスワップするビットスワップステップと、ターゲットデータ周辺の周辺データに対応する値からターゲットデータに対応する値を予測する予測値を出力する予測ステップと、予測ステップにより出力される予測値と、ビットスワップされたターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータをソートするソートステップと、ソートステップによりソートされた、ビットスワップされたターゲットデータに応じて、補正コードを出力する補正コード出力ステップと、第2のディジタルデータに応じて、ソートステップによりソートされた、ビットスワップされたターゲットデータの内の1つを、第1のディジタルデータに第2のディジタルデータを埋め込んだ埋め込みデータとして出力する埋め込みデータ出力ステップとを含む処理を、コンピュータに実行させるデータ処理プログラムが記録されていることを特徴とする。
【0052】
本発明の第2のデータ処理装置は、第1のディジタルデータが第1のコードとして変換された値に基づいて、0 / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられるコードである新コードに、第1のディジタルデータを変換するコード変換手段と、新コードに変換された第1のディジタルデータ内の、所定ビット数からなるターゲットデータをビットスワップするビットスワップ手段と、ターゲットデータ周辺の新コードである周辺データに対応する値からターゲットデータに対応する値を予測する予測値を出力する予測手段と、予測手段により出力される予測値と、ビットスワップされた新コードとしてのターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータをソートするソート手段と、第2のディジタルデータに応じて、ソート手段によりソートされた、ビットスワップされたターゲットデータの内の1つを、第1のディジタルデータに第2のディジタルデータを埋め込んだ埋め込みデータとして出力する埋め込みデータ出力手段とを備えることを特徴とする。
【0053】
本発明の第2のデータ処理方法は、第1のディジタルデータが第1のコードとして変換された値に基づいて、0 / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられるコードである新コードに、第1のディジタルデータを変換するコード変換ステップと、新コードに変換された第1のディジタルデータ内の、所定ビット数からなるターゲットデータをビットスワップするビットスワップステップと、ターゲットデータ周辺の新コードである周辺データに対応する値からターゲットデータに対応する値を予測する予測値を出力する予測ステップと、予測ステップにより出力される予測値と、ビットスワップされた新コードとしてのターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータをソートするソートステップと、第2のディジタルデータに応じて、ソートステップによりソートされた、ビットスワップされたターゲットデータの内の1つを、第1のディジタルデータに第2のディジタルデータを埋め込んだ埋め込みデータとして出力する埋め込みデータ出力ステップとを備えることを特徴とする。
【0054】
本発明の第2の記録媒体は、第1のディジタルデータが第1のコードとして変換された値に基づいて、0 / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられるコードである新コードに、第1のディジタルデータを変換するコード変換ステップと、新コードに変換された第1のディジタルデータ内の、所定ビット数からなるターゲットデータをビットスワップするビットスワップステップと、ターゲットデータ周辺の新コードである周辺データに対応する値からターゲットデータに対応する値を予測する予測値を出力する予測ステップと、予測ステップにより出力される予測値と、ビットスワップされた新コードとしてのターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータをソートするソートステップと、第2のディジタルデータに応じて、ソートステップによりソートされた、ビットスワップされたターゲットデータの内の1つを、第1のディジタルデータに第2のディジタルデータを埋め込んだ埋め込みデータとして出力する埋め込みデータ出力ステップとを含む処理を、コンピュータに実行させるデータ処理プログラムが記録されていることを特徴とする。
【0055】
本発明の第1の復号装置は、埋め込みデータ内の、所定ビット数であるターゲットデータをビットスワップするビットスワップ手段と、ターゲットデータ周辺の既に復号されたデータである復号データに対応する値からターゲットデータを復号することにより得られる復号データに対応する値を予測する予測値を出力する予測手段と、予測手段により出力される予測値と、ビットスワップ手段によりビットスワップされたターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータをソートするソート手段と、補正コードに応じて、ソート手段によりソートされた、ビットスワップされたターゲットデータのうちの1つのコードを、ターゲットデータを復号することにより得られる第1のディジタルデータである復号データとして出力する復号データ出力手段と、ソート手段によりソートされた、ビットスワップされたターゲットデータの順位に応じて、第2のディジタルデータを出力する第2のディジタルデータ出力手段とを備えることを特徴とする。
【0056】
本発明の第1の復号方法は、埋め込みデータ内の、所定ビット数であるターゲットデータをビットスワップするビットスワップステップと、ターゲットデータ周辺の既に復号されたデータである復号データに対応する値からターゲットデータを復号することにより得られる復号データに対応する値を予測する予測値を出力する予測ステップと、予測ステップにより出力される予測値と、ビットスワップステップによりビットスワップされたターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータをソートするソートステップと、補正コードに応じて、ソートステップによりソートされた、ビットスワップされたターゲットデータのうちの1つのコードを、ターゲットデータを復号することにより得られる第1のディジタルデータである復号データとして出力する復号データ出力ステップと、ソートステップによりソートされた、ビットスワップされたターゲットデータの順位に応じて、第2のディジタルデータを出力する第2のディジタルデータ出力ステップとを備えることを特徴とする。
本発明の第3の記録媒体は、埋め込みデータ内の、所定ビット数であるターゲットデータをビットスワップするビットスワップステップと、ターゲットデータ周辺の既に復号されたデータである復号データに対応する値からターゲットデータを復号することにより得られる復号データに対応する値を予測する予測値を出力する予測ステップと、予測ステップにより出力される予測値と、ビットスワップステップによりビットスワップされたターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータをソートするソートステップと、補正コードに応じて、ソートステップによりソートされた、ビットスワップされたターゲットデータのうちの1つのコードを、ターゲットデータを復号することにより得られる第1のディジタルデータである復号データとして出力する復号データ出力ステップと、ソートステップによりソートされた、ビットスワップされたターゲットデータの順位に応じて、第2のディジタルデータを出力する第2のディジタルデータ出力ステップとを含む処理を、コンピュータに実行させる復号プログラムを記録していることを特徴とする。
本発明の第2の復号装置は、埋め込みデータ内の、所定ビット数であるターゲットデータをビットスワップするビットスワップ手段と、0 / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられるコードを表す新コードであり、ターゲットデータ周辺の既に復号されたデータである復号データに対応する値からターゲットデータを復号することにより得られる復号データに対応する値を予測する予測値を出力する予測手段と、予測手段より出力される予測値と、ビットスワップ手段によりビットスワップされた新コードとしてのターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータをソートするソート手段と、ソート手段によりソートされた、ビットスワップされたターゲットデータの順位に応じて、第2のディジタルデータを出力する第2のディジタルデータ出力手段と、ソート手段によりソートされた、ビットスワップされたターゲットデータの順位に応じて、ターゲットデータを復号することにより得られる復号データを出力する復号データ出力手段と、復号データ出力手段により出力される新コードである復号データに対応する元のコードを出力するコード変換手段とを備えることを特徴とする。
本発明の第2の復号方法は、埋め込みデータ内の、所定ビット数であるターゲットデータをビットスワップするビットスワップステップと、0 / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられるコードを表す新コードであり、ターゲットデータ周辺の既に復号されたデータである復号データに対応する値からターゲットデータを復号することにより得られる復号データに対応する値を予測する予測値を出力する予測ステップと、予測ステップより出力される予測値と、ビットスワップステップによりビットスワップされた新コードとしてのターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータをソートするソートステップと、ソート ステップによりソートされた、ビットスワップされたターゲットデータの順位に応じて、第2のディジタルデータを出力する第2のディジタルデータ出力ステップと、ソートステップによりソートされた、ビットスワップされたターゲットデータの順位に応じて、ターゲットデータを復号することにより得られる復号データを出力する復号データ出力ステップと、復号データ出力ステップにより出力される新コードである復号データに対応する元のコードを出力するコード変換ステップとを備えることを特徴とする。
本発明の第4の記録媒体は、埋め込みデータ内の、所定ビット数であるターゲットデータをビットスワップするビットスワップステップと、0 / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられるコードを表す新コードであり、ターゲットデータ周辺の既に復号されたデータである復号データに対応する値からターゲットデータを復号することにより得られる復号データに対応する値を予測する予測値を出力する予測ステップと、予測ステップより出力される予測値と、ビットスワップステップによりビットスワップされた新コードとしてのターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータをソートするソートステップと、ソートステップによりソートされた、ビットスワップされたターゲットデータの順位に応じて、第2のディジタルデータを出力する第2のディジタルデータ出力ステップと、ソートステップによりソートされた、ビットスワップされたターゲットデータの順位に応じて、ターゲットデータを復号することにより得られる復号データを出力する復号データ出力ステップと、復号データ出力ステップにより出力される新コードである復号データに対応する元のコードを出力するコード変換ステップとを含む処理を、コンピュータに実行させる復号プログラムが記録されていることを特徴とする。
本発明の第1のデータ処理装置およびデータ処理方法、並びに記録媒体においては、第1のディジタルデータ内の、所定数ビット数からなるターゲットデータがビットスワップされ、ターゲットデータ周辺の周辺データに対応する値からターゲットデータに対応する値が予測され、その結果得られる予測値が出力される。そして、出力される予測値と、ビットスワップされたターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータがソートされ、ソートされた、ビットスワップされたターゲットデータに応じて、補正コードが出力される。また、第2のディジタルデータに応じて、ソートされた、ビットスワップされたターゲットデータの内の1つが、第1のディジタルデータに第2のディジタルデータを埋め込んだ埋め込みデータとして出力される。
本発明の第2のデータ処理装置およびデータ処理方法、並びに記録媒体においては、第1のディジタルデータが第1のコードとして変換された値に基づいて、0 / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられるコードである新コードに、第1のディジタルデータが変換され、新コードに変換された第1のディジタルデータ内の、所定ビット数からなるターゲットデータがビットスワップされる。そして、ターゲットデータ周辺の新コードである周辺データに対応する値からターゲットデータに対応する値が予測され、その結果得られる予測値が出力される。また、出力される予測値と、ビットスワップされた新コードとしてのターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータがソートされ、第2のディジタルデータに応じて、ソートされた、ビットスワップされたターゲットデータの内の1つが、第1のディジタルデータに第2のディジタルデータを埋め込んだ埋め込みデータとして出力される。
本発明の第1の復号装置および復号方法、並びに第3の記録媒体においては、埋め込みデータ内の、所定ビット数であるターゲットデータがビットスワップされ、ターゲットデータ周辺の既に復号されたデータである復号データに対応する値からターゲットデータを復号することにより得られる復号データに対応する値が予測され、その結果得られる予測値が出力される。出力される予測値と、ビットスワップされたターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータがソートされ、 補正コードに応じて、ソートされた、ビットスワップされたターゲットデータのうちの1つのコードが、ターゲットデータを復号することにより得られる第1のディジタルデータである復号データとして出力される。また、ソートされた、ビットスワップされたターゲットデータの順位に応じて、第2のディジタルデータが出力される。
本発明の第2の復号装置および復号方法、並びに第4の記録媒体においては、埋め込みデータ内の、所定ビット数であるターゲットデータがビットスワップされ、0 / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられるコードを表す新コードであり、ターゲットデータ周辺の既に復号されたデータである復号データに対応する値からターゲットデータを復号することにより得られる復号データに対応する値が予測され、その結果得られる予測値が出力される。出力される予測値と、ビットスワップされた新コードとしてのターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータがソートされる。また、ソートされた、ビットスワップされたターゲットデータの順位に応じて、第2のディジタルデータが出力される。さらに、ソートされた、ビットスワップされたターゲットデータの順位に応じて、ターゲットデータを復号することにより得られる復号データが出力され、出力される新コードである復号データに対応する元のコードが出力される。
【0057】
【発明の実施の形態】
以下、本発明の一実施の形態について説明するが、その前に、補正コードを用いた完全可逆の埋め込み符号化および復号について説明する。
【0058】
図8は、補正コードを用いた完全可逆の埋め込み符号化を行う埋め込み符号化装置の一実施の形態の構成例を示している。なお、図中、図1における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図8の埋め込み符号化装置は、予測値取得部21、補正コード用メモリ23、圧縮部24、およびMUX(マルチプレクサ)25が新たに設けられているとともに、ビットスワップ埋め込み部3に替えて、ビットスワップ埋め込み部22が設けられている他は、図1における場合と同様に構成されている。
【0059】
予測値取得部21は、画像データ用メモリ1に記憶された画像データに基づいて、注目画素の画素値の予測値を求め、ビットスワップ埋め込み部22に供給する。
【0060】
ここで、予測値取得部21においては、前述の図5で説明した予測値取得部15における場合と同様に、例えば、画像データ用メモリ1に記憶された注目画素の左や上に隣接する画素の画素値を、そのまま予測値としたり、あるいは、例えば、画像データ用メモリ1に記憶された注目画素に空間的または時間的に近い位置にある画素の画素値の平均値を求め、これを、予測値とするようにすることが可能である。なお、以下では、説明を簡単にするために、注目画素の左隣の画素の画素値を、そのまま、注目画素の予測値とするものとする。また、注目画素の予測値を求めるのに用いる画素は、特に限定されるものではないが、注目画素を復号するときに、既に復号されていなければ、予測値を算出に用いることができないため、符号化時においては、既に符号化された画素の画素値を、注目画素の予測値を算出するのに用いる必要がある。
【0061】
ビットスワップ埋め込み部22は、例えば、前述の図1におけるビットスワップ埋め込み部3と同様に、画像データ用メモリ1に記憶された画像データを構成する画素を、ラスタスキャン順で、順次、注目画素とし、その画素値を読み出すとともに、埋め込み対象データ用メモリ2に記憶された埋め込み対象データを読み出す。さらに、ビットスワップ埋め込み部22は、注目画素の画素値を表すビット列を構成する各ビットを、埋め込み対象データに応じてビットスワップすることにより、注目画素の画素値に埋め込み対象データを埋め込み、その埋め込みの結果得られる画素値(埋め込み後画素値)を、埋め込み後画像データ用メモリ4に供給する。
【0062】
即ち、ビットスワップ埋め込み部22は、注目画素の画素値を表すバイナリコードをビットスワップすることにより、そのバイナリコードに対応するビット列から得られる全パターンのビット列としてのバイナリコードを求め、各パターンのバイナリコードを、そのバイナリコードが表す画素値に対する注目画素の予測値の予測誤差が小さい順に並べたときの、埋め込み対象データの値に対応する順番のバイナリコードを、埋め込み後画素値に対応するバイナリコードとして出力する。
【0063】
さらに、ビットスワップ埋め込み部22は、ビットスワップの結果得られた各パターンのバイナリコードを、そのバイナリコードが表す画素値に対する注目画素の予測値の予測誤差が小さい順に並べたときに、注目画素の画素値を表すバイナリコードの順位を表す情報を、補正コードとして、補正コード用メモリ23に供給する。
【0064】
ここで、補正コードがない場合には、ビットスワップ埋め込み部22が出力する埋め込み後画素値については、図5乃至図7で説明したように、その埋め込み後画素値を表すバイナリコードをビットスワップすることにより得られるすべてのパターンのバイナリコードのうち、そのバイナリコードが表す値に対する予測値の予測誤差が最小のものが、画素値の復号結果とされるが、この場合は、前述したように、元の画素値に対する予測誤差が最小にならないときに、正確な復号を行うことができない。
【0065】
一方、補正コードは、埋め込み後画素値を表すバイナリコードをビットスワップすることにより得られるすべてのパターンのバイナリコードを、そのバイナリコードが表す画素値に対する注目画素の予測値の予測誤差が小さい順に並べたときの、注目画素の画素値を表すバイナリコードの順位を表す。従って、補正コードによれば、予測誤差の大小にかかわらず、正確に、元の画素値を復号することができる。このことは、予測誤差が最小の画素値が、正確な復号結果でない場合に、その正確でない復号結果を、正確な復号結果に補正していると見ることもできるから、そのような補正を行うための情報を、「補正コード」と呼んでいる。
【0066】
補正コード用メモリ23は、ビットスワップ埋め込み部22からの注目画素についての補正コードを、注目画素の位置に対応するアドレスに記憶する。
【0067】
圧縮部24は、補正コード用メモリ23に記憶された補正コードを読み出し、例えば、ハフマン符号化等のエントロピー符号化処理等を施すことによって、補正コードを圧縮符号化し、その圧縮符号化結果(以下、適宜、符号化補正コードという)を、MUX25に出力する。
【0068】
MUX25は、埋め込み後画像データ用メモリ4が出力する埋め込み後画像データと、圧縮部24が出力する符号化補正コードとを多重化し、その結果得られる多重化データを出力する。この多重化データは、例えば、衛星回線や、CATV(Cable Television)網、地上波回線、インターネット、公衆網等の伝送媒体を介して伝送される。あるいは、また、多重化データは、光ディスクや、磁気ディスク、相変化ディスク、半導体メモリ等の記録媒体に記録される。
【0069】
次に、図9のフローチャートを参照して、図8の埋め込み符号化装置の処理(埋め込み符号化処理)について説明する。
【0070】
埋め込み符号化装置に対して、例えば、1フレーム(またはフィールド)の画像データと、その1フレームの画像データに埋め込む埋め込み対象データが供給されると、ステップS21において、画像データ用メモリ1は、その画像データを記憶し、埋め込み対象データ用メモリ2は、埋め込み対象データを記憶する。
【0071】
そして、ビットスワップ埋め込み部22は、画像データ用メモリ1に記憶された画像データを構成する画素のうち、ラスタスキャン順で、まだ注目画素としていないものを注目画素とし、予測値取得部21は、ステップS22において、注目画素の予測値を取得し、ビットスワップ埋め込み部22に供給する。即ち、予測値取得部21は、例えば、画像データ用メモリ1から、注目画素の左隣の画素値を読み出し、その画素値を、注目画素の予測値として、ビットスワップ埋め込み部22に供給する。
【0072】
ここで、補正コードを用いない場合には、前述したように、埋め込み後画像データをラスタスキャン順に復号していったときに、注目画素の左隣の画素の画素値を、注目画素の予測値として、そのまま用いると、埋め込み後画像データの最も左の画素については、予測値となる画素値が存在しないことになり、復号を行うことができないことから、埋め込み符号化時においては、画像データの最も左の画素には、埋め込み対象データを埋め込まないようにする必要があるが、補正コードを用いる場合には、予測値がどのような値であっても、補正コードにより、画素値の復号を行うことができる。従って、補正コードを用いる場合には、最も左の画素については、その左隣に、所定の画素値(例えば0など)の画素が存在するものとして、埋め込み対象データを埋め込むようにすることが可能である。
【0073】
ビットスワップ埋め込み部22は、予測値取得部21から注目画素の予測値を受信すると、ステップS23において、注目画素の画素値を、画像データ用メモリ1から読み出すとともに、その画素値に埋め込み可能なビット数分の埋め込み対象データを、埋め込み対象データ用メモリ2から読み出す。さらに、ステップS23では、ビットスワップ埋め込み部22は、注目画素の画素値を表すビット列を構成する各ビットを、予測値取得部21からの注目画素の予測値、および埋め込み対象データ用メモリ2から読み出した埋め込み対象データに応じてビットスワップすることにより、注目画素の画素値に埋め込み対象データを埋め込み、その埋め込みの結果得られる埋め込み後画素値を、埋め込み後画像データ用メモリ4に供給して記憶させる。
【0074】
そして、ステップS24に進み、ビットスワップ埋め込み部22は、注目画素についての補正コードを求め、補正コード用メモリ23に供給して記憶させ、ステップS25に進む。
【0075】
ステップS25では、ビットスワップ埋め込み部22は、画像データ用メモリ1に記憶された画像データを構成するすべての画素を注目画素として処理を行ったかどうかを判定し、まだ、すべての画素を注目画素として処理を行っていないと判定した場合、ステップS22に戻り、以下、同様の処理を繰り返す。
【0076】
また、ステップS25において、画像データ用メモリ1に記憶された画像データを構成するすべての画素を注目画素として処理を行ったと判定された場合、即ち、埋め込み後画像データ用メモリ4に、1フレーム分の埋め込み後画素値で構成される画像データ(埋め込み後画像データ)が記憶されるとともに、補正コード用メモリ23にも、1フレーム分の画素についての補正コードが記憶された場合、ステップS26に進み、圧縮部24は、補正コード用メモリ23に記憶された1フレーム分の補正コードをエントロピー符号化し、その結果得られる符号化補正コードを、MUX25に出力する。
【0077】
MUX25は、ステップS27において、埋め込み後画像データ用メモリ4に記憶された1フレームの埋め込み後画像データを読み出す。さらに、MUX25は、ステップS27において、その埋め込み後画像データと、圧縮部24からの符号化補正コードとを多重化し、その結果得られる多重化データを出力して、処理を終了する。
【0078】
なお、図9のフローチャートの処理は、埋め込み符号化装置に、1フレームの画像データが供給されるごとに、その1フレームの画像データについて行われる。
【0079】
以上のような埋め込み符号化処理によれば、例えば、図10に示すように、埋め込み対象データが画素値に埋め込まれる。
【0080】
即ち、図10は、注目画素の画素値が16であり、その注目画素に、値が3の埋め込み対象データが埋め込まれる場合を示している。また、図10では、予測値取得部21において、注目画素の予測値として、「11」が求められている。
【0081】
この場合、ビットスワップ埋め込み部22は、画素値「16」に対応するバイナリコード「00010000」を構成するビット列をビットスワップすることにより、そのバイナリコードに対応するビット列から得られる全パターンのビット列としてのバイナリコードを求める。従って、いまの場合、8通りのバイナリコード「00000001」、「00000010」、「00000100」、「00001000」、「00010000」、「00100000」、「01000000」、「10000000」が求められる。
【0082】
さらに、ビットスワップ埋め込み部22は、ビットスワップの結果得られるバイナリコードが表す画素値に対する、注目画素の予測値の予測誤差を求める。いまの場合、8通りのバイナリコード「00000001」、「00000010」、「00000100」、「00001000」、「00010000」、「00100000」、「01000000」、「10000000」が得られるが、これらのバイナリコードが表す画素値は、それぞれ「1」、「2」、「4」、「8」、「16」、「32」、「64」、「128」であるから、これらの画素値に対する予測値「11」の予測誤差(予測誤差の大きさ)は、それぞれ、10、9、7、3、5、21、53、117となる。
【0083】
ビットスワップ埋め込み部22は、予測誤差を求めると、ビットスワップの結果得られたバイナリコードを、各バイナリコードについて得られた予測誤差が小さい順に並べたときの、埋め込み対象データの値に対応する順番のバイナリコードを、埋め込み後画素値に対応するバイナリコードとして出力する。
【0084】
即ち、注目画素の画素値が「16」で、その予測値が「11」である場合には、ビットスワップの結果得られたバイナリコードを、予測誤差が小さい順に並べると、図10に示すようになる。
【0085】
さらに、図10では、第i+1位に位置するバイナリコードに、埋め込み対象データ#iが対応付けられており、従って、埋め込み対象データが「3」である場合には、第4(=3+1)位に位置するバイナリコード「00000010」が、埋め込み後画素値に対応するバイナリコードとして出力される。この場合、埋め込み後画素値は、「00000010」に対応する「2」となる。
【0086】
なお、本実施の形態では、ビットスワップの結果得られたバイナリコードを、各バイナリコードについて得られた予測誤差が小さい順に並べたときに、第i+1位に位置するバイナリコードに、埋め込み対象データ#iを対応付けるようにしているが、どの順位のバイナリコードに、値がいくつの埋め込み対象データを対応付けるかは、特に限定されるものではない。但し、どの順位のバイナリコードに、値がいくつの埋め込み対象データを対応付けるかは、埋め込み符号化装置と復号装置とで統一しておく必要がある。
【0087】
また、あるバイナリコードと、他のバイナリコードについての予測誤差が同一の値になることがあり得るが、この場合、その2つのバイナリコードを、どのような順位付けにするかは、あらかじめ決めておくようにすれば良い。即ち、予測誤差が同一の2つのバイナリコードについては、例えば、対応する画素値が小さい方のバイナリコードを高い順位にするように決めておくことができる。
【0088】
ビットスワップ埋め込み部22は、埋め込み後画素値を求めた後(求める前でも、同時でも良い)、予測誤差が小さい順に並べたバイナリコードのうち、注目画素の画素値を表すバイナリコードの順位を表す情報を、補正コードとして出力する。
【0089】
即ち、図10では、第i位に位置するバイナリコードに、補正コード#i−1が対応付けられており、従って、注目画素の画素値が「16」である場合には、その「16」に対応するバイナリコード「00010000」は第2位であるから、補正コードとしては、「1」(=2−1)が出力される。
【0090】
ここで、予測誤差が小さい順に並べたバイナリコードのうち、予測誤差が最も小さいバイナリコード(第1位のバイナリコード)を、基準コードというものとすると、補正コードは、基準コードに対する、注目画素の画素値が表すバイナリコードの相対位置を表す情報であるということができる。
【0091】
なお、本実施の形態では、ビットスワップの結果得られたバイナリコードを、各バイナリコードについて得られた予測誤差が小さい順に並べたときに、第i位に位置するバイナリコードに、補正コード#i−1を対応付けるようにしているが、どの順位のバイナリコードに、値がいくつの補正コードを対応付けるかは、特に限定されるものではない。但し、バイナリコードと埋め込み対象データとの対応付けと同様に、どの順位のバイナリコードに、値がいくつの補正コードを対応付けるかは、埋め込み符号化装置と復号装置とで統一しておく必要がある。
【0092】
次に、図11は、図8の埋め込み符号化装置が出力する多重化データから、元の画素値と埋め込み対象データを復号する復号装置の一実施の形態の構成例を示している。なお、図中、図5における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図11の復号装置は、DEMUX(デマルチプレクサ)31、伸張部32、および補正コード用メモリ33が新たに設けられているとともに、ビットスワップ戻し部12に替えて、ビットスワップ戻し部34が設けられている他は、図5における場合と同様に構成されている。
【0093】
DEMUX31には、図8の埋め込み符号化装置が出力する多重化データが、所定の伝送媒体または記録媒体を介して供給されるようになっており、DEMUX31は、多重化データを、埋め込み後画像データと符号化補正コードに分離する。埋め込み後画像データは、埋め込み後画像データ用メモリ11に供給され、符号化補正コード32は、伸張部32に供給される。
【0094】
伸張部32は、DEMUX31からの符号化補正コードをエントロピー復号し、補正コードとして、補正コード用メモリ33に供給する。補正コード用メモリ33は、伸張部32からの補正コードを一時記憶する。
【0095】
ビットスワップ戻し部34は、図5のビットスワップ戻し部12における場合と同様に、埋め込み後画像データ用メモリ11に記憶された埋め込み後画像データを構成する画素を、例えば、ラスタスキャン順に、順次、注目画素とし、その注目画素の埋め込み後画素値を、埋め込み後画像データ用メモリ11から読み出すとともに、注目画素の画素値の予測値を、予測値取得部15から受信する。さらに、ビットスワップ戻し部34は、注目画素の埋め込み後画素値を表すビット列を構成する各ビットを、注目画素の予測値に応じてビットスワップし、そのビットスワップ結果に基づいて、注目画素に埋め込まれていた埋め込み対象データを復号する。また、ビットスワップ戻し部34は、ビットスワップ結果と、補正コード用メモリ33に記憶された注目画素についての補正コードに基づいて、注目画素の画素値を復号する。復号された注目画素の画素値は、ビットスワップ戻し部34から画像データ用メモリ13に供給され、埋め込み対象データは、ビットスワップ戻し部34から埋め込み対象データ用メモリ14に供給される。
【0096】
次に、図12のフローチャートを参照して、図11の復号装置の処理(復号処理)について説明する。
【0097】
復号装置に対して、例えば、1フレーム(またはフィールド)分の多重化データが供給されると、その多重化データは、DEMUX31において、埋め込み後画像データと符号化補正コードとに分離される。そして、ステップS31において、埋め込み後画像データは、埋め込み後画像データ用メモリ11に供給されて記憶される。さらに、ステップS31では、伸張部32において、符号化補正コードがエントロピー復号され、補正コード用メモリ33に供給されて記憶される。
【0098】
その後、ビットスワップ戻し部34は、埋め込み後画像データ用メモリ11に記憶された埋め込み後画像データを構成する画素のうち、ラスタスキャン順で、まだ注目画素としていないものを注目画素とし、予測値取得部15は、ステップS32において、画像データ用メモリ13に記憶された、既に復号された画素値に基づいて、注目画素の予測値を求め、ビットスワップ戻し部34に供給する。即ち、予測値取得部15は、図8の予測値取得部21と同様に、注目画素の左隣の画素の画素値を、注目画素の予測値とし、ビットスワップ戻し部34に供給する。
【0099】
ビットスワップ戻し部34は、注目画素の埋め込み後画素値を、埋め込み後画像データ用メモリ11から読み出すとともに、注目画素についての補正コードを、補正コード用メモリ33から読み出す。さらに、ビットスワップ戻し部34は、注目画素の画素値の予測値を、予測値取得部15から受信し、ステップS33において、注目画素の埋め込み後画素値を表すビット列を構成する各ビットを、注目画素の予測値に応じてビットスワップし、そのビットスワップ結果と補正コードから、注目画素の画素値、およびそこに埋め込まれていた埋め込み対象データを復号して、ステップS34に進む。
【0100】
ステップS34では、ビットスワップ戻し部34は、注目画素の画素値の復号値を、画像データ用メモリ13に供給して記憶させるとともに、埋め込み対象データの復号値を、埋め込み対象データ用メモリ14に供給して記憶させる。
【0101】
以下、ステップS35,S36において、図6のステップS15,S16における場合とそれぞれ同様の処理が行われ、処理を終了する。
【0102】
なお、図12のフローチャートの処理は、復号装置に、1フレーム分の多重化データが供給されるごとに、その1フレームの多重化データについて行われる。
【0103】
以上のような復号処理によれば、例えば、図13に示すように、埋め込み後画素値が、画素値と埋め込み対象データに復号される。
【0104】
即ち、図13は、図10で説明したように、画素値「16」に、値が3の埋め込み対象データを埋め込むことによって得られた埋め込み後画素値「2」を復号する場合を示している。なお、補正コードは、図10で説明したように、「1」が得られているものとする。
【0105】
埋め込み後画素値「2」を表すバイナリコードは、「00000010」であるが、このバイナリコードは、元の画素値を表すバイナリコードをビットスワップすることにより得られたものであるから、元の画素値を表すバイナリコードは、埋め込み後画素値「2」を表すバイナリコード「00000010」をビットスワップすることにより得られる全パターンのビット列の中に存在する。従って、埋め込み後画素値「2」を表すバイナリコード「10000000」をビットスワップすることにより得られる全パターンのビット列の中から、元の画素値を表すバイナリコードを見つけ出すことが、元の画素値を復号することになる。
【0106】
また、図8の埋め込み符号化装置では、元の画素値は、その画素値に対応するバイナリコードのビットスワップの結果得られるバイナリコードを、予測値の予測誤差が小さい順に並べたときの、埋め込み対象データの値に対応する順位に位置するバイナリコードに対応する値の埋め込み後画素値に埋め込み符号化されるから、埋め込み後画素値を表すバイナリコードのビットスワップの結果得られるバイナリコードを、予測誤差が小さい順に並べたときの、埋め込み後画素値を表すバイナリコードの順位が分かれば、埋め込み後画素値に埋め込まれている埋め込み対象データを復号することができる。
【0107】
そこで、ビットスワップ戻し部34は、まず、画素値を復号するために、埋め込み後画素値「2」を表すバイナリコード「10000000」をビットスワップすることにより、そのバイナリコードから得られる全パターンのビット列を求める。従って、いまの場合、8通りのバイナリコード「00000001」、「00000010」、「00000100」、「00001000」、「00010000」、「00100000」、「01000000」、「10000000」が求められる。
【0108】
さらに、ビットスワップ戻し部34は、ビットスワップの結果得られるバイナリコードが表す画素値に対する、注目画素の予測値の予測誤差を求める。いまの場合、8通りのバイナリコード「00000001」、「00000010」、「00000100」、「00001000」、「00010000」、「00100000」、「01000000」、「10000000」が求められるが、これらのバイナリコードが表す画素値は、それぞれ「1」、「2」、「4」、「8」、「16」、「32」、「64」、「128」であるから、これらの画素値に対する予測値「11」の予測誤差(予測誤差の大きさ)は、それぞれ、10、9、7、3、5、21、53、117となる。
【0109】
ビットスワップ戻し部34は、予測誤差を求めると、ビットスワップの結果得られたバイナリコードを、各バイナリコードについて得られた予測誤差が小さい順に並べたときの、補正コードに対応する順番のバイナリコードを、元の画素値に対応するバイナリコードとして出力する。
【0110】
即ち、注目画素の埋め込み後画素値が「2」で、その予測値が「11」である場合には、ビットスワップの結果得られたバイナリコードを、上述の予測誤差が小さい順に並べると、図13に示すようになる。
【0111】
さらに、図13では、図10における場合と同様に、第i位に位置するバイナリコードに、補正コード#i−1が対応付けられており、従って、補正コードが「1」である場合には、第2(=1+1)位に位置するバイナリコード「00010000」が表す値「16」が元の画素値の復号結果となる。
【0112】
また、ビットスワップ戻し部34は、ビットスワップの結果得られたバイナリコードを、各バイナリコードについて得られた予測誤差が小さい順に並べたときの、埋め込み後画素値に対応するバイナリコードの順位に対応する値を、埋め込み対象データの復号結果として出力する。
【0113】
即ち、図13では、図10における場合と同様に、第i+1位に位置するバイナリコードに、埋め込み対象データ#iが対応付けられており、従って、埋め込み後画素値が「2」である場合には、対応するバイナリコード「00000010」は、第4位であるから、埋め込み対象データの復号結果は、「3」(=4−1)となる。
【0114】
以上のようにして、埋め込み後画素値「2」は、元の画素値「16」とそこに埋め込まれた埋め込み対象データ「3」に、正確に復号される。
【0115】
以上のように、補正コードを用いる場合には、画素値と埋め込み対象データとを、必ず正確に復号すること、即ち、完全可逆の埋め込み符号化および復号を行うことができる。
【0116】
ところで、補正コードを用いる場合においては、完全可逆の処理を実現することができるが、埋め込み符号化結果のデータ量は、補正コードを用いない場合に比較して、符号化補正コードのデータ量だけ増加する。従って、圧縮率の観点からは、符号化補正コードのデータ量をできるだけ少なくすることが要求される。
【0117】
そして、補正コードをエントロピー符号化等して、符号化補正コードとする場合、その符号化補正コードのデータ量を少なくするには、補正コードを、ある値に集中させることが必要となる。
【0118】
しかしながら、前述したように、画素値に割り当てられる従来のバイナリコード(以下、適宜、従来コードという)に対応する画素値の間隔は、密のところもあれば、粗のところもあるため、特に、間隔が密になっている画素値については、予測値として得られる値の変動(予測値の精度)によって、補正コードがばらつくことになる。
【0119】
即ち、図14(A)は、8ビットの従来コードのうち、「1」が1ビットだけのもののビットスワップ結果の全8パターンと、対応する画素値とを示している。
【0120】
例えば、いま、注目画素の画素値が、従来コード「00010000」に対応する値「16」であるとし、その注目画素の予測値として、値「17」が得られた場合に、従来コード「00010000」のビットスワップ結果としての8パターンの従来コードを、各従来コードに対応する画素値に対する、予測値「17」の予測誤差の小さい順に並べると、図14(B)に示すようになる。この場合、注目画素の画素値「16」に対する予測値「17」の予測誤差が「1」(=|17−16|)で、最も小さいから、即ち、注目画素の画素値「16」に対応する従来コード「00010000」の順位は、第1位であるから、補正コードは「0」となる。
【0121】
一方、注目画素の予測値として、例えば、値「8」が得られた場合に、従来コード「00010000」のビットスワップ結果としての8パターンの従来コードを、各従来コードに対応する画素値に対する、予測値「8」の予測誤差の小さい順に並べると、図14(C)に示すようになる。この場合、注目画素の画素値「16」に対する予測値「8」の予測誤差は「8」(=|8−16|)で、5番目に小さいから、即ち、注目画素の画素値「16」に対応する従来コード「00010000」の順位は、第5位であるから、補正コードは「4」となる。
【0122】
このように、予測値によって、注目画素の画素値「16」を表す従来コード「00010000」の順位が第1位から第4位に大きく変化するのは、注目画素の画素値「16」以下の画素値「1」、「2」、「4」、「8」の間隔が、密であることに起因する。即ち、注目画素の画素値に対応する従来コードをビットスワップして得られるビットスワップ結果に対応する画素値の間隔が密であると、予測値が少し変化するだけで、ビットスワップ結果としての従来コードが表す画素値に対する予測誤差を小さくする従来コードの順位が大きく変動する。補正コードは、この順位に対応しているから、順位が大きく変動すれば、補正コードも大きく変動することとなる。
【0123】
従って、補正コードの変動を小さくして、ある値に集中させるには、注目画素の画素値に対応するビット列をビットスワップすることにより得られるビット列、即ち、0または1の数が同一のビット列をビットスワップすることにより得られるビット列に対して、できるだけ間隔が粗の画素値(間隔が広い)を割り当てる必要がある。
【0124】
一方、画素値として取り得る値の個数は、画素に割り当てられるビット数によって決まる有限の値となるから、0または1の数がある値のビット列をビットスワップすることにより得られるビット列に対して、非常に広い間隔の画素値を割り当てたのでは、0または1の数が他の値のビット列をビットスワップすることにより得られるビット列に対して割り当てることのできる画素値の間隔が密になる(狭くなる)。
【0125】
従って、0または1の数が同一のビット列に対して、各ビット列に対応する値どうしの間隔が、均一で、かつ、なるべく粗になるように、画素値を割り当てるようにすれば、補正コードの変動を小さくすることができる。
【0126】
そこで、8ビットのビット列に対して、例えば、図15および図16に示すように、画素値を割り当てることとする。
【0127】
なお、図15および図16において、codeの列は、8ビットのビット列を表し、oldの列は、codeの列におけるビット列を従来コードとして見た場合の、その従来コードに対応する画素値を表す。また、newの列は、codeの列におけるビット列を、画素値に割り当てる新たなコード(以下、適宜、新コードという)として見た場合の、その新コードに対応する画素値を表す。
【0128】
上述したように、新コードにおいては、0または1の数が同一の新コードに対して、各新コードに対応する画素値どうしの間隔が、均一で、かつ、なるべく粗になるように、画素値が割り当てられており、その結果、予測値として得られる値の変動(予測値の精度)に起因する補正コードのばらつきを低減することができる。
【0129】
即ち、図17は、8ビットの新コードのうち、「1」が6ビットだけのもののビットスワップ結果の全28パターンと、対応する画素値とを示している。
【0130】
例えば、いま、注目画素の画素値が、図14で説明した場合の同一の「16」であるとすると、画素値「16」に対応する新コード(図15および図16において、newの列が「16」になっているcodeの列のビット列)は、「01011111」であり、この新コードをビットスワップして得られるビット列としての新コードは、図17に示す28パターン存在する。なお、図17においては、新コードを、その新コードに対応する(割り当てられている)画素値とともに示してある。
【0131】
この場合、注目画素の予測値として、図14(B)における場合と同様に、値「17」が得られたとすると、新コード「01011111」のビットスワップ結果としての28パターンの新コードを、各新コードに対応する画素値に対する、予測値「17」の予測誤差の小さい順に並べると、図18に示すようになる。
【0132】
なお、予測誤差が同一の新コードについては、割り当てられている画素値が小さいものの方の順位を上位にしてある。
【0133】
図18では、注目画素の画素値「16」に対する予測値「17」の予測誤差が「1」(=|17−16|)で、最も小さいから、即ち、注目画素の画素値「16」に対応する新コード「00010000」の順位は、第1位であるから、補正コードは「0」となる。
【0134】
一方、注目画素の予測値として、例えば、図14(C)における場合と同様に、値「8」が得られたとすると、新コード「01011111」のビットスワップ結果としての28パターンの新コードを、各新コードに対応する画素値に対する、予測値「8」の予測誤差の小さい順に並べると、図19に示すようになる。この場合、注目画素の画素値「16」に対する予測値「8」の予測誤差は「8」(=|8−16|)で、2番目に小さいから、即ち、注目画素の画素値「16」に対応する新コード「01011111」の順位は、第2位であるから、補正コードは「1」となる。
【0135】
以上のように、新コードにおいては、0または1の数が同一の新コードに対して、各新コードに対応する画素値どうしの間隔が、均一で、かつ、なるべく粗になるように、画素値が割り当てられているため、予測値として得られる値が変動しても、予測誤差を小さくする新コードの順位の変動を小さく抑えることができ、その結果、補正コードの変動も小さく抑えることができる。従って、新コードを採用することにより、補正コードは、ある値付近、即ち、上述のように、予測誤差を小さくする新コードの順位にしたがって、0からの整数値の補正コードを割り当てる場合には、0付近に集中する。
【0136】
そして、このように、0付近に集中する補正コードをエントロピー符号化する場合には、値が大きくばらつく補正コードをエントロピー符号化する場合に比較して、圧縮率を向上させることができる。
【0137】
そこで、図20は、以上のような新コードを利用して、埋め込み符号化処理を行う埋め込み符号化装置の一実施の形態の構成例を示している。なお、図中、図8における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図20の埋め込み符号化装置は、コード変換部41が新たに設けられているとともに、ビットスワップ埋め込み部22に替えて、ビットスワップ埋め込み部42が設けられている他は、図8における場合と同様に構成されている。
【0138】
コード変換部41には、埋め込み符号化装置に入力される画像データが供給されるようになっており、コード変換部41は、その画像データを構成する画素値を表すビット列を、従来コードから新コードに変換し、画像データ用メモリ1に供給する。
【0139】
ビットスワップ埋め込み部42は、新コードで表される画素値を対象として、図8のビットスワップ埋め込み部22における場合と同様の処理を行うことで、埋め込み後画素値と補正コードを求める。
【0140】
即ち、図21は、図20のビットスワップ埋め込み部42の構成例を示している。
【0141】
図20の予測値取得部21が出力する注目画素の予測値は、予測誤差計算部53に、画像データ用メモリ1が出力する注目画素の画素値は、ビットスワップコード生成部51に、埋め込み対象データ用メモリ2が出力する埋め込み対象データは、ビットスワップコード決定部55に、それぞれ供給されるようになっている。
【0142】
ビットスワップコード生成部51は、そこに供給される注目画素の画素値を表す新コードをビットスワップすることにより、全パターンのビットスワップ結果を求め、各ビットスワップ結果が表す画素値(以下、適宜、ビットスワップ値という)を予測誤差計算部53に供給する。さらに、ビットスワップコード生成部51は、ビットスワップの結果得られた全パターンの新コードを、ビットスワップコード用メモリ52に供給する。
【0143】
ビットスワップコード用メモリ52は、ビットスワップコード生成部51から供給されるビットスワップ結果としての新コードを一時記憶する。予測誤差計算部53は、注目画素の予測値の、ビットスワップコード生成部51からのビットスワップ値に対する予測誤差を計算し、予測誤差用メモリ54に供給する。予測誤差用メモリ54は、予測誤差計算部53から供給される、各ビットスワップ結果に対応する新コードについての予測誤差を一時記憶する。
【0144】
ビットスワップコード決定部55は、予測誤差用メモリ54に記憶された予測誤差を読み出し、小さい順にソートする。さらに、ビットスワップコード決定部55は、予測誤差のソート結果における、注目画素の画素値を表す新コードの順位を検出し、その順位に対応する値を、補正コードとして出力する。
【0145】
また、ビットスワップコード決定部55は、予測誤差のソート結果における、埋め込み対象データの値に対応する順位を検出し、ビットスワップコード用メモリ72を参照することで、その順位の新コードによって表される画素値を求め、埋め込み後画素値として出力する。
【0146】
次に、図22のフローチャートを参照して、図20の埋め込み符号化装置の処理(埋め込み符号化処理)について説明する。
【0147】
埋め込み符号化装置に対して、例えば、1フレーム(またはフィールド)の画像データと、その1フレームの画像データに埋め込む埋め込み対象データが供給されると、ステップS41において、コード変換部41は、その画像データを構成する画素値を表すビット列を、従来コードから新コードに変換し、その新コードで表される画素値を、画像データ用メモリ1に供給する。
【0148】
画像データ用メモリ1は、ステップS42において、コード変換部41から供給される画素値で構成される画像データを記憶する。さらに、ステップS42では、埋め込み対象データ用メモリ2が、埋め込み対象データを記憶する。
【0149】
そして、ビットスワップ埋め込み部42は、画像データ用メモリ1に記憶された画像データを構成する画素のうち、ラスタスキャン順で、まだ注目画素としていないものを注目画素とし、予測値取得部21は、ステップS43において、注目画素の予測値を取得して、ビットスワップ埋め込み部42に供給する。即ち、予測値取得部21は、例えば、画像データ用メモリ1から、注目画素の左隣の画素値を読み出し、その画素値を、注目画素の予測値として、ビットスワップ埋め込み部42に供給する。
【0150】
ビットスワップ埋め込み部42は、ステップS44において、予測値取得部21から注目画素の予測値を受信し、さらに、注目画素の画素値を、画像データ用メモリ1から読み出すとともに、その画素値に埋め込み可能なビット数分の埋め込み対象データを、埋め込み対象データ用メモリ2から読み出す。そして、ビットスワップ埋め込み部42は、注目画素の予測値と埋め込み対象データに基づいて、注目画素の画素値を表す新コードをビットスワップすることにより、注目画素の画素値に埋め込み対象データを埋め込んだ埋め込み後画素値と、補正コードを求めるビットスワップ埋め込み処理を行う。
【0151】
即ち、ステップS44では、例えば、図23のフローチャートに示すように、ビットスワップ埋め込み部42(図21)は、ステップS51において、注目画素の画素値、その予測値、注目画素に埋め込む埋め込み対象データを取得する。そして、注目画素の画素値は、ビットスワップコード生成部51に、注目画素の予測値は、予測誤差計算部53に、埋め込み対象データは、ビットスワップコード決定部55に、それぞれ供給される。
【0152】
その後、ステップS52に進み、ビットスワップコード生成部51は、注目画素の画素値を表す新コードをビットスワップすることにより、全パターンのビットスワップ結果を求め、ビットスワップコード用メモリ52に供給して記憶させる。また、ステップS52では、ビットスワップコード生成部51は、各ビットスワップ結果が表す画素値であるビットスワップ値を、予測誤差計算部53に供給する。さらに、ステップS52では、予測誤差計算部53が、注目画素の予測値の、ビットスワップコード生成部51からのビットスワップ値に対する予測誤差を計算し、予測誤差用メモリ54に供給して記憶させる。
【0153】
そして、ステップS53に進み、ビットスワップコード決定部55は、予測誤差用メモリ54に記憶された予測誤差を読み出し、小さい順にソートする。さらに、ビットスワップコード決定部55は、予測誤差のソート結果における、注目画素の画素値を表す新コードの順位を検出し、その順位に対応する値を、補正コードとして求める。
【0154】
その後、ビットスワップコード決定部55は、ステップS54において、予測誤差のソート結果における、埋め込み対象データの値に対応する順位(予測誤差が最小のビットスワップ結果の順位を基準として、埋め込み対象データが表す順位)を検出し、その順位の新コードを、ビットスワップコード用メモリ72から読み出す。さらに、ビットスワップコード決定部55は、その新コードによって表される画素値を、埋め込み後画素値として求める。
【0155】
ビットスワップコード決定部55は、以上のようにして、埋め込み後画素値と補正コードを求めると、ステップS55において、その埋め込み後画素値と補正コードを、図20の埋め込み後画像データ用メモリ4と補正コード用メモリ23にそれぞれ供給して記憶させ、リターンする。
【0156】
図22に戻り、ステップS44の処理後は、ステップS45に進み、以下、ステップS45乃至S47において、図9のステップS25乃至S27における場合とそれぞれ同様の処理が行われ、処理を終了する。
【0157】
従って、ステップS46では、圧縮部24において、補正コードがエントロピー符号化され、符号化補正コードとされるが、上述したように、新コードを採用した場合には、補正コードは0付近に集中するため、その圧縮率は高いものとなる。
【0158】
なお、図22のフローチャートの処理は、埋め込み符号化装置に、1フレームの画像データが供給されるごとに、その1フレームの画像データについて行われる。
【0159】
次に、図24は、図20の埋め込み符号化装置が出力する多重化データから、元の画素値と埋め込み対象データを復号する復号装置の一実施の形態の構成例を示している。なお、図中、図11における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図24の復号装置は、ビットスワップ戻し部34に替えて、ビットスワップ戻し部61が設けられているとともに、コード変換部62が新たに設けられている他は、図11における場合と同様に構成されている。
【0160】
ビットスワップ戻し部61は、注目画素の埋め込み後画素値、およびその予測値に基づいて、埋め込み後画素値に埋め込まれていた埋め込み対象データを復号するとともに、さらに、補正コードにも基づいて、埋め込み後画素値を、新コードが割り当てられている画素値に復号する。
【0161】
コード変換部62は、画像データ用メモリ13から、復号された画素値を読み出し、その画素値を表すビット列を、新コードから従来コードに変換して出力する。
【0162】
次に、図25は、図24のビットスワップ戻し部61の構成例を示している。
【0163】
図24の予測値計算部15が出力する注目画素の予測値は、予測誤差計算部73に、埋め込み後画像データ用メモリ11が出力する注目画素の埋め込み後画素値は、ビットスワップコード生成部71に、補正コード用メモリ33が出力する注目画素についての補正コードは、ビットスワップコード決定部75に、それぞれ供給されるようになっている。
【0164】
ビットスワップコード生成部71は、そこに供給される注目画素の埋め込み後画素値を表す新コードをビットスワップすることにより、全パターンのビットスワップ結果を求め、各ビットスワップ結果が表す画素値であるビットスワップ値を、予測誤差計算部73に供給する。さらに、ビットスワップコード生成部71は、ビットスワップの結果得られた全パターンの新コードを、ビットスワップコード用メモリ72に供給する。
【0165】
ビットスワップコード用メモリ72は、ビットスワップコード生成部71から供給されるビットスワップ結果としての新コードを一時記憶する。予測誤差計算部73は、注目画素の予測値の、ビットスワップコード生成部71からのビットスワップ値に対する予測誤差を計算し、予測誤差用メモリ74に供給する。予測誤差用メモリ74は、予測誤差計算部73から供給される、各ビットスワップ結果に対応する新コードについての予測誤差を一時記憶する。
【0166】
ビットスワップコード決定部75は、予測誤差用メモリ74に記憶された予測誤差を読み出し、小さい順にソートする。さらに、ビットスワップコード決定部75は、予測誤差のソート結果における、補正コードに対応する順位の新コードの順位を、ビットスワップコード用メモリ72を参照することで検出し、その新コードが表す画素値を、注目画素の復号結果として出力する。
【0167】
また、ビットスワップコード決定部75は、予測誤差のソート結果における、注目画素の埋め込み画素値に対応する新コードの順位を検出し、その順位に対応する値を、その埋め込み画素値に埋め込まれていた埋め込み対象データの復号結果として出力する。
【0168】
次に、図26のフローチャートを参照して、図24の復号装置の処理(復号処理)について説明する。
【0169】
復号装置に対して、例えば、1フレーム(またはフィールド)分の多重化データが供給されると、その多重化データは、DEMUX31において、埋め込み後画像データと符号化補正コードとに分離される。そして、ステップS61において、埋め込み後画像データは、埋め込み後画像データ用メモリ11に供給されて記憶される。さらに、ステップS61では、伸張部32において、符号化補正コードがエントロピー復号され、補正コード用メモリ33に供給されて記憶される。
【0170】
その後、ビットスワップ戻し部61は、埋め込み後画像データ用メモリ11に記憶された埋め込み後画像データを構成する画素のうち、ラスタスキャン順で、まだ注目画素としていないものを注目画素とし、予測値取得部15は、ステップS62において、画像データ用メモリ13に記憶された、既に復号された画素値のうち、注目画素の左隣の画素の画素値を読み出し、注目画素の予測値として、ビットスワップ戻し部61に供給する。
【0171】
ビットスワップ戻し部61は、ステップS63において、予測値取得部15からの注目画素の予測値を受信し、さらに、注目画素の埋め込み後画素値を、埋め込み後画像データ用メモリ11から読み出すとともに、注目画素についての補正コードを、補正コード用メモリ33から読み出す。そして、ビットスワップ戻し部61は、注目画素の予測値、補正コードに基づいて、注目画素の埋め込み画素値を表す新コードをビットスワップすることにより、注目画素の画素値と、そこに埋め込まれていた埋め込み対象データを復号するビットスワップ戻し処理を行う。
【0172】
即ち、ステップS63では、例えば、図27のフローチャートに示すように、ビットスワップ埋め込み部42(図25)は、ステップS71において、注目画素の埋め込み後画素値、その予測値、注目画素についての補正コードを取得する。そして、注目画素の埋め込み画素値は、ビットスワップコード生成部71に、注目画素の予測値は、予測誤差計算部73に、補正コードは、ビットスワップコード決定部75に、それぞれ供給される。
【0173】
その後、ステップS72に進み、ビットスワップコード生成部71は、注目画素の埋め込み後画素値を表す新コードをビットスワップすることにより、全パターンのビットスワップ結果を求め、ビットスワップコード用メモリ72に供給して記憶させる。また、ステップS72では、ビットスワップコード生成部71は、各ビットスワップ結果が表す画素値であるビットスワップ値を、予測誤差計算部73に供給する。さらに、ステップS72では、予測誤差計算部73が、注目画素の予測値の、ビットスワップコード生成部71からのビットスワップ値に対する予測誤差を計算し、予測誤差用メモリ74に供給して記憶させる。
【0174】
そして、ステップS73に進み、ビットスワップコード決定部75は、予測誤差用メモリ74に記憶された予測誤差を読み出し、小さい順にソートする。さらに、ビットスワップコード決定部75は、予測誤差のソート結果における、補正コードに対応する順位の新コードを、ビットスワップコード用メモリ72を参照することで検出し、その新コードが表す画素値を、注目画素の復号結果として求める。
【0175】
その後、ビットスワップコード決定部75は、ステップS74において、予測誤差のソート結果における、注目画素の埋め込み画素値に対応する新コードの順位を検出し、その順位に対応する値を、その埋め込み画素値(または復号された画素値)に埋め込まれていた埋め込み対象データの復号結果として求める。
【0176】
ビットスワップコード決定部75は、以上のようにして、注目画素の画素値と埋め込み対象データを復号すると、ステップS75において、その注目画素の画素値と埋め込み対象データを、画像データ用メモリ13と埋め込み対象データ用メモリ14にそれぞれ供給して記憶させ、リターンする。
【0177】
図26に戻り、ステップS63の処理後は、ステップS64に進み、ビットスワップ戻し部61は、埋め込み後画像データ用メモリ11に記憶された埋め込み後画像データを構成するすべての画素を注目画素として処理を行ったかどうかを判定し、まだ、すべての画素を注目画素として処理を行っていないと判定した場合、ラインスキャン順で、まだ、注目画素としていない画素を、新たに注目画素として、ステップS62に戻る。
【0178】
また、ステップS64において、埋め込み後画像データ用メモリ11に記憶された埋め込み後画像データを構成するすべての画素を注目画素として処理を行ったと判定された場合、即ち、画像データ用メモリ13に、1フレーム分の画素値で構成される画像データが記憶されるとともに、埋め込み対象データ用メモリ14に、その画像データに埋め込まれていた埋め込み対象データが記憶された場合、ステップS65に進み、コード変換部62は、画像データ用メモリ13から、復号された画素値を読み出し、その画素値を表すビット列を、新コードから従来コード(バイナリコード)に変換する。
【0179】
そして、ステップS66に進み、コード変換部62から、従来コードで表され画素値が出力されるとともに、埋め込み対象データ用メモリ14から、そこに記憶されている埋め込み対象データ(の復号値)が出力され、処理を終了する。
【0180】
なお、図26のフローチャートの処理は、復号装置に、1フレーム分の多重化データが供給されるごとに、その1フレームの多重化データについて行われる。
【0181】
次に、図28は、本件発明者が行った埋め込み符号化処理のシミュレーション結果を示している。
【0182】
即ち、図28(A)は、従来コードを用いて埋め込み符号化処理を行った場合のシミュレーション結果を、図28(B)は、新コードを用いて埋め込み符号化処理を行った場合のシミュレーション結果を、それぞれ示している。
【0183】
なお、シミュレーションにおいては、RGB(Red, Green, Blue)の、横×縦が、1920×1035画素の静止画を用い、R,G,Bの各成分に、埋め込み対象データを埋め込んだ。
【0184】
図28において、「埋め込める情報量」は、1画素当たりに埋め込むことのできた埋め込み対象データのビット数を表しており、これは、従来コードを用いる場合(図28(A))であっても、新コードを用いる場合(図28(B))であっても、同一になる。
【0185】
また、「補正コードデータ量(圧縮後)」は、埋め込み符号化処理を行った結果得られる補正コードをハフマン符号化して得られる符号化補正コードの、1画素当たりのデータ量を示しており、図28から、新コードを用いた場合の方が、従来コードを用いる場合に比較して、1画素当たりの符号化補正コードのデータ量が少なくなっていることが分かる。
【0186】
「差分」は、「埋め込める情報量」の値から、「補正コードデータ量(圧縮後)」の値を減算した差分値を示しており、いわば、1画素に埋め込むことのできる、実質的なデータ量を表す。ここで、図28の各欄の値は、小数点以下第3位を四捨五入してある。
【0187】
なお、圧縮率は、画像データのデータ量をAと、その画像データに埋め込むことのできる埋め込み対象データのデータ量をBと、埋め込み符号化処理を行うことにより得られる符号化補正コードのデータ量をCと、それぞれおくと、(A+C)/(A+B)となる。
【0188】
次に、上述の場合には、補正コードを用いることにより、完全可逆の埋め込み符号化および復号を実現するとともに、新コードを採用することで、圧縮率の向上を図ることとしたが、補正コードを用いずに、新コードだけを採用することが可能である。そして、新コードだけを採用する場合でも、従来コードを採用する場合に比較して、復号精度を向上させることができる。
【0189】
即ち、0または1の数が同一の従来コードについては、前述したように、小さな画素値において、間隔が密になっているため、比較的精度の高い予測値が得られても、その予測値は、真の画素値に近い他の画素値に対する予測誤差を最小にするものになりやすく、そのため、真の画素値を正確に復号することができない場合が多くなる。
【0190】
これに対して、0または1の数が同一の新コードについては、そのような新コードで表される画素値の間隔が、均一で、かつ、なるべく粗になるようになっているため、比較的精度の高い予測値が得られれば、その予測値は、真の画素値に対する予測誤差を最小にするものになりやすく、そのため、真の画素値が正確に復号されることになる。
【0191】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0192】
そこで、図29は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【0193】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
【0194】
あるいはまた、プログラムは、フロッピーディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体111に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。
【0195】
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部108で受信し、内蔵するハードディスク105にインストールすることができる。
【0196】
コンピュータは、CPU(Central Processing Unit)102を内蔵している。CPU102には、バス101を介して、入出力インタフェース110が接続されており、CPU102は、入出力インタフェース110を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部107が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、また、CPU102は、ハードディスク105に格納されているプログラム、衛星若しくはネットワークから転送され、通信部108で受信されてハードディスク105にインストールされたプログラム、またはドライブ109に装着されたリムーバブル記録媒体111から読み出されてハードディスク105にインストールされたプログラムを、RAM(Random Access Memory)104にロードして実行する。これにより、CPU102は、上述した図22や、図23、図26、図27等のフローチャートにしたがった処理、あるいは上述した図20や、図21、図24、図25等のブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
【0197】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
【0198】
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0199】
なお、埋め込み対象データは、どのようなデータであってもかまわない。また、埋め込み対象データとして、その埋め込み対象データを埋め込む画像データの一部を採用することにより、画像データの圧縮を実現することができる。
【0200】
また、本実施の形態では、画像データに対して、埋め込み対象データを埋め込むようにしたが、埋め込み対象データは、画像データ以外の、例えば、音声データ等に埋め込むことも可能である。即ち、埋め込み対象データは、基本的には、予測可能なデータに対して、埋め込むことが可能である。但し、補正コードを用いる場合には、予測できない(または予測しにくい)データに埋め込むことも可能である。
【0201】
また、図15および図16に示した新コードと画素値との対応は例示であり、図15および図16に示したものに限定されるものではない。
【0202】
さらに、本実施の形態では、注目画素に隣接する画素の画素値や、周辺の画素の画素値の平均値を、注目画素の予測値として用いるようにしたが、その他、注目画素の予測値は、例えば、本件出願人が先に提案しているクラス分類適応処理を利用して求めることも可能である。
【0203】
即ち、クラス分類適応処理は、クラス分類処理と適応処理とからなり、クラス分類処理によって、データを、幾つかのクラスのうちのいずれかにクラス分けし、各クラスごとに適応処理を施すものであり、適応処理は、以下のような手法のものである。
【0204】
即ち、適応処理では、例えば、画像を構成する、既知の画素と、所定のタップ係数との線形結合により、未知の注目画素の予測値が求められる。
【0205】
具体的には、例えば、いま、ある既知の画像を教師データとするとともに、その画像の、注目画素以外の幾つかの画素を生徒データとして、注目画素の画素値yの予測値E[y]を、生徒データとしての幾つかの既知の画素の画素値x1,x2,・・・の集合と、所定のタップ係数w1,w2,・・・の線形結合により規定される線形1次結合モデルにより求めることを考える。この場合、予測値E[y]は、次式で表すことができる。
【0206】
E[y]=w11+w22+・・・・・・(1)
【0207】
式(1)を一般化するために、タップ係数wjの集合でなる行列W、生徒データxijの集合でなる行列X、および予測値E[yj]の集合でなる行列Y’を、
【数1】
Figure 0004235870
で定義すると、次のような観測方程式が成立する。
【0208】
XW=Y’・・・(2)
ここで、行列Xの成分xijは、i件目の生徒データの集合(i件目の教師データyiの予測に用いる生徒データの集合)の中のj番目の生徒データを意味し、行列Wの成分wjは、生徒データの集合の中のj番目の生徒データとの積が演算されるタップ係数を表す。また、yiは、i件目の教師データを表し、従って、E[yi]は、i件目の教師データの予測値を表す。なお、式(1)の左辺におけるyは、行列Yの成分yiのサフィックスiを省略したものであり、また、式(1)の右辺におけるx1,x2,・・・も、行列Xの成分xijのサフィックスiを省略したものである。
【0209】
そして、この観測方程式に最小自乗法を適用して、注目画素の画素値yに近い予測値E[y]を求めることを考える。この場合、教師データとなる注目画素の真の画素値yの集合でなる行列Y、およびその画素値yに対する予測値E[y]の残差eの集合でなる行列Eを、
【数2】
Figure 0004235870
で定義すると、式(2)から、次のような残差方程式が成立する。
【0210】
XW=Y+E・・・(3)
【0211】
この場合、注目画素の画素値yに近い予測値E[y]を求めるためのタップ係数wjは、自乗誤差
【数3】
Figure 0004235870
を最小にすることで求めることができる。
【0212】
従って、上述の自乗誤差をタップ係数wjで微分したものが0になる場合、即ち、次式を満たすタップ係数wjが、注目画素の画素値yに近い予測値E[y]を求めるため最適値ということになる。
【0213】
【数4】
Figure 0004235870
Figure 0004235870
【0214】
そこで、まず、式(3)を、タップ係数wjで微分することにより、次式が成立する。
【0215】
【数5】
Figure 0004235870
Figure 0004235870
【0216】
式(4)および(5)より、式(6)が得られる。
【0217】
【数6】
Figure 0004235870
Figure 0004235870
【0218】
さらに、式(3)の残差方程式における生徒データxij、タップ係数wj、教師データyi、および残差eiの関係を考慮すると、式(6)から、次のような正規方程式を得ることができる。
【0219】
【数7】
Figure 0004235870
Figure 0004235870
【0220】
なお、式(7)に示した正規方程式は、行列(共分散行列)Aおよびベクトルvを、
【数8】
Figure 0004235870
で定義するとともに、ベクトルWを、数1で示したように定義すると、式
AW=v・・・(8)
で表すことができる。
【0221】
式(7)における各正規方程式は、生徒データxijおよび教師データyiのセットを、ある程度の数だけ用意することで、求めるべきタップ係数wjの数Jと同じ数だけたてることができ、従って、式(8)を、ベクトルWについて解くことで(但し、式(8)を解くには、式(8)における行列Aが正則である必要がある)、最適なタップ係数wjを求めることができる。なお、式(8)を解くにあたっては、例えば、掃き出し法(Gauss-Jordanの消去法)などを用いることが可能である。
【0222】
以上のようにして、最適なタップ係数wjを求めておき、さらに、そのタップ係数wjを用い、式(1)により、注目画素の画素値yに近い予測値E[y]を求めるのが適応処理である。
【0223】
注目画素の予測値は、以上のようなクラス分類適応処理によって求めることが可能である。
【0224】
【発明の効果】
本発明の第1のデータ処理装置およびデータ処理方法、並びに記録媒体によれば、第1のディジタルデータ内の、所定数ビット数からなるターゲットデータがビットスワップされ、ターゲットデータ周辺の周辺データに対応する値からターゲットデータに対応する値が予測され、その結果得られる予測値が出力される。そして、出力される予測値と、ビットスワップされたターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータがソートされ、ソートされた、ビットスワップされたターゲットデータに応じて、補正コードが出力される。また、第2のディジタルデータに応じて、ソートされた、ビットスワップされたターゲットデータの内の1つが、第1のディジタルデータに第2のディジタルデータを埋め込んだ埋め込みデータとして出力される。従って、復号精度が高いデータの埋め込みを行うことが可能となる。
本発明の第2のデータ処理装置およびデータ処理方法、並びに記録媒体によれば、第1のディジタルデータが第1のコードとして変換された値に基づいて、0 / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられるコードである新コードに、第1のディジタルデータが変換され、新コードに変換された第1のディジタルデータ内の、所定ビット数からなるターゲットデータがビットスワップされる。そして、ターゲットデータ周辺の新コードである周辺データに対応する値からターゲットデータに対応する値が予測され、その結果得られる予測値が出力される。また、出力される予測値と、ビットスワップされた新コードとしてのターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータがソートされ、第2のディジタルデータに応じて、ソートされた、ビットスワップされたターゲットデータの内の1つが、第1のディジタルデータに第2のディジタルデータを埋め込んだ埋め込みデータとして出力される。従って、復号精度が高いデータの埋め込みを行うことが可能となる。
【0225】
本発明の第1の復号装置および復号方法、並びに第3の記録媒体によれば、埋め込みデータ内の、所定ビット数であるターゲットデータがビットスワップされ、ターゲットデータ周辺の既に復号されたデータである復号データに対応する値からターゲットデータを復号することにより得られる復号データに対応する値が予測され、その結果得られる予測値が出力される。出力される予測値と、ビットスワップされたターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータがソートされ、補正コードに応じて、ソートされた、ビットスワップされたターゲットデータのうちの1つのコードが、ターゲットデータを復号することにより得られる第1のディジタルデータである復号データとして出力される。また、ソートされた、ビットスワップされたターゲットデータの順位に応じて、第2のディジタルデータが出力される。従って、データを、精度良く復号することが可能となる。
本発明の第2の復号装置および復号方法、並びに第4の記録媒体によれば、埋め込みデータ内の、所定ビット数であるターゲットデータがビットスワップされ、0 / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられるコードを表す新コードであり、ターゲットデータ周辺の既に復号されたデータである復号データに対応する値からターゲットデータを復号することにより得られる復号データに対応する値が予測され、その結果得られる予測値が出力される。出力される予測値と、ビットスワップされた新コードとしてのターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされたターゲットデータがソートされる。また、ソートされた、ビットスワップされたターゲットデータの順位に応じて、第2のディジタルデータが出力される。さらに、ソートされた、ビットスワップされたターゲットデータの順位に応じて、ターゲットデータを復号することにより得られる復号データが出力され、出力される新コードである復号データに対応する元のコードが出力される。従って、データを、精度良く復号することが可能となる。
【図面の簡単な説明】
【図1】従来の埋め込み符号化装置の一例の構成を示すブロック図である。
【図2】図1の埋め込み符号化装置の処理を説明するフローチャートである。
【図3】図1の埋め込み符号化装置の処理を説明する図である。
【図4】ビット列における0または1の数と、そのビット列に埋め込むことのできるデータ量との関係を説明する図である。
【図5】従来の復号装置の一例の構成を示すブロック図である。
【図6】図5の復号装置の処理を説明するフローチャートである。
【図7】図5の復号装置の処理を説明する図である。
【図8】補正コードを用いる埋め込み符号化装置の一実施の形態の構成例を示すブロック図である。
【図9】図8の埋め込み符号化装置の処理を説明するフローチャートである。
【図10】図8の埋め込み符号化装置の処理を説明する図である。
【図11】補正コードを用いる復号装置の一実施の形態の構成例を示すブロック図である。
【図12】図11の復号装置の処理を説明するフローチャートである。
【図13】図11の復号装置の処理を説明する図である。
【図14】従来コードを用いた場合の埋め込み符号化結果を示す図である。
【図15】新コードと画素値との対応関係を示す図である。
【図16】新コードと画素値との対応関係を示す図である。
【図17】1が6ビットある8ビットのビット列のビットスワップパターンを示す図である。
【図18】新コードを用いた場合の埋め込み符号化結果を示す図である。
【図19】新コードを用いた場合の埋め込み符号化結果を示す図である。
【図20】本発明を適用した埋め込み符号化装置の一実施の形態の構成例を示すブロック図である。
【図21】ビットスワップ埋め込み部42の構成例を示すブロック図である。
【図22】図20の埋め込み符号化装置の処理を説明するフローチャートである。
【図23】図22のステップS44の処理の詳細を説明するフローチャートである。
【図24】本発明を適用した復号装置の一実施の形態の構成例を示すブロック図である。
【図25】ビットスワップ戻し部61の構成例を示すブロック図である。
【図26】図24の復号装置の処理を説明するフローチャートである。
【図27】図26のステップS63の処理の詳細を説明するフローチャートである。
【図28】本件発明者によるシミュレーション結果を示す図である。
【図29】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
1 画像データ用メモリ, 2 埋め込み対象データ用メモリ, 4 埋め込み後画像データ用メモリ, 11 埋め込み後画像データ用メモリ, 13 画像データ用メモリ, 14 埋め込み対象データ用メモリ, 15 予測値取得部, 21 予測値取得部, 23 補正コード用メモリ, 24 圧縮部, 25 MUX, 31 DEMUX, 32 伸張部, 33 補正コード用メモリ, 41 コード変換部, 42 ビットスワップ埋め込み部, 51 ビットスワップコード生成部, 52 ビットスワップコード用メモリ, 53 予測誤差計算部, 54 予測誤差用メモリ, 55 ビットスワップコード決定部, 61 ビットスワップ戻し部, 62 コード変換部, 71 ビットスワップコード生成部, 72 ビットスワップコード用メモリ, 73 予測誤差計算部, 74 予測誤差用メモリ, 75 ビットスワップコード決定部, 101 バス, 102 CPU, 103 ROM, 104 RAM, 105ハードディスク, 106 出力部, 107 入力部, 108 通信部,109 ドライブ, 110 入出力インタフェース, 111 リムーバブル記録媒体

Claims (30)

  1. 第1のディジタルデータに第2のディジタルデータを埋め込むデータ処理装置であって、
    上記第1のディジタルデータ内の、所定数ビット数からなるターゲットデータをビットスワップするビットスワップ手段と、
    上記ターゲットデータ周辺の周辺データに対応する値から上記ターゲットデータに対応する値を予測する予測値を出力する予測手段と、
    上記予測手段により出力される予測値と、ビットスワップされた上記ターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートするソート手段と、
    上記ソート手段によりソートされた、ビットスワップされた上記ターゲットデータに応じて、補正コードを出力する補正コード出力手段と、
    上記第2のディジタルデータに応じて、上記ソート手段によりソートされた、ビットスワップされた上記ターゲットデータの内の1つを、上記第1のディジタルデータに上記第2のディジタルデータを埋め込んだ埋め込みデータとして出力する埋め込みデータ出力手段と
    を備えることを特徴とするデータ処理装置。
  2. 上記予測手段は、上記ターゲットデータ周辺の第1のコードである周辺データに対応する値をn進数(n>2の自然数)に変換した値から上記ターゲットデータに対応する値を予測する予測値を出力し、
    上記ソート手段は、上記予測手段により出力される予測値と、ビットスワップされた第1のコードとしての上記ターゲットデータに対応する各値をn進数に変換した値との絶対値差分値を、予測誤差値として、ビットスワップされた上記ターゲットデータ毎に検出し、当該予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートする
    ことを特徴とする請求項1に記載のデータ処理装置。
  3. 上記予測手段は、上記ターゲットデータ周辺のバイナリコードである周辺データに対応する値を10進数に変換した値から上記ターゲットデータに対応する値を予測する予測値を出力し、
    上記ソート手段は、上記予測手段により出力される予測値と、ビットスワップされたバイナリコードとしての上記ターゲットデータに対応する各値を10進数に変換した値との絶対値差分値を、予測誤差値として、ビットスワップされた上記ターゲットデータ毎に検出し、当該予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートする
    ことを特徴とする請求項2に記載のデータ処理装置。
  4. 上記第1のディジタルデータが第1のコードとして変換された値に基づいて、0 / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられる上記コードである新コードに、上記第1のディジタルデータを変換するコード変換手段をさらに備え、
    上記予測手段は、上記ターゲットデータ周辺の上記新コードである周辺データに対応する値を10進数に変換した値から上記ターゲットデータに対応する値を予測する予測値を出力し、
    上記ソート手段は、上記予測手段により出力される予測値と、ビットスワップされた上記新コードとしての上記ターゲットデータに対応する各値を10進数に変換した値との絶対値差分値を、予測誤差値として、ビットスワップされた上記ターゲットデータ毎に検出し、当該予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートする
    ことを特徴とする請求項2に記載のデータ処理装置。
  5. 上記ターゲットデータに埋め込み可能なビット数に相当する上記第2のディジタルデータを読み出す読出し手段をさらに備え、
    上記埋め込みデータ出力手段は、上記読出し手段により読み出された上記第2のディジ タルデータに応じて、上記ソート手段によりソートされた、ビットスワップされた上記ターゲットデータの内の1つを、上記埋め込みデータとして出力する
    ことを特徴とする請求項2に記載のデータ処理装置。
  6. 補正コード出力手段は、上記予測誤差値が最小の、ビットスワップされた上記ターゲットデータと、上記ターゲットデータとの、上記ソート手段によりソートされた順位の差を上記補正コードとして出力する
    ことを特徴とする請求項1に記載のデータ処理装置。
  7. 上記補正コード出力手段により出力される補正コードを圧縮符号化する圧縮符号化手段をさらに備える
    ことを特徴とする請求項6に記載のデータ処理装置。
  8. 上記圧縮符号化手段は、上記補正コードをエントロピー符号化する
    ことを特徴とする請求項7に記載のデータ処理装置。
  9. 上記第1のディジタルデータは、画像データである
    ことを特徴とする請求項1に記載のデータ処理装置。
  10. 上記第1のディジタルデータは、音声データである
    ことを特徴とする請求項1に記載のデータ処理装置。
  11. 第1のディジタルデータに第2のディジタルデータを埋め込むデータ処理方法であって、
    上記第1のディジタルデータ内の、所定数ビット数からなるターゲットデータをビットスワップするビットスワップステップと、
    上記ターゲットデータ周辺の周辺データに対応する値から上記ターゲットデータに対応する値を予測する予測値を出力する予測ステップと、
    上記予測ステップにより出力される予測値と、ビットスワップされた上記ターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートするソートステップと、
    上記ソートステップによりソートされた、ビットスワップされた上記ターゲットデータに応じて、補正コードを出力する補正コード出力ステップと、
    上記第2のディジタルデータに応じて、上記ソートステップによりソートされた、ビットスワップされた上記ターゲットデータの内の1つを、上記第1のディジタルデータに上記第2のディジタルデータを埋め込んだ埋め込みデータとして出力する埋め込みデータ出力ステップと
    を備えることを特徴とするデータ処理方法。
  12. 第1のディジタルデータに第2のディジタルデータを埋め込むデータ処理プログラムが記録される記録媒体であって、
    上記第1のディジタルデータ内の、所定数ビット数からなるターゲットデータをビットスワップするビットスワップステップと、
    上記ターゲットデータ周辺の周辺データに対応する値から上記ターゲットデータに対応する値を予測する予測値を出力する予測ステップと、
    上記予測ステップにより出力される予測値と、ビットスワップされた上記ターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートするソートステップと、
    上記ソートステップによりソートされた、ビットスワップされた上記ターゲットデータに応じて、補正コードを出力する補正コード出力ステップと、
    上記第2のディジタルデータに応じて、上記ソートステップによりソートされた、ビットスワップされた上記ターゲットデータの内の1つを、上記第1のディジタルデータに上記第2のディジタルデータを埋め込んだ埋め込みデータとして出力する埋め込みデータ出力ステップと
    を含む処理を、コンピュータに実行させるデータ処理プログラムが記録されている
    ことを特徴とする記録媒体。
  13. 第1のディジタルデータに第2のディジタルデータを埋め込むデータ処 理装置であって、
    上記第1のディジタルデータが第1のコードとして変換された値に基づいて、0 / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられる上記コードである新コードに、上記第1のディジタルデータを変換するコード変換手段と、
    上記新コードに変換された第1のディジタルデータ内の、所定ビット数からなる上記ターゲットデータをビットスワップするビットスワップ手段と、
    上記ターゲットデータ周辺の新コードである周辺データに対応する値から上記ターゲットデータに対応する値を予測する予測値を出力する予測手段と、
    上記予測手段により出力される予測値と、ビットスワップされた新コードとしての上記ターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートするソート手段と、
    上記第2のディジタルデータに応じて、上記ソート手段によりソートされた、ビットスワップされた上記ターゲットデータの内の1つを、上記第1のディジタルデータに上記第2のディジタルデータを埋め込んだ埋め込みデータとして出力する埋め込みデータ出力手段と
    を備えることを特徴とするデータ処理装置。
  14. 第1のディジタルデータに第2のディジタルデータを埋め込むデータ処理方法であって、
    上記第1のディジタルデータが第1のコードとして変換された値に基づいて、0 / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられる上記コードである新コードに、上記第1のディジタルデータを変換するコード変換ステップと、
    上記新コードに変換された第1のディジタルデータ内の、所定ビット数からなる上記ターゲットデータをビットスワップするビットスワップステップと、
    上記ターゲットデータ周辺の新コードである周辺データに対応する値から上記ターゲットデータに対応する値を予測する予測値を出力する予測ステップと、
    上記予測ステップにより出力される予測値と、ビットスワップされた新コードとしての上記ターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートするソートステップと、
    上記第2のディジタルデータに応じて、上記ソートステップによりソートされた、ビットスワップされた上記ターゲットデータの内の1つを、上記第1のディジタルデータに上記第2のディジタルデータを埋め込んだ埋め込みデータとして出力する埋め込みデータ出力ステップと
    を備えることを特徴とするデータ処理方法。
  15. 第1のディジタルデータに第2のディジタルデータを埋め込むデータ処理プログラムが記録される記録媒体であって、
    上記第1のディジタルデータが第1のコードとして変換された値に基づいて、0 / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられる上記コードである新コードに、上記第1のディジタルデータを変換するコード変換ステップと、
    上記新コードに変換された第1のディジタルデータ内の、所定ビット数からなる上記ターゲットデータをビットスワップするビットスワップステップと、
    上記ターゲットデータ周辺の新コードである周辺データに対応する値から上記ターゲットデータに対応する値を予測する予測値を出力する予測ステップと、
    上記予測ステップにより出力される予測値と、ビットスワップされた新コードとしての上記ターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートするソートステップと、
    上記第2のディジタルデータに応じて、上記ソートステップによりソートされた、ビットスワップされた上記ターゲットデータの内の1つを、上記第1のディジタルデータに上 記第2のディジタルデータを埋め込んだ埋め込みデータとして出力する埋め込みデータ出力ステップと
    を含む処理を、コンピュータに実行させるデータ処理プログラムが記録されている
    ことを特徴とする記録媒体。
  16. 第1のディジタルデータに第2のディジタルデータが埋め込まれた埋め込みデータおよび補正コードから、上記第1のディジタルデータおよび上記第2のディジタルデータを復号する復号装置であって、
    上記埋め込みデータ内の、所定ビット数であるターゲットデータをビットスワップするビットスワップ手段と、
    上記ターゲットデータ周辺の既に復号されたデータである復号データに対応する値から上記ターゲットデータを復号することにより得られる復号データに対応する値を予測する予測値を出力する予測手段と、
    上記予測手段により出力される予測値と、上記ビットスワップ手段によりビットスワップされた上記ターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートするソート手段と、
    上記補正コードに応じて、上記ソート手段によりソートされた、ビットスワップされた上記ターゲットデータのうちの1つのコードを、上記ターゲットデータを復号することにより得られる第1のディジタルデータである復号データとして出力する復号データ出力手段と、
    上記ソート手段によりソートされた、ビットスワップされた上記ターゲットデータの順位に応じて、上記第2のディジタルデータを出力する第2のディジタルデータ出力手段と
    を備えることを特徴とする復号装置。
  17. 上記予測手段は、第1のコードである既に復号された上記ターゲットデータ周辺の復号データに対応する値をn進数(n>2である自然数)に変換した値から上記ターゲットデータより復号される復号データに対応する値を予測する予測値を出力し、
    上記ソート手段は、上記予測手段により出力される予測値と、上記ビットスワップ手段によりビットスワップされた第1のコードとしてのターゲットデータに対応する各値をn進数に変換した値との絶対値差分値を、予測誤差値として、ビットスワップされた上記ターゲットデータ毎に検出し、当該予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートする
    ことを特徴とする請求項16に記載の復号装置。
  18. 上記予測手段は、バイナリコードである既に復号された上記ターゲットデータ周辺の復号データに対応する値を10進数に変換した値から上記ターゲットデータより復号される復号データに対応する値を予測する予測値を出力し、
    上記ソート手段は、上記予測手段により出力される予測値と、上記ビットスワップ手段によりビットスワップされたバイナリコードとしての上記ターゲットデータに対応する各値を10進数に変換した値との絶対値差分値を、予測誤差値として、ビットスワップされた上記ターゲットデータ毎に検出し、当該予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートする
    ことを特徴とする請求項17に記載の復号装置。
  19. 上記予測手段は、0 / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する10進数の値同士の間隔が実質的に均一になるように、各コードに値が割り当てられる上記コードを表す新コードである既に復号された上記ターゲットデータ周辺の復号データに対応する値から上記ターゲットデータより復号される復号データに対応する値を予測する予測値を出力し、
    上記ソート手段は、上記予測手段より出力される予測値と、上記ビットスワップ手段によりビットスワップされた新コードとしてのターゲットデータに対応する各値との絶対値差分値を、予測誤差値として、ビットスワップされた上記ターゲットデータ毎に検出し、当該予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートする
    ことを特徴とする請求項17に記載の復号装置。
  20. 上記復号データ出力手段は、上記ソート手段によりソートされた、ビットスワップされた上記ターゲットデータのうちの、上記補正コードに対応する順位のビットスワップされた上記ターゲットデータを、上記ターゲットデータを復号することにより得られる第1のディジタルデータである復号データとして出力する
    ことを特徴とする請求項19に記載の復号装置。
  21. 上記復号データ出力手段により出力される上記新コードである復号データに対応する10進数の値に相当するバイナリコードを出力するコード変換手段をさらに備える
    ことを特徴とする請求項20に記載の復号装置。
  22. 補正コードは圧縮符号化されており、
    当該圧縮符号化されている補正コードを復号し補正コードを出力する復号手段をさらに備える
    ことを特徴とする請求項16に記載の復号装置。
  23. 補正コードはエントロピー符号化されており、
    上記復号手段は、当該エントロピー符号化されている補正コードを復号し補正コードを出力する
    ことを特徴とする請求項22に記載の復号装置。
  24. 上記第1のディジタルデータは、画像データである
    ことを特徴とする請求項16に記載の復号装置。
  25. 上記第1のディジタルデータは、音声データである
    ことを特徴とする請求項16に記載の復号装置。
  26. 第1のディジタルデータに第2のディジタルデータが埋め込まれた埋め込みデータおよび補正コードから、上記第1のディジタルデータおよび上記第2のディジタルデータを復号する復号方法であって、
    上記埋め込みデータ内の、所定ビット数であるターゲットデータをビットスワップするビットスワップステップと、
    上記ターゲットデータ周辺の既に復号されたデータである復号データに対応する値から上記ターゲットデータを復号することにより得られる復号データに対応する値を予測する予測値を出力する予測ステップと、
    上記予測ステップにより出力される予測値と、上記ビットスワップステップによりビットスワップされた上記ターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートするソートステップと、
    上記補正コードに応じて、上記ソートステップによりソートされた、ビットスワップされた上記ターゲットデータのうちの1つのコードを、上記ターゲットデータを復号することにより得られる第1のディジタルデータである復号データとして出力する復号データ出力ステップと、
    上記ソートステップによりソートされた、ビットスワップされた上記ターゲットデータの順位に応じて、上記第2のディジタルデータを出力する第2のディジタルデータ出力ステップと
    を備えることを特徴とする復号方法。
  27. 第1のディジタルデータに第2のディジタルデータが埋め込まれた埋め込みデータおよび補正コードから、上記第1のディジタルデータおよび上記第2のディジタルデータを復号する復号プログラムが記録される記録媒体であって、
    上記埋め込みデータ内の、所定ビット数であるターゲットデータをビットスワップするビットスワップステップと、
    上記ターゲットデータ周辺の既に復号されたデータである復号データに対応する値から上記ターゲットデータを復号することにより得られる復号データに対応する値を予測する予測値を出力する予測ステップと、
    上記予測ステップにより出力される予測値と、上記ビットスワップステップによりビットスワップされた上記ターゲットデータに対応する各値との予測誤差値に応じて、ビット スワップされた上記ターゲットデータをソートするソートステップと、
    上記補正コードに応じて、上記ソートステップによりソートされた、ビットスワップされた上記ターゲットデータのうちの1つのコードを、上記ターゲットデータを復号することにより得られる第1のディジタルデータである復号データとして出力する復号データ出力ステップと、
    上記ソートステップによりソートされた、ビットスワップされた上記ターゲットデータの順位に応じて、上記第2のディジタルデータを出力する第2のディジタルデータ出力ステップと
    を含む処理を、コンピュータに実行させる復号プログラムが記録されている
    ことを特徴とする記録媒体。
  28. 第1のディジタルデータに第2のディジタルデータが埋め込まれた埋め込みデータから、上記第1のディジタルデータおよび上記第2のディジタルデータを復号する復号装置であって、
    上記埋め込みデータ内の、所定ビット数であるターゲットデータをビットスワップするビットスワップ手段と、
    / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられる上記コードを表す新コードであり、上記ターゲットデータ周辺の既に復号されたデータである復号データに対応する値から上記ターゲットデータを復号することにより得られる復号データに対応する値を予測する予測値を出力する予測手段と、
    上記予測手段より出力される予測値と、上記ビットスワップ手段によりビットスワップされた新コードとしてのターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートするソート手段と、
    上記ソート手段によりソートされた、ビットスワップされた上記ターゲットデータの順位に応じて、上記第2のディジタルデータを出力する第2のディジタルデータ出力手段と、
    上記ソート手段によりソートされた、ビットスワップされた上記ターゲットデータの順位に応じて、上記ターゲットデータを復号することにより得られる復号データを出力する復号データ出力手段と、
    上記復号データ出力手段により出力される上記新コードである復号データに対応する元のコードを出力するコード変換手段と
    を備えることを特徴とする復号装置。
  29. 第1のディジタルデータに第2のディジタルデータが埋め込まれた埋め込みデータから、上記第1のディジタルデータおよび上記第2のディジタルデータを復号する復号方法であって、
    上記埋め込みデータ内の、所定ビット数であるターゲットデータをビットスワップするビットスワップステップと、
    / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられる上記コードを表す新コードであり、上記ターゲットデータ周辺の既に復号されたデータである復号データに対応する値から上記ターゲットデータを復号することにより得られる復号データに対応する値を予測する予測値を出力する予測ステップと、
    上記予測ステップより出力される予測値と、上記ビットスワップステップによりビットスワップされた新コードとしてのターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートするソートステップと、
    上記ソートステップによりソートされた、ビットスワップされた上記ターゲットデータの順位に応じて、上記第2のディジタルデータを出力する第2のディジタルデータ出力ステップと、
    上記ソートステップによりソートされた、ビットスワップされた上記ターゲットデータの順位に応じて、上記ターゲットデータを復号することにより得られる復号データを出力 する復号データ出力ステップと、
    上記復号データ出力ステップにより出力される上記新コードである復号データに対応する元のコードを出力するコード変換ステップと
    を備えることを特徴とする復号方法。
  30. 第1のディジタルデータに第2のディジタルデータが埋め込まれた埋め込みデータから、上記第1のディジタルデータおよび上記第2のディジタルデータを復号する復号プログラムが記録される記録媒体であって、
    上記埋め込みデータ内の、所定ビット数であるターゲットデータをビットスワップするビットスワップステップと、
    / 1の数が同一であるビット列がビットスワップされることにより生成されるコードに対応する値同士の間隔が実質的に均一になるように、各コードに値が割り当てられる上記コードを表す新コードであり、上記ターゲットデータ周辺の既に復号されたデータである復号データに対応する値から上記ターゲットデータを復号することにより得られる復号データに対応する値を予測する予測値を出力する予測ステップと、
    上記予測ステップより出力される予測値と、上記ビットスワップステップによりビットスワップされた新コードとしてのターゲットデータに対応する各値との予測誤差値に応じて、ビットスワップされた上記ターゲットデータをソートするソートステップと、
    上記ソートステップによりソートされた、ビットスワップされた上記ターゲットデータの順位に応じて、上記第2のディジタルデータを出力する第2のディジタルデータ出力ステップと、
    上記ソートステップによりソートされた、ビットスワップされた上記ターゲットデータの順位に応じて、上記ターゲットデータを復号することにより得られる復号データを出力する復号データ出力ステップと、
    上記復号データ出力ステップにより出力される上記新コードである復号データに対応する元のコードを出力するコード変換ステップと
    を含む処理を、コンピュータに実行させる復号プログラムが記録されている
    ことを特徴とする記録媒体。
JP2000264922A 2000-09-01 2000-09-01 データ処理装置およびデータ処理方法、復号装置および復号方法、並びに記録媒体 Expired - Fee Related JP4235870B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000264922A JP4235870B2 (ja) 2000-09-01 2000-09-01 データ処理装置およびデータ処理方法、復号装置および復号方法、並びに記録媒体
US09/944,758 US6831992B2 (en) 2000-09-01 2001-08-31 Data processing apparatus and data processing method, decoding apparatus and method thereof, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000264922A JP4235870B2 (ja) 2000-09-01 2000-09-01 データ処理装置およびデータ処理方法、復号装置および復号方法、並びに記録媒体

Publications (3)

Publication Number Publication Date
JP2002077585A JP2002077585A (ja) 2002-03-15
JP2002077585A5 JP2002077585A5 (ja) 2007-05-10
JP4235870B2 true JP4235870B2 (ja) 2009-03-11

Family

ID=18752263

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000264922A Expired - Fee Related JP4235870B2 (ja) 2000-09-01 2000-09-01 データ処理装置およびデータ処理方法、復号装置および復号方法、並びに記録媒体

Country Status (2)

Country Link
US (1) US6831992B2 (ja)
JP (1) JP4235870B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4779435B2 (ja) * 2005-05-17 2011-09-28 ソニー株式会社 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP4779434B2 (ja) * 2005-05-17 2011-09-28 ソニー株式会社 動画像変換装置、動画像復元装置、および方法、並びにコンピュータ・プログラム
US8489580B2 (en) 2010-10-21 2013-07-16 International Business Machines Corporation Query optimization
US9569485B2 (en) * 2010-11-19 2017-02-14 International Business Machines Corporation Optimizing database query

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128411A (en) * 1998-08-25 2000-10-03 Xerox Corporation Method for embedding one or more digital images within another digital image

Also Published As

Publication number Publication date
US6831992B2 (en) 2004-12-14
JP2002077585A (ja) 2002-03-15
US20020064296A1 (en) 2002-05-30

Similar Documents

Publication Publication Date Title
JP4214440B2 (ja) データ処理装置およびデータ処理方法、並びに記録媒体
JP4768728B2 (ja) 値のブロックをエンコードする方法および装置
JPH10257488A (ja) 画像符号化装置および画像復号化装置
JP4556087B2 (ja) データ処理装置およびデータ処理方法、並びにプログラムおよびプログラム記録媒体
KR20070000365A (ko) 화상 처리 장치, 화상 처리 방법, 및 프로그램
JP2006121718A (ja) 画像データ符号化方法及び装置
US7424163B1 (en) System and method for lossless image compression
JP4235870B2 (ja) データ処理装置およびデータ処理方法、復号装置および復号方法、並びに記録媒体
US20070092005A1 (en) Method and apparatus for encoding, method and apparatus for decoding, program, and storage medium
JP2000244922A (ja) 画像データ圧縮方法
JP4254003B2 (ja) 埋め込み装置および埋め込み方法、復号装置および復号方法、並びに記録媒体
WO1998030028A1 (en) Picture coding device, picture coding method, picture decoding device, picture decoding method, and recording medium
US10602147B2 (en) Efficient entropy coding group grouping methodology for transform mode
JP3844030B2 (ja) 画像信号符号化装置および画像信号符号化方法、画像信号復号装置および画像信号復号方法
US7292732B2 (en) Image compression/decompression apparatus and method
US8229236B2 (en) Method for progressive JPEG image decoding
US20090285497A1 (en) Image processing method and image processing apparatus using least significant bits
US20050249423A1 (en) Block decoding method and system capable of decoding and outputting data in a rotated direction
JPH04222171A (ja) 画像データのコード化及び復号化方法
JP3918191B2 (ja) 記憶装置、データ処理装置およびデータ処理方法、プログラムおよび記録媒体、並びにデータ処理システム
JP4154647B2 (ja) データ処理装置およびデータ処理方法、並びにプログラムおよび記録媒体
JP4093867B2 (ja) 画像符号化装置、画像符号化方法、画像符号化プログラム、画像符号化プログラムを記録したコンピュータ読取可能な記録媒体
JP4441851B2 (ja) 符号化装置および符号化方法、復号装置および復号方法、並びにプログラムおよび記録媒体
JP4507130B2 (ja) データ処理装置およびデータ処理方法、並びに記録媒体
JP2003230138A (ja) 符号化処理装置、復号処理装置、および方法、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070315

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081021

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: 20081120

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: 20081203

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131226

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