映像品質客観評価方法、映像品質客観評価装置、及びプログラム
【課題】人間が映像を見て体感した品質(主観品質)を客観的に評価する映像品質客観評価を行う際に、上記主観品質の推定を効率的かつ精度良く行う。
【解決手段】符号化された映像のビット列の内部に存在し、シーンの違いを表すパラメータである動きベクトルやDCT係数、または符号化された映像のビット列から部分的に復号した画素情報や符号化制御情報を映像品質客観評価に用いる。その結果、全映像のビット列を復号して得た画素情報を用いて映像品質客観評価を行った場合に比べて、非常に多くの計算量を要する画素情報への復号処理の量を節約できるため、安価な計算機を利用して短時間で映像品質客観評価が可能になる。
【解決手段】符号化された映像のビット列の内部に存在し、シーンの違いを表すパラメータである動きベクトルやDCT係数、または符号化された映像のビット列から部分的に復号した画素情報や符号化制御情報を映像品質客観評価に用いる。その結果、全映像のビット列を復号して得た画素情報を用いて映像品質客観評価を行った場合に比べて、非常に多くの計算量を要する画素情報への復号処理の量を節約できるため、安価な計算機を利用して短時間で映像品質客観評価が可能になる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像データの損失による映像品質の劣化を対象とした映像品質客観評価技術に関し、特に人間が映像を見て体感した品質(主観品質)を評価する場合に、多数の被験者が特殊な実験設備内で、実際に映像を視聴して品質を評価する主観品質評価実験を行うことなく、ユーザが視聴する映像の符号化ビット列情報から客観的に主観品質を導出する映像品質客観評価方法、映像品質客観評価装置、及びプログラムに関する。
【背景技術】
【0002】
従来、符号化された映像のビット列を保存もしくは伝送する際に、ビット列に欠損が発生した場合、映像符号化やIP通信のパラメータ情報を用いて客観的に映像品質評価を行う技術(非特許文献1および非特許文献2参照)や、符号化された映像のビット列を画素信号まで復号し、画素情報を基に客観的に映像品質評価を行う技術(非特許文献3参照)が検討されてきた。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】増田征貴,富永聡子,林孝典,“無効フレーム率を用いたインサービス映像品質管理法",信学技報,CQ2005-59,pp.55-60,Sept. 2005.
【非特許文献2】ITU-T G.1070,“Opinion model for video-telephony applications,” Apr. 2007.
【非特許文献3】ITU-T J.144,“Objective perceptual video quality measurement techniques for digital cable television in the presence of a full reference,”Feb. 2000.
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1や非特許文献2に記載の技術では、評価者が想定する数シーンの平均的な主観品質の推定を行う。しかし実際の映像ではシーン毎にビット列の構成が大きく異なるため、ビット列に損失が発生した場合には、映像のシーンの違いにより主観品質が大きく変動する。従って非特許文献1や非特許文献2の技術では映像シーンの違いを考慮することが難しく良好な推定精度の実現には問題がある。更にIP通信のパラメータ情報を使って主観品質の推定を行う場合、IP通信以外のプロトコルを利用すると、主観品質の推定が不可能となる。
また、非特許文献3では、符号化された映像のビット列を復号した映像の画素情報を用いて主観品質の推定を試みているが、画素情報への復号には莫大な計算量を要するためリアルタイムに主観品質を推定するには非常に多くの演算量を必要とし、したがって1台当たりの製造コストが高騰することから、低コストが要求されるユーザの映像再生端末(セットトップボックス)等への実装が難しくなる。
【課題を解決するための手段】
【0005】
このような課題を解決するために本発明は、現在主流である動き補償フレーム間予測とDCT変換を用いる符号化方式、特にH.264方式のビット列に損失が発生した場合に、ビット列のみ、もしくはこれを部分的にデコードした画素情報を解析して、ビット列をデコードして得られる映像内における劣化発生領域を検出する領域を検出するステップと、それらの劣化領域が人間に与える影響を重み係数として導出するステップと、映像をデコードする際にデコーダが映像内の劣化を検知しにくくする劣化隠蔽処理による効果を推定するステップと、劣化が発生するフレーム/スライス/動きベクトルのIPB属性を検出するステップと、これらの情報を総合して映像内の単一フレームにおける劣化の強さを表す値を導出するステップと、単一フレームにおける劣化の強さを,全てのフレームについて導出して,それらを統合してビット列の損失による全フレームの劣化の代表値を導出するステップと,符号化劣化に対する主観品質を推定するステップと、符号化劣化に対する主観品質とビット列の損失による全フレームの劣化の代表値を合わせて総合的な主観品質を推定するステップを備える符号化された映像のビット列に損失が生じた場合の主観品質を推定するものである。
すなわち、本発明は、視聴者が映像を見た時に体感する映像の品質を表す主観品質の推定を行う映像品質客観評価方法であって、動き補償とDCT変換を利用して符号化された映像のビット列に損失が生じた場合に、損失したビット列と残ったビット列を用いてシーンの違いが主観品質に及ぼす影響を考慮し、かつデコードを必要とせずに主観品質を推定することを特徴とする。
【0006】
ここで、ビット列の損失が発生した場合に、失われたビット列で保存されていたフレーム(またはスライスまたはマクロブロックまたはサブマクロブロック)の空間もしくは時系列の位置情報を用いて主観品質を推定する 。
また、動き補償機能において他のフレーム(またはスライスまたはマクロブロックまたはサブマクロブロック)から参照される参照先フレーム(またはスライスまたはマクロブロックまたはサブマクロブロック)のビット列に損失が生じている場合は、参照先のフレーム(またはスライスまたはマクロブロックまたはサブマクロブロック)のビット列の損失により参照元のフレーム(またはスライスまたはマクロブロックまたはサブマクロブロック)に与えられる損失に基づいて主観品質を推定する。
【0007】
また、符号化処理により劣化した主観品質を、ビット列の損失が発生した場合の主観品質の最大値とする。
また、単一のフレーム内で生じた劣化の代表値として、ビット列の損失が起きたブロックの数を重み付きで加算した値を映像品質の客観評価に用いる。
この場合、単一フレーム内で生じた劣化の代表値を、映像を構成する全てのフレームで導出して、それらを重み付きで加算した値を映像品質の客観評価に用いる。
ここで、映像品質の客観評価に用いる重みを、動きベクトルデータの統計量または映像の再生端末が行う劣化隠蔽処理または劣化が発生した位置またはDCT係数の統計量または局所的な画素情報、またはそれらの組み合わせに応じて決定する。
【0008】
なお、動きベクトルデータの統計量としては、フレーム内のすべてまたは一部のマクロブロックの動きベクトルの大きさまたは向きに関する統計量を使用する。
また、DCT係数の統計量として、フレーム内のすべてまたは一部のマクロブロックのDCT係数の統計量を使用する。
また、各種の劣化隠蔽処理による主観品質の改善量を予め主観品質評価実験を行うことにより測定してデータベース化し、映像品質の客観評価時には前記データベースを参照して、各劣化隠蔽処理に対してチューニングを行った主観品質を導出する。
また、符号化された映像のビット列もしくは局所的な画素信号として復号された情報を用いて、劣化隠蔽処理による主観品質の改善量を推定する。
また、局所的な画素情報として、損失したビット列中に含まれるマクロブロックに隣接するマクロブロックの画素情報を用いる。
【0009】
また、本発明は、ビット列の損失が発生した際に、失われたビット列で保存されていた情報が符号化の制御情報である場合は、その符号化制御情報が主観品質に与える影響の度合いに応じて主観品質を推定する。
また、映像品質の客観評価を行う時に符号化方式またはフレームレートまたは映像解像度に応じて評価式の最適化を行う。
【0010】
このように、現在主流である動き補償フレーム間予測とDCT変換による符号化方式を用いた映像のビット列の内部は、主に動きベクトルやDCT係数、また符号化の制御情報(例えば量子化をコントロールする量子化係数/パラメータ等)から構成され、これらの情報は映像のシーン毎にその内容が大きく異なるため、これらの情報を利用することにより映像シーンの違いを考慮した主観品質の評価が可能になる。更にビット列に埋め込まれた情報をそのまま利用し、画素情報を利用しない場合には、取得に莫大な計算量を要する画素情報を必要とせず計算量を大きく低減することが可能になる。また映像のビット列を部分的にデコードした画素情報を取得するには、ビット列に埋め込まれた情報のみを用いる場合に比べて少々負荷が増加するが、映像全体をデコードする場合に比べると大きく計算量を節約できるため、映像シーンの違いを画素情報として考慮するために、この情報を付加的に加えて主観品質の推定を行っても良い。これにより安価な計算機を利用して短時間で精度の良い映像品質客観評価が可能になり、例えば映像サービスにおいて視聴者毎に見ている映像は一般的に異なるが、これらの違いを考慮したが見ている映像毎に主観品質の推定が可能となることで、視聴者毎にきめ細かい品質に関するサポートが可能となることや、映像サービス事業者のヘッドエンドで効率的かつ安価かつチャンネル毎・シーン毎に映像の主観品質を管理すること等が可能になる。更に映像のビット列を取得できれば良いので、ビット列を伝送するプロトコルに依存しない映像品質客観評価が可能である。つまりIP通信以外の通信方式にも拡張可能であるため、様々な通信方式で伝送される映像に対して本方式は適用が可能である。
【発明の効果】
【0011】
本発明では、符号化ビット列に欠損が発生した場合に、符号化された映像のビット列情報を利用するようにしたことにより、主観品質の推定を効率的かつ精度良く行うことが可能となり、その結果、主観品質評価法や従来の客観品質評価法を本発明に置き換えることにより多大な労力と時間を必要としなくなる。従って、ユーザが感じている主観品質を大規模かつリアルタイムに取得することが可能となる。
【図面の簡単な説明】
【0012】
【図1】本発明に係る映像品質客観評価装置の構成を示すブロック図である。
【図2】上記映像品質客観評価装置を構成する各機能部の概略動作を示すフローチャートである。
【図3】フレーム内のマクロブロック復号状況を示す図である。
【図4】損失マクロブロック内のエッジ推定方法を説明する図である。
【図5】損失マクロブロックとその隣接マクロブロックにおけるエッジの代表値を表す図である。
【図6】損失マクロブロック内のエッジ推定方法を説明する図である。
【図7】8×8DCT係数の3次元表示を示す図である。
【図8】8×8DCT係数の2次元表示を示す図である。
【図9】動きベクトル導出対象フレームからの相対位置を示す図である。
【図10】動きベクトルを動きベクトル導出対象フレームから1フレーム後方への射影例を示す図である。
【図11】動きベクトルを動きベクトル導出対象フレームから1フレーム前方への射影例を示す図である。
【図12】損失マクロブロック付近の動きベクトル導出対象マクロブロックの状況を示す図である。
【図13】動きベクトルの向きを説明する図である。
【図14】注目領域の定義を説明する図である。
【図15】フレーム内のマクロブロックの座標系を表す図である。
【図16】上記映像品質評価装置のハードウェア構成を示す図である。
【図17】フレーム内の劣化したブロックとその隣接ブロックを示す図である。
【図18】時間方向の劣化隠蔽処理の効果推定方法を説明する図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態について図面を参照して説明する。
(実施の形態1)
本実施の形態の映像品質客観評価装置は、符号化映像のビット列を入力するためのインターフェースと、サーバ装置やパーソナルコンピュータなどの演算装置と、記憶装置とからなる情報処理装置から構成され、符号化映像のビット列を入力し、入力映像に対応した主観品質を出力するものである。そのハードウェア構成としては、図16に示すように、受信部2、演算部3、記憶媒体4および出力部5からなる。ここで、図16に示すH.264符号化装置6は、入力映像を後述するH.264方式により符号化する。そして、符号化された映像ビット列は伝送網内を伝送データとして通信され映像品質客観評価装置1に送信される。
【0014】
映像品質客観評価装置1は、その伝送データ、すなわち前記符号化されたビット列を受信部2で受信する。そして、CPUが記憶媒体4に記憶されたプログラムを読み出して実行することにより、演算部3の機能を実現する。すなわち、演算部3は受信部2で受信されたビット列の情報を利用して各種の演算処理を行い、その演算処理結果を表示部などの出力部5に出力することにより、映像の主観品質を推定するものである。
ここで、演算部3の演算処理機能としては、具体的には、図1に示すように、係数データベースD11〜D17と、劣化発生領域特定機能部F11と、劣化発生領域の重み判定機能部F12と、劣化隠蔽処理特定機能部F13と、単一フレームの劣化代表値導出機能部F14と、全フレームの劣化代表値導出機能部F15と、符号化劣化に対する主観品質推定機能部F16と、主観品質推定機能部F17とがある。
【0015】
ここで、この映像品質客観評価装置1では、動き補償とDCT変換を用いるH.264方式の符号化された映像のビット列に欠損が生じた場合に、符号化された映像のビット列の正常部分と欠損部分の内容を利用して映像の主観品質の推定を行う。原理的には動き補償とDCT変換を用いる符号化方式に応用可能である。
【0016】
以下、図1を参照して、この映像品質客観評価装置を構成する各機能部の機能について具体的に説明する。各機能部には必要なメモリを備えている。
劣化発生領域(位置、数)特定機能部F11は、入力された符号化映像のビット列を走査してビット列に欠損が生じている場合に、フレーム内で劣化が発生したマクロブロックの位置と数を特定して劣化情報11aと11bをそれぞれ劣化代表値導出機能部F14と、重み判定機能部F12とに出力する。
【0017】
劣化発生領域の重み判定機能部F12は、劣化発生領域特定機能部F11から入力した劣化情報11bを走査して、劣化が発生したマクロブロックの位置や、その周辺に存在するマクロブロックの動きや絵柄の複雑さから、劣化したマクロブロックの主観品質への影響度を測定し、劣化量情報12aとして劣化代表値導出機能部F14に出力する。
【0018】
劣化隠蔽処理特定機能部F13は、予めデータベース化された、もしくは動的に導出された劣化隠蔽処理による主観品質への影響度に関する重みを、利用する劣化隠蔽処理によって切り替え、その結果を劣化隠蔽処理情報13aとして劣化代表値導出機能部F14に出力する。
【0019】
単一フレームの劣化代表値導出機能部F14は、各機能部F11、F12,F13からの出力である劣化情報11a,劣化量情報12a,劣化隠蔽処理情報13aに基づいて、単一フレームに存在する劣化した全てのマクロブロックの影響を加味した劣化の強さの代表値を導出して、フレーム劣化代表値14aとして全フレームの劣化代表値導出機能部F15に出力する。
【0020】
全フレームの劣化代表値導出機能部F15は、単一フレームの劣化代表値導出機能部F14からの出力であるフレーム劣化代表値14aに基づいて、評価対象映像中に存在する全てのフレームの劣化の強さの代表値を導出し、評価対象映像全体の劣化の強さとしてまとめ、そのまとめた値を代表値として導出して全フレーム劣化代表値15aとして主観品質推定機能部F17に出力する。
【0021】
符号化劣化に対する主観品質推定機能部F16は、符号化による映像の劣化のみを加味した主観品質を導出して符号化主観品質16aとして主観品質推定機能部F17に出力する。この場合、主観品質推定機能部F16は、符号化処理により劣化した主観品質を主観品質の最大値とする。主観品質推定機能部F17は、全フレームの劣化代表値導出機能部F15からの全フレーム劣化代表値15aと、符号化劣化に対する主観品質推定機能部F16からの符号化主観品質16aに基づいて、符号化とビット列の損失による映像の劣化を加味した主観品質を導出する。
【0022】
なお、各機能部F11,F12,F13,F14,F15,F16,F17には、各機能部でそれぞれ利用する評価式の係数のデータベースD11,D12,D13,D14,D15,D16,D17が前述したようにそれぞれ付属している。各データベースD11〜D17には、評価式の最適化を行うための評価対象映像の符号化方式や解像度やフレームレート毎に異なる係数が格納されている。これらの係数は、予め実施された主観品質評価実験の結果に基づいて、各評価式で回帰分析を実施することで決定しても良いし、任意の値を利用しても良い。
【0023】
次に、図1に示すブロック図と図2に示すフローチャートを中心とし他の図も参照しながら、本映像品質客観評価装置を構成する各機能部の詳細な動作を説明する。なお、以下で示す画素信号やDCT係数は全て輝度に関するものとする。ただし、色差信号について同様の処理を適用することもできる。
【0024】
劣化発生領域(位置、数)特定機能部F11では、映像の符号化ビット列を入力として、まずH.264方式の可変長符号を復号する必要がある。これを行うためには、参考文献1(ITU-T H.264, “Advanced video coding for generic audiovisual services,”Feb. 2000.)に準拠するH.264復号器を利用する。そして、復号後には、H.264符号化の制御情報を含むSPS(Sequence Parameter Set)やPPS(Picture Parameter Set)等のシンタックス情報に加えて、動き補償やDCT変換符号化で用いられる動きベクトルやDCT係数等の符号化情報が、マクロブロックもしくはサブマクロブロック毎に取得できる。具体的には参考文献1に記載されている仕様に従う。
【0025】
符号化されたビット列に損失が発生した場合には機能部F11で正常に復号できなくなるため、マクロブロックやサブマクロブロックで画素信号を計算するための動きベクトルやDCT係数等の情報、また符号化制御情報が正常に取得できなくなる。映像品質客観評価装置の記憶領域にマクロブロック単位の復号の成功と失敗を集計するためのフラグを用意し、符号化ビット列を走査して復号するために十分なデータが存在しないマクロブロックやサブマクロブロックについてはフラグを立てると、図3に示すような復号成否状況を得ることができる。
【0026】
図3に示すような復号成否状況により、復号を失敗して劣化したマクロブロックやサブマクロブロックの位置と数を検出できる。また、SPSやPPSなどの符号化制御情報に損失が起きている場合は、SPSについては対応するシーケンス(評価対象映像全体)の全てのマクロブロックが損失、PPSについては対応するピクチャ(フレームもしくはフィールド)の全てのマクロブロックが損失したとみなす。図中のマクロブロックの数とスライスの形状は一例である。
【0027】
更に、H.264方式の動き推定機能を使って、復号を失敗したマクロブロックやサブマクロブロックが他のマクロブロックやサブマクロブロックから参照されている場合、参照元のマクロブロックやサブマクロブロックにもそのIPB属性に応じて劣化が生じる。IPBの属性については上記参考文献1に記載されている。参照先のマクロブロックやサブマクロブロックの復号に失敗している場合、参照元のマクロブロックがPフレームの場合は予め係数データベースD11に格納されている劣化重みε=a1、Bフレームの場合は劣化重みε=a2を選択する。これに加えてIフレームではフレーム内予測がH.264では用いられるため、同様に参照先のマクロブロックやサブマクロブロックの復号が失敗している場合、劣化重みε=a3を選択し、予測を使わない場合は劣化重みε=a4を選択する。これらの処理により、評価対象映像中で欠損が生じたマクロブロックやサブマクロブロックの特定が可能となる。
【0028】
この段階で、サブマクロブロック単位で損失が発生している場合は、そのサブマクロブロックを包含するマクロブロック単位で損失が発生しているとみなす。復号を失敗して劣化したマクロブロックの位置と数に加えて、映像の符号化ビット列、重みεを劣化情報11a,11bとして劣化代表値導出機能部F14と、重み判定機能部F12とに出力する。
【0029】
劣化発生領域の重み判定機能部F12については、劣化情報11bを入力情報として、以下に示す劣化発生領域を表す重みパラメータを出力する。まず絵柄の複雑さによる、劣化したマクロブロックの主観品質への影響度の変化を測定する機能から説明する。
第一に部分的な画素信号の取得が可能である場合について示す。画素信号は、H.264符号化の制御情報に加えて、動き補償やDCT変換符号化で用いられる動きベクトルやDCT係数を上記の参考文献1で示されるアルゴリズムに適用して取得できる。
【0030】
具体的には損失したマクロブロックの上下左右のマクロブロックのみ画素信号の取得をし、これは上記参考文献1に従って行う。絵柄の複雑さの代表的な指標の一つとしてSobelフィルタを利用したエッジの大きさと方向が挙げられる。ここでは劣化したマクロブロックにおけるエッジの有無が主観品質を変動させると考え、劣化したマクロブロックに隣接するマクロブロックから、劣化したマクロブロックに対してエッジが連続的に存在するかどうか推定する。
【0031】
具体的には図4と図5を用いて説明する。まず図4では劣化したマクロブロックと隣接する4つのマクロブロックを示している。各隣接マクロブロックには、劣化したマクロブロックとの境界に1列の画素が並んでおり、その更に1列奥の画素列(劣化したマクロブロックと隣接マクロブロックの境界から数えて2列目の隣接マクロブロック内の画素列)をSobelフィルタによるエッジ導出に用いる。Sobelフィルタを利用するとエッジは大きさと方向を持つ量、つまりベクトル量として導出されるため、各隣接マクロブロックのエッジ導出対象画素列で求めたエッジを以下のように定義する。
【0032】
【数1】
【0033】
ただし、iは隣接マクロブロックの識別子(図4のマクロブロック1〜マクロブロック4に相当)、jは劣化したマクロブロックと隣接マクロブロックの境界に存在する画素数、ここでmはSobelフィルタによるエッジ導出対象画素列に存在する画素数を表す。これより各隣接マクロブロックにおいて、Sobelフィルタによるエッジ導出対象画素列で導出したエッジの代表値
【0034】
【数2】
【0035】
を以下のように導出する。
【0036】
【数3】
【0037】
ただし、演算子
【0038】
【数4】
【0039】
は、自然数A1〜Amを参照して最大となる値を出力し、θは図5に示すように劣化したマクロブロックと隣接マクロブロックの境界面に対するベクトルE{i}jの角度である。ここでは、演算子maxを使って大きさが最大となるベクトルを出力するように設定したが、代わりに任意の統計量、例えば最小値や平均値や分散などを使用しても良い。
更に各隣接マクロブロックで導出したベクトルE{i}の代表値(即ち、ベクトルE)を以下のように導出する。
【0040】
【数5】
【0041】
ここで、μはデータベースD12に格納されている係数である。ここでは演算子maxを使って大きさが最大となるベクトルを出力するように設定したが、代わりに任意の統計量、例えば最小値や平均値や分散などを使用しても良い。ただし、隣接マクロブロックが劣化している、もしくは存在しない場合には、その隣接マクロブロックは代表値(即ち、ベクトルE)の導出に利用しない。また全ての隣接するマクロブロックでベクトルE{i}が導出できない場合は、ベクトルEの絶対値をデータベース12に格納されている任意の定数(例えば0)とする。これにより単一フレーム内に存在する全ての劣化したマクロブロックについて、絵柄の複雑さによる、劣化したマクロブロックの主観品質へ与える影響を測定できる。
【0042】
絵柄の複雑さによる、劣化したマクロブロックの主観品質への影響度の変化を測定する機能について、第二に符号化された映像のビット列情報のみが利用できる場合を示す。第一の場合と同様に、劣化したマクロブロックにおけるエッジの有無が主観品質を変動させると考え、劣化したマクロブロックに隣接するマクロブロックから、劣化したマクロブロックに対してエッジが連続的に存在するかどうか推定する。具体的には図6、図7、図8を用いて説明する。
【0043】
図6では劣化したマクロブロックと隣接する4つのマクロブロックを示している。図4と類似しているが、図4では各マクロブロックは画素情報で構成されていたのに対し、図6ではDCT係数で構成されている。図6の各隣接マクロブロックがIスライスやIフレームの一部であれば以下に記載の処理をそのまま実行するが、隣接マクロブロックの中にP属性またはB属性のマクロブロックが存在している場合は、フレーム内の空間的な位置は全く同じで、最も時系列で近い位置にあるI属性のマクロブロックを代替として用いてもよいし、代替せずそのまま処理を続行しても良い。
【0044】
各マクロブロックのDCT係数の例は具体的には図7のように配置されている。ここで、x軸が水平方向周波数を表し、y軸が垂直方向周波数を表し、z軸にDCT係数が表わされている。なお図7は8×8画素のブロックに対してDCT変換を適用した場合を示しており、4×4画素のブロックに対してDCT変換を適用した場合は、水平方向周波数、垂直方向周波数ともに、1以上4以下の整数値が変動範囲となる。また16×16画素のブロックに対してDCT変換を適用した場合は、水平方向周波数、垂直方向周波数ともに、1以上16以下の整数値が変動範囲となる。つまりn×n画素(nは1以上の整数値)のブロックに対してDCT変換を適用した場合は、水平方向周波数、垂直方向周波数ともに、1以上n以下の整数値が変動範囲となる。
【0045】
図8に、図7のx軸である水平方向周波数、y軸である垂直方向周波数を表示した図を示す。図8では、x軸とy軸が同等の値になる対角線A上のDCT係数群の上方に存在するDCT係数群をグループ1、下方に存在するDCT係数群をグループ2とする。グループ1は垂直方向周波数が水平方向周波数より高くなる領域、つまり横方向のエッジが縦方向のエッジよりも強めとなる領域であり、グループ2は水平方向周波数が垂直方向周波数より高くなる領域、つまり縦方向のエッジが横方向のエッジよりも強めとなる領域である。
【0046】
図8の座標を(水平方向周波数、垂直方向周波数)として、座標(p,q)のDCT係数をDpqとし、以下の計算式で縦方向のエッジEV(即ち、ベクトルEV)の強さ
【0047】
【数6】
【0048】
と、横方向のエッジEh(即ち、ベクトルEh)の強さであるベクトルEhの絶対値を計算する。ただし式中のnは、エッジ導出対象のマクロブロックがn×nであることを示している。
【0049】
【数7】
【0050】
このエッジの強さの導出処理を使って、図6の隣接マクロブロック1と隣接マクロブロック3ではベクトルEνの絶対値導出を行い、隣接マクロブロック2と隣接マクロブロック4ではベクトルEhの絶対値導出を行う。これらのエッジの強さを各隣接マクロブロックのエッジの強さの代表値ベクトルE{i}とし、iは隣接マクロブロックの識別子(1≦i≦4)とする。更に各隣接マクロブロックで導出したベクトルE{i}の代表値ベクトルEを以下のように導出する。
【0051】
【数8】
【0052】
ここで、μはデータベースD12に格納されている係数である。ここでは演算子maxを使って大きさが最大となるベクトルを出力するように設定したが、代わりに任意の統計量、例えば最小値や平均値や分散などを使用しても良い。ただし、隣接マクロブロックが劣化している、もしくは存在しない場合には、その隣接マクロブロックはベクトルEの導出に利用しない。また全ての隣接するマクロブロックでベクトルE{i}が導出できない場合は、ベクトルEの絶対値をデータベースD12に格納されている任意の定数(例えば0)とする。これにより単一フレーム内に存在する全ての劣化したマクロブロックについて、絵柄の複雑さが劣化したマクロブロックの主観品質へ与える影響の大きさを測定できる。
【0053】
劣化発生領域の重み判定機能部F12について、次に劣化が発生したマクロブロックの周辺に存在するマクロブロックの動きの大きさが、主観品質へ与える影響を測定する機能を説明する。動きの大きさによる主観品質への影響は動きベクトルの代表値に基づいて判定し、動きベクトルの代表値の導出方法については、図9、図10、図11、図12を用いて説明する。
【0054】
まずフレーム全体の動きベクトルの代表値の導出方法を示す。図9に示すように、H.264方式では動きベクトルの導出に用いる参照フレームを、前方、後方に限らず、マクロブロック・サブマクロブロック単位で任意の2つ選ぶことが可能である。これは原理的にはMPEG2やMPEG4の双方向フレームに応用可能である。そこでマクロブロック・サブマクロブロック毎に設定される動きベクトルの大きさを各ブロックについて比較可能とするために正規化を行い、動きベクトルの導出対象フレームの前方、後方1フレームに各マクロブロック・サブマクロブロックの動きベクトルを射影する。具体的な処理を図10、図11で説明する。
【0055】
図10は、動きベクトルの導出対象フレームs中のt番目のブロックMBstの参照フレームが、フレームsの(r+1)フレーム後方にある場合を示している。図10のように動きベクトルの導出対象フレームsから参照フレーム上に動きベクトル
【0056】
【数9】
【0057】
が存在しており(ベクトルMVstと表記)、以下のようにしてベクトルMVstを、動きベクトルの導出対象フレームsから1フレーム後方のフレーム上に存在するベクトルMV’stに射影する。
【0058】
【数10】
【0059】
また図11は、動きベクトルの導出対象フレームs中のt番目のブロックMBstの参照フレームが、フレームsの(r+1)フレーム前方にある場合を示している。図11のように動きベクトルの導出対象フレームsから参照フレーム上に動きベクトルMVstが存在しており、以下のようにしてベクトルMVstを動きベクトルの導出対象フレームsから1フレーム前方へのベクトルMV’stに射影する。
【0060】
【数11】
【0061】
以上の処理により、動きベクトルの導出対象フレームsの全てのマクロブロック・サブマクロブロックt(1≦t≦x)毎に設定される動きベクトルを、s±1フレーム上のベクトルへ射影することが可能となる。ただし、xはフレームs内のブロック数である。なお、動きベクトルの導出対象フレームsの参照フレームが2フレームある場合は,両方の参照フレームについて上記処理により射影した動きベクトルを導出し、その平均ベクトルを動きベクトルの導出対象フレームsの各ブロックのMV’stとする。
以上で導出した動きベクトルの導出対象フレームs上のベクトルMV’stを用いて、以下の式で動きベクトルの導出対象フレームsの統計量であるベクトルの大きさの平均を導出する。ただし平均以外にも最大値や最小値や標準偏差や分散等の各種統計量を代替として用いることが可能である。また下式中の
【0062】
【数12】
【0063】
はベクトルの大きさを表すものとする。
【0064】
【数13】
【0065】
ただし、演算子
【0066】
【数14】
【0067】
は自然数A1〜Amを参照して平均となる値を出力する。
また図12に示すように、劣化したマクロブロックを囲む24個のマクロブロックについて、フレーム全体の動きベクトル統計量を導出した場合と同様の処理を行い、24個のマクロブロックの動きベクトルの代表値
【0068】
【数15】
【0069】
を各劣化マクロブロック毎に導出する。ただし、フレームsで劣化したマクロブロックの数をTとする。
このようにして求めたMVave(s)とベクトルMVave(t)とを利用して、損失が発生したマクロブロックの周辺に存在するマクロブロック群の動きの大きさが劣化したマクロブロックの主観品質へ与える影響度を表す重みを以下の式で導出する。
【0070】
【数16】
【0071】
ただし、α、βはデータベースD12に格納されている係数である。また、式内のaveによる平均演算は、最大値・最小値・その他の統計量に置き換えが可能である。
以上の処理は損失したマクロブロックがP属性またはB属性の場合に適用され、I属性の場合には、MweightはデータベースD12に格納されている任意の定数とする(例えば1)。また、計算に必要となるマクロブロックやサブマクロブロックが劣化している場合は、それらの存在は無視し、存在するマクロブロックやサブマクロブロックから上記統計量を導出する。
【0072】
また劣化発生領域の重み判定機能部F12について、次に劣化が発生したマクロブロックの周辺に存在するマクロブロックの動きの向きによる、主観品質への影響を測定する機能を説明する。動きの向きによる主観品質への影響度合いは動きベクトルの代表値に基づいて判定し、動きベクトルの代表値の導出方法については、図13を用いて説明する。
【0073】
まず評価対象映像中に存在する全てのマクロブロックを参照し、動きベクトルが設定されているマクロブロックについては、図13に基づいて、領域1〜領域8までのどの領域に存在するか判定を行う。例として動きベクトル0を示しているが、動きベクトル0は領域2に存在していることを示している。評価対象映像フレームに存在する全マクロブロックについて同様の処理を適用し、各領域に存在する動きベクトルの数をカウントし、各領域の動きベクトルの総数MVNNUM(1≦NUM≦8)を導出する。ただしNUMは領域の識別子である。こうして導出したMVNNUMについて、各MVNNUMの標本分散σMVNを導出する。こうして求めたσMVNをマクロブロックの動きの向きが劣化したマクロブロックの主観品質へ与える影響度合を表す重みとする。
【0074】
劣化発生領域の重み判定機能部F12について、次に劣化したマクロブロックの発生位置が劣化したマクロブロックの主観品質へ与える影響度を導出する。詳細を図14に示す。図14に示す通り、縦横の長さ50%となる中心の領域を注目領域と設定し、劣化したマクロブロックが注目領域上である場合、劣化したマクロブロックの発生位置が劣化したマクロブロックの主観品質へ与える影響度を表す重みCをC=c1とし、劣化したマクロブロックが注目領域上ではない場合はC=c2とする。ただし、c1,c2はデータベースD12に格納されている定数である。劣化したマクロブロックの発生位置が劣化したマクロブロックの主観品質へ与える影響度を表す重みCは、評価対象映像のマクロブロック毎に計算される。
【0075】
また劣化発生領域の重み判定機能部F12では、劣化の局所性が主観品質に及ぼす影響についても導出を行う。マクロブロックの座標系は図15に示すように、左下を原点として右方向にX座標、上方向にY座標を取り、各マクロブロックの座標を(X,Y)と表記する。次に損失が発生したマクロブロック群のX座標、Y座標の標本分散値を導出し、以下の式で劣化の局所性が主観品質に及ぼす影響を計算する。
L=fL(σx,σy)
ただし、ここでは、fL(σx,σy)=σx×σyとするが、乗算以外の任意の演算を行っても良い。劣化の局所性Lは評価対象映像のフレーム毎に計算される。このようにして劣化発生領域の重み判定機能部F12で導出した各ブロックにおける、ベクトルE、Mweight、σMVN、C、Lを劣化量情報12aとして単一フレームの劣化代表値導出機能部F14へ出力する。
【0076】
次に劣化隠蔽処理特定機能部F13の詳細を説明する。データベースD13に格納されている劣化隠蔽に関する情報を入力として、劣化隠蔽処理による主観品質の向上を表すパラメータを出力する。まず劣化隠蔽処理が主観品質へ及ぼす影響を、主観品質評価実験の結果に従って判断する場合を説明する。具体的には表1と表2を使って説明する。
【0077】
【表1】
【0078】
【表2】
【0079】
まず表1に示すように、評価対象とする劣化隠蔽処理の各方式と劣化隠蔽処理を適用しない場合について、シーンの種類とビット列の損失パターンを変えた場合に適用し、それぞれの場合について主観品質を取得する。ただし主観品質評価尺度として、劣化映像の主観品質を絶対値として評価する絶対尺度を用いる。表1では主観品質の例としてMean Opinion Score(MOS)を用いており、MOSefgは、シーンe(1≦e≦S)、損失パターンf(1≦f≦M)、劣化隠蔽方式g(0≦g≦N)を適用した場合のMOSとなる。ただしg=0の場合は、劣化隠蔽を行わない場合を示している。
【0080】
このようにして取得した主観品質を表2に示すように、各条件で取得したMOSについて、劣化隠蔽特性を適用しなかった場合のMOSに対する割合Wefgを算出する。Wefgは、シーンe(1≦e≦S)、データ損失パターンf(1≦f≦M)、劣化隠蔽方式g(0≦g≦N)を適用した場合の劣化隠蔽方式gの主観品質改善作用を表す。各劣化隠蔽方式について、各シーン・データ損失パターンに対する主観品質改善作用の平均化を行う。具体的には以下の式のようになる。
【0081】
【数17】
【0082】
この値を各劣化隠蔽方式に対する主観品質の改善作用の代表値とする。主観品質評価尺度には原映像の品質からの差分で表す劣化尺度(DMOS等)も存在するが、表3と表4に示すように、絶対尺度の場合と同様に導出する。
【0083】
【表3】
【0084】
【表4】
【0085】
ただしこの場合は、各劣化隠蔽方式に対する主観品質の改善作用の代表値は以下のように導出する。利用する品質評価尺度の種類に従ってWgの選択を行えば良い。
【0086】
【数18】
【0087】
以上で利用した各係数はデータベースD13に格納されている係数である。
また劣化隠蔽処理特定機能部F13では主観品質評価実験の結果に従って構築されたデータベースを用いる以外に、符号化された映像のビットストリームや画素信号として復号された情報を用いて、評価対象映像毎に動的に劣化隠蔽処理が主観品質に及ぼす影響を推定する方法を用いても良い。
【0088】
具体的には、劣化隠蔽処理の効果と周囲のエッジ量には相関関係があることが知られていることから、上記劣化発生領域の重み判定機能部F12における絵柄の複雑さが劣化したマクロブロックの主観品質への影響度を測定する機能の第一もしくは第二の場合において導出したベクトルEを用いて劣化隠蔽特性の重みWを以下の式で導出する。
【0089】
【数19】
【0090】
ただし、ωはデータベースD13またはD12に格納されている係数で、Wは各マクロブロック毎に導出される。この場合のみWを劣化発生領域の重み判定機能部F12で計算して、劣化量情報12aとして単一フレームの劣化代表値導出機能部F14に出力しても良い。
このようにして劣化隠蔽処理特定機能部F13で導出した各マクロブロックにおけるWgもしくはWを劣化隠蔽処理情報13aとして単一フレームの劣化代表値導出機能部F14に出力する。
【0091】
次に、単一フレームの劣化代表値導出機能部F14の詳細を説明する。単一フレームの劣化代表値導出機能部F14では、劣化発生領域(位置、数)特定機能部F11、劣化発生領域の重み判定機能部F12、劣化隠蔽処理特定機能部F13の出力11a,12a,13aを入力として、あるフレーム内に存在する劣化した全てのマクロブロックの影響を加味した劣化代表値と劣化の局所性をフレーム劣化代表値14aとして出力する。具体的には重み関数を用いて以下の式で導出される。
【0092】
【数20】
【0093】
ここで、τはデータベースD14に格納されている係数である。ただし、εは劣化発生領域(位置、数)特定機能部F11が導出する、参照先のブロックがP属性かB属性かI属性かで決定される重みである。
【0094】
【数21】
【0095】
は、劣化発生領域の重み判定機能部F12が導出する劣化したマクロブロックiにおけるエッジが主観品質に及ぼす影響ベクトルEで、Mweight(i)は劣化発生領域の重み判定機能部F12が導出する劣化したマクロブロックiにおける動きの大きさが主観品質に与える影響Mweightで、σMVNは劣化発生領域の重み判定機能部F12が導出する動きの向きが主観品質に与える影響で、Ciは劣化発生領域の重み判定機能部F12が導出する劣化したマクロブロックiの位置が主観品質に与える影響Cで、Wgは劣化隠蔽処理特定機能部F13で導出する劣化隠蔽方式kの主観品質の改善効果を表し、Wgの代わりに数式19より、
【0096】
【数22】
【0097】
を用いることも可能である。ただし、xはフレーム内に存在する劣化したマクロブロックの総数である。重み関数WF1(w)は任意の関数を取ることが可能であるが、ここでは例として以下の関数を利用する。
WF1(w)=u1*log(w−u2)+u3
ただし、u1,u2,u3はデータベースD14に格納されている係数である。
【0098】
また単一フレームの劣化代表値導出機能部F14では、オプションとして劣化発生領域(位置、数)特定機能部F11、劣化発生領域の重み判定機能部F12、劣化隠蔽処理特定機能部F13の出力11a,12a,13aに基づいて或るスライス内に存在する劣化した全てのマクロブロックの影響を加味した劣化代表値DSを導出する機能がある。具体的には重み関数WF1(w)を用いて以下の式で導出される。
【0099】
【数23】
【0100】
ただし、SNは劣化したスライス内に存在する劣化したマクロブロックの総数であり、Wgの代わりに
【0101】
【数24】
【0102】
を用いることも可能である。そして、フレーム劣化代表値14aを全フレームの劣化代表値導出機能部F15に出力する。
【0103】
次に全フレームの劣化代表値導出機能部F15の詳細を説明する。全フレームの劣化代表値導出機能部F15では、単一フレームの劣化代表値導出機能部F14から出力された評価対象映像中に存在する全てのフレームの劣化代表値と劣化の局所性を入力として、評価対象映像の劣化代表値Dを全フレーム劣化代表値15aとして出力する。劣化代表値Dは重み関数WF2(w)を用いて以下の式で導出される。
【0104】
【数25】
【0105】
ここで、Lfは劣化発生領域の重み判定機能部F12で導出される、フレームfにおける劣化の局所性が主観品質に与える影響である。重み関数WF2(w)は任意の関数を取ることが可能であるが、ここでは例として以下の関数を利用する。
WF2(w)=h1*log(w−h2)+h3
ただし、h1,h2,h3はデータベースD15に格納されている係数であり、Fは評価対象映像中に存在する全フレーム数である。またDfの代わりにDSを用いても良く、その際は以下の式で評価対象映像の劣化代表値Dを導出する。
【0106】
【数26】
【0107】
ただし、ASNは評価対象映像中に存在する全スライス数である。そして、全フレーム劣化代表値15aを主観品質推定機能部F17に出力する。
【0108】
次に符号化劣化に対する主観品質推定機能部F16の詳細を説明する。符号化劣化に対する主観品質推定機能部F16は、符号化による映像の劣化のみを加味した主観品質Ecodedを導出する機能であり、本機能部F16では符号化主観品質16aとして任意の従来法の出力を利用可能である。EcodedをデータベースD16に格納しておいて符号化主観品質16aとして出力しても良い。
【0109】
次に全フレームの劣化代表値導出機能部F15と符号化劣化に対する主観品質推定機能部F16の出力を入力として、符号化とパケット損失による映像の劣化を加味した主観品質Eallを出力する主観品質推定機能部F17の詳細を説明する。主観品質推定機能部F17は、関数ev(x,y)を用いて以下の式で主観品質Eallを導出する。
【0110】
Eall=ev(Ecoded,D)
関数ev(v1,v2)は任意の関数を取ることが可能であるが、ここでは例として以下の関数を利用する。
ev(v1,v2)=l1(v1/v2)+l2
ただし、l1,l2はデータベースD17に格納されている係数である。
【0111】
以上により、符号化ビット列に欠損が発生した場合に、精度良く効率的に映像の主観品質を導出することが可能となる。
【0112】
(実施の形態2)
本実施の形態は、劣化隠蔽処理の影響を表すパラメータWgの導出方法以外は、実施の形態1と同様の処理を行う。Wgは、空間方向の劣化隠蔽処理の影響を表すWgSと時間方向の劣化隠蔽処理の影響を表すWgTを用いて以下の式で導出する。
【0113】
Wg=ω1×WgS×WgT+ω2×WgS+ω3×WgT
ただし、ω1,ω2,ω3はデータベースD13に格納してある係数である。
【0114】
空間方向の劣化隠蔽処理の影響を表すWgSの導出方法を図17を用いて説明する。
WgSを導出する際には、まず図17において、単一フレーム内の劣化領域と縦横ななめで隣接する周囲マクロブロック(図17ではマクロブロック13,14,15,23,25,26,33,36,43,44,45,46)に注目する。次に周囲マクロブロック各々について、全ての隣接する周囲マクロブロックとの類似度を計算する。本実施の形態では類似度として、2つのマクロブロックの全画素の輝度情報の平均二乗誤差を用いる。ただし類似度導出はこの方法のみでなく、公知の全ての類似度導出アルゴリズムを用いることができる。本実施の形態では、具体的にマクロブロック1とマクロブロック2が存在する場合に、類似度を以下の式で導出する。
【0115】
【数27】
【0116】
ただし、P1iとP2iは、マクロブロック1とマクロブロック2で空間的に同一位置の画素である。
【0117】
次に周囲マクロブロック各々について、全ての隣接する周囲マクロブロックとの類似度を導出する(例えば図17の周囲マクロブロック14については、隣接する周囲マクロブロック13と15の両方と類似度の導出を行う)。周囲マクロブロック各々について、全ての隣接する周囲マクロブロックとの間で導出された類似度を平均し、その値を周囲マクロブロックの類似度代表値とし、全ての周囲マクロブロックの類似度代表値を平均して単一フレームの類似度Sframeとする。またそのフレーム内で劣化したマクロブロックの数をNframeとし、WgSを以下の式で導出する。
【0118】
【数28】
【0119】
ただし、ω4,ω5,ω6,ω7,ω8はデータベースD13に格納してある係数である。
【0120】
次に、時間方向の劣化隠蔽処理の影響を表すWgTの導出方法についても図17を用いて説明する。WgTを導出する際には、まず図17で単一フレームi(iは時系列でi番目のフレーム)内の劣化領域(マクロブロック24,34,35)と縦横ななめで隣接する周囲マクロブロック(図17ではマクロブロック13,14,15,23,25,26,33,36,43,44,45,46)に注目する。同時に時系列でフレームiと前後するフレームi−1とフレームi+1に注目する。まず図18で示すように、フレームiの周囲マクロブロック各々について動きベクトルの大きさと向きを検出し、同時にフレームi−1とフレームi+1について、フレームiの周囲マクロブロックの位置と空間的に同一位置の動きベクトルの向きと大きさを検出する。これは参考文献1に従って行う。
【0121】
更にフレームi−1とフレームi+1の動きベクトルについて、フレームiの周囲マクロブロックの動きベクトルの内積を計算し、例えば図17中の周囲マクロブロック14についてであれば、それぞれIP14iとIP14(i+1)を導出する。そしてIP14iとIP14(i+1)を平均した値としてAIP14iを導出する。ただし、内積を計算する際の各ベクトルの大きさは一律に1としても良い。同様にしてフレームi内の全ての周囲マクロブロックについてAIPΔi(Δは周囲マクロブロック番号)を計算し、全ての周囲マクロブロックのAIPΔiを平均した値を、フレームiの時間方向の劣化隠蔽処理の影響を表すWgT=AIPiとする。ただしフレームi−1とフレームi+1について、フレームiの周囲マクロブロックと空間的に対応するマクロブロックに動きベクトルが設定されていない場合や損失で失われている場合は、そのマクロブロックの動きベクトルは0ベクトルとしてWgTを計算する。また本実施の形態では劣化が起きた前後のフレームから内積計算用の動きベクトルを算出したが、任意の2フレームから内積計算用の動きベクトルを算出しても良い。
なお、WgSやWgTは劣化が起きたフレーム毎に再計算される値である。
【符号の説明】
【0122】
1…映像品質客観評価装置、2…受信部、3…演算部、4…記憶媒体、5…出力部、6…H.264符号化装置、F11…劣化発生領域(位置、数)特定機能部、F12…劣化発生領域の重み判定機能部、F13…劣化隠蔽処理特定機能部、F14…単一フレームの劣化代表値導出機能部、F15…全フレームの劣化代表値導出機能部、F16…符号化劣化に対する主観品質推定機能部、F17…主観品質推定機能部、D11〜D17…データベース。
【技術分野】
【0001】
本発明は、映像データの損失による映像品質の劣化を対象とした映像品質客観評価技術に関し、特に人間が映像を見て体感した品質(主観品質)を評価する場合に、多数の被験者が特殊な実験設備内で、実際に映像を視聴して品質を評価する主観品質評価実験を行うことなく、ユーザが視聴する映像の符号化ビット列情報から客観的に主観品質を導出する映像品質客観評価方法、映像品質客観評価装置、及びプログラムに関する。
【背景技術】
【0002】
従来、符号化された映像のビット列を保存もしくは伝送する際に、ビット列に欠損が発生した場合、映像符号化やIP通信のパラメータ情報を用いて客観的に映像品質評価を行う技術(非特許文献1および非特許文献2参照)や、符号化された映像のビット列を画素信号まで復号し、画素情報を基に客観的に映像品質評価を行う技術(非特許文献3参照)が検討されてきた。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】増田征貴,富永聡子,林孝典,“無効フレーム率を用いたインサービス映像品質管理法",信学技報,CQ2005-59,pp.55-60,Sept. 2005.
【非特許文献2】ITU-T G.1070,“Opinion model for video-telephony applications,” Apr. 2007.
【非特許文献3】ITU-T J.144,“Objective perceptual video quality measurement techniques for digital cable television in the presence of a full reference,”Feb. 2000.
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1や非特許文献2に記載の技術では、評価者が想定する数シーンの平均的な主観品質の推定を行う。しかし実際の映像ではシーン毎にビット列の構成が大きく異なるため、ビット列に損失が発生した場合には、映像のシーンの違いにより主観品質が大きく変動する。従って非特許文献1や非特許文献2の技術では映像シーンの違いを考慮することが難しく良好な推定精度の実現には問題がある。更にIP通信のパラメータ情報を使って主観品質の推定を行う場合、IP通信以外のプロトコルを利用すると、主観品質の推定が不可能となる。
また、非特許文献3では、符号化された映像のビット列を復号した映像の画素情報を用いて主観品質の推定を試みているが、画素情報への復号には莫大な計算量を要するためリアルタイムに主観品質を推定するには非常に多くの演算量を必要とし、したがって1台当たりの製造コストが高騰することから、低コストが要求されるユーザの映像再生端末(セットトップボックス)等への実装が難しくなる。
【課題を解決するための手段】
【0005】
このような課題を解決するために本発明は、現在主流である動き補償フレーム間予測とDCT変換を用いる符号化方式、特にH.264方式のビット列に損失が発生した場合に、ビット列のみ、もしくはこれを部分的にデコードした画素情報を解析して、ビット列をデコードして得られる映像内における劣化発生領域を検出する領域を検出するステップと、それらの劣化領域が人間に与える影響を重み係数として導出するステップと、映像をデコードする際にデコーダが映像内の劣化を検知しにくくする劣化隠蔽処理による効果を推定するステップと、劣化が発生するフレーム/スライス/動きベクトルのIPB属性を検出するステップと、これらの情報を総合して映像内の単一フレームにおける劣化の強さを表す値を導出するステップと、単一フレームにおける劣化の強さを,全てのフレームについて導出して,それらを統合してビット列の損失による全フレームの劣化の代表値を導出するステップと,符号化劣化に対する主観品質を推定するステップと、符号化劣化に対する主観品質とビット列の損失による全フレームの劣化の代表値を合わせて総合的な主観品質を推定するステップを備える符号化された映像のビット列に損失が生じた場合の主観品質を推定するものである。
すなわち、本発明は、視聴者が映像を見た時に体感する映像の品質を表す主観品質の推定を行う映像品質客観評価方法であって、動き補償とDCT変換を利用して符号化された映像のビット列に損失が生じた場合に、損失したビット列と残ったビット列を用いてシーンの違いが主観品質に及ぼす影響を考慮し、かつデコードを必要とせずに主観品質を推定することを特徴とする。
【0006】
ここで、ビット列の損失が発生した場合に、失われたビット列で保存されていたフレーム(またはスライスまたはマクロブロックまたはサブマクロブロック)の空間もしくは時系列の位置情報を用いて主観品質を推定する 。
また、動き補償機能において他のフレーム(またはスライスまたはマクロブロックまたはサブマクロブロック)から参照される参照先フレーム(またはスライスまたはマクロブロックまたはサブマクロブロック)のビット列に損失が生じている場合は、参照先のフレーム(またはスライスまたはマクロブロックまたはサブマクロブロック)のビット列の損失により参照元のフレーム(またはスライスまたはマクロブロックまたはサブマクロブロック)に与えられる損失に基づいて主観品質を推定する。
【0007】
また、符号化処理により劣化した主観品質を、ビット列の損失が発生した場合の主観品質の最大値とする。
また、単一のフレーム内で生じた劣化の代表値として、ビット列の損失が起きたブロックの数を重み付きで加算した値を映像品質の客観評価に用いる。
この場合、単一フレーム内で生じた劣化の代表値を、映像を構成する全てのフレームで導出して、それらを重み付きで加算した値を映像品質の客観評価に用いる。
ここで、映像品質の客観評価に用いる重みを、動きベクトルデータの統計量または映像の再生端末が行う劣化隠蔽処理または劣化が発生した位置またはDCT係数の統計量または局所的な画素情報、またはそれらの組み合わせに応じて決定する。
【0008】
なお、動きベクトルデータの統計量としては、フレーム内のすべてまたは一部のマクロブロックの動きベクトルの大きさまたは向きに関する統計量を使用する。
また、DCT係数の統計量として、フレーム内のすべてまたは一部のマクロブロックのDCT係数の統計量を使用する。
また、各種の劣化隠蔽処理による主観品質の改善量を予め主観品質評価実験を行うことにより測定してデータベース化し、映像品質の客観評価時には前記データベースを参照して、各劣化隠蔽処理に対してチューニングを行った主観品質を導出する。
また、符号化された映像のビット列もしくは局所的な画素信号として復号された情報を用いて、劣化隠蔽処理による主観品質の改善量を推定する。
また、局所的な画素情報として、損失したビット列中に含まれるマクロブロックに隣接するマクロブロックの画素情報を用いる。
【0009】
また、本発明は、ビット列の損失が発生した際に、失われたビット列で保存されていた情報が符号化の制御情報である場合は、その符号化制御情報が主観品質に与える影響の度合いに応じて主観品質を推定する。
また、映像品質の客観評価を行う時に符号化方式またはフレームレートまたは映像解像度に応じて評価式の最適化を行う。
【0010】
このように、現在主流である動き補償フレーム間予測とDCT変換による符号化方式を用いた映像のビット列の内部は、主に動きベクトルやDCT係数、また符号化の制御情報(例えば量子化をコントロールする量子化係数/パラメータ等)から構成され、これらの情報は映像のシーン毎にその内容が大きく異なるため、これらの情報を利用することにより映像シーンの違いを考慮した主観品質の評価が可能になる。更にビット列に埋め込まれた情報をそのまま利用し、画素情報を利用しない場合には、取得に莫大な計算量を要する画素情報を必要とせず計算量を大きく低減することが可能になる。また映像のビット列を部分的にデコードした画素情報を取得するには、ビット列に埋め込まれた情報のみを用いる場合に比べて少々負荷が増加するが、映像全体をデコードする場合に比べると大きく計算量を節約できるため、映像シーンの違いを画素情報として考慮するために、この情報を付加的に加えて主観品質の推定を行っても良い。これにより安価な計算機を利用して短時間で精度の良い映像品質客観評価が可能になり、例えば映像サービスにおいて視聴者毎に見ている映像は一般的に異なるが、これらの違いを考慮したが見ている映像毎に主観品質の推定が可能となることで、視聴者毎にきめ細かい品質に関するサポートが可能となることや、映像サービス事業者のヘッドエンドで効率的かつ安価かつチャンネル毎・シーン毎に映像の主観品質を管理すること等が可能になる。更に映像のビット列を取得できれば良いので、ビット列を伝送するプロトコルに依存しない映像品質客観評価が可能である。つまりIP通信以外の通信方式にも拡張可能であるため、様々な通信方式で伝送される映像に対して本方式は適用が可能である。
【発明の効果】
【0011】
本発明では、符号化ビット列に欠損が発生した場合に、符号化された映像のビット列情報を利用するようにしたことにより、主観品質の推定を効率的かつ精度良く行うことが可能となり、その結果、主観品質評価法や従来の客観品質評価法を本発明に置き換えることにより多大な労力と時間を必要としなくなる。従って、ユーザが感じている主観品質を大規模かつリアルタイムに取得することが可能となる。
【図面の簡単な説明】
【0012】
【図1】本発明に係る映像品質客観評価装置の構成を示すブロック図である。
【図2】上記映像品質客観評価装置を構成する各機能部の概略動作を示すフローチャートである。
【図3】フレーム内のマクロブロック復号状況を示す図である。
【図4】損失マクロブロック内のエッジ推定方法を説明する図である。
【図5】損失マクロブロックとその隣接マクロブロックにおけるエッジの代表値を表す図である。
【図6】損失マクロブロック内のエッジ推定方法を説明する図である。
【図7】8×8DCT係数の3次元表示を示す図である。
【図8】8×8DCT係数の2次元表示を示す図である。
【図9】動きベクトル導出対象フレームからの相対位置を示す図である。
【図10】動きベクトルを動きベクトル導出対象フレームから1フレーム後方への射影例を示す図である。
【図11】動きベクトルを動きベクトル導出対象フレームから1フレーム前方への射影例を示す図である。
【図12】損失マクロブロック付近の動きベクトル導出対象マクロブロックの状況を示す図である。
【図13】動きベクトルの向きを説明する図である。
【図14】注目領域の定義を説明する図である。
【図15】フレーム内のマクロブロックの座標系を表す図である。
【図16】上記映像品質評価装置のハードウェア構成を示す図である。
【図17】フレーム内の劣化したブロックとその隣接ブロックを示す図である。
【図18】時間方向の劣化隠蔽処理の効果推定方法を説明する図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態について図面を参照して説明する。
(実施の形態1)
本実施の形態の映像品質客観評価装置は、符号化映像のビット列を入力するためのインターフェースと、サーバ装置やパーソナルコンピュータなどの演算装置と、記憶装置とからなる情報処理装置から構成され、符号化映像のビット列を入力し、入力映像に対応した主観品質を出力するものである。そのハードウェア構成としては、図16に示すように、受信部2、演算部3、記憶媒体4および出力部5からなる。ここで、図16に示すH.264符号化装置6は、入力映像を後述するH.264方式により符号化する。そして、符号化された映像ビット列は伝送網内を伝送データとして通信され映像品質客観評価装置1に送信される。
【0014】
映像品質客観評価装置1は、その伝送データ、すなわち前記符号化されたビット列を受信部2で受信する。そして、CPUが記憶媒体4に記憶されたプログラムを読み出して実行することにより、演算部3の機能を実現する。すなわち、演算部3は受信部2で受信されたビット列の情報を利用して各種の演算処理を行い、その演算処理結果を表示部などの出力部5に出力することにより、映像の主観品質を推定するものである。
ここで、演算部3の演算処理機能としては、具体的には、図1に示すように、係数データベースD11〜D17と、劣化発生領域特定機能部F11と、劣化発生領域の重み判定機能部F12と、劣化隠蔽処理特定機能部F13と、単一フレームの劣化代表値導出機能部F14と、全フレームの劣化代表値導出機能部F15と、符号化劣化に対する主観品質推定機能部F16と、主観品質推定機能部F17とがある。
【0015】
ここで、この映像品質客観評価装置1では、動き補償とDCT変換を用いるH.264方式の符号化された映像のビット列に欠損が生じた場合に、符号化された映像のビット列の正常部分と欠損部分の内容を利用して映像の主観品質の推定を行う。原理的には動き補償とDCT変換を用いる符号化方式に応用可能である。
【0016】
以下、図1を参照して、この映像品質客観評価装置を構成する各機能部の機能について具体的に説明する。各機能部には必要なメモリを備えている。
劣化発生領域(位置、数)特定機能部F11は、入力された符号化映像のビット列を走査してビット列に欠損が生じている場合に、フレーム内で劣化が発生したマクロブロックの位置と数を特定して劣化情報11aと11bをそれぞれ劣化代表値導出機能部F14と、重み判定機能部F12とに出力する。
【0017】
劣化発生領域の重み判定機能部F12は、劣化発生領域特定機能部F11から入力した劣化情報11bを走査して、劣化が発生したマクロブロックの位置や、その周辺に存在するマクロブロックの動きや絵柄の複雑さから、劣化したマクロブロックの主観品質への影響度を測定し、劣化量情報12aとして劣化代表値導出機能部F14に出力する。
【0018】
劣化隠蔽処理特定機能部F13は、予めデータベース化された、もしくは動的に導出された劣化隠蔽処理による主観品質への影響度に関する重みを、利用する劣化隠蔽処理によって切り替え、その結果を劣化隠蔽処理情報13aとして劣化代表値導出機能部F14に出力する。
【0019】
単一フレームの劣化代表値導出機能部F14は、各機能部F11、F12,F13からの出力である劣化情報11a,劣化量情報12a,劣化隠蔽処理情報13aに基づいて、単一フレームに存在する劣化した全てのマクロブロックの影響を加味した劣化の強さの代表値を導出して、フレーム劣化代表値14aとして全フレームの劣化代表値導出機能部F15に出力する。
【0020】
全フレームの劣化代表値導出機能部F15は、単一フレームの劣化代表値導出機能部F14からの出力であるフレーム劣化代表値14aに基づいて、評価対象映像中に存在する全てのフレームの劣化の強さの代表値を導出し、評価対象映像全体の劣化の強さとしてまとめ、そのまとめた値を代表値として導出して全フレーム劣化代表値15aとして主観品質推定機能部F17に出力する。
【0021】
符号化劣化に対する主観品質推定機能部F16は、符号化による映像の劣化のみを加味した主観品質を導出して符号化主観品質16aとして主観品質推定機能部F17に出力する。この場合、主観品質推定機能部F16は、符号化処理により劣化した主観品質を主観品質の最大値とする。主観品質推定機能部F17は、全フレームの劣化代表値導出機能部F15からの全フレーム劣化代表値15aと、符号化劣化に対する主観品質推定機能部F16からの符号化主観品質16aに基づいて、符号化とビット列の損失による映像の劣化を加味した主観品質を導出する。
【0022】
なお、各機能部F11,F12,F13,F14,F15,F16,F17には、各機能部でそれぞれ利用する評価式の係数のデータベースD11,D12,D13,D14,D15,D16,D17が前述したようにそれぞれ付属している。各データベースD11〜D17には、評価式の最適化を行うための評価対象映像の符号化方式や解像度やフレームレート毎に異なる係数が格納されている。これらの係数は、予め実施された主観品質評価実験の結果に基づいて、各評価式で回帰分析を実施することで決定しても良いし、任意の値を利用しても良い。
【0023】
次に、図1に示すブロック図と図2に示すフローチャートを中心とし他の図も参照しながら、本映像品質客観評価装置を構成する各機能部の詳細な動作を説明する。なお、以下で示す画素信号やDCT係数は全て輝度に関するものとする。ただし、色差信号について同様の処理を適用することもできる。
【0024】
劣化発生領域(位置、数)特定機能部F11では、映像の符号化ビット列を入力として、まずH.264方式の可変長符号を復号する必要がある。これを行うためには、参考文献1(ITU-T H.264, “Advanced video coding for generic audiovisual services,”Feb. 2000.)に準拠するH.264復号器を利用する。そして、復号後には、H.264符号化の制御情報を含むSPS(Sequence Parameter Set)やPPS(Picture Parameter Set)等のシンタックス情報に加えて、動き補償やDCT変換符号化で用いられる動きベクトルやDCT係数等の符号化情報が、マクロブロックもしくはサブマクロブロック毎に取得できる。具体的には参考文献1に記載されている仕様に従う。
【0025】
符号化されたビット列に損失が発生した場合には機能部F11で正常に復号できなくなるため、マクロブロックやサブマクロブロックで画素信号を計算するための動きベクトルやDCT係数等の情報、また符号化制御情報が正常に取得できなくなる。映像品質客観評価装置の記憶領域にマクロブロック単位の復号の成功と失敗を集計するためのフラグを用意し、符号化ビット列を走査して復号するために十分なデータが存在しないマクロブロックやサブマクロブロックについてはフラグを立てると、図3に示すような復号成否状況を得ることができる。
【0026】
図3に示すような復号成否状況により、復号を失敗して劣化したマクロブロックやサブマクロブロックの位置と数を検出できる。また、SPSやPPSなどの符号化制御情報に損失が起きている場合は、SPSについては対応するシーケンス(評価対象映像全体)の全てのマクロブロックが損失、PPSについては対応するピクチャ(フレームもしくはフィールド)の全てのマクロブロックが損失したとみなす。図中のマクロブロックの数とスライスの形状は一例である。
【0027】
更に、H.264方式の動き推定機能を使って、復号を失敗したマクロブロックやサブマクロブロックが他のマクロブロックやサブマクロブロックから参照されている場合、参照元のマクロブロックやサブマクロブロックにもそのIPB属性に応じて劣化が生じる。IPBの属性については上記参考文献1に記載されている。参照先のマクロブロックやサブマクロブロックの復号に失敗している場合、参照元のマクロブロックがPフレームの場合は予め係数データベースD11に格納されている劣化重みε=a1、Bフレームの場合は劣化重みε=a2を選択する。これに加えてIフレームではフレーム内予測がH.264では用いられるため、同様に参照先のマクロブロックやサブマクロブロックの復号が失敗している場合、劣化重みε=a3を選択し、予測を使わない場合は劣化重みε=a4を選択する。これらの処理により、評価対象映像中で欠損が生じたマクロブロックやサブマクロブロックの特定が可能となる。
【0028】
この段階で、サブマクロブロック単位で損失が発生している場合は、そのサブマクロブロックを包含するマクロブロック単位で損失が発生しているとみなす。復号を失敗して劣化したマクロブロックの位置と数に加えて、映像の符号化ビット列、重みεを劣化情報11a,11bとして劣化代表値導出機能部F14と、重み判定機能部F12とに出力する。
【0029】
劣化発生領域の重み判定機能部F12については、劣化情報11bを入力情報として、以下に示す劣化発生領域を表す重みパラメータを出力する。まず絵柄の複雑さによる、劣化したマクロブロックの主観品質への影響度の変化を測定する機能から説明する。
第一に部分的な画素信号の取得が可能である場合について示す。画素信号は、H.264符号化の制御情報に加えて、動き補償やDCT変換符号化で用いられる動きベクトルやDCT係数を上記の参考文献1で示されるアルゴリズムに適用して取得できる。
【0030】
具体的には損失したマクロブロックの上下左右のマクロブロックのみ画素信号の取得をし、これは上記参考文献1に従って行う。絵柄の複雑さの代表的な指標の一つとしてSobelフィルタを利用したエッジの大きさと方向が挙げられる。ここでは劣化したマクロブロックにおけるエッジの有無が主観品質を変動させると考え、劣化したマクロブロックに隣接するマクロブロックから、劣化したマクロブロックに対してエッジが連続的に存在するかどうか推定する。
【0031】
具体的には図4と図5を用いて説明する。まず図4では劣化したマクロブロックと隣接する4つのマクロブロックを示している。各隣接マクロブロックには、劣化したマクロブロックとの境界に1列の画素が並んでおり、その更に1列奥の画素列(劣化したマクロブロックと隣接マクロブロックの境界から数えて2列目の隣接マクロブロック内の画素列)をSobelフィルタによるエッジ導出に用いる。Sobelフィルタを利用するとエッジは大きさと方向を持つ量、つまりベクトル量として導出されるため、各隣接マクロブロックのエッジ導出対象画素列で求めたエッジを以下のように定義する。
【0032】
【数1】
【0033】
ただし、iは隣接マクロブロックの識別子(図4のマクロブロック1〜マクロブロック4に相当)、jは劣化したマクロブロックと隣接マクロブロックの境界に存在する画素数、ここでmはSobelフィルタによるエッジ導出対象画素列に存在する画素数を表す。これより各隣接マクロブロックにおいて、Sobelフィルタによるエッジ導出対象画素列で導出したエッジの代表値
【0034】
【数2】
【0035】
を以下のように導出する。
【0036】
【数3】
【0037】
ただし、演算子
【0038】
【数4】
【0039】
は、自然数A1〜Amを参照して最大となる値を出力し、θは図5に示すように劣化したマクロブロックと隣接マクロブロックの境界面に対するベクトルE{i}jの角度である。ここでは、演算子maxを使って大きさが最大となるベクトルを出力するように設定したが、代わりに任意の統計量、例えば最小値や平均値や分散などを使用しても良い。
更に各隣接マクロブロックで導出したベクトルE{i}の代表値(即ち、ベクトルE)を以下のように導出する。
【0040】
【数5】
【0041】
ここで、μはデータベースD12に格納されている係数である。ここでは演算子maxを使って大きさが最大となるベクトルを出力するように設定したが、代わりに任意の統計量、例えば最小値や平均値や分散などを使用しても良い。ただし、隣接マクロブロックが劣化している、もしくは存在しない場合には、その隣接マクロブロックは代表値(即ち、ベクトルE)の導出に利用しない。また全ての隣接するマクロブロックでベクトルE{i}が導出できない場合は、ベクトルEの絶対値をデータベース12に格納されている任意の定数(例えば0)とする。これにより単一フレーム内に存在する全ての劣化したマクロブロックについて、絵柄の複雑さによる、劣化したマクロブロックの主観品質へ与える影響を測定できる。
【0042】
絵柄の複雑さによる、劣化したマクロブロックの主観品質への影響度の変化を測定する機能について、第二に符号化された映像のビット列情報のみが利用できる場合を示す。第一の場合と同様に、劣化したマクロブロックにおけるエッジの有無が主観品質を変動させると考え、劣化したマクロブロックに隣接するマクロブロックから、劣化したマクロブロックに対してエッジが連続的に存在するかどうか推定する。具体的には図6、図7、図8を用いて説明する。
【0043】
図6では劣化したマクロブロックと隣接する4つのマクロブロックを示している。図4と類似しているが、図4では各マクロブロックは画素情報で構成されていたのに対し、図6ではDCT係数で構成されている。図6の各隣接マクロブロックがIスライスやIフレームの一部であれば以下に記載の処理をそのまま実行するが、隣接マクロブロックの中にP属性またはB属性のマクロブロックが存在している場合は、フレーム内の空間的な位置は全く同じで、最も時系列で近い位置にあるI属性のマクロブロックを代替として用いてもよいし、代替せずそのまま処理を続行しても良い。
【0044】
各マクロブロックのDCT係数の例は具体的には図7のように配置されている。ここで、x軸が水平方向周波数を表し、y軸が垂直方向周波数を表し、z軸にDCT係数が表わされている。なお図7は8×8画素のブロックに対してDCT変換を適用した場合を示しており、4×4画素のブロックに対してDCT変換を適用した場合は、水平方向周波数、垂直方向周波数ともに、1以上4以下の整数値が変動範囲となる。また16×16画素のブロックに対してDCT変換を適用した場合は、水平方向周波数、垂直方向周波数ともに、1以上16以下の整数値が変動範囲となる。つまりn×n画素(nは1以上の整数値)のブロックに対してDCT変換を適用した場合は、水平方向周波数、垂直方向周波数ともに、1以上n以下の整数値が変動範囲となる。
【0045】
図8に、図7のx軸である水平方向周波数、y軸である垂直方向周波数を表示した図を示す。図8では、x軸とy軸が同等の値になる対角線A上のDCT係数群の上方に存在するDCT係数群をグループ1、下方に存在するDCT係数群をグループ2とする。グループ1は垂直方向周波数が水平方向周波数より高くなる領域、つまり横方向のエッジが縦方向のエッジよりも強めとなる領域であり、グループ2は水平方向周波数が垂直方向周波数より高くなる領域、つまり縦方向のエッジが横方向のエッジよりも強めとなる領域である。
【0046】
図8の座標を(水平方向周波数、垂直方向周波数)として、座標(p,q)のDCT係数をDpqとし、以下の計算式で縦方向のエッジEV(即ち、ベクトルEV)の強さ
【0047】
【数6】
【0048】
と、横方向のエッジEh(即ち、ベクトルEh)の強さであるベクトルEhの絶対値を計算する。ただし式中のnは、エッジ導出対象のマクロブロックがn×nであることを示している。
【0049】
【数7】
【0050】
このエッジの強さの導出処理を使って、図6の隣接マクロブロック1と隣接マクロブロック3ではベクトルEνの絶対値導出を行い、隣接マクロブロック2と隣接マクロブロック4ではベクトルEhの絶対値導出を行う。これらのエッジの強さを各隣接マクロブロックのエッジの強さの代表値ベクトルE{i}とし、iは隣接マクロブロックの識別子(1≦i≦4)とする。更に各隣接マクロブロックで導出したベクトルE{i}の代表値ベクトルEを以下のように導出する。
【0051】
【数8】
【0052】
ここで、μはデータベースD12に格納されている係数である。ここでは演算子maxを使って大きさが最大となるベクトルを出力するように設定したが、代わりに任意の統計量、例えば最小値や平均値や分散などを使用しても良い。ただし、隣接マクロブロックが劣化している、もしくは存在しない場合には、その隣接マクロブロックはベクトルEの導出に利用しない。また全ての隣接するマクロブロックでベクトルE{i}が導出できない場合は、ベクトルEの絶対値をデータベースD12に格納されている任意の定数(例えば0)とする。これにより単一フレーム内に存在する全ての劣化したマクロブロックについて、絵柄の複雑さが劣化したマクロブロックの主観品質へ与える影響の大きさを測定できる。
【0053】
劣化発生領域の重み判定機能部F12について、次に劣化が発生したマクロブロックの周辺に存在するマクロブロックの動きの大きさが、主観品質へ与える影響を測定する機能を説明する。動きの大きさによる主観品質への影響は動きベクトルの代表値に基づいて判定し、動きベクトルの代表値の導出方法については、図9、図10、図11、図12を用いて説明する。
【0054】
まずフレーム全体の動きベクトルの代表値の導出方法を示す。図9に示すように、H.264方式では動きベクトルの導出に用いる参照フレームを、前方、後方に限らず、マクロブロック・サブマクロブロック単位で任意の2つ選ぶことが可能である。これは原理的にはMPEG2やMPEG4の双方向フレームに応用可能である。そこでマクロブロック・サブマクロブロック毎に設定される動きベクトルの大きさを各ブロックについて比較可能とするために正規化を行い、動きベクトルの導出対象フレームの前方、後方1フレームに各マクロブロック・サブマクロブロックの動きベクトルを射影する。具体的な処理を図10、図11で説明する。
【0055】
図10は、動きベクトルの導出対象フレームs中のt番目のブロックMBstの参照フレームが、フレームsの(r+1)フレーム後方にある場合を示している。図10のように動きベクトルの導出対象フレームsから参照フレーム上に動きベクトル
【0056】
【数9】
【0057】
が存在しており(ベクトルMVstと表記)、以下のようにしてベクトルMVstを、動きベクトルの導出対象フレームsから1フレーム後方のフレーム上に存在するベクトルMV’stに射影する。
【0058】
【数10】
【0059】
また図11は、動きベクトルの導出対象フレームs中のt番目のブロックMBstの参照フレームが、フレームsの(r+1)フレーム前方にある場合を示している。図11のように動きベクトルの導出対象フレームsから参照フレーム上に動きベクトルMVstが存在しており、以下のようにしてベクトルMVstを動きベクトルの導出対象フレームsから1フレーム前方へのベクトルMV’stに射影する。
【0060】
【数11】
【0061】
以上の処理により、動きベクトルの導出対象フレームsの全てのマクロブロック・サブマクロブロックt(1≦t≦x)毎に設定される動きベクトルを、s±1フレーム上のベクトルへ射影することが可能となる。ただし、xはフレームs内のブロック数である。なお、動きベクトルの導出対象フレームsの参照フレームが2フレームある場合は,両方の参照フレームについて上記処理により射影した動きベクトルを導出し、その平均ベクトルを動きベクトルの導出対象フレームsの各ブロックのMV’stとする。
以上で導出した動きベクトルの導出対象フレームs上のベクトルMV’stを用いて、以下の式で動きベクトルの導出対象フレームsの統計量であるベクトルの大きさの平均を導出する。ただし平均以外にも最大値や最小値や標準偏差や分散等の各種統計量を代替として用いることが可能である。また下式中の
【0062】
【数12】
【0063】
はベクトルの大きさを表すものとする。
【0064】
【数13】
【0065】
ただし、演算子
【0066】
【数14】
【0067】
は自然数A1〜Amを参照して平均となる値を出力する。
また図12に示すように、劣化したマクロブロックを囲む24個のマクロブロックについて、フレーム全体の動きベクトル統計量を導出した場合と同様の処理を行い、24個のマクロブロックの動きベクトルの代表値
【0068】
【数15】
【0069】
を各劣化マクロブロック毎に導出する。ただし、フレームsで劣化したマクロブロックの数をTとする。
このようにして求めたMVave(s)とベクトルMVave(t)とを利用して、損失が発生したマクロブロックの周辺に存在するマクロブロック群の動きの大きさが劣化したマクロブロックの主観品質へ与える影響度を表す重みを以下の式で導出する。
【0070】
【数16】
【0071】
ただし、α、βはデータベースD12に格納されている係数である。また、式内のaveによる平均演算は、最大値・最小値・その他の統計量に置き換えが可能である。
以上の処理は損失したマクロブロックがP属性またはB属性の場合に適用され、I属性の場合には、MweightはデータベースD12に格納されている任意の定数とする(例えば1)。また、計算に必要となるマクロブロックやサブマクロブロックが劣化している場合は、それらの存在は無視し、存在するマクロブロックやサブマクロブロックから上記統計量を導出する。
【0072】
また劣化発生領域の重み判定機能部F12について、次に劣化が発生したマクロブロックの周辺に存在するマクロブロックの動きの向きによる、主観品質への影響を測定する機能を説明する。動きの向きによる主観品質への影響度合いは動きベクトルの代表値に基づいて判定し、動きベクトルの代表値の導出方法については、図13を用いて説明する。
【0073】
まず評価対象映像中に存在する全てのマクロブロックを参照し、動きベクトルが設定されているマクロブロックについては、図13に基づいて、領域1〜領域8までのどの領域に存在するか判定を行う。例として動きベクトル0を示しているが、動きベクトル0は領域2に存在していることを示している。評価対象映像フレームに存在する全マクロブロックについて同様の処理を適用し、各領域に存在する動きベクトルの数をカウントし、各領域の動きベクトルの総数MVNNUM(1≦NUM≦8)を導出する。ただしNUMは領域の識別子である。こうして導出したMVNNUMについて、各MVNNUMの標本分散σMVNを導出する。こうして求めたσMVNをマクロブロックの動きの向きが劣化したマクロブロックの主観品質へ与える影響度合を表す重みとする。
【0074】
劣化発生領域の重み判定機能部F12について、次に劣化したマクロブロックの発生位置が劣化したマクロブロックの主観品質へ与える影響度を導出する。詳細を図14に示す。図14に示す通り、縦横の長さ50%となる中心の領域を注目領域と設定し、劣化したマクロブロックが注目領域上である場合、劣化したマクロブロックの発生位置が劣化したマクロブロックの主観品質へ与える影響度を表す重みCをC=c1とし、劣化したマクロブロックが注目領域上ではない場合はC=c2とする。ただし、c1,c2はデータベースD12に格納されている定数である。劣化したマクロブロックの発生位置が劣化したマクロブロックの主観品質へ与える影響度を表す重みCは、評価対象映像のマクロブロック毎に計算される。
【0075】
また劣化発生領域の重み判定機能部F12では、劣化の局所性が主観品質に及ぼす影響についても導出を行う。マクロブロックの座標系は図15に示すように、左下を原点として右方向にX座標、上方向にY座標を取り、各マクロブロックの座標を(X,Y)と表記する。次に損失が発生したマクロブロック群のX座標、Y座標の標本分散値を導出し、以下の式で劣化の局所性が主観品質に及ぼす影響を計算する。
L=fL(σx,σy)
ただし、ここでは、fL(σx,σy)=σx×σyとするが、乗算以外の任意の演算を行っても良い。劣化の局所性Lは評価対象映像のフレーム毎に計算される。このようにして劣化発生領域の重み判定機能部F12で導出した各ブロックにおける、ベクトルE、Mweight、σMVN、C、Lを劣化量情報12aとして単一フレームの劣化代表値導出機能部F14へ出力する。
【0076】
次に劣化隠蔽処理特定機能部F13の詳細を説明する。データベースD13に格納されている劣化隠蔽に関する情報を入力として、劣化隠蔽処理による主観品質の向上を表すパラメータを出力する。まず劣化隠蔽処理が主観品質へ及ぼす影響を、主観品質評価実験の結果に従って判断する場合を説明する。具体的には表1と表2を使って説明する。
【0077】
【表1】
【0078】
【表2】
【0079】
まず表1に示すように、評価対象とする劣化隠蔽処理の各方式と劣化隠蔽処理を適用しない場合について、シーンの種類とビット列の損失パターンを変えた場合に適用し、それぞれの場合について主観品質を取得する。ただし主観品質評価尺度として、劣化映像の主観品質を絶対値として評価する絶対尺度を用いる。表1では主観品質の例としてMean Opinion Score(MOS)を用いており、MOSefgは、シーンe(1≦e≦S)、損失パターンf(1≦f≦M)、劣化隠蔽方式g(0≦g≦N)を適用した場合のMOSとなる。ただしg=0の場合は、劣化隠蔽を行わない場合を示している。
【0080】
このようにして取得した主観品質を表2に示すように、各条件で取得したMOSについて、劣化隠蔽特性を適用しなかった場合のMOSに対する割合Wefgを算出する。Wefgは、シーンe(1≦e≦S)、データ損失パターンf(1≦f≦M)、劣化隠蔽方式g(0≦g≦N)を適用した場合の劣化隠蔽方式gの主観品質改善作用を表す。各劣化隠蔽方式について、各シーン・データ損失パターンに対する主観品質改善作用の平均化を行う。具体的には以下の式のようになる。
【0081】
【数17】
【0082】
この値を各劣化隠蔽方式に対する主観品質の改善作用の代表値とする。主観品質評価尺度には原映像の品質からの差分で表す劣化尺度(DMOS等)も存在するが、表3と表4に示すように、絶対尺度の場合と同様に導出する。
【0083】
【表3】
【0084】
【表4】
【0085】
ただしこの場合は、各劣化隠蔽方式に対する主観品質の改善作用の代表値は以下のように導出する。利用する品質評価尺度の種類に従ってWgの選択を行えば良い。
【0086】
【数18】
【0087】
以上で利用した各係数はデータベースD13に格納されている係数である。
また劣化隠蔽処理特定機能部F13では主観品質評価実験の結果に従って構築されたデータベースを用いる以外に、符号化された映像のビットストリームや画素信号として復号された情報を用いて、評価対象映像毎に動的に劣化隠蔽処理が主観品質に及ぼす影響を推定する方法を用いても良い。
【0088】
具体的には、劣化隠蔽処理の効果と周囲のエッジ量には相関関係があることが知られていることから、上記劣化発生領域の重み判定機能部F12における絵柄の複雑さが劣化したマクロブロックの主観品質への影響度を測定する機能の第一もしくは第二の場合において導出したベクトルEを用いて劣化隠蔽特性の重みWを以下の式で導出する。
【0089】
【数19】
【0090】
ただし、ωはデータベースD13またはD12に格納されている係数で、Wは各マクロブロック毎に導出される。この場合のみWを劣化発生領域の重み判定機能部F12で計算して、劣化量情報12aとして単一フレームの劣化代表値導出機能部F14に出力しても良い。
このようにして劣化隠蔽処理特定機能部F13で導出した各マクロブロックにおけるWgもしくはWを劣化隠蔽処理情報13aとして単一フレームの劣化代表値導出機能部F14に出力する。
【0091】
次に、単一フレームの劣化代表値導出機能部F14の詳細を説明する。単一フレームの劣化代表値導出機能部F14では、劣化発生領域(位置、数)特定機能部F11、劣化発生領域の重み判定機能部F12、劣化隠蔽処理特定機能部F13の出力11a,12a,13aを入力として、あるフレーム内に存在する劣化した全てのマクロブロックの影響を加味した劣化代表値と劣化の局所性をフレーム劣化代表値14aとして出力する。具体的には重み関数を用いて以下の式で導出される。
【0092】
【数20】
【0093】
ここで、τはデータベースD14に格納されている係数である。ただし、εは劣化発生領域(位置、数)特定機能部F11が導出する、参照先のブロックがP属性かB属性かI属性かで決定される重みである。
【0094】
【数21】
【0095】
は、劣化発生領域の重み判定機能部F12が導出する劣化したマクロブロックiにおけるエッジが主観品質に及ぼす影響ベクトルEで、Mweight(i)は劣化発生領域の重み判定機能部F12が導出する劣化したマクロブロックiにおける動きの大きさが主観品質に与える影響Mweightで、σMVNは劣化発生領域の重み判定機能部F12が導出する動きの向きが主観品質に与える影響で、Ciは劣化発生領域の重み判定機能部F12が導出する劣化したマクロブロックiの位置が主観品質に与える影響Cで、Wgは劣化隠蔽処理特定機能部F13で導出する劣化隠蔽方式kの主観品質の改善効果を表し、Wgの代わりに数式19より、
【0096】
【数22】
【0097】
を用いることも可能である。ただし、xはフレーム内に存在する劣化したマクロブロックの総数である。重み関数WF1(w)は任意の関数を取ることが可能であるが、ここでは例として以下の関数を利用する。
WF1(w)=u1*log(w−u2)+u3
ただし、u1,u2,u3はデータベースD14に格納されている係数である。
【0098】
また単一フレームの劣化代表値導出機能部F14では、オプションとして劣化発生領域(位置、数)特定機能部F11、劣化発生領域の重み判定機能部F12、劣化隠蔽処理特定機能部F13の出力11a,12a,13aに基づいて或るスライス内に存在する劣化した全てのマクロブロックの影響を加味した劣化代表値DSを導出する機能がある。具体的には重み関数WF1(w)を用いて以下の式で導出される。
【0099】
【数23】
【0100】
ただし、SNは劣化したスライス内に存在する劣化したマクロブロックの総数であり、Wgの代わりに
【0101】
【数24】
【0102】
を用いることも可能である。そして、フレーム劣化代表値14aを全フレームの劣化代表値導出機能部F15に出力する。
【0103】
次に全フレームの劣化代表値導出機能部F15の詳細を説明する。全フレームの劣化代表値導出機能部F15では、単一フレームの劣化代表値導出機能部F14から出力された評価対象映像中に存在する全てのフレームの劣化代表値と劣化の局所性を入力として、評価対象映像の劣化代表値Dを全フレーム劣化代表値15aとして出力する。劣化代表値Dは重み関数WF2(w)を用いて以下の式で導出される。
【0104】
【数25】
【0105】
ここで、Lfは劣化発生領域の重み判定機能部F12で導出される、フレームfにおける劣化の局所性が主観品質に与える影響である。重み関数WF2(w)は任意の関数を取ることが可能であるが、ここでは例として以下の関数を利用する。
WF2(w)=h1*log(w−h2)+h3
ただし、h1,h2,h3はデータベースD15に格納されている係数であり、Fは評価対象映像中に存在する全フレーム数である。またDfの代わりにDSを用いても良く、その際は以下の式で評価対象映像の劣化代表値Dを導出する。
【0106】
【数26】
【0107】
ただし、ASNは評価対象映像中に存在する全スライス数である。そして、全フレーム劣化代表値15aを主観品質推定機能部F17に出力する。
【0108】
次に符号化劣化に対する主観品質推定機能部F16の詳細を説明する。符号化劣化に対する主観品質推定機能部F16は、符号化による映像の劣化のみを加味した主観品質Ecodedを導出する機能であり、本機能部F16では符号化主観品質16aとして任意の従来法の出力を利用可能である。EcodedをデータベースD16に格納しておいて符号化主観品質16aとして出力しても良い。
【0109】
次に全フレームの劣化代表値導出機能部F15と符号化劣化に対する主観品質推定機能部F16の出力を入力として、符号化とパケット損失による映像の劣化を加味した主観品質Eallを出力する主観品質推定機能部F17の詳細を説明する。主観品質推定機能部F17は、関数ev(x,y)を用いて以下の式で主観品質Eallを導出する。
【0110】
Eall=ev(Ecoded,D)
関数ev(v1,v2)は任意の関数を取ることが可能であるが、ここでは例として以下の関数を利用する。
ev(v1,v2)=l1(v1/v2)+l2
ただし、l1,l2はデータベースD17に格納されている係数である。
【0111】
以上により、符号化ビット列に欠損が発生した場合に、精度良く効率的に映像の主観品質を導出することが可能となる。
【0112】
(実施の形態2)
本実施の形態は、劣化隠蔽処理の影響を表すパラメータWgの導出方法以外は、実施の形態1と同様の処理を行う。Wgは、空間方向の劣化隠蔽処理の影響を表すWgSと時間方向の劣化隠蔽処理の影響を表すWgTを用いて以下の式で導出する。
【0113】
Wg=ω1×WgS×WgT+ω2×WgS+ω3×WgT
ただし、ω1,ω2,ω3はデータベースD13に格納してある係数である。
【0114】
空間方向の劣化隠蔽処理の影響を表すWgSの導出方法を図17を用いて説明する。
WgSを導出する際には、まず図17において、単一フレーム内の劣化領域と縦横ななめで隣接する周囲マクロブロック(図17ではマクロブロック13,14,15,23,25,26,33,36,43,44,45,46)に注目する。次に周囲マクロブロック各々について、全ての隣接する周囲マクロブロックとの類似度を計算する。本実施の形態では類似度として、2つのマクロブロックの全画素の輝度情報の平均二乗誤差を用いる。ただし類似度導出はこの方法のみでなく、公知の全ての類似度導出アルゴリズムを用いることができる。本実施の形態では、具体的にマクロブロック1とマクロブロック2が存在する場合に、類似度を以下の式で導出する。
【0115】
【数27】
【0116】
ただし、P1iとP2iは、マクロブロック1とマクロブロック2で空間的に同一位置の画素である。
【0117】
次に周囲マクロブロック各々について、全ての隣接する周囲マクロブロックとの類似度を導出する(例えば図17の周囲マクロブロック14については、隣接する周囲マクロブロック13と15の両方と類似度の導出を行う)。周囲マクロブロック各々について、全ての隣接する周囲マクロブロックとの間で導出された類似度を平均し、その値を周囲マクロブロックの類似度代表値とし、全ての周囲マクロブロックの類似度代表値を平均して単一フレームの類似度Sframeとする。またそのフレーム内で劣化したマクロブロックの数をNframeとし、WgSを以下の式で導出する。
【0118】
【数28】
【0119】
ただし、ω4,ω5,ω6,ω7,ω8はデータベースD13に格納してある係数である。
【0120】
次に、時間方向の劣化隠蔽処理の影響を表すWgTの導出方法についても図17を用いて説明する。WgTを導出する際には、まず図17で単一フレームi(iは時系列でi番目のフレーム)内の劣化領域(マクロブロック24,34,35)と縦横ななめで隣接する周囲マクロブロック(図17ではマクロブロック13,14,15,23,25,26,33,36,43,44,45,46)に注目する。同時に時系列でフレームiと前後するフレームi−1とフレームi+1に注目する。まず図18で示すように、フレームiの周囲マクロブロック各々について動きベクトルの大きさと向きを検出し、同時にフレームi−1とフレームi+1について、フレームiの周囲マクロブロックの位置と空間的に同一位置の動きベクトルの向きと大きさを検出する。これは参考文献1に従って行う。
【0121】
更にフレームi−1とフレームi+1の動きベクトルについて、フレームiの周囲マクロブロックの動きベクトルの内積を計算し、例えば図17中の周囲マクロブロック14についてであれば、それぞれIP14iとIP14(i+1)を導出する。そしてIP14iとIP14(i+1)を平均した値としてAIP14iを導出する。ただし、内積を計算する際の各ベクトルの大きさは一律に1としても良い。同様にしてフレームi内の全ての周囲マクロブロックについてAIPΔi(Δは周囲マクロブロック番号)を計算し、全ての周囲マクロブロックのAIPΔiを平均した値を、フレームiの時間方向の劣化隠蔽処理の影響を表すWgT=AIPiとする。ただしフレームi−1とフレームi+1について、フレームiの周囲マクロブロックと空間的に対応するマクロブロックに動きベクトルが設定されていない場合や損失で失われている場合は、そのマクロブロックの動きベクトルは0ベクトルとしてWgTを計算する。また本実施の形態では劣化が起きた前後のフレームから内積計算用の動きベクトルを算出したが、任意の2フレームから内積計算用の動きベクトルを算出しても良い。
なお、WgSやWgTは劣化が起きたフレーム毎に再計算される値である。
【符号の説明】
【0122】
1…映像品質客観評価装置、2…受信部、3…演算部、4…記憶媒体、5…出力部、6…H.264符号化装置、F11…劣化発生領域(位置、数)特定機能部、F12…劣化発生領域の重み判定機能部、F13…劣化隠蔽処理特定機能部、F14…単一フレームの劣化代表値導出機能部、F15…全フレームの劣化代表値導出機能部、F16…符号化劣化に対する主観品質推定機能部、F17…主観品質推定機能部、D11〜D17…データベース。
【特許請求の範囲】
【請求項1】
視聴者が映像を見た時に体感する映像の主観品質を推定することにより映像の品質を客観的に評価する映像品質客観評価方法であって、
動き補償とDCT変換を利用して符号化された前記映像のビット列を受信するステップと、
受信した前記映像のビット列に損失が生じている場合、失われたビット列と残ったビット列を用いて所定の演算を行う演算ステップと、
前記演算ステップの演算結果に基づいて前記映像の主観品質を推定する演算を行う推定ステップとを有し、
前記演算ステップは、失われたビット列で保存されていたブロックの空間もしくは時系列の位置情報を抽出し、
前記推定ステップは、抽出された前記空間の位置情報もしくは前記時系列の位置情報に基づいて前記映像の主観品質を推定することを特徴とする映像品質客観評価方法。
【請求項2】
請求項1において、
前記演算ステップは、動き補償機能を用いて他のブロックから参照される参照先ブロックのビット列に損失が生じている場合、参照先のブロックのビット列の損失が参照元のブロックに与える損失を演算し、
前記推定ステップは、前記演算ステップの演算結果に基づいて前記映像の主観品質を推定することを特徴とする映像品質客観評価方法。
【請求項3】
請求項1において、
前記演算ステップは、符号化処理により劣化した主観品質を、ビット列の損失が生じた場合の主観品質の最大値とすることを特徴とする映像品質客観評価方法。
【請求項4】
請求項1において、
前記演算ステップは、単一のフレーム内で生じた劣化の代表値として、ビット列の損失が生じたブロックの数を重み付きで演算した値を算出し、
前記推定ステップは、前記算出された値を前記主観品質の推定に用いることを特徴とする映像品質客観評価方法。
【請求項5】
請求項4において、
前記演算ステップは、単一フレーム内で生じた劣化の代表値を、映像を構成する全てのフレームで導出して、それらを重み付きで演算した値を算出し、
前記推定ステップは、前記算出された値を前記主観品質の推定に用いることを特徴とする映像品質客観評価方法。
【請求項6】
請求項4または請求項5において、
前記演算ステップでは、前記主観品質の推定に用いる重みを、動きベクトルデータの統計量または映像の再生端末が行う劣化隠蔽処理または劣化が発生した位置またはDCT係数の統計量または局所的な画素情報、またはそれらの組み合わせに応じて決定することを特徴とする映像品質客観評価方法。
【請求項7】
請求項6において、
前記演算ステップでは、動きベクトルデータの統計量として、フレーム内のすべてまたは一部のマクロブロックの動きベクトルの大きさまたは向きに関する統計量を用いることを特徴とする映像品質客観評価方法。
【請求項8】
請求項6において、
前記演算ステップでは、DCT係数の統計量として、フレーム内のすべてまたは一部のマクロブロックのDCT係数の統計量を用いることを特徴とする映像品質客観評価方法。
【請求項9】
請求項6において、
各種の劣化隠蔽処理による主観品質の改善量を予め主観品質評価実験を行うことにより測定してデータベース化するステップをさらに有し、
前記推定ステップは、映像品質の客観評価時には前記データベースを参照して、各劣化隠蔽処理に対してチューニングを行った主観品質を導出することを特徴とする映像品質客観評価方法。
【請求項10】
請求項6において、
前記推定ステップは、符号化された映像のビット列もしくは局所的な画素信号として復号された情報を用いて、前記劣化隠蔽処理による主観品質の改善量を推定することを特徴とする映像品質客観評価方法。
【請求項11】
請求項6において、
前記演算ステップでは、局所的な画素情報として、損失したビット列中に含まれるマクロブロックの近辺のマクロブロックの画素情報を用いることを特徴とする映像品質客観評価方法。
【請求項12】
請求項1において、
前記演算ステップは、失われたビット列で保存されていた情報が符号化の制御情報である場合、その符号化制御情報が主観品質に与える影響の度合いを演算し、
前記推定ステップは、前記演算ステップの演算結果に応じて前記映像の主観品質を推定することを特徴とする 映像品質客観評価方法。
【請求項13】
請求項1において、
前記推定ステップは、前記映像の主観品質を推定する映像品質の客観評価を行う時に、符号化方式またはフレームレートまたは前記映像の解像度に応じて評価式の最適化を行うことを特徴とする映像品質客観評価方法。
【請求項14】
請求項1,2,4の何れかにおいて、
前記ブロックは、フレームまたはスライスまたはマクロブロックまたはサブマクロブロックの何れかであることを特徴とする映像品質客観評価方法。
【請求項15】
視聴者が映像を見た時に体感する映像の主観品質を推定することにより前記映像の品質を客観的に評価する映像品質客観評価装置であって、
動き補償とDCT変換を用いて符号化された前記映像のビット列を受信する受信部と、
受信した前記映像のビット列に損失が生じている場合、失われたビット列と残ったビット列を用いて所定の演算を行う演算部と、
前記演算部の演算結果に基づいて前記映像の主観品質を推定する演算を行う推定部とを備え、
前記演算部は、失われたビット列で保存されていたフレームまたはスライスまたはマクロブロックまたはサブマクロブロックの空間もしくは時系列の位置情報を抽出し、
前記推定部は、抽出された前記空間の位置情報もしくは前記時系列の位置情報に基づいて前記映像の主観品質を推定することを特徴とする映像品質客観評価装置。
【請求項16】
動き補償とDCT変換を用いて符号化された映像のビット列を受信する処理と、
受信した前記映像のビット列に損失が生じている場合、失われたビット列で保存されていたフレームまたはスライスまたはマクロブロックまたはサブマクロブロックの空間もしくは時系列の位置情報を抽出する処理と、
抽出された前記空間の位置情報もしくは前記時系列の位置情報に基づいて前記映像の主観品質を推定する処理をコンピュータに実行させるプログラム。
【請求項17】
請求項6において、
前記推定ステップは、空間方向の劣化隠蔽処理の影響を表現する値と、時間方向の劣化隠蔽処理の影響を表現する値とを用いて、前記劣化隠蔽処理による主観品質の改善量を推定することを特徴とする映像品質客観評価方法。
【請求項18】
請求項17において、
前記空間方向の劣化隠蔽処理の影響を表現する値は、劣化領域の周辺の類似度と劣化領域の大きさとを用いて算出することを特徴とする映像品質客観評価方法。
【請求項19】
請求項17において、
前記時間方向の劣化隠蔽処理の影響を表現する値は、フレーム間の動きベクトルの大きさおよび向きの変化量を用いて算出することを特徴とする映像品質客観評価方法。
【請求項1】
視聴者が映像を見た時に体感する映像の主観品質を推定することにより映像の品質を客観的に評価する映像品質客観評価方法であって、
動き補償とDCT変換を利用して符号化された前記映像のビット列を受信するステップと、
受信した前記映像のビット列に損失が生じている場合、失われたビット列と残ったビット列を用いて所定の演算を行う演算ステップと、
前記演算ステップの演算結果に基づいて前記映像の主観品質を推定する演算を行う推定ステップとを有し、
前記演算ステップは、失われたビット列で保存されていたブロックの空間もしくは時系列の位置情報を抽出し、
前記推定ステップは、抽出された前記空間の位置情報もしくは前記時系列の位置情報に基づいて前記映像の主観品質を推定することを特徴とする映像品質客観評価方法。
【請求項2】
請求項1において、
前記演算ステップは、動き補償機能を用いて他のブロックから参照される参照先ブロックのビット列に損失が生じている場合、参照先のブロックのビット列の損失が参照元のブロックに与える損失を演算し、
前記推定ステップは、前記演算ステップの演算結果に基づいて前記映像の主観品質を推定することを特徴とする映像品質客観評価方法。
【請求項3】
請求項1において、
前記演算ステップは、符号化処理により劣化した主観品質を、ビット列の損失が生じた場合の主観品質の最大値とすることを特徴とする映像品質客観評価方法。
【請求項4】
請求項1において、
前記演算ステップは、単一のフレーム内で生じた劣化の代表値として、ビット列の損失が生じたブロックの数を重み付きで演算した値を算出し、
前記推定ステップは、前記算出された値を前記主観品質の推定に用いることを特徴とする映像品質客観評価方法。
【請求項5】
請求項4において、
前記演算ステップは、単一フレーム内で生じた劣化の代表値を、映像を構成する全てのフレームで導出して、それらを重み付きで演算した値を算出し、
前記推定ステップは、前記算出された値を前記主観品質の推定に用いることを特徴とする映像品質客観評価方法。
【請求項6】
請求項4または請求項5において、
前記演算ステップでは、前記主観品質の推定に用いる重みを、動きベクトルデータの統計量または映像の再生端末が行う劣化隠蔽処理または劣化が発生した位置またはDCT係数の統計量または局所的な画素情報、またはそれらの組み合わせに応じて決定することを特徴とする映像品質客観評価方法。
【請求項7】
請求項6において、
前記演算ステップでは、動きベクトルデータの統計量として、フレーム内のすべてまたは一部のマクロブロックの動きベクトルの大きさまたは向きに関する統計量を用いることを特徴とする映像品質客観評価方法。
【請求項8】
請求項6において、
前記演算ステップでは、DCT係数の統計量として、フレーム内のすべてまたは一部のマクロブロックのDCT係数の統計量を用いることを特徴とする映像品質客観評価方法。
【請求項9】
請求項6において、
各種の劣化隠蔽処理による主観品質の改善量を予め主観品質評価実験を行うことにより測定してデータベース化するステップをさらに有し、
前記推定ステップは、映像品質の客観評価時には前記データベースを参照して、各劣化隠蔽処理に対してチューニングを行った主観品質を導出することを特徴とする映像品質客観評価方法。
【請求項10】
請求項6において、
前記推定ステップは、符号化された映像のビット列もしくは局所的な画素信号として復号された情報を用いて、前記劣化隠蔽処理による主観品質の改善量を推定することを特徴とする映像品質客観評価方法。
【請求項11】
請求項6において、
前記演算ステップでは、局所的な画素情報として、損失したビット列中に含まれるマクロブロックの近辺のマクロブロックの画素情報を用いることを特徴とする映像品質客観評価方法。
【請求項12】
請求項1において、
前記演算ステップは、失われたビット列で保存されていた情報が符号化の制御情報である場合、その符号化制御情報が主観品質に与える影響の度合いを演算し、
前記推定ステップは、前記演算ステップの演算結果に応じて前記映像の主観品質を推定することを特徴とする 映像品質客観評価方法。
【請求項13】
請求項1において、
前記推定ステップは、前記映像の主観品質を推定する映像品質の客観評価を行う時に、符号化方式またはフレームレートまたは前記映像の解像度に応じて評価式の最適化を行うことを特徴とする映像品質客観評価方法。
【請求項14】
請求項1,2,4の何れかにおいて、
前記ブロックは、フレームまたはスライスまたはマクロブロックまたはサブマクロブロックの何れかであることを特徴とする映像品質客観評価方法。
【請求項15】
視聴者が映像を見た時に体感する映像の主観品質を推定することにより前記映像の品質を客観的に評価する映像品質客観評価装置であって、
動き補償とDCT変換を用いて符号化された前記映像のビット列を受信する受信部と、
受信した前記映像のビット列に損失が生じている場合、失われたビット列と残ったビット列を用いて所定の演算を行う演算部と、
前記演算部の演算結果に基づいて前記映像の主観品質を推定する演算を行う推定部とを備え、
前記演算部は、失われたビット列で保存されていたフレームまたはスライスまたはマクロブロックまたはサブマクロブロックの空間もしくは時系列の位置情報を抽出し、
前記推定部は、抽出された前記空間の位置情報もしくは前記時系列の位置情報に基づいて前記映像の主観品質を推定することを特徴とする映像品質客観評価装置。
【請求項16】
動き補償とDCT変換を用いて符号化された映像のビット列を受信する処理と、
受信した前記映像のビット列に損失が生じている場合、失われたビット列で保存されていたフレームまたはスライスまたはマクロブロックまたはサブマクロブロックの空間もしくは時系列の位置情報を抽出する処理と、
抽出された前記空間の位置情報もしくは前記時系列の位置情報に基づいて前記映像の主観品質を推定する処理をコンピュータに実行させるプログラム。
【請求項17】
請求項6において、
前記推定ステップは、空間方向の劣化隠蔽処理の影響を表現する値と、時間方向の劣化隠蔽処理の影響を表現する値とを用いて、前記劣化隠蔽処理による主観品質の改善量を推定することを特徴とする映像品質客観評価方法。
【請求項18】
請求項17において、
前記空間方向の劣化隠蔽処理の影響を表現する値は、劣化領域の周辺の類似度と劣化領域の大きさとを用いて算出することを特徴とする映像品質客観評価方法。
【請求項19】
請求項17において、
前記時間方向の劣化隠蔽処理の影響を表現する値は、フレーム間の動きベクトルの大きさおよび向きの変化量を用いて算出することを特徴とする映像品質客観評価方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2009−260941(P2009−260941A)
【公開日】平成21年11月5日(2009.11.5)
【国際特許分類】
【出願番号】特願2009−41462(P2009−41462)
【出願日】平成21年2月24日(2009.2.24)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成21年11月5日(2009.11.5)
【国際特許分類】
【出願日】平成21年2月24日(2009.2.24)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]