JP4207639B2 - データ多重化方法、データ多重化装置、送信装置および受信装置 - Google Patents
データ多重化方法、データ多重化装置、送信装置および受信装置 Download PDFInfo
- Publication number
- JP4207639B2 JP4207639B2 JP2003107626A JP2003107626A JP4207639B2 JP 4207639 B2 JP4207639 B2 JP 4207639B2 JP 2003107626 A JP2003107626 A JP 2003107626A JP 2003107626 A JP2003107626 A JP 2003107626A JP 4207639 B2 JP4207639 B2 JP 4207639B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- packet sequence
- sequence
- data
- 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 - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- 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/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
-
- 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/2362—Generation or processing of Service Information [SI]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Television Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Time-Division Multiplex Systems (AREA)
Description
【発明の属する技術分野】
本発明は、映像、音声、又はその他のディジタルデータを多重して伝送、又は蓄積する際のデータ多重化方法及びデータ多重化装置等に関するものである。
【0002】
【従来の技術】
近年、ディジタル技術の進歩により、映像、音声、又はその他のディジタルデータによる衛星放送、CATV、ビデオオンデマンド等のサービスが実用化されつつある。
【0003】
ディジタルデータを伝送する際には、これら複数のディジタルデータをいかに多重するかが重要な問題である。複数のディジタルデータを多重化する方式としてISO/IECの国際規格であるMPEG2多重化方式がある。
【0004】
MPEG2の多重化方式に関しては、蓄積メディア等への記録に適したMPEG2−PS(プログラムストリーム)方式と、放送等の伝送に適したMPEG2−TS(トランスポートストリーム)方式とがある。MPEG2−TSに関しては、複数のプログラム番組を同時に一本のストリームに多重して伝送できる構成になっている。本発明の実施例においては、MPEG2−TS方式のディジタルデータを多重化するデータ多重化方法、及びデータ多重化装置を例示する。
【0005】
以下、図面を参照しながらMPEG2−TSについて説明する。
【0006】
図6は、MPEG2−TSフォーマットの概略図である。映像、音声、またはその他のディジタルデータはそれぞれ符号化され、188バイト毎のTSパケットを構成する。
【0007】
TSパケットのヘッダ部は、PID(Packet Identifier)と呼ばれるパケット固有の識別子を有する。同じプログラム番組の映像の1以上のTSパケットは、同じPIDを有する。
【0008】
音声、又はその他のディジタルデータのTSパケットのPIDに関しても同様であり、同じプログラム番組の音声の1以上のTSパケットは、同じPIDを有し、同じプログラム番組のその他のデータの1以上のTSパケットは、同じPIDを有する。TSパケットのヘッダ部の後には、映像、音声、またはその他のデータ、あるいはアダプテーションフィールドがある。アダプテーションフィールドには、多重化の際の補助情報が存在する。
【0009】
図7は、複数のプログラム番組を同時に多重して伝送する際の各ストリームのPIDの関係を示した図である。
【0010】
各プログラム番組毎に決まっている映像、音声等のストリームのPIDは、PMTと呼ばれるテーブルに書かれている。PMTには、一本のプログラム番組についての情報が書かれており、一本のTSの中には、プログラム番組分のPMTが存在する。
【0011】
さらに、各プログラム番組のPMTのPIDが書かれているテーブルをPATと呼ぶ。PATは、一本のTS中に一系統のみ存在する。なお、PATのPIDは、"0x0000"(16進数)に決められている。
【0012】
図8は、受信側でこれらのPAT、PMTを用いて、複数のプログラム番組から好みのプログラム番組の映像、音声等のストリームを再生する手順を示したフローチャートである。
【0013】
最初に、入力されたTSからPID=0x0000であるPATのTSパケットを検出する(ステップS1)。PATには、複数のプログラム番組のPMTのPIDが書かれている。
【0014】
PATのTSパケットを検出したら、そのPATから希望するプログラム番組に対応するPMTのPIDを抽出する(ステップS2)。希望するプログラム番組に対応するPMTのTSパケットを検出したら(ステップS3)、そのPMTから希望したプログラム番組に含まれる映像、音声等のストリームのPIDを抽出する(ステップS4)。
【0015】
ここで抽出した映像、音声等のストリームのPIDを用いて、受信データの中から、該当するPIDを持つTSパケットを検出して、順次各復号器に送り(ステップS5)、映像、音声等のデータを復号することにより、希望のプログラム番組を再生することができる。
【0016】
以上、説明したように、MPEG2−TS方式では、複数のプログラム番組を一本のストリームに多重して伝送することが可能なフォーマットになっている(例えば、非特許文献1参照)。
【0017】
次に、図面を参照しながらMPEG2−TS多重化装置について説明する。
【0018】
図9は、従来のMPEG2−TS多重化装置のブロック図である。図9において、801はチャンネルバッファ、802は第1のアドレス制御手段、803はローカルCPU、804は出力バッファ、805は第2のアドレス制御手段である。
【0019】
チャンネルバッファ801では、入力される複数チャンネルのMPEG2−TSパケット列(ディジタルデータ)を受信する。第1のアドレス制御手段802では、パケット列を受信する際に、各チャンネル毎にチャンネルバッファ801のメモリのアドレスを生成して、当該パケット列をチャンネル別に、チャンネルバッファ801のメモリに格納する。
【0020】
ローカルCPU803では、多重化に伴う、時間軸情報、PIDの書き換えを行い、多重化出力順を決定する。多重化出力順に従い、第1のアドレス制御手段802では、入力した複数チャンネルのパケット列を一本のMPEG2−TSに多重されたパケット列となるように、チャンネルバッファ801のメモリから順に読み出し、出力バッファ804へ転送する。さらに、第1のアドレス制御手段802は、チャンネルバッファ801からパケット列を読み出すと同時に、第2のアドレス制御手段805へ、チャンネルバッファ801から読み出したパケット列の有効区間を示すデータイネーブル信号(DATAEN)を送出する。
【0021】
データイネーブル信号を受信した第2のアドレス制御手段805では、直ちに出力バッファ804のメモリアドレスを生成して、チャンネルバッファ801から転送されてくるパケット列を出力バッファ804のメモリへ格納する。出力バッファ804へのパケット列の入力が正常に行われている間、第2のアドレス制御手段805は、入力可能な状態であることを示すレディ信号(READY)を第1のアドレス制御手段802へ送信する。
【0022】
レディ信号を受信した第1のアドレス制御手段802は、チャンネルバッファ801から出力バッファ804へのパケット列の転送が正常に行われていることを知る。
【0023】
また、第2のアドレス制御手段805では、出力バッファ804のメモリに格納された、一本のMPEG2−TSに多重されたパケット列を固定レートで出力する。
【0024】
通常、一本に多重化されたMPEG2−TSのパケット列は、伝送路の規格に準拠した伝送レート(あらかじめ定められた固定レート)で出力する必要がある。しかしながら、データ多重化装置内部の動作周波数が、出力の伝送レートと同期していることは無く、そのためのクロックのジッタ吸収が必要である。出力バッファ804は、データ多重化装置内部の動作周波数と、出力の伝送レートとのジッタ吸収をする役割を持っている。
【0025】
上記、複数チャンネルのMPEG2−TSパケット列を受信するチャンネルバッファ用メモリ、及び出力バッファ用メモリとしては、記憶容量が大きく、高速転送できることが要求される。
【0026】
これらのメモリにスタティックラム(以下、SRAMと記す)を用いた場合は、高速転送可能であるが、記憶容量が少ないという問題がある。また、ダイナミックラム(以下、DRAMと記す)を用いた場合は、記憶容量は大きいが、高速転送できないという問題がある。
【0027】
それに対し、シンクロナスダイナミックラム(以下、SDRAMと記す)を用いた場合、記憶容量も大きく、高速転送が可能であるため、最近では、高速書き込み、高速読み出しを行う各種装置のメモリとして、SDRAMが用いられている。
【0028】
図10は、SDRAMの構成図である。ここでは一例として、16Mビット(512Kワード×16ビット×2バンク)のSDRAMの動作について説明する。
【0029】
このSDRAMは、512Kのワード長を持ち、入出力のデータバス幅は16ビットで、A及びBの2つのバンクを持っている。行アドレスは11ビット(2048行)、列アドレスは8ビット(256列)であり、1つのバンクに対し、512Kのワード長を持つ。
【0030】
データバス幅が32ビットの場合は、この16ビット幅のSDRAMを2個並列に接続して使用する。
【0031】
図11は、SDRAMのリード(読み出し)タイミングチャートである。図11のCS、RAS、CAS、WEの各信号は、Lowアクティブである。
【0032】
クロック(CLK)信号は、SDRAMへのデータ書き込み、及び読み出し時の同期クロックである。また、SDRAMからデータの読み出しを行う際は、ライト・イネーブル(WE)信号は、Highのままである。
【0033】
読み出しを行う際は、まず最初に、SDRAMのチップセレクト(CS)信号をアクティブにする。
【0034】
次に、バンク及び行アドレスを指定するアクティブコマンドを発行する。一般に、SDRAMは複数のアドレス設定方式を適用可能であるが、特に高速読み出しを行う場合は、図11に示す様に、バンクと行アドレス(Rowアドレス)を初期設定し、その後、1クロックごとに、列アドレス(Columnアドレス)が自動的に1つずつ繰り上がるアドレス設定方式を採用する。このようにSDRAMでは、指定したバンクの行アドレスにおいて連続する列アドレスデータは、クロックに同期して連続して、高速読み出しが可能である。なお、連続してリードできるバースト長は、列アドレスが8ビット(256列)の場合、最大256ワードである。
【0035】
1行分のデータを読み終えるまで、行アドレスは一定に保たれる。このアドレス設定方式は、行アドレスと列アドレスをランダムに設定する方式よりも、高速読み出しが可能である。
【0036】
チップセレクト(CS)信号をアクティブにした後、バンクと行アドレスを設定する。アドレス信号(ADD[11:0])にバンクと行アドレスデータを同時に設定し、ロウ・アドレス・ストローブ(RAS)信号をアクティブにして、SDRAM内部にバンクと行アドレスを取り込む。次に、アドレス信号(ADD[11:0])に列アドレスデータを設定し、コラム・アドレス・ストローブ(CAS)信号をアクティブにして、SDRAM内部に列アドレスの初期値を取り込む。列アドレスは256列しかないため、アドレス信号の上位4ビットは無視される。
【0037】
コラム・アドレス・ストローブ(CAS)信号は、SDRAMからデータを読み出している間、アクティブ状態に保たれる。コラム・アドレス・ストローブ(CAS)信号がアクティブ状態の間、1クロックごとに(クロックに同期して)、列アドレスが1つずつインクリメントされる(繰り上がる)。
【0038】
以上のアドレス制御により、バンク、行アドレス、及び列アドレスによって指定されるアドレスに格納されているデータが、SDRAMのデータ信号(DATA[31:0])から出力される。
【0039】
ただし、列アドレスを設定した直後にデータが出力されるわけでは無く、CASレーテンシが経過してからデータが出力される。通常、CASレーテンシは、2クロックか3クロックである。すなわち、SDRAMからデータを読み出す場合、アクティブコマンドの設定、列アドレスの設定、CASレーテンシがあるため、チップセレクト(CS)信号をアクティブにしてから最初のデータが出力されるまで、最小でも4クロック程度必要となる。
【0040】
1行分のデータの読み出しが完了し、続いて次の行をリードする場合には、バンク及び行アドレスを指定するアクティブコマンドを再度、発行し、上記のプロセスを繰り返す必要がある。
【0041】
図12は、SDRAMのライト(書き込み)タイミングチャートである。図12のCS、RAS、CAS、WEの各信号は、Lowアクティブである。
【0042】
クロック(CLK)信号は、SDRAMへのデータ書き込み、及び読み出し時の同期クロックである。
【0043】
書き込み行う際は、まず最初に、SDRAMのチップセレクト(CS)信号をアクティブにする。
【0044】
次に、バンク及び行アドレスを指定するアクティブコマンドを発行する。一般に、SDRAMは複数のアドレス設定方式を適用可能であるが、特に高速書き込みを行う場合は、図12に示す様に、バンクと行アドレス(Rowアドレス)を初期設定し、その後、1クロックごとに、列アドレス(Columnアドレス)が自動的に1つずつ繰り上がるアドレス設定方式を採用する。このようにSDRAMでは、指定したバンクの行アドレスにおいて連続する列アドレスデータは、クロックに同期して連続して、高速書き込みが可能である。なお、連続してライトできるバースト長は、列アドレスが8ビット(256列)の場合、最大256ワードである。
【0045】
1行分のデータを書き終えるまで、行アドレスは一定に保たれる。このアドレス設定方式は、行アドレスと列アドレスをランダムに設定する方式よりも、高速書き込みが可能である。
【0046】
チップセレクト(CS)信号をアクティブにした後、バンクと行アドレスを設定する。アドレス信号(ADD[11:0])にバンクと行アドレスデータを同時に設定し、ロウ・アドレス・ストローブ(RAS)信号をアクティブにして、SDRAM内部にバンクと行アドレスを取り込む。次に、アドレス信号(ADD[11:0])に列アドレスデータを設定し、コラム・アドレス・ストローブ(CAS)信号をアクティブにして、SDRAM内部に列アドレスの初期値を取り込む。列アドレスは256列しかないため、アドレス信号の上位4ビットは無視される。
【0047】
コラム・アドレス・ストローブ(CAS)信号は、SDRAMへデータの書き込みをしている間、アクティブ状態に保たれる。コラム・アドレス・ストローブ(CAS)信号がアクティブ状態の間、1クロックごとに(クロックに同期して)、列アドレスが1つずつインクリメントされる(繰り上がる)。
【0048】
また、コラム・アドレス・ストローブ(CAS)信号をアクティブにすると同時に、ライト・イネーブル(WE)信号をアクティブにする。
【0049】
以上のアドレス制御により、ライト・イネーブル(WE)信号がアクティブ状態の時、バンク、行アドレス、及び列アドレスによって指定されるアドレスに、SDRAMのデータ信号(DATA[31:0])へ入力されるデータが書き込まれる。
【0050】
ライトの場合はリードの場合と違って、CASレーテンシに関係無く、列アドレスを設定するのと同時にデータが書き込まれる。すなわち、SDRAMへデータを書き込む場合、チップセレクト(CS)信号をアクティブにしてから最初のデータを書き込むまでに、アクティブコマンドの設定、列アドレスの設定で2クロックとなる。
【0051】
1行分のデータの書き込みが完了し、続いて次の行へライトする場合には、バンク及び行アドレスを指定するアクティブコマンドを再度、発行し、上記のプロセスを繰り返す必要がある。
【0052】
以下、図9の説明に戻る。
【0053】
ローカルCPU803では、通常、多重化順序の決定を一定時間単位(T)で行う。従来例では、T=100ms単位で多重化処理を行う場合を想定する。また、一本に多重化されたMPEG2−TSのパケット列は、伝送路の規格に準拠した伝送レート(あらかじめ定められた固定レート)で出力される。従来例では、出力伝送レートを38.1Mbpsとする。また、データ多重化装置内部の動作周波数は、30MHzとする。
【0054】
ローカルCPU803が100ms単位で多重化処理を行う際に、時間軸情報、PIDの書き換えを行うが、その時、チャンネルバッファ801のメモリに格納されたパケット列は、ローカルCPU803により読み書きされる。そのため、ローカルCPU803が多重化処理を行う100ms分のパケット列は、あらかじめチャンネルバッファ801に格納されている必要がある。
【0055】
すなわち、チャンネルバッファ801にパケット列が入力されてから、ローカルCPU803が多重化処理を行うまでに、最低100msの遅延が生じる。
【0056】
第2のアドレス制御手段805では、出力バッファ804のメモリに格納された、一本のMPEG2−TSに多重されたパケット列を固定レート(38.1Mbps)で出力する。この伝送路規格に準拠した出力レートとデータ多重化装置内部の動作周波数(30MHz)は同期していないため、クロックのジッタ吸収のための出力バッファ804が必要である。
【0057】
ローカルCPU803での多重化処理単位が100msであるため、出力バッファ804がアンダーフロー、オーバーフローしないためにも、出力バッファ804には最低100ms分以上のパケット列を格納しておく必要がある。通常、出力バッファ804では、100ms+αから200ms+αの間でバッファ制御される。
【0058】
すなわち、出力バッファ804では、100msから200ms以上の遅延が生じる。
【0059】
上記の通り、データ多重化装置全体でのパケット列の遅延は、ローカルCPU803での多重化処理100ms分と、出力バッファ804での100msから200ms分を合計して、約200msから300msとなる。
【0060】
【非特許文献1】
ISO/IEC 13818-1, "Information Technology - Generic Coding of Moving Pictures and Associated Audio : Part 1 - Systems", Nov.1994
【0061】
【発明が解決しようとする課題】
しかし、以上の様にデータ入力とデータ多重化処理用にチャンネルバッファを用い、さらに、一本に多重化されたパケット列を伝送路の規格に準拠した伝送レートで出力するために出力バッファを用いた構成にした場合、データ多重化装置内部でのパケット列の遅延が300ms程度かかってしまうという問題があった。
【0062】
映像信号や音声信号をオンデマンドで視聴する場合は、視聴を開始する時に300ms程度の遅延が生じるだけなので問題はないが、プライベートデータ信号に関しては、データの送受信を行う度に、300msの遅延が生じてしまうため問題となる。
【0063】
特に、例えば、プライベートデータ信号内にインタラクティブにページ単位の呼び出しを行うインターネット情報を含むIPパケット列を格納してデータ配信を行う場合、データの送受信毎(ユーザのインタラクション毎)に300msの遅延が生じていては問題である。そのため、データ多重化装置でのプライベートデータ信号の遅延は、数十ms以内に収めることが望ましい。
【0064】
本発明は、上記問題点を解決し、入力された複数チャンネルのパケット列を多重化処理して多重パケット列を生成し出力する際に、プライベートデータ信号のパケット列のデータ多重化装置内部での遅延を数十msに抑えることができるデータ多重化方法及びデータ多重化装置等を提供することを目的とする。
【0065】
【課題を解決するための手段】
上記問題点を解決するために、本発明の第一のデータ多重化方法は、1チャンネル以上の第一のパケット列と、第二のパケット列を多重化するデータ多重化方法であって、1チャンネル以上の第一のパケット列を多重化して生じたNULLパケットを、第二のパケット列を構成するパケットに入れ替えて出力するデータ多重化方法であり、かかるデータ多重化方法により、第二のパケット列の遅延を数十msに抑えることができる。
【0066】
また、本発明の第二のデータ多重化方法は、複数チャンネルのパケット列をチャンネル単位で格納するメモリと、複数チャンネルのパケット列を多重して多重パケット列を生成するためのパケット列の多重化順序をあらかじめ定めた時間単位で生成するステップと、生成されたパケット列の多重化順序を格納するメモリと、多重化順序を格納するメモリにおいてパケット列の格納状態を示すフラグを生成するステップと、多重化順序を格納するメモリにおけるパケット列の格納状態を示すフラグにより、あらかじめ定めた時間単位で多重化を行うパケット列の総数を制御するステップと、パケット列の出力総数を設定するステップと、パケット列の出力開始アドレスを格納するメモリと、チャンネル単位で格納されたパケット列よりNULLパケット列を検出するステップとを有し、チャンネル単位で格納されたメモリよりパケット列を出力する際に、NULLパケット列を検出するステップによりNULLパケットが検出された場合、パケット列の出力開始アドレスを格納するメモリに格納されたアドレスの示すパケット列に入れ替えて出力する様にしたものである。
【0067】
また、上記のデータ多重化方法を用いた、データ多重化装置や送信装置により、遅延が少なく、パケット列を送出できる。
【0068】
さらに、上記の送信装置から送信されたストリームを受信し、出力する受信装置により、遅延が少なく、データを出力できる。
【0069】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【0070】
(実施の形態)
【0071】
図1は、本発明の実施の形態におけるデータ多重化装置1を説明するための装置のブロック図である。
【0072】
本実施形態のデータ多重化装置1は、複数チャンネルのMPEG2−TSパケット列を受信し、1本の多重化されたMPEG2−TSパケット列を出力するものである。
【0073】
図1において、101はチャンネルバッファ、102はアドレス制御手段、103はパケット列多重化順序生成手段、104はパケット列多重化順序格納手段、105はパケット列多重化順序格納状態フラグ生成手段、106はパケット列多重化総数制御手段、107はパケット列出力手段、108はローカルCPU、109はパケット列出力総数設定手段、110はパケット列出力開始アドレス格納手段、111はNULLパケット列検出手段、112はパケット列入れ替え手段である。
【0074】
本実施形態において、チャンネルバッファ101は、請求項に記載されたパケット列格納手段であることを示す。従って、本発明のパケット列格納手段が、チャンネルバッファ101に限定されることを意味しない。
【0075】
チャンネルバッファ101では、入力される複数チャンネルのMPEG2−TSパケット列(ディジタルデータ)を受信し、チャンネル毎に格納する。本発明では、記憶容量が大きく、かつ高速転送が可能なSDRAMでチャンネルバッファ101を構成している。
【0076】
SDRAM等のDRAMは、一般的に、SRAMに較べてディジタルデータの入力又は出力の際にアドレス設定に必要な時間が多いが、本発明の様に、複数チャンネルのデータを多重化するデータ多重化装置、又はデータ多重方法においては、高速大容量のメモリを必要とするため、特に、本発明の適用効果が大きい。しかし、本発明の適用の対象はSDRAM、又はDRAMに限定されるものではなく、いかなるメモリを用いたデータ多重化装置にも適用可能である。
【0077】
又、請求項に記載した発明は、メモリそのものの遅延の有無を問題にしておらず、任意のメモリを使用するデータ多重化装置、又はデータ多重化方法等について適用可能である。
【0078】
パケット列多重化順序生成手段103では、入力された複数チャンネルのパケット列を、各チャンネル毎の伝送レートに応じて、多重して一本の多重パケット列を生成するためのパケット列の多重化順序を生成する。伝送レートに応じた多重化順序の生成とは、例えば、以下の処理を言う。まず、伝送レートを担保するために必要な単位時間あたりの送出パケット数を決定し、次に当該送出パケット数分のパケットを均等に送出するように、複数のパケットをスケジューリングして送出する。ただし、パケット列多重化順序生成手段103は、他のアルゴリズムで、伝送レートに応じてパケット列の多重化順序を生成しても良い。
【0079】
多重化処理は、通常、あらかじめ定めた時間単位(T)で行われる。本実施の形態では、T=100ms単位で多重化処理を行う場合を想定する。また、一本に多重化されたMPEG2−TSのパケット列は、伝送路の規格に準拠した伝送レート(あらかじめ定められた固定レート)で出力される。本実施の形態では、出力伝送レートを38.1Mbpsとする。
【0080】
また、データ多重化装置内部の動作周波数は、30MHzとする。パケット列多重化順序生成手段103は、30MHzのクロックに同期して多重化順序を生成する。
【0081】
図2は、本発明の実施の形態例を示すパケット列多重化順序格納手段104を説明するための概念図である。
【0082】
パケット列多重化順序格納手段104では、パケット列多重化順序生成手段103により生成されたパケット列の多重化順序を格納する。パケット列多重化順序格納手段104は、パケット列の多重化順序を蓄積する動作を行うソフトウェアまたは/およびハードウェアと、メモリで構成される。チャンネルバッファ101に格納されている複数チャンネルのMPEG2−TSパケット列の多重化順序を生成し格納する際には、MPEG2−TSのパケット(1パケット=188byte)を全て格納するのではなく、パケットが格納されているチャンネルバッファ101のパケットの先頭アドレス(32bit)のみ格納する。そうすることで、パケット列多重化順序格納手段104のメモリ容量を削減できる。上記の「パケット列の多重化順序を格納する」とは、複数チャンネルのMPEG2−TSパケットの先頭アドレス(32bit)を多重化の順序で格納することを言う。
【0083】
また、パケット列多重化順序格納手段104のメモリは、ある一定の大きさの容量を持たなければならない。本実施の形態では、多重化処理をT=100ms単位で行うため、最低でも100ms分のパケット列の多重化順序を格納しなければならない。出力伝送レートが38.1Mbpsなので、100ms分のデータ量は、3.81Mbit(=476250byte)である。MPEG2−TSの1パケット当りの大きさは、188byteであるため、100ms分のパケット数は、約2534パケットとなる。
【0084】
しかし、パケット列多重化順序格納手段104のメモリ容量を100ms分(2534パケット分)にしてしまうと、データ多重化装置の動作クロック30MHzと出力伝送レート38.1Mbpsが非同期であるため、パケット列多重化順序格納手段104のメモリがオーバーフロー、又はアンダーフローを起こしてしまい、多重化処理が破綻してしまう。
【0085】
そこで、パケット列多重化順序格納手段104のメモリは、100ms+αから200ms+αの間でバッファ制御されるのが望ましい。すなわち、パケット列多重化順序格納手段104のメモリの容量は、300ms分程度必要である。本実施形態では、メモリの容量を8192パケット分(約323ms分)とする。すなわち、1パケット分に必要な容量は32bitなので、メモリの総容量は256Kbitとなる。なお、本メモリは、SDRAM、DRAM、SRAM等、どのメモリで実現しても構わない。
【0086】
図2では、3本のチャンネルのデータを多重化する際の、パケット列多重化順序格納手段104の様子を示している。チャンネルAは、1.5Mbpsのデータ、チャンネルBは、3Mbpsのデータ、チャンネルCは、4Mbpsのデータである。パケット列多重化順序格納手段104は、8192パケット分の先頭アドレス(1パケット当り、32bit)を格納できる。
【0087】
多重化処理単位T=100msで多重化すべきパケットの総数は、伝送レート38.1Mbpsで約2534パケットである。チャンネルAは1.5Mbpsであるので、100msで100パケットを多重処理する。チャンネルBは3Mbpsであるので、100msで200パケットを多重処理する。チャンネルCは4Mbpsであるので、100msで266パケットを多重処理する。100msで多重するパケットの総数は2534パケットなので、残りの1968パケットは、NULLパケット(無効パケット)を多重してトータル2534パケットとする。
【0088】
それぞれのチャンネルのパケットの多重位置は、例えば、パケット列多重化順序生成手段103により出現間隔が均等になるように多重される。チャンネルAは、2534パケット中、100パケットが存在するので、パケット列多重化順序格納手段104において、約25パケット毎に出現する。同様に、チャンネルBは、約13パケット毎に出現する。同様にチャンネルCは、約10パケット毎に出現する。なお、パケットの多重位置について、パケットが均等に出現することは必須ではない。
【0089】
以下、図1の説明に戻る。
【0090】
パケット列多重化順序格納状態フラグ生成手段105では、パケット列多重化順序格納手段104におけるパケット列多重化順序の格納状態を示すフラグを生成する。上述した通り、パケット列多重化順序格納手段104のメモリは、100ms+αから200ms+αの間でバッファ制御されるのが望ましい。よって、本実施形態では、図2に示す通り、100ms+αの位置に、Almost Emptyフラグを設定する。さらに、200ms+αの位置に、Almost Fullフラグを設定する。100ms分が約2534パケットなので、Almost Emptyフラグは、2560パケット分の位置に設定する。また、Almost Fullフラグは5120パケット分の位置に設定する。なお、Almost EmptyフラグとAlmost Fullフラグはパケット列多重化順序の格納状態を示すフラグであり、Almost Emptyフラグは、バッファに十分空き領域が存在することを示すフラグである。また、Almost Fullフラグは、バッファに余裕がなくなっていることを示すフラグである。
【0091】
パケット列多重化総数制御手段106では、パケット列多重化順序格納状態フラグ生成手段105により生成されたパケット列の格納状態を示すフラグにより、あらかじめ定めた時間単位(T=100ms)で多重化を行うパケット列の総数を制御する。
【0092】
本実施形態では、100ms分のパケット数は、約2534パケットであるため、通常、100msで多重化するパケットの総数は、2534パケットとなる。しかし、上述した通り、毎回、2534パケット分のパケット列を生成していると、データ多重化装置の動作クロック30MHzと出力伝送レート38.1Mbpsが非同期であるため、パケット列多重化順序格納手段104のメモリが、いつかオーバーフロー、又はアンダーフローを起こしてしまい、多重化処理が破綻してしまう。
【0093】
そこで、パケット列多重化順序格納状態フラグ生成手段105により生成されたAlmost Emptyフラグ、及びAlmost Fullフラグを用いてバッファ制御を行う。パケット列多重化総数制御手段106では、100ms単位で多重化するパケット列の総数を決定する。総数を決定する際に、パケット列多重化順序格納状態フラグ生成手段105により生成したフラグを参照し、Almost Emptyフラグがイネーブルであれば、前の100msでのパケット列の総数から一定の数だけパケット列の数を増やして、次の100msのパケット列の総数とする。Almost Fullフラグがイネーブルであれば、前の100msでのパケット列の総数から一定の数だけパケット列の数を減らして、次の100msのパケット列の総数とする。
【0094】
例えば、前回の100msのパケット列の総数が、2534パケットであって、Almost Emptyフラグがイネーブルであれば、次の100msのパケット列の総数を、前回より1パケット増やして、2535パケットとする。
【0095】
逆に、前回の100msのパケット列の総数が、2534パケットであって、Almost Fullフラグがイネーブルであれば、次の100msのパケット列の総数を、前回より1パケット減らして、2533パケットとする。
【0096】
以上の様に、パケット列多重化総数制御手段106で求められた次の100msのパケット列の総数に従い、パケット列多重化順序生成手段103では、次の100msの多重化順序を生成する。なお、上記のパケット列の総数を決定するアルゴリズムは一例であり、メモリがオーバーフロー又は、アンダーフローしないようにパケット列の総数を決定するアルゴリズムであれば何でも良い。
【0097】
パケット列出力手段107では、パケット列多重化順序格納手段104に格納されたパケット列多重化順序に基づいて一本に多重されたパケット列を、伝送路の規格に準拠した伝送レート(固定レート=38.1Mbps)で出力するように制御する。パケット列多重化順序格納手段104には、MPEG2−TSパケット(188byte)の先頭アドレス(32bit)が格納されている。パケット列出力手段107では、このアドレスに従い、順番にチャンネルバッファ101からパケット列を取り出して、伝送レート38.1Mbpsに従って伝送路へデータ出力を行うように制御する。
【0098】
ローカルCPU108では、多重化に伴う、時間軸情報、PIDの書き換えをチャンネルバッファ101のメモリ上で行う。
【0099】
アドレス制御手段102では、チャンネルバッファ101のアドレス制御を行う。データ多重化装置にデータを入力する際には、チャンネルバッファ101に入力できるだけの空き領域がないと入力できない。なぜならば、空き領域が無いと、すでに入力されているデータの上に次の入力データを上書きしてしまうからである。すわなち、チャンネルバッファ101の各チャンネルの空き状態を監視しながら、データを多重化装置へ入力しなければいけない。
【0100】
すなわち、データ多重化装置への複数チャンネルのデータの入力は、一定の伝送レート(垂れ流し状態)で入力できない。チャンネルバッファ101に蓄積されているデータが、多重化処理されてデータ多重化装置から出力されていなければ、チャンネルバッファ101に空き領域ができていないため、次のデータを入力できないからである。
【0101】
よって、本実施形態のデータ多重化装置では、チャンネルバッファ101に空き領域ができてから、次のデータの入力を行う構成となっている。本実施例では、ブロック単位でデータ多重化装置へのデータ入力を行う。1ブロックのサイズは、128Kbyteとする。すなわち、アドレス制御手段102では、多重化処理済みのブロックを一定時間の間、次に入力されるパケット列で上書きされないように、チャンネルバッファ101のアドレスを制御する。
【0102】
図3は、本発明の実施の形態例を示すチャンネルバッファを説明するための概念図である。
【0103】
図3は、チャンネルバッファ101内にある複数チャンネルのバッファの内、1チャンネル分のバッファの構成を示している。本実施形態では、128Kbyteのブロック単位でチャンネルバッファへデータ入力を行う。1つのチャンネルに対して、8つのブロックを持っており、3つの状態に分けることができる。1つ目は、データ入力中のブロックである。2つ目は、多重化処理中のブロックである。3つ目は、伝送路へ固定レート=38.1Mbpsで出力中のブロックである。
【0104】
データ入力中のブロックに関しては、100ms単位で1ブロック以上は発生しない。1ブロックのサイズは128Kbyte(=1Mbit)なので、本実施例のデータ多重化装置では、1チャンネル当りのデータのレートは、最大10MbpsのMPEG2−TSまで対応可能である。なお、1ブロック当り(128Kbyte)に入っているデータ量は、データ入力が100ms単位で1ブロック以下なので、最低でも100ms分以上のデータ量となる。
【0105】
多重化処理中のブロックに関しては、100ms単位での多重化処理なので、最低でも1ブロック分あれば良い。本実施形態では、3ブロック分確保する。
【0106】
伝送路へ固定レート=38.1Mbpsで出力中のブロックに関しては、本実施形態では、最低でも4ブロック分必要である。パケット列多重化順序格納手段104に格納されるパケット列は、ジッタ吸収のためパケット列多重化順序格納状態フラグ生成手段105により生成されたフラグを用いて、格納しているパケット列の数を制御している。
【0107】
パケット列多重化順序格納手段104に格納できる最大のパケット数は、8192パケット(約323ms分)なので、多重化処理後、伝送路へデータが出力されるまで、最大323msかかることになる。すなわち、チャンネルバッファ101では、多重化処理後、最大323ms分のデータを、保持しておかなければならない。1ブロックで100ms分以上のデータ量であるので、4ブロック分のデータを保持しておく必要がある。そうすることで、多重化処理済みのブロックを、次に入力されるパケット列で上書きされることが無くなる。
【0108】
以上の様に、データ多重化装置内部では、パケット列の多重化処理に伴い、パケット列がチャンネルバッファ101に入力されてから、多重処理され、出力されるまでに遅延が生じている。
【0109】
本実施例では、多重化処理単位が100msなので、多重化処理で最低100msの遅延が生じ、かつジッタ吸収のためパケット列多重化順序格納手段104において100msから200ms程度の遅延が生じる。つまり、多重化装置内部では、300ms程度の遅延が生じることになる。
【0110】
映像信号や音声信号をオンデマンドで視聴する場合は、視聴を開始する時に300ms程度の遅延が生じるだけなので問題はないが、プライベートデータ信号に関しては、データの送受信を行う度に、300msの遅延が生じてしまうため問題となる。
【0111】
特に、プライベートデータ信号内にインターネット情報を含むIPパケット列を格納してデータ配信を行う場合、データの送受信毎(ユーザのインタラクション毎)に300msの遅延が生じていては問題である。そのため、データ多重化装置でのプライベートデータ信号の遅延は、数十ms以内に収めることが望ましい。
【0112】
そこで本実施形態では、映像信号や音声信号のパケット列とは別の多重化処理方法で、プライベートデータパケット列の多重化処理を行う。
【0113】
プライベートデータのパケット列は、映像信号や音声信号と違い、時間軸情報の書き換え等が不要である。すなわち、映像信号や音声信号で発生していた多重化処理単位100msの遅延をなくすことができる。
【0114】
また、時間軸情報が不要なため、一本に多重化処理されるパケット列のどこにプライベートデータパケット列が多重化されても構わない。
【0115】
通常、一本に多重化処理されるパケット列には出力伝送レートを保つために、映像、音声パケット列以外にNULLパケット列が挿入してある。NULLパケット列は、伝送レートを保つために挿入されているだけであって、受信側で映像、音声をデコードして視聴する時には捨てられる。
【0116】
すなわち、NULLパケット列が挿入されているところにプライベートデータのパケット列を入れ替えて出力伝送することが可能である。
【0117】
上記理由により、データ多重化装置に入力されたプライベートデータのパケット列は、チャンネルバッファ101に入力後、直ちに出力処理され、データ多重化装置の出力部でNULLパケット列と入れ替えて出力されれば、映像パケット列や音声パケット列とは異なり、データ多重化装置内部での遅延を限りなく小さくできる。
【0118】
以下、図1に戻り、プライベートデータのパケット列の多重化処理方法を説明する。
【0119】
パケット列出力総数設定手段109では、チャンネルバッファ101に入力されたプライベートデータのパケット列を1ブロック分まとめて出力できるように、1ブロック内に含まれるパケット数の総数を設定する。
【0120】
本実施形態では、1ブロック=128Kbyteなので、ブロックのヘッダ情報(224byte)を除くと、1ブロック当り最大696個のプライベートデータのTSパケットが格納されている。すなわち、パケット列出力総数設定手段109では、最大696まで出力パケット数を設定できる。パケット列出力総数設定手段109で設定されたパケット数の単位でプライベートデータの多重出力処理が行われる。
【0121】
パケット列出力開始アドレス格納手段110では、プライベートデータを1ブロック分まとめて出力するために、ブロック内の先頭パケット列の先頭アドレスを格納する。格納されたアドレスから順番に、パケット列出力総数設定手段109で設定されたパケット数だけプライベートデータパケット列が多重出力処理される。
【0122】
多重出力処理を開始する際のトリガ条件は、パケット列出力開始アドレス格納手段110に先頭アドレスが書き込まれたことである。先頭アドレスが書き込まれたら、通常、直ちにプライベートデータのパケット列の多重出力処理が開始される。
【0123】
NULLパケット列検出手段111では、パケット列多重化順序格納手段104に格納されたパケット列多重化順序に該当するパケット列がパケット列出力手段107により出力される際に、NULLパケット列であるかどうかを検出する。
【0124】
TSパケットには、パケット列を識別する13bitのPIDが付いており、NULLパケット列についてはPID=0x1FFFと定められている。パケット列出力手段107によりパケット列が出力される際に、各パケット列のPID値を0x1FFFと比較することでNULLパケット列を検出することができる。
【0125】
図4は、本発明の実施の形態例を示すパケット列入れ替え手段112を説明するための概念図である。
【0126】
図4では、4本のチャンネルのデータを多重化する際の、パケット列多重化処理の様子を示している。チャンネルAは、1.5Mbpsの映像音声データ、チャンネルBは、3Mbpsの映像音声データ、チャンネルCは、4Mbpsの映像音声データ、もう1チャンネルはプライベートデータである。パケット列多重化順序格納手段104は、8192パケット分の先頭アドレス(1パケット当り、32bit)を格納できる。
【0127】
多重化処理単位T=100msで多重化すべきパケットの総数は、伝送レート38.1Mbpsで約2534パケットである。チャンネルAは1.5Mbpsであるので、100msで100パケットを多重処理する。チャンネルBは3Mbpsであるので、100msで200パケットを多重処理する。チャンネルCは4Mbpsであるので、100msで266パケットを多重処理する。100msで多重するパケットの総数は2534パケットなので、通常、残りの1968パケットは、NULLパケット(無効パケット)を多重してトータル2534パケットとする。
【0128】
それぞれのチャンネルのパケットの多重位置は、パケット列多重化順序生成手段103により出現間隔が均等になるように多重される。チャンネルAは、2534パケット中、100パケットが存在するので、パケット列多重化順序格納手段104において、約25パケット毎に出現する。同様に、チャンネルBは、約13パケット毎に出現する。同様にチャンネルCは、約10パケット毎に出現する。それ以外の多重位置には、NULLパケット列が多重される。なお、上記のチャンネルのパケットの多重位置は、出現間隔が均等になるように多重されことは必須ではなく、他の多重化方法でも良い。
【0129】
パケット列多重化順序格納手段104に格納されたパケット列多重化順序に基づいてパケット列がデータ多重化装置より出力伝送される前に、パケット列入れ替え手段112では、NULLパケット列検出手段111において検出されたNULLパケットの多重位置にプライベートデータのパケット列を入れ替えて出力伝送する。NULLパケット列の検出は、PID値を0x1FFFと比較することで検出できる。
【0130】
パケット列出力開始アドレス格納手段110にプライベートデータパケット列の先頭アドレスが書き込まれたら、直ちにパケット列入れ替え手段112でNULLパケット列とプライベートデータパケット列の入れ替え処理が開始される。NULLパケット列と入れ替えを行うプライベートデータのパケット列の総数は、パケット列出力総数設定手段109に設定されている。
【0131】
NULLパケット列と入れ替えを行ったプライベートデータパケット列の合計数が、パケット列出力総数設定手段109に設定された値と一致したら、当該ブロックに含まれるプライベートデータパケット列の多重出力処理が完了したことになる。
【0132】
続いて、次のブロックのプライベートデータパケット列の多重出力処理に移行する。次のブロックのプライベートデータパケット列も上記と同様の方法で多重出力処理が行われる。
【0133】
以上の様に、本実施形態によれば、パケット列出力総数設定手段により、プライベートデータのパケット列を1ブロック分まとめて出力できるようにし、かつパケット列出力開始アドレス格納手段により、先頭アドレスが書き込まれたら直ちにプライベートデータのパケット列の多重出力処理が開始されるようにし、かつNULLパケット列検出手段により、出力されるパケット列がNULLパケット列であるかどうかを検出するようにし、かつパケット列入れ替え手段により、検出されたNULLパケットの多重位置にプライベートデータのパケット列を入れ替えて出力伝送する様にしたので、データ多重化装置内部におけるプライベートデータ信号のパケット列の遅延を数十msに抑えることができる。
【0134】
以上、実施の形態で説明したように、入力された複数チャンネルのパケット列をチャンネルバッファに格納し多重化処理して多重パケット列を生成し出力する際に、入力された複数チャンネルのパケット列をチャンネルバッファに格納し多重化処理して多重パケット列を生成し出力する際に、あらかじめ定めた時間単位で多重化順序を生成し、かつ多重化順序を格納するメモリにおけるパケット列の格納状態を示すフラグにより、あらかじめ定めた時間単位で多重化を行うパケット列の総数を制御し、かつチャンネルバッファのアドレスは、あらかじめ定めたブロック単位で制御し、かつ多重化処理済みのブロックを一定時間の間、次に入力されるパケット列で上書きされないようにチャンネルバッファのアドレスを制御し、かつプライベートデータのパケット列を1ブロック分まとめて出力できるようにパケット列の総数を設定し、かつプライベートデータの先頭アドレスが書き込まれたら直ちにプライベートデータのパケット列の多重出力処理が開始されるようにし、かつ出力されるパケット列がNULLパケット列であるかどうかを検出するようにし、かつ検出されたNULLパケットの多重位置にプライベートデータのパケット列を入れ替えて出力伝送する様にしたので、出力バッファを使用せず、チャンネルバッファのみで、データの入力と多重化処理と伝送路の規格に準拠した伝送レートでの出力処理を行うことができ、かつデータ多重化装置内部におけるプライベートデータ信号のパケット列の遅延を数十msに抑えることができる。
【0135】
なお、本発明は、上記実施形態に限定されるものではなく、本発明の趣旨に基づいて種々の変形が可能であり、これらを本発明の範囲から排除するものではない。
【0136】
本発明を適用可能なデータ多重化装置は、MPEG2−TSパケット列を多重化するデータ多重化装置に限らない。又、映像信号又は音声信号のデータ多重化装置にも限らない。本発明は、1つの記憶手段のみで、任意のディジタルデータを多重化し、伝送路の規格に準拠した伝送レート出力するデータ多重化装置又はデータ多重化方法に適用可能である。
【0137】
特に、映像信号、音声信号、プライベートデータ信号、又はその他の連続するディジタルデータを多重化するデータ多重化装置、又はデータ多重化方法において有効である。これらのデータは、メモリの最大出力レート又は最大入力レートに近い高速大容量のデータ伝送が必要な場合が多く、データ伝送効率を出来る限り上げることが必要だからである。
【0138】
又、データ伝送の最終端末である受信装置(例えば、テレビやステレオ装置)のバッファに蓄えられているディジタルデータが空になると、映像や音声が途切れると言う不都合を生じるため、当該最終端末において、時間軸上の信号の連続性を維持することが求められる。従って、一定以上のデータ伝送の遅延が許されない。そのため、映像信号等のデータ多重化装置等におけるデータ伝送の遅延を出来るだけ小さくし、データ伝送効率の高いシステムを実現することが求められる。かかる点からも、映像信号、音声信号、プライベートデータ信号、又はその他のディジタルデータを多重化するデータ多重化装置又はデータ多重化方法に対して、本発明の適用効果が大きい。
【0139】
また、本実施の形態において、NULLパケットに入れ替えられるパケットは、プライベートデータを構成するパケットであったが、他のパケットであっても良い。つまり、本実施の形態において、1チャンネル以上の第一のパケット列と、第二のパケット列を多重化するデータ多重化方法であって、1チャンネル以上の第一のパケット列を多重化して生じたNULLパケットに、前記第二のパケット列を構成するパケットを入れ替えて出力するデータ多重化方法、データ多重化装置等について説明した。なお、かかるデータ多重化方法等における第二のパケット列は、時間軸情報を有しない情報から構成されることが好適であることは、上述した通りである。
【0140】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるデータ多重化方法を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、1チャンネル以上の第一のパケット列と、第二のパケット列を取得するパケット取得ステップと、1チャンネル以上の第一のパケット列を多重化する多重化ステップと、多重化ステップで多重化したパケット列からNULLパケットを検出するステップと、検出したNULLパケットを第二のパケット列を構成するパケットに入れ替えて出力するステップを実行させるためのプログラム、である。
【0141】
(実施の形態2)
【0142】
図5は、本発明の実施の形態における送受信システムを説明するためのブロック図である。本送受信システムは、サーバ装置501、送信装置502、受信装置503を有する。
【0143】
サーバ装置501は、送信するコンテンツを格納していおり、複数チャンネルのコンテンツを送信装置502に供給する。
【0144】
送信装置502は、多重化装置1と送信手段5021を有する。多重化装置1は、サーバ装置501からチャンネルごとのコンテンツを取得する。多重化装置1の詳細は、実施の形態1で説明したので、ここでの説明は省略する。
【0145】
送信手段5021は、多重化装置1の出力である多重化されたストリームを送信する。送信手段5021は、放送手段で実現することが好適であるが、無線または有線の通信手段でも実現可能である。
【0146】
受信装置503は、送信装置502から送信されるストリームを受信し、出力する。受信装置503は、受信手段5031、入力受付手段5032、パケット取得手段5033、出力手段5034を有する。
【0147】
受信手段5031は、送信装置502からストリームを受信する。受信手段5031は、放送を受信する手段で実現されることが好適であるが、無線または有線の通信手段でも実現可能である。
【0148】
入力受付手段5032は、ユーザからの入力(例えば、リモコン信号)を受け付ける。入力受付手段5032は、例えば、赤外線受光部とリモコンのドライバーソフト等で実現され得る。
【0149】
パケット取得手段5033は、入力受付手段5032が受け付けた入力にしたがって、受信手段5031が受信したストリーム中のパケットを取得する。入力受付手段5032がチャンネル「6」を示す信号を受け付けた場合に、パケット取得手段5033は、チャンネル「6」に該当する番組に対応するパケットを取得する
【0150】
出力手段503は、パケット取得手段5033が取得したパケットを出力する。出力とは、通常、ディスプレイへの表示、およびスピーカーへの音出力をうが、外部の装置への送信等を含んでも良い。出力手段503は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力手段503は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0151】
本送受信システムにおいて、サーバ装置501のコンテンツは、送信装置502で多重化され、送信される。そして、受信装置503は、当該コンテンツを受信し、出力する。かかる場合、実施の形態1で述べたように、送信装置502において、複数のチャンネルのコンテンツ(パケット列)は、1チャンネル以上の第一のパケット列を多重化して生じたNULLパケットを、第二のパケット列を構成するパケットに入れ替えて出力するデータ多重化方法により多重化される。
【0152】
以上、本実施の形態において、実施の形態1で述べた多重化装置を含むコンテンツ(パケット列)の送受信の態様について説明した。
【発明の効果】
本発明によれば、1チャンネル以上の第一のパケット列を多重化して生じたNULLパケットを、第二のパケット列を構成するパケットに入れ替えて出力するデータ多重化方法により、第二のパケット列の遅延を数十msに抑えることができる。
【図面の簡単な説明】
【図1】実施の形態1のデータ多重化装置のブロック図
【図2】実施の形態1のパケット列多重化順序格納手段の概念図
【図3】実施の形態1のチャンネルバッファの概念図
【図4】実施の形態1のパケット列入れ替え手段の概念図
【図5】実施の形態2の送受信システムのブロック図
【図6】MPEG2−TSフォーマットの概略図
【図7】複数のプログラム番組を同時に多重して伝送する際の各ストリームのPIDの関係を示した図
【図8】複数のプログラム番組から好みのプログラム番組の映像、音声等のストリームを再生する手順を示したフローチャート
【図9】従来のMPEG2−TS多重化装置のブロック図
【図10】SDRAMの構成図
【図11】SDRAMのリードタイミングチャート
【図12】SDRAMのライトタイミングチャート
【符号の説明】
101 チャンネルバッファ
102 アドレス制御手段
103 パケット列多重化順序生成手段
104 パケット列多重化順序格納手段
105 パケット列多重化順序格納状態フラグ生成手段
106 パケット列多重化総数制御手段
107 パケット列出力手段
108 ローカルCPU
109 パケット列出力総数設定手段
110 パケット列出力開始アドレス格納手段
111 NULLパケット列検出手段
112 パケット列入れ替え手段
801 チャンネルバッファ
802 第1のアドレス制御手段
803 ローカルCPU
804 出力バッファ
805 第2のアドレス制御手段
Claims (16)
- 時間軸情報を有する複数チャンネルの第一のパケット列を所定の時間単位で入力し、これらの第一のパケット列を多重化するとともにNULLパケットを挿入することにより所定の伝送レートとなるように前記所定の時間単位で多重化処理して多重パケット列を生成するデータ多重化手段と、
時間軸情報を有しない第二のパケット列を前記所定の時間単位で入力し、前記多重パケット列のNULLパケットを前記第二のパケット列のパケットに入れ替えて出力するパケット入れ替え手段とを備え、
前記パケット入れ替え手段は、第二のメモリブロックを有し、入力した前記第二のパケット列を前記第二のメモリブロックに格納完了後、直ちに、前記NULLパケットを前記第二のメモリブロックに格納された前記第二のパケット列のパケットに入れ替え開始することを特徴とするデータ多重化装置。 - 前記第一のパケット列は、映像信号、又は音声信号のパケット列であることを特徴とする請求項1記載のデータ多重化装置。
- 前記第二のパケット列は、プライベートデータのパケット列であることを特徴とする請求項1記載のデータ多重化装置。
- 前記第二のメモリブロックは、前記複数チャンネルの第一のパケット列のうち最大の伝送レートを有するチャンネルの前記所定の時間分のパケット列を格納可能なメモリ容量を有し、
前記データ多重化手段は、前記第二のメモリブロックと同じメモリ容量を有する第一のメモリブロックを複数有し、前記第一のパケット列をチャンネル毎に前記第一のメモリブロックに格納し、前記第一のメモリブロックに格納された前記第一のパケット列を多重化処理し、前記第一のメモリブロックに格納され前記多重化処理された前記多重化パケットを前記所定の伝送レートで出力することを特徴とする請求項1記載のデータ多重化装置。 - 前記第一のメモリブロックおよび前記第二のメモリブロックを構成するメモリは、シンクロナスダイナミックラムであることを特徴とする請求項4記載のデータ多重化装置。
- 前記データ多重化手段は、前記多重パケット列を生成するためのパケット列の多重化順序を示す順序情報を前記所定の時間単位で生成するパケット列多重化順序
生成部と、前記順序情報を格納するパケット列多重化順序格納部と、前記順序情報が前記パケット列多重化順序格納部に格納される状態を示すフラグを生成するパケット列多重化順序格納状態フラグ生成部と、前記フラグに基づいて前記所定の時間単位で多重化を行うパケットの総数を決定し、この決定した総数により前記多重化順序生成手段を制御するパケット列多重化総数制御部とを有し、
前記パケット列多重化順序生成部は、前記所定の時間単位で多重化する前記第一のパケット列のパケット数と前記NULLパケットの数との和が前記総数となるように前記順序情報を生成し、
前記データ多重化手段は、前記第一のメモリブロックに格納された前記第一のパケット列を、前記順序情報に基づいて多重化処理することを特徴とする請求項4記載のデータ多重化装置。 - 前記パケット列多重化順序格納状態フラグ生成部で生成するフラグは、前記パケット列多重化順序格納部に格納されるパケット列の格納数が一定値以下であることを示すAlmost Emptyフラグと、一定値以上であることを示すAlmost
Fullフラグとを含むことを特徴とする請求項6記載のデータ多重化装置。 - 前記パケット入れ替え手段は、前記多重化パケットのNULLパケットを検出するNULLパケット列検出部と、前記第二のメモリブロックに格納された前記第二のパケット列のパケット数を設定するパケット列出力総数設定部と、前記第二のメモリブロックへの前記第二のパケット列の格納完了を指示するパケット列出力開始アドレス格 納部と、前記パケット列出力開始アドレス格納部の前記指示により、直ちに、前記NULLパケット列検出部で検出したNULLパケットを、前記パケット列出力総数設定部で設定したパケット数だけ、前記第二のパケット列のパケットに入れ替えるパケット列入れ替え部とを有することを特徴とする請求項4記載のデータ多重化装置。
- 請求項1記載の前記データ多重化装置と、このデータ多重化装置が出力するデータ多重化パケット列を送信する送信手段とを備えた送信装置。
- 請求項9記載の前記送信装置から送信された前記データ多重化パケット列を受信して、前記第一のパケット列のいずれかのチャンネルの信号、および前記第二のパケット列のデータを出力する受信装置。
- 時間軸情報を有する複数チャンネルの第一のパケット列を所定の時間単位で入力し、これらの第一のパケット列を多重化するとともにNULLパケットを挿入することにより所定の伝送レートとなるように前記所定の時間単位で多重化処理して多重パケット列を生成するデータ多重化ステップと、
時間軸情報を有しない第二のパケット列を前記所定の時間単位で入力し、前記多重パケット列のNULLパケットを前記第二のパケット列のパケットに入れ替えたデータ多重化パケット列を出力するパケット入れ替えステップとを備え、
前記パケット入れ替えステップにおいて、入力した前記第二のパケット列を第二のメモリブロックに格納完了後、直ちに、前記NULLパケットを前記第二のメモリブロックに格納された前記第二のパケット列のパケットに入れ替え開始することを特徴とするデータ多重化方法。 - 前記第二のメモリブロックは、前記複数チャンネルの第一のパケット列のうち最大の伝送レートを有するチャンネルの前記所定の時間分のパケット列を格納可能なメモリ容量を有し、
前記データ多重化ステップは、前記第二のメモリブロックと同じメモリ容量を有する第一のメモリブロックに前記第一のパケット列をチャンネル毎に格納するステップと、前記第一のメモリブロックに格納された前記第一のパケット列を多重化処理するステップと、前記第一のメモリブロックに格納され前記多重化処理された前記多重化パケットを前記所定の伝送レートで出力するステップとを有することを特徴とする請求項11記載のデータ多重化方法。 - 前記データ多重化ステップは、前記多重パケット列を生成するための
パケット列の多重化順序を示す順序情報を前記所定の時間単位で生成する順序情報生成ステップと、前記順序情報を格納するステップと、前記順序情報の格納状態を示すフラグを生成するフラグ生成ステップと、前記フラグに基づいて前記所定の時間単位で多重化を行うパケットの総数を決定するステップと、この決定した総数により前記順序情報生成ステップに置ける前記順序情報の生成を制御するステップとを有し、
前記順序情報生成ステップにおいて、前記所定の時間単位で多重化する前記第一のパケット列のパケット数と前記NULLパケットの数との和が前記総数となるように前記順序情報を生成し、
前記データ多重化ステップは、前記第一のメモリブロックに格納された前記第一のパケット列を、前記順序情報に基づいて多重化処理することを特徴とする請求項12記載のデータ多重化方法。 - 前記フラグ生成ステップで生成する前記フラグは、前記格納された前記順序情報の数が一定値以下であることを示すAlmost Emptyフラグと、一定値以上であることを示すAlmost Fullフラグとを含むことを特徴とする請求項13記載のデータ多重化方法。
- 前記パケット入れ替えステップは、前記多重化パケットのNULLパケットを検出するNULLパケット検出ステップと、前記第二のメモリブロックに格納された前記第二のパケット列のパケット数を設定するパケット数設定ステップと、前記第二のメモリブロックへの前記第二のパケット列の格納完了を指示するステップと、前記指示 により、直ちに、前記NULLパケット検出ステップで検出したNULLパケットを、前記パケット数設定ステップで設定したパケット数だけ、前記第二のパケット列のパケットに入れ替えるパケット列入れ替えステップとを有することを特徴とする請求項12記載のデータ多重化方法。
- 請求項11記載の前記データ多重化方法における前記データ多重化ステップと、前記パケット入れ替えステップとをコンピュータに実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003107626A JP4207639B2 (ja) | 2003-04-11 | 2003-04-11 | データ多重化方法、データ多重化装置、送信装置および受信装置 |
US10/814,184 US7394829B2 (en) | 2003-04-11 | 2004-04-01 | Data multiplexing apparatus, data multiplexing method, and transmission apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003107626A JP4207639B2 (ja) | 2003-04-11 | 2003-04-11 | データ多重化方法、データ多重化装置、送信装置および受信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004320117A JP2004320117A (ja) | 2004-11-11 |
JP4207639B2 true JP4207639B2 (ja) | 2009-01-14 |
Family
ID=33295863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003107626A Expired - Lifetime JP4207639B2 (ja) | 2003-04-11 | 2003-04-11 | データ多重化方法、データ多重化装置、送信装置および受信装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7394829B2 (ja) |
JP (1) | JP4207639B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4746998B2 (ja) * | 2006-02-15 | 2011-08-10 | Necディスプレイソリューションズ株式会社 | 伝送レート調整装置および伝送レート調整方法 |
CN101184205B (zh) * | 2006-11-14 | 2011-03-30 | 展讯通信(上海)有限公司 | 一种节目成分复用和识别方法 |
KR101199386B1 (ko) * | 2006-12-19 | 2012-11-09 | 엘지전자 주식회사 | 디지털 방송 시스템 및 데이터 처리 방법 |
JP5142667B2 (ja) * | 2007-10-26 | 2013-02-13 | 日本テレビ放送網株式会社 | 変換装置、tsパケット変換方法及びプログラム |
US8264493B2 (en) * | 2008-05-12 | 2012-09-11 | Playcast Media Systems, Ltd. | Method and system for optimized streaming game server |
US8321903B2 (en) * | 2008-07-28 | 2012-11-27 | Playcast Media Systems, Ltd. | External services allocation in closed on-demand systems |
JP5476997B2 (ja) * | 2010-01-06 | 2014-04-23 | ソニー株式会社 | 受信装置及び方法、プログラム、並びに受信システム |
US8711949B2 (en) * | 2010-10-18 | 2014-04-29 | Comcast Cable Communications, Llc | System, device and method for transrating file based assets |
JP5664187B2 (ja) * | 2010-12-06 | 2015-02-04 | ソニー株式会社 | 相互接続装置、および、その制御方法 |
US8773993B2 (en) * | 2011-01-31 | 2014-07-08 | Apple Inc. | Adaptive bandwidth estimation |
JP5143295B1 (ja) * | 2012-01-27 | 2013-02-13 | 株式会社東芝 | 電子機器及びインデックス生成方法 |
CN102647619A (zh) * | 2012-04-16 | 2012-08-22 | 辛欣 | 一种基于数字电视系统或iptv系统的信息服务系统及方法 |
US9118425B2 (en) | 2012-05-31 | 2015-08-25 | Magnum Semiconductor, Inc. | Transport stream multiplexers and methods for providing packets on a transport stream |
US9485185B2 (en) | 2013-09-24 | 2016-11-01 | Nicira, Inc. | Adjusting connection validating control signals in response to changes in network traffic |
CN107679116A (zh) * | 2017-09-18 | 2018-02-09 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置和电子设备 |
US11095545B2 (en) | 2019-10-22 | 2021-08-17 | Vmware, Inc. | Control packet management |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JPH10173622A (ja) | 1996-12-16 | 1998-06-26 | Matsushita Electric Ind Co Ltd | 低速データ多重装置及びデータ送信装置 |
JP3429652B2 (ja) | 1997-12-01 | 2003-07-22 | 沖電気工業株式会社 | ディジタル符号化多重化装置 |
US6351474B1 (en) * | 1998-01-14 | 2002-02-26 | Skystream Networks Inc. | Network distributed remultiplexer for video program bearing transport streams |
US6996098B2 (en) * | 1999-03-31 | 2006-02-07 | Sedna Patent Services, Llc | Method and apparatus for injecting information assets into a content stream |
US9668011B2 (en) * | 2001-02-05 | 2017-05-30 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Single chip set-top box system |
US6771657B1 (en) * | 1999-12-09 | 2004-08-03 | General Instrument Corporation | Non real-time delivery of MPEG-2 programs via an MPEG-2 transport stream |
US20020146023A1 (en) * | 2001-01-09 | 2002-10-10 | Regan Myers | Transport stream multiplexer utilizing smart FIFO-meters |
US20020144260A1 (en) * | 2001-03-29 | 2002-10-03 | Koninklijke Philips Electronics N.V. | Method for adaptive data/content insertion in MPEG2 transport stream |
US7103047B1 (en) * | 2001-06-26 | 2006-09-05 | Juniper Networks, Inc. | Method and apparatus for modifying the rate of MPEG transport streams |
-
2003
- 2003-04-11 JP JP2003107626A patent/JP4207639B2/ja not_active Expired - Lifetime
-
2004
- 2004-04-01 US US10/814,184 patent/US7394829B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2004320117A (ja) | 2004-11-11 |
US20040213298A1 (en) | 2004-10-28 |
US7394829B2 (en) | 2008-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4207639B2 (ja) | データ多重化方法、データ多重化装置、送信装置および受信装置 | |
US20080008455A1 (en) | Cpi data for steam buffer channels | |
JPH09205618A (ja) | 動画像音声伸張再生装置および動画像音声同期制御器 | |
JPH10507597A (ja) | マルチメディア・システムのためのプログラマブルなオーディオ−ビデオ同期方法および装置 | |
JP3185863B2 (ja) | データ多重化方法および装置 | |
JP2002204427A (ja) | トランスポートストリームの多重化方法、トランスポートストリーム多重化装置及び蓄積再生システム | |
US6950472B2 (en) | Coded data transfer control method and storage and reproduction system | |
JP2002077818A (ja) | 蓄積再生システム、トランスポートストリームの蓄積方法及びトランスポートストリームの再生方法 | |
US7609768B2 (en) | Video buffer control apparatus for dual video decoding and digital broadcasting receiver thereof | |
KR100259295B1 (ko) | 메모리 제어 장치 | |
JP4263433B2 (ja) | オーディオ/ビデオ記録装置及びオーディオ/ビデオ多重化方法 | |
JP2004080484A (ja) | データ多重化方法及びデータ多重化装置 | |
JP2000188752A (ja) | 多重分離制御装置 | |
JP3401219B2 (ja) | メモリデータ伝送方法及びメモリデータ伝送装置 | |
US9578139B2 (en) | Method and system for architecture of a fast programmable transport demultiplexer using a double buffered approach | |
JP2001177568A (ja) | ストリーム多重化装置 | |
JP2000201181A (ja) | メモリデ―タ配置方法及びデ―タ多重化装置 | |
JP2000349817A (ja) | メモリデータ配置方法及びデータ多重化装置 | |
KR100460966B1 (ko) | 일시재생장치 및 방법 | |
JP2006050078A (ja) | データ転送制御装置及び電子機器 | |
JP2003037794A (ja) | デジタル放送受信再生装置 | |
JP2007067808A (ja) | 動画ストリームの画像再生装置及び方法 | |
JP3862933B2 (ja) | 記録装置 | |
JP2002112180A (ja) | ディジタルデータ記録再生装置及びその方法 | |
JP2006049948A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060327 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060412 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080627 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080701 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080731 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080826 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080908 |
|
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: 20080930 |
|
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: 20081013 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4207639 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111031 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121031 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131031 Year of fee payment: 5 |
|
EXPY | Cancellation because of completion of term |