(57)【要約】【課題】  圧縮符号化を行う際に、画像内で他の領域よりも著しく画質が劣化する領域が発生する可能性を低減することができる技術を提供する。【解決手段】  画像取得手段は、撮像手段によって撮像された動画の画像フレームを取得する。動体検出手段は、取得手段によって取得された画像フレームから動体を検出する動体検出処理を行う。符号化手段は、動体検出手段による動体検出処理の結果に基づいて、取得手段によって取得された画像フレームを符号化する。符号化手段は、符号化対象の画像フレームよりも前の画像フレームにおける動体検出結果に基づく動体領域が、符号化対象の画像フレームにおいて非動体領域となった変化領域を、他の非動体領域と異なる符号化制御又は符号化パラメータを用いて符号化する。【選択図】  図２
2019068248.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段によって撮像された動画の画像フレームを取得する画像取得手段と、
前記取得手段によって取得された画像フレームから動体を検出する動体検出処理を行う動体検出手段と、
前記動体検出手段による前記動体検出処理の結果に基づいて、前記取得手段によって取得された画像フレームを符号化する符号化手段と
を有し、
前記符号化手段は、符号化対象の画像フレームよりも前の画像フレームにおける前記動体検出処理の結果に基づく動体領域が、前記符号化対象の画像フレームにおいて非動体領域となった変化領域を、他の非動体領域と異なる符号化制御又は符号化パラメータを用いて符号化する
ことを特徴とする画像処理装置。
【請求項２】
前記前の画像フレームは、前記符号化対象の画像フレームの直前の画像フレームである
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記符号化手段は、前記変化領域を、前記他の非動体領域よりも、量子化ステップが小さくなる量子化パラメータを用いて符号化する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記符号化手段は、前記変化領域に対して、フレーム間予測を用いないよう制限した符号化制御を用いて、前記符号化対象の画像フレームを符号化する
ことを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記符号化手段は、前記変化領域を、ＧＯＰ長に応じた量子化パラメータの値を用いて符号化する
ことを特徴とする請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
前記符号化手段は、前記変化領域に対して、前記他の非動体領域よりもブロック分割がされ易い条件の符号化制御を用いて、前記符号化対象の画像フレームを符号化する
ことを特徴とする請求項１〜５のいずれか１項に記載の画像処理装置。
【請求項７】
前記取得手段によって取得された画像フレームから背景画像を生成する背景画像生成手段と、
前記背景画像における各領域の複雑度を算出する複雑度算出手段と
を有し、
前記符号化手段は、前記複雑度に更に基づいて、前記変化領域の前記符号化制御又は符号化パラメータを決定する
ことを特徴とする請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項８】
撮像手段によって撮像された動画の画像フレームを取得する画像取得工程と、
前記取得工程によって取得された画像フレームから動体を検出する動体検出処理を行う動体検出工程と、
前記動体検出工程における前記動体検出処理の結果に基づいて、前記取得工程によって取得された画像フレームを符号化する符号化工程と
を有し、
前記符号化工程において、符号化対象の画像フレームよりも前の画像フレームにおける前記動体検出処理の結果に基づく動体領域が、前記符号化対象の画像フレームにおいて非動体領域となった変化領域を、他の非動体領域と異なる符号化制御又は符号化パラメータを用いて符号化する
ことを特徴とする画像処理方法。
【請求項９】
請求項１〜７のいずれか１項に記載の画像処理装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理技術に関するものである。
【背景技術】
【０００２】
近年、スマートフォンやデジタルビデオカメラ等の普及に伴い、撮像を行って画像データを生成する機会が増えている。その一方、データを記録しておくストレージの容量や、データを送受信する際の通信帯域には限りがある。そのため、画像データを効率的に圧縮する技術が求められている。画像圧縮の方法としては、Ｈ．２６４／ＡＶＣという標準規格が知られている。また、Ｈ．２６５／ＨＥＶＣという標準規格も普及し始めている。
【０００３】
画像の圧縮符号化技術において、画質を調整するために、量子化パラメータ（Ｑｕａｎｔｉｚａｔｉｏｎ  Ｐａｒａｍｅｔｅｒ）等のパラメータが規定されている。これらのパラメータを用いて、画質の劣化を防ぎつつ、データ量をできるだけ少なくすることが求められている。
【０００４】
特許文献１では、マクロブロックごとに動きベクトルを算出して、動きベクトルの値をもとに動き領域と静止領域の間の、動き境界領域を検出して、動き境界領域の量子化パラメータを設定する方法が開示されている。さらに、特許文献２では、マクロブロックの動き特徴と平坦さの特徴などに基づき、符号化モードを設定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１３０５５８号公報
【特許文献２】特開２００８−２１９１４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら特許文献１の方法では、動きベクトルが量子化の残差を小さくする場所を選択するもので必ずしも動きと一致するものではないことから、適切に、画質の劣化を防ぐことができない場合がある。特許文献１では、動きのスピードが小さい場合に、閾値による検出が難しくなる。また、特許文献２は、主観品質を考慮して符号化モードの設定を行っている。これらの従来技術では、画像によって、部分的に著しく画質が劣化してしまうことがある。
【０００７】
そこで、本発明の目的は、圧縮符号化を行う際に、画像内で他の領域よりも著しく画質が劣化する領域が発生する可能性を低減することができる技術を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の画像処理装置は以下の構成を備える。すなわち、撮像手段によって撮像された動画の画像フレームを取得する画像取得手段と、前記取得手段によって取得された画像フレームから動体を検出する動体検出処理を行う動体検出手段と、前記動体検出手段による前記動体検出処理の結果に基づいて、前記取得手段によって取得された画像フレームを符号化する符号化手段とを有し、前記符号化手段は、符号化対象の画像フレームよりも前の画像フレームにおける前記動体検出処理の結果に基づく動体領域が、前記符号化対象の画像フレームにおいて非動体領域となった変化領域を、他の非動体領域と異なる符号化制御又は符号化パラメータを用いて符号化する。
【発明の効果】
【０００９】
本発明によれば、圧縮符号化を行う際に、画像内で他の領域よりも著しく画質が劣化する領域が発生する可能性を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】各実施形態に係る撮像装置の構成を含むネットワーク構成図である。
【図２】第１実施形態に係る撮像装置の構成を示すブロック図である。
【図３】第１実施形態に係る、画質劣化が生じている画像を模式的に示す図である。
【図４】Ｈ．２６４やＨ．２６５でＩフレームとＰフレームにおけるサイズの変動を模式的に示す図である。
【図５】第１実施形態の画像処理方法を示すフローチャートである。
【図６】第２実施形態に係る撮像装置の構成を示すブロック図である。
【図７】第２実施形態の画像処理方法を示すフローチャートである。
【図８】第２実施形態に係る背景画像を模式的に示す図である。
【図９】第２実施形態に係る背景画像において複雑度の高い領域と低い領域を模式的に示す図である。
【図１０】各実施形態に係る撮像装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を、添付の図面に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例であり、本発明は以下の実施形態で説明する構成に限定されるものではない。また、各実施形態は、監視目的の撮像を例に説明するが、各実施形態は、放送目的等、種々の目的の撮像技術に適用することも可能である。また、以下の説明において、ネットワークに接続して他の装置と通信可能な撮像装置（ネットワークカメラ）を例に説明するが、ネットワークに接続できない撮像装置にも適用可能である。また、撮像装置が画像処理装置としての機能を有している例について説明するが、撮像装置と画像処理装置とは別体にすることも可能である。
【００１２】
＜第１実施形態＞
本実施形態では、画像（フレーム）内で他の領域よりも著しく画質劣化が生じる可能性が高い領域を特定し、特定された領域に対して他の領域とは異なる符号化制御を行う。以下、本実施形態の撮像装置について説明する。なお、以下の説明において、動画の画像を例にして説明する。
【００１３】
図１は、撮像装置（画像処理装置）１００を含むシステム構成図である。クライアント装置２００は、撮像装置１００の外部の機器である。撮像装置１００とクライアント装置２００は、ネットワーク３００を介して相互に通信可能な状態に接続されている。
【００１４】
クライアント装置２００は、撮像装置１００に対して、映像（画像）ストリームの配信を要求する配信要求コマンドや、圧縮符号化に関するパラメータを設定するための設定コマンドを送信する。また、撮像装置１００は、配信要求コマンドに応じて、映像ストリームをクライアント装置２００に配信する。なお、クライアント装置２００は、パーソナルコンピュータやタブレット端末、スマートフォンなどのコンピュータにプログラムをインストールすることで実現することもできる。
【００１５】
図２は、第１実施形態に係る撮像装置１００を示すブロック図である。撮像装置１００は、撮像部２１０、制御部２２０、記憶部２３０、圧縮符号化部２４０、通信部２５０、動体検出部２６０、及び領域特定部２７０を有している。
【００１６】
撮像部２１０は、レンズを通して結像した光を撮像素子において受光して、その受光した光を電荷に変換して、動画の画像データを生成する。撮像素子には、例えば、ＣＭＯＳイメージセンサ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  ＳｅｍｉｃＯＮｄｕｃｔｏｒ  Ｉｍａｇｅ  Ｓｅｎｓｏｒ）を用いることができる。また、撮像素子にはＣＣＤイメージセンサ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ  Ｉｍａｇｅ  Ｓｅｎｓｏｒ）を用いてもよい。また、撮像部２１０は、制御部２２０を通じて設定されるパラメータに応じて、ホワイトバランスや露出等を適宜、調整した画像データを生成（取得）するようにしてもよい。このように撮像部２１０が、画像取得部としても機能する例について説明する。ただし、画像取得部としての機能のみであれば、外部から動画の画像データを取得するようにしてもよい。
【００１７】
制御部２２０は、撮像装置１００における各部の動作を制御したり、各種の処理を行ったりする。例えば、ホワイトバランスや露出等のカメラパラメータを撮像部２１０に設定したり、圧縮符号化に係る符号化パラメータを圧縮符号化部２４０に設定したりする。
【００１８】
動体検出部２６０は、撮像部２１０によって生成された画像データの各フレーム（画像フレーム）において、動体領域を検出する。例えば、動体検出部２６０は、フレーム間差分法や背景差分法を用いて、動体領域を検出する。これらの方法は、検出対象のフレームの画素値と、他の画像（例えば背景画像）の画素値との差分値に基づく検出方法である。
【００１９】
また、動体領域であるか否かの判定は、フレームを分割した所定のブロック毎に行ってもよい。その場合、例えば、ブロック内の半分以上の画素において、差分値が閾値を超える場合に、そのブロックを動体領域であると判定してもよい。また、動体領域であるか否かの判定を行うブロックは、圧縮符号化における、量子化パラメータを割り当てる単位（ブロック）であってもよい。例えば、Ｈ．２６４／ＡＶＣを用いる場合は、マクロブロックであってもよい。また、Ｈ．２６５／ＨＥＶＣの場合は、ＣＵ、又は、複数のＣＵからなる単位であってもよい。
【００２０】
領域特定部２７０は、現フレームに対して行われた動体検出の結果と、現フレームよりも前のフレームに対して行われた動体検出の結果を比較して、画像（フレーム）内で他の領域よりも画質劣化が生じる可能性が高い領域を特定する。領域特定部２７０における処理の詳細については後述する。
【００２１】
圧縮符号化部２４０は、領域特定部２７０によって特定された領域の位置に基づき、現フレームの圧縮符号化を行う。圧縮符号化部２４０における処理の詳細についても後述する。
【００２２】
記憶部２３０は、制御部２２０が処理を行う際に必要なプログラムや、各種の情報等を記憶する。例えば、撮像部２１０で取得した画像データに対するホワイトバランスや露出等のカメラパラメータに関する情報や、圧縮符号化に関するパラメータ等を記憶する。これらの情報は、適宜、他の各部によって読み取られて、利用される。
【００２３】
通信部２５０は、圧縮符号化部２４０によって符号化された画像データを、例えば、ストリーム形式で、ネットワーク３００を通じてクライアント２００に送信する。
【００２４】
ここで、各実施形態で低減しようとしている画質劣化について説明する。
【００２５】
最初に、各実施形態で低減しようとしている画質劣化を更に目立たせる原因となり得る圧縮技術について説明する。監視目的で設置される撮像装置では、通常のビデオカメラと比べて取得される画像に動きが少ない場合や注目すべきターゲットが限定される場合が多い。そこで、これらの特徴に適した圧縮技術が用いられることがあるが、これらの圧縮技術によって、部分的に著しい画質劣化が生じてしまう可能性がある。
【００２６】
例えば、動的ＧＯＰ技術という、動的にＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅｓ）を変更する技術がある。
【００２７】
ここで、動的ＧＯＰ技術について説明する。Ｈ．２６４／ＡＶＣやＨ．２６５／ＨＥＶＣでは、Ｉフレームと呼ばれるフレームと、Ｐフレームと呼ばれるフレームがある。また、Ｂフレームと呼ばれるフレームも存在する。
【００２８】
ここで、Ｉフレームは、当該圧縮対象のＩフレーム内の各領域において、他のフレームの画像を用いた予測を行うフレーム間予測（インター予測）を用いずに符号化を行うフレームである。つまり、Ｉフレームでは予測符号化を行う場合は、基本的にフレーム内予測（イントラ予測）が用いられる。また、ＰフレームやＢフレームは、当該圧縮対象のフレーム内のいずれかの領域を圧縮符号化する場合に、フレーム間予測を用いて符号化を行うフレームである。
【００２９】
動的ＧＯＰ技術とは、このＩフレームとＰフレームの割合を動的に制御する技術である。一般的に、ＩフレームはＰフレームに比べて符号量（データ量）が大きくなる。ＧＯＰ制御を行わない場合にはＩフレームとＰフレームの割合は一定だが、動的ＧＯＰ制御では、画像の内容等に応じてＩフレームをＰフレームで置き換えることで全体の符号量を小さくする技術である。言い換えると、この技術は、Ｉフレームを挿入する間隔を、状況に合わせて動的に変更する技術である。
【００３０】
ここで、ＩフレームとＰ／Ｂフレームについて、更に詳細に説明する。
【００３１】
例えば、フレームの画像サイズが３８４０×２１６０画素、フレームレートは３０ｆｐｓで、一秒間に３０枚の撮像を行う場合について説明する。圧縮の画質を決めるｑＰ（Ｑｕａｎｔｉｚａｔｉｏｎ  Ｐａｒａｍｅｔｅｒ）値は例えば、３２とすることができる。動的ＧＯＰ技術を用いない場合のデフォルトのＧＯＰ長は１秒とする。このとき、フレームレートが３０ｆｐｓなので、動的ＧＯＰ制御を行わない場合には、３０枚に１枚Ｉフレームが生成され、残りの２９枚はＰもしくはＢフレームとなる。
【００３２】
図４は、Ｉフレーム４１０、ＰもしくはＢフレーム４２０、ＧＯＰ長４３０の関係を模式的に示している。ここで模式図の縦軸はフレームのサイズ（符号量の大きさ）を表し、横軸は時間軸を示している。また、符号量の大きなＩフレーム４１０の後に、符号量の小さいＰフレーム４２０が２９枚作成されていることが示されている。このように、一般的に、ＩフレームがＰやＢフレームに比べて符号量が大きくなる。
【００３３】
なお、本実施形態ではＢフレームは想定せず、Ｐフレームのみを用いる場合について説明するが、各実施形態において、Ｂフレームも用いるようにしてもよい。
【００３４】
以上のように、動的ＧＯＰ技術によって、ＧＯＰ長（Ｉフレームが発生してから次のＩフレームまでの間隔）を長くすると、適宜、Ｉフレームの数を減らすことができるため、データ量の削減に効果的である。しかし、Ｐ／Ｂフレームでは、他のフレームの画像を用いて、符号化するため、他のフレームにおける画質劣化の影響を受け易い。つまり、Ｉフレームで符号化するまで、同じ場所に画質劣化が継続して発生することがある。
【００３５】
また、動的ＧＯＰ技術のほかに、動的ＲＯＩ技術という、動的にＲＯＩ（Ｒｅｇｉｏｎ  ｏｆ  Ｉｎｔｅｒｅｓｔ）の位置を変更する技術がある。ＲＯＩとは、ユーザが注目すべき領域であり、ユーザによって設定されたり、撮像装置によって画像を解析して自動的に設定されたりする領域である。
【００３６】
動的ＲＯＩとは、画像中の動体が検出された位置等に応じて、動的にＲＯＩを設定する位置を変更して、部分的に高画質化する技術である。言い換えると、画像中の画質を高めるべき領域の位置を、状況に合わせて動的に変更する技術である。
【００３７】
ここで、圧縮符号化では、画像中の各領域を、それぞれ異なる量子化パラメータを用いて量子化して、符号化することが可能である。ここで、大きい量子化パラメータ値（以下ｑＰ値と称する）で圧縮するほど、画質は低下する。これは、量子化パラメータ値が大きくなるほど、量子化ステップが大きくなるからである。
【００３８】
よって、動的ＲＯＩ技術によって、重要な領域のみ画質を向上させた場合、例えば、ＲＯＩ以外の領域で、何らかの要因で画質劣化が生じていると、その劣化をさらに目立たせる可能性がある。
【００３９】
以上のように、本実施形態は、監視目的の撮像装置以外にも適用可能ではあるが、上述した画質劣化が目立つ可能性が高い技術と併用した場合により効果的である。
【００４０】
図３は、各実施形態で低減しようとしている画質劣化を模式的に示す図である。
【００４１】
図３は、一例として、ＩＤカードの確認等に用いられるフラップゲートを動体である人３２０が通過するシーンを表している。オフィスビルなどでよくみられるように、背景となる壁領域３１０は、比較的、平坦である。そこにフラップゲートを通過する人３２０が通行しているが、その後方に画像の劣化３３０が生じている。図３に示したように、壁領域３１０が、比較的、単調な（平坦な）白っぽい色であるのに対して、通行人３２０の頭部が濃い色（黒色等）となる等、コントラストの差が大きい場合に、これらの画質劣化３３０が目立ちやすくなる。このような画質劣化の原因は、コントラストの差や、フレーム間予測における予測精度（動きベクトル探索精度）の低下が原因であると考えられる。いずれにしても、非動体領域（動体領域以外の領域）において、動体が通過した後に、画質劣化が発生することがある。つまり、動体がいなくなっても、動体の影響で壁等の非動体領域に画質劣化が残ってしまうことがある。
【００４２】
次に、図５のフローチャートを用いて、第１実施形態に係る撮像装置１００による処理について説明する。
【００４３】
Ｓ５１０において、制御部２３０は、画像データに関する設定（情報）を記憶部２５０から取得して、撮像部２１０に設定する。ここで、画像データに関する情報とは、例えば、生成する画像のフレームレートや画像サイズ（解像度）である。例えば、本実施形態において、画像サイズは３８４０×２１６０画素、フレームレートは３０ｆｐｓとする。
【００４４】
また、Ｓ５１０において、制御部２３０は、圧縮符号化に関する設定（情報）を記憶部２５０から取得して、圧縮符号化部２６０に設定する。本実施形態では、一例として、Ｈ．２６４に準拠した符号化で、動的ＲＯＩを実行する場合を想定する。また、ｑＰ値はＲＯＩ内では３２、非ＲＯＩ（ＲＯＩ以外の領域）では４７とする。また本実施形態では動的ＧＯＰは行わずＧＯＰ長は１０秒で固定とした場合を例として説明するが、固定ＧＯＰである場合に限定されるものではなく、動的ＧＯＰも併用してもよい。
【００４５】
次に、Ｓ５２０において、撮像部２１０は、設定された情報に従って、画像データを生成する。そして生成した画像データを、動体検出部２６０と圧縮符号化部２４０に出力する。
【００４６】
Ｓ５３０において、動体検出部２６０は、Ｓ５２０で生成された画像データの各フレームに対して動体検出処理を行う。画像データの全てのフレームに対して動体検出処理を行ってもよいし、数フレーム間隔で動体検出処理を行ってもよい。ここで動体検出の方法は複数の方法が知られている。一般的にはフレーム間の差分から動き領域を検出するフレーム間差分法や、背景画像を生成しておき、その差分から背景に対する前景として動き領域を検出する背景差分法がある。
【００４７】
フレーム間差分法を用いる場合は、動体検出部２６０は、動体検出対象のフレーム（現在のフレーム）の画素値と、そのフレームとは異なるタイミングに撮像されたフレーム（例えば１つ前のフレーム）の画素値との差分値を算出する。そして、その差分値が所定の閾値以上である領域を動体領域とする。
【００４８】
また、背景差分法を用いる場合は、例えば、動体がいないと想定される時に撮像されたフレームを背景画像とする。そして、その背景画像の画素値と、現在のフレームの画素値との差分値を算出する。そして、その差分値が所定の閾値以上である領域を動体領域とする。
【００４９】
なお、所定の閾値を超える画素の位置に基づいて、差分値が閾値よりも小さい画素を動体領域としてもよい。例えば、差分値が閾値よりも小さい画素の周りが、差分値が閾値以上の画素によって囲まれている場合は、その差分値が閾値よりも小さい画素も動体領域としてもよい。
【００５０】
背景差分法を用いる場合は、次のようにしてもよい。つまり、動体検出部２６０は、取得したフレームを複数の領域（ブロック）に分割して特徴量を抽出し、領域ごとに背景画像における特徴量との比較を行うことで、背景か前景（動体領域）かを判定する。ここでの領域は、ここではＨ．２６４のマクロブロックの単位である１６×１６ピクセルとするが、領域のサイズは画像サイズ等によって変更することが可能である。ここで用いた特徴量としては、領域内のピクセル輝度値をＤＣＴ（離散コサイン変換）変換した場合の、低周波数側の変換係数などを用いることができる。また、色情報なども用いてもよい。また、背景画像として、複数のフレームの平均値等を用いてもよい。
【００５１】
なお、背景画像の特徴量は、領域ごとに用意することができる。この領域ごとの特徴量は、画像が時間的に変化することに伴って、徐々に更新される。更新の方法としては、背景画像として参照される頻度が少なくなったものを新しい背景画像で置き換える方法を用いることができる。また、参照された際に現フレームの領域の特徴量が反映されるよう更新する方法も用いることができる。前者は背景自体がかわった場合に対応することができ、後者は日照の変化などで背景が徐々に変化していく場合に対応することができる。
【００５２】
動体検出部２６０は、こうして領域ごとに、保持されている複数の背景の特徴量と比較をすることで、背景（非動体領域）であるか、前景（動体領域）であるかを判断する。そして、孤立点除去（前景と判断された画素に囲まれた背景を前景とする処理）等の後処理を施して、最終的な動体領域を決定する。こうして取得した動体領域の位置を示す情報を、記憶部２３０に記憶させる。また、動体検出部２６０は、動体領域の位置を示す情報を領域特定部２７０に出力する。領域の位置を示す情報は、例えば、フレームの左上を原点とする、画素位置に基づく座標で表してもよいし、領域の位置が固定であれば、領域の番号であってもよい。
【００５３】
Ｓ５４０において、領域特定部２７０は、Ｓ５３０で取得した現フレームの動体領域の位置と、それより前のフレームで特定された動体領域の位置とを用いて、画質劣化が生じる可能性の高い領域である劣化可能性領域を特定する。
【００５４】
具体的には、領域特定部２７０は、記憶部２３０に記憶されている前フレームの動体領域の位置を示す情報を取得し、現フレームの動体領域の位置と比較して、現フレームでは非動体領域であるが、前フレームでは動体領域であった領域を特定する。
【００５５】
また、領域特定部２７０は、現フレームでの動体領域をＲＯＩとする。また、現フレームにおいて非動体領域で、かつ、前フレームでも非動体領域である領域は非ＲＯＩとする。また、上述したように、現フレームにおいて非動体領域で、かつ、前フレームで動体領域だった変化領域を、画質劣化が発生する可能性がある劣化可能性領域とする。そして、これらの特定結果を圧縮符号化部２４０に出力する。このように、劣化可能性領域は、動体領域から非動体領域へと変化した変化領域である。
【００５６】
次に、Ｓ５５０において、圧縮符号化部２４０は、Ｓ５４０で特定された各領域に応じた圧縮符号化の内容を決定する。例えば、予測方法やパラメータ（例えばｑＰ値）を決定する。
【００５７】
例えば、ＲＯＩについては画質を高くするため、ｑＰ値を３２とする。また、非ＲＯＩについては、ＲＯＩよりも１５大きいｑＰ値とする。つまり、ｑＰ値を４７とする。また、劣化可能性領域については、非ＲＯＩ領域であるが、ｑＰ値を３２とする。このように、劣化可能性領域については、少なくとも他の非動体領域（ここでは非ＲＯＩ）よりもｑＰ値を小さくする。このようにすることで、画質劣化が発生するような状況であっても、それを低減することができる。なお、前述したように、ｑＰ値が小さい方が、大きいときよりも画質が高くなる。なお、ここでは、劣化可能性領域のｑＰ値をＲＯＩと同じｑＰ値とした。しかし、ＲＯＩのｑＰ値として、より大きい値（たとえばｑＰ値が３６程度）が設定されている場合には、画質劣化による劣化を抑えるためにｑＰ値をＲＯＩよりも小さく（画質を高く）してもよい。
【００５８】
また、劣化可能性領域は、数フレームに渡って、ｑＰ値を小さく（画質を高く）してもよいが、１フレームだけ、ｑＰ値を小さくするだけでも効果的である。
【００５９】
劣化可能性領域は、次のフレームで非ＲＯＩとなる可能性が高く、その場合には、ｑＰ値が大きな値となる。つまり、本実施形態の処理を実行せずに、画質劣化が生じてしまった場合、非ＲＯＩの状態が続いてしまう。そうすると、Ｉフレームが発生するまで、それ以降のフレームでも画質劣化した状態が続いてしまう。そのような劣化を抑えるために、一時的に符号量は大きくなるがｑＰ値を小さく（画質を高く）して画質劣化の痕跡をなくしておくことで、それ以降のフレームでｑＰ値を大きくする場合でも、小さい符号量で画質劣化の少ないフレームを生成できることになる。
【００６０】
また、劣化可能性領域に対する処理として、ｑＰ値を変えるのではなく、次のようにしてもよい。つまり、劣化可能性領域を、強制的にフレーム内予測を用いて符号化するようにしてもよい。言い換えると、フレーム間予測を用いないよう制限してもよい。なお、Ｐフレームであっても、部分的にはフレーム内予測を用いて符号化することができる。一般的に、前フレームで前景（動体領域）と判定され、現フレームで背景（非動体領域）となる領域は、予測残差が大きくなるためにフレーム間予測よりもフレーム内予測を用いて符号化される可能性が高くなる。ただし、当該領域の一部に前景が残っている場合などは、予測残差があまり大きくならずにフレーム内予測が選択されない場合がある。このような場合に、当該領域内の予測残差が大きい数ピクセル分の劣化が解消されずに残ってしまうことがある。そのため、劣化可能性領域を、フレーム内予測を用いて符号化することで、画質劣化を解消することができる。他にも、劣化可能性領域を、強制的に、Ｉ−ＰＣＭモードや変換量子化バイパスモードなどを用いて符号化するようにしてもよい。
【００６１】
また、劣化可能性領域に対する処理として、次のようにしてもよい。
【００６２】
Ｈ．２６５では最初にフレームを６４×６４のＣＴＵ（Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ）に分割する。そして、画像の複雑さなどに応じてＣＴＵを更にＣＵ（Ｃｏｄｉｎｇ  Ｕｎｉｔ）に分割する。大きな単位でインター予測やイントラ予測を行った際の予測残差を評価すると、一部に残った予測残差の影響が小さくなりフレーム内予測が選択されにくくなることがある。そのため、劣化可能性領域に対して、より小さいＣＵにブロック分割（領域分割）されやすくするようにしてもよい。つまり、ブロック分割され易い条件を用いて、ブロック分割を判断するようにしてもよい。例えば、ブロックの複雑度が高い場合に分割を行うという条件の場合は、その判断条件の閾値を下げればよい。より小さいＣＵにした方が、より細かく予測方法やパラメータを設定して符号化できるため、画質を良くすることができる。
【００６３】
また、ＧＯＰ長が長いほど、一度生じた画質劣化が画像中に長く残存する。そのため、設定されているＧＯＰ長に応じて劣化可能性領域の符号化制御を変えてもよい。設定されているＧＯＰ長が長い場合には、より強い画質劣化を抑制する処理を行う。ここでより強い画質劣化抑制処理とは、ｑＰ値を小さくする場合や、数フレームに渡ってフレーム内予測を用いる場合等が考えられる。
【００６４】
図５のフローチャートに戻り、Ｓ５６０において、圧縮符号化部２４０は、Ｓ５５０にて、決定した圧縮符号化の方法やパラメータに従って、現在のフレームを圧縮符号化する。そして圧縮符号化された画像データは、通信部２５０によって、外部の装置に送信される。なお、画像データは、送信せずに、図示を省略するストレージに記録するようにしてもよい。
【００６５】
Ｓ５７０において、制御部２２０は、圧縮符号化すべき画像データがあるか否かを判断する。圧縮符号化すべき画像データがあれば、Ｓ５２０に戻って、次の画像データの処理を継続する。圧縮符号化すべき画像データがなければ、処理を終了する。
【００６６】
なお、ＧＯＰ長とビットレートの関係は、図４に示すように、動きのある図３のようなシーンであっても、ＰフレームはＩフレームの１０分の１程度の大きさとなる。そして、より動きの少ないシーンではその比率はさらに小さくなる。よってＧＯＰ間隔を長くすると、その分ビットレートは小さくなる。
【００６７】
具体的には、３０ｆｐｓでＩフレームに対するＰフレームのデータ量の比が０．１程度のときは次のようになる。つまり、ＧＯＰ長が２秒の場合は、ＧＯＰ長が１秒の場合と比べてビットレートは約８８％に削減される。また、ＧＯＰ長が５秒の場合は、ＧＯＰ長が１秒の場合と比べて、ビットレートが８１％になる。そして、ＧＯＰ長が２０秒の場合は、ＧＯＰ長が１秒の場合と比べて、ビットレートが７８％程度に削減される。
【００６８】
また、より動きが少なくなり、Ｉフレームに対するＰフレームのデータ量の比が０．０１程度のときは次のようになる。つまり、ＧＯＰ長が２秒の場合は、ＧＯＰ長が１秒の場合と比べてビットレートが約６１％に削減される。ＧＯＰ長が５秒の場合は、ＧＯＰ長が１秒の場合と比べてビットレートが３９％に削減される。そして、ＧＯＰ長が３０秒の場合は、ＧＯＰ長が１秒の場合と比べてビットレートが２６％程度にまで削減される。よって、動きが少ないシーンでＧＯＰ長を長くすると、ビットレート削減の効果はより顕著になる。
【００６９】
ＧＯＰ長と画質の関係については、一般的にＧＯＰ長が長くなると主観的な画質は劣化がひどくなっていることが多い。しかし、ＭＳＥ（平均二乗誤差）やＰＳＮＲ（ピーク信号対雑音比）ＳＳＩＭ（構造的類似性）など画質評価に一般的に用いられる指標では、その劣化の状態を定量的に検出するのは難しい。具体的には、図３で示したような動きのある画像の場合でも、最初の５フレームでＰＳＮＲが３．８％程度、１５フレームで４．８％程度下がる。しかし、３０フレームでも５％程度であり、それ以降ほとんど変わらなくなる。
【００７０】
また、同じ位置において画質劣化が継続する時間は、ＧＯＰ長に依存することが多い。図３の画像では、左右から現れた人がフラップゲートを通過して見えなくなるまでに約１０秒かかっているとする。また。たまにしか人が通らない場合を想定し、ＧＯＰ長が３０秒であるとする。また、３０秒のうち１０秒間においてＩフレームに対するＰフレームのデータ量の比０．１であるとする。また、残りの２０秒間においてをＩフレームに対するＰフレームのデータ量の比が０．０１であるとする。そうすると、ＧＯＰ長が３０秒である場合は、ＧＯＰ長が１秒の場合と比べてビットレートを約５７％とすることができる。しかし、人が通過した後に最大で２０秒間、画質劣化が画像の広い範囲に残ることになる。
【００７１】
これに対して、本実施形態の処理を行った場合には、たとえば劣化可能性領域のｑＰ値をＲＯＩと同じ値とした場合でも、ＧＯＰ長が１秒の場合と比べて約６３％のビットレートとなる。つまり、本実施形態の処理を行わずにＧＯＰ長を３０秒とした場合と比較して、ビットレートは訳１０％上昇するが、この程度の上昇で、画質劣化の目立たない動画の画像データを生成することができる。
【００７２】
また、本実施形態で説明した動体領域の検出を用いて劣化可能性領域を特定する方法は、動きベクトル探索に基づいて画質を制御する方法と比較して、次のメリットがある。
【００７３】
動きベクトル探索を用いると、フレームレートに対して相対的にスピードが遅い動きに対しては検出精度が悪くなることがある。具体的には、たとえば人が受付に来て手続きをするシーンなどにおいて、受付まで歩いてくるフレームでは正しく検出できるが、受付に留まっているフレームでは、前フレームとの動きの差がわずかであるために正しく動きベクトルを検出できないことがある。動きとして正しく検出されなければ、動き領域と非動き領域との境界領域の検出も困難になる。これに対して本実施形態で示した方法（特に背景差分法）では、背景には受付で手続きをする人は存在しないために、たとえその動きがわずかであっても、手続きをする人を前景として検出できる。このため、小さな動きや遅い動きであっても正しく検出できるために、「劣化可能性領域」を特定する精度も高くなる。
【００７４】
また、動きベクトル探索では動体が大きく、かつ、動体内で画像特徴に差が小さい可能性がある。具体的には、トラックなどが通過する際に、荷台の領域内は画像特徴がほとんど同じとなる。その場合、前フレームでは荷台の前方、現フレームでは荷台の後方となる領域における動きベクトルは検出できない場合がある。このような場合に、荷台の前方と後方にそれぞれ、動き領域と静止領域のペアが生じ、本来検出したい境界ではない荷台の中間部分に境界領域が設定される可能性がある。これに対して本実施形態で示した方法（特に背景差分法）では、背景は道路でトラックは存在しないために、正しくトラック全体を検出することができる。これによりトラックの荷台はすべてＲＯＩとされ、トラックが通過した後の領域である、トラックの後方に精度良く劣化可能性領域を設定することが可能となる。
【００７５】
以上説明したように、第１実施形態に係る撮像装置１００では、圧縮符号化対象とする現在のフレームと、その前のフレームの動体検出結果に基づき、現フレームにおいて、画質が劣化する可能性の高い劣化可能性領域を特定する。そして、その領域について、他の非動体領域とは異なる符号化方法又は符号化パラメータを用いて圧縮符号化を行うことで、画質劣化する可能性を低減することができる。なお、ここでいう前のフレームとは、直前のフレームでもよいし、数フレーム前のフレームでもよい。また、本実施形態のように画質劣化の可能性を低減することで、結果として、動的ＧＯＰ技術を用いるなどして、ＧＯＰ長を長くしても、画質の劣化が目立ちにくくすることができる。
【００７６】
＜第２実施形態＞
次に、第２実施形態について説明する。なお、第１実施形態と同様な部分については、適宜、説明を省略する。
【００７７】
第１実施形態では、現フレームと前フレームの動体検出結果に基づいて、現フレームでは非動体領域であるが、前フレームでは動体領域であった領域を劣化可能性領域として特定した。本実施形態では、画質劣化があまり目立たない複雑度の高い領域を考慮した制御を行う。つまり、本実施形態においては、背景画像の複雑度を領域ごとに算出して記憶しておき、複雑度の大きさに応じて劣化可能性領域の圧縮符号化を変える実施形態について説明する。
【００７８】
図６は、第２実施形態に係る撮像装置１００を示すブロック図である。但し、図８に示すブロック図は、複雑度算出部２８０以外は、図２に示す第１実施形態の撮像装置１００とほぼ同様であるため、適宜、その説明は省略する。
【００７９】
複雑度算出部２８０は、動体検出部２６０によって取得された背景画像の複雑度を、背景画像内の領域ごとに算出する。なお、背景差分法を用いずにフレーム間差分法を用いる場合は、現在のフレームの各領域の複雑度を算出するようにしてもよい。
【００８０】
次に、図７のフローチャートを用いて、第２実施形態に係る撮像装置１００による処理について説明する。ただし、Ｓ７１０、Ｓ７２０、Ｓ７２０、及び、Ｓ７５０以外は、図５に示す各ステップと同様であるため説明は省略する。
【００８１】
Ｓ７１０において、撮像部２１０は、背景画像を生成するための複数の画像（フレーム）を生成する。そして、それを記憶部２３０に記憶させる。
【００８２】
ステップ７２０において、複雑度算出部２８０は、Ｓ７１０で取得した背景画像生成用の画像を用いて、下記のように背景画像を生成する。
【００８３】
まず、動体検出部２６０は、記憶部２３０に記憶させた各フレームをそれぞれ所定の領域に分割する。例えば、１６×１６画素の領域に分割する。例えば、解像度が４Ｋ（３８４０×２１７６画素）の場合には、３２６４０個の領域に分割することとなる。
【００８４】
そして、動体検出部２６０は、各領域の色情報や周波数成分等を特徴量として、各フレームにおけるそれぞれ対応する位置（同一の位置）にある各領域を、特徴の似ている領域が同じグループになるようにクラスタリング（分類）する。そして、最も大きなクラスタに含まれる領域のみを積算したものを背景画像に用いる領域とする。各フレームの画素値の平均値や中央値を算出し、それを背景画像に用いる領域の画像とする。このようにすることで、動体が存在する可能性がある画像の領域を除外することができる。そして、各領域において、同様な処理を行い、それらの領域をつなげたものを背景画像とする。
【００８５】
なお、背景画像の生成法は様々な方法が知られている。領域ごとに複数の背景を候補領域として保持する方法でもよし、時間変化につれて背景画像を変化させる方法を用いてもよい。例えば、背景画像の生成法は、第１実施形態のＳ５３０で示したように、一定時間の画像から小領域ごとに背景を抽出してつなぎ合わせても生成してもよいし、もしくは動きのないフレームを選択して背景画像とすることも可能である。図８に、図３で示したフラップゲートシーンの画像から生成した背景画像の例を示す。図８のように、可能な限り動体が存在しない背景画像を生成する。
【００８６】
また、背景画像を生成するために事前に各フレームの画像を取得しておく場合を想定している。しかし、背景画像の生成は、実施形態１で示したように、画像の圧縮・配信を行いながら生成・更新を行うことも可能である、ここで説明する場合に限定されるものではない。
【００８７】
次に、Ｓ７３０において、複雑度算出部２８０は、Ｓ７２０で生成した背景画像の複雑度を領域ごとに算出する。ここでいう領域とは、背景画像を生成するときに分割した各領域である。
【００８８】
複雑度算出部２８０は、例えば、カーネルサイズ１３×１３のフィルタによるフィルタリング処理を用いて各領域の複雑度を算出する。このフィルタは、垂直方向にはローパスフィルタ、水平方向にはバンドパスフィルタとなるカーネルと、その垂直成分と水平成分を交換したカーネルを用いることで、縦方向と横方向のエッジを抽出する。そして、ピクセルごとに算出したエッジの大きさを小領域ごとに積算することで、各小領域に対する複雑度を算出することができる。
【００８９】
図９に、図８で取得した背景画像に対して複雑度を算出した結果から、設定した閾値に基づき複雑度の高い領域と低い領域に分類した例の模式図を示す。図９では、所定の閾値よりも複雑度の小さい領域９１０と、所定の閾値以上の複雑度である領域９２０とが示されている。図８では、床部分に模様があるため、複雑度が高くなっている。なお、複雑度は２段階に分けなくてもよく、更に多数の段階に分類してもよいし、単に、複雑度合いを示す値そのものを用いてもよい。
【００９０】
Ｓ７５０において、圧縮符号化部２４０は、Ｓ５４０で取得した領域分割の結果と、Ｓ７３０で取得した背景画像の各領域の複雑度に基づいて符号化の制御を行う。
【００９１】
具体的には、Ｓ５５０と同様に、動体領域（ＲＯＩ）のｑＰ値を３２、非ＲＯＩのｑＰ値を４７とする。そして、劣化可能性領域に対しては、複雑度が高い領域であれば非ＲＯＩと同じｑＰ値４７を、複雑度の低い領域であればＲＯＩ内と同じｑＰ値３２を設定する。このように、劣化可能性領域であっても、その領域に対応する背景画像の複雑度に応じてｑＰ値を変えている。
【００９２】
ここで、複雑度に応じた劣化可能性領域の符号化制御には、様々な方法を用いることが可能である。具体的には、劣化可能性領域のｑＰ値を、背景の複雑度の値に応じて、ＲＯＩ内外の値に連続的に変化させることが可能である。つまり、複雑度が高いほど、非ＲＯＩのｑＰ値を４７に近づき、複雑度が低い、ＲＯＩのｑＰ値を４７に近づくように、劣化可能性領域のｑＰ値を決定してもよい。
【００９３】
また、劣化可能性領域の複雑度が閾値より低ければ、その領域の符号化モードをフレーム内予測モード（イントラ予測モード）とするようにしてもよい。
【００９４】
つまり、複雑度の高い領域は、ｑＰ値を下げたり符号化モードをイントラとしたりする場合の符号量の上昇が大きい。そのために、コスト対効果を考えると、複雑度の低い領域のみを対象として画質劣化対策を行う方が、ビットレートが上昇し過ぎないようにしながら、画質劣化を抑えることが可能となる。
【００９５】
以上説明したように、第２実施形態に係る撮像装置１００では、現フレームと前フレームとの動体検出結果の比較に加えて、背景の複雑度も考慮してｑＰ値等の符号化パラメータや符号化モード（イントラ予測やインター予測）を決定している。そのため、主観的な画質に影響の少ない領域を高画質化してビットレートの上昇を招くことを抑制し、主観的な画質への影響の大きい領域のみを対象とした画質劣化の抑制を行うことが可能となる。
【００９６】
＜第３実施形態＞
第２実施形態では、背景画像を生成し、背景画像に対する複雑度を算出することで、劣化可能性領域の符号化制御を、該領域の背景の複雑度に応じて変化させる方法について説明した。第３実施形態においては、画質劣化が目立つ劣化可能性領域を抽出するために、背景画像と前景（動体領域）とのコントラスト差が大きい領域を、画質劣化が目立つ領域であると判断する。
【００９７】
具体的には、第２実施形態において、Ｓ７３０で背景画像の複雑度を算出した後に、背景画像の領域ごとの色情報を取得しておく。ここで色情報とは、領域ごとのＲＧＢの各平均値などが考えられる。
【００９８】
そして、Ｓ７５０で劣化可能性領域の符号化制御を行う際に、当該劣化可能性領域の色情報と、対応する背景画像の領域の色情報を比較し、差異が大きい場合（コントラストが大きい場合）により強い画質劣化抑制処理を行う。例えば、色情報の差分の平均値が所定の閾値以上の場合に差異が大きいと判断し、複雑度が低い領域と同様な処理を行う。ここでより強い画質劣化抑制処理とは、ｑＰ値を小さくする場合や、符号化モードをイントラにすることが考えられる。
【００９９】
（その他の実施形態）
次に、図１０を用いて、各実施形態の各機能を実現するためのハードウェア構成を説明する。なお、撮像装置１００におけるレンズや機構部分等以外は、図１０に示すハードウェア構成により実現可能である。
【０１００】
ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４５１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４５０が実行するコンピュータプログラムを一時的に記憶する。また、ＲＡＭ４５１は、通信インターフェイス４５３を介して外部から取得したデータ（コマンドや画像データ）などを一時的に記憶する。また、ＲＡＭ４５１は、ＣＰＵ４５０が各種の処理を実行する際に用いるワークエリアを提供する。また、ＲＡＭ４５１は、例えば、フレームメモリとして機能したり、バッファメモリとして機能したりする。
【０１０１】
ＣＰＵ４５０は、ＲＡＭ４５１に格納されるコンピュータプログラムを実行する。ＣＰＵ以外にも、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等のプロセッサやＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）を用いてもよい。
【０１０２】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）４５２は、オペレーティングシステムのプログラムや画像データを記憶する。
【０１０３】
ＨＤＤ４５２に保存されているコンピュータプログラムやデータは、ＣＰＵ４５０による制御に従って、適宜、ＲＡＭ４５２にロードされ、ＣＰＵ２２１によって実行される。ＨＤＤ以外にもフラッシュメモリ等の他の記憶媒体を用いてもよい。バス４５４は、各ハードウェアを接続する。バス４５４を介して各ハードウェアがデータをやり取りする。以上が各実施形態におけるハードウェア構成である。
【０１０４】
なお、本発明は、上述の実施形態の１以上の機能を実現するプログラムを１つ以上のプロセッサが読出して実行する処理でも実現可能である。プログラムは、ネットワーク又は記憶媒体を介して、プロセッサを有するシステム又は装置に供給するようにしてもよい。また、本発明は、上述の実施形態の１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１０５】
また、撮像装置の各部は、図１０に示すハードウェアにより実現してもよいし、ソフトウェアにより実現することもできる。
【０１０６】
また、本発明は以上説明した各実施形態に限定されることはなく、本発明の要旨を逸脱しない範囲において種々変更が可能である。例えば、各実施形態を組み合わせたものも本明細書の開示内容に含まれる。
【符号の説明】
【０１０７】
２１０  撮像部
２２０  制御部
２３０  記憶部
２４０  圧縮符号化部
２５０  通信部
２６０  動体検出部
２７０  領域特定部
２８０  複雑度算出部
【図１】
2019068248.tif 000003
【図２】
2019068248.tif 000004
【図３】
2019068248.tif 000005
【図４】
2019068248.tif 000006
【図５】
2019068248.tif 000007
【図６】
2019068248.tif 000008
【図７】
2019068248.tif 000009
【図８】
2019068248.tif 000010
【図９】
2019068248.tif 000011
【図１０】
2019068248.tif 000012