(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023091454
(43)【公開日】2023-06-30
(54)【発明の名称】合成処理装置
(51)【国際特許分類】
G06T 7/254 20170101AFI20230623BHJP
G06T 13/80 20110101ALI20230623BHJP
【FI】
G06T7/254 A
G06T13/80 B
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021206206
(22)【出願日】2021-12-20
(11)【特許番号】
(45)【特許公報発行日】2023-02-02
(71)【出願人】
【識別番号】320005501
【氏名又は名称】株式会社電通
(71)【出願人】
【識別番号】513173073
【氏名又は名称】株式会社二番工房
(71)【出願人】
【識別番号】321011815
【氏名又は名称】株式会社フューチュレック
(74)【代理人】
【識別番号】230104019
【弁護士】
【氏名又は名称】大野 聖二
(74)【代理人】
【識別番号】100106840
【弁理士】
【氏名又は名称】森田 耕司
(74)【代理人】
【識別番号】100131451
【弁理士】
【氏名又は名称】津田 理
(74)【代理人】
【識別番号】100167933
【弁理士】
【氏名又は名称】松野 知紘
(74)【代理人】
【識別番号】100174137
【弁理士】
【氏名又は名称】酒谷 誠一
(74)【代理人】
【識別番号】100184181
【弁理士】
【氏名又は名称】野本 裕史
(72)【発明者】
【氏名】柴田 修志
(72)【発明者】
【氏名】宮崎 暢
(72)【発明者】
【氏名】金谷橋 忍
(72)【発明者】
【氏名】高松 克宗
(72)【発明者】
【氏名】神田 宗秋
(72)【発明者】
【氏名】武田 健児
(72)【発明者】
【氏名】荒木 直行
【テーマコード(参考)】
5B050
5L096
【Fターム(参考)】
5B050AA08
5B050AA09
5B050BA06
5B050BA08
5B050CA00
5B050DA04
5B050EA19
5B050FA02
5B050FA05
5L096BA08
5L096DA01
5L096EA43
5L096FA14
5L096FA69
5L096GA08
5L096GA43
5L096GA51
5L096HA02
(57)【要約】
【課題】 入力動画の中に前景物が写っている場合に、あたかも前景物の上にオブジェクトが存在しているかのような出力動画を得ることのできる合成処理装置を提供する。
【解決手段】 合成処理装置1は、入力動画から取得されるフレーム画像から二値化画像を取得し、二値化画像から抽出される中央ピクセル列から黒ピクセル列を抽出する。そして、黒ピクセル列の上端の基準ピクセルに隣接する隣接ピクセルの二値化画素値が黒画素値である場合に、その基準ピクセルの座標をオブジェクト配置座標として決定し、入力動画の中にオブジェクトが配置された出力動画を出力する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
入力動画の中に所定のオブジェクトを配置する合成処理装置であって、
前記合成処理装置は、
画像処理の対象となる入力動画から、所定のフレームごとの複数のフレーム画像を取得するフレーム画像取得部と、
前記フレーム画像の各ピクセルの画素値を白画素値と黒画素値のいずれかの二値化画素値に変換して、前記フレーム画像から二値化画像を取得する二値化画像取得部と、
前記二値化画像から、横軸上で中央に位置しかつ縦軸方向に沿って連続する複数のピクセルで構成される中央ピクセル列を抽出する中央ピクセル列抽出部と、
前記中央ピクセル列を構成する各ピクセルの二値化画素値を取得する中央二値化画素値取得部と、
前記中央ピクセル列の各ピクセルの二値化画素値に基づいて、前記中央ピクセル列から、縦軸方向に沿って黒画素値が連続する複数のピクセルで構成される黒ピクセル列を抽出する黒ピクセル列抽出部と、
前記黒ピクセル列の上端のピクセルを基準ピクセルとし、前記基準ピクセルに対して横軸方向で隣接する隣接ピクセルの二値化画素値を取得する隣接二値化画素値取得部と、
前記隣接ピクセルの二値化画素値が黒画素値である場合に、前記基準ピクセルの座標を、オブジェクト配置座標として決定する配置座標決定部と、
前記オブジェクト配置座標を基準として、前記入力動画の中に前記オブジェクトを配置する合成処理を行う合成処理部と、
前記オブジェクトが配置された前記入力動画を出力動画として出力する動画出力部と、
を備える、合成処理装置。
【請求項2】
時間的に連続する二つのフレーム間の前記二値化画像のコントラスト値を比較することによって、コントラスト差を算出するコントラスト差算出部と、
前記コントラスト差が、所定の閾値以上である場合と、前記閾値未満である場合とで、前記オブジェクトのアニメーションを異ならせるアニメーション決定部と、
を備える、請求項1に記載の合成処理装置。
【請求項3】
前記アニメーション決定部は、時間的に連続する二つのフレーム間の前記オブジェクト配置座標の差が、所定の基準値以上である場合と、前記基準値未満である場合とで、前記オブジェクトのアニメーションを異ならせる、請求項2に記載の合成処理装置。
【請求項4】
前記二値化画像において黒画素値のピクセル数が白画素値のピクセル数より多い場合に、当該二値化画像を構成する全ピクセルの黒画素値と白画素値を入れ替える白黒反転部を備える、請求項1~請求項3のいずれか一項に記載の合成処理装置。
【請求項5】
入力動画の中に所定のオブジェクトを配置する合成処理装置で実行される方法であって、
前記方法は、
画像処理の対象となる入力動画から、所定のフレームごとの複数のフレーム画像を取得するステップと、
前記フレーム画像の各ピクセルの画素値を白画素値と黒画素値のいずれかの二値化画素値に変換して、前記フレーム画像から二値化画像を取得するステップと、
前記二値化画像から、横軸上で中央に位置しかつ縦軸方向に沿って連続する複数のピクセルで構成される中央ピクセル列を抽出するステップと、
前記中央ピクセル列を構成する各ピクセルの二値化画素値を取得するステップと、
前記中央ピクセル列の各ピクセルの二値化画素値に基づいて、前記中央ピクセル列から、縦軸方向に沿って黒画素値が連続する複数のピクセルで構成される黒ピクセル列を抽出するステップと、
前記黒ピクセル列の上端のピクセルを基準ピクセルとし、前記基準ピクセルに対して横軸方向で隣接する隣接ピクセルの二値化画素値を取得するステップと、
前記隣接ピクセルの二値化画素値が黒画素値である場合に、前記基準ピクセルの座標を、オブジェクト配置座標として決定するステップと、
前記オブジェクト配置座標を基準として、前記入力動画の中に前記オブジェクトを配置する合成処理を行うステップと、
前記オブジェクトが配置された前記入力動画を出力動画として出力するステップと、
を含む、方法。
【請求項6】
入力動画の中に所定のオブジェクトを配置する合成処理装置のコンピュータで実行されるプログラムであって、
前記プログラムは、前記コンピュータに、
画像処理の対象となる入力動画から、所定のフレームごとの複数のフレーム画像を取得する処理と、
前記フレーム画像の各ピクセルの画素値を白画素値と黒画素値のいずれかの二値化画素値に変換して、前記フレーム画像から二値化画像を取得する処理と、
前記二値化画像から、横軸上で中央に位置しかつ縦軸方向に沿って連続する複数のピクセルで構成される中央ピクセル列を抽出する処理と、
前記中央ピクセル列を構成する各ピクセルの二値化画素値を取得する処理と、
前記中央ピクセル列の各ピクセルの二値化画素値に基づいて、前記中央ピクセル列から、縦軸方向に沿って黒画素値が連続する複数のピクセルで構成される黒ピクセル列を抽出する処理と、
前記黒ピクセル列の上端のピクセルを基準ピクセルとし、前記基準ピクセルに対して横軸方向で隣接する隣接ピクセルの二値化画素値を取得する処理と、
前記隣接ピクセルの二値化画素値が黒画素値である場合に、前記基準ピクセルの座標を、オブジェクト配置座標として決定する処理と、
前記オブジェクト配置座標を基準として、前記入力動画の中に前記オブジェクトを配置する合成処理を行う処理と、
前記オブジェクトが配置された前記入力動画を出力動画として出力する処理と、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力動画の中に所定のオブジェクトを配置する合成処理装置に関する。
【背景技術】
【0002】
従来から、ユーザの視界を通した現実の映像に、コンピュータで作成された付加情報を重畳して表示させる技術として、拡張現実技術(AR技術)が知られている。例えば、電車で移動しているユーザに対して、有用と思われるオブジェクトデータを表示する端末装置が提案されている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の装置においては、電車の中から車窓を通して撮影した動画(入力動画)の中に山やビルなどの前景物が写っている場合に、その入力画像中のどの位置にオブジェクトを配置すべきかについて、何ら考慮されていない。
【0005】
本発明は、上記の課題に鑑みてなされたもので、入力動画の中に前景物が写っている場合に、あたかも前景物の上にオブジェクトが存在しているかのような出力動画を得ることのできる合成処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の合成処理装置は、入力動画の中に所定のオブジェクトを配置する合成処理装置であって、前記合成処理装置は、画像処理の対象となる入力動画から、所定のフレームごとの複数のフレーム画像を取得するフレーム画像取得部と、前記フレーム画像の各ピクセルの画素値を白画素値と黒画素値のいずれかの二値化画素値に変換して、前記フレーム画像から二値化画像を取得する二値化画像取得部と、前記二値化画像から、横軸上で中央に位置しかつ縦軸方向に沿って連続する複数のピクセルで構成される中央ピクセル列を抽出する中央ピクセル列抽出部と、前記中央ピクセル列を構成する各ピクセルの二値化画素値を取得する中央二値化画素値取得部と、前記中央ピクセル列の各ピクセルの二値化画素値に基づいて、前記中央ピクセル列から、縦軸方向に沿って黒画素値が連続する複数のピクセルで構成される黒ピクセル列を抽出する黒ピクセル列抽出部と、前記黒ピクセル列の上端のピクセルを基準ピクセルとし、前記基準ピクセルに対して横軸方向で隣接する隣接ピクセルの二値化画素値を取得する隣接二値化画素値取得部と、前記隣接ピクセルの二値化画素値が黒画素値である場合に、前記基準ピクセルの座標を、オブジェクト配置座標として決定する配置座標決定部と、前記オブジェクト配置座標を基準として、前記入力動画の中に前記オブジェクトを配置する合成処理を行う合成処理部と、前記オブジェクトが配置された前記入力動画を出力動画として出力する動画出力部と、を備えている。
【0007】
この構成によれば、入力動画から取得されるフレーム画像の各ピクセルの画素値を二値化画素値(白画素値または黒画素値)に変換することによって、フレーム画像から二値化画像が取得される。つぎに、二値化画像から中央ピクセル列が抽出され、中央ピクセル列から黒ピクセル列が抽出される。そして、黒ピクセル列の上端の基準ピクセルに隣接する隣接ピクセルの二値化画素値が黒画素値であると、基準ピクセルの座標がオブジェクト配置座標として決定され、そのオブジェクト配置座標を基準として入力動画の中にオブジェクトが配置され、出力動画として出力される。
これにより、入力動画(例えば、電車の中から車窓を通して撮影した動画など)の中に前景物(例えば、山やビルなど)が写っている場合に、背景と前景物との境界にあたる座標がオブジェクト配置座標として検出される。そして、オブジェクト配置座標を基準として入力動画の中にオブジェクトを配置する合成処理が行われれることにより、あたかも前景物の上にオブジェクトが存在している(例えば、前景物の上をオブジェクトが走っている、あるいは、前景物の上でオブジェクトが寝ている)かのような出力動画を得ることができる。
【0008】
また、本発明の合成処理装置は、時間的に連続する二つのフレーム間の前記二値化画像のコントラスト値を比較することによって、コントラスト差を算出するコントラスト差算出部と、前記コントラスト差が、所定の閾値以上である場合と、前記閾値未満である場合とで、前記オブジェクトのアニメーションを異ならせるアニメーション決定部と、を備えてもよい。
【0009】
この構成によれば、時間的に連続する二つのフレーム間の二値化画像から算出されたコントラスト差の大小に応じて、オブジェクトに適用するアニメーションを異ならせる。例えば、コントラスト差が大きい(所定の閾値以上である)場合には、オブジェクトが走るアニメーションが適用され、コントラスト差が小さい(所定の閾値未満である)場合には、オブジェクトが寝るアニメーションが適用される。
二つのフレーム間の二値化画像から算出されたコントラスト差の大きさは、画像全体の移動速度(例えば、電車の中から車窓を通して動画を撮影している場合における電車の走行速度)と相関する。そのため、上記のようにしてオブジェクトに適用するアニメーションを決定することにより、画像全体の移動速度に応じた適切なアニメーションをオブジェクトに適用することができる。また、この場合、オブジェクト配置座標を決定するために二値化画像を用いているため、その二値化画像(二値化画像から算出されたコントラスト差)を用いることにより、新たに別の手法で算出する場合に比べて、画像全体の移動速度を効率的に(大きな処理負荷をかけずに)求めることができる。
【0010】
また、本発明の合成処理装置では、前記アニメーション決定部は、時間的に連続する二つのフレーム間の前記オブジェクト配置座標の差が、所定の基準値以上である場合と、前記基準値未満である場合とで、前記オブジェクトのアニメーションを異ならせてもよい。
【0011】
この構成によれば、時間的に連続する二つのフレーム間のオブジェクト配置座標の差に応じて、オブジェクトに適用するアニメーションを異ならせる。例えば、オブジェクト配置座標の差が大きい(所定の基準値以上である)場合には、オブジェクトがジャンプするアニメーションが適用され、オブジェクト配置座標の差が小さい(所定の基準値未満である)場合には、オブジェクトが走るアニメーションが適用される。
二つのフレーム間のオブジェクト配置座標の差が大きい場合には、入力動画(例えば、電車の中から車窓を通して撮影した動画など)の中に写っていた前景物A(例えば、山やビルなど)が写らなくなり、別の前景物B(例えば、山やビルなど)が写るようになったことと相関する。そのため、上記のようにしてオブジェクトに適用するアニメーションを決定することにより、入力動画に写っている前景物の切り替わりに応じた適切なアニメーション(前景物Aから前景物Bへジャンプするようなアニメーション)をオブジェクトに適用することができる。
【0012】
また、本発明の合成処理装置は、前記二値化画像において黒画素値のピクセル数が白画素値のピクセル数より多い場合に、当該二値化画像を構成する全ピクセルの黒画素値と白画素値を入れ替える白黒反転部を備えてもよい。
【0013】
この構成によれば、二値化画像の黒画素値のピクセル数が白画素値のピクセル数より多い場合には、二値化画像のピクセルの黒画素値と白画素値とが入れ替えられる(白黒が反転される)。
例えば、夜間やトンネル内を電車が走行する場合などには、二値化画像において、黒画素値のピクセル数が白画素値のピクセル数より多くなり、背景に対応するピクセルが黒画素値を有し、前景物に対応するピクセルが白画素値を有する傾向にある。そのため、上記のように二値化画像の白黒を反転させることにより、夜間やトンネル内を電車が走行する場合などにおいても、入力動画(例えば、電車の中から車窓を通して撮影した動画など)の中に前景物が写っている場合に、背景と前景物との境界にあたる座標をオブジェクト配置座標として適切に検出することができる。
【0014】
本発明の方法は、入力動画の中に所定のオブジェクトを配置する合成処理装置で実行される方法であって、前記方法は、画像処理の対象となる入力動画から、所定のフレームごとの複数のフレーム画像を取得するステップと、前記フレーム画像の各ピクセルの画素値を白画素値と黒画素値のいずれかの二値化画素値に変換して、前記フレーム画像から二値化画像を取得するステップと、前記二値化画像から、横軸上で中央に位置しかつ縦軸方向に沿って連続する複数のピクセルで構成される中央ピクセル列を抽出するステップと、前記中央ピクセル列を構成する各ピクセルの二値化画素値を取得するステップと、前記中央ピクセル列の各ピクセルの二値化画素値に基づいて、前記中央ピクセル列から、縦軸方向に沿って黒画素値が連続する複数のピクセルで構成される黒ピクセル列を抽出するステップと、前記黒ピクセル列の上端のピクセルを基準ピクセルとし、前記基準ピクセルに対して横軸方向で隣接する隣接ピクセルの二値化画素値を取得するステップと、前記隣接ピクセルの二値化画素値が黒画素値である場合に、前記基準ピクセルの座標を、オブジェクト配置座標として決定するステップと、前記オブジェクト配置座標を基準として、前記入力動画の中に前記オブジェクトを配置する合成処理を行うステップと、前記オブジェクトが配置された前記入力動画を出力動画として出力するステップと、を含んでいる。
【0015】
この方法によっても、上記の装置と同様、入力動画(例えば、電車の中から車窓を通して撮影した動画など)の中に前景物(例えば、山やビルなど)が写っている場合に、背景と前景物との境界にあたる座標がオブジェクト配置座標として検出される。そして、オブジェクト配置座標を基準として入力動画の中にオブジェクトを配置する合成処理が行われれることにより、あたかも前景物の上にオブジェクトが存在している(例えば、前景物の上をオブジェクトが走っている、あるいは、前景物の上でオブジェクトが寝ている)かのような出力動画を得ることができる。
【0016】
本発明のプログラムは、入力動画の中に所定のオブジェクトを配置する合成処理装置のコンピュータで実行されるプログラムであって、前記プログラムは、前記コンピュータに、画像処理の対象となる入力動画から、所定のフレームごとの複数のフレーム画像を取得する処理と、前記フレーム画像の各ピクセルの画素値を白画素値と黒画素値のいずれかの二値化画素値に変換して、前記フレーム画像から二値化画像を取得する処理と、前記二値化画像から、横軸上で中央に位置しかつ縦軸方向に沿って連続する複数のピクセルで構成される中央ピクセル列を抽出する処理と、前記中央ピクセル列を構成する各ピクセルの二値化画素値を取得する処理と、前記中央ピクセル列の各ピクセルの二値化画素値に基づいて、前記中央ピクセル列から、縦軸方向に沿って黒画素値が連続する複数のピクセルで構成される黒ピクセル列を抽出する処理と、前記黒ピクセル列の上端のピクセルを基準ピクセルとし、前記基準ピクセルに対して横軸方向で隣接する隣接ピクセルの二値化画素値を取得する処理と、前記隣接ピクセルの二値化画素値が黒画素値である場合に、前記基準ピクセルの座標を、オブジェクト配置座標として決定する処理と、前記オブジェクト配置座標を基準として、前記入力動画の中に前記オブジェクトを配置する合成処理を行う処理と、前記オブジェクトが配置された前記入力動画を出力動画として出力する処理と、を実行させる。
【0017】
このプログラムによっても、上記の装置と同様、入力動画(例えば、電車の中から車窓を通して撮影した動画など)の中に前景物(例えば、山やビルなど)が写っている場合に、背景と前景物との境界にあたる座標がオブジェクト配置座標として検出される。そして、オブジェクト配置座標を基準として入力動画の中にオブジェクトを配置する合成処理が行われれることにより、あたかも前景物の上にオブジェクトが存在している(例えば、前景物の上をオブジェクトが走っている、あるいは、前景物の上でオブジェクトが寝ている)かのような出力動画を得ることができる。
【発明の効果】
【0018】
本発明によれば、入力動画の中に前景物が写っている場合に、あたかも前景物の上にオブジェクトが存在しているかのような出力動画を得ることができる。
【図面の簡単な説明】
【0019】
【
図1】本発明の実施の形態における合成処理装置の構成を示すブロック図である。
【
図2】本発明の実施の形態における配置座標の決定の一例を示す説明図である。
【
図3】本発明の実施の形態におけるコントラスト差の算出の一例を示す説明図である。
【
図4】本発明の実施の形態における合成処理装置の動作説明のためのフロー図である。
【
図5】本発明の実施の形態におけるオブジェクト配置座標の決定処理の一例を示すフロー図である。
【
図6】本発明の実施の形態におけるコントラスト差の算出処理の一例を示すフロー図である。
【
図7】本発明の実施の形態におけるアニメーションの決定処理の一例を示すフロー図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施の形態の合成処理装置について、図面を用いて説明する。本実施の形態では、AR機能を備えたスマートフォンや端末装置等として用いられる合成処理装置の場合を例示する。合成処理装置は、入力動画の中に所定のオブジェクトを配置する機能を備えており、これらの機能は、合成処理装置のメモリに格納されるプログラム(例えばアプリケーション)を実行することにより実現することができる。
【0021】
本発明の実施の形態の合成処理装置の構成を、図面を参照して説明する。
図1は、本実施の形態の合成処理装置の構成を示すブロック図である。
図1に示すように、合成処理装置1は、入力部2と、出力部3と、記憶部4と、制御部5を備えている。入力部2は、各種のデータが入力される入力される入力インターフェースであり、出力部3は、各種のデータが出力される出力インターフェースである。記憶部4は、例えばメモリなどで構成されており、各種のデータやプログラムが記憶されている。
【0022】
制御部5は、例えばCPUなどで構成されており、機能ブロックとして、フレーム画像取得部10、二値化画像取得部11、白黒判定部12、中央ピクセル列抽出部13、中央二値化画像取得部14、黒ピクセル列抽出部15、隣接二値化画素値取得部16、配置座標決定部17、コントラスト差算出部18、アニメーション決定部19、合成処理部20を備えている。
【0023】
フレーム画像取得部10は、画像処理の対象となる入力動画から、フレームごとの複数のフレーム画像を取得する機能を備えている。例えば、入力動画のフレームレートが30fpsである場合には、1秒間の入力動画から30枚のフレーム画像が取得される。なお、入力動画は、入力部2から入力される動画であり、例えば、合成処理装置1(例えばスマートフォン)でリアルタイムで撮影した動画であってもよく、他の動画撮影装置によって予め撮影された動画であってもよい。
【0024】
二値化画像取得部11は、フレーム画像の各ピクセルの画素値を白画素値と黒画素値のいずれかの二値化画素値に変換して、フレーム画像から二値化画像を取得する機能を備えている。フレーム画像の画素値は、例えばRGBの画素値(カラー画素値)であり、白画素値は、例えば画素値255であり、黒画素値は、例えば画素値0である。なお、白画素値と黒画素値は、他の画素値(例えば、白画素値が画素値250、黒画素値が画素値10など)であってもよい。
【0025】
白黒反転部は、二値化画像において黒画素値のピクセル数が白画素値のピクセル数より多い場合に、その二値化画像を構成する全ピクセルの黒画素値と白画素値を入れ替える(白黒を反転する)機能を備えている。黒画素値と白画素値を入れ替える(白黒を反転する)は、黒画素値のピクセル数が白画素値のピクセル数より1ピクセルでも多い場合に行われてもよく、また、黒画素値のピクセル数が白画素値のピクセル数より所定ピクセル数(例えば10ピクセル)以上、多い場合に行われてもよい。
【0026】
中央ピクセル列抽出部13は、二値化画像から中央ピクセル列を抽出する機能を備えている。
図2には、中央ピクセル列の一例が示されている。
図2に示すように、中央ピクセル列は、横軸(
図2ではx軸)上で中央に位置し、かつ、縦軸(
図2ではy軸)方向に沿って連続する複数のピクセルで構成される。
【0027】
中央二値化画素値取得部は、中央ピクセル列を構成する各ピクセルの二値化画素値を取得する機能を備えている。中央ピクセル列の各ピクセルの二値化画素値は、例えば、画素値0(黒)~画素値255(白)のいずれかの値をとることができる。
【0028】
黒ピクセル列抽出部15は、中央ピクセル列の各ピクセルの二値化画素値に基づいて、中央ピクセル列から黒ピクセル列を抽出する機能を備えている。
図2には、黒ピクセル列の一例が示されている。
図2に示すように、黒ピクセル列は、中央ピクセル列を構成するピクセルのうち、縦軸(
図2ではy方向)方向に沿って黒画素値が連続する複数のピクセルで構成される。
図2の例では、「ピクセルp14、p17、p20」と「ピクセルp26、p29、p32」が、黒ピクセル列に該当する。
【0029】
隣接二値化画素値取得部16は、黒ピクセル列の上端のピクセルを基準ピクセルとして、基準ピクセルに対して横軸方向で隣接する隣接ピクセルの二値化画素値を取得する機能を備えている。
図2の例では、「ピクセルp14」を基準ピクセルとして、「ピクセルp14」に対して横軸(x軸)方向で隣接する「ピクセルp13、p15」が隣接ピクセルとして決定され、「ピクセルp13、p15」の二値化画素値が取得される。また、「ピクセルp26」を基準ピクセルとして、「ピクセルp26」に対して横軸(x軸)方向で隣接する「ピクセルp25、p27」が隣接ピクセルとして決定され、「ピクセルp25、p27」の二値化画素値が取得される。
【0030】
配置座標決定部17は、隣接ピクセルの二値化画素値が黒画素値である場合に、基準ピクセルの座標を、オブジェクト配置座標として決定する機能を備えている。
図2の例では、基準ピクセルを「ピクセルp14」とした場合、一方の隣接ピクセルである「ピクセルp13」の二値化画素値は黒画素値であるものの、もう一方の隣接ピクセルである「ピクセル15」の二値化画素値が白画素値であるため、「ピクセルp14」はオブジェクト配置座標として決定されない。基準ピクセルを「ピクセルp26」とした場合、隣接ピクセルである「ピクセルp25、p27」の二値化画素値がいずれも黒画素値であるため、「ピクセルp26」がオブジェクト配置座標として決定される。なお、隣接ピクセルの二値化画素値が黒画素値である基準ピクセルが複数存在する場合には、それらの基準ピクセルの中で最も上に位置する(y座標が大きい)ピクセルが、オブジェクト配置座標として決定される。
【0031】
コントラスト差算出部18は、時間的に連続する二つのフレーム間の二値化画像のコントラスト値を比較することによって、コントラスト差を算出する機能を備えている。
図3は、コントラスト差の算出の一例を示す説明図である。
図3に示すように、コントラスト差算出部18は、例えば、フレーム1とフレーム2のコントラストを比較し、各170ピクセル四方のドットごとのコントラスト差の平均値(
図3では、A1、A2、・・・、A16)を算出することで、グレースケール画像Aを取得する。また、フレーム2とフレーム3のコントラストを比較し、各170ピクセル四方のドットごとのコントラスト差の平均値(
図3では、B1、B2、・・・、B16)を算出することで、グレースケール画像Bを取得する。そして、例えば、下記の計算式に基づいて、グレースケール画像Aとグレースケール画像Bのコントラスト差Cを算出する。
C=|B1-A1|+|B2-A2|+・・・+|B16-A16|
なお、計算式は、グレースケール画像Aとグレースケール画像Bのコントラスト差を算出することができるものであればよく、これに限定されるものではない。
【0032】
アニメーション決定部19は、上記の式で算出されたコントラスト差Cの値が所定の閾値以上である場合と、閾値未満である場合とで、オブジェクトに適用するアニメーションを異ならせる機能を備えている。例えば、コントラスト差Cの値が所定の閾値以上(例えば100以上)である場合には、「オブジェクトが走るアニメーション」がオブジェクトに適用され、コントラスト差Cの値が所定の閾値未満(例えば100未満)である場合には、「オブジェクトが寝るアニメーション」がオブジェクトに適用される。
【0033】
また、アニメーション決定部19は、時間的に連続する二つのフレーム間のオブジェクト配置座標の差が、所定の基準値以上である場合と、基準値未満である場合とで、オブジェクトのアニメーションを異ならせる機能を備えている。例えば、所定フレーム(例えば15フレーム)の間にわたって、連続する二つのフレーム間のオブジェクト配置座標の差が、所定の基準値未満(例えば50未満)である場合には、「オブジェクトが走るアニメーション」がオブジェクトに適用され、連続する二つのフレーム間のオブジェクト配置座標の差が、所定の基準値以上(例えば50以上)である場合には、「オブジェクトがジャンプするアニメーション」がオブジェクトに適用される。
【0034】
合成処理部20は、上記のようにして決定されたオブジェクト配置座標を基準として、入力動画の中にオブジェクトを配置する合成処理を行う機能を備えている。例えば、オブジェクト配置座標にオブジェクトの最下点や代表点が位置するようにように、入力動画中にオブジェクトが配置される。オブジェクトの最下点とは、例えば、オブジェクトを構成するドット群のうち、最も下に位置する(y座標が小さい)ドットに対応する点である。また、オブジェクトの代表点とは、例えば、オブジェクトを四角形の枠で囲んだときの枠の下辺の中点のドットに対応する点である。このようにしてオブジェクトが配置された入力動画が、出力動画として出力部3から出力される。
【0035】
以上のように構成された合成処理装置1について、
図4~
図7のフロー図を参照してその動作を説明する。
【0036】
図4は、本実施の形態の合成処理装置1を用いて入力動画の中にオブジェクトを配置するときの主な処理の流れを示すフロー図である。
図4に示すように、本実施の形態では、まず、入力部2から入力動画(例えば、電車の中から車窓を通して撮影した動画など)が入力され(S1)、入力動画からフレーム画像が取得される(S2)。つぎに、フレーム画像から二値化画像が取得され(S3)、二値化画像において黒画素値のピクセル数が白画素値のピクセル数より多いか否かが判定される(S4)。黒画素値のピクセル数のほうが多い場合には、その二値化画像の全ピクセルの黒画素値と白画素値を入れ替える白黒反転処理が行われる(S5)。
【0037】
つづいて、二値化画像に基づいてオブジェクト配置座標が決定され(S6)、さらに、二値化画像に基づいてコントラスト差が算出され(S7)、オブジェクト配置差表とコントラスト差に基づいて、オブジェクトに適用されるアニメーションが決定される(S8)。そして、アニメーションが適用されたオブジェクトを、オブジェクト配置座標を基準として入力画像中に配置する合成処理が行われ(S9)、このようにして生成された出力動画が出力部3から出力される(S10)。
【0038】
図5は、オブジェクト配置座標を決定する処理(S6)の一例を示すフロー図である。
図5に示すように、本実施の形態では、まず、
図2に示すように、二値化画像から中央ピクセル列が抽出され(S60)、中央ピクセル列を構成する各ピクセルの二値化画素値が取得される(S61)。そして、中央ピクセル列の各ピクセルの二値化画素値に基づいて、中央ピクセル列から黒ピクセル列が抽出される(S62)。
【0039】
つぎに、黒ピクセル列が抽出されたか否かの判定が行われ(S63)、黒ピクセル列が抽出されなかった場合には、前フレームと同じ座標がオブジェクト配置座標として決定される(S64)。一方、黒ピクセル列が抽出された場合には、黒ピクセル列の上端のピクセル(基準ピクセル)に対して横軸方向で隣接する隣接ピクセルの二値化画素値が取得され、その二値化画素値が黒画素値であるか否かの判定が行われる(S65)。
【0040】
隣接ピクセルの二値化画素値がいずれも黒画素値である場合には、その基準ピクセルがオブジェクト配置座標の候補として追加される(S66)。一方、隣接ピクセルの二値化画素値がいずれかが黒画素値でない場合には、その基準ピクセルはオブジェクト配置座標の候補から除外される(S67)。そして、他の黒ピクセル列が存在するか否かの判定が行われ(S68)、他の黒ピクセル列が存在する存在する場合には、その黒ピクセル列について上記の処理(S65以降の処理)が繰り返される。
【0041】
そして、このようにしてオブジェクト配置座標の候補として選ばれた基準ピクセルのうち、最も上に位置する(y座標が大きい)ピクセルがオブジェクト配置座標として決定される(S69)。
【0042】
図6は、コントラスト差を算出する処理(S7)の一例を示すフロー図である。
図6に示すように、本実施の形態では、
図3に示すように、時間的に連続する二つのフレーム1とフレーム2の二値化画像が取得され(S70)、フレーム1とフレーム2の二値化画像のコントラストを比較して、各170ピクセル四方のドットごとのコントラスト差の平均値(
図3では、A1、A2、・・・、A16)が算出され(S71)、グレースケール画像Aが取得される(S72)。
【0043】
同様に、時間的に連続する二つのフレーム2とフレーム3の二値化画像が取得され(S73)、フレーム2とフレーム3の二値化画像のコントラストを比較して、各170ピクセル四方のドットごとのコントラスト差の平均値(
図3では、B1、B2、・・・、B16)が算出され(S74)、グレースケール画像Bが取得される(S75)。そして、例えば上述した計算式を用いて、グレースケール画像Aとグレースケール画像Bのコントラスト差Cが算出される(S76)。
【0044】
図7は、アニメーションを決定する処理(S8)の一例を示すフロー図である。
図7に示すように、本実施の形態では、上記のようにして決定されたオブジェクト配置座標を取得するとともに(S80)、上記のようにして算出されたコントラスト差Cを取得する(S81)。そして、時間的に連続する二つのフレーム間のオブジェクト配置座標の差が、所定の基準値以上であるか否かの判定が行われる(S82)。オブジェクト配置座標の差が、所定の基準値以上である場合には、「オブジェクトが走るアニメーション」がオブジェクトに適用される(S83)。
【0045】
オブジェクト配置座標の差が、所定の基準値未満である場合には、所定フレームの間にわたって、コントラスト差Cの値が所定の閾値未満であるか否かの判定が行われる(S84)。そして、所定フレームの間にわたって、コントラスト差Cの値が所定の閾値未満である場合には、「オブジェクトがジャンプするアニメーション」がオブジェクトに適用される(S85)。一方、コントラスト差Cの値が所定の閾値以上ある場合には、「オブジェクトが走るアニメーション」がオブジェクトに適用される(S86)。
【0046】
このような本実施の形態の合成処理装置1によれば、入力動画から取得されるフレーム画像の各ピクセルの画素値を二値化画素値(白画素値または黒画素値)に変換することによって、フレーム画像から二値化画像が取得される。つぎに、二値化画像から中央ピクセル列が抽出され、中央ピクセル列から黒ピクセル列が抽出される。そして、黒ピクセル列の上端の基準ピクセルに隣接する隣接ピクセルの二値化画素値が黒画素値であると、基準ピクセルの座標がオブジェクト配置座標として決定され、そのオブジェクト配置座標を基準として入力動画の中にオブジェクトが配置され、出力動画として出力される。
【0047】
これにより、入力動画(例えば、電車の中から車窓を通して撮影した動画など)の中に前景物(例えば、山やビルなど)が写っている場合に、背景と前景物との境界にあたる座標がオブジェクト配置座標として検出される。そして、オブジェクト配置座標を基準として入力動画の中にオブジェクトを配置する合成処理が行われれることにより、あたかも前景物の上にオブジェクトが存在している(例えば、前景物の上をオブジェクトが走っている、あるいは、前景物の上でオブジェクトが寝ている)かのような出力動画を得ることができる。
【0048】
また、本実地の形態では、時間的に連続する二つのフレーム間の二値化画像から算出されたコントラスト差の大小に応じて、オブジェクトに適用するアニメーションを異ならせる。例えば、コントラスト差が大きい(所定の閾値以上である)場合には、オブジェクトが走るアニメーションが適用され、コントラスト差が小さい(所定の閾値未満である)場合には、オブジェクトが寝るアニメーションが適用される。
【0049】
二つのフレーム間の二値化画像から算出されたコントラスト差の大きさは、画像全体の移動速度(例えば、電車の中から車窓を通して動画を撮影している場合における電車の走行速度)と相関する。そのため、上記のようにしてオブジェクトに適用するアニメーションを決定することにより、画像全体の移動速度に応じた適切なアニメーションをオブジェクトに適用することができる。また、この場合、オブジェクト配置座標を決定するために二値化画像を用いているため、その二値化画像(二値化画像から算出されたコントラスト差)を用いることにより、新たに別の手法で算出する場合に比べて、画像全体の移動速度を効率的に(大きな処理負荷をかけずに)求めることができる。
【0050】
また、本実施の形態では、時間的に連続する二つのフレーム間のオブジェクト配置座標の差に応じて、オブジェクトに適用するアニメーションを異ならせる。例えば、オブジェクト配置座標の差が大きい(所定の基準値以上である)場合には、オブジェクトがジャンプするアニメーションが適用され、オブジェクト配置座標の差が小さい(所定の基準値未満である)場合には、オブジェクトが走るアニメーションが適用される。
【0051】
二つのフレーム間のオブジェクト配置座標の差が大きい場合には、入力動画(例えば、電車の中から車窓を通して撮影した動画など)の中に写っていた前景物A(例えば、山やビルなど)が写らなくなり、別の前景物B(例えば、山やビルなど)が写るようになったことと相関する。そのため、上記のようにしてオブジェクトに適用するアニメーションを決定することにより、入力動画に写っている前景物の切り替わりに応じた適切なアニメーション(前景物Aから前景物Bへジャンプするようなアニメーション)をオブジェクトに適用することができる。
【0052】
また、本実施の形態では、二値化画像の黒画素値のピクセル数が白画素値のピクセル数より多い場合には、二値化画像のピクセルの黒画素値と白画素値とが入れ替えられる(白黒が反転される)。
【0053】
例えば、夜間やトンネル内を電車が走行する場合などには、二値化画像において、黒画素値のピクセル数が白画素値のピクセル数より多くなり、背景に対応するピクセルが黒画素値を有し、前景物に対応するピクセルが白画素値を有する傾向にある。そのため、上記のように二値化画像の白黒を反転させることにより、夜間やトンネル内を電車が走行する場合などにおいても、入力動画(例えば、電車の中から車窓を通して撮影した動画など)の中に前景物が写っている場合に、背景と前景物との境界にあたる座標をオブジェクト配置座標として適切に検出することができる。
【0054】
以上、本発明の実施の形態を例示により説明したが、本発明の範囲はこれらに限定されるものではなく、請求項に記載された範囲内において目的に応じて変更・変形することが可能である。
【産業上の利用可能性】
【0055】
以上のように、本発明にかかる合成処理装置は、入力動画の中に前景物が写っている場合に、あたかも前景物の上にオブジェクトが存在しているかのような出力動画を得ることができるという効果を有し、AR機能を備えたスマートフォンや端末装置等として用いられ、有用である。
【符号の説明】
【0056】
1 合成処理装置
2 入力部
3 出力部
4 記憶部
5 制御部
10 フレーム画像取得部
11 二値化画像取得部
12 白黒判定部
13 中央ピクセル列抽出部
14 中央二値化画像取得部
15 黒ピクセル列抽出部
16 隣接二値化画素値取得部
17 配置座標決定部
18 コントラスト差算出部
19 アニメーション決定部
20 合成処理部
【手続補正書】
【提出日】2022-12-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
入力動画の中に所定のオブジェクトを配置する合成処理装置であって、
前記合成処理装置は、
画像処理の対象となる入力動画から、所定のフレームごとの複数のフレーム画像を取得するフレーム画像取得部と、
前記フレーム画像の各ピクセルの画素値を白画素値と黒画素値のいずれかの二値化画素値に変換して、前記フレーム画像から二値化画像を取得する二値化画像取得部と、
前記二値化画像から、横軸上で中央に位置しかつ縦軸方向に沿って連続する複数のピクセルで構成される中央ピクセル列を抽出する中央ピクセル列抽出部と、
前記中央ピクセル列を構成する各ピクセルの二値化画素値を取得する中央二値化画素値取得部と、
前記中央ピクセル列の各ピクセルの二値化画素値に基づいて、前記中央ピクセル列から、縦軸方向に沿って黒画素値が連続する複数のピクセルで構成される黒ピクセル列を抽出する黒ピクセル列抽出部と、
前記黒ピクセル列の上端のピクセルを基準ピクセルとし、前記基準ピクセルに対して横軸方向で隣接する2つの隣接ピクセルの二値化画素値を取得する隣接二値化画素値取得部と、
前記2つの隣接ピクセルの二値化画素値が黒画素値である場合に、前記基準ピクセルの座標を、オブジェクト配置座標として決定する配置座標決定部と、
前記オブジェクト配置座標を基準として、前記入力動画の中に前記オブジェクトを配置する合成処理を行う合成処理部と、
前記オブジェクトが配置された前記入力動画を出力動画として出力する動画出力部と、
を備える、合成処理装置。
【請求項2】
時間的に連続する二つのフレーム間の前記二値化画像のコントラスト値を比較することによって、コントラスト差を算出するコントラスト差算出部と、
前記コントラスト差が、所定の閾値以上である場合と、前記閾値未満である場合とで、前記オブジェクトのアニメーションを異ならせるアニメーション決定部と、
を備える、請求項1に記載の合成処理装置。
【請求項3】
前記アニメーション決定部は、時間的に連続する二つのフレーム間の前記オブジェクト配置座標の差が、所定の基準値以上である場合と、前記基準値未満である場合とで、前記オブジェクトのアニメーションを異ならせる、請求項2に記載の合成処理装置。
【請求項4】
前記二値化画像において黒画素値のピクセル数が白画素値のピクセル数より多い場合に、当該二値化画像を構成する全ピクセルの黒画素値と白画素値を入れ替える白黒反転部を備える、請求項1~請求項3のいずれか一項に記載の合成処理装置。
【請求項5】
入力動画の中に所定のオブジェクトを配置する合成処理装置で実行される方法であって、
前記方法は、
画像処理の対象となる入力動画から、所定のフレームごとの複数のフレーム画像を取得するステップと、
前記フレーム画像の各ピクセルの画素値を白画素値と黒画素値のいずれかの二値化画素値に変換して、前記フレーム画像から二値化画像を取得するステップと、
前記二値化画像から、横軸上で中央に位置しかつ縦軸方向に沿って連続する複数のピクセルで構成される中央ピクセル列を抽出するステップと、
前記中央ピクセル列を構成する各ピクセルの二値化画素値を取得するステップと、
前記中央ピクセル列の各ピクセルの二値化画素値に基づいて、前記中央ピクセル列から、縦軸方向に沿って黒画素値が連続する複数のピクセルで構成される黒ピクセル列を抽出するステップと、
前記黒ピクセル列の上端のピクセルを基準ピクセルとし、前記基準ピクセルに対して横軸方向で隣接する2つの隣接ピクセルの二値化画素値を取得するステップと、
前記2つの隣接ピクセルの二値化画素値が黒画素値である場合に、前記基準ピクセルの座標を、オブジェクト配置座標として決定するステップと、
前記オブジェクト配置座標を基準として、前記入力動画の中に前記オブジェクトを配置する合成処理を行うステップと、
前記オブジェクトが配置された前記入力動画を出力動画として出力するステップと、
を含む、方法。
【請求項6】
入力動画の中に所定のオブジェクトを配置する合成処理装置のコンピュータで実行されるプログラムであって、
前記プログラムは、前記コンピュータに、
画像処理の対象となる入力動画から、所定のフレームごとの複数のフレーム画像を取得する処理と、
前記フレーム画像の各ピクセルの画素値を白画素値と黒画素値のいずれかの二値化画素値に変換して、前記フレーム画像から二値化画像を取得する処理と、
前記二値化画像から、横軸上で中央に位置しかつ縦軸方向に沿って連続する複数のピクセルで構成される中央ピクセル列を抽出する処理と、
前記中央ピクセル列を構成する各ピクセルの二値化画素値を取得する処理と、
前記中央ピクセル列の各ピクセルの二値化画素値に基づいて、前記中央ピクセル列から、縦軸方向に沿って黒画素値が連続する複数のピクセルで構成される黒ピクセル列を抽出する処理と、
前記黒ピクセル列の上端のピクセルを基準ピクセルとし、前記基準ピクセルに対して横軸方向で隣接する2つの隣接ピクセルの二値化画素値を取得する処理と、
前記2つの隣接ピクセルの二値化画素値が黒画素値である場合に、前記基準ピクセルの座標を、オブジェクト配置座標として決定する処理と、
前記オブジェクト配置座標を基準として、前記入力動画の中に前記オブジェクトを配置する合成処理を行う処理と、
前記オブジェクトが配置された前記入力動画を出力動画として出力する処理と、
を実行させる、プログラム。