(57)【要約】【課題】システムの負荷を軽減することができるようにする。【解決手段】ビデオヘッダ解析部３０２は、ＲＴＰ受信部３０１より受信されたパケットヘッダを解析し、ピクチャ情報を取得する。ビデオリアセンブラ３０３は、パケットデータおよびパケットヘッダを組み合わせ、ピクチャデータを生成し、ピクチャ情報を付加し、ピクチャデータキュー３０４に格納する。ビデオデコーダ３０５は、格納されたピクチャデータを取得し、デコードする。シーク制御部３０７がユーザのシーク要求を受けると、ビデオリアセンブラ３０３およびビデオデコーダ３０５は、それぞれ、ピクチャデータのタイムスタンプまたはピクチャ情報に基づいて、ピクチャの組み立ておよびデコードを制御する。本発明は、ネットワークを介して、ストリーミングコンテンツを提供するシステムに適用することができる。【選択図】      図７
2004173091.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報処理装置からネットワークを介して、パケットを単位としたプロトコルでデータを第２の情報処理装置に送信する情報処理システムにおいて、
前記第１の情報処理装置は、前記データをエンコードするときに生成される情報を、前記データの前記パケットに付加して、前記ネットワークを介して、前記第２の情報処理装置に送信し、
前記第２の情報処理装置は、前記第１の情報処理装置より送信された前記データを受信し、受信された前記データから、前記データをエンコードするときに生成される情報を取得し、前記データをエンコードするときに生成される情報に基づいて、前記データの前記パケットを組み立て、前記データをエンコードするときに生成される情報に基づいて、組み立てられた前記データをデコードし、デコードされた前記データを出力する
ことを特徴とする情報処理システム。
【請求項２】
第１の情報処理装置からネットワークを介して、パケットを単位としたプロトコルでデータを第２の情報処理装置に送信する情報処理システムの情報処理方法において、
前記第１の情報処理装置は、前記データをエンコードするときに生成される情報を、前記データの前記パケットに付加して、前記ネットワークを介して、前記第２の情報処理装置に送信し、
前記第２の情報処理装置は、前記第１の情報処理装置より送信された前記データを受信し、受信された前記データから、前記データをエンコードするときに生成される情報を取得し、前記データをエンコードするときに生成される情報に基づいて、前記データの前記パケットを組み立て、前記データをエンコードするときに生成される情報に基づいて、組み立てられた前記データをデコードし、デコードされた前記データを出力する
ことを特徴とする情報処理方法。
【請求項３】
第１の情報処理装置からネットワークを介して、パケットを単位としたプロトコルでデータを第２の情報処理装置に送信する情報処理システムにおいて、
前記第１の情報処理装置は、前記データをエンコードするときに生成される情報を、前記データの前記パケットに付加して、前記ネットワークを介して、前記第２の情報処理装置に送信し、
前記第２の情報処理装置は、前記第１の情報処理装置より送信された前記データを受信し、受信された前記データから、前記データをエンコードするときに生成される情報を取得し、受信された前記データの前記パケットを組み立て、組み立てられた前記データを格納するメモリに、前記データがしきい値以上格納されている場合、取得された前記データをエンコードするときに生成される情報に基づいて、前記メモリに格納されている前記データを破棄し、前記メモリに格納されている前記データを読み出してデコードし、デコードされた前記データを出力する
ことを特徴とする情報処理システム。
【請求項４】
第１の情報処理装置からネットワークを介して、パケットを単位としたプロトコルでデータを第２の情報処理装置に送信する情報処理システムの情報処理方法において、
前記第１の情報処理装置は、前記データをエンコードするときに生成される情報を、前記データの前記パケットに付加して、前記ネットワークを介して、前記第２の情報処理装置に送信し、
前記第２の情報処理装置は、前記第１の情報処理装置より送信された前記データを受信し、受信された前記データから、前記データをエンコードするときに生成される情報を取得し、受信された前記データの前記パケットを組み立て、組み立てられた前記データを格納するメモリに、前記データがしきい値以上格納されている場合、取得された前記データをエンコードするときに生成される情報に基づいて、前記メモリに格納されている前記データを破棄し、前記メモリに格納されている前記データを読み出してデコードし、デコードされた前記データを出力する
ことを特徴とする情報処理方法。
【請求項５】
ネットワークを介して他の情報処理装置に、パケットを単位としたプロトコルでデータを送信する情報処理装置において、
前記データをエンコードするときに情報を生成する生成手段と、
前記生成手段により前記データをエンコードするときに生成される情報を、前記データの前記パケットに付加して、前記ネットワークを介して、前記他の情報処理装置に送信する送信手段と
を備えることを特徴とする情報処理装置。
【請求項６】
前記パケットを単位としたプロトコルは、ＲＴＰである
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記データは、ＭＰＥＧ１、ＭＰＥＧ２、またはＭＰＥＧ４でエンコードされ、
前記データをエンコードするときに生成される情報は、前記データのＩピクチャ、ＢピクチャおよびＰピクチャのいずれかであるかを表すピクチャ情報である
ことを特徴とする請求項５に記載の情報処理装置。
【請求項８】
前記データは、ＡＴＲＡＣ３、ＭＰ３、またはＬＰＣＭでエンコードされ、
前記データをエンコードするときに生成される情報は、無音情報である
ことを特徴とする請求項５に記載の情報処理装置。
【請求項９】
ネットワークを介して他の情報処理装置に、パケットを単位としたプロトコルでデータを送信する情報処理装置の情報処理方法において、
前記データをエンコードするときに情報を生成し、
前記データをエンコードするときに生成される情報を、前記データの前記パケットに付加して、前記ネットワークを介して、前記他の情報処理装置に送信する
ことを特徴とする情報処理方法。
【請求項１０】
ネットワークを介して他の情報処理装置に、パケットを単位としたプロトコルでデータを送信するプログラムにおいて、
前記データをエンコードするときに情報を生成し、
前記データをエンコードするときに生成される情報を、前記データの前記パケットに付加して、前記ネットワークを介して、前記他の情報処理装置に送信する
ことを特徴とするプログラム。
【請求項１１】
ネットワークを介して他の情報処理装置から、パケットを単位としたプロトコルでデータを受信する情報処理装置において、
前記他の情報処理装置より送信された前記データを受信する受信手段と、
前記受信手段により受信された前記データから、前記データをエンコードするときに生成される情報を取得する取得手段と、
前記取得手段により取得された前記データをエンコードするときに生成される情報に基づいて、前記データの前記パケットを組み立てる組み立て手段と、
前記取得手段により取得された前記データをエンコードするときに生成される情報に基づいて、前記組み立て手段により組み立てられた前記データをデコードするデコード手段と、
前記デコード手段によりデコードされた前記データを出力する出力手段と
を備えることを特徴とする情報処理装置。
【請求項１２】
前記パケットを単位としたプロトコルは、ＲＴＰである
ことを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記データは、ＭＰＥＧ１、ＭＰＥＧ２、またはＭＰＥＧ４でエンコードされ、
前記データをエンコードするときに生成される情報は、前記データのＩピクチャ、ＢピクチャまたはＰピクチャのいずれかであるかを表すピクチャ情報である
ことを特徴とする請求項１１に記載の情報処理装置。
【請求項１４】
前記データの前記ピクチャ情報がＩピクチャであるか否かを判断する判断手段をさらに備え、
前記組み立て手段は、前記判断手段により前記データの前記ピクチャ情報がＩピクチャであると判断されるまでの他の前記データの前記パケットの組み立てを禁止する
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記データの前記ピクチャ情報がＩピクチャであるか否かを判断する判断手段をさらに備え、
前記デコード手段は、前記判断手段により前記ピクチャ情報がＩピクチャであると判断されるまでの他の前記データのデコードを禁止する
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項１６】
ネットワークを介して他の情報処理装置から、パケットを単位としたプロトコルでデータを受信する情報処理装置の情報処理方法において、
前記他の情報処理装置より送信された前記データを受信し、
受信された前記データから、前記データをエンコードするときに生成される情報を取得し、
取得された前記データをエンコードするときに生成される情報に基づいて、前記データの前記パケットを組み立て、
取得された前記データをエンコードするときに生成される情報に基づいて、組み立てられた前記データをデコードし、
デコードされた前記データを出力する
ことを特徴とする情報処理方法。
【請求項１７】
ネットワークを介して他の情報処理装置から、パケットを単位としたプロトコルでデータを受信する情報処理装置のプログラムにおいて、
前記他の情報処理装置より送信された前記データを受信し、
受信された前記データから、前記データをエンコードするときに生成される情報を取得し、
取得された前記データをエンコードするときに生成される情報に基づいて、前記データの前記パケットを組み立て、
取得された前記データをエンコードするときに生成される情報に基づいて、組み立てられた前記データをデコードし、
デコードされた前記データを出力する
ことを特徴とするプログラム。
【請求項１８】
ネットワークを介して他の情報処理装置から、パケットを単位としたプロトコルでデータを受信する情報処理装置において、
前記他の情報処理装置より送信された前記データを受信する受信手段と、
前記受信手段により受信された前記データから、前記データをエンコードするときに生成される情報を取得する取得手段と、
前記受信手段により受信された前記データの前記パケットを組み立てる組み立て手段と、
前記組み立て手段により組み立てられた前記データを格納するメモリに、前記データが第１のしきい値以上格納されているか否かを判断する第１の判断手段と、
前記第１の判断手段により前記データが前記第１のしきい値以上格納されていると判断された場合、前記取得手段により取得された前記データをエンコードするときに生成される情報に基づいて、前記メモリに格納されている前記データを破棄する破棄手段と、
前記メモリに格納されている前記データを読み出してデコードするデコード手段と、
前記デコード手段によりデコードされた前記データを出力する出力手段と
を備えることを特徴とする情報処理装置。
【請求項１９】
前記データは、ＡＴＲＡＣ３、ＭＰ３、またはＬＰＣＭでエンコードされ、
前記データをエンコードするときに生成される情報は、無音情報である
ことを特徴とする請求項１８に記載の情報処理装置。
【請求項２０】
前記第１の判断手段により前記データが前記第１のしきい値以上格納されていると判断された場合、前記無音情報に基づいて、前記データが無音であるか否かを判断する無音判断手段をさらに備え、
前記破棄手段は、前記無音判断手段により無音であると判断された前記データを破棄する
ことを特徴とする請求項１９に記載の情報処理装置。
【請求項２１】
前記メモリに格納されている前記データが前記第２のしきい値以下であるか否かを判断する第２の判断手段と、
前記第２の判断手段により前記メモリに格納されている前記データが前記第２のしきい値以下であると判断された場合、前記無音情報に基づいて、前記データが無音であるか否かを判断する無音判断手段をさらに備え、
前記組み立て手段は、前記無音判断手段により無音であると判断された前記データの前記パケットの組み立てを禁止する
ことを特徴とする請求項１９に記載の情報処理装置。
【請求項２２】
前記データは、ＭＰＥＧ１、ＭＰＥＧ２、またはＭＰＥＧ４でエンコードされ、
前記データをエンコードするときに生成される情報は、前記データのＩピクチャ、ＢピクチャまたはＰピクチャのいずれかであることを表すピクチャ情報である
ことを特徴とする請求項１８に記載の情報処理装置。
【請求項２３】
前記第１の判断手段により前記データが前記第１のしきい値以上格納されていると判断された場合、前記データの前記ピクチャ情報がＩピクチャであるか否かを判断するピクチャ判断手段をさらに備え、
前記破棄手段は、前記ピクチャ判断手段により前記ピクチャ情報がＩピクチャであると判断されるまでの他の前記データを破棄する
ことを特徴とする請求項２２に記載の情報処理装置。
【請求項２４】
ネットワークを介して他の情報処理装置から、パケットを単位としたプロトコルでデータを受信する情報処理装置の情報処理方法において、
前記他の情報処理装置より送信された前記データを受信し、
受信された前記データから、前記データをエンコードするときに生成される情報を取得し、
受信された前記データの前記パケットを組み立て、
組み立てられた前記データを格納するメモリに、前記データがしきい値以上格納されているか否かを判断し、
前記データが前記しきい値以上格納されていると判断した場合、取得された前記データをエンコードするときに生成される情報に基づいて、前記メモリに格納されている前記データを破棄し、
前記メモリに格納されている前記データを読み出してデコードし、
デコードされた前記データを出力する
ことを特徴とする情報処理方法。
【請求項２５】
ネットワークを介して他の情報処理装置から、パケットを単位としたプロトコルでデータを受信する情報処理装置のプログラムにおいて、
前記他の情報処理装置より送信された前記データを受信し、
受信された前記データから、前記データをエンコードするときに生成される情報を取得し、
受信された前記データの前記パケットを組み立て、
組み立てられた前記データを格納するメモリに、前記データがしきい値以上格納されているか否かを判断し、
前記データが前記しきい値以上格納されていると判断した場合、取得された前記データをエンコードするときに生成される情報に基づいて、前記メモリに格納されている前記データを破棄し、
前記メモリに格納されている前記データを読み出してデコードし、
デコードされた前記データを出力する
ことを特徴とするプログラム。
【請求項２６】
複数の情報処理装置がネットワークを介して通信する場合に用いられるパケットを単位としたデータのデータ構造であって、
前記パケットのヘッダに、前記データをエンコードするときに生成される情報を付加するための領域を有する
ことを特徴とするデータ構造。
【請求項２７】
前記データは、ＭＰＥＧ１、ＭＰＥＧ２、またはＭＰＥＧ４でエンコードされ、
前記データをエンコードするときに生成される情報は、前記データのＩピクチャ、ＢピクチャおよびＰピクチャのいずれかであるかを表すピクチャ情報である
ことを特徴とする請求項２６に記載のデータ構造。
【請求項２８】
前記データは、ＡＴＲＡＣ３、ＭＰ３、またはＬＰＣＭでエンコードされ、
前記データをエンコードするときに生成される情報は、無音情報である
ことを特徴とする請求項２６に記載のデータ構造。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理システムおよび方法、情報処理装置および方法、記録媒体、プログラム、並びにデータ構造に関し、特に、エンコード時に生成される情報に基づいて、システムの負荷を軽減することができるようにした情報処理システムおよび方法、情報処理装置および方法、記録媒体、プログラム、並びにデータ構造に関する。
【０００２】
【従来の技術】
ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）の  ＲＦＣ（Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔｓ）１８８９で規定されている既存のＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ  ：  ＲＦＣ１８８９）ストリーミングにおいては、ＲＴＰのヘッダに含まれるＲＴＰパケット中のデータに関する情報としては、コーデックの種類のみであった（非特許文献１参照）。
【０００３】
【非特許文献１】
Ｈ．  Ｓｃｈｕｌｚｒｉｎｎｅ、他４名、“ＲＴＰ”、［ｏｎｌｉｎｅ］１９９６年１月、［平成１４年１１月１日検索］、インターネット，ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ１８８９．ｔｘｔ
【０００４】
【発明が解決しようとする課題】
しかしながら、このようなストリーミングを受信し、再生を行う再生装置において、特殊再生（シーク、または、早送り再生など）する場合、あるいは、ＲＴＰのパケット喪失から復帰する場合、Ｉピクチャからの再生が必要であるにもかかわらず、Ｉピクチャ、ＢピクチャおよびＰピクチャのうちのどのピクチャであるかは、受信したデータを実際にデコードするまでは不明であったため、そのときは必要のないＢピクチャまたはＰピクチャまで余計にデコードしなければならなかった。
【０００５】
このような余計なデコード処理は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）のように、豊富なリソースと強力なＣＰＵパワーを有するデバイスにおいては、あまり問題にならないが、ＣＰＵパワーの小さい、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）や携帯電話機のような携帯型端末においては、ＣＰＵ  にかかる負荷が大きく、処理が困難であるといった課題があった。
【０００６】
また、音声データに関しても、同様に、受信したデータを実際にデコードしなければ、その音声データが有効な音声データ（音の有る有音データ）であるか、または、あまり有効ではない音声データ（すなわち、音のない無音データ）であるかがわからないため、例えば、再生装置において、バッファのオーバフローが発生した場合には、その音声データが有効であるか否かにかかわらず、廃棄されてしまい、音切れが発生してしまうといった課題があった。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、エンコード時に生成される情報に基づいて、システムの負荷を軽減することができるようにするものである。
【０００８】
【課題を解決するための手段】
本発明の第１の情報処理システムは、第１の情報処理装置は、データをエンコードするときに生成される情報を、データのパケットに付加して、ネットワークを介して、第２の情報処理装置に送信し、第２の情報処理装置は、第１の情報処理装置より送信されたデータを受信し、受信されたデータから、データをエンコードするときに生成される情報を取得し、データをエンコードするときに生成される情報に基づいて、データのパケットを組み立て、データをエンコードするときに生成される情報に基づいて、組み立てられたデータをデコードし、デコードされたデータを出力することを特徴とする。
【０００９】
本発明の第１の情報処理システムの情報処理方法は、第１の情報処理装置は、データをエンコードするときに生成される情報を、データのパケットに付加して、ネットワークを介して、第２の情報処理装置に送信し、第２の情報処理装置は、第１の情報処理装置より送信されたデータを受信し、受信されたデータから、データをエンコードするときに生成される情報を取得し、データをエンコードするときに生成される情報に基づいて、データのパケットを組み立て、データをエンコードするときに生成される情報に基づいて、組み立てられたデータをデコードし、デコードされたデータを出力することを特徴とする。
【００１０】
本発明の第２の情報処理システムは、第１の情報処理装置は、データをエンコードするときに生成される情報を、データのパケットに付加して、ネットワークを介して、第２の情報処理装置に送信し、第２の情報処理装置は、第１の情報処理装置より送信されたデータを受信し、受信されたデータから、データをエンコードするときに生成される情報を取得し、受信されたデータのパケットを組み立て、組み立てられたデータを格納するメモリに、データがしきい値以上格納されている場合、取得されたデータをエンコードするときに生成される情報に基づいて、メモリに格納されているデータを破棄し、メモリに格納されているデータを読み出してデコードし、デコードされたデータを出力することを特徴とする。
【００１１】
本発明の第２の情報処理システムの情報処理方法は、第１の情報処理装置は、データをエンコードするときに生成される情報を、データのパケットに付加して、ネットワークを介して、第２の情報処理装置に送信し、第２の情報処理装置は、第１の情報処理装置より送信されたデータを受信し、受信されたデータから、データをエンコードするときに生成される情報を取得し、受信されたデータのパケットを組み立て、組み立てられたデータを格納するメモリに、データがしきい値以上格納されている場合、取得されたデータをエンコードするときに生成される情報に基づいて、メモリに格納されているデータを破棄し、メモリに格納されているデータを読み出してデコードし、デコードされたデータを出力することを特徴とする。
【００１２】
本発明の第１の情報処理装置は、データをエンコードするときに情報を生成する生成手段と、生成手段によりデータをエンコードするときに生成される情報を、データのパケットに付加して、ネットワークを介して、他の情報処理装置に送信する送信手段とを備えることを特徴とする。
【００１３】
パケットを単位としたプロトコルは、ＲＴＰであるようにすることができる。
【００１４】
データは、ＭＰＥＧ１、ＭＰＥＧ２、またはＭＰＥＧ４でエンコードされ、データをエンコードするときに生成される情報は、データのＩピクチャ、ＢピクチャおよびＰピクチャのいずれかであるかを表すピクチャ情報であるようにすることができる。
【００１５】
データは、ＡＴＲＡＣ３、ＭＰ３、またはＬＰＣＭでエンコードされ、データをエンコードするときに生成される情報は、無音情報であるようにすることができる。
【００１６】
本発明の第１の情報処理装置の情報処理方法は、データをエンコードするときに情報を生成し、データをエンコードするときに生成される情報を、データのパケットに付加して、ネットワークを介して、他の情報処理装置に送信することを特徴とする。
【００１７】
本発明の第１のプログラムは、データをエンコードするときに情報を生成し、データをエンコードするときに生成される情報を、データのパケットに付加して、ネットワークを介して、他の情報処理装置に送信することを特徴とする。
【００１８】
本発明の第２の情報処理装置は、他の情報処理装置より送信されたデータを受信する受信手段と、受信手段により受信されたデータから、データをエンコードするときに生成される情報を取得する取得手段と、取得手段により取得されたデータをエンコードするときに生成される情報に基づいて、データのパケットを組み立てる組み立て手段と、取得手段により取得されたデータをエンコードするときに生成される情報に基づいて、組み立て手段により組み立てられたデータをデコードするデコード手段と、デコード手段によりデコードされたデータを出力する出力手段とを備えることを特徴とする。
【００１９】
パケットを単位としたプロトコルは、ＲＴＰであるようにすることができる。
【００２０】
データは、ＭＰＥＧ１、ＭＰＥＧ２、またはＭＰＥＧ４でエンコードされ、データをエンコードするときに生成される情報は、データのＩピクチャ、ＢピクチャおよびＰピクチャのいずれかであるかを表すピクチャ情報であるようにすることができる。
【００２１】
データのピクチャ情報がＩピクチャであるか否かを判断する判断手段をさらに備え、組み立て手段は、判断手段によりデータのピクチャ情報がＩピクチャであると判断されるまでの他のデータのパケットの組み立てを禁止するようにすることができる。
【００２２】
データのピクチャ情報がＩピクチャであるか否かを判断する判断手段をさらに備え、デコード手段は、判断手段によりピクチャ情報がＩピクチャであると判断されるまでの他のデータのデコードを禁止するようにすることができる。
【００２３】
本発明の第２の情報処理装置の情報処理方法は、他の情報処理装置より送信されたデータを受信し、受信されたデータから、データをエンコードするときに生成される情報を取得し、取得されたデータをエンコードするときに生成される情報に基づいて、データのパケットを組み立て、取得されたデータをエンコードするときに生成される情報に基づいて、組み立てられたデータをデコードし、デコードされたデータを出力することを特徴とする。
【００２４】
本発明の第２のプログラムは、他の情報処理装置より送信されたデータを受信し、受信されたデータから、データをエンコードするときに生成される情報を取得し、取得されたデータをエンコードするときに生成される情報に基づいて、データのパケットを組み立て、取得されたデータをエンコードするときに生成される情報に基づいて、組み立てられたデータをデコードし、デコードされたデータを出力することを特徴とする。
【００２５】
本発明の第３の情報処理装置は、他の情報処理装置より送信されたデータを受信する受信手段と、受信手段により受信されたデータから、データをエンコードするときに生成される情報を取得する取得手段と、受信手段により受信されたデータのパケットを組み立てる組み立て手段と、組み立て手段により組み立てられたデータを格納するメモリにおいて、データが第１のしきい値以上格納されているか否かを判断する第１の判断手段と、第１の判断手段によりデータが第１のしきい値以上格納されていると判断された場合、取得手段により取得されたデータをエンコードするときに生成される情報に基づいて、メモリに格納されているデータを破棄する破棄手段と、メモリに格納されているデータを読み出してデコードするデコード手段と、デコード手段によりデコードされたデータを出力する出力手段とを備えることを特徴とする。
【００２６】
データは、ＡＴＲＡＣ３、ＭＰ３、またはＬＰＣＭでエンコードされ、データをエンコードするときに生成される情報は、無音情報であるようにすることができる。
【００２７】
第１の判断手段によりデータが第１のしきい値以上格納されていると判断された場合、無音情報に基づいて、データが無音であるか否かを判断する無音判断手段をさらに備え、破棄手段は、無音判断手段により無音であると判断されたデータを破棄するようにすることができる。
【００２８】
メモリに格納されているデータが第２のしきい値以下であるか否かを判断する第２の判断手段と、第２の判断手段によりメモリに格納されているデータが第２のしきい値以下であると判断された場合、無音情報に基づいて、データが無音であるか否かを判断する無音判断手段をさらに備え、組み合わせ手段は、無音判断手段により無音であると判断されたデータのパケットの組み合わせを禁止するようにすることができる。
【００２９】
データは、ＭＰＥＧ１、ＭＰＥＧ２、またはＭＰＥＧ４でエンコードされ、データをエンコードするときに生成される情報は、データのＩピクチャ、ＢピクチャおよびＰピクチャのいずれかであるかを表すピクチャ情報であるようにすることができる。
【００３０】
第１の判断手段によりデータが第１のしきい値以上格納されていると判断された場合、データのピクチャ情報がＩピクチャであるか否かを判断するピクチャ判断手段をさらに備え、破棄手段は、ピクチャ判断手段によりピクチャ情報がＩピクチャであると判断されるまでの他のデータを破棄するようにすることができる。
【００３１】
本発明の第３の情報処理装置の情報処理方法は、他の情報処理装置より送信されたデータを受信し、受信されたデータから、データをエンコードするときに生成される情報を取得し、受信されたデータのパケットを組み立て、組み立てられたデータを格納するメモリに、データがしきい値以上格納されているか否かを判断し、データがしきい値以上格納されていると判断した場合、取得されたデータをエンコードするときに生成される情報に基づいて、メモリに格納されているデータを破棄し、メモリに格納されているデータを読み出してデコードし、デコードされたデータを出力することを特徴とする。
【００３２】
本発明の第３のプログラムは、他の情報処理装置より送信されたデータを受信し、受信されたデータから、データをエンコードするときに生成される情報を取得し、受信されたデータのパケットを組み立て、組み立てられたデータを格納するメモリに、データがしきい値以上格納されているか否かを判断し、データがしきい値以上格納されていると判断した場合、取得されたデータをエンコードするときに生成される情報に基づいて、メモリに格納されているデータを破棄し、メモリに格納されているデータを読み出してデコードし、デコードされたデータを出力することを特徴とする。
【００３３】
本発明のデータ構造は、パケットのヘッダに、データをエンコードするときに生成される情報を付加するための領域を有することを特徴とする。
【００３４】
データは、ＭＰＥＧ１、ＭＰＥＧ２、またはＭＰＥＧ４でエンコードされ、データをエンコードするときに生成される情報は、データのＩピクチャ、ＢピクチャおよびＰピクチャのいずれかであるかを表すピクチャ情報であるようにすることができる。
【００３５】
データは、ＡＴＲＡＣ３、ＭＰ３、またはＬＰＣＭでエンコードされ、データをエンコードするときに生成される情報は、無音情報であるようにすることができる。
【００３６】
第１の本発明においては、第１の情報処理装置により、データをエンコードするときに生成される情報が、データのパケットに付加して、ネットワークを介して、第２の情報処理装置に送信される。第２の情報処理装置により、第１の情報処理装置より送信されたデータが受信され、受信されたデータから、データをエンコードするときに生成される情報が取得される。取得されたデータをエンコードするときに生成される情報に基づいて、データのパケットが組み立てられ、データをエンコードするときに生成される情報に基づいて、組み立てられたデータがデコードされ、デコードされたデータが出力される。
【００３７】
第２の本発明においては、第１の情報処理装置により、データをエンコードするときに生成される情報が、データのパケットに付加して、ネットワークを介して、第２の情報処理装置に送信される。第２の情報処理装置により、第１の情報処理装置より送信されたデータが受信され、受信されたデータから、データをエンコードするときに生成される情報が取得され、受信されたデータのパケットが組み立てられる。そして、組み立てられたデータを格納するメモリに、データがしきい値以上格納されている場合、取得されたデータをエンコードするときに生成される情報に基づいて、メモリに格納されているデータが破棄され、メモリに格納されているデータが読み出されてデコードされ、デコードされたデータが出力される。
【００３８】
第３の本発明においては、データをエンコードするときに情報が生成される情報が、データのパケットに付加されて、ネットワークを介して、他の情報処理装置に送信される。
【００３９】
第４の本発明においては、他の情報処理装置より送信されたデータが受信され、受信されたデータから、データをエンコードするときに生成される情報が取得される。取得されたデータをエンコードするときに生成される情報に基づいて、データのパケットが組み立てられ、取得されたデータをエンコードするときに生成される情報に基づいて、組み立てられたデータがデコードされ、デコードされたデータが出力される。
【００４０】
第５の本発明においては、他の情報処理装置より送信されたデータが受信され、受信されたデータから、データをエンコードするときに生成される情報が取得され、受信されたデータのパケットが組み立てられる。組み立てられたデータを格納するメモリに、データがしきい値以上格納されているか否かが判断された場合、取得されたデータをエンコードするときに生成される情報に基づいて、メモリに格納されているデータが破棄され、メモリに格納されているデータが読み出されてデコードされ、デコードされたデータが出力される。
【００４１】
第６の本発明においては、パケットのヘッダに、データをエンコードするときに生成される情報が付加される。
【００４２】
ネットワークとは、少なくとも２つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであってもよいし、１つの装置を構成している内部ブロックどうしであってもよい。
【００４３】
【発明の実施の形態】
以下、図を参照して本発明の実施の形態について説明する。
【００４４】
図１は、本発明を適用したストリーミングコンテンツ提供システムの構成例を表している。インターネットに代表されるネットワーク２には、ストリーミングコンテンツ提供システムを利用するユーザが有するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）１−１，１−２（以下、これらのＰＣを個々に区別する必要がない場合、単にＰＣ１と称する）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）３、携帯電話機４−１，４−２（以下、これらの携帯電話機を個々に区別する必要がない場合、単に携帯電話機４と称する）が接続されている。この例においては、ＰＣ１が２台のみ示されているが、ネットワーク２には、任意の台数のＰＣ１が接続される。また、ＰＤＡ３および携帯電話機４も、任意の台数、ネットワークに接続される。
【００４５】
また、ネットワーク２には、ＰＣ１、ＰＤＡ３および携帯電話機４に対してストリーミングコンテンツ（以下、コンテンツと称する）を提供するストリーミングサーバ５が接続されている。このストリーミングサーバ５も任意の台数、ネットワーク２に接続される。
【００４６】
ＰＣ１、ＰＤＡ３および携帯電話機４は、ストリーミングコンテンツなど、リアルタイムデータを制御するためのプロトコルであるＲＴＳＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌ：ＲＦＣ２３２６）を用いて、ストリーミングサーバ５への通信を行う。データ転送にはＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ  ：  ＲＦＣ１８８９）を利用するが、ＲＴＳＰを利用することにより、ストリーミングサーバ５のデータの停止、早送り、巻き戻し、指定位置からの再生などの操作指示がユーザ側でできるようになる。
【００４７】
ストリーミングサーバ５は、カメラ６が被写体を撮像して生成し、リアルタイムで出力するコンテンツデータ（映像データおよび音声データ）を、ＰＣ１、ＰＤＡ３および携帯電話機４に対してリアルタイムに提供したり、撮像されたコンテンツデータを一旦蓄積しておき、ＰＣ１、ＰＤＡ３および携帯電話機４からＲＴＳＰが用いられて要求された場合に、蓄積されたコンテンツデータを提供する。
【００４８】
また、携帯電話機４−１，４−２も、カメラを内蔵しており、カメラが被写体を撮像して生成し、リアルタイムで出力するコンテンツデータ（映像データおよび音声データ）を、携帯電話機４−１および４−２同士でお互いに提供する。
【００４９】
図２は、ＰＣ１の構成を表している。図２において、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２に記憶されているプログラム、または記憶部１９からＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ１３にはまた、ＣＰＵ１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００５０】
ＣＰＵ１１、ＲＯＭ１２およびＲＡＭ１３は、バス１４を介して相互に接続されている。このバス１４にはまた、入出力インタフェース１５も接続されている。
【００５１】
入出力インタフェース１５には、各種のボタン、スイッチ、キーボード、マウスなどよりなる入力部１６、所定の情報を表示するためのＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）１７、ユーザに対して音声信号を出力するスピーカ１８、ハードディスクなどより構成される記憶部１９、モデム、ターミナルアダプタなどより構成される通信部２０が接続されている。通信部２０は、ネットワーク２を介しての通信処理を行う。
【００５２】
入出力インタフェース１５にはまた、必要に応じてドライブ３０が接続され、磁気ディスク３１、光ディスク３２、光磁気ディスク３３、或いは半導体メモリ３４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部１９にインストールされる。
【００５３】
なお、図示は省略するが、ＰＤＡ３も、図２に示したＰＣ１と基本的に同様の構成とされる。したがって、以下の説明においては、図２のＰＣ１の構成は、必要に応じて、ＰＤＡ３の構成としても引用される。
【００５４】
図３は、ストリーミングサーバ５の構成を表している。図３において、ＣＰＵ５１乃至入出力インタフェース５５およびＬＣＤ５９乃至半導体メモリ７４は、図２のＰＣ１のＣＰＵ１１乃至入出力インタフェース１５およびＬＣＤ１７乃至半導体メモリ３４と基本的に同様の機能を有するものであるので、その説明は省略する。
【００５５】
ストリーミングサーバ５においては、入出力インタフェース５５には、各種のキーボード、マウスなどよりなる入力部５６、被写体を撮像し、その撮像された映像データを入力する撮像部５７および被写体の音声データを取り込むマイクロフォン５８により構成されるカメラ６が接続されている。
【００５６】
なお、図示は省略するが、携帯電話機４も、図３に示したストリーミングサーバ５と基本的に同様の構成とされる。従って、以下の説明においては、図３のストリーミングサーバ５の構成は、必要に応じて、ＰＤＡ３の構成としても引用される。
【００５７】
図４は、ストリーミングサーバ５の機能構成例を示すブロック図である。図４に示される機能ブロックは、ストリーミングサーバ５のＣＰＵ５１により所定の制御プログラムが実行されることで実現される。
【００５８】
ビデオエンコーダ１０１は、カメラ６が被写体を撮像して生成するコンテンツデータのうちの映像データを撮像部５７より入力し、例えば、ＭＰＥＧ（ＭｏｖｉｎｇＰｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）４によりエンコードする。フレーム間の圧縮が採用されているＭＰＥＧ４においては、フレーム内符号化のみのＩピクチャ、順方向予測を使用したＰピクチャ、および、双方向予測を使用したピクチャの３つのピクチャタイプが存在する。ビデオエンコーダ１０１は、映像データをエンコードするときに、同時に、この映像データに対応するピクチャが、Ｉピクチャ、ＰピクチャおよびＢピクチャのうちのどのピクチャであるかを表すピクチャ情報（図６を参照して詳しく後述する）を生成する。
【００５９】
ビデオエンコーダ１０１は、撮像部５７により撮像された映像データを、ＰＣ１、ＰＤＡ３または携帯電話機４に対してリアルタイムに提供する場合、映像データとそれに対応するピクチャ情報をＲＴＰ送信部１０３に供給する。また、ビデオエンコーダ１０１は、撮像部５７により撮像された映像データを、ストリーミングサーバ５内に、一旦蓄積し、ＰＣ１、ＰＤＡ３または携帯電話機４からの要求に応じて提供する場合、撮像部５７により撮像された映像データとそれに対応するピクチャ情報を、ビデオ蓄積管理部１０２に供給する。
【００６０】
ビデオ蓄積管理部１０２は、ビデオエンコーダ１０１より供給された映像データとそれに対応するピクチャ情報を蓄積、管理し、ＰＣ１、ＰＤＡ３または携帯電話機４からの映像データの要求に対して、蓄積されている映像データとそれに対応するピクチャ情報をＲＴＰ送信部１０３に供給する。
【００６１】
ＲＴＰ送信部１０３は、ビデオエンコーダ１０１またはビデオ蓄積管理部１０２より供給された映像データをＲＴＰパケット化し、それに対応するピクチャ情報を、そのＲＴＰパケットのＲＴＰヘッダに付加して、ＲＴＰプロトコルによりネットワーク２を介してＰＣ１に送信する。
【００６２】
図５は、ストリーミングサーバ５より送信されるＲＴＰのパケットのＲＴＰヘッダを示している。図５の例においては、ＲＴＰヘッダは、既存ヘッダ２０１および拡張ヘッダ２０２により構成される。なお、ＲＴＰパケットにおいては、ＲＴＰヘッダの後、ペイロード（データ）が続く。
【００６３】
既存ヘッダ２０１は、ＲＴＰのパケットフォーマットのバージョンを示すバージョン番号（Ｖ：Ｖｅｒｓｉｏｎ  Ｂｉｔ）、パケットのサイズを調整するビットであるパディング（Ｐ：Ｐａｄｄｉｎｇ  Ｂｉｔ）、機能拡張時に指定される拡張ビット（Ｘ：Ｅｘｔｅｎｓｉｏｎ  Ｂｉｔ）、リアルタイム転送に関わる送信元の数を示すカウンタ（ＣＣ：ＣＳＲＣＣｏｕｎｔ）、１パケットにおけるフレームの境界を示すマーカービット（Ｍ：Ｍａｒｋｅｒ  Ｂｉｔ）、符号化の種類を示すペイロードタイプ（ＰＴ：Ｐａｙｌｏａｄ  Ｔｙｐｅ）、ＲＴＰパケットの順番を示すシーケンス番号（ＳｅｑＮｏ：Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）、ＲＴＰパケットが送信された時刻を示すタイムスタンプ（ＴＩＭＥ  ＳＴＡＭＰ）、メッセージの最初の送信元（ソース）を識別する同期ソース識別子（ＳＳＲＣ：Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｓｏｕｒｃｅ）、メッセージに含まれるパケット群の送信先（クライアント）を識別する貢献ソース識別子（ＣＳＲＣ：Ｃｏｎｔｒｉｂｕｔｉｎｇ  Ｓｏｕｒｃｅ）が順に配置される。
【００６４】
この既存ヘッダ２０１の拡張ビット（Ｘ）に、１を格納することにより、貢献ソース識別子（ＣＳＲＣ）の後（既存ヘッダ２０１の末尾）に、拡張ヘッダ２０２が付加される。そこで、ＲＴＰ送信部１０３は、この拡張ヘッダ２０２に、拡張ヘッダ２０２に含まれる情報が、ピクチャ情報２１３であること（いまの場合、ＭＰＥＧ４を示す０ｘ８０００）を示すプロファイルＩＤ２１１、ピクチャ情報２１３のワード単位の長さ２１２（いまの場合、２）、および、このＲＴＰパケットに対応するピクチャ情報２１３を付加する。
【００６５】
図６は、図５のピクチャ情報２１３を示している。図６の例においては、ピクチャ情報２１３は、各１ビットのＶ（Ｖａｌｉｄ  ｂｉｔ）、Ｉ（Ｉｂｉｔ）、  Ｂ（Ｂ  ｂｉｔ）、およびＰ（Ｐ  ｂｉｔ）、２８ビットのＲＦＵ（Ｒｅｓｅｒｖｅｄ  ｆｏｒ  Ｆｕｔｕｒｅ  Ｕｓｅ）、並びに、ＴＩＭＥ  ＳＴＡＭＰにより構成される。Ｖ（Ｖａｌｉｄ  ｂｉｔ）には、このピクチャ情報２１３が有効「１」であるか否「０」かを示す情報が格納される。次のＩ（Ｉｂｉｔ）、Ｂ（Ｂｂｉｔ）およびＰ（Ｐ  ｂｉｔ）には、対応するパケットのピクチャタイプがＩピクチャのとき、Ｂピクチャのとき、Ｐピクチャの時に、それぞれ「１」が格納される。なお、それ以外は、「０」が格納されている。次のＲＦＵは、将来の拡張用に２８ビット分空けられている。ピクチャ情報２１３の末尾にあるＴＩＭＥ  ＳＴＡＭＰには、既存ヘッダ２０１のＴＩＭＥ  ＳＴＡＭＰと同様に、ＲＴＰパケットが送信された時刻が示されているが、既存ヘッダ２０１のＴＩＭＥ  ＳＴＡＭＰよりも細かい時刻が示されている。
【００６６】
以上のようなピクチャ情報２１３が付加されたＲＴＰパケットが、ストリーミングサーバ５より、ネットワーク２を介してＰＣ１に送信される。
【００６７】
図７は、ＰＣ１の機能構成例を示すブロック図である。図７に示される機能ブロックは、ＰＣ１のＣＰＵ１１により所定の制御プログラムが実行されることで実現される。
【００６８】
ＰＣ１のＲＴＰ受信部３０１は、ストリーミングサーバ５よりネットワーク２を介して、ＲＴＰパケット化されたコンテンツデータを受信し、そのうちの映像データのＲＴＰパケットをパケットヘッダとパケットデータに分解する。また、ＲＴＰ受信部３０１は、そのパケットヘッダをビデオヘッダ解析部３０２に出力し、パケットデータをビデオリアセンブラ３０３に出力する。ビデオヘッダ解析部３０２は、ＲＴＰ受信部３０１から供給されたパケットヘッダを解析し、図６を参照して説明したピクチャ情報およびその他のヘッダ情報を取得し、ビデオリアセンブラ３０３に供給する。
【００６９】
ビデオリアセンブラ３０３は、ＲＴＰ受信部３０１より供給されたパケットデータ、および、ビデオヘッダ解析部３０２より供給されたヘッダ情報を組み合わせ、そのヘッダ情報に基づいて、パケットデータをピクチャ単位に組み立て、ピクチャデータを生成する。また、ビデオリアセンブラ３０３は、生成されたピクチャデータに、それに対応するピクチャ情報を付加し、ピクチャデータキュー３０４に格納する。具体的には、ＲＴＰパケットは、１ＭＴＵ（約１５００バイト）以下の場合が多いので、ストリーミングサーバ５は、１つのピクチャを複数のＲＴＰパケットに分割して送信してくる。ビデオリアセンブラ３０３は、それらの複数のパケットを、ヘッダ情報のタイムスタンプが同じものをシーケンス番号順に並べるようにピクチャ単位に組み立て直して、ピクチャデータを生成する。また、生成されたピクチャデータは、ネットワーク２のジッタ吸収のためにピクチャデータキュー３０４に格納される。
【００７０】
ビデオデコーダ３０５は、ピクチャデータキュー３０４よりピクチャデータを取得し、そのピクチャデータをデコードし、ビデオ出力制御部３０６に出力する。ビデオ出力制御部３０６は、ビデオデコーダ３０５によりデコードされたデータをレンダリングし、ＬＣＤ１７に画像を表示させる。
【００７１】
シーク制御部３０７は、ユーザの入力部１６の操作に基づいて、シーク要求を受けると、ビデオリアセンブラ３０３およびビデオデコーダ３０５に、ユーザの指示時刻のタイムスタンプＴｓおよびシークビットＳを指示する。
【００７２】
シーク制御部３０７からの指示により、ビデオリアセンブラ３０３は、シークビットＳをセットし、シーク処理を実行する。例えば、指示時刻のタイムスタンプＴｓ、および、ビデオヘッダ解析部３０２より供給されたピクチャ情報（Ｉピクチャであるか否か）に基づいて、ＲＴＰ受信部３０１から供給されるパケットデータの組み立て処理を実行するか、そのパケットデータを破棄し、禁止（スキップ）するかの制御を行う。
【００７３】
シーク制御部３０７からの指示、または、ヘッダ情報のシーケンスナンバが不連続であると判断された場合、ビデオデコーダ３０５は、シークビットＳをセットし、シーク処理を実行する。例えば、指示時刻のタイムスタンプＴｓ、また、ピクチャデータに対応するピクチャ情報（Ｉピクチャであるか否か）に基づいて、ピクチャデータキュー３０４から取得したピクチャデータのデコードを実行するか、そのピクチャデータを破棄し、禁止（スキップ）するかの制御を行う。
【００７４】
次に、図８のフローチャートを参照して、ストリーミングサーバ５のコンテンツデータの送信処理を説明する。
【００７５】
撮像部５７は、被写体を撮像して生成するコンテンツデータのうちの映像データをビデオエンコーダ１０１に供給する。ステップＳ１において、ビデオエンコーダ１０１は、供給された映像データを、ＭＰＥＧ４によりエンコードするとともに、その映像データに対応するピクチャ情報を生成し、ビデオ蓄積管理部１０２に出力する。ステップＳ２において、ビデオ蓄積管理部１０２は、ビデオエンコーダ１０１により供給された映像データおよびその映像データに対応するピクチャ情報を一旦記憶する。
【００７６】
ＰＣ１は、後述する図９のステップＳ２１または図１０のステップＳ４４において、ＲＴＳＰプロトコルにより、コンテンツデータの要求を、ネットワーク２を介してストリーミングサーバ５に送信してくる。
【００７７】
これに対して、ストリーミングサーバ５の通信部６２は、ＰＣ１１からのコンテンツデータの要求を受信し、受信した情報を、ＲＴＰ送信部１０３に供給する。ＲＴＰ送信部１０３は、ステップＳ３において、ＰＣ１１からのコンテンツデータの要求を受信したと判断するまで待機し、ステップＳ３において、ＰＣ１１からのコンテンツデータの要求を受信したと判断した場合、ステップＳ４において、ＰＣ１１からのコンテンツデータの要求に基づいて、ビデオ蓄積管理部１０２より映像データおよびそれに対応するピクチャ情報を取得する。ステップＳ５において、ＲＴＰ送信部１０３は、取得した映像データをＲＴＰパケット化し、それに対応するピクチャ情報を、そのＲＴＰパケットのＲＴＰヘッダに付加して、ＲＴＰプロトコルによりネットワーク２を介してＰＣ１に送信する。
【００７８】
以上のようにして、ピクチャ情報２１３が付加されたＲＴＰパケットが、ストリーミングサーバ５より、ネットワーク２を介してＰＣ１に送信される。このストリーミングサーバ５の送信処理に対応するＰＣ１のコンテンツデータの受信処理を、図９のフローチャートを参照して説明する。
【００７９】
ユーザは、コンテンツを取得するために、入力部１６を操作して、ストリーミングサーバ５に対してコンテンツデータを要求するので、ステップＳ２１において、ＣＰＵ１１は、通信部２０を制御し、ＲＴＳＰプロトコルにより、コンテンツデータの要求を、ネットワーク２を介して、ストリーミングサーバ５に送信させる。図１において上述したように、ＲＴＳＰは、ストリーミングデータを制御するためのプロトコルであり、ＲＴＳＰを利用することにより、停止、早送り、巻き戻し、指定位置からの再生など、ユーザ側でストリーミングサーバ５のデータを操作指示できる。
【００８０】
このようにして送信されたコンテンツデータの要求を、ストリーミングサーバ５は、上述した図８のステップＳ３において受信し、ステップＳ５において、ＲＴＰプロトコルによりＲＴＰパケット化されたコンテンツデータ（映像データ）を送信してくる。このＲＴＰパケットを、ステップＳ２２において、ＰＣ１１のＲＴＰ受信部３０１は、受信し、その映像データのＲＴＰパケットをパケットヘッダとパケットデータに分解し、そのパケットヘッダをビデオヘッダ解析部３０２に供給し、パケットデータをビデオリアセンブラ３０３に供給する。
【００８１】
ステップＳ２３において、ビデオヘッダ解析部３０２は、ＲＴＰ受信部３０１より供給されたパケットヘッダを解析し、ピクチャ情報およびその他のヘッダ情報を取得し、ビデオリアセンブラ３０３に出力する。
【００８２】
ユーザにより、ＰＣ１の入力部１６が操作され、要求したコンテンツデータにおける指定時刻のシークが要求されると、シーク制御部３０７は、入力部１６から供給されたシーク要求を、ビデオリアセンブラ３０３およびビデオデコーダ３０５に出力する。
【００８３】
ステップＳ２４において、ビデオリアセンブラ３０３は、シーク要求を受けたか否かを判断し、シーク要求を受けたと判断した場合、ステップＳ２５において、シーク処理を実行する。このビデオリアセンブラ３０３のシーク処理については、図１０のフローチャートを参照して、詳しく後述する。
【００８４】
ステップＳ２４において、シーク制御部３０７よりシーク要求を受けていないと判断した場合、ステップＳ２５のシーク処理はスキップされる。ステップＳ２６において、ビデオリアセンブラ３０３は、ＲＴＰ受信部３０１より供給されたパケットデータ、および、ビデオヘッダ解析部３０２より供給されたヘッダ情報を組み合わせる。そして、ビデオリアセンブラ３０３は、ヘッダ情報のタイムスタンプが同じものをシーケンス番号順に並べるように複数のパケットデータを組み立て直し、ピクチャデータを生成する。また、ビデオアセンブラ３０３は、そのピクチャデータに対応するピクチャ情報を付加し、ピクチャデータキュー３０４に格納する。
【００８５】
ステップＳ２７において、ビデオデコーダ３０５は、ピクチャデータキュー３０４より格納されたピクチャデータを取得し、取得したピクチャデータをデコードし、ビデオ出力制御部３０６に出力する。このデコード処理は、図１１のフローチャートを参照して詳しく後述する。
【００８６】
ステップＳ２８において、ビデオ出力制御部３０６は、ビデオデコーダ３０５により供給されたデコード済みデータをレンダリングし、ＬＣＤ１７に画像を表示、再生させる。ステップＳ２９において、ＣＰＵ１１は、このコンテンツデータの再生が終了したか否かを判断し、コンテンツデータの再生が終了したと判断された場合、ＰＣ１の受信処理が終了される。ステップＳ２９において、コンテンツデータの再生が終了していないと判断された場合、処理は、ステップＳ２２に戻り、それ以降の処理を繰り返す。
【００８７】
以上のようにして、ＰＣ１においては、ストリーミングサーバ５からのコンテンツデータが受信され、ＬＣＤ１７より画像が再生される。
【００８８】
次に、図１０のフローチャートを参照して、図９のステップＳ２５におけるビデオリアセンブラ３０３のシーク処理を説明する。
【００８９】
図１のステップＳ２４でシーク制御部３０７よりシーク要求を受けると、ビデオリアセンブラ３０３は、ステップＳ４１において、シーク制御部３０７より供給されたユーザの指定時刻に対応するタイムスタンプＴｓをセットし、ステップＳ４２において、シークビットＳをセットする。これにより、ビデオリアセンブラ３０３は、ステップＳ４９においてシークビットＳがリセットされるまでの間、シーク処理モードとなる。
【００９０】
ステップＳ４３において、ビデオリアセンブラ３０３は、ユーザの指定時刻のタイムスタンプＴｓに対応するピクチャデータが、ピクチャデータキュー３０４に格納されているか（存在するか）否かを判断する。ステップＳ４３において、タイムスタンプＴｓに対応するピクチャデータが、ピクチャデータキュー３０４に格納されていると判断された場合、ビデオリアセンブラ３０３によりすでにパケットデータが組み立てられ、ピクチャデータが生成され、ピクチャデータキュー３０４に格納されているということであるので、処理は、図１１のステップＳ６６のビデオデコーダ３０５の処理に進む。
【００９１】
ステップＳ４３において、タイムスタンプＴｓに対応するピクチャデータがピクチャデータキュー３０４に格納されていないと判断された場合、ステップＳ４４において、ビデオリアセンブラ３０３は、通信部２０を制御し、指定時刻のタイムスタンプＴｓに対応する映像データ（コンテンツデータ）の要求を、ＲＴＳＰプロトコルを用いて、ネットワーク２を介して、ストリーミングサーバ５に送信させる。
【００９２】
このようにして送信されたコンテンツデータの要求を、ストリーミングサーバ５は、受信し（上述した図８のステップＳ１）、ＲＴＰプロトコルによりＲＴＰパケット化されたコンテンツデータを送信してくる（図８のステップＳ５）。ＰＣ１１のＲＴＰ受信部３０１は、このＲＴＰパケットを受信し、そのＲＴＰパケットをパケットヘッダとパケットデータに分解し、そのパケットヘッダをビデオヘッダ解析部３０２に出力し、パケットデータをビデオリアセンブラ３０３に出力する。また、ビデオヘッダ解析部３０２は、ＲＴＰ受信部３０１から供給されたパケットヘッダを解析し、図６を参照して説明したピクチャ情報およびその他のヘッダ情報をビデオリアセンブラ３０３に供給する（すなわち、上述した図９のステップＳ２１乃至Ｓ２３の処理が実行される）。
【００９３】
なお、ビデオリアセンブラ３０３の後段のビデオデコーダ３０５においては、必ず、フレーム内符号化のみのＩピクチャからデコードを開始する。しかしながら、ストリーミングサーバ５に、指定時刻のタイムスタンプＴｓのコンテンツデータを要求しても、必ずしも、そのタイムスタンプのＩピクチャから送信してくるとは限らない。
【００９４】
そこで、ビデオリアセンブラ３０３は、ステップＳ４５において、ＲＴＰ受信部３０１によりパケットデータとビデオヘッダ解析部３０２によりヘッダ情報を受け、ステップＳ４６において、ヘッダ情報に基づいて、そのパケットデータのタイムスタンプが、指定時刻のタイムスタンプＴｓよりも大きいか否かを判断する。パケットデータのタイムスタンプがＴｓより小さいパケットデータは、いまの場合、必要ではないので、パケットデータのタイムスタンプが、指定時刻のタイムスタンプＴｓよりも小さいと判断した場合、ステップＳ４８において、ビデオリアセンブラ３０３は、このパケットデータを破棄し、ステップＳ４４に戻り、それ以降の処理を繰り返す。
【００９５】
ステップＳ４６において、パケットデータのタイムスタンプが、指定時刻のタイムスタンプＴｓよりも大きいと判断された場合、ステップＳ４７において、ビデオリアセンブラ３０３は、ビデオヘッダ解析部３０２により供給されたピクチャ情報に基づいて、そのパケットデータのピクチャ情報がＩピクチャであるか否か（ピクチャ情報の「Ｉ」に「１」が格納されているか否か）を判断する。いまの場合、ＢピクチャおよびＰピクチャは必要ないので、パケットデータのピクチャ情報がＩピクチャではないと判断された場合、ステップＳ４８において、ビデオリアセンブラ３０３は、このパケットデータを破棄し、ステップＳ４４に戻り、それ以降の処理を繰り返す。
【００９６】
ステップＳ４７において、パケットデータのピクチャ情報がＩピクチャであると判断された場合、ステップＳ４９において、ビデオリアセンブラ３０３は、シークビットＳをリセットし、シーク処理実行モードを解除し、シーク処理を終了する。すなわち、指定時刻のタイムスタンプＴｓより大きいタイムスタンプで、かつ、最初のＩピクチャであると判断された場合、データのシーク（スキップ）処理を解除し、シーク処理を終了し、図９のステップＳ２６に進む。
【００９７】
これにより、シーク処理を実行する場合、ビデオリアセンブラ３０３においては、必要のないパケットデータの組み立て処理（ピクチャデータの生成処理）を実行する必要がなくなり、パケットデータの組み立て処理が軽減される。さらに、ビデオリアセンブラ３０３の後段のビデオデコーダ３０５においても、必要のないピクチャデータをデコードする必要がなくなり、デコード処理が軽減される。
【００９８】
次に、図１１のフローチャートを参照して、図９のステップＳ２７におけるビデオデコーダ３０５のデコード処理を説明する。
【００９９】
ビデオデコーダ３０５は、ステップＳ６１において、シーク制御部３０７よりシーク要求を受けたか否かを判断し、シーク制御部３０７よりシーク要求を受けたと判断した場合、ステップＳ６２において、シーク制御部３０７から供給されたユーザの指定時刻に対応するタイムスタンプＴｓをセットし、ステップＳ６５において、シークビットＳをセットする。これにより、ビデオデコーダ３０５は、ステップＳ６９においてシークビットＳがリセットされるまでの間、シーク処理モードとなる。
【０１００】
ステップＳ６６において、ビデオデコーダ３０５は、指示時刻のタイムスタンプＴｓに対応するピクチャデータ、およびそれに付加されているピクチャ情報をピクチャデータキュー３０４から取得する。いまの場合、図１０のステップＳ４３において、ビデオリアセンブラ３０３によりタイムスタンプＴｓが存在すると判断されているか、または、図１０のステップＳ４４乃至４７の処理において、ビデオリアセンブラ３０３によりタイムスタンプＴｓのＩピクチャが取得されているので、指示時刻のタイムスタンプＴｓに対応するピクチャデータが取得される。
【０１０１】
ステップＳ６７において、ビデオデコーダ３０５は、ピクチャ情報に基づいて、取得されたピクチャデータがＩピクチャであるか否か（ピクチャ情報の「Ｉ」に「１」が格納されているか否か）を判断し、取得されたピクチャデータがＩピクチャではないと判断した場合、ステップＳ６８において、ビデオデコーダ３０５は、その取得されたピクチャデータを破棄し、ステップＳ６６に戻り、それ以降の処理を繰り返す。ステップＳ６７において、取得されたピクチャデータがＩピクチャであると判断された場合、ステップＳ６９において、シークビットＳをリセットし、シーク処理実行モードを解除し、ステップＳ７０において、その取得されたピクチャデータをデコードする。
【０１０２】
一方、ステップＳ６１において、シーク制御部３０７よりシーク要求を受けていないと判断された場合、ステップＳ６３において、ビデオデコーダ３０５は、ピクチャデータキュー３０４より、次にデコードする予定のタイムスタンプのシーケンスナンバに対応するピクチャデータを取得する。このとき、ビデオデコーダ３０５は、求めるピクチャデータが取得できない場合がある。すなわち、ＲＴＰパケットは、通常、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）で送信される。ＵＤＰは、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）と異なり、コネクションレス型のプロトコルであるため、ネットワーク２上などで、パケットデータが喪失してしまう場合がある。
【０１０３】
そこで、ステップＳ６４において、ビデオデコーダ３０５は、シーケンスナンバが不連続であるか否かを判断する。ステップＳ６４において、求めるタイムスタンプのシーケンスナンバのピクチャデータが取得できない、すなわち、シーケンスナンバが不連続であると判断された場合、ステップＳ６５において、シークビットＳをセットし、ステップＳ６６に進む。
【０１０４】
ステップＳ６６において、ビデオデコーダ３０５は、ステップＳ６３で求められたタイムスタンプの次のタイムスタンプのピクチャデータ、およびそれに対応するピクチャ情報を取得する。その後、上述したように、ステップＳ６７において、取得されたピクチャデータがＩピクチャであると判断された場合、ステップＳ６９において、シークビットＳがリセットされ、ステップＳ７０において、その取得されたピクチャデータがデコードされる。
【０１０５】
また、ステップＳ６３において、ピクチャデータキュー３０４から、次にデコードする予定のタイムスタンプのシーケンスナンバに対応するピクチャデータが取得され、ステップＳ６４において、シーケンスナンバが連続であると判断された場合、ステップＳ７０において、ステップＳ６３において取得されたピクチャデータがデコードされ、次に、図９のステップＳ２８に進む。
【０１０６】
以上により、シーク処理の場合、ピクチャ情報に基づいて、指示時刻のタイムスタンプＴｓにおける最初のＩピクチャデータより前のピクチャデータを破棄し、デコード処理をスキップさせ、指示時刻のタイムスタンプＴｓにおける最初のＩピクチャデータからデコードされるようにしたので、無駄なデコード処理をする必要がなくなり、処理が軽減される。
【０１０７】
また、シーケンスナンバが不連続の場合、次のタイムスタンプにおける最初のＩピクチャデータより前のピクチャデータを破棄し、デコード処理をスキップさせ、次のタイムスタンプにおける最初のＩピクチャデータからデコードされるようにしたので、無駄なデコード処理をする必要がなくなり、処理が軽減される。
【０１０８】
なお、以上においては、ＭＰＥＧ４のエンコードを用いて説明したが、ＭＰＥＧ１またはＭＰＥＧ２を用いるようにしてもよい。
【０１０９】
また、上記説明は、コンテンツデータのうち映像データにピクチャ情報を付加し、それを利用する処理について説明したが、次に、音声データにオーディオ情報を付加し、それを利用する処理について説明する。
【０１１０】
図１２は、ストリーミングサーバ５の他の機能構成例を示すブロック図である。図１２に示される機能ブロックは、ストリーミングサーバ５のＣＰＵ５１により所定の制御プログラムが実行されることで実現される。
【０１１１】
オーディオエンコーダ４０１は、カメラ６が被写体を撮像して生成するコンテンツデータのうちの音声データをマイクロフォン５８より入力し、例えば、例えば、ＡＴＲＡＣ（Ａｄａｐｔｉｖｅ  Ｔｒａｎｓｆｏｒｍ  Ａｃｏｕｓｔｉｃ  Ｃｏｄｉｎｇ）３、ＭＰ３（ＭＰＥＧ  Ａｕｄｉｏ  Ｌａｙｅｒ−３）またはＬＰＣＭ（リニアＰＣＭ）などのコーデックに従ってエンコードする。オーディオエンコーダ４０１は、音声データをエンコードするときに、同時に、この音声データに対応するオーディオ情報を生成する。このオーディオ情報（図１４を参照して後述する）は、例えば、この音声データが無音であるかどうかなどの情報である。
【０１１２】
オーディオエンコーダ４０１は、マイクロフォン５８により集音された音声データを、ＰＣ１、ＰＤＡ３または携帯電話機４に対してリアルタイムに提供する場合、音声データとそれに対応するオーディオ情報をＲＴＰ送信部１０３に供給する。また、オーディオエンコーダ４０１は、マイクロフォン５８により集音された音声データを、一旦ストリーミングサーバ５内に蓄積し、ＰＣ１、ＰＤＡ３または携帯電話機４からの要求に応じて提供する場合、マイクロフォン５８により集音された音声データとそれに対応するオーディオ情報を、オーディオ蓄積管理部４０２に供給する。
【０１１３】
オーディオ蓄積管理部４０２は、オーディオエンコーダ４０１より供給された音声データとそれに対応するオーディオ情報を蓄積、管理し、ＰＣ１、ＰＤＡ３または携帯電話機４からの映像データの要求に対して、蓄積されている音声データとそれに対応するオーディオ情報をＲＴＰ送信部１０３に供給する。
【０１１４】
ＲＴＰ送信部１０３は、オーディオエンコーダ４０１またはオーディオ蓄積管理部４０２より供給された音声データをＲＴＰパケット化し、それに対応するオーディオ情報を、そのＲＴＰパケットのＲＴＰヘッダに付加して、ＲＴＰプロトコルによりネットワーク２を介してＰＣ１に送信する。
【０１１５】
図１３は、ストリーミングサーバ５より送信されるＲＴＰパケットのＲＴＰヘッダの他の例を示している。図１３のＲＴＰヘッダには、図５のＲＴＰヘッダの拡張ヘッダ２０２のピクチャ情報２１３の代わりに、オーディオ情報４１１が格納されている。
【０１１６】
したがって、ＲＴＰ送信部１０３は、この拡張ヘッダ２０２に、拡張ヘッダ２０２に含まれる情報がオーディオ情報４１１であること（いまの場合、音声データを示す０ｘ９０００）を示すプロファイルＩＤ２１１、ピクチャ情報のワード単位の長さ２１２（いまの場合、２）、および、このＲＴＰパケットに対応するオーディオ情報４１１を付加する。
【０１１７】
図１４は、図１３のオーディオ情報４１１を示している。図１４の例においては、オーディオ情報４１１は、各１ビットのＶ（Ｖａｌｉｄ  ｂｉｔ）およびＳ（Ｓｂｉｔ）、１４ビットのＲＦＵ（Ｒｅｓｅｒｖｅｄ  ｆｏｒ  Ｆｕｔｕｒｅ  Ｕｓｅ）、ＰＩ（Ｐｒｉｏｒｉｔｙ  Ｉｎｄｅｘ）、並びに、ＴＩＭＥ  ＳＴＡＭＰにより構成される。Ｖ（Ｖａｌｉｄ  ｂｉｔ）には、このオーディオ情報４１１が有効「１」であるか否「０」かを示す情報が格納される。次のＳ（Ｓｂｉｔ）には、対応するパケットの音声データが無音データである場合、「１」が格納される。また、無音データではない場合（有効な音声データである場合）、「０」が格納される。次のＲＦＵは、将来の拡張用に１４ビット分空けられている。次のＰＩには、音声データの優先度が格納される。オーディオ情報４１１の末尾にあるＴＩＭＥ  ＳＴＡＭＰには、既存ヘッダ２０１のＴＩＭＥ  ＳＴＡＭＰと同様に、ＲＴＰパケットが送信された時刻が示されているが、既存ヘッダ２０１のＴＩＭＥ  ＳＴＡＭＰよりも細かい時刻が示されている。
【０１１８】
なお、無音データは、例えば、会話における音声データの場合には、会話をしていないところを無音データにするなど、エンコーダ時にわかる情報により、音声データの種類、音声の強弱（聴覚上の重要度）に応じて、基準値が予め設定されており、その音声レベルの低い基準値よりも音声レベルが低い場合は、無音データとされる。また、音声データの優先度も同様に、エンコーダ時にわかる情報により、音声データの種類、音声の強弱（聴覚上の重要度）に応じて、予め設定される。
【０１１９】
以上のようなオーディオ情報４１１が付加されたＲＴＰパケットが、ストリーミングサーバ５より、ネットワーク２を介してＰＣ１に送信される。
【０１２０】
図１５は、ＰＣ１の機能構成例を示すブロック図である。図１５に示される機能ブロックは、ＰＣ１のＣＰＵ１１により所定の制御プログラムが実行されることで実現される。
【０１２１】
ユーザ端末１のＲＴＰ受信部３０１は、ストリーミングサーバ５よりネットワーク２を介して、ＲＴＰパケット化されたコンテンツデータを受信し、そのうちの音声データのＲＴＰパケットをパケットヘッダとパケットデータに分解する。また、ＲＴＰ受信部３０１は、そのパケットヘッダをオーディオヘッダ解析部５０１に出力し、パケットデータをオーディオリアセンブラ５０２に出力する。オーディオヘッダ解析部５０１は、ＲＴＰ受信部３０１から供給されたパケットヘッダを解析し、図１４を参照して説明したオーディオ情報およびその他のヘッダ情報を取得し、オーディオリアセンブラ５０２に供給する。
【０１２２】
オーディオリアセンブラ５０２は、ＲＴＰ受信部３０１より供給されたパケットデータ、および、オーディオヘッダ解析部５０１より供給されたヘッダ情報を組み合わせ、そのヘッダ情報に基づいて、パケットデータをオーディオ単位に組み立て、音声データを生成する。また、オーディオリアセンブラ５０２は、生成された音声データに、それに対応するオーディオ情報を付加し、オーディオキュー制御部５０３に供給する。具体的には、ＲＴＰパケットは、１ＭＴＵ（約１５００バイト）以下の場合が多いので、ストリーミングサーバ５は、ＲＴＰパケットを複数の音声データにより構成し送信してくる。オーディオリアセンブラ５０２は、そのパケットの中から、ヘッダ情報のタイムスタンプが同じもののみを組み立て直すことにより音声データを生成する。
【０１２３】
オーディオキュー制御部５０３は、ネットワーク２のジッタ吸収のために、オーディオリアセンブラ５０２より供給された音声データをオーディオデータキュー５０４に格納するとともに、オーディオデータキュー５０４の状態を管理する。
【０１２４】
例えば、オーディオデータキュー５０４には、第１のしきい値が予め設定されており、オーディオデータキュー５０４に第１のしきい値を越える音声データが格納された場合、オーディオキュー制御部５０３は、オーバフローが発生する可能性があると判断し、オーディオ情報に基づいて、オーディオデータキュー５０４に格納されている音声データを破棄する。さらに、オーディオデータキュー５０４には、第１のしきい値よりも小さい値である第２のしきい値が予め設定されており、オーディオデータキュー５０４に格納されている音声データが、第２のしきい値よりも少なくなった場合、オーディオキュー制御部５０３は、アンダフローが発生する可能性があると判断し、オーディオ情報に基づいて、無音データとされた音声データを、オーディオデータキュー５０４に格納せずに破棄する。
【０１２５】
オーディオデコーダ５０５は、オーディオキュー制御部５０３により管理されているオーディオデータキュー５０４から、音声データを取得し、デコードし、オーディオ出力制御部５０６に出力する。オーディオ出力制御部５０６は、オーディオデコーダ５０５によりデコードされた音声データをレンダリングし、スピーカ１８から再生させる。
【０１２６】
次に、図１６のフローチャートを参照して、ストリーミングサーバ５のコンテンツデータの送信処理を説明する。なお、この図１６の処理と併行して、図８の映像データの送信処理も実行されている。
【０１２７】
マイクロフォン５８は、集音した音声データをオーディオエンコーダ４０１に供給する。ステップＳ１０１において、オーディオエンコーダ４０１は、供給された音声データを、設定されたコーデック（例えば、ＡＴＲＡＣ３など）に従ってエンコードするとともに、その音声データに対応するオーディオ情報を生成し、オーディオ蓄積管理部４０２に出力する。ステップＳ１０２において、オーディオ蓄積管理部４０２は、オーディオエンコーダ４０１により供給された音声データおよびその音声データに対応するオーディオ情報を一旦記憶する。
【０１２８】
ＰＣ１は、後述する図１７のステップＳ１２１において、コンテンツデータの要求を、ＲＴＳＰプロトコルにより、ネットワーク２を介してストリーミングサーバ５に送信してくる。
【０１２９】
これに対して、ストリーミングサーバ５の通信部６２は、ＰＣ１１からのコンテンツデータの要求を受信し、受信した情報を、ＲＴＰ送信部１０３に供給する。ＲＴＰ送信部１０３は、ステップＳ１０３において、ＰＣ１１からのコンテンツデータの要求を受信したと判断するまで待機し、ステップＳ１０３において、ＰＣ１１からのコンテンツデータの要求を受信したと判断した場合、ステップＳ１０４において、ＰＣ１１からのコンテンツデータの要求に基づいて、オーディオ蓄積管理部４０２より音声データおよびそれに対応するオーディオ情報を取得する。ステップＳ１０５において、ＲＴＰ送信部１０３は、取得した音声データをＲＴＰパケット化し、それに対応するオーディオ情報を、そのＲＴＰパケットのＲＴＰヘッダに付加して、ＲＴＰプロトコルによりネットワーク２を介してＰＣ１に送信する。
【０１３０】
以上のようにして、オーディオ情報が付加されたＲＴＰパケットが、ストリーミングサーバ５より、ネットワーク２を介してＰＣ１に送信される。このストリーミングサーバ５の送信処理に対応するＰＣ１のコンテンツデータの受信処理を、図１７のフローチャートを参照して説明する。
【０１３１】
ユーザは、コンテンツを取得するために、入力部１６を操作して、ストリーミングサーバ５に対してコンテンツデータを要求するので、ステップＳ１２１において、ＣＰＵ１１は、通信部２０を制御し、ＲＴＳＰプロトコルにより、コンテンツデータの要求を、ネットワーク２を介して、ストリーミングサーバ５に送信させる。
【０１３２】
このようにして送信されたコンテンツデータの要求を、ストリーミングサーバ５は、上述した図１６のステップＳ１０３において受信し、ステップＳ１０５において、ＲＴＰプロトコルによりＲＴＰパケット化されたコンテンツデータ（音声データ）を送信してくる。ステップＳ１２２において、ＰＣ１１のＲＴＰ受信部３０１は、このＲＴＰパケットを受信し、その音声データのＲＴＰパケットをパケットヘッダとパケットデータに分解する。そして、ＲＴＰ受信部３０１は、そのパケットヘッダをオーディオヘッダ解析部５０１に出力し、パケットデータをオーディオリアセンブラ５０２に出力する。
【０１３３】
ステップＳ１２３において、オーディオヘッダ解析部５０１は、ＲＴＰ受信部３０１より供給されたパケットヘッダを解析し、オーディオ情報およびその他のヘッダ情報を取得し、オーディオリアセンブラ５０２に出力する。
【０１３４】
ステップＳ１２４において、オーディオリアセンブラ５０２は、ＲＴＰ受信部３０１より供給されたパケットデータ、および、オーディオヘッダ解析部５０１より供給されたヘッダ情報を組み合わせ、そのヘッダ情報に基づいて、パケットデータをオーディオ単位に組み立て、音声データを生成する。また、オーディオリアセンブラ５０２は、生成された音声データに、それに対応するオーディオ情報を付加し、オーディオキュー制御部５０３に供給する。
【０１３５】
ステップＳ１２５において、オーディオキュー制御部５０３は、オーディオリアセンブラ５０２より供給された音声データをオーディオデータキュー５０４に格納するとともに、オーディオデータキュー５０４の制御処理を実行する。このオーディオデータキュー５０４の制御処理については、図１８のフローチャートを参照して、詳しく後述する。
【０１３６】
ステップＳ１２６において、オーディオデコーダ５０５は、オーディオキュー制御部５０３により管理されているオーディオデータキュー５０４から、音声データを取得し、デコードし、オーディオ出力制御部５０６に出力する。
【０１３７】
ステップＳ１２７において、オーディオ出力制御部５０６は、オーディオデコーダ５０５によりデコードされたデータをレンダリングし、スピーカ１８から再生させる。ステップＳ１２８において、ＣＰＵ１１は、このコンテンツデータの再生が終了したか否か判断し、コンテンツデータの再生が終了したと判断された場合、ＰＣ１の受信処理は終了する。ステップＳ１２８において、コンテンツデータの再生が終了していないと判断された場合、処理は、ステップＳ１２２に戻り、それ以降の処理を繰り返す。
【０１３８】
以上のようにして、ＰＣ１においては、ストリーミングサーバ５からのコンテンツデータが受信され、スピーカ１８より音声が再生される。
【０１３９】
次に、図１８のフローチャートを参照して、図１７のステップＳ１２５におけるオーディオキュー制御部５０３によるオーディオデータキュー５０４の制御処理を説明する。
【０１４０】
ステップＳ１４１において、オーディオキュー制御部５０３は、図１７のステップＳ１２４においてオーディオリアセンブラ５０２より供給された音声データをオーディオデータキュー５０４に格納する。
【０１４１】
ステップＳ１４２において、オーディオキュー制御部５０３は、オーディオデータキュー５０４を常に監視しており、オーディオデータキュー５０４に格納されている音声データが、予め設定された第１のしきい値以上であるか否かを判断する。ステップＳ１４２において、オーディオデータキュー５０４に格納されている音声データが、予め設定された第１のしきい値以上であると判断された場合、オーディオキュー制御部５０３は、オーバフローが発生する可能性があるとし、ステップＳ１４３において、オーディオデータキュー５０４に格納されている音声データのオーディオ情報の「Ｓ」に「１」が格納されているか否か、すなわち、オーディオデータキュー５０４の音声データに無音データが存在するか否かを判断する。
【０１４２】
ステップＳ１４３において、オーディオデータキュー５０４に格納されている音声データに無音データが存在すると判断された場合、ステップＳ１４４において、オーディオキュー制御部５０３は、その無音データであると判断された（対応するオーディオ情報の「Ｓ」に「１」が含まれている）音声データを破棄する。
【０１４３】
ステップＳ１４３において、オーディオデータキュー５０４に格納されている音声データに無音データが存在しないと判断された場合、ステップＳ１４５において、オーディオキュー制御部５０３は、オーディオ情報の「ＰＩ」が最小の値の音声データが存在するか否かを判断する。オーディオ情報の「ＰＩ」には、音声データの優先度が格納されているので、ステップＳ１４５において、その優先度が最小の値である音声データが存在すると判断された場合、ステップＳ１４６において、オーディオキュー制御部５０３は、「ＰＩ」が最小の値である音声データを破棄する。
【０１４４】
ステップＳ１４５において、オーディオ情報の「ＰＩ」が最小の値の音声データが存在しないと判断された場合（例えば、オーディオ情報の「ＰＩ」がすべて同じ値である場合）、ステップＳ１４７において、オーディオキュー制御部５０３は、オーディオデータキュー５０４に格納されている先頭の音声データ（すなわち、シーケンスナンバの最小の音声データ）を破棄し、図１７のステップＳ１２６に進む。
【０１４５】
以上のようにして、オーディオデータキュー５０４にオーバフローが発生する可能性がある場合、オーディオ情報に基づいて、音声の強弱（聴覚上の重要度）に応じて、必要性のあまりない（無音データ、または優先度の最小の音声データ）を破棄するようにしたので、オーディオデータキュー５０４のオーバフローを未然に抑制することができるようになる。これにより、必要性のある音声データ（有音データ）が破棄されることが抑制されるため、音切れが防止され、再生される音声の品質低下が抑制される。
【０１４６】
次に、図１９を参照して、図１７のステップＳ１２５におけるオーディオデータキュー５０４の制御処理の他の例を説明する。
【０１４７】
ステップＳ１６１において、オーディオキュー制御部５０３は、オーディオリアセンブラ５０２より音声データが供給されるまで待機しており、ステップＳ１６１において、オーディオキュー制御部５０３は、オーディオリアセンブラ５０２より音声データが供給されたと判断された場合、ステップＳ１６２において、オーディオキュー制御部５０３は、オーディオデータキュー５０４に格納されている音声データが、予め設定された第２のしきい値以下であるか否かを判断する。なお、第２のしきい値は、第１のしきい値より小さい値である。
【０１４８】
ステップＳ１６２において、オーディオデータキュー５０４に格納されている音声データが、予め設定された第２のしきい値以下であると判断された場合、オーディオキュー制御部５０３は、アンダフローが発生する可能性があるとし、ステップＳ１６３において、ステップＳ１６１においてオーディオリアセンブラ５０２より供給された音声データのオーディオ情報の「Ｓ」に「１」が格納されているか否か、すなわち、音声データが無音データであるか否かを判断する。
【０１４９】
ステップＳ１６３において、オーディオリアセンブラ５０２より供給された音声データが無音データであると判断された場合、ステップＳ１６４において、オーディオキュー制御部５０３は、この無音データであると判断された音声データを破棄する。したがって、無音データであると判断された音声データは、オーディオデータキュー５０４に格納される前に破棄される。
【０１５０】
ステップＳ１６３において、オーディオリアセンブラ５０２より供給された音声データが無音データではないと判断された場合、ステップＳ１６５において、オーディオキュー制御部５０３は、その音声データをオーディオデータキュー５０４に格納すし、処理は、図１７のステップＳ１２６に進む。
【０１５１】
以上のようにして、アンダフローが発生する可能性がある場合、無音データであると判断された音声データを、オーディオデータキュー５０４に格納される前に破棄するようにしたので、無音データのデコード処理およびレンダリング処理する必要はない。これにより、有音データが早く処理されるようになり、アンダフローが発生した場合に、オーディオデータキュー５０４が空になったとしても、聴覚上の音切れを最小限に抑制することができる。
【０１５２】
なお、上記説明においては、ＡＴＲＡＣ３、ＭＰ３（ＭＰＥＧ  Ａｕｄｉｏ  Ｌａｙｅｒ−３）またはＬＰＣＭなどのコーデックが挙げられているが、他のコーデックについても本発明は適用される。
【０１５３】
また、上述した音声データのキューの制御処理は、映像データにおいても適用される。次に、映像データのキューの制御処理について説明する。
【０１５４】
図２０は、ＰＣ１の他の機能構成例を示すブロック図である。図２０のＰＣ１においては、図７のＰＣ１のシーク制御部３０７が、ピクチャキュー制御部６０１に置き換わった点のみが異なる。
【０１５５】
ピクチャキュー制御部６０１は、ネットワーク２のジッタ吸収のために、美レオビデオリアセンブラ３０３より供給された音声データをピクチャデータキュー３０４に格納するとともに、ピクチャデータキュー３０４の状態を管理する。
【０１５６】
ピクチャデータキュー３０４には、しきい値が予め設定されており、ピクチャデータキュー３０４にしきい値を越える音声データが格納された場合、ピクチャキュー制御部６０１は、オーバフローが発生する可能性があると判断し、ピクチャ情報（図６）に基づいて、ピクチャデータキュー３０４に格納されている映像データを破棄する。
【０１５７】
次に、図２１を参照して、図２０のＰＣ１のコンテンツデータ受信処理を説明する。なお、図２１のステップＳ２０１乃至Ｓ２０３並びにステップＳ２０７およびＳ２０８は、図９のステップＳ２１乃至Ｓ２３並びにステップＳ２８およびＳ２９と同様の処理を行うため、その詳細な説明は省略する。
【０１５８】
ステップＳ２０１において、ストリーミングサーバ５に対してコンテンツデータが要求されると、ストリーミングサーバ５は、図８のステップＳ５において、ＲＴＰパケット化されたコンテンツデータを送信してくるので、ステップＳ２０２において、ＲＴＰ受信部３０１により受信され、そのパケットヘッダがビデオヘッダ解析部３０２に出力され、パケットデータがビデオリアセンブラ３０３に出力される。ステップＳ２０３において、ビデオヘッダ解析部３０２によりパケットヘッダが解析され、ピクチャ情報およびその他のヘッダ情報が取得され、ビデオリアセンブラ３０３に出力される。
【０１５９】
ステップＳ２０４において、ビデオリアセンブラ３０３は、ヘッダ情報のタイムスタンプが同じものをシーケンス番号順に並べるように複数のパケットデータを組み立て直し、ピクチャデータを生成する。また、ビデオリアセンブラ３０３は、そのピクチャデータに対応するピクチャ情報を付加し、ピクチャキュー制御部６０１に供給する。
【０１６０】
ステップＳ２０５において、ピクチャキュー制御部６０１は、供給されたピクチャデータを、ピクチャデータキュー３０４に格納するとともにピクチャデータキュー３０４のキュー制御処理を実行する。このピクチャデータキュー３０４のキュー制御処理については、図２２のフローチャートを参照して、詳しく後述する。
【０１６１】
ステップＳ２０６において、ビデオデコーダ３０５は、ピクチャデータキュー３０４より格納されたピクチャデータを取得し、取得したピクチャデータをデコードし、ビデオ出力制御部３０６に出力する。ステップＳ２０７において、ビデオ出力制御部３０６は、ビデオデコーダ３０５により供給されたデコード済みデータをレンダリングし、ＬＣＤ１７に画像を表示、再生させる。ステップＳ２０８において、ＣＰＵ１１は、このコンテンツデータの再生が終了したか否か判断し、コンテンツデータの再生が終了したと判断された場合、ＰＣ１の受信処理は終了する。ステップＳ２０８において、コンテンツデータの再生が終了していないと判断された場合、処理は、ステップＳ２０２に戻り、それ以降の処理を繰り返す。
【０１６２】
次に、図２２のフローチャートを参照して、図２１のステップＳ２０５におけるピクチャキュー制御部６０１によるピクチャデータキュー３０４の制御処理を説明する。
【０１６３】
ステップＳ２２１において、ピクチャキュー制御部６０１は、図２１のステップＳ２０４において、ビデオリアセンブラ３０３より供給されたピクチャデータをピクチャデータキュー３０４に格納する。
【０１６４】
ステップＳ２２２において、ピクチャキュー制御部６０１はピクチャデータキュー３０４を常に監視しており、ピクチャデータキュー３０４に格納されている映像データが、予め設定されたしきい値以上であるか否かを判断する。ステップＳ２２２において、ピクチャデータキュー３０４に格納されているピクチャデータが、予め設定されたしきい値以上であると判断された場合、ピクチャキュー制御部６０１は、オーバフローが発生する可能性があるとし、ステップＳ２２３において、ピクチャデータキュー３０４からピクチャデータを取得し、ステップＳ２２４において、取得したピクチャデータのピクチャ情報の「Ｉ」に「１」が格納されているか否か、すなわち、ピクチャデータがＩピクチャであるか否かを判断する。
【０１６５】
ステップＳ２２４において、取得したピクチャデータがＩピクチャのピクチャデータではないと判断された場合、ステップＳ２２５において、Ｉピクチャではないとされたピクチャデータを破棄し、処理は、ステップＳ２２３に戻り、それ以降の処理を繰り返す。ステップＳ２２４において、取得したピクチャデータがＩピクチャのピクチャデータであると判断された場合、処理は、図２１のステップＳ２０６に進む。
【０１６６】
以上のようにして、ビデオデータキュー３０４にオーバフローが発生する可能性がある場合、ピクチャ情報に基づいて、Ｉピクチャ以外のピクチャデータをピクチャデータキュー３０４から破棄するようにしたので、ピクチャデータキュー３０４のオーバフローを未然に抑制することができるようになる。これにより、最も必要性があるＩピクチャのピクチャデータが破棄されるのが抑制され、再生される映像の品質低下が抑制される。
【０１６７】
以上のように、無駄なデコード処理が抑制されるので、システム負荷が軽減される。これにより、ＰＣ１はもちろんのこと、ＰＤＡなどのシステムリソースが充分にないデバイスにおいてもコンテンツデータがスムーズに再生される。
【０１６８】
なお、上記説明においては、ストリーミングサーバ５とＰＣ１を用いて説明したが、例えば、ストリーミングサーバ５とＰＤＡ３または携帯電話機４を用いても、本発明は適用される。さらに、携帯電話機４−１および４−２における双方向のストリーミング送受信にも本発明は適用される。
【０１６９】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【０１７０】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図２および図３に示されるように、磁気ディスク３１，７１（フレキシブルディスクを含む）、光ディスク３２，７２（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）を含む）、光磁気ディスク３３，７３（ＭＤ（Ｍｉｎｉ−Ｄｉｓｃ）（商標）を含む）、もしくは半導体メモリ３４，７４などよりなるパッケージメディア、または、プログラムが一時的もしくは永続的に格納されるＲＯＭ１２，５２や、記憶部１９，６１などにより構成される。
【０１７１】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１７２】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１７３】
【発明の効果】
以上の如く、本発明によれば、システムの負荷を軽減することができる。また、本発明によれば、画像の品質劣化を抑制することができる。さらに、本発明によれば、音声の品質劣化を抑制することができる。
【図面の簡単な説明】
【図１】本発明を適用したストリーミングコンテンツ提供システムの構成例を示す図である。
【図２】図１のＰＣの構成例を示すブロック図である。
【図３】図１のストリーミングサーバの構成例を示すブロック図である。
【図４】図１のストリーミングサーバの機能構成例を示すブロック図である。
【図５】本発明のＲＴＰパケットのヘッダの構成例を説明する図である。
【図６】図５のピクチャ情報の構成例を説明する図である。
【図７】図１のＰＣの機能構成例を示すブロック図である。
【図８】図４のストリーミングサーバの送信処理を説明するフローチャートである。
【図９】図７のＰＣの受信処理を説明するフローチャートである。
【図１０】図９のステップＳ２５のシーク処理を説明するフローチャートである。
【図１１】図９のステップＳ２７のデコード処理を説明するフローチャートである。
【図１２】図１のストリーミングサーバの他の機能構成例を示すブロック図である。
【図１３】本発明のＲＴＰパケットのヘッダの他の構成例を説明する図である。
【図１４】図１３のオーディオ情報の構成例を説明する図である。
【図１５】図１のＰＣの機能構成例の他の例を示すブロック図である。
【図１６】図１２のストリーミングサーバの送信処理を説明するフローチャートである。
【図１７】図１５のＰＣの受信処理を説明するフローチャートである。
【図１８】図１７のステップＳ１２５のデータキュー制御処理を説明するフローチャートである。
【図１９】図１７のステップＳ１２５のデータキュー制御処理の他の例を説明するフローチャートである。
【図２０】図１のＰＣの機能構成例のさらに他の例を示すブロック図である。
【図２１】図２０のＰＣの受信処理を説明するフローチャートである。
【図２２】図２１のステップＳ２０５のデータキュー制御処理を説明するフローチャートである。
【符号の説明】
１−１，１−２  ＰＣ，２  ネットワーク，３  ＰＤＡ，４  携帯電話機，５ストリーミングサーバ，６  カメラ，５７  撮像部，５８  マイクロフォン，１０１  ビデオエンコーダ，１０２  ビデオ蓄積管理部，１０３  ＲＴＰ送信部，２１３，ピクチャ情報，３０１  ＲＴＰ受信部，３０２  ビデオヘッダ解析部，３０３  ビデオリアセンブラ，３０４  ピクチャデータキュー，３０５  ビデオデコーダ，３０６  ビデオ出力制御部，３０７  シーク制御部，４０１  オーディオエンコーダ，４０２  オーディオ蓄積管理部，４１１  オーディオ情報  ，５０１  オーディオヘッダ解析部，５０２  オーディオリアセンブラ，５０３  オーディオキュー制御部，５０４  オーディオデータキュー，５０５  オーディオデコーダ，５０６  オーディオ出力制御部，６０１  ピクチャキュー制御部
【図１】
2004173091.tif 000003
【図２】
2004173091.tif 000004
【図３】
2004173091.tif 000005
【図４】
2004173091.tif 000006
【図５】
2004173091.tif 000007
【図６】
2004173091.tif 000008
【図７】
2004173091.tif 000009
【図８】
2004173091.tif 000010
【図９】
2004173091.tif 000011
【図１０】
2004173091.tif 000012
【図１１】
2004173091.tif 000013
【図１２】
2004173091.tif 000014
【図１３】
2004173091.tif 000015
【図１４】
2004173091.tif 000016
【図１５】
2004173091.tif 000017
【図１６】
2004173091.tif 000018
【図１７】
2004173091.tif 000019
【図１８】
2004173091.tif 000020
【図１９】
2004173091.tif 000021
【図２０】
2004173091.tif 000022
【図２１】
2004173091.tif 000023
【図２２】
2004173091.tif 000024