JP2022165815A - 画像処理装置、画像処理方法 - Google Patents
画像処理装置、画像処理方法 Download PDFInfo
- Publication number
- JP2022165815A JP2022165815A JP2021071332A JP2021071332A JP2022165815A JP 2022165815 A JP2022165815 A JP 2022165815A JP 2021071332 A JP2021071332 A JP 2021071332A JP 2021071332 A JP2021071332 A JP 2021071332A JP 2022165815 A JP2022165815 A JP 2022165815A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- blur
- amount
- image
- section
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 76
- 238000003672 processing method Methods 0.000 title claims abstract 4
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000012937 correction Methods 0.000 claims abstract description 24
- 238000004590 computer program Methods 0.000 claims abstract description 6
- 239000013598 vector Substances 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 6
- 230000006641 stabilisation Effects 0.000 description 6
- 238000011105 stabilization Methods 0.000 description 6
- 230000000087 stabilizing effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/62—Control of parameters via user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/215—Motion-based segmentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/63—Control of cameras or camera modules by using electronic viewfinders
- H04N23/631—Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6811—Motion detection based on the image signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/683—Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20201—Motion blur correction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Studio Devices (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
Description
本発明は、動画におけるぶれ量に関する情報を提示する為の技術に関するものである。
動画の画像処理において、防振(手振れ補正)は重要な高画質化要素である。防振処理は、ぶれ検出と画像補正処理からなる。前者は、ジャイロセンサなどからぶれ情報を推定したり、フレーム間の動きからぶれ情報を推定したりする。後者は、ぶれ情報をもとに、レンズやセンサを、撮像される像におけるぶれをキャンセルするように物理的に動作させて、ぶれを抑制したり、一度撮像した画像のぶれをキャンセルするようにデジタル的に幾何補正させたりすることで、補正画像を得る。防振は、カメラ内で撮像時に行われることが多いが、デジタル的な幾何補正はPC(パーソナルコンピュータ)などで記録されたコンテンツを編集・加工する過程での一つの処理として実行されることもある。
近年、8K動画や4K動画といった高解像の動画を撮像できるようになってきた。しかし、編集(エフェクト加工を含む)・再生処理は非常に負荷が高く、リアルタイムに編集し、それを再生することは難しい。現在の技術で、高解像度の動画をリアルタイムに再生する方法には、大きく2つの方法が考えられる。
一つ目の方法は、動画をRAMに記憶し、RAMから読みだして表示する方法である。ただし、これには大量のメモリを必要とし、一般ユーザが利用するPCではメモリが少なく、数秒程度の動画しか記憶できない。
もう一つの方法は、コンテンツを符号化し、再生時には符号化ストリームを読み込みながら専用ハードウェアで復号・表示する方法である。動画を符号化することで、そのデータ量は減っているため、低速なHDD(ハードディスク)上に記録して再度読みだしてもリアルタイム再生に可能な速度で符号化データを読み込むことができる。この方法は、比較的長時間のコンテンツも再生可能となるが、加工時のパラメータを調整したい場合、時間をかけて符号化し復号するという工程を繰り返す必要がある。
ぶれの状態をユーザに提示する方法は、特許文献1に開示されている。特許文献1に開示の発明は、カメラでの撮影時に、撮影の瞬間にぶれが発生していることをユーザに提示するものである。
撮影した動画を編集する場合において、動画のぶれの度合いやぶれ補正後の効果を確認するためには、ユーザはリアルタイムで再生してぶれ量の大きい箇所を目視する必要があった。本発明は、動画においてぶれ量の大きいシーンのフレーム区間をユーザに通知するための技術を提供する。
本発明の一様態は、動画を構成する複数のフレームのうち、ぶれ量が大きいシーンに対応するフレームの該動画における区間を、前記複数のフレームに基づき特定する特定手段と、前記区間を表す情報を出力する出力手段とを備えることを特徴とする。
本発明の構成によれば、動画においてぶれ量の大きいシーンのフレーム区間をユーザに通知することができる。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
[第1の実施形態]
本実施形態では、動画におけるフレームごとのぶれ量を表すグラフに、ぶれ量の大きいシーンのフレーム区間を表す情報を重畳させたグラフ画像を生成して表示させることで、該グラフ画像をユーザに提示する画像処理装置について説明する。
本実施形態では、動画におけるフレームごとのぶれ量を表すグラフに、ぶれ量の大きいシーンのフレーム区間を表す情報を重畳させたグラフ画像を生成して表示させることで、該グラフ画像をユーザに提示する画像処理装置について説明する。
まず、本実施形態に係る画像処理装置のハードウェア構成例について、図1のブロック図を用いて説明する。本実施形態に係る画像処理装置には、PC(パーソナルコンピュータ)、タブレット端末装置、スマートフォン、ディジタルビデオ/スティルカメラ、組み込みシステムなどの、取得した動画について上記の処理を行って上記のグラフ画像をユーザに提示可能な装置が適用可能である。
CPU105は、RAM102に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU105は、画像処理装置全体の動作制御を行うと共に、画像処理装置が行うものとして説明する各種の処理を実行もしくは制御する。なお、図1では、CPU105の数を1としているが、複数であっても良く、その場合は、以下に説明する各処理をマルチスレッドで並列に処理することも可能である。
RAM102は、外部ストレージ107からロードされたコンピュータプログラムやデータを格納するためのエリア、ネットワークI/F108を介して外部から受信したデータを格納するためのエリア、を有する。さらにRAM102は、CPU105やグラフィックプロセッサ103が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM102は、各種のエリアを適宜提供することができる。
グラフィックプロセッサ103は、CPU105による制御の元、ディスプレイ104に表示させる表示情報(動画像、静止画像、文字など)の生成や加工などの画像処理を行い、該画像処理により得られる表示情報をディスプレイ104に表示させる。また、グラフィックプロセッサ103は、符号化された動画である符号化ストリームをリアルタイムで復号可能な構成を有する。
ディスプレイ104は、液晶画面やタッチパネル画面を有する表示装置であり、CPU105やグラフィックプロセッサ103による処理結果を画像や文字などでもって表示する。
ユーザI/F106は、キーボード、マウス、タッチパネル画面などのユーザインターフェースであり、ユーザが操作することで、各種の指示をCPU105に対して入力することができる。なお、ディスプレイ104がタッチパネル画面を有する場合、ユーザが該タッチパネル画面を操作することで入力した各種の情報(タッチ位置、タッピング操作による指示など)もまた、CPU105に入力される。
外部ストレージ107は、ハードディスクドライブ装置やSSD(フラッシュメモリを使用したソリッドステートドライブ)などの不揮発性の大容量情報記憶装置である。外部ストレージ107には、OS(オペレーティングシステム)や、画像処理装置が行うものとして説明する各種の処理をCPU105やグラフィックプロセッサ103に実行もしくは制御させるためのコンピュータプログラムやデータが保存されている。外部ストレージ107に保存されているコンピュータプログラムやデータは、CPU105による制御に従って適宜RAM102にロードされ、CPU105やグラフィックプロセッサ103による処理対象となる。
ネットワークI/F108は、画像処理装置をLANやインターネットなどの有線および/または無線のネットワークに接続するためのネットワークインターフェースである。画像処理装置は、ネットワークI/F108を介してネットワーク上の装置との間のデータ通信を行うことができる。
RAM102、外部ストレージ107、ネットワークI/F108、グラフィックプロセッサ103、CPU105、ユーザI/F106は何れも、共通のバス101に接続されている。
本実施形態に係る画像処理装置は、動画から上記の如く生成したグラフ画像を含むGUI(グラフィカルユーザインターフェース)を生成してディスプレイ104に出力して表示させる。このGUIについて、図2を用いて説明する。なお、図2に示したGUIの構成は一例であり、以下に説明するGUIの機能を実現可能な構成であれば、如何なる構成を採用しても良い。また、以下では、特に説明がない限りは、GUIの表示制御や、GUIに対するユーザ操作に応じて行われる処理は、CPU105によって、もしくはCPU105による制御の元でグラフィックプロセッサ103によって、行われるものとする。図2に示す如く、GUIは、表示領域201、グラフ画像202、ボタン203~205、スライダ207、を含む。なお、スライダ207およびボタン204~205は、本実施形態では使用せず、第2の実施形態以降で使用するため、これらについては、第2の実施形態以降で説明する。
表示領域201は、動画を表示するための表示領域である。グラフィックプロセッサ103は、外部ストレージ107からRAM102にロードした動画や、ネットワークI/F108を介して外部から受信した動画を表示領域201に表示する。表示領域201に表示する動画の取得方法は特定の取得方法に限らない。
ボタン203は、ぶれ量の解析を指示するためのボタンである。ユーザがユーザI/F106を操作してボタン203を指示すると、CPU105による制御の元、グラフィックプロセッサ103は、表示領域201に表示されている動画におけるフレームごとのぶれ量を解析し、該解析の結果であるグラフ画像202を生成してGUI上に表示させる。
ユーザがユーザI/F106を操作してボタン203を指示したことに応じて画像処理装置が行う処理について、図3のフローチャートに従って説明する。ステップS3020では、グラフィックプロセッサ103は、表示領域201に再生中の動画におけるそれぞれのフレームについてぶれ情報を求める。例えば、グラフィックプロセッサ103は、着目フレームのぶれ情報を求める場合、該着目フレームおよび該着目フレームと隣接するフレームを用いて、該着目フレームにおける複数のモーションベクトルを求める。そしてグラフィックプロセッサ103は、該求めた複数のモーションベクトルのそれぞれの水平方向の成分値および垂直方向の成分値を整数化した場合に、水平方向の成分値の最頻値X、垂直方向の成分値の最頻値Yを特定する。そしてグラフィックプロセッサ103は、水平方向の成分値をX,垂直方向の成分値をYとするベクトル(該着目フレーム全体の動きを代表する二次元のモーションベクトル(グローバルモーションベクトル))を「着目フレームのぶれ情報」として求める。
なお、動画における各フレームはRGB画像、YUV画像、モノクロの輝度画像等のどのような色空間の画像であっても良いが、ぶれ情報は輝度画像を用いて求める。よって、動画における各フレームの輝度画像が存在しない場合には、該動画における各フレームの輝度画像を生成し、該生成した各フレームの輝度画像を用いて各フレームのぶれ情報を求める。
なお、動画における各フレームのぶれ情報は、該フレーム全体の動きを表す情報であれば如何なる情報であってもよく、また、その情報の求め方についても、特定の求め方に限らない。例えば、全てフレームについてぶれ情報を求める必要はなく、所定の条件を満たすぶれを有するフレームについてのみ求めてもよい。
ステップS3030では、グラフィックプロセッサ103は、動画におけるそれぞれのフレームについて、該フレームにおけるぶれ量を、該フレームを含むフレーム区間に含まれるそれぞれのフレームのぶれ情報を用いて求める。以下に、動画において先頭からi(iは1以上の整数)番目のフレームfi(フレーム番号がiのフレーム)におけるぶれ量を求めるための方法の一例について説明する。グラフィックプロセッサ103は、以下の式1、式2、式3に従った演算を行うことで、フレームfiにおけるぶれ量siを求める。
ここで、μjはフレームfjのぶれ情報における水平方向の成分値、νjはフレームfjのぶれ情報における垂直方向の成分値、Nはフレームの参照範囲を示す。本実施形態では、フレームの参照範囲を3秒分のフレーム数とする。例えば、動画が60fpsの場合、N=3×60=180となる。
ステップS3040では、グラフィックプロセッサ103は、動画においてぶれ量が大きいシーンのフレーム区間を、該動画におけるそれぞれのフレームのぶれ量に基づいて特定する。
先ずはグラフィックプロセッサ103は、動画におけるそれぞれのフレームのぶれ量のうち最大のぶれ量を、以下の式4に基づいて特定する。
ここで、imaxは、動画における各フレームのうちぶれ量が最大のフレームのフレーム番号である。そしてグラフィックプロセッサ103は、フレーム番号がimaxのフレームを基準フレームとする。そしてグラフィックプロセッサ103は、該基準フレームから動画の先頭フレームに向けて各フレームのぶれ量を参照し、初めてぶれ量が「基準フレームのぶれ量」から半減したフレームを「開始フレームfs」として特定する。同様にグラフィックプロセッサ103は、基準フレームから動画の終端フレームに向けて各フレームのぶれ量を参照し、初めてぶれ量が「基準フレームのぶれ量」から半減したフレームを「終了フレームfe」として特定する。そしてグラフィックプロセッサ103は、開始フレームfsから終了フレームfeまでのフレーム区間を「動画においてぶれ量が大きいシーンのフレーム区間」として特定する。
ステップS3050では、グラフィックプロセッサ103は、動画における各フレームのぶれ量を表すグラフ(ぶれ量グラフ)の画像をぶれ量グラフ化画像として生成する。ぶれ量グラフの横軸はフレーム番号、縦軸はぶれ量であり、グラフィックプロセッサ103は、i=1,2,3,…,(動画における終端フレームのフレーム番号)について座標(i、フレーム番号がiのフレームのぶれ量)に点をプロットし、点間を線分若しくは曲線で結ぶことでぶれ量グラフを生成する。横軸および縦軸の解像度は特定の解像度に限らない。縦軸は、0~(動画における各フレームのぶれ量のうち最大のぶれ量)までの範囲であれば良い。そしてグラフィックプロセッサ103は、このようにして生成したぶれ量グラフの画像をぶれ量グラフ化画像として生成する。
ステップS3060では、グラフィックプロセッサ103は、ぶれ量グラフ化画像に、ステップS3040で特定した「動画においてぶれ量が大きいシーンのフレーム区間」を表す情報を重畳させる。本実施形態では、グラフィックプロセッサ103は、ぶれ量グラフ化画像(ぶれ量グラフ)において、「動画においてぶれ量が大きいシーンのフレーム区間」に対応する区間に半透明の色つきの矩形を重畳することで、該区間がマーキングされたぶれ量グラフ化画像を生成する。図2のグラフ画像202は、このようにして生成されたマーキング済みのぶれ量グラフ化画像の一例であり、グラフ画像202では、「動画においてぶれ量が大きいシーンのフレーム区間」に対応する区間には網がけの矩形が重畳されてている。
ステップS3070では、グラフィックプロセッサ103は、ステップS3060で生成したマーキング済みのぶれ量グラフ化画像をディスプレイ104に表示中のGUI上に表示する。
なお、マーキング済みのぶれ量グラフ化画像は、GUIにおける規定サイズの「マーキング済みのぶれ量グラフ化画像」用の表示領域に収まるように適宜スケーリングして該表示領域内に表示する。例えば、表示領域の水平方向のサイズが1000画素、垂直方向のサイズが100画素であり、動画のフレーム数が10000フレームの場合、ぶれ量グラフ化画像の水平方向のサイズは比較的大きくなる。然るにこの場合は、ぶれ量グラフ化画像を水平方向に縮小してから表示領域内に表示する。通常、このような縮小を行う際には、事前に高周波成分を抑圧しないと折り返し歪が発生してしまう。しかし、ステップS3030の処理は、時系列のぶれ量に対してローパスフィルタをかけたような効果があるため、画像化したグラフ画像の高周波成分を抑圧してからグラフ画像を縮小して表示しても、視覚的に大きな違いはない。
このように、本実施形態では、動画においてぶれ量が大きいシーンのフレーム区間を明示的に表示するので、ユーザは動画における全てのフレームを目視で確認することなく、動画においてぶれ量の大きいシーンのフレーム区間の位置を把握することができる。
なお、ぶれを振幅としてグラフ化してユーザに提示する方法もあるが、本実施形態ではぶれ量を正の成分のみを持つ強度としてグラフ化して表示しているため、ぶれの強さをわかりやすくユーザに伝えることができる。
なお、動画における各フレームのぶれ量を求めるための上記の方法は一例であり、他の方法でもって動画における各フレームのぶれ量を求めても良い。例えば、グラフィックプロセッサ103は、上記の式1、式2、式3の代わりに以下の式5や式6を用いて、L1ノルムの累積やL2ノルムの累積をぶれ量と求めても良い。
式5および式6は、フレームfiにおけるぶれ量siを求めるための式であり、式6では、L2ノルムの合計を正規化し、単位をそろえるために平方根を求めている。
また、本実施形態では、フレームにおけるグローバルモーションベクトルを、該フレームから求めた複数のモーションベクトルの水平方向の成分値および垂直方向の成分値に基づいて求めた。しかし、フレームにおけるグローバルモーションベクトルを求めるためのこの方法は一例であり、他の方法でもって、フレームにおけるグローバルモーションベクトルを求めても良い。例えば、フレームにおける複数のモーションベクトルを入力として、RANSACやM推定などのロバスト推定アルゴリズムを使いて、該複数のモーションベクトルを代表するモーションベクトルを、グローバルモーションベクトルとして求めても良い
また、動画に、該動画の撮像姿勢を示す情報(例えば、動画を撮像した装置が有するジャイロセンサが測定した撮像姿勢を示す情報)が付加されている場合には、該情報が示す姿勢を表すベクトルをグローバルモーションベクトルとしても良い。
また、動画に、該動画の撮像姿勢を示す情報(例えば、動画を撮像した装置が有するジャイロセンサが測定した撮像姿勢を示す情報)が付加されている場合には、該情報が示す姿勢を表すベクトルをグローバルモーションベクトルとしても良い。
また、本実施形態では、ぶれ量をグローバルモーションベクトルに基づいて求めたが、ぶれ量を求めるための上記の方法は一例であり、特定の方法に限らない。例えば、平行移動を表現するベクトルだけでなく、水平方向や垂直方向における角度のズレに基づいてぶれ量を求めても良い。
[第2の実施形態]
本実施形態を含む以下の各実施形態では、第1の実施形態との差分について説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。図2のボタン204は、動画においてぶれ量が大きいシーンの再生を指示するためのボタンである。ユーザがユーザI/F106を操作してボタン204を指示すると、CPU105による制御の元、グラフィックプロセッサ103は、表示領域201に表示されている動画におけるフレームごとのぶれ量を解析し、該動画においてぶれ量が大きいシーンの動画を表示領域201に再生(プレビュー)する。
本実施形態を含む以下の各実施形態では、第1の実施形態との差分について説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。図2のボタン204は、動画においてぶれ量が大きいシーンの再生を指示するためのボタンである。ユーザがユーザI/F106を操作してボタン204を指示すると、CPU105による制御の元、グラフィックプロセッサ103は、表示領域201に表示されている動画におけるフレームごとのぶれ量を解析し、該動画においてぶれ量が大きいシーンの動画を表示領域201に再生(プレビュー)する。
ユーザがユーザI/F106を操作してボタン204を指示したことに応じて画像処理装置が行う処理について、図4のフローチャートに従って説明する。図4のフローチャートにおいて、図3に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
ステップS4050では、グラフィックプロセッサ103は、ステップS3040で特定したフレーム区間における動画を表示領域201で再生させる。なお、ステップS3040で特定したフレーム区間における動画を再生する領域は表示領域201に限らず、例えば、GUIにおける他の領域であっても良いし、GUIとは別個のウィンドウであっても良い。また、グラフィックプロセッサ103は、ステップS3040で特定したフレーム区間における動画を一度だけ再生しても良いし、ユーザからの指示がない限りは繰り返し再生(リピート再生)しても良い。
このように、本実施形態では、動画においてぶれ量が大きいシーンのフレーム区間を再生するので、ユーザは動画における全てのフレームを目視で確認することなく、動画においてぶれ量の大きいシーンにおけるぶれの具合等を動画として確認することができる。
なお、動画においてぶれ量が大きいシーンのフレーム区間を特定した場合に、該フレーム区間を規定するフレーム区間情報(例えば該フレーム区間の開始フレームと終了フレームを示す情報)を外部ストレージ107などに保存するようにしても良い。この場合、この動画については次回からは上記のステップS3020~S3040の処理を行うことなく、この動画について保存しておいたフレーム区間情報を読み出し、該読み出したフレーム区間情報が示すフレーム区間の動画を再生することができる。これは、他の方法でもって該フレーム区間が事前に検出されている場合であっても同様である。
[第3の実施形態]
図2のスライダ207は、ぶれの補正強度(ぶれ補正強度)を指定するためのものである。ユーザがユーザI/F106を操作してスライダ207をより左側に移動させると、より弱いぶれ補正強度が設定され、ユーザがユーザI/F106を操作してスライダ207をより右側に移動させると、より強いぶれ補正強度が設定される。
図2のスライダ207は、ぶれの補正強度(ぶれ補正強度)を指定するためのものである。ユーザがユーザI/F106を操作してスライダ207をより左側に移動させると、より弱いぶれ補正強度が設定され、ユーザがユーザI/F106を操作してスライダ207をより右側に移動させると、より強いぶれ補正強度が設定される。
図2のボタン205は、動画においてぶれ量が大きいシーンのフレーム区間における各フレームについて、該フレームにおけるぶれを補正した防振画像を生成して表示する指示を入力するためのボタンである。ユーザがユーザI/F106を操作してボタン205を指示すると、CPU105による制御の元、グラフィックプロセッサ103は、図5のフローチャートに従った処理を行う。ユーザがユーザI/F106を操作してボタン205を指示したことに応じて画像処理装置が行う処理について、図5のフローチャートに従って説明する。図5のフローチャートにおいて、図3に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
ステップS5050では、グラフィックプロセッサ103は、ユーザがユーザI/F106を操作して移動させたスライダ207の位置に応じて設定されたぶれ補正強度を取得する。本実施形態では、スライダ207の位置に応じて5段階のぶれ補正強度(ぶれ補正強度1(弱)~5(強))が設定されるものとする。然るに、ステップS5050では、グラフィックプロセッサ103は、ユーザがユーザI/F106を操作して移動させたスライダ207の位置に応じて設定されたぶれ補正強度(ぶれ補正強度1(弱)~5(強)の何れか)を取得する。
ステップS5060では、グラフィックプロセッサ103は、ステップS3040で特定したフレーム区間における各フレームについて、該フレームのぶれ情報と、ぶれ補正強度と、を用いて、該フレームにおけるぶれを補正した(該フレームに対して防振処理を施した)防振画像を生成する。
以下に、フレームfiの防振画像を生成するための処理について説明する。先ずはグラフィックプロセッサ103は、以下の式7に従って、ぶれ補正強度ssから最大補正量mを求める。
この式7は、例えば補正強度が5の場合は最大補正量が0.1、つまり、上下にそれぞれ画像の高さの0.1倍、左右に画像の幅の0.1倍を除外する形でクロップし、画像サイズを合わせるために1/(1-0.1×2)倍することになる。
ここで、フレームfiにおける画素位置を(x、y)、該フレームfiの防振画像における画素位置を(x’、y’)とすると、画素位置(x、y)から画素位置(x’、y’)への射影(画像の中心位置を原点とする射影)は以下の式8に従う。
ここで、w、hは予め設定されたパラメータである。よってグラフィックプロセッサ103は、フレームfiにおける各画素位置(x、y)について、該画素位置(x、y)を式8で変換した防振画像上の画素位置(x’、y’)の画素値に、該画素位置(x、y)の画素値を設定する。ここで、
および
はそれぞれ、上記の式1および式2から得られる。その際、Nは1秒分のフレーム数とする。これは、補正したいぶれの周期に関わり、Nを大きくするほど、低周波のぶれを抑制できることになる。なお、防振画像において画素値が設定されていない画素の画素値については、該画素の周囲の画素の画素値を用いた補間処理などでもって求める。
そしてグラフィックプロセッサ103は、ステップS3040で特定したフレーム区間における各フレームについて生成した防振画像を符号化して外部ストレージ107やRAM102などのメモリに格納する。
ステップS5070では、グラフィックプロセッサ103は、ステップS5060で外部ストレージ107やRAM102などのメモリに格納した各フレームの防振画像をリアルタイムで読み出して復号し、該復号した各フレームの防振画像を、ディスプレイ104に表示中のGUIにおける表示領域201に表示させる。なお防振画像は、GUIにおける他の領域に表示させても良いし、GUIとは別個のウィンドウに表示させても良い。
このように、本実施形態では、動画においてぶれ量が大きいシーンのフレーム区間における各フレームの防振画像を生成して再生する。これにより、ユーザは動画における全てのフレームを目視で確認することなく、動画においてぶれ量の大きいシーンのフレーム区間における各フレームに対する防振の質などを確認することができる。
なお、本実施形態では、動画においてぶれ量が大きいシーンのフレーム区間における全てのフレームの防振画像が生成されてから、該フレーム区間におけるそれぞれのフレームの防振画像を順次表示させていた。しかし、フレームの防振画像が生成されると、該防振画像を、該フレームに後続する後続フレームの防振画像の生成を待つことなく表示させるようにしても良い。
また、本実施形態では、防振を二次元ベクトルに基づいて行うものとして説明したが、これに限らず、例えば、ぶれをホモグラフィー行列やアフィン変換などより高次の行列で表現し、その逆補正をかけることで、防振画像を生成してもよい。
また、本実施形態では、ぶれ補正強度から最大補正量を算出し、最大補正量を防振処理のパラメータとして用いたが、他にも例えば、補正の最大周期をユーザに設定させるようにしても良い。
[第4の実施形態]
本実施形態では、グラフィックプロセッサ103は、図6に例示するGUIをディスプレイ104に表示する。図6に示したGUIは、図2に示したGUIからボタン204およびボタン205を省き、且つボタン601を加えた構成を有する。このようなGUIにおける表示領域201にぶれ量グラフ化画像を生成するために画像処理装置が行う処理について、図7のフローチャートに従って説明する。なお、図7に示した処理ステップにおいて、図3の処理ステップと同様の処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
本実施形態では、グラフィックプロセッサ103は、図6に例示するGUIをディスプレイ104に表示する。図6に示したGUIは、図2に示したGUIからボタン204およびボタン205を省き、且つボタン601を加えた構成を有する。このようなGUIにおける表示領域201にぶれ量グラフ化画像を生成するために画像処理装置が行う処理について、図7のフローチャートに従って説明する。なお、図7に示した処理ステップにおいて、図3の処理ステップと同様の処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
ステップS7040では、グラフィックプロセッサ103は、動画においてぶれ量が大きいシーンのフレーム区間を、該動画におけるそれぞれのフレームのぶれ量に基づいて特定する。本実施形態では、グラフィックプロセッサ103は、動画においてぶれ量が閾値以上となるフレームを基準フレームとする。よって、本実施形態では、基準フレームが複数存在する場合がある。そしてグラフィックプロセッサ103は、それぞれの基準フレームについて上記のステップS3040と同様の処理を行うことで、それぞれの基準フレームについて、「動画においてぶれ量が大きいシーンのフレーム区間」を特定する。
ここで、「動画においてぶれ量が大きいシーンのフレーム区間」を複数設定すると、一方の「動画においてぶれ量が大きいシーンのフレーム区間」と他方の「動画においてぶれ量が大きいシーンのフレーム区間」とで重複部分が発生してしまう可能性がある。このような場合、グラフィックプロセッサ103は、一方のフレーム区間と他方のフレーム区間とをマージして1つのフレーム区間を形成する。例えば、一方のフレーム区間の開始フレーム位置および終了フレーム位置がそれぞれfs1、fe1で、他方のフレーム区間の開始フレーム位置および終了フレーム位置がそれぞれfs2、fe2であるとする。ここで、fe1>fs2であるとする。この場合、これらのクレーム区間をマージし、開始フレーム位置をfs1,終了フレーム位置をfe2とするフレーム区間を形成する。
これは、隣り合う3以上のフレーム区間が重複部分を有するケースについても同様で、該3以上のフレーム区間を、該3以上のフレーム区間において最も小さいフレーム開始位置から最も大きいフレーム終了位置までのフレーム区間にマージする。
ステップS7060では、グラフィックプロセッサ103は、ステップS7040で特定した「動画においてぶれ量が大きいシーンのフレーム区間」ごとに、該フレーム区間を表す情報を、ぶれ量グラフ化画像に重畳させる。本実施形態でも、グラフィックプロセッサ103は、ぶれ量グラフ化画像(ぶれ量グラフ)において、「動画においてぶれ量が大きいシーンのフレーム区間」ごとに、該フレーム区間に対応する区間に半透明の色つきの矩形を重畳することで、該区間がマーキングされたぶれ量グラフ化画像を生成する。
ステップS7070では、グラフィックプロセッサ103は、ステップS7060で生成したマーキング済みのぶれ量グラフ化画像をディスプレイ104に表示中のGUI上に表示する。
ステップS7080では、グラフィックプロセッサ103は、上記のステップS5050と同様にして、ぶれ補正強度を取得する。
ステップS7090では、グラフィックプロセッサ103は、ぶれ量グラフ化画像においてマーキングされているフレーム区間のうち、ユーザがユーザI/F106を操作して選択した選択フレーム区間(選択区間、選択シーン)を示す選択シーン情報を取得する。選択シーン情報は、選択フレーム区間の開始フレーム位置および終了フレーム位置を示すものとする。
ステップS7100では、グラフィックプロセッサ103は、選択シーン情報が示すフレーム区間(選択フレーム区間)における各フレームについて、上記のステップS5060と同様にして、ステップS7080で取得したぶれ補正強度を用いて、該フレームにおけるぶれを補正した(該フレームに対して防振処理を施した)防振画像を生成する。そしてグラフィックプロセッサ103は、選択フレーム区間における各フレームについて生成した防振画像を符号化して外部ストレージ107やRAM102などのメモリに格納する。
ステップS7110では、グラフィックプロセッサ103は、ステップS7100で外部ストレージ107やRAM102などのメモリに格納した各フレームの防振画像をリアルタイムで読み出して復号し、該復号した各フレームの防振画像を、ディスプレイ104に表示中のGUIにおける表示領域201に表示させる。
このように、本実施形態では、ユーザは、動画においてぶれ量が大きいシーンのフレーム区間として複数のフレーム区間を確認することができる。そして、ユーザは動画における全てのフレームを目視で確認することなく、ユーザが選択したフレーム区間について、各フレームに対する防振の質などを確認することができる。
上記の各実施形態では、動画においてぶれ量が大きいシーンのフレーム区間をユーザに通知するための方法として、該フレーム区間に半透明の色つきの矩形を重畳する方法を採用したが、他の方法でもって該フレーム区間をユーザに通知するようにしても良い。例えば、動画においてぶれ量が大きいシーンの開始フレーム位置に対応するぶれ量グラフ化画像上の位置および終了フレーム位置に対応するぶれ量グラフ化画像上の位置にマーカを表示しても良い。また例えば、ぶれ量グラフ化画像の表示領域とは別の表示領域に開始フレーム位置および終了フレーム位置を表示しても良い。このように、動画におけるフレームごとのぶれ量を表すグラフと、動画においてぶれ量が大きいシーンのフレーム区間を表す情報と、を表示させるのであれば、その表示方法は特定の表示方法に限らない。
また、上記の各実施形態では、一部のデータについては符号化せず、一部のデータを符号化するようにしたが、どのデータを符号化し、どのデータを符号化しないのかについては特定の形態に限らない。
また、上記の各実施形態では、動画におけるフレームごとのぶれ量を表す情報の一例としてぶれ量グラフを表示していた。しかし、動画におけるフレームごとのぶれ量を表す情報は、このようなグラフに限らない。例えば、動画におけるフレームごとのぶれ量を数値(テキスト)やアイコン(画像)でもって表示しても良いし、動画におけるフレームごとのぶれ量を棒グラフとして表示しても良い。
また、上記の各実施形態で使用した数値、処理タイミング、処理順、処理の主体、データ(情報)の構成/送信先/送信元/格納場所、GUIの構成やその操作方法などは、具体的な説明を行うために一例として挙げたもので、このような一例に限定することを意図したものではない。
また、以上説明した各実施形態の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態の一部若しくは全部を選択的に使用しても構わない。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
101:バス 102:RAM 103:グラフィックプロセッサ 104:ディスプレイ 105:CPU 106:ユーザI/F 107:外部ストレージ 108:ネットワークI/F
Claims (12)
- 動画を構成する複数のフレームのうち、ぶれ量が大きいシーンに対応するフレームの該動画における区間を、前記複数のフレームに基づき特定する特定手段と、
前記区間を表す情報を出力する出力手段と
を備えることを特徴とする画像処理装置。 - 動画におけるフレームごとのぶれ量を取得する取得手段を有し、
前記取得手段は、前記動画におけるフレームごとにグローバルモーションベクトルを求め、前記動画におけるフレームごとに、該フレームのぶれ量を、該フレームを含む区間に含まれるそれぞれのフレームのグローバルモーションベクトルに基づいて取得することを特徴とする請求項1に記載の画像処理装置。 - 前記特定手段は、前記動画におけるフレームのうち最大のぶれ量のフレームを基準フレームとし、該基準フレームより前のフレームにおいてぶれ量が該最大のぶれ量から半減するフレームを開始フレームとし、該基準フレームより後のフレームにおいてぶれ量が該最大のぶれ量から半減するフレームを終了フレームとし、該開始フレームから該終了フレームまでの区間を、ぶれ量が大きいシーンに対応するフレームの前記動画における区間として特定することを特徴とする請求項1に記載の画像処理装置。
- 前記出力手段は、ユーザからの指示に応じて、前記区間における動画を表示させることを特徴とする請求項1ないし3の何れか1項に記載の画像処理装置。
- 前記出力手段は、ユーザからの指示に応じて、前記区間におけるそれぞれのフレームにおけるぶれを補正した防振画像を生成して表示させることを特徴とする請求項1ないし4の何れか1項に記載の画像処理装置。
- 前記出力手段は、ユーザからの指示に応じて、前記補正の強度を設定することを特徴とする請求項5に記載の画像処理装置。
- 前記特定手段は、前記動画におけるフレームのうち閾値以上のぶれ量のフレームを基準フレームとし、該基準フレームごとに、該基準フレームより前のフレームにおいてぶれ量が該基準フレームのぶれ量から半減するフレームを開始フレームとし、該基準フレームより後のフレームにおいてぶれ量が該基準フレームのぶれ量から半減するフレームを終了フレームとし、該開始フレームから該終了フレームまでの区間を、ぶれ量が大きいシーンに対応するフレームの該動画における区間として特定することを特徴とする請求項1または2に記載の画像処理装置。
- 前記出力手段は、前記特定手段が特定した区間のうちユーザからの指示に応じて選択された区間を選択区間とし、ユーザからの指示に応じて、該選択区間におけるそれぞれのフレームにおけるぶれを補正した防振画像を生成して表示させることを特徴とする請求項7に記載の画像処理装置。
- 前記出力手段は、前記動画における各フレームのぶれ量を表すグラフを生成し、該グラフと、前記区間を表す情報と、を表示させることを特徴とする請求項1ないし8の何れか1項に記載の画像処理装置。
- 前記出力手段は、前記グラフにおける前記区間をマーキングして表示させることを特徴とする請求項9に記載の画像処理装置。
- 画像処理装置が行う画像処理方法であって、
前記画像処理装置の特定手段が、動画を構成する複数のフレームのうち、ぶれ量が大きいシーンに対応するフレームの該動画における区間を、前記複数のフレームに基づき特定する特定工程と、
前記画像処理装置の出力手段が、前記区間を表す情報を出力する出力工程と
を備えることを特徴とする画像処理方法。 - コンピュータを、請求項1ないし10の何れか1項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021071332A JP2022165815A (ja) | 2021-04-20 | 2021-04-20 | 画像処理装置、画像処理方法 |
US17/719,706 US11838631B2 (en) | 2021-04-20 | 2022-04-13 | Image processing device, image processing method, non-transitory computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021071332A JP2022165815A (ja) | 2021-04-20 | 2021-04-20 | 画像処理装置、画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022165815A true JP2022165815A (ja) | 2022-11-01 |
Family
ID=83601809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021071332A Pending JP2022165815A (ja) | 2021-04-20 | 2021-04-20 | 画像処理装置、画像処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11838631B2 (ja) |
JP (1) | JP2022165815A (ja) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03277078A (ja) | 1990-03-27 | 1991-12-09 | Sanyo Electric Co Ltd | 手ブレ防止指標表示装置 |
JP2005283965A (ja) * | 2004-03-30 | 2005-10-13 | Pentax Corp | ブレ量表示装置 |
JP6261187B2 (ja) | 2013-05-21 | 2018-01-17 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
JP6261199B2 (ja) | 2013-06-21 | 2018-01-17 | キヤノン株式会社 | 情報処理装置、情報処理方法、及び、コンピュータプログラム |
US10818018B2 (en) | 2016-11-24 | 2020-10-27 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and non-transitory computer-readable storage medium |
JP6823469B2 (ja) * | 2017-01-20 | 2021-02-03 | キヤノン株式会社 | 像ブレ補正装置及びその制御方法、撮像装置、プログラム、記憶媒体 |
KR102545667B1 (ko) * | 2018-10-30 | 2023-06-21 | 삼성전자주식회사 | 인공 신경망을 이용한 이미지 처리 방법 및 이를 지원하는 전자 장치 |
JP2020096301A (ja) * | 2018-12-13 | 2020-06-18 | オリンパス株式会社 | 撮像装置 |
-
2021
- 2021-04-20 JP JP2021071332A patent/JP2022165815A/ja active Pending
-
2022
- 2022-04-13 US US17/719,706 patent/US11838631B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20220337752A1 (en) | 2022-10-20 |
US11838631B2 (en) | 2023-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4345940B2 (ja) | 手ぶれ画像補正方法、記録媒体及び撮像装置 | |
JP4958610B2 (ja) | 画像防振装置、撮像装置及び画像防振方法 | |
JP4930297B2 (ja) | 撮像装置 | |
JP4262014B2 (ja) | 画像撮影装置および画像処理方法 | |
JP2004310585A (ja) | 画像処理装置、方法、プログラム及び記憶媒体 | |
JP2005123667A (ja) | 複数の画像データからの静止画像データの生成 | |
JP2016178608A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2020028096A (ja) | 画像処理装置、画像処理装置の制御方法及びプログラム | |
JP4283303B2 (ja) | 画像表示制御装置、画像表示制御プログラム及び画像表示制御方法 | |
JPWO2010116400A1 (ja) | 被写体動き検出装置および方法 | |
KR100972764B1 (ko) | 이미지 처리 장치, 이미지 처리 방법 및 이미지 처리 프로그램을 포함하는 기록 매체 | |
JP2022165815A (ja) | 画像処理装置、画像処理方法 | |
JP5042251B2 (ja) | 画像処理装置および画像処理方法 | |
JP2020187529A (ja) | 画像処理装置、画像処理システム、制御方法、および、プログラム | |
JP2009076984A (ja) | 画像処理装置、画像処理方法、プログラム、及び記録媒体 | |
JP4266736B2 (ja) | 画像処理方法および装置 | |
JP5662088B2 (ja) | 遠隔目視検査装置 | |
JP4262013B2 (ja) | 画像処理方法および画像生成装置 | |
JP4676385B2 (ja) | 画像合成方法及び画像合成装置並びに画像合成プログラム | |
KR102497593B1 (ko) | 정보 처리장치, 정보 처리방법 및 기억매체 | |
JP4266737B2 (ja) | 画像処理方法および装置 | |
JP2009284411A (ja) | 撮像装置 | |
JP5230558B2 (ja) | 資料提示装置 | |
JP4714062B2 (ja) | 高解像度画像を生成する画像拡大装置、その画像拡大方法及びその画像拡大プログラムを記録した記録媒体 | |
JP7161865B2 (ja) | 映像解析装置及びそのプログラム |