JP2022069409A - カメラの動きに基づいて代用画像フレームを生成すること - Google Patents

カメラの動きに基づいて代用画像フレームを生成すること Download PDF

Info

Publication number
JP2022069409A
JP2022069409A JP2021169992A JP2021169992A JP2022069409A JP 2022069409 A JP2022069409 A JP 2022069409A JP 2021169992 A JP2021169992 A JP 2021169992A JP 2021169992 A JP2021169992 A JP 2021169992A JP 2022069409 A JP2022069409 A JP 2022069409A
Authority
JP
Japan
Prior art keywords
image frame
image
stream
substitute
camera
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
Application number
JP2021169992A
Other languages
English (en)
Inventor
ヴィクトル エドパルム,
Edpalm Viktor
ソン ユアン,
Song Yuan
ラファエロ テラー,
Raphael Teller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Axis AB
Original Assignee
Axis AB
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Axis AB filed Critical Axis AB
Publication of JP2022069409A publication Critical patent/JP2022069409A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6812Motion detection based on additional sensors, e.g. acceleration sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/69Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/695Control of camera direction for changing a field of view, e.g. pan, tilt or based on tracking of objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/0137Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes dependent on presence/absence of motion, e.g. of motion zones

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Studio Devices (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】カメラシステムによって取り込まれる画像フレームのストリームを処理する方法及びコンピュータプログラム製品を提供する。【解決手段】方法は、画像フレームのストリームからの画像フレームがドロップされるときに、現在のカメラ動作を決定し、ドロップした画像フレームについての代用画像フレームを生成する。代用画像フレームは、以前の画像フレームに対する参照及び決定した現在のカメラ動作に基づいてのみ推定される1つ又は複数の動きベクトルを含む。方法はさらに、画像フレームのストリーム内の残りの画像フレームをエンコードし、代用画像フレームを、ドロップした画像フレームの場所で、エンコードされた画像フレームのストリームに挿入する。【選択図】図3

Description

本発明は、画像データの処理に関し、より具体的には、カメラシステムによって取り込まれる画像フレームのストリームを処理することに関する。
パンチルトズーム(PTZ:Pan、Tilt、Zoom)カメラは、多くの最新の監視システムの必須部分である。これらのカメラは、PTZ動作を実施するときに、特に、プライバシーマスク等の何か他のものと共に分析アプリケーションを実行するときにしばしば、重いCPU負荷下にあり、また同時に、瞬時ビットレートも高い。これは、カメラによって取り込まれる一連の画像フレーム内の1つまたは複数の画像フレームがカメラ内のどこかでドロップする可能性を強める。
現今の最もよく制御されたドロップは、リピート画像フレームを生成し、リピート画像フレームに対する一部の処理を停止することであるが、ほとんどのアプリケーションは、画像フレームを依然として処理することになり、したがって、CPU負荷を高く維持する。PTZ動作中に画像フレームを反復することは、取り込まれるビデオがディスプレイ上で観察されるときに、PTZ動作の明らかな乱れを生じる。画像フレームを反復することはまた、PTZコントローラーにレイテンシーを付加する。そのため、画像フレームのストリームからドロップする画像フレームを扱うためのよりよい機構についての必要性が存在する。
米国特許第5,973,733号は、ビデオカメラによって作られるシーンのビデオ記録を安定化させるためのシステムを記載する。ビデオ記録はビデオおよびオーディオデータを含む。システムは、ソースビデオデータを順次フレームとして記憶するためのソースフレーム記憶部を含む。システムはまた、記録中に起こるカメラ動作を検出するために画像内の動きベクトルを分析する動き推定アルゴリズムを実行し、カメラ動作を補償するためにビデオデータを修正するためのプロセッサを含む。さらに、システムは、修正されたビデオデータを複数の順次フレームとして記憶するための行先フレーム記憶部を含む。
米国特許出願公開第2016/269639号は、ビデオ映像(video footage)の見かけの安定性を改善するためにビデオを編集する方法を記載する。この方法において、ビデオ画像の見かけの安定性は、個々のビデオ内で取り込まれる画像の周りに境界を付加し、2つの連続フレーム間で計算される運動ベクトルの負数に応じて連続ビデオフレームの相対位置を調整することによって改善される。
欧州特許第1 377 036号は、ビデオを自動的に強調するための自動ビデオ強調システムおよび方法を記載する。自動化ビデオ強調方法は、フレーム間動き推定をビデオ強調の基礎として使用する。動き推定は、大域的動き(カメラの動き等)の計算および局所的動き(ピクセルの動き等)の計算を含む。自動化ビデオ強調方法は、大域的アライメント変換(global alignment transform)を生成すること、オプティカルフローベクトル(optic flow vector)を生成すること、および、ビデオを強調するためにこれらの大域的アライメント変換およびオプティカルフローベクトルを使用することを含む。本発明はまた、フレーム間動き推定を使用するビデオ処理および強調技法を含む。これらの技法は、インターレース解除プロセス、ノイズ除去プロセス、および、安定化の弱化とロック(damped and locked stabilization)の両方を実施するワープ安定化プロセスを含む。
第1の態様によれば、本発明は、カメラ動作中に取り込まれる画像フレームのストリームを処理するための、カメラシステム内で実施される方法に関する。方法は、
・画像フレームのストリームからの画像フレームが、割り当てられた期間内に画像フレームに対する全ての操作を終了することができないためにドロップされるときに、現在のカメラ動作を決定すること、
・ドロップした画像フレームについて代用画像フレームを生成することであって、代用画像フレームは、以前の画像フレームに対する参照を含み、また、決定された現在のカメラ動作に基づいてのみ推定される1つまたは複数の動きベクトルを含む、生成すること、および、
・画像フレームのストリーム内の残りの画像フレームをエンコードし、代用画像フレームを、ドロップした画像フレームの場所で、エンコードされた画像フレームのストリームに挿入すること
を含む。
代用画像フレームを生成するために使用される現在のカメラ動作は、最後にエンコードされたフレーム以来、すなわち、最後にエンコードされた画像フレームの開始位置からドロップした画像フレームの終了位置まで、カメラシステムがどのように動いたか、そして特に、カメラシステムの画像取り込み部分がどのように動いたか、そしておそらくは同様に、開始位置と終了位置との間の軌跡を記述する。現在のカメラ動作を知ることは、1つまたは複数の動きベクトルを決定し、ドロップした画像フレームのコンテンツを近似する代用画像フレームをこれらの動きベクトルから生成することを可能にする。代用画像フレームは、その後、ドロップした画像フレームの場所で挿入される。結果として、ビデオは、「ライブであり(alive)」かつ応答性の高いままであることができ、カメラシステムにかかる負荷を同様に低減しながら、レイテンシーを低くかつビデオをスムーズに維持し、それにより、さらなる画像フレームドロップのリスクを低減する。さらに、この方法は、予防的に行われる意図的画像フレームドロップと、カメラが高過ぎる計算負荷を有することの結果である非意図的画像フレームドロップの両方に適用することができる。この方法を使用するさらなる利益は、ビットレートの低減である。なぜならば、画像間の変化が少なく、代用画像フレームを生成し画像フレームのストリーム内に挿入することが、計算リソースの観点から非常に安価である-しばしば、同じ画像フレームを再エンコードすることより安価であるからである。
一実施形態によれば、現在のカメラ動作は、カメラシステム内のジャイロスコープおよびモーターの一方または両方からの読み値に基づいて決定される。ジャイロスコープおよびカメラの読み値は、カメラシステム内のキャッシュで絶えずログをとられ、したがって、動きベクトル計算のために容易に得ることができる。さらに、読み値は、典型的には、高い粒度を有する、すなわち、1画像フレームについて少なくとも1つの読み値、時として、それよりずっと多い読み値が存在し、画像フレーム全体または画像フレームの一部についての動きベクトルのためにデータを得ることを容易にする。
一実施形態によれば、現在のカメラ動作は、ジャイロスコープおよびモーターの現在の読み値を、以前の画像フレームについての対応するジャイロスコープおよびモーターの読み値と比較することによって決定される。以前の画像フレームが記録された時間を知ることによって、対応するジャイロスコープおよび/またはモーターの読み値を、取り出し、現在の読み値と比較することができ、それが、現在のカメラ動作を与える。これは、代用画像フレームについて動きベクトルを計算する迅速(quick)かつ計算効率的な方法を提供する。
一実施形態によれば、以前の画像フレームは、最新の以前の画像フレームである。最新の以前の画像フレームに対応するジャイロスコープおよびモーター位置を使用することは、「最も新鮮の(freshest)」カメラ動きデータを使用するため、動きベクトル計算の正確度を改善する。
一実施形態によれば、1つまたは複数の動きベクトルは、代用画像フレーム全体について単一の大域動きベクトルを含む。画像フレーム全体について単一の動きベクトルを有することは、非常の低コストの動きベクトル計算をもたらし、それは、低い計算パワーを有するかまたは帯域幅が制限されるカメラシステムまたは他のタイプの撮像システムにおいて特に望ましい場合がある。
一実施形態によれば、動きベクトルは複数の動きベクトルを含み、複数の動きベクトルのそれぞれは、代用画像フレームに含まれるピクセルのブロックの動きを示す。カメラの動き、例えば、カメラシステムの画像取り込み部分の動きは、画像フレームの異なる部分にいろいろな方法で影響を及ぼす場合がある、例えば、PTZ動作において、角ブロックは、画像フレームの中心のブロックと異なるように動く場合がある。この現象を補償するために、代用画像フレームが生成されると、代用画像フレームによって参照される画像フレームに含まれるピクセルの異なるブロックについて異なる動きベクトルを計算して、オペレータにとってスムーズな観察およびカメラ制御体験を生成し、画像フレームがドロップしなかったという「感覚(sense)」を提供することが好ましい場合がある。しかしながら、これはまた、単一の大域動きベクトルが代用画像フレーム全体について計算されるときと比較してより多くの計算リソースを必要とする。
一実施形態によれば、複数の動きベクトルは、代用画像フレーム内に含まれる1つまたは複数の対象となる部分の動きを示す。以前の画像フレームとドロップした画像フレームとの間の変化が全くないかまたは非常に小さい状況が存在する場合がある。例えば、画像フレーム内で描写されるシーンの大部分は、壁、青い空、または同様な環境であって、もしあったとしてもそれほど変化しない、同様な環境を示す場合があり、ユーザーにとって対象となる画像フレームのわずかな部分が存在するだけである場合がある。そのようなシナリオにおいて、静止部分について動きベクトルを計算するポイントがほとんどまたは全く存在しないことになり、代わりに、計算リソースは、画像の対象となる部分について動きベクトルを計算するだけであることによって節約することができる。「対象となる(interesting)」と考えられるもの、および、この部分がどれほど大きいかを、手近な特定のセットアップに応じて、個別的に決定することができる。
一実施形態によれば、方法は、1つまたは複数の後続の画像フレームについてデータを調整することであって、それにより、代用画像フレームは、1つまたは複数の後続の画像フレームによって参照画像フレームとして使用されない、調整することをさらに含む。代用画像フレームは、作られた画像フレームであるため、画像データを処理するときに、後続の画像フレームが代用画像フレームを参照しないことが重要である。したがって、後続の画像フレーム内の参照データは、代用画像フレームに先立って画像フレームを指すように調整される。
一実施形態によれば、代用画像フレームは、前方予測画像フレーム(Pフレーム)および双方向予測画像フレーム(Bフレーム)のうちの1つである。PフレームおよびBフレームは、それぞれ、ビデオ処理において広く使用される従来の画像フレームタイプである。これらのタイプの画像フレームを使用することは、本発明と既存のシステムおよび標準との容易な統合を可能にする。
一実施形態によれば、カメラシステムは、パンチルトズーム(PTZ)カメラおよび身体装着式カメラ(BWC)の一方である。これらは、種々のタイプの監視設定において使用される2つの一般的なタイプのカメラシステムである。これらの状況において本発明を使用することは本発明の多用途性を増加させる。
一実施形態によれば、画像フレームのストリームは画像フレームのライブビューストリームであり、方法は、画像フレームの記録ストリームを同時に取り込むことをさらに含み、画像フレームの記録ストリームは代用画像フレームを含まない。すなわち、画像フレームのライブストリームは代用画像フレームを含むことができ、それは、画像フレームのストリームを観察するユーザーに対して楽しい体験を生成する。同時に、画像フレームのドロップが許容され、代用画像フレームが生成されない画像フレームの第2のストリームを記録することができ、画像フレームのこの第2のストリームは、ライブのスムーズなビューを有することがそれほど重要でないときに、後続の記憶またはフォレンジック(forensic)のために使用することができる。
一実施形態によれば、代用画像フレームは、事前計算された動きベクトルを含むエンコード済み画像フレームである。代用画像フレームについて動きベクトルを計算することに対する代替法として、「事前計算された(pre-calculated)」代用画像フレームが存在する場合があり、それにより、画像フレームがドロップされるときに動きベクトルを計算する代わりに、事前計算済み動きベクトルを有するエンコード済み画像フレームを、決定されたカメラ動作に基づいてライブラリーから単に取り出すことができる。これは、カメラの計算負荷をさらに著しく低減することができ、より低い計算パワーを有する状況において特に有用であるとすることができる。
一実施形態によれば、画像フレームは、画像フレームの非意図的ドロップのリスクを低減するために、先を見越してドロップされる。上記で述べたように、時として、画像フレームの偶然のドロッピングを防止するために、故意に画像フレームをドロップさせることが有益である場合がある。本発明による方法は、画像フレームのそのような先を見越したドロッピングを可能にし、それにより、本発明の多用途性を増加させ、計算過負荷の結果として画像フレームのドロッピングが起こるときと比較して、画像フレームのより制御されたドロッピングを可能にする。
第2態様によれば、本発明はカメラシステムに関する。カメラシステムは、画像取り込み部分、画像処理パイプライン、およびエンコーダーを含む。画像取り込み部分は、カメラ動作中に画像フレームのストリームを取り込むように構成される。画像処理パイプラインは、
・画像フレームのストリームからの画像フレームが、割り当てられた期間内に画像フレームに対する全ての操作を終了することができないために、ドロップされるときに、現在のカメラ動作を決定するように構成され、
・ドロップした画像フレームについて代用画像フレームを生成するように構成され、代用画像フレームは、以前の画像フレームに対する参照を含み、また、決定された現在のカメラ動作に基づいてのみ推定される1つまたは複数の動きベクトルを含む。
エンコーダーは、画像フレームのストリーム内の残りの画像フレームをエンコードし、代用画像フレームを、ドロップした画像フレームの場所で、エンコードされた画像フレームのストリームに挿入するように構成される。
システムの利点は、方法の利点に対応し、また、同様に変動する場合がある。
第3の態様によれば、本発明は、カメラ動作中にカメラシステムによって取り込まれる画像フレームのストリームを処理するためのコンピュータプログラムに関する。コンピュータプログラム製品は、プログラム命令を実装したコンピュータ可読記憶媒体を備え、コンピュータ可読記憶媒体は過渡信号自体ではない。プログラム命令は、方法を実施するためにプロセッサによって実行可能であり、方法は、
・画像フレームのストリームからの画像フレームが、割り当てられた期間内に画像フレームに対する全ての操作を終了することができないためにドロップされるときに、現在のカメラ動作を決定すること、
・ドロップした画像フレームについて代用画像フレームを生成することであって、代用画像フレームは、決定された現在のカメラ動作に基づいてのみ推定される1つまたは複数の動きベクトルを含む、生成すること、および、
・画像フレームのストリーム内の残りの画像フレームをエンコードし、代用画像フレームを、ドロップした画像フレームの場所で、エンコードされた画像フレームのストリームに挿入すること
を含む。
コンピュータプログラムは、方法の利点に対応する利点を含み、また、同様に変動する場合がある。
本発明の1つまたは複数の実施形態の詳細は、添付図面および以下の説明において述べられる。本発明の他の特徴および利点は、説明および図面から、また、請求項から明らかになる。
本発明の種々の方法およびシステムをそこで適用することができる一実施形態による、例示的な環境100を示す概略ダイアグラムである。 一実施形態による、図1に示すカメラシステム108の詳細ビューを示すブロックダイアグラムである。 一実施形態による、画像フレームのストリームを処理するための方法を示すフローチャートである。
種々の図面の同様の参照符号は同様の要素を示す。
概要
上記で説明したように、本発明の種々の実施形態に関する1つの目標は、画像フレームのストリームからドロップする1つまたは複数の画像フレームを扱うための改良型技法を提供することである。これらの技法は、種々の状況で適用することができる。より一般的な例のうちの2つは、パンチルトズーム(PTZ)カメラおよび身体装着式カメラ(BWC)を含むが、さらに、固定カメラシステムであって、種々の理由で、例えば、揺れを受ける場合に、画像フレームドロップを経験する、固定カメラシステムが存在する場合がある。本発明は、例としてまたPTZカメラおよびPTZ動作を参照して本明細書で説明されることになる。なぜならば、これらが、理解するのが容易な概念であるからである。しかしながら、同じ原理をBWCまたは他のタイプのカメラシステムに適用することができること、および、本明細書で提示される例が特定のタイプのカメラまたは撮像システムに限定されるものと解釈されるべきでないことが認識されるべきである。
画像フレームが、PTZ動作、すなわち、画像織り込み部分のPTZ動作中にドロップすると、推定動作がログをとられ、代用画像フレームが、ドロップした画像フレームについて生成される。代用画像フレームは1つまたは複数の動きベクトルを含み、1つまたは複数の動きベクトルは、以前の画像フレームを参照して推定されかつ推定されるPTZ動作に基づくだけである。PTZ動作は、例えば、画像取り込み部分のPTZ動作を記録するカメラジャイロからの読み値から、または、画像取り込み部分のPTZ動作を制御するモーターからのデータから推定することができる。代用画像フレームは、典型的には、以前の画像フレームを参照するPフレームとしてエンコードされる。画像フレームのストリーム内の残りの画像フレームは、エンコードされ、代用画像フレームは、ドロップした画像フレームの場所で、エンコードされた画像フレームのストリーム内に挿入される。これは、ビデオが、依然として「ライブであり」かつ応答性の高いことを可能にし、カメラシステムにかかる負荷を同様に低減しながら、レイテンシーを低くかつビデオをスムーズに維持し、それにより、さらなる画像フレームドロップのリスクを低減する。本発明の種々の実施形態は、ここで、例としてまた図面を参照して説明される。
図1は、本発明の種々の実施形態をそこで実装することができる例示的な環境100の概略ダイアグラムを示す。図1に見ることができるように、人104および木106を有するシーン102がカメラシステム108によって取り込まれる。この説明の可読性を促進するために、カメラシステム108は、時として、本明細書で単に「カメラ(camera)」と呼ばれることになるが、やはり、PTZカメラ、固定カメラ、身体装着式カメラ(BWC)等のような多くのタイプのカメラシステム108が特許請求の範囲内に入ることが留意されるべきである。シーン102のこの説明が例証のための単純過ぎるビューに過ぎないことがさらに留意されるべきである。シーン102を、より一般的な意味で任意の3次元物理空間として説明することができ、そのサイズおよび形状は、シーンを記録するカメラの視野によって規定される。
図2により詳細に示すカメラシステム108は、レンズ110および画像センサ112を備える画像取り込み部分109を有する。レンズ110は、シーン102を取り込み、それを画像センサ112上に投影する。画像センサ112は、ビデオストリームを共に形成する一連の画像を取り込む。カメラシステム108は、画像処理パイプライン202およびエンコーダー204をさらに備え、両者は、以下でさらに詳細に説明される。画像処理パイプライン202およびエンコーダー204を、カメラシステム108の画像処理およびエンコーディング部分205内に含むことができる。幾つかの実施形態において、画像処理およびエンコーディング部分205は、画像取り込み部分109と同一の場所に配置することができる。幾つかの代替の実施形態において、画像処理およびエンコーディング部分205は、画像取り込み部分109から分離されるが、画像取り込み部分109と有線または無線通信状態で配置することができる。画像取り込み部分109および画像処理およびエンコーディング部分205は、画像取り込み部分109によって取り込まれる画像が画像処理およびエンコーディング部分205によって処理されエンコードされるように、例えば単一ユニットでまたは2つの別個のユニットで配置することができる。そのため、カメラシステム108が図2において単一ユニットとして示される場合でも、カメラシステム108の所定の部分を、別個のユニットに配置する、おそらくは、互いから或る距離に配置することができることが理解されるべきである。画像処理パイプライン202は、画像センサ112から信号を採取し、画像データをエンコーダー204に送信する前に種々のタイプの画像処理操作を実施し、エンコーダー204は、ビデオストリームを、ネットワークを通じてユーザーに送信するのに適するフォーマットにエンコードする。図1において、エンコード済みビデオは、無線リンク116を通じて、有線ネットワーク118に、最終的には、ネットワーク118に接続されるクライアント120に無線送信されるが、もちろん、使用することができる無線および有線送信モデルの多くの組み合わせが存在する。図2に示すカメラシステム108はまた、カメラシステム108を移動させる、すなわち特に、画像取り込み部分109を移動させるために使用される1つまたは複数のモーター206、および、カメラシステム108の位置、すなわち、画像取り込み部分109の位置を決定するために使用される1つまたは複数のジャイロスコープ208を含む。1つまたは複数のモーター206および/または1つまたは複数のジャイロスコープ208を、画像取り込み部分109の運動を制御し決定するために、画像取り込み部分109内に含むかまたは画像取り込み部分109に配置することができる。上記で述べたように、この運動は、本開示において、カメラ動作と呼ばれる。
クライアント120は、カメラからの画像ビデオストリームをユーザーが観察することができるディスプレイスクリーンを有する。典型的には、クライアント120はまた、例えば、ユーザーがクライアント120においてPTZ制御コマンドを発することによって、カメラ108を制御するために使用される。例えば、ユーザーは、シーン102の特定の詳細にズームインするように、または、人104が木106から離れ始める場合に人104を追跡するように、カメラに指令することができる。カメラを制御するとき、レイテンシーができる限り低い、すなわち、ユーザーの制御コマンドに対してできる限り「応答性の高い」カメラをユーザーが経験することが重要である。
しかしながら、上記で説明したように、カメラ動作中に、カメラは、しばしば、幾つかの要因によって高い計算負荷を経験する。上記で説明したように、PTZカメラは、PTZ動作を実施するときに、特に、プライバシーマスク等の何か他のものと共に分析アプリケーションを実行するときにしばしば、重いCPU負荷下にあり、また同時に、瞬時ビットレートも高い。カメラにかかる計算負荷は、割り当てられた期間内に画像フレームに対して、カメラが、必要とされる全ての操作を終了することができないときに高い。割り当てられた期間内に画像フレームに対する全ての操作を終了することができないとき、画像フレームは、意図的にまたは非意図的にドロップする。これは、IPP202が、カメラ動作中の高い計算負荷によって、割り当てられた期間内に画像フレームに対する必要とされる全ての処理操作を終了することができないときに当てはまる場合がある。以下で例示するように、IPP202によって実施される処理操作は、ノイズフィルタリング、歪み補正、大域的および/または局所的トーンマッピング、変換、フラットフィールド補正、オーバーレイ(例えば、プライバシーマスク)の適用、およびオブジェクト検出および/またはオブジェクト認識を実施する分析アプリケーションを含むことができる。例えば、割り当てられた期間内にプライバシーマスク操作が終了することができない場合、プライバシーマスクがない状態でまたは部分的に描かれたプライバシーマスクのみがある状態で画像フレームを維持することと比較して、画像フレームをドロップさせることが典型的にはよりよい選択である。別の例として、高い計算負荷によって、割り当てられた期間内に、ノイズフィルタリング、歪み補正、大域的および/または局所的トーンマッピング、変換、ならびに/またはフラットフィールド補正が終了することができない場合、ノイズフィルタリング、歪み補正、大域的および/または局所的トーンマッピング、変換、ならびに/またはフラットフィールド補正がない状態で画像フレームを維持することと比較して、画像フレームをドロップさせることは典型的にはよりよい場合がある。なぜならば、そのような画像フレームの維持が、ビデオストリームの見え方に悪い影響を与えることになる可能性があるからである。これは、一定の悪影響を回避するための画像フレームの意図的ドロッピングを例示する。しかしながら、上記で述べたように、ドロッピングは非意図的である場合がある。そのため、画像フレームは、計算負荷が高過ぎて、IPPが、割り当てられた期間内に、必要とされる全ての操作を終了することができないために非意図的にドロップさせられる場合がある。例えば、オブジェクト検出またはオブジェクト認識を実施する分析アプリケーション操作等の必要とされる操作の一部は、画像フレームに対してオブジェクト検出またはオブジェクト認識を実施するために、一定量の利用可能な計算/処理リソースを必要とし、IPP202にかかる計算負荷が、例えば、カメラ動作によって高過ぎる場合、IPP202の利用可能な計算/処理リソースは、分析アプリケーション操作が終了するために必要とされる一定量の利用可能な計算/処理リソースより小さい場合がある。そのため、IPP202は、割り当てられた期間内に、必要とされる全ての操作を終了するのに十分な利用可能な計算/処理リソースを持たない場合があり、したがって、画像フレームはドロップされる。ドロッピングが意図的かまたは非意図的かによらず、画像フレームをドロップさせることは、ユーザーに示されるストリームの乱れを生成し、また、共に望ましくない体験である、見るのが楽しくないビデオストリームおよびより高いレイテンシーの感覚も有するビデオストリームを生成する。
したがって、これらのおよび他の問題を軽減するために、一実施形態において、画像フレームのストリーム内のドロップした画像フレームは、図3を参照してここで説明するように、代用画像フレームで置換され、図3は画像フレームのストリームを処理するための方法300のフローチャートである。図3に見ることができるように、方法は、従来方式で画像フレームのストリームを処理することによって開始する、ステップ302。この従来の処理は、図2を参照して簡潔に説明されることになり、図2は、一実施形態による、画像を取り込み処理するときに使用されるカメラシステム108の選択されたコンポーネントを示すブロックダイアグラムである。
図2に示すように、カメラシステム108は、画像センサ112上にシーン102を結像させるレンズ110を含む。カメラシステム108の、種々の操作、典型的には、フィルタリングユニット、デモザイシング、およびカラー補正ユニット等の1つまたは複数のユニット(図示せず)によるフィルタリング、デモザイシング、およびカラー補正をおそらくは実施した後に、結果として得られる画像は画像処理パイプライン(IPP)202に転送される。幾つかの実施形態において、カラー補正をIPP202において行うことができることが留意されるべきである。
IPP202において、さらなる処理が画像に対して実施される。そのようなさらなる処理は、ノイズフィルタリング(空間的および/または時間的ノイズをなくすための)、歪み補正(例えば、樽形歪みの影響をなくすための)、大域的および/または局所的トーンマッピング(例えば、広範囲の強度を含むシーンの撮像を可能にする)、変換(例えば、回転)、フラットフィールド補正(例えば、ビネッティングの影響の除去のための)、オーバーレイ(例えば、プライバシーマスク、説明テキスト等)の適用を含むことができる。IPP202は、オブジェクト検出、オブジェクト認識、アラーム等を実施する分析エンジン(図示せず)に関連付けることもできる。
IPP202に続いて、画像をエンコーダー204に転送することができ、エンコーダー204において、情報は、エンコーディングプロトコルに従ってコード化され、ネットワーク118を通じて受信側クライアント120に転送される。図2に示すカメラが、従来のカメラシステムにおいて一般的であり、また、その目的および操作が当業者によく知られている、プロセッサ、メモリ等のような多数の他のコンポーネントも含むことが留意されるべきである。そのようなコンポーネントは、明確にするために図2の例示および説明から省略されている。幾つかの従来のビデオエンコーディングフォーマットが存在する。本発明の種々の実施形態と共に働く一部の一般的なビデオエンコーディングフォーマットは、一部の例を挙げると、H.265およびMPEG-H Part 2としても知られる高効率ビデオコーディング(HEVC:High Efficiency Video Coding);H.264およびMPEG-4 Part 10としても知られる高度ビデオコーディング(AVC:Advanced Video Coding);H.266、MPEG-I Part 3、および将来ビデオコーディング(FVC:Future Video Coding)としても知られる多用途ビデオコーディング(VVC:Versatile Video Coding);VP9、VP10、およびAOMedia Video 1(AV1)を含む。これらのビデオエンコーディングフォーマットは、イントラ画像フレームおよびインター画像フレームに関して実装される時間的ビデオ圧縮を規定する。上記で述べたように、イントラ画像フレームをI画像フレームと呼ぶこともでき、インター画像フレームを、予測画像フレームいわゆるPフレームまたは双方向予測画像フレームいわゆるBフレームであるとすることができる。I画像フレームは、エンコードされる画像フレーム内の情報のみを使用してエンコードされる画像フレームとして記述することができる。さらに、Iフレームは、エンコードされる画像フレームのために取り込まれる全ての画像データから計算される。したがって、Iフレームは、時として、全画像フレームとも呼ばれる。
Pフレームは、以前にエンコードされた画像フレームからの情報ならびに現在エンコードされる画像フレームからの情報に基づく。Bフレームは、以前にエンコードされた、および任意選択で、後でエンコードされる画像フレームからの情報ならびに現在エンコードされる画像フレームからの情報に基づく。すなわち、インター画像フレームは、以前の(および任意選択で後の)画像フレーム内の時間的に冗長性のある情報を利用するものとして記述することができる。このタイプのコーデック(圧縮標準)を実装するエンコーダーは、典型的には、I画像フレーム、それに続いて、所定の数のインター画像フレーム、例えば、Pおよび/またはBフレームを生成し、その後、新しいI画像フレーム、それに続く、同じ数のインター画像フレームを生成する。Iフレーム、それに続く、幾つかのインター画像フレームのこのシーケンスの長さは、しばしば、ピクチャー群(GOP:Group of Pictures)長と呼ばれる。H.265等の一部の圧縮標準の場合、GOP長は、エンコーディング中に調整される。
ここで図3に戻ると、ステップ302の通常処理中に、画像フレームのストリーム内の画像フレームがドロップしたか否かを検出するために画像フレームの絶え間ないモニタリングが存在する、ステップ304。画像フレームがドロップしていない場合、通常処理が継続する。しかしながら、ステップ304にて、画像フレームがドロップしたことが発見される場合、代用画像フレームが、カメラ動作に基づいて生成される、ステップ306。上記で述べたように、画像フレームのストリームからの画像フレームは、割り当てられた期間内に画像フレームに対する全ての操作、例えば、必要とされる全ての操作を終了することができないために、ドロップする場合がある。これは、カメラシステム108がカメラ動作中に高い計算負荷を経験することによって、割り当てられた期間内に画像フレームのストリームからの画像フレームに対する必要とされる全ての処理を終了することができないときに当てはまる場合がある。
一実施形態において、代用画像フレームは、Pフレームであって、以前の画像フレームを参照し、PTZカメラの動作、例えば、画像取り込み部分の動作から人工的に生成される動きベクトルを含む、Pフレームを作成することによって生成される。PTZカメラを移動させるために使用されるモーター206に加えて、典型的には、1つまたは複数のジャイロスコープ208もカメラ108内に存在する。モーター206およびジャイロスコープ208からの位置読み値は、60~600回/秒程度の頻度で、カメラ108内のキャッシュに絶えず記憶される。これは、画像フレーム取り込み時間を、PTZカメラ108についての、例えば、画像取り込み部分109についての位置読み値に相関させることを可能にする。例えば、60回位置測定/秒および60FPS(:Frames Per Second、フレーム/秒)取り込みレートを有する下限において、カメラキャッシュ内に各画像フレームについて1つの位置読み値が存在することになり、600回位置測定/秒および60FPS取り込みレートを有する上限において、各画像フレームは、10個の位置読み値と相関することができ、それは、ドロップした画像フレームについての画像フレーム取り込みの時間において、カメラの位置、例えば、画像取り込み部分の位置を推定するさらに良好な正確度を可能にすることになる。
そのため、画像フレームがドロップされるときに、PTZカメラ108の現在位置、例えば、画像取り込み部分の現在位置を読み取り、以前の画像フレームについてのカメラキャッシュ内の記憶済み位置を参照することによって、以前の画像フレームとドロップした現在の画像フレームとの間の動きを記述する1つまたは複数の動きベクトルを決定することが可能である。これらの動きベクトルは、代用画像フレームを生成するために使用することができ、代用画像フレームを、ドロップした画像フレームの場所で、エンコードされた画像フレームのストリームに挿入することができる。これは、乱れのない、絶え間ないスムーズなカメラ動作の見え方をユーザーに与える。1つまたは複数の動きベクトルを、異なる方法で生成することができる。
当業者がよく知るように、画像フレームを異なるブロックに分割し、ブロックレベルで画像処理を実施することが一般的である。PTZ運動は、典型的には、画像内のブロックの運動が変動するという意味で「スキューされる(skewed)」。例えば、角ブロックは、画像の中心のブロックと異なるように移動する。したがって、第1の実施形態において、処理は、ブロックごとに行われ、個々の動きベクトルは、各ブロックについて決定される。第2の実施形態において、大域動きベクトルが画像フレーム全体について決定される。第1の実施形態はより良好なユーザー体験を生成することができるが、より多くの情報が処理される必要があるため、第1の実施形態はまた、ビットレートの点でより高いコストを有し、したがって、第2の実施形態は、時として、手近な状況に応じてより有用であるとすることができる。
第1の実施形態と第2の実施形態との間の「ハイブリッド実施形態(hybrid embodiment)」も存在することが留意されるべきである。例えば、画像は、4または9のタイルに分割することができ、動きベクトルは各タイルについて決定することができる。「対象となる」何かが、タイルのうちの1つのタイル内で起こるだけである状況が存在する場合がある(例えば、或るオブジェクトが、タイルのうちの1つのタイル内で示され、残りの8つのタイルは、青い空または中実の壁等を示す)。そのようなシナリオにおいて、計算リソースは、対象となるタイルについてのみ動きベクトルを計算し、不変であるように見える8つのタイルを処理しないことによってさらに節約することができる。別の変形において、動きベクトルを、1つのブロック(例えば、上方に10ピクセルおよび左に15ピクセル)について決定することができ、同じ動きベクトルを有するよう中間の全ての近傍ブロックを設定するようにカメラが指令される可能性がある。そのため、当業者が想定することができる多くの変形が存在する。
代用画像フレームは、作られた画像フレームであるため、それらの画像情報をコード化するときに、画像フレームのストリーム内の後続の画像フレームが代用画像フレームを参照として使用しないことが重要である。したがって、ドロップした画像フレームの直前の画像フレーム(すなわち、最新の以前の画像フレーム)は、後続の画像フレームについての参照として維持される。これは、多数の方法で行うことができる。例えば、一実施形態において、代用画像フレームは、それが、「参照画像フレームのために使用しない(do not use for reference image frame.)」であることを示す関連するメタデータまたはデータを、そのヘッダ内に有する。H.264圧縮を使用する別の実施形態において、画像フレームが代用画像フレームであることを示すために、QP値を51に設定することができる。この例は、最新の以前の画像フレームを使用するが、より古い任意の画像フレームを参照画像フレームとして使用することも可能であることが留意されるべきである。しかしながら、ほとんどの状況において、ドロップした画像に時間的に最も近い画像フレームは、最も関連するコンテンツを有する画像フレームであり、したがって、使用すべき好ましい画像フレームであることになる。
代用画像フレームは、生成されると、ドロップした画像フレームの場所で画像フレームのエンコードされたストリームに挿入される、ステップ308。その後、処理すべきこれ以上の画像フレームが存在するか否かが決定される、ステップ310。そうである場合、上記で説明したように、通常の画像処理が、ステップ302にて再開する。処理すべき画像フレームがこれ以上存在しない場合、例えば、カメラ108が、ターンオフされるかまたはスリープになる場合、プロセスは終了する。
上記例の画像フレームが意図的理由と非意図的理由の両方でストリームからドロップする可能性があることが留意されるべきである。例えば、画像フレームドロップについての意図的理由は、使用される帯域幅が高過ぎて、カメラにかかる計算負荷が低減されない限り画像フレームドロップについてのリスクが存在することを帯域幅モニターが示す場合であるとすることができる。意図的な画像フレームドロップの別の例は、より高い優先度を有するべき画像フレームの第2のストリームが存在する場合があること等であるとすることができる。非意図的画像フレームドロップは、上記で説明したように、カメラにかかる負荷が、単に高過ぎて、画像処理の全てのステップをカメラが成功裏に扱うことができないときに起こる可能性がある。
締めくくりのコメント
上記例は、Pフレームを使用することに的を絞るが、本発明の同じ一般的原理が、GOPにおいて前方と後方の両方を参照することができるBフレームに適用可能であることが留意されるべきである。しかしながら、Bフレームは、典型的には、Pフレームと比較してより高いメモリ要件を有するため、ほとんどの場合、Pフレームを使用することが好ましいことになる。画像フレームのストリーム内に幾つかの代用画像フレームが存在するとき、全ての代用画像フレームが同じタイプを有する必要があるわけではないこと、および、PフレームとBフレームの任意の混合が存在する場合があることがさらに留意されるべきである。
同様に、上記例は、単一モーター206を有するPTZカメラを参照する。しかしながら、同じ一般的な原理を、複数の画像センサを含むカメラであって、各画像センサがそれ自身のモーター206を有する、カメラに拡張することもできることが認識されるべきである。
さらに、上記例の動きベクトルの計算は、ドロップした画像フレームの直前の画像フレームを参照するが、画像フレームのストリーム内のさらに早期の画像フレームを参照して動きベクトルが決定されることを妨げるものは何も存在しない。しかしながら、ドロップした画像フレームから数ステップ離れている画像フレームを参照することは、代用画像フレームであって、正確でない動きベクトル、それにより、より悪い品質を有する、代用画像フレームをおそらくはもたらすため、直前の画像フレームを参照することが、実用的観点から好ましい場合がある。
上記例は、PTZカメラに関して提示されたが、同じ原理を、身体装着式カメラ(BWC)、または、強い振動を受ける任意のカメラであって、画像フレームがドロップするリスクが増加する、任意のカメラ等の他のカメラにも適用することができることが留意されるべきである。
幾つかの実施形態において、「事前計算された」代用画像フレームが存在することもでき、それにより、画像フレームがドロップしたときに動きベクトルを計算する代わりに、事前計算された動きベクトルを有するエンコード済み画像フレームを、決定されたカメラ動作に基づいてライブラリーから単に取り出すことができる。これは、カメラの計算負荷をさらに著しく低減することができ、より低い計算パワーを有する状況において特に有用であるとすることができる。
上記技法が、「ライブストリーム(live stream)」(すなわち、ユーザーが、彼のまたは彼女のディスプレイスクリーン上で観察しているストリーム)において適用されるが、代用画像は、実際のフォレンジックストリーム(すなわち、将来の参照のために記録され保存されるストリーム)に付加されない実施形態も存在する。したがって、多くの変形を、当業者が想定することができる。
本明細書で開示されるカメラシステムおよび方法は、ソフトウェア、ファームウェア、ハードウェア、またはその組み合わせとして実装することができる。ハードウェア実装形態において、上記説明で参照される機能ユニットまたはコンポーネント間のタスクの分割は、必ずしも物理的ユニットへの分割に対応するわけではなく;逆に、1つの物理的コンポーネントが複数の機能を有することができ、1つのタスクを、幾つかの物理的コンポーネントによって協調して実施することができる。
一定のコンポーネントまたは全てのコンポーネントは、デジタル信号プロセッサまたはマイクロプロセッサによって実行されるソフトウェアとして実装することができる、あるいは、ハードウェアとしてまたは特定用途向け集積回路として実装することができる。そのようなソフトウェアは、コンピュータ記憶媒体(すなわち非一時的媒体)および通信媒体(すなわち一時的媒体)を備えることができる、コンピュータ可読媒体上に配信することができる。当業者によく知られているように、用語、コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ等の情報を記憶するための任意の方法または技術において実装される揮発性および不揮発性で取り外し可能および取り外し不能の媒体を共に含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶デバイス、あるいは、所望の情報を記憶するために使用することができかつコンピュータがアクセスすることができる任意の他の媒体を含むが、それに限定されない。
図のフローチャートおよびブロックダイアグラムは、本発明の種々の実施形態による、システム、方法、およびコンピュータプログラム製品の考えられる実装形態のアーキテクチャ、機能、および操作を示す。これに関して、フローチャートおよびブロックダイアグラム内の各ブロックは、指定された論理機能(複数可)を実装するための1つまたは複数の実行可能命令を含む、モジュール、セグメント、または命令の所定の部分を示すことができる。幾つかの代替の実装形態において、ブロックにおいて述べる機能は、図で述べる順序から外れて起こる場合がある。例えば、関係する機能に応じて、連続して示す2つのブロックは、実際には、実質的に同時に実行することができる、または、ブロックを、時として逆順で実行することができる。ブロックダイアグラムおよび/またはフローチャート例証の各ブロックならびにブロックダイアグラムおよび/またはフローチャート例証内のブロックの組み合わせが、指定された機能または動作を実施するかあるいは専用ハードウェアおよびコンピュータ命令の組み合わせを実施する、専用ハードウェアベースシステムによって実装することができることも留意されるであろう。
当業者が、上記で説明した実施形態を多くの方法で修正し、上記実施形態で示す本発明の利点を依然として使用することができることが認識されるであろう。したがって、本発明は、示す実施形態に限定されるべきであるのではなく、添付特許請求の範囲によって規定されるだけであるべきである。さらに、当業者が理解するように、示す実施形態を組み合わすことができる。

Claims (15)

  1. カメラ動作中に取り込まれる画像フレームのストリームを処理するための、カメラシステム(108)内で実施される方法であって、
    画像フレームの前記ストリームからの画像フレームが、割り当てられた期間内に前記画像フレームに対する全ての操作を終了することができないためにドロップされるときに、現在のカメラ動作を決定すること、
    ドロップされた前記画像フレームについて代用画像フレームを生成することであって、前記代用画像フレームは、以前の画像フレームに対する参照を含み、また、決定された前記現在のカメラ動作に基づいてのみ推定される1つまたは複数の動きベクトルを含む、代用画像フレームを生成すること、および、
    画像フレームの前記ストリーム内の残りの画像フレームをエンコードし、前記代用画像フレームを、ドロップされた前記画像フレームの場所で、エンコードされた画像フレームの前記ストリームに挿入すること
    を含む、方法。
  2. 前記現在のカメラ動作は、前記カメラシステム(108)内のジャイロスコープ(208)およびモーター(206)の一方または両方からの読み値に基づいて決定される、請求項1に記載の方法。
  3. 前記現在のカメラ動作は、ジャイロスコープおよびモーターの現在の読み値を、以前の画像フレームについての対応するジャイロスコープ(208)およびモーター(206)の読み値と比較することによって決定される、請求項2に記載の方法。
  4. 前記以前の画像フレームは、最新の以前の画像フレームである、請求項3に記載の方法。
  5. 前記1つまたは複数の動きベクトルは、前記代用画像フレーム全体について単一の大域動きベクトルを含む、請求項1~4のいずれか一項に記載の方法。
  6. 前記動きベクトルは複数の動きベクトルを含み、前記複数の動きベクトルのそれぞれは、前記代用画像フレーム内のピクセルのブロックの動きを示す、請求項1~4のいずれか一項に記載の方法。
  7. 前記複数の動きベクトルは、前記代用画像フレーム内の1つまたは複数の対象となる部分の動きを示す、請求項6に記載の方法。
  8. 1つまたは複数の後続の画像フレームについてデータを調整することであって、それにより、前記代用画像フレームは、前記1つまたは複数の後続の画像フレームによって参照画像フレームとして使用されない、データを調整することをさらに含む、請求項1~7のいずれか一項に記載の方法。
  9. 前記代用画像フレームは、前方予測画像フレーム、P画像フレーム、および双方向予測画像フレーム、B画像フレームのうちの1つである、請求項1~8のいずれか一項に記載の方法。
  10. 前記カメラシステム(108)は、パンチルトズーム(PTZ)カメラおよび身体装着式カメラ(BWC)の一方である、請求項1~9のいずれか一項に記載の方法。
  11. 画像フレームの前記ストリームは画像フレームのライブビューストリームであり、該方法は、画像フレームの記録ストリームを同時に取り込むことをさらに含み、画像フレームの前記記録ストリームは代用画像フレームを含まない、請求項1~10のいずれか一項に記載の方法。
  12. 前記代用画像フレームは、事前計算された動きベクトルを含むエンコード済み画像フレームである、請求項1~11のいずれか一項に記載の方法。
  13. 前記画像フレームは、画像フレームの非意図的ドロップのリスクを低減するために、先を見越してドロップされる、請求項1~12のいずれか一項に記載の方法。
  14. カメラシステム(108)であって、
    カメラ動作中に画像フレームのストリームを取り込むように構成される画像取り込み部分(109)と、
    画像処理パイプライン(202)であって、
    画像フレームの前記ストリームからの画像フレームが、割り当てられた期間内に前記画像フレームに対する全ての操作を終了することができないためにドロップされるときに、現在のカメラ動作を決定するように構成され、
    ドロップされた前記画像フレームについて代用画像フレームを生成するように構成された画像処理パイプライン(202)であって、前記代用画像フレームは、以前の画像フレームに対する参照を含み、また、決定された前記現在のカメラ動作に基づいてのみ推定される1つまたは複数の動きベクトルを含む、画像処理パイプライン(202)と、
    画像フレームの前記ストリーム内の残りの画像フレームをエンコードし、前記代用画像フレームを、ドロップされた前記画像フレームの場所で、エンコードされた画像フレームの前記ストリームに挿入するように構成されるエンコーダー(204)と
    を備える、カメラシステム(108)。
  15. カメラ動作中にカメラシステム(108)によって取り込まれる画像フレームのストリームを処理するためのコンピュータプログラム製品であって、該コンピュータプログラム製品は、プログラム命令を実装したコンピュータ可読記憶媒体を備え、前記コンピュータ可読記憶媒体はそれ自体が一時的信号ではなく、前記プログラム命令は、方法を実施するようにプロセッサによって実行可能であり、該方法は、
    画像フレームの前記ストリームからの画像フレームが、割り当てられた期間内に前記画像フレームに対する全ての操作を終了することができないためにドロップされるときに、現在のカメラ動作を決定すること、
    ドロップされた前記画像フレームについて代用画像フレームを生成することであって、前記代用画像フレームは、以前の画像フレームに対する参照を含み、また、決定された前記現在のカメラ動作に基づいてのみ推定される1つまたは複数の動きベクトルを含む、代用画像フレームを生成すること、および、
    画像フレームの前記ストリーム内の残りの画像フレームをエンコードし、前記代用画像フレームを、ドロップされた前記画像フレームの場所で、エンコードされた画像フレームの前記ストリームに挿入すること
    を含む、コンピュータプログラム製品。
JP2021169992A 2020-10-23 2021-10-18 カメラの動きに基づいて代用画像フレームを生成すること Pending JP2022069409A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20203624.0A EP3989530A1 (en) 2020-10-23 2020-10-23 Generating substitute image frames based on camera motion
EP20203624 2020-10-23

Publications (1)

Publication Number Publication Date
JP2022069409A true JP2022069409A (ja) 2022-05-11

Family

ID=73014326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021169992A Pending JP2022069409A (ja) 2020-10-23 2021-10-18 カメラの動きに基づいて代用画像フレームを生成すること

Country Status (6)

Country Link
US (1) US20220132030A1 (ja)
EP (1) EP3989530A1 (ja)
JP (1) JP2022069409A (ja)
KR (1) KR20220054204A (ja)
CN (1) CN114500787A (ja)
TW (1) TW202226813A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023214644A1 (ko) 2022-05-02 2023-11-09 주식회사 엘지에너지솔루션 가스 배출 부재 및 이를 구비한 이차전지
KR20240047807A (ko) 2022-10-05 2024-04-12 한국철도기술연구원 다중 센서에서 획득한 데이터의 동기화 방법 및 장치

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5973733A (en) * 1995-05-31 1999-10-26 Texas Instruments Incorporated Video stabilization system and method
US7119837B2 (en) * 2002-06-28 2006-10-10 Microsoft Corporation Video processing system and method for automatic enhancement of digital video
KR101420878B1 (ko) * 2007-11-22 2014-07-21 삼성전자주식회사 동영상 프레임의 선택적 오류 은폐 방법 및 장치
KR101467875B1 (ko) * 2008-09-04 2014-12-02 삼성전자주식회사 프레임 레이트의 가변화 설정이 가능한 디지털 카메라 및 그 제어방법
JP5617270B2 (ja) * 2010-02-16 2014-11-05 富士通株式会社 動画再生装置、動画処理方法、および動画処理プログラム
WO2012008037A1 (ja) * 2010-07-15 2012-01-19 富士通株式会社 動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法
US9525821B2 (en) * 2015-03-09 2016-12-20 Microsoft Technology Licensing, Llc Video stabilization
US20170085740A1 (en) * 2015-05-21 2017-03-23 InvenSense, Incorporated Systems and methods for storing images and sensor data
US20180227502A1 (en) * 2017-02-06 2018-08-09 Qualcomm Incorporated Systems and methods for reduced power consumption in imaging pipelines

Also Published As

Publication number Publication date
EP3989530A1 (en) 2022-04-27
CN114500787A (zh) 2022-05-13
US20220132030A1 (en) 2022-04-28
TW202226813A (zh) 2022-07-01
KR20220054204A (ko) 2022-05-02

Similar Documents

Publication Publication Date Title
WO2010095207A1 (ja) 動画撮像装置
JP7011506B2 (ja) ビデオストリームを形成するための方法および画像処理ユニット
US9092861B2 (en) Using motion information to assist in image processing
JP4687404B2 (ja) 画像信号処理装置、撮像装置、および画像信号処理方法
JP2022069409A (ja) カメラの動きに基づいて代用画像フレームを生成すること
JP4895016B2 (ja) 撮像装置
KR100913756B1 (ko) 손떨림 보정을 위한 방법 및 장치
JP6463397B2 (ja) ビデオストリームをエンコードするための方法及びシステム
JP4636887B2 (ja) 光学機器
JP2007036615A (ja) カメラ制御装置及び監視システム
JP2012257198A (ja) 立体画像符号化装置、その方法、および立体画像符号化装置を有する撮像装置
JP2003189290A (ja) 映像圧縮アルゴリズムを用いるカメラ制御方法と装置
JP6707334B2 (ja) リアルタイム符号化のための方法及び装置
TW201838413A (zh) 用於編碼視訊串流之方法、視訊編碼器及視訊攝影機
JP2007295370A (ja) 符号化装置および方法、並びにプログラム
JP2007274671A (ja) 画像符号化装置、画像符号化方法、プログラム及び記憶媒体
JP2007134788A (ja) 画像処理装置及びプログラム
JP2008141354A (ja) 画像符号化装置および撮像装置
JP6702737B2 (ja) 像ブレ補正装置、および、像ブレ補正装置の制御方法
JP2012023768A (ja) 撮像装置
JP4700992B2 (ja) 画像処理装置
JP4651103B2 (ja) 画像処理装置、画像処理方法
JP2004180345A (ja) 撮影画像記録装置
JP2006303987A (ja) 画像符号化装置及び画像符号化方法
US8761530B2 (en) Apparatus and method to control target code amount