(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-22
(45)【発行日】2022-10-03
(54)【発明の名称】ビデオへの情報埋め込み方法、コンピュータ機器及びコンピュータプログラム
(51)【国際特許分類】
G06T 7/194 20170101AFI20220926BHJP
【FI】
G06T7/194
(21)【出願番号】P 2021532214
(86)(22)【出願日】2020-04-21
(86)【国際出願番号】 CN2020085939
(87)【国際公開番号】W WO2020224428
(87)【国際公開日】2020-11-12
【審査請求日】2021-07-01
(31)【優先権主張番号】201910385878.4
(32)【優先日】2019-05-09
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514187420
【氏名又は名称】テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ガオ,チェンチィォン
(72)【発明者】
【氏名】イン,ゼロン
(72)【発明者】
【氏名】シィエ,ニィェンフゥア
【審査官】堀井 啓明
(56)【参考文献】
【文献】特開2019-32830(JP,A)
【文献】特開2014-48949(JP,A)
【文献】特開2018-88247(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/194
(57)【特許請求の範囲】
【請求項1】
実行機器が実行する、ビデオへの情報埋め込み方法であって、
参照フレームにおける埋め込み領域の画素分布特性を満たすモデルを構築し、前記参照フレームの後続の検出対象のフレームに基づいて前記モデルの更新を制御するステップと、
前記モデルに基づいて、前記検出対象のフレームにおける埋め込み領域内の背景及び前景を認識し、前記背景を遮蔽し前記前景を露出させるためのテンプレートを生成するステップと、
埋め込み対象の情報を前記テンプレートに適用することで、前記埋め込み対象の情報のうち、前記前景を遮蔽するコンテンツをブロックするステップと、
前記テンプレートが適用された前記埋め込み対象の情報を、前記検出対象のフレームにおける埋め込み領域に被覆することで、前記前景を前記埋め込み対象の情報に対して強調表示するステップと、を含む、ことを特徴とするビデオへの情報埋め込み方法。
【請求項2】
参照フレームにおける埋め込み領域の画素分布特性を満たすモデルを構築することは、
前記参照フレームにおける埋め込み領域の各ピクセルに対応して、前記ピクセルに対応する少なくとも1つのサブモデルと前記少なくとも1つのサブモデルに対応する重み付けとを初期化するステップと、
各ピクセルに対応して構築されたサブモデルを、初期化された重み付けに基づいて混合することで、前記ピクセルに対応するモデルを形成するステップと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項3】
前記参照フレームの後続の検出対象のフレームに基づいて前記モデルの更新を制御することは、
前記検出対象のフレームにおける埋め込み領域が前記前景により遮蔽されたことに応じて、前記モデルを前記検出対象のフレームにおける埋め込み領域へフィッティングする速度を低減させるステップと、
前記検出対象のフレームにおける埋め込み領域が前記前景により遮蔽されていないとともに、前記検出対象のフレームにおける埋め込み領域の光照射状況が変化したことに応じて、前記モデルを前記検出対象のフレームにおける埋め込み領域へフィッティングする速度を向上させるステップと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項4】
前記参照フレームの後続の検出対象のフレームに基づいて前記モデルの更新を制御することは、
前記検出対象のフレームにおける埋め込み領域のピクセルが対応するモデルにおける少なくとも1つのサブモデルとマッチングされたことに応じて、前記マッチングされたサブモデルのパラメータを更新し、前記対応するモデルにおけるマッチングされていないサブモデルのパラメータを不変に維持するステップを含む、ことを特徴とする請求項1に記載の方法。
【請求項5】
前記モデルに基づいて、前記検出対象のフレームにおける埋め込み領域内の背景及び前景を認識することは、
前記検出対象のフレームにおける埋め込み領域の各ピクセルの色値と、前記ピクセルに対応するモデルにおけるサブモデルとをマッチングするステップと、
マッチングに成功したピクセルを前記背景のピクセルとして認識し、マッチングに失敗したピクセルを前記前景のピクセルとして認識するステップと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項6】
前記背景を遮蔽し前記前景を露出させるためのテンプレートを生成することは、
前記検出対象のフレームにおける埋め込み領域内の、背景として認識されたピクセルに対応し、中空の前記テンプレートにおける対応する位置に二進数の1を充填するステップと、
前記検出対象のフレームにおける埋め込み領域内の、前景として認識されたピクセルに対応し、二進数の1が充填された前記テンプレートにおける対応する位置に二進数の0を充填するステップと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項7】
埋め込み対象の情報を前記テンプレートに適用することは、
前記埋め込み対象の情報と、前記テンプレートにおける各位置に充填された二進数とをかけ算するステップを含む、ことを特徴とする請求項1に記載の方法。
【請求項8】
ビデオが移動ショットを用いて形成されたことに応じて、前記ビデオの参照フレームにおける埋め込み領域から抽出された特徴と、前記検出対象のフレームから抽出された特徴とをマッチングするステップと、
マッチングに成功したことに応じて、前記検出対象のフレームが前記参照フレームにおける埋め込み領域に対応する埋め込み領域を含むと決定するステップと、をさらに含む、ことを特徴とする請求項1~請求項7のいずれかに記載の方法。
【請求項9】
ビデオが移動ショットを用いて形成されたことに応じて、
前記参照フレームの後続の検出対象のフレームに基づいて前記モデルの更新を制御する前に、変換後の埋め込み領域における各ピクセルの位置が、前記参照フレームにおける埋め込み領域の対応するピクセルの位置に一致するように、前記検出対象のフレームにおける埋め込み領域を変換するステップと、
埋め込み対象の情報を前記テンプレートに適用する前に、変換後のテンプレートにおける各二進数の位置が、前記検出対象のフレームにおける埋め込み領域の対応するピクセルの位置に一致するように、前記テンプレートに対して前記変換の逆変換を行うステップと、をさらに含む、ことを特徴とする請求項1~請求項7のいずれかに記載の方法。
【請求項10】
ビデオが固定ショットを用いて形成されたことに応じて、前記参照フレームにおける埋め込み領域の位置に基づいて、前記検出対象のフレームにおいて対応する位置の領域を位置づけすることで、前記検出対象のフレームにおける埋め込み領域を決定するステップをさらに含む、ことを特徴とする請求項1~請求項7のいずれかに記載の方法。
【請求項11】
前記検出対象のフレームにおける埋め込み領域の第1の色空間分布と、前記参照フレームにおける埋め込み領域の第1の色空間分布とが第1の差異性条件を満たすことに応じて、前記検出対象のフレームにおける埋め込み領域が前記前景により遮蔽されていると決定するステップと、
前記検出対象のフレームにおける埋め込み領域の第2の色空間分布と、前記参照フレームにおける埋め込み領域の第2の色空間分布とが第2の差異性条件を満たすことに応じて、前記検出対象のフレームにおける埋め込み領域の光照射状況が変化したと決定するステップと、をさらに含む、ことを特徴とする請求項1~請求項7のいずれかに記載の方法。
【請求項12】
コンピュータ機器であって、
実行可能な命令を記憶するメモリと、
前記メモリに記憶されている実行可能な命令が実行されると、請求項1~請求項11のいずれかに記載の方法を実現するプロセッサと、を含む、ことを特徴とするコンピュータ機器。
【請求項13】
コンピュータプログラムであって、
コンピュータプログラムがプロセッサによってロードされて実行されると、請求項1~請求項11のいずれかに記載の方法を実現する、ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2019年5月9日に提出された、出願番号が201910385878.4であり、発明名称が「ビデオへの情報埋め込み方法、装置及び記憶媒体」である中国特許出願の優先権について優先権を主張し、その内容の全てが参照により本願に組み込まれる。
【0002】
本願は、グラフィック画像技術に関し、特に、ビデオへの情報埋め込み方法、コンピュータ機器及び記憶媒体に関する。
【背景技術】
【0003】
ビデオは、現在の主流の情報媒体であり、インターネット、特にモバイルインターネットの発展に伴い、ビデオの伝播速度が迅速に向上されることで、ビデオが情報伝播の重要な経路となっている。ビデオの情報埋め込みとは、ビデオの主要内容(例えば、前景コンテンツ)の視聴に影響を与えることなく、ビデオの背景に、様々な情報、例えば、画像、文字又は両者の組み合わせなどを含む普及情報を重畳することである。
【0004】
ビデオの主体コンテンツ(例えば、ビデオ内の人物、ビデオの後期製作際に追加された特殊効果など)は、前景コンテンツの形式で表示される。ビデオを放送する際、ユーザから常にビデオの主体コンテンツを見えるようにするために、情報をビデオの背景コンテンツに融合する必要がある。関連技術では、効果的な解決案に欠けている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本願の実施例は、情報をビデオの背景コンテンツに高効率に融合することができる、ビデオへの情報埋め込み方法、コンピュータ機器及び記憶媒体を提供する。
【課題を解決するための手段】
【0006】
本願の実施例の技術案は、以下のように実現される。
本願の実施例は、
参照フレームにおける埋め込み領域の画素分布特性を満たすモデルを構築し、前記参照フレームの後続の検出対象のフレームに基づいて前記モデルの更新を制御するステップと、
前記モデルに基づいて、前記検出対象のフレームにおける埋め込み領域内の背景及び前景を認識し、前記背景を遮蔽し前記前景を露出させるためのテンプレートを生成するステップと、
埋め込み対象の情報を前記テンプレートに適用することで、前記埋め込み対象の情報のうち、前記前景を遮蔽するコンテンツをブロックするステップと、
前記テンプレートが適用された前記埋め込み対象の情報を前記検出対象のフレームにおける埋め込み領域に被覆することで、前記前景を前記埋め込み対象の情報に対して強調表示するステップと、を含む、ビデオへの情報埋め込み方法を提供する。
【0007】
本願の実施例は、
参照フレームにおける埋め込み領域の画素分布特性を満たすモデルを構築し、前記参照フレームの後続の検出対象のフレームに基づいて前記モデルの更新を制御するモデル構築モジュールと、
前記モデルに基づいて、前記検出対象のフレームにおける埋め込み領域内の背景及び前景を認識し、前記背景を遮蔽し前記前景を露出させるためのテンプレートを生成するテンプレート生成モジュールと、
埋め込み対象の情報を前記テンプレートに適用することで、前記埋め込み対象の情報のうち、前記前景を遮蔽するコンテンツをブロックするテンプレート適用モジュールと、
前記テンプレートが適用された前記埋め込み対象の情報を前記検出対象のフレームにおける埋め込み領域に被覆することで、前記前景を前記埋め込み対象の情報に対して強調表示する情報被覆モジュールと、を含む、ビデオへの情報埋め込み装置を提供する。
【0008】
1つの選択的な実施形態では、前記装置は、
前記参照フレームにおける埋め込み領域の各ピクセルに対応して、前記ピクセルに対応する少なくとも1つのサブモデルと前記少なくとも1つのサブモデルに対応する重み付けとを初期化するパラメータ初期化モジュールと、
各ピクセルに対応して構築されたサブモデルを初期化された重み付けに基づいて混合することで、前記ピクセルに対応するモデルを形成する重み付け混合モジュールと、をさらに含む。
【0009】
1つの選択的な実施形態では、前記装置は、
前記検出対象のフレームにおける埋め込み領域が前記前景により遮蔽されたことに応じて、前記モデルを前記検出対象のフレームにおける埋め込み領域へフィッティングする速度を低減させる重み付け維持モジュールと、
前記検出対象のフレームにおける埋め込み領域が前記前景により遮蔽されていないとともに、前記検出対象のフレームにおける埋め込み領域の光照射状況が変化したことに応じて、前記モデルを前記検出対象のフレームにおける埋め込み領域へフィッティングする速度を向上させるフィッティング加速モジュールと、をさらに含む。
【0010】
1つの選択的な実施形態では、前記装置は、
前記検出対象のフレームにおける埋め込み領域のピクセルが対応するモデルにおける少なくとも1つのサブモデルとマッチングされたことに応じて、前記マッチングされたサブモデルのパラメータを更新し、前記対応するモデルにおけるマッチングされていないサブモデルのパラメータを不変に維持するパラメータ更新モジュールをさらに含む。
【0011】
1つの選択的な実施形態では、前記装置は、
前記検出対象のフレームにおける埋め込み領域の各ピクセルの色値と、前記ピクセルに対応するモデルにおけるサブモデルとをマッチングする第1のマッチングモジュールと、
マッチングに成功したピクセルを前記背景のピクセルとして認識し、マッチングに失敗したピクセルを前記前景のピクセルとして認識する認識モジュールと、をさらに含む。
【0012】
1つの選択的な実施形態では、前記装置は、
前記検出対象のフレームにおける埋め込み領域内の、背景として認識されたピクセルに対応し、中空の前記テンプレートにおける対応する位置に二進数の1を充填し、
前記検出対象のフレームにおける埋め込み領域内の、前景として認識されたピクセルに対応し、二進数の1が充填された前記テンプレートにおける対応する位置に二進数の0を充填する充填モジュールをさらに含む。
【0013】
1つの選択的な実施形態では、前記装置は、
前記埋め込み対象の情報と、前記テンプレートにおける各位置に充填された二進数とをかけ算する演算モジュールをさらに含む。
【0014】
1つの選択的な実施形態では、前記装置は、
ビデオが移動ショットを用いて形成されたことに応じて、前記ビデオの参照フレームにおける埋め込み領域から抽出された特徴と、前記検出対象のフレームから抽出された特徴とをマッチングする第2のマッチングモジュールと、
マッチングに成功したことに応じて、前記検出対象のフレームが参照フレームにおける埋め込み領域に対応する埋め込み領域を含むと決定する領域決定モジュールと、をさらに含む。
【0015】
1つの選択的な実施形態では、前記装置は、
ビデオが移動ショットを用いて形成されたことに応じて、
前記参照フレームの後続の検出対象のフレームに基づいて前記モデルの更新を制御する前に、変換後の埋め込み領域における各ピクセルの位置が、前記参照フレームにおける埋め込み領域の対応するピクセルの位置に一致するように、前記検出対象のフレームにおける埋め込み領域を変換する領域変換モジュールと、
埋め込み対象の情報を前記テンプレートに適用する前に、変換後のテンプレートにおける各二進数の位置が、前記検出対象のフレームにおける埋め込み領域の対応するピクセルの位置に一致するように、前記テンプレートに対して前記変換の逆変換を行うテンプレート逆変換モジュールと、をさらに含む。
【0016】
1つの選択的な実施形態では、前記装置は、
ビデオが固定ショットを用いて形成されたことに応じて、前記参照フレームにおける埋め込み領域の位置に基づいて、前記検出対象のフレームにおいて対応する位置の領域を位置づけすることで、前記検出対象のフレームにおける埋め込み領域を決定する領域位置づけモジュールをさらに含む。
【0017】
1つの選択的な実施形態では、前記装置は、
前記検出対象のフレームにおける埋め込み領域の第1の色空間分布と、前記参照フレームにおける埋め込み領域の第1の色空間分布とが第1の差異性条件を満たすことに応じて、前記検出対象のフレームにおける埋め込み領域が前記前景により遮蔽されていると決定する第1の決定モジュールと、
前記検出対象のフレームにおける埋め込み領域の第2の色空間分布と、前記参照フレームにおける埋め込み領域の第2の色空間分布とが第2の差異性条件を満たすことに応じて、前記検出対象のフレームにおける埋め込み領域の光照射状況が変化したと決定する第2の決定モジュールと、をさらに含む。
【0018】
本願の実施例は、
実行可能な命令を記憶するメモリと
前記メモリに記憶されている実行可能な命令が実行されると、本願の実施例に係る方法を実現するプロセッサと、を含む、コンピュータ機器を提供する。
本願の実施例は、実行可能な命令が記憶されており、実行可能な命令がプロセッサによって実行されると、本願の実施例に係る方法を実現する、記憶媒体を提供する。
本願の実施例は、コンピュータプログラムが記憶されており、プロセッサによってロードされて実行されると、本願の実施例に係る方法を実現する、コンピュータプログラム製品を提供する。
【発明の効果】
【0019】
本願の実施例は、以下の有益な効果を有する。
参照フレームにおける埋め込み領域の画素分布に基づいて特性モデルを構築し、モデルに基づいて検出対象のフレームにおける埋め込み領域の背景及び前景を認識し、背景を遮蔽し前景を露出させることができるテンプレートを生成し、埋め込み対象の情報にテンプレートを適用すると、埋め込まれた情報のうち、前景を遮蔽するコンテンツをフィルタリンすることができ、ビデオに埋め込まれた情報がビデオの前景を遮蔽することがないように確保し、埋め込まれた情報をビデオの背景によりよく融合することができ、それにより、より良好な視聴体験をもたらす。
【図面の簡単な説明】
【0020】
【
図1A】本願の実施例に係るマスクによる画像処理の模式図である。
【
図1B】本願の実施例に係る適用シーンの模式図である。
【
図2】本願の実施例に係る装置の1つの選択的な構成の模式図である。
【
図3】本願の実施例に係るビデオへの情報埋め込み方法の模式的なフローチャートである。
【
図4】本願の実施例に係るモデルの構築及び更新の模式的なフローチャートである。
【
図5】本願の実施例に係るビデオへの情報埋め込み方法の他の模式的なフローチャートである。
【
図6】本願の実施例に係るビデオへの情報埋め込み方法の他の模式的なフローチャートである。
【
図7】本願の実施例に係るビデオへの情報埋め込み方法の他の模式的なフローチャートである。
【
図8A】本願の実施例に係る固定ショットを用いたビデオに情報を埋め込む効果の模式図である。
【
図8B】本願の実施例に係る固定ショットを用いたビデオに情報を埋め込む他の効果の模式図である。
【
図8C】本願の実施例に係る移動ショットを用いたビデオに情報を埋め込む効果の模式図である。
【
図8D】本願の実施例に係る移動ショットを用いたビデオに情報を埋め込む他の効果の模式図である。
【
図9A】本願の実施例に係る形態学によるマスク改善の模式図である。
【
図9B】本願の実施例に係る形態学によるマスク改善の他の模式図である。
【発明を実施するための形態】
【0021】
以下、本願の目的、技術案及び利点をより明瞭にするために、図面を参照しながら本願についてさらに詳細に説明し、説明される実施例は本願に対する制限と見なすべきではない。当業者が創造的な労力を要さずに得られる全ての他の実施例は、すべて本願の保護範囲に属する。
【0022】
以下の説明において、「一部の実施例」に関し、すべての選択的な実施例のサブセットが説明されるが、「一部の実施例」は、すべての選択的な実施例の同じサブセット又は異なるサブセットであってもよく、矛盾しない限り、互いに組み合わせることができることが理解され得る。
【0023】
以下の説明において、係る用語「第1\第2\第3」は、単に類似する対象を区別するものであり、対象に対する特定の順序付けを表すものではない。「第1\第2\第3」は、許可される場合に、特定の順番又は順序を交換することができ、ここで説明された本出願の実施例をここで図示又は説明される順序以外の順序で実施可能なことが理解され得る。
【0024】
特別な定義がない限り、本明細書に使用される全ての技術及び科学的用語は、当業者が一般的に理解する意味と同じである。本明細書で使用される用語は、本出願の実施例の目的を説明するためのものに過ぎず、本出願を限定するものではない。
【0025】
本願の実施例についてさらに詳細に説明する前に、本願の実施例に係る名詞及び用語について説明し、本願の実施例に係る名詞及び用語は以下の説明に該当する。
【0026】
1)マスクは、フィルター又はテンプレートとも呼ばれ、処理対象の画像における(一部又は全部)画素を遮蔽するための画像であり、特定の画像の一部を強調表示するようにする。
マスクは、2次元行列配列であってもよく、多値画像を用いる場合もある。画像マスクは、主に、画像のいくつかの領域を遮蔽するためのものである。元画像における各画素での二進数と、マスクにおける同じ位置での二進数(マスクとも称する)とをAND演算する。例えば、1&1=1、1&0=0。
例えば、
図1Aにおける101に示す3*3の画像と、
図1Aにおける102に示す3*3のマスクとを演算し、
図1Aでの103に示す結果画像を得る。
【0027】
2)固定ショットは、固定ショット(Fixed Shot、FS)であり、ビデオカメラの位置、レンズの光軸及び焦点距離が変わらないショットである。固定ショットのビデオにおけるキャラクター(リアルキャラクターが例えば人、仮想キャラクターが例えばアニメーションキャラクターである)は、静止しているものであってもよいし、移動している(画面に出入りする)ものであってもよいが、画面が依存するフレームワークは動かないものであり、すなわち、画面範囲及び可視領域面積は、常に同じである。
【0028】
3)移動ショットは、様々な移動(例えば、ビデオカメラの位置、光軸、焦点距離の変化)を利用して撮像されるショットである。移動ショットのビデオにおける画面が依存するフレームワークは、変化可能であり、すなわち、画面範囲及び可視領域の面積は、変化可能であり、例えば、結像の距離、大きさ及び角度が変化可能である。
【0029】
4)背景は、ビデオの画面における主体の後ろの景物であり、人物又はイベントが位置する時間・空間的環境を表すことができ、例えば、人物の後の建物、壁、地面である。
【0030】
5)前景は、ビデオ画面における背景よりもショットに近いコンテンツであり、ビデオに表示される主体であり、例えば、建物の前に立っている人物である。
【0031】
本願の実施例に係るビデオへの情報埋め込み方法についてよりよく理解するために、まず、関連技術で、ビデオに埋め込まれた情報による遮蔽の課題に対する解決案について分析して説明する。
【0032】
背景削減は、一定の閾値を手動で設定し、ビデオにおける、潜在的な前景を含む新しい領域をオリジナルな背景領域と減算し、閾値と比較することで、背景が前景により遮蔽されているか否かを決定し、さらに遮蔽された部分に対応するマスクを形成することである。解決案は、前景と背景に対する判定が手動で選択された閾値に依存するため、自動化程度が低く、頻繁に調整する必要があり、前景の色が背景の色に近い場合、前景と背景との間の削減が徹底的ではなく、正確性が低い。
【0033】
固定ショットのガウス混合背景モデリングは、固定ショットに対して、遮蔽されていない背景を選択してモデリングし、後続の画像フレームに対して、背景が前景により遮蔽されているか否かをモデルで判別することで、遮蔽された部分のマスクを形成することである。解決案は、固定ショットのビデオにしか適用できず、移動ショットのビデオの場合、背景を前景として認識しやすいため、同様に、正確性が低い。
【0034】
軌跡分類は、初期フレームにおいて興味のあるターゲット点をマーキングし、移動追跡モデルを利用して、埋め込まれた情報における特徴点の軌跡を取得し、軌跡に基づいて、前景と背景とを判別することである。解決案は、画像フレームにおけるノイズに敏感であり、正確性が移動追跡モデルに依存する。選択された移動追跡モデルが不適切であると、前景と背景との判別の正確性に非常に大きい影響を与えてしまう。
【0035】
上記複数の解決案に存在する技術課題に対して、本願の実施例は、ビデオへの情報埋め込み方法を提供し、ビデオ配列と全画素統計モデリングとを組み合わせる方法を用いることで、静止ショットのビデオに対して、背景を自動的に選択してモデリングし、後続のフレームが学習率を自動的に更新してモデルを最適化することを実現し、統計された特徴を使用して、遮蔽されているか否かを判定し、マスクを形成する一方、移動ショットのビデオに対して、変換技術を使用して参照フレームの標準画面にマッピングして画素統計モデリングを行い、後続のフレームの画面に戻って遮蔽マスクを取得し、移動追跡モデルが必要とされず、リアルタイム性が高く、適用範囲が広く、ロバスト性が高く、自動的かつ高効率に使用することができる。
【0036】
以下、本願の実施例を実現する装置の例示的な適用について説明し、本願の実施例に係る装置は、携帯電話(スマートフォン)、タブレットパソコン、ノートパソコンなど、無線通信能力を有するモバイル端末として実施されてもよいし、移動しにくく、演算機能を有するデスクトップコンピュータ、デスクトップコンピュータなどとして実施されてもよい。また、本願の実施形態に係る装置は、サーバーとして実施されてもよい。サーバーとは、1台のサーバーであってもよいし、複数台のサーバーで構成されるサーバークラスター、クラウドコンピューティングセンターなどであってもよいが、ここでは限定しない。
【0037】
図1Bを参照すると、
図1Bは、本願の実施例に係る適用シーンの模式図であり、1つの例示的な適用をサポートすることを実現する。端末400は、ネットワーク300を介してサーバー200に接続されており、ネットワーク300は、広域エリアネットワーク、又は、ローカルエリアネットワーク、又は両者の組合せであることができ、無線リンクを用いてデータ伝送を実現する。
【0038】
端末400がビデオ(端末により録画されたビデオであり得る)に情報(広告であり得る)を埋め込もうとすることに応じ、端末400は、ビデオ及び埋め込もうとする情報をサーバー200に送信し、ビデオに情報を埋め込むことをサーバー200に要求する。この場合、サーバー200は、ビデオ及び埋め込み対象の情報を受信すると、本願の実施例に係るビデオへの情報埋め込み方法を利用して、埋め込み対象の情報をビデオの各フレームに追加し、パッケージ化することで、パッケージ化されたビデオファイルを得て、最後にパッケージ化されたビデオファイルを端末400に送信する。端末400は、広告が埋め込まれたビデオを発表することができる。
【0039】
一部の実施例では、端末400がビデオの録画を完了して埋め込み対象の情報を決定した場合、端末400自体は、本願の実施例に係るビデオへの情報埋め込み方法を利用して、埋め込み対象の情報をビデオの各フレームに追加し、パッケージ化してビデオファイルを取得し、次に、ビデオを見るAPPにより、広告が埋め込まれたビデオを発表してもよい。なお、端末の演算量及び埋め込み効率を低減させるために、一般的に、時間が短いビデオの場合に、端末自体が情報埋め込みを行う。
【0040】
一部の実施形態では、端末400がサーバー200に記憶されているビデオに情報を埋め込もうとする場合、端末400は、埋め込み対象の情報及びビデオの識別情報をサーバー200に送信することで、埋め込み対象の情報を識別情報に対応するビデオに追加することをサーバー200に要求してもよい。サーバー200は、識別情報に基づいて、対応するビデオファイルを決定し、埋め込み対象の情報をビデオファイルに埋め込み、最後にパッケージ化し、パッケージ化されたビデオファイルを取得し、次に、パッケージ化されたビデオファイルを端末400に送信する。
【0041】
本願の実施例に係る装置は、ハードウェア、又は、ソフトウェアとハードウェアの組み合わせ形態として実施されてもよい。以下、本願の実施例に係る装置の様々な例示的な実施形態について説明する。
【0042】
図2を参照すると、
図2は、本願の実施例に係るサーバー200の1つの任意選択的な構成の模式図であり、サーバー200は、デスクトップサーバーであってもよいし、複数台のサーバーで構成されるサーバークラスター、クラウドコンピューティングセンターなどであってもよい。サーバー200の構成に基づいて、装置がサーバーとして実施される場合の例示的な構成を予測することができる。従って、ここで説明された構成を制限するものとして見なすべきではない。例えば、以下に説明される一部のコンポーネントを省略してもよく、あるいは、あるアプリケーションの特殊なニーズを満たすために、以下に記載されていないコンポーネントを追加してもよい。
【0043】
図2に示すサーバー200は、少なくとも1つのプロセッサ210と、メモリ240と、少なくとも1つのネットワークインターフェース220と、ユーザインターフェース230と、を含む。端末200における各コンポーネントがバスシステム250を介してカップリングされる。なお、バスシステム250は、これらのコンポーネント間の接続通信を実現するためのものであると理解できる。バスシステム250は、データバスを含むほか、電源バスと、制御バスと、状態信号バスと、をさらに含む。しかし、明瞭に説明するために、
図2で、様々なバスをすべてバスシステム250としてマーキングする。
【0044】
ユーザインターフェース230は、ディスプレイ、キーボード、マウス、トラックボール、クリックホイール、キー、ボタン、タッチパッドやタッチパネルなどを含むことができる。
【0045】
メモリ240は、揮発性メモリ又は不揮発性メモリであってもよいし、揮発性及び不揮発性メモリの両者を含んでもよい。ここで、不揮発性メモリは、読み出し専用メモリ(ROM、Read Only Memory)であってもよい。揮発性メモリは、ランダムアクセスメモリ(RAM、Random Access Memory)であってもよい。本願の実施例で説明されたメモリ240は、任意の適切な種類のメモリを含むことを意図する。
【0046】
本願の実施例におけるメモリ240は、サーバー200の動作をサポートするように、データを記憶することができる。これらのデータの例は、オペレーティングシステム及びアプリケーションプログラムなど、サーバー200において動作するための任意のコンピュータプログラムを含む。ここで、オペレーティングシステムは、様々な基本的サービスを実現するとともに、ハードウェアベースのタスクを処理するために、フレームワーク層、コアデータベース層、ドライバー層などの様々なシステムプログラムを含む。アプリケーションプログラムは、様々なアプリケーションプログラムを含んでもよい。
【0047】
本願の実施例に係る方法がソフトウェアとハードウェアの組み合わせで実施される例としては、本願の実施例に係る方法は、プロセッサ210により実行されるソフトウェアモジュールの組合せとして直接具現化されてもよく、ソフトウェアモジュールが記憶媒体に位置してもよく、記憶媒体がメモリ240に位置し、プロセッサ210は、メモリ240におけるソフトウェアモジュールに含まれる実行可能な命令を読み取り、必要なハードウェア(例えば、プロセッサ210、及びバス250に接続された他のコンポーネント)と組み合わせて、本願の実施例に係る方法を完了する。
【0048】
例としては、プロセッサ210は、信号の処理能力を有する集積回路チップであることができ、例えば、汎用プロセッサ、デジタル信号プロセッサ(DSP、Digital Signal Processor)、又は、他のプログラマブルロジックデバイス、個別ゲート、又は、トランジスタロジック素子、個別ハードウェアコンポーネントなどである。ここで、汎用プロセッサは、マイクロプロセッサー又は任意の通常のプロセッサなどであってもよい。
【0049】
前述した、本願の実施例を実現する装置の例示的な適用及び実施形態を参照して、本願の実施例を実現する方法について説明する。本願の実施例に係る、実行機器が実行する方法では、この実行機器は、サーバーであってもよいし、端末であってもよい。つまり、本願の実施例に係る方法は、サーバーにより実行されてもよいし、端末により実行されてもよい。サーバーは、デスクトップサーバーであってもよいし、複数台のサーバーで構成されるサーバークラスター、クラウドコンピューティングセンターなどであってもよい。端末は、携帯電話(スマートフォン)、タブレットパソコン、ノートパソコンなど、無線通信能力を有するモバイル端末であってもよいし、移動しにくく、演算機能を有するデスクトップコンピュータ、デスクトップコンピュータなどとして実施されてもよい。
【0050】
図3を参照すると、
図3は、本願の実施例でビデオへの情報埋め込み方法の模式的なフローチャートであり、
図3に示すステップを参照しながら説明する。
【0051】
ステップS101において、参照フレームにおける埋め込み領域の画素分布特性を満たすモデルを構築し、前記参照フレームの後続の検出対象のフレームに基づいて前記モデルの更新を制御する。
【0052】
ここで、参照フレームは、情報が埋め込まれた後の1フレームの画像であってもよく、埋め込まれた情報が位置する領域は、埋め込み領域である。参照フレーム及び埋め込み領域は、人為的に設定されるものであってもよいし、機械学習、ディープ学習などの技術を用いて自動的にスクリーニングされるものであってもよい。
【0053】
参照フレームは、ビデオにおける、少なくとも埋め込み領域を含み、埋め込み領域に埋め込み対象の情報が埋め込まれているとともに、埋め込み対象の情報が遮蔽されていない画像フレームであり得る。例えば、ビデオに埋め込み領域が初めて出現した、埋め込み領域に埋め込み対象の情報が埋め込まれているとともに、埋め込み対象の情報が遮蔽されていない画像フレームであってもよい。埋め込み対象の情報が広告であることを例にすると、参照フレームは、ビデオにおける、完全な広告領域が初めて出現した(例えば、壁又は地面における特定の領域であり、特定の領域が広告を完全に表示するに十分である)画像フレームであってもよい。
【0054】
例えば、参照フレームは、埋め込み対象の情報に関するターゲットキャラクターが出現した画像フレームであってもよいし、あるいは、表示された字幕に埋め込み対象の情報に関するキーワードが出現した画像フレームであってもよい。埋め込み対象の情報があるブランドのエアコンの広告であることを仮定する場合、ビデオにエアコンが出現したある画像フレームを参照フレームとしてもよいし、「冷」、「熱」などのキーワードが出現した画像フレームを参照フレームとしてもよい。
【0055】
埋め込み領域は、人為的に分割されるものであってもよく、例えば、画像フレームにおける右上角の領域であってもよいし、画像フレームにおける中間上方の領域であってもよい。当然ながら、自動的に認識された特定の領域、例えば、地面、壁、空などの関連領域であってもよい。なお、モデルを初期化するとき、埋め込み領域の画素分布を完全に学習することができるために、参照フレームにおける埋め込み領域が前景により遮蔽されていないように求められている。
【0056】
参照フレームにおける埋め込み領域の画素分布特性を満たすモデルの構築を実施する際に、埋め込み領域における各ピクセルのモデルを構築し、例えば、埋め込み領域における各ピクセルのガウス混合モデルを構築してもよい。この場合、ステップS101を実施する際に、まず、参照フレームにおける埋め込み領域の各ピクセルに基づいて、各ピクセルに対して予め定義されたガウス混合モデルを初期化し、ガウス混合モデルに複数のガウスモードが含まれ(一部の実施例では、ガウスモードは、モード/ガウス成分/サブモデルとも称する)、ガウスモードにおけるパラメータを初期化し、この後に用いるパラメータを求める。次に、後続の各検出対象のフレームにおける埋め込み領域の各ピクセルを処理し、ピクセルがあるモード(すなわち、ガウスモード)とマッチングするか否かを判断し、マッチングすれば、このピクセルをモードにまとめ、新しい画素値に基づいて、モードの重み付けを更新し、マッチングしなければ、ピクセルでガウスモードを構築し、パラメータを初期化することで、既存のモードのうち、重み付けが最小のモードを代替する。
【0057】
ステップS102において、前記モデルに基づいて、前記検出対象のフレームにおける埋め込み領域内の背景及び前景を認識し、前記背景を遮蔽し前景を露出させるためのテンプレートを生成する。
【0058】
ここで、ステップS102を実施する際に、順に検出対象のフレームにおける埋め込み領域の各ピクセルと、対応するモデルにおける各モードとをマッチングしてもよく、1つのピクセルとマッチングするモードが存在する場合、このピクセルが背景ピクセルであると考慮し、ピクセルとマッチングするモードが全くない場合、ピクセルが前景ピクセルであると考慮する。
【0059】
埋め込み領域の各ピクセルが前景であるか、背景であるかを認識した後に、認識結果によって、前記背景を遮蔽し前景を露出させるためのテンプレートを生成してもよい。さらに、1つのピクセルが背景として認識される場合、テンプレートにおけるピクセルに対応する値を1にしてもよく、ピクセルが前景として認識される場合、テンプレートにおけるピクセルに対応する値を0にする。なお、0及び1が二進数であり、すなわち、テンプレートは、二進数の0及び1で構成されるマスクである。
【0060】
ステップS103において、埋め込み対象の情報を前記テンプレートに適用することで、前記埋め込み対象の情報のうち、前記前景を遮蔽するコンテンツをブロックする。
【0061】
ここで、ステップS103を実施する際に、埋め込み対象の情報とテンプレートとをかけ算してもよい。本実施例及び他の実施例では、埋め込み対象の情報とテンプレートとをかけ算することとは、埋め込み対象の情報と、テンプレートにおける各位置に充填された二進数とをかけ算することであってもよい。実施形態は、埋め込み対象の情報のピクセルと、テンプレートにおける対応する位置の二進数とをかけ算することであってもよい。テンプレートにおいて、背景ピクセルに対応する値が1であり、前景ピクセルに対応する値が0であり、従って、埋め込み対象の情報とテンプレートとをかけ算するとき、埋め込み対象の情報のうち、前景を遮蔽するコンテンツに影響を与えることなく、遮蔽された埋め込み対象の情報のうち、前景を遮蔽するコンテンツをブロックする。
【0062】
ステップS104において、前記テンプレートが適用された前記埋め込み対象の情報を前記検出対象のフレームにおける埋め込み領域に被覆することで、前記前景を前記埋め込み対象の情報に対して強調表示する。
【0063】
ここで、ステップS103で、埋め込まれた情報に対してテンプレートを適用し、埋め込み対象の情報のうち、前景を遮蔽するコンテンツをブロックしたため、テンプレートが適用された埋め込み対象の情報を検出対象のフレームにおける埋め込み領域に被覆すると、埋め込み対象の情報が検出対象のフレームにおける前景部分を遮蔽することなく、それにより、より良好な視聴体験をもたらす。
【0064】
本願の実施例に係る方法を利用して、ビデオに埋め込み対象の情報を埋め込む場合、まず、参照フレームにおける埋め込み領域の画素分布特性に基づいて、各ピクセルに対してモデルを構築し、モデルのパラメータが検出対象のフレームにおける埋め込み領域の各ピクセルに基づいて更新可能であり、次に、検出対象のフレームにおける埋め込み領域の前景ピクセル及び背景ピクセルに基づいて、背景を遮蔽できるとともに、前景を遮蔽しないテンプレートを生成し、埋め込み対象の情報に対してテンプレートを適用し、最後にテンプレートが適用された埋め込み対象の情報を検出対象のフレームにおける埋め込み領域に被覆し、生成されたテンプレートが背景を遮蔽できるが、前景を遮蔽することはない。従って、埋め込み対象の情報に対してテンプレートを適用した後に、埋め込み対象の情報のうち、前景を遮蔽するコンテンツをブロックすることができ、それにより、検出対象のフレームに情報を埋め込むと、検出対象のフレームにおける前景部分を遮蔽することなく、さらにビデオの視聴体験を確保することができる。
【0065】
一部の実施例では、
図4を参照すると、
図4は、本願の実施例でモデルを構築して更新する模式的なフローチャートであり、ステップS101は、
図4に示す各ステップで実現することができる。
【0066】
ステップS1011において、前記参照フレームにおける埋め込み領域の各ピクセルに対応して、前記ピクセルに対応する少なくとも1つのサブモデルと少なくとも1つのサブモデルに対応する重み付けとを初期化する。
【0067】
本願の実施例では、モデルを構築する際、ピクセルを単位とし、つまり、各ピクセルに対して1つのモデルを構築し、1つのピクセルのモデルが少なくとも1つのサブモデルに対応してもよい。つまり、1つのピクセルのモデルは、1つのサブモデルに対応してもよいし、複数のサブモデルに対応してもよい。
【0068】
例えば、ピクセルのモデルは、2個以上、一般的に3個~5個のサブモデルを含むガウス混合モデルであってもよい。サブモデルは、ガウス確率分布関数であってもよく、サブモデルを初期化することは、少なくとも、サブモデルのパラメータを初期化することであり、ここで、サブモデルのパラメータは、平均値、分散、重み付けなどのパラメータであってもよい。サブモデルのパラメータを初期化するとき、サブモデルのパラメータをデフォルト値に設定してもよい。初期化プロセスにおいて、一般的に、分散をできるだけ大きく設定するが、重み付けをできるだけ小さくする。このように設定する原因は、初期化のガウスモデルが不正確なモデルであり、常にその範囲を縮小し、パラメータ値を更新し、それにより、可能性が最も高いガウスモデルを得る必要があることにあり、分散をできるだけ大きく設定する原因は、できるだけ多くのピクセルをサブモデルとマッチングし、それにより、ピクセルの色値の、ビデオの各フレームの間での分布特性を正確に表すモデルを取得することにある。
【0069】
一部の実施例では、モデルは、さらに、単一ガウスモデルであってもよく、この場合、1つのサブモデルのみが必要とされ、サブモデルのパラメータは平均値、分散などであってもよい。単一ガウスモデルが、背景が単一かつ変わらないシーンに適用されるため、通常、ガウス混合モデルを構築して後続の処理を行う。
【0070】
ステップS1012において、各ピクセルに対応して構築されたサブモデルを初期化された重み付けに基づいて混合することで、前記ピクセルに対応するモデルを形成する。
【0071】
ここで、各ピクセルが3つのサブモデルを有し、サブモデルがそれぞれF
1、F
2、F
3であり、それらに対応する重み付けがそれぞれK
1、K
2及びK
3であると仮定する場合、ステップS1012は、式(1-1)で実現することができる。
【数1】
F
mはピクセルに対応するモデルである。
【0072】
一部の実施例では、式(1-1)に対して簡単な数学変換を行って、ピクセルに対応するモデルを形成してもよい。
【0073】
ステップS1011及びステップS1012を通して、参照フレームにおける埋め込み領域の画素分布特性を満たすモデルを構築することが完了される。
【0074】
ステップS1013において、検出対象のフレームにおける埋め込み領域が前景により遮蔽されているか否かを判断する。
【0075】
一部の実施例では、まず、検出対象のフレームにおける埋め込み領域の第1の色空間分布、及び参照フレームにおける埋め込み領域の第1の色空間分布を取得し、次に、検出対象のフレームの埋め込み領域と参照フレームの埋め込み領域との第1の色空間分布の差異度を決定し、さらに、差異度が第1の差異性条件を満たすか否かを判断することにより、検出対象のフレームにおける埋め込み領域が前景により遮蔽されているか否かを決定してもよい。
【0076】
例えば、参照フレームにおける埋め込み領域が前景により遮蔽されていないため、検出対象のフレームにおける埋め込み領域の第1の色空間分布と、参照フレームにおける埋め込み領域の第1の色空間分布とが第1の差異性条件を満たす場合、両者の差異が非常に大きいことが示され、この場合、検出対象のフレームにおける埋め込み領域が前景により遮蔽されていることが示され、ステップS1014へ進む。検出対象のフレームにおける埋め込み領域の第1の色空間分布と、参照フレームにおける埋め込み領域の第1の色空間分布とが第1の差異性条件を満たさない場合、両者の差異が小さいことが示され、この場合、検出対象のフレームにおける埋め込み領域が前景により遮蔽されていないことが示され、この場合、ステップS1015へ進む。
【0077】
一部の実施例では、第1の色空間分布は、赤緑青(Red Green Blue、RGB)空間分布であってもよい。埋め込み領域の第1の色空間分布を取得することは、埋め込み領域のRGBヒストグラムを取得することであってもよく、例えば、256個の階調を32個の区間に分割し、埋め込み領域の、この32個の区間内でのピクセルの分布状況を統計することで、RGBヒストグラムを得てもよい。
【0078】
第1の差異性条件は、検出対象のフレームにおける埋め込み領域が遮蔽されていないことを決定する場合、参照フレーム埋め込み領域と検出対象のフレームの埋め込み領域との第1の色空間分布の最大差異度を表すために用いられ得る。例えば、合計でM個の区間に分けられると仮定すると、第1の差異性条件は、30%*M個の区間内のピクセル数の差値が個数の閾値の範囲の外にあることであり得る。例えば、32個の区間の場合、第1の差異性条件は、少なくとも9つの区間内のピクセル数の差値が10個を超えることであり得る。
【0079】
ステップS1014において、前記検出対象のフレームにおける埋め込み領域が前記前景により遮蔽されたことに応じて、前記検出対象のフレームにおける埋め込み領域への前記モデルのフィッティングを減速させ、前記モデルにおけるサブモデルの重み付けを不変にする。
【0080】
前記検出対象のフレームにおける埋め込み領域への前記モデルのフィッティングを減速させることは、前記モデルを前記検出対象のフレームにおける埋め込み領域へフィッティングする速度を減少させることである。例えば、埋め込み領域の各ピクセルのモデルに対して、モデルにおけるフィッティング速度に関する学習率を0にすることで、モデルにおけるサブモデルの重み付けを不変に維持してもよい。検出対象のフレームにおける埋め込み領域が前景により遮蔽されている場合、検出対象のフレームにおける埋め込み領域へのモデルのフィッティングを減速させ、それにより、モデルが埋め込み領域の画素変化を学習する速度を低下させることで、この後に前景を背景として誤って認識することを回避する。
【0081】
ステップS1015において、検出対象のフレームにおける埋め込み領域の光照射状況が変化したか否かを判断する。
【0082】
一部の実施例では、まず、検出対象のフレームにおける埋め込み領域の第2の色空間分布及び参照フレームにおける埋め込み領域の第2の色空間分布を取得し、次に、検出対象のフレームの埋め込み領域と参照フレームの埋め込み領域との第2の色空間分布の差異度を決定し、さらに差異度が第2の差異性条件を満たすか否かを判断することにより、検出対象のフレームにおける埋め込み領域の光照射状況が変化したか否かを決定する。第2の差異性条件は、検出対象のフレームにおける埋め込み領域の光照射状況が変化したことを決定する場合、参照フレームの埋め込み領域と検出対象のフレームの埋め込み領域との第2の色空間分布の最大差異度を表すために用いられ得る。
【0083】
例えば、前記検出対象のフレームにおける埋め込み領域の第2の色空間分布と、前記参照フレームにおける埋め込み領域の第2の色空間分布とが第2の差異性条件を満たすことに応じて、前記検出対象のフレームにおける埋め込み領域の光照射状況が変化したと決定し、この場合、ステップS1016へ進む。前記検出対象のフレームにおける埋め込み領域の第2の色空間分布と、前記参照フレームにおける埋め込み領域の第2の色空間分布とが第2の差異性条件を満たさないことに応じて、前記検出対象のフレームにおける埋め込み領域の光照射状況が変化していないと決定し、この場合、元の学習率を維持し、重み付けを更新する。
【0084】
一部の実施例では、第2の色空間分布は、色相・彩度・明度(Hue Saturation Value、HSV)空間分布であってもよい。ステップS1015の実現プロセスについては、ステップS1013を参照して理解することができる。
【0085】
ステップS1016において、前記検出対象のフレームにおける埋め込み領域への前記モデルのフィッティングを加速する。
【0086】
前記検出対象のフレームにおける埋め込み領域への前記モデルのフィッティングを加速することは、前記モデルを前記検出対象のフレームにおける埋め込み領域へフィッティングする速度を向上させることである。一部の実施例では、ステップS1016を実行する前提条件が、検出対象のフレームにおける埋め込み領域が前景により遮蔽されていないとともに、検出対象のフレームにおける埋め込み領域の光照射状況が変化したことである場合、新しい光照射を前景として認識することを回避するために、フィッティング速度を加速する必要があり、それにより、モデルを早めに検出対象のフレームの埋め込み領域へフィッティングするようにすることで、モデルが埋め込み領域の画素分布特性を表すことができることを確保する。例えば、埋め込み領域の各ピクセルのモデルに対して、モデルにおけるフィッティング速度に関する学習率を-1にすることで実現することができる。
【0087】
ステップS1013~ステップS1016を通して、モデルにおける各サブモデル重み付けに対する更新が完了され、この場合、さらにサブモデルのパラメータを更新する必要がある。
【0088】
ステップS1017において、検出対象のフレームにおける埋め込み領域の各ピクセルのそれぞれが、対応するモデルにおけるサブモデルとマッチングするか否かを判断する。
【0089】
一部の実施例では、埋め込み領域におけるいずれか1つのピクセルに対して、ピクセルの色値とピクセルのモデルにおける任意のサブモデルの平均値との偏差が所定の閾値より小さい場合、ピクセルがサブモデルとマッチングすると考慮する。例えば、実際の適用では、閾値は、標準偏差に関連するものであってもよく、サブモデルの標準偏差の2.5倍であってもよい。1つのピクセルがモデルにおける少なくとも1つのサブモデルとマッチングする場合、ステップS1018へ進み、1つのピクセルがモデルのうちのいずれのサブモデルともマッチングしない場合、ステップS1019へ進む。
【0090】
ステップS1018において、前記検出対象のフレームにおける埋め込み領域のピクセルが対応するモデルにおける少なくとも1つのサブモデルとマッチングされたことに応じて、前記マッチングされたサブモデルのパラメータを更新する。
【0091】
ピクセルに対応するモデルのうち、ピクセルとマッチングされていないサブモデルに対して、対応するサブモデルのパラメータを不変に維持する。
【0092】
ステップS1019において、検出対象のフレームにおける埋め込み領域のピクセルが対応するモデルのうちのいずれのサブモデルともマッチングしないことに応じて、ピクセルに基づいて新しいサブモデルを初期化し、重み付けが最小のサブモデルを置き換える。
【0093】
ここで、ステップS1017~ステップ1019を通して、サブモデルパラメータの更新が完了される。サブモデルパラメータを更新するとき、検出対象のフレームにおける埋め込み領域の各ピクセルに対して遮蔽検出を行う必要があり、すなわち、ピクセルが前景又は背景であることを決定し、遮蔽検出結果に基づいて、サブモデルのパラメータを更新し、背景を遮蔽し前景を露出させるためのテンプレートを生成し、それにより、検出対象のフレームの埋め込み領域に情報を埋め込むとき、背景とよく融合するとともに、前景を遮蔽することはない。
【0094】
一部の実施例では、ステップS102は、ステップS1021~ステップS1024で実現することができる。
【0095】
ステップS1021において、前記検出対象のフレームにおける埋め込み領域の各ピクセルの色値と、前記ピクセルに対応するモデルにおける各サブモデルとをマッチングする。
【0096】
ここで、ステップS1021を実施する際、検出対象のフレームにおける埋め込み領域の各ピクセルの色値と、ピクセルに対応する各サブモデルとを比較してもよく、1つのピクセルの色値と少なくとも1つのサブモデルの平均値との偏差が所定の閾値範囲内にある場合、このサブモデルがピクセルとマッチングすることが示される。
【0097】
ステップS1022において、マッチングに成功したピクセルを前記背景のピクセルとして認識し、マッチングに失敗したピクセルを前記前景のピクセルとして認識する。
【0098】
ここで、参照フレームにおける埋め込み領域は、前景を遮蔽しない領域であるので、背景であってもよい。また、モデルは、構築されるとき、参照フレームにおける埋め込み領域の画素分布特性に基づいて構築される。検出対象のフレームにおける埋め込み領域内のピクセルがピクセルに対応するモデルにおける1つのサブモデルとマッチングする場合、ピクセルが背景ピクセルであると決定し、検出対象のフレームにおける埋め込み領域のピクセルがピクセルに対応するモデルのうちのいずれのサブモデルともマッチングしない場合、ピクセルが前景ピクセルであると決定する。
【0099】
ステップS1023において、前記検出対象のフレームにおける埋め込み領域内の、背景として認識されたピクセルに対応して、中空の前記テンプレートにおける対応する位置に二進数の1を充填する。
【0100】
ステップS1024において、前記検出対象のフレームにおける埋め込み領域内の、前景として認識されたピクセルに対応して、二進数の1が充填された前記テンプレートにおける対応する位置に二進数の0を充填する。
【0101】
ステップS1021~ステップS1024を通して、二値化のテンプレートが生成される。テンプレートにおいて、背景として認識されたピクセルに対応するテンプレート位置が1であり、前景として認識されたピクセルに対応するテンプレート位置が0であり、従って、このテンプレートと埋め込み対象の情報とをかけ算すると、テンプレートが適用された埋め込み対象の情報を得る。テンプレートが適用された埋め込み対象の情報のうち、前景として認識されたピクセルの画素値が0であるが、背景として認識されたピクセルの画素値が変わらない。このように、テンプレートが適用された埋め込み対象の情報を検出対象のフレームにおける埋め込み領域に被覆すると、前景が遮蔽されていないとともに、埋め込まれた情報に対して強調表示されることを確保することができる。
【0102】
一部の実施例では、ステップS101の前又は後に、検出対象のフレームにおける埋め込み領域を決定する必要がある。前記ビデオが固定ショットで形成される場合、ビデオにおける画面範囲及び可視領域面積が変わらない。この場合、検出対象のフレームにおける埋め込み領域を決定することを実際に実現するとき、前記参照フレームにおける埋め込み領域の位置に基づいて、前記検出対象のフレームにおいて、対応する位置の領域を位置づけすることで、前記検出対象のフレームにおける埋め込み領域を得てもよい。
【0103】
一部の実施例では、前記ビデオが移動ショットで形成される場合、検出対象のフレームにおける埋め込み領域を決定することは、ステップ21及びステップ22で実現することができる。
【0104】
ステップ21において、前記ビデオの参照フレームにおける埋め込み領域から抽出された特徴と、前記検出対象のフレームから抽出された特徴とをマッチングする。
【0105】
ここで、ステップ21を実施する際に、まず、参照フレームにおける埋め込み領域から特徴点を抽出し、次に、検出対象のフレームにおける特徴点を抽出し、参照フレームにおける埋め込み領域から抽出された特徴点と検出対象のフレームにおける特徴点とをマッチングしてもよい。
【0106】
さらに、特徴点を抽出するとき、方向付きの加速化断片試験による特徴(Features from Accelerated Segment Test、FAST)及び回転の二値頑健独立基本特徴(Binary Robust Independent Elementary Features、BRIEF)特徴点(Oriented FAST and Rotated BRIEF、ORB)、あるいは、スケール不変の特徴変換(Scale-Invariant Feature Transform、SIFT)特徴点を抽出してもよい。当然ながら、一部の実施例では、他の種類の特徴点を抽出してもよい。
【0107】
ステップ22において、マッチングに成功したことに応じて、前記検出対象のフレームが参照フレームにおける埋め込み領域に対応する埋め込み領域を含むと決定する。
【0108】
ここで、本実施例では、参照フレームにおける埋め込み領域の特徴点が、検出対象のフレームにおける特徴点とのマッチングに成功することは、全ての特徴点がマッチングに成功することであってもよく、一部の特徴点がマッチングに成功し、例えば、80%の特徴点がマッチングに成功することであってもよい。
【0109】
参照フレームにおける埋め込み領域の特徴点が、検出対象のフレームにおける特徴点とのマッチングに成功したことに応じて、検出対象のフレームに、参照フレームにおける埋め込み領域に対応する埋め込み領域が存在することが示され、この場合、情報を埋め込むことができる。参照フレームにおける埋め込み領域の特徴点が、検出対象のフレームにおける特徴点とのマッチングに成功していないことに応じて、検出対象のフレームに、参照フレームにおける埋め込み領域に対応する埋め込み領域が存在しないことが示され、この場合、埋め込まれた情報が検出対象のフレームにおける前景を広く遮蔽する可能性があるため、情報を埋め込むことができない。
【0110】
ステップ21~ステップ22では、参照フレームにおける埋め込み領域の特徴点と、検出対象のフレームにおける特徴点と、をマッチングすることで、検出対象のフレームにおける埋め込み領域を追跡する。移動追跡の実現形態に比べて、リアルタイム性が高く、適用範囲が広く、ロバスト性が高く、自動的かつ高効率に使用することができる。
【0111】
一部の実施例では、前記ビデオが移動ショットで形成される場合、ショットの位置、光軸、焦点距離がすべて変化する可能性があるため、移動ショットを用いて形成されたビデオの各画像フレームにおける埋め込み領域の位置が変化可能である。この場合、ステップS1013の前に、ステップ31を実行する必要がある。
【0112】
ステップ31において、変換後の埋め込み領域における各ピクセルの位置が、前記参照フレームにおける埋め込み領域の対応するピクセルの位置と一致するように、前記検出対象のフレームにおける埋め込み領域を変換する。
【0113】
ここで、ステップ31を実施する際に、まず、埋め込み領域(すなわち、情報を埋め込む背景領域)を追跡してホモグラフィ行列(Homography matrix)Hを生成し、次に、変換後の埋め込み領域における各ピクセルの位置が、前記参照フレームにおける埋め込み領域の対応するピクセルの位置に一致するように、検出対象のフレームにおける埋め込み領域をホモグラフィ行列Hに基づいて参照フレームに変換してもよい。さらに、式(2-1)に基づいて実現されてもよい。
【数2】
【0114】
ここで、xt、ytは、現在のフレームにおけるピクセルを表し、x0、y0は、ピクセルに対応する参照フレームにおけるピクセルを表す。
【0115】
前記ビデオが移動ショットで形成される場合、検出対象のフレームにおける埋め込み領域に基づいて、モデルの更新を制御するとき、ホモグラフィ行列により変換された埋め込み領域を実際に使用するため、ステップS102で検出対象のフレームにおける埋め込み領域の背景及び前景を認識するとき、及び、背景を遮蔽し前景を露出させるためのテンプレートを生成するときにも、ホモグラフィ行列により変換された埋め込み領域を用いる。対応して、ステップS103の前に、変換後のテンプレートにおける各二進数の位置が、前記検出対象のフレームにおける埋め込み領域の対応するピクセルの位置に一致するように、前記テンプレートに対して前記変換の逆変換を行う必要がある。
【0116】
本願の実施例では、固定ショットを用いて形成されたビデオに対しては、検出対象のフレームにおける埋め込み領域の各ピクセルの画素分布特性を利用して、参照フレームにおける埋め込み領域の背景画素分布をフィッティングし、ガウス混合モデリングを用い、モデルを自動的に学習して更新し、遮蔽検出結果に基づいて、背景を遮蔽し前景を表示することができるテンプレートを決定し、それにより、埋め込まれた情報が前景を遮蔽することを回避する。一方、移動ショットに対しては、変換技術を用い、検出対象のフレームにおける埋め込み領域内のピクセル位置を参照フレームにおける埋め込み領域内の一致する位置にマッピングし、同様に、検出対象のフレームにおける埋め込み領域のピクセルに対して遮蔽検出を行い、テンプレートを生成し、テンプレートに対して逆変換を行い、背景を遮蔽し前景を表示することができるテンプレートを形成し、それにより、情報が埋め込まれた後に、前景を遮蔽しないことを確保する。
【0117】
本願の実施例は、ビデオへの情報埋め込み方法をさらに提供し、
図5は、本願の実施例でビデオへの情報埋め込み方法の他の模式的なフローチャートであり、
図5に示すように、前記方法は、ステップS401~ステップS409を含む。
【0118】
ステップS401において、端末が処理対象のビデオ及び埋め込み対象の情報を取得する。
【0119】
ここで、処理対象のビデオは、端末により録画されたビデオであってもよいし、端末によりサーバーからダウンロードされたビデオであってもよく、当然ながら、他の端末から端末に送信されたビデオであってもよい。埋め込み対象の情報は、埋め込み対象の図面情報であってもよく、埋め込み対象の図面情報は、広告図面情報であってもよいし、公示情報などであってもよい。
【0120】
本願の実施例では、処理対象のビデオは、多くの画像フレームを含むビデオファイルであってもよい。一部の実施例では、処理対象のビデオは、さらに、処理対象のビデオの識別情報であってもよく、例えば、処理対象のビデオの名称、主役などの情報を含んでもよい。
【0121】
ステップS402において、端末が前記ビデオ及び埋め込み対象の情報を少なくとも含む埋め込み要求をサーバーに送信する。
【0122】
一部の実施例では、埋め込み要求に、参照フレームの識別子及び参照フレームにおける埋め込み領域の情報が含まれてもよい。
【0123】
埋め込み領域が矩形であることを例にすると、埋め込み要求に、参照フレームのフレーム番号、参照フレームにおける埋め込み領域の4つの頂点の座標が含まれてもよい。
【0124】
ステップS403において、サーバーが受信した埋め込み要求に基づいて、参照フレーム及び参照フレームにおける埋め込み領域を決定する。
【0125】
一部の実施例では、受信した埋め込み要求を解析することで、設定された参照フレーム、及び参照フレームにおいて設定された埋め込み領域を取得してもよい。他の一部の実施例では、画像を認識することで、ビデオファイルの画像フレームを解析し、それにより、情報埋め込み条件を満たす参照フレーム及び参照フレームにおける埋め込み領域を決定してもよい。
【0126】
情報埋め込み条件の例としては、埋め込み領域の種類(例えば、壁、地面)、埋め込み領域のサイズ(例えば、埋め込み対象の情報に適応するための幅及び高さ、)、埋め込み領域の色(例えば、埋め込み対象の情報と所定のコントラストをなす)、埋め込み領域の露光時間(すなわち、ビデオに出現した累計時間)のうちの少なくともの1つを含んでもよい。
【0127】
ステップS404において、サーバーが参照フレームにおける埋め込み領域の画素分布特性を満たすモデルを構築し、前記参照フレームの後続の検出対象のフレームに基づいて前記モデルの更新を制御する。
【0128】
ステップS405において、サーバーが前記モデルに基づいて、前記検出対象のフレームにおける埋め込み領域内の背景及び前景を認識し、前記背景を遮蔽し前景を露出させるためのテンプレートを生成する。
【0129】
ステップS406において、サーバーが埋め込み対象の情報を前記テンプレートに適用することで、前記埋め込み対象の情報のうち、前記前景を遮蔽するコンテンツをブロックする。
【0130】
ステップS407において、前記テンプレートが適用された前記埋め込み対象の情報を前記検出対象のフレームにおける埋め込み領域に被覆することで、前記前景を前記埋め込み対象の情報に対して強調表示する。
【0131】
ここで、ステップS404~ステップS407の実現プロセスについては、以上の同様なステップについての説明を参照して理解することができる。
【0132】
ステップS408において、サーバーは、情報が埋め込まれた後のビデオをパッケージ化し、パッケージ化されたビデオを端末に送信する。
【0133】
一部の実施例では、サーバーがビデオにおける各画像フレームに情報を埋め込む前に、まず、ビデオをフレーム分割し、1つずつの画像フレームを得てから、次に各画像フレームに情報を埋め込むため、情報を埋め込んだ後に、正常なビデオファイルを得るために、各画像フレーム、ビデオ、字幕などをまとめ、ビデオ、画像フレーム及び字幕を一体にする必要がある。
【0134】
一部の実施例では、サーバーは、情報が埋め込まれた後のビデオをパッケージ化した後に、ビデオを見るアプリケーションに、情報が埋め込まれたビデオを発表してもよい。
【0135】
ステップS409において、端末は、情報が埋め込まれた後のビデオを発表する。
【0136】
一部の実施例では、ビデオを見るアプリケーションに発表してもよいし、他の端末に送信して発表してもよく、例えば、インスタントメッセンジャーアプリケーションの友達グループなどに発表してもよい。
【0137】
本願の実施例に係る方法では、端末は、ビデオに情報を埋め込もうとする場合、処理対象のビデオ及び埋め込み対象の情報をサーバーに送信し、サーバーは、参照フレームにおける埋め込み領域の画素分布特性に基づいてモデルを構築する。参照フレームにおける埋め込み領域がビデオの前景を遮蔽することはないので、構築されたモデルに基づいて、後続の検出対象のフレームにおける埋め込み領域内のピクセルに対して背景及び前景の認識を行い、さらに、背景を遮蔽できるが前景を遮蔽しないテンプレートを生成する。埋め込み対象の情報にテンプレートを適用すると、埋め込み対象の情報のうち、前景を遮蔽するコンテンツをブロックすることができ、それにより、検出対象のフレームに情報を埋め込むと、検出対象のフレームにおける前景部分を遮蔽することなく、さらにビデオの視聴体験を確保することができる。
【0138】
以下、本願の実施例で1つの実際の適用シーンにおける例示的な適用について説明する。
【0139】
本願の実施例は、ビデオへの情報埋め込み方法をさらに提供し、方法の実現プロセスは、背景モデリング学習段階、及び遮蔽予測段階の2段階を含む。
図6は、本願の実施例でビデオへの情報埋め込み方法の他の模式的なフローチャートであり、
図6に示すように、前記方法は、ステップS501~ステップS506を含む。
【0140】
ステップS501において、背景画像を取得する。
【0141】
ステップS502において、背景画像に基づいてガウス混合モデリングを行う。
【0142】
ステップS501及びステップS502を通して、背景モデリングプロセスが完了される。
【0143】
ステップS503において、ビデオに対してフレーム分割を行う。
【0144】
ステップS504において、予測対象の図面を取得する。
【0145】
ステップS505において、背景モデリングに基づいて、予測対象の画像に対して逆変換を行って逆変換図面を得る。
【0146】
ステップS506において、逆変換図面に対して正変換を行って遮蔽マスクを得る。
【0147】
図6に示すフローチャートは、背景モデリング用の適応型ガウス混合モデルを構築し、ビデオ広告が埋め込まれた商機初期フレームに基づいて、後続のフレームに対してフレーム図面を適応的に選択して背景モデリングを行い、学習率を適応的に選択して反復更新することで、モードを最適化させる。
【0148】
図7は、本願の実施例でビデオへの情報埋め込み方法の他の模式的なフローチャートであり、
図7に示すように、本実施例で、ステップS60~ステップS605によってビデオに情報を埋め込んでもよい。
【0149】
ステップS601において、ビデオのフレーム分解を行う。
【0150】
ここで、入力されたビデオに対して画像処理技術によりフレーム分割動作を行い、ビデオを予測対象の図面として1フレームずつに分割する。
【0151】
ステップS602において、商機初期フレーム(すなわち、広告を埋め込もうとするフレーム)、及び対応する埋め込み領域を位置づけする。
【0152】
ここで、商機初期フレーム及び対応する埋め込み領域は、手動で設定されるものであってもよい。一部の実施例では、ビデオにおける、特定のキャラクター/領域(例えば、地面、壁)を含むフレームを商機初期フレームとして自動的に認識してもよく、さらに、ニューラルネットワークベースの画像認識技術を用いて、商機初期フレーム、埋め込み領域、及び埋め込み領域に対応する特定の位置(例えば、広告のサイズに一致する中間領域)を決定してもよい。
【0153】
ステップS603において、商機初期フレームにおける埋め込み領域の画像に基づいて、埋め込み領域における各ピクセルのそれぞれに対応するガウス混合モデルを初期化する。
【0154】
ステップS604において、後続のフレーム(すなわち、埋め込み領域を含むビデオの後続のフレーム)をステップS6041~ステップS6043で処理する。
【0155】
ステップS6041において、後続のフレームの埋め込み領域と、初期フレームの埋め込み領域とに対して分布特性の比較を行い、遮蔽されているか否かを判断し、遮蔽されている場合、学習率を更新する。
【0156】
ステップS6042において、光照射の変化が発生したか否かに基づいて、学習率を調整する。
【0157】
ステップS6043において、背景/前景ピクセルを認識し、認識結果及び更新された学習率を組み合わせて、モデルを更新し、さらにマスクを決定する。
【0158】
実際に実施する際に、まず、前景/背景を認識してもよく、すなわち、ピクセルが対応するモデルにおける少なくとも1つのモードを満たすか否かを判断し、満たす場合、ピクセルが背景ピクセルであり、いずれも満たさない場合、ピクセルが前景ピクセルであり、次に、モードの重み付け及びパラメータ(平均値及び標準偏差)の更新に係るモデルの更新を行う。
【0159】
重み付けに対しては、更新された学習率に従って、モードの重み付けを更新し、パラメータに対しては、マッチングされていないモードの平均値及び標準偏差を変更せず、マッチングされたモードの平均値及び標準偏差を更新された学習率及び重み付けに基づいて更新する。いかなるモードもマッチングしない場合、重み付けが最小のモードが置き換えられる。各モードは、ω/α2の降順で配列され、重み付けが大きく、標準偏差が小さいほど、前の方に配列される。ここでは、ωは、重み付けであり、αは、学習率である。
【0160】
ステップS6044において、マスクが適用された埋め込み対象の情報を後続のフレームの埋め込み領域に埋め込む。
【0161】
このステップS6044の実現プロセスについては、以上の同様なステップについての説明を参照して理解することができる。
【0162】
ステップS605において、ステップS604を繰り返し、すべての後続のフレーム処理が完了された後に、画像フレームをパッケージ化する。
【0163】
ここで、パッケージ化済みのビデオを放送する際、埋め込まれた広告が画像フレームにおける前景部分を遮蔽することなく、それにより、より良好な視聴体験をもたらす。
【0164】
上記ステップでは、ステップS601~ステップS603は、背景モデリング学習部分に対応し、ステップS604~ステップS605は、遮蔽予測部分に対応する。この2つの部分は、交互に実行される。まず、初期フレームに基づいてモデリングし、後続のフレームに対して遮蔽予測(判断)を行い、予測結果に基づいてモデルを更新し続ける。
【0165】
一部の実施例では、ステップS603を実施する際に、ビデオにおける、広告アイテムが埋め込まれた参照フレーム(すなわち、埋め込み領域を含む商機初期フレーム)を背景として取得してモデリングすることで、事前の埋め込み領域(ビデオの参照フレームの背景領域における、広告を埋め込むための特定の領域、すなわち、埋め込み領域)に対してガウス混合モデル(GMM)の初期化を行ってもよい。
【0166】
商機初期フレームにおける埋め込み領域は、商機初期フレームにおける埋め込み領域が前景により遮蔽されていない条件を満たす。それにより、モデルを初期化するとき、埋め込み領域の画素分布を完全に学習することができる。
【0167】
埋め込み領域の各ピクセルの混合ガウスモデルを構築し、混合ガウスモデルは、ピクセルの色値をK個のモード(一部の実施例では、モードがガウスモード/ガウス成分/サブモデルとも称する)の重畳で表し、通常、Kは、3~5の間である。混合ガウスモデルは、ピクセルで示された色値Xをランダム変数として表すと、ビデオの各フレームの画像におけるピクセルの色値がランダム変数Xのサンプリング値となる。
【0168】
ガウス背景のメインテナンスでは、シーンにおける各ピクセルの色値は、K個のガウス成分からなる混合分布で表されてもよく、すなわち、画像におけるピクセルjの時点tでの値がX
jである確率は以下のとおりである。
【数3】
ただし、
は、t時点でのピクセルjの混合ガウスモデルにおけるi番目のガウス成分の重み付けを表し、
【数4】
を満たす。
ここで、
及び
は、それぞれ、i番目のガウス成分の平均値及び共分散を表し、ηは、ガウス確率密度関数を表す。
【数5】
ここで、dは、X
jの次元数であり、RGB色空間の場合、dとX
jとが相互に独立するものとして見なしてもよいと、共分散行列は、以下のように定義される。
【数6】
ただし、σは、標準偏差を表し、Iは、単位行列を表す。
【0169】
ガウス混合モデルの初期化は、各パラメータに対する初期化であってもよく、本願の実施例で、以下の2つの初期化形態があってもよい。
【0170】
1つの初期化形態は以下のとおりである。初期化段階に、混合ガウスパラメータの初期化速度に対する要求が高くない場合、ピクセルの各色のチャンネル範囲が[0,255]であり、直接K個のガウス成分を大きいσ2
initに初期化し、各ガウス成分の重み付けをωinit=1/Kとし、1フレーム目の画像の各ピクセルの色値を用いて、混合ガウスモデルにおけるK個のガウス成分の平均値を初期化してもよい。平均値は、ピクセルの色値であり、分散は、予め設定された経験値である。
【0171】
もう1つの初期化形態は以下のとおりである。1フレーム目の画像の場合、各ピクセルに対応する1番目のガウス成分を初期化し、平均値を現在のピクセルの色値とし、重み付けを1とし、1番目のガウス成分以外のガウス成分の平均値、重み付けをいずれも0に初期化する。分散は、予め設定された経験値である。
【0172】
一部の実施例では、後続のフレームの処理を行う際、ビデオの形成に用いられるショット種類によって、異なる処理を行う。
【0173】
静止ショットを用いて形成されたビデオの場合、ステップS6041を実施する際に、以下のとおりであってもよい。
【0174】
商機初期フレームの後続の各フレームの埋め込み領域に対して、後続のフレームの埋め込み領域と初期埋め込み領域(すなわち、初期フレームの埋め込み領域)とのRGB色空間分布を比較し、RGB分布の差異性に基づいて、遮蔽されているか否かを決定する。すなわち、商機初期フレームの埋め込み領域に埋め込まれた広告が、後続のフレームにおいて埋め込み領域に出現した前景を遮蔽しているか否かを決定し、例えば、
図8Bにおける「ベビーポーズ」を遮蔽している。RGB分布の差異性が差異性条件を満たす場合、埋め込み領域の背景が前景により遮蔽されていると考慮する。RGB分布の差異性が差異性条件を満たすか否かを判断することは、ヒストグラム分布を比較することで実現されてもよく、例えば、0~255階調を16区間に分割し、各フレームのピクセルの16区間での分布状況を統計し、比較してもよい。後続のフレームの埋め込み領域のヒストグラム分布と初期埋め込み領域のヒストグラム分布との差異が所定の閾値を超える場合、RGB分布の差異性が差異性条件を満たすことが示され、この場合、後続のフレームの埋め込み領域の背景が前景により遮蔽されていると考慮する一方、後続のフレームの埋め込み領域のヒストグラム分布と初期埋め込み領域のヒストグラム分布との差異が閾値を超えない場合、RGB分布の差異性が差異性条件を満たさないことが示され、この場合、後続のフレームの埋め込み領域の背景が前景により遮蔽されていないと考慮する。
【0175】
遮蔽されていると判断する場合、更新する学習率を0とし(すなわち、後続のフレームでモデルにおけるモードの重み付けを更新しない)、遮蔽されていない場合、元の学習率を維持してもよい。
【0176】
一部の実施例では、ステップS6042を実施する際に、以下のとおりであってもよい。
【0177】
商機初期フレームの後続の各フレームの埋め込み領域に対して、後続のフレームの埋め込み領域と初期埋め込み領域(すなわち、初期フレームの埋め込み領域)とのHSV分布を比較し、HSV分布の差異性に基づいて、背景の異なる光照射変化であるか否かを決定する。HSV分布の差異性が差異性条件を満たすか否かを判断することは、HSV色空間のヒストグラム分布を比較することで実現されてもよい。差異性条件を満たす場合、背景の光照射が変化したと考慮し、更新する学習率を-1とする。HSVが光照射の変化を反映することができるので、背景の光照射が変化した場合、学習率を-1に調整することで、新しい光照射変化を満たすモードの重み付けを大きく、新しい光照射が前景として認識される状況を回避することができ、光照射変化が発生していない場合、元の学習率を維持することができる。
【0178】
一部の実施例では、ステップS6043を実施する際に、後続のフレームの埋め込み領域のピクセル種類を認識し、モデルを更新し、さらにマスクを決定してもよい。
【0179】
商機初期フレームと後続のフレームとの共通ピクセルに対して、後続のフレーム(t時点)での色値Xtと、ピクセルの現在のK個のモード(すなわち、K個のガウス成分)とを比較し、少なくとも1つのモードの平均値との偏差がモードの2.5σ(すなわち、標準偏差の2.5倍)以下である場合、モードがピクセルとマッチングし、ピクセルがビデオの背景に属すると考慮し、マッチングしない場合、ピクセルが前景に属する。
【0180】
ピクセルが前景であるか、又は、背景であるかを決定した上で、マスクを決定して形態学的改善を行う。
【0181】
ピクセルがビデオの背景に属する場合、マスクにおけるピクセルに対応する値が1であり、ピクセルがビデオの前景に属する場合、マスクにおけるピクセルに対応する値が0である。
【0182】
本願の実施例では、マスクを形態学的に改善することは、主に、モードの一部の前景と遮蔽との判断誤差に対して、マスクにおける穴の解消及び断層の連結を含む修復を行うことであり、遮蔽処理後に、露出されたビデオ前景にノイズが発生することを回避する。
図9A及び
図9Bは、マスクを形態学的に改善する模式図である。
図9Aに示すように、901の白色領域における穴を形態学的に解消することで、902に示す完全に連通する領域を形成することができる。
図9Bに示すように、911における断層を形態学的に連結し、同様に、912に示す連通する完全な領域を形成することができる。
【0183】
モデルの更新は、更新された学習率に従って、モデルの重み付けを更新することであり得る。ピクセルが全くマッチングされていないモードの平均値及び標準偏差を変更せず、マッチングされたモードの平均値及び標準偏差のみを更新する。いかなるモードもピクセルとマッチングされていない場合、ピクセルに基づいて新しいモードを初期化し、重み付けが最小のモードを置き換える。各モードは、ω/α2の降順で配列され、重み付けが大きく、標準偏差が小さいほど、前の方に配列される。ここでは、ωが重み付けであり、αが学習率である。
【0184】
実際に実施する際に、X
jがi番目のモードとマッチングすると、i番目のモードがX
jで更新され、残りのモードが不変に維持され、更新形態は、以下のとおりである。
【数7】
ただし、αは、モデルの学習率であり、ρは、パラメータの学習率であり、モードパラメータの収束速度を反映する。x
jがピクセルのK個のモードといずれもマッチングされていない場合、混合ガウスモデルのうち、最後に配列されるいくつかのモードが新しいモードで代替され、新しいモードの平均値をx
jとし、標準偏差及び重みをσ
init及びω
initに初期化する。残りのモードが同じ平均値及び分散を維持し、重み付けを式(3-8)に従って更新する。
【数8】
【0185】
更新完了後に、各モードの重み付けを正規化する必要があり、パラメータ更新が完了された後に、ピクセルの混合ガウスモデルにおけるモードが背景により生成されるものであることを決定するために、各モードがω/α
2の降順で配列されており、前の方のB個のモードを背景の分布として選択する。Bは、以下の式を満たし、パラメータQは、背景が占める割合を表す。
【数9】
【0186】
大きいものを用いることで、画素値が大きい分散及び高い出現確率を有することを表し、これによって、シーン背景の画素値の特性を表す。
【0187】
以上は、固定ショットを用いて形成されたビデオに情報を埋め込む実現プロセスであると考慮することができる。
図8A及び
図8Bは、本願の実施例で固定ショットを用いて形成されたビデオに情報を埋め込む効果の模式図である。その中で、
図8Aに示す画像は、
図8Bに示す画像の前のあるフレームの画像(すなわち、ビデオで「ベビーポーズ」が解説される前のあるフレームの画像)であってよく、この場合、
図8Aに示すように、画像フレームにおける壁領域801に「ベビーポーズ」が表示されていない。壁領域を広告埋め込み領域とすると、後続のフレーム、すなわち、
図8Bに示す画像フレームに、前景の「ベビーポーズ」が出現し、そのまま埋め込み広告をレイヤーとして被覆すると、「ベビーポーズ」部分が遮蔽されてしまう。
【0188】
本願の実施例に係るビデオに情報を埋め込む技術案を適用すると、
図8Bに示すように、「ベビーポーズ」の3つの文字が広告の上に浮き、すなわち、埋め込まれた広告811がビデオの前景コンテンツを遮蔽することなく、それにより、オリジナルビデオの広告埋め込み位置での前景コンテンツの完全性を確保する。
【0189】
移動ショットを用いて形成されたビデオの場合、ステップS604を実施する際に、ステップS6041の前に、ステップ71をさらに実行する必要がある。
【0190】
ステップ71において、埋め込み領域を含む後続のフレームを追跡する。
【0191】
特徴追跡技術によりテンプレートのマッチングを行うか(特徴点のテンプレート、例えば、orb方法で見つけられる特徴点)、又は、埋め込み領域を含む後続のフレームをsift方法で追跡する。
【0192】
ビデオの後続のフレームに対して、まず、埋め込み領域(すなわち、情報を埋め込むための背景領域)を追跡してホモグラフィ行列Hを生成する必要がある。背景モデリングが各ピクセルに対してモデリングすることであるため、商機初期フレーム(参照フレーム)における埋め込み領域のピクセルの位置と、後続のフレームにおける埋め込み領域のピクセルの位置とを1つずつ対応させる必要がある。これは、カメラが移動すると、商機初期フレームにおける埋め込み領域のピクセルの位置と、現在のフレームの埋め込み領域のピクセルの位置とが対応しなくなるためである。
【0193】
商機初期フレームにおける埋め込み領域のピクセルの位置と、後続のフレームの埋め込み領域のピクセルの位置とを1つずつ対応させる際には、式(3-10)により、現在のフレームの埋め込み領域をホモグラフィ行列Hに基づいて初期フレームに逆変換することができる。
【0194】
ただし、x
t、y
tは、現在のフレームにおける1つのピクセルを表し、x
0、y
0は、商機初期フレームにおける、ピクセルに対応するピクセルを表す。
【数10】
【0195】
移動ショットを用いて形成されたビデオの場合、ステップS6041及びステップS6042を実施する際に、固定ショットを用いて形成されたビデオステップS6041及びステップS6042の実現プロセスと同様であるため、上記の同様なステップについての説明を参照して理解することができる。
【0196】
ステップS6043を実施する際にも、後続のフレームにおける埋め込み領域のピクセル種類を認識することで、モデルを更新してマスクを決定する必要がある。相違点は、マスクが決定されると、ホモグラフィ行列Hを利用して、mask(マスク)を後続のフレームの位置に逆変換することであり、変換は、以下の式(3-11)に示す。
【数11】
【0197】
後続のフレームにおける埋め込み領域に広告を埋め込み、遮蔽されていると判断された画像フレームに対して、対応するマスクを埋め込み領域に適用し、ビデオをパッケージ化する。
【0198】
図8C及び
図8Dは、本願の実施例で移動ショットを用いて形成されたビデオに情報を埋め込む効果の模式図である。
図8Cは、人物が出現していないあるフレームであり、この場合、地面を広告埋め込み領域821とすると、広告が埋め込まれた後の画像フレームは、
図8Cに示す。後続のフレームでは、埋め込まれる広告の「Hello 秦Pro」をそのままレイヤーで被覆すると、領域に出現している人物の脚部を遮蔽してしまう。本実施例に係るビデオに情報を埋め込む技術案を適用すると、
図8Dに示すように、人物の脚が埋め込み広告のトップに表示され、広告埋め込み領域831がビデオの前景を遮蔽することはない。
【0199】
本願の実施例に係るビデオへの情報埋め込み方法を利用して、ビデオ配列及び全画素統計モデリングを結合する方法を用いることで、静止ショットに対して、背景を自動的に選択してモデリングし、後続のフレームが学習率を自動的に更新してモデルを最適化し、統計された特徴を用いて遮蔽マスクを判定する一方、移動ショットに対して、変換技術を用いて標準画面にマッピングして画素の統計モデリングを行い、配列フレームに戻って遮蔽マスクを取得し、移動追跡モデルが必要とされず、ビデオに広告を埋め込むプロセスにおける遮蔽物を正確に処理し、埋め込まれた広告がよりリアルになるとともに、リアルタイム性が高く、適用範囲が広く、ロバスト性が高く、自動的かつ高効率に使用することができる。
【0200】
以下、ソフトウェアモジュールの例示的な構成について説明する。一部の実施例では、
図2に示すように、装置240におけるソフトウェアモジュールは、 参照フレームにおける埋め込み領域の画素分布特性を満たすモデルを構築し、前記参照フレームの後続の検出対象のフレームに基づいて前記モデルの更新を制御するモデル構築モジュール241と、
前記モデルに基づいて、前記検出対象のフレームにおける埋め込み領域内の背景及び前景を認識し、前記背景を遮蔽し前景を露出させるためのテンプレートを生成するテンプレート生成モジュール242と、
埋め込み対象の情報を前記テンプレートに適用することで、前記埋め込み対象の情報のうち、前記前景を遮蔽するコンテンツをブロックするテンプレート適用モジュール243と、
前記テンプレートが適用された前記埋め込み対象の情報を前記検出対象のフレームにおける埋め込み領域に被覆することで、前記前景を前記埋め込み対象の情報に対して強調表示する情報被覆モジュール244と、を含むことができる。
【0201】
一部の実施例では、前記装置は、
前記参照フレームにおける埋め込み領域の各ピクセルに対応して、前記ピクセルに対応する少なくとも1つのサブモデルと少なくとも1つのサブモデルに対応する重み付けとを初期化するパラメータ初期化モジュールと、
各ピクセルに対応して構築されたサブモデルを初期化された重み付けに基づいて混合することで、前記ピクセルに対応するモデルを形成する重み付け混合モジュールと、をさらに含む。
【0202】
一部の実施例では、前記装置は、
前記検出対象のフレームにおける埋め込み領域が前記前景により遮蔽されたことに応じて、前記モデルを前記検出対象のフレームにおける埋め込み領域へフィッティングする速度を低減させ、前記モデルにおけるサブモデルの重み付けを不変にする重み付け維持モジュールと、
前記検出対象のフレームにおける埋め込み領域が前記前景により遮蔽されていないとともに、前記検出対象のフレームにおける埋め込み領域の光照射状況が変化したことに応じて、前記モデルを前記検出対象のフレームにおける埋め込み領域へフィッティングする速度を向上させるフィッティング加速モジュールと、をさらに含む。
【0203】
一部の実施例では、前記装置は、
前記検出対象のフレームにおける埋め込み領域のピクセルが対応するモデルにおける少なくとも1つのサブモデルとマッチングされたことに応じて、前記マッチングされたサブモデルのパラメータを更新し、前記対応するモデルにおけるマッチングされていないサブモデルのパラメータを不変に維持するパラメータ更新モジュールをさらに含む。
【0204】
一部の実施例では、前記装置は、
前記検出対象のフレームにおける埋め込み領域の各ピクセルの色値と、前記ピクセルに対応するモデルにおけるサブモデルとをマッチングする第1のマッチングモジュールと、
マッチングに成功したピクセルを前記背景のピクセルとして認識し、マッチングに失敗したピクセルを前記前景のピクセルとして認識する認識モジュールと、をさらに含む。
【0205】
一部の実施例では、前記装置は、
前記検出対象のフレームにおける埋め込み領域内の、背景として認識されたピクセルに対応し、中空の前記テンプレートにおける対応する位置に二進数の1を充填し、
前記検出対象のフレームにおける埋め込み領域内の、前景として認識されたピクセルに対応し、二進数の1が充填された前記テンプレートにおける対応する位置に二進数の0を充填する充填モジュールをさらに含む。
【0206】
一部の実施例では、前記装置は、
前記埋め込み対象の情報と、前記テンプレートにおける各位置に充填された二進数とをかけ算する演算モジュールをさらに含む。
【0207】
一部の実施例では、前記装置は、
ビデオが移動ショットを用いて形成されたことに応じて、前記ビデオの参照フレームにおける埋め込み領域から抽出された特徴と、前記検出対象のフレームから抽出された特徴とをマッチングする第2のマッチングモジュールと、
マッチングに成功したことに応じて、前記検出対象のフレームが参照フレームにおける埋め込み領域に対応する埋め込み領域を含むと決定する領域決定モジュールと、をさらに含む。
【0208】
一部の実施例では、前記装置は、
ビデオが移動ショットを用いて形成されたことに応じて、
前記参照フレームの後続の検出対象のフレームに基づいて前記モデルの更新を制御する前に、変換後の埋め込み領域における各ピクセルの位置が、前記参照フレームにおける埋め込み領域の対応するピクセルの位置に一致するように、前記検出対象のフレームにおける埋め込み領域を変換する領域変換モジュールと、
埋め込み対象の情報を前記テンプレートに適用する前に、変換後のテンプレートにおける各二進数の位置が、前記検出対象のフレームにおける埋め込み領域の対応するピクセルの位置に一致するように、前記テンプレートに対して前記変換の逆変換を行うテンプレート逆変換モジュールと、をさらに含む。
【0209】
一部の実施例では、前記装置は、
ビデオが固定ショットを用いて形成されたことに応じて、前記参照フレームにおける埋め込み領域の位置に基づいて、前記検出対象のフレームにおいて対応する位置の領域を位置づけすることで、前記検出対象のフレームにおける埋め込み領域を決定する領域位置づけモジュールをさらに含む。
【0210】
一部の実施例では、前記装置は、
前記検出対象のフレームにおける埋め込み領域の第1の色空間分布と、前記参照フレームにおける埋め込み領域の第1の色空間分布とが第1の差異性条件を満たすことに応じて、前記参照フレームにおける埋め込み領域が前記前景により遮蔽されているか否かを決定する第1の決定モジュールと、
前記検出対象のフレームにおける埋め込み領域の第2の色空間分布と、前記参照フレームにおける埋め込み領域の第2の色空間分布とが第2の差異性条件を満たすことに応じて、前記参照フレームにおける埋め込み領域が前記前景により遮蔽されているか否かを決定する第2の決定モジュールと、をさらに含む。
【0211】
本願の実施例に係る方法がハードウェアで実施される例としては、本願の実施例に係る方法は、直接、ハードウェアデコードプロセッサの形態のプロセッサ410で実行されてもよく、例えば、1つ又は複数の特定用途向け集積回路(ASIC、Application Specific Integrated Circuit)、DSP、プログラマブルロジックデバイス(PLD、Programmable Logic Device)、複雑プログラマブルロジックデバイス(CPLD、Complex Programmable Logic Device)、フィールドプログラマブルゲートアレイ(FPGA、Field-Programmable Gate Array)又は他の電子部品によって実行されることで、本願の実施例に係る方法を実現する。
【0212】
本願の実施例は、実行可能な命令が記憶されており、実行可能な命令がプロセッサによって実行されると、プロセッサに本願の実施例に係る方法、例えば、
図3~
図6に示す方法を実行させる、記憶媒体を提供する。
【0213】
一部の実施例では、記憶媒体は、FRAM、ROM、PROM、EPROM、EEPROM、フラッシュメモリ、磁気表面メモリ、ディスク、又はCD-ROMなどのメモリであってもよいし、上記メモリの1つ又は任意の組合せを含む様々な機器であってもよい。
【0214】
一部の実施例では、実行可能な命令は、プログラム、ソフトウェア、ソフトウェアモジュール、スクリプト又はコードの形式を用いてもよく、任意の形式のプログラミング言語(コンパイル又は解釈される言語、若しくは、宣言型又は手続型の言語を含む)で記述可能であり、任意の形式(独立するプログラム、又は、モジュール、コンポーネント、サブルーチン、若しくはコンピューティング環境での使用に適した他のユニットを含む)で配置可能である。
【0215】
例としては、実行可能な命令は、必ずしもファイルシステムにおけるファイルに対応するわけではなく、他のプログラム又はデータが記憶されるファイルの一部に記憶されてもよく、例えば、HTML(HTML、Hyper Text Markup Language)ドキュメントにおける1つ又は複数のスクリプトに記憶されたり、検討されたプログラムの単一のファイルに記憶されたり、複数のコーディネートされたファイル(例えば、1つ又は複数のモジュール、サブルーチン又はコード部分を格納するファイル)に記憶されたりする。
【0216】
例としては、実行可能な命令は、1つのコンピュータ上で、又は、1箇所に配置された複数のコンピュータ機器上で実行され、若しくは、複数の場所に跨って分散され通信ネットワークによりお互いに接続されている複数のコンピューティング機器上で実行されるように配置可能である。
【0217】
以上をまとめると、本願の実施例によって、参照フレームにおける埋め込み領域の画素分布特性に基づいてモデルを構築することで、検出対象のフレームにおける埋め込み領域に対して遮蔽検出を行い、遮蔽検出結果に基づいてモデルパラメータを更新することができ、検出対象のフレームの埋め込み領域が参照フレームにおける埋め込み領域の背景画素分布をフィッティングするようにすることができ、前景を遮蔽することなく、埋め込まれた情報をビデオの背景に融合することができ、それにより、より良好な視聴体験をもたらす。また、移動ショットで形成されたビデオに対して、特徴点を利用して埋め込み領域を決定し、検出対象のフレームにおける埋め込み領域のピクセルを変換により参照フレームと一致する位置にマッピングすることで、移動追跡が必要とされず、リアルタイム性が高くなるとともに、ロバスト性が高くなる。
【0218】
以上は、本願の実施例に過ぎず、本願の保護範囲を限定するためのものではない。本願の趣旨及び範囲内で行われる任意の補正、均等置換や改良などは、いずれも本願の保護範囲に含まれる。