(57)【要約】【課題】バースト的なパケット欠落が発生した時に再生映像が乱れる不都合を抑制できるようにする。【解決手段】映像配信装置より受信した映像ストリームを映像再生部へ供給して映像再生を行っている際に発生したエラー発生位置を検出する検出手段と、前記検出手段による検出位置と、前記映像ストリームにおける所定同期符号との位置関係に基づいて再生開始時間を決定する決定手段と、前記決定手段により決定された再生開始時間を指定して、前記映像配信装置に対して前記映像ストリームの送信要求を行う制御手段とを設け、ＦＥＣで復元できないパケットロスに対して特殊再生を実行することにより、パケット欠落が発生した映像ストリームを自動再送できるようにする。【選択図】  図２
2010034897.tif 000002
【特許請求の範囲】
【請求項１】
映像配信装置より受信した映像ストリームを映像再生部へ供給して映像再生を行っている際に発生したエラー発生位置を検出する検出手段と、
前記検出手段による検出位置と、前記映像ストリームにおける所定同期符号との位置関係に基づいて再生開始時間を決定する決定手段と、
前記決定手段により決定された再生開始時間を指定して、前記映像配信装置に対して前記映像ストリームの送信要求を行う制御手段とを備えることを特徴とする映像受信装置。
【請求項２】
前記制御手段は、前記送信要求に応じて前記映像配信装置より送信される映像ストリームから前記検出位置を特定し、前記特定した検出位置から映像ストリームを前記映像再生部へ供給再開することを特徴とする請求項１に記載の映像受信装置。
【請求項３】
前記制御手段は、前記検出位置からの映像ストリームの供給再開を、バッファを介して行うことを特徴とする請求項２に記載の映像受信装置。
【請求項４】
前記検出位置は、前記映像ストリーム内の各映像フレームを特定する情報であることを特徴とする請求項１〜３の何れか１項に記載の映像受信装置。
【請求項５】
前記所定同期符号は、GOPの開始を示すGOPヘッダであることを特徴とする請求項１〜４の何れか１項に記載の映像受信装置。
【請求項６】
前記決定手段は、前記検出位置のGOP内の位置がGOPの最後尾から所定範囲にある場合には、当該検出位置から当該GOPの中央方向にマージンをもたせて前記再生開始時間を決定することを特徴とする請求項１〜５の何れか１項に記載の映像受信装置。
【請求項７】
前記決定手段は、前記検出位置のGOP内の位置がGOP先頭から所定範囲にある場合には、前記検出位置から前記GOPの中央方向にマージンをもたせて前記再生開始時間を決定することを特徴とする請求項１〜５の何れか１項に記載の映像受信装置。
【請求項８】
前記所定同期符号は、シーケンスヘッダ、Iピクチャ、IDRピクチャまたはリカバリポイントSEIのいずれかの開始を示す同期符号であることを特徴とする請求項１〜４の何れか１項に記載の映像受信装置。
【請求項９】
前記決定手段は、前記制御手段が以前に要求した映像ストリームにおいて最初に出現する所定同期符号に基づいて前記再生開始時間を決定することを特徴とする請求項１〜８の何れか１項に記載の映像受信装置。
【請求項１０】
映像配信装置より受信した映像ストリームを映像再生部へ供給して映像再生を行っている際に発生したエラー発生位置を検出する検出工程と、
前記検出工程において検出された検出位置と、前記映像ストリームにおける所定同期符号との位置関係に基づいて再生開始時間を決定する決定工程と、
前記決定工程において決定された再生開始時間を指定して、前記映像配信装置に対して前記映像ストリームの送信要求を行う制御工程とを備えることを特徴とする映像受信方法。
【請求項１１】
映像配信装置より受信した映像ストリームを映像再生部へ供給して映像再生を行っている際に発生したエラー発生位置を検出する検出工程と、
前記検出工程において検出された検出位置と、前記映像ストリームにおける所定同期符号との位置関係に基づいて再生開始時間を決定する決定工程と、
前記決定工程において決定された再生開始時間を指定して、前記映像配信装置に対して前記映像ストリームの送信要求を行う制御工程とをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は映像受信装置及び映像受信方法に関し、特に、ネットワークを介して送られる配信映像を受信するために用いて好適な技術に関する。
【背景技術】
【０００２】
近年、映像圧縮技術の発展及び高速ネットワークの普及にとともに、ネットワーク経由の映像配信サービスが広まりつつある。映像配信サービスは、放送型、ビデオオンデマンド型、ダウンロード型に分類できる。このうち、ビデオオンデマンド型の映像配信サービスは、視聴者が見たいときに見たいコンテンツを選択して視聴することができるので、その利便性が優れており、今後の普及が見込まれている。
【０００３】
また、映像配信サービスは即時性が要求される。このため、配信プロトコルとしてRTP（Real-time Transport Protocol）プロトコル、その下位層プロトコルとしてUDP（User Datagram Protocol）プロトコルが採用されている。
【０００４】
これらのRTP/UDPは、パケット欠落等の伝送エラーに対する再送機能を持たないため、伝送エラー対策としてFEC（Forward Error Correction）と呼ばれる誤り訂正技術が採用されている。
【０００５】
誤り訂正技術が採用されている従来例として、種々の技術が提案されている。例えば、特許文献１においては、パケットロスト発生時の再送要求の送信タイミングを制御して、不要な再送要求の送信を抑制しつつ、最適な遅延時間で映像や音声の再生を可能とするパケットエラー訂正装置が提案されている。
【０００６】
また、特許文献２においては、RTSPメソッドを用いて受信バッファの状態に応じたフロー制御を行う。そして、受信バッファの上限値を超えたらPAUSEにより一時停止し、その後下限値以下になったらPLAYにより再開するようにした、ストリーム再生方法が提案されている。
【０００７】
【特許文献１】特開２００５−１５９４３３号公報
【特許文献２】特開２００５−３０３７８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、FECはバースト的なパケット欠落に対しては効果が弱いため、伝送エラーによる再生映像の乱れを確実に抑えることは困難である。特に、ビデオオンデマンド型の映像配信サービスから有料コンテンツを購入した視聴者にとっては、折角対価を支払ったのだから、乱れの無い安定した再生映像を鑑賞したい、という強い要求がある。
【０００９】
本発明は前述の問題点に鑑み、バースト的なパケット欠落が発生した時に再生映像が乱れる不都合を抑制できるようにすることを目的としている。
【課題を解決するための手段】
【００１０】
本発明の映像受信装置は、映像配信装置より受信した映像ストリームを映像再生部へ供給して映像再生を行っている際に発生したエラー発生位置を検出する検出手段と、前記検出手段による検出位置と、前記映像ストリームにおける所定同期符号との位置関係に基づいて再生開始時間を決定する決定手段と、前記決定手段により決定された再生開始時間を指定して、前記映像配信装置に対して前記映像ストリームの送信要求を行う制御手段とを備えることを特徴とする。
【００１１】
本発明の映像受信方法は、映像配信装置より受信した映像ストリームを映像再生部へ供給して映像再生を行っている際に発生したエラー発生位置を検出する検出工程と、前記検出工程において検出された検出位置と、前記映像ストリームにおける所定同期符号との位置関係に基づいて再生開始時間を決定する決定工程と、前記決定工程において決定された再生開始時間を指定して、前記映像配信装置に対して前記映像ストリームの送信要求を行う制御工程とを備えることを特徴とする。
【００１２】
本発明のコンピュータプログラムは、映像配信装置より受信した映像ストリームを映像再生部へ供給して映像再生を行っている際に発生したエラー発生位置を検出する検出工程と、前記検出工程において検出された検出位置と、前記映像ストリームにおける所定同期符号との位置関係に基づいて再生開始時間を決定する決定工程と、前記決定工程において決定された再生開始時間を指定して、前記映像配信装置に対して前記映像ストリームの送信要求を行う制御工程とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、再送機能の無い映像配信サービスからの映像配信において伝送エラーに対する自動再送処理を実現することができ、ネットワーク配信映像の再生映像が乱れるのを抑制することができる。
【発明を実施するための最良の形態】
【００１４】
（第１の実施形態）
図１は、第１の実施形態を示し、映像ストリーム受信システムの構成例を示すブロック図である。
図１に示したように、映像受信装置１００は、ネットワーク１０２を介して映像配信サーバ１０１から映像ストリームを受信する。
【００１５】
本実施形態の映像受信装置１００において、映像ストリームの配信プロトコルには、RTP（Real-time Transport Protocol）プロトコルが採用されている。また、その下位層プロトコルとしてUDP（User Datagram Protocol）プロトコルが採用されており、エラー再送のプロトコルは具備しない。
【００１６】
映像ストリームの再生開始や停止、更には早送り、巻戻し、一時停止等の特殊再生を行うプロトコルには、RTSP（Real time Streaming Protocol）プロトコルが採用されている。映像受信装置１００は、映像配信サーバ１０１から送られる映像ストリームを受信する映像受信部１０３と、受信した映像ストリームをディスプレイ１０５に再生・出力する映像再生部１０４とを有する。
【００１７】
図２に、第１の実施形態における映像受信部１０３の構成例を示す。
図２において、主制御部２０１は、映像受信部１０３全体の制御を司る。ネットワーク制御部２０２は、RTPプロトコル及びRTSPプロトコルにより映像配信サーバ１０１から送られる映像ストリームを受信する。
【００１８】
メモリ部２０３は、受信した映像ストリームを一時格納するための受信バッファ等を有している。計時部２０４は、映像ストリームの再生時間を計時するため等に使用される。バスブリッジ２０５は、映像再生部１０４と接続するために使用される。これにより、映像再生部１０４はバスブリッジ２０５を介してメモリ部２０３にアクセスすることが可能となる。また、インターフェース制御部２０６を介して映像再生部１０４と制御情報のやりとりを行うことが可能な構成になっている。
【００１９】
図３に、第１の実施形態における映像ストリームの伝送フォーマットの一例を示す。
映像配信サーバ１０１から送られる映像ストリームは、MPEG-2またはH.264方式で符号化され、TS（Transport Stream）パケットの形式でMPEG-2システム規格に基づいて多重化されている。
【００２０】
TSパケット化された映像ストリーム３０５、３０６、・・・３０７は、ペイロード３０４に配置される。また、RTPヘッダ３０３、UDPヘッダ３０２、IP（Internet Protocol）ヘッダ３０１が付加され、IPパケット化として伝送される。
【００２１】
図４に、映像受信装置１００が映像配信サーバ１０１から送られる映像ストリームを受信するための伝送プロトコルシーケンスの一例を示す。
本シーケンス例では、映像コンテンツの先頭から映像ストリームの配信が開始される（ステップＳ４０１〜Ｓ４０３）。また、配信の途中で、特殊再生の１方式である遡ったストリーム位置から送られる映像ストリームの配信を行っている（ステップＳ４０４〜Ｓ４０８）。
【００２２】
ステップＳ４０１では、映像配信サーバ１０１に対してRTSPプロトコルにおけるPLAYコマンドを送信する。このとき、再生開始位置として再生時間０秒を指定する。ここで、再生開始位置は映像コンテンツの先頭からの再生時間により指定される。映像コンテンツの先頭を指定する場合には再生時間０秒を指定すればよい。
【００２３】
ステップＳ４０２では、PLAYコマンドに対するレスポンスを映像配信サーバ１０１から受信する。ステップＳ４０３では、映像配信サーバ１０１から送られる映像ストリームを受信する。その後、ユーザ操作等により、ステップＳ４０４以降の特殊再生プロトコルシーケンスが実行される。
【００２４】
ステップＳ４０４では、RTSPプロトコルにおけるPAUSEコマンドを映像配信サーバ１０１に対して送信する例を示している。ステップＳ４０５では、PAUSEコマンドに対するレスポンスを映像配信サーバ１０１から受信する。ここで、当該レスポンスにはPAUSEコマンドにより中断された時点の再生時間が記載されている。
【００２５】
映像受信部１０３は、当該再生時間（映像配信サーバ１０１が計時している再生時間）と計時部２０４により計時している再生時間とにずれがある場合には再生時間の調整を行う。
【００２６】
ステップＳ４０６では、映像配信サーバ１０１に対してPLAYコマンドを送信する。このとき、再生開始位置として所望の再生時間を指定する。ステップＳ４０７では、PLAYコマンドに対するレスポンスを映像配信サーバ１０１から受信する。ステップＳ４０８では、ステップＳ４０６で指定した再生時間に対応したストリーム位置から送られる映像ストリームを受信する。
【００２７】
次に、欠落したRTPパケットを復元するためのFECパケット処理の一例について説明する。
図４で示した伝送プロトコルを実行している間、映像配信サーバ１０１と映像受信装置１００との間でFECパケットの伝送が別途行われている。
【００２８】
図５に、RTPパケットとFECパケットの対応関係の一例を示す。
この例では、D×L個のRTPパケット５０１に対して、L個の横方向のFECパケット５０２と、D個の縦方向のFECパケット５０３が映像配信サーバ１０１から伝送される。以下の説明においては、D×L個のRTPパケット５０１単位（以下、FEC処理単位と称する）でFEC処理が行われる。
【００２９】
すなわち、映像受信部１０３は、D×L個のRTPパケット５０１に対して、横方向のFECパケット５０２または縦方向のFECパケット５０３のいずれかを用いて誤り検出を行う。また、パケット欠落が発生した場合には、対応する横方向のFECパケット５０２または縦方向のFECパケット５０３を使用して当該欠落パケットの復元を行う。
【００３０】
バースト的なパケット欠落が発生した場合等において、前述したFECパケット処理で対応不能な伝送エラーが発生した場合には何か別の対応が必要となる。前述の通り、映像配信サーバ１０１は、映像ストリームをRTP/UDPプロトコルにより伝送するので、エラー再送機能を具備していない。
【００３１】
そこで、本実施形態では、伝送エラーが発生したときには、図４を参照しながら説明したステップＳ４０４〜Ｓ４０８の特殊再生プロトコルシーケンスを実行する。そして、伝送エラーが発生した映像ストリーム位置の前から再生を再開することによりエラー再送を実現している。
【００３２】
すなわち、伝送エラーが発生したときに、伝送エラーが発生した映像ストリーム位置より前から再生が開始されるように再生時間を決定し、当該再生時間を指定したPLAYコマンドを映像配信サーバ１０１に送信する。
【００３３】
次に、再生時間を指定したPLAYコマンドを映像受信装置１００から受信した場合に、映像配信サーバ１０１で行われる処理の一例について説明する。
映像配信サーバ１０１は、映像受信装置１００から指定された再生時間に対応する映像ストリーム位置を特定する。
【００３４】
ここで、映像受信装置１００側の再生時間計時と映像配信サーバ１０１側の再生時間計時とのずれにより、映像受信装置１００側で認識する映像ストリーム位置と映像配信サーバ１０１が認識する映像ストリーム位置がずれるケースが生じる。さらに、一般には、映像配信サーバ１０１が認識した映像ストリーム位置をそのまま再生開始位置に採用するのではなく、その近傍の区切りの良いストリーム位置を再生開始位置に採用する。例えば、映像ストリームがMPEG-2方式により符号化されている場合には、ランダムアクセス単位としてGOP（Group Of Picture）が存在する。
【００３５】
図６（ａ）、（ｂ）に示すように、映像ストリーム内における区切りの良い同期符号であるGOPヘッダ６０１〜６０４が再生開始位置として採用される。映像受信装置１００から送られるPLAYコマンドで指定された再生時間が、符号６０５で示したストリーム位置を示している場合には、当該ストリーム位置を含んだGOPのGOPヘッダ６０２が再生開始位置として採用される。
【００３６】
すなわち、映像受信装置１００側の再生時間計時と、映像配信サーバ１０１側の再生時間計時とのずれ、及び映像配信サーバ側の再生開始位置決定プロセスの存在により、映像受信装置１００が意図しない再生開始位置が採用される場合が生じる。
【００３７】
例えば、伝送エラー発生位置がストリーム位置６０５であったとする。この場合、ストリーム位置６０５に対応した再生時間を指定したPLAYコマンドに対して、映像配信サーバ１０１側は再生時間計時のずれにより当該PLAYコマンドに対応するストリーム位置を６０６と認識してしまう場合がある。このような誤認識が行われた場合には、映像配信サーバ１０１側でGOPヘッダ６０２ではなくGOPヘッダ６０３を再生開始位置として決定してしまうことになる。
【００３８】
そこで、本実施形態では、映像再生部への供給が中断したストリーム位置からのデータが確実に再送されるように映像配信サーバ１０１に指定する再生時間を決定する。図６に示した例では、伝送エラーが発生したストリーム位置６０５を、エラー発生を検出した検出位置とする。そして、この検出位置が次のGOP先頭であるＧＯＰヘッダ６０３から所定範囲にある場合には、ストリーム位置６０５が属するGOPの中央付近のストリーム位置６０７に対応する再生時間を、再生開始時間としてPLAYコマンドで指定する。
【００３９】
このように再生開始時間指定して、映像配信サーバ１０１に対して送信要求を行うことにより、映像受信装置１００と映像配信サーバ１０１との間の再生時間計時のずれに対して所定のマージンを確保することができる。したがって、映像受信装置１００と映像配信サーバ１０１との間に再生時間計時のずれが有っても、伝送エラーが発生したストリーム位置６０５が属するGOPのGOPヘッダ６０２を再生開始位置とすることができる。
【００４０】
一方、図６（ｂ）に示すように、伝送エラーが発生したストリーム位置６０８が、自身の属するGOP内の最後尾から所定範囲にある場合には、自身が属するGOPの中央方向のストリーム位置６０９に対応する再生時間をPLAYコマンドで指定する。これにより、伝送エラーが発生したストリーム位置６０８が属するGOPのGOPヘッダ６０３を再生開始位置とすることができる。したがって、再生時間計時のずれにより、PLAYコマンドに対応するストリーム位置を符号６１０の位置と認識してしまい、必要以上に前方のGOPヘッダ６０２が再生開始位置となってしまう不都合を防ぐことができる。
【００４１】
伝送エラーが発生したストリーム位置より前のストリームは既受信済みなので、再送時は冗長なデータとなってしまう。そこで、伝送エラーが発生したストリーム位置より必要以上に前のGOPヘッダ６０２を再生開始位置としないようにすることにより、冗長データの伝送による遅延の発生を抑制した、映像ストリームの供給再開を実現することができる。
【００４２】
図７に、映像受信部１０３における受信した映像ストリームのデータフローを示す。
映像受信部１０３は、映像ストリームを受信するためのバッファとして、ソケットバッファ７０１、RTPバッファ７０２、TSバッファ７０３をメモリ部２０３に有している。
【００４３】
ソケットバッファ７０１は、ネットワーク制御部２０２により受信した映像ストリームをUDPパケットレベルで格納する。RTPバッファ７０２は、ソケットバッファ７０１に格納されているUDPパケットからRTPパケットを読み出して格納する（データフロー７０４）。
【００４４】
データフロー７０４では、RTPパケットヘッダのシーケンス番号が連続しているか否かをチェックすることによりパケット欠落が発生しているか否かを判定する。また、所定期間、次のRTPパケットが取得できない場合にもパケット欠落が発生したものと判定する。欠落したRTPパケットは、図５で説明したFECパケットにより復元される。なお、バースト的なパケット欠落によりFECパケットでも復元できないRTPパケットが存在する場合には、「エラー再送要」と判断する。
【００４５】
TSバッファ７０３は、RTPパケットのペイロードからTSパケットを読み出して格納する（データフロー７０５）。そして、「エラー再送要」と判断した場合には、中断位置検出処理、エラー再送処理、及び、再生再開処理を実行する。
【００４６】
中断位置検出処理では、FECで復元できないパケット欠落が発生した場合に、映像再生部１０４への供給が中断した中断位置と、当該中断位置と映像ストリームにおける所定同期符号（例えば、GOPヘッダ）との位置関係を検出する。
【００４７】
エラー再送処理では、中断位置検出処理で検出した中断位置と位置関係に基づいて、中断位置からのデータが確実に再送されるように映像配信サーバに指定する再生時間を決定し、当該再生時間を指定したPLAYコマンドを映像配信サーバ１０１に送信する。
【００４８】
再生再開処理では、映像再生部１０４へのデータ供給を中断位置から再開する。中断位置検出処理、エラー再送処理、及び再生再開処理の詳細は後述する。
【００４９】
TSバッファ７０３に格納されたTSパケットは、映像再生部１０４により読み出される。映像再生部１０４により読み出されたTSパケットのペイロード内の映像ストリームは、デコードされた後、ディスプレイ１０５に出力される。
【００５０】
映像受信部１０３によるTSバッファ７０３へのTSパケットの書き込み、及び映像再生部１０４によるTSバッファ７０３からのTSパケットの読み出しのフロー制御情報は、インターフェース制御部２０６を介してやりとりされる。
【００５１】
本実施形態では、映像受信部１０３は、映像再生部１０４に対してPES（Packetized Elementary Stream）単位で読み出し許可を与える。したがって、伝送エラーにより映像再生部１０４へのストリーム供給が中断した場合、その中断位置は最後に正常に受信されたPESにおけるラストバイトの次のバイトとなる。なお、PESは実質的に１つの映像フレームに対応するデータの固まりであり、映像再生部１０４で供給する単位としてハンドリングしやすい。
【００５２】
映像受信部１０３は、映像コンテンツの先頭からの再生開始を行う際に、所定量の映像ストリームがTSバッファ７０３に蓄積されてから映像再生部１０４に再生開始を指示する。これは、ネットワーク１０２上のジッタを吸収するためである。
【００５３】
したがって、FECで救済できない伝送エラーが発生しても、映像再生部１０４の読み出し位置がエラー中断位置に到達する前にエラー再送により当該中断位置以降のストリームをTSバッファ７０３内に蓄積することが可能となる。
【００５４】
また、TSバッファ７０３がアンダーフローした場合は、映像再生部１０４はエラー中断位置直前の映像フレームをディスプレイ１０５に出力し続けて映像フリーズ状態になる。この場合も、エラー中断位置以降のストリームが映像再生部１０４に供給されることで、フリーズ状態にある映像フレームの次の映像フレームからシームレスに再生を再開することが可能となる。
【００５５】
図８は、映像受信部１０３における中断位置検出処理の一例を示すフローチャートである。このフローチャートに示した処理は図７で示したデータフロー７０５に相当し、RTPバッファ７０２への映像ストリームの蓄積が開始されたことに応じて開始する。
【００５６】
先ず、ステップＳ８０１では、計時部２０４により再生時間の計時を開始する。次に、ステップＳ８０２では、RTPバッファ７０２からRTPパケット群をFEC処理単位で読み込む。次に、ステップＳ８０３では、ステップＳ８０２で読み込んだRTPパケット群に対して、図５で説明したFEC処理を実行する。
【００５７】
次に、ステップＳ８０４では、「エラー再送要」か否かを判断する。この判断の結果、否定判断の場合はステップＳ８０５に進む。ステップＳ８０５では、ステップＳ８０２で読み込んだRTPパケット群に対して、GOPヘッダが存在するか否かを判断する。この判断の結果、GOPヘッダが存在する場合には、ステップＳ８０６に進んでそのGOPヘッダをメモリ部２０３のワークメモリに記憶する。更に、その際、当該GOPヘッダに対応する再生時間をメモリ部２０３のワークメモリ２０３ａに記憶する。
【００５８】
次に、ステップＳ８０７では、GOP内カウンタの最大値を取得する。GOP内カウンタは、GOP内のPESヘッダを計数するカウンタである。２番目のGOPヘッダを検出したときに前回GOPのGOPカウンタを最大値として取得する。次に、ステップＳ８０８では、GOP内カウンタを零に初期化する。その後、ステップＳ８０９に進む。なお、ステップＳ８０５の判断の結果、GOPヘッダが存在しない場合にはステップＳ８０９に直接進む。
【００５９】
ステップＳ８０９では、ステップＳ８０２で読み込んだRTPパケット群に対して、PESヘッダが存在するか否かを判断する。この判断の結果、PESヘッダが存在する場合には、ステップＳ８１０に進んでGOP内カウンタを１つ増加する。その後、ステップＳ８１１に進む。また、ステップＳ８０９の判断の結果、PESヘッダが存在しない場合にはステップＳ８１０を経由しないでステップＳ８１１に進む。
【００６０】
ステップＳ８１１では、ステップＳ８０２で読み込んだRTPパケット群のペイロードに配置されているTSパケットをTSバッファに書き込む。ここで、ステップＳ８０５におけるGOPヘッダの検出、及びステップＳ８０９におけるPESヘッダの検出のために、すべてのTSパケットを解析する必要はない。すなわち、パケットIDにより弁別される映像TSパケットについてのみ行えばよい。更には、TSパケットのヘッダ内に存在するペイロードユニット開始インジケータの値が"１"の映像TSパケットとその近傍の映像TSパケットについて解析すればよい。
【００６１】
一方、ステップＳ８０４の判断の結果、「エラー再送要」と判断された場合にはステップＳ８１２〜Ｓ８１４が実行される。
ステップＳ８１２では、ステップＳ８０６で記憶したラストのGOPヘッダと、GOP内カウンタの現在値からエラー中断位置を検出する。すなわち、ラストに記憶したGOPヘッダ内のタイムコードにより映像ストリームにおける当該GOPを特定し、更にGOP内カウンタにより当該GOPの何番目のPESがエラー中断位置であるかを特定する。このとき、エラー中断位置に特定されたPESおよび後続のPESを読み出さないように映像再生部１０４に指示する。
【００６２】
次に、ステップＳ８１３では、ステップＳ８１２で特定されたエラー中断位置たるGOP内カウンタと、ステップＳ８０７で取得したGOP内カウンタ最大値に基づいてエラー中断位置とGOPヘッダとの位置関係を把握する。これにより、映像配信サーバ１０１に指定する再生時間を決定する。
【００６３】
まず、GOP内カウンタとGOP内カウンタ最大値から、エラー中断位置がGOP内のどの位置にあるかを把握する。たとえば、GOP内カウンタ最大値が"１５"でGOP内カウンタが"１"の場合は、エラー中断位置が自身の属するGOPのGOPヘッダの近傍にあると判断する。また、GOP内カウンタ最大値が"１５"でGOP内カウンタが"１５"の場合は、エラー中断位置が自身の属するGOPの次GOPのGOPヘッダ近傍にあると判断できる。
【００６４】
このように、エラー中断位置とGOPヘッダの位置関係とを把握した後、図６で説明したGOP中央付近に対応する再生時間をPLAYコマンドで指定する。GOP中央付近の再生時間については、ステップＳ８０６で記憶したGOPヘッダに対応する再生時間に１つのGOPの再生時間を半分にした値を加えればよい。前述したプロセスにより決定した再生時間を指定したPLAYコマンドを映像配信サーバ１０１に送信する。
【００６５】
次に、ステップＳ８１４では、ステップＳ８１３のエラー再生処理に応じて再開した映像配信サーバ１０１から送られる映像ストリームから、ステップＳ８１２で特定したエラー中断位置以降からのデータをTSバッファ７０３に書き込む。そして、ステップＳ８１２でエラー中断位置に特定されたPESがTSバッファに７０３に蓄積された後、映像再生部１０４にPESの読み出し再開を指示する。
【００６６】
映像ストリームからエラー中断位置を特定するには、ステップＳ８１２で特定したGOPヘッダとGOP内カウンタからPESヘッダのストリーム位置を特定すればよい。以降、映像ストリームの受信及び再生が再開される。ステップＳ８１１、またはステップＳ８１４の処理を終了した後はステップＳ８０２に戻って前述した処理を繰り返し行う。
【００６７】
以上説明したように、第１の実施形態によれば、再送機能の無い映像配信サービスにおいて、誤り訂正処理では復元できない伝送エラーに対する自動再送を実現することができる。
【００６８】
＜第２の実施形態＞
前述した第１の実施形態では、エラー再送時に指定する再生時間を決定するプロセスで使用する同期符号としてGOPヘッダを例に説明した。しかし、GOPヘッダ以外にも当該同期符号として下記のものを使用するようにしてもよい。
【００６９】
シーケンスヘッダは、画面のフォーマットなど再生に必要な情報を指定する制御情報の同期符号で、映像ストリーム中の所定タイミング毎に挿入される。また、IピクチャのPESヘッダは、単独で復号が可能なため、特殊再生における再生開始位置とされる場合がある。
【００７０】
クローズドGOPは、最初のいくつかの Bピクチャ が前の GOP に依存しないので、映像配信サーバ１０１で再生開始位置とされる可能性がある。H.264符号化方式により符号化された映像ストリームには複数の同期符号が存在する。１つの同期符号はIDRピクチャ（Instantaneous Decoder Refreshピクチャ）である。また、他の同期符号はリカバリポイントSEI（Supplemental Enhancement Information）である。これらの同期符号は、いずれもランダムアクセスに対応するための同期ポイントであり、映像配信サーバ１０１で再生開始位置とされる可能性がある。
【００７１】
このように、映像配信サーバ１０１が再生開始位置として使用する可能性のある同期符号をエラー再送時に指定する再生時間を決定するプロセスに使用することにより、様々な映像配信サーバに対応することが可能となる。
【００７２】
＜第３の実施形態＞
前述した第２の実施形態では、映像配信サーバ１０１が再生開始位置として使用する可能性のある同期符号をエラー再送時に指定する再生時間を決定するプロセスに使用することを説明した。
【００７３】
映像配信サーバ１０１がどの同期符号を再生開始点としているかを映像配信サーバ毎に自動的に検出するようにしてもよい。これは、再生時間を指定したPLAYコマンドを映像配信サーバ１０１に送信した後、最初に受信した映像TSパケット内に最初に出現する同期符号を、映像配信サーバ１０１毎の履歴情報として記憶しておく。そして、以前に記憶しておいた履歴情報がある特定の同期符号に集中している場合には、その映像配信サーバは、前述した特定の同期符号を再生開始位置としているものと判断する。
【００７４】
（本発明に係る他の実施の形態）
前述した本発明の実施の形態における映像受信装置を構成する各手段は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００７５】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施の形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００７６】
なお、本発明は、前述した映像受信方法における各工程を実行するソフトウェアのプログラム（実施の形態では図８に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００７７】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００７８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００７９】
プログラムを供給するための記録媒体としては種々の記録媒体を使用することができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００８０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００８１】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００８２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００８３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行うことによっても前述した実施の形態の機能が実現され得る。
【００８４】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施の形態の機能が実現される。
【図面の簡単な説明】
【００８５】
【図１】本発明の第１の実施形態を示し、映像ストリーム受信システムの構成例を示すブロック図である。
【図２】本発明の第１の実施形態を示し、映像受信部の構成例を説明するブロック図である。
【図３】本発明の第１の実施形態を示し、映像ストリームの伝送フォーマットの一例を説明する図である。
【図４】本発明の第１の実施形態を示し、伝送プロトコルシーケンスの一例を説明する図である。
【図５】本発明の第１の実施形態を示し、RTPパケットとFECパケットの対応関係の一例を説明する図である。
【図６】本発明の第１の実施形態を示し、再生時間決定プロセスの一例を説明する図である。
【図７】本発明の第１の実施形態を示し、映像受信部の映像ストリームのデータフローを説明するブロック図である。
【図８】本発明の第１の実施形態を示し、映像受信部の処理手順の一例を説明するフローチャートである。
【符号の説明】
【００８６】
１００  映像受信装置
１０１  映像配信サーバ
１０２  ネットワーク
１０３  映像受信部
１０４  映像再生部
１０５  ディスプレイ
２０１  主制御部
２０２  ネットワーク制御部
２０３  メモリ部
２０３ａ  ワークメモリ
２０４  計時部
２０５  バスブリッジ
２０６  インターフェース制御部
【図１】
2010034897.tif 000003
【図２】
2010034897.tif 000004
【図３】
2010034897.tif 000005
【図４】
2010034897.tif 000006
【図５】
2010034897.tif 000007
【図６】
2010034897.tif 000008
【図７】
2010034897.tif 000009
【図８】
2010034897.tif 000010