(57)【特許請求の範囲】
【請求項１】
動画像を構成するフレーム内のオブジェクトに応じた特定領域を検出する検出手段と、
前記動画像を構成するフレームにおける特定領域を、該フレームよりも過去の２つの異なるフレームのそれぞれから検出された特定領域の情報を用いて推定する推定手段と、
前記推定手段により推定された着目フレームの特定領域と、該着目フレームから前記検出手段により検出された特定領域と、の差が所定範囲内である場合、前記着目フレームよりも後の後続フレームに対して前記推定手段が推定した特定領域が非特定領域よりも高い画質で符号化されるように、前記推定手段が推定した特定領域の情報に応じて前記後続フレームの符号化のための符号化パラメータを制御し、前記差が前記所定範囲内でない場合、前記制御を実行しない制御手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記差は、前記推定手段により推定された前記着目フレームにおける特定領域のサイズと、前記着目フレームから前記検出手段により検出された特定領域のサイズと、の差であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記差は、前記推定手段により推定された前記着目フレームにおける特定領域の位置と、前記着目フレームから前記検出手段により検出された特定領域の位置と、の差であることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
更に、
前記推定手段により推定された前記後続フレームの特定領域を、前記差の情報を用いて変更する変更手段を有し、
前記制御手段は、前記変更手段による変更後の特定領域が、非特定領域よりも高い画質で符号化されるように前記後続フレームの符号化のための符号化パラメータを制御することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記制御手段は、前記符号化パラメータとして量子化ステップを制御することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の検出手段が、動画像を構成するフレーム内のオブジェクトに応じた特定領域を検出する検出工程と、
前記画像処理装置の推定手段が、前記動画像を構成するフレームにおける特定領域を、該フレームよりも過去の２つの異なるフレームのそれぞれから検出された特定領域の情報を用いて推定する推定工程と、
前記画像処理装置の制御手段が、前記推定工程で推定された着目フレームの特定領域と、該着目フレームから前記検出工程で検出された特定領域と、の差が所定範囲内である場合、前記着目フレームよりも後の後続フレームに対して前記推定工程で推定した特定領域が非特定領域よりも高い画質で符号化されるように、前記推定工程で推定した特定領域の情報に応じて前記後続フレームの符号化のための符号化パラメータを制御し、前記差が前記所定範囲内でない場合、前記制御を実行しない制御工程と
を有することを特徴とする画像処理方法。
【請求項７】
前記差は、前記推定工程で推定された前記着目フレームにおける特定領域のサイズと、前記着目フレームから前記検出工程で検出された特定領域のサイズと、の差であることを特徴とする請求項６に記載の画像処理方法。
【請求項８】
コンピュータを、請求項１乃至５の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像内の特定の領域を他の領域よりも高画質に符号化するための技術に関するものである。
【背景技術】
【０００２】
動画像の伝送や蓄積再生を行うために画像信号の符号化技術が用いられる。動画像の符号化技術としてはInternational Standard 13818 (MPEG-2)などの国際標準符号化方式が知られている。また、他の国際標準符号化方式としてISO／IEC International Standard 14496-2 (MPEG-4 Visual)、ITU-T Rec. H.264 Advanced Video Coding | ISO/IEC International Standard 14496-10(MPEG-4 AVC／H.264、以下H.264と呼ぶ)などが知られている。
【０００３】
これらの技術はビデオカメラやレコーダ等の分野にも用いられており、特に近年では監視用ビデオカメラ（以下、監視カメラと呼ぶ）への適用が積極的に行われている。監視カメラへの用途においては、長時間の録画を行う必要性から、比較的低ビットレートで符号化して符号化データのサイズを抑えるケースが多い。しかし、低ビットレートで符号化することにより多くの情報が失われて画質が劣化するために、人物の顔の特定等、本来の用途として機能しない問題があった。
【０００４】
そこで画面全体を一様に符号化するのではなく、人物の顔等、使用用途上重要と思われる領域を特定領域、そうでない領域を非特定領域として検出し、特定領域は画質を向上させ、非特定領域のみ符号量を抑えるように符号化する技術が一般的に用いられている。
【０００５】
しかし、この技術では、カメラの性能が低かったり、検出したい物体の動きが速すぎたりするなどして、実際に検出したい領域ではない領域を特定領域として誤検出してしまうという問題があった。こうした問題を解決するために、たとえば特許文献１では、特定領域の位置や顔の大きさに応じて、特定領域の妥当性を検証し、特定領域に対する量子化値を制御する画像符号化方法が開示されている。また、特許文献２では、検出した特定領域をトラッキングし、実際に符号化するフレームの特定領域を補正する画像符号化方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−００５２３８号公報
【特許文献２】特開２００９−００５２３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、高い精度で特定領域を検出する場合、特定領域検出処理の負荷が大きくなり、符号化処理に対して、特定領域が検出されるまでに数フレームの遅延が発生する。従来技術では、特定領域検出に遅延が発生したケースに対応する技術は特に言及されていない。遅延した特定領域は実際に符号化されるフレームにおける特定領域と異なる場合があり、遅延した特定領域に対して符号化パラメータを変更しても適切に画質向上されない。また、遅延した特定領域から符号化するフレームの特定領域を予測し、予測した特定領域に対して符号化パラメータを変更する方法も考えられるが、特定領域の予測が外れる場合があり、適切に画質向上されない課題があった。
【０００８】
本発明はこのような問題に鑑みてなされたものであり、画面全体の符号量を増加させることなく、意図した特定領域を他の領域よりも高画質に符号化することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の目的を達成するために、例えば、本発明の画像処理装置は、動画像を構成するフレーム内のオブジェクトに応じた特定領域を検出する検出手段と、
前記動画像を構成するフレームにおける特定領域を、該フレームよりも過去の２つの異なるフレームのそれぞれから検出された特定領域の情報を用いて推定する推定手段と、
前記推定手段により推定された着目フレームの特定領域と、該着目フレームから前記検出手段により検出された特定領域と、の差が所定範囲内である場合、前記着目フレームよりも後の後続フレームに対して前記推定手段が推定した特定領域が非特定領域よりも高い画質で符号化されるように、前記推定手段が推定した特定領域の情報に応じて前記後続フレームの符号化のための符号化パラメータを制御し、前記差が前記所定範囲内でない場合、前記制御を実行しない制御手段と
を有することを特徴とする。
【発明の効果】
【００１０】
本発明の画像符号化方式は、符号化工程に対して特定領域が遅延して検出される場合でも、特定領域の予測を行い、予測特定領域の妥当性を検証することにより、画面内に符号量を適切に割り当て、特定領域を高画質にすることができる。
【図面の簡単な説明】
【００１１】
【図１】画像処理装置の機能構成例を示すブロック図。
【図２】画像処理装置が行う符号化処理のフローチャート。
【図３】画像処理装置の機能構成例を示すブロック図。
【図４】画像処理装置が行う符号化処理のフローチャート。
【図５】符号化処理の具体例を示す図。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の一つである。
【００１３】
［第１の実施形態］
本実施形態に係る画像処理装置は、動画像を構成する各フレームの画像を入力し、入力した画像を、設定された符号化パラメータを用いて順次符号化して出力する画像処理装置である。先ず、本実施形態に係る画像処理装置の機能構成例について、図１のブロック図を用いて説明する。
【００１４】
動画像を構成する各フレームの画像は符号化部１０１及び特定領域検出部１０２に入力される。
【００１５】
符号化部１０１は、入力された各フレームの画像を、制御部１０５から供給される符号化パラメータを用いて符号化する。本実施形態ではこの符号化パラメータは量子化ステップであるものとして説明する。しかし、符号化パラメータには量子化ステップ以外を適用してもよく、量子化テーブルや符号化方式によって存在するフィルタ係数等、符号量や画質を調整出来るパラメータであればよい。また、本実施形態では、符号化部１０１の符号化方式としてH.264を用いるが、これに限るものではなく、例えば、MPEG-2方式を用いてもよい。そして符号化部１０１は、符号化した結果を適当な出力先に出力する。出力先については特に限定するものではなく、適当なメモリであってもよいし、ネットワークを介して外部装置に対して送信してもよい。
【００１６】
特定領域検出部１０２は、入力された画像から、特定の被写体が写っている領域を特定領域として検出する。特定領域の定義については特に限定するものではなく、人の顔や人体などの高画質化したい領域であればよく、動物の顔や車のナンバープレート等、ユースケースによって重要と位置付けられる領域であればよい。そして特定領域検出部１０２は、画像中における特定領域を特定するための情報（特定領域の左上隅及び右下隅の座標位置、特定領域の左上隅の座標位置及び縦横サイズなど）を、領域情報として予測部１０３及び誤差測定部１０４に対して送出する。
【００１７】
なお、特定領域検出部１０２は、本装置への画像入力と並行して動作するものであって、上記の特定領域の検出処理には数フレーム分の時間を要するものとする。然るに特定領域検出部１０２は、あるフレームの画像からの検出処理が完了すると、該完了の時点で本装置に入力されたフレームの画像に対して改めて検出処理を実行する。その結果、特定領域検出部１０２による特定領域の検出は、数フレームに１回だけ行われることになる。この特定領域検出部１０２による処理を一般化すれば次の通りである。即ち、着目フレームの画像から特定領域を検出する検出処理が第ｎ（ｎ≧１）回目の検出処理である場合、該第ｎ回目の検出処理が完了すると、該完了の時点で本装置に入力されたフレームの画像に対して第（ｎ＋１）回目の検出処理を実行する。
【００１８】
予測部１０３は、特定領域検出部１０２が規定回数以上の検出処理を完了した後に本装置に入力された各フレームの画像中における特定領域を、該フレームよりも過去のフレームから検出された特定領域から予測（推定）する。以下では、この推定された特定領域を推定特定領域と呼称する。そして予測部１０３は、画像中の推定特定領域を特定するための情報（推定特定領域の左上隅及び右下隅の座標位置、推定特定領域の左上隅の座標位置及び縦横サイズなど）を、領域情報として制御部１０５及び誤差測定部１０４に対して送出する。
【００１９】
誤差測定部１０４は、規定回数以上の検出処理の完了後に本装置に入力された画像（第１フレームの画像）から特定領域検出部１０２が検出した特定領域と、該第１フレームの画像に対して予測部１０３が予測した推定特定領域との誤差（ずれ）を計算する。そして誤差測定部１０４は、計算した誤差を制御部１０５に対して送出する。
【００２０】
制御部１０５は、誤差測定部１０４からの誤差に基づいて符号化パラメータを決定し、決定した符号化パラメータを符号化部１０１に設定する。ここで、第１フレームの画像に対する特定領域検出部１０２による検出処理が完了した時点で本装置に入力された画像が第２フレームの画像であり、第１フレームについて計算した上記の誤差が規定範囲内であるとする。この場合、第２フレームの画像について予測部１０３が予測した推定特定領域を該推定特定領域以外の領域より高画質に符号化する符号化パラメータを、第２フレームの画像に対する符号化パラメータとして符号化部１０１に設定する。
【００２１】
本実施形態では上記の通り、符号化パラメータとして量子化ステップを用いるため、制御部１０５は、第２フレームの画像の推定特定領域に対する量子化ステップを、該推定特定領域以外の領域に対する量子化ステップよりも小さく設定する。この処理により、人の顔や人体など、重要と考えられる領域の画質を向上させつつ、ビットレートを所望の値に抑えることができる。
【００２２】
なお、制御部１０５は、上記の動作以外に、画像処理装置を構成する各部の動作制御も行っている。
【００２３】
次に、本実施形態に係る画像処理装置が行う符号化処理について、図２のフローチャートを用いて説明する。
【００２４】
ステップＳ２０１では制御部１０５は、現在処理対象となっているフレームの番号を示す変数Ｎを１に初期化し、特定領域の検出処理が完了した回数（特定領域が検出されたフレーム数）を示す変数ｉを０に初期化し、後述する変数ｒｅａｄｙを１に初期化する。
【００２５】
ステップＳ２０２では制御部１０５は、特定領域検出部１０２が特定領域を出力したか否かを示す変数ｄｅｔｅｃｔ＿ｆｌａｇを０に初期化する。
【００２６】
ステップＳ２０３では制御部１０５は、変数ｒｅａｄｙの値が１であるか否かを判断する。この判断の処理は、特定領域検出部１０２が現在特定領域の検出処理を行う準備ができているか否かを判断する処理である。特定領域検出部１０２は複数フレームを同時に処理することはできず、検出処理は１つのフレームに対してのみ行い、この１つのフレームに対する検出処理が完了して初めて、その時点で本装置に入力されたフレームに対して次の検出処理を開始する。ｒｅａｄｙの値が１であれば、特定領域検出部１０２は現在特定領域の検出処理を実行しておらず、特定領域検出部１０２は現在特定領域の検出処理を行う準備ができている状態であることを示す。一方、ｒｅａｄｙの値が０であれば、特定領域検出部１０２は現在特定領域の検出処理を実行中であり、現在特定領域の検出処理を行う準備ができていないことを示す。
【００２７】
この判断の結果、ｒｅａｄｙの値が１であれば処理はステップＳ２０４に進み、ｒｅａｄｙの値が０であれば処理はステップＳ２０７に進む。ステップＳ２０４では、制御部１０５は、特定領域検出部１０２がこれから特定領域を検出しようとするフレームの番号を示す変数ｄｅｔｅｃｔ＿ｆｒａｍｅ＿ｎｕｍに、現在処理対象となっているフレームの番号を示す変数Ｎの値を設定する。
【００２８】
ステップＳ２０５では特定領域検出部１０２は、ｄｅｔｅｃｔ＿ｆｒａｍｅ＿ｎｕｍフレーム目の画像から特定領域を検出する処理（検出処理）を開始する。上記の通り、この検出処理は数フレームの時間を要し、その間にも本装置には後続する各フレームが順次入力されている。
【００２９】
ステップＳ２０６では制御部１０５は、変数ｒｅａｄｙに０を設定する。ステップＳ２０７では特定領域検出部１０２は、ステップＳ２０５で開始した検出処理が完了したか否かを判断する。この判断の結果、完了している場合には処理はステップＳ２０８に進み、完了していない場合には処理はステップＳ２１３に進む。
【００３０】
ステップＳ２０８では制御部１０５は、変数ｒｅａｄｙに１を設定する。即ち、ｄｅｔｅｃｔ＿ｆｒａｍｅ＿ｎｕｍフレーム目の画像からの特定領域の検出処理が完了したのであるから、特定領域検出部１０２は現在、特定領域の検出処理を行う準備ができていることになる。
【００３１】
ステップＳ２０９では特定領域検出部１０２は、検出した特定領域の領域情報を予測部１０３及び誤差測定部１０４に対して送出する。ステップＳ２１０では予測部１０３は、配列Ｐ［ｉ］に変数ｄｅｔｅｃｔ＿ｆｒａｍｅ＿ｎｕｍの値を設定する。この配列は、特定領域が検出されたフレームの番号を格納するためのもので、Ｐ［ｉ］＝ｊとは、ｉ回目の検出処理が行われたフレームがｊ番目のフレームである、ことを示している。
【００３２】
ステップＳ２１１では制御部１０５は、変数ｉの値を１つインクリメントする。ステップＳ２１２では制御部１０５は変数ｄｅｔｅｃｔ＿ｆｌａｇに１を設定する。ステップＳ２１３では制御部１０５は、変数ｉの値が２以上、即ち、Ｎフレーム目よりも過去のフレームのうち２以上のフレームから特定領域が検出されているか否かを判断する。この判断の結果、ｉ≧２である場合には処理はステップＳ２１４に進み、ｉ＜２の場合には処理はステップＳ２２４に進む。
【００３３】
ステップＳ２１４で予測部１０３は、Ｐ［ｉ−２］フレーム目の画像及びＰ［ｉ−１］フレーム目の画像のそれぞれから特定領域検出部１０２が検出した特定領域の領域情報を用いて、Ｎフレーム目の画像中における特定領域を予測（推定）する。なお、本実施形態では、過去２フレーム分の検出結果を用いて現フレームにおける特定領域を予測しているが、過去Ｍ（Ｍ＞２）フレーム分の検出結果を用いて現フレームにおける特定領域を予測するようにしてもよい。この場合、ステップＳ２１３では制御部１０５は、変数ｉの値がＭ以上であるか否かを判断し、ｉ≧Ｍである場合には処理はステップＳ２１４に進み、ｉ＜Ｍの場合には処理はステップＳ２２４に進むことになる。
【００３４】
ステップＳ２１５では制御部１０５は、ステップＳ２１４における予測が、図２のフローチャートの処理を開始してから初めて行ったか予測であるか否かを判断する。この判断の結果、ステップＳ２１４における予測が初めて行った予測であれば、処理はステップＳ２１６に進み、２回目以降の予測であれば、処理はステップＳ２１７に進む。
【００３５】
ステップＳ２１６では制御部１０５は、変数Ｒに現在のフレーム番号を示す変数Ｎの値を設定する。ステップＳ２１７では予測部１０３は、ステップＳ２１４で予測した結果、即ち、Ｎフレーム目の画像中における推定特定領域の領域情報を誤差測定部１０４及び制御部１０５に対して送出する。
【００３６】
ステップＳ２１８では誤差測定部１０４は、予測部１０３から受けた領域情報を本装置のメモリに格納する。ステップＳ２１９では制御部１０５は、Ｐ［ｉ−１］≧Ｒ且つ変数ｄｅｔｅｃｔ＿ｆｌａｇ＝１という条件が満たされているか否かを判断する。この判断の結果、この条件が満たされている場合には処理はステップＳ２２０に進み、この条件が満たされていない場合には処理はステップＳ２２４に進む。
【００３７】
ステップＳ２２０では、誤差測定部１０４は、Ｐ［ｉ−１］フレーム目の画像について特定領域検出部１０２が検出した特定領域の領域情報と、Ｐ［ｉ−１］フレーム目の画像について予測部１０３が予測した推定特定領域の領域情報と、の誤差を計算する。例えば、画像中の特定領域と推定特定領域との位置ずれやサイズのずれなどを誤差として求める。なお、推定特定領域の領域情報は誤差測定部１０４が保持しておき、特定領域検出部１０２から出力される特定領域の領域情報との誤差を測定してもよいし、もちろん予測部１０３が推定特定領域の領域情報を保持してもよい。必要に応じて予測部１０３が誤差測定部１０４に推定特定領域の領域情報を出力してもよい。
【００３８】
ステップＳ２２１では誤差測定部１０４は、ステップＳ２２０で求めた誤差を制御部１０５に対して送出する。ステップＳ２２２では制御部１０５は、誤差測定部１０４から受けた誤差が規定範囲内であるか否かを判断する。この判断の結果、誤差が規定範囲内であれば処理はステップＳ２２３に進み、規定範囲外であれば処理はステップＳ２２４に進む。この規定範囲は固定の範囲であってもよいし、適応的に変化する範囲であってもよい。
【００３９】
ステップＳ２２３では制御部１０５は、ステップＳ２１７でＮフレーム目の画像について推定した推定特定領域を該推定特定領域以外の領域より高画質に符号化する為の符号化パラメータを、Ｎフレーム目の画像に対する符号化パラメータとして生成する。そして制御部１０５は、この生成した符号化パラメータを符号化部１０１に設定する。本実施形態では符号化パラメータは量子化ステップであるので、Ｎフレーム目の画像について推定された推定特定領域に対する量子化ステップを、該推定特定領域以外の領域に対する量子化ステップよりも小さく設定する。なお、誤差が規定範囲内であるか否かに関係なく、推定特定領域に対する符号化パラメータを制御してもよい。
【００４０】
ステップＳ２２４では制御部１０５は、Ｎフレーム目の画像中の何れの領域に対しても同じ画質で符号化するための符号化パラメータを生成し、生成した符号化パラメータを符号化部１０１に設定する。本実施形態では、Ｎフレーム目の画像に対して同じ量子化ステップを設定する。
【００４１】
ステップＳ２２５では符号化部１０１は、制御部１０５から設定された符号化パラメータを用いてＮフレーム目の画像を符号化して符号化データを生成し、生成した符号化データを適当な出力先に出力する。
【００４２】
ステップＳ２２６では制御部１０５は、次のフレームについて処理を行うべく、変数Ｎの値を１つインクリメントする。
【００４３】
ステップＳ２２７では制御部１０５は、変数Ｎの値が、動画像を構成する総フレーム数ＮｕｍＯｆＦｒａｍｅの値以下であるか否かを判断する。この判断の結果、Ｎ≦ＮｕｍＯｆＦｒａｍｅであれば処理はステップＳ２０２に戻り、次のフレームの画像について以降の処理を行う。一方、Ｎ＞ＮｕｍＯｆＦｒａｍｅであれば、図２のフローチャートの処理は終了する。
【００４４】
次に、図５に示す具体例を挙げて、図２のフローチャートの処理を説明する。図５に示す具体例では、特定領域検出部１０２及び符号化部１０１にはフレーム番号＝１，２，…、１１，…の画像が順次入力されている。
【００４５】
先ず、時刻ｔ１における符号化動作について説明する。時刻ｔ１では特定領域検出部１０２及び符号化部１０１にはフレーム番号＝１の画像が入力される。ステップＳ２０１ではＮ＝１、ｉ＝０、ｒｅａｄｙ＝１と初期化され、ステップＳ２０２ではｄｅｔｅｃｔ＿ｆｌａｇ＝０と初期化される。この時点でｒｅａｄｙ＝１であるため、処理はステップＳ２０３を介してステップＳ２０４に進む。ステップＳ２０４ではｄｅｔｅｃｔ＿ｆｒａｍｅ＿ｎｕｍにＮ（＝１）が設定され、ステップＳ２０５ではｄｅｔｅｃｔ＿ｆｒａｍｅ＿ｎｕｍ（＝１）フレーム目の画像に対する特定領域の検出処理を開始し、ステップＳ２０６ではｒｅａｄｙ＝０に設定される。図５に示す如く、特定領域検出部１０２は１フレーム目の画像を受け、この画像に対する特定領域の検出処理を開始すると、この検出処理は時刻ｔ３にて完了する。然るに時刻ｔ１におけるステップＳ２０７の段階ではまだ１フレーム目の画像に対する特定領域の検出処理は完了していないため、処理はステップＳ２０７を介してステップＳ２１３に進む。この時点でまだどのフレームからも特定領域は検出されていない（ｉ＝０＜２）ため、処理はステップＳ２１３を介してステップＳ２２４に進む。ステップＳ２２４では、１フレーム目の画像に対する符号化パラメータとして、画像全体均一な画質となる符号化パラメータを設定し、ステップＳ２２５ではこの符号化パラメータを用いて１フレーム目の画像を符号化する。そしてステップＳ２２６では変数Ｎの値を１つインクリメントする。この時点でＮ（＝２）はＮｕｍＯｆＦｒａｍｅ（図５では少なくとも１１よりも大きい）以下であるため、処理はステップＳ２２７を介してステップＳ２０２に戻る（この時点で時刻はｔ２となる）。そしてステップＳ２０２以降では、Ｎ（＝２）フレーム目の画像について以降の処理を行う。
【００４６】
次に、時刻ｔ２における符号化動作について説明する。時刻ｔ２では特定領域検出部１０２及び符号化部１０１にはフレーム番号＝２の画像が入力される。ステップＳ２０２ではｄｅｔｅｃｔ＿ｆｌａｇ＝０と初期化される。ここまでの処理ではｒｅａｄｙの値は０のまま変化していないため、処理はステップＳ２０３を介してステップＳ２０７に進む。上記の通り、時刻ｔ２におけるステップＳ２０７の段階ではまだ１フレーム目の画像に対する特定領域の検出処理は完了していないため、処理はステップＳ２０７を介してステップＳ２１３に進む。この時点でまだどのフレームからも特定領域は検出されていない（ｉ＝０＜２）ため、処理はステップＳ２１３を介してステップＳ２２４に進む。ステップＳ２２４では、２フレーム目の画像に対する符号化パラメータとして、画像全体均一な画質となる符号化パラメータを設定し、ステップＳ２２５ではこの符号化パラメータを用いて２フレーム目の画像を符号化する。そしてステップＳ２２６では変数Ｎの値を１つインクリメントする。この時点でＮ（＝３）はＮｕｍＯｆＦｒａｍｅ（図５では少なくとも１１よりも大きい）以下であるため、処理はステップＳ２２７を介してステップＳ２０２に戻る（この時点で時刻はｔ３となる）。そしてステップＳ２０２以降では、Ｎ（＝３）フレーム目の画像について以降の処理を行う。
【００４７】
次に、時刻ｔ３における符号化動作について説明する。時刻ｔ３では特定領域検出部１０２及び符号化部１０１にはフレーム番号＝３の画像が入力される。ステップＳ２０２ではｄｅｔｅｃｔ＿ｆｌａｇ＝０と初期化される。ここまでの処理ではｒｅａｄｙの値は０のまま変化していないため、処理はステップＳ２０３を介してステップＳ２０７に進む。上記の通り、１フレーム目の画像に対する特定領域の検出処理は時刻ｔ３で完了するため、処理はステップＳ２０７を介してステップＳ２０８に進む。ステップＳ２０８ではｒｅａｄｙ＝１に設定し、ステップＳ２０９では、１フレーム目の画像から検出した特定領域の領域情報を予測部１０３及び誤差測定部１０４に対して送出する。ステップＳ２１０ではｉ＝０，ｄｅｔｅｃｔ＿ｆｒａｍｅ＿ｎｕｍ＝１であるため、Ｐ［０］＝１と設定する。ステップＳ２１１ではｉの値を１つインクリメントしｉ＝１となる。また、ステップＳ２１２ではｄｅｔｅｃｔ＿ｆｌａｇ＝１と設定する。この時点ではまだ１つのフレームからしか特定領域は検出されていない（ｉ＝１＜２）ため、処理はステップＳ２１３を介してステップＳ２２４に進む。ステップＳ２２４では、３フレーム目の画像に対する符号化パラメータとして、画像全体均一な画質となる符号化パラメータを設定し、ステップＳ２２５ではこの符号化パラメータを用いて３フレーム目の画像を符号化する。そしてステップＳ２２６では変数Ｎの値を１つインクリメントする。この時点でＮ（＝４）はＮｕｍＯｆＦｒａｍｅ（図５では少なくとも１１よりも大きい）以下であるため、処理はステップＳ２２７を介してステップＳ２０２に戻る（この時点で時刻はｔ４となる）。そしてステップＳ２０２以降では、Ｎ（＝４）フレーム目の画像について以降の処理を行う。
【００４８】
次に、時刻ｔ４における符号化動作について説明する。時刻ｔ４では特定領域検出部１０２及び符号化部１０１にはフレーム番号＝４の画像が入力される。ステップＳ２０２ではｄｅｔｅｃｔ＿ｆｌａｇ＝０と初期化される。この時点でｒｅａｄｙ＝１であるため、処理はステップＳ２０３を介してステップＳ２０４に進む。ステップＳ２０４ではｄｅｔｅｃｔ＿ｆｒａｍｅ＿ｎｕｍにＮ（＝４）が設定され、ステップＳ２０５ではｄｅｔｅｃｔ＿ｆｒａｍｅ＿ｎｕｍ（＝４）フレーム目の画像に対する特定領域の検出処理を開始し、ステップＳ２０６ではｒｅａｄｙ＝０に設定される。図５に示す如く、特定領域検出部１０２は４フレーム目の画像を受け、この画像に対する特定領域の検出処理を開始すると、この検出処理は時刻ｔ６にて完了する。然るに時刻ｔ４におけるステップＳ２０７の段階ではまだ４フレーム目の画像に対する特定領域の検出処理は完了していないため、処理はステップＳ２０７を介してステップＳ２１３に進む。この時点ではまだ１フレーム目のからしか特定領域は検出されていない（ｉ＝１＜２）ため、処理はステップＳ２１３を介してステップＳ２２４に進む。ステップＳ２２４では、４フレーム目の画像に対する符号化パラメータとして、画像全体均一な画質となる符号化パラメータを設定し、ステップＳ２２５ではこの符号化パラメータを用いて４フレーム目の画像を符号化する。そしてステップＳ２２６では変数Ｎの値を１つインクリメントする。この時点でＮ（＝５）はＮｕｍＯｆＦｒａｍｅ（図５では少なくとも１１よりも大きい）以下であるため、処理はステップＳ２２７を介してステップＳ２０２に戻る（この時点で時刻はｔ５となる）。そしてステップＳ２０２以降では、Ｎ（＝５）フレーム目の画像について以降の処理を行う。
【００４９】
次に、時刻ｔ５における符号化動作について説明する。時刻ｔ５では特定領域検出部１０２及び符号化部１０１にはフレーム番号＝５の画像が入力される。ステップＳ２０２ではｄｅｔｅｃｔ＿ｆｌａｇ＝０と初期化される。ここまでの処理ではｒｅａｄｙの値は０のまま変化していないため、処理はステップＳ２０３を介してステップＳ２０７に進む。上記の通り、時刻ｔ５におけるステップＳ２０７の段階ではまだ４フレーム目の画像に対する特定領域の検出処理は完了していないため、処理はステップＳ２０７を介してステップＳ２１３に進む。この時点ではまだ１フレーム目の画像からしか特定領域は検出されていない（ｉ＝１＜２）ため、処理はステップＳ２１３を介してステップＳ２２４に進む。ステップＳ２２４では、５フレーム目の画像に対する符号化パラメータとして、画像全体均一な画質となる符号化パラメータを設定し、ステップＳ２２５ではこの符号化パラメータを用いて５フレーム目の画像を符号化する。そしてステップＳ２２６では変数Ｎの値を１つインクリメントする。この時点でＮ（＝６）はＮｕｍＯｆＦｒａｍｅ（図５では少なくとも１１よりも大きい）以下であるため、処理はステップＳ２２７を介してステップＳ２０２に戻る（この時点で時刻はｔ６となる）。そしてステップＳ２０２以降では、Ｎ（＝６）フレーム目の画像について以降の処理を行う。
【００５０】
次に、時刻ｔ６における符号化動作について説明する。時刻ｔ６では特定領域検出部１０２及び符号化部１０１にはフレーム番号＝６の画像が入力される。ステップＳ２０２ではｄｅｔｅｃｔ＿ｆｌａｇ＝０と初期化される。ここまでの処理ではｒｅａｄｙの値は０のまま変化していないため、処理はステップＳ２０３を介してステップＳ２０７に進む。４フレーム目の画像に対する特定領域の検出処理は時刻ｔ６で完了するため、処理はステップＳ２０７を介してステップＳ２０８に進む。ステップＳ２０８ではｒｅａｄｙ＝１に設定し、ステップＳ２０９では、４フレーム目の画像から検出した特定領域の領域情報を予測部１０３及び誤差測定部１０４に対して送出する。ステップＳ２１０ではｉ＝１，ｄｅｔｅｃｔ＿ｆｒａｍｅ＿ｎｕｍ＝４であるため、Ｐ［１］＝４と設定する。ステップＳ２１１ではｉの値を１つインクリメントしｉ＝２となる。また、ステップＳ２１２ではｄｅｔｅｃｔ＿ｆｌａｇ＝１と設定する。この時点で、１フレーム目及び４フレーム目の２つのフレームの画像から特定領域を検出したので（ｉ＝２≧２）、処理はステップＳ２１３を介してステップＳ２１４に進む。ステップＳ２１４では、Ｐ［ｉ−２］（＝１）フレーム目の画像及びＰ［ｉ−１］（＝４）フレーム目の画像のそれぞれから検出した特定領域の領域情報を用いて、Ｎ（＝６）フレーム目の画像中における特定領域を予測（推定）する。そして、この予測が最初の予測であるので、処理はステップＳ２１５を介してステップＳ２１６に進む。ステップＳ２１６では、変数ＲにＮ（＝６）を設定し、ステップＳ２１７では、ステップＳ２１４で予測した結果、即ち、６フレーム目の画像中における推定特定領域の領域情報を誤差測定部１０４及び制御部１０５に対して送出する。ステップＳ２１８では、この領域情報を本装置のメモリに格納する。ステップＳ２１９では、Ｐ［ｉ−１］≧Ｒ且つ変数ｄｅｔｅｃｔ＿ｆｌａｇ＝１という条件が満たされているか否かを判断するのであるが、Ｐ［ｉ−１］＝４、Ｒ＝６であるため、この条件は満たされないことになる。然るに処理はステップＳ２２４に進む。ステップＳ２２４では、６フレーム目の画像に対する符号化パラメータとして、画像全体均一な画質となる符号化パラメータを設定し、ステップＳ２２５ではこの符号化パラメータを用いて６フレーム目の画像を符号化する。そしてステップＳ２２６では変数Ｎの値を１つインクリメントする。この時点でＮ（＝７）はＮｕｍＯｆＦｒａｍｅ（図５では少なくとも１１よりも大きい）以下であるため、処理はステップＳ２２７を介してステップＳ２０２に戻る（この時点で時刻はｔ７となる）。そしてステップＳ２０２以降では、Ｎ（＝７）フレーム目の画像について以降の処理を行う。
【００５１】
次に、時刻ｔ７における符号化動作について説明する。時刻ｔ７では特定領域検出部１０２及び符号化部１０１にはフレーム番号＝７の画像が入力される。ステップＳ２０２ではｄｅｔｅｃｔ＿ｆｌａｇ＝０と初期化される。この時点でｒｅａｄｙ＝１であるため、処理はステップＳ２０３を介してステップＳ２０４に進む。ステップＳ２０４ではｄｅｔｅｃｔ＿ｆｒａｍｅ＿ｎｕｍにＮ（＝７）が設定され、ステップＳ２０５ではｄｅｔｅｃｔ＿ｆｒａｍｅ＿ｎｕｍ（＝７）フレーム目の画像に対する特定領域の検出処理を開始し、ステップＳ２０６ではｒｅａｄｙ＝０に設定される。図５に示す如く、特定領域検出部１０２は７フレーム目の画像を受け、この画像に対する特定領域の検出処理を開始すると、この検出処理は時刻ｔ９にて完了する。然るに時刻ｔ７におけるステップＳ２０７の段階ではまだ７フレーム目の画像に対する特定領域の検出処理は完了していないため、処理はステップＳ２０７を介してステップＳ２１３に進む。この時点で、１フレーム目及び４フレーム目の２つのフレームの画像から特定領域を検出したので（ｉ＝２≧２）、処理はステップＳ２１３を介してステップＳ２１４に進む。ステップＳ２１４では、Ｐ［ｉ−２］（＝１）フレーム目の画像及びＰ［ｉ−１］（＝４）フレーム目の画像のそれぞれから検出した特定領域の領域情報を用いて、Ｎ（＝７）フレーム目の画像中における特定領域を予測（推定）する。そして、この予測は最初の予測ではないので、処理はステップＳ２１５を介してステップＳ２１７に進む。ステップＳ２１７では、ステップＳ２１４で予測した結果、即ち、７フレーム目の画像中における推定特定領域の領域情報を誤差測定部１０４及び制御部１０５に対して送出する。ステップＳ２１８では、この領域情報を本装置のメモリに格納する。ステップＳ２１９では、Ｐ［ｉ−１］≧Ｒ且つ変数ｄｅｔｅｃｔ＿ｆｌａｇ＝１という条件が満たされているか否かを判断するのであるが、Ｐ［ｉ−１］＝４、Ｒ＝６であるため、この条件は満たされないことになる。然るに処理はステップＳ２２４に進む。ステップＳ２２４では、７フレーム目の画像に対する符号化パラメータとして、画像全体均一な画質となる符号化パラメータを設定し、ステップＳ２２５ではこの符号化パラメータを用いて７フレーム目の画像を符号化する。そしてステップＳ２２６では変数Ｎの値を１つインクリメントする。この時点でＮ（＝８）はＮｕｍＯｆＦｒａｍｅ（図５では少なくとも１１よりも大きい）以下であるため、処理はステップＳ２２７を介してステップＳ２０２に戻る（この時点で時刻はｔ８となる）。そしてステップＳ２０２以降では、Ｎ（＝８）フレーム目の画像について以降の処理を行う。
【００５２】
次に、時刻ｔ８における符号化動作について説明する。時刻ｔ８では特定領域検出部１０２及び符号化部１０１にはフレーム番号＝８の画像が入力される。ステップＳ２０２ではｄｅｔｅｃｔ＿ｆｌａｇ＝０と初期化される。ここまでの処理ではｒｅａｄｙの値は０のまま変化していないため、処理はステップＳ２０３を介してステップＳ２０７に進む。上記の通り、時刻ｔ８におけるステップＳ２０７の段階ではまだ７フレーム目の画像に対する特定領域の検出処理は完了していないため、処理はステップＳ２０７を介してステップＳ２１３に進む。この時点で、１フレーム目及び４フレーム目の２つのフレームの画像から特定領域を検出したので（ｉ＝２≧２）、処理はステップＳ２１３を介してステップＳ２１４に進む。ステップＳ２１４では、Ｐ［ｉ−２］（＝１）フレーム目の画像及びＰ［ｉ−１］（＝４）フレーム目の画像のそれぞれから検出した特定領域の領域情報を用いて、Ｎ（＝８）フレーム目の画像中における特定領域を予測（推定）する。そして、この予測は最初の予測ではないので、処理はステップＳ２１５を介してステップＳ２１７に進む。ステップＳ２１７では、ステップＳ２１４で予測した結果、即ち、８フレーム目の画像中における推定特定領域の領域情報を誤差測定部１０４及び制御部１０５に対して送出する。ステップＳ２１８では、この領域情報を本装置のメモリに格納する。ステップＳ２１９では、Ｐ［ｉ−１］≧Ｒ且つ変数ｄｅｔｅｃｔ＿ｆｌａｇ＝１という条件が満たされているか否かを判断するのであるが、Ｐ［ｉ−１］＝４、Ｒ＝６であるため、この条件は満たされないことになる。然るに処理はステップＳ２２４に進む。ステップＳ２２４では、８フレーム目の画像に対する符号化パラメータとして、画像全体均一な画質となる符号化パラメータを設定し、ステップＳ２２５ではこの符号化パラメータを用いて８フレーム目の画像を符号化する。そしてステップＳ２２６では変数Ｎの値を１つインクリメントする。この時点でＮ（＝９）はＮｕｍＯｆＦｒａｍｅ（図５では少なくとも１１よりも大きい）以下であるため、処理はステップＳ２２７を介してステップＳ２０２に戻る（この時点で時刻はｔ９となる）。そしてステップＳ２０２以降では、Ｎ（＝９）フレーム目の画像について以降の処理を行う。
【００５３】
次に、時刻ｔ９における符号化動作について説明する。時刻ｔ９では特定領域検出部１０２及び符号化部１０１にはフレーム番号＝９の画像が入力される。ステップＳ２０２ではｄｅｔｅｃｔ＿ｆｌａｇ＝０と初期化される。ここまでの処理ではｒｅａｄｙの値は０のまま変化していないため、処理はステップＳ２０３を介してステップＳ２０７に進む。７フレーム目の画像に対する特定領域の検出処理は時刻ｔ９で完了するため、処理はステップＳ２０７を介してステップＳ２０８に進む。ステップＳ２０８ではｒｅａｄｙ＝１に設定し、ステップＳ２０９では、７フレーム目の画像から検出した特定領域の領域情報を予測部１０３及び誤差測定部１０４に対して送出する。ステップＳ２１０ではｉ＝２，ｄｅｔｅｃｔ＿ｆｒａｍｅ＿ｎｕｍ＝７であるため、Ｐ［２］＝７と設定する。ステップＳ２１１ではｉの値を１つインクリメントし、ｉ＝３となる。また、ステップＳ２１２ではｄｅｔｅｃｔ＿ｆｌａｇ＝１と設定する。この時点で、１フレーム目、４フレーム目、７フレーム目の２以上のフレームの画像から特定領域を検出したので（ｉ＝３≧２）、処理はステップＳ２１３を介してステップＳ２１４に進む。ステップＳ２１４では、Ｐ［ｉ−２］（＝４）フレーム目の画像及びＰ［ｉ−１］（＝７）フレーム目の画像のそれぞれから検出した特定領域の領域情報を用いて、Ｎ（＝９）フレーム目の画像中における特定領域を予測（推定）する。この予測は最初の予測ではないので、処理はステップＳ２１５を介してステップＳ２１７に進む。ステップＳ２１７では、ステップＳ２１４で予測した結果、即ち、９フレーム目の画像中における推定特定領域の領域情報を誤差測定部１０４及び制御部１０５に対して送出する。ステップＳ２１８では、この領域情報を本装置のメモリに格納する。ステップＳ２１９では、Ｐ［ｉ−１］≧Ｒ且つ変数ｄｅｔｅｃｔ＿ｆｌａｇ＝１という条件が満たされているか否かを判断するのであるが、Ｐ［ｉ−１］＝７、Ｒ＝６、ｄｅｔｅｃｔ＿ｆｌａｇ＝１であるため、この条件は満たされていることになる。然るに処理はステップＳ２２０に進む。ステップＳ２２０では、Ｐ［ｉ−１］（＝７）フレーム目の画像について検出した特定領域の領域情報と、Ｐ［ｉ−１］（＝７）フレーム目の画像について予測した推定特定領域の領域情報と、の誤差を計算する。ステップＳ２２１では、ステップＳ２２０で求めた誤差を制御部１０５に対して送出する。ステップＳ２２２では、この誤差が規定範囲内であるか否かを判断する。この判断の結果、誤差が規定範囲内であれば処理はステップＳ２２３に進み、規定範囲外であれば処理はステップＳ２２４に進む。ステップＳ２２３では、ステップＳ２１７でＮ（＝９）フレーム目の画像について推定した推定特定領域を該推定特定領域以外の領域より高画質に符号化する為の符号化パラメータを、Ｎ（＝９）フレーム目の画像に対する符号化パラメータとして生成する。そして、この生成した符号化パラメータを符号化部１０１に設定する。ステップＳ２２４では、９フレーム目の画像に対する符号化パラメータとして、画像全体均一な画質となる符号化パラメータを設定する。ステップＳ２２５では、ステップＳ２２３もしくはステップＳ２２４で設定した符号化パラメータを用いて９フレーム目の画像を符号化する。そしてステップＳ２２６では変数Ｎの値を１つインクリメントする。この時点でＮ（＝１０）はＮｕｍＯｆＦｒａｍｅ（図５では少なくとも１１よりも大きい）以下であるため、処理はステップＳ２２７を介してステップＳ２０２に戻る（この時点で時刻はｔ１０となる）。そしてステップＳ２０２以降では、Ｎ（＝１０）フレーム目の画像について同様の処理を行う。
【００５４】
このように、本実施形態によれば、特定領域の予測の正確さに応じて符号化パラメータを制御することができ、これにより、特定領域に対する高画質化をより正確に行うことができる。
【００５５】
［第２の実施形態］
本実施形態に係る画像処理装置の機能構成例について、図３のブロック図を用いて説明する。なお、図３において、図１と同じ構成要件については同じ参照番号を付しており、その説明は省略する。
【００５６】
予測部３０３は、予測部１０３が行うものとして説明した予測処理を行い、誤差測定部３０４が求めた誤差を用いて、この予測した特定領域を補正する。この補正は、例えば、予測した特定領域の位置を誤差の分だけずらしたり、誤差の分だけ変形させたりする補正処理である。誤差測定部３０４は、求めた上記の誤差を制御部１０５だけでなく、予測部３０３にも送出する。
【００５７】
次に、本実施形態に係る画像処理装置が行う符号化処理について、図４のフローチャートを用いて説明する。なお、ステップＳ４０１〜Ｓ４２０はそれぞれ、図２のステップＳ２０１〜Ｓ２２０と同じ処理を行うステップであるため、これらのステップに係る説明は省略する。
【００５８】
ステップＳ４２１では、誤差測定部３０４は、ステップＳ４２０で求めた誤差を制御部１０５に加え、予測部３０３にも送出する。ステップＳ４２２では、制御部１０５は、誤差測定部３０４から受けた誤差が規定範囲内であるか否かを判断する。この判断の結果、誤差が規定範囲内であれば処理はステップＳ４２３に進み、規定範囲外であれば処理はステップＳ４２４に進む。この規定範囲は固定の範囲であってもよいし、適応的に変化する範囲であってもよい。
【００５９】
ステップＳ４２３では制御部１０５は、Ｎフレーム目の画像中の何れの領域に対しても同じ画質で符号化するための符号化パラメータを生成し、生成した符号化パラメータを符号化部１０１に設定する。本実施形態でも、Ｎフレーム目の画像に対して同じ量子化ステップを設定する。
【００６０】
一方、ステップＳ４２４では予測部３０３は、誤差測定部３０４が求めた上記の誤差を用いて、Ｎフレーム目の画像における推定特定領域を補正する。この補正処理では、予測部３０３が誤差の履歴を保持し、該フレームにおける誤差が前回予測時の誤差より大きくなった場合に推定特定領域を検出された特定領域に近づけるように補正するなどの方法が挙げられるが、これに限定されるものではない。また、補正処理は、推定特定領域に対して行うことに限定されるものではない。例えば、予測部３０３の予測処理の補正を行い、誤差に応じて予測の範囲や探索方法を適応的に変化させてもよい。
【００６１】
そしてステップＳ４２５では予測部３０３は、補正した推定特定領域の領域情報を制御部１０５に対して送出する。これにより制御部１０５は、この補正した推定特定領域を該推定特定領域以外の領域より高画質に符号化する為の符号化パラメータを、Ｎフレーム目の画像に対する符号化パラメータとして生成する。そして制御部１０５は、この生成した符号化パラメータを符号化部１０１に設定する。
【００６２】
ステップＳ４２６では符号化部１０１は、制御部１０５から設定された符号化パラメータを用いてＮフレーム目の画像を符号化して符号化データを生成し、生成した符号化データを適当な出力先に出力する。ステップＳ４２７では制御部１０５は、次のフレームについて処理を行うべく、変数Ｎの値を１つインクリメントする。
【００６３】
ステップＳ４２８では制御部１０５は、変数Ｎの値が、動画像を構成する総フレーム数ＮｕｍＯｆＦｒａｍｅの値以下であるか否かを判断する。この判断の結果、Ｎ≦ＮｕｍＯｆＦｒａｍｅであれば処理はステップＳ４０２に戻り、次のフレームの画像について以降の処理を行う。一方、Ｎ＞ＮｕｍＯｆＦｒａｍｅであれば、図４のフローチャートの処理は終了する。
【００６４】
以上の説明により、本実施形態によれば、特定領域の予測が外れた場合であっても、誤った予測特定領域を補正するので、これにより、特定領域に対する高画質化をより正確に行うことができる。
【００６５】
［第３の実施形態］
図１，３に示した各部はハードウェアで構成してもよいが、コンピュータプログラムで実装してもよい。この場合、このコンピュータプログラムをコンピュータが有するメモリに格納し、このコンピュータが有するＣＰＵがこのコンピュータプログラムを実行することで、このコンピュータは、第１，２の実施形態に係る画像処理装置として機能することになる。
【００６６】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005839848.tif 000002
【図２】
0005839848.tif 000003
【図３】
0005839848.tif 000004
【図４】
0005839848.tif 000005
【図５】
0005839848.tif 000006