JP2014042311A - 符号化ビット・ストリームの修正 - Google Patents

符号化ビット・ストリームの修正 Download PDF

Info

Publication number
JP2014042311A
JP2014042311A JP2013208787A JP2013208787A JP2014042311A JP 2014042311 A JP2014042311 A JP 2014042311A JP 2013208787 A JP2013208787 A JP 2013208787A JP 2013208787 A JP2013208787 A JP 2013208787A JP 2014042311 A JP2014042311 A JP 2014042311A
Authority
JP
Japan
Prior art keywords
image
encoding
value
alternative
variable length
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.)
Granted
Application number
JP2013208787A
Other languages
English (en)
Other versions
JP5892704B2 (ja
Inventor
Adam Bloom Jeffrey
ブルーム,ジエフリー,アダム
Dekun Zou
ゾウ,デクン
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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
Priority claimed from PCT/US2007/023172 external-priority patent/WO2008118145A1/en
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2014042311A publication Critical patent/JP2014042311A/ja
Application granted granted Critical
Publication of JP5892704B2 publication Critical patent/JP5892704B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0028Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
    • G06T1/0035Output size adaptive watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23892Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0053Embedding of the watermark in the coding stream, possibly without decoding; Embedding of the watermark in the compressed domain

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

【課題】透かし入れデータを決定する、透かし入れを実行する、および透かし入りデータを処理するための方法を提供する。
【解決手段】方法は、CAVLCエントロピ符号化を使用したAVCビット・ストリームに透かし入れを行う。透かし入れデータは、前処理段階で決定して、後にビット・ストリームの透かし入れに使用するために記憶しておくことができる。1つの方法では、画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データにアクセスする(810)。この情報の符号化は、特定の値を有している。この方法では、この特定の情報とは異なり、従って実際の参照とは異なる参照を識別する代替情報の符号化となる代替値を決定する(830)。この代替値が、可変長符号化データの透かし入れに使用される。
【選択図】図8

Description

(関連出願の相互参照)
本願は、(1)2007年6月14日出願の、「Modifying a Coded Bitstream」と題する米国仮出願第60/934634号(整理番号PU070137)、および(2)2007年11月2日出願の、「Modifying a Coded Bitstream」と題するPCT出願第PCT/US2007/023172号のそれぞれの優先権を主張するものである。
本明細書に記載の少なくとも1つの実施態様は符号化に関する。
透かし入れでは、一般に、後に透かしを検出できるような方法でデータの一部分を修正する。透かしは、符号化データなど様々な種類のデータに入れることができる。しかし、符号化方式は進化しており、既存の符号化データ修正方式では、これらの進化した符号化方式に合った所望の透かし特性を与えることができないことがある。
一般的特徴によれば、画像の予測符号化に使用される実際の参照を識別する情報の符号化(encoding)を含む可変長符号化データにアクセスする。この情報の符号化は、特定の値を有している。この特定の値とは異なり、従って実際の参照とは異なる参照を識別する代替情報の符号化となる代替値を決定する。この代替値は、可変長符号化データの透かし入れに使用される。
別の一般的特徴によれば、エントロピ・デコーダは、画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データを復号するものである。この情報の符号化は、特定の値を有している。このエントロピ・デコーダに透かし生成器が結合され、この透かし生成器は、上記の特定の値とは異なり、従って実際の参照とは異なる参照を識別する代替情報の符号化となる代替値を決定するものである。この代替値は、可変長符号化データの透かし入れに使用される。
別の一般的特徴によれば、透かしデータは、画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データの透かし入れに使用される。この情報の符号化は、特定の値を有している。透かしデータは、上記の特定の値とは異なり、従って実際の参照とは異なる参照を識別する代替情報の符号化となる代替値を含む。この代替値は、可変長符号化データの透かし入れに使用される上記の特定の値の代入値である。
別の一般的特徴によれば、画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データにアクセスする。この情報の符号化は、特定の値を有している。上記の特定の値とは異なり、従って実際の参照とは異なる参照を識別する代替情報の符号化となる代替値にアクセスする。この代替値を、上記の特定の値の代入値として可変長符号化データに挿入して、画像の透かし入れを行う。
別の一般的特徴によれば、可変長符号化データは、画像の符号化についてのものである。可変長符号化データは、画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含む。この代替参照を識別する情報が、画像の透かしを提供する。
別の一般的特徴によれば、画像の符号化についての可変長符号化データを復号する。可変長符号化データは、画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含む。この代替参照を識別する情報が、画像の透かしを提供する。
別の一般的特徴によれば、ピクセル領域画像は、画像の予測符号化の1つまたは複数の構文要素の可変長符号化の透かしから生じる検出可能な特徴を含む。この可変長符号化は、画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含む。この代替参照を識別する情報が、画像の透かしを提供する。
別の一般的特徴によれば、画像の透かし入り版の予測符号化を可変長符号化する。この可変長符号化データは、画像の透かし入り版の符号化に使用される現在の参照を示す指標およびその結果得られる剰余を示す指標を含む。画像の透かし入り版は、透かしを提供する検出可能な特徴を有する。この検出可能な特徴は、(1)画像の以前の予測符号化の以前の可変長符号化を修正するステップと、(2)画像の以前の可変長符号化および以前の予測符号化を復号して、その検出可能な特徴が存在する画像の透かし入り版を生成するステップとによって生じ、上記の以前の予測符号化は、以前の参照に基づいており、且つ上記の以前の参照を識別する情報を含んでおり、上記の修正するステップは、代替参照を示し、且つ画像の検出可能な特徴を提供するように情報を歪ませるステップを含む。
別の一般的特徴によれば、可変長符号化データ中の、情報の可変長符号化が位置する位置を識別する情報にアクセスする。この情報は、画像の予測符号化に関連する少なくとも2つの参照のうちの一方を識別する。この可変長符号化データ中の位置で、情報の符号化にアクセスする。この情報の符号化に基づいて、上記の少なくとも2つの参照のうちの何れが識別されたかを判定する。この少なくとも2つの参照のうちの何れが識別されたかを判定した結果に基づいて、ペイロード情報を決定する。
別の一般的特徴によれば、画像の予測符号化の1つまたは複数の構文要素の可変長符号化の透かしから得られる検出可能な特徴を含むピクセル領域画像にアクセスする。この可変長符号化は、画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含む。この代替参照を識別する情報が、画像の透かしを提供する。上記の検出可能な特徴があるピクセル領域画像中の位置を示す検出メタデータにアクセスする。この位置のピクセル領域画像を解析して、上記の検出可能な特徴の値を決定する。上記の検出可能な特徴の比較値を示す追加の検出メタデータにアクセスする。この検出可能な特徴について決定した値を、比較値と比較する。この比較の結果に基づいて、ペイロード情報を決定する。
添付の図面および以下の説明において、1つまたは複数の実施態様の詳細について述べる。ある特定の方法で記載されている実施態様でも、様々な方法で構成または実施することができることは明らかである。例えば、ある実施態様を、方法として実行することもできるし、一組の動作を実行するように構成された装置として実施することもできるし、一組の動作を実行するための命令を記憶した装置として実施することもできるし、または信号として実施することもできる。その他の特徴および特色は、以下の詳細な説明を、添付の図面および特許請求の範囲と合わせて考慮すれば明らかになるであろう。
エントロピ符号化ストリームに透かし入れを行う実施態様を示すブロック図である。 符号化ビット・ストリームの修正に使用される動作の順序を示すブロック図である。 符号化ビット・ストリームの修正に使用される動作の別の順序を示すブロック図である。 4つの予測モードを示す図である。 図4aおよび図4bで構成される、1つの特定の標準に関するマクロブロック・タイプと、それらのマクロブロック・タイプによって決まる追加情報とを示す表である。 1つの特定の標準で提供される指数ゴロム符号化を示す表である。 代替のイントラ予測モードの検出値を決定する実施態様を示す流れ図である。 透かし入れメタデータを決定する実施態様を示す流れ図である。 参照指標の代替値を決定する実施態様を示す流れ図である。 置換値を挿入する実施態様を示す流れ図である。 参照指標の代替値を挿入する実施態様を示す流れ図である。 透かし入りデータからペイロードを識別する実施態様を示す流れ図である。 透かし入り画像データからペイロードを識別する実施態様を示す流れ図である。 コンテンツに透かし入れを行い、ペイロードを検出する実施態様を示すブロック図である。
いくつかのマルチメディア透かし技術分野では、透かし埋込み装置によってエントロピ符号化ビット・ストリームを直接修正して、エントロピ符号化方式および土台のデータ・フォーマット(すなわち圧縮標準)の両方に準拠したままの透かし入りビット・ストリームを得なければならない。また、透かし入れプロセスで知覚できるアーチファクトがマルチメディア・データに加えられないこと、および埋め込まれたペイロードが圧縮解除および加工を行った後でも回復可能であることも、しばしば必要とされる。多くの適用分野では、透かし埋込みプロセスで、通常は解析または前処理段階で予め計算しておく何らかの埋込みメタデータを入手することができる。本明細書に記載する少なくとも1つの実施態様は、この埋込みプロセス、埋込みプロセスで使用するこのような埋込みメタデータの生成、および埋込みプロセスで使用する埋込みペイロードの回復に関する。
少なくとも1つの実施態様では、エントロピ復号およびエントロピ再符号化を必要とせずにエントロピ符号化ビット・ストリームを直接修正することによって、H.264/MPEG−4 AVCビット・ストリームに透かしを入れる。この修正により、透かしが形成される。このような実施態様の1つでは、エントロピ符号化は、H.264/MPEG−4 AVC標準(「AVC」)で広く使用される、コンテキスト適応型可変長符号化(CAVLC)と呼ばれる符号化方式である。
AVCは、ISO/IEC MPEG−4 Part 10 AVC標準/ITU−T H.264勧告とも呼ばれる。CAVLCは、AVC標準の拡張として使用することもできる。第1の拡張としては、H.264/MPEG−4 AVCスケーラブル・ビデオ符号化拡張(「SVC拡張」)と呼ばれる、スケーラブル・ビデオ符号化(SVC)拡張(Annex G)がある。第2の拡張としては、H.264/MPEG−4 AVC MVC拡張(「MVC拡張」)と呼ばれる、マルチビュー・ビデオ符号化(MVC)拡張(Annex H)がある。
AVCを行う少なくとも1つの実施態様では、マクロブロックを予測符号化し、次いで、この予測符号化の構文要素をCAVLCを用いてエントロピ符号化する。イントラ予測では、インター予測の場合とは異なり、別のピクチャに頼らずにマクロブロックを予測符号化する。すなわち、参照ピクチャを使用しない。その代わりに、それ自体、または同じピクチャ内の別のマクロブロックを基準にしてマクロブロックを予測符号化する(「ピクチャ」は、例えば「フレーム」や「フィールド」でもよい)。イントラ予測されたマクロブロックの構文要素の1つは、イントラ予測モードなどの情報を示すマクロブロック・タイプである。少なくとも1つの実施態様では、特定の16×16マクロブロックに対して別のイントラ予測モードが示されるように、マクロブロックのマクロブロック・タイプ(「古い」マクロブロック・タイプ)を新しいマクロブロックに変更する。ただし、古いマクロブロック・タイプで示されるその他の全ての情報は未変更のまま残す。さらに、新しいマクロブロック・タイプ(構文要素)は、古いマクロブロック・タイプの符号化に使用したのと同じビット数を用いてCAVLC符号化する。
上記のマクロブロック・タイプの変更を行って、データに透かしを埋め込むことができる。さらに、置換マクロブロック・タイプおよび対応する置換CAVLCビットの決定はオフラインで行うことができ、後にコンテンツ(例えばビデオ・データ)にアクセスするときに、エントロピ復号を必要としない効率的な実時間の方法でCAVLCビットの置換を行うことができる。ただし、その他の実施態様では、エントロピ復号を実行した後に、置換情報を決定するプロセス中、またはその後の段階で、この置換の全体または一部を実行する。
多くの適用分野において、圧縮ビデオ・ストリームの透かし入れへの市場の要求が高まっている。初期の手法では、ストリームを圧縮解除し、ピクセル領域に透かし入れを行い、その後にこうして修正されたピクセル領域データを再圧縮していた。オリジナルの圧縮ストリームから得た情報を使用して再圧縮を簡略化するのは、初期の時代の進歩の1つである。これが、符号化ビット・ストリームのエントロピ復号および構文解析を適用することによってストリームを部分的に復号する技術によって改良された。エントロピ復号の後で、透かし入れアルゴリズムが、係数や動きベクトルなどの構文要素に直接作用する。透かしデータを表すようにストリームを修正した後で、エントロピ符号化を適用する。発明者らは、本開示において様々な実施態様について述べるが、そのうちの少なくとも一部では、エントロピ復号ステップおよびエントロピ再符号化ステップを行わずに、エントロピ符号化ビット・ストリームに対して直接透かし入れを適用する。
本明細書に記載の実施態様の少なくとも一部に従ってCAVLCストリームに透かしを入れるには、CAVLCストリーム内の符号化構文要素を変更する必要がある。一般に、符号化された構文要素を変更すると、それによって符号化されたビット長が変化することになる。少なくとも1つの実施態様では、符号化ビット長が一定に保たれる場合を扱うが、その他の実施態様では、符号化ビット長が変化してもよい。
本開示の少なくとも一部では、ストリーム透かし埋込み装置のメタデータを生成する方法に焦点をあてる。少なくとも1つの実施態様では、イントラ予測モードを変化させ、ビット・ストリームの様々な修正に対してロバストである。その他の実施態様では、残りの計数のCAVLC符号化を修正してもよい。イントラ予測モードを修正することに1つの利点は、CAVLCビット・ストリーム内の比較的少数のビット(例えば以下に述べる実施態様では7ビット)を変化させることによって、所与のブロックに対して大きな検出可能な(ただし知覚不可能な)変化を与えることができることである。このような変化は、符号化ビット・ストリームの変化に対してロバストであるように設計することもできる。例えば、符号化ビット・ストリームを復号して、その後に異なるパラメータ(例えば個々のブロックのブロック・サイズやモードなど)を用いて再符号化する場合には、ビット・ストリームは、場合によっては完全に異なるものになるが、復号されたピクセル値を解析することによって、依然として最初の変化は検出されると予想できる。
様々な実施態様の理解を助けるために、CAVLCおよび透かし入れについて簡単に説明する。以下の説明ではしばしば詳細を述べるが、この説明は完全なものではなく、説明の中で述べる全ての細部が本明細書で述べる全ての実施態様に必ずしも当てはまるわけではない。さらに、以下の説明は、当業者には既知の内容を多く含む。ただし、以下の説明では、例として具体的に挙げていないこともあるが、新規の内容、または新規の内容の構成を必ず含んでいる。以下の説明は、適用範囲を制限するものではない。以下の説明は、1つまたは複数の具体的な状況、あるいは可能性として考えられる多くの状況を与えることによって、読者が実施態様を理解するのを助けるものである。
以下、CAVLCについて説明する。多くのビデオ圧縮方式の最後のステップは、圧縮データの無損失エントロピ符号化である。AVCでは、CAVLCはエントロピ符号化に良く用いられる。CAVLCは周知の符号化技術であり、可変長符号化と呼ばれる種類の符号化技術の1つである。一般に、例えば固定長符号化とは異なり、可変長符号化では、発生率の高い、または発生率が高くなると予想される構文要素値ほど、短い長さの符号語が割り当てられる。CAVLCでは、一般に、構文要素のタイプごとに、符号語と構文要素値の間の割当てを変える。可変長符号化は、エントロピ符号化の系統に属する種類の符号化である。CABAC(コンテキスト適応型2値算術符号化)などの算術符号化は、エントロピ符号化の系統に属する別の種類の符号化である。
次に、透かし入れの技術分野の概略と、この技術分野の中で本明細書に記述する1つまたは複数の実施態様が当てはまる具体的な領域について簡単に説明する。透かし入れの当業者なら、以下に述べる情報の大部分に精通しているはずである。
本明細書で使用する「電子透かし入れ(digital watermarking:デジタル・ウォーターマーキング)」という用語は、一般には、以下の条件を満たすようにして、何らかのペイロード・データによって芸術作品(通常は画像、動画シーケンス、または音声クリップ)を修正する方法を指す。
1.作品の修正版とオリジナル版の差異を知覚することができない。
2.後に作品の修正版からペイロード・データを回復することができる。
「ロバスト電子透かし入れ」と呼ばれるサブクラスの電子透かし入れ方法では、さらに第3の条件が加わる。
3.作品の修正版の歪みが加わった状態からペイロード・データを回復することができる。ここで、歪みは、修正済み作品が受けた可能性のある共通の信号処理および信号操作(例えば圧縮、ノイズ低減フィルタリング、色強調)によって加わる可能性もあるし、あるいは悪意のある人間がペイロード・データを回復不能にしようと試みることによって意図的に加えられる可能性もある。
ロバスト電子透かし入れには多くの応用分野がある。例えば以下のような分野がある(ただしこれらに限定されない)。
1.所有者識別。透かしのペイロードによって、作品の所有者を識別する。
2.コピー・コントロール。透かしのペイロードが、作品に関連する著作権を示す。視聴、複製、記録、印刷、配布など任意の動作を行う装置は、ペイロード・データを回復し、当該著作権によって許可されたものだけに動作を制限することができる。
3.トランザクション・トラッキング。透かしのペイロードによって、作品のコピーが合法的に配布された受取手を識別する。これは、正当な受取手が作品を二次配布する権利を受けていないときに有用となる可能性がある。不正な作品が発見された場合に、オリジナル・コンテンツの所有者は、不正コピーからペイロードを回復し、この不正使用の責任を負う受取手を識別することができる。
当業者なら、ロバスト電子透かし入れの応用分野はこの他にも数多く存在することを理解するであろう。
透かし入れは、「ベースバンド」で、または圧縮済み作品に対して実行することができる。ベースバンド画像または動画シーケンスは、例えば、ピクセル領域表現である。ベースバンド音声作品は、例えば、音声サンプルである。適用分野によっては、圧縮済み作品の透かし入れが必要になる。この場合には、その出力も圧縮済み作品である。圧縮の最後のステップは、通常は、エントロピ符号化であり、圧縮解除の最初のステップは、通常は、エントロピ復号である。エントロピ符号化/復号プロセスは、通常は無損失であるが、圧縮プロセスは、通常は、損失のあるプロセスも含む。圧縮済み作品に透かし入れを行う1つの手法では、最初にエントロピ復号を適用し、次いで圧縮解除を適用してベースバンド表現を得る。ベースバンド表現には透かしが入っており、その結果得られる透かし入り作品は、圧縮され、エントロピ符号化される。この手法は、時間がかかることがあり、再圧縮により知覚品質が劣化することもある。
知覚品質を改善し、所要の計算を減少させるために、動きベクトル、モード決定、品質因子およびその他の情報など、オリジナルの圧縮済み作品から得られる情報を圧縮解除の際に保存し、再圧縮の際に使用することができる。これは、再圧縮の際にいかなる動き推定も行う必要がなく(従って計算および/または時間が節約される)、オリジナルの量子化因子およびモード決定を使用することで知覚品質を改善できることを意味する。
「圧縮領域透かし入れ」と呼ばれる種類の透かし入れアルゴリズムが登場している。これらの方法は、透かし入れを行う前に、前述の「完全復号」ではなく「部分復号」を実行するものとして説明することができる。ここで、圧縮済み作品は、最初にエントロピ復号されて、当該作品の全ての構文要素が露出した状態になっている。その中には、係数(例えばブロックDCT(離散コサイン変換)やウェーブレット変換など)、動きベクトル、ピクチャ・タイプ、予測モード、およびその他の多くの構文要素が含まれる。この透かし入れアルゴリズムでは、次いで、これらの構文要素のいくつかを直接修正する。最後に、修正された構文要素をエントロピ符号化して、修正された圧縮済み作品を得る。
本明細書に記載の少なくとも1つの実施態様は、いわば「エントロピ符号化ストリーム透かし入れ」とでも言うような、透かし入れアルゴリズムの新しい種類に属する。これらの方法では、図1に示すように、エントロピ符号化ストリームを直接修正する。
図1を参照すると、システム100は、透かし入れを実行する。システム100は、プロセスと考えることもできる。オリジナルの圧縮ストリームは、ストリーム修正102によってペイロードに従って直接修正され、その結果得られる透かし入り圧縮ストリーム103が出力される。ペイロードとしては、例えば、コンテンツ(例えばDVD)プレーヤの製造番号、プレーヤのモデル名、またはその他の後に識別のために使用することが望ましい情報を使用することができる。ペイロードは、符号化しなくてもよいし、データ符号化部120に示すように符号化してもよい。ストリーム修正プロセスでは、(1)行われる全ての変更の位置、および(2)行われる実際の変更が通知される。ストリーム修正プロセスでは、この情報が、前処理段階104中に生成することができるメタデータによって通知される。
メタデータ105は、オリジナルの圧縮ストリームに対してエントロピ復号106(および複数の符号化層を使用する場合は考えられる追加の復号)を行い、透かし108を生成することによって生成される。メタデータは、変更(すなわち透かし生成のための変更)が行われるストリーム内の位置を識別し、様々なペイロード・シンボルに応じてどのようにストリームが変化するかを示す。圧縮済み作品の復号された構文要素を解析することによってメタデータを生成する、図1の実施態様について説明する。このような透かし入れ方法の1つの問題は、メタデータの生成である。以下では、どのようにすればこれを行うことができるかを、1つまたは複数の実施態様について説明する。
ここまでの段落および図1は、前処理段階104の存在の可能性を示唆している。3つの重要な時点が存在する状況に注目すると有用である。第1の時点は、どこで/いつ、圧縮ビット・ストリームを解析して何らかのメタデータを生成するかである。第2の時点は、どこで/いつ、第1の時点で生成されたメタデータの一部または全てをペイロードと呼ばれる特定のシンボル・シーケンスと共に使用して、ビット・ストリームを修正するかである。第3の時点は、どこで/いつ、第1の時点で生成されたメタデータの一部(または全て)を使用して(あるいは第1の時点で生成されたメタデータを使用せずに)、修正済みビット・ストリーム、修正済みビット・ストリームを圧縮解除することによって得られた動画シーケンス、または修正済みビット・ストリームを圧縮解除することによって得られた動画シーケンスに歪みが加わった状態を解析するかである。第3の時点におけるこの解析の目的は、ペイロードを回復することである。
状況を理解するために、第1の時点は、作品の配布前、第2の時点は、各コピーのペイロードが当該コピーを一意的に識別する複製中、第3の時点は、作品の不正コピーが発見された後で、ペイロードを回復してどの配布コピーが不正コピーのソースであるかが明らかになった時点、と考える。この例は単なる例示であり、いかなる意味でも本発明の適用分野を制限するものではない。さらに、適用分野ごとに特有の要件がある可能性もあるが、第1の時点(前処理)と第2の時点(埋込み)が異なる時点でなければならないという技術的要件はない。実際に、3つの「時点(time)」全てが同じ時点であってもよい。
さらなる例として、再度図1を参照する。前処理段階は、例えば最終的に配信する映画のオーサリング中に実行することができる。1つのシナリオでは、許容可能な置換値が決定された符号化要素の位置を識別するプロセスを実行する。このプロセスの結果(例えばこれらの符号化要素の位置や許容可能な置換値)は、符号化映画に含まれるメタデータに記憶される。この例では、2つの場合を考慮する。1つの場合では、メタデータの各エントリが、ビット・ストリーム中の位置および1つの許容可能な置換値を識別する。第2の場合では、各メタデータ・エントリにおいて2つの許容可能な置換値が識別される。
ストリーム修正は、映画の再生中に実行することができ、その中で、例えば、プレーヤ(例えばソフトウェア・プレーヤ、セット・トップ・ボックス・プレーヤ、DVDプレーヤなど)の製造番号がペイロードとして使用される。ペイロードは、例えば、識別された符号化要素を置換するかどうかを判定するために使用される。例えば、単一の許容可能な代替値がメタデータ中に与えられる場合には、ペイロード・シーケンス中に「1」があれば、オリジナルの値が当該代替値で置換されることを示し、「0」があればオリジナルの値をそのまま保持することを示すようにすることができる。別の例としては、識別された全ての位置が置換され、(符号化シーケンス中の各位置ごとに)提供される2つの置換値の何れを使用するかをペイロードによって示すようにすることができる。例えば、「0」は第1の置換を使用することを示し、「1」は第2の置換を使用することを示すようにすることができる。「代替(alternative)」および「置換(replacement)」という用語は、本明細書では、しばしば同義として使用されることに留意されたい。さらに、「代替」(または「置換」)は、状況によって様々なものを指すことがある。例えば、「代替」は、構文要素の代替値、または構文要素の値を表す符号化ビットの代替値であることもある。
ペイロードの回復は、ストリーム修正が行われた地理的位置とは無関係な地理的位置で実行することができる。すなわち、ストリーム修正をオハイオ州トレドで行い、ペイロード回復をカリフォルニア州バーバンクで行うこともできる。重要なことは、修正済みストリームに基づくデータを含むドキュメントを入手できることである。例えば、修正済みストリームは、電子的にコピーして書込み可能なDVDに記録してもよいし、あるいは修正済みストリームを提示した後に再記録および符号化して、その後、書込み可能なDVDに記録してもよい。この書込み可能なDVDを取得した場合には、この書込み可能なDVDを解析して、ペイロードを回復することができる。ペイロードの回復には、検出メタデータ(図1に示す)を援用することができる。検出メタデータは、例えば、透かし入れ情報が埋め込まれたデータ・ストリーム内の位置、および許容可能な置換値などを示すことができる。あるいは、検出メタデータは、例えば、透かし情報によってピクセル領域データ中に検出可能な変化を生み出そうとしているピクチャ(例えばフレームまたはフィールド)内の位置を示すこともできる。この後者のシナリオでは、検出メタデータは、以下でさらに説明するように、1つまたは複数の予想される変化も示すことができる。検出メタデータは、透かし入れ(埋込み)メタデータの生成と同時に生成してもよいし、別の段階で生成してもよい。
「透かし(watermark)」は、例えば、データ・ストリーム中のオリジナル・データに取って代わる埋込みデータを指すことができる。あるいは、「透かし」は、データ・ストリームに置換データを埋め込んだ結果として、ベースバンド画像内に表示される復号されたビデオ・ピクチャ上に生み出される効果を指す場合もある。従って、「透かし」は、埋め込まれるデータ、または得られるベースバンド・データ(例えば画像または音声クリップ)上に生み出される効果の1つまたは複数を指すことができる。例えば、生み出される効果としては、検出は可能だが視聴者には知覚不可能な、マクロブロックの輝度の変化などが挙げられる。
次に、AVC符号化ビット・ストリームへのCAVLCによるデータ埋込みについて説明する。圧縮ストリームに透かし入れを行う1つの方法は、1つまたは複数の構文要素の値を変更することである。一般的要件としては、変更後の圧縮ストリームが依然として有効なストリームである(特定の圧縮標準に準拠したままである)必要がある。圧縮技術が可変長符号エントロピ符号化技術を使用しているときには、この要件は満たされる。CAVLCを用いたAVCはこれに当てはまる。変更後(すなわち修正済み)の構文要素は、CAVLCを用いて符号化され、これらの修正済みCAVLCビットが、ビット・ストリーム中のCAVLC符号化されたオリジナルの値に取って代わる。これらのビットは、未修正の構文要素のCAVLC符号化と同じ長さ(同じビット数)であってもよいし、異なる長さであってもよい。ただし、構文要素のCAVLC符号化はその前後の構文要素の符号化に依存しないので、長さが同じであってもそうでなくても、その他のCAVLCビットの確度に影響はない。
記載する様々な実施態様では、CAVLC符号化ビット・ストリームを修正するステップは、大きく分けて2ステップあるが、これらのステップは、どの順序で実行してもよい。これらのステップの説明では、「ステップ1」および「ステップ2」と表現するが、このステップ番号は、これらのステップを何らかの特定のまたは具体的な順序で実行することを意味したり要求したりするものではない。図2aおよび図2bは、この2つのステップをそれぞれ示すブロック図200および210である。
CAVLC符号化AVCビット・ストリームの場合には、ステップ1で、対象要素からオリジナルの符号化ブロックへのマッピング(202)を構築する。1つの実用的な実施態様では、これは、ビット・ストリームを復号し、ビット・ストリームのどのビットがどの構文要素を生成するかを追跡することによって行われる。例えば、圧縮ビット・ストリームにCAVLCデコーダを適用して、構文要素を明らかにすることができる。
ステップ2では、対象要素の1つまたは複数の許容可能な代替値を検索する(204)。許容可能な代替値を検索する1つの方法は、可能性のある全ての代替値を検査して、その何れが許容可能であるかを判定することである。可能性のある代替構文値をそれぞれCAVLC符号化して、代替ビットを得る。一般に、可能性のある全ての代替構文値が、「許容代替値」である。ただし、様々な実施態様では、1つまたは複数の追加基準を有する。
1つの基準は、CAVLC符号化長である。CAVLCは可変長符号であるので、代替構文値によっては、CAVLC符号化の長さを変化させることになる。これはいくつかの実施態様では許容可能であるが、実施態様によっては、透かし入れの前後でCAVLC符号化長を変化させないという要件が課される。その他の基準は、以下でさらに述べるように、例えば忠実性および検出可能性に関するものである。
これら2つのステップ202および204の2つの異なる順序を、図2aおよび図2bに示す。図2bでは、ステップ1(202)のマッピングおよび割当てを必要とするのが、ステップ2(204)で少なくとも1つの代替構文値が発見された対象要素だけであることに留意されたい。
AVCビデオ圧縮標準では、多くのビデオ圧縮標準と同様に、以前に符号化された1つまたは複数のピクセル・ブロック内の値からピクセル・ブロック内の各値を予測することによって圧縮を行う。次いで、しばしば剰余と呼ばれる、予測値と実際の値の差を、変換符号化し、量子化する。予測に使用される1つまたは複数のブロック、すなわち参照ブロックは、同じピクチャのものでもよいし、異なるピクチャのものでもよい。同じピクチャから参照ブロックをとったブロックは、イントラ符号化ブロック、または単純にイントラ・ブロックと呼ばれる。この場合は、予測はしばしばイントラ予測と呼ばれる。
輝度サンプルの場合は、16×16のマクロブロックの全体をまとめてイントラ予測してもよいし、8×8サブブロックまたは4×4サブブロックに分割してもよい。次いで、各サブブロックを、別個にイントラ予測する。16×16輝度イントラ予測では、この標準では4つのモードが規定される。8×8サブブロックおよび4×4サブブロックの場合は、各ブロック・タイプごとに9個のモードが規定される。エンコーダは、通常は、予測されるブロックと実際のピクセル値の差が最小となる予測モードを、各ブロックごとに選択する。
説明を簡単にするために、ここでは16×16イントラ予測についてのみ説明する。16×16イントラ予測では、図3に示すように、以下の4つのモードが規定される。
1.モード0(垂直)310。上側のサンプル(H)からの外挿。このモードでは、ブロックの上縁に接する隣接ピクセルを、当該ブロックの対応する列の全てのピクセルの予測として使用する。すなわち、16×16ブロック内の所与の列について、上側の垂直方向に隣接するブロック内の接しているピクセルを、当該列全体の予測として使用する。
2.モード1(水平)320。左側のサンプル(V)からの外挿。このモードでは、ブロックの左縁に接する隣接ピクセルを、当該ブロックの対応する行の全てのピクセルの予測として使用する。すなわち、16×16ブロック内の所与の行について、左側の水平方向に隣接するブロック内の接しているピクセルを、当該行全体の予測として使用する。
3.モード2(DC)330。上側サンプルと左側サンプルの平均(H+V)。このモードでは、ブロックの上縁に接する隣接ピクセルと当該ブロックの左縁に接する隣接ピクセルを平均して、平均値を求める。その後、この平均値を、当該ブロックの全てのピクセルの予測として使用する。すなわち、左側の水平方向に隣接するブロックおよび上側の垂直方向に隣接するブロックの全ての接しているピクセルの平均を求める。その後、これらのピクセルの平均を、当該ブロックの全てのピクセルの予測として使用する。この場合、当該ブロック内の各ピクセルが、同じ予測を有することになる。
4.モード3(平面)340。上側のサンプルHおよび左側のサンプルVに線形平面(linear plane)を適用する。このモードでは、平面を形成する。この平面は、左側の水平方向に隣接するブロックの全ての接しているピクセル、および上側の垂直方向に隣接するブロックの全ての接しているピクセルに基づく。この平面が、当該ブロック内の各ピクセルの予測を与える。
8×8および4×4のイントラ予測のモードは、本明細書で述べる16×16イントラ予測のモードの修正と同様にして修正することができることに留意されたい。さらに、3つのブロック・サイズは全て、このモードの修正と同様の修正に適用できる追加の構文を使用する。
ブロックを復号するためには、現在のブロックのイントラ予測モードによって指定される以前に復号された隣接ブロックの利用可能なピクセルを用いて、予測ブロックを生成する。次いで、復号された剰余のピクセル値を、予測ブロックに付加する。その結果、最終的な復号ピクセル・ブロックが得られる。
B=P+R (3−1)
ここで、Bはピクセル値の最終的な復号ブロック、Pは予測ブロック、Rは復号された剰余のブロックである。
この実施態様において透かし入れにイントラ予測を用いることの基本的な考え方は、剰余データを修正せずに、イントラ予測モードを変更することである。すなわち、剰余Rは変更せずに残すが、それは新しい予測ブロックに対する正確な剰余ではなくなっている可能性がある。予測モードを変更した結果、予測ブロックは異なる予測ブロックとなる(これをPとする)。その結果、最終的な復号ピクセル・ブロック(Bとする)は、それまでの最終的な復号ピクセル・ブロック(B)とは異なる。すなわち、B=P+Rであり、BはBと同じものではない。
復号ピクセル値のオリジナルのブロック(B)と透かし入りのピクセル値のブロック(B)の間の差、すなわちΔBは、オリジナルの予測ピクセル・ブロック(P)と透かし入りのピクセル値の予測ブロック(P)の間の差、すなわちΔPと同じとなる。
ΔB=ΔP、ただしΔB=B−B、且つΔP=P−P (3−2)
また、添え字「」は、それぞれの透かし入り版であることを示す。
マクロブロックのイントラ予測モードを変更することにより、当該ブロックのピクセルはΔBだけ変化することになる。この変化を透かし入れに適するように起こすためには、少なくともこの実施態様では、以下の3つの要件(R1〜R3)が満たされることが必要である。
R1 この変化が、再構築された画像から検出可能であること。
R2 この変化が、再構築された画像において知覚不可能であること。
R3 検出が、何らかの既定の信号歪みの組合せに対してロバストであること。
そのために、考えられる各変更の適合性を評価し、これらの要件を満たす変更のみを選択する。
第2の要件は、多くの解釈が可能である。再構築された画像が、高い視覚的品質を有する、またはオリジナルの透かしなし画像と区別できないという要件である可能性もあれば、あるいは変化の知覚可能性が適用分野によって決まる何らかのしきい値未満であるという要件である可能性もある。透かしの忠実度を判定する方法は数多く存在する。本開示の目的のためには、任意の適当な忠実度尺度を適用して、提案された変化が当該適用分野の忠実度要件に合うか否か、またはどの程度まであっているかを判定することができる。
忠実度要件(R2)の評価は、様々な方法で行うことができる。所与の対象要素に対して、そのオリジナルの値を各代替値で置換することの知覚的影響を評価または予測する必要がある。この評価または予測では、圧縮ストリームの全ての構文要素を完全に入手することができ、これらを使用して、基礎となる画像のマスキング効果、およびこれらの修正に対する人間の視聴覚系(映像の場合には、人間の視覚系が関連する)の感度を予測することができることを想起されたい。このような予測の詳細は、知覚モデリングの当業者には周知である。知覚モデルは、圧縮に関する文献および透かし入れに関する文献の双方で広く引用されている。
知覚可能性の圧縮領域計算予測を使用することに加えて、ストリームをベースバンド動画シーケンスに完全に圧縮解除することもできる。例えば、解析を前処理として実行している場合には、これが当てはまる。この場合には、計算予測によって、実際のピクセル・データを検査することができる。これにより、知覚可能性の予測をさらに正確にすることができる。さらに、オリジナルのストリームを圧縮解除して参照動画シーケンスを得、次いで構文要素値を代替値で置換し、その結果得られたストリームを圧縮解除して第2の動画シーケンスを得ることによって、オリジナルの構文要素値の代替値による置換に対する知覚可能性を評価することもできる可能性がある。多くの周知の技術を使用して、この2つの動画シーケンスの間の差の知覚可能性を評価することができる。
最後に、主観的評価を用いることもできる。人間が実際に見て、参照動画シーケンスと修正済み動画シーケンスの間の差の知覚可能性を評価することができる。人間の主観によって、所与の適用分野で修正が要件R2をどの程度満たしているかを評価することができる。
これらは、可能な構文要素の変化のうちの何れが要件R2を満たすかを判定するために使用することができる方法の一部に過ぎない。
次に、第1の要件R1を一般的な見地から考慮する。修正済みストリームを後に圧縮解除して動画シーケンスにするときに何らかの測定可能な変化を引き起こすために、対象構文要素に対して代替構文値を使用することを想定する。一般に、「直接」および「間接」の2種類の測定可能な変化を引き起こすことができる。
「直接変化」を用いる場合には、構文要素は、動画シーケンスの測定可能なアーチファクトに直接対応する。例えば、輝度ブロックのDC係数を修正すると、対応する圧縮解除ブロックの平均輝度に測定可能な変化が直接現れることになる。それに対して、「間接変化」を用いる場合には、画像シーケンスで測定されるアーチファクトは、ストリームの修正と間接的な関係しかない。例えば、動きベクトルを修正すると、誤ったブロックが予測として使用されることになり、従って、誤ったピクセル・データが対応する圧縮解除ブロックに生じることになる。どの動きベクトルが使用されたかを判定することは困難である可能性があるが、異なる動きベクトルを使用すれば、その他の測定可能なアーチファクトに影響がある可能性がある。動きベクトルを使用して、さらに高い、または低い平均輝度を有する再構築ブロックを生じることもできる。
要件R1の測定可能な変化は、位置を識別し、ペイロードを回復するためにどんな変化が加えられたかを調べるのに役立つこともある。これは、海賊版コピーが得られたときに特に有用である。加えられた変化を「調べる」ことにより、海賊版コピーのソースを得ることができる。
一実施態様では、どの動きベクトルの構文要素が少なくとも2つの代替構文値を有するかを判定して、それらの代替構文値のうちの1つを使用するとより平均輝度の高い再構築ブロックが得られ、別の代替構文値を使用するとより平均輝度の低い再構築ブロックが得られるようにする。これら2つの代替値のそれぞれのCAVLC符号化に対応するビットの符号化ブロックと、CAVLCストリームのビット位置とを、メタデータとして埋込み装置に送信する。対応するペイロード・ビットの値に基づいて、埋込み装置は、オリジナルのビット・ブロックを、代替ビット・ブロックの一方または他方に対応するビット・ブロックで置換する。
例えば、埋込み装置は、ペイロード・ビットが「0」である場合には、対応するブロックの平均輝度を減少させる構文値に関連するビット・ブロックを選別または選択し、ペイロード・ビットが「1」である場合には、対応するブロックの平均輝度を増大させる構文値に関連するビット・ブロックを選別する。少なくとも1つの対象要素が、埋め込まれる各ペイロード・ビットの全ての要件を満たしている必要があることは明らかである。
メタデータは、輝度の変化が引き起こされることになる圧縮解除動画シーケンス中のフレーム番号およびブロック番号を含むこともできる。さらにロバストにするには、前処理段階で、メタデータ中の当該ブロックのオリジナルの平均輝度を記憶しておいてもよい。この情報を回復時(例えば復号時)に使用して、修正済みブロックを識別し、その平均輝度を、メタデータに記憶されているオリジナルの値と比較することができる。与えた例では、平均輝度がオリジナルの値より高い場合は、対応するペイロード・ビットが「1」であることを意味し、平均輝度がオリジナルの値より低い場合は、対応するペイロード・ビットが「0」であることを意味する。
この実施態様では、第1および第3の要件(変化がロバストに検出可能である)は、復号画像中で確実に測定することができ、マクロブロックのイントラ予測モードを変更することによって修正することができる良好な特徴を確立する必要がある。このような特徴の1つが、マクロブロックの平均輝度である。イントラ予測モードが変更されるたびに、復号ピクセル値に変化ΔBが生じる。このΔBは、正または負の平均値(ブロックに関する平均)を有することができ、この平均の大きさは、モードごとに変化する可能性がある。変化(例えばΔBの平均値)の符号を使用して、データを符号化する(埋め込む)ことができる。また、変化の大きさは、予想される変化のロバスト性の指標として使用することができ、大きさが大きくなるほど、符号化ビット・ストリームのさらなる修正に対するロバスト性が高いことを意味する。さらに洗練されたロバスト性の尺度を得ることもでき、それも使用することができる。
R1およびR3を満たすために使用することができる第2の特徴は、再構築されたピクセル・ブロックの分散である。DCモード(モード2)は、16×16のピクセル値の全てが、参照ピクセルの平均という単一の値で予測されるという点で、それ以外の3つのイントラ予測モードと異なる。AVCエンコーダは、ブロックの性質が滑らかであるときには、このモードを使用することが予想される。
モード2から残りの3つのモードの何れかにモードを変更した場合には、その結果得られるブロック(B)の分散が、オリジナルのブロック「B」に対して増大すると予想することができる。一方、エンコーダがモード0、1または3を選択した場合には、このブロックは、最初の変動が大きくなる(モード2を最初に選択した状況との比較)ことが予想される。イントラ予測モードをモード0、1または3からモード2に変更することにより、このブロックBの分散は、一般に、「B」の分散に比べて減少する。この場合も、イントラ予測モードの変更に関連するΔBは、再構築ブロックBの分散の増加または減少を生じる可能性があり、この分散の変化の大きさは、最初および最後のモードによって変化する可能性がある。分散の変化の符号を使用して、データを符号化する(埋め込む)ことができる。さらに、分散の変化の大きさは、この変化の予想ロバスト性の指標として使用することもでき、大きさが大きくなるほど、符号化ビット・ストリームのさらなる修正に対するロバスト性が高いことを意味する。さらに洗練されたロバスト性の尺度を得ることもでき、それも使用することができる。
次に、マクロブロック・タイプを介してイントラ予測モードを変更する実施態様について述べる。AVCでは、マクロブロックの16×16イントラ予測モードは、mbタイプ・フィールドで指定される。mbタイプ・フィールドは、符号化ブロック・パターンなど、このブロックに関するその他のパラメータも指定する。
図4を参照すると、表400は、Iスライスに対するマクロブロック・タイプ(「mbタイプ」)のリストであり、mbタイプ値410のリストをそれぞれの意味と共に与えるものである。この表400は、標準から直接とったものであり、本実施態様では、符号化ブロック・パターン430および440または予測ブロック・サイズ445を変化させることなくイントラ予測モード420を変更するmbタイプ値410を見つけるために使用するものである。
イントラ予測モード420を変更するときにイントラ予測モード420以外の構文を保存するために、mbタイプ410の変化は、イントラ予測モード420のみが異なる値に制限される。例えば、オリジナルのmbタイプが11である(行450参照)ということは、イントラ予測モード420は2(DC)であり、クロマ430およびルマ(luma)440の符号化ブロック・パターンはそれぞれ2および0であることを示している。このmbタイプ410を、9、10または12に変更して、符号化ブロック・パターン430および440または予測ブロック・サイズ445を変化させることなく、イントラ予測モード420を変更することができる。
mbタイプは、ビット・ストリーム中でエントロピ符号化される。CAVLCエントロピ符号化を使用する場合には、mbタイプは、指数ゴロム符号で符号化される。指数ゴロム符号は、可変長符号化方式である。オーサリング済みDVDディスクなどいくつかの特殊な適用分野では、置換(例えばVLC)データは、オリジナルの(VLC)データと全く同じ長さを有していなければならない。この場合、オリジナルのmbタイプを置換するのに、同数の(例えばVLC)ビットを生じるmbタイプしか使用することができない。
図5を参照すると、表500は指数ゴロム符号化表であり、ビット・ストリングの形態(左側の列)510と、それに対応する指数ゴロム符号の値の範囲(右側の列)520とを示すリストである。表500は、標準から直接とったものである。この表500から、上記の例を使用すると、mbタイプ9では7ビットが必要であることが分かる。このことは、最初に、mbタイプ9が、値「7〜14」を有する右側の列520の第4のエントリ530に与えられる範囲520で生じることに注目することによって求めることができる。次いで、左側の列510の対応する(第4の)エントリ530が、0001xの7ビットであることに注目する。xには、例えば、順に値を割り当てることができ、値7に対しては000を、値14に対しては111を割り当てることができる。
従って、CAVLCストリングの長さが透かし入れの前後で不変である本実施態様では、mbタイプは、同様に7ビットを必要とする別のmbタイプでしか置換することはできない。この場合には、mbタイプ9、10、および12は、全て同じ範囲(7〜14)に入り、全て7ビットを必要とする。従って、mbタイプ9、10および12は、全て可能な置換mbタイプの候補である。このようにして、15のVLCビット長を、図4のマクロブロック・タイプと組み合わせて、どのmbタイプをオリジナルのmbタイプの置換に使用することができるかを判定することができる。上記の方法では、以下の規則が実施される。
1.代替のmbタイプは、イントラ予測モードのみが異なっていること。
2.代替のmbタイプに対応するビット・ストリングのサイズは、オリジナルのmbタイプに対応するビット・ストリングのサイズと同じであること(ビット長が一定でなければならない場合)。
以前の記述において、潜在的な変更を、再構築画像の忠実度およびその検出可能性のロバスト性への影響に関して評価しなければならないと示唆した。ここでは、これら2つの影響を結合して単一のコスト値にする方法、およびそのコスト値を使用して、どの変更を適用するかを選択することについて述べる。
再度図1を参照すると、前処理の入力は、AVC符号化ビット・ストリームである。出力は、透かし入れメタデータである。ストリームの処理の第1のステップの1つは、そのイントラ予測モードが潜在的に変更可能である各イントラ符号化ブロックを識別することである。これらのイントラ符号化ブロックのそれぞれについて、ビット長の要件を満たし(適用分野でビット長が一定であることが要求される場合)、且つ対応する代替mbタイプがイントラ予測モードのみ異なっているという上記の第1の規則を満たす全ての代替イントラ予測モードを識別する。特定の検出尺度(例えば上述した輝度平均やブロックの分散など)を想定して、追加ステップにおいて、オリジナルの検出値と、全ての代替検出値をまとめる。「検出値」とは、符号化によって生じる検出尺度の値(数値)である。例えば、あるブロックの輝度平均の値が挙げられる。代替検出値は、各代替イントラ予測モードを使用することによって生じるはずの値である。
図6を参照すると、プロセス600は、平均輝度を検出尺度として使用したときの検出値を決定する実施例を示すものである。所与のブロックに対して、1つまたは複数の検出値を決定することができる。例えば、所与のブロックに対して複数の代替値がある場合には、各代替値に対して検出値を決定することができる。通常の実施態様では、これらの決定された検出値の間で最適化を行う。この最適化は、例えば、各ブロックごとに最良の代替値を選択し、次いでこれらの最良の代替値の中から上位10個を選択するものであってもよい。この例では、最良の検出値を有する10個のブロックを選択することになる。ここで、「最良」は、例えば選択した任意の尺度によって決定される。別の実施態様では、以下にさらに述べるように、所与のブロックに対して、代替値対を考慮し、各ブロックごとに最良の対を選択する。
プロセス600は、イントラ予測符号化ブロックの平均輝度を計算することを含む(610)。これはオリジナルの検出値であり、平均輝度は、数式3−1に関連して上述したように予測と復号された剰余の合計から計算することができる。
プロセス600は、次に、各代替イントラ予測モードごとにイントラ予測符号化ブロックの平均輝度を計算することを含む(620)。動作620では、予測に代替モードを使用する。平均輝度は、例えば、既存の剰余データを用いる予測を用いて計算することもできるし、または既存の剰余データを用いない予測を用いて計算することもできる。
プロセス600は、フレーム番号(さらに一般的にはピクチャ番号)、ブロック位置および全ての平均輝度を記憶する(630)。これらの平均輝度には、オリジナルのイントラ予測モードから得られた平均輝度(動作610)および代替の1つまたは複数のイントラ予測モードから得られた1つまたは複数の平均輝度(動作620)が含まれる。
プロセス600は、次のイントラ予測符号化ブロックに進み(640)、動作610〜630を繰り返す。プロセス600は、所与のピクチャの全てのイントラ予測符号化ブロックについて実行される。もちろん、その他の実施態様では、このように網羅的である必要はない。例えば、イントラ予測符号化ブロックは、イントラ符号化ピクチャ(例えばIフレーム)のブロックであってもよいし、そのブロックがイントラ符号化されたものであればインター符号化ピクチャ(例えばPフレーム)のブロックであってもよい。
プロセス600で収集された情報を用いて、ある実施態様では、透かし入れを行うのにどの位置およびどの代替置換値を使用するかを直接決定することができる。様々な決定プロセスを使用することができる。以下に、このようなプロセスの実施態様について述べる。以下で述べる実施態様では、例えば、プロセス600で収集した情報を使用して、例えば上記に挙げた要件R1、R2およびR3を満たす位置および代替値を選択する。
透かし入れアルゴリズムにとって重要な特性は、通常は、ロバスト性(上記のR3)および忠実度(上記のR2)である。忠実度は、知覚不能性とも呼ばれる。ロバスト性および忠実度の2つの特性は、両立しないことも多い。発明者らは、これら2つの間のバランスを指定する解析的方法を導入する。
は、忠実度コストを表すものとする。Cは、透かしの視認性が高いほど値が大きくなるように定義される。忠実度コストが非常に低くなる変更を行うことが好ましい。Cを測定する方法は数多くあり、ユーザは、特定の適用分野に最も適した方法/尺度を選択すればよい。本実施態様は、その選択には無関係である。
は、ロバスト性コストを表すものとする。Cは、ロバスト性を低下させる変更ほど高いロバスト性コストを有するように定義される。ロバスト性が低いとは、例えば、変更が検出不可能になりやすいことを意味する。例えば、ピクチャが復号され、ピクセル・データがフィルタリングされた場合に、一部の変更が弱まり、場合によっては検出不可能になることがある。ここでも、ロバスト性コストが低くなる変更を行うようにする。
各代替変更ごとに、当該変更を行うことに伴う忠実度コストおよびロバスト性コストの両方を計算する。次いで、これら2つのコストを組み合わせて、当該変更を行うための全体コストを得る。この全体コストは、以下のように計算される。
C=αC+βC
ここで、α+β=1と制限すると有用であることが多い。その場合には、
C=αC+(1−α)C
と書くことができる。0から1の範囲に制限されるパラメータαは、忠実度とロバスト性の間のトレードオフを制御するために使用される。αの値が大きくなるほど、忠実度に重点が置かれ、αの値が小さくなるほど、ロバスト性に重点が置かれる。所与のαについて、各代替予測モードのコストCを計算することができる。Cがしきい値を超える代替予測モードは、廃棄することができる。
知覚不能性の要件である上記のR2を満たすために、ある実施態様では、例えばCのしきい値をさらに使用することができる。例えば、一実施態様では、代替予測モードのCの値を、しきい値と比較する。Cの値がしきい値より大きい場合には、当該代替予測モードは、オリジナルの予測モードの置換候補として受容されない。
上記のコスト公式を使用する1つの特定の実施態様では、16×16マクロブロックを使用する。16×16イントラ予測マクロブロック中には、3つの利用可能な代替イントラ予測モードと、オリジナルのモードとがある。この例では、符号化ブロック・パターンまたは(一定ビット長が要求される場合には)符号化ビット長を変化させることなくモードを任意のモードに変更することができるので、異なるイントラ予測モードの値全てが有効な代替値であると仮定する。図4〜図5を再度参照すると、この仮定が常に満たされるとは限らないことが分かるが、この仮定は、ここでの説明を分かりやすく簡潔にするのには有用である。さらに、検出尺度はブロックの平均輝度であると仮定する。
データ・ビットを埋め込むためには、2つの予測モードを選択することができる。第1のモードは「1」を表すために使用され、第2のモードは「0」を表すために使用される。平均輝度をより低くする予測モードを、ビット「0」を表すために使用し、平均輝度をより高くする予測モードを、ビット「1」を表すために使用する。この場合には、{P=(モード0、モード1)、P=(モード0、モード2)、P=(モード0、モード3)、P=(モード1、モード2)、P=(モード1、モード3)、P=(モード2、モード3)}という、6通りの対の組合せが考えられる。(これらの組合せの一部は、予測モードの一部が有効な代替モードでない場合には利用することができないことに留意されたい。)この場合には、それぞれの対の組合せの選択に関連する忠実度コストCおよびロバスト性コストCを計算する必要がある。その後、これらのコストを使用して、それぞれを適用分野の要件と比較すればよい。それぞれの対の組合せに対して、CおよびCを以下のように評価する。
Bは、オリジナルのピクセル・ブロックを表す。ΔBおよびΔBは、それぞれビット「0」またはビット「1」が埋め込まれた場合の、透かし入りブロックとオリジナル・ブロックの間のピクセルの差を表す。オリジナルのイントラ予測モードを使用して「0」または「1」のビットを表す場合には、対応するΔBは単純に全てゼロとなる。このような場合には、忠実度コストは、選択したもう一方のモードのみによって決まる。利用可能な対がK個存在すると仮定すると、対kの忠実度コストは、次のように得ることができる。
FPk=F(B,ΔB,ΔB) (4−1)
ここで、関数F(・)は、上述のように任意の忠実度尺度を含み(例えばワトソン・モデル)、kは、1からKの範囲の指標である。通常は、この忠実度関数は、ΔBおよびΔBを独立して評価して、それぞれの忠実度コスト値を得、その2つの値のうちの「悪い方」の忠実度を表す大きい方の値、または2つの値の合計を戻す。忠実度尺度は、部分的に、または完全に、ユーザの評価に基づく主観的尺度であってもよい。
およびLは、それぞれビット「0」またはビット「1」が埋め込まれた場合の、ブロックの輝度(本実施態様では単一の値)を表す。BlkSzは、イントラ予測ブロック・サイズを表す。ロバスト性コストは、L、LおよびBlkSzの関数として測定することができる。所与の輝度(または輝度変化)に対して、ブロック・サイズが大きいほど、高いロバスト性に対応することができる。対kのロバスト性コストは、次のように得ることができる。
RPk=G(L,L,BlkSz) (4−2)
ここで、関数G(・)は、上述のように任意のロバスト性尺度である(例えば、分散の変化の大きさまたは平均輝度変化)。この場合も、通常のロバスト性尺度は、各変化のロバスト性を独立して評価し、2つのコストのうちの大きい方、または2つのコストの合計を戻すものである。
最後に、この対の最終的な透かし入れのコストは、以下のようになる。
=αCFPk+βCRPk (4−3)
各対に関連するコストを計算したら、コストが最小となる対を当該ブロック用に選択し、相当するコストを、ブロック変更コストCに割り当てる。
C=min(C)、ただしk=1…K (4−4)
各ブロックの透かし入れコストを確立したら、ブロック選択プロセスで、ペイロード要件に基づいて透かし入れコストが最小のブロックを単純に選択する。例えば、10ビットのペイロード・ビットが存在する場合には、透かし入れコストが最小となる10個のブロックを選択すればよい。この例の10ビットのペイロード・ビットは、例えば、1つまたは複数のペイロード・シンボルを符号化してロバスト性を高めることによって生成することができる。別の実施態様では、ペイロード・シンボル/情報を符号化してロバスト性を高めることはせず、単純に2値形式のペイロード情報をペイロード・ビットとして表す。
再度図1の実施態様を参照すると、透かし入れ埋込みメタデータ105は、ビット・ストリーム内で各修正が起こる位置、およびペイロード・ビットが「0」である場合または「1」である場合に使用される値を識別するビット・オフセットを含む。従って、代替の変更を追跡しているときには、現在のmbタイプを記述するVLC符号が見つかる入力AVCストリーム中のビット位置を追跡している。また、各代替変更を表すために使用される特定のビット・ストリング(図5の表)も追跡する。従って、(おそらく全体コストを最小限に抑える方針に基づく)選択後に、システムは、埋込みメタデータ105を書き込むことができる。このファイルの各エントリごとに、1つのビット・オフセットと、可能な2つのペイロード・ビット「0」および「1」のそれぞれに対して1つずつ、2つのビット・ストリング(例えばVLCビット・ストリング)が存在する。
さらに、前処理段階で、検出メタデータ(やはり図1に示す)を書き込む。これは、各変更のフレーム番号(より一般的にはピクチャ番号)およびブロック位置、ならびにそれがビット「0」および「1」を表す場合には透かし入りブロックの予想輝度(またはその他の検出尺度)を含む。また、実施態様によっては、復号前のストリーム中の透かし入れ情報の存在の検出を可能にする検出メタデータ中の埋込みメタデータを含むこともできることに留意されたい。
上述のように、検出は、ピクセル・レベルで行う代わりに、またはピクセル・レベルで行うことに加えて、ビット・ストリーム・レベルで行うことができる。ビット・ストリームを解析することにより、どのペイロード・ビットが指定のビット・オフセットで埋め込まれているかを判定することができる。ただし、上述のように、例えば復号とその後の再符号化によってビット・ストリームが既に処理されている場合には、その結果得られる(符号化)ビット・ストリームは、オリジナルの(符号化)ビット・ストリームとは完全に異なるものである可能性もある。例えば、再符号化において、(上記で指摘したように)異なるブロック・サイズまたはモードを使用することもある。このような場合には、ビット・ストリームから透かしを検出することが不可能である可能性もあるが、透かしのロバスト性が十分であれば、(新しいビット・ストリームの復号後に)ピクセルから透かしを検出することは可能である。
図7を参照すると、プロセス700は、コスト手法を用いて16×16イントラ予測符号化マクロブロックの透かし入れメタデータ(埋込みおよび検出メタデータ)を決定する実施態様を与えるものである。プロセス700は、プロセス600の基本的な特徴を備える。すなわち、マクロブロックの透かし入れメタデータを決定するプロセス700は、これらのマクロブロックの検出値を決定することを含む。
プロセス700は、例えば、ピクチャ内の所与のマクロブロック・セットに対して、またはピクチャ内の全てのマクロブロックに対して、あるいはピクチャ・シーケンス内の全てのマクロブロックに対して実行することができる。以下のプロセス700の説明では、プロセス700をピクチャ内の全てのマクロブロックに対して実行する実施態様を想定している。
プロセス700は、ピクチャ内の16×16マクロブロックをループし(710)、16×16イントラ予測モード(例えば図4参照)を使用する各16×16マクロブロックに対して一組の動作セット(720〜750)を実行する。この動作セットは、動作720〜750を含む。
16×16イントラ予測モードを使用する各マクロブロックに対して、可能な代替イントラ予測モードがあれば、これを決定する(720)。一実施態様では、代替イントラ予測モードは、符号化ブロック・パターン(430および440)ならびに予測ブロック・サイズ(445)が一定であり、マクロブロック・タイプ(410)の符号化ビット長が一定である(図5参照)という要件を満たしていなければならない。
可能な代替イントラ予測モードまたは可能な代替イントラ予測モード・グループのそれぞれについて、全体コストを決定する(730)。一実施態様では、全体コストを決定するために、上述の一連の数式を用いて忠実度コストおよびロバスト性コストを計算する。モード・グループは、例えば、上述の一対のモード、またはその他の何らかのモードの組合せとすることができる。
最良の可能な代替イントラ予測モードまたはモード・グループを決定する(740)。一実施態様では、全体コストが最小となる対を選択する上述の数式4−4などの最小化関数を用いて最良のものを決定する。実施態様によって異なる関数を用いて最良の可能な代替イントラ予測モードを決定することができ、さらに、複数の「最良」の可能な代替イントラ予測モードを決定してもよい。例えば、上述の実施態様では、「最良」の可能な代替イントラ予測モードは対である。この対が含む代替イントラ予測モードは、1つであっても2つであってもよい。プロセス700の典型的な実施態様では、可能な代替イントラ予測モードが存在しない場合には、「最良」のモードが存在しない。
埋込みメタデータおよび検出メタデータを、最良の可能な代替イントラ予測モードまたはモード・グループに対して記憶する(750)。一実施態様では、埋込みメタデータは、ストリーム中のビット・オフセット、および1つまたは複数の符号化された代替マクロブロック・タイプを含み、この1つまたは複数の代替マクロブロック・タイプは、1つまたは複数の最良の代替イントラ予測モードに対応する。一実施態様では、検出メタデータは、ピクチャ番号(またはフレーム番号)、マクロブロック位置、ならびにオリジナルおよび代替の検出値またはその他の何からの参照検出値を含む。このような実施態様では、検出値は、全体コストを計算する動作730の間に計算することができる。例えば、検出値は、ロバスト性コストを計算するプロセス中に決定することもできる。
様々な実施態様では、メタデータを記憶する前または記憶した後で、メタデータを減少させる、より一般的にはフィルタリングする。1つのこのような実施態様では、ペイロード・ビットが100しかないので、各ブロックの最良の代替モード(またはモード・グループ)をランクづけし、上位100個のみを保持および記憶する。第2の実施態様では、ビット・ストリーム中の任意の2つの変更の間に存在しなければならない未変更ビットの最小数を指定する。第2の実施態様におけるこの基準は、例えば、最良の代替モードが隣接する2つのブロックで使用されないようにすることができる。第3の実施態様では、エントロピ符号化ビット・ストリーム中の各特定の変更のサイズ(ビット数で表される)を指定する。第3の実施態様におけるこの基準は、例えば、埋込みメタデータのエントリのサイズを指示することができる。もちろん、各特定の変更は、置換される全てのビットの値を実際に変更する必要はない。さらに別の実施態様では、所与のブロックに対して、メタデータを、最良の代替モードが要件R1、R2およびR3も満たしている場合に、その最良の代替モード(またはモード・グループ)についてのみ記憶する。さらに、実施態様によっては、上記およびその他の基準を組み合わせることもできる。
一実施態様では、埋込みメタデータは、オリジナルの符号化ビット・ブロックが見つかる圧縮ビット・ストリーム内の位置と、一方が対応するペイロード・ビットが「0」である場合に置換ブロックとして使用され、もう一方が対応するペイロード・ビットが「1」である場合に置換ブロックとして使用される2つのビット・ブロックとを含む。一実施態様では、これらのブロックのうち一方がオリジナルのビット・ブロックであり、もう一方が代替ビット・ブロックである。この場合には、変更可能な構文要素のリストは、許容可能な代替値が1つしかない構文要素を含むことができる。別の実施態様では、2つのブロックは、両方とも、異なる構文値に対応する代替のビット・ブロックである。この場合には、変更可能な構文要素のリストは、許容可能な代替値が少なくとも2つ存在する構文要素しか含むことができない。
一実施態様では、検出メタデータは、埋込みメタデータを含む。この情報を用いて、透かし入り符号化ビット・ストリームから直接、ペイロードを回復することができる。
一実施態様では、検出メタデータは、さらに、あるいは別法として、ビット・ストリーム修正が検出可能になる圧縮解除動画シーケンス中の位置を含む。これは、フレームまたはピクチャの番号およびブロック番号、マクロブロック番号、ピクセル位置、あるいはその他の回復に必要な任意のロケータとして指定することができる。検出メタデータは、ペイロード・ビット「0」および「1」に関連する検出値またはその他の何らかの参照検出値を示す指標も含むことができる。
また、検出メタデータは、変更が行われていない場合に測定されるはずの検出尺度の値を含むこともできる。換言すれば、これは、検出尺度のオリジナルの値を含むことができる。前述の例では、検出尺度は特定のブロックの平均輝度であるので、検出データは、当該ブロックのオリジナルの平均輝度を含むことができる。オリジナルの値を含むことにより、検出プロセスは、検出値が透かし入れの結果として増大したか減少したかを確認することができる。一実施態様では、メタデータの決定は、前処理中に実行される。
明るさまたはコントラストの大域的または局所的変更に対する透かし入れ技術のロバスト性を高めるために、透かし入れプロセスで修正されないと予想されるブロックについて、検出データを保存することもできる。例えば、検出データは、透かしによって変化しないブロックのオリジナルの平均輝度を含むことができる。検出器は、その後これらを参照として使用して、画像全体、または少なくとも当該画像の当該参照の領域の部分の輝度が変化したかどうかを判定することができる。参照ブロックの測定輝度が、検出データに記録された輝度と一致しない場合には、ペイロードを回復する前に補償を行うことができる。例えば、平均輝度尺度の補償を、記憶した全ての検出値に付加することもできる。
図8を参照すると、プロセス800は、参照に基づいて埋込みメタデータを決定する一般的な実施態様を与えるものである。従って、プロセス800は、機能面においてプロセス700とある程度の類似点を有する。
プロセス800は、参照指標を含む可変長符号化データにアクセスすることを含む(810)。すなわち、可変長符号化データは、画像を予測符号化するために使用される実際の参照を識別する情報の符号化(参照指標)を含む。実際の参照を識別する情報の符号化である参照指標は、特定の値を有する。1つまたは複数の前述の例では、参照指標は、対応するイントラ予測モードを介してマクロブロックの予測符号化に使用される参照を識別するマクロブロック・タイプ・フィールドの値の符号化である。
プロセス800は、可変長符号化データ中の参照指標の位置を決定することを含む(820)。この位置は、例えば、埋込みメタデータの作成に使用される。
プロセス800は、参照指標の代替値を決定することも含む(830)。代替値は、上記の特定の値とは異なる。代替値は、実際の参照とは異なる別の参照を識別する代替情報の符号化である。例えば、プロセス700の全体または一部を、動作830を実行するのに使用することができる。1つまたは複数の上述の例では、代替値は、マクロブロック・タイプ・フィールドの異なる値の符号化である。
プロセス800は、例えば代替値を特定の値の代入値(透かし)として指定する、代替値の透かしとしての有効性を評価する、または埋込みメタデータを作成するなど、様々な追加の動作を含むこともできる。
例えばプロセス700またはプロセス800を用いて一組の可能な透かし置換値を作成した後で、実施態様によっては、変更すべきマクロブロックのサブセットを選択することもできる。この選択は、通常は、適用分野のペイロード要件、およびペイロードに適用される任意のデータ符号化に基づいて行われる。この選択では、通常、各変更のコスト(例えば前述の忠実度コストおよびロバスト性コスト)が情報として与えられる。通常は、この選択では、コスト変化が小さい方が好まれる。一実施態様では、各マクロブロックの最良の可能な代替値に対する全体コストに応じて、マクロブロックをランクづけする(730および740)。(最良の可能な代替値に対する)全体コストが最低であるマクロブロックが、ペイロード・データによる透かし入れに選択される。
図9を参照すると、例えば透かしを挿入するなど、置換値を挿入する実施態様を記述するプロセス900が示してある。プロセス900は、ペイロードにアクセスすることを含む(910)。アクセスされるペイロードは、ビットまたはその他のシンボルで表すことができる。通常は、ペイロードはビットで表され、またはビットに変換される。さらに、ペイロードは、符号化されていてもよい。
プロセス900は、置換位置および置換値を決定することを含む(920)。動作920は、例えば、上述のようにプロセス700とそれに続くランクづけプロセスとを用いて実行することができる。動作910および920は、何れの順序で実行してもよい。ただし、一実施態様では、動作910を先に実行し、ペイロード・ビット数を決定し、その後に動作920において、例えば全てのペイロード・ビットがマクロブロックに割り当てられるまで上位にランクされるマクロブロックのみを選択することによって、必要な位置だけを決定する。動作920は、例えば図7に関連して説明した要件など、その他の様々な実施態様要件の影響を受ける可能性がある。
少なくとも1つの実施態様では、動作920の全体または一部を、前処理段階中に実行する。例えば、前処理段階中に、埋込みメタデータを含む表を準備することができる。その後、動作920において、この表にアクセスすることによって、置換値および置換位置を決定することができる。
プロセス900は、さらに、置換値を置換位置に挿入して(930)、例えば透かしを提供することも含む。置換値の挿入では、既存の符号化データを置換値で置換する。次いで、修正済みデータを、記憶または伝送することができる。これらの置換動作では、通常は符号化ペイロードが情報として与えられる。
図10を参照すると、参照に基づいて代入値を挿入する一般的な実施態様を記述するプロセス1000が示してある。従って、プロセス1000は、機能面においてプロセス900とある程度の類似点がある。
プロセス1000は、参照指標を含む可変長符号化データにアクセスすることを含む(1010)。すなわち、可変長符号化データは、画像を予測符号化するために使用される実際の参照を識別する情報の符号化(参照指標)を含む。実際の参照を識別する情報の符号化である参照指標は、特定の値を有する。1つまたは複数の前述の例では、参照指標は、対応するイントラ予測モードを介してマクロブロックの予測符号化に使用される参照を識別するマクロブロック・タイプ・フィールドの値の符号化である。
プロセス1000は、参照指標の代替値にアクセスすることを含む(1020)。代替値は、上記の特定の値とは異なる。代替値は、実際の参照とは異なる別の参照を識別する代替情報の符号化である。例えば、代替値は、例えば記憶装置からアクセスしてもよいし、あるいは実時間で計算してもよい。実施態様によっては、例えば、参照指標の位置で索引づけされた表から代替値にアクセスすることができる。
プロセス1000は、参照指標の代入値として代替値を挿入することを含む(1030)。代替値を可変長符号化データに挿入して、画像に透かし入れを行う。
プロセス1000は、例えば修正済み可変長符号化データを記憶または伝送するなど、様々な追加の動作を含むことができる。
1020でアクセスされる、符号化要素の位置および可能な置換値を識別するデータの全体または一部は、記憶装置に記憶することもできるし、電子的に送信することもできる。一実施態様では、DVD、ハードディスクまたはその他の記憶装置などの装置に、これらの位置および値を記憶する。この装置は、情報を記憶するプロセッサ可読媒体を含む。記憶された情報は、符号化データ・セットの一部分に関する置換値を識別する。別の実施態様では、この装置のプロセッサ可読媒体に記憶される情報を含むようにフォーマット化された信号を提供する。
さらに別の実施態様は、例えばプロセス900またはプロセス1000の結果など、様々なプロセスの結果に対応する。例えば、一実施態様は、修正済み符号化データを含むDVD、ハードディスクまたはその他の記憶装置などの装置であり、別の実施態様は、これらの修正済み符号化データを含むようにフォーマット化された信号である。さらに詳細には、一実施態様は、修正済みの部分を含む符号化データを記憶するプロセッサ可読媒体を含む装置である。別の実施態様は、この装置のプロセッサ可読媒体に記憶される符号化データを含むようにフォーマット化された信号である。
上記の説明は、対象構文要素を解析し、符号化ビット・ストリーム中のビット・ブロックを代替ビット・ブロックで置換することによって代入することができる許容可能な代替値が存在する場合にその全てを識別する方法について述べたものである。AVC符号化シーケンス中の全ての構文要素を検査することによって、許容可能な代替値が少なくとも1つは存在する構文要素のリストを構築することができる。これは、「変更可能な構文要素」のリストである。変更可能な各構文要素ごとに、許容可能な代替値のリストを構築することができる。他の実施態様では、マクロブロック・タイプおよび基礎となるイントラ予測モード以外の構文要素を変更することもできることに留意されたい。このようなその他の構文要素としては、例えば、動きベクトル、剰余値または(例えば)DCT係数を用いた剰余値の符号化、あるいは参照ピクチャまたは参照フレームのインター予測指標などがある。
様々な構文要素は、何らかの方法で参照を識別する情報を意味する参照情報と関連している。「参照」とは、一般に、予測の基礎として使用される情報セットを指す。「参照識別子」とは、一般に、参照を識別する情報を指す。例えば、イントラ予測モードは現在のブロックの予測の基礎として使用されるピクセルを識別するので、参照は、ブロックのイントラ予測モードによって識別することができる。また、イントラ予測モードは、それらの識別されたピクセルの使用方法も識別する。参照は、例えば、動きベクトル、あるいは予測の基礎として使用された以前のフレームまたはマクロブロックの指標によって識別することもできる。所与のマクロブロックは、複数の参照識別子および複数の参照を有することもできることに留意されたい。
参照および/または参照識別子は、イントラ予測ブロックおよびインター予測ブロックについて存在することができることは明らかである。イントラ予測ブロックは、例えばイントラ予測モードまたは(イントラ予測モードを識別する)マクロブロック・タイプなどの参照識別子を使用することができ、参照は、例えば、同じピクチャのピクセル・ブロックまたはピクセル・セットとすることができる。インター予測ブロックは、例えば動きベクトルなどの参照識別子を使用することができ、参照は、別のピクチャの全体または一部とすることができる。
情報の埋込みの目的は、ペイロードに応じて、全ての変更可能な構文要素のリスト上の構文要素のサブセットを修正して、それらの値をオリジナルの値からリストされている許容可能な代替値の1つに変更することである。1つの実用的な実施態様では、これは、図9に示すように3つのステップで実施される。
上述のように、ペイロードは、検出メタデータを援用してAVCビット・ストリームから回復することができる。いくつかの実施態様では、検出メタデータは、ペイロード情報を表す特定の構文要素、およびそれらの要素のオリジナルの値を示す。埋込みプロセスにおいて、オリジナルの値を使用して「0」を表し、代替値を使用して「1」を表した場合には、検出器は、ビット・ストリーム中の値を、検出データに記憶されたオリジナルの値と比較すればよい。両者が一致した場合には、検出器は「0」ビットを報告する。両者が一致しない場合には、検出器は「1」ビットを報告する。埋込みプロセスにおいてオリジナルの値を2つの代替値の一方で置換した場合には、これら2つの代替値およびそれらに対応するラベルを、検出データから回復する。次いで、検出器は、ビット・ストリーム中の値をこれら2つの代替値の1つまたは複数と比較し、対応するラベルを報告する。
ペイロード・データも、復号済みピクセル領域画像から回復することができる。このプロセスは、サブセット選択プロセスで使用される特定の尺度に特有のプロセスである。1つの実用的な実施態様では、この尺度は、ピクセル・ブロックの平均輝度である。各修正済みブロックのオリジナルの平均輝度は、検出データから回復される。検出器は、復号済み画像シーケンス中の指定されたピクセル・ブロックの平均輝度を計算し、その値を、検出データに記憶されたオリジナルの値と比較する。算出した値がオリジナルの値より大きい場合には、検出器は「1」ビットを報告する。算出した値がオリジナルより小さい場合には、検出器は「0」ビットを報告する。このような実施態様では、検出データに位置およびオリジナルの値を記憶するが、「0」ビットまたは「1」ビットについての予想検出値を記憶する必要はない。
この回復方法は、復号済み画像が、復号後、検出前に輝度の一様な変化によって修正された場合に、問題が生じる可能性がある。この問題に対処するために、いくつかの参照ブロックの平均輝度を、検出データに記憶しておくことができる。これらは、埋込みプロセスで変化しないブロックである。検出器は、回復の直前に参照ブロックの平均輝度を計算し、埋込みプロセスと無関係な全ての輝度変化を発見する。これらの輝度変化は、それぞれに応じてオリジナルの値を調節することによって補償することができる。少なくとも1つの実施態様では、透かし入りブロックに近い参照ブロックを使用することにより、不均一な輝度変化に合わせた調節を行う。
情報の埋込みには様々な適用分野があることは明らかである。このような適用分野の1つは、データ・ストリームにペイロードを埋め込む透かし入れである。ただし、情報埋込みの様々な適用分野では、使用される要件が異なる可能性がある。例えば、ユーザが知覚できる変化を生じる変更をデータ・ストリームに施すことが望ましいこともある。
図11を参照すると、ペイロード情報を回復する、より一般的には、透かしを検出する、大まかなプロセス1100が示してある。プロセス1100は、例えば、符号化された透かし入りビット・ストリーム、または復号された透かし入りビット・ストリームのベースバンド・データに適用することができる。
プロセス1100は、透かしがあるかどうか検査する位置を決定することを含む(1110)。このプロセスは、透かし入れプロセスが適用されているコンテンツにも、適用されていないコンテンツにも適用することができる。さらに、透かし入れプロセスが適用されている場合でも、(上述のように)当該コンテンツを変更することなくペイロード・ビットを埋め込むこともできる。従って、検査される位置は、修正されていてもよいし、修正されていなくてもよい。このプロセスは、コンテンツに以前に透かし入れが行われている場合には、埋め込まれたペイロードを回復するようになっている。プロセス1100は、決定された位置のデータにアクセスし(1120)、このデータを解析する(1130)。プロセス1100は、さらに、透かしが存在する場合には、この解析に基づいて透かし情報を識別することを含む(1140)。識別された透かし情報は、例えばビット・シーケンス(またはその他の情報単位)、あるいはマクロブロック(またはその他のピクチャ単位)に対して決定された検出値である可能性がある。
プロセス1100を、1つまたは複数のその他の位置について繰り返して、ペイロードを構成する1つまたは複数のさらに別のビットを識別することもできる。従って、プロセス1100を用いて、ペイロード全体を回復することもできる。
プロセス1100の複数の実施態様では、修正済みのビット・ストリームを解析すること、ならびにベースバンド・データ(例えばピクセル領域データまたは音声データ)も解析することを含む。例えば、前述の実施態様の1つによれば、ビット・ストリームは、対象要素に関連するビットを修正することによって修正することができる。透かしは、適当なビット位置にアクセスし、それらの位置に修正がないかどうか調べることによって、このようなビット・ストリーム中で検出することができる。埋込みメタデータに見られるものなど、ビット位置および修正済みの値(または可能な修正済みの値)も、検出データに含めることができる。
別法として、またはこれに加えて、このような修正済みビット・ストリームを復号し、場合によっては再符号化などその他の処理を施すこともできる。再符号化を行う場合には、再符号化済みのビット・ストリームが、オリジナルの修正済みビット・ストリームと同じ位置に同じ修正済み対象要素を含んでいることはないと予想される。しかし、再符号化済みのビット・ストリームを復号して、通常はオリジナルの修正の影響が依然として存在しているベースバンド(例えばピクセル領域または音声クリップ)のディジタル表現を生成することはできる。従って、オリジナルの修正が影響を及ぼすフレーム番号およびブロック番号を識別する検出データは有用である。例えば、対象要素は、最初は特定のブロックに関する動きベクトルであり、その動きベクトルを修正した影響として、当該特定のブロックまたはブロック・セットの平均輝度が増大している可能性もある。この平均輝度の増大は、オリジナルの修正済みビット・ストリームを処理しても保存することができる。ただし、動きベクトル、および動きベクトルに施した最初の変更は、通常は、再符号化後は完全には同じではない。
図12を参照すると、特にベースバンド画像(すなわちピクセル・データ)と共に使用する場合の、ベースバンド画像に合わせた特定の動作を含むプロセス1100の実施態様を記述するプロセス1200が示してある。ただし、ベースバンド画像の代わりに圧縮データにアクセスする(例えば記憶装置から取り出す、または伝送により受信する)場合には、圧縮データを復号して、ベースバンド画像を得ることができる。
プロセス1200は、ベースバンド画像にアクセスすること(1205)を含み、必要なら時間的且つ/または幾何学的位置合わせを実行する(1210)ことも含む。位置合わせは、検出メタデータが、例えばフレーム番号およびフレーム内のブロック位置でそれぞれの変更を記述することがあるので、必要になることがある。従って、位置合わせにより、フレーム番号およびブロックを適切に識別することが容易になる。この位置合わせを行う手法は数多くあるが、この実施態様は位置合わせの手法とは無関係であるので、様々な手法を使用することができる。
プロセス1200は、検出メタデータにアクセスすることを含む(1215)。検出メタデータの各エントリは、例えばそのフレーム位置およびフレーム内のブロックによって変更を規定することができる。各エントリごとに、一般に動作1225〜1245を含むように規定することができるループ(1220)を実行する。
検出メタデータの各エントリごとに、対応するピクセル・データ・ブロックをベースバンド画像から抽出する(1225)。抽出したブロックから、検出特徴を測定、計算、またはその他の方法で決定する(1230)。上記の1つの例では、検出特徴は平均輝度であり、別の例では、検出特徴は分散である。
プロセス1200およびループ(1220)は、決定した検出特徴を検出メタデータと比較することを含む(1235)。一実施態様では、この比較は、例えば平均輝度値などの決定した特徴を、検出メタデータ中の2つの平均輝度値と比較することを含む。最もよく一致するものを選択し、それに対応するシンボルを出力する(1240)。一実施態様では、最もよく一致するものを、決定した検出特徴に最も近い記憶検出値として識別する。実施態様によっては、例えば非線形評価を適用して、最もよく一致するものを決定することもできる。
プロセス1200およびループ(1220)は、さらに、検出メタデータに示されている次のイントラ予測符号化ブロックに進むようにループ・バックすることも含む(1245)。ループ(1220)は、検出メタデータに示されている全てのブロックに対して繰り返される。
ループ(1220)を繰り返すたびに、動作(1240)でシンボルが出力され、その結果、シンボル・ストリームが得られる(1250)。必要なら、シンボル・ストリームを復号する(1255)。実施態様によっては、ペイロード・ビットを符号化していなくてもよいことに留意されたい。(例えば図1のデータ・コーダ120などにおいて)データ符号化プロセスがペイロードに適用されている場合には、対応するデータ復号プロセスをシンボル・ストリームに適用して、ペイロード推定と呼ばれる回復したペイロードを得る(1260)。
ペイロード推定(1260)は、復号されたシンボル・ストリーム、または(ペイロードが符号化されていない場合には)シンボル・ストリームに対応する。通常の実施態様では、動作(1240)で出力されるシンボルはビットであるが、実施態様によっては、ビット以外のシンボルを符号化することもある。
上述のように、検出特徴として平均輝度を使用する場合には、システムは、大域的な明るさの変化によって混乱する可能性がある。換言すれば、大域的な明るさの増大により、ベースバンド画像から抽出した輝度が、メタデータに記憶された2つの値のうちの明るい方に常に近づいていく可能性がある。従って、シンボル・ストリームが、(誤って)全て「1」ビットで構成される可能性がある。これに対処するために、埋込み装置は、いくつかの参照エントリを検出情報に付加することができる。参照エントリは、透かし入れプロセスの影響を受けないブロックに関するフレーム番号、ブロック位置およびオリジナルの輝度値のリストである。検出器は、これらの参照値を読み出し、ベースバンド画像に見られる対応する値とこれらの参照値とを比較することができる。その後、(おそらくは位置合わせ時に)参照ブロックの測定輝度が検出メタデータ・ファイルにリストされた輝度と一致するように、ベースバンド画像を調節すればよい。
プロセス900またはプロセス1200の様々な実施態様では、様々なデータの1つまたは複数を含む記憶した検出メタデータを使用する。例えば、検出メタデータは、透かしがあるかどうか検査する位置を識別する位置情報を含むことができる。位置情報は、例えば、フレーム識別子および/またはブロック識別子を含むことができる。
検出メタデータは、例えば、特徴のベンチマーク値を含むことができる。ベンチマークは、例えば、位置が修正される前の特徴の値とすることができる。ベンチマークを、例えば、アクセスした位置(1120)の特徴の実際の値(新しいベンチマーク)と比較して、変更の指標を得ることもできる。例えば、この比較により、その値(ベンチマーク)が、修正の結果として増加したのか減少したのかを示すことができる。
検出メタデータは、例えば、別の位置(透かし入れされていない位置)の特徴のベース値を含むこともできる。このベース値は、例えば、透かし入れされていない位置の平均輝度とすることができる。上述のように、このベース値を使用して、透かし入れされた位置よりも大きな影響を及ぼす変更がデータに加えられたかどうかを判定することができる。状況によっては、大域的な変化(例えばフレーム全体の変更)が生じている可能性もある。例えば、フレーム全体の平均輝度が変更されていることもある。この場合には、ベース値を、透かし入れされていない位置における特徴の新しい値(新しいベース値)と比較すればよい。その差がしきい値を超える場合には、大域的な変化が生じていると判定することができる。あるいは、単純にその差を大域的な差と見なしてもよく、その差を、(可能な)透かし入れされた位置について決定した値(新しいベンチマーク)に付加して、大域的な変化を説明してもよい。この代替例では、別法として、差を上記の値(新しいベンチマーク)ではなくベンチマークに付加することもできることに留意されたい。さらに、実施態様によっては、ベース値と新しいベース値の比を求め、ベンチマークまたは新しいベンチマークの何れかに、この比を乗算してもよい。
図13を参照すると、システム1300は、予め準備された埋込み情報(埋込みメタデータと呼ぶ)を使用して映像に透かし入れを行う(その他のタイプのコンテンツの透かし入れも行うことができる)プレーヤ1305を提供する。透かし入れされた映像は、表示に備える。また、システム1300は、表示に備えている映像の再符号化にも対応しており、この再符号化は、例えば、当該映像の不正コピーが再符号化されたときなどに行うことができる。システム1300は、さらに、再符号化の復号、およびシステム全体の中の1つまたは複数の点でのオリジナルのペイロードの検出にも対応する。システム1300は、1つまたは複数のプロセスの流れ図でもある。
プレーヤ1305は、ペイロード1310、映像1315および埋込みメタデータ1318を含む。プレーヤ1305は、ペイロード1310、映像1315および埋込みメタデータ1318を受信し、透かし入り映像を提供する透かし入れ部1320を含む。ペイロードは、ペイロード検出器1345によって、透かし入り映像から検出することができる。
プレーヤ1305は、透かし入り映像を受信して、エントロピ復号を実行するエントロピ・デコーダ1325を含む。プレーヤ1305は、さらに、エントロピ復号されたストリームをエントロピ・デコーダ1325から受信し、予測復号を実行してピクセル領域画像1335を生成する予測デコーダ1330も含む。ピクセル領域画像は、ディスプレイ1355、またはベースバンド・データに対して働くペイロード検出器1350に送ることができる。
ピクセル領域画像は、予測再符号化器1360に送り、その後にエントロピ再符号化器に送って再符号化して、符号化出力1370にすることもできる。符号化出力1370は、例えば、AVC準拠ビット・ストリームとすることができる。符号化出力1370は、例えば、配布に備えて書込み可能媒体に記憶することができる。予測再符号化器1360およびエントロピ再符号化器1365は、プレーヤ1305とは別の、コンテンツの不正コピー(出力1370で表す)を製造するための装置の一部とすることができる。
符号化出力1370は、例えば、エントロピ・デコーダ1380(エントロピ・デコーダ1325と同じであってもよい)に送り、その後に予測デコーダ1385(予測デコーダ1330と同じであってもよい)に送って復号して、ピクセル領域画像1390にすることもできる。ピクセル領域画像1390は、ディスプレイ1392および/またはペイロード検出器1395(ペイロード検出器1350と同じであってもよい)に送ることができる。エントロピ・デコーダ1380および予測デコーダ1385は、プレーヤ1305ならびに予測再符号化界1360およびエントロピ再符号化器1365と別の装置の一部とすることができる。例えば、このような別個の装置の1つは、コンテンツの不正コピー(出力1370で表す)を受け取って解析するペイロード検出施設に地理的に位置していてもよい。
プロセス900または本願に記載のその他のプロセスは、処理装置も含めた様々な装置で実行することができることは明らかである。このような装置には、例えばアクセス・データ、ベンチマーク値、ベース値および1つまたは複数の透かし情報がある可能性のある位置などのデータを記憶する記憶装置も含まれる。さらに、プロセス900または本願に記載のその他のプロセスは、一組の命令セットとして実施することもできる。
記載した実施態様の特色および特徴は、様々な適用分野に当てはまる。適用分野としては、例えば、DVDなどのディスクへの透かし入れや、ディジタル・ストリームへの透かし入れなどがある。ディスクの透かし入れは、例えばディスクの複製時などに様々な方法で行うことができる。ディジタル・ストリームの透かし入れも、例えば再生時、放送時、ダウンロード時、またはその他の形でのディジタル・ストリームの転送時に、様々な方法で行うことができる。これらの特色および特徴は、適用分野に応じて改変することもできる。例えば、符号化ビット・ストリームを、透かし入れ以外の目的のために修正することもできる。一例としては、視聴者に見せるためのメッセージの埋込みが挙げられる。そのメッセージを、さらに、ペイロードなどの基準に基づいて変化させることもできる。さらに、上述の実施態様では主に可変長符号化に焦点をあてたが、適用分野によっては、同じ概念を他の符号化技術に適用することもできる。
本願に記載した概念、実施態様および特色は、例えば、通常のDVDの作成、配布および再生プロセスにおける様々な段階で適用することができる。例えば、これらの概念および特色は、以下において利用することができる。
1.コンテンツを前処理して、置換値を決定すること。置換値は、この段階では挿入しなくてもよいが、例えば後の挿入に備えてデータ構造(例えば表)に記憶しておくことができる。
2.上記の項目1で述べたデータ構造、当該データ構造を搬送する信号、または当該データ構造を記憶するプロセッサ可読媒体。このような媒体は、例えば、当該データ構造と未修正のコンテンツを両方とも含むこともできる。
3.上記の項目1の置換値をコンテンツに挿入すること。
4.上記の項目3で生成された修正済みコンテンツ。この修正済みコンテンツは、データ構造、当該修正済みコンテンツを搬送する信号、または当該修正済みコンテンツを記憶するプロセッサ可読媒体の何れかである。
5.上記の項目4の修正済みコンテンツを復号して、例えばピクセル・データ(画像を符号化した場合)または音声データ(音声を符号化した場合)などのベースバンド・データを生成すること。
6.透かしを含むこともできる修正済みコンテンツである、上記の項目5の復号済みコンテンツ自体。復号済みコンテンツは、例えば、データ構造、当該復号済みコンテンツを搬送する信号、または当該復号済みコンテンツを少なくとも一時的に記憶するプロセッサ可読媒体とすることができる。
7.上記の項目6の復号済みコンテンツを表示する、より一般的には提示すること。表示または提示に備えることも含む。
8.上記の項目6の復号済みコンテンツを、符号化されたビットが上記の項目4で与えられたビットと異なる場合でも検出特徴(修正により得られる)が保持されるように、再符号化すること。
9.項目8の再符号化済みコンテンツを含むデータ構造。または当該再符号化済みコンテンツをフォーマットかおよび搬送する信号。または当該再符号化済みコンテンツを記憶するプロセッサ可読媒体。
10.上記の項目8の再符号化済みコンテンツを復号して、ベースバンド・データを生成すること。
11.上記の項目10の復号で生成されるベースバンド・データ。このベースバンド・データは、例えば、データ構造、当該ベースバンド・データを搬送する信号、または当該ベースバンド・データを少なくとも一時的に記憶するプロセッサ可読媒体とすることができる。
12.上記の項目11のベースバンド・データを表示する、またはより一般的には提示すること。表示または提示に備えることも含む。
13.上記の項目4の修正済みコンテンツからペイロード(例えば透かし)を検出すること。
14.上記の項目5のベースバンド・データからペイロードを検出すること。
15.上記の項目8および9の再符号化済みコンテンツから、符号化ビットが許す場合に、ペイロードを検出すること。
16.上記の項目11のベースバンド・データからペイロードを検出すること。
本開示の様々なセクションで見出しを用いていても、それらの見出しは、当該セクションの開示をその見出しの主題に限定したり、その他のセクションの開示をその見出しの主題以外の主題に限定したりするものではないことに留意されたい。これらの見出しは例示であり、一般的な意味合いで読者を助けるためのものである。これらの見出しは、本開示の流れを制限したり、本開示の適用可能性または一般性を制限したりするものではない。
本願で使用する「透かし」という用語は、様々なものを指す可能性がある。例えば、「透かし」は、後に検出できるように修正または挿入されたデータ、あるいはその結果得られるベースバンド修正を指すこともある。
明らかであるが、「構文要素(syntax element)」という用語は、様々なタイプの情報の1つまたは複数を表すことができる。例えば、「構文要素」は、動きベクトル、剰余DCT係数、マクロブロック・タイプ、量子化パラメータ、またはフラグとすることができる。従って、構文要素は、全てが同じ長さを有している必要はなく、様々に異なる長さを有することができる。本願に開示の様々な実施態様では、構文要素が表す情報の種類、および構文要素のサイズ/長さに関わりなく、任意の種類の構文要素を扱うことができる。
例として、ピクチャ、フレームまたはブロックに関連して様々な実施態様を説明した。しかし、本願に記載した概念、実施態様および特色は、画像一般に広く適用することができ、その画像は、1つまたは複数のピクセル、ブロック、スライス、フィールド、フレーム、ピクチャまたはシーケンスとすることができる(あるいはこれらを含むことができる)。
さらに、ビデオ・データに関連して多くの実施態様を説明した。しかし、本願の概念、実施態様および特色は、一般に、音声データおよびその他の種類の符号化データにも等しく適用することができる。
2つの装置を直接または間接に接続する場合には、2つの装置または構成要素を結合すると言う。直接に接続された装置の場合は、接続される装置の間に介在する装置が存在しない。間接に接続された装置の場合は、接続される装置の間に介在する装置が1つまたは複数存在する。
さらに、AVCに関連して多くの実施態様を説明した。しかし、本願の概念、実施態様および特色は、(1)何らかの標準に準拠した環境に限定されるわけではなく、標準を用いない様々な環境に適用することができ、(2)もちろんAVCに限定されず、(3)その他の既知の標準に広く適用され、(4)少なくともいくつかの点では将来開発される標準にも広く適用することができる。その他の標準としては、AVC関連標準などが挙げられる。「AVC関連標準」とは、AVCに基づく、またはAVCに類似した、その他の標準を広く指すものである。
本明細書に記載の実施態様は、例えば、方法またはプロセス、装置、あるいはソフトウェア・プログラムとして実施することができる。1つの形態の実施態様の状況でしか述べていない場合でも(例えば方法としてしか述べていない場合でも)、そこで述べられている特色の実施態様を、その他の形態(例えば装置またはプログラムなど)で実施することもできる。装置は、例えば適当なハードウェア、ソフトウェア、およびファームウェアなどで実施することができる。方法を、例えばプロセッサなどの装置として実施することもできる。ここで言う「プロセッサ」とは、例えばコンピュータ、マイクロプロセッサ、集積回路またはプログラマブル論理装置などの処理装置を広く指している。処理装置には、例えばコンピュータ、携帯電話、携帯情報端末(「PDA」)、およびその他のエンドユーザ間の情報通信を容易にする装置などの通信装置も含まれる。
本明細書に記載する様々なプロセスおよび特色の実施態様は、様々な機器またはアプリケーション、具体的には、例えばデータの符号化および復号に関連する機器またはアプリケーション、あるいはコンテンツ作成に関連する機器またはアプリケーションで実施することができる。機器の例としては、ビデオ・コーダ、ビデオ・デコーダ、ビデオ・コーデック、ウェブ・サーバ、セット・トップ・ボックス、ラップ・トップ、パーソナル・コンピュータ、携帯電話、PDA、およびその他の通信装置などが挙げられる。明らかであるが、この機器は移動機器であってもよく、移動車両に設置することもできる。
さらに、方法は、プロセッサによって実行される命令で実施することもでき、これらの命令は、例えば集積回路、ソフトウェア・キャリア、あるいは例えばハードディスク、コンパクト・ディスケット、ランダム・アクセス・メモリ(「RAM」)または読取り専用メモリ(「ROM」)のようなその他の記憶装置などのプロセッサ可読媒体に記憶することができる。これらの命令は、プロセッサ可読媒体に実装されるアプリケーション・プログラムを構成していてもよい。命令は、例えば、ハードウェア、ファームウェア、ソフトウェアまたはそれらの組合せとすることができる。命令は、例えば、オペレーティング・システム、別個のアプリケーションまたはこれら2つの組合せに見ることができる。従って、プロセッサは、例えば、プロセスを実行するように構成された装置およびプロセスを実行する命令を有するプロセッサ可読媒体を含む装置の両方の特徴を有することができる。
当業者には明らかであろうが、実施態様によっては、例えば記憶または伝送することができる情報を搬送するようにフォーマット化された信号を生成することもできる。この情報としては、例えば、方法を実行するための命令、または上述の様々な実施態様の1つによって生成されるデータなどが挙げられる。この信号は、例えば、(例えばスペクトルの無線周波部分を使用して)電磁波として、またはベースバンド信号としてフォーマット化することができる。このフォーマット化は、例えば、データ・ストリームを符号化すること、および符号化したデータ・ストリームで搬送波を変調することを含むことができる。信号が搬送する情報は、例えば、アナログ情報であってもディジタル情報であってもよい。この信号は、周知のように、有線または無線の様々なリンクを介して伝送することができる。
以上、いくつかの実施態様を説明した。ただし、様々な修正を加えることができることは理解されるであろう。例えば、異なる実施態様の要素を組み合わせ、追加し、修正し、または省略して、他の実施態様を生み出すこともできる。さらに、開示した構造およびプロセスの代わりにそれ以外の構造およびプロセスを用い、その結果得られた実施態様によって、少なくとも実質的には同様の1つまたは複数の機能を、少なくとも実質的には同様の1つまたは複数の方法で実行して、開示した実施態様と少なくとも実質的には同様の1つまたは複数の結果を得ることができることも、当業者なら理解するであろう。従って、上記その他の実施態様は、本願で企図したものであり、以下の特許請求の範囲に含まれるものである。
プロセス1000は、参照指標を含む可変長符号化データにアクセスすることを含む(1010)。すなわち、可変長符号化データは、画像を予測符号化するために使用される実際の参照を識別する符号化情報参照指標)を含む。実際の参照を識別する情報の符号化物である参照指標は、特定の値を有する。1つまたは複数の前述の例では、参照指標は、対応するイントラ予測モードを介してマクロブロックの予測符号化に使用される参照を識別するマクロブロック・タイプ・フィールドの値の符号化物である。
プロセス1000は、参照指標の代替値にアクセスすることを含む(1020)。代替値は、上記の特定の値とは異なる。代替値は、実際の参照とは異なる別の参照を識別する符号化代替情報ある。例えば、代替値は、例えば記憶装置からアクセスしてもよいし、あるいは実時間で計算してもよい。実施態様によっては、例えば、参照指標の位置で索引づけされた表から代替値にアクセスすることができる。

Claims (56)

  1. 画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データにアクセスするステップ(810)であり、前記情報の前記符号化が特定の値を有するステップと、
    前記特定の値とは異なり、従って前記実際の参照とは異なる参照を識別する代替情報の符号化となる代替値を決定するステップ(830)であり、前記代替値が、前記可変長符号化データの透かし入れに使用されるステップとを含む、方法。
  2. 前記代替値を、前記可変長符号化データの透かし入れに使用される前記特定の値の代入値として指定するステップをさらに含む、請求項1に記載の方法。
  3. 透かしとして現在の値の代わりに前記代替値を使用することの有効性を評価するステップをさらに含み、
    前記代替値を代入値として指定するステップを、有効性評価の結果に基づいて行う、請求項2に記載の方法。
  4. 評価するステップが、前記透かしの忠実度および前記透かしのロバスト性に基づいて前記代替値のコストを決定するステップを含む、請求項3に記載の方法。
  5. 追加の代替値の有効性を評価するステップと、
    前記代替値の評価および前記追加の代替値の評価の結果に基づいて、前記代替値の方がより有効であると判定するステップとをさらに含み、
    前記代替値を代入値として指定するステップを、前記代替値の方がより有効であるという決定に基づいて行う、請求項3に記載の方法。
  6. 前記特定の値が、H.264/AVCまたは関連する標準のイントラ予測16×16マクロブロックのマクロブロック・タイプ・フィールドの第1の値を識別し、前記第1の値が第1のイントラ予測モードを示し、
    前記代替値が、H.264/AVCまたは関連する標準のイントラ予測16×16マクロブロックのマクロブロック・タイプ・フィールドの第2の値を識別し、前記第2の値が第2のイントラ予測モードを示し、
    前記追加の代替値が、H.264/AVCまたは関連する標準のイントラ予測16×16マクロブロックのマクロブロック・タイプ・フィールドの第3の値を識別し、前記第3の値が第3のイントラ予測モードを示す、請求項5に記載の方法。
  7. 前記第1の値、前記第2の値および前記第3の値のそれぞれのCAVLC符号化が、同数のビットを使用する、請求項6に記載の方法。
  8. 前記代替値を表に挿入するステップと、
    前記可変長符号化データ中の前記特定の値の位置を決定するステップと、
    前記表に、前記可変長符号化データ中の前記特定の値が位置する位置を識別する情報を挿入するステップであり、前記位置が、前記特定の値と置換するための前記代替値を前記可変長符号化データに挿入する位置であるステップとをさらに含む、請求項1に記載の方法。
  9. 前記特定の値を、前記可変長符号化データ中の前記代替値で置換するステップをさらに含む、請求項1に記載の方法。
  10. 前記実際の参照を識別する前記情報が、現在のブロックに隣接するブロックのピクセル位置を識別し、前記ピクセル位置の値を使用して、前記現在のブロックの少なくとも一部分を予測する、請求項1に記載の方法。
  11. 前記実際の参照を識別する前記情報が、参照ブロックを識別する、請求項1に記載の方法。
  12. 前記実際の参照を識別する前記情報が、参照ピクチャを識別する、請求項1に記載の方法。
  13. 前記実際の参照を識別する前記情報が、H.264/AVCまたは関連する標準のマクロブロック・タイプ・フィールドを含む、請求項1に記載の方法。
  14. 前記実際の参照を識別する前記情報が、H.264/AVCまたは関連する標準のイントラ予測16×16マクロブロックのマクロブロック・タイプ・フィールドを含む、請求項1に記載の方法。
  15. 前記実際の参照を識別する前記情報が、H.264/AVCまたは関連する標準の予測モードを含む、請求項1に記載の方法。
  16. 前記実際の参照を識別する前記情報が、動きベクトルを含む、請求項1に記載の方法。
  17. 前記可変長符号化データが、前記現在の参照を用いて前記画像を予測することにより得られる現在の剰余を識別する情報の符号化をさらに含む、請求項1に記載の方法。
  18. 前記可変長符号化データが、特定の可変長符号を用いて符号化されており、
    前記代替値が、前記特定の可変長符号を用いて前記代替情報を符号化する、請求項1に記載の方法。
  19. 画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データを復号するエントロピ・デコーダ(106)であり、前記情報の前記符号化が特定の値を有するエントロピ・デコーダ(106)と、
    前記特定の値とは異なり、従って前記実際の参照とは異なる参照を識別する代替情報の符号化となる代替値を決定する、前記エントロピ・デコーダに結合された透かし生成器(108)であり、前記代替値が、前記可変長符号化データの透かし入れに使用される透かし生成器(108)とを備える、装置。
  20. 前記透かし生成器が、前記可変長符号化データの透かし入れに使用されるメタデータを作成するように構成され、前記メタデータが、(1)前記代替値、および(2)前記可変長符号化データ中の前記特定の値の位置を含み、前記メタデータが、前記代替値と前記位置とを関連づける、請求項19に記載の装置。
  21. 画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データにアクセスする手段であり、前記情報の前記符号化が特定の値を有する手段と、
    前記特定の値とは異なり、従って前記実際の参照とは異なる参照を識別する代替情報の符号化となる代替値を決定する手段であり、前記代替値が、前記可変長符号化データの透かし入れに使用される手段とを含む、装置(104)。
  22. 画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データにアクセスするステップであり、前記情報の前記符号化が特定の値を有するステップと、
    前記特定の値とは異なり、従って前記実際の参照とは異なる参照を識別する代替情報の符号化となる代替値を決定するステップであり、前記代替値が、前記可変長符号化データの透かし入れに使用されるステップとを少なくとも実行するように構成されたプロセッサ。
  23. 画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データにアクセスするステップであり、前記情報の前記符号化が特定の値を有するステップと、
    前記特定の値とは異なり、従って前記実際の参照とは異なる参照を識別する代替情報の符号化となる代替値を決定するステップであり、前記代替値が、前記可変長符号化データの透かし入れに使用されるステップとを少なくとも実行するための命令を記憶したプロセッサ可読媒体。
  24. 透かしデータ(105)を記憶したプロセッサ可読媒体であって、
    前記透かしデータが、画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データの透かし入れに使用され、前記情報の前記符号化が特定の値を有しており、
    前記透かしデータが、前記特定の値とは異なり、従って前記実際の参照とは異なる参照を識別する代替情報の符号化となる代替値を含み、前記代替値が、前記可変長符号化データの透かし入れに使用される前記特定の値の代入値である、プロセッサ可読媒体。
  25. 前記プロセッサ可読媒体が、前記画像の予測符号化に使用される前記実際の参照を識別する情報の前記符号化を含む前記可変長符号化データを記憶しており、前記情報の前記符号化が前記特定の値を有する、請求項24に記載のプロセッサ可読媒体。
  26. 画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データの透かし入れに使用される透かしデータ(105)を含むようにフォーマット化された信号であって、前記情報の前記符号化が特定の値を有し、
    前記透かしデータが、前記特定の値とは異なり、従って前記実際の参照とは異なる参照を識別する代替情報の符号化となる代替値を含み、前記代替値が、前記可変長符号化データの透かし入れに使用される前記特定の値の代入値である、信号。
  27. 画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データにアクセスするステップ(1010)であり、前記情報の前記符号化が特定の値を有するステップと、
    前記特定の値とは異なり、従って前記実際の参照とは異なる参照を識別する代替情報の符号化となる代替値にアクセスするステップ(1020)と、
    前記代替値を、前記特定の値の代入値として前記可変長符号化データに挿入して、前記画像に透かし入れを行うステップ(1030)とを含む、方法。
  28. 前記可変長符号化データにアクセスするステップが、前記可変長符号化データの提示を求める要求に応答して行われ、
    前記代替値を決定する処理動作が、前記可変長符号化データにアクセスする前に実行され、従って、前記可変長符号化データの提示を求める要求を受信し、その後に可変長符号化データにアクセスしたときに、前記代替値を決定する必要なく前記代替値を挿入することができる、請求項27に記載の方法。
  29. 前記代替値にアクセスする前に前記代替値を決定する処理動作を実行するステップをさらに含む、請求項27に記載の方法。
  30. 画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データにアクセスするステップであり、前記情報の前記符号化が特定の値を有するステップと、
    前記特定の値とは異なり、従って前記実際の参照とは異なる参照を識別する代替情報の符号化となる代替値にアクセスするステップと、
    前記代替値を、前記特定の値の代入値として前記可変長符号化データに挿入して、前記画像に透かし入れを行うステップとを少なくとも実行するように構成されたストリーム修正部(102、1320)を備えた装置。
  31. DVD読取り装置をさらに含み、DVDプレーヤである、請求項30に記載の装置。
  32. 画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データにアクセスする手段であり、前記情報の前記符号化が特定の値を有する手段と、
    前記特定の値とは異なり、従って前記実際の参照とは異なる参照を識別する代替情報の符号化となる代替値にアクセスする手段と、
    前記代替値を、前記特定の値の代入値として前記可変長符号化データに挿入して、前記画像に透かし入れを行う手段とを備える、装置(102)。
  33. 画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データにアクセスするステップであり、前記情報の前記符号化が特定の値を有するステップと、
    前記特定の値とは異なり、従って前記実際の参照とは異なる参照を識別する代替情報の符号化となる代替値にアクセスするステップと、
    前記代替値を、前記特定の値の代入値として前記可変長符号化データに挿入して、前記画像に透かし入れを行うステップとを少なくとも実行するように構成されたプロセッサ。
  34. 画像の予測符号化に使用される実際の参照を識別する情報の符号化を含む可変長符号化データにアクセスするステップであり、前記情報の前記符号化が特定の値を有するステップと、
    前記特定の値とは異なり、従って前記実際の参照とは異なる参照を識別する代替情報の符号化となる代替値にアクセスするステップと、
    前記代替値を、前記特定の値の代入値として前記可変長符号化データに挿入して、前記画像に透かし入れを行うステップとを少なくとも実行するための命令を記憶したプロセッサ可読媒体。
  35. 画像の符号化についての可変長符号化データ(103)を記憶したプロセッサ可読媒体であって、前記可変長符号化データが、前記画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含み、前記代替参照を識別する前記情報が、前記画像の透かしを提供する、プロセッサ可読媒体。
  36. 前記媒体に記憶された前記可変長符号化データが、前記実際の参照を使用した前記画像の予測符号化の剰余を識別する情報の符号化をさらに含む、請求項35に記載のプロセッサ可読媒体。
  37. 画像の符号化についての可変長符号化データ(103)を含むようにフォーマット化された信号であって、前記可変長符号化データが、前記画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含み、前記代替参照が、前記画像の透かしを提供する、信号。
  38. 画像の符号化についての可変長符号化データを復号するステップ(1325)であり、前記可変長符号化データが、前記画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含むステップを含む方法であって、前記代替参照を識別する前記情報が、前記画像の透かしを提供する、方法。
  39. 前記可変長符号化データが、前記実際の参照を使用した前記画像の予測符号化の剰余を識別する情報の符号化をさらに含む、請求項38に記載の方法。
  40. 復号するステップが、可変長符号および予測符号を復号するステップを含む、請求項38に記載の方法。
  41. 復号するステップで、前記代替参照を識別する前記情報を透かしとして使用することによって生じる検出可能な特徴を含めることにより、オリジナルの画像から変化する前記画像のベースバンド再構成を生成する、請求項38に記載の方法。
  42. 画像の符号化についての可変長符号化データを復号するように構成されたデコーダ(1325)を備える装置であって、前記可変長符号化データが、前記画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含み、前記代替参照を識別する前記情報が、前記画像の透かしを提供する、装置。
  43. 画像の符号化についての可変長符号化データを復号する手段(1325)であり、前記可変長符号化データが、前記画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含む手段を含む方法であって、前記代替参照を識別する前記情報が、前記画像の透かしを提供する、装置。
  44. 前記可変長符号化データを記憶するメモリ手段をさらに備える、請求項43に記載の装置。
  45. 画像の符号化についての可変長符号化データを復号するように構成されたプロセッサであって、前記可変長符号化データが、前記画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含み、前記代替参照を識別する前記情報が、前記画像の透かしを提供する、プロセッサ。
  46. 画像の符号化についての可変長符号化データを復号するための命令を記憶したプロセッサ可読媒体であって、前記可変長符号化データが、前記画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含み、前記代替参照を識別する前記情報が、前記画像の透かしを提供する、プロセッサ可読媒体。
  47. 画像の予測符号化の1つまたは複数の構文要素の可変長符号化の透かしから生じる検出可能な特徴を含むピクセル領域画像(1335)を記憶したプロセッサ可読媒体であり、前記可変長符号化が、前記画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含むプロセッサ可読媒体であって、前記代替参照を識別する前記情報が前記画像の前記透かしを提供する、プロセッサ可読媒体。
  48. 画像の予測符号化の1つまたは複数の構文要素の可変長符号化の透かしから生じる検出可能な特徴を含むピクセル領域画像を表示に備えて提供するステップ(1330)を含む方法であって、前記可変長符号化が、前記画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含んでおり、前記代替参照を識別する前記情報が前記画像の前記透かしを提供する、方法。
  49. 画像の透かし入り版の予測符号化を可変長符号化するステップ(1365)を含む方法であり、前記可変長符号化データが、前記画像の前記透かし入り版の符号化に使用される現在の参照を示す指標およびその結果得られる剰余を示す指標を含み、前記画像の前記透かし入り版が、透かしを提供する検出可能な特徴を有する方法であって、
    前記検出可能な特徴が、(1)前記画像の以前の予測符号化の以前の可変長符号化を修正するステップと、(2)前記画像の前記以前の可変長符号化および前記以前の予測符号化を復号して、前記検出可能な特徴が存在する前記画像の前記透かし入り版を生成するステップとによって生じ、前記以前の予測符号化が、以前の参照に基づいており、且つ前記以前の参照を識別する情報を含んでおり、前記修正するステップが、代替参照を示し、且つ前記画像の前記検出可能な特徴を提供するように前記情報を歪ませるステップを含む、方法。
  50. 画像の透かし入り版の予測符号化の可変長符号化の可変長符号化データ(1370)を記憶したプロセッサ可読媒体であり、前記可変長符号化データが、前記画像の前記透かし入り版の符号化に使用される現在の参照を示す指標およびその結果得られる剰余を示す指標を含み、前記画像の前記透かし入り版が、透かしを提供する検出可能な特徴を有するプロセッサ可読媒体であって、
    前記検出可能な特徴が、(1)前記画像の以前の予測符号化の以前の可変長符号化を修正するステップと、(2)前記画像の前記以前の可変長符号化および前記以前の予測符号化を復号して、前記検出可能な特徴が存在する前記画像の前記透かし入り版を生成するステップとによって生じ、前記以前の予測符号化が、以前の参照に基づいており、且つ前記以前の参照を識別する情報を含んでおり、前記修正するステップが、代替参照を示し、且つ前記画像の前記検出可能な特徴を提供するように前記情報を歪ませるステップを含む、プロセッサ可読媒体。
  51. 画像の透かし入り版の予測符号化の可変長符号化の可変長符号化データを復号するステップ(1380〜1385)を含む方法であり、前記可変長符号化データが、前記画像の前記透かし入り版の符号化に使用される現在の参照を示す指標およびその結果得られる剰余を示す指標を含み、前記画像の前記透かし入り版が、透かしを提供する検出可能な特徴を有する方法であって、
    前記検出可能な特徴が、(1)前記画像の以前の予測符号化の以前の可変長符号化を修正するステップと、(2)前記画像の前記以前の可変長符号化および前記以前の予測符号化を復号して、前記検出可能な特徴が存在する前記画像の前記透かし入り版を生成するステップとによって生じ、前記以前の予測符号化が、以前の参照に基づいており、且つ前記以前の参照を識別する情報を含んでおり、前記修正するステップが、代替参照を示し、且つ前記画像の前記検出可能な特徴を提供するように前記情報を歪ませるステップを含む、方法。
  52. 画像の透かし入り版の予測符号化の可変長符号化の可変長符号化データを復号する(1380〜1385)ことによって得られるピクセル領域画像データ(1390)を記憶したプロセッサ可読媒体であり、前記可変長符号化データが、前記画像の前記透かし入り版の符号化に使用される現在の参照を示す指標およびその結果得られる剰余を示す指標を含み、前記画像の前記透かし入り版が、透かしを提供する検出可能な特徴を有するプロセッサ可読媒体であって、
    前記検出可能な特徴が、(1)前記画像の以前の予測符号化の以前の可変長符号化を修正するステップと、(2)前記画像の前記以前の可変長符号化および前記以前の予測符号化を復号して、前記検出可能な特徴が存在する前記画像の前記透かし入り版を生成するステップとによって生じ、前記以前の予測符号化が、以前の参照に基づいており、且つ前記以前の参照を識別する情報を含んでおり、前記修正するステップが、代替参照を示し、且つ前記画像の前記検出可能な特徴を提供するように前記情報を歪ませるステップを含む、プロセッサ可読媒体。
  53. 画像の透かし入り版の予測符号化の可変長符号化の可変長符号化データを復号することによって得られるピクセル領域画像データを表示に備えて提供するステップ(1385)を含む方法であり、前記可変長符号化データが、前記画像の前記透かし入り版の符号化に使用される現在の参照を示す指標およびその結果得られる剰余を示す指標を含み、前記画像の前記透かし入り版が、透かしを提供する検出可能な特徴を有する方法であって、
    前記検出可能な特徴が、(1)前記画像の以前の予測符号化の以前の可変長符号化を修正するステップと、(2)前記画像の前記以前の可変長符号化および前記以前の予測符号化を復号して、前記検出可能な特徴が存在する前記画像の前記透かし入り版を生成するステップとによって生じ、前記以前の予測符号化が、以前の参照に基づいており、且つ前記以前の参照を識別する情報を含んでおり、前記修正するステップが、代替参照を示し、且つ前記画像の前記検出可能な特徴を提供するように前記情報を歪ませるステップを含む、方法。
  54. 可変長符号化データ中の、情報の可変長符号化が位置する位置を識別する情報にアクセスするステップ(1110)であり、前記情報が、画像の予測符号化に関連する少なくとも2つの参照のうちの一方を識別するステップと、
    前記可変長符号化データ中の前記位置にある前記情報の前記符号化にアクセスするステップ(1120)と、
    前記情報の前記符号化に基づいて、前記少なくとも2つの参照のうちの何れが識別されたかを判定するステップ(1130)と、
    前記少なくとも2つの参照のうちの何れが識別されたかを判定した結果に基づいてペイロード情報を決定するステップ(1140)とを含む、方法。
  55. 前記識別された参照が、前記画像の前記予測符号化に使用される実際の参照とは異なり、前記実際の参照ではなく前記識別された参照の可変長符号化により、前記画像の透かしを提供する、請求項54に記載の方法。
  56. 画像の予測符号化の1つまたは複数の構文要素の可変長符号化の透かしから得られる検出可能な特徴を含むピクセル領域画像にアクセスするステップ(1205)であり、前記可変長符号化が、前記画像の予測符号化に使用される実際の参照とは異なる代替参照を識別する情報の符号化を含み、前記代替参照を識別する前記情報が前記画像の前記透かしを提供するステップと、
    前記検出可能な特徴がある前記ピクセル領域画像中の位置を示す検出メタデータにアクセスするステップ(1215)と、
    前記位置の前記ピクセル領域画像を解析して、前記検出可能な特徴の値を決定するステップ(1230)と、
    前記検出可能な特徴の比較値を示す追加の検出メタデータにアクセスするステップ(1235)と、
    前記検出可能な特徴について決定した値と、前記比較値とを比較するステップ(1235)と、
    前記比較の結果に基づいてペイロード情報を決定するステップ(1240〜1260)とを含む、方法。
JP2013208787A 2007-06-14 2013-10-04 符号化ビット・ストリームの修正 Expired - Fee Related JP5892704B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US93463407P 2007-06-14 2007-06-14
US60/934,634 2007-06-14
PCT/US2007/023172 WO2008118145A1 (en) 2007-03-23 2007-11-02 Modifying a coded bitstream
USPCT/US2007/023172 2007-11-02

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010512207A Division JP5467651B2 (ja) 2007-06-14 2008-06-13 符号化ビット・ストリームの修正

Publications (2)

Publication Number Publication Date
JP2014042311A true JP2014042311A (ja) 2014-03-06
JP5892704B2 JP5892704B2 (ja) 2016-03-23

Family

ID=39743136

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010512207A Expired - Fee Related JP5467651B2 (ja) 2007-06-14 2008-06-13 符号化ビット・ストリームの修正
JP2013208787A Expired - Fee Related JP5892704B2 (ja) 2007-06-14 2013-10-04 符号化ビット・ストリームの修正

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2010512207A Expired - Fee Related JP5467651B2 (ja) 2007-06-14 2008-06-13 符号化ビット・ストリームの修正

Country Status (8)

Country Link
US (1) US8588459B2 (ja)
EP (1) EP2162860B1 (ja)
JP (2) JP5467651B2 (ja)
KR (1) KR101518999B1 (ja)
CN (1) CN101681499B (ja)
BR (1) BRPI0811626B1 (ja)
CA (1) CA2689634C (ja)
WO (1) WO2008154041A1 (ja)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6882685B2 (en) * 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
US9055239B2 (en) 2003-10-08 2015-06-09 Verance Corporation Signal continuity assessment using embedded watermarks
US8942289B2 (en) * 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec
WO2008118146A1 (en) 2007-03-23 2008-10-02 Thomson Licensing Modifying a coded bitstream
KR101633443B1 (ko) 2008-08-19 2016-06-24 톰슨 라이센싱 휘도 평가
KR101695681B1 (ko) * 2008-08-19 2017-01-13 콘텐트 아머 상황-기반의 적응형 이진 산술 코딩(cabac)비디오 스트림 준수
JP5373909B2 (ja) 2008-08-19 2013-12-18 トムソン ライセンシング 圧縮ビデオにおける構文要素のcabac/avc準拠の透かし入れ
US9042455B2 (en) 2008-08-19 2015-05-26 Thomson Licensing Propagation map
JP5285159B2 (ja) * 2008-08-20 2013-09-11 トムソン ライセンシング 透かし処理におけるブロックノイズおよび忠実度
WO2010021694A1 (en) * 2008-08-20 2010-02-25 Thomson Licensing Selection of watermarks for the watermarking of compressed video
JP5394212B2 (ja) * 2008-12-19 2014-01-22 トムソン ライセンシング データを挿入する方法、挿入されたデータを読み出す方法
US8396122B1 (en) * 2009-10-14 2013-03-12 Otoy, Inc. Video codec facilitating writing an output stream in parallel
RU2551207C2 (ru) * 2009-12-17 2015-05-20 Телефонактиеболагет Лм Эрикссон (Пабл) Способ и устройство для кодирования видео
CN102726044B (zh) 2010-01-22 2016-08-10 汤姆逊许可证公司 使用基于示例的超分辨率的用于视频压缩的数据剪切
US9602814B2 (en) 2010-01-22 2017-03-21 Thomson Licensing Methods and apparatus for sampling-based super resolution video encoding and decoding
EP2534638B1 (en) 2010-02-09 2019-01-16 ContentArmor Watermark detection using a propagation map
CN106412606B (zh) 2010-04-13 2020-03-27 Ge视频压缩有限责任公司 解码数据流的方法、生成数据流的方法
ES2659189T3 (es) 2010-04-13 2018-03-14 Ge Video Compression, Llc Herencia en subdivisión de árbol múltiple de matriz de muestras
KR102360005B1 (ko) 2010-04-13 2022-02-08 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
FI3955579T3 (fi) 2010-04-13 2023-08-16 Ge Video Compression Llc Videokoodaus käyttäen kuvien monipuurakenteen alaosioita
US20110280434A1 (en) * 2010-05-11 2011-11-17 Rajesh Mamidwar Method and system for watermakr insertin using video start codes
US20120014433A1 (en) * 2010-07-15 2012-01-19 Qualcomm Incorporated Entropy coding of bins across bin groups using variable length codewords
US9338477B2 (en) 2010-09-10 2016-05-10 Thomson Licensing Recovering a pruned version of a picture in a video sequence for example-based data pruning using intra-frame patch similarity
CN103210648B (zh) * 2010-09-10 2017-06-09 汤姆逊许可公司 使用基于块的混合分辨率数据修剪的视频解码
US9544598B2 (en) 2010-09-10 2017-01-10 Thomson Licensing Methods and apparatus for pruning decision optimization in example-based data pruning compression
EP2619985A4 (en) 2010-09-24 2015-03-11 Nokia Corp PROCESSES, DEVICES AND COMPUTER PROGRAMS FOR VIDEO ENCRYPTION
US8848791B2 (en) * 2010-09-29 2014-09-30 Futurewei Technologies, Inc. Compressed domain video watermarking
KR101424049B1 (ko) 2010-11-29 2014-07-29 주식회사 씨케이앤비 워터마크 생성 방법, 이를 포함하는 방송 콘텐츠 생성 방법 및 워터마크 삽입 시스템
BR112013024763A2 (pt) * 2011-04-15 2017-06-27 Nagravision Sa método para identificar a origem de um módulo de segurança em sistema decodificador de tv paga
US20120294366A1 (en) * 2011-05-17 2012-11-22 Avi Eliyahu Video pre-encoding analyzing method for multiple bit rate encoding system
US8805099B2 (en) 2011-06-22 2014-08-12 Panasonic Intellectual Property Corporation Of America Image decoding method and image coding method
EP2544142A1 (en) 2011-07-08 2013-01-09 Thomson Licensing Method for watermark detection using reference blocks comparison
US9503750B2 (en) 2011-11-04 2016-11-22 Futurewei Technologies, Inc. Binarization of prediction residuals for lossless video coding
US8745403B2 (en) 2011-11-23 2014-06-03 Verance Corporation Enhanced content management based on watermark extraction records
EP2600531A1 (en) * 2011-12-01 2013-06-05 Thomson Licensing Method for determining a modifiable element in a coded bit-stream and associated device
JP2013126225A (ja) 2011-12-16 2013-06-24 Internatl Business Mach Corp <Ibm> サーバから複数のクライアントにデータを配布するための方法、プログラムおよびシステム
US9531990B1 (en) 2012-01-21 2016-12-27 Google Inc. Compound prediction using multiple sources or prediction modes
US8737824B1 (en) 2012-03-09 2014-05-27 Google Inc. Adaptively encoding a media stream with compound prediction
US9185414B1 (en) 2012-06-29 2015-11-10 Google Inc. Video encoding using variance
US8726304B2 (en) 2012-09-13 2014-05-13 Verance Corporation Time varying evaluation of multimedia content
US9369728B2 (en) * 2012-09-28 2016-06-14 Sharp Kabushiki Kaisha Image decoding device and image encoding device
US9990478B2 (en) * 2012-11-30 2018-06-05 The Nielsen Company (Us), Llc Methods, apparatus, and articles of manufacture to encode auxiliary data into relational database keys and methods, apparatus, and articles of manufacture to obtain encoded data from relational database keys
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
US9262793B2 (en) 2013-03-14 2016-02-16 Verance Corporation Transactional video marking system
US9374578B1 (en) 2013-05-23 2016-06-21 Google Inc. Video coding using combined inter and intra predictors
US9485089B2 (en) 2013-06-20 2016-11-01 Verance Corporation Stego key management
US9251549B2 (en) 2013-07-23 2016-02-02 Verance Corporation Watermark extractor enhancements based on payload ranking
US9208334B2 (en) * 2013-10-25 2015-12-08 Verance Corporation Content management using multiple abstraction layers
MX354668B (es) * 2013-11-04 2018-03-15 Nagravision Sa Dispositivo y método para marcar contenido de audio o de audio y/o vídeo digitales.
US9609343B1 (en) 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
US9299119B2 (en) * 2014-02-24 2016-03-29 Disney Enterprises, Inc. Overlay-based watermarking for video synchronization with contextual data
US10504200B2 (en) 2014-03-13 2019-12-10 Verance Corporation Metadata acquisition using embedded watermarks
JP2017514345A (ja) 2014-03-13 2017-06-01 ベランス・コーポレイション 埋め込みコードを用いた対話型コンテンツ取得
EP2960854A1 (en) * 2014-06-27 2015-12-30 Thomson Licensing Method and device for determining a set of modifiable elements in a group of pictures
US9805434B2 (en) 2014-08-20 2017-10-31 Verance Corporation Content management based on dither-like watermark embedding
US9769543B2 (en) 2014-11-25 2017-09-19 Verance Corporation Enhanced metadata and content delivery using watermarks
US9942602B2 (en) 2014-11-25 2018-04-10 Verance Corporation Watermark detection and metadata delivery associated with a primary content
US9602891B2 (en) 2014-12-18 2017-03-21 Verance Corporation Service signaling recovery for multimedia content using embedded watermarks
US9756401B2 (en) 2015-04-07 2017-09-05 Sony Corporation Processing and providing an image in which a plurality of symbols are encoded
EP3086562B1 (en) * 2015-04-23 2017-05-24 Axis AB Method and device for processing a video stream in a video camera
WO2016176056A1 (en) 2015-04-30 2016-11-03 Verance Corporation Watermark based content recognition improvements
CN107852530B (zh) * 2015-07-06 2021-07-09 Lg电子株式会社 广播信号发送设备、广播信号接收设备、广播信号发送方法和广播信号接收方法
US10477285B2 (en) 2015-07-20 2019-11-12 Verance Corporation Watermark-based data recovery for content with multiple alternative components
CN105263024B (zh) * 2015-10-15 2018-06-29 宁波大学 一种抗量化转码的hevc视频流零水印的注册和检测方法
CN107105255B (zh) * 2016-02-23 2020-03-03 阿里巴巴集团控股有限公司 视频文件中添加标签的方法和装置
US10958989B2 (en) 2016-02-25 2021-03-23 Synamedia Limited Framework for embedding data in encoded video
WO2017184648A1 (en) 2016-04-18 2017-10-26 Verance Corporation System and method for signaling security and database population
CN117499650A (zh) * 2016-04-29 2024-02-02 英迪股份有限公司 图像解码方法、图像编码方法和用于发送比特流的方法
US10554976B2 (en) * 2016-07-25 2020-02-04 Synamedia Limited Framework for embedding data in encoded video
US10359518B2 (en) * 2016-12-30 2019-07-23 DeepMap Inc. Vector data encoding of high definition map data for autonomous vehicles
WO2018237191A1 (en) 2017-06-21 2018-12-27 Verance Corporation ACQUISITION AND TREATMENT OF METADATA BASED ON A WATERMARK
CN109756738B (zh) * 2017-11-02 2021-04-16 北京金山云网络技术有限公司 数字水印添加、提取方法、装置、电子设备及存储介质
US11057685B2 (en) * 2018-03-29 2021-07-06 Ncr Corporation Media content proof of play over optical medium
US11468149B2 (en) 2018-04-17 2022-10-11 Verance Corporation Device authentication in collaborative content screening
JP2022544671A (ja) * 2019-08-15 2022-10-20 ドルビー ラボラトリーズ ライセンシング コーポレイション 変更されたビットストリームを生成および処理する方法およびデバイス
CN111866517A (zh) * 2020-07-23 2020-10-30 北京中指实证数据信息技术有限公司 图片处理的方法及装置、电子设备及计算机可读存储介质
CN111913473B (zh) * 2020-07-31 2021-10-22 深圳市元征科技股份有限公司 一种编码调整方法、车辆诊断设备及系统
US11722741B2 (en) 2021-02-08 2023-08-08 Verance Corporation System and method for tracking content timeline in the presence of playback rate changes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060227873A1 (en) * 2005-04-11 2006-10-12 Toebes John A Digital watermarking of a media stream using coded macroblock types
JP2008524950A (ja) * 2004-12-22 2008-07-10 テールズ 同期化及びシンタックスの互換性を保護するビデオh.264暗号化

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4939515A (en) * 1988-09-30 1990-07-03 General Electric Company Digital signal encoding and decoding apparatus
US5721788A (en) * 1992-07-31 1998-02-24 Corbis Corporation Method and system for digital image signatures
ATE236485T1 (de) * 1993-10-29 2003-04-15 Time Warner Entertainm Co Lp System und verfahren zur wiedergabesteuerung mehrerer, auf einer optischen platte gespeicherten kinofilme
US5748783A (en) * 1995-05-08 1998-05-05 Digimarc Corporation Method and apparatus for robust information coding
US7113615B2 (en) * 1993-11-18 2006-09-26 Digimarc Corporation Watermark embedder and reader
US5710834A (en) * 1995-05-08 1998-01-20 Digimarc Corporation Method and apparatus responsive to a code signal conveyed through a graphic image
US5636292C1 (en) * 1995-05-08 2002-06-18 Digimarc Corp Steganography methods employing embedded calibration data
US5530751A (en) * 1994-06-30 1996-06-25 Hewlett-Packard Company Embedded hidden identification codes in digital objects
US5646997A (en) * 1994-12-14 1997-07-08 Barton; James M. Method and apparatus for embedding authentication information within digital data
GB9500285D0 (en) 1995-01-07 1995-03-01 Central Research Lab Ltd A method of labelling an audio signal
US5530759A (en) * 1995-02-01 1996-06-25 International Business Machines Corporation Color correct digital watermarking of images
US5613004A (en) * 1995-06-07 1997-03-18 The Dice Company Steganographic method and device
US6411725B1 (en) * 1995-07-27 2002-06-25 Digimarc Corporation Watermark enabled video objects
US5687191A (en) * 1995-12-06 1997-11-11 Solana Technology Development Corporation Post-compression hidden data transport
US5664018A (en) * 1996-03-12 1997-09-02 Leighton; Frank Thomson Watermarking process resilient to collusion attacks
AU2435297A (en) * 1996-04-02 1997-11-07 Theodore G Handel Data embedding
US7412072B2 (en) * 1996-05-16 2008-08-12 Digimarc Corporation Variable message coding protocols for encoding auxiliary data in media signals
US6978370B1 (en) * 1996-09-03 2005-12-20 Cryptography Research, Inc. Method and system for copy-prevention of digital copyright works
US5809139A (en) * 1996-09-13 1998-09-15 Vivo Software, Inc. Watermarking method and apparatus for compressed digital video
US5734752A (en) * 1996-09-24 1998-03-31 Xerox Corporation Digital watermarking using stochastic screen patterns
US5825892A (en) * 1996-10-28 1998-10-20 International Business Machines Corporation Protecting images with an image watermark
US5960081A (en) * 1997-06-05 1999-09-28 Cray Research, Inc. Embedding a digital signature in a video sequence
EP0997042B1 (fr) * 1997-07-18 2003-04-09 Ecole Polytechnique Federale De Lausanne Procede de marquage d'un signal numerique video compresse
KR100323441B1 (ko) * 1997-08-20 2002-06-20 윤종용 엠펙2동화상부호화/복호화시스템
JP4064506B2 (ja) * 1997-09-17 2008-03-19 パイオニア株式会社 電子透かし重畳方法及び検出方法並びに装置
US6208745B1 (en) * 1997-12-30 2001-03-27 Sarnoff Corporation Method and apparatus for imbedding a watermark into a bitstream representation of a digital image sequence
US6332194B1 (en) * 1998-06-05 2001-12-18 Signafy, Inc. Method for data preparation and watermark insertion
US6154571A (en) * 1998-06-24 2000-11-28 Nec Research Institute, Inc. Robust digital watermarking
EP1139660B1 (en) * 1998-08-27 2012-06-13 International Business Machines Corporation System for embedding additional information in video data, and embedding method
JP3480700B2 (ja) * 1999-06-25 2003-12-22 日本ビクター株式会社 電子透かし記録方法及び電子透かし記録装置
JP2001242786A (ja) * 1999-12-20 2001-09-07 Fuji Photo Film Co Ltd 配信装置、配信方法、及び記録媒体
US6282300B1 (en) * 2000-01-21 2001-08-28 Signafy, Inc. Rotation, scale, and translation resilient public watermarking for images using a log-polar fourier transform
US6687384B1 (en) * 2000-03-27 2004-02-03 Sarnoff Corporation Method and apparatus for embedding data in encoded digital bitstreams
RU2288546C2 (ru) * 2001-01-23 2006-11-27 Конинклейке Филипс Электроникс Н.В. Встраивание водяного знака в сжатый информационный сигнал
JP3565182B2 (ja) * 2001-05-11 2004-09-15 日本電気株式会社 可変長符号の入力が中断されることを防止する方式及びその方法
KR20040018483A (ko) * 2001-07-19 2004-03-03 코닌클리케 필립스 일렉트로닉스 엔.브이. 압축된 매체 신호 처리
US7046818B2 (en) * 2001-07-20 2006-05-16 Seiko Epson Corporation Standards compliant watermarking for access management
JP3977216B2 (ja) * 2001-09-27 2007-09-19 キヤノン株式会社 情報処理装置及び方法及び情報処理プログラム及び記憶媒体
US6724914B2 (en) * 2001-10-16 2004-04-20 Digimarc Corporation Progressive watermark decoding on a distributed computing platform
WO2003062960A2 (en) * 2002-01-22 2003-07-31 Digimarc Corporation Digital watermarking and fingerprinting including symchronization, layering, version control, and compressed embedding
JP3720791B2 (ja) 2002-04-24 2005-11-30 ソニー株式会社 画像符号化装置及び方法、並びに画像復号装置及び方法
US7277587B2 (en) * 2002-04-26 2007-10-02 Sharp Laboratories Of America, Inc. System and method for lossless video coding
EP1514408A1 (en) * 2002-06-03 2005-03-16 Koninklijke Philips Electronics N.V. Encoding and decoding of watermarks in independent channels
AU2003256333A1 (en) * 2002-06-28 2004-01-19 University Of Rochester System and method for embedding information in digital signals
MXPA05002002A (es) * 2002-08-21 2005-04-28 Thomson Licensing Sa Datos digitales de marca de agua en un dispositivo del usuario.
US20040120404A1 (en) * 2002-11-27 2004-06-24 Takayuki Sugahara Variable length data encoding method, variable length data encoding apparatus, variable length encoded data decoding method, and variable length encoded data decoding apparatus
US7636440B2 (en) * 2003-01-31 2009-12-22 Hewlett-Packard Development Company, L.P. Digital watermark with variable location
WO2004081719A2 (en) * 2003-03-07 2004-09-23 Chaoticom, Inc. Methods and systems for digital rights management of protected content
PL1620997T3 (pl) * 2003-04-25 2015-03-31 Philips Lighting Holding Bv Zmniejszenie narzutu i ochrona adresu w stosie komunikacji
DE10321983A1 (de) * 2003-05-15 2004-12-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Einbetten einer binären Nutzinformation in ein Trägersignal
US7769088B2 (en) * 2003-05-28 2010-08-03 Broadcom Corporation Context adaptive binary arithmetic code decoding engine
CN1810038B (zh) * 2003-06-25 2010-06-09 汤姆森许可贸易公司 检测压缩视频比特流中的水印的解码方法和设备
US20060257000A1 (en) * 2003-06-25 2006-11-16 Boyce Jill M Decoding method an apparatus for detection of watermarks in a compressed video bitsream
JP4612797B2 (ja) * 2004-03-11 2011-01-12 キヤノン株式会社 符号化装置、符号化方法
US8127137B2 (en) * 2004-03-18 2012-02-28 Digimarc Corporation Watermark payload encryption for media including multiple watermarks
CA2562137C (en) * 2004-04-07 2012-11-27 Nielsen Media Research, Inc. Data insertion apparatus and methods for use with compressed audio/video data
US7437721B2 (en) * 2004-09-29 2008-10-14 Microsoft Corporation Isolating software deployment over a network from external malicious intrusion
WO2006041145A1 (en) 2004-10-15 2006-04-20 Matsushita Electric Industrial Co., Ltd. Information-detecting apparatus and method
GB2419762A (en) * 2004-11-01 2006-05-03 Sony Uk Ltd Method of generating protected media signals by replacing data bits with hash values
GB2421134A (en) * 2004-12-09 2006-06-14 Sony Uk Ltd Detection of payload data from a watermarked image by calculation of payload probability values
JP2009500941A (ja) * 2005-07-08 2009-01-08 エルジー エレクトロニクス インコーポレイティド 情報を圧縮/圧縮解除するためにビデオ信号のコーディング情報をモデリングする方法
CN100466739C (zh) * 2005-10-12 2009-03-04 华为技术有限公司 Cabac解码系统及方法
WO2007067168A1 (en) 2005-12-05 2007-06-14 Thomson Licensing Watermarking encoded content
FR2894759A1 (fr) 2005-12-12 2007-06-15 Nextamp Sa Procede et dispositif de tatouage sur flux
DE102005063136B3 (de) * 2005-12-30 2007-07-05 Siemens Ag Verfahren und Vorrichtung zum Generieren eines markierten Datenstroms, Verfahren und Vorrichtung zum Einfügen eines Wasserzeichens in einen markierten Datenstrom und markierter Datenstrom
US8270485B2 (en) 2006-04-25 2012-09-18 Thomson Licensing Digital watermarking method
US8752032B2 (en) * 2007-02-23 2014-06-10 Irdeto Canada Corporation System and method of interlocking to protect software-mediated program and device behaviours
WO2008118146A1 (en) 2007-03-23 2008-10-02 Thomson Licensing Modifying a coded bitstream
ATE556390T1 (de) 2007-06-29 2012-05-15 Thomson Licensing Volumenmarkierung mit niederfrequenz
JP5373909B2 (ja) 2008-08-19 2013-12-18 トムソン ライセンシング 圧縮ビデオにおける構文要素のcabac/avc準拠の透かし入れ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008524950A (ja) * 2004-12-22 2008-07-10 テールズ 同期化及びシンタックスの互換性を保護するビデオh.264暗号化
US20060227873A1 (en) * 2005-04-11 2006-10-12 Toebes John A Digital watermarking of a media stream using coded macroblock types

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JPN5010003661; Bijan G. Mobasseri and Yatish Naik Raikar: 'Authentication of H.264 streams by direct watermarking of CAVLC blocks' Proc. of SPIE -IS&T SECURITY, STEGANOGRAPHY, AND WATERMARKING OF MULTIMEDIA CONTENTS IX. Vol.6505, 200702, pp.65051W-1 - 65051W-5, SPIE *
JPN5010003661; Bijan G. Mobasseri and Yatish Naik Raikar: 'Authentication of H.264 streams by direct watermarking of CAVLC blocks' Proc. of SPIE -IS&T SECURITY, STEGANOGRAPHY, AND WATERMARKING OF MULTIMEDIA CONTENTS IX. Vol.6505, 20070227, p.65051W-1 - 65051W-5 *
JPN6012036264; Lian,S.,Zhngxuan,L,Ren,Z., and Wang H.: 'Secure Advanced Video Coding Based on Selective Encryption Algorithms' IEEE Trans. on Consumer Electronics Vol.52,No.2, 200605, P.621-629 *
JPN6012036264; Shiguo Lian et al.: 'Secure Advanced Video Coding Based on Selective Encryption Algorithms' IEEE Trans. on Consumer Electronics Vol.52, No.2, 200605, pp.621 - 629, IEEE *

Also Published As

Publication number Publication date
CA2689634C (en) 2016-08-23
JP5467651B2 (ja) 2014-04-09
BRPI0811626A2 (pt) 2014-11-11
CN101681499A (zh) 2010-03-24
WO2008154041A1 (en) 2008-12-18
CA2689634A1 (en) 2008-12-18
EP2162860B1 (en) 2018-08-01
US8588459B2 (en) 2013-11-19
JP5892704B2 (ja) 2016-03-23
JP2010529813A (ja) 2010-08-26
CN101681499B (zh) 2013-04-24
EP2162860A1 (en) 2010-03-17
BRPI0811626B1 (pt) 2019-08-20
KR101518999B1 (ko) 2015-05-12
US20100150394A1 (en) 2010-06-17
KR20100021588A (ko) 2010-02-25

Similar Documents

Publication Publication Date Title
JP5892704B2 (ja) 符号化ビット・ストリームの修正
KR101398534B1 (ko) 코딩된 비트스트림의 수정
JP5373909B2 (ja) 圧縮ビデオにおける構文要素のcabac/avc準拠の透かし入れ
US7779271B2 (en) Watermark embedding
Zou et al. H. 264 stream replacement watermarking with CABAC encoding
JP2005510160A5 (ja)
US8824727B2 (en) Selection of watermarks for the watermarking of compressed video
Zou et al. H. 264/AVC stream replacement technique for video watermarking
Chen et al. Robust drift-free bit-rate preserving H. 264 watermarking
Ye et al. A new adaptive watermarking for real-time MPEG videos
Zou et al. H. 264/AVC substitution watermarking: a CAVLC example
Chen et al. Reversible data hiding for JPEG images based on improved mapping and frequency ordering
Liu et al. A MPEG-2 video watermarking algorithm with compensation in bit stream
Xue et al. A fast H. 264 compressed domain watermarking scheme with minimized propagation error based on macro-block dependency analysis

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140702

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140925

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150121

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150226

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150414

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150714

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20151021

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160222

R150 Certificate of patent or registration of utility model

Ref document number: 5892704

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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