JP4918119B2 - 開始符号エミュレーションの防止およびデータ充填のための方法およびシステム - Google Patents

開始符号エミュレーションの防止およびデータ充填のための方法およびシステム Download PDF

Info

Publication number
JP4918119B2
JP4918119B2 JP2009142785A JP2009142785A JP4918119B2 JP 4918119 B2 JP4918119 B2 JP 4918119B2 JP 2009142785 A JP2009142785 A JP 2009142785A JP 2009142785 A JP2009142785 A JP 2009142785A JP 4918119 B2 JP4918119 B2 JP 4918119B2
Authority
JP
Japan
Prior art keywords
data
start code
byte
value
bit
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 - Lifetime
Application number
JP2009142785A
Other languages
English (en)
Other versions
JP2009246995A (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009246995A publication Critical patent/JP2009246995A/ja
Application granted granted Critical
Publication of JP4918119B2 publication Critical patent/JP4918119B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/07Synchronising arrangements using pulse stuffing for systems with different or fluctuating information rates or bit rates
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0602Systems characterised by the synchronising information used
    • H04J3/0605Special codes used as synchronising signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Debugging And Monitoring (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Communication Control (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Television Signal Processing For Recording (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Sewing Machines And Sewing (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Closed-Circuit Television Systems (AREA)

Description

本発明は、開始符号エミュレーションを防止するため、ならびにデータ充填のための方法およびシステムに関する。
本出願は、参照により開示が本明細書に組み込まれている2002年1月22日出願の米国特許仮出願第60/351,142号明細書を端緒とし、該仮出願の優先権を主張する。
デジタルデータは、通常、何らかのタイプの送信機から何らかのタイプの受信機に伝送される。送信機は、通常、伝送のためにデータを符号化する符号器を含み、受信機は、通常、自らが受信するデータを復号する復号器を含む。ビデオデータ、オーディオデータ、オーディオ/ビデオデータ、テキストデータ、コンピュータ実行可能なプログラムデータ、アーカイブデータ、データベース情報など様々なタイプのデジタルデータが存在する。デジタルデータは、伝送される際、通常、何らかのタイプのチャネルで伝送される。同様な意味合いで、コンピュータメモリまたは任意の記憶装置または記憶媒体も、本明細書では、伝送チャネルと考えることができる。
デジタルデータが伝送される際、チャネルにおけるデータ内の特定のポイントを見つけることができることが重要である。これは、チャネルを介するデータの伝送の誤りまたは損失からの回復を可能にするポイントを探し出すため、ストリーム全体の先頭以外の場所で復号プロセスを開始することを可能にするポイントを探し出すため、または異なる目的で利用される、異なるタイプのデータを探索することを可能にするポイントを探し出すためなど様々な目的から行われる。したがって、例えば、復号器側で、復号器、ならびにデジタルデータを処理するその他のコンポーネントは、しばしば、データを適切に処理することができるように、データのコンテキストを知る必要がある。これは、送信された最初のビットから開始することができ、復号器が全く誤りなしに動作することが可能であるとすれば、それほど重要ではないであろう。その状況では、理想的には、復号器は、データのフォーマットがどのようなものであるかを知っていることに応じて、送信されている情報を単に追跡することが可能である。残念ながら、この理想的な状況はあまり生じない。デジタルデータを送受信するシステムを設計する人々、および使用する人々に、困難な問題をもたらす誤り、およびその他の不測の事態が実際に生じる。進行中のブロードキャストデータストリームに同調する場合など一部のケースでは、復号器は、データ伝送の始まりで開始することができない。また、データフォーマット解析によってポイントを探し出すことも、復号器において相当な量の複雑な処理を要する可能性がある。
多くのタイプのチャネル環境では、そのような問題は、データの中で、いわゆる再同期マーカを提供することによって対処される。再同期マーカは、システムが復号プロセスを開始することができる、または誤りから回復することができる機構を提供する。例えば、デジタルデータが一続きのビットまたはバイトとしてストリーミングされる場合、そのストリームの中に再同期マーカを有することにより、伝送に誤りが生じた場合に回復を開始する基準点を復号器に提供することが可能である。
再同期マーカを使用することができる1つの形は、開始符号の文脈においてである。開始符号は、特定の値を有するビットまたはバイトのストリングである。一般に、多くのシステムは、バイトを伝送し(例えば、H.222.0/MPEG−2システム)、したがって、開始符号は、固有値を有するバイトストリングとして定義することができる。固有のバイトストリングは、あるパターンを提供し、そのパターンの存在により再同期ポイントが示される。再同期ポイントは、通常、いくらかの独立に復号可能な量のデータの先頭または境界を示す。例えば、H.262/MPEG−2ビデオデータでは、再同期ポイントは、スライス(すなわち、ピクチャの独立に復号可能な領域)の先頭、ピクチャの先頭、GOP(すなわち、「ピクチャ群(Group of Pectures)」)、つまり独立に復号可能なピクチャシーケンス)、または新たなビデオシーケンスの先頭を示すことが可能である。デジタルビデオストリームは、開始符号を前に置くことが可能な、いわゆる補助的なデータまたは補足的なデータも含むことができる。
時として、開始符号は、ビデオストリームなどのデータストリーム内だけでなく、システムの多重レベルによっても使用される。H.222.0/MPEG−2システム規格は、開始符号を使用し、システムレベル情報とオーディオ情報がインターリーブされたビデオデータのストリームを伝送するシステムの例である。
開始符号は、データストリーム内で再同期ポイントを提供する限りにおいて重要であり得るので、データストリームの中で、実際には、開始符号を表すことが意図されていない箇所で開始符号をエミュレートするのを回避することが賢明である。
例えば、次のことを考察してみる。開始符号が、新たなデータ単位の先頭を明らかにすることができる特定のビットパターンまたはバイトパターンを定義する。開始符号と開始符号の間で任意のデータを送信している場合、その任意のデータが、それ自体、開始符号として使用しているパターンと同じパターンを含む可能性がある。例えば、伝送されているデータが完全にランダムであるものと想定した場合には、開始符号がKビット長である場合、何らかの特定のビット位置で開始するビット群において開始符号が偶然にエミュレートされる確率は、1/2kである。
いくつかのケースでは、開始符号のビット数が多い場合、開始符号が偶然にエミュレートされる尤度がかなり低い可能性があると判断することができる。これは、一部のオーディオデータフォーマットに関して該当する。通常、それらのフォーマットは、ビット/秒で測定する非常に高いビットレートは利用せず、したがって、任意の特定の時間間隔中に開始符号が偶然にエミュレートされる尤度はあまり高くない。ビデオデータに関しては、これは、一般に、該当しない。というのは、ビデオは、しばしば、はるかに高いビットレートを要するからである。
過去の主要なビデオ符号化標準(おそらく、1つを例外として)では、データペイロード内のビデオ構文フォーマットは、開始符号エミュレーションを回避するように設計されていた。つまり、どのような種類のデータ要素がビデオ構文を構成するか分かっている場合、偶然の開始符号が全く生じる可能性がないように、その構文を注意深く設計することができる。例えば、従来のビデオ符号化標準における開始符号は、0のビットの長いストリングで開始して、その後に1のビットが続く。この長いストリングは、23個の0のビットに続いて1つの1のビットを含むことが可能である。送信されるデータのほとんどが、可変長符号(しばしば、非公式にハフマン符号と呼ばれる)を使用してエントロピー符号化されているものと想定する。可変長符号(VLC)は、本明細書では、1組の代表される記号のなかから選択を行うのに利用される、可変深度のツリー構造を有する符号として定義される。バイナリツリーVLCを使用する1つの技術は、ルートから、有効な記号を表すすべてのリーフへのツリーにおけるパスが、そのどこかに「1」を常に有すること、およびツリー構造が過度に深くないことを保証することである。
したがって、例えば、すべての可変長符号ストリングが10ビット長を超える長さではなく、すべてのそのようなストリングが、その中に少なくとも1つの1の値のビットを有することが分かっている場合、VLCからの符号化されたデータのシーケンスが、18を超える連続するゼロの値を有するビットを含む可能性は全くないことが分かる。つまり、最悪のシナリオは、1000000000の後に0000000001が続くことである。したがって、構文を注意深く設計し、すべての0の値のビットおよびすべての1の値のビットの位置を点検して、いくつの0が連続して生じる可能性があるかを確かめた場合、その構文において生じる可能性があるものよりも長い0のストリングを含む開始符号を使用することができる。例えば、構文は、有効な構文が、開始符号ではない場所で決して23個の0を含む可能性がないように設計することができる。したがって、23個の0が出現する場合はすべて、開始符号であるはずであり、復号器は、開始符号を正確に検出することができるはずである。
ITU−T勧告H.263の付録E
前述した操作は単純明快に見えるが、この操作は、開始符号パターンが偶然に送信される可能性がないことを保証するため、可能なデータのすべてを(ビットレベルで)、データが送信される可能なすべての順序で点検しなければならないため、かなり困難な目論見になる可能性がある。これは、誤りが生じやすい困難な構文設計方法である。
このビットレベル点検の設計プロセスは、一般に、多くのビデオ符号化規格が過去に設計されてきたやり方を述べている(すなわち、H.261、MPEG−1、H.262/MPEG−2、H.263のほとんど、およびMPEG−4)。それの唯一の例外が、数学的な仕様からアルゴリズム的手法で圧縮ビットを生成する算術符号化と呼ばれる技術を使用する(非特許文献1)。この場合、生成されたビットを点検するエントロピー符号器の終りに追加のプロセスが存在し、符号器側において、過度に多くの連続する0が存在する場合、所定の数の0が見つかる前に「マーカ」ビット(1のビット)が挿入される。復号器側で、復号器は、ゼロを数え上げ、臨界数のゼロを見つけた場合、本当の開始符号を見つけたことが分かる。復号器が、臨界数より少ないゼロを見つけた場合、復号器は、後続の1のビットが、開始符号エミュレーションを回避するために挿入されたマーカビットであることが分かり、そのビットを破棄し、後続のビットを実データの続きとして受け取る。
この解決策の問題は、この解決策が、符号器および復号器にビットレベルで着信データを点検させ、処理させることである。単一のビット位置で処理されているデータの場所を分析し、移動させることは、困難になり、復号器に望ましくない形で負担をかける可能性がある。ビットに関して移動させることも、プロセッサを集中的に使用する操作である。
したがって、本発明は、開始符号エミュレーションを防止するための改良された方法およびシステムを提供することに関連する関心から生じている。
ビットレベルより粗い細分性で実行される操作による、開始符号エミュレーション防止へのアプローチを提供する方法およびシステムを説明する。ビットレベル以外のレベルで操作を行うことにより、処理効率を高めることができる。1つまたは複数の実施形態によれば、開始符号エミュレーション防止方法は、単一のビットより大きい固定サイズのデータ部分に関するデータパターンを探す。特定のパターンが見つかった場合、開始符号エミュレーション防止データが、開始符号エミュレーションを防止するように挿入される。挿入されるデータは、単一のビットより大きく、一部の実施形態では、1バイトを含む。復号器は、開始符号エミュレーション防止データが挿入されているデータを復号した際、正規の開始符号を容易に特定することができ、次に、開始符号エミュレーション防止データを除去して、伝えられることが意図されていた元のデータを提供することができる。
さらに、ペイロードデータのサイズを切り上げて整数のバイトサイズにすることを可能にし、次に、復号器が容易に検出できる形で充填データを追加することを可能にするデータ充填方法を説明する。
一実施形態による方法におけるステップを説明する流れ図である。 一実施形態による方法におけるステップを説明する流れ図である。 1つまたは複数の実施形態を関連して実施することができるコンピューティング環境を示す高レベルの図である。
(概要)
ビットレベルよりも粗い細分性で開始符号エミュレーション防止へのアプローチを提供する方法およびシステムを以下に説明する。ビットレベルよりも高いレベルで操作を行うことにより、処理効率を高めることができる。本明細書の文脈では、ビットレベルより高いレベルで操作を行うとは、単一のビットより大きい固定サイズのデータ部分に関するデータパターンを探すプロセスを指すものとする。例えば、固定サイズのデータ部分には、バイト(すなわち、8ビット)、「ワード」(すなわち、16ビット)、「ダブルワード」(32ビット)などが含まれる可能性がある。したがって、本発明の技術は、バイト、ワードなどの範囲内で、またそれらの間でパターンを探すことができる。
さらに、ペイロードデータのサイズを切り上げてバイト量などの整数のデータ単位サイズにすることを可能にし、復号器が容易に検出できる形で充填データを追加することを可能にするデータ充填方法を説明する。
さらに、以下に提供する例は、ビデオデータの文脈において説明しているが、本発明の技術は、通常、符号化および復号が行われ、開始符号エミュレーション防止が望ましい、または必要であるあらゆるタイプのデータに関連して使用できることを認識して、理解されたい。そのようなデータの例には、オーディオデータ、オーディオ/ビデオデータなどが含まれる。
図1は、一実施形態による方法におけるステップを説明する流れ図である。方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、または以上の組み合わせで実装することができる。図示し、説明する実施形態では、方法は、少なくとも部分的にソフトウェアで実装される。さらに、方法は、2つの異なる分岐、すなわち、「符号器」として示された分岐と「復号器」として示された分岐を有するものとして図示されていることに、読者は留意されたい。「符号器」分岐は、符号器により、または符号器に関連して実行されるステップを示している。同様に、「復号器」分岐は、復号器により、または復号器に関連して実行されるステップを示している。
ステップ100で、開始符号の後に伝送が予定される量のデータを取得するか、または生成する。データは、任意の適切なデータを含むことが可能である。データのタイプの例には、限定としてではなく、様々な量のビデオデータ、オーディオデータ、オーディオ/ビデオデータなどが含まれる。ステップ101で、データの前に開始符号を付ける。このステップは、実質的に、ステップ100で取得された、または生成されたデータに開始符号を追加する。ステップ102で、固定サイズのデータ部分の1つまたは複数のパターンについて着信データを調べるか、または探索する。図示し、説明する実施形態では、探索されるパターンは、少なくとも2つの固定サイズのデータ部分を含み、それぞれの個別データ部分は、少なくとも2ビットを含む。ステップ104は、パターンが見つかったかどうかを判定する。パターンが見つからなかった場合、方法は、ステップ108に分岐し、データを伝送することが可能である。
反対に、パターンが見つかった場合、ステップ106で、パターンを含むデータに関して開始符号エミュレーション防止データを挿入する。図示し、説明する実施形態では、開始符号エミュレーション防止データの個々のインスタンスは、複数のビットを含む。好ましくは、開始符号エミュレーション防止データは、個別の固定サイズのデータ部分とビット数が等しいデータ量を含む。したがって、固定サイズのデータ部分が8ビット(バイトと呼ばれるデータ量)を含む場合、開始符号エミュレーション防止データは8ビットを含む。開始符号エミュレーション防止データが挿入された後、ステップ108で、データを伝送する。ステップ110で、次の開始符号より前に伝送されるべき追加のデータが存在するかどうかを判定する。存在する場合、方法は、ステップ102に戻り、前述したとおりに行われる。存在しない場合、方法は、ステップ111で、伝送されるべき追加のデータが存在するかどうかを判定することができる。存在する場合、方法は、分岐してステップ100に戻る。存在しない場合、方法は、ステップ112で終了することが可能である。
話はそれるが、次のことを考察してみる。この特定の技術の用法の一例が、開始符号を「開始符号プレフィックス」と「開始符号タイプ」サフィックスに分離することであり、ただし、プレフィックスは、単一の固有なストリングの値であり、サフィックスは、開始符号の後に続くデータのタイプを示すことに留意されたい。詳細には、これは、MPEG2およびH.264/AVCの開始符号の構造であり、以下の「第1の例示的な方法」という題名のセクションで使用する構造である。プレフィックス/サフィックス構造を特例として包含するさらに一般的な形態の用法は、1つまたは複数の開始符号パターンを有することの一般的な概念である。その場合、1つまたは複数のエミュレーション防止パターンも有することが可能である。様々な開始符号パターンが様々なエミュレーション防止パターンとは全く異なっており、それらのパターンのすべてがペイロードデータの処理において回避される限り、スキームは、相応に機能する。さらに、開始符号パターンがすべて同じ長さであると必ずしも想定すべきではない。これは、特定の場合において重要であり得る。というのは、例えば、H.264/AVCの使用は、複数の長さの開始符号を使用しているものと解釈することができるからである。
復号器側で、次のことを考察してみる。開始符号エミュレーション防止データは、符号器によって挿入された後、その他のデータの適切な解釈のために何らかの時点で特定し、および除去し、または無視することが可能である。復号器は伝送されたデータを受け取ると、正規の開始符号を探すことができることも考察してみる。復号器は、正規の開始符号を見つけると、どこに開始符号が画定するデータ境界が位置しているかが分かる。次に、復号器は、開始符号エミュレーション防止データを探して、除去することに取りかかり、実データをさらに処理することができる。
具体的には、ステップ114で、開始符号のエミュレーションを防止するように符号器によって処理された伝送データを受け取る。ステップ118で、データを処理して開始符号を見つける。開始符号が見つかり、適切に処理される(例えば、読み取られ、破棄される)と、ステップ120で、データを探索して開始符号エミュレーション防止データを特定する。開始符号エミュレーション防止データが見つかると、ステップ122で、その開始符号エミュレーション防止データを除去する。開始符号エミュレーション防止データが除去されると、受け取られたデータのタイプにとって典型的な方法でデータを処理することができる。例えば、データは、ステップ124におけるように、コンシューマ装置によって消費される可能性がある。
(第1の例示的な方法)
以下に説明する方法は、図1に示し、および説明する方法の一具体例だけを示している。以下に説明する方法では、ペイロードデータのN+1バイトのストリングが、開始符号プレフィックス全体に一致した場合、または開始符号プレフィックスの最初のN個のバイトにエミュレーション防止バイトの値を加えたものに一致した場合にはいつでも、エミュレーション防止データのバイトは挿入される。この方法は、「第2の例示的な方法」という題名のセクションで説明する方法より低い頻度でデータを追加し、したがって、ペイロードデータを送信する伝送能力要件を低くする。
MPEG−2開始符号プレフィックス構造は、バイト整合の位置で開始し、23個の0の後に1個の1が続く。この開始符号プレフィックスは、以下のとおり示される。すなわち、
00000000 00000000 00000001
この構造は、同じ値を有する何らかの複数バイトNに続いて、異なる値を有する他の何らかの単一バイトを含むパターンとして一般化することができる。MPEG−2において、N=2であり、最初の2つのバイトは0であり(以下に「W」と呼ぶ)、最後のバイトは1である(以下に「X」と呼ぶ)と述べることができる。したがって、開始符号プレフィックスは、以下のパターンを有する。すなわち、
WWX
以上3つのバイトの後、MPEG−2では、別のバイトが後に続き、それがどのような種類の開始符号であるかを明らかにする。この後続のバイトを「Y」と呼ぶ。したがって、基本的に、開始符号は、開始符号プレフィックスWWXと、開始符号のタイプを明らかにする後続する単一バイトYから成る。MPEG−2開始符号全体は、以下のとおり表現することができる。すなわち、
WWXY
開始符号プレフィックス(WWX)は固定値を有するが、Yは、開始符号のタイプ(例えば、スライス、ピクチャ、GOP、シーケンス、システムなど)を示すいくつかの異なる値を有する。
一実施形態によれば、データは、パターンWWXを探して処理される。WWXパターンが見つかった場合、開始符号エミュレーションを防止するように開始符号エミュレーション防止データが挿入される。この場合、開始符号エミュレーション防止データは、WバイトおよびXバイトの値とは異なる値を有するバイトZを含む。したがって、符号器がデータバイトを点検しており、パターンWWXに気付くものと想定されたい。データの中でこのパターンを見つけたことに応答して、符号器は、値Zを有するバイトを挿入して以下のパターンを提供する。すなわち、
WWZX
この時点で、符号器は、復号器によって伝送され、処理されるべきペイロードデータが、開始符号または開始符号プレフィックスを偶然にエミュレートしないことを保証している。ここで、次のことを考察してみる。ペイロードデータは、WWXパターンを任意に含むことによって開始符号プレフィックスをエミュレートする機会性を有するのと全く同様に、開始符号エミュレーション防止データを含むデータを任意にエミュレートする機会性も有する。つまり、ペイロードデータは、本質的にパターンWWZXを含む可能性がある。これが該当し、符号器が何もしないことになった場合、復号器が開始符号エミュレーション防止データを除去しようと試みる際、復号器は、このケースでは実データであるZバイトを除去する。
したがって、説明する実施形態では、符号器は、ペイロードデータが開始符号または開始符号プレフィックスをエミュレートすることを防止するように構成されるだけでなく、データが開始符号エミュレーション防止データの使用からもたらされるデータパターンをエミュレートすることを防止するようにも構成される。具体的には、この例では、符号器は、パターンWWZを特定した場合、値Zを有するバイトを第2のWとZの中間に挿入して以下のパターン(挿入されるバイトZは、以下で表れる最初のZである)を提供する。すなわち、
WWZZ
次に、処理されるデータを復号器の観点から考察してみる。復号器は、WWZに続いてZまたはXを含む何らかのバイトパターンを見つけた場合、最初のZが、符号器によって挿入されたエミュレーション防止バイトであることが分かる。したがって、復号器は、最初のZを破棄することができる。したがって、この例では、エミュレーション防止バイトを挿入することが可能な2つの状況が存在する。第1の状況は、データが、開始符号または開始符号プレフィックスを偶然にエミュレートする場合である。第2の状況は、データが、エミュレーション防止バイトが挿入されているデータを偶然にエミュレートする場合である。
いずれの場合も、復号器は、単に適切なパターンを探し、エミュレーション防止バイトを破棄して、通常どおりデータを処理することができる。
よりプログラム的な形で以上の処理を説明するため、次のことを考察してみる。符号器側で、同じ値WのN個またはそれより多くのバイトと、異なる値Xの最後のバイトから成る開始符号プレフィックスで始まり、その後に値Yを有する1バイトの識別用の開始符号タイプサフィックスが続くBバイトのパケットP[]を送信するため、値Z(ただし、W、X、Y、およびZは互いに異なる値を有し、P[B−1]はWに等しくない)を有するエミュレーション防止バイトを挿入する以下の擬似コードプロセスを実行し、ただし、チャネルを充填するために送信される追加データの量は、Eで規定される。すなわち、
Figure 0004918119
以上の擬似コードでは、関数「send_byte()」が、データ単位の伝送(図1のプロセス108)を実行するものと想定される。
復号器側で、パケットを受信するため、復号器が、同じ値WのN個またはそれより多くのバイトと、異なる値Xの最後のバイトから成る既知の開始符号プレフィックスを既に見つけ、読み取り、破棄しているものと想定する。また、未知の単一バイトの開始符号タイプサフィックスを変数Yに読み込み、ペイロードデータのパケットを配列P[]に読み込み、ペイロードデータの量を特定し、その量の指示を変数Bに入れる一方で、値Zを有するエミュレーション防止バイトを除去することを所望しているものと想定する(ただし、W、X、Y、およびZは互いに異なる値を有し、P[B−1]はWに等しくない)。すなわち、
Figure 0004918119
以上の擬似コードでは、関数「receive_byte()」がデータ単位の受け取りを実行するものと想定し、関数「more_data()」が、受け取られるべきさらなるデータ単位が存在するかどうかを判定するものと想定する(以上2つの関数が図1のプロセス114を構成している)。
前述した方法により、開始符号に先行する任意の量のW値の充填が可能になる。W値プレフィックスの数をN個に固定する定式化も同じように可能である。
(第2の例示的な方法)
以下に説明する方法は、図1に示し、説明した方法のもう1つの具体例を示すに過ぎない。この場合、方法は、ペイロードの中のデータのNバイトストリングが開始符号プレフィックスの最初のNバイトに一致する場合には、いつでも、後続のペイロードデータの値に関わりなく、エミュレーション防止データのバイトを挿入する。上記の例の表記法を使用すると、データが、後続するのが何であれパターン「WW」を含む場合、この方法は、エミュレーション防止バイトを挿入する。したがって、符号器は、パターンWWを識別した場合、エミュレーション防止バイトを挿入して以下のパターンを提供する。すなわち、
WWZ
最初に説明した方法とここで上記に説明する方法との違いは、最初の方法が、最初のN+1個のバイトを調べて、どこにエミュレーション防止バイトを挿入するかを確かめるのに対して、第2に説明する方法は、最初のN個のバイトを調べることである。
最初の方法は、伝送されるべき追加データの量を減らし、他方、第2に説明する方法は、より単純な規則を使用して動作する。したがって、これらの方法の両者が一括で、伝送されるデータ量を減らすことと、規則を簡略化することとの間の選択を提供する。第1に説明した方法を使用すると、第2に説明した方法と比べてデータ量が少なくなる。第2に説明した方法を使用すると、より単純な規則が利用される。
上記の処理をよりプログラム的な形で説明するため、以下のことを考察してみる。符号器側で、同じ値Wの正確にN個のバイトと、異なる値Xの最後のバイトから成る開始符号プレフィックスで始まり、その後に値Yを有する1バイトの識別用の開始符号タイプサフィックスが続くBバイトのパケットP[]を送信するため、値Zを有するエミュレーション防止バイトを挿入する以下の擬似コードプロセスを実行する(ただし、W、X、Y、およびZは互いに異なる値を有し、P[B−1]はWに等しくない)。すなわち、
Figure 0004918119
上記の擬似コードでは、関数「send_byte()」が、データ単位の伝送(図1のプロセス108)の動作と想定される。
復号器側で、パケットを受け取るため、復号器が、同じ値Wの正確にN個のバイトと、異なる値Xの最後のバイトから成る既知の開始符号プレフィックスを既に見つけ、読み取り、破棄しているものと想定し、また、未知の単一バイトの開始符号タイプサフィックスを変数Yに読み込み、ペイロードデータのパケットを配列P[]に読み込み、ペイロードデータの量を特定し、その量の指示を変数Bに入れる一方で、値Zを有するエミュレーション防止バイトを除去することを所望しているものと想定する(ただし、W、X、Y、およびZは互いに異なる値を有し、P[B−1]はWに等しくない)。すなわち、
Figure 0004918119
上記の擬似コードでは、関数「receive_byte()」がデータ単位の受け取りを実行するものと想定し、関数「more_data()」が、受け取られるべきさらなるデータ単位が存在するかどうかを判定するものと想定する(以上2つの関数が、図1のプロセス114を構成している)。
前述した方法は、大量の理想的なランダムな入力ペイロードデータの量を第2に説明した方法の場合、およそ1/256Nだけ、第1に説明した方法の場合、1/256(N+1)だけ拡張すると考えられる。以上の量は、Nが大きい(例えば、MPEG−2開始符号の場合、N=2であることに留意して、2以上)場合、小さい。ペイロードに関する最悪の場合の拡張要因は、第2に説明した方法の場合、1/Nであると考えられ、第1に説明した方法の場合、1/(N+1)であると考えられる。Nが増大した場合、開始符号自体によって使用されるデータの量は増大するが、ペイロード拡張要因は、統計分析においても、最悪の場合の分析においても小さくなる。
前述したエミュレーション防止プロセスは、パケットを送信することを始める前にパケットの中にどれだけのデータがあるかを知っていることに依存しないことを認識されたい。したがって、有意な遅延は追加されない。
第2に説明した方法の定式化は、挿入されるエミュレーション防止バイトが、値Zを有する単一のバイトであるものと想定している。挿入されるデータの最初のバイトが、有効な開始符号をエミュレートすることになるか、またはプレフィックスの先頭の続きであるように見えることになるWまたはXに等しくない限り、エミュレーション防止データとして任意の値または複数の値、あるいは1つまたは複数の値のストリングを代わりに使用することも可能である。
これらのエミュレーション防止バイトの中で情報を伝送することさえできる(例えば、H.263式GOBフレームID/ピクチャシーケンス番号、または仮に、MSBだけを「1」に設定し、その他の7つのASCII文字を送るのに使用するためなど)。
復号器側でパケットの終端において生じることを考慮した場合、データパケットペイロードの最後のバイトがWではない場合、動作を制御することがより容易であることに気付く。これは、開始符号の前に送信される最後のバイトが、決してエミュレーション防止バイトである必要はなく、検出可能な境界が、復号器によってペイロードデータの終端と次の開始符号のためのWに等しいバイトシーケンスの先頭の間に見出される可能性があることを意味する。この状況を課すことにより、ペイロードの終端の後、次の開始符号の前に、ペイロードの終端がどこにあるかを見失うことなしに任意の量のWバイト(例えば、ゼロのバイト)を詰め込むこともできるようになる。
(データ充填)
通常、ビデオデータでは、データペイロードとして送信されるデータは、整数のバイトではない可能性がある。例えば、2つの開始符号の間で送信されるべき627ビットを有することが可能である。しかし、システムの多重レベルは、バイトで動作する可能性がある。MPEG−2規格の場合、これが該当する。伝送の誤りによって生成された、いくつかの偽の開始符号パターンの検出を可能にすること、またはペイロードの始まりのデータ内容に関する単純な復号プロセスを可能にすることなどの他の理由によっても、パケットがバイトなどの整数のデータ単位を含むのを所望することを正当化することができる。したがって、627ビットのデータを伝送するためには、もう少し多くのデータを送信しなければならない可能性がある。すると、問題は、どのようにデータに埋め込みを行ってデータを整数のバイトにするかということになる。
単に追加の充填データを送信することが役立つ他の状況も存在する。例えば、チャネルが、毎秒1メガビットの容量を有し、送信されるべきペイロードデータの量が900キロビット/秒だけである場合、チャネルを充填データで充填することを必要とする、または所望する可能性がある。
一実施形態によれば、データ充填技術により、余分なデータをチャネルに追加して、基本的に、ペイロードデータをパッディングすることが可能になる。
図2は、開始符号が、ゼロに等しいビットストリングで始まるものと想定される一実施形態によるデータ充填方法におけるステップを説明する流れ図である。ステップ200で、送信されることが予定されるデータの終端の位置を確立する。ステップ202で、ペイロードデータの最後のビットの後に「1」のビットを挿入する。ステップ204で、整数のバイトを送信するのに要する追加のビットの数を算出する。ステップ206で、要求される数の「0」ビットを挿入済みの「1」のビットの後に挿入する。ステップ208で、任意の所望のバイト数の充填データを追加する。充填データは、真のペイロードデータの場所、および意図的な開始符号の場所についての混乱を回避するように設計された任意のデータパターンから成ることが可能である。これは、通常、値「0」のバイトを挿入することによって実施される。
例として、以下を考察してみる。627ビットが送信されるものと想定する。この場合、ステップ202は、「1」のビットを第627番のビットの後に挿入する。次に、ステップ204で、整数のバイト、この場合は、79バイトを提供するのにさらに4ビットを要すると算出する。これに応じて、ステップ206で、4つの「0」のビット、つまり0000を挿入済みの「1」のビットの後に挿入する。この時点で、整数のバイトが確立され、ステップ208で、所望される場合、任意の所望のバイト数の充填データを追加することができる。この特定の例では、0の値を有するバイトを挿入することができる。充填データは、単に充填データとして、あるいは復号器が何らかの目的で使用することができる情報を含めるなどの何らかの他の目的で使用することができる。
次に、復号器における状況を考察してみる。復号器は、充填されたデータを受信し、そのデータの終端から始めて、データを逆方向に調べることができる。復号器が最初に見るバイトのすべては、復号器が「1」のビットを有するバイトに達するまで、0のバイトである。この「1」のビットは、ペイロード、つまり実データの終端の位置を復号器に告げる。したがって、復号器は、挿入された「1」のビットを見つけると、実データが正確にどこで終わるかを特定することができる。
したがって、前述した技術を使用して送信されるビットの数を「切り上げて」、送信されるビット数が整数のデータ単位を含むようにすることができる。さらに、以上の技術を使用して、ペイロードデータの先頭を示す開始符号と開始符号の間に充填データを埋め込むことができる。
(例示的なコンピューティング環境)
図3は、以下に説明するシステムおよび関連する方法を実施することができる適切なコンピューティング環境300の例を示している。
コンピューティング環境300は、適切なコンピューティング環境の一例に過ぎず、前述した符号化/復号システムの用途または機能の範囲に関して何ら限定を示唆するものではないことを理解されたい。また、コンピューティング環境300が、例示的なコンピューティング環境300に示したコンポーネントのいずれか1つ、またはいずれかの組み合わせに関連する依存関係または要件を有するものと解釈すべきでない。
様々な説明する実施形態は、多数の他の汎用または専用のコンピュータシステム環境またはコンピュータシステム構成で動作することが可能である。メディア処理システムで使用するのに適している可能性がある周知のコンピューティングシステム、コンピューティング環境、および/またはコンピューティング構成の例には、限定ではないが、パーソナルコンピュータ、サーバコンピュータ、シン(thin)クライアント、シック(thick)クライアント、ハンドヘルド装置またはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、以上のシステムまたは装置のいずれかを含む分散コンピューティング環境などが含まれる。
一部の実装では、システムおよび関連する方法は、コンピュータによって実行されているプログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈において説明することができる。一般に、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。実施形態は、通信ネットワークを介してリンクされた遠隔処理装置によってタスクが実行される分散コンピューティング環境において実施することもできる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカルのコンピュータ記憶媒体と遠隔のコンピュータ記憶媒体の両方の中に配置することが可能である。説明するコンピューティングシステムのコンポーネントを使用して、前述したとおり機能する符号器および復号器を実装することができる。
図3の図示する例示的な実施形態によれば、コンピューティングシステム300が、1つまたは複数のプロセッサまたは処理装置302、システムメモリ304、ならびにシステムメモリ304からプロセッサ302までを含む様々なシステムコンポーネントを結合するバス306を含んでいるのを示している。
バス306は、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート(accelerated graphics port)、ならびにプロセッサバスまたはローカルバスを含め、いくつかのタイプのバス構造のいずれかの1つまたは複数を表すものとする。例として、限定としてではなく、そのようなアーキテクチャには、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、およびメザニン(Mezzanine)バスとしても知られるPCI(Peripheral Component Interconnects)バスが含まれる。
コンピュータ300は、通常、様々なコンピュータ読取り可能な媒体を含む。そのような媒体は、コンピュータ300がローカルおよび/または遠隔でアクセス可能な任意の利用可能な媒体とすることが可能であり、揮発性媒体および不揮発性媒体、ならびに取外し可能な媒体および取外し不可能な媒体がともに含まれる。
図3では、システムメモリ304が、ランダムアクセスメモリ(RAM)310などの揮発性の形態、および/または読み取り専用メモリ(ROM)308などの不揮発性メモリの形態でコンピュータ読取り可能な媒体を含んでいる。始動中などにコンピュータ300内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム(BIOS)312が、ROM308の中に格納されている。RAM310は、通常、処理装置302が即時にアクセス可能であり、および/または現在、操作しているデータおよび/またはプログラムモジュールを含む。
コンピュータ300は、その他の取外し可能/取外し不可能、揮発性/不揮発性のコンピュータ記憶媒体をさらに含むことが可能である。単に例として、図3は、取外し不可能な不揮発性の磁気媒体(図示せず、通常、「ハードドライブ」と呼ばれる)から読み取りおよび書き込みを行うためのハードディスクドライブ328、取外し可能な不揮発性の磁気ディスク332(例えば、「フロッピー(登録商標)ディスク」)から読み取りおよび書き込みを行うための磁気ディスクドライブ330、ならびにCD−ROM、DVD−ROM、または他の光媒体などの取外し可能な不揮発性の光ディスク336から読み取りまたは書き込みを行うための光ディスクドライブ334を示している。ハードディスクドライブ328、磁気ディスクドライブ330、および光ディスクドライブ334はそれぞれ、1つまたは複数のインターフェース326でバス306に接続される。
以上のドライブおよび関連するコンピュータ読取り可能な媒体により、コンピュータ読取り可能な命令、データ構造、プログラムモジュール、およびその他のデータの不揮発性ストレージがコンピュータ300に提供される。本明細書で説明する例示的な環境は、ハードディスク328、取外し可能な磁気ディスク332、および取外し可能な光ディスク336を使用しているが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)などの、コンピュータがアクセス可能なデータを格納することができる他のタイプのコンピュータ読取り可能な媒体も、例示的な動作環境において使用できることが、当分野の技術者には理解されよう。
例として、限定としてではなく、オペレーティングシステム314、1つまたは複数のアプリケーションプログラム316(例えば、マルチメディアアプリケーションプログラム324)、その他のプログラムモジュール318、およびプログラムデータ320を含むいくつかのプログラムモジュールをハードディスク328、磁気ディスク332、光ディスク336、ROM308、またはRAM310に記憶することができる。ユーザは、キーボード338やポインティングデバイス340(「マウス」などの)などの入力装置を介して、コマンドおよび情報をコンピュータ300に入力することができる。他の入力装置には、オーディオ/ビデオ入力装置353、マイク、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、シリアルポート、スキャナなど(図示せず)が含まれる可能性がある。以上の入力装置、およびその他の入力装置は、バス306に結合された入力インターフェース342を介して処理装置302に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などのその他のインターフェースおよびバス構造で接続してもよい。
モニタ356または他のタイプのディスプレイ装置も、ビデオアダプタまたはビデオ/グラフィックスカード344などのインターフェースを介してバス306に接続される。モニタに加えて、パーソナルコンピュータは、通常、出力周辺インターフェース346を介して接続することができるスピーカやプリンタなどのその他の周辺出力装置(図示せず)も含む。
コンピュータ300は、遠隔コンピュータ350のような1つまたは複数の遠隔コンピュータに対する論理接続を使用してネットワーク化された環境において動作することができる。遠隔コンピュータ350は、コンピュータに関連して本明細書で説明した要素および特徴の多く、またはすべてを含むことが可能である。
図3に示すとおり、コンピューティングシステム300は、ローカルエリアネットワーク(LAN)351および汎用ワイドエリアネットワーク(WAN)352を介して遠隔装置(例えば、遠隔コンピュータ350)と通信するように結合されている。そのようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットで一般的である。
LANネットワーキング環境で使用される場合、コンピュータ300は、適切なネットワークインターフェースまたはネットワークアダプタ348を介してLAN351に接続される。WANネットワーキング環境で使用される場合、コンピュータ300は、通常、WAN352を介して通信を確立するためのモデム354またはその他の手段を含む。内部にあることも、外部にあることも可能なモデム354は、ユーザ入力インターフェース342、またはその他の適切な機構を介してシステムバス306に接続することができる。
ネットワーク化された環境では、パーソナルコンピュータ300に関連して示すプログラムモジュール、またはプログラムモジュールの諸部分は、遠隔メモリ記憶装置の中に格納することができる。例として、限定ではなく、図3は、遠隔アプリケーションプログラム316が、遠隔コンピュータ350のメモリ装置上に常駐しているのを示している。図示し、説明するネットワーク接続は、例示的であり、コンピュータ間で通信リンクを確立するその他の手段も使用できることが理解されよう。
(結論)
上述した方法およびシステムの一部は、ビットレベル以外の処理レベルにおいて開始符号エミュレーション防止を提供することができる。これは、処理の複雑さを軽減することができるため、有利である。本明細書で説明した技術は、任意の適切な文脈で、例えば、可変長符号、ハフマン符号、および算術符号化によって生成された内容を含むペイロードに関連して使用することができる。さらに、一部の実施形態は、所望される場合に整数のバイトが送信されることを保証することができ、開始符号、エミュレーション防止パターン、および基本的なペイロードデータのためのデータに加えて追加の充填データの送信を可能にすることができるデータ充填のための単純明快な方法を提供する。
本発明は、構造上の特徴および/または方法上のステップに特有の言葉で説明してきたが、特許請求の範囲で定義する本発明は、説明した特定の特徴またはステップに必ずしも限定されないことを理解されたい。むしろ、特定の特徴およびステップは、請求する本発明を実施する好ましい形態として開示している。

Claims (14)

  1. データストリーム内のデータペイロードに1又は複数の充填ビットデータを充填する符号器において実行される方法であって、
    前記充填されたデータ内の前記データペイロード後に前記充填ビットデータを挿入するステップであって、前記充填ビットデータを挿入するステップは、
    前記データペイロードの後に値が1のビットデータを挿入するステップ(202)、および
    前記値が1のビットデータの後に0〜7個の値が0のビットデータを挿入するステップであって、挿入された値が0のビットデータの数は前記データペイロード内のビット数によって変化し、前記充填されたデータが、前記充填ビットデータを含む値が0でないバイトデータで終わる整数バイトのバイトデータ(204)からなり、前記値が0でないバイトデータが、開始符号の第1のバイトデータと異なる前記充填ビットデータを含み、開始符号エミュレーションを防止する、値が0のビットデータを挿入するステップを含み、
    前記充填ビットデータを終わらせる前記値が0でないバイトデータの後、および前記開始符号の前に0x00を表すバイトデータを挿入するステップ(208)と
    を有することを特徴とする方法。
  2. 前記データペイロードが複数のデータペイロードの1つであり、前記複数のデータペイロードの他のデータペイロードの各々に関して、他のデータペイロード毎に前記挿入した充填ビットデータおよび挿入した0x00を表すバイトデータを繰り返し挿入するステップをさらに有することを特徴とする請求項1に記載の方法
  3. 前記開始符号エミュレーション防止は、
    前記開始符号のパターンに関して前記データペイロードを探索するステップと、
    前記パターンを発見したとき、前記データペイロード内に開始符号エミュレーション防止バイトを挿入して前記開始符号のエミュレーションを防止するステップと
    を有することを特徴とする請求項1に記載の方法
  4. データペイロードおよび充填ビットデータを含む充填されたデータを受け取り、前記充填されたデータ内の前記データペイロードをロケーティングする復号器において実行される方法であって、
    前記充填されたデータを終わらせる値が0で無いバイトデータの後、および次のデータペイロードが開始する開始符号の前に挿入された0x00を表すバイトデータを検出するステップと、
    前記充填されたデータ内の前記充填ビットデータを探索するステップであって、前記充填ビットデータが、
    挿入された値が1のビットデータ、および
    前記値が1のビットデータの後に挿入されて前記充填されたデータ内に整数バイトのバイトデータを形成する、0〜7個の値が0のビットデータであって、挿入される値が0のビットデータの数が前記データペイロード内のビット数によって変化し、前記充填されたデータが、前記充填ビットデータを含む前記値が0でないバイトデータで終わる整数バイトのバイトデータからなり、前記充填ビットデータを含む前記値が0でないバイトデータが前記開始符号の第1のバイトデータと異なる、値が0のビットデータ
    からなり、開始符号エミュレーションを防止する、探索するステップと
    を有することを特徴とする方法
  5. 前記0x00を表すバイトデータおよび前記充填ビットデータを除去するステップをさらに有することを特徴とする請求項4に記載の方法
  6. 前記0x00を表すバイトデータの後に前記開始符号を受け取るステップをさらに有することを特徴とする請求項4又は5に記載の方法
  7. 前記データペイロードは複数のデータペイロードの1つであり、前記複数のデータペイロードの他のデータペイロードの各々に関して、前記ロケーティングするステップ、前記検出するステップおよび前記探索するステップを前記他のデータペイロード毎に繰り返すステップをさらに有し、前記挿入された値が0のビットデータの数は前記複数のデータペイロードの少なくとも2つにおいて異なることを特徴とする請求項4に記載の方法
  8. 前記データペイロードにおいて、前記開始符号のエミュレーションを防止する開始符号エミュレーション防止バイトを探索するステップと、
    前記開始符号エミュレーション防止バイトを発見したとき、前記データペイロードから前記開始符号エミュレーション防止バイトを除去するステップと
    をさらに有することを特徴とする請求項4に記載の方法
  9. 前記開始符号の第1のバイトデータは、開始符号プレフィックス内にあることを特徴とする請求項1乃至8のいずれかに記載の方法
  10. 前記開始符号プレフィックスは複数の連続する値が0のビットデータのストリングから始まり、前記充填ビットデータ内のいくつかの値が0のビットデータは、前記開始符号の第1のバイトデータのビットデータのように同じ値を有し、前記0x00を表すバイトデータは前記開始符号の第1のバイトデータのビットデータのように同じ値を有することを特徴とする請求項9に記載の方法
  11. 前記開始符号プレフィックスは直後に値が1のビットデータが続く複数の連続した値が0のビットデータのストリングからなることを特徴とする請求項10に記載の方法
  12. 前記開始符号プレフィックスは0x00を表すバイトデータが2バイトの直後に0x01を表すバイトデータが1バイト続くことを特徴とする請求項10に記載の方法
  13. 前記充填されたデータはビデオデータを含むことを特徴とする請求項1乃至12のいずれかに記載の方法
  14. 請求項1乃至13のいずれかに記載の方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2009142785A 2002-01-22 2009-06-15 開始符号エミュレーションの防止およびデータ充填のための方法およびシステム Expired - Lifetime JP4918119B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US35114302P 2002-01-22 2002-01-22
US60/351,143 2002-01-22

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003563224A Division JP4703114B2 (ja) 2002-01-22 2003-01-22 開始符号エミュレーションの防止およびデータ充填のための方法およびシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011105462A Division JP5175371B2 (ja) 2002-01-22 2011-05-10 開始符号エミュレーションの防止およびデータ充填のための方法およびシステム

Publications (2)

Publication Number Publication Date
JP2009246995A JP2009246995A (ja) 2009-10-22
JP4918119B2 true JP4918119B2 (ja) 2012-04-18

Family

ID=37575975

Family Applications (5)

Application Number Title Priority Date Filing Date
JP2003563225A Expired - Lifetime JP4503294B2 (ja) 2002-01-22 2003-01-22 ランダムアクセスおよびスプライシングを可能にするようにビデオデータを符号化および復号するための方法およびシステム
JP2003563224A Expired - Lifetime JP4703114B2 (ja) 2002-01-22 2003-01-22 開始符号エミュレーションの防止およびデータ充填のための方法およびシステム
JP2009142785A Expired - Lifetime JP4918119B2 (ja) 2002-01-22 2009-06-15 開始符号エミュレーションの防止およびデータ充填のための方法およびシステム
JP2011105462A Expired - Lifetime JP5175371B2 (ja) 2002-01-22 2011-05-10 開始符号エミュレーションの防止およびデータ充填のための方法およびシステム
JP2012084329A Expired - Lifetime JP5394528B2 (ja) 2002-01-22 2012-04-02 開始符号エミュレーションの防止およびデータ充填のための方法およびシステム

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2003563225A Expired - Lifetime JP4503294B2 (ja) 2002-01-22 2003-01-22 ランダムアクセスおよびスプライシングを可能にするようにビデオデータを符号化および復号するための方法およびシステム
JP2003563224A Expired - Lifetime JP4703114B2 (ja) 2002-01-22 2003-01-22 開始符号エミュレーションの防止およびデータ充填のための方法およびシステム

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2011105462A Expired - Lifetime JP5175371B2 (ja) 2002-01-22 2011-05-10 開始符号エミュレーションの防止およびデータ充填のための方法およびシステム
JP2012084329A Expired - Lifetime JP5394528B2 (ja) 2002-01-22 2012-04-02 開始符号エミュレーションの防止およびデータ充填のための方法およびシステム

Country Status (11)

Country Link
US (2) US7505485B2 (ja)
EP (3) EP1468566B1 (ja)
JP (5) JP4503294B2 (ja)
CN (2) CN1618235A (ja)
AT (3) ATE352171T1 (ja)
DE (3) DE60332175D1 (ja)
DK (1) DK1753244T3 (ja)
ES (1) ES2341357T3 (ja)
HK (3) HK1069701A1 (ja)
PT (1) PT1753244E (ja)
WO (2) WO2003063500A1 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60332175D1 (de) * 2002-01-22 2010-05-27 Microsoft Corp Verfahren und System zur Verhinderung von Startkode-Emulation und Stopfdaten
WO2003090470A2 (en) * 2002-04-19 2003-10-30 Microsoft Corporation Methods and systems for preventing start code emulation at non-byte aligned and/or bit-shifted locations
US7436328B2 (en) * 2003-07-09 2008-10-14 Texas Instruments Incorporated Video coding with start code emulation prevention
FR2898754B1 (fr) * 2006-03-17 2008-06-13 Thales Sa Procede de protection de donnees multimedia au moyen de couches d'abstraction reseau (nal) supplementaires
JP2007312272A (ja) * 2006-05-22 2007-11-29 Victor Co Of Japan Ltd 可変長復号装置
JP4229149B2 (ja) 2006-07-13 2009-02-25 ソニー株式会社 ビデオ信号処理装置およびビデオ信号処理方法、ビデオ信号符号化装置およびビデオ信号符号化方法、並びにプログラム
US20080043832A1 (en) * 2006-08-16 2008-02-21 Microsoft Corporation Techniques for variable resolution encoding and decoding of digital video
US8773494B2 (en) 2006-08-29 2014-07-08 Microsoft Corporation Techniques for managing visual compositions for a multimedia conference call
EP2097119A4 (en) * 2006-11-21 2012-10-17 Abbott Lab USE OF A TERPOLYMER OF TETRAFLUOROETHYLENE, HEXAFLUORPROPYLENE AND VINYLIDENE FLUORIDE IN MEDICAMENTAL COATINGS
US7974307B2 (en) * 2006-11-30 2011-07-05 Vestel Elektronik Sanayi Ve Ticaret A.S. Methods and apparatus for data decoding/encoding and for searching for/inserting stuffing bytes
CN101296376B (zh) * 2007-04-24 2011-01-26 北京展讯高科通信技术有限公司 填充位丢弃电路和方法
EP1988713A1 (en) * 2007-04-30 2008-11-05 STMicroelectronics (Research & Development) Limited Image processing apparatus and method using padding data
US8509590B2 (en) 2007-05-28 2013-08-13 Panasonic Corporation Metadata recording device and method thereof
US9503777B2 (en) 2007-06-05 2016-11-22 Broadcom Corporation Method and system for unified start code emulation prevention bits processing for AVS
US7881342B2 (en) * 2007-09-27 2011-02-01 Chris Vaios Dynamically and on-demand selected ancillary data over compressed multimedia packets without bandwidth expansion
CN101459840B (zh) * 2007-12-13 2010-04-21 华为技术有限公司 视频图像编码和解码方法及装置和系统
JP2009200595A (ja) 2008-02-19 2009-09-03 Fujitsu Ltd 署名管理プログラム、署名管理方法及び署名管理装置
CN101534438B (zh) * 2008-03-14 2013-02-13 瑞昱半导体股份有限公司 影音位流处理方法及装置
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7925774B2 (en) 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8265140B2 (en) * 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
WO2010041488A1 (ja) * 2008-10-10 2010-04-15 株式会社東芝 動画像符号化装置
US9516379B2 (en) 2011-03-08 2016-12-06 Qualcomm Incorporated Buffer management in video codecs
FI123124B (fi) 2011-03-16 2012-11-15 Oy Langh Ship Ab Menetelmä ja järjestely irtokelojen kuljettamiseksi kehtotelinerakennelmalla sekä kehtotelinerakennelma
US10230989B2 (en) * 2011-06-21 2019-03-12 Texas Instruments Incorporated Method and apparatus for video encoding and/or decoding to prevent start code confusion
US9131245B2 (en) 2011-09-23 2015-09-08 Qualcomm Incorporated Reference picture list construction for video coding
US9264717B2 (en) * 2011-10-31 2016-02-16 Qualcomm Incorporated Random access with advanced decoded picture buffer (DPB) management in video coding
CN103369311A (zh) * 2012-04-04 2013-10-23 朱洪波 一种用于防止起始码冲突的方法
US20130279597A1 (en) * 2012-04-24 2013-10-24 Magnum Semiconductor, Inc. Apparatuses and methods for bitstream bitstuffing
US9225978B2 (en) 2012-06-28 2015-12-29 Qualcomm Incorporated Streaming adaption based on clean random access (CRA) pictures
JP6182719B2 (ja) * 2012-06-29 2017-08-23 ヴェロス メディア インターナショナル リミテッドVelos Media International Limited 符号化装置および符号化方法
CN102802023B (zh) * 2012-08-29 2014-08-27 上海国茂数字技术有限公司 一种快速防止出现伪起始码的方法及装置
US10045021B2 (en) 2013-04-05 2018-08-07 Samsung Electronics Co., Ltd. Multi-layer video coding method for random access and device therefor, and multi-layer video decoding method for random access and device therefor
US10142638B2 (en) 2013-10-11 2018-11-27 Electronics And Telecommunications Research Institute Method for encoding/decoding image and device using same
WO2015053525A1 (ko) * 2013-10-11 2015-04-16 한국전자통신연구원 영상의 부호화/복호화 방법 및 이를 이용하는 장치
CN105981389B (zh) * 2014-02-03 2019-03-01 三菱电机株式会社 图像编码装置、图像解码装置、编码流变换装置、图像编码方法以及图像解码方法
US10032034B2 (en) * 2015-10-06 2018-07-24 Microsoft Technology Licensing, Llc MPEG transport frame synchronization
US10271069B2 (en) 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention
CN109982091B (zh) * 2019-04-26 2022-04-22 京东方科技集团股份有限公司 一种图像的处理方法及装置
JP2023529421A (ja) 2020-06-09 2023-07-10 バイトダンス インコーポレイテッド 映像コーディングにおける補足強化情報の制約

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4847877A (en) 1986-11-28 1989-07-11 International Business Machines Corporation Method and apparatus for detecting a predetermined bit pattern within a serial bit stream
JP2674059B2 (ja) 1988-02-09 1997-11-05 キヤノン株式会社 カラー画像データ伝送方法
CA2335403C (en) 1990-06-05 2002-03-19 Koninklijke Philips Electronics N.V. Optical readable disc storing full-motion video scene
GB9012538D0 (en) 1990-06-05 1990-07-25 Philips Nv Coding of video signals
JPH066335A (ja) * 1992-06-17 1994-01-14 Fujitsu Ltd 高能率音声伝送の擬似同期防止方法
US5842033A (en) 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
PT732028E (pt) 1993-11-30 2002-07-31 Gen Electric Indicador de palavra de dados num sistema para montagem de pacotes de dados de transporte
US5784110A (en) 1993-11-30 1998-07-21 General Electric Company Data processor for assembling transport data packets
JPH0856356A (ja) * 1994-08-10 1996-02-27 Fujitsu Ltd 符号化装置および復号化装置
JP3474005B2 (ja) 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
US5650825A (en) * 1995-03-31 1997-07-22 Matsushita Electric Corporation Of America Method and apparatus for sending private data instead of stuffing bits in an MPEG bit stream
US5757869A (en) * 1995-07-28 1998-05-26 Adtran, Inc. Apparatus and method for detecting frame synchronization pattern/word in bit-stuffed digital data frame
JP3771954B2 (ja) * 1995-08-04 2006-05-10 ソニー株式会社 画像表示制御装置および方法
JP3597647B2 (ja) 1995-09-29 2004-12-08 株式会社東芝 符号化方法及び装置
US5959673A (en) 1995-10-05 1999-09-28 Microsoft Corporation Transform coding of dense motion vector fields for frame and object based video coding applications
JPH09182067A (ja) 1995-10-27 1997-07-11 Toshiba Corp 画像符号化/復号化装置
EP2211495A1 (en) 1996-03-18 2010-07-28 Kabushiki Kaisha Toshiba Coding system and decoding system
US5870444A (en) 1996-04-23 1999-02-09 Scientific-Atlanta, Inc. Method and apparatus for performing very fast message synchronization
US5661665A (en) 1996-06-26 1997-08-26 Microsoft Corporation Multi-media synchronization
EP0864228B1 (en) 1996-07-05 2001-04-04 Matsushita Electric Industrial Co., Ltd. Method for display time stamping and synchronization of multiple video object planes
JPH1066036A (ja) 1996-08-15 1998-03-06 Oki Electric Ind Co Ltd Tv方式変換装置
JP2002009626A (ja) * 1996-09-06 2002-01-11 Toshiba Corp 可変長符号化/復号化装置に用いられるプログラムを記録した記録媒体
US5898897A (en) 1996-10-18 1999-04-27 Samsung Electronics Company, Ltd. Bit stream signal feature detection in a signal processing system
JP4013286B2 (ja) * 1997-01-22 2007-11-28 松下電器産業株式会社 画像符号化装置と画像復号化装置
WO1998036519A1 (fr) * 1997-02-13 1998-08-20 Ntt Mobile Communications Network Inc. Circuit de synchronisation de trames
US5955977A (en) * 1997-03-31 1999-09-21 Sharp Laboratories Of America, Inc. System for avoiding start code emulation and long carry-over propagation
KR100750520B1 (ko) * 1997-09-25 2007-08-21 소니 가부시끼 가이샤 부호화 스트림 생성 장치 및 방법, 데이터 전송 시스템 및 방법, 편집 시스템 및 방법
JPH11110915A (ja) 1997-09-30 1999-04-23 Sony Corp 信号記録再生装置及び方法
JPH11136225A (ja) * 1997-10-30 1999-05-21 Matsushita Electric Ind Co Ltd ビットストリームにおけるスタートコードを検出する方法および装置
US5946043A (en) * 1997-12-31 1999-08-31 Microsoft Corporation Video coding using adaptive coding of block parameters for coded/uncoded blocks
JP3724203B2 (ja) * 1998-03-10 2005-12-07 ソニー株式会社 符号化装置および方法、並びに記録媒体
GB9807208D0 (en) * 1998-04-03 1998-06-03 Nds Ltd Method and apparatus for detecting a sequence in a bitstream
WO1999056472A1 (en) 1998-04-24 1999-11-04 Rockwell Science Center, Llc N-bit video coder and method of extending an 8-bit mpeg video coder
JP2000032394A (ja) 1998-07-09 2000-01-28 Sony Corp 画像情報処理装置および方法、並びに提供媒体
JP2000032393A (ja) * 1998-07-09 2000-01-28 Sony Corp 画像情報処理装置および方法、並びに提供媒体
JP3927713B2 (ja) * 1998-12-08 2007-06-13 キヤノン株式会社 放送受信装置およびその方法
EP1018840A3 (en) 1998-12-08 2005-12-21 Canon Kabushiki Kaisha Digital receiving apparatus and method
JP4401463B2 (ja) * 1999-01-28 2010-01-20 キヤノン株式会社 放送受信装置及びその方法
JP4306850B2 (ja) * 1998-12-08 2009-08-05 キヤノン株式会社 放送受信装置およびその方法
US7551672B1 (en) * 1999-02-05 2009-06-23 Sony Corporation Encoding system and method, decoding system and method, multiplexing apparatus and method, and display system and method
JP4139983B2 (ja) * 1999-02-09 2008-08-27 ソニー株式会社 符号化ストリーム変換装置、および、符号化ストリーム変換方法、並びに、ストリーム出力装置、および、ストリーム出力方法
JP2000236522A (ja) * 1999-02-12 2000-08-29 Sony Corp 画像情報処理装置および方法、並びに提供媒体
US6499060B1 (en) * 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
JP4292654B2 (ja) 1999-03-19 2009-07-08 ソニー株式会社 記録装置および方法、再生装置および方法、並びに記録媒体
GB2363279B (en) * 1999-04-01 2003-10-22 Ravisent Technologies Inc Method for preventing dual-step half-pixel motion compensation accumulation errors in prediction-rich MPEG-2 sequences
GB2353653B (en) 1999-08-26 2003-12-31 Sony Uk Ltd Signal processor
JP2001078146A (ja) * 1999-09-03 2001-03-23 Matsushita Electric Ind Co Ltd 映像復号化方法,及びその装置
US6795506B1 (en) * 1999-10-05 2004-09-21 Cisco Technology, Inc. Methods and apparatus for efficient scheduling and multiplexing
JP2001155437A (ja) * 1999-11-26 2001-06-08 Sony Corp 記録装置および方法
JP3694888B2 (ja) 1999-12-03 2005-09-14 ソニー株式会社 復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体
JP2001169243A (ja) * 1999-12-03 2001-06-22 Sony Corp 記録装置および方法、ならびに、再生装置および方法
JP3874153B2 (ja) 1999-12-06 2007-01-31 ソニー株式会社 再符号化装置および再符号化方法、符号化装置および符号化方法、復号装置および復号方法、並びに、記録媒体
GB9930788D0 (en) 1999-12-30 2000-02-16 Koninkl Philips Electronics Nv Method and apparatus for converting data streams
JP2001285861A (ja) * 2000-03-29 2001-10-12 Mitsubishi Electric Corp 画像信号符号化装置
US20020114388A1 (en) * 2000-04-14 2002-08-22 Mamoru Ueda Decoder and decoding method, recorded medium, and program
JP3540248B2 (ja) 2000-06-01 2004-07-07 松下電器産業株式会社 可変長符号復号装置
US6915078B1 (en) * 2000-08-15 2005-07-05 Alcatel Optical frame format
EP2364025B1 (en) * 2000-08-15 2015-09-16 Microsoft Technology Licensing, LLC Methods, systems and data structures for timecoding media samples
US7177520B2 (en) * 2000-09-15 2007-02-13 Ibm Corporation System and method of timecode repair and synchronization in MPEG streams
JP3737352B2 (ja) 2000-09-25 2006-01-18 株式会社東芝 スタートコード検索回路
DE60332175D1 (de) 2002-01-22 2010-05-27 Microsoft Corp Verfahren und System zur Verhinderung von Startkode-Emulation und Stopfdaten
US7149247B2 (en) * 2002-01-22 2006-12-12 Microsoft Corporation Methods and systems for encoding and decoding video data to enable random access and splicing
WO2003090470A2 (en) * 2002-04-19 2003-10-30 Microsoft Corporation Methods and systems for preventing start code emulation at non-byte aligned and/or bit-shifted locations
US7609762B2 (en) * 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field

Also Published As

Publication number Publication date
US7505485B2 (en) 2009-03-17
EP1468567A2 (en) 2004-10-20
CN1618235A (zh) 2005-05-18
ES2341357T3 (es) 2010-06-18
WO2003063499A2 (en) 2003-07-31
DE60310368T2 (de) 2007-03-29
JP2006502605A (ja) 2006-01-19
DE60332175D1 (de) 2010-05-27
ATE352171T1 (de) 2007-02-15
JP2012182797A (ja) 2012-09-20
JP5175371B2 (ja) 2013-04-03
JP4703114B2 (ja) 2011-06-15
JP2009246995A (ja) 2009-10-22
WO2003063500A1 (en) 2003-07-31
HK1103199A1 (en) 2007-12-14
EP1468566A1 (en) 2004-10-20
JP2011205665A (ja) 2011-10-13
WO2003063499A3 (en) 2003-10-16
DE60311231T2 (de) 2007-11-15
US20030146855A1 (en) 2003-08-07
US20090168805A1 (en) 2009-07-02
HK1069700A1 (en) 2005-05-27
PT1753244E (pt) 2010-05-06
ATE464748T1 (de) 2010-04-15
JP5394528B2 (ja) 2014-01-22
HK1069701A1 (en) 2005-05-27
JP4503294B2 (ja) 2010-07-14
EP1753244A1 (en) 2007-02-14
DE60311231D1 (de) 2007-03-08
US7839895B2 (en) 2010-11-23
ATE348484T1 (de) 2007-01-15
DK1753244T3 (da) 2010-07-26
JP2005516496A (ja) 2005-06-02
EP1468567B1 (en) 2006-12-13
EP1468566B1 (en) 2007-01-17
EP1753244B1 (en) 2010-04-14
DE60310368D1 (de) 2007-01-25
CN1618236A (zh) 2005-05-18

Similar Documents

Publication Publication Date Title
JP4918119B2 (ja) 開始符号エミュレーションの防止およびデータ充填のための方法およびシステム
JP4448334B2 (ja) バイト整列されていない(non−byte−alignedpositions)のポジション、および/またはビット・シフトされたポジション(bit−siftedpositions)を含む位置におけるスタート・コード・エミュレーションを防ぐための方法およびシステム
KR100677070B1 (ko) 무선 멀티미디어 통신에서의 비디오 비트스트림 데이터의 오류 제어방법 및 이를 위한 기록 매체
US6768775B1 (en) Video CODEC method in error resilient mode and apparatus therefor
US6895544B1 (en) Encoding method of multimedia data and encoding device therefor
KR100840877B1 (ko) 신호 코딩 방법 및 장치, 코딩된 데이터 스트림 코딩 방법 및 장치, 채널 인코딩 방법 및 채널 코더, 채널 디코딩 방법 및 채널 디코더, 및 저장 매체
JP2005518164A (ja) 不均一誤り保護を用いるデータストリームの符号化
US7165207B2 (en) Robust signal coding
KR20040075956A (ko) 시작 코드 에뮬레이션 방지 및 데이터 스터핑 방법 및시스템
KR100458877B1 (ko) 영상 부호화 장치 및 그 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110701

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111003

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111006

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111101

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111201

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120104

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

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

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

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4918119

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term