JP2023120155A - オーバレイを含むビデオストリームの符号化 - Google Patents
オーバレイを含むビデオストリームの符号化 Download PDFInfo
- Publication number
- JP2023120155A JP2023120155A JP2023015571A JP2023015571A JP2023120155A JP 2023120155 A JP2023120155 A JP 2023120155A JP 2023015571 A JP2023015571 A JP 2023015571A JP 2023015571 A JP2023015571 A JP 2023015571A JP 2023120155 A JP2023120155 A JP 2023120155A
- Authority
- JP
- Japan
- Prior art keywords
- image
- frame
- overlay
- video stream
- encoding
- 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
- 238000000034 method Methods 0.000 claims abstract description 100
- 238000004590 computer program Methods 0.000 claims abstract description 22
- 239000013598 vector Substances 0.000 claims abstract description 19
- 238000012544 monitoring process Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 11
- 238000009877 rendering Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 13
- 230000008901 benefit Effects 0.000 description 12
- 230000003190 augmentative effect Effects 0.000 description 4
- 241001465754 Metazoa Species 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 208000003028 Stuttering Diseases 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000010813 municipal solid waste Substances 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/184—Methods 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 bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/187—Methods 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 scalable video layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
- H04N19/23—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with coding of regions that are present throughout a whole video segment, e.g. sprites, background or mosaic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】オーバレイを含むビデオストリームを符号化する方法、デバイス、コンピュータプログラムおよびコンピュータプログラム製品を提供する。【解決手段】方法は、第1の画像をキャプチャすることと、第1の画像の第1の位置にオーバレイを追加し、ビデオストリームの第1のフレーム中の第1の画像を符号化することと、場面の第2の画像をキャプチャすることと、第2の画像中におけるオーバレイの所望の位置を決定することと、非表示フレームとしてマークされた第2のフレームの中の第2の画像を符号化することと、所望の位置と第1の位置の間の相違に基づく運動ベクトルを有する第1のフレームを参照するオーバレイの所望の位置に時間的に予測されるマクロブロックを含み、第1のフレームを参照するオーバレイの所望の位置の外側のスキップ-マクロブロックを含む第3のフレームを生成し符号化することと、を含む。【選択図】図2A
Description
本開示はビデオ符号化の分野に関する。より詳細には、本開示は1つまたは複数のオーバレイ(例えば拡張現実感アプリケーションに使用されるようなオーバレイ)を含むビデオストリームの符号化に関する。
拡張現実感(AR)などの先端技術は、カメラを通して世界を見るときユーザの体験を強化しようと試みる。これには、ユーザが現在見ているものが厳密に何であるかについてより多くの情報をユーザに提供するために、ビデオストリームのキャプチャ画像に例えば文章または他の図形をオーバレイすることを含むことができる。このような技術によって利用可能とされている多くの例のうちの1つとして、例えば街路および様々な建物を描写しているビデオストリームでは、例えば特定の建物の住所および/または例えばその建物の所有者等を示すオーバレイが追加され得る。これは、カメラを使用して街路をユーザが撮影することによって様々な建物について学ぶことができるため、例えば街路を通ろうとするときユーザの助けとなり得る。
オーバレイは、ビデオストリームのキャプチャ画像上で生成され、レンダリングされる。オーバレイは、例えば、ビデオストリームによって現在キャプチャされている場面に映っている特定の建物、人、観光名所または他の対象と関連付けられ得る。現実の状況では、場面をキャプチャするために使用されるカメラが動かされ、かつ/または例えばカメラの視野(FOV)が変化すると、ビデオストリームの次のキャプチャ画像が処理される際に、対象が静止している場合、場面自体に対して固定された状態を維持するようにオーバレイが再レンダリングされるように、オーバレイの位置が更新される。オーバレイを移動させる他の理由は、例えば関連付けられた対象が場面の中でそれ自体が非静止である(動いている)ことであり得る。
しかしながら、カメラが他のタスク(対象の検出および追跡、ビデオストリームの符号化、または出力ビデオストリームを生成するために必要な他の処理など)の実施と同時に占有される場合、例えばカメラが変化し、かつ/または対象が移動する毎にオーバレイを生成し、再レンダリングするために必要な処理能力(CPU、GPUおよび/またはメモリに関して)を必ずしも利用することができるとは限らず、したがってビデオストリーム中の次の画像が表示/符号化されることになっている場合、それに間に合うようにオーバレイの再生成および再レンダリングを完了することができない場合がある。オーバレイの再生成および再レンダリングが時間内に完了しない場合、ビデオストリームにおける同期の問題が生じてスタッタリングの原因になり、または例えばオーバレイが消失し、あるフレームと次のフレームの間に再出現する原因になり得る。さらに、例えば文章または他の図形の存在により、オーバレイは鮮明な詳細を含むことが多いため、このようなオーバレイの(再)生成および(再)レンダリングが頻繁すぎると、ビデオストリームを符号化し、例えば生成される出力ビデオストリームのビットレートを制御する役割を担っている回路機構およびソフトウェアのためのオーバヘッドが増加し得る。オーバレイがプライバシマスクである場合、そのプライバシマスクが1つまたは複数のフレームの中で消失する危険が許容されることはさらに全くあり得ない。したがって計算能力バジェットが限られている場合、ビデオストリームにおけるオーバレイの(再)生成および(再)レンダリングをより良好に取り扱う必要がある。
上で言及した問題を少なくとも部分的に克服するために、上で言及した必要性を少なくとも部分的に満足するために、本開示は、添付の独立請求項によって定義されている、オーバレイを含むビデオストリームを符号化する改善された方法、ならびに改善されたデバイス、コンピュータプログラムおよびコンピュータプログラム製品を提供する。改善された方法、デバイス、コンピュータプログラムおよびコンピュータプログラム製品の様々な実施形態は、添付の従属請求項に定義されている。
第1の態様によれば、オーバレイを含むビデオストリームを符号化する方法が提供される。方法は、a)場面の第1の画像をキャプチャすることを含む。方法は、b)第1の画像の第1の位置にオーバレイを追加すること、および符号化ビデオストリームの第1のフレームの一部として第1の画像を符号化することを含む。方法は、c)場面の第2の画像をキャプチャすることを含む。方法は、d)第2の画像中におけるオーバレイの所望の位置を決定することであって、第2の画像中におけるオーバレイの所望の位置は、第1の画像中におけるオーバレイの第1の位置とは異なる、所望の位置を決定することを含む。方法は、e)第2のフレームを非表示フレームとしてマークすることを含む、ビデオストリームの第2のフレームの一部として第2の画像を符号化することをさらに含む。方法は、f)オーバレイ(第2の画像中の)の所望の位置における1つまたは複数のマクロブロックが、第1のフレームを参照する時間的に予測されるマクロブロックであることを含み、第1の画像中におけるオーバレイの第1の位置と、第2の画像中におけるオーバレイの所望の位置との間の相違に基づく1つまたは複数の運動ベクトルを有し、オーバレイ(第2の画像中の)の所望の位置の外側の第3のフレームの1つまたは複数のマクロブロックが、ビデオストリームの第2のフレームを参照するスキップ-マクロブロックであることを含む、1つまたは複数のマクロブロックを含むビデオストリームの第3のフレームを生成し(例えばソフトウェアを使用して、場面の対応する第3の画像を受け取ることなく)符号化することをさらに含む。
本明細書において既に考察したように、オーバレイは例えば文章または他の図形を含むことができ、これらの文章または他の図形は、オーバレイが、結果として得られる、画像を符号化するフレームの中に、例えばビデオストリームの中にキャプチャされた場面に映っている対象に関する追加情報を提供することができるよう、画像の上にレンダリングされる。
本明細書において使用されるとき、「時間的に予測されるマクロブロック」は、時間的に予測されるフレームの一部を形成し、そのマクロブロックに対して、ピクセルをレンダリングするために必要な情報がビデオストリームの他のフレーム中の同じピクセル(または他のピクセル)に基づいて見出されるマクロブロック(すなわち画像中のピクセルのブロック、例えば8×8ピクセル、16×16ピクセル等のブロックなど)である。このようなフレームは、インターフレーム、予測フレーム、ディファレンシャルフレーム、または例えばフレームが既に符号化済みのフレームのみに対する参照を含んでいるか、もしくは将来のフレームに対する参照をも含んでいるかどうかに応じてPフレームもしくはBフレームと呼ぶことも可能である。言い換えれば、「時間的に予測されるマクロブロック」という用語の意味は、ビデオ符号化の既に確立されている規格の意味から逸脱することはなく、このようなマクロブロックを含むフレームが、符号化中、時間的に冗長な情報を使用していることを示す役割を果している(すなわちフレームをレンダリングするために必要な情報を符号化されたフレーム自体に完全に含む必要はなく、その代わりに1つまたは複数の先行するフレーム、さらには将来のフレームの中に見出される情報の中に見出すことができ、またはこの情報から少なくとも近似することができるよう)。本明細書において使用されるとき、「スキップ-マクロブロック」(またはSKIPマクロブロック、スキップされたマクロブロック等)もそれらの標準化された意味を有しており、先行する(または将来の)フレームから画像データを直接コピーすることができるよう(何らかの運動ベクトルを必要とすることなく)、現在符号化されているフレーム自体の一部として含まれないよう、先行するフレーム(または将来のフレーム)中の同じ位置で見出されるマクロブロックに対する参照を含む任意のマクロブロックとして理解されたい。最後に、「非表示フレーム」は、フレームが復号ビデオストリームの一部としてレンダリングされないように、但し、フレームから情報を得ることができ、表示されることになる1つまたは複数の他のフレーム(すなわち非表示フレームとしてマークされていない)を復号するために使用することができるよう、依然としてフレームを利用することができるように復号器に命じるために何らかの方法でフラグが立てられるフレームとして理解されたい。第1のフレームは、例えば、1つまたは複数の先行する、または将来のフレームに対する何らかの参照に頼ることなく、フレームを復号しレンダリングするために必要なすべてのデータを含むイントラ予測フレームであってもよい。このようなフレームは、イントラフレーム(Iフレーム)またはフルフレーム等と呼ぶことも可能である。第1のフレーム、第2のフレームおよび第3のフレームは、例えばいわゆるピクチャグループ(GOP:Group of Pictures)の一部を形成することができ、イントラフレーム(第1のフレーム)には、1つまたは複数の時間的に予測されるフレーム、または1つもしくは他のフレーム(1つまたは複数のスキップ-マクロブロックを含むフレームなど)に対する参照を含むフレームが後続する。第3のフレームがオーバレイを含むエリアに対するその第3のフレームの画像データを得ることができる、第1のフレームに対する何らかの等価物が存在する限り、表示されないが、オーバレイを含まないエリアに対する第3のフレームのための画像データのソースとしてのみ使用される第2のフレームが存在する限り、他のシーケンスも当然可能である。
時間的に予測されるマクロブロック、スキップ-マクロブロック、非表示フレームおよび運動ベクトルの上記概念をサポートする任意のビデオ符号化規格を使用して、開示されている方法を実現することができることが想定されている。このような規格の例には、(必ずしもそれらに限定されないが)高効率ビデオ符号化(HEVC:High Efficiency video Coding)H.265、高度ビデオ符号化(AVC:Advanced video Coding)H.264、VP8、VP9、AV1、および汎用ビデオ符号化(VVC:Versatile video Coding)H.266がある。
本開示は、ほとんどオーバヘッドコストが生じることなくオーバレイをレンダリングすることができ、次のフレームが開始される前にフレームのレンダリングを完了することができない危険が低減され、さらには除去される点で、現在利用可能な技術を改善する。この改善は、画像中におけるオーバレイの位置が変化すると、フレームの全再レンダリングを実施せず、その代わりに先行するフレームからのオーバレイに関連する画像データを再使用し、場面の、この目的のために生成された非表示フレームからのオーバレイを含まない部分に関連する画像データを提供することによって達成される。本開示は、既に利用可能で、規格化されているタイプのフレームのみを利用しているため、本開示によれば、符号器は、通常通りに符号化し、ソフトウェアを使用して第3のフレームを構築し、挿入することができる。同様に、場面およびオーバレイのビデオをユーザに首尾よくレンダリングするために何らかの特殊な考慮を必要とすることなく、すべての規格準拠復号器を通常通りに動作させることができる。符号器を使用して運動ベクトルを設定することができ、この設定には、必要な計算時間をさらに短くするためにハードウェア加速を活用することができる。
方法のいくつかの実施形態では、第1の画像中におけるオーバレイの第1の位置と、第2の画像中におけるオーバレイの所望の位置との間の相違は、少なくとも部分的に、第1の画像のキャプチャと第2の画像のキャプチャの間の視野(カメラのFOV)の変化によるものであってもよい。場面をキャプチャするために使用されるカメラは、例えばいわゆるパン-チルト-ズーム(PTZ:pan-tilt-zoom)カメラであってもよく、FOVは、例えばカメラのズームインまたはズームアウトによって、さらには傾斜または移動(パンニング)によって変化し得る。
方法のいくつかの実施形態では、第1の画像中におけるオーバレイの第1の位置と、第2の画像中におけるオーバレイの所望の位置との間の相違は、少なくとも部分的に、オーバレイが場面の中で関連付けられる対象の位置の変化によるものであってもよい。オーバレイは、例えば場面に映っている人と関連付けられ得、その人が場面の中で動いている場合、本明細書において説明されている方法を使用して、効果的な方法でオーバレイを再レンダリングすることができる。
方法のいくつかの実施形態では、第3のフレームは予測フレーム(それ自身に対する参照、および/または複数のフレームのシーケンスにおける1つまたは複数の先行するフレームに対する参照のみを含むPフレーム)であってもよく、または二方向予測フレーム(例えばそれ自身に対する参照を含み、かつ/または1つまたは複数の先行するフレームに対する参照を含むが、任意選択で、もしくはその代わりにシーケンスにおける1つまたは複数の将来のフレームに対する参照をも含むBフレーム)であってもよい。第3のフレームは、第3のフレームが第2のフレームを振り返るよう、符号化ビデオストリームにおける第2のフレームの後に挿入することができる。
方法のいくつかの実施形態では、第3のフレームはBフレームであってもよく、第3のフレームが第2のフレームを前方参照するよう、符号化ビデオストリームにおける第2のフレームの前に挿入することができる。
方法のいくつかの実施形態では、第1の画像および第2の画像は同じカメラを使用してキャプチャすることができる。他の実施形態では、1つのカメラを使用して第1の画像をキャプチャし、別の第2のカメラを使用して第2の画像をキャプチャすることを想定することができる(例えば場面のパノラマ画像を提供するように構成されたカメラ配置における)。
方法のいくつかの実施形態では、オーバレイは拡張現実感(AR)オーバレイであってもよい。
方法のいくつかの実施形態では、方法は、第1の画像および/または第2の画像をキャプチャするために使用されるカメラの中で実施することができる。カメラは、例えばモニタリングカメラ(監視カメラ等など)であってもよい。他の実施形態では、方法はこのようなカメラを含むカメラシステムの中で実施することができるが、必ずしもカメラ自体の中である必要はなく、その代わりに例えばビデオ処理サーバ等の中で実施することも可能である。
方法のいくつかの実施形態では、オーバレイは場面に対して固定することができる。例えばオーバレイは、建物、街路または他のタイプの不動静止構造などの動かない場面に映っている対象と関連付けられ得る。
方法のいくつかの実施形態では、方法は、第2の画像および第2のフレームの一部としてオーバレイを(代わりに)レンダリング/追加し符号化するために必要な計算時間を予測することを含むことができる。この必要な計算時間が閾値より短いことが決定されると、方法は、第3のフレームを生成する代わりにこのステップを省略することができ、その代わりに第2の画像の所望の位置にオーバレイを追加することができ、ビデオストリームの第2のフレームの一部として第2の画像を符号化することができる。この方法は、第1のフレームの後に第2のフレームをレンダリングすることができるよう、第2のフレームを非表示フレームとしてマークすることを省略することができる。この実施形態は、十分な計算能力を利用することができる場合(すなわち上記予測が利用可能な計算資源に基づく閾値である場合)、代わりにオーバレイを直接再レンダリングすることができる点で有利である。これは、オーバレイをレンダリングする際に、例えば第1の画像のキャプチャと第2の画像のキャプチャの間の場面の例えば視点の変化も考慮されることになるため、例えば改善された品質を提供することができる。
本開示の第2の態様によれば、オーバレイを含むビデオストリームを符号化するためのデバイスが提供される。デバイスはプロセッサおよびメモリを含む。メモリは命令を記憶し、プロセッサによって命令が実行されると、デバイスは、場面の第1の画像をキャプチャし、第1の画像の第1の位置にオーバレイを追加し符号化ビデオストリームの第1のフレームの一部として第1の画像を符号化し、場面の第2の画像をキャプチャし、第2の画像中におけるオーバレイの所望の位置を決定し、この第2の画像中におけるオーバレイの所望の位置は第1の画像中におけるオーバレイの第1の位置とは異なり、ビデオストリームの第2のフレームの一部として第2の画像を符号化し、この第2の画像の符号化には、第2のフレームを非表示フレームとしてマークすることを含み、ビデオストリームの第3のフレームを生成し符号化することになり(例えばソフトウェアを使用して)、この第3のフレームの生成および符号化では、オーバレイの所望の位置における第3のフレームの1つまたは複数のマクロブロックは、第1のフレームを参照する、オーバレイ(第1の画像中における)の第1の位置とオーバレイ(第2の画像中における)の所望の位置との間の相違に基づく運動ベクトルを有する時間的に予測されるマクロブロックであり、オーバレイ(第2の画像中における)の所望の位置の外側の第3のフレームの1つまたは複数のマクロブロックは、(符号化された)ビデオストリームの第2のフレームを参照するスキップ-マクロブロックである。
したがって第2の態様によるデバイスは、第1の態様の方法の対応するステップを実施するように構成される。
デバイスのいくつかの実施形態では、デバイスは、本明細書において説明されている方法の実施形態のうちの任意の実施形態を実施するようにさらに構成される(すなわち命令は、それらの命令がプロセッサによって実行されると、デバイスが本明細書において説明されている方法の実施形態のうちの任意の実施形態を実施することになるようになっている)。
デバイスのいくつかの実施形態では、デバイスはモニタリングカメラである。このモニタリングカメラは、第1の画像および第2の画像のうちの少なくとも一方をキャプチャするように構成することができる。
本開示の第3の態様によれば、オーバレイを含むビデオストリームを符号化するためのコンピュータプログラムが提供される。コンピュータプログラムは、デバイス(第2の態様によるデバイスなど)のプロセッサによって実行されると、そのデバイスが、場面の第1の画像をキャプチャし、第1の画像の第1の位置にオーバレイを追加し符号化ビデオストリームの第1のフレームの一部として第1の画像を符号化し、場面の第2の画像をキャプチャし、第2の画像中におけるオーバレイの所望の位置を決定し、この第2の画像中におけるオーバレイの所望の位置は第1の画像中におけるオーバレイの第1の位置とは異なり、ビデオストリームの第2のフレームの一部として第2の画像を符号化し、この第2の画像の符号化には、第2のフレームを非表示フレームとしてマークすることを含み、ビデオストリームの第3のフレームを生成し符号化(例えばソフトウェアを使用して)するように構成され、第3のフレームの生成および符号化では、オーバレイの所望の位置における第3のフレームの1つまたは複数のマクロブロックは、第1のフレームを参照する、オーバレイ(第1の画像中における)の第1の位置とオーバレイ(第2の画像中における)の所望の位置との間の相違に基づく運動ベクトルを有する時間的に予測されるマクロブロックであり、オーバレイ(第2の画像中における)の所望の位置の外側の第3のフレームの1つまたは複数のマクロブロックは、(符号化された)ビデオストリームの第2のフレームを参照するスキップ-マクロブロックである。
したがってコンピュータプログラムは、デバイスが、第1の態様による、本明細書において既に説明した方法を実施するように構成される。
いくつかの実施形態では、コンピュータプログラムは、(デバイスのプロセッサによって実行されると)デバイスが本明細書において説明されている方法の任意の実施形態を実施するようにさらに構成される。
第4の態様によれば、コンピュータプログラム製品が提供され、コンピュータプログラム製品は、第3の態様またはその任意の実施形態によるコンピュータプログラムを記憶するコンピュータ可読記憶媒体を含む。コンピュータ可読記憶媒体は、例えば非一時的であってもよく、例えばハードディスクドライブ(HDD)、固体状態ドライブ(SDD)、USBフラッシュドライブ、SDカード、CD/DVDとして提供することができ、かつ/またはデータを非一時的に記憶することができる任意の他の記憶媒体として提供することができる。
本開示の他の目的および利点は、以下の詳細な説明、図面および特許請求の範囲から明らかになるであろう。本開示の範囲内で、例えば第1の態様の方法を参照して説明したすべての特徴および利点は、第2の態様のデバイス、第3の態様のコンピュータプログラムおよび/または第4の態様のコンピュータプログラム製品を参照して説明したやはり任意の特徴および利点と関連しており、これらの特徴および利点に適用され、これらの特徴および利点と組み合わせて使用することができること、またその逆に第2の態様のデバイス、第3の態様のコンピュータプログラムおよび/または第4の態様のコンピュータプログラム製品を参照して説明したすべての特徴および利点は、第1の態様の方法を参照して説明したすべての特徴および利点と関連しており、これらの特徴および利点に適用され、これらの特徴および利点と組み合わせて使用することができることが想定されている。
以下、例示的実施形態について、添付の図面を参照して説明する。
図面では、同様の参照数表示は、特に言及されていない限り、同様の要素に対して使用されている。そうではないことが特に明確に言及されていない限り、図面は、例示的実施形態を示すために必要なこのような要素のみを示しており、一方、他の要素は、明確にするために場合によっては省略され、あるいは単に示唆されることがある。図に示されているように、要素および領域の(絶対または相対)サイズは、例証目的のために場合によってはそれらの真の値と相対して誇張され、あるいは控えめに言及されることがあり、したがって実施形態の一般的な構造を示すために提供されている。
以下、オーバレイを含むビデオストリームが本開示による方法を使用してどのように符号化されるかの様々な例が、図1A~図1Dを参照して説明される。このような方法200のステップS201~S206のフローチャートを概略的に示す図2Aも参照される。
図1Aおよび図1Bは、現在開示されている方法を使用することができる状況を概略的に示したものである。図1Aは、第1のキャプチャ画像110を示している。第1の画像110は、ここでは街路の光景を含む場面を描写しており、街路に沿っていくつかの建物/家、ならびにこのような環境でしばしば見られる、木、ごみ箱、街灯柱等などの他の対象が存在している。拡張現実感を使用して、場面に映っている特定の建物124に関する現在の追加情報に追加されているオーバレイ120を含む第1の画像(ビデオストリームの一部として)を見ているユーザに追加情報が提供される。ここでは、この追加情報は、建物124の住所(「123通り」)を含む。当然、例えば他の建物の住所、街路の名称、羅針方位、所望の場所に到着するためにユーザが移動すべき方向を示す矢印を示す1つまたは複数の追加オーバレイ、および多くの他のタイプのオーバレイを提供することも可能である。第1の画像110は、カメラの特定のアライメント(例えば偏揺れ、ピッチおよびロールに関して)および特定のズーム-レベル等を含む特定の視野(FOV)を有するカメラを使用してキャプチャされたことが仮定されている。カメラは、例えば、ユーザによって着用されるボディカメラ、スマートフォンもしくはタブレットのカメラ、ユーザが現在運転している車両の中に取り付けられた車載カメラ、または例えば建物に取り付けられた(モニタリングすなわち監視カメラ等など)カメラ(パン-チルト-ズーム(PTZ)カメラなど)であってもよい。他の代替も当然可能であり、すべて、開示されている方法に使用することができるものとして想定されている。
図1Bは、同じ場面の第2のキャプチャ画像112を示したものであるが、場面に映っている対象の位置は、第2の画像112における位置と第1の画像110における位置とではその位置が異なっている。これは、カメラが移動したこと、傾けられたこと、パンされたこと、ズームされたこと等によるものであり得る。例えば、場面の第1の画像110のキャプチャと第2の画像112のキャプチャの間にカメラが街路に沿って後方に向かって左側へ移動したか、および/またはカメラが場面上でズームアウトしたかのいずれかを仮定することができる。いずれにせよ第2の画像112では、特定の建物124はここでは異なる位置に映っており、第2の画像112中におけるオーバレイ120の所望の位置は第1の画像110中におけるオーバレイの位置とは異なっていることを意味している(ここではオーバレイ120’として示されている)。したがってオーバレイ120が場面に対して固定されて出現し、すなわちオーバレイ120がそれに関する追加情報を提供することになっている特定の建物124の位置を追従するよう、第2の画像112の中にオーバレイ120を再レンダリングする必要がある。オーバレイの所望の動きは、図1Bに矢印130によって示されている。
既に考察したように、オーバレイの所望の動きは、カメラ(または第1の画像110および第2の画像112が一部を形成することになっているビデオストリームを符号化する役割を担っている任意の他のデバイス)が計算資源を占有する1つまたは多くの他のタスクでも占有されるようなものである可能性があり、第2の画像112中におけるオーバレイ120の再レンダリングのために利用することができる残された資源がこのような再レンダリングを時間内に完了するには十分ではないようなものである可能性がある(すなわち処理の前に、第2の画像112の後にキャプチャされた後続する第3の画像等へ移動しなければならない)。そのために同期の問題、スタッタリングがもたらされ、さもなければビデオストリーム中の第2の画像へ円滑に移行できないことになり、および/または例えば時間内に完全にレンダリングされないことによってオーバレイが第2の画像から消失することになり得る。
次に図1Cおよび図1D(および図2A)を参照して説明されるように、本明細書において想定されている方法は、このような問題を克服する方法に対する解決法を提供する。
図1Cは、想定されている方法200による、符号化ビデオストリーム140のフレーム150、152および154のシーケンスの生成を概略的に示したものである。
図1Aを参照して説明したように、方法200は、最初に、場面の第1の画像110をキャプチャするステップ(ステップS201において)で開始し、次に、(ステップS202で)第1の画像110にオーバレイ120を追加し、符号化ビデオストリーム140の第1のフレーム150の一部として第1の画像110(およびオーバレイ120)を符号化するステップへ進行する。第1のフレーム150では、オーバレイ120は、例えば画像座標を使用して測定して、第1の画像110内の第1の位置に位置している。第1の画像110が第1のフレーム150「の一部」として符号化される、ということは、当然、第1の画像110から発信された画像情報に加えて、第1のフレーム150の中に提供された、例えば追加図形またはテキストオブジェクト等などの他のコンテントも存在し得ることを意味している。
方法200は、次に、同じ場面の第2の画像112をキャプチャするステップ(ステップS203において)へ進行するが、第1の画像110をキャプチャするステップと第2の画像112をキャプチャするステップの間に、第2の画像112中におけるオーバレイ120の所望の位置が、今は第1の画像110中におけるオーバレイ120の位置とは異なっているよう、カメラが変化している。ステップS204で、方法200は、第2の画像112中におけるオーバレイ120の所望の位置を決定するステップを含み、上で説明したように第2の画像112中におけるオーバレイ120の所望の位置は第1の画像110中におけるオーバレイ120の所望の位置とは異なっている。位置の変化は、図1Bに矢印130によって示されている。第2の画像中の所望の位置は、例えばカメラの動き、カメラのズームの変化等を知ることによって見出すことができる。
第2の画像112の上にオーバレイを再レンダリングし、次に第2の画像112およびオーバレイ120を例えば符号化ビデオストリーム140の第2のフレームとしてまとめて符号化することを試行する代わりに、方法200は、ビデオストリーム140の第2のフレーム152の一部として、オーバレイ120がない第2の画像112を符号化するステップ(ステップS205において)へ進行する(上で説明したように、「の一部として」は、第2の画像112のみではなく、第2のフレーム152に含まれている他のコンテントも存在し得ることを意味している)。さらに、方法200は、符号化ビデオストリーム140を受け取る復号器によって第2のフレーム152が見えるように描写されないことを意味するいわゆる非表示フレームとして第2のフレーム152をマークする。しかしながら、第2のフレーム152を依然として使用して、次にビデオストリーム140中の1つまたは複数の他のフレームによって使用され得る情報を含むことができる。
第2のフレーム152の一部として第2の画像112を符号化すると、方法200は、次に、ビデオストリーム140の第3のフレーム154を生成するステップ(ステップS206において)へ進行する。第3のフレーム154はキャプチャ画像を全く含んでいないが、その代わりに、次に説明されるように、ビデオストリーム140中の1つまたは複数の他のフレームに対する参照170および172を含むようになっている。
第3のフレーム154は、第2の画像112中におけるオーバレイ120の所望の位置に、時間的に予測されるマクロブロックである1つまたは複数のマクロブロック160を含む。これは、これらのマクロブロックは第3のフレーム154の中に実際の画像データを全く含んでいないが、その代わりにビデオストリーム140の第1の画像110および第1のフレーム150のマクロブロック161に対する参照170を含んでいることを意味している。第3のフレーム154のマクロブロック160が参照している第1のフレーム150のマクロブロック161は、第1の画像110中におけるオーバレイ120の位置に存在している。第1の画像110および第1のフレーム150の中のどこで復号器がこれらのマクロブロック161を探すことになっているかを知るために、第3のフレーム154は、1つまたは複数の運動ベクトル132をも含む(例えば符号化する)。運動ベクトル132は、第1の画像110中におけるオーバレイ120の位置と、先行するステップS205で獲得された第2の画像112中におけるオーバレイ120の所望の位置との間の相違に基づいている。運動ベクトル132は、マクロブロック160のための画像データがマクロブロック161で、第1の画像110中におけるオーバレイ120の位置で見出されることになることを復号器が知ることができるよう、例えば図1Bに示されている矢印130とは方向が逆方向で、長さは矢印130の長さである。
第3のフレーム154は、第2の画像112中におけるオーバレイ120の所望の位置には存在しない1つまたは複数のマクロブロック162をも含む。これらのマクロブロック162はいわゆるスキップ-マクロブロックであり、復号器が第2の画像112および第2のフレーム152のマクロブロック163から直接画像情報をコピーし、この情報を使用して第3のフレーム154の対応する部分を生成しなければならないことを復号器が知るよう、第2の画像112および第2のフレーム152中の同じ位置に存在するマクロブロック163に対する1つまたは複数の参照172を含む。したがって第3のフレーム152は、オーバレイ120(オーバレイのためのデータは第1の画像110および第1のフレーム150から獲得される)と、オーバレイ120を含んでいないエリア(データは、第1の画像110および第1のフレーム150の代わりに、第2の画像112および第2のフレーム152から獲得される)の両方を示す画像を生成する(ビデオストリーム140を復号している間に)のに十分な情報を備えている。復号した後に第3のフレーム154を表示する場合、ユーザは、所望の、正しい位置にオーバレイ120を含む、場面の更新された光景(カメラの動きのために必要である)を見ることができる。
図1Cを参照して説明されている例では、第1のフレーム150は、例えば、符号化ビデオストリーム140中の1つまたは複数の他のフレームに対して全く参照しないイントラフレームである。第1のフレーム150は、例えばいわゆるIフレームであり、第1のフレーム150を復号した後に第1の画像110を見るために必要な画像データに関しては自蔵である。また、図1Cを参照して説明されている例では、第2の(非表示)フレーム152は、第1のフレーム150の後であるが、第3のフレーム154の前に追加されている。したがって第3のフレーム154は、第2のフレーム152に時間的に遡った参照172を有しており、例えばいわゆるPフレームである。第1のフレーム150は、例えばフレームのGOPシーケンスにおける第1のフレームとして働くことができる。第3のフレーム154に引き続いて他のフレームを存在させることができ、および/または第1のフレーム150に先立って他のフレームを存在させることができる。
図1Dは、方法200がビデオストリーム140およびオーバレイ120を符号化するためにどのように動作し得るかの別の可能例を概略的に示したものである。様々なステップS201~S206は、ここでは、図1Cを参照して説明した様々なステップと同じであるが、ソフトウェアによって生成された第2のフレーム152が第3のフレーム154の後に代わりに追加されている点が異なっている。第3のフレーム154は、ここではいわゆるBフレームであり、このBフレームは、今は、第3のフレーム154が直接コピーすることになっている(第3のフレーム154のマクロブロック162が第2のフレーム152のマクロブロック163を参照172しているスキップ-マクロブロックであるため)マクロブロックを含む第2のフレーム152として、「将来のフレーム」(第2のフレーム152)に対する参照を含む。上で説明したように、第3のフレーム154は、運動ベクトル132と相俟って、第1のフレーム150のマクロブロック161を適切にコピーし、処理するために、先行する第1のフレーム150に対する参照170をも含み、オーバレイ120は第1の画像110の中に見出されている。
次に、本明細書において想定されている方法200が動作し得る別の状況について、図3A~図3Cを参照して説明する。以下の手順は、図1A~図1Dを参照して既に説明した手順と同じであるが、場面の種類およびカメラセットアップが異なっている。図3Aは、静止カメラによってキャプチャされた場面を概略的に示したもので、第1の画像310は街路の歩道を描写している。この場面では、オーバレイ320が提供されている特定の対象は、非静止の、犬324の形態の移動対象である。ここではオーバレイ320は、動物のタイプを「犬」として識別しているが、当然、ビデオストリームを通して場面を見ているユーザにとって有用と思われる他の情報を提供することも可能である。犬324が歩道に沿って移動し/歩くと、犬324の位置がキャプチャされた画像同士の間で変化することになり、オーバレイを対象/犬324に対して固定された状態を維持するために、犬324の位置の変化に応じてオーバレイを更新しなければならない。
図3Bはキャプチャされた第2の画像312を示したもので、同じ場面を描写しているが、第1の画像310をキャプチャしてからは、矢印330によって示されているように犬324の位置が変化している。したがって、第2の画像312中におけるオーバレイ320の所望の位置は、第1の画像310中におけるオーバレイ(ここではオーバレイ320’によって示されている)の位置とは異なっている。
既に説明したように、方法200は、ここでは、最初に第1の画像310をキャプチャするステップ(ステップS201において)、(ステップS202で)オーバレイ320をレンダリング/追加し、結果を符号化ビデオストリーム340の第1のフレーム350の一部として符号化するステップへ進行することができる。方法200は、次に、場面の第2の画像312をキャプチャするステップ(ステップS203において)へ進行することができ、方法200は、次に、第2の画像312中におけるオーバレイ320の所望の位置と、第1の画像310中におけるオーバレイ320の位置との間の相違を決定することができる(ステップS204において)。方法200は、オーバレイ320を含まない第2のフレーム352(非表示フレームとしてマークされている)の一部としてこの第2の画像312を符号化することができ(ステップS205において)、次に、第2の画像312中におけるオーバレイ320の所望の位置と、第1の画像310中におけるオーバレイ320の所望の位置との間の相違に基づく1つまたは複数の運動ベクトル332、および図1Cおよび図1Dを参照してたった今、上で説明した第2の非表示フレーム352の1つまたは複数のマクロブロック363を参照372した1つまたは複数のスキップ-マクロブロック362の助けを借りて、第1の画像310中におけるオーバレイ320の位置における第1のフレーム350のマクロブロック361を参照370した時間的に予測されるマクロブロック360を有する第3のフレーム354の生成を継続し(例えばソフトウェアを使用して)符号化することができる(ステップS206において)。したがって方法は、カメラの変化/動きによって画像中におけるオーバレイの所望の位置が変化する(例えばカメラのFOV変化など)場合、場面に映っている対象(オーバレイが関連付けられている)の動きによって画像中におけるオーバレイの所望の位置が変化する場合の両方で、および/またはカメラの変化と場面における対象の移動の両方の組合せによって所望の位置が変化する場合に、必要に応じて実施することができる。言い換えると、本明細書において開示され、想定されている方法は、オーバレイが場面に対して固定される場合と、例えばオーバレイが場面の中を移動している対象に対して固定される場合との両方で機能することができる。
本明細書においては、方法200は、例えば場面の画像をキャプチャするために使用されるモニタリングカメラによって、または例えばこのようなモニタリングカメラを含む(モニタリング)カメラシステムの任意の他の適切な構成要素の中で実施することができることが想定されている。方法200は、当然、キャプチャされた第1の画像および第2の画像を少なくとも受け取り、様々なフレームを生成し、出力としてビデオストリームを符号化する能力を有する任意の他のデバイスの中で実施することも可能である。以下、本明細書において想定されているこのようなデバイスの例について、図4を参照してより詳細に説明する。
図4は、オーバレイを含むビデオストリームを符号化するためのデバイス400を概略的に示したものである。デバイス400は、少なくともプロセッサ(または「処理回路機構」)410およびメモリ412を含む。本明細書において使用されるとき、「プロセッサ」または「処理回路機構」は、例えば、メモリ412に記憶されているソフトウェア命令を実行することができる、適切な中央処理装置(CPU)、多重プロセッサ、マイクロコントローラ(μC)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、書替え可能ゲートアレイ(FPGA)、図形処理装置(GPU)等のうちの1つまたは複数の任意の組合せであってもよい。メモリ412は、プロセッサ410の外部であっても、またはプロセッサ410の内部であってもよい。本明細書において使用されるとき、「メモリ」は、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)、または命令を記憶することができる任意の他の種類のメモリの任意の組合せであってもよい。メモリ412は、プロセッサ410によって実行されると、デバイス400が本明細書において説明されている方法(すなわち方法200またはその任意の実施形態)を実施することになる命令を含む(すなわち記憶する)。デバイス400は、いくつかの状況において方法を実施するために必要になり得る1つまたは複数の追加アイテム414をさらに含むことができる。いくつかの例示的実施形態では、デバイス400は、例えば上で言及したモニタリングカメラであってもよく、その場合、追加アイテム414は、想定されている方法を実施する一環としてモニタリングカメラが場面の画像をキャプチャすることができるよう、例えば画像センサ、および例えば場面からの光を画像センサに集束させるための1つまたは複数のレンズを含むことができる。追加アイテム414は、例えば、場面をキャプチャするために必要な、例えば画像センサおよび/またはレンズを必要に応じて適切に動作させるために必要な様々な他の電子工学構成要素をも含むことができる。モニタリングカメラにおける方法の実施は、処理が「縁」へ移動され、すなわち処理およびビデオ符号化をどこか他の場所(もっと集中化された処理サーバ等など)で実施する場合と比較して、実際の場面がキャプチャされる場所のより近くへ移動される点で有用であり得る。デバイス400は、この方法を実施することによって得られる符号化ビデオストリームをユーザに伝送することができるよう、例えばネットワークに接続することができる。そのためにデバイス400は、例えば無線ネットワークインタフェース(例えばIEEE802.11、または例えばWi-Fiをサポートする後続規格のうちのいずれかで定義されているような)であってもよいネットワークインタフェース416、または有線ネットワークインタフェース(例えばIEEE802.3、または例えばEthernetをサポートする後続規格のうちのいずれかで定義されているような)を含むことができる。ネットワークインタフェース416は、例えば、符号化されたビデオを転送することができる、例えばBluetooth等などの任意の他の無線規格をもサポートすることができる。これらの様々な構成要素410、412、414および416(存在していれば)は、これらの構成要素が互いに通信することができ、必要に応じてデータを交換することができるよう、1つまたは複数の通信バス428を介して接続することができる。
デバイス400は、例えば、建物の上に取り付けられた、または建物の上に取り付けることができる、例えばPTZカメラの形態のモニタリングカメラであっても、もしくは例えば場面のより広い視野を提供することができる魚眼カメラであっても、または任意の他のタイプのモニタリング/監視カメラであってもよい。デバイス400は、例えば、人、動物および/または様々な車両等への取り付けに適した、ボディカメラ、アクションカメラ、車載カメラ等であってもよい。デバイス400は、例えば、1つまたは複数のオーバレイからさらなる情報を得るために、ユーザが持ち運んで、興味のある場面を撮影することができるスマートフォンまたはタブレットであってもよい。デバイス400は、例えば、ビデオストリームを介して場面を観察するためにユーザが着用することができる仮想ヘッドセット等であっても、またはそれらを含むことも可能である。デバイス400のこのような例のいずれにおいても、デバイス400は、デバイス400が本明細書において想定されている方法200またはその任意の実施形態を依然として実施することができる限り、本明細書において既に説明した構成要素以外の必要なあらゆる構成要素(存在している場合)を含むことができることが想定されている。
本明細書においては、それ以上の詳細な説明は何らなされていないが、デバイス400(例えばカメラなど)は、例えば、人、建物、街路、車両、動物、観光名所等などの、場面に映っている1つまたは複数の対象を識別し、このような対象のための適切なオーバレイを生成して、有用な情報をユーザに提供する能力をも有することができることが想定されている。対象の識別は、例えば機械学習アルゴリズムおよび/または例えばデバイス400の中に含まれている(含まれてもよい)GPSレシーバから得られる例えば位置情報に基づいて実施することができる。
次に、方法200の別の代替実施形態について、図2Bを参照して説明する。図2Bは、方法200のステップS204の後に続く代替手順を概略的に示したものである。ステップS207で(必ずしもステップS204の後に実施する必要はない)、第2の画像/第2のフレームの一部としてオーバレイを代わりに直接追加し/レンダリングするために必要な計算時間が閾値未満であるかどうかが決定される。言い換えると、ステップS207は、カメラおよび/または場面に映っている対象が移動または変化した後に、いつものように(すなわち従来通りに)オーバレイを再レンダリングすることができるよう、利用可能な十分な計算資源が存在しているかどうかを予測するステップを含む。予測された計算時間が閾値未満である場合(例えば計算資源をほとんど利用することができない場合、閾値はより低く、より多くの計算資源が現在利用可能である場合、閾値はより高い)、方法は(図2Aを参照して説明したステップS205およびS206へ進行する代わりに)ステップS205’へ進行することができ、オーバレイが第2の画像の所望の位置に(直接)追加され/レンダリングされ、次に、ビデオストリームの第2のフレームの一部として(直接)符号化される。ここでは第2のフレームは非表示フレームとしてマークされず、第1のフレームおよび第2のフレームを参照する第3のフレームの生成は省略することができる。一方、利用可能な計算資源が第2の画像中におけるオーバレイのこのような直接再レンダリングを時間内に実施するためには十分ではないことが決定されると、方法200は、既に考察したようにステップS205およびS206へ進行することができる。
図2Bを参照して説明した方法200の代替例を使用することにより、例えばカメラおよび/または場面に映っている対象が変化した場合のオーバレイの通常の再レンダリングを、必要なときのみ、第2の非表示フレームおよびソフトウェアによって生成され(かつ、挿入された)第3のフレームのみの想定済み利用に置き換えることができる。カメラおよび/または対象が動き/変化した後の通常の再レンダリングは、例えば第1の画像のキャプチャと第2の画像のキャプチャの間に生じる場面のあらゆる視野変化も考慮されるため、一般的により良好な視覚経験をもたらすので、この置換えには、例えば画像品質が改善される利点がある。
上で説明した閾値は、例えば、デバイス(モニタリングカメラなど)に使用されている、符号化ビデオストリームを出力する役割を担っている例えばプロセッサまたは他の処理回路機構の現在の負荷に基づいて連続的に更新することができる。例えばデバイスが他の資源集約タスク(場面に映っている複数の対象の追跡等など)で重く占有されている場合、第2の非表示フレームおよびソフトウェアによって生成され(かつ、挿入された)第3のフレームを利用している想定方法は、オーバレイが例えば場面または場面に映っている特定の対象に対して、許容可能な視覚品質で固定された状態を維持するよう、オーバレイの位置を更新するより速い方法を提供することができる。利用可能な計算資源および負荷のこのようなチェックは、例えば1秒当たり複数回にわたって、または任意の所望のインターバルで実施することができる。したがって想定されている方法は、オーバレイの通常の再レンダリングが不可能である場合のバックアップとして使用することができる。
本明細書において一般的に想定されているように、第2の画像中におけるオーバレイの所望の位置は、例えば第1の画像中におけるオーバレイの位置を知ることによって、例えばカメラが第1の画像のキャプチャと第2の画像のキャプチャの間に、ズーム-レベル、パン、チルト等に対してどのように変化したかをも知ることによって獲得し/決定することができる。したがってカメラからのこのような情報に基づいて、第2の画像中の所望の位置と第1の画像中におけるオーバレイの位置との間の相違を計算することができる。カメラが例えば建物などの静止対象に取り付けられていない場合、カメラの配向および位置がどのように変化したかを決定するためには、追加情報が必要とされ得る。必要に応じて、例えばカメラ自体の上、および/または何でもよいがカメラが取り付けられている非静止対象の上に取り付けられた1つまたは複数の適切なセンサからこのような追加情報を獲得することができることが想定されている。他の実施形態では、例えば対象を検出し、かつ/または追跡するための1つまたは複数の画像/ビデオ解析アルゴリズムなどの例えば1つまたは複数の画像/ビデオ解析アルゴリズムを使用して、第2の画像中におけるオーバレイの正しい場所を識別することにより、第2の画像中の所望の位置(および第1の画像に対する対応する相違、および対応する運動ベクトル)を見出すことが可能であることが想定されている。
本明細書において提示された様々な実施形態を要約すると、本開示は、場面の画像中におけるオーバレイの位置を更新する必要がある符号化ビデオストリームの中にオーバレイを提供する(およびオーバレイの位置を更新する)改善された方法を提供する。想定されている解決法は、個々のこのような時間の間にオーバレイの再レンダリングを完了するために利用することができる不十分な計算資源を潜在的に有する問題を克服する。第2のフレームを非表示フレームとしてマークし、ソフトウェアによって生成される、この第2のフレームを参照する第3のフレームを代わりに挿入することにより、オーバレイが配置されないことになっているエリアにおける場面に関する画像情報を、単純なコピー操作によって第2のフレームから第3のフレームに提供することができる。同様に、第3のフレームから第1のフレームをも参照することにより、オーバレイが適切にレンダリングされた最後のフレームから、すなわち第1のフレームからこの情報をコピーすることによってオーバレイ自体に関する画像情報を第3のフレームに提供することができる(当然、カメラおよび/または場面に映っている対象がどのように変化し/移動したかに基づいて提供される適切な運動ベクトルを使用して)。したがって符号器によって、単に他のフレームにおける既に利用可能な情報を参照することによって第3のフレーム(新しい所望の位置にオーバレイを含む)を生成することができ、したがって第2の画像中におけるその新しい位置でのオーバレイの再レンダリングを全く必要とすることなく、第3のフレームを準備し符号化するために必要な計算時間を短くすることができる。同様に、対応する復号器はこの方法によって左右されず、想定されている方法からの符号化ビデオストリーム出力によって命令されると、いつものように他のフレームからの情報をコピーすることによって進行することができる。言い換えると、運動ベクトル、時間的に予測されるフレーム、非表示フレーム等の概念をサポートしている現在利用可能な符号器を修正することなく使用することができる。第3のフレームは手動で生成することができ(ソフトウェアを使用して)、このような符号器からの出力に単に挿入して(あるいはこのような符号器からの出力と組み合わせて)、本明細書において想定されている符号化ビデオストリームを生成することができるため、方法は、既に利用可能な符号器を使用して、これらの符号器を修正することなく実施することも可能である。
特徴および要素は、上では、場合によっては特定の組合せで説明されているが、個々の特徴または要素は、他の特徴および要素なしに単独で使用することができ、または他の特徴および要素との様々な組合せで、もしくは他の特徴および要素がない様々な組合せで使用することができる。さらに、特許請求される本発明を実践する当業者には、図面、本開示および添付の特許請求の範囲を考察することにより、開示されている実施形態に対する変形形態が理解され、実施され得る。
特許請求の範囲では、「備える」および「含む」という語は他の要素を排他せず、不定冠詞「a」または「an」は複数形の表現を排他しない。特定の特徴が相互に異なる従属請求項に記載されている、という単なる事実は、これらの特徴の組合せを有利に使用することができないことを示すものではない。
110、310 場面の第1の画像
112、312 場面の第2の画像
120、320 オーバレイ
120’、320’ 第1の画像中におけるオーバレイの位置
124、324 場面に映っている、オーバレイが関連付けられている特定の対象
130、330 オーバレイの位置の動き
132、332 運動ベクトル
140、340 ビデオストリーム
150、350 第1の(画像)フレーム
152、352 第2の(画像)フレーム
154、354 第3の(画像)フレーム
160、360 第3のフレーム中の時間的に予測されるマクロブロック
161、361 第1のフレーム中のソースマクロブロック
162、362 第3のフレーム中のスキップ-マクロブロック
163、363 第2のフレーム中のソースマクロブロック
170、370 第1のフレーム中のソースマクロブロックに対する参照
172、372 第2のフレーム中のソースマクロブロックに対する参照
200 方法(フローチャート)
S201~S206 方法ステップ
S205’、S207 代替方法ステップ
400 デバイス
410 プロセッサ/処理回路機構
412 メモリ
414 ネットワークインタフェース
416 追加アイテム
428 通信バス
112、312 場面の第2の画像
120、320 オーバレイ
120’、320’ 第1の画像中におけるオーバレイの位置
124、324 場面に映っている、オーバレイが関連付けられている特定の対象
130、330 オーバレイの位置の動き
132、332 運動ベクトル
140、340 ビデオストリーム
150、350 第1の(画像)フレーム
152、352 第2の(画像)フレーム
154、354 第3の(画像)フレーム
160、360 第3のフレーム中の時間的に予測されるマクロブロック
161、361 第1のフレーム中のソースマクロブロック
162、362 第3のフレーム中のスキップ-マクロブロック
163、363 第2のフレーム中のソースマクロブロック
170、370 第1のフレーム中のソースマクロブロックに対する参照
172、372 第2のフレーム中のソースマクロブロックに対する参照
200 方法(フローチャート)
S201~S206 方法ステップ
S205’、S207 代替方法ステップ
400 デバイス
410 プロセッサ/処理回路機構
412 メモリ
414 ネットワークインタフェース
416 追加アイテム
428 通信バス
Claims (13)
- オーバレイを含むビデオストリームを符号化する方法(200)であって、
a)場面の第1の画像(110)をキャプチャすること(S201)と、
b)前記第1の画像の第1の位置にオーバレイ(120)を追加し、符号化ビデオストリーム(140)の第1のフレーム(150)の一部として前記第1の画像を符号化すること(S202)と、
c)前記場面の第2の画像(112)をキャプチャすること(S203)と、
d)i)前記第1の画像のキャプチャと前記第2の画像のキャプチャの間のカメラ視野の変化に関する情報、ii)前記第1の画像のキャプチャと前記第2の画像のキャプチャの間のカメラ位置の変化に関する情報、およびiii)前記オーバレイが前記第2の画像中の前記場面の中で関連付けられる対象の検出および/または追跡された位置のうちの少なくとも1つに基づいて、前記第2の画像中における前記オーバレイの所望の位置を計算すること(S204)であって、前記第2の画像中における前記オーバレイの前記所望の位置が前記第1の画像中における前記オーバレイの前記第1の位置(120’)とは異なる、所望の位置を計算すること(S204)と、
e)第2のフレームを非表示フレームとしてマークすることを含む、前記ビデオストリームの前記第2のフレーム(152)の一部として前記第2の画像を符号化すること(S205)と、
f)前記ビデオストリームの第3のフレーム(154)を生成し符号化すること(S206)であって、前記オーバレイの前記所望の位置における前記第3のフレームの1つまたは複数のマクロブロック(160)が、前記第1のフレームを参照する(170)時間的に予測されるマクロブロックであることを含み、前記オーバレイの前記所望の位置の外側の前記第3のフレームの1つまたは複数のマクロブロック(162)が、前記ビデオストリームの前記第2のフレームを参照する(172)スキップ-マクロブロックであることを含み、前記第1の画像中における前記オーバレイの前記第1の位置と、前記第2の画像中における前記オーバレイの計算された前記所望の位置との間の相違(130)に基づいて、1つまたは複数の前記時間的に予測されるマクロブロックの運動ベクトル(132)を計算することを含む、前記ビデオストリームの第3のフレーム(154)を生成し符号化すること(S206)と
を含む、方法。 - 前記第3のフレームが、前記符号化ビデオストリーム中の前記第2のフレームの後に挿入される予測フレーム、Pフレームまたは二方向予測フレーム、Bフレームである、請求項1に記載の方法。
- 前記第3のフレームが、前記符号化ビデオストリーム中の前記第2のフレームの前に挿入される二方向予測フレーム、Bフレームである、請求項1または2に記載の方法。
- 同じカメラを使用して前記第1の画像および前記第2の画像をキャプチャすることを含む、請求項1から3のいずれか一項に記載の方法。
- 前記方法が前記第1の画像および/または前記第2の画像をキャプチャするために使用されるカメラの中で実施される、請求項1から4のいずれか一項に記載の方法。
- 前記オーバレイが前記場面に対して固定される、請求項1から5のいずれか一項に記載の方法。
- 前記オーバレイを前記第2の画像および前記第2のフレームの一部としてレンダリングし符号化するために必要な計算時間を予測することをさらに含み、予測された前記計算時間が閾値未満であることを決定するとステップa)~d)を実施して、ステップe)およびf)は実施せず、その代わりにステップd)の後に、
e’)前記オーバレイを前記第2の画像の前記所望の位置に追加し(S205’)、前記第2の画像を前記ビデオストリームの第2のフレーム(152)の一部として符号化する、
請求項1から6のいずれか一項に記載の方法。 - オーバレイを含むビデオストリームを符号化するためのデバイス(400)であって、
プロセッサ(410)と、
命令を記憶するメモリ(412)と
を備え、前記命令は、前記プロセッサによって実行されると、前記デバイスに、
場面の第1の画像(110)をキャプチャすること(S201)、
前記第1の画像の第1の位置にオーバレイ(120)を追加し、符号化ビデオストリーム(140)の第1のフレーム(150)の一部として前記第1の画像を符号化すること(S202)、
前記場面の第2の画像(112)をキャプチャすること(S203)、
i)前記第1の画像のキャプチャと前記第2の画像のキャプチャの間のカメラ視野の変化に関する情報、ii)前記第1の画像のキャプチャと前記第2の画像のキャプチャの間のカメラ位置の変化に関する情報、およびiii)前記オーバレイが前記第2の画像中の前記場面の中で関連付けられる対象の検出および/または追跡された位置のうちの少なくとも1つに基づいて、前記第2の画像中における前記オーバレイの所望の位置を計算すること(S204)であって、前記第2の画像中における前記オーバレイの前記所望の位置が前記第1の画像中における前記オーバレイの前記第1の位置(120’)とは異なる、前記オーバレイの所望の位置を計算すること(S204)、
前記符号化(S205)には、第2のフレームを非表示フレームとしてマークすることを含む、前記ビデオストリームの前記第2のフレーム(152)の一部として前記第2の画像を符号化すること(S205)、
前記ビデオストリームの第3のフレーム(154)を生成し符号化する(S206)ことであって、前記オーバレイの前記所望の位置における前記第3のフレームの1つまたは複数のマクロブロック(160)が、前記第1のフレームを参照する(170)時間的に予測されるマクロブロックであり、前記オーバレイの前記所望の位置の外側の前記第3のフレームの1つまたは複数のマクロブロック(162)が、前記ビデオストリームの前記第2のフレームを参照する(172)スキップ-マクロブロックであり、前記第1の画像中における前記オーバレイの前記第1の位置と、前記第2の画像中における前記オーバレイの計算された前記所望の位置との間の相違(130)に基づいて、1つまたは複数の前記時間的に予測されるマクロブロックの運動ベクトル(132)を計算することを含む、前記ビデオストリームの第3のフレーム(154)を生成し符号化する(S206)こと
を実施させる、デバイス。 - 前記命令が、前記プロセッサによって実行されると、前記命令が前記デバイスに、請求項2から7のいずれか一項に記載の方法をさらに実施させることになるような命令である、請求項8に記載のデバイス。
- 前記デバイスが、前記第1の画像および前記第2の画像のうちの少なくとも一方をキャプチャするように構成されたモニタリングカメラである、請求項8または9に記載のデバイス。
- オーバレイを含むビデオストリームを符号化するためのコンピュータプログラムであって、デバイスのプロセッサによって実行されると、前記デバイスに、
場面の第1の画像(110)をキャプチャすること(S201)、
前記第1の画像の第1の位置にオーバレイ(120)を追加し、符号化ビデオストリーム(140)の第1のフレーム(150)の一部として前記第1の画像を符号化すること(S202)、
前記場面の第2の画像(112)をキャプチャすること(S203)、
i)前記第1の画像のキャプチャと前記第2の画像のキャプチャの間のカメラ視野の変化に関する情報、ii)前記第1の画像のキャプチャと前記第2の画像のキャプチャの間のカメラ位置の変化に関する情報、およびiii)前記オーバレイが前記第2の画像中の前記場面の中で関連付けられる対象の検出および/または追跡された位置のうちの少なくとも1つに基づいて、前記第2の画像中における前記オーバレイの所望の位置を計算すること(S204)であって、前記第2の画像中における前記オーバレイの前記所望の位置が前記第1の画像中における前記オーバレイの前記第1の位置(120’)とは異なる、前記オーバレイの所望の位置を計算すること(S204)、
符号化(S205)には、第2のフレームを非表示フレームとしてマークすることを含む、前記ビデオストリームの前記第2のフレーム(152)の一部として前記第2の画像を符号化すること(S205)、
前記ビデオストリームの第3のフレーム(154)を生成し符号化すること(S206)であって、前記オーバレイの前記所望の位置における前記第3のフレームの1つまたは複数のマクロブロック(160)が、前記第1のフレームを参照する(170)時間的に予測されるマクロブロックであり、前記オーバレイの前記所望の位置の外側の前記第3のフレームの1つまたは複数のマクロブロック(162)が、前記ビデオストリームの前記第2のフレームを参照する(172)スキップ-マクロブロックであり、前記第1の画像中における前記オーバレイの前記第1の位置と、前記第2の画像中における前記オーバレイの計算された前記所望の位置との間の相違(130)に基づいて、1つまたは複数の前記時間的に予測されるマクロブロックのための運動ベクトル(132)を計算することを含む、前記ビデオストリームの第2のフレーム(152)の一部として前記第2の画像を符号化すること(S205)
を実施させるように構成されているコンピュータプログラム。 - 前記デバイスに、請求項2から7のいずれか一項に記載の方法を実施させるようにさらに構成されている、請求項11に記載のコンピュータプログラム。
- 請求項11または12に記載のコンピュータプログラムを記憶した非一時的コンピュータ可読記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22157291.0A EP4231638A1 (en) | 2022-02-17 | 2022-02-17 | Encoding of a video stream including an overlay |
EP22157291 | 2022-02-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023120155A true JP2023120155A (ja) | 2023-08-29 |
Family
ID=80683084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023015571A Pending JP2023120155A (ja) | 2022-02-17 | 2023-02-03 | オーバレイを含むビデオストリームの符号化 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230262238A1 (ja) |
EP (1) | EP4231638A1 (ja) |
JP (1) | JP2023120155A (ja) |
KR (1) | KR20230123870A (ja) |
CN (1) | CN116614630A (ja) |
TW (1) | TW202337210A (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3591972A1 (en) * | 2018-07-02 | 2020-01-08 | Axis AB | Method and system for encoding video with overlay |
EP3796655B1 (en) * | 2019-09-20 | 2021-11-03 | Axis AB | Video privacy mask in forward predicted video frame |
EP3902244B1 (en) * | 2020-04-23 | 2022-03-23 | Axis AB | Controlling a pan-tilt-zoom camera |
-
2022
- 2022-02-17 EP EP22157291.0A patent/EP4231638A1/en active Pending
- 2022-12-29 KR KR1020220188754A patent/KR20230123870A/ko unknown
-
2023
- 2023-02-03 US US18/164,069 patent/US20230262238A1/en active Pending
- 2023-02-03 JP JP2023015571A patent/JP2023120155A/ja active Pending
- 2023-02-07 TW TW112104231A patent/TW202337210A/zh unknown
- 2023-02-10 CN CN202310096848.8A patent/CN116614630A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN116614630A (zh) | 2023-08-18 |
TW202337210A (zh) | 2023-09-16 |
US20230262238A1 (en) | 2023-08-17 |
EP4231638A1 (en) | 2023-08-23 |
KR20230123870A (ko) | 2023-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107534789B (zh) | 影像同步装置及影像同步方法 | |
EP1779662B1 (en) | Method and device for motion estimation and compensation for panorama image | |
KR100902343B1 (ko) | 로봇 영상 시스템 및 검출 방법 | |
US8983175B2 (en) | Video processing method and device for depth extraction | |
JP4846719B2 (ja) | パノラマ映像の動き推定及び補償 | |
KR20200003715A (ko) | 오버레이로 비디오를 인코딩하기 위한 방법 및 시스템 | |
US10798418B2 (en) | Method and encoder for encoding a video stream in a video coding format supporting auxiliary frames | |
JP5426655B2 (ja) | 圧縮動画符号化装置、圧縮動画復号化装置、圧縮動画符号化方法および圧縮動画復号化方法 | |
EP3796655B1 (en) | Video privacy mask in forward predicted video frame | |
US20220132030A1 (en) | Generating substitute image frames based on camera motion | |
RU2729966C1 (ru) | Способы, устройства и машиносчитываемый носитель для кодирования и декодирования видеосигнала | |
JP6707334B2 (ja) | リアルタイム符号化のための方法及び装置 | |
US20230262238A1 (en) | Encoding of a video stream including an overlay | |
JP2006140683A (ja) | 画像符号化装置 | |
JP4235209B2 (ja) | 動きベクトル検出装置および動きベクトル検出方法 | |
JP2018207356A (ja) | 画像圧縮プログラム、画像圧縮装置、及び画像圧縮方法 | |
US20240333948A1 (en) | Encoding of video stream during changing camera field-of-view | |
US20150222923A1 (en) | Inter-prediction method and video encoding/decoding method using the inter-prediction method | |
KR20240148259A (ko) | 카메라 시야가 변경하는 동안 비디오 스트림 인코딩 | |
CN116866580A (zh) | 视频编码方法及装置、存储介质、电子设备 | |
JP5880737B2 (ja) | 動画像符号化装置 | |
JP2008022444A (ja) | 動画像符号化装置及び動画像符号化方法 | |
JP2006165927A (ja) | 映像符号化装置、映像復号化装置 | |
JPH11113022A (ja) | ピクチャタイプ毎符号化モード別移動物体検出方法及び装置 |