(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-02
(45)【発行日】2022-02-10
(54)【発明の名称】ビデオエンコーダの出力ビットレートを制御するための方法及びレートコントローラ
(51)【国際特許分類】
H04N 19/115 20140101AFI20220203BHJP
H04N 19/126 20140101ALI20220203BHJP
H04N 19/146 20140101ALI20220203BHJP
H04N 19/156 20140101ALI20220203BHJP
H04N 19/164 20140101ALI20220203BHJP
H04N 19/179 20140101ALI20220203BHJP
【FI】
H04N19/115
H04N19/126
H04N19/146
H04N19/156
H04N19/164
H04N19/179
【外国語出願】
(21)【出願番号】P 2018071999
(22)【出願日】2018-04-04
【審査請求日】2021-04-05
(32)【優先日】2017-04-24
(33)【優先権主張国・地域又は機関】EP
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208205
【氏名又は名称】アクシス アーベー
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林特許業務法人
(72)【発明者】
【氏名】エドパルム, ヴィクトル
(72)【発明者】
【氏名】トーレソン, アレクサンデル
(72)【発明者】
【氏名】マルティンス, アレクサンドル
【審査官】鉢呂 健
(56)【参考文献】
【文献】特開平10-098683(JP,A)
【文献】特開2008-263443(JP,A)
【文献】米国特許出願公開第2010/0064337(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
ビデオシーケンスを符号化するビデオエンコーダの出力ビットレートを制御する方法であって、
前記ビデオエンコーダの出力に対して少なくとも1日の期間の長期間のビット配分を設定すること(S1)と、
前記長期間のビット配分に基づいて第1の許容可能なビットレートを決定すること(S2)と、
前記ビデオエンコーダの出力に対して瞬時ビット制約を決定すること(S3)と、
前記瞬時ビット制約に基づいて第2の許容可能なビットレートを決定すること(S4)と、
前記長期間のビット配分、前記第1の許容可能なビットレート及び前記第2の許容可能なビットレートに準拠するように、前記第1の許容可能なビットレートと前記第2の許容可能なビットレートとに基づいて出力ビットレートを制御すること(S5)と
を含
み、
前記第1の許容可能なビットレートを決定すること(S2)は、以前に符号化されたビデオシーケンスの出力ビットレートの履歴の変化についての入力を受信することを含み、
前記許容可能なビットレートに基づいて出力ビットレートを制御すること(S5)は、
第1の時間間隔の後に、第1の期間中に何ビットが出力されたかをチェックすることと、
前記第1の期間中の出力ビット数が履歴から予想されたビット数よりも第1の限度だけ上回ることに応答して、前記長期間のビット配分に準拠して出力ビットレートが低下するように前記エンコーダの圧縮パラメータを増加させること、または、前記第1の期間中の出力ビット数が前記履歴から予想されたビット数よりも第2の限度だけ下回ることに応答して、前記長期間のビット配分内で画像品質を上げるために出力ビットレートが増加するように前記エンコーダの圧縮パラメータを低下させること、
を含む、方法。
【請求項2】
前記第1の許容可能なビットレートを決定すること(S2)は、前記長期間のビット配分を前記期間
で割ることによって
前記第1の許容可能なビットレートを決定することを含む、請求項1に記載の方法。
【請求項3】
前記許容可能なビットレートに基づいて出力ビットレートを制御すること(S5)は、
第1の時間間隔の後に、第1の期間中に何ビットが出力されたかをチェックすることと、
前記第1の期間中の出力ビット数が前記第1の許容可能なビットレートよりも第
3の限度だけ上回ることに応答して、前記長期間のビット配分に準拠して出力ビットレートが低下するように前記エンコーダの圧縮パラメータを増加させることと
を含む、請求項2に記載の方法。
【請求項4】
前記許容可能なビットレートに基づいて出力ビットレートを制御すること(S5)は、
第1の時間間隔の後に、第1の期間中に何ビットが出力されたかをチェックすることと、
前記第1の期間中の出力ビット数が前記第1の許容可能なビットレートよりも第
4の限度だけ下回ることに応答して、前記長期間のビット配分内で画像品質を上げるために出力ビットレートが増加するように前記エンコーダの圧縮パラメータを低下させることと
を含む、請求項2に記載の方法。
【請求項5】
前記以前に符号化されたビデオシーケンスは、出力ビットレートが制御される前記ビデオシーケンスと同じシーンを撮影したものである、請求項
1から4のいずれか一項に記載の方法。
【請求項6】
前記第2の許容可能なビットレートを決定すること(S4)は、符号化された前記ビデオシーケンスを送信するために前記エンコーダが接続されたネットワークの利用可能な帯域幅についての入力を受信することと、
単位時間当たりの利用可能な前記帯域幅として前記第2の許容可能なビットレートを設定することと、を含む、請求項1から
5のいずれか一項に記載の方法。
【請求項7】
前記第1の許容可能なビットレートと前記第2の許容可能なビットレートに基づいて出力ビットレートを制御すること(S5)は、出力ビットレートを前記第2の許容可能なビットレート以下に制限することを含む、請求項1から
6のいずれか一項に記載の方法。
【請求項8】
前記第1の許容可能なビットレートについての入力を受信することは、予想されるビットレートに影響を及ぼす事象についての入力を受信し、
潜在的に関心の対象となる事象が予想される場合に後の使用のためにビットが節約されうる、または、関心の対象ではない活動の予想される期間の前にビットがより有効に使用されうることを含む、請求項1から
7のいずれか一項に記載の方法。
【請求項9】
前記第1の許容可能なビットレートについての入力を受信することは、
前記第1の許容可能なビットレートを増加、または、低減するユーザ入力を受信すること
を含む、請求項1から
8のいずれか一項に記載の方法。
【請求項10】
ビデオシーケンスを符号化するビデオエンコーダ(34)の出力ビットレートを制御するためのビットレートコントローラ(33;45;51)であって、
前記ビデオエンコーダの出力に対して少なくとも1日の期間に対する長期間のビット配分を設定するように配置された配分セッタ(52)と、
前記ビデオエンコーダ(34)の出力に対して瞬時ビット制約を決定するように配置されたビット制約決定器(53)と、
前記長期間のビット配分に基づいて第1の許容可能なビットレートを決定し、前記瞬時ビット制約に基づいて第2の許容可能なビットレートを決定するように配置されたビットレート決定器(54)と、
前記第1の許容可能なビットレートと前記第2の許容可能なビットレートとに基づいて出力ビットレートを計算するように配置されたビットレート計算器(55)と、
計算された前記出力ビットレートを前記ビデオエンコーダ(34)に出力するように配置された制御出力部(56)と
を備え
、
前記第1の許容可能なビットレートを決定することは、以前に符号化されたビデオシーケンスの出力ビットレートの履歴の変化についての入力を受信することを含み、
前記制御出力部(56)は、
第1の時間間隔の後に、第1の期間中に何ビットが出力されたかをチェックすることと、
前記第1の期間中の出力ビット数が履歴から予想されたビット数よりも第1の限度だけ上回ることに応答して、前記長期間のビット配分に準拠して出力ビットレートが低下するように前記エンコーダの圧縮パラメータを増加させること、または、前記第1の期間中の出力ビット数が前記履歴から予想されたビット数よりも第2の限度だけ下回ることに応答して、前記長期間のビット配分内で画像品質を上げるために出力ビットレートが増加するように前記エンコーダの圧縮パラメータを低下させることと、を含む前記出力ビットレートの制御を行う、ビットレートコントローラ(33;45;51)。
【請求項11】
演算装置によって実行されたときに請求項1から
9のいずれか一項に記載の方法を実行するように適合された命令を有する非一過性コンピュータ可読記憶媒体。
【請求項12】
画像を撮影するように構成された画像センサと、
前記画像を符号化するように構成されたエンコーダと、
請求項
10に記載のビットレートコントローラを含むカメラ。
【請求項13】
請求項
10に記載のビットレートコントローラを含むネットワークビデオレコーダ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオの符号化に関し、より具体的にはビデオエンコーダのビットレート制御に関する。
【背景技術】
【0002】
ネットワークカメラ監視システムなどのデジタルビデオシステムにおいて、ビデオシーケンスは、送信前にエンコーダによって様々なビデオを符号化する方法を使用して圧縮される。多くの場合、ビデオシーケンスが送信されるネットワークの帯域幅には制限があるため、エンコーダの出力ビットレートを制御するためにレートコントローラが良く使われる。
【0003】
レートコントローラは、幾つかのビットレート制御スキームのうちの1つを適用しうる。レートコントローラは、固定ビットレート(CBR)、最大ビットレート(MBR)又は可変ビットレート(VBR)を採用しうる。CBRは、撮影したシーンに何が起ころうが、エンコーダが常に同じビットレートを出力しようとすることを意味する。帯域幅が制限されている場合、シーン内に動きがあるときはこれは低品質の画像につながりうるが、画像が静的であるときは高品質の画像が得られる。調査又は監視状況においては普通、静的なシーンよりも動きのあるシーンの方がより関心の対象であるため、これは一般的に有用ではない。MBRについては、ビットレートの極限セットを超えない限り、ビットレートの変化が許容される。この方法に関連した問題は、CBRに関わる問題と類似している。MBRの極限の設定が低すぎると、動きのあるシーンの画像は低品質のものになりうる。しかしながら、極限の設定が高い場合、動きに適応するために、静的なシーンの画像を符号化するときに出力ビットレートが必要以上に高くなる可能性がある。VBRはまた、固定品質ビットレートとも称され得、これは符号化された画像の品質が一定に保たれるべきことを意味するが、シーンで何が起こっているかに応じて出力ビットレートの変化が許容される。この方法は、シーンに動きがあるときに高い出力ビットレートにつながりうる。これは特に、例えば携帯電話ネットワークを介して符号化された画像を送信している時などに帯域幅が制限されている場合に、問題である。同様に、カメラ内、例えばSDカード上に画像を保存するときなどにストレージに制限がある場合に、問題となる。高い出力ビットレートは、大規模なカメラシステムにおいて、幾つかのカメラが動きのあるシーンの画像を同時に送信する場合にも問題になりうる。
【0004】
デジタルカメラシステムの別の問題は、ストレージ容量の必要を見積もることが困難なことである。CBRが使用された場合、固定ビットレートを所望の保持時間によって単純に乗算することによって必要なストレージ容量を推定することは簡単である。しかしながら、MBR及びVBRにおいては、撮影されたシーンで何が起こるかに応じてビットレートが変化する。ストレージのコストは多くの場合、デジタルビデオシステムのコストの重要な部分であり、したがってシステムの所有者はストレージ容量を小さく保ちたいと望んでいる。それでもやはりこれには、撮影されたシーンに大量の動き及びディテールがあったときに所望の保持時間にわたって出力されるビットの合計量が利用可能なストレージ容量に対して大きすぎる可能性があるため、記録されたビデオを失う危険性が伴う。
【0005】
したがって、改善されたビットレートの制御方法が必要である。
【発明の概要】
【0006】
本発明の目的は、ストレージ容量の必要を予測することがより簡単になる、ビデオエンコーダの出力ビットレートを制御するための方法を提供することである。
【0007】
別の目的は、保存されたビデオデータの予め定められた保持時間を保証することを可能にする、ビデオエンコーダの出力ビットレートを制御するための方法を提供することである。
【0008】
また、ストレージ容量の必要を予測しやすくするビットレートコントローラを提供することと、保存されたビデオデータの所望の保持時間を確保することを可能にするビットレートコントローラを提供することも目的とする。
【0009】
更に別の目的は、改善されたビットレート制御を可能にするカメラとネットワークビデオレコーダを提供することである。
【0010】
第1の態様によれば、ビデオシーケンスを符号化するビデオエンコーダの出力ビットレートを制御する方法であって、ビデオエンコーダの出力に対して少なくとも1日の期間の長期間のビット配分を設定することと、長期間のビット配分に基づいて第1の許容可能なビットレートを決定することと、ビデオエンコーダの出力に対して瞬時ビット制約を決定することと、瞬時ビット制約に基づいて第2の許容可能なビットレートを決定することと、長期間のビット配分、第1の許容可能なビットレート及び第2の許容可能なビットレートに準拠するように、第1の許容可能なビットレートと第2の許容可能なビットレートとに基づいて出力ビットレートを制御することとを含む方法によって、これらの目的及び他の目的が完全にあるいは少なくとも一部において達成される。上記方法を用いれば、長期間にわたって何ビットを出力することが可能かを決定する長期間のビット配分を設定することが可能である。長期間のビット配分は、少なくとも一日の期間に対して設定され、数日、数週間、又は数か月に対して有利に設定されうる。長期間のビット配分を設定することによって、必要となるであろうストレージ容量を予見することが可能であり、ネットワークカメラシステムを設計することが簡単になる。長期間のビット配分はまた、保存されたビデオデータに対する予め定められた保持時間が維持されうるようにすることも可能にする。長期間のビット配分に基づいて第1の許容可能なビットレートを決定することによって、期間の終了が長期間のビット配分に対応できないという不快な不意打ちとならないように、経時的な出力ビットレートを制御することが可能である。更に、瞬時ビット制約に基づいて第2の許容可能なビットレートを決定することによって、例えば符号化されたビデオが送信されることになるネットワークの帯域幅を超えないように出力ビットレートを制御することが可能である。本書で使用する用語「準拠する」とは、ビット配分が設定された期間中に出力されるビット数が、長期間のビット配分を下回るであろうことを意味することをここで明確に述べる。それでもやはり、第1及び第2の許容可能なビットレートについては、これらが一時的に超えても「準拠している」となる場合がある。第1及び第2の許容可能なビットレートは、長期間のビット配分を超えないようにするために使用されるツールである。したがってこれらは目標値であり、出力ビットレートがこれら2つの許容可能なビットレート未満に維持された場合、長期間のビット配分が設定された期間中に出力されるビット数がビット配分を下回ることになるが、ビットレートが第1及び第2の許容可能なビットレートを超えるべきでない期間が長すぎる場合には、長期間のビット配分がやはり重んじられうる。第1及び第2の許容可能なビットレートはしたがって、「柔軟な」ビットレート極限として見なすことができ、長期間のビット配分は「厳格な」極限である。本発明の方法の幾つかの変形例では、第1の許容可能なビットレート及び/又は第2の許容可能なビットレートを、厳格な極限としても使用可能でありうる。
【0011】
本方法の幾つかの変形例によれば、第1の許容可能なビットレートを決定することは、長期間のビット配分を期間によって割ることによって平均ビットレートを計算することを含む。これは、第1の許容可能なビットレートを決定する直接的な方法である。
【0012】
許容可能なビットレートに基づいて出力ビットレートを制御するステップは、第1の時間間隔の後に、第1の期間中に何ビットが出力されたかをチェックすることと、第1の期間中の出力ビット数が第1の許容可能なビットレートよりも第1の限度だけ上回る場合、長期間のビット配分に準拠して出力ビットレートが低下するようにエンコーダの圧縮パラメータを増加させること、又は第1の期間中の出力ビット数が第1の許容可能なビットレートよりも第2の限度だけ下回る場合、長期間のビット配分内で画像品質を上げるために出力ビットレートが増加するようにエンコーダの圧縮パラメータを低下させることとを含みうる。このように、長期間のビット配分と好ましい保持時間に基づく平均ビットレートの形態の第1の許容可能なビットレートを使用することで、必要が生じた場合に圧縮を増加することが可能である。シーンにおいてしばらくの間たくさんの活動があった場合、可能であるよりも多いビットが平均ビットレート内で出力されている可能性がある。これは、その後しばらくの間圧縮を増加させることによって、補うことができる。一方で、シーンにおいてわずかな活動しかなかった、あるいは全く活動がなかった場合、しばらくの間は画像品質が向上する余地があり得、これは圧縮を減らすことによって達成されうる。この方法を用いれば、利用可能なストレージ容量を効率的に使うことが可能になりうる。
【0013】
本方法のある変形例によれば、第1の許容可能なビットレートを決定することは、以前に符号化されたビデオシーケンスの出力ビットレートの履歴の変化についての入力を受信することを含む。ビットレートの変化についての履歴データは、エンコーダの出力ビットレートの制御において有益でありうる。多くの場所で、シーン内の活動に定期的に変化が起きる。例えば、カメラが工場の建物の従業員入口の外を監視するために装着された場合、午前中、昼食時、及び午後にたくさんの活動があり得るが、勤務時間と夜間の活動は少ない可能性がある。上記変化を知った上で、活動がもっと予想される期間により多くのビットを割り当てて、活動があまり予想されない期間中には少ないビットを使用することが可能でありうる。
【0014】
以前に符号化されたビデオシーケンスは、出力ビットレートが制御されるビデオシーケンスと同じシーンを撮影したものである可能性がある。これにより、履歴データは、一般的な履歴データが使用された場合よりも、今後の出力ビットレートを制御するのにより該当するものとなりうる。
【0015】
本方法のある変形例によれば、許容可能なビットレートに基づいて出力ビットレートを制御することは、第1の時間間隔の後に、第1の期間中に何ビットが出力されたかをチェックすることと、第1の期間中の出力ビット数が履歴から予想されたビット数よりも第3の限度だけ上回る場合、長期間のビット配分に準拠して出力ビットレートが低下するようにエンコーダの圧縮パラメータを増加させること、又は第1の期間中の出力ビット数が履歴から予想されたビット数よりも第4の限度だけ下回る場合、長期間のビット配分内で画像品質を上げるために出力ビットレートが増加するようにエンコーダの圧縮パラメータを低下させることとを含む。すでに注記したように、履歴からのビットレートの変化量データを考慮に入れれば、シーン内の活動の予想される変化に応じて異なる時間間隔にビットを割り当てることが可能になる。これにより、一般的にビデオシーケンスのユーザにとってより関心の対象であり、高品質の画像からより多くの恩恵を受ける、活動がより多い期間により多くのビットが消費されるように、通常は活動が少ない期間中にビットを節約することができる。シーン内の活動が履歴パターンから逸脱した場合、必要が生じたときに圧縮を増加させ、機会が訪れたときに圧縮を減らすことが可能である。
【0016】
第2の許容可能なビットレートを決定することは、符号化されたビデオシーケンスを送信するためにエンコーダが接続されたネットワークの利用可能な帯域幅についての入力を受信することを含みうる。この方法で、エンコーダの出力ビットレートが利用可能な帯域幅を超えないように制御されうる。したがって、ビデオシーケンスの画像フレームが、確実にネットワークを介して送信されうるようになりうる。利用可能な帯域幅は、様々な方法で決定されうる。例えば、1つのカメラに対し、利用可能な帯域幅は、カメラからコントロールセンター内のビデオ管理システム等のビデオデータの使用地点への接続の帯域幅であってよい。カメラのシステム内の1つのカメラに対し、利用可能な帯域幅はネットワークの全帯域幅の割り当てられた部分であってよく、全帯域幅の他の部分は、システム内の他のカメラのために確保されている。ネットワークは、いかなる種類のネットワークであってもよい。ネットワークは有線又は無線であってよく、例えばセルラーネットワークであってもよい。
【0017】
本方法のある変形例によれば、第1の許容可能なビットレートと第2の許容可能なビットレートに基づいて出力ビットレートを制御することは、出力ビットレートを第2の許容可能なビットレート以下に制限することを含む。出力ビットレートが第2の許容可能なビットレートを超えないようにすることによって、例えば利用可能な帯域幅等の短期間のビットレートの制約に常に準拠することができるようになりうる。本方法の上記変形例では、第2の許容可能なビットレートが厳格な極限として使用されることがわかりうる。上記変形例において、第2の許容可能なビットレートはMBRとして実施されうる。
【0018】
第1の許容可能なビットレートについての入力を受信することは、予想されるビットレートに影響を及ぼす事象についての入力を受信することを含みうる。このように、第1の許容可能なビットレートを決定するときに、これから起きる事象を考慮に入れることができ、これにより潜在的に関心の対象となる事象が予想される場合に後の使用のためにビットが節約されうる。反対に、予想されるそれほど関心の対象ではない活動の期間の前に、ビットをより有効に使用することが可能である。
【0019】
第1の許容可能なビットレートについての入力を受信することは、ユーザ入力を受信することを含みうる。ユーザは、例えば、新たな大きいディスクドライブをビデオデータの保存に使用開始している場合は、高い第1の許容可能なビットレートを許容しうる。同様に、ユーザは、長い保持時間が必要であると判断する可能性がある。例えば犯罪が起き、科学操作的に重要なデータを含む可能性がある記録されたビデオシーケンスは、より長く保存する必要がある。
【0020】
第2の態様によれば、ビデオシーケンスを符号化するビデオエンコーダの出力ビットレートを制御するためのビットレートコントローラであって、ビデオエンコーダの出力に対して少なくとも1日の期間に対する長期間のビット配分を設定するように配置された配分セッタと、ビデオエンコーダの出力に対して瞬時ビット制約を決定するように配置されたビット制約決定器と、長期間のビット配分に基づいて第1の許容可能なビットレートを決定し、瞬時ビット制約に基づいて第2の許容可能なビットレートを決定するように配置されたビットレート決定器と、第1の許容可能なビットレートと第2の許容可能なビットレートとに基づいて出力ビットレートを計算するように配置されたビットレート計算器と、計算された出力ビットレートをビデオエンコーダに出力するように配置された制御出力部とを備えるビットレートコントローラによって、これらの目的及び他の目的が完全に又は少なくとも部分的に達成される。上記のようなビットレートコントローラを用いることで、エンコーダの出力ビットレートを利用可能な送信帯域幅等の瞬時ビット制約だけでなく、例えば保存されたビデオデータの好ましい保持時間に基づく長期間のビット配分に準拠させることが可能である。第2の態様のビットレートコントローラは、基本的に、第1の態様の方法と同じ方式で具現化されうるため、その利点も付随する。
【0021】
第3の態様によれば、プロセッサによって実行されたときに第1の態様に係る方法を実行するように適合された命令を有する非一過性コンピュータ可読記憶媒体を備えるコンピュータプログラム製品によって、これらの目的及び他の目的が完全に又は少なくとも部分的に達成される。上記のようなコンピュータプログラム製品を使用することで、短期間だけでなく長期間の出力ビットレートの極限が満たされるようにビットレートを制御することが可能になりうる。第3の態様のコンピュータプログラム製品は、第1の態様の方法とおおよそ同じように変更することが可能であり、その利点も付随する。
【0022】
第4の態様によれば、第2の態様に係るビットレートコントロ―ラを備えたカメラによって、これらの目的及び他の目的が完全に又は少なくとも部分的に達成される。カメラに上記のようなビットレートコントローラを統合することによって、カメラ内に局部的に第2の態様のビットレートコントローラの利点を実現することが可能である。
【0023】
第5の態様によれば、第2の態様に係るビットレートコントローラを備えたネットワークビデオレコーダによって、これらの目的及び他の目的が完全に又は少なくとも部分的に達成される。第2の態様のビットレートコントローラを含むことで、ネットワーク化されたカメラのシステム内のカメラに含まれる、例えば幾つかのビデオエンコーダからの出力ビットレートを制御することが可能になる。これにより、長期間のビット配分を、各カメラに対して別々ではなく、カメラのシステム全体に対して設定することができ、ネットワークビデオレコーダのストレージ容量を有効に活用することが可能になる。
【0024】
本発明の応用可能性の更なる範囲は、下記に記載する詳細説明から明らかになろう。しかし、当業者にはこの詳細説明から本発明の範囲内の様々な変更及び修正が明らかになることから、詳細説明及び具体例は、本発明の好ましい実施形態を示しつつも、単なる例示として記載されていることを、理解すべきである。
【0025】
したがって、説明されているデバイスの特定の構成要素部品、又は説明されている方法の特定のステップが変動しうるため、この発明は、かかるデバイス及びステップに限定されないことを、理解されたい。本書で使用される用語は、特定の実施形態を説明することだけを目的としており、限定するためのものではないということも、理解されたい。本明細書及び付随する特許請求の範囲においては、冠詞(「a」、「an」、「the」、及び「said」)が、文脈によってそうではないと明示されない限り、一又は複数の要素の存在を意味するためのものであることに、留意しなくてはならない。ゆえに、例えば、「1つの対象物(an object)」又は「前記対象物(the object)」に対する言及はいくつかの対象物(object)を含みうる、等である。更に、「備える、含む(comprising)」という言葉は、他の要素又はステップを排除するものではない。
【0026】
実施例を用い、添付の概略図を参照しながら、本発明をさらに詳細に説明する。
【図面の簡単な説明】
【0027】
【
図1】カメラによって監視されるシーンの斜視図である。
【
図3】
図2のシステム内のカメラのブロック図である。
【
図4】
図2のシステム内のネットワークビデオレコーダのブロック図である。
【
図5】
図2のシステム内のビットレートコントローラのブロック図である。
【
図6】ビデオレエンコーダの出力ビットレートを制御する方法のフロー図である。
【発明を実施するための形態】
【0028】
図1では、カメラ2によって監視されているシーン1が示される。
図2は、
図1のカメラ2がその一部であるカメラシステム20を示す図である。カメラシステム20は、幾つかのカメラ2、ネットワークビデオレコーダ21、及びディスプレイ23を含むユーザ局22を備える。カメラシステム20は更に、カメラ2をネットワークビデオレコーダ21に接続し、またカメラ2とネットワークビデオレコーダ21とをユーザ局22に接続するネットワーク24を備える。ネットワーク24は有線又は無線であってよく、ネットワーク24はセルラーネットワークであってよい。様々なネットワークの部分が、同じ又は異なるネットワーク技術を使用しうる。例えば、カメラ2は有線を使用してネットワークビデオレコーダ21に接続されていてよく、ユーザ局への接続は無線であってよい。ある使用事例では、ユーザ局22は、カメラ2及びネットワークビデオレコーダ21に地理的に近く、例えば同じ建物内に配置されうる。他の使用事例では、ユーザ局22は遠隔に配置されうる。ある場合には、カメラシステムは、一または複数のカメラが1つの場所、例えばある町の店等に配置され、一または複数の他のカメラが他のどこか、例えば別の町の別の店に位置するように、地理的に分散している。ユーザ局22は、物理的なデバイス又はデバイスのシステムであってよい。例えば、ユーザ局22は、操作員がリアルタイムで、あるいは記録から撮影されたビデオシーケンスを見ることができるコントロールセンターに位置するディスプレイを有するPCであってよい。代替的に、あるいは追加的に、ユーザ局は例えばスマートホン等のモバイル機器であってよい。
【0029】
図3では、簡略化されたカメラ2のブロック図が示される。カメラ2は、レンズ31、画像センサ32、ビットレートコントローラ33、エンコーダ34、ローカルストレージ35、及びネットワークインターフェース36を有する。当業者によって理解されるように、カメラ2は追加の構成要素を有するが、これらは本発明の説明には必要ないため、図面に示さず、更なる説明もしない。カメラ2はレンズ31と画像センサ32によって、シーン1の画像を撮影する。画像はエンコーダ34によって符号化され、符号化された画像フレームのストリームが形成される。後に更に詳しく説明するように、ビットレートコントローラ33は、エンコーダ34の出力ビットレートを制御する。ローカルストレージ35は例えばSDカードであってよく、符号化された画像フレームを局部的にカメラに保存するために使用されうる。カメラ2は、ネットワークインターフェース36を用いて、符号化された画像フレームをネットワークビデオレコーダ21及び/又はユーザ局22に送信しうる。
【0030】
図4では、簡略化されたネットワークビデオレコーダ21の箱図表が示される。ネットワークビデオレコーダ21は、カメラシステム20のカメラ2に接続するための入力部42と、ユーザ局22と接続するための出力部43とを有するネットワークインターフェース41を有する。更に、ネットワークビデオレコーダ21は、記憶装置44とビットレートコントローラ45とを有する。記憶装置44は例えば、ディスクドライブであってよい。カメラ2のビットレートコントローラ33と同様に、ネットワークビデオレコーダのビットレートコントローラ45の機能を後に更に説明する。ネットワークビデオレコーダ21は他の構成要素も有しうるが、これらは本発明の説明には必要ないため、図面に示さず、更なる説明もしない。
【0031】
図5では、簡略化されたビットレートコントローラ51の箱図表が示される。ビットレートコントローラ51は、カメラ2及び/又はネットワークビデオレコーダ21に接続可能なスタンドアロンユニットであってよい。あるいは、ビットレートコントローラ51をカメラ2に統合することができ、これにより
図3に示すビットレートコントローラ33の代わりとなる、又はビットレートコントローラ51をネットワークビデオレコーダ21に統合することができ、これにより
図4に示すビットレートコントローラ45の代わりとなる。ビットレートコントローラ51がどこに配置されているかに関わらず、ビットレートコントローラ51は基本的に同じ構成要素を有していてよく、基本的に同じ方法で動く。したがって、
図5に示すビットレートコントローラ51の以下の説明は、
図3に示すビットレートコントローラ33及び
図4に示すビットレートコントローラ45に対しても有効である。
【0032】
ビットレートコントローラ51は、長期間のビット配分を設定するために配置された配分セッタ52を有する。長期間のビット配分は、ビットレートコントローラ51によって制御されたビデオエンコーダによって少なくとも1日の期間にわたって出力可能なビット数の極限を設定する。上記ビデオエンコーダは、
図3に示すエンコーダ34などのカメラに統合されうる。しかしながら、上記のようなビデオエンコーダは、他の様々なやり方で配置することも可能である。例えば、ビデオエンコーダは、カメラに動作可能に接続された個別のユニットであってよい、あるいは例えば
図4に示すネットワークビデオレコーダ21等のネットワークビデオレコーダに含まれていてもよい。ネットワークビデオレコーダでは、ビデオエンコーダはビデオデータをコード変換するのに使用されうる。したがって、一または複数のカメラから符号化された画像フレームが受信され、ネットワークビデオレコーダのエンコーダで復号され、ネットワークビデオレコーダに保存される前に、あるいはユーザ局へ送信される前にもう1度符号化されうる。コード変換のためのエンコーダは、ユーザ局内に又はユーザ局に配置することも可能である。
【0033】
ビットレートコントローラ51は更に、ビデオエンコーダの出力に対して瞬時ビット制約を決定するように構成されたビット制約決定器53を備える。瞬時ビット制約は、長期間のビット配分よりもかなり短い期間に適用され、例えばビデオエンコーダから送信するために利用可能な帯域幅であってよい。ある用途では、瞬時ビット制約は、例えば瞬時ビット制約を上回るサイズの画像フレームを送信することが不可能であるとき等に厳格なものとなる。他の用途では、瞬時ビット制約は、例えば幾つかのカメラがネットワーク帯域幅を共有し、各カメラにネットワーク帯域幅の公称部分が割り振られているとき等には、もっと柔軟である。上記のような状況では、送信される画像フレームのサイズがネットワーク帯域幅の公称部分を超えたとしても、システム内の他のカメラがそれらの帯域幅の公称シェアを全て使用していない限りは、ビデオエンコーダから画像フレームを送信することが可能でありうる。
【0034】
加えて、ビットレートコントローラ51はビットレート決定器54を含む。ビットレート決定器は、長期間のビット配分に基づいて第1の許容可能なビットレートを決定するように構成される。第1の許容可能なビットレートは、ビデオエンコーダの出力ビットレートに極限を設定して、長期間のビット配分が重んじられるようにする。ビットレート決定器54は、瞬時ビット制約に基づいて第2の許容可能なビットレートを決定するようにも構成される。第2の許容可能なビットレートは、ビデオエンコーダの出力ビットレートに極限を設定して、瞬時ビット制約が重じられるようにする。
【0035】
ビットレートコントローラ51は更に、ビットレート計算機55を備える。ビットレート計算機55は、第1の許容可能なビットレートと第2の許容可能なビットレートに基づいて出力ビットレートを計算するように構成される。したがって、ビットレート計算機55は、ビデオエンコーダによって対応されるべき出力ビットレートを計算し、これには長期間のビット配分、第1の許容可能なビットレート及び第2の許容可能なビットレートが考慮される。長期間のビット配分に準拠するために、各時点において、第1の許容可能なビットレートと第2の許容可能なビットレートのうちの最低のビットレートによって、どの出力ビットレートが計算されるかが決まることになる。ビットレートコントローラ51の制御出力56は、計算された出力ビットレートをビデオエンコーダへ出力するように構成される。このように、好ましい保持時間が保証されうるように長期間のビット配分が重じられるようにするために、また符号化された画像フレームの送信が常に可能となるように利用可能な帯域幅などのビットレートについての短期間の制約もまた重じられるようにするために、使用できる出力ビットレートについてビデオエンコーダに指示することができる。以下に更に説明するように、出力ビットレートは、ビデオエンコーダの制御が動的でありうるように、一定の(又は可能であれば不規則な)時間間隔で再計算されうる。
【0036】
ビットレートコントローラ51は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせにおいて具現化され得る。
【0037】
図6では、ビデオエンコーダの出力ビットレートを制御する方法の一例のフロー図が示される。この方法は例えば、
図5に示すビットレートコントローラ51において実施されうる。
【0038】
図示した例では、長期間のビット配分が設定される(ステップS1)。長期間のビット配分により、少なくとも1日の期間中にビデオエンコーダによって何ビット出力することが可能かが指定される。長期間のビット配分は例えば、利用可能なストレージ容量に基づいて設定されうる。第1の許容可能なビットレートが決定される(S2)。これは様々な方法で決定されうる。簡単なやり方は、保存されたビデオデータに対して好ましい保持時間について決定することと、長期間のビット配分をその保持時間によって割ることである。この方法で、許容可能な平均ビットレートが決定される。第1の許容可能なビットレートは単純な平均として設定されうるが、安全域が使用され、例えば90%の長期間のビット配分を期間によって割り、残りの10%は期間の終了時に調節可能な安全域として残す。履歴データを使用する少し複雑なやり方を後に説明する。第1の許容可能なビットレートは、ビデオエンコーダがどのような入力を受信するかに応じて、異なる方法で表されうる。例えば、第1の許容可能なビットレートは、1秒当たりのビット数として表されうる。
【0039】
瞬時ビット制約も決定される(S3)。瞬時ビット制約は、例えば、符号化された画像フレームを送信するためにエンコーダが接続されるネットワークの利用可能な帯域幅に対応しうる。利用可能な帯域幅は、例えば
図2に示すカメラシステム20等のカメラシステム内の幾つかのカメラによって共有される全帯域幅のうちの割り振られた部分であってよい。瞬時ビット制約は静的であってよい、あるいは全帯域幅のうちの、カメラシステム内の他のカメラが使用する量が変化するため、動的に変化しうる。
【0040】
第2の許容可能なビットレートは、瞬時ビット制約に基づいて決定される(S4)。したがって、第2の許容可能なビットレートは単に、時間単位当たりの利用可能な帯域幅であってよい。ユーザは、さまざまな理由で、低い第2の許容可能なビットレートを設定することを選択することもある。高い第2の許容可能なビットレートを設定すべき場合、これは、時たま、ネットワークの容量を超えたために、エンコーダから符号化された画像フレームを送信することが不可能となりうることを意味することに留意しておくべきである。第1の許容可能なビットレートと同様に、第2の許容可能なビットレートを、例えば1秒当たりのビット数として等、さまざまな方式で表すことができる。
【0041】
長期間のビット配分、第1の許容可能なビットレート及び第2の許容可能なビットレートが決定すると、ビデオエンコーダの出力ビットレートは、長期間のビット配分、第1の許容可能なビットレート、及び第2の許容可能なビットレートに準拠するように制御される(S5)。すでに上記概説において言及したように、第1の許容可能なビットレートと第2の許容可能なビットレートがどのように決定されたかによっては、これらに準拠することが、出力ビットレートが常に第1の許容可能なビットレートと第2の許容可能なビットレートを下回らなければならないことを意味するわけではない。例えば、第1の許容可能なビットレートと第2の許容可能なビットレートは、出力ビットレートが短期間の間これらのうちの1つあるいは両方を超えてもよいように、安全域を設けて決定されていてよい。大抵の場合、第1の許容可能なビットレートと第2の許容可能なビットレートのうちの一方が実際の制限要因となる。したがって、計算された出力ビットレートは各時点で、第1の許容可能なビットレートと第2の許容可能なビットレートのうちの最低のビットレートによって決定されることになる。例えば、セルラーネットワーク等を使用してネットワーク帯域幅が制限されたカメラシステムでは、出力ビットレートが第2の許容可能なビットレート未満に維持されるべき場合、好ましい保持時間の間利用可能なストレージ容量が常に十分であるように、制限要因は利用可能な帯域幅でありうる。他のカメラシステムでは、出力ビットレートが第2の許容可能なビットレートに維持されるべきである、あるいは第2の許容可能なビットレートをほんのわずかだけ下回るべきである場合、利用可能なストレージは好ましい保持時間よりも速く一杯になってしまい、ビデオデータの過度の書き込み及び喪失につながりうるため、利用可能なストレージ容量が代わりに制限要因でありうる。
【0042】
一定の、又は可能であれば不規則な時間間隔で、あらかじめ定められた期間中に何ビットが出力されたかがチェックされうる。時間間隔及び期間は、長期間のビット配分が設定されている期間との関連で選択されうる。例えば、60日の保持時間が好ましい場合、長期間のビット配分は、利用可能なストレージ容量として設定されうる。出力ビット数のチェックは、例えば1時間等の時間間隔に行うことができ、チェックが行われる期間は例えば1日等であってよい。別の例として、1日の時間間隔を使用することができ、観察される期間を60日とすることができる。いずれの方法においても、チェックは時間のスライドウインドウ(sliding window)によって行われる。各チェックにおいて、最近の期間中にエンコーダによって出力されるビット数がチェックされる。
【0043】
例として、30日の期間に対して長期間のビット配分が設定されている。ある時点で、1日の第1の時間間隔の後に、30日のうちの第1の期間中にビデオエンコーダによって何ビットが出力されたかのチェックが行われる。出力ビット数が第1の許容可能なビットレートを第1の限度だけ上回ることが分かった場合、これは、長期間のビット配分に準拠しなくなる危険性があることを意味する。したがって、ビットレートコントローラは、ビデオエンコーダの出力ビットレートが低下するように圧縮パラメータを増加させるようにビデオエンコーダに指示する。ビデオエンコーダによっては、制御可能な様々な圧縮パラメータがある場合がある。ある一般的な圧縮パラメータは量子化パラメータであり、これは、入力画像内のピクセル値を符号化された画像フレーム内の量子化レベルにマッピングするのに使用される量子化ステップの数を決定するものである。量子化パラメータを増加させることでほとんどの場合、ビットレートが低下し、画像品質も低下する。あるエンコーダにおいて制御されうる他の圧縮パラメータは、ピクセルブロックサイズ、画像解像度、GOP長さ、及びフレームレートである。圧縮パラメータを増加させることによって、その後の出力ビットレートは、長期間のビット配分に準拠するように低下しうる。第1の限度は、圧縮パラメータの頻繁すぎる変化によって発生する不必要な振動を避けるように選択されうる。所望する場合、第1の限度は、第1の許容可能なビットレートを上回る全ての偏差が圧縮の増加によって対処されるように、ゼロに設定することができる。圧縮パラメータをどれだけ増加させるべきかを決定する1つの方法は、第1の期間中に出力されたビット数を調べて、圧縮パラメータのどの値のせいで結果的にビット数が第1の許容可能なビットレートを下回ることになったかを計算することである。この計算された圧縮パラメータの値は次に、後続の画像フレームを符号化するのに使用されうる。
【0044】
代わりに、出力ビット数が第1の許容可能なビットレートを第2の極限だけ下回ることが分かった場合、これは、長期間のビット配分に準拠しているが、画像品質の向上の余地がありうることを意味する。したがって、出力ビットレートが高まるように圧縮パラメータが縮小され、これにより長期間のビット配分内で高い画像品質が可能になる。第2の限度は、第1の限度と同じであってよい、あるいは異なっていてよい。
【0045】
出力ビット数が第1の許容可能なビットレートより高くも低くもないことが分かった場合、ビデオエンコーダの圧縮パラメータは変更されないままでありうる。
【0046】
チェックは、ビデオエンコーダが可能な出力ビットレートが動的に再計算されるように、一定の間隔又は不規則な間隔で繰り返し行われうる。
【0047】
すでに上述したように、時々第1の許容可能なビットレートが制限され、時々第2の許容可能なビットレートが制限される。ビデオエンコーダの出力ビットレートはしたがって、常に第2の許容可能なビットレート以下であるように制御されうる。第1の許容可能なビットレートが制限されている状況では、出力ビットレートを第2の許容可能なビットレート未満に維持するのでは十分ではないと考えられうる。上記のような状況では、出力ビットレートは第1の許容可能なビットレート以下にも維持されなければならない。
【0048】
時間間隔を第1の時間間隔と称したが、ビットレート制御方法を実施する全く初めての日又は週などである必要はないことに留意すべきである。「第1の時間間隔」は、特許請求の範囲及び本明細書において容易にそれを指し示しうる単なる手段として「第1の」と称される。チェックは、第1の時間間隔と同じやり方で一定の間隔で繰り返されうる。同様に、「第1の期間」は、単に特許請求の範囲と本明細書の便宜上「第1の」と称される。当然ながら、エンコーダが最初に開始したときは、開始前のビット出力はゼロであり、したがって開始時の結果は信頼性が低くなるために、1か月の期間に対して設定された長期間のビット配分についての毎日のチェックでは最初、前の月の間に出力されたビット数が配分を絶対確実に下回る結果となる。この問題は、チェックについてより短い期間を使用することによって改善されうる。例えば、月のうちのある期間に対して長期間のビット配分が設定されていても、チェックにおいて観察される期間は例えば週、又は日であってよい。更に、本方法をしばらくの間実行した後に、各チェックの前に十分に長い動作時間があることで、全観察期間に実際の出力ビットデータが含まれることになる。
【0049】
上記の通り、長期間のビット配分を配分が設定された期間によって割ることにより、第1の許容可能なビットレートを平均ビットレートとして計算することは、単純で直接的な方法である。それでもやはり、上記の方法では、ほとんどの監視状況において、シーンにおける活動が時間とともに変化することが考慮されない。ある状況では、活動はおおよそ規則的なパターンに従って変化する。例えば、上述したように、1日のうちの特定の時間帯に多くの活動がありうる。勤務日等の特定の日により多くの活動があり、週末等の他の日にはより少ない活動がある場合もある。本発明の方法の変形例において、上記変化の知識を有利に利用することができる。したがって、第1の許容可能なビットレートの決定には、以前に符号化されたビデオシーケンスの出力ビットレートの履歴の変化についての入力を受信することが含まれうる。以前に符号化されたビデオシーケンスが、出力ビットレートが制御されるビデオシーケンスと同じシーンを撮影したものであることが好ましい。しかしながら、別の、好ましくは類似のシーンを撮影している、以前に符号化されたビデオシーケンスから取られた一般的なデータを使用することも可能でありうる。一般的な履歴データを取得することはより簡単でありうるが、第1の許容可能なビットレートを決定するには信頼性が低い入力でありうる。
【0050】
ビットレートの履歴の変化を活用して、単一のビットレート平均を第1の許容可能なビットレートとして使用した場合よりも動的に及び積極的に出力ビットレートを制御することが可能でありうる。1日のうちの特定の時間帯又は週のうちの特定の日には通常活動が少ないことが分かっている場合、活動が予想される時間帯により多くのビットを割り当てることができ、静的シーンの画像にはより少ないビットを消費することができる。出力ビット数のチェックは、上述したのと基本的に同じやり方で行われる。したがって、第1の時間間隔後に、第1の期間中に何ビットが出力されたかがチェックされる。単一の平均ビットレートと同じやり方で、時間のスライドウインドウが使用される。第1の期間中に出力されるビット数が履歴から予想されたビット数を第3の限度だけ上回る場合、ビットレートコントローラは、ビデオエンコーダに、出力ビットレートが低下するように圧縮パラメータを増加するように指示する。こうすれば、長期間のビット配分に準拠しうる。逆に、第1の期間中に出力されたビット数が履歴から予想された数を第4の限度だけ下回った場合、ビットレートコントローラは、ビデオエンコーダに、圧縮パラメータを低下させて出力ビットレートを増加するように指示する。これにより、長期間のビット配分内で画像品質が向上しうる。第3と第4の限度は、上述した第1と第2の限度と同じ目的を果たすことに留意したい。
【0051】
時には、第1の許容可能なビットレートを決定するための入力を行うことができることは、ユーザにとって有益である。このような例は、利用可能なストレージ容量が変化したときである。例えば、ディスクドライブのセットのうちの1つのディスクドライブが壊れているために、利用可能なストレージ容量が減少している場合がある、又は新たに大きいディスクドライブを入手したために、利用可能なストレージ容量が増加している場合がある。ビットレートコントローラは、上記ユーザ入力を受信するように構成されうる。ビットレートコントローラは、予想されるビットレートに影響を与える事象についての入力を受信するようにも構成されうる。例えば、ビットレートを増加させると予想されうるカーニバルが計画される場合がある。上記のような事象を考慮するために、ビデオエンコーダはこれから起こる事象に対して準備するためにしばらくの間出力ビットレートを低減させることで事象の間の使用のためにビットが節約されうるように制御されうる。同様に、保存されたビデオデータの保持時間を延長しなければならず、長期間のビット配分に準拠するために第1の許容可能なビットレートを低減させる必要がある何かが起きる場合がある。これは例えば、犯罪が起きて、科学操作的な使用に利用可能になるように長時間のビデオデータを保存しなければならないときなどに起こりうる。
【0052】
結果として、エンコーダからの出力ビットレートは、出力ビットレート数のチェックが行われる期間におおよそ対応するある周期で振動することになりうる。上記振動を避ける、又は少なくとも低減させるために、一期間以上のチェックを行うことが有益でありうる。例えば、30日の第1の期間だけでなく、15日の第2の期間もチェックされうる。例えば30日の第1の期間及び13日の第2の期間等の、互いの倍数ではない期間を使用することによって、振動の更なる低減を達成することができる。
【0053】
本発明の方法は、コンピュータプログラムを手段として実施され得る。コンピュータプログラムは非一過性コンピュータ可読記憶媒体に記憶されていてよく、処理能力を有するデバイスによって実行されたときに本方法を実行するように適合された命令を含みうる。
【0054】
当業者は、上述の実施形態を多くの方法で修正し、かつ、上記の実施形態で示す本発明の利点をそこでも使用することが可能であることを、理解するであろう。一例として、上記のビットレートコントローラをカメラ又はネットワークビデオレコーダ内に統合されているとして説明してきたが、これを個別のユニットとして配置し、カメラ、カメラのシステム、又はネットワークビデオレコーダに動作可能に接続することも可能である。
【0055】
更に、ビットレートコントローラは、カメラ又はネットワークビデオレコーダに配置されているように説明されている。ある応用では、第2の許容可能なビットレートに基づくビットレート制御がカメラシステム内の各カメラにおいて又はカメラシステム内の各カメラで実施され、また長期間のビット配分と第1の許容可能なビットレートに基づくビットレート制御がネットワークビデオレコーダにおいて又はネットワークビデオレコーダで実施されるように、ビットレートコントローラの機能を分けることが有益な場合がある。
【0056】
説明したカメラとネットワークビデオレコーダはいずれもビットレートコントローラを含んでいるが、カメラ又はネットワークビデオレコーダのいずれかにおいてビットレートコントローラを省略することが可能でありうることに留意すべきである。ビットレート制御が第1の許容可能なビットレートと第2の許容可能なビットレートに基づいて各カメラで局部的に実施された場合、ネットワークビデオレコーダにビットレートコントローラを含む必要はない。同様に、ネットワークビデオレコーダにおいて全面的なビットレート制御法が実施された場合、カメラ内にビットレートコントローラを有する必要がない場合がある。同じように、別々のビットレートコントローラを使用した場合、カメラもネットワークビデオレコーダもビットレートコントローラを含む必要がない。
【0057】
エンコーダによって符号化された画像は、撮影カメラから直接受信されうる、あるいは前もって撮影されており、画像処理ユニットへ送信される前に保存されている場合がある。したがって、画像の直近の供給源は、画像センサ又はデータファイルでありうる。
【0058】
カメラは、可視光を利用するカメラ、NIR(近赤外線)放射を利用するカメラ、又はサーマルカメラなどのいかなる種類のカメラであってもよい。
【0059】
カメラはデジタルカメラだと有利であるが、代わりにデジタル化ユニットに接続されたアナログカメラであってもよい。
【0060】
本発明を、時には偵察カメラとも称される監視カメラを背景に説明してきたが、他のカメラ用途にも生かすことができる。
【0061】
ネットワークビデオレコーダは物理的デバイスとして記載されているが、代わりにクラウドサービスであってもよい。
【0062】
図示したカメラシステムはネットワークビデオレコーダを含んでいるが、ネットワークビデオレコーダなしのカメラシステムを手配することも全く可能である。上記システムにおいては、保存はカメラ内で局部的に行われうる、及び/又はコントロールセンター等で遠隔に行われうる。
【0063】
図に示し上述したカメラ2は、ローカルストレージ35を含む。あるカメラシステムでは、ローカルストレージは唯一のストレージであってよく、他のシステムでは、ローカルストレージはバックアップと冗長性のために使用され得、保存はネットワークビデオレコーダ内、あるいは記憶装置上、又はユーザ局においても行われる。例えば、コントロールセンターには保存用のサーバが配置されていてよい。あるカメラシステムでは、カメラにはローカルストレージが含まれておらず、ネットワークビデオレコーダ又は他の外部ストレージのみを使用する。
【0064】
ビデオのレコーディング又は保存を連続的に実施することが可能であるが、多くの場合、ビデオの動き検出又はPIRセンサ等の警報装置からの入力等の事象によって引き起こされたときにのみビデオを保存することが有益である。このように、関心の対象となる可能性があるビデオシーケンスのみを保存して、シーンに何も起こっていないときのビデオは保存しないことによって、ストレージ容量が節約されうる。
【0065】
符号化された画像フレームはユーザ局へ連続的に送信されうるが、これは引き金となる事象によっても制限されうる。あるビデオシステムでは、符号化された画像フレームは操作員が保存するため及び/又はすぐに見るためにコントロールセンターへ連続的に送信されうる、及びシーンで何かが起こったときにユーザに警告しうるように、引き金となる事象のみに基づいてモバイル機器に追加で送信されうる。
【0066】
カメラのローカルストレージは、いわゆるフェイルオーバーレコーディング用に使用されうる。これは、符号化された画像フレームが通常、カメラから連続的に送信される場合、ネットワークがつながらなくなったときに局部的保存が開始されうる。ネットワーク接続が復旧すると、ローカルストレージに保存されたビデオデータはユーザ局へ送信され得、完全なビデオシーケンスが復元されうる。
【0067】
上記に、エンコーダをカメラの一部として説明した。しかしながら、エンコーダは、その代わりにカメラに動作可能に接続された別々のユニットであってもよい。
【0068】
エンコーダは、動き予測及び動き補正を利用した任意の符号化基準に従って動作しうる。エンコーダは、例えばH.264、H.265又はVP9エンコーダなど、ブロックベースのハイブリッドエンコーダであってもよい。
【0069】
本発明の方法は、非一過性コンピュータ可読記憶媒体に記憶された命令を実行することによって実施されうる。命令は、例えば、中央処理装置(CPU)、グラフィック処理装置(GPU)、集積回路内に実装されるカスタム仕様の処理デバイス、ASIC、FPGA又はディスクリート素子を含む論理回路等の、処理能力を有するいずれかのデバイスによって実行されうる。
【0070】
本発明を、ビデオデータに対して好ましい保持時間を確保するという状況において説明してきた。しかしながら、本発明を他の目的に使用することが可能である。例えば、符号化された画像フレームを送信するためのカメラの帯域幅が制限されている、システム内の幾つかのカメラからのビットレートのピークを分散させるため、本方法及びビットレートコントローラを使用して、送信におけるシフトを制御することができる。上記状況では、「長期間」のビット配分は、利用可能な帯域幅に1時間を乗算したものに対応する例えば1時間等に設定することができ、異なるカメラのうちの幾つかが待機している間に他が送信する等によって、カメラ間で利用可能な「長期間」のビット配分を共有する等のように、異なるカメラを制御することができる。
【0071】
異なる実施形態及び変形例を上記で説明したが、これらは単独のものとして見なすべきではなく、これらの特徴を自由に組み合わせることが可能である。
【0072】
即ち、本発明は示された実施形態に限定されるのではなく、添付の特許請求の範囲によってのみ定義されるべきである。