JP2010505318A - ビデオフレームと補助データを含むビットストリームの形成及び処理 - Google Patents

ビデオフレームと補助データを含むビットストリームの形成及び処理 Download PDF

Info

Publication number
JP2010505318A
JP2010505318A JP2009529812A JP2009529812A JP2010505318A JP 2010505318 A JP2010505318 A JP 2010505318A JP 2009529812 A JP2009529812 A JP 2009529812A JP 2009529812 A JP2009529812 A JP 2009529812A JP 2010505318 A JP2010505318 A JP 2010505318A
Authority
JP
Japan
Prior art keywords
video
auxiliary data
frame
data
encoded
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.)
Pending
Application number
JP2009529812A
Other languages
English (en)
Inventor
アー ハー ベルクフェンス,ウィンフリード
レースト,アドリアーン イェー ファン
Original Assignee
エーエムビーエックス ユーケー リミテッド
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 エーエムビーエックス ユーケー リミテッド filed Critical エーエムビーエックス ユーケー リミテッド
Publication of JP2010505318A publication Critical patent/JP2010505318A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

ビデオストリームを形成する方法は、ビデオデータを受信し、補助データを受信し、定義された方式に従って補助データを変換し、それぞれのフレームがエンコードされた変換された補助データを実質的に構成する1以上のビデオフレームとして、変換された補助データをエンコードし、ビデオデータとエンコードされたビデオフレームとを結合してビットストリームを形成する。ビットストリームの形成を実行する装置は、ビットストリームを受信する対応する処理方法及び装置と共に開示される。

Description

本発明は、ビットストリームを形成する方法及び装置に関し、ビットストリームを処理する方法及びシステム、ビットストリーム自身、及びビットストリームを記憶する(DVDのような)記録キャリアに関する。
本発明は、復号化ステップ及びアナログデータパスを受けるMPEGビデオフレームにユーザデータを埋め込む埋め込み方法を提供するものである。
ビデオデータがレンダリングのために、たとえばテレビジョンシステムに伝達されたとき、ビデオデータ(通常はオーディオデータをもつ)を含む信号が伝達される。多くの環境では、幾つかの形式の更なるデータも信号に含まれる。たとえば、デジタルテレビジョンシステムでは、信号にとって、電子番組ガイド及びインタラクティブアプリケーションのようなものを含むデータ部分を含むことが一般であり、この電子番組ガイド及びインタラクティブアプリケーションをエンドユーザは受信し、該信号のビデオコンポーネントを見るのと同時にアクセスすることができる。
ビデオ信号にデータを直接的に含むことも知られている。ビデオ信号をマークする公知の方法は、国際特許出願WO93/00769及び欧州特許出願公開EP0518616に開示されている。公知の方法は、ピクチャにおける所定の乱れが再生に応じて導入されるように、ビデオ信号を修正する。また、データを信号に加えることでビデオ信号をマークすることも知られている。1つの方法は、(たとえばテレテキストにより使用されるように)垂直ブランキング間隔にデータを含めることである。別の方法は、矩形のピクチャ部分をブランクし、前記ピクチャ部分をホワイトとブラックのスポットの系列で置き換えることである。
米国特許US5940134は、ビデオ又はオーディオ信号をマークして、たとえば信号が本物であってコピーされないことを識別するといった、前記信号に分類を割り当てる方法及び装置を開示する。信号は、予め決定された標準(MPEG, PAL, NTSC)に従って少なくとも2つのコンポーネント(Y, UV)を含む。この文献の開示によれば、組み合わせて通常生じることができない値がコンポーネントに割り当てられる。たとえば、Y,U及びVが全てゼロであるブラックのピクチャの部分では、U及び/又はVは、ウォーターマークを構成するために故意に非ゼロにされる。テレビジョン受像機は、ブラックの部分をなお表示する。信号が再びエンコードされ、レコーダブルディスクにコピーされるとき、ウォーターマークが失われる。
この従来技術の特許は、ブラックのビデオ部分におけるユーザデータを符号化する可能性を記載する。この従来技術の特許は、消費者が暗号化に注目することなしに、ビデオフレームの色情報(クロミナンス)におけるこのユーザデータを暗号化する一方で、このフレームにおける画素のそれぞれの強度(ルミナンス)がゼロにセットされる可能性を記載する。このように、ブラックの部分がユーザに示される。
ホームシネマ向けamBX(www.amBX.comを参照)のようなビデオプレイバックを拡張する新たなシステムの導入により、たとえばオーディオ/ビデオ(AV)コンテンツのプレイバックと連結して、(更なる点灯のような)余分の作用をレンダリングして、消費者にとってテレビジョンの視聴の経験を増大させることが可能となる。これらの作用を形成することができるため、このAVコンテンツの拡張で使用されるべきスクリプトが利用可能となることが必要とされる。
WO93/00769 EP0518616 US5940134
AVコンテンツの再生と並行してこれら拡張作用(augmenting effect)を表示することに関する重要な問題は、特定のAVコンテンツの拡張スクリプトがレンダリングの位置で利用可能となる必要があることである。たとえば、ユーザが従来のDVDプレーヤでDVDを視聴する場合、拡張スクリプトへのアクセス及び実行が調整される必要がある。特に、インターネットへのコネクションが存在しないケースでは、拡張スクリプトの分散を支援する幾つかの方法が必要とされる。
その上、他の分散媒体を介してユーザデータを分散することも可能であるが、この媒体の可用性を必要とする。別のオプションは、ディスクに特定のユーザデータファイルを包含することである。しかし、これは、ディスクフォーマットの適合、ディスクプレーヤ装置、及びおそらくディスクプレーヤ装置の外部インタフェースをも必要とする。
先に認識されたように、データはビデオストリームに直接的に含むことができるが、全ての公知のシステムは、(拡張スクリプトのような)データがアクセスされて、信号から検索され、及び/又は、最終的な信号により実行される形式にビデオデータを符号化するオリジナルの装置に対して幾つかの変更が必要とされ、及び/又は、比較的少量のデータのみが画像に含まれるように、受信装置に幾つかの変更を要求する。
したがって、本発明の目的は、公知の技術を改善することにある。
本発明の第一の態様によれば、ビットストリームを形成する方法が提供され、ビデオデータを受信し、補助データを受信し、定義されたスキームに従って前記補助データを変換し、1以上のビデオフレームとして変換された補助データをエンコードし、それぞれのフレームはエンコードされた変換された補助データから実質的に構成され、ビデオデータとエンコードされたビデオフレームを結合してビットストリームにすることを含む。
本発明の第二の態様によれば、ビットストリームを形成する装置が提供され、ビデオデータを受信するビデオバッファ、補助データを受信するストレージ装置、定義されたスキームに従って前記補助データを変換し、1以上のビデオフレームとして変換された補助データをエンコードするプロセッサ、それぞれのフレームはエンコードされた変換された補助データから実質的に構成され、及び、ビデオデータとエンコードされたビデオフレームを結合してビットストリームにする送信機を含む。
本発明の第三の態様によれば、ビットストリームを処理する方法が提供され、複数のエンコードされたビデオフレームを含むビットストリームを受信し、ビデオフレームで抽出プロセスを実行し、それぞれのフレームはエンコードされた変換された補助データから実質的に構成され、抽出プロセスは、ビデオフレームから補助データをデコードすることを含む。
本発明の第四の態様によれば、ビットストリームを処理するシステムが提供され、複数のエンコードされたビデオフレームを含むビットストリームを受信する受信機、ビデオフレームをデコードするビデオデコーダ、ビデオフレームを表示する表示装置、及びビデオフレームで抽出プロセスを実行するプロセッサ、それぞれのフレームはエンコードされた変換された補助データから実質的に構成され、抽出プロセスは、ビデオフレームから補助データをデコードすることを含む。
本発明の第五の態様によれば、予め定義された標準に従ってエンコードされた複数のビデオフレームを含むビットストリームが提供され、前記複数のビデオフレームの第一のセットは、予め定義された標準に従ってデコードされたとき、ビデオデータを含み、前記複数のビデオフレームの第二のセットは、予め定義された標準に従ってデコードされたとき、エンコードされた変換された補助データから実質的に構成される。
本発明の第六の態様によれば、ビットストリームを記憶する記録キャリアが提供され、前記ビットストリームは、予め定義された標準に従ってデコードされたとき、予め定義された標準に従ってエンコードされた複数のビデオフレーム、前記複数のビデオフレームの第一のセットを含み、予め定義された標準に従ってデコードされたとき、ビデオデータ、及び前記複数のビデオフレームの第二のセットを含み、エンコードされた変換された補助データを実質的に構成する。
本発明によれば、その装置の機能に影響を及ぼすことなく、簡単且つ効果的なやり方で完全に回復可能なデータにより、標準的なDVDプレーヤのような旧式の装置により受信されるビデオストリームに直接に比較的大量の補助データを含む方法を提供することができる。通常のビデオフレームに加えて、エンコードされた変換された補助データから実質的に構成され、エンドユーザの表示装置で示されるノイズとしてエンドユーザに見える挿入された余分のフレームが存在する。
本発明は、拡張スクリプトのような補助データが、どのようにAVストリームから直接に取り出され、たとえばDVDに記憶されるかに関する解法を提供する。本発明は、ディスクに基づいたAVコンテンツのデリバリ(たとえばDVD、Blu−ray Disc)について使用することができ、この場合、このコンテンツは、幾つかのアナログデータパスを介して後に転送される。本発明は、データをビデオフレームに埋め込む実施の形態を提供する。
本発明の1実施の形態は、MPEGに基づいたAVマテリアルにユーザデータを埋め込むこと、後に、可能なやり方で効率的に、MPEGに基づいたAVマテリアルから、エラーなしに、このユーザデータを再び取得することである。これは、標準化されたMPEGストリームの制約及びフォーマット、機能的な仕様、能力、デコーダ側(ディスクプレーヤ装置)でのシステムコンポーネントの制限、並びに、デコーダ装置での捕捉及び再構成の能力を考慮する間に達成される。MPEG標準又はディスクプレーヤ装置を変更することなしに、埋め込まれたユーザデータは、ディスクプレーヤ装置のアナログ出力から回復可能である。また、本発明は、MPEGストリームに記憶されたとき、補助データがフレームをデコードする必要なしにエンコードされたMPEGフレームから直接的に回復されるのを可能にする。これは、受信エンドでのシステムがデジタルMPEGストリームへのダイレクトアクセスを有する場合に可能である。
有利なことに、定義されたスキームに従って補助データを変換することは、補助データを複数のレベルに変換することを含み、それぞれのレベルは、予め定義されたレベルのリストのうちの1つに対応し、予め定義されたレベルのリストは、番号1〜15及び−1〜−15である30のレベルから構成される。
定義されたスキームに従う補助データの変換は、複数のレベルをブロック当たりmのレベルをもつ矩形のブロックに変換することを含み、ここでmはブロックサイズの25%以下である。好適な実施の形態では、mは10に等しいか、10よりも小さく、ブロックサイズは8×8に等しい。定義されたスキームに従う補助データの変換は、前記ブロックからフレームを形成することを更に含む。
本発明の主要な利点は、ユーザデータ(この状況では、ユーザの経験を拡張するために使用されるamBXスクリプト)を消費者に伝達するために個別の分散チャネルが必要とされないことである。さらに、(現在の)家庭用ディスクプレーヤ装置は、任意の変形/変更により、この発明をサポートできることを必要としない。実際の変形は、ビデオフレームを受信し、旧式のDVDプレーヤからのアナログ出力を受信することができるプロセッサに構築される必要がある。本発明は、非常に時間を消費するプロセスである標準的な作業を必要としない。
好ましくは、エンコーダは、エンコードされた変換された補助データから実質的に構成される1以上のフレームに予め定義されたビデオ部分を挿入する。完全なランダムなフレームの系列をユーザに提示する代わりに、これらのフレームのコンテンツに関してユーザに通知する幾つかの情報(たとえば適切なロゴにより)をそれぞれのフレームに含むことも可能である。
受信エンドでのプロセッサは、おそらく埋め込まれたユーザデータを継続的にチェックする必要がないように適合される。これを行うことができるため、幾つかのアナウンスメント系列が必要とされる。埋め込まれたユーザデータの終わりをプロセッサに通知するため、類似のタイプの系列が選択される。最も論理的なアナウンスメント系列は、コンテンツにおいて通常は起こらない典型的なフレーム系列であって、プロセッサにおいて既に利用可能な機能により容易に認識することができるフレーム系列である。
符号化方法は、さらに、フィンガープリントフレームを受信し、ビデオデータとエンコードされたビデオフレームをビットストリームに結合したとき、前記エンコードされたビデオフレームの直前に前記フィンガープリントフレームを含める。
たとえば、埋め込まれたユーザデータ系列の開始に先行する短いフレームの系列が使用され、プロセッサのフィンガープリントユニットにより認識される。係るフィンガープリントユニットが連続的にアクティブであるため、余分のシステムの負荷又は新たな機能の包含とならない。フレームで使用される典型的な短い系列は、交互するホワイトとブラックのブロックによるフレームで後に引き継がれる(それぞれがフィンガープリントの計算のために使用されるブロックのうちの1つと同様に大きい)交互するブラックとホワイトのブロックを含む。必要であれば、これは、2〜3回繰り返される。これにより、ビットのそれぞれの高い確率により、フィンガープリントについて交互するパターンとなる。この情報の総和は、ユーザデータ系列の開始位置を固有に識別するために十分な情報となる。オーディオトリガは、受信エンドでの補助データの捕捉を開始するやり方として使用することもできる。
データがDCT8×8ブロックにおけるレベルで符号化される実施の形態では、DCTブロックがフレームの正確な左上のコーナで開始しないことが可能である(DCTブロックの位置における水平方向のシフト及び/又は垂直方向のシフトが存在する)。したがって、多数の特別のDCTブロックの幾つかの開始系列(ヘッダ)は、続いて起こるDCTブロックの正確な位置を発見し、正しいアライメントが得られることが必要である。符号化方法は、変換された補助データを1以上のビデオフレームとしてエンコードしたとき、それぞれのフレームに、前記補助データの開始を示す部分を含むことを更に含む。
本発明は、MPEGに基づいてビデオストリームへのユーザデータ(たとえばスクリプト、及び同期テーブル)の埋め込みのために使用することができる。係るストリームは、ディスクに記憶され、家庭用ディスクプレーヤ装置により再生される。これを行なうことにより、プロセッサを含む個別のデコーダは、ストリームからユーザデータを検索することができ、このデータを使用して、ビデオコンテンツに属する作用をユーザに提供することができる。
本発明の実施の形態は、添付図面を参照して例示を通して記載される。
MPEGシステムの符号化を例示するビデオフレームの系列の概念図である。 図2a及び図2bは、量子化マトリクスのペアを示す図である。 マトリクスを通した順番に並べる経路を示すマトリクスの図である。 図4aは、8×8ブロックを表すマトリクスの図であり、図4bは、DCT変換後の図4aのマトリクスの図である。 量子化後の図4bのマトリクスの図である。 ビットストリームを形成する装置(エンコーダ)の概念図である。 図6のエンコーダの一部の概念図である。 通信チェインの概念図である。 DVDプレーヤ及び個別のデコーダを更に詳細に示す、図8のチェインの一部の概念図である。 図9のデコーダの一部の概念図である。 ビデオフレームのスクリーンショットを示す図である。
本発明の好適な実施の形態は、補助データを利用して、そのデータを1以上のMPEGビデオフレームとしてエンコードする。次いで、これらは、従来のMPEGフレームの系列と結合され、従来のMPEG信号と同じ信号が形成される。この信号は、エンコード側又は受信エンドの何れかで、適合が必要とされることなしに通信チェインで全ての装置により処理され、この場合、信号を受信する装置は、標準的なエンコードされたビデオフレームの系列として信号を単に処理する。
本発明の全体的な理解のため、幾つかのMPEGの基本が説明され、このMPEGの基本は、以下に続くアルゴリズムの説明を簡単にする。(MPEGヘッダのような)オーバヘッドに加えて、MPEG信号は、フレーム系列から構成される。これらのフレームは、2つのタイプにカテゴリ化される。フレーム内符号化されたフレーム(Iフレーム)は、ストリームにおいて他のフレームとは独立に符号化され、ピクチャにおける空間的な冗長度のみを利用する。第二のタイプである、フレーム間符号化されたフレーム(Pフレーム又はBフレーム)は、連続するフレーム間の時間的な冗長度を利用し、動き補償を使用して予測誤差を最小化する。予測誤差及び動きベクトルのような幾つかのオーバヘッドのみがエンコードされる。Pフレームは、過去において1つのフレーム(Iフレーム又はPフレーム)から予測され、Bフレームは、一方が過去において、他方が将来において、2つのフレーム(Iフレーム又はPフレーム)から予測される。Bフレームが将来におけるフレームを示すので、送信順序は、表示順序と異なり、Bフレームは、Bフレームが予測されるフレームの後に続く。
I,P及びBフレームを含む系列の例は、図1に示される。この図は、異なるフレームタイプが送信/デコード順序において、及びカメラ/表示順序においてどのように生じるかを示す。フレームの(画素データを記憶又は伝送のための符号化形式に変換する)符号化手順は、以下の通りである。
1)フレーム(Iフレームについてこれは画像自身であり、P又はBフレームについてこれは予測誤差である)は、それぞれのコンポーネント(輝度yサンプル及び色度Cb及びCrサンプル)について画素の8×8ブロックに分割される。いわゆるマクロブロックは、輝度値の4つの(2×2)ブロック、色度のフォーマットに依存して、4:4:4,4:2:2及び4:2:0の色度のフォーマットについてそれぞれ色度サンプルの8,4又は2ブロックから構成される。4:2:2色度フォーマットのケースにおいて、色度値は、水平方向にダウンサンプルされ、4:2:0色度フォーマットのケースにおいて、色度値は、水平方向及び垂直方向にダウンサンプルされる。P及びBフレームにおける動き補償は、これらマクロブロックに基づいて実行される。
2)2次元DCT(離散コサイン変換)は、8×8ブロックに実行され、DCT係数の8×8ブロックが得られる。DCT係数は、入力ブロックの水平方向及び垂直方向の空間周波数に関する情報を含む。ゼロの水平周波数及びゼロの垂直周波数に対応する係数は、DC係数と呼ばれる。自然画像について典型的に、これらの係数の配置は一様ではなく、変換は、エネルギーを低周波係数(8×8DCT変換ブロックの左上コーナ)に集中する傾向にある。
3)AC DCT係数c(m,n)(DC係数は異なって処理される)は、イントラ符号化ブロックにおいて量子化ステップq.Qintra(m,n)/16を適用することで量子化され、インター符号化ブロックにおいて量子化ステップq.Qnon-intra(m,n)/16を適用することで量子化される。図2aは、デフォルトのイントラ量子化器のマトリクスQintraを示し、図2bは、デフォルトのノンイントラ量子化器のマトリクスQnon-intra(m,n)/16を示す。量子化ファクタq(MPEG標準では、この量子化ステップはquantizer_scale変数により与えられる)は、マクロブロックからマクロブロックに設定することができ、1と112との間の範囲に及ぶ。
4)DCT係数のシリアライゼーション。このステップの目的は、2次元の8×8ブロックのDCT係数を1次元のアレイの64の係数にマッピングすることである。量子化されたDCT係数のシリアライゼーションは、起こり得るエネルギーのクラスタリングを、先にステップ2で生じた低周波の係数に利用する。図3は、MPEGスキームで使用されるDCT係数のシリアライゼーションの順序を示し(この図では、ジグザグスキャンが使用されるが、インタレースビデオについて良好な圧縮を与える代替的なスキャンも存在する)、ここで最初と最後のエントリは、最低空間周波数と最高空間周波数をそれぞれ表す。
5)DCT係数の符号化。ステップ4で生成された値のリストは、可変長符号(VLC)を使用してエントロピー符号化される。このステップでは、実際の圧縮が行なわれる。以下の表1では、テーブルの一部が表にされ、イントラAC係数のために使用される。それぞれのVLCコードワードは、特定のレベルの非ゼロの係数により後続されるゼロのランを示す(すなわちDCT係数に先行するゼロ値の係数の数)。VLC符号化は、短いゼロのランは、長いランよりも可能性が高く、小さな係数は、大きな係数よりも可能性が高いことを認識する。VLC符号化は、生じる様々なVLCコードについて異なる長さのコードワードを割り当てる。
Figure 2010505318
より詳細に可変長符号化プロセスを説明するため、図4及び図5のマトリクスにおいて実際の例が示され、これらの図は、あるブロックの可変長符号化を説明する例を示す。図4aは、空間領域における8×8ブロックの画素の輝度値を示し、図4bは、DCT変換に従う図4aのマトリクスを示す。図5は、図4bに示されるブロックのDCT係数の量子化後に得られるレベルを示す。
第一のステップにおいて、空間領域における画素の輝度値(図4a)を含む8×8ブロックは、DCT領域(図4b)に変換される。その後、このブロックはイントラ符号化され、量子化ステップq=16であることを想定することで、これらのDCT係数は、(先のステップ(3)で説明されたように)対応する量子化ステップQnon-intra(m,n)でそれぞれの係数を除算することで量子化される。この動作により、図5に示されるマトリクスが得られる。ステップ(4)のジグザグスキャンにより、以下のレベルの系列が得られる。
[外1]
Figure 2010505318
簡単のため、DC係数は異なるやり方で扱われ、補助データを埋め込むアルゴリズムにより使用されないので、DC係数の符号化がスキップされる。VLC符号化アプローチに続いて、このレベルの系列は、以下のラン/レベルのペアにマッピングされる。
[外2]
Figure 2010505318
この表記では、あるペアの第一の数は、第二の数の値に先行するゼロの数を示す。最後のゼロのランは、エンドオブブロック(EOB)のマーカで置き換えられる。最終的に、これらラン/レベルのペアは、表1におけるVLCを使用することでビットストリームに変換される。
[外3]
Figure 2010505318
2つの方法で補助データを埋め込むことが可能であり、第一は空間領域においてであり、続いてMPEG符号化又は直接的にMPEG領域においてである。好適な実施の形態は、MPEG領域で直接にデータを埋め込むことである。これは、MPEGストリーム及びビットレートに対して最も高い制御を与えるためである。
埋め込まれるのは(実際の画像に対応しないという意味で)ランダムなデータであるので、連続するビデオフレームは相関せず、すなわちフレーム間には時間的な冗長度が存在しない。直接的な結果として、一般に、フレームは、過去のフレーム又は将来のフレームから予測することができず、したがって、Iフレーム及び/又はイントラ符号化ブロックを使用することが可能である。さらに、生成されたビデオフレームは自然画像ではないので、イントラ符号化ブロックについてデフォルトの量子化マトリクスの代わりに、修正された量子化マトリクスを使用することが好ましい。実際に、このデータストリームのイントラ符号化ブロックについて、図2bで示されたように、インター符号化ブロックのために使用される量子化マトリクスを使用することが好ましい。これは、MPEGストリームの“sequence header”又は“quant matrix extension”において、MPEGストリームにおけるこの修正された量子化マトリクスを挿入することで実現することができる(MPEGは、選択された量子化マトリクスの送信をサポートする)。MPEGデコーダは、デフォルトのマトリクスの代わりに、この修正された量子化マトリクスを使用する。しかし、別の量子化マトリクスも可能である。
本発明の主要な実施の形態は、DCTブロックのレベルにデータを埋め込むことである。これは、たとえばデータを埋め込むために使用される16の異なるレベルが存在する場合、DCTの位置当たりlog216=4ビットを埋め込むことができる。最も効率的なやり方でデータを埋め込むため、データビット(DCTレベルを意味する)は、DCTの位置当たり最小の量のMPEGストリームのビットにより表される必要がある。表1における最も短いVLCは、小さなランと小さなレベルをもつラン−レベルのペアのVLCである。特に、0に等しいランをもつラン−レベルのペアは、平均で、レベルのむしろ大きなレンジについて最も短いVLCを有する。
表2では、9以下の長さをもつ対応するVLCによるラン−レベルのペアについてVLCが表にされる。補助データを埋め込むために0に等しいランをもつラン−レベルのペアのみが使用されるとき、DCTの位置当たり最高のビットレートが得られることが分かる。以下に見られるように、システムのロバスト性のため、DCTブロックにおけるゼロのDCT係数を挿入可能であることが望ましい。したがって、ゼロレベルは、データを埋め込むために使用されない。このように、データに影響を及ぼすことなしに、非ゼロのランをもつラン−レベルのペアを使用することで、ゼロを容易に挿入することが可能である。表2で見られるように、データを埋め込むために有効に使用することができる0に等しいランをもつ30の異なるレベル(−15〜−1及び1〜15)が存在する。結果として、DCT位置当たりlog2(2×15)≒4.9ビットを埋め込むことができる。しかし、ゼロを挿入することが必要である場合、このビットレートは減少する。
Figure 2010505318
原理的に、本方法は、このように、以下の条件で、DCTブロック当たり63×4.9=309ビットを埋め込むために使用される(DCの位置は、データを埋め込むために使用されないが、以下に説明されるようにデコード後に空間領域でのクリッピングを防止するために使用される)。構築されたMPEGストリームの全体のビットレートは、最大の許容されるビットレートよりも低い(DVDコンテンツ向けに使用される、メインレベルでのMPEGメインプロファイルについて、この最大のビットレートは10Mビット/秒に等しい)。データを含む構築されるDCTブロックは、デコード後に空間領域でクリッピングを生じない。
データはランダムであるので、全てのラン−レベルのペア(すなわち0に等しいラン及び−15〜+15の範囲に及ぶレベルをもつラン−レベルのペア)は、データを表すために使用されるために全て同じ確率を有することが想定され、すなわち一様な分布が想定される。結果として、DCTの位置当たりの平均のVLCの長さは、コードブロックにおけるVLCの数により除算されるVLCの長さの合計に等しい。このケースでは、平均の長さは、7.2ビットに等しい。なお、7.2−4.9=2.3ビットのオーバヘッドが存在する。PALビデオコンテンツでは、1つのフレームは、720×576/64=6480輝度(8×8画素)DCTブロック、6480/4=1620色度DCTブロックから構成され、毎秒25フレームが存在する。したがって、全体的に、全てのDCTの位置が使用される場合に、データを表すために必要とされる(6480+1620)×63×7.2×25=91854000ビット/秒が存在し、およそファクタ9である。この問題に対する直接的なソリューションは、DCTブロック当たり63/9=7の位置のみを使用することであり、これは幾つかの他の利点を有し、この他の利点は簡単に説明される。DCTブロック当たり6つの位置(7は余りに大きい)が使用される場合、約(6480+1620)×6×25×4.9=5953500ビット/秒又はPALコンテンツでは0.71Mビット/秒を埋め込むことができる。オーバヘッドを排他する対応するMPEGストリームは、約(6480+1620)×6×25×7.2=8748000ビット/秒又は8.3Mビット/秒のビットレートを有する。これは、MPEGオーバヘッドについて約1.7Mビット/秒を残す。
この埋め込みプロセスで解決されるべき別の問題は、空間領域におけるクリッピングである。MPEGデコーダは、以下で定義される逆DCT変換により画素値を計算する。
Figure 2010505318
F(u,v)は64のDCT係数であり、p(n,m)はマクロブロックにおける画素値であり、n=0〜7及びm=0〜7である。これらの画素値は、0≦p(n,m)≦255であるようにクリップされる。したがって、クリッピング(非線形動作)がデータのデコードを更に複雑にするので、デコードが行なわれるとき、クリッピングが行なわれないように、DCT係数F(u,v)が選択されることを確かめることが必要である。補助データは、アナログパスを切り抜ける必要があり、したがって、画素値p(n,m)は、勧告ITU−R BT.601−4で記載されるように更に厳しい条件32≦p(n,m)≦235に適合する必要がある。画素値p(n,m)の上限は、以下に等しい。
Figure 2010505318
ここでF(0,0)は画素の8×8ブロックにおける平均の画素値(DC値)に直接に関連される。1つの可能な選択は、8×8ブロックの平均の画素値が(235+32)/2=134=1072/8に等しいように、F(0,0)=1072である。補助データを埋め込むために6つのACのDCT係数が使用される場合、この選択は、これら6つの係数の絶対値の平均が101×4/6=67よりも小さいとき、クリッピングが平均において生じないことを保証する(101=235−134≒134−32)。
埋め込まれたデータはDVDプレーヤから外部のデコーダへのアナログ経路を切り抜けるべきであるので、データはノイズに対してロバストであるべきである。これを達成するための1つのやり方は、DCT係数の大きな量子化ステップを使用することである。これらの量子化ステップは、量子化マトリクス及びquantizer_scaleqの変数により制御することができる。イントラ符号化されたDCT係数c(m,n)は、以下のようにデコードされる。
Figure 2010505318
上記式は、全てのm及びnについて、Qintra(m,n)=16である場合、以下のように簡略化される。
Figure 2010505318
このように、量子化スケールqが大きくなると、データはノイズに対して更にロバストになる。ランダムデータについて、あるレベルは、平均で8の絶対値[2×(1+2+・・・+15)/30=8)を有する。先に示されたように、クリッピングを防止するため、平均のDCT係数は、67以下となるべきである。直接的な結果として、平均して、qは67/8=8に以下に選択される。ここで、DCTブロックで6つのDCT係数を使用する第二の利点が示される。より多くの係数は、低いqにつながり、ノイズに対してロバスト性の低いシステムとなる。代替として、又はシステムを更にロバストにするため、誤り訂正を適用することができる。
幾つかのDCTブロックについて、DCT係数の絶対値の平均が67よりも大きいことが生じる可能性がある。この場合、逆DCT変換を施すことでクリッピングが生じているかをチェックし、クリッピングが生じている場合、この特定のブロックにおけるDCT係数の数を低減する。ラン−レベルのペアを賢明に使用することで、賢明に選択された位置でゼロを形成することで幾つかのビットを節約することができる。デコーダは、これを認識する。最終的に、システムを更にセキュアにするため、データを暗号化することによる暗号化を使用する。
図6は、ビットストリームを形成する装置である、エンコーダ10を示す。エンコーダ10は、ビデオバッファ14を有し、このビデオバッファは、幾つかのビデオ系列を構成するフレームである従来のビデオデータを受信する。ビデオデータ16は、MPEGストリームにエンコードされる必要がある画素データの形式であるか、又は、ひとたびエンコードされた補助データ18と結合されるべきMPEGデータである場合がある。
また、装置10は、補助データ18を受信及び記憶する。本発明の1実施の形態では、補助データ18は、(映画のような)娯楽の経験の拡張における使用のためのスクリプトを定義する1以上のXMLファイルの形式をとり、同期テーブルにより1以上のファイルの形式をとる。データ18は、装置10により、イントラ符号化されたブロックのみによるMPEGのIフレーム或いはP又はBフレームにエンコードされる。
エンコーダ10におけるプロセッサ22は、(図7を参照して以下で更に詳細に説明される)定義されたスキームに従って補助データ18を変換し、変換された補助データを1以上のビデオフレーム24としてエンコードする。それぞれのフレーム24は、エンコードされた変換された補助データ18から実質的に構成される。プロセッサ22は、補助データ18をその記憶された形式(XMLファイルを表すビットストリーム)からフレーム24としてMPEGレベルのセットに変える。これらのフレーム24は、そのIフレームが適切な表示装置により表示された場合に単なるノイズであるが、たとえば従来のMPEGデコーダにより処理されたとき、正確に、有効なMPEGストリームに見える。
フレーム24及びビデオデータ16は、送信機26に送出され、この送信機は、ビデオデータ16とエンコードされたビデオフレーム24を結合してビットストリーム12にする。エンコーダ10は、ビットストリーム12を(従来のDVDのような)記録キャリア28に出力し、この記録キャリアは、ビットストリーム12を記憶する。ビットストリーム12は、予め定義された標準に従ってエンコードされた複数のビデオフレームを含み、第一のビデオフレームのセットは、予め定義された標準に従ってデコードされたとき、ビデオデータ(オリジナルデータ)16を含み、及び、第二のビデオフレームのセットは、予め定義された標準に従ってデコードされたとき、エンコードされた変換された補助データ(データ18)から実質的に構成される。
図7は、補助データ18を受信するエンコーダ10におけるプロセッサ22の機能を更に詳細に示す。プロセッサ22は、定義されたスキームに従って補助データ18を変換するとき、補助データ18を複数のレベルに変換する。それぞれのレベルは、1〜15及び−1〜−15である予め定義されたレベルのリストのうちの1つに対応する。これは、機能ブロック30で行なわれ、ここで、ビットストリームは、一連のレベルに変換される。次のブロック32は、ブロック当たり6つのレベルによる、複数のレベルの8×8のブロックへの変換である。
次いで、プロセッサ22は、ブロック34で、ブロック36で行なわれるDCTブロックのVLCコードワードへの変換の前に、クリップの防止を実行する。次いで、プロセッサ22は、マルチプレクサ38で、一連のフレームを標準的なMPEGヘッダとアセンブルし、結果的に、MPEGストリームである出力が得られ、この出力は、ビデオデータ16との結合のため、ビットストリーム12の最終的な形成のため、エンコーダ10における送信機26に通過される。
プロセッサ18により補助データ18の変換及びエンコードの間、データ18は、DCTブロックにおいて連続して入力される30のレベルにマッピングされる。これらのレベルは、量子化マトリクスQintra(m,n)及び量子化スケールqを使用することでDCT係数に変換される。逆DCT変換を適用した後にクリッピングが生じた場合、ビットレートをできるだけ低く保持するため、VLC生成モジュール36と通信することで、レベルが除かれ、ゼロが賢明なやり方で挿入される。除かれたレベルは、次のブロックに移動される。この手順のため、VLC生成モジュール36は、正しいVLCを生成するためにどのスキャン方法(交互のスキャン又はジグザグスキャン)が使用されるかを知ることが必要である。最終的に、生成されたストリームは、MPEGヘッダと多重化され、有効なMPEGストリームが構成される。
図8は、エンコーダ10がDVD28に記憶されるその出力(ビットストリーム12)を有する通信チェインの例を示し、この出力は、標準的なDVDプレーヤ40により受信される。そのDVDプレーヤ40のアナログ出力は、デコーダ42により使用され、このデコーダは、ビデオフレームに含まれている補助データ18にアクセスすることができる。
デコーダ42は、アナログビデオフレームを取り出し、DCT変換をそれぞれ8×8ブロックに適用して、それぞれのブロックのDCT係数を取得する。デコーダは、量子化マトリクスQintra(m,n)の値及び量子化スケールqの値を認識しているので、除算により対応するレベルを計算することができる。これらのレベルから、ルックアップテーブルによりビットを取り出すことができる。また、デコーダ42は、どの順序でDCT係数がDCTブロックに書き込まれるかを知る。ゼロのDCTレベルはデータを与えず、スキップすることができる。したがって、クリップ防止のためにゼロが形成される場合、デコーダ42は、これを認識する。
図9は、消費者のリビングルームのような受信エンドでのビットストリーム12を処理するシステムを示し、受信エンドでは、消費者は、DVD28の映画を視聴し、補助データ18を使用することができる拡張システムを有する。このシステムは、1実施の形態では、DVDプレーヤ40及びデコーダ42を有する。
プレーヤ40は、キャリア28からビットストリーム12を受信する受信機44を有しており、このビットストリーム12は、複数のエンコードされたビデオフレームを含む。さらに、DVDプレーヤは、従来のビデオデコーダ46を含み、このビデオデコーダは、表示装置48に送出されるビデオフレームをデコードし、この表示装置は、ビデオフレーム24及び16を表示する。
また、ビデオフレームは、デコーダ42にDVDプレーヤ40により送出される。このコネクションは、標準的なアナログ出力とすることができる。これは、DVDプレーヤがデジタルストリーム(MPEG)を受信し、これを、従来のテレビジョン48のようなアナログ装置による表示のためにアナログストリームに変換するためである。デコーダ42は、デコードされたビデオフレーム24で抽出プロセスを実行するプロセッサ50を含み、それぞれのフレーム24は、エンコードされた変換された補助データ18から実質的に構成され、抽出プロセスは、ビデオフレーム24から補助データ18をデコードすることを含む。デコーダ42は、図10で更に詳細に示される内部プロセッサ50を有する。プロセッサ50は、8×8DCT変換を適用することでDCT領域にフレームの画素を変換する機能モジュール52を含む。量子化マトリクスQintra(m,n)及び量子化スケールqを使用することで、機能ブロック54で係数がレベルに変換され、これらレベルから、オリジナルの補助データが回復される。
それぞれのビデオフレーム24は、エンコードされた補助データ18を含み、そのビデオフレーム24が従来の表示装置48により表示されるとき、意味のある画像を形成しない一連のグレイスケールの画素として見える。ノイズから構成されるこれらのフレームは、DVD28で含まれ、フィルムの開始前の数秒の間に実行される。ユーザは、DVDの文献における挿入を介してフレームの存在について警告されるか、又は、ロゴ又は類似のメッセージがユーザを警告するためにスクリーンの非常に小さな部分に適用される。このロゴは、エンコーダエンドでフレームがオリジナルにエンコードされたときに組み込まれ、実際のビデオデータとして、補助データを含む特定のフレームの一部を形成する。また、ユーザが補助フレームをスキップするか、ユーザがこれらのフレームの再生の間のトリックプレイを実行する可能性をディスエーブルにする情報をDVDに加えることもできる。
主要な実施の形態で先に記載されたように、(ビットから形成される)補助データ18は、MPEGレベルに変換される必要がある。全体として、データビットを表すために30のレベル(−1〜−15及び1〜15)が存在する。30は2のべき乗ではないので、ビットのレベルへの変換は簡単ではない。1つのソリューションは、0〜15の16の数に対応する4ビットのみをこれら30のレベルにマッピングし、次いで、利用可能なレベルの部分16/30≒0.53が使用され、すなわち、4ビットのみが理論的に可能な4.9ビットの代わりに埋め込まれる。結果として、DCTブロック当たりのビット数が減少され、データレートが低減され、データ18をエンコードするために必要とされるフレーム数が増加される。
したがって、DCTの位置毎に埋め込むことができるビット数bが最大であるように、NのDCT位置により表される(すなわち30Nのレベルにより表される)ビット数bが決定されるべきである。
Figure 2010505318
ここで
[外4]
Figure 2010505318
は∞に向かう最も近い整数への丸めqを示し、
[外5]
Figure 2010505318
は基底の30の数のシステム、すなわち
Figure 2010505318
においてiビットで記述することができる数xを表すために必要とされるDCTの位置の数である。ここで、clはビットであり、akε{0,...,29}は基底の30の係数である。しかし、効果的に処理されるコンピュータより使用されるワード長が制限されているので、ビット数bは、余りの大きくとることができない。現在のコンピュータ/マイクロプロセッサは、8,16,32及び64ビットのワード長を使用する。以下の表では、異なるワード長について、基底の30の数のシステムにおいてある数により効果的に表されるビット数を示す。
Figure 2010505318
この表では、それぞれのワード長について、先の式(1)から従う、使用されるべき最適なビット数、ビットを表現するために必要とされるDCTの位置の対応する数、DCT位置当たりのビット数、及びビットを表現するために使用される30レベルの部分が表示される。この表では、ワード長が長くなると、使用されるDCTレベルの部分が高くなる。言い換えれば、ワード長が長くなると、表現が更に効率的になる。
先の表から、マイクロプロセッサが以下のやり方でたとえば32ビットのワード長を使用するとき、ビットストリームとしての補助データ18は、MPEGレベルに変換される。
1.補助データを29ビットのセクションに分割する。
2.この29ビットの数を30の数のシステムで表現される数に変換する。
3.基底の30の係数をMPEGレベルにマッピングする。
最後のステップは、必須である。それは、MPEGのレベルが−15〜−1及び1〜15の値をとる間、30の数のシステムにおける番号の係数が0〜29の値をとるためである。好適な実施の形態では、以下の表で示されるマッピングが使用されるが、(たとえばデータを暗号化するために)他のマッピングも可能である。基底の30の係数からMPEGレベルにマッピングする1つの簡単なスキームは、以下に示される。
Figure 2010505318
ここで、0〜29の上段のナンバリングは、基底30に対する番号を表し、下段は、MPEGレベルを表す。たとえば、基底30の系列における番号22は、8×8ブロックに挿入されるべきMPEGレベルとしてDCT係数8にマッピングされる。全体の変換及び符号化プロセスの例として、32ビットのワード長のケースについて、以下の29ビットの数xは、6のMPEGレベルに変換される。
Figure 2010505318
この2進数(10進数で339404371)は、補助データ18である、この補助データは、拡張システムでの使用のために2進数で表現される1以上の命令であると考えられる。
Figure 2010505318
における係数akを計算するため、以下のアルゴリズムが使用される。または、以下に示される。
1.akは、30により除算されるxの余りとなる。
2.新たなxは、xを30で除算し、結果を最も近い整数に丸めることで計算される。
3.これらの2つのステップを、全ての6つの係数akが計算されるまで繰り返す。
このアルゴリズムが先の数x(339404371)に適用される場合、以下の6つのステップが実行される。
1.X=339404371,a0=1、新たなxは11313479となる。
2.X=11313479,a1=29、新たなxは377115となる。
3.X=377115,a2=15、新たなxは12570となる。
4.X=12570,a3=0、新たなxは419となる。
5.X=419,a4=29、新たなxは13となる。
6.X=13,a5=13、新たなxは0となる。
したがって、xは、以下のように記載される。
X=339404371=1・300+29・301+15・302+0・303+29・304+13・305
先の表から、係数は、以下のMPEGレベル−14,15,1,−15,15及び−2に変換される。これらは、次いで、8×8ブロックに挿入され、−14はブロックにおける位置1に対応し、15はブロックにおける位置2に対応する。これが受信エンドで受信されたとき、デコーダは、基底の30の係数を発見するために逆のマッピングを使用し、この逆のマッピングから、オリジナルのビットを容易に抽出して補助データを再形成することができる。
先の実施の形態では、デコーダ42は、あるフレームのアナログ画像を受信する。しかし、MPEGストリーム自身がデコーダ42にとって利用可能である場合、補助のデータ抽出が非常にシンプルになる。これは、たとえば、受信エンドでの特注の装置で生じる可能性があり、これは、表示のためにビデオフレームをデコードするのに加えて、フレームを構成するデジタルデータへのアクセスを有する。補助データは、DCTレベルに埋め込まれ、これらDCTレベルは、MPEGデコーダで直接に利用可能である。
さらに、量子化ステップq及び量子化マトリクスQintraは、これらがDCT係数からのレベルを計算するために必要とされるため、補助データを抽出するために必要とされない。この場合、デコーダは、MPEGストリームが利用可能である場合、MPEGパーサを使用してMPEGストリームからのレベルを抽出する。マッピングは、たとえば基底の係数0〜29を様々なMPEGレベルにマッピングする先のテーブルの逆を使用することで、これらのレベルを補助データにマッピングする。
エンコーダ/デコーダスキームの他の更なる実施の形態が可能であり、たとえば、情報は、DCT係数の位置に記憶される。DCTブロックは、63のAC係数と1つのDC係数を含む。データを埋め込むため、DCTブロックにおける1つの非ゼロのACレベルの位置が使用される。非ゼロのACレベルを配置するために63の位置が存在し、したがって、DCTブロック当たりlog263≒6ビットを埋め込むことが可能である。さらに、データをレベルに埋め込むことも可能である。レベル−15〜−1及び1〜15が使用される場合、DCTブロック当たりlog2(63.30)≒10.9ビットを埋め込むことができる。
DCTブロックに埋め込むことができるビット数を更に増加するため、許容されるレベル−15〜−1及び1〜15は、たとえば(−15,−14),(−13,−12)...(−1,1)...(14,15)といったペアに分割され、1の代わりに15のACレベルを使用する。第一のACレベルは、選択するための63の位置及び2つのレベル、第二のACレベルは、62の位置及び2つのレベルを有する等である。このように、ブロック当たり、
Figure 2010505318
を埋め込むことが可能である。デコーダは、DCTブロックにおけるどの位多くの位置から、ペアを選択して正しいビットを抽出するかを知るため、どの順序でペアがDCTブロックに埋め込まれるかを知る必要がある。なお、固有のセットに分割されるレベルのセット、これはデコーダサイドで異なるACレベルを区別するために必要とされる。また、レベルは、たとえば2つのセットといった、より大きなセットに分割される。この場合、2つのACレベルは、データを埋め込むために使用される。第一のACレベルは、63の位置及び15のレベルから選択され、第二のACレベルは、62の位置及び15のレベルから選択され、したがって、DCTブロック当たりlog2(63・15)+log2(62・15)≒19.7ビットを埋め込むことが可能である。
実際に、DVDプレーヤ及びアナログパスによる歪みのためにロバストであるため、63の位置及び/又は15のレベルを使用することは賢明ではない。少ない位置及び/又はレベルを使用することは、DCT当たり低いビットレートとなる。
更にロバストとなるため、DVDプレーヤ及びアナログパスにより導入される歪みに関して、代替は、8×8ブロックの平均の輝度又は色度の値を意味するDCレベルに情報を埋め込むことである。あるブロックの平均値は、0と255との間の値を有するか、又は、勧告ITU−R BT.601−4に記載されるように、更に厳しい条件では32と235との間の値を有する。
このように、ブロック当たり、最大でlog2(235−32)≒7.6ビットを埋め込むことが可能である。実際に、更にロバストとなるため、可能な平均値の数を低くすることが必要である。全ての235−32=203レベルを使用する代わりに、量子化が適用され、これら203のレベルのサブセットのみが使用される。たとえば、8の量子化ステップが使用され、データを埋め込むために26のレベル32,40,48,...224及び232が使用され、ブロック当たり4.7ビットとなる。ブロックの平均値が歪みのために変化する場合、デコーダは、この歪んだ平均値に最も近いサブセットにおける平均値が埋め込まれたことを想定する。
実際に、DVDプレーヤは、フレームとして受信された全体の画像の明るさを増加又は減少する場合があり、結果として、8×8ブロックの平均値も増加又は減少される。たとえば32といった明るさが著しく変化した場合、デコーダは、ビットを正しく抽出することができない。この問題に取り組むため、データは、2つの隣接する8×8ブロックの平均値における差で埋め込まれる。全体のブロックにおける変化は、2つのブロック間の差に影響を及ぼさない。たとえば、32の平均値の32,38...218(6の量子化ステップ)のみが使用されることが想定される場合、5ビットを埋め込むことが可能である。
エンコーダが以下のデータ1,15,15,14,3,0,0,31を埋め込むことを望む場合、以下の方法が使用される。デコーダは、128の任意に選択された平均値で開始する(なお、許容される平均値のうちの別の平均値を開始するために選択することができるが、デコーダは、この開始値を知る必要がある)。
データ1を埋め込むため、エンコーダは、128+(1×6)=134を埋め込み、すなわち、画像の左上のコーナにおける最初の8×8のブロックの平均値は134になる。
次いで、15×6=90を前の平均値134に加えることで15が埋め込まれ、すなわち、第二のブロックは、134+90=224の平均値を取得する。しかし、224は余りに大きく(218は最も大きな許容される平均値である)、したがって、この値は、モジュロ演算子により操作され、すなわち、値[224−32]32×6+32=[192]192+32=32を取得し、ここで[p]qは、整数pモジュロqを意味する。モジュロ演算子のため、最小の許容される平均値32がゼロにマッピングされることを確かめるため、値32は減算される。次いで、モジュロ演算子を適用した後、この値32は再び加算される。
次いで、次の値15は、15×6=90を前の値32に加えることで埋め込まれ、したがって、次のブロックは値122を取得する。
14は84を値122に加えることで埋め込まれ、したがって、次のブロックの平均値は206となる。
次のブロックは、平均206+3×6=224を取得する。この値は、[224−32]192+32=32に丸められる。
以下の2つのブロックは、2つのゼロが埋め込まれるので平均値32を取得する。
最終的に、最後のブロックは、平均値32+32×6=218を取得する。
したがって、画像の左上のコーナにおける8つの隣接するブロックは、平均値134,32,122,206,32,32,32,218を取得する。デコーダは、左から右に画像をスキャニングすることでブロックの平均値を計算し、これらの値を含む1次元のベクトルmを構築するデコーダは、以下のやり方でi=0〜7でデータd(i)を抽出する。
Figure 2010505318
ここでこの値mがエンコーダにおける開始値として選択されるため、m(-1)=128である。このルールを適用することで、以下のデータが得られる。
Figure 2010505318
このアプローチの利点は、減算のためにオフセットが相殺されるため、埋め込まれるデータが全体の画像の明るさの変化により破壊されないことである。
DC埋め込みアプローチの利点は、DCT変換を計算するために必要ではなく、8×8ブロックの平均値のみを計算する必要があるので、デコーダを非常にシンプルにすることができることである。図11では、8×8のブロックの平均値にデータが埋め込まれた画像の例が示されており、データがDC値に埋め込まれた場合に、補助データで埋め込まれた画像がどのように見えるかに関する例をプロットしている。

Claims (35)

  1. ビデオストリームを形成する方法であって、
    ビデオデータを受信するステップと、
    補助データを受信するステップと、
    定義された方式に従って前記補助データを変換するステップと、
    それぞれのフレームがエンコードされた変換された補助データを実質的に構成する1以上のビデオフレームとして、変換された補助データをエンコードするステップと、
    前記ビデオデータとエンコードされたビデオフレームとを結合して前記ビットストリームを形成するステップと、
    を含む方法。
  2. 前記定義された方式に従って前記補助データを変換するステップは、前記補助データを、それぞれのレベルが予め定義されたレベルのリストのうちの1つに対応する複数のレベルに変換するステップを含む、
    請求項1記載の方法。
  3. 前記予め定義されたレベルのリストは、数1〜15及び−1〜−15である30のレベルから構成される、
    請求項2記載の方法。
  4. 前記定義された方式に従って前記補助データを変換するステップは、前記複数のレベルを、DCTブロックに含まれるDCTの位置の予め決定された数に変換するステップを更に含む、
    請求項2又は3記載の方法。
  5. 前記予め決定された数は、DC係数に対応するDCTの位置を含む、
    請求項4記載の方法。
  6. 前記定義された方式に従って前記補助データの変換するステップは、前記ブロックからフレームを形成するステップを更に含む、
    請求項4又は5記載の方法。
  7. 予め定義されたビデオ部分を、前記エンコードされた変換された補助データを実質的に構成する1以上のフレームに挿入するステップを更に含む、
    請求項1乃至6の何れか記載の方法。
  8. フィンガープリントフレームを受信するステップと、
    前記ビデオデータと前記エンコードされたビデオフレームを結合してビットストリームを形成するとき、前記エンコードされたビデオフレームの直前に前記フィンガープリントのフレームを含めるステップとを更に含む、
    請求項1乃至7の何れか記載の方法。
  9. 1以上のビデオフレームとして前記変換された補助データをエンコードするとき、前記補助データの開始を示す部分をそれぞれのフレームに含めるステップを更に含む、
    請求項1乃至8の何れか記載の方法。
  10. 前記変換された補助データをエンコードするとき、前記補助データを含む1以上のビデオフレームをユーザがスキップするのを不可能にする情報を含めるステップを更に含む、
    請求項1乃至9の何れか記載の方法。
  11. 前記補助データは、少なくとも1つのイントラ符号化されたDCTブロックでエンコードされる、
    請求項1乃至10の何れか記載の方法。
  12. ビットストリームを形成する装置であって、
    ビデオデータを受信するビデオバッファと、
    補助データを受信するストレージ装置と、
    定義されたスキームに従って前記補助データを変換し、それぞれのフレームがエンコードされた変換された補助データから実質的に構成される1以上のビデオフレームとして、変換された補助データをエンコードするプロセッサと、
    前記ビデオデータと前記エンコードされたビデオフレームを結合して前記ビットストリームを形成する送信器と、
    を有する装置。
  13. 前記プロセッサは、前記定義された方式に従って前記補助データを変換するとき、前記補助データを、それぞれのレベルが予め定義されたレベルのリストのうちの1つに対応する複数のレベルに変換する、
    請求項12記載の装置。
  14. 前記プロセッサは、前記定義された方式に従って前記補助データを変換するとき、前記複数のレベルを、DCTブロックに含まれるDCTの位置の予め決定された数に変換する、
    請求項13記載の装置。
  15. 前記プロセッサは、前記定義された方式に従って前記補助データの変換するとき、前記ブロックからフレームを形成する、
    請求項14記載の装置。
  16. 前記プロセッサは、予め定義されたビデオ部分を、前記エンコードされた変換された補助データを実質的に構成する1以上のフレームに挿入する、
    請求項12乃至15の何れか記載の装置。
  17. 前記プロセッサは、
    フィンガープリントフレームを受信し、
    前記ビデオデータと前記エンコードされたビデオフレームを結合して前記ビットストリームを形成するとき、前記エンコードされたビデオフレームの直前に前記フィンガープリントのフレームを含める、
    請求項12乃至16の何れか記載の装置。
  18. 前記プロセッサは、1以上のビデオフレームとして前記変換された補助データをエンコードするとき、前記補助データの開始を示す部分をそれぞれのフレームに含める、
    請求項12乃至17の何れか記載の装置。
  19. ビットストリームを処理する方法であって、
    複数のエンコードされたビデオフレームを含むビットストリームを受信するステップと、
    それぞれのフレームがエンコードされた変換された補助データから実質的に構成されるビデオフレームに抽出プロセスを実行するステップとを含み、
    前記抽出プロセスは、前記ビデオフレームからの前記補助データをデコードするステップを含む、方法。
  20. 前記補助データのデコードは、修正された量子化マトリクスにより実行される、
    請求項19記載の方法。
  21. 前記ビデオフレームをデコードするステップと、
    前記ビデオフレームを表示するステップとを更に含む、
    請求項19記載の方法。
  22. 前記ビデオフレームに前記抽出プロセスを実行するステップは、前記ビデオフレームを一連のDCTブロックに変換するステップを含む、
    請求項19、20又は21記載の方法。
  23. 前記ビデオフレームに前記抽出プロセスを実行するステップは、前記一連のDCTブロックを、それぞれのレベルが予め定義されたレベルのリストのうちの1つに対応する複数のレベルに変換するステップを更に含む、
    請求項22記載の方法。
  24. 前記ビデオフレームに前記抽出プロセスを実行するステップは、それぞれのレベルが予め定義されたレベルのリストのうちの1つに対応する複数のレベルを前記補助データに変換するステップを更に含む、
    請求項23記載の方法。
  25. フィンガープリントのフレームを受信するステップと、
    前記ビデオフレームでの前記抽出プロセスの実行をトリガするステップとを更に含む、
    請求項19乃至24の何れか記載の方法。
  26. 前記ビデオフレームに前記抽出プロセスを実行するとき、前記補助データの開始を示す部分をそれぞれのフレームで識別するステップを更に含む、
    請求項19乃至25の何れか記載の方法。
  27. 複数のエンコードされたビデオフレームを含むビットストリームを処理するシステムであって、
    前記ビットストリームを受信する受信機と、
    前記ビデオフレームをデコードするビデオデコーダと、
    前記ビデオフレームを表示する表示装置と、
    前記ビデオフレームに抽出プロセスを実行するプロセッサとを有し、
    それぞれのフレームは、エンコードされた変換された補助データから実質的に構成され、
    前記抽出プロセスは、前記ビデオフレームから前記補助データをデコードするステップを含む、
    ことを特徴とするシステム。
  28. 前記プロセッサは、前記ビデオフレームに前記抽出プロセスを実行するとき、前記ビデオフレームを一連のDCTブロックに変換する、
    請求項27記載のシステム。
  29. 前記プロセッサは、前記ビデオフレームに前記抽出プロセスを実行するとき、前記一連のDCTブロックを、それぞれのレベルが予め定義されたレベルのリストのうちの1つに対応する複数のレベルに変換する、
    請求項28記載のシステム。
  30. 前記プロセッサは、前記ビデオフレームに前記抽出プロセスを実行するとき、それぞれのレベルが予め定義されたレベルのリストのうちの1つに対応する前記複数のレベルを前記補助データに変換する、
    請求項29記載のシステム。
  31. 前記受信機と前記ビデオデコーダとを含む第一の装置と、前記プロセッサを含む第二の装置とを有し、
    前記第一の装置は、アナログ信号を前記第二の装置に送出する、
    請求項27乃至30の何れか記載のシステム。
  32. 前記プロセッサは、フィンガープリントのフレームの受信に続いて、前記ビデオフレームへの前記抽出プロセスの実行をトリガする、
    請求項27乃至31の何れか記載のシステム。
  33. 前記プロセッサは、前記ビデオフレームに前記抽出プロセスを実行するとき、前記補助データの開始を示す部分をそれぞれのフレームで識別する、
    請求項27乃至32の何れか記載のシステム。
  34. 予め定義された標準に従ってエンコードされた複数のビデオフレームを含むビットストリームであって、
    前記複数のビデオフレームのうちの第一のセットは、前記予め定義された標準に従ってデコードされたとき、ビデオデータを含み、
    前記複数のビデオフレームのうちの第二のセットは、前記予め定義された標準に従ってデコードされたとき、エンコードされた変換された補助データから実質的に構成される、
    ことを特徴とするビットストリーム。
  35. 予め定義された標準に従ってエンコードされた複数のビデオフレームを含むビットストリームを記憶する記録媒体であって、
    前記複数のビデオフレームのうちの第一のセットは、前記予め定義された標準に従ってデコードされたとき、ビデオデータを含み、
    前記複数のビデオフレームのうちの第二のセットは、前記予め定義された標準に従ってデコードされたとき、エンコードされた変換された補助データから実質的に構成される、
    ことを特徴とする記録媒体。
JP2009529812A 2006-09-26 2007-09-19 ビデオフレームと補助データを含むビットストリームの形成及び処理 Pending JP2010505318A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP06121303 2006-09-26
PCT/IB2007/053785 WO2008038187A2 (en) 2006-09-26 2007-09-19 Creation and handling of a bitstream comprising video frames and auxiliary data

Publications (1)

Publication Number Publication Date
JP2010505318A true JP2010505318A (ja) 2010-02-18

Family

ID=39230621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009529812A Pending JP2010505318A (ja) 2006-09-26 2007-09-19 ビデオフレームと補助データを含むビットストリームの形成及び処理

Country Status (6)

Country Link
US (1) US20100135384A1 (ja)
EP (1) EP2067120B1 (ja)
JP (1) JP2010505318A (ja)
CN (1) CN101578628A (ja)
TW (1) TW200822756A (ja)
WO (1) WO2008038187A2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8885821B2 (en) * 2010-01-28 2014-11-11 Cleversafe, Inc. Sequencing encoded data slices
JP5588022B2 (ja) * 2010-02-22 2014-09-10 ドルビー ラボラトリーズ ライセンシング コーポレイション 表示サブシステムにビデオデータを提供する方法、およびシステム
US20120082230A1 (en) * 2010-10-01 2012-04-05 Qualcomm Incorporated Variable length coding of video block coefficients
US9490839B2 (en) 2011-01-03 2016-11-08 Qualcomm Incorporated Variable length coding of video block coefficients
CN102737678B (zh) * 2011-04-12 2016-12-07 上海广茂达光艺科技股份有限公司 一种灯光场景多媒体文件格式及其存储、同步播放方法
US20130089138A1 (en) * 2011-06-27 2013-04-11 Qualcomm Incorporated Coding syntax elements using vlc codewords
US9516316B2 (en) 2011-06-29 2016-12-06 Qualcomm Incorporated VLC coefficient coding for large chroma block
US9338456B2 (en) 2011-07-11 2016-05-10 Qualcomm Incorporated Coding syntax elements using VLC codewords
US9756401B2 (en) * 2015-04-07 2017-09-05 Sony Corporation Processing and providing an image in which a plurality of symbols are encoded
US9712830B1 (en) * 2016-09-15 2017-07-18 Dropbox, Inc. Techniques for image recompression
US12051215B1 (en) * 2018-04-24 2024-07-30 United States Of America As Represented By The Secretary Of The Air Force Bitstream filter
JP7516389B2 (ja) * 2019-01-09 2024-07-16 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオエンコーダ、ビデオデコーダ、および対応する方法
WO2023158998A2 (en) * 2022-02-15 2023-08-24 Bytedance Inc. Method, apparatus, and medium for video processing
CN116233329B (zh) * 2023-03-03 2024-08-02 北京仁光科技有限公司 数据传输系统和数据传输方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4034380B2 (ja) * 1996-10-31 2008-01-16 株式会社東芝 画像符号化/復号化方法及び装置
JP2000287169A (ja) * 1999-03-30 2000-10-13 Pioneer Electronic Corp 映像音声多重記録装置
US7343617B1 (en) * 2000-02-29 2008-03-11 Goldpocket Interactive, Inc. Method and apparatus for interaction with hyperlinks in a television broadcast
US7269843B2 (en) * 2000-04-26 2007-09-11 Minolta Co., Ltd. Broadcasting system and media player
US6642966B1 (en) * 2000-11-06 2003-11-04 Tektronix, Inc. Subliminally embedded keys in video for synchronization
WO2003089100A1 (en) * 2002-04-22 2003-10-30 Intellocity Usa, Inc. Method and apparatus for data receiver and controller

Also Published As

Publication number Publication date
TW200822756A (en) 2008-05-16
US20100135384A1 (en) 2010-06-03
EP2067120B1 (en) 2016-07-27
CN101578628A (zh) 2009-11-11
WO2008038187A3 (en) 2008-08-14
WO2008038187A2 (en) 2008-04-03
EP2067120A2 (en) 2009-06-10

Similar Documents

Publication Publication Date Title
JP2010505318A (ja) ビデオフレームと補助データを含むビットストリームの形成及び処理
US10250885B2 (en) System and method for intracoding video data
US6404817B1 (en) MPEG video decoder having robust error detection and concealment
US20190058894A1 (en) System and method for decoding 3d stereoscopic digital video
JP3694888B2 (ja) 復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体
JP4546249B2 (ja) データストリーム内のイメージの配置
JP4491349B2 (ja) ビデオ・データのイントラ符号化方法及び装置
US7072404B2 (en) Decoding apparatus, control method therefor, and storage medium
TWI382361B (zh) 來源圖像編碼之方法與系統以及解碼壓縮圖像之方法與系統
US7630512B2 (en) Method for performing recoverable video and image watermarking which survives block-based video and image compression
US6301304B1 (en) Architecture and method for inverse quantization of discrete cosine transform coefficients in MPEG decoders
US20060256868A1 (en) Methods and systems for repositioning mpeg image content without recoding
JPH05234260A (ja) ディジタルvtr
KR20010102155A (ko) '블러키 화상' 효과의 감소
JP2001258004A (ja) 画像符号化装置及び画像復号装置とその方法
KR100618291B1 (ko) 압축된 비디오 신호에서 워터마크 검출
US20060268989A1 (en) Bit stream generation method and bit stream generatation apparatus
JP2005304065A (ja) 復号装置および復号方法、符号化装置および符号化方法、情報処理装置および情報処理方法、並びに、記録媒体
JP2001169278A (ja) ストリーム生成装置および方法、ストリーム伝送装置および方法、符号化装置および方法、並びに記録媒体
US6307975B1 (en) Image coding technique employing shape and texture coding
JP2004120122A (ja) 画像処理装置
JP2005518728A (ja) 画像処理方法及び装置
JP4018305B2 (ja) 画像処理方法及びその装置と記憶媒体
KR20090028288A (ko) 압축영상 내 정보 삽입 방법
EP1711016A2 (en) Coding data