JP4181212B2 - データ多重化/分離装置 - Google Patents

データ多重化/分離装置 Download PDF

Info

Publication number
JP4181212B2
JP4181212B2 JP2008524887A JP2008524887A JP4181212B2 JP 4181212 B2 JP4181212 B2 JP 4181212B2 JP 2008524887 A JP2008524887 A JP 2008524887A JP 2008524887 A JP2008524887 A JP 2008524887A JP 4181212 B2 JP4181212 B2 JP 4181212B2
Authority
JP
Japan
Prior art keywords
stream
buffer size
size information
bit
extension
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
JP2008524887A
Other languages
English (en)
Other versions
JPWO2008102732A1 (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of JP4181212B2 publication Critical patent/JP4181212B2/ja
Publication of JPWO2008102732A1 publication Critical patent/JPWO2008102732A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • 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/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • 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/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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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/44004Processing 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 video buffer management, e.g. video decoder buffer or video display buffer
    • 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/4402Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440209Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display for formatting on an optical medium, e.g. DVD
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • G11B2020/10722Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control wherein the size of the buffer is variable, e.g. by adding additional memory cells for coping with input streams that have high bit rates

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本発明は、ビデオデータ、オーディオデータおよびメタデータを同期して再生可能とするためのデータ多重化方法及び装置とデータ分離方法及び装置に関する。
ビデオデータ、オーディオデータおよびメタデータを同期して再生させるために、これらのデータのエレメンタリーストリームを多重化する方法に関して、MPEG-2 Systems (ISO/IEC 13818-1)が国際標準方式として策定されている(ITU-T Rec. H.222.0 (2000)|ISO/IEC 13818-1:2000 (MPEG-2 Systems))。当初のMPEG-2 Systems規格では、MPEG規格ファミリーであるMPEG-1, MPEG-2およびMPEG-4などの動画像符号化方式により符号化されたビデオ符号化データ、オーディオ符号化データおよびユーザがプライベートに定義したデータを多重化する仕組みが組み込まれていた。この後、MPEG-2 Systems規格について、メタデータの多重化をサポートするという規格の拡張が行われた(ITU-T Rec. H.222.0 (2000)/Amd.2(06/2003)|ISO/IEC 13818-1:2000/Amd.2:2004)。
MPEG-2 Systems規格では、トランスポートストリーム(TS)とプログラムストリーム(PS)という2種類の多重化フォーマットが定義されている。TSは放送で活用されている形式であり、プログラムストリームはDVDで活用されている。プログラムストリームは複数のパックと呼ばれる単位からできている。パックは、1つのパックヘッダと0個以上のPESパケットからできている。パックヘッダは、1つのパックヘッダ本体と0個または1個のシステムヘッダからできており、当該パックが受信される時刻情報を含んでいる。PESパケットは、1つのPESヘッダと0バイト以上のPESペイロードからできている。PESペイロードには、ビデオデータ、オーディオデータおよびメタデータ等の要素(エレメンタリーストリーム)が適当なサイズで分割されて記録されている。PESヘッダには、PESペイロードに含むデータを分類するための識別子であるストリームIDが記録されており、同一IDのPESペイロードを連結することにより、分割されたエレメンタリーストリームから1つの連続したエレメンタリーストリームを得ることができる。さらに、PESヘッダには、PESペイロードに含まれるデータがビデオのピクチャやオーディオのフレームの切れ目を含む場合に、次に始まるピクチャやフレームの再生および表示時刻を、パックヘッダ中の受信時刻情報で示される受信時刻からの相対時刻で記録することができる。
システムヘッダは、当該プログラムストリームのシステム的な特徴に関する情報を含んでいる。例えば、あるストリームIDのエレメンタリーストリームの生成および再生に必要なバッファサイズ情報がストリームIDとバッファサイズを対にした形で記録される。
ITU-T Rec. H.222.0 (2000)/Amd.2(06/2003)|ISO/IEC 13818-1:2000/Amd.2:2004に開示された、メタデータ多重化のためのMPEG-2 Systems規格の拡張では、複数のメタデータを識別できるように、PESヘッダで用いるストリームIDに新たに拡張ID(extended_stream_id = 0xFD)という値を定義し、拡張IDの場合は新たに拡張ストリームID(stream_id_extension)と呼ばれる7ビットの値を使って128種類のエレメンタリーストリームを識別できるようになった。
しかしながら、ITU-T Rec. H.222.0 (2000)/Amd.2(06/2003)|ISO/IEC 13818-1:2000/Amd.2:2004に開示された手法によるMPEG-2 Systemsの拡張では、システムヘッダでの拡張ストリームID毎のバッファサイズ情報(拡張バッファサイズ情報)の記録手段は拡張されず、拡張ストリームID毎に拡張バッファサイズ情報を記録する手段が提供されなかった。そのため、拡張IDに対して一括でバッファサイズ情報を記録することのみが現状では可能であり、拡張ストリームID毎に拡張バッファサイズ情報を記録する手段を提供するための、規格の追加拡張が望まれる。
一方、ITU-T Rec. H.222.0 (2000)/Amd.2(06/2003)|ISO/IEC 13818-1:2000/Amd.2:2004に開示された拡張を利用して既に製品が発売されている。従って、規格の追加拡張を行う際には、市場の混乱を招かないように「バックワードコンパチビリティ」を有することが産業上望まれる。さらに、既存の規格に沿って作成されたデータ(プログラムストリーム)が、追加拡張された規格に沿って開発された機器においても正常に再生できる「フォワードコンパチビリティ」を確保することが望ましい。
本発明は、従来の機器での再生時及び従来のデータの新しい機器での再生時にエラーが発生することなく、拡張ストリームID毎に拡張バッファサイズ情報を記録できるデータ多重化/分離方法および装置を提供することを目的とする。
本発明の一態様によると、ビデオデータ、オーディオデータ、およびメタデータのうち、少なくともひとつのデータを表すエレメンタリーストリームを入力する入力部と、前記エレメンタリーストリームを分割して複数のPESペイロードを生成するPESペイロード生成部と、前記複数のPESペイロードの各々に、当該PESペイロードに含まれるデータを識別するための、(A)基本ストリームID又は(B)拡張IDおよび拡張ストリームIDの組、のいずれかを含むPESヘッダを付加して、前記複数のPESペイロードの各々にそれぞれ対応する複数のPESパケットを生成するPESパケット生成部と、前記基本ストリームIDを示す8ビットの第1フィールド、前記第1フィールドに続く2ビットの第2フィールド、前記基本ストリームIDによって識別されるエレメンタリーストリームの再生に必要なバッファバウンドスケール情報を示す前記第2フィールドに続く1ビットの第3フィールド、および、当該エレメンタリーストリームの再生に必要なバッファサイズバウンド情報を示す前記第3フィールドに続く13ビットの第4フィールドからなる24ビットの基本ストリームID用バッファサイズ情報を生成する基本バッファサイズ情報生成部と、第一の識別IDを示す前記基本ストリームIDまたは前記拡張IDで指定可能な値ではない値を持つ8ビットの第1フィールド、前記第1フィールドに続く9ビットの第2フィールド、および、拡張ストリームIDを示す前記第2フィールドに続く7ビットの第3フィールドからなる24ビットの情報(C)、および、第二の識別IDを示す前記基本ストリームID、前記拡張ID、または前記第一の識別IDで指定可能な値ではない値を持つ8ビットの第1フィールド、前記第1フィールドに続く2ビットの第2フィールド、前記第2フィールドに続く前記拡張IDと前記拡張ストリームIDとの組によって識別されるエレメンタリーストリームの再生に必要なバッファバウンドスケール情報を示す前記第2フィールドに続く1ビットの第3フィールド、および、当該エレメンタリーストリームの再生に必要なバッファサイズバウンド情報を示す前記第3フィールドに続く13ビットの第4フィールドからなる24ビットの情報(D)、を含む48ビットの拡張ストリームID用バッファサイズ情報を生成する拡張バッファサイズ情報生成部と、前記PESパケットの各々に対応するエレメンタリーストリームを再生するための前記基本バッファサイズ情報および前記拡張バッファサイズ情報を含むシステムヘッダを含んだパックヘッダを、前記複数のPESパケットを並べたPESパケット列に付加してパックを生成するパック生成部と、前記パックをプログラムストリームとして出力する出力部と、を具備するデータ多重化装置が提供される。
図1はMPEG-2 Systems規格におけるプログラムストリームの構造を示す図である。 図2は現行MPEG-2 Systems規格に従うシステムヘッダ内のバッファサイズ情報の記録フォーマットを示す図である。 図3は第1の実施形態に従うシステムヘッダ内のバッファサイズ情報の記録フォーマットを示す図である。 図4は第1の実施形態に則って生成されたデータを第1の実施形態に則って開発された機器で再生する際の動作を説明する図である。 図5は第1の実施形態に則って生成されたデータを従来のMPEG-2 Systems規格に則って開発された機器で再生する際の動作を説明する図である。 図6は従来の拡張されたMPEG-2 Systems規格に則って生成されたデータを第1の実施形態に則って開発された機器で再生する際の動作を説明する図である。 図7は第1の実施形態に従うシステムヘッダ内のバッファサイズ情報の記録フォーマットの変形例を示す図である。 図8は第1の実施形態を従うシステムヘッダ内のバッファサイズ情報の記録フォーマットの他の変形例を示す図である。 図9は第2の実施形態に従うシステムヘッダ内のバッファサイズ情報の記録フォーマットを示す図である。 図10は第2の実施形態に従うシステムヘッダ内のバッファサイズ情報の記録フォーマットの変形例を示す図である。 図11は第2の実施形態に従うシステムヘッダ内のバッファサイズ情報の記録フォーマットの他の変形例を示す図である。 図12は第1および第2の実施形態に従うデータ多重化装置全体を示すブロック図である。 図13は図12中のパックヘッダ生成部を示すブロック図である。 図14はデータ多重化装置の典型的な動作を説明するフローチャートである 図15は第1および第2の実施形態に従うデータ分離装置全体を示すブロック図である。 図16は図15中のパックヘッダ解釈部を示すブロック図である。 図17はデータ分離装置の典型的な動作を説明するフローチャートである。 図18は第3の実施形態に従うシステムヘッダ内のバッファサイズ情報の記録フォーマットを示す図である。 図19はデータ分離装置による分離方法を示すフローチャートである。
(プログラムストリームの基本構成)
まず、図1を用いてプログラムストリーム(PS)について説明する。図1に示されるように、プログラムストリームは複数のパックと呼ばれる単位からできている。パックは、1つのパックヘッダと0個以上のPESパケットからできている。
パックヘッダは、1つのパックヘッダ本体と0個または1個のシステムヘッダからできており、パックが受信される時刻を示す情報(受信時刻情報)を含んでいる。
PESパケットは、1つのPESヘッダと0バイト以上のPESペイロードからできている。PESペイロードには、ビデオデータ、オーディオ(音声を含む)データおよびメタデータ等の要素(エレメンタリーストリーム)から適当なサイズで切り出された部分データが記録されている。
PESヘッダには、第1にPESペイロードに含まれるデータを識別(分類)するための識別子であるストリームIDが記録される。同一ストリームIDのPESペイロードを連結することにより、分割されたエレメンタリーストリームから1つの連続したエレメンタリーストリームを得ることができる。
PESヘッダには、第2にPESペイロードに含まれるデータのバイト数情報が記録される。PESペイロードには、エレメンタリーストリームからバイト数情報で示されるサイズ分だけ切り出された部分データが記録されることになる。
PESヘッダには、第3にPESペイロードに含まれるデータがビデオのピクチャやオーディオのフレームの切れ目を含む場合には、次に始まるピクチャやフレームの再生および表示時刻を示す再生表示時刻情報がパックヘッダ中の受信時刻情報からの相対時刻情報として記録される。
システムヘッダは、プログラムストリームのシステム的な特徴に関する情報を含んでいる。例えば、あるストリームIDのエレメンタリーストリームの生成と再生に必要なバッファサイズを示すバッファサイズ情報(以下、後述する拡張バッファサイズ情報と区別するため、これを基本バッファサイズ情報という)がストリームIDとのペアとしてシステムヘッダに記録される。基本バッファサイズ情報は、例えば図2に示すように8ビットのストリームID(stream_ID)、2ビットのマーカビット’11’、1ビットのバッファバウンドスケール情報(P-STD_buffer_bound_scale)および13ビットのバッファサイズバウンド情報(P-STD_buffer_size_bound)の合計24ビットで表現される。システムヘッダには、さらに後述する拡張バッファサイズ情報も記録される。
以下、プログラムストリームを生成するために本実施形態に従ってエレメンタリーストリームを多重化するデータ多重化方法について説明する。
(第1の実施形態)
次に、図3を用いて本発明の第1の実施形態に従う、拡張バッファサイズ情報(拡張ストリームIDに対するバッファサイズ情報)の記録方法を説明する。プログラムストリーム全体の構成は、図1に示した通りである。
ITU-T Rec. H.222.0 (2000)/Amd.2(06/2003)|ISO/IEC 13818-1:2000/Amd.2:2004(その内容は本願に引用して援用される)によれば、拡張IDは0xFDと定義されている。ITU-T Rec. H.222.0 (2000)|ISO/IEC 13818-1:2000 (MPEG-2 Systems) (その内容は本願に引用して援用される)によれば、基本バッファサイズ情報は図3の実線枠内に示されるように1ビットのバッファバウンドスケール情報P-STD_buffer_bound_scaleと13ビットのバッファサイズバウンド情報P-STD_buffer_size_boundの組み合わせで表現されると定義されており、基本バッファサイズは以下のように算出される。
(a)P-STD_buffer_bound_scaleが0の場合は、128*P-STD_buffer_size_boundバイト
(b)P-STD_buffer_bound_scaleが1の場合は、1024*P-STD_buffer_size_boundバイト
一般に、バッファサイズが0バイトであることはあり得ない。このことを利用して、第1の実施形態では図3の斜体文字で示すように、基本ストリームIDが拡張ID(0xFD)で、かつ基本バッファサイズ情報(P-STD_buffer_size_bound)が0、すなわちバッファサイズが0バイトであることを表す場合は、2つの破線枠内に示されるように拡張バッファサイズ情報を記録する。
図3によると、拡張バッファサイズ情報は8ビットの拡張ストリームID(stream_id_extension)、2ビットのマーカビット’11’、7ビットのリザーブ情報(reserved)および7ビットの拡張ストリームID(stream_id_extension)を含む計24ビット(第1拡張情報)と、2ビットのマーカビット’11’、1ビットのバッファバウンドスケール情報(P-STD_buffer_bound_scale_entension)および13ビットのバッファサイズバウンド情報(P-STD_buffer_size_bound_entension)の合計24ビット(第2拡張情報)で表現される。この際、図中の破線枠で囲まれた部分は、実線枠で囲まれた部分と類似の構造を採ることがコンパチビリティ確保のキーポイントとなっている。
(新規機器での再生動作)
次に、図4を用いて第1の実施形態に則って生成されたプログラムストリームを第1の実施形態に則って開発された新規機器で再生する際の動作について説明する。ここでは、プログラムストリームとしてデータ系列FD, C0, 00, FD, FF, 83, FD, C0, 9C(16進数表記)が入力されたと仮定する。図4の左側には、データ系列FD, C0, 00, FD, FF, 83, FD, C0, 9Cが2進数表記されている。
まず、プログラムストリームの最初の3バイトのうち、FDはstream_idとして解釈される。続くC0の先頭2ビットは、’11’として解釈される。C0の3ビット目は、P-STD_buffer_bound_scaleとして解釈される(値は0)。C0の4ビット目以降とこれに続く00は、P-STD_buffer_boundとして解釈される(値は0)。
このようにP-STD_buffer_boundが0であり、かつstream_idが0xFDであることから、プログラムストリームの以降の6バイト(FD, FF, 83, FD, C0, 9C)は拡張バッファサイズ情報に用いられていると判断される(図4のif文の条件が真になる)。以下、このことについて説明する。
プログラムストリームの次の3バイトのうち、FDは’FD’として解釈される。続くFFの先頭2ビットは’11’として解釈される。FFの3ビット目以降とこれに続く83の1ビット目は、reservedとして解釈される(値は0x7F)。MPEG-2 Systems規格では、reservedは全てのビットが1であると定義されている。83の2ビット目以降はstream_id_extensionとして解釈される(値は0x03)。これにより、次に続く3バイトで表現されるバッファサイズ情報は、拡張ストリームID:0x03に対する拡張バッファサイズ情報であると識別できる。
プログラムストリームの次の3バイトのうち、FDは’FD’として解釈される。C0の先頭2ビットは’11’として解釈される。C0の3ビット目はP-STD_buffer_bound_scale_extensionとして解釈される(値は0)。C0の4ビット目以降と9CはP-STD_buffer_bound_extensionとして解釈される(値は0x9C)。従って、図4に示した例では拡張ストリームID:0x03に対するバッファサイズは、0x9Cは10進数表記で156であるため、128 * 156 = 19,968バイトとなる。
(バックワードコンパチビリティ)
次に、図5を用いて第1の実施形態に則って作成されたプログラムストリームが既存の機器で解釈される流れを示す。ここで用いているプログラムストリームであるデータ系列は、図4と同様にFD, C0, 00, FD, FF, 83, FD, C0, 9C(16進数表記)である。
プログラムストリームの最初の3バイトのうち、FDはstream_idとして解釈される。C0の先頭2ビットは’11’として解釈される。C0の3ビット目はP-STD_buffer_bound_scaleとして解釈される(値は0)。C0の4ビット目以降と00はP-STD_buffer_boundとして解釈される(値は0)。
ここで、プログラムストリームの次の3バイトのうちFDの1ビット目が1であることから、while文は継続する。次の3バイトのうち、FDはstream_idとして解釈される。FFの先頭2ビットは’11’として解釈される。FFの3ビット目はP-STD_buffer_bound_scaleとして解釈される(値は1)。FFの4ビット目以降と83はP-STD_buffer_boundとして解釈される(値は0x1F83)。
ここで、プログラムストリームの次の3バイトのうちFDの1ビット目が1であることから、while文は継続する。続くFDはstream_idとして解釈される。C0の先頭2ビットは’11’として解釈される。C0の3ビット目はP-STD_buffer_bound_scaleとして解釈される(値は0)。C0の4ビット目以降と9CはP-STD_buffer_boundとして解釈される(値は0x009C)。
このように第1の実施形態に則って作成されたプログラムストリームは、既存の機器で解釈が可能であるから、バックワードコンパチビリティを有することが明らかである。
(フォワードコンパチビリティ)
次に、図6を用いて従来のMPEG-2 Systems規格に則って作成されたプログラムストリームが第1の実施形態に則って開発された機器で解釈される流れを示す。ここで用いているプログラムストリームであるデータ系列は、図4と同様にFD, C0, 00, FD, FF, 83, FD, C0, 9C (16進数表記)である。図6と図4および図5との違いは、3バイト目が01であるという点である。これは従来のMPEG-2 Systems規格に則ってバッファサイズ情報を記録する際、バッファサイズ情報が0バイトを表すことは考えられないためである。
まず、最初の3バイトのうちFDはstream_idとして解釈される。C0の先頭2ビットは’11’として解釈される。C0の3ビット目はP-STD_buffer_bound_scaleとして解釈される(値は0)。C0の4ビット目以降と01はP-STD_buffer_boundとして解釈される(値は1)。この場合、P-STD_buffer_boundが0ではないため、if文は偽となり、while文の条件判断が行われる。
ここで、次の3バイトの最初のデータ(FD)の1ビット目が1であることから、while文は継続する。続くFDはstream_idとして解釈される。FFの先頭2ビットは’11’として解釈される。FFの3ビット目はP-STD_buffer_bound_scaleとして解釈される(値は1)。FFの4ビット目以降と83はP-STD_buffer_boundとして解釈される(値は0x1F83)。この場合、P-STD_buffer_boundが0ではないため、if文は偽となり、while文の条件判断が行われる。
ここで、次のデータ(FD)の1ビット目が1であることから、while文は継続する。続くFDはstream_idとして解釈される。C0の先頭2ビットは’11’として解釈される。C0の3ビット目はP-STD_buffer_bound_scaleとして解釈される(値は0)。C0の4ビット目以降と9CはP-STD_buffer_boundとして解釈される(値は0x009C)。
このように従来のMPEG-2 Systems規格に則って生成されたプログラムストリームを第1の実施形態に則って開発された機器で解釈することができるので、第1の実施形態に従って生成されるプログラムストリームはフォワードコンパチビリティを有することが明らかである。
(変形例1)
次に、図7を用いて第1の実施形態の変形例について説明する。図7では、拡張ストリームID用のバッファサイズ情報の記録を行うかどうかの判断を行うif文の条件に、P-STD_buffer_bound_scaleが0であることが追加されている。
図4では、P-STD_buffer_boundが0の場合、無条件に拡張ストリームID用のバッファサイズ情報が記録されるため、P-STD_buffer_boundは拡張IDのバッファサイズが0であることを示す拡張バッファサイズ情報の記録には対応していない。
これに対し、図7ではバッファサイズ情報を
P-STD_buffer_bound_scale = 1
P-STD_buffer_bound = 0
とすることで、拡張IDのバッファサイズが0であることを示す拡張バッファサイズ情報を記録することが可能となる。
(変形例2)
図8を用いて第1の実施形態のさらなる変形例について説明する。図7では、拡張バッファサイズ情報の記録を行うかどうかの判断を行う条件に、次に続く8ビットが0xFDであることを追加している上、while文とすることにより、拡張ストリームIDと拡張バッファサイズ情報の記録を複数個繰り返すことができるようになっている。図3では拡張ストリームID毎に上位のwhileループが処理されるために、拡張ストリームIDの数だけstream_id,’11’,P-STD_buffer_bound_scale及びP-STD_buffer_size_boundのセットを記録していた。これに対し、図8の変形例では当該セットの記録は1回のみで済むようになる。
更なるバリエーションとしては、図8の内周のwhile文の条件判断に、図7の変形例で追加したP-STD_buffer_size_scale == 0を追加しても良い。
(第2の実施形態)
次に、図9を用いて本発明の第2の実施形態に従う、拡張バッファサイズ情報(拡張ストリームIDに対するバッファサイズ情報)の記録方法を説明する。プログラムストリーム全体の構成は、図1に示した通りである。
第2の実施形態と第1の実施形態との違いは、従来reservedであった7ビットのフィールドから、拡張バッファサイズ情報を記録するということを示すために1ビットのフラグ情報(extension_buffer_size_signaling_flag)を定義し、while文中で基本ストリームID(stream_id)が0xFDで、かつextension_buffer_size_signaling_flagが0の場合は、拡張ストリームIDのフィールドが存在すると判断している点である。その際、拡張ストリームIDのフィールドの前に現れたP-STD_buffer_bound_scaleとP-STD_buffer_boundにより算出されるバッファサイズが、当該拡張ストリームIDに対するバッファサイズであるとする。
現行のMPEG-2 Systems規格に則って生成されるデータは、extension_buffer_size_signaling_flag相当のビットはreservedであり、1となっている。そのため、新規に開発した機器では、拡張ストリームIDフィールドは現れないことになるが、再生時にエラーは発生しない。
(変形例1)
図10は、第2の実施形態の変形例を示している。図9との違いは、先に破線枠で示されるようにstream_id_extensionを含む第2拡張情報を送り、後から破線枠で示されるようにP-STD_buffer_bound_scaleとP-STD_buffer_boundを含む第1拡張情報送るようにしている点である。
(変形例2)
図11は、第2の実施形態の他の変形例を示している。図10と同様に、図9との違いは先に破線枠で示されるようにstream_id_extensionを含む第2拡張情報を送り、後から破線枠で示されるようにP-STD_buffer_bound_scaleとP-STD_buffer_boundを含む第1拡張情報を送るようにしている点である。
stream_id_extensionを送り、後からP-STD_buffer_bound_scaleとP-STD_buffer_boundを送る場合、図10と図11に示されるように破線枠内のFD,’11’,reservedおよびstream_id_extensionの順序が異なっていても構わない。
(データ多重化装置)
次に、図12を用いて第1または第2の実施形態で述べたデータ多重化方法を実現するデータ多重化装置について説明する。
MPEG規格に則ったビデオエレメンタリーストリーム(ES)1102、MPEG規格に則ったオーディオES1103、メタデータES1104およびSMPTE VC-1のようなMPEG以外の非MPEGビデオES1105がデータ多重化装置1101に入力される。データ多重化装置1101では、適当な多重化アルゴリズムに基づきビデオES1102、オーディオES1103、メタデータES1104および非MPEGビデオES1105がプログラムストリーム形式に多重化されることによって、プログラムストリーム1110が出力される。
パック生成制御部1109は、データ多重化装置1101全体の制御を司っており、まずパックヘッダ生成部1106を起動してパックヘッダを生成し、その後PESヘッダ生成部1107を起動してPESヘッダを生成する。次に、パック生成制御部1109は、パック生成部1108を起動してパックヘッダとPESヘッダをプログラムストリーム1110として出力した後、ビデオES1102、オーディオES1103、メタデータES1104、または非MPEGビデオES1105から適切なバイト数を切り取って、プログラムストリーム1110として出力する。パック生成制御部1109は、この動作を繰り返すことにより、プログラムストリームが図1に示した構造になるようにそれぞれの要素を多重化している。
(パックヘッダ生成部)
図13に示されるように、パックヘッダ生成部1106はパックヘッダ本体生成部1201、システムヘッダ生成部1202、パックヘッダ生成制御部1208およびパックヘッダ生成用スイッチ1207を有する。システムヘッダ生成部1202は、さらにシステムヘッダ本体生成部1203、基本バッファサイズ情報生成部1204、および拡張バッファサイズ情報生成部1205を含む。パックヘッダ生成制御部1208は、パック生成制御部1109からの起動信号を受けて動作を開始し、パックヘッダの生成が終了すると終了信号と次にパック生成部が処理すべきエレメンタリーストリームの種別をパック生成制御部1109に出力する。
システムヘッダ本体生成部1203は、図3中のsystem_header()の直後からreserved_bitsまでの情報を生成する。基本バッファサイズ情報生成部1204は、図3中の実線枠で囲まれた情報を生成する。拡張バッファサイズ情報生成部1205は、図3中の破線枠で囲まれた情報を生成する。
パックヘッダ生成制御部1208は、当該パックにシステムヘッダを含める場合、まず選択信号1206によりパックヘッダ生成用スイッチ1207がパックヘッダ本体生成部1201の出力を選択するようにパックヘッダ生成用スイッチ1207を制御する。次に、パックヘッダ生成制御部1208は、選択信号1206によりパックヘッダ生成用スイッチ1207がシステムヘッダ本体生成部1203の出力を選択するようにパックヘッダ生成用スイッチ1207を制御する。
次に、パックヘッダ生成制御部1208は、選択信号1206によりパックヘッダ生成用スイッチ1207が基本バッファサイズ情報生成部1204の出力を選択するようにパックヘッダ生成用スイッチ1207を制御する。基本IDの値が0xFDの場合、パックヘッダ生成制御部1208は、基本バッファサイズ情報(P-STD_buffer_size_bound)が0となるよう基本バッファサイズ情報生成部1204を制御し、次に選択信号1206によりパックヘッダ生成用スイッチ1207が拡張バッファサイズ情報生成部1205の出力を選択するようにパックヘッダ生成用スイッチ1207を制御する。
以降、必要な数の基本IDおよび拡張IDに対応する基本バッファサイズ情報および拡張バッファサイズ情報が生成される。当該パックに多重化すべきすべての情報が生成されると、パックヘッダ生成制御部1208は各生成部の動作を停止させ、次のパックの開始を待つ。
尚、図7に示す例に従ってシステムヘッダ生成部1202が動作する場合は、基本IDの値が0xFDのとき基本バッファサイズ情報(P-STD_buffer_size_scale およびP-STD_buffer_size_bound)が0となるようにパックヘッダ生成制御部1208は、基本バッファサイズ情報生成部1204を制御する。
さらに、図8に示す例に従ってシステムヘッダ生成部1202が動作する場合は、複数の拡張IDに対するバッファサイズの生成が図8に示すように連続するようにパックヘッダ生成制御部1208がパックヘッダ生成用スイッチ1207を制御する。
(データ多重化手順)
次に、図14を用いて図13のデータ多重化装置の動作手順について説明する。図14のフローチャートは、システムヘッダ中に基本ID(0xE0)用バッファサイズ(1808kB)と、拡張ストリームIDが0x55の拡張ID(0xFD)用バッファサイズ(1808kB)と、基本ID(0xC0)用バッファサイズ(8192B)の各バッファサイズ情報を記録してパックを生成する場合を例として、図3に示すデータ形式のプログラムストリームを生成する手順を示している。
パックの生成が開始されると、まずステップS1501でパックヘッダ本体が生成される。当該パックにシステムヘッダを記録する場合、ステップS1502でシステムヘッダ本体が生成される。次に、ステップS1503で基本ID用(0xE0)バッファサイズ(1808kB)を示す基本バッファサイズ情報の記録を以下のようにして行う。
stream_id = 0xE0
P-STD_buffer_bound_scale = 1
P-STD_buffer_size_bound = 1808 ( 1808 × 1kB = 1808kB )
最初に記録するバッファサイズ情報は基本ID用のものなので、ステップS1504で拡張バッファサイズの記録を行わないことが判断され、ステップS1506のバッファサイズ情報の記録を継続するかの判断が行われる。その結果、バッファサイズ情報の記録が継続するので、処理はステップS1503に戻り、拡張ストリームIDが0x55の拡張ID(0xFD)用バッファサイズ(1808kB)の拡張用バッファサイズ情報生成の前半部分が以下のようにして行われる。
stream_id = 0xFD
P-STD_buffer_bound_scale = 0
P-STD_buffer_size_bound = 0
( stream_id == 0xFD && P-STD_buffer_size_bound = 0 )
次に、ステップS1504で拡張バッファサイズ情報の記録を行うことが判断され、ステップS1505で拡張バッファサイズ情報の記録が以下のようにして行われる。
‘0xFD’ = 0xFD
‘11‘ = 0x3
Reserved = 0x7F
stream_id_extension = 0x55
‘0xFD’ = 0xFD
‘11‘ = 0x3
P-STD_buffer_bound_scale_extension = 1
P-STD_buffer_size_bound_extension = 1808 ( 1808 × 1kB = 1808kB )
次に、ステップS1506でバッファサイズ情報の記録が継続するかの判断が行われる。この場合、バッファサイズ情報の記録が継続するので、処理はステップS1503に戻り、基本ID用(0xC0)バッファサイズ(8192B)の生成が以下のようにして行われる。
stream_id = 0xC0
P-STD_buffer_bound_scale = 0
P-STD_buffer_size_bound = 64 ( 64 × 128B = 8192B )
次に、ステップS1506でバッファサイズ情報の記録が継続するかの判断が行われる。その結果、全てのバッファサイズ情報の記録が終了したと判断されるので、ステップS1507によりPESヘッダ生成が行われる。
次に、ステップS1508によりPESペイロード生成が行われ、一つのパックの生成が終了し、処理は処理の先頭に戻る。
(データ分離装置)
次に、図15を用いて第1または第2の実施形態で述べたデータ多重化方法により生成されるプログラムストリームから各データを分離するデータ分離装置について説明する。ここでは図3に示す方法により得られるプログラムストリームに対応したデータ分離動作について説明するが、図7、図8、図9、図10および図11に示す方法により得られるプログラムストリームに対しても図15のデータ分離装置は適用が可能である。
データ分離装置1301にプログラムストリーム1302が入力され、プログラムストリーム1302に多重化されていたMPEG規格に則ったビデオES1309、MPEG規格に則ったオーディオES1310、メタデータES1310およびMPEG以外の非MPEGビデオES1312が分離されて出力される。データ分離装置1301では、パック解釈制御部1303が全体を制御している。
パック解釈制御部1303はプログラムストリーム1302の内容を確認し、パックヘッダが入力されていると判断すると、プログラムストリーム1302がパックヘッダ解釈部1304に入力されるようにスイッチ1307を制御し、パックヘッダ解釈部1304を起動する。パックヘッダ解釈部1304ではパックヘッダの構造に従ってプログラムストリーム1302の解釈を行い、解釈終了時に終了信号をパック解釈制御部1303に送る。
続いて、パック解釈制御部1303はプログラムストリーム1302の内容を確認し、PESヘッダが入力されていると判断すると、プログラムストリーム1302がPESヘッダ解釈部1305に入力されるようにスイッチ1307を制御し、PESヘッダ解釈部1305を起動する。PESヘッダ解釈部1305ではPESヘッダの構造に従ってPESヘッダの解釈を行い、解釈終了時に終了信号と、PESヘッダに含まれるストリームID情報、および次に続くPESペイロードのバイト数情報をパック解釈制御部1303に送る。
続いて、パック解釈制御部1303はプログラムストリーム1302がPESペイロード抽出部1306に入力されるようにスイッチ1307を制御し、ストリームID情報に従って適切な出力先となるよう出力選択スイッチ1309を制御し、PESペイロードのバイト数分処理するようPESペイロード抽出部1306を起動する。PESペイロード抽出部1306は、PESペイロードのバイト数分処理すると、終了信号をパック解釈制御部1303に送る。
(パックヘッダ解釈部)
図16に示されるように、パックヘッダ解釈部1304には入力のプログラムストリーム1402とパックヘッダ解釈部1304の起動信号1410が入力され、パックヘッダ解釈の終了後、終了信号1411が出力される。
パックヘッダ解釈制御部1408に起動信号1410が入力されると、プログラムストリーム1402がパックヘッダ本体解釈部1403に入力されるようにパックヘッダ解釈制御部1408がスイッチ1409を制御し、パックヘッダ本体解釈部1403を起動する。パックヘッダ本体解釈部1403ではパックヘッダ本体の構造に従ってパックヘッダの解釈を行い、解釈終了時に終了信号をパックヘッダ解釈制御部1408に送る。
続いて、パックヘッダ解釈制御部1408はプログラムストリーム1402の内容を確認し、システムヘッダが入力されていないと判断すると終了信号1411を出力する。パックヘッダ解釈制御部1408はシステムヘッダが入力されていると判断すると、プログラムストリーム1402がシステムヘッダ本体解釈部1404に入力されるようにスイッチ1409を制御し、システムヘッダ本体解釈部1404を起動する。システムヘッダ本体解釈部1404ではシステムヘッダ本体の構造に従ってシステムヘッダの解釈を行い、解釈終了時に終了信号をパックヘッダ解釈制御部1408に送る。
続いて、パックヘッダ解釈制御部1408はプログラムストリーム1402の内容を確認し、基本バッファサイズ情報が入力されていないと判断すると終了信号1411を出力する。パックヘッダ解釈制御部1408は基本バッファサイズ情報が入力されていると判断すると、プログラムストリーム1402が基本バッファサイズ情報解釈部1405に入力されるようにスイッチ1409を制御し、基本バッファサイズ情報解釈部1405を起動する。基本バッファサイズ情報解釈部1405は図3の実線枠で囲まれた基本バッファサイズ情報の構造に従って基本バッファサイズ情報の解釈を行い、解釈終了時に終了信号と、次に拡張IDが続くかどうかの判別情報をパックヘッダ解釈制御部1408に送る。図3の例では、stream_idが0xFDであり、かつP-STD_buffer_size_boundが0である場合、次に拡張IDが続くという判別情報を送る。
次に拡張IDが続かない場合、パックヘッダ解釈制御部1408はプログラムストリーム1402の内容を確認し、基本バッファサイズ情報が入力されていないと判断すると終了信号1411を出力する。パックヘッダ解釈制御部1408は基本バッファサイズ情報が入力されていると判断すると、プログラムストリーム1402が基本バッファサイズ情報解釈部1405に入力されるようにスイッチ1409を制御し、基本バッファサイズ情報解釈部1405を起動する。以下、上述した動作を繰り返す。
次に拡張IDが続く場合、パックヘッダ解釈制御部1408はプログラムストリーム1402が拡張バッファサイズ情報解釈部1406に入力されるようスイッチ1409を制御し、拡張バッファサイズ情報解釈部1406を起動する。拡張バッファサイズ情報解釈部1406は図3の破線枠で囲まれた拡張バッファサイズ情報の構造に従って拡張バッファサイズ情報の解釈を行い、解釈終了時に終了信号をパックヘッダ解釈制御部1408に送る。ここで得られたP-STD_buffer_bound_scale_extensionおよびP-STD_buffer_size_bound_extensionにより算出されるバッファサイズが、当該拡張ストリームID(stream_id_extension)に対するバッファサイズとなる。
続いて、パックヘッダ解釈制御部1408はプログラムストリーム1402の内容を確認し、基本バッファサイズ情報が入力されているかいないかの判断を行う。以降の処理は上述の通りである。
(データ分離手順)
次に、図17を用いて図16のデータ分離装置の動作手順について説明する。図17のフローチャートに沿って、図3に示すデータ形式のプログラムストリームのシステムヘッダ中のバッファサイズ情報を記録する領域のデータ列が16進数表記で、E0 E7 10 FD C0 00 FD FF D5 FD E7 10 C0 C0 40 の場合を例にとりデータ分離動作を説明する。
パックの解釈が開始されると、まずステップS1601でパックヘッダ本体が解釈される。当該パックにシステムヘッダが記録されている場合、ステップS1602でシステムヘッダ本体が以下のように解釈される。
stream_id = 0xE0
P-STD_buffer_bound_scale = 1
P-STD_buffer_size_bound = 1808 ( 1808 × 1kB = 1808kB )
ここまでで、E0 E7 10の解釈が終了する。
このようにstream_idが0xFDではなく、P-STD_buffer_size_boundが0ではないため、「0xE0のstream_idに対するバッファサイズは1808kB」と解釈される。
ステップS1604で次に拡張バッファサイズ情報が記録されていないと判断し、ステップS1606で次にバッファサイズ情報が継続して記録されているかを判断する。ステップS1606では、次のデータ(0xFD)の先頭ビットが1であるかを判断する。この場合、0xFDの先頭ビットが1であるためステップS1603に戻り、次のバッファサイズ情報の解釈を以下のようにして行う。
stream_id = 0xFD
P-STD_buffer_bound_scale = 0
P-STD_buffer_size_bound = 0
ここまでで、FD C0 00の解釈が終了する。
ステップS1604では、
stream_id = 0xFD && P-STD_buffer_size_bound = 0
であるから拡張バッファサイズ情報が記録されていると判断し、ステップS1605を実行する。
ステップS1605では、
‘0xFD’ = 0xFD
‘11‘ = 0x3
Reserved = 0x7F
stream_id_extension = 0x55
‘0xFD’ = 0xFD
‘11‘ = 0x3
P-STD_buffer_bound_scale_extension = 1
P-STD_buffer_size_bound_extension = 1808( 1808 × 1kB = 1808kB )
を解釈する。ここまでで、FD FF D5 FD E7 10の解釈が終了する。この結果、「拡張ストリームIDが0x55に対するバッファサイズは1808kB」であると解釈される。
ステップS1606では、次のデータ(0xC0)の先頭ビットが1であるかを判断する。この場合、1であるためステップS1603に戻り、次のバッファサイズ情報の解釈を以下のようにして行う。
stream_id = 0xC0
P-STD_buffer_bound_scale = 0
P-STD_buffer_size_bound = 64 (64B × 128 = 8192B)
を解釈する。ここまでで、C0 C0 40の解釈が終了する。stream_idが0xFDではなく、P-STD_buffer_size_boundが0ではないため、「拡張ストリームIDが0x55に対するバッファサイズは8192B」であると解釈される。
ステップS1604で次に拡張バッファサイズ情報が記録されていないと判断し、ステップS1606で次にバッファサイズ情報が継続して記録されているかを判断する。それ以降はバッファサイズ情報が記録されていないため、ステップS1607のPESヘッダ解釈およびステップS1608のPESペイロード抽出を行い、次のパックの処理に移る。PESペイロード抽出時の出力は、ステップS1607で得られるストリームIDまたは拡張ストリームIDに対応したバッファサイズとなる。
(第3の実施形態)
次に、図18を用いて本発明のデータ多重化装置のパックヘッダ生成部のさらに別の実施形態について説明する。図18は、図13に示したパックヘッダ生成部のシステムヘッダ生成部1202の中で、基本バッファサイズ情報生成部1204および拡張バッファサイズ情報生成部1205の動作を擬似Cコードで示したものである。
拡張IDおよび拡張ストリームIDの組で表されるエレメンタリーストリームに対する拡張バッファサイズ情報を生成する場合、図18において、stream_idが基本ストリームIDまたは拡張IDではない0xB7(16進数)を選択し、0xB7を含む48ビットのデータ列を生成する。48ビットのデータ列は、2つの24ビットのデータ列から構成され、その詳細は、図18のif文が真の場合に示されているように、
(A)第1のフィールドである0xB7(8ビット、16進数)、第2のフィールドである110000000b(9ビット、2進数)、第3のフィールドであり拡張ストリームIDを示す8ビットのstream_id_extension、の合計24ビット、および、次に続く、
(B)第1のフィールドである0xB6(8ビット、16進数)、第2のフィールドである11b(2ビット、2進数)、第3のフィールドでありstream_id_extensionの拡張ストリームIDを持つエレメンタリーストリームの再生に必要なバッファバウンドスケール情報を示す1ビットのP-STD_buffer_bound_scale_extension、第4のフィールドでありstream_id_extensionの拡張ストリームIDを持つエレメンタリーストリームの再生に必要なバッファサイズバウンド情報を示す13ビットのP-STD_buffer_size_bound_extension、の合計24ビットである。尚、(A)に示した最初の8ビットは、図18のif文の上にあるstream_idに相当する。
一方、基本ストリームIDで表されるエレメンタリーストリームに対する基本バッファサイズ情報を生成する場合、stream_idとして基本ストリームIDの値を生成し、図18のif文が偽の場合(else)に示されているように、従来と同様のstream_id(8ビット), 11b(2ビット、2進数), P-STD_buffer_bound_scale(1ビット)、P-STD_buffer_size_bound(13ビット)の24ビット構造で基本バッファサイズ情報を生成する。
全ての拡張バッファサイズが同じサイズである場合、図18において、stream_id=0xFD(16進数)とし、図18のif文が偽の場合(else)に示された、P-STD_buffer_bound_scaleとP-STD_buffer_size_boundにて示される基本バッファサイズ情報を生成する。分離側ではstream_id=0xFDで表された基本バッファサイズ情報を取得した場合、その情報を全ての拡張バッファサイズ情報として扱うこととする。これにより、全ての拡張バッファのサイズが同じ値である場合、1組の24ビット構造(すなわち24ビット)だけで拡張バッファサイズ情報を表すことができるようになる。
尚、拡張バッファサイズ情報は、
if (P-STD_buffer_bound_scale_extension == ‘0’ ) {
(stream_id_extension用P-STDバッファサイズ)
= 128 * P-STD_buffer_size_bound_extension (バイト)
}
else {
(stream_id_extension用P-STDバッファサイズ)
= 1024 * P-STD_buffer_size_bound_extension (バイト)
}
として算出される。すなわち、拡張バッファサイズ情報は、
(a)P-STD_buffer_bound_scale_extensionの値が0の場合には、128×P-STD_buffer_size_bound_extensionバイト
(b)P-STD_buffer_bound_scale_extensionの値が0でない場合には、1024×P-STD_buffer_size_bound_extensionバイト
と算出される。
また、基本バッファサイズ情報は、
if (P-STD_buffer_bound_scale == ‘0’ ) {
(stream_id用P-STDバッファサイズ)
= 128 * P-STD_buffer_size_bound (バイト)
}
else {
(stream_id用P-STDバッファサイズ)
= 1024 * P-STD_buffer_size_bound (バイト)
}
として算出される。すなわち、基本バッファサイズ情報は、
(a)P-STD_buffer_bound_scaleの値が0の場合には、128×P-STD_buffer_size_boundバイト
(b)P-STD_buffer_bound_scaleの値が0でない場合には、1024×P-STD_buffer_size_boundバイト
と算出される。
(データ分離装置)
次に、図15を用いて第3の実施形態で述べたデータ多重化方法により生成されるプログラムストリームから各データを分離するデータ分離装置について説明する。ここでは図18に示す方法により得られるプログラムストリームに対応したデータ分離動作について説明する。
データ分離装置1301にプログラムストリーム1302が入力され、プログラムストリーム1302に多重化されていたMPEG規格に則ったビデオES1309、MPEG規格に則ったオーディオES1310、メタデータES1310およびMPEG以外の非MPEGビデオES1312が分離されて出力される。データ分離装置1301では、パック解釈制御部1303がデータ分離置の全体を制御している。
パック解釈制御部1303はプログラムストリーム1302の内容を確認し、パックヘッダが入力されていると判断すると、プログラムストリーム1302がパックヘッダ解釈部1304に入力されるようにスイッチ1307を制御し、パックヘッダ解釈部1304を起動する。パックヘッダ解釈部1304ではパックヘッダの構造に従ってプログラムストリーム1302の解釈を行い、解釈終了時に終了信号をパック解釈制御部1303に送る。
続いて、パック解釈制御部1303はプログラムストリーム1302の内容を確認し、PESヘッダが入力されていると判断すると、プログラムストリーム1302がPESヘッダ解釈部1305に入力されるようにスイッチ1307を制御し、PESヘッダ解釈部1305を起動する。PESヘッダ解釈部1305ではPESヘッダの構造に従ってPESヘッダの解釈を行い、解釈終了時に終了信号と、PESヘッダに含まれるストリームID情報、および次に続くPESペイロードのバイト数情報をパック解釈制御部1303に送る。
続いて、パック解釈制御部1303はプログラムストリーム1302がPESペイロード抽出部1306に入力されるようにスイッチ1307を制御し、ストリームID情報に従って適切な出力先となるよう出力選択スイッチ1309を制御し、PESペイロードのバイト数分を処理するようPESペイロード抽出部1306を起動する。PESペイロード抽出部1306は、PESペイロードのバイト数分を処理すると、終了信号をパック解釈制御部1303に送る。
(パックヘッダ解釈部)
図16に示されるように、パックヘッダ解釈部1304には入力のプログラムストリーム1402とパックヘッダ解釈部1304の起動信号1410が入力され、パックヘッダ解釈の終了後、終了信号1411が出力される。
パックヘッダ解釈制御部1408に起動信号1410が入力されると、プログラムストリーム1402がパックヘッダ本体解釈部1403に入力されるようにパックヘッダ解釈制御部1408がスイッチ1409を制御し、パックヘッダ本体解釈部1403を起動する。パックヘッダ本体解釈部1403ではパックヘッダ本体の構造に従ってパックヘッダの解釈を行い、解釈終了時に終了信号をパックヘッダ解釈制御部1408に送る。
続いて、パックヘッダ解釈制御部1408はプログラムストリーム1402の内容を確認し、システムヘッダが入力されていないと判断すると終了信号1411を出力する。パックヘッダ解釈制御部1408はシステムヘッダが入力されていると判断すると、プログラムストリーム1402がシステムヘッダ本体解釈部1404に入力されるようにスイッチ1409を制御し、システムヘッダ本体解釈部1404を起動する。システムヘッダ本体解釈部1404ではシステムヘッダ本体の構造に従ってシステムヘッダの解釈を行い、解釈終了時に終了信号をパックヘッダ解釈制御部1408に送る。
続いて、パックヘッダ解釈制御部1408はプログラムストリーム1402の内容を確認し、基本バッファサイズ情報または拡張バッファサイズ情報が入力されていないと判断すると終了信号1411を出力する。パックヘッダ解釈制御部1408はプログラムストリーム1402の内容を確認し、基本バッファサイズ情報または拡張バッファサイズ情報が入力されていると判断すると、基本バッファサイズ情報が入力されているのか、拡張バッファサイズ情報が入力されているのかを判断する。
基本バッファサイズ情報が入力されている場合は、パックヘッダ解釈制御部1408は基本バッファサイズ情報解釈部1405にプログラムストリーム1402が入力されるようにスイッチ1409を制御し、基本バッファサイズ情報解釈部1405を起動する。基本バッファサイズ情報解釈部1405は図18のstream_id(8ビット)とelse文の内容(合計16ビット)の構造に従って基本バッファサイズ情報の解釈を行い、解釈終了時に終了信号をパックヘッダ解釈制御部1408に送る。
拡張バッファサイズ情報が入力されている場合は、パックヘッダ解釈制御部1408は拡張バッファサイズ情報解釈部1406にプログラムストリーム1402が入力されるようにスイッチ1409を制御し、拡張バッファサイズ情報解釈部1406を起動する。拡張バッファサイズ情報解釈部1406は図18のstream_id(8ビット)とif文の内容(合計40ビット)の構造に従って拡張バッファサイズ情報の解釈を行い、解釈終了時に終了信号をパックヘッダ解釈制御部1408に送る。図18に示す構造の例では、stream_id_extensionで示された拡張ストリームIDに対するバッファサイズは、P-STD_buffer_bound_scale_extensionとP-STD_buffer_size_bound_extensionにより算出されたサイズとなる。
パックヘッダ解釈制御部1408は、続いて、別の基本バッファサイズ情報または拡張バッファサイズ情報が入力されているかを判断し、基本バッファサイズ情報または拡張バッファサイズ情報の入力が続いている場合は、基本バッファサイズ情報または拡張バッファサイズ情報の解釈を継続する。別の基本バッファサイズ情報または拡張バッファサイズ情報が入力されていない場合、終了信号1411を出力してバックヘッダ解釈部1304は動作を停止する。
次に、図15のデータ分離装置により図18に従って生成されたデータの分離方法を図19のフローチャートに沿って説明する。図18に示すデータ形式のプログラムストリームのシステムヘッダ中のバッファサイズ情報を記録する領域のデータ列が16進数表記で、E0 E7 10 B7 C0 55 B6 CB A5 00の場合を例にとりデータ分離動作を説明する。
パックの解釈が開始されると、まずステップS1901でパックヘッダ本体が解釈される。当該パックによるシステムヘッダが記録されていない場合、ステップS1902は即座に終了し、PES解釈を行うため、PESヘッダ解釈ステップS1907を実行する。システムヘッダが記録されている場合、ステップS1902でシステムヘッダ本体を解釈し、その後、ステップS1906に移り、バッファサイズ情報の解釈と確認を行う。
上述したように、この例では、システムヘッダ中のバッファサイズ情報に関するデータ列がE0 E7 10 B7 C0 55 B6 CB A5 00となっており、最初の1ビットが‘1’であるため、ステップS1906では、バッファサイズ情報が存在するとことが判断され、処理がステップS1904に移り、バッファサイズの種類が確認される。ステップS1904では、最初の8ビットがE0のため、基本バッファサイズ情報が記録されているとことが判断され、ステップS1903の基本バッファサイズ情報の解釈が実行される。ステップS1903では、E0の基本ストリームIDに対する基本バッファサイズ情報が解釈される。続く16ビットのデータ列はE7 10であるため、図18より、
stream_id = 0xE0
P-STD_buffer_bount_scale = 1
P-STD_buffer_size_bound = 1808(10進数)
すなわち、基本バッファサイズは1808kBであるという解釈が行われる。続いて、処理はステップS1906に戻る。この時点でシステムヘッダ中のバッファサイズ情報に関するデータ列がB7 C0 55 B6 CB A5 00となっており、最初の1ビットが‘1’であるため、ステップS1906では、バッファサイズ情報が存在することが判断され、処理はステップS1904に移り、バッファサイズの種類が確認される。ステップS1904では、最初の8ビットがB7のため、拡張バッファサイズ情報が記録されていることが判断され、ステップS1905の拡張バッファサイズ情報の解釈が実行される。ステップS1905では、B7に続く16ビット(C0 55)が読み込まれ、拡張ストリームID(stream_id_extension)が0x55であるという解釈が行われる。次に8ビットの0xB6が読み込まれ、続く16ビットはCB A5であるため、図18より、
stream_id_extension = 0x55
P-STD_buffer_bount_scale_extension = 0
P-STD_buffer_size_bound_extension = 2981(10進数)
すなわち、拡張バッファサイズは381,568Byte(=2981×128)であるという解釈が行われる。続いて、処理はステップS1906に戻る。この時点でシステムヘッダ中のバッファサイズ情報に関するデータ列が00となっており、最初の1ビットが‘0’であるため、ステップS1906では、バッファサイズ情報が存在しないことが判断され、ステップS1907のPESヘッダ解釈およびステップS1908のPESペイロードが抽出される。
次に、図18に示すデータ形式のプログラムストリームのシステムヘッダ中のバッファサイズ情報を記録する領域のデータ列が16進数表記で、E0 E7 10 FD C0 55 B6 CB A5 00の場合を例にとり、他の実施形態に関するデータ分離動作を説明する。
最初の3バイトはE0 E7 10なので、上述した実施例で説明したように、
stream_id = 0xE0
P-STD_buffer_bount_scale = 1
P-STD_buffer_size_bound = 1808(10進数)
と解釈される。
続くFD C0 55 B6 CB A5は、
stream_id = 0xFD
P-STD_buffer_bount_scale = 0
P-STD_buffer_size_bound = 2981(10進数)
と解釈される。ここで、stream_idが0xFDであるため、P-STD_buffer_bount_scaleとP-STD_buffer_size_boundの組で表現される基本バッファサイズ情報は、拡張ストリームIDを用いてPES化される全てのエレメンタリーストリームの拡張バッファサイズとして解釈され、そのサイズは381,568Byte(=2981×128)と解釈される。
尚、本実施形態では特定のstream_id(0xB7)や特定の値(0xB6)を用いているが、これらの値はMPEG-2システム規格で有効な値として規定されている0xB8〜0xFF以外の値であれば、原理的にはどの値を用いても問題はない。また、ifクローズ中の’00 0000 0’についても、この値が望ましい値ではあるが、本発明の主旨としては、必ずしも、この値であるという必然性はない。
上述した本発明によると、拡張IDと対で示される基本バッファサイズ情報が0バイトをとる場合、現状の規格と同じ構造を保ちつつ拡張ストリームIDと拡張バッファサイズ情報のペアを記録する。また、将来の拡張に確保していた領域に、拡張ストリームID用の拡張バッファサイズ情報を記録するか否かを示すフラグ情報を設け、現状の規格と同じ構造を保ちつつ拡張ストリームIDと拡張バッファサイズ情報のペアを記録する。
呪術した本発明によれば、拡張ストリームIDおよび拡張バッファサイズ情報のペアは、既存の機器では現行のMPEG-2 Systems規格に沿って再生エラーを発生することなく解釈されることによりプログラムストリームが正しく再生され、バックワードコンパチビリティが確保される。一方、新しい機器に現行のMPEG-2 Systems規格に則って生成されたプログラムストリームを入力した場合でも、再生エラーが発生することなく解釈されることにより正しく再生され、フォワードコンパチビリティが確保される。
以上説明した各実施形態に基づくデータ多重化の処理およびデータ分離の処理は、ハードウェアでも実現可能であるが、パーソナルコンピュータのようなコンピュータを用いてソフトウェアにより実行することも可能である。従って、本発明によれば上述したデータ多重化の処理を行うプログラム、データ分離の処理を行うプログラム、あるいは当該プログラムを格納したコンピュータ読み取り可能な記憶媒体を提供することができる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
本発明にかかるデータ多重化/分離方法および装置は、通信メディア、蓄積メディアおよび放送メディアなどにおけるビデオデータ、オーディオデータおよびメタデータの符号化データの多重化及び分離化に使用される。

Claims (4)

  1. ビデオデータ、オーディオデータ、およびメタデータのうち、少なくともひとつのデータを表すエレメンタリーストリームを入力する入力部と、
    前記エレメンタリーストリームを分割して複数のPESペイロードを生成するPESペイロード生成部と、
    前記複数のPESペイロードの各々に、当該PESペイロードに含まれるデータを識別するための、(A)8ビットで表現可能な所定の範囲の値である基本ストリームID又は(B)前記所定の範囲の外の8ビットで表現可能な値である拡張IDおよび7ビットで表現可能な値である拡張ストリームIDの組、のいずれかを含むPESヘッダを付加して、前記複数のPESペイロードの各々にそれぞれ対応する複数のPESパケットを生成するPESパケット生成部と、
    前記基本ストリームIDを示す8ビットの第1フィールド、前記第1フィールドに続く2ビットの第2フィールド、前記基本ストリームIDによって識別されるエレメンタリーストリームの再生に必要なバッファバウンドスケール情報を示す前記第2フィールドに続く1ビットの第3フィールド、および、当該エレメンタリーストリームの再生に必要なバッファサイズバウンド情報を示す前記第3フィールドに続く13ビットの第4フィールドからなる24ビットの基本ストリームID用バッファサイズ情報を生成する基本バッファサイズ情報生成部と、
    前記所定の範囲の外の8ビットで表現可能な値であって前記拡張IDとは異なる値である第一の識別IDを示す8ビットの第1フィールド、前記第1フィールドに続く9ビットの第2フィールド、および、拡張ストリームIDを示す前記第2フィールドに続く7ビットの第3フィールドからなる24ビットの情報(C)、および、前記所定の範囲の外の8ビットで表現可能な値であって前記拡張IDとも前記第一の識別IDとも異なる値である第2の識別IDを示す8ビットの第1フィールド、前記第1フィールドに続く2ビットの第2フィールド、前記第2フィールドに続く前記拡張IDと前記拡張ストリームIDとの組によって識別されるエレメンタリーストリームの再生に必要なバッファバウンドスケール情報を示す前記第2フィールドに続く1ビットの第3フィールド、および、当該エレメンタリーストリームの再生に必要なバッファサイズバウンド情報を示す前記第3フィールドに続く13ビットの第4フィールドからなる24ビットの情報(D)、を含む48ビットの拡張ストリームID用バッファサイズ情報を生成する拡張バッファサイズ情報生成部と、
    前記PESパケットの各々に対応するエレメンタリーストリームを再生するための前記基本バッファサイズ情報および前記拡張バッファサイズ情報を含むシステムヘッダを含んだパックヘッダを、前記複数のPESパケットを並べたPESパケット列に付加してパックを生成するパック生成部と、
    前記パックをプログラムストリームとして出力する出力部と、
    を具備するデータ多重化装置。
  2. 請求項1記載のデータ多重化装置において、
    拡張IDおよび拡張ストリームIDの組によって識別され、拡張バッファサイズ情報が同じ値を持つ複数のエレメンタリーストリームを多重化する場合、もしくは、拡張IDおよび拡張ストリームIDの組によって識別される一つのエレメンタリーストリームを多重化する場合、前記基本バッファサイズ情報生成部は、基本ストリームIDを示す8ビットの第1フィールドの値を0xFDに設定するとともに、前記第1フィールド、前記第1フィールドに続く2ビットの第2フィールド、前記第2フィールドに続く1ビットの第3フィールド、および、前記第3フィールドに続く13ビットの第4フィールドからなる24ビットにて前記拡張バッファサイズ情報を生成する、データ多重化装置。
  3. 請求項1又は2記載のデータ多重化装置により生成される前記プログラムストリームから前記エレメンタリーストリームを分離するデータ分離装置であって、
    前記プログラムストリームを入力する入力部と、
    前記パックヘッダを解釈するパックヘッダ解釈部と、
    前記PESヘッダを解釈するPESヘッダ解釈部と、
    前記PESペイロードを抽出して前記エレメンタリストームを得るPESペイロード抽出部と、
    前記プログラムストリームに対する処理先を選択する入力選択部と、
    前記エレメンタリーストリームの出力先を選択する出力選択部と、
    前記パックヘッダ解釈部、前記PESヘッダ解釈部、前記PESペイロード抽出部、前記入力選択部および前記出力選択部の動作を制御するパック解釈制御部と、を具備し、
    前記パックヘッダ解釈部は、
    前記パックヘッダの処理先を選択するパックヘッダ入力選択部と、
    前記パックヘッダ本体を解釈するパックヘッダ本体解釈部と、
    前記システムヘッダ本体を解釈するシステムヘッダ本体解釈部と、
    前記基本バッファサイズ情報を解釈する基本バッファサイズ情報解釈部と、
    前記拡張バッファサイズ情報を解釈する拡張バッファサイズ情報解釈部と、
    前記パックヘッダ入力選択部、前記パックヘッダ本体解釈部、前記システムヘッダ本体解釈部、前記基本バッファサイズ情報解釈部および前記拡張バッファサイズ情報解釈部の動作を制御するパックヘッダ解釈制御部を有し、
    前記パックヘッダ解釈制御部は、前記パック生成制御部から動作開始の指示を受けた際、前記パックヘッダ本体解釈部を起動し、システムヘッダの解釈を行う場合には前記システムヘッダ本体解釈部、前記基本バッファサイズ情報解釈部および前記拡張バッファサイズ情報解釈部のいずれかひとつ、または両方を起動する、データ分離装置。
  4. 請求項3記載のデータ分離装置において、
    前記基本バッファサイズ情報解釈部は、基本ストリームIDを示す8ビットの第1フィールドが0xFDの場合、続く16ビットによって示される基本バッファサイズ情報を、全ての拡張IDおよび拡張ストリームIDの組によってPES化される1つ以上のエレメンタリーストリームに対する拡張バッファサイズ情報であると解釈する、データ分離装置。
JP2008524887A 2007-02-19 2008-02-18 データ多重化/分離装置 Expired - Fee Related JP4181212B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2007038673 2007-02-19
JP2007038673 2007-02-19
JP2007117668 2007-04-26
JP2007117668 2007-04-26
PCT/JP2008/052666 WO2008102732A1 (ja) 2007-02-19 2008-02-18 データ多重化/分離装置

Publications (2)

Publication Number Publication Date
JP4181212B2 true JP4181212B2 (ja) 2008-11-12
JPWO2008102732A1 JPWO2008102732A1 (ja) 2010-05-27

Family

ID=39710009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008524887A Expired - Fee Related JP4181212B2 (ja) 2007-02-19 2008-02-18 データ多重化/分離装置

Country Status (12)

Country Link
US (1) US7907633B2 (ja)
EP (1) EP2114075A4 (ja)
JP (1) JP4181212B2 (ja)
KR (1) KR100983173B1 (ja)
CN (1) CN101543072B (ja)
AU (1) AU2008218064B2 (ja)
BR (1) BRPI0804514A2 (ja)
CA (1) CA2661600A1 (ja)
MX (1) MX2009001858A (ja)
RU (1) RU2402176C1 (ja)
TW (1) TW200841741A (ja)
WO (1) WO2008102732A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BRPI0804514A2 (pt) 2007-02-19 2011-08-30 Toshiba Kk Toshiba Corp aparelho de multiplexação/demultiplexação de dados
CN101668198B (zh) * 2009-09-16 2011-06-15 深圳市同洲电子股份有限公司 一种推送视频及数据内容实现本地点播的方法及***
US20110145875A1 (en) * 2009-12-11 2011-06-16 Electronics And Telecommunications Research Institute Mobile set-top box and method for providing internet protocol television service using the same
KR101257068B1 (ko) 2009-12-11 2013-05-02 한국전자통신연구원 이동형 셋탑박스 및 이를 이용한 인터넷 프로토콜 텔레비젼 서비스 제공 방법
EP2362653A1 (en) 2010-02-26 2011-08-31 Panasonic Corporation Transport stream packet header compression
JP6035704B2 (ja) * 2011-03-18 2016-11-30 セイコーエプソン株式会社 周辺装置、管理装置及び機種情報送信方法
KR101501344B1 (ko) * 2012-05-02 2015-03-10 삼성전자주식회사 멀티미디어 서비스 송수신 방법 및 장치
EP2779578B1 (en) * 2013-03-15 2019-11-20 Samsung Electronics Co., Ltd. Data Transmitting Apparatus, Data Receiving Apparatus, Data Transceiving System, Method for Transmitting Data, and Method for Receiving Data
EP2779577B1 (en) 2013-03-15 2019-05-01 Samsung Electronics Co., Ltd. Data transmitting apparatus, data receiving apparatus, data transceiving system, method for transmitting data, and method for receiving data
GB2524333A (en) * 2014-03-21 2015-09-23 Nokia Technologies Oy Audio signal payload
KR20150128151A (ko) * 2014-05-08 2015-11-18 삼성전자주식회사 비디오 스트리밍 방법 및 이를 지원하는 전자 장치
CN117612539A (zh) * 2016-05-30 2024-02-27 索尼公司 视频音频处理设备、视频音频处理方法和存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3216534B2 (ja) * 1996-08-29 2001-10-09 三菱電機株式会社 多重化方法
KR100563754B1 (ko) * 1997-07-18 2006-03-24 소니 가부시끼 가이샤 이미지 신호를 다중화하는 방법 및 시스템, 이미지 신호를 역다중화하는 방법 및 시스템 및, 전송 매체
US6404781B1 (en) * 1997-09-02 2002-06-11 Hitachi, Ltd. Data transmission method for embedded data, data transmitting and reproducing apparatuses and information recording medium therefor
JP3709721B2 (ja) * 1997-10-03 2005-10-26 ソニー株式会社 符号化ストリームスプライシング装置及び符号化ストリームスプライシング方法、符号化ストリーム生成装置及び符号化ストリーム生成方法、並びに情報処理装置及び方法
US7058965B1 (en) * 1999-04-15 2006-06-06 Sedna Patent Services, Llc Multiplexing structures for delivery of interactive program guide
ID29036A (id) * 1999-10-26 2001-07-26 Matsushita Electric Ind Co Ltd Sistem siaran berbasis-penyimpanan, pemancar dan penerima
JP2001285234A (ja) * 2000-04-04 2001-10-12 Sony Corp データ多重化装置およびデータ多重化方法、並びに記録媒体
US7660328B1 (en) * 2001-04-03 2010-02-09 Bigband Networks Inc. Method and system for generating, transmitting and utilizing bit rate conversion information
US7933411B2 (en) 2002-06-28 2011-04-26 Trident Microsystems (Far East) Ltd. Method of constructing MPEG program streams from encrypted MPEG transport streams
WO2004052021A1 (en) 2002-12-04 2004-06-17 Koninklijke Philips Electronics N.V. Method of automatically testing audio/video synchronization
US7499469B2 (en) * 2003-01-13 2009-03-03 Broadcom Corporation Method and system for generating digital video broadcast (DVB) transport stream from direct satellite system (DSS) transport stream
EP1599043A4 (en) * 2003-02-04 2011-08-10 Panasonic Corp CODING METHOD AND DEVICE THEREFOR
US7380028B2 (en) * 2003-06-13 2008-05-27 Microsoft Corporation Robust delivery of video data
US8199781B2 (en) * 2004-12-14 2012-06-12 Samsung Electronics Co., Ltd Device and method for demultiplexing received transport stream in digital broadcasting receiver
CN100512091C (zh) * 2005-01-25 2009-07-08 华为技术有限公司 一种多路数据信号处理方法和装置
US8194707B2 (en) * 2005-02-28 2012-06-05 Broadcom Corporation Method and system for dynamically allocating video multiplexing buffer based on queuing theory
JP4372031B2 (ja) * 2005-03-10 2009-11-25 株式会社東芝 信号処理装置及び信号処理方法
JP4678486B2 (ja) * 2005-03-11 2011-04-27 ソニー株式会社 多重化装置および多重化方法、プログラム、並びに記録媒体
JP2006260611A (ja) * 2005-03-15 2006-09-28 Toshiba Corp 情報記憶媒体、情報再生装置、情報再生方法、及びネットワーク通信システム
US7643513B2 (en) * 2005-11-30 2010-01-05 Broadcom Corporation Method and system for audio and video transport
BRPI0804514A2 (pt) 2007-02-19 2011-08-30 Toshiba Kk Toshiba Corp aparelho de multiplexação/demultiplexação de dados

Also Published As

Publication number Publication date
RU2402176C1 (ru) 2010-10-20
WO2008102732A1 (ja) 2008-08-28
EP2114075A1 (en) 2009-11-04
CA2661600A1 (en) 2008-08-28
AU2008218064B2 (en) 2010-08-19
US20090154499A1 (en) 2009-06-18
CN101543072B (zh) 2011-06-01
KR20090082343A (ko) 2009-07-30
RU2009105875A (ru) 2010-08-27
TW200841741A (en) 2008-10-16
JPWO2008102732A1 (ja) 2010-05-27
BRPI0804514A2 (pt) 2011-08-30
EP2114075A4 (en) 2010-11-03
AU2008218064A1 (en) 2008-08-28
US7907633B2 (en) 2011-03-15
KR100983173B1 (ko) 2010-09-20
CN101543072A (zh) 2009-09-23
MX2009001858A (es) 2009-04-15

Similar Documents

Publication Publication Date Title
JP4181212B2 (ja) データ多重化/分離装置
KR101073950B1 (ko) 정보 처리 장치 및 정보 처리 방법, 및 기록 매체
JP4536659B2 (ja) データ処理装置及びデータ処理方法
EP1316959B1 (en) After-recording apparatus
JP6863271B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
WO2018088220A1 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
JP6500895B2 (ja) 情報処理装置、情報生成装置、情報記録媒体、および情報処理方法、並びにプログラム
WO2018190122A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP7014157B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
US20070245395A1 (en) Video reproducing apparatus
JP2009260643A (ja) データストリーム解析装置、復号装置及びデータストリーム解析方法
JPWO2004008758A1 (ja) Avデータ変換装置および方法
JP4485728B2 (ja) ストリーム変換方法および装置、並びにストリーム記録方法および装置
KR20010100292A (ko) 디지털 텔레비젼 시스템의 ac-3 오디오 수신 장치 및그 처리 방법
JP2006050387A (ja) データ再生方法、およびデータ再生装置
US20230215443A1 (en) Signal processing apparatus, encoding method, and signal processing system
JP2019040647A (ja) 電子装置及び方法
JP2009194758A (ja) 映像記録装置、映像再生装置、映像記録再生システム、方法、およびプログラム
JP6684433B2 (ja) 送信装置、送信方法、並びに、プログラム
KR101156682B1 (ko) 전송 프레임의 생성 방법과 장치 및 전송 프레임의 처리방법과 장치
JP2015153441A (ja) 情報処理装置、情報記録装置、情報記録媒体、および情報処理方法、並びにプログラム
WO2006025338A1 (ja) 情報記録媒体並びに多重化装置および復号化装置
JPH1127154A (ja) 画像信号及び音声信号の符号化復号化方法
JP2001275109A (ja) 符号化データ記録方法および記録装置
JP2011135277A (ja) ストリーム情報抽出方法およびストリーム情報抽出装置

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080724

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

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

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

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees