本発明の実施形態では、映像が複数のビットレートで符号化されて配信される映像配信サービスの配信映像に対し、最大ビットレートよりも低いビットレート(下位ビットレート)で符号化する際のパラメータを算出する映像符号化パラメータ算出装置について説明する。
以下に詳細に説明するように、映像符号化パラメータ算出装置は、下位ビットレートまたは下位ビットレートで符号化された映像が満たすべき品質(下位映像品質)に基づいて符号化パラメータを算出する。
以下、図面を参照して、本発明の実施形態について詳細に説明する。
<第1実施形態>
図1は本発明の第1実施形態に係る映像符号化パラメータ算出装置10の構成を示す図である。図1に示すように、映像符号化パラメータ算出装置10は、符号化パラメータ算出部11と符号化パラメータ算出部11が備える映像品質推定部12から構成されている。
符号化パラメータ算出部11は、映像符号化パラメータ算出装置10への入力である下位ビットレート(または下位映像品質)を入力として、符号化パラメータを出力する。ここで、下位映像とは本装置10で算出される前記符号化パラメータを用いて符号化された映像であり、下位ビットレートとは下位映像を符号化する際の平均ビットレートである。また、下位映像品質とは本装置10で算出される前記符号化パラメータを用いて符号化された映像が満たすべき映像品質の目標値である。前記下位ビットレート(または下位映像品質)は予め設定している値でもよく、本装置10の利用者が入力してもよい。ここで、下位ビットレート(または下位映像品質)の値は予め設定される場合でも本装置10の利用者が入力する場合でも一つに固定されるものであり、本装置10では、入力された1の下位ビットレート(または下位映像品質)に対して1の符号化パラメータが出力されることになる。また、符号化パラメータとは、映像の解像度とフレームレート(とビットレート)の組である。
第1実施形態における符号化パラメータ算出部11は、予め定められているN1種類の解像度及びN2種類のフレームレートのそれぞれの組み合わせを用いて、与えられた下位ビットレートで符号化したときの映像品質を推定し、推定した映像品質が最大となる解像度及びフレームレートを出力する。なお、下位ビットレートの代わりに下位映像品質を与えられた場合には、予め定められているN1種類の解像度とN2種類のフレームレートとN3種類のビットレートのそれぞれの組を用いて符号化したときの映像品質を推定し、推定した映像品質が与えられた下位映像品質より高い組(解像度、フレームレート、ビットレート)のうち、ビットレートが最小となる組を符号化パラメータとして出力する。以後の実施形態においては、下位ビットレートが入力されるものとして記述するが、それらについても下位映像品質が入力される実施形態も考えられ、その場合は第1実施形態と同様にN3種類のビットレートに対して映像品質を推定し、推定した映像品質が与えられた下位映像品質より高い組(解像度、フレームレート、ビットレート)のうち、ビットレートが最小となる組を符号化パラメータとして出力する。
符号化パラメータ算出部11で行う映像品質推定は、符号化パラメータ算出部11が備える映像品質推定部12が行う。映像品質推定部12は、前述の通り、解像度Rs、フレームレートFr、ビットレートBrに基づいて、映像品質MOSを出力する。ここで、映像品質とは符号化映像に対する符号化による劣化を考慮した映像品質であり、ビットレートとは符号化映像データの1秒あたりのビット量、フレームレートとは符号化映像の1秒あたりのフレーム数、解像度とは符号化映像の1フレームあたりの画素数である。映像品質推定部12では、1画素あたりのビット量に関するパラメータNBrを
として算出する。ただし、NBrは上記の式に限らず、主観品質評価特性に合った式を用いればよく、例えば定数v11、v12を用いて
として算出してもよく、その他の式で算出してもよい。次に、映像品質MOSを
と算出し、映像品質MOSを出力する。ここで、V1、v13、v14、v15は予め定められた定数であり、サービス事業者が決めてよい。ただし、MOSの計算は前記の式に限らず、主観品質評価特性に合った式を用いればよく、例えば、
で算出してもよい。ここで、A1、v21〜v29は予め定められた定数であり、サービス事業者が決めてよい。
次に、図2を参照して本発明の第1実施形態における映像符号化パラメータ算出方法の動作の例について説明する。図2は本発明の第1実施形態に係る映像符号化パラメータ算出方法のフローチャートである。
符号化パラメータ算出装置10は、上位符号化データの入力に応じて、符号化パラメータ算出の手順を開始する。
まず、符号化パラメータ算出部11は、入力された下位ビットレートに基づいて前述の手順に従い解像度、フレームレート、ビットレートの組に対する映像品質を算出する(S11)。
次に、符号化パラメータ算出部10は、最大となる映像品質に対応する前記解像度及び前記フレームレートの組を符号化パラメータとして出力する。このとき、映像符号化パラメータ算出装置10に入力された下位ビットレートも前記符号化パラメータとして出力してもよい(入力が下位映像品質であった場合、下位映像品質より高い映像品質となる解像度、フレームレート、ビットレートの組のうち、ビットレートが最小なる組の解像度、フレームレート、ビットレートを前記符号化パラメータとして出力する)(S12)。
これにより、一連の映像符号化パラメータ算出処理を終了する。
このように第1実施形態においては、下位ビットレートの符号化パラメータを算出できる。このため、動的に映像品質の切り替えを行うプログレッシブダウンロード型の映像配信サービスなどにおいて、配信映像を符号化する際、所望のビットレートにおいて最適な符号化パラメータを算出することができる(または所望の映像品質を満たす最小のビットレートおよびそれに対応する解像度およびフレームレートを算出することができる。)
また、例えばITU-T勧告P.1201.1(非特許文献5)の映像品質推定モデルは、解像度毎に係数が定められており、異なる解像度の映像に対する品質推定結果を比較できない(例えば、低解像度・高品質の映像と高解像度・低品質の映像はどちらがよいか判断できない)が、第1実施形態における映像品質推定では、1画素あたりのビット量を用いることで、任意の解像度に対して同一の映像品質推定モデル(同一の係数)で映像品質を推定が可能であるため、異なる解像度の映像に対しても品質を比較することが可能となる。これにより最適な解像度を算出することができる。
<第2実施形態>
図3は本発明の第2実施形態に係る映像符号化パラメータ算出装置20の構成を示す図である。図3に示すように映像符号化パラメータ算出装置20は、特徴量算出部21と符号化パラメータ算出部23より構成されている。
特徴量算出部21は、複数のビットレートを用意する際、最大ビットレートの映像データ(最上位符号化データ)を入力とし、映像特徴量を出力して符号化パラメータ算出部23への入力とする。特徴量算出部21に入力される最上位符号化データは、ファイル形式(例えば、MP4、TSファイル等)でもよく、ストリーム形式(例えば、IPパケット等)で逐次入力してもよい。最上位符号化データの最大ビットレートを最上位ビットレートと記す。第2実施形態における映像特徴量は、具体的にはIフレームの平均ビット量ABIFであり、特徴量算出部21が備えるIフレーム特徴量算出部22が算出する。Iフレームが占めるビット量は、Iフレーム特徴量算出部22に入力される最上位符号化データのうち、Iフレームのデータを数えていくことで求めることができる。
符号化パラメータ算出部23は、前記特徴量算出部21の出力である映像特徴量及び映像符号化パラメータ算出装置20への入力である下位ビットレートを入力として、符号化パラメータを出力する。ここで、下位ビットレートとは、下位映像を符号化する際の平均ビットレートであって、下位映像とは本装置20で算出された前記符号化パラメータを用いて符号化された映像である。以下、単にビットレートと言ったとき、前記下位映像を符号化する下位ビットレートである下位映像符号化ビットレートを指す。前記下位映像符号化ビットレートは予め設定してある値でもよく、本装置20の利用者が入力してもよい。ここで、下位映像符号化ビットレートの値は予め設定される場合でも本装置20の利用者が入力する場合でも一つに固定されるものであり、本装置20では、入力された1の下位映像符号化ビットレートに対して、1の符号化パラメータが出力されることになる。
第2実施形態における符号化パラメータ算出部23は、予め定められているN1種類の解像度及びN2種類のフレームレートのそれぞれの組み合わせを用いて、与えられた下位ビットレートで符号化したときの映像品質を推定し、推定した映像品質が最大となる解像度及びフレームレートを出力する。
符号化パラメータ算出部23で行う映像品質推定は、符号化パラメータ算出部23が備える映像品質推定部24が行う。映像品質推定部24は、前述の通り、解像度Rs、フレームレートFr、ビットレートBrおよびIフレームの平均ビット量ABIFに基づいて、映像品質MOSを出力する。ここで、映像品質とは符号化映像に対する符号化による劣化を考慮した映像品質であり、ビットレートとは符号化映像データの1秒あたりのビット量、フレームレートとは符号化映像の1秒あたりのフレーム数、解像度とは符号化映像の1フレームあたりの画素数である。映像品質推定部24では、1画素あたりのビット量に関するパラメータNBrを
として算出する。ただし、NBrは上記の式に限らず、主観品質評価特性に合った式を用いればよく、例えば定数v11、v12を用いて
として算出してもよく、その他の式で算出してもよい。
次に、符号化映像の符号化の難しさを表す特徴量CCFとして、ビットレートBr及びIフレームの平均ビット量ABIFを用いて、
を算出する。ここで、Minは与えられた値のうち小さい方の値を返す関数であり、例えばMin(1,2)=1である。次にビットレートBr、フレームレートFr、解像度Rs、特徴量CCFに基づいて符号化劣化量DCを算出する。例えば、NBr及びCCFを用いて、
でDCを算出してもよい。ここで、A2、A3、v31、v32、v33、v34は予め定められる係数であり、サービス事業者が決めてよい。映像品質MOSは、符号化劣化量DC及び閾値Th1、Th2を用いて、
と算出してもよい。ここで、閾値Th1、Th2及び係数v35、v36、v37、v38、v39は定数であり、サービス事業者が決めてよい。だたし、上記の映像品質MOSの算出において、閾値Th1、Th2を用いずに、常に、MOS=A2-DCまたはMOS=(A2-DC)・DSのどちらかで算出してもよい。また、DSの算出方法は、上記の式に限らなくてよく、例えば、ABIFおよびCCFは用いずに、
次に、図4を参照して本発明の第2実施形態における映像符号化パラメータ算出方法の動作の例について説明する。図4は本発明の第2実施形態に係る映像符号化パラメータ算出方法のフローチャートである。
符号化パラメータ算出装置20は、上位符号化データの入力に応じて、符号化パラメータ算出の手順を開始する。
まず、特徴量算出部21は、入力された最上位符号化データに基づいて前述の映像特徴量を算出する(S21)。
次に、符号化パラメータ算出部23は、入力された下位ビットレート及び映像特徴量に基づいて前述の手順に従い解像度、フレームレート、ビットレートの組に対する映像品質を算出する(S22)。
その後、符号化パラメータ算出部23は、最大となる映像品質に対応する前記解像度及び前記フレームレートを組として符号化パラメータとして出力する。このとき、映像符号化パラメータ算出装置20に入力された下位ビットレートも前記符号化パラメータとして出力してもよい(S23)。
これにより、一連の映像符号化パラメータ算出処理を終了する。
このように第2実施形態においては、下位ビットレートから符号化パラメータを算出できる。このため、動的に映像品質の切り替えを行うプログレッシブダウンロード型の映像配信サービスなどにおいて、配信映像を符号化する際、所望のビットレートにおいて最適な符号化パラメータを算出することができる(または所望の映像品質を満たす最小のビットレートおよびそれに対応する解像度およびフレームレートを算出することができる。)
また、例えばITU-T勧告P.1201.1(非特許文献5)の映像品質推定モデルは、解像度毎に係数が定められており、異なる解像度の映像に対する品質推定結果を比較できない(例えば、低解像度・高品質の映像と高解像度・低品質の映像はどちらがよいか判断できない)が、第2実施形態における映像品質推定では、1画素あたりのビット量を用いることで、任意の解像度に対して同一の映像品質推定モデル(同一の係数)で映像品質を推定が可能であるため、異なる解像度の映像に対しても品質を比較することが可能となる。これにより最適な解像度を算出することができる。
また、第2実施形態においては、コンテンツの特徴量を用いて、下位ビットレートの符号化パラメータを算出できるため、コンテンツに適した下位の符号化パラメータを算出することができる。
<第3実施形態>
図5は本発明の第3実施形態に係る映像符号化パラメータ算出装置30の構成を示す図である。図5に示すように映像符号化パラメータ算出装置30は、特徴量算出部31と符号化パラメータ算出部33より構成されている。
特徴量算出部31は、複数のビットレートを用意する際、最大ビットレートの映像データ(最上位符号化データ)を入力とし、映像特徴量を出力して符号化パラメータ算出部33への入力とする。特徴量算出部31に入力される最上位符号化データは、ファイル形式(例えば、MP4、TSファイル等)でもよく、ストリーム形式(例えば、IPパケット等)で逐次入力してもよい。最上位符号化データの最大ビットレートを最上位ビットレートと記す。第3実施形態においては、映像特徴量は最上位符号化データのうちIフレームが占める割合とし、Iフレームが占める割合は、特徴量算出部31が備えるIフレーム特徴量算出部32において、Iフレームが占める情報量を符号化映像の全情報量で割ることで計算できる。すなわち、Iフレームが占める情報量をIs(例えば1MB)、符号化映像の全情報量をAs(例えば4MB)としたとき、Iフレームが占める割合Irは、Ir=Is/Asで計算できる(上記の例ではIr=0.25)。ここで、符号化映像の全情報量とは、最上位符号化データがファイル形式の場合には1ファイル全体の情報量であり、ストリーム形式の場合には単位時間あたりに入力された全最上位符号化映像データの情報量でもよく、1つ以上のGoP(複数フレームの1まとまり)をまとめて、全最上位符号化映像データとして扱ってもよい。
Iフレームが占める情報量は、特徴量算出部31に入力される最上位符号化データのうち、Iフレームのデータを数えていくことで求めることができる。符号化映像の全情報量は、入力される最上位符号化データの全データを数えていくことで求めることができる。
符号化パラメータ算出部33は、前記特徴量算出部31の出力である映像特徴量及び映像符号化パラメータ算出装置30への入力である下位ビットレートを入力として、符号化パラメータを出力する。ここで、下位ビットレートとは、下位映像を符号化する際の平均ビットレートであって、下位映像とは本装置30で算出された前記符号化パラメータを用いて符号化された映像である。以下、単にビットレートと言ったとき、前記下位映像を符号化する下位ビットレートである下位映像符号化ビットレートを指す。前記下位映像符号化ビットレートは予め設定してある値でもよく、本装置30の利用者が入力してもよい。ここで、下位映像符号化ビットレートの値は予め設定される場合でも本装置30の利用者が入力する場合でも一つに固定されるものであり、本装置では、入力された1の下位映像符号化ビットレートに対して、1の符号化パラメータが出力されることになる。符号化パラメータは、解像度及びフレームレートである。解像度は符号化パラメータ算出部33が備える解像度算出部34において算出され、フレームレートは符号化パラメータ算出部33が備えるフレームレート算出部35において算出される。以下に符号化パラメータ算出方法の具体例を示す。
予め、入力可能な下位映像符号化ビットレートの範囲をn段階に分類し(例えば、n=2のとき、1200kbps未満と1200kbos以上など)、各クラスに対応する符号化パラメータとして2つの解像度(例えば、1280x720と640x360など)及び2つのフレームレート(例えば、30fpsと15fpsなど)をそれぞれ決めておく。ここでは説明を分かりやすくするためn=2としているが、これに限定されるものではない。前記下位映像符号化ビットレートの範囲を分類する方法及びnの値は、サービス提供者が決めてよい。また、下位映像符号化ビットレートをn段階に分類する手段として、前述のとおり映像符号化のビットレートをn段階に分類して利用者にキーボード等から入力させる代わりに、入力可能なビットレートの選択肢を予めn種類に制限して設定し、プルダウンメニューなどの選択肢の中から利用者に選択させる手段を用いてもよい。このように、前記符号化パラメータ算出部33に入力されたIフレームの占める割合が予め定めた閾値a(例えば0.5)以上であるとき、入力された下位ビットレートの属するクラスに対応する解像度のうち高い解像度の方(上記の例では1280x720)が高品質になると判断し符号化パラメータとして出力する。前記Iフレームの占める割合が閾値a(例えば0.5)未満のとき、前記下位ビットレートの属するクラスに対応する解像度のうち低い解像度の方(上記の例では640x360)が高品質になると判断し符号化パラメータとして出力する。また、入力されたIフレームの占める割合が予め定めた閾値b(例えば0.3)以上のとき、入力された下位ビットレートの属するクラスに対応するフレームレートのうち低い方(上記の例では15fps)が高品質になると判断し符号化パラメータとして出力する。前記Iフレームの占める割合が閾値b(例えば0.3)未満のとき、前記下位ビットレートの属するクラスに対応するフレームレートのうち高い方(上記の例では30fps)が高品質になると判断し符号化パラメータとして出力する。ここで、閾値a、bはサービス提供者が決めてよい。符号化パラメータ算出部33が出力する符号化パラメータには、前記解像度及び前記フレームレートに加え、下位ビットレートも含めてよい。
上記の例において、Iフレームの占める割合Irが0.6であった場合、0.6は閾値a(0.5)以上であり、かつ閾値b(0.3)以上であるから、符号化パラメータとして、1280x720と15fpsが出力される。Irが0.4であった場合、閾値a(0.5)未満であり、かつ閾値b(0.3)以上であるから、符号化パラメータとして640x360と15fpsが出力される。Irが0.2であった場合、0.2は閾値a(0,5)未満であり、かつ閾値b(0.3)未満であるから、符号化パラメータとして、640x360と30fpsが出力される。
上記映像符号化パラメータの算出ステップにおいて、映像符号化ビットレートの各クラスに対応する解像度及びフレームレートは、1つ以上であれば2つずつでなくてもよく、映像符号化ビットレートの各クラスに対応する解像度の個数とフレームレートの個数は一致していなくてもよい。また、映像符号化ビットレートの各クラスに対しても一定でなくてもよい。すなわち、高いビットレートのクラスには多数の解像度及びフレームレートを対応させ、低いビットレートのクラスには少数の解像度及びフレームレートを対応させるなどとしてもよい。映像符号化ビットレートの各クラスに対する解像度及びフレームレートがそれぞれx、y個であるとき、Iフレームの占める割合の閾値をそれぞれx−1、y−1個決めておけば、その閾値を用いて、入力されたIフレームが占める割合に適した解像度及びフレームレートを算出することができる。
次に、図6は本発明の第3実施形態に係る映像符号化パラメータ算出方法のフローチャートである。図6を参照して第3実施形態における映像符号化パラメータ算出方法の動作の例について説明する。
符号化パラメータ算出装置30は、最上位符号化データの入力に応じて、符号化パラメータ算出の手順を開始する。
まず、特徴量算出部31は、入力された最上位符号化データから映像特徴量としてIフレームが占める割合を抽出、出力し、符号化パラメータ算出部33に入力する(S31)。
符号化パラメータ算出部33は、特徴量算出部31から入力された映像特徴量及び映像符号化パラメータ算出装置に入力された下位ビットレートに基づいて、前述の符号化パラメータ算出の手順に従い解像度を算出する(S32)。
また、符号化パラメータ算出部33は、特徴量算出部31から入力された映像特徴量及び映像符号化パラメータ算出装置30に入力された下位ビットレートに基づいて、前述の符号化パラメータ算出の手順でフレームレートの算出も行う(S33)。
最後に、符号化パラメータ算出部33は、算出した前記解像度及び前記フレームレートを符号化パラメータとして出力する(S34)。このとき、映像符号化パラメータ算出装置30に入力された下位ビットレートも前記符号化パラメータとして出力してもよい。
これにより、一連の映像符号化パラメータ算出処理を終了する。
このように第3実施形態では、最上位ビットレートの符号化データを入力として、映像コンテンツの特徴量を抽出し、下位の符号化パラメータを算出できる。このため、動的に映像品質の切り替えを行うプログレッシブダウンロード型の映像配信サービスなどにおいて、配信映像を符号化する際、与えられた下位ビットレート及びコンテンツに適した下位の符号化パラメータを算出することができる。
第3実施形態においてコンテンツ特徴量として用いているのはIフレームが占める情報量の割合であり、符号化パラメータ算出の方法も複雑な処理を行わないため、符号化パラメータを高速に算出することができる。
なお、コンテンツ特徴量には、例えば、ITU-T勧告P.910(非特許文献6)で規定されている空間的な複雑さを表す特徴量(SI)や時間的な複雑さを表す特徴量(TI)などがあるが、これらは計算量が大きいため、第3実施形態においては、Iフレームが占める割合をコンテンツ特徴量としている。
<第4実施形態>
本発明の第4実施形態に係る映像符号化パラメータ算出装置の構成は、第3実施形態と同様であるので、説明を省略する。
図7は、本発明の第4実施形態に係る映像符号化パラメータ算出方法のフローチャートである。図7を参照して第4実施形態における映像符号化パラメータ算出方法の動作の例について説明する。
まず、特徴量算出部31は、第3実施形態と同様に、入力された最上位符号化データから映像特徴量としてIフレームが占める割合を抽出し、符号化パラメータ算出部33に入力する(S41)。
符号化パラメータ算出部33のフレームレート算出部35は、特徴量算出部31から入力された映像特徴量及び映像符号化パラメータ算出装置30に入力された下位ビットレートに基づいて、フレームレートを算出する(S42)。当該フレームレートを算出する手順の具体例を示す。映像特徴量であるIフレームが占める割合をIr、入力された前記下位ビットレートをB、算出するフレームレートをFとするとき、F=c1Ir+c2B+c3の式に基づきフレームレートを算出する。ここで、c1、c2、c3は定数であり、サービス提供者が予め決めてよい。ただし、上記の式で、Fが予め決めてあるフレームレートの最大値FMAXより大きくなってしまったとき、F=FMAXとする。この処理も数式にして表すと、F=MIN(c1Ir+c2B+c3、FMAX)となる。ここで、MIN(A、B)は、A、Bのうち小さい方を選択することを表すものである。
次に、符号化パラメータ算出部33の解像度算出部34は、入力された前記下位ビットレート及び算出した前記フレームレートに基づいて、解像度を算出する(S43)。当該解像度を算出する手順の具体例を示す。予め、解像度は、出力可能なものを複数個定義し、記憶装置(図示せず)に保持しておく。前記下位ビットレートをB、算出した前記フレームレートをF、算出する最適な解像度をVfとするとき、Vf=c4B/F+c5B+c6F+c7の式に基づき最適な解像度を推定する。ここで、c4、c5、c6、c7は定数であり、サービス提供者が予め決めてよい。予め定めてある出力可能な解像度のうち、前記推定した最適な解像度に最も近いものを解像度として選択し、算出した値とする。ここで、2つの解像度(例えば、1920x1080と1280x720)の間の距離は、縦方向の画素数の差の絶対値(上記の例では、1080-720=360)に基づいて定めてもよく、画素数の差の絶対値(上記の例では1920*1080-1280*720=1152000)に基づいて定めてもよい。例えば、出力可能な解像度として、A(1920x1080)とB(1280x720)があり、前記推定した最適な解像度Vfが1600x900であるとき、解像度間の距離を縦方向の画素数の差の絶対値で測ると、VfとAの距離とVfとBの距離はともに180となる。このように最も近いものが複数あるときには、最も近いもののうちどれを選んでもよい。
最後に、第3実施形態と同様に、符号化パラメータ算出部33は、前記解像度及び前記フレームレートを符号化パラメータとして出力する(S44)。このとき、映像符号化パラメータ算出装置30に入力された下位ビットレートも前記符号化パラメータとして出力してもよい。
これにより、一連の映像符号化パラメータ算出処理を終了する。
このように第4実施形態においても、第3実施形態と同様に、最上位ビットレートの符号化データを入力として、映像コンテンツの特徴量を抽出し、下位の符号化パラメータを算出できる。このため、動的に映像品質の切り替えを行うプログレッシブダウンロード型の映像配信サービスなどにおいて、配信映像を符号化する際、上位の符号化映像の情報を用いて、コンテンツに適した下位の符号化パラメータを算出することができる。
第3実施形態と異なる点は、符号化パラメータ算出部33における符号化パラメータ算出の手順である。第3実施形態では、解像度及びフレームレートは、独立に下位ビットレート及び映像コンテンツの特徴量であるIフレームが占める割合に基づいて、予め定めた閾値を用いて算出する。それに対して、第4実施形態では、下位ビットレート及び映像コンテンツの特徴量であるIフレームが占める割合に基づいて符号化パラメータにおけるフレームレートを算出した後、入力された前記下位ビットレート及び算出した前記フレームレートに基づいて解像度を算出する。このため、算出されたフレームレートに適した解像度を算出することができる。
<第5実施形態>
本発明の第5実施形態に係る符号化パラメータ算出装置の構成は、第3実施形態と同様であるので、説明を省略する。
図8は、本発明の第5実施形態に係る映像符号化パラメータ算出方法のフローチャートである。図8を参照して第5実施形態における映像符号化パラメータ算出方法の動作の例について説明する。
まず、特徴量算出部31は、第3実施形態と同様に、入力された最上位ビットレートの符号化データから映像特徴量としてIフレームが占める割合を抽出、出力し、符号化パラメータ算出部33に入力する(S51)。
符号化パラメータ算出部33の解像度算出部34は、特徴量算出部31から入力された映像特徴量及び映像符号化パラメータ算出装置30に入力された下位ビットレートに基づいて、解像度を算出する(S52)。算出された前記解像度を算出する手順の具体例を示す。予め、解像度は、出力可能なものを複数個定義しておく。映像特徴量であるIフレームが占める割合をIr、前記下位ビットレートをB、最適な解像度をVfとするとき、Vf=c8IrB+c9Ir+c10B+c11の式に基づき最適な解像度を算出する。ここで、c8、c9、c10、c11は定数であり、サービス提供者が予め決めてよい。予め定めてある出力可能な解像度のうち、前記算出した最適な解像度に最も近いものを解像度として算出する。2つの解像度間の距離は、第4実施形態と同様に測り、最も近いものが複数あるときには、どれを選んでもよい。
次に、符号化パラメータ算出部33のフレームレート算出部35は、入力された前記下位ビットレート及び算出された前記解像度に基づいて、フレームレートを算出する(S53)。前記算出されたフレームレートは、勧告G.1070(非特許文献1)に記載されているような方法で算出することができる。その方法について説明する。入力された前記下位ビットレートをB、算出された前記解像度をVf、算出するフレームレートをFとするとき、F=cVf1B+cVf2の式に基づきフレームレートを算出する。ここで、cVf1、cVf2は解像度ごとに決められた定数であり、その値はサービス提供者が予め決めてよい。
最後に、第3実施形態と同様に、符号化パラメータ算出部33は、算出された前記解像度及び前記フレームレートを符号化パラメータとして出力する(S54)。このとき、入力された前記下位ビットレートも前記符号化パラメータとして出力してもよい。
これにより、一連の映像符号化パラメータ算出処理を終了する。
このように第5実施形態においても、第3実施形態と同様に、最上位ビットレートの符号化データを入力として、コンテンツの特徴量を抽出し、下位ビットレートの符号化パラメータを算出できる。このため、動的に映像品質の切り替えを行うプログレッシブダウンロード型の映像配信サービスなどにおいて、配信映像を符号化する際、上位の符号化映像の情報を用いて、コンテンツに適した下位の符号化パラメータを算出することができる。
第3実施形態及び第4実施形態と異なる点は、符号化パラメータ算出部33における符号化パラメータ算出の手順である。第3実施形態では、算出される符号化パラメータである解像度及びフレームレートは、独立に下位ビットレート及びIフレームが占める割合に基づいて、閾値を用いて算出する。第4実施形態では、入力された前記下位ビットレート及びコンテンツ特徴量であるIフレームが占める割合に基づいてフレームレートを算出した後、前記下位ビットレート及び算出された前記フレームレートに基づいて解像度を算出する。それらに対して、第5実施形態では、入力された前記下位ビットレート及びコンテンツ特徴量である前記Iフレームが占める割合に基づいて解像度を算出した後、前記下位ビットレート及び算出した前記解像度に基づいてフレームレートを算出する。このため、算出された解像度に適したフレームレートを算出することができる。
<第6実施形態>
図9は本発明の第6実施形態に係る映像符号化パラメータ算出装置60の構成を示す図である。図9に示すように映像符号化パラメータ算出装置60は、動的特徴量算出部62を備える特徴量算出部61と、映像品質推定部64を備える符号化パラメータ算出部63より構成されている。
特徴量算出部61は、複数のビットレートを用意する際、最大ビットレートの映像データ(最上位符号化データ)を入力とし、映像の特徴量を算出する。最上位符号化データの最大ビットレートを最上位ビットレートという。第6実施形態において、特徴量算出部61が備える動的特徴量算出部62は符号化映像の動きベクトルを抽出する。抽出した動きベクトルは、映像特徴量として、符号化パラメータ算出部63に入力される。一般的な映像では、カメラがパンを行ったり、フレーム内のオブジェクトが動くなど、フレーム間に動きがある。このため、映像符号化の圧縮性能を高めるために、現在のフレームは、前後のフレームのどの位置のブロックが移動したと考えられるかを動きベクトルを用いて表現される。例えば、複数のオブジェクトが無秩序に動く映像では方向や大きさが異なる動きベクトルが複数存在し、時間的な変化の少ない映像では動きベクトルは小さくなる。従って、動きベクトルは映像の時間的な変化を表すデータであると考えられ、第6実施形態においては動きベクトルに基づいて動的特徴量を算出する。
特徴量算出部61は、最上位符号化データに基づいて、映像の特徴量を算出し、符号化パラメータ算出部63に映像特徴量を入力する。第6実施形態においては、特徴量算出部61は動的特徴量算出部62を備え、動的特徴量算出部62は動きベクトルに基づいて動的特徴量を算出する。動的特徴量は、映像特徴量として符号化パラメータ算出部63に入力される。
動的特徴量は、例えば、動きベクトルの絶対値の平均F1である。具体的には、最上位符号化映像のkフレーム目におけるマクロブロック(i,j)の動きベクトルをV(i,j)とすると、
である。この閾値Thは、動きを正確に表さない動きベクトルを除外する目的で、動きベクトルの平均のx倍(例えば、x=1.5)として、フレームごとに
で定める。動的特徴量F
1はF
1,kの平均である。ただし、F
1,kの平均を計算する際には、動きベクトルが含まれないIフレームを除いて計算する。また、閾値Thを用いなくてもよく、その場合、
符号化パラメータ算出部63は、前記特徴量算出部61の出力である映像特徴量及び映像符号化パラメータ算出装置60への入力である下位ビットレートに基づいて、符号化パラメータを算出する。ここで、本装置60により算出を行う符号化パラメータを用いて符号化された映像を下位映像といい、下位映像を符号化する際の平均ビットレートを下位ビットレートという。以下、単にビットレートと言ったとき、前記下位映像を符号化する下位ビットレートである下位映像符号化ビットレートを指す。前記下位映像符号化ビットレートは、予め設定してある値でもよく、本装置60の利用者が入力してもよい。ここで、下位映像符号化ビットレートの値は予め設定される場合でも本装置60の利用者が入力する場合でも一つに固定されるものであり、本装置では、入力された1の下位映像符号化ビットレートに対して、1の符号化パラメータが出力されることになる。
符号化パラメータには、解像度及びフレームレートが含まれる。以下に符号化パラメータ算出の具体例を示す。
符号化パラメータのうち、フレームレートの算出は、第6実施形態では非特許文献4に開示されている最適フレームレート推定の方法と同様に符号化パラメータによる相対的なユーザ体感品質を推定し、推定したユーザ体感品質が最大となるフレームレートを求めることとする。符号化パラメータ算出部63が備える映像品質推定部64において、相対的なユーザ体感品質は、
で推定する。ここで、sは下位映像の1フレームあたりのビット数、tは1秒あたりのフレーム数を表し、s・tは1秒あたりのビット数(ビットレート)を意味する。β
t、γ
tは、映像特徴量である動的特徴量F
1を用いて、
で計算する。上記β
s、γ
s及びc
1、c
2、c
3、c
4は、定数であり、サービス提供者が決めてよい。予め、出力可能なフレームレート(例えば、1から30までの整数など)を決めておくことで、f(s,t)が最大となるs、tを選ぶことができる。つまり、入力される下位ビットレートをbとすると、s=b/tであるから、f(b/t,t)が最大となるs、tを選べばよい(上記の例では、f(b,1), f(b/2,2),..., f(b/30,30)を計算し、最大となるフレームレートを選ぶ)。解像度も予め出力可能なものを決めておく(例えば、960x540、1280x720、1920x1080など)。最適な解像度vは、v=c
5・s+c
6で求め、出力可能な解像度のうち、最も近いものを選択する。c
5、c
6はサービス提供者が決めてよい。上記の手順で、選択したフレームレート及び解像度を符号化パラメータとして、出力する。
次に、図10は本発明の第6実施形態に係る映像符号化パラメータ算出方法のフローチャートである。図10を参照して第6実施形態における映像符号化パラメータ算出装置60の動作の例について説明する。
符号化パラメータ算出装置60は、最上位符号化データの入力に応じて、符号化パラメータ算出の手順を開始する。
まず、特徴量算出部61が備える動的特徴量算出部62は、入力された最上位符号化データから動きベクトルを抽出する(S61)。
特徴量算出部61が備える動的特徴量算出部62は、抽出した動きベクトルに基づいて動的特徴量を算出し、映像特徴量として動的特徴量を符号化パラメータ算出部63に入力する(S62)。
符号化パラメータ算出部63は、入力された映像特徴量及び下位ビットレートに基づいて、前述の手順でフレームレートt及び1フレームあたりのビット数sを算出する(S63)。
次に、符号化パラメータ算出部63は、1フレームあたりのビット数sに基づいて、前述の手順に示すv=c5・s+c6により解像度vの算出を行う(S64)。
最後に、符号化パラメータ算出部63は、前記フレームレート及び前記解像度を符号化パラメータとして出力する(S65)。
これにより、一連の映像符号化パラメータ算出処理を終了する。
このように第6実施形態では、最上位ビットレートの符号化データを入力として、動きベクトルに基づく動的特徴量であるコンテンツの特徴量を抽出し、下位の符号化パラメータを算出できる。このため、プログレッシブダウンロード型の映像配信サービスのような動的に映像品質の切り替えを行う映像配信サービスにおいて、配信映像を符号化する際、コンテンツの特徴を考慮して、与えられた下位ビットレート及びコンテンツに適した下位の符号化パラメータを算出することができる。
第6実施形態によれば、特徴量として用いているのは動きベクトルであり、画素信号を扱わなくてもよく、符号化パラメータ算出の方法も複雑な処理を行わないため、符号化パラメータを高速に算出することができる。
<第7実施形態>
図11は、本発明の第7実施形態に係る映像符号化パラメータ算出装置70の構成を示す図である。図11に示すように映像符号化パラメータ算出装置70は、動的特徴量算出部72及びマクロブロック特徴量算出部74を備える特徴量算出部71と、符号化パラメータ算出部73から構成されている。図11の構成は、図9の構成に、マクロブロック特徴量算出部74及びその出力が付加されている。
特徴量算出部71は、最上位符号化データを入力とし、映像特徴量を出力する。
動的特徴量算出部72は、前述の第6実施形態と同様の処理を行うため、その説明を省略する。
マクロブロック特徴量算出部74は、最上位符号化データから、イントラマクロブロックの個数及び全マクロブロックの個数を抽出する。一般的には、イントラマクロブロックはインターマクロブロックに比べて符号化効率が悪いため、符号化が容易(高圧縮可能)な映像は、イントラマクロブロックが少ない傾向にある。また、イントラマクロブロックは、前後のフレームから予測が困難である場合や、空間的に変化が少ない場合に用いられることが多いため、コンテンツの特徴を表す値であると考えられる。これらの理由から、第7実施形態においては、マクロブロックの情報を用いている。
マクロブロック特徴量算出部74は、抽出したマクロブロック情報に基づいて、マクロブロック特徴量を算出し、映像特徴量として、符号化パラメータ算出装置73に入力する。前述の通り、マクロブロック情報は、イントラマクロブロックの個数及び全マクロブロックの個数である。マクロブロック特徴量F2は、イントラマクロブロックが全体に占める割合であり、イントラマクロブロックの個数をMBI、全マクロブロックの個数をMBAとすると、
符号化パラメータ算出部73は、動的特徴量及びマクロブロック特徴量に基づいて、符号化パラメータを算出する。第7実施形態においても、第6実施形態と同様に、相対的なユーザ体感品質を
で推定する。第7実施形態が第6実施形態と異なる点は係数β
s、γ
sの求め方であり、係数β
t、γ
tは第6実施形態と同様に算出する。第6実施形態においてはβ
s、γ
sは定数であったが、第7実施形態においては静的特徴量F
2を用いて、
で計算する。ここで、c
7、c
8、c
9、c
10は定数であり、サービス提供者が決めてよい。算出する符号化パラメータの内、1フレームあたりのビット数s及び最適なフレームレートtは、第6実施形態と同様に、予め決めてある出力可能なフレームレートを用いて算出する。次に、最適な解像度は
の式を用いて計算し、予め決めてある出力可能な解像度に最も近いものを選択する。上記の手順で算出したフレームレート及び解像度を符号化パラメータとして出力する。
次に、図12は、本発明の第7実施形態に係る映像符号化パラメータ算出方法のフローチャートである。図12を参照して第7実施形態における映像符号化パラメータ算出方法の動作の例について説明する。
符号化パラメータ算出装置70は、最上位符号化データの入力に応じて、符号化パラメータ算出の手順を開始する。
まず、特徴量算出部71が備える動的特徴量算出部72は、第6実施形態と同様に、入力された最上位符号化データから動きベクトルを抽出する(S71)。
特徴量算出部71が備えるマクロブロック特徴量算出部74は、入力された最上位符号化データからマクロブロック情報を抽出する(S72)。
特徴量算出部71が備える動的特徴量算出部72は、第6実施形態と同様、抽出した前記動きベクトルに基づいて、動的特徴量を算出し、映像特徴量として符号化パラメータ算出部73に入力する(S73)。
特徴量算出部71が備えるマクロブロック特徴量算出部74は、抽出した前記マクロブロック情報に基づいて、マクロブロック特徴量を算出し、映像特徴量として符号化パラメータ算出部73に入力する(S74)。
符号化パラメータ算出部73は、入力された前記動的特徴量及び前記マクロブロック特徴量を含む映像特徴量と下位ビットレートに基づき、前述の手順により、フレームレート及び1フレームあたりのビット数を算出する(S75)。
次に、符号化パラメータ算出部73は、前記映像特徴量及び前記1フレームあたりのビット数に基づいて、解像度を算出する(S76)。
最後に、符号化パラメータ算出部73は、前記フレームレート及び前記解像度を符号化パラメータとして出力する(S77)。
これにより、一連の映像符号化パラメータ算出処理を終了する。
このように第7実施形態では、第6実施形態と同様に、最上位ビットレートの符号化データを入力として、動きベクトルに基づく動的特徴量及びマクロブロック情報に基づくマクロブロック特徴量を用いてコンテンツの特徴量を抽出し、下位の符号化パラメータを算出できる。このため、プログレッシブダウンロード型の映像配信サービスなどのような動的に映像品質の切り替えを行う映像配信サービスにおいて、配信映像を符号化する際、与えられた下位ビットレート及びコンテンツに適した下位の符号化パラメータを算出することができる。
第6実施形態と異なる点は、マクロブロック特徴量算出部74が付加され、符号化パラメータ算出部73の処理においてマクロブロック特徴量に基づいて符号化パラメータを算出している点である。第6実施形態では、動的特徴量に基づいて、フレームレートを算出する。それに対して、第7実施形態では、動的特徴量及びマクロブロック特徴量に基づいてフレームレートを算出する。このため、よりコンテンツの特徴を捉えることができ、コンテンツに適したフレームレートを算出することができる。
<第8実施形態>
図13は、本発明の第8実施形態に係る映像符号化パラメータ算出装置80の構成を示す図である。図13に示すように映像符号化パラメータ算出装置80は、動的特徴量算出部82、マクロブロック特徴量算出部84及び量子化特徴量算出部85を備える特徴量算出部81と、符号化パラメータ算出部83から構成されている。図13の構成は、図11の構成に、量子化特徴量算出部85及びその出力が付加されている。
特徴量算出部81は、最上位符号化データを入力とし、映像特徴量を出力する。
動的特徴量算出部82及びマクロブロック特徴量算出部84は、前述の第7実施形態と同様の処理を行うため、その説明を省略する。
量子化特徴量算出部85は、最上位符号化データから、量子化パラメータを抽出する。量子化パラメータ(または量子化ステップ)は各画素値の表現の正確性に関わる値であり、量子化パラメータを大きくすると、映像の圧縮率を高めることができるが、量子化誤差が大きくなりブロック歪等の品質劣化の原因となる。このため、量子化パラメータは、圧縮性能や品質に関わる重要な値であるので、第8実施形態においては、量子化パラメータに基づいて量子化特徴量を算出する。
量子化特徴量算出部85は、入力される量子化パラメータに基づいて、量子化特徴量を算出し、映像特徴量として、符号化パラメータ算出部83へ入力する。第8実施形態においては、量子化特徴量は、量子化パラメータの標準偏差とする。量子化パラメータをQPi(i=1,2,...,N)とし、その平均値を
に基づいて算出できる。なお、量子化特徴量は、量子化パラメータの標準偏差に限定されるものではなく、例えば、平均値、中央値、分散、歪度、尖度などその他の統計値を用いてもよい。
符号化パラメータ算出部83は、動的特徴量とマクロブロック特徴量と量子化特徴量とを含む映像特徴量に基づいて、符号化パラメータを算出する。第8実施形態においても、第6実施形態または第7実施形態と同様に、相対的なユーザ体感品質を
に基づいて推定する。また、係数β
s、γ
s、β
t、γ
tも第6実施形態または第7実施形態と同様に算出し、第6実施形態または第7実施形態と同様に、予め決めてある出力可能なフレームレートを用いて、算出する符号化パラメータの内、1フレームあたりのビット数s及び最適なフレームレートtを算出する。
次に、算出する符号化パラメータの内、最適な解像度の算出方法について示す。
第6実施形態または第7実施形態と異なる点は、最適な解像度の算出方法である。最適な解像度は
の式で計算し、算出された最適な解像度vと予め決めてある出力可能な解像度を比較し、算出された(推定された)最適な解像度vに最も近い、予め定められた解像度の値を選択する。ここで、δは静的特徴量F
2と閾値aを用いて、
に基づいて算出する。または、動的特徴量F
1と閾値a'を用いて、
に基づいて算出してもよい。上記c
11、c
12、c
13、c
14、a、a'は定数であり、サービス提供者が決めてよい。量子化特徴量として、標準偏差以外の値を用いている場合には、その特徴量に応じた式に基づいて最適な解像度vを算出する。
上記の手順で算出したフレームレート及び解像度を符号化パラメータとして出力する。
次に、図14は、本発明の第8実施形態に係る映像符号化パラメータ算出方法のフローチャートである。図14を参照して第8実施形態における映像符号化パラメータ算出方法の動作の例について説明する。
符号化パラメータ算出装置80は、最上位符号化データの入力に応じて、符号化パラメータ算出の手順を開始する。
まず、特徴量算出部81が備える動的特徴量算出部82は、第6実施形態と同様に、入力された最上位符号化データから動きベクトルを抽出する(S81)。
特徴量算出部81が備えるマクロブロック特徴量算出部84は、第7実施形態と同様に、入力された最上位符号化データからマクロブロック情報を抽出する(S82)。
特徴量算出部81が備える量子化特徴量算出部85は、入力された最上位符号化データから量子化パラメータを抽出する(S83)。
特徴量算出部81が備える動的特徴量算出部82は、第6実施形態と同様、抽出した前記動きベクトルに基づいて、動的特徴量を算出し、映像特徴量として符号化パラメータ算出部83へ入力する(S84)。
特徴量算出部81が備えるマクロブロック特徴量算出部84は、第7実施形態と同様、抽出した前記マクロブロック情報に基づいて、マクロブロック特徴量を算出し、映像特徴量として符号化パラメータ算出部83へ入力する(S85)。
特徴量算出部81が備える量子化特徴量算出部85は、抽出した前記量子化パラメータに基づいて、量子化特徴量を算出し、映像特徴量として符号化パラメータ算出部83へ入力する(S86)。
符号化パラメータ算出部83は、入力された前記動的特徴量と前記マクロブロック特徴量と前記量子化特徴量とを含む映像特徴量及び下位ビットレートに基づき、前述の手順により、フレームレート及び1フレームあたりのビット数を算出する(S87)。
次に、符号化パラメータ算出部83は、前記量子化特徴量及び前記1フレームあたりのビット数に基づいて、解像度を算出する(S88)。
最後に、符号化パラメータ算出部83は、前記フレームレート及び前記解像度を符号化パラメータとして出力する(S89)。
これにより、一連の映像符号化パラメータ算出処理を終了する。
このように第8実施形態では、第6実施形態及び第7実施形態と同様に、最上位ビットレートの符号化データを入力として、動きベクトルに基づく動的特徴量及びマクロブロック情報に基づくマクロブロック特徴量、並びに量子化パラメータに基づく量子化特徴量を用いてコンテンツの特徴量を抽出し、下位の符号化パラメータを算出できる。このため、第8実施形態においても、プログレッシブダウンロード型の映像配信サービスなどのような動的に映像品質の切り替えを行う映像配信サービスにおいて、配信映像を符号化する際、与えられた下位ビットレート及びコンテンツに適した下位の符号化パラメータを算出することができる。
第7実施形態と異なる点は、量子化特徴量算出部85が付加され、符号化パラメータ算出部83の処理において量子化特徴量に基づいて解像度を算出している点である。このため、よりコンテンツの特徴を捉えることができ、コンテンツの特徴に応じた解像度を算出することができる。
上記の実施形態では、プログレッシブダウンロード型映像配信サービスにおける符号化パラメータの算出について説明したが、本発明の実施形態は、映像が複数のビットレートで符号化されて配信される他の映像配信サービスにも適用可能である。例えば、リアルタイムストリーミング型映像配信サービスにおいて、端末種別やネットワーク種別によって映像品質を切り替えることも考えられる。本発明の実施形態は、このときの下位の配信品質の符号化パラメータの算出に適用可能である。
<実施形態の効果>
本発明の実施形態に係る映像符号化パラメータ算出装置は、映像品質の推定結果またはコンテンツの特徴を用いて符号化パラメータを算出するため、コンテンツに適した符号化を行うことができ、配信品質を最適にすることが可能となる。これにより、配信品質の切り替えを行うプログレッシブダウンロード型映像配信サービスなどにおいて、各ビットレートのファイルに対して適切な配信品質でサービスを提供することが可能になる。
説明の便宜上、本発明の実施形態に係る映像符号化パラメータ算出装置は機能的なブロック図を用いて説明しているが、本発明の実施形態に係る映像符号化パラメータ算出装置は、ハードウェア、ソフトウェアまたはそれらの組み合わせで実現されてもよい。また、各機能部が必要に応じて組み合わせて使用されてもよい。また、本発明の実施形態に係る方法は処理の流れを示すフローチャートを用いて説明しているが、本発明の実施形態に係る方法は、実施形態に示す順序と異なる順序で実施されてもよい。
以上、映像が複数のビットレートで符号化されて配信される映像配信サービスの配信映像に対して、符号化パラメータの算出を可能とするための手法について説明したが、本発明は、上記の実施形態に限定されることなく、特許請求の範囲内において、種々の変更・応用が可能である。