(57)【要約】【課題】小容量のメモリを使用して高画質な符号化処理を行う動画像符号化装置を提供する。【解決手段】動画像符号化装置は、画像の予測符号化の対象にされる分割された画像を符号化した結果に基づいて参照画像を生成するローカルデコード生成部と、参照画像を圧縮して圧縮データを生成する圧縮部と、圧縮データをメモリに格納するか否かを判定する参照画像格納判定部と、メモリに格納された参照画像に基づいてインター符号化のための動き検出を行うインター予測部と、を具備する。参照画像格納判定部は、動画像データの決められた領域毎に、参照画像の格納に使用する許容データ量を設定し、許容データ量に基づいて、参照画像を圧縮した圧縮データをメモリに格納するか否かを判定する。インター予測部は、メモリに格納された圧縮データに対応する参照画像を、動き検出の探索範囲とする。【選択図】図３
2020099013.tif 000002
【特許請求の範囲】
【請求項１】
動画像データを符号化する動画符号化装置は、
予測符号化の対象とされる分割された画像と参照画像との差分を求めて予測符号化を行う画像符号化部と、
前記分割された画像の符号化結果に基づいて前記参照画像を生成するローカルデコード生成部と、
前記参照画像を圧縮して圧縮データを生成する圧縮部と、
前記動画像データの決められた領域毎にメモリに格納する前記圧縮データの許容データ量を予め設定する許容データ量設定部と、
前記圧縮データを前記メモリに格納するか否かを判定する参照画像格納判定部と、
前記メモリに格納された前記参照画像に基づいてインター符号化のための動き検出を行うインター予測部と、を具備し、
前記参照画像格納判定部は、前記許容データ量に基づいて、前記圧縮データを前記メモリに格納するか否かを判定し、前記圧縮データを前記メモリに格納するとの判定結果に基づいて、前記圧縮データを前記メモリに格納し、
前記インター予測部は、前記メモリに格納された前記圧縮データに対応する前記参照画像を動き検出の探索範囲とする、
動画像符号化装置。
【請求項２】
前記圧縮部は前記参照画像を可逆圧縮して前記圧縮データを生成する、
請求項１に記載の動画像符号化装置。
【請求項３】
前記動画像符号化装置は、
前記圧縮データを前記メモリに格納する場合に必要となる前記決められた領域のための格納データ量を算出する格納データ量算出部と、
前記許容データ量と前記格納データ量を比較して比較結果を出力する比較部と、を更に備え、
前記参照画像格納判定部は、前記比較結果に基づいて、前記圧縮データを前記メモリに格納するか否かを判定する、
請求項２に記載の動画像符号化装置。
【請求項４】
前記動画像符号化装置は、
前記圧縮データを前記メモリに格納したか否かを示すフラグを格納するフラグ格納部と、
前記参照画像の前記メモリへの格納の有無を前記フラグに基づいて判定する参照画像有無判定部と、
前記メモリに格納された前記圧縮データを伸長する伸長部と、
を更に具備し、
前記参照画像有無判定部は、前記フラグ格納部が記憶する参照画像の有無に関する参照画像情報を読み出し、
前記参照画像情報が前記メモリに前記圧縮データが格納されていることを示す場合には、前記参照画像有無判定部は、前記圧縮データを前記メモリから読み出して前記伸長部に送信し、前記伸長部は、前記圧縮データを伸長した参照画像を前記インター予測部に送信する、
請求項３に記載の動画像符号化装置。
【請求項５】
前記動画像符号化装置は、
前記分割された画像をイントラ符号化する場合に要する第１の符号化コストを計算するイントラ予測部と、
前記分割された画像をイントラ符号化するかインター符号化するかを判定するイントラ/インター判定部と、を更に具備し、
前記イントラ予測部は、前記第１の符号化コストを前記イントラ/インター判定部に送信し、
前記インター予測部は、前記分割された画像と前記参照画像の差分を用いてインター符号化する場合に要する第２の符号化コストを計算し、前記第２の符号化コストを前記イントラ/インター判定部に送信し、
前記イントラ/インター判定部は、前記第１の符号化コストと、前記第２の符号化コストのコスト比較結果に基づいて、前記分割された画像をイントラ符号化するかインター符号化するか決定する、
請求項３に記載の動画像符号化装置。
【請求項６】
前記参照画像有無判定部は、前記参照画像情報に基づいて、前記分割された画像が参照できる範囲に前記参照画像が格納されているか否かを判定し、参照できる画像がない場合には、前記イントラ/インター判定部に、イントラ符号化する指示情報を送信する、
請求項４に記載の動画像符号化装置。
【請求項７】
前記イントラ予測部は、前記分割された画像に対して複数のイントラモードで符号化した場合に要する複数の符号量を推測し、推測した複数の符号量に基づいて複数の符号化コストを計算し、前記複数の符号化コストのうち最小となる符号化コストを前記第１の符号化コストとして前記イントラ/インター判定部に送信する、
請求項５に記載の動画像符号化装置。
【請求項８】
前記インター予測部は、前記分割された画像が参照できる範囲にある前記参照画像毎に、前記分割された画像と前記参照画像の差分からインター符号化した場合の符号量を推測し、推測した符号量に基づいて符号化コストを計算し、前記参照画像のうち最小の符号化コストを前記第２の符号化コストとして、前記イントラ/インター判定部に送信する、
請求項５または７のいずれか１項に記載の動画像符号化装置。
【請求項９】
前記参照画像格納判定部は、前記メモリに格納するか否かの判定対象である前記参照画像の複雑度と、予め決められた複雑度の閾値と、に基づいて、前記メモリに前記参照画像を格納するか否かを判定し、
前記複雑度は、前記動画像データの局所的な非平坦の度合いを表すパラメータである、
請求項３に記載の動画像符号化装置。
【請求項１０】
前記参照画像格納判定部は、前記比較結果と、前記参照画像の前記複雑度と前記複雑度の閾値とを比較した複雑度比較結果と、に基づいて、前記メモリに格納済みである格納済み圧縮データを探索し、
前記参照画像格納判定部は、前記参照画像の前記複雑度と、前記格納済み圧縮データの前記複雑度と、前記参照画像に対応する前記圧縮データのデータ量と、前記格納済み圧縮データのデータ量と、に基づいて、前記格納済み圧縮データを、前記圧縮データで置き換える、
請求項９に記載の動画像符号化装置。
【請求項１１】
前記動画像符号化装置は、更にイントラリフレッシュ領域決定部を具備し、
前記イントラリフレッシュ領域決定部は、前記メモリに格納できない前記参照画像の数に基づいて、イントラリフレッシュ領域のサイズを可変にする、
請求項３に記載の動画像符号化装置。
【請求項１２】
前記決められた領域はマクロブロックラインであり、前記許容データ量は前記マクロブロックライン毎に予め決定される、
請求項１ないし１１のいずれか１項に記載の動画像符号化装置。
【請求項１３】
予測符号化の対象とされる分割された画像と参照画像との差分を求めて予測符号化を行う画像符号化部と、
前記分割された画像の符号化結果に基づいて参照画像を生成するローカルデコード生成部と、
前記参照画像を圧縮して圧縮データを生成する圧縮部と、
動画像データの決められた領域毎にメモリに格納する前記圧縮データの許容データ量を予め設定する許容データ量設定部と、
前記圧縮データを前記メモリに格納するか否かを判定する参照画像格納判定部と、
前記メモリに格納された前記参照画像に基づいてインター符号化のための動き検出を行うインター予測部と、を具備する動画像符号化装置の動作方法であって、
前記参照画像格納判定部は、前記許容データ量に基づいて、前記圧縮データを前記メモリに格納するか否かを判定し、前記圧縮データを前記メモリに格納するとの判定結果に基づいて、前記圧縮データを前記メモリに格納し、
前記インター予測部は、前記メモリに格納された前記圧縮データに対応する前記参照画像を動き検出の探索範囲とする、
動画像符号化装置の動作方法。
【請求項１４】
前記動画像符号化装置は、
前記圧縮データを前記メモリに格納する場合に必要となる前記決められた領域のための格納データ量を算出する格納データ量算出部と、
前記許容データ量と前記格納データ量を比較して比較結果を出力する比較部と、を更に備え、
前記圧縮部は前記参照画像を可逆圧縮して前記圧縮データを生成し、
前記参照画像格納判定部は、前記比較結果に基づいて、前記圧縮データを前記メモリに格納するか否かを判定する、
請求項１３に記載の動画像符号化装置の動作方法。
【請求項１５】
前記領域はマクロブロックラインであり、前記許容データ量は前記マクロブロックライン毎に予め決定される、
請求項１４に記載の動画像符号化装置の動作方法。
【請求項１６】
前記動画像符号化装置は、
前記圧縮データを前記メモリに格納したか否かを示すフラグを格納するフラグ格納部と、
前記参照画像の前記メモリへの格納の有無を前記フラグに基づいて判定する参照画像有無判定部と、
前記メモリに格納された前記圧縮データを伸長する伸長部と、を更に具備し、
前記参照画像有無判定部は、前記フラグ格納部が記憶する参照画像の有無に関する参照画像情報を読み出し、
前記参照画像情報が前記メモリに前記圧縮データが格納されていることを示す場合には、前記参照画像有無判定部は、前記圧縮データを前記メモリから読み出して前記伸長部に送信し、前記伸長部は、前記圧縮データを伸長した参照画像を前記インター予測部に送信する、
請求項１４に記載の動画像符号化装置の動作方法。
【請求項１７】
前記動画像符号化装置は、
前記分割された画像をイントラ符号化する場合に要する第１の符号化コストを計算するイントラ予測部と、
前記分割された画像をイントラ符号化するかインター符号化するかを判定するイントラ/インター判定部と、を更に具備し、
前記イントラ予測部は、前記第１の符号化コストを前記イントラ/インター判定部に送信し、
前記インター予測部は、前記分割された画像と前記参照画像の差分を用いてインター符号化する場合に要する第２の符号化コストを計算し、前記第２の符号化コストを前記イントラ/インター判定部に送信し、
前記イントラ/インター判定部は、前記第１の符号化コストと、前記第２の符号化コストに基づいて、前記分割された画像をイントラ符号化するかインター符号化するか決定する、
請求項１４に記載の動画像符号化装置の動作方法。
【請求項１８】
動画像データを出力するカメラと、
前記カメラから出力される前記動画像データを入力される動画像符号化装置と、
メモリと、を具備し、
前記動画像符号化装置は、
予測符号化の対象とされる分割された画像と参照画像との差分を求めて予測符号化を行う画像符号化部と、
前記分割された画像の符号化結果に基づいて参照画像を生成するローカルデコード生成部と、
前記参照画像を圧縮して圧縮データを生成する圧縮部と、
前記動画像データの決められた領域毎にメモリに格納する前記圧縮データの許容データ量を予め設定する許容データ量設定部と、
前記圧縮データを前記メモリに格納するか否かを判定する参照画像格納判定部と、
前記メモリに格納された前記参照画像に基づいてインター符号化のための動き検出を行うインター予測部と、を具備し、
前記参照画像格納判定部は、前記許容データ量に基づいて、前記圧縮データを前記メモリに格納するか否かを判定し、前記圧縮データを前記メモリに格納するとの判定結果に基づいて、前記圧縮データを前記メモリに格納し、
前記インター予測部は、前記メモリに格納された前記圧縮データに対応する前記参照画像を動き検出の探索範囲とし、
前記動画像符号化装置は、運転モードに応じて前記メモリの使用量を可変とする、
車両。
【請求項１９】
前記運転モードは、第１の運転モードと、第１の運転モードとは異なる第２の運転モードを有し、
前記第１の運転モードでは、前記車両は自動運転で走行され、
前記第１の運転モードで前記動画像符号化装置が使用するメモリ使用量は、第１のメモリ使用量とされ、
前記第２の運転モードでは、前記車両は手動運転で走行され、
前記第２の運転モードで前記動画像符号化装置が使用するメモリ使用量は、第２のメモリ使用量とされ、
前記第１のメモリ使用量は、前記第２のメモリ使用量より小さい、
請求項１８に記載の車両。
【請求項２０】
前記第１の運転モードでは、前記動画像符号化装置の可逆圧縮機能が有効とされ、前記許容データ量は前記第１のメモリ使用量に応じて調整され、
前記第２の運転モードでは、前記動画像符号化装置の可逆圧縮機能が無効とされる、
請求項１９に記載の車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像符号化装置及びその動作方法、動画像符号化装置を搭載する車両に関し、例えば、画像データの圧縮処理を行うのに適した動画像符号化装置及びその動作方法、動画像符号化装置を搭載する車両に関する。
【背景技術】
【０００２】
画像はその情報量が膨大であるのに対して、同じフレーム内で近くに位置する画素間、または隣接するフレーム間でフレーム内の同じ座標に位置する画像間での相関が強いため、その相関を利用して符号量の圧縮が行われる。例えば、代表的な国際標準として、ＭＰＥＧ−２（ＩＴＵ−Ｔ  Ｒｅｃ．  Ｈ．２６２  ｜  ＩＳＯ／ＩＥＣ  １３８１８−２）やＭＰＥＧ−４（ＩＳＯ／ＩＥＣ  １４４９６−２）、Ｈ．２６４（ＩＴＵ−Ｔ  Ｒｅｃ．  Ｈ．２６４  ｜  ＩＳＯ／ＩＥＣ  １４４９６−１０）、Ｈ．２６５（ＩＳＯ／ＩＥＣ  ２３００８−２  ＨＥＶＣ）などの動画像の圧縮符号化と復号の方法が標準化されている。これらの符号化方式では、符号量を削減するために予測符号化が採用されており、符号化の際には、ある方法で予測した画像（予測画像）と入力画像の差分を符号化する。逆に、復号時には、予測画像に差分を加えることで復号画像を得る。
【０００３】
上述した符号化処理は、映像画面（フレームまたはフィールド）毎に行われるものであり、画面を細分化したブロックが処理単位となる。
【０００４】
予測画像の生成手法は、大きく分けて２つの種類に分類される。一方は、単一フレームを用いて、同一画面内で予測を行う手法（イントラ予測、フレーム内予測、または画面内予測）である。もう一方は、符号化対象のフレームとは異なるフレームを用いて、フレーム間で予測を行う手法（インター予測、フレーム間予測または画面間予測）である。
【０００５】
インター符号化（フレーム間予測符号化）において、動画像符号化装置は、入力された符号化対象フレームの原画像とインター予測された予測画像との差分を直交変換し、その結果を量子化し可変長符号化して送出する。一方、動画像符号化装置は、量子化処理の結果に関して、逆量子化と逆直交変換を行って参照画像（局所復号画像）を生成し、以後のインター符号化における予測画像として使用するため、参照画像を参照フレームメモリに記憶しておく。即ち、動画像符号化装置は、符号化ストリームの各画像に対応する参照画像を、書き込みバスを介してメモリに書き込むとともに、メモリに書き込まれた別の参照画像を、読み出しバスを介して読み出して、インター予測の参照画像として使用することにより、符号化対象画像を符号化する。
【０００６】
上述の通り、インター符号化では参照画像を格納するメモリが必要となる。この点に関して、参照画像メモリとして使用できるメモリ容量が限られている場合の動画像符号化技術が特許文献１に開示されている。特許文献１に記載の動画符号化装置は、参照画像メモリとして使用できるメモリ容量に基づき、１画像フレーム内でインター符号化する最大マクロブロック数を決定し、現画像の符号化時に画像情報や符号量に基づき、次のフレームでイントラ符号化およびインター符号化するマクロブロック位置を決定する。更に、特許文献１に記載の動画符号化装置は、次のフレームでインター符号化することを決定したマクロブロック位置のみに対して参照画像を参照画像メモリに格納することにより、参照画像メモリを削減する。
【０００７】
また、上述の問題に関連して、不可逆圧縮と可逆圧縮との組み合わせを用いて、ビデオデータをより小さいサイズに圧縮し，追加情報を圧縮データに組み込む方法及び装置が特許文献２に開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−２６６７３１号公報
【特許文献２】特開２００９−２６０９７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
一般的にインター符号化の圧縮効率はイントラ符号化より高いため、インター符号化の割合が少ない場合、同じ圧縮率では画質が劣化する。特許文献１に記載の動画符号化装置では、予めインター符号化する最大マクロブロック数を決めてしまうため、参照画像メモリが小さい場合、インター符号化する最大マクロブロック数が少なくなる。そのため符号化効率が悪化し、画質劣化が起こるという問題があった。
【００１０】
一方、特許文献２に記載のエンコーダでは、圧縮後のデータ量が予め定めた許容範囲内であれば可逆圧縮し、許容範囲外であれば非可逆圧縮する。また、特許文献２に記載のエンコーダでは、非可逆圧縮の際にノイズが大きいと判断される場合は非圧縮にする。つまり図２０の２ＭＢ目の処理に示されるように、特許文献２に記載のエンコーダでは、メモリに格納される最大データサイズは、非圧縮時のデータサイズとなる。このため、特許文献２に記載のエンコーダでは、１マクロブロックの使用できるメモリ容量として、非圧縮時のデータサイズ分の容量を確保している。
【００１１】
図２０（ａ）に示されるように、メモリ容量が大きい場合には、全てのマクロブロックの参照画像を非圧縮のままメモリに格納することができる。しかし、図２０（ｂ）に示されるように、メモリ容量が小さい場合、特許文献２に記載のエンコーダは、全てのマクロブロックに対して非圧縮時のデータサイズ分のメモリ容量を確保することができない。そのため、特許文献２に開示されている技術を、小容量のメモリを用いて動画像の符号化を行なうことができる装置に適用することは困難である。
【００１２】
本発明の課題は、小容量のメモリ（例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を使用して高画質の符号化処理を行うことができる動画像符号化装置を提供することである。その他の課題および新規な特徴は、本明細書の記述および図面の記載から明らかになるであろう。
【課題を解決するための手段】
【００１３】
一実施の形態に係る動画像符号化装置は、予測符号化の対象とされる分割された画像と参照画像との差分を求めて予測符号化を行う画像符号化部と、分割された画像の符号化結果に基づいて参照画像を生成するローカルデコード生成部と、参照画像を圧縮して圧縮データを生成する圧縮部と、動画像データの決められた領域毎にメモリに格納する圧縮データの許容データ量を予め設定する許容データ量設定部と、圧縮データをメモリに格納するか否かを判定する参照画像格納判定部と、メモリに格納された参照画像に基づいてインター符号化のための動き検出を行うインター予測部と、を具備し、参照画像格納判定部は、許容データ量に基づいて、圧縮データをメモリに格納するか否かを判定し、圧縮データをメモリに格納するとの判定結果に基づいて、圧縮データをメモリに格納し、インター予測部は、メモリに格納された圧縮データに対応する参照画像を動き検出の探索範囲とする。
【００１４】
他の実施の形態に係る動画像符号化装置の動作方法は、予測符号化の対象とされる分割された画像と参照画像との差分を求めて予測符号化を行う画像符号化部と、分割された画像の符号化結果に基づいて参照画像を生成するローカルデコード生成部と、参照画像を圧縮して圧縮データを生成する圧縮部と、動画像データの決められた領域毎にメモリに格納する圧縮データの許容データ量を予め設定する許容データ量設定部と、圧縮データをメモリに格納するか否かを判定する参照画像格納判定部と、メモリに格納された参照画像に基づいてインター符号化のための動き検出を行うインター予測部と、を具備する動画像符号化装置の動作方法であって、参照画像格納判定部は、許容データ量に基づいて、圧縮データをメモリに格納するか否かを判定し、圧縮データをメモリに格納するとの判定結果に基づいて、圧縮データをメモリに格納し、インター予測部は、メモリに格納された圧縮データに対応する参照画像を動き検出の探索範囲とする。
【００１５】
他の実施の形態に係る車両は、動画像データを出力するカメラと、カメラから出力される動画像データを入力される動画像符号化装置と、メモリと、を具備し、前記動画像符号化装置は、予測符号化の対象とされる分割された画像と参照画像との差分を求めて予測符号化を行う画像符号化部と、分割された画像の符号化結果に基づいて参照画像を生成するローカルデコード生成部と、参照画像を圧縮して圧縮データを生成する圧縮部と、動画像データの決められた領域毎にメモリに格納する圧縮データの許容データ量を予め設定する許容データ量設定部と、圧縮データをメモリに格納するか否かを判定する参照画像格納判定部と、メモリに格納された参照画像に基づいてインター符号化のための動き検出を行うインター予測部と、を具備し、参照画像格納判定部は、許容データ量に基づいて、圧縮データをメモリに格納するか否かを判定し、圧縮データをメモリに格納するとの判定結果に基づいて、圧縮データをメモリに格納し、インター予測部は、メモリに格納された圧縮データに対応する参照画像を動き検出の探索範囲とし、動画像符号化装置は、運転モードに応じてメモリの使用量を可変とする。
【発明の効果】
【００１６】
一実施の形態によれば、動画像符号化装置は、小容量のメモリを使用して、高画質の符号化を行うことができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施の形態１に係るカメラモジュールの構成例を示すブロック図である。
【図２】図２は、実施の形態１に係る動画像符号化装置を含む半導体装置の構成例を示すブロック図である。
【図３】図３は、実施の形態１に係る動画像符号化装置の構成例を示すブロック図である。
【図４】図４は、実施の形態１に係る参照画像格納判定部の構成例を示すブロック図である。
【図５】図５は、実施の形態１に係る動画像符号化装置が、１フレームの画像を複数の画像に分割し、分割された画像を決められた順序で符号化する様子を示す図である。
【図６】図６は、実施の形態１に係る動画像符号化装置の動作の一例を示す図である。
【図７】図７は、実施の形態１に係る参照画像格納判定部が、参照画像を圧縮した圧縮データを、参照画像メモリに格納するか否か判定する処理の一例を示すフローチャートである。
【図８】図８は、実施の形態１に係るインター予測部が動き検出を行う際の探索範囲の例を示す図である。
【図９】図９は、実施の形態１に係る動画像符号化装置における、イントラ／インター符号化判定処理の一例を示すフローチャートである。
【図１０】図１０は、実施の形態２に係る参照画像格納判定部の構成例を示すブロック図である。
【図１１】図１１は、実施の形態２に係る動画像符号化装置における、参照画像格納判定処理の一例を示すフローチャートである。
【図１２】図１２は、実施の形態３に係る動画像符号化装置の構成例を示すブロック図である。
【図１３】図１３は、実施の形態１に係る動画像符号化装置による参照画像格納結果の一例を示す図である。
【図１４】図１４は、実施の形態３に係る動画像符号化装置の動作の一例を示す図である。
【図１５】図１５は、実施の形態４に係る動画像符号化装置の構成例を示すブロック図である。
【図１６】図１６は、実施の形態４に係る複雑度記憶部および置換情報記憶部が記憶する情報の一例を示す図である。
【図１７】図１７は、実施の形態４に係る動画像符号化装置における、参照画像格納判定処理の一例を示すフローチャートである。
【図１８】図１８は、実施の形態５に係る車両制御システムの構成の一例を示すブロック図である。
【図１９】図１９は、実施の形態５に係るカメラモジュールの構成例を示すブロック図である。
【図２０】図２０は、従来技術（特許文献２）に係るエンコーダが参照画像を圧縮する際の動作例を示す図である。
【発明を実施するための形態】
【００１８】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１９】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００２０】
［実施の形態１］
図１は、実施の形態１に係るカメラモジュール１の構成例を示すブロック図である。本実施の形態に係るカメラモジュール１は、例えば、車両の右前方と、左前方と、右後方と、左後方と、に具備され、車両周辺の映像を動画像として撮影する。図１に示されるように、カメラモジュール１は、カメラセンサ１０と、カメラＩＳＰ（Ｉｍａｇｅ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）１１と、動画像符号化装置を含む半導体装置１２と、送信部１３と、を備える。
【００２１】
カメラセンサ１０は、周辺の動画像を撮像する撮像素子であり、撮像した動画像をカメラＩＳＰ１１に出力する。
【００２２】
カメラＩＳＰ１１は、カメラセンサ１０が撮影したデータを受信し、ホワイトバランスの調整や、歪補正や、データのフォーマット変換を行い、半導体装置１２に動画像を出力する。カメラＩＳＰが行う処理は、上記の例に限られず、動画像データに対する様々な処理を含んでも良い。
【００２３】
半導体装置１２は、動画像符号化装置を含む。半導体装置１２は、カメラＩＳＰ１１から入力された符号化対象の入力動画像を符号化することによって、符号化ストリーム（ビットストリーム）を生成する。半導体装置１２は、生成したビットストリームを送信部１３に出力する。
【００２４】
送信部１３は、有線ネットワークまたは無線ネットワークを介して、ビットストリームを、カメラモジュール１の外部にある動画像復号装置１４に送信する。
【００２５】
なお、図１は、カメラモジュール１の一構成例を示すブロック図であり、これと異なる構成をとっても良い。例えば、カメラＩＳＰ１１は半導体装置１２に含まれても良い。また、送信部１３の一部が半導体装置１２に含まれても良い。
【００２６】
次に、図２は、実施の形態１に係る動画像符号化装置を含む半導体装置１２の構成例を示すブロック図である。図２に示されるように、半導体装置１２は、ＣＰＵ１５と、バス１６と、ＲＯＭ１７と、動画像符号化装置１８と、ＳＲＡＭ１９と、を備える。
【００２７】
ＣＰＵ１５は、バス１６を介してＲＯＭ１７に格納されたプログラムを読み出して命令を実行する。ＣＰＵ１５は、プログラムを実行して、動画像符号化装置１８の動作を制御する様々な制御レジスタ（図示せず）に設定値を書き込むことができ、また、制御レジスタの他、動画像符号化装置１８の処理状態を示すステータスレジスタなど、様々なレジスタを読み出すことができる。ＲＯＭ１７は、動画像符号化装置１８は、バス１６を介して、参照画像をＳＲＡＭ１９に書き込むことができ、また、これを読み出すことができる。
【００２８】
なお、図２は、半導体装置１２の一構成例を示すブロック図であり、これと異なる構成をとっても良い。例えば、図２では、ＣＰＵ１５が実行するプログラムを格納するＲＯＭ１７が半導体装置１２に内蔵されているが、プログラムを格納するＲＯＭは半導体装置１２の外部に備えても良い。
【００２９】
次に、図３は、動画像符号化装置１８の構成例を示すブロック図である。図３に示されるように、動画像符号化装置１８は、画像入力部１００と、イントラ予測部１０１と、インター予測部１０２と、イントラ／インター判定部１０３と、直交変換部１０４と、量子化部１０５と、ローカルデコード生成部１０６と、圧縮部１１０と、参照画像格納判定部１１１と、メモリ制御部１１２と、フラグ格納部１１４と、参照画像有無判定部１１５と、伸長部１１６と、符号化部１１７と、符号量制御部１１８と、減算器１２０と、加算器１２１と、を備える。また、図３に示される参照画像メモリ１１３は、ＳＲＡＭ１９の一部ないし全部の領域として備えられている。
【００３０】
画像入力部１００は、入力動画像ＤＶｉｎを受信する。画像入力部１００は、入力動画像ＤＶｉｎの周波数と、動画像符号化装置１８の動作周波数と、の差異を調整する機能を備える。例えば、画像入力部１００は、入力動画像ＤＶｉｎを一時保存するバッファを備えることで、周波数の差を調整する。
【００３１】
画像入力部１００は、受信した入力動画像ＤＶｉｎに基づいて、予測符号化の対象とされる画像を、動画像符号化の国際標準に準じたサイズのブロックに分割し、イントラ予測部１０１と、インター予測部１０２と、減算器１２０と、に送信する。
【００３２】
イントラ予測部１０１は、入力画像をイントラ符号化した場合に要するイントラ符号化コストを計算し、イントラ/インター判定部１０３に送信する。更に、イントラ予測部１０１は、イントラ予測に使用するイントラ予測画像を、イントラ／インター判定部１０３に送信する。
【００３３】
インター予測部１０２は、動き予測を行う。また、インター予測部１０２は、動き予測の結果に基づいて、入力画像と参照画像の差分を用いてインター符号化した場合に要するインター符号化コストを計算する。インター予測部１０２は、インター符号化コストを計算するため、伸長部１１６が圧縮データを伸長して得られた参照画像を、動き検出の探索範囲とする。更に、インター予測部１０２は、インター予測に使用するインター予測画像として、インター符号化コストが最小となる参照画像を、イントラ／インター判定部１０３に送信する。
【００３４】
イントラ/インター判定部１０３は、予測符号化の対象とされる分割された画像について、イントラ予測部１０１から送信されるイントラ符号化コストと、インター予測部１０２から送信されるインター符号化コストと、参照画像有無判定部から送信される参照画像有無情報と、に基づいて、イントラ符号化するかインター符号化するかを決定する。イントラ／インター判定部１０３は、決定した予測モードに応じて選択した予測画像を減算器１２０に送信する。
【００３５】
減算器１２０は、入力画像と、イントラ／インター判定部１０３から送信される予測画像と、の差分を算出する。
【００３６】
直交変換部１０４は、減算器１２０が出力する、入力画像と予測画像との差分画像に対して、ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）やＤＳＴ（Ｄｉｓｃｒｅｔｅ  Ｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）といった直交変換処理を行う。例えば、直交変換部１０４の直交変換がＤＣＴである場合、直交変換部１０４は、ＤＣＴ係数を算出し、量子化部１０５に送信する。
【００３７】
量子化部１０５は、直交変換部１０４による直交変換処理の結果に関して、量子化処理を行う。例えば、直交変換部１０４の直交変換がＤＣＴである場合、量子化部１０５は、直交変換部１０４から出力されたＤＣＴ係数を量子化する。
【００３８】
ローカルデコード部１０６は、逆量子化部１０７と、逆直交変換部１０８と、加算器１２１と、デブロッキングフィルタ部１０９と、を備える。ローカルデコード部１０６は、量子化部１０５から送信される量子化処理結果と、予測画像と、に基づいて、参照画像を生成し、圧縮部１１０に出力する。
【００３９】
逆量子化部１０７は、量子化部１０５による量子化処理結果に関して、逆量子化処理を行う。逆直交変換部１０８は、逆量子化部１０７による逆量子化処理結果に関して、逆直交変換処理を行う。例えば、直交変換部１０４の直交変換がＤＣＴである場合、逆量子化部１０７は、量子化されたＤＣＴ係数に対して逆量子化を行う。また、逆直交変換部１０８は、逆量子化部１０７によって逆量子化されたＤＣＴ係数に対して逆ＤＣＴを施すことによって、差分復号画像を出力する。
【００４０】
加算器１２１は、逆直交変換部１０８から送信される差分復号画像と、予測画像とを加算し、加算結果をデブロッキングフィルタ部１０９に出力する。
【００４１】
デブロッキングフィルタ部１０９は、加算器１２１の加算結果に対し、デブロッキングフィルタ処理を行い、参照画像を生成する。デブロッキングフィルタ部１０９において、フィルタがオフの場合は、加算器１２１の加算結果がそのまま参照画像としてデブロッキングフィルタ部１０９から出力される。デブロッキングフィルタ部１０９において、フィルタがオンの場合は、加算器１２１の加算結果をデブロッキングフィルタ処理した結果が参照画像としてデブロッキングフィルタ部１０９から出力される。
【００４２】
圧縮部１１０は、ローカルデコード生成部１０６から受け取った参照画像を可逆圧縮し、参照画像格納判定部１１１に出力する。
【００４３】
参照画像格納判定部１１１は、圧縮部１１０から受信した、参照画像を圧縮した圧縮データ（「参照画像の圧縮データ」と呼ぶ場合がある）を、参照画像メモリ１１３に格納するか否か判定する。参照画像格納判定部１１１は、圧縮データを参照画像メモリ１１３に格納する場合、メモリ制御部１１２に、参照画像メモリ１１３への書き込みを要求し、圧縮データを送信する。参照画像格納判定部１１１は、許容データ量設定部１４１を備えるが、許容データ量設定部１４１については、図４を用いた説明で後述する。
【００４４】
フラグ格納部１１４は、参照画像格納判定部１１１の判定結果に基づいて、参照画像メモリ１１３に圧縮データを格納したか否かを示すフラグを記憶する。
【００４５】
メモリ制御部１１２は、動画像符号化装置１８の各部からの要求に基づいて、圧縮データを参照画像メモリ１１３に書き込むための制御、および、圧縮データを参照画像メモリ１１３から読み出すための制御を行う。より具体的には、メモリ制御部１１２は、バス１６を経由して、ＳＲＡＭ内にある参照画像メモリ１１３に、リードまたはライトアクセスする。
【００４６】
参照画像メモリ１１３は、参照画像を圧縮した圧縮データを格納するための記憶装置である。
【００４７】
参照画像有無判定部１１５は、フラグ格納部１１４が記憶する参照画像の有無に関する情報を読み出す。参照画像の圧縮データが参照画像メモリ１１３に格納されている場合には、参照画像有無判定部１１５は、メモリ制御部１１２に対して参照画像の読み出しを要求する。この要求に基づいて、メモリ制御部１１２は、参照画像メモリ１１３から参照画像の圧縮データを読み出し、参照画像有無判定部１１５を経由して伸長部１１６に圧縮データを送信する。
【００４８】
伸長部１１６は、参照画像メモリ１１３から読み出された参照画像の圧縮データに対し、伸長処理を行い、伸長処理の結果である参照画像をインター予測部１０２に送信する。
【００４９】
符号化部１１７は、量子化部１０５の量子化処理の結果に関して符号化処理を実行することによって、ビットストリームＢＳｏｕｔを生成する。
【００５０】
符号量制御部１１８は、符号化部１１７で生成された符号量に基づいて、量子化スケールを調整し、量子化部１０５に調整された量子化スケールを送信する。
【００５１】
図４は、参照画像格納判定部１１１の構成例を示すブロック図である。図４に示されるように、参照画像格納判定部１１１は、圧縮データ量検出部１４０と、許容データ量設定部１４１と、格納データ量算出部１４２と、データ量比較部１４６と、格納判定部１４７と、を備える。
【００５２】
圧縮データ量検出部１４０は、圧縮部１１０から送信される圧縮データのデータサイズを算出する。
【００５３】
許容データ量設定部１４１は、入力画像内の予め決められた領域（以下、「単位領域」と呼ぶ場合がある）毎に、参照画像メモリ１１３に格納する圧縮データの許容データ量を予め設定する。例えば、許容データ量設定部１４１は、書き込み可能なレジスタで構成され、ＣＰＵ１５が、動画像符号化装置１８のドライバ（ソフトウェア）を実行することにより設定される。
【００５４】
単位領域は、任意に設定することができる。例えば、単位領域は、ＭＰＥＧの１マクロブロックラインでもよいし、２マクロブロックラインでもよいし、１コーディングユニットラインであってもよい。
【００５５】
許容データ量１４５も任意に設定可能である。例えば、使用可能なメモリ容量を、入力動画像ＤＶｉｎの１フレームに含まれるマクロブロックライン数で除した値を、許容データ量１４５として、許容データ量設定部１４１に設定することができる。
【００５６】
格納データ量算出部１４２は、単位領域について、参照画像メモリ１１３に格納済みのデータ量（以下、「格納済みデータ量」と呼ぶ）と、圧縮データ量検出部１４０で検出した圧縮データのデータサイズを加算し、加算結果を格納時データ量１４４として、データ量比較部１４６に送信する。格納データ量算出部１４２は、単位領域毎に格納時データ量１４４を算出するため、単位領域の処理を始める度に初期化される。即ち、単位領域の処理開始時は、格納済みデータ量をゼロに初期化する。
【００５７】
データ量比較部１４６は、許容データ量設定部１４１に設定された許容データ量１４５と、格納データ量算出部１４２から送信される格納時データ量１４４を比較し、比較結果を格納判定部１４７に送信する。
【００５８】
格納判定部１４７は、データ量比較部１４６の比較結果に基づいて、圧縮データを参照画像メモリ１１３に格納するか否かを判定する。格納時データ量１４４が許容データ量１４５以下である場合、格納判定部１４７は、圧縮データを参照画像メモリ１１３に格納することを許可するとの判定結果情報１４８を、メモリ制御部１１２と、フラグ格納部１１４と、格納データ量算出部と１４２と、に送信する。格納判定部１４７は、参照画像の圧縮データを参照画像メモリ１１３に格納すると判定した場合には、更に、格納するデータのデータサイズ情報（レングス情報）もフラグ格納部１１４に送信する。
格納データ量算出部１４２は、判定対象圧縮データを参照画像メモリ１１３に格納することを許可するとの情報に応じた格納済みデータ量を保持し、記憶する。
【００５９】
一方、格納時データ量１４４が許容データ量１４５より大きい場合、格納判定部１４７は、データ量比較部１４６の比較結果に基づいて、圧縮データを参照画像メモリ１１３に格納することを許可しないとの判定結果情報１４８を、メモリ制御部１１２と、フラグ格納部１１４と、格納データ量算出部１４２と、に送信する。格納データ量算出部１４２は、判定対象圧縮データを参照画像メモリ１１３に格納することを許可しないとの情報に応じた格納済みデータ量を保持し、記憶する。
【００６０】
（動画像符号化装置の動作）
次に、動画像符号化装置１８の動作について説明する。図５は、実施の形態１に係る動画像符号化装置１８が、１フレームの画像を複数の画像に分割し、分割された画像を決められた順序で符号化する様子を示す図である。図５に示されるように、フレーム内の画像は、複数の矩形ブロックに分割される。例えば、ＭＰＥＧでは、通常、１６画素×１６画素のマクロブロック（ＭＢ）と呼ばれる矩形ブロックに分割され、マクロブロック毎に符号化を行う。動画像符号化装置１８は、１フレーム内では、左上から右下に向かって、矢印の順に各矩形ブロックの符号化処理を行う。以下では、画像の予測符号化の対象にされる分割された画像、すなわち符号化対象ブロックは、マクロブロックであるとして説明するが、分割するブロックの単位はマクロブロックに限られない。例えば、ＨＥＶＣ規格に準拠して符号化される場合の符号化処理単位であるコーディングユニットでもよい。分割された画像がマクロブロックである場合、図５で、上から３行目の矩形ブロックを太線で囲んだ領域は、１マクロブロックライン（ＭＢＬ）に相当する。以下、単位領域は、１マクロブロックラインであるとして説明する。
【００６１】
図３に戻って、動画像符号化装置１８の符号化動作を説明する。画像入力部１００は、入力動画像ＤＶｉｎのうち、符号化対象となるマクロブロックをイントラ予測部１０１と、インター予測部１０２と、減算器１２０と、に出力する。イントラ予測部１０１、インター予測部１０２の詳細動作は後述するが、それぞれ、イントラ／インター判定部１０３に、算出した符号化コストと、予測画像と、を送信する。
【００６２】
イントラ／インター判定部１０３は、符号化対象のマクロブロックをイントラ符号化するかインター符号化するかを、入力された符号化コストに基づいて判定する。そして、イントラ／インター判定部１０３は、選択した符号化方法に対応する予測画像を減算器１２０に送信する。減算器１２０は、入力画像（符号化対象であるマクロブロック）と予測画像の差分を算出し、直交変換部１０４に差分画像を送信する。
【００６３】
直交変換部１０４は、減算器１２０が算出した減算結果に対して、直交変換処理を行い、直交変換の結果を量子化部１０５に出力する。量子化部１０５は、符号量制御部１１８から入力される量子化スケールに応じて、直交変換部１０４の直交変換処理結果に関して、量子化処理を実行する。
【００６４】
符号化部１１７は、量子化部１０５が量子化処理した結果に関して、符号化処理を実行することによって、ビットストリームＢＳｏｕｔを生成する。
【００６５】
更に、図３を用いて、動画像符号化装置１８のローカルデコード動作を説明する。ローカルデコード生成部１０６は、量子化部１０５による量子化処理の結果に関して、逆量子化部１０７による逆量子化と、逆直交変換部１０８による逆直交変換処理を施し、差分復号画像を生成する。加算器１２１は復号差分画像と、予測画像と、を加算する。デブロッキングフィルタ部１０９は、加算器１２１の加算結果に関して、デブロッキングフィルタ処理を行い、参照画像を生成し、圧縮部１１０に出力する。
【００６６】
次に、図３に図示する圧縮部１１０で行われる、参照画像の可逆圧縮について説明する。圧縮部１１０は、参照画像を入力として、これを可逆圧縮し、圧縮データを生成する。可逆圧縮は圧縮後のデータ長が可変長であるため、マクロブロック毎に処理を行うと、圧縮後のデータ量が、圧縮前のデータ量より増加する場合がある。この場合、参照画像メモリ１１３内にある、まだ読み出していない参照画像に対応する圧縮データを上書きする可能性がある。そこで、本実施の形態では、データの上書きを防止するため、単位領域毎に、圧縮データを参照画像メモリ１１３に格納するか否かの制御を行う。
【００６７】
次に、図６を用いて、参照画像メモリへの格納判定動作について説明する。本実施の形態に係る動画像符号化装置１８は、マクロブロック毎に参照画像を可逆圧縮し、参照画像を圧縮して得た圧縮データを、参照画像メモリ１１３に格納する。図６は、単位領域が１マクロブロックラインである場合の動作の一例を示している。図６に示されるように、圧縮部１１０があるマクロブロックラインの１ＭＢ目に対応する参照画像を圧縮したとき、圧縮データのサイズは、元のデータサイズよりも減少している。しかし、圧縮部１１０が２ＭＢ目に対応する参照画像を可逆圧縮したとき、圧縮データのサイズは、元のデータサイズよりも増加している。しかし、本実施の形態では、マクロブロックライン毎に許容データ量設定部１４１で設定したデータ量を超過しないように、参照画像メモリ１１３への書き込み量を制御しているので、データの上書きの問題は発生しない。次に、圧縮部１１０がｘＭＢ目に対応する圧縮データを参照画像メモリ１１３に格納したところで、許容データ量設定部１４１で設定したメモリ量が使い尽くされている。このため、参照画像格納判定部１１１は、以後のＭＢについては、参照画像メモリ１１３の残量がないと判断し、圧縮データを参照画像メモリ１１３に格納しない。
【００６８】
図７は、本実施の形態に係る参照画像格納判定部１１１が、参照画像を圧縮した圧縮データを、参照画像メモリ１１３に格納するか否か判定する処理の一例を示すフローチャートである。参照画像格納判定部１１１は、参照画像を圧縮した圧縮データを圧縮部１１０から受け取り（ステップＳ１００）、圧縮データを参照画像メモリ１１３に格納可能かを判定する（ステップＳ１０１）。参照画像メモリ１１３に空き容量がある場合（ステップＳ１０１：ＹＥＳ）、参照画像格納判定部１１１は、格納可能を示す判定結果情報をフラグ格納部１１４に送信する。フラグ格納部１１４は、格納可能を示すフラグ（例えば、１）と、圧縮データのレングス情報と、を保存する（ステップＳ１０２）。参照画像格納判定部１１１は、更に、格納可能を示す判定結果情報１４８をメモリ制御部１１２に送信する。メモリ制御部１１２は、圧縮データを参照画像メモリ１１３に格納し（ステップＳ１０３）、処理を終了する（ステップＳ１０４）。参照画像メモリ１１３の容量が足りない場合（ステップＳ１０１：ＮＯ）、参照画像格納判定部１１１は、格納不可を示す判定結果情報をフラグ格納部１１４に送信する。フラグ格納部１１４は、格納不可を示すフラグ（例えば、０）を保存し（ステップＳ１０５）、処理を終了する（ステップＳ１０４）。
【００６９】
次に、イントラ／インター符号化の判定処理について説明する。図３に示されるように、画像入力部１００は、入力画像を、イントラ予測部１０１と、インター予測部１０２と、にそれぞれ送信する。
【００７０】
イントラ予測部１０１は、入力画像に対して複数のイントラモードで符号化した際の符号量を推測する。イントラ予測部１０１は、推測した符号量に対応したコストを計算し、最も小さいコストを最小イントラ符号化コストとして、イントラ/インター判定部１０３に送信する。イントラ予測部１０１は、更に、イントラ予想画像をイントラ/インター判定部１０３に送信する。
【００７１】
一方、インター予測部１０２は、入力画像と参照画像との動き（差分）を検出するため、現フレームより前のフレームの画像データ（参照画像）が必要である。そこで、参照画像有無判定部１１５は、符号化対象のマクロブロックが参照できる領域（探索可能範囲）に、参照画像が格納されているかを確認する。そして、インター予測部１０２は、探索可能範囲のうち、参照画像メモリ１１３に格納されている圧縮データに対応する参照画像を、動き検出の探索範囲とする。これを、図８を用いて詳細に説明する。図８は、本実施の形態に係るインター予測部１０２の動き検出の探索範囲を表す図である。図８において、ＭＢ５は、符号化対象のＭＢ位置に対応している。探索可能範囲を例えば符号化位置のＭＢに対して１ＭＢ外側までと定めた場合、ＭＢ５の符号化に際して、ＭＢ１−ＭＢ９の９個のマクロブロックが探索可能範囲となる。図８の例では、ＭＢ１−ＭＢ５、ＭＢ７の６つのＭＢについては、参照画像の圧縮データが参照画像メモリ１１３に格納されている。一方、ＭＢ６、ＭＢ８−ＭＢ９の３つのＭＢについては、参照画像の圧縮データが参照画像メモリ１１３に格納されていない。本実施の形態に係る動画像符号化装置１８では、インター予測部１０２は、参照画像メモリ１１３に格納されている圧縮データに対応する参照画像のみを受信する。図８の例では、インター予測部１０２は、ＭＢ１−ＭＢ５、ＭＢ７のみを受信し、これを動き検出の探索範囲とする。
【００７２】
図９は、本実施の形態に係る動画像符号化装置１８における、イントラ／インター符号化判定処理の一例を示すフローチャートである。インター予測部１０２が参照画像を用いて動き検出を行うため、参照画像有無判定部１１５は、フラグ格納部１１４に格納された情報を参照し、探索可能範囲の範囲内について、参照画像の有無と、参照できるマクロブロックの情報を読み出す（ステップＳ１２０）。参照画像メモリ１１３に参照画像が格納されている場合（ステップＳ１２１：ＹＥＳ）、参照画像有無判定部１１５は、メモリ制御部１１２に対して、参照画像メモリ１１３へのリードアクセスを要求する。メモリ制御部１１２は、参照画像メモリ１１３から、リードアクセス要求のあった圧縮データを読み出し、参照画像有無判定部１１５に送信する。参照画像有無判定部１１５は、読み出された圧縮データを伸長部１１６に送信する。伸長部１１６は、受信した圧縮データを伸長し（ステップＳ１２２）、インター予測部１０２に送信する（ステップＳ１２３）。インター予測部１０２に送信される参照画像の数は、探索可能範囲と、フラグ格納部１１４が記憶するフラグの状態に基づいて決められる。ステップＳ１２３でインター予測部１０２に送信される参照画像の数は、１つ以上であり、複数の場合もある。
【００７３】
インター予測部１０２は、動き検出の探索範囲に含まれる参照画像毎に、入力画像と参照画像の差分からインター符号化した際の符号量を推測し、推測した符号量に対応したインター符号化コストを算出する。インター予測部１０２は、更に、算出した１つ以上のインター符号化コストのうち、最小となるインター符号化コストを算出し、イントラ／インター判定部に、最小インター符号化コストを送信する。更に、インター予測部１０２は、インター予想画像をイントラ/インター判定部１０３に送信する。
【００７４】
イントラ／インター判定部１０３は、最小イントラ符号化コストと最小インター符号化コストを比較し、符号化コストの小さい予測モードを決定し、減算器１２０にインター予測画像を予測画像として送信して（ステップＳ１２４）、イントラ／インター符号化判定処理を終了する（ステップＳ１２５）。
【００７５】
一方、探索可能範囲の範囲内について、参照画像メモリ１１３に参照画像が格納されていない場合（ステップＳ１２１：ＮＯ）、参照画像有無判定部１１５は、強制的にイントラ符号化することを指示する情報をイントラ／インター判定部１０３に送信する（ステップＳ１２６）。イントラ/インター判定部１０３は、強制的にイントラ符号化することを指示する情報を受信し、符号化対象のマクロブロックをイントラ符号化することを決定し、減算器１２０にイントラ予測画像を予測画像として送信して（ステップＳ１２７）、イントラ／インター符号化判定処理を終了する（ステップＳ１２５）。
【００７６】
（効果）
実施の形態１によれば、動画像符号化装置１８は、参照画像を可逆圧縮して圧縮データを生成する圧縮部１１０と、許容データ量設定部１４１と、参照画像格納判定部１１１と、を有する。このため、参照画像格納判定部１１１は、圧縮部１１０が参照画像を圧縮して得た圧縮データを参照画像メモリ１１３に格納するか否かを、許容データ量設定部１４１に設定した許容データ量に基づいて判定することができる。したがって、参照画像メモリ１１３として使用できるメモリ容量が小さい場合でも、圧縮部１１０の圧縮結果に応じて、参照画像メモリ１１３に格納する参照画像の数を増やすことができる。その結果、参照画像メモリ１１３に格納される参照画像数を最大化することができ、メモリ容量が小さいことに起因する画質の劣化を抑えながらエンコードを行なうことができる。
【００７７】
一般に、車載用カメラモジュールは、車外にカメラがあるため、防水仕様になっている。そのため、車載用カメラモジュールの内部は密閉され、熱がこもりやすい。したがって、車載用カメラから入力される動画像を符号化する動画像符号化装置では、熱、空間の問題から大容量のＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を動画像符号化装置の外部に持つことは難しく、またＤＲＡＭと同等の容量を持つＳＲＡＭを動画像符号化装置の内部に持つこともコスト面、回路規模の面から難しい。したがって、小容量のメモリを用いて動画像の符号化を行なうことができる、本実施の形態に係る動画像符号化装置１８は車載用カメラモジュールに最適に適用できる。
【００７８】
［実施の形態１の変形例］
以上の説明では、１つのＭＢに着目して。動画像符号装置１２の一連の動作を説明した。しかし、動画像符号化装置１８は、複数のＭＢを対象として、上述の一連の処理をパイプライン的に並列処理するよう動作してもよい。これにより、動画像符号装置１２の処理効率を向上することができる。
【００７９】
［実施の形態２］
次に実施の形態２について説明する。図１０は、実施の形態２に係る参照画像格納判定部１１１Ｂの構成例を示すブロック図である。図１０に示されるように、実施の形態１で説明した参照画像格納判定部（図４参照）と比べて、参照画像格納判定部１１１Ｂは、複雑度閾値設定部２０１と、複雑度検出部２０２と、複雑度比較部２０３と、を更に備える点で異なる。これ以外の構成および動作については、実施の形態１で説明した参照画像格納判定部１１１と同様であるので、同一の構成については同一の符号を付し、重複した説明は省略する。
【００８０】
実施の形態２は、参照画像格納判定部１１１Ｂが、圧縮データを参照画像メモリ１１３に格納するか否かを判定するとき、圧縮データに対応する参照画像の複雑度をも判定基準に加える点で、実施の形態１と異なる。
【００８１】
ここで、画像の複雑度は、局所的に非平坦な度合いを表すパラメータである。例えば、複雑度を表すパラメータの一例として、ＭＰＥＧ−２レートコントロールモデルＴＭ５、ステップ３のパラメータ「空間ａｃｔｉｖｉｔｙ」が挙げられる。
【００８２】
フレーム構造の４つの輝度サブブロック（ｎ＝１．．４）と、フィールド構造の４つの輝度サブブロック（ｎ＝５．．８）から成るマクロブロックｊの空間ａｃｔｉｖｉｔｙは、（式１）で表される。
【００８３】
【数１】
2020099013.tif 000003
【００８４】
【数２】
2020099013.tif 000004
【００８５】
【数３】
2020099013.tif 000005
【００８６】
一般的に、画像の複雑度が高い場合は、符号化効率の面からイントラ符号化が好ましいとされている。そこで、実施の形態２に係る参照画像格納判定部１１１Ｂは、圧縮データを参照画像メモリ１１３に格納するか否かを判定するとき、圧縮データに対応する参照画像の複雑度に基づいて、符号化対象である分割された画像（例えば、マクロブロック）が次フレームにてイントラ符号化されるか、インター符号化されるかを推定する。ここで、参照画像格納判定部１１１Ｂは、イントラ符号化されるか、インター符号化されるかを推定するが、決定はしない。即ち、参照画像の複雑度が大きい場合、参照画像に対応する圧縮データを参照画像メモリ１１３に格納しないと判定することにより、イントラ／インター判定部１０３がイントラ符号化を行うとの判定をするよう間接的に促す。イントラ符号化されるか、インター符号化されるかは、最終的には、イントラ／インター判定部１０３の判定結果によって決められる。
【００８７】
図１０に示されるように、実施の形態２では、ローカルデコード生成部１０６は、圧縮部１１０に加えて、複雑度検出部２０２に対しても参照画像を送信する。
【００８８】
参照画像格納判定部１１１Ｂは、参照画像の複雑度が予め決められた閾値（以下、「複雑度閾値」と呼ぶことがある）より大きい場合、圧縮データを、参照画像メモリ１１３に格納しないと判定する。複雑度閾値設定部２０１は、複雑度閾値を設定するよう構成される。例えば、複雑度閾値設定部２０１は、書き込み可能なレジスタで構成され、ＣＰＵ１５が、動画像符号化装置１８のドライバ（ソフトウェア）を実行することにより設定される。
【００８９】
複雑度検出部は、ローカルデコード生成部１０６から参照画像を受け取り、解析し、参照画像の複雑度を算出する。
【００９０】
複雑度比較部２０３は、複雑度閾値設定部２０１に設定された複雑度閾値と複雑度検出部２０２で算出された参照画像の複雑度を比較し、比較結果を格納判定部１４７に出力する。
【００９１】
図１１は、実施の形態２に係る動画像符号化装置１８における、参照画像格納判定処理の一例を示すフローチャートである。
【００９２】
図１１に示されるように、格納判定の対象である圧縮データが参照画像格納判定部１１１Ｂに入力される（ステップＳ２００）と、複雑度比較部２０３は、参照画像の複雑度と、予め決められた複雑度閾値とを比較する（ステップＳ２０１）。参照画像の複雑度が、複雑度閾値より大きい場合（ステップＳ２０１：ＮＯ）、参照画像に対応する圧縮データを参照画像メモリ１１３に格納しない。すなわち、格納判定部１４７は、許容データ量と格納時データ量の大小関係にかかわらず、参照画像に対応する圧縮データを参照画像メモリ１１３に格納しない。格納判定部１４７は、圧縮データを参照画像メモリ１１３に格納しないとの情報を判定結果情報１４８として、メモリ制御部１１２と、フラグ格納部１１４と、格納データ量算出部１４２と、に送信する。この場合、メモリ制御部１１２は、圧縮データを参照画像メモリ１１３に格納しない。フラグ格納部１１４は、格納不可を示すフラグ（例えば、０）を保存する。また、格納データ量算出部１４２は、圧縮データを参照画像メモリ１１３に格納しないとの情報に応じた格納済みデータ量を保持し、記憶する（ステップＳ２０６）。メモリ制御部１１２、フラグ格納部１１４、格納データ量算出部１４２の各処理の後、参照画像格納判定部１１１Ｂの処理は終了する（ステップＳ２０５）。
【００９３】
一方、参照画像の複雑度が、前記閾値以下の場合（ステップＳ２０１：ＹＥＳ）、格納判定部１４７は、データ量比較部１４６の比較結果に基づいて、圧縮データを参照画像メモリ１１３に格納するか否かを判定する。すなわち、データ量比較部１４６は、許容データ量設定部１４１に設定された許容データ量と、格納データ量算出部１４２から送信される格納時データ量を比較する（ステップＳ２０３）。
【００９４】
格納判定部１４７は、格納時データ量が許容データ量以下である場合、即ちメモリ残量がある場合（ステップＳ２０３：ＹＥＳ）には、圧縮データを参照画像メモリ１１３に格納することを許可するとの情報を判定結果情報１４８として、メモリ制御部１１２と、フラグ格納部１１４と、格納データ量算出部１４２と、に送信する。メモリ制御部１１２は、圧縮データを参照画像メモリ１１３に格納する。フラグ格納部１１４は、参照画像を格納したことを示すフラグ（例えば、１）と、圧縮データのレングス情報と、を保存する。また、格納データ量算出部１４２は、格納時データ量１４４を格納済みデータ量として記憶、保持する（ステップＳ２０４）。メモリ制御部１１２、フラグ格納部１１４、格納データ量算出部１４２の各処理の後、参照画像格納判定部１１１Ｂの処理は終了する（ステップＳ２０５）。
【００９５】
また、格納判定部１４７は、格納時データ量が許容データ量より大きい場合（ステップＳ２０３：ＮＯ）には、圧縮データを参照画像メモリ１１３に格納することを許可しないとの情報を判定結果情報１４８として、メモリ制御部１１２と、フラグ格納部１１４と、格納データ量算出部１４２と、に送信する（ステップＳ２０６）。
（効果）
実施の形態２によれば、参照画像格納判定部１１１Ｂは、実施の形態１の参照画像格納判定部１１１と比較して、複雑度閾値設定部２０１と、複雑度検出部２０２と、複雑度比較部２０３と、を更に有する。そのため、複雑度検出部２０２で検出された参照画像の複雑度が、複雑度閾値設定部２０１に設定された複雑度閾値より大きいとの比較結果を複雑度比較部２０３が出力する場合、参照画像格納判定部１１１Ｂは、参照画像に対応する圧縮データを参照画像メモリ１１３に格納しないと判定する。したがって、動画像符号化装置１８は、インター符号化に適しない複雑度の大きい参照画像を参照画像メモリ１１３に格納しないことで、参照画像メモリ１１３に格納する参照画像の最適化を行なうことができる。すなわち、動画像符号化装置１８は、インター予測が適していると推定される参照画像のみを参照画像メモリ１１３に格納することができる。その結果、動画像符号化装置１８の符号化効率が向上し、画質を向上することができる。
【００９６】
［実施の形態３］
次に実施の形態３について説明する。実施の形態３は、実施の形態１と比べて，イントラリフレッシュ機能を備える点と、イントラリフレッシュの対象領域（以下、「イントラリフレッシュ領域」と呼ぶ）のサイズを可変にする点と、で異なる。
【００９７】
一般的にイントラリフレッシュと呼ばれる機能がある。この機能はフレーム毎に位置が変化する一定の領域に対して強制的にイントラ符号化を行ない、フレーム間の予測誤差の伝播を防止し、画質を向上させるものである。実施の形態３では、参照画像メモリ１１３に格納できなかった参照画像の数に応じて、イントラリフレッシュ領域のサイズを変更する。
【００９８】
図１２は、実施の形態３に係る動画像符号化装置の構成例を示すブロック図である。図１２に示されるように、実施の形態３は、実施の形態１（図３および図４参照）と比べて、参照画像格納判定部１１１Ｃが、未格納画像数カウント部３０１を備える点と、動画像符号化装置１８がイントラリフレッシュ領域決定部３０２を備える点と、イントラリフレッシュ領域決定部３０２から格納判定部１４７に制御信号３０３が送信される点と、が異なる。これ以外の構成および動作については、実施の形態１で説明した動画像符号化装置１８および参照画像格納判定部１１１と同様であるので、同一の構成については同一の符号を付し、重複した説明は省略する。
【００９９】
未格納画像数カウント部３０１は、単位領域内について、参照画像メモリ１１３に圧縮データを格納できなかった参照画像の数をカウントする。未格納画像数カウント部３０１は、単位領域の符号化処理開始前、または、単位領域の符号化処理完了時に初期化される。
【０１００】
本実施の形態では、動画像符号化装置１８は、更にイントラリフレッシュ領域決定部３０２を備える。イントラリフレッシュ領域決定部３０２は、次フレームにおいて、強制的にイントラ符号化を行うイントラリフレッシュ領域のサイズと位置を決定する。イントラリフレッシュ領域決定部３０２は、未格納画像数カウント部３０１から送信される参照画像メモリ１１３に格納できなかった分割された画像（例えばマクロブロック）数に基づいて、イントラリフレッシュ領域のサイズを調整する。
【０１０１】
図１３は、実施の形態１に係る動画像符号化装置１８による参照画像格納結果の一例を示す図である。図５に示されるように、分割された画像（矩形ブロック）は、同じライン内では左から右への符号化される。したがって、単位領域が１マクロブロックライン（１ＭＢＬ）である場合、図１３に示されるように、マクロブロックラインの左側に位置するＭＢは、参照画像を圧縮した圧縮データが参照画像メモリ１１３に格納され易くなる。一方、マクロブロックラインの右側に位置するＭＢは、参照画像を圧縮した圧縮データが参照画像メモリ１１３に格納され難くなる。したがって、参照画像を参照画像メモリ１１３に格納するか否かの判定材料が参照画像のメモリ残量のみの場合、１フレーム内において、インター符号化できるＭＢの位置に偏りが生じるという問題がある。実施の形態３に係る動画像符号化装置１８は、イントラリフレッシュ領域を可変に制御することで、インター符号化できるＭＢの位置に偏りが生じるという問題を解決する。
【０１０２】
図１４は、実施の形態３に係る動画像符号化装置１８の動作の一例を示す図である。本実施の形態に係る動画像符号化装置１８では、未格納画像数カウント部３０１が、格納判定部１４７から出力される判定結果情報１４８を受信する。判定結果情報１４８が、圧縮データを参照画像メモリ１１３に格納しないとの情報である場合には、未格納画像数カウント部３０１は、カウントアップする。例えば、単位領域が１マクロブロックラインである場合、未格納画像数カウント部３０１は、参照画像メモリ１１３に格納できなかったＭＢ数をカウントする。そして、未格納画像数カウント部３０１は、単位領域の処理が完了すると、格納されなかったＭＢ数の合計値をイントラリフレッシュ領域決定部３０２に送信する。
【０１０３】
イントラリフレッシュ領域決定部３０２は、格納されなかったＭＢ数の合計値に基づいて、イントラリフレッシュ領域のサイズを決定する。例えば、格納されなかったＭＢがある場合には、イントラリフレッシュ領域のサイズを大きくする。反対に、格納されなかったＭＢがない場合には、イントラリフレッシュ領域のサイズを小さくしてもよい。イントラリフレッシュ領域決定部３０２は、決定したイントラリフレッシュ領域のサイズと位置の情報を、制御信号３０３として、格納判定部１４７に送信する。
【０１０４】
格納判定部１４７は、圧縮データがイントラリフレッシュ領域に含まれる場合には、圧縮データを参照画像メモリ１１３に格納しないと判定する。一方、格納判定部１４７は、圧縮データがイントラリフレッシュ領域に含まれない場合には、データ量比較部１４６が出力する比較結果に基づいて、圧縮データを参照画像メモリ１１３に格納するか否かを判定する。
【０１０５】
（効果）
実施の形態３によれば、動画像符号化装置１８は、未格納画像数カウント部３０１と、イントラリフレッシュ領域決定部３０２と、を更に備える。イントラリフレッシュ領域決定部３０２は、未格納画像数カウント部３０１によりカウントされた参照画像メモリ１１３に格納できなかったＭＢ数に応じて、イントラリフレッシュ領域のサイズを決定する。このため、参照画像メモリ１１３に格納されなかった画像数に応じて、イントラリフレッシュ領域のサイズを変更することができる。また、イントラリフレッシュ領域にある分割された画像（例えば、ＭＢ）の参照画像に対応する圧縮データは、参照画像メモリ１１３に格納する必要がない。したがって、実施の形態３に係る動画像符号化装置１８では、イントラリフレッシュ領域のサイズを調整することにより、参照画像メモリ１１３に格納する圧縮データの数（参照画像の数）を削減することができる。その結果、フレーム右端（単位領域の右端）における参照画像メモリ１１３の残量不足を軽減することができる。更に、イントラリフレッシュ領域はフレーム毎に位置が異なるため、イントラ／インター符号化マクロブロックの位置の偏りを、フレーム全体について解消することができる。このように、実施の形態３に係る動画像符号化装置１８は、イントラ／インター符号化マクロブロックの位置の偏りを解消し、画質を向上することができる。
【０１０６】
［実施の形態４］
次に、実施の形態４について説明する。実施の形態４では、参照画像メモリ１１３に格納する参照画像を最適化するため、既に参照画像メモリに参照画像を格納していた場合でも、より適切な参照画像に入れ替える点で、実施の形態１〜３と異なる。
【０１０７】
図１５は、実施の形態４に係る動画像符号化装置の構成例を示すブロック図である。実施の形態４に係る動画像符号化装置１８は、実施の形態２で説明した参照画像格納判定部１１１Ｂ（図１０参照）と比べて、参照画像格納判定部１１１Ｄが、複雑度記憶部４０１と、置換情報記憶部４０２と、を更に備える点が異なる。これ以外の構成および動作については、実施の形態２で説明した参照画像格納判定部１１１Ｂと同様であるので、同一の構成については同一の符号を付し、重複した説明は省略する。
【０１０８】
複雑度記憶部４０１は、参照画像に対応する圧縮データを参照画像メモリ１１３に格納した場合、対応する参照画像の複雑度を記憶する。
【０１０９】
格納判定部１４７は、参照画像に対応する圧縮データを参照画像メモリ１１３に格納した後に、より適切な参照画像があらわれた場合に、参照画像メモリ１１３に格納する圧縮データを入れ替える。
【０１１０】
格納判定部１４７が参照画像を入れ替える処理をする場合、置換情報記憶部４０２は、置換前の参照画像の情報と、置換後の参照画像の情報と、を記憶する。
【０１１１】
図１６は、本実施の形態に係る複雑度記憶部４０１および置換情報記憶部４０２が記憶する情報の一例を示す図である。本実施の形態では、単位領域は１マクロブロックライン（ＭＢＬ）として説明する。また、一例として、複雑度のとり得る値を０〜６３として説明する。
【０１１２】
複雑度記憶部４０１は、参照画像メモリ１１３に格納した圧縮データのマクロブロック番号と、参照画像の複雑度とを記憶する。例えば、図１６では、複雑度１０をもつマクロブロック番号１の参照画像と、複雑度１２をもつマクロブロック番号２の参照画像と、複雑度１８をもつマクロブロック番号３の参照画像と、複雑度２８をもつマクロブロック番号５の参照画像と、複雑度２２をもつマクロブロック番号７の参照画像と、が参照メモリ１１３に格納済みであることが、複雑度記憶部４０１に記憶されている。
【０１１３】
図１７は、実施の形態４に係る動画像符号化装置１８における、参照画像格納判定処理の一例を示すフローチャートである。図１７に示されるように、参照画像および圧縮データが参照画像格納判定部１１１Ｄに入力される（ステップＳ４００）と、複雑度比較部２０３は、参照画像の複雑度と、予め決められた閾値とを比較する（ステップＳ４０１）。参照画像の複雑度が複雑度閾値より大きい場合（ステップＳ４０１：ＮＯ）には、格納判定部１４７は、圧縮データを参照画像メモリ１１３に格納しないと判定する（ステップＳ４０２）。即ち、格納判定部１４７は、許容データ量と格納時データ量の大小関係にかかわらず、圧縮データを参照画像メモリ１１３に格納しないと判定する。格納判定部１４７は、圧縮データを参照画像メモリ１１３に格納しないとの情報を判定結果情報１４８として、メモリ制御部１１２と、フラグ格納部１１４と、格納データ量算出部１４２と、に送信する。
【０１１４】
一方、参照画像の複雑度が複雑度閾値以下である場合（ステップＳ４０１：ＹＥＳ）、データ量比較部１４６は、許容データ量設定部１４１に設定された許容データ量と、格納データ量算出部１４２から送信される格納時データ量を比較する（ステップＳ４０３）。格納時データ量が許容データ量以下である場合、すなわちメモリ残量がある場合（ステップＳ４０３：ＹＥＳ）、格納判定部１４７は、データ量比較部１４６の比較結果に基づいて、圧縮データを参照画像メモリ１１３に格納するとの判定結果情報１４８を、メモリ制御部１１２と、フラグ格納部１１４と、格納データ量算出部１４２と、に送信し（ステップＳ４０４）、格納判定処理を終了する（ステップＳ４０９）。
【０１１５】
一方、格納時データ量が許容データ量より大きい場合（ステップＳ４０３：ＮＯ）には、格納判定部１４７は、複雑度記憶部４０１から、格納済みの分割された画像（例えば、マクロブロック）の複雑度を読み込む（ステップＳ４０５）。ここで、格納判定対象の圧縮データをＣＤｎｅｗ、ＣＤｎｅｗに対応する参照画像をＲＰｎｅｗ、格納済み圧縮データをＣＤｏｌｄ、ＣＤｏｌｄに対応する参照画像をＲＰｏｌｄと呼ぶことにする。参照画像ＲＰｎｅｗの複雑度と比べ、より大きい複雑度を有する参照ＲＰｏｌｄが見つからない場合（ステップＳ４０６：ＮＯ）、格納判定部１４７は、圧縮データＣＤｎｅｗを参照画像メモリ１１３に格納しないと判定する（ステップＳ４０２）。
【０１１６】
参照画像ＲＰｎｅｗの複雑度と比べ、より大きい複雑度を有する参照画像ＲＰｏｌｄが見つかった場合（ステップＳ４０６：ＹＥＳ）、格納判定部１４７は、圧縮データＣＤｎｅｗと圧縮データＣＤｏｌｄのデータサイズを比較する（ステップＳ４０７）。圧縮データＣＤｎｅｗのデータ量が、格納済み圧縮データＣＤｏｌｄのデータ量より大きい場合、参照画像メモリ１１３のメモリ容量は不足する。このため、格納判定部１４７は、圧縮データＣＤｎｅｗを参照画像メモリ１１３に格納しないと判定する（ステップＳ４０２）。一方、圧縮データＣＤｎｅｗのデータ量が、格納済み圧縮データＣＤｏｌｄのデータ量以下である場合、格納判定部１４７は、参照画像の入れ替えを行うとの情報を置換情報記憶部４０２に書き込む（ステップＳ４０８）。次に、格納判定部１４７は、圧縮データＣＤｎｅｗを参照画像メモリ１１３に格納するとの情報を判定結果情報１４８として、メモリ制御部１１２と、フラグ格納部１１４と、格納データ量算出部１４２に送信し（ステップＳ４０４）、処理を終了する（ステップＳ４０９）。
【０１１７】
格納判定部１４７は、圧縮データの置換を行う毎に、または、１ＭＢＬの全てのＭＢについて、圧縮データの格納判定を完了した後、置換情報記憶部４０２に記憶された情報をフラグ格納部１１４に送信し、フラグ格納部１１４に記憶された情報を更新する。
【０１１８】
なお、ステップＳ４０６で、参照画像ＲＰｎｅｗの複雑度と比べ、より大きい複雑度を有する参照画像ＲＰｏｌｄが複数見つかった場合、格納判定部１４７は、ステップS４０７で、複数の置換候補のうち、最もデータ量が大きい格納済み圧縮データのデータ量と、圧縮データＣＤｎｅｗのデータ量とを比較し、最もデータ量が大きい格納済み圧縮データを置換対象とすることができる。また、参照画像ＲＰｎｅｗの複雑度と比べ、より大きい複雑度を有する参照画像ＲＰｏｌｄが複数見つかった場合、格納判定部１４７は、参照画像ＲＰｏｌｄの複雑度が大きい順に、圧縮データＣＤｎｅｗのデータ量以下のデータ量をもつ圧縮データＣＤｏｌｄを探索してもよい。
【０１１９】
また、複雑度記憶部４０１に記憶する複雑度のとり得る値は、複雑度記憶部４０１の容量に応じて簡易化してもよい。これを、複雑度のとり得る値が０〜６３である場合を例として説明する。この場合、例えば、複雑度が０〜１５のとき、複雑度記憶部４０１に記憶する画像複雑度の値Ｃを０とし、複雑度が１６〜３１のとき値Ｃを１とし、複雑度が３２〜４７のとき値Ｃを２とし、複雑度が４８〜６３のとき値Ｃを３とする。
【０１２０】
このように、一定範囲の複雑度に対して同じ値Ｃを設定することで、複雑度記憶部４０１で複雑度を表現するために要するビット数を減らすことができる。したがって、複雑度記憶部４０１に要する回路規模を小さくすることができる。また、複雑度の取り得る値を０〜６３のように細かくすると、置換対象となる格納済み圧縮データＣＤｏｌｄの検索に要する時間が大きくなる。このため、値Ｃのように、複雑度の取り得る値を少なくすることで、格納済み参照画像ＲＰｏｌｄ、圧縮データＣＤｏｌｄの検索に要する時間を小さくすることができる。したがって、参照画像格納判定部１１１Ｄの処理能力を向上できる。
【０１２１】
（効果）
実施の形態４によれば、参照画像格納判定部１１１Ｄは、実施の形態２の参照画像格納判定部１１１Ｂと比較して、複雑度記憶部４０１と、置換情報記憶部４０２と、を更に備える。そのため、動画像符号化装置１８は、参照画像の複雑度と圧縮データのデータサイズに基づいて、格納する参照画像を随時置換し、更に最適化することができる。その結果、動画像符号化装置１８は、符号化効率を更に向上し、画質を向上することができる。
【０１２２】
［実施の形態５］
実施の形態５は、実施の形態１から実施の形態４に係る動画像符号化装置１８が搭載された車両である。本実施の形態に係る車両では、車両の運転モードに応じて、動画像符号化装置１８がメモリ使用量を可変に調整する。
【０１２３】
図１８は、動画像符号化装置１８を搭載する車両制御システムの構成の一例を示すブロック図である。本実施の形態に係る車両に搭載された動画像符号化装置は、運転モードに従って、インター予測に使用する参照画像を可逆圧縮するか否かを切り替える。
【０１２４】
図１８に示されるように、車両５００には車両制御システム５０１が搭載される。車両制御システム５０１は、１つ以上のカメラモジュール１Ｅと、車両制御部５０２と、運転モード判定部５０３と、車載ネットワーク５０５と、半導体装置５０６と、を備える。
【０１２５】
車両５００は、少なくとも異なる２つの運転モードを備える。即ち、車両５００は、第１の運転モードである人による手動運転モードと、第２の運転モードである自動運転モードと、を備える。図１８では、４つのカメラモジュール１Ｅが、車両５００の右前方、左前方、右後方、左後方に備えられているが、車両５００に備えられるカメラモジュールの台数は、４台に限られない。
【０１２６】
車両制御部５０２は、車両の各種制御を行う。例えば、車両制御部は、車両５００のギアや走行速度を制御する。
【０１２７】
運転モード判定部５０３は、車両制御部５０２から出力される車両制御情報５０４に基づいて、車両５００の運転モードが、手動運転モードか自動運転モードかを判定する。ここで、車両制御情報５０４は、車両５００の運転者が、車両５００に対して直接与える運転モードの制御指示情報とすることができるが、これに限定されない。例えば、車両制御情報５０４は、車両５００のギア情報でもよいし、車両５００の速度情報でもよいし、走行場所（例えば高速道路上）でもよい。
【０１２８】
車載ネットワーク５０５は、有線ネットワークでもよいし、無線ネットワークでもよい。
【０１２９】
半導体装置５０６は、更に、ＣＰＵ５０７と、ビデオデコーダ５０８と、グラフィックプロセッサ５０９と、画像認識部５１０と、バス５１２と、ＤＤＲメモリコントローラ５１３と、を備える。
【０１３０】
ＣＰＵ５０７は、プログラムを実行し、半導体装置５０６全体を制御する。
【０１３１】
ビデオデコーダ５０８は、カメラモジュール１Ｅから受信したビットストリームＢＳｏｕｔの復号処理を行う。
【０１３２】
グラフィックプロセッサ５０９は、ビデオデコーダ５０８により復号された画像に対して画像処理を行う。例えば、グラフィックプロセッサ５０９は、ビデオデコーダ５０８により復号された画像に対して、拡大・縮小処理を行う。
【０１３３】
画像認識部５１０は、ビデオデコーダ５０８が復号した画像に基づいて、画像認識処理を行う。例えば、画像認識部５１０は、他の車両や、人や、信号機や、道路標識を認識し、ＤＤＲメモリコントローラ５１３を介して、ＤＤＲメモリ５１４に画像認識結果を書き込む。
【０１３４】
ＤＤＲメモリコントローラ５１３は、ＤＤＲメモリ５１４への書き込み要求、ＤＤＲメモリ５１４からの読み出し要求をバスマスタ（例えば、ＣＰＵ５０７や画像認識部５１０）から受け取り、ＤＤＲメモリ５１４への書き込みアクセス、ＤＤＲメモリ５１４からの読み出しアクセスを制御する。
【０１３５】
ＤＤＲメモリ５１４は、ＣＰＵ５０７が処理するプログラムや、ビデオデコーダ５０８と、グラフィックプロセッサ５０９と、画像認識部５１０と、の入力データ、一時データ、処理結果を保存する半導体記憶装置である。
【０１３６】
図１９は、本実施の形態に係るカメラモジュール１Ｅの構成例を示すブロック図である。本実施の形態では、半導体装置１２はＳＲＡＭを内蔵せず、ＤＤＲメモリ５１４を記憶装置として利用する。
【０１３７】
本実施の形態に係る車両５００が自動運転モードで走行する場合には、車両５００の周辺状況、例えば、走行レーン、信号、道路標識、他車両、歩行者を認識した上で、車両５００を制御する必要がある。このため、車両制御部５０２と、半導体装置５０６と、は大量の情報処理を行う必要があり、ＤＤＲメモリ５１４上の多量のメモリを使用する。
【０１３８】
一方、ドライバによる手動運転モードで走行する場合には、車両５００のドライバ自身が、車両５００の周辺状況を認識する。このため、車両制御部５０２と、半導体装置５０６と、は自動運転モードに比べて、小容量のＤＤＲメモリ５１４しか使用しない。
【０１３９】
本実施の形態に係る動画像符号化装置１８は、車両の運転モードに応じて、使用するＤＤＲメモリの容量を可変に調整できる。例えば、動画像符号化装置１８は、車両の運転モードに応じて、参照画像を可逆圧縮する機能のオンオフを切り替えることができる。また、動画像符号化装置１８は、使用できるメモリ量に応じて、ＤＤＲメモリ５１４に格納する参照画像の数を調整することができる。
【０１４０】
（効果）
可逆圧縮がオフの場合は参照画像メモリとして使用できるメモリ容量が大きい場合であるから、全ての分割された画像（例えば、マクロブロック）に対して参照画像を格納できる。動画像符号化装置１８は、イントラ/インター符号化するマクロブロックの選択を、メモリ容量に制限されることなく最適に選択することができる。このため、符号化効率が向上し画質が向上する。一方、参照画像を可逆圧縮する機能がオンの場合は、メモリ容量が十分に確保できない場合であるから、動画像符号化装置１８内の参照画像格納判定部１１１は、実施の形態１から実施の形態４に係る判定方法に基づいて、参照画像の圧縮データを参照画像メモリ１１３に格納するか否かを判定する。したがって、動画像符号化装置１８は、画質劣化を抑えつつ、入力動画像ＤＶｉｎを符号化することができる。即ち、車両５００は、運転モード判定部５０３を有するため、車両５００の運転モードに応じて、動画像符号化装置１８に最適な動画像符号化を行わせることができる。
【０１４１】
以上、本発明によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更され得る。例えば、実施の形態３は、実施の形態２、実施の形態４、実施の形態５のいずれかと組み合わせることも可能である。
【０１４２】
また、実施の形態１〜４の説明において、単位領域（例えば、ＭＢＬ）の符号化処理を行う場合、分割された画像（例えば、ＭＢ）毎に、参照画像を参照画像メモリ１１３に格納するものとして説明を行った。しかし、参照画像の参照画像メモリ１１３への格納は、例えば、単位領域に含まれる全ての分割された画像（例えば、全ＭＢ）について、参照画像メモリ１１３への格納可否を判定した後に、まとめて行われてもよい。即ち、参照画像の参照画像メモリ１１３への格納は、１ＭＢＬ中の全ＭＢについて参照画像メモリ１１３への格納可否を判定した後に、まとめて行われてもよい。
【符号の説明】
【０１４３】
１、１Ｅ  カメラモジュール
１０  カメラセンサ
１１  カメラＩＳＰ
１２  半導体装置
１３  送信部
１４  動画像復号装置
１５  ＣＰＵ
１６  バス
１７  ＲＯＭ
１８  動画像符号化装置
１９  ＳＲＡＭ
１００  画像入力部
１０１  イントラ予測部
１０２  インター予測部
１０３  イントラ／インター判定部
１０４  直交変換部
１０５  量子化部
１０６  ローカルデコード生成部
１０７  逆量子化部
１０８  逆直交変換部
１０９  デブロッキングフィルタ部
１１０  圧縮部
１１１、１１１Ｂ、１１１Ｃ、１１１Ｄ  参照画像格納判定部
１１２  メモリ制御部
１１３  参照画像メモリ
１１４  フラグ格納部
１１５  参照画像有無判定部
１１６  伸長部
１１７  符号化部
１１８  符号量制御部
１２０  減算器
１２１  加算器
１４０  圧縮データ量検出部
１４１  許容データ量設定部
１４２  格納データ量算出部
１４４  格納時データ量
１４５  許容データ量
１４６  データ量比較部
１４７  格納判定部
１４８  判定結果情報
２０１  複雑度閾値設定部
２０２  複雑度検出部
２０３  複雑度比較部
３０１  未格納画像数カウント部
３０２  イントラリフレッシュ領域決定部
４０１  複雑度記憶部
４０２  置換情報記憶部
５００  車両
５０１  車両制御システム
５０２  車両制御部
５０３  運転モード判定部
５０４  車両制御情報
５０５  車載ネットワーク
５０６  半導体装置
５０７  ＣＰＵ
５０８  ビデオデコーダ
５０９  グラフィックプロセッサ
５１０  画像認識部
５１２  バス
５１３  ＤＤＲメモリコントローラ
５１４  ＤＤＲメモリ
【図１】
2020099013.tif 000006
【図２】
2020099013.tif 000007
【図３】
2020099013.tif 000008
【図４】
2020099013.tif 000009
【図５】
2020099013.tif 000010
【図６】
2020099013.tif 000011
【図７】
2020099013.tif 000012
【図８】
2020099013.tif 000013
【図９】
2020099013.tif 000014
【図１０】
2020099013.tif 000015
【図１１】
2020099013.tif 000016
【図１２】
2020099013.tif 000017
【図１３】
2020099013.tif 000018
【図１４】
2020099013.tif 000019
【図１５】
2020099013.tif 000020
【図１６】
2020099013.tif 000021
【図１７】
2020099013.tif 000022
【図１８】
2020099013.tif 000023
【図１９】
2020099013.tif 000024
【図２０】
2020099013.tif 000025