JP4564753B2 - ビットストリームの変更方法及び装置 - Google Patents

ビットストリームの変更方法及び装置 Download PDF

Info

Publication number
JP4564753B2
JP4564753B2 JP2003567096A JP2003567096A JP4564753B2 JP 4564753 B2 JP4564753 B2 JP 4564753B2 JP 2003567096 A JP2003567096 A JP 2003567096A JP 2003567096 A JP2003567096 A JP 2003567096A JP 4564753 B2 JP4564753 B2 JP 4564753B2
Authority
JP
Japan
Prior art keywords
bitstream
code
data
changing
motion vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003567096A
Other languages
English (en)
Other versions
JP2005517362A5 (ja
JP2005517362A (ja
Inventor
アンドリュー ロバート テイラー
ジェームス ストーン、ジョナサン
チャールズ ペリー、ジェイソン
タプソン、ダニエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Europe BV United Kingdom Branch
Original Assignee
Sony United Kingdom Ltd
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 GB0202737A external-priority patent/GB0202737D0/en
Application filed by Sony United Kingdom Ltd filed Critical Sony United Kingdom Ltd
Publication of JP2005517362A publication Critical patent/JP2005517362A/ja
Publication of JP2005517362A5 publication Critical patent/JP2005517362A5/ja
Application granted granted Critical
Publication of JP4564753B2 publication Critical patent/JP4564753B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • H04N21/23476Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23611Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4344Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • H04N21/63345Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0052Embedding of the watermark in the frequency domain
    • 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)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Television Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、ビットストリームを変更するビットストリームの変更方法、ビットストリームを変更するビットストリームの変更装置、元のビットストリームを復元するビットストリームの復元方法及び元のビットストリームを復元するビットストリームの復元装置に関する。
ビデオ、オーディオ、オーディオビジュアル及び/又は他の情報信号内に透かし模様を付与することが知られている。透かし模様はその情報信号の出処及び/又はその情報信号の所有者又はそれ以外の関係者を確認するために設けられている。透かし模様は視認可能又は隠蔽されたものであってもよい。本発明の好ましい実施形態では、可視透かし模様を用いている。
また、画像を空間領域から変換領域、例えばウェーブレット(wavelet)領域に変換し、そのウェーブレット係数を変更することにより、画像に透かし模様を加えることも知られている。透かし模様を埋め込んだ変換領域画像は、後に空間領域に逆変換される例えば、イノウエヒサシ等著、「ウェーブレット変換に基づく画像透かし模様法」、IEEE、0−7803−5467−2/99を参照。
米国特許5809139号(Girod等)は、既に圧縮されたビデオ素材の隠蔽透かし模様法を開示している。MPEG2により圧縮されたビデオをエントロピー復号、逆量子化してDCT係数を求める。スペクトル拡散された空間領域の透かし模様をDCT領域に変換し、変換された透かし模様を変換されたビデオのDCT係数に加える。透かし模様を加えても圧縮ビデオのビットレートが維持されるように、種々のステップが取られている。非ゼロ係数だけが変更される。また、符号化された透かし模様を加えた係数のビット数が透かし模様以前のその係数のビット数(加えて、前の符号化処理で節約されたその他余分なスペアビット数)と比較される。制御装置は、透かし模様を加えたビットストリームと元の透かし模様の入らないビットストリーム間の出力選択を制御する。透かし模様が入っていないエントロピー符号化係数がn0ビットを使い、且つ透かし模様入りエントロピー符号化係数がn1を使い、n1<n0+n3の場合、透かし模様入り係数が出力される。ここで、n3は使用可能となるスペアビットの数である。透かし模様はビデオデコーダ内で検出できるが透かし模様埋込アルゴリズムを反転させることによっては、透かし模様入りビデオを元のビデオに復元することはできない。
WO99/10837号(Digimarc)は、画像を例えばMPEG2を使って圧縮しDCT係数を変更して透かし模様を埋め込むビデオ画像透かし模様方法を開示している。そのビットレートは係数の変更により増加したビットレート量を表すカウントその変更により削減されたビットレート量より少なくするように維持することで保持される。累積変更がプラス又はマイナス限界を超えると、それ以上の変更はなされない。その透かし模様はビデオデコーダ内で検出できるがその透かし模様アルゴリズムを反転させることによっては、透かし模様を埋め込んだビデオを元のビデオに復元することはできない。
US−A−5809139及びWO99/10837の両者は共に、ビットレートを監視する手段と一定の限界に達した場合に透かし模様埋込み処理を止める手段とを必要とする。US−A−5809139及びWO99/10837では、それは結果的には画像内に透かし模様をランダムに分散することになる。これらの提案は画像内にメッセージを表すデータを埋め込む不可逆的非視認透かし模様を狙ったものである。
これは圧縮符号化情報信号、特に圧縮符号化画像信号に対して知られている。更に、情報信号にデータを付加する情報信号に対する変更がなされるとその圧縮は通常非効率的になる。圧縮情報信号を表すビット数への変更を最小限にして、例えば画像内で確認できるような、伸長された情報信号内で視認可能である情報信号の変更を生成できるような圧縮情報信号の処理が望ましい。
本願と共に係属中の先の出願であるEP01310113.4(USSN10・006050)は圧縮ビデオビットストリームの変更及び透かし模様をそれから取り外す方法及び装置の一例である。ビットストリーム上で実行される圧縮処理にはDCT係数を使用する。その変更処理は透かし模様処理されたビットストリームがその透かし模様処理される前のビットストリーム以上のビットを持たないよう、したがって確実に同じビットレートを有するように実行される。DCT係数を表すコードの固定長部分を、その固定長コードにおけるビット数を増やさずに暗号化することによりなされる。その最も好ましい実施形態はIフレームの圧縮ビットストリームであり、しかも可視透かし模様生成に関してその手法はそのようなビットストリームに適している。その手法、他の圧縮ビットストリームに適用できるが表示された画像内の透かし模様の視認性はビット数を増やさないとの制限から希望通りのものではない。
MPEG2は周知であり、ISO/IEC/13818に定義されている。
本発明はビデオ、オーディオ、オーディオビジュアル又は他の情報信号を含むビットストリームに適用可能であり、変更を生成するものであって、情報信号の、好ましくはビットレートを変更せずに取り外し可能及び視認可能な変更で、及び好ましくはビットレートを変更しない技術を提供することを目的とする。本発明の一実施形態は、圧縮ビットストリーム(例えばMPEG2)に適用可能であり、同時に圧縮ビットストリーム内のビットレートを変更せずに変更がビットストリームから取り外し可能であるような、所望の視認性を有する変更を生成できる変更技術を提供しようとするものである。
本発明は、ピクチャ情報を表すデジタルコードを含むビットストリームを変更するビットストリームの変更方法を提供する。このビットストリームの変更方法は、透かし模様を埋め込むピクチャの該透かし模様の部分に対応するデジタルコードであって、上記ピクチャ情報の変更を表す少なくとも1つの変更コードが含まれることになる上記ビットストリームの一部分を占める少なくとも1つのデジタルコードを選択するステップと、上記ビットストリームの一部分から、上記選択されたデジタルコードを取り外すステップと、上記選択されたデジタルコードの代わりに、上記少なくとも1つの変更コードを、上記ビットストリームの一部分に挿入するステップとを有する。上記選択され、取り外されたデジタルコードのビット数は、上記ビットストリームに挿入された変更コードのビット数以上である。そして、このビットストリームの変更方法は、(1)上記選択され、取り外されたデジタルコードを、上記ビットストリームと関連付けて格納するステップと、(2)上記選択され、取り外されたデジタルコードを、上記ビットストリーム内の1つ以上の取外しコードデータフィールド内に配置するステップとのうちの少なくとも一方を更に有する。
上記変更が、上記ビットストリームにより表される情報内において視認可能とすることが好ましい。
本発明の各実施の形態における変更とは、ビットストリーム内のビットを隠蔽するのではなくむしろ、ビットストリームにより表される情報において視認可能な変更を提供するものである。
このような方法によれば、変更されたビットストリームのビットレートは元のビットストリーム(以下、原ビットストリームともいう)のそれと同じに保持される。変更コードの追加では追加データが生成される。原コードを取り外し、ビットストリームの最後に、それらを付加することにより、ビットストリーム内のデータ量は増やさないで済む。原コードを取り除くことにより生ずるビットストリーム内の空きスペースは変更ユーザデータフィールドとして、原コードの少なくとも一部のために使用できる。また、このフィールドに収めることのできなかったコードは、ビットストリームの終わりに付加する。コードはビットストリームの開始又はその最終付加してもよい。
コードは別のファイルにおいてもよく、又はビットストリームの開始又は最終付加されるファイル中に置いてもよい。
本発明の好ましい実施の形態におけるビットストリームは、MPEG2規格により圧縮されたビットストリームであることが好ましい。MPEG2規格においてはビットストリームのビットレートがその規格に準拠することが特に重要である。そこで、本発明では、変更コードを加えてもMPEG2ビットストリームがその規格に準拠できるようにし、その変更処理から生ずる余剰なデータをMPEG2規格に準拠したビットストリーム内に置かず、付加させるようにした。余剰データとはビットストリーム内の変更ユーザデータフィールドに置くことのできなかったデータのことである。
本発明の好ましい実施形態によれば、変更データの取外しと原ビットストリームの復元ができるように、全ての原データの保存を可能としている。(これは勿論、変更されたビットストリームのその他の処理、例えばノイズのあるチャンネルを介した送信、又は変更信号が後段処理により失われないと仮定してのことである。)
本発明は、ピクチャ情報を表すデジタルコードを含むビットストリームを変更するビットストリームの変更装置を提供する。このビットストリームの変更装置は、透かし模様を埋め込むピクチャの該透かし模様の部分に対応するデジタルコードであって、上記ピクチャ情報内で視認可能な変更を表す少なくとも1つの変更コードが含まれることになる上記ビットストリームの一部分を占有する少なくとも1つのデジタルコードを選択する選択手段と、上記ビットストリームの一部分から、上記選択されたデジタルコードを取り外す取外し手段と、上記選択されたデジタルコードの代わりに、上記変更コードを、上記ビットストリームの一部分に配置する変更コード配置手段とを備える。上記選択され、取り外されたデジタルコードのビット数は、上記ビットストリームに配置された変更コードのビット数以上である。そして、このビットストリームの変更装置は、(1)上記選択され、取り外されたデジタルコードを、上記ビットストリームと関連付けて格納し、及び/又は(2)上記選択され、取り外されたデジタルコードを上記ビットストリーム内の1つ以上の取外しコードデータフィールド内に配置する取外しコード配置手段を更に備える。
本発明の一実施形態においては、上記ビットストリームは情報信号の変換係数、例えばDC及びAC係数を含むDCT係数を表すデジタルコードを備えている。本発明の一例においては、上記ビットストリームを変更するための種々の手法を用いられる。それらの手法には(1)AC係数の取外しと(2)DC係数の取外しとが含まれる。取り外された係数は変更コードで置換される。変更されたビットストリームのビット数に及ぼす各種手法の効果を評価し、該評価に応じてビットストリームを実際に変更するための1つ以上の手法がその中から選択される。これにより変更ビットストリームのビットレートを原ビットストリームのそれに等しく保持できる手法が選択できる。
原ビットストリームは動きベクトルを表すコードを含むインター符号化ピクチャ(inter-encoded picture)を含んでいてもよい。上記変更が画像内で可視透かし模様を表す場合、上記動きベクトルは透かし模様を歪ませてしまう。本発明の一実施の形態では、少なくとも1つの変更コードを含むことになるビットストリームの該当部分と関連付けて動きベクトルコードを取り除くステップと、ゼロ動きベクトルを表す動きベクトル変更コードで原動きベクトルコードを置換するステップと、該取り外された動きベクトルコードを上記ビットストリームの最後に置くか又は上記ビットストリーム内の取り外されたコードのデータフィールドに置くステップとを含む。本例によれば、透かし模様の変形を提言することができる。
MPEG2ビットストリームは、符号化のタイプを示すタイプコードを使ってフィールドタイプ又はフレームタイプで符号化されたDCTブロックを含んでもよい。1つのフィールドタイプのDCTブロックは変更を受けるが隣接したフィールドタイプのブロックが変更を受けていない場合、その透かし模様はストライプ状に歪むことが知られている。そこで本発明の一実施の形態では、フィールドタイプを示す該タイプコードの1つを選択して取り外し、フレームタイプを示す変更タイプコードでその取り外されたタイプコードを置換し、該取り外されたタイプコードを(1)上記ビットストリームの最後か、(2)上記ビットストリーム内の1つ以上の取り外されたコードのデータフィールド内のうち、いずれか又はその両方に格納する。
本発明は、元のビットストリームを復元するビットストリームの復元方法を提供する。このビットストリームの復元方法は、上記元のビットストリームの選択された部分であって、元のコードが取り外された部分に、変更コードを有し、該取り外された元のビットストリームが、該元のビットストリームの変更ユーザデータ部分に配置されるとともに、該元のビットストリームの最後に付加された変更ビットストリームを受け取るステップと、上記変更ビットストリームを構文解析するステップと、上記元のコードを格納するステップと、上記変更コードを上記格納された元のコードで置換するステップとを有する。
本発明は、元のビットストリームを復元するビットストリームの復元装置を提供する。このビットストリームの復元装置は、上記元のビットストリームの選択された部分であって、元のコードが取り外された部分に、変更コードを有し、該取り外された元のコードが、該元のビットストリームの変更ユーザデータ部分に配置されるとともに、該元のビットストリームの最後に付加された変更ビットストリームを受け取る受取り手段と、上記変更ビットストリームを構文解析する構文解析手段と、上記元のコードを格納する記憶手段と、上記変更コードを、上記格納された元のコードで置換する置換手段とを備える。
本発明の他の実施の形態注視されるべき特許請求の範囲において具体的に示される。
本発明がより良く理解されるために、及び本発明がどのようにして効果を奏するかを示すために、例として、以下の添付された図を参照して説明する。
以下の説明では、MPEG2圧縮されたビットストリームが変更される。この変更は透かし模様(Watermark)と呼ぶ。この透かし模様をビットストリームに適用することを埋込み(embedding)と呼ぶ。原ビットストリームを復元することを洗浄(washing)と呼ぶ。
第1の実施の形態
本発明の第1の実施の形態について説明する。説明を容易にするために、この実施の形態においては音声の付かない単独ストリームであるMPEG2ビデオビットストリーム、すなわちMPEG2ビデオシーケンスファイルのIフレーム中に透かし模様データを配置することについて説明する。なお、ビットストリームはパケット化されたビットストリームであってもよい。もちろん本発明はIフレームに限定されるものではなく、ビデオ又はMPEG2に限定されるものでもない。更に、説明を容易にするために、以下の説明では輝度情報のみについて言及するが、本発明は輝度情報に限定されるものではない。
最初に、MPEG2について説明する。図1に画像フレーム2を示す。画像はデジタル画素により表される。図2に示すように8x8画素のブロック4が選択されて、図3に示すようにこれらのブロック離散コサイン変換(DCT)にかけられて8x8DCT係数を含むDCTブロックを形成する。係数はDC係数6とAC係数7を含む。連続ビットストリームを形成するために図3に示すように、係数はジグザ走査パターン8で走査される(他のパターンも知られている)。図4に示すように、4つの隣接するDCTブロックのグループがマクロブロック10としてグループ化される。図5に示すように、画像フレームはマクロブロックの行R1、R2、R3等として構成される。マクロブロックはスライス12に構成される。1つのスライス12マクロブロックの水平方向の集合である。新たなスライス12マクロブロックの各行の最初から開始する。1つのスライス12には任意の数のマクロブロックが含まれる。一行のマクロブロックには任意の数のスライス12が含まれる。
図6において、MPEG2は以下のタイプのフレームを有する。Iフレームはイントラ符号化フレームであって、他のフレームを参照せずに、そのフレーム内に全ての画像データが含まれているフレームである。Pフレームは、前方のIフレーム又はBフレームから動補償予測を用いて符号化されるフレームである。Bフレームは、前方の及び/又は後方のIフレーム又はPフレームから動補償予測を用いて符号化されるフレームである。説明を容易にするために、第1の実施の形態の以下の説明ではIフレームだけについて言及する。
フレームはGOPと呼ばれる画像グループに纏められている。図6はI、B、B及びPフレームの列の繰り返しがGOPを形成する代表的なGOPの一部を示す。他の列も可能である。一般的なGOP内のフレーム数は12又は15であるが、他のフレーム数も可能である。
図7及び図11は、ここで所謂ピクチャデータと呼ぶもののデータフォーマットを示す。このピクチャデータは、ピクチャスタートコード間の全てのデータを含み、その中にはヘッダ(HDR)、ユーザデータ(UD)と、画像の1フレームを表すピクチャデータ16が含まれる。MPEG2では、ユーザデータ(UD)をピクチャデータ内のピクチャデータ16の前に置くことが許可されている。ユーザデータUDのフィールドは無くても又は1つ以上のユーザデータフィールドが存在してもよい。
DCTブロック及びマクロブロックは、ピクチャデータ16内で、図8に示すように、フォーマットされている。各DCTブロックはDC係数とそれに続くAC係数を含む。DCTブロック間はブロックエンドコードEOBで分離されている。
IフレームにおいてDC係数は差分に基づき符号化される(differentially encoded)。その差分値(differential values)はここではDC差分と呼ぶ。AC係数はランレングス(run length)符号化され可変長コード(VLC)で表され、ここではAC VLCと呼ぶ。
MPEG2符号化処理は、MPEG2規格に準拠する全てのデコーダで復号可能であるビットストリームを生成しなければならない。ビットストリームはバッファ内で復号されるように、デコーダはビットストリームを一時的に格納するバッファを備える。MPEG2規格はそのバッファのサイズを定義している。一般に、バッファは、アンダフロー、データが失われないようにオーバフローもしないように構成されている(ある特定の条件の下ではアンダフローは許容される)。符号化処理は、アンダフロー及びオーバフローを起こさないよう、そのビットレートを制限して行われる。
この実施の形態において、ビットストリームに可視透かし模様を加える目的で、符号化ビットストリームを変更することにより、ビットレートを変える危険があり、したがってアンダフローオーバフローを起こす危険がある。以下に説明するこの実施の形態では、ピクチャデータのビットレートを変えずに、したがってバッファをアンダフロー又はオーバフローさせずに、ビットストリームに可視透かし模様を加え、且つその透かし模様を除去して原画像を復元することを目的とする。
図9に示すように、テンプレート18は、透かし模様を定義する。図9の実施の形態において、透かし模様はSonyのSの字になっているが、透かし模様はどのような形状であってもよい。テンプレート18透かし模様をDCTブロックの解像度で定義する。テンプレートについては後述「テンプレート」の項で更に説明する。
図10に示すように、本発明の第1の実施の形態は概略以下のように動作する。これらの動作は、この実施の形態においてはIフレームについてのみ行われるが、本発明はIフレーム上の動作に限られるものではない。
ステップS2において、「透かし模様S内に存在する」マクロブロックが選択され、「これらマクロブロック」の全てのDC差分及びAC VLCが取り出され、ステップS4において格納される。
ステップS6において、透かし模様を表す新たなDC差分が、取り出されたDC差分の代わり、テンプレートマクロブロックのブロック内に挿入される(AC VLCはこれらのブロック内で置換されない)。Iフレーム内のDC係数は差分に基づき符号化される。このため、新たなDC差分も(詳細は後述)、テンプレートの端部では空間的に前のマクロブロック及び後マクロブロックに依存して計算する必要がある。
ステップS8において、元の原DC差分及びAC VLSを取り除くことにより、Iフレームから取り出されたビット数Nrが確認され、新たなDC差分によりIフレームに加えられるビット数Naが決定される。Nr−Naの差がピクチャデータ16内における空きのデータスペース量を示す。そのスペースが閾値(MPEG2の場合5バイト)を超えると、図11Bに示すように、可視透かし模様ユーザデータスペース(以下、単にユーザデータスペースともいう)20がピクチャデータ16内に生成される。少なくとも幾つかの格納されたDC差分及びAC VLCは、そのユーザデータスペース20内に置かれる。ピクチャデータ16のビットレートが変更されないことを確実にするためにゼロパディング(zero padding)22をピクチャデータ16に加えてもよい。ユーザデータスペース20を生成するのに利用できる十分な空きスペースがない場合には、ゼロパディング22が加えられる。ユーザデータスペース20に置かれた係数は、ユーザデータスペース20に置かれる前に暗号化されており承認された人だけが原画像再構築することができる。
上述の処理はビデオシーケンス内のIフレーム毎に繰り返される(ステップS10)。図14においてビデオシーケンスの一部が示される。説明を簡単にするために図14ではIフレームだけが示されている。ピクチャデータフレームは説明を容易にするために単純化された形態で示されている。シーケンスがP及び/又はBフレームを含む場合、このようなフレームによって、Iフレームは分離されることになる。シーケンスの第1のIフレームP1は透かし模様ユーザデータスペース20を含み、透かし模様ユーザデータスペース20はフレームP1の取り出された係数の幾つかを含む。フレームP2は、ユーザデータスペース20を有し、フレームP1から取り出された他の係数がそのユーザデータスペース20に置かれる。図14の実施の形態において、フレームP2のユーザデータスペース20は、フレームP2の取り出された係数の幾つかを収容する容量がある。フレームP2の取り出された他の係数は、フレームP3のユーザデータスペース20に置かれる。フレームP4はユーザデータスペース20に対する余分な容量が無いように示されており、フレームP3から取り出された係数の幾つかフレームP5のユーザデータスペース20に置かれる。したがって、図14に示すように、ビデオシーケンスのフレームのピクチャデータ16のスペースから一連の順序で取り出された係数は、記憶装置から取り出され、暗号化されピクチャデータのフレーム内に生成された透かし模様ユーザデータスペース20、同じ一連の順序で、ピクチャデータのビットレートを増やさずに配置される。ビデオシーケンスの終わりはシーケンスエンドコード26により示される。
ビデオシーケンスに生成されたユーザデータスペースは、取り外した全ての係数を収容する十分な空き容量を提供できない場合がある。そこで、図10のステップS12に示すように、残りの係数は、記憶装置から取り出され、暗号化されて、図14の符号28で示すように、ビデオシーケンスの最後のシーケンスエンドコード26の後に付加される。MPEG2ビットストリームの最後に付加されたデータは、MPEG2ビットストリームの一部であるが、ピクチャスタートコードが先行しない。このため、付加されたデータはMPEG2デコーダにより無視される。
上述のように、この実施の形態の処理について、Iフレームだけに関して説明したが、ビデオシーケンスは、通常、Pフレーム及びBフレームも含んでいる幾つかのP及びBフレームはゼロパディングを含んでもよい。この場合、ゼロパディングを取り外して透かし模様ユーザデータスペース(以下、ユーザデータブロックともいう)用に使用してもよく、取り外した原係数をユーザデータブロックに置くことができる。このようなゼロパディングは原ビットストリームを復元中に元に戻される。
以上の概要では一部動作についてその詳細が省略されている。以下ではそれらについて説明する。
ブロックエンド(End of Block)及び他のコード
図13で最もよく示されているが、ピクチャデータ16から取り出された原データ30(DC差分及びAC VLC)には元の(又はそのコピーの)ブロックエンドコードEOBが含まれている。ピクチャデータ16に加えられたデータ32(すなわち新たなDC差分)には新たな(又は元の)ブロックエンドコードEOBが含まれている。更に、新たに生成された透かし模様ユーザデータスペース20にはユーザデータスタートコード34が含まれているが、これは、ピクチャデータフレーム内のビット数を増加させる。一旦、原AC VLC及びDC差分が取り出された後、ピクチャデータフレーム内で利用できる余分な容量を決定する場合、ブロックエンドコードEOBが残っているので、DC差分とAC可変長コードVLCだけが含まれることになる。
透かし模様ユーザデータブロックのフラグ設定
図12において、透かし模様処理により挿入される透かし模様ユーザデータブロック20を元から存在する全てのユーザデータブロックから区別できるようにする必要ある。この目的のために以下の手法が用いられる。
ピクチャフレームが原ユーザデータブロック36を含むか含まないかに拘らず、透かし模様ユーザデータブロック20を収容するスペースがピクチャフレーム内にある場合、透かし模様ユーザデータブロック20がピクチャフレーム内の最後のユーザデータブロックとなる(図12(b)を参照)。透かし模様ユーザデータの最後のバイトの最終ビット38は「1」に設定される(すなわち、ユーザデータ内の最後のバイトまで全バイト数を送信し、次に透かし模様データの7ビットだけとそれに続く単一の「1」ビットを送信する)。
図12(c)に示すように、画像が1つ以上の原ユーザデータブロック36を含み、その画像内に透かし模様ユーザデータブロックを収容するスペースがない場合、ユーザデータの最後のブロックの最後のバイトの最終ビット40は透かし模様データに格納されて「0」に置換される。
画像が原ユーザデータブロックを含まず、透かし模様ユーザデータブロックを収めるスペースが画像内にない場合には、操作は不要である。
上述のように最終ビットを変更することは単なる一例である。代わりに最初のビットを変えてもよい。
透かし模様データの暗号化、図15
透かし模様が埋め込まれたMPEG2ファイル中に現れる透かし模様データは、MPEGスタートコードを含んではならない。MPEGスタートコードは、ユーザデータ領域を途中で終了させたり又はデコーダ他の好ましくない動作の原因となるからである。DC差分及びAC VLCを表すのに使用されるコードの特性としては、表示画像データ内でスタートコードが誤って発生されるものであってはならない。したがって透かし模様データ内でもそれらが発生してはならず、フラグ情報を発生する際には注意が必要である。しかしながら、透かし模様の暗号化の結果としてスタートコードが生成される場合がある。したがって暗号化されたデータをスタートコードと対比してチェックする必要があり、それが発生する場合には暗号化されていない透かし模様データに戻す必要がある(これは正規の鍵を使って復号するとき、どのバイトが暗号化されずに残っているかを決めることができるだけなので安全性には影響を及ぼさない)。暗号化されない透かし模様データに戻す必要がある場合には、結果的に暗号化データ/非暗号化データ境界線上で別のスタートコードの生成がなかったかどうかのチェックも行わなければならない。
任意の適切な暗号化アルゴリズムを使ってもよい。現状ではAESアルゴリズムが好ましい。
図15は排他的論理和(XOR)演算を使った暗号化処理を説明するフローチャートを示す。XOR演算が使われるので、復号処理は暗号化処理と同じである。
図15において、
「idx」は暗号化される(又は復号される)透かし模様データバイトを割り出すインデックスカウントである。
「zero_count」はビットストリーム内の連続するゼロのカウントである。
「ubyte」は非暗号化透かし模様データのバイトである。
「ebyte」は暗号化透かし模様データのバイトである。
「r」は暗号化アルゴリズムにより発生する乱数でありバイトごとに異なる。
「zero_count++」は増し分zero_countの増分(increment)を意味する。
「idx++」はidxの増分を意味する。
概略的には、MPEGスタートコードが決して間違って生成されないように、暗号処理は監視される。MPEGスタートコードは例えば3つの16進法バイト00 00 01である。このようなコードは非暗号化透かし模様データには発生しないが、暗号化データ中には偶然発生することが起こりうる。このようなコードが暗号化データで発生した場合には非暗号化データが代わりに使われる。
図15の処理では、ゼロの列(ステップS57)又はゼロの列の後に1が続く(ステップS58)ものをチェックし、該当する状態が検出された場合には、非暗号化データバイトを出力し(ステップS60)、そうでない場合には暗号化データバイトを出力する(ステップS59)。
図15において、暗号化処理(又は復号処理)はステップS50で開始され、ステップS51に進み、「idx」及び「zero_count」はゼロに設定される。ステップS52において、「idx」は暗号化する(又は復号する)透かし模様データのバイト数「num_bytes」と比較される。全てのバイトが処理されると、処理はステップS53で終了するか、又はステップS54に進み処理する(次の)透かし模様データバイト「ubyte」を取得し、更にステップS55でその透かし模様データを暗号化するための乱数rを取得する。ステップS56において、そのデータバイトはebyte=ubyteXORrの演算により暗号化される。ステップS57S58において、得られたデータストリーム中にMPEGスタートコードがありそうかどうかをチェックする。ステップS57において、ubyte又はebyteがゼロ列かどうかをチェックし、そうである場合にはステップS60でubyteを出力する。ステップS58において、ゼロ列があり(zero_count>1)、その後に1が続くかどうか(ebye==1)をチェックする。YESの場合、ubyteが出力され(ステップS60)、そうでない場合、ebyteが出力される(ステップS59)。ステップS61で、ubyteがゼロである場合、zero_countが増分され、そうでない場合、zero_countはステップS62でゼロに設定され、最後にステップS64でidxは増分されて、処理はステップS52に戻る。
差分DCの再符号化
イントラブロックDC係数はスライス全体を通して差分的に符号化される。上述のように原差分値は格納され、代わりに新たな差分値が計算され、使われる。これにより所望の、例えば一定の輝度レベルを提供するような変更が可能になり、テンプレートデザインの良好な定義が可能になる。
図4において、Iフレームが変更されるものとし、中央のマクロブロック10が透かし模様データを含むことになるテンプレート内のマクロブロックであり、その左右のマクロブロックはテンプレートにあるものと仮定する。左側ブロックのDC差分60はテンプレートにあり、透かし模様の影響を受けない。DC差分61〜64はテンプレート内にある。DC差分61〜64はそのマクロブロックから取り出されて格納される。DC差分61〜64は透かし模様を表す新たな差分値により置換される。説明を簡単にするために、透かし模様が白色レベルの領域と仮定する。DC差分61は所望の白色レベルを表す新たな差分値で置換され、DC差分62〜64は全てDC差分61と同じ白色レベルを表すからゼロに設定される。DC差分65は再計算される。テンプレート外に出るときにはその原差分値(すなわち、ブロック65の)を新たな値で置換する動作が伴う。洗浄中には、逆の処理できるので(ブロック65の)原差分値を格納する必要はない。それは以下の(a)と(b)との差から計算できるからである。(a)非差分値に変換された透かし模様埋込み差分値から計算されたブロック65の値、(b)ブロック64の原(洗浄された)非差分値。
図4ではテンプレートマクロブロック一致すると仮定する。これは入口点と出口点の数を最小にしゼロDC差分の数を最大にするので有利である。しかしながら、テンプレートはマクロブロックと一致しなくともよい。
P及びBフレーム
P及びBフレーム内のイントラ符号化マクロブロックは上述と同じように変更できる。非イントラ符号化マクロブロックは上述のようにAC VLCを取り除くことができるが、非イントラ符号化マクロブロックは予測符号化されているので、その変化は視認できない。動きベクトル透かし模様法は、Pフレーム及びBフレーム上だけで実行できる。
色差(chrominance)
上述の説明では透かし模様データを輝度情報だけに与えると仮定しているが、マクロブロックは色差情報のDCTブロックも含んでもよい。上述の輝度に対する方法と同じ方法で透かし模様データを色差DCTブロックに含ませてもよい。また、透かし模様データを色差DCTブロックだけに含ませ、輝度DCTブロックには含ませなくともよいが、ここではその方法はとられていない。
原画像データ復元の概要(図16)
図13(c)において、透かし模様が埋め込まれたビットストリーム(一時画像バッファ74中の)の一例が示されるが、これは主バッファ70に転送されてデコーダに送信される原ビットストリームを置換する。デコーダで受信されると、原画像が復元されていない場合には、透かし模様が埋め込まれた画像が表示される。図16は本発明による原画像の復元(洗浄)処理例の概要を示している。
ステップS20において、透かし模様が埋め込まれたビットストリームが格納され、構文解析(parse)が行われる。ステップS22において暗号化透かし模様ユーザデータがビットストリームから抽出されて格納される。また、ビットストリームの最後に付加された全てのデータも格納される。ステップS24において、格納された暗号化透かし模様ユーザデータが復号され、原DC差分及びAC VLCが復元される。ステップS26において、復元された原DC及びAC VLCで、透かし模様を表すDC差分を置換する。その結果のビットストリームは透かし模様データを除いたMPEG2圧縮ビットストリームとなる。ステップS28において復元されたビットストリームは従来のMPEG2方法により伸長される。
全ての原係数はユーザデータとして保持され、及び/又は、そのビットストリームの最後に付加されているので、原ビットストリームは完全に復元可能である。結果として得られる洗浄されたファイルは透かし模様のない原ファイルとビット毎に一致する
画像データ復元処理の一例は、後述する「透かし模様洗浄コード」の項目においてより詳細に説明する。
実施の概要(図17、18及び19)
図17には、透かし模様埋込みシステムの模式図が示されている。ソースからの圧縮されていないデジタルビデオシーケンス50が従来のMPEG2エンコーダ52に供給される。このようなエンコーダは周知のものである。この実施の形態において、エンコーダ52はコンピュータで実行される圧縮ソフトウェアであるが、エンコーダ52、専用プロセッサで構成されていてもよい。圧縮ビデオシーケンスはファイルとして記憶装置54、例えばエンコーダ(コンピュータともいう)52のハードディスクに格納される。
透かし模様埋込み装置56は、記憶装置54から圧縮ビデオシーケンスが供給されるこの実施の形態の埋込み装置56コンピュータで実行される埋込みソフトウェアであるが、以下に説明するように、埋込み装置56、専用プロセッサで構成されていてもよい。埋込み処理には、図9に示すようなテンプレートと、少なくとも1つの暗号鍵を使用する暗号化アルゴリズムとが携わり、これら両者はデコーダで原画像を復元する際に必要になる。この実施の形態においては、埋込装置(コンピュータともいう)56スマートカードインタフェース57を備え、スマートカードインタフェース57を介してテンプレート及び暗号化鍵がスマートカード64又は他の安全なデータ記録媒体上に安全に格納される。又は、テンプレート及び鍵を、ネットワーク上で安全な方法で又は他の安全な方法で送ってもよい。
埋込み装置56、圧縮ビットストリームに対して透かし模様を加える。そして透かし模様が埋め込まれたビットストリームは、別のファイル記憶装置60(例えばスタジオ62内の)に伝送リンク58を介して伝送され伝送リンク58無線リンク、ネットワーク、例えばディスク、テープ他のデータ記憶装置であってもよい。
図18にデコーダの一例を示す。透かし模様埋め込まれたビットストリームは、ファイル記憶装置60から取り出されて、洗浄装置66とも呼ばれる埋込み解除装置に供給され、原ビットストリームが復元される。この実施の形態における洗浄装置66コンピュータで実行される埋込み解除ソフトウェアであり、これについては後述するが、洗浄装置66、専用プロセッサで構成されていてもよい。洗浄処理には、図9に示すようなテンプレートと、少なくとも1つの暗号鍵を使用する暗号化アルゴリズム関わり、これら両者は、洗浄装置66で原画像を復元する際に必要とされるこの実施の形態において、洗浄装置(コンピュータともいう)66スマートカードインタフェース63を備え、スマートカードインタフェース63を介してスマートカード64からテンプレート及び暗号化鍵を受け取る。洗浄装置66の出力は圧縮ビットストリームであり、従来のMPEG2デコーダ65供給され、伸長され、表示装置67に表示される。
バッファ
図19(及び図1)に示すように、圧縮ビットストリームに透かし模様データを埋め込むために、1つのファイル(図1の54)と3つのバッファとが使用される。これらのバッファは、エンコーダ52からのMPEG2規格に準拠した圧縮ビットストリームを格納して透かし模様が埋め込まれたビットストリームを出力する主バッファ70と、原DC差分及びAC VLCを格納する透かし模様データバッファ72と、透かし模様が埋め込まれたビットストリームを、主バッファ70に伝送するように構成され一時画像バッファ74とである。これらのバッファは物理的なバッファでもよいが、この実施の形態ではソフトウエアで定義される仮想バッファである。
洗浄処理では、同様に、主バッファ70、透かし模様データバッファ72と、一時画像バッファ74の3つのバッファを使用する。
透かし模様の埋込み
次に、上述した様々な処理について、例えば擬似コード導入する実施の形態について説明する。
透かし模様埋込み−擬似コードの実施の形態
主バッファ及び透かし模様データバッファを生成する
(WHILE)画像処理中に
ファイルから1画像分のデータを主バッファに読み込む
一時画像バッファを生成する
(WHILE NOT)表示画像データの開始前に
主バッファの構文解析をする
全ての選択された透かし模様手法使用可能にする(透かし模様データバッファにフラグ設定)
(WHILE NOT)画像終了前に
(CALL)スライス処理を呼び出す
空間制約条件が満たされているかを調べる
(IF)空間制約条件が満たされていない場合
この画像に対する透かし模様手法幾つか使用禁止にする(透かし模様データバッファ内にフラグ設定)
(WHILE NOT)画像終了前に
(CALL)スライス処理を呼び出す
画像内に、新たな透かし模様が埋め込まれ表示画像データ利用できるスペース画像内にあるかを判定する
(IF)5バイト未満である場合
(IF)原ユーザデータが存在する場合
ユーザデータの最後のブロックにフラグを立てて、それが透かし模様でないことを示す
表示画像データを主バッファに出力する
サイズに合わせて画像をゼロバイトを使って埋める
(ELSE)さもなければ
ユーザデータスタートコードを出力する
(WHILE)透かし模様データが存在し(AND)且つ画像内に埋め込むスペースがある場合
透かし模様データを暗号化する
暗号化透かし模様データを一時画像バッファのユーザデータスペースに出力する
ユーザデータのブロックにフラグを立て、それが透かし模様データであることを示す
表示画像データを主バッファに出力する
(IF)画像内に埋め込むスペースがある場合
サイズに合わせて画像をゼロバイトを使って埋める
主バッファからの変更画像をファイルに書き込む
透かし模様データバッファに残っている全てのデータをファイルに書き込む。
スライス処理関数(process slice function)
(WHILE)スライス中で
(IF)データが透かし模様手法に関係していない場合
(POP)主バッファからデータをポップし
(PUSH)データを一時画像バッファにプッシュする
(ELSE)さもなければ
(POP)主バッファからデータをポップし
(PUSH)データを透かし模様データバッファにプッシュする
変更値を計算
変更値を符号化する
(PUSH)変更値を一時画像バッファにプッシュする
透かし模様が埋め込まれたコード
透かし模様が埋め込まれたコードの説明をする。MPEG2規格に準拠したビットストリームはファイル、例えば図1記憶装置54に格納され、バッファ70、7274が生成され、ファイルから1画像分のデータが主バッファ70に書き込まれて、構文解析が行われる。次に透かし模様手法の選択が行われる。透かし模様手法の選択については図22を参照して以下により詳細に説明する。先ず最初に、全ての透かし模様手法使用可能にする。次に、別途より詳細に説明する「スライス処理関数」が実行される。概略すると、そのスライス処理関数では原DC差分及びAC VLCを透かし模様データバッファ72に格納し、新たな透かし模様DC差分(すなわち変更値)を計算し、変更値を一時画像バッファ74に格納するものである。
次に、空間的制約条件(space constraint)が満たされているかのチェックを行う。最初は、透かし模様手法の特定の集合の全てがビットストリームに対して適用されるものと仮定する。空間的制約条件が満足されない場合には、手法の1つ以上が使用禁止にされる。この実施の形態の場合、画像からAC VLCを取り除くことにより解放されるビットの数がDC差分の変更を行うのに必要とされるビットの数よりも多い場合、空間制約条件の1つに合格したことになる。それは透かし模様を埋め込んだ表示画像が原表示画像より大きくないということを示している。条件が満たされない場合、それはAC VLCの取出しによってDC差分の透かし模様埋込みに対する十分なスペースが解放されなかったことを示す
選択された手法によってスライス処理関数が再度実行される。この実施の形態における「利用できるスペースを判定する」のステップでは、画像内に、新たなDC差分利用できるスペースがあるかがチェックされる
空きスペースが5バイト未満の場合には、透かし模様ユーザデータフィールド20を含めることはできない。ビットストリームが1つ以上のユーザデータフィールド36を含む場合は、最後のフィールド36の最終ビットは、図12(c)の40で示ように、ゼロに設定される。透かし模様を表す新たなDC差分を含む表示画像データは、一時画像バッファ74から主バッファ70出力され、画像サイズがゼロビットによりその原サイズに合わせてパディング(padded)される(図11、12の22を参照)。
例えば、透かし模様を表す新たなDC差分を含むピクチャデータ内に十分なスペースがある場合には、ユーザデータスタートコードを出力することにより透かし模様ユーザデータフィールド20が一時画像バッファ74内に生成される。透かし模様データバッファ72内に格納されていた原AC VLC及びDC差分は暗号化されて一時画像バッファ74内の透かし模様ユーザデータフィールドに置かれる。図12(b)の38で示すように、透かし模様ユーザデータフィールドの最後のビットは「1」に設定され、それが原AC VLC及びDC差分を含んでいることを示す。一時画像バッファ74の内容は主バッファ70に出力される。透かし模様が埋め込まれた表示画像データスペース23を挿入するスペースがある場合、表示画像データスペーススペース23は、図11の22で示すように、ゼロビットで満たされる。次に主バッファ70のデータはファイルに書き込まれる。透かし模様データバッファ72に残っているデータ、すなわち原AC VLC及びDC差分データで透かし模様ユーザデータ内に置かれないデータは暗号化され、ファイルを構成するビットストリームの最後に同様に付加される。
スライス処理関数
この処理の説明に際して、この実施の形態においては、図5において説明したように、データはスライス処理される。しかしながら、それは必須条件ではない。それは単にソフトウェアを実行させる際に便利だからである。
コード「POP」はデータがバッファから取り出されることを示す。コード「PUSH」はデータがバッファに移動されることを示す。
かくして、上述したように、主バッファ70のデータは構文解析される。主バッファ70内では表示画像データの「開始」までの全てのデータスキップされて、そこに残される。一時画像バッファ74プッシュ(PUSHed)されるデータだけが、表示画像データである。これにより原ユーザデータブロックを変更することが容易になる。透かし模様ユーザデータを追加しなければならない場合には、これを透かし模様埋込み表示画像データの前に挿入することが必要である。透かし模様データに関連するデータ、例えばAC VLC及びDC差分は、主バッファ70から取り出されて透かし模様データバッファ72に置かれる。DC差分の新たな変更値が計算され、符号化されて、一時画像バッファ74に置かれる。
透かし模様の洗浄−擬似コードの実施の形態
主バッファ及び透かし模様データバッファを生成する
(CALL)透かし模様データ初期化設定を呼び出す
(WHILE)画像処理中に
1画像分のデータをファイルから主バッファに読み込む
一時画像バッファを生成する
(CALL)透かし模様データ取得を呼び出す
(WHILE NOT)表示画像データの開始前に
主バッファの構文解析をする
透かし模様データ内のフラグ設定により示され透かし模様手法を使用可能にする
(WHILE NOT)画像終了前に
(CALL)スライス処理を呼び出す
一時画像バッファの内容を主バッファに出力する
(IF)画像に埋め込むスペースがある場合
ゼロで埋める
主バッファからの変更画像をファイルに書き込む。
透かし模様データ初期化関数
透かし模様ユーザデータブロックをファイルから分離する
データを復号する
一時ファイルに格納する。
透かし模様データ取得関数
(IF)透かし模様データバッファが満杯でなく(AND)且つ透かし模様データがまだ一時ファイルにある場合
透かし模様データを一時ファイルから透かし模様データバッファに読込む
スライス処理関数(透かし模様埋込みに使用した関数とは同一ではない)
(WHILE)スライス内で
(IF)データが透かし模様手法に関係していない場合
(POP)主バッファからデータをポップし
(PUSH)データを一時画像バッファにプッシュする
(ELSE)さもなければ
(POP)主バッファからデータをポップし
(POP)透かし模様データバッファから原データをポップし
(PUSH)元の値を一時画像バッファにプッシュする。
透かし模様洗浄コード
透かし模様洗浄コードは画像データを復元する。例えば、洗浄装置66には主バッファ70と、透かし模様データバッファ72と、一時画像バッファ74とが生成される。更に、「透かし模様データ初期化関数」により一時ファイルも生成される。
この透かし模様データ初期化関数は、ファイルから透かし模様ユーザデータブロック、すなわち暗号化された原AC及びDC差分を分離し、それらを(スマートカード64の暗号化鍵を使って)復号し、復号されたAC VLC及びDC差分を一時ファイルに格納する。
洗浄されていないピクチャデータが存在する場合、そのデータは一時ファイルから主バッファ70に読込まれる。この段階で一時画像バッファ74が生成される。
「透かし模様データを取得する」関数は、透かし模様データバッファ72が満杯でなく、(AND)且つ透かし模様データがまだ一時ファイルに存在しているかどうかを判定する。存在している場合、透かし模様データが一時ファイルから透かし模様データバッファ72に読み込まれる。これにより透かし模様データバッファ72内には常に少なくとも現在の画像を洗浄できる十分なデータが存在することが保証される。
「・・・、透かし模様手法使用可能にする」のステップでは、透かし模様データから1ビットフラグを読出し、選択された全ての手法を用い画像への透かし模様埋込みが成功したかどうかを判定する。そうでない場合、次に追加フラグビットを読出してどの手法が用いられたかを判定する。
「スライス処理呼出し」のステップは以下のように動作する。
POP(取出し)及びPUSH(移動)は、上述と同じ動作を示す。主バッファ70のデータは構文解析される。主バッファ70内のデータで透かし模様に関係ないものは取り出されて、一時画像バッファ74に置かれる。透かし模様データ(すなわち、透かし模様を表すDC差分)は主バッファ70から取り出される。透かし模様データバッファ72内の復号された原AC VLC及びDC差分は取り出されて、一時画像バッファ74に置かれる。
更なるステップにおいて、そのデータを一時画像バッファ74から主バッファ70に転送する。
最後に、再生された画像が主バッファ70からファイルに書き込まれる。
なお、上述の処理ではどのブロックに透かし模様が含まれ、どのブロックには含まれていないかを判定するために、データ記録媒体64に格納されたテンプレートが必要である。更に、復号に必要な鍵もデータ記録媒体64から受け取る。
後述する「第4の実施の形態−動きベクトル」の項目で変更された動きベクトルも同様な方法で元の値に復元される。
第2の実施の形態
非イントラDCの変更(non-intra changes)
上記第1の実施の形態においては、Iフレーム(Intra-frames)のテンプレートブロック内のDC係数の原DC差分を透かし模様を表す新たな値で置換することにより透かし模様が加えられる。それ以外の係数は置換されない。元の値は透かし模様ユーザデータスペース及び/又はビットストリームの最後に格納される。
本発明の第2の実施の形態においては、IフレームのDC係数の置換に加えて、非Iフレーム(すなわちPフレーム及びBフレーム)のテンプレートブロック内のDC係数が新たなで置換され、元の値が、透かし模様ユーザデータスペース及び/又はそのビットストリームの最後に格納され
非Iフレームにおいて、DC係数の変化の程度は通常小さいので、DC係数を、現在の係数と所望の係数との差として符号化する。しかしながら、その変化の程度がかなり大きい場合もあり透かし模様ブロックのDC値が制限範囲でクリップ(clip)してしまう場合がある。これを避けるためにDC係数の大きさを最小値「1」に変更することができる(その値をゼロに変更すると、AC_VLCは完全になくなり、後に続くコードのランレングス(run-length)が変わる)。
原VLCは透かし模様データバッファ72に格納されてたなコードがその位置に置かれる。ランレングスゼロ及びレベル変化1を表すVLCは、符号化テーブル内最小VLCであり、この処理により画像を符号化するのに必要なビット数が決して増加しないことが保証される。したがって、それはイントラDC変更(intra DC changes)行われる場合に合わせて、何時でも実行することができる。
レベル変化の符号はDC変更が黒色に対してはプラスに設定されその変更が白色に対してはマイナスに設定される。これによりDCクリッピングの発生が防げる。
図20において、非Iフレームは以下のように処理される。ステップS30において、フレームタイプを判定する。フレームが非Iフレームである場合、処理はステップS32進む。一方、フレームがIフレームである場合処理図10で述べたように進む。ステップS34において、テンプレートブロック内のDC係数(これは上述した差分値)を表すコードは取り出され、透かし模様データバッファ72(図12(b)参照)に格納される。ステップS36において、新たな変更値+/−1が、取り出されたDC係数の代わりにビットストリームに配置される。ステップS36及びS38において、ビットストリームは一時画像バッファ74内で再構成される(図12(c)を参照)。利用できるスペースがある場合、取り出された係数値を透かし模様ユーザデータスペース20に置き、スペースがない場合は、ステップS40においてビットストリームの最後に付加する。原DC係数は上述のように暗号化される。
AC VLCは非Iフレームにおいては変更されない。
第3の実施の形態:フレームピクチャ、DCTタイプの変更、図21
第1及び第2の実施の形態以下のように変更してもよい。
ピクチャのタイプにはフィールドタイプとフレームタイプの2つのタイプがある。フィールドピクチャにおいてはDCTブロックの1タイプだけが発生する。
第3の実施の形態においては、フレームピクチャだけについて検討する。フレームピクチャにおいてはフィールドとフレームの2つのタイプのDCTブロックが生じうる。フィールドDCTはビデオソースがインタレースされている場合に使用され、それは隣接する行間の相関を改善でき、その結果DCTの低周波数成分の信号出力の割合が改善できるからである。しかしながら、それはこの目的のためだけに使用されるのではない。マクロブロックにおいては全てのブロックは同じタイプを有する
図21(a)において、同じマクロブロックMB内の垂直方向直接上下のDCTブロックではなく、1つのDCTブロックB1に対してフレームピクチャ内のDC変更がなされ、そのマクロブロックのDCTブロックにフィールドタイプが用いられる場合、変更の結果、マクロブロックの高さに全体亘ってストライプ(stripes)が発生する。これは透かし模様を歪ませ、透かし模様が英数字(alpha-numeric)の場合には、読みづらくなるので好ましくない。
ストライプの現れ方はコンテンツの符号化と、特にフィールドDCTを使って符号化されたマクロブロックの割合とに完全に依存する。本発明の実施の形態によれば、この問題を解決するために、少なくとも1つの透かし模様が埋め込まれるDCTブロックを含む、フレームピクチャ内のいずれのDCTタイプのマクロブロックも、フレームに設定される。これは原DCTタイプコードを透かし模様データバッファ72(図13)に格納して、それをフレームDCT用コードで置換する動作を伴う。DCTタイプコードは常に1ビット値であるからそのピクチャが要求するビット数に影響を及ぼさない。したがって、この変更は、DC透かし模様を使用する際には何時でも行える。
動きベクトル変更と同様に、DCTタイプはマクロブロックレベルで機能するので、どの変更でも透かし模様埋込みの有無に拘わらずマクロブロック内の全てのDCTブロックに影響を及ぼす。この場合発生する副作用マクロブロック内の行の再配列が生ずることである。の結果、明瞭、視認可能で不正なマクロブロックが生ずる場合があるが、マクロブロックの現れ方は必ずしも受け入れ難いとは言えないかもしれない。
図21(b)はDCTタイプを処理する方法の一例を説明する(フィールドDCTからフレームDCTへの変更及びその逆の変更を含む)。
図21(b)において、
「picture_structure==FRAME」は、フレームピクチャを検出する。
「&&」は論理
「frame_pred_frame_dct==0」はマクロブロックがこのピクチャに対して普遍的に設定されるフレームDCTタイプではなく、個々のベースに基づき特に設定されたDCTタイプを有することを検出する。
「||」は論理である。
「macroblock_intra||macroblock_pattern」はイントラ符号化マクロブロック(intra-encoded macroblocks)及び符号化DCTブロックを含む非イントラブロック(non-intra blocks)を検出する。イントラ符号化マクロブロックは、符号化された全てのDCTブロックを有する符号化ブロックだけがDCTタイプを有するので、この検出が必要である。
DCTタイプ(dct_type)は1ビットコードで表される1=フィールドタイプであり、0=フレームタイプである
原ビットストリームは主バッファ70に格納されており、取り出されたコードは透かし模様データバッファ72に一時的に格納される(図13参照)。
処理は、ステップS70から始まりステップS71更にステップS72に進みDCTタイプを有するマクロブロックが検出される。マクロブロックがDCTタイプを持たない場合、処理はステップENDで終了する。マクロブロックがDCTタイプを有する場合には、ステップS73において、DCTタイプを表す1ビットコードが主バッファ70から取り出される(ポップされる)。ステップS74において、DC変更が可能にされ(以下に述べる「選択手法」の項目を参照)、マクロブロックがテンプレート内にあることが判定される。YESの場合、ステップS75において、透かし模様をビットストリームに埋め込むのか、又は、透かし模様埋め込まれたビットストリームをその元の形に復元(洗浄)するのかが判定される。ビットストリームに透かし模様を埋め込む場合には、次のステップS76において、「det_type」コード(ステップS73において主バッファ70から取り出されたもの)が透かし模様データバッファ72(図13参照)に置かれる(プッシュされる)そして、ステップS77において「det_type」コードの値はフレームタイプ(=0)に変更され、ステップS79においてその新たなコードが一時画像バッファ74にプッシュされる(図13を参照)。
ステップS74からNOの経路が取られると、ポップされた「det_type」コードはステップS79において一時画像バッファ74プッシュされる。
その逆の処理においてもステップS70S74までは上述のように進む。次にステップS75において、透かし模様埋込み処理が反転(洗浄)されようとしているかが判定されて、ステップS78において、透かし模様埋め込れたストリームの「dct_type」コードが、透かし模様データバッファ72から抽出された原コードによって置換される。次にステップS79において、その「dct_type」コードは、上述と同じように一時画像バッファ74に格納される。
図21(b)に示す処理の最後において、一時画像バッファ74はたな「dct_type」コードを含み、透かし模様データバッファ72は原コードを含む。透かし模様データバッファ72からの原コードは透かし模様ユーザデータスペース20に転送されるか又はそのビットストリームの最後に付加される。新たな「dct_type」コードが原コードの代わりにビットストリームに置かれる。それらは、上述した「透かし模様が埋め込まれたコード」の項目で説明したのと同様に行われる。
選択手法
上述したように、ピクチャには下記のステップにより透かし模様まれる
(a)第1の実施の形態:原DC及びAC係数を表す全てのコードをIフレームのテンプレートブロックから取り外し、そのDC係数を透かし模様を表す新たな値で置換する。
(b)第2の実施の形態:オプションとして更に加えて、非Iフレーム内の原DC係数を表すコードを取り外し、それらを新たな値で置換する。
(c)オプションとして、上述に更に加えて、テンプレートブロックの原動きベクトル値をゼロ値で置換する
より一般的には次の3つの手法が用いられる。
1.テンプレートブロック内のDC係数の変更を許可する。
2.テンプレートブロックからAC係数の取外しを許可する。
3.テンプレートブロック内の動きベクトルの変更を許可する。
通常、ここで説明する実施の形態手法を用いて透かし模様を埋め込んだ画像を符号化するために必要なビット数は、原画像より少なくて済む。上述の第1の実施の形態においては、これはAC係数を完全に除外することによるが、DC及び動きベクトル両方に対して多数のゼロ差分値で符号化した効果も大きい。
しかしながら、透かし模様を完全に埋め込もうとしても、ピクチャの最後に挿入するビットの数がその画像から取り外したビット数よりも大きくなってしまう場合がある。例えば、これはビデオシーケンスで通常遭遇する完全に黒いカラーフレーム等で容易に生じうる。これが発生する場合、画像を表すのに使用するビット数は同じに維持されなければならないという制約条件を満たすために、その条件が満たされるまで画像の透かし模様の埋込みに使用する上述した手法の幾つかを使用禁止にする必要がある。
本発明の実施の形態においては、その選択はピクチャベースで行われるので、その画像の正しい洗浄を容易にするためには追加情報を格納する必要がある。そこで現在の画像に対してどの手法が許可されているかを示すフラグビットが挿入される。ここで使用される方式が表Aに示される。それは更なる手法の追加にも容易に適応し、且つ利用できる全手法の集合の中から選択された部分集合であるにも拘わらず効率的である。ここで注目する点は、第1のフラグビットの選択が透かし模様が埋め込まれたデータ内でのMPEG2スタートコードの発生を避けるよう設計されていることである。
Figure 0004564753
可能な限り常にイントラDC変更とAC取外し手法の2つは、最低限適用されるべきである。これにより良好な視認性と頑強性が与えられるからである。イントラDC変更が加えられる場合には、非イントラDC及びDCTタイプ変更も用いることができる。その画像が必要とするビット数が増加しないことが保証されているからである。動きベクトルの変更も視認性品質や透かし模様の完全性を改善するが必須条件ではない。
図22は、例えば3つの透かし模様埋込み手法の選択を説明するフローチャートである。
1.テンプレートブロックにおけるDC係数の変更許可する
2.テンプレートブロックからのAC係数取外し許可する
3.テンプレートブロック内の動きベクトルの変更許可する
なお、ここで注意すべき点は以下のとおりである。
・解放されたACビットは、常に、負ではない。AC取外しは何時でも実行でき決して画像サイズの増加を起こさない。
・DC変更用ビット及びMV変更用ビットは、正であっても、負であってもよい。その値が正の場合はその手法を実行するのに必要なビット数は元々存在したビット数より大きくなる。したがって現在の画像に対する変更を行う場合は別の手法を用いて(例えばAC取外し)十分なビット数を解放しなければならない。その値が負の場合はその手法は元々存在したビット数よりも少ないビット数しか必要とせず、したがって実際には十分なビットが解放されているのでその変更は何時でも実行することができる。
解放されたビット数が両者の手法を実行するのに必要とするビット数を補うのに不十分な場合には、MV変更よりもDC変更が常に優先される。
図22において、処理はステップS80から始まりステップS81に進み、ここで最初は3つの手法全てが使用可能される。ステップS82において、画像(すなわちフレーム又はフィールド)は、使用可能にされた3つの手法の全てを適用するよう処理される。ステップS83は再処理フラグを「True」に設定して最初は3つの手法の全てを用いてその画像が再処理できると想定していることを示す。概説すると、画像は1つのパス(pass)においては3つの手法の全てを用いて透かし模様を適用するよう処理されて結果が解析される。その結果が不首尾の場合は、その画像は1つ以上の手法使用禁止にした第2のパスにて再処理される。
3つの手法の全てを可能にする解放されたACビット
ステップS84において、AC係数を取り除くことによりデータが削除されDC係数変更のためのビット解放がなされたかどうかを判定する(黒色画像に対してはAC係数はないかもしれない)。解放されたビット数がゼロを超えれば、次にステップS85において解放されたACビット数がDC変更用ビットとMV(動きベクトル)変更用ビットの和以上かどうかを判定する。DC変更用ビット数は原DCコードを取り除くことにより解放されたビット数と新たなDCコードに使用されたビット数との差である。同様に、MV変更用のビット数は原MVコードを取り除くことにより解放されたビット数と新たなMVコードに使用されたビット数との差である。
解放されたACビット数がDC変更用及びMV変更用ビットの合計より少なくない場合には(すなわち、DC及びMV変更の両方ができるだけの十分なACビットが解放された場合)、3つの手法の全部が使用でき、したがって画像の再処理の必要はなくなる。かくしてその再処理フラグはステップS90において「False」に変更される。ステップS91は再処理フラグが「True」、「False」いずれかを判定する。この場合は「False」であるので、処理はステップENDで終了する。
ステップS84:解放されたACビットがない場合
これはAC係数を持たず、したがって透かし模様を埋め込むことができない黒色画像上で起こることがある。黒色画像には保護するコンテンツがないのでそれは問題にはならない。
ステップS84において解放されたACビットがないこと確認されると、処理はステップS93に進みそこにおいて、AC取外し手法使用禁止になる。ステップS94はDC変更用のビットがゼロより大きいかテストする。大きい場合、DC変更手法ステップS95において、使用禁止にされる。DC変更用のビットがない場合、すなわちステップS95が起こった場合には、処理はステップS96に進みそこにおいて、MV変更用のビット数がゼロより大きいかどうかがテストされる。大きい場合、ステップS97においてMV変更手法使用禁止にされる。
要約すると、ACビットが解放されない場合、DC及びMV変更は許可されず、又はDC及びMV変更ビットがないということである。何れの場合でも再処理フラグは依然「True」であるので画像はステップS92において、(再度)処理される。
なお、「解放されたACビット」は常になく、一方「DC変更用ビット」及び「MV変更用ビット」は、正であっても、負であってもよい取り除くACデータがない場合、DC及びMVの変更はその置換データが原データよりもビット数が少ない(すなわち、「DC変更用ビット<=0」且つ「MV変更用ビット<=0」)場合にだけ実行できる。したがって、AC取外しを使用禁止にする一方でDC及び/又はMV変更を許可することも(可能性は低いが、)可能である。
3つの手法の全部を許可すると最初に仮定しているので、手法のどれかを使用禁止にした場合には常に再処理が必要になりフラグデータを変更しなければならず、第1のパス透かし模様が埋め込まれたフレームは第2のパスの透かし模様が埋め込まれたフレームで上書きされる。
AC VLCデータの不足ビット数を増加させる差分DC値の変更を使用可能にするピクチャデータのスペース解放ができないことを意味する。そのような場合においては透かし模様の埋込みはできなくとも、保護するコンテンツがないので問題にはならない。しかしながら、ここでは透かし模様洗浄装置と呼ぶ、透かし模様を取り外すデコーダは、フレームから透かし模様を取り除こうとしなくても済むようにどこでそのような場合が発生したかを通知されなければならない。これを示すのに追加フラグビットが用いられる。
ACビットがDC及びMV変更用ビットの総和より少ない場合:ステップS85
DC及びMV変更の両方を行うのには解放されたビット数が不足する場合には、処理はステップS86に進む。
この場合、ステップS86は解放されたACビット数がDC変更を行うのには十分かどうかを調べる。DC変更を行うのに十分なビットがある場合(ステップS86のNO出力)、ステップS97に進みMV変更は不許可となる。次に処理はステップS91進む。再処理フラグは「True」であるがMV変更は不許可なので、次に、ステップS92において、画像はMV変更不許可且つDC変更許可の状態で改めて処理される。
ステップS86においてDC変更を行うのには解放されたビットが不十分であると判定された場合(ステップS86の出力YESの場合)、次に処理はステップS87進みそこにおいて、解放されたACビット数がMV変更を行うのには十分であるかどうかを判定する。MV変更を行うのには十分なビットがある場合ステップS87の出力NO)、次にステップS88において、DC変更が使用禁止にされる。次に処理はステップS91進む。再処理フラグは「True」であるがDC変更が不許可になっているので、次に、ステップS92において、画像はDC変更不許可且つMV変更許可の状態で改めて処理される。
ステップS87において、そのMV変更を行うのにはビットが不十分であると確認されると(ステップS87の出力YESの場合)、次にステップ89において、DC及びMV変更の両方が不許可にされてその画像はAC取外し手法だけが有効にされてステップS91及びS92により再処理される。
図22の処理の変形例において、ACを取り外しても問題が決して起きないのが分かっているので、AC取外し機能は常に有効(使用可能)となっている。図22においてステップS93は取り除かれAC取外しのためのフラグビットは必要でなくなる。
第4の実施の形態:動きベクトル:図23−25
動きベクトルのゼロ設定
図23(a)において、動きベクトルはDCTブロック(細線で示された四角形B)よりもむしろマクロブロック(太線で示された四角形MB)と関連付けられる。そこで明るい陰影で示される動きベクトルテンプレートは暗い陰影で示される透かし模様テンプレートに基づいて定義されてもよい。上述の第1の実施の形態において仮定したように、Iフレームだけが透かし模様データを含んでいるとしても、動きベクトルは透かし模様を歪ませてしまうことがある。P及び/又はBフレーム内のどのマクロブロックが動きベクトルテンプレート内にあるかを判定することが、必須ではないが、好ましい。もしあれば、次にそのマクロブロックの動きベクトルの値がゼロに設定される。動きベクトルは差分に基づきに符号化されるので、差分値は動きベクトルに対してゼロの値を表すように設定される(すなわち、動きベクトルは、上述のDC差分に対すると同じように処理される)。
DC差分を引用して説明したように、DCTマクロブロックの動きベクトルを表す原コードは、テンプレート内のDCTブロックを含、ビットストリームから取り出されて、変更コードで、この場合はゼロ値の動きベクトルを表すコードで置換される。原動きベクトルコードは透かし模様ユーザデータスペース20に置かれ、及び/又はそのビットストリームの最後に付加される。
そこで、図13及び24を参照してさらに説明する。
ビットストリームは主バッファ70に格納されている
ステップ100において、非Iフレームのマクロブロックが動きベクトルテンプレートに属するかどうかが判定される。そうであれば、そのマクロブロックと関連する動きベクトルコードは主バッファ70内でビットストリームから取り外され(ステップS102)、透かし模様データバッファ72に格納される(ステップS104)。動きベクトルに対するゼロ値を表す新たな動きベクトルコードが一時画像バッファ74内のビットストリーム内の元の値の変わりに置かれステップS106)、原動きベクトルコードは一時画像バッファ74内の透かし模様ユーザデータスペース20に置かれ(ステップS108)、及び/又はMPEG2規格に準拠したビットストリームの最後に付加される(ステップS110)。原動きベクトルコードは、透かし模様ユーザデータスペース20に置かれる前又はビットストリームの最後に付加される前に、図15で上述したように、暗号化される。
上述した実施の形態の何れにおいても、この項目で説明したように、動きベクトルはゼロに設定してもよい。これにより透かし模様の歪みは少なくなっても、依然として透かし模様は特にエッジ部分において歪が残る場合がある。次の項目「境界領域」において、透かし模様の歪みを更に削減する方法を説明する。
境界領域:図23(b)
図23(b)に示すように、透かし模様の歪みを更に少なくするために、動きベクトルテンプレートを透かし模様テンプレートブロックは含まないがそれと境界を接するマクロブッロクを含むように拡張する。拡張された動きベクトルテンプレート内の全てのマクロブロックの動きベクトルコードを、上述の図24で説明したように処理する
これにより透かし模様テンプレートによって定義される透かし模様の歪みは小さくなるが、透かし模様テンプレートと境界をなすマクロブロック、透かし模様ブロックを含まないので、画像は境界線上のマクロブロックにおいて歪む。透かし模様の歪み削減より画像の歪み増加の影響が大きいと判断するかどうかは主観の問題である。
動きベクトルコードの値の変更:図25
動きベクトルは「差分DCの再符号化」の項目で説明したのと同様に差分符号化され記録される。Pフレームは前方予測動きベクトルを有するが、Bフレームは前方予測及び後方予測の2つのタイプの動きベクトルを有する。この2つのタイプは図25で述べるように別々に処理される。
図25(a)は透かし模様の一部ではないその境界の他のマクロブロック0の間にある3つのマクロブロックBからなる非常に単純化された動きベクトルテンプレートを示す。
図25(b)は予測型のマクロブロックを示す。Fは前方(forward)を示し、Bは後方(backward)を示す。幾つかのマクロブロックFBは前方及び後方予測のマクロブロックである
図25(c)から(e)において、これら図中の数字は単に説明のためだけであり動きベクトルの実際の値を表すものではない。図25(c)は前方予測動きベクトルの非差分値を示す。対応する差分値(それらの差を取った値)図25(d)に示。後方予測動きベクトルは無視されているのが分かる。3つのテンプレートマクロブロック内の動きベクトルがゼロに設定されると、テンプレート内の有効値は結果的にゼロであるがそのプレート外の隣接するブロックの有効値が変更されないようにこれらブロックの差分が再計算される。その結果、その先行のマクロブロックに対して変化する、「入口(Entry)」で矢示されるテンプレートの先端部のマクロブロックの差分値が結果的にゼロの動きベクトル値を与え、且つ「出口(Exit)」で矢示される後続端部のマクロブロックの差分値が境界を接する次のマクロブロックの元の値を保持するように変化する。
前方予測動きベクトル値は後方予測値からは独立した差分値シーケンスであり、2つのシーケンスの「入口」及び「出口」のマクロブロック同士は必ずしも一致しないことが理解できる。
更に、テンプレートからの「出口」と境界を接するマクロブロックの動きベクトルの原差分値は、上述の「差分DCの再符号化」の項目のブロック65で説明したように、格納する必要はないがそうすることが望ましいのも理解できよう。
テンプレート:図26〜28
以上述べたように、2つのタイプのピクチャ、フィールドタイプとフレームタイプの画像がある。ビデオシーケンスは、フィールドピクチャだけ、フレームピクチャだけ、又はフィールドピクチャ及びフレームピクチャの両方を含んでもよい。
フレームピクチャだけのシーケンス
フレームピクチャだけのシーケンスについて考える。テンプレートは水平及び垂直方向における1つのDCTブロック単位(8x8画素)の解像度で定義する。図26(a)に示、行当たり720画素及び576行を有するフレームピクチャの例に対して、必要なテンプレートサイズは90x72ブロックである。図26(b)においてXの字の形のテンプレートが1ブロック単位の解像度で定義されている。その結果、図26(c)に示す透かし模様を埋め込んだ画像は1ブロック8x8画素の表示された透かし模様解像度を有する
フィールドピクチャだけのシーケンス
フィールドピクチャだけのシーケンスを考える。図27(a1)及び(a2)において、それぞれが720x288画素の2つのフィールドがインタレースされて720x576画素の1つのインタレースされたフレームを定義する。フィールドピクチャにおいては、DCTブロックはフレームピクチャの行数の半分の行数であっても8x8画素ブロックに対応している。マクロブロックは、フレームピクチャにおける場合と同様に2x2DCTブロックである。
フィールドピクチャに対するテンプレート(図27(b)におけるX)は1DCTブロックの解像度で定義される。ストライプの発生を防止するために両方のフィールドに対して同じテンプレートが使用される。ブロックの位置はフィールドの開始に対して固定されているのでそれぞれのフィールドに対する特別の調整は必要ない。
図28において、図28(c)に示される1つのマクロブロックに対して、テンプレートは1つの黒く塗りつぶしたブロックに透かし模様を埋め込むことを示している。インタリーブされたフレームにおいて、図28(a)及び(d)に示すように、それぞれ2つのフィールドからの2つのマクロブロックがインタリーブされて水平方向に2つのDCTブロックと垂直方向に4つのDCTブロックを組み合わせた1つの複合マクロブロックが構成される。その複合マクロブロックはフィールド1からのマクロブロックB1とフィールド2からのマクロブロックB2からなる。インタレースされたフレームの線分はフィールド1からの線はF1により、フィールド2からの線はF2により示される。
表示された透かし模様Xの解像度は、図28(c)に示ようにテンプレートの解像度は8x8画素であっても、図28(d)に示すように水平に8画素×垂直に16画素の解像度を有する
フィールドピクチャ及びフレームピクチャのシーケンス
少なくとも1つのフィールドピクチャと少なくとも1つのフレームピクチャ有するビデオシーケンスを考える。そのテンプレート、図27(b)のXは1つ以上のフィールドピクチャ用に設計されており1DCTブロックの解像度を有する。その結果、水平に1ブロック×垂直に2ブロックの解像度を有する透かし模様が表示される。1つ以上のフレームピクチャ内の透かし模様はフィールドピクチャのそれと一致する必要がある。これはフィールドピクチャに使用されたテンプレートからフレームピクチャ用のテンプレートを自動的に導出することにより保証される。これを達成する最も簡単な方法はフィールドテンプレートの全ての行を2倍にすることである。それによりフレームテンプレートは水平1ブロック×垂直2ブロックの有効解像度を持ち、フレームピクチャに表示された透かし模様がフィールドピクチャのそれと確実に一致する。
実際にはビデオシーケンスはそのピクチャのタイプの確認がなされる。フィールドのみ及びフレームのみのシーケンスに対してはそのピクチャタイプに適したテンプレートが用いられる。両方のピクチャタイプを有するシーケンスに対しては、フィールドピクチャに適したテンプレートが選ばれてそのシーケンス内のフィールドピクチャに使用される。次にフレームピクチャに使用するテンプレートはそのフィールドテンプレートから導出して透かし模様の外見に矛盾が生じないようにする。
上述のテンプレートは1つ以上の記録装置に記録されたビットマップであってもよい。
変更
パケット化されたビットストリーム
元のシーケンスがMPEG−2パケットストリーム(パケット化ビデオシーケンス又はオーディオ/ビデオマルチプレックス)の場合、透かし模様が埋め込まれたビデオシーケンスが再パケット化されて残りの透かし模様データがそのパケット化ストリームエンドコードの後に置かれる場合、ビデオシーケンスエンドコードは必要なくなる。
パケット化ストリーム(オーディオ/ビデオマルチプレックス)の埋込みを簡単にするために、そのストリームを前処理してビデオシーケンスを抽出することができる。次に、上述のように、ビデオシーケンスは個別に埋め込みできる。埋め込まれたビデオシーケンスは、テンプレートとして全てのパケット情報の再利用ができ全てのタイミングを保持する既存のパケット化ストリームファイル(ピクチャデータサイズを維持する通常の副次効果)を使ってオーディオと一緒に再パケット化できる。この追加処理段階は埋込み処理の操作には必須条件ではないので、上述の擬似コードにおいては説明されていない。
圧縮比の変更
上述の実施の形態では圧縮ビットストリームに透かし模様データを埋め込む前にそのビデオは画質を最高にするために最小の圧縮比で圧縮されているものと想定する。よって、透かし模様ユーザデータフィールドが全ての暗号化された元の係数を含むことはなく、残りのデータはファイルの最後に付加される。本発明の別の実施の形態においては、ここではその方法は採らないが、圧縮を実行する前に透かし模様データを収納するのに必要なデータスペースの推定値を与えて透かし模様ユーザデータフィールドに元の係数全部を収め且つ表示画像データフィールドに新たなDC係数を収めるのに十分な空きスペースを提供するよう圧縮を制御する。
暗号化された原AC VLC及びDC差分の付加
上述の実施の形態においては、透かし模様ユーザデータフィールドに格納される分を超過する原AC VLC及びDC差分はファイルの最後に付加される。しかしながら、それらはファイルの最初に置いてもよい。
好ましい実施の形態においては、ファイルの最後に付加された残余のバイト数がカウントされる。そのカウント数はその残余のデータの最後に置かれており、残余のデータのスタートが容易にアクセスできるようにする。
原AC VLC及びDC係数をユーザデータフィールドに格納する他の方法
上述の説明において、原AC VLC及びDC係数は、圧縮ビットストリームのユーザデータフィールド20に格納される。図14のフレームP1及びP2の実施の形態で示したように、フレームP1のデータのある部分がフレームP1のユーザデータスペース20に格納されそれを超える部分がある場合、フレームP2のユーザデータスペース20に格納される。その処理はビットストリーム全体を通じて継続される。残余のデータがある場合、ビットストリームの最後に付加される。
上記処理の他の実施の形態においては、図29に示すように、フレームP1の原AC VLC及びDC差分はフレームP1のユーザデータスペース20に格納される。全てのフレームに対して、そのフレームのユーザデータスペースに暗号化されたAC VLC及びDC差分と一緒に収めきれなかった、それらAC VLC及びDC差分のバイト数Bからなる残余データフィールド291が生成される。残余のAC VLC及びDC差分がない場合、そのフレームに対するバイト数Bはゼロである。したがって各フレームはそのユーザデータスペース20内にはそのフレーム自身のデータだけを納め、残りのデータはどこか他の所へ、例えば、図29のバッファ290に格納する。
上記残余のデータ、すなわちこの実施の形態においては、バッファ290のコンテンツは、図30に示すMPEGビットストリームの最後に付加してもよい。292で示すように、それはビットストリームの開始端(End of Start)に付加してもよく、又は293で示すようにそれはビットストリーム終了の後に付加してもよい。
ユーザデータのビット数を表すコードBの選択は、MPEGビットストリームで使われている他のコードを表すものでないコード、特にMPEGスタートコードと混乱させないように選ばれる。
ファイル
上述のようにコードBと暗号化された残余のAC VLC及びDC差分からなる全ての残余のデータは、ビットストリームの最後に付加される。また他の実施の形態において、その残余のデータはビットストリームから分離されたファイルに格納される。そのファイルは図30に示すようにビットストリームの開始端292、又は終了端293に付加してもよい。図31に示すように、ファイルは送信媒体294、例えばビットストリームから分離されたデータ記録媒体又は通信チャンネルに格納されてもよい。そのデータ記録媒体フロッピー(登録商標)ディスク、テープ又はその他の記録媒体であってもよい。
上記ファイルはそのビットストリームと関連付けられ、一体化される。それは図30に示すようにビットストリームに付加することにより構成されてもよい。ファイルが図31に示すように分離して格納される場合には、例えば、ファイルとビットストリームを結び付ける識別子を使うことによりそのファイルとビットストリームとを関連付けてもよい。そのような識別子の例としてはUMIDがある。
洗浄
図29のビットストリームから透かし模様を洗浄するために、ビットストリームP1〜Pnを格納して構文解析を行う。コードB、AC VLC及びDC差分からなる残余のデータは構文解析処理中に、付加されたデータ292又は293から検索され、又はファイル292、293又は294から取り出されて格納される。各フレームに対し、ユーザデータフィールド20のデータが復号されてビットストリームの変更データを置換するのに使われる。そのフィールドに対するバイト数Bが読み出される。それがゼロより大きい場合、次にそのフィールドに対する残余データが復号されそのフレームの残っている変更データを置換するのに使われる。
MPEGビットストリームの例においては、フレームの番号付けは行わず残余データフィールド291の番号付けも行われない。そのような番号付けは不必要であるからである。全てのフレームとそれと関連する残余データフィールドは連続して処理されるからである。そのような番号付けは本発明の他の実施の形態において与えることができる。
透かし模様手法の選択
上述説明では3つの透かし模様手法の選択について説明した。しかしながら、以下の項目を含む多くの手法から選択してもよい。
(a)変更DC差分によるDC差分の置換と原DC差分の取出し
(b)ビットストリーム内に原DC差分に対するスペースを空けるためにAC VLCを取り除く方法
(c)取り外した係数をユーザデータブロックに置く方法
(d)取り外した係数をビットストリームの最後に置く方法
(e)透かし模様を行うための動きベクトルの変更
(f)透かし模様を行うための色情報の変更
(g)P及び/又はBフレームの空きスペースに係数を置く方法
これらの手法単独又は組み合わせて使ってもよい。例えば、ある場合にはAC VLCを取り出さずにDC係数だけを変更された係数で置換することも可能である。常時ではないが、一般に、透かし模様のために係数及び動きベクトルを変更するとビット数が増加する。
使用する手法ビットレートに対するそれらの与える影響に応じて選ばれる。ある特定の手法の組合せの結果ビット数が大きくなりすぎる場合には(例えば、(a)と(c)の組合せ)、別の手法の組合せを選択する。使用する手法それを識別するフラグによって透かし模様が埋め込まれたビットストリーム内で識別されるので、そのビットストリームが透かし模様を取り除くために洗浄装置にかけられるときその洗浄装置は正しくその透かし模様を取り除くのに必要な情報が与えられる。
アプリケーション
以上説明した本発明の実施の形態次に述べる各状況において適用できる。
コンテンツ仲介(content brokering)
上述手法を用いて製造される可視透かし模様が埋め込まれたファイルは規格品MPEG−2プレーヤを使ってコンテンツをプレビューでき(その透かし模様ファイルはMPEG−2実証ストリームである)、専用のプレーヤは必要としない。その透かし模様を埋め込んだファイルにはその処理を反転するのに必要な全ての情報が含まれている(暗号化鍵及びテンプレートファイルを除く)。したがって唯一必要なのはそのコンテンツのコピーを流通/伝送するだけである(従来の手続きでは購買者がそのコンテンツを購入するとそのシーケンスの保護コピーとそれに続く非保護コピーとを流通する手続きがとられる)。
この流通の形態としては次のような多くの形態を採ることができる。
透かし模様を埋め込んだコンテンツは安全サーバ上に格納できるが、ファイル内の透かし模様データの暗号化はファイルのコピーが請求された時点で行うことができる。顧客は自分の詳細情報を入力でき次にそれらは使用された暗号化鍵のコピーと一緒に安全サーバ上に格納される。次に顧客がそのコンテンツの購入を希望する場合、顧客の詳細情報を索引として使って、暗号化鍵が安全サーバから検索できる。このことは一人の顧客の暗号化鍵別の顧客の透かし模様を埋め込んだコンテンツのコピーを洗浄するのには使えないことを意味する。勿論、それでもその鍵を持つ顧客がコンテンツ(透かし模様を埋め込んだ又は洗浄された)の彼らのコピーを別の人に提供することは可能であ
一旦顧客がそのコンテンツを購入した場合、次のどちらかのオプションを選べる。すなわち、ファイルを洗浄して可視透かし模様のないファイルを生成するか、又はそのファイルのローカルコピーとして透かし模様を埋め込んだまま残しておき必要なときにリアルタイムで洗浄するかのいずれかである。前者の場合は現在のモデルと変わらないので受け入れられ易い。
番組毎料金徴収(ペイパービュー)放送
透かし模様処理の特性を生かしたリアルタイム洗浄装置を開発することが可能である。これは保護されたコンテンツをプレビューのため聴取者に流すことができることを意味する。続いて聴取者がそのコンテンツに対する支払いを決めると例えば受信機セットトップボックスに入力する鍵が与えられてそのコンテンツは受信と同時にローカルに洗浄される。したがって送信中にそのデータを変更する必要はない。リアルタイム洗浄を迅速容易にするためには全ての暗号化透かし模様情報を最初にそのセットトップボックスにダウンロードする必要があ。又は、追加の透かし模様データ分を補償する十分なパディングをピクチャフレーム内に含めるように、コンテンツ圧縮処理を変更することもできる。予め定めたテンプレートデザインを用いて、補償が必要とされる最悪の場合の(ビット数)増加分を計算できる。
本発明はハードウエア又はソフトウ若しくはそれらの組合せにより実施してもよ。
本発明は、それがコンピュータ上で実行される場合に、上述の方法を実現するコンピュータプログラムを提供する。本発明は更にそのようなプログラムを記録した記録装置を提供する。
画像フレームの概要図である。 画像フレーム内の8x8画素ブロックの概要図である。 DCTブロックの概要図である。 マクロブロックの概要図である。 マクロブロックの行とスライスの概要図である。 画像グループ(GOP)の概要図である。 ピクチャデータの1つのフレームの概要図である。 1つのマクロブロックの1ビットストリームの概要図である。 透かし模様を定義するテンプレートの概要図である。 本発明によるIフレームに適用された透かし模様技術の概要を説明するフローチャートである。 本発明の実施の形態に使用されたデータフォーマットを説明する概要図である。 本発明の実施の形態に使用されたデータフォーマットを説明する概要図である。 本発明の実施の形態に使用されたデータフォーマットを説明する概要図である。 圧縮画像フレーム中に分配されたユーザデータを示す概要図である。 透かし模様暗号化/復号処理のフローチャートである。 本発明による透かし模様取外し方法の概要を説明するフローチャートである。 本発明によるウォータマークシステムを説明する概要図である。 透かし模様取外し装置の概要ブロック図である。 透かし模様埋込み処理及び透かし模様取外し処理に使用された3つのバッファの概要図である。 本発明による非Iフレームに適用された透かし模様方法の概要を説明するフローチャートである。 (a)は透かし模様を埋め込んだマクロブロックを示し、(b)はDCTタイプ変更処理のフローチャートである。 手法選択処理のフローチャートである。 動きベクトルと一緒に使用されるテンプレートを示す図である。 本発明の実施形態における動きベクトルコードに適用された方法の概要を説明するフローチャートである。 動きベクトルの符号化を説明する図である。 ビデオシーケンスのフレームピクチャへの透かし模様埋込みを説明する図である。 a)ビデオシーケンスのフィールドピクチャへの透かし模様埋込みを説明する図であり、b)ビデオシーケンスのフィールドピクチャ及びフレームピクチャへの透かし模様埋込みを説明する図である。 インタレースされたフィールド及びフレームに対する透かし模様埋込みマクロブロックを説明する図である。 本発明の変更例を示す図である。 本発明の変更例を示す図である。 本発明の変更例を示す図である。

Claims (53)

  1. ピクチャ情報を表すデジタルコードを含むビットストリームを変更するビットストリームの変更方法において、
    透かし模様を埋め込むピクチャの該透かし模様の部分に対応するデジタルコードであって、上記ピクチャ情報の変更を表す少なくとも1つの変更コードが含まれることになる上記ビットストリームの一部分を占める少なくとも1つのデジタルコードを選択するステップと、
    上記ビットストリームの一部分から、上記選択されたデジタルコードを取り外すステップと、
    上記選択されたデジタルコードの代わりに、上記少なくとも1つの変更コードを、上記ビットストリームの一部分に挿入するするステップとを有し、
    上記選択され、取り外されたデジタルコードのビット数は、上記ビットストリームに挿入された上記変更コードのビット数以上であり、
    上記ピクチャ情報を表すデジタルコードは、該ピクチャ情報のDCT係数を表すコードであり、
    上記DCT係数は、DC係数及びAC係数を含み、
    上記ビットストリームは、上記ビットストリームの一部分から、(1)AC係数を表すACコードを取り外す技術及び(2)DC係数を表すDCコードを取り外す技術のうち少なくとも1つによって変更可能であり、
    当該ビットストリームの変更方法は、
    上記DCコードをDC係数の変更コードで置換し、上記選択され、取り外されたデジタルコードを、(a)上記ビットストリームと関連付けて格納し、及び/又は(b)上記ビットストリーム内の1つ以上の取外しコードデータフィールド内に配置するステップと、
    上記ビットストリームの試行変更を実行するステップと、
    上記試行変更の上記ビットストリームのビット数に対する影響を評価するステップと、
    上記評価に基づいて、上記ビットストリームの変更を実行するための1つ以上の上記技術を選択するステップとを更に有することを特徴とするビットストリームの変更方法。
  2. 上記選択され、取り外されたデジタルコードを、上記取外しコードデータフィールドに再分配するステップと、
    上記選択され、取り外されたデジタルコードを、上記ビットストリームと関連付けて、好ましい順序で格納するステップとを更に有し、
    上記好ましい順序は、(1)上記取外しコードデータフィールドに格納し、(2)上記選択され、取り外されたデジタルコードを、上記ビットストリームに関連付けて格納することを特徴とする請求項1に記載のビットストリームの変更方法。
  3. 上記選択され、取り外されたデジタルコードの幾つかを、上記ビットストリームと関連付けて格納するステップと、
    上記選択され、取り外されたデジタルコードの残りを、上記1つ以上の取外しコードデータフィールド内に配置するステップとを更に有する請求項1に記載のビットストリームの変更方法。
  4. 上記選択され、取り外されたデジタルコードを上記ビットストリームと関連付けて格納するステップ(1)では、上記選択され、取り外されたデジタルコードを、上記ビットストリームの端に付加することを特徴とする請求項1に記載のビットストリームの変更方法。
  5. 上記選択され、取り外されたデジタルコードを上記ビットストリームと関連付けて格納するステップ(1)では、上記選択され、取り外されたデジタルコードをファイルに格納することを特徴とする請求項1に記載のビットストリームの変更方法。
  6. 上記ファイルは、上記ビットストリームの端に付加されることを特徴とする請求項5に記載のビットストリームの変更方法。
  7. 上記ファイルは、上記ビットストリームの開始端に付加されることを特徴とする請求項6に記載のビットストリームの変更方法。
  8. 上記ファイルは、上記ビットストリームから分離されるとともに、該ビットストリームと関連付けられていることを特徴とする請求項5に記載のビットストリームの変更方法。
  9. 上記選択され、取り外されたデジタルコードの全てを、上記ビットストリームの最後に付加するステップを更に有する請求項1に記載のビットストリームの変更方法。
  10. 上記選択され、取り外されたデジタルコードの全てを、上記1つ以上の取外しコードデータフィールド内に配置するステップを更に有する請求項1に記載のビットストリームの変更方法。
  11. 当該ビットストリームの変更方法によって生ずるピクチャ情報に関連付けられたデータの増加量を判定するステップと、
    上記判定されたデータの増加量によって必要とされる空き容量を提供するように、望ましいビットレートで元のピクチャの圧縮を制御するステップとを更に有する請求項10に記載のビットストリームの変更方法。
  12. 上記変更されたビットストリームのビットレートが元のビットストリームに対して変わらないように、該変更されたビットストリームにパディングビットを加えるステップを更に有する請求項1に記載のビットストリームの変更方法。
  13. 上記変更コードが含まれることになるビットストリームの一部分又は複数の部分を定義するために、テンプレートを用いるステップを更に有する請求項1に記載のビットストリームの変更方法。
  14. 上記ビットストリームの同じ部分から取り外されたデジタルコードは、グループコードで識別されるグループにグループ分けされることを特徴とする請求項に記載のビットストリームの変更方法。
  15. 上記ビットストリームの一部分は、少なくとも1つのDCTブロックであることを特徴とする請求項14に記載のビットストリームの変更方法。
  16. 上記ビットストリームは、少なくともイントラ符号化ピクチャを含むビデオビットストリームであり、
    上記イントラ符号化ピクチャ上で実行されることを特徴とする請求項に記載のビットストリームの変更方法。
  17. 上記ビットストリームは、インター符号化ピクチャを含み、
    上記インター符号化ピクチャ上で実行されることを特徴とする請求項16に記載のビットストリームの変更方法。
  18. 上記インタ符号化ピクチャは、DC係数を表すDCコードを含み、
    当該ビットストリームの変更方法は、
    上記DCコードのうちの選択されたものを取り外すステップと、
    上記取り外されたDCコードを、上記ビットストリームと関連付けて格納し、及び/又は上記ビットストリーム内の1つ以上の取外しコードデータフィールド内に配置するステップと、
    上記取り外されたDCコードを所定値の変更コードで置換するステップとを更に有する請求項17に記載のビットストリームの変更方法。
  19. 上記インター符号化ピクチャ内のDC係数を表す上記DCコードは、量子化された変更値を表し、
    上記所定値は、ゼロより大きな最小の変更の有効値を表すことを特徴とする請求項18に記載のビットストリームの変更方法。
  20. 上記所定値は、±1であることを特徴とする請求項19に記載のビットストリームの変更方法。
  21. 上記インター符号化ピクチャは、動きベクトルを表すコードを含み、
    当該ビットストリームの変更方法は、
    上記変更コードが含まれることになるビットストリームの部分に関連する上記動きベクトルを取り外すステップと、
    元の動きベクトルコードをゼロ動きベクトルを表す動きベクトル変更コードで置換するステップと、
    上記取り外された動きベクトルコードを、上記ビットストリームの最後に付加し、及び/又は該取り外された動きベクトルコードを、上記ビットストリーム内の取外しコードデータフィールド内に配置するステップとを更に有する請求項17に記載のビットストリームの変更方法。
  22. 上記変更コードが含まれることになるビットストリームの部分にピクチャ内で隣接するインター符号化ピクチャの部分に関連する動きベクトルコードを取り外すステップと、
    上記インター符号化ピクチャの部分に関連する元の動きベクトルコードを、ゼロ動きベクトルを表す動きベクトル変更コードで置換するステップと、
    上記取り外された動きベクトルコードを、上記ビットストリームの最後に付加し、及び/又は該取り外された動きベクトルコードを、上記ビットストリーム内の取外しコードデータフィールド内に配置するステップとを更に有する請求項21に記載のビットストリームの変更方法。
  23. 上記変更されるイントラ符号化ピクチャのブロックを定義する第1のテンプレートと、該第1のテンプレートのブロックに対応するインター符号化ピクチャのブロックを定義する第2のテンプレートとを提供するステップを更に有し、
    上記インター符号化ピクチャのブロックに関連する動きベクトルは、ゼロに設定されることを特徴とする請求項21に記載のビットストリームの変更方法。
  24. 上記第2のテンプレートは、上記関連する動きベクトルがゼロに設定される上記ブロックを含むマクロブロックを定義することを特徴とする請求項23に記載のビットストリームの変更方法。
  25. 上記第2のテンプレートは、上記マクロブロックと境界を接する更なるマクロブロックを定義し、
    上記更なるマクロブロックに関連する動きベクトルは、ゼロに設定されることを特徴とする請求項24に記載のビットストリームの変更方法。
  26. 上記ビットストリームは、符号化のタイプを示すタイプコードによって、フィールドタイプ又はフレームタイプとして符号化可能なDCTブロックを含み、
    当該ビットストリームの変更方法は、
    上記フィールドタイプを示す上記タイプコードのうちの選択されたものを取り外すステップと、
    上記取り外されたタイプコードを、上記フレームタイプを示す変更タイプコードで置換するステップと、
    上記取り外されたタイプコードを、上記ビットストリームと関連付けて格納し、及び/又は該取り外されたタイプコードを、該ビットストリーム内の1つ以上の取外しコードデータフィールド内に配置するステップとを更に有する請求項16に記載のビットストリームの変更方法。
  27. 上記ビットストリームは、MPEG2ビットストリームであることを特徴とする請求項に記載のビットストリームの変更方法。
  28. 上記変更コードが含まれることになる上記ビットストリームの部分を示すデータを提供するステップを更に有する請求項1に記載のビットストリームの変更方法。
  29. 上記ビットストリームは、補助データフィールドを含み、
    当該ビットストリームの変更方法は、上記補助データフィールドから取り外されたコードのデータフィールドを識別するデータを上記ビットストリーム内に提供するステップを更に有する請求項27又は28に記載のビットストリームの変更方法。
  30. 上記選択され、取り外されたデジタルコードを、上記ビットストリームと関連させて格納し、及び/又は該選択され、取り外されたデジタルコードを上記取外しコードデータフィールド内に配置する前に、暗号化するステップを更に有する請求項1に記載のビットストリームの変更方法。
  31. 上記ピクチャ情報は、ビデオデータ、オーディオデータ、ビジュアルデータ、及びこれら以外のデータのうちの1つ以上を含むことを特徴とする請求項1に記載のビットストリームの変更方法。
  32. 上記変更は、上記ピクチャ情報により表される情報において視認可能な効果を生ずることを特徴とする請求項1に記載のビットストリームの変更方法。
  33. プロセッサで実行されたときに、該プロセッサに、請求項1に記載のビットストリームの変更方法の各ステップを実行させるためのコンピュータプログラム。
  34. 請求項33に記載のコンピュータプログラムを記録した記録媒体。
  35. ピクチャ情報を表すデジタルコードを含むビットストリームを変更するビットストリームの変更装置において、
    透かし模様を埋め込むピクチャの該透かし模様の部分に対応するデジタルコードであって、上記ピクチャ情報内で視認可能な変更を表す少なくとも1つの変更コードが含まれることになる上記ビットストリームの一部分を占有する少なくとも1つのデジタルコードを選択する選択手段と、
    上記ビットストリームの一部分から、上記選択されたデジタルコードを取り外す取外し手段と、
    上記選択されたデジタルコードの代わりに、上記変更コードを、上記ビットストリームの一部分に配置する変更コード配置手段とを備え、
    上記選択され、取り外されたデジタルコードのビット数は、上記ビットストリームに配置された変更コードのビット数以上であり、
    上記デジタルコードは、上記ピクチャ情報のDCT係数を表し、
    上記DCT係数は、DC係数及びAC係数を含み、
    上記取外し手段は、上記ビットストリームの一部分から、(1)AC係数を表すACコードを取り外す技術及び(2)DC係数を表すDCコードを取り外す技術の少なくとも1つを実行可能であり、
    上記変更コード配置手段は、上記取り外されたDCコードを変更DCコードで置換し、
    上記取外しコード配置手段は、上記選択され、取り外されたデジタルコードを、上記ビットストリームと関連付けて格納し、及び/又は上記上記ビットストリーム内の1つ以上の取外しコードデータフィールド内に配置し、
    当該ビットストリームの変更装置は、
    上記ビットストリームの試行変更を実行し、該試行変更の該ビットストリームのビット数に対する影響を評価し、該評価に基づいて、1つ以上の上記技術を選択する手段を更に備えることを特徴とするビットストリームの変更装置。
  36. 上記取外しコード配置手段は、上記選択され、取り外されたデジタルコードを、上記取外しコードデータフィールドに再分配し、上記選択され、取り外されたデジタルコードを好ましい順序で上記ビットストリームと関連付けて格納し、
    上記好ましい順序は、(1)上記取外しコードデータフィールドに格納し、(2)上記選択され、取り外されたデジタルコードを、上記ビットストリームと関連付けて格納することを特徴とする請求項35に記載のビットストリームの変更装置。
  37. 上記取外しコード配置手段は、上記選択され、取り外されたデジタルコードの幾つかを、上記ビットストリームと関連付けて格納し、上記選択され、取り外されたデジタルコードの残りを、上記1つ以上の取外しコードデータフィールド内に配置することを特徴とする請求項35に記載のビットストリームの変更装置。
  38. 上記取外しコード配置手段は、上記選択され、取り外されたデジタルコードを、上記ビットストリームの端に付加することによって、(1)上記選択され、取り外されたデジタルコードを、該ビットストリームと関連付けて格納することを特徴とする請求項35に記載のビットストリームの変更装置。
  39. 上記取外しコード配置手段は、上記選択され、取り外されたデジタルコードをファイルに格納することによって、(1)上記選択され、取り外されたデジタルコードを、上記ビットストリームと関連付けて格納することを特徴とする請求項35に記載のビットストリームの変更装置。
  40. 上記取外しコード配置手段は、上記ファイルを上記ビットストリームの端に付加することを特徴とする請求項39に記載のビットストリームの変更装置。
  41. 上記取外しコード配置手段は、上記ファイルを上記ビットストリームとは分離し、該ビットストリームと関連付けて格納することを特徴とする請求項39に記載のビットストリームの変更装置。
  42. 上記取外しコード配置手段は、上記選択され、取り外されたデジタルコードの全てを、上記ビットストリームの最後に付加することを特徴とする請求項35に記載のビットストリームの変更装置。
  43. 上記取外しコード配置手段は、上記選択され、取り外されたデジタルコードの全てを、上記1つ以上の取外しコードデータフィールド内に配置することを特徴とする請求項35に記載のビットストリームの変更装置。
  44. 上記取外しコード配置手段は、上記選択され、取り外されたデジタルコードを、上記ビットストリームの最後に付加し、及び/又は該選択され、取り外されたデジタルコードを、上記ビットストリーム内の1つ以上の取外しコードデータフィールド内に配置することを特徴とする請求項43に記載のビットストリームの変更装置。
  45. 上記ビットストリームは、少なくともイントラ符号化ピクチャを含み、
    当該ビットストリームの変更装置は、上記イントラ符号化ピクチャを変更することを特徴とする請求項35に記載のビットストリームの変更装置。
  46. 上記ビットストリームは、インター符号化ピクチャを含み、
    当該ビットストリームの変更装置は、更に上記インター符号化ピクチャを変更することを特徴とする請求項45に記載のビットストリームの変更装置。
  47. 上記インター符号化ピクチャは、DC係数を表すコードを含み、
    当該ビットストリームの変更装置は、
    上記DCコードのうちの選択されたものを取り外す手段と、
    上記取り外されたDCコードを、上記ビットストリームと関連付けて格納し、及び/又は上記ビットストリーム内の1つ以上の取外しコードデータフィールド内に配置する手段と、
    上記取り外されたDCコードを所定値の変更コードで置換する手段とを更に備える請求項46に記載のビットストリームの変更装置。
  48. 上記インター符号化ピクチャ内のDC係数を表すコードは、量子化された変更値を表し、
    上記所定値は、ゼロより大きな最小の変更の有効値を表すことを特徴とする請求項47に記載のビットストリームの変更装置。
  49. 所定値は、±1であることを特徴とする請求項48に記載のビットストリームの変更装置。
  50. 上記インター符号化ピクチャは、動きベクトルを表すコードを含んでおり、
    上記変更コードが含まれることになるビットストリームの部分に関連する動きベクトルコードを取り外し、元の動きベクトルコードをゼロ動きベクトルを表す動きベクトル変更コードで置換し、該取り外された動きベクトルコードを、該ビットストリームと関連付けて格納し、及び/又は該取り外された動きベクトルコードを、該ビットストリーム内の取外しコードデータフィールド内に配置する動きベクトルコード取外し手段を更に備える請求項46に記載のビットストリームの変更装置。
  51. 上記動きベクトルコード取外し手段は、上記変更コードが含まれることになるビットストリームの部分にピクチャ内で隣接するインター符号化ピクチャの部分に関連する動きベクトルコードを取り外し、該インター符号化ピクチャの部分に関連する元の動きベクトルコードを、ゼロ動きベクトルを表す動きベクトル変更コードで置換し、該取り外された動きベクトルコードを、上記ビットストリームと関連付けて格納し、及び/又は該取り外された動きベクトルコードを、上記ビットストリーム内の取外しコードデータフィールド内に配置することを特徴とする請求項50に記載のビットストリームの変更装置。
  52. 上記ビットストリームは、符号化のタイプを示すタイプコードによって、フィールドタイプ又はフレームタイプとして符号化されるDCTブロックを含み、
    当該ビットストリームの変更装置は、
    上記フィールドタイプを示すタイプコードのうちの選択されたものを取り外す手段と、
    上記取り外されたタイプコードを、上記フレームタイプを示す変更タイプコードで置換する手段と、
    上記取り外されたタイプコードを、上記ビットストリームと関連付けて格納し、及び/又は該取り外されたタイプコードを、上記ビットストリーム内の1つ以上の取外しコードデータフィールド内に配置する手段とを更に備える請求項35に記載のビットストリームの変更装置。
  53. 上記ピクチャ情報は、ビデオデータ、オーディオデータ、ビジュアルデータ、及びこれら以外のデータのうちの1つ以上を含むことを特徴とする請求項35に記載のビットストリームの変更装置。
JP2003567096A 2002-02-06 2003-02-05 ビットストリームの変更方法及び装置 Expired - Fee Related JP4564753B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB0202737A GB0202737D0 (en) 2002-02-06 2002-02-06 Modifying bitstreams
GB0215400A GB0215400D0 (en) 2002-02-06 2002-07-03 Modifying bitstreams
GB0215403A GB0215403D0 (en) 2002-02-06 2002-07-03 Modifying bitstreams
PCT/GB2003/000512 WO2003067886A1 (en) 2002-02-06 2003-02-05 Modifying bitstreams

Publications (3)

Publication Number Publication Date
JP2005517362A JP2005517362A (ja) 2005-06-09
JP2005517362A5 JP2005517362A5 (ja) 2005-12-22
JP4564753B2 true JP4564753B2 (ja) 2010-10-20

Family

ID=27738825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003567096A Expired - Fee Related JP4564753B2 (ja) 2002-02-06 2003-02-05 ビットストリームの変更方法及び装置

Country Status (5)

Country Link
US (1) US8238435B2 (ja)
EP (1) EP1472874A1 (ja)
JP (1) JP4564753B2 (ja)
CN (1) CN1270536C (ja)
WO (1) WO2003067886A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102014266A (zh) * 2010-12-01 2011-04-13 华中科技大学 一种基于数字水印的高清视频加密传输方法及系统

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2840147B1 (fr) * 2002-05-24 2004-08-27 France Telecom Procedes de brouillage et de debrouillage de signal video, systeme, decodeur, serveur de diffusion, support de donnees pour la mise en oeuvre de ces procedes
US20050047627A1 (en) * 2003-09-02 2005-03-03 Ustra Foundation Method and apparatus for encoding and decoding digital representations of works
CN1965584A (zh) * 2004-06-08 2007-05-16 皇家飞利浦电子股份有限公司 补偿由移动的物体引起的水印不规律
CN102685562B (zh) * 2005-03-14 2016-06-08 尼尔逊媒介研究股份有限公司 用于媒体信号的压缩域编码设备和方法
US7599515B2 (en) * 2005-03-17 2009-10-06 Interdigital Technology Corporation Wireless communication method and apparatus for generating, watermarking and securely transmitting content
GB2425906B (en) 2005-05-05 2011-04-06 Sony Uk Ltd Data processing apparatus and method
RU2008105592A (ru) * 2005-07-14 2009-08-20 Конинклейке Филипс Электроникс Н.В. (Nl) Способ внедрения данных
KR101235382B1 (ko) * 2006-03-17 2013-02-20 톰슨 라이센싱 디지털 워터마크 및 기타 데이터의 추후 삽입을 위한 콘텐츠 처리 시스템 및 방법
US7940926B2 (en) * 2006-06-08 2011-05-10 Novell, Inc. Cooperative encoding of data by pluralities of parties
US8102863B1 (en) 2006-06-27 2012-01-24 Qurio Holdings, Inc. High-speed WAN to wireless LAN gateway
US8615778B1 (en) 2006-09-28 2013-12-24 Qurio Holdings, Inc. Personalized broadcast system
US7738676B1 (en) * 2006-11-02 2010-06-15 Qurio Holdings, Inc. Client-side watermarking using hybrid I-frames
US7983440B1 (en) 2006-11-02 2011-07-19 Qurio Holdings, Inc. Selection of I-frames for client-side watermarking
US7802306B1 (en) 2006-11-30 2010-09-21 Qurio Holdings, Inc. Multiple watermarks for digital rights management (DRM) and content tracking
ES2321363B2 (es) * 2006-12-14 2010-01-12 Tredess 2010, S.L. Sistema de marcado de agua digital en particular de un sistema de marcado de aguadigital para la deteccion y localizacion de alteraciones en imagenes digitales.
US8000474B1 (en) 2006-12-15 2011-08-16 Quiro Holdings, Inc. Client-side protection of broadcast or multicast content for non-real-time playback
US8135947B1 (en) 2007-03-21 2012-03-13 Qurio Holdings, Inc. Interconnect device to enable compliance with rights management restrictions
US9191605B1 (en) 2007-03-26 2015-11-17 Qurio Holdings, Inc. Remote monitoring of media content that is associated with rights management restrictions
US7895442B1 (en) 2007-06-18 2011-02-22 Qurio Holdings, Inc. Interconnect device to enable compliance with rights management restrictions
WO2009033248A1 (en) * 2007-09-10 2009-03-19 Novell, Inc. A method for efficient thread usage for hierarchically structured tasks
US8856313B2 (en) * 2007-11-13 2014-10-07 International Business Machines Corporation Systems and methods for using provenance information for data retention in stream-processing
JP2010118936A (ja) * 2008-11-13 2010-05-27 Mitsubishi Electric Corp 可視透かし埋め込み装置及び画像復元装置
ES2398803T3 (es) 2009-06-29 2013-03-21 Nds Limited Extracción del mensaje de protección del contenido
US8817884B2 (en) * 2009-11-20 2014-08-26 Texas Instruments Incorporated Techniques for perceptual encoding of video frames
US8630412B2 (en) * 2010-08-25 2014-01-14 Motorola Mobility Llc Transport of partially encrypted media
EP2611064A1 (en) * 2011-12-29 2013-07-03 Thomson Licensing Method for selectively scrambling bit-streams
CN104160701B (zh) 2012-01-27 2017-06-30 太阳专利托管公司 图像编码方法、图像解码方法、图像编码装置、及图像解码装置
EP2642744A1 (en) * 2012-03-19 2013-09-25 Nagravision S.A. Method and system for scrambling and descrambling a digital image
US9081953B2 (en) 2012-07-17 2015-07-14 Oracle International Corporation Defense against search engine tracking
EP2979184A4 (en) * 2013-03-28 2016-10-19 Irdeto Bv METHOD AND SYSTEM FOR MEDIA PATIENT SECURITY
US9965601B2 (en) * 2016-03-29 2018-05-08 Adobe Systems Incorporated Editing watermarked assets
KR102637177B1 (ko) * 2018-05-23 2024-02-14 세종대학교산학협력단 워터마크 기반의 이미지 무결성 검증 방법 및 장치

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0563996A (ja) * 1991-09-02 1993-03-12 Ricoh Co Ltd 画像処理装置
JP3434088B2 (ja) 1995-01-17 2003-08-04 日本電信電話株式会社 画像データ変換装置およびその逆変換装置
JPH09233455A (ja) 1996-02-23 1997-09-05 Nippon Telegr & Teleph Corp <Ntt> 画像スクランブル処理システムおよび方法
US6229924B1 (en) * 1996-05-16 2001-05-08 Digimarc Corporation Method and apparatus for watermarking video images
US5809139A (en) * 1996-09-13 1998-09-15 Vivo Software, Inc. Watermarking method and apparatus for compressed digital video
US6037984A (en) * 1997-12-24 2000-03-14 Sarnoff Corporation Method and apparatus for embedding a watermark into a digital image or image sequence
US6327691B1 (en) * 1999-02-12 2001-12-04 Sony Corporation System and method for computing and encoding error detection sequences
JP2003505956A (ja) 1999-07-15 2003-02-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 情報信号への補助データの組み込み
US6687384B1 (en) * 2000-03-27 2004-02-03 Sarnoff Corporation Method and apparatus for embedding data in encoded digital bitstreams

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102014266A (zh) * 2010-12-01 2011-04-13 华中科技大学 一种基于数字水印的高清视频加密传输方法及系统

Also Published As

Publication number Publication date
EP1472874A1 (en) 2004-11-03
CN1515117A (zh) 2004-07-21
WO2003067886A1 (en) 2003-08-14
US8238435B2 (en) 2012-08-07
US20060050880A1 (en) 2006-03-09
CN1270536C (zh) 2006-08-16
JP2005517362A (ja) 2005-06-09

Similar Documents

Publication Publication Date Title
JP4564753B2 (ja) ビットストリームの変更方法及び装置
EP0928110B1 (en) Image signal processing for electronic watermarking
US8995711B2 (en) Efficient watermarking approaches of compressed media
US6810131B2 (en) Information processing method and apparatus
US7702103B2 (en) Device for the transformation of MPEG 2-type multimedia and audiovisual contents into secured contents of the same type
US20060133477A1 (en) Combined video decoder and watermark creator
KR19990016796A (ko) 엠펙2 동화상 부호화/복호화 시스템
JPH11252355A (ja) ウォ―タマ―クをディジタル画像又は画像シ―ケンスに組み込むための方法及び装置
WO2003044735A2 (en) Watermark embedding
US20070189377A1 (en) Data processing apparatus
EP2884748A1 (en) Apparatus and method for decoding compressed video
US20140105392A1 (en) Method for selectively scrambling bit-streams
JP4644851B2 (ja) ビデオシーケンス供給方法、ビデオストリーム送信装置、ビデオストリーム受信装置、およびビデオストリーム伝送システム
JP2005535242A (ja) Mpeg−4タイプの音響映像マルチメディアコンテンツのスクランブル装置
Simitopoulos et al. Encryption and watermarking for the secure distribution of copyrighted MPEG video on DVD
JP2004522358A (ja) 電子透かしを検出する方法及び装置
JP3601566B2 (ja) 情報多重化方法および著作権保護システム
CN108781302B (zh) 提供用于在经编码的视频中嵌入数据的框架的方法和系统
JP4018305B2 (ja) 画像処理方法及びその装置と記憶媒体
JP2000083254A (ja) 動画像符号化方法および動画像復号方法
JPH09233455A (ja) 画像スクランブル処理システムおよび方法
KR20060055622A (ko) 해쉬함수가 적용되는 엠펙-4 동영상 부호화기 및 복호화기

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071023

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080123

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080130

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080225

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080303

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080324

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080423

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080509

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080515

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090421

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090821

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20091028

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100802

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

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees