(57)【要約】      （修正有）【課題】ビデオストリームのエンコード時に、ビデオエンコーダの出力ビットレートを制御するためのコントローラ及び方法を提供する。【解決手段】ビデオストリームがキャプチャされる場所の天気予報データを受信することと、天気予報データに基づいて、ビデオストリームの内容に影響する天気によるビデオエンコーダの出力ビットレートの将来の増大を予測することと、ビデオストリームの圧縮レベルを引き上げ、それによってビデオエンコーダの出力ビットレートの将来の増大を補償することによって、ビデオエンコーダの出力ビットレートを低減する。【選択図】図３
2018201195.tif 000002
【特許請求の範囲】
【請求項１】
ビデオストリームのエンコード時のビデオエンコーダの出力ビットレートの制御方法であって、
前記ビデオストリームがキャプチャされる場所に関する１つ以上の天気関連パラメータを含む天気予報データを受信することと、
前記天気予報データに基づいて、前記ビデオストリームのコンテンツに影響する天気による前記ビデオエンコーダの出力ビットレートの将来の増大を予測することであって、出力ビットレートの将来の増大は、前記１つ以上の天気関連パラメータを所定の閾値と比較することによって予測される、ビデオエンコーダの出力ビットレートの将来の増大を予測することと、
出力ビットレートの将来の増大が予測されているときに、前記ビデオストリームの圧縮時に前記ビデオエンコーダによって適用される圧縮レベルを引き上げることによって前記ビデオエンコーダの前記出力ビットレートを低減し、それによって前記ビデオエンコーダの出力ビットレートの将来の増大を補償すること
を含む、ビデオエンコーダの出力ビットレートの制御方法。
【請求項２】
前記１つ以上の天気関連パラメータは、降雨レベル、降雪レベル、湿度レベル、温度、及び風速のうちの１つ以上を含む、請求項１に記載の方法。
【請求項３】
期間中に前記ビデオエンコーダから出力可能な最大ビット数に相当するビット割当量を設定することと、
前記期間中の前記ビデオエンコーダの出力ビットレートの平均時間変化を表す、先立って収集されたビットレートのデータを受信することと、
前記先立って収集されたビットレートのデータから、前記期間中のある現在時点までに前記ビデオエンコーダから出力された平均のビット数を計算することと、
前記現在時点までに前記ビデオエンコーダから出力されたビット数が、前記現在時点で前記ビデオエンコーダから出力されている前記平均のビット数の計算値を上回った場合に、前記圧縮レベルを引き上げること、及び
前記現在時点までに前記ビデオエンコーダから出力されたビット数が、前記現在時点で前記ビデオエンコーダから出力されている前記平均のビット数の計算値を下回った場合に、前記圧縮レベルを引き下げること
によって、前記圧縮レベルを調整することと、
をさらに含む、請求項１または２に記載の方法。
【請求項４】
前記ビデオストリームの前記圧縮レベルは、前記期間中に定期的に調整される、請求項３に記載の方法。
【請求項５】
前記ビット割当量に従って、前記期間中に前記ビデオエンコーダから出力されるのを待っているビット数と、前記期間の残り時間を常に把握しておくことをさらに含み、
前記ビデオエンコーダの前記出力ビットレートを低減させるステップでは、少なくとも前記期間中に前記ビデオエンコーダから出力されるのを待っている前記ビット数と、前記期間の前記残り時間に基づいて決定される量で、前記圧縮レベルが引き上げられる、
請求項３または４に記載の方法。
【請求項６】
前記量はさらに、前記期間中の前記ビデオエンコーダの出力ビットレートの平均時間変化を表す、前記先立って収集されたビットレートのデータに基づいて決定される、請求項５に記載の方法。
【請求項７】
前記天気予報データは、前記１つ以上の天気関連パラメータによって特定される天気状況がいつの時点で発生するかをさらに表し、予測するステップは、出力ビットレートの将来の増大がいつになるかを予測することを含み、前記出力ビットレートを低減するステップでは、前記ビデオエンコーダの出力ビットレートの予測される前記将来の増大の間、前記ビットレートの前記圧縮レベルが引き上げられている、請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記出力ビットレートを低減させるステップ中、前記先立って収集されたビットレートのデータが所定の閾値を下回っているときに前記ビデオストリームの前記圧縮レベルが引き上げられている、請求項３から７のいずれか一項に記載の方法。
【請求項９】
前記出力ビットレートを低減させるステップ中、前記ビデオストリームの前記圧縮レベルが次の通知までの間引き上げられている、請求項１から７のいずれか一項に記載の方法。
【請求項１０】
前記出力ビットレートを低減させるステップ中、前記ビデオストリーム内の動きのレベルが閾値を下回っているときに前記圧縮レベルが引き上げられている、請求項１から８のいずれか一項に記載の方法。
【請求項１１】
ビデオストリームのエンコード時に、ビデオエンコーダの出力ビットレートを制御するためのコントローラであって、
前記ビデオストリームがキャプチャされる場所に関する１つ以上の天気関連パラメータを含む天気予報データを受信するように構成された受信機と、
前記天気予報データに基づいて、前記ビデオストリームのコンテンツに影響する天気による前記ビデオエンコーダの出力ビットレートの将来の増大を予測するように構成された予測装置であって、出力ビットレートの将来の増大は、前記１つ以上の天気関連パラメータを所定の閾値と比較することによって予測される、予測装置と、
出力ビットレートの将来の増大が予測されているときに、前記ビデオストリームの圧縮時に前記ビデオエンコーダによって適用される圧縮レベルを引き上げることによって前記ビデオエンコーダの前記出力ビットレートを低減し、それによって出力ビットレートの前記将来の増大を補償するように構成された出力ビットレート調整装置と
を備える、コントローラ。
【請求項１２】
ビデオエンコーダ及び、前記ビデオエンコーダの出力ビットレートを制御するための請求項１１に記載のコントローラを備える、ビデオカメラ。
【請求項１３】
処理能力を有するデバイスによって実行されたときに、請求項１から１０のいずれか一項に記載の方法を実施するよう適合したコンピュータコード指令を伴うコンピュータ可読媒体を備える、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はビデオエンコーディングの分野に関する。具体的には、本発明は、ビデオエンコーダの出力ビットレートの制御に関する。
【背景技術】
【０００２】
ビデオカメラは、一般的に監視に用いられている。監視用途においては、ビデオカメラは、シーンを表すビデオストリームをキャプチャすることによって、シーンをモニタリングするように構成されている。ビデオストリームは次に、記憶されるのに先立って、エンコードされる。エンコードされたビデオストリームは、ビデオカメラ自体の中に保存され得るが、典型的には、ネットワーク経由で例えばサーバに送信され、そこで記憶される。例えば強盗の発生といった関心事象がシーン内に生じたことが判明した場合、記憶装置からエンコードされたビデオストリームにアクセスし、ビデオストリームを観て、関心事象の証拠を発見することが可能である。
【０００３】
こうして、上記のビデオカメラのビデオエンコーダは、ある期間中に一定量の記憶されたビデオデータを作成する。記憶スペースが制限要因となる可能性があるため、ビデオエンコーダによって作成されるビデオデータの量、即ちビデオエンコーダの出力ビットレートを制御し、それによって利用可能な記憶スペースを、１週間または１か月といった所定の長さの期間にわたって持ちこたえさせることが関心事であり得る。
【０００４】
同時に、ビデオストリーム内の（上記の例の強盗といった）関心を引く動きによって引き起こされるビットレートのピークはキャプチャする一方で、例えばノイズまたはビデオの画質に負の影響を与える他の要因によって引き起こされるビットレートのピークは抑制するように、ビデオエンコーダの出力ビットレートが変動可能であることは、もちろん、関心事である。例えば、夜間ノイズに備えることは容易であるが、画質に負の影響を与え得る別の要因に、雨、雪、霧、または強風といった天気事象がある。これらの天気事象は通常、ビデオストリームのコンテンツに影響を与え、望ましくないノイズまたは動きをもたらし、それによって、監視のためのさらなる情報を一切提供しないビットレートのピークが発生する。例えば、ある天気事象によって、ビデオエンコーダが１週間または１か月用として割り当てられていたビット数のほとんどを、初日にして既に天気によって生じたビットレートのピークのために費やしてしまい、残存期間用にはビット数がほとんど残らないということが起き得る。
【０００５】
ＵＳ  ２０１５／０３５８５３７  Ａ１を含めて、概して天気データを圧縮と関連付ける従来技術は存在しているが、将来の天気事象によって生じるビットレートのピークを抑制または補償する従来技術の教示は存在しない。したがって、改良の余地がある。
【発明の概要】
【０００６】
上記の観点から、将来の天気事象によって生じるビットレートのピークを抑制または補償することが、本発明の一目的である。
【０００７】
本発明の第１の態様によると、ビデオストリームのエンコード時にビデオエンコーダの出力ビットレートを制御するための方法によって、上記の目的が達成される。方法は、
ビデオストリームがキャプチャされる場所の天気予報データを受信することと、
天気予報データに基づいて、ビデオストリームのコンテンツに影響する天気によるビデオエンコーダの出力ビットレートの将来の増大を予測することと、
ビデオストリームの圧縮レベルを引き上げ、それによってビデオエンコーダの出力ビットレートの将来の増大を補償することによって、ビデオエンコーダの出力ビットレートを低減することとを含む。
【０００８】
この方法によると、ビデオエンコーダの出力ビットレートの将来の増大を予測するために、天気予報データが使用される。ビデオエンコーダの出力ビットレートの将来の増大が予測されている場合、ビデオストリームの圧縮時にビデオエンコーダによって適用される圧縮レベルは、引き上げられる。こうして、ビデオエンコーダの出力ビットレートが低下し、したがって出力ビットレートの将来の増大が補償され得る。圧縮レベルは、現在の圧縮レベルに関連して引き上げられてよい。現在の圧縮レベルは、期間の開始時に設定された公称（ｎｏｍｉｎａｌ）圧縮レベルに対応していてよい。しかし、現在の圧縮レベルは、例えば期間の開始から期間の現時点までの間の期間中といった、期間の開始後に調節された圧縮レベルにもまた対応していてよい。
【０００９】
圧縮レベルという用語は、本書で使用する場合、概してビデオストリームがどれだけ多く圧縮されるかを示す。これは通常、変更され得るビデオエンコーダの１つのパラメータである。例えば、圧縮レベルは、量子化パラメータの形態であってよい。
【００１０】
ビデオストリームのコンテンツという語は、本書で使用する場合、概してビデオストリームのフレームの画像の内容を意味する。雨、雪、霧、または風といった天気は、通常、ビデオストリームのフレーム内にノイズまたは動きをもたらすことによって、ビデオストリームの画像のコンテンツに影響する。
【００１１】
天気予報データは、様々な天気関連パラメータの形態であってよい。天気関連パラメータは、例えばこれらのパラメータを様々な所定の閾値とを比較することによって、天気によって生じる出力ビットレートの将来の増大を予測するために使用されてよい。具体的には、天気予報データは、天気状況を表すパラメータを含んでいてよく、予測するステップでは、パラメータが所定のパラメータ区間の外側に該当する場合には、出力ビットレートの将来の増大が予測される。
【００１２】
ある用途では、ビデオエンコーダの出力ビットレートの制御は、エンコーダから出力されるデータの量を制御し、それによって一定の期間中に出力される総ビット数が一定のレベルを超過しないようにすることを目的としている。言い換えれば、ビデオエンコーダは、一定の期間中に費やしてよいビット割当量（ｂｉｔ  ｂｕｄｇｅｔ）を有していてよい。ここでは天気がビットレートの将来の増大を生じさせることによって表されている予想外のビットコストが発生すると、ビデオエンコーダは、この予想外のビットコストを補償するための措置を講じなければならない。さもなければ、恐らく最後にはビット割当量が超過するであろう。したがって、方法は、ある期間中にビデオエンコーダから出力することが可能な最大ビット数に相当するビット割当量を設定することを含み、出力ビットレートを低減するステップでは、ビット割当量が超過しないように、この期間の少なくとも一部においてビデオストリームの圧縮レベルが引き上げられる。
【００１３】
こうして、天気によって生じたビットレートのピークという形態の予想外のビットコストを補償するために、圧縮レベルが引き上げられ得る。しかし、圧縮レベルは、予想外のビットコストを補償するためだけに引き上げられ得るのではなく、期間の終了時にビット割当量が超過しないことを確実にするため、期間中に繰り返して調整され得る。例えば、本方法は、ビット割当量が超過しないように、期間中にビデオストリームの圧縮レベルを定期的に調整することをさらに含み得る。これは、期間中にそれまで費やされたビット数が予想を上回っていた場合には圧縮レベルを引き上げること、またはそれまで費やされたビット数が予想を下回っていた場合には圧縮レベルを引き下げることを、含み得る。
【００１４】
費やされるビット数の予想は、同じ長さの過去の期間の同じ時点で費やされていたビット数の平均と一致していてよい。この点では、月々の家計と類似していると見てよい。月々の家計には、予想されたコストと予想外のコストがある。予想されたコストは、月末に支払わなければならない家賃に相当し得る。予想外のコストは、予期していなかった水漏れの修理費に相当し得る。通常毎月発生するコストという観点から、予想されたコストに備えることは容易である。一方で、予想外のコストは、対処するのがずっと困難である。それでも、月々の家計は予想されたコストと予想外のコストをどちらもカバーしなくてはならず、予想外のコストが発生した場合には、月末に支払のためのお金が十分にあるように、どうにかして家計の出費を削減しなければならない。
【００１５】
ビデオエンコーダのビット割当量に戻ると、上記で説明したように天気によって生じるビットコストに相当する予想外のコストが存在し、予想されたビットコストもまた存在し得る。家計と同様に、予想されたビットコストと、期間中に予想されたビットコストが生じる時点とは、履歴データから推論され得る。例えば、同じ長さの過去の期間からのビットレートのデータが収集されてよく、これらのデータから、この期間中のビデオエンコーダの出力ビットレートの平均時間変化が計算され得る。こうして計算された平均時間変化曲線は、例えばこの期間内の任意の時点において、期間内のその時点までに生じる平均のビットコストを推定するのに使用され得る。これは、出力ビットレートを制御して、ビット割当量が超過しないことを確実にするのに使用され得る。
【００１６】
より詳細には、本方法は、期間中のビデオエンコーダの出力ビットレートの平均時間変化を表す、先立って収集されたビットレートのデータを受信することと、先立って収集されたビットレートのデータから、期間中のある現在時点までにビデオエンコーダから出力された平均のビット数を計算することをさらに含んでいてよく、圧縮レベルを定期的に調整するステップでは、現在時点までにビデオエンコーダから出力されたビット数が、現在時点でビデオエンコーダから出力されている平均のビット数の計算値を上回った場合に、圧縮レベルが引き上げられ、現在時点までにビデオエンコーダから出力されたビット数が、現在時点でビデオエンコーダから出力されている平均のビット数の計算値を下回った場合に、圧縮レベルが引き下げられる。
【００１７】
先立って収集されたビットレートのデータは、ビデオストリームの公称圧縮レベルを設定するのにも使用されてよい。公称圧縮レベルは、圧縮レベルが調整される、即ち引き上げられるかまたは引き下げられる際の、基準レベルの役割を果たし得る。詳細には、本方法は、
期間中のビデオエンコーダの出力ビットレートの平均時間変化を表す、先立って収集されたビットレートのデータを受信することと、
この期間中に先立って収集されたビットレートのデータに基づいて、この期間中のビット割当量が超過しないようにしてビデオストリームの公称圧縮レベルを設定することと、をさらに含んでいてよく、
ビデオエンコーダの出力ビットレートを低減させるステップ中に、圧縮レベルが前記公称圧縮レベルから引き上げられる。
【００１８】
したがって、上記の公称圧縮レベルは、平均時間変化曲線、即ち予想される将来のコストに基づいて、予想される将来のビットコストがビット割当量で賄われるようにして設定された、圧縮レベルを意味している。公称圧縮レベルは通常、期間の開始時点で設定され、したがって圧縮レベルに関する開始値の役割を果たし得る。
【００１９】
本方法は、ビット割当量に従って、期間中にビデオエンコーダから出力されるのを待っているビット数と、その期間の残り時間とを常に把握しておくことをさらに含んでいてよく、ビデオエンコーダの出力ビットレートを低減させるステップでは、圧縮レベルが、少なくとも期間中にビデオエンコーダから出力されるのを待っているビット数とその期間の残り時間とに基づいて決定される量で、引き上げられる。このように本方法は、常に、期間のうちの残り時間内に費やすためにどれだけのビット数が残されているかと、残り時間とを、常に把握するものであってよい。この情報に基づいて、天気によって生じるビットレートの増大を補償するために圧縮レベルが引き上げられる量が設定されてよい。
【００２０】
この量はさらに、期間中のビデオエンコーダの出力ビットレートの平均時間変化を表す、先立って収集されたビットレートのデータに基づいて決定されてよい。こうして、天気によって生じるビットレートの増大を補償するために圧縮レベルがどれだけ引き上げられるべきかを決定する際に、平均時間変化曲線から推論され得る将来の予想ビットコストもまた、考慮に入れられてよい。
【００２１】
期間のうちで、圧縮レベルが引き上げられる部分は、種々の方法で選択され得る。例えば、期間の少なくとも一部分は、天気予報データに基づいて、ビデオエンコーダの出力ビットレートが将来増大すると予測されている間はビデオストリームの圧縮レベルが引き上げられているようにして、選択されてよい。言い換えれば、圧縮レベルは、その天気が発生すると予測されているときに引き上げられていてよい。
【００２２】
この期間の少なくとも一部分は、期間中のビデオエンコーダの出力ビットレートの平均時間変化を表す、先立って収集されたビットレートのデータに基づいて選択されてもよい。例えば、出力ビットレートの平均時間変化におけるビットレートのピークを捕捉することが重要であると仮定すると、圧縮レベルは、出力ビットレートの平均時間変化においてビットレートのピークが全く存在しないときに引き上げられてよい。こうした一部分は、出力ビットレートの平均時間変化が閾値を下回る時間の部分として特定されてよい。具体的には、この期間の少なくとも一部分は、先立って収集されたビットレートのデータに基づいて、期間のうちで先立って収集されたビットレートのデータが所定の閾値を超過している一部分の間か、または期間のうちで先立って収集されたビットレートのデータが所定の閾値を超過している一部分の間は、ビデオストリームの圧縮レベルが引き上げられているようにして、選択されてよい。
【００２３】
代わりに、ビデオストリームの圧縮レベルは、期間の残りの部分にわたって引き上げられてもよい。こうすれば、天気によって生じるビットレートの増大が、期間の残りの部分にわたって分散される。
【００２４】
さらなる一実施例では、期間のうちの少なくとも一部分は、ビデオストリームのコンテンツに基づいて選択されてよい。例えば、ビデオストリーム内の動きのレベルが閾値を下回っている時間の部分で、圧縮レベルが引き上げられてよい。それによって、ビデオストリーム内の関心を引く部分を引き続き高画質でエンコードすることが確実にされ得る。
【００２５】
本発明の第２の態様によると、ビデオストリームのエンコード時にビデオエンコーダの出力ビットレートを制御するためのコントローラによって、上記の目的が達成される。コントローラは、
ビデオストリームがキャプチャされる場所の天気予報データを受信するように構成された受信機と、
天気予報データに基づいて、ビデオストリームのコンテンツに影響する天気によるビデオエンコーダの出力ビットレートの将来の増大を予測するように構成された予測装置と、
ビデオストリームの圧縮レベルを引き上げ、それによってビデオエンコーダの出力ビットレートの将来の増大を補償することによって、ビデオエンコーダの出力ビットレートを低減するように構成された出力ビットレート調整装置とを含む。
【００２６】
本発明の第３の態様によると、上記の目的は、ビデオエンコーダ及び、このビデオエンコーダの出力ビットレートを制御するための第２の態様によるコントローラを備える、ビデオカメラによって達成される。
【００２７】
本発明の第４の態様によると、処理能力を有するデバイスによって実行されたときに第１の態様の方法を実施するように適合したコンピュータコード命令を伴うコンピュータ可読媒体を備える、コンピュータプログラム製品が提供される。
【００２８】
第２、第３、及び第４の態様は、概して第１の態様と同じ特徴と利点を有していてよい。別様に明記されていない限り、本発明が特徴の可能なすべての組み合わせに関連することは、さらに留意されたい。
【００２９】
本発明の上記の及び追加の目的、特徴、並びに利点は、添付の図面に関連した本発明の実施形態の以下の例示的かつ非限定的な詳細説明を通して、より明確に理解されるであろう。図面では、類似の要素に対して同じ参照番号が使用されている。
【図面の簡単な説明】
【００３０】
【図１】実施形態によるビデオカメラを示す概略図である。
【図２】図１のビデオカメラのビデオエンコーダの出力ビットレートを制御するための、コントローラを示す概略図である。
【図３】実施形態によるビデオストリームのエンコード時に、ビデオエンコーダの出力ビットレートを制御する方法のフロー図である。
【図４】実施形態によるビデオストリームのエンコード時に、ビデオエンコーダの出力ビットレートを制御する方法のフロー図である。
【図５−１】図５ａ及び図５ｂはそれぞれ、時間に応じたビデオエンコーダの出力ビットレートを示す。
【図５−２】図５ｃ及び図５ｄもそれぞれ、時間に応じたビデオエンコーダの出力ビットレートを示す。
【発明を実施するための形態】
【００３１】
ここで、本発明の実施形態を示す添付図面を参照して、本発明をより網羅的に説明する。しかし本発明は、多くの異なる形態で実施することができ、本明細書で説明される実施形態に限定されるものと解釈されるべきではない。これらの実施形態はむしろ、本開示が包括的で完全となるように提供されており、当業者に本発明の範囲を十分に伝えるためのものである。本書で開示されるシステム及びデバイスは、動作中のものが記載される。
【００３２】
図１は、ビデオカメラ１００を示す。ビデオカメラは、センサ１０２、画像パイプライン１０４、及びネットワークインターフェース１１２を備える。
【００３３】
ビデオカメラ１００は、センサ１０２を介してビデオストリームをキャプチャするように構成されている。ビデオストリームは、画像データの一連のフレームからなる。センサ１０２によってキャプチャされたばかりの画像データは、画像生データの形式である。生データ形式の画像データは、フレームごとに、画像パイプライン１０４内を送信される。画像データは、画像パイプライン１０４内で、処理されエンコードされる。この目的のため、画像パイプライン１０４は、画像プロセッサ１０６及びビデオエンコーダ１０８を含む。画像プロセッサ１０６は、当該技術分野で既知の態様によって、フレームの画像生データを様々な処理ステップで処理してよい。処理された画像データは、次に、ビデオエンコーダ１０８によってエンコードされる。
【００３４】
ビデオエンコーダ１０８は、エンコードされたビデオストリームの画像データを、ビットストリームの形態で出力する。ビットストリームは通常、ネットワークインターフェース１１２を介して、ネットワーク経由で、例えばサーバ上に設置されていてよい記憶ユニットに送信される。代わりに、ビデオカメラ１００自体が、エンコードされたビデオストリームを記憶するための記憶装置、典型的には不揮発性メモリの形態の記憶装置を備えていてもよい。
【００３５】
こうして、ビデオエンコーダ１０８はビットストリームを出力する。ビデオエンコーダ１０８がビットを出力するレート、即ちビデオエンコーダ１０８の出力ビットレートは、コントローラ１１０によって制御され得る。コントローラは、ビデオエンコーダ１０８の一部として、または別個のユニットとして実装されてよい。この目的のため、コントローラ１１０は、ビデオエンコーダ１０８に制御信号を送信し得る。制御信号は、具体的には、ビデオエンコーダ１０８にその圧縮レベルを調整するように命令し得る。この点では、圧縮レベルは、例えばＨ．２６４規格の量子化パラメータを指していてよい。代わりに、またはさらに、ビデオエンコーダ１０８のフレームレートを調整することによって、圧縮レベルが調整されてもよい。圧縮レベルが引き上げられるのにつれて、ビデオエンコーダ１０８の出力ビットレートは低減するだろう。逆もまた同様である。
【００３６】
コントローラ１１０及びその構成要素は、図２により詳細に示されている。コントローラ１１０は、受信機１１０１、予測装置１１０２、及び出力ビットレート調節装置１１０３を含む。
【００３７】
このように、コントローラ１１０は、コントローラ１１０の機能を実装するように構成された、様々な構成要素１１０１、１１０２、１１０３を含んでいる。具体的には、図示されている各構成要素は、コントローラ１１０の機能に対応している。概して、コントローラ１１０は、構成要素１１０１、１１０２、１１０３を実装するように、より具体的にはそれらの機能を実装するように、構成された回路を含んでいてよい。
【００３８】
ハードウェアの実装では、構成要素１１０１、１１０２、１１０３のそれぞれは、その構成要素の機能を提供することに特化しそのために具体的に設計された、回路に対応していてよい。この回路は、１つ以上の特定回路向け集積回路といった、１つ以上の集積回路の形態であってよい。例として、出力ビットレート調節装置１１０３は、使用されたときに、圧縮レベルを引き上げることによってビデオエンコーダの出力ビットレートを低減させる、回路を備えていてよい。
【００３９】
ソフトウェア実装においては、回路は、代わりにマイクロプロセッサといったプロセッサの形態であってもよい。このプロセッサは、非揮発性メモリといった（非一過性）コンピュータ可読媒体上に記憶されたコンピュータコード命令と協働して、本書で開示される任意の方法をコントローラに実行させる。このケースでは、構成要素１１０１、１１０２、１１０３は、プロセッサによって実行されたときにコントローラ１１０にその構成要素の機能を実行させる、コンピュータ可読媒体上に記憶されたコンピュータコード命令の一部に、それぞれ対応していてよい。
【００４０】
ハードウェア実装とソフトウェア実装を組み合わせること、即ち、構成要素１１０１、１１０２、１１０３のうちのあるものが持つ機能はハードウェアで実装され、他のものが持つ機能はソフトウェアで実装される、ということもまた可能であることは、理解されるべきである。
【００４１】
コントローラの操作は、図１及び図２、並びに図３のフロー図を参照して、以下で説明される。
【００４２】
ステップＳ３０２では、受信機１１０１が、天気予報データを受信する。天気予報は、ビデオストリームがキャプチャされる場所に関するもの、即ちビデオカメラ１００の場所に関するものである。天気予報データは、ネットワークインターフェース１１２を介してネットワークから受信されてよい。例えば、天気予報データは、インターネットベースの天気予報サービスから受信されてよい。
【００４３】
天気予報データは、概して、ビデオカメラ１００の場所における将来の天気を表す。例えば、天気予報データは、１つ以上のパラメータの形態であってよい。これは、降雨レベル、降雪レベル、湿度レベル、温度、及び／または風速を含み得る。これらのパラメータは、単独で、または合わせて、ビデオカメラ１００の場所における天気状況を表し得る。例えば、降雨レベルは降雨を表し、降雪レベルは降雪を表し、湿度レベルは温度と合わせて霧を表し、風速は風を表す。天気予報データは、１つ以上のパラメータで特定される天気状況がいつの時点で発生するか、もまた示し得る。
【００４４】
ステップＳ３０４では、予測装置１１０２が、天気予報データに基づいて、ビデオエンコーダ１１０の出力ビットレートの将来の増大を予測する。ビデオカメラ１００が屋外に設置されている屋外のシチュエーションでは、望ましくないノイズや動きがビデオストリーム内にもたらされるといったように、様々な天気状況がビデオストリームのコンテンツに影響を与えるであろう。例えば、雨または雪が降ることによって画像中のノイズのレベルが上昇するであろうし、激しい風によってシーン内の枝や葉が動き得る。こうしたノイズ及び動きは、監視の観点からは望ましくない。なぜならば、これらによって追加されるさらなる監視情報は何もないからである。それでもなお、天気状況によって生じるノイズまたは動きがビデオストリーム内に存在し、それによって出力ビットレートは増大する。なぜならば、ノイズ及び動きは、エンコードのコストが高いからである。
【００４５】
上記のように、天気予報データはカメラ１００の場所の将来の天気状況を表す。したがって、ビデオエンコーダ１０８の出力ビットレートが増大するであろうことを予測するために、そしていつ増大するかを予測するためにさえも、用いられ得る。例えば、予測装置１１０２は、天気予報データの１つ以上のパラメータをある所定のパラメータ区間と比較して、このパラメータが所定のパラメータ区間の中に該当するか外に該当するかを確認し得る。所定のパラメータ区間の外側に該当したパラメータは、画像データに影響する天気状況が起き、それによって最後には出力ビットレートの増大が起きるであろうということを、表す役割を果たしてよい。その結果、１つのまたは数個のパラメータが所定のパラメータ区間の外に該当した場合、予測装置１１０２は、出力ビットレートの将来の増大を予測し得る。
【００４６】
上記のように、ビデオストリームの画像コンテンツに影響する天気による出力ビットレートの将来の増大が予測装置１１０２によって予測されると、本方法はステップＳ３０６に進む。出力ビットレート調整装置１１０３は、ステップＳ３０６で、出力ビットレートの予測される将来の増大を補償するための措置を講ずる。詳細には、出力ビットレート調整装置１１０３が、ビデオエンコーダ１０８の圧縮レベルを引き上げる決定を行う。出力ビットレート調整装置１１０３は、例えば、ビデオエンコーダ１０８が圧縮レベルを引き上げるべきという制御信号を、ビデオエンコーダ１０８に送信してよい。例えば、ビデオエンコーダ１０８の量子化パラメータを引き上げることができる。代わりに、またはさらに、エンコードされたビデオストリームのフレームレートを引き下げることもできる。その結果、ビデオエンコーダ１０８の圧縮レベルが引き上げられたとき、出力ビットレートは低減されるであろう。こうして、天気状況によるビットレートの予想された増大が補償され得る。好ましくは、天気状況によるビットレートの増大が完全に補償されるようにして、圧縮レベルが引き上げられる。
【００４７】
出力ビットレート調整装置１１０３は、直ちに、即ち悪天候状況が予測されるや否や、圧縮レベルを引き上げるように、ビデオエンコーダ１０８を制御してよい。しかし、出力ビットレート調整装置１１０３は、この天気状況が発生することが予想されるとき、即ち出力ビットレートの将来の増大が予測されている間は、圧縮レベルを引き上げているようにも、ビデオエンコーダ１０８を制御してよい。圧縮レベルの引き上げは、次の通知までであってよいか、または一時的であってよい。即ち、期限付きであってよい。例えば、圧縮レベルの引き上げは、天気状況によるビットレートの増大が発生すると予測されている期間中にのみ適用されるように、制限されてよい。さらに別のオプションでは、圧縮レベルが引き上げられているべき期間は、ビデオストリーム内の動きのレベルといった、ビデオストリームのコンテンツに基づいて選択されてよい。より詳細には、コントローラ１１０は、エンコードされるビデオストリームに、例えばビデオエンコーダ１０８を介して、アクセスを有していてよい。次に、出力ビットレート調整装置１１０３が、例えば、ビデオストリーム内の動きのレベルがある閾値を下回っている期間中は、圧縮レベルを引き上げているように決定してよい。
【００４８】
圧縮レベルの引き上げ量は、概して、予想される天気状況の過酷さに依存する。天気が「より激しい」ほど、圧縮レベルはより大きく引き上げられなければならない。しかし実際には、これもまたカメラの場所に依存するのであり、特定の場所にあるカメラにとって適切な圧縮レベルの引き上げ量を見つけるためには、経験的テストが必要なのである。例として、カメラは天気の影響をほとんど受けない保護された地点に取り付けられていてよく、または、かなり穏やかな天気であっても画像の内容とその結果としてのビットレートに対して大きな影響を有する、開水域上の橋梁上といった露出した場所にあってもよい。このように、天気によって生じるビットレートの将来の増大を補償するために、圧縮レベルをどれだけ引き上げなければならないかを知るためには、カメラの、天気からの影響の受けやすさがテストされなければならない。
【００４９】
図１に関連して示されるとおり、エンコードされたビデオストリームが記憶されてよい。あるシチュエーションでは、特定量の記憶スペースのみが利用可能であり、１日、１週間、または１か月といった所定の量の時間にわたって、この利用可能な記憶スペースが持ちこたえるのが望ましい。言い換えれば、ある期間中にビデオエンコーダ１０８から出力可能な最大ビット数を規定する、特定のビット割当量が存在してよい。こうしたシチュエーションでは、コントローラ１１０は、天気によって生じるビットレートのピークを補償するためにビデオエンコーダ１０８の出力ビットレートを制御すべきであるだけでなく、圧縮レベルを調整することによって、ビット割当量が超過しないようにさらに出力ビットレートを制御すべきなのである。図３に関連して記載される方法もまた、こうした状況の文脈において実装されてよい。このことは、図１及び図２、図５ａ−ｄ、並びに図４のフロー図を参照して、以下でより詳細に説明される。
【００５０】
ステップＳ４０２では、ある期間に対するビット割当量が設定される。ビット割当量は、ある期間Ｔ中にビデオエンコーダ１０８から出力可能な最大ビット数に相当する。ビット割当量は、典型的には、ネットワークインターフェース１１２及び受信機１１０１を介してコントローラ１１０に送信されてよい、入力パラメータである。ビット割当量は、利用可能な記憶装置の容量と、所望の保持時間に基づいていてよい。
【００５１】
ステップＳ４０４では、コントローラ１０１は、受信機１１０１を介して、先立って収集されたビットレートのデータを受信し得る。先立って収集されたビットレートのデータは、期間Ｔ中のビデオエンコーダ１０８の平均出力ビットレートの時間変化を表す曲線の形態であってよい。こうした曲線は、過去における複数の週からのビットレートのデータといった、過去における複数の期間Ｔからの出力ビットレートのデータを収集し、この複数の期間に対する平均を計算することによって、計算され得る。こうした曲線５００の一例が、図５ａに示されている。したがって、曲線５００の下の領域、即ちこの曲線の時間積分は、期間Ｔ中に出力された平均ビット数である。期間Ｔ中に出力される平均ビット数は、ビット割当量によって可能になっている最大出力ビット数以下であるとみなされている。この意味では、曲線５００は、利用可能なビット割当量を経時的に分散したものと見られてよい。同様に、時点ｔ＿０までのこの曲線の積分は、時点ｔ＿０までに出力された平均ビット数である。言い換えれば、曲線５００から、特定の時点より前に出力されたビット数の予想値が計算され得る。
【００５２】
先立って収集されたビットレートのデータは、圧縮レベルに関する基準レベル、即ち参照レベルの役割を果たし得る、公称圧縮レベルを設定するためにもまた使用されてよい。次に、圧縮レベルは、例えば以下に示すステップＳ４０６及びＳ４１２で、公称圧縮レベルに関連して調整されてよい。好ましくは、公称圧縮レベルは、期間の開始時点で設定され、したがって圧縮レベルに関する開始値として見られてよい。公称圧縮レベルは、先立って収集されたビットレートのデータに基づいて設定されてよい。より詳細には、先立って収集されたビットレートのデータは、この先立って収集されたビットレートのデータの生成時にビデオエンコーダ１０８によって使用された圧縮レベルに関連付けられてよい。先立って収集されたビットレートのデータが所望のビット割当量の範囲内に収まらないことが判明した場合、例えば曲線５００の下の領域がビット割当量を超過した場合には、公称圧縮レベルは、先立って収集されたビットレートのデータに関連する圧縮レベルよりも高いはずであり、その逆もまた同様である。実際には、ビットレートのデータは、様々な圧縮レベルに関して収集されてよく、それに基づいて、所望のビット割当量を超過しないビットレート曲線に関連する圧縮レベルに一致するようにして、公称圧縮レベルが設定されてよい。
【００５３】
ステップＳ４０６では、出力ビットレート調整装置１１０３が、ビデオストリームの圧縮レベルを調整する。より詳細には、出力ビットレート調整装置１１０３は、期間Ｔ中に、圧縮レートを定期的に調整し得る。例えば、期間Ｔが１日（２４時間）に相当した場合、圧縮レートは、１時間ごとに更新されてよい。具体的には、圧縮レートは、期間Ｔの終了時にビット割当量が超過しないことを確実にするようにして調整されてよい。この目的のため、出力ビットレート調整装置は、ビデオエンコーダ１０８からの入力を介して、期間中に費やされるビット数を常に把握してよい。出力ビットレート調整装置１１０３は、次に、時点ｔ＿０においてビデオエンコーダ１０８から実際に出力されたビット数を、例えば時点ｔ＿０における予想出力ビット数と比較してよい。上記のように、後者は、図５ａの曲線５００を時点ｔ＿０まで積分することによって得られてよい。エンコーダ１０８から出力されるビット数が予想出力ビット数よりも大きい場合、出力ビットレート調整装置１１０３は、圧縮レベルを引き上げてよい。エンコーダ１０８から出力されるビット数が予想出力ビット数よりも小さい場合、出力ビットレート調整装置１１０３は、圧縮レベルを引き下げてよい。
【００５４】
一般的に、圧縮レベル量の調整は、当該技術分野で既知のとおり、種々の方法で行われ得る。例えば、調整の規模がエンコーダから出力された実際のビット数と予想出力ビット数との差分に比例する、比例制御ストラテジーが使用され得る。
【００５５】
定期的に圧縮レベルを調整することへの代替または補足として、圧縮レベルは、実際に出力されたビット数と予想出力ビット数との差が閾値量よりも大きいことが分かった場合に、調整されてもよい。
【００５６】
ステップＳ４０８で、天気予報データは、図３のステップＳ３０２に関連して記載された内容に従って受信される。天気予報データは、期間Ｔ内の任意の時点で受信されてよい。図５ａの例では、天気予報データは、時点ｔ＿１で受信されたものとみなされている。
【００５７】
ステップＳ４０６とＳ４０８には特定の順序が存在しないことは、留意されたい。一方で、ステップＳ４０６の調整は、例えば期間Ｔ中に定期的に（図５ａの時点ｔ＿０、２ｔ＿０、３ｔ＿０．．．で）といったように、期間Ｔ中の様々なときに実行される。他方では、ステップＳ４０８は、例えば図５ａの時点ｔ＿１といったように、期間Ｔ中の任意の時点で発生してよい。実際、圧縮レベルの調整はステップＳ４０８によってトリガされてよい（下記ステップＳ４１０、Ｓ４１２参照）。この調整は、ステップＳ４０６に記載の定期的な修正に加えて行われるものである。
【００５８】
続いてステップＳ４１０では、予測装置１１０２は、図３のステップＳ３０４に関連した記載に従って、天気予報データに基づいて出力ビットレートの将来の増大を予測する。図５ａの実施例を参照すると、出力ビットレートは、ビデオストリーム内のコンテンツに影響する天気のせいで、破線曲線５０２にまで引き上げられると予測されている。
【００５９】
続いてステップＳ４１２では、出力ビットレート調整装置１１０３は、天気によって生じる出力ビットレートの予想される増大を補償し、それによって最終的にビット割当量がキープされることを確実にするために、圧縮レベルを引き上げる。これは、図３のステップＳ３０６に関連して記載されたものにしたがっている。
【００６０】
一般的に、出力ビットレート調整装置１１０３は、期間Ｔの少なくとも一部分で圧縮レベルを引き上げている。しかし、出力ビットレート調整装置１１０３は、予想される出力ビットレートの増大を補償するために圧縮レベルを引き上げる時期の選択に関して、種々のストラテジーを有し得る。１つのストラテジーによると、出力ビットレートの増加が予測されている間、圧縮レベルが引き上げられている。言い換えると、圧縮レベルを引き上げている期間は、天気予報データに基づいて選択される。これは、図５ｂの一点鎖線５０４によって示されている。図５ｂは、このケースに関する最終の出力ビットレートを示している。別のストラテジーによると、圧縮レベルは、期間Ｔの残り部分の間、引き上げられている。これは、図５ｃの一点鎖線曲線５０６によって示されている。さらに別のストラテジーによると、圧縮レベルは、平均ビットレート曲線５００に基づいて選択された期間Ｔのある一部分の間、引き上げられている。より詳細には、平均ビットレート曲線が閾値を下回っているときに、圧縮レベルが引き上げられていてよい。これは、図５ｄの一点鎖線５０８によって示されている。図５ｄは、このケースに関する最終の出力ビットレートを示している。閾値は、Ｂによって示されている。さらに別のストラテジーによると、例えばビデオストリーム内の動きのレベルが閾値を下回っているときに、圧縮レベルがビデオストリームのコンテンツに基づいて引き上げられている。
【００６１】
ステップＳ４１２で圧縮レベルの引き上げ量を設定するのに、種々の手法が存在し得る。使用されるコーデックといった様々なものが、圧縮レベルと出力ビットレートの間の関係に影響を与える。上記でさらに説明したように、天候の過酷さとカメラの場所もまた、どれだけ圧縮レベルを引き上げるべきかに影響を与える。したがって、種々のシナリオ中の種々のカメラについて、圧縮レベルが出力ビットレートにどのような影響を与えるかを測定するためには、一定のテストが要求される。しかし、ステップＳ４１２で圧縮レベルが十分に引き上げられなかったと判定された場合は、ステップＳ４０６における定期的な調整によって圧縮レベルのさらなる引き上げがなされてよいこともまた、想起されるべきである。反対に、ステップＳ４１２で圧縮レベルの引き上げ量が多すぎた場合には、ステップＳ４０６で実施される通常の調整によって、圧縮レベルがまた引き下げられてよい。したがって、この点では、本システムは自動調整式である。しかし、Ｓ４１２で圧縮レベルを引き上げる際には、残存しているビット割当量と期間中の残り時間とを考慮することが賢明であり得る。圧縮レベルの引き上げ量は、典型的に、残り時間がわずかに過ぎない場合には、残り時間がより長い場合に比べて、より高いはずである。なぜならば、天気によって生じるビットレートの増大が、比較的短時間で補償されなければならないからである。同様に、圧縮レベルの引き上げ量は、典型的に、費やされるビット数がわずかしか残っていない場合には、費やされるビット数がより多く残っている場合に比べて、より大きい必要がある。なぜならば、このシチュエーションでは、天気によって生じるビットレートの増大に対して費やす予備のビットレートが残っていない可能性が高いからである。
【００６２】
引き上げの量は、さらに、先立って収集されたビットレートのデータの曲線５００に基づいて決定されてよい。こうして、天気によって生じたビットレートの増加を補償するために圧縮レベルがどれだけ引き上げられるべきかを決定する際に、平均時間変化曲線から推論され得る将来の予想ビットコストもまた、考慮に入れられてよい。例えば、期間の残りの部分に関する予想ビットコストが、費やされる残存ビット数に対して高い場合には、典型的には、圧縮レベルの引き上げが、期間の残りの部分に関する予想ビットコストが費やされる残存ビット数に対して低い場合に比べて、より高い必要がある。言い換えれば、残存ビット割当量と残りの予想ビットコストとを比較することによって、将来の天気によって生じるビットレートの増大のためにどれだけ多くのビット数が費やされ得るかが決定されてよい。天気によって生じるビットレートの増大をカバーするのに十分な残存ビット数が残されていないことが判明した場合、圧縮レベルは引き上げられるべきである。圧縮レベルの引き上げ量は、出力ビットレートの低減に相当する量によって、天気によって生じるビットレートの増大が残存するビット割当量で賄われるのが確実になるようにして、設定される。
【００６３】
当業者が、上記の実施形態を多数の方法で修正でき、その上でなお上記の実施形態で示された本発明の利点を利用できることは、理解されるであろう。従って、本発明は、図示した実施形態に限定されるべきではなく、添付の特許請求の範囲によってのみ限定されるべきである。さらに、当業者に理解されるとおり、示されている実施形態は組み合わされてよい。
【図１】
2018201195.tif 000003
【図２】
2018201195.tif 000004
【図３】
2018201195.tif 000005
【図４】
2018201195.tif 000006
【図５−１】
2018201195.tif 000007
【図５−２】
2018201195.tif 000008
【外国語明細書】
2018201195000001.pdf
2018201195000002.pdf
2018201195000003.pdf
2018201195000004.pdf