JP3770249B2 - 多重化装置及び方法 - Google Patents
多重化装置及び方法 Download PDFInfo
- Publication number
- JP3770249B2 JP3770249B2 JP2003137766A JP2003137766A JP3770249B2 JP 3770249 B2 JP3770249 B2 JP 3770249B2 JP 2003137766 A JP2003137766 A JP 2003137766A JP 2003137766 A JP2003137766 A JP 2003137766A JP 3770249 B2 JP3770249 B2 JP 3770249B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- command
- instruction
- stream
- multiplexed
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/23611—Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/2365—Multiplexing of several video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/2368—Multiplexing of audio and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4341—Demultiplexing of audio and video streams
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Time-Division Multiplex Systems (AREA)
- Television Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
【発明の属する技術分野】
例えば、複数チャネルのビデオデータ、オーディオデータ等を多重化する多重化装置及び多重化方法に関するものである。
【0002】
【従来の技術】
デジタルコンテンツのネットワーク配信を行う場合、一般に、複数のエンコーダから出力されたビデオデータ、オーディオデータ、テキストデータ、プログラムデータ、その他の伝送に必要なシステムデータといった複数のエレメンタリストリームを多重化装置により多重化して配信が行われる。
【0003】
【特許文献1】
特開平9―261192号公報
【特許文献2】
特開平11―340936号公報
【特許文献3】
特開平11―234634号公報
【0004】
【発明が解決しようとする課題】
ネットワーク配信に用いられる多重化装置は、通常、複数のエンコーダから出力されたエレメンタリストリームを格納するランダムアクセスメモリ(RAM)と、RAMに格納されたエレメンタリストリームを読み出して出力端子へ出力するダイナミックメモリアクセス(DMA)回路と、中央制御装置(CPU)とから構成される(特許文献1〜3参照。)。このような構成の通常の多重化装置では、CPUが、RAMに格納されたエレメンタリストリームを常時監視し、RAMに格納されているデータが出力タイミングとなったときにDMAに対してデータ転送命令を与える。DMAは、CPUから転送命令が与えられると、CPUにより指定されたアドレスからデータを読み出して外部に転送する。このように通常の多重化装置では、CPUがRAM内のデータの管理及びDMAの制御を直接的且つ常時行って、多重化ストリームを生成している。
【0005】
しかしながら、以上のような多重化装置では、CPUの処理負担が非常に大きくなってしまうという問題点がある。
【0006】
また、多重化ストリームの出力タイミングに同期させて任意のデータ処理を行う場合がある。例えば、多重化ストリーム中の特定の位置にスタッフィングデータやパディングデータと呼ばれるダミーデータを挿入する処理、多重化ストリーム中の特定の位置のデータを出力直前に削除する処理、多重化ストリーム中の特定の位置にそのときの出力時間情報等の任意のデータを挿入する処理、及び、多重化ストリームの特定の位置の出力タイミングをCPUや外部に発信する処理等の各種のデータ処理を行う場合がある。
【0007】
このような場合、多重化装置では、多重化ストリーム中の特定の位置に予めエレメンタリデータ以外の識別子やコマンド等を挿入しておき、出力段においてこの識別子等を検出し、検出した識別子の位置で以上の処理を行うのが一般的である。
【0008】
しかしながら、多重化ストリーム中に識別子を挿入した場合、本来のエレメンタリデータのデータ列を識別子として誤認識してしまう可能性がある。
【0009】
このような誤認識を回避する方法として、例えばパケットやパックの先頭部分のみに識別子を挿入するといったように識別子の挿入位置を制限する方法も考えられるが、この回避方法の場合には、データ処理を行わせる位置の自由度が小さくなってしまうという問題点がある。さらに他の回避方法として、識別子の挿入位置のアドレスを別途レジスタなどに保持しておくという方法も考えられるが、この回避方法の場合、一定期間内に挿入できる識別子の数が装置内のレジスタ数に制限されてしまうという問題点がある。
【0010】
また、多重化装置では、各エンコーダから出力されたエレメンタリストリームが格納されるRAMがオーバーフローしたりアンダーフローしたりしないように、RAMの占有量をCPUが、直接的且つ常時、管理している。
【0011】
しかしながら、このようにCPUが、直接的且つ常時、RAMの占有量を管理した場合、CPUの処理負担が非常に大きくなってしまうという問題点がある。
【0012】
また、複数の多重化ストリームを同時に出力する場合、出力する多重化ストリーム数分の多重化装置が必要であった。例えば、多重化ストリームをハードディスクに記録しながら、同じコンテンツの他の多重化ストリームを同時にネットワークで配信する場合には、ハードディスクに転送する多重化ストリームを生成する多重化装置と、ネットワークに配信する多重化ストリームを生成する多重化装置との、2つを用いたシステムを構築しなければならない。
【0013】
しかしながら、このように複数の多重化装置を用いたシステムは、CPUやDMA等も2つ必要となってしまい、ハードウェア規模が大きくなるという問題点がある。
【0014】
本発明は、このような実情を鑑みてなされたものであり、コントローラの処理負担を軽減させた多重化装置及び多重化方法を提供することを目的とする。
【0015】
また、本発明は、多重化ストリームの出力タイミングに同期させて行うデータ処理を確実に行い、且つ、その処理タイミングの自由度を大きくした多重化装置及び多重化方法を提供することを目的とする。
【0016】
また、本発明は、複数の多重化ストリームを出力可能であり、回路規模を小さくした多重化装置及び多重化方法を提供することを目的とする。
【0017】
【課題を解決するための手段】
本発明に係る多重化装置は、複数本のエレメンタリデータストリームを多重化して1つの多重化ストリームを生成する多重化装置であって、複数本のエレメンタリデータストリームが入力され、入力された各エレメンタリデータストリームを格納するメモリと、任意量の連続したエレメンタリデータストリームから構成されるデータユニットの上記メモリ内における格納位置を示す多重化インストラクションデータをデータユニットの1つ一つに対応して生成するとともに、多重化ストリーム上の任意の位置で実行されるデータ処理の実行命令が示されたコマンドインストラクションデータを生成し、生成した上記多重化インストラクションデータ及びコマンドインストラクションデータをデータユニット及び実行命令の多重化順序に従って上記メモリに格納するインストラクション生成手段と、上記多重化インストラクションデータ及びコマンドインストラクションデータを上記メモリから1つずつ順番に読み出し、多重化インストラクションデータを読み出した場合には、その多重化インストラクションデータに示されている格納位置からデータユニットを読み出して出力し、コマンドインストラクションデータを読み出した場合には、そのコマンドインストラクションデータに示されている実行命令が記述されたコマンドデータを出力することにより、エレメンタリデータストリーム及びコマンドデータが含まれている1つの多重化ストリームを生成する多重化ストリーム生成手段と、上記多重化ストリーム生成手段から出力された多重化ストリームが入力され、入力された多重化ストリーム中のデータ列がコマンドデータである場合には、当該コマンドデータに示されている命令内容に応じた処理を行い、入力された多重化ストリーム中のデータ列が上記エレメンタリデータストリームである場合には、入力された多重化ストリームをそのまま出力するコマンド実行手段とを備える。
【0020】
上記多重化装置では、多重化順序が示された多重化インストラクションデータ及びを所定のデータ実行命令が示されたコマンドインストラクションデータを生成して上記メモリに格納し、当該メモリに格納された多重化インストラクションデータ及びコマンドインストラクションデータに従い順番に多重化及びデータ処理を行う。
【0027】
本発明に係る多重化方法は、複数本のエレメンタリデータストリームを多重化して1つの多重化ストリームを生成する多重化方法であって、複数本のエレメンタリデータストリームを入力し、入力した各エレメンタリデータストリームをメモリに格納し、任意量の連続したエレメンタリデータストリームから構成されるデータユニットの上記メモリ内における格納位置を示す多重化インストラクションデータをデータユニットの1つ一つに対応して生成するとともに、多重化ストリーム上の任意の位置で実行されるデータ処理の実行命令が示されたコマンドインストラクションデータを生成し、生成した上記多重化インストラクションデータ及びコマンドインストラクションデータをデータユニット及び実行命令の多重化順序に従って上記メモリに格納し、上記多重化インストラクションデータ及びコマンドインストラクションデータを上記メモリから1つずつ順番に読み出し、多重化インストラクションデータを読み出した場合には、その多重化インストラクションデータに示されている格納位置からデータユニットを読み出して出力し、コマンドインストラクションデータを読み出した場合には、そのコマンドインストラクションデータに示されている実行命令が記述されたコマンドデータを出力することにより、エレメンタリデータストリーム及びコマンドデータが含まれている1つの多重化ストリームを生成し、上記多重化ストリームが入力され、入力された多重化ストリーム中のデータ列がコマンドデータである場合には、当該コマンドデータに示されている命令内容に応じた処理を行い、入力された多重化ストリーム中のデータ列が上記エレメンタリデータストリームである場合には、入力された多重化ストリームをそのまま出力する。
【0028】
上記多重化方法では、多重化順序が示された多重化インストラクションデータ及びを所定のデータ実行命令が示されたコマンドインストラクションデータを生成して上記メモリに格納し、当該メモリに格納された多重化インストラクションデータ及びコマンドインストラクションデータに従い順番に多重化及びデータ処理を行う。
【0033】
【発明の実施の形態】
第1の実施の形態
本発明の第1の実施の形態として、ビデオデータとオーディオデータとを多重化したネットワーク配信用の2本の多重化ストリーム(第1及び第2の多重化ストリームMS0, MS1)を生成して、これらを同時に出力する多重化システムについて説明をする。
【0034】
なお、以下説明をする多重化システムでは、図1に示すように、多重化の要素となるシーケンシャルな複数本のデータストリームを所定のデータ単位に分割し、分割したデータ単位で時間方向に多重化することによって多重化ストリームを生成する。本実施の形態の説明では、分割したデータ単位を「ユニット」と定義するものとする。
【0035】
(多重化システムの全体構成)
本発明の第1の実施の形態の多重化システム10は、図2に示すように、データバス11上に、第1及び第2のビデオエンコーダ12,13と、第1及び第2のオーディオエンコーダ14,15と、CPU(Central Processing Unit)16と、マルチプレクサ17と、命令メモリ18と、データメモリ19とを備えている。
【0036】
第1及び第2のビデオエンコーダ12,13は、映像ソースから出力されたベースバンドのビデオデータが入力され、そのビデオデータを例えばMPEG-2やMPEG-4等の所定の符号化方式で圧縮符号化し、ビデオエレメンタリストリームVES0,VES1(以下、単にビデオストリームVES0,VES1と言う。)を生成する。第1及び第2のビデオエンコーダ12,13は、生成したビデオストリームVES0,VES1をユニットに分割し、分割した各ユニットをデータバス11を介してデータメモリ19に格納する。また、第1及び第2のビデオエンコーダ12,13は、多重化時に必要となる生成したビデオストリームVES0,VES1のシステム情報も生成する。第1及び第2のビデオエンコーダ12,13は、システム情報、並びに、各ユニットのデータメモリ19上の格納位置を示す格納位置情報(そのユニットの記録開始アドレス及びそのユニットのバイト長)を、データバス11を介してCPU16に供給する。
【0037】
第1及び第2のオーディオエンコーダ14,15は、音声ソースから出力されたベースバンドのオーディオデータが入力され、そのオーディオデータを例えばMPEG-2やMPEG-4等の所定の符号化方式で圧縮符号化し、オーディオエレメンタリストリームAES0,AES1(以下、単にオーディオストリームAES0,AES1と言う。)を生成する。第1及び第2のオーディオエンコーダ14,15は、生成したオーディオストリームAES0,AES1をユニットに分割し、分割した各ユニットをデータバス11を介してデータメモリ19に格納する。また、第1及び第2のオーディオエンコーダ14,15は、多重化時に必要となる生成したオーディオストリームAES0,AES1のシステム情報も生成する。第1及び第2のオーディオエンコーダ14,15は、システム情報、並びに、各ユニットのデータメモリ19上の格納位置を示す格納位置情報(そのユニットの記録開始アドレス及びそのユニットのバイト長)を、データバス11を介してCPU16に供給する。
【0038】
CPU16は、多重化システム10を統括的にコントロールする。CPU16は、第1及び第2の多重化ストリームMS0,MS1の要素データとなるヘッダデータやインフォメーションデータ等を生成する。ヘッダデータとは、例えば、PSヘッダ,IPヘッダ,RTPヘッダ等のMPEG-2やMPEG-4に規定された各種のヘッダ情報であり、インフォメーションデータとは、例えばPSI(Program System Information)やSI(Service Information)といった例えばMPEG-2システム等の多重化方式上で定められた情報である。なお、ヘッダデータやインフォメーションデータ等のオーディオ及びビデオストリーム以外の要素データを、総称してヘッダデータとする。CPU16は、各エンコーダ12〜15から供給されたシステム情報を参照して、本装置から出力する第1の多重化ストリームMS0のストリームタイプ(例えば、PS(Program Stream,),TS(Transport Stream),RTP(Real Time Packet)等)に応じたヘッダデータHS0、及び、第2の多重化ストリームMS1のストリームタイプに応じたヘッダデータHS1を生成する。CPU16は、生成したヘッダデータHS0,HS1をユニットに分割し、データバス11を介してデータメモリ19に格納する。
【0039】
また、CPU16は、各エンコーダ12〜15から供給された各エレメンタリストリームの格納位置情報、並びに、自身で生成したヘッダデータのユニットの格納位置を示す格納位置情報に基づき、ユニットの格納位置及びユニットの多重化順序を記述したインストラクションセットを生成する。CPU16は、生成したインストラクションセットを、データバス11を介して命令メモリ18に格納する。なお、このインストラクションセットの詳細については後述する。
【0040】
また、CPU16は、1つのインストラクションセットを生成すると、マルチプレクサ17内のカウンタに対して所定の値を加算する処理を行う。なお、この加算処理の詳細については後述する。
【0041】
マルチプレクサ17は、ビデオストリームVES0,オーディオストリームAES0及びヘッダデータHS0を多重化して第1の多重化ストリームMS0を生成し、ビデオストリームVES1,オーディオストリームAES1及びヘッダデータHS1を多重化して第2の多重化ストリームMS1を生成する。マルチプレクサ17は、第1の多重化ストリームMS0及び第2の多重化ストリームMS1を同時に生成して、同時にこれら二つのストリームを外部に出力する。
【0042】
マルチプレクサ17は、データバス11を介して命令メモリ18に格納されているインストラクションセットを読み出す。そして、マルチプレクサ17は、そのインストラクションセットに記述されている情報に従って、データメモリ19からエレメンタリデータをユニット単位で順番に読み出し、その順番に従いユニットを出力することにより、第1及び第2の多重化ストリームMS0,MS1を生成する。
【0043】
命令メモリ18は、インストラクションセットを格納する回路である。インストラクションセットは、CPU16により書き込まれ、マルチプレクサ17により読み出される。
【0044】
データメモリ19は、第1及び第2のビデオエンコーダ12,13により生成されたビデオストリームVES0,VES1、第1及び第2のオーディオエンコーダ14,15により生成されたオーディオストリームAES0,AES1、及び、CPU16により生成されたヘッダデータを格納する回路である。データメモリ19内に格納されている各種データは、マルチプレクサ17により読み出される。
【0045】
なお、データメモリ19は、エレメンタリストリーム及びヘッダデータの種類に対応して、記録領域が分割されている。本例の場合は、データメモリ19の記録領域は、図3に示すように、第1のビデオ格納領域(Sv0)21、第1のオーディオ格納領域(Sa0)22、第1のヘッダ格納領域(Sh0)23、第2のビデオ格納領域(Sv1)24、第2のオーディオ格納領域(Sa1)25、及び、第2のヘッダ格納領域(Sh1)26の6個の領域に分割されている。第1のビデオ格納領域(Sv0)21には第1のビデオエンコーダ12から出力されたビデオストリームVES0が格納され、第1のオーディオ格納領域(Sa0)22には第1のオーディオエンコーダ14から出力されたオーディオストリームAES0が格納され、第1のヘッダ格納領域(Sh0)23にはビデオストリームVES0及びオーディオストリームAES0に関するヘッダデータが格納され、第2のビデオ格納領域(Sv1)24には第2のビデオエンコーダ13から出力されたビデオストリームVES1が格納され、第2のオーディオ格納領域(Sa1)25には第2のオーディオエンコーダ15から出力されたオーディオストリームAES1が格納され、第2のヘッダ格納領域26(Sh1)にはビデオストリームVES1及びオーディオストリームAES1に関するヘッダデータが格納される。
【0046】
以上のような多重化システム10では、図4に示すような各エンコーダ12〜15等がエレメンタリストリーム(VES0,VES1,AES0,AES1,HS0,HS1)を生成してデータメモリ19に格納する一連のエンコード処理と、図5に示すようなマルチプレクサ17がデータメモリ19から各エレメンタリストリーム(VES0,VES1,AES0,AES1,HS0,HS1)を読み出して多重化ストリームをする一連の多重化処理とが、同時並行的に行われる。
【0047】
また、CPU16は、図4に示すエンコード処理時に、各エンコーダ12〜15等から与えられた格納位置情報及びシステム情報に基づきユニットの多重化順序を算出し、ユニットの格納位置及び多重化順序を記述したインストラクションセットを生成する。そして、CPU16は、生成したインストラクションセットを命令メモリ18に格納する。
【0048】
また、マルチプレクサ17は、図5に示すように、命令メモリ18に格納されているインストラクションセットの記述を参照して、データメモリ19内から必要なデータを所定の順序で読み出し、多重化処理を行う。
【0049】
このように多重化システム10では、CPU16がインストラクションセットを生成して一旦命令メモリ18に格納し、マルチプレクサ17が命令メモリ18からインストラクションセットを読み出して実行することにより、CPU16が転送タイミングとなったときにマルチプレクサ17に直接命令を転送する、といったような制御を行わなくてもよいため、命令の転送タイミングの制御を行う必要がなくなり、CPU16の処理負担を軽減させることができる。
【0050】
(インストラクションセット)
つぎに、インストラクションセットについて説明をする。
【0051】
インストラクションセットは、図6に示すように、インストラクション群31と、1個のテーブル情報32とから構成されている。
【0052】
インストラクション群31内には、1以上の多重化インストラクションデータ33が記述されている。多重化インストラクションデータ33には、ある1つのユニットをデータメモリ19から読み出して多重化ストリームとして出力させるために必要な情報が記述されている。
【0053】
具体的には、多重化インストラクションデータ33には、当該データが多重化インストラクションデータ33であることを示すID情報34、転送するユニットのデータメモリ19内の格納位置を示した情報(記録開始アドレス35及びバイト数36)、並びに、転送するユニットが格納されているデータメモリ19上の領域を示す領域情報37が記述されている。多重化インストラクションデータ33にこのような情報が記述されていることによって、マルチプレクサ17に対して、データメモリ19上に1つのユニットを特定させ、特定したユニットを読み出して出力させることが可能となる。なお、領域情報37は、後述するマルチプレクサ37内のカウンタを選択する際に参照がされる。
【0054】
また、複数の多重化インストラクションデータ33は、一列に並べられて記述されており、その並び順がユニットの多重化順序を示している。多重化インストラクションデータ33の並び順により多重化順序が特定されていることにより、マルチプレクサ17に対してユニットの転送順序を制御させることができる。すなわち、マルチプレクサ17が、上位に位置する多重化インストラクションデータ33から下位に位置する多重化インストラクションデータ33に向かって、1つずつ順番にユニットの読み出し及び出力を実行することにより、多重化インストラクションデータ33の記述順に従ったユニットの並びの多重化ストリームを出力することができる。なお、多重化インストラクションデータ33に順序付けがされていれば並び順により多重化順序を特定しなくてもよい。例えば、多重化インストラクションデータ33に直接順序付けを示す番号を記述してもよい。
【0055】
テーブル情報32には、インストラクション数38と出力ターゲット39とが記述される。
【0056】
インストラクション数38は、当該インストラクションセット内に記述されている多重化インストラクションデータ33の数が示されている。なお、インストラクションセット内に記述する多重化インストラクションデータ33の数を固定とした場合には、インストラクション数38を記述しなくてもよい。
【0057】
出力ターゲット39は、当該インストラクションセットに記述されている多重化インストラクションデータ33が第1の多重化ストリームMS0の転送命令であるか、第2の多重化ストリームMS1の転送命令であるかを識別するための情報である。このような出力ターゲット39を記述することによって、マルチプレクサ17に対して複数の多重化ストリームを出力させることができる。すなわち、マルチプレクサ17は、データメモリ19から読み出したデータを出力するポートを、出力ターゲット39の記述に応じて切り換えるのみで、複数の多重化ストリームを同時並行的に出力することが可能となる。なお、この出力ターゲット39による制御がされるので、1つのインストラクションセット内には、1つの多重化ストリームのユニットに対する多重化インストラクションデータ33のみしか記述されない。
【0058】
以上のようなインストラクションセットは、CPU16が各エンコーダ12〜15によるエンコード処理に伴い生成する。ただし、1つのインストラクションセットに記述できる多重化インストラクションデータ33の数には限界があるため、CPU16は、多数のインストラクションセットを連続的に命令メモリ18に格納することによって、シーケンシャルな多重化ストリームに対応している。
【0059】
例えば、CPU16は、図7に示すように、命令メモリ18の開始アドレスから末尾アドレスへの方向に並ぶように、複数のインストラクションセットを連続的に記述していく(なお、図7中、#nはインストラクションセットの順序を示す値である。)。命令メモリ18に空き容量がなくなった場合には、再度開始アドレスからインストラクションセットに上書きしてゆき、記録領域を巡回的に利用する。それに対して、マルチプレクサ17は、インストラクションセットを命令メモリ18の開始アドレスから末尾アドレスに向かう方向へ1つずつ順番に読み出して実行する。
【0060】
このようにインストラクションセットを連続的に命令メモリ18に格納していくことによって、マルチプレクサ17の動作制御の順序をCPU16側で制御することができる。すなわち、CPU16が、インストラクションセット内での多重化インストラクションデータの順序、並びに、各インストラクションセットの順序を定めれば、CPU16が多重化ストリームのユニットの多重化順序を制御することができる。
【0061】
ここで多重化システム10の具体的な多重化例について、図8〜図10を参照して説明をする。
【0062】
図8は、データメモリ19上のユニットの格納例、図9はインストラクションセットの記述例、図10は多重化ストリームのデータ例を示している。
【0063】
データメモリ19には、図8に示すように、第1のビデオ格納領域(Sv0)21にユニットV0(記録開始アドレスAv0,バイト数Nv0)及びユニットV1(記録開始アドレスAv1,バイト数Nv1)が記録され、第1のオーディオ格納領域(Sa0)22にユニットA0(記録開始アドレスAa0,バイト数Na0)及びユニットA1(記録開始アドレスAa1,バイト数Na1)が記録され、第1のヘッダ格納領域(Sh0)23にユニットH0(記録開始アドレスAh0,バイト数Nh0)及びユニットH1(記録開始アドレスAh1,バイト数Nh1)が記録され、第2のビデオ格納領域(Sv1)24にユニットV2(記録開始アドレスAv2,バイト数Nv2)及びユニットV3(記録開始アドレスAv3,バイト数Nv3)が記録され、第2のオーディオ格納領域(Sa1)25にユニットA2(記録開始アドレスAa2,バイト数Na2)及びユニットA3(記録開始アドレスAa3,バイト数Na3)が記録され、第2のヘッダ格納領域(Sh1)26にユニットH2(記録開始アドレスAh2,バイト数Nh2)及びユニットH3(記録開始アドレスAh3,バイト数Nh3)が記録されている。
【0064】
インストラクションセットとしては、図9に示すように、インストラクションセットIST#0及びインストラクションセットIST#1の二つがCPU16により生成される。
【0065】
インストラクションセットIST#0には、インストラクション数38に“6”が記述され、出力ターゲット39に第1の多重化ストリームMS0が記述され、ユニットH0→ユニットA0→ユニットV0→ユニットH1→ユニットA1→ユニットV1の順序でこれらを特定する多重化インストラクションデータ33が記述されている。インストラクションセットIST#1には、インストラクション数38に“6”が記述され、出力ターゲット39に第2の多重化ストリームMS1が記述され、ユニットH2→ユニットA2→ユニットV2→ユニットH3→ユニットA3→ユニットV3の順序でこれらを特定する多重化インストラクションデータ33が記述されている。
【0066】
そして、以上のようなインストラクションセットを実行すると、図10に示すような、2本の多重化ストリーム(第1及び第2の多重化ストリームMS0,MS1)が出力される。
【0067】
(マルチプレクサ)
つぎに、以上のようなインストラクションセットに記述されている制御を実行するマルチプレクサ17の具体的な構成について説明をする。
【0068】
マルチプレクサ17は、図11に示すように、ダイレクトメモリアクセス(DMA)回路41と、インストラクション実行回路42と、ターゲットセレクタ43と、第1のFIFOメモリ44と、第2のFIFOメモリ45と、第1〜第nのカウンタ46-1〜46-n(ただし、nは自然数。)と、カウンタセレクタ47とを有している。
【0069】
DMA回路41は、CPU16を介さずにデータメモリ19及び命令メモリ18に対してダイレクトにアクセスしてデータを読み出す回路である。DMA回路41は、インストラクション実行回路42から開始アドレス及びバイト数が指定され、指定された開始アドレスから指定されたバイト数分のデータを連続して読み出す。DMA回路41は、読み出したデータがエレメンタリストリーム(ビデオストリームVES0,VES1、オーディオデータAES0,AES1又はヘッダデータHS0,HS1)であれば、そのデータをターゲットセレクタ43に供給し、読み出したデータがインストラクションセットであれば、そのデータをインストラクション実行回路42に供給する。
【0070】
インストラクション実行回路42は、インストラクションセットに基づき、DMA回路41、ターゲットセレクタ43及びカウンタセレクタ47を制御する回路である。インストラクション実行回路42による具体的な実行制御処理については詳細を後述する。
【0071】
ターゲットセレクタ43は、DMA回路41からデータストリームが入力され、入力されたデータストリームを第1のFIFOメモリ44又は第2のFIFOメモリ45のいずれか一方に選択的に出力する回路である。どちらのFIFOメモリに対してデータストリームを出力するかは、インストラクション実行回路42により切り換え制御がされる。
【0072】
第1のFIFOメモリ44及び第2のFIFOメモリ45は、いわゆるファーストイン-ファーストアウトメモリである。つまり、所定のビット数を1ワードとし、ワード単位でデータをシフト転送するメモリである。第1のFIFOメモリ44から出力されたデータストリームが第1の多重化ストリームMS0として外部に出力され、第2のFIFOメモリ45から出力されたデータストリームが第2の多重化ストリームMS1として外部に出力される。
【0073】
第1〜第nのカウンタ46-1〜46-nは、DMA回路41からターゲットセレクタ43に転送されたデータのデータ量を、内部に保持しているカウント値から減算していく回路である。さらに、第1〜第nのカウンタ46-1〜46-nは、内部のカウント値がデータバス11を介してCPU16や各エンコーダ12〜15により参照及び更新が可能となっている。なお、各カウンタ46-1〜46-nの動作については、詳細を後述する。
【0074】
カウンタセレクタ47は、第1〜第nのカウンタ46-1〜46-nのうち、いずれか一つのカウンタを選択して動作させる回路である。選択されるカウンタは、多重化インストラクションデータの領域情報37に応じて制御がされる。従って、カウンタセレクタ47により選択されているカウンタはDMA回路41からターゲットセレクタ43に転送されるビット数を内部に保持しているカウント値から減算し、選択されていないその他のセレクタは、内部のカウント値を変更せずにそのまま保持している。
【0075】
つぎに、インストラクション実行回路42によるインストラクションセットの実行処理を、図12のフローチャートを参照して説明する。
【0076】
まず、インストラクション実行回路42は、命令メモリ18からインストラクションセットを読み出す転送命令を、DMA回路41に対して発行する(ステップS11)。このとき、転送命令とともに、読み出し対象となるインストラクションセットの記録開始アドレスとそのインストラクションのバイト数もDMA回路41に与える。DMA回路41は、ステップS11の発行命令を受けると、命令メモリ18の指定されたアドレスから指定されたバイト数分のデータを読み出す。DMA回路41により読み出されたデータは、インストラクションセットのデータ列であるので、DMA回路41からインストラクション実行回路42に供給される。
【0077】
続いて、インストラクション実行回路42は、転送されてきたインストラクションセットのテーブル情報32内の出力ターゲット39を参照して、ターゲットセレクタ43に対して切り換え命令を与える(ステップS12)。すなわち、インストラクション実行回路42は、出力ターゲット39に第1の多重化ストリームMS0を特定する値が記述されていれば、第1のFIFOメモリ44の選択命令を発行し、出力ターゲット39に第2の多重化ストリームを特定する値が記述されていれば、第2のFIFOメモリ45の選択命令を発行する。ターゲットセレクタ43は、ステップS12の選択命令を受けると、入力されたデータストリームを出力する出力ポートを、その内容に従って第1のFIFOメモリ44側又は第2のFIFOメモリ45側のいずれかに切り換える。
【0078】
続いて、インストラクション実行回路42は、変数Xの値を“1”に初期化する(ステップS13)。なお、この変数Xは、現在処理しているインストラクションの順番を示している。
【0079】
続いて、インストラクション実行回路42は、ステップS11で読み出されたインストラクションセットの中の、X番目の多重化インストラクションデータを選択する(ステップS14)。すなわち、上述したようにインストラクションセットの中には複数の多重化インストラクションデータが並べて記述されているので、その中の上位からX番目の多重化インストラクションデータを選択する。
【0080】
続いて、インストラクション実行回路42は、複数のカウンタ46-1〜46-nの中から、X番目の多重化インストラクションデータに記述されている領域情報37に対応した1つのカウンタを選択する選択命令を、カウンタセレクタ47に対して発行する(ステップS15)。この選択命令が発行されると、カウンタセレクタ47は、選択されたカウンタを動作可能な状態にする。なお、カウンタ46-1〜46-nの動作等については後で詳細に説明をする。
【0081】
続いて、インストラクション実行回路42は、データメモリ19からユニットを読み出す転送命令を、DMA回路41に対して発行する(ステップS16)。このとき、転送命令とともに、X番目の多重化インストラクションデータに記述されているユニットの記録開始アドレス35と、そのユニットのバイト数36も、DMA回路41に与える。DMA回路41は、ステップS16の発行命令を受けると、データメモリ19の指定されたアドレスから指定されたバイト数分のデータを読み出す。DMA回路41により読み出されたデータは、多重化対象となるエレメンタリストリーム(ビデオ、オーディオ又はヘッダ)であるので、ターゲットセレクタ43に供給される。そして、ターゲットセレクタ43に転送されたデータストリームは、ターゲットセレクタ43が選択している第1のFIFOメモリ44又は第2のFIFOメモリ45のいずれかに転送され、これら第1又は第2のFIFOメモリ44,45から多重化ストリームが出力される。
【0082】
続いて、インストラクション実行回路42は、X=Nであるか否かを判断する(ステップS17)。ここで、Nは、インストラクション数38に記述されている値である。つまり、インストラクション実行回路42は、ステップS17において1つのインストラクションセットの中の全ての多重化インストラクションデータに対する処理が終了したか否かを判断している。全ての処理を終えた場合には、ステップS11に戻って処理を繰り返し行う。すなわち、命令メモリ18に記録されている次のインストラクションセットの読み出しに処理を戻す。また、全ての処理をまだ終えていない場合には、Xを1つインクリメントした後(ステップS18)、ステップS14に戻る。すなわち、次の多重化インストラクションデータの選択処理に対して処理を行っていく。
【0083】
インストラクション実行回路42は、以上のステップS11〜ステップS18の処理を行うことによって、インストラクションセット内に記述されている多重化インストラクションデータを上位から順番に1つずつ実行するので、データメモリ19に記録されているエレメンタリストリームをユニット単位で順番に読み出して、多重化ストリームを生成することができる。
【0084】
また、さらに、インストラクション実行回路42は、ステップS12において、インストラクションセット内に記述されている出力ターゲット39の記述内容に応じて、ターゲットセレクタ43を切り換えるので、1つの実行回路で複数の多重化ストリームを出力することができる。
【0085】
(カウンタ)
つぎに、カウンタ46-1〜46-nの動作について説明をする。
【0086】
マルチプレクサ17は複数のカウンタ46-1〜46-nを備えている。各カウンタは、それぞれがデータメモリ19の各分割領域に一対一で対応している。例えば、第1のカウンタ46-1は第1のビデオ格納領域21に対応しており、第2のカウンタ46-2は第1のオーディオ格納領域22に対応しており、第2のカウンタ46-3は第1のヘッダ格納領域23に対応しており、第4のカウンタ46-4は第2のビデオ格納領域24に対応しており、第5のカウンタ46-5は第2のオーディオ格納領域25に対応しており、第6のカウンタ46-6は第2のヘッダ格納領域26に対応している。
【0087】
また、カウンタ46-1〜46-nは、カウンタセレクタ47により1つのみが選択がされる。選択されているカウンタ46は、内部に保持しているカウント値から、DMA回路41からターゲットセレクタ43に転送されるデータ量(例えばバイト数)を減算していく。なお、選択されるカウンタ46は、多重化インストラクションデータの領域情報37の記述内容により制御されている。すなわち、領域情報37には現在転送中のユニットが記録されているデータメモリ19上の分割領域が記述されているため、その分割領域に対応したカウンタが選択され、そのカウンタの値が減算されている。
【0088】
このため、各カウンタ46-1〜46-nのカウント値は、対応する分割領域のデータ量を表していることとなる。
【0089】
また、カウンタ46-1〜46-nのカウント値は、データバス11を介してCPU16や各エンコーダ12〜15により参照及び更新が可能となっている。
【0090】
図13、図14を参照して、ある一つのカウンタ(第1のカウンタ46-1)の具体的な動作例を説明する。
【0091】
まず、図13に示すように、時刻t1に、第1のビデオ格納領域21に対してNv0バイトのユニットV0が記録されたとする。このとき、CPU16は、第1のカウンタ46-1のカウント値Vxに“Nv0”という値を加算する(カウント値Vxの初期値は0であったものとする。)。なお、CPU16は、ユニットV0が第1のビデオ格納領域21に記録されたことを、各エンコーダ12〜15から記録位置情報の通知により知ることができる。また、このとき、CPU16は、ユニットV0に対する多重化インストラクションデータを生成して、命令メモリ18に格納している。
【0092】
続いて、時刻t2に第1のビデオ格納領域21にNv1バイトのユニットV1が記録されたとする。CPU16は、現在のカウント値Vx=Nv0に“Nv1”という値を加算する。なお、このとき、CPU16は、ユニットV1に対する多重化インストラクションデータを生成して、命令メモリ18に格納している。
【0093】
続いて、時刻t3に、マルチプレクサ17がユニットV0,V1の多重化インストラクションの実行を開始し、ユニットV0,V1がデータメモリ19から読み出される。ユニットV0,V1の読み出しが開始すると、第1のカウンタ46-1のカウント値Vxは、そのデータ転送量に応じて減少を開始する。
【0094】
続いて、図14に示すように、ユニットV0,V1の読み出し最中(時刻t4、時刻t5)に、第1のビデオ格納領域21のユニットV4,V5の記録がされると(時刻t4,時刻t5)、ユニットV4,V5のデータ量がカウンタ46-1のカウンタ値Vxに加算される。
【0095】
以上のようにカウンタ46-1〜46-n内に保持されているカウント値は、ユニットの記録時にそのユニットのデータ量分増加し、ユニットの読み出し時にその読み出されるデータのデータ量分減少する。従って、カウンタ46-1〜46-n内に保持されているカウント値は、対応する領域のビット占有量を表していることとなる。
【0096】
さらに、カウンタ46-1〜46-nは、それぞれがデータメモリ19内の各領域に対応しているので、その領域毎にビット占有量を表すことができる。
【0097】
以上のように多重化システム10では、データメモリ19内の各領域のビット占有量を、ハードウェア的に管理するカウンタ46-1〜46-nを備えている。そのためデータメモリ19内のビット占有量をCPU16によりソフトウェア的に算出及び管理する必要がなくなり、CPU16の処理負担を軽減させることができる。
【0098】
また、カウンタ46-1〜46-n内のカウント値は、データバス11を介して外部から参照が可能である。そのため、例えば各エンコーダ12〜15は、データメモリ19に対して書き込みを行う際に、書き込みを行う領域のカウンタ46のカウンタ値を参照して、書き込み可能であるか不可能であるかを高速に判断することができる。
【0099】
第2の実施の形態
つぎに、本発明の第2の実施の形態の多重化システム50について説明をする。
【0100】
第2の実施の形態の多重化システムも、第1の実施の形態と同様に、ビデオデータとオーディオデータとを多重化したネットワーク配信用の2本の多重化ストリーム(第1及び第2の多重化ストリームMS0, MS1)を生成して、これらを同時に出力するシステムである。そのため、第2の実施の形態の多重化システム50の説明をするにあたり、第1の実施の形態の多重化しシステム10と同一の構成要素については、図面中に同一の符号を付けてその詳細な説明を省略する。
【0101】
多重化システム50は、図15に示すように、データバス11上に、第1及び第2のビデオエンコーダ12,13と、第1及び第2のオーディオエンコーダ14,15と、CPU51と、マルチプレクサ52と、命令メモリ18と、データメモリ19とを備えている。
【0102】
CPU51は、多重化システム10を統括的にコントロールする。CPU51は、第1の実施の形態でのCPU16と同様に、ヘッダデータHS0,HS1を生成してユニットに分割し、データバス11を介してデータメモリ19に格納する。また、CPU51は、第1の実施の形態でのCPU16と同様に、マルチプレクサ52内のカウンタに対して所定の値を加算する処理を行う。
【0103】
また、CPU51は、エンコード処理と同時に、各エンコーダ12〜15等から与えられた格納位置情報及びシステム情報に基づきユニットの多重化順序を算出し、算出した多重化順序に基づきユニットの格納位置及び多重化順序等を記述したインストラクションセットを生成し、生成したインストラクションセットを命令メモリ18に格納することも、第1の実施の形態と同様に行う。
【0104】
ただし、CPU51は、コマンドインストラクションデータを含んだインストラクションセットを生成する点において、第1の実施の形態と異なっている。
【0105】
(インストラクションセット)
コマンドインストラクションデータとは、多重化ストリームの出力時に、そのデータ列の任意の位置でマルチプレクサ52に対してなんらかのデータ処理を行わせるための命令が記述されたデータである。
【0106】
図16に、コマンドインストラクションデータ53が含められたインストラクションセットを示す。
【0107】
コマンドインストラクションデータ53は、インストラクション群31内に、多重化インストラクションデータとともに並べて記述される。マルチプレクサ52は、その並び順に従い多重化インストラクションデータ33を実行していき、途中でコマンドインストラクションデータ53が発生した場合には、DMA回路41のデータ転送処理を行わずに、そのコマンドインストラクションデータ53に示されたデータ処理を行う。
【0108】
コマンドインストラクションデータ53には、当該データがコマンドインストラクションデータであることを示すID情報54、データ処理の内容55、そのデータ処理を実行する場合に必要なデータ56等が記述されている。
【0109】
コマンドインストラクションデータ53に基づき行われるデータ処理には、例えば、多重化ストリーム中の任意の位置にスタッフィングデータやパディングデータと呼ばれるダミーデータを挿入する処理(スタッフィング挿入処理)、多重化ストリーム中の任意の位置のデータを出力直前に削除する処理(データ削除処理)、多重化ストリーム中の任意の位置にそのときの出力時間情報等の任意のデータを挿入する処理(データ挿入処理)、及び、多重化ストリームの任意の位置の出力タイミングをCPUや外部に発信する処理(通知処理)等がある。
【0110】
以上のように、多重化インストラクションデータ33及びコマンドインストラクションデータ53を、ユニットの多重化位置及びデータ処理の実行処理の順序に従ってインストラクションセットに記述することによって、例えば任意のユニット間でデータ処理を行わせるといったような、マルチプレクサ52に対して多重化のデータ列の任意の位置で所望のデータ処理を行わせることができる。
【0111】
なお、このようにコマンドインストラクションデータ53を追加した場合には、インストラクション数38には、当該インストラクションセット内に記述されている多重化インストラクションデータ33及びコマンドインストラクションデータ53の総数を記述する。
【0112】
(マルチプレクサ)
つぎに、以上のようなコマンドインストラクションデータ53が含まれたインストラクションセットを実行するマルチプレクサ52の具体的な構成について説明をする。
【0113】
マルチプレクサ52は、ビデオストリームVES0,オーディオストリームAES0及びヘッダデータHS0を多重化して第1の多重化ストリームMS0を生成し、ビデオストリームVES1,オーディオストリームAES1及びヘッダデータHS1を多重化して第2の多重化ストリームMS1を生成する。マルチプレクサ52は、第1の多重化ストリームMS0及び第2の多重化ストリームMS1を同時に生成して、同時にこれら二つのストリームを外部に出力する回路である点においては、第1の実施の形態のマルチプレクサ17と同一である。ただし、コマンドインストラクションデータが含められたインストラクションセットを実行できるようにその内部構成は異なっている。
【0114】
以下、マルチプレクサ52の内部構成についてさらに詳細に説明をする。
【0115】
マルチプレクサ52は、図17に示すように、DMA回路61と、インストラクション実行回路62と、コマンド挿入回路63と、ターゲットセレクタ64と、第1のFIFOメモリ65と、第2のFIFOメモリ66と、第1のコマンド実行回路67と、第2のコマンド実行回路68と、第1の第1〜第nのカウンタ46-1〜46-n(ただし、nは自然数。)と、カウンタセレクタ47とを有している。
【0116】
DMA回路61は、CPU51を介さずにデータメモリ19及び命令メモリ18に対してダイレクトにアクセスしてデータを読み出す回路である。DMA回路61は、インストラクション実行回路62から開始アドレス及びバイト数が指定され、指定された開始アドレスから指定されたバイト数分のデータを連続して読み出す。DMA回路61は、読み出したデータがエレメンタリストリーム(ビデオストリームVES0,VES1、オーディオデータAES0,AES1又はヘッダデータHS0,HS1)であれば、そのデータをコマンド挿入回路63に供給し、読み出したデータがインストラクションセットであれば、そのデータをインストラクション実行回路62に供給する。
【0117】
インストラクション実行回路62は、インストラクションセットに基づき、DMA回路61に対してデータの転送制御命令、コマンド挿入回路63に対してコマンドの挿入命令、ターゲットセレクタ64に対して切り換え命令、カウンタセレクタ47に対してカウント選択命令を与える回路である。インストラクション実行回路62による具体的な実行制御処理については詳細を後述する。
【0118】
コマンド挿入回路63は、DMA回路61からエレメンタリデータが転送されてきたときには、そのままデータをターゲットセレクタ64に転送する。コマンド挿入回路63は、インストラクション実行回路62から、コマンド挿入命令が与えられたときには、データ処理内容が記述されたコマンドデータを生成し、生成したコマンドデータをターゲットセレクタ64に転送する。
【0119】
コマンド挿入回路63により生成されるコマンドデータは、図18に示すように、識別コード71とコマンドコード72とから構成されているデータである。識別コード71は、続くデータがコマンドコード72であることを識別するためのデータである。識別コード71は、全てのコマンドデータで固定のデータパターンとなっている。コマンドコード72には、データ処理内容を識別するIDと、そのデータ処理で用いられるパラメータとが記述される。コマンドデータは、コマンドコード72に記述されるIDやパラメータの内容や数に関わらず、一定のデータ量となる。
【0120】
コマンド挿入回路63は、インストラクション実行回路62からコマンド挿入命令が与えられた場合、そのコマンド挿入命令とともに与えられたデータ処理内容に従い、以上のようなコマンドデータを生成する。そして、コマンド挿入回路63は、生成したコマンドデータを、ターゲットセレクタ64に転送する。
【0121】
ターゲットセレクタ64は、DMA回路61からデータストリームが入力され、入力されたデータストリームを第1のFIFOメモリ65又は第2のFIFOメモリ66のいずれか一方に選択的に出力する回路である。どちらのFIFOメモリに対してデータストリームを出力するかは、インストラクション実行回路62により切り換え制御がされる。
【0122】
第1のFIFOメモリ65及び第2のFIFOメモリ66は、いわゆるファーストイン-ファーストアウトメモリである。つまり、所定のビット数を1ワードとし、ワード単位でデータをシフト転送するメモリである。第1のFIFOメモリ65から出力されたデータストリームは第1のコマンド実行回路67に供給され、第2のFIFOメモリ66から出力されたデータストリームが第2のコマンド実行回路68に供給される。
【0123】
なお、コマンド挿入回路63から第1のコマンド実行回路67までのデータパスのバス幅(ワード幅)、コマンド挿入回路63から第2のコマンド実行回路68までのデータパスのバス幅(ワード幅)、並びに、第1のFIFOメモリ65及び第2のFIFOメモリ66のビット幅(ワード幅)は、通常のバス幅(ワード幅)から、フラグ用のビットラインが加えられ、1ビット分バス幅が拡張されている。
【0124】
例えば、本多重化システム50が8ビット幅でデータ転送をするシステムであれば、図19に示すように、バス幅を9ビットに拡張して、フラグビットの転送ラインを形成する。この場合、フラグビットの転送ラインに、コマンド挿入回路63により生成されるフラグビットが転送され、残りの8ビットに多重化ストリームを構成するデータが転送される。また、例えば、本多重化システム50が32ビット幅でデータを転送するシステムであれば、図20に示すように、バス幅を33ビットに拡張して、フラグビットの転送ラインを形成する。この場合、フラグビットの転送ラインにコマンド挿入回路63により生成されるフラグビットが転送され、残りの32ビットに多重化ストリームを構成するデータが転送される。
【0125】
フラグビットは、コマンドデータの先頭ビットの位置を識別するために用いられる。コマンド挿入回路63は、コマンドデータの識別コードの先頭ビットを送出する際に、フラグビットをハイ(例えば“1”)とする。コマンド挿入回路63は、それ以外のデータを送出する場合には、フラグビットをロー(例えば“0”)とする。
【0126】
第1のコマンド実行回路67は、第1のFIFOメモリ65から多重化ストリームが転送され、第2のコマンド実行回路68は、第2のFIFOメモリ66から多重化ストリームが転送される。第1及び第2のコマンド実行回路67,68は、転送されてきた多重化ストリーム中のデータ列が、コマンドデータであるか否かを判断する。その判断は、まず、バスの拡張ビットであるフラグビットを検出し、フラグがハイ(例えば“1”)であれば、次に、そのフラグがハイとされているワードを読み出して、データ列から識別コードのデータパターンを検索する。識別コードのデータパターンが検索されれば、その識別コードに続くデータがコマンドコードである。第1及び第2のコマンド実行回路67,68は、そのコマンドコードに記述されたID及びパラメータを読み出し、そのID及びパラメータに従ったデータ処理を行う。
【0127】
第1及び第2のコマンド実行回路67,68は、転送されてきた多重化ストリームのデータ列が、コマンドデータでない場合には、つまり、通常のエレメンタリストリーム(ビデオ,オーディオ,ヘッダ等のストリーム)である場合には、そのデータをそのまま外部に出力する。なお、多重化ストリーム中にコマンドデータが含められていた場合には、そのコマンドデータのデータ列(識別コード、コマンド)は、除去して外部には出力しない。第1のコマンド実行回路67から出力されたデータストリームが第1の多重化ストリームMS0として外部に出力され、第2のコマンド実行回路68から出力されたデータストリームが第2の多重化ストリームMS1として外部に出力される。
【0128】
つぎに、インストラクション実行回路62によるインストラクションセットの実行処理を、図21のフローチャートを参照して説明する。
【0129】
まず、インストラクション実行回路62は、命令メモリ18からインストラクションセットを読み出す転送命令を、記録開始アドレス及びバイト数とともにDMA回路61に対して発行する(ステップS21)。DMA回路61は、ステップS21の発行命令を受けると、命令メモリ18の指定されたアドレスから指定されたバイト数分のデータを読み出す。DMA回路61により読み出されたデータは、インストラクションセットのデータ列であるので、DMA回路61からインストラクション実行回路62に供給される。
【0130】
続いて、インストラクション実行回路62は、転送されてきたインストラクションセットのテーブル情報32内の出力ターゲット39を参照して、ターゲットセレクタ64に対して切り換え命令を与える(ステップS22)。ターゲットセレクタ64は、ステップS22の選択命令を受けると、入力されたデータストリームを出力する出力ポートを、その内容に従って第1のFIFOメモリ65側又は第2のFIFOメモリ66側のいずれかに切り換える。
【0131】
続いて、インストラクション実行回路62は、変数Xの値を“1”に初期化する(ステップS23)。変数Xは、現在処理しているインストラクションの順番を示している。
【0132】
続いて、インストラクション実行回路62は、ステップS21で読み出されたインストラクションセットの中の、X番目のインストラクションデータを選択する(ステップS24)。
【0133】
続いて、インストラクション実行回路62は、X番目のインストラクションデータが、多重化インストラクションデータであるか、コマンドインストラクションデータであるかを判断する(ステップS25)。多重化インストラクションデータであれば、ステップS26に進み、コマンドインストラクションデータであればステップS28に進む。
【0134】
ステップS26において、インストラクション実行回路62は、複数のカウンタ46-1〜46-nの中から、選択した多重化インストラクションデータに記述されている領域情報37に対応した1つのカウンタを選択する選択命令を、カウンタセレクタ47に対して発行する。続いて、インストラクション実行回路62は、データメモリ19からユニットを読み出す転送命令を、ユニットの記録開始アドレス35及びバイト数36とともにDMA回路61に対して発行する(ステップS27)。DMA回路61は、ステップS26の発行命令を受けると、データメモリ19の指定されたアドレスから指定されたバイト数分のデータを読み出す。DMA回路61により読み出されたデータは、コマンド挿入回路63をそのまま通過して、ターゲットセレクタ64が選択している第1のFIFOメモリ65又は第2のFIFOメモリ66のいずれかに転送される。インストラクション実行回路62は、ステップS27の処理を終えると、ステップS29に進む。
【0135】
一方、ステップS28において、インストラクション実行回路62は、選択したコマンドインストラクションデータに対応した処理内容のコマンド挿入命令をコマンド挿入回路63に与える。コマンド挿入命令が与えられたコマンド挿入回路63は、コマンドデータを生成し、生成したコマンドデータをターゲットセレクタ64に転送する。コマンドデータは、ターゲットセレクタ64が選択している第1のFIFOメモリ65又は第2のFIFOメモリ66のいずれかに転送される。インストラクション実行回路62は、ステップS28の処理を終えると、ステップS29に進む。
【0136】
続いて、インストラクション実行回路62は、X=Nであるか否かを判断することにより、1つのインストラクションセットの中の全ての多重化インストラクションデータに対する処理が終了したか否かを判断する(ステップS29)。全ての処理を終えた場合には、ステップS21に戻る。また、全ての処理をまだ終えていない場合には、Xを1つインクリメントした後(ステップS30)、ステップS24に戻る。
【0137】
インストラクション実行回路62は、以上のステップS21〜ステップS30の処理を行うことによって、データメモリ19に記録されているエレメンタリストリームをユニット単位で多重化することができる。
【0138】
つぎに、コマンド実行回路67,68により行われるスタッフィング処理、削除処理、通知処理及びデータ挿入処理の各処理内容について説明する。
【0139】
図22にスタッフィング処理の内容を説明する図を示す。
【0140】
スタッフィング処理を行う場合、コマンド挿入回路63は、コマンドインストラクションを実行することによって、多重化ストリーム中にスタッフィングデータを挿入することを示すコマンドデータを挿入する。スタッフィング処理を行う場合、コマンドコードには、例えば、IDとしてスタッフィング処理を示す番号が記述され、パラメータとしてスタッフィングするデータ値及びスタッフィングするバイト数が記述される。
【0141】
コマンド実行回路67,68は、スタッフィング処理を示すコマンドデータを検出した場合、入力されたコマンドデータを削除し、そのコマンドデータが挿入されていた位置に、スタッフィングデータを挿入して出力する。例えば、コマンド実行回路67,68は、コマンドコードに、スタッフィングするデータの値として“0xff”が記述されており、スタッフィングするバイト数として“1000”が記述されていれば、そのコマンドデータの挿入位置に“0xff”を1000バイト分生成し、外部に出力する。
【0142】
この結果、多重化ストリーム中の任意の位置に、スタッフィングデータを挿入することができる。
【0143】
図23に削除処理の内容を説明する図を示す。
【0144】
削除処理を行う場合、コマンド挿入回路63は、コマンドインストラクションを実行することによって、多重化ストリーム中の削除するデータの直前に、コマンドデータを挿入する。削除処理を行う場合、コマンドコードには、IDとして削除処理を示す番号が記述され、パラメータとして削除するバイト数が記述される。
【0145】
コマンド実行回路67,68は、削除処理を示すコマンドデータを検出した場合、入力されたコマンドデータを削除し、そのコマンドデータが挿入されていた位置の直後の所定バイト数分のデータを削除する。例えば、コマンドコードに削除するデータのバイト数が“64バイト”と記述されていれば、コマンド実行回路67,68はこの記述どおりに、64バイトのデータを削除する。
【0146】
このように多重化ストリームの出力直前に任意量のデータを削除することができれば、例えばFIFOメモリ65,66に格納されているデータの押し出しをすることが可能である。例えば、アクセスユニット単位、パケット単位或いはパック単位等の所定の単位毎に多重化ストリームを完全にFIFOメモリ65,66から出力しなければならないシステムの場合、その所定の単位の最終部分に削除コマンドとダミーデータとを挿入しておけば、FIFOメモリ65,66内のデータを外部から監視することなく、必ずFIFOメモリ65,66からパケット等の最終データを出力することが可能となる。
【0147】
図24に、通知処理の内容を説明する図を示す。
【0148】
通知処理を行う場合、コマンド挿入回路63は、コマンドインストラクションを実行することによって、多重化ストリーム中の通知処理を行う位置にコマンドデータを挿入する。通知処理を行う場合、コマンドコードには、例えば、IDとして通知処理を示す番号が記述され、パラメータとして通知する情報内容(例えば現在出力中のストリームに関する情報)が記述される。
【0149】
コマンド実行回路67,68は、通知処理を示すコマンドデータを検出した場合、入力されたコマンドデータを削除し、それとともにコマンドコード内にパラメータとして記述されている情報をCPU51やその他の回路に発信する。
【0150】
この結果、例えばCPU51等や、多重化ストリームの現在の出力状況を把握することができる。
【0151】
図25に、データ挿入処理の内容を説明する図を示す。
【0152】
データ挿入処理を行う場合、コマンド挿入回路63は、コマンドインストラクションを実行することによって、多重化ストリーム中のデータを挿入する位置にコマンドデータを挿入する。データ挿入処理を行う場合、コマンドコードには、例えば、IDとしてデータ挿入処理を示す番号が記述され、パラメータとして挿入するデータの種類を識別する情報(挿入データID)が記述される。
【0153】
コマンド実行回路67,68は、データ挿入処理を示すコマンドデータを検出した場合、入力されたコマンドデータを削除し、そのコマンドデータが挿入されていた位置に、挿入データIDに示されているデータを挿入して出力する。例えば、コマンド実行回路67,68は、RAM、レジスタ、その他のデータ生成回路により生成されたデータをそのコマンドデータの挿入位置に挿入し、外部に出力する。
【0154】
この結果、多重化ストリーム中の任意の位置に、例えば、時間情報等の出力タイミングによって値が変わるようなデータを簡易に挿入することができる。
【0155】
【発明の効果】
本発明に係る多重化装置及び方法では、多重化順序が示された多重化インストラクションデータ及びを所定のデータ実行命令が示されたコマンドインストラクションデータを生成して上記メモリに格納し、当該メモリに格納された多重化インストラクションデータ及びコマンドインストラクションデータに従い順番に多重化及びデータ処理を行う。
【0158】
このことにより上記多重化装置及び方法では、多重化ストリームの出力タイミングに同期させて行うデータ処理を確実に行い、且つ、その処理タイミングの自由度を大きくすることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態の多重化システムによる多重化処理を説明するための図である。
【図2】本発明の第1の実施の形態の多重化システムのブロック図である。
【図3】上記多重化システムのデータメモリ内の各領域を説明するための図である。
【図4】上記多重化システムのエンコード処理の流れについて説明をする図である。
【図5】上記多重化システムの多重化処理の流れについて説明をする図である。
【図6】上記多重化システムで用いられるインストラクションセットを示す図である。
【図7】上記インストラクションセットを連続的に記録した状態を示す図である。
【図8】上記多重化システムのデータメモリ内の各領域に記録されたユニットを示す図である。
【図9】図8に示すユニットを多重化する場合のインストラクションセットを示す図である。
【図10】図9に示すインストラクションセットを実行した場合の多重化ストリームを示す図である。
【図11】上記第1の実施の形態の多重化システム内のマルチプレクサのブロック図である。
【図12】上記マルチプレクサ内のインストラクション実行回路の処理フローを示す図である。
【図13】上記マルチプレクサ内のカウンタの値の変化を示す図である。
【図14】図13に続くカウンタの値の変化を示す図である。
【図15】本発明の第1の実施の形態の多重化システムのブロック図である。
【図16】上記第2の実施の形態の多重化システムで用いられるインストラクションセットを示す図である。
【図17】上記第2の実施の形態の多重化システム内のマルチプレクサのブロック図である。
【図18】上記マルチプレクサのコマンド挿入回路で生成されるコマンドデータを示す図である。
【図19】バス幅を8ビットから9ビットに拡張したコマンド挿入回路からコマンド実行回路までのデータ転送バスについて説明するための図である。
【図20】バス幅を32ビットから33ビットに拡張したコマンド挿入回路からコマンド実行回路までのデータ転送バスについて説明するための図である。
【図21】第2の実施の形態の多重化システムのマルチプレクサ内のインストラクション実行回路の処理フローを示す図である。
【図22】多重化ストリーム中の任意の位置にスタッフィングデータやパディングデータと呼ばれるダミーデータを挿入する処理(スタッフィング挿入処理)について説明するための図である。
【図23】多重化ストリーム中の任意の位置のデータを出力直前に削除する処理(データ削除処理)について説明するための図である。
【図24】多重化ストリームの任意の位置の出力タイミングをCPUや外部に発信する処理(通知処理)を説明するための図である。
【図25】多重化ストリーム中の任意の位置にそのときの出力時間情報等の任意のデータを挿入する処理(データ挿入処理)について説明するための図である。
【符号の説明】
1,50 多重化システム、11 データバス、12 第1のビデオエンコーダ、13 第2のビデオエンコーダ、14 第1のオーディオエンコーダ、15第2のオーディオエンコーダ、16,51 CPU、17,52 マルチプレクサ、18 命令メモリ、19 データメモリ、41,61 DMA、42,62 インストラクション実行回路、43,64 ターゲットセレクタ、44,45,65,66 FIFOメモリ、46 カウンタ、47 カウンタセレクタ、63 コマンド挿入回路、67,68 コマンド実行回路
Claims (12)
- 複数本のエレメンタリデータストリームを多重化して1つの多重化ストリームを生成する多重化装置において、
複数本のエレメンタリデータストリームが入力され、入力された各エレメンタリデータストリームを格納するメモリと、
任意量の連続したエレメンタリデータストリームから構成されるデータユニットの上記メモリ内における格納位置を示す多重化インストラクションデータをデータユニットの1つ一つに対応して生成するとともに、多重化ストリーム上の任意の位置で実行されるデータ処理の実行命令が示されたコマンドインストラクションデータを生成し、生成した上記多重化インストラクションデータ及びコマンドインストラクションデータをデータユニット及び実行命令の多重化順序に従って上記メモリに格納するインストラクション生成手段と、
上記多重化インストラクションデータ及びコマンドインストラクションデータを上記メモリから1つずつ順番に読み出し、多重化インストラクションデータを読み出した場合には、その多重化インストラクションデータに示されている格納位置からデータユニットを読み出して出力し、コマンドインストラクションデータを読み出した場合には、そのコマンドインストラクションデータに示されている実行命令が記述されたコマンドデータを出力することにより、エレメンタリデータストリーム及びコマンドデータが含まれている1つの多重化ストリームを生成する多重化ストリーム生成手段と、
上記多重化ストリーム生成手段から出力された多重化ストリームが入力され、入力された多重化ストリーム中のデータ列がコマンドデータである場合には、当該コマンドデータに示されている命令内容に応じた処理を行い、入力された多重化ストリーム中のデータ列が上記エレメンタリデータストリームである場合には、入力された多重化ストリームをそのまま出力するコマンド実行手段と
を備える多重化装置。 - 上記多重化ストリーム生成手段は、上記多重化ストリーム中のデータ列が、コマンドデータであるかエレメンタリデータストリームであるかを識別する識別フラグを、多重化ストリームに同期させて出力し、
上記コマンド実行手段は、上記識別フラグに基づき入力された多重化ストリームのデータ列がコマンドデータであるかエレメンタリデータストリームであるかを判断すること
を特徴とする請求項1記載の多重化装置。 - 上記インストラクション生成手段は、出力する多重化ストリームにスタッフィングデータを挿入する場合には、スタッフィングデータを挿入する処理命令及びスタッフィングデータのデータ量を示したコマンドインストラクションデータを生成し、
上記多重化ストリーム生成手段は、読み出したコマンドインストラクションデータにスタッフィングデータを挿入する処理命令が示されている場合には、当該コマンドインストラクションデータに示されている内容が記述された上記コマンドデータを出力し、
上記コマンド実行手段は、コマンドデータにスタッフィングデータを挿入する処理命令が示されている場合には、多重化ストリーム中のそのコマンドデータの位置に、そのコマンドデータに示されているデータ量のスタッフィングデータを挿入すること
を特徴とする請求項1記載の多重化装置。 - 上記インストラクション生成手段は、出力する多重化ストリームからデータを削除する場合には、データ削除処理命令及び削除するデータ量を示したコマンドインストラクションデータを生成し、
上記多重化ストリーム生成手段は、読み出したコマンドインストラクションデータにデータを削除する処理命令が示されている場合には、当該コマンドインストラクションデータに示されている内容が記述された上記コマンドデータを出力し、
上記コマンド実行手段は、コマンドデータにデータを削除する処理命令が示されている場合には、そのコマンドデータに続く多重化ストリームから、そのコマンドデータに示されているデータ量のデータを削除すること
を特徴とする請求項1記載の多重化装置。 - 上記インストラクション生成手段は、出力する多重化ストリームに任意のデータを挿入する場合には、任意のデータを挿入する処理命令を示したコマンドインストラクションデータを生成し、
上記多重化ストリーム生成手段は、読み出したコマンドインストラクションデータに任意のデータを挿入する処理命令が示されている場合には、当該コマンドインストラクションデータに示されている内容が記述された上記コマンドデータを出力し、
上記コマンド実行手段は、コマンドデータに任意のデータを挿入する処理命令が示されている場合には、多重化ストリーム中のそのコマンドデータの位置に、そのコマンドデータに示されている任意のデータを挿入すること
を特徴とする請求項1記載の多重化装置。 - 上記インストラクション生成手段は、出力する多重化ストリーム中の任意のタイミングでタイミング通知を発信する場合には、タイミング通知を発信する処理命令を示したコマンドインストラクションデータを生成し、
上記多重化ストリーム生成手段は、読み出したコマンドインストラクションデータにタイミング通知を発信する処理命令が示されている場合には、当該コマンドインストラクションデータに示されている内容が記述された上記コマンドデータを出力し、
上記コマンド実行手段は、コマンドデータにタイミング通知を発信する処理命令が示されている場合には、多重化ストリーム中のそのコマンドデータの位置で、タイミング通知を発信すること
を特徴とする請求項1記載の多重化装置。 - 複数本のエレメンタリデータストリームを多重化して1つの多重化ストリームを生成する多重化方法において、
複数本のエレメンタリデータストリームを入力し、入力した各エレメンタリデータストリームをメモリに格納し、
任意量の連続したエレメンタリデータストリームから構成されるデータユニットの上記メモリ内における格納位置を示す多重化インストラクションデータをデータユニットの1つ一つに対応して生成するとともに、多重化ストリーム上の任意の位置で実行されるデータ処理の実行命令が示されたコマンドインストラクションデータを生成し、生成した上記多重化インストラクションデータ及びコマンドインストラクションデータをデータユニット及び実行命令の多重化順序に従って上記メモリに格納し、
上記多重化インストラクションデータ及びコマンドインストラクションデータを上記メモリから1つずつ順番に読み出し、多重化インストラクションデータを読み出した場合には、その多重化インストラクションデータに示されている格納位置からデータユニットを読み出して出力し、コマンドインストラクションデータを読み出した場合には、そのコマンドインストラクションデータに示されている実行命令が記述されたコマンドデータを出力することにより、エレメンタリデータストリーム及びコマンドデータが含まれている1つの多重化ストリームを生成し、
上記多重化ストリームが入力され、入力された多重化ストリーム中のデータ列がコマンドデータである場合には、当該コマンドデータに示されている命令内容に応じた処理を行い、入力された多重化ストリーム中のデータ列が上記エレメンタリデータストリームである場合には、入力された多重化ストリームをそのまま出力すること
を特徴とする多重化方法。 - 上記多重化ストリーム中のデータ列が、コマンドデータであるかエレメンタリデータストリームであるかを識別する識別フラグを、多重化ストリームに同期させて出力し、
上記識別フラグに基づき入力された多重化ストリームのデータ列がコマンドデータであるかエレメンタリデータストリームであるかを判断すること
を特徴とする請求項7記載の多重化方法。 - 出力する多重化ストリームにスタッフィングデータを挿入する場合には、スタッフィングデータを挿入する処理命令及びスタッフィングデータのデータ量を示したコマンドインストラクションデータを生成し、
読み出したコマンドインストラクションデータにスタッフィングデータを挿入する処理命令が示されている場合には、当該コマンドインストラクションデータに示されている内容が記述された上記コマンドデータを出力し、
コマンドデータにスタッフィングデータを挿入する処理命令が示されている場合には、多重化ストリーム中のそのコマンドデータの位置に、そのコマンドデータに示されているデータ量のスタッフィングデータを挿入すること
を特徴とする請求項7記載の多重化方法。 - 出力する多重化ストリームからデータを削除する場合には、データ削除処理命令及び削除するデータ量を示したコマンドインストラクションデータを生成し、
読み出したコマンドインストラクションデータにデータを削除する処理命令が示されている場合には、当該コマンドインストラクションデータに示されている内容が記述された上記コマンドデータを出力し、
コマンドデータにデータを削除する処理命令が示されている場合には、そのコマンドデータに続く多重化ストリームから、そのコマンドデータに示されているデータ量のデータを削除すること
を特徴とする請求項7記載の多重化方法。 - 出力する多重化ストリームに任意のデータを挿入する場合には、任意のデータを挿入する処理命令を示したコマンドインストラクションデータを生成し、
読み出したコマンドインストラクションデータに任意のデータを挿入する処理命令が示されている場合には、当該コマンドインストラクションデータに示されている内容が記述された上記コマンドデータを出力し、
コマンドデータに任意のデータを挿入する処理命令が示されている場合には、多重化ストリーム中のそのコマンドデータの位置に、そのコマンドデータに示されている任意のデータを挿入すること
を特徴とする請求項7記載の多重化方法。 - 出力する多重化ストリーム中の任意のタイミングでタイミング通知を発信する場合には、タイミング通知を発信する処理命令を示したコマンドインストラクションデータを生成し、
読み出したコマンドインストラクションデータにタイミング通知を発信する処理命令が示されている場合には、当該コマンドインストラクションデータに示されている内容が記述された上記コマンドデータを出力し、
コマンドデータにタイミング通知を発信する処理命令が示されている場合には、多重化ストリーム中のそのコマンドデータの位置で、タイミング通知を発信すること
を特徴とする請求項7記載の多重化方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003137766A JP3770249B2 (ja) | 2002-07-04 | 2003-05-15 | 多重化装置及び方法 |
US10/612,188 US8111721B2 (en) | 2002-07-04 | 2003-07-02 | Multiplexing apparatus and method |
DE60322793T DE60322793D1 (de) | 2002-07-04 | 2003-07-03 | Busmultiplex-Vorrichtung und Verfahren für Rechnersystem |
EP03254244A EP1378837B1 (en) | 2002-07-04 | 2003-07-03 | Bus multiplexing apparatus and method for computer system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002196276 | 2002-07-04 | ||
JP2003137766A JP3770249B2 (ja) | 2002-07-04 | 2003-05-15 | 多重化装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004088735A JP2004088735A (ja) | 2004-03-18 |
JP3770249B2 true JP3770249B2 (ja) | 2006-04-26 |
Family
ID=29720926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003137766A Expired - Fee Related JP3770249B2 (ja) | 2002-07-04 | 2003-05-15 | 多重化装置及び方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8111721B2 (ja) |
EP (1) | EP1378837B1 (ja) |
JP (1) | JP3770249B2 (ja) |
DE (1) | DE60322793D1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003037623A (ja) * | 2001-07-23 | 2003-02-07 | Philips Japan Ltd | Mpegネットワーク上におけるダイレクトrtp伝送方法及びシステム |
JP3821086B2 (ja) * | 2002-11-01 | 2006-09-13 | ソニー株式会社 | ストリーミングシステム及びストリーミング方法、クライアント端末及びデータ復号方法、並びにプログラム |
EP1869773A4 (en) * | 2005-04-11 | 2009-03-11 | Samsung Electronics Co Ltd | METHOD AND DEVICES FOR PRODUCING AND RESTORING 3D COMPRESSION DATA |
JP5171593B2 (ja) * | 2008-12-11 | 2013-03-27 | 三菱電機株式会社 | 画像送信装置 |
JP4984183B2 (ja) * | 2009-04-07 | 2012-07-25 | ソニー株式会社 | 再生装置、再生方法、および記録方法 |
JP2013089190A (ja) * | 2011-10-21 | 2013-05-13 | Canon Inc | データ転送装置、データ転送方法およびプログラム |
US10948830B1 (en) | 2019-12-23 | 2021-03-16 | Waymo Llc | Systems and methods for lithography |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09261192A (ja) | 1996-03-21 | 1997-10-03 | Sony Corp | 多重化装置及び圧縮符号化装置 |
US6188703B1 (en) * | 1997-08-01 | 2001-02-13 | International Business Machines Corp. | Multiplexer for multiple media streams |
JP3185863B2 (ja) * | 1997-09-22 | 2001-07-11 | 日本電気株式会社 | データ多重化方法および装置 |
US6351474B1 (en) * | 1998-01-14 | 2002-02-26 | Skystream Networks Inc. | Network distributed remultiplexer for video program bearing transport streams |
US6310898B1 (en) | 1998-01-27 | 2001-10-30 | Tektronix, Inc. | Compressed video and audio transport stream multiplexer |
JPH11234634A (ja) | 1998-02-13 | 1999-08-27 | Sony Corp | データ送出装置およびデータ多重化装置 |
JPH11340936A (ja) | 1998-05-28 | 1999-12-10 | Sony Corp | データ多重化方法及び装置 |
AU3969101A (en) * | 1999-11-08 | 2001-06-04 | Qwest Communications International Inc. | Digital headend and full service network for distribution of video and audio programming |
EP1258145B1 (en) * | 1999-12-14 | 2006-07-05 | General Instrument Corporation | Mpeg re-multiplexer having multiple inputs and multiple outputs |
JP4428779B2 (ja) * | 1999-12-24 | 2010-03-10 | 株式会社ルネサステクノロジ | データ多重装置 |
GB0007868D0 (en) * | 2000-03-31 | 2000-05-17 | Koninkl Philips Electronics Nv | Methods and apparatus for editing digital video recordings and recordings made by such methods |
TW540248B (en) * | 2000-07-19 | 2003-07-01 | Koninkl Philips Electronics Nv | Method and device for generating a multiplexed MPEG signal |
US6941446B2 (en) * | 2002-01-21 | 2005-09-06 | Analog Devices, Inc. | Single instruction multiple data array cell |
-
2003
- 2003-05-15 JP JP2003137766A patent/JP3770249B2/ja not_active Expired - Fee Related
- 2003-07-02 US US10/612,188 patent/US8111721B2/en not_active Expired - Fee Related
- 2003-07-03 DE DE60322793T patent/DE60322793D1/de not_active Expired - Lifetime
- 2003-07-03 EP EP03254244A patent/EP1378837B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US8111721B2 (en) | 2012-02-07 |
DE60322793D1 (de) | 2008-09-25 |
EP1378837A3 (en) | 2006-06-07 |
JP2004088735A (ja) | 2004-03-18 |
EP1378837A2 (en) | 2004-01-07 |
US20040008739A1 (en) | 2004-01-15 |
EP1378837B1 (en) | 2008-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR960036743A (ko) | 다중화 압축화상/음성데이타의 복호장치 | |
WO1997035393A1 (fr) | Dispositif de separation de donnees | |
US20060153290A1 (en) | Code conversion method and device thereof | |
US9516361B2 (en) | Encoding apparatus and the method | |
JP3770249B2 (ja) | 多重化装置及び方法 | |
KR100608061B1 (ko) | 전송 스트림 생성을 위한 다중화 방법 및 그 장치 | |
JP3185863B2 (ja) | データ多重化方法および装置 | |
JP2003259315A (ja) | 画像伝送装置および画像伝送方法 | |
US6950472B2 (en) | Coded data transfer control method and storage and reproduction system | |
JP4428779B2 (ja) | データ多重装置 | |
WO2009098744A1 (ja) | ストリームデータの多重化装置および多重化方法 | |
US7385996B2 (en) | Data distribution apparatus and method | |
US7010004B2 (en) | Method for multiplexing data for packet networks | |
US9578139B2 (en) | Method and system for architecture of a fast programmable transport demultiplexer using a double buffered approach | |
JPH10126371A (ja) | 多重化装置及び多重化方法 | |
JP4392952B2 (ja) | 符号化装置及び符号化方法 | |
JP4289138B2 (ja) | データ処理装置およびその方法と符号化装置 | |
JP4384565B2 (ja) | Mpeg−ts再生装置 | |
JPH1022960A (ja) | メディア符号化装置 | |
JP2002190194A (ja) | データ処理回路 | |
JP3328211B2 (ja) | データ列制御装置 | |
US20070248318A1 (en) | System and method for flexible mapping of AV vs record channels in a programmable transport demultiplexer/PVR engine | |
JP2009218959A (ja) | 同期多重化伝送装置、同期多重化伝送方法、および同期多重化伝送プログラム | |
JP3857077B2 (ja) | パケット処理装置およびパケット処理方法 | |
JP2003032298A (ja) | ストリーム選別装置及びストリーム入力装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040419 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050802 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050823 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051020 |
|
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: 20060117 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060130 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090217 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100217 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100217 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110217 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120217 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130217 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |