JP7011506B2 - ビデオストリームを形成するための方法および画像処理ユニット - Google Patents

ビデオストリームを形成するための方法および画像処理ユニット Download PDF

Info

Publication number
JP7011506B2
JP7011506B2 JP2018057357A JP2018057357A JP7011506B2 JP 7011506 B2 JP7011506 B2 JP 7011506B2 JP 2018057357 A JP2018057357 A JP 2018057357A JP 2018057357 A JP2018057357 A JP 2018057357A JP 7011506 B2 JP7011506 B2 JP 7011506B2
Authority
JP
Japan
Prior art keywords
frame
image
length
motion
movement
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.)
Active
Application number
JP2018057357A
Other languages
English (en)
Other versions
JP2018201189A5 (ja
JP2018201189A (ja
Inventor
ヴィクトル エドパルム,
ビョルン アルデ,
Original Assignee
アクシス アーベー
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 アクシス アーベー filed Critical アクシス アーベー
Publication of JP2018201189A publication Critical patent/JP2018201189A/ja
Publication of JP2018201189A5 publication Critical patent/JP2018201189A5/ja
Application granted granted Critical
Publication of JP7011506B2 publication Critical patent/JP7011506B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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/57Motion estimation characterised by a search window with variable size or shape
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/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
    • 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
    • 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/177Methods 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 a group of pictures [GOP]
    • 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
    • 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/527Global motion vector estimation
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/681Motion detection
    • H04N23/6815Motion detection by distinguishing pan or tilt from motion
    • 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

Landscapes

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

Description

本発明はビデオ符号化の分野に関し、より詳細には、符号化のためにビデオストリームがどのように形成されるかに関する。
ネットワークカメラ監視システムなどのデジタルビデオシステムでは、ビデオシーケンスは、様々なビデオ符号化方法を使用して送信および/または記憶の前に圧縮される。多くのデジタルビデオ符号化システムでは、ビデオフレームのシーケンスのビデオフレームを圧縮するために、2つの主要なモード、すなわち、イントラモードおよびインターモードが使用される。イントラモードでは、ルミナンスチャネルおよびクロミナンスチャネルは、予測、変換およびエントロピーコーディングを介して単一のフレームの所与のチャネル中のピクセルの空間的冗長性を活用することによって符号化される。符号化されたフレームはイントラフレームと呼ばれ、Iフレームと称されることもある。イントラフレーム内では、マクロブロック、コーディングユニット、またはコーディングツリーユニットとも称される、ピクセルのブロックは、イントラモードで符号化され、これは、それらが同じ画像フレーム内の類似するブロックを参照して符号化されるか、またはまったく参照なしで未加工コーディングされることを意味する。インターモードは、代わりに、別個のフレーム間の時間的冗長性を活用し、ピクセルの選択されたブロックのためにあるフレームから別のフレームへのピクセルの動きを符号化することによって、1つまたは複数の前のフレームからフレームの一部を予測する、動き補償予測技法に依拠する。符号化されたフレームはインターフレームと呼ばれ、復号順序で前のフレームを指すことができるPフレーム(順方向予測フレーム)、または2つまたはそれ以上の前に復号されたフレームを指すことができ、予測のために使用されるフレームの任意の表示順序関係を有することができるBフレーム(双方向予測フレーム)と称されることがある。インターフレーム内では、ピクセルのブロックは、それらが前に復号された画像中の類似するブロックを参照して符号化されることを意味するインターモードで、あるいは、それらが同じ画像フレーム内の類似するブロックを参照して符号化されるか、またはまったく参照なしで未加工コーディングされることを意味するイントラモードでのいずれかで符号化され得る。
インターフレームは、概して、イントラフレームよりも画像を表すためにより少ないビットを必要とする。同様に、インターフレームのインターコード化ブロックは、イントラコード化ブロックよりも少ないビットを必要とする。記憶スペースと送信帯域幅とを節約することの重要性において、それゆえ、インターフレームを使用すること、およびインターフレーム中で少数のイントラコード化ブロックを使用することは有益である。
ピクセルのブロックがインターコーディングされるべきであるとき、参照フレーム中の十分に類似するピクセルのブロックについて探索が行われる。すでに述べられたように、参照フレームは、前に符号化および復号された画像フレームである。参照フレーム中のブロックが、参照ブロックとして使用されるべき現在画像中の符号化されるべきブロックに十分に類似すると見なされるために、現在画像フレーム中のブロックと参照フレーム中の潜在的ブロックとの間の差分は、所定の類似度しきい値を下回らなければならない。差分は、たとえば、絶対差分和(SAD)として表され得る。SADは、現在画像フレーム中のピクセルと参照フレーム中の比較されたブロック中の対応するピクセルとの間の絶対差分をとることと、ブロック中のすべてのピクセルについてすべてのそのような差分の和を計算することとによって計算される。したがって、SADは、以下のように表され得る。
Figure 0007011506000001
ここで、Nは、検討されるブロック中のピクセルの数であり、Vc,nは、現在画像フレーム中のピクセルnのピクセル値であり、Vr,nは、参照フレーム中の対応するピクセルnのピクセル値である。
探索が開始されるブロックが、符号化されるべきブロックに類似すると見なされる場合、この第1のブロックは参照ブロックとして使用され、符号化すべきブロックが、参照フレーム中の参照ブロックと比較して画像フレーム中でどのくらい変位されるかを説明する動きベクトルが計算される。
一方、探索が開始されるブロックが、符号化されるべきブロックとあまりに多く異なる場合、すなわち、SADが所定のしきい値を上回る場合、探索は別のブロックに進む。どのブロックに進むべきかは、探索のために使用される探索パターンによって判定される。スパイラルパターン探索、3ステップ探索、4ステップ探索、全数探索、2分探索、ダイヤモンド探索、2次元対数探索、直交探索、ワンアットアタイム(one at a time)探索、相互探索、適応ルードパターン(adaptive rood pattern)探索、階層探索、または空間的依存探索など、多くの可能な探索パターンがある。ゴールデンスパイラルパターン、すなわち、フィボナッチスパイラルパターンなど、スパイラル探索パターンの変形態が使用され得る。類似するブロックが見つけられるとすぐに、探索は中止され、類似するブロックは参照ブロックとして使用される。概して、エンコーダは、さもなければ、リアルタイムで実施されるべき符号化についての探索を実施するのにあまりにも長い時間がかかり得るので、探索がどのくらい長く続き得るかに対して限定を有する。探索の最大長は、たとえば、ブロックの行または列の数として設定され得る。類似するブロックを見つけることなしに探索の最大長に達した場合、現在画像フレーム中のブロックはイントラコード化ブロック、すなわち、Iブロックとして符号化され、これは、概して、大きい残差を用いて、すなわち、あまり類似していないブロックを参照ブロックとして使用して、それをPブロックとして符号化することよりもビット効率がよくなるからである。探索および符号化は、現在画像中のすべてのブロックについて、このようにして繰り返される。
キャプチャされたシーン中に多くの明らかな移動があるとき、それは、シーン中に実際の移動があるので、シーン中に照明変化があるので、またはパンニングまたはチルティング移動中、ズーム動作、またはぶれ移動中のシーンに対してカメラが移動しているので、あるフレームから次のフレームまでに発生する移動が、しばしば、探索の最大長内に収まる最長動きベクトルよりも大きくなることから、インターフレーム中のIブロックを符号化する確率が増加する。これは、参照フレーム中に十分に類似するブロックが極めて都合よくあり得るが、それが最大探索範囲外にあることを意味する。それゆえ、多くのブロックは、イントラコーディングされる必要があることになる。これは、より多くの帯域幅および記憶容量を必要とする、より大きい画像ファイルにつながる。画像品質を不必要に犠牲にすることなしに、また、画像フレームをキャプチャするカメラが移動しているとき、およびキャプチャされたシーン中に多くの移動または変化があるとき、画像フレームを表すために必要とされるビット数を低減することができることが望ましいであろう。
本発明の目的は、シーン中に多くの明らかな移動があるとき、効率的なビットレート使用を用いてビデオストリーム中の画像フレームを符号化することを可能にする方法を提供することである。
ビデオストリームの効率的な符号化を有効にする画像処理ユニットを提供することも本発明の目的である。
第1の態様によれば、これらおよび他の目標は、カメラによってキャプチャされたシーンの画像に基づいてビデオストリームを形成するための方法によって、全体的にまたは少なくとも部分的に達成され、本方法は、カメラによってキャプチャされた画像に基づいて、エンコーダによって、画像フレームを符号化し、ビデオストリームの符号化された部分を形成することと、符号化された部分中の符号化された画像フレームのうちの1つである、サンプル画像フレームのための動きの長さを判定することであって、動きの長さが、時間的に先行する画像フレームに対するサンプル画像フレームにおける、カメラとシーンとの間の相対的動きの量を示す、動きの長さを判定することと、エンコーダの動きベクトル探索範囲に基づいて動きの長さしきい値を設定することと、判定された動きの長さを、設定された動きの長さしきい値と比較することと、比較の結果に基づいて、ビデオストリームの少なくとも調整部分の選定された時間フレーム距離を調整することであって、調整部分が、符号化された部分中に、または時間的に後の符号化された部分中に含まれる、時間フレーム距離を調整することとを含む。そのような方法は、シーン中に動きがあるとき、またはシーンをキャプチャするカメラが移動しているとき、符号化を適応させることを可能にする。これは、ビットレート節約を行うことを可能にする。
本明細書で使用される「カメラとシーンとの間の相対的動き」は、シーン中の動き、ならびにカメラの移動を意味する。シーン中の動きは、シーン中で実際に移動しているオブジェクトによって引き起こされ得るが、光の変化によっても引き起こされ得る。カメラの移動は、カメラのパニング、チルティング、または回転移動、ならびにズーム動作であり得る。カメラの移動はまた、カメラが完全には固定されていない場合、ぶれによって引き起こされ得る。
選定された時間フレーム距離を調整することは、判定された動きの長さが、設定された動きの長さしきい値を上回るときに、N≧1個の(1つまたは複数の)追加の画像フレームを符号化することによって、調整部分の選定された時間フレーム距離を減少させることであって、1つまたは複数の追加の画像フレームが調整部分の連続画像フレームの間に位置する、時間フレーム距離を減少させることを含み得る。追加の画像フレームを符号化することによって、ピクセルブロックがPブロックとして符号化され得る尤度は、ブロックの移動がより多くの画像フレーム上で拡散されるので増加する。
1つまたは複数の追加の画像フレームは、サンプル画像フレームと先行する画像フレームとの間に位置し得る。
本方法のいくつかの変形態では、1つまたは複数の追加の画像フレームは、動きベクトルを用いて、および残差を用いずにインターフレーム符号化される。これによって、残差が符号化されないので、ビットレートはさらに低減され得る。
1つまたは複数の追加の画像フレームは、1つまたは複数の追加の画像フレームがビデオストリームの受信機によって表示されるべきでないことを示す非表示マーカーに関連付けられ得る。このようにして、受信端におけるフレームレートは維持され得る。これは、符号化されたビデオストリームの受信側、たとえば、ビデオ管理システムが、表示されたフレームレートを変化させることが可能でない場合、必要であり得る。
本方法のいくつかの変形態では、選定されたフレームレートを調整することは、判定された動きの長さが、設定された動きの長さしきい値を下回るときに、ビデオストリームの符号化された画像フレームを削除することによって、調整部分の選定された時間フレーム距離を増加させることを含む。これによって、動きがほとんどまたはまったくないとき、ビットレートは節約され得る。
動きの長さしきい値は、動きベクトル探索範囲内で検出され得るピクセルのブロックのための動きの最も長い長さであるように設定され得る。このようにして、動きが、動きベクトル探索範囲を考慮して、インターコーディングを用いて符号化されるのに大きすぎるとき、フレームレートは調整され得る。
本方法は、判定された動きの長さを上側動きの長さしきい値と比較することと、判定された動きの長さが上側動きの長さしきい値を下回るという条件に基づいて、選定された時間フレーム距離を調整することとをさらに含み得る。これによって、時間フレーム距離、または言い換えるとフレームレートの調整は、動きが、追加の画像フレームを符号化することによって補償されるのに大きすぎるとき、回避され得る。
符号化された部分中のサンプル画像フレームの動きの長さを判定することは、サンプル画像フレームを時間的に先行する画像フレームと比較することを含み得る。
いくつかの変形態では、本方法は、比較することの前に、サンプル画像フレームと先行する画像フレームとをスケールダウンすることをさらに含む。これによって、より長い動きベクトルが、同じ動きベクトル探索範囲内で見つけられ得る。
本方法は、カメラの動きを示すデータを受信することをさらに備え、サンプル画像フレームの動きの長さを判定することは、受信されたデータに基づく。動きを示すデータは、カメラの動きセンサーまたはパンチルトズーム(PTZ:pan-tilt-zoom)制御ユニットから受信され得る。
第2の態様によれば、これらおよび他の目標は、処理能力を有するデバイスによって実行されたとき、第1の態様の方法を行うように適応された命令をもつ非一時的コンピュータ可読記憶媒体を備えるコンピュータプログラム製品によって、全体的にまたは少なくとも部分的に達成される。
第3の態様によれば、これらおよび他の目標は、ビデオストリームを形成するように構成された画像処理ユニットによって、全体的にまたは少なくとも部分的に達成され、画像処理ユニットは、画像センサーによってキャプチャされたシーンの画像を受信するように配置された受信機と、受信された画像に基づいて、ビデオストリームの符号化された部分を形成するために、画像フレームを符号化するように構成されたエンコーダと、符号化された部分中の符号化された画像フレームのうちの1つである、サンプル画像フレームの動きの長さを判定することであって、動きの長さが、時間的に先行する画像フレームに対するサンプル画像フレームにおける、カメラとシーンとの間の相対的動きの量を示す、動きの長さを判定することと、エンコーダの動きベクトル探索範囲に基づいて動きの長さしきい値を設定することと、判定された動きの長さを、設定された動きの長さしきい値と比較することと、比較の結果に基づいて、ビデオストリームの少なくとも調整部分の選定された時間フレーム距離を調整することであって、調整部分が、符号化された部分中に、または時間的に後の符号化された部分中に含まれる、時間フレーム距離を調整することとを行うように構成されたフレームレートコントローラとを備える。
第3の態様の画像処理ユニットは、概して、付随する利点をもつ第1の態様の方法と同じやり方で具現され得る。
第4の態様によれば、これらおよび他の目標は、第3の態様による画像処理ユニットを備えるカメラによって、全体的にまたは少なくとも部分的に達成される。
本発明の適用可能性のさらなる範囲は、以下の発明を実施するための形態から明らかになろう。しかしながら、本発明の範囲内の様々な変更および改変が、発明を実施するための形態から当業者に明らかになるので、発明を実施するための形態および具体的な例は、本発明の好ましい実施形態を示すが、例示として与えられるものにすぎないことを理解されたい。
それゆえに、そのようなデバイスおよび方法は変わり得るので、本発明は、説明されるデバイスの特定の構成要素部分、または説明される方法のステップに限定されないことを理解されたい。本明細書で使用される用語は、特定の実施形態を説明するためのものにすぎず、限定するものではないことも理解されたい。本明細書および添付の特許請求の範囲において使用される、冠詞「a」、「an」、「the」、および「said」は、コンテキストが別段に明白に規定しない限り、要素のうちの1つまたは複数があることを意味するものとすることに留意されなければならない。したがって、たとえば、「an object」または「the object」への言及は、数個のオブジェクトなどを含み得る。その上、「comprising(含む/備える)」という単語は、他の要素またはステップを除外しない。
次に、本発明を、例として、および添付の概略図を参照しながらより詳細に説明する。
カメラによって監視されるシーンの透視図である。 カメラによってキャプチャされた図1のシーンの画像の説明図である。 カメラによってキャプチャされた図1のシーンの別の画像の説明図である。 符号化のためにピクセルのブロックに分割された図2aおよび図2bの画像を示す図である。 図3の画像と追加の画像とを示す図である。 符号化された画像フレームのシーケンスの説明図である。 本発明の変形態に従ってフレームレートが調整された、符号化された画像フレームのシーケンスの説明図である。 本発明の別の変形態に従ってフレームレートが調整された、符号化された画像フレームのシーケンスの説明図である。 動きベクトルのヒストグラムの例を示す図である。 動きベクトルのヒストグラムの例を示す図である。 発明的方法の変形態のフローチャートである。 本発明の一実施形態による、ビデオ処理ユニットのブロック図である。 本発明の一実施形態による、カメラのブロック図である。
図1では、カメラ2によって監視されるシーン1が示されている。シーン1では、車3が確認され得る。カメラ2は、シーン1の画像のシーケンスをキャプチャするビデオカメラである。図2aは、第1の時点におけるシーン1のキャプチャされた第1の画像10を示す。ここで、車3は、画像10において左側に見える。図2bは、より遅い第2の時点においてキャプチャされた第2の画像20を示す。車3は、今ではある距離を右側に走ったところにあり、それゆえ、画像20において右側に見える。
図3は、符号化のためのピクセルのブロック11、21に概略的に分割された2つの画像10、20を示す。各画像は、たとえば、1920×1080ピクセルからなり得、ピクセルは、たとえば、64×64ピクセルのブロックにグループ化され、30×17ブロックを生じ得る。しかしながら、図面の明快のために、低減された数のブロックのみが、図3に示されている。
第2の画像20が符号化されるべきであるとき、第1の画像10の符号化および復号されたバージョンが参照フレームとして使用され、インターコーディングが使用される。第2の画像20中の各ピクセルブロック21の場合、探索は、第1の画像10中の十分に類似するブロックについて行われる。一例として、チェックのパターンによってマークされた、後輪に近い車の一部を表すブロック22が検討されることになる。車の本質的に同じ一部を表す対応するブロック12が、第1の画像10中でマークされている。参照ブロックとして使用するのに十分に類似するブロックについて探索が行われるとき、探索は、第2の画像20中で符号化されるべきであるブロック22の位置に対応する第1の画像10中の位置において開始する。第1の画像では、符号化されるべきブロック22に対応する位置におけるブロック13がハッチングによってマークされている。探索は、対応して位置するブロック13において開始し、たとえば、開始ブロック13からスパイラルパターンに従う。簡単のために、ブロックへのピクセルの同じグループ化が、第2の画像20にあるように第1の画像10に図示されていることに留意され得る。しかしながら、探索は、同等のグループ化に限定される必要はなく、サブピクセルレベルで行われ得る。この簡略化された例では、探索は、図3中で点線を用いてマークされた、高さが7ブロックおよび幅が7ブロックである探索エリア14に限定される。このようにして、探索が、類似するブロック12に達しないであろうということが確認され得る。それゆえ、符号化すべきブロック22は、イントラコーディングを使用して、すなわち、Iブロックとして符号化されなければならないことになる。背景技術のセクションにおいてすでに論じられたように、多くのIブロックをもつインターフレームは、概して、より少数のIブロックをもつインターフレームよりも多くのビットを必要とする。したがって、第1の画像10と第2の画像20とを含んでいるビデオシーケンスを符号化するエンコーダからの出力ビットレートは、おそらく不必要に高くなる。
本発明によれば、この問題は、画像フレームが符号化されるフレームレートを増加させることによって解決され得る。これは、より多くの画像フレームが、より少ない数の画像フレームよりも符号化するためのより多くのビットを必要とすることが予想されることになるので、直観に反しているように見え得る。しかしながら、本発明の発明者は、画像フレームが符号化されるフレームレートを増加させることによって、オブジェクトが2つの連続フレーム間で移動したであろう距離が、より低いフレームレートが使用された場合よりも短くなるであろうことを了解した。それにより、Pブロックの比は増加され得、増加されたビットレートによって引き起こされるビットレートの増加を超え得るビットレートの減少を許容する。また、フレーム毎秒またはfpsで表されるフレームレートは、秒で表される時間フレーム距離に関して考慮され得る。たとえば、画像フレームが30fpsのレートにおいて符号化された場合、連続フレーム間の時間距離は1/30秒である。したがって、フレームレートおよび時間フレーム距離は、同じ物、すなわち、どのくらいの頻度で画像フレームが符号化されるか、を制御する2つのパラメータである。
一例として画像10、20中の車では、2倍のフレームレートが使用された場合、第1の画像10と第2の画像20との間に追加の画像があるであろうことが理解され得る。第1の画像10のキャプチャ時間と第2の画像20のキャプチャ時間との中間でキャプチャされた、そのような追加の画像では、キャプチャフレームレートと比較して適度に一定である速度において車が移動すると仮定すると、車は、第1の画像フレーム10から追加の画像フレームまでに、車が第1の画像フレーム10から第2の画像フレーム20までに移動した距離の半分のみ移動したことになる。これは、追加の画像30が第1の画像10と第2の画像20との間に追加された図4に例示されている。図面を乱雑にしないために、符号化されるべきブロック22と、本発明の説明のために必要とされる他の画像中のブロックとを除いて、ブロック境界は図4に示されていない。
第2の画像20中でマークされたブロック22が符号化されるべきであるとき、追加の画像30の符号化および復号されたバージョンが参照フレームとして使用される。ここで、ブロック22によって表される車の一部が、追加の画像30のキャプチャの時間から第2の画像20のキャプチャの時間までに、その車の一部が第1の画像10のキャプチャと第2の画像20のキャプチャとの間で移動したほどの距離は移動しなかったことが確認され得る。探索が、追加の画像30中の十分に類似するブロックについて行われ、対応して位置するブロック33において開始する。前述のように、動きベクトル探索エリア34のために同じ限定がある場合、符号化されるべきブロック22と同じ、車の一部を表す類似するブロック32が、探索エリア34内で実際に見つけられる。それゆえ、符号化されるべきブロック22は、類似するブロック32と、現在ブロック22が参照ブロック32と比較してどのくらい変位されるかを示す動きベクトルと、現在ブロック22のピクセル値が参照ブロック32のピクセル値とどのくらい異なるかを示す残差とを参照して、Pブロックとしてインターコーディングを用いて符号化され得る。概して、Pブロックが符号化のためにIブロックよりも少数のビットを必要とするので、エンコーダからの出力ビットレートは、符号化されるフレームの数が増加されても低減され得る。
図5では、符号化された画像フレームのビデオシーケンスまたはビデオストリーム50の一例が示されている。この例では、ビデオシーケンス50は、第1の画像フレーム10で開始し、第2の画像フレーム20が続き、今度は、画像フレームのシーケンスが続く。ビデオストリーム50は、図5において第1の時間フレーム距離dt1によって例示されている第1のフレームレートにおいて符号化される。
上記で説明されたように、Pブロックとしてすべてのブロックを符号化するために第1の画像フレーム10と第2の画像フレーム20との間にあまりに多くの移動がある。どのくらい多くのブロックがIブロックとして符号化される必要があることになるかに応じて、第1の画像フレームと第2の画像フレームとの間に追加の画像フレーム30を導入することが有益であり得る。ほんの少数のブロックがIブロックとして符号化される必要があることになる場合、たとえば、小さいオブジェクトがシーン中で高速に移動している場合、追加の画像によって追加されるビットレートは、Iブロックによって追加されるビットレートよりも高くなり得、そのため、追加の画像フレーム30を導入することが有益でなくなる。しかしながら、多くのブロックがIブロックとして符号化される必要があることになる場合、たとえば、大きいオブジェクトがシーン中で高速に移動している場合、またはカメラが移動している場合、追加の画像フレームによって追加されるビットレートは、Iブロックによって追加されるビットレートよりも小さくなり得、そのため、ビットが全体で節約され得る。
いつフレームレートを増加させるべきか、または言い換えると、いつ時間フレーム距離を減少させるべきかを判定するやり方が、次に説明される。図5では、調整部分Pと称されることになるビデオストリームの第1の部分がマークされている。調整部分Pは、第1のビデオストリームの部分、すなわち、いくつかの連続画像フレームによって構成される。第2の画像フレーム20は、ここでは、サンプル画像フレームとして使用されることになる。サンプル画像フレーム20のための動きの長さが判定される。動きの長さは、時間的に先行する画像フレーム、この場合、第1の画像フレーム10とサンプル画像フレーム20との間の、カメラとシーンとの間の相対的動きの量を表す。相対的動きが多くのソースを有し得ることに留意されたい。カメラとシーンとの間の相対的動きは、シーン中の1つまたは複数のオブジェクトの移動によって引き起こされ得る。また、シーンの光変化は、動きとして見え得る。さらに、カメラがパンニングおよび/またはチルティングの動きで移動している場合、これは、キャプチャされた画像の動きとして見える。同様に、カメラがズームインまたはズームアウトしている場合、これは動きとして見えることになる。加えて、カメラが、非意図的に、ぶれ移動で移動している場合、これも、キャプチャされた画像中の動きとして見えることになる。
時間フレーム距離が減少されるように、追加の画像が追加されるべきかどうかを判定する1つやり方は、第2の画像20を符号化するとき、計算される動きベクトルを検討することである。それらの多くが、動き探索エリアによって限定される最大長にあるかまたは最大長に近くなるように長い場合、これは、多くの高速移動があることを示し得る。異なる長さの動きベクトルがビンに分類されるヒストグラムが製作され得る。そのようなヒストグラムの例が、図8に示されている。各ビンは動きベクトル長さを表す。ヒストグラムは、動きベクトルの特定の長さで符号化されている画像フレーム中に多くのブロックがあることを暗示するピークがあるかどうかを確認するために検討され得る。図3に例示されている例における動きベクトル探索範囲の限定は、幅7ブロック、高さ7ブロックのエリアであるので、符号化され得る最長動きベクトルは、垂直方向に3ブロックの長さ、および水平方向に3ブロックの長さである。それゆえ、動きの長さしきい値は、3ブロックにおいて設定される。図8aは、たいていの動きベクトルが最大動きベクトル長さMVmaxの約半分の長さを有する画像フレームを表すヒストグラムを示す。図8aおよび図8bに示されているヒストグラムは単に例示的なものであり、そこに示されている最大動きベクトル長さMVmaxは必ずしも3ブロックとは限らないことに留意されたい。図8bに示されているように、第2の画像フレーム20中の多くのブロックが、いかなる方向でも長さが3ブロックの動きベクトルで符号化されていた場合、わずかにより長い動きベクトルで符号化され得たブロックもあったか、より大きいエリア中での探索が可能であったかまたは許容されたエンコーダがあったことが疑われ得る。図6の場合のように、追加の画像30を挿入することによって、第2の画像フレーム20中のピクセルブロックをPブロックとして符号化するより良い機会が達成される。同様に、フレームレートが2倍にされ、時間フレーム距離が、第1のビデオシーケンス50の第1の時間フレーム距離dt1から第2のビデオシーケンス60の第2の時間フレーム距離dt2に1/2にされるように、追加の画像が、調整部分P中の連続画像フレームの各ペア間に挿入される。調整部分Pの後に、時間フレーム距離が第1の時間フレーム距離dt1に戻るように、フレームレートは元のフレームレートに戻り得る。
符号化がリアルタイムで行われた場合、サンプル画像フレーム20の前に追加の画像フレーム30を追加することが可能でないことあることに留意され得る。代わりに、追加の画像フレームの追加は、サンプル画像フレームの後に開始し得る。これは、サンプル画像フレーム20の後に追加の画像フレーム30の追加によってフレームレートが増加されるビデオストリーム70を示す図7に例示されている。
フレームレートをいつ増加させるべきか、すなわち、時間フレーム距離をいつ減少させるべきかという決定に対する異なる手法が行われ得る。これらの手法の各々では、カメラとシーンとの間の相対的動きの量を示す動きの長さが考慮に入れられる。動きの長さは、サンプル画像フレーム中で符号化された最長動きベクトルとして判定され得、その場合いずれかのブロックが、動きベクトル探索範囲内に収まる最大長のものである動きベクトル用いて符号化されるとすぐに、フレームレートは増加される。このようにして、シーンの小さい一部のみを表すわずか単一のブロックが、最長利用可能動きベクトルを必要とするのに十分に移動したとしても、フレームレートは増加されることになる。代替的に、サンプル画像フレームのための動きの長さは、少なくとも所定の数のブロックが符号化された最長動きベクトル長さとして判定され得る。したがって、1つまたは少数のブロックのみが、動きベクトル探索範囲の最大値に対応する動きベクトルを用いて符号化された場合、これは、フレームレートを増加させるという決定につながらないことになるが、たとえば、ブロックの10%がそのような長い動きベクトルを用いて符号化されていた場合、その長さは、サンプル画像フレームのための動きの長さと見なされることになる。このようにすると、少数のブロックは、Iブロックとして符号化されることを許容され、それにより、場合によっては、追加の画像フレームを追加しないことによってビットを節約することになる。また、そのサンプル画像フレームのための動きの長さとしてサンプル画像フレーム中のすべての動きベクトルの平均またはメジアンを使用すること可能であろう。動きの長さを判定するために使用される手法にかかわらず、各動きベクトルは、x方向における長さならびにy方向における長さを有し得る。動きベクトルがどのように符号化されるかに応じて、各動きベクトルの全長だけでなく、それぞれx成分の長さおよびy成分の長さをも検討することが興味深いことがある。
上記で説明された手法を用いると、動きベクトル探索範囲内に収まる動きベクトルよりも長い動きベクトルを見つけることが可能でないことに留意され得る。しかしながら、サンプル画像フレームとそれの参照フレームとをダウンスケールすることによって、動きベクトル探索範囲は元の画像フレームのより大きい部分を効果的にカバーし得、そのため、より長い動きベクトルは見つけられ得る。このようにすると、いくつかの動きベクトルが動きベクトル探索範囲の限界にあるということだけでなく、いくつかの動きベクトルが一層長いということをも判定することが可能である。見つけられ得る動きベクトルがどのくらい長いかは、サンプル画像フレームと基準画像フレームとがどんなファクタを用いてダウンスケールされるかに依存する。動きベクトル探索の前に画像フレームをダウンスケールすることによって、フレームレートが増加されるべきであるということだけでなく、どのくらい増加されるかということをも判定することが可能であり得る。たとえば、ダウンスケールすることは、全規模画像中で見つけられ得たものよりも、実際に3倍長い動きベクトルを見つけることを可能にする場合、次いで、最長動きベクトルが動きの長さしきい値の2倍である場合、調整部分中の画像フレームごとに1つの追加の画像フレームを追加することによってフレームレートは2倍にされるべきであり、最長動きベクトルが動きの長さしきい値の3倍である場合、調整部分中の画像フレームごとに2つの追加の画像フレームを追加することによって、フレームレートは3倍にされるべきである。
サンプル画像フレームのための動きの長さを判定する別のやり方は、カメラのPTZコントローラからの入力を使用することである。PTZコントローラはカメラのパンおよびチルト移動を制御し、ズーミングをも制御する。ズーミングはカメラの実際の移動を内包しないが、カメラによってキャプチャされた画像では、ズーミングはカメラの移動と等価な効果を有することになる。PTZコントローラからの入力は、移動がどのくらい多くのピクセルブロックに対応するかを示し得る。代替的に、PTZ入力は、たとえば、カメラ視野がどのくらいの程度移動したかを伝え得、次いで、この情報は、いくつかのピクセルブロックに変換され得る。PTZ移動は、しばしば、x方向およびy方向における移動、ならびに回転を伴う。これらの移動の重み付けされた平均が計算され得、サンプル画像フレームのための動きの重み付けされたグローバル長さは動きの長さしきい値と比較され得る。動きの長さが動きの長さしきい値を上回る場合、調整部分のフレームレートは増加される。
さらに、サンプル画像フレームのための動きの長さは、カメラ中の動きセンサーを使用して判定され得る。動きセンサーは、たとえば、加速度計またはジャイロスコープであり得る。この手法はサンプル画像フレームのための動きのグローバル長さをも提供し、動きのこの長さは、フレームレートが増加されるべきであるかどうかを判定するための動きの長さしきい値と比較される。
どの手法が使用されるかにかかわらず、Pフレーム中のIブロックの数を低減することによって行われ得るビットレート節約は、追加の画像フレームを追加することによって引き起こされるビットレート増加に対して重み付けされなければならない。
概して、推定値は、動きベクトルを符号化するための、Pブロックを符号化するための、およびIブロックを符号化するためのビットコストから作られ得る。簡略化された例として、動きベクトルを符号化するために必要とされるビット数は、動きベクトルの長さのlogに比例する。多くのブロックが同期動きベクトルを有する場合、ビットコストはより低くなる。Pブロックを符号化するために必要とされるビット数は、たとえば、20ビットにおいて推定され、Iブロックを符号化するために必要とされるビット数は200ビットにおいて推定され得る。フレームのためのオーバーヘッドコストも推定され、画像フレーム中のブロックの数で除算され、たとえば、ブロックごとに0.1ビットであり得る。
第1の画像フレーム10から第2の画像フレーム20への動きが、最大動きベクトル長さを上回るが、追加の画像フレームの符号化が、最大動きベクトル長さを下回るまで、ある画像フレームから次の画像フレームへの動きを低減する状況では、ビットレートは節約される。たとえば、第1の画像フレーム10から第2の画像フレーム20への動きが、最大動きベクトル長さの2倍である場合、第1の画像フレームと第2の画像フレームとの間の追加の画像フレーム30の符号化は、第1の画像フレーム10と追加の画像フレーム30との間の最大動きベクトル長さまで、および追加の画像フレーム30と第2の画像フレーム20との間の最大動きベクトル長さまで動きを低減する。上記で与えられた例となる数の場合、これは、Iブロックのビットコスト-2×Pブロックのコスト、すなわち、200-2*20=160ビットの節約を与え得る。この節約の確率はp0と表示され得、ピクセルのブロックごとに計算される。
フレームレートを増加させることが、ビットレート単位の損失を与えることになる状況もある。これらのうちの1つは、第1の画像フレームと第2の画像フレームとの間で往復する振動(oscillating)動きがあるときであり、これは、その場合、振動オブジェクトが、追加の画像フレームに対応する、第1の画像フレームと第2の画像フレームとの間のある時点においてそれの元の位置からの最大変位にあり得るが、振動オブジェクトは、第2の画像フレームにおいてそれの元の位置に戻り得る。この損失の確率はp1と表示され得る。
損失状況のうちの別の状況は、加速する移動があるときである。第1の画像フレームから追加の画像フレームへの動きは、最大動きベクトル長さを下回り得るが、増加する速度がある場合、追加の画像フレームから第2の画像フレームへの動きは大きすぎることがあり、そのため、第2の画像フレーム中のブロックは、いずれにせよIブロックとして符号化される必要があり得、そのため、追加の画像フレームは役に立たなかったが、ただビットを追加した。この損失の確率はp2と表示され得る。
同様に、減速する移動があるとき、損失が起こり得る。そのような状況では、第1の画像フレームから追加の画像フレームへの動きは、最大動きベクトルの長さの半分超であり、これは、追加の画像フレームがなければ、第1の画像フレームから第2の画像フレームへの動きが、最大動きベクトル長さを上回ることになることを示し得る。しかしながら、減速がある場合、追加の画像フレームから第2の画像フレームへの動きは、第1の画像フレームから第2の画像フレームへの動き全体が最大動きベクトル長さを下回るのに十分小さくなり得る。この損失の確率はp3と表示され得る。
確率p0、p1、p2、およびp3を考慮に入れると、ピクセルのブロックごとに節約を計算することは可能である。この節約がオーバーヘッドコストよりも高い場合、フレームレートは増加されるべきである。
フレームレートが増加されるときと同様の様式で、シーン中に動きがほとんどまたはまったくないとき、フレームレートを減少させることがビットレート単位で有益になるインスタンスがある。フレームレート減少は、通常、エンコーダからの出力ビットレートを減少させることが予想されるが、上記の考察からよく理解され得るように、これが常にそうであるとは限らない。シーン中になんらかの移動があり、フレームレートが減少される場合、あるフレームから次のフレームへのブロックの変位が、動きベクトル探索範囲内に収まる最長動きベクトルよりも大きいので、イントラコーディングを使用してコーディングされなければならないピクセルブロックの数は増加し得る。上記で説明された同じ原理は、フレームレートが安全に減少され得るときを判定するために使用され得る。サンプル画像フレームのための動きの長さが判定される。すでに説明されたように、これは、いくつかの異なるやり方で行われ得る。動きの長さは動きの長さしきい値と比較され、動きの長さが動きの長さしきい値を下回るか、または所定のマージンだけ動きの長さしきい値を下回る場合、フレームレートを減少させるか、または言い換えれば時間フレーム距離を増加させるという決定が行われ得る。これは、ビデオシーケンスの調整部分から1つまたは複数の画像フレームを削除することによって行われ得る。それは、ビデオシーケンスの時間的に後の符号化された部分中の1つまたは複数の画像フレームを符号化するのを控えることによっても行われ得る。
本発明の原理は、次に、図9に例示された一例の助けをかりて要約されることになる。
図1中のカメラ2などのカメラによって、画像がキャプチャされる。カメラ2は、以下でさらに論じられることになる図11にも示されている。画像をエンコーダにおいて符号化し(図9中のステップS1)、それにより、ビデオストリームの符号化された部分を形成する。エンコーダの動きベクトル探索範囲に基づいて動きの長さしきい値を設定する(S2)。上述のように、動きベクトル探索範囲は、しばしば、いくつかのピクセルブロックの幅およびいくつかのピクセルブロックの高さを有するエリアとして設定される。いくつかのエンコーダでは、動きベクトル探索は、代わりに最大探索時間によって限定される。サンプル画像フレームのための動きの長さを判定する(S3)。サンプル画像フレームは、ビデオストリームの符号化された部分中の符号化された画像フレームのうちの1つである。上記で説明されたように、動きの長さの判定は、様々なやり方で行われ得る。サンプル画像フレームのための動きの長さを動きの長さしきい値と比較し(S4)、この比較に基づいて、ビデオストリームの調整部分の時間フレーム距離を調整する(S5)。動きの長さが動きの長さしきい値を上回る場合、時間フレーム距離は減少され、すなわち、フレームレートは増加される。動きの長さが動きの長さしきい値を下回る場合、時間フレーム距離は増加されるか、または不変のままにされ得る。時間フレーム距離の調整は、所定の数の連続画像フレームからなるビデオストリームの調整部分のために実施され得る。調整部分の後に、フレームレート、それゆえに時間フレーム距離は、調整の前のそれの状態に戻され得る。代替的に、調整されたフレームレートは、後のサンプル画像フレームと動きの長さしきい値とにおける動き長さの新しい比較が、新しい調整が必要とされるか、または元のフレームレートへの復帰が望ましいことを示すまで維持され得る。
いくつかの適用例では、ビデオ管理システムなど、符号化されたビデオストリームの受信側は、ビデオストリームを表示または記憶するとき、フレームレートを調整することが可能でないことがある。そのような場合、非ディスプレイフラグを用いて追加の画像フレームを符号化することが有利であり得る。非ディスプレイフラグは、受信端上のデコーダに、追加の画像フレームが表示されるべきでないが、復号のためにのみ使用されるべきであることを通知することになる。それゆえ、表示された画像フレームは、エンコーダ(およびデコーダ)のフレームレートが増加されても元のフレームレートを保持する。
追加の画像フレームが表示されるべきでない場合、動きベクトルを用いるが、残差を用いずに追加の画像フレームを符号化することによって、さらなるビットレート節約が達成され得る。このようにして、デコーダは、非ディスプレイフラグを有しない最も近い先行する参照フレーム中の参照ブロックへの追跡のために追加の画像フレームの動きベクトルを使用することになり、符号化された残差は、それらの間の追加の画像とでなく、その参照フレームと比較された残差であることになる。
図10では、ビデオストリームを形成するように構成された画像処理ユニット90の一例のブロック図が示されている。画像処理ユニット90は、上記で説明された方法に従って作動し得る。画像処理ユニット90は、カメラ2によってキャプチャされた画像を受信するように配置された受信機91を有する。さらに、画像処理ユニット90は、ビデオストリームの符号化された部分を形成するために、受信された画像に基づいて、画像フレームを符号化するように配置されたエンコーダ92を有する。画像処理ユニット90はフレームレートコントローラ93をも有する。フレームレートコントローラ93は、ビデオストリームの符号化された部分中の符号化された画像フレームのうちの1つである、サンプル画像フレームの動きの長さを判定するように配置される。上記ですでに説明されたように、動きの長さは、時間的に先行する画像フレームに対するサンプル画像フレームにおける、カメラとシーンとの間の相対的動きの量を示す。フレームレートコントローラ93は、エンコーダの動きベクトル探索範囲に基づいて動きの長さしきい値を設定するように構成される。さらに、フレームレートコントローラは、判定された動きの長さを、設定された動きの長さしきい値と比較し、比較の結果に基づいて、ビデオストリームの少なくとも調整部分の選定された時間フレーム距離を調整するように構成される。言い換えれば、動きの長さと動きの長さしきい値との比較に基づいて、フレームレートは調整され得る。上記で説明されたように、調整部分は、ビデオストリームの符号化された部分中に、またはビデオストリームの時間的に後の符号化された部分中に含まれる。画像処理ユニット90はソフトウェア、ファームウェア、またはハードウェア、あるいはそれらの任意の組合せで具現され得る。
画像処理ユニット90は、図1に、また図11に示されているカメラ2などのカメラ中に組み込まれ得る。カメラ2はレンズ101と、画像をキャプチャするための画像センサー102とを有する。当業者が理解するように、カメラ2は、図11に示されている構成要素は別として他の構成要素も有する。しかしながら、それらの他の構成要素は、本発明を説明するために必要でないので、それらは図11に示されておらず、さらに論じられない。
画像処理ユニット90はカメラ2中の独立型ユニットであり得るか、またはそれはカメラ2の異なる構成要素からなり得る。たとえば、カメラ2は、画像処理ユニット90の機能のうちのいくつかを実施し、雑音フィルタ処理、ホワイトバランシング、およびひずみ補正など、他の機能をも実施する、中央処理ユニットを有し得る。
当業者は、多くのやり方で上記で説明された実施形態を変更し、依然として、上記の実施形態に示されているように本発明の利点を使用することができることが諒解されよう。一例として、上記の説明では、サンプル画像フレームのための動きの長さが動きの長さしきい値を上回るとき、すなわち、1つの追加の画像フレームが連続画像フレームの各ペア間に追加されるとき、フレームレートは2倍にされる。しかしながら、2つ以上の追加の画像フレームを追加することが可能である。概して、10個以下の追加の画像フレームが追加されることになる。画像が符号化されるよりも高いフレームレートにおいて画像がキャプチャされる限り、追加の画像フレームを追加することが可能であることに留意されたい。
時間フレーム距離、または言い換えるとエンコーダのフレームレートを調整する決定は、受身的であり得る。これは、概して、動きがシーン中の実際の移動によって引き起こされるとき、またはカメラが振動しているとき、当てはまることになる。しかしながら、調整はまた、動きがあらかじめ知られている場合に能動的であり得る。これは、PTZ移動について当てはまり、より詳細には、いわゆるガードツアーについて当てはまり得る。ガードツアーは、カメラの事前プログラムされた移動である。それは、PTZカメラの周りの空間中のいくつかのプリセット位置を訪れることと、指定された時間または指定された数のフレームの後の次のプリセット位置に異動することとを伴い得る。このようにすると、カメラの移動(またはズーミング)がいつ開始することになるか、およびそれがいつ停止することになるかが知られる。移動またはズーミングがどのくらいの速さになるかも知られ得る。この事前知識がある場合、時間フレーム距離またはフレームレートの調整は、前に計画され得る。
上記の例では、時間フレーム距離の調整は、ビデオストリームの調整部分中の連続画像フレーム間の1つの追加の画像フレームを符号化することによって行われていた。しかしながら、すでに示唆されたように、より多くの追加の画像フレームを追加することが時々有益であり得る。エンコーダの符号化フレームレートが、画像がキャプチャされるフレームレートよりも低い限り、エンコーダが、その増加されたフレームレートにおいて動作することが可能であるという条件で、時間フレーム距離を調整するために追加の画像フレームを符号化することが可能である。時間フレームレートが、しばしば、1つまたは2つの追加の画像フレームの追加によって、それぞれ、1/2にされるか、または3で除算され得、したがって、ビデオストリームの調整部分のフレームレートを2倍にするかまたは3倍にすることは予見される。したがって、より一般論として、時間フレーム距離は、ビデオストリームの調整部分中の連続画像フレーム間のN≧1個の追加の画像フレームを符号化することによって調整される。追加の画像フレームの数は、通常N=10よりも高くならない。Nは、動的に変更され得、前に論じられたビットコストの推定値に基づき得る。
ある点において、シーン中に動きがあっても、フレームレートを増加させることが意味をなさないことを理解されたい。たとえば、動きが非常に高速であるので、フレームレートは、移動を伴うすべてのブロックがPブロックとして符号化され得るのに十分に増加され得ない場合、より低いフレームレートを維持し、いくつかのブロックをIブロックとして符号化することが、より賢明であり得る。上側動きの長さしきい値が、たとえば、N×動きの長さしきい値、または√N×動きの長さしきい値として設定され得る。たとえば、動きの長さが動きの長さしきい値を上回る場合、1つまたは複数の追加の画像フレームを符号化することによって、または動きの長さが動きの長さしきい値を下回る場合、フレームを削除することによって、動きの長さが上側動きの長さしきい値を上回る場合、時間フレーム距離の調整が行われるべきでないことが決定され得、動きの長さが上側動きの長さしきい値を下回る場合、時間フレーム距離が調整されるべきであることが決定され得る。
上記で、画像処理ユニットはカメラ中に組み込まれているものとして説明されたが、それは別個のユニットとして配置され、カメラに動作可能に接続されることもある。
画像処理ユニットによって受信された画像は、キャプチャしているカメラから直接受信され得るか、またはそれらは、前にキャプチャされ、それらが画像処理ユニットに送信される前に記憶されていることがある。したがって、画像の直接のソースは、画像センサーまたはデータファイルであり得る。
上記の例では、PTZカメラが挙げられた。本発明は、パンニングおよびチルティングが可能であるがズーミングが可能でないカメラの場合も有用であることを理解されたい。そのようなカメラはPTカメラと称されることがある。PTカメラは、カメラにパンニングおよびチルティング能力を与える、いわゆるPTヘッド上に配置された固定カメラからなり得る。さらに、本発明は、ズーミングが可能な固定カメラ、ならびにズーミングが不可能な固定カメラ、すなわち、固定焦点距離カメラに関連する。
カメラは、可視光を採用するカメラ、NIR(近赤外線)放射を採用するカメラ、または感熱式カメラなど、任意の種類のカメラであり得る。
カメラは有利にはデジタルカメラであるが、それは、代わりに、デジタル化ユニットに接続されたアナログカメラであり得る。
本発明は、監視カメラと称されることがある、監視するカメラのコンテキストで説明されたが、それは、他のカメラアプリケーションにおいても利点になるように使用され得る。
エンコーダは、動き推定および動き補償を採用する符号化標準に従って動作し得る。エンコーダは、たとえば、H.264、H.265、またはVP9エンコーダなどのブロックベースハイブリッドエンコーダであり得る。
本発明の方法は、コンピュータ可読、非一時的記憶媒体に記憶された命令を実行することによって実施され得る。命令は、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、集積回路中に実装されたカスタムメイドの処理デバイス、ASIC、FPGA、または個別構成要素を含む論理回路など、処理能力を有するデバイスによって実行され得る。
したがって、本発明は、図示された実施形態に限定されるべきでないが、添付の特許請求の範囲によってのみ規定されるべきである。
1 シーン
2 カメラ
3 車
10 第1の画像
11 ピクセルのブロック
12 対応するブロック
13 ブロック
14 探索エリア
20 第2の画像
21 ピクセルのブロック
22 ブロック
30 追加の画像
32 参照ブロック
34 動きベクトル探索エリア
50 ビデオシーケンス
60 ビデオシーケンス
70 ビデオストリーム
90 画像処理ユニット
91 受信機
92 エンコーダ
93 フレームレートコントローラ
101 レンズ
102 画像センサー

Claims (11)

  1. カメラによってキャプチャされたシーンの画像に基づいてビデオストリームを形成するための方法であって、前記方法は、
    前記カメラによってキャプチャされた画像に基づいて、エンコーダによって、画像フレームを符号化し(S1)、前記ビデオストリームの符号化された部分を形成することと、
    前記符号化された部分の調整部分( )中のサンプル画像フレームの動きの長さを、前記サンプル画像フレームのブロックの少なくとも10%を符号化した最動きベクトル長さとして判定する(S3)ことと
    動きの長さしきい値を、前記エンコーダの動きベクトル探索範囲内で検出可能なピクセルのブロックに関する動きの最も長い長さであるように設定する(S2)ことと、
    定された前記動きの長さを、設定された前記動きの長さしきい値と比較する(S4)ことと、
    定された前記動きの長さが、設定された前記動きの長さしきい値を上回るときに、前記カメラによってキャプチャされた1つまたは複数の追加の画像に基づいてN≧1個の(1つまたは複数の)追加の画像フレーム(30)を符号化することによって、前記調整部分の選定された時間フレーム距離を減少させること(S5)であって、前記1つまたは複数の追加の画像フレームが前記調整部分の連続画像フレーム(10、20)の間に位置し、前記1つまたは複数の追加の画像フレームは後の符号化されたフレームのインターコーディングにおいて参照フレームとして使用でき、前記1つまたは複数の追加の画像フレームは、前記1つまたは複数の追加の画像フレームが前記ビデオストリームの受信機によって表示されるべきでないことを示す非表示マーカーに関連付けられ、それにより、前記受信機における表示されるフレームレートを維持しつつ、ピクセルブロックがインターコーディングされ得る尤度が増加する、時間フレーム距離を減少させることと、
    定された前記動きの長さが、設定された前記動きの長さしきい値を下回るときに、前記ビデオストリームの符号化された画像フレームを削除することによって前記調整部分の選定された前記時間フレーム距離を増加させる、または、前記時間フレーム距離を不変のままにすること
    を含む、方法。
  2. 前記1つまたは複数の追加の画像フレーム(30)が、前記サンプル画像フレーム(20)と先行する画像フレーム(10)との間に位置する、請求項1に記載の方法。
  3. 前記1つまたは複数の追加の画像フレーム(30)が、動きベクトルを用いて、および残差を用いずにインターフレーム符号化される、請求項1または2に記載の方法。
  4. 定された前記動きの長さを上側動きの長さしきい値と比較することと、
    定された前記動きの長さが、前記動きの長さしきい値を上回り、かつ、前記上側動きの長さしきい値を下回るという条件に基づいて、選定された前記時間フレーム距離を調整することと
    をさらに含む、請求項1から3のいずれか一項に記載の方法。
  5. 前記符号化された部分中の前記サンプル画像フレームの動きの長さを前記判定することが、
    前記サンプル画像フレーム(20)を時間的に先行する画像フレーム(10)と比較すること
    を含む、請求項1から4のいずれか一項に記載の方法。
  6. 前記比較することの前に、前記サンプル画像フレーム(20)と前記先行する画像フレーム(10)とをスケールダウンすることをさらに含む、請求項5に記載の方法。
  7. 前記カメラの動きを示すデータを受信すること
    をさらに備え、
    前記サンプル画像フレームの動きの長さを前記判定することが、受信された前記データに基づく、請求項1から6のいずれか一項に記載の方法。
  8. 動きを示す前記データが、前記カメラの動きセンサーまたはパンチルトズーム(PTZ)制御ユニットから受信される、請求項7に記載の方法。
  9. 処理能力を有するデバイスに請求項1から8のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
  10. ビデオストリームを形成するように構成された画像処理ユニットであって、前記画像処理ユニットは、
    画像センサー(102)によってキャプチャされたシーンの画像を受信するように配置された受信機(91)と、
    信された前記画像に基づいて、前記ビデオストリームの符号化された部分を形成するために、画像フレームを符号化するように構成されたエンコーダ(92)と、
    フレームレートコントローラ(93)であって、
    前記符号化された部分の調整部分( )中のサンプル画像フレーム(20)の動きの長さを、前記サンプル画像フレームのブロックの少なくとも10%を符号化した最動きベクトル長さとして判定することと
    動きの長さしきい値を、前記エンコーダの動きベクトル探索範囲内で検出可能なピクセルのブロックに関する動きの最も長い長さであるように設定することと、
    定された前記動きの長さを、設定された前記動きの長さしきい値と比較することと、
    定された前記動きの長さが、設定された前記動きの長さしきい値を上回るときに、前記画像センサーによってキャプチャされた1つまたは複数の追加の画像に基づいてN≧1個の(1つまたは複数の)追加の画像フレーム(30)を符号化することによって、前記調整部分の選定された時間フレーム距離を減少させることであって、前記1つまたは複数の追加の画像フレームが前記調整部分の連続画像フレーム(10、20)の間に位置し、前記1つまたは複数の追加の画像フレームは後の符号化されたフレームのインターコーディングにおいて参照フレームとして使用でき、前記1つまたは複数の追加の画像フレームは、前記1つまたは複数の追加の画像フレームが前記ビデオストリームの表示用受信機によって表示されるべきでないことを示す非表示マーカーに関連付けられ、それにより、前記表示用受信機における表示されるフレームレートを維持しつつ、ピクセルブロックがインターコーディングされ得る尤度が増加する、時間フレーム距離を減少させることと、
    定された前記動きの長さが、設定された前記動きの長さしきい値を下回るときに、前記ビデオストリームの符号化された画像フレームを削除することによって前記調整部分の選定された前記時間フレーム距離を増加させる、または、前記時間フレーム距離を不変のままにすること
    を行うように構成されたフレームレートコントローラ(93)と
    を備える、画像処理ユニット。
  11. 請求項10に記載の画像処理ユニット(90)を備えるカメラ。
JP2018057357A 2017-04-25 2018-03-26 ビデオストリームを形成するための方法および画像処理ユニット Active JP7011506B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP17167949.1A EP3396952B1 (en) 2017-04-25 2017-04-25 Method and image processing unit for forming a video stream
EP17167949.1 2017-04-25

Publications (3)

Publication Number Publication Date
JP2018201189A JP2018201189A (ja) 2018-12-20
JP2018201189A5 JP2018201189A5 (ja) 2021-12-02
JP7011506B2 true JP7011506B2 (ja) 2022-01-26

Family

ID=58632282

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018057357A Active JP7011506B2 (ja) 2017-04-25 2018-03-26 ビデオストリームを形成するための方法および画像処理ユニット

Country Status (4)

Country Link
US (1) US11102508B2 (ja)
EP (1) EP3396952B1 (ja)
JP (1) JP7011506B2 (ja)
CN (1) CN108737837B (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2691617C (en) 2007-05-31 2020-07-21 University Of Iowa Research Foundation Reduction of off-target rna interference toxicity
US20180302455A1 (en) * 2017-04-18 2018-10-18 Facebook, Inc. Systems and methods for adjusting video transmission bitrates
EP3474548A1 (en) * 2017-10-18 2019-04-24 Axis AB Method and encoder for encoding a video stream in a video coding format supporting auxiliary frames
US10412391B1 (en) * 2018-08-06 2019-09-10 AnyClip Ltd. Minimize number of encoded video stream frames for content recognition
US10855988B2 (en) * 2018-12-19 2020-12-01 Qualcomm Incorporated Adaptive prediction structures
EP3713235B1 (en) * 2019-03-19 2023-08-02 Axis AB Methods and devices for encoding a video stream using a first and a second encoder
JP7423196B2 (ja) * 2019-05-09 2024-01-29 キヤノン株式会社 撮像装置、撮像システム、およびその制御方法
EP3745706B1 (en) * 2019-05-29 2021-06-30 Axis AB System and method for video processing with picture stabilization and predictive compression
CN114073072A (zh) * 2019-07-10 2022-02-18 索尼集团公司 图像处理装置和图像处理方法
EP3796652B1 (en) * 2019-09-23 2022-05-18 Axis AB Video encoding method and method for reducing file size of encoded video
EP3833028B1 (en) 2019-12-03 2022-02-09 Axis AB Method and system for calculating a cost of encoding a motion vector
US11645766B2 (en) * 2020-05-04 2023-05-09 International Business Machines Corporation Dynamic sampling for object recognition
CN112104871B (zh) * 2020-11-13 2021-03-02 腾讯科技(深圳)有限公司 一种数据编码方法、装置以及计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008035281A (ja) 2006-07-28 2008-02-14 Sanyo Electric Co Ltd 画像符号化方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6020931A (en) * 1996-04-25 2000-02-01 George S. Sheng Video composition and position system and media signal communication system
US6731813B1 (en) 1999-10-07 2004-05-04 World Multicast.Com, Inc. Self adapting frame intervals
KR20050078099A (ko) * 2004-01-30 2005-08-04 삼성전자주식회사 적응적으로 키 프레임을 삽입하는 비디오 코딩 장치 및 방법
JP4687404B2 (ja) 2005-11-10 2011-05-25 ソニー株式会社 画像信号処理装置、撮像装置、および画像信号処理方法
US20080232468A1 (en) 2007-03-21 2008-09-25 Mediatek Inc. Method and apparatus for adaptive gop structure determination
EP2487649A1 (de) * 2008-03-18 2012-08-15 Trident Microsystems (Far East) Ltd. Testen eines Bewegungsvektors
KR101467875B1 (ko) 2008-09-04 2014-12-02 삼성전자주식회사 프레임 레이트의 가변화 설정이 가능한 디지털 카메라 및 그 제어방법
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
EP3021579B1 (en) * 2014-11-14 2016-10-12 Axis AB Method and encoder system for encoding video

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008035281A (ja) 2006-07-28 2008-02-14 Sanyo Electric Co Ltd 画像符号化方法

Also Published As

Publication number Publication date
CN108737837A (zh) 2018-11-02
EP3396952B1 (en) 2019-04-17
US20180310022A1 (en) 2018-10-25
CN108737837B (zh) 2023-06-16
JP2018201189A (ja) 2018-12-20
EP3396952A1 (en) 2018-10-31
US11102508B2 (en) 2021-08-24

Similar Documents

Publication Publication Date Title
JP7011506B2 (ja) ビデオストリームを形成するための方法および画像処理ユニット
KR102067199B1 (ko) 비디오를 인코딩하기 위한 방법 및 인코더 시스템
JP5908581B2 (ja) 画像キャプチャパラメータに基づくビデオ符号化の制御
Paul et al. A long-term reference frame for hierarchical B-picture-based video coding
US9332279B2 (en) Method and digital video encoder system for encoding digital video data
TWI776867B (zh) 用於編碼視訊串流之方法、視訊編碼器及視訊攝影機
JP2017201777A (ja) ビデオストリームをエンコードするための方法及びシステム
JP2008048243A (ja) 画像処理装置、画像処理方法および監視カメラ
CN114500787A (zh) 基于照相机运动生成替代图像帧
US10341675B2 (en) Video encoding method and video encoder system
JP6707334B2 (ja) リアルタイム符号化のための方法及び装置
EP3131295A1 (en) Video encoding method and system
CN114157870A (zh) 编码方法、介质及电子设备
JP6836614B2 (ja) ビデオストリーム内のフレームシーケンスを符号化する方法のための方法、装置およびシステム
WO2019167546A1 (ja) 映像符号化装置及び映像符号化方法
Lin et al. Macroblock Classification Method for Computation Control Video Coding and Other Video Applications Involving Motions
JP2002218399A (ja) 動画像サーチ処理方法、動画像サーチ処理装置及び記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210325

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210325

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210407

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210803

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20211020

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220114

R150 Certificate of patent or registration of utility model

Ref document number: 7011506

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150