(57)【特許請求の範囲】
【請求項１】
それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置であって、
前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
前記データ差替出力装置は、
基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較し、その比較結果に基づいて、前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う決定手段と、
ユニットデータの入力速度と同一の速度でユニットデータを出力し、前記決定手段によって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、入力された前記差替対象データを構成するユニットデータを前記代替データを構成するユニットデータに１対１で差替えて出力するデータ出力手段と
を備えることを特徴とするデータ差替出力装置。
【請求項２】
前記出力手段は、前記差替対象データ又は差替非対象データを構成するユニットデータが１つ入力される毎に前記差替非対象データ又は前記代替データを構成するユニットデータを１つ出力し、前記決定手段によって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、前記代替データを構成する複数のユニットデータを１つずつ出力する操作を、当該複数分のユニットデータの出力が完了するまで連続して繰返し、
前記決定手段は、
前記各ユニットデータを受信する毎に、当該ユニットデータが前記差替対象データを構成するユニットデータであるか否かを判別する判別手段と、
基準時から現受信時までの期間において受信した前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較する比較手段と
前記差替対象データ又は前記差替非対象データを構成するユニットデータが入力される毎に前記代替データを構成する複数のユニットデータの前記出力手段による出力が完了しているか否かを判定する判定手段と
を有し、
前記決定手段は、前記代替データを構成する複数のユニットデータの出力が完了している場合に、前記代替データを構成するユニットデータを出力するか否かの決定を行い、前記比較結果が、前記期間において入力された前記差替対象データを構成する前記ユニットデータの総数が前記期間において出力した、前記代替データを構成する前記ユニットデータの総数よりも小さくない場合に限り、前記代替データを構成する前記ユニットデータを出力する決定を行う
ことを特徴とする請求項１記載のデータ差替出力装置。
【請求項３】
前記データ出力手段は、入力された前記差替非対象データを記憶する記憶手段を有し、前記記憶手段に記憶されている前記差替非対象データを構成する前記ユニットデータを読出して出力する
ことを特徴とする請求項２記載のデータ差替出力装置。
【請求項４】
前記決定手段は、
前記各ユニットデータを受信する毎に、当該ユニットデータが前記差替対象データを構成するユニットデータであるか否かを判別する判別手段と、
基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数から、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数を引いた値である超過カウント値を算出する算出手段と
前記超過カウント値が、前記所定数より小さくないか否かを判定する判定手段と
を有し、
前記決定手段は、前記超過カウント値が前記所定数より小さくない場合に、前記代替データを構成する前記ユニットデータを出力する決定を行う
ことを特徴とする請求項１記載のデータ差替出力装置。
【請求項５】
前記決定手段は、
前記各ユニットデータを受信する毎に、当該ユニットデータが前記差替対象データを構成するユニットデータであるか否かを判別する判別手段と、
基準時から現受信時までの期間において受信した前記差替対象ユニットデータの総数から、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数を引いた超過カウント値を算出する算出手段と
前記超過カウント値が、前記所定数の半分より小さくないか否かを判定する判定手段と
を有し、
前記決定手段は、前記超過カウント値が前記所定数の半分より小さくない場合に、前記代替データを構成する前記ユニットデータを出力する決定を行う
ことを特徴とする請求項１記載のデータ差替出力装置。
【請求項６】
前記差替対象データには、当該差替対象データの種類を識別するための差替対象データ識別子が含まれ、
前記代替データには、当該代替データの種類を識別するための代替データ識別子が含まれ、
前記データストリームには、前記差替対象データ識別子の異なる複数種類の差替対象データが含まれ、
前記データ出力手段は、前記複数種類の各種類の差替対象データにそれぞれ差替えて出力すべき、前記代替データ識別子の異なる各種類の代替データを記憶している代替データ記憶手段を備え、
前記決定手段は、前記複数種類の各差替対象データについての前記総数と、前記各差替対象データと差替える各種類の前記代替データについての前記総数との各比較結果に基づいて、前記各種類の何れかの種類の代替データを構成する前記ユニットデータを出力するか否かの決定を行う
ことを特徴とする請求項１記載のデータ差替出力装置。
【請求項７】
前記決定手段は、前記各差替対象データについての前記総数を、前記各種類の前記代替データについての前記総数から引いた値である超過カウントを、前記各種類の前記代替データについて算出し、
前記各種類の前記代替データについて算出した各超過カウントの少なくとも１つ以上が０より小さい場合に、算出した超過カウントが０未満に該当する種類の前記代替データの中から、所定の基準に基づいて、出力すべき前記代替データを選択し、選択した前記代替データを構成する前記ユニットデータを出力する決定を行う
ことを特徴とする請求項６記載のデータ差替出力装置。
【請求項８】
前記所定の基準は、該当する種類の前記代替データについて算出した０未満の超過カウントの昇順である
ことを特徴とする請求項７記載のデータ差替出力装置。
【請求項９】
前記各種類の前記代替データには、それぞれ優先順位が付与され、
前記所定の基準は、算出した超過カウントが０未満に該当する種類の前記代替データに付与された前記優先順位の高い順である
ことを特徴とする請求項７記載のデータ差替出力装置。
【請求項１０】
前記所定の基準は、前記各種類の前記代替データの中から予め選択された前記代替データの超過カウントが０より小さい場合には、当該代替データを選択し、当該代替データの超過カウントが０より小さくない場合には、該当する種類の前記代替データについて算出した０未満の超過カウントの昇順に従って選択するという基準である
ことを特徴とする請求項７記載のデータ差替出力装置。
【請求項１１】
前記各種類の前記代替データ及び前記非対象データには、それぞれ優先順位が付与され、
前記決定手段は、前記各差替対象データについての前記総数を、前記各種類の前記代替データについての前記総数から引いた値である超過カウントを、前記各種類の前記代替データについて算出し、算出した各超過カウントの少なくとも１つ以上が、０より小さい場合において、当該超過カウントが０より小さい前記各代替データに付与された優先順位の何れかが、差替非対象ユニットデータに付与された優先順位よりも低くない場合に、前記各代替データの何れかを構成する前記ユニットデータを出力する決定を行う
ことを特徴とする請求項６記載のデータ差替出力装置。
【請求項１２】
前記差替対象データには、当該差替対象データの種類を識別するための差替対象データ識別子が含まれ、
前記代替データには、当該代替データの種類を識別するための代替データ識別子が含まれ、
前記データストリームには、前記差替対象データ識別子の異なる複数種類の差替対象データが含まれ、
前記データ出力手段は、前記複数種類の各種類の差替対象データにそれぞれ差替えて出力すべき、前記代替データ識別子の異なる各種類の代替データを記憶している代替データ記憶手段を備え、
前記決定手段は、前記複数種類の各差替対象データについての前記総数の合計と、前記各差替対象データと差替える各種類の前記代替データについての前記総数の合計との比較結果に基づいて、前記各種類の何れかの種類の前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う
ことを特徴とする請求項１記載のデータ差替出力装置。
【請求項１３】
それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置であって、
前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
前記差替対象データを構成するユニットデータは、Ｍ個の連続したユニットデータのデータ列として前記データストリームに含まれ、
前記代替データは、差替用データとダミーデータとからなり、
前記データ差替出力装置は、
入力された前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別手段と、
ユニットデータの入力速度と同一の速度でユニットデータを出力し、入力された前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、当該データ列が入力される毎に、入力されたデータ列に含まれるM個のユニットデータを、予め定められた、少なくとも１つ以上の値を示すＮ（Ｍ＞＝Ｎ）個の前記差替用データを構成するユニットデータと（Ｍ―Ｎ）個のダミーデータを構成するユニットデータとに差替えて出力し、
入力された前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、当該ユニットデータを受信する毎に、当該差替非対象データを構成するユニットデータを出力するデータ出力手段と
を備えることを特徴とするデータ差替出力装置。
【請求項１４】
それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置であって、
前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
前記差替対象データを構成するユニットデータは、複数の連続したユニットデータのデータ列として前記データストリームに含まれ、
前記代替データは、差替用データとダミーデータとからなり、
前記データ差替出力装置は、
入力された前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別手段と、
入力された前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、前記データ列に含まれる前記ユニットデータ数を検出する検出手段と、
検出した前記ユニットデータ数が予め定められた、少なくとも１つ以上の値を示すＮより小さいか否かを判定する判定手段と、
ユニットデータの入力速度と同一の速度でユニットデータを出力し、検出したユニットデータ数がＮより小さい場合、前記データ列が入力される毎に、入力されたデータ列に含まれる複数のユニットデータを、検出した前記ユニットデータ数分だけ、前記ダミーデータを構成する前記ユニットデータに差替えて出力し、
検出したユニットデータ数がＮより大きい場合、前記データ列が入力される毎に、入力されたデータ列に含まれる複数のユニットデータを、Ｎ個の前記差替用データを構成する前記ユニットデータと、検出したユニットデータ数とＮとの差に相当する数のダミーデータを構成する前記ユニットデータとに差替えて出力し、
受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、前記差替非対象ユニットデータが入力される毎に、当該差替非対象ユニットデータを出力するデータ出力手段と
を備えることを特徴とするデータ差替出力装置。
【請求項１５】
それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリーム入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力方法であって、
前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
前記データ差替出力方法は、
基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較し、その比較結果に基づいて、前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う決定ステップと、
ユニットデータの入力速度と同一の速度でユニットデータを出力し、前記決定ステップによって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、入力された前記差替対象データを構成するユニットデータを前記代替データを構成するユニットデータに１対１で差替えて出力するデータ出力ステップと
を含むことを特徴とするデータ差替出力方法。
【請求項１６】
それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置にデータ差替出力制御処理を実行させるためのプログラムであって、
前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
前記データ差替出力制御処理は、
基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較し、その比較結果に基づいて、前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う決定ステップと、
ユニットデータの入力速度と同一の速度でユニットデータを出力し、前記決定ステップによって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、入力された前記差替対象データを構成するユニットデータを前記代替データを構成するユニットデータに１対１で差替えて出力するデータ出力ステップと
を含むことを特徴とするプログラム。
【請求項１７】
それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置にデータ差替出力制御処理を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体であって、
前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
前記データ差替出力制御処理は、
基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較し、その比較結果に基づいて、前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う決定ステップと、
ユニットデータの入力速度と同一の速度でユニットデータを出力し、前記決定ステップによって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、入力された前記差替対象データを構成するユニットデータを前記代替データを構成するユニットデータに１対１で差替えて出力するデータ出力ステップと
を含むことを特徴とするコンピュータ読取可能な記録媒体。
【請求項１８】
それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力方法であって、
前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
前記差替対象データを構成するユニットデータは、Ｍ個の連続したユニットデータのデータ列として前記データストリームに含まれ、
前記代替データは、差替用データとダミーデータとからなり、
前記データ差替出力方法は、
入力された前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、
ユニットデータの入力速度と同一の速度でユニットデータを出力し、入力された前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、当該データ列が入力される受信する毎に、入力されたデータ列に含まれるM個のユニットデータを、予め定められた、少なくとも１つ以上の値を示すＮ（Ｍ＞＝Ｎ）個の前記差替用データを構成するユニットデータと（Ｍ―Ｎ）個のダミーデータを構成するユニットデータとに差替えて出力し、
入力された前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、当該ユニットデータを受信する毎に、当該差替非対象データを構成するユニットデータを出力するデータ出力ステップと
を含むことを特徴とするデータ差替出力方法。
【請求項１９】
それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置にデータ差替出力制御処理を実行させるためのプログラムであって、
前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
前記差替対象データを構成するユニットデータは、Ｍ個の連続したユニットデータのデータ列として前記データストリームに含まれ、
前記代替データは、差替用データとダミーデータとからなり、
前記データ差替出力制御処理は、
入力された前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、
ユニットデータの入力速度と同一の速度でユニットデータを出力し、入力された前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、当該データ列が入力される毎に、予め定められた、少なくとも１つ以上の値を示すＮ（Ｍ＞＝Ｎ）個の前記差替用データを構成するユニットデータと（Ｍ―Ｎ）個のダミーデータを構成するユニットデータとに差替えて出力し、
入力された前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、当該ユニットデータを受信する毎に、当該差替非対象データを構成するユニットデータを出力するデータ出力ステップと
を含むことを特徴とするプログラム。
【請求項２０】
それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置にデータ差替出力制御処理を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体であって、
前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
前記差替対象データを構成するユニットデータは、Ｍ個の連続したユニットデータのデータ列として前記データストリームに含まれ、
前記代替データは、差替用データとダミーデータとからなり、
前記データ差替出力制御処理は、
入力された前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、
ユニットデータの入力速度と同一の速度でユニットデータを出力し、入力された前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、当該データ列が入力される毎に、入力されたデータ列に含まれるM個のユニットデータを、予め定められた、少なくとも１つ以上の値を示すＮ（Ｍ＞＝Ｎ）個の前記差替用データを構成するユニットデータと（Ｍ―Ｎ）個のダミーデータを構成するユニットデータとに差替えて出力し、
入力された前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、当該ユニットデータを受信する毎に、当該差替非対象データを構成するユニットデータを出力するデータ出力ステップと
を含むことを特徴とするコンピュータ読取可能な記録媒体。
【請求項２１】
それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力方法であって、
前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
前記差替対象データを構成するユニットデータは、複数の連続したユニットデータのデータ列として前記データストリームに含まれ、
前記代替データは、差替用データとダミーデータとからなり、
前記データ差替出力方法は、
入力された前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、
入力された前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、前記データ列に含まれる前記ユニットデータ数を検出する検出ステップと、
検出した前記ユニットデータ数が予め定められた、少なくとも１つ以上の値を示すＮより小さいか否かを判定する判定ステップと、
ユニットデータの入力速度と同一の速度でユニットデータを出力し、検出したユニットデータ数がＮより小さい場合、前記データ列が入力される毎に、入力されたデータ列に含まれる複数のユニットデータを、検出した前記ユニットデータ数分だけ、前記ダミーデータを構成する前記ユニットデータに差替えて出力し、
検出したユニットデータ数がＮより大きい場合、前記データ列が入力される毎に、入力されたデータ列に含まれる複数のユニットデータを、Ｎ個の前記差替用データを構成する前記ユニットデータと、検出したユニットデータ数とＮとの差に相当する数のダミーデータを構成する前記ユニットデータとに差替えて出力し、
受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、前記差替非対象ユニットデータが入力される毎に、当該差替非対象ユニットデータを出力するデータ出力ステップと
を含むことを特徴とするデータ差替出力方法。
【請求項２２】
それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置にデータ差替出力制御処理を実行させるためのプログラムであって、
前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
前記差替対象データを構成するユニットデータは、複数の連続したユニットデータのデータ列として前記データストリームに含まれ、
前記代替データは、差替用データとダミーデータとからなり、
前記データ差替出力制御処理は、
入力された前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、
入力された前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、前記データ列に含まれる前記ユニットデータ数を検出する検出ステップと、
検出した前記ユニットデータ数が予め定められた、少なくとも１つ以上の値を示すＮより小さいか否かを判定する判定ステップと、
ユニットデータの入力速度と同一の速度でユニットデータを出力し、検出したユニットデータ数がＮより小さい場合、前記データ列が入力される毎に、入力されたデータ列に含まれる複数のユニットデータを、、検出した前記ユニットデータ数分だけ、前記ダミーデータを構成する前記ユニットデータに差替えて出力し、
検出したユニットデータ数がＮより大きい場合、前記データ列が入力される毎に、入力されたデータ列に含まれる複数のユニットデータを、Ｎ個の前記差替用データを構成する前記ユニットデータと、検出したユニットデータ数とＮとの差に相当する数のダミーデータを構成する前記ユニットデータとに差替えて出力し、
受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、前記差替非対象ユニットデータが入力される毎に、当該差替非対象ユニットデータを出力するデータ出力ステップと
を含むことを特徴とするプログラム。
【請求項２３】
それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置にデータ差替出力制御処理を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体であって、
前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
前記差替対象データを構成するユニットデータは、複数の連続したユニットデータのデータ列として前記データストリームに含まれ、
前記代替データは、差替用データとダミーデータとからなり、
前記データ差替出力制御処理は、
入力された前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、
入力された前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、前記データ列に含まれる前記ユニットデータ数を検出する検出ステップと、
検出した前記ユニットデータ数が予め定められた、少なくとも１つ以上の値を示すＮより小さいか否かを判定する判定ステップと、
ユニットデータの入力速度と同一の速度でユニットデータを出力し、検出したユニットデータ数がＮより小さい場合、前記データ列が入力される毎に、入力されたデータ列に含まれる複数のユニットデータを、検出した前記ユニットデータ数分だけ、前記ダミーデータを構成する前記ユニットデータに差替えて出力し、
検出したユニットデータ数がＮより大きい場合、前記データ列が入力される毎に、入力されたデータ列に含まれる複数のユニットデータを、Ｎ個の前記差替用データを構成する前記ユニットデータと、検出したユニットデータ数とＮとの差に相当する数のダミーデータを構成する前記ユニットデータとに差替えて出力し、
受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、前記差替非対象ユニットデータが入力される毎に、当該差替非対象ユニットデータを出力するデータ出力ステップと
を含むことを特徴とするコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部より送信されるデータを受信し、受信したデータの内容の一部を差替えて、データを出力するデータ差替出力装置に関する。
【背景技術】
【０００２】
近年、放送衛星を利用したＢＳ(Broadcasting Satellite)デジタル放送が開始され、２００３年末からは、地上波を利用した地上デジタル放送が新たに開始され、現在利用されているアナログ放送は、今後数年以内に全て地上デジタル放送に切替えられることが予定されている。
この地上デジタル放送では、映像や音声から成る従来の映像音声番組に加え、文字情報や静止画像等から成るデータ放送番組が放送される。このデータ放送番組では、カルーセル伝送方式と呼ばれる伝送方式により、データ放送番組を構成する素材データが送出される。
【０００３】
ここで、「カルーセル伝送方式」とは、国際規格であるＩＳＯ／ＩＥＣ  １３８１８−６によって定義された伝送方式のことをいい、具体的には、同一内容のデータ放送番組を構成するデータを、当該データ放送番組を構成するデータ単位で周期的に繰返し送出する伝送方式のことをいう。
従って、地上デジタル放送では、視聴者は、従来の放送番組に加え、データ放送番組を視聴することにより、天気予報やニュースや放送中の映像音声番組に関連した番組情報などの付加情報を得ることができる。
【０００４】
一方、天気予報やニュースなどの放送番組を放送する場合には、各地方の視聴者のニーズに合うように放送番組の構成の一部を変更することが必要とされる。例えば、関西地方の視聴者に天気予報を放送する場合には、関東地方の天気予報は放送する必要はなく、その代わりに関西地方のより詳しい天気予報を放送することが必要となる。
又、ローカルニュースを放送する場合においては、地域毎に放送するニュースの内容を切替えることが必要とされる。
【０００５】
このような、番組内容の一部変更や切替えを行うために、従来の放送番組においては、キー局から放送される放送番組の構成要素の一部を、地方局において差替えて放送することが行われている。
この放送番組の番組内容の一部差替えを行う技術として、特許文献１に各ＣＭ素材の始まりに前識別コードを付加し、終わりに後識別コードを付加し、前識別コードと後識別コードの境界を検出し、その検出信号によって、受局の同期信号に同期するように遅延させた発局のＣＭ素材を受局のＣＭ素材に差し替える技術が開示されている。
【０００６】
これにより、発局のＣＭ素材を、受局のＣＭ素材に差し替えるとき、発局のＣＭ素材が一瞬見えるちら見えを防止することができる。
【特許文献１】特開2001-045371
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の従来技術における差替技術は、アナログ放送に適用される差替技術であり、アナログ放送とは、放送番組の伝送方式、及び放送される素材データのデータ構造が異なる地上デジタル放送におけるデータ放送番組の構成要素の差替えには、適用することができない。
又、構成要素の差替えに拠って、キー局から放送されるデータ放送番組を構成する素材データのデータサイズと地方局から放送されるデータ放送番組を構成する素材データのデータサイズに差が生じてしまうと、キー局と地方局でそれぞれ異なる帯域を使用しないと、同一の周期で素材データを放送することができない。
そこで、本発明は、上記の問題点に鑑み、データの入力速度と出力速度とを同一に保ちつつ、入力データの一部を差替えてデータを出力することが可能なデータ差替出力装置及びデータ差替出力方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、
前記データ差替出力装置は、基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較し、その比較結果に基づいて、前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う決定手段と、ユニットデータの入力速度と同一の速度でユニットデータを出力し、前記決定手段によって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、入力された前記差替対象データを構成するユニットデータを前記代替データを構成するユニットデータに１対１で差替えて出力するデータ出力手段とを備える。
【０００９】
ここで、「基準時」とは、比較する各総数が同数となっている時点のことをいい、例えば、最初の時点、その後に各総数が同数となった場合には、その時点のことをいう。
又、本発明は、それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリーム入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力方法であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記データ差替出力方法は、基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較し、その比較結果に基づいて、前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う決定ステップと、ユニットデータの入力速度と同一の速度でユニットデータを出力し、前記決定ステップによって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、入力された前記差替対象データを構成するユニットデータを前記代替データを構成するユニットデータに１対１で差替えて出力するデータ出力ステップとを含むこととすることができる。
【００１０】
又、本発明は、それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置にデータ差替出力制御処理を実行させるためのプログラムであって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記データ差替出力制御処理は、基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較し、その比較結果に基づいて、前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う決定ステップと、ユニットデータの入力速度と同一の速度でユニットデータを出力し、前記決定ステップによって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、入力された前記差替対象データを構成するユニットデータを前記代替データを構成するユニットデータに１対１で差替えて出力するデータ出力ステップとを含むこととすることができる。
【００１１】
又、本発明は、それぞれデータ放送番組の構成要素である差替対象データと差替非対象データとから構成されるデータストリームの入力を受取り、入力された差替対象データを代替データに差替えて出力するデータ差替出力装置にデータ差替出力制御処理を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記データ差替出力制御処理は、基準時から現受信時までの期間において入力された前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較し、その比較結果に基づいて、前記代替データを構成する前記ユニットデータを出力するか否かの決定を行う決定ステップと、ユニットデータの入力速度と同一の速度でユニットデータを出力し、前記決定ステップによって、前記代替データを構成する前記ユニットデータを出力する決定が行われた場合に、入力された前記差替対象データを構成するユニットデータを前記代替データを構成するユニットデータに１対１で差替えて出力するデータ出力ステップとを含むこととすることができる。
【発明の効果】
【００１２】
本発明は、上記の各構成を備えることにより、データの入力速度と出力速度とを同一に保ちつつ、入力データの一部を差替えてデータを出力することができるので、キー局から放送されるデータ放送番組と地方局から放送されるデータ放送番組との間でデータの伝送速度が一定に保たれ、どの地域でも、キー局と同等の帯域を使用してデータ放送することができ、地域性に応じたデータ放送番組内容の変更を、帯域を変更することなく行うことができる。
【００１３】
ここで、前記決定手段は、前記各ユニットデータを受信する毎に、当該ユニットデータが前記差替対象データを構成するユニットデータであるか否かを判別する判別手段と、
基準時から現受信時までの期間において受信した前記差替対象データを構成する前記ユニットデータの総数と、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数とを比較する比較手段とを有し、前記決定手段は、前記代替データを構成するユニットデータの総数が前記差替対象データを構成する前記ユニットデータの総数を超えない場合に、前記代替データを構成するユニットデータを所定数回、連続して出力する決定を行うこととしてもよい。
【００１４】
これにより、差替対象となる差替対象データの入力数以上に、当該データと差し替える代替データの出力がされた場合には、代替データの出力が抑止されるので、代替データに差替えを行っている間、一時的に代替データが過剰に出力されても、その後、過剰量が帳消しになるまで、差替対象とならない差替非対象データの出力を優先させることができるので、差替非対象データの出力速度の遅延が継続するのを防止することができる。
【００１５】
ここで、前記データ出力手段は、受信した前記差替非対象データの記憶をする記憶手段を有し、前記データ出力手段は、前記記憶後に、前記連続出力が行なわれていない期間において、前記差替非対象データを構成する前記ユニットデータを受信する毎に又は、前記決定が連続出力しないことである場合において、前記差替対象データ及び前記差替非対象データの何れか一方を構成する前記各ユニットデータを受信する毎に前記記憶手段に記憶されている前記差替非対象データを構成する前記ユニットデータを読出して、出力することとしてもよい。
【００１６】
これにより、予め取得した差替非対象データを記憶させておくことができ、差替非対象データを構成するユニットデータをその都度取得して、出力することなく、記憶している差替非対象データから複製して出力することができる。
ここで、前記決定手段は、前記各ユニットデータを受信する毎に、当該ユニットデータが前記差替対象データを構成するユニットデータであるか否かを判別する判別手段と、
基準時から現受信時までの期間において受信した前記差替対象データを構成する前記ユニットデータの総数から、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数を引いた値である超過カウント値を算出する算出手段と、前記超過カウント値が、前記所定数より小さくないか否かを判定する判定手段とを有し、前記決定手段は、前記超過カウント値が前記所定数より小さくない場合に、前記代替データを構成する前記ユニットデータを所定数回、連続して出力する決定を行うこととしてもよい。
【００１７】
これにより、差替対象データの入力数以上に過剰に代替データが出力される事態が生じることがなくなるので、データの差替えに伴う差替非対象データの出力速度の遅延が起こることなく、ユーザーは、出力された差替非対象データを、受信装置を介して遅滞なく取得することができる。
ここで、前記決定手段は、前記各ユニットデータを受信する毎に、当該ユニットデータが前記差替対象データを構成するユニットデータであるか否かを判別する判別手段と、基準時から現受信時までの期間において受信した前記差替対象ユニットデータの総数から、前記期間において出力した、前記代替データを構成する前記ユニットデータの総数を引いた超過カウント値を算出する算出手段と、前記超過カウント値が、前記所定数の半分より小さくないか否かを判定する判定手段とを有し、前記決定手段は、前記超過カウント値が前記所定数の半分より小さくない場合に、前記代替データを構成する前記ユニットデータを所定数回、連続して出力する決定を行うこととしてもよい。
【００１８】
これにより、差替対象データの入力数以上に過剰に代替データを出力することができるので、差替対象データの入力速度に対して、代替データの出力速度を速めることができ、ユーザーは、出力された代替データを、受信装置を介して迅速に取得することができる。
ここで、前記データストリームには、複数種類の差替対象データが含まれ、前記データ出力手段は、前記複数種類の各種類の差替対象データにそれぞれ差替えて出力すべき各種類の代替データを記憶している代替データ記憶手段を備え、前記決定手段は、前記複数種類の各差替対象データについての前記総数と、前記各差替対象データと差替える各種類の前記代替データについての前記総数との各比較結果に基づいて、前記各種類の何れかの種類の代替データを構成する前記ユニットデータを所定数回、連続して出力するか否かの決定を行うこととしてもよい。
【００１９】
又、前記データストリームには、複数種類の差替対象データが含まれ、前記データ出力手段は、前記複数種類の各種類の差替対象データにそれぞれ差替えて出力すべき各種類の代替データを記憶している代替データ記憶手段を備え、前記決定手段は、前記複数種類の各差替対象データについての前記総数の合計と、前記各差替対象データと差替える各種類の前記代替データについての前記総数の合計との比較結果に基づいて、前記各種類の何れかの種類の前記代替データを構成する前記ユニットデータを前記所定数回、連続して出力するか否かの決定を行うこととしてもよい。
【００２０】
これにより、データの入力速度と出力速度とを同一に保ちつつ、複数種類の入力データについて各対応するデータを差替えて出力することができるので、どの地域でも、キー局と同等の帯域を使用してデータ放送することができ、キー局と地方局とで帯域を変更することなく、地域性に応じて、データ放送番組内容を広範囲に変更することができる。
ここで、前記決定手段は、前記各差替対象データについての前記総数を、前記各種類の前記代替データについての前記総数から引いた値である超過カウントを、前記各種類の前記代替データについて算出し、前記各種類の前記代替データについて算出した各超過カウントの少なくとも１つ以上が０より小さい場合に、該当する種類の前記代替データの中から、所定の基準に基づいて、出力すべき前記代替データを選択し、選択した前記代替データを構成する前記ユニットデータを所定数回、連続して出力する決定を行う
こととしてもよい。
【００２１】
これにより、差替対象となる各種類の差替対象データの入力数が、当該種類の差替対象データと差し替えるべき種類の代替データの出力数を超えている場合に、当該種類の代替データの出力がされるので、各種類の代替データが、その差替対象となる差替対象データの入力数に対して、過剰に出力されないように制御することができる。
ここで、前記所定の基準は、当該超過カウント該当する種類の前記代替データについて算出した超過カウントの昇順であることとしてもよい。
これにより、超過カウントが小さい代替データから優先的に代替ユニットデータが出力されるので、特定の代替データの出力数が極端に多くなったり、少なくなったりすることを防ぐことができる。
【００２２】
ここで、前記各種類の前記代替データには、それぞれ優先順位が付与され、前記所定の基準は、当該超過カウントに該当する種類の前記代替データに付与された前記優先順位の高い順であることとしてもよい。
又、前記所定の基準は、前記各種類の前記代替データの中から予め選択された前記代替データの超過カウントが０より小さい場合には、当該代替データを選択し、当該代替データの超過カウントが０より小さくない場合には、当該超過カウントに該当する種類の前記代替データについて算出した超過カウントの昇順に従って選択するという基準であることとしてもよい。
【００２３】
これにより、優先順位の高い種類の代替データを先に出力することができるので、重要な代替データの送出遅延を防ぐことができる。
ここで、前記各種類の前記代替データ及び前記非対象データには、それぞれ優先順位が付与され、前記決定手段は、前記各差替対象データについての前記総数を、前記各種類の前記代替データについての前記総数から引いた値である超過カウントを、前記各種類の前記代替データについて算出し、算出した各超過カウントの少なくとも１つ以上が、０より小さい場合において、当該超過カウントが０より小さい前記各代替データに付与された優先順位の何れかが、差替非対象ユニットデータに付与された優先順位よりも低くない場合に、前記各代替データの何れかを構成する前記ユニットデータを前記所定数回、連続して出力する決定を行うこととしてもよい。
【００２４】
これにより、優先順位の高い種類の差替非対象データを先に出力することができるので、重要な差替非対象データの送出遅延を防ぐことができる。
又、本発明は、差替対象データと差替非対象データとから構成されるデータストリームを受信し、受信した差替対象データを代替データに差替えて出力するデータ差替出力装置であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記差替対象データを構成するユニットデータは、Ｍ個の連続したユニットデータのデータ列として前記データストリームに含まれ、前記代替データは、差替用データとダミーデータとからなり、前記データ差替出力装置は、受信した前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別手段と、受信した前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、当該データ列を受信する毎に、予め定められた、少なくとも１つ以上の値を示すＮ（Ｍ＞＝Ｎ）個の前記差替用データを構成するユニットデータと（Ｍ―Ｎ）個のダミーデータを構成するユニットデータとを連続して出力し、受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、当該ユニットデータを受信する毎に、当該差替非対象データを構成するユニットデータを出力するデータ出力手段とを備えることとしてもよい。
【００２５】
又、本発明は、差替対象データと差替非対象データとから構成されるデータストリームを受信し、受信した差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力方法であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記差替対象データを構成するユニットデータは、Ｍ個の連続したユニットデータのデータ列として前記データストリームに含まれ、前記代替データは、差替用データとダミーデータとからなり、前記データ差替出力方法は、受信した前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、受信した前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、当該データ列を受信する毎に、予め定められた、少なくとも１つ以上の値を示すＮ（Ｍ＞＝Ｎ）個の前記差替用データを構成するユニットデータと（Ｍ―Ｎ）個のダミーデータを構成するユニットデータとを連続して出力し、受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、当該ユニットデータを受信する毎に、当該差替非対象データを構成するユニットデータを出力するデータ出力ステップとを含むこととしてもよい。
【００２６】
又、本発明は、差替対象データと差替非対象データとから構成されるデータストリームを受信し、受信した差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力制御プログラムであって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、  前記差替対象データを構成するユニットデータは、Ｍ個の連続したユニットデータのデータ列として前記データストリームに含まれ、前記代替データは、差替用データとダミーデータとからなり、前記データ差替出力制御プログラムは、受信した前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、受信した前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、当該データ列を受信する毎に、予め定められた、少なくとも１つ以上の値を示すＮ（Ｍ＞＝Ｎ）個の前記差替用データを構成するユニットデータと（Ｍ―Ｎ）個のダミーデータを構成するユニットデータとを連続して出力し、受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、当該ユニットデータを受信する毎に、当該差替非対象データを構成するユニットデータを出力するデータ出力ステップとを含むこととしてもよい。
【００２７】
又、本発明は、差替対象データと差替非対象データとから構成されるデータストリームを受信し、受信した差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力制御プログラムを記録したコンピュータ読取可能な記録媒体であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記差替対象データを構成するユニットデータは、Ｍ個の連続したユニットデータのデータ列として前記データストリームに含まれ、前記代替データは、差替用データとダミーデータとからなり、前記データ差替出力制御プログラムは、受信した前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、受信した前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、当該データ列を受信する毎に、予め定められた、少なくとも１つ以上の値を示すＮ（Ｍ＞＝Ｎ）個の前記差替用データを構成するユニットデータと（Ｍ―Ｎ）個のダミーデータを構成するユニットデータとを連続して出力し、受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、当該ユニットデータを受信する毎に、当該差替非対象データを構成するユニットデータを出力するデータ出力ステップとを含むこととしてもよい。
【００２８】
これにより、差替対象データのデータサイズが、当該差替対象データに差し替える差替用データのデータサイズよりも大きいために、差替対象データを構成するユニットデータの入力数に対して、差替用データを構成するユニットデータの出力数が不足する場合においても、不足している数だけダミーデータを構成するユニットデータが出力されるので、データの入力速度と出力速度とを同一になるように調整することができる。
【００２９】
又、本発明は、差替対象データと差替非対象データとから構成されるデータストリームを受信し、受信した差替対象データを代替データに差替えて出力するデータ差替出力装置であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記差替対象データを構成するユニットデータは、複数の連続したユニットデータのデータ列として前記データストリームに含まれ、前記代替データは、差替用データとダミーデータとからなり、前記データ差替出力装置は、受信した前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別手段と、受信した前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、前記データ列に含まれる前記ユニットデータ数を検出する検出手段と、検出した前記ユニットデータ数が予め定められた、少なくとも１つ以上の値を示すＮより小さいか否かを判定する判定手段と、検出したユニットデータ数がＮより小さい場合、前記データ列を受信する毎に、前記ダミーデータを構成する前記ユニットデータを、検出した前記ユニットデータ数分だけ連続して出力し、検出したユニットデータ数がＮより大きい場合、前記データ列を受信する毎に、Ｎ個の前記差替用データを構成する前記ユニットデータと、検出したユニットデータ数とＮとの差に相当する数のダミーデータを構成する前記ユニットデータとを連続して出力し、受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、前記差替非対象ユニットデータを受信する毎に、当該差替非対象ユニットデータを出力するデータ出力手段とを備えることとしてもよい。
【００３０】
又、本発明は、差替対象データと差替非対象データとから構成されるデータストリームを受信し、受信した差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力方法であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記差替対象データを構成するユニットデータは、複数の連続したユニットデータのデータ列として前記データストリームに含まれ、前記代替データは、差替用データとダミーデータとからなり、前記データ差替出力方法は、受信した前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、受信した前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、前記データ列に含まれる前記ユニットデータ数を検出する検出ステップと、検出した前記ユニットデータ数が予め定められた、少なくとも１つ以上の値を示すＮより小さいか否かを判定する判定手段と、検出したユニットデータ数がＮより小さい場合、前記データ列を受信する毎に、前記ダミーデータを構成する前記ユニットデータを、検出した前記ユニットデータ数分だけ連続して出力し、検出したユニットデータ数がＮより大きい場合、前記データ列を受信する毎に、Ｎ個の前記差替用データを構成する前記ユニットデータと、検出したユニットデータ数とＮとの差に相当する数のダミーデータを構成する前記ユニットデータとを連続して出力し、受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、前記差替非対象ユニットデータを受信する毎に、当該差替非対象ユニットデータを出力するデータ出力ステップとを含むこととしてもよい。
【００３１】
又、本発明は、差替対象データと差替非対象データとから構成されるデータストリームを受信し、受信した差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力制御プログラムであって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記差替対象データを構成するユニットデータは、複数の連続したユニットデータのデータ列として前記データストリームに含まれ、前記代替データは、差替用データとダミーデータとからなり、前記データ差替出力制御プログラムは、受信した前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、受信した前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、前記データ列に含まれる前記ユニットデータ数を検出する検出ステップと、検出した前記ユニットデータ数が予め定められた、少なくとも１つ以上の値を示すＮより小さいか否かを判定する判定手段と、検出したユニットデータ数がＮより小さい場合、前記データ列を受信する毎に、前記ダミーデータを構成する前記ユニットデータを、検出した前記ユニットデータ数分だけ連続して出力し、検出したユニットデータ数がＮより大きい場合、前記データ列を受信する毎に、Ｎ個の前記差替用データを構成する前記ユニットデータと、検出したユニットデータ数とＮとの差に相当する数のダミーデータを構成する前記ユニットデータとを連続して出力し、受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、前記差替非対象ユニットデータを受信する毎に、当該差替非対象ユニットデータを出力するデータ出力ステップとを含むこととしてもよい。
【００３２】
又、本発明は、差替対象データと差替非対象データとから構成されるデータストリームを受信し、受信した差替対象データを代替データに差替えて出力するデータ差替出力装置に用いるデータ差替出力制御プログラムを記録したコンピュータ読取可能な記録媒体であって、前記差替対象データと前記差替非対象データと前記代替データはそれぞれ、共通したサイズの、複数のユニットデータの集まりであり、前記差替対象データを構成するユニットデータは、複数の連続したユニットデータのデータ列として前記データストリームに含まれ、前記代替データは、差替用データとダミーデータとからなり、前記データ差替出力制御プログラムは、受信した前記ユニットデータが前記データ列に属する、差替対象データを構成するユニットデータであるか、前記差替非対象データを構成するユニットデータであるかを判別する判別ステップと、受信した前記ユニットデータデータが、前記データ列に属するユニットデータである場合に、前記データ列に含まれる前記ユニットデータ数を検出する検出ステップと、検出した前記ユニットデータ数が予め定められた、少なくとも１つ以上の値を示すＮより小さいか否かを判定する判定手段と、検出したユニットデータ数がＮより小さい場合、前記データ列を受信する毎に、前記ダミーデータを構成する前記ユニットデータを、検出した前記ユニットデータ数分だけ連続して出力し、検出したユニットデータ数がＮより大きい場合、前記データ列を受信する毎に、Ｎ個の前記差替用データを構成する前記ユニットデータと、検出したユニットデータ数とＮとの差に相当する数のダミーデータを構成する前記ユニットデータとを連続して出力し、受信した前記ユニットデータが前記差替非対象データを構成するユニットデータである場合に、前記差替非対象ユニットデータを受信する毎に、当該差替非対象ユニットデータを出力するデータ出力ステップとを含むこととしてもよい。
【００３３】
これにより、差替対象データのデータサイズが、当該差替対象データに差し替える差替用データのデータサイズよりも小さい場合に、差替対象データを構成するユニットデータの入力数だけダミーデータを構成するユニットデータが出力されるので、データの入力速度と出力速度とを同一に調整することができる。
【発明を実施するための最良の形態】
【００３４】
（実施の形態１）
＜構成＞
図１は、本発明の実施の形態１におけるデータ差替出力装置１０の構成を示す機能ブロック図である。データ差替出力装置１０は、図１に示す通り、入力データ受信部１００、差替元パケット判別部１０１、モジュール差替部１０２、差替後パケット保持部１０３、入力パケット保持部１０４から構成される。
【００３５】
データ差替出力装置１０は、ハードウェアとしてはＣＰＵ、ＲＯＭ、ＲＡＭ、ハードディスク、デコーダ、フィルタ等から構成され、ＲＯＭ又は上記ハードディスクには、コンピュータプログラムが記憶され、上記ＣＰＵが上記コンピュータプログラムに従って動作することにより、データ差替出力装置１０は、その機能を実現する。
入力データ受信部１００は、外部とのインターフェースを有し、外部からカルーセル伝送方式で入力される素材データのＴＳパケットストリーム（以下、「ＴＳ」という。）を受信し、受信したＴＳを差替元パケット判別部１０１及びモジュール差替部１０２に出力する。
【００３６】
ここで、ＴＳとは、デジタル放送番組を構成する映像データ、音声データやデータ放送番組を構成する素材データを、必要な情報を付加した固定長（１８８オクテット）のパケット（以下、「ＴＳパケット」という。）に分割し、分割したＴＳパケットを順次並べて形成したデータ列のことをいう。
ＴＳは、国際規格であるＩＳＯ／ＩＥＣ １３８１８−１"Ｉｎｆｏｒｍａｔｉｏｎ ｔｅｃｈｎｏｌｏｇｙ − Ｇｅｎｅｒｉｃ  ｃｏｄｉｎｇ ｏｆ ｍｏｖｉｎｇ ｐｉｃｔｕｒｅｓ ａｎｄ ａｓｓｏｃｉａｔｅｄ ａｕｄｉｏ  ｉｎｆｏｒｍａｔｉｏｎ：Ｓｙｓｔｅｍｓ" 及びＩＳＯ／ＩＥＣ １３８１８−６“Ｉｎｆｏｒｍａｔｉｏｎ ｔｅｃｈｎｏｌｏｇｙ − Ｇｅｎｅｒｉｃ  ｃｏｄｉｎｇ ｏｆ ｍｏｖｉｎｇ ｐｉｃｔｕｒｅｓ ａｎｄ ａｓｓｏｃｉａｔｅｄ ａｕｄｉｏ  ｉｎｆｏｒｍａｔｉｏｎ：Ｐａｒｔ６  Ｅｘｔｅｎｓｉｏｎｓ  ｆｏｒ  ＤＳＭ−ＣＣ”で定義され、デジタル放送での映像、音声、データの多重化伝送に標準的に用いられている。
【００３７】
上記カルーセル方式においては、データは、ＴＳパケットを最小単位として伝送され、ＴＳパケットが少なくとも１つ以上集まって「セクション」と呼ばれる単位を構成する。
ここで、「セクション」には、ＴＳパケットが最低１個、最大２３個含まれており、「セクション」が複数集まってデータとして意味のある最小単位である「モジュール」と呼ばれる単位を構成する。「モジュール」は、１個から２５５個のセクションで構成される。
【００３８】
又、「セクション」の先頭のＴＳパケット（以下、「先頭パケット」という。）には、「module ID」、「section Number」、「block Number」、「section length」が付与されている。
ここで、「module ID」とは、当該セクションが含まれる「モジュール」を識別するための識別子のことをいう。
【００３９】
又、「block Number」とは、当該セクションが含まれる「モジュール」において、当該セクションが何番目のセクションに該当するかを示す識別子のことをいう。
又、「section Number」とは、当該セクションが含まれる「モジュール」を構成するセクションの数を示す識別子のことをいう。
なお、実際には、「section Number」ではなく、当該セクションが含まれる「モジュール」における最後のセクションの「block Number」を示す「last section Number」が先頭のＴＳパケットに付与されているが、ここでは、以下の説明を簡略化するため、「last section Number」の代わりに「section Number」（具体的には、「last section Number」に１を加えた数値）を用いることとするが、本実施の形態及び後述する実施の形態２〜５で実現されるデータ差替出力装置の機能は、「last section Number」を用いた場合においても同様に実現できることは、勿論のことである。
【００４０】
又、「section length」とは、当該セクションのデータサイズを示す識別子のことをいう。
ここで、各ＴＳパケットは、上述した通り、固定長であるので、セクションのデータサイズは、当該セクションに含まれるＴＳパケット数に対応付けてあらわすことができる。従って、以下では、説明の便宜上、「section length」ではなく、当該セクションに含まれるＴＳパケット数である「pnum」でセクションのデータサイズを表すこととする。
【００４１】
差替元パケット判別部１０１は、入力データ受信部１００より入力されたＴＳに含まれる各先頭パケットに付与された[module ID]に基づいて、入力されるＴＳパケットが、差替え対象となる差替対象データに含まれるＴＳパケット（以下、「差替対象パケット」という。）であるか否かを判別し、判別結果をモジュール差替部１０２に通知する。
図３は、ＴＳパケット、セクション及びモジュールの関係を模式的に表した図である。
【００４２】
図３では、セクション３１０が２３個のＴＳパケット３００〜３０３から構成されていることを示している。
ここで、「ＰＩＤ」とは、データ種別（例えば、映像データ、音声データ、素材データの種別、或いは、素材データの種別）を表す識別子のことをいい、各ＴＳパケットに付与されている。
【００４３】
又、「mid」は、「module ID」を略したものであり、「snum」は、「section Number」を略したものであり、「bnum」は、「block Number」を略したものである。。
セクション３１０を構成するＴＳパケットの先頭のＴＳパケットには、「ＰＩＤ＝１００」、「mid＝０」、「snum＝４５」、「bnum＝０」、「pnum＝２３」が付与されており、「mid＝０」は、当該セクションが含まれるモジュールが「module＝０」であることを示し、「snum＝４５」は、当該モジュールが、４５個のセクションから構成されていることを示し、「bnum＝０」は、当該セクションが、当該モジュールにおける０番目のセクションであることを示し、「pnum＝２３」は、当該セクションが、２３個のＴＳパケットから構成されていることを示している。
【００４４】
又、モジュール３２０は、セクション３１０〜３１２の４５個のセクションから構成されていることを示している。
図２は、入力データ受信部１００に入力される素材データのＴＳのデータ構成の例を示す。図２の２００〜２１６の示す各四角形は、ＴＳを構成する各ＴＳパケットを示し、ＴＳパケットは、左から順（２００〜２１６で示す番号順）に入力されたことを示している。
【００４５】
又、図２のＴＳパケット２００、２０１、２０５、２１１、２１２は、それぞれ、当該ＴＳパケットが含まれる各セクションにおける先頭パケットであることを示している。
各先頭パケットには、「ＰＩＤ」、「mid」、「snum」、「bnum」、「pnum」が付与されている。
図２の例では、先頭パケット２００には、「ＰＩＤ＝１００」、「mid＝０」、「snum＝２」、「bnum＝０」、「pnum＝３」が付与されている。これらの識別子の示す情報に基いて、先頭パケット２００が属するセクションが、「module＝０」に含まれ、当該モジュールは、２つのセクションから構成され、先頭パケット２００の属するセクションは、当該モジュールにおける０番目のセクションであり、当該セクションは、３個のＴＳパケットから構成されていることを識別することができる。これらの識別は、差替元パケット判別部１０１によって行われる。
【００４６】
他の先頭パケット２０１、２０５、２１１、２１２についても、上記の各識別子（「mid」、「snum」、「bnum」、「pnum」）の示す情報（以下、「セクション情報」という。）に基いて、当該セクションが含まれるモジュール、当該モジュールを構成するセクションの数、当該セクションが当該モジュールの何番目のセクションか、当該セクションに含まれるＴＳパケット数（以下、総称して「セクション構成情報」という。）を同様に識別することができる。
【００４７】
各セクションの先頭パケット以外の各ＴＳパケット２０２〜２０４、２０６〜２１０、２１３〜２１６には、「ＰＩＤ」のみが付与されている。これは、当該ＰＩＤに対応する各先頭パケット（例えば、ＴＳパケット２０２、２０３に対応するＴＳパケット２００、ＴＳパケット２０４、２０６、２０９に対応するＴＳパケット２０１）におけるセクション情報に基いてセクション構成情報を識別することができるため、先頭パケット以外のＴＳパケットにはＰＩＤ以外の他の識別子は付与されていない。
【００４８】
なお、セクション情報は、セクションが変わる毎に付与されることを要し、例えば図２の例では、「ＰＩＤ＝１０１」の素材データにおける最初のセクション（「bnum＝０」のセクション）は、先頭パケット２０１から始まり、ＴＳパケット２０４で終了するので、その次のセクションである「ＰＩＤ＝１００」のセクション（「bnum＝１」のセクション）の先頭パケット２０５には、セクション情報が付与されることを要し、その次のセクションである「ＰＩＤ＝１０１」のセクション（「bnum＝１」のセクション）の先頭パケット２１１には、セクション情報が付与されることを要し、その次のセクションである「ＰＩＤ=１００」のセクション（「bnum＝０」のセクション）の先頭パケット２１２にも、セクション情報が付与されることを要する。
【００４９】
一方、セクションの最後のＴＳパケットの前に当該ＴＳパケットと同一のＰＩＤで、当該セクションと異なるセクションのＴＳパケットが挿入された状態でＴＳが入力されると、セクション情報に基いて識別される当該セクションに含まれるＴＳパケット数と、
実際に入力されたＴＳパケット数とが一致しなくなる。例えば、図２のＴＳパケット２０２と２０３との間にＴＳパケット２０５が挿入された状態でＴＳが入力されると、セクション情報に基いて識別される、「bnum＝０」のセクションにおけるＴＳパケット数は
３個であるにもかかわらず、実際に入力されたＴＳパケットはＴＳパケット２００と２０２の２個であると入力データ受信部１００によって認識されてしまう。
【００５０】
従って、ＭＰＥＧ２規格では、同一ＰＩＤのＴＳパケットであって、それぞれ異なるセクションに属するＴＳパケットが上述のように混在する状態でＴＳパケットを送出することを禁止している。即ち、同一ＰＩＤのＴＳパケットを送出する場合には、セクションに含まれる全てのＴＳパケットの送出が完了するまでは、次のセクションのＴＳパケットの送出を開始できないという制約がある。この制約があるため、以下の説明では、ＴＳパケットは、セクション単位で出力されることが前提とされている。
【００５１】
差替後パケット保持部１０３は、差替後モジュールを保持している。
ここで、「差替後モジュール」とは、入力データ受信部１００より入力された差替対象パケットから構成される差替対象モジュールと差替えて出力するためのモジュールのことをいい、複数のＴＳパケットから構成されている。以下、差替後モジュールの構成要素となるＴＳパケットのことを総称して「差替後パケット」という。
【００５２】
図５は、差替後モジュール５０の具体例を示す。図５の例では、「block Number＝０〜９」で示される１０個のセクションから成る差替後モジュールの例が示されている。
入力パケット保持部１０４は、入力データ受信部１００より入力された、差替非対象パケットをキューとして保持している。
ここで、「差替非対象パケット」とは、差替元パケット判別部１０１によって差替対象パケットでないと判別されたＴＳパケットのことをいう。
【００５３】
モジュール差替部１０２は、入力データ受信部１００から入力されたＴＳから、差替元パケット判別部１０１により差替対象パケットと判別されたＴＳパケットを削除し、差替元パケット判別部１０１により差替非対象パケットと判別されたＴＳパケットを入力パケット保持部１０４に格納する。
又、モジュール差替部１０２は、後述する差替出力制御処理を介して、「差替非対象パケット」と「差替後パケット」の何れかを、出力すべきＴＳパケットとして逐次選択し、選択したＴＳパケットを入力されたＴＳのビットレートと同一のビットレートで出力する。
【００５４】
具体的には、外部からＴＳパケットが１個入力される毎に、逐次選択したＴＳパケット１個を出力する。
これにより、ＴＳパケットの入力ビットレートと出力ビットレートを一致させつつ、入力されたＴＳに含まれる差替対象パケットが差替後パケットに差し替えられて外部に出力される。
【００５５】
図４は、データ差替出力装置１０に入力された素材データのＴＳ（入力ＴＳ４１）の具体例と、当該ＴＳに含まれる差替対象パケットを差替後パケットに差替えた後に、データ差替出力装置１０から出力されるＴＳ（出力ＴＳ４２）の具体例とを示す。
図４の４００〜４１５の示す各四角形は、入力ＴＳ４１を構成する各ＴＳパケットを示し、４５０〜４６５の示す各四角形は、出力ＴＳ４２を構成する各ＴＳパケットを示している。
【００５６】
図４の入力ＴＳ４１のＴＳパケット４００、４０３、４０７、４１０、４１３は、それぞれ、当該ＴＳパケットが含まれる各セクションにおける先頭パケットであることを示し、出力ＴＳ４２のＴＳパケット４５０、４５６、４６０、４６３は、それぞれ、当該ＴＳパケットが含まれる各セクションにおける先頭パケットであることを示している。
又、図４の入力ＴＳ４１において、「mid＝０」のＴＳパケット４００〜４０２、４０７〜４０９、４１３〜４１５が差替対象パケットであり、図４の出力ＴＳ４２におけるＴＳパケット４５０〜４５５、４６３〜４６５が、モジュール差替部１０２によって、これらの差替対象パケットと差し替えられた差替後パケットである。
【００５７】
又、図４の入力ＴＳ４１において、ＴＳパケット４０３〜４０６、４１０〜４１２が差替非対象パケットであり、これらの差替非対象パケットは、差替えられることなく、モジュール差替部１０２によって、出力ＴＳ４２にそのまま含められて外部に出力される。
例えば、ＴＳパケット４０３は、ＴＳパケット４５６として、ＴＳパケット４０４は、ＴＳパケット４５７として外部に出力される。
【００５８】
なお、図４のＴＳの具体例においては、説明の便宜上、ＰＩＤが同一（ＰＩＤ＝１００）のＴＳパケットのみが示されているが、他のＰＩＤのＴＳパケットが入力ＴＳ４１に含まれていてもよいことは、勿論のことである。
＜動作＞
１．実施の形態１における差替出力制御処理の動作
次に、データ差替出力装置１０の行う差替出力制御処理について説明する。
【００５９】
図６は、データ差替出力装置１０の行う差替出力制御処理の動作を示すフローチャートである。以下、図６を参照して、上記動作について説明する。
差替出力制御処理を実行するためのコンピュータプログラムが起動されると、モジュール差替部１０２は、差替超過カウントを０にセットする（ステップＳ６０１）。
ここで、「差替超過カウント」とは、モジュール差替部１０２より出力された差替後パケットの総数と入力データ受信部１００より入力された差替対象パケットの総数の差に相当するカウント値のことをいう。
【００６０】
次に、モジュール差替部１０２は、入力データ受信部１００よりＴＳパケットを取得すると（ステップＳ６０２）、直前に出力したＴＳパケットが当該ＴＳパケットの属するセクションにおける最後のパケットであるか否か、又は直前に出力したＴＳパケットがないか否かの判定をする（ステップＳ６０３）。
ここで、上記判定は、例えば、予め出力パケットのＰＩＤと「block Number」と「pnum」と当該「block Number」のセクションにおける「出力パケット数」との対応関係を示す出力パケット管理テーブルを差替後パケット保持部１０３及び入力パケット保持部１０４にそれぞれ保持しておき、何れかの保持部からＴＳパケットを出力する毎に、該当するＰＩＤ、「block Number」の「出力パケット数」をカウントアップし、カウントアップした「出力パケット数」が対応する「pnum」と一致するか否かにより行うことができる。
【００６１】
なお、上記において一致すると判定する毎に、当該「出力パケット数」を０に初期化することにより、同一のＰＩＤ、「block Number」のセクションからの出力パケットに対して、繰返し上記判定を行うことができる。
ステップＳ６０３において、直前に出力したＴＳパケットが当該ＴＳパケットの属するセクションにおける最後のパケットであるか、又は直前に出力したＴＳパケットがない場合（ステップＳ６０３：Ｙ）、モジュール差替部１０２は、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケットが差替対象パケットであるか否かを判定する（ステップＳ６１１）。
【００６２】
差替対象パケットである場合（ステップＳ６１１：Ｙ）、モジュール差替部１０２は、差替超過カウントが０より大きいか否かを判定し（ステップＳ６１２）、大きい場合（ステップＳ６１２：Ｙ）、入力パケット保持部１０４に保持されているキューの先頭の差替非対象パケットを読出して出力し（ステップＳ６１５）、差替超過カウントから１を引いて（ステップＳ６０７）、ステップＳ６０２の処理に戻り、ステップＳ６１２において、差替超過カウントが０より大きくない場合（ステップＳ６１２：Ｎ）、モジュール差替部１０２は、差替後パケット保持部１０３から差替後パケットを読出して出力し（ステップＳ６１３）、ステップＳ６０２の処理に戻る。
【００６３】
ステップＳ６１１において、差替対象パケットでない場合（ステップＳ６１１：Ｎ）、取得したＴＳパケットを入力パケット保持部１０４にキューとして追加して保持させ、差替え超過カウントに１を加え（ステップＳ６１４）、ステップＳ６１５の処理に移る。
ステップＳ６０３において、直前に出力したＴＳパケットが当該ＴＳパケットの属するセクションにおける最後のパケットでない場合（ステップＳ６０３：Ｎ）、モジュール差替部１０２は、当該セクションにおいて直前に出力したＴＳパケットの次のＴＳパケットを出力し（ステップＳ６０４）、モジュール差替部１０２は、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケットが差替対象パケットであるか否かを判定する（ステップＳ６０５）。
【００６４】
差替対象パケットでない場合（ステップＳ６０５：Ｎ）、モジュール差替部１０２は、
出力したＴＳパケットが取得したＴＳパケットそのものか否かを判定し（ステップＳ６０８）、取得したＴＳパケットそのものでない場合（ステップＳ６０８：Ｎ）、取得したＴＳパケットを入力パケット保持部１０４にキューとして追加して保持し（ステップＳ６０９）、さらに、出力したＴＳパケットが差替後パケット保持部１０３に保持されていたか否かにより、出力したＴＳパケットが差替後パケットであるか否かを判定し（ステップＳ６１０）、差替後パケットである場合（ステップＳ６１０：Ｙ）、差替超過カウントに１を加え（ステップＳ６１６）、ステップＳ６０２の処理に戻る。
【００６５】
ステップＳ６０５において、差替対象パケットである場合（ステップＳ６０５：Ｙ）、モジュール差替部１０２は、出力したＴＳパケットが入力パケット保持部１０４に保持されていたか否かにより、出力したＴＳパケットが差替非対象パケットであるか否かを判定し（ステップＳ６０６）、差替非対象パケットである場合（ステップＳ６０６：Ｙ）、差替超過カウントから１を引き（ステップＳ６０７）、ステップＳ６０２の処理に戻る。
【００６６】
ステップＳ６０６において、差替非対象パケットでない場合（ステップＳ６０６：Ｎ）、又はステップＳ６０８において、出力したＴＳパケットが取得したＴＳパケットそのものである場合（ステップＳ６０８：Ｙ）、又はステップＳ６１０において、差替後パケットでない場合（ステップＳ６１０：Ｎ）、ステップＳ６０２の処理に戻る。
２．実施の形態１における差替出力制御処理の具体例
次に、図４に示す具体例において、上記差替出力制御処理がどのように動作するかについて、具体的に説明する。
【００６７】
モジュール差替部１０２は、差替出力制御処理を実行するためのコンピュータプログラムの起動後、差替超過カウントを０にセットし（ステップＳ６０１）、入力データ受信部１００より図４の入力ＴＳ４１の最初のＴＳパケット４００を取得すると（ステップＳ６０２）、この時点においては、直前に出力したＴＳパケットがないので、ステップＳ６０３において、直前に出力したＴＳパケットがないと判定し（ステップＳ６０３：Ｙ）、ＴＳパケット４００が差替対象パケットであるか否かを判定する（ステップＳ６１１）。
【００６８】
ＴＳパケット４００は、差替対象パケットであるので、モジュール差替部１０２は、差替元パケット判別部１０１からの判別結果の通知に基づいて、差替対象パケットであると判定し（ステップＳ６１１：Ｙ）、差替超過カウントが０より大きいか否かを判定する（ステップＳ６１２）。
この時点における差替超過カウントは０であるので、モジュール差替部１０２は、ステップＳ６１２において、大きくないと判定し（ステップＳ６１２：Ｎ）、差替後パケット保持部１０３から差替後パケット（ここでは、図５の「block Number＝０」のセクションにおける最初の差替後パケット５００）を読出して外部へ出力し（ステップＳ６１３）、ステップＳ６０２の処理に戻る。
【００６９】
この場合、読出された差替後パケット５００は、図４の出力ＴＳ４２におけるＴＳパケット４５０として出力される。
次に、モジュール差替部１０２は、入力データ受信部１００より図４の入力ＴＳ４１におけるＴＳパケット４０１を取得すると（ステップＳ６０２）、直前に出力したＴＳパケット４５０は、図５の「block Number＝０」のセクションにおける最初の差替後パケット５００であるので、ステップＳ６０３の判定において、当該セクションにおける最後のパケットでないと判定し（ステップＳ６０３：Ｎ）、当該セクションにおいて直前に出力した、図５の「block Number＝０」のセクションにおける最初の差替後パケット５００の次の差替後パケット５０１を差替後パケット保持部１０３から読出し、図４の出力ＴＳ４２におけるＴＳパケット４５１として出力し（ステップＳ６０４）、モジュール差替部１０２は、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケット４０１が差替対象パケットであるか否かを判定する（ステップＳ６０５）。
【００７０】
取得したＴＳパケット４０１は、差替対象パケットであるので、モジュール差替部１０２は、ステップＳ６０５において、差替対象パケットであると判定し（ステップＳ６０５：Ｙ）、さらに、出力したＴＳパケット４５１が差替非対象パケットであるか否かを判定する（ステップＳ６０６）。
ＴＳパケット４５１は、差替対象パケットであるので、モジュール差替部１０２は、ステップＳ６０６において、差替非対象パケットでないと判定し（ステップＳ６０６：Ｎ）、モジュール差替部１０２は、ステップＳ６０２の処理に戻る。
【００７１】
次に、モジュール差替部１０２は、入力データ受信部１００より図４の入力ＴＳ４１のＴＳパケット４０２を取得すると（ステップＳ６０２）、ＴＳパケット４０１における場合と同じ処理を行い、図５の「block Number＝０」のセクションにおける差替後パケット５０１の次の差替後パケット５０２を差替後パケット保持部１０３から読出し、図４の出力ＴＳ４２におけるＴＳパケット４５２として出力する（ステップＳ６０４）。
【００７２】
次にモジュール差替部１０２は、入力データ受信部１００より図４の入力ＴＳ４１におけるＴＳパケット４０３を取得すると（ステップＳ６０２）、直前に出力したＴＳパケット４５２は、図５の「block Number＝０」のセクションにおける最後でない差替後パケット５０２であるので、ステップＳ６０３の判定において、当該セクションにおける最後のパケットでないと判定し（ステップＳ６０３：Ｎ）、当該セクションにおいて直前に出力した、図５の「block Number＝０」のセクションにおける差替後パケット５０２の次の差替後パケット５０３を差替後パケット保持部１０３から読出し、図４の出力ＴＳ４２におけるＴＳパケット４５３として出力し（ステップＳ６０４）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケット４０３が差替対象パケットであるか否かを判定する（ステップＳ６０５）。
【００７３】
取得したＴＳパケット４０３は、差替対象パケットでないので、モジュール差替部１０２は、ステップＳ６０５において、差替対象パケットでないと判定し（ステップＳ６０５：Ｎ）、さらに、出力したＴＳパケット４５３が取得したＴＳパケット４０３そのものか否かを判定する（ステップＳ６０８）。出力したＴＳパケット４５３は、差替後パケット５０３であり、取得したＴＳパケット４０３そのものでないので（ステップＳ６０８：Ｎ）、取得したＴＳパケット４０３を入力パケット保持部１０４にキューとして追加して保持し（ステップＳ６０９）、出力したＴＳパケット４５３が差替後パケットであるか否かを判定する（ステップＳ６１０）。
【００７４】
ＴＳパケット４５３は、差替後パケットであるので、モジュール差替部１０２は、ステップＳ６１０において差替対象パケットであると判定し（ステップＳ６１０：Ｙ）、差替超過カウントに１を加え（ステップＳ６１６）、ステップＳ６０２の処理に戻る。
次に、モジュール差替部１０２は、入力データ受信部１００より図４の入力ＴＳ４１におけるＴＳパケット４０４及び４０５を順に取得すると（ステップＳ６０２）、ＴＳパケット４０３における場合と同じ処理を行い、図５の「block Number＝０」のセクションにおける差替後パケット５０３の次の差替後パケット５０４及びその次の差替後パケット５０５を差替後パケット保持部１０３から順に読出し、図４の出力ＴＳ４２におけるＴＳパケット４５４及び４５５として順に出力し（ステップＳ６０４）、取得したＴＳパケット４０４及び４０５をそれぞれ、入力パケット保持部１０４にキューとして順に追加して保持し（ステップＳ６０９）、差替超過カウントにそれぞれ１づつを加え（ステップＳ６１０）、ステップＳ６０２の処理に戻る。これにより、入力パケット保持部１０４には、ＴＳパケット４０３、４０４、４０５がこの順にキューとして保持され、この時点における差替超過カウントは３となる。
【００７５】
次に、モジュール差替部１０２は、入力データ受信部１００より図４の入力ＴＳ４１におけるＴＳパケット４０６を取得すると（ステップＳ６０２）、直前に出力したＴＳパケット４５５は、図５の「block Number＝０」のセクションにおける最後の差替後パケット５０５であるので、ステップＳ６０３において、最後のパケットであると判定し（ステップＳ６０３：Ｙ）、ステップＳ６１１の処理を行い、取得したＴＳパケット４０６が差替対象パケットであるか否かを判定する（ステップＳ６１１）。
【００７６】
ＴＳパケット４０６は、差替対象パケットでないので、モジュール差替部１０２は、ステップＳ６１１において、差替対象でないと判定し（ステップＳ６１１：Ｎ）、取得したＴＳパケット４０６を入力パケット保持部１０４にキューとして追加して保持して、差替え超過カウントに１を加え（ステップＳ６１４）、入力パケット保持部１０４から差替非対象パケット（ここでは、キューの先頭のＴＳパケット４０３）を読出して、出力ＴＳ４２におけるＴＳパケット４５６として外部へ出力し（ステップＳ６１５）、差替超過カウントから１を引いて（ステップＳ６０７）、ステップＳ６０２の処理に戻る。
【００７７】
これにより、入力パケット保持部１０４には、ＴＳパケット４０４、４０５、４０６がこの順にキューとして保持され、この時点における差替超過カウントは３となる。
次に、モジュール差替部１０２は、入力データ受信部１００より図４の入力ＴＳ４１におけるＴＳパケット４０７を取得すると（ステップＳ６０２）、直前に出力したＴＳパケット４５６は、「module ID=１」の「block Number＝０」のセクションにおける先頭のＴＳパケット４０３であるので、ステップＳ６０３において、最後のパケットでないと判定し（ステップＳ６０３：Ｎ）、当該セクションにおいて直前に出力したＴＳパケット４０３の次のＴＳパケット４０４を、入力パケット保持部１０４から読出して、出力ＴＳ４２におけるＴＳパケット４５７として出力し（ステップＳ６０４）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケット４０７が差替対象パケットであるか否かを判定する（ステップＳ６０５）。
【００７８】
取得したＴＳパケット４０７は、差替対象パケットであるので、モジュール差替部１０２は、ステップＳ６０５において、差替対象パケットであると判定し（ステップＳ６０５：Ｙ）、さらに、出力したＴＳパケット４５７が差替非対象パケットであるか否かを判定する（ステップＳ６０６）。
ＴＳパケット４５７は、差替非対象であるので、モジュール差替部１０２は、ステップＳ６０６において、差替非対象パケットであると判定し（ステップＳ６０６：Ｙ）、差替超過カウントから１を引き（ステップＳ６０７）、ステップＳ６０２の処理に戻る。
【００７９】
これにより、入力パケット保持部１０４には、ＴＳパケット４０５、４０６がこの順にキューとして保持され、この時点における差替超過カウントは２となる。
次に、モジュール差替部１０２は、入力データ受信部１００より図４の入力ＴＳ４１におけるＴＳパケット４０８及び４０９を順に取得すると（ステップＳ６０２）、ＴＳパケット４０７における場合と同じ処理を行い、入力パケット保持部１０４からＴＳパケット４０４の次のＴＳパケット４０５及びその次のＴＳパケット４０６を、それぞれ読出して、出力ＴＳ４２におけるＴＳパケット４５８及び４５９として出力し（ステップＳ６０４）、差替超過カウントから１ずつ引き（ステップＳ６０７）、ステップＳ６０２の処理に戻る。
【００８０】
これにより、入力パケット保持部１０４にキューとして保持されていたＴＳパケット４０５、４０６は出力され、入力パケット保持部１０４には、何も保持されていない状態になり、この時点における差替超過カウントは０となる。
この結果、先に取得された差替対象パケット（図４の入力ＴＳ４１におけるＴＳパケット４００〜４０２）に対し、余分に出力された差替後データ（図４の出力ＴＳ４２における差替後パケット４５３〜４５５）の超過分（ここでは、３個）を、次に取得された差替対象パケット（図４の入力ＴＳ４１におけるＴＳパケット４０７〜４０９）に対する差替後パケットの出力を抑止することにより、帳消しにするように調整することができる。
【００８１】
次に、モジュール差替部１０２は、入力データ受信部１００より図４の入力ＴＳ４１におけるＴＳパケット４１０を取得すると（ステップＳ６０２）、直前に出力したＴＳパケット４５９は、「module ID=１」の「block Number＝０」のセクションにおける最後のＴＳパケット４０６であるので、ステップＳ６０３において、最後のパケットであると判定し（ステップＳ６０３：Ｙ）、ＴＳパケット４１０が差替対象パケットであるか否かを判定する（ステップＳ６１１）。
【００８２】
ＴＳパケット４１０は、差替非対象パケットであるので、モジュール差替部１０２は、ステップＳ６１１において、差替対象パケットでないと判定し（ステップＳ６１１：Ｎ）、ＴＳパケット４１０を入力パケット保持部１０４にキューとして追加して保持して、差替え超過カウントに１を加え（ステップＳ６１４）、入力パケット保持部１０４からＴＳパケット４１０を読出して、出力ＴＳ４２におけるＴＳパケット４６０として外部へ出力し（ステップＳ６１５）、差替超過カウントから１を引いて（ステップＳ６０７）、ステップＳ６０２の処理に戻る。
【００８３】
次に、モジュール差替部１０２は、入力データ受信部１００より図４の入力ＴＳ４１におけるＴＳパケット４１１を取得すると（ステップＳ６０２）、直前に出力したＴＳパケット４６０は、「module ID=１」の「block Number＝２」のセクションにおける最初のＴＳパケット４１０であるので、ステップＳ６０３において、最後のパケットでないと判定し（ステップＳ６０３：Ｎ）、当該セクションにおいて直前に出力したＴＳパケット４１０の次のＴＳパケットはＴＳパケット４１１であるので、取得したＴＳパケット４１１をそのまま、出力ＴＳ４２におけるＴＳパケット４６１として出力し（ステップＳ６０４）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケット４１１が差替対象パケットであるか否かを判定する（ステップＳ６０５）。
【００８４】
取得したＴＳパケット４１１は、差替非対象パケットであるので、モジュール差替部１０２は、ステップＳ６０５において、差替対象パケットでないと判定し（ステップＳ６０５：Ｎ）、さらに、出力したＴＳパケット４６１が取得したＴＳパケット４０３そのものか否かを判定する（ステップＳ６０８）。出力したＴＳパケット４６１は、ＴＳパケット４１１であり、取得したＴＳパケット４１１そのものであるので（ステップＳ６０８：Ｙ）、ステップＳ６０２の処理に戻る。
【００８５】
次に、モジュール差替部１０２は、入力データ受信部１００より図４の入力ＴＳ４１におけるＴＳパケット４１２を取得すると（ステップＳ６０２）、ＴＳパケット４１１における場合と同じ処理を行い、取得したＴＳパケット４１２を出力ＴＳ４２におけるＴＳパケット４６２として出力する。
次に、モジュール差替部１０２は、入力データ受信部１００より図４の入力ＴＳ４１におけるＴＳパケット４１３〜４１５を取得すると（ステップＳ６０２）、ＴＳパケット４００〜４０２における場合と同じ処理を行い、出力ＴＳ４２におけるＴＳパケット４６３〜４６５（図５の差替後パケット５１０〜５１２に相当するＴＳパケット）を出力する。
【００８６】
（実施の形態２）
本実施の形態におけるデータ差替出力装置２０は、差替対象モジュールに比べ、差替後モジュールのデータサイズが小さい場合において、入力データのビットレートと出力データのビットレートを一致させつつ、入力された差替対象モジュールを差替後モジュールに差替て出力することを特徴とするデータ差替出力装置である。
【００８７】
＜構成＞
図８は、データ差替出力装置２０の構成を示す機能ブロック図である。データ差替出力装置２０は、図８に示す通り、入力データ受信部１００、差替元パケット判別部１０１、モジュール差替部２０２、差替後パケット保持部１０３から構成される。
実施の形態１におけるデータ差替出力装置１０と同一の機能を備える構成要素については、同一の番号を付し、以下、相違点を中心に説明する。
【００８８】
モジュール差替部２０２は、入力データ受信部１００から入力されたＴＳから、差替元パケット判別部１０１により差替対象パケットと判別されたＴＳパケットを削除し、差替元パケット判別部１０１により差替非対象パケットと判別されたＴＳパケットをそのまま、出力する。
又、モジュール差替部２０２は、Ｎｕｌｌパケット生成部２０２１を有し、後述する差替出力制御処理を介して、「差替非対象パケット」と「差替後パケット」と「Ｎｕｌｌパケット」の何れかを、出力すべきＴＳパケットとして逐次選択し、選択したＴＳパケットを入力されたＴＳのビットレートと同一のビットレートで出力する。
【００８９】
「Ｎｕｌｌパケット」とは、Ｎｕｌｌパケット生成部２０２１によって生成される、出力ＴＳパケット数の不足を補うための、ＴＳパケットとデータサイズが同一のダミー用パケットのことをいう。
＜動作＞
１．実施の形態２における差替出力制御処理
次に、データ差替出力装置２０の行う差替出力制御処理について説明する。
【００９０】
図１２は、データ差替出力装置２０の行う差替出力制御処理の動作を示すフローチャートである。以下、図１２を参照して、上記動作について説明する。
差替出力制御処理を実行するためのコンピュータプログラムが起動されると、モジュール差替部２０２は、入力データ受信部１００よりＴＳパケットを取得し（ステップＳ１２０１）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケットが差替対象パケットであるか否かを判定する（ステップＳ１２０２）。
【００９１】
差替対象パケットである場合（ステップＳ１２０２：Ｙ）、「in_bnum」と「out_snum」との大小比較を行う（ステップＳ１２０３）。
ここで、「in_bnum」とは、当該差替対象パケットが属するセクションの「block Number」のことをいい、「out_snum」とは、差替後モジュールの「section number」のことをいう。
【００９２】
ステップＳ１２０３において、「in_bnum」が「out_snum」以下の場合（ステップＳ１２０３：Ｙ）、モジュール差替部２０２はさらに、「in_ppos」と「out_pnum」との大小比較を行う（ステップＳ１２０４）。
ここで、「in_ppos」とは、「in_bnum」の示す当該差替対象パケットが属するセクションにおいて、当該差替対象パケットが何番目かを示す数値のことをいい、「out_pnum」とは、差替後モジュールにおいて、「in_bnum」の示す「block Number」のセクションに対応するセクション（具体的には、当該「block Number」と、「block Number」が一致するセクション）に含まれるＴＳパケット数（「pnum」）のことをいう。
【００９３】
ステップＳ１２０４において、「in_ppos」が「out_pnum」と比べて大きくない場合（ステップＳ１２０４：Ｙ）、差替後モジュールにおいて、「in_bnum」の示す「block Number」のセクションに対応するセクション（具体的には、当該「block Number」と、「block Number」が一致するセクション）における「in_ppos」によって示される数値番目の位置に相当する差替後パケットを出力し（ステップＳ１２０５）、ステップＳ１２０１の処理に戻る。
【００９４】
ステップＳ１２０２において、取得したＴＳパケットが差替対象パケットでない場合（ステップＳ１２０２：Ｎ）、モジュール差替部２０２は、取得したＴＳパケットをそのまま出力し（ステップＳ１２０７）、ステップＳ１２０１の処理に戻る。。
ステップＳ１２０３において、「in_bnum」が「out_snum」以下でない場合（ステップＳ１２０３：Ｎ）、又は、ステップＳ１２０４において、「in_ppos」が「out_pnum」と比べて大きい場合（ステップＳ１２０４：Ｎ）、モジュール差替部２０２は、Ｎｕｌｌパケットを生成して、出力し（ステップＳ１２０６）、ステップＳ１２０１の処理に戻る。
【００９５】
２．実施の形態２における差替出力制御処理の具体例
図１０は、データ差替出力装置２０に入力されたＴＳ（入力ＴＳ５１）の具体例と、当該ＴＳに含まれる差替対象パケットを差替後パケット又はＮｕｌｌパケットに差替えた後に、データ差替出力装置２０から出力されるＴＳ（出力ＴＳ５２）の具体例とを示す。図１０の具体例は、３０００オクテットの差替対象モジュールを２０００オクテットの差替後モジュールに差替える場合の具体例を示す。
【００９６】
図９は、図１０の具体例に示す差替対象パケットによって構成される差替対象モジュール９０を示す。図９に示す差替対象パケット９００〜９０３が図１０に示す入力ＴＳ５１における差替対象パケット１００１〜１００４に、図９に示す差替対象パケット９０４〜９０７が図１０に示す入力ＴＳ５１における差替対象パケット１００９〜１００１２に、図９に示す差替対象パケット９０８〜９１１が図１０に示す入力ＴＳ５１における差替対象パケット１０１３〜１０１６に、図９に示す差替対象パケット９１２〜９１５が図１０に示す入力ＴＳ５１における差替対象パケット１０１８〜１０２１に、図９に示す差替対象パケット９１６、９１７が図１０に示す入力ＴＳ５１における差替対象パケット１０２２、１０２３にそれぞれ相当している。
【００９７】
図１１は、図１０の具体例に示す差替後パケットによって構成される差替後モジュール１１０を示す。図１１に示す差替後パケット１１１１〜１１１４が図１０に示す出力ＴＳ５２における差替後パケット１０５１〜１０５４に、図１１に示す差替後パケット１１２１〜１１２４が図１０に示す出力ＴＳ５２における差替後パケット１０５９〜１０６２に、図１１に示す差替後パケット１１３１〜１１３３が図１０に示す出力ＴＳ５２における差替後パケット１０６３〜１０６５にそれぞれ相当している。
【００９８】
以下、図１０に示す具体例において、上記差替出力制御処理がどのように動作するかについて、具体的に説明する。
モジュール差替部２０２は、入力データ受信部１００より、図１０の入力ＴＳ５１における最初のＴＳパケット１００１を取得し（ステップＳ１２０１）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケット１００１が差替対象パケットであるか否かを判定する（ステップＳ１２０２）。
【００９９】
取得したＴＳパケット１００１は、差替対象パケットであるので、モジュール差替部２０２は、ステップＳ１２０２において、差替対象パケットであると判定し（ステップＳ１２０２：Ｙ）、「in_bnum」と「out_snum」との大小比較を行う（ステップＳ１２０３）。
ＴＳパケット１００１は、「block Number＝０」のセクションに属するので、ＴＳパケットの「in_bnum＝０」であり、図１１に示す差替後モジュールの「section number＝２」であるので、モジュール差替部２０２は、ステップＳ１２０３において、「in_bnum」の方が「out_snum」より小さいと判定し（ステップＳ１２０３：Ｙ）、さらに、「in_ppos」と「out_pnum」との大小比較を行う（ステップＳ１２０４）。
【０１００】
ＴＳパケット１００１は、「block Number＝０」のセクションにおける最初のＴＳパケットであるので、「in_ppos＝１」であり、図１１の示す「block Number＝０」のセクション１１１０における「pnum」は、「pnum＝４」であるので、「out_pnum＝４」であり、モジュール差替部２０２は、ステップＳ１２０４において、「in_ppos」が「out_pnum」と比べて大きくないと判定し（ステップＳ１２０４：Ｙ）、図１１の差替後モジュールにおいて、「in_bnum＝０」の示す「block Numbe＝０」のセクション１１１０に対応するセクションである「block Numbe＝０」のセクションにおける「in_ppos＝１」に相当する１番目の差替後パケット１１１１を差替後パケット保持部１０３から読出して、図１０の出力ＴＳ５２におけるＴＳパケット１０５１として出力し（ステップＳ１２０５）、ステップＳ１２０１の処理に戻る。
【０１０１】
次に、モジュール差替部２０２は、入力データ受信部１００より、図１０の入力ＴＳ５１におけるＴＳパケット１００２〜１００４を順に取得し（ステップＳ１２０１）、ＴＳパケット１００１における場合と同様の処理を行い、図１１の「block Number＝０」のセクション１１１０における「in_ppos＝２，３，４」にそれぞれ相当する２番目、３番目、４番目の差替後パケット１１１２〜１１１４を差替後パケット保持部１０３から順に読出して、図１０の出力ＴＳ５２におけるＴＳパケット１０５２〜１０５４としてそれぞれ順に出力し（ステップＳ１２０５）、ステップＳ１２０１の処理に戻る。
【０１０２】
次に、モジュール差替部２０２は、入力データ受信部１００より、図１０の入力ＴＳ５１におけるＴＳパケット１００５を取得し（ステップＳ１２０１）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケットが差替対象パケットであるか否かを判定する（ステップＳ１２０２）。
取得したＴＳパケット１００５は、差替非対象パケットであるので、モジュール差替部２０２は、ステップＳ１２０２において、差替対象パケットでないと判定し（ステップＳ１２０２：Ｎ）、取得したＴＳパケット１００５をそのまま（図１０の出力ＴＳ５２におけるＴＳパケット１０５５として）出力し（ステップＳ１２０７）、ステップＳ１２０１の処理に戻る。
【０１０３】
次に、モジュール差替部２０２は、入力データ受信部１００より、図１０の入力ＴＳ５１におけるＴＳパケット１００６〜１００８を順に取得し（ステップＳ１２０１）、ＴＳパケット１００５における場合と同様の処理を行い、取得したＴＳパケット１００６〜１００８をそのまま（図１０の出力ＴＳ５２におけるＴＳパケット１０５６〜１０５８として）出力し（ステップＳ１２０７）、ステップＳ１２０１の処理に戻る。
【０１０４】
次に、モジュール差替部２０２は、入力データ受信部１００より、図１０の入力ＴＳ５１におけるＴＳパケット１００９〜１０１２を順に取得し（ステップＳ１２０１）、ＴＳパケット１００１における場合と同様の処理を行い、図１１の「block Numbe＝１」のセクション１１２０における「in_ppos＝１，２，３，４」にそれぞれ相当する１番目、２番目、３番目、４番目の差替後パケット１１２１〜１１２４を差替後パケット保持部１０３から順に読出して、図１０の出力ＴＳ５２におけるＴＳパケット１０５９〜１０６２としてそれぞれ順に出力し（ステップＳ１２０５）、ステップＳ１２０１の処理に戻る。
【０１０５】
次に、モジュール差替部２０２は、入力データ受信部１００より、図１０の入力ＴＳ５１におけるＴＳパケット１０１３〜１０１５を順に取得し（ステップＳ１２０１）、ＴＳパケット１００１における場合と同様の処理を行い、図１１の「block Numbe＝２」のセクション１１３０における「in_ppos＝１，２，３」にそれぞれ相当する１番目、２番目、３番目の差替後パケット１１３１〜１１３３を差替後パケット保持部１０３から順に読出して、図１０の出力ＴＳ５２におけるＴＳパケット１０６３〜１０６５としてそれぞれ順に出力し（ステップＳ１２０５）、ステップＳ１２０１の処理に戻る。
【０１０６】
次に、モジュール差替部２０２は、入力データ受信部１００より、図１０の入力ＴＳ５１におけるＴＳパケット１０１６を取得し（ステップＳ１２０１）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケットが差替対象パケットであるか否かを判定する（ステップＳ１２０２）。
取得したＴＳパケット１０１６は、差替対象パケットであるので、モジュール差替部２０２は、ステップＳ１２０２において、差替対象パケットであると判定し（ステップＳ１２０２：Ｙ）、「in_bnum」と「out_snum」との大小比較を行う（ステップＳ１２０３）。
【０１０７】
ＴＳパケット１０１６は、「block Number＝２」のセクションに属するので、ＴＳパケットの「in_bnum＝２」であり、図１１に示す差替後モジュールの「section number＝３」であるので、モジュール差替部２０２は、ステップＳ１２０３において、「in_bnum」の方が「out_snum」より小さいと判定し（ステップＳ１２０３：Ｙ）、さらに、「in_ppos」と「out_pnum」との大小比較を行う（ステップＳ１２０４）。
【０１０８】
ＴＳパケット１０１６は、「block Number＝２」のセクションにおける４番目のＴＳパケットであるので、「in_ppos＝４」であり、図１１の示す「block Number＝０」のセクション１１１０における「pnum」は、「pnum＝３」であるので、「out_pnum＝３」であり、モジュール差替部２０２は、ステップＳ１２０４において、「in_ppos」が「out_pnum」と比べて大きいと判定し（ステップＳ１２０４：Ｎ）、Ｎｕｌｌパケットを生成して、図１０の出力ＴＳ５２におけるＮｕｌｌパケット１０６６として出力し（ステップＳ１２０６）、ステップＳ１２０１の処理に戻る。
【０１０９】
次に、モジュール差替部２０２は、入力データ受信部１００より、図１０の入力ＴＳ５１におけるＴＳパケット１０１７を取得し（ステップＳ１２０１）、ＴＳパケット１００５における場合と同様の処理を行い、取得したＴＳパケット１０１７をそのまま（図１０の出力ＴＳ５２におけるＴＳパケット１０６７として）出力し（ステップＳ１２０７）、ステップＳ１２０１の処理に戻る。
【０１１０】
次に、モジュール差替部２０２は、入力データ受信部１００より、図１０の入力ＴＳ５１におけるＴＳパケット１０１８を取得し（ステップＳ１２０１）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケット１０１８が差替対象パケットであるか否かを判定する（ステップＳ１２０２）。
取得したＴＳパケット１０１８は、差替対象パケットであるので、モジュール差替部２０２は、ステップＳ１２０２において、差替対象パケットであると判定し（ステップＳ１２０２：Ｙ）、「in_bnum」と「out_snum」との大小比較を行う（ステップＳ１２０３）。
【０１１１】
ＴＳパケット１０１８は、「block Number＝３」のセクションに属するので、ＴＳパケット１０１８の「in_bnum＝３」であり、図１１に示す差替後モジュールの「section number＝３」であるので、モジュール差替部２０２は、ステップＳ１２０３において、「in_bnum」は、「out_snum」より小さくないと判定し（ステップＳ１２０３：Ｎ）、Ｎｕｌｌパケットを生成して、出力し（ステップＳ１２０６）、ステップＳ１２０１の処理に戻る。
【０１１２】
次に、モジュール差替部２０２は、入力データ受信部１００より、図１０の入力ＴＳ５１におけるＴＳパケット１０１９〜１０２３を順に取得し（ステップＳ１２０１）、ＴＳパケット１０１８における場合と同様の処理を行い、それぞれ、ステップＳ１２０３において、「in_bnum」は、「out_snum」より小さくないと判定し（ステップＳ１２０３：Ｎ）、Ｎｕｌｌパケットを生成して、図１０の出力ＴＳ５２におけるＮｕｌｌパケット１０６８〜１０７３として順に出力し（ステップＳ１２０６）、ステップＳ１２０１の処理に戻る。
【０１１３】
次に、モジュール差替部２０２は、入力データ受信部１００より、図１０の入力ＴＳ５１におけるＴＳパケット１０２４を取得し（ステップＳ１２０１）、ＴＳパケット１００５における場合と同様の処理を行い、取得したＴＳパケット１０２４をそのまま（図１０の出力ＴＳ５２におけるＴＳパケット１０７４として）出力し（ステップＳ１２０７）、ステップＳ１２０１の処理に戻る。
【０１１４】
本実施の形態２における差替出力制御処理は、差替対象モジュールのデータサイズが差替後モジュールのデータサイズよりも大きい場合にのみ適用できる。
上記差替出力制御処理は、例えば、モジュールの最後のセクション以外のセクションのデータサイズを同じにするという制限があるＭＰＥＧ２規格（ＩＳＯ／ＩＥＣ  １３８１８−６）に基づくモジュール間で、モジュールの差替出力を行う場合に適用できる。
【０１１５】
又、差替対象となるデータがＭＰＥＧ２規格に基づいていない場合であっても、上記セクションに相当するデータ単位で差替対象モジュールの伝送が行われ、各セクションのサイズが対応する差替後モジュールのセクションよりも大きい場合においても、上記差替出力制御処理を適用することができる。
（実施の形態３）
本実施の形態におけるデータ差替出力装置３０は、実施の形態２のデータ差替出力装置２０の有する機能に加え、差替対象モジュールのセクションに比べ、当該セクションと差し替えるべき差替後モジュールのセクションのデータサイズが大きい場合においても、入力データのビットレートと出力データのビットレートを一致させつつ、入力された差替対象モジュールを差替後モジュールに差替て出力することを特徴とするデータ差替出力装置である。
【０１１６】
＜構成＞
図１８は、データ差替出力装置３０の構成を示す機能ブロック図である。
データ差替出力装置３０の構成は、モジュール差替部３０２を除いて、実施の形態２におけるデータ差替出力装置２０の構成と同様であるので、データ差替出力装置３０の構成におけるモジュール差替部３０２を除く構成要素ついての説明は、省略し、以下、本実施の形態のモジュール差替部３０２と実施の形態２のモジュール差替部２０２との相違点が現れる差替出力制御処理の動作を中心に説明する。
【０１１７】
＜動作＞
１．実施の形態３における差替出力制御処理
図１３は、データ差替出力装置３０の行う差替出力制御処理の動作を示すフローチャートである。以下、図１３を参照して、上記動作について説明する。
差替出力制御処理を実行するためのコンピュータプログラムが起動されると、モジュール差替部３０２は、差替後パケット保持部１０３に保持されている差替後モジュールにおける「block Number＝０」のセクションを出力対象セクションとして設定し（ステップＳ１３０１）、入力データ受信部１００よりＴＳパケットを取得し（ステップＳ１３０２）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケットが差替対象パケットであるか否かを判定する（ステップＳ１３０３）。
【０１１８】
差替対象パケットである場合（ステップＳ１３０３：Ｙ）、モジュール差替部３０２はさらに、「in_pnum」と「out_pnum」との大小比較を行う（ステップＳ１３０５）。
ここで、「in_pnum」とは、取得したＴＳパケットが属するセクションに含まれるＴＳパケット数（「pnum」）のことをいい、「out_pnum」とは、出力対象セクションに含まれるＴＳパケット数（「pnum」）のことをいう。
【０１１９】
ステップＳ１３０５において、「in_pnum」が「out_pnum」よりも小さくない場合（ステップＳ１３０５：Ｙ）、モジュール差替部３０２はさらに、「in_ppos」と「out_pnum」との大小比較を行う（ステップＳ１３０６）。
ここで、「in_ppos」とは、図１２の「in_ppos」と同様に、当該差替対象パケットが属するセクションにおいて、当該差替対象パケットが何番目かを示す数値のことをいう。
【０１２０】
ステップＳ１３０６において、「in_ppos」が「out_pnum」と比べて大きくない場合（ステップＳ１３０６：Ｙ）、モジュール差替部３０２は、設定した出力対象セクションにおける「in_ppos」によって示される数値番目の位置に相当する差替後パケットを出力し（ステップＳ１３０８）、取得したＴＳパケット（差替対象パケット）が当該ＴＳパケットが属するセクションにおける最終パケットか否かを判定する（ステップＳ１３０９）。
【０１２１】
最終パケットでない場合（ステップＳ１３０９：Ｎ）、モジュール差替部３０２は、ステップＳ１３０２の処理に戻り、最終パケットである場合（ステップＳ１３０９：Ｙ）、差替後パケット保持部１０３に保持されている差替後モジュールにおいて、設定した出力対象セクションの次のセクションを出力対象セクションとして設定し（ステップＳ１３１０）、ステップＳ１３０２の処理に戻る。
【０１２２】
ステップＳ１３０３において、差替対象パケットでない場合（ステップＳ１３０３：Ｎ）、モジュール差替部３０２は、取得したＴＳパケットをそのまま出力し（ステップＳ１３０４）、ステップＳ１３０２の処理に戻る。
ステップＳ１３０５において、「in_pnum」が「out_pnum」よりも小さい場合（ステップＳ１３０５：Ｎ）、又はステップＳ１３０６において、「in_ppos」が「out_pnum」と比べて大きい場合（ステップＳ１３０６：Ｎ）、モジュール差替部３０２は、Ｎｕｌｌパケットを生成して、出力し（ステップＳ１３０７）、ステップＳ１３０９の処理に移行する。
【０１２３】
２．実施の形態３における差替出力制御処理の具体例
図１４は、データ差替出力装置３０に入力されたＴＳ（入力ＴＳ６１）の具体例と、当該ＴＳに含まれる差替対象パケットを図１１に示す差替後モジュールを構成する差替後パケット又はＮｕｌｌパケットに差替えた後に、データ差替出力装置３０から出力されるＴＳ（出力ＴＳ６２）の具体例とを示す。図１４の具体例は、３０００オクテットの差替対象モジュールを２０００オクテットの差替後モジュールに差替える場合の具体例を示す。      
【０１２４】
図１４の入力ＴＳ６１において、「mid＝０」の各ＴＳパケット１４０１〜１４０４、１４０９〜１４１２、１４１３〜１４１６、１４１８〜１４２３は差替対象パケットを示し、「mid＝１」の各ＴＳパケット１４０５〜１４０８、１４１７、１４２４は、差替非対象パケットを示す。
以下、図１４に示す具体例を用いて、上記差替出力制御処理の動作について、具体的に説明する。
【０１２５】
モジュール差替部３０２は、差替後パケット保持部１０３に保持されている差替後モジュールにおける「block Number＝０」のセクションを出力対象セクションとして設定し（ステップＳ１３０１）、入力データ受信部１００より、図１４の入力ＴＳ６１における最初のＴＳパケット１４０１を取得し（ステップＳ１３０２）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケット１４０１が差替対象パケットであるか否かを判定する（ステップＳ１３０３）。
【０１２６】
取得したＴＳパケット１４０１は、差替対象パケットであるので、モジュール差替部３０２は、ステップＳ１３０３において、差替対象パケットであると判定し（ステップＳ１３０３：Ｙ）、「in_pnum」と「out_pnum」との大小比較を行う（ステップＳ１３０５）。
取得したＴＳパケット１４０１が属するセクションに含まれるＴＳパケット数は４（「pnum＝４」）であり、図１１の差替後モジュールにおける出力対象セクションとして設定した、「block Number＝０」のセクション１１１０に含まれるＴＳパケット数は４（「pnum＝４」）であるので、「in_pnum」と「out_pnum」はともに４となり、モジュール差替部３０２は、ステップＳ１３０５において、「in_pnum」が「out_pnum」よりも小さくないと判定し（ステップＳ１３０５：Ｙ）、さらに、「in_ppos」と「out_pnum」との大小比較を行う（ステップＳ１３０６）。
【０１２７】
ＴＳパケット１４０１は、「block Number＝０」のセクションにおける最初のＴＳパケットであるので、「in_ppos＝１」であり、図１１の示す「block Number＝０」のセクション１１１０における「pnum」は、「pnum＝４」であるので、「out_pnum＝４」であり、モジュール差替部３０２は、ステップＳ１３０６において、「in_ppos」が「out_pnum」と比べて大きくないと判定し（ステップＳ１３０６：Ｙ）、図１１の差替後モジュールにおける出力対象セクションである「block Numbe＝０」のセクション１１１０における「in_ppos＝１」に相当する１番目の差替後パケット１１１１を差替後パケット保持部１０３から読出して、図１４の出力ＴＳ６２におけるＴＳパケット１４５１として出力し（ステップＳ１３０８）、取得したＴＳパケット１４０１が、当該ＴＳパケットが属するセクションである「block Number＝０」のセクションにおけるにおける最終パケットか否かを判定する（ステップＳ１３０９）。
【０１２８】
取得したＴＳパケット１４０１は、「block Number＝０」のセクションにおける１番目のＴＳパケットであるので、モジュール差替部３０２は、ステップＳ１３０９において、最終パケットでないと判定し（ステップＳ１３０９：Ｎ）、ステップＳ１３０２の処理に戻る。
次に、モジュール差替部３０２は、入力データ受信部１００より、図１４の入力ＴＳ６１におけるＴＳパケット１４０２、１４０３を順に取得し（ステップＳ１３０２）、ＴＳパケット１４０１おける場合と同様の処理を行い、図１１の差替後モジュールにおける出力対象セクションである「block Numbe＝０」のセクション１１１０における「in_ppos＝２」及び「in_ppos＝３」にそれぞれ相当する２番目及び３番目の差替後パケット１１１２、１１１３を差替後パケット保持部１０３から読出して、図１４の出力ＴＳ６２におけるＴＳパケット１４５２、１４５３として順に出力し（ステップＳ１３０８）、ステップＳ１３０２の処理に戻る。
【０１２９】
次に、モジュール差替部３０２は、入力データ受信部１００より、図１４の入力ＴＳ６１におけるＴＳパケット１４０４を取得し（ステップＳ１３０２）、ステップＳ１３０９における判定を除いて、ＴＳパケット１４０１における場合と同様の処理を行い、図１１の差替後モジュールにおける出力対象セクションである「block Numbe＝０」のセクション１１１０における「in_ppos＝４」に相当する４番目の差替後パケット１１１４を差替後パケット保持部１０３から読出して、図１４の出力ＴＳ６２におけるＴＳパケット１４５４として出力する（ステップＳ１３０８）。
【０１３０】
ＴＳパケット１４０４は、当該ＴＳパケットが属する「block Number＝０」のセクションにおける最終パケットであるので、ステップＳ１３０９において、モジュール差替部３０２は、最終パケットであると判定し（ステップＳ１３０９：Ｙ）、設定した出力対象セクション（ここでは、図１１の「block Number＝０」のセクション１１１０）の次のセクション（ここでは、図１１の「block Number＝１」のセクション１１２０）を出力対象セクションとして設定し（ステップＳ１３１０）、ステップＳ１３０２の処理に戻る。
【０１３１】
次に、モジュール差替部３０２は、入力データ受信部１００より、図１４の入力ＴＳ６１におけるＴＳパケット１４０５〜１４０８を順に取得し（ステップＳ１３０２）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得した各ＴＳパケットが差替対象パケットであるか否かを判定する（ステップＳ１３０３）。
ＴＳパケット１４０５〜１４０８は、それぞれ差替非対象パケットであるので、モジュール差替部３０２は、ステップＳ１３０３において、差替対象パケットでないと判定し（ステップＳ１３０３：Ｎ）、取得した各ＴＳパケットをそのまま、出力ＴＳ６２におけるＴＳパケット１４５５〜１４５８として順に出力し（ステップＳ１３０４）、ステップＳ１３０２の処理に戻る。
【０１３２】
次に、モジュール差替部３０２は、入力データ受信部１００より、図１４の入力ＴＳ６１におけるＴＳパケット１４０９〜１４１１を順に取得し（ステップＳ１３０２）、ＴＳパケット１４０１おける場合と同様の処理を行い、図１１の差替後モジュールにおける出力対象セクションである「block Numbe＝１」のセクション１１２０における「in_ppos＝１」、「in_ppos＝２」及び「in_ppos＝３」にそれぞれ相当する１番目、２番目及び３番目の差替後パケット１１２１、１１２２、１１２３を差替後パケット保持部１０３から読出して、図１４の出力ＴＳ６２におけるＴＳパケット１４５９〜１４６１として順に出力し（ステップＳ１３０８）、ステップＳ１３０２の処理に戻る。
【０１３３】
次に、モジュール差替部３０２は、入力データ受信部１００より、図１４の入力ＴＳ６１におけるＴＳパケット１４１２を取得し（ステップＳ１３０２）、ＴＳパケット１４０４における場合と同様の処理を行い、図１１の差替後モジュールにおける出力対象セクションである「block Numbe＝１」のセクション１１２０における「in_ppos＝４」に相当する４番目の差替後パケット１１２４を差替後パケット保持部１０３から読出して、図１４の出力ＴＳ６２におけるＴＳパケット１４６２として出力し（ステップＳ１３０８）、設定した出力対象セクション（ここでは、図１１の「block Number＝１」のセクション１１２０）の次のセクション（ここでは、図１１の「block Number＝２」のセクション１１３０）を出力対象セクションとして設定し（ステップＳ１３１０）、ステップＳ１３０２の処理に戻る。
【０１３４】
次に、モジュール差替部３０２は、入力データ受信部１００より、図１４の入力ＴＳ６１におけるＴＳパケット１４１３、１４１４、１４１５を順に取得し（ステップＳ１３０２）、ＴＳパケット１４０１おける場合と同様の処理を行い、図１１の差替後モジュールにおける出力対象セクションである「block Numbe＝２」のセクション１１３０における「in_ppos＝１」、「in_ppos＝２」及び「in_ppos＝３」にそれぞれ相当する１番目、２番目及び３番目の差替後パケット１１３１、１１３２、１１３３を差替後パケット保持部１０３から読出して、図１４の出力ＴＳ６２におけるＴＳパケット１４６３、１４６４、１４６５として順に出力し（ステップＳ１３０８）、ステップＳ１３０２の処理に戻る。
【０１３５】
次に、モジュール差替部３０２は、入力データ受信部１００より、図１４の入力ＴＳ６１におけるＴＳパケット１４１６を取得し（ステップＳ１３０２）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケット１４１６が差替対象パケットであるか否かを判定する（ステップＳ１３０３）。
取得したＴＳパケット１４１６は、差替対象パケットであるので、モジュール差替部３０２は、ステップＳ１３０３において、差替対象パケットであると判定し（ステップＳ１３０３：Ｙ）、「in_pnum」と「out_pnum」との大小比較を行う（ステップＳ１３０５）。
【０１３６】
取得したＴＳパケット１４１６が属するセクションに含まれるＴＳパケット数は４（「pnum＝４」）であり、図１１の差替後モジュールにおける出力対象セクションとして設定した、「block Number＝２」のセクション１１３０に含まれるＴＳパケット数は３（「pnum＝３」）であるので、「in_pnum」は、「out_pnum」より大きいので、モジュール差替部３０２は、ステップＳ１３０５において、「in_pnum」が「out_pnum」よりも小さくないと判定し（ステップＳ１３０５：Ｙ）、さらに、「in_ppos」と「out_pnum」との大小比較を行う（ステップＳ１３０６）。
【０１３７】
ＴＳパケット１４１６は、「block Number＝２」のセクションにおける４番目のＴＳパケットであるので、「in_ppos＝４」であり、図１１の示す「block Number＝２」のセクション１１３０における「pnum」は、「pnum＝３」であるので、「out_pnum＝３」であり、モジュール差替部３０２は、ステップＳ１３０６において、「in_ppos」が「out_pnum」より大きくいと判定し（ステップＳ１３０６：Ｎ）、Ｎｕｌｌパケットを生成して、出力ＴＳ６２におけるＮｕｌｌパケット１４６６として出力し（ステップＳ１３０７）、ステップＳ１３０９の処理に移行し、ＴＳパケット１４１６は、当該ＴＳパケットが属する「block Number＝２」のセクションにおける最終パケットであるので、ステップＳ１３０９において、モジュール差替部３０２は、最終パケットであると判定し（ステップＳ１３０９：Ｙ）、設定した出力対象セクション（ここでは、図１１の「block Number＝２」のセクション１１３０）の次のセクション（ここでは、図１１の「block Number＝０」のセクション１１１０）を出力対象セクションとして設定し（ステップＳ１３１０）、ステップＳ１３０２の処理に戻る。
【０１３８】
次に、モジュール差替部３０２は、入力データ受信部１００より、図１４の入力ＴＳ６１におけるＴＳパケット１４１７を取得し（ステップＳ１３０２）、ＴＳパケット１４０５〜１４０８における場合と同様の処理を行い、取得したＴＳパケット１４１７をそのまま、出力ＴＳ６２におけるＴＳパケット１４６７として出力し（ステップＳ１３０４）、ステップＳ１３０２の処理に戻る。
【０１３９】
次に、モジュール差替部３０２は、入力データ受信部１００より、図１４の入力ＴＳ６１におけるＴＳパケット１４１８〜１４２０を順に取得し（ステップＳ１３０２）、ＴＳパケット１４０１〜ＴＳパケット１４０３における場合と同様の処理を行い、図１１の差替後モジュールにおける出力対象セクションである「block Numbe＝０」のセクション１１１０における「in_ppos＝１」、「in_ppos＝２」及び「in_ppos＝３」にそれぞれ相当する１番目、２番目及び３番目の差替後パケット１１１１、１１１２、１１１３を差替後パケット保持部１０３から読出して、図１４の出力ＴＳ６２におけるＴＳパケット１４６８、１４６９、１４７０として順に出力し（ステップＳ１３０８）、ステップＳ１３０２の処理に戻る。
【０１４０】
次に、モジュール差替部３０２は、入力データ受信部１００より、図１４の入力ＴＳ６１におけるＴＳパケット１４２１を取得し（ステップＳ１３０２）、ＴＳパケット１４０４における場合と同様の処理行い、図１１の差替後モジュールにおける出力対象セクションである「block Numbe＝０」のセクション１１１０における「in_ppos＝４」に相当する４番目の差替後パケット１１１４を差替後パケット保持部１０３から読出して、図１４の出力ＴＳ６２におけるＴＳパケット１４７１として出力し（ステップＳ１３０８）、設定した出力対象セクション（ここでは、図１１の「block Number＝０」のセクション１１１０）の次のセクション（ここでは、図１１の「block Number＝１」のセクション１１２０）を出力対象セクションとして設定し（ステップＳ１３１０）、ステップＳ１３０２の処理に戻る。
【０１４１】
次に、モジュール差替部３０２は、入力データ受信部１００より、図１４の入力ＴＳ６１におけるＴＳパケット１４２２、１４２３を順に取得し（ステップＳ１３０２）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケット１４１６が差替対象パケットであるか否かを判定する（ステップＳ１３０３）。
取得したＴＳパケット１４２２、１４２３は、それぞれ差替対象パケットであるので、モジュール差替部３０２は、ステップＳ１３０３において、差替対象パケットであると判定し（ステップＳ１３０３：Ｙ）、「in_pnum」と「out_pnum」との大小比較を行う（ステップＳ１３０５）。
【０１４２】
取得したＴＳパケット１４２２及び１４２３が属するセクションに含まれるＴＳパケット数は２（「pnum＝２」）であり、図１１の差替後モジュールにおける出力対象セクションとして設定した、「block Number＝１」のセクション１１２０に含まれるＴＳパケット数は４（「pnum＝４」）であるので、「in_pnum」は、「out_pnum」より小さいので、モジュール差替部３０２は、ステップＳ１３０５において、「in_pnum」が「out_pnum」よりも小さいと判定し（ステップＳ１３０５：Ｎ）、Ｎｕｌｌパケットを生成して、出力ＴＳ６２におけるＮｕｌｌパケット１４７２、１４７３として順に出力し（ステップＳ１３０７）、ステップＳ１３０９の処理に移行し、ＴＳパケット１４７３は、当該ＴＳパケットが属する「block Number＝３」のセクションにおける最終パケットであるので、ステップＳ１３０９において、モジュール差替部３０２は、最終パケットであると判定し（ステップＳ１３０９：Ｙ）、設定した出力対象セクション（ここでは、図１１の「block Number＝１」のセクション１１２０）の次のセクション（ここでは、図１１の「block Number＝２」のセクション１１３０）を出力対象セクションとして設定し（ステップＳ１３１０）、ステップＳ１３０２の処理に戻る。
【０１４３】
次に、モジュール差替部３０２は、入力データ受信部１００より、図１４の入力ＴＳ６１におけるＴＳパケット１４２４を取得し（ステップＳ１３０２）、ＴＳパケット１４０５〜１４０８における場合と同様の処理を行い、取得したＴＳパケット１４２４をそのまま、出力ＴＳ６２におけるＴＳパケット１４７４として出力し（ステップＳ１３０４）、ステップＳ１３０２の処理に戻る。
【０１４４】
（実施の形態４）
本実施の形態におけるデータ差替出力装置４０は、差替対象パケットがＴＳに拡散して入力された場合に、入力された差替対象パケット数が所定数に達した場合に、差替後パケットを出力することを特徴とするデータ差替出力装置である。
＜構成＞
図１９は、データ差替出力装置４０の構成を示す機能ブロック図である。
【０１４５】
データ差替出力装置４０の構成は、実施の形態１におけるデータ差替出力装置１０の構成と、入力パケット保持部４０４とモジュール差替部４０２を除いて同様であるので、上記構成要素を除くデータ差替出力装置４０の構成についての説明は、省略し、以下、本実施の形態の入力パケット保持部４０４及びモジュール差替部４０２と実施の形態１の相当する構成要素との相違点が現れる差替出力制御処理の動作を中心に説明する。
【０１４６】
＜動作＞
１．実施の形態４における差替出力制御処理
図１５は、データ差替出力装置４０の行う差替出力制御処理の動作を示すフローチャートである。以下、図１５を参照して、上記動作について説明する。
差替出力制御処理を実行するためのコンピュータプログラムが起動されると、モジュール差替部４０２は、差替後パケット保持部１０３に保持されている差替後モジュールにおける最初のセクションを出力対象セクションとして設定し、差替パケット入力カウントを０に設定する（ステップＳ１５０１）。
【０１４７】
ここで、「差替パケット入力カウント」とは、上記コンピュータプログラム起動後に入力された差替対象パケットの総数と、入力パケット保持部４０４に格納され、出力された差替後パケットの総数との差に相当するカウント値のことをいう。
次にモジュール差替部４０２は、入力データ受信部１００よりＴＳパケットを取得し（ステップＳ１５０２）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケットが差替対象パケットであるか否かを判定する（ステップＳ１５０３）。
【０１４８】
差替対象パケットである場合（ステップＳ１５０３：Ｙ）、モジュール差替部４０２は
差替パケット入力カウントに１を加え（ステップＳ１５０５）、差替パケット入力カウントが、出力対象セクションに含まれる差替後パケット数より小さくないか否かを判定する（ステップＳ１５０６）。
小さくない場合（ステップＳ１５０６：Ｙ）、モジュール差替部４０２は、差替後パケット保持部１０３に保持されている差替後モジュールにおける出力対象セクションに含まれる全ての差替後パケットを読出し、入力パケット保持部４０４にキューとして保持されている差替非対象パケットのデータ列において、先頭のセクションを構成する差替非対象パケットの最終パケットの次に、読出した各差替後パケットを出力対象セクションにおける当該差替後パケットの配列順に挿入する（ステップＳ１５０７）。
【０１４９】
具体的には、モジュール差替部４０２は、入力パケット保持部４０４にキューとして保持されている各差替非対象パケットの列の先頭から順に最終パケットを検索し、最初に検出された最終パケットとその次の先頭パケットとの間、又はその次の先頭パケットが保持されていない場合には、当該最終パケットの次に、読出した各差替後パケットを出力対象セクションにおける当該差替後パケットの配列順に挿入する。
【０１５０】
又、入力パケット保持部４０４にキューとして保持されている差替非対象パケットのデータ列の先頭が先頭パケットである場合、当該データ列の直前に、読出した各差替後パケットを出力対象セクションにおける当該差替後パケットの配列順に入力パケット保持部４０４におけるキューの先頭パケットデータ列として挿入し、入力パケット保持部４０４に差替非対象パケットが何も保持されていない場合においても同様に、読出した各差替後パケットを出力対象セクションにおける当該差替後パケットの配列順に、入力パケット保持部４０４におけるキューの先頭パケットデータ列として挿入する。
【０１５１】
ここで、最終パケットの検索は、例えば、入力パケット保持部４０４にキューとして保持されている各差替非対象パケットの中から、ＰＩＤ以外の識別子（「mid」、「bnum」など）が含まれている差替非対象パケットを検索し、その直前の差替非対象パケットを最終パケットとして検出することにより行うことができる。
次にモジュール差替部４０２は、差替パケット入力カウントから、挿入した出力対象セクションに含まれる差替後パケット数を差し引き、差替後パケット保持部１０３に保持されている差替後モジュールにおける当該出力対象セクションの次のセクションを新たな出力対象セクションとして設定し（ステップＳ１５０８）、入力パケット保持部４０４に保持されている先頭のＴＳパケットを出力し（ステップＳ１５０９）、予め定められた差替終了時刻が到来したか否かを判定する（ステップＳ１５１０）。
【０１５２】
ステップＳ１５１０において、差替終了時刻が到来した場合（ステップＳ１５１０：Ｙ）、モジュール差替部４０２は、差替パケット入力カウントに相当する個数のＮＵｌｌパケットを生成して、入力パケット保持部４０４に保持させ、差替パケット入力カウントを０に設定する（ステップＳ１５１１）。
ステップＳ１５１０において、差替終了時刻が到来していない場合（ステップＳ１５１０：Ｎ）、モジュール差替部４０２は、ステップＳ１５０２の処理に戻る。
【０１５３】
又、ステップＳ１５０３において、取得したＴＳパケットが差替対象パケットでない場合（ステップＳ１５０３：Ｎ）、モジュール差替部４０２は、取得したＴＳパケットを入力パケット保持部４０４に保持させ（ステップＳ１５０４）、ステップＳ１５０６の処理に移行する。
又、ステップＳ１５０６において、差替パケット入力カウントが、出力対象セクションに含まれる差替後パケット数より小さい場合（ステップＳ１５０６：Ｎ）、モジュール差替部４０２は、ステップＳ１５０９の処理に移行する。
【０１５４】
２．実施の形態４における差替出力制御処理の具体例
図１６は、データ差替出力装置４０に入力されたＴＳ（入力ＴＳ７１）の具体例と、当該ＴＳに含まれる差替対象パケットから構成される差替対象モジュールを３個の差替後パケットを含むセクション１つから構成される差替後モジュールに差替えた後に、データ差替出力装置４０から出力されるＴＳ（出力ＴＳ７２）の具体例とを示す。
【０１５５】
図１６の入力ＴＳ７１において、「mid＝０」の各ＴＳパケット１６０１、１６０２、１６０８、１６０９は差替対象パケットを示し、「mid＝１」の各ＴＳパケット１６０３〜１６０７、１６１０〜１６１３は、差替非対象パケットを示し、図１６の出力ＴＳ７２において、「＊」のＴＳパケット１６５１〜１６５４は、直前の差替出力制御処理において、入力パケット保持部４０４に保持されていた差替非対象パケットの先頭パケットから順に出力された差替非対象パケット（直前に差替出力制御処理が行われていない場合には、入力パケット保持部４０４に保持されていたＮｕｌｌパケット）を示し、「mid＝０」の各ＴＳパケット１６５９〜１６６１は、上記差替後パケットを示し、「mid＝１」の各ＴＳパケット１６５５〜１６５８。１６６２、１６６３〜１６６６は、入力ＴＳ７１に含まれていた各差替非対象パケット（「mid＝１」の各ＴＳパケット１６０３〜１６０７、１６１０〜１６１３）を示す。
【０１５６】
以下、図１６に示す具体例を用いて、上記差替出力制御処理の動作について、具体的に説明する。
モジュール差替部４０２は、差替後パケット保持部１０３に保持されている差替後モジュールを構成する上記セクションを出力対象セクションとして設定し、差替パケット入力カウントを０に設定し（ステップＳ１５０１）、入力データ受信部１００より、図１６の入力ＴＳ７１におけるＴＳパケット１６０１を取得し（ステップＳ１５０２）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケット１６０１が差替対象パケットであるか否かを判定する（ステップＳ１５０３）。
【０１５７】
取得したＴＳパケット１６０１は、差替対象パケットであるので、モジュール差替部４０２は、ステップＳ１５０３において、差替対象パケットであると判定し（ステップＳ１５０３：Ｙ）、差替パケット入力カウントに１を加え（ステップＳ１５０５）、差替パケット入力カウントが、出力対象セクションに含まれる差替後パケット数より小さくないか否かを判定する（ステップＳ１５０６）。
【０１５８】
この時点における差替パケット入力カウントは１であり、出力対象セクションに含まれる差替後パケット数は３であるので、モジュール差替部４０２は、ステップＳ１５０５において、差替パケット入力カウントが、出力対象セクションに含まれる差替後パケット数より小さいと判定し（ステップＳ１５０６：Ｎ）、入力パケット保持部４０４に保持されている先頭のＴＳパケット（図１６の出力ＴＳ７２におけるＴＳパケット１６５１）を出力し（ステップＳ１５０９）、予め定められた差替終了時刻が到来したか否かを判定し（ステップＳ１５１０）、到来していないと判定し（ステップＳ１５１０：Ｎ）、ステップＳ１６０２の処理に戻る。
【０１５９】
なお、図１６の具体例においては、差替終了時刻は、図１６の入力ＴＳ７１におけるＴＳパケット１６１３取得直後に到来するものとする。
次に、モジュール差替部４０２は、入力データ受信部１００より、図１６の入力ＴＳ７１におけるＴＳパケット１６０２を取得し（ステップＳ１５０２）、ＴＳパケット１６０１における場合と同様の処理を行い、差替パケット入力カウントを２とし（ステップＳ１５０５）、図１６の出力ＴＳ７２におけるＴＳパケット１６５２を出力し（ステップＳ１５０９）、予め定められた差替終了時刻が到来したか否かを判定し（ステップＳ１５１０）、到来していないと判定し（ステップＳ１５１０：Ｎ）、ステップＳ１６０２の処理に戻る。
【０１６０】
次に、モジュール差替部４０２は、入力データ受信部１００より、図１６の入力ＴＳ７１におけるＴＳパケット１６０３を取得し（ステップＳ１５０２）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケット１６０１が差替対象パケットであるか否かを判定する（ステップＳ１５０３）。
取得したＴＳパケット１６０３は、差替非対象パケットであるので、モジュール差替部４０２は、ステップＳ１５０３において、差替対象パケットでないと判定し（ステップＳ１５０３：Ｎ）、取得したＴＳパケット１６０３を入力パケット保持部４０４に保持させ（ステップＳ１５０４）、ステップＳ１５０６の処理に移行する。
【０１６１】
この時点における差替パケット入力カウントは２であり、出力対象セクションに含まれる差替後パケット数は３であるので、モジュール差替部４０２は、ステップＳ１５０５において、差替パケット入力カウントが、出力対象セクションに含まれる差替後パケット数より小さいと判定し（ステップＳ１５０６：Ｎ）、入力パケット保持部４０４に保持されている先頭のＴＳパケット（図１６の出力ＴＳ７２におけるＴＳパケット１６５３）を出力し（ステップＳ１５０９）、予め定められた差替終了時刻が到来したか否かの判定において（ステップＳ１５１０）、到来していないと判定し（ステップＳ１５１０：Ｎ）、ステップＳ１６０２の処理に戻る。
【０１６２】
次に、モジュール差替部４０２は、入力データ受信部１００より、図１６の入力ＴＳ７１におけるＴＳパケット１６０４〜１６０７を順に取得し（ステップＳ１５０２）、
それぞれ、ＴＳパケット１６０３における場合と同様の処理を行い、差替パケット入力カウントを２に保ったまま、図１６の出力ＴＳ７２におけるＴＳパケット１６５４〜１６５７を順に出力し（ステップＳ１５０９）、予め定められた差替終了時刻が到来したか否かを判定し（ステップＳ１５１０）、到来していないと判定し（ステップＳ１５１０：Ｎ）、ステップＳ１６０２の処理に戻る。
【０１６３】
なお、ステップＳ１５０９において出力されたＴＳパケットのうち、ＴＳパケット１６５５〜１６５７は、先に取得され、入力パケット保持部４０４に保持されていたＴＳパケット１６０３〜１６０５に相当し、この時点において、入力パケット保持部４０４には、先に取得されたＴＳパケット１６０６と１６０７が、この順番に保持されている。
次に、モジュール差替部４０２は、入力データ受信部１００より、図１６の入力ＴＳ７１におけるＴＳパケット１６０８を取得し（ステップＳ１５０２）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケット１６０８が差替対象パケットであるか否かを判定する（ステップＳ１５０３）。
【０１６４】
取得したＴＳパケット１６０８は、差替対象パケットであるので、モジュール差替部４０２は、ステップＳ１５０３において、差替対象パケットであると判定し（ステップＳ１５０３：Ｙ）、差替パケット入力カウントに１を加え（ステップＳ１５０５）、差替パケット入力カウントが、出力対象セクションに含まれる差替後パケット数より小さくないか否かを判定する（ステップＳ１５０６）。
【０１６５】
この時点における差替パケット入力カウントは３であり、出力対象セクションに含まれる差替後パケット数は３であるので、モジュール差替部４０２は、ステップＳ１５０５において、差替パケット入力カウントが、出力対象セクションに含まれる差替後パケット数より小さくないと判定し（ステップＳ１５０６：Ｙ）、ステップＳ１５０７の処理に移行する。
【０１６６】
上述の通り、入力パケット保持部４０４には、ＴＳパケット１６０６とＴＳパケット１６０７が保持されており、ＴＳパケット１６０６は、「mid＝１」のモジュールにおける先頭セクションである「bnum＝０」のセクションに含まれるＴＳパケットの最終パケットであり、ＴＳパケット１６０７は、「mid＝１」のモジュールにおける２番目のセクションである「bnum＝１」のセクションに含まれるＴＳパケットの先頭パケットであるので、入力パケット保持部４０４にキューとして保持されている差替非対象パケットのデータ列の先頭のセクションを構成する差替非対象パケットの最終パケットは、ＴＳパケット１６０６となる。
【０１６７】
従って、モジュール差替部４０２は、差替後パケット保持部１０３に保持されている差替後モジュールを構成する３個の差替後パケットを読出し、入力パケット保持部４０４にキューとして保持されている差替非対象パケットのデータ列において、先頭のセクションを構成する差替非対象パケットの最終パケットであるＴＳパケット１６０６の次に、読出した各差替後パケットを出力対象セクションにおける当該差替後パケットの配列順に挿入し（ステップＳ１５０７）、差替パケット入力カウント３から、挿入した出力対象セクションに含まれる差替後パケット数３を差し引き、差替パケット入力カウントを０とし（ステップＳ１５０８）、入力パケット保持部４０４に保持されている先頭のＴＳパケット１６０６を出力ＴＳ７２におけるＴＳパケット１６５８として出力し（ステップＳ１５０９）、予め定められた差替終了時刻が到来したか否かの判定において（ステップＳ１５１０）、到来していないと判定し（ステップＳ１５１０：Ｎ）、ステップＳ１６０２の処理に戻る。
【０１６８】
次に、モジュール差替部４０２は、入力データ受信部１００より、図１６の入力ＴＳ７１におけるＴＳパケット１６０９を取得し（ステップＳ１５０２）、ＴＳパケット１６０１における場合と同様の処理を行い、差替パケット入力カウントを１とし（ステップＳ１５０５）、入力パケット保持部４０４に保持されている先頭のＴＳパケットである、出力対象セクションにおける最初の差替後パケットを図１６の出力ＴＳ７２におけるＴＳパケット１６５９として出力し（ステップＳ１５０９）、予め定められた差替終了時刻が到来したか否かを判定し（ステップＳ１５１０）、到来していないと判定し（ステップＳ１５１０：Ｎ）、ステップＳ１６０２の処理に戻る。
【０１６９】
次に、モジュール差替部４０２は、入力データ受信部１００より、図１６の入力ＴＳ７１におけるＴＳパケット１６１０〜１６１３を順に取得し（ステップＳ１５０２）、
それぞれ、ＴＳパケット１６０３における場合と同様の処理を行い、差替パケット入力カウントを１に保ったまま、図１６の出力ＴＳ７２におけるＴＳパケット１６６０〜１６６３を順に出力し（ステップＳ１５０９）、予め定められた差替終了時刻が到来したか否かを判定し（ステップＳ１５１０）、到来していないと判定し（ステップＳ１５１０：Ｎ）、ステップＳ１６０２の処理に戻る。
【０１７０】
なお、ＴＳパケット１６１３の取得直後に差替終了時刻が到来するので、モジュール差替部４０２は、ＴＳパケット１６１３の取得後におけるステップＳ１５１０の判定を、差替終了時刻が到来したと判定し（ステップＳ１５１０：Ｙ）、この時点における差替パケット入力カウント１に相当する１個のＮＵｌｌパケットを生成して、入力パケット保持部４０４に保持させ、差替パケット入力カウントを０に設定する（ステップＳ１５１１）。
【０１７１】
なお、ステップＳ１５１１の処理が完了すると、差替出力制御処理は、終了されるため、以降に取得されたＴＳパケットは、入力パケット保持部４０４にキューとして保持された後、ＴＳパケットが取得される毎に、モジュール差替部４０２によって、入力パケット保持部４０４から順番に出力される。
（実施の形態５）
本実施の形態におけるデータ差替出力装置５０は、入力される複数の差替対象モジュールを各差替対象モジュールに対応付けられた差替後モジュールに差替えて出力することを特徴とするデータ差替出力装置である。
【０１７２】
＜構成＞
図２０は、データ差替出力装置５０の構成を示す機能ブロック図である。
データ差替出力装置５０の構成は、実施の形態１におけるデータ差替出力装置１０の構成と、差替後パケット保持部５０３とモジュール差替部５０２を除いて同様であるので、上記構成要素を除くデータ差替出力装置５０の構成についての説明は、省略し、以下、相違点を中心に説明する。
【０１７３】
差替後パケット保持部５０３は、各対応差替後モジュールの「module ID」と、当該対応差替後モジュールにおいて、直前に出力したセクションの「block Number」を示す「出力セクション番号」と、当該対応差替後モジュールの差替超過カウントとの対応関係を示す差替超過カウント対応テーブルと各対応差替後モジュールとを保持している。
ここで、「対応差替後モジュール」とは、外部より入力される複数種類の各差替対象モジュールに対応付けられている差替後モジュールのことをいい、具体的には、対応付けられている差替対象モジュールに付与された「module ID」と同一の「module ID」を付与された差替後モジュールのことをいう。
【０１７４】
又、「差替超過カウント」とは、複数種類の各差替対象モジュールを構成する差替対象パケットの入力個数を、当該差替対象モジュールの対応差替後モジュールを構成する差替後パケット（以下、「対応差替後パケット」という。）の出力個数から差し引いた値のことをいい、対応差替後モジュール毎にモジュール差替部５０２によって算出され、差替超過カウント対応テーブルに記録される。
【０１７５】
次に、本実施の形態のモジュール差替部５０２と実施の形態１のモジュール差替部１０２との相違点が現れるデータ差替出力装置５０の差替出力制御処理の動作について説明する。
＜動作＞
１．実施の形態５における差替出力制御処理
図１７は、データ差替出力装置５０の行う差替出力制御処理の動作を示すフローチャートである。以下、図１７を参照して、上記動作について説明する。
【０１７６】
差替出力制御処理を実行するためのコンピュータプログラムが起動されると、モジュール差替部５０２は、差替後パケット保持部５０３の保持している差替超過カウント対応テーブルにおいて、全ての差替超過カウントを０に設定する（ステップＳ１７０１）。
次にモジュール差替部５０２は、入力データ受信部１００よりＴＳパケットを取得し（ステップＳ１７０２）、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケットが差替対象パケットであるか否かを判定する（ステップＳ１７０３）。
【０１７７】
差替対象パケットでない場合（ステップＳ１７０３：Ｎ）、モジュール差替部５０２は
取得したＴＳパケットを入力パケット保持部１０４にキューとして保持させ（ステップＳ１７０４）、直前に出力したＴＳパケットが当該ＴＳパケットの属するセクションにおける最後のパケットであるか否か、又は直前に出力したＴＳパケットがないか否かの判定をする（ステップＳ１７０５）。
【０１７８】
ステップＳ１７０３において、取得したＴＳパケットが差替対象パケットである場合（ステップＳ１７０３：Ｙ）、モジュール差替部５０２は、ステップＳ１７０５の処理に移行する。
ステップＳ１７０５において、直前に出力したＴＳパケットが当該ＴＳパケットの属するセクションにおける最後のパケットであるか、又は直前に出力したＴＳパケットがない場合（ステップＳ１７０５：Ｙ）、モジュール差替部５０２は、差替元パケット判別部１０１からの判別結果の通知に基づいて、取得したＴＳパケットが差替対象パケットであるか否かを判定する（ステップＳ１７１２）。
【０１７９】
取得したＴＳパケットが差替対象パケットである場合（ステップＳ１７１２：Ｙ）、モジュール差替部５０２は、当該ＴＳパケットの属するセクションの先頭パケットに付与された「module ID」（ここでは、「module ID＝ｉ」とする。）に基づいて、差替超過カウント対応テーブルより、「module ID＝ｉ」の対応差替後モジュール（以下、「対応差替後モジュール（ｉ）」という。）を特定し、当該対応差替後モジュールの差替超過カウント（以下、「差替超過カウント（ｉ）」という。）を、その値から１を引いた値に設定する（ステップＳ１７１３）。
【０１８０】
次に、モジュール差替部５０２は、差替超過カウント対応テーブルを参照して、差替超過カウントが最小（ここでは、差替超過カウント（ｊ）とする。）を示す「module ID＝ｊ」の対応差替後モジュール（以下、「対応差替後モジュール（ｊ）」という。）を特定し（ステップＳ１７１４）、差替超過カウント（ｊ）が０より小さいか否かを判定する（ステップＳ１７１５）。
【０１８１】
ステップＳ１７１５において、差替超過カウント（ｊ）が０より小さい場合（ステップＳ１７１５：Ｙ）、モジュール差替部５０２は、差替超過カウント対応テーブルにおいて、差替超過カウント（ｊ）を、その値に１を加えた値に設定し（ステップＳ１７１６）、さらに、対応差替後モジュール（ｊ）の出力セクション番号を次の「block Number」に設定（次の「block Number」がない場合には、「block Number＝０」に設定）し、差替後パケット保持部５０３から、設定した出力セクション番号のセクションに含まれる先頭の対応差替後パケットを出力し（ステップＳ１７１７）、ステップＳ１７０２の処理に戻る。
【０１８２】
ステップＳ１７１５において、差替超過カウント（ｊ）が０より小さくない場合（ステップＳ１７１５：Ｎ）、モジュール差替部５０２は、入力パケット保持部１０４に保持されている先頭のＴＳパケットを出力し（ステップＳ１７１８）、ステップＳ１７０２の処理に戻る。
ステップＳ１７０５において、直前に出力したＴＳパケットが当該ＴＳパケットの属するセクションにおける最後のパケットでもなく、かつ、直前に出力したＴＳパケットがある場合（ステップＳ１７０５：Ｎ）、モジュール差替部５０２は、当該セクションにおいて直前に出力したＴＳパケットの次のＴＳパケットを出力し（ステップＳ１７０６）、
出力したＴＳパケットが入力パケット保持部１０４に保持されていたか否かにより、出力したＴＳパケットが差替非対象パケットであるか否かを判定する（ステップＳ１７０７）。
【０１８３】
ステップＳ１７０７において、差替非対象パケットである場合（ステップＳ１７０７：Ｙ）、モジュール差替部５０２はさらに、取得したＴＳパケットが差替対象パケットであるか否かを判定する（ステップＳ１７０８）。
ステップＳ１７０８において、取得したＴＳパケットが差替対象パケットである場合（ステップＳ１７０８：Ｙ）、モジュール差替部５０２は、当該ＴＳパケットの属するセクションの先頭パケットに付与された「module ID」（ここでは、「module ID＝ｉ」とする。）に基づいて、差替超過カウント対応テーブルより、「module ID＝ｉ」の対応差替後モジュール（ｉ）を特定し、当該対応差替後モジュールの差替超過カウント（ｉ）を、その値から１を引いた値に設定し（ステップＳ１７０９）、ステップＳ１７０２の処理に戻り、ステップＳ１７０８において、取得したＴＳパケットが差替対象パケット（ｉ）でない場合（ステップＳ１７０８：Ｎ）、ステップＳ１７０２の処理に戻る。
【０１８４】
ステップＳ１７０７において、出力したＴＳパケットが差替対象パケットである場合（ステップＳ１７０７：Ｎ）、モジュール差替部５０２はさらに、取得したＴＳパケットが差替対象パケットであるか否かを判定する（ステップＳ１７１０）。
ステップＳ１７１０において、取得したＴＳパケットが差替対象パケット（ｉ）でない場合（ステップＳ１７１０：Ｎ）、モジュール差替部５０２は、出力したＴＳパケットの属する対応差替後モジュールの「module ID」（ここでは、「module ID＝ｉ」とする。）に基づいて、差替超過カウント対応テーブルより、当該対応差替後モジュールの差替超過カウント（ｉ）を、その値に１を加えた値に設定し（ステップＳ１７１１）、ステップＳ１７０２の処理に戻り、ステップＳ１７１０において、取得したＴＳパケットが差替対象パケット（ｉ）である場合（ステップＳ１７１０：Ｙ）、ステップＳ１７０２の処理に戻る。
【０１８５】
＜補足＞
以上、本発明に係るデータ差替出力装置について、実施の形態に基づいて説明したが、本発明はこれら実施の形態に限られないことは勿論である。
（１）本発明の実施の形態１において説明した差替出力制御処理の具体例においては、差替対象モジュールと差替後モジュールの「module ID」は、同一（「module ID＝０」）であるとしたが、差替対象モジュールと差替後モジュールの「module ID」は同一である必要はなく、異なる「module ID」であってもよい。
【０１８６】
例えば、上記の具体例において差替対象モジュールと差し替える差替後モジュールを、図５に示す「module ID＝０」のモジュールでなく、図７に示す、図５の差替後モジュール５０と同一のデータ構成の、「module ID＝３」の差替後モジュール７０としてもよい。
又、上記の例のように、予め「module ID」の異なる差替後モジュールを用意しておくことなく、差替後パケットを出力する際に、当該差替後パケットの「module ID」を書換えることとしてもよい。なお、この場合、ＣＲＣの値も「module ID」の変更に応じて行うものとする。
【０１８７】
（２）本発明の実施の形態４においては、図１５のデータ差替出力装置４０の行う差替出力制御処理の動作を示すフローチャートのステップ１５０６において、差替パケット入力カウントが、出力対象セクションに含まれる差替後パケット数より小さくないか否かを判定することとしたが、ステップＳ１５０６において、差替パケット入力カウントと比較する数を、出力対象セクションに含まれる差替後パケット数ではなく、それよりも少ないパケット数、例えば、出力対象セクションに含まれる差替後パケット数の半数であってもよいし、１／３であってもよい。
【０１８８】
これにより、差替後パケットの出力までの待ち時間を少なくすることができるので、視聴者は、よりはやく差替後モジュールを取得して、当該差替後モジュールに基づくデータ放送を少ない待ち時間で視聴することができる。
（３）本発明の実施の形態５において、図１７のデータ差替出力装置５０の行う差替出力制御処理の動作を示すフローチャートのステップＳ１７１４及びＳ１７１５において、差替超過カウントが最小で、０未満の対応差替後モジュールを特定して、当該対応差替後モジュールに含まれる対応差替後パケットを出力することとしたが、予め各対応差替後モジュールに優先順位を付与しておき、差替超過カウントが０未満で、優先順位の最も高い対応差替後モジュールを特定して、当該対応差替後モジュールに含まれる対応差替後パケットを出力することとしてもよい。
【０１８９】
例えば、モジュール差替部５０２は、ステップＳ１７１４及びステップＳ１７１５の処理を行う代わりに、ステップＳ１８１４として、差替超過カウントが０未満で、優先順位の最も高い「module ID」の対応差替後モジュールの選択を試みる処理を行い、ステップ１８１５として、選択可否の判定を行い、選択できた場合には（ステップＳ１８１５：Ｙ）、ステップＳ１８１６として選択した「module ID」の対応差替後モジュールの差替超過カウント（ここでは、差替超過カウント（ｊ）とする。）を、その値に１を加えた値に設定する処理を行い、図１７のステップＳ１７１７の処理に移行し、ステップＳ１８１４において、選択できなかった場合には（ステップＳ１８１５：Ｎ）、図１７のステップＳ１７１８の処理に移行することとしてもよい。図２１は、図１７のデータ差替出力装置５０の行う差替出力制御処理の動作の上記変形例１を示すフローチャートである。
【０１９０】
ここで、モジュール差替部５０２は、ステップＳ１８１４において、選択できる対応差替後モジュールが複数ある場合には、「module ID」の小さい方又は大きい方を自動的に選択することとしてもよいし、選択できた各対応差替後モジュールの差替超過カウントを比較し、差替超過カウントの小さい方を選択することとしてもよい。
又、上記において、優先順位は、差替非対象パケットにも付与しておくこととしてもよい。この場合、図２１のステップＳ１８１５において選択できた場合に（ステップＳ１８１５：Ｙ）、モジュール差替部５０２は、さらに、差替非対象パケットに付与された優先順位との比較をする処理を行い、差替非対象パケットの優先順位の方が高い場合に、図１７のステップＳ１７１８の処理を行い、そうでない場合に、ステップＳ１８１６の処理を行うこととすることができる。
【０１９１】
又、上記のように、優先順位を付与するのではなく、各対応差替後モジュールの中の１つを最優先モジュールとして、予め設定しておき、モジュール差替部５０２は、図１７のステップＳ１７１４及びステップＳ１７１５の処理を行う代わりに、ステップＳ２０１５として、最優先モジュールの差替超過カウント（ここでは、差替超過カウント（１）とする。）が０未満か否かを判定する処理を行い、０未満の場合には（ステップＳ２０１５：Ｙ）、ステップＳ２０１６として最優先モジュールの差替超過カウントを、その値に１を加えた値に設定する処理を行い、図１７のステップＳ１７１７の処理に移行し、ステップＳ２０１５において、０未満でない場合には（ステップＳ２０１５：Ｎ）、ステップＳ２０１７、ステップＳ２０１８として、図１７のステップＳ１７１４及びステップＳ１７１５の処理と同様の処理を行うこととしてもよい。図２２は、図１７のデータ差替出力装置５０の行う差替出力制御処理の動作の上記変形例３を示すフローチャートである。
【０１９２】
（４）本発明の実施の形態５において、図１７のデータ差替出力装置５０の行う差替出力制御処理の動作においては、各対応差替後モジュール毎の差替超過カウントを算出して、各対応差替後モジュールに含まれる対応差替後パケットの出力を制御することとしたが、さらに、各対応差替後モジュール毎の差替超過カウントの合計カウント（以下、「差替超過合計カウント」という。）を算出して、上記制御を行うこととしてもよい。
【０１９３】
例えば、図１７のフローチャートにおいて、モジュール差替部５０２は、ステップＳ１７０１の処理に加え、差し替超過合計カウントを０に設定する処理を行い（ステップＳ２１０１）、さらに、ステップＳ１７０９の処理に加え、差替合計カウントを、その値から１を引いた値に設定する処理を行い、さらに、ステップＳ１７１１及びステップＳ１７１６の処理に加え、それぞれ、差替合計カウントを、その値に１を加えた値に設定する処理を行い、さらに、ステップＳ１７１５において、差替超過カウント（ｊ）が０より小さく、かつ、差替超過合計カウントが０より小さいか否かを判定することとし、差替超過カウント（ｊ）が０より小さく、かつ、差替超過合計カウントが０より小さい場合に、図１７のステップＳ１７１７の処理を行うこととしてもよい。
【０１９４】
これにより、過剰に対応差替パケットが出力されるのを抑止し、差替非対象パケットの出力の遅延を少なくすることができる。
（５）本発明の実施の形態１、４、及び５においては、受信した差替非対象パケットを入力パケット保持部１０４又は４０４に保持することとしたが、予め受信した差替非対象パケットをモジュール単位で差替後パケット保持部１０３又は５０３に保持しておき、受信した差替非対象パケットに対応する差替非対象パケットを差替後パケット保持部１０３又は５０３から出力することとしてもよい。
【０１９５】
（６）本発明の実施の形態１〜５においては、データの伝送は、ＭＰＥＧ２の規格に従って行われることとしたが、本発明が適用できるのは、ＭＰＥＧ２の規格に従っている場合に限られないことは勿論である。
【産業上の利用可能性】
【０１９６】
本発明は、外部より送信されるデータを受信し、受信したデータの内容の一部を差替えて、データを出力するデータ差替出力装置におけるデータの差替出力の制御に用いることができる。
【図面の簡単な説明】
【０１９７】
【図１】本発明の実施の形態１におけるデータ差替出力装置１０の構成を示す機能ブロック図である。
【図２】入力データ受信部１００に入力される素材データのＴＳのデータ構成の例を示す。
【図３】ＴＳパケット、セクション及びモジュールの関係を模式的に表した図である。
【図４】データ差替出力装置１０に入力されたＴＳ（入力ＴＳ４１）の具体例と、当該ＴＳに含まれる差替対象パケットを差替後パケットに差替えた後に、データ差替出力装置１０から出力されるＴＳ（出力ＴＳ４２）の具体例とを示す。
【図５】差替後モジュール５０の具体例を示す。図５の例では、「block Number＝１〜９」で示される１０個のセクションから成る差替後モジュールの例を示す。
【図６】データ差替出力装置１０の行う差替出力制御処理の動作を示すフローチャートである。
【図７】図５の差替後モジュール５０と同一のデータ構成の、「module ID＝３」の差替後モジュール７０の例を示す。
【図８】データ差替出力装置２０の構成を示す機能ブロック図である。
【図９】図１０の具体例に示す差替対象パケットによって構成される差替対象モジュール９０を示す。
【図１０】データ差替出力装置２０に入力されたＴＳ（入力ＴＳ５１）の具体例と、当該ＴＳに含まれる差替対象パケットを差替後パケット又はＮｕｌｌパケットに差替えた後に、データ差替出力装置２０から出力されるＴＳ（出力ＴＳ５２）の具体例とを示す。
【図１１】図１０の具体例に示す差替後パケットによって構成される差替後モジュール１１０を示す
【図１２】データ差替出力装置２０の行う差替出力制御処理の動作を示すフローチャートである。
【図１３】データ差替出力装置３０の行う差替出力制御処理の動作を示すフローチャートである。
【図１４】データ差替出力装置３０に入力されたＴＳ（入力ＴＳ６１）の具体例と、当該ＴＳに含まれる差替対象パケットを図１１に示す差替後モジュールを構成する差替後パケット又はＮｕｌｌパケットに差替えた後に、データ差替出力装置３０から出力されるＴＳ（出力ＴＳ６２）の具体例とを示す。
【図１５】データ差替出力装置４０の行う差替出力制御処理の動作を示すフローチャートである。
【図１６】データ差替出力装置４０に入力されたＴＳ（入力ＴＳ７１）の具体例と、当該ＴＳに含まれる差替対象パケットから構成される差替対象モジュールを３個の差替後パケットを含むセクション１つから構成される差替後モジュールに差替えた後に、データ差替出力装置４０から出力されるＴＳ（出力ＴＳ７２）の具体例とを示す。
【図１７】データ差替出力装置５０の行う差替出力制御処理の動作を示すフローチャートである。
【図１８】データ差替出力装置３０の構成を示す機能ブロック図である。
【図１９】データ差替出力装置４０の構成を示す機能ブロック図である。
【図２０】データ差替出力装置５０の構成を示す機能ブロック図である。
【図２１】図１７のデータ差替出力装置５０の行う差替出力制御処理の動作の上記変形例１を示すフローチャートである。
【図２２】図１７のデータ差替出力装置５０の行う差替出力制御処理の動作の上記変形例３を示すフローチャートである。
【符号の説明】
【０１９８】
１０、２０、３０、４０、５０    データ差替出力装置
１００    入力データ受信部
１０１    差替元パケット判別部
１０２、２０２、３０２、４０２，５０２    モジュール差替部
１０３、５０３  差替後パケット保持部
１０４、４０４  入力パケット保持部
２０２１  Ｎｕｌｌパケット生成部
【図１】
0003677026.tif 000002
【図２】
0003677026.tif 000003
【図３】
0003677026.tif 000004
【図４】
0003677026.tif 000005
【図５】
0003677026.tif 000006
【図６】
0003677026.tif 000007
【図７】
0003677026.tif 000008
【図８】
0003677026.tif 000009
【図９】
0003677026.tif 000010
【図１０】
0003677026.tif 000011
【図１１】
0003677026.tif 000012
【図１２】
0003677026.tif 000013
【図１３】
0003677026.tif 000014
【図１４】
0003677026.tif 000015
【図１５】
0003677026.tif 000016
【図１６】
0003677026.tif 000017
【図１７】
0003677026.tif 000018
【図１８】
0003677026.tif 000019
【図１９】
0003677026.tif 000020
【図２０】
0003677026.tif 000021
【図２１】
0003677026.tif 000022
【図２２】
0003677026.tif 000023