(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-08
(54)【発明の名称】ビデオつなぎ合わせ方法及び装置、コンピュータデバイス並びに記憶媒体
(51)【国際特許分類】
G06T 7/38 20170101AFI20240201BHJP
G06T 3/14 20240101ALI20240201BHJP
H04N 23/695 20230101ALI20240201BHJP
【FI】
G06T7/38
G06T3/14
H04N23/698
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023550696
(86)(22)【出願日】2022-02-24
(85)【翻訳文提出日】2023-10-23
(86)【国際出願番号】 CN2022077635
(87)【国際公開番号】W WO2022179554
(87)【国際公開日】2022-09-01
(31)【優先権主張番号】202110217098.6
(32)【優先日】2021-02-26
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】520159673
【氏名又は名称】影石創新科技股▲ふん▼有限公司
【氏名又は名称原語表記】ARASHI VISION INC.
【住所又は居所原語表記】Room 1101, 1102, 1103, 11th Floor, Building 2, Jinlitong Financial Center, 1100 Xingye Road, Haiwang Community, Xin’an Street, Bao’an District, Shenzhen, Guangdong 518000, China
(74)【代理人】
【識別番号】110001139
【氏名又は名称】SK弁理士法人
(74)【代理人】
【識別番号】100130328
【氏名又は名称】奥野 彰彦
(74)【代理人】
【識別番号】100130672
【氏名又は名称】伊藤 寛之
(72)【発明者】
【氏名】謝朝毅
【テーマコード(参考)】
5B057
5C122
5L096
【Fターム(参考)】
5B057CA12
5B057CB12
5B057CC03
5B057CE10
5B057DA07
5B057DB02
5B057DC30
5B057DC36
5C122DA30
5C122EA40
5C122EA61
5C122FA03
5C122FH04
5C122FH10
5C122FH11
5C122FH14
5C122FH20
5C122GA01
5C122HA13
5C122HA35
5C122HB01
5C122HB09
5C122HB10
5L096FA34
5L096FA66
5L096FA69
5L096FA77
(57)【要約】
本発明は、ビデオつなぎ合わせ方法及び装置、コンピュータデバイス、並びに記憶媒体に関する。前記方法は、つなぎ合わせる第1のビデオ及び第2のビデオを取得し、前記第1のビデオは前記第2のビデオの前にあることと、前記第1のビデオ又は第2のビデオに静止フレームを検出し、静止フレームシーケンスを獲得することと、前記静止フレームシーケンスに基づいて、参照ビデオフレームを獲得することと、前記参照ビデオフレームに基づいて重複領域を検索し、前記第1のビデオに対応する第1の重複ビデオフレーム領域及び前記第2のビデオに対応する第2の重複ビデオフレーム領域を獲得することと、前記第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域に基づいて前記第1のビデオと前記第2のビデオをつなぎ合わせて、つなぎ合わせビデオを獲得することと、を含む。本方法を採用すれば、ビデオつなぎ合わせの効果を向上させることができる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
つなぎ合わせる第1のビデオ及び第2のビデオを取得し、ここで、前記第1のビデオは前記第2のビデオの前にあることと、
前記第1のビデオ又は第2のビデオに静止フレームを検出して、静止フレームシーケンスを獲得することと、
前記静止フレームシーケンスに基づいて、参照ビデオフレームを獲得することと、前記参照ビデオフレームに基づいて重複領域を検索し、前記第1のビデオに対応する第1の重複ビデオフレーム領域及び前記第2のビデオに対応する第2の重複ビデオフレーム領域を獲得することと、
前記第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域に基づいて前記第1のビデオと前記第2のビデオをつなぎ合わせて、つなぎ合わせビデオを獲得することと、
を含むことを特徴とするビデオつなぎ合わせ方法。
【請求項2】
上記した前記第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域に基づいて前記第1のビデオと前記第2のビデオをつなぎ合わせて、つなぎ合わせビデオを獲得することは、
つなぎ合わせビデオフレーム位置を取得し、前記第1の重複ビデオフレーム領域から前記つなぎ合わせビデオフレーム位置に対応する第1のつなぎ合わせビデオフレームを取得し、前記第2の重複ビデオフレーム領域から前記つなぎ合わせビデオフレーム位置に対応する第2のつなぎ合わせビデオフレームを取得することと、
前記第1のつなぎ合わせビデオフレームと前記第2のつなぎ合わせビデオフレームとの間の空間変換関係を特定し、前記空間変換関係に基づいて前記第1のビデオと前記第2のビデオにビデオフレームアライメントを行うことと、
アライメントされた第1のビデオフレームと第2のビデオフレームに基づいてビデオフレームのつなぎ合わせを行って、つなぎ合わせビデオを獲得し、ここで、つなぎ合わせの際に、前記第1の重複ビデオフレーム領域と前記第2の重複ビデオフレーム領域とを合成して合成ビデオフレームを獲得することと、を含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記空間変換関係は水平変換値を含み、上記した前記第1のつなぎ合わせビデオフレームと前記第2のつなぎ合わせビデオフレームとの間の空間変換関係を特定し、前記空間変換関係に基づいて前記第1のビデオと前記第2のビデオにビデオフレームアライメントを行うことは、
前記第1のつなぎ合わせビデオフレームの第1の特徴点及び前記第2のつなぎ合わせビデオフレームの第2の特徴点を取得することと、
前記第1の特徴点と前記第2の特徴点との間の水平距離を特定することと、
前記水平距離に基づいて、前記第1のつなぎ合わせビデオフレームと前記第2のつなぎ合わせビデオフレームとの間の水平変換値を特定することと、を含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記第1の重複ビデオフレーム領域と前記第2の重複ビデオフレーム領域とを合成して合成ビデオフレームを獲得するステップは、
前記第1の重複ビデオフレーム領域から、合成する現在ビデオフレームを取得することと、
前記現在ビデオフレームに対応するビデオフレーム現在撮影時間と前記参照ビデオフレームの参照撮影時間との間の現在時間差を取得することと、
前記現在時間差に基づいて、現在ビデオフレームに対応する現在合成重みを獲得し、ここで、現在時間差と現在合成重みとが正の相関関係にあることと、
現在合成重みに基づいて、現在ビデオフレームと前記第2の重複ビデオフレーム領域に対応する位置のビデオフレームとを合成して、現在合成ビデオフレームを獲得することと、を含むことを特徴とする請求項2に記載の方法。
【請求項5】
上記した前記現在時間差に基づいて、現在ビデオフレームに対応する現在合成重みを獲得することは、
重複ビデオフレーム領域に対応する重複領域の時間長を取得することと、
前記現在時間差と前記重複領域の時間長との比を計算して、現在合成重みを獲得することと、を含むことを特徴とする請求項4に記載の方法。
【請求項6】
上記した前記参照ビデオフレームに基づいて重複領域を検索し、前記第1のビデオに対応する第1の重複ビデオフレーム領域及び前記第2のビデオに対応する第2の重複ビデオフレーム領域を獲得することは、
前記参照ビデオフレームをそれぞれ前記第1のビデオにおける各ビデオフレームと比較して、第1のビデオにおける前記参照ビデオフレームとマッチングするマッチングビデオフレームを獲得することと、
前記マッチングビデオフレームに対応するテールビデオフレーム領域を、前記第1のビデオに対応する第1の重複ビデオフレーム領域とすることと、
前記第2のビデオのうち前記参照ビデオフレームが位置する参照ビデオフレーム領域を、前記第2のビデオに対応する第2の重複ビデオフレーム領域とし、ここで、前記参照ビデオフレームが前記参照ビデオフレーム領域における先頭ビデオフレームであり、前記参照ビデオフレーム領域と前記テールビデオフレーム領域とはビデオフレーム数が一致することと、を含むことを特徴とする請求項1に記載の方法。
【請求項7】
上記した前記参照ビデオフレームに基づいて重複領域を検索し、前記第1のビデオに対応する第1の重複ビデオフレーム領域及び前記第2のビデオに対応する第2の重複ビデオフレーム領域を獲得することは、
前記第1のビデオから予め設定されたフレーム数のテールビデオフレームシーケンスを取得し、前記第1のビデオに対応する第1の重複ビデオフレーム領域とすることと、
前記参照ビデオフレームに対応する後方ビデオフレームシーケンスから、前記テールビデオフレームシーケンスとマッチングするマッチングビデオフレームシーケンスを取得し、マッチングビデオフレームシーケンスを前記第2のビデオに対応する第2の重複ビデオフレーム領域とすることと、を含むことを特徴とする請求項1に記載の方法。
【請求項8】
上記した前記第1のビデオ又は第2のビデオに静止フレームを検出して、静止フレームシーケンスを獲得することは、
前記第1のビデオ又は第2のビデオを平面ビデオに変換することと、
前記平面ビデオに静止フレーム検出を行って、前記静止フレームシーケンスを獲得することと、を含むことを特徴とする請求項1に記載の方法。
【請求項9】
つなぎ合わせる第1のビデオ及び第2のビデオを取得するために用いられるものであって、前記第1のビデオが前記第2のビデオの前にある第1のビデオ及び第2のビデオ取得モジュールと、
前記第1のビデオ又は第2のビデオに静止フレームを検出して、静止フレームシーケンスを獲得するために用いられる静止フレームシーケンス獲得モジュールと、
前記静止フレームシーケンスに基づいて、参照ビデオフレームを獲得するために用いられる参照ビデオフレーム獲得モジュールと、
前記参照ビデオフレームに基づいて重複領域を検索し、前記第1のビデオに対応する第1の重複ビデオフレーム領域及び前記第2のビデオに対応する第2の重複ビデオフレーム領域を獲得するために用いられる第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域獲得モジュールと、
前記第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域に基づいて前記第1のビデオと前記第2のビデオをつなぎ合わせて、つなぎ合わせビデオを獲得するために用いられるつなぎ合わせビデオ獲得モジュールと、
を含むことを特徴とするビデオつなぎ合わせ装置。
【請求項10】
メモリとプロセッサとを備え、前記メモリにコンピュータプログラムが記憶されているコンピュータデバイスであって、前記プロセッサが前記コンピュータプログラムを実行したときに、請求項1~8のいずれか1項に記載の方法のステップが実現されることを特徴とするコンピュータデバイス。
【請求項11】
コンピュータプログラムを記憶したコンピュータ可読記憶媒体であって、前記コンピュータプログラムがプロセッサによって実行されたときに、請求項1~8のいずれか1項に記載の方法のステップが実現されることを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理技術の分野に関し、特に、ビデオつなぎ合わせ方法及び装置、コンピュータデバイス並びに記憶媒体に関する。
【背景技術】
【0002】
画像処理技術の発展に伴い、異なる時間条件で撮影されたビデオをつなぎ合わせて、完全なビデオを作成することができるようなビデオつなぎ合わせ技術は出現する。例えば、カメラは、物体が障害物を横切る場合のパノラマビデオを撮影する。物体が障害物を横切っていることが撮影されると、物体が障害物を一定距離通過した後、1番目のビデオの撮影が停止される。次に、カメラは、障害物を迂回し、障害物の他方側から、物体が障害物を横切っている場合の2番目のビデオを撮影し、1番目のビデオと2番目のビデオをつなぎ合わせて、物体が障害物を通過する場合の完全なパノラマビデオを形成する。パノラマビデオは大視野角と高解像度のため、様々な分野に広く応用されており、従ってビデオつなぎ合わせ技術も様々な分野に広く応用されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、現在のビデオつなぎ合わせ方式では、ビデオつなぎ合わせの効果が悪いという問題がある。
【課題を解決するための手段】
【0004】
これに鑑み、上述した技術的課題に対して、ビデオつなぎ合わせの効果を向上させることができるビデオつなぎ合わせ方法及び装置、コンピュータデバイス並びに記憶媒体を提供する必要がある。
【0005】
ビデオつなぎ合わせ方法は、つなぎ合わせる第1のビデオ及び第2のビデオを取得し、ここで、前記第1のビデオは前記第2のビデオの前にあることと、前記第1のビデオ又は第2のビデオに静止フレームを検出して、静止フレームシーケンスを獲得することと、前記静止フレームシーケンスに基づいて、参照ビデオフレームを獲得することと、前記参照ビデオフレームに基づいて重複領域を検索し、前記第1のビデオに対応する第1の重複ビデオフレーム領域及び前記第2のビデオに対応する第2の重複ビデオフレーム領域を獲得することと、前記第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域に基づいて前記第1のビデオと前記第2のビデオをつなぎ合わせて、つなぎ合わせビデオを獲得することと、を含む。
【0006】
その一つの実施形態において、上記した前記第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域に基づいて前記第1のビデオと前記第2のビデオをつなぎ合わせて、つなぎ合わせビデオを獲得することは、つなぎ合わせビデオフレーム位置を取得し、前記第1の重複ビデオフレーム領域から前記つなぎ合わせビデオフレーム位置に対応する第1のつなぎ合わせビデオフレームを取得し、前記第2の重複ビデオフレーム領域から前記つなぎ合わせビデオフレーム位置に対応する第2のつなぎ合わせビデオフレームを取得することと、前記第1のつなぎ合わせビデオフレームと前記第2のつなぎ合わせビデオフレームとの間の空間変換関係を特定し、前記空間変換関係に基づいて前記第1のビデオと前記第2のビデオにビデオフレームアライメントを行うことと、アライメントされた第1のビデオフレームと第2のビデオフレームに基づいてビデオフレームのつなぎ合わせを行って、つなぎ合わせビデオを獲得し、ここで、つなぎ合わせの際に、前記第1の重複ビデオフレーム領域と前記第2の重複ビデオフレーム領域とを合成して合成ビデオフレームを獲得することと、を含む。
【0007】
その一つの実施形態において、前記空間変換関係は水平変換値を含み、上記した前記第1のつなぎ合わせビデオフレームと前記第2のつなぎ合わせビデオフレームとの間の空間変換関係を特定し、前記空間変換関係に基づいて前記第1のビデオと前記第2のビデオにビデオフレームアライメントを行うことは、前記第1のつなぎ合わせビデオフレームの第1の特徴点及び前記第2のつなぎ合わせビデオフレームの第2の特徴点を取得することと、前記第1の特徴点と前記第2の特徴点との間の水平距離を特定することと、前記水平距離に基づいて、前記第1のつなぎ合わせビデオフレームと前記第2のつなぎ合わせビデオフレームとの間の水平変換値を特定することと、を含む。
【0008】
その一つの実施形態において、前記第1の重複ビデオフレーム領域と前記第2の重複ビデオフレーム領域とを合成して合成ビデオフレームを獲得するステップは、前記第1の重複ビデオフレーム領域から、合成する現在ビデオフレームを取得することと、前記現在ビデオフレームに対応するビデオフレーム現在撮影時間と前記参照ビデオフレームの参照撮影時間との間の現在時間差を取得することと、現在時間差に基づいて、現在ビデオフレームに対応する現在合成重みを獲得し、ここで、現在時間差と現在合成重みとが正の相関関係にあることと、現在合成重みに基づいて、現在ビデオフレームと前記第2の重複ビデオフレーム領域に対応する位置のビデオフレームとを合成して、現在合成ビデオフレームを獲得することと、を含む。
【0009】
その一つの実施形態において、上記した現在時間差に基づいて、現在ビデオフレームに対応する現在合成重みを獲得することは、重複ビデオフレーム領域に対応する重複領域の時間長を取得することと、前記現在時間差と前記重複領域の時間長との比を計算して、現在合成重みを獲得することと、を含む。
【0010】
その一つの実施形態において、上記した前記参照ビデオフレームに基づいて重複領域を検索し、前記第1のビデオに対応する第1の重複ビデオフレーム領域及び前記第2のビデオに対応する第2の重複ビデオフレーム領域を獲得することは、前記参照ビデオフレームをそれぞれ前記第1のビデオにおける各ビデオフレームと比較して、第1のビデオにおける前記参照ビデオフレームとマッチングするマッチングビデオフレームを獲得することと、前記マッチングビデオフレームに対応するテールビデオフレーム領域を、前記第1のビデオに対応する第1の重複ビデオフレーム領域とすることと、前記第2のビデオフレームのうち前記参照ビデオフレームが位置する参照ビデオフレーム領域を、前記第2のビデオに対応する第2の重複ビデオフレーム領域とし、ここで、前記参照ビデオフレームが前記参照ビデオフレーム領域における先頭ビデオフレームであり、前記参照ビデオフレーム領域と前記テールビデオフレーム領域とはビデオフレーム数が一致することと、を含む。
【0011】
その一つの実施形態において、上記した前記参照ビデオフレームに基づいて重複領域を検索し、前記第1のビデオに対応する第1の重複ビデオフレーム領域及び前記第2のビデオに対応する第2の重複ビデオフレーム領域を獲得することは、前記第1のビデオから予め設定されたフレーム数のテールビデオフレームシーケンスを取得し、前記第1のビデオに対応する第1の重複ビデオフレーム領域とすることと、前記参照ビデオフレームに対応する後方ビデオフレームシーケンスから、前記テールビデオフレームシーケンスとマッチングするマッチングビデオフレームシーケンスを取得し、マッチングビデオフレームシーケンスを前記第2のビデオに対応する第2の重複ビデオフレーム領域とすることと、を含む。
【0012】
その一つの実施形態において、上記した前記第1のビデオ又は第2のビデオに静止フレームを検出して、静止フレームシーケンスを獲得することは、前記第1のビデオ又は第2のビデオを平面ビデオに変換することと、前記平面ビデオに静止フレーム検出を行って、前記静止フレームシーケンスを獲得することと、を含む。
【0013】
ビデオつなぎ合わせ装置は、つなぎ合わせる第1のビデオ及び第2のビデオを取得するために用いられるものであって、ここで、前記第1のビデオが前記第2のビデオの前にある第1のビデオ及び第2のビデオ取得モジュールと、前記第1のビデオ又は第2のビデオに静止フレームを検出して、静止フレームシーケンスを獲得するために用いられる静止フレームシーケンス獲得モジュールと、前記静止フレームシーケンスに基づいて、参照ビデオフレームを獲得するために用いられる参照ビデオフレーム取得モジュールと、前記参照ビデオフレームに基づいて重複領域を検索し、前記第1のビデオに対応する第1の重複ビデオフレーム領域及び前記第2のビデオに対応する第2の重複ビデオフレーム領域を獲得するために用いられる第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域獲得モジュールと、前記第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域に基づいて前記第1のビデオと前記第2のビデオをつなぎ合わせて、つなぎ合わせビデオを獲得するために用いられるつなぎ合わせビデオ獲得モジュールと、を含む。
【0014】
その一つの実施形態において、つなぎ合わせビデオ取得モジュールは、つなぎ合わせビデオフレーム位置を取得し、前記第1の重複ビデオフレーム領域から前記つなぎ合わせビデオフレーム位置に対応する第1のつなぎ合わせビデオフレームを取得し、前記第2の重複ビデオフレーム領域から前記つなぎ合わせビデオフレーム位置に対応する第2のつなぎ合わせビデオフレームを取得すること、前記第1のつなぎ合わせビデオフレームと前記第2のつなぎ合わせビデオフレームとの間の空間変換関係を特定し、前記空間変換関係に基づいて前記第1のビデオと前記第2のビデオにビデオフレームアライメントを行うこと、アライメントされた第1のビデオフレームと第2のビデオフレームに基づいてビデオフレームのつなぎ合わせを行って、つなぎ合わせビデオを獲得し、ここで、つなぎ合わせの際に、前記第1の重複ビデオフレーム領域と前記第2の重複ビデオフレーム領域とを合成して合成ビデオフレームを獲得することに用いられる。
【0015】
その一つの実施形態において、つなぎ合わせビデオ獲得モジュールは、前記第1のつなぎ合わせビデオフレームの第1の特徴点及び前記第2のつなぎ合わせビデオフレームの第2の特徴点を取得すること、前記第1の特徴点と前記第2の特徴点との間の水平距離を特定すること、前記水平距離に基づいて、前記第1のつなぎ合わせビデオフレームと前記第2のつなぎ合わせビデオフレームとの間の水平変換値を特定することに用いられる。
【0016】
その一つの実施形態において、つなぎ合わせビデオ獲得モジュールは、前記第1の重複ビデオフレーム領域から、合成する現在ビデオフレームを取得すること、前記現在ビデオフレームに対応するビデオフレーム現在撮影時間と前記参照ビデオフレームの参照撮影時間との間の現在時間差を取得すること、現在時間差に基づいて、現在ビデオフレームに対応する現在合成重みを獲得し、ここで、現在時間差と現在合成重みとが正の相関関係にあること、現在合成重みに基づいて、現在ビデオフレームと前記第2の重複ビデオフレーム領域に対応する位置のビデオフレームとを合成して、現在合成ビデオフレームを獲得することに用いられる。
【0017】
その一つの実施形態において、つなぎ合わせビデオ獲得モジュールは重複ビデオフレーム領域に対応する重複領域の時間長を取得すること、前記現在時間差と前記重複領域の時間長との比を計算して、現在合成重みを獲得することに用いられる。
【0018】
その一つの実施形態において、第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域獲得モジュールは、前記参照ビデオフレームをそれぞれ前記第1のビデオにおける各ビデオフレームと比較して、第1のビデオにおける前記参照ビデオフレームとマッチングするマッチングビデオフレームを獲得すること、前記マッチングビデオフレームに対応するテールビデオフレーム領域を、前記第1のビデオに対応する第1の重複ビデオフレーム領域とすること、前記第2のビデオフレームのうち前記参照ビデオフレームが位置する参照ビデオフレーム領域を、前記第2のビデオに対応する第2の重複ビデオフレーム領域とし、ここで、前記参照ビデオフレームが前記参照ビデオフレーム領域における先頭ビデオフレームであり、前記参照ビデオフレーム領域と前記テールビデオフレーム領域とはビデオフレーム数が一致することに用いられる。
【0019】
その一つの実施形態において、第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域獲得モジュールは、前記第1のビデオから予め設定されたフレーム数のテールビデオフレームシーケンスを取得し、前記第1のビデオに対応する第1の重複ビデオフレーム領域とすること、前記参照ビデオフレームに対応する後方ビデオフレームシーケンスから、前記テールビデオフレームシーケンスとマッチングするマッチングビデオフレームシーケンスを取得し、マッチングビデオフレームシーケンスを前記第2のビデオに対応する第2の重複ビデオフレーム領域とすることに用いられる。
【0020】
その一つの実施形態において、静止フレームシーケンス獲得モジュールは、前記第1のビデオ又は第2のビデオを平面ビデオに変換すること、前記平面ビデオに静止フレーム検出を行って、前記静止フレームシーケンスを獲得することに用いられる。
【0021】
コンピュータデバイスは、メモリとプロセッサとを備え、前記メモリにコンピュータプログラムが記憶されており、前記プロセッサが前記コンピュータプログラムを実行したときに、つなぎ合わせる第1のビデオ及び第2のビデオを取得し、ここで、前記第1のビデオは前記第2のビデオの前にあるステップと、前記第1のビデオ又は第2のビデオに静止フレームを検出して、静止フレームシーケンスを獲得するステップと、前記静止フレームシーケンスに基づいて、参照ビデオフレームを獲得するステップと、前記参照ビデオフレームに基づいて重複領域を検索し、前記第1のビデオに対応する第1の重複ビデオフレーム領域及び前記第2のビデオに対応する第2の重複ビデオフレーム領域を獲得するステップと、前記第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域に基づいて前記第1のビデオと前記第2のビデオをつなぎ合わせて、つなぎ合わせビデオを獲得するステップとが実現される。
【0022】
コンピュータ可読記憶媒体は、コンピュータプログラムが記憶されており、前記コンピュータプログラムがプロセッサによって実行されたときに、つなぎ合わせる第1のビデオ及び第2のビデオを取得し、ここで前記第1のビデオは前記第2のビデオの前にあるステップと、前記第1のビデオ又は第2のビデオに静止フレームを検出して、静止フレームシーケンスを獲得するステップと、前記静止フレームシーケンスに基づいて、参照ビデオフレームを獲得するステップと、前記参照ビデオフレームに基づいて重複領域を検索し、前記第1のビデオに対応する第1の重複ビデオフレーム領域及び前記第2のビデオに対応する第2の重複ビデオフレーム領域を獲得するステップと、前記第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域に基づいて前記第1のビデオと前記第2のビデオをつなぎ合わせて、つなぎ合わせビデオを獲得するステップとが実現される。
【発明の効果】
【0023】
前記ビデオつなぎ合わせ方法及び装置、コンピュータデバイス並びに記憶媒体によれば、端末はつなぎ合わせる第1のビデオ及び第2のビデオを取得し、第1のビデオ又は第2のビデオに静止フレーム検出を行って、静止フレームシーケンスを獲得し、静止フレームシーケンスに基づいて、参照ビデオフレームを獲得し、そのうち、第1のビデオは第2のビデオの撮影の前に撮影して得られたものである。参照ビデオフレームに基づいて重複領域を検索し、第1のビデオに対応する第1の重複ビデオフレーム領域及び前記第2のビデオに対応する第2の重複ビデオフレーム領域を獲得し、第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域に基づいて第1のビデオと第2のビデオをつなぎ合わせて、つなぎ合わせビデオを獲得する。参照ビデオフレームを特定することによって、第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域を獲得し、上記二つの重複ビデオフレーム領域に基づいて第1のビデオと第2のビデオの二つのビデオをつなぎ合わせて、第1のビデオと第2のビデオの自然なつなぎ合わせ遷移を実現させ、ビデオつなぎ合わせの効果を向上させる。
【図面の簡単な説明】
【0024】
【
図1】一つの実施形態におけるビデオつなぎ合わせ方法の応用環境図である。
【
図2】一つの実施形態におけるビデオつなぎ合わせ方法のフロー模式図である。
【
図3】他の実施形態におけるビデオつなぎ合わせ方法のフロー模式図である。
【
図4】他の実施形態におけるビデオつなぎ合わせ方法のフロー模式図である。
【
図5】一つの実施形態において第1の重複ビデオフレーム領域と前記第2の重複ビデオフレーム領域とを合成して合成ビデオフレームを獲得するステップのフロー模式図である。
【
図6】1つの実施形態における現在時間差に基づいて現在ビデオフレームに対応する現在合成重みを獲得するステップのフロー模式図である。
【
図7】他の実施形態におけるビデオつなぎ合わせ方法のフロー模式図である。
【
図8】他の実施形態におけるビデオつなぎ合わせ方法のフロー模式図である。
【
図9】一つの実施形態においてつなぎ合わせビデオフレーム位置を特定する方法の模式図である。
【
図10】一つの実施形態におけるビデオつなぎ合わせ装置のブロック構成図である。
【
図11】一つの実施形態におけるコンピュータデバイスの内部構成図である。
【発明を実施するための形態】
【0025】
本発明の目的、技術方案及び利点をより明確にするために、以下、添付図面及び実施形態を参照しながら、本発明をさらに詳細に説明する。ここに述べた具体的な実施形態は、本発明を解釈するためだけのものであり、本発明を限定するためのものではないことを理解すべきである。
【0026】
本発明によるビデオつなぎ合わせ方法は
図1に示すような応用環境に適用することができ、具体的にはビデオつなぎ合わせシステムに適用することができる。このビデオつなぎ合わせシステムは、ビデオ収集デバイス102と端末104とを含み、そのうち、ビデオ収集デバイス102は、ネットワークを介して端末104と通信する。端末104は、ビデオつなぎ合わせ方法を実行する。具体的には、ビデオ収集デバイス102は、異なる時刻で撮影される対象の同じ位置を撮影することによる2つのつなぎ合わせるビデオを端末104に伝送し、端末104はそれに応じて、つなぎ合わせる第1のビデオ及び第2のビデオを取得し、第1のビデオは第2のビデオの前方ビデオであり、端末104は第1のビデオ及び第2のビデオを取得した後、その中の第1のビデオ又は第2のビデオに静止フレームを検出して、静止フレームシーケンスを獲得し、静止フレームシーケンスに基づいて、参照ビデオフレームを獲得し、この参照ビデオフレームに基づいて重複領域を検索し、第1のビデオにおける第1の重複ビデオフレーム領域及び第2のビデオにおける第2の重複ビデオフレーム領域をそれぞれ獲得し、端末104は第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域に基づいて第1のビデオと第2のビデオをつなぎ合わせて、つなぎ合わせビデオを獲得する。ここで、ビデオ収集デバイス102は、ビデオ収集機能を有する様々なデバイスであってもよいが、これらに限定されなく、端末104の外部に配置されてもよいし、端末104の内部に配置されてもよい。例えば、端末104の外部に配置される各種カメラヘッド、各種カメラ、ビデオキャプチャカード等である。端末104は、様々なカメラ、パーソナルコンピュータ、ラップトップ、スマートフォン、タブレット、および携帯型ウェアラブルデバイスであってよいが、これらに限定されない。
【0027】
一つの実施形態において、
図2に示すように、ビデオつなぎ合わせ方法が提供されており、この方法が
図1の端末に適用される場合を例として説明すると、以下のステップを含む。
【0028】
ステップ202:つなぎ合わせる第1のビデオ及び第2のビデオを取得し、ここで、第1のビデオは第2のビデオの前にある。
【0029】
ここで、前方ビデオとは、第2のビデオが撮影される前に得られた、第2のビデオと同じ撮影位置が存在するビデオである。例えば、カメラは、物体が障害物を横切る場合のパノラマビデオを撮影する。物体が障害物を横切っていることが撮影されると、物体が障害物を一定距離通過した後、第1のビデオの撮影が停止される。次に、カメラは、障害物を迂回し、障害物の他方側から、物体が障害物を横切っている場合の第2のビデオを撮影する。第1のビデオの撮影時間を第1の時間、第2のビデオの撮影時間を第2の時間とする。ここで、第1の時間は、第2の時間の前である。同時に、2つのビデオには同じ撮影位置、すなわち障害物から一定距離離れた位置が存在すると、第1のビデオは第2のビデオの前方ビデオとなる。
【0030】
具体的には、異なる時刻で撮影された、同じ位置が存在する2つのビデオをつなぎ合わせる必要がある場合、まず、つなぎ合わせる第1のビデオ及び第2のビデオを取得する必要がある。
【0031】
一つの実施形態において、端末は接続されたビデオ収集デバイスによってビデオの収集を行うことができ、収集デバイスは収集されたビデオをリアルタイムに端末に伝送するか、又は収集デバイスは収集されたビデオを収集デバイスに一時的にローカルに格納し、端末からビデオ取得コマンドを受信すると、ローカルに格納されたビデオを端末に伝送し、それに応じて、端末はつなぎ合わせる第1のビデオ及び第2のビデオを取得することができる。
【0032】
一つの実施形態において、端末は内部に備えたビデオ収集モジュールによって、第1のビデオ及び第2のビデオを収集し、収集されたビデオを端末のメモリに記憶し、端末は、第1のビデオと第2のビデオをつなぎ合わせる必要がある場合、メモリからつなぎ合わせる第1のビデオ及び第2のビデオを取得する。
【0033】
ステップ204:第1のビデオまたは第2のビデオに静止フレームを検出して、静止フレームシーケンスを獲得する。
【0034】
ここで、静止フレームとは、第1のビデオまたは第2のビデオにおける各ビデオフレームに、第1のビデオまたは第2のビデオの画面を静止させるビデオフレームが存在することを意味する。静止フレームシーケンスとは、第1のビデオまたは第2のビデオにおけるある順番の静止フレームからなるシーケンスである。
【0035】
具体的には、静止フレームがビデオ中に存在すると、ビデオがフリーズしてしまう場合があり、ビデオつなぎ合わせの過程に静止フレームの影響を受けないようにするためには、第1のビデオまたは第2のビデオに静止フレーム検出を行う必要がある。
【0036】
一つの実施形態において、第1のビデオにおける最後の一つビデオフレームによって、最後の一つビデオフレームの前の連続する複数のビデオフレームとの間で順に特徴点抽出が行われ、かつ特徴点マッチングが行われるようにしてもよい。最後の一つビデオフレームの前の連続する複数のビデオフレームの特徴点マッチング結果がいずれも閾値条件を満たす場合、これら複数のビデオフレームからなるビデオフレームシーケンスを静止フレームシーケンスとして特定する。例えば、第1のビデオにおける最後の一つビデオフレームを第1のフレームと表し、最後の一つビデオフレームの前の連続するn-2のフレームとの間で特徴点抽出・マッチングを行い、マッチング結果がいずれも閾値条件を満たす場合、第1のビデオにおける最後のn-1のフレームからなるビデオフレームシーケンスを静止フレームシーケンスとして特定する。
【0037】
一つの実施形態において、第2のビデオにおける最初の一つビデオフレームによって、最初の一つビデオフレームの後の連続する複数のビデオフレームとの間で順に特徴点抽出が行われ、かつ特徴点マッチングが行われるようにしてもよい。最初の一つビデオフレームの後の連続する複数のビデオフレームの特徴点マッチング結果がいずれも閾値条件を満たす場合、これら複数のビデオフレームからなるビデオフレームシーケンスを静止フレームシーケンスとして特定する。例えば、第2のビデオにおける最初の一つビデオフレームを第1のフレームと表し、最初の一つビデオフレームの後の連続するn-2のフレームとの間で特徴点抽出・マッチングを行い、マッチング結果がいずれも閾値条件を満たす場合、第2のビデオにおける最初のn-1のフレームからなるビデオフレームシーケンスを静止フレームシーケンスとして特定する。
【0038】
一つの実施形態において、ビデオフレームの特徴点抽出および特徴点マッチングが行われるとき、まず、ビデオフレームに対応する画像を平面視図画像に変換する。ここで、平面視図画像とは、パノラマグラムのある方向から見た画角が90度の平面図であってもよく、例えば、パノラマグラムは、上下、前後、左右の6つの面を含み、それぞれの面が一つの平面視図となる。例えば、上面図、下面図、左側面図、右側面図、仰視図、底面図である。第1のビデオに静止フレームの検出を行う場合、第1のビデオにおける最後の一つビデオフレームと、この最後の一つビデオフレームの前の特定する静止フレームのあるビデオフレームとの間でマッチングされた特徴点の位置が、上記平面視図画像の幅の1/10~1/60の間にあり、かつマッチングされた特徴点の総数が、第1のビデオにおける最後の一つビデオフレームと、最後から2番目のビデオフレームとの間でマッチングされた特徴点の総数の10%以上であると、この特定する静止フレームのあるビデオフレームを静止フレームと特定する。第2のビデオに静止フレームの検出を行う場合、第2のビデオにおける最初の一つビデオフレームと、この最初の一つビデオフレームの後の特定する静止フレームのあるビデオフレームとの間でマッチングされた特徴点の位置が、上記平面視図画像の幅の1/10~1/60の間にあり、かつマッチングされた特徴点の総数が、第2のビデオにおける最初の一つビデオフレームと、2番目のビデオフレームとの間でマッチングされた特徴点の総数の10%以上であると、この特定する静止フレームのあるビデオフレームを静止フレームと特定する。
【0039】
一つの実施形態において、ORB(Oriented Fast and Rotated Brief)特徴点検出の方法を用いて、ビデオフレームにおける特徴点を抽出し、マッチングすることができる。ビデオフレームにおける特徴点の抽出およびマッチングは、他の特徴点検出方法を採用して行ってもよいことが理解される。たとえば、SIFT(Scale-invariant feature transform)、SUFT(Speeded Up Robust Features)、LSD(Line Segment Detection )などがある。
【0040】
ステップ206:静止フレームシーケンスに基づいて、参照ビデオフレームを獲得する。
【0041】
ここで、参照ビデオフレームとは、参照可能なビデオフレームであり、このビデオフレームによって、他のビデオフレームとこのビデオフレームとのマッチング結果が得られる。
【0042】
具体的には、静止フレームシーケンスが獲得された後、第1のビデオからこの静止フレームシーケンスの前方ビデオフレームを取得したり、第2のビデオからこの静止フレームシーケンスの後方ビデオフレームを取得したりしてもよく、当該前方ビデオフレームまたは後方ビデオフレームは非静止ビデオフレームと考えられ、この非静止ビデオフレームは参照ビデオフレームとすることができる。前方ビデオフレームとは、第1のビデオにおける静止フレームシーケンスの前の1番目のビデオフレームであり、後方ビデオフレームとは、第2のビデオにおける静止フレームシーケンスの後の1番目のビデオフレームである。一つの実施形態において、前方ビデオフレームまたは後方ビデオフレームの抽出は、端末内のOpenCVソフトウェアライブラリを呼び出して行われる。ここでOpenCVは、BSD(original BSD license、FreeBSD license、Original BSD license)に準じて発行されたクロスプラットフォームコンピュータビジョンと機械学習ソフトウェアライブラリであり、ビデオフレームの抽出を実現することができる。
【0043】
一つの実施形態において、第1のビデオまたは第2のビデオにおける静止フレームの検出は、CRC(Cyclic Redundancy Check)チェック方法によって行うことができ、マルチスレッドを生成して第1のビデオまたは第2のビデオにおけるビデオフレームにCRCチェックを行うことによって、フレーム毎のCRCチェック値が得られ、CRCチェック値によって第1のビデオまたは第2のビデオにおける静止フレームが得られ、この静止フレームによって非静止ビデオフレームが得られ、この非静止ビデオフレームが参照するためのビデオフレームとして使用される。静止フレームの特定は、他の静止フレーム検出方法を採用して行われてもよいことが理解される。
【0044】
ステップ208:参照ビデオフレームに基づいて重複領域を検索し、第1のビデオに対応する第1の重複ビデオフレーム領域及び第2のビデオに対応する第2の重複ビデオフレーム領域を獲得する。
【0045】
ここで、重複領域とは、2つのビデオのうち、同じ位置を撮影して得られたビデオフレーム領域であり、例えば異なる時間で撮影された2つのビデオの場合、この2つのビデオには同じ撮影位置が存在し、この2つのビデオに存在する共有の撮影位置に撮影して得られたビデオフレーム領域が重複領域である。
【0046】
具体的には、参照ビデオフレームが取得された後、この参照ビデオフレームによって重複領域の特定を行うことができる。
【0047】
一つの実施形態において、この参照ビデオフレームによって第1のビデオにおけるすべてのフレームとの間でマッチングを行い、第1のビデオでもマッチング確率が最も高いビデオフレームを第1の重複ビデオフレーム領域の開始フレームとするようにしてもよい。それに応じて、第2のビデオにおいて、第1の重複ビデオフレーム領域におけるビデオフレームと同じ位置にあるビデオフレームに対応する領域を利用して、第2のビデオに対応する第2の重複ビデオフレーム領域を獲得する。例えば、このフレームをPフレームと表し、第1のビデオにおいて、Pフレーム以降の全てのビデオフレームに対応するビデオフレーム部分を重複領域とする。第2のビデオにおいて、Pフレーム以降の全てのビデオフレームと同じ位置にあるビデオフレーム領域をCフレームからFフレームの間のビデオフレーム領域とすると、CフレームからFフレームの間のビデオフレーム領域を第2の重複ビデオフレーム領域とする。
【0048】
一つの実施形態において、参照ビデオフレームの後の予め設定されたフレーム数のビデオフレームをとって対応するビデオフレームのマッチングを行ってもよい。例えば、参照ビデオフレームの後のmフレームのビデオフレームをとって、第1のビデオにおける最後のmフレームのビデオフレームと比較することにより、特徴点マッチング数の統計値が最大になるときに対応するmフレームを第1の重複ビデオフレーム領域とするようにしてもよい。mが異なる数値をとる場合、得られた特徴点マッチング数の統計値が異なり、mフレームと特徴点マッチング数の統計値との間の対応表を作成し、この表からマッチング数の統計値の最大値を探し、該統計値の最大値に対応するmフレームは獲得された重複領域のビデオフレーム数である。それに応じて、第2のビデオに対応する第2の重複ビデオフレーム領域を獲得することができる。予め設定されたフレーム数と特徴点マッチング数の統計値との対応関係を下記の表1に示す。
【0049】
【0050】
表1で探すと、mの値が30を取る場合、対応する特徴点マッチング数の統計値が最大になることがわかり、第1のビデオにおける最後の30フレームを第1の重複ビデオフレーム領域とする。
【0051】
ステップ210:第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域に基づいて第1のビデオと第2のビデオをつなぎ合わせて、つなぎ合わせビデオを獲得する。
【0052】
ここで、つなぎ合わせとは、2つ以上のビデオを1つの完全なビデオに結合するプロセスを指す。
【0053】
具体的には、第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域を特定した後、第1のビデオ及び第2のビデオについて、第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域に二つのビデオを処理して、つなぎ合わせビデオを獲得する。
【0054】
一つの実施形態において、第1のビデオと第2のビデオとは、第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域においてアライメントされた後に画像合成され、第1のビデオと第2のビデオとが画像合成された結果、1つの完全なパノラマビデオが形成される。画像合成方法は、線形合成、ポアソン合成、マルチスケール合成、加重合成、またはラプラスピラミッド合成などを採用することができる。理解されるように、ビデオにおける各フレームのビデオは静止画像と見なすことができ、ビデオ合成を行う際に、重複ビデオフレーム領域に行われるアライメントされた複数のビデオフレームの合成は、複数の静止画像の合成と見なすことができる。
【0055】
一つの実施形態において、第1のビデオと第2のビデオは加重合成による方法で完全なパノラマビデオを形成する。
【0056】
一つの実施形態において、第1のビデオと第2のビデオに加重合成を行う過程に、重みは、重複領域における現在ビデオフレームに対応するビデオフレーム現在撮影時間と、参照ビデオフレームの参照撮影時間との間の現在時間差によって特定することができる。ここで、Qが重み、t1が現在ビデオフレームに対応するビデオフレーム現在撮影時間、t2が参照ビデオフレームの参照撮影時間、tが重複領域におけるビデオフレームに対応する総時間を表すと、重みは、現在ビデオフレームに対応するビデオフレーム現在撮影時間と参照ビデオフレームの参照撮影時間との差分値、及び重複領域におけるビデオフレームに対応する総時間から算出することができる。重みQはQ=(t1-t2)/tの式として表すことができ、重みと、第1のビデオに対応する第1の重複ビデオフレーム領域におけるビデオフレームと第2のビデオに対応する第2の重複ビデオフレーム領域におけるビデオフレームとを利用して画像合成を行い、合成されたつなぎ合わせビデオを獲得する。Iが合成されたビデオフレーム、I1が重複領域内の1番目のビデオの現在ビデオフレーム、I2が重複領域内の2番目のビデオの現在ビデオフレームを表すと、合成されたビデオフレームIは、
の式として表すことができる。理解されるように、第1の重複ビデオフレーム領域および第2の重複ビデオフレーム領域は、重複ビデオフレーム領域のうち第1のビデオおよび第2のビデオにそれぞれ存在する領域であり、また、この領域は、第1のビデオと第2のビデオの重複領域であり、第1の重複ビデオフレーム領域および第2の重複ビデオフレーム領域という表現を使用するのは、この重複領域における、第1のビデオおよび第2のビデオに出現する対応する重複ビデオフレーム領域を区別するためである。
【0057】
前記ビデオつなぎ合わせ方法によれば、端末はつなぎ合わせる第1のビデオ及び第2のビデオを取得し、第1のビデオ又は第2のビデオに静止フレーム検出を行って、静止フレームシーケンスを獲得し、静止フレームシーケンスに基づいて、参照ビデオフレームを獲得し、ここで、第1のビデオは第2のビデオの撮影の前に撮影して得られたものである。参照ビデオフレームに基づいて重複領域を検索し、第1のビデオに対応する第1の重複ビデオフレーム領域及び前記第2のビデオに対応する第2の重複ビデオフレーム領域を獲得し、第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域に基づいて第1のビデオと第2のビデオをつなぎ合わせて、つなぎ合わせビデオを獲得する。参照ビデオフレームを特定することによって、第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域を獲得し、上記二つの重複ビデオフレーム領域に基づいて第1のビデオと第2のビデオの二つのビデオをつなぎ合わせて、第1のビデオと第2のビデオの自然なつなぎ合わせ遷移を実現させ、ビデオつなぎ合わせの効果を向上させる。
【0058】
一つの実施形態において、
図3に示すように、第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域に基づいて第1のビデオと第2のビデオをつなぎ合わせて、つなぎ合わせビデオを獲得することは、以下のステップを含む。
【0059】
ステップ302:つなぎ合わせビデオフレーム位置を取得し、第1の重複ビデオフレーム領域からつなぎ合わせビデオフレーム位置に対応する第1のつなぎ合わせビデオフレームを取得し、第2の重複ビデオフレーム領域からつなぎ合わせビデオフレーム位置に対応する第2のつなぎ合わせビデオフレームを取得する。
【0060】
ここで、つなぎ合わせビデオフレーム位置とは、第1のビデオと第2のビデオをつなぎ合わせ可能なビデオフレーム位置である。例えば、重複ビデオフレーム領域において、異なる時刻で撮影されたビデオとして、1番目のビデオにおける第100フレームを撮影した空間位置がSフレームであり、2番目のビデオにおける第10フレームを撮影した位置もSフレームである場合、つなぎ合わせ位置はSフレームであり、これに対応する1番目のビデオにおける第100フレームの画像と2番目のビデオにおける第10フレームの画像の位置はつなぎ合わせビデオフレーム位置とみなすことができる。
【0061】
具体的には、第1のビデオと第2のビデオをつなぎ合わせる際に、2つのビデオのつなぎ合わせビデオフレーム位置を取得することでつなぎ合わせを行うことができる。
【0062】
一つの実施形態において、重複領域の中央ビデオフレームは、つなぎ合わせビデオフレーム位置として選択されてもよく、つなぎ合わせビデオフレーム位置が得られた後、第1のビデオにおいてこのつなぎ合わせビデオフレーム位置に対応する第1のつなぎ合わせビデオフレーム、及び第2のビデオにおいてこのつなぎ合わせビデオフレーム位置に対応する第2のつなぎ合わせビデオフレームを特定することができる。中央ビデオフレームは、ビデオフレームシーケンスの中間位置にあるビデオフレームである。例えば、5つのビデオフレームが配列されていてビデオフレーム位置がそれぞれ{1、2、3、4、5}であるビデオフレームシーケンスの場合、位置3にあるビデオフレームは、ビデオフレームシーケンスの中間位置にあるビデオフレームである。
【0063】
一つの実施形態において、第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域において重複領域におけるビデオフレームのアライメントを行う際に、各アライメントされたビデオフレームに対して各アライメントされたビデオフレーム間のマッチング点の数を算出し、マッチング点の数が最も多いビデオフレームをつなぎ合わせビデオフレーム位置とするようにしてもよく、つなぎ合わせビデオフレーム位置が得られた後、第1のビデオにおいてこのつなぎ合わせビデオフレーム位置に対応する第1のつなぎ合わせビデオフレーム、及び第2のビデオにおいてこのつなぎ合わせビデオフレーム位置に対応する第2のつなぎ合わせビデオフレームを特定することができる。
【0064】
ステップ304:第1のつなぎ合わせビデオフレームと第2のつなぎ合わせビデオフレームとの間の空間変換関係を特定し、空間変換関係に基づいて第1のビデオと第2のビデオにビデオフレームアライメントを行う。
【0065】
ここで、空間変換関係とは、第1のつなぎ合わせビデオフレームと第2のつなぎ合わせビデオフレームとの間で行われる回転、並進又は拡大・縮小等の変換関係である。
【0066】
具体的には、第1のつなぎ合わせビデオと第2のつなぎ合わせビデオとの間には、撮影角度等の理由により、一定の角度が存在する可能性がある。それに対応して、第1のつなぎ合わせビデオフレームと第2のつなぎ合わせビデオフレームとの間にも一定の角度が存在し、第1のつなぎ合わせビデオフレームと第2のつなぎ合わせビデオフレームとのつなぎ合わせを完了するために、第1のつなぎ合わせビデオフレームと第2のつなぎ合わせビデオフレームとの間の空間変換関係を特定する必要があり、空間変換関係に基づいて第1のビデオと第2のビデオにビデオフレームアライメントしてから第1のつなぎ合わせビデオフレームと第2のつなぎ合わせビデオフレームとのつなぎ合わせを完了することができる。
【0067】
1つの実施形態において、2つの画像間の一次変換行列を求めることによって、異なる角度で撮影された画像を同じ画角に変換し、ビデオフレーム間の空間変換関係を得て、空間変換関係に基づいて第1のビデオと第2のビデオにビデオフレームアライメントを行う。
【0068】
ステップ306:アライメントされた第1のビデオフレームと第2のビデオフレームに基づいてビデオフレームのつなぎ合わせを行って、つなぎ合わせビデオを獲得し、ここで、つなぎ合わせの際に、第1の重複ビデオフレーム領域と第2の重複ビデオフレーム領域とを合成して合成ビデオフレームを獲得する。
【0069】
ここで、合成ビデオフレームとは、第1のビデオフレームと第2のビデオフレームに対応する画像画質を向上させることができる情報を抽出して統合した高品質のビデオ情報に対応するビデオフレームである。
【0070】
本実施形態において、つなぎ合わせビデオフレーム位置を取得し、このつなぎ合わせビデオフレーム位置において対応する第1のつなぎ合わせビデオフレームと第2のつなぎ合わせビデオフレームについて空間変換関係を特定し、第1のビデオと第2のビデオに、ビデオフレームアライメントを行った後に合成させて合成ビデオフレームを獲得することにより、第1のビデオと第2のビデオを正確につなぎ合わせることができ、つなぎ合わせ後の第1のビデオと第2のビデオに自然な遷移を実現させ、つなぎ合わせの効果を向上させる。
【0071】
一つの実施形態において、
図4に示すように、空間変換関係は水平変換値を含み、第1のつなぎ合わせビデオフレームと第2のつなぎ合わせビデオフレームとの間の空間変換関係を特定し、空間変換関係に基づいて第1のビデオと第2のビデオにビデオフレームアライメントを行うことは以下のステップを含む。
【0072】
ステップ402:第1のつなぎ合わせビデオフレームの第1の特徴点及び第2のつなぎ合わせビデオフレームの第2の特徴点を取得する。
【0073】
ここで、特徴点とは、各ビデオフレーム画像における本質的な特徴を具現することができ、その本質的な特徴によって画像における対象物を識別することができる点である。2つのビデオフレームの距離は、2つのビデオフレームにおける特徴点の距離によって計算することができる。
【0074】
具体的には、第1のビデオ及び第2のビデオは防振パノラマビデオである場合、第1のビデオと第2のビデオとの間の空間変換関係には、水平変換値のみがある。ここで、防振パノラマビデオとは、慣性センサ及び加速度計などに記録されたビデオデータによってパノラマビデオに防振処理を行った後のビデオであり、防振ビデオにおける地平線は基本的にパノラマビデオフレームの水平中心線位置に保持され、異なる時刻で同じ位置を撮影して得られた防振パノラマビデオフレーム間のピッチ角及びロール角は基本的に0である。防振パノラマビデオは、同じ位置、異なる時刻で撮影された防振ビデオ画像の間に1つの方位角、すなわち水平方向の並進のみが存在することが理解される。
【0075】
一つの実施形態において、第1のつなぎ合わせビデオフレームの第1の特徴点および第2のつなぎ合わせビデオフレームの第2の特徴点は、ORB特徴点検出方法またはSIFT特徴点検出方法によって直接抽出されても良い。
【0076】
一つの実施形態において、第1のつなぎ合わせビデオフレームの第1の特徴点および第2のつなぎ合わせビデオフレームの第2の特徴点は、まず、パノラマビデオに対応するパノラマグラムを平面視図に変換し、次にORB特徴点検出方法を利用して抽出されても良い。ここで、平面視図とは、パノラマグラムのある方向から見た画角が90度の平面図であってもよく、例えば、パノラマグラムは、上下、前後、左右の6つの面を含み、それぞれの平面が一つの平面視図となる。例えば、上面図、下面図、左側面図、右側面図、仰視図、底面図である。
【0077】
一つの実施形態において、パノラマビデオに対応するパノラマグラムは、平面視図ビデオのうちの底面図に変換されてから特徴点の抽出を行ってもよく、パノラマグラムは、回転マトリックスによって画像変換されて、パノラマグラムから底面図画像への画像変換が実現される。ここで、パノラマグラムとは、画像画角が地平線の正負各180度、垂直方向の正負各90度を網羅する画像であり、パノラマグラムを立方体の空間状態にある画像と見ると、その画像は上下、前後、左右の6つの平面視図を完全に含むと考えられる。
【0078】
ステップ404:第1の特徴点と第2の特徴点との間の水平距離を特定する。
【0079】
ここで、水平距離とは、第1の特徴点の水平方向の座標と第2の特徴点の水平方向の座標との差分値である。例えば、第1の特徴点と第2の特徴点との水平距離をΔx、第1の特徴点の水平方向の座標をxp1、第2の特徴点の水平方向の座標をxp2と表すと、第1の特徴点と第2の特徴点との水平距離Δxは、次の式により算出することができる。
Δx=xp1-xp2
【0080】
具体的には、第1のつなぎ合わせビデオフレームの第1の特徴点と第2のつなぎ合わせビデオフレームの第2の特徴点が得られた後、第1のつなぎ合わせビデオフレームの第1の特徴点と第2のつなぎ合わせビデオフレームの第2の特徴点との水平距離を計算する。
【0081】
ステップ406:水平距離に基づいて、第1のつなぎ合わせビデオフレームと第2のつなぎ合わせビデオフレームとの間の水平変換値を特定する。
【0082】
ここで、水平変換値とは、水平距離から得られた第1のつなぎ合わせビデオフレームと第2のつなぎ合わせビデオフレームとの水平方向の差である。
【0083】
具体的には、水平距離の異なる値の範囲に応じて異なる水平変換値が得られる。
【0084】
一つの実施形態において、水平変換値は、水平変換値と水平距離との間の正の相関関係に従って、異なる水平距離から得られる。dxが水平変換値、wがパノラマビデオフレームの幅を表すと、水平変換値dxは、次式として表すことができる。
【0085】
一つの実施形態において、第1のつなぎ合わせビデオフレームと第2のつなぎ合わせビデオフレームとの間の水平変換値は、水平変換値の統計値から得られても良い。例えば、水平変換値の平均値を、第1のつなぎ合わせビデオフレームと第2のつなぎ合わせビデオフレームとの間の水平変換値とすることができる。
【0086】
一つの実施形態において、水平変換値の統計値は、得られた各水平変換値を順序付けした後に得られるものであり、各水平変換値を大きい順に、または小さい順に順序付けし、順番の中間位置にある水平変換値を水平変換値の統計値としてもよい。他の方法で水平変換値の統計値を得てもよい。例えば、各水平変換値の平均値、加重平均値又はモード等を計算することにより、水平変換値の統計値を得る。
【0087】
本実施形態では、第1のつなぎ合わせビデオフレームの第1の特徴点及び第2のつなぎ合わせビデオフレームの第2の特徴点の取得によって、第1の特徴点と第2の特徴点との水平距離を獲得し、水平距離によって第1のつなぎ合わせビデオフレームと第2のつなぎ合わせビデオフレームとの間の水平変換値を特定し、第1のつなぎ合わせビデオフレームと第2のつなぎ合わせビデオフレームとの間の空間変換関係を正確に特定する目的を達成することができ、さらに、正確な空間変換関係によってビデオつなぎ合わせの効果を向上させる。
【0088】
一つの実施形態において、
図5に示すように、第1の重複ビデオフレーム領域と第2の重複ビデオフレーム領域とを合成して合成ビデオフレームを獲得するステップは、以下のステップを含む。
【0089】
ステップ502:第1の重複ビデオフレーム領域から、合成する現在ビデオフレームを取得する。
【0090】
具体的には、重複ビデオフレーム領域に第1のビデオと第2のビデオとを合成する前に、まず重複ビデオフレーム領域から、合成する現在ビデオフレームを取得する必要がある。
【0091】
一つの実施形態において、OpenCVソフトウェアライブラリによってビデオを読み取り、ビデオにおける各フレームを抽出することは、OpenCVソフトウェアライブラリ内のビデオ取得構造関数によって実現することができる。例えば、ビデオ取得構造関数VideoCaptureおよびMatを利用してビデオを取得し、さらに、上記のビデオ取得構造関数によって、合成する現在ビデオフレームを取得することができる。例えば、filenameはビデオファイルを表し、frameは取得する1フレームのビデオフレームを表し、上記のビデオ取得構造関数によってカメラまたはファイルから1フレームのビデオフレームをつかんで戻すことは、以下のように表すことができる。
VideoCapture cap("filename");
Mat frame;
cap >> frame;
【0092】
ステップ504:現在ビデオフレームに対応するビデオフレーム現在撮影時間と参照ビデオフレームの参照撮影時間との間の現在時間差を取得する。
【0093】
具体的には、第1のビデオにおける第1の重複ビデオフレーム領域から、合成する現在ビデオフレームを取得した後、撮影時間の違いにより、現在ビデオフレームには対応する撮影時間があり、同様に、参照ビデオフレームにも対応する撮影時間があり、現在ビデオフレームの撮影時間と参照ビデオフレームの撮影時間から、現在時間差を獲得することができる。
【0094】
一つの実施形態において、撮影時間は、タイムスタンプによって表されてもよく、このタイムスタンプはフレーム数で表されてもよいし、フレーム数にフレームレートを乗算して表されてもよく、二つの表す方式のいずれによっても、ビデオフレームに対応する撮影時間を一意に特定することができる。例えば、タイムスタンプはフレーム数で表される場合、ビデオにおける第100フレームの画像のタイムスタンプは100であり、タイムスタンプはフレーム数にフレームレートを乗算して表される場合、ビデオフレームレートを30フレーム/秒とすると、タイムスタンプは100/30=3.33秒であってもよい。現在ビデオフレームのタイムスタンプと参照ビデオフレームのタイムスタンプとの間の差から、現在時間差を得る。
【0095】
一つの実施形態において、現在時間差は、現在ビデオフレームに対応するビデオフレーム現在撮影時間と参照ビデオフレームの参照撮影時間との間の差分値から得られる。t1は現在ビデオフレームに対応するビデオフレーム現在撮影時間を、t2は参照ビデオフレームの参照撮影時間を、Δtは現在ビデオフレームに対応するビデオフレーム現在撮影時間と参照ビデオフレームの参照撮影時間との現在時間差を表すと、現在時間差Δtは、Δt=t1-t2の式として表すことができる。
【0096】
ステップ506:現在時間差に基づいて、現在ビデオフレームに対応する現在合成重みを獲得し、ここで、現在時間差と現在合成重みとが正の相関関係にある。
【0097】
ここで、合成重みとは、画像合成の過程における現在ビデオフレームに対応する比重である。正の相関関係とは、現在合成重みと現在時間差の増大または減少の傾向が同じであり、現在時間差の増大につれて、現在合成重みも増大し、一方、現在時間差の減少につれて、現在合成重みも減少することを意味する。
【0098】
具体的には、現在時間差が取得された後、現在時間差と現在合成重みとの正の相関関係から、現在合成重みを獲得することができる。
【0099】
一つの実施形態において、第1のビデオと第2のビデオに加重合成を行う過程に、重みは、重複領域における現在ビデオフレームに対応するビデオフレーム現在撮影時間と、参照ビデオフレームの参照撮影時間との間の現在時間差によって特定することができ、ここで、Qが重み、t1が現在ビデオフレームに対応するビデオフレーム現在撮影時間、t2が参照ビデオフレームの参照撮影時間、tが重複領域におけるビデオフレームに対応する総時間を表すと、重みは、現在ビデオフレームに対応するビデオフレーム現在撮影時間と参照ビデオフレームの参照撮影時間との差分値、及び重複領域におけるビデオフレームに対応する総時間から算出することができ、重みQはQ=(t1-t2)/tの式として表すことができ、重みQは、現在時間差t1-t2の増大につれて大きくなり、同様に、重みQは、現在時間差t1-t2の減少につれて小さくなる。
【0100】
ステップ508:現在合成重みに基づいて、現在ビデオフレームと第2の重複ビデオフレーム領域に対応する位置のビデオフレームとを合成して、現在合成ビデオフレームを獲得する。
【0101】
具体的には、重複領域における現在合成重みが得られた後、現在合成重みによって第1のビデオと第2のビデオとを合成し、より高品質のつなぎ合わせビデオを獲得する。
【0102】
一つの実施形態において、現在合成重みと、第1のビデオに対応する第1の重複ビデオフレーム領域におけるビデオフレームと第2のビデオに対応する第2の重複ビデオフレーム領域におけるビデオフレームとを利用して画像合成を行い、合成されたつなぎ合わせビデオを獲得し、ここで、Iが合成されたビデオフレーム、I1が重複領域内の1番目のビデオの現在ビデオフレーム、I2が重複領域内の2番目のビデオの現在ビデオフレームを表すと、合成されたビデオフレームIは、
の式として表すことができる。理解されるように、第1の重複ビデオフレーム領域および第2の重複ビデオフレーム領域は、重複ビデオフレーム領域のうち第1のビデオおよび第2のビデオにそれぞれ存在する領域であり、また、この領域は、第1のビデオと第2のビデオの重複領域であり、第1の重複ビデオフレーム領域および第2の重複ビデオフレーム領域という表現を使用するのは、この重複領域における、第1のビデオおよび第2のビデオに出現する対応する領域を区別するためである。
【0103】
本実施形態では、現在時間差を取得し、該現在時間差によって現在合成重みを取得し、現在合成重みに基づいて現在ビデオフレームと第2の重複ビデオフレーム領域に対応する位置のビデオフレームとを合成し、現在合成ビデオフレームを獲得することにより、自然な遷移効果がある完全なビデオを獲得する目的を達成することができる。
【0104】
一つの実施形態において、
図6に示すように、現在時間差に基づいて、現在ビデオフレームに対応する現在合成重みを獲得することは、以下のステップを含む。
【0105】
ステップ602:重複ビデオフレーム領域に対応する重複領域の時間長を取得する。
【0106】
ここで、重複領域の時間長とは、重複領域のビデオフレームに対応するビデオ時間長である。例えば、重複領域のビデオ時間長が600ミリ秒であれば、重複領域時間長は600ミリ秒である。
【0107】
具体的には、現在合成重みの計算におけるパラメータの1つは重複領域の時間長であり、重複領域の時間長を取得することによって現在合成重みを計算するパラメータの1つを特定することができる。
【0108】
一つの実施形態において、重複領域の時間長は、重複領域におけるフレームの総数、およびビデオフレームレートによって、フレームの総数とビデオフレームレートとの間の関数関係から取得することができる。例えば、bは重複領域におけるフレームの総数、vはフレームレート、tは重複領域の時間長を表すと、重複領域の時間長tは、t=b/vの式として表すことができる。
【0109】
ステップ604:現在時間差と重複領域の時間長との比を計算して、現在合成重みを獲得する。
【0110】
具体的には、t1-t2は現在時間差、tは重複領域の時間長、Qは現在合成重みを表すと、現在合成重みQはQ=(t1-t2)/tの式として表すことができる。
【0111】
本実施形態では、現在時間差と重複領域の時間長との比によって、正確に現在合成重みを獲得するという目的を達成することができ、第1のビデオと第2のビデオに重複領域でつなぎ合わせを行うとき、現在合成重みによって重複領域におけるビデオフレームを合成し、ビデオつなぎ合わせの効果を向上させることができる。
【0112】
一つの実施形態では、
図7に示すように、参照ビデオフレームに基づいて重複領域を検索し、第1のビデオに対応する第1の重複ビデオフレーム領域及び第2のビデオに対応する第2の重複ビデオフレーム領域を獲得することは、以下のステップを含む。
【0113】
ステップ702:参照ビデオフレームをそれぞれ第1のビデオにおける各ビデオフレームと比較して、第1のビデオにおける参照ビデオフレームとマッチングするマッチングビデオフレームを獲得する。
【0114】
ここで、マッチングビデオフレームとは、第1のビデオのうち、参照ビデオフレームとのマッチング条件を満たすことができるビデオフレームである。例えば、第1のビデオにおける各ビデオフレームのうち、参照ビデオフレームとのマッチング点数が最も多いビデオフレームをマッチングビデオフレームとしてもよい。
【0115】
具体的には、参照ビデオフレームは第2のビデオに存在する静止フレームの後方ビデオフレームであり、ビデオにフリーズや静止などのビデオ品質の不都合が存在することを避けるために、参照ビデオフレームは1番目の非静止フレームとみなされ、参照ビデオフレームを比較するビデオフレームとして選択し、マッチングビデオフレームを獲得する。
【0116】
一つの実施形態において、第1のビデオにおける各ビデオフレームのうち、第2のビデオにおける参照ビデオフレームであるビデオフレームとのマッチング率が最も高いビデオフレームがマッチングビデオフレームとして選択される。マッチング率は、特徴点マッチング数と特徴点総数との比とすることができる。例えば、参照ビデオフレームと第1のビデオにおける一つのビデオフレームとの間の特徴点マッチング数が1000であり、特徴点総数が1500である場合、マッチング率は1000対1500の比、すなわち67%である。
【0117】
ステップ704:マッチングビデオフレームに対応するテールビデオフレーム領域を、第1のビデオに対応する第1の重複ビデオフレーム領域とする。
【0118】
ここで、テールビデオフレーム領域とは、マッチングビデオフレームから第1のビデオの終了ビデオフレームまでに対応するビデオフレーム領域である。例えば、マッチングビデオフレームがPである場合、テールビデオフレーム領域は、第1のビデオにおけるPフレームの後のビデオフレームである。
【0119】
具体的には、マッチングビデオフレームが取得された後、第1のビデオから、マッチングビデオフレームの後のビデオフレームを、第1のビデオに対応する第1の重複ビデオフレーム領域として獲得することができる。
【0120】
ステップ706:第2のビデオフレームのうち参照ビデオフレームが位置する参照ビデオフレーム領域を、第2のビデオに対応する第2の重複ビデオフレーム領域とし、ここで、参照ビデオフレームが参照ビデオフレーム領域における先頭ビデオフレームであり、参照ビデオフレーム領域とテールビデオフレーム領域とはビデオフレーム数が一致する。
【0121】
ここで、先頭ビデオフレームとは、ビデオフレーム領域内の最初の一つビデオフレームである。
【0122】
具体的には、重複領域に第1のビデオにおけるビデオフレームと第2のビデオにおけるビデオフレームの両方が存在し、重複領域においてビデオフレームのアライメントと合成を完了させるためには、重複領域における両方のビデオフレーム数を同じにする必要がある。参照ビデオフレーム領域は、第2のビデオにある第2の重複ビデオフレーム領域であり、テールビデオフレーム領域は、第1のビデオにある第1の重複ビデオフレーム領域であり、2つの重複ビデオフレーム領域内に同じ数のビデオフレームが存在する。理解されるように、第1の重複ビデオフレーム領域と第2の重複ビデオフレーム領域は、ビデオ合成を実現した後、一つの重複ビデオフレーム領域を形成し、この重複ビデオフレーム領域の前のビデオフレームは第1のビデオのビデオフレームであり、この重複ビデオフレーム領域の後のビデオフレームは第2のビデオのビデオフレームである。
【0123】
本実施形態では、参照ビデオフレームによってマッチングビデオフレームを獲得することができ、マッチングビデオフレームによって第1の重複ビデオフレーム領域を獲得し、それに応じて第2のビデオから第2の重複ビデオフレーム領域を獲得し、重複ビデオフレーム領域を正確に特定する目的を達成することができ、重複ビデオフレーム領域にビデオ合成を可能とし、重複ビデオフレーム領域に第1のビデオと第2のビデオの自然なつなぎ合わせを実現する。
【0124】
一つの実施形態において、
図8に示すように、参照ビデオフレームに基づいて重複領域を検索し、第1のビデオに対応する第1の重複ビデオフレーム領域及び第2のビデオに対応する第2の重複ビデオフレーム領域を獲得することは以下のステップを含む。
【0125】
ステップ802:第1のビデオから予め設定されたフレーム数のテールビデオフレームシーケンスを取得し、第1のビデオに対応する第1の重複ビデオフレーム領域とする。
【0126】
ここで、予め設定されたフレーム数とは、取得されたテールビデオフレームシーケンスにおけるビデオフレームのフレーム数を特定することができる、予め定められたビデオフレームのフレーム数である。例えば、予め設定されたフレーム数がmである場合、取得されたテールビデオフレームシーケンスには、m個のビデオフレームが含まれる。
【0127】
具体的には、第1の重複ビデオフレーム領域を特定する前に、事前判定の方法で継続的に試行することで予め設定されたフレーム数を特定することができる。
【0128】
一つの実施形態において、ビデオの総フレーム数を参照として、経験値に基づいて、複数の予め設定されたフレーム数に対応するビデオフレーム領域を、第1のビデオに対応する第1の重複ビデオフレーム領域として設定することができる。
【0129】
ステップ804:参照ビデオフレームに対応する後方ビデオフレームシーケンスから、テールビデオフレームシーケンスとマッチングするマッチングビデオフレームシーケンスを取得し、マッチングビデオフレームシーケンスを第2のビデオに対応する第2の重複ビデオフレーム領域とする。
【0130】
ここで、後方ビデオフレームシーケンスとは、参照ビデオフレームの後のビデオフレームからなるシーケンスである。このシーケンスは、参照ビデオフレームの後のビデオフレームの一部を含んでもよいし、参照ビデオフレームの後のビデオフレームのすべてを含んでもよい。
【0131】
具体的には、第1の重複ビデオフレーム領域としてのテールビデオフレームシーケンスが獲得された後、それに応じて、第2のビデオから、第1の重複ビデオフレーム領域と同じ数のビデオフレームを有し、一定のマッチング条件を満たすビデオフレームシーケンスを、第2の重複ビデオフレーム領域として見つける必要がある。
【0132】
一つの実施形態において、参照ビデオフレームの後の予め設定されたフレーム数のビデオフレームを、マッチングビデオフレームシーケンスとして取っても良い。例えば、参照ビデオフレームの後のmフレームを取り、第1のビデオにおける最後のmフレームと比較することにより、特徴点マッチング数の統計値が最大になるときに対応するmフレームを第1の重複ビデオフレーム領域とするようにしてもよい。mが異なる数値をとる場合、得られた特徴点マッチング数の統計値が異なり、数値mと特徴点マッチング数の統計値との間の対応関係表を作成し、この表からマッチング数の統計値の最大値を探し、該最大値に対応するmは獲得された重複領域のビデオフレーム数である。
【0133】
【0134】
表2で探すと、mの値が30を取る場合、対応する特徴点マッチング数の統計値が最大になることがわかり、第1のビデオにおける最後の30フレームを重複ビデオフレーム領域とする。
【0135】
本実施形態では、第1のビデオから予め設定されたフレーム数のテールビデオフレームシーケンスを取得し、第1の重複ビデオフレーム領域が得られ、得られた第1の重複ビデオフレーム領域におけるビデオフレームによってテールビデオフレームシーケンスとマッチングするマッチングビデオフレームシーケンスを取得し、マッチングビデオフレームシーケンスを第2のビデオに対応する第2の重複ビデオフレーム領域とすることにより、重複ビデオフレーム領域を正確に特定する目的を達成することができ、該重複ビデオフレーム領域に第1のビデオと第2のビデオのつなぎ合わせを完了させ、第1のビデオと第2のビデオがつなぎ合わせの過程で自然に遷移することができ、ビデオつなぎ合わせの効果を向上させる。
【0136】
一つの実施形態において、第1のビデオ又は第2のビデオに静止フレームを検出して、静止フレームシーケンスを獲得することは、以下を含む。
【0137】
第1のビデオ又は第2のビデオを平面ビデオに変換する。
【0138】
ここで、平面ビデオとは、各平面視図画像からなるビデオである。平面視図画像とは、パノラマグラムのある方向から見た画角が90度の平面図であってもよく、例えば、パノラマグラムは、上下、前後、左右の6つの面を含み、それぞれの面が一つの平面視図となる。例えば、平面視図は上面図、下面図、左側面図、右側面図、仰視図及び底面図を含む。
【0139】
一つの実施形態において、パノラマビデオに対応するパノラマグラムは、平面ビデオに対応する平面視図のうちの底面図に変換されてから特徴点の抽出を行ってもよく、パノラマグラムは、回転マトリックスによって画像変換されて、パノラマグラムから底面図画像への画像変換が実現される。ここで、パノラマグラムとは、画像画角が地平線の正負各180度、垂直方向の正負各90度を網羅する画像であり、パノラマグラムを立方体の空間状態にある画像と見ると、その画像は上下、前後、左右の6つの平面視図を完全に含むと考えられる。
【0140】
平面ビデオに静止フレーム検出を行って、静止フレームシーケンスを獲得する。
【0141】
一つの実施形態において、第1の平面ビデオおよび第2の平面ビデオをそれぞれ取得し、第1のビデオにおける最後の一つビデオフレームによって、最後の一つビデオフレームの前の連続する複数のビデオフレームとの間で順に特徴点抽出が行われ、かつ特徴点マッチングが行われるようにしてもよい。最後の一つビデオフレームの前の連続する複数のビデオフレームの特徴点マッチング結果がいずれも閾値条件を満たす場合、これら複数のビデオフレームからなるビデオフレームシーケンスを静止フレームシーケンスとして特定する。例えば、第1の平面ビデオにおける最後の一つ平面ビデオフレームを第1のフレームと表し、最後の一つビデオフレームの前の連続するn-2のフレームとの間で特徴点抽出・マッチングを行い、マッチング結果がいずれも閾値条件を満たす場合、第1のビデオにおける最後のn-1のフレームからなるビデオフレームシーケンスを静止フレームシーケンスとして特定する。
【0142】
一つの実施形態において、第2の平面ビデオにおける最初の一つ平面ビデオフレームによって、最初の一つビデオフレームの後の連続する複数のビデオフレームとの間で順に特徴点抽出が行われ、かつ特徴点マッチングが行われるようにしてもよい。最初の一つビデオフレームの後の連続する複数のビデオフレームの特徴点マッチング結果がいずれも閾値条件を満たす場合、これら複数のビデオフレームからなるビデオフレームシーケンスを静止フレームシーケンスとして特定する。例えば、第2の平面ビデオにおける最初の一つビデオフレームを第1のフレームと表し、最初の一つビデオフレームの後の連続するn-2のフレームとの間で特徴点抽出・マッチングを行い、マッチング結果がいずれも閾値条件を満たす場合、第2の平面ビデオにおける最初のn-1のフレームからなるビデオフレームシーケンスを静止フレームシーケンスとして特定する。
【0143】
一つの実施形態において、
図9に示されるように、ビデオ取得プロセスにおいて、カメラは、まず第1のビデオ(最初のビデオ)内の末尾ビデオを撮影するために通過する一つの位置に配置され、次に、カメラをある期間静置させた後、第1のビデオ内の末尾ビデオを撮影するための移動経路に沿ってカメラを移動させ、第2のビデオ(2番目のビデオ)の撮影を開始する。第1のビデオおよび第2のビデオの両方に、末尾ビデオが写入されている重複領域が存在し、第2のビデオにおける動きを開始するビデオフレームをAフレーム、重複領域の終了位置をBフレームと仮定する。この重複領域は、第1のビデオにおけるビデオフレームの範囲もAフレームからBフレームまでである。AフレームとBフレームとの間の中心位置にあるビデオフレームをつなぎ合わせビデオフレーム位置としてもよいし、AフレームとBフレームとの間の他のビデオフレームをつなぎ合わせビデオフレーム位置としてもよく、該つなぎ合わせビデオフレーム位置で第1のビデオと第2のビデオのつなぎ合わせを完了する。つなぎ合わせビデオフレーム位置をCフレームと表すと、Cフレームは、Aフレームの後の複数のビデオフレームにおけるビデオフレームを取ることができ、例えば、Cフレームは、Aフレームの後の5つのビデオフレームにおけるビデオフレームを取ることができる。
【0144】
一つの実施形態において、防振カメラは、物体が障害物を横切る場合のパノラマビデオを撮影する例について説明する。物体が障害物を横切っていることが撮影されると、物体が障害物を一定距離通過した後、1番目のビデオ(第1のビデオ)の撮影が停止される。次に、カメラは、障害物を迂回し、障害物の他方側から、物体が障害物を横切っている場合の2番目のビデオ(第2のビデオ)を撮影し、2番目のビデオの撮影は、1番目のビデオで撮影された物体が障害物を通過するところから始まり、撮影には一定の時間遅延があるため、撮影された2番目のビデオは、開始時点で静止しているように見える。次に、2番目のビデオでは、1番目のビデオにおいて撮影された障害物を横切る経路に沿って撮影を続け、これにより、前後の2つのビデオには同一の撮影経路、すなわち重複パスが存在し、該重複パスは前後の2つのビデオを接続するためのものである。防振カメラによって撮影されたパノラマビデオは、撮影位置がほぼ同じの場合、前後の2つのビデオの間に単純な変換関係が存在するだけであり、該変換関係は水平並進関係であり、該水平並進関係を利用して第1のビデオ又は第2のビデオを移動し、第1のビデオと第2のビデオを重複パス内でアライメントを完了させ、画像合成方法を利用してビデオフレーム画像の合成を完了し、第1のビデオと第2のビデオに自然な遷移を完了させ、それにより第1のビデオと第2のビデオとのシームレスな接続を実現する。一つの実施形態において、上述の方法の実施形態のステップを実行するためのサーバが提供される。このサーバは、独立したサーバまたは複数のサーバからなるサーバクラスタによって実現することができる。
【0145】
理解すべきのは、
図2~
図8のフローチャートの各ステップは、矢印で示される順に表示されているが、これらステップが必ずしも矢印で示される順に実行される必要はない。本明細書に明確に記載されていない限り、これらステップの実行は、厳密な順序に限定されず、これらステップは他の順序で実行されてもよい。また、
図2~
図8におけるステップの少なくとも一部は複数のステップまたは複数の段階を含んでもよく、これらのステップまたは段階は、必ずしも同一時刻で実行や完成される必要はなく、異なる時刻で実行されてもよく、これらのステップまたは段階の実行順序は必ずしも連続的である必要はなく、他のステップまたは他のステップにおけるステップや段階の少なくとも一部と順番にまたは交互に実行されてもよい。
【0146】
一つの実施形態において、
図10に示すように、ビデオつなぎ合わせ装置1000が提供されており、ビデオつなぎ合わせ装置1000は、第1のビデオ及び第2のビデオ取得モジュール1002と、静止フレームシーケンス獲得モジュール1004と、参照ビデオフレーム獲得モジュール1006と、第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域獲得モジュール1008と、つなぎ合わせビデオ獲得モジュール1010とを含み、そのうち、第1のビデオ及び第2のビデオ取得モジュール1002は、つなぎ合わせる第1のビデオ及び第2のビデオを取得するために用いられ、ここで、第1のビデオが第2のビデオの前にあり、静止フレームシーケンス獲得モジュール1004は、第1のビデオ又は第2のビデオに静止フレームを検出して、静止フレームシーケンスを獲得するために用いられ、参照ビデオフレーム獲得モジュール1006は、前記静止フレームシーケンスに基づいて、参照ビデオフレームを獲得するために用いられ、第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域獲得モジュール1008は、参照ビデオフレームに基づいて重複領域を検索し、第1のビデオに対応する第1の重複ビデオフレーム領域及び第2のビデオに対応する第2の重複ビデオフレーム領域を獲得するために用いられ、つなぎ合わせビデオ獲得モジュール1010は、第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域に基づいて第1のビデオと第2のビデオをつなぎ合わせて、つなぎ合わせビデオを獲得するために用いられる。
【0147】
一つの実施形態において、つなぎ合わせビデオ獲得モジュール1010は、つなぎ合わせビデオフレーム位置を取得し、第1の重複ビデオフレーム領域からつなぎ合わせビデオフレーム位置に対応する第1のつなぎ合わせビデオフレームを取得し、第2の重複ビデオフレーム領域からつなぎ合わせビデオフレーム位置に対応する第2のつなぎ合わせビデオフレームを取得すること、第1のつなぎ合わせビデオフレームと第2のつなぎ合わせビデオフレームとの間の空間変換関係を特定し、空間変換関係に基づいて第1のビデオと第2のビデオにビデオフレームアライメントを行うこと、アライメントされた第1のビデオフレームと第2のビデオフレームに基づいてビデオフレームのつなぎ合わせを行って、つなぎ合わせビデオを獲得し、ここで、つなぎ合わせの際に、第1の重複ビデオフレーム領域と第2の重複ビデオフレーム領域とを合成して合成ビデオフレームを獲得することに用いられる。
【0148】
一つの実施形態において、つなぎ合わせビデオ獲得モジュール1010は、第1のつなぎ合わせビデオフレームの第1の特徴点及び第2のつなぎ合わせビデオフレームの第2の特徴点を取得すること、第1の特徴点と第2の特徴点との間の水平距離を特定すること、水平距離に基づいて、第1のつなぎ合わせビデオフレームと第2のつなぎ合わせビデオフレームとの間の水平変換値を特定することに用いられる。
【0149】
一つの実施形態において、つなぎ合わせビデオ獲得モジュール1010は、第1の重複ビデオフレーム領域から、合成する現在ビデオフレームを取得すること、現在ビデオフレームに対応するビデオフレーム現在撮影時間と参照ビデオフレームの参照撮影時間との間の現在時間差を取得すること、現在時間差に基づいて、現在ビデオフレームに対応する現在合成重みを獲得し、ここで、現在時間差と現在合成重みとが正の相関関係にあること、現在合成重みに基づいて、現在ビデオフレームと第2の重複ビデオフレーム領域に対応する位置のビデオフレームとを合成して、現在合成ビデオフレームを獲得することに用いられる。
【0150】
一つの実施形態において、つなぎビデオ獲得モジュール1010は重複ビデオフレーム領域に対応する重複領域の時間長を取得すること、現在時間差と重複領域の時間長との比を計算して、現在合成重みを獲得することに用いられる。
【0151】
一つの実施形態において、第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域獲得モジュール1008は、参照ビデオフレームをそれぞれ第1のビデオにおける各ビデオフレームと比較して、第1のビデオにおける参照ビデオフレームとマッチングするマッチングビデオフレームを獲得すること、マッチングビデオフレームに対応するテールビデオフレーム領域を、第1のビデオに対応する第1の重複ビデオフレーム領域とすること、第2のビデオフレームのうち参照ビデオフレームが位置する参照ビデオフレーム領域を、第2のビデオに対応する第2の重複ビデオフレーム領域とし、ここで、参照ビデオフレームが参照ビデオフレーム領域における先頭ビデオフレームであり、参照ビデオフレーム領域とテールビデオフレーム領域とはビデオフレーム数が一致することに用いられる。
【0152】
一つの実施形態において、第1の重複ビデオフレーム領域及び第2の重複ビデオフレーム領域獲得モジュール1008は、第1のビデオから予め設定されたフレーム数のテールビデオフレームシーケンスを取得し、第1のビデオに対応する第1の重複ビデオフレーム領域とすること、参照ビデオフレームに対応する後方ビデオフレームシーケンスから、テールビデオフレームシーケンスとマッチングするマッチングビデオフレームシーケンスを取得し、マッチングビデオフレームシーケンスを第2のビデオに対応する第2の重複ビデオフレーム領域とすることに用いられる。
【0153】
一つの実施形態において、静止フレームシーケンス獲得モジュール1004は、第1のビデオ又は第2のビデオを平面ビデオに変換すること、平面ビデオに静止フレーム検出を行って、静止フレームシーケンスを獲得することに用いられる。
【0154】
ビデオつなぎ合わせ装置の具体的な限定については、上文でビデオつなぎ合わせ方法についての限定を参照してもよく、ここでは贅言しない。上記ビデオつなぎ合わせ装置における個々のモジュールは、全体的にまたは部分的に、ソフトウェア、ハードウェア、およびそれらの組み合わせによって実現することができる。上記各モジュールは、それぞれがプロセッサに呼び出されて対応する操作を実行するように、ハードウェアとしてコンピュータデバイス内のプロセッサに組み込まれていてもよいし、コンピュータデバイス内のプロセッサから独立していてもよいし、ソフトウェアとしてコンピュータデバイス内のメモリに格納されていてもよい。
【0155】
一つの実施形態において、コンピュータデバイスが提供されており、このコンピュータデバイスは、端末であってもよく、
図11に示すような内部構造図を有しても良い。このコンピュータデバイスは、システムバスを介して接続されたプロセッサと、メモリと、通信インタフェースと、ディスプレイと、入力装置とを含む。そのうち、該コンピュータデバイスのプロセッサは、計算能力および制御能力を提供するために使用される。該コンピュータデバイスのメモリは、不揮発性記憶媒体と、内部メモリとを含む。該不揮発性記憶媒体には、オペレーティングシステムやコンピュータプログラムが記憶されている。該内部メモリは、不揮発性記憶媒体におけるオペレーティングシステムおよびコンピュータプログラムの実行のための環境を提供する。該コンピュータデバイスの通信インタフェースは外部の端末と有線または無線方式の通信を行うために用いられ、無線方式はWIFI、キャリアネットワーク、NFC(近距離無線通信)または他の技術によって実現することができる。該コンピュータプログラムは、プロセッサによって実行されたときに、ビデオつなぎ合わせ方法が実現される。該コンピュータデバイスのディスプレイは液晶ディスプレイ又は電子インクディスプレイであってもよく、該コンピュータデバイスの入力装置はディスプレイ上に覆われたタッチ層であってもよく、コンピュータデバイスの筐体に設けられたキー、トラックボール又はトラックパッドであってもよく、外付けのキーボード、トラックパッド又はマウスなどであってもよい。
【0156】
当業者には理解されるように、
図11に示された構造は、本発明の技術方案に関連する構造の一部のブロック図にすぎず、本発明の技術方案が適用されるコンピュータデバイスを限定するものではなく、具体的なコンピュータデバイスは、図面に示されたものよりも多いかまたは少ない要素を含んだり、ある要素を組み合わせたり、異なる要素配置を有したりしてもよい。
【0157】
一つの実施形態において、また、コンピュータデバイスが提供されており、このコンピュータデバイスはメモリとプロセッサとを備え、メモリにコンピュータプログラムが記憶され、該プロセッサがコンピュータプログラムを実行したときに、上記の方法の実施形態におけるステップが実現される。
【0158】
一つの実施形態において、また、コンピュータ可読記憶媒体が提供されており、このコンピュータ可読記憶媒体にはコンピュータプログラムが記憶され、このコンピュータプログラムがプロセッサによって実行されたときに、上記の方法の実施形態におけるステップが実現される。
【0159】
当業者には理解されるように、上述した実施形態の方法を実現するためのフローの全部または一部は、コンピュータプログラムによって関連するハードウェアに命令することによって達成され得るものであり、上記のコンピュータプログラムは不揮発性のコンピュータ読み取り可能な記憶媒体に記憶されてもよく、このコンピュータプログラムを実行するには、上記のような各方法の実施形態のフローを含むことができる。ここで、本発明による各実施形態におけるメモリ、記憶、データベース、または他の媒体に対するいかなる援用はいずれも、不揮発性および揮発性メモリの少なくとも一方を含むことができる。不揮発性メモリは、読み出し専用メモリ(Read-Only Memory、ROM)、磁気テープ、フロッピーディスク、フラッシュメモリ、または光メモリなどを含むことができる。揮発性メモリは、ランダムアクセスメモリ(Random Access Memory、RAM)または外部キャッシュメモリを含むことができる。限定ではなく例示として、RAMは、例えば、スタティックRAM(Static Random Access Memory、SRAM)、またはダイナミックRAM(Dynamic Random Access Memory、DRAM)などの様々な形態で得られる。
【0160】
以上の実施形態の各技術的特徴は、任意に組み合わせることが可能であるが、説明を簡単にするために、上記実施形態の各技術的特徴の全ての可能な組み合わせについては説明しておらず、しかし、これらの技術的特徴の組み合わせは、矛盾しない限り、本明細書に記載された範囲内であるとみなされるべきである。
【0161】
以上の実施形態は、本発明のいくつかの実施態様を示しているものに過ぎず、それらが比較的に具体的かつ詳細に説明されているが、それによって特許請求の範囲を制限するものとして理解されることはできない。当業者であれば、本出願の概念から逸脱することなくいくつかの変形および改良を行うこともでき、それらのすべてが本出願による保護範囲に含まれることに留意されたい。したがって、本特許出願による保護範囲は、添付の特許請求の範囲に準じるものとするである。
【国際調査報告】