(57)【要約】【課題】従来の画像符号化装置では、同一の入力画像が連続した場合でも常に予測に基づく符号化を行う。【解決手段】半導体装置は、符号化対象フレームのハッシュ値を生成するハッシュ生成器と、ハッシュ生成器で生成するハッシュ値を記録する参照ハッシュリストと、ハッシュ生成器で生成するハッシュ値と前記参照ハッシュリスト内のハッシュ値とを比較するフレームモード判定部と、符号化対象フレームを画面内予測するイントラ予測部と、を備える。符号化対象フレームのハッシュ値と参照ハッシュリスト中のハッシュ値が一致する場合には、イントラ予測部は符号化処理を省略し、参照ハッシュリスト中のハッシュ値に対応する符号化情報を出力する。【選択図】図１
2017069617.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置は以下を含む：
符号化対象フレームのハッシュ値を生成するハッシュ生成器；
前記ハッシュ生成器で生成するハッシュ値を記録する参照ハッシュリスト；
前記ハッシュ生成器で生成するハッシュ値と前記参照ハッシュリスト内のハッシュ値とを比較するフレームモード判定部；
前記符号化対象フレームを画面内予測するイントラ予測部、
ここで、前記符号化対象フレームのハッシュ値と前記参照ハッシュリスト中のハッシュ値が一致する場合には、前記イントラ予測部は符号化処理を省略し、前記参照ハッシュリスト中のハッシュ値に対応する符号化情報を出力する。
【請求項２】
請求項１の半導体装置において、
前記符号化対象フレームのハッシュ値と前記参照ハッシュリスト中のハッシュ値が一致しない場合には、前記イントラ予測部は画面内予測を行う。
【請求項３】
請求項２の半導体装置において、さらに、以下を含む：
インター予測部；
物理参照フレームを格納するフレームメモリ、
ここで、前記符号化対象フレームのハッシュ値と前記参照ハッシュリスト中のハッシュ値が一致しない場合には、前記インター予測部は前記物理参照フレームとの画面間予測を行う。
【請求項４】
請求項３の半導体装置において、さらに、以下を含む：
前記インター予測部にて生成されたインター予測誤差と前記イントラ予測部にて生成されたイントラ予測誤差の比較を行い、予測誤差の小さい方を符号化モードとして選択し、その選択したモードの予測誤差データを選択予測誤差として選択する予測モード判定部。
【請求項５】
請求項１から４のいずれか１項の半導体装置において、
前記ハッシュ生成器は、ハッシュ値の生成単位を、輝度・色差別、スライスの符号化単位別、注目領域・非注目領域別のいずれかに分けて、ハッシュ値を生成する。
【請求項６】
請求項１から４のいずれか１項の半導体装置において、さらに、以下を含む：
前記ハッシュ生成器の前に前記符号化対象フレームを平準化するハッシュフィルタ。
【請求項７】
請求項１または２の半導体装置において、
前記ハッシュ生成器と前記参照ハッシュリストと前記フレームモード判定部と前記イントラ予測部とを１つの半導体基板上に構成する。
【請求項８】
請求項３または４の半導体装置において、
前記ハッシュ生成器と前記参照ハッシュリストと前記フレームモード判定部と前記イントラ予測部と前記インター予測部とを１つの半導体基板上に構成し、
前記物理参照メモリを前記半導体基板とは異なる半導体基板上に構成する。
【請求項９】
請求項１の半導体装置において、さらに、以下を含む：
前記符号化対象フレームの画像データと符号化済みの画像データから生成される予測画像データの差分を算出する減算器；
前記減算器で計算される差分データを周波数領域に変換する直交変換部；
前記直交変換部で周波数領域に変換されるデータを量子化する量子化部；
前記量子化部で量子化されるデータを可変長符号に変換する符号化部；
前記量子化部で量子化されるデータを逆量子化する逆量子化部；
前記逆量子化部で逆量子化されるデータを逆直交変換する逆直交変換部、
ここで、前記符号化対象フレームのハッシュ値と前記参照ハッシュリスト中のハッシュ値が一致する場合には、前記減算器、前記直交変換部、前記量子化部、前記逆量子化部および前記逆直交変換部の処理を停止する。
【請求項１０】
画像符号化方法は以下を含む：
（ａ）符号化対象フレームのハッシュ値を生成するステップ；
（ｂ）前記ハッシュ値を参照ハッシュリストに記録するステップ；
（ｃ）前記ステップ（ａ）で生成したハッシュ値と前記ステップ（ｂ）で記憶したハッシュ値とを比較するステップ；
（ｄ）前記ステップ（ｃ）でハッシュ値が一致しない場合、前記符号化対象フレームを画面内予測するステップ：
（ｅ）前記ステップ（ｃ）でハッシュ値が一致する場合、符号化処理を省略し、前記参照ハッシュリスト中のハッシュ値に対応する符号化情報を出力するステップ。
【請求項１１】
請求項１０の画像符号化方法において、さらに、以下を含む：
（ｆ）前記ステップ（ｃ）でハッシュ値が一致しない場合、前記符号化対象フレームを画面間予測するステップ。
【請求項１２】
請求項１１の画像符号化方法において、さらに、以下を含む：
（ｇ）前記ステップ（ｆ）で生成されたインター予測誤差と前記ステップ（ｄ）で生成されたイントラ予測誤差の比較を行い、予測誤差の小さい方を符号化モードとして選択し、その選択したモードの予測誤差データを選択予測誤差として選択するステップ。
【請求項１３】
請求項１０から１２のいずれか１項の画像符号化方法において、
前記ステップ（ａ）はハッシュ値の生成単位を、輝度・色差別、スライスの符号化単位別、注目領域・非注目領域別のいずれかに分けて、ハッシュを生成する。
【請求項１４】
請求項１０から１２のいずれか１項の画像符号化方法において、さらに、以下を含む：
（ｈ）前記ステップ（ａ）の前に前記符号化対象フレームを平準化するステップ。
【請求項１５】
請求項１０の半導体装置において、
前記ステップ（ｅ）は、減算処理、直交変換処理、量子化処理、逆量子化処理および逆直交変換処理を停止する。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は半導体装置に関し、例えばハッシュを用いた画像符号化装置に適用可能である。
【背景技術】
【０００２】
動画像の圧縮記録の符号化方式として、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下、Ｈ．２６４）が知られている。Ｈ．２６４においては、符号化効率を向上させるために、画面内予測符号化（以下、イントラ予測）と画面間予測符号化（以下、インター予測）とを利用可能である。イントラ予測は、画面内における画素間の相関を利用する予測符号化である。また、インター予測は、動きベクトルを伴って画面間における画素間の相関を利用する予測符号化である。インター予測においては、符号化のブロック単位で参照する画像から符号化対象の画像への動きの大きさを示す、動きベクトルが探索される。探索された動きベクトルは、対象画像の予測残差と同様に符号化が行われ、画像符号化装置の出力である符号化ストリームの一部として多重化される。上述の内容は特開２０１５−２３７１号公報に記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−２３７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の画像符号化装置では、同一の入力画像が連続した場合でも常に予測に基づく符号化を行う。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００５】
本開示のうち、代表的なものの概要を簡単に説明すれば、下記のとおりである。
すなわち、半導体装置は、符号化対象フレームのハッシュ値と参照ハッシュリスト中のハッシュ値が一致する場合には、イントラ予測部は符号化処理を省略し、参照ハッシュリスト中のハッシュ値に対応する符号化情報を出力する。
【発明の効果】
【０００６】
上記半導体装置によれば、同一の入力画像が連続した場合に予測に基づく符号化を省略することができる。
【図面の簡単な説明】
【０００７】
【図１】実施例１に係る画像符号化装置の構成を示すブロック図
【図２】図１の画像符号化装置の符号化モード判定処理の流れを示すフローチャート図
【図３】図１の画像符号化装置のハッシュ生成例を示す図
【図４】図１の画像符号化装置の参照フレームリストとハッシュの関係を示す図
【図５】実施例２に係る画像符号化装置の構成を示すブロック図
【図６】図５の画像符号化装置の符号化モード判定処理の流れを示すフローチャート
【図７】図５の画像符号化装置の参照フレームリストとハッシュの関係を示す図
【図８】変形例１に係る画像符号化装置のハッシュ生成例を示す図
【図９】変形例１に係る画像符号化装置の符号化モード判定処理の流れを示すフローチャート
【図１０】変形例２に係る画像符号化装置のハッシュ生成例を示す図
【図１１】変形例３に係る画像符号化装置のハッシュ生成例を示す図
【図１２】実施例３に係る画像符号化装置の構成を示すブロック図
【図１３】比較例１に係る画像符号化装置の構成を示すブロック図
【図１４】比較例２に係る画像符号化装置の構成を示すブロック図
【図１５】図１３の画像符号化装置の符号化動作のイメージ図
【図１６】図１の画像符号化装置の符号化動作のイメージ図
【図１７】図１の画像符号化装置の符号化動作のイメージ図
【発明を実施するための形態】
【０００８】
以下、実施形態、実施例および変形例について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。
【０００９】
Ｈ．２６４やＨ．２６５をはじめとする動画像符号化では画面内符号化のみで予測するＩフレーム、１つ以上の符号化済み画像データからの画面間予測を行うＰフレーム、２つ以上の符号化済み画像データからの双予測画面間予測を行うＢフレーム等から構成される。一般的に符号化効率はＩフレーム＜Ｐフレーム＜Ｂフレームという関係になるが、一方で参照フレームが多いほど参照フレームの物理メモリ量（フレームメモリの容量）、参照画像の画素データ転送量、および動き検出の演算量等が課題となる。
【００１０】
＜比較例＞
まず、本開示に先立って本願発明者が検討した技術（以下、比較例という。）について説明する。
図1３は比較例１に係る画像符号化装置の構成を示すブロック図である。符号化装置１００Ｒは、イントラ予測部１０４と、減算器１０５と、直交変換部１０６と、量子化部１０７と、符号化部１０８と、逆量子化部１０９と、逆直交変換部１１０と、インター予測部１１１と、予測モード判定部１１２と、ループフィルタ１１３と、フレームメモリ１１４と、を備える。イントラ予測部１０４は符号化対象ブロックの周囲の画素から予測画像を生成し、イントラ予測画像データおよびイントラ予測誤差値を生成する。減算器１０５は原画像データと符号化済みの画像データから生成される予測画像データの差分を算出する。直交変換部１０６は減算器１０５で計算される差分データを周波数領域に変換する。量子化部１０７は直交変換部１０６にて周波数領域に変換されるデータを量子化する。符号化部１０８は量子化部１０７にて量子化されるデータを可変長符号に変換する。逆量子化部１０９は量子化部１０７にて量子化されるデータを逆量子化する。逆直交変換部１１０は逆量子化部１０９にて逆量子化されるデータを逆直交変換する。インター予測部１１１は符号化対象フレームと、フレームメモリ１１４に蓄積される参照画像データの画面間予測を行い、動き検出によって生成される動きベクトルに基づき、フレームメモリ１１４から原画像データに最も近い参照画像データを読み出してインター予測画像データおよびインター予測誤差値を生成する。予測モード判定部１１２はインター予測部１１１にて生成されるインター予測誤差とイントラ予測部１０４にて生成されるイントラ予測誤差の比較を行い、予測誤差の小さい方を符号化モードとして選択し、その選択したモードの予測誤差データを選択予測誤差として選択する。ループフィルタ１１３は逆直交変換部１１０にて逆直交変換されたデータに対してフィルタ処理を行う。フレームメモリ１１４はループフィルタ１１３にてフィルタ処理された復号画像データを参照フレームとして蓄積する。
【００１１】
図１５は図１３の画像符号化装置の符号化動作のイメージ図である。最初のフレーム（入力画像（０））を除き、フレームメモリ１１４内の参照画像データ（例えば１つ前のフレーム）を用いて符号化を行う。入力画像（０）は画面内符号化のみで予測するＩフレームであり、その他の入力画像の符号化は符号化済み画像データからの画面間予測を行うＰフレームである。
【００１２】
比較例１に係る画像符号化装置は、同一の入力画像が連続した場合でも常にイントラ予測およびインター予測に基づく符号化を行うため処理量に無駄がある。また、参照画像データを格納するフレームメモリを用意する必要がある。
【００１３】
図1４は比較例２に係る画像符号化装置の構成を示すブロック図である。符号化装置１００Ｓは、イントラ予測部１０４と、減算器１０５と、直交変換部１０６と、量子化部１０７と、符号化部１０８と、逆量子化部１０９と、逆直交変換部１１０と、を備え、インター予測部１１１と、予測モード判定部１１２と、ループフィルタ１１３と、フレームメモリ１１４と、を備えない。
【００１４】
比較例２に係る画像符号化装置は、同一の入力画像が連続した場合でも常にイントラ予測に基づく符号化を行うため処理量に無駄がある。また、参照画像データを格納するフレームメモリは不要であるが、参照フレームを使えないため、高効率なＰフレーム等の符号化ができない。
【００１５】
＜実施形態＞
半導体装置である画像符号化装置は、入力画像のハッシュ値を生成するハッシュ生成器を設け、ハッシュ値を参照リストとして管理する。
【００１６】
画像のハッシュ値を参照リストに用いることで、同一画像が入力された場合の符号化処理を大幅に省略し、消費電力およびバス負荷を低減させることが可能である。ＳＤＲＡＭ等の大容量の外部メモリで構成されるフレームメモリおよび動き探索回路を使わずに、高効率なＰフレームの符号化が可能である。複数のハッシュ参照フレームを設けて符号化する場合であっても、ハッシュ用のメモリ増加だけで対応できるため、符号化装置側のメモリ容量を抑えることが可能である。
【実施例１】
【００１７】
図１は実施例１に係る画像符号化装置の構成を示すブロック図である。符号化装置である半導体装置１００は、ハッシュ生成部１０１と、参照ハッシュリスト１０２と、フレームモード判定部１０３と、イントラ予測部１０４と、減算器１０５と、直交変換部１０６と、量子化部１０７と、符号化部１０８と、逆量子化部１０９と、逆直交変換部１１０と、を１つの半導体基板上に備える。ハッシュ生成部１０１と参照ハッシュリスト１０２とフレームモード判定部１０３とを１つの半導体基板で構成し、フレームモード判定部１０３とイントラ予測部１０４と減算器１０５と直交変換部１０６と量子化部１０７と符号化部１０８と逆量子化部１０９と逆直交変換部１１０とを別の１つの半導体基板で構成してもよい。
【００１８】
ハッシュ生成部１０１は符号化対象となる符号化対象フレームのハッシュ値を生成する。ハッシュ値とは、元データから一定の計算手順によって導出される、規則性のない固定長の値である。ハッシュ値は元データのデータ量によらず、常に一定の長さとなり、同じデータからは常に同じハッシュ値が得られる。本実施例ではハッシュ値は１６バイトとして説明する。参照ハッシュリスト１０２はハッシュ生成器１０１によって生成されたハッシュ値を参照フレームリストとして記憶する。フレームモード判定部１０３はハッシュ生成器１０１から出力される現画像のハッシュ値と、参照ハッシュリストを比較し、フレーム符号化モードを決定するフレームモード判定部である。
【００１９】
イントラ予測部１０４は符号化対象ブロックの周囲の画素から予測画像を生成し、イントラ予測画像データおよびイントラ予測誤差値を生成する。減算器１０５は原画像データと符号化済みの画像データから生成される予測画像データの差分を算出する。直交変換部１０６は減算器１０５で計算される差分データを周波数領域に変換する。量子化部１０７は直交変換部１０６にて周波数領域に変換されるデータを量子化する。符号化部１０８は量子化部１０７にて量子化されるデータを可変長符号に変換する。逆量子化部１０９は量子化部１０７にて量子化されるデータを逆量子化する。逆直交変換部１１０は逆量子化部１０９にて逆量子化されるデータを逆直交変換する。符号化装置１００の各部はハードウェア回路で構成されるが、ＣＰＵがメモリからプログラムを読み出して実行するソフトウェアで構成されてもよい。
【００２０】
図２は図１の符号化装置の符号化モード判定処理の流れを示すフローチャート図である。図３は図１の画像符号化装置のハッシュ生成例を示す図である。図４は図１の画像符号化装置の参照フレームリストとハッシュの関係を示す図である。図１６は図１の画像符号化装置の符号化動作のイメージ図である。図１７は図１の画像符号化装置の参照ハッシュリストの更新を説明するためのイメージ図である。
【００２１】
符号化モード判定処理の流れを図２のフローチャートを用いて以下説明する。
ステップＳ２０１：ハッシュ生成部１０１は入力画像のハッシュ値を算出する。図３に示すように、ハッシュ生成部１０１は入力画像（PICTURE）の輝度領域（Ｙ）と色差領域（ＣｂＣｒ）とを合わせて、１６バイトのハッシュ値（HASH）を算出する。図４に示すように、参照ハッシュリスト１０２は４つの参照フレーム（REFERENCE RFAME[0], REFERENCE RFAME[1], REFERENCE RFAME[2], REFERENCE RFAME[3]）を備える。比較例１の参照画像リストは参照フレーム番号ごとに物理メモリ（フレームメモリ）のアドレスを対応付けて管理するが、本実施例ではハッシュ値を記録することで物理メモリ（フレームメモリ）を不要としている。本実施例では参照フレーム数は４フレームとして説明するが、それに限定されるものではない。
ステップＳ２０２：フレームモード判定部１０３は、参照ハッシュリスト１０２に蓄積されるハッシュ値と現在の入力画像のハッシュ値とを比較する。入力画像のハッシュ値と参照ハッシュリスト１０２内のハッシュ値とが一致しない場合には、ステップＳ２０３に移る。入力画像のハッシュ値と参照ハッシュリスト１０２内のハッシュ値とが一致する場合には、ステップＳ２０４に移る。
【００２２】
ステップＳ２０３：画像符号化装置１００はイントラ予測に基づく符号化を行う。すなわち、イントラ予測部１０４は符号化対象ブロックの周囲の画素から予測画像を生成し、イントラ予測画像データおよびイントラ予測誤差値を生成する。減算器１０５は原画像データと符号化済みの画像データから生成される予測画像データの差分を算出する。直交変換部１０６は減算器１０５で計算される差分データを周波数領域に変換する。量子化部１０７は直交変換部１０６にて周波数領域に変換されるデータを量子化する。符号化部１０８は量子化部１０７にて量子化されるデータを可変長符号に変換し、符号化対象フレーム（入力画像）とイントラ予測画像の差分を符号化ストリームとして出力する。
ステップＳ２０４：入力画像のハッシュ値と参照ハッシュリスト１０２内のハッシュ値とが一致することは、過去に同一画像を受け取って符号化済みであることを意味する。すなわち全く同一の画像が参照画像リスト中に存在する。よって、画像符号化装置１００は、一致した参照ハッシュ値が示す参照フレームを参照するスキップ符号化モードを行う。符号化部１０８で強制的にスキップ符号化モードとして符号化を行うため、イントラ予測部１０４、減算器１０５、直交変換部１０６、量子化部１０７、逆量子化部１０９、逆直交変換部１１０の処理を省略することができるので、これらの回路を停止することが可能である。
【００２３】
図１６に示すように、最初のフレーム（入力画像（０））を除き、入力画像のハッシュ値と参照ハッシュリスト内の参照ハッシュ値（例えば１つ前のフレームのハッシュ値）とを用いて符号化を行う。入力画像（０）は画面内符号化のみで予測するＩフレームであり、その他の入力画像の符号化は入力画像のハッシュ値と１つ前のフレームのハッシュ値との画面間予測を行うＰフレームである。
【００２４】
次に、スキップ符号化モードと参照ハッシュリストの更新について図１７を用いて説明する。図１７は入力画像（INPUT IMAGE）（０）と入力画像（１）が同一画像で、入力画像（１）と入力画像（２）で画像が変化し、入力画像（２）と入力画像（３）が同一画像の場合を示している。入力画像（１）において、ハッシュ（HASH）（ｈ１）と参照ハッシュ（REFERENCE PICTURE [HASH]）（ｈ０）が一致するため、符号化（ENCODING）はスキップ符号化（［Ｐ１］）を実施する。また参照ハッシュリストはｈ０のまま更新しない。なお、参照ハッシュリストは同じものなので更新しない方が効率がよいが、明示的に更新してもよい。入力画像（２）において、入力画像のハッシュ（ｈ２）と参照ハッシュ（ｈ０）が不一致のため、符号化は通常の符号化（Ｐ２）を実施する。また参照ハッシュリストはｈ０をｈ２で更新する。入力画像（３）において、ハッシュ（ｈ３）と参照ハッシュ（ｈ２）が一致するため、符号化はスキップ符号化（［Ｐ３］）を実施する。また参照ハッシュリストはｈ２のまま更新しない。
【００２５】
本実施例では、参照フレームリストをハッシュ値として管理することで、物理メモリ（フレームメモリ）を用いることなく、高効率なＰフレームの符号化を行うことができる。また、スキップ符号化モードを選択する際には、符号化装置１００内部の多くのブロックの処理を省略できるため、消費電力および動画像データ転送によるバス負荷を低減することが可能である。なお、本実施例ではハッシュ値の長さを１６バイトとして説明したが、１６バイトに限定されるものではなく、任意長のハッシュ値を使用することができる。またハッシュ関数としてＭＤ５アルゴリズム等、任意のハッシュ値生成アルゴリズムをハッシュ生成部で使用することができる。
【００２６】
実施例１の主な特徴は、物理メモリ（フレームメモリ）の代わりに、ハッシュ生成器および参照ハッシュリストを設けることである。これにより、物理メモリを不要としながらも、高効率なＰフレームの符号化を実現可能とした。また、参照フレームが４フレームの場合、Quad Full HD（３８４０×２１６０）サイズ、４：２：０フォーマットの場合、物理メモリの容量は３８４０×２１６０×１．５×４ｆｒａｍｅ＝約５０Ｍバイト、スマ−トフォンの４：４：４のフォーマットの場合、物理メモリの容量は８００×４８０×３ｆｒａｍｅ＝約１Ｍバイトになる。これに対し、参照ハッシュリストの容量は１６×４＝４８バイトと、大幅にメモリ容量を削減することができる。また、物理メモリへのアクセスも発生しないことから、参照画像データ転送に伴うバス負荷を低減することが可能である。
【００２７】
また、スキップ符号化モードが選択される場合には、符号化装置中の大半の回路を休止できるため、消費電力を大幅に低減することが可能である。スクリーンコンテンツは、一般的な自然画とはあきらかに性質が異なり、コンピュータ生成画像による静止状態が連続する傾向にあり、スマートフォンの画面等のスクリーンコンテンツを、Ｈ．２６４等既存の動画像符号化規格の枠組みを利用して伝送する場合に、スキップ符号化モードを適用することは有用である。
【実施例２】
【００２８】
図５は実施例２に係る画像符号化装置の構成を示すブロック図である。符号化装置である半導体装置１００Ａは、ハッシュ生成部１０１と、参照ハッシュリスト１０２と、フレームモード判定部１０３と、イントラ予測部１０４と、減算器１０５と、直交変換部１０６と、量子化部１０７と、符号化部１０８と、逆量子化部１０９と、逆直交変換部１１０と、インター予測部１１１と、予測モード判定部１１２と、ループフィルタ１１３と、フレームメモリ１１４とを１つの半導体基板上に備える。なお、フレームメモリ１１４を別の半導体基板上に備え、半導体装置１００Ａは複数の半導体基板で構成してもよい。また、半導体装置１００Ａは複数の半導体基板を１つのパッケージに封止するＳｉＰ（System in Package）で構成してもよい。
【００２９】
インター予測部１１１は符号化対象フレームと、フレームメモリ１１４に蓄積される参照画像データの画面間予測を行い、動き検出によって生成される動きベクトルに基づき、フレームメモリから原画像データに最も近い参照画像データを読み出してインター予測画像データおよびインター予測誤差値を生成する。予測モード判定部１１２はインター予測部１１１にて生成されるインター予測誤差とイントラ予測部１０４にて生成されるイントラ予測誤差の比較を行い、予測誤差の小さい方を符号化モードとして選択し、その選択した符号化モードの予測誤差データを選択予測誤差として選択する。ループフィルタ１１３は逆直交変換部１１０にて逆直交変換されるデータに対してフィルタ処理を行う。フレームメモリ１１４はループフィルタ１１３にてフィルタ処理される復号画像データを参照フレームとして蓄積する。
【００３０】
図６は図５の画像符号化装置の符号化モード判定処理の流れを示すフローチャートである。
ステップＳ６０１：ハッシュ生成部１０１は入力画像のハッシュ値を算出する。本実施例においても、図３に示すように、ハッシュ生成部１０１は入力画像（PICTURE）の輝度領域（Ｙ）と色差領域（ＣｂＣｒ）とを合わせて、１６バイトのハッシュ値（HASH）を算出する。図７に示すように、参照ハッシュリスト１０２は、実施例１と同様に、４つの参照フレーム（REFERENCE RFAME[0], REFERENCE RFAME[1], REFERENCE RFAME[2], REFERENCE RFAME[3]）を備える。また、４つの参照フレームのうち１フレームには物理メモリ（フレームメモリ）を割り当てている。すなわち、参照ハッシュリスト１０２内の参照ハッシュ値に対応する参照画像データが１フレームのみフレームメモリ１１４に格納する。
【００３１】
ステップＳ６０２：フレームモード判定部１０３は参照ハッシュリスト１０２に蓄積されるハッシュ値と現在の入力画像のハッシュ値とを比較する。参照リスト内のハッシュ値と現在の入力画像のハッシュ値とが一致しない場合には、ステップＳ６０３に移る。参照ハッシュリスト内のハッシュ値と現在の入力画像のハッシュ値とが一致する場合は、ステップＳ６０５に移る。
【００３２】
ステップＳ６０３：イントラ予測部１０４は、実施例１のステップＳ２０３と同様に、イントラ予測画像データおよびイントラ予測誤差値を生成する。インター予測部１１１は符号化対象フレームと、フレームメモリ１１４に蓄積される参照画像データの画面間予測を行い、動き検出によって生成される動きベクトルに基づき、フレームメモリから原画像データに最も近い参照画像データを読み出してインター予測画像データおよびインター予測誤差値を生成する。
【００３３】
ステップＳ６０４：予測モード判定部１１２はインター予測誤差とイントラ予測誤差の比較を行い、予測誤差の小さい方を符号化モードとして選択する。すなわち、予測モード判定部１１２は符号化コストの小さい方を符号化モードとして選択し、画像符号化装置１００Ａは選択した符号化モードに基づいて符号化を行う。すなわち、画像符号化装置１００Ａはイントラ予測およびインター予測に基づいて符号化を行う。イントラ予測およびインター予測に基づく符号化は実施例１のステップＳ２０３と同様である。
【００３４】
ステップＳ６０５：実施例１のステップＳ２０４と同様にスキップ符号化を行う。イントラ予測部１０４、減算器１０５、直交変換部１０６、量子化部１０７、逆量子化部１０９、逆直交変換部１１０、インター予測部１１１、予測モード判定部１１２、ループフィルタ１１３の処理を省略することができるので、これらの回路を停止することが可能である。
【００３５】
なお、本実施例ではハッシュ参照フレーム４面のうち、物理参照フレーム１面として説明したが、それに限定されるものではなく、任意の物理参照フレーム数、ハッシュ参照フレーム数を割り当てることができる。
【００３６】
実施例２の主な特徴は、実施例１に加えて物理参照フレームを追加したことで、ハッシュ値と、物理参照フレームの双方を予測に使えるようにしたことである。これにより、同一画像の入力が多い場合は、ハッシュ値が一致し、符号化処理を大幅に省略することができ、また同一画像入力が少ない場合には、通常のイントラ予測およびインター予測を行うことで、画質劣化を抑制することができる。
【００３７】
＜変形例＞
図８は変形例１に係る画像符号化装置のハッシュ生成例を示す図である。図９は変形例１に係る画像符号化装置の符号化モード判定処理の流れを示すフローチャートである。
ステップＳ９０１：ハッシュ生成部１０１は入力画像のハッシュ値を輝度と色差別に算出する。図８に示すように、輝度領域（Ｙ）と色差領域（ＣｂＣｒ）に分けてハッシュ値（HASH）を生成する。変形例１においても、図７に示すように、参照ハッシュリスト１０２は４つの参照フレーム（REFERENCE RFAME[0], REFERENCE RFAME[1], REFERENCE RFAME[2], REFERENCE RFAME[3]）を備える。
【００３８】
ステップＳ９０２：フレームモード判定部１０３は参照ハッシュリスト１０２に蓄積される輝度のハッシュ値と現在の入力画像の輝度のハッシュ値とを比較する。参照ハッシュリスト１０２内の輝度ハッシュと現在の入力画像の輝度のハッシュ値とが一致しない場合には、ステップＳ９０３に移る。参照ハッシュリスト１０２内の輝度のハッシュ値と現在の入力画像の輝度のハッシュ値とが一致する場合は、ステップＳ９０５に移る。
【００３９】
ステップＳ９０３：変形例１に係る画像符号化装置は、実施例２のステップＳ６０３と同様にイントラ予測およびインター予測を行う。
【００４０】
ステップＳ９０４：予測モード判定部１１２は、実施例２のステップＳ６０４と同様に符号化コストの小さい方を符号化モードとして選択する。
【００４１】
ステップＳ９０５：フレームモード判定部１０３は参照ハッシュリスト１０２に蓄積された色差のハッシュ値と現在の入力画像の色差のハッシュ値とを比較する。参照ハッシュリスト１０２に蓄積される色差のハッシュ値と現在の入力画像の色差のハッシュ値とが一致する場合にはステップＳ９０７に移る。参照ハッシュリスト１０２に蓄積される色差のハッシュ値と現在の入力画像の色差のハッシュ値とが一致しない場合には、ステップＳ９０６に移る。
【００４２】
ステップＳ９０６：輝度の符号化を省略することができることになるため、色差のインター予測の符号化を行い、輝度の参照画像データのフレームメモリ１１４からの読み出しを抑制し、色差のみ差分を符号化する。
【００４３】
ステップＳ９０７：変形例１に係る画像符号化装置は、実施例２のステップＳ６０５と同様にスキップ符号化を行う。
【００４４】
変形例１の主な特徴は、実施例２に加えてハッシュ値の生成単位を輝度と色差で分けることで、輝度のみハッシュ値が一致するケースを効率よく扱えるようにすることである。これにより、輝度のみハッシュ値が一致する場合には、フレームメモリ１１４内の輝度の参照画像データのアクセスを抑制し、色差の参照画像データのアクセスのみとすることが可能である。フレーム内画素値が完全一致しない場合においても符号化処理の一部分を省略することが可能となる。なお、変形例１ではハッシュ値の生成単位を輝度と色差で分割するが、それに限定されるものではない。
【００４５】
図１０は変形例２に係る画像符号化装置のハッシュ生成例を示す図である。変形例２に係る画像符号化装置のハッシュ生成器１０１は入力画像のハッシュ値をＨ．２６４等の符号化単位であるスライス単位（SLICE[0], SLICE[1]）で生成し、管理する。任意の物理参照フレーム、ハッシュ参照フレーム数を割り当てることができる。変形例２は、変形例１と同様にフレームメモリ内の参照データのアクセス量を削減することができ、フレーム内画素値が完全一致しない場合においても符号化処理の一部分を省略することが可能となる。
【００４６】
図１１は変形例３に係る画像符号化装置のハッシュ生成例を示す図である。変形例２に係る画像符号化装置のハッシュ生成器１０１は、入力画像の注目領域（INTEREST）と非注目領域（NON-INTEREST）とで別々のハッシュ値を生成し、管理する。変形例３は、変形例１と同様にフレームメモリ内の参照データのアクセス量を削減することができ、フレーム内画素値が完全一致しない場合においても符号化処理の一部分を省略することが可能となる。
【実施例３】
【００４７】
図１２は実施例３に係る画像符号化装置の構成を示すブロック図である。符号化装置である半導体装置１００Ｂは、ハッシュ生成部１０１と、参照ハッシュリスト１０２と、フレームモード判定部１０３と、イントラ予測部１０４と、減算器１０５と、直交変換部１０６と、量子化部１０７と、符号化部１０８と、逆量子化部１０９と、逆直交変換部１１０と、ハッシュフィルタ１１５と、を１つの半導体基板上に備える。ハッシュフィルタ１１５は符号化対象フレームを平滑化し、同一ハッシュ生成確率を向上させるためのものである。実施例３は実施例１のハッシュ生成部１０１の前にハッシュフィルタ１１５を設けたものであるが、変形例のハッシュ生成部１０１の前にハッシュフィルタ１１５を設けてもよい。
【００４８】
ハッシュ値の特性上、ハッシュ関数への入力が１ビットでも異なれば出力されるハッシュ値が異なってしまう。例えば入力画像に微小なノイズが乗る場合に、異なるハッシュが生成されてしまい、完全一致するハッシュを得ることが困難になる。ハッシュフィルタ１１５において、入力画像を平滑化し、微小なノイズを除去することで、生成されるハッシュ値が一致する確率を向上させることができる。ハッシュフィルタ１１５は、例えば、下位ビットを無視するビットマスクでもよいし、量子化でもよいし、ローパルフィルタやノイズ除去フィルタでもよい。
【００４９】
実施例３の主な特徴はハッシュフィルタを設けることで、ハッシュ値の生成を制御できるようにしたことである。これにより、入力画像に微小なノイズが乗った際であっても、ノイズによるハッシュ値の不一致を回避でき、符号化効率を向上させることが可能である。
【００５０】
以上、本発明者によってなされた発明を実施形態、実施例および変形例に基づき具体的に説明したが、本発明は、上記実施形態、実施例および変形例に限定されるものではなく、種々変更可能であることはいうまでもない。
【符号の説明】
【００５１】
１００・・・半導体装置
１０１・・・ハッシュ生成部
１０２・・・ハッシュ参照リスト
１０３・・・フレームモード判定部
１０４・・・イントラ予測部
１０５・・・減算器
１０６・・・直交変換部
１０７・・・量子化部
１０８・・・符号化部
１０９・・・逆量子化部
１１０・・・逆直交変換部
１１１・・・インター予測部
１１２・・・予測モード判定部
１１３・・・ループフィルタ
１１４・・・フレームメモリ
１１５・・・ハッシュフィルタ
【図１】
2017069617.tif 000003
【図２】
2017069617.tif 000004
【図３】
2017069617.tif 000005
【図４】
2017069617.tif 000006
【図５】
2017069617.tif 000007
【図６】
2017069617.tif 000008
【図７】
2017069617.tif 000009
【図８】
2017069617.tif 000010
【図９】
2017069617.tif 000011
【図１０】
2017069617.tif 000012
【図１１】
2017069617.tif 000013
【図１２】
2017069617.tif 000014
【図１３】
2017069617.tif 000015
【図１４】
2017069617.tif 000016
【図１５】
2017069617.tif 000017
【図１６】
2017069617.tif 000018
【図１７】
2017069617.tif 000019