JP3677026B2 - データ差替出力装置及びデータ差替出力方法 - Google Patents

データ差替出力装置及びデータ差替出力方法 Download PDF

Info

Publication number
JP3677026B2
JP3677026B2 JP2003321902A JP2003321902A JP3677026B2 JP 3677026 B2 JP3677026 B2 JP 3677026B2 JP 2003321902 A JP2003321902 A JP 2003321902A JP 2003321902 A JP2003321902 A JP 2003321902A JP 3677026 B2 JP3677026 B2 JP 3677026B2
Authority
JP
Japan
Prior art keywords
data
replacement
unit
output
target
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
JP2003321902A
Other languages
English (en)
Other versions
JP2004135315A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2003321902A priority Critical patent/JP3677026B2/ja
Publication of JP2004135315A publication Critical patent/JP2004135315A/ja
Application granted granted Critical
Publication of JP3677026B2 publication Critical patent/JP3677026B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Studio Circuits (AREA)
  • Television Systems (AREA)

Description

本発明は、外部より送信されるデータを受信し、受信したデータの内容の一部を差替えて、データを出力するデータ差替出力装置に関する。
近年、放送衛星を利用したBS(Broadcasting Satellite)デジタル放送が開始され、2003年末からは、地上波を利用した地上デジタル放送が新たに開始され、現在利用されているアナログ放送は、今後数年以内に全て地上デジタル放送に切替えられることが予定されている。
この地上デジタル放送では、映像や音声から成る従来の映像音声番組に加え、文字情報や静止画像等から成るデータ放送番組が放送される。このデータ放送番組では、カルーセル伝送方式と呼ばれる伝送方式により、データ放送番組を構成する素材データが送出される。
ここで、「カルーセル伝送方式」とは、国際規格であるISO/IEC 13818−6によって定義された伝送方式のことをいい、具体的には、同一内容のデータ放送番組を構成するデータを、当該データ放送番組を構成するデータ単位で周期的に繰返し送出する伝送方式のことをいう。
従って、地上デジタル放送では、視聴者は、従来の放送番組に加え、データ放送番組を視聴することにより、天気予報やニュースや放送中の映像音声番組に関連した番組情報などの付加情報を得ることができる。
一方、天気予報やニュースなどの放送番組を放送する場合には、各地方の視聴者のニーズに合うように放送番組の構成の一部を変更することが必要とされる。例えば、関西地方の視聴者に天気予報を放送する場合には、関東地方の天気予報は放送する必要はなく、その代わりに関西地方のより詳しい天気予報を放送することが必要となる。
又、ローカルニュースを放送する場合においては、地域毎に放送するニュースの内容を切替えることが必要とされる。
このような、番組内容の一部変更や切替えを行うために、従来の放送番組においては、キー局から放送される放送番組の構成要素の一部を、地方局において差替えて放送することが行われている。
この放送番組の番組内容の一部差替えを行う技術として、特許文献1に各CM素材の始まりに前識別コードを付加し、終わりに後識別コードを付加し、前識別コードと後識別コードの境界を検出し、その検出信号によって、受局の同期信号に同期するように遅延させた発局のCM素材を受局のCM素材に差し替える技術が開示されている。
これにより、発局のCM素材を、受局のCM素材に差し替えるとき、発局のCM素材が一瞬見えるちら見えを防止することができる。
特開2001-045371
しかしながら、上記の従来技術における差替技術は、アナログ放送に適用される差替技術であり、アナログ放送とは、放送番組の伝送方式、及び放送される素材データのデータ構造が異なる地上デジタル放送におけるデータ放送番組の構成要素の差替えには、適用することができない。
又、構成要素の差替えに拠って、キー局から放送されるデータ放送番組を構成する素材データのデータサイズと地方局から放送されるデータ放送番組を構成する素材データのデータサイズに差が生じてしまうと、キー局と地方局でそれぞれ異なる帯域を使用しないと、同一の周期で素材データを放送することができない。
そこで、本発明は、上記の問題点に鑑み、データの入力速度と出力速度とを同一に保ちつつ、入力データの一部を差替えてデータを出力することが可能なデータ差替出力装置及びデータ差替出力方法を提供することを目的とする。
上記課題を解決するために、本発明は、それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
前記データ差替出力装置は、基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較し、その比較結果に基づいて、前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う決定手段と、ユニットデータの入力速度と同一の速度でユニットデータを出力し、前記決定手段によって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、入力された前記差替対象データを構成するユニットデータを前記代替データを構成するユニットデータに1対1で差替えて出力するデータ出力手段とを備える。
ここで、「基準時」とは、比較する各総数が同数となっている時点のことをいい、例えば、最初の時点、その後に各総数が同数となった場合には、その時点のことをいう。
又、本発明は、それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリーム入力受取り入力された差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力方法であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記データ差替出力方法は、基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較し、その比較結果に基づいて、前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う決定ステップと、ユニットデータの入力速度と同一の速度でユニットデータを出力し、前記決定ステップによって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、入力された前記差替対象データを構成するユニットデータを前記代替データを構成するユニットデータに1対1で差替えて出力するデータ出力ステップとを含むこととすることができる。
又、本発明は、それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力受取り入力された差替対象データを代替データに差替えて出力するデータ差替出力装置にデータ差替出力制御処理を実行させるためのプログラムであって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記データ差替出力制御処理は、基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較し、その比較結果に基づいて、前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う決定ステップと、ユニットデータの入力速度と同一の速度でユニットデータを出力し、前記決定ステップによって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、入力された前記差替対象データを構成するユニットデータを前記代替データを構成するユニットデータに1対1で差替えて出力するデータ出力ステップとを含むこととすることができる。
又、本発明は、それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力受取り入力された差替対象データを代替データに差替えて出力するデータ差替出力装置にデータ差替出力制御処理を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記データ差替出力制御処理は、基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較し、その比較結果に基づいて、前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う決定ステップと、ユニットデータの入力速度と同一の速度でユニットデータを出力し、前記決定ステップによって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、入力された前記差替対象データを構成するユニットデータを前記代替データを構成するユニットデータに1対1で差替えて出力するデータ出力ステップとを含むこととすることができる。
本発明は、上記の各構成を備えることにより、データの入力速度と出力速度とを同一に保ちつつ、入力データの一部を差替えてデータを出力することができるので、キー局から放送されるデータ放送番組と地方局から放送されるデータ放送番組との間でデータの伝送速度が一定に保たれ、どの地域でも、キー局と同等の帯域を使用してデータ放送することができ、地域性に応じたデータ放送番組内容の変更を、帯域を変更することなく行うことができる。
ここで、前記決定手段は、前記各ユニットデータを受信する毎に、当該ユニットデータが前記差替対象データを構成するユニットデータであるか否かを判別する判別手段と、
基準時から現受信時までの期間において受信した前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較する比較手段とを有し、前記決定手段は、前記代替データを構成するユニットデータの総数が前記差替対象データを構成する前記ユニットデータの総数を超えない場合に、前記代替データを構成するユニットデータを所定数回、連続して出力する決定を行うこととしてもよい。
これにより、差替対象となる差替対象データの入力数以上に、当該データと差し替える代替データの出力がされた場合には、代替データの出力が抑止されるので、代替データに差替えを行っている間、一時的に代替データが過剰に出力されても、その後、過剰量が帳消しになるまで、差替対象とならない差替非対象データの出力を優先させることができるので、差替非対象データの出力速度の遅延が継続するのを防止することができる。
ここで、前記データ出力手段は、受信した前記差替非対象データの記憶をする記憶手段を有し、前記データ出力手段は、前記記憶後に、前記連続出力が行なわれていない期間において、前記差替非対象データを構成する前記ユニットデータを受信する毎に又は、前記決定が連続出力しないことである場合において、前記差替対象データ及び前記差替非対象データの何れか一方を構成する前記各ユニットデータを受信する毎に前記記憶手段に記憶されている前記差替非対象データを構成する前記ユニットデータを読出して、出力することとしてもよい。
これにより、予め取得した差替非対象データを記憶させておくことができ、差替非対象データを構成するユニットデータをその都度取得して、出力することなく、記憶している差替非対象データから複製して出力することができる。
ここで、前記決定手段は、前記各ユニットデータを受信する毎に、当該ユニットデータが前記差替対象データを構成するユニットデータであるか否かを判別する判別手段と、
基準時から現受信時までの期間において受信した前記差替対象データを構成する前記ユニットデータの総数から、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数を引いた値である超過カウント値を算出する算出手段と、前記超過カウント値が、前記所定数より小さくないか否かを判定する判定手段とを有し、前記決定手段は、前記超過カウント値が前記所定数より小さくない場合に、前記代替データを構成する前記ユニットデータを所定数回、連続して出力する決定を行うこととしてもよい。
これにより、差替対象データの入力数以上に過剰に代替データが出力される事態が生じることがなくなるので、データの差替えに伴う差替非対象データの出力速度の遅延が起こることなく、ユーザーは、出力された差替非対象データを、受信装置を介して遅滞なく取得することができる。
ここで、前記決定手段は、前記各ユニットデータを受信する毎に、当該ユニットデータが前記差替対象データを構成するユニットデータであるか否かを判別する判別手段と、基準時から現受信時までの期間において受信した前記差替対象ユニットデータの総数から、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数を引いた超過カウント値を算出する算出手段と、前記超過カウント値が、前記所定数の半分より小さくないか否かを判定する判定手段とを有し、前記決定手段は、前記超過カウント値が前記所定数の半分より小さくない場合に、前記代替データを構成する前記ユニットデータを所定数回、連続して出力する決定を行うこととしてもよい。
これにより、差替対象データの入力数以上に過剰に代替データを出力することができるので、差替対象データの入力速度に対して、代替データの出力速度を速めることができ、ユーザーは、出力された代替データを、受信装置を介して迅速に取得することができる。
ここで、前記データストリームには、複数種類の差替対象データが含まれ、前記データ出力手段は、前記複数種類の各種類の差替対象データにそれぞれ差替えて出力すべき各種類の代替データを記憶している代替データ記憶手段を備え、前記決定手段は、前記複数種類の各差替対象データについての前記総数と、前記各差替対象データと差替える各種類の前記代替データについての前記総数との各比較結果に基づいて、前記各種類の何れかの種類の代替データを構成する前記ユニットデータを所定数回、連続して出力するか否かの決定を行うこととしてもよい。
又、前記データストリームには、複数種類の差替対象データが含まれ、前記データ出力手段は、前記複数種類の各種類の差替対象データにそれぞれ差替えて出力すべき各種類の代替データを記憶している代替データ記憶手段を備え、前記決定手段は、前記複数種類の各差替対象データについての前記総数の合計と、前記各差替対象データと差替える各種類の前記代替データについての前記総数の合計との比較結果に基づいて、前記各種類の何れかの種類の前記代替データを構成する前記ユニットデータを前記所定数回、連続して出力するか否かの決定を行うこととしてもよい。
これにより、データの入力速度と出力速度とを同一に保ちつつ、複数種類の入力データについて各対応するデータを差替えて出力することができるので、どの地域でも、キー局と同等の帯域を使用してデータ放送することができ、キー局と地方局とで帯域を変更することなく、地域性に応じて、データ放送番組内容を広範囲に変更することができる。
ここで、前記決定手段は、前記各差替対象データについての前記総数を、前記各種類の前記代替データについての前記総数から引いた値である超過カウントを、前記各種類の前記代替データについて算出し、前記各種類の前記代替データについて算出した各超過カウントの少なくとも1つ以上が0より小さい場合に、該当する種類の前記代替データの中から、所定の基準に基づいて、出力すべき前記代替データを選択し、選択した前記代替データを構成する前記ユニットデータを所定数回、連続して出力する決定を行う
こととしてもよい。
これにより、差替対象となる各種類の差替対象データの入力数が、当該種類の差替対象データと差し替えるべき種類の代替データの出力数を超えている場合に、当該種類の代替データの出力がされるので、各種類の代替データが、その差替対象となる差替対象データの入力数に対して、過剰に出力されないように制御することができる。
ここで、前記所定の基準は、当該超過カウント該当する種類の前記代替データについて算出した超過カウントの昇順であることとしてもよい。
これにより、超過カウントが小さい代替データから優先的に代替ユニットデータが出力されるので、特定の代替データの出力数が極端に多くなったり、少なくなったりすることを防ぐことができる。
ここで、前記各種類の前記代替データには、それぞれ優先順位が付与され、前記所定の基準は、当該超過カウントに該当する種類の前記代替データに付与された前記優先順位の高い順であることとしてもよい。
又、前記所定の基準は、前記各種類の前記代替データの中から予め選択された前記代替データの超過カウントが0より小さい場合には、当該代替データを選択し、当該代替データの超過カウントが0より小さくない場合には、当該超過カウントに該当する種類の前記代替データについて算出した超過カウントの昇順に従って選択するという基準であることとしてもよい。
これにより、優先順位の高い種類の代替データを先に出力することができるので、重要な代替データの送出遅延を防ぐことができる。
ここで、前記各種類の前記代替データ及び前記非対象データには、それぞれ優先順位が付与され、前記決定手段は、前記各差替対象データについての前記総数を、前記各種類の前記代替データについての前記総数から引いた値である超過カウントを、前記各種類の前記代替データについて算出し、算出した各超過カウントの少なくとも1つ以上が、0より小さい場合において、当該超過カウントが0より小さい前記各代替データに付与された優先順位の何れかが、差替非対象ユニットデータに付与された優先順位よりも低くない場合に、前記各代替データの何れかを構成する前記ユニットデータを前記所定数回、連続して出力する決定を行うこととしてもよい。
これにより、優先順位の高い種類の差替非対象データを先に出力することができるので、重要な差替非対象データの送出遅延を防ぐことができる。
又、本発明は、差替対象データと差替非対象データとから構成されるデータストリームを受信し、受信した差替対象データを代替データに差替えて出力するデータ差替出力装置であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記差替対象データを構成するユニットデータは、M個の連続したユニットデータのデータ列として前記データストリームに含まれ、前記代替データは、差替用データとダミーデータとからなり、前記データ差替出力装置は、受信した前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別手段と、受信した前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、当該データ列を受信する毎に、予め定められた、少なくとも1つ以上の値を示すN(M>=N)個の前記差替用データを構成するユニットデータと(M―N)個のダミーデータを構成するユニットデータとを連続して出力し、受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、当該ユニットデータを受信する毎に、当該差替非対象データを構成するユニットデータを出力するデータ出力手段とを備えることとしてもよい。
又、本発明は、差替対象データと差替非対象データとから構成されるデータストリームを受信し、受信した差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力方法であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記差替対象データを構成するユニットデータは、M個の連続したユニットデータのデータ列として前記データストリームに含まれ、前記代替データは、差替用データとダミーデータとからなり、前記データ差替出力方法は、受信した前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、受信した前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、当該データ列を受信する毎に、予め定められた、少なくとも1つ以上の値を示すN(M>=N)個の前記差替用データを構成するユニットデータと(M―N)個のダミーデータを構成するユニットデータとを連続して出力し、受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、当該ユニットデータを受信する毎に、当該差替非対象データを構成するユニットデータを出力するデータ出力ステップとを含むこととしてもよい。
又、本発明は、差替対象データと差替非対象データとから構成されるデータストリームを受信し、受信した差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力制御プログラムであって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、 前記差替対象データを構成するユニットデータは、M個の連続したユニットデータのデータ列として前記データストリームに含まれ、前記代替データは、差替用データとダミーデータとからなり、前記データ差替出力制御プログラムは、受信した前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、受信した前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、当該データ列を受信する毎に、予め定められた、少なくとも1つ以上の値を示すN(M>=N)個の前記差替用データを構成するユニットデータと(M―N)個のダミーデータを構成するユニットデータとを連続して出力し、受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、当該ユニットデータを受信する毎に、当該差替非対象データを構成するユニットデータを出力するデータ出力ステップとを含むこととしてもよい。
又、本発明は、差替対象データと差替非対象データとから構成されるデータストリームを受信し、受信した差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力制御プログラムを記録したコンピュータ読取可能な記録媒体であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記差替対象データを構成するユニットデータは、M個の連続したユニットデータのデータ列として前記データストリームに含まれ、前記代替データは、差替用データとダミーデータとからなり、前記データ差替出力制御プログラムは、受信した前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、受信した前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、当該データ列を受信する毎に、予め定められた、少なくとも1つ以上の値を示すN(M>=N)個の前記差替用データを構成するユニットデータと(M―N)個のダミーデータを構成するユニットデータとを連続して出力し、受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、当該ユニットデータを受信する毎に、当該差替非対象データを構成するユニットデータを出力するデータ出力ステップとを含むこととしてもよい。
これにより、差替対象データのデータサイズが、当該差替対象データに差し替える差替用データのデータサイズよりも大きいために、差替対象データを構成するユニットデータの入力数に対して、差替用データを構成するユニットデータの出力数が不足する場合においても、不足している数だけダミーデータを構成するユニットデータが出力されるので、データの入力速度と出力速度とを同一になるように調整することができる。
又、本発明は、差替対象データと差替非対象データとから構成されるデータストリームを受信し、受信した差替対象データを代替データに差替えて出力するデータ差替出力装置であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記差替対象データを構成するユニットデータは、複数の連続したユニットデータのデータ列として前記データストリームに含まれ、前記代替データは、差替用データとダミーデータとからなり、前記データ差替出力装置は、受信した前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別手段と、受信した前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、前記データ列に含まれる前記ユニットデータ数を検出する検出手段と、検出した前記ユニットデータ数が予め定められた、少なくとも1つ以上の値を示すNより小さいか否かを判定する判定手段と、検出したユニットデータ数がNより小さい場合、前記データ列を受信する毎に、前記ダミーデータを構成する前記ユニットデータを、検出した前記ユニットデータ数分だけ連続して出力し、検出したユニットデータ数がNより大きい場合、前記データ列を受信する毎に、N個の前記差替用データを構成する前記ユニットデータと、検出したユニットデータ数とNとの差に相当する数のダミーデータを構成する前記ユニットデータとを連続して出力し、受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、前記差替非対象ユニットデータを受信する毎に、当該差替非対象ユニットデータを出力するデータ出力手段とを備えることとしてもよい。
又、本発明は、差替対象データと差替非対象データとから構成されるデータストリームを受信し、受信した差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力方法であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記差替対象データを構成するユニットデータは、複数の連続したユニットデータのデータ列として前記データストリームに含まれ、前記代替データは、差替用データとダミーデータとからなり、前記データ差替出力方法は、受信した前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、受信した前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、前記データ列に含まれる前記ユニットデータ数を検出する検出ステップと、検出した前記ユニットデータ数が予め定められた、少なくとも1つ以上の値を示すNより小さいか否かを判定する判定手段と、検出したユニットデータ数がNより小さい場合、前記データ列を受信する毎に、前記ダミーデータを構成する前記ユニットデータを、検出した前記ユニットデータ数分だけ連続して出力し、検出したユニットデータ数がNより大きい場合、前記データ列を受信する毎に、N個の前記差替用データを構成する前記ユニットデータと、検出したユニットデータ数とNとの差に相当する数のダミーデータを構成する前記ユニットデータとを連続して出力し、受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、前記差替非対象ユニットデータを受信する毎に、当該差替非対象ユニットデータを出力するデータ出力ステップとを含むこととしてもよい。
又、本発明は、差替対象データと差替非対象データとから構成されるデータストリームを受信し、受信した差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力制御プログラムであって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記差替対象データを構成するユニットデータは、複数の連続したユニットデータのデータ列として前記データストリームに含まれ、前記代替データは、差替用データとダミーデータとからなり、前記データ差替出力制御プログラムは、受信した前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、受信した前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、前記データ列に含まれる前記ユニットデータ数を検出する検出ステップと、検出した前記ユニットデータ数が予め定められた、少なくとも1つ以上の値を示すNより小さいか否かを判定する判定手段と、検出したユニットデータ数がNより小さい場合、前記データ列を受信する毎に、前記ダミーデータを構成する前記ユニットデータを、検出した前記ユニットデータ数分だけ連続して出力し、検出したユニットデータ数がNより大きい場合、前記データ列を受信する毎に、N個の前記差替用データを構成する前記ユニットデータと、検出したユニットデータ数とNとの差に相当する数のダミーデータを構成する前記ユニットデータとを連続して出力し、受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、前記差替非対象ユニットデータを受信する毎に、当該差替非対象ユニットデータを出力するデータ出力ステップとを含むこととしてもよい。
又、本発明は、差替対象データと差替非対象データとから構成されるデータストリームを受信し、受信した差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力制御プログラムを記録したコンピュータ読取可能な記録媒体であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記差替対象データを構成するユニットデータは、複数の連続したユニットデータのデータ列として前記データストリームに含まれ、前記代替データは、差替用データとダミーデータとからなり、前記データ差替出力制御プログラムは、受信した前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、受信した前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、前記データ列に含まれる前記ユニットデータ数を検出する検出ステップと、検出した前記ユニットデータ数が予め定められた、少なくとも1つ以上の値を示すNより小さいか否かを判定する判定手段と、検出したユニットデータ数がNより小さい場合、前記データ列を受信する毎に、前記ダミーデータを構成する前記ユニットデータを、検出した前記ユニットデータ数分だけ連続して出力し、検出したユニットデータ数がNより大きい場合、前記データ列を受信する毎に、N個の前記差替用データを構成する前記ユニットデータと、検出したユニットデータ数とNとの差に相当する数のダミーデータを構成する前記ユニットデータとを連続して出力し、受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、前記差替非対象ユニットデータを受信する毎に、当該差替非対象ユニットデータを出力するデータ出力ステップとを含むこととしてもよい。
これにより、差替対象データのデータサイズが、当該差替対象データに差し替える差替用データのデータサイズよりも小さい場合に、差替対象データを構成するユニットデータの入力数だけダミーデータを構成するユニットデータが出力されるので、データの入力速度と出力速度とを同一に調整することができる。
(実施の形態1)
<構成>
図1は、本発明の実施の形態1におけるデータ差替出力装置10の構成を示す機能ブロック図である。データ差替出力装置10は、図1に示す通り、入力データ受信部100、差替元パケット判別部101、モジュール差替部102、差替後パケット保持部103、入力パケット保持部104から構成される。
データ差替出力装置10は、ハードウェアとしてはCPU、ROM、RAM、ハードディスク、デコーダ、フィルタ等から構成され、ROM又は上記ハードディスクには、コンピュータプログラムが記憶され、上記CPUが上記コンピュータプログラムに従って動作することにより、データ差替出力装置10は、その機能を実現する。
入力データ受信部100は、外部とのインターフェースを有し、外部からカルーセル伝送方式で入力される素材データのTSパケットストリーム(以下、「TS」という。)を受信し、受信したTSを差替元パケット判別部101及びモジュール差替部102に出力する。
ここで、TSとは、デジタル放送番組を構成する映像データ、音声データやデータ放送番組を構成する素材データを、必要な情報を付加した固定長(188オクテット)のパケット(以下、「TSパケット」という。)に分割し、分割したTSパケットを順次並べて形成したデータ列のことをいう。
TSは、国際規格であるISO/IEC 13818−1"Information technology − Generic coding of moving pictures and associated audio information:Systems" 及びISO/IEC 13818−6“Information technology − Generic coding of moving pictures and associated audio information:Part6 Extensions for DSM−CC”で定義され、デジタル放送での映像、音声、データの多重化伝送に標準的に用いられている。
上記カルーセル方式においては、データは、TSパケットを最小単位として伝送され、TSパケットが少なくとも1つ以上集まって「セクション」と呼ばれる単位を構成する。
ここで、「セクション」には、TSパケットが最低1個、最大23個含まれており、「セクション」が複数集まってデータとして意味のある最小単位である「モジュール」と呼ばれる単位を構成する。「モジュール」は、1個から255個のセクションで構成される。
又、「セクション」の先頭のTSパケット(以下、「先頭パケット」という。)には、「module ID」、「section Number」、「block Number」、「section length」が付与されている。
ここで、「module ID」とは、当該セクションが含まれる「モジュール」を識別するための識別子のことをいう。
又、「block Number」とは、当該セクションが含まれる「モジュール」において、当該セクションが何番目のセクションに該当するかを示す識別子のことをいう。
又、「section Number」とは、当該セクションが含まれる「モジュール」を構成するセクションの数を示す識別子のことをいう。
なお、実際には、「section Number」ではなく、当該セクションが含まれる「モジュール」における最後のセクションの「block Number」を示す「last section Number」が先頭のTSパケットに付与されているが、ここでは、以下の説明を簡略化するため、「last section Number」の代わりに「section Number」(具体的には、「last section Number」に1を加えた数値)を用いることとするが、本実施の形態及び後述する実施の形態2〜5で実現されるデータ差替出力装置の機能は、「last section Number」を用いた場合においても同様に実現できることは、勿論のことである。
又、「section length」とは、当該セクションのデータサイズを示す識別子のことをいう。
ここで、各TSパケットは、上述した通り、固定長であるので、セクションのデータサイズは、当該セクションに含まれるTSパケット数に対応付けてあらわすことができる。従って、以下では、説明の便宜上、「section length」ではなく、当該セクションに含まれるTSパケット数である「pnum」でセクションのデータサイズを表すこととする。
差替元パケット判別部101は、入力データ受信部100より入力されたTSに含まれる各先頭パケットに付与された[module ID]に基づいて、入力されるTSパケットが、差替え対象となる差替対象データに含まれるTSパケット(以下、「差替対象パケット」という。)であるか否かを判別し、判別結果をモジュール差替部102に通知する。
図3は、TSパケット、セクション及びモジュールの関係を模式的に表した図である。
図3では、セクション310が23個のTSパケット300〜303から構成されていることを示している。
ここで、「PID」とは、データ種別(例えば、映像データ、音声データ、素材データの種別、或いは、素材データの種別)を表す識別子のことをいい、各TSパケットに付与されている。
又、「mid」は、「module ID」を略したものであり、「snum」は、「section Number」を略したものであり、「bnum」は、「block Number」を略したものである。。
セクション310を構成するTSパケットの先頭のTSパケットには、「PID=100」、「mid=0」、「snum=45」、「bnum=0」、「pnum=23」が付与されており、「mid=0」は、当該セクションが含まれるモジュールが「module=0」であることを示し、「snum=45」は、当該モジュールが、45個のセクションから構成されていることを示し、「bnum=0」は、当該セクションが、当該モジュールにおける0番目のセクションであることを示し、「pnum=23」は、当該セクションが、23個のTSパケットから構成されていることを示している。
又、モジュール320は、セクション310〜312の45個のセクションから構成されていることを示している。
図2は、入力データ受信部100に入力される素材データのTSのデータ構成の例を示す。図2の200〜216の示す各四角形は、TSを構成する各TSパケットを示し、TSパケットは、左から順(200〜216で示す番号順)に入力されたことを示している。
又、図2のTSパケット200、201、205、211、212は、それぞれ、当該TSパケットが含まれる各セクションにおける先頭パケットであることを示している。
各先頭パケットには、「PID」、「mid」、「snum」、「bnum」、「pnum」が付与されている。
図2の例では、先頭パケット200には、「PID=100」、「mid=0」、「snum=2」、「bnum=0」、「pnum=3」が付与されている。これらの識別子の示す情報に基いて、先頭パケット200が属するセクションが、「module=0」に含まれ、当該モジュールは、2つのセクションから構成され、先頭パケット200の属するセクションは、当該モジュールにおける0番目のセクションであり、当該セクションは、3個のTSパケットから構成されていることを識別することができる。これらの識別は、差替元パケット判別部101によって行われる。
他の先頭パケット201、205、211、212についても、上記の各識別子(「mid」、「snum」、「bnum」、「pnum」)の示す情報(以下、「セクション情報」という。)に基いて、当該セクションが含まれるモジュール、当該モジュールを構成するセクションの数、当該セクションが当該モジュールの何番目のセクションか、当該セクションに含まれるTSパケット数(以下、総称して「セクション構成情報」という。)を同様に識別することができる。
各セクションの先頭パケット以外の各TSパケット202〜204、206〜210、213〜216には、「PID」のみが付与されている。これは、当該PIDに対応する各先頭パケット(例えば、TSパケット202、203に対応するTSパケット200、TSパケット204、206、209に対応するTSパケット201)におけるセクション情報に基いてセクション構成情報を識別することができるため、先頭パケット以外のTSパケットにはPID以外の他の識別子は付与されていない。
なお、セクション情報は、セクションが変わる毎に付与されることを要し、例えば図2の例では、「PID=101」の素材データにおける最初のセクション(「bnum=0」のセクション)は、先頭パケット201から始まり、TSパケット204で終了するので、その次のセクションである「PID=100」のセクション(「bnum=1」のセクション)の先頭パケット205には、セクション情報が付与されることを要し、その次のセクションである「PID=101」のセクション(「bnum=1」のセクション)の先頭パケット211には、セクション情報が付与されることを要し、その次のセクションである「PID=100」のセクション(「bnum=0」のセクション)の先頭パケット212にも、セクション情報が付与されることを要する。
一方、セクションの最後のTSパケットの前に当該TSパケットと同一のPIDで、当該セクションと異なるセクションのTSパケットが挿入された状態でTSが入力されると、セクション情報に基いて識別される当該セクションに含まれるTSパケット数と、
実際に入力されたTSパケット数とが一致しなくなる。例えば、図2のTSパケット202と203との間にTSパケット205が挿入された状態でTSが入力されると、セクション情報に基いて識別される、「bnum=0」のセクションにおけるTSパケット数は
3個であるにもかかわらず、実際に入力されたTSパケットはTSパケット200と202の2個であると入力データ受信部100によって認識されてしまう。
従って、MPEG2規格では、同一PIDのTSパケットであって、それぞれ異なるセクションに属するTSパケットが上述のように混在する状態でTSパケットを送出することを禁止している。即ち、同一PIDのTSパケットを送出する場合には、セクションに含まれる全てのTSパケットの送出が完了するまでは、次のセクションのTSパケットの送出を開始できないという制約がある。この制約があるため、以下の説明では、TSパケットは、セクション単位で出力されることが前提とされている。
差替後パケット保持部103は、差替後モジュールを保持している。
ここで、「差替後モジュール」とは、入力データ受信部100より入力された差替対象パケットから構成される差替対象モジュールと差替えて出力するためのモジュールのことをいい、複数のTSパケットから構成されている。以下、差替後モジュールの構成要素となるTSパケットのことを総称して「差替後パケット」という。
図5は、差替後モジュール50の具体例を示す。図5の例では、「block Number=0〜9」で示される10個のセクションから成る差替後モジュールの例が示されている。
入力パケット保持部104は、入力データ受信部100より入力された、差替非対象パケットをキューとして保持している。
ここで、「差替非対象パケット」とは、差替元パケット判別部101によって差替対象パケットでないと判別されたTSパケットのことをいう。
モジュール差替部102は、入力データ受信部100から入力されたTSから、差替元パケット判別部101により差替対象パケットと判別されたTSパケットを削除し、差替元パケット判別部101により差替非対象パケットと判別されたTSパケットを入力パケット保持部104に格納する。
又、モジュール差替部102は、後述する差替出力制御処理を介して、「差替非対象パケット」と「差替後パケット」の何れかを、出力すべきTSパケットとして逐次選択し、選択したTSパケットを入力されたTSのビットレートと同一のビットレートで出力する。
具体的には、外部からTSパケットが1個入力される毎に、逐次選択したTSパケット1個を出力する。
これにより、TSパケットの入力ビットレートと出力ビットレートを一致させつつ、入力されたTSに含まれる差替対象パケットが差替後パケットに差し替えられて外部に出力される。
図4は、データ差替出力装置10に入力された素材データのTS(入力TS41)の具体例と、当該TSに含まれる差替対象パケットを差替後パケットに差替えた後に、データ差替出力装置10から出力されるTS(出力TS42)の具体例とを示す。
図4の400〜415の示す各四角形は、入力TS41を構成する各TSパケットを示し、450〜465の示す各四角形は、出力TS42を構成する各TSパケットを示している。
図4の入力TS41のTSパケット400、403、407、410、413は、それぞれ、当該TSパケットが含まれる各セクションにおける先頭パケットであることを示し、出力TS42のTSパケット450、456、460、463は、それぞれ、当該TSパケットが含まれる各セクションにおける先頭パケットであることを示している。
又、図4の入力TS41において、「mid=0」のTSパケット400〜402、407〜409、413〜415が差替対象パケットであり、図4の出力TS42におけるTSパケット450〜455、463〜465が、モジュール差替部102によって、これらの差替対象パケットと差し替えられた差替後パケットである。
又、図4の入力TS41において、TSパケット403〜406、410〜412が差替非対象パケットであり、これらの差替非対象パケットは、差替えられることなく、モジュール差替部102によって、出力TS42にそのまま含められて外部に出力される。
例えば、TSパケット403は、TSパケット456として、TSパケット404は、TSパケット457として外部に出力される。
なお、図4のTSの具体例においては、説明の便宜上、PIDが同一(PID=100)のTSパケットのみが示されているが、他のPIDのTSパケットが入力TS41に含まれていてもよいことは、勿論のことである。
<動作>
1.実施の形態1における差替出力制御処理の動作
次に、データ差替出力装置10の行う差替出力制御処理について説明する。
図6は、データ差替出力装置10の行う差替出力制御処理の動作を示すフローチャートである。以下、図6を参照して、上記動作について説明する。
差替出力制御処理を実行するためのコンピュータプログラムが起動されると、モジュール差替部102は、差替超過カウントを0にセットする(ステップS601)。
ここで、「差替超過カウント」とは、モジュール差替部102より出力された差替後パケットの総数と入力データ受信部100より入力された差替対象パケットの総数の差に相当するカウント値のことをいう。
次に、モジュール差替部102は、入力データ受信部100よりTSパケットを取得すると(ステップS602)、直前に出力したTSパケットが当該TSパケットの属するセクションにおける最後のパケットであるか否か、又は直前に出力したTSパケットがないか否かの判定をする(ステップS603)。
ここで、上記判定は、例えば、予め出力パケットのPIDと「block Number」と「pnum」と当該「block Number」のセクションにおける「出力パケット数」との対応関係を示す出力パケット管理テーブルを差替後パケット保持部103及び入力パケット保持部104にそれぞれ保持しておき、何れかの保持部からTSパケットを出力する毎に、該当するPID、「block Number」の「出力パケット数」をカウントアップし、カウントアップした「出力パケット数」が対応する「pnum」と一致するか否かにより行うことができる。
なお、上記において一致すると判定する毎に、当該「出力パケット数」を0に初期化することにより、同一のPID、「block Number」のセクションからの出力パケットに対して、繰返し上記判定を行うことができる。
ステップS603において、直前に出力したTSパケットが当該TSパケットの属するセクションにおける最後のパケットであるか、又は直前に出力したTSパケットがない場合(ステップS603:Y)、モジュール差替部102は、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケットが差替対象パケットであるか否かを判定する(ステップS611)。
差替対象パケットである場合(ステップS611:Y)、モジュール差替部102は、差替超過カウントが0より大きいか否かを判定し(ステップS612)、大きい場合(ステップS612:Y)、入力パケット保持部104に保持されているキューの先頭の差替非対象パケットを読出して出力し(ステップS615)、差替超過カウントから1を引いて(ステップS607)、ステップS602の処理に戻り、ステップS612において、差替超過カウントが0より大きくない場合(ステップS612:N)、モジュール差替部102は、差替後パケット保持部103から差替後パケットを読出して出力し(ステップS613)、ステップS602の処理に戻る。
ステップS611において、差替対象パケットでない場合(ステップS611:N)、取得したTSパケットを入力パケット保持部104にキューとして追加して保持させ、差替え超過カウントに1を加え(ステップS614)、ステップS615の処理に移る。
ステップS603において、直前に出力したTSパケットが当該TSパケットの属するセクションにおける最後のパケットでない場合(ステップS603:N)、モジュール差替部102は、当該セクションにおいて直前に出力したTSパケットの次のTSパケットを出力し(ステップS604)、モジュール差替部102は、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケットが差替対象パケットであるか否かを判定する(ステップS605)。
差替対象パケットでない場合(ステップS605:N)、モジュール差替部102は、
出力したTSパケットが取得したTSパケットそのものか否かを判定し(ステップS608)、取得したTSパケットそのものでない場合(ステップS608:N)、取得したTSパケットを入力パケット保持部104にキューとして追加して保持し(ステップS609)、さらに、出力したTSパケットが差替後パケット保持部103に保持されていたか否かにより、出力したTSパケットが差替後パケットであるか否かを判定し(ステップS610)、差替後パケットである場合(ステップS610:Y)、差替超過カウントに1を加え(ステップS616)、ステップS602の処理に戻る。
ステップS605において、差替対象パケットである場合(ステップS605:Y)、モジュール差替部102は、出力したTSパケットが入力パケット保持部104に保持されていたか否かにより、出力したTSパケットが差替非対象パケットであるか否かを判定し(ステップS606)、差替非対象パケットである場合(ステップS606:Y)、差替超過カウントから1を引き(ステップS607)、ステップS602の処理に戻る。
ステップS606において、差替非対象パケットでない場合(ステップS606:N)、又はステップS608において、出力したTSパケットが取得したTSパケットそのものである場合(ステップS608:Y)、又はステップS610において、差替後パケットでない場合(ステップS610:N)、ステップS602の処理に戻る。
2.実施の形態1における差替出力制御処理の具体例
次に、図4に示す具体例において、上記差替出力制御処理がどのように動作するかについて、具体的に説明する。
モジュール差替部102は、差替出力制御処理を実行するためのコンピュータプログラムの起動後、差替超過カウントを0にセットし(ステップS601)、入力データ受信部100より図4の入力TS41の最初のTSパケット400を取得すると(ステップS602)、この時点においては、直前に出力したTSパケットがないので、ステップS603において、直前に出力したTSパケットがないと判定し(ステップS603:Y)、TSパケット400が差替対象パケットであるか否かを判定する(ステップS611)。
TSパケット400は、差替対象パケットであるので、モジュール差替部102は、差替元パケット判別部101からの判別結果の通知に基づいて、差替対象パケットであると判定し(ステップS611:Y)、差替超過カウントが0より大きいか否かを判定する(ステップS612)。
この時点における差替超過カウントは0であるので、モジュール差替部102は、ステップS612において、大きくないと判定し(ステップS612:N)、差替後パケット保持部103から差替後パケット(ここでは、図5の「block Number=0」のセクションにおける最初の差替後パケット500)を読出して外部へ出力し(ステップS613)、ステップS602の処理に戻る。
この場合、読出された差替後パケット500は、図4の出力TS42におけるTSパケット450として出力される。
次に、モジュール差替部102は、入力データ受信部100より図4の入力TS41におけるTSパケット401を取得すると(ステップS602)、直前に出力したTSパケット450は、図5の「block Number=0」のセクションにおける最初の差替後パケット500であるので、ステップS603の判定において、当該セクションにおける最後のパケットでないと判定し(ステップS603:N)、当該セクションにおいて直前に出力した、図5の「block Number=0」のセクションにおける最初の差替後パケット500の次の差替後パケット501を差替後パケット保持部103から読出し、図4の出力TS42におけるTSパケット451として出力し(ステップS604)、モジュール差替部102は、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケット401が差替対象パケットであるか否かを判定する(ステップS605)。
取得したTSパケット401は、差替対象パケットであるので、モジュール差替部102は、ステップS605において、差替対象パケットであると判定し(ステップS605:Y)、さらに、出力したTSパケット451が差替非対象パケットであるか否かを判定する(ステップS606)。
TSパケット451は、差替対象パケットであるので、モジュール差替部102は、ステップS606において、差替非対象パケットでないと判定し(ステップS606:N)、モジュール差替部102は、ステップS602の処理に戻る。
次に、モジュール差替部102は、入力データ受信部100より図4の入力TS41のTSパケット402を取得すると(ステップS602)、TSパケット401における場合と同じ処理を行い、図5の「block Number=0」のセクションにおける差替後パケット501の次の差替後パケット502を差替後パケット保持部103から読出し、図4の出力TS42におけるTSパケット452として出力する(ステップS604)。
次にモジュール差替部102は、入力データ受信部100より図4の入力TS41におけるTSパケット403を取得すると(ステップS602)、直前に出力したTSパケット452は、図5の「block Number=0」のセクションにおける最後でない差替後パケット502であるので、ステップS603の判定において、当該セクションにおける最後のパケットでないと判定し(ステップS603:N)、当該セクションにおいて直前に出力した、図5の「block Number=0」のセクションにおける差替後パケット502の次の差替後パケット503を差替後パケット保持部103から読出し、図4の出力TS42におけるTSパケット453として出力し(ステップS604)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケット403が差替対象パケットであるか否かを判定する(ステップS605)。
取得したTSパケット403は、差替対象パケットでないので、モジュール差替部102は、ステップS605において、差替対象パケットでないと判定し(ステップS605:N)、さらに、出力したTSパケット453が取得したTSパケット403そのものか否かを判定する(ステップS608)。出力したTSパケット453は、差替後パケット503であり、取得したTSパケット403そのものでないので(ステップS608:N)、取得したTSパケット403を入力パケット保持部104にキューとして追加して保持し(ステップS609)、出力したTSパケット453が差替後パケットであるか否かを判定する(ステップS610)。
TSパケット453は、差替後パケットであるので、モジュール差替部102は、ステップS610において差替対象パケットであると判定し(ステップS610:Y)、差替超過カウントに1を加え(ステップS616)、ステップS602の処理に戻る。
次に、モジュール差替部102は、入力データ受信部100より図4の入力TS41におけるTSパケット404及び405を順に取得すると(ステップS602)、TSパケット403における場合と同じ処理を行い、図5の「block Number=0」のセクションにおける差替後パケット503の次の差替後パケット504及びその次の差替後パケット505を差替後パケット保持部103から順に読出し、図4の出力TS42におけるTSパケット454及び455として順に出力し(ステップS604)、取得したTSパケット404及び405をそれぞれ、入力パケット保持部104にキューとして順に追加して保持し(ステップS609)、差替超過カウントにそれぞれ1づつを加え(ステップS610)、ステップS602の処理に戻る。これにより、入力パケット保持部104には、TSパケット403、404、405がこの順にキューとして保持され、この時点における差替超過カウントは3となる。
次に、モジュール差替部102は、入力データ受信部100より図4の入力TS41におけるTSパケット406を取得すると(ステップS602)、直前に出力したTSパケット455は、図5の「block Number=0」のセクションにおける最後の差替後パケット505であるので、ステップS603において、最後のパケットであると判定し(ステップS603:Y)、ステップS611の処理を行い、取得したTSパケット406が差替対象パケットであるか否かを判定する(ステップS611)。
TSパケット406は、差替対象パケットでないので、モジュール差替部102は、ステップS611において、差替対象でないと判定し(ステップS611:N)、取得したTSパケット406を入力パケット保持部104にキューとして追加して保持して、差替え超過カウントに1を加え(ステップS614)、入力パケット保持部104から差替非対象パケット(ここでは、キューの先頭のTSパケット403)を読出して、出力TS42におけるTSパケット456として外部へ出力し(ステップS615)、差替超過カウントから1を引いて(ステップS607)、ステップS602の処理に戻る。
これにより、入力パケット保持部104には、TSパケット404、405、406がこの順にキューとして保持され、この時点における差替超過カウントは3となる。
次に、モジュール差替部102は、入力データ受信部100より図4の入力TS41におけるTSパケット407を取得すると(ステップS602)、直前に出力したTSパケット456は、「module ID=1」の「block Number=0」のセクションにおける先頭のTSパケット403であるので、ステップS603において、最後のパケットでないと判定し(ステップS603:N)、当該セクションにおいて直前に出力したTSパケット403の次のTSパケット404を、入力パケット保持部104から読出して、出力TS42におけるTSパケット457として出力し(ステップS604)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケット407が差替対象パケットであるか否かを判定する(ステップS605)。
取得したTSパケット407は、差替対象パケットであるので、モジュール差替部102は、ステップS605において、差替対象パケットであると判定し(ステップS605:Y)、さらに、出力したTSパケット457が差替非対象パケットであるか否かを判定する(ステップS606)。
TSパケット457は、差替非対象であるので、モジュール差替部102は、ステップS606において、差替非対象パケットであると判定し(ステップS606:Y)、差替超過カウントから1を引き(ステップS607)、ステップS602の処理に戻る。
これにより、入力パケット保持部104には、TSパケット405、406がこの順にキューとして保持され、この時点における差替超過カウントは2となる。
次に、モジュール差替部102は、入力データ受信部100より図4の入力TS41におけるTSパケット408及び409を順に取得すると(ステップS602)、TSパケット407における場合と同じ処理を行い、入力パケット保持部104からTSパケット404の次のTSパケット405及びその次のTSパケット406を、それぞれ読出して、出力TS42におけるTSパケット458及び459として出力し(ステップS604)、差替超過カウントから1ずつ引き(ステップS607)、ステップS602の処理に戻る。
これにより、入力パケット保持部104にキューとして保持されていたTSパケット405、406は出力され、入力パケット保持部104には、何も保持されていない状態になり、この時点における差替超過カウントは0となる。
この結果、先に取得された差替対象パケット(図4の入力TS41におけるTSパケット400〜402)に対し、余分に出力された差替後データ(図4の出力TS42における差替後パケット453〜455)の超過分(ここでは、3個)を、次に取得された差替対象パケット(図4の入力TS41におけるTSパケット407〜409)に対する差替後パケットの出力を抑止することにより、帳消しにするように調整することができる。
次に、モジュール差替部102は、入力データ受信部100より図4の入力TS41におけるTSパケット410を取得すると(ステップS602)、直前に出力したTSパケット459は、「module ID=1」の「block Number=0」のセクションにおける最後のTSパケット406であるので、ステップS603において、最後のパケットであると判定し(ステップS603:Y)、TSパケット410が差替対象パケットであるか否かを判定する(ステップS611)。
TSパケット410は、差替非対象パケットであるので、モジュール差替部102は、ステップS611において、差替対象パケットでないと判定し(ステップS611:N)、TSパケット410を入力パケット保持部104にキューとして追加して保持して、差替え超過カウントに1を加え(ステップS614)、入力パケット保持部104からTSパケット410を読出して、出力TS42におけるTSパケット460として外部へ出力し(ステップS615)、差替超過カウントから1を引いて(ステップS607)、ステップS602の処理に戻る。
次に、モジュール差替部102は、入力データ受信部100より図4の入力TS41におけるTSパケット411を取得すると(ステップS602)、直前に出力したTSパケット460は、「module ID=1」の「block Number=2」のセクションにおける最初のTSパケット410であるので、ステップS603において、最後のパケットでないと判定し(ステップS603:N)、当該セクションにおいて直前に出力したTSパケット410の次のTSパケットはTSパケット411であるので、取得したTSパケット411をそのまま、出力TS42におけるTSパケット461として出力し(ステップS604)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケット411が差替対象パケットであるか否かを判定する(ステップS605)。
取得したTSパケット411は、差替非対象パケットであるので、モジュール差替部102は、ステップS605において、差替対象パケットでないと判定し(ステップS605:N)、さらに、出力したTSパケット461が取得したTSパケット403そのものか否かを判定する(ステップS608)。出力したTSパケット461は、TSパケット411であり、取得したTSパケット411そのものであるので(ステップS608:Y)、ステップS602の処理に戻る。
次に、モジュール差替部102は、入力データ受信部100より図4の入力TS41におけるTSパケット412を取得すると(ステップS602)、TSパケット411における場合と同じ処理を行い、取得したTSパケット412を出力TS42におけるTSパケット462として出力する。
次に、モジュール差替部102は、入力データ受信部100より図4の入力TS41におけるTSパケット413〜415を取得すると(ステップS602)、TSパケット400〜402における場合と同じ処理を行い、出力TS42におけるTSパケット463〜465(図5の差替後パケット510〜512に相当するTSパケット)を出力する。
(実施の形態2)
本実施の形態におけるデータ差替出力装置20は、差替対象モジュールに比べ、差替後モジュールのデータサイズが小さい場合において、入力データのビットレートと出力データのビットレートを一致させつつ、入力された差替対象モジュールを差替後モジュールに差替て出力することを特徴とするデータ差替出力装置である。
<構成>
図8は、データ差替出力装置20の構成を示す機能ブロック図である。データ差替出力装置20は、図8に示す通り、入力データ受信部100、差替元パケット判別部101、モジュール差替部202、差替後パケット保持部103から構成される。
実施の形態1におけるデータ差替出力装置10と同一の機能を備える構成要素については、同一の番号を付し、以下、相違点を中心に説明する。
モジュール差替部202は、入力データ受信部100から入力されたTSから、差替元パケット判別部101により差替対象パケットと判別されたTSパケットを削除し、差替元パケット判別部101により差替非対象パケットと判別されたTSパケットをそのまま、出力する。
又、モジュール差替部202は、Nullパケット生成部2021を有し、後述する差替出力制御処理を介して、「差替非対象パケット」と「差替後パケット」と「Nullパケット」の何れかを、出力すべきTSパケットとして逐次選択し、選択したTSパケットを入力されたTSのビットレートと同一のビットレートで出力する。
「Nullパケット」とは、Nullパケット生成部2021によって生成される、出力TSパケット数の不足を補うための、TSパケットとデータサイズが同一のダミー用パケットのことをいう。
<動作>
1.実施の形態2における差替出力制御処理
次に、データ差替出力装置20の行う差替出力制御処理について説明する。
図12は、データ差替出力装置20の行う差替出力制御処理の動作を示すフローチャートである。以下、図12を参照して、上記動作について説明する。
差替出力制御処理を実行するためのコンピュータプログラムが起動されると、モジュール差替部202は、入力データ受信部100よりTSパケットを取得し(ステップS1201)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケットが差替対象パケットであるか否かを判定する(ステップS1202)。
差替対象パケットである場合(ステップS1202:Y)、「in_bnum」と「out_snum」との大小比較を行う(ステップS1203)。
ここで、「in_bnum」とは、当該差替対象パケットが属するセクションの「block Number」のことをいい、「out_snum」とは、差替後モジュールの「section number」のことをいう。
ステップS1203において、「in_bnum」が「out_snum」以下の場合(ステップS1203:Y)、モジュール差替部202はさらに、「in_ppos」と「out_pnum」との大小比較を行う(ステップS1204)。
ここで、「in_ppos」とは、「in_bnum」の示す当該差替対象パケットが属するセクションにおいて、当該差替対象パケットが何番目かを示す数値のことをいい、「out_pnum」とは、差替後モジュールにおいて、「in_bnum」の示す「block Number」のセクションに対応するセクション(具体的には、当該「block Number」と、「block Number」が一致するセクション)に含まれるTSパケット数(「pnum」)のことをいう。
ステップS1204において、「in_ppos」が「out_pnum」と比べて大きくない場合(ステップS1204:Y)、差替後モジュールにおいて、「in_bnum」の示す「block Number」のセクションに対応するセクション(具体的には、当該「block Number」と、「block Number」が一致するセクション)における「in_ppos」によって示される数値番目の位置に相当する差替後パケットを出力し(ステップS1205)、ステップS1201の処理に戻る。
ステップS1202において、取得したTSパケットが差替対象パケットでない場合(ステップS1202:N)、モジュール差替部202は、取得したTSパケットをそのまま出力し(ステップS1207)、ステップS1201の処理に戻る。。
ステップS1203において、「in_bnum」が「out_snum」以下でない場合(ステップS1203:N)、又は、ステップS1204において、「in_ppos」が「out_pnum」と比べて大きい場合(ステップS1204:N)、モジュール差替部202は、Nullパケットを生成して、出力し(ステップS1206)、ステップS1201の処理に戻る。
2.実施の形態2における差替出力制御処理の具体例
図10は、データ差替出力装置20に入力されたTS(入力TS51)の具体例と、当該TSに含まれる差替対象パケットを差替後パケット又はNullパケットに差替えた後に、データ差替出力装置20から出力されるTS(出力TS52)の具体例とを示す。図10の具体例は、3000オクテットの差替対象モジュールを2000オクテットの差替後モジュールに差替える場合の具体例を示す。
図9は、図10の具体例に示す差替対象パケットによって構成される差替対象モジュール90を示す。図9に示す差替対象パケット900〜903が図10に示す入力TS51における差替対象パケット1001〜1004に、図9に示す差替対象パケット904〜907が図10に示す入力TS51における差替対象パケット1009〜10012に、図9に示す差替対象パケット908〜911が図10に示す入力TS51における差替対象パケット1013〜1016に、図9に示す差替対象パケット912〜915が図10に示す入力TS51における差替対象パケット1018〜1021に、図9に示す差替対象パケット916、917が図10に示す入力TS51における差替対象パケット1022、1023にそれぞれ相当している。
図11は、図10の具体例に示す差替後パケットによって構成される差替後モジュール110を示す。図11に示す差替後パケット1111〜1114が図10に示す出力TS52における差替後パケット1051〜1054に、図11に示す差替後パケット1121〜1124が図10に示す出力TS52における差替後パケット1059〜1062に、図11に示す差替後パケット1131〜1133が図10に示す出力TS52における差替後パケット1063〜1065にそれぞれ相当している。
以下、図10に示す具体例において、上記差替出力制御処理がどのように動作するかについて、具体的に説明する。
モジュール差替部202は、入力データ受信部100より、図10の入力TS51における最初のTSパケット1001を取得し(ステップS1201)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケット1001が差替対象パケットであるか否かを判定する(ステップS1202)。
取得したTSパケット1001は、差替対象パケットであるので、モジュール差替部202は、ステップS1202において、差替対象パケットであると判定し(ステップS1202:Y)、「in_bnum」と「out_snum」との大小比較を行う(ステップS1203)。
TSパケット1001は、「block Number=0」のセクションに属するので、TSパケットの「in_bnum=0」であり、図11に示す差替後モジュールの「section number=2」であるので、モジュール差替部202は、ステップS1203において、「in_bnum」の方が「out_snum」より小さいと判定し(ステップS1203:Y)、さらに、「in_ppos」と「out_pnum」との大小比較を行う(ステップS1204)。
TSパケット1001は、「block Number=0」のセクションにおける最初のTSパケットであるので、「in_ppos=1」であり、図11の示す「block Number=0」のセクション1110における「pnum」は、「pnum=4」であるので、「out_pnum=4」であり、モジュール差替部202は、ステップS1204において、「in_ppos」が「out_pnum」と比べて大きくないと判定し(ステップS1204:Y)、図11の差替後モジュールにおいて、「in_bnum=0」の示す「block Numbe=0」のセクション1110に対応するセクションである「block Numbe=0」のセクションにおける「in_ppos=1」に相当する1番目の差替後パケット1111を差替後パケット保持部103から読出して、図10の出力TS52におけるTSパケット1051として出力し(ステップS1205)、ステップS1201の処理に戻る。
次に、モジュール差替部202は、入力データ受信部100より、図10の入力TS51におけるTSパケット1002〜1004を順に取得し(ステップS1201)、TSパケット1001における場合と同様の処理を行い、図11の「block Number=0」のセクション1110における「in_ppos=2,3,4」にそれぞれ相当する2番目、3番目、4番目の差替後パケット1112〜1114を差替後パケット保持部103から順に読出して、図10の出力TS52におけるTSパケット1052〜1054としてそれぞれ順に出力し(ステップS1205)、ステップS1201の処理に戻る。
次に、モジュール差替部202は、入力データ受信部100より、図10の入力TS51におけるTSパケット1005を取得し(ステップS1201)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケットが差替対象パケットであるか否かを判定する(ステップS1202)。
取得したTSパケット1005は、差替非対象パケットであるので、モジュール差替部202は、ステップS1202において、差替対象パケットでないと判定し(ステップS1202:N)、取得したTSパケット1005をそのまま(図10の出力TS52におけるTSパケット1055として)出力し(ステップS1207)、ステップS1201の処理に戻る。
次に、モジュール差替部202は、入力データ受信部100より、図10の入力TS51におけるTSパケット1006〜1008を順に取得し(ステップS1201)、TSパケット1005における場合と同様の処理を行い、取得したTSパケット1006〜1008をそのまま(図10の出力TS52におけるTSパケット1056〜1058として)出力し(ステップS1207)、ステップS1201の処理に戻る。
次に、モジュール差替部202は、入力データ受信部100より、図10の入力TS51におけるTSパケット1009〜1012を順に取得し(ステップS1201)、TSパケット1001における場合と同様の処理を行い、図11の「block Numbe=1」のセクション1120における「in_ppos=1,2,3,4」にそれぞれ相当する1番目、2番目、3番目、4番目の差替後パケット1121〜1124を差替後パケット保持部103から順に読出して、図10の出力TS52におけるTSパケット1059〜1062としてそれぞれ順に出力し(ステップS1205)、ステップS1201の処理に戻る。
次に、モジュール差替部202は、入力データ受信部100より、図10の入力TS51におけるTSパケット1013〜1015を順に取得し(ステップS1201)、TSパケット1001における場合と同様の処理を行い、図11の「block Numbe=2」のセクション1130における「in_ppos=1,2,3」にそれぞれ相当する1番目、2番目、3番目の差替後パケット1131〜1133を差替後パケット保持部103から順に読出して、図10の出力TS52におけるTSパケット1063〜1065としてそれぞれ順に出力し(ステップS1205)、ステップS1201の処理に戻る。
次に、モジュール差替部202は、入力データ受信部100より、図10の入力TS51におけるTSパケット1016を取得し(ステップS1201)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケットが差替対象パケットであるか否かを判定する(ステップS1202)。
取得したTSパケット1016は、差替対象パケットであるので、モジュール差替部202は、ステップS1202において、差替対象パケットであると判定し(ステップS1202:Y)、「in_bnum」と「out_snum」との大小比較を行う(ステップS1203)。
TSパケット1016は、「block Number=2」のセクションに属するので、TSパケットの「in_bnum=2」であり、図11に示す差替後モジュールの「section number=3」であるので、モジュール差替部202は、ステップS1203において、「in_bnum」の方が「out_snum」より小さいと判定し(ステップS1203:Y)、さらに、「in_ppos」と「out_pnum」との大小比較を行う(ステップS1204)。
TSパケット1016は、「block Number=2」のセクションにおける4番目のTSパケットであるので、「in_ppos=4」であり、図11の示す「block Number=0」のセクション1110における「pnum」は、「pnum=3」であるので、「out_pnum=3」であり、モジュール差替部202は、ステップS1204において、「in_ppos」が「out_pnum」と比べて大きいと判定し(ステップS1204:N)、Nullパケットを生成して、図10の出力TS52におけるNullパケット1066として出力し(ステップS1206)、ステップS1201の処理に戻る。
次に、モジュール差替部202は、入力データ受信部100より、図10の入力TS51におけるTSパケット1017を取得し(ステップS1201)、TSパケット1005における場合と同様の処理を行い、取得したTSパケット1017をそのまま(図10の出力TS52におけるTSパケット1067として)出力し(ステップS1207)、ステップS1201の処理に戻る。
次に、モジュール差替部202は、入力データ受信部100より、図10の入力TS51におけるTSパケット1018を取得し(ステップS1201)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケット1018が差替対象パケットであるか否かを判定する(ステップS1202)。
取得したTSパケット1018は、差替対象パケットであるので、モジュール差替部202は、ステップS1202において、差替対象パケットであると判定し(ステップS1202:Y)、「in_bnum」と「out_snum」との大小比較を行う(ステップS1203)。
TSパケット1018は、「block Number=3」のセクションに属するので、TSパケット1018の「in_bnum=3」であり、図11に示す差替後モジュールの「section number=3」であるので、モジュール差替部202は、ステップS1203において、「in_bnum」は、「out_snum」より小さくないと判定し(ステップS1203:N)、Nullパケットを生成して、出力し(ステップS1206)、ステップS1201の処理に戻る。
次に、モジュール差替部202は、入力データ受信部100より、図10の入力TS51におけるTSパケット1019〜1023を順に取得し(ステップS1201)、TSパケット1018における場合と同様の処理を行い、それぞれ、ステップS1203において、「in_bnum」は、「out_snum」より小さくないと判定し(ステップS1203:N)、Nullパケットを生成して、図10の出力TS52におけるNullパケット1068〜1073として順に出力し(ステップS1206)、ステップS1201の処理に戻る。
次に、モジュール差替部202は、入力データ受信部100より、図10の入力TS51におけるTSパケット1024を取得し(ステップS1201)、TSパケット1005における場合と同様の処理を行い、取得したTSパケット1024をそのまま(図10の出力TS52におけるTSパケット1074として)出力し(ステップS1207)、ステップS1201の処理に戻る。
本実施の形態2における差替出力制御処理は、差替対象モジュールのデータサイズが差替後モジュールのデータサイズよりも大きい場合にのみ適用できる。
上記差替出力制御処理は、例えば、モジュールの最後のセクション以外のセクションのデータサイズを同じにするという制限があるMPEG2規格(ISO/IEC 13818−6)に基づくモジュール間で、モジュールの差替出力を行う場合に適用できる。
又、差替対象となるデータがMPEG2規格に基づいていない場合であっても、上記セクションに相当するデータ単位で差替対象モジュールの伝送が行われ、各セクションのサイズが対応する差替後モジュールのセクションよりも大きい場合においても、上記差替出力制御処理を適用することができる。
(実施の形態3)
本実施の形態におけるデータ差替出力装置30は、実施の形態2のデータ差替出力装置20の有する機能に加え、差替対象モジュールのセクションに比べ、当該セクションと差し替えるべき差替後モジュールのセクションのデータサイズが大きい場合においても、入力データのビットレートと出力データのビットレートを一致させつつ、入力された差替対象モジュールを差替後モジュールに差替て出力することを特徴とするデータ差替出力装置である。
<構成>
図18は、データ差替出力装置30の構成を示す機能ブロック図である。
データ差替出力装置30の構成は、モジュール差替部302を除いて、実施の形態2におけるデータ差替出力装置20の構成と同様であるので、データ差替出力装置30の構成におけるモジュール差替部302を除く構成要素ついての説明は、省略し、以下、本実施の形態のモジュール差替部302と実施の形態2のモジュール差替部202との相違点が現れる差替出力制御処理の動作を中心に説明する。
<動作>
1.実施の形態3における差替出力制御処理
図13は、データ差替出力装置30の行う差替出力制御処理の動作を示すフローチャートである。以下、図13を参照して、上記動作について説明する。
差替出力制御処理を実行するためのコンピュータプログラムが起動されると、モジュール差替部302は、差替後パケット保持部103に保持されている差替後モジュールにおける「block Number=0」のセクションを出力対象セクションとして設定し(ステップS1301)、入力データ受信部100よりTSパケットを取得し(ステップS1302)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケットが差替対象パケットであるか否かを判定する(ステップS1303)。
差替対象パケットである場合(ステップS1303:Y)、モジュール差替部302はさらに、「in_pnum」と「out_pnum」との大小比較を行う(ステップS1305)。
ここで、「in_pnum」とは、取得したTSパケットが属するセクションに含まれるTSパケット数(「pnum」)のことをいい、「out_pnum」とは、出力対象セクションに含まれるTSパケット数(「pnum」)のことをいう。
ステップS1305において、「in_pnum」が「out_pnum」よりも小さくない場合(ステップS1305:Y)、モジュール差替部302はさらに、「in_ppos」と「out_pnum」との大小比較を行う(ステップS1306)。
ここで、「in_ppos」とは、図12の「in_ppos」と同様に、当該差替対象パケットが属するセクションにおいて、当該差替対象パケットが何番目かを示す数値のことをいう。
ステップS1306において、「in_ppos」が「out_pnum」と比べて大きくない場合(ステップS1306:Y)、モジュール差替部302は、設定した出力対象セクションにおける「in_ppos」によって示される数値番目の位置に相当する差替後パケットを出力し(ステップS1308)、取得したTSパケット(差替対象パケット)が当該TSパケットが属するセクションにおける最終パケットか否かを判定する(ステップS1309)。
最終パケットでない場合(ステップS1309:N)、モジュール差替部302は、ステップS1302の処理に戻り、最終パケットである場合(ステップS1309:Y)、差替後パケット保持部103に保持されている差替後モジュールにおいて、設定した出力対象セクションの次のセクションを出力対象セクションとして設定し(ステップS1310)、ステップS1302の処理に戻る。
ステップS1303において、差替対象パケットでない場合(ステップS1303:N)、モジュール差替部302は、取得したTSパケットをそのまま出力し(ステップS1304)、ステップS1302の処理に戻る。
ステップS1305において、「in_pnum」が「out_pnum」よりも小さい場合(ステップS1305:N)、又はステップS1306において、「in_ppos」が「out_pnum」と比べて大きい場合(ステップS1306:N)、モジュール差替部302は、Nullパケットを生成して、出力し(ステップS1307)、ステップS1309の処理に移行する。
2.実施の形態3における差替出力制御処理の具体例
図14は、データ差替出力装置30に入力されたTS(入力TS61)の具体例と、当該TSに含まれる差替対象パケットを図11に示す差替後モジュールを構成する差替後パケット又はNullパケットに差替えた後に、データ差替出力装置30から出力されるTS(出力TS62)の具体例とを示す。図14の具体例は、3000オクテットの差替対象モジュールを2000オクテットの差替後モジュールに差替える場合の具体例を示す。
図14の入力TS61において、「mid=0」の各TSパケット1401〜1404、1409〜1412、1413〜1416、1418〜1423は差替対象パケットを示し、「mid=1」の各TSパケット1405〜1408、1417、1424は、差替非対象パケットを示す。
以下、図14に示す具体例を用いて、上記差替出力制御処理の動作について、具体的に説明する。
モジュール差替部302は、差替後パケット保持部103に保持されている差替後モジュールにおける「block Number=0」のセクションを出力対象セクションとして設定し(ステップS1301)、入力データ受信部100より、図14の入力TS61における最初のTSパケット1401を取得し(ステップS1302)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケット1401が差替対象パケットであるか否かを判定する(ステップS1303)。
取得したTSパケット1401は、差替対象パケットであるので、モジュール差替部302は、ステップS1303において、差替対象パケットであると判定し(ステップS1303:Y)、「in_pnum」と「out_pnum」との大小比較を行う(ステップS1305)。
取得したTSパケット1401が属するセクションに含まれるTSパケット数は4(「pnum=4」)であり、図11の差替後モジュールにおける出力対象セクションとして設定した、「block Number=0」のセクション1110に含まれるTSパケット数は4(「pnum=4」)であるので、「in_pnum」と「out_pnum」はともに4となり、モジュール差替部302は、ステップS1305において、「in_pnum」が「out_pnum」よりも小さくないと判定し(ステップS1305:Y)、さらに、「in_ppos」と「out_pnum」との大小比較を行う(ステップS1306)。
TSパケット1401は、「block Number=0」のセクションにおける最初のTSパケットであるので、「in_ppos=1」であり、図11の示す「block Number=0」のセクション1110における「pnum」は、「pnum=4」であるので、「out_pnum=4」であり、モジュール差替部302は、ステップS1306において、「in_ppos」が「out_pnum」と比べて大きくないと判定し(ステップS1306:Y)、図11の差替後モジュールにおける出力対象セクションである「block Numbe=0」のセクション1110における「in_ppos=1」に相当する1番目の差替後パケット1111を差替後パケット保持部103から読出して、図14の出力TS62におけるTSパケット1451として出力し(ステップS1308)、取得したTSパケット1401が、当該TSパケットが属するセクションである「block Number=0」のセクションにおけるにおける最終パケットか否かを判定する(ステップS1309)。
取得したTSパケット1401は、「block Number=0」のセクションにおける1番目のTSパケットであるので、モジュール差替部302は、ステップS1309において、最終パケットでないと判定し(ステップS1309:N)、ステップS1302の処理に戻る。
次に、モジュール差替部302は、入力データ受信部100より、図14の入力TS61におけるTSパケット1402、1403を順に取得し(ステップS1302)、TSパケット1401おける場合と同様の処理を行い、図11の差替後モジュールにおける出力対象セクションである「block Numbe=0」のセクション1110における「in_ppos=2」及び「in_ppos=3」にそれぞれ相当する2番目及び3番目の差替後パケット1112、1113を差替後パケット保持部103から読出して、図14の出力TS62におけるTSパケット1452、1453として順に出力し(ステップS1308)、ステップS1302の処理に戻る。
次に、モジュール差替部302は、入力データ受信部100より、図14の入力TS61におけるTSパケット1404を取得し(ステップS1302)、ステップS1309における判定を除いて、TSパケット1401における場合と同様の処理を行い、図11の差替後モジュールにおける出力対象セクションである「block Numbe=0」のセクション1110における「in_ppos=4」に相当する4番目の差替後パケット1114を差替後パケット保持部103から読出して、図14の出力TS62におけるTSパケット1454として出力する(ステップS1308)。
TSパケット1404は、当該TSパケットが属する「block Number=0」のセクションにおける最終パケットであるので、ステップS1309において、モジュール差替部302は、最終パケットであると判定し(ステップS1309:Y)、設定した出力対象セクション(ここでは、図11の「block Number=0」のセクション1110)の次のセクション(ここでは、図11の「block Number=1」のセクション1120)を出力対象セクションとして設定し(ステップS1310)、ステップS1302の処理に戻る。
次に、モジュール差替部302は、入力データ受信部100より、図14の入力TS61におけるTSパケット1405〜1408を順に取得し(ステップS1302)、差替元パケット判別部101からの判別結果の通知に基づいて、取得した各TSパケットが差替対象パケットであるか否かを判定する(ステップS1303)。
TSパケット1405〜1408は、それぞれ差替非対象パケットであるので、モジュール差替部302は、ステップS1303において、差替対象パケットでないと判定し(ステップS1303:N)、取得した各TSパケットをそのまま、出力TS62におけるTSパケット1455〜1458として順に出力し(ステップS1304)、ステップS1302の処理に戻る。
次に、モジュール差替部302は、入力データ受信部100より、図14の入力TS61におけるTSパケット1409〜1411を順に取得し(ステップS1302)、TSパケット1401おける場合と同様の処理を行い、図11の差替後モジュールにおける出力対象セクションである「block Numbe=1」のセクション1120における「in_ppos=1」、「in_ppos=2」及び「in_ppos=3」にそれぞれ相当する1番目、2番目及び3番目の差替後パケット1121、1122、1123を差替後パケット保持部103から読出して、図14の出力TS62におけるTSパケット1459〜1461として順に出力し(ステップS1308)、ステップS1302の処理に戻る。
次に、モジュール差替部302は、入力データ受信部100より、図14の入力TS61におけるTSパケット1412を取得し(ステップS1302)、TSパケット1404における場合と同様の処理を行い、図11の差替後モジュールにおける出力対象セクションである「block Numbe=1」のセクション1120における「in_ppos=4」に相当する4番目の差替後パケット1124を差替後パケット保持部103から読出して、図14の出力TS62におけるTSパケット1462として出力し(ステップS1308)、設定した出力対象セクション(ここでは、図11の「block Number=1」のセクション1120)の次のセクション(ここでは、図11の「block Number=2」のセクション1130)を出力対象セクションとして設定し(ステップS1310)、ステップS1302の処理に戻る。
次に、モジュール差替部302は、入力データ受信部100より、図14の入力TS61におけるTSパケット1413、1414、1415を順に取得し(ステップS1302)、TSパケット1401おける場合と同様の処理を行い、図11の差替後モジュールにおける出力対象セクションである「block Numbe=2」のセクション1130における「in_ppos=1」、「in_ppos=2」及び「in_ppos=3」にそれぞれ相当する1番目、2番目及び3番目の差替後パケット1131、1132、1133を差替後パケット保持部103から読出して、図14の出力TS62におけるTSパケット1463、1464、1465として順に出力し(ステップS1308)、ステップS1302の処理に戻る。
次に、モジュール差替部302は、入力データ受信部100より、図14の入力TS61におけるTSパケット1416を取得し(ステップS1302)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケット1416が差替対象パケットであるか否かを判定する(ステップS1303)。
取得したTSパケット1416は、差替対象パケットであるので、モジュール差替部302は、ステップS1303において、差替対象パケットであると判定し(ステップS1303:Y)、「in_pnum」と「out_pnum」との大小比較を行う(ステップS1305)。
取得したTSパケット1416が属するセクションに含まれるTSパケット数は4(「pnum=4」)であり、図11の差替後モジュールにおける出力対象セクションとして設定した、「block Number=2」のセクション1130に含まれるTSパケット数は3(「pnum=3」)であるので、「in_pnum」は、「out_pnum」より大きいので、モジュール差替部302は、ステップS1305において、「in_pnum」が「out_pnum」よりも小さくないと判定し(ステップS1305:Y)、さらに、「in_ppos」と「out_pnum」との大小比較を行う(ステップS1306)。
TSパケット1416は、「block Number=2」のセクションにおける4番目のTSパケットであるので、「in_ppos=4」であり、図11の示す「block Number=2」のセクション1130における「pnum」は、「pnum=3」であるので、「out_pnum=3」であり、モジュール差替部302は、ステップS1306において、「in_ppos」が「out_pnum」より大きくいと判定し(ステップS1306:N)、Nullパケットを生成して、出力TS62におけるNullパケット1466として出力し(ステップS1307)、ステップS1309の処理に移行し、TSパケット1416は、当該TSパケットが属する「block Number=2」のセクションにおける最終パケットであるので、ステップS1309において、モジュール差替部302は、最終パケットであると判定し(ステップS1309:Y)、設定した出力対象セクション(ここでは、図11の「block Number=2」のセクション1130)の次のセクション(ここでは、図11の「block Number=0」のセクション1110)を出力対象セクションとして設定し(ステップS1310)、ステップS1302の処理に戻る。
次に、モジュール差替部302は、入力データ受信部100より、図14の入力TS61におけるTSパケット1417を取得し(ステップS1302)、TSパケット1405〜1408における場合と同様の処理を行い、取得したTSパケット1417をそのまま、出力TS62におけるTSパケット1467として出力し(ステップS1304)、ステップS1302の処理に戻る。
次に、モジュール差替部302は、入力データ受信部100より、図14の入力TS61におけるTSパケット1418〜1420を順に取得し(ステップS1302)、TSパケット1401〜TSパケット1403における場合と同様の処理を行い、図11の差替後モジュールにおける出力対象セクションである「block Numbe=0」のセクション1110における「in_ppos=1」、「in_ppos=2」及び「in_ppos=3」にそれぞれ相当する1番目、2番目及び3番目の差替後パケット1111、1112、1113を差替後パケット保持部103から読出して、図14の出力TS62におけるTSパケット1468、1469、1470として順に出力し(ステップS1308)、ステップS1302の処理に戻る。
次に、モジュール差替部302は、入力データ受信部100より、図14の入力TS61におけるTSパケット1421を取得し(ステップS1302)、TSパケット1404における場合と同様の処理行い、図11の差替後モジュールにおける出力対象セクションである「block Numbe=0」のセクション1110における「in_ppos=4」に相当する4番目の差替後パケット1114を差替後パケット保持部103から読出して、図14の出力TS62におけるTSパケット1471として出力し(ステップS1308)、設定した出力対象セクション(ここでは、図11の「block Number=0」のセクション1110)の次のセクション(ここでは、図11の「block Number=1」のセクション1120)を出力対象セクションとして設定し(ステップS1310)、ステップS1302の処理に戻る。
次に、モジュール差替部302は、入力データ受信部100より、図14の入力TS61におけるTSパケット1422、1423を順に取得し(ステップS1302)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケット1416が差替対象パケットであるか否かを判定する(ステップS1303)。
取得したTSパケット1422、1423は、それぞれ差替対象パケットであるので、モジュール差替部302は、ステップS1303において、差替対象パケットであると判定し(ステップS1303:Y)、「in_pnum」と「out_pnum」との大小比較を行う(ステップS1305)。
取得したTSパケット1422及び1423が属するセクションに含まれるTSパケット数は2(「pnum=2」)であり、図11の差替後モジュールにおける出力対象セクションとして設定した、「block Number=1」のセクション1120に含まれるTSパケット数は4(「pnum=4」)であるので、「in_pnum」は、「out_pnum」より小さいので、モジュール差替部302は、ステップS1305において、「in_pnum」が「out_pnum」よりも小さいと判定し(ステップS1305:N)、Nullパケットを生成して、出力TS62におけるNullパケット1472、1473として順に出力し(ステップS1307)、ステップS1309の処理に移行し、TSパケット1473は、当該TSパケットが属する「block Number=3」のセクションにおける最終パケットであるので、ステップS1309において、モジュール差替部302は、最終パケットであると判定し(ステップS1309:Y)、設定した出力対象セクション(ここでは、図11の「block Number=1」のセクション1120)の次のセクション(ここでは、図11の「block Number=2」のセクション1130)を出力対象セクションとして設定し(ステップS1310)、ステップS1302の処理に戻る。
次に、モジュール差替部302は、入力データ受信部100より、図14の入力TS61におけるTSパケット1424を取得し(ステップS1302)、TSパケット1405〜1408における場合と同様の処理を行い、取得したTSパケット1424をそのまま、出力TS62におけるTSパケット1474として出力し(ステップS1304)、ステップS1302の処理に戻る。
(実施の形態4)
本実施の形態におけるデータ差替出力装置40は、差替対象パケットがTSに拡散して入力された場合に、入力された差替対象パケット数が所定数に達した場合に、差替後パケットを出力することを特徴とするデータ差替出力装置である。
<構成>
図19は、データ差替出力装置40の構成を示す機能ブロック図である。
データ差替出力装置40の構成は、実施の形態1におけるデータ差替出力装置10の構成と、入力パケット保持部404とモジュール差替部402を除いて同様であるので、上記構成要素を除くデータ差替出力装置40の構成についての説明は、省略し、以下、本実施の形態の入力パケット保持部404及びモジュール差替部402と実施の形態1の相当する構成要素との相違点が現れる差替出力制御処理の動作を中心に説明する。
<動作>
1.実施の形態4における差替出力制御処理
図15は、データ差替出力装置40の行う差替出力制御処理の動作を示すフローチャートである。以下、図15を参照して、上記動作について説明する。
差替出力制御処理を実行するためのコンピュータプログラムが起動されると、モジュール差替部402は、差替後パケット保持部103に保持されている差替後モジュールにおける最初のセクションを出力対象セクションとして設定し、差替パケット入力カウントを0に設定する(ステップS1501)。
ここで、「差替パケット入力カウント」とは、上記コンピュータプログラム起動後に入力された差替対象パケットの総数と、入力パケット保持部404に格納され、出力された差替後パケットの総数との差に相当するカウント値のことをいう。
次にモジュール差替部402は、入力データ受信部100よりTSパケットを取得し(ステップS1502)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケットが差替対象パケットであるか否かを判定する(ステップS1503)。
差替対象パケットである場合(ステップS1503:Y)、モジュール差替部402は
差替パケット入力カウントに1を加え(ステップS1505)、差替パケット入力カウントが、出力対象セクションに含まれる差替後パケット数より小さくないか否かを判定する(ステップS1506)。
小さくない場合(ステップS1506:Y)、モジュール差替部402は、差替後パケット保持部103に保持されている差替後モジュールにおける出力対象セクションに含まれる全ての差替後パケットを読出し、入力パケット保持部404にキューとして保持されている差替非対象パケットのデータ列において、先頭のセクションを構成する差替非対象パケットの最終パケットの次に、読出した各差替後パケットを出力対象セクションにおける当該差替後パケットの配列順に挿入する(ステップS1507)。
具体的には、モジュール差替部402は、入力パケット保持部404にキューとして保持されている各差替非対象パケットの列の先頭から順に最終パケットを検索し、最初に検出された最終パケットとその次の先頭パケットとの間、又はその次の先頭パケットが保持されていない場合には、当該最終パケットの次に、読出した各差替後パケットを出力対象セクションにおける当該差替後パケットの配列順に挿入する。
又、入力パケット保持部404にキューとして保持されている差替非対象パケットのデータ列の先頭が先頭パケットである場合、当該データ列の直前に、読出した各差替後パケットを出力対象セクションにおける当該差替後パケットの配列順に入力パケット保持部404におけるキューの先頭パケットデータ列として挿入し、入力パケット保持部404に差替非対象パケットが何も保持されていない場合においても同様に、読出した各差替後パケットを出力対象セクションにおける当該差替後パケットの配列順に、入力パケット保持部404におけるキューの先頭パケットデータ列として挿入する。
ここで、最終パケットの検索は、例えば、入力パケット保持部404にキューとして保持されている各差替非対象パケットの中から、PID以外の識別子(「mid」、「bnum」など)が含まれている差替非対象パケットを検索し、その直前の差替非対象パケットを最終パケットとして検出することにより行うことができる。
次にモジュール差替部402は、差替パケット入力カウントから、挿入した出力対象セクションに含まれる差替後パケット数を差し引き、差替後パケット保持部103に保持されている差替後モジュールにおける当該出力対象セクションの次のセクションを新たな出力対象セクションとして設定し(ステップS1508)、入力パケット保持部404に保持されている先頭のTSパケットを出力し(ステップS1509)、予め定められた差替終了時刻が到来したか否かを判定する(ステップS1510)。
ステップS1510において、差替終了時刻が到来した場合(ステップS1510:Y)、モジュール差替部402は、差替パケット入力カウントに相当する個数のNUllパケットを生成して、入力パケット保持部404に保持させ、差替パケット入力カウントを0に設定する(ステップS1511)。
ステップS1510において、差替終了時刻が到来していない場合(ステップS1510:N)、モジュール差替部402は、ステップS1502の処理に戻る。
又、ステップS1503において、取得したTSパケットが差替対象パケットでない場合(ステップS1503:N)、モジュール差替部402は、取得したTSパケットを入力パケット保持部404に保持させ(ステップS1504)、ステップS1506の処理に移行する。
又、ステップS1506において、差替パケット入力カウントが、出力対象セクションに含まれる差替後パケット数より小さい場合(ステップS1506:N)、モジュール差替部402は、ステップS1509の処理に移行する。
2.実施の形態4における差替出力制御処理の具体例
図16は、データ差替出力装置40に入力されたTS(入力TS71)の具体例と、当該TSに含まれる差替対象パケットから構成される差替対象モジュールを3個の差替後パケットを含むセクション1つから構成される差替後モジュールに差替えた後に、データ差替出力装置40から出力されるTS(出力TS72)の具体例とを示す。
図16の入力TS71において、「mid=0」の各TSパケット1601、1602、1608、1609は差替対象パケットを示し、「mid=1」の各TSパケット1603〜1607、1610〜1613は、差替非対象パケットを示し、図16の出力TS72において、「*」のTSパケット1651〜1654は、直前の差替出力制御処理において、入力パケット保持部404に保持されていた差替非対象パケットの先頭パケットから順に出力された差替非対象パケット(直前に差替出力制御処理が行われていない場合には、入力パケット保持部404に保持されていたNullパケット)を示し、「mid=0」の各TSパケット1659〜1661は、上記差替後パケットを示し、「mid=1」の各TSパケット1655〜1658。1662、1663〜1666は、入力TS71に含まれていた各差替非対象パケット(「mid=1」の各TSパケット1603〜1607、1610〜1613)を示す。
以下、図16に示す具体例を用いて、上記差替出力制御処理の動作について、具体的に説明する。
モジュール差替部402は、差替後パケット保持部103に保持されている差替後モジュールを構成する上記セクションを出力対象セクションとして設定し、差替パケット入力カウントを0に設定し(ステップS1501)、入力データ受信部100より、図16の入力TS71におけるTSパケット1601を取得し(ステップS1502)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケット1601が差替対象パケットであるか否かを判定する(ステップS1503)。
取得したTSパケット1601は、差替対象パケットであるので、モジュール差替部402は、ステップS1503において、差替対象パケットであると判定し(ステップS1503:Y)、差替パケット入力カウントに1を加え(ステップS1505)、差替パケット入力カウントが、出力対象セクションに含まれる差替後パケット数より小さくないか否かを判定する(ステップS1506)。
この時点における差替パケット入力カウントは1であり、出力対象セクションに含まれる差替後パケット数は3であるので、モジュール差替部402は、ステップS1505において、差替パケット入力カウントが、出力対象セクションに含まれる差替後パケット数より小さいと判定し(ステップS1506:N)、入力パケット保持部404に保持されている先頭のTSパケット(図16の出力TS72におけるTSパケット1651)を出力し(ステップS1509)、予め定められた差替終了時刻が到来したか否かを判定し(ステップS1510)、到来していないと判定し(ステップS1510:N)、ステップS1602の処理に戻る。
なお、図16の具体例においては、差替終了時刻は、図16の入力TS71におけるTSパケット1613取得直後に到来するものとする。
次に、モジュール差替部402は、入力データ受信部100より、図16の入力TS71におけるTSパケット1602を取得し(ステップS1502)、TSパケット1601における場合と同様の処理を行い、差替パケット入力カウントを2とし(ステップS1505)、図16の出力TS72におけるTSパケット1652を出力し(ステップS1509)、予め定められた差替終了時刻が到来したか否かを判定し(ステップS1510)、到来していないと判定し(ステップS1510:N)、ステップS1602の処理に戻る。
次に、モジュール差替部402は、入力データ受信部100より、図16の入力TS71におけるTSパケット1603を取得し(ステップS1502)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケット1601が差替対象パケットであるか否かを判定する(ステップS1503)。
取得したTSパケット1603は、差替非対象パケットであるので、モジュール差替部402は、ステップS1503において、差替対象パケットでないと判定し(ステップS1503:N)、取得したTSパケット1603を入力パケット保持部404に保持させ(ステップS1504)、ステップS1506の処理に移行する。
この時点における差替パケット入力カウントは2であり、出力対象セクションに含まれる差替後パケット数は3であるので、モジュール差替部402は、ステップS1505において、差替パケット入力カウントが、出力対象セクションに含まれる差替後パケット数より小さいと判定し(ステップS1506:N)、入力パケット保持部404に保持されている先頭のTSパケット(図16の出力TS72におけるTSパケット1653)を出力し(ステップS1509)、予め定められた差替終了時刻が到来したか否かの判定において(ステップS1510)、到来していないと判定し(ステップS1510:N)、ステップS1602の処理に戻る。
次に、モジュール差替部402は、入力データ受信部100より、図16の入力TS71におけるTSパケット1604〜1607を順に取得し(ステップS1502)、
それぞれ、TSパケット1603における場合と同様の処理を行い、差替パケット入力カウントを2に保ったまま、図16の出力TS72におけるTSパケット1654〜1657を順に出力し(ステップS1509)、予め定められた差替終了時刻が到来したか否かを判定し(ステップS1510)、到来していないと判定し(ステップS1510:N)、ステップS1602の処理に戻る。
なお、ステップS1509において出力されたTSパケットのうち、TSパケット1655〜1657は、先に取得され、入力パケット保持部404に保持されていたTSパケット1603〜1605に相当し、この時点において、入力パケット保持部404には、先に取得されたTSパケット1606と1607が、この順番に保持されている。
次に、モジュール差替部402は、入力データ受信部100より、図16の入力TS71におけるTSパケット1608を取得し(ステップS1502)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケット1608が差替対象パケットであるか否かを判定する(ステップS1503)。
取得したTSパケット1608は、差替対象パケットであるので、モジュール差替部402は、ステップS1503において、差替対象パケットであると判定し(ステップS1503:Y)、差替パケット入力カウントに1を加え(ステップS1505)、差替パケット入力カウントが、出力対象セクションに含まれる差替後パケット数より小さくないか否かを判定する(ステップS1506)。
この時点における差替パケット入力カウントは3であり、出力対象セクションに含まれる差替後パケット数は3であるので、モジュール差替部402は、ステップS1505において、差替パケット入力カウントが、出力対象セクションに含まれる差替後パケット数より小さくないと判定し(ステップS1506:Y)、ステップS1507の処理に移行する。
上述の通り、入力パケット保持部404には、TSパケット1606とTSパケット1607が保持されており、TSパケット1606は、「mid=1」のモジュールにおける先頭セクションである「bnum=0」のセクションに含まれるTSパケットの最終パケットであり、TSパケット1607は、「mid=1」のモジュールにおける2番目のセクションである「bnum=1」のセクションに含まれるTSパケットの先頭パケットであるので、入力パケット保持部404にキューとして保持されている差替非対象パケットのデータ列の先頭のセクションを構成する差替非対象パケットの最終パケットは、TSパケット1606となる。
従って、モジュール差替部402は、差替後パケット保持部103に保持されている差替後モジュールを構成する3個の差替後パケットを読出し、入力パケット保持部404にキューとして保持されている差替非対象パケットのデータ列において、先頭のセクションを構成する差替非対象パケットの最終パケットであるTSパケット1606の次に、読出した各差替後パケットを出力対象セクションにおける当該差替後パケットの配列順に挿入し(ステップS1507)、差替パケット入力カウント3から、挿入した出力対象セクションに含まれる差替後パケット数3を差し引き、差替パケット入力カウントを0とし(ステップS1508)、入力パケット保持部404に保持されている先頭のTSパケット1606を出力TS72におけるTSパケット1658として出力し(ステップS1509)、予め定められた差替終了時刻が到来したか否かの判定において(ステップS1510)、到来していないと判定し(ステップS1510:N)、ステップS1602の処理に戻る。
次に、モジュール差替部402は、入力データ受信部100より、図16の入力TS71におけるTSパケット1609を取得し(ステップS1502)、TSパケット1601における場合と同様の処理を行い、差替パケット入力カウントを1とし(ステップS1505)、入力パケット保持部404に保持されている先頭のTSパケットである、出力対象セクションにおける最初の差替後パケットを図16の出力TS72におけるTSパケット1659として出力し(ステップS1509)、予め定められた差替終了時刻が到来したか否かを判定し(ステップS1510)、到来していないと判定し(ステップS1510:N)、ステップS1602の処理に戻る。
次に、モジュール差替部402は、入力データ受信部100より、図16の入力TS71におけるTSパケット1610〜1613を順に取得し(ステップS1502)、
それぞれ、TSパケット1603における場合と同様の処理を行い、差替パケット入力カウントを1に保ったまま、図16の出力TS72におけるTSパケット1660〜1663を順に出力し(ステップS1509)、予め定められた差替終了時刻が到来したか否かを判定し(ステップS1510)、到来していないと判定し(ステップS1510:N)、ステップS1602の処理に戻る。
なお、TSパケット1613の取得直後に差替終了時刻が到来するので、モジュール差替部402は、TSパケット1613の取得後におけるステップS1510の判定を、差替終了時刻が到来したと判定し(ステップS1510:Y)、この時点における差替パケット入力カウント1に相当する1個のNUllパケットを生成して、入力パケット保持部404に保持させ、差替パケット入力カウントを0に設定する(ステップS1511)。
なお、ステップS1511の処理が完了すると、差替出力制御処理は、終了されるため、以降に取得されたTSパケットは、入力パケット保持部404にキューとして保持された後、TSパケットが取得される毎に、モジュール差替部402によって、入力パケット保持部404から順番に出力される。

(実施の形態5)
本実施の形態におけるデータ差替出力装置50は、入力される複数の差替対象モジュールを各差替対象モジュールに対応付けられた差替後モジュールに差替えて出力することを特徴とするデータ差替出力装置である。
<構成>
図20は、データ差替出力装置50の構成を示す機能ブロック図である。
データ差替出力装置50の構成は、実施の形態1におけるデータ差替出力装置10の構成と、差替後パケット保持部503とモジュール差替部502を除いて同様であるので、上記構成要素を除くデータ差替出力装置50の構成についての説明は、省略し、以下、相違点を中心に説明する。
差替後パケット保持部503は、各対応差替後モジュールの「module ID」と、当該対応差替後モジュールにおいて、直前に出力したセクションの「block Number」を示す「出力セクション番号」と、当該対応差替後モジュールの差替超過カウントとの対応関係を示す差替超過カウント対応テーブルと各対応差替後モジュールとを保持している。
ここで、「対応差替後モジュール」とは、外部より入力される複数種類の各差替対象モジュールに対応付けられている差替後モジュールのことをいい、具体的には、対応付けられている差替対象モジュールに付与された「module ID」と同一の「module ID」を付与された差替後モジュールのことをいう。
又、「差替超過カウント」とは、複数種類の各差替対象モジュールを構成する差替対象パケットの入力個数を、当該差替対象モジュールの対応差替後モジュールを構成する差替後パケット(以下、「対応差替後パケット」という。)の出力個数から差し引いた値のことをいい、対応差替後モジュール毎にモジュール差替部502によって算出され、差替超過カウント対応テーブルに記録される。
次に、本実施の形態のモジュール差替部502と実施の形態1のモジュール差替部102との相違点が現れるデータ差替出力装置50の差替出力制御処理の動作について説明する。
<動作>
1.実施の形態5における差替出力制御処理
図17は、データ差替出力装置50の行う差替出力制御処理の動作を示すフローチャートである。以下、図17を参照して、上記動作について説明する。
差替出力制御処理を実行するためのコンピュータプログラムが起動されると、モジュール差替部502は、差替後パケット保持部503の保持している差替超過カウント対応テーブルにおいて、全ての差替超過カウントを0に設定する(ステップS1701)。
次にモジュール差替部502は、入力データ受信部100よりTSパケットを取得し(ステップS1702)、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケットが差替対象パケットであるか否かを判定する(ステップS1703)。
差替対象パケットでない場合(ステップS1703:N)、モジュール差替部502は
取得したTSパケットを入力パケット保持部104にキューとして保持させ(ステップS1704)、直前に出力したTSパケットが当該TSパケットの属するセクションにおける最後のパケットであるか否か、又は直前に出力したTSパケットがないか否かの判定をする(ステップS1705)。
ステップS1703において、取得したTSパケットが差替対象パケットである場合(ステップS1703:Y)、モジュール差替部502は、ステップS1705の処理に移行する。
ステップS1705において、直前に出力したTSパケットが当該TSパケットの属するセクションにおける最後のパケットであるか、又は直前に出力したTSパケットがない場合(ステップS1705:Y)、モジュール差替部502は、差替元パケット判別部101からの判別結果の通知に基づいて、取得したTSパケットが差替対象パケットであるか否かを判定する(ステップS1712)。
取得したTSパケットが差替対象パケットである場合(ステップS1712:Y)、モジュール差替部502は、当該TSパケットの属するセクションの先頭パケットに付与された「module ID」(ここでは、「module ID=i」とする。)に基づいて、差替超過カウント対応テーブルより、「module ID=i」の対応差替後モジュール(以下、「対応差替後モジュール(i)」という。)を特定し、当該対応差替後モジュールの差替超過カウント(以下、「差替超過カウント(i)」という。)を、その値から1を引いた値に設定する(ステップS1713)。
次に、モジュール差替部502は、差替超過カウント対応テーブルを参照して、差替超過カウントが最小(ここでは、差替超過カウント(j)とする。)を示す「module ID=j」の対応差替後モジュール(以下、「対応差替後モジュール(j)」という。)を特定し(ステップS1714)、差替超過カウント(j)が0より小さいか否かを判定する(ステップS1715)。
ステップS1715において、差替超過カウント(j)が0より小さい場合(ステップS1715:Y)、モジュール差替部502は、差替超過カウント対応テーブルにおいて、差替超過カウント(j)を、その値に1を加えた値に設定し(ステップS1716)、さらに、対応差替後モジュール(j)の出力セクション番号を次の「block Number」に設定(次の「block Number」がない場合には、「block Number=0」に設定)し、差替後パケット保持部503から、設定した出力セクション番号のセクションに含まれる先頭の対応差替後パケットを出力し(ステップS1717)、ステップS1702の処理に戻る。
ステップS1715において、差替超過カウント(j)が0より小さくない場合(ステップS1715:N)、モジュール差替部502は、入力パケット保持部104に保持されている先頭のTSパケットを出力し(ステップS1718)、ステップS1702の処理に戻る。
ステップS1705において、直前に出力したTSパケットが当該TSパケットの属するセクションにおける最後のパケットでもなく、かつ、直前に出力したTSパケットがある場合(ステップS1705:N)、モジュール差替部502は、当該セクションにおいて直前に出力したTSパケットの次のTSパケットを出力し(ステップS1706)、
出力したTSパケットが入力パケット保持部104に保持されていたか否かにより、出力したTSパケットが差替非対象パケットであるか否かを判定する(ステップS1707)。
ステップS1707において、差替非対象パケットである場合(ステップS1707:Y)、モジュール差替部502はさらに、取得したTSパケットが差替対象パケットであるか否かを判定する(ステップS1708)。
ステップS1708において、取得したTSパケットが差替対象パケットである場合(ステップS1708:Y)、モジュール差替部502は、当該TSパケットの属するセクションの先頭パケットに付与された「module ID」(ここでは、「module ID=i」とする。)に基づいて、差替超過カウント対応テーブルより、「module ID=i」の対応差替後モジュール(i)を特定し、当該対応差替後モジュールの差替超過カウント(i)を、その値から1を引いた値に設定し(ステップS1709)、ステップS1702の処理に戻り、ステップS1708において、取得したTSパケットが差替対象パケット(i)でない場合(ステップS1708:N)、ステップS1702の処理に戻る。
ステップS1707において、出力したTSパケットが差替対象パケットである場合(ステップS1707:N)、モジュール差替部502はさらに、取得したTSパケットが差替対象パケットであるか否かを判定する(ステップS1710)。
ステップS1710において、取得したTSパケットが差替対象パケット(i)でない場合(ステップS1710:N)、モジュール差替部502は、出力したTSパケットの属する対応差替後モジュールの「module ID」(ここでは、「module ID=i」とする。)に基づいて、差替超過カウント対応テーブルより、当該対応差替後モジュールの差替超過カウント(i)を、その値に1を加えた値に設定し(ステップS1711)、ステップS1702の処理に戻り、ステップS1710において、取得したTSパケットが差替対象パケット(i)である場合(ステップS1710:Y)、ステップS1702の処理に戻る。
<補足>
以上、本発明に係るデータ差替出力装置について、実施の形態に基づいて説明したが、本発明はこれら実施の形態に限られないことは勿論である。
(1)本発明の実施の形態1において説明した差替出力制御処理の具体例においては、差替対象モジュールと差替後モジュールの「module ID」は、同一(「module ID=0」)であるとしたが、差替対象モジュールと差替後モジュールの「module ID」は同一である必要はなく、異なる「module ID」であってもよい。
例えば、上記の具体例において差替対象モジュールと差し替える差替後モジュールを、図5に示す「module ID=0」のモジュールでなく、図7に示す、図5の差替後モジュール50と同一のデータ構成の、「module ID=3」の差替後モジュール70としてもよい。
又、上記の例のように、予め「module ID」の異なる差替後モジュールを用意しておくことなく、差替後パケットを出力する際に、当該差替後パケットの「module ID」を書換えることとしてもよい。なお、この場合、CRCの値も「module ID」の変更に応じて行うものとする。
(2)本発明の実施の形態4においては、図15のデータ差替出力装置40の行う差替出力制御処理の動作を示すフローチャートのステップ1506において、差替パケット入力カウントが、出力対象セクションに含まれる差替後パケット数より小さくないか否かを判定することとしたが、ステップS1506において、差替パケット入力カウントと比較する数を、出力対象セクションに含まれる差替後パケット数ではなく、それよりも少ないパケット数、例えば、出力対象セクションに含まれる差替後パケット数の半数であってもよいし、1/3であってもよい。
これにより、差替後パケットの出力までの待ち時間を少なくすることができるので、視聴者は、よりはやく差替後モジュールを取得して、当該差替後モジュールに基づくデータ放送を少ない待ち時間で視聴することができる。
(3)本発明の実施の形態5において、図17のデータ差替出力装置50の行う差替出力制御処理の動作を示すフローチャートのステップS1714及びS1715において、差替超過カウントが最小で、0未満の対応差替後モジュールを特定して、当該対応差替後モジュールに含まれる対応差替後パケットを出力することとしたが、予め各対応差替後モジュールに優先順位を付与しておき、差替超過カウントが0未満で、優先順位の最も高い対応差替後モジュールを特定して、当該対応差替後モジュールに含まれる対応差替後パケットを出力することとしてもよい。
例えば、モジュール差替部502は、ステップS1714及びステップS1715の処理を行う代わりに、ステップS1814として、差替超過カウントが0未満で、優先順位の最も高い「module ID」の対応差替後モジュールの選択を試みる処理を行い、ステップ1815として、選択可否の判定を行い、選択できた場合には(ステップS1815:Y)、ステップS1816として選択した「module ID」の対応差替後モジュールの差替超過カウント(ここでは、差替超過カウント(j)とする。)を、その値に1を加えた値に設定する処理を行い、図17のステップS1717の処理に移行し、ステップS1814において、選択できなかった場合には(ステップS1815:N)、図17のステップS1718の処理に移行することとしてもよい。図21は、図17のデータ差替出力装置50の行う差替出力制御処理の動作の上記変形例1を示すフローチャートである。
ここで、モジュール差替部502は、ステップS1814において、選択できる対応差替後モジュールが複数ある場合には、「module ID」の小さい方又は大きい方を自動的に選択することとしてもよいし、選択できた各対応差替後モジュールの差替超過カウントを比較し、差替超過カウントの小さい方を選択することとしてもよい。
又、上記において、優先順位は、差替非対象パケットにも付与しておくこととしてもよい。この場合、図21のステップS1815において選択できた場合に(ステップS1815:Y)、モジュール差替部502は、さらに、差替非対象パケットに付与された優先順位との比較をする処理を行い、差替非対象パケットの優先順位の方が高い場合に、図17のステップS1718の処理を行い、そうでない場合に、ステップS1816の処理を行うこととすることができる。
又、上記のように、優先順位を付与するのではなく、各対応差替後モジュールの中の1つを最優先モジュールとして、予め設定しておき、モジュール差替部502は、図17のステップS1714及びステップS1715の処理を行う代わりに、ステップS2015として、最優先モジュールの差替超過カウント(ここでは、差替超過カウント(1)とする。)が0未満か否かを判定する処理を行い、0未満の場合には(ステップS2015:Y)、ステップS2016として最優先モジュールの差替超過カウントを、その値に1を加えた値に設定する処理を行い、図17のステップS1717の処理に移行し、ステップS2015において、0未満でない場合には(ステップS2015:N)、ステップS2017、ステップS2018として、図17のステップS1714及びステップS1715の処理と同様の処理を行うこととしてもよい。図22は、図17のデータ差替出力装置50の行う差替出力制御処理の動作の上記変形例3を示すフローチャートである。
(4)本発明の実施の形態5において、図17のデータ差替出力装置50の行う差替出力制御処理の動作においては、各対応差替後モジュール毎の差替超過カウントを算出して、各対応差替後モジュールに含まれる対応差替後パケットの出力を制御することとしたが、さらに、各対応差替後モジュール毎の差替超過カウントの合計カウント(以下、「差替超過合計カウント」という。)を算出して、上記制御を行うこととしてもよい。
例えば、図17のフローチャートにおいて、モジュール差替部502は、ステップS1701の処理に加え、差し替超過合計カウントを0に設定する処理を行い(ステップS2101)、さらに、ステップS1709の処理に加え、差替合計カウントを、その値から1を引いた値に設定する処理を行い、さらに、ステップS1711及びステップS1716の処理に加え、それぞれ、差替合計カウントを、その値に1を加えた値に設定する処理を行い、さらに、ステップS1715において、差替超過カウント(j)が0より小さく、かつ、差替超過合計カウントが0より小さいか否かを判定することとし、差替超過カウント(j)が0より小さく、かつ、差替超過合計カウントが0より小さい場合に、図17のステップS1717の処理を行うこととしてもよい。
これにより、過剰に対応差替パケットが出力されるのを抑止し、差替非対象パケットの出力の遅延を少なくすることができる。
(5)本発明の実施の形態1、4、及び5においては、受信した差替非対象パケットを入力パケット保持部104又は404に保持することとしたが、予め受信した差替非対象パケットをモジュール単位で差替後パケット保持部103又は503に保持しておき、受信した差替非対象パケットに対応する差替非対象パケットを差替後パケット保持部103又は503から出力することとしてもよい。
(6)本発明の実施の形態1〜5においては、データの伝送は、MPEG2の規格に従って行われることとしたが、本発明が適用できるのは、MPEG2の規格に従っている場合に限られないことは勿論である。
本発明は、外部より送信されるデータを受信し、受信したデータの内容の一部を差替えて、データを出力するデータ差替出力装置におけるデータの差替出力の制御に用いることができる。
本発明の実施の形態1におけるデータ差替出力装置10の構成を示す機能ブロック図である。 入力データ受信部100に入力される素材データのTSのデータ構成の例を示す。 TSパケット、セクション及びモジュールの関係を模式的に表した図である。 データ差替出力装置10に入力されたTS(入力TS41)の具体例と、当該TSに含まれる差替対象パケットを差替後パケットに差替えた後に、データ差替出力装置10から出力されるTS(出力TS42)の具体例とを示す。 差替後モジュール50の具体例を示す。図5の例では、「block Number=1〜9」で示される10個のセクションから成る差替後モジュールの例を示す。 データ差替出力装置10の行う差替出力制御処理の動作を示すフローチャートである。 図5の差替後モジュール50と同一のデータ構成の、「module ID=3」の差替後モジュール70の例を示す。 データ差替出力装置20の構成を示す機能ブロック図である。 図10の具体例に示す差替対象パケットによって構成される差替対象モジュール90を示す。 データ差替出力装置20に入力されたTS(入力TS51)の具体例と、当該TSに含まれる差替対象パケットを差替後パケット又はNullパケットに差替えた後に、データ差替出力装置20から出力されるTS(出力TS52)の具体例とを示す。 図10の具体例に示す差替後パケットによって構成される差替後モジュール110を示す データ差替出力装置20の行う差替出力制御処理の動作を示すフローチャートである。 データ差替出力装置30の行う差替出力制御処理の動作を示すフローチャートである。 データ差替出力装置30に入力されたTS(入力TS61)の具体例と、当該TSに含まれる差替対象パケットを図11に示す差替後モジュールを構成する差替後パケット又はNullパケットに差替えた後に、データ差替出力装置30から出力されるTS(出力TS62)の具体例とを示す。 データ差替出力装置40の行う差替出力制御処理の動作を示すフローチャートである。 データ差替出力装置40に入力されたTS(入力TS71)の具体例と、当該TSに含まれる差替対象パケットから構成される差替対象モジュールを3個の差替後パケットを含むセクション1つから構成される差替後モジュールに差替えた後に、データ差替出力装置40から出力されるTS(出力TS72)の具体例とを示す。 データ差替出力装置50の行う差替出力制御処理の動作を示すフローチャートである。 データ差替出力装置30の構成を示す機能ブロック図である。 データ差替出力装置40の構成を示す機能ブロック図である。 データ差替出力装置50の構成を示す機能ブロック図である。 図17のデータ差替出力装置50の行う差替出力制御処理の動作の上記変形例1を示すフローチャートである。 図17のデータ差替出力装置50の行う差替出力制御処理の動作の上記変形例3を示すフローチャートである。
符号の説明
10、20、30、40、50 データ差替出力装置
100 入力データ受信部
101 差替元パケット判別部
102、202、302、402,502 モジュール差替部
103、503 差替後パケット保持部
104、404 入力パケット保持部
2021 Nullパケット生成部

Claims (23)

  1. それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置であって、
    前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
    前記データ差替出力装置は、
    基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較し、その比較結果に基づいて、前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う決定手段と、
    ユニットデータの入力速度と同一の速度でユニットデータを出力し、前記決定手段によって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、入力された前記差替対象データを構成するユニットデータを前記代替データを構成するユニットデータに1対1で差替えて出力するデータ出力手段と
    を備えることを特徴とするデータ差替出力装置。
  2. 前記出力手段は、前記差替対象データ又は差替非対象データを構成するユニットデータが1つ入力される毎に前記差替非対象データ又は前記代替データを構成するユニットデータを1つ出力し、前記決定手段によって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、前記代替データを構成する複数のユニットデータを1つずつ出力する操作を、当該複数分のユニットデータの出力が完了するまで連続して繰返し、
    前記決定手段は、
    前記各ユニットデータを受信する毎に、当該ユニットデータが前記差替対象データを構成するユニットデータであるか否かを判別する判別手段と、
    基準時から現受信時までの期間において受信した前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較する比較手段と
    前記差替対象データ又は前記差替非対象データを構成するユニットデータが入力される毎に前記代替データを構成する複数のユニットデータの前記出力手段による出力が完了しているか否かを判定する判定手段と
    を有し、
    前記決定手段は、前記代替データを構成する複数のユニットデータの出力が完了している場合に、前記代替データを構成するユニットデータを出力するか否かの決定を行い、前記比較結果が、前記期間において入力された前記差替対象データを構成する前記ユニットデータの総数が前記期間において出力した、前記代替データを構成する前記ユニットデータの総数よりも小さくない場合に限り、前記代替データを構成する前記ユニットデータを出力する決定を行う
    ことを特徴とする請求項1記載のデータ差替出力装置。
  3. 前記データ出力手段は、入力された前記差替非対象データを記憶する記憶手段を有し、前記記憶手段に記憶されている前記差替非対象データを構成する前記ユニットデータを読出して出力する
    ことを特徴とする請求項2記載のデータ差替出力装置。
  4. 前記決定手段は、
    前記各ユニットデータを受信する毎に、当該ユニットデータが前記差替対象データを構成するユニットデータであるか否かを判別する判別手段と、
    基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数から、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数を引いた値である超過カウント値を算出する算出手段と
    前記超過カウント値が、前記所定数より小さくないか否かを判定する判定手段と
    を有し、
    前記決定手段は、前記超過カウント値が前記所定数より小さくない場合に、前記代替データを構成する前記ユニットデータを出力する決定を行う
    ことを特徴とする請求項1記載のデータ差替出力装置。
  5. 前記決定手段は、
    前記各ユニットデータを受信する毎に、当該ユニットデータが前記差替対象データを構成するユニットデータであるか否かを判別する判別手段と、
    基準時から現受信時までの期間において受信した前記差替対象ユニットデータの総数から、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数を引いた超過カウント値を算出する算出手段と
    前記超過カウント値が、前記所定数の半分より小さくないか否かを判定する判定手段と
    を有し、
    前記決定手段は、前記超過カウント値が前記所定数の半分より小さくない場合に、前記代替データを構成する前記ユニットデータを出力する決定を行う
    ことを特徴とする請求項1記載のデータ差替出力装置。
  6. 前記差替対象データには、当該差替対象データの種類を識別するための差替対象データ識別子が含まれ、
    前記代替データには、当該代替データの種類を識別するための代替データ識別子が含まれ、
    前記データストリームには、前記差替対象データ識別子の異なる複数種類の差替対象データが含まれ、
    前記データ出力手段は、前記複数種類の各種類の差替対象データにそれぞれ差替えて出力すべき、前記代替データ識別子の異なる各種類の代替データを記憶している代替データ記憶手段を備え、
    前記決定手段は、前記複数種類の各差替対象データについての前記総数と、前記各差替対象データと差替える各種類の前記代替データについての前記総数との各比較結果に基づいて、前記各種類の何れかの種類の代替データを構成する前記ユニットデータを出力するか否かの決定を行う
    ことを特徴とする請求項1記載のデータ差替出力装置。
  7. 前記決定手段は、前記各差替対象データについての前記総数を、前記各種類の前記代替データについての前記総数から引いた値である超過カウントを、前記各種類の前記代替データについて算出し、
    前記各種類の前記代替データについて算出した各超過カウントの少なくとも1つ以上が0より小さい場合に、算出した超過カウントが0未満に該当する種類の前記代替データの中から、所定の基準に基づいて、出力すべき前記代替データを選択し、選択した前記代替データを構成する前記ユニットデータを出力する決定を行う
    ことを特徴とする請求項6記載のデータ差替出力装置。
  8. 前記所定の基準は、該当する種類の前記代替データについて算出した0未満の超過カウントの昇順である
    ことを特徴とする請求項7記載のデータ差替出力装置。
  9. 前記各種類の前記代替データには、それぞれ優先順位が付与され、
    前記所定の基準は、算出した超過カウントが0未満に該当する種類の前記代替データに付与された前記優先順位の高い順である
    ことを特徴とする請求項7記載のデータ差替出力装置。
  10. 前記所定の基準は、前記各種類の前記代替データの中から予め選択された前記代替データの超過カウントが0より小さい場合には、当該代替データを選択し、当該代替データの超過カウントが0より小さくない場合には、該当する種類の前記代替データについて算出した0未満の超過カウントの昇順に従って選択するという基準である
    ことを特徴とする請求項7記載のデータ差替出力装置。
  11. 前記各種類の前記代替データ及び前記非対象データには、それぞれ優先順位が付与され、
    前記決定手段は、前記各差替対象データについての前記総数を、前記各種類の前記代替データについての前記総数から引いた値である超過カウントを、前記各種類の前記代替データについて算出し、算出した各超過カウントの少なくとも1つ以上が、0より小さい場合において、当該超過カウントが0より小さい前記各代替データに付与された優先順位の何れかが、差替非対象ユニットデータに付与された優先順位よりも低くない場合に、前記各代替データの何れかを構成する前記ユニットデータを出力する決定を行う
    ことを特徴とする請求項6記載のデータ差替出力装置。
  12. 前記差替対象データには、当該差替対象データの種類を識別するための差替対象データ識別子が含まれ、
    前記代替データには、当該代替データの種類を識別するための代替データ識別子が含まれ、
    前記データストリームには、前記差替対象データ識別子の異なる複数種類の差替対象データが含まれ、
    前記データ出力手段は、前記複数種類の各種類の差替対象データにそれぞれ差替えて出力すべき、前記代替データ識別子の異なる各種類の代替データを記憶している代替データ記憶手段を備え、
    前記決定手段は、前記複数種類の各差替対象データについての前記総数の合計と、前記各差替対象データと差替える各種類の前記代替データについての前記総数の合計との比較結果に基づいて、前記各種類の何れかの種類の前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う
    ことを特徴とする請求項1記載のデータ差替出力装置。
  13. それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力受取り入力された差替対象データを代替データに差替えて出力するデータ差替出力装置であって、
    前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
    前記差替対象データを構成するユニットデータは、M個の連続したユニットデータのデータ列として前記データストリームに含まれ、
    前記代替データは、差替用データとダミーデータとからなり、
    前記データ差替出力装置は、
    入力された前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別手段と、
    ユニットデータの入力速度と同一の速度でユニットデータを出力し、入力された前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、当該データ列が入力される毎に、入力されたデータ列に含まれるM個のユニットデータを、予め定められた、少なくとも1つ以上の値を示すN(M>=N)個の前記差替用データを構成するユニットデータと(M―N)個のダミーデータを構成するユニットデータとに差替えて出力し、
    入力された前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、当該ユニットデータを受信する毎に、当該差替非対象データを構成するユニットデータを出力するデータ出力手段と
    を備えることを特徴とするデータ差替出力装置。
  14. それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力受取り入力された差替対象データを代替データに差替えて出力するデータ差替出力装置であって、
    前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
    前記差替対象データを構成するユニットデータは、複数の連続したユニットデータのデータ列として前記データストリームに含まれ、
    前記代替データは、差替用データとダミーデータとからなり、
    前記データ差替出力装置は、
    入力された前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別手段と、
    入力された前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、前記データ列に含まれる前記ユニットデータ数を検出する検出手段と、
    検出した前記ユニットデータ数が予め定められた、少なくとも1つ以上の値を示すNより小さいか否かを判定する判定手段と、
    ユニットデータの入力速度と同一の速度でユニットデータを出力し、検出したユニットデータ数がNより小さい場合、前記データ列が入力される毎に、入力されたデータ列に含まれる複数のユニットデータを、検出した前記ユニットデータ数分だけ、前記ダミーデータを構成する前記ユニットデータに差替えて出力し、
    検出したユニットデータ数がNより大きい場合、前記データ列が入力される毎に、入力されたデータ列に含まれる複数のユニットデータを、N個の前記差替用データを構成する前記ユニットデータと、検出したユニットデータ数とNとの差に相当する数のダミーデータを構成する前記ユニットデータとに差替えて出力し、
    受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、前記差替非対象ユニットデータが入力される毎に、当該差替非対象ユニットデータを出力するデータ出力手段と
    を備えることを特徴とするデータ差替出力装置。
  15. それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリーム入力受取り入力された差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力方法であって、
    前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
    前記データ差替出力方法は、
    基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較し、その比較結果に基づいて、前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う決定ステップと、
    ユニットデータの入力速度と同一の速度でユニットデータを出力し、前記決定ステップによって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、入力された前記差替対象データを構成するユニットデータを前記代替データを構成するユニットデータに1対1で差替えて出力するデータ出力ステップと
    を含むことを特徴とするデータ差替出力方法。
  16. それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力受取り入力された差替対象データを代替データに差替えて出力するデータ差替出力装置にデータ差替出力制御処理を実行させるためのプログラムであって、
    前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
    前記データ差替出力制御処理は、
    基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較し、その比較結果に基づいて、前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う決定ステップと、
    ユニットデータの入力速度と同一の速度でユニットデータを出力し、前記決定ステップによって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、入力された前記差替対象データを構成するユニットデータを前記代替データを構成するユニットデータに1対1で差替えて出力するデータ出力ステップと
    を含むことを特徴とするプログラム。
  17. それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力受取り入力された差替対象データを代替データに差替えて出力するデータ差替出力装置にデータ差替出力制御処理を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体であって、
    前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
    前記データ差替出力制御処理は、
    基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較し、その比較結果に基づいて、前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う決定ステップと、
    ユニットデータの入力速度と同一の速度でユニットデータを出力し、前記決定ステップによって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、入力された前記差替対象データを構成するユニットデータを前記代替データを構成するユニットデータに1対1で差替えて出力するデータ出力ステップと
    を含むことを特徴とするコンピュータ読取可能な記録媒体。
  18. それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力受取り入力された差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力方法であって、
    前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
    前記差替対象データを構成するユニットデータは、M個の連続したユニットデータのデータ列として前記データストリームに含まれ、
    前記代替データは、差替用データとダミーデータとからなり、
    前記データ差替出力方法は、
    入力された前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、
    ユニットデータの入力速度と同一の速度でユニットデータを出力し、入力された前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、当該データ列が入力される受信する毎に、入力されたデータ列に含まれるM個のユニットデータを、予め定められた、少なくとも1つ以上の値を示すN(M>=N)個の前記差替用データを構成するユニットデータと(M―N)個のダミーデータを構成するユニットデータとに差替えて出力し、
    入力された前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、当該ユニットデータを受信する毎に、当該差替非対象データを構成するユニットデータを出力するデータ出力ステップと
    を含むことを特徴とするデータ差替出力方法。
  19. それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力受取り入力された差替対象データを代替データに差替えて出力するデータ差替出力装置にデータ差替出力制御処理を実行させるためのプログラムであって、
    前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
    前記差替対象データを構成するユニットデータは、M個の連続したユニットデータのデータ列として前記データストリームに含まれ、
    前記代替データは、差替用データとダミーデータとからなり、
    前記データ差替出力制御処理は、
    入力された前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、
    ユニットデータの入力速度と同一の速度でユニットデータを出力し、入力された前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、当該データ列が入力される毎に、予め定められた、少なくとも1つ以上の値を示すN(M>=N)個の前記差替用データを構成するユニットデータと(M―N)個のダミーデータを構成するユニットデータとに差替えて出力し、
    入力された前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、当該ユニットデータを受信する毎に、当該差替非対象データを構成するユニットデータを出力するデータ出力ステップと
    を含むことを特徴とするプログラム。
  20. それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力受取り入力された差替対象データを代替データに差替えて出力するデータ差替出力装置にデータ差替出力制御処理を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体であって、
    前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
    前記差替対象データを構成するユニットデータは、M個の連続したユニットデータのデータ列として前記データストリームに含まれ、
    前記代替データは、差替用データとダミーデータとからなり、
    前記データ差替出力制御処理は、
    入力された前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、
    ユニットデータの入力速度と同一の速度でユニットデータを出力し、入力された前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、当該データ列が入力される毎に、入力されたデータ列に含まれるM個のユニットデータを、予め定められた、少なくとも1つ以上の値を示すN(M>=N)個の前記差替用データを構成するユニットデータと(M―N)個のダミーデータを構成するユニットデータとに差替えて出力し、
    入力された前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、当該ユニットデータを受信する毎に、当該差替非対象データを構成するユニットデータを出力するデータ出力ステップと
    を含むことを特徴とするコンピュータ読取可能な記録媒体。
  21. それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力受取り入力された差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力方法であって、
    前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
    前記差替対象データを構成するユニットデータは、複数の連続したユニットデータのデータ列として前記データストリームに含まれ、
    前記代替データは、差替用データとダミーデータとからなり、
    前記データ差替出力方法は、
    入力された前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、
    入力された前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、前記データ列に含まれる前記ユニットデータ数を検出する検出ステップと、
    検出した前記ユニットデータ数が予め定められた、少なくとも1つ以上の値を示すNより小さいか否かを判定する判定ステップと、
    ユニットデータの入力速度と同一の速度でユニットデータを出力し、検出したユニットデータ数がNより小さい場合、前記データ列が入力される毎に、入力されたデータ列に含まれる複数のユニットデータを、検出した前記ユニットデータ数分だけ、前記ダミーデータを構成する前記ユニットデータに差替えて出力し、
    検出したユニットデータ数がNより大きい場合、前記データ列が入力される毎に、入力されたデータ列に含まれる複数のユニットデータを、N個の前記差替用データを構成する前記ユニットデータと、検出したユニットデータ数とNとの差に相当する数のダミーデータを構成する前記ユニットデータとに差替えて出力し、
    受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、前記差替非対象ユニットデータが入力される毎に、当該差替非対象ユニットデータを出力するデータ出力ステップと
    を含むことを特徴とするデータ差替出力方法。
  22. それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力受取り入力された差替対象データを代替データに差替えて出力するデータ差替出力装置にデータ差替出力制御処理を実行させるためのプログラムであって、
    前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
    前記差替対象データを構成するユニットデータは、複数の連続したユニットデータのデータ列として前記データストリームに含まれ、
    前記代替データは、差替用データとダミーデータとからなり、
    前記データ差替出力制御処理は、
    入力された前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、
    入力された前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、前記データ列に含まれる前記ユニットデータ数を検出する検出ステップと、
    検出した前記ユニットデータ数が予め定められた、少なくとも1つ以上の値を示すNより小さいか否かを判定する判定ステップと、
    ユニットデータの入力速度と同一の速度でユニットデータを出力し、検出したユニットデータ数がNより小さい場合、前記データ列が入力される毎に、入力されたデータ列に含まれる複数のユニットデータを、、検出した前記ユニットデータ数分だけ、前記ダミーデータを構成する前記ユニットデータに差替えて出力し、
    検出したユニットデータ数がNより大きい場合、前記データ列が入力される毎に、入力されたデータ列に含まれる複数のユニットデータを、N個の前記差替用データを構成する前記ユニットデータと、検出したユニットデータ数とNとの差に相当する数のダミーデータを構成する前記ユニットデータとに差替えて出力し、
    受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、前記差替非対象ユニットデータが入力される毎に、当該差替非対象ユニットデータを出力するデータ出力ステップと
    を含むことを特徴とするプログラム。
  23. それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力受取り入力された差替対象データを代替データに差替えて出力するデータ差替出力装置にデータ差替出力制御処理を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体であって、
    前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
    前記差替対象データを構成するユニットデータは、複数の連続したユニットデータのデータ列として前記データストリームに含まれ、
    前記代替データは、差替用データとダミーデータとからなり、
    前記データ差替出力制御処理は、
    入力された前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、
    入力された前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、前記データ列に含まれる前記ユニットデータ数を検出する検出ステップと、
    検出した前記ユニットデータ数が予め定められた、少なくとも1つ以上の値を示すNより小さいか否かを判定する判定ステップと、
    ユニットデータの入力速度と同一の速度でユニットデータを出力し、検出したユニットデータ数がNより小さい場合、前記データ列が入力される毎に、入力されたデータ列に含まれる複数のユニットデータを、検出した前記ユニットデータ数分だけ、前記ダミーデータを構成する前記ユニットデータに差替えて出力し、
    検出したユニットデータ数がNより大きい場合、前記データ列が入力される毎に、入力されたデータ列に含まれる複数のユニットデータを、N個の前記差替用データを構成する前記ユニットデータと、検出したユニットデータ数とNとの差に相当する数のダミーデータを構成する前記ユニットデータとに差替えて出力し、
    受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、前記差替非対象ユニットデータが入力される毎に、当該差替非対象ユニットデータを出力するデータ出力ステップと
    を含むことを特徴とするコンピュータ読取可能な記録媒体。
JP2003321902A 2002-09-20 2003-09-12 データ差替出力装置及びデータ差替出力方法 Expired - Fee Related JP3677026B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003321902A JP3677026B2 (ja) 2002-09-20 2003-09-12 データ差替出力装置及びデータ差替出力方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002274539 2002-09-20
JP2003321902A JP3677026B2 (ja) 2002-09-20 2003-09-12 データ差替出力装置及びデータ差替出力方法

Publications (2)

Publication Number Publication Date
JP2004135315A JP2004135315A (ja) 2004-04-30
JP3677026B2 true JP3677026B2 (ja) 2005-07-27

Family

ID=32301745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003321902A Expired - Fee Related JP3677026B2 (ja) 2002-09-20 2003-09-12 データ差替出力装置及びデータ差替出力方法

Country Status (1)

Country Link
JP (1) JP3677026B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008205979A (ja) 2007-02-22 2008-09-04 Hitachi Ltd 放送データ変換装置
JP5615482B2 (ja) * 2007-10-30 2014-10-29 京セラ株式会社 デジタル放送の受信装置および受信制御方法、デジタル放送送信装置
JP6920701B2 (ja) * 2020-01-29 2021-08-18 有限会社Bond 番組作成方法、番組作成装置及びプログラム

Also Published As

Publication number Publication date
JP2004135315A (ja) 2004-04-30

Similar Documents

Publication Publication Date Title
KR100641594B1 (ko) 데이터 전달 제어 방법, 데이터 전송 방법, 데이터 송신장치, 수신 장치
CN1130073C (zh) 产生和处理地面、有线或卫星广播的节目映像信息的系统
CN1120620C (zh) 产生和处理广播的节目专用信息中使用的文本数据的系统
KR100226528B1 (ko) 다중화 압축화상/음성데이타의 복호장치
EP0997036B1 (en) A system for forming and processing program specific information containing text data for terrestrial, cable or satellite broadcast
US7035278B2 (en) Method and apparatus for forming and utilizing a slotted MPEG transport stream
JP2000500632A (ja) フォーマット済みリアルタイム・ビデオと共にデータを多重化し分配する方法および装置
CN101505417B (zh) 时戳附加装置、时戳附加方法
CN1262839A (zh) 适于地面、有线或卫星广播的节目专用信息产生和处理系统
CN102510520B (zh) 用于接收数据的方法和设备
CN1585466A (zh) 在数字电视机上提供广告的装置和方法
US8615783B2 (en) Video sending apparatus and caption replacing method
US20130209063A1 (en) Digital receiver and content processing method in digital receiver
KR100750143B1 (ko) 디지털 방송 신호의 저장 방법 및 장치
JP3677026B2 (ja) データ差替出力装置及びデータ差替出力方法
CN101984655A (zh) 数字电视接收装置及其换台方法
KR20010089711A (ko) 저장형 방송 시스템, 송신 장치 및 수신 장치
JP2004193673A (ja) 受信装置及び方法、再生装置及び方法、並びに記録再生装置及び方法
CN100385949C (zh) 数据替换输出设备和方法
CN102868708A (zh) 一种获得转码后的目标文件的方法和系统
US8275246B2 (en) Digital content reproducing and storing apparatus, digital content reproducing and storing method, digital content storing apparatus, digital content reproducing apparatus, and computer readable medium storing digital content reproducing and storing program
CN101116333A (zh) 高速解码数字多媒体广播内容的终端及其方法
JPH09214908A (ja) 信号選択装置
JP2007266778A (ja) 復調回路及びデジタル放送受信装置
US9344699B2 (en) Information processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040301

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20040301

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20040317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040615

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040810

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050502

R150 Certificate of patent or registration of utility model

Ref document number: 3677026

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130513

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130513

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees