IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アクシス アーベーの特許一覧

特許7020873ビデオエンコーディングのための方法及びエンコーダ
<>
  • 特許-ビデオエンコーディングのための方法及びエンコーダ 図1
  • 特許-ビデオエンコーディングのための方法及びエンコーダ 図2
  • 特許-ビデオエンコーディングのための方法及びエンコーダ 図3
  • 特許-ビデオエンコーディングのための方法及びエンコーダ 図4
  • 特許-ビデオエンコーディングのための方法及びエンコーダ 図5
  • 特許-ビデオエンコーディングのための方法及びエンコーダ 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-07
(45)【発行日】2022-02-16
(54)【発明の名称】ビデオエンコーディングのための方法及びエンコーダ
(51)【国際特許分類】
   H04N 19/126 20140101AFI20220208BHJP
   H04N 19/154 20140101ALI20220208BHJP
   H04N 19/176 20140101ALI20220208BHJP
【FI】
H04N19/126
H04N19/154
H04N19/176
【請求項の数】 10
【外国語出願】
(21)【出願番号】P 2017218711
(22)【出願日】2017-11-14
(65)【公開番号】P2018113671
(43)【公開日】2018-07-19
【審査請求日】2020-08-17
(31)【優先権主張番号】16199449.6
(32)【優先日】2016-11-18
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】502208205
【氏名又は名称】アクシス アーベー
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林特許業務法人
(72)【発明者】
【氏名】エドパルム, ヴィクトル
(72)【発明者】
【氏名】トーレソン, アレクサンデル
【審査官】坂東 大五郎
(56)【参考文献】
【文献】国際公開第2009/157581(WO,A1)
【文献】特開2009-071700(JP,A)
【文献】特開2002-204449(JP,A)
【文献】特開平08-130479(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
エンコード対象のビデオの現在のデジタル画像フレーム中のピクセルを表わす情報を受信することと、
前記現在のデジタル画像フレーム中の隣接するピクセルグループの各グループに対してピクセルのピクセル値の平均または和を算出して、隣接する各ピクセルグループ中のピクセルのピクセル値の算出された平均または和として隣接する各ピクセルグループのグループ値を形成することと、
第1の所定の量子化ステップを含む利用可能な量子化ステップの組を決定することと
を含むビデオエンコーディングの方法であって、
隣接する第1のピクセルグループに関して前記方法は、
利用可能な各量子化ステップに対して、前記第1のピクセルグループの前記グループ値を前記利用可能な量子化ステップの各々で除算した後の剰余を算出することと、
最小剰余をもたらす組の量子化ステップを選択された量子化ステップとして選択することと、
前記選択された量子化ステップを使用して前記第1のピクセルグループをエンコードすることと
を含むビデオエンコーディングの方法。
【請求項2】
エンコード対象のビデオの現在のデジタル画像フレーム中のピクセルを表わす情報を受信することと、
前記現在のデジタル画像フレーム中の隣接するピクセルグループの各グループに対してピクセルのピクセル値の平均または和を算出して、隣接する各ピクセルグループ中のピクセルのピクセル値の算出された平均または和として隣接するピクセルの各グループのグループ値を形成することと、
第1の所定の量子化ステップを含む利用可能な量子化ステップの組を決定することと
を含むビデオエンコーディングの方法であって、
隣接する第1のピクセルグループに関して前記方法は、
前記第1のピクセルグループの前記グループ値と参照フレーム中の参照ピクセルグループの対応するグループ値との間のグループ値差分を算出することと、
各利用可能な量子化ステップに対して、前記グループ値差分を前記利用可能な量子化ステップの各々で除算した後の剰余を算出することと、
最小剰余をもたらす組の量子化ステップを選択された量子化ステップとして選択することと、
前記選択された量子化ステップを使用して前記第1のピクセルグループをエンコードすることと
を含むビデオエンコーディングの方法。
【請求項3】
前記参照フレームは、先行してエンコードされデコードされた画像フレームである、請求項2に記載の方法。
【請求項4】
前記利用可能な量子化ステップの組は、所定の量子化ステップと、前記所定の量子化ステップよりも大きい少なくとも1つのより大きな量子化ステップとを含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記利用可能な量子化ステップの組は、所定の量子化ステップと、前記所定の量子化ステップよりも小さい少なくとも1つのより小さな量子化ステップとを含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
2つ以上の利用可能な量子化ステップが、除算後に等しい小さな剰余をもたらす場合には、2つ以上の量子化ステップのうち最大のものが選択された量子化ステップとして選択される、請求項1から5のいずれか一項に記載の方法。
【請求項7】
エンコード対象のビデオの現在のデジタル画像フレーム中のピクセルを表わす情報を受信するように構成された受信モジュールと、
前記現在のデジタル画像フレーム中の隣接するピクセルグループの各グループに対してピクセルのピクセル値の平均または和を算出して、隣接する各ピクセルグループ中のピクセルのピクセル値の算出された平均または和として隣接する各ピクセルグループのグループ値を形成するように構成されたグループ値モジュールと、
第1の所定の量子化ステップを含む利用可能な量子化ステップの組を決定するように構成されたステップの組決定モジュールと、
第1のピクセルグループのグループ値を前記利用可能な量子化ステップの各々で除算した後の各剰余を算出するように構成された計算モジュールと、
最小剰余をもたらす前記利用可能な量子化ステップの組の中の前記量子化ステップを選択された量子化ステップとして選択するように構成された選択モジュールと、
前記選択された量子化ステップを使用して前記第1のピクセルグループをエンコードするように構成されたエンコードモジュールと
を含むビデオエンコーディングのためのエンコーダシステム。
【請求項8】
エンコード対象のビデオの現在のデジタル画像フレーム中のピクセルを表わす情報を受信するように構成された受信モジュールと、
前記現在のデジタル画像フレーム中の隣接するピクセルグループの各グループに対してピクセルのピクセル値の平均または和を算出して、隣接する各ピクセルグループ中のピクセルのピクセル値の算出された平均または和として隣接する各ピクセルグループのグループ値を形成するように構成されたグループ値モジュールと、
第1のピクセルグループのグループ値と参照フレーム中の参照ピクセルグループの対応するグループ値との間のグループ値差分を算出するように構成された差分モジュールと、
第1の所定の量子化ステップを含む利用可能な量子化ステップの組を決定するように構成されたステップの組決定モジュールと、
第1のピクセルグループのグループ値差分を前記利用可能な量子化ステップの各々で除算した後の各剰余を算出するように構成された計算モジュールと、
最小剰余をもたらす前記利用可能な量子化ステップの組の中の前記量子化ステップを選択された量子化ステップとして選択するように構成された選択モジュールと、
前記選択された量子化ステップを使用して前記第1のピクセルグループをエンコードするように構成されたエンコードモジュールと
を含むビデオエンコーディングのためのエンコーダシステム。
【請求項9】
プロセッサによって実行されたときに請求項1から6のいずれか一項に記載の方法を実行するように適合された命令を含むコンピュータ可読記憶媒体を備える、コンピュータプログラム製品。
【請求項10】
請求項7又は8に記載のエンコーダシステムを備えるカメラ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はデジタルビデオデータのエンコーディングに関し、より具体的には量子化を採用したエンコーディングに関する。
【背景技術】
【0002】
ネットワークカメラ監視システムなどのデジタルビデオシステムでは、ビデオシーケンスは、様々なビデオエンコーディング方法を使用して、伝送前に圧縮される。多くのデジタルビデオエンコーディングシステムでは、ビデオフレームのシーケンスのビデオフレームを圧縮するため、2つの主要なモード(イントラモード及びインターモード)が使用される。イントラモードでは、予測、変換、及びエントロピーコーディングを介して、単一のフレームの所定のチャネル内のピクセルの空間的な冗長性を利用することによって、輝度チャネル及び色度チャネルがエンコードされる。エンコードされたフレームはイントラフレームと呼ばれるが、Iフレームと称されることもある。イントラフレーム内では、マクロブロック、コーディングユニット又はコーディングツリーユニットとも称されるピクセルブロックはイントラモードでエンコードされるが、これはブロックが同一画像フレーム中で同様のブロックを参照してエンコードされるか、まったく参照なしで未加工のままコード化されることを意味する。一方、インターモードは、別々のフレーム間の一時的な冗長性を利用し、選択されたピクセルブロックについて1つのフレームから別のフレームへのピクセルの動きをエンコードすることによって、一又は複数の先行フレームからのフレームの一部を予測する、動き補償予測技術に依存する。エンコードされたフレームはインターフレームと称され、デコードの順において先行フレームを意味するPフレーム(前方向予測フレーム)と称されること、或いは、2つ以上先行してデコードされるフレームを意味するBフレーム(両方向予測フレーム)と称されることがあり、予測に用いられるフレームの任意の表示順序(display-order)関係を有することができる。インターフレーム内では、マクロブロックとも称されるピクセルブロックは、インターモード(先行してデコードされた画像内の同様のブロックを参照してエンコードされることを意味する)又はイントラモード(同一画像フレーム内で同様ブロックを参照してエンコードされるか、まったく参照なしで未加工のままコード化されることを意味する)でエンコードされうる。
【0003】
両エンコーディングモードでは、通常量子化が行われる。一般的に、マクロブロックのピクセル値は離散コサイン変換(DCT)を受け、これによってマクロブロックのピクセル値は周波数ドメインに変換される。DCT係数はその結果、量子化される。量子化は、広範囲の値を取りうる入力値を、計数しうる数の離散的な値又はレベル、いわゆる量子化レベルにマッピングすることを示唆する。量子化での1つのレベルから次のレベルまでのステップサイズは、量子化ステップと称されることがある。量子化を実行することによって、量子化されたデータは、非量子化入力値を表わすのに必要とされるビット数よりも少ないビット数で表わすことができる。例えば、H.264規格準拠のコーデックでは、量子化は量子化パラメータ(略して、QP)と呼ばれる圧縮値によって制御される。
【0004】
入力値が、数少ない量子化レベルに、言い換えるならば大きな量子化ステップだけにマッピングされる場合には、より多くの量子化レベルが使用される場合よりも、量子化されたデータを表わすのに必要なビット数は少なくなる。したがって、ビデオエンコーダの出力ビットレートを引き下げようとする場合には、適切な圧縮値を選択することによって、量子化レベルの数は引き下げられうる。言い換えるならば、量子化ステップのサイズは大きくなりうる。しかしながら、量子化は非可逆的なため、圧縮は劣化を伴い、使用される量子化レベルの数が少なくなるほど、より多くの情報が失われる。したがって、高い圧縮値(量子化レベルが少ないことを示唆する)が使用される場合には、エンコードされたビデオの品質は一般的に低くなる。
【0005】
エンコーディングは多くの場合、一定ビットレート(CBR)、最大ビットレート(MBR)、又は可変ビットレート(VBR)を採用しうるレートコントローラによって制御される。CBRは、キャプチャしたシーンで何が起こっても、常に同一ビットレートを出力しようとするエンコーダを意味する。帯域幅が限られている場合、シーン内に動きがあると画質の低下につながるが、画像が静止している場合には高品質な画像になる。調査又は監視を行う状況では、普通であれば静止シーンよりも動きのあるシーンがより注目されるため、これは一般的に有用ではない。MBRでは、ビットレートは、設定されたビットレート限界を超えない限り、変えることができる。このアプローチに関連する問題は、CBRに関連する問題と同様である。MBR限界値が低すぎる値に設定されると、動きのあるシーンの画像は低品質になりうる。しかしながら、限界値がより高く設定されると、静止シーンの画像をエンコードするときには、出力ビットレートは不必要に高くなりうる。VBRはまた、一定品質ビットレートと称されることもあり、エンコードされた画像の品質が一定に保たれるべきであることを意味するが、シーン内で何が起こるかに応じてビットレートは変動することが認められている。このアプローチは、シーン内に動きがあるときには、高出力ビットレートにつながることがある。これは、エンコードした画像をモバイルネットワークで送信するときなど、帯域幅が限られている場合には特に問題となる。同様に、カメラの上の画像を例えばSDカードに保存するときなど、ストレージが限られている場合には問題となる。幾つかのカメラが動きのあるシーンの画像を同時に送信する場合には、高出力ビットレートはまた、大きなシステムのカメラでは問題になりうる。
【0006】
レートコントローラによって使用されるビットレートスキームにかかわらず、レートコントローラによって設定されたビットレートを順守するために、エンコーダが調整できるパラメータの1つは圧縮値、すなわち量子化ステップである。既に述べたように、高圧縮値、すなわち、大きな量子化ステップは、エンコーダから低出力ビットレートをもたらすと期待されている。しかしながら、本発明の発明者は、これが常に正しいとは限らないことを発見した。幾つかの例では、圧縮値を既に高い圧縮値から上げると、実際には出力ビットレートを高めることがありうる。これは、帯域幅要件が不必要に高くなりうる一方で、画質が低いという点で問題である。したがって、エンコーディング方法を改善する必要がある。
【発明の概要】
【0007】
本発明の目的は、画質で不必要に妥協することなく、出力ビットレートを低減することを可能にするビデオエンコーディングの方法を提供することである。
【0008】
ビットの効率的な利用を可能にするエンコーダシステムを提供することも、本発明の目的である。
【0009】
第1の態様によれば、これらの目的及びその他の目的は、エンコード対象のビデオの現在のデジタル画像フレーム中のピクセルを表わす情報を受信することと、前記現在のデジタル画像フレーム中の隣接するピクセルグループについての前記情報の空間統計的な測定値を算出して、隣接する各ピクセルグループのグループ値を形成することと、第1の所定の量子化ステップを含む利用可能な量子化ステップの組を決定することと、を含むビデオエンコーディングの方法であって、隣接する第1のピクセルグループに関して前記方法は、各利用可能な量子化ステップに対して、第1のピクセルグループのグループ値を利用可能な量子化ステップの各々で除算した後の剰余を算出することと、最小剰余をもたらす組の量子化ステップを選択された量子化ステップとして選択することと、選択された量子化ステップを使用して第1のピクセルグループをエンコードすることとを含むビデオエンコーディングの方法によって、完全に又は少なくとも部分的に達成される。このようなエンコーディング方法を使用すると、出力ビットレートが抑制されうるように、また、画質が許容可能なレベルに維持されうるように、ある意味で最適化された量子化ステップを選択することが可能である。
【0010】
第2の態様によれば、これらの目的及びその他の目的は、エンコード対象のビデオの現在のデジタル画像フレーム中のピクセルを表わす情報を受信することと、前記現在のデジタル画像フレーム中の隣接するピクセルのグループについての前記情報の空間統計的な測定値を算出して、隣接するピクセルの各グループのグループ値を形成することと、第1の所定の量子化ステップを含む利用可能な量子化ステップの組を決定することとを含むビデオエンコーディングの方法であって、隣接する第1のピクセルグループに関してこの方法は、第1のピクセルグループのグループ値と参照フレーム中の参照ピクセルグループの対応するグループ値との間のグループ値差分を算出することと、各利用可能な量子化ステップに対して、グループ値差分を利用可能な量子化ステップの各々で除算した後の剰余を算出することと、最小剰余をもたらす組の量子化ステップを選択された量子化ステップとして選択することと、選択された量子化ステップを使用して第1のピクセルグループをエンコードすることとを含むビデオエンコーディングの方法によって、完全に又は少なくとも部分的に達成される。このような方法によって、過度に画質を低下させることなく、低減された出力ビットレートでインターコーディングを実行することができる。
【0011】
第1及び第2の態様の方法は、多数の方法で変化させることができる。例えば、参照フレームは先行してエンコードされデコードされた画像フレームであってもよい。
【0012】
利用可能な量子化ステップの組は、所定の量子化ステップ、所定の量子化ステップを上回る少なくとも1つのより大きな量子化ステップ、及び、所定の量子化ステップを下回る少なくとも1つのより小さな量子化ステップを含みうる。
【0013】
2つ以上の利用可能な量子化ステップによって、除算後に等しい剰余が得られる場合には、2つ以上の量子化ステップのうち最大のものが選択された量子化ステップとして選択されうる。
【0014】
第3の態様によれば、これらの目的及びその他の目的は、エンコード対象のビデオの現在のデジタル画像フレーム中のピクセルを表わす情報を受信するように構成された受信モジュールと、前記現在のデジタル画像フレーム中の隣接するピクセルグループについての前記情報の空間統計的な測定値を算出して、隣接する各ピクセルグループのグループ値を形成するように構成されたグループ値モジュールと、第1の所定の量子化ステップを含む利用可能な量子化ステップの組を決定するように構成されたステップの組決定モジュールと、第1のピクセルグループのグループ値を利用可能な量子化ステップの各々で除算した後の各剰余を算出するように構成された計算モジュールと、最小剰余をもたらす利用可能な量子化ステップの組の中の1つの量子化ステップを選択された量子化ステップとして選択するように構成された選択モジュールと、選択された量子化ステップを使用して第1のピクセルグループをエンコードするように構成されたエンコードモジュールと、を含むビデオエンコーディングのためのエンコーダシステムによって、完全に又は少なくとも部分的に達成される。このようなエンコーディングシステムにより、許容可能なビデオ品質を維持しつつ、ビットレートを低く保つ効率的なエンコーディングが可能になる。
【0015】
第4の態様によれば、これらの目的及びその他の目的は、エンコード対象のビデオの現在のデジタル画像フレーム中のピクセルを表わす情報を受信するように構成された受信モジュールと、前記現在のデジタル画像フレーム中の隣接するピクセルグループについての前記情報の空間統計的な測定値を算出して、隣接する各ピクセルグループのグループ値を形成するように構成されたグループ値モジュールと、第1のピクセルグループのグループ値と参照フレーム中の参照ピクセルグループの対応するグループ値との間のグループ値差分を算出するように構成された差分モジュールと、第1の所定の量子化ステップを含む利用可能な量子化ステップの組を決定するように構成されたステップの組決定モジュールと、第1のピクセルグループのグループ値差分を利用可能な量子化ステップの各々で除算した後の各剰余を算出するように構成された計算モジュールと、最小剰余をもたらす利用可能な量子化ステップの組の中の1つの量子化ステップを選択された量子化ステップとして選択するように構成された選択モジュールと、選択された量子化ステップを使用して第1のピクセルグループをエンコードするように構成されたエンコードモジュールと、を含むビデオエンコーディングのためのエンコーダシステムによって、完全に又は少なくとも部分的に達成される。このようなエンコーディングシステムにより、許容可能なビデオ品質を維持しつつ、ビットレートを低く保つ効率的なインターフレームエンコーディングが可能になる。
【0016】
第3及び第4の態様のエンコーディングシステムは、一般的に、第1及び第2の態様の方法と同じ方式で実施され、その利点も付随しうる。
【0017】
第5の態様によれば、これらの目的及びその他の目的は、プロセッサによって実行されたときに第1又は第2の態様による方法を実行するように適合された命令を含むコンピュータ可読記憶媒体を備えるコンピュータプログラム製品によって、完全に又は少なくとも部分的に達成される。
【0018】
第6の態様によれば、これらの目的及びその他の目的は、第3又は第4の態様によるエンコーディングシステムを備えたカメラによって、完全に又は少なくとも部分的に達成される。
【0019】
本発明の利用可能性の更なる範囲は、以下の詳細な説明から明らかとなるであろう。しかしながら、この詳細な説明によって本発明の範囲内の様々な変更及び修正が当業者に明らかとなるため、詳細な説明及び具体例は、本発明の好適な実施形態を示しながらも単なる例として提示されることを理解されたい。
【0020】
したがって、説明されているデバイスの特定の構成要素部品、又は説明されている方法の特定のステップが変化しうるため、この発明は、かかるデバイス及びステップに限定されないことを、理解されたい。本書で使用される用語は、特定の実施形態を説明することだけを目的としており、限定するためのものではないということも、理解されたい。本明細書及び付随する特許請求の範囲においては、冠詞(「a」、「an」、「the」、及び「said」)が、文脈によってそうではないと明示されない限り、一又は複数の要素の存在を意味するためのものであることに、留意しなくてはならない。ゆえに、例えば、「1つの対象物(an object)」又は「前記対象物(the object)」に対する言及はいくつかの対象物(object)含みうる、等である。更に、「備える、含む(comprising)」という言葉は、他の要素又はステップを排除するものではない。
【0021】
ここで、本発明を、実施例を用い且つ添付の概略図を参照しながら、より詳細に説明する。
【図面の簡単な説明】
【0022】
図1】カメラによって監視されるシーンの斜視図である。
図2】1つの場所にあるカメラ及びエンコーダ、並びに別の場所にあるエンコーダ、ディスプレイ、及び記憶装置を含む監視システムのブロック図である。
図3】第1の画像フレーム、参照フレーム、及び第2の画像フレームを示す線図である。
図4】本発明の第2の態様によるビデオエンコーディングの方法のフロー図である。
図5】本発明の第1の態様によるビデオエンコーディングの方法のフロー図である。
図6】本発明の実施形態によるエンコーダのブロック図である。
【発明を実施するための形態】
【0023】
図1は、シーン1がカメラ2によって監視されていることを示す。シーン1には、多数のドア4及び各ドア4に通ずる小道5がある。シーン1を監視する目的は、例えば、建物3に近づく、或いは建物3の近辺で動き回る人々を監視することになりうる。
【0024】
図2は、カメラ2が一部をなす監視システム10の例を示す。監視システム2は、カメラ2及び管理センター11を含む。管理センター11は、カメラ2によって監視されるシーン1から離れた場所にあってもよい。ネットワーク12は、カメラ2と管理センター11をつなぐ。ネットワーク12は、ビデオデータの送信に適した任意の種類のネットワークであってもよく、有線又は無線になりうる。カメラ2は、カメラ2に一体化される、又はカメラ2に接続される外部ユニットになりうるエンコーダ13を有する。カメラ2には、SDカードの形態になりうるオンボード記憶装置14がある。代替的に、又は付加的に、カメラは、ネットワーク接続ストレージ(NASとも称される)などの別の記憶装置に接続されうる。更に、カメラはエンコーダにビットレート制限を設定するように構成されるレートコントローラ15を有する。レートコントローラ15はカメラ2に一体化されてもよく、或いは操作可能になるようにカメラ2に接続されてもよい。カメラはまた、それ自体は周知であるが、ここには示されておらず、これ以降では説明されない他の構成要素を有する。管理センター11には、エンコーダ13によってエンコードされ、ネットワーク12を介して管理センター11に送信されたビデオデータをデコードするように構成されたデコーダ16がある。更に、オペレータが監視しているシーン1で何が起こっているかを知ることができるように、生中継及び/又は録画ビデオを表示するためのディスプレイ17がある。加えて、ビデオを録画するためのストレージディスプレイ18もある。ストレージディスプレイ18は、管理センター11に設置されているように示されているが、他の場所に設置されてもよいことに留意されたい。例えば、ストレージディスプレイ18は、管理センター11のコンピュータ(図示せず)のディスクドライブであってもよい。このようなコンピュータはまた、ディスプレイ17に接続されうる。記憶装置は代替的に、又は追加的にNASであってもよく、或いはいわゆるクラウドストレージであってもよい。管理センター11は、カメラ2から画像が送信されうる場所の一例にすぎない。追加的に、又は代替的に、カメラからの画像はユーザーの携帯電話(図示せず)に送信されうる。例えば、シーン1に動きが検出されると、カメラ2は、ユーザーの携帯電話に通知、スナップショット又はビデオシーケンスを送信するように始動されうる。このような場合、画像は携帯電話のディスプレイに表示、及び/又は携帯電話に保存されうる。
【0025】
カメラ2がシーン1の画像をキャプチャすると、画像はカメラ上又はカメラに接続されたストレージに保存する前に、及び/又は管理センター11に送信する前にエンコーダ13によってエンコードされ、エンコードされた画像は管理センター11で受信される。
【0026】
受信された画像は、あとで見ることができるようにストレージディスプレイ18に保存されうる。画像はディスプレイ17にリアルタイムで、あるいは少なくとも準リアルタイムで表示するため、デコーダ16によってデコードされうる。
【0027】
一般的にカメラ2のエンコーダ13よりもビットレートを低く保つことが必要である。例えば、SDカード上で利用可能なストレージが制限されているため、このようになりうる。これはまた、画像データがモバイルネットワークに送信されるときには、カメラ2からの伝送帯域幅が限られることにもよる。更に、より十分な帯域幅を有する監視システムの場合でも、多数のカメラがあり、これらのカメラのうちの幾つかが同時に画像データを送信する場合には、帯域幅消費は高くなりすぎることがありうる。背景の節で既に述べたように、ビットレートを制御するために調整される1つのパラメータは圧縮値又は量子化ステップである。画像解像度及びフレームレートなど、調整可能な他のパラメータもあるが、ここではこれらについて議論しない。
【0028】
監視や調査の目的では、静的なシーンの画像は注目されないことが多い。そのため、出力ビットレートを低減するため、このような画像は強く圧縮されるが、その後に起こる品質低下は一般的に許容しうる代償である。エンコーダによっては、画像の異なる部分を異なる方法で圧縮する。例えば、シーンの背景を表わすと判断された部分は、前景を表わすと判断された部分よりも強く圧縮される。この方法では、利用可能な帯域幅は、画像全体を同程度に圧縮する場合よりも、有効に使える。
【0029】
更に、本発明の発明者は、圧縮値の上昇、すなわち、量子化ステップの増大があっても、場合によっては、ビットレートが変化しないこと、或いはビットレートが増大することを発見した。圧縮値が増大すると画質の低下につながるが、画質のロスはビットレートの低下に見合っていない。
【0030】
本発明は、量子化ステップは所望の画質と一般的なビットレートの制限との間の関係で可能な限り大きな量子化ステップを選ぶのではなく、賢明な方法で選ぶべきであるという理解に基づいている。この考え方は、単純化された実施例によって、図3を参照して説明される。
【0031】
図3は、エンコード対象の第1の画像フレーム20、参照フレーム30及び第2の画像フレーム40の図解である。参照フレーム30は、第1の画像フレーム20のエンコーディングに先立ってエンコードされデコードされた画像フレームである。ここで、ピクチャグループの開始時には、その他のフレームを参照することなくエンコードされるIフレームがあることに留意されたい。GOP長、すなわち、ピクチャグループの長さがゼロでない場合には、次のフレームはPフレーム(或いは、場合によってはBフレーム)としてエンコードされなければならない。このPフレームに関しては、参照フレームが先行するIフレームのデコーディング結果となるであろう。一列に並んだ次のPフレームに関しては、参照フレームは先行するPフレームのデコーディング結果となるであろう。したがって、これは先行するPフレーム、並びに先行するIフレーム、言い換えるならば、ピクチャグループの先行するすべてのフレームに影響される。
【0032】
第1の画像フレーム20は多数のピクセル21からなり、隣接するピクセル21のグループ22にグループ分けされうる。背景の節で述べたように、ピクセルグループはまた、例えば、ブロック、マクロブロック、コーディングユニット、又はコーディングツリーユニットとも称される。同様に、参照フレーム30は、隣接するピクセル31の参照グループ32にグループ分けされうる多数のピクセル31からなる。同様に、第2の画像フレーム40は多数のピクセル41からなり、これらは隣接するピクセル41のグループ42にグループ分けされうる。各画像20、30、40のピクセル数は、画像20、30、40をキャプチャするカメラ2の画像センサ(図示せず)のピクセル数に依存する。幾つかの場合には、画像20、30、40のピクセル数は、画像センサのピクセル数よりも減少すること、場合によっては増加することがありうるが、ここではこの点についてこれ以上議論しない。
【0033】
この実施例では、第1の画像フレーム20は、参照フレーム30を参照して、インターフレームとして、或いはより具体的にPフレームとしてエンコードされる現在の画像フレームである。当業者であれば、2つ以上の参照フレームを使用するBフレームに対しては、同一の原理が使用されうることを理解するであろう。
【0034】
インターフレームをエンコードするときには、現在のフレームと参照フレームとの間の差分が決定され、エンコードされる。ピクセルの各グループ又はブロックに関しては、検索は参照フレームで行われ、十分に似通ったブロックが見つかった場合には、当該ブロックは参照ブロックとして使用される。簡単に言うと、ピクセルブロックは運動ベクトルの情報によってエンコードされる。運動ベクトルの情報は、参照ブロックとの関係で、エンコードするブロックのどれだけが置換されるかを示し、また、残余とも称される強度値の差分の情報によって、参照ブロックと比較され、当該ブロックが参照ブロックとどれだけ異なるかを示す。十分に似通ったブロックが見つからない場合には、ブロックはイントラコーディングを使用して、すなわち、他の任意のフレームを参照することなくエンコードされる。
【0035】
一実施例として、ピクセル値74を有する第1のピクセルグループ22すべてがエンコードされる。運動ベクトル検索それ自体は周知であるが、これが実行された後には、参照ピクセルグループ32は参照フレーム30中で特定されている。この実施例では、参照グループ32は、現在のフレーム20中の第1のピクセルグループ22の位置に対応する参照フレーム30中の位置に配置される。したがって、運動ベクトルは長さゼロになるが、ここではこれ以上議論しない。しかしながら、以下の説明は非ゼロ運動ベクトルについても有効である。
【0036】
参照グループ中のピクセルはすべてピクセル値70を有する。第1のピクセルグループ22に関しては、第1のグループVはグループ22中の全ピクセルの値の平均値として算出されうる。第1のグループ22中の全ピクセルは値74を有するため、第1のグループ値Vは74になる。同様に、参照グループ32のピクセル値の平均として、参照グループ値VR1が参照グループ32に対して算出される。この参照グループ値VR1は70である。第1のグループ値Vと参照グループ値VR1との間の差分が計算される。
Diff1=V-VR1
【0037】
この実施例では、グループ値差分VDiff1は次のようになる。
Diff1=74-70=4
【0038】
ここで、レートコントローラ15は、エンコーダがピクセルの第1のグループ22に対して、10の量子化ステップを選択するようにビットレート制限を設定した。グループ値差分VDiff1=4は、インターコーディングでPブロックとしてエンコードするには大きすぎるとエンコーダに判断されることがあり、したがって、エンコーダはイントラコーディングを使用して、これをIブロックとしてエンコードする。量子化ステップが10の場合、値74は7×10、すなわち70、或いは8×10、すなわち80としてエンコードされうる。74は80よりも70に近いため、エンコーダは値を7(すなわち、二進数では111)としてエンコードする。
【0039】
現在の画像フレーム20がエンコードされ、その後デコードされるときには、逆量子化により、エンコードされた数7に量子化ステップ10を乗ずることによってピクセルの第1のグループ22に対する値を生成し、値70を返す。第1のグループ22の元のピクセル値は74であったため、ここでは情報が失われることがわかるであろう。
【0040】
シーンが静的な場合には、第2の画像フレーム40、その後の第1の画像フレーム20はまた、ピクセルの第1のグループ22に対応するピクセルの第2のグループ42に対して、74のグループ値Vを有するであろう。シーンが変化していないにもかかわらず、ピクセルの第2のグループ42が量子化値7でIブロックとしてエンコードされると、同じ状況が再び起こる。更に、元の画像フレームの階調が失われる又は誇張されるため、画質が損なわれる。量子化ステップが10のとき、70から80の間のピクセル値は7(すなわち、70)又は8(すなわち、80)にエンコードされうる。したがって、値が71、72、73、及び74のピクセルブロック又はピクセルグループは、エンコードしてデコードした後には、すべて値が70になり、個々間でのばらつきは量子化によって失われる。同様に、値が76、77、78、及び79のブロックは、エンコードしてデコードした後には、値が80になる。値が75のブロックは、エンコーダで実行される丸め処理に応じて、70又は80になる。元の画像フレーム中で、それぞれ値が74及び76のかなり似通ったブロック間の境界では、一方のブロックは値が70になり、他方のブロックは値が80になるため、量子化は人工的にコントラストを作り出す。
【0041】
静的なシーンでは、インターフレームエンコーディングは画像間の変化のみをエンコードするため、インターフレームエンコーディングはイントラフレームエンコーディングよりも効率的になると期待されうる。多くのIブロックを伴うPフレームは一般的に大きくなり、より多くのPブロック、或いはPブロックのみを伴うPフレームよりも多くのビットを必要とするため、必ずしもこれが当てはまらないことを、この単純化された実施例は示している。
【0042】
これは出力ビットレートを低下させる点で直観とは相容れないが、より小さな量子化ステップを使用することが賢明となりうることを本発明者は理解するに至った。上記の実施例に戻り、代わりに4の量子化ステップを使用した場合、値4は量子化レベルに正確に対応するため、Pブロックとしてエンコードするのに、グループ値差分VDiff1=4が大きすぎるとみなされることはないであろう。このような場合、第1のピクセルグループ22は、参照グループ32の値から量子化ステップで1だけ異なる値を有するという情報によってエンコードされうる。第1のグループ22をIブロックとしてエンコードすることに関しては、上述のように、数字1(二進数でも1)のエンコーディングに要するビット数は数字7(二進数では111)のエンコーディングよりも少ない。状況によっては、同じアプローチでもより大きな量子化ステップを使用することが賢明であることに留意されたい。
【0043】
前述と同じ方法で、第1の画像フレーム20がエンコードされ、その後、逆量子化によってデコードされた場合には、第1のグループ22の値は、参照グループ32の値に、第1のグループ22と参照グループ32との間の差分を加えた値として算出され、すなわち、70+1×4=74となる。このデコードされた画像フレームは次に、第2の画像フレーム40のエンコーディングのための参照フレームとして使用される。前と同じ静的なシーンでは、第2のグループ42の値は74となる。したがって、第2のピクセルグループ42とエンコードされデコードされた先行フレーム中のピクセルの対応するグループとの間の差分は0になる。先行フレーム中の対応するグループ22との差分は0であるという情報によって、第2のピクセルグループ42をエンコードするのではなく、第2のピクセルグループ42はスキップブロックとしてエンコードされることがあり、これはデコーダに、ブロックは先行フレームからコピーされたはずであるという情報が与えられることを意味する。このように、量子化ステップは小さくても、出力ビットレートは小さくなる。
【0044】
この理解を念頭に置いて、本発明者は、図4を参照してさらに説明されるエンコーディング方法を考案した。この方法によれば、第1の画像フレーム中のピクセルを表す情報が受信される(S1)。この情報は、例えば、ピクセルの強度値となることがあり、或いは輝度値になることがありうる。現在の画像フレーム20中のピクセルグループ22のグループ値Vが算出され、また、参照フレーム30中の対応する参照ピクセルグループ32のグループ値VR1が算出される(S3)。これら2つのグループ値V、VR1は、グループの差分VDiff1を算出するため、比較される(S4)。次に、レートコントローラ15によって設定されたビットレート制限を順守するため、エンコーダによって決定された所定の量子化ステップQSを使用する代わりに、利用可能な量子化ステップAQSの組が決定される(S5)。この組は、所定の量子化ステップQS、並びに、より小さい及び/又はより大きい量子化ステップを含む。例えば、所定の量子化ステップQSは5であってよく、利用可能な量子化ステップの組は4、5、6、及び7、すなわち、AQS={4、5、6、7}として決定されうる。より大きな量子化ステップQS+n及びより小さな量子化ステップQS-nを示すと、利用可能な量子化ステップの組は、この実施例ではAQS={QS-1、QS、QS+1、QS+2}として表現されうる。
【0045】
利用可能な各量子化ステップに関して、グループ値差分VDiff1はそれぞれの量子化ステップで除算され、除算の剰余が算出される(S6)。この実施例では、グループ値差分VDiff1=4は4、5、6、及び7の各々で除算され、以下の剰余が算出される。
【0046】
量子化ステップ4により、最小の剰余、すなわち0が算出されることがわかるであろう。最小の剰余をもたらす利用可能な量子化ステップの組AQSの当該量子化ステップが、選択された量子化ステップSQSとして選択される(S7)。したがって、この実施例では、選択された量子化ステップSQSは4である。第1のピクセルグループ22は、選択された量子化ステップSQS=4を使用してエンコードされなければならない(S8)。この手続は、第1の画像フレーム22のすべてのピクセルグループ22に対して使用される。
【0047】
これに関連して、エンコーダによってはわずかに異なる結果をもたらす丸めを実行することを指摘しておかなければならない。例えば、量子化ステップが5のとき、量子化ステップQS=5によるグループ値差分VDiff1=4の除算の結果は1であって、0余り4ではない。したがって、量子化と逆量子化によって、元の74ではなく、70+1×5=75という値が算出される。
【0048】
エンコードされた画像フレームは、SDカード14に保存されてもよく、及び/又はネットワーク12を介して管理センター11へ送信されてもよい。加えて、エンコードされた画像フレームは、更新された参照フレームを生成し、第2の画像フレーム40のエンコーディング時に使用されるよう、エンコーダ13によってデコードされる。したがって、第2の画像フレーム40は現在の画像フレームになり、エンコードされデコードされた第1の画像フレーム20を使用して、参照としてエンコードされる。同じ手続きが第2の画像フレームに対しても使用される。すなわち、第2のピクセルグループ42のグループ値Vを算出すること(S2)、更新された参照フレームの対応するピクセルグループのグループ値VR2を算出すること(S3)、グループ値差分VDiff2を算出すること(S4)、利用可能な量子化ステップの組を決定すること(S5)、グループ値差分を利用可能な量子化ステップの各々で除算してそれぞれの剰余を得ること(S6)、最小の剰余をもたらす量子化ステップを選択すること(S7)、及び選択された量子化ステップを使用して第2のピクセルグループ42をエンコードすること(S8)である。このプロセスは、第2の画像フレーム40のすべてのピクセルグループ42に対して実行される。エンコードされた第2の画像フレームは、ここで保存及び/又は送信することができる。また、その後の画像フレームのエンコーディングのための更新された参照フレームを生成するため、エンコーダ13によってデコードされてもよい。
【0049】
ここまで、インターフレームエンコーディングについて議論してきたが、イントラフレームエンコーディングについて同じ原理が採用されうる。イントラフレームエンコーディングのアプローチは、それがグループ値であって、各々の利用可能な量子化ステップによって除算されるグループ値差分ではない点において、インターフレームエンコーディングのアプローチとは異なる。図5を参照して、この方法は以下でより詳細に説明される。ここで、第1の画像フレーム20がイントラコーディングを使用してエンコードされると仮定する。これまでのように、第1の画像フレーム中のピクセルを表す情報が受信される(S101)。隣接するピクセルグループに関しては、グループ値はピクセル情報の統計的な測定値を計算することによって算出される。ここでは、ピクセル値の平均も算出される。特に、第1のピクセルグループのグループ値Vが算出される(S102)。この実施例では、インターコーディングの実施例に関して使用されるのと同じピクセル値が使用されており、第1のピクセルグループ22のグループ値Vはそのため74となる。所定の量子化ステップQSを含む、利用可能な量子化ステップAQSの組が決定される(S105)。インターコーディングの実施例に関して同じ値を使用することで、所定の量子化ステップは5になり、利用可能な量子化値はAQS={4、5、6、7}となる。グループ値Vは利用可能な量子化ステップの各々によって除算され、次のように剰余を算出する(S106)。
【0050】
この実施例では、同じ最小剰余を生成する2つの量子化ステップ、すなわち、4と6があり、どちらも剰余2をもたらす。これらのうちのどちらかが、選択された量子化ステップとして選択されうる(S107)。ビットレートの低減よりも画質の優先度が高い場合には、量子化ステップ4が選択されうる。しかしながら、多くの場合、ビットレートの低減は画質よりも優先度が高くなり、そのような場合には、量子化ステップ6が選択されるべきである。第1のピクセルグループ22は次いで、選択された量子化ステップを使用してエンコードされる(S108)。第1の画像20のすべてのピクセルグループに対して同じプロセスが使用される。エンコードされた画像フレームは保存及び/又は送信されてもよく、第2の画像フレーム40など、その後の画像フレームのエンコーディングのための参照フレームを形成するためにデコードされうる。第2の画像フレーム40のエンコーディングは次に、図4に関連して、上述のインターフレームエンコーディング方法に従って実行されうる。
【0051】
図6を参照して、本発明の方法が実行されうるエンコーダシステム13について説明する。エンコーダ13はカメラ2に組み込まれてもよく、或いはカメラ2に動作可能に接続されてもよい。エンコーダ13は、エンコード対象のビデオの現在のデジタル画像フレーム中のピクセルを表わす情報を受信するように構成された受信モジュール131を有する。この情報は、既に説明したように、例えば、ピクセル強度値になりうる。更に、エンコーダは、現在の画像フレーム中の隣接するピクセルグループのグループ値を算出するように構成されたグループ値モジュール132、及び、現在の画像フレーム中の第1のピクセルグループと参照フレーム中の対応する参照ピクセルグループのグループ値との間の差分を算出するように構成された差分モジュール133を有する。イントラフレームエンコーディングにとって、差分モジュールは必ずしも必要でないことに留意されたい。エンコーダ13はまた、利用可能な量子化ステップの組を決定するように構成されたステップの組決定モジュール134を有する。上述のように、この組は、レートコントローラ15によって設定されたビットレート制限に基づいて決定される、所定の量子化ステップを含む。加えて、エンコーダ13は、イントラコーディングに関して、第1のピクセルグループのグループ値を各利用可能な量子化ステップで除算した後の各剰余を算出するように構成された計算モジュール135を有する。インターコーディングに関しては、計算モジュールは、第1のピクセルグループそれ自体のグループ値ではなく、グループ値差分の除算に入力を行う。計算モジュール135は、イントラコーディング及びインターコーディングの両方のタイプの除算を実行可能でもよく、或いは、イントラコーディング用とインターコーディング用の2つの部分からなってもよい。エンコーダ13の選択モジュール136は、最小剰余をもたらす組の中の量子化ステップを選択された量子化ステップとして選択するように構成されている。更に、エンコーダ13は、選択された量子化ステップを使用して、第1のピクセルグループをエンコードするように構成されたエンコーディングモジュールを有する。
【0052】
エンコーダ13は、ソフトウェア、ファームウェア、ハードウェア、又はこれらの組み合わせとして実装されてもよい。
【0053】
上述のエンコーディング方法は、プロセッサによって実行されると本発明の方法を実行するように適合された命令を有するコンピュータ可読記憶媒体を含む、コンピュータプログラム製品として具現化されうる。プロセッサは、任意の種類のプロセッサであってもよく、例えば、中央処理装置(CPU)、グラフィック処理装置(GPU)、集積回路中に実装されるカスタム仕様の処理デバイス、ASIC、FPGA又はディスクリート素子を含む論理回路であってもよい。
【0054】
当業者は、上述の実施形態を多くの方法で修正し、かつ、上記の実施形態において示されている本発明の利点を依然として使用することが可能であることを、理解するであろう。一実施例として、組の中の異なる量子化ステップの数は異なるように選択されうる。上記の実施例では、所定の量子化ステップよりも大きい2つの量子化ステップに加えて、所定の量子化ステップよりも小さい1つの量子化ステップが含まれていた。多くの状況では、所定の量子化ステップに加えて、1つ又は2つのより小さな量子化ステップと、2つ又は3つのより大きな量子化ステップを有することが適切な場合がありうる。組の中の量子化ステップは、必ずしも等間隔である必要はなく、或いは互いに連続している必要はない。例えば、組は{4、6、7、10、11}であってもよい。
【0055】
利用可能な量子化ステップの組は画像フレーム全体に対して一度に決定されてもよく、或いは各ピクセルグループに対して、又はピクセルグループの数に対して別々に決定されてもよい。
【0056】
とりわけ、隣接するピクセルグループのグループ値は、グループ中のピクセルのピクセル値の平均として算出されている。平均の代わりに、ピクセル値の和が算出されてもよい。
【0057】
更に、グループ値は、ピクセル値又はグループ中のピクセルの強度値に基づいて算出されるものとして説明されている。周波数ドメイン内でグループ値を算出することも可能になりうる。ピクセル値を周波数ドメインに変換するときには、ピクセルの各ブロック又はグループは多数の周波数を保持しうる。これを図解するため、単純化された実施例を取り上げる。以下のピクセル値を有する、幅2ピクセルで高さ2ピクセルだけの小さなブロック又はグループについて検討する。
【0058】
このブロックは以下の可能な周波数を有する。
【0059】
周波数ドメインでは、これは以下をもたらす。
【0060】
30は1、2、3、5、6、10、15、及び30で割り切れるが、6は1、2、3、及び6でしか割り切れない。30と6の両方が割り切れる最大の量子化ステップは、したがって6である。この場合、所定の量子化ステップが5で、利用可能な量子化ステップの組が{4、5、6、7}の場合、グループ値
を利用可能な量子化ステップの各々で除算すると、以下の計算結果が得られる。
【0061】
利用可能な量子化ステップの決定された組の中で、最小剰余をもたらすのは量子化ステップ6であるが、これは両周波数に対して剰余0をもたらすからである。一般的に、ベース周波数だけに対して、すなわち、
に対して、グループ値を算出することが望ましく、この場合、グループ値30を算出する。更に多くの周波数を考慮に入れることも場合によっては可能で、しかも有利であるが、多くの場合、相当の計算リソースを必要とする複雑な計算につながる。
【0062】
要約すると、本発明の方法は、エンコーダからの出力ビットレートを低減することが可能で、一方、必ずしも画質を犠牲にしないことがわかるであろう。本発明の方法は、その後の画像フレームのエンコーディングに対してより良い参照フレームを生成することができる。量子化ステップの賢明な選択により、その後の画像フレームで、特に画像フレームの静的な部分でエンコードするときには、より小さな残余をもたらす参照フレームを取得しうる。
【0063】
上述のように、本発明者によって開発された原理は、インターモード並びにイントラモードで使用されうる。グループ値を利用可能な量子化ステップの組の中の各量子化ステップで除算する考え方は、ピクチャグループ(GOPとも称される)中の幾つかのフレームに対してのみ使用され、同一GOP中の他のフレームに対しては使用されないように、ミックスしたアプローチも使用可能であることに留意されたい。例えば、本発明の原理は、インターフレームに対してのみ、或いはイントラフレームに対してのみ使用しうる。本発明の原理をGOP中にインターフレームの一部に対して使用し、同一GOP中の他のインターフレームに対して使用しないことも可能である。このような場合、GOPの初期の画像フレームは、参照フレームの形成に関与することによって、GOP中のその後の画像フレームの多くに影響を及ぼすため、本発明の方法をGOPの開始時の画像フレームに適用することが有利である。GOPの終わりにむかうにつれ、各画像フレームがそれ以降に及ぼす影響は少なくなり、参照フレームへの影響も小さくなる。
【0064】
上記の説明では、制御されるエンコーディングのパラメータは、量子化ステップとして参照されている。背景の節で述べたように、量子化ステップは、異なるコーデックの異なる名称のパラメータによって制御されうる。例えば、H.264規格では、量子化ステップは、0~51の値をとりうる量子化パラメータQPによって制御される。H.264では、QPの各増分6は、量子化ステップの倍化に対応する。パラメータがどのように称されても、パラメータの各値は量子化ステップに置き換えられる。
【0065】
本発明の概念は特定のコーデックに限定されるものではないが、任意のコーデックを利用する量子化で使用されうる。例えば、ブロックベースのハイブリッドコーデック(例えば、H.265、MPEG-4 Part2、又はVP9コーデックなど)と共に使用されうる。
【0066】
エンコード対象の画像は、可視光カメラ、赤外線カメラ、又はサーマルカメラなど、任意の種類のカメラによってキャプチャされうる。画像はまた、TOF(time-of-flight)センサなど、他の種類のセンサによってキャプチャされうる。
【0067】
デジタル画像はデジタルカメラによってキャプチャされてもよく、或いはアナログカメラによってキャプチャされ、デジタル化装置を使用してデジタルフォーマットに変換されてもよい。
【0068】
したがって、本発明は、図示した実施形態に限定されるべきではなく、添付の特許請求の範囲によってのみ限定されるべきである。
図1
図2
図3
図4
図5
図6