(57)【要約】      （修正有）【課題】符号化対象画像の解像度が上昇する場合に、参照画像の格納により使用される記憶容量の増加を抑制しつつ画質劣化を抑制する技術を提供する。【解決手段】符号化装置であって、符号化対象画像の第１の方向の解像度が第１の解像度である場合、選択手段は、符号化対象画像と参照画像との間の時間的な距離が第１の距離以内になるように参照画像を選択し、動きベクトル検出手段が、第１の方向に直交する第２の方向における動きベクトルの探索範囲を第１の探索範囲として探索を行う。符号化対象画像の第１の方向の解像度が第１の解像度よりも高い第２の解像度である場合、選択手段は、符号化対象画像と参照画像との間の時間的な距離が第１の距離よりも短い第２の距離以内になるように参照画像を選択し、動きベクトル検出手段が、第２の方向における動きベクトルの探索範囲を第１の探索範囲よりも狭い第２の探索範囲として探索を行う。【選択図】図１０
2018166306.tif 000002
【特許請求の範囲】
【請求項１】
動画像に含まれる符号化対象画像に対してブロック単位で動き補償予測符号化を行う符号化装置であって、
前記動画像から参照画像を選択する選択手段と、
前記参照画像の一部を探索することにより、前記符号化対象画像の符号化対象ブロックの動きベクトルを検出する検出手段と、
前記動きベクトルに基づいて前記符号化対象ブロックを符号化する符号化手段と、
を備え、
前記符号化対象画像の第１の方向の解像度が第１の解像度である場合、
前記選択手段は、前記符号化対象画像と前記参照画像との間の時間的な距離が第１の距離以内になるように前記参照画像を選択し、
前記検出手段は、前記第１の方向に直交する第２の方向における前記動きベクトルの探索範囲を第１の探索範囲として前記探索を行い、
前記符号化対象画像の前記第１の方向の解像度が前記第１の解像度よりも高い第２の解像度である場合、
前記選択手段は、前記符号化対象画像と前記参照画像との間の時間的な距離が前記第１の距離よりも短い第２の距離以内になるように前記参照画像を選択し、
前記検出手段は、前記第２の方向における前記動きベクトルの探索範囲を前記第１の探索範囲よりも狭い第２の探索範囲として前記探索を行う
ことを特徴とする符号化装置。
【請求項２】
前記動きベクトルの探索範囲に対応する前記参照画像の前記一部を含んだバッファ画像をバッファメモリが記憶するように制御する制御手段を更に備え、
前記検出手段は、前記バッファメモリに記憶された前記参照画像の前記一部を探索することにより前記動きベクトルを検出する
ことを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記第１の方向における前記バッファ画像の最大サイズは、前記符号化対象画像の前記第１の方向の解像度に対応する
ことを特徴とする請求項２に記載の符号化装置。
【請求項４】
前記第１の距離と前記第２の距離との比は、前記第１の探索範囲と前記第２の探索範囲との比に等しい
ことを特徴とする請求項１乃至３のいずれか１項に記載の符号化装置。
【請求項５】
前記符号化手段は、時間階層構造を持つ符号化を行うように構成され、
前記符号化対象画像の前記第１の方向の解像度が前記第１の解像度であって前記符号化対象画像と前記参照画像との間の時間的な距離が前記第１の距離である場合、及び、前記符号化対象画像の前記第１の方向の解像度が前記第２の解像度であって前記符号化対象画像と前記参照画像との間の時間的な距離が前記第２の距離である場合には、前記符号化対象画像は、最も低い時間階層に属する
ことを特徴とする請求項１乃至４のいずれか１項に記載の符号化装置。
【請求項６】
前記第１の方向は水平方向であり、前記第２の方向は垂直方向である
ことを特徴とする請求項１乃至５のいずれか１項に記載の符号化装置。
【請求項７】
請求項１乃至６のいずれか１項に記載の符号化装置と、
前記動画像を生成する撮像手段と、
を備えることを特徴とする撮像装置。
【請求項８】
動画像に含まれる符号化対象画像に対してブロック単位で動き補償予測符号化を行う符号化装置が実行する符号化方法であって、
前記動画像から参照画像を選択する選択工程と、
前記参照画像の一部を探索することにより、前記符号化対象画像の符号化対象ブロックの動きベクトルを検出する検出工程と、
前記動きベクトルに基づいて前記符号化対象ブロックを符号化する符号化工程と、
を備え、
前記符号化対象画像の第１の方向の解像度が第１の解像度である場合、
前記選択工程は、前記符号化対象画像と前記参照画像との間の時間的な距離が第１の距離以内になるように前記参照画像を選択し、
前記検出工程は、前記第１の方向に直交する第２の方向における前記動きベクトルの探索範囲を第１の探索範囲として前記探索を行い、
前記符号化対象画像の前記第１の方向の解像度が前記第１の解像度よりも高い第２の解像度である場合、
前記選択工程は、前記符号化対象画像と前記参照画像との間の時間的な距離が前記第１の距離よりも短い第２の距離以内になるように前記参照画像を選択し、
前記検出工程は、前記第２の方向における前記動きベクトルの探索範囲を前記第１の探索範囲よりも狭い第２の探索範囲として前記探索を行う
ことを特徴とする符号化方法。
【請求項９】
コンピュータを、請求項１乃至６のいずれか１項に記載の符号化装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置、撮像装置、符号化方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、４ｋテレビや４ｋビデオカメラが普及しており、動画像の高解像度化が進んでいる。それに伴い、システムが処理する画素データ量が増加している。動画像の国際標準符号化規格である、Ｈ．２６４やＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）などの符号化方式では、動きベクトル検出という技術が用いられている。動きベクトル検出は、これから符号化を行う画像と、それとは時間的に異なる符号化済みの参照画像との間で動きを検出し、その動き情報に基づいて動画像圧縮を行うことにより、符号化効率を高めるものである。
【０００３】
この動きベクトル検出は、ある決められた探索範囲で、符号化を行うブロックごとに動きの検出を行う。探索範囲は広い方が動きベクトル検出の精度は向上するが、回路規模や処理量が増大してしまう。他方、被写体の本来の動きよりも狭い探索範囲を設定した場合、動きを追跡することができないため、動きベクトル検出の精度が低下し、画質劣化につながる。
【０００４】
従って、探索範囲を適切に設定することは、動きベクトル検出にとって非常に重要な要素であり、入力画像のフレームレートに応じて探索範囲を変更するといった技術が提案されている（特許文献１参照）。
【０００５】
動きベクトル検出をハードウェア処理で行う場合、外部メモリに置かれている参照画像のうち探索範囲部分を読み出して内部メモリに保持しておき、動きベクトル検出を行うことになる。この参照画像を格納する内部メモリの構成として、水平方向に画像の水平解像度分のデータを保持しておくラインバッファが用いられることが多い。これは、外部メモリから参照画像を読み出す際に、ラインバッファを用いずに符号化ブロックごとに必要な参照画像を読み出すと、同一の画素を何度も重複して読み出す必要があり、外部メモリからの画像データ読み出しのバス帯域を浪費してしまうためである。
【０００６】
このようなラインバッファが用いられる場合、ラインバッファの水平方向サイズは、画像の水平解像度に対応するサイズとなり、垂直方向サイズは、動きベクトル検出における垂直方向の探索範囲に対応するサイズとなる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−２３９２３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
動きベクトル検出に用いる参照画像格納用のラインバッファの水平方向サイズは、画像の水平解像度に依存する。そのため、動画像の高解像度化に伴い、ラインバッファの水平方向サイズを大きくする必要がある。
【０００９】
しかしながら、ラインバッファの垂直方向サイズを維持したまま水平方向サイズを大きくすると、ラインバッファの記憶容量が増加し、回路規模の増大やコストの上昇につながる。他方、回路規模の増大を抑制するためにラインバッファの記憶容量を維持したまま水平方向サイズを大きくすると、垂直方向サイズが小さくなる。その結果、動きベクトル検出における垂直方向の探索可能範囲が狭くなり、画質劣化につながる可能性がある。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、符号化対象画像の解像度が上昇する場合に、参照画像の格納により使用される記憶容量の増加を抑制しつつ画質劣化を抑制する技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明は、動画像に含まれる符号化対象画像に対してブロック単位で動き補償予測符号化を行う符号化装置であって、前記動画像から参照画像を選択する選択手段と、前記参照画像の一部を探索することにより、前記符号化対象画像の符号化対象ブロックの動きベクトルを検出する検出手段と、前記動きベクトルに基づいて前記符号化対象ブロックを符号化する符号化手段と、を備え、前記符号化対象画像の第１の方向の解像度が第１の解像度である場合、前記選択手段は、前記符号化対象画像と前記参照画像との間の時間的な距離が第１の距離以内になるように前記参照画像を選択し、前記検出手段は、前記第１の方向に直交する第２の方向における前記動きベクトルの探索範囲を第１の探索範囲として前記探索を行い、前記符号化対象画像の前記第１の方向の解像度が前記第１の解像度よりも高い第２の解像度である場合、前記選択手段は、前記符号化対象画像と前記参照画像との間の時間的な距離が前記第１の距離よりも短い第２の距離以内になるように前記参照画像を選択し、前記検出手段は、前記第２の方向における前記動きベクトルの探索範囲を前記第１の探索範囲よりも狭い第２の探索範囲として前記探索を行うことを特徴とする符号化装置を提供する。
【００１２】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
【発明の効果】
【００１３】
本発明によれば動画像の解像度が上昇する場合に、参照画像の格納により使用される記憶容量の増加を抑制しつつ画質劣化を抑制することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】符号化装置を含む撮像装置１００の構成を示すブロック図。
【図２】ＧＯＰ構造の例を示す図。
【図３】ＴｅｍｐｏｒａｌＩＤを用いた構成の例を示す図。
【図４】符号化対象ブロック（ＣＴＵ（Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ））と動きベクトル検出の探索範囲を示す図。
【図５】ＣＴＵ４０１の次の符号化対象ＣＴＵに対応する動きベクトル検出の探索範囲を示す図。
【図６】画面の右端までが探索範囲となるＣＴＵ（４３，０）に対応する動きベクトル検出の探索範囲を示す図。
【図７】ＣＴＵ（０，１）に対応する動きベクトル検出の探索範囲を示す図。
【図８】符号化対象ＣＴＵの上下の探索範囲が等しくなると共に画面の上端までが探索範囲となるＣＴＵ（４３，５）に対応する動きベクトル検出の探索範囲を示す図。
【図９】ＣＴＵ（０，６）に対応する動きベクトル検出の探索範囲を示す図。
【図１０】撮像装置１００が実行する符号化処理のフローチャート。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して、本発明の実施形態を説明する。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。また、別々の実施形態の中で説明されている特徴を適宜組み合せることも可能である。
【００１６】
［第１の実施形態］
図１は、符号化装置を含む撮像装置１００の構成を示すブロック図である。以下の説明においては、撮像装置１００はＨＥＶＣに対応しているものとするが、本実施形態の符号化方式はＨＥＶＣに限定されず、動き補償予測符号化を伴う任意の符号化方式に適用可能である。
【００１７】
撮影される画像は、レンズ１０１を通して撮像部１０２に入力される。撮像部１０２は、画像をデジタル画素データに変換し、現像処理部１０３に送る。現像処理部１０３では、ディベイヤー処理、キズ補正、ノイズ除去、拡大縮小処理、ＹＣｂＣｒ形式への色変換処理などの画像処理が行われる。画像処理後の、圧縮符号化を行うことができる形式になった画像が、符号化フレームバッファ１０４に入力される。撮像装置１００は、この画像を符号化対象画像として用いる。参照フレームバッファ１０５は、参照画像を格納する。符号化ブロックバッファ１０６は、符号化フレームバッファ１０４に格納されている符号化対象画像をブロック単位で取得し、符号化対象ブロックとして格納する。
【００１８】
参照ラインバッファ１０７は、動きベクトル検出に必要な参照画像を参照フレームバッファ１０５から取得して格納する。なお、参照ラインバッファ１０７が同時に保持する参照画像（バッファ画像）は、参照画像の全体ではなく一部である（詳細は図４〜図９を参照して後述）。
【００１９】
符号化フレームバッファ１０４及び参照フレームバッファ１０５は、不図示のＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を用いて実装される。また、符号化ブロックバッファ１０６及び参照ラインバッファ１０７は、符号化フレームバッファ１０４及び参照フレームバッファ１０５とは異なるメモリを用いて実装される。例えば、符号化フレームバッファ１０４及び参照フレームバッファ１０５は、不図示のＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を用いて実装される。
【００２０】
動き予測部１０８は、符号化ブロックバッファ１０６に格納されている符号化対象ブロックと、参照ラインバッファ１０７に格納されている参照画像との間でブロックマッチングを行うことにより、動きベクトル検出を行う。動き予測部１０８は、符号化対象ブロックと、検出された動きベクトルに対応する位置の参照画像（予測画像）との間で画素の差分をとり、その差分画像を直交変換部１０９に出力する。また、動き予測部１０８は、ローカルデコード画像作成のために、予測画像を動き補償部１１６に出力する。
【００２１】
直交変換部１０９は、動き予測部１０８から出力された差分画像に対して離散コサイン変換を行い、変換係数を生成し、量子化部１１０に出力する。
【００２２】
量子化部１１０は、直交変換部１０９から出力された変換係数に対して、量子化制御部１１１が出力する量子化ステップサイズに従い、量子化を行う。量子化された変換係数は、符号化ストリーム作成のために可変長符号化部１１２に出力されると共に、ローカルデコード画像作成のために逆量子化部１１４に出力される。
【００２３】
可変長符号化部１１２は、量子化後の変換係数に対してジグザグスキャン、オルタネートスキャン等を行い、可変長符号化を行う。また、可変長符号化部１１２は、可変長符号化された変換係数に対して、動きベクトル、量子化ステップサイズ、ブロック分割情報、適応オフセット処理用パラメータなどの符号化方式情報を可変長符号化したものを付加し、符号化ストリームを生成する。生成された符号化ストリームは、記録メディア１１３に記録される。また、可変長符号化部１１２は、符号化の際にブロックごとの発生符号量を算出し、量子化制御部１１１に出力する。
【００２４】
量子化制御部１１１は、可変長符号化部１１２から出力された発生符号量を用いて、目標とする符号量になるように量子化ステップサイズを決定し、量子化部１１０に出力する。
【００２５】
逆量子化部１１４は、量子化部１１０から出力された量子化後の変換係数に対して逆量子化を行い、ローカルデコード用の変換係数を生成する。この変換係数は、逆直交変換部１１５に出力される。
【００２６】
逆直交変換部１１５は、逆量子化部１１４から出力された変換係数に対して逆離散コサイン変換を行い、差分画像を生成する。生成された差分画像は、動き補償部１１６に出力される。
【００２７】
動き補償部１１６は、動き予測部１０８から出力された予測画像と、逆直交変換部１１５から出力された差分画像とを加算することにより、ローカルデコード用の画像データを生成する。生成された画像データは、デブロッキングフィルタ部１１７に出力される。
【００２８】
デブロッキングフィルタ部１１７は、動き補償部１１６から出力された画像データに対してデブロッキングフィルタをかける。デブロッキングフィルタ後の画像は、適応オフセット処理部１１８に出力される。
【００２９】
適応オフセット処理部１１８は、バンドオフセット処理、エッジオフセット処理、もしくは何も処理をしない、のいずれかの選択を行い、適応オフセット処理を行うバンド位置、エッジ方向、オフセット値などを決定する。そして、適応オフセット処理部１１８は、デブロッキングフィルタ後の画像に対して適応オフセット処理を行ったものをローカルデコード画像として参照フレームバッファ１０５に格納する。また、適応オフセット処理部１１８は、適応オフセット処理としてどの処理を選択したか、バンド位置、エッジ方向、オフセット値などの、適応オフセット処理用のパラメータを、符号化ストリームとして生成するため、可変長符号化部１１２に出力する。このような動作により、符号化ストリーム及びローカルデコード画像が作成される。
【００３０】
探索範囲制御部１１９は、入力画像の解像度情報に基づいて、動きベクトル検出の垂直探索範囲を決定する。符号化制御部１２０は、入力画像の解像度情報に基づいて、符号化対象画像と動き検出時に参照する画像（参照画像）との参照関係、即ちＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅｓ）構造を決定する。また、符号化制御部１２０は、ＲＯＭ（不図示）に格納された制御プログラムに従って撮像装置１００の各部を制御することにより、符号化処理を制御する。
【００３１】
図２は、ＧＯＰ構造の例を示す図である。図２において、「Ｉ」、「Ｐ」、「Ｂ」はそれぞれＩピクチャ、Ｐピクチャ、Ｂピクチャを表す。各ピクチャは表示順に並んでいる。図２（ａ）において、Ｐピクチャ２０１は、８枚前のＩピクチャ２０２を参照しており、この参照が時間的に最大の参照距離である。このように時間的に最大の参照距離が８枚のピクチャであるＧＯＰ構造を、「Ｍ＝８」と定義する。この時、Ｂピクチャ２０３は、Ｐピクチャ２０１又はＩピクチャ２０２を参照する。Ｂピクチャ２０４は、Ｉピクチャ２０２又はＢピクチャ２０３を参照する。Ｂピクチャ２０５は、Ｐピクチャ２０１又はＢピクチャ２０３を参照する。Ｂピクチャ２０６は、Ｉピクチャ２０２又はＢピクチャ２０４を参照する。Ｂピクチャ２０７は、Ｂピクチャ２０３又はＢピクチャ２０４を参照する。Ｂピクチャ２０８は、Ｂピクチャ２０３又はＢピクチャ２０５を参照する。Ｂピクチャ２０９は、Ｐピクチャ２０１又はＢピクチャ２０５を参照する。
【００３２】
図２（ｂ）において、Ｐピクチャ２１０は、４枚前のＩピクチャ２１１を参照しており、この参照が時間的に最大の参照距離である。このように時間的に最大の参照距離が４枚のピクチャであるＧＯＰ構造を、「Ｍ＝４」と定義する。この時、Ｂピクチャ２１２は、Ｐピクチャ２１０又はＩピクチャ２１１を参照する。Ｂピクチャ２１３は、Ｉピクチャ２１１又はＢピクチャ２１２を参照する。Ｂピクチャ２１４は、Ｐピクチャ２１０又はＢピクチャ２１２を参照する。
【００３３】
図２（ｃ）において、Ｐピクチャ２１５は、３枚前のＩピクチャ２１６を参照しており、この参照が時間的に最大の参照距離である。このように時間的に最大の参照距離が３枚のピクチャであるＧＯＰ構造を、「Ｍ＝３」と定義する。この時、Ｂピクチャ２１７及びＢピクチャ２１８は、Ｐピクチャ２１５又はＩピクチャ２１６を参照する。
【００３４】
図２（ｄ）において、Ｐピクチャ２１９は、２枚前のＩピクチャ２２０を参照しており、この参照が時間的に最大の参照距離である。このように時間的に最大の参照距離が２枚のピクチャであるＧＯＰ構造を、「Ｍ＝２」と定義する。この時、Ｂピクチャ２２１は、Ｐピクチャ２１９又はＩピクチャ２２０を参照する。
【００３５】
このように、符号化対象画像と参照画像との間の時間的な距離は、Ｍの値により規定される距離以内である。なお、図２（ａ）〜（ｄ）の例では、Ｐピクチャの参照先が時間的に最大の参照距離である。しかしながら、Ｂピクチャの参照先が時間的に最大の参照距離となるようにＧＯＰ構造を構成してもよい。また、Ｍ＝２，３，４，８の場合のみを例示したが、参照距離はこれらに限定されず、他の参照距離（例えばＭ＝５やＭ＝９）のＧＯＰ構造を用いることも可能である。
【００３６】
ＨＥＶＣにおいては、時間階層構造を利用することができる。この時間階層構造により、ストリームにＴｅｍｐｏｒａｌＩＤ（時間識別子）を付与することで、対応した時間解像度で動画像を出力できるようになる。例えば、１秒間６０フレームで符号化された６０ｐ（ｐ：ｐｒｏｇｒｅｓｓｉｖｅ）のストリームから、３０ｐや１５ｐのストリームを抽出することができる。
【００３７】
図３に、ＴｅｍｐｏｒａｌＩＤを用いた構成の例を示す。この例では、動画像は、図２（ａ）に示したＭ＝８のＧＯＰ構造において、ＴｅｍｐｏｒａｌＩＤの異なる４つの階層で符号化されている。例えば、ＴｅｍｐｏｒａｌＩＤ＝０，１，２の部分のストリームを取り出して再生することにより、Ｉピクチャ２０２、Ｂピクチャ２０３，２０４，２０５、Ｐピクチャ２０１の再生を行うことができる。即ち、６０ｐのストリームから３０ｐの部分のみを取り出して再生することが可能となる。この時、時間的な参照距離が最大となるピクチャ（ここではＰピクチャ２０１）は、ＴｅｍｏｒａｌＩＤが０となる。
【００３８】
次に、参照ラインバッファ１０７（バッファメモリ）への参照画像の格納方法について説明する。ここでは、符号化対象画像の解像度を１９２０×１０８０とし、動きベクトル検出の水平方向の探索範囲を±５１２画素、垂直方向の探索範囲を±１２８ラインの場合を例に説明する。
【００３９】
図４に、符号化対象ブロック（ＣＴＵ（Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ））と動きベクトル検出の探索範囲を示す。ＣＴＵサイズは３２×３２画素とする。水平ＣＴＵ位置がｘ、垂直ＣＴＵ位置がｙの場合のＣＴＵをＣＴＵ（ｘ，ｙ）と表現する。
【００４０】
ＣＴＵ４０１は、ピクチャ先頭のＣＴＵであり、ＣＴＵ（０，０）に対応する。この場合の動きベクトル検出の探索範囲となる参照画像４０２は、水平方向が０〜５４３の５４４画素、垂直方向が０〜１５９の１６０ラインとなる。符号化制御部１２０は、ＣＴＵ４０１の符号化前に、参照画像４０２を参照フレームバッファ１０５から取得し、参照ラインバッファ１０７に格納しておく。
【００４１】
図５は、ＣＴＵ４０１の次の符号化対象ＣＴＵに対応する動きベクトル検出の探索範囲を示す図である。ＣＴＵ５０１は、ＣＴＵ（１，０）に対応する。この場合の動きベクトル検出の探索範囲となる参照画像５０２は、水平方向が０〜５７５の５７６画素、垂直方向が０〜１５９の１６０ラインとなる。ＣＴＵ５０１の符号化前に、水平方向０〜５４３までの参照画像は既に参照ラインバッファ１０７に格納されている。そのため、符号化制御部１２０は、新たに必要となる水平方向５４４〜５７５の参照画像５０３のみを参照フレームバッファ１０５から取得し、参照ラインバッファ１０７に格納する。
【００４２】
次に、図６を参照して、画面の右端までが探索範囲となるＣＴＵ（４３，０）の符号化について説明する。図６は、この時の動きベクトル検出の探索範囲を示す。ＣＴＵ６０１は、ＣＴＵ（４３，０）に対応する。この時の動きベクトル検出の探索範囲となる参照画像６０２は、水平方向が８６４〜１９１９の１０５６画素、垂直方向が０〜１５９の１６０ラインとなる。参照画像６０３は、水平方向０〜８６３、垂直方向０〜１５９の部分であり、この部分はＣＴＵ６０１の探索範囲外だが、次のＣＴＵラインの動きベクトル検出時に必要となるため、参照ラインバッファ１０７に保持したままとなっている。
【００４３】
図７を参照して、次のＣＴＵラインであるＣＴＵ（０，１）の符号化について説明する。図７は、この時の動きベクトル検出の探索範囲を示す。ＣＴＵ７０１は、ＣＴＵ（０，１）に対応する。この時の動きベクトル検出の探索範囲となる参照画像７０２は、水平方向が０〜５４３の５４４画素、垂直方向が０〜１９１の１９２ラインとなる。ＣＴＵ７０１の符号化開始時点で、垂直方向０〜１５９の部分の参照画像は、それまでの符号化時に使用されているため、参照ラインバッファ１０７に既に格納されている。そのため、符号化制御部１２０は、新たに必要となる水平方向０〜５４３、垂直方向１６０〜１９１の参照画像７０３のみを参照フレームバッファ１０５から取得し、参照ラインバッファ１０７に格納する。
【００４４】
次に、図８を参照して、符号化対象ＣＴＵの上下の探索範囲が等しくなると共に画面の上端までが探索範囲となるＣＴＵ（４３，５）の符号化について説明する。図８は、この時の動きベクトル検出の探索範囲を示す。ＣＴＵ８０１は、ＣＴＵ（４３，５）に対応する。この時の動きベクトル検出の探索範囲となる参照画像８０２は、水平方向が８６４〜１９１９の１０５６画素、垂直方向が０〜２８７の２８８ラインとなる。この時、参照ラインバッファ１０７には、水平方向が符号化対象画像の解像度と同じ０〜１９１９、垂直方向が探索範囲分である０〜２８７の部分の参照画像が格納されている。
【００４５】
次に、図９を参照して、更に次のＣＴＵラインであるＣＴＵ（０，６）の符号化について説明する。図９は、この時の動きベクトル検出の探索範囲を示す。ＣＴＵ９０１は、ＣＴＵ（０，６）に対応する。この時の動きベクトル検出の探索範囲となる参照画像９０２は、水平方向が０〜５４３の５４４画素、垂直方向が３２〜３１９の２８８ラインとなる。水平方向０〜１９１９、垂直方向０〜３１の参照画像９０３は、これ以降のＣＴＵで探索範囲となることはない。そのため、符号化制御部１２０は、参照画像９０３を格納していた部分のＳＲＡＭを空き領域とし、この部分に、新たに必要となる参照画像を格納していく。即ち、符号化制御部１２０は、新たに必要となる水平方向０〜５４３、垂直方向２８８〜３１９の参照画像９０４を、参照画像９０３を格納していた部分のＳＲＡＭを使用して参照ラインバッファ１０７に格納する。
【００４６】
このように、参照ラインバッファ１０７は、水平方向サイズが符号化対象画像の水平解像度に一致し、垂直方向サイズが垂直方向の最大探索範囲（垂直ＣＴＵサイズを含む）に一致するように使用される。符号化対象画像の解像度が１９２０×１０８０、ＣＴＵサイズが３２×３２の場合、参照ラインバッファ１０７の水平方向サイズは、符号化対象画像の水平解像度である１９２０画素となる。また、参照ラインバッファ１０７の垂直方向サイズは、垂直探索範囲（垂直ＣＴＵサイズを除く）が±１２８ラインで２５６ライン、垂直ＣＴＵサイズが３２ラインなので、合計２８８ラインとなる。そして、参照ラインバッファ１０７に記憶されるバッファ画像の水平方向における最大サイズは、水平解像度に対応する１９２０画素となる。
【００４７】
次に、符号化対象画像の解像度が高くなる場合について説明する。上の説明では１９２０×１０８０であった解像度が、３８４０×２１６０に上昇した場合を考える。参照ラインバッファ１０７の記憶容量を維持したまま水平方向サイズを１９２０画素から３８４０画素に増加させるためには、垂直方向サイズを２８８ラインから１４４ラインに減少させる必要がある。この場合、垂直方向の最大探索範囲（垂直ＣＴＵサイズを含む）も、２８８ラインから１４４ラインに縮小する。その結果、垂直方向の探索範囲が被写体の本来の動きよりも狭くなり動きを追跡することができない可能性が上昇し、画質劣化につながる恐れがある。
【００４８】
垂直方向の探索範囲の縮小を補償するために、符号化制御部１２０は、ＧＯＰ構造を変更することにより、動きベクトル検出のための参照画像の最大時間距離を短縮する。例えば、解像度が１９２０×１０８０の場合のＧＯＰ構造がＭ＝８である場合を考える。この場合、解像度が３８４０×２１６０に上昇すると、符号化制御部１２０は、ＧＯＰ構造をＭ＝４に変更する。参照画像の時間距離が半分になると、対応する被写体の動きも半分になる。従って、参照ラインバッファ１０７の垂直方向サイズの半減に伴う垂直方向の探索範囲の半減を補償することができる。
【００４９】
なお、ここでは画素密度の変化に伴う空間的な探索範囲の変化については考慮しないものとする。画素密度に関わらず単純に探索範囲の画素数だけで比較した場合でも、符号化対象画像の解像度の上昇に伴って探索範囲の縮小が生じ、参照画像の時間距離の短縮により探索範囲の画素数の減少を補償することができる。
【００５０】
また、参照画像の最大時間距離の短縮率は、必ずしも参照ラインバッファ１０７の垂直方向サイズの縮小率と一致していなくてもよい。例えば、ＧＯＰ構造をＭ＝８からＭ＝７に変更するだけでも、参照ラインバッファ１０７の垂直方向サイズの縮小をある程度は補償することができる。
【００５１】
図１０は、撮像装置１００が実行する符号化処理のフローチャートである。本フローチャートの各ステップの処理は、特に断らない限り、符号化制御部１２０が制御プログラムに従って撮像装置１００の各部を制御することにより実現される。
【００５２】
Ｓ１００１で、符号化制御部１２０は、符号化対象画像の水平解像度を確認し、水平解像度が１９２０であれば処理をＳ１００２へ進め、水平解像度が３８４０であれば処理をＳ１００４へ進める。
【００５３】
Ｓ１００２で、符号化制御部１２０は、ＧＯＰ構造をＭ＝８に設定する。Ｓ１００３で、符号化制御部１２０は、垂直探索範囲を２８８ラインに設定する。
【００５４】
Ｓ１００４で、符号化制御部１２０は、ＧＯＰ構造をＭ＝４に設定する。Ｓ１００５で、符号化制御部１２０は、垂直探索範囲を１４４ラインに設定する。
【００５５】
Ｓ１００６で、符号化制御部１２０は、符号化対象画像を符号化する。この時、符号化制御部１２０は、上で設定したＧＯＰ構造及び垂直探索範囲を使用して動きベクトルの検出（参照画像の選択、参照ラインバッファ１０７への参照画像の格納など）を行う。
【００５６】
以上説明したように、第１の実施形態によれば、撮像装置１００は、符号化対象画像の水平解像度が上昇すると、動きベクトル検出における垂直方向の探索範囲を縮小すると共に、参照画像の時間的な距離の最大値を減少させる。これにより、符号化対象画像の解像度が上昇する場合に、参照画像の格納により使用される記憶容量の増加を抑制しつつ画質劣化を抑制することが可能となる。
【００５７】
なお、図１０には水平解像度が１９２０の場合と３８４０の場合しか示されていないが、本実施形態の水平解像度はこれに限定されない。また、ＧＯＰ構造及び垂直探索範囲に関しても、図１０に示されるものは例に過ぎず、本実施形態は図１０の構成に限定される訳ではない。また、図１０で説明した水平と垂直との関係は、交換可能である。即ち、参照ラインバッファ１０７が垂直ラインバッファである場合、符号化制御部１２０は、Ｓ１００１において垂直解像度を確認する。そして、符号化制御部１２０は、垂直解像度の上昇に伴って水平探索範囲が縮小するように、Ｓ１００４及びＳ１００５において水平探索範囲を設定する。一般化すると、符号化制御部１２０は、符号化対象画像の第１の方向の解像度の上昇に伴い、動きベクトル検出において第１の方向に直交する第２の方向の探索範囲を縮小すると共に、参照画像の時間的な距離の最大値を減少させる。探索範囲の縮小の度合いが大きいほど、参照ラインバッファ１０７の記憶容量の増加が抑制される。また、参照画像の時間的な距離の最大値の減少の度合いが大きいほど、探索範囲の縮小を補償できる度合いが大きくなる。
【００５８】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５９】
１０４…符号化フレームバッファ、１０５…参照フレームバッファ、１０６…符号化ブロックバッファ、１０７…参照ラインバッファ、１０８…動き予測部、１０９…直交変換部、１１０…量子化部、１１２…可変長符号化部、１２０…符号化制御部
【図１】
2018166306.tif 000003
【図２】
2018166306.tif 000004
【図３】
2018166306.tif 000005
【図４】
2018166306.tif 000006
【図５】
2018166306.tif 000007
【図６】
2018166306.tif 000008
【図７】
2018166306.tif 000009
【図８】
2018166306.tif 000010
【図９】
2018166306.tif 000011
【図１０】
2018166306.tif 000012