以下、実施形態を図面を用いて説明する。
図1は、ストリーム配信システムおよびストリーム作成装置の一実施形態を示している。図1の破線の矢印は、信号等の流れを示している。この実施形態のストリーム配信システムDSYSおよびストリーム作成装置DGENは、例えば、インターネットを介して、映像等のコンテンツを配信する。例えば、ストリーム配信システムDSYSおよびストリーム作成装置DGENは、MPEG−DASH(Dynamic Adaptive Streaming over HTTP)等の映像配信規格に対応している。
ストリーム作成装置DGENは、例えば、コンテンツのストリームSTINを受け、ストリーム配信システムDSYSで使用される第1ストリームSTD(以下、分割ストリームSTDとも称する)および置換ストリームRSTを作成する。ストリームSTINは、例えば、H.264/MPEG−4 Part 10 Advanced Video Coding(以下、H.264とも称する)に準拠した符号化方式で符号化されている。なお、ストリームSTINは、H.264以外の符号化方式で符号化されていてもよい。
例えば、ストリーム作成装置DGENは、分割部DIVおよび置換ストリーム作成部RSGENを有している。
分割部DIVは、コンテンツのストリームSTINを時間方向に分割したストリーム毎に、ビットレートの異なる複数の分割ストリームSTDを作成する。例えば、分割部DIVは、ビットレートを変更する際の切り替え点を境界にして、ストリームSTINを時間方向に分割する。さらに、分割部DIVは、時間方向に分割した各ストリームを、配信時に選択される可能性のある全てのビットレート(図2の例では、10Mbps、6Mbps、2Mbps)に変換する。これにより、複数の分割ストリームSTDが作成される。
なお、分割ストリームSTDは、例えば、複数のGOP(Group of Picture)を跨いだ参照が許容されるオープンGOPで符号化されている。GOPは、複数のピクチャを有するデータ単位であり、少なくとも1つのIピクチャを有している。Iピクチャは、例えば、フレーム内予測のみを使用するピクチャである。
また、分割ストリームSTDは、例えば、置換ストリーム作成部RSGENおよびストリーム配信システムDSYSに出力される。なお、分割ストリームSTDは、ネットワーク等を介してストリーム配信システムDSYSに転送されてもよいし、記憶媒体等を介してストリーム配信システムDSYSに転送されてもよい。
置換ストリーム作成部RSGENは、置換ストリームRSTを作成する作成部の一例である。例えば、置換ストリーム作成部RSGENは、分割ストリームSTDを分割部DIVから受ける。そして、置換ストリーム作成部RSGENは、分割ストリームSTDのビットレートの各切り替え点における切り替え点の前後の分割ストリームSTDの組み合わせ毎に、置換ストリームRSTを作成する。例えば、置換ストリームRSTは、切り替え点の前後の分割ストリームSTDのピクチャを双方向予測の参照画像として符号化した置換ピクチャを有している。
すなわち、置換ストリーム作成部RSGENは、切り替え点の前後の分割ストリームSTDの組み合わせ毎に、切り替え点の前後の分割ストリームSTDのピクチャを双方向予測の参照画像として符号化した置換ピクチャを含む置換ストリームRSTを作成する。したがって、置換ストリームRSTは、切り替え点の前後の分割ストリームSTDの組み合わせ数に応じた数だけ作成される。例えば、分割ストリームSTDのビットレートがn個の場合、各切り替え点における置換ストリームRSTの数は、n×(n−1)個である。以下、分割ストリームSTDのビットレートの切り替え点を分割ストリームSTDの切り替え点とも称する。
置換ストリームRSTは、例えば、ストリーム配信システムDSYSに出力される。なお、置換ストリームRSTは、ネットワーク等を介してストリーム配信システムDSYSに転送されてもよいし、記憶媒体等を介してストリーム配信システムDSYSに転送されてもよい。
ストリーム配信システムDSYSは、例えば、1つのコンテンツに対して複数のビットレートで符号化された分割ストリームSTDと、置換ストリームRSTと、ネットワークの帯域を示す帯域情報BINFとを受ける。そして、ストリーム配信システムDSYSは、分割ストリームSTDおよび置換ストリームRSTを使用して、ネットワークの帯域に応じた適切なビットレートのストリームSTOを配信する。これにより、例えば、ストリーム作成装置DGENで受けたコンテンツのストリームSTINは、ネットワークの帯域に応じたビットレートのストリームSTOで配信される。
例えば、ストリーム配信システムDSYSは、分割ストリーム蓄積部MEMD、置換ストリーム蓄積部MEMR、分割ストリーム選択部SELD、置換ストリーム選択部SELR、置換部REPおよび配信部OPTを有している。分割ストリーム蓄積部MEMDは、例えば、ストリーム作成装置DGENの分割部DIVで作成された分割ストリームSTDを蓄積する。また、分割ストリーム蓄積部MEMDは、分割ストリーム選択部SELDで選択された分割ストリームSTDを置換部REPに出力する。
置換ストリーム蓄積部MEMRは、分割ストリームSTDのビットレートの切り替え点毎に作成された複数の置換ストリームRSTを保持する第1保持部の一例である。例えば、置換ストリーム蓄積部MEMRは、ストリーム作成装置DGENの置換ストリーム作成部RSGENで作成された置換ストリームRSTを蓄積する。また、置換ストリーム蓄積部MEMRは、置換ストリーム選択部SELRで選択された置換ストリームRSTを置換部REPに出力する。
分割ストリーム選択部SELDは、配信する分割ストリームSTDを、コンテンツのストリームSTINを時間方向に分割したストリーム毎に作成されたビットレートの異なる複数の分割ストリームSTDから選択する第1選択部の一例である。例えば、分割ストリーム選択部SELDは、ネットワークの帯域を示す帯域情報BINFを受ける。そして、分割ストリーム選択部SELDは、分割ストリームSTDの切り替え点毎に、切り替え点後に配信する分割ストリームSTDを、帯域情報BINFの示す帯域に基づいて選択する。
分割ストリーム選択部SELDの選択結果は、分割ストリーム蓄積部MEMDおよび置換ストリーム選択部SELRに通知される。なお、分割ストリームSTDの切り替え点前後で分割ストリームSTDのビットレートが変化しない場合、分割ストリーム選択部SELDは、分割ストリームSTDの一部を置換ストリームRSTに置換する必要がない旨を、置換部REPに通知する。
置換ストリーム選択部SELRは、分割ストリーム選択部SELDで選択された分割ストリームSTDの一部を置換する置換ストリームRSTを、複数の置換ストリームRSTから選択する第2選択部の一例である。例えば、置換ストリーム選択部SELRは、分割ストリーム選択部SELDから受けた選択結果に基づいて、置換ストリームRSTを選択する。
置換ストリーム選択部SELRで選択される置換ストリームRSTの置換ピクチャは、例えば、切り替え前の分割ストリームSTDのピクチャを前方向の参照画像とし、切り替え後の分割ストリームSTDのピクチャを後方向の参照画像として、双方向予測で符号化されている。すなわち、置換ストリーム選択部SELRで選択される置換ストリームRSTは、切り替え前の分割ストリームSTDのピクチャおよび切り替え後の分割ストリームSTDのピクチャを双方向予測の参照画像として符号化された置換ピクチャを有している。
なお、例えば、分割ストリーム選択部SELDで選択された分割ストリームSTDは、切り替え後の分割ストリームSTDに対応している。したがって、切り替え前の分割ストリームSTDは、分割ストリーム選択部SELDで選択された分割ストリームSTDに切り替わる前の分割ストリームSTDに対応している。置換ストリーム選択部SELRの選択結果は、例えば、置換ストリーム蓄積部MEMRに通知される。
このように、置換ストリーム選択部SELRは、切り替え前後の分割ストリームSTDの組み合わせ情報を分割ストリーム選択部SELDから受ける。そして、置換ストリーム選択部SELRは、切り替え前後の分割ストリームSTDの組み合わせ情報に基づいて、切り替え後の分割ストリームSTDの一部(置換対象の部分)を置換する置換ストリームRSTを選択する。また、置換ストリーム選択部SELRは、選択した置換ストリームRSTの情報を置換ストリーム蓄積部MEMRに出力する。
ここで、置換対象の部分は、分割ストリームSTDの最初のIピクチャより前のピクチャである。例えば、GOPがIBBP構造の場合、置換対象の部分は、先頭および2番目のBピクチャである。Bピクチャは、例えば、フレーム内予測や双方向のフレーム間予測(時間方向予測)を使用できるピクチャである。以下、置換ストリームRSTの置換ピクチャを、他のBピクチャと区別することなく、Bピクチャとも称する。
置換部REPは、配信用のストリームSTOを作成する置換部の一例である。例えば、置換部REPは、分割ストリーム選択部SELDで選択された分割ストリームSTDの一部を、置換ストリーム選択部SELRで選択された置換ストリームRSTに置換する。これにより、ネットワークの帯域に応じた配信用のストリームSTOが作成される。
すなわち、置換部REPは、分割ストリーム蓄積部MEMDから受けた分割ストリームSTDの一部(例えば、最初のIピクチャより前のBピクチャ)を置換ストリーム蓄積部MEMRから受けた置換ストリームRSTで置換し、配信用のストリームSTOを作成する。そして、置換部REPは、分割ストリームSTDの一部を置換ストリームRSTで置換して作成したストリームSTOを、配信部OPTに出力する。
なお、分割ストリームSTDの切り替え点前後で分割ストリームSTDのビットレートが変化しない場合、置換部REPは、分割ストリーム蓄積部MEMDから受けた分割ストリームSTDを、配信用のストリームSTOとして配信部OPTに出力する。この場合、例えば、置換部REPは、分割ストリームSTDに対する置換処理を実行しない。
配信部OPTは、置換部REPから受けるストリームSTOを配信する。このように、ストリーム配信システムDSYSは、ネットワークの帯域の変化に応じて、適切なビットレートのストリームSTOを選択して配信する。
なお、ストリーム配信システムDSYSの構成は、この例に限定されない。例えば、分割ストリーム蓄積部MEMDは、分割ストリーム選択部SELDに含まれてもよいし、置換部REPに含まれてもよい。また、置換ストリーム蓄積部MEMRは、置換ストリーム選択部SELRに含まれてもよいし、置換部REPに含まれてもよい。
図2は、図1に示したストリーム作成装置DGENで作成される分割ストリームSTDおよび置換ストリームRSTの一例を示している。なお、図2は、配信する可能性のあるストリームSTOのビットレートが10Mbps、6Mbps、2Mbpsの3つのときの分割ストリームSTDおよび置換ストリームRSTの一例を示している。また、図2の例では、配信するストリームのビットレートを変更する際の切り替え点SWPの数は、3つである。
例えば、分割部DIVは、配信する1つのコンテンツのストリームSTINを時間方向に4つに分割し、分割した各ストリームを10Mbps、6Mbps、2Mbpsの3つのビットレートに変換する。これにより、10Mbpsの分割ストリームSTDa(STDa1−STDa4)、6Mbpsの分割ストリームSTDb(STDb1−STDa4)および2Mbpsの分割ストリームSTDc(STDc1−STDc4)が作成される。
また、置換ストリーム作成部RSGENは、分割ストリームSTDの切り替え点SWP(SWP1−SWP3)毎に、双方向予測で符号化されたBピクチャ(置換ピクチャB)を含む6個の置換ストリームRSTを作成する。例えば、置換ストリームRSTab(RSTab2−RSTab4)は、分割ストリームSTDaから分割ストリームSTDbに切り替わる際に使用される。また、置換ストリームRSTac(RSTac2−RSTac4)は、分割ストリームSTDaから分割ストリームSTDcに切り替わる際に使用される。
置換ストリームRSTba(RSTba2−RSTba4)は、分割ストリームSTDbから分割ストリームSTDaに切り替わる際に使用される。置換ストリームRSTbc(RSTbc2−RSTbc4)は、分割ストリームSTDbから分割ストリームSTDcに切り替わる際に使用される。置換ストリームRSTca(RSTca2−RSTca4)は、分割ストリームSTDcから分割ストリームSTDaに切り替わる際に使用される。また、置換ストリームRSTcb(RSTcb2−RSTcb4)は、分割ストリームSTDcから分割ストリームSTDbに切り替わる際に使用される。
なお、図2は、GOPがIBBP構造のときの置換ストリームRSTを示している。したがって、各置換ストリームRSTは、2つのBピクチャ(置換ピクチャB)を有している。例えば、BピクチャBab等の符号の末尾の2文字の最初の文字は、前方向の参照画像を含む分割ストリームSTDの符号STDの次の文字に対応している。また、BピクチャBab等の符号の末尾の2文字の最後の文字は、後方向の参照画像を含む分割ストリームSTDの符号STDの次の文字に対応している。
また、各置換ストリームRST(RSTac2等)の符号の末尾の数字は、置換対象の分割ストリームSTD(STDa2等)の符号の末尾の数字に対応している。例えば、置換ストリームRSTab2のBピクチャBabは、分割ストリームSTDa1のピクチャを前方向の参照画像とし、分割ストリームSTDb2のピクチャを後方向の参照画像として、双方向予測で符号化されたBピクチャである。また、例えば、置換ストリームRSTca4のBピクチャBcaは、分割ストリームSTDc3のピクチャを前方向の参照画像とし、分割ストリームSTDa4のピクチャを後方向の参照画像として、双方向予測で符号化されたBピクチャである。
なお、GOPはIBBP構造に限定されない。例えば、GOPはIBP構造でもよい。GOPがIBP構造の場合、各置換ストリームRSTは、例えば、1つのBピクチャを有する。
図3は、分割ストリームSTDのピクチャの参照関係の一例を示している。なお、図3は、GOPがIBBP構造のときのピクチャの参照関係の一例を示している。また、図3の括弧内に比較例を示している。比較例では、分割ストリームSTDの境界は、クローズドGOPで符号化されている。これに対し、この実施形態では、分割ストリームSTDの境界は、オープンドGOPで符号化されている。図3の各ピクチャの並び順は、画像の表示順に対応している。
図の符号Iは、フレーム内予測のみを使用するIピクチャを示している。以下、IピクチャIをIピクチャとも称する。また、図の符号Paは、フレーム内予測や前方向のフレーム間予測(時間方向予測)を使用できるPピクチャを示している。図の符号Baaは、フレーム内予測や双方向のフレーム間予測(時間方向予測)を使用できるBピクチャを示している。図の符号B_aは、フレーム間予測(時間方向予測)が後方向のみに制限されたBピクチャを示している。
10Mbpsの分割ストリームSTDaでは、例えば、分割ストリームSTDa2の先頭の2枚のBピクチャBaa(図の太線で示したBピクチャBaa)は、分割ストリームSTDa1の最後のPピクチャPaを前方向の参照画像としている。そして、分割ストリームSTDa2の先頭の2枚のBピクチャBaaは、例えば、分割ストリームSTDa2の最初のIピクチャを後方向の参照画像としている。
なお、分割ストリームSTDa2のIピクチャの後のBピクチャBaa(図では、Iピクチャの右側のBピクチャBaa)は、例えば、分割ストリームSTDa2の最初のIピクチャを前方向の参照画像としている。このように、切り替え点SWP後の分割ストリームSTDでは、最初のIピクチャより後のピクチャは、切り替え点SWP前の分割ストリームSTDのピクチャを参照しない。また、切り替え点SWP前の分割ストリームSTDのピクチャは、切り替え点SWP後の分割ストリームSTDのピクチャを参照しない。例えば、分割ストリームSTDa1の最後のBピクチャBaaは、分割ストリームSTDa1の最後のPピクチャPaを後方向の参照画像としている。
他のビットレートの分割ストリームSTD(例えば、6Mbpsの分割ストリームSTDb)のピクチャの参照関係も、分割ストリームSTDaと同様である。
分割ストリームSTDの境界がクローズドGOPで符号化されている比較例では、例えば、分割ストリームSTDa2の先頭の2枚のBピクチャB_a(図の太線で示したBピクチャB_a)は、分割ストリームSTDa1のピクチャを参照しない。例えば、分割ストリームSTDa2の先頭の2枚のBピクチャB_aは、分割ストリームSTDa2の最初のIピクチャを後方向の参照画像としている。すなわち、分割ストリームSTDa2の先頭の2枚のBピクチャB_aは、前方向予測を使用せずに符号化される。
ここで、フレーム内予測のみ使用するIピクチャと、フレーム内予測や時間方向予測を使用できるPピクチャとでは、復号画像の質の差が大きくなる傾向にある。例えば、クローズドGOPでは、分割ストリームSTDa2の先頭の2枚のBピクチャB_aは、分割ストリームSTDa1のPピクチャPaを参照しない。このため、分割ストリームSTDa2の先頭の2枚のBピクチャB_aの画質は、双方向予測で符号化されるBピクチャ(例えば、オープンGOPの分割ストリームSTDa2の先頭の2枚のBピクチャBaa)の画質に比べて、Iピクチャの画質に近づく。このため、比較例では、分割ストリームSTDの境界(例えば、切り替え点SWP1)における画質の変化が大きくなるおそれがある。
これに対し、この実施形態では、分割ストリームSTDの境界は、オープンドGOPで符号化されている。例えば、この実施形態では、分割ストリームSTDa2の先頭の2枚のBピクチャBaaは、分割ストリームSTDa1のPピクチャPaおよび分割ストリームSTDa2のIピクチャを参照している。このため、分割ストリームSTDa2の先頭の2枚のBピクチャBaaの画質は、Iピクチャのみを参照画像として後方向予測で符号化されたBピクチャB_aの画質に比べて、PピクチャPaの画質とIピクチャの画質とを平均した画質に近づく。この結果、分割ストリームSTDaの境界(例えば、切り替え点SWP1)における画質は、分割ストリームSTDa1の最後のPピクチャPaから分割ストリームSTDa2の最初のIピクチャまで滑らかに変化する。すなわち、この実施形態では、分割ストリームSTDの境界における画質の変化を抑制できる。
図4は、置換ストリームRSTのピクチャの参照関係の一例を示している。なお、図4は、図2に示した置換ストリームRSTab2、RSTac2のピクチャの参照関係の一例を示している。各ピクチャの符号の意味は、図2や図3と同じである。例えば、図の符号Baa、Bbb、Bcc、Bab、Bacは、フレーム内予測や双方向のフレーム間予測(時間方向予測)を使用できるBピクチャを示している。
分割ストリームSTDa1から分割ストリームSTDb2に切り替わる際に使用される置換ストリームRSTab2では、2枚のBピクチャBabは、分割ストリームSTDa1の最後のPピクチャPaを前方向の参照画像としている。そして、置換ストリームRSTab2の2枚のBピクチャBabは、分割ストリームSTDb2の最初のIピクチャを後方向の参照画像としている。
分割ストリームSTDa1から分割ストリームSTDc2に切り替わる際に使用される置換ストリームRSTac2では、2枚のBピクチャBacは、分割ストリームSTDa1の最後のPピクチャPaを前方向の参照画像としている。そして、置換ストリームRSTac2の2枚のBピクチャBacは、分割ストリームSTDc2の最初のIピクチャを後方向の参照画像としている。
他の置換ストリームRSTのピクチャの参照関係も、分割ストリームSTDaと同様である。例えば、図2に示した各置換ストリームRSTのBピクチャは、Bピクチャの符号(Bab等)の末尾の2文字の最初の文字に対応する分割ストリームSTDの最後のPピクチャを前方向の参照画像としている。また、各置換ストリームRSTのBピクチャは、Bピクチャの符号(Bab等)の末尾の2文字の最後の文字に対応する分割ストリームSTDの最初のIピクチャを後方向の参照画像としている。
このように、置換ストリームRSTのBピクチャは、ビットレートの異なる2つの分割ストリームSTDのそれぞれのピクチャを双方向予測の参照画像として符号化されている。したがって、図1に示した置換ストリーム作成部RSGENは、例えば、分割部DIVから受けた分割ストリームSTDを復号してから置換ストリームRSTのBピクチャを符号化する。
図5は、置換ストリームRSTのデータ配置の一例を示している。なお、図5は、5つのビットレートの分割ストリームSTDが作成されているときの置換ストリームRSTのデータ配置の一例を示している。例えば、分割ストリームSTDeと異なるビットレートの分割ストリームSTDから分割ストリームSTDeに切り替わる際に使用される置換ストリームRSTは、置換ストリームRSTae、RSTbe、RSTce、RSTdeから選択される。
図の斜線部分は、Bピクチャのデータを示し、黒塗り部分は、多重化データおよび音声データを示している。また、網掛け部分は、スタッフィングデータを示している。多重化データは、例えば、ヘッダデータ、字幕データ、用途を問わないプライベートデータ等である。以下、多重化データおよび音声データのいずれでもないデータ(ピクチャのデータおよびスタッフィングデータ)をビデオデータとも称する。
例えば、置換ストリームRSTは、Bピクチャ(置換ピクチャ)のデータ、多重化データ、音声データおよびスタッフィングデータを有している。各置換ストリームRSTでは、ビデオデータ部分の情報量(データ量)が置換対象のビデオデータ部分の情報量(データ量)と同じになるようにスタッフィングデータが挿入される。例えば、分割ストリームSTDe、置換ストリームRSTae、RSTbe、RSTce、RSTdeの先頭のBピクチャのストリームは、ビデオデータ部分の情報量が互いに同じになるように作成される。また、例えば、分割ストリームSTDe、置換ストリームRSTae、RSTbe、RSTce、RSTdeの2番目のBピクチャのストリームは、ビデオデータ部分の情報量が互いに同じになるように作成される。
すなわち、置換ストリーム作成部RSGENは、置換ストリームRSTae、RSTbe、RSTce、RSTdeの先頭のBピクチャのストリームのビデオデータ部分の情報量を、分割ストリームSTDeの先頭のBピクチャのストリームのビデオデータ部分の情報量と同じになるように調整する。同様に、置換ストリーム作成部RSGENは、置換ストリームRSTae、RSTbe、RSTce、RSTdeの2番目のBピクチャのストリームのビデオデータ部分の情報量を、分割ストリームSTDeの2番目のBピクチャのストリームのビデオデータ部分の情報量と同じになるように調整する。
このように、置換ストリーム作成部RSGENは、置換ストリームRSTの情報量を、切り替え点SWPの後の分割ストリームSTDのうちの置換対象の部分の情報量と同じにする。また、各置換ストリームRSTの多重化データおよび音声データは、置換対象のBピクチャのストリームの多重化データおよび音声データと同じ位置関係になるように、配置される。これにより、この実施形態では、再多重化の処理を実行することなく、分割ストリームSTDeの先頭および2番目のBピクチャのストリームを置換ストリームRSTに置換してストリームSTOを作成できる。
なお、置換ストリームRSTのデータ配置は、この例に限定されない。例えば、置換ストリームRSTは、多重化データおよび音声データが省かれて作成されてもよい。すなわち、置換ストリームRSTは、ビデオデータ(ピクチャのデータおよびスタッフィングデータ)のみを有してもよい。この場合、例えば、図1に示した置換部REPは、分割ストリームSTDのビデオデータを、分割ストリームSTDの多重化データおよび音声データの位置を変えずに、置換ストリームRSTのビデオデータに置換する。
あるいは、置換ストリームRSTは、多重化データ、音声データおよびBピクチャ(置換ピクチャ)のデータのうち、Bピクチャ(置換ピクチャ)のデータのみを有してもよい。この場合、例えば、置換部REPは、分割ストリームSTDの多重化データおよび音声データの位置を変えずに、分割ストリームSTDのビデオデータを置換ストリームRSTのピクチャのデータに置換する。なお、置換ストリームRSTのピクチャのデータの情報量より分割ストリームSTDのビデオデータの情報量が多い部分には、例えば、置換部REPは、スタッフィングデータを挿入する。
多重化データおよび音声データが省かれた置換ストリームRSTを使用する場合、多重化データおよび音声データを含む置換ストリームRSTを使用する場合に比べて、置換ストリーム蓄積部MEMRの容量を低減できる。なお、多重化データおよび音声データを含む置換ストリームRSTを使用する場合、多重化データおよび音声データが省かれた置換ストリームRSTを使用する場合に比べて、置換処理を簡易にできる。
また、置換ストリームRSTのビデオデータ部分の情報量は、分割ストリームSTDのうちの置換対象の部分と異なる情報量でもよい。この場合、例えば、置換部REPは、分割ストリームSTDeの先頭および2番目のBピクチャのストリームを置換ストリームRSTに置換したときに、再多重化の処理を実行してストリームSTOを作成する。
図6は、図1に示したストリーム配信システムDSYSによるストリーム配信の一例を示している。なお、図6の例では、配信するコンテンツに基づいて作成された分割ストリームSTDおよび置換ストリームRSTは、図2に示した分割ストリームSTDおよび置換ストリームRSTである。ストリームSTOの括弧内の分割ストリームSTDおよび置換ストリームRSTは、ストリームSTOを配信するために選択された分割ストリームSTDおよび置換ストリームRSTを示している。
例えば、ストリーム配信システムDSYSは、ネットワークの帯域が10MbpsのストリームSTOを配信するのに十分な帯域であることを示す帯域情報BINFを配信開始前に受ける。これにより、ストリーム配信システムDSYSは、先ず、10Mbpsの分割ストリームSTDa1を、ストリームSTOa1として配信する。
時刻t10(図2に示した切り替え点SWP1に対応する時刻)では、ストリーム配信システムDSYSは、ネットワークの帯域の低下に応じて、配信するストリームSTOを6MbpsのストリームSTOb2に切り替える。これにより、例えば、時刻t10では、ストリームSTOのビットレートが10Mbpsから6Mbpsに切り替わる。なお、ストリームSTOb2は、例えば、6Mbpsの分割ストリームSTDb2の先頭の2枚のBピクチャが置換ストリームRSTab2に置換されたストリームである。
時刻t20(図2に示した切り替え点SWP2に対応する時刻)では、ストリーム配信システムDSYSは、ネットワークの帯域のさらなる低下に応じて、配信するストリームSTOを2MbpsのストリームSTOc3に切り替える。これにより、例えば、時刻t20では、ストリームSTOのビットレートが6Mbpsから2Mbpsに切り替わる。なお、ストリームSTOc3は、例えば、2Mbpsの分割ストリームSTDc3の先頭の2枚のBピクチャが置換ストリームRSTbc3に置換されたストリームである。
時刻t30(図2に示した切り替え点SWP3に対応する時刻)では、ストリーム配信システムDSYSは、ネットワークの帯域の上昇に応じて、配信するストリームSTOを6MbpsのストリームSTOb4に切り替える。これにより、例えば、時刻t30では、ストリームSTOのビットレートが2Mbpsから6Mbpsに切り替わる。なお、ストリームSTOb4は、例えば、6Mbpsの分割ストリームSTDb4の先頭の2枚のBピクチャが置換ストリームRSTcb4に置換されたストリームである。
このように、ストリーム配信システムDSYSは、配信するストリームSTOのビットレートを、ネットワークの帯域の変化に応じて、10Mbps、6Mbps、2Mbpsの3つのビットレートから選択する。これにより、この実施形態では、ネットワークの帯域に応じた適切なビットレートのストリームSTOを配信できる。また、ストリーム配信システムDSYSは、配信するストリームSTOのビットレートを切り替える際に、切り替え後の分割ストリームSTDの先頭の2枚のBピクチャを置換ストリームRSTに置換する。これにより、この実施形態では、ストリーム切り替え時の画質の変化を抑制できる。
図7は、ストリーム配信時のピクチャ置換の一例を示している。なお、図7は、ストリームSTOのビットレートが10Mbpsから6Mbpsに切り替わる際のピクチャ置換の一例を示している。図7の各ピクチャの並び順は、画像の表示順に対応している。
ピクチャ置換前の6Mbpsの分割ストリームSTDb2では、先頭の2枚のBピクチャBbb(図の太線で示したBピクチャBbb)は、分割ストリームSTDb1のピクチャを前方向の参照画像として符号化されている。したがって、ピクチャ置換を実行せずに分割ストリームSTDb2を配信した場合、分割ストリームSTDb2の先頭の2枚のBピクチャBbbの参照画像が符号化時と復号化時とで異なる。この場合、復号画像が劣化するおそれがある。
このため、ストリーム配信システムDSYSは、分割ストリームSTDb2において、先頭の2枚のBピクチャBbbを含む部分のストリームRSTbb2を、切り替え前後の分割ストリームSTDの組み合わせから決定される置換ストリームRSTab2で置換する。これにより、配信用のストリームSTOb2が作成される。すなわち、ストリーム配信システムDSYSは、分割ストリームSTDb2の先頭の2枚のBピクチャBbbのストリームRSTbb2を置換ストリームRSTab2に置換して、ストリームSTOb2を作成する。
例えば、ピクチャ置換後の6MbpsのストリームSTOb2では、先頭の2枚のBピクチャBab(図の太線で示したBピクチャBab)は、ストリームSTOa1の最後のPピクチャPaを前方向の参照画像としている。そして、ストリームSTOb2の先頭の2枚のBピクチャBabは、例えば、ストリームSTOb2の最初のIピクチャを後方向の参照画像としている。
このように、ピクチャ置換が実行されたストリームSTOb2では、先頭の2枚のBピクチャBabの参照画像は、符号化時と復号化時とで同じになる。このため、この実施形態では、ストリームSTOのビットレートを切り替えたときに復号画像が劣化することを防止できる。また、この実施形態では、ストリームSTOb2の先頭の2枚のBピクチャBabが双方向予測で符号化されているため、ストリームSTOa1の最後のPピクチャPaからストリームSTOb2の最初のIピクチャまで画質が滑らかに変化する。すなわち、この実施形態では、ストリーム切り替え時の画質の変化を抑制できる。
図8は、図1に示したストリーム作成装置DGENの動作の一例を示している。なお、図8に示した動作は、ストリーム作成装置の動作方法の一実施形態である。
ステップS100では、分割部DIVは、コンテンツを分割して、分割ストリームSTDを作成する。例えば、分割部DIVは、配信するコンテンツのストリームSTINを、ストリーム作成装置DGENの外部から受ける。そして、分割部DIVは、ストリームのビットレートの切り替え点SWPを境界にして、コンテンツのストリームSTINを分割する。そして、分割部DIVは、分割した各ストリームを、配信時のビットレートを選択する際の選択候補に含まれる全てのビットレートに変換する。これにより、ストリームのビットレートの切り替え点SWP毎に、複数の分割ストリームSTDが作成される。
なお、分割ストリームSTDの境界は、オープンGOPで符号化される。ステップS100で作成された分割ストリームSTDは、例えば、置換ストリーム作成部RSGENおよびストリーム配信システムDSYSの分割ストリーム蓄積部MEMDに転送される。例えば、置換ストリーム作成部RSGENは、分割部DIVから転送される分割ストリームSTDを、置換ストリームRSTの作成に使用している間保持する。また、例えば、分割ストリーム蓄積部MEMDは、分割部DIVから転送される全ての分割ストリームSTDを蓄積する。
ステップS110では、置換ストリーム作成部RSGENは、切り替え点SWPの前後の分割ストリームSTDのピクチャを双方向予測の参照画像として符号化した置換ピクチャを含む置換ストリームRSTを作成する。例えば、置換ストリーム作成部RSGENは、ストリームのビットレートの切り替え点SWP毎に、切り替え点SWPの前後の分割ストリームSTDの組み合わせ数に応じた数の置換ストリームRSTを作成する。
すなわち、置換ストリーム作成部RSGENは、配信する可能性のある全ての分割ストリームSTDの組み合わせに対応する置換ストリームRSTを作成する。ステップS110で作成された置換ストリームRSTは、例えば、ストリーム配信システムDSYSの置換ストリーム蓄積部MEMRに転送される。
このように、オープンGOPで符号化された分割ストリームSTDと、分割ストリームSTDの最初のIピクチャより前のピクチャを置換するための置換ストリームRSTとが作成される。分割ストリームSTDおよび置換ストリームRSTを使用して配信用のストリームSTOを作成することにより、ストリーム切り替え時の画質の変化が抑制される。したがって、この実施形態では、ストリーム切り替え時の画質の変化を抑制できる。
図9は、図1に示したストリーム配信システムDSYSの動作の一例を示している。なお、図9に示した動作は、ストリーム配信システムの動作方法の一実施形態である。
ステップS200では、分割ストリーム選択部SELDは、配信する分割ストリームSTDを帯域情報BINFに基づいて選択する。選択結果は、例えば、分割ストリーム蓄積部MEMDおよび置換ストリーム選択部SELRに通知される。例えば、分割ストリーム蓄積部MEMDは、分割ストリーム選択部SELDから受ける選択結果に従って、分割ストリームSTDを選択する。そして、分割ストリーム蓄積部MEMDは、選択した分割ストリームSTDを置換部REPに出力する。すなわち、分割ストリーム蓄積部MEMDは、分割ストリーム選択部SELDで決定した分割ストリームSTDを、置換部REPに出力する。
ステップS210では、分割ストリーム選択部SELDは、置換が必要か否かを判定する。例えば、分割ストリーム選択部SELDは、分割ストリームSTDの切り替え点SWPの前後でストリームSTOのビットレートを切り替えるか否かを判定する。ストリームSTOのビットレートを切り替える場合、置換が必要であると判定される。また、ストリームSTOのビットレートが切り替え点SWPの前後で変化しない場合、置換は必要でないと判定される。
置換が必要のとき(ステップS210のYes)、ストリーム配信システムDSYSの動作は、処理S220に移る。一方、置換が必要でないとき(ステップS210のNo)、ストリーム配信システムDSYSの動作は、処理S230に移る。なお、置換が必要でない旨は、例えば、置換ストリーム選択部SELRおよび置換部REPに通知される。
ステップS220では、置換部REPは、ステップS200で選択された分割ストリームSTDの一部(置換対象の部分)を置換ストリームRSTに置換する。例えば、置換ストリーム選択部SELRは、分割ストリーム選択部SELDから受ける選択結果に基づいて、置換ストリームRSTを選択する。選択結果は、例えば、置換ストリーム蓄積部MEMRに通知される。
例えば、置換ストリーム蓄積部MEMRは、置換ストリーム選択部SELRから受ける選択結果に従って、置換ストリームRSTを選択する。そして、置換ストリーム蓄積部MEMRは、選択した置換ストリームRSTを置換部REPに出力する。また、置換部REPは、分割ストリーム蓄積部MEMDから転送された分割ストリームSTDの一部(置換対象の部分)を、置換ストリーム蓄積部MEMRから転送された置換ストリームRSTに置換する。
すなわち、置換が必要な場合、置換ストリーム選択部SELRは、切り替え点SWPの前後の分割ストリームSTDの組み合わせに基づいて、置換ストリームRSTを選択する。そして、置換部REPは、分割ストリーム選択部SELDで選択された分割ストリームSTDの一部(置換対象の部分)を、置換ストリーム選択部SELRで選択された置換ストリームRSTに置換する。これにより、配信用のストリームSTOが作成される。そして、置換部RSTは、作成したストリームSTOを配信部OPTに出力する。
ステップS230では、配信部OPTは、置換部REPから受けるストリームSTOを配信する。例えば、置換が必要な場合、配信部OPTは、ステップS220で作成されたストリームSTOを配信する。また、置換が必要でない場合、置換部REPは、ステップS200で選択された分割ストリームSTDを、ストリームSTOとして配信部OPTに出力する。すなわち、置換が必要でない場合、配信部OPTは、ステップS200で選択された分割ストリームSTDを、置換部REPを介して受ける。したがって、置換が必要でない場合、配信部OPTは、ステップS200で選択された分割ストリームSTDをストリームSTOとして配信する。
ステップS240では、ストリーム配信システムDSYSは、コンテンツの配信が完了したか否かを判定する。コンテンツの配信が完了していないとき(ステップS240のNo)、ストリーム配信システムDSYSの動作は、ステップS200に戻る。一方、コンテンツの配信が完了したとき(ステップS240のYes)、ストリーム配信システムDSYSによるストリーム配信は終了する。
このように、ストリーム配信システムDSYSは、ストリームSTOのビットレートを切り替える場合、分割ストリームSTDの一部を置換ストリームRSTで置換して、切り替え後のストリームSTOを作成する。これにより、この実施形態では、ストリームSTOのビットレートを切り替えたときにも、符号化時と復号化時とで参照画像を同じにできる。このため、この実施形態では、ストリームSTOのビットレートを切り替えたときに復号画像が劣化することを防止できる。
以上、図1から図9に示した実施形態では、ストリーム作成部DGENは、分割部DIVおよび置換ストリーム作成部RSGENを有している。置換ストリーム作成部RSGENは、ストリームSTOのビットレートの切り替え点SWP毎に、切り替え点SWPの前後の分割ストリームSTDのピクチャを双方向予測の参照画像として符号化した置換ピクチャを含む置換ストリームRSTを作成する。例えば、置換ストリームRSTは、切り替え点SWPの前後の分割ストリームSTDの組み合わせ数に応じた数だけ作成される。
また、この実施形態のストリーム配信システムDSYSは、分割ストリーム選択部SELD、分割ストリーム蓄積部MEMD、置換ストリーム選択部SELR、置換ストリーム蓄積部MEMR、置換部REPおよび配信部OPTを有している。分割ストリーム選択部SELDは、互いに異なるビットレートの分割ストリームSTDから配信する分割ストリームSTDを選択する。また、置換ストリーム蓄積部MEMRは、ストリームSTOのビットレートの切り替え点SWP毎に作成された複数の置換ストリームRSTを保持する。置換ストリーム選択部SELRは、ストリームSTOのビットレートを切り替える場合、切り替え点SWPの前後の分割ストリームSTDのピクチャを双方向予測の参照画像として符号化された置換ピクチャを含む置換ストリームを選択する。置換部REPは、分割ストリーム選択部SELDで選択された分割ストリームSTDの一部を置換ストリーム選択部SELRで選択された置換ストリームRSTに置換し、配信用のストリームSTOを作成する。
これにより、この実施形態では、配信用のストリームSTOのピクチャの参照画像を、符号化時と復号化時とで同じにできる。したがって、この実施形態では、ストリームSTOのビットレートを切り替えたときに復号画像が劣化することを防止できる。また、この実施形態では、ストリームSTOの最初のIピクチャより前のピクチャが双方向予測で符号化されている。このため、この実施形態では、切り替え点SWPの前後において、切り替え点SWP前のストリームSTOの最後のPピクチャから切り替え点SWP後のストリームSTOの最初のIピクチャまで画質が滑らかに変化する。すなわち、この実施形態では、ストリーム切り替え時の画質の変化を抑制できる。
図10は、ストリーム配信システムの別の実施形態を示す図である。図10の破線の矢印は、信号等の流れを示している。この実施形態のストリーム配信システムDSYS2では、図1に示したストリーム配信システムDSYSに分割部DIVおよび置換ストリーム作成部RSGEN2が追加されている。ストリーム配信システムDSYS2のその他の構成は、図1に示したストリーム配信システムDSYSと同様である。図1から図9で説明した要素と同様の要素については、同様の符号を付し、これ等については、詳細な説明を省略する。
ストリーム配信システムDSYS2は、例えば、分割部DIV、置換ストリーム作成部RSGEN2、分割ストリーム蓄積部MEMD、置換ストリーム蓄積部MEMR、分割ストリーム選択部SELD、置換ストリーム選択部SELR、置換部REPおよび配信部OPTを有している。
分割部DIVは、分割ストリームSTDの出力先を除いて、図1に示した分割部DIVと同様である。例えば、分割部DIVは、配信するコンテンツのストリームSTINを受け、分割ストリームSTDを分割ストリーム蓄積部MEMDに出力する。分割部DIVで作成される分割ストリームSTDは、図1から図9で説明した実施形態の分割ストリームSTDと同様である。
置換ストリーム作成部RSGEN2は、分割ストリーム蓄積部MEMDから分割ストリームSTDを受けることを除いて、図1に示した置換ストリーム作成部RSGENと同様である。例えば、置換ストリーム作成部RSGEN2は、分割ストリーム蓄積部MEMDから分割ストリームSTDを受け、分割ストリームSTDの切り替え点SWP毎に置換ストリームRSTを作成する。
置換ストリーム作成部RSGEN2で作成される置換ストリームRSTは、図1から図9で説明した実施形態の置換ストリームRSTと同様である。例えば、置換ストリームRSTは、切り替え点SWPの前後の分割ストリームSTDのピクチャを双方向予測の参照画像として符号化した置換ピクチャを有している。また、置換ストリームRSTは、例えば、切り替え点SWPの前後の分割ストリームSTDの組み合わせ数に応じた数だけ作成される。
ストリーム配信システムDSYS2の動作は、例えば、図8および図9で説明した動作と同様である。例えば、分割部DIVおよび置換ストリーム作成部RSGEN2の動作は、置換ストリーム作成部RSGENを置換ストリーム作成部RSGEN2に読み替えることにより図8で説明される。また、分割ストリーム蓄積部MEMD、置換ストリーム蓄積部MEMR、分割ストリーム選択部SELD、置換ストリーム選択部SELR、置換部REPおよび配信部OPTの動作は、例えば、図9で説明される。
なお、ストリーム配信システムDSYS2の構成は、この例に限定されない。例えば、ストリーム配信システムDSYS2は、置換ストリーム作成部RSGEN2の変わりに図1に示した置換ストリーム作成部RSGENを有してもよい。すなわち、図1に示したストリーム配信システムDSYSにストリーム作成装置DGENが含まれてもよい。
以上、図10で説明した実施形態においても、図1から図9で説明した実施形態と同様の効果を得ることができる。例えば、この実施形態では、ストリーム切り替え時の画質の変化を抑制できる。さらに、この実施形態では、ストリーム配信システムDSYS2は、置換ストリーム作成部RSGEN2を有している。これにより、置換ストリーム作成部RSGEN2は、置換ストリームRSTを作成する際に、分割ストリーム蓄積部MEMDに保持されている分割ストリームSTDを使用できる。したがって、この実施形態では、置換ストリーム作成部RSGEN2内の記憶部の容量を削減できる。
以上の実施形態において説明した発明を整理して、付記として開示する。
(付記1)
配信する第1ストリームを、コンテンツのストリームを時間方向に分割したストリーム毎に作成されたビットレートの異なる複数の第1ストリームから選択する第1選択部と、
前記第1ストリームのビットレートの切り替え点毎に作成された複数の置換ストリームを保持する第1保持部と、
前記第1選択部で選択された前記第1ストリームに切り替わる前の前記第1ストリームのピクチャを前方向の参照画像とし、前記第1選択部で選択された前記第1ストリームのピクチャを後方向の参照画像として、双方向予測で符号化された置換ピクチャを含む置換ストリームを、前記複数の置換ストリームから選択する第2選択部と、
前記第1選択部で選択された前記第1ストリームの一部を前記第2選択部で選択された前記置換ストリームに置換し、配信用のストリームを作成する置換部と
を備えていることを特徴とするストリーム配信システム。
(付記2)
付記1記載のストリーム配信システムにおいて、
前記切り替え点の前後の前記第1ストリームの組み合わせ毎に、前記切り替え点の前後の前記第1ストリームのピクチャを双方向予測の参照画像として符号化した前記置換ピクチャを含む前記置換ストリームを作成する作成部を備えていることを特徴とするストリーム配信システム。
(付記3)
付記1または付記2に記載のストリーム配信システムにおいて、
前記置換ストリームの情報量は、前記第1ストリームの前記一部の情報量と同じであることを特徴とするストリーム配信システム。
(付記4)
付記1または付記2に記載のストリーム配信システムにおいて、
前記置換ストリームは、多重化データ、音声データおよび前記置換ピクチャのうち、前記置換ピクチャのみを含んでいることを特徴とするストリーム配信システム。
(付記5)
付記1ないし付記3のいずれか1項に記載のストリーム配信システムにおいて、
前記置換ストリームは、多重化データ、音声データおよび前記置換ピクチャを含んでいることを特徴とするストリーム配信システム。
(付記6)
コンテンツのストリームを時間方向に分割したストリーム毎に作成されたビットレートの異なる複数の第1ストリームを受け、前記第1ストリームのビットレートの各切り替え点における前記切り替え点の前後の前記第1ストリームの組み合わせ毎に、前記切り替え点の前後の前記第1ストリームのピクチャを双方向予測の参照画像として符号化した置換ピクチャを含む置換ストリームを作成する作成部を備えていることを特徴とするストリーム作成装置。
(付記7)
付記6記載のストリーム作成装置において、
前記作成部は、前記置換ストリームの情報量を、前記切り替え点の後の前記第1ストリームのうちの置換対象の部分の情報量と同じにすることを特徴とするストリーム作成装置。
(付記8)
付記6に記載のストリーム作成装置において、
前記置換ストリームは、多重化データ、音声データおよび前記置換ピクチャのうち、前記置換ピクチャのみを含んでいることを特徴とするストリーム作成装置。
(付記9)
付記6または付記7に記載のストリーム作成装置において、
前記置換ストリームは、多重化データ、音声データおよび前記置換ピクチャを含んでいることを特徴とするストリーム作成装置。
(付記10)
配信する第1ストリームを、コンテンツのストリームを時間方向に分割したストリーム毎に作成されたビットレートの異なる複数の第1ストリームから選択し、
前記第1ストリームのビットレートの切り替え点毎に作成された複数の置換ストリームを保持し、
選択された前記第1ストリームに切り替わる前の前記第1ストリームのピクチャを前方向の参照画像とし、前記選択された前記第1ストリームのピクチャを後方向の参照画像として、双方向予測で符号化された置換ピクチャを含む置換ストリームを、前記複数の置換ストリームから選択し、
前記選択された前記第1ストリームの一部を選択された前記置換ストリームに置換し、配信用のストリームを作成すること
を特徴とするストリーム配信方法。
(付記11)
付記10記載のストリーム配信方法において、
前記切り替え点の前後の前記第1ストリームの組み合わせ毎に、前記切り替え点の前後の前記第1ストリームのピクチャを双方向予測の参照画像として符号化した前記置換ピクチャを含む前記置換ストリームを作成することを特徴とするストリーム配信方法。
(付記12)
付記10または付記11に記載のストリーム配信方法において、
前記置換ストリームの情報量は、前記第1ストリームの前記一部の情報量と同じであることを特徴とするストリーム配信方法。
(付記13)
付記10または付記11に記載のストリーム配信方法において、
前記置換ストリームは、多重化データ、音声データおよび前記置換ピクチャのうち、前記置換ピクチャのみを含んでいることを特徴とするストリーム配信方法。
(付記14)
付記10ないし付記12のいずれか1項に記載のストリーム配信方法において、
前記置換ストリームは、多重化データ、音声データおよび前記置換ピクチャを含んでいることを特徴とするストリーム配信方法。
(付記15)
コンテンツのストリームを時間方向に分割したストリーム毎に作成されたビットレートの異なる複数の第1ストリームを受け、前記第1ストリームのビットレートの各切り替え点における前記切り替え点の前後の前記第1ストリームの組み合わせ毎に、前記切り替え点の前後の前記第1ストリームのピクチャを双方向予測の参照画像として符号化した置換ピクチャを含む置換ストリームを作成することを特徴とするストリーム作成方法。
(付記16)
付記15記載のストリーム作成方法において、
前記置換ストリームの情報量を、前記切り替え点の後の前記第1ストリームのうちの置換対象の部分の情報量と同じにすることを特徴とするストリーム作成方法。
(付記17)
付記15記載のストリーム作成方法において、
前記置換ストリームは、多重化データ、音声データおよび前記置換ピクチャのうち、前記置換ピクチャのみを含んでいることを特徴とするストリーム作成方法。
(付記18)
付記15または付記16に記載のストリーム作成方法において、
前記置換ストリームは、多重化データ、音声データおよび前記置換ピクチャを含んでいることを特徴とするストリーム作成方法。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。