(57)【特許請求の範囲】
【請求項１】
エンコード処理された複数のデータで構成される信号を入力し、同時に２つ以上のデータのデコード処理を行う複数デコード装置であって、
データのデコード処理及び再生に関する各種の制御情報を出力する再生制御部と、
前記信号を入力し、前記制御情報で指定された２つ以上のデータを抽出するデータ抽出部と、
前記データ抽出部で抽出されたデータを蓄積するバッファ部と、
前記バッファ部に対する前記制御情報に従って、前記バッファ部を制御するバッファ管理部と、
与えられる転送条件に従って、前記バッファ部に蓄積されたデータを同種のデータにそれぞれ振り分けて転送出力するデータ流制御部と、
前記データ流制御部によって振り分けて転送される各データを、それぞれ蓄積する複数の個別バッファ部と、
前記個別バッファ部の特定に関する情報に従って、複数の前記個別バッファ部をそれぞれ制御する個別バッファ管理部と、
複数の前記個別バッファ部に個々に対応し、前記個別バッファ部に蓄積されたデータをデコード処理して出力する複数のデコード処理部と、
前記制御情報に従って、デコード処理に使用する前記個別バッファ部及び前記デコード処理部を選択し、前記個別バッファ管理部へ当該選択した個別バッファ部の情報を、前記データ流制御部へ当該選択した個別バッファ部に基づく前記転送条件を、当該選択したデコード処理部へデコード処理開始の命令を、それぞれ出力するデコード制御部とを備え、
前記バッファ管理部は、前記バッファ部に蓄積されるデータが満杯状態となりデータの欠落が発生した場合、前記再生制御部へオーバーフロー通知を出力し、
前記再生制御部は、前記オーバーフロー通知を受信すると、前記データ抽出部へデータ抽出の停止命令を出力すると共に、前記デコード制御部へ初期化命令を出力し、
前記デコード制御部は、前記再生制御部から初期化命令を受信すると、前記個別バッファ管理部へ複数の前記個別バッファ部全ての初期化命令を出力し、前記バッファ管理部へ前記バッファ部の初期化命令を出力し、複数の前記デコード処理部の全てへデコード処理の停止命令をそれぞれ出力し、
前記バッファ管理部は、前記デコード制御部からの初期化命令に従って、前記バッファ部を初期化し、
前記個別バッファ管理部は、前記デコード制御部からの初期化命令に従って、複数の前記個別バッファ部の全てを初期化し、
前記バッファ部及び複数の前記個別バッファ部の全てが初期化された後、次のデータ入力処理を行うことで、停止している全ての処理が同時に再開されることを特徴とする複数デコード装置。
【請求項２】
前記個別バッファ管理部は、特定の前記個別バッファ部に蓄積されるデータが満杯状態となる場合、前記デコード制御部へ当該特定の個別バッファ部のオーバーフロー通知を出力し、
前記デコード制御部は、前記特定の個別バッファ部のオーバーフロー通知を受信すると、前記データ流制御部へ当該特定の個別バッファ部へのデータ転送の停止命令を出力し、当該特定の個別バッファ部に対応する前記デコード処理部へデコード処理の停止命令を出力し、前記個別バッファ管理部へ当該特定の個別バッファ部の初期化命令を出力し、
前記個別バッファ管理部は、前記デコード制御部からの初期化命令に従って、前記特定の個別バッファ部を初期化し、
前記特定の個別バッファ部が初期化された後、停止している全ての処理が再開されることを特徴とする、請求項１に記載の複数デコード装置。
【請求項３】
前記個別バッファ管理部は、特定の前記個別バッファ部に蓄積されるデータが満杯状態となる場合、前記デコード制御部へ当該特定の個別バッファ部のオーバーフロー通知を出力し、
前記デコード制御部は、前記特定の個別バッファ部のオーバーフロー通知を受信すると、前記データ流制御部へ当該特定の個別バッファ部向けのデータの破棄命令を出力し、当該特定の個別バッファ部に対応する前記デコード処理部へデコード処理の停止命令を出力し、前記個別バッファ管理部へ当該特定の個別バッファ部の初期化命令を出力し、
前記個別バッファ管理部は、前記デコード制御部からの初期化命令に従って、前記特定の個別バッファ部を初期化し、
前記特定の個別バッファ部が初期化された後、停止している全ての処理が再開され、かつ、前記データの破棄が解除されることを特徴とする、請求項１に記載の複数デコード装置。
【請求項４】
エンコード処理された複数のデータで構成される信号を入力し、同時に２つ以上のデータのデコード処理を行う複数デコード方法であって、
前記信号を入力し、デコード処理及び再生を行う２つ以上のデータを抽出するステップと、
前記抽出されたデータをバッファ部に蓄積するステップと、
前記バッファ部に蓄積されたデータを同種のデータにそれぞれ振り分けて、複数の個別バッファ部に各々蓄積するステップと、
複数の前記個別バッファ部に蓄積されたデータを、それぞれデコード処理して出力するステップとを備え、
前記バッファ部に蓄積されるデータが満杯状態となる場合、
データの抽出及びデコード処理を停止するステップと、
前記バッファ部及び複数の前記個別バッファ部の全てを初期化するステップと、
前記バッファ部及び複数の前記個別バッファ部の全てが初期化された後、停止している全ての処理を再開するステップとをさらに備える、複数デコード方法。
【請求項５】
特定の前記個別バッファ部に蓄積されるデータが満杯状態となる場合、
前記特定の個別バッファ部へのデータ振り分け及び当該特定の個別バッファ部に蓄積されたデータのデコード処理を停止するステップと、
前記特定の個別バッファ部を初期化するステップと、
前記特定の個別バッファ部が初期化された後、停止している全ての処理を再開するステップとをさらに備える、請求項４に記載の複数デコード方法。
【請求項６】
特定の前記個別バッファ部に蓄積されるデータが満杯状態となる場合、
前記特定の個別バッファ部向けのデータを破棄するステップと、
前記特定の個別バッファ部に蓄積されたデータのデコード処理を停止するステップと、
前記特定の個別バッファ部を初期化するステップと、
前記特定の個別バッファ部が初期化された後、停止している全ての処理を再開、かつ、前記データの破棄を解除するステップとをさらに備える、請求項４に記載の複数デコード方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数デコード装置及び方法に関し、より特定的には、エンコード処理された複数のデータで構成される１つのＭＰＥＧトランスポートストリームから、指定された複数のデータをデコード処理して再生する装置及びその方法に関する。
【０００２】
【従来の技術】
近年、衛星、ケーブル及び地上波のテレビ放送がデジタル化され、放送局は複数の映像・音声データを配信することが可能になった。そして、受信機では、この複数の映像・音声データを受信し、いずれかのデータを選択的に映像表示及び音声出力することが可能になった。すなわち、ユーザは、放送局が配信する複数の映像及び音声から、任意の１つを選択して視聴することが可能になった。
【０００３】
このような受信機に用いられる従来のデコード装置を、図７〜図９を参照して説明する。
図７は、従来のデコード装置の構成を示すブロック図である。図８は、ＭＰＥＧトランスポートストリームに、映像・音声やその他のデータ等が多重された具体的な一例を示す図である。図９は、従来のデコード装置が行う処理を説明するフローチャートである。
【０００４】
周知のように、ＭＰＥＧトランスポートストリームは、ＩＳＯ／ＩＥＣ１３８１８−１規格において定義されるデータを送受信する際のデータフォーマットであり、パケットという単位で構成される。送信機側では、複数の映像・音声やその他のデータをパケットのペイロード部にそれぞれ格納した後、このパケットを多重してＭＰＥＧトランスポートストリームを構成し（図８）、受信機側へ送信する。一方、受信機側では、ＭＰＥＧトランスポートストリームを構成する各パケットのヘッダ部を判断して、選択的に映像・音声やその他のデータを取得することが可能となる。
この従来のデコード装置は、複数の映像や音声等がエンコードされたデータを含むＭＰＥＧトランスポートストリームを入力とする。なお、入力されるＭＰＥＧトランスポートストリームの選択方法については、従来の技術を説明する上で必要がないため、また、衛星、ケーブル又は地上波によって異なる変復調制御となるため、ここでの説明は省略する。従って、対応するＭＰＥＧトランスポートストリームがすでに選択された状態を前提に、以下の説明を行う。
【０００５】
図７において、従来のデコード装置は、データ抽出部７０１と、バッファ部７０２と、デコード処理部７０３と、バッファ管理部７０４と、デコード制御部７０５と、再生制御部７０６とを備える。
まず、再生制御部７０６は、デコード制御部７０５にデコード処理の開始を命令する（ステップＳ９０１）。次に、命令を受信したデコード制御部７０５は、デコード処理部７０３にデコード処理の開始を命令する（ステップＳ９０２）と共に、バッファ管理部７０４にバッファ部７０２へのデータ入力開始を命令する（ステップＳ９０３）。次に、再生制御部７０６は、データ抽出部７０１に、入力されるＭＰＥＧトランスポートストリーム（図８）から、所望するヘッダ情報を持つパケット、この例においてはヘッダ部に「ヘッダ１」を持つパケットを抽出するよう命令する（ステップＳ９０４）。
【０００６】
データ抽出部７０１に抽出命令が発行されると、外部からデータ抽出部７０１へＭＰＥＧトランスポートストリームの入力が開始される（ステップＳ９０５）。データ抽出部７０１は、ＭＰＥＧトランスポートストリームから指定された「ヘッダ１」を持つパケットを順次抽出し、パケット内のペイロード部に格納されているデータをバッファ部７０２に蓄積する（ステップＳ９０６）。デコード処理部７０３は、バッファ部７０２に蓄積されたデータを取得し、順次デコード処理を実行する（ステップＳ９０７）。そして、デコード処理部７０３は、デコード処理したデータが出力可能な所定単位分揃ったか否かを確認する（ステップＳ９０８）。ここで、出力可能な所定単位とは、例えば映像データの場合にはフレームとなる。ステップＳ９０８の確認において、デコード処理部７０３は、データが所定単位分揃わない場合、後続データのデコード処理（ステップＳ９０５〜Ｓ９０７）を継続してデータを待ち、データが所定単位分揃った場合は、デコード処理後のデータをこの所定単位で出力する（ステップＳ９０９）。
【０００７】
【発明が解決しようとする課題】
しかしながら、上述した従来のデコード装置では、１つのＭＰＥＧトランスポートストリームの中に存在する映像・音声等のエンコード処理されたデータのうち、常に１つのデータしかデコード処理して再生できないという問題がある。
また、従来のデコード装置では、放送局からの放送時点又は伝送路中に発生した何らかのエラーに対して、十分な対応方法が存在していないという問題があった。
【０００８】
それ故に、本発明の目的は、エンコード処理された複数のデータを同時にデコード処理することができ、また、あるデコード処理においてエラーが発生した場合にはそのデコード処理をリカバリすることが可能な複数デコード装置及び方法を提供することである。
【０００９】
【課題を解決するための手段および発明の効果】
第１の発明は、エンコード処理された複数のデータで構成される信号を入力し、同時に２つ以上のデータのデコード処理を行う複数デコード装置であって、
データのデコード処理及び再生に関する各種の制御情報を出力する再生制御部と、
信号を入力し、制御情報で指定された２つ以上のデータを抽出するデータ抽出部と、
データ抽出部で抽出されたデータを蓄積するバッファ部と、
バッファ部に対する制御情報に従って、バッファ部を制御するバッファ管理部と、
与えられる転送条件に従って、バッファ部に蓄積されたデータを同種のデータにそれぞれ振り分けて転送出力するデータ流制御部と、
データ流制御部によって振り分けて転送される各データを、それぞれ蓄積する複数の個別バッファ部と、
個別バッファ部の特定に関する情報に従って、複数の個別バッファ部をそれぞれ制御する個別バッファ管理部と、
複数の個別バッファ部に個々に対応し、個別バッファ部に蓄積されたデータをデコード処理して出力する複数のデコード処理部と、
制御情報に従って、デコード処理に使用する個別バッファ部及びデコード処理部を選択し、個別バッファ管理部へ当該選択した個別バッファ部の情報を、データ流制御部へ当該選択した個別バッファ部に基づく転送条件を、当該選択したデコード処理部へデコード処理開始の命令を、それぞれ出力するデコード制御部とを備え、
バッファ管理部は、バッファ部に蓄積されるデータが満杯状態となる場合、再生制御部へオーバーフロー通知を出力し、
再生制御部は、オーバーフロー通知を受信すると、データ抽出部へデータ抽出の停止命令を出力すると共に、デコード制御部へ初期化命令を出力し、
デコード制御部は、再生制御部から初期化命令を受信すると、個別バッファ管理部へ複数の個別バッファ部全ての初期化命令を出力し、バッファ管理部へバッファ部の初期化命令を出力し、複数のデコード処理部の全てへデコード処理の停止命令をそれぞれ出力し、
バッファ管理部は、デコード制御部からの初期化命令に従って、バッファ部を初期化し、
個別バッファ管理部は、デコード制御部からの初期化命令に従って、複数の個別バッファ部の全てを初期化し、
バッファ部及び複数の個別バッファ部の全てが初期化された後、停止している全ての処理が再開されることを特徴とする。
【００１０】
上記のように、第１の発明によれば、エンコード処理された複数のデータで構成される単一の信号、例えば１つのＭＰＥＧトランスポートストリームが入力される場合でも、その複数のデータの中から所望する複数のデータを同時にデコード処理することができる。また、何らかのエラー発生によってバッファ部がオーバーフローする場合であっても、エラー発生によって不具合が起こるデコード処理のリカバリを実現することができる。
【００１３】
第２の発明は、第１の発明に従属する発明であって、
個別バッファ管理部は、特定の個別バッファ部に蓄積されるデータが満杯状態となる場合、デコード制御部へ当該特定の個別バッファ部のオーバーフロー通知を出力し、
デコード制御部は、特定の個別バッファ部のオーバーフロー通知を受信すると、データ流制御部へ当該特定の個別バッファ部へのデータ転送の停止命令を出力し、当該特定の個別バッファ部に対応するデコード処理部へデコード処理の停止命令を出力し、個別バッファ管理部へ当該特定の個別バッファ部の初期化命令を出力し、
個別バッファ管理部は、デコード制御部からの初期化命令に従って、特定の個別バッファ部を初期化し、
特定の個別バッファ部が初期化された後、停止している全ての処理が再開されることを特徴とする。
【００１４】
第３の発明は、第１の発明に従属する発明であって、
個別バッファ管理部は、特定の個別バッファ部に蓄積されるデータが満杯状態となる場合、デコード制御部へ当該特定の個別バッファ部のオーバーフロー通知を出力し、
デコード制御部は、特定の個別バッファ部のオーバーフロー通知を受信すると、データ流制御部へ当該特定の個別バッファ部向けのデータの破棄命令を出力し、当該特定の個別バッファ部に対応するデコード処理部へデコード処理の停止命令を出力し、個別バッファ管理部へ当該特定の個別バッファ部の初期化命令を出力し、
個別バッファ管理部は、デコード制御部からの初期化命令に従って、特定の個別バッファ部を初期化し、
特定の個別バッファ部が初期化された後、停止している全ての処理が再開され、かつ、データの破棄が解除されることを特徴とする。
【００１５】
上記のように、第２及び第３の発明によれば、何らかのエラー発生により１つ又は２つ以上の個別バッファ部がオーバーフローする場合であっても、エラー発生によって不具合が起こるデコード処理のリカバリを実現することができる。
【００１６】
第４の発明は、エンコード処理された複数のデータで構成される信号を入力し、同時に２つ以上のデータのデコード処理を行う複数デコード方法であって、
信号を入力し、デコード処理及び再生を行う２つ以上のデータを抽出するステップと、
抽出されたデータをバッファ部に蓄積するステップと、
バッファ部に蓄積されたデータを同種のデータにそれぞれ振り分けて、複数の個別バッファ部に各々蓄積するステップと、
複数の個別バッファ部に蓄積されたデータを、それぞれデコード処理して出力するステップとを備え、
バッファ部に蓄積されるデータが満杯状態となる場合、
データの抽出及びデコード処理を停止するステップと、
バッファ部及び複数の個別バッファ部の全てを初期化するステップと、
バッファ部及び複数の個別バッファ部の全てが初期化された後、停止している全ての処理を再開するステップとをさらに備える。
【００１７】
上記のように、第４の発明によれば、エンコード処理された複数のデータで構成される単一の信号が入力される場合でも、その複数のデータの中から所望する複数のデータを同時にデコード処理することができる。また、何らかのエラー発生によってバッファ部がオーバーフローする場合であっても、エラー発生によって不具合が起こるデコード処理のリカバリを実現することができる。
【００２０】
第５の発明は、第４の発明に従属する発明であって、
特定の個別バッファ部に蓄積されるデータが満杯状態となる場合、
特定の個別バッファ部へのデータ振り分け及び当該特定の個別バッファ部に蓄積されたデータのデコード処理を停止するステップと、
特定の個別バッファ部を初期化するステップと、
特定の個別バッファ部が初期化された後、停止している全ての処理を再開するステップとをさらに備える。
【００２１】
第６の発明は、第４の発明に従属する発明であって、
特定の個別バッファ部に蓄積されるデータが満杯状態となる場合、
特定の個別バッファ部向けのデータを破棄するステップと、
特定の個別バッファ部に蓄積されたデータのデコード処理を停止するステップと、
特定の個別バッファ部を初期化するステップと、
特定の個別バッファ部が初期化された後、停止している全ての処理を再開、かつ、データの破棄を解除するステップとをさらに備える。
【００２２】
上記のように、第５及び第６の発明によれば、何らかのエラー発生により１つ又は２つ以上の個別バッファ部がオーバーフローする場合であっても、エラー発生によって不具合が起こるデコード処理のリカバリを実現することができる。
【００２３】
【発明の実施の形態】
以下、図面を参照して、本発明が提供する複数デコード装置を説明する。
図１は、本発明の一実施形態に係る複数デコード装置の構成を示すブロック図である。図２〜図６は、本実施形態に係る複数デコード装置が行う複数デコード方法の処理手順を説明するフローチャートである。
まず、本実施形態に係る複数デコード装置の各構成の概要を説明する。
【００２４】
図１において、本実施形態に係る複数デコード装置は、データ抽出部１１０と、バッファ部１２０と、データ流制御部１３０と、ｎ個（ｎは任意の整数）の個別バッファ部１４１〜１４ｎと、ｎ個のデコード処理部１５１〜１５ｎと、バッファ管理部１６０と、個別バッファ管理部１７０と、デコード制御部１８０と、再生制御部１９０とを備える。
【００２５】
データ抽出部１１０は、入力されるデータから設定された条件と一致したデータを出力する。バッファ部１２０は、データ抽出部１１０で抽出されたデータを一旦蓄積する。データ流制御部１３０は、設定された各条件に従い、バッファ部１２０から入力されるデータを個別バッファ部１４１〜１４ｎへそれぞれ転送する。個別バッファ部１４１〜１４ｎは、デコード処理部１５１〜１５ｎ毎に用意され、データ流制御部１３０から転送されるデータを蓄積する。デコード処理部１５１〜１５ｎは、個別バッファ部１４１〜１４ｎに蓄積されたデータのデコード処理をそれぞれ実行する。バッファ管理部１６０は、バッファ部１２０を管理する。個別バッファ管理部１７０は、個別バッファ部１４１〜１４ｎをそれぞれ管理する。デコード制御部１８０は、デコード処理部１５１〜１５ｎで行われるデコード処理をそれぞれ制御する。再生制御部１９０は、データ抽出部１１０に入力されるデータから、デコード処理するデータを選択し再生を行うための命令を制御する。
【００２６】
次に、図２〜図６を用いて、本実施形態に係る複数デコード装置が行う複数デコード方法を説明する。
なお、ここでは、ヘッダ部に「ヘッダ１」、「ヘッダ２」及び「ヘッダ３」を持つ３つのパケットに格納されているデータを、それぞれ再生する場合を一例に挙げて説明する。すなわち、図２においてｍ＝３とした場合である。
【００２７】
この場合、再生制御部１９０は、上記３つのパケットに格納されているデータを再生するため、デコード制御部１８０へデコード処理開始命令を出力する（ステップＳ２０１）。この命令を受けたデコード制御部１８０は、デコード処理部１５１〜１５ｎの中からその時に使用されていない任意の３つを選択する。この例では、デコード処理部１５１〜１５３が選択されたものとする（ステップＳ２０２、Ｓ２０３）。なお、すでに他のデコード処理に使用されているため必要な数だけデコード処理部が選択できない場合には、必要な数のデコード処理部が選択できるまで処理を待機させておいてもよいし、選択できた数だけデコード処理を先に進めてもよい。
【００２８】
デコード制御部１８０は、選択した３つのデコード処理部１５１〜１５３にデコード処理開始をそれぞれ命令する（ステップＳ２０４）。さらに、デコード制御部１８０は、選択したデコード処理部１５１〜１５３に接続されている個別バッファ部１４１〜１４３にデータ入力開始命令を出させるために、個別バッファ管理部１７０へその旨の命令を出力する（ステップＳ２０５）。
次に、デコード制御部１８０は、「ヘッダ１」のパケットに格納されているデータを個別バッファ部１４１へ、「ヘッダ２」のパケットに格納されているデータを個別バッファ部１４２へ、「ヘッダ３」のパケットに格納されているデータを個別バッファ部１４３へデータ転送させるための条件を、データ流制御部１３０へ設定する（ステップＳ２０６）。データ流制御部１３０は、デコード制御部１８０によって設定された条件に基づいて、バッファ部に１２０に蓄積されたデータの各個別バッファ部１４１〜１４３への転送を開始する（ステップＳ２０７）。デコード制御部１８０は、続いてバッファ管理部１６０にバッファ部１２０へのデータ入力開始を命令する（ステップＳ２０８）。その後、再生制御部１９０は、データ抽出部１１０に、ヘッダ部に「ヘッダ１」、「ヘッダ２」及び「ヘッダ３」を持つパケットを抽出するように命令する（ステップＳ２０９）。これにより、外部からデータ抽出部１１０へＭＰＥＧトランスポートストリームの入力が開始される（ステップＳ２１０）。
【００２９】
ここで、バッファ管理部１６０は、データ抽出部１１０が、再生制御部１９０から受ける命令に従って、ＭＰＥＧトランスポートストリームから指定されたパケットを順次抽出し、パケット内のペイロード部に格納されているデータをバッファ部１２０に蓄積させた場合、バッファ部１２０がオーバーフローするか否かをチェックする（ステップＳ３０１）。このバッファ部１２０のオーバーフローの有無によって、以下のように行われるデコード処理が異なる。
【００３０】
まず、バッファ部１２０がオーバーフローしない場合（ステップＳ３０２，Ｎｏ）、データ抽出部１１０は、抽出したデータをバッファ部１２０に蓄積させる（ステップＳ３０３）。続いて、データ流制御部１３０は、バッファ部１２０から蓄積されたデータを順次読み出し、設定された条件に従って転送先の個別バッファ部１４ｉ（この例では、ｉ＝１〜３）をそれぞれ特定する（ステップＳ３０５）。例えば、読み出されたデータが「ヘッダ１」のデータである場合、データの転送先である個別バッファ部１４１が特定される。
【００３１】
一方、バッファ部１２０がオーバーフローする場合（ステップＳ３０２，Ｙｅｓ）、バッファ管理部１６０は、バッファ部１２０がオーバーフローすることを再生制御部１９０へ通知する（ステップＳ４０１）。通知を受けた再生制御部１９０は、データ抽出部１１０にデータ抽出を停止するよう命令し（ステップＳ４０２）、続いてデコード制御部１８０に全てのデコード処理を停止するよう命令する（ステップＳ４０３）。そして、デコード制御部１８０は、データ流制御部１３０に個別バッファ部１４１〜１４ｎへの全てのデータ転送を停止するよう命令（ステップＳ４０４）し、バッファ管理部１６０にバッファ部１２０を初期化するよう命令する（ステップＳ４０５）。命令を受けたデコード制御部１８０は、全てのデコード処理部１５１〜１５ｎのデコード処理を停止させるよう命令し（ステップＳ４０６）、続いて個別バッファ管理部１７０に全ての個別バッファ部１４１〜１４ｎを初期化するよう命令する（ステップＳ４０７）。
この処理によって、複数デコード装置が全て初期化されると、再生制御部１９０からデコード処理開始命令が出力されてから（ステップＳ２０１）、個別バッファ部１４ｉが特定される（ステップＳ３０５）までが再度行われる。
【００３２】
次に、個別バッファ管理部１７０は、データ流制御部１３０が、バッファ部１２０から読み出したデータを特定した個別バッファ部１４ｉに蓄積させた場合、当該個別バッファ部１４ｉがオーバーフローするか否かをチェックする（ステップＳ３０６）。この個別バッファ部１４ｉのオーバーフローの有無によっても、以下のようにデコード処理が異なる。
【００３３】
まず、個別バッファ部１４ｉがオーバーフローしない場合（ステップＳ３０７，Ｎｏ）、データ流制御部１３０は、読み出したデータを個別バッファ部１４ｉに蓄積する（ステップＳ３０８）。デコード処理部１５ｉは、個別バッファ部１４ｉにデータが蓄積されると、そのデータのデコード処理を実行する（ステップＳ３０９）。ここで、デコード処理部１５ｉは、出力可能な所定単位分のデータが揃ったか否かをチェックする（ステップＳ３１０）。そして、デコード処理部１５ｉは、データが揃わない場合は、後続のデータが到着するまで待機状態になり、データが揃った場合は、デコード処理したデータを所定単位で出力する（ステップＳ３１１）。
なお、ここでは、デコード処理されたデータが出力可能な所定単位になるまで出力されない場合を説明しているが、デコード処理されたデータをそのまま出力するようにしてもよい。
【００３４】
一方、個別バッファ部１４ｉがオーバーフローする場合（ステップＳ３０７，Ｙｅｓ）には、複数デコード装置が取り得る処理として、次の２通りの方法が考えられる。
【００３５】
（処理その１）
個別バッファ管理部１７０は、個別バッファ部１４ｉがオーバーフローすることをデコード制御部１８０に通知する（ステップＳ５０１）。通知を受けたデコード制御部１８０は、データ流制御部１３０に、バッファ部１２０から個別バッファ部１４ｉへのデータ転送を停止させるよう命令する（ステップＳ５０２）。この停止中は、バッファ部１２０にデータ抽出部１１０から出力されるデータが蓄積されて行くことになる。
【００３６】
ここで、データ流制御部１３０のデータ転送停止から再開までの間、バッファ部１２０にデータが蓄積され続けることになるため、バッファ部１２０のサイズＳ１（ｂｉｔ）  を下記の関係式を満たすように決定しておく必要がある。
Ｓ１＞Ｓ２＋ＲＡＴＥ＊Ｔ
なお、バッファ部１２０がデータ抽出部１１０から受信するデータの転送速度をＲＡＴＥ（ｂｉｔ／ｓｅｃ）  と、データ流制御部１３０がデータを転送した瞬間にバッファ部１２０に蓄積されているデータのサイズをＳ２（ｂｉｔ）  と、データ流制御部１３０のデータ転送停止から再開までの時間をＴ（ｓｅｃ）  とする。
【００３７】
次に、デコード制御部１８０は、デコード処理部１５ｉにデコード処理の停止を命令し（ステップＳ５０４）、さらに個別バッファ管理部１７０に個別バッファ部１４ｉを初期化するよう命令する（ステップＳ５０５）。命令を受けた個別バッファ管理部１７０は、個別バッファ部１４ｉを初期化する（ステップＳ５０６）。この初期化後、デコード制御部１８０は、デコード処理部１５ｉにデコード処理の開始を再度命令する（ステップＳ５０７）と共に、個別バッファ管理部１７０に個別バッファ部１４ｉへのデータ入力開始を命令する（ステップＳ５０８）。そして、デコード制御部１８０は、データ流制御部１３０にデータ転送再開を命令する（ステップＳ５０９）ことで、バッファ部１２０から個別バッファ部１４ｉへのデータ転送が再開される。
その後、ステップＳ２１０以降の処理が繰り返し行われる。
【００３８】
（処理その２）
個別バッファ管理部１７０は、個別バッファ部１４ｉがオーバーフローすることをデコード制御部１８０に通知する（ステップＳ６０１）。通知を受けたデコード制御部１８０は、データ流制御部１３０に、バッファ部１２０から読み出した個別バッファ１４ｉへのデータを破棄するよう命令する（ステップＳ６０２）。この命令を受けたデータ流制御部１３０は、該当するデータを破棄する（ステップＳ６０３）。
次に、デコード制御部１８０は、デコード処理部１５ｉにデコード処理を停止するよう命令し（ステップＳ６０４）、個別バッファ管理部１７０に個別バッファ部１４ｉの初期化を命令する（ステップＳ６０５）。命令を受けた個別バッファ管理部１７０は、個別バッファ部１４ｉを初期化する（ステップＳ６０６）。この初期化後、デコード制御部１８０は、デコード処理部１５ｉにデコード処理の再開を命令する（ステップＳ６０７）と共に、個別バッファ管理部１７０にバッファ部１２０から個別バッファ部１４ｉへのデータ入力を再開するよう命令する（ステップＳ６０８）。続いて、デコード制御部１８０は、データ流制御部１３０に、対応するデータの個別バッファ部１４ｉへのデータ転送再開の命令を出力する（ステップＳ６０９）。
その後、ステップＳ２１０以降の処理が繰り返し行われる。
【００３９】
なお、この（処理その２）の説明では、データ流制御部１３０においてデータが破棄された後、オーバーフローしている個別バッファ部１４ｉの復旧を行った上で次のデータ入力処理に移るようにしているが、該当データが破棄された後、オーバーフローの復帰処理と非同期に次のデータ入力処理を行ってもよい。
【００４０】
以上のように、本発明の一実施形態に係る複数デコード装置及び方法によれば、エンコード処理された複数のデータを同時にデコード処理することができる。さらに、何らかのエラー発生によりバッファ部１２０又は個別バッファ部１４１〜１４ｎがオーバーフローする場合であっても、エラー発生によって不具合が起こるデコード処理のリカバリを実現することができる。
【００４１】
なお、上記実施形態では、入力される信号がＭＰＥＧトランスポートストリームである場合を一例に挙げて説明しているが、入力される信号はこれに限定されるものではない。複数のデータを識別するための識別情報を持ち、かつ複数のデータが混合されている形態（周波数分割多重や時分割多重等）であれば、他の信号であってもかまわない。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る複数デコード装置の構成を示すブロック図である。
【図２】本発明の一実施形態に係る複数デコード装置が行う処理手順を示すフローチャートである。
【図３】本発明の一実施形態に係る複数デコード装置が行う処理手順を示すフローチャートである。
【図４】バッファ部１２０でオーバーフローが生じた場合の処理手順を示すフローチャートである。
【図５】個別バッファ部１４ｉでオーバーフローが生じた場合の処理手順を示すフローチャートである。
【図６】個別バッファ部１４ｉでオーバーフローが生じた場合の他の処理手順を示すフローチャートである。
【図７】従来のデコード装置の構成を示すブロック図である。
【図８】ＭＰＥＧトランスポートストリームを説明する図である。
【図９】従来のデコード装置が行う処理手順を示すフローチャートである。
【符号の説明】
１１０，７０１…データ抽出部
１２０，７０２…バッファ部
１３０…データ流制御部
１４１〜１４ｎ…個別バッファ部
１５１〜１５ｎ，７０３…デコード処理部
１６０，７０４…バッファ管理部
１７０…個別バッファ管理部
１８０，７０５…デコード制御部
１９０，７０６…再生制御部
【図１】
0003625434.tif 000002
【図２】
0003625434.tif 000003
【図３】
0003625434.tif 000004
【図４】
0003625434.tif 000005
【図５】
0003625434.tif 000006
【図６】
0003625434.tif 000007
【図７】
0003625434.tif 000008
【図８】
0003625434.tif 000009
【図９】
0003625434.tif 000010