(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6836614
(24)【登録日】2021年2月9日
(45)【発行日】2021年3月3日
(54)【発明の名称】ビデオストリーム内のフレームシーケンスを符号化する方法のための方法、装置およびシステム
(51)【国際特許分類】
H04N 19/503 20140101AFI20210222BHJP
H04N 19/105 20140101ALI20210222BHJP
H04N 19/172 20140101ALI20210222BHJP
H04N 19/159 20140101ALI20210222BHJP
H04N 19/107 20140101ALI20210222BHJP
H04N 19/139 20140101ALI20210222BHJP
【FI】
H04N19/503
H04N19/105
H04N19/172
H04N19/159
H04N19/107
H04N19/139
【請求項の数】15
【外国語出願】
【全頁数】15
(21)【出願番号】特願2019-43363(P2019-43363)
(22)【出願日】2019年3月11日
(65)【公開番号】特開2019-198063(P2019-198063A)
(43)【公開日】2019年11月14日
【審査請求日】2020年4月1日
(31)【優先権主張番号】18164676.1
(32)【優先日】2018年3月28日
(33)【優先権主張国】EP
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208205
【氏名又は名称】アクシス アーベー
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林特許業務法人
(72)【発明者】
【氏名】エドパルム, ヴィクトル
(72)【発明者】
【氏名】アルデ, ビョルン
【審査官】
鉢呂 健
(56)【参考文献】
【文献】
特開2002−199408(JP,A)
【文献】
国際公開第2005/065030(WO,A2)
【文献】
国際公開第2008/041300(WO,A1)
【文献】
特開平10−042295(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00−19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
ビデオストリーム内のフレームシーケンス(606)を符号化する方法であって、前記フレームシーケンス内の最初のフレームの画像データの動きレベルが動きレベル閾値を下回ると決定されたとき(S502)、
複数の基準フレーム(202)を符号化すること(S504)であって、前記複数の符号化基準フレームの各基準フレームは、フレーム内符号化フレームまたはフレーム間符号化フレームである、複数の基準フレームを符号化することと、
複数の空フレーム(204)を符号化すること(S510)であって、空フレームは、スキップブロックとして符号化されるマクロブロックと、前記ビデオストリーム内の別のフレームに対する参照基準とを含み、空フレームとして符号化される各フレームについて、
前記複数の符号化基準フレームの間で1つの符号化基準フレームを選択すること(S514)と、
前記選択されている基準フレームに対する直接的または間接的な参照基準を有する前記空フレームを符号化すること(S516)であって、間接的な参照基準は、前記選択されている基準フレームを参照する、以前に符号化されている空フレームを介して行われる、前記空フレームを符号化することと
によって、複数の空フレームを符号化することとを含み、
前記符号化フレームシーケンス(200)内の少なくとも1対の連続する空フレームについて、前記対のうちの第1の空フレームの前記選択されている基準フレームは、前記対のうちの第2の空フレームの前記選択されている基準フレームとは異なり、前記第1の空フレームの前記選択されている基準フレームと前記第2の空フレームの前記選択されている基準フレームは両方とも、前記第1の空フレームおよび前記第2の空フレームに時間的に先行する、方法。
【請求項2】
前記符号化フレームシーケンス内の連続する空フレームの各対について、前記対のうちの第1の空フレームの前記選択されている基準フレームは、前記対のうちの第2の空フレームの前記選択されている基準フレームとは異なる、請求項1に記載の方法。
【請求項3】
空フレームとして符号化されることになる第1のフレームについて、前記第1のフレームは、前記フレームシーケンス内の前記複数の基準フレームの間で第1の符号化基準フレームに直に後続し、前記複数の符号化基準フレームの間で1つの符号化基準フレームを選択するステップは、前記複数の符号化基準フレームの間で、前記第1の符号化基準フレームとは異なる符号化基準フレームを選択することを含む、請求項1に記載の方法。
【請求項4】
前記複数の基準フレームは、1つまたは複数のフレーム間符号化フレームを含み、前記方法は、
前記1つまたは複数のフレーム間符号化フレームのすべての運動ベクトルをゼロに設定するステップをさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
少なくとも1つの空フレームについて、前記空フレームの前記符号化は、
前記符号化基準フレームの間で1つの符号化基準フレームを選択することであって、すでに選択されている前記符号化基準フレームが、別の符号化空フレームによって直に参照される、符号化基準フレームを選択することと、
前記別の符号化空フレームに対する参照基準を有する前記空フレームを符号化することと
を含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
符号化空フレームは、すべてのマクロブロックがスキップブロックに設定されているフレーム間符号化フレームの形態を有する、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記フレームシーケンスのフレームを空フレームとして符号化する前に、前記空フレームの前記画像データの動きレベル(609)を受信し、前記動きレベルが前記動きレベル閾値を下回るかどうかを決定するステップ(S512)と、
前記動きレベルが前記動きレベル閾値を下回るという決定を受けて、前記フレームを空フレームとして符号化するステップと、
前記動きレベルが前記動きレベル閾値を上回るという決定を受けて、前記フレームをフレーム間符号化フレームまたはフレーム内符号化フレームとして符号化するステップ(S503)と
をさらに含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記フレームシーケンスの最初のフレームがフレーム内符号化基準フレームとして符号化され、前記フレームシーケンス内で前記最初のフレームに直に後続する1つまたは複数のフレームがフレーム間符号化基準フレームとして符号化される、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記符号化基準フレームは少なくとも2つのフレーム間符号化フレームを含む、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記符号化基準フレームを選択するステップは、ランダム関数を使用して実施され、または、所定の選択シーケンスに従って実施される、請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記フレームを空フレームとして符号化するステップは、
前記符号化基準フレームの間で時間的に先行する符号化基準フレームを選択することを含む、請求項1から10のいずれか一項に記載の方法。
【請求項12】
処理機能を有する装置によって実行されるときに、請求項1から11のいずれか一項に記載の方法を実行に移すように適合している命令を有するコンピュータ可読記憶媒体。
【請求項13】
ビデオストリーム内のフレームシーケンス(606)を符号化するように適合している装置(610)であって、前記装置はプロセッサを備え、前記プロセッサによって、前記フレームシーケンス内の最初のフレームの画像データの動きレベルが動きレベル閾値を下回ると決定されたとき(S502)、前記プロセッサは、
複数の基準フレーム(202)を符号化すること(S504)であって、前記複数の符号化基準フレームの各基準フレームは、フレーム内符号化フレームまたはフレーム間符号化フレームである、複数の基準フレームを符号化することと、
複数の空フレーム(204)を符号化すること(S510)であって、空フレームは、スキップブロックとして符号化されるマクロブロックと、前記ビデオストリーム内の別のフレームに対する参照基準とを含み、空フレームとして符号化される各フレームについて、
前記符号化基準フレームの間で1つの符号化基準フレームを選択すること(S514)と、
前記選択されている基準フレームに対する直接的または間接的な参照基準を有する前記空フレームを符号化すること(S516)であって、間接的な参照基準は、前記選択されている基準フレームを参照する、以前に符号化されている空フレームを介して行われる、前記空フレームを符号化することと
によって、複数の空フレームを符号化することとを行うように設定されており、
前記符号化フレームシーケンス(200)内の少なくとも1対の連続する空フレームについて、前記対のうちの第1の空フレームの選択されている前記基準フレームは、前記対のうちの第2の空フレームの選択されている前記基準フレームとは異なり、前記第1の空フレームの前記選択されている基準フレームと前記第2の空フレームの前記選択されている基準フレームは両方とも、前記第1の空フレームおよび前記第2の空フレームに時間的に先行する、装置。
【請求項14】
シーン(602)のデータを連続的にキャプチャし、前記キャプチャされたデータに基づいてフレームシーケンス(606)を含むビデオストリームを生成するための第1の装置(604)と、
前記ビデオストリームの各フレームの動きレベル(609)を決定するように適合している第2の装置(608)と、
前記フレームシーケンス、および前記フレームシーケンスの前記決定されている動きレベルを受信するように適合している、請求項13に記載の第3の装置(610)と
を備える、システム(600)。
【請求項15】
前記第1の装置、前記第2の装置および前記第3の装置は、画像キャプチャ装置内に実装されている、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオ符号化の分野に関する。特に、本発明は、フレームシーケンス内の最初のフレームの画像データの動きレベルが動きレベル閾値を下回るものとして決定される、フレームシーケンスを符号化するための方法、符号化手段およびシステムに関する。
【背景技術】
【0002】
ビデオカメラは監視目的に一般的に使用されている。カメラによってモニタされるシーンは、何らかの時間期間の間に、動いている物体を含む場合があり、したがって、カメラによってキャプチャされるビデオ内に動きを導入する。他の時間期間の間、シーンは、静止物体しか含まない場合があり、したがって、カメラによってキャプチャされるビデオに動きがなくなり、すなわち、キャプチャされるビデオが静止ビデオになる。
【0003】
ビデオストリームを符号化することに関して、帯域幅効率が課題になることが多い。有利には、ビデオストリームは、ビデオストリームのビットレートを低減するが、ただし、符号化ビデオストリームの品質に(過度に)顕著に影響を及ぼすことがないように、符号化される。シーン内の様々な量の動きに帯域幅効率的に対処するために、符号化手段は、フレーム内で描写されるものとしてのシーン内の動きの量に応じて符号化ビデオストリームのフレームレートを動的に調整することができる。言い換えれば、フレーム内に(したがって、シーン内に)動きがある時間期間の間は、フレーム内に動きがまったくまたはほとんどないときと比較して、符号化ビデオストリーム内でより高いフレームレートが使用され得る。例えば、フレーム内で動きが制限されているかまたはまったくないとき、フレームレートは1Hz程度の低さであり得、つまり、符号化ビデオストリーム内には1秒あたり1つのフレームしかない。そのような低いフレームレートにおいては、ビデオ内に時間的ノイズはごくわずかしかない。結果として、復号されたビデオを見るユーザは、ビデオが不自然で凍り付いたように見えるのを発見し、ユーザは、カメラのハードウェアまたはソフトウェアに機能不全があるのではないかと疑い始める可能性がある。
【0004】
シーン内の様々な量の動きに帯域幅効率的に対処する別の方法は、符号化手段によって適用される圧縮のレベルが画像内容の重要性によって変化する符号化技法を使用することである。例えば、動いている物体を描写しているビデオフレームの部分は、動きが存在しないビデオフレームの部分よりも低い圧縮度で符号化され得る。特に、動きが存在しないビデオフレームの部分は、スキップブロックまたはPスキップブロックとも称されることがある空ブロックを使用してコード化され得る。したがって、シーン内に動きがまったくないかまたは量が制限されている時間期間の間、フレームは大部分が空ブロックによって符号化されることになる。空ブロックは典型的には、先行するフレーム内の対応するブロックの複製として表示されることになるため、この技法にも、ビデオ内に時間的ノイズがごくわずかしかないという効果がある。したがって、ここでも、ビデオを見るユーザは、ビデオが不自然で凍り付いたように見えるのを発見し、ユーザは、カメラにハードウェアまたはソフトウェアの機能不全があるのではないかと疑い始める可能性がある。
【0005】
したがって、符号化ビデオストリームにおいて低いフレームレートを使用すること、または、上記で説明したように多数の空ブロックを使用してビデオストリームを符号化することによって、時間的ノイズがないことに起因して、ビデオ内に人工的な静止が導入され得る。高いフレームレートにおいてキャプチャされ、動きのあるシーンのビデオと同様に符号化される(したがって、符号化ビデオのビットレートを増大する)静止したシーンのビデオは、画像センサにおけるノイズに起因して時間的ノイズを依然として含み得るため、この人工的な静止は、シーン自体において動きがないことによって引き起こされるのではなく、上記で説明したようにビデオを帯域幅効率的に符号化するときに使用されるフレームレートまたは符号化手法の選定によって引き起こされる。
【0006】
したがって、このコンテキスト内での改善が必要とされている。
【発明の概要】
【0007】
したがって、上記に照らして、本発明の目的は、上述した問題を克服または少なくとも軽減することである。特に、復号および表示されるときに符号化ビデオストリームが不自然であるかまたは凍り付いたように見えない、動きが少ないビデオストリームの帯域幅効率的な符号化方法を提供することが目的である。
【0008】
本発明の第1の態様によれば、ビデオストリーム内のフレームシーケンスを符号化する方法が提供され、方法は、フレームシーケンス内の最初のフレームの画像データの動きレベルを、動きレベル閾値を下回るものとして決定することと、複数の基準フレームを符号化することであって、複数の符号化基準フレームの各基準フレームは、フレーム内符号化フレームまたはフレーム間符号化フレームである、複数の基準フレームを符号化することと、複数の空フレームを符号化することであって、空フレームは、スキップブロックとして符号化されるマクロブロックと、ビデオストリーム内の別のフレームに対する参照基準とを含み、空フレームとして符号化される各フレームについて、
複数の符号化基準フレームの間で1つの符号化基準フレームを選択することと、
選択されている基準フレームに対する直接的または間接的な参照基準を有する空フレームを符号化することと
によって複数の空フレームを符号化することとを含み、
符号化フレームシーケンス内の少なくとも1対の連続する空フレームについて、当該対のうちの第1の空フレームの選択されている基準フレームは、当該対のうちの第2の空フレームの選択されている基準フレームとは異なる。
【0009】
フレームシーケンス内の最初のフレームの画像データの動きレベルを、動きレベル閾値を下回るものとして決定するステップは、任意の適切な方法で実施されてもよい。動きレベルは、例えば、フレームシーケンス内の最初のフレームの画像データを、ビデオストリーム内の先行するフレームの画像データと比較することによって、計算することができる。1つの実施形態において、最初のフレームの動きレベルが受信されて、動きレベル閾値と比較される。別の実施形態において、比較はすでに行われており、比較の結果が、例えば、ブール(真または偽)として受信される。
【0010】
本明細書において使用される場合、「空フレーム」とは、一般的に、符号化フレームのマクロブロック(MB)の少なくともいくつかについて、スキップブロック(Pスキップブロック、空ブロックなど)を使用して符号化されているフレームを意味する。いくつかの実施形態において、空フレームのMBの大部分は、スキップブロックとして符号化される。また他の実施形態においては、すべてのMBがスキップブロックとして設定/符号化される。その上、空フレームは、ビデオストリーム内の別のフレームに対する参照基準を含む。言い換えれば、空フレームは、少なくとも1つのMBがスキップブロックとして符号化されている、インター符号化フレームである。
【0011】
本発明は、空フレームの基準フレームを慎重に選択することによって、人工的な静止を低減する時間的ノイズを、符号化フレームシーケンスに導入することができるという認識に基づく。画像データの動きレベルが動きレベル閾値を下回るものとして決定されており、したがって、ビットレートを低減する(ただし、依然として符号化ストリームのフレームレートを損傷しないままにして)ように、空フレームの概念を使用してフレームシーケンスを符号化することを可能にする場合、時間的ノイズの導入は、最初に、通常の(従来の)方法で複数の基準フレームを符号化する(例えば、スキップブロックのない、最初のIフレーム、および、少なくとも1つの後続するPフレーム)ことによって達成することができる。その後、後続の空フレームが、符号化フレームシーケンス内の連続する空フレームの対が基準フレームのうちの異なるフレームを参照するように、符号化される。参照は、下記にさらに説明するように、直接的であってもよく、または、間接的であってもよい。言い換えれば、符号化フレームシーケンス内で第2の空フレームが直に後続する第1の空フレームについて、第1の空フレームおよび第2の空フレームの基準フレームは異なる。典型的には、従来技術において、空フレーム(例えば、空フレーム内のスキップブロック)は、符号化フレームシーケンス内の直に先行するフレームを参照する。結果として、符号化フレームシーケンス内の別の空フレームが直に後続する空フレームは、同じ基準フレームを参照することになる。言い換えれば、第2の空フレームは、基準フレームを参照する第1の空フレームを参照することによって、間接的に、第1の空フレームと同じ参照基準を参照することになる。したがって、2つの空フレーム内の対応するスキップブロックは、基準フレーム内の正確に同じMBを参照し、したがって、後に復号されるビデオストリーム内の正確に同じ画像データとして復号されることになり、したがって、復号ビデオストリーム内に人工的な静止が導入される。しかしながら、本明細書において開示されている本発明の概念を使用して、空フレーム内の対応するMBは、少なくとも、基準フレームとして符号化されるフレームシーケンス内のフレームをキャプチャするときに、画像センサにおけるノイズに起因する時間的ノイズを含むことになる。このいわゆる「快適ノイズ」は、ノイズを決定することを一切必要とせず、または、ピクセル値などを調整することによって「偽装」ノイズを含めることを一切必要とせず、代わりに本明細書において記載されているような空フレームが結果として実装されて、符号化ビデオストリーム内に含められる。
【0012】
いくつかの実施形態によれば、符号化フレームシーケンス内の連続する空フレームの各対について、当該対のうちの第1の空フレームの選択されている基準フレームは、当該対のうちの第2の空フレームの選択されている基準フレームとは異なる。結果として、符号化フレームシーケンス内の別の空フレームが直に後続する空フレーム内の対応するMBは、後に復号されるビデオストリーム内の正確に同じ画像データとして復号されなくなるため、人工的な静止をさらにより低減することができる。
【0013】
いくつかの実施形態について、空フレームとして符号化されることになる第1のフレームについて、上記フレームは、フレームシーケンス内の複数の基準フレームの間で第1の符号化基準フレームに直に後続するが、複数の符号化基準フレームの間で1つの符号化基準フレームを選択するステップは、複数の符号化基準フレームの間で、上記第1の符号化基準フレームとは異なる符号化基準フレームを選択することを含む。言い換えれば、この実施形態において、空フレームは、フレームシーケンス内で空フレームに直に先行する基準フレームを参照しないことができる。有利には、人工的な静止をさらにより低減することができる。
【0014】
いくつかの実施形態によれば、複数の基準フレームは、1つまたは複数のフレーム間符号化フレームを含み、方法は、1つまたは複数のフレーム間符号化フレームのすべての運動ベクトルをゼロに設定するステップをさらに含む。フレームシーケンスは、非常に低いレベルの動きを含む可能性があるため、フレーム間符号化フレームによって参照されるフレーム内の対応するMBを探索するために、運動ベクトルを生成することになるブロックマッチングアルゴリズムを実施する必要性は限定的である。代わりに、運動ベクトルをゼロに設定することができ、符号化プロセスに必要な処理能力が低減し、結果として、フレーム間符号化フレームに増大したQP値を使用することができるようになり得、したがって、符号化フレームシーケンスのビットレートがさらに低減する。
【0015】
いくつかの実施形態によれば、少なくとも1つの空フレームについて、空フレームの符号化は、符号化基準フレームの間で1つの符号化基準フレームを選択することであって、すでに選択されている符号化基準フレームが、別の符号化空フレームによって直に参照される、符号化基準フレームを選択することと、上記別の符号化空フレームに対する参照基準を有する空フレームを符号化することとを含む。
【0016】
言い換えれば、選択されている基準フレームに対する空フレームにおける参照は、選択されている基準フレームを参照する、以前に符号化されている空フレームを介する、間接的なものであり得る。有利には、このような参照によって、符号化手段内に一時的に記憶される必要があるフレームが少なくなり、一時的に記憶されるフレームは、フレーム間符号化フレームによる照会に使用されるために記憶される。
【0017】
いくつかの実施形態によれば、符号化空フレームは、すべてのマクロブロックがスキップブロックに設定されているフレーム間符号化フレームの形態を有する。結果として、符号化空フレームが、画像データまたは運動ベクトルを含有せず、空フレームを復号するときに示されるべき画像データが取り出される、選択されている基準フレームに対する参照基準のみを含有することになるため、符号化フレームシーケンスのビットレートをさらに低減することができる。言い換えれば、空フレームは、更新済みデータを有しないフレーム間符号化フレームである。
【0018】
いくつかの実施形態によれば、方法は、フレームシーケンスのフレームを符号化する前に、上記フレームの画像データの動きレベルを受信するステップと、動きレベルが動きレベル閾値を下回るかどうかを決定するステップと、動きレベルが閾値動きレベルを下回るという決定を受けて、フレームを空フレームとして符号化するステップと、動きレベルが閾値動きレベルを上回るという決定を受けて、フレームをフレーム間符号化フレームまたはフレーム内符号化フレームとして符号化するステップとをさらに含む。この実施形態において、キャプチャされているシーンの内容が突如動き始め、したがって、ビデオストリーム内のフレームの画像内容の動きレベルが増大する場合、そうでなければ空フレームとして符号化されていたフレームを、代わりに、フレーム間符号化フレームまたはフレーム内符号化フレーム(すなわち、スキップブロックを一切有しない)として符号化することができる。この実施形態は、符号化方法の柔軟性を増大させる。
【0019】
いくつかの実施形態によれば、フレームシーケンスの最初のフレームがフレーム内符号化基準フレームとして符号化され、フレームシーケンス内で最初のフレームに直に後続する1つまたは複数のフレームがフレーム間符号化基準フレームとして符号化される。
【0020】
いくつかの実施形態によれば、符号化基準フレームは、少なくとも2つのフレーム間符号化フレームを含む。有利には、この符号化によって、空フレーム内のノイズの顕著な繰り返しを低減することができ、したがって、空フレーム内のより現実的なノイズをもたらすことができる。
【0021】
いくつかの実施形態によれば、符号化基準フレームを選択するステップは、ランダム関数を使用して実施される。有利には、ランダム関数を使用することによって、符号化手段が基準フレームを選択するステップのために任意の所定の選択シーケンスを記憶する必要をなくすことができるため、符号化方法の複雑度が低減する。その上、そのようなランダム関数は、本質的に、利用可能な基準フレームの間でランダムに選定するため、基準フレーム数は無関係である。
【0022】
いくつかの実施形態によれば、符号化基準フレームを選択するステップは、所定の選択シーケンスに従って実施される。そのようなシーケンスは、表などとして符号化手段内に記憶されてもよい。選択シーケンスに従う場合、利用可能な基準フレームの各数に対して1つのそのようなシーケンスが存在し得る。他の実施形態においては、所定の選択シーケンスは、例えばモジュロ演算など、アルゴリズムの形態である。
【0023】
いくつかの実施形態によれば、フレームを空フレームとして符号化するステップは、符号化基準フレームの間で時間的に先行する符号化基準フレームを選択することを含む。言い換えれば、空フレームは、Pフレームと比較することができる。代替的に、または付加的に、符号化基準フレームは、例えば、Bフレームなどの、時間的に後続するフレームであってもよい。
【0024】
本発明の第2の態様によれば、上記の目的は、処理機能を有する装置によって実行されるときに、第1の態様の方法を実行に移すように適合している命令を有するコンピュータ可読記憶媒体を含むコンピュータプログラム製品によって達成される。
【0025】
本発明の第3の態様によれば、上記の目的は、ビデオストリーム内のフレームシーケンスを符号化するように適合している装置によって達成され、装置はプロセッサを備え、プロセッサは、フレームシーケンス内の最初のフレームの画像データの動きレベルを、動きレベル閾値を下回るものとして決定することと、複数の基準フレームを符号化することであって、複数の符号化基準フレームの各基準フレームは、フレーム内符号化フレームまたはフレーム間符号化フレームである、複数の基準フレームを符号化することと、複数の空フレームを符号化することであって、空フレームは、スキップブロックとして符号化されるマクロブロックと、ビデオストリーム内の別のフレームに対する参照基準とを含み、空フレームとして符号化される各フレームについて、
符号化基準フレームの間で1つの符号化基準フレームを選択することと、
選択されている基準フレームに対する直接的または間接的な参照基準を有する空フレームを符号化することと
によって複数の空フレームを符号化することとを行うように設定されており、
符号化フレームシーケンス内の少なくとも1対の連続する空フレームについて、当該対のうちの第1の空フレームについて選択されている基準フレームは、当該対のうちの第2の空フレームについて選択されている基準フレームとは異なる。
【0026】
本発明の第4の態様によれば、上記の目的は、シーンのデータを連続的にキャプチャし、キャプチャされているデータに基づいてフレームシーケンスを含むビデオストリームを生成するための第1の装置、ビデオストリームの各フレームの動きレベルを決定するように適合している第2の装置、および、フレームシーケンスおよびフレームシーケンスの決定されている動きレベルを受信するように適合している、第3の態様による第3の装置によって達成される。
【0027】
いくつかの実施形態によれば、第1の装置、第2の装置および第3の装置は、例えばビデオカメラなどの画像キャプチャ装置内に実装される。他の実施形態において、第1の装置は画像キャプチャ装置であり、第2の装置は別個に構成されたビデオ分析ユニットであり、第3の装置は、別個に構成されたビデオ符号化ユニットである。
【0028】
第2の態様、第3の態様および第4の態様は、一般的に、第1の態様と同じ特徴および利点を有することができる。本発明は、別途明示的に述べられない限り、特徴のすべての可能な組み合わせに関することにさらに留意されたい。
【0029】
本発明の上記の目的、特徴および利点ならびに追加の目的、特徴および利点は、添付の図面を参照しながら、本発明の好ましい実施形態の以下の例示的で非限定的な詳細な説明を通じてより良好に理解される。図面において、類似の要素に同じ参照符号が使用される。
【図面の簡単な説明】
【0030】
【
図1】少量の動きが決定されるフレームシーケンスを符号化する既知の方法を示す図である。
【
図2】本発明の第1の実施形態による、少量の動きが決定されるフレームシーケンスを符号化する方法を示す図である。
【
図3】本発明の第2の実施形態による、少量の動きが決定されるフレームシーケンスを符号化する方法を示す図である。
【
図4】本発明の第2の実施形態による、少量の動きが決定されるフレームシーケンスを符号化する方法を示す図である。
【
図5】いくつかの実施形態によるフレームシーケンスの符号化の流れ図である。
【
図6】シーンのデータをキャプチャし、シーンの内容の動きレベルを決定し、シーンを描写するフレームシーケンスを符号化するように適合しているシステムを示す図である。
【発明を実施するための形態】
【0031】
これより、本発明を、以下、本発明の実施形態が図示されている添付の図面を参照しながらより十分に説明する。本明細書において開示されているシステムおよび装置は動作中の状態で説明される。
【0032】
図1は、従来技術によるフレームシーケンスを符号化する方法を図示する。上述したように、キャプチャされているシーン内に動きがないかまたは動きの量が制限されている時間期間の間に、帯域幅を節約する(符号化フレームシーケンスのビットレートを低減または最適化する)1つの方法は、フレームのいくつかを空フレームとして符号化する、すなわち、少なくともいくつかの空ブロック(スキップブロック、Pスキップブロックなど)によって符号化することであり得る。これらの空フレームは、以降、図面内で「E」によって参照される。
図1において、フレームシーケンス100内の第1のフレームはIフレーム(図面内で「I」によって指定される)として符号化され、残りのフレーム100は、フレームシーケンス100内の直に先行するフレームに対する参照基準を有し、したがって、すべてがIフレームに対する直接的または間接的な参照基準を有する空フレームとして符号化される。この符号化には、すべてのフレーム100が第1のフレーム(すなわち、Iフレーム)の複製として表示されることになるため、ビデオ内に時間的ノイズがごくわずかしか(またはまったく)ないという効果がある。したがって、フレーム100からもたらされるビデオを見るユーザは、ビデオが不自然で凍り付いたように見えるのを発見し、ユーザは、カメラにハードウェアまたはソフトウェアの機能不全があるのではないかと疑い始める可能性がある。この疑念はさらに、ユーザがカメラを物理的に検査するように促す場合があり、検査は貴重な時間を消費し、カメラがアクセスすることが困難な場所に設置されている場合には困難であり得る。
【0033】
たとえシーンが完全に静止している場合であっても(例えば、夜間の無人の鉄道駅)、キャプチャされるフレームのシーケンス内には、画像センサにおけるノイズに起因して時間的ノイズが依然として存在する。キャプチャされる画像データ内のこの内在的なノイズレベルは、フレームを符号化するときに利用され得る。以下において、フレームシーケンスを符号化する方法のいくつかの例を説明する。しかしながら、それらの例はすべて、少なくとも2つの共通する特性を有する。第1に、符号化空フレームによって参照され得る複数の基準フレームが符号化される。これらの基準フレームは通常通りに符号化され、例えば、Iフレームに、Iフレーム(またはPフレームが複数ある場合は別のPフレーム)を参照する少なくとも1つのPフレームが後続し、基準フレームは有利には、一切のスキップブロックなしに、または、少なくとも少数のスキップブロックを有して符号化される。第2に、符号化フレームシーケンス内の少なくとも1対の連続する空フレームについて、当該対のうちの第1の空フレームの基準フレームは、当該対のうちの第2の空フレームの基準フレームとは異なる。このように符号化することによって、シーンをキャプチャするときの内在的な時間的ノイズが複数の基準フレーム内に存在することになり、第1の空フレームについて、符号化フレームシーケンス内の直に後続する第2の空フレームと同じ基準フレームを選定しないことによって、この時間的ノイズは、連続する符号化空フレームのこの対にも存在することになる。
【0034】
図2〜
図4は、少量の動きが決定されるフレームシーケンスを符号化する方法を例として図示する。これらの例において、符号化フレームはピクチャ群(GOP)に対応するが、これは本発明の必要条件ではない。本明細書において開示されている方法は、GOPの半分などのような任意のフレームシーケンスに使用することができる。
【0035】
図2は、第1の実施形態によるフレームシーケンスを符号化する方法を例として図示する。複数の基準フレーム202が符号化され、この符号化はこの場合、フレームシーケンス200の最初のフレーム200aがフレーム内符号化基準フレーム(図面内の「I」)として符号化されることに対応し、フレームシーケンス200内で最初のフレーム200aに直に後続する2つのフレーム200b〜cがフレーム間符号化基準フレーム(図面内の「P」)として符号化される。他の実施形態によれば、複数の基準フレーム202のうちの2つ以上のフレームがIフレームとして符号化される。フレーム間符号化基準フレームは、Pフレームおよび/またはBフレームの形態であってもよい。基準フレーム202の数(符号化フレームシーケンス200のビットレートの増大をもたらす)は、ユーザ体験のレベルの向上とのバランスをとるべきである。例えば、GOPがより大きくなる結果として、より小さいGOPと比較してより多くの基準フレーム202が符号化される。
図2において、GOP内の残りのフレーム200d〜h(最後の符号化フレーム200iは、後続するGOPの最初のフレームを参照する)が、空フレーム204として符号化される。各空フレーム204について、符号化基準フレーム202が選択され、参照される(
図2〜
図4においては矢印として描写される)。
図2に見てとれるように、符号化フレームシーケンス200内の連続する空フレーム204の各対について、当該対のうちの第1の空フレームの選択されている基準フレームは、当該対のうちの第2の空フレームの選択されている基準フレームとは異なる。例えば、
図2の第1の空フレーム200dは、第1の基準フレーム200aを参照し、一方、直に後続する空フレーム200eについて、選択される基準フレームは、第2の基準フレーム200bである。これら2つの空フレーム200d〜eについて、フレームは、選択されている基準フレーム200a〜bへの直接的な参照によって符号化される。この符号化はまた、第3の基準フレーム200cを直接的に参照する、後続する空フレーム200fについても当てはまる。次の空フレーム200g(
図2の例の第4の空フレーム)について、この空フレーム200gは、第1の空フレーム200dを参照しており、第1の空フレーム200dは、第1の基準フレーム200aを参照する。したがって、第4の空フレームは、基準フレームへの間接的な、すなわち、別の空フレーム200dを介した参照基準を含む。言い換えれば、第4の空フレーム200gの符号化は、符号化基準フレーム202の間で符号化基準フレーム200aを選択することを含み、すでに選択されている符号化基準フレームが、別の符号化空フレーム200dによって直接的に参照される。この間接的な参照方法は、符号化するときにメモリに記憶する必要がある符号化フレームの数を低減することができる。この例における最後の(第5の)空フレーム200hについて、選択される基準フレームは第3の基準フレーム200cであり、第3の基準フレーム200cは第5の空フレーム200hによって、第3の空フレーム200fを介して間接的に参照される。したがって、5つの空フレーム200d〜hは、時間的順序において、基準フレーム1−2−3−1−3を参照する。言い換えれば、符号化フレームシーケンス200内の連続する空フレームの各対について、当該対のうちの第1の空フレームの選択されている基準フレームは、当該対のうちの第2の空フレームの選択されている基準フレームとは異なる。このように、空フレームの各々の間で時間的ノイズが導入され、したがって、表示される復号フレームを見るユーザ(例えば、オペレータ)にとって「快適な」ノイズが提供される。
図2に示す例示的な実施形態において、空フレーム204として符号化されることになる第1のフレーム200dについて、上記フレームは、フレームシーケンス200内の複数の基準フレーム202の間で特定の符号化基準フレーム200cに直に後続するが、複数の符号化基準フレーム202の間で1つの符号化基準フレームを選択するステップは、複数の符号化基準フレーム202の間で、上記特定の符号化基準フレーム200cとは異なる符号化基準フレーム200aを選択することを含む。このように、空フレーム204として符号化されることになる第1のフレーム200dと、上記空フレーム200dに直に先行する基準フレーム200cとの間にも、時間的ノイズが導入されることになる。他の実施形態において、フレーム200dはフレーム200cを参照してもよい。
【0036】
図2の例においては、フレームシーケンス内の最初のフレームのみが基準フレーム202として符号化される。この符号化は例に過ぎない。
図3において、2つの第1のフレーム200a〜bが、基準フレーム202として符号化される。3つの後続するフレーム200c〜eは、空フレーム204として符号化される。さらに、続くフレーム200fは、空フレーム204として符号化される2つのさらなるフレーム200g〜hが後続する基準フレームとして符号化される。フレームシーケンスの後方に基準フレームを導入するこの方法は、フレームシーケンス200をキャプチャしている間に発生した可能性があるシーン内の変化をキャプチャするために有利であり得る。
図2の例からのさらなる相違は、空フレームのうちの1つが時間的に後の基準フレームを参照し、この参照によって、第1の空フレーム200cが第3の基準フレーム200fを参照することである。多くの規格が、フレーム間符号化フレームが順方向において参照することを可能にするため(例えば、Bフレーム、双方向予測ピクチャ)、この参照はまた、本発明の空フレーム(スキップブロックとして符号化されるマクロブロックを含むフレーム間符号化フレームの形態を有する)について可能にされ得る。
【0037】
図4においては、たとえフレームシーケンス200が基準フレーム202の2つの別個のセットを含むとしても、符号化基準フレームの間で時間的に先行する符号化基準フレームのみが空フレームによって参照される。空フレーム204を符号化するときに時間的に先行する符号化基準フレームのみを選択することによって、符号化手段のメモリ内に記憶される必要があるフレームの数が低減され、フレームシーケンスを符号化する方法が単純になる。
【0038】
図5は、いくつかの実施形態によるフレームシーケンスの符号化の流れ図を図示する。そもそもフレームシーケンスについて空フレームが利用されるべきであるかどうかを決定するために、フレームシーケンス内の最初のフレームの画像データの動きレベルが動きレベル閾値を下回るかどうかが決定されるS502。最初のフレームの動きレベルは、例えば先行するGOPなどの、1つまたは複数の先行するフレームとの比較に基づいて決定することができる。例えば、先行するシーケンスの動きレベルの平均動きレベルを、別個の動きレベル算出ユニットから符号化手段によって受信することができ、または、符号化手段において算出することができる。動きレベル閾値は、フレームに基づいて予め決定されてもよく、または、例えば、オペレータがユーザの事例に基づいて設定することができる、ユーザが調整可能な値であってもよい。上述したように、最初のフレームは、GOPの第1のフレームに対応してもよく、または、対応しなくてもよい。動きレベルが動きレベル閾値を超えると決定される場合、後続するフレームシーケンスは、例えば、本開示において規定されるような空フレームなしに、フレーム内符号化フレームおよびフレーム間符号化フレームを使用して、従来のように(標準的に)符号化されるべきであるS503と決定することができる。しかしながら、最初のフレームの動きレベルが閾値動きレベルを下回ると決定された場合、後続のフレームシーケンスが、動きをまったく含まないまたは少量だけ含み、したがって、ビットレートを最適化するために本開示の符号化方法が有利に使用され得る可能性が高いと決定することができる。本方法を使用することは、少量の光を含むシーンのビデオをキャプチャするときに特に有利であり得る。これらの場合、フレーム間ノイズの量が大きくなり、従来のようにPフレームとして符号化される場合、符号化される必要がある多くの残差値(基準フレームに対する差)がもたらされる。
【0039】
次いで、複数の基準フレームが符号化されるS504。任意選択で、基準フレームを符号化する前に、基準フレームとして符号化されるべきフレームの画像データの動きレベルを、動きレベル閾値と比較することができるS506。この比較を連続的に行うことによって、方法は、いつでも中断して通常の符号化S503に戻ることができる。この段階において動きレベルのチェックS506を行わないことによって、符号化プロセスに必要な処理能力を低減することができる。各基準フレームが、フレーム内符号化フレームまたはフレーム間符号化フレームとして符号化されるS508。
【0040】
いくつかの実施形態によれば、フレーム間符号化フレームのすべての運動ベクトルがゼロに設定される。基準フレームの画像内容が以前のフレームと比較して動きをごくわずかしかまたはまったく包含しない可能性が高い(または判定されるS506)ため、フレーム間符号化フレームのマクロブロックを符号化するためにブロックマッチングを実施せず、代わりに、ただ先行するフレーム内の同じブロックを参照することによって、これを利用することができる。結果として、処理能力を節約することができ、より高いQP値を符号化に使用して、ビットレートの節約をさらに増大することができる。
【0041】
次いで、複数の空フレームが符号化されるS510。任意選択で、フレームを空フレームとして符号化する前に、上記フレームの画像データの動きレベルが受信または他の態様で決定され、動きレベル閾値と比較される。この実施形態において、動きレベルが動きレベル閾値を下回るかどうかが決定されるS512。動きレベルが閾値動きレベルを上回ると決定されたとき、方法を中断することができ、後続して標準的な符号化S503が行われる。言い換えれば、現在のフレームが、従来通りフレーム間符号化フレームまたはフレーム内符号化フレームとして符号化される。しかしながら、動きレベルが閾値動きレベルを下回ると決定されたとき、フレームは空フレームとして符号化される。この符号化は、複数の符号化基準フレームの間で1つの符号化基準フレームを選択することS514を含む。この選択プロセスは、種々の戦略を使用して実施されてもよい。
【0042】
1つの実施形態によれば、符号化基準フレームを選択するステップは、ランダム関数を使用して実施される。ランダム関数は、利用可能な基準フレームの数(または、フレームシーケンス内の利用可能な基準フレームのインデックス)、および、例えば、任意の許容されない基準フレームのインデックスを入力として取り得る。許容されない基準フレームは、2つの直に後続する空フレームが同じ基準画像を参照することになることを回避するために、フレームシーケンス内の直に先行する空フレームのための参照基準として使用される基準フレームであり得る。
【0043】
1つの実施形態によれば、符号化基準フレームを選択するステップは、所定の選択シーケンスに従って実施される。例えば、符号化手段は、例えば、2つの基準画像の場合の1つのリスト、3つの場合の1つのリスト(例えば、1、2、3、1、2、3、1、2、3など)、4つの場合の1つのリストなどの形態の、各数の可能な基準画像のためのそのような選択シーケンスを知ることができる。所定の選択シーケンスは、例えばモジュロ演算など、アルゴリズムの形態であり得る。そのようなアルゴリズムは、以下のような形式を有すると考えられ得る。
I=X mod Y
式中、Yは利用可能な基準画像の数であり、Xは、フレームシーケンス内で空フレームとして符号化されるべき現在のフレームのインデックスである。モジュロ演算(I)の結果はその後、空フレームが参照することになる基準画像のインデックスを選択するために使用される。
【0044】
符号化基準フレームが選択されると、空フレームはその後、選択されている基準フレームに対する直接的なまたは間接的な参照基準を用いて符号化されるS516。
【0045】
任意選択で、1つまたは複数の空フレームを符号化した後、新たな基準フレームを符号化することができS504(したがって、方法は反復するS518)、後続して、フレームシーケンス全体が符号化されるまで、符号化空フレームのセットの符号化S516などが行われる。他の実施形態において、フレームシーケンス内のすべての残りのフレームが空フレームとして符号化される。
【0046】
本明細書において説明されているような符号化方法は、h.264およびh.265のような規格に従う。言い換えれば、標準的な復号手段を復号に使用することができる。
【0047】
図6は、本発明に従ってフレームシーケンスをキャプチャし符号化するためのシステム600を図示する。システム600は、シーン602の画像データを連続的にキャプチャし、キャプチャされた画像データに基づいて画像フレームシーケンス606を含むビデオストリームを生成するための第1の装置604(すなわち、ビデオカメラ)を備える。システム600は、ビデオストリームの各フレームの動きレベル609を決定するように適合している動き検出ユニット608をさらに備える。動き検出ユニット608は、(例えば、プロセッサを使用して)任意の既知の動き検出および/または物体追跡アルゴリズムを使用してフレームの動きレベルを算出することができる。
【0048】
フレームシーケンス606および決定された動きレベル609は、上述したようにフレームシーケンスを符号化するように適合している第3の装置(符号化手段)610に送られる。
図6において、ビデオをキャプチャする第1の装置604、動き検出ユニット(第2の装置)608および符号化する第3の装置610は、別個のユニットとして描写されている。しかしながら、いくつかの実施形態によれば、3つすべての装置604、608、610が、共通の画像キャプチャ装置内に実装される。
【0049】
上記において、本発明の概念は主に、限定された数の例を参照しながら説明されてきた。しかしながら、当業者には容易に諒解されるように、上記で開示されているものの他の例が、添付の特許請求の範囲によって規定されるような、本発明の概念の範囲内で等しく可能である。