(57)【要約】      （修正有）【課題】ビデオエンコーダの出力ビットレートを制御する方法を提供する。【解決手段】方法は、許容平均ビットレートを設定すること、第１の期間中に複数の時間間隔のビデオをエンコーディングすることにより、時間間隔中に出力された各出力ビットレート及び各時間間隔中のエンコーディングに使用された量子化パラメータを保存すること、出力ビットレート及び量子化パラメータに応じた所定の公称量子化パラメータに対して推定された、対応する正規化済ビットレートを計算することにより各時間間隔に対する出力ビットレートを正規化すること、複数の時間間隔の正規化済ビットレートを平均することにより平均正規化済ビットレートを計算すること、平均正規化済ビットレート及び許容平均ビットレートの比較に基づいて新たな量子化パラメータを計算すること及び第１の期間に続く第２の期間中に新たな量子化パラメータを使用してエンコーディングすることを含む。【選択図】図４
2020205580.tif 000002
【特許請求の範囲】
【請求項１】
ビデオシーケンスをエンコーディングするビデオエンコーダの出力ビットレートを制御する方法であって、
許容平均ビットレートを設定することと、
第１の期間中に、及び、前記第１の期間の複数の時間間隔のそれぞれに対して、ビデオをエンコーディングすることにより、エンコーディングデータを集め、前記時間間隔中に出力された各出力ビットレート、及び、前記各時間間隔中のエンコーディングに使用された量子化パラメータを保存することと、
前記各時間間隔中に使用された前記出力ビットレート及び前記量子化パラメータに応じた所定の公称量子化パラメータに対して推定された、対応する正規化済ビットレートを計算することにより、各時間間隔に対する前記出力ビットレートを正規化することと、
前記複数の時間間隔の前記正規化済ビットレートを平均することにより、前記第１の期間にわたる平均正規化済ビットレートを計算することと、
前記平均正規化済ビットレート及び前記許容平均ビットレートの比較に基づいて、新たな量子化パラメータを計算することと、
前記第１の期間に続く第２の期間中に、前記新たな量子化パラメータを使用して、前記ビデオシーケンスをエンコーディングすることと、を含む方法。
【請求項２】
前記平均正規化済ビットレートを、前記許容平均ビットレートと比較することと、
前記平均正規化済ビットレートが、前記許容平均ビットレートを超える場合、前記公称量子化パラメータより高い、新たな量子化パラメータを計算することと、
前記平均正規化済ビットレートが、前記許容平均ビットレート以下の場合、前記公称量子化パラメータ以下の、新たな量子化パラメータを計算することと、をさらに含む、請求項１に記載の方法。
【請求項３】
前記平均正規化済ビットレートが、最大平均ビットレートを超える場合、最大ビットレート制御を適用することと、
前記平均正規化済ビットレートが、前記最大平均ビットレート以下の場合、可変ビットレート制御を適用することと、をさらに含む、請求項２に記載の方法。
【請求項４】
エンコーディングデータを集めることが、
各時間間隔に対する、少なくとも１つの既知の、ビットレートを増やす外乱要因についてのデータを保存することをさらに含む、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記外乱要因は、前記各時間間隔中にエンコードされた前記ビデオの信号対ノイズ比（ｓｉｇｎａｌ−ｔｏ−ｎｏｉｓｅ  ｒａｔｉｏ又はＳＮＲ）であり、
前記ＳＮＲが、第１のＳＮＲ閾値未満の場合、前記時間間隔中に使用された前記量子化パラメータを、ＳＮＲオフセット値分オフセットし、前記平均正規化済ビットレートを計算することにおいて、より低い量子化パラメータが、前記各時間間隔に使用されるようにすることをさらに含む、請求項４に記載の方法。
【請求項６】
前記外乱要因は、前記各時間間隔中の、パン／チルト／ズーム（ｐａｎ／ｔｉｌｔ／ｚｏｏｍ又はＰＴＺ）ムーブメントであり、
前記ＰＴＺムーブメントが、第１のＰＴＺ閾値を超える場合、前記時間間隔中に使用された前記量子化パラメータを、ＰＴＺオフセット値分オフセットし、前記平均正規化済ビットレートを計算することにおいて、より低い量子化パラメータが、前記各時間間隔に使用されるようにすることをさらに含む、請求項４に記載の方法。
【請求項７】
前記量子化パラメータ、前記公称量子化パラメータ、及び前記新たな量子化パラメータはそれぞれ、１つ又はそれ以上の量子化パラメータを代表する、代表的な量子化パラメータである、請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記第２の期間中に、及び、前記第２の期間の複数の時間間隔のそれぞれに対して、ビデオをエンコーディングすることにより、前記第２の期間中に、エンコーディングデータを集め、前記時間間隔中に出力された各出力ビットレート、及び、前記各時間間隔中のエンコーディングに使用された量子化パラメータを、先入れ先出しにて保存することをさらに含む、請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記方法は、複数の時点にて繰り返され、前記第１の期間は、各時点に対して、その時点より前の、固定期間の時間範囲をカバーする、スライドする時間ウィンドウに対応する、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
前記正規化済ビットレートは、量子化パラメータにおける変化がどのように出力ビットレートに影響するかを規定する所定の関係を使用して計算される、請求項１から９のいずれか一項に記載の方法。
【請求項１１】
前記新たな量子化パラメータは、量子化パラメータにおける変化がどのように出力ビットレートに影響するかを規定する所定の関係を使用して計算される、請求項１から１０のいずれか一項に記載の方法。
【請求項１２】
ビデオシーケンスをエンコーディングするビデオエンコーダの出力ビットレートを制御するビットレートコントローラであって、
許容平均ビットレートを設定するよう構成されているビットレートプリセッタと、
第１の期間中に、前記第１の期間の複数の時間間隔のそれぞれに対して、エンコーディングビデオからのエンコーディングデータを保存し、前記時間間隔中に出力された各出力ビットレート、及び、前記各時間間隔中にエンコーディングに使用された量子化パラメータを保存するよう構成されているデータストレージと、
前記各時間間隔中に使用された前記出力ビットレート及び前記量子化パラメータに応じた所定の公称量子化パラメータに対して推定された、対応する正規化済ビットレートを計算することにより、各時間間隔に対する前記出力ビットレートを正規化するよう構成されている出力ビットレートノーマライザと、
前記各時間間隔中に使用された前記量子化パラメータに応じて、前記第１の期間にわたる平均正規化済ビットレートを計算するよう構成されている平均ビットレート計算器と、
前記平均正規化済ビットレート及び前記許容平均ビットレートの比較に基づいて、新たな量子化パラメータを計算するよう構成されている量子化パラメータ計算器と、
前記第１の期間に続く第２の期間中に、前記ビデオシーケンスをエンコーディングするために、前記新たな量子化パラメータを、前記ビデオエンコーダに出力するよう構成されている制御出力とを含む、ビットレートコントローラ。
【請求項１３】
請求項１から１１のいずれか一項に記載の方法を実施するよう構成されている命令を保存している非一時的コンピュータ可読記憶媒体を含む、コンピュータプログラム製品。
【請求項１４】
請求項１２に記載のビットレートコントローラを含むカメラ。
【請求項１５】
請求項１２に記載のビットレートコントローラを含むネットワークビデオレコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオエンコーディング、特に、ビデオエンコーダの出力ビットレートを制御することの分野に関する。
【背景技術】
【０００２】
ネットワークカメラモニタリングシステムなどのデジタルビデオシステムでは、ビデオシーケンスは、種々のビデオエンコーディング方法を使用して、送信前にエンコーダにより圧縮される。多くの場合、それを介してビデオシーケンスが送信されるネットワークにおいて、帯域幅が制限されており、したがって、エンコーダの出力ビットレートを制御するために、レートコントローラがしばしば使用される。これはまた、記憶容量をも制限する場合があり、エンコーダが出力するビット数の制御を必要とする。
【０００３】
レートコントローラは、各種のビットレート制御スキームの１つを適用してよい。一定ビットレート（ｃｏｎｓｔａｎｔ  ｂｉｔｒａｔｅ又はＣＢＲ）、最大ビットレート（ｍａｘｉｍｕｍ  ｂｉｔｒａｔｅ又はＭＢＲ）、又は可変ビットレート（ｖａｒｉａｂｌｅ  ｂｉｔｒａｔｅ又はＶＢＲ）を採用してよい。ＣＢＲは、エンコーダが、撮像されたシーン内に何が起こるかに関わらず、同じビットレートを常に出力しようとすることを意味する。帯域幅が制限される場合、これは、シーン内にモーションがある場合には低品質イメージをもたらすことがあるが、イメージが静止している場合には高品質イメージをもたらすことがある。サーベイランス又はモニタリングの状況においては、これは一般的に有益ではない。なぜなら、モーションのあるシーンは通常、静止シーンよりも高い関心を寄せるからである。ＭＢＲでは、設定されたビットレートリミットを超えない限り、ビットレートは変更が許される。このアプローチに関する問題は、ＣＢＲに関連付けられたものと同様である。ＭＢＲリミットが過剰に低く設定されている場合、モーションのあるシーンのイメージは低品質となる場合がある。しかし、このリミットが高く設定されている場合、静止シーンのイメージをエンコーディングする際に、モーションに対応するために、出力ビットレートが不必要に高くなる場合がある。ＶＢＲはまた、一定の品質のビットレートとも呼ばれ得る。これは、エンコードされたイメージの品質は一定に維持されるべきではあるが、出力ビットレートは、シーン内に何が起こっているかによって変更が許されることを意味する。このアプローチは、シーン内にモーションがある場合に、高出力ビットレートをもたらし得る。
【０００４】
これは、エンコードされたイメージを、モバイルネットワークを介して送信する際などの、帯域幅が制限される場合に特に問題である。同様に、イメージをカメラ上、例えば、セキュアデジタル（ｓｅｃｕｒｅ  ｄｉｇｉｔａｌ又はＳＤ）カード上に保存する際などの、ストレージが制限される場合に問題である。高出力ビットレートはまた、大型のカメラシステムにおいて、カメラのいくつかが、モーションのあるシーンのイメージを同時に送信する場合に問題となり得る。
【０００５】
デジタルビデオシステムにおける別の問題は、記憶容量に対する必要性の算定が難しいことである。ＣＢＲが使用されている場合、必要とされる記憶容量を推定することが、一定ビットレートに所望する保持時間を単に乗算することにより容易となる。しかし、ＭＢＲ及びＶＢＲでは、撮像されたシーン内に何が起こるかによってビットレートが変化する。ストレージのコストは多くの場合、デジタルビデオシステムのコストの大部分であり、したがって、システムのオーナーは、記憶容量を下げようとするものである。依然としてこれは、記録されたビデオを失うリスクを伴う。なぜなら、撮像されたシーン内のモーション及び細部が多い場合に、所望する保持時間にわたって出力されたビットの総量が、利用可能な記憶容量に対して大きすぎる場合があるからである。
【０００６】
これらの問題は、出願人による係属中の出願ＥＰ−３３９６９６１にて取り上げられている。ここではビットレートは、長期ビットバジェット及び瞬間ビット規制を設定することにより制御される。長期ビットバジェットは、利用可能な記憶容量に基づいて設定されてよく、第１の許容ビットレートを判定することに使用される。瞬間ビット規制は、例えば、利用可能な帯域幅に基づいてよく、第２の許容ビットレートを判定することに使用される。出力ビットレートは、長期ビットバジェット、第１の許容ビットレート、及び第２の許容ビットレートを満たすために、第１及び第２の許容ビットレートに基づいて制御される。本出願では、ビットレートコントローラへの入力として、履歴データが使用されてよい、ということが提案される。しかし、実験に基づくエンコーディングデータを考慮する、効率的で信頼性のある方法に対する必要性が依然として残る。
【発明の概要】
【０００７】
本発明の目的は、ビットバジェットが適合していることを確かめることができるようにする、ビデオエンコーダからの出力ビットレートを制御する方法を提供することである。
【０００８】
別の目的は、モニターされているシーンにおいて、高い関心を寄せるイベントの高品質イメージが提供され得、モニターされているシーンにおいて、アクティビティが少ない期間中に、ビットレートが不必要に高くならないことを確かにするよう、利用可能なビットバジェットの効率的な使用を可能にする、ビデオエンコーダの出力ビットレートを制御する方法を提供することである。
【０００９】
本発明の目的はまた、ビデオシーケンスの先のエンコーディングから得た知識を考慮できるようにする、ビデオエンコーダの出力ビットレートを制御する方法を提供することである。
【００１０】
さらに別の目的は、効率的なビットの使用を可能にする、ビデオシーケンスをエンコーディングするビデオエンコーダの出力ビットレートを制御するビットレートコントローラを提供することである。
【００１１】
また、本発明の目的は、ビデオシーケンスの前のエンコーディングについてのデータを好適に利用できるようにするビットレートコントローラを提供することである。
【００１２】
第１の態様によると、これらの目的は、ビデオシーケンスをエンコーディングするビデオエンコーダの出力ビットレートを制御する方法により、完全に、又は、少なくとも部分的に、達成される。この方法は、許容平均ビットレートを設定することと、第１の期間中に、及び、第１の期間の複数の時間間隔のそれぞれに対して、ビデオをエンコーディングすることにより、エンコーディングデータを集め、時間間隔中に出力された各出力ビットレート、及び、各時間間隔中のエンコーディングに使用された量子化パラメータを保存することと、各時間間隔中に使用された出力ビットレート及び量子化パラメータに応じた所定の公称量子化パラメータに対して推定された、対応する正規化済ビットレートを計算することにより、各時間間隔に対する出力ビットレートを正規化することと、複数の時間間隔の正規化済ビットレートを平均することにより、第１の期間にわたる平均正規化済ビットレートを計算することと、平均正規化済ビットレート及び許容平均ビットレートの比較に基づいて、新たな量子化パラメータを計算することと、第１の期間に続く第２の期間中に、新たな量子化パラメータを使用して、ビデオシーケンスをエンコーディングすることと、を含む。そのような方法により、許容平均ビットレートが適合し得るように、ビットレートを効率的に制御できる。また、モニターされているシーン内の高い関心を寄せるイベントの、高品質イメージが提供され得るよう、及び、シーン内に発生していることが少ない、又は、何も発生していない場合に、ビットレートが不必要に高くならないよう、ビットが賢明に使用されることを確かにできる。第１の期間の時間間隔中に出力ビットレートを検討することにより、そして、それらの時間間隔中に使用された量子化パラメータの知識を用いて、生成されていたであろう、それらの時間間隔のすべての中で、公称量子化パラメータが使用されていたビットレートを推定できる。この正規化済ビットレートは次に、第１の期間の全体に対する正規化済平均ビットレートを計算できるようにする。第２の、後続の期間中の、ビデオシーケンスのエンコーディング中に使用する新たな量子化パラメータは、正規化済平均ビットレート及び許容平均ビットレートに基づいて計算され得る。したがって、第２の期間中の出力ビットレートが、許容平均ビットレート未満に維持されていることを確かにすべき、新たな量子化パラメータを計算できる。その日中のアクティビティの変化などの、周期的な行動のあるシーンにおいて、その周期的な行動を撮像するのに十分長い第１の期間についてのデータが一度保存されると、許容平均ビットレートに適合できるようにする新たな量子化パラメータを見つけることができ得る。出力ビットレートは、より低い出力ビットレートの期間分、オーバーシュートが補償される限り、第２の期間の各部分に対して、許容平均ビットレートを上回ることが許されてよい。許容平均ビットレートは、例えば、利用可能な記憶容量を反映してよい。許容平均ビットレートは、必要とされる保持時間で除算した、利用可能な記憶容量として計算されてよく、例えば、ビット数／秒、又は、ビット数／時にて表されてよい。必要とされる保持時間は、例えば、６０日であってよい。許容平均ビットレートには、マージンを設定して、例えば、利用可能な記憶容量の９０％を反映し、したがって、予期しないイベントに対して、より高い出力ビットレートを生成できるようにしてよい。
【００１３】
この方法のいくつかの変形例では、この方法は、平均正規化済ビットレートを、許容平均ビットレートと比較することをさらに含む。平均正規化済ビットレートが、許容平均ビットレートを超える場合、公称量子化パラメータより高い、新たな量子化パラメータが計算され、平均正規化済ビットレートが、許容平均ビットレート以下の場合、公称量子化パラメータ以下の、新たな量子化パラメータが計算される。これにより、第２の期間中のエンコーディングが適合され、許容平均ビットレートが、時間の経過と共に適合されるようになってよい。これにより、必要とされる保持時間が満たされてよい。
【００１４】
平均正規化済ビットレートが、最大平均ビットレートを超える場合、最大ビットレート制御が適用されてよく、平均正規化済ビットレートが最大平均ビットレート以下の場合、可変ビットレート制御が適用されてよい。これは、許容平均ビットレートが適合していることを確かにする実用的な方法であり、次に、必要とされる保持時間を確かにすることができる。最大平均ビットレートは、必要とされる保持時間で除算した、利用可能な記憶容量として計算されてよい。換言すると、最大平均ビットレートは、マージンのない許容平均ビットレートと言ってよい。
【００１５】
代替的に、最大ビットレート制御は、平均正規化済ビットレートが、最大平均ビットレートを超える、又は、それ未満であるか否かに関わらず使用されてよいが、ビットレートリミットは、平均正規化済ビットレートが最大平均ビットレートを超える場合には低く設定されてよく、平均正規化済ビットレートが最大ビットレート以下の場合には高く設定されてよい。ビットレートリミットは、第２の期間の長さで除算した最大平均ビットレートに対するマージンとして設定されてよい。
【００１６】
この方法のいくつかの変形例では、エンコーディングデータを集めることとは、各時間間隔に対する、少なくとも１つの既知の、ビットレートを増やす外乱要因についてのデータを保存することをさらに含む。これは、ビットレートを増やすことが知られる、第１の期間中のイベントの発生を考慮できるようにし、新たな量子化パラメータの計算が適合され得るようにする。外乱要因は、シーン内のイベントについての、いずれの有益な、又は、高い関心を寄せる情報を提供することなく、出力ビットレートを増やすいずれの要因であってよい。少なくとも１つの既知の、ビットレートを増やす外乱要因についてのデータそのものは、保存される必要はないが、保存された量子化パラメータに影響を及ぼすために使用され得る。
【００１７】
外乱要因は、各時間間隔中にエンコードされるビデオの信号対ノイズ比（ｓｉｇｎａｌ−ｔｏ−ｎｏｉｓｅ  ｒａｔｉｏ又はＳＮＲ）であってよい。この方法は、ＳＮＲが第１のＳＮＲ閾値未満の場合、時間間隔中に使用された量子化パラメータをＳＮＲオフセット値分オフセットし、平均正規化済ビットレートを計算することにおいて、より低い量子化パラメータが各時間間隔に使用されるようにすることをさらに含んでよい。ビデオ内にノイズが多い場合、つまりＳＮＲが低い場合、シーン内にて起こっている、高い関心を寄せるさらなるものがなくとも、エンコーダからの出力ビットレートは上がる。低いＳＮＲを伴う時間間隔中に使用された量子化パラメータをオフセットすることにより、新たな量子化パラメータの計算において、ノイズの影響が補償されてよい。例えば、第１の期間の１つ又はそれ以上の時間間隔が、夕暮れ又は夜明け時などの、低照度条件中のものである場合、それらの時間間隔中に撮像されたイメージ中には、高レベルのノイズが生じることが一般的に知られている。このノイズは、シーン内のイベントを理解することには寄与しないが、イメージを表すために必要とされるビット数を増やす。なぜならこれは、イメージフレーム間の時間的冗長性を減らすからである。換言すると、ノイズは、フォレンジック値を加えることなく、エンコーダからの出力ビットレートに加わる。それらの時間間隔中のノイズが、第２の期間などの、後続の期間中にビデオをどのようにエンコードするかの決定に影響することが許される場合、そのビデオは、特に、それらの後続の期間中のイメージ中にノイズが多くない場合、高量子化パラメータを使用して、不必要に過度に圧縮される場合がある。
【００１８】
イメージセンサデータのコンテキストにおいて、ノイズは、撮像されたシーン内に存在しない何かを表すイメージセンサデータである。ノイズは時間的に、つまり、１つのイメージフレームから次のイメージフレームにわたって変化し得る、又は、空間的に、つまり、同じフレーム内の１つのピクセルから別のピクセルにわたって異なり得る。ノイズには種々のソースがある。時間的ノイズは、例えば、リセットノイズ、熱ノイズ、フリッカノイズ、暗電流ショットノイズ、量子化ノイズ、又はフェーズノイズであり得る。空間的ノイズは、例えば、暗い固定パターンノイズ、明るい固定パターンノイズ、リーカーノイズ、欠陥ピクセルノイズ、又はコスメティック欠陥ノイズであり得る。
【００１９】
外乱要因は、各時間間隔中のパン／チルト／ズーム（ｐａｎ／ｔｉｌｔ／ｚｏｏｍ又はＰＴＺ）ムーブメントであり得る。この方法は、ＰＴＺムーブメントが第１のＰＴＺ閾値を超える場合、時間間隔中に使用された量子化パラメータをＰＴＺオフセット値分オフセットし、平均正規化済ビットレートを計算することにおいて、より低い量子化パラメータが各時間間隔に使用されるようにすることをさらに含んでよい。ノイズと同様に、カメラムーブメントは、フォレンジック値として多くを加えることなく、出力ビットレートに加わる。したがって、平均正規化済ビットレートを計算する際に、量子化パラメータをオフセットすることにより、このビットレートの増加の影響を減らすことができることは有益である。
【００２０】
外乱の度合いが高い場合に量子化パラメータをオフセットすることの代わりに、外乱の度合いが十分に低い場合に、量子化パラメータを反対方向にオフセットすることも可能となるであろう。
【００２１】
この方法のいくつかの変形例では、量子化パラメータ、公称量子化パラメータ、及び新たな量子化パラメータはそれぞれ、１つ又はそれ以上の量子化パラメータを代表する、代表的な量子化パラメータである。このようにして、各イメージフレームの異なる部分に、異なる量子化パラメータが使用されてよい。イメージフレームの一部位に対する、又は、特定のマクロブロックに対する量子化パラメータは、代表的な量子化と比較して、減らされてよい、又は、増やされてよい。例えば、この減少、又は、増加は、その部位又はマクロブロックが、イメージフレームの、関連性のある一部分、又は、関連性のない一部分にあるものと見なされるか否かに基づいてよい。イメージフレームの、関連性のある一部分、及び、関連性のない一部分へのそのような分割を使用するエンコーディング方法が、出願人による係属中の出願ＥＰ−３０２１５８３に開示されている。
【００２２】
この方法は、第２の期間中に、及び、第２の期間の複数の時間間隔のそれぞれに対して、ビデオをエンコーディングすることにより、第２の期間中にエンコーディングデータを集め、時間間隔中に出力された各出力ビットレート、及び、各時間間隔中のエンコーディングに使用された量子化パラメータを、先入れ先出しにて保存することをさらに含んでよい。スライドするウィンドウのアプローチが使用されてよい。ここでは、十分に長い期間についてのデータが取得されるとすぐに、来る時間間隔において使用される新たな量子化パラメータを判定することに、保存されたデータが使用される。その時間間隔の出力ビットレート及び量子化パラメータが続いてナレッジベースに加えられ、等しく長い時間間隔に対応する最も古いデータが破棄される。
【００２３】
この方法は、複数の時点にて繰り返されてよく、第１の期間は、各時点に対して、その時点より前の、固定期間の時間範囲をカバーする、スライドする時間ウィンドウに対応する。
【００２４】
正規化済ビットレートは、量子化パラメータにおける変化がどのように出力ビットレートに影響するかを規定する所定の関係を使用して計算されてよい。量子化パラメータにおける変化が、出力ビットレートにどのように影響するかの知識を使用することにより、公称量子化パラメータを用いてビデオシーケンスを再度エンコードする必要なく、正規化済ビットレートが、計算され得る、又は、推定され得る。
【００２５】
この方法のいくつかの変形例では、新たな量子化パラメータは、量子化パラメータにおける変化がどのように出力ビットレートに影響するかを規定する所定の関係を使用して計算される。正規化済ビットレートの計算と同様に、量子化パラメータ及び出力ビットレートにおける変化の間の関係の知識は、一式の異なる試験的な量子化パラメータを用いての、第２の期間のビデオシーケンスを試験的にエンコーディングする必要性なく、新たな量子化パラメータの計算又は推定を可能にする。
【００２６】
第２の態様によると、上記の目的は、ビデオシーケンスをエンコーディングするビデオエンコーダの出力ビットレートを制御するビットレートコントローラを用いて、完全に、又は、少なくとも部分的に、達成される。このビットレートコントローラは、許容平均ビットレートを設定するよう構成されているビットレートプリセッタと、第１の期間中に、第１の期間の複数の時間間隔のそれぞれに対して、エンコーディングビデオからのエンコーディングデータを保存し、時間間隔中に出力された各出力ビットレート、及び、各時間間隔中にエンコーディングに使用された量子化パラメータを保存するよう構成されているデータストレージと、各時間間隔中に使用された出力ビットレート及び量子化パラメータに応じた所定の公称量子化パラメータに対して推定された、対応する正規化済ビットレートを計算することにより、各時間間隔に対する出力ビットレートを正規化するよう構成されている出力ビットレートノーマライザと、各時間間隔中に使用された量子化パラメータに応じて、第１の期間にわたる平均正規化済ビットレートを計算するよう構成されている平均ビットレート計算器と、平均正規化済ビットレート及び許容平均ビットレートの比較に基づいて、新たな量子化パラメータを計算するよう構成されている量子化パラメータ計算器と、第１の期間に続く第２の期間中に、ビデオシーケンスをエンコーディングするために、新たな量子化パラメータを、ビデオエンコーダに出力するよう構成されている制御出力と、を含む。そのようなビットレートコントローラは、後続の期間中のエンコーディングのための適切な量子化パラメータを設定するための、先のエンコーディングのアウトカムの知識を使用できるようにする。これは、必要とされる保持時間を確かに維持でき、また、利用可能な記憶容量の効率的な使用を可能にする。
【００２７】
第２の態様のビットレートコントローラは、第１の態様のビットレート制御方法と本質的に同じ方法にて、付随する利点と共に具現化されてよい。
【００２８】
第３の態様によると、上記の目的は、第１の態様に係る方法を実施するよう構成されている命令を保存している非一時的コンピュータ可読記憶媒体を含むコンピュータプログラム製品を用いて、完全に、又は、少なくとも部分的に、達成される。
【００２９】
第４の態様によると、上記の目的は、第２の態様に係るビットレートコントローラを含むカメラを用いて、完全に、又は、少なくとも部分的に、達成される。
【００３０】
第５の態様によると、上記の目的は、第２の態様に係るビットレートコントローラを含むネットワークビデオレコーダを用いて、完全に、又は、少なくとも部分的に、達成される。
【００３１】
本発明の適用性のさらなる範囲が、以下の詳細説明より明らかとなるであろう。しかし、本発明の好適な実施形態を示す一方で、詳細説明及び具体例は、説明のみの目的に提供されていることが理解されるべきである。なぜなら、本発明の範囲内での種々の変更及び改修が、本詳細説明から当業者に明らかとなるからである。
【００３２】
したがって、本発明は、記載するデバイスの特定の構成部品、又は、記載する方法の特定のステップに限定されず、そのようなデバイス及び方法は異なる場合があることが理解されよう。ここに使用する用語は、特定の実施形態を説明することのみを目的としており、限定を意図していないこともまた理解されよう。なお、本明細書及び添付の特許請求の範囲に使用されるように、不定冠詞「ａ」及び「ａｎ」、定冠詞「ｔｈｅ」、及び「ｓａｉｄ」は、他の例が文脈により明確に決定づけられない限り、要素が１つ又はそれ以上あることを意味するよう意図していることに注意されたい。したがって、例えば、「あるオブジェクト（ａｎ  ｏｂｊｅｃｔ）」又は「そのオブジェクト（ｔｈｅ  ｏｂｊｅｃｔ）」が引用される場合、これは、いくつかのオブジェクトなどを含んでよい。さらに、「含む（ｃｏｍｐｒｉｓｉｎｇ）」という語は、他の要素又はステップを排除しない。
【００３３】
本発明を、例示のために、そして、添付の概略図面を参照して、以下にさらに詳細に説明する。
【図面の簡単な説明】
【００３４】
【図１】図１は、カメラによりモニターされているシーンを示す。
【図２】図２は、カメラシステムの図である。
【図３】図３は、第１の期間中に、ビデオエンコーダにより使用された量子化パラメータ、及び、ビデオエンコーダにより生成された出力ビットレートを示すグラフである。
【図４】図４は、本発明に関する方法の変形例を示すフローチャートである。
【図５】図５は、第１の期間中に測定されたＳＮＲを示すグラフである。
【図６】図６は、第１の期間中に記録されたＰＴＺムーブメントを示すグラフである。
【図７】図７は、本発明に関する方法の別の変形例を示すフローチャートである。
【図８】図８は、ビットレートコントローラの実施形態のブロック図である。
【図９】図９は、図１のカメラのブロック図である。
【図１０】図１０は、ネットワークビデオレコーダの実施形態のブロック図である。
【００３５】
図３、図５、及び図６のグラフのスケールは、任意のものであることに注意すべきである。これらはいずれの実際の値を示さず、描かれているパラメータ間の相対的なサイズを示さない。このスケールは、描かれている各パラメータの変化を示すためのみに使用されている。
【発明を実施するための形態】
【００３６】
図１は、カメラ１によりモニターされているシーンを示す。このカメラにより撮像されたビデオが記録される。これは連続して行われてよいが、多くの場合、記録された、高い関心を寄せないビデオの量を減らすために、イベントトリガに基づいて、又は、スケジュールに基づいて記録することが好ましい。
【００３７】
記録されたビデオの保存は、ＳＤカードなどのカメラ１上にて行われてよい。図２に示すカメラシステム２０など、カメラ１がカメラシステムの一部である場合、代替的に、又は、追加的に、保存は、ネットワークビデオレコーダ２１などにて、カメラからリモートに行われてよい。ネットワークビデオレコーダ２１は、コントロールセンタ２２内に配置されてよく、オペレータは、ユーザステーション２３上にて、記録されたビデオ及びライブストリーム配信されたビデオを見ることができる。ネットワーク２４は、カメラ１、ネットワークレコーダ２１、及びユーザステーション２３を接続する。ネットワークビデオレコーダ２１はその代わりに、コントロールセンタ２２から離れて配置されてよく、例えば、クラウドサービスであってよい。
【００３８】
多くの状況では、記録されたビデオは、必要とされる保持時間中に保存される必要がある。犯罪が報告された場合など、モニターされているシーンにて何が起こったかを捜査するために、犯罪が行われた時間前後の時間からのビデオ記録に戻ることが必要となり得る。保持時間は、捜査官がビデオデータを必要とする際に、必要とされるビデオデータがすでに上書きされていることのない程度に十分長い必要がある。したがって、３０日又は６０日などの保持時間を保証する必要があり得る。その要件を満たすために、ビットレート制御が必要である。換言すると、カメラ内のエンコーダにより生成されたビデオデータの量は、必要とされる保持時間中に生成されるデータの量が、利用可能な記憶容量を超えず、カメラ１内、又は、ネットワークビデオレコーダ内のＳＤカード上にあるよう、制御される必要がある。ビットレート制御は通常、カメラ１からコントロールセンタ２２などへのビデオの送信を確かにできるよう、カメラ１からの出力ビットレートが、ネットワーク２４の帯域幅未満であることを確かにするために、出力ビットレートを制限するためにも必要であることに注意されたい。
【００３９】
この問題を解消する１つの方法が、一定ビットレート（ＣＢＲ）制御スキームを使用することとなる。しかしこれは、記録されたビデオが、高い関心を寄せるものである可能性が最も高い場合に、すなわち、シーン内にムーブメントが多い場合に、イメージ品質が落ちる場合がある。本出願の背景技術セクションに示すように、この問題は、出願人による係属中の出願ＥＰ−３３９６９６１により、許容ビット数のより効率的な使用をも可能にする方法にて対処されている。その出願では、エンコーダからの出力ビットレートは、２つのビットレートリミットを使用して制御される。それらのビットレートリミットの１つは、エンコードされたビデオが、それが閲覧される、又は、保存されるところへ安全に送信され得るよう、利用可能な帯域幅に基づいてよいものである。他のビットレートリミットは、利用可能な記憶容量及び必要とされる保持時間に基づいてよいものである。これらは、しかし依然として、保持時間を確かにし、利用可能な帯域幅内にとどまり、ビデオの高い関心を寄せない部位に、ビットを不必要に使用せず、高い関心を寄せるイベントの高品質イメージを提供するために、エンコーディングのための適切なパラメータを見つけることにおいての課題がある。これらの課題を解消する方法を、本発明の実施例及び実施形態を用いて以下に説明する。
【００４０】
ここで、本発明に関する方法の一例の各ステップを示すフローチャートである図４を参照する。許容平均ビットレートは、ステップＳ１にて設定される。許容平均ビットレートＢＲａｖｇは、必要とされる保持時間で除算した、利用可能な記憶容量として計算されてよい。これは例えば、メガバイト数／日、又は、メガビット数／秒として表されてよい。許容平均ビットレートは、好適には、記憶容量の全体ではなく、記憶容量の９０％などに基づくような、マージンＢＲａｖｇ，ｍａｒｇが設定されてよい。このようにして、以下に説明するアプローチを用いても補償が難しい、又は、それが不可能である、出力ビットレートの増加をもたらす予期しないイベントへの対応がなされ得る。マージンなく計算された平均ビットレートは、以下では、最大平均ビットレートＢＲａｖｇ，ｍａｘと呼ばれる。
【００４１】
ビデオは、カメラ１により撮像され、エンコードされる（ステップＳ２）。図３に示すように、第１の期間Ｔ１中のビデオエンコーディングについてのデータが保存される。第１の期間Ｔ１は、複数の時間間隔ｔ０、ｔ１、…、ｔｎ−１、ｔｎに分割されており、各時間間隔に対して、その時間間隔中のエンコーダからの出力ビットレート（又は、出力ビット数）が、その時間間隔中に使用された量子化パラメータＱＰと同じく保存される（ステップＳ３）。図３の例に見られるように、出力ビットレート及び量子化パラメータは、第１の期間Ｔ１中に変化する。
【００４２】
異なる時間間隔の出力ビットレートデータを、第２の、後続の期間Ｔ２中にビデオをエンコーディングする際に、ビットレートをどのように制御するかについて決定することに有益にするために、各時間間隔の出力ビットレートが、ステップＳ４にて正規化される。これは、エンコーダから出力されていたであろう、各時間間隔中に、公称量子化パラメータＱＰｎｏｍが使用されていた正規化済ビットレートＢＲｎｏｒｍが計算されることを意味する。出力ビットレートのこの正規化は、量子化パラメータにおける変化と、出力ビットレートにおける、付随する変化と、の間の所定の関係を使用して行われる。この関係は、実験に基づいて、複数の異なる量子化パラメータを使用して同じビデオシーケンスをエンコーディングすることにより、判定されてよい。この関係は、どのエンコーダが使用されたかによって知ることができてよい。例えば、正規化済ビットレートを計算するために、以下の式が使用されてよい：
2020205580.tif 000003
ここで、ＢＲｎｏｒｍは、正規化済ビットレートであり、ＢＲｘは、時間間隔ｘ中に記録された出力ビットレートであり、ＱＰｘは、同じ時間間隔中に使用された量子化パラメータであり、ＱＰｎｏｍは、公称量子化パラメータである。
【００４３】
いくつかのエンコーダでは、この式は、以下のようにより一般的に表され得る：
2020205580.tif 000004
ここで、Ｃは、どのエンコーダが使用されたかによって、２とオイラー数（Ｅｕｌｅｒ’ｓ  ｎｕｍｂｅｒ）ｅとの間の値をとる。
【００４４】
公称量子化パラメータＱＰｎｏｍは好適には、時間の経過と共に、平均量子化パラメータとなるよう予期されるものに近い値をとり、例えば、Ｈ．２６４を使用する実施形態において、０から５１のＱＰスケールにおける、２９の値をとってよい。ここで、０は低圧縮を表し、量子化ステップを少なく使用することによる高イメージ品質をもたらし、５１は高圧縮を表し、量子化ステップを多く使用することによる低イメージ品質をもたらす。
【００４５】
ステップＳ５では、平均正規化済ビットレートが、時間間隔のそれぞれの正規化済ビットレートに、各時間間隔の長さを乗算し、したがって計算されるビット数を合計し、その合計を、第１の期間の長さで除算する、つまり、時間間隔がすべて同じ長さであれば、正規化済ビットレートの合計を、時間間隔数で除算することにより、計算される。
【００４６】
第１の期間Ｔ１に続く、第２の期間Ｔ２中にビデオをエンコーディングする際に使用する、新たな量子化パラメータＱＰｎｅｗが、このステップＳ６にて計算されてよい。正規化済ビットレートを計算する際について、新たな量子化パラメータは、量子化パラメータにおける変化と、出力ビットレートにおける、付随する変化と、の間の所定の関係に基づいて計算される。新たな量子化パラメータＱＰｎｅｗは、正規化済平均ビットレートＢＲｎｏｒｍ，ａｖｇ及び許容平均ビットレートＢＲａｖｇ，ｍａｒｇの比較に基づいて計算される。したがって、新たな量子化パラメータは、以下の式を使用して計算されてよい：
2020205580.tif 000005
【００４７】
対数の基はエンコーダに依存し、繰り返しになるが、一般的に２とｅとの間となることに注意すべきである。
【００４８】
正規化済平均ビットレートが許容平均ビットレートを超え、第１の期間中に、満たされる、必要とされる保持時間にわたって、ビットが過剰に多く出力されている場合、後続の期間における出力ビットレートは、第１の期間中にできるだけ高くされるべきである。この状況では、新たな量子化パラメータＱＰｎｅｗは、公称量子化パラメータＱＰｎｏｍより高く計算される。換言すると、ビデオは、第２の期間中に、公称量子化パラメータが使用される場合よりも高く圧縮される。一方、正規化済平均ビットレートが許容平均ビットレート以下の場合、必要とされる保持時間を依然として満たしつつ、より高いイメージ品質に対する余地があるべきである。この状況では、新たな量子化パラメータＱＰｎｅｗは、公称量子化パラメータＱＰｎｏｍ以下に計算される。
【００４９】
第２の期間の長さは、第１の期間Ｔ１の時間間隔ｔｘの長さに等しくともよい。計算を容易にするため、第１の期間Ｔ１の各時間間隔ｔｘは、好ましくは同じ長さである。しかし、各時間間隔の長さが既知である限り、異なる長さが可能である。
【００５０】
新たな量子化パラメータＱＰｎ＋１を見つけ、来る時間間隔ｔｎ＋１中にビデオをエンコーディングする際にそれを使用するには、多くの先の時間間隔ｔｘ中に使用された出力ビットレート及び量子化パラメータについてのデータが、それらの計算に使用される。この方法が初期化されると、最初はいずれのデータもなく、使用する量子化パラメータは、デフォルト値としてエンコーダに設定するといった、いくつかの他の方法にて判定されなければならない。いくらかの時間間隔後、この方法が使用されはじめ得るようないくつかのデータが集まるが、その結果の精度は高くない場合がある。シーン内のイベントによっては、量子化パラメータは最初は、非常に不規則に変化する場合がある。初期化期間後、来る時間間隔中に使用する新たな量子化パラメータを判定するためにそれらを良好に使用できる、十分な数の時間間隔からのデータが集まる。初期化期間の長さは、シーン内のイベントがどれほど安定しているか、又は、どれほど周期的か、に依存し得る。例えば、オフィスビルの外では、人々が職場に向かう早朝にはアクティビティが多く、午前にはアクティビティが少なく、人々がランチに向かい、そして戻る際にはアクティビティが再度いくらかあり、午後にはアクティビティが少なく、続いて、一日の仕事の終わりにはアクティビティが再度多い、日々のパターンがあり得る。夜間には、アクティビティは非常に少ないであろう。このパターンは日々繰り返され得、次の日に使用する適切な量子化パラメータを見つけるために、その一日からのデータを有益なものにする。
【００５１】
十分な数の時間間隔から、換言すると、十分に長い第１の期間からのデータが集まると、最新の時間間隔からのデータが先入れ先出しにて保存される際に、最も古い時間間隔からのデータが破棄され得、一定の数の時間間隔に対してのデータが常に保持されるようにする。
【００５２】
後続の第２の期間Ｔ２、この例では、来る時間間隔ｔｎ＋１、中にビデオをエンコーディングするための新たな量子化パラメータＱＰｎ＋１が計算される時点にて、複数の先の時間間隔からのデータが使用される。この例では、時間間隔ｔ０−ｔｎ、つまり、図３に示すような第１の期間Ｔ１、からのデータが使用される。したがって、図４に関連して上述するように、許容平均ビットレートが設定される。これは、ビットレートコントローラの設置及び構成中に一度行われ得、利用可能な記憶容量、又は、必要とされる保持時間が変更される場合にのみ変更される必要がある。ビデオは、第１の期間Ｔ１中にエンコードされており、出力ビットレート及び量子化パラメータについてのデータが、各時間間隔ｔ０−ｔｎに対して保存されている。各時間間隔のビットレートは、ステップＳ４に関連して上述するように正規化され、平均正規化済ビットレートが、第１の期間Ｔ１に対して計算される。来る時間間隔ｔｎ＋１中にビデオをエンコーディングする際に使用する新たな量子化パラメータＱＰｎ＋１は、ステップＳ６に関連して上述するように計算される。エンコーダは続いて、来る時間間隔ｔｎ＋１中に、新たな量子化パラメータＱＰｎ＋１を使用してビデオをエンコードする。
【００５３】
これは繰り返され、最新の時間間隔ｔｎ＋１中に使用された量子化パラメータＱＰｎ＋１が、その時間間隔ｔｎ＋１中にエンコーダにより生成された出力ビットレートＢＲｎ＋１として保存されるようにする。最も古い時間間隔、この場合はｔ０、からのデータが破棄される。このようにして、時間フレームが、１つの時間間隔の長さに対応して前方にシフトされていても、同じ時間の量からのデータが保存されたままとなる。したがって、先のエンコーディングについてのデータが集められる第１の期間は、固定期間のまま残るが、スライドするウィンドウの原理にしたがってシフトされる。
【００５４】
繰り返しになるが、スライドするウィンドウの技術は、最新の時間間隔ｔｎ＋１のビデオがエンコードされた後、次の時間間隔ｔｎ＋２中に使用する新たな量子化パラメータＱＰｎ＋２が計算される際に、先の時間間隔ｔ１−ｔｎ＋１からのデータが使用されることを意味する。これらの計算は、上述するものと同じ方法にて行われる。この最新の時間間隔ｔｎ＋２のビデオがエンコードされると、量子化パラメータＱＰｎ＋２、及び、その結果としての出力ビットレートＢＲｎ＋２が保存され、最も古い時間間隔ｔ１のデータが破棄される。このプロセスが繰り返され、固定期間の先の第１の期間の各時間間隔に対する量子化パラメータ及び出力ビットレートについてのデータが、新たな量子化パラメータが、後続の第２の期間中にビデオをエンコーディングするために見つかる度に、常に使用される。上述するように、第２の期間Ｔ２の長さは好適には、第１の期間Ｔ１の各時間間隔ｔｘの長さと等しくてよい。
【００５５】
上述するように、新たな量子化パラメータの計算は、正規化済平均ビットレート及び許容平均ビットレートの比較に基づく。正規化済平均ビットレート及び最大平均ビットレートの比較はまた、どのビットレート制御スキームが使用されるべきかを判定することに使用されてよい。平均正規化済ビットレートが、最大平均ビットレートを超えていることが、正規化済平均ビットレート及び最大平均ビットレートの比較により見つかった場合、必要とされる保持時間が満たされることを確かにするために、最大ビットレート制御（ＭＢＲ）が適用されてよい。その代わりに、正規化済平均ビットレートが許容平均ビットレート以下の場合、一定のイメージ品質が取得され得るように、一定の出力ビットレートではなく、可変ビットレート制御（ＶＢＲ）が適用されてよい。上述するように、ＭＢＲを常に適用することもできるのであろうが、これは、正規化済平均ビットレート及び最大平均ビットレートの比較のアウトカムにしたがって、異なるビットレートリミットを伴う。
【００５６】
上記のこの方法は、ビットレートの上昇のすべてが、いずれの実際のフォレンジック値によるものでないことを考慮することが補足されてよい。例えば、撮像されたイメージ内のノイズは、エンコーダからの出力ビットレートを上昇させる傾向があることが知られている。ノイズが一時的なものである場合、イメージフレーム間の冗長性が減り、ノイズが、ビデオを見る人が高い関心を寄せるものによるものでなく、したがってフォレンジック値を加えなくとも、フレーム間の変化を表すために、より多くのビットが必要とされるようになる。同様に、シーンとカメラとの間の相対的なムーブメントは一般的に、エンコーダからの出力ビットレートを上げるが、そのようなムーブメントのすべてが、見る人が高い関心を寄せるものではない。シーン内の実際のムーブメント又は変化は通常、カメラのムーブメントにより引き起こされる見かけ上のムーブメントよりも高い関心を寄せるものである。当然ながら、ＰＴＺムーブメントとも呼ばれる、パン、チルト、及びズーム操作は、撮像されたビデオを見る人にとって有益である。なぜならそれらは、さもなければ見ることができないような、シーンの各部を見ることを可能にするからである。しかし、ムーブメント中に引き起こされるビットレートの上昇それ自体は、有益な情報として多くを加えない。
【００５７】
そのようなビットレートを増やす外乱要因が、第１の期間Ｔ１の時間間隔ｔｘのいくつかの中で発生している場合、それらの時間間隔における出力ビットレートの上昇は、フォレンジック値を加えないが、正規化済平均ビットレートに加わる。これはその引き換えに、その正規化済平均ビットレートに基づいて計算された、新たな量子化パラメータＱＰｎｅｗの増加をもたらす。ビットレートを増やす外乱要因が単に一時的に発生し、第２の期間Ｔ２中に再発しないことが予期される場合、第２の期間中に使用する新たな量子化パラメータＱＰｎｅｗは、不必要に高くともよい。これは、第２の期間中に次善のイメージ品質をもたらす。ノイズ又はカメラムーブメントなどの、そのようなビットレートを増やす外乱要因が、第２の期間中にイメージ品質に悪影響を及ぼすことを回避するために、そのような既知の、ビットレートを増やす外乱要因についてのデータが、第１の期間の各時間間隔に対して保存されてよい。
【００５８】
図５は、一例を示す。ここでは、ＳＮＲについてのデータが、量子化パラメータ及び出力ビットレートについてのデータと共に、各時間間隔に対して保存されている。図６は、同様の例を示す。ここでは、ＰＴＺムーブメントについてのデータが保存されている。
【００５９】
本発明に関する方法の変形例を、図７を参照して説明する。ここでは既知の、ビットレートを増やす外乱要因が説明される。
【００６０】
図４に関連して説明するものと同じ方法にて、許容平均ビットレートがステップＳ１にて設定され、ステップＳ２にて、第１の期間中にビデオがエンコードされる。ステップＳ３’は、図４のステップＳ３に関連して、少なくとも１つの既知の、ビットレートを増やす外乱要因についてのデータが、第１の期間の各時間間隔に対して、出力ビットレート及び量子化パラメータについてのデータに加えて保存されている、という点において変更されている。ステップＳ３ａが追加されている。ここでは、各時間間隔において使用された量子化パラメータが、ビットレートを増やす外乱要因についてのデータにしたがってオフセットされている。時間間隔中に使用された量子化パラメータは、ビットレートを増やす外乱が、新たな量子化パラメータの計算をさもなければ乱すのに十分大きいと見なされる場合、新たな量子化パラメータの計算での使用前に、人為的に下げられる。このようにして、ビットレートを増やす外乱要因の影響を減らすことができ、又は、取り除くことでさえもできる。
【００６１】
ＳＮＲとして表されるノイズの例を見ると、時間間隔におけるＳＮＲが、図５のグラフ内の点線ＳＮＲｔｈにより示される第１のＳＮＲ閾値未満の場合、その時間間隔中に使用された量子化パラメータは、ＳＮＲオフセット値分オフセットされ、１ステップ分低い、又は、１ステップの一部分低い量子化パラメータなどの、より低い量子化パラメータが、正規化済平均ビットレートの計算において使用されるようになっている。これにより、ノイズの影響を受けた時間間隔中の出力ビットレートの一部が、より低い量子化パラメータにより引き起こされたと仮定したものとして、新たな量子化パラメータの計算が「だまされた」形となる。
【００６２】
図６を参照して、ＰＴＺムーブメントとも呼ばれるカメラムーブメントの例を見ると、時間間隔におけるそのＰＴＺムーブメントが、第１のＰＴＺ閾値ＰＴＺｔｈを超える場合、その時間間隔中に使用された量子化パラメータは、ＰＴＺオフセット値分オフセットされ、より低い量子化パラメータが、正規化済平均ビットレートの計算において使用されるようにする。したがって、新たな量子化パラメータの計算は、その時間間隔中にエンコーダが出力したビットレートの一部が、より低い量子化パラメータにより引き起こされた、という人為的な仮定に基づくものとなる。ＰＴＺムーブメントは、例えば、パニング又はチルティングムーブメントの速度の単位、又は、ズーム比として表されてよい。
【００６３】
おそらくは、１つ又はそれ以上の外乱要因に対して、１つを超える閾値を設定することができる。例えば、時間間隔中のＳＮＲが、第１のＳＮＲ閾値未満の場合、その時間間隔中に使用された量子化パラメータは、第１のＳＮＲオフセット値分オフセットされ、正規化済平均ビットレートの計算に、実際の量子化パラメータよりも、１ステップ分低い、又は、１ステップの一部分低い量子化パラメータが使用されるようになってよい。ＳＮＲが、第１のＳＮＲ閾値より低い第２のＳＮＲ閾値未満でもあるような、ノイズがさらにある場合、その時間間隔中に使用された量子化パラメータは、量子化を、１つ又はそれ以上のステップなど、第１のＳＮＲオフセット値よりも多くオフセットする第２のＳＮＲオフセット値分オフセットされてよい。
【００６４】
ノイズ及びＰＴＺムーブメントなどの外乱要因は、そのように保存される必要がないことに注意すべきである。それらはその代わりに、各時間間隔に対して保存されている量子化パラメータに影響を及ぼし、その量子化パラメータが、オフセットを伴って保存されるようにすることにより、間接的に保存されてよい。
【００６５】
さらに、上述するように、外乱が少ない、又は、それが無い場合には、反対向きのオフセットがその代わりに適用されてよい。
【００６６】
本発明に関する方法は、図８に模式的に示すもののような、ビットレートコントローラ８０において行われてよい。以下に説明する、ビットレートコントローラの種々のモジュール又は部分は、ハードウェア、ソフトウェア、又はそれらのいずれの組み合わせにて実装されてよい。したがって、これらモジュールのいくつか又はすべては、１つ又はそれ以上の、以下に説明する機能を行うよう構成されている回路の形態であってよい。追加的に、又は、代替的に、ビットレートコントローラは、１つ又はそれ以上の機能を行う命令を保存する非一時的コンピュータ可読媒体と、それを実行するプロセッサと、を含んでよい。
【００６７】
ビットレートコントローラ８０は、許容平均ビットレートを設定するよう構成されているビットレートプリセッタ８１を有する。ビットレートコントローラはまた、第１の期間Ｔ１中のエンコーディングからのエンコーディングデータを保存するよう構成されているデータストレージ８２も有する。第１の期間内の各時間間隔に対して、データストレージは、時間間隔中に出力された各出力ビットレート、及び、時間間隔中に使用された量子化パラメータを保存する。
【００６８】
さらに、ビットレートコントローラ８０は、各時間間隔中に使用された出力ビットレート及び量子化パラメータに応じた所定の公称量子化パラメータに対して推定された、対応する正規化済ビットレートを計算することにより、各時間間隔に対する出力ビットレートを正規化するよう構成されている出力ビットレートノーマライザ８３を有する。
【００６９】
ビットレートコントローラ８０はまた、各時間間隔中に使用された量子化パラメータに応じた、第１の期間にわたる平均正規化済ビットレートを計算するよう構成されている平均ビットレート計算器８４と、平均正規化済ビットレート及び許容平均ビットレートの比較に基づいて、新たな量子化パラメータを計算するよう構成されている量子化パラメータ計算器８５と、第１の期間に続く第２の期間中に、ビデオシーケンスをエンコーディングするために、新たな量子化パラメータを、ビデオエンコーダに出力するよう構成されている制御出力８６と、も有する。
【００７０】
ビットレートコントローラ８０は、上記の方法を使用して作動してよい。
【００７１】
図９は、カメラ１の簡略化したブロック図を示す。カメラ１は、レンズ９１と、イメージセンサ９２と、ビットレートコントローラ８０と、エンコーダ９３と、ローカルストレージ９４と、ネットワークインターフェース９５と、を有する。当業者に理解されるであろうように、カメラ１は追加的コンポーネントを有するが、それらは本発明の説明に必要でないため、図面には含んでおらず、さらに説明もしない。カメラ１は、レンズ９１及びイメージセンサ９２を用いて、シーン１のイメージを撮像する。イメージは、エンコーダ９３によりエンコードされ、エンコードされたイメージフレームのストリームを形成する。ビットレートコントローラ８０は、上述するように、エンコーダ９３の出力ビットレートを制御する。ローカルストレージ９４は、ＳＤカードなどであってよく、エンコードされたイメージフレームをローカルにカメラ内に保存するために使用されてよい。カメラ１はネットワークインターフェース９５を用いて、エンコードされたイメージフレームを、ネットワークビデオレコーダ２１に、及び／又は、ユーザステーション２３に送信してよい。
【００７２】
図１０は、ネットワークビデオレコーダ２１の簡略化したブロック図を示す。ネットワークビデオレコーダ２１は、カメラシステム２０内のカメラ１に接続するための入力１０２と、ユーザステーション２３に接続するための出力１０３と、を有するネットワークインターフェース１０１を有する。さらに、ネットワークビデオレコーダ２１は、ストレージユニット１０４と、ビットレートコントローラ８０と、を有する。ストレージユニット１０４は、ディスクドライブなどであってよい。ビットレートコントローラ８０の機能は、先に詳しく説明している。ネットワークビデオレコーダ２１は、他のコンポーネントも同じく有してよいが、それらは本発明の説明に必要でないため、図面には含んでおらず、さらに説明もしない。ネットワークビデオレコーダ２１のビットレートコントローラ８０は、接続されている１つ又はそれ以上のカメラのエンコーダを制御してよい。これは、利用可能な帯域幅及び記憶容量をシェアする必要がある、２つ又はそれ以上のカメラのシステムにおいて特に有益となり得る。ネットワークレコーダのビットレートコントローラが、１つ又はそれ以上のカメラのエンコーディングを制御する場合、カメラ内にビットレートコントローラは必要ではない。
【００７３】
本発明に関する方法は、コンピュータプログラムの支援の元で行われてよい。コンピュータプログラムは、非一時的コンピュータ可読記憶媒体上に保存されてよく、これは、処理能力を有するデバイスにより実行されると、この方法を実施するよう構成されている命令を含んでよい。
【００７４】
量子化パラメータは、イメージフレーム全体において同じであってよい。しかし、異なる量子化パラメータを、イメージフレームの異なる部分又はマクロブロックに使用することが好適であってよい。例えば、関連性のあるものと見なされる、イメージの前景又は部分内のマクロブロックは、関連性のないものと見なされる、イメージの背景又は部分内のマクロブロックよりも、少なく圧縮されてよい。発明の概要に説明したように、出願人による係属中の出願ＥＰ−３０２１５８３は、そのようなアプローチを説明する。そのような変化する量子化パラメータが使用された場合、第１の期間中に使用された量子化パラメータと、同様に、公称量子化パラメータと、新たな量子化パラメータと、はそれぞれ、１つ又はそれ以上の量子化パラメータを代表する、代表的な量子化パラメータであってよい。例えば、代表的な量子化パラメータは、エンコードするマクロブロックとの関連などに基づく、オフセットが作られるベース量子化パラメータであってよい。
【００７５】
上記の例のように、１つ又はいくつかのステップの量子化パラメータのオフセットを説明した。より小さい、又は、より大きいオフセットを使用することが望ましい場合があることに注意すべきである。例えば、彩度チャネルを１ステップオフセットし、輝度チャネルを変更せずにすることにより、１ステップ未満のオフセットを作ることができる。量子化パラメータをローカルにオフセットすることにより、例えば、量子化を、１つのフレーム内にて、イメージの上半分において１ステップ分オフセットし、次のフレーム内にて、下半分において１ステップ分オフセットすることにより、１より少ないステップもまた可能である。ＱＰステップをそのように使用しないエンコーダもあるが、それらに対しても本発明は、依然として等しく適用可能であることにも注意されたい。例えば、ＡＶ１は、量子化値のルックアップテーブルを使用する。
【００７６】
当業者であれば、上記の実施形態を多くの方法にて変更でき、上記の実施形態に示すような、本発明の利点を依然として使用できることが理解されるであろう。一例として、エンコーダは、カメラに統合する必要はなく、カメラに操作可能に接続された別個のユニットであり得る。
【００７７】
ビットレートコントローラは、カメラ又はネットワークビデオレコーダに統合されたものとして説明したが、別個のユニットとして同様に配置されてよく、カメラ、カメラのシステム、又はネットワークビデオレコーダに操作可能に接続されてよい。
【００７８】
さらに、カメラ及びネットワークビデオレコーダは双方とも、ビットレートコントローラを含むものとして説明したが、カメラ又はネットワークビデオレコーダのどちらかにそれを施すことができてよい。ビットレート制御が、各カメラ内にてローカルに行われる場合、ビットレートコントローラをネットワークビデオレコーダに含む必要はない。類似して、ネットワークビデオレコーダにてビットレート制御方法が行われる場合、ビットレートコントローラをカメラに有する必要がなくともよい。同様に、別個のビットレートコントローラが使用される場合、カメラ及びネットワークビデオレコーダのどちらも、ビットレートコントローラを含む必要はない。
【００７９】
エンコーダによりエンコードされたイメージは、撮像カメラから直接受信してよいし、又は、先に撮像されて保存されたものであってもよい。したがって、イメージの直近のソースは、イメージセンサ又はデータファイルであってよい。
【００８０】
カメラは、可視光を採用するカメラ、近赤外線（ｎｅａｒ  ｉｎｆｒａｒｅｄ又はＮＩＲ）放射を採用するカメラ、又は熱カメラなど、いずれの種類のカメラであってよい。
【００８１】
カメラは好適にはデジタルカメラであるが、その代わりに、デジタル化ユニットに接続されたアナログカメラであってよい。
【００８２】
本発明は、サーベイランスカメラとも呼ばれることがある、モニタリングカメラのコンテキストにおいて説明したが、他のカメラアプリケーションにおいても好適に使用されてよい。
【００８３】
本カメラシステムを、ネットワークビデオレコーダを含むものとして説明したが、ネットワークビデオレコーダを含まないカメラシステムを配置することも十分可能である。そのようなシステムでの保存は、カメラ内にローカルに、及び／又は、コントロールセンタにリモートに生じてよい。
【００８４】
図面に示す、上述するカメラ１は、ローカルストレージ９４を含む。いくつかのカメラシステムでは、ローカルストレージは唯一のストレージであるが、他では、バックアップ及び冗長性のために使用されてよく、ここで保存はまた、ユーザステーション内若しくはそこにおける、ネットワークビデオレコーダ内、又は、ストレージデバイス上にて生じる。例えば、コントロールセンタでの保存のために、サーバーが配置されてよい。いくつかのカメラシステムでは、カメラはローカルストレージを含まず、ネットワークビデオレコーダのみが、又は、他の外部ストレージが使用される。
【００８５】
ビデオの記録又は保存は連続して行われてよいが、ビデオは多くの場合、ビデオのモーション検出、又は、受動型赤外線（ｐａｓｓｉｖｅ  ｉｎｆｒａｒｅｄ又はＰＩＲ）センサなどのアラームデバイスからの入力などの、イベントによりトリガされた際にのみ保存されることが好適である。このようにして、潜在的に高い関心を寄せるビデオシーケンスのみを保存し、シーンに何も起こっていないビデオは保存しないようにすることにより、記憶容量が節約されてよい。
【００８６】
エンコードされたイメージフレームは、ユーザステーションに連続して送信されてよいが、イベントトリガリングにより制限されてもよい。いくつかのビデオシステムでは、エンコードされたイメージフレームは、保存、及び／又は、オペレータがすぐに見るために、コントロールセンタに連続して送信されてよく、シーンに何かが起こった際にユーザに警報を発し得るように、イベントトリガリングのみに基づいて、モバイルデバイスに追加的に送信されてよい。
【００８７】
カメラ内のローカルストレージが、フェイルオーバー記録と呼ばれるもののために使用されてよい。これは、エンコードされたイメージフレームが通常、カメラから連続して送信される場合、ネットワークへの接続が失われた場合にローカルに保存することが始まってよいことを意味する。ネットワーク接続が回復すると、ローカルストレージに保存されたビデオデータがユーザステーションに送信されてよく、完全なビデオシーケンスが回復されてよい。
【００８８】
エンコーダは、モーション推定及びモーション補償を採用する、いずれのエンコーディング標準にしたがって作動してよい。エンコーダは、Ｈ．２６４（アドバンスドビデオコーディング（ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ又はＡＶＣ））、Ｈ．２６５（高効率ビデオコーディング（ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ又はＨＥＶＣ））、ＶＰ９、又はＡＶ１エンコーダなどの、ブロックベースのハイブリッドエンコーダであってよい。
【００８９】
本発明に関する方法は、コンピュータ可読の、非一時的記憶媒体上に保存された命令を実行することにより行われてよい。これらの命令は、中央処理ユニット（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ又はＣＰＵ）、グラフィクス処理ユニット（ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ又はＧＰＵ）、集積回路に実装されたカスタムメイド処理デバイス、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ又はＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ又はＦＰＧＡ）、又は、別々のコンポーネントを含む論理回路などの、処理能力を有するいずれのデバイスにより実行されてよい。
【００９０】
先の説明では、既知の、ビットレートを増やす外乱要因の２つの例を説明した。他のそのような外乱要因もまた、同じく考慮され得る。ビットレートを増やす外乱要因の追加的な例は、焦点の変化、及び、移動するオーバーレイである。
【００９１】
異なる実施形態及び変形例を上述したが、それらは別々のものとして見るべきではなく、それらの特徴は自由に組み合わされてよい。
【００９２】
本発明は従って、ここに示す実施形態に限定されるべきではなく、特許請求の範囲によってのみ定義されるべきである。
【図１】
2020205580.tif 000006
【図２】
2020205580.tif 000007
【図３】
2020205580.tif 000008
【図４】
2020205580.tif 000009
【図５】
2020205580.tif 000010
【図６】
2020205580.tif 000011
【図７】
2020205580.tif 000012
【図８】
2020205580.tif 000013
【図９】
2020205580.tif 000014
【図１０】
2020205580.tif 000015
【外国語明細書】
2020205580000001.pdf
2020205580000002.pdf
2020205580000003.pdf
2020205580000004.pdf