(57)【要約】      （修正有）【課題】参照画像データの圧縮による画質の低減を抑え、これまでよりも画質劣化を抑制する符号化データの生成技術を提供する。【解決手段】インター符号化する際の参照画像データを格納するためのメモリ１０２を用いて、動画像データを符号化する画像符号化装置１００であって、着目ブロックをブロック単位に更新される符号化パラメータに基づいて符号化し、得られた符号化データに符号化パラメータを多重化してメモリに格納する符号化部１２０と、メモリに格納された符号化データを、当該符号化データに多重化された符号化パラメータに基づいて復号する復号部１２１と、イントラ差分、インター差分、および、インター差分を求めることになった予測ブロックを復号する際の符号化パラメータに基づいて、符号化対象ブロックをイントラ符号化、インター符号化のいずれで符号化するかを決定する決定部１０５とを有する。【選択図】図１
2020028021.tif 000002
【特許請求の範囲】
【請求項１】
インター符号化する際の参照画像データを格納するためのメモリを用いて、動画像データを符号化する画像符号化装置であって、
着目ブロックを符号化した場合の当該着目ブロックに対応する再構成画像データを、ブロック単位に更新される符号化パラメータに基づいて符号化し、得られた符号化データに前記符号化パラメータを多重化して前記メモリに格納する符号化手段と、
符号化対象ブロックをインター符号化するための、当該符号化対象ブロックの予測候補のブロックを得るために前記メモリに格納された符号化データを、当該符号化データに多重化された符号化パラメータに基づいて復号する復号手段と、
前記符号化対象ブロックについてイントラ予測処理を行ってイントラ予測モードを決定し、決定したイントラ予測モードに基づく前記符号化対象ブロックに対するイントラ差分を求めるイントラ予測手段と、
前記復号手段を用いて前記符号化対象ブロックについてインター予測処理を行って、前記符号化対象ブロックに対するインター差分を求めるインター予測手段と、
前記イントラ差分、前記インター差分、および、前記インター差分を求めることになった予測ブロックを復号する際の符号化パラメータに基づいて、前記符号化対象ブロックをイントラ符号化、インター符号化のいずれで符号化するかを決定する決定手段と
を有することを特徴とする画像符号化装置。
【請求項２】
前記符号化パラメータは量子化パラメータであって、
前記符号化手段は、１つのピクチャの最初のブロックから前記着目ブロックの直前のブロックまでの累積符号量に基づいて、前記量子化パラメータを更新して、更新後の量子化パラメータに基づき前記着目ブロックの画像データを符号化する
ことを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記イントラ予測手段は、前記符号化対象ブロック内の画素値と対応する予測値と差分の絶対値和、もしくは二乗和を、前記イントラ差分であるＤintraを求め、
前記インター予測手段は、前記符号化対象ブロック内の画素値と対応する予測値と差分の絶対値和、もしくは二乗和を、前記インター差分であるＤinterを求め、
前記判定手段は、
前記インター予測手段が決定した予測ブロックを復号する際に用いた量子化パラメータＱＰに依存し、当該ＱＰが大きいほど大きな値を有する係数ｋに基づいて、ＤintraとＤinter×ｋとの大小判定を行い、
Ｄintraが小である場合に、前記符号化対象ブロックをイントラ符号化するとして決定し、
Ｄinter×ｋが小である場合に、前記符号化対象ブロックをインター符号化するとして決定する
ことを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
インター符号化する際の参照画像データを格納するためのメモリを用いて、動画像データを符号化する画像符号化装置の制御方法であって、
着目ブロックを符号化した場合の当該着目ブロックに対応する再構成画像データを、ブロック単位に更新される符号化パラメータに基づいて符号化し、得られた符号化データに前記符号化パラメータを多重化して前記メモリに格納する符号化工程と、
符号化対象ブロックをインター符号化するための、当該符号化対象ブロックの予測候補のブロックを得るために前記メモリに格納された符号化データを、当該符号化データに多重化された符号化パラメータに基づいて復号する復号工程と、
前記符号化対象ブロックについてイントラ予測処理を行ってイントラ予測モードを決定し、決定したイントラ予測モードに基づく前記符号化対象ブロックに対するイントラ差分を求めるイントラ予測工程と、
前記復号工程を用いて前記符号化対象ブロックについてインター予測処理を行って、前記符号化対象ブロックに対するインター差分を求めるインター予測工程と、
前記イントラ差分、前記インター差分、および、前記インター差分を求めることになった予測ブロックを復号する際の符号化パラメータに基づいて、前記符号化対象ブロックをイントラ符号化、インター符号化のいずれで符号化するかを決定する決定工程と
を有することを特徴とする画像符号化装置の制御方法。
【請求項５】
コンピュータが読み込み実行することで、前記コンピュータに、請求項４に記載の方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの圧縮符号化技術に関するものである。
【背景技術】
【０００２】
動画像の圧縮符号化方式として、Ｈ．２６４やＨ．２６５等が知られている。これらの圧縮符号化方式を用いた符号化装置においては、メモリに対して原画像データ、参照画像データの読み書きを行いながら符号化処理がなされている。近年の画像データの高解像度化、高フレームレート化が進む一方である。それ故、単位時間当たりのメモリのアクセス量は増大しており、メモリバスの帯域が逼迫しつつある。そこで、参照画像データを圧縮符号化してデータ量を削減した後にメモリに格納することによって、参照画像データによる単位時間当たりのアクセス量を削減する技術がある（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５５７３５１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の技術では、参照画像データの圧縮による歪みが発生する場合がある。動画像の符号化は、参照画像データを参照して差分を求めて符号化するものであるから、その歪は動画像の画質劣化につながる。
【０００５】
本発明は、かかる点に鑑みてなされたものであり、参照画像データの圧縮による画質の低減を抑え、これまでよりも画質劣化を抑制する符号化データの生成技術を提供しようとするものである。
【課題を解決するための手段】
【０００６】
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
インター符号化する際の参照画像データを格納するためのメモリを用いて、動画像データを符号化する画像符号化装置であって、
着目ブロックを符号化した場合の当該着目ブロックに対応する再構成画像データを、ブロック単位に更新される符号化パラメータに基づいて符号化し、得られた符号化データに前記符号化パラメータを多重化して前記メモリに格納する符号化手段と、
符号化対象ブロックをインター符号化するための、当該符号化対象ブロックの予測候補のブロックを得るために前記メモリに格納された符号化データを、当該符号化データに多重化された符号化パラメータに基づいて復号する復号手段と、
前記符号化対象ブロックについてイントラ予測処理を行ってイントラ予測モードを決定し、決定したイントラ予測モードに基づく前記符号化対象ブロックに対するイントラ差分を求めるイントラ予測手段と、
前記復号手段を用いて前記符号化対象ブロックについてインター予測処理を行って、前記符号化対象ブロックに対するインター差分を求めるインター予測手段と、
前記イントラ差分、前記インター差分、および、前記インター差分を求めることになった予測ブロックを復号する際の符号化パラメータに基づいて、前記符号化対象ブロックをイントラ符号化、インター符号化のいずれで符号化するかを決定する決定手段とを有する。
【発明の効果】
【０００７】
本発明によれば、メモリのアクセス量を削減するとともに、これまでよりも画質の低下を抑制した符号化データの生成が可能になる。
【図面の簡単な説明】
【０００８】
【図１】実施形態における画像符号化装置のブロック構成図。
【図２】第２の画像符号化部のブロック構成図。
【図３】第２の画像復号部のブロック構成図。
【図４】イントラ・インター選択回路のブロック構成図。
【図５】第２の実施形態における画像符号化装置のブロック構成図。
【図６】第２の実施形態におけるＣＰＵが実行する処理手順を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下に示す実施形態における構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１０】
［第１の実施形態］
図１は、予測符号化技術を用いた動画像データを符号化する画像符号化装置のブロック構成図である。
【００１１】
この画像符号化装置１００は、動きベクトルを探索するインター予測部１０３と、イントラ予測方法を選択するイントラ予測部１０４とを備えている。また、画像符号化装置１００は、インター予測とイントラ予測のいずれかの予測方法を選択するイントラ・インター選択部１０５、予測画像生成部１０６、減算器１０７、周波数変換部１０８、量子化部１０９を備えている。画像符号化装置１００は、更に、逆量子化部１１０、周波数逆変換部１１１、加算器１１２、ループ内フィルタ１１３、エントロピー符号化部１１５、量子化制御部１１６、符号量制御部１１７、第２の符号化部１２０、第２の復号部１２１を備えている。また、フレームメモリ１０２には、符号化しようとする入力画像、および、インター予測に用いる参照画像を記憶する領域が確保されている。
【００１２】
撮像部１０１は、例えば３０ＦＰＳのフレームレートで撮像して得た画像を出力する。撮像部１０１からは、第１フレーム、第２フレーム、第３フレーム、…と撮像順に出力され、フレームメモリ１０２の入力画像領域に順次格納される。フレームメモリ１０２からは、例えば、第３フレーム、第１フレーム、第２フレーム、…と、符号化を行う順序で画像データを取り出していく。
【００１３】
ここで、符号化方法には、フレーム内の画像データのみで符号化するイントラ符号化と、フレーム間での予測も含めて符号化するインター符号化とがある。インター符号化を行うピクチャは、動き補償の単位（ＭＣブロック）に対して１枚の参照フレームとの予測を行うＰピクチャと、ＭＣブロックに対して２枚までの参照フレームとの予測を行うＢピクチャとがある。Ｂピクチャにおいて、２枚の参照フレームを参照する場合には、２枚の参照フレームの画素値を画素ごとに平均した画像を参照フレームとして符号化を行う。一方、イントラ符号化を行うピクチャは、Ｉピクチャである。なお、符号化するフレームの順番が入力されたフレームの順番と異なるのは、過去のフレームだけではなく、時間的に未来のフレームとの予測（後方予測）を可能にするためである。
【００１４】
イントラ符号化を行う場合、符号化単位となる符号化対象ブロックの画像データが、フレームメモリ１０２から読み出されて、イントラ予測部１０４へ入力される。本実施形態では、１つの符号化対象ブロックの単位を水平１６画素×垂直１６画素とする。また、符号化対象ブロックの周辺の画素のデータもフレームメモリ１０２から読み出されて、イントラ予測部１０４へ入力される。
【００１５】
イントラ予測部１０４は、符号化対象ブロックと、その符号化対象ブロック周辺の画素のデータから生成される複数のイントラ予測画像データとの相関を基にイントラ予測方式（イントラ予測モード）を決定するイントラ予測処理を行う。そして、イントラ予測部１０４は、その決定したイントラ予測方式と、イントラ差分を示す値をイントラ・インター選択部１０５へ出力する。ここで、イントラ差分は、符号化対象ブロックの各画素の予想誤差の絶対値和もしくは二乗和である。
【００１６】
イントラ符号化を行う場合は、イントラ・インター選択部１０５は常にイントラ予測を選択し、予測画像生成部１０６へ選択結果を通知する。予測画像生成部１０６はイントラ・インター選択部１０５が選択した予測方法に従って、後述する加算器１１２から出力される再構成画像データからイントラ予測画像データを生成する。
【００１７】
減算器１０７は、前述のイントラ予測画像データと、フレームメモリ１０２から読み出される符号化対象ブロックの画像データとを入力され、符号化対象ブロックの画像とイントラ予測画像との画素値の差分画像データを求め、求めた差分画像データを周波数変換部１０８へ出力する。周波数変換部１０８は、入力された画素値の差分画像データに対して周波数変換（アダマール変換など）を施す。量子化部１０９は、周波数変換部１０８によりえら得た変換係数データに対して、量子化制御部１１６より設定された量子化係数を用いて量子化処理を行う。
【００１８】
エントロピー符号化部１１５は、量子化部１０９による量子化後の変換係数データをエントロピー符号化し、ストリームを出力する。
【００１９】
量子化制御部１１６は、エントロピー符号化部１１５で発生した符号量や、符号量制御部１１７から設定される目標符号量などから量子化係数を算出し、量子化部１０９に設定する。
【００２０】
また、量子化部１０９による量子化で得られた変換係数は、逆量子化部１１０にも入力される。逆量子化部１１０は、入力された変換係数データを逆量子化し、逆周波数変換部１１１は、逆量子化して得られた変換係数データに対して逆周波数変換を施し、差分画像データを生成する。
【００２１】
加算器１１２は、逆周波数変換で得た差分画像データと、予測画像生成部１０６により生成されたイントラ予測画像データとを入力し、それらを加算する。加算後のデータは復号された再構成画像データとなり、前述した予測画像生成部１０６に入力されてイントラ予測画像データの生成に用いられる。また、再構成画像データは、ループ内フィルタ１１３によって符号化歪の軽減処理が施され、第２の符号化部１２０によって圧縮符号化された後、後述するインター符号化の際に用いる参照画像データとして、フレームメモリ１０２の参照画像の格納領域に記憶する。
【００２２】
次に図２を参照し、第２の符号化部１２０の構成と動作を説明する。なお、本実施形態では符号化方式として、予測差分符号化（ＤＰＣＭ）方式を用いた例を説明するが、符号化方式はこれに限定されることなく他の方式を用いてもよい。
【００２３】
図２に示すように第２の符号化部１２０は、減算器２０１、量子化部２０２、逆量子化部２０３、加算器２０４、予測部２０５、セレクタ２０６、可変長符号化部２０７、多重化部２０８、符号量制御部２０９より構成される。なお、以下に説明する、第２の符号化部１２０における量子化パラメータＱＰは、量子化部１０９が用いる量子化係数とは独立した符号化パラメータである点に注意されたい。
【００２４】
減算器２０１は入力された画像データの画素ごとに、後述の予測部２０５で生成された予測値を減算して、予測差分値を算出する。
【００２５】
量子化部２０２は予測差分値を、後述の符号量制御部２０９から指示される量子化パラメータ（以後ＱＰと呼ぶ）で量子化を行う。ＱＰが小さいほど、量子化ステップは小さく（細かく）、ＱＰが大きいほど量子化ステップは大きく（粗く）なる。
【００２６】
逆量子化部２０３は量子化部２０２で量子化された予測差分値を量子化部２０２と同様のＱＰで逆量子化する。
【００２７】
加算器２０４は、逆量子化された予測差分値と、予測値とを加算し、復号値を算出する。
【００２８】
予測部２０５は、加算器２０４からの復号値を用いて予測値を生成する。予測値は符号化対象の画素値を予測する値として、既に符号化済みの画素の復号値を用いて生成される。例えば符号化対象の画素の左側や上側に隣接する画素をそのまま用いたり、平均値を用いたりする。
【００２９】
なお、符号化するピクチャの位置が先頭ラインなどに位置するとき、そのピクチャにおける符号化済みの画素が存在しないので、復号値も存在しない。セレクタ２０６は、このように、復号値が存在しない場合に、予測値として０を選択するためのセレクタである。なお、セレクタ２０６が選択する値は“０”としているが、復号側（第２の復号部１２１）との間で同じ値であればよいので、必ずしも“０”でなくても良く、例えば画素値が８ビットであれば中央の値“１２８”でも良い。
【００３０】
可変長符号化部２０７は、量子化された予測差分値を所定の可変長符号化方式による符号化を行って、１画素毎に符号データと符号長を出力する。ここで所定の可変長符号化方式とはハフマン符号、ゴロム符号などである。可変長符号化部２０７は入力値が０の場合に最も短い符号長の符号データが割り当てられ、入力値の絶対値が大きくなるほど、長い符号長の符号データが割り当てられている。一方、予測差分値は正負の値を持つデータであり、画像データの変動の小さい平坦な部分では０付近の値となり、また、変動の大きいエッジ部分などでは大きな差分値になる傾向がある。一般に予測差分データは０を中心としたラプラス分布の特性を持つ。そのため、一般的な画像においては短い符号長の符号データがより多く使われるため、データ量の削減が可能となる。また、量子化部２０２において、大きいＱＰで量子化するほど、予測差分値の絶対値は小さくなり、より符号長を小さくすることができる。
【００３１】
符号量制御部２０９は可変長符号化部２０７からの符号長を累積して発生符号量を算出する。また、外部から指示された圧縮率から１ピクチャあたりの目標符号量を設定する。そして、所定の画素数毎（１ブロックに含まれる画素数毎）に目標符号量と発生符号量を比較して、１ピクチャ期間で最終的に目標符号量に発生符号量が収まるようにＱＰを算出する。具体的には目標符号量より発生符号量が大きい場合、ＱＰを大きくして発生符号量が小さくなるようにし、目標符号量より発生符号量が小さい場合、ＱＰを小さくして発生符号量が大きくなるようにする。算出されたＱＰは量子化部２０２、逆量子化部２０３、多重部２０８に出力される。
【００３２】
例えば、１ピクチャの目標符号量をＴ、１ピクチャに含まれる総画素数を“Ｎ”、１ブロックに含まれる画素数を“ｎ”とすると、１ブロック当たりの目標符号量はＴ・ｎ／Ｎと表せる。第ｘ番目のブロックのＢx（x=0,1,…,N/n-1)、その符号量をＣ（Ｂx）と表す。そして、符号化しようとしている着目ブロックＢiの直前のブロックまでに発生した累積符号量「Ｃ（Ｂ0）＋Ｃ（Ｂ1）＋…＋Ｃ（Ｂi-1）」を“ΣＣ（）”と表す。このとき、符号量制御部２０９は、着目ブロックＢiに含まれる各画素の量子化に用いる量子化パラメータＱＰiを次のようにして決定する。
・ΣＣ（） − (i-1)×Ｔ×ｎ／Ｎ ＞ ε のとき、
ＱＰi＝ＱＰi-1＋δＱ
・−ε ≦ ΣＣ（）− (i-1)×Ｔ／Ｎ ≦ ε のとき、
ＱＰi＝ＱＰi-1
・ΣＣ（） − (i-1)×Ｔ／Ｎ ＜−ε のとき、
ＱＰi＝ＱＰi-1−δＱ
ここで、“ε”は非負の定数であり、“δＱ”は量子化パラメータの更新感度を表す正の定数である。なお、ピクチャの最初のブックＢ0の量子化パラメータは、予め設定されたＰiniを用いるものとする。なお、これらε、δＱはユーザが適宜設定するようにしても良い。
【００３３】
符号量制御部２０９は上記のようにして、ブロック単位に量子化パラメータＱＰを更新する。第２の符号化部１２０は、このように更新後の量子化パラメータを用いて着目ブロックの再構成画像データの各画素を量子化していく。この結果、１つのピクチャからは、設定した目標符号量に近い符号量の符号化データが生成されることになる。つまり、１フレームの期間における、フレームメモリ１０２への参照画像データとしての格納のデータ量を、ほぼ目標符号量以下とすることがでる。
【００３４】
多重部２０８は可変長符号化部２０７からの１ブロック分の符号データと、符号量制御部２０９からのＱＰとを、所定のフォーマットで多重化し、最終的な符号化データとして、フレームメモリ１０２に出力し、格納する。
【００３５】
次に、第２の復号部１２１の構成と動作を、図３を参照して説明する。本実施形態では第１の符号化部１２０と同様に予測差分符号化（ＤＰＣＭ）方式を用いた例を説明する。第１の画像符号化部１０１が他の符号化方式を用いた場合はその方式と同様の方式を用いる事とする。
【００３６】
図３に示すように第２の復号部１２１は、分離部３０１、可変長符号化部３０２、逆量子化部３０３、加算器３０４、予測部３０５、セレクタ３０６より構成される。この第２の復号部１２１は、符号化対象ブロックをインター符号化するため、その符号化対象ブロックに対する予測候補のブロックの画像データを得るために利用されるものである。
【００３７】
分離部３０１は、フレームメモリ１０２から入力された１ブロック分の符号化データを、所定のフォーマットによって可変長符号データとＱＰとに分離する。
【００３８】
可変長復号部３０２は可変長符号化部２０７と同様の方式の可変長復号部であって、分離部３０１によって分離された可変長符号データを入力として、量子化された予測差分値を復号し出力する。
【００３９】
逆量子化部３０３は分離部３０１によって分離されたＱＰを用いて、量子化された予測差分値を逆量子化し、予測差分値を出力する。
【００４０】
加算器３０４は逆量子化された予測差分値と、後述の予測値とを加算し、復号値を算出し、復号画像データとして外部へ出力する。
【００４１】
予測部３０５は復号値を用いて予測値を生成する。予測値は符号化対象の画素値を予測する値として、既に符号化済みの画素の復号値を用いて生成される。例えば符号化対象の画素の左側や上側に隣接する画素をそのまま用いたり、平均値を用いたりする。
【００４２】
セレクタ３０６はピクチャやラインの先頭などで復号値が存在しない場合に予測値として０を選択するためのセレクタである。
【００４３】
また、分離部３０１によって分離されたＱＰは復号画像データと合わせて外部へ出力する。
【００４４】
ここで、画像符号化装置１００の動作説明に戻る。
【００４５】
インター符号化を行う場合、符号化単位となるブロックの画像データがフレームメモリ１０２から読み出されて、インター予測部１０３へ入力される。また、インター予測部１０３は、参照画像メモリから第２の復号部１２１によって復号された参照画像データを読み出し、符号化対象の画像データに最も近い画像データを参照画像データ（予測ブロック）から探し出すインター予測処理を行う。そしてインター予測部１０３は、符号化対象の画像データに最も近い画像データへのベクトルを、動きベクトルとして検出し、その動きベクトルと、インター差分をイントラ・インター選択部１０５へ通知する。ここで、インター差分は、符号化対象ブロック内の各画素値と予測ブロック内の対応する画素値との差分の絶対値和もしくは二乗和である。
【００４６】
フレームによっては、符号化対象ブロックごとにインター予測かイントラ予測かを選択することができる。イントラ予測部１０４は前述のように動作し、イントラ予測の結果をイントラ・インター選択部１０５へ通知する。イントラ・インター選択部１０５は、インター予測部１０３の結果とイントラ予測部１０４の結果と第２の復号部１２１が出力するＱＰを入力し、予測方法を選択して予測画像生成部１０６へ通知する。
【００４７】
イントラ・インター選択部１０５の動作を、図４を参照して説明する。
【００４８】
図４に示すように、イントラ・インター選択部は、係数発生部４０１、乗算器４０２、比較部４０３を有している。
【００４９】
係数発生部４０１は、第２の復号部１２１が出力するＱＰとあらかじめ決められた値ａとを乗算して係数ｋを発生する。係数ｋは、ＱＰに依存するものであり、ＱＰが大きい程大きくなるようにしている。インター予測部１０３が出力するインター予測の差分値と、係数ｋを乗算器４０２で乗算して、乗算結果を比較部４０３へ出力する。比較部４０３は、イントラ予測部１０３が出力するイントラ予測の差分値と、乗算器から出力される係数がかかったインター予測の差分値を比較し、小さい方の予測モード及び動きベクトルを示す情報を選択結果として出力する。
【００５０】
インター差分は、そのブロックのＱＰが大きいほど、より大きい値に変換される。インター予測は参照画像を用いて予測が行われる。そして、用いたＱＰが大きい場合は、参照画像の歪みが大きいと考えられ、そのためにインター予測が選択されにくくすることによって、画質の劣化を抑えることが可能となる。
【００５１】
予測画像生成部１０６は、イントラ予測が選択された場合は、加算器１１２から出力される再構成画像を用いて予測画像を生成する。一方、インター予測が選択された場合は、第２の復号部１２１が復号した参照画像を用いて予測画像を生成する。減算器１０７では、符号化対象の画像と予測画像との差分を計算し、差分画像データが生成される。差分画像データは整数変換部１０８に出力され、その後の処理は前述したイントラ符号化の場合と同様である。
【００５２】
以上、説明したように、参照画像データを復号する際に得られるＱＰから、参照画像の歪み量を推定し、歪み量が大きい参照画像をできるだけ使用しないようにできるため、画質の低下を抑えることが可能となる。
【００５３】
［第２の実施形態］
上記第１の実施形態を、コンピュータプログラムによって実現する例を第２の実施形態として説明する。
【００５４】
図５は、第２の実施形態における画像符号化装置のブロック構成図である。同図に示すように、本装置５００は、ＣＰＵ５０１、ＲＯＭ５０２、ＲＡＭ５０３、撮像部５０４、操作部５０５、出力部５０６及びこれらを接続するバス５１０を有する。記憶媒体５０７は、脱着可能なメモリカード等の媒体である。
【００５５】
上記構成において、ＣＰＵ５０１は、ＲＯＭ５０２に格納されたプログラムを実行することで、本装置が、撮像部５０４で撮像した動画像データを符号化し、記憶媒体５０７に動画像ファイルとして記録することになる。なお、図１との関係で言えば、フレームメモリ１０２がＲＡＭ５０３に対応し、図１の画像符号化装置１００を構成する各構成要素がＣＰＵ５０１と、ＣＰＵ５０１が実行するプログラムによって機能することになる。また、ＲＡＭ５０３には、図１に示す入力画像領域、参照画像領域が予め確保されている。
【００５６】
以下、本第２の実施形態におけるＣＰＵ５０１が、ＲＯＭ５０２に格納された１フレームの画像の符号化処理を図６のフローチャートにしたがって説明する。なお、符号化対象の１フレーム分の画像データは、ＲＡＭ５０３に入力画像領域に既に格納されているものとする。
【００５７】
まず、Ｓ６０１にて、ＣＰＵ５０１は、ＲＡＭ５０３から、符号化対象の着目ブロックを入力する。
【００５８】
そして、Ｓ６０２にて、ＣＰＵ５０１は、現フレームにおける着目ブロックと周辺の画素のデータから生成される複数のイントラ予測画像データとの相関を基にイントラ予測方式を決定する。このとき、ＣＰＵ５０１は、決定したイントラ予測方式を採用した際の、着目ブロック内の各画素の予測誤差の絶対値和もしくは二乗和を、イントラ差分Ｄintraを求める。
【００５９】
Ｓ６０３にて、ＣＰＵ５０１は、着目ブロックと、ＲＡＭ５０３に格納された符号化参照画像データが示す画像データが動きベクトルを検出する。なお、動きベクトルを求める際には、ＣＰＵ５０１は、符号化されたいくつかのブロックの復号処理を行うことになる。また、ＣＰＵ５０１は、着目ブロックと、最終的に決定した動きベクトルで特定される予測ブロックにおける、各画素の予測誤差の絶対値和もしくは二乗和を、インター差分Ｄinterとして決定する。
【００６０】
Ｓ６０４にて、ＣＰＵ５０１は、インター予測で決定した予測ブロックのＱＰから、予め設定された関数Ｆ（）を用いて、係数ｋを決定する。この関数Ｆ（）は、ＱＰが大きい程、より大きな値を出力する関数である。なお、ＣＰＵ５０１は、ＱＰを入力とするテーブルを用いて係数ｋを決定しても良い。
【００６１】
Ｓ６０５にて、ＣＰＵ５０１は、「Ｄintra」と「Ｄinter×ｋ」との大小判定を行う。そして、ＤintraがＤinter×ｋ以下の場合、ＣＰＵ５０１は処理をＳ６０６に進め、ＤintraがＤinter×ｋより大きい場合は、処理をＳ６０７に進める。
【００６２】
なお、ここでは、「Ｄintra」と「Ｄinter×ｋ」の大小判定を行うものとしたが、ＱＰが大きいほどイントラが選択され易くなれば良いので、例えば、「Ｄintra／ｋ」と「Ｄinter」との大小判定を行っても良いし、他の手法を用いても構わない。
【００６３】
Ｓ６０６にて、ＣＰＵ５０１は、着目ブロックに対してイントラ符号化を行う。Ｓ６０７にて、ＣＰＵ５０１は、着目ブロックに対してインター符号化を行う。
【００６４】
Ｓ６０８にて、ＣＰＵ５０１は、着目ブロックについてローカルデコード、ループ内フィルタ処理を行う。そして、Ｓ６０９にて、ＣＰＵ５０１は、着目ブロック内の各画素について、符号量制御に基づく符号化を行い、得られた符号化データと用いたＱＰとを多重化し、ＲＡＭ５０の参照画像領域に格納する。なお、このＳ６０９の詳細は、第１の実施形態での説明を参照されたい。
【００６５】
そして、Ｓ６１０にて、ＣＰＵ５０１は、着目フレーム内の全ブロックについての符号化処理を終えたか否かを判定し、否の場合には処理をＳ６０１以降の処理を繰り返す。
【００６６】
以上説明したように、本第２の実施形態によれば、バス５１０の帯域の逼迫を緩和しつつ、第１の実施形態と同様の作用効果を奏することが可能になる。
【００６７】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６８】
１００…画像符号化装置、１０１…撮像部、１０２…フレームメモリ、１０３…インター予測部、１０４…イントラ予測部、１０５…イントラ・インター選択部、１０６…予測画像生成部、１２０…第２の符号化部、１２１…第２の復号部
【図１】
2020028021.tif 000003
【図２】
2020028021.tif 000004
【図３】
2020028021.tif 000005
【図４】
2020028021.tif 000006
【図５】
2020028021.tif 000007
【図６】
2020028021.tif 000008