(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5957532
(24)【登録日】2016年6月24日
(45)【発行日】2016年7月27日
(54)【発明の名称】ビデオシーケンスにおける知覚品質評価のためのシーン変化検出
(51)【国際特許分類】
H04N 19/87 20140101AFI20160714BHJP
H04N 19/172 20140101ALI20160714BHJP
H04N 19/146 20140101ALI20160714BHJP
H04N 19/139 20140101ALI20160714BHJP
H04N 19/136 20140101ALI20160714BHJP
H04N 19/159 20140101ALI20160714BHJP
【FI】
H04N19/87
H04N19/172
H04N19/146
H04N19/139
H04N19/136
H04N19/159
【請求項の数】34
【全頁数】29
(21)【出願番号】特願2014-534946(P2014-534946)
(86)(22)【出願日】2011年10月11日
(65)【公表番号】特表2015-501568(P2015-501568A)
(43)【公表日】2015年1月15日
(86)【国際出願番号】EP2011067741
(87)【国際公開番号】WO2013053385
(87)【国際公開日】20130418
【審査請求日】2014年5月19日
(73)【特許権者】
【識別番号】598036300
【氏名又は名称】テレフオンアクチーボラゲット エルエム エリクソン(パブル)
(73)【特許権者】
【識別番号】597149146
【氏名又は名称】ドイッチェ テレコム アーゲー
(74)【代理人】
【識別番号】100109726
【弁理士】
【氏名又は名称】園田 吉隆
(74)【代理人】
【識別番号】100101199
【弁理士】
【氏名又は名称】小林 義教
(72)【発明者】
【氏名】ペッテション, マルティン
(72)【発明者】
【氏名】アルギロプーロ, サヴァス
(72)【発明者】
【氏名】リンデグレン, ダーヴィド
(72)【発明者】
【氏名】リスト, ペーター
【審査官】
堀井 啓明
(56)【参考文献】
【文献】
特開平10−023421(JP,A)
【文献】
特開2010−136292(JP,A)
【文献】
特開平06−133305(JP,A)
【文献】
JIAN FENG,SCENE CHANGE DETECTION ALGORITHM FOR MPEG VIDEO SEQUENCE,PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP),米国,IEEE,1996年 9月16日,V1,P821-824
【文献】
BOZDAGI G,PREPROCESSING TOOL FOR COMPRESSED VIDEO EDITING,1999 IEEE 3RD WORKSHOP ON MULTIMEDIA SIGNAL PROCESSING,米国,IEEE,1999年 9月13日,P283-288
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00−19/98
(57)【特許請求の範囲】
【請求項1】
ストリーミングビデオ内のシーン変化を検出する方法であって、前記ストリーミングビデオは一連のピクチャを含み、前記方法は、
複数の位置について、連続したピクチャ内の同じ位置にあるマクロブロックをコード化するコスト間の差を計算することと、
複数の位置についての前記差の合計が閾値基準を満たす場合に新たなシーンを識別することと
を含み、
前記マクロブロックをコード化するコストは前記マクロブロックを符号化するのに使用される量子化パラメータ値に従って求められる、方法。
【請求項2】
ストリーミングビデオ内のシーン変化を検出する方法であって、前記ストリーミングビデオは一連のピクチャを含み、前記方法は、
動き補償を適用することと、
複数のピクセル位置について、連続したピクチャ内の同じ位置にあるマクロブロックをコード化するコスト間の差を計算することと、
複数のピクセル位置についての前記差の合計が閾値基準を満たす場合に新たなシーンを識別することと
を含み、
連続したピクチャ内の同じ位置にあるピクセルについての前記マクロブロックをコード化するコスト間の前記差は、動き補償が適用された後のピクセル位置について計算される、方法。
【請求項3】
ストリーミングビデオ内のシーン変化を検出する方法であって、前記ストリーミングビデオは一連のピクチャを含み、前記方法は、
複数の位置間のオフセットを連続したピクチャ内に含めることと、
前記複数の位置について、連続したピクチャ内の同じ位置にあるマクロブロックをコード化するコスト間の差を計算することと、
複数のオフセット値の各々について、前記複数のオフセット値に対応する複数の合計差を得るために、複数の位置についての前記差の合計を計算することと、
前記複数の合計差の最小値を閾値基準と比較することと、
前記複数の合計差の前記最小値が前記閾値基準を満たす場合に新たなシーンを識別することと
を含む、方法。
【請求項4】
ストリーミングビデオ内のシーン変化を検出する方法であって、前記ストリーミングビデオは一連のピクチャを含み、前記方法は、
複数のピクセル位置について、連続したピクチャ内の同じ位置にあるマクロブロックをコード化するコスト間の差を計算することと、
複数のピクセル位置についての前記差の合計が、最大閾値よりも高いか、または最小閾値よりも低い場合に新たなシーンを識別することと
を含む、方法。
【請求項5】
前記最大閾値および前記最小閾値の少なくとも1つは、複数の先行するピクチャのうちの連続するピクチャ間で計算される前記差から決定される、請求項4に記載の方法。
【請求項6】
前記最大閾値および前記最小閾値の少なくとも1つは、所定数の直接先行するピクチャ間で計算される差の加重平均をとることによって求められ、より最近のピクチャ間の前記差により大きい重みが与えられる、請求項4に記載の方法。
【請求項7】
ストリーミングビデオ内のシーン変化を検出する方法であって、前記ストリーミングビデオは一連のピクチャを含み、前記方法は、
複数のピクセル位置について、連続したピクチャ内の同じ位置にあるピクセル値間の差を計算することと、
前記差に、前記ピクセル位置に関連付けられるマクロブロックタイプに応じて決まる重みを適用することと、
複数のピクセル位置についての前記重みが適用された前記差の合計が閾値を満たす場合に新たなシーンを識別することと
を含み、
前記ピクセル位置に関連付けられる前記マクロブロックタイプは、前記連続したピクチャのうちの後者における前記ピクセル位置を符号化するのに使用されるマクロブロックタイプである、方法。
【請求項8】
ストリーミングビデオ内のシーン変化を検出する方法であって、前記ストリーミングビデオは一連のピクチャを含み、前記方法は、
動き補償を適用することと、
複数の位置について、連続したピクチャ内の同じ位置にあるピクセル値間の差を計算することと、
前記差に、前記位置に関連付けられるマクロブロックタイプに応じて決まる重みを適用することと、
複数の位置についての前記重みが適用された前記差の合計が閾値を満たす場合に新たなシーンを識別することと
を含み、
連続したピクチャ内の同じ位置にあるピクセル値間の前記差は、動き補償が適用された後のピクセル位置について計算される、方法。
【請求項9】
前記マクロブロックタイプは、スキップ、インターコード化マクロブロック、インターコード化サブブロック、イントラコード化マクロブロック、およびイントラコード化サブブロックのうちの1つを含む、請求項7又は8に記載の方法。
【請求項10】
ストリーミングビデオ内のシーン変化を検出する方法であって、前記ストリーミングビデオは一連のピクチャを含み、前記方法は、
ピクチャの符号化サイズを求めることと、
前記ピクチャのピクチャタイプを判定することと、
前記ピクチャの符号化サイズが、前記判定されたピクチャタイプについての閾値を超える場合に新たなシーンを識別することと
を含む、方法。
【請求項11】
前記ピクチャタイプは、前記ピクチャの前記符号化サイズに従って判定される、請求項10に記載の方法。
【請求項12】
前記ピクチャの前記符号化サイズに従って前記ピクチャタイプを判定することは、最近のピクチャの前記符号化サイズの記録を使用して実行される、請求項11に記載の方法。
【請求項13】
前記ピクチャタイプは、前記ストリーミングビデオのパケットヘッダから抽出される情報に従って判定される、請求項10に記載の方法。
【請求項14】
特定のピクチャタイプについての前記閾値は、前記特定のタイプのいくつかの最近のピクチャの前記符号化サイズの平均からの所定の偏差として決定される、請求項10に記載の方法。
【請求項15】
前記ピクチャタイプは、イントラコード化、単方向予測ピクチャ、および双方向予測ピクチャのうちの1つを含む、請求項10から14のいずれか一項に記載の方法。
【請求項16】
イントラコード化ピクチャの前記符号化サイズが閾値を超える場合に新たなシーンが識別される、請求項10から15のいずれか一項に記載の方法。
【請求項17】
ストリーミングビデオ内のシーン変化を検出する方法であって、前記ストリーミングビデオは一連のピクチャを含み、前記方法は、
ピクチャの符号化サイズを求めることと、
前記ピクチャの前記符号化サイズに従ってピクチャタイプを判定することと、
複数のピクセル位置について、連続したピクチャ内の同じ位置にあるピクセル値間の差を計算することと、
前記ピクセル値間の差を合計することによって連続したピクチャ間の差の指標を計算することと、
前記連続したピクチャ間の差の指標に、前記ピクチャタイプに応じて決まる重みを適用することと、
前記重みが適用された前記差の指標が閾値を超える場合に新たなシーンを識別することと
を含み、
前記ピクチャタイプは、イントラコード化、単方向予測ピクチャ、および双方向予測ピクチャのうちの1つを含む、方法。
【請求項18】
ストリーミングビデオに対するパケット損失の知覚的影響を判定する方法であって、前記ストリーミングビデオは一連のピクチャを含み、前記方法は、
パケット損失を識別することと、
失われたパケットが、新たなシーンの始まりにあるピクチャに関係する情報を含んでいたか否かを判定することとを含み、新たなシーンは、請求項1から17のいずれか一項に記載のシーン変化を検出する方法を使用して検出される、
方法。
【請求項19】
ストリーミングビデオに対するパケット損失の知覚的影響を判定する方法であって、前記ストリーミングビデオは一連のピクチャを含み、前記方法は、
パケット損失を識別することと、
失われたパケットが、新たなシーンの始まりにあるピクチャに関係する情報を含んでいたか否かを判定することとを含み、新たなシーンは、
複数の位置について、連続したピクチャ内の同じ位置にあるマクロブロックをコード化するコスト間の差を計算することと、
複数の位置についての前記差の合計が閾値基準を満たす場合に新たなシーンを識別することと
を含むストリーミングビデオ内のシーン変化を検出する方法を使用して検出される、方法。
【請求項20】
ストリーミングビデオに対するパケット損失の知覚的影響を判定する方法であって、前記ストリーミングビデオは一連のピクチャを含み、前記方法は、
パケット損失を識別することと、
失われたパケットが、新たなシーンの始まりにあるピクチャに関係する情報を含んでいたか否かを判定することとを含み、新たなシーンは、
複数のピクセル位置について、連続したピクチャ内の同じ位置にあるピクセル値間の差を計算することと、
前記差に、前記ピクセル位置に関連付けられるマクロブロックタイプに応じて決まる重みを適用することと、
複数のピクセル位置についての前記重みが適用された前記差の合計が閾値を満たす場合に新たなシーンを識別することと
を含むストリーミングビデオ内のシーン変化を検出する方法を使用して検出される、方法。
【請求項21】
ストリーミングビデオに対するパケット損失の知覚的影響を判定する方法であって、前記ストリーミングビデオは一連のピクチャを含み、前記方法は、
パケット損失を識別することと、
失われたパケットが、新たなシーンの始まりにあるピクチャに関係する情報を含んでいたか否かを判定することとを含み、新たなシーンは、
ピクチャの符号化サイズを求めることと、
前記ピクチャの前記符号化サイズに従ってピクチャタイプを判定することと、
複数のピクセル位置について、連続したピクチャ内の同じ位置にあるピクセル値間の差を計算することと、
前記ピクセル値間の差を合計することによって連続したピクチャ間の差の指標を計算することと、
前記連続したピクチャ間の差の指標に、前記ピクチャタイプに応じて決まる重みを適用することと、
前記重みが適用された前記差の指標が閾値を超える場合に新たなシーンを識別することと
を含むストリーミングビデオ内のシーン変化を検出する方法を使用して検出される、方法。
【請求項22】
ストリーミングビデオ内に新たなシーンが発生することの知覚的影響を判定する方法であって、前記ストリーミングビデオは一連のピクチャを含み、新たなシーンは、請求項1から17のいずれか一項に記載のシーン変化を検出する方法を使用して検出される、方法。
【請求項23】
ストリーミングビデオ内に新たなシーンが発生することの知覚的影響を判定する方法であって、前記ストリーミングビデオは一連のピクチャを含み、新たなシーンは、
複数の位置について、連続したピクチャ内の同じ位置にあるマクロブロックをコード化するコスト間の差を計算することと、
複数の位置についての前記差の合計が閾値基準を満たす場合に新たなシーンを識別することと
を含むストリーミングビデオ内のシーン変化を検出する方法を使用して検出される、方法。
【請求項24】
ストリーミングビデオ内に新たなシーンが発生することの知覚的影響を判定する方法であって、前記ストリーミングビデオは一連のピクチャを含み、新たなシーンは、
複数のピクセル位置について、連続したピクチャ内の同じ位置にあるピクセル値間の差を計算することと、
前記差に、前記ピクセル位置に関連付けられるマクロブロックタイプに応じて決まる重みを適用することと、
複数のピクセル位置についての前記重みが適用された前記差の合計が閾値を満たす場合に新たなシーンを識別することと
を含むストリーミングビデオ内のシーン変化を検出する方法を使用して検出される、方法。
【請求項25】
ストリーミングビデオ内に新たなシーンが発生することの知覚的影響を判定する方法であって、前記ストリーミングビデオは一連のピクチャを含み、新たなシーンは、
ピクチャの符号化サイズを求めることと、
前記ピクチャの前記符号化サイズに従ってピクチャタイプを判定することと、
複数のピクセル位置について、連続したピクチャ内の同じ位置にあるピクセル値間の差を計算することと、
前記ピクセル値間の差を合計することによって連続したピクチャ間の差の指標を計算することと、
前記連続したピクチャ間の差の指標に、前記ピクチャタイプに応じて決まる重みを適用することと、
前記重みが適用された前記差の指標が閾値を超える場合に新たなシーンを識別することと
を含むストリーミングビデオ内のシーン変化を検出する方法を使用して検出される、方法。
【請求項26】
コンピュータによって実行されると、前記コンピュータに、請求項1から25のいずれか一項に記載の方法を実行させる命令を担持するコンピュータ可読媒体。
【請求項27】
ストリーミングビデオ内のシーン変化を検出するための装置であって、前記ストリーミングビデオは一連のピクチャを含み、前記装置は、
複数の位置について、連続したピクチャ内の同じ位置にあるマクロブロックをコード化するコスト間の差を計算するように構成されているプロセッサと、
複数の位置についての前記差の合計が閾値基準を満たす場合に新たなシーンを識別するように構成されているシーン変化検出器と
を備え、
前記プロセッサは、前記マクロブロックをコード化するコストを、前記マクロブロックを符号化するのに使用される量子化パラメータ値に従って求める、
装置。
【請求項28】
ストリーミングビデオ内のシーン変化を検出するための装置であって、前記ストリーミングビデオは一連のピクチャを含み、前記装置は、
動き補償を適用するように構成されているとともに、複数のピクセル位置について、連続したピクチャ内の同じ位置にあるマクロブロックをコード化するコスト間の差を計算するように構成されているプロセッサと、
複数のピクセル位置についての前記差の合計が閾値基準を満たす場合に新たなシーンを識別するように構成されているシーン変化検出器と
を備え、
連続したピクチャ内の同じ位置にあるピクセルについての前記マクロブロックをコード化するコスト間の前記差は、動き補償が適用された後のピクセル位置について計算される、
装置。
【請求項29】
ストリーミングビデオ内のシーン変化を検出するための装置であって、前記ストリーミングビデオは一連のピクチャを含み、前記装置は、
複数の位置間のオフセットを連続したピクチャ内に含めるように構成され、複数の位置について、連続したピクチャ内の同じ位置にあるマクロブロックをコード化するコスト間の差を計算するように構成され、複数のオフセット値の各々について、前記複数のオフセット値に対応する複数の合計差を得るために、複数の位置についての前記差の合計を計算するように構成されているプロセッサと、
前記複数の合計差の最小値を閾値基準と比較するように構成され、前記複数の合計差の前記最小値が前記閾値基準を満たす場合に新たなシーンを識別するように構成されているシーン変化検出器と
を備える、装置。
【請求項30】
ストリーミングビデオ内のシーン変化を検出するための装置であって、前記ストリーミングビデオは一連のピクチャを含み、前記装置は、
複数のピクセル位置について、連続したピクチャ内の同じ位置にあるマクロブロックをコード化するコスト間の差を計算するように構成されているプロセッサと、
複数のピクセル位置についての前記差の合計が、最大閾値よりも高いか、または最小閾値よりも低い場合に新たなシーンを識別するように構成されているシーン変化検出器と
を備える、装置。
【請求項31】
ストリーミングビデオ内のシーン変化を検出するための装置であって、前記ストリーミングビデオは一連のピクチャを含み、前記装置は、
複数のピクセル位置について、連続したピクチャ内の同じ位置にあるピクセル値間の差を計算するように構成されているピクセル情報分析器と、
前記差に重みを適用するように構成されているプロセッサであって、前記重みは、前記ピクセル位置に関連付けられるマクロブロックタイプに応じて決まる、プロセッサと、
複数のピクセル位置についての前記重みが適用された前記差の合計が閾値を超える場合に新たなシーンを識別するように構成されているシーン変化検出器と
を備え、
前記ピクセル位置に関連付けられる前記マクロブロックタイプは、前記連続したピクチャのうちの後者における前記ピクセル位置を符号化するのに使用されるマクロブロックタイプである、装置。
【請求項32】
ストリーミングビデオ内のシーン変化を検出するための装置であって、前記ストリーミングビデオは一連のピクチャを含み、前記装置は、
複数の位置について、連続したピクチャ内の同じ位置にあるピクセル値間の差を計算するように構成されているピクセル情報分析器と、
動き補償を適用するように構成されているとともに、前記差に重みを適用するように構成されているプロセッサであって、前記重みは、前記位置に関連付けられるマクロブロックタイプに応じて決まる、プロセッサと、
複数の位置についての前記重みが適用された前記差の合計が閾値を超える場合に新たなシーンを識別するように構成されているシーン変化検出器と
を備え、
前記ピクセル情報分析器は、連続したピクチャ内の同じ位置にあるピクセル値間の前記差を、動き補償が適用された後のピクセル位置について計算する、装置。
【請求項33】
ストリーミングビデオ内のシーン変化を検出するための装置であって、前記ストリーミングビデオは一連のピクチャを含み、前記装置は、
ピクチャの符号化サイズを求め、前記ピクチャのピクチャタイプを判定するように構成されているプロセッサと、
前記ピクチャの符号化サイズが、前記判定されたピクチャタイプについての閾値を超える場合に新たなシーンを識別するように構成されているシーン変化検出器と
を備える、装置。
【請求項34】
ストリーミングビデオ内のシーン変化を検出するための装置であって、前記ストリーミングビデオは一連のピクチャを含み、前記装置は、
ピクチャの符号化サイズを求め、前記ピクチャの前記符号化サイズに従ってピクチャタイプを判定するように構成されているプロセッサであって、
前記プロセッサは、複数のピクセル位置についての連続したピクチャ内の同じ位置にあるピクセル値間の差、および、前記ピクセル値間の差を合計することによる連続したピクチャ間の差の指標を計算するようにさらに構成されており、
前記プロセッサは、前記連続したピクチャ間の差の指標に重みを適用するようにさらに構成されており、前記重みは前記ピクチャタイプに応じて決まる、プロセッサと、
前記重みが適用された前記差の指標が閾値を超える場合に新たなシーンを識別するように構成されているシーン変化検出器と
を備え、
前記ピクチャタイプは、イントラコード化、単方向予測ピクチャ、および双方向予測ピクチャのうちの1つを含む、装置。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、ストリーミングビデオ内のシーン変化を検出する複数の方法、ストリーミングビデオ上でのパケット損失の知覚的影響を判定する方法、ストリーミングビデオ内の新規シーンの発生の知覚的影響を判定する方法、およびコンピュータ可読媒体に関する。
【背景技術】
【0002】
テレビコンテンツおよびビデオコンテンツは、コンテンツ提供者からIPネットワークにわたってエンドユーザが使用するデバイスに送信されることができる。デバイスは、パーソナルコンピュータ、無線通信デバイス、セット・トップ・ボックス、セット・トップ・ボックス機能が内蔵されたテレビ、スマートTV、またはスマート・セット・トップ・ボックスであり得る。テレビコンテンツまたはビデオコンテンツには、通常それとともに送信されるオーディオコンテンツが関連付けられ得る。送信が「リアルタイム」で行われる場合、これは、送信が完了する前にコンテンツが表示されるという意味だが、これはストリーミングと称される。
【0003】
通信ネットワークにわたるビデオストリーミングはますます一般的になってきている。通信ネットワークを介してストリーミングされるビデオのエンド・ツー・エンド品質を保証するために、ネットワーク運営者およびビデオサービス提供者は、ビデオ品質モデルを使用し得る。ビデオ品質モデルは、コード化および送信に由来する、人間観察者に知覚可能であるアーティファクトまたは誤りを測定することによって、ビデオ品質の客観的評価を生成する。これは、人間がビデオサンプルを見てその品質をレーティングする主観的な品質評価に取って代わることができる。
【0004】
ビデオ品質モデルは学術界ではしばらく知られていたが、それらを使用することが標準的になってきたのはごく最近のことである。知覚的ビデオ品質モデルは、国際電気通信連合(ITU)規格J.144、J.247およびJ.341に記載されている。知覚モデルには、処理されたビデオ内のピクセル値を使用して品質スコアを求めることができるという利点がある。全参照モデル(上記ITU規格にあるような)の場合、処理されたビデオの劣化を予測するために参照信号も使用される。知覚モデルの大きな欠点は、計算的な要求が多く、ネットワークモニタリングを目的に大規模に展開するのに適していないことである。
【0005】
それゆえ、より軽量の手法が、ITU−T SG12/Q14においてワーキングネームP.NAMSで現在標準化されている。このモデルはその入力にネットワーク層プロトコルヘッダをとり、これらを使用して送信されるビデオの品質推定を行う。これによってモデルが実装および使用するのに非常に効率的になるが、それ自体では送信されるビデオの品質推定はやや粗いものである。それゆえ、ITU−T SG12/Q14はまた、ビデオ・ビット・ストリーム品質モデルをワーキングネームP.NBAMSで標準化する予定である。このモデルは、ネットワーク層プロトコルヘッダだけでなく、符号化エレメンタリストリームまたは「ビットストリーム」をも使用する。両方の入力のセットを使用することには、相当に軽量であり、同時に、P.NAMSモデルと比較してビデオの品質のより良好な推定値が得られるという利点がある。
【0006】
H.263、MPEG−4 Visual、MPEG−4 AVC(H.264)、および、ITUのJoint Collaborative Team on Video Coding(JCT−VC)において開発されている新生のH.265規格のようなコーデック規格を用いるブロックベースのコード化が、優勢なビデオ符号化技術である。ブロックベースのコード化は、ビデオを可能な限り効率的に圧縮することを可能にするために、種々のタイプのピクチャ(種々のタイプの予測を利用する)を使用する。イントラピクチャ(Iピクチャ)は、ピクチャ自体の中の領域から空間的にのみ予測され得る。予測ピクチャ(Pピクチャ)は、以前のコード化ピクチャ(複数の場合もあり)から時間的に予測される。しかしながら、Pピクチャ内のいくつかのマクロブロックはイントラ符号化され得る。双方向予測ピクチャ(Bピクチャ)は、以前のピクチャおよび以降のピクチャの両方から予測される。それに先行するピクチャを予測に使用することができないという制約があるIピクチャは、瞬時復号更新(IDR)ピクチャと呼ばれる。IピクチャおよびIDRピクチャは、ビットの点で、PピクチャおよびBピクチャよりも符号化するのにはるかにコストがかかることが多い。
【0007】
誤りが発生しやすい通信ネットワークにおいて誤り耐性を増大させるために、IピクチャまたはIDRピクチャが定期的に挿入されて、ビデオがリフレッシュされる。IピクチャまたはIDRピクチャはまた、ランダムアクセスおよびチャネル切替えを可能にするためにも、定期的に挿入される。さらに、ピクチャをPピクチャとして符号化する(引き起こされる歪みおよびビット割当ての両方に関する)コストが、ピクチャをIピクチャまたはIDRピクチャとして符号化するコストよりも大きいとき、IピクチャまたはIDRピクチャが挿入される。ピクチャの空間的冗長性がピクチャのその参照ピクチャとの時間的冗長性よりも高いときに、これが行われる。これは一般的に、考慮中のピクチャがシーンカットとしても知られているシーン変化であるときに起こり、これは、描画されているシーンがその先行するピクチャとはまったく異なることを意味する。強制的なイントラピクチャを適時に挿入すべきか否かは、ビデオコード化規格(復号手順のみを定義する)によっては定義されず、判断はエンコーダに委ねられる。
【0008】
平均して、テレビコンテンツは一般的に、3〜5秒ごとにシーン変化として知られるシーン間の遷移を含む。シーン変化は、2つのピクチャ間で瞬間的に発生するか、またはいくつかのピクチャにわたって消えていく場合がある。通常、シーン変化の一方からもう一方へと良好な時間的予測を行うことができないという事実があるため、スマートエンコーダは、シーンカットをIピクチャまたはIDRピクチャと位置整合するよう試行することが多い。
【0009】
国際公開第2009/012297号パンフレットは、パケットヘッダからのみの情報を利用することによってパケットを暗号解読することなく暗号化パケット・ビデオ・ストリーム内のフレームの内容を推定するための方法およびシステムを記載している。先行するピクチャグループ(GOP)の長さが異常に短く、最後から二番目のGOPの長さがその最大値に等しい場合、Iフレームが新たなシーンの始まりとして指示される。しかしながら、この方法に伴う主要な欠点は、通常GOP長において発生するシーン変化を識別することができないことである。たとえば、通常GOP長が25フレームである場合、フレーム番号25、50、75、100などにおいて発生するシーン変化を検出することはできない。さらに、より短いGOP長は必ずしも、考慮中のピクチャがシーン変化であることを意味するとは限らず、したがって、多くの誤検出をもたらす。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】国際公開第2009/012297号パンフレット
【発明の概要】
【課題を解決するための手段】
【0011】
本明細書において、品質評価モデルにおいて使用するのに適している複数のシーン変化検出方法が提供される。さらに、シーン変化検出を利用する品質評価モデルが提供される。
【0012】
シーン変化中に発生するパケット損失は、シーンの半ばに発生するパケット損失よりもはるかに目視可能であることが多い。したがって、パケット損失のような誤りの検出と組み合わせてシーン変化検出を使用する品質検出モデルが提供される。しかしながら、品質評価モデルを目的としたシーン変化検出方法は、シーン変化検出における任意の誤りが品質評価において増幅される可能性が高いため、非常に正確でなければならない。
【0013】
図1は、2つの状況におけるIピクチャ内のデータ損失の相対的影響を示す。
図1aは、新たなシーンの始まりにおけるIピクチャ内のデータ損失を示し、一方で、
図1bは、同様であるがシーンの半ばにおけるIピクチャにある損失を示す。
図1aにおいて、ピクチャ110は「不足部分」115を特徴とし、ここで、デコーダは新たなシーンのこの部分に関係するデータを受信しておらず、そのため前のシーンからのピクチャからの対応する部分を使用している。ここで、新たなシーンは競技場上の選手のものであり、一方で、前のシーンは観衆のものである。
図1bにおいて、データ損失は競技場上の選手を示すシーンの間に発生しており、そのため、データ損失ははるかに目立たないものである。ピクチャ120の右手側にいる上側の選手の細部が歪んでいるが、データ損失がかろうじて知覚可能である。
【0014】
さらに、シーン変化は、送信エラーが発生していない場合であっても、ビデオ信号の品質に影響を与える。一般的に、シーン変化を有するシーケンスは、概して符号化するのによりコストが大きいより複雑な内容を表すため、品質がより低い。加えて、新たなシーンの始まりにあるIピクチャは通常、IDRピクチャである(または、少なくともそうであるかのように振る舞う)。これによって、参照ピクチャの数が限られるため、圧縮効率が悪化する。
【0015】
ストリーミングビデオ内のシーン変化を検出する方法が提供され、ストリーミングビデオは、一連のピクチャを含む。方法は、複数の位置について、連続したピクチャ内の同じ位置にあるマクロブロックをコード化するコスト間の差を計算することを含む。方法は、複数の位置についての差の合計が閾値基準を満たす場合に新たなシーンを識別することを含む。
【0016】
ストリーミングビデオが符号化される場合、上記の方法は、符号化ビットストリームに対して動作し得る。方法は、ストリーミングビデオの復号を必要としない。
【0017】
差が計算される位置は、ピクセル位置、サブブロック位置、および/またはマクロブロック位置であり得る。ピクセル位置は、個々のピクセル位置またはピクセルグループの位置を含み得る。
【0018】
マクロブロックをコード化するコストはマクロブロックタイプに従って求められ得る。マクロブロックタイプは、スキップ、1つのパーティションとしてのインターコード化マクロブロック、複数のパーティションに細分化されたインターコード化マクロブロック、1つのパーティションとしてのイントラコード化マクロブロック、および、複数のパーティションに細分化されたイントラコード化マクロブロックのうちの1つを含み得る。各マクロブロックタイプの履歴平均コード化コストは、特定のマクロブロックタイプのみを使用する特定のマクロブロックにコード化コストを割り当てるのに使用され得る。
【0019】
方法は、動き補償を適用することをさらに含み得、それによって、連続したピクチャ内の同じ位置にあるピクセルについてのマクロブロックをコード化するコスト間の差が、動き補償が適用された後のピクセル位置について計算される。これは、ピクセル値間の差が、現在のピクチャのロケーションと、参照(前の)ピクチャ内のその動き補償されたロケーションとの間で計算されることを意味する。
【0020】
方法は、位置間のオフセットを連続したピクチャ内に含めることをさらに含み得る。複数のオフセット値の各々について、複数のオフセット値に対応する複数の合計差を得るために、複数の位置についての差の合計が計算され得る。方法は、複数の合計差の最小値を閾値基準と比較することをさらに含み得る。これによって、たとえば、連続したピクチャ間でパンする動きに起因する、それ以外は同様のマクロブロックの不整合が許容される。
【0021】
方法は、複数のピクセル位置についての差の合計が、最大閾値よりも高いか、または最小閾値よりも低い場合に新たなシーンを識別することを含む。少なくとも1つの閾値は、所定数の直接先行するピクチャ間で計算される差の加重平均をとることによって求められ得、より最近のピクチャ間の差により大きい重みが与えられる。これは時として、スライディングウィンドウを使用することとして参照される。
【0022】
ストリーミングビデオ内のシーン変化を検出するための装置も提供され、ストリーミングビデオは、一連のピクチャを含む。装置は、複数の位置について、連続したピクチャ内の同じ位置にあるマクロブロックをコード化するコスト間の差を計算するように構成されているプロセッサを備える。装置は、複数の位置についての差の合計が閾値基準を満たす場合に新たなシーンを識別するように構成されているシーン変化検出器をさらに備える。
【0023】
ストリーミングビデオ内のシーン変化を検出する方法がさらに提供され、ストリーミングビデオは、一連のピクチャを含む。方法は、複数の位置について、連続したピクチャ内の同じ位置にあるピクセル値間の差を計算することを含む。方法は、差に重みを適用することをさらに含み、重みは、位置に関連付けられるマクロブロックタイプに応じて決まる。方法は、複数の位置についての加重差の合計が閾値を超える場合に新たなシーンを識別することをさらに含む。
【0024】
方法は、動き補償を適用することをさらに含み得、連続したピクチャ内の同じ位置にあるピクセルについてのマクロブロックをコード化するコスト間の差が、動き補償が適用された後のピクセル位置について計算される。これは、ピクセル値間の差が、現在のピクチャのロケーションと、参照(前の)ピクチャ内のその動き補償されたロケーションとの間で計算されることを意味する。
【0025】
ストリーミングビデオ内のシーン変化を検出するための装置も提供され、ストリーミングビデオは、一連のピクチャを含む。装置は、複数の位置について、連続したピクチャ内の同じ位置にあるピクセル値間の差を計算するように構成されているピクセル情報分析器を備える。装置は、差に重みを適用するように構成されているプロセッサをさらに備え、重みは、位置に関連付けられるマクロブロックタイプに応じて決まる。装置は、複数の位置についての加重差の合計が閾値を超える場合に新たなシーンを識別するように構成されているシーン変化検出器をまたさらに備える。
【0026】
ストリーミングビデオ内のシーン変化を検出する方法がさらに提供され、ストリーミングビデオは、一連のピクチャを含む。方法は、ピクチャの符号化サイズを求めることを含む。方法は、ピクチャのピクチャタイプを判定することをさらに含む。方法は、符号化ピクチャサイズが、検出されたピクチャタイプについての閾値を超える場合に新たなシーンを識別することをまたさらに含む。
【0027】
ピクチャタイプは、ストリーミングビデオのパケットヘッダから抽出される情報に従って判定され得る。ピクチャタイプは、RTPまたはMPEG2−TS PESヘッダ内に含まれるタイムスタンプ情報から判定され得る。
【0028】
ピクチャタイプは、イントラコード化、単方向予測ピクチャ、および双方向予測ピクチャのうちの1つを含み得る。双方向予測ピクチャが、参照および/または非参照ピクチャであってもよい。
【0029】
ストリーミングビデオ内のシーン変化を検出するための装置も提供され、ストリーミングビデオは、一連のピクチャを含む。装置は、ピクチャの符号化サイズを求め、ピクチャのピクチャタイプを判定するように構成されているプロセッサを備える。装置は、符号化ピクチャサイズが、検出されたピクチャタイプについての閾値を超える場合に新たなシーンを識別するように構成されているシーン変化検出器をさらに備える。
【0030】
ストリーミングビデオ内のシーン変化を検出する方法がさらに提供され、ストリーミングビデオは、一連のピクチャを含む。方法は、ピクチャの符号化サイズを求めることを含む。方法は、ピクチャの符号化サイズに従ってピクチャタイプを判定することをさらに含む。方法は、複数のピクセル位置について、連続したピクチャ内の同じ位置にあるピクセル値間の差を計算することをさらに含む。方法は、ピクセル差を合計することによって連続したピクチャ間の差の
指標を計算することをさらに含む。方法は、連続したピクチャ間の差の
指標に重みを適用することをさらに含み、重みはピクチャタイプに応じて決まる。方法は、加重差が閾値を超える場合に新たなシーンを識別することをさらに含む。
【0031】
ピクチャタイプは、イントラコード化、単方向予測ピクチャ、および双方向予測ピクチャのうちの1つを含み得る。双方向予測ピクチャは、階層的および/または非階層的であってもよい。
【0032】
ストリーミングビデオ内のシーン変化を検出するための装置も提供され、ストリーミングビデオは、一連のピクチャを含む。装置は、ピクチャの符号化サイズを求め、ピクチャの符号化サイズに従ってピクチャタイプを判定するように構成されているプロセッサを備える。プロセッサは、複数のピクセル位置についての連続したピクチャ内の同じ位置にあるピクセル値間の差、および、ピクセル差を合計することによる連続したピクチャ間の差の
指標を計算するようにさらに構成されている。プロセッサは、連続したピクチャ間の差の
指標に重みを適用するようにさらに構成されており、重みはピクチャタイプに応じて決まる。装置は、加重差が閾値を超える場合に新たなシーンを識別するように構成されているシーン変化検出器をさらに備える。
【0033】
ストリーミングビデオに対するパケット損失の知覚的影響を判定する方法がさらに提供され、ストリーミングビデオは、一連のピクチャを含む。方法は、パケット損失を識別することを含む。方法は、失われたパケットが、新たなシーンの始まりにあるピクチャに関係する情報を含んでいたか否かを判定することをさらに含み、新たなシーンは、上述の方法のいずれかによるシーン変化を検出する方法を使用して検出される。
【0034】
コンピュータロジックによって実行されると、上記コンピュータロジックに、上述の方法のいずれかを実行させる命令を担持するコンピュータ可読媒体がさらに提供される。
【0035】
ここで例示のみを目的として、添付の図面を参照して、シーン変化検出方法および品質評価モデルを説明する。
【図面の簡単な説明】
【0036】
【
図1b】2つの状況におけるIピクチャ内のデータ損失の相対的影響を示す図である。
【
図2】符号化ビデオストリームから抽出される特徴を使用してシーン変化を識別する方法を示す流れ図である。
【
図3b】マクロブロックタイプを使用したピクチャ比較を示す図である。
【
図4】ビデオストリームおよび復号ピクセルデータから抽出される特徴を使用してシーン変化を識別する方法を示す流れ図である。
【
図5】符号化ビデオストリームのパケットヘッダ情報を使用してシーン変化を識別する方法を示す流れ図である。
【
図6】ピクチャタイプが各ピクチャのサイズからどのように判定されるかの一例を示す図である。
【
図7】上述の方法を具現化するシーン変化検出手順の流れ図である。
【
図8】パケットヘッダ情報および復号ピクセルデータを使用してシーン変化を識別する方法を示す流れ図である。
【
図9】上述の方法を実行するための装置を示す図である。
【発明を実施するための形態】
【0037】
本明細書において、以下の4セットの状況下でビデオ品質モデルに使用するための4つの異なるタイプのシーン変化検出が提示される。
i)ピクセルデータの復号が可能でないか、または許可されないかのいずれかであるときに符号化ビデオ・ビット・ストリームから抽出または計算される特徴を使用する。
ii)ピクセルデータの復号が許可されるときにビデオ・ビット・ストリームから抽出または計算される特徴を使用する。
iii)符号化ビデオ信号のパケットヘッダ情報を使用する。
iv)パケットヘッダ情報およびビデオ・ビット・ストリームを復号することによって得られるピクセルデータを使用する。
【0038】
復号ピクセルデータにアクセスすることができるモデルは、可能性として、知覚されるビデオ品質のより正確な推定を行うことが可能となる。しかしながら、これには、メモリおよび処理能力を含むリソースに対する需要が増大するとともに複雑性がより高くなるという犠牲が伴う。
【0039】
本明細書に提示する4つの異なる動作モードは、ビデオ品質評価モジュールの複雑な要件から、または、ビデオ信号の暗号化に起因して特定の情報がないことからのいずれかで指定される。たとえば、ビデオ品質測定が電力リソースの限られたネットワークロケーション内で展開される場合、または、ビデオ信号が暗号化される場合、モード(iii)が適切となる。モデルがエンドユーザ宅にある復号デバイス内で展開され、ビデオ信号が暗号化される場合、本発明は、再構築されたピクチャからのピクセルデータ(たとえば、エンド・ユーザ・デバイスから捕捉することができる)をさらに使用することができ、モード(iv)が適切となる。ビデオ信号が暗号化されない場合、システムは、複雑な仕様および要件に応じてモード(i)および(ii)に記載されているようなビデオ・ビット・ストリームの特徴を利用することができる。
【0041】
(i)符号化ビデオストリームから抽出される特徴を使用する
ストリーミングビデオ内のシーン変化のこの検出方法は、
複数の位置について、連続したピクチャ内の同じ位置にあるマクロブロックをコード化するコスト間の差を計算することと、複数の位置についての差の合計が閾値基準を満たす場合に新たなシーンを識別することとを含む。
【0042】
この方法は、ストリーミングビデオ内の2つの連続したピクチャに適用されるものとして、
図2の流れ図に示されている。210において、比較されることになるピクチャ位置が選択される。いくつかの実施態様について、すべてのピクチャロケーションが比較され得るが、他の実施態様については、所定のパターンまたはさらにはランダムなパターンのいずれかに従ってサブセットが選択される。220において、両方のピクチャ内の、選択されたピクチャ位置の各々にあるマクロブロックをコード化するコストに関係する値が求められる。230において、2つのピクチャ間のコード化コストの差が選択された位置の各々において計算される。これらの差が合計されて、合計差が閾値と比較される。合計差が閾値を超える場合、シーン変化が発生したと判定される。
【0043】
このシーン変化検出方法は、品質評価モデルが、
1つまたは複数のピクチャの損失、
ピクチャの一部の損失であって、このピクチャはIピクチャまたはIDRピクチャとして符号化されている、ピクチャの一部の損失、
ピクチャの一部の損失であって、ピクチャ内のイントラコード化マクロブロックの割合が閾値を超えており、それによって、ピクチャがIピクチャまたはIDRピクチャに同様の影響を及ぼす、ピクチャの一部の損失
のうちの1つを検出する場合に利用され得る。
【0044】
方法は、2つのピクチャに適用され得、一方はデータ損失の前に行われ、他方はその後に行われる。方法は、2つのピクチャ間で比較を行うことを含む。これによって、シーン変化の間に損失が発生したか否かを判定することが可能になる。しかしながら、シーン変化検出方法はまた、たとえ損失が発生しなかったとしても適用され得る。
【0045】
あるピクチャ内のある位置にあるマクロブロックをコード化するコストの指標は、動きベクトル、マクロブロックタイプ、マクロブロックコード化に使用されるビット数、および/または量子化値を使用して求めることができる。
【0046】
マクロブロックをコード化するコストを求めるために動きベクトルが使用される場合、マクロブロックの動きベクトルの方向およびサイズが使用される。動きベクトルのサイズが大きくなるほど、コード化コストが大きくなる。動きベクトルの方向も、コード化コストに影響を及ぼし得る。この手法は、シーン変化が発生する多くの事例を検出することができる。極めて動きがないシーンについて、動きベクトルのみの手法は、シーン変化を検出することが可能でないことになる(すなわち、1つの動きがないシーンからもう1つの動きがないシーンへのシーン変化は、動きベクトルを見ることによって検出することが困難である)。
【0047】
コード化コストは、ピクチャの特定の領域の複雑部を分析することによって求めることもできる。複雑部は、使用されるビット数、または、特定のマクロブロック位置内で使用されるマクロブロックのタイプを見ることによって測定することができる。マクロブロックタイプについて、各タイプのマクロブロックに、下記の表に従って数を割り当てることができ、コストのかかるマクロブロックがより高い値を割り当てられる。
【0048】
図3に示すピクチャ比較が、表1に対応するスコアリングシステムによるマクロブロックタイプを使用する。この例における各ピクチャのサイズは例示を目的として5×5マクロブロックのみである。実際には、一般的なピクチャサイズは多くの場合、QCIFビデオフォーマット(11×9マクロブロック)〜フルHDビデオ(120×68マクロブロック)である。
図3aにおいて、マクロブロックタイプを記号によって以下のように、サブブロックを含むイントラマクロブロックを円によって、イントラ16×16を正方形によって、サブブロックを含むインターマクロブロックを三角形によって、インター16×16を空白によって、スキップをバツ印によって示す。
図3aは、3つの連続したピクチャ301、302、303を示す。
【0049】
図3bは、
図3a内の連続したピクチャ対に対する差分マップを示す。第1の差分マップはピクチャ301と302との間のマクロブロック値による絶対差を含む。第2の差分マップはピクチャ302と303との間のマクロブロック値による絶対差を含む。第1の差分マップ内の平均差は3.8であり、第2の差分マップ内の平均差は22.4である。マクロブロックタイプの分布は例では3つのピクチャについて同じであるが、差は複雑部の位置に起因して非常に異なっている。ピクチャ301および302内の複雑部は非常に類似した位置にあり、一方で、ピクチャ302および303内の複雑部は非常に異なった位置にある。
【0050】
上記の方法は、1つまたは2つのマクロブロックの不整合を許容するように拡張することができる。これによって、カメラのパンのような特定の動きを補償することができ、結果をより正確にすることができる。たとえば、マクロブロックタイプパターンに関して言えば、たとえ比較されるべき2つのピクチャが非常に類似している場合であっても、ピクチャの1つの中のすべてのブロックが(たとえば、カメラの動きに起因して)わずかにずれている場合、それらはなお高い差分値を得る場合がある。1つまたは2つのブロックの不整合を許容することは、ブロック間の差の計算が周囲のブロックの値を考慮することになることを意味する。実際には、これは、ブロックについての差が、そのブロックをすべての周囲のブロックと比較することによって得られる複数の差分値のうちの最小値になることを意味し得る。
【0051】
ピクチャ302のある位置にあるあるマクロブロックについての差は、ピクチャ301の位置(m+x,n+y)にあるマクロブロックについての差分値(たとえば、表1)の最小値であり、mおよびnはピクチャ301内のそのマクロブロックの位置を示し、xおよびyは、それぞれ水平方向および垂直方向における、ピクチャ301のマクロブロック位置とピクチャ302のマクロブロック位置との間のずれを示し、xおよびyは、(−1,−1)、(−1,0)、(−1,1)、(0,−1)、(0,0)、(0,1)、(1,−1)、(1,0)、および(1,1)の値のうちのいずれかをとる。
【0052】
さらに、上記の方法は、動き補償を考慮に入れるように拡張することができる。それ自体から予測することしかできないIピクチャとは対照的に、PピクチャおよびBピクチャは以前の(および時として将来の)ピクチャから予測する。他のピクチャからの予測は、単に、他のピクチャにおける正確に対応するピクセル位置から予測することによって行うことができるか、または、動きベクトルを適用して、他のピクチャ内の異なる空間位置から予測することができる。これは、2つのピクチャ間に自然な動きがあるときに特に有用である。
【0053】
動き補償は、ここでは、差を計算する前に動きベクトルに従って補償されるべきブロックを位置整合させる目的で適用され得る。たとえば、三角形によってマークされている
図3aのピクチャ302内のサブブロックを含む一番上のインターマクロブロックを考える。ピクチャの左上のピクセルがピクセル位置(0,0)を有し、各マクロブロックは16×16ピクセルを含む。対象マクロブロックは、ピクセル位置(16,16)に左上のピクセルを有する。これが、右に1つずれてそれに隣接するマクロブロック位置にある前のピクチャ内のマクロブロックから導き出される場合、これは、ピクチャ301のピクセル位置(32,16)を指す動きベクトルmv(x,y)=(16,0)を有することになる。差を計算する前に動き補償を実行することによって、このマクロブロックについて差は35ではなく0であるという結果になる。
【0054】
無論、動きベクトルは必ずしもマクロブロックのサイズと整合しなければならないわけではなく、任意のピクセルを指し得る(H.264においては二分の一および四分の一ピクセル位置さえある)。これに適応するために、方法は、動きベクトルが指すピクセル位置に最も近いブロックを選択し得るか、または、方法は、予測されるブロックと交差する4つのブロックの重み付けを実行し得る。たとえば、動きベクトルmv(x,y)=(−12,3)がピクチャ302内の同じ対象マクロブロック(三角形によってマークされている一番上のマクロブロック)の符号化において使用されるとする。このとき、左上のピクセルが位置(4,19)にある16×16ブロックから予測が行われることになり、ピクチャ301からの位置(0,16)、(16,16)、(0,32)および(16、32)にあるマクロブロックから重み付けが行われる。重みは以下のように計算され得る。
【0055】
パラメータのマッチングのより安定した結果を得るためのまた別の方法は、スライディングウィンドウ手法を使用していくつかのピクチャにわたって平均をとることである。この平均差を前のピクチャの平均差で除算することによって、nおよび1/nの静的閾値を使用してシーン変化を検出することが可能になる。たとえば、下記の2系列の平均絶対差が得られ得る。
シーケンスa:3.3 2.3 3.8 22.4 20.3 21.0
シーケンスb:8.4 7.3 7.8 1.2 2.2 2.0
【0056】
これらの値をその前の値で除算することによって、以下がもたらされる。
シーケンスa: 0.7 1.7 9.7 0.9 1.0
シーケンスb: 0.9 1.1 0.2 1.8 0.9
【0057】
n=3を使用することは、3を上回る、または0.33を下回る値がシーン変化が発生したことを示すことを意味する。上記例において、両方のシーケンスについて4番目のピクチャにおいてシーン変化が検出された。
【0058】
代替的な実施形態において、上記の方法において使用されるものとしての、表1のマクロブロックタイプによる割り当てられる値は、各マクロブロックをコード化するために使用されるビット数に置き換えられる。
【0059】
またさらなる実施形態において、量子化パラメータ(QP)の差も、QPが1つのピクチャにわたって突然に降下または増大する場合にシーン変化を示し得る。
【0060】
量子化パラメータ(QP)は、2つのブロックの間の差がどれだけ量子化されるべきかを決定づける。変換されたピクセル差の各係数が、QPおよび対応するルックアップテーブルによって決定づけられる量子化ステップの1つに量子化される。高いQPは、量子化ステップの忠実度がより低いことを意味し、結果として品質は低くなり、低いQPは、量子化ステップの忠実度がより高いことを意味し、品質は高くなる。したがって、QPは、符号化に起因する品質劣化の良好な指標であり、ビットレート制御アルゴリズムによって、利用可能なビットレートを所与として品質を最大化するために頻繁に使用される。QPは、各マクロブロックに対して個々にセットされ得るが、各マクロブロックについてQPをあちこちに変更することは相対的にコストがかかるため、大きいQP差は通常ピクチャごとにセットされる。
【0061】
(ii)ビデオストリームおよび復号ピクセルデータから抽出される特徴を使用する
ビデオストリーム情報からシーン変化を検出するための上記の方法は、復号ピクセルデータが分析に利用可能である場合に拡張することができる。これは、ピクセルデータを生成してストリーミングビデオを表示するために暗号化ビデオ・ビット・ストリームを復号することができるセット・トップ・ボックスの場合に当てはまり得る。無論、そのような復号は分配ネットワーク内の他のノードにおいて実行され得るが、これは通常、処理要件に起因して行われ、ビデオ・ビット・ストリームが暗号化される場合には可能でない場合がある。
【0062】
ストリーミングビデオ内のシーン変化を検出する方法が提供され、ストリーミングビデオは、一連のピクチャを含み、方法は、複数の位置について、連続したピクチャ内の同じ位置にあるピクセル値間の差を計算することと、差に重みを適用することであって、重みは位置に関連付けられるマクロブロックタイプに応じて決まる、適用することと、複数の位置についての加重差の合計が閾値を超える場合に新たなシーンを識別することとを含む。
【0063】
これは、同じシーンに属する2つの連続したピクチャのピクセル値はわずかにしか異ならず(描画されているシーンが受ける、1つのピクチャからもう1つのピクチャへの平行移動、回転、またはスケーリングは小さいため)、一方で、2つの連続したピクチャが異なるシーンに属する場合(すなわち、2つの検査されているピクチャの間にシーン変化がある場合)、ピクセル値の差ははるかに高くなると予測されるという原理に基づく。
【0064】
さらに、マクロブロックタイプを重み付け因子として含める動機は、これは、予測可能性、および、検討中のピクチャとその参照ピクチャ(複数の場合もあり)との空間ロケーション間の時間的冗長性の指標を提供することに由来する。以下において、H.264/AVCビデオコード化規格において指定されているマクロブロック符号化モードについてソリューションを説明する。しかしながら、同じ原理が他のブロックベースのビデオコード化規格に適用されてもよい。
【0065】
スキップモードにおいて符号化されるマクロブロックは、その参照ピクチャに類似するピクチャに属する可能性が高く、それゆえ、シーン変化ではない。同様に、インター16×16符号化モードは一般的に、前のピクチャ(複数の場合もあり)によって非常に効率よく時間的に予測することができる均一な領域を表すマクロブロックに対して選択される。したがって、ここでも、これらのマクロブロックがシーン変化であるフレーム内に現れる可能性は低いことが明らかである。
【0066】
他方、イントラ4×4符号化モードは、通常、それらの時間的および空間的予測因子によって非常に低い時間的冗長性を呈するマクロブロックに対して選択される。それゆえ、これらのマクロブロックはシーン変化であるフレーム内に現れる可能性がより高い。
【0067】
したがって、後続のピクチャのピクセル値の差はマクロブロックタイプに従って重み付けされる。特に、マクロブロックが複数のサブブロックに分割される場合、連結ピクセル値は前のピクチャから現在のピクチャまでで変化したことになると予測され、そのため、そのようなマクロブロックタイプに関連付けられるピクセル差に増大した重みが与えられる。スキップマクロブロック(および、わずかに狭い範囲でフルサイズイントラおよびインターマクロブロック)は、現在のフレームと前のフレームとの間で非常に類似した連結ピクセル値をとると予測され、そのため、これらのマクロブロックについての任意のピクセル値差はより軽い重みを与えられる。
【0068】
この方法を示す流れ図は、ストリーミングビデオ内の2つの連続したピクチャに適用されるものとして、
図4に示されている。410において、比較されることになるピクチャ位置が選択される。いくつかの実施態様について、すべてのピクチャロケーションが比較され得るが、他の実施態様については、所定のパターンまたはさらにはランダムなパターンのいずれかに従ってサブセットが選択される。420において、2つのピクチャ間のピクセル値の差が選択された位置の各々において計算される。430において、計算された差に重みが適用され、この重みは、後者のピクチャ内の各位置のピクセル値を符号化するのに使用されるマクロブロックタイプに応じて決まる。440において、これらの加重差が合計される。450において、合計差が閾値と比較される。合計差が閾値を超える場合、シーン変化が発生したと判定される。
【0069】
2つの連続するピクチャ内の連結位置にあるピクセル値間の加重差が検査される。より具体的には、
がk番目のピクチャのm行目かつn列目にあるピクセル値を示すものとする。その後、検討中のピクチャと前のピクチャとの間の差を以下のように計算する。
【0070】
代替形態として、この方法は、連続したピクチャ間の動きを計算するために、現在のピクチャと前の動き補償されたピクチャとの間で差が計算されるように拡張され得る。さらに、たとえば、絶対差の合計または二乗差の合計のような、任意の他の歪みメトリックが使用され得る。
【0071】
差、または動き補償された差のいずれかを使用して、前のピクチャと比較した現在のピクチャ内のピクセルの差が、現在のピクチャ内のピクセルが属するマクロブロックタイプに基づいて重み付けされる。各マクロブロックタイプに割り当てられる重みの一例を表2に与える。
【0072】
したがって、すべてのピクチャについて、以下の加重和が計算される。
【0073】
その後、検査されているピクチャが新たなシーンの始まりであるか否かを判定するために、加重和が閾値
と比較される。計算された差が閾値を超える場合、現在のピクチャはシーン変化であると示される。
【0074】
(iii)符号化ビデオ信号のパケットヘッダ情報を使用する
いくつかの事例において、ストリーミングビデオの送信経路に沿って、シーン変化を判定するための唯一の利用可能な情報が、ビデオ信号を搬送するパケットヘッダである。この事例において、各ピクチャのサイズおよびタイプを、パケットヘッダから情報を抽出することによって計算することができる。
【0075】
したがって、ストリーミングビデオ内のシーン変化を検出する方法が提供され、ストリーミングビデオは一連のピクチャを含み、方法は、ピクチャの符号化サイズを求めること、ピクチャのピクチャタイプを判定すること、符号化ピクチャサイズが、検出されたピクチャタイプに対する閾値を超える場合に新たなシーンを識別することとを含む。
【0076】
方法は、
図5に示す流れ図によって示される。510において、ビデオ・ビット・ストリームのパケットヘッダから符号化ピクチャサイズが求められる。520において、ピクチャサイズが使用されて、ピクチャタイプが判定される。これは、下記に説明するように、異なるピクチャタイプのサイズが識別可能な範囲内に入るために可能なことである。その後、530において、Iピクチャのピクチャサイズが閾値基準と比較され、閾値基準は、判定されたピクチャタイプに応じて決まる。1つのピクチャタイプのサイズが大幅に変化する場合にシーン変化が検出される。1つのピクチャタイプのサイズが閾値を超える場合にシーン変化が検出され得る。閾値は、所定であり得る、所定でありビデオストリームの符号化パラメータに応じて決まり得る、または、1つまたは複数のタイプの最近受信されたピクチャのサイズに従って決定され得る。
【0077】
ピクチャタイプは各ピクチャのサイズから判定される。
図6は、これがどのように行われ得るかの一例を示す。
図6内に示すグラフ600は、0〜59とナンバリングされた一連の60枚のピクチャのピクチャサイズを示す。ピクチャ番号を水平軸610上に示し、ピクチャサイズを垂直軸620内に示す。Iピクチャ、PピクチャおよびBピクチャが、グラフ600の左上隅にある凡例に従って示されている。
図6に示すように、IピクチャはPピクチャよりも大きく、PピクチャはBピクチャよりも大きい。
図6から明らかなように、Iピクチャの符号化サイズは第1の範囲601内に入り、Pピクチャの符号化サイズは第2の範囲602内に入り、Bピクチャの符号化サイズは第3の範囲603内に入る。
【0078】
代替的に、ピクチャタイプは、それらのサイズおよび検査されているビデオ・ビット・ストリームのGOPパターンの両方を使用してパケットヘッダ情報から判定されてもよい。そのような方法は、欧州特許出願公開第2010171431.9号明細書に記載されており、その内容を本明細書に援用する。各GOP内の遭遇するフレームサイズの、一般的な所定のGOPパターンに対するパターンマッチングによって、GOPパターンが推定される。この推定GOPパターンが分かっていることによって、すべての後続のフレームのタイプを推定することができる。
【0079】
この代替的なピクチャタイプ判定方法は、
a. フレームサイズの配列を得るために、最初のイントラフレーム、すなわちIフレームに後続するすべてのビデオフレームのフレームサイズ(バイト単位)を捕捉するステップと、
b. いくつかのフレームの後に、フレームサイズの配列を0および1の配列に変換するステップであって、0は、双方向フレーム、すなわちBフレームに対して想定されるような小さいフレームサイズを表し、1は予測フレーム、すなわちPフレームに対して想定されるような大きいフレームサイズを表す、変換するステップと、
c. (b)において得られる0および1の配列を、いくつかの所定の二値パターンに対してマッチングするステップであって、上記所定の二値パターンは可能なGOP構造を表す、マッチングするステップと、
d. ステップ(c)における上記マッチングの結果を、単一のスコア値を形成するために変換するステップと、
e. 所定のメトリックに従って、最良のスコア値を有する、いくつかの所定の二値パターンのうちの特定のパターンを求めるステップと
を含む。
【0080】
この代替的な方法は、単一のフレームのフレームサイズに基づいてフレームタイプを判定するのではなく、複数のフレームおよびそれらのそれぞれのフレームサイズを考慮して、それらを所定のパターンとマッチングし、そのマッチングから、GOPの構造、およびしたがって各ピクチャのタイプを判定する。
【0081】
図6は例示に過ぎず、第1の範囲、第2の範囲および第3の範囲は、ビデオ解像度、符号化パラメータ、および内容の時空複雑性を含むいくつかの要因に応じて決まる。しかしながら、3つのタイプのピクチャ間の相対的な差は、このブロックベースコード化の特性であり、範囲は、直前のピクチャから導出することができる。
【0082】
以下は、上述の方法を具現化するシーン変化検出手順の詳細な説明である。この手順は、
図7の流れ図によって示される。一般的に、新たなシーンはIピクチャで始まることになり、そのため、この手順は、ビデオストリーム内の各検出されたIピクチャに適用されて、それが新たなシーンの始まりであるか否かが判定される。
【0083】
ビデオ・ビット・ストリームが受信されて、710において、ピクチャサイズおよびピクチャタイプの計算が上述のように実行される。720において、最近のピクチャ内の内容変化を反映するために、Iピクチャのサイズが前のPピクチャのサイズに基づいて正規化される。Iピクチャの新たな正規化サイズI_k^normは以下によって与えられる。
式中、
はk番目のIピクチャのサイズを表し、スケーリングファクタscale_factor
kは以下によって与えられる。
式中、
は現在のGOP内のk番目のPピクチャのピクチャサイズであり、Mは現在のGOP内のPピクチャの総数である。
【0084】
730において、現在のIピクチャのピクチャサイズと、その前のIピクチャの正規化ピクチャサイズとの比が以下のように計算される。
【0085】
また、現在のIピクチャの前および後のPピクチャサイズの比が以下のように計算され、
現在のIピクチャの前および後のBピクチャサイズの比が以下のように計算される。
【0086】
740において、比
が所定値T_I_highよりも高い、または別の値T_I_lowよりも低いか否かについて判定が行われる。本明細書において参照される所定の閾値「T」の各々の例は、さらに下記の表3において与えられる。
【0087】
比
が所定値T_I_highよりも大きいか、または別の値T_I_lowよりも低い場合、さらなる判定750が行われる。750において、
もしくは
、または
もしくは
であるか否かが判定される。これらの条件のうちのいずれかが満たされる場合、780において、現在のIピクチャが新たなシーンの始まりであると判定される。これらの条件のうちのいずれも満たされなかった場合、現在のIピクチャは新たなシーンの始まりではないと判定され、プロセスは790において次のIピクチャに進む。
【0088】
比
が所定値T_I_highより大きくなく、別の値T_I_lowより低くもない場合、さらなる判定760が行われる。760において、
または
であるか否かが判定される。これらの条件のうちのいずれも満たされなかった場合、現在のIピクチャは新たなシーンの始まりではないと判定され、プロセスは790において次のIピクチャに進む。判定760においてこれらの条件のうちのいずれかが満たされる場合、プロセスは判定770に進む。
【0089】
770において、
もしくは
、または
もしくは
であるか否かが判定される。これらの条件のうちのいずれかが満たされる場合、780において、現在のIピクチャが新たなシーンの始まりであると判定される。これらの条件のうちのいずれも満たされなかった場合、現在のIピクチャは新たなシーンの始まりではないと判定され、プロセスは790において次のIピクチャに進む。
【0090】
上記から、以下の条件(a)または条件(b)のいずれかが満たされる場合にIピクチャがシーンカットであるとして示されることが分かる。
すべての他の事例において、現在のIピクチャはシーン変化であるとしては示されない。
【0091】
前述の閾値の値が表3に与えられる。他の閾値が使用されてもよい。
【0092】
(iv)パケットヘッダ情報および復号ピクセルデータを使用する
この方法において、ビデオ信号を搬送するパケットヘッダ、およびまた、ピクセル値(またはピクセル値から抽出される特徴)の両方からの情報を利用することによって、シーン変化が検出される。セクション(ii)において上記で説明したように、復号ピクセルデータは、たとえば、セット・トップ・ボックスにおける分析のために利用可能である。さらに、そのような復号は分配ネットワーク内の他のノードにおいて実行され得るが、これは通常、処理要件に起因して行われ、ビデオストリームが暗号化される場合には可能でない場合がある。
【0093】
この方法は、2つのピクチャ間の差を求めるためにピクセル値を使用し、差が有意に十分である場合、2つのピクチャ間でシーン変化が発生したと判定される。本方法は、これに、シーン変化はIピクチャで発生する可能性がより高く、Pピクチャで発生する可能性はより低く、Bピクチャで発生する可能性は非常に低いことを組み込む。2つのピクチャ間のピクセル位置の比較から計算される差が、これを考慮に入れるために重み付けされる。
【0094】
したがって、ストリーミングビデオ内のシーン変化を検出する方法が提供され、ストリーミングビデオは一連のピクチャを含み、方法は、ピクチャの符号化サイズを求めること、ピクチャの符号化サイズに従ってピクチャタイプを判定すること、複数のピクセル位置について、連続したピクチャ内の同じ位置にあるピクセル値間の差を計算することと、ピクセル差を合計することによって、連続したピクチャ間の差の
指標を計算することと、連続したピクチャ間の差の
指標に、ピクチャタイプに応じて決まる重みを適用することと、加重差が閾値を超える場合に新たなシーンを識別することとを含む。
【0095】
この方法を示す流れ図が、
図8に示されている。810において、ビデオ・ビット・ストリームのパケットヘッダから符号化ピクチャサイズが求められる。820において、ピクチャサイズが使用されて、ピクチャタイプが判定される。これは、上記で説明したように、異なるピクチャタイプのサイズが識別可能な範囲内に入るために可能なことである。830において、比較されることになるピクチャ位置が選択される。いくつかの実施態様について、すべてのピクチャロケーションが比較され得るが、他の実施態様については、所定のパターンまたはさらにはランダムなパターンのいずれかに従ってサブセットが選択される。840において、2つのピクチャ間のピクセル値の差が選択された位置の各々において計算される。850において、これらの差が合計される。860において、合計差に重みが適用され、この重みは、後者のピクチャのピクチャタイプに応じて決まる。870において、加重差が閾値と比較される。合計差が閾値を超える場合、シーン変化が2つのピクチャのうちの後者で発生したと判定される。
【0096】
この方法は、ビデオ・ビット・ストリームから特徴を直接抽出することが実現可能でない場合に、ビデオ・ビット・ストリームが暗号化される場合に適用され得る。暗号化されるにもかかわらず、最終的に表示デバイス内に表示される、再構築されたピクチャが、シーン変化検出のために捕捉および利用される。
【0097】
パケットヘッダ情報を使用したピクチャタイプおよびサイズの計算は、前のセクションで説明したように実行される。その後、考慮されているピクチャ間の差の程度を求めるために、2つの後続のピクチャのピクセル値が検査される。シーン変化は符号化段階において検出されていることになると予測されるため、ピクチャ間の差は計算されたピクチャタイプに従って重み付けされる。それゆえ、Iピクチャは、新たなシーンの始まりを表している可能性が、PピクチャまたはBピクチャよりも高い。
【0098】
より具体的には、
がk番目のピクチャのm行目かつn列目にあるピクセル値を示すものとする。その後、検討中のピクチャと後続のピクチャとの間の差を以下のように計算する。
式中、k=0,...,K−1であり、m=0,...,M,であり、n=0,...,Nであり、K、M、Nは、それぞれ、ビデオシーケンスのピクチャ数、ピクチャ内の行数、およびピクチャ内の列数を示す。次のステップにおいて、2つの考慮されているピクチャ内のピクセルの差が、ピクチャタイプに基づいて重み付けされる。各マクロブロックタイプに割り当てられる重みの一例を表4に与える。
【0099】
したがって、すべてのピクチャについて、以下の加重和が計算される。
【0100】
その後、検査されているピクチャがシーンカットであるか否かを判定するために、加重和が閾値と比較される。
【0101】
図9は、上述の方法を実行するための装置を示す。復号器910およびパケットヘッダ分析器920の両方によってビデオ・ビット・ストリームが受信される。復号器910はビデオ・ビット・ストリームを復号して、ピクセル値の形態の復号ビデオを出力デバイス930に出力する。復号ビデオは、復号器910から、ピクセル情報分析器940にも出力される。シーンカット検出器950が、パケットヘッダ分析器920からのピクチャタイプ指標およびピクセル情報分析器940からのピクセル差分値の両方を使用して、シーン変化がいつ発生するかの判定を行う。パケットヘッダ分析器920、ピクセル情報分析器940およびシーンカット検出器950は、すべて、汎用プロセッサ960内に含まれてもよい。
【0102】
上述のシーン変化検出方法は、品質モデルにおいて使用するのに適している。よりロバストな指標を得るために、上記の方法の1つまたは複数を並列して実行してもよい。たとえば、同じ方法が、マクロブロックをコード化するコストを、1つの方法におけるその動きベクトルから、およびその後、別の方法におけるそのタイプから判定するなど、異なる基準を使用して2回実行されてもよい。これらの方法の各々からの独立した指標を組み合わせて、シーン変化のよりロバストな検出を行うことができる。
【0103】
品質モデルにおいて、データ損失が検出されると、データ損失が新たなシーンの始まりにあるピクチャに影響を与えていたか否かに関する判定を行うことができる。損失の影響は総品質スコアに組み込まれる。たとえば、新たなシーンの始まりにあるIピクチャに大きい損失があると、これは、別のピクチャと比較した均等な損失よりも品質に大きな影響を及ぼすことになる。
【0104】
1つの実施形態において、品質モデルは加法モデルを使用して構築される。その後、Iピクチャシーン変化損失の低下が、以下に従って総スコアから減算される。
MOS
est=clean_score−packet_loss_degradation−scene_change_loss_degradation
【0105】
別の実施形態において、品質モデルは乗法モデルを使用して構築される。その後、Iピクチャシーン変化損失の低下が、以下によって求められる。
MOS
est=clean_score・packet_loss_degradation・scene_change_loss_degradation
【0106】
上記例の両方において、「packet_loss_degradation」および「scene_change_loss_degradation」は0〜1の値である。
【0107】
本明細書に記載の方法において実行される動作の正確な順序および内容は、実行パラメータの特定のセットの要件に応じて変更されてもよいことが、当業者には諒解されよう。従って、動作が記載および/または特許請求されている順序は、動作が実行されるべき順序に対する厳密な限定として解釈されるべきではない。
【0108】
さらに、特定のビデオ送信規格の文脈において例が与えられているが、これらの例は開示される方法および装置が適用され得る通信規格の限定であるようには意図されていない。