(57)【特許請求の範囲】
【請求項１】
複数種類のビットレートにより動画が符号化された複数種類のビデオストリームを並行して配信するサーバであって、各ビデオストリームを、前記動画を構成する複数のピクチャを含むチャンク単位に配信するサーバから、いずれかのビットレートに対応するビデオストリームのチャンクを取得する取得部と、
取得対象とするビデオストリームの種類を前記取得部へ指示する取得制御部と、
ビデオストリームの再生処理として、前記取得されたチャンクに含まれるピクチャを復号して表示させる再生部と、
前記再生処理の開始を前記再生部へ指示する再生制御部と、
を備え、
第１のビットレートに対応する第１のビデオストリームの再生処理中に、再生対象を第２のビットレートに対応する第２のビデオストリームへ切り替える際、
前記再生部は、再生処理中の第１のビデオストリームのチャンクについては、その再生処理を継続し、
前記取得制御部は、前記第１のビデオストリームに代えて前記第２のビデオストリームを取得するよう前記取得部へ指示し、
前記第１のビデオストリームのチャンクに含まれるピクチャと、前記第２のビデオストリームのチャンクに含まれるピクチャのそれぞれには、前記動画におけるピクチャの表示時刻を示すタイムスタンプが予め対応づけられており、
前記再生制御部は、前記第２のビデオストリームのチャンクに含まれるピクチャに対応づけられたタイムスタンプと、前記再生処理中の第１のビデオストリームのチャンクに含まれるピクチャに対応づけられたタイムスタンプとに基づいて、前記第２のビデオストリームのチャンクに含まれるピクチャと、前記再生処理中の第１のビデオストリームのチャンクに含まれるピクチャとの間で重複するピクチャを検出し、前記第２のビデオストリームのチャンクに対する再生処理において前記重複するピクチャを非表示とするよう前記再生部へ指示することを特徴とする動画再生装置。
【請求項２】
前記取得制御部は、利用可能な通信帯域幅の変動に応じて、前記第１のビデオストリームに代えて前記第２のビデオストリームを取得するよう前記取得部へ指示することを特徴とする請求項１に記載の動画再生装置。
【請求項３】
前記再生制御部は、前記第２のビデオストリームのチャンクに含まれるピクチャのうち、前記再生処理中の第１のビデオストリームのチャンクに対する再生処理の終了以前に表示させるべきピクチャを、前記重複するピクチャとして特定することを特徴とする請求項１または２に記載の動画再生装置。
【請求項４】
前記再生部は、前記第２のビデオストリームのチャンクに対する再生処理において、前記重複するピクチャのうち、他のピクチャの復号時に参照される参照ピクチャを復号した上で非表示とする一方、他のピクチャの復号時に参照されない非参照ピクチャを復号対象から除外することを特徴とする請求項１から３のいずれかに記載の動画再生装置。
【請求項５】
装置全体を統括的に制御するメインプロセッサと、
画像処理演算を行うグラフィックスプロセッサと、
を備え、
前記メインプロセッサは、複数種類のビットレートにより動画が符号化された複数種類のビデオストリームを並行して配信するサーバであって、各ビデオストリームを、前記動画を構成する複数のピクチャを含むチャンク単位に配信するサーバから、いずれかのビットレートに対応するビデオストリームのチャンクを取得して、その再生処理の開始を前記グラフィックスプロセッサへ指示する処理を実行し、
前記グラフィックスプロセッサは、ビデオストリームの再生処理として、前記取得されたチャンクに含まれるピクチャを復号して表示させる処理を実行し、
第１のビットレートに対応する第１のビデオストリームの再生処理中に、再生対象を第２のビットレートに対応する第２のビデオストリームへ切り替える際、
前記グラフィックスプロセッサは、再生処理中の第１のビデオストリームのチャンクについては、その再生処理を継続し、
前記メインプロセッサは、前記第１のビデオストリームに代えて前記第２のビデオストリームを取得し、
前記第１のビデオストリームのチャンクに含まれるピクチャと、前記第２のビデオストリームのチャンクに含まれるピクチャのそれぞれには、前記動画におけるピクチャの表示時刻を示すタイムスタンプが予め対応づけられており、
前記メインプロセッサは、前記第２のビデオストリームのチャンクに含まれるピクチャに対応づけられたタイムスタンプと、前記再生処理中の第１のビデオストリームのチャンクに含まれるピクチャに対応づけられたタイムスタンプとに基づいて、前記第２のビデオストリームのチャンクに含まれるピクチャと、前記再生処理中の第１のビデオストリームのチャンクに含まれるピクチャとの間で重複するピクチャを検出し、前記第２のビデオストリームのチャンクに対する再生処理において前記重複するピクチャを非表示とするよう前記グラフィックスプロセッサへ指示することを特徴とする情報処理装置。
【請求項６】
複数種類のビットレートにより動画が符号化された複数種類のビデオストリームを並行して配信するサーバであって、各ビデオストリームを、前記動画を構成する複数のピクチャを含むチャンク単位に配信するサーバから、第１のビットレートに対応する第１のビデオストリームのチャンクを取得するステップと、
前記第１のビデオストリームの再生処理として、そのチャンクに含まれるピクチャを復号して表示させるステップと、
前記第１のビデオストリームの再生処理中に、再生対象を第２のビットレートに対応する第２のビデオストリームへ切り替える際、再生処理中の第１のビデオストリームのチャンクについては、その再生処理を継続しつつ、前記第１のビデオストリームに代えて前記第２のビデオストリームのチャンクを取得するステップと、
を備え、
前記第１のビデオストリームのチャンクに含まれるピクチャと、前記第２のビデオストリームのチャンクに含まれるピクチャのそれぞれには、前記動画におけるピクチャの表示時刻を示すタイムスタンプが予め対応づけられており、
前記第２のビデオストリームのチャンクに含まれるピクチャに対応づけられたタイムスタンプと、前記再生処理中の第１のビデオストリームのチャンクに含まれるピクチャに対応づけられたタイムスタンプとに基づいて、前記第２のビデオストリームのチャンクに含まれるピクチャと、前記再生処理中の第１のビデオストリームのチャンクに含まれるピクチャとの間で重複するピクチャを検出するステップと、
前記第２のビデオストリームの再生処理を実行するステップであって、前記第２のビデオストリームのチャンクに含まれるピクチャのうち前記重複するピクチャを非表示とするステップと、
をさらに備えることを特徴とする動画再生方法。
【請求項７】
複数種類のビットレートにより動画が符号化された複数種類のビデオストリームを並行して配信するサーバであって、各ビデオストリームを、前記動画を構成する複数のピクチャを含むチャンク単位に配信するサーバから、いずれかのビットレートに対応するビデオストリームのチャンクを取得する取得機能と、
取得対象とするビデオストリームの種類を前記取得機能へ指示する取得制御機能と、
ビデオストリームの再生処理として、前記取得されたチャンクに含まれるピクチャを復号して表示させる再生機能と、
前記再生処理の開始を前記再生機能へ指示する再生制御機能と、
をコンピュータに実現させ、
第１のビットレートに対応する第１のビデオストリームの再生処理中に、再生対象を第２のビットレートに対応する第２のビデオストリームへ切り替える際、
前記再生機能は、再生処理中の第１のビデオストリームのチャンクについては、その再生処理を継続し、
前記取得制御機能は、前記第１のビデオストリームに代えて前記第２のビデオストリームを取得するよう前記取得機能へ指示し、
前記第１のビデオストリームのチャンクに含まれるピクチャと、前記第２のビデオストリームのチャンクに含まれるピクチャのそれぞれには、前記動画におけるピクチャの表示時刻を示すタイムスタンプが予め対応づけられており、
前記再生制御機能は、前記第２のビデオストリームのチャンクに含まれるピクチャに対応づけられたタイムスタンプと、前記再生処理中の第１のビデオストリームのチャンクに含まれるピクチャに対応づけられたタイムスタンプとに基づいて、前記第２のビデオストリームのチャンクに含まれるピクチャと、前記再生処理中の第１のビデオストリームのチャンクに含まれるピクチャとの間で重複するピクチャを検出し、前記第２のビデオストリームのチャンクに対する再生処理において前記重複するピクチャを非表示とするよう前記再生機能へ指示することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ処理技術に関し、特に、動画像を再生する技術に関する。
【背景技術】
【０００２】
近年、ウェブサーバが複数種類の映像ビットレートにより動画を符号化した複数種類の符号化データ（以下、「ビデオストリーム」とも呼ぶ。）を配信し、ウェブクライアントがビデオストリームの種類を動的に切り替えつつ動画を再生するストリーミング技術が提案されている。この技術は、「アダプティブ・ストリーミング」とも呼ばれており、本明細書でも以下そう呼ぶこととする。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明者は、アダプティブ・ストリーミングにおいて、異なるビットレートに対応する複数種類のビデオストリームが必ずしも相互に整合するように符号化されておらず、その結果、ウェブクライアントにおいて再生対象のビデオストリームの種類を切り替えた際に、動画の表示が乱れる場合があることを認識した。
【０００４】
本発明はこのような課題に鑑みてなされたものであり、その主たる目的は、アダプティブ・ストリーミングにおいて再生対象のビデオストリームの種類を切り替える際の動画表示の乱れを抑制するための技術を提供することである。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明のある態様の動画再生装置は、複数種類のビットレートにより動画が符号化された複数種類のビデオストリームを並行して配信するサーバであって、各ビデオストリームを、動画を構成する複数のピクチャを含むチャンク単位に配信するサーバから、いずれかのビットレートに対応するビデオストリームのチャンクを取得する取得部と、取得対象とするビデオストリームの種類を取得部へ指示する取得制御部と、ビデオストリームの再生処理として、取得されたチャンクに含まれるピクチャを復号して表示させる再生部と、再生処理の開始を再生部へ指示する再生制御部と、を備える。第１のビットレートに対応する第１のビデオストリームの再生処理中に、再生対象を第２のビットレートに対応する第２のビデオストリームへ切り替える際、再生部は、再生処理中の第１のビデオストリームのチャンクについては、その再生処理を継続し、取得制御部は、第１のビデオストリームに代えて第２のビデオストリームを取得するよう取得部へ指示し、再生制御部は、第２のビデオストリームのチャンクに含まれるピクチャと、再生処理中の第１のビデオストリームのチャンクに含まれるピクチャとが重複する場合、第２のビデオストリームのチャンクに対する再生処理においてその重複するピクチャを非表示とするよう再生部へ指示する。
【０００６】
本発明の別の態様は、情報処理装置である。この装置は、装置全体を統括的に制御するメインプロセッサと、画像処理演算を行うグラフィックスプロセッサと、を備える。メインプロセッサは、複数種類のビットレートにより動画が符号化された複数種類のビデオストリームを並行して配信するサーバであって、各ビデオストリームを、動画を構成する複数のピクチャを含むチャンク単位に配信するサーバから、いずれかのビットレートに対応するビデオストリームのチャンクを取得して、その再生処理の開始をグラフィックスプロセッサへ指示する処理を実行し、グラフィックスプロセッサは、ビデオストリームの再生処理として、取得されたチャンクに含まれるピクチャを復号して表示させる処理を実行し、第１のビットレートに対応する第１のビデオストリームの再生処理中に、再生対象を第２のビットレートに対応する第２のビデオストリームへ切り替える際、グラフィックスプロセッサは、再生処理中の第１のビデオストリームのチャンクについては、その再生処理を継続し、メインプロセッサは、第１のビデオストリームに代えて第２のビデオストリームを取得し、第２のビデオストリームのチャンクに含まれるピクチャと、再生処理中の第１のビデオストリームのチャンクに含まれるピクチャとが重複する場合、第２のビデオストリームのチャンクに対する再生処理においてその重複するピクチャを非表示とするようグラフィックスプロセッサへ指示する。
【０００７】
本発明のさらに別の態様は、動画再生方法である。この方法は、複数種類のビットレートにより動画が符号化された複数種類のビデオストリームを並行して配信するサーバであって、各ビデオストリームを、動画を構成する複数のピクチャを含むチャンク単位に配信するサーバから、第１のビットレートに対応する第１のビデオストリームのチャンクを取得するステップと、第１のビデオストリームの再生処理として、そのチャンクに含まれるピクチャを復号して表示させるステップと、第１のビデオストリームの再生処理中に、再生対象を第２のビットレートに対応する第２のビデオストリームへ切り替える際、第２のビデオストリームのチャンクを取得するステップと、第２のビデオストリームの再生処理を実行するステップであって、そのチャンクに含まれるピクチャと、再生処理中の第１のビデオストリームのチャンクに含まれるピクチャとが重複する場合、その重複するピクチャを非表示とするステップと、を備える。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を装置、方法、システム、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によれば、アダプティブ・ストリーミングにおいて再生対象のビデオストリームの種類を切り替える際の動画表示の乱れを低減できる。
【図面の簡単な説明】
【００１０】
【図１（ａ）】シンク・サンプルのＰＴＳが一致する例を示す図である。
【図１（ｂ）】シンク・サンプルのＰＴＳが不一致である例を示す図である。
【図２】実施の形態の動画配信システムの構成を示す図である。
【図３】図２の据置型再生装置の内部回路の概略構成を示す図である。
【図４】図２の携帯型再生装置の外観を示す図である。
【図５】図２の携帯型再生装置の内部回路の概略構成を示す図である。
【図６】動画再生装置の機能構成を示すブロック図である。
【図７】動画再生装置の動作を示すフローチャートである。
【図８】再生対象のビデオストリームのビットレートを切り替える際の処理過程とユーザ画面での表示内容とを模式的に示す図である。
【発明を実施するための形態】
【００１１】
実施の形態の構成を説明する前に、まず概要を説明する。
アダプティブ・ストリーミングでは、再生対象とするビデオストリームが、互いに異なるビットレートに対応するビデオストリーム間で切り替えられる。この場合に動画表示の乱れを抑制してスムーズに切り替えるためには、シンク・サンプルの時間的位置（ＰＴＳ：Presentation Time Stamp）が全て一致している必要があった。シンク・サンプルは、そのサンプルから復号を開始した際に、以降の全サンプルが正しく復号できるサンプル（ピクチャ）であり、ＡＶＣ（Advanced Video Coding）におけるＩＤＲピクチャに相当する。ＰＴＳは、動画全体においてピクチャを表示させる時間的位置、言わば動画内でのピクチャの表示時刻を示すものである。
【００１２】
図１（ａ）は、シンク・サンプルのＰＴＳが一致する例を示す。同図の上段は、ビットレートＸ（例えば８Ｍｂｐｓ）で符号化されたビデオストリームを示しており、このビデオストリームは動画を構成する複数のピクチャを含むグループ（以下、「チャンク」とも呼ぶ。）単位に配信される。すなわち、チャンクＸ−１、チャンクＸ−２、・・・、チャンクＸ−５と順次配信される。同図の下段は、ビットレートＹ（例えば４Ｍｂｐｓ）で符号化されたビデオストリームを示しており、このビデオストリームもまたチャンク単位に配信される。すなわち、チャンクＹ−１、チャンクＹ−２、・・・、チャンクＹ−５と順次配信される。
【００１３】
なお説明の簡明化のため、本実施の形態のビデオストリーム（のチャンク）が含む複数のピクチャは、表示順に並べられており、個々のピクチャに対してＰＴＳが付されていることとする。また、チャンクの先頭ピクチャは、シンク・サンプル（例えばＡＶＣのＩＤＲピクチャ）であることとする。
【００１４】
図１（ａ）のように異なるビットレートのビデオストリーム間でシンク・サンプルのＰＴＳが一致しているとき、チャンクＸ−２の再生中に、再生対象のビデオストリームの種類をビットレートＹに切り替えたとする。同図では、チャンクＸ−３のシンク・サンプルの位置（ＰＴＳ＝１９０Ｋ）と、チャンクＹ−３のシンク・サンプルの位置（ＰＴＳ＝１９０Ｋ）とが一致する。したがって、チャンクＸ−２において最後に表示されるピクチャと、チャンクＹ−３において最初に表示されるピクチャとが連続するものとなる。そのため、チャンクＸ−２の表示終了後にチャンクＹ−３をそのまま表示させれば、ビデオストリームの切り替えに亘って動画はスムーズに表示される。すなわち、重複する画像が繰り返して表示されることはなく、また、一部の画像が非表示となることもない。
【００１５】
しかし現状、異なるビットレートのビデオストリーム間では、シンク・サンプルのＰＴＳが必ずしも一致しない。図１（ｂ）は、シンク・サンプルのＰＴＳが不一致である例を示す。同図において、チャンクＸ−２の再生中に、再生対象のビデオストリームの種類をビットレートＹに切り替えたとする。同図では、チャンクＸ−３のシンク・サンプルの位置（ＰＴＳ＝１９０Ｋ）に対して、チャンクＹ−３のシンク・サンプルの位置（ＰＴＳ＝１６０Ｋ）と、チャンクＹ−４のシンク・サンプルの位置（ＰＴＳ＝３１０Ｋ）のいずれも不一致である。このような場合、これまでは、チャンクＹ−３の先頭から再生するか、チャンクＹ−４の先頭から再生するかの選択肢しかなかった。前者の場合、ＰＴＳ＝１６０Ｋ〜１９０Ｋの画像が繰り返して表示されてしまい、後者の場合、ＰＴＳ＝１９０Ｋ〜３１０Ｋの画像が非表示となってしまう。
【００１６】
そこで本実施の形態では、ビットレートＸのビデオストリームにおけるチャンク（例えばチャンクＸ−２）を再生中に、再生対象がビットレートＹのビデオストリームへ切り替えられた場合、ビットレートＹのビデオストリームにおけるチャンク（例えばチャンクＹ−３）に含まれるピクチャのうち、Ｘ−２の再生により表示されるピクチャと重複するピクチャ（例えばＰＴＳ＝１６０Ｋから１９０Ｋまでのピクチャ）を非表示とする動画再生技術を提案する。これにより、異なるビットレートのビデオストリーム間でシンク・サンプルのＰＴＳが不一致であっても、ビデオストリームの種類を切り替える際に、重複する画像の繰り返し表示や、本来表示されるべき画像の非表示が発生することを回避する。
【００１７】
図２は、実施の形態の動画配信システムの構成を示す。動画配信システム１００は、動画配信サーバ１０と、動画再生装置１２で総称される据置型再生装置１２ａ、携帯型再生装置１２ｂとを備える。動画再生装置１２は、ＬＡＮ・ＷＡＮ・インターネット等の公知の通信網１４を介して、動画配信サーバ１０と接続される。
【００１８】
動画配信サーバ１０は、複数種類のビットレートにより動画が符号化された複数種類の符号化データを保持するサーバである。本実施の形態ではウェブサーバであることとする。例えば、２５６Ｋｂｐｓ、５１２Ｋｂｐｓ、１Ｍｂｐｓ、４Ｍｂｐｓ、８Ｍｂｐｓのビットレートのそれぞれに対応する符号化データを保持する。動画配信サーバ１０は、複数種類の符号化データをビデオストリームとして並行して動画再生装置１２へ配信する。各ビデオストリームの配信においては、各ビデオストリームで予め定められたチャンク単位にデータを送信する。なお、動画の符号化には公知の動画像圧縮符号化技術が適用されてよく、例えば、ＭＰＥＧ（Moving Picture Experts Group）やＨ．２６４／ＡＶＣが適用されてもよい。
【００１９】
動画再生装置１２は、ウェブブラウザが搭載された情報処理装置であり、そのウェブブラウザを介して動画配信サーバ１０へアクセスし、ビデオストリームの配信を要求する。そして、自身の装置環境の変化に応じて取得および再生の対象とするビデオストリームの種類を動的に切り替え、現在の装置環境に適したビットレートのビデオストリームを取得および再生して動画を表示させる。なお、据置型再生装置１２ａは、据置型ゲーム機でもよく、一般的なＰＣであってもよい。携帯型再生装置１２ｂは、携帯型ゲーム機でもよく、携帯電話端末や携帯情報端末、スマートフォンであってもよい。
【００２０】
図３は、図２の据置型再生装置１２ａの内部回路の概略構成を示すブロック回路図である。同図は、主に据置型ゲーム機を想定した構成を示している。据置型再生装置１２ａは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）１０２と、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）１０４と、メインメモリ１０６と、組み込みストレージ１０８と、光ディスク再生プロセッサ１１０と、電源制御回路１１２と、ＬＡＮモジュール１１４とを基本構成として含む。
【００２１】
ＣＰＵ１０２は、据置型再生装置１２ａ全体を統括的に制御する汎用プロセッサとしてのメインプロセッサであり、ゲームや電子メール、ウェブブラウザ用のアプリケーション等の各種プログラムに基づいて、信号処理や内部構成要素を制御する。ＧＰＵ１０４は、画像処理演算を効率的に実行するよう設計された専用プロセッサとしてのグラフィックスプロセッサであり、据置型再生装置１２ａにおける画像処理を実行する。光ディスク再生プロセッサ１１０は、図示しない光ディスク再生部に挿入されたアプリケーションプログラムやマルチメディアデータが記録されているＢＤ（Ｂｌｕ-ｒａｙ  Ｄｉｓｃ；商標）やＤＶＤ、ＣＤ等の光ディスクを再生する。メインメモリ１０６は、ＣＰＵ１０２のワークエリアや光ディスクから読み出されたデータを一時的に格納するバッファとして機能する。
【００２２】
ＬＡＮモジュール１１４は、無線ＬＡＮモジュールとしての機能と、有線ＬＡＮモジュールとしての機能とを備え、据置型再生装置１２ａとその外部装置の間でデータの送受信を行う。例えば、無線ＬＡＮモジュールとして携帯電話２００やアクセスポイント９００と通信し、また有線ＬＡＮモジュールとしてレイヤ２スイッチ８００と通信する。
【００２３】
また、据置型再生装置１２ａは、ＵＳＢポート１１６と、近距離無線通信ポート１１８と、メモリカードスロット１２０と、ビデオ出力ポート１２２とも含む。ＵＳＢポート１１６は、外付けハードディスク等の周辺機器１２４との接続に利用される。近距離無線通信ポート１１８は、周辺機器１２４と無線で接続するほか、据置型再生装置１２ａのコントローラ１２６とも接続する。なお、コントローラ１２６はＵＳＢポート１１６と接続することもできる。メモリカードスロット１２０は、据置型再生装置１２ａと着脱可能なメモリカード１２８と情報をやり取りする。また組み込みストレージ１０８は、例えば光ディスクから読み出されたアプリケーションプログラムやゲームのセーブデータを記憶、あるいはＵＳＢポート１１６や近距離無線通信ポート１１８、メモリカードスロット１２０を介して取得した写真、動画、音楽等のデータ等を記憶する。
【００２４】
ＧＰＵ１０４は、座標変換等の処理をするジオメトリトランスファエンジンの機能と、レンダリングプロセッサの機能とを有し、ＣＰＵ１０２からの描画指示に従って描画し、描画された画像を図示しないフレームバッファに格納する。すなわち例えば、光ディスクに記録されている各種アプリケーションプログラムがゲームのように所謂３次元（３Ｄ）グラフィックを利用するものである場合、当該ＧＰＵ１０４は、ジオメトリ演算処理により、３次元オブジェクトを構成するためのポリゴンの座標等を計算する。さらに、レンダリング処理により、この３次元オブジェクトを仮想的なカメラで撮影することにより得られる画像を生成するための計算、すなわち透視変換（３次元オブジェクトを構成する各ポリゴンの頂点を仮想的なカメラスクリーン上に投影した場合における座標値の計算など）を計算する。最終的に得られた画像データをフレームバッファ上へ書き込む。ビデオ出力ポート１２２は、ＧＰＵ１０４の作成した画像に対応するビデオ信号を、テレビ等のモニタ１３０に出力する。
【００２５】
据置型再生装置１２ａのインタフェース１３２には、電源の投入や光ディスク取り出しのための操作部１３４や、電源のオン・オフ、各種デバイスのアクセス状況等を表示するためのＬＥＤ１３６が含まれる。
【００２６】
これらの各部は、主にバスライン１３８介してそれぞれ相互に接続されている。また、以上の据置型再生装置１２ａの内部回路には、図示しない電源から駆動のための電力が供給される。なお、ＣＰＵ１０２とＧＰＵ１０４は、専用バスで接続される。以上のような構成を有する据置型再生装置１２ａは電源が投入されると、図示しないマスクロムからメインメモリ１０６にオペレーティングシステムプログラムが読み出され、ＣＰＵ１０２は、オペレーティングシステムプログラムを実行する。これにより、ＣＰＵ１０２は、据置型再生装置１２ａの各部を統括的に制御する。
【００２７】
ＣＰＵ１０２は、オペレーティングシステムプログラムを実行すると、まず動作確認等の初期化処理をする。続いて光ディスクに記録されているゲーム等のアプリケーションプログラムを読み出し、メインメモリ１０６にロードした後、そのゲームアプリケーションプログラムを実行する。このゲームアプリケーションプログラムの実行により、ＣＰＵ１０２は、コントローラ１２６から受け付けたユーザの指示に応じて、ＧＰＵ１０４等を制御し、画像の表示や効果音、楽音の発生を制御する。
【００２８】
図４は、図２の携帯型再生装置１２ｂの外観を示す。同図は、主に携帯型ゲーム機を想定した構成を示している。携帯型再生装置１２ｂは動画、静止画、音楽などのデジタルコンテンツを再生できるほか、ゲームプログラムなどのコンテンツを実行することができる。各コンテンツは、携帯型再生装置１２ｂに着脱できる外部記録媒体から主に読み出される。本実施の形態における外部記録媒体は、小型の光ディスク４０２とメモリカード４２６である。小型光ディスク４０２およびメモリカード４２６は、それぞれ携帯型再生装置１２ｂに設けられた図示しない駆動装置に装填される。小型光ディスク４０２は、音楽データや静止画データはもちろんのこと、映画などの比較的データサイズの大きな動画データを格納することができる。メモリカード４２６は、デジタルカメラや携帯電話にも着脱できる小型のメモリカードであり、静止画データ、動画データ、音声データなど、ユーザ自身が他の機器などで作成したデータや他の機器との間で受け渡しされるデータが主に格納される。
【００２９】
携帯型再生装置１２ｂには、液晶ディスプレイ４０４と、十字キー４１６、アナログスティック４１８、ボタンキー４２０などのキーが設けられている。ユーザは携帯型再生装置１２ｂの左右端を両手で把持し、主に左手の親指で十字キー４１６またはアナログスティック４１８を用いて上下左右の方向を指示し、主に右手の親指でボタンキー４２０を用いて各種の操作を指示する。ホームボタン４３６は、十字キー４１６やボタンキー４２０と異なり、携帯型再生装置１２ｂの左右端を両手で把持したときにいずれかの指で押下しにくい位置に設けられ、誤操作の防止が図られている。液晶ディスプレイ４０４には、グラフィカルユーザインタフェースによるメニュー画面および各コンテンツの再生画面が表示される。また、携帯型再生装置１２ｂには、ＵＳＢポート、無線ＬＡＮ通信の機能が搭載されており、これらのポートまたは通信機能を介して他の装置（インターネット上の他の装置を含む）との間でデータを送受信する。さらに、赤外線ポートを備え、赤外線通信を介して他の装置との間でデータを送受信する構成を備えてもよい。
【００３０】
また、携帯型再生装置１２ｂは、セレクトボタン４４０、スタートボタン４３８等を備えている。スタートボタン４３８は、ゲーム開始や電子メール画面の表示開始、映画や音楽の再生開始、一時停止などをユーザが指示するためのボタンである。セレクトボタン４４０は、液晶ディスプレイ４０４上に表示されたメニュー表示の選択等をユーザが指示するためのボタンである。
【００３１】
図５は、図２の携帯型再生装置１２ｂの内部回路構成を示す。携帯型再生装置１２ｂは、メインＣＰＵ５００とＧＰＵ５０２と、入出力プロセッサ５０４と、光ディスク再生部５０６と、メインメモリ５０８と、マスクロム５１０と、サウンドプロセッサ５１２とを基本構成として備える。メインＣＰＵ５００は、携帯型再生装置１２ｂ全体を統括的に制御する汎用プロセッサとしてのメインプロセッサであり、ゲームや電子メール、ウェブブラウザ用のアプリケーション等の各種プログラムに基づいて、信号処理や内部構成要素を制御する。ＧＰＵ５０２は、画像処理演算を効率的に実行するよう設計された専用プロセッサとしてのグラフィックスプロセッサであり、携帯型再生装置１２ｂにおける画像処理を実行する。
【００３２】
入出力プロセッサ５０４は、外部と装置内部との間のインターフェース処理や下位互換性を保つための処理をする。光ディスク再生部５０６は、アプリケーションプログラムやマルチメディアデータが記録されているＵＭＤ等の光ディスクを再生する。メインメモリ５０８は、メインＣＰＵ５００のワークエリアや光ディスクから読み出されたデータを一時的に格納するバッファとして機能する。マスクロム５１０は、主にメインＣＰＵ５００や入出力プロセッサ５０４が実行するオペレーティングシステムプログラムを格納している。サウンドプロセッサ５１２は、音声信号を処理する。
【００３３】
また、この携帯型再生装置１２ｂは、ＵＭＤプロセッサ５１４と、光ディスク再生ドライバ５１６およびメカコントローラ５１８をも有している。ＵＭＤプロセッサ５１４は、光ディスク再生部５０６によりＵＭＤから読み出されてＲＦアンプ５２８で増幅されたディスク再生信号に対して、例えば誤り訂正処理（例えばＣＩＲＣ処理）や伸張復号化処理等を施すことにより、ＵＭＤに記録されたデータを再生（復元）する。光ディスク再生ドライバ５１６及びメカコントローラ５１８は、光ディスク再生部５０６のスピンドルモータの回転制御、光ピックアップのフォーカス／トラッキング制御、ディスクトレイのローディング制御等を行う。
【００３４】
これらの各部は、主にバスライン５２２、５２４等を介してそれぞれ相互に接続されている。なお、メインＣＰＵ５００とＧＰＵ５０２は、専用バスで接続されている。また、メインＣＰＵ５００と入出力プロセッサ５０４はバス５５０により接続されている。入出力プロセッサ５０４とＵＭＤプロセッサ５１４、マスクロム５１０、サウンドプロセッサ５１２は、それぞれバス５２２に接続されている。
【００３５】
メインＣＰＵ５００は、マスクロム５１０に記憶されているメインＣＰＵ用のオペレーティングシステムプログラムを実行することにより、携帯型再生装置１２ｂの全動作を制御する。また、メインＣＰＵ５００は、ＵＭＤ等の光ディスクから読み出されてメインメモリ５０８にロードされた、または、無線ＬＡＮ５３０を介してダウンロードされた、各種アプリケーションプログラム等を実行し、ゲームや電子メールの作成編集、Ｗｅｂページの閲覧等の動作を制御する。
【００３６】
入出力プロセッサ５０４は、マスクロム５１０に記憶されている入出力プロセッサ用のオペレーティングシステムプログラムを実行することにより、ユーザの操作に応じたコントローラ５４０からの信号やゲームの設定、電子メールの内容やアドレス、メモリカードスロット５３２を介した、ＷｅｂサイトのＵＲＬ等を記憶するメモリカード３２６からのデータ等の入出力、その他、ＵＳＢ接続端子５４２や無線ＬＡＮ５３０等におけるデータの入出力を制御する。ここでコントローラ５４０とは、十字キー４１６、アナログスティック４１８、ボタンキー４２０などのユーザが携帯型再生装置１２ｂを制御するためのキーの総称である。
【００３７】
ＧＰＵ５０２は、座標変換等の処理を行うジオメトリトランスファエンジンの機能と、レンダリングプロセッサの機能とを有し、メインＣＰＵ５００からの描画指示に従って描画を行い、描画された画像を図示しないフレームバッファに格納する。すなわち例えば、光ディスクに記録されている各種アプリケーションプログラムがゲームのように所謂３次元（３Ｄ）グラフィックを利用するものである場合、当該ＧＰＵ５０２は、ジオメトリ演算処理により、３次元オブジェクトを構成するためのポリゴンの座標等を計算する。さらに、レンダリング処理により、この３次元オブジェクトを仮想的なカメラで撮影することにより得られる画像を生成するための計算、すなわち透視変換（３次元オブジェクトを構成する各ポリゴンの頂点を仮想的なカメラスクリーン上に投影した場合における座標値の計算など）を実行する。最終的に得られた画像データをフレームバッファ上へ書き込む。そして、ＧＰＵ５０２は、この作成した画像に対応するビデオ信号を出力する。
【００３８】
サウンドプロセッサ５１２は、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）復号機能、オーディオ信号再生機能、信号変調機能等を備えている。ＡＤＰＣＭ復号機能とは、当該サウンドプロセッサ５１２に内蔵或いは外付けされた図示しないサウンドバッファに記憶されている波形データを読み出すことで、効果音等のオーディオ信号を再生して出力する機能である。信号変調機能とは、上記サウンドバッファに記憶されている波形データから、楽音や効果音等のオーディオ信号を発生する、所謂サンプリング音源としても動作する。
【００３９】
以上のような構成を有する携帯型再生装置１２ｂは、例えば電源が投入されると、マスクロム５１０からメインＣＰＵ５００用及び入出力プロセッサ５０４用のオペレーティングシステムプログラムが読み出される。メインＣＰＵ５００と入出力プロセッサ５０４は、それぞれ対応したオペレーティングシステムプログラムを実行する。これにより、メインＣＰＵ５００は、携帯型再生装置１２ｂの各部を統括的に制御する。また、入出力プロセッサ５０４は、コントローラ５４０やメモリカード５２６等との間の信号の入出力を制御する。また、メインＣＰＵ５００は、オペレーティングシステムプログラムを実行すると、まず動作確認等の初期化を行う。つづいて光ディスク再生部５０６を制御して、光ディスクに記録されているゲーム等のアプリケーションプログラムを読み出し、メインメモリ５０８にロードして、そのゲームアプリケーションプログラムを実行する。このゲームアプリケーションプログラムの実行により、メインＣＰＵ５００は、入出力プロセッサ５０４を介してコントローラ５４０から受け付けたユーザの指示に応じて、ＧＰＵ５０２やサウンドプロセッサ５１２を制御し、画像の表示や効果音、楽音の発生を制御する。
【００４０】
なお、例えば光ディスクに記録された映画等を再生する場合、メインＣＰＵ５００は、入出力プロセッサ５０４を介してコントローラ５４０から受け付けたユーザからの指示（コマンド）にしたがってＧＰＵ５０２やサウンドプロセッサ５１２を制御し、光ディスクから再生された映画の映像の表示や効果音や音楽等の発生を制御する。ＧＰＵ５０２の処理結果を液晶ディスプレイ４０４に表示し、サウンドプロセッサ５１２で生成された効果音や音楽等はスピーカ５４４にて再生される。
【００４１】
図６は、動画再生装置１２の機能構成を示すブロック図である。動画再生装置１２は、取得部２０と、蓄積バッファ２２と、制御部３０と、再生部４０とを備える。本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのＣＰＵやメモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００４２】
取得部２０は、動画配信サーバ１０が配信する複数種類のビットレートに対応する複数種類のビデオストリームのうち、制御部３０により指定された種類のビデオストリームをチャンク単位で取得して、蓄積バッファ２２へ格納する。具体的には、制御部３０により指定された種類のビデオストリームの配信を動画配信サーバ１０へ要求し、その種類のビデオストリームにおける複数のチャンクを動画配信サーバ１０から順次受信する。取得部２０は、図３におけるＣＰＵ１０２とＬＡＮモジュール１１４の連携、もしくは図５におけるＣＰＵ５００と無線ＬＡＮ５３０との連携により実現される。蓄積バッファ２２は、取得部２０において取得されたビデオストリームのチャンクを一時的に格納するメモリである。
【００４３】
制御部３０は、アダプティブ・ストリーミングにおけるビデオストリームの取得処理および再生処理を統括的に制御する。制御部３０は、図３におけるＣＰＵ１０２、図５におけるＣＰＵ５００により実現される。制御部３０は、切替判定部３２と、取得制御部３４と、スキップ判定部３６と、再生制御部３８とを含む。
【００４４】
切替判定部３２は、第１のビットレート（例えば８Ｍｂｐｓ）に対応する第１のビデオストリームの再生処理中に、再生対象を第１のビットレートとは異なる第２のビットレート（例えば４Ｍｂｐｓ）に対応する第２のビデオストリームへ切り替えるべき状況となった場合、その事実を検出する。具体的には、予め定められた切替条件が充足されたか否かを判定する。
【００４５】
この切替条件は、動画再生装置１２におけるハードウェア環境、ソフトウェア環境、通信環境に関する各種の条件であってもよい。例えば、相対的に高いビットレートから相対的に低いビットレートへの切替条件は、ＣＰＵ使用率が所定の閾値以上となったことでもよい。また、ピクチャの復号処理に要する時間が所定値以上となったことでもよく、利用可能な通信帯域幅や実行通信速度が所定値未満となったことでもよい。逆に、相対的に低いビットレートから相対的に高いビットレートへの切替条件は、ＣＰＵ使用率が所定の閾値未満となったことでもよい。また、ピクチャの復号処理に要する時間が所定値未満となったことでもよく、利用可能な通信帯域幅や実行通信速度が所定値以上となったことでもよい。また切替条件は、動画再生装置１２に対するユーザの切替操作、具体的には現在選択中のビットレートから別のビットレートへの切替を要求する所定の操作が検出されたことであってもよい。
【００４６】
取得制御部３４は、相対的に高いビットレートから相対的に低いビットレートへの切替条件が充足したと切替判定部３２により判定された場合、取得対象とするビデオストリームのビットレートを、現在のビットレートよりも低いビットレートへ変更するよう取得部２０へ指示する。また、相対的に低いビットレートから相対的に高いビットレートへの切替条件が充足したと判定された場合、取得対象とするビデオストリームのビットレートを、現在のビットレートよりも高いビットレートへ変更するよう取得部２０へ指示する。また、ユーザの切替操作により特定のビットレートが指定された場合は、ユーザ指定のビットレートへ変更するよう取得部２０へ指示する。
【００４７】
スキップ判定部３６は、切替条件が充足したと切替判定部３２により判定された場合、ビットレート切替後に取得されたチャンクに含まれるピクチャのうち、ビットレート切替前に取得されて再生処理中のチャンクに含まれるピクチャと重複するピクチャを、表示対象から除外する（表示をスキップする）よう決定する。以下具体的な処理を説明する。
【００４８】
スキップ判定部３６は、後述する再生部４０において再生処理中のチャンクに含まれるピクチャのうち、時系列の最後に表示すべきピクチャ（以下、「切替前最終ピクチャ」とも呼ぶ。）の表示時刻を特定する。本実施の形態では、制御部３０から再生部４０に対してチャンクの再生を指示する際に、そのチャンクにおいて最後に表示すべきピクチャのＰＴＳを保持しておく。スキップ判定部３６は、そのＰＴＳを、切替前最終ピクチャの表示時刻として特定する。変形例として、再生処理中のチャンクにおいて最後に表示されるピクチャのＰＴＳを再生部４０に問い合わせて、そのＰＴＳを、切替前最終ピクチャの表示時刻として特定してもよい。
【００４９】
スキップ判定部３６は、ビットレート切替後に取得されたチャンクに含まれるピクチャのうち、時系列の最初に表示すべきピクチャ（例えばＩＤＲピクチャであり、以下、「切替後先頭ピクチャ」とも呼ぶ。）の表示時刻を特定する。本実施の形態では、ビットレート切替後に取得されたチャンクにおいて最初に表示すべきピクチャに付与されたＰＴＳを、切替後先頭ピクチャの表示時刻として特定する。
【００５０】
スキップ判定部３６は、ビットレート切替後に取得されたチャンクに含まれるピクチャのうち、切替後先頭ピクチャの表示時刻から切替前最終ピクチャの表示時刻の間に表示すべきピクチャを表示対象から除外するよう決定する。言い換えれば、切替前最終ピクチャの表示以前に表示させるべきピクチャを非表示の対象とするよう決定する。例えば、図１（ｂ）で示したように、チャンクＸ−２の再生中に、再生対象が切り替えられてチャンクＹ−３が取得された場合、ＰＴＳ＝１６０Ｋ〜１９０Ｋのピクチャを表示対象から除外するよう決定する。スキップ判定部３６は、表示対象から除外すべきピクチャを示す情報（以下、「表示スキップ情報」とも呼ぶ。）を再生制御部３８へ通知する。この表示スキップ情報には、例えば、表示対象から除外するピクチャのＰＴＳ範囲が設定される。
【００５１】
再生制御部３８は、スキップ判定部３６から表示スキップ情報が未通知の通常時においては、蓄積バッファ２２に格納されたビデオストリームのチャンクのデータを再生部４０に送信して、そのチャンクに含まれるピクチャ全体の再生表示を指示する。この指示を以下では「通常再生指示」とも呼ぶ。スキップ判定部３６から表示スキップ情報が通知された場合、再生制御部３８は、蓄積バッファ２２に格納されたチャンクのデータとともに表示スキップ情報を再生部４０へ送信して、チャンクに含まれるピクチャのうち表示対象とされた（表示対象から除外されていない）ピクチャの再生表示を指示する。この指示を以下では「選択再生指示」とも呼ぶ。
【００５２】
再生部４０は、ビデオストリームの再生処理、具体的にはビデオストリームに含まれるピクチャの復号処理と、復号結果としての画像の表示処理を実行するビデオデコーダである。再生部４０は、図３におけるＧＰＵ１０４、図５におけるＧＰＵ５０２により実現される。再生部４０は、復号対象選択部４２と、可変長復号部４４と、逆量子化部４６と、逆直交変換部４８と、加算器５０と、フレームメモリ５２と、動き補償部５４と、並べ替え用バッファ５６と、表示対象選択部５８と、Ｄ／Ａ変換部６０とを含む。
【００５３】
復号対象選択部４２は、符号化された複数のピクチャのデータと動きベクトル情報とを含む、ビデオストリームのチャンクのデータ（以下、「画像圧縮情報」とも呼ぶ。）とともに、通常再生指示を制御部３０から受け付ける。この画像圧縮情報には、例えばそのヘッダ情報として、各ピクチャのＰＴＳを示す情報と、各ピクチャが他のピクチャの復号時に参照される参照ピクチャであるか、もしくは、他のピクチャの復号時に参照されない非参照ピクチャであるかを示す情報が含まれる。また、復号対象選択部４２は、選択再生指示を制御部３０から受け付け、この場合は、チャンクのデータ（画像圧縮情報）に加えて表示スキップ情報を受け取る。
【００５４】
復号対象選択部４２は、通常再生指示を受け付けた場合、画像圧縮情報をそのまま可変長復号部４４へ供給する。その一方、選択再生指示を受け付けた場合、表示対象から除外する範囲のＰＴＳが付された符号化ピクチャをまず特定する。そして、それらの符号化ピクチャのうち、非参照ピクチャを復号対象から除外し、参照ピクチャのみを復号対象とする。表示対象となる範囲のＰＴＳが付された符号化ピクチャは、参照ピクチャか否かにかかわらず、全ピクチャを復号対象とする。復号対象選択部４２は、各符号化ピクチャが復号対象か否かを示す情報とともに画像圧縮情報を可変長復号部４４へ供給する。復号対象選択部４２により復号対象から除外された符号化ピクチャは、以降の復号処理がキャンセルされ、例えば、復号されることなく廃棄される。
【００５５】
可変長復号部４４は、画像圧縮情報を可変長復号し、復号された画像データを逆量子化部４６へ供給し、動きベクトル情報を動き補償部５４へ供給する。逆量子化部４６は、復号された画像データを逆量子化して逆直交変換部４８へ供給する。逆直交変換部４８は、逆量子化部４６により逆量子化されたＤＣＴ計数を逆離散コサイン変換（ＩＤＣＴ）することにより、元の画像データを復元する。逆直交変換部４８により復元された画像データは加算器５０へ供給される。
【００５６】
逆直交変換部４８から出力される画像データがフレーム間予測を用いずに符号化されたピクチャ（例えば、ＩＤＲピクチャやＩピクチャ）である場合、加算器５０は、その画像データをそのまま並べ替え用バッファ５６へ格納する。それとともに、加算器５０は、その画像データが参照ピクチャである場合、その画像データを、フレーム間予測を用いて符号化されたピクチャの予測画像を生成する際に参照させるためにフレームメモリ５２へ格納する。
【００５７】
逆直交変換部４８から出力される画像データがフレーム間予測を用いて符号化されたピクチャ（例えば、ＰピクチャやＢピクチャ）である場合、その画像データは差分画像であるため、加算器５０は、その差分画像と動き補償部５４から供給される予測画像とを加算することにより、元の画像データを復元して並べ替え用バッファ５６へ格納する。
【００５８】
動き補償部５４は、可変長復号部４４から供給される動きベクトル情報と、フレームメモリ５２に格納された参照ピクチャとを用いて、ＰピクチャやＢピクチャ等のための予測画像を生成し、加算器５０へ供給する。
【００５９】
並べ替え用バッファ５６は、符号化されたピクチャに対する復号処理の結果としての元の画像（以下、「復号ピクチャ」とも呼ぶ。）を蓄積し、その復号ピクチャを表示順序に並べ替えるためのバッファである。例えば、符号化されたピクチャ個々に付与されたＰＴＳにもとづき、符号化されたピクチャ個々に対応する復号ピクチャが並べ替えられてもよい。
【００６０】
表示対象選択部５８は、復号対象選択部４２において通常再生指示が受け付けられた場合、並べ替え用バッファ５６に表示順に保持された復号ピクチャのデータを、ＰＴＳに応じたタイミングにてＤ／Ａ変換部６０へ供給する。その一方、復号対象選択部４２において選択再生指示が受け付けられた場合、並べ替え用バッファ５６に表示順に保持された復号ピクチャのうち、表示対象の（言い換えれば、表示対象から除外されていない）復号ピクチャのデータのみをＤ／Ａ変換部６０へ供給する。具体的には、表示スキップ情報で指定された、表示対象から除外する範囲のＰＴＳが付与された符号化ピクチャに対応する復号ピクチャを廃棄する一方、その範囲外のＰＴＳが付与された符号化ピクチャに対応する復号ピクチャをＤ／Ａ変換部６０へ供給する。
【００６１】
Ｄ／Ａ変換部６０は、表示対象選択部５８から供給された復号ピクチャのデータをアナログ信号に変換し、図３のモニタ１３０や図５のディスプレイ４０４等の表示装置へ出力する。上述したように、ＰＴＳに応じたタイミングで、復号ピクチャのデータが供給されるため、ＰＴＳの設定値に同期した動画の再生表示が実現される。
【００６２】
なお再生部４０は、制御部３０の切替判定部３２において切替条件が充足したと判定された場合でも、制御部３０から受け付け済のチャンクに対する再生処理は最後まで継続する。言い換えれば、再生中のチャンクについては、そのチャンクに含まれる最後のピクチャまで表示させる。また、図６における可変長復号部４４〜並べ替え用バッファ５６の処理はピクチャを復号する一例であり、公知の動画像圧縮符号化技術に対応した復号処理が適宜実行されてよいことはもちろんである。
【００６３】
以上の構成による動作を以下説明する。
図７は、動画再生装置１２の動作を示すフローチャートである。取得部２０は、動画配信サーバ１０から、第１のビットレートにより動画が符号化された第１のビデオストリームをチャンク単位に逐次受信する（Ｓ１０）。制御部３０の再生制御部３８は、第１のビデオストリームのチャンクを再生部４０に渡して通常再生を指示する（Ｓ１２）。再生部４０は、通常再生が指示されたチャンクに対する再生処理を開始し、そのチャンクに含まれる全ピクチャを復号し、ＰＴＳにしたがって順次表示させる（Ｓ１４）。
【００６４】
制御部３０の切替判定部３２は動画再生装置１２の各種環境情報を常時監視する。ビットレートの切替条件が充足されたことが切替判定部３２により検出されると（Ｓ１６のＹ）、取得制御部３４は、充足された切替条件に応じて、第１のビットレートより高いまたは低い第２のビットレートに対応する第２のビデオストリームを取得するよう取得部２０へ指示する。以降、取得部２０は、動画配信サーバ１０から、第１のビデオストリームに代えて第２のビデオストリームをチャンク単位に受信する（Ｓ１８）。スキップ判定部３６は、第２のビデオストリームのチャンクに含まれるピクチャのうち、再生部４０において再生処理中の第１のビデオストリームのチャンクに含まれるピクチャと重複するピクチャを非表示対象として、非表示範囲（ＰＴＳの値範囲）を決定する（Ｓ２０）。再生制御部３８は、第２のビデオストリームのチャンクを再生部４０に渡し、非表示範囲を指定して選択再生を指示する（Ｓ２２）。ビットレートの切替条件が非充足であれば（Ｓ１６のＮ）、以下の処理はスキップされ、ビデオストリームの切替に係る本図のフローを終了する。
【００６５】
再生部４０は、第２のビデオストリームのチャンクに対する再生処理を開始する。そのチャンクに含まれる符号化ピクチャが非表示範囲に属し（Ｓ２４のＹ）、かつ、参照ピクチャである場合（Ｓ２６のＹ）、そのピクチャを復号して（Ｓ２８）、参照用のバッファに格納するが（Ｓ３０）、表示はスキップする。非参照ピクチャである場合は（Ｓ２６のＮ）、復号処理そのものを実行しない。その一方、非表示範囲に属さない、すなわち表示範囲のＰＴＳが付された符号化ピクチャの場合（Ｓ２４のＮ）、参照ピクチャか否かにかかわらず復号する（Ｓ３２）。そして参照ピクチャであれば（Ｓ３４のＹ）、参照用のバッファに格納し（Ｓ３６）、非参照ピクチャであれば（Ｓ３４のＮ）、Ｓ３６をスキップして、復号ピクチャをＰＴＳに応じたタイミングで表示させる（Ｓ３８）。未処理の符号化ピクチャが残存すれば（Ｓ４０のＮ）、Ｓ２４へ戻り、全ての符号化ピクチャを処理済であれば（Ｓ４０のＹ）、ビデオストリームの切替に係る本図のフローを終了する。
【００６６】
以降、この例での第２のビデオストリームが当初の第１のビデオストリームの立場となって、ビデオストリームの再生処理がＳ１０から繰り返し実行される。すなわち、アダプティブ・ストリーミングが継続されて、動画の再生表示が継続する。なお、動画再生装置１２の環境がさらに変化して切替条件が充足された場合には、取得および再生の対象が再び第１のビデオストリームに戻る、または、第１および第２のビットレートとは異なる第３のビットレートに対応する第３のビデオストリームへ切り替えられる。
【００６７】
図８は、再生対象のビデオストリームのビットレートを切り替える際の処理過程とユーザ画面での表示内容とを模式的に示す。同図は、図１（ｂ）で示すチャンクＸ−２の再生中に、再生対象のビデオストリームの種類をビットレートＹに切り替えた例を示している。まず、制御部３０は、チャンクＸ−２を読み込んで再生部４０に渡し、その再生を指示する（Ｓ５０）。再生部４０は、チャンクＸ−２をデコードし、その復号ピクチャをＰＴＳにより規定されるタイミングでユーザ画面に表示させる（Ｓ５２）。チャンクＸ−２の再生処理において最後に表示されるピクチャのＰＴＳは１９０Ｋである（実際の値は１９０Ｋ未満であるが、ここでは説明の簡明化のため１９０Ｋとする）。
【００６８】
再生部４０におけるチャンクＸ−２の再生処理中に、制御部３０は通信速度の低下を検出する（Ｓ５４）。制御部３０は、より低いビットレートに対応するビデオストリームのチャンクＹ−３を読み込んで再生部４０に渡す。その際に、制御部３０は、チャンクＸ−２とチャンクＹ−３との間でピクチャが重複するＰＴＳ＝１６０Ｋ〜１９０Ｋの範囲を非表示とするよう指示する（Ｓ５６）。再生部４０は、チャンクＹ−３の再生処理において、ＰＴＳ＝１６０Ｋ〜１９０Ｋのピクチャについては、参照ピクチャのみをデコードし、かつ、非表示とする（Ｓ５８）。ＰＴＳ＝１９０Ｋ以降のピクチャについては、通常通りデコードしてユーザ画面に表示させる（Ｓ６０）。以上の処理により、ユーザ画面には、Ｘ−２の全ての復号ピクチャが表示された後、途切れることなく、Ｙ−３のＰＴＳ＝１９０Ｋ以降に対応する復号ピクチャが表示されることになる。
【００６９】
本実施の形態の動画再生装置１２によれば、異なるビットレートのビデオストリーム間でシンク・サンプルのＰＴＳが不一致、言い換えれば、チャンクの境界が不一致であっても、ビデオストリームの種類を切り替える際に、重複する画像が繰り返し表示されてしまうことを回避して動画表示の乱れを抑制できる。例えば、利用可能な通信帯域幅が比較的頻繁に変動する場合、具体的には、携帯型再生装置１２ｂによる移動中の動画視聴や、ベストエフォート型通信による動画視聴においては、ビデオストリームの種類が比較的頻繁に切り替えられることがある。このような場合に、実施の形態で提案する動画再生技術によって動画表示の乱れを抑制することで、アダプティブ・ストリーミングの利便性を高めることができる。
【００７０】
また、動画再生装置１２においては、ビットレート切替後のチャンクの再生処理において、切替前のチャンクに含まれるピクチャと重複するため非表示とするピクチャであっても、参照ピクチャについては復号して他のピクチャの復号時に参照可能とする。これにより、表示対象とするピクチャ（ＰピクチャおよびＢピクチャ）の復号を担保できる。その一方、非表示とするピクチャでかつ非参照ピクチャは、他のピクチャの復号には不要であり、本来、画面表示以外の目的では使用されないものであるため、復号処理そのものをスキップすることでビットレート切替後のチャンクの再生処理を迅速化することができる。すなわち、切替前のチャンクに含まれるピクチャの再生表示が終了するまでに、切替後のチャンクに含まれるピクチャを再生表示可能な状態としやすくなり、スムーズな切り替え表示を実現しやすくなる。例えば、切替後のチャンクに含まれるピクチャを再生表示可能な状態とする前に、切替前のチャンクに含まれるピクチャの再生表示が終了した場合の、動画の再生表示が一時的に停止してしまうことを防止しやすくなる。
【００７１】
また、動画再生装置１２においては、ビデオストリームの取得制御および再生制御、例えば切替条件の充足の判定処理や非表示範囲の判定処理をメインプロセッサで実行する一方、ビデオストリームの再生処理そのもの、例えば復号処理はグラフィックスプロセッサで実行させる。これにより、グラフィックスプロセッサを画像演算処理に専念させやすくなり、その能力を効率的に発揮させることができる。またその結果、ビットレート切替後のチャンクの再生処理（復号処理）が遅延することを防止しやすくなり、スムーズな切り替え表示を実現しやすくなる。
【００７２】
なお、本実施の形態とは別の方式として、異なるビットレートのビデオストリームを常時並行して取得および復号しておき、一方を表示させ、他方を非表示とすることが考えられる。ビットレート切替の際には、表示・非表示の関係を逆転させることで動画表示の乱れを抑制する。しかしこの方式では、複数種類のビデオストリームの取得および復号処理が常時並行実行されるため、本実施の形態で提案した方式と比較して、ハードウェアリソースをより多く使用することとなる。また、ビットレートの種類が多いほど、ハードウェアリソースの使用量も増加してしまい、また、ビットレートの切り替えが発生しなければ、ハードウェアリソースの浪費となってしまう。これに対して、本実施の形態で提案する方式は、同時に取得および再生するビットレートは１種類であり、ハードウェアリソースの効率的な使用と、スムーズな切り替え表示とを両立するものである。
【００７３】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００７４】
例えば、上記実施の形態では、ビデオストリームのチャンクにおける先頭ピクチャがシンク・サンプル（ＩＤＲピクチャ）であることとした。変形例では、チャンクにおける先頭ピクチャはシンク・サンプルでなく、言い換えれば、シンク・サンプルの時間的位置はチャンクの境界と不一致であってもよい。この変形例では、再生部４０のフレームメモリ５２に格納された参照ピクチャの画像データがクリアされるタイミングが実施の形態と異なるだけであり、実施の形態と同様、ビデオストリームの種類を切り替える際に、重複する画像が繰り返し表示されてしまうことを回避して動画表示の乱れを抑制できる。
【００７５】
なお上記変形例に関して、ビデオストリームのチャンクのデータには、そのチャンクの中に存在するシンク・サンプルの位置（例えばＰＴＳの値）を示すインデックス情報が含まれてもよい。この場合、動画再生装置１２の復号対象選択部４２は、表示対象から除外する範囲のＰＴＳが付された符号化ピクチャのうち、当該範囲における最後のシンク・サンプル以前に位置する符号化ピクチャ（例えば最後のシンク・サンプル以前のＰＴＳが付された符号化ピクチャ）を特定してもよい。そして、これらの符号化ピクチャについては、非参照ピクチャか否かにかかわらず、全ピクチャを復号対象から除外してもよい。これらの符号化ピクチャは、表示対象のピクチャの復号に必要ないからである。この態様によると、復号すべきピクチャの範囲を一層限定して、ビットレート切替後のチャンクの再生処理を一層効率化し、迅速化することができる。また、別の態様として、ビデオストリームのチャンクの中に存在するシンク・サンプルの位置を示すインデックス情報が、チャンクのデータとは別に動画配信サーバ１０から動画再生装置１２へ提供されてもよい。さらにまた、動画配信サーバ１０がインデックス情報を保持しない場合、動画再生装置１２自身がチャンクのデータに含まれるシンク・サンプルの位置をサーチし、インデックス情報を生成してもよい。
【００７６】
上述した実施の形態および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態および変形例それぞれの効果をあわせもつ。
【００７７】
請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【符号の説明】
【００７８】
１０  動画配信サーバ、  １２  動画再生装置、  ２０  取得部、  ３０  制御部、  ３２  切替判定部、  ３４  取得制御部、  ３６  スキップ判定部、  ３８  再生制御部、  ４０  再生部、  １００  動画配信システム。
【図１（ａ）】
0005331773.tif 000002
【図１（ｂ）】
0005331773.tif 000003
【図２】
0005331773.tif 000004
【図３】
0005331773.tif 000005
【図４】
0005331773.tif 000006
【図５】
0005331773.tif 000007
【図６】
0005331773.tif 000008
【図７】
0005331773.tif 000009
【図８】
0005331773.tif 000010