(57)【特許請求の範囲】
【請求項１】
外部メモリに格納されている第１画像を参照して動き探索を行う画像処理装置であって、
前記第１画像内の所定範囲の第２画像を格納する、前記外部メモリよりも高速にアクセス可能な第１の内部メモリと、
前記第２画像内の所定範囲の画像を前記第１の内部メモリから読み出し、当該画像に基づいて粗探索用の第３画像を作成する画像作成部と、
前記画像作成部によって作成された前記第３画像を格納する、前記外部メモリよりも高速にアクセス可能な第２の内部メモリと、
前記第２の内部メモリから前記第３画像を読み出し、当該第３画像に基づいて第１の動き探索を行う第１の探索処理部と、
前記第１の探索処理部による探索結果に基づいて前記第２画像内の所定範囲の第４画像を前記第１の内部メモリから読み出し、当該第４画像に基づいて前記第１の動き探索よりも詳細な第２の動き探索を行う第２の探索処理部と、
を備え、
前記第２画像は輝度データ及び色差データを含み、
前記第１の内部メモリの単位記憶領域には、画素空間における８列×２行分の輝度データに相当する単位輝度データ、又は画素空間における８列×４行分の色差データに相当する単位色差データが格納され、
前記第１の内部メモリは複数のメモリバンクを有し、
列方向に２個かつ行方向に４個並ぶ８個の単位輝度データは、異なるメモリバンクに格納され、
列方向に１個かつ行方向に８個並ぶ８個の単位輝度データは、異なるメモリバンクに格納される、画像処理装置。
【請求項２】
前記第１の内部メモリは複数のメモリバンクを有し、
列方向に２個かつ行方向に４個並ぶ８個の単位色差データは、異なるメモリバンクに格納される、請求項１に記載の画像処理装置。
【請求項３】
前記第１の内部メモリは複数のメモリバンクを有し、
列方向に１個かつ行方向に４個並ぶ４個の単位輝度データ、及び当該４個の単位輝度データに対応する画像箇所において列方向に１個かつ行方向に２個並ぶ２個の単位色差データは、異なるメモリバンクに格納される、請求項１又は２に記載の画像処理装置。
【請求項４】
前記第１の内部メモリは複数のメモリバンクを有し、
列方向に２個かつ行方向に２個並ぶ４個の単位輝度データ、及び当該４個の単位輝度データに対応する画像箇所において列方向に２個かつ行方向に１個並ぶ２個の単位色差データは、異なるメモリバンクに格納される、請求項１〜３のいずれか一つに記載の画像処理装置。
【請求項５】
前記外部メモリよりも高速にアクセス可能な第３の内部メモリと、
前記第２の探索処理部による探索結果に基づいて前記第２画像内の所定範囲の第５画像を前記第１の内部メモリから読み出し、当該第５画像を前記第３の内部メモリに格納する転送処理部と、
前記第３の内部メモリから前記第５画像を読み出し、当該第５画像に基づいて前記第２の動き探索よりも詳細な第３の動き探索を行う第３の探索処理部と、
をさらに備える、請求項１〜４のいずれか一つに記載の画像処理装置。
【請求項６】
画素空間内における単位輝度データ及び単位色差データの位置座標に基づいて、前記第１の内部メモリが有する複数のメモリバンクのうち、各単位輝度データ及び各単位色差データを格納すべきメモリバンクを設定する第１のアドレス設定部をさらに備える、請求項１〜５のいずれか一つに記載の画像処理装置。
【請求項７】
前記第１のアドレス設定部はさらに、画素空間内における単位輝度データ及び単位色差データの位置座標に基づいて、各単位輝度データ及び各単位色差データを格納するメモリバンク内のアドレスを設定する、請求項６に記載の画像処理装置。
【請求項８】
前記第１の内部メモリに対するデータの読み出し及び書き込みは、時分割で行われる、請求項１〜７のいずれか一つに記載の画像処理装置。
【請求項９】
行方向に関する前記第２画像のサイズを所定の行数単位で設定することにより、前記第１の内部メモリ内に一又は複数の前記第２画像を格納可能である、請求項１〜８のいずれか一つに記載の画像処理装置。
【請求項１０】
あるカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の輝度データ及び色差データが、前記第１の内部メモリに書き込まれる、請求項１〜９のいずれか一つに記載の画像処理装置。
【請求項１１】
前記画像作成部は、前記第１の内部メモリ内において列方向に２個かつ行方向に２個並ぶ４個の単位輝度データに基づいて、画素空間における８列×２行分の１個の単位輝度データを作成し、当該単位輝度データを前記第２の内部メモリの単位記憶領域に格納する、請求項１〜１０のいずれか一つに記載の画像処理装置。
【請求項１２】
前記第２の内部メモリは複数のメモリバンクを有し、
列方向に２個かつ行方向に４個並ぶ８個の単位輝度データは、異なるメモリバンクに格納される、請求項１１に記載の画像処理装置。
【請求項１３】
前記第２の内部メモリは複数のメモリバンクを有し、
列方向に１個かつ行方向に８個並ぶ８個の単位輝度データは、異なるメモリバンクに格納される、請求項１１又は１２に記載の画像処理装置。
【請求項１４】
画素空間内における単位輝度データの位置座標に基づいて、前記第２の内部メモリが有する複数のメモリバンクのうち、各単位輝度データを格納すべきメモリバンクを設定する第２のアドレス設定部をさらに備える、請求項１１〜１３のいずれか一つに記載の画像処理装置。
【請求項１５】
前記第２のアドレス設定部はさらに、画素空間内における単位輝度データの位置座標に基づいて、各単位輝度データを格納するメモリバンク内のアドレスを設定する、請求項１４に記載の画像処理装置。
【請求項１６】
前記第２の内部メモリに対するデータの読み出し及び書き込みは、時分割で行われる、請求項１１〜１５のいずれか一つに記載の画像処理装置。
【請求項１７】
行方向に関する前記第３画像のサイズを所定の行数単位で設定することにより、前記第２の内部メモリ内に一又は複数の前記第３画像を格納可能である、請求項１１〜１６のいずれか一つに記載の画像処理装置。
【請求項１８】
あるカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の輝度データが、前記第２の内部メモリに書き込まれる、請求項１１〜１７のいずれか一つに記載の画像処理装置。
【請求項１９】
前記転送処理部は、前記第１の内部メモリ内において列方向に１個かつ行方向に２個並ぶ２個の単位輝度データに基づいて、画素空間における４列×４行分の２個の単位輝度データを生成し、当該単位輝度データを前記第３の内部メモリの単位記憶領域に格納する、請求項５に記載の画像処理装置。
【請求項２０】
前記第３の内部メモリは複数のメモリバンクを有し、
列方向に４個かつ行方向に４個並ぶ１６個の単位輝度データは、異なるメモリバンクに格納される、請求項１９に記載の画像処理装置。
【請求項２１】
画素空間内における単位輝度データの位置座標に基づいて、前記第３の内部メモリが有する複数のメモリバンクのうち、各単位輝度データを格納すべきメモリバンクを設定する第３のアドレス設定部をさらに備える、請求項１９又は２０に記載の画像処理装置。
【請求項２２】
前記第３のアドレス設定部はさらに、画素空間内における単位輝度データの位置座標に基づいて、各単位輝度データを格納するメモリバンク内のアドレスを設定する、請求項２１に記載の画像処理装置。
【請求項２３】
前記第３の内部メモリが有する複数のメモリバンクには、第１セットに属する複数のメモリバンクと、第２セットに属する複数のメモリバンクとが含まれ、
前記第１セット及び前記第２セットの各々に対するデータの読み出し及び書き込みは、時分割で行われる、請求項２０〜２２のいずれか一つに記載の画像処理装置。
【請求項２４】
あるカレントマクロブロックを対象とする動き探索を行うために前記第１セット及び前記第２セットの一方からデータの読み出しが行われている期間内に、次のカレントマクロブロックを対象とする動き探索を行うために必要となるデータが、前記第１セット及び前記第２セットの他方に書き込まれる、請求項２３に記載の画像処理装置。
【請求項２５】
前記第２の探索処理部による探索結果に含まれるマクロブロックパートモードに応じて、所定数の単位輝度データが前記第３の内部メモリに格納される、請求項１９〜２４のいずれか一つに記載の画像処理装置。
【請求項２６】
前記第３の内部メモリには、画素空間内におけるカレントマクロブロックの位置に基づいて、Ｓｋｉｐ／Ｄｉｒｅｃｔベクトル用参照画像、及び（０，０）ベクトル用参照画像がさらに格納される、請求項１９〜２５のいずれか一つに記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に、外部メモリに格納されている参照画像を参照して動き探索を行う画像処理装置に関する。
【背景技術】
【０００２】
例えば下記特許文献１には、背景技術に係る画像処理装置が開示されている。当該画像処理装置は、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）によって構成されたフレームメモリと、フレームメモリに接続された動き探索部とを備えている。フレームメモリには、符号化対象の画像、粗探索用の参照画像、及び密探索用の参照画像が格納されている。粗探索用の参照画像は、縮小処理によって予め作成されて、フレームメモリに格納されている。動き探索部は、まず、符号化対象の画像及び粗探索用の参照画像をフレームメモリから読み出し、これらの画像を用いて動き探索を行うことにより、粗探索の結果としての動きベクトルを求める。次に、動き探索部は、密探索用の参照画像のうち、当該動きベクトルの周辺領域の参照画像をフレームメモリから読み出し、符号化対象の画像と当該参照画像とを用いて動き探索を行うことにより、密探索の結果としての動きベクトルを求める。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−９６６９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に開示された画像処理装置によると、動き探索部とフレームメモリとの間で大量のデータを授受する必要がある。しかも、フレームメモリは、動作速度の遅いＳＤＲＡＭによって構成されている。従って、動き探索部がフレームメモリにアクセスする際に待ち時間が発生する可能性が高く、その結果、全体として動き探索の所要時間が長くなるという問題がある。
【０００５】
本発明はかかる問題を解決するために成されたものであり、簡易な構成によって動き探索を高速に行うことが可能な画像処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様に係る画像処理装置は、外部メモリに格納されている第１画像を参照して動き探索を行う画像処理装置であって、前記第１画像内の所定範囲の第２画像を格納する、前記外部メモリよりも高速にアクセス可能な第１の内部メモリと、前記第２画像内の所定範囲の画像を前記第１の内部メモリから読み出し、当該画像に基づいて粗探索用の第３画像を作成する画像作成部と、前記画像作成部によって作成された前記第３画像を格納する、前記外部メモリよりも高速にアクセス可能な第２の内部メモリと、前記第２の内部メモリから前記第３画像を読み出し、当該第３画像に基づいて第１の動き探索を行う第１の探索処理部と、前記第１の探索処理部による探索結果に基づいて前記第２画像内の所定範囲の第４画像を前記第１の内部メモリから読み出し、当該第４画像に基づいて前記第１の動き探索よりも詳細な第２の動き探索を行う第２の探索処理部と、を備え、前記第２画像は輝度データ及び色差データを含み、前記第１の内部メモリの単位記憶領域には、画素空間における８列×２行分の輝度データに相当する単位輝度データ、又は画素空間における８列×４行分の色差データに相当する単位色差データが格納され、前記第１の内部メモリは複数のメモリバンクを有し、列方向に２個かつ行方向に４個並ぶ８個の単位輝度データは、異なるメモリバンクに格納され、列方向に１個かつ行方向に８個並ぶ８個の単位輝度データは、異なるメモリバンクに格納されることを特徴とするものである。
【０００７】
第１の態様に係る画像処理装置によれば、画像作成部は、第１の内部メモリから読み出した画像に基づいて第３画像を作成する。また、第１の探索処理部は、第２の内部メモリから読み出した第３画像に基づいて第１の動き探索を行う。また、第２の探索処理部は、第１の内部メモリから読み出した第４画像に基づいて第２の動き探索を行う。ここで、第１及び第２の内部メモリはいずれも、外部メモリよりも高速にアクセス可能なメモリである。従って、画像作成部、第１の探索処理部、及び第２の探索処理部が外部メモリから画像を読み出す場合と比較すると、読み出しの所要時間が短縮されるため、全体として動き探索を高速に行うことが可能となる。
また、第１の態様に係る画像処理装置によれば、第１の内部メモリの単位記憶領域には、画素空間における８列×２行分の輝度データに相当する単位輝度データ、又は画素空間における８列×４行分の色差データに相当する単位色差データが格納される。従って、第２の内部メモリの単位記憶領域に格納すべき８列×２行分の単位輝度データ、及び第３の内部メモリの単位記憶領域に格納すべき４列×４行分の単位輝度データを、第１の内部メモリの単位記憶領域に格納されている単位輝度データに基づいて容易に作成することが可能となる。
また、第１の態様に係る画像処理装置によれば、列方向に２個かつ行方向に４個並ぶ８個の単位輝度データは、第１の内部メモリの異なるメモリバンクに格納される。従って、これら８個の単位輝度データを、第１の内部メモリに同時に書き込むことができるとともに、第１の内部メモリから同時に読み出すことができる。
また、第１の態様に係る画像処理装置によれば、列方向に１個かつ行方向に８個並ぶ８個の単位輝度データは、第１の内部メモリの異なるメモリバンクに格納される。従って、これら８個の単位輝度データを、第１の内部メモリに同時に書き込むことができるとともに、第１の内部メモリから同時に読み出すことができる。
【００１６】
本発明の第２の態様に係る画像処理装置は、第１の態様に係る画像処理装置において特に、前記第１の内部メモリは複数のメモリバンクを有し、列方向に２個かつ行方向に４個並ぶ８個の単位色差データは、異なるメモリバンクに格納されることを特徴とするものである。
【００１７】
第２の態様に係る画像処理装置によれば、列方向に２個かつ行方向に４個並ぶ８個の単位色差データは、第１の内部メモリの異なるメモリバンクに格納される。従って、これら８個の単位色差データを、第１の内部メモリに同時に書き込むことができるとともに、第１の内部メモリから同時に読み出すことができる。
【００１８】
本発明の第３の態様に係る画像処理装置は、第１又は第２の態様に係る画像処理装置において特に、前記第１の内部メモリは複数のメモリバンクを有し、列方向に１個かつ行方向に４個並ぶ４個の単位輝度データ、及び当該４個の単位輝度データに対応する画像箇所において列方向に１個かつ行方向に２個並ぶ２個の単位色差データは、異なるメモリバンクに格納されることを特徴とするものである。
【００１９】
第３の態様に係る画像処理装置によれば、列方向に１個かつ行方向に４個並ぶ４個の単位輝度データ、及び当該４個の単位輝度データに対応する画像箇所において列方向に１個かつ行方向に２個並ぶ２個の単位色差データは、第１の内部メモリの異なるメモリバンクに格納される。従って、これら４個の単位輝度データ及び２個の単位色差データを、第１の内部メモリに同時に書き込むことができるとともに、第１の内部メモリから同時に読み出すことができる。
【００２０】
本発明の第４の態様に係る画像処理装置は、第１〜第３のいずれか一つの態様に係る画像処理装置において特に、前記第１の内部メモリは複数のメモリバンクを有し、列方向に２個かつ行方向に２個並ぶ４個の単位輝度データ、及び当該４個の単位輝度データに対応する画像箇所において列方向に２個かつ行方向に１個並ぶ２個の単位色差データは、異なるメモリバンクに格納されることを特徴とするものである。
【００２１】
第４の態様に係る画像処理装置によれば、列方向に２個かつ行方向に２個並ぶ４個の単位輝度データ、及び当該４個の単位輝度データに対応する画像箇所において列方向に２個かつ行方向に１個並ぶ２個の単位色差データは、第１の内部メモリの異なるメモリバンクに格納される。従って、これら４個の単位輝度データ及び２個の単位色差データを、第１の内部メモリに同時に書き込むことができるとともに、第１の内部メモリから同時に読み出すことができる。
本発明の第５の態様に係る画像処理装置は、第１〜第４のいずれか一つの態様に係る画像処理装置において特に、前記外部メモリよりも高速にアクセス可能な第３の内部メモリと、前記第２の探索処理部による探索結果に基づいて前記第２画像内の所定範囲の第５画像を前記第１の内部メモリから読み出し、当該第５画像を前記第３の内部メモリに格納する転送処理部と、前記第３の内部メモリから前記第５画像を読み出し、当該第５画像に基づいて前記第２の動き探索よりも詳細な第３の動き探索を行う第３の探索処理部と、をさらに備えることを特徴とするものである。
第５の態様に係る画像処理装置によれば、転送処理部は、第１の内部メモリから読み出した第５画像を第２の内部メモリに格納する。また、第３の探索処理部は、第３の内部メモリから読み出した第５画像に基づいて第３の動き探索を行う。ここで、第３の内部メモリは、外部メモリよりも高速にアクセス可能なメモリである。従って、転送処理部及び第３の探索処理部が外部メモリから画像を読み出す場合と比較すると、読み出しの所要時間が短縮されるため、全体として動き探索を高速に行うことが可能となる。
【００２２】
本発明の第６の態様に係る画像処理装置は、第１〜第５のいずれか一つの態様に係る画像処理装置において特に、画素空間内における単位輝度データ及び単位色差データの位置座標に基づいて、前記第１の内部メモリが有する複数のメモリバンクのうち、各単位輝度データ及び各単位色差データを格納すべきメモリバンクを設定する第１のアドレス設定部をさらに備えることを特徴とするものである。
【００２３】
第６の態様に係る画像処理装置によれば、第１のアドレス設定部は、画素空間内における単位輝度データ及び単位色差データの位置座標に基づいて、第１の内部メモリが有する複数のメモリバンクのうち、各単位輝度データ及び各単位色差データを格納すべきメモリバンクを設定する。従って、各単位輝度データ及び各単位色差データを、適切なメモリバンクに格納することが可能となる。
【００２４】
本発明の第７の態様に係る画像処理装置は、第６の態様に係る画像処理装置において特に、前記第１のアドレス設定部はさらに、画素空間内における単位輝度データ及び単位色差データの位置座標に基づいて、各単位輝度データ及び各単位色差データを格納するメモリバンク内のアドレスを設定することを特徴とするものである。
【００２５】
第７の態様に係る画像処理装置によれば、第１のアドレス設定部は、画素空間内における単位輝度データ及び単位色差データの位置座標に基づいて、各単位輝度データ及び各単位色差データを格納するメモリバンク内のアドレスを設定する。従って、各単位輝度データ及び各単位色差データを、メモリバンク内の適切なアドレスに格納することが可能となる。
【００２６】
本発明の第８の態様に係る画像処理装置は、第１〜第７のいずれか一つの態様に係る画像処理装置において特に、前記第１の内部メモリに対するデータの読み出し及び書き込みは、時分割で行われることを特徴とするものである。
【００２７】
第８の態様に係る画像処理装置によれば、第１の内部メモリに対するデータの読み出し及び書き込みは、時分割で行われる。従って、シングルポートのＲＡＭを用いて第１の内部メモリを構成できるため、回路規模を削減することが可能となる。
【００２８】
本発明の第９の態様に係る画像処理装置は、第１〜第８のいずれか一つの態様に係る画像処理装置において特に、行方向に関する前記第２画像のサイズを所定の行数単位で設定することにより、前記第１の内部メモリ内に一又は複数の前記第２画像を格納可能であることを特徴とするものである。
【００２９】
第９の態様に係る画像処理装置によれば、行方向に関する前記第２画像のサイズを所定の行数単位で設定することにより、第１の内部メモリ内に一又は複数の第２画像を格納可能である。従って、一の参照画像を用いた動き探索のみならず、複数の参照画像を用いた動き探索を行うことが可能となる。
【００３０】
本発明の第１０の態様に係る画像処理装置は、第１〜第９のいずれか一つの態様に係る画像処理装置において特に、あるカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の輝度データ及び色差データが、前記第１の内部メモリに書き込まれることを特徴とするものである。
【００３１】
第１０の態様に係る画像処理装置によれば、あるカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の輝度データ及び色差データが、第１の内部メモリに書き込まれる。従って、あるカレントマクロブロックを対象とする動き探索が完了した後に、次のカレントマクロブロックを対象とする処理を、滞りなく開始することが可能となる。
【００３２】
本発明の第１１の態様に係る画像処理装置は、第１〜第１０のいずれか一つの態様に係る画像処理装置において特に、前記画像作成部は、前記第１の内部メモリ内において列方向に２個かつ行方向に２個並ぶ４個の単位輝度データに基づいて、画素空間における８列×２行分の１個の単位輝度データを作成し、当該単位輝度データを前記第２の内部メモリの単位記憶領域に格納することを特徴とするものである。
【００３３】
第１１の態様に係る画像処理装置によれば、画像作成部は、第１の内部メモリ内において列方向に２個かつ行方向に２個並ぶ４個の単位輝度データに基づいて、画素空間における８列×２行分の１個の単位輝度データを作成する。従って、第１の内部メモリに格納されている画像を１／４に縮小した縮小画像を、簡易に作成することが可能となる。
【００３４】
本発明の第１２の態様に係る画像処理装置は、第１１の態様に係る画像処理装置において特に、前記第２の内部メモリは複数のメモリバンクを有し、列方向に２個かつ行方向に４個並ぶ８個の単位輝度データは、異なるメモリバンクに格納されることを特徴とするものである。
【００３５】
第１２の態様に係る画像処理装置によれば、列方向に２個かつ行方向に４個並ぶ８個の単位輝度データは、第２の内部メモリの異なるメモリバンクに格納される。従って、これら８個の単位輝度データを、第２の内部メモリに同時に書き込むことができるとともに、第１の内部メモリから同時に読み出すことができる。
【００３６】
本発明の第１３の態様に係る画像処理装置は、第１１又は第１２の態様に係る画像処理装置において特に、前記第２の内部メモリは複数のメモリバンクを有し、列方向に１個かつ行方向に８個並ぶ８個の単位輝度データは、異なるメモリバンクに格納されることを特徴とするものである。
【００３７】
第１３の態様に係る画像処理装置によれば、列方向に１個かつ行方向に８個並ぶ８個の単位輝度データは、第２の内部メモリの異なるメモリバンクに格納される。従って、これら８個の単位輝度データを、第２の内部メモリに同時に書き込むことができるとともに、第１の内部メモリから同時に読み出すことができる。
【００３８】
本発明の第１４の態様に係る画像処理装置は、第１１〜第１３のいずれか一つの態様に係る画像処理装置において特に、画素空間内における単位輝度データの位置座標に基づいて、前記第２の内部メモリが有する複数のメモリバンクのうち、各単位輝度データを格納すべきメモリバンクを設定する第２のアドレス設定部をさらに備えることを特徴とするものである。
【００３９】
第１４の態様に係る画像処理装置によれば、第２のアドレス設定部は、画素空間内における単位輝度データの位置座標に基づいて、第２の内部メモリが有する複数のメモリバンクのうち、各単位輝度データを格納すべきメモリバンクを設定する。従って、各単位輝度データを、適切なメモリバンクに格納することが可能となる。
【００４０】
本発明の第１５の態様に係る画像処理装置は、第１４の態様に係る画像処理装置において特に、前記第２のアドレス設定部はさらに、画素空間内における単位輝度データの位置座標に基づいて、各単位輝度データを格納するメモリバンク内のアドレスを設定することを特徴とするものである。
【００４１】
第１５の態様に係る画像処理装置によれば、第２のアドレス設定部は、画素空間内における単位輝度データの位置座標に基づいて、各単位輝度データを格納するメモリバンク内のアドレスを設定する。従って、各単位輝度データを、メモリバンク内の適切なアドレスに格納することが可能となる。
【００４２】
本発明の第１６の態様に係る画像処理装置は、第１１〜第１５のいずれか一つの態様に係る画像処理装置において特に、前記第２の内部メモリに対するデータの読み出し及び書き込みは、時分割で行われることを特徴とするものである。
【００４３】
第１６の態様に係る画像処理装置によれば、第２の内部メモリに対するデータの読み出し及び書き込みは、時分割で行われる。従って、シングルポートのＲＡＭを用いて第２の内部メモリを構成できるため、回路規模を削減することが可能となる。
【００４４】
本発明の第１７の態様に係る画像処理装置は、第１１〜第１６のいずれか一つの態様に係る画像処理装置において特に、行方向に関する前記第３画像のサイズを所定の行数単位で設定することにより、前記第２の内部メモリ内に一又は複数の前記第３画像を格納可能であることを特徴とするものである。
【００４５】
第１７の態様に係る画像処理装置によれば、行方向に関する前記第３画像のサイズを所定の行数単位で設定することにより、第２の内部メモリ内に一又は複数の第３画像を格納可能である。従って、一の参照画像を用いた動き探索のみならず、複数の参照画像を用いた動き探索を行うことが可能となる。
【００４６】
本発明の第１８の態様に係る画像処理装置は、第１１〜第１７のいずれか一つの態様に係る画像処理装置において特に、あるカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の輝度データが、前記第２の内部メモリに書き込まれることを特徴とするものである。
【００４７】
第１８の態様に係る画像処理装置によれば、あるカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の輝度データが、第２の内部メモリに書き込まれる。従って、あるカレントマクロブロックを対象とする動き探索が完了した後に、次のカレントマクロブロックを対象とする処理を、滞りなく開始することが可能となる。
【００４８】
本発明の第１９の態様に係る画像処理装置は、第５の態様に係る画像処理装置において特に、前記転送処理部は、前記第１の内部メモリ内において列方向に１個かつ行方向に２個並ぶ８列×２行分の２個の単位輝度データに基づいて、画素空間における４列×４行分の２個の単位輝度データを生成し、当該単位輝度データを前記第３の内部メモリの単位記憶領域に格納することを特徴とするものである。
【００４９】
第１９の態様に係る画像処理装置によれば、転送処理部は、第１の内部メモリ内において列方向に１個かつ行方向に２個並ぶ２個の単位輝度データに基づいて、画素空間における４列×４行分の２個の単位輝度データを生成する。従って、８列×２行分の単位輝度データから４列×４行分の単位輝度データへの変換を簡易に行うことが可能となる。
【００５０】
本発明の第２０の態様に係る画像処理装置は、第１９の態様に係る画像処理装置において特に、前記第３の内部メモリは複数のメモリバンクを有し、列方向に４個かつ行方向に４個並ぶ１６個の単位輝度データは、異なるメモリバンクに格納されることを特徴とするものである。
【００５１】
第２０の態様に係る画像処理装置によれば、列方向に４個かつ行方向に４個並ぶ１６個の単位輝度データは、第３の内部メモリの異なるメモリバンクに格納される。従って、これら１６個の単位輝度データを、第３の内部メモリに同時に書き込むことができるとともに、第３の内部メモリから同時に読み出すことができる。
【００５２】
本発明の第２１の態様に係る画像処理装置は、第１９又は第２０の態様に係る画像処理装置において特に、画素空間内における単位輝度データの位置座標に基づいて、前記第３の内部メモリが有する複数のメモリバンクのうち、各単位輝度データを格納すべきメモリバンクを設定する第３のアドレス設定部をさらに備えることを特徴とするものである。
【００５３】
第２１の態様に係る画像処理装置によれば、第３のアドレス設定部は、画素空間内における単位輝度データの位置座標に基づいて、第３の内部メモリが有する複数のメモリバンクのうち、各単位輝度データを格納すべきメモリバンクを設定する。従って、各単位輝度データを、適切なメモリバンクに格納することが可能となる。
【００５４】
本発明の第２２の態様に係る画像処理装置は、第２１の態様に係る画像処理装置において特に、前記第３のアドレス設定部はさらに、画素空間内における単位輝度データの位置座標に基づいて、各単位輝度データを格納するメモリバンク内のアドレスを設定することを特徴とするものである。
【００５５】
第２２の態様に係る画像処理装置によれば、第３のアドレス設定部は、画素空間内における単位輝度データの位置座標に基づいて、各単位輝度データを格納するメモリバンク内のアドレスを設定する。従って、各単位輝度データを、メモリバンク内の適切なアドレスに格納することが可能となる。
【００５６】
本発明の第２３の態様に係る画像処理装置は、第２０〜第２２のいずれか一つの態様に係る画像処理装置において特に、前記第３の内部メモリが有する複数のメモリバンクには、第１セットに属する複数のメモリバンクと、第２セットに属する複数のメモリバンクとが含まれ、前記第１セット及び前記第２セットの各々に対するデータの読み出し及び書き込みは、時分割で行われることを特徴とするものである。
【００５７】
第２３の態様に係る画像処理装置によれば、第３の内部メモリが有する第１セット及び第２セットの各々に対するデータの読み出し及び書き込みは、時分割で行われる。従って、シングルポートのＲＡＭを用いて第３の内部メモリを構成できるため、回路規模を削減することが可能となる。
【００５８】
本発明の第２４の態様に係る画像処理装置は、第２３の態様に係る画像処理装置において特に、あるカレントマクロブロックを対象とする動き探索を行うために前記第１セット及び前記第２セットの一方からデータの読み出しが行われている期間内に、次のカレントマクロブロックを対象とする動き探索を行うために必要となるデータが、前記第１セット及び前記第２セットの他方に書き込まれることを特徴とするものである。
【００５９】
第２４の態様に係る画像処理装置によれば、あるカレントマクロブロックを対象とする動き探索を行うために第１セット及び第２セットの一方からデータの読み出しが行われている期間内に、次のカレントマクロブロックを対象とする動き探索を行うために必要となるデータが、第１セット及び第２セットの他方に書き込まれる。従って、あるカレントマクロブロックを対象とする動き探索が完了した後に、次のカレントマクロブロックを対象とする処理を、滞りなく開始することが可能となる。
【００６０】
本発明の第２５の態様に係る画像処理装置は、第１９〜第２４のいずれか一つの態様に係る画像処理装置において特に、前記第２の探索処理部による探索結果に含まれるマクロブロックパートモードに応じて、所定数の単位輝度データが前記第３の内部メモリに格納されることを特徴とするものである。
【００６１】
第２５の態様に係る画像処理装置によれば、第２の探索処理部による探索結果に含まれるマクロブロックパートモードに応じて、所定数の単位輝度データが第３の内部メモリに格納される。従って、マクロブロックパートモードに応じて、第３の探索処理部による動き探索を適切に行うことが可能となる。
【００６２】
本発明の第２６の態様に係る画像処理装置は、第１９〜第２５のいずれか一つの態様に係る画像処理装置において特に、前記第３の内部メモリには、画素空間内におけるカレントマクロブロックの位置に基づいて、Ｓｋｉｐ／Ｄｉｒｅｃｔベクトル用参照画像、及び（０，０）ベクトル用参照画像がさらに格納されることを特徴とするものである。
【００６３】
第２６の態様に係る画像処理装置によれば、第３の内部メモリには、Ｓｋｉｐ／Ｄｉｒｅｃｔベクトル用参照画像、及び（０，０）ベクトル用参照画像がさらに格納される。従って、第３の探索処理部による動き探索の精度を向上することが可能となる。
【発明の効果】
【００６４】
本発明によれば、簡易な構成によって動き探索を高速に行うことが可能な画像処理装置を得ることができる。
【図面の簡単な説明】
【００６５】
【図１】本発明の実施の形態に係るエンコーダの構成を示す図である。
【図２】図１に示した動き探索部の内部構成を示す図である。
【図３】ＬＳＲＡＭの構成を示す図である。
【図４】ＬＳＲＡＭに格納される画像の第１の例を示す図である。
【図５】ＬＳＲＡＭに格納される画像の第２の例を示す図である。
【図６】ＬＳＲＡＭに格納する輝度データの配置ルールを説明するための図である。
【図７】ＬＳＲＡＭに格納する色差データの配置ルールを説明するための図である。
【図８】ＬＳＲＡＭにおける輝度データのメモリバンクへの振り分けを説明するための図である。
【図９】ＬＳＲＡＭにおける色差データのメモリバンクへの振り分けを説明するための図である。
【図１０】図８に示した輝度データと図９に示した色差データとを並べて示す図である。
【図１１】アドレス生成部による輝度データのバンクインデックスの設定手法を説明するための図である。
【図１２】アドレス生成部による色差データのバンクインデックスの設定手法を説明するための図である。
【図１３】フレームメモリからＬＳＲＡＭに書き込まれる画像データの更新ルールを説明するための図である。
【図１４】フレームメモリからＬＳＲＡＭに書き込まれる画像データの更新ルールを説明するための図である。
【図１５】フレームメモリからＬＳＲＡＭに書き込まれる画像データの更新ルールを説明するための図である。
【図１６】フレームメモリからＬＳＲＡＭに書き込まれる画像データの更新ルールを説明するための図である。
【図１７】ＭＳＲＡＭの構成を示す図である。
【図１８】ＭＳＲＡＭに格納される画像の第１の例を示す図である。
【図１９】ＭＳＲＡＭに格納される画像の第２の例を示す図である。
【図２０】画像作成部による画像のリサイズ処理を示す図である。
【図２１】ＭＳＲＡＭにおける輝度データのメモリバンクへの振り分けを説明するための図である。
【図２２】図２１に示した輝度データを示す図である。
【図２３】ＭＳＲＡＭにおけるバンクアドレスの設定例を示す図である。
【図２４】画像作成部からＭＳＲＡＭに書き込まれる画像データの更新ルールを説明するための図である。
【図２５】画像作成部からＭＳＲＡＭに書き込まれる画像データの更新ルールを説明するための図である。
【図２６】画像作成部からＭＳＲＡＭに書き込まれる画像データの更新ルールを説明するための図である。
【図２７】画像作成部からＭＳＲＡＭに書き込まれる画像データの更新ルールを説明するための図である。
【図２８】画像作成部からＭＳＲＡＭに書き込まれる画像データの更新ルールを説明するための図である。
【図２９】ＳＳＲＡＭの構成を示す図である。
【図３０】ＳＳＲＡＭに格納される画像の例を示す図である。
【図３１】転送処理部によるパックワード変換を示す図である。
【図３２】ＳＳＲＡＭにおける輝度データのメモリバンクへの振り分けを説明するための図である。
【図３３】図３２に示した輝度データを示す図である。
【図３４】ＳＳＲＡＭ内における参照画像の格納領域をそれぞれ示す図である。
【図３５】ＳＳＲＡＭ内における参照画像の格納領域をそれぞれ示す図である。
【図３６】ＳＳＲＡＭ内における参照画像の格納領域をそれぞれ示す図である。
【図３７】ＳＳＲＡＭ内における参照画像の格納領域をそれぞれ示す図である。
【図３８】ＳＳＲＡＭ内における参照画像の格納領域をそれぞれ示す図である。
【図３９】ＳＳＲＡＭ内における参照画像の格納領域をそれぞれ示す図である。
【発明を実施するための形態】
【００６６】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【００６７】
図１は、本発明の実施の形態に係るエンコーダ１の構成を示す図である。エンコーダ１は、Ｈ．２６４規格に準拠した画像処理装置であり、外部メモリとしてのフレームメモリ２に接続されている。フレームメモリ２は、例えばＤＲＡＭ（Dynamic Random Access Memory）によって構成されており、一又は複数の参照画像を格納可能である。図１の接続関係で示すように、エンコーダ１は、動き探索部４、動き補償部５、デブロッキングフィルタ６、処理部７、及びエントロピー符号化部８を備えて構成されている。処理部７は、直交変換、量子化、及び逆量子化等の処理を行う。
【００６８】
図２は、図１に示した動き探索部４の内部構成を示す図である。図２の接続関係で示すように、動き探索部４は、内部メモリとしての３個のＳＲＡＭ（Static Random Access Memory）を備えて構成されている。本実施の形態では、区別を容易にするために、３個のＳＲＡＭをそれぞれ「ＬＳＲＡＭ１１」、「ＭＳＲＡＭ１３」、及び「ＳＳＲＡＭ１７」と称する。ＬＳＲＡＭ１１、ＭＳＲＡＭ１３、及びＳＳＲＡＭ１７は、フレームメモリ２よりも高速にアクセス可能である。また、動き探索部４は、画像作成部１２、探索処理部１４，１５，１８、及び転送処理部１６を備えて構成されている。
【００６９】
ＬＳＲＡＭ１１には、ＤＭＡ（Direct Memory Access）制御によって、フレームメモリ２に格納されている参照画像（第１画像）内の所定範囲の輝度及び色差の画像（第２画像）が書き込まれる。画像作成部１２は、第２画像内の所定範囲の輝度の画像をＬＳＲＡＭ１１から読み出し、当該画像に対して１／４のリサイズ処理を行うことにより粗探索用の縮小画像（第３画像）を作成する。画像作成部１２によって作成された第３画像は、ＭＳＲＡＭ１３に格納される。探索処理部１４は、ＭＳＲＡＭ１３から第３画像を読み出し、当該第３画像に基づいて動き探索（縮小画素探索）を行う。探索処理部１４による縮小画素探索の結果は探索処理部１５に入力される。探索処理部１５は、入力された探索結果に基づいて、第２画像内の所定範囲の輝度の画像（第４画像）をＬＳＲＡＭ１１から読み出し、当該第４画像に基づいて縮小画素探索よりも詳細な動き探索（整数精度画素探索）を行う。探索処理部１５による整数精度画素探索の結果は転送処理部１６及び探索処理部１８に入力される。転送処理部１６は、入力された探索結果に基づいて、第２画像内の所定範囲の輝度の画像（第５画像）をＬＳＲＡＭ１１から読み出し、当該第５画像をＳＳＲＡＭ１７に格納する。探索処理部１８は、ＳＳＲＡＭ１７から第５画像を読み出し、当該第５画像に基づいて整数精度画素探索よりも詳細な動き探索（小数精度画素探索）を行う。また、探索処理部１８は、補完用の色差の画像をＬＳＲＡＭ１１から読み出す。なお、探索処理部１４による縮小画素探索と、探索処理部１５による整数精度画素探索と、探索処理部１８による小数精度画素探索とは、マクロブロックパイプライン処理によって実行される。
【００７０】
図３は、ＬＳＲＡＭ１１の構成を示す図である。ＬＳＲＡＭ１１は、複数のメモリバンクに分割されており、この例では第０バンク２２０〜第７バンク２２７の合計８個のメモリバンクによって構成されている。また、アドレス生成部２３を有する入出力インタフェース２１が、各メモリバンクに接続されている。ＬＳＲＡＭ１１は、フレームメモリ２からの画像の書き込み動作、画像作成部１２への画像の読み出し動作、探索処理部１５への画像の読み出し動作、転送処理部１６への画像の読み出し動作、及び探索処理部１８への画像の読み出し動作を、時分割で切り替えて実行する。異なるメモリバンクには同時にアクセスすることが可能であり、メモリバンクの分割数は、これらの時分割での書き込み動作及び読み出し動作を遅滞なく実行可能な数に設定される。
【００７１】
図４は、ＬＳＲＡＭ１１に格納される画像の第１の例を示す図である。図中太線の格納領域３６として示すように、ＬＳＲＡＭ１１には、１９２０列×１０８０行の参照画像３０のうち、１９２０列×１６０行分の画像データ（輝度データ及び色差データ）が格納される。格納領域３６には、カレントマクロブロック３１を中心とするサーチウインドウ３２と、マクロブロックパイプライン処理の遅延分に相当するオーバーラップ領域３３と、次のマクロブロック処理時間で使用する画像のリサイズ処理に必要なアップデート領域３４とが含まれる。また、領域３５は、カレントマクロブロックの更新に備えてフレームメモリ２からＬＳＲＡＭ１１に書き込まれる画像データである。
【００７２】
図５は、ＬＳＲＡＭ１１に格納される画像の第２の例を示す図である。サーチウインドウ３２の高さ（行方向のサイズ）は、最大値を１６０行として８行単位で任意に設定可能である。従って、複数の参照画像（図５の例では２個の参照画像３０１，３０２）が存在する場合には、その個数に応じてサーチウインドウ３２の高さを設定することにより、参照画像３０１内の格納領域３６１と、参照画像３０２内の格納領域３６２とをＬＳＲＡＭ１１に格納することができる。
【００７３】
図６は、ＬＳＲＡＭ１１に格納する輝度データの配置ルールを説明するための図である。図６の（Ａ）は画像内の１６列×４行分の画素空間を示しており、図６の（Ｂ）はＬＳＲＡＭ１１内の４ワード分の記憶領域（つまり４個の単位記憶領域）を示している。図６に示すように、ＬＳＲＡＭ１１の単位記憶領域には、画素空間における８列×２行分の輝度データに相当する単位輝度データ（以下「８×２パックワード」と称す）が格納される。本実施の形態の例において各輝度データは８ビットであるため、８×２パックワード及びＬＳＲＡＭ１１の１ワードはいずれも１２８ビットである。
【００７４】
図７は、ＬＳＲＡＭ１１に格納する色差データの配置ルールを説明するための図である。図７の（Ａ）は画像内の１６列×４行分の画素空間を示しており、図７の（Ｂ）はＬＳＲＡＭ１１内の２ワード分の記憶領域（つまり２個の単位記憶領域）を示している。図７に示すように、ＬＳＲＡＭ１１の単位記憶領域には、画素空間における８列×４行分の色差データに相当する単位色差データが格納される。本実施の形態の例ではＹＵＶ４２０フォーマットの画像データを扱うため、輝度相当で８列×４行分の画素空間の中には１６個（１２８ビット）の色差データが存在する。
【００７５】
図８は、ＬＳＲＡＭ１１における輝度データのメモリバンクへの振り分けを説明するための図である。図８には、３２列×３２行分の画素空間に含まれる６４個の８×２パックワードを示している。図中の数字は、第０バンク２２０〜第７バンク２２７の各メモリバンクに付されるバンクインデックスを表している。図８に示したように輝度データを各メモリバンクに振り分けることにより、列方向に１個かつ行方向に８個並ぶ任意の８個の単位輝度データは異なるメモリバンクに格納され、また、列方向に２個かつ行方向に４個並ぶ任意の８個の単位輝度データは異なるメモリバンクに格納される。
【００７６】
図９は、ＬＳＲＡＭ１１における色差データのメモリバンクへの振り分けを説明するための図である。図９には、輝度相当で３２列×３２行分の画素空間に含まれる３２個の８×２パックワードを示している。図中の数字はバンクインデックスを表している。図９に示したように色差データを各メモリバンクに振り分けることにより、列方向に２個かつ行方向に４個並ぶ任意の８個の単位色差データは異なるメモリバンクに格納される。
【００７７】
図１０は、図８に示した輝度データと図９に示した色差データとを並べて示す図である。領域Ｒ１に含まれる８個の単位輝度データ（列方向に１個×行方向に８個）は、ＬＳＲＡＭ１１に対して同時に読み出し又は書き込みが可能である。また、領域Ｒ２に含まれる８個の単位輝度データ（列方向に２個×行方向に４個）は、ＬＳＲＡＭ１１に対して同時に読み出し又は書き込みが可能である。また、領域Ｒ３に含まれる８個の単位色差データ（列方向に２個×行方向に４個）は、ＬＳＲＡＭ１１に対して同時に読み出し又は書き込みが可能である。また、領域Ｒ４に含まれる４個の単位輝度データ（列方向に２個×行方向に２個）と２個の単位色差データ（列方向に２個×行方向に１個）とは、ＬＳＲＡＭ１１に対して同時に読み出し又は書き込みが可能である。また、領域Ｒ５に含まれる４個の単位輝度データ（列方向に１個×行方向に４個）と２個の単位色差データ（列方向に１個×行方向に２個）とは、ＬＳＲＡＭ１１に対して同時に読み出し又は書き込みが可能である。
【００７８】
図１１は、アドレス生成部２３による輝度データのバンクインデックスの設定手法を説明するための図である。アドレス生成部２３は、画素空間におけるパックワード単位での列方向の座標（ｘ座標）及び行方向の座標（ｙ座標）に基づいて、各パックワードのバンクインデックスを設定する。なお、図中の「％」は剰余を求める演算を意味している。また、除算の剰余は切り捨てる。例えば、ある輝度データのパックワードをＬＳＲＡＭ１１に書き込むにあたり、ｙ座標を「４」で除算した値をさらに「２」で除算した際の剰余が「０」で、ｙ座標を「４」で除算した際の剰余が「０」で、ｘ座標を「２」で除算した際の剰余が「０」である場合には、そのパックワードにはバンクインデックスＢＩ＝「０」が設定され、当該パックワードはＬＳＲＡＭ１１の第０バンク２２０に格納される。
【００７９】
図１１に示した関係を式で表すと、
ＢＩ＝（（ｘ％２）＾（（ｙ／４）％２））＊４＋（ｙ％４）
となる。なお、式中の「＾」は排他的論理和を求める演算を意味している。
【００８０】
図１２は、アドレス生成部２３による色差データのバンクインデックスの設定手法を説明するための図である。アドレス生成部２３は、画素空間におけるパックワード単位でのｘ座標及びｙ座標に基づいて、各パックワードのバンクインデックスを設定する。例えば、ある色差データのパックワードをＬＳＲＡＭ１１に書き込むにあたり、ｙ座標を「２」で除算した値をさらに「４」で除算した際の剰余が「１」で、ｘ座標を「２」で除算した際の剰余が「０」である場合には、そのパックワードにはバンクインデックスＢＩ＝「４」が設定され、当該パックワードはＬＳＲＡＭ１１の第４バンク２２４に格納される。
【００８１】
図１２に示した関係を式で表すと、
ＢＩ＝（（（（ｙ／４）％２）＝＝（ｘ％２））＜＜２）＋（（〜（（ｙ／２）％２））＜＜１）＋（（ｙ／４）％２）
となる。なお、式中の「〜」はビット単位の反転を意味している。
【００８２】
また、アドレス生成部２３は、画素空間におけるパックワード単位でのｘ座標及びｙ座標に基づいて、各パックワードを格納するメモリバンク内のアドレス（バンクアドレスＢＡ）を設定する。各メモリバンクにおいて、前半２／３の領域（ＢＡ＝「０」〜「２５５９」には輝度データが格納され、後半１／３の領域（ＢＡ＝「２５６０」〜「３８３９」）には色差データが格納される。
【００８３】
輝度データのバンクアドレスを設定するための式は、
ＢＡ＝（ｘ／２）＋（ｙ／４）＊１２８
となる。
【００８４】
色差データのバンクアドレスを設定するための式は、
ＢＡ＝（ｘ／２）＋（ｙ／８）＊１２８＋２５６０
となる。
【００８５】
図１３〜１６は、フレームメモリ２からＬＳＲＡＭ１１に書き込まれる画像データの更新ルールを説明するための図である。現在のカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の画像データが、フレームメモリ２からＬＳＲＡＭ１１に書き込まれる。
【００８６】
図１３を参照して、処理開始時には、カレントマクロブロック３１は参照画像３０の左上隅に位置している。この場合、サーチウインドウ３２と参照画像３０との重複範囲（斜線を付した領域）の画像データが、フレームメモリ２からＬＳＲＡＭ１１に書き込まれる。
【００８７】
図１４を参照して、カレントマクロブロック３１が参照画像３０の上辺に接している時には、参照画像３０内でサーチウインドウ３２の右辺に接している領域３５の画像データが、フレームメモリ２からＬＳＲＡＭ１１に書き込まれる。
【００８８】
図１５を参照して、サーチウインドウ３２の右辺が参照画像３０の右辺に接している時には、サーチウインドウ３２の下辺より１マクロブロックライン下で参照画像３０の左辺に接している１マクロブロック相当の領域３５の画像データが、フレームメモリ２からＬＳＲＡＭ１１に書き込まれる。
【００８９】
図１６を参照して、カレントマクロブロック３１が参照画像３０の中央部に位置している通常更新時には、サーチウインドウ３２の右下隅に接している１マクロブロック相当の領域３５の画像データが、フレームメモリ２からＬＳＲＡＭ１１に書き込まれる。
【００９０】
図１７は、ＭＳＲＡＭ１３の構成を示す図である。ＭＳＲＡＭ１３は、複数のメモリバンクに分割されており、この例では第０バンク４２０〜第７バンク４２７の合計８個のメモリバンクによって構成されている。また、アドレス生成部４３を有する入出力インタフェース４１が、各メモリバンクに接続されている。ＭＳＲＡＭ１３は、画像作成部１２からの画像の書き込み動作、及び探索処理部１４への画像の読み出し動作を、時分割で切り替えて実行する。異なるメモリバンクには同時にアクセスすることが可能であり、メモリバンクの分割数は、これらの時分割での書き込み動作及び読み出し動作を遅滞なく実行可能な数に設定される。
【００９１】
図１８は、ＭＳＲＡＭ１３に格納される画像の第１の例を示す図である。図中太線の格納領域５１として示すように、ＭＳＲＡＭ１３には、サーチウインドウ３２及びアップデート領域３４の画像を１／４（行及び列の各方向に１／２ずつ）に縮小した輝度データが格納される。
【００９２】
図１９は、ＭＳＲＡＭ１３に格納される画像の第２の例を示す図である。ＭＳＲＡＭ１３に関しては、サーチウインドウ３２の高さは、最大値を８０行として４行単位で任意に設定可能である。従って、複数の参照画像（図１９の例では２個の参照画像３０１，３０２）が存在する場合には、その個数に応じてサーチウインドウ３２の高さを設定することにより、参照画像３０１内の格納領域５１１と、参照画像３０２内の格納領域５１２とをＭＳＲＡＭ１３に格納することができる。
【００９３】
図２０は、画像作成部１２による画像のリサイズ処理を示す図である。図２０に示すように、画像作成部１２は、画素空間内で列方向に２個かつ行方向に２個並ぶ４個の８×２パックワードをＬＳＲＡＭ１１から読み出し、これら４個の８×２パックワードに対してフィルタリング又は画素間引き等の処理を行うことにより、１／４に縮小された１個の８×２パックワードを作成する。そして、作成した８×２パックワードをＭＳＲＡＭ１３の単位記憶領域に格納する。
【００９４】
図２１は、ＭＳＲＡＭ１３における輝度データのメモリバンクへの振り分けを説明するための図である。図２１には、３２列×３２行分の画素空間に含まれる６４個の８×２パックワードを示している。図中の数字は、第０バンク４２０〜第７バンク４２７の各メモリバンクに付されるバンクインデックスを表している。アドレス生成部４３は、画素空間におけるパックワード単位でのｘ座標及びｙ座標に基づいて、各パックワードのバンクインデックスを設定する。図２１に示したように輝度データを各メモリバンクに振り分けることにより、列方向に１個かつ行方向に８個並ぶ任意の８個の単位輝度データは異なるメモリバンクに格納され、また、列方向に２個かつ行方向に４個並ぶ任意の８個の単位輝度データは異なるメモリバンクに格納される。
【００９５】
図２２は、図２１に示した輝度データを示す図である。領域Ｒ１１に含まれる８個の単位輝度データ（列方向に１個×行方向に８個）は、ＭＳＲＡＭ１３に対して同時に読み出し又は書き込みが可能である。また、領域Ｒ１２に含まれる８個の単位輝度データ（列方向に２個×行方向に４個）は、ＭＳＲＡＭ１３に対して同時に読み出し又は書き込みが可能である。
【００９６】
また、アドレス生成部４３は、画素空間におけるパックワード単位でのｘ座標及びｙ座標に基づいて、各パックワードを格納するメモリバンク内のバンクアドレスＢＡを設定する。
【００９７】
図２３は、ＭＳＲＡＭ１３におけるバンクアドレスＢＡの設定例を示す図である。図２３には、図２１と同様の６４個の８×２パックワードを示している。図中の数字はバンクアドレスＢＡを表している。この例では、列方向に１個かつ行方向に８個並ぶ８個のパックワードに対して、共通のバンクアドレスＢＡが設定されている。例えば、左上の８個のパックワードに対してＢＡ＝０が設定され、その右隣の８個のパックワードに対してＢＡ＝１が設定されている。
【００９８】
図２４〜２８は、画像作成部１２からＭＳＲＡＭ１３に書き込まれる画像データの更新ルールを説明するための図である。現在のカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の画像データが、画像作成部１２からＭＳＲＡＭ１３に書き込まれる。
【００９９】
図２４を参照して、処理開始時には、カレントマクロブロック３１は参照画像３０の左上隅に位置している。この場合、サーチウインドウ３２と参照画像３０との重複範囲（斜線を付した領域）の画像データが、画像作成部１２からＭＳＲＡＭ１３に書き込まれる。
【０１００】
図２５を参照して、カレントマクロブロック３１が参照画像３０の上辺に接している時には、参照画像３０内でサーチウインドウ３２の右辺に接している領域３４の画像データが、画像作成部１２からＭＳＲＡＭ１３に書き込まれる。
【０１０１】
図２６を参照して、サーチウインドウ３２の右辺が参照画像３０の右辺に接している時には、サーチウインドウ３２及びその下辺より１マクロブロックライン下で参照画像３０の左辺に接している領域３４の画像データが、画像作成部１２からＭＳＲＡＭ１３に書き込まれる。
【０１０２】
図２７を参照して、カレントマクロブロック３１が参照画像３０の中央部に位置している通常更新時には、サーチウインドウ３２の右辺に接している領域３４の画像データが、画像作成部１２からＭＳＲＡＭ１３に書き込まれる。
【０１０３】
図２８を参照して、カレントマクロブロック３１が参照画像３０の下辺に接している時には、参照画像３０内でサーチウインドウ３２の右辺に接している領域３４の画像データが、画像作成部１２からＭＳＲＡＭ１３に書き込まれる。
【０１０４】
図２９は、ＳＳＲＡＭ１７の構成を示す図である。ＳＳＲＡＭ１７は、複数のメモリバンクに分割されており、この例では第１セット７４に属する第０バンク７２０〜第１５バンク７２ｆと第２セット７５に属する第０バンク７３０〜第１５バンク７３ｆとの合計３２個のメモリバンクによって構成されている。第１セット７４及び第２セット７５の各々は、転送処理部１６からの画像の書き込み動作、及び探索処理部１８への画像の読み出し動作を、時分割で切り替えて実行する。異なるメモリバンクには同時にアクセスすることが可能であり、メモリバンクの分割数は、これらの時分割での書き込み動作及び読み出し動作を遅滞なく実行可能な数に設定される。
【０１０５】
第１セット７４に属する第０バンク７２０〜第１５バンク７２ｆへの画像データの書き込みと、第２セット７５に属する第０バンク７３０〜第１５バンク７３ｆからの画像データの読み出しとを、同時に行うことが可能である。同様に、第１セット７４に属する第０バンク７２０〜第１５バンク７２ｆからの画像データの読み出しと、第２セット７５に属する第０バンク７３０〜第１５バンク７３ｆへの画像データの書き込みとを、同時に行うことが可能である。第１のカレントマクロブロックを対象とする動き探索を行うために探索処理部１８が第１セット７４のメモリバンクから参照画像を読み出している期間内に、続く第２のカレントマクロブロックを対象とする動き探索で使用する参照画像が転送処理部１６から第２セット７５のメモリバンクに書き込まれる。次に、第２のカレントマクロブロックを対象とする動き探索を行うために探索処理部１８が第２セット７５のメモリバンクから参照画像を読み出している期間内に、続く第３のカレントマクロブロックを対象とする動き探索で使用する参照画像が転送処理部１６から第１セット７４のメモリバンクに書き込まれる。
【０１０６】
各メモリバンクは３２ワード分の記憶領域を有しており、前半の１６ワードは前方予測用の画像データの格納に使用され、後半の１６ワードは後方予測用の画像データの格納に使用される。また、アドレス生成部７６を有する入出力インタフェース７１が、各メモリバンクに接続されている。
【０１０７】
図３０は、ＳＳＲＡＭ１７に格納される画像の例を示す図である。ＳＳＲＡＭ１７には、参照マクロブロック８１及びその周辺の格納領域８２の輝度データが格納される。参照マクロブロック８１は、探索処理部１５による整数精度画素探索の結果として得られた動きベクトルＭＶで示されるマクロブロックである。
【０１０８】
探索処理部１５は、１６列×１６行のブロックを１個用いたマクロブロックパートモード１、１６列×８行のブロックを２個用いたマクロブロックパートモード２、８列×１６行のブロックを２個用いたマクロブロックパートモード３、及び４列×４行のブロックを４個用いたマクロブロックパートモード４のそれぞれについて動き探索を行い、その中で類似度の最も高い一つのモードの動きベクトルを探索結果として出力する。従って、探索処理部１５による探索結果にマクロブロックパートモード１の動きベクトルが含まれる場合には格納領域８２は１個となり、マクロブロックパートモード２又はマクロブロックパートモード３の動きベクトルが含まれる場合には格納領域８２は２個となり、マクロブロックパートモード４の動きベクトルが含まれる場合には格納領域８２は４個となる。
【０１０９】
また、図３０には示さないが、ＳＳＲＡＭ１７には、Ｓｋｉｐ／Ｄｉｒｅｃｔベクトル用参照画像、及び（０，０）ベクトル用参照画像が格納される。Ｓｋｉｐ／Ｄｉｒｅｃｔベクトルは、Ｈ．２６４規格で定義されているＳｋｉｐ／Ｄｉｒｅｃｔマクロブロックモードの動きベクトルの総称であり、カレントマクロブロックに隣接する複数のブロックに関する情報に基づいて生成される。また、（０，０）ベクトルは、参照画像内でカレントマクロブロックと同じ位置のマクロブロックの動きベクトルである。
【０１１０】
図３１は、転送処理部１６によるパックワード変換を示す図である。図３１に示すように、転送処理部１６は、ＬＳＲＡＭ１１からＳＳＲＡＭ１７に画素データを転送する際に、画素空間における８列×２行分の輝度データに相当する８×２パックワードを、画素空間における４列×４行分の輝度データに相当する単位輝度データ（以下「４×４パックワード」と称す）に変換する。具体的には、画素空間内で列方向に１個かつ行方向に２個並ぶ２個の８×２パックワードをＬＳＲＡＭ１１から読み出し、２個のパックワードの境界を変更することにより、画素空間内で列方向に２個かつ行方向に１個並ぶ２個の４×４パックワードに変換する。そして、作成した各４×４パックワードをＳＳＲＡＭ１７の単位記憶領域に格納する。
【０１１１】
図３２は、ＳＳＲＡＭ１７における輝度データのメモリバンクへの振り分けを説明するための図である。図３２には、６４列×６４行分に相当する画素空間に含まれる２５６個の４×４パックワードを示している。枠内の左側の数字はバンクインデックスＢＩを表しており、右側の数字はバンクアドレスＢＡを表している。
【０１１２】
１６個のメモリバンクの１６ワード分の記憶領域の集合は、バンクアドレスＢＡが「０」「１」「２」「４」「５」「６」「８」「９」「ａ」であるグループＧ１と、バンクアドレスＢＡが「３」「７」「ｂ」「ｃ」であるグループＧ２と、バンクアドレスＢＡが「ｄ」であるグループＧ３と、バンクアドレスＢＡが「ｅ」「ｆ」であるグループＧ４とに分類される。グループＧ１には、探索処理部１５による整数精度画素探索の結果に基づく小数精度画素探索用の参照画像が格納される。グループＧ２には、Ｓｋｉｐ／Ｄｉｒｅｃｔベクトル用参照画像が格納される。グループＧ３には、（０，０）ベクトル用参照画像が格納される。グループＧ４は使用されていない予備の領域である。アドレス生成部７６は、画素空間におけるパックワード単位でのｘ座標及びｙ座標に基づいて、各パックワードを格納すべきバンクインデックスＢＩ及びバンクアドレスＢＡを設定する。図３２に示したように輝度データを各メモリバンクに振り分けることにより、列方向に４個かつ行方向に４個並ぶ任意の１６個の単位輝度データは異なるメモリバンクに格納される。
【０１１３】
図３３は、図３２に示した輝度データを示す図である。グループＧ１内の領域Ｒ２１に含まれる任意の１６個の単位輝度データ（列方向に４個×行方向に４個）は、ＳＳＲＡＭ１７に対して同時に読み出し又は書き込みが可能である。同様に、グループＧ２内の領域Ｒ２２に含まれる任意の１６個の単位輝度データ、及びグループＧ３内の領域Ｒ２３に含まれる１６個の単位輝度データは、ＳＳＲＡＭ１７に対して同時に読み出し又は書き込みが可能である。
【０１１４】
図３４〜３９は、ＳＳＲＡＭ１７内における参照画像の格納領域をそれぞれ示す図である。
【０１１５】
図３４には、探索処理部１５による探索結果にマクロブロックパートモード１の動きベクトルが含まれる場合の例を示している。この場合、１６列×１６行のサイズの画像に対する１／４画素精度の画像を６タップフィルタによって作成するためには、２１列×２１行のサイズの整数精度画像が必要となる。１ワードに４列×４行分の画素データが格納されているため、列方向に６個×行方向に６個の格納領域があれば、任意の座標位置から２１列×２１行のサイズの整数精度画像を得ることができる。また、±１．０の範囲での探索を考慮して、図中太線で示す列方向に７個×行方向に７個分の格納領域に参照画像を格納する。この場合、探索処理部１８は、参照画像の格納領域に対して１３列×１３行単位での画素データの読み出しを４回行うことにより、ＳＳＲＡＭ１７から参照画像を読み出す。そして、１６列×１６行のブロックに対する動き探索を行う際に、その１６列×１６行のブロックに内在する１６列×８行、８列×１６行、及び８列×８行の各ブロックに対しても評価を行うことにより、マクロブロックパートモード１、マクロブロックパートモード２、マクロブロックパートモード３、及びマクロブロックパートモード４の各モードでの動き探索を併せて行う。
【０１１６】
図３５には、探索処理部１５による探索結果にマクロブロックパートモード２の動きベクトルが含まれる場合の例を示している。この場合、１６列×８行のサイズの画像に対する１／４画素精度の画像を６タップフィルタによって作成するためには、２１列×１３行のサイズの整数精度画像が必要となる。１ワードに４列×４行分の画素データが格納されているため、列方向に６個×行方向に４個の格納領域があれば、任意の座標位置から１６列×８行のサイズの整数精度画像を得ることができる。また、±１．０の範囲での探索を考慮して、図中太線で示す列方向に７個×行方向に５個分の２個の格納領域に参照画像をそれぞれ格納する。この場合、探索処理部１８は、参照画像の２個の格納領域の各々に対して１３列×１３行単位での画素データの読み出しを２回行うことにより、ＳＳＲＡＭ１７から参照画像を読み出す。そして、１６列×８行のブロックに対する動き探索を行う際に、その１６列×８行のブロックに内在する８列×８行の各ブロックに対しても評価を行うことにより、マクロブロックパートモード２及びマクロブロックパートモード４の各モードでの動き探索を併せて行う。
【０１１７】
図３６には、探索処理部１５による探索結果にマクロブロックパートモード３の動きベクトルが含まれる場合の例を示している。この場合、８列×１６行のサイズの画像に対する１／４画素精度の画像を６タップフィルタによって作成するためには、１３列×２１行のサイズの整数精度画像が必要となる。１ワードに４列×４行分の画素データが格納されているため、列方向に４個×行方向に６個の格納領域があれば、任意の座標位置から８列×１６行のサイズの整数精度画像を得ることができる。また、±１．０の範囲での探索を考慮して、図中太線で示す列方向に５個×行方向に７個分の２個の格納領域に参照画像をそれぞれ格納する。この場合、探索処理部１８は、参照画像の２個の格納領域の各々に対して１３列×１３行単位での画素データの読み出しを２回行うことにより、ＳＳＲＡＭ１７から参照画像を読み出す。そして、８列×１６行のブロックに対する動き探索を行う際に、その８列×１６行のブロックに内在する８列×８行の各ブロックに対しても評価を行うことにより、マクロブロックパートモード３及びマクロブロックパートモード４の各モードでの動き探索を併せて行う。
【０１１８】
図３７には、探索処理部１５による探索結果にマクロブロックパートモード４の動きベクトルが含まれる場合の例を示している。この場合、８列×８行のサイズの画像に対する１／４画素精度の画像を６タップフィルタによって作成するためには、１３列×１３行のサイズの整数精度画像が必要となる。１ワードに４列×４行分の画素データが格納されているため、列方向に４個×行方向に４個の格納領域があれば、任意の座標位置から８列×８行のサイズの整数精度画像を得ることができる。また、±１．０の範囲での探索を考慮して、図中太線で示す列方向に５個×行方向に５個分の４個の格納領域に参照画像をそれぞれ格納する。この場合、探索処理部１８は、参照画像の４個の格納領域の各々に対して１３列×１３行単位での画素データの読み出しを１回行うことにより、ＳＳＲＡＭ１７から参照画像を読み出す。そして、その８列×８行の各ブロックに対してマクロブロックパートモード４での動き探索を行う。
【０１１９】
図３８には、Ｓｋｉｐ／Ｄｉｒｅｃｔベクトル用参照画像の格納領域を示している。この場合、１６列×１６行のサイズの画像に対する１／４画素精度の画像を６タップフィルタによって作成するためには、２１列×２１行のサイズの整数精度画像が必要となる。１ワードに４列×４行分の画素データが格納されているため、列方向に６個×行方向に６個の格納領域があれば、任意の座標位置から２１列×２１行のサイズの整数精度画像を得ることができる。従って、図中太線で示す列方向に６個×行方向に６個分の格納領域に参照画像を格納する。
【０１２０】
図３９には、（０，０）ベクトル用参照画像の格納領域を示している。この場合は１／４画素精度の画像の生成は不要であるため、１６列×１６行のサイズの画像を得るためには、１６列×１６行のサイズの整数精度画像があればよい。また、任意の座標位置からの画素選択も不要であるため、図中太線で示す列方向に４個×行方向に４個分の格納領域に参照画像を格納する。
【０１２１】
このように本実施の形態に係る動き探索部４によれば、画像作成部１２は、ＬＳＲＡＭ１１から読み出した画像に基づいて粗探索用の縮小画像を作成する。また、探索処理部１４は、ＭＳＲＡＭ１３から読み出した縮小画像に基づいて縮小画素探索を行う。また、探索処理部１５は、ＬＳＲＡＭ１１から読み出した画像に基づいて整数精度画素探索を行う。ここで、ＬＳＲＡＭ１１及びＭＳＲＡＭ１３はいずれも、フレームメモリ２よりも高速にアクセス可能なメモリである。従って、画像作成部１２、探索処理部１４、及び探索処理部１５がフレームメモリ２から画像を読み出す場合と比較すると、読み出しの所要時間が短縮されるため、全体として動き探索を高速に行うことが可能となる。
【０１２２】
また、本実施の形態に係る動き探索部４によれば、転送処理部１６は、ＬＳＲＡＭ１１から読み出した画像をＳＳＲＡＭ１７に格納する。また、探索処理部１８は、ＳＳＲＡＭ１７から読み出した画像に基づいて小数精度画素探索を行う。ここで、ＳＳＲＡＭ１７は、フレームメモリ２よりも高速にアクセス可能なメモリである。従って、転送処理部１６及び探索処理部１８がフレームメモリ２から画像を読み出す場合と比較すると、読み出しの所要時間が短縮されるため、全体として動き探索を高速に行うことが可能となる。
【０１２３】
また、本実施の形態に係る動き探索部４によれば、ＬＳＲＡＭ１１の単位記憶領域には、画素空間における８列×２行分の輝度データに相当する単位輝度データ、又は画素空間における８列×４行分の色差データに相当する単位色差データが格納される。従って、ＭＳＲＡＭ１３の単位記憶領域に格納すべき８列×２行分の単位輝度データ、及びＳＳＲＡＭ１７の単位記憶領域に格納すべき４列×４行分の単位輝度データを、ＬＳＲＡＭ１１の単位記憶領域に格納されている単位輝度データに基づいて容易に作成することが可能となる。
【０１２４】
また、本実施の形態に係る動き探索部４によれば、列方向に２個かつ行方向に４個並ぶ８個の単位輝度データは、ＬＳＲＡＭ１１の異なるメモリバンクに格納される。従って、これら８個の単位輝度データを、ＬＳＲＡＭ１１に同時に書き込むことができるとともに、ＬＳＲＡＭ１１から同時に読み出すことができる。
【０１２５】
また、本実施の形態に係る動き探索部４によれば、列方向に１個かつ行方向に８個並ぶ８個の単位輝度データは、ＬＳＲＡＭ１１の異なるメモリバンクに格納される。従って、これら８個の単位輝度データを、ＬＳＲＡＭ１１に同時に書き込むことができるとともに、ＬＳＲＡＭ１１から同時に読み出すことができる。
【０１２６】
また、本実施の形態に係る動き探索部４によれば、列方向に２個かつ行方向に４個並ぶ８個の単位色差データは、ＬＳＲＡＭ１１の異なるメモリバンクに格納される。従って、これら８個の単位色差データを、ＬＳＲＡＭ１１に同時に書き込むことができるとともに、ＬＳＲＡＭ１１から同時に読み出すことができる。
【０１２７】
また、本実施の形態に係る動き探索部４によれば、列方向に１個かつ行方向に４個並ぶ４個の単位輝度データ、及び列方向に１個かつ行方向に２個並ぶ２個の単位色差データは、ＬＳＲＡＭ１１の異なるメモリバンクに格納される。従って、これら４個の単位輝度データ及び２個の単位色差データを、ＬＳＲＡＭ１１に同時に書き込むことができるとともに、ＬＳＲＡＭ１１から同時に読み出すことができる。
【０１２８】
また、本実施の形態に係る動き探索部４によれば、列方向に２個かつ行方向に２個並ぶ４個の単位輝度データ、及び列方向に２個かつ行方向に１個並ぶ２個の単位色差データは、ＬＳＲＡＭ１１の異なるメモリバンクに格納される。従って、これら４個の単位輝度データ及び２個の単位色差データを、ＬＳＲＡＭ１１に同時に書き込むことができるとともに、ＬＳＲＡＭ１１から同時に読み出すことができる。
【０１２９】
また、本実施の形態に係る動き探索部４によれば、アドレス生成部２３は、画素空間内における単位輝度データ及び単位色差データの位置座標に基づいて、ＬＳＲＡＭ１１が有する複数のメモリバンクのうち、各単位輝度データ及び各単位色差データを格納すべきメモリバンクを設定する。従って、各単位輝度データ及び各単位色差データを、適切なメモリバンクに格納することが可能となる。
【０１３０】
また、本実施の形態に係る動き探索部４によれば、アドレス生成部２３は、画素空間内における単位輝度データ及び単位色差データの位置座標に基づいて、各単位輝度データ及び各単位色差データを格納するメモリバンク内のアドレスを設定する。従って、各単位輝度データ及び各単位色差データを、メモリバンク内の適切なアドレスに格納することが可能となる。
【０１３１】
また、本実施の形態に係る動き探索部４によれば、ＬＳＲＡＭ１１に対するデータの読み出し及び書き込みは、時分割で行われる。従って、シングルポートのＲＡＭを用いてＬＳＲＡＭ１１を構成できるため、回路規模を削減することが可能となる。
【０１３２】
また、本実施の形態に係る動き探索部４によれば、行方向に関するサーチウインドウ３２のサイズを所定の行数単位で設定することにより、ＬＳＲＡＭ１１内に一又は複数の参照画像を格納可能である。従って、一の参照画像を用いた動き探索のみならず、複数の参照画像を用いた動き探索を行うことが可能となる。
【０１３３】
また、本実施の形態に係る動き探索部４によれば、あるカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の輝度データ及び色差データが、ＬＳＲＡＭ１１に書き込まれる。従って、あるカレントマクロブロックを対象とする動き探索が完了した後に、次のカレントマクロブロックを対象とする処理を、滞りなく開始することが可能となる。
【０１３４】
また、本実施の形態に係る動き探索部４によれば、画像作成部１２は、ＬＳＲＡＭ１１内において列方向に２個かつ行方向に２個並ぶ４個の単位輝度データに基づいて、画素空間における８列×２行分の１個の単位輝度データを作成する。従って、ＬＳＲＡＭ１１に格納されている画像を１／４に縮小した縮小画像を、簡易に作成することが可能となる。
【０１３５】
また、本実施の形態に係る動き探索部４によれば、列方向に２個かつ行方向に４個並ぶ８個の単位輝度データは、ＭＳＲＡＭ１３の異なるメモリバンクに格納される。従って、これら８個の単位輝度データを、ＭＳＲＡＭ１３に同時に書き込むことができるとともに、ＭＳＲＡＭ１３から同時に読み出すことができる。
【０１３６】
また、本実施の形態様に係る動き探索部４によれば、列方向に１個かつ行方向に８個並ぶ８個の単位輝度データは、ＭＳＲＡＭ１３の異なるメモリバンクに格納される。従って、これら８個の単位輝度データを、ＭＳＲＡＭ１３に同時に書き込むことができるとともに、ＭＳＲＡＭ１３から同時に読み出すことができる。
【０１３７】
また、本実施の形態に係る動き探索部４によれば、アドレス生成部４３は、画素空間内における単位輝度データの位置座標に基づいて、ＭＳＲＡＭ１３が有する複数のメモリバンクのうち、各単位輝度データを格納すべきメモリバンクを設定する。従って、各単位輝度データを、適切なメモリバンクに格納することが可能となる。
【０１３８】
また、本実施の形態に係る動き探索部４によれば、アドレス生成部４３は、画素空間内における単位輝度データの位置座標に基づいて、各単位輝度データを格納するメモリバンク内のアドレスを設定する。従って、各単位輝度データを、メモリバンク内の適切なアドレスに格納することが可能となる。
【０１３９】
また、本実施の形態に係る動き探索部４によれば、ＭＳＲＡＭ１３に対するデータの読み出し及び書き込みは、時分割で行われる。従って、シングルポートのＲＡＭを用いてＭＳＲＡＭ１３を構成できるため、回路規模を削減することが可能となる。
【０１４０】
また、本実施の形態に係る動き探索部４によれば、行方向に関するサーチウインドウ３２のサイズを所定の行数単位で設定することにより、ＭＳＲＡＭ１３内に一又は複数の参照画像を格納可能である。従って、一の参照画像を用いた動き探索のみならず、複数の参照画像を用いた動き探索を行うことが可能となる。
【０１４１】
また、本実施の形態に係る動き探索部４によれば、あるカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の輝度データが、ＭＳＲＡＭ１３に書き込まれる。従って、あるカレントマクロブロックを対象とする動き探索が完了した後に、次のカレントマクロブロックを対象とする処理を、滞りなく開始することが可能となる。
【０１４２】
また、本実施の形態に係る動き探索部４によれば、転送処理部１６は、ＬＳＲＡＭ１１内において列方向に１個かつ行方向に２個並ぶ８列×２行分の２個の単位輝度データに基づいて、画素空間における４列×４行分の２個の単位輝度データを生成する。従って、８列×２行分の単位輝度データから４列×４行分の単位輝度データへの変換を簡易に行うことが可能となる。
【０１４３】
また、本実施の形態に係る動き探索部４によれば、列方向に４個かつ行方向に４個並ぶ１６個の単位輝度データは、ＳＳＲＡＭ１７の異なるメモリバンクに格納される。従って、これら１６個の単位輝度データを、ＳＳＲＡＭ１７に同時に書き込むことができるとともに、ＳＳＲＡＭ１７から同時に読み出すことができる。
【０１４４】
また、本実施の形態に係る動き探索部４によれば、アドレス生成部７６は、画素空間内における単位輝度データの位置座標に基づいて、ＳＳＲＡＭ１７が有する複数のメモリバンクのうち、各単位輝度データを格納すべきメモリバンクを設定する。従って、各単位輝度データを、適切なメモリバンクに格納することが可能となる。
【０１４５】
また、本実施の形態に係る動き探索部４によれば、アドレス生成部７６は、画素空間内における単位輝度データの位置座標に基づいて、各単位輝度データを格納するメモリバンク内のアドレスを設定する。従って、各単位輝度データを、メモリバンク内の適切なアドレスに格納することが可能となる。
【０１４６】
また、本実施の形態に係る動き探索部４によれば、ＳＳＲＡＭ１７が有する第１セット７４及び第２セット７５の各々に対するデータの読み出し及び書き込みは、時分割で行われる。従って、シングルポートのＲＡＭを用いてＳＳＲＡＭ１７を構成できるため、回路規模を削減することが可能となる。
【０１４７】
また、本実施の形態に係る動き探索部４によれば、あるカレントマクロブロックを対象とする動き探索を行うために第１セット７４及び第２セット７５の一方からデータの読み出しが行われている期間内に、次のカレントマクロブロックを対象とする動き探索を行うために必要となるデータが、第１セット７４及び第２セット７５の他方に書き込まれる。従って、あるカレントマクロブロックを対象とする動き探索が完了した後に、次のカレントマクロブロックを対象とする処理を、滞りなく開始することが可能となる。
【０１４８】
また、本実施の形態に係る動き探索部４によれば、探索処理部１５による探索結果に含まれるマクロブロックパートモードに応じて、所定数の単位輝度データがＳＳＲＡＭ１７に格納される。従って、マクロブロックパートモードに応じて、探索処理部１８による動き探索を適切に行うことが可能となる。
【０１４９】
また、本実施の形態に係る動き探索部４によれば、ＳＳＲＡＭ１７には、Ｓｋｉｐ／Ｄｉｒｅｃｔベクトル用参照画像、及び（０，０）ベクトル用参照画像がさらに格納される。従って、探索処理部１８による動き探索の精度を向上することが可能となる。
【符号の説明】
【０１５０】
１  エンコーダ
２  フレームメモリ
４  動き探索部
１１  ＬＳＲＡＭ
１２  画像作成部
１３  ＭＳＲＡＭ
１４，１５，１８  探索処理部
１６  転送処理部
１７  ＳＳＲＡＭ
２３，４３，７６  アドレス生成部
７４  第１セット
７５  第２セット
【図１】
0005917907.tif 000002
【図２】
0005917907.tif 000003
【図３】
0005917907.tif 000004
【図４】
0005917907.tif 000005
【図５】
0005917907.tif 000006
【図６】
0005917907.tif 000007
【図７】
0005917907.tif 000008
【図８】
0005917907.tif 000009
【図９】
0005917907.tif 000010
【図１０】
0005917907.tif 000011
【図１１】
0005917907.tif 000012
【図１２】
0005917907.tif 000013
【図１３】
0005917907.tif 000014
【図１４】
0005917907.tif 000015
【図１５】
0005917907.tif 000016
【図１６】
0005917907.tif 000017
【図１７】
0005917907.tif 000018
【図１８】
0005917907.tif 000019
【図１９】
0005917907.tif 000020
【図２０】
0005917907.tif 000021
【図２１】
0005917907.tif 000022
【図２２】
0005917907.tif 000023
【図２３】
0005917907.tif 000024
【図２４】
0005917907.tif 000025
【図２５】
0005917907.tif 000026
【図２６】
0005917907.tif 000027
【図２７】
0005917907.tif 000028
【図２８】
0005917907.tif 000029
【図２９】
0005917907.tif 000030
【図３０】
0005917907.tif 000031
【図３１】
0005917907.tif 000032
【図３２】
0005917907.tif 000033
【図３３】
0005917907.tif 000034
【図３４】
0005917907.tif 000035
【図３５】
0005917907.tif 000036
【図３６】
0005917907.tif 000037
【図３７】
0005917907.tif 000038
【図３８】
0005917907.tif 000039
【図３９】
0005917907.tif 000040