(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-03
(45)【発行日】2024-10-11
(54)【発明の名称】ストリーム送出装置、ストリーム生成装置、及びプログラム
(51)【国際特許分類】
H04N 21/2662 20110101AFI20241004BHJP
H04N 19/115 20140101ALI20241004BHJP
H04N 19/172 20140101ALI20241004BHJP
【FI】
H04N21/2662
H04N19/115
H04N19/172
(21)【出願番号】P 2020160202
(22)【出願日】2020-09-24
【審査請求日】2023-08-24
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100147485
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100161148
【氏名又は名称】福尾 誠
(74)【代理人】
【識別番号】100185225
【氏名又は名称】齋藤 恭一
(72)【発明者】
【氏名】井口 和久
(72)【発明者】
【氏名】根本 慎平
(72)【発明者】
【氏名】大西 正芳
(72)【発明者】
【氏名】西村 敏
【審査官】鈴木 順三
(56)【参考文献】
【文献】特開2015-019329(JP,A)
【文献】特開2016-063481(JP,A)
【文献】特開平10-336606(JP,A)
【文献】特表2011-512767(JP,A)
【文献】特開2018-085764(JP,A)
【文献】米国特許出願公開第2014/0241415(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00 - 21/858
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
異なるビットレートで符号化された複数の符号化ストリームを切り替えて送出する機能を有するストリーム送出装置において、
第1ビットレートで符号化された第1ビットレートストリームと、前記第1ビットレートストリームと同じGOP(Group of picture)構造を有し、第2のビットレートで符号化された第2ビットレートストリームとを備え、
前記第1ビットレートストリームのX番目(Xは任意)のGOPのi番目(0<i<GOP長)のAU(Access Unit)から切り替えを行うとき、前記X番目のGOPと同じGOP構造を有し、先頭AUからi-1番目のAUまでは前記第1ビットレートストリームのX番目のGOPの先頭AUからi-1番目のAUと同一の復号結果が得られる符号化が行われ、i番目以降のAUは第1ビットレートよりも第2ビットレートに近いビットレートで符号化された遷移GOPを用い、
前記第1ビットレートストリームを、前記X番目のGOPのi-1番目のAUまで送出し、
次いで、前記遷移GOPのi番目以降のAUを送出し、
X+1番目のGOPから、第2ビットレートストリームに切り替える
ことを特徴とするストリーム送出装置。
【請求項2】
異なるビットレートで符号化された複数の符号化ストリームを蓄積する蓄積部と、前記蓄積部に蓄積された符号化ストリームを選択し、切り替えて送出する送出ストリーム選択部とを備えるストリーム送出装置において、
前記蓄積部は、第1ビットレートで符号化された第1ビットレートストリームと、前記第1ビットレートストリームと同じGOP構造を有し、第2のビットレートで符号化された第2ビットレートストリームと、前記第1ビットレートストリームから前記第2ビットレートストリームへの切り替えに用いる遷移ストリームとを備え、
前記遷移ストリームを構成するGOPは、前記第1ビットレートストリームの各GOPにつきGOP長-1種類を有し、先頭AUからi-1番目(0<i<GOP長)のAUまでは前記第1ビットレートストリームの対応GOPの先頭AUからi-1番目のAUと同一の復号結果が得られるように符号化されており、i番目以降のAUは第1ビットレートよりも第2ビットレートに近いビットレートで符号化されている
ことを特徴とするストリーム送出装置。
【請求項3】
請求項2に記載のストリーム送出装置において、
前記送出ストリーム選択部は、ビットレート変更指示に基づいて、前記第1ビットレートストリームの指示されたGOPのi番目のAUから切り替えを行うとき、
前記遷移ストリームの前記指示されたGOPに対応するGOPであって、先頭AUからi-1番目のAUまでは前記第1ビットレートストリームの指示されたGOPの先頭AUからi-1番目のAUと同一の復号結果が得られるように符号化され、i番目以降のAUは第1ビットレートよりも第2ビットレートに近いビットレートで符号化されたGOPを選択し、
前記第1ビットレートストリームを、指示されたGOPのi-1番目のAUまで送出し、
次いで、前記遷移ストリームの選択されたGOPのi番目以降のAUを送出し、
前記指示されたGOPの次のGOPから、第2ビットレートストリームに切り替える
ことを特徴とするストリーム送出装置。
【請求項4】
請求項2又は3に記載のストリーム送出装置において、
前記蓄積部は、異なるビットレートで符号化された第1乃至第n(nは2以上の整数)の符号化ストリームと、第1乃至第nの任意の符号化ストリームから他の任意の符号化ストリームへの切り替えに用いる遷移ストリームとを備えている
ことを特徴とするストリーム送出装置。
【請求項5】
請求項2又は3に記載のストリーム送出装置において、
前記蓄積部は、異なるビットレートで符号化された第1乃至第n(nは2以上の整数)の符号化ストリームと、第1乃至第n-1の任意の符号化ストリームから第nの符号化ストリームへの切り替えに用いる遷移ストリームとを備えている
ことを特徴とするストリーム送出装置。
【請求項6】
異なるビットレートで符号化された複数の符号化ストリームの切り替えを行うための符号化ストリームを生成するストリーム生成装置において、
入力された映像を第1ビットレートで符号化し、第1ビットレートストリームを生成する第1ビットレート符号化部と、
入力された映像を第2ビットレートで符号化し、前記第1ビットレートストリームと同じGOP構造を有する第2ビットレートストリームを生成する第2ビットレート符号化部と、
前記第1ビットレートストリームから前記第2ビットレートストリームへの切り替えに用いる第1第2遷移ストリームを生成する第1第2遷移符号化部と、を備え、
前記第1第2遷移符号化部は、前記第1第2遷移ストリームを構成するGOPを、前記第1ビットレートストリームの各GOPにつきGOP長-1種類生成し、先頭AUからi-1番目(0<i<GOP長)のAUまでは前記第1ビットレートストリームの対応GOPの先頭AUからi-1番目のAUと同一の復号結果が得られるように符号化し、i番目以降のAUは第1ビットレートよりも第2ビットレートに近いビットレートで符号化する
ことを特徴とするストリーム生成装置。
【請求項7】
請求項6に記載のストリーム生成装置において、
さらに、前記第2ビットレートストリームから前記第1ビットレートストリームへの切り替えに用いる第2第1遷移ストリームを生成する第2第1遷移符号化部を備え、
前記第2第1遷移符号化部は、前記第2第1遷移ストリームを構成するGOPを、前記第2ビットレートストリームの各GOPにつきGOP長-1種類生成し、先頭AUからi-1番目(0<i<GOP長)のAUまでは前記第2ビットレートストリームの対応GOPの先頭AUからi-1番目のAUと同一の復号結果が得られるように符号化し、i番目以降のAUは第2ビットレートよりも第1ビットレートに近いビットレートで符号化する
ことを特徴とするストリーム生成装置。
【請求項8】
コンピュータを、請求項1乃至5のいずれか一項に記載のストリーム送出装置として機能させる、プログラム。
【請求項9】
コンピュータを、請求項6又は7に記載のストリーム生成装置として機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストリーム送出装置、ストリーム生成装置、及びプログラムに関し、特に、ネットワークの帯域(伝送可能なビットレート)の増減に対応し得るストリーム送出装置、ストリーム生成装置、及びプログラムに関する。
【背景技術】
【0002】
近年、4K・8K等の超高精細動画像を含むコンテンツの実用化が進んでいる。これらのコンテンツは、予め符号化されて蓄積され、ストリーム送出装置によりネットワーク等を用いて送出される。なお、コンテンツは映像や音声などの複数のメディアを含むが、本発明は映像の符号化技術を対象とするため、以降は映像についてのみ記述する。
【0003】
映像の記録や伝送のために様々な圧縮符号化技術が実用化されており、例えば、符号化順序を並べ替えることで、過去と未来のピクチャを同時に参照する高精度な予測を実現する符号化方法が用いられている(非特許文献1)。また、各ピクチャは、参照方法によって、単独で復号可能なピクチャであるI(Intra Coded)ピクチャ、前方向の動き補償予測を用いたピクチャであるP(Predictive Coded)ピクチャ、両方向の動き補償予測を用いたピクチャであるB(Bi-directional Predictive Coded)ピクチャ等と呼ばれることがある。
【0004】
本明細書における技術説明のために、幾つかの用語・関数等を定義する。一つの画像(ピクチャ、フレーム等)を、「AU(Access Unit)」と呼ぶ。また、「IRAP(Intra Random Access Point) AU」とは、そのAUから復号処理を開始した場合に、当該AU及び表示順でそのAUより後ろのAUが正常に復号可能なAUのことをいう。そして、IRAP AUから次のIRAP AUの直前のAUまでを含む符号化ストリームの断片を「GOP(Group of picture)」と呼ぶ。このGOPは、映像符号化分野で一般にGOPと呼ばれる概念と同一である。また、「GOP構造」とは、GOP内の各AUのI,B,P等の参照モードや、参照可能なAUの構造を指す。これも、映像符号化分野で一般に「GOP構造」と呼ばれる概念と同一である。本明細書では、あるGOPのGOP長を「len(GOP)」、GOP構造を「struct(GOP)」と、関数的に表記する。また、あるAUのビット長を「strlen(AU)」と表す。
【0005】
「2つのストリームが同じGOP構造を有する」とは、あるストリームを構成する複数のGOPをGOP A[0],GOP A[1],GOP A[2],・・・、もう一方のストリームを構成する複数のGOPをGOP B[0],GOP B[1],GOP B[2],・・・としたとき、全てのxに対し、GOP A[x]とGOP B[x]のGOP構造が等しいことを指す。そして、AU[x]とは、着目GOPの符号化順でx番目のAUを指すものとする(0<=x< len(GOP)、「<=」は、以上の意味)。
【0006】
一般に、ストリーム送出装置は、伝送に用いるネットワークの帯域の減少などに備え、複数のビットレートで同一のコンテンツを符号化して蓄積し、通常は高いビットレートで符号化した符号化ストリームを送出し、例えばネットワークに輻輳が生じ、使用できるネットワーク帯域の減少などが生じた際に、低ビットレートで符号化した符号化ストリームに送出を切り替える。
【0007】
図9は、従来のストリーム送出装置1に蓄積されている符号化ストリームの概念図である。「ストリーム出力」は、装置1が送出するストリームである。ストリーム送出装置1には、高ビットレートで符号化したストリーム(以下、「高ビットレートストリーム」という。)と、低ビットレートで符号化したストリーム(以下、「低ビットレートストリーム」という。)が用意されている。なお、図でストリームの太さはビット量(情報量)に対応している。高ビットレートストリームを構成するGOPを、先頭から、GOP H[0],GOP H[1],GOP H[2],・・・とし、低ビットレートストリームを構成するGOPを先頭からGOP L[0],GOP L[1],GOP L[2],・・・とする。
【0008】
図10は、従来のストリーム送出装置1においてビットレートを切り替えるときの概念図である。「ビットレート変更指示」は、装置に対して外部から与えられる、ビットレートの変更を指示する信号である。高ビットレートストリームを送出中(例えば、GOP H[1]の送出中)に、ネットワークの輻輳が生じて低ビットレートへの切り替えが必要となった場合(ビットレート変更指示を受けたとき)、GOP H[1]の送出を終了後、GOP L[2]から低ビットレートストリームの送出を行う。これは、一般に、符号化ストリームは、GOPの最初のAUであるIRAP AU以外からは正常な復号が不可能なためである。
【先行技術文献】
【非特許文献】
【0009】
【文献】大久保 榮(監修)、鈴木 輝彦、他、「H.265/HEVC教科書」、株式会社インプレスジャパン発行、2013年10月21日、p.236-241
【発明の概要】
【発明が解決しようとする課題】
【0010】
ネットワークの帯域の増減が生じたとき、ビットレートの切り替えは、できるだけ直ちに行うのが望ましい。しかし、符号化ストリームはIRAP AU以外からは正常な復号が不可能なため、GOPの途中で切り替えをおこなうと、切り替え直後に受信側で映像に乱れが生じる課題がある。この乱れを防ぐためには送出するストリームをIRAP AU(すなわち、GOP単位)で切り替える必要があるが、その場合は、次のIRAP AUが現われるまで異なるビットレートのストリームへの切り替えが遅れる課題がある。あるいは、全てのAUをIRAP AUで符号化(すなわちオールイントラ符号化)すれば、受信側で映像に乱れを生じることなく任意のAUでストリームを切り替えることが可能だが、この場合はストリーム全体のビットレートが高くなる課題がある。
【0011】
従って、上記のような問題点に鑑みてなされた本発明の目的は、受信側で映像に乱れが生じることなく、異なるビットレートで符号化されたストリーム間を、任意のAUで切り替えて送出することができるストリーム送出装置、そのためのストリームを生成するストリーム生成装置、及びプログラムを提供することにある。
【課題を解決するための手段】
【0012】
上記課題を解決するために本発明に係るストリーム送出装置は、異なるビットレートで符号化された複数の符号化ストリームを切り替えて送出する機能を有するストリーム送出装置において、第1ビットレートで符号化された第1ビットレートストリームと、前記第1ビットレートストリームと同じGOP(Group of picture)構造を有し、第2のビットレートで符号化された第2ビットレートストリームとを備え、前記第1ビットレートストリームのX番目(Xは任意)のGOPのi番目(0<i<GOP長)のAU(Access Unit)から切り替えを行うとき、前記X番目のGOPと同じGOP構造を有し、先頭AUからi-1番目のAUまでは前記第1ビットレートストリームのX番目のGOPの先頭AUからi-1番目のAUと同一の復号結果が得られる符号化が行われ、i番目以降のAUは第1ビットレートよりも第2ビットレートに近いビットレートで符号化された遷移GOPを用い、前記第1ビットレートストリームを、前記X番目のGOPのi-1番目のAUまで送出し、次いで、前記遷移GOPのi番目以降のAUを送出し、X+1番目のGOPから、第2ビットレートストリームに切り替えることを特徴とする。
【0013】
上記課題を解決するために本発明に係るストリーム送出装置は、異なるビットレートで符号化された複数の符号化ストリームを蓄積する蓄積部と、前記蓄積部に蓄積された符号化ストリームを選択し、切り替えて送出する送出ストリーム選択部とを備えるストリーム送出装置において、前記蓄積部は、第1ビットレートで符号化された第1ビットレートストリームと、前記第1ビットレートストリームと同じGOP構造を有し、第2のビットレートで符号化された第2ビットレートストリームと、前記第1ビットレートストリームから前記第2ビットレートストリームへの切り替えに用いる遷移ストリームとを備え、前記遷移ストリームを構成するGOPは、前記第1ビットレートストリームの各GOPにつきGOP長-1種類を有し、先頭AUからi-1番目(0<i<GOP長)のAUまでは前記第1ビットレートストリームの対応GOPの先頭AUからi-1番目のAUと同一の復号結果が得られるように符号化されており、i番目以降のAUは第1ビットレートよりも第2ビットレートに近いビットレートで符号化されていることを特徴とする。
【0014】
また、前記ストリーム送出装置は、前記送出ストリーム選択部が、ビットレート変更指示に基づいて、前記第1ビットレートストリームの指示されたGOPのi番目のAUから切り替えを行うとき、前記遷移ストリームの前記指示されたGOPに対応するGOPであって、先頭AUからi-1番目のAUまでは前記第1ビットレートストリームの指示されたGOPの先頭AUからi-1番目のAUと同一の復号結果が得られるように符号化され、i番目以降のAUは第1ビットレートよりも第2ビットレートに近いビットレートで符号化されたGOPを選択し、前記第1ビットレートストリームを、指示されたGOPのi-1番目のAUまで送出し、次いで、前記遷移ストリームの選択されたGOPのi番目以降のAUを送出し、前記指示されたGOPの次のGOPから、第2ビットレートストリームに切り替えることが望ましい。
【0015】
また、前記ストリーム送出装置は、前記蓄積部が、異なるビットレートで符号化された第1乃至第n(nは2以上の整数)の符号化ストリームと、第1乃至第nの任意の符号化ストリームから他の任意の符号化ストリームへの切り替えに用いる遷移ストリームとを備えていることが望ましい。
【0016】
また、前記ストリーム送出装置は、前記蓄積部は、異なるビットレートで符号化された第1乃至第n(nは2以上の整数)の符号化ストリームと、第1乃至第n-1の任意の符号化ストリームから第nの符号化ストリームへの切り替えに用いる遷移ストリームとを備えていることが望ましい。
【0017】
上記課題を解決するために本発明に係るストリーム生成装置は、異なるビットレートで符号化された複数の符号化ストリームの切り替えを行うための符号化ストリームを生成するストリーム生成装置において、入力された映像を第1ビットレートで符号化し、第1ビットレートストリームを生成する第1ビットレート符号化部と、入力された映像を第2ビットレートで符号化し、前記第1ビットレートストリームと同じGOP構造を有する第2ビットレートストリームを生成する第2ビットレート符号化部と、前記第1ビットレートストリームから前記第2ビットレートストリームへの切り替えに用いる第1第2遷移ストリームを生成する第1第2遷移符号化部と、を備え、前記第1第2遷移符号化部は、前記第1第2遷移ストリームを構成するGOPを、前記第1ビットレートストリームの各GOPにつきGOP長-1種類生成し、先頭AUからi-1番目(0<i<GOP長)のAUまでは前記第1ビットレートストリームの対応GOPの先頭AUからi-1番目のAUと同一の復号結果が得られるように符号化し、i番目以降のAUは第1ビットレートよりも第2ビットレートに近いビットレートで符号化することを特徴とする。
【0018】
また、前記ストリーム生成装置は、さらに、前記第2ビットレートストリームから前記第1ビットレートストリームへの切り替えに用いる第2第1遷移ストリームを生成する第2第1遷移符号化部を備え、前記第2第1遷移符号化部は、前記第2第1遷移ストリームを構成するGOPを、前記第2ビットレートストリームの各GOPにつきGOP長-1種類生成し、先頭AUからi-1番目(0<i<GOP長)のAUまでは前記第2ビットレートストリームの対応GOPの先頭AUからi-1番目のAUと同一の復号結果が得られるように符号化し、i番目以降のAUは第2ビットレートよりも第1ビットレートに近いビットレートで符号化することが望ましい。
【0019】
上記課題を解決するために本発明に係るプログラムは、コンピュータを、前記ストリーム送出装置として機能させることを特徴とする。
【0020】
上記課題を解決するために本発明に係るプログラムは、コンピュータを、前記ストリーム生成装置として機能させることを特徴とする。
【発明の効果】
【0021】
本発明におけるストリーム送出装置、ストリーム生成装置、及びプログラムによれば、受信側で映像に乱れが生じることなく、異なるビットレートで符号化されたストリーム間を、任意のAUで切り替えて送出することができる。
【図面の簡単な説明】
【0022】
【
図1】一実施形態のストリーム送出装置においてビットレートを切り替えるときの概念図である。
【
図2】一実施形態のストリーム送出装置の構成例を示す図である。
【
図3】一実施形態のストリーム送出装置の蓄積部の構成例を示す図である。
【
図4】高ビットレートストリームと高低遷移ストリームのイメージ図である。
【
図5】高ビットレートストリームから低ビットレートストリームへの遷移を説明する図である。
【
図6】一実施形態のストリーム生成装置の構成例を示す図である。
【
図7】n(n>2)通りのビットレートに対応するストリーム送出装置の構成例を示す図である。
【
図8】n(n>2)通りのビットレートに対応するストリーム送出装置の別の構成例を示す図である。
【
図9】従来のストリーム送出装置に蓄積されている符号化ストリームの概念図である。
【
図10】従来のストリーム送出装置においてビットレートを切り替えるときの概念図である。
【発明を実施するための形態】
【0023】
以下、本発明の実施の形態について説明する。
【0024】
(実施の形態1)
図1は、本発明の一実施形態のストリーム送出装置10においてビットレートを切り替えるときの概念図である。
図1のストリーム送出装置10は、所定の高ビットレートと所定の低ビットレートの2つのビットレートストリームを送出することができ、また、高ビットレートストリームから低ビットレートストリームへと切り替えることができる。高ビットレートストリームを構成するGOPを、先頭から、GOP H[0],GOP H[1],GOP H[2],・・・とし、低ビットレートストリームを構成するGOPを先頭からGOP L[0],GOP L[1],GOP L[2],・・・とする。
【0025】
高ビットレートストリームを送出中に、低ビットレートへの切り替えが必要となった場合(例えば、GOP H[1]のAU[f-1]の送出中にビットレート変更指示を受けたとき)、高ビットレートストリーム(GOP H[1])で送出中のAUの直後のAUから直ちに、高低遷移のための対応GOP(以下、高低遷移GOPといい、GOP HL[1]で表す。)の送出に切り換え、高低遷移GOP(GOP HL[1])の送出終了後、GOP L[2]から低ビットレートストリームの送出を行う。
【0026】
ここで、高低遷移GOP(GOP HL[1])は、切り替え時の高ビットレートストリームのGOP(GOP H[1])と同じGOP構造を有しており、AU[f]の送出から切り替えるとした場合、切り替え前のAU[0]~AU[f-1]は高ビットレートストリームのGOP H[1]のAU[0]~AU[f-1]とそれぞれ同一の復号結果が得られるAUであり、GOP H[1]のAU[0]~AU[f-1]と同一のAUであってもよい。GOP HL[1]のAU[f]~AU[len(GOP H[1])-1]は、高ビットレートよりも低ビットレートに近いビットレート(望ましくは、所定の低ビットレートと同等のビットレート)で符号化されたAUである。
【0027】
このように、遷移GOPを用いて符号化ストリームの切り替えを行うことにより、GOPの途中であっても、ビットレート変更指示の直後から、ビットレートを低くすることができる。
【0028】
なお、本実施形態では、高ビットレートストリームから低ビットレートストリームへの切り替えについて説明したが、低高遷移のための対応GOPを用いることにより、全く同様に、低ビットレートストリームから高ビットレートストリームへの切り替えも可能である。すなわち、任意の異なるビットレートで符号化された第1ビットレートストリームと第2ビットレートストリームの切り替えが可能である。
【0029】
(実施の形態2)
図2は、本発明の一実施形態のストリーム送出装置10の構成例である。
図2のストリーム送出装置10は、高ビットレートと低ビットレートの2つのビットレートストリームを送出することができ、また、両者を切り替えることができる。すなわち、高ビットレートストリームから低ビットレートストリームへの切り替え、及び、低ビットレートストリームから高ビットレートストリームへの切り替えに対応している。ストリーム送出装置10は、蓄積部11と送出ストリーム選択部12を備えている。ビットレート変更指示は、送出ストリーム選択部12に入力される。
【0030】
図3に、ストリーム送出装置10の蓄積部11の構成例を示す。蓄積部11は、高ビットレートで符号化したストリーム(高ビットレートストリーム)を格納するデータベース111と、高ビットレートから低ビットレートに切り替える際に用いるストリーム(高低遷移ストリーム)を格納するデータベース112と、低ビットレートから高ビットレートに切り替える際に用いるストリーム(低高遷移ストリーム)を格納するデータベース113と、低ビットレートで符号化したストリーム(低ビットレートストリーム)を格納するデータベース114とを備えている。
【0031】
ここで、高ビットレートストリームは、所定の高ビットレートで符号化されたストリームである。高ビットレートストリームを構成するGOPを先頭からGOP H[0],GOP H[1],GOP H[2],・・・とする。
【0032】
一方、低ビットレートストリームは、所定の低ビットレートで符号化されたストリームである。低ビットレートストリームを構成するGOPを先頭からGOP L[0],GOP L[1],GOP L[2],・・・とする。ここで、struct(GOP H[0]) = struct(GOP L[0])であり、以下同様に、struct(GOP H[1]) = struct(GOP L[1])、struct(GOP H[2]) = struct(GOP L[2])、・・・である。すなわち、対応するGOPのGOP構造は等しい。
【0033】
高低遷移ストリームとは、高低遷移(高いビットレートから低いビットレートへの遷移)のための複数のGOPから構成されるストリームである。これらのGOPを、GOP HL[X][y]と表記する。Xは、高低遷移ストリームを構成するGOPの先頭からの順番を示す。yは、各GOP内の高ビットレートで符号化されたAUと低ビットレートで符号化されたAUとの区切りの位置を示しており、1<=y< len(GOP H[X])の範囲をとる。そして、struct(GOP HL[X][y]) = struct(GOP H[X])である。また、GOP HL[X][y]内のAU[0]~AU[y-1]は、GOP H[X]のAU[0]~AU[y-1]とそれぞれ同一の復号結果が得られる符号化ストリームであり、GOP HL[X][y]内のAU[y]~AU[len(GOP H[X])-1]は、低ビットレート(所定の高ビットレートよりも低いビットレートであってよい)で符号化されているストリームである。なお、低ビットレートのAUは、ビットレートが低いだけであり、GOP L[X]内のAU[y]~AU[len(GOP H[X])-1]と同じ復号結果が得られるわけではない。
【0034】
低高遷移ストリームとは、低高遷移(低いビットレートから高いビットレートへの遷移)のための複数のGOPから構成されるストリームである。これらのGOPを、GOP LH[X][y]と表記する。Xは、低高遷移ストリームを構成するGOPの先頭からの順番を示す。yは、各GOP内の低ビットレートで符号化されたAUと高ビットレートで符号化されたAUとの区切りの位置を示しており、1<=y< len(GOP L[X])の範囲をとる。そして、struct(GOP LH[X][y]) = struct(GOP L[X])である。また、GOP LH[X][y]内のAU[0]~AU[y-1]は、GOP L[X]のAU[0]~AU[y-1]と同一の復号結果が得られる符号化ストリームであり、GOP LH[X][y]内のAU[y]~AU[len(GOP L[X])-1]は、高ビットレート(所定の低ビットレートよりも高いビットレートであってよい)で符号化されているストリームである。なお、高ビットレートのAUは、ビットレートが高いだけであり、GOP H[X]内のAU[y]~AU[len(GOP H[X])-1]と同じ復号結果が得られるわけではない。
【0035】
図4は、高ビットレートストリームと高低遷移ストリームのイメージ図である。各ストリーム(GOP)の太さ(高さ)はビットレート、すなわち符号化されたビット量に対応している。高ビットレートストリームを構成するGOPは、先頭から、GOP H[0],GOP H[1],GOP H[2],・・・であり、いずれも大きい情報量を有している。
【0036】
高低遷移ストリームの左上隅のGOP HL[0][1]は、GOP H[0]に対応するGOPであって、GOP H[0]と同じGOP構造を有し、最初のAU[0]が高ビットレートで符号化され(すなわち、GOP H[0]のAU[0]と同一の復号結果が得られるように符号化され)、AU[1]以降のAUが低ビットレートで符号化されている。
【0037】
GOP HL[0][1]の右隣のGOP HL[1][1]は、GOP H[1]に対応するGOPであって、GOP H[1]と同じGOP構造を有し、最初のAU[0]が高ビットレートで符号化され(すなわち、GOP H[1]のAU[0]と同一の復号結果が得られるように符号化され)、AU[1]以降のAUが低ビットレートで符号化されている。同様に、GOP HL[1][1]の右隣のGOP HL[2][1]は、GOP H[2]に対応するGOPであって、GOP H[2]と同じGOP構造を有し、最初のAU[0]が高ビットレートで符号化され(すなわち、GOP H[2]のAU[0]と同一の復号結果が得られるように符号化され)、AU[1]以降のAUが低ビットレートで符号化されている。
【0038】
また、縦方向に見ていくと、GOP HL[0][1]の一つ下のGOP HL[0][2]は、GOP H[0]に対応するGOPであって、GOP H[0]と同じGOP構造を有し、AU[0]及びAU[1]が高ビットレートで符号化され(すなわち、GOP H[0]のAU[0],AU[1]と同一の復号結果が得られるように符号化され)、AU[2]以降のAUが低ビットレートで符号化されている。同様に、GOP HL[0][2]の一つ下のGOP HL[0][3]は、GOP H[0]に対応するGOPであって、GOP H[0]と同じGOP構造を有し、AU[0],AU[1]及びAU[2]が高ビットレートで符号化され(すなわち、GOP H[0]のAU[0],AU[1],AU[2]と同一の復号結果が得られるように符号化され)、AU[3]以降のAUが低ビットレートで符号化されている。
【0039】
このように、高ビットレートストリームの任意のGOP H[X]の任意のAU[y]から低ビットレートへの切り替えが可能となるように、高低遷移ストリームのGOP(GOP LH[X][y])が構成されている。すなわち、任意の切り替えポイントに対応するGOPが準備されている。
【0040】
図2に戻って、送出ストリーム選択部12は、通常は、高ビットレートストリームあるいは低ビットレートストリームのいずれかを選択し、それぞれのストリームの先頭GOPから順番にストリーム出力として送出する。
【0041】
ここで、送出ストリーム選択部12が高ビットレートストリーム送出中に、あるタイミングで、低ビットレートへのビットレート変更指示が届いたとする。そのタイミングが、GOP H[G]のAU[f]の送出する直前(AU[f-1]の送出中、若しくは、AU[f-1]の送出が完了しAU[f]の送出が開始されるまでの間)であったとする。このとき、送出ストリーム選択部12は、蓄積部11からGOP HL[G][f]を選択し、GOP H[G]のAU[f-1]の送出が完了した後に、GOP H[G]のAU[f]を送出するかわりに、GOP HL[G][f]のAU[f]から順番にGOP HL[G][f]のAUを送出する。そして、GOP HL[G][f]の送出が完了した後は、低ビットレートストリームに移ってGOP L[G+1]送出し、以降、順番に低ビットレートストリームのGOPを送出する。
【0042】
また、送出ストリーム選択部12が低ビットレートストリーム送出中に、あるタイミングで、高ビットレートへのビットレート変更指示が届いた場合は、そのタイミングが、GOP L[S]のAU[e]の送出する直前(AU[e-1]の送出中、若しくは、AU[e-1]の送出が完了しAU[e]の送出が開始されるまでの間)であったとする。このとき、送出ストリーム選択部12は、蓄積部11からGOP LH[S][e]を選択し、GOP H[S]のAU[e-1]の送出が完了した後に、GOP L[S]のAU[e]を送出するかわりに、GOP LH[S][e]のAU[e]から順番にGOP LH[S][e]のAUを送出する。そして、GOP LH[S][e]の送出が完了した後は、高ビットレートストリームに移ってGOP H[S+1]を送出し、以降、順番に高ビットレートストリームのGOPを送出する。
【0043】
なお、上述の高(あるいは低)ビットレートストリーム送出中の「あるタイミング」がGOPの先頭AUを送出する直前の場合は、高低遷移ストリーム(あるいは低高遷移ストリーム)を使用せずに従来通りに、低ビットストリーム(あるいは高ビットストリーム)のGOPの先頭AUから送出すればよい。
【0044】
なお、本実施形態では、高ビットレートストリームから低ビットレートストリームへの切り替えと、低ビットレートストリームから高ビットレートストリームへの切り替えの双方を可能としたが、一方向への切り替えのみを行う場合は、一方の遷移ストリームを備えていればよい。すなわち、第1ビットレートで符号化された第1ビットレートストリームと、第2のビットレートで符号化された第2ビットレートストリームと、第1ビットレートストリームから第2ビットレートストリームへの切り替えに用いる遷移ストリームとを備えていればよい。
【0045】
図5を用いて、高ビットレートストリームから低ビットレートストリームへの遷移を、より具体的に説明する。
図5は、高ビットレートストリームを送出中、GOP H[X]のAU[3]を送出中に、低ビットレートへのビットレート変更指示が来た場合の例を示している。各AUを示す矩形の高さは、各AUのビット量を概略的に示している。グレーで表示されているAUが、本発明により送出されるAUを示している。
【0046】
ビットレート変更指示が届いたとき、高低遷移ストリームの中から、GOP HL[X][4]が選択される。AU[0]~AU[3]は同じ符号化を行うため、GOP H[X]とGOP HL[X][4]で同一のAU、若しくは、同一の復号結果が得られるAUである。高ビットレートストリームのGOP H[X]のAU[3]まで送出された後、AU[4]~AU[N]はGOP HL[X][4]から送出される。ここでは、例えば、GOP HL[X][4]のAU[4]以降のビット量の和は、GOP L[X]のAU[4]以降のビット量の和と同程度となるように符号化している。そして、次のGOPからはGOP L[X+1]から送出される。
【0047】
この実施形態では、GOP HL[X][4]のAU[4]~AU[N]のビット量の和は、GOP L[X]のAU[4]~AU[N]のビット量の和とほぼ等しいため、AU[4]でGOP L[X]の送出に直ちに切り替えた場合と同等のビットレート削減効果がある。
【0048】
また、GOP HL[X][4]のAU[4]~AU[N]は、GOP HL[X][4]のAU[0]~AU[3]を参照する可能性があるが、GOP HL[X][4]のAU[0]~AU[3]はGOP H[X][4]のAU[0]~AU[3]と同一の復号結果が得られるため、ストリームを切り替えても、受信側の映像に乱れは生じない。
【0049】
このように、本発明のストリーム送出装置10によれば、受信側に映像の乱れを生じることなく、複数のビットレートで符号化されたストリーム間を、任意のAUで切り替えて送出することが可能となる。さらに、本発明によれば、フレーム間参照を行った場合でも問題なく遷移が可能であるため、オールイントラ符号化する場合のようなビットレートの増大も発生しない。
【0050】
なお、上述したストリーム送出装置10として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、ストリーム送出装置10の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【0051】
(実施の形態3)
図6は、本発明の一実施形態のストリーム生成装置の構成例である。ストリーム生成装置20は、コンテンツ(映像)及び出力のビットレート(所定の高ビットレート及び低ビットレート)の指示が入力され、それぞれのビットレートのストリームと各種の遷移ストリームを出力する。ストリーム生成装置20は、高ビットレートストリームを生成する高ビットレート符号化部21、高低遷移ストリームを生成する高低遷移符号化部22、低高遷移ストリームを生成する低高遷移符号化部23、及び低ビットレートストリームを生成する低ビットレート符号化部24を備えている。
【0052】
なお、本実施形態は、高ビットレート及び低ビットレートの2種類のビットレートに対応しているが、後述のように、多数のビットレートを生成すると共に、多数のビットレート間の遷移ストリームを生成する構成としてもよい。
【0053】
ストリーム生成装置20における、各ストリームの作成処理の例を示す。まず、高ビットレート符号化部21にて、入力された映像を指示された所定の高いビットレートとなるように符号化し、高ビットレートストリームを作成する。また、低ビットレート符号化部24にて、入力された映像を指示された所定の低いビットレートとなるように符号化し、低ビットレートストリームを作成する。
【0054】
次に、高低遷移符号化部22にて、高低遷移ストリームを作成する。高ビットレートストリームのGOP H[X]から低ビットレートストリームのGOP L[X]に遷移するGOP HL[X][y] (0<=y< len(GOP H[X])は、次の(a)、(b)の条件で符号化を行って生成する。
(a)0<=i<yなるiに対し、GOP HL[X][y]のAU[i]は、GOP H[X]のAU[i]と同一の復号結果が得られるように符号化を行う。或いは、GOP H[X]のAU[i]の符号化ストリームを流用して、両者を同一のAU[i]とする。
(b)i>=yなるiに対し、GOP HL[X][y]のAU[i]は、GOP H[X]のAU[i]よりビットレートが低くなるように符号化を行う。
【0055】
上記の条件のもとに、全てのy(0<=y< len(GOP H[X])及び全てのX(0<=X)について、GOP HL[X][y]を生成し、高低遷移ストリームを作成する。
【0056】
また、低高遷移符号化部23にて、低高遷移ストリームも同様に作成する。具体的には、低ビットレートストリームのGOP L[X]から高ビットレートストリームのGOP H[X]に遷移するGOP LH[X][y](0<=y< len(GOP L[X])は、次の(c)、(d)の条件で符号化を行って生成する。
(c)0<=i<yなるiに対し、GOP LH[X][y]のAU[i]は、GOP L[X]のAU[i]と同一の復号結果が得られるように符号化を行う。或いはGOP L[X]のAU[i]の符号化ストリームを流用して、両者を同一のAU[i]とする。
(d)i>=yなるiに対し、GOP LH[X][y]のAU[i]は、GOP L[X]のAU[i]よりビットレートが高くなるように符号化を行う.
【0057】
上記の条件のもとに、全てのy(0<=y< len(GOP L[X])及び全てのX(0<=X)について、GOP LH[X][y]を生成し、低高遷移ストリームを作成する。
【0058】
ストリーム生成装置20で生成された各ストリームを、ストリーム送出装置10の蓄積部11に出力し、格納することができる。
【0059】
なお、本実施形態では、高ビットレートストリームから低ビットレートストリームへの遷移ストリームと、低ビットレートストリームから高ビットレートストリームへの遷移ストリームとの両方を作成したが、一方向への切り替えのみを行う場合は、一方の遷移ストリームを作成すればよい。すなわち、第1ビットレートストリームを生成する第1ビットレート符号化部と、第2ビットレートストリームを生成する第2ビットレート符号化部と、第1ビットレートストリームから第2ビットレートストリームへの切り替えに用いる遷移ストリームを生成する第1第2遷移符号化部とを備えればよい。
【0060】
(実施の形態3の変形例)
本変形例は、実施の形態3において、より厳密に符号化後の目標情報量(目標符号量)を設定して符号化し、遷移ストリームを生成するものである。
【0061】
本変形例において、高ビットレートストリーム及び低ビットレートストリームの生成は、実施の形態3と同じであり、高低遷移ストリーム及び低高遷移ストリームの作成条件も同様である。
【0062】
高低遷移ストリームのGOP HL[X]のAU[i] (i>=y)を符号化する時に、i>=yなるiに対し、GOP HL[X][y]のAU[i]は、GOP H[X]のAU[i]よりビットレートが低くなるように符号化を行う。この際に、次式(1)を満たすように、目標情報量を設定して符号化する。
【0063】
【0064】
ここで、strlen()とは、あるAUのビット長を意味する。そして、Σはiの所定の範囲のAU[i]のビット長の和を示す。
【0065】
また、低高遷移ストリームのGOP LH[X]のAU[i] (i>=y)を符号化する時に、i>=yなるiに対し、GOP HL[X][y]のAU[i]は、GOP L[X]のAU[i]よりビットレートが高くなるように符号化を行う。この際に、次式(2)を満たすように、目標情報量を設定して符号化する。
【0066】
【0067】
すなわち、第1ビットレートから第2ビットレートへ遷移する遷移ストリームを生成する際に、i番目以降のAUは第1ビットレートよりも第2ビットレートに近いビットレートで符号化される。
【0068】
(実施の形態3の別の変形例)
本変形例は、実施の形態3において、GOPの途中でもビットレートの遷移効果が十分に生じるように、符号化後の目標情報量(目標符号量)を設定して符号化をし、遷移ストリームを生成するものである。
【0069】
高低遷移ストリームのGOP HL[X]のAU[i] (i>=y)を符号化する時に、i>=yなるiに対し、GOP HL[X][y]のAU[i]は、GOP H[X]のAU[i]よりビットレートが低くなるように符号化を行う。その際に、次式(3)を満たすように、目標情報量を設定して符号化する。
【0070】
【0071】
(3)式によれば、GOP HL[X]のAU[y]以降のビット量の和は、GOP L[X] のAU[y]以降のビット量の和と等しいかそれ以下となるように符号化している。そして、次のGOPからはGOP L[X+1]から送出される。したがって、GOPの途中であっても、AU[y]以降は、GOP L[X]の送出に直ちに切り替えた場合と同等のビットレート削減効果がある。
【0072】
また、低高遷移ストリームのGOP LH[X]のAU[i] (i>=y)を符号化する時に、i>=yなるiに対し、GOP HL[X][y]のAU[i]は、GOP L[X]のAU[i]よりビットレートが高くなるように符号化を行う。その際に、次式(4)を満たすように、目標情報量を設定して符号化する。
【0073】
【0074】
(4)式によれば、GOP LH[X]のAU[y]以降のビット量の和は、GOP H[X] のAU[y]以降のビット量の和と等しいかそれ以上になるように符号化している。そして、次のGOPからはGOP H[X+1]から送出される。したがって、GOPの途中であっても、AU[y]以降は、GOP H[X]の送出に直ちに切り替えた場合と同等の帯域拡大効果がある。
【0075】
なお、上述したストリーム生成装置20として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、ストリーム生成装置20の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【0076】
(実施の形態4)
これまでの実施形態では、高ビットレートストリーム、低ビットレートストリームの2つを切り替える例を示したが、本実施形態では、さらに多くのn種類(n>2)のビットレートによるストリームを切り替えることを実現可能とする。
【0077】
図7は、n通りのビットレートに対応するストリーム送出装置10の構成例である。
図7のストリーム送出装置10は、蓄積部13と、送出ストリーム選択部12を備えている。なお、
図7ではn>2として説明するが、n=2のときは実施の形態2と同じであるから、nは2以上の整数で成り立つ。
【0078】
蓄積部13は、第1~第nのn通りのビットレートのそれぞれに対応した、第1ビットレートストリーム、第2ビットレートストリーム、・・・第nビットレートストリームを備えている。また、各ビットレートストリームから任意の他のビットレートストリームに遷移するための遷移ストリームを蓄積している。
【0079】
すなわち、第1ビットレートストリームから、第2乃至第nビットレートストリームに遷移するための、第1第2遷移ストリーム、第1第3遷移ストリーム、・・・、第1第n遷移ストリーム。第2ビットレートストリームから、第1、第3乃至第nビットレートストリームに遷移するための、第2第1遷移ストリーム、第2第3遷移ストリーム、・・・、第2第n遷移ストリーム。・・・そして、第nビットレートストリームから、第1乃至第n-1ビットレートストリームに遷移するための、第n第1遷移ストリーム、第n第2遷移ストリーム、・・・、第n第n-1遷移ストリーム。これらの各遷移ストリームを備えている。
【0080】
このように、任意のビットレート間を遷移するために、全てのビットレート間の遷移するストリームを用意している。各遷移ストリームの構造は、実施の形態2,3で説明した遷移ストリームと同じである。
【0081】
送出ストリーム選択部12は、ビットレート変更指示に基づいて遷移ストリームを選択し、ビットレートストリームの切り替えを行う。具体的には、ビットレート変更指示によりあるビットレートストリーム送出中に別の指示されたビットレートに変更する指示があった際は、その2つのビットレートの間を遷移するための遷移ストリームを蓄積した中から選択し、その遷移ストリームに一度切り替え、遷移ストリームの対応するGOPを送出する。その後、変更後の指示されたビットレートのストリームを送出すれば良い。
【0082】
(実施の形態5)
図8は、n(n>2)通りのビットレートに対応するストリーム送出装置10の別の構成例である。
図8のストリーム送出装置10は、蓄積部14と、送出ストリーム選択部12を備えている。なお、
図8ではn>2として説明するが、n=2のときは実施の形態2の一部と同じであるから、nは2以上の整数で成り立つ。
【0083】
蓄積部14は、第1~第nのn通りのビットレートのそれぞれに対応した、第1ビットレートストリーム、第2ビットレートストリーム、・・・第nビットレートストリームを備えている。また、各ビットレートストリームから特定のビットレートストリーム(ここでは、第nビットレートストリーム)に遷移するための遷移ストリームを蓄積している。この特定のビットレートストリームは、最も低いビットレートに対応したビットレートストリームであることが望ましい。
【0084】
すなわち、第1ビットレートストリームから第nビットレートストリームに遷移するための第1第n遷移ストリーム、第2ビットレートストリームから第nビットレートストリームに遷移するための第2第n遷移ストリーム、・・・そして、第n-1ビットレートストリームから第nビットレートストリームに遷移するための第n-1第n遷移ストリームの各遷移ストリームを備えている。
【0085】
このように、全てのビットレートから特定の(例えば、最も低いビットレートに対応した)ビットレートストリームに遷移するストリームを用意している。各遷移ストリームの構造は、実施の形態2,3で説明した遷移ストリームと同じである。
【0086】
送出ストリーム選択部12は、ビットレート変更指示に基づいて遷移ストリームを選択し、ビットレートストリームの切り替えを行う。具体的には、ビットレート変更指示によりあるビットレートストリーム送出中に別の指示されたビットレートに変更する指示があった際は、そのあるビットレートから第n(例えば、最も低い)ビットレートに遷移するための遷移ストリームを蓄積した中から選択し、その遷移ストリームに一度切り替え、遷移ストリームの対応するGOPを送出する。その後、変更後の指示されたビットレートのストリームを送出すれば良い。
【0087】
本実施形態では、切り替えの際に、特定の(最も低いビットレートに対応した)ビットレートに遷移することから、どのようなビットレートへの切り替えであっても、ビットレートの許容範囲を超えることなく、他のビットレートストリームに切り替えができる。また、蓄積部14に蓄積するストリームの量も、実施の形態4と比較して大幅に削減できる。
【0088】
上記の実施の形態1,2,4,5では、ストリーム送出装置10の構成と動作について説明したが、本発明はこれに限らず、異なるビットレートで符号化されたビットレートストリームを、ビットレート変更指示に基づいて切り替える、ストリーム送出方法として構成されてもよい。すなわち、各図のデータの流れに従って、第1ビットレートストリームを送出する工程と、遷移ストリームを送出する工程と、第2ビットレートストリームを送出する工程とを備えた、ストリームを送出する方法として構成されても良い。
【0089】
また更に、上記の実施の形態3では、ストリーム生成装置20の構成と動作について説明したが、本発明はこれに限らず、異なるビットレートで符号化されたビットレートストリームと遷移ストリームを生成する、ストリーム生成方法として構成されてもよい。すなわち、各図のデータの流れに従って、第1ビットレートストリームを生成する工程と、第2ビットレートストリームを生成する工程と、遷移ストリームを生成する工程とを備えた、ストリーム生成方法として構成されても良い。
【0090】
上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態に記載の複数の構成ブロックを1つに組み合わせたり、あるいは1つの構成ブロックを分割したりすることが可能である。
【符号の説明】
【0091】
1,10 ストリーム送出装置
11 蓄積部
111 高ビットレートストリーム格納データベース
112 高低遷移ストリーム格納データベース
113 低高遷移ストリーム格納データベース
114 低ビットレートストリーム格納データベース
12 送出ストリーム選択部
13 蓄積部
14 蓄積部
20 ストリーム生成装置
21 高ビットレート符号化部
22 高低遷移符号化部
23 低高遷移符号化部
24 低ビットレート符号化部