(57)【特許請求の範囲】
【請求項１】
複数画素から成る画素ブロックを、該画素ブロックの左側に隣接する左画素ブロックに対する画像処理において参照される該画素ブロック内の画素を含む第１の部分画素ブロック、前記画素ブロックの右側に隣接する右画素ブロックに対する画像処理において参照される該画素ブロック内の画素を含む第２の部分画素ブロック、前記画素ブロックから前記第１の部分画素ブロック及び第２の部分画素ブロックを省いた残りの部分画素ブロックである第３の部分画素ブロック、の３つの部分画素ブロックに分割する手段と、
前記第１の部分画素ブロック、前記第２の部分画素ブロック、前記第３の部分画素ブロック、のそれぞれを個別に符号化して第１の符号化部分画素ブロック、第２の符号化部分画素ブロック、第３の符号化部分画素ブロックを生成してメモリに格納する符号化手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記符号化手段は、前記第１の部分画素ブロック、前記第２の部分画素ブロック、前記第３の部分画素ブロック、のそれぞれに対して個別に可変長符号化を行うことで前記第１の符号化部分画素ブロック、前記第２の符号化部分画素ブロック、前記第３の符号化部分画素ブロックを生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
更に、
着目画素ブロックの前記第１の符号化部分画素ブロック、前記第２の符号化部分画素ブロック、前記第３の符号化部分画素ブロック、を伸張する第１の伸張手段と、
前記着目画素ブロックの左側に隣接する画素ブロックの前記第２の符号化部分画素ブロックを前記メモリから読み出して伸張する第２の伸張手段と、
前記着目画素ブロックの右側に隣接する画素ブロックの前記第１の符号化部分画素ブロックを前記メモリから読み出して伸張する第３の伸張手段と、
前記第１の伸張手段による伸張で得られる前記着目画素ブロックに対する画像処理を、前記第２の伸張手段により伸張された前記第２の部分画素ブロック、前記第３の伸張手段により伸張された前記第１の部分画素ブロック、を用いて行う画像処理手段と
を備えることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記画像処理は、ＪＰＥＧ符号化の処理であることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
更に、
前記メモリにおける前記第１の符号化部分画素ブロックの先頭アドレス及びデータサイズ、前記メモリにおける前記第２の符号化部分画素ブロックの先頭アドレス及びデータサイズ、前記メモリにおける前記第３の符号化部分画素ブロックの先頭アドレス及びデータサイズ、を前記画素ブロックに対するアドレス情報として前記メモリに格納する格納手段を備えることを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の分割手段が、複数画素から成る画素ブロックを、該画素ブロックの左側に隣接する左画素ブロックに対する画像処理において参照される該画素ブロック内の画素を含む第１の部分画素ブロック、前記画素ブロックの右側に隣接する右画素ブロックに対する画像処理において参照される該画素ブロック内の画素を含む第２の部分画素ブロック、前記画素ブロックから前記第１及び第２の部分画素ブロックを省いた残りの部分画素ブロックである第３の部分画素ブロック、の３つの部分画素ブロックに分割する工程と、
前記画像処理装置の符号化手段が、前記第１の部分画素ブロック、前記第２の部分画素ブロック、前記第３の部分画素ブロック、のそれぞれを個別に符号化して第１の符号化部分画素ブロック、第２の符号化部分画素ブロック、第３の符号化部分画素ブロックを生成してメモリに格納する符号化工程と
を備えることを特徴とする画像処理方法。
【請求項７】
コンピュータを、請求項１乃至５の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を符号化して格納するための技術に関するものである。
【背景技術】
【０００２】
一般的な動画像処理装置では、１フレーム分の画像をメモリに格納した後、この画像をライン方向に走査しながら読み出し、画像処理モジュールに送信する。画像処理モジュールは１ライン単位や数ライン単位でピクセル処理およびフィルタ処理を行い、再度フレームバッファに書き込み出力する。
【０００３】
近年の4K2Kや8K4Kといった画像の高解像度化に伴い、従来のライン処理では画像処理時に必要なラインバッファ容量やメモリ帯域が大きくなりうる。そのため、メモリコストが高くなるという問題が生じていた。メモリコスト削減のため、画像のメモリへの書き込み、読み出しの際に、リアルタイムで画素を圧縮伸張するアーキテクチャが提案されている。
【０００４】
特許文献１では、画像を複数の矩形ブロックに分割し、矩形ブロック単位で圧縮し、圧縮された矩形ブロックを圧縮メモリの一定サイズの所定のアドレスに格納することが開示されている。圧縮アルゴリズムとしてはJPEG等の可変長変換アルゴリズムを用いている。圧縮データの書き込み時にメモリ配置アドレステーブルを設定し、圧縮データの読み出しに使用する。上記のような構成では、矩形ブロック単位で圧縮を施すため、画像処理を行う場合、圧縮された矩形ブロックを伸張した後に得られる矩形ブロックを処理する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１２９４７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
矩形ブロック単位でフィルタ処理等の画像処理を行う場合、分割境界付近の画素である境界画素の周辺の画素は、この境界画素が属する矩形ブロック内に存在しないことがあり、その結果、このような境界画素については周辺画素を参照した画像処理ができない。この場合、境界画素を複製するなどして処理することも可能であるが、分割境界の画質が悪化するため、隣接する矩形ブロックから周辺画素にあたる画素を参照することが望ましい。隣接する矩形ブロック内の画素を参照するには、処理対象の矩形ブロックと隣接する全ての矩形ブロックを読み出す必要がある。
【０００７】
特許文献１のように、矩形ブロックを所定の画素数で構成する場合、矩形ブロックの大きさが参照画素数よりも大きい場合は、不要な画素を読み出す割合が多くなるため、メモリ帯域を有効利用できないという問題がある。また、不要な画素の読み出し量を減らすため、矩形ブロックの大きさを参照画素と同等にする場合には、圧縮データの配置アドレス情報等、付加情報の増加により、メモリ帯域が圧迫されるという問題がある。
【０００８】
また、JPEG等では、一般的に圧縮単位が大きいほど、効率的に圧縮可能である。そのため、矩形ブロックを小さく設定するとメモリ帯域の削減効果が少なくなる。また、画像処理回路において、参照画素を必要とするフィルタ処理回路がフレームメモリを挟んで、前段、後段と分割されている構成を想定する。この場合、前段よりも後段の参照画素数が少ない場合、矩形ブロックの大きさを最初の参照画素数に合わせて作成すると、後段では、必要のない画素の読み出しが増加する。また、矩形ブロックの大きさを後段に合わせて作成すると、前段と後段とで、読み出す矩形ブロックの数を変更しなければならないため、処理が複雑になる。
【０００９】
本発明は以上の問題に鑑みてなされたものであり、隣接画素ブロック中の画素を用いるような画像処理を行うような場合であっても、画素ブロック群を格納するメモリに対するアクセスをより軽減させるための技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。即ち、複数画素から成る画素ブロックを、該画素ブロックの左側に隣接する左画素ブロックに対する画像処理において参照される該画素ブロック内の画素を含む第１の部分画素ブロック、前記画素ブロックの右側に隣接する右画素ブロックに対する画像処理において参照される該画素ブロック内の画素を含む第２の部分画素ブロック、前記画素ブロックから前記第１の部分画素ブロック及び第２の部分画素ブロックを省いた残りの部分画素ブロックである第３の部分画素ブロック、の３つの部分画素ブロックに分割する手段と、
前記第１の部分画素ブロック、前記第２の部分画素ブロック、前記第３の部分画素ブロック、のそれぞれを個別に符号化して第１の符号化部分画素ブロック、第２の符号化部分画素ブロック、第３の符号化部分画素ブロックを生成してメモリに格納する符号化手段と
を備えることを特徴とする。
【発明の効果】
【００１１】
本発明の構成により、隣接画素ブロック中の画素を用いるような画像処理を行うような場合であっても、画素ブロック群を格納するメモリに対するアクセスをより軽減させることができる。
【図面の簡単な説明】
【００１２】
【図１】メモリ３０４上におけるマップを示す図。
【図２】縦分割画像、画素ブロック、共有領域、非共有領域、符号化単位を示す図。
【図３】画像処理装置の機能構成例を示すブロック図。
【図４】画像処理装置が行う処理のフローチャート。
【図５】画像処理装置の機能構成例を示すブロック図。
【図６】画像処理装置が行う処理のフローチャート。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１４】
［第１の実施形態］
本実施形態では、１枚の画像を縦方向に分割して複数個の縦分割画像を生成する。もちろん、縦分割画像を生成するための分割数は２以上である。図２（ｃ）ではその一例として、１枚の画像２２０をＢ０，Ｂ１，Ｂ３の３つの縦分割画像に分割している。
【００１５】
そして、それぞれの縦分割画像を符号化（圧縮）するために、それぞれの縦分割画像を更に、複数画素から成る画素ブロック（画像ブロック）毎に分割する。そしてこの縦分割画像毎に画像処理を施すのであるが、１つの縦分割画像に対して画像処理を行う場合、この縦分割画像内の画素をラスタスキャン順で参照しながら画像処理を進める。即ち、図２（ｃ）の場合、最初は縦分割画像Ｂ０の１ライン目を処理し、次に縦分割画像Ｂ０の２ライン目を処理する。このようにして縦分割画像Ｂ０の全てのラインを処理すると、次に、縦分割画像Ｂ１の１ライン目を処理する。ただし、着目縦分割画像の左右端に位置する画素に対する画像処理では、着目縦分割画像の左右に隣接する縦分割画像内の画素を参照する必要がある。そのため、この左右に隣接する縦分割画像において着目縦分割画像との境界付近は、着目縦分割画像との共有領域となる。即ち、図２（ｂ）に示す如く、縦分割画像Ｂ０中の画素群のうち縦分割画像Ｂ１との境界付近２２１に位置する画素に対して画像処理を行う場合、縦分割画像Ｂ１中の画素群のうち縦分割画像Ｂ０との境界付近２２９に位置する画素を参照する必要がある。同様に、縦分割画像Ｂ１中の画素群のうち縦分割画像Ｂ０との境界付近２２９に位置する画素に対して画像処理を行う場合、縦分割画像Ｂ０中の画素群のうち縦分割画像Ｂ１との境界付近２２１に位置する画素を参照する必要がある。そこで、境界付近２２１及び境界付近２２９は、縦分割画像Ｂ０と縦分割画像Ｂ１との共有領域となる。また、縦分割画像Ｂ３中の画素群のうち縦分割画像Ｂ１との境界付近２２２に位置する画素に対して画像処理を行う場合、縦分割画像Ｂ１中の画素群のうち縦分割画像Ｂ３との境界付近２２８に位置する画素を参照する必要がある。同様に、縦分割画像Ｂ１中の画素群のうち縦分割画像Ｂ３との境界付近２２８に位置する画素に対して画像処理を行う場合、縦分割画像Ｂ３中の画素群のうち縦分割画像Ｂ１との境界付近２２２に位置する画素を参照する必要がある。そこで、境界付近２２２及び境界付近２２８は、縦分割画像Ｂ０と縦分割画像Ｂ３との共有領域となる。
【００１６】
以上ことから、例えば、縦分割画像Ｂ１に対して画像処理を行う場合、縦分割画像Ｂ０内の画素だけでなく、共有領域２２１，２２２内の画素も必要となる。然るに、縦分割画像Ｂ１に対して画像処理を行う場合には、縦分割画像Ｂ１内の画素に加え、共有領域２２１，２２２内の画素も読み出す。この共有領域は、画像の端部の縦分割画像には右か左に１つ存在し、それ以外の縦分割画像には左右１つずつ存在する。
【００１７】
画素ブロック毎の詳細な構成を図２（ａ）に示す。画素ブロック２０２は、縦分割画像２００を画素ブロック毎に分割した場合の１つの画素ブロックである。画素ブロック２０２は、画素ブロック２０１との共有領域ＬＢ１０（左共有領域）、画素ブロック２０３との共有領域ＲＢ１０（右共有領域）、どの画素ブロックからも参照されない画素群の領域Ｂ１０（非共有領域）から成る。画素ブロック２０１は、縦分割画像を画素ブロック毎に分割した場合の１つの画素ブロックであり、画素ブロック２０２との共有領域ＲＢ００、左端領域ＬＢ００、どの画素ブロックからも参照されない画素群の領域Ｂ００から成る。画素ブロック２０３は、縦分割画像を画素ブロック毎に分割した場合の１つの画素ブロックであり、画素ブロック２０２との共有領域ＬＢ２０、右隣の画素ブロックとの共有領域ＲＢ２０、どの画素ブロックからも参照されない画素群の領域Ｂ２０から成る。
【００１８】
共有領域ＲＢ００は、領域ＬＢ１０内の画素に対する画像処理を行う際に参照される画素が属する領域であり、共有領域ＬＢ１０は、領域ＲＢ００内の画素に対する画像処理を行う際に参照される画素が属する領域である。また、共有領域ＲＢ１０は、領域ＬＢ２０内の画素に対する画像処理を行う際に参照される画素が属する領域であり、共有領域ＬＢ２０は、領域ＲＢ１０内の画素に対する画像処理を行う際に参照される画素が属する領域である。このように、それぞれの画素ブロックは、画像上で隣接する画素ブロックとの間で共有領域を有している。画素ブロックのＸ方向（同図横方向）の幅は、画像処理を行う対象の画素数とする。例えば、画素ブロック２０２のＸ方向の幅は、共有領域ＬＢ１０の幅２０４と非共有領域Ｂ１０の幅２０５と共有領域ＲＢ１０の幅２０６の和である。Ｙ方向の幅は、符号化単位に従ったもので、例えば、ＪＰＥＧ符号化を行う場合、符号化単位は８画素×８ラインであるので、８ラインとしても良いし、図２（ｂ）に示す如く、符号化単位２１０のライン数のＮ倍でもよい。
【００１９】
本実施形態では１つの画素ブロックを符号化する際に、この画素ブロックにおける左共有領域、右共有領域、非共有領域、のそれぞれを別個に符号化してメモリ上で管理するが、その際、それぞれの符号化データのメモリ上におけるアドレス情報を作成する。それぞれの画素ブロックの符号化データをメモリ上に格納した場合における、このメモリ上のマップを図１（ａ）に示す。
【００２０】
それぞれの画素ブロックの符号化データ（Ｂｌｏｃｋ００、１０、２０、０１、１１、２１）は、左共有領域の符号化データＬＤ、非共有領域の符号化データＤ、右共有領域の符号化データＲＤ、から構成されている。このように、左共有領域の符号化データＬＤ、非共有領域の符号化データＤ、右共有領域の符号化データＲＤが、メモリ上の連続したメモリ領域に格納されており、これらの符号化データＬＤ、Ｄ、ＲＤが１つの画素ブロックの符号化データを構成している。なお、これらの符号化データＬＤ、Ｄ、ＲＤ、をまとめて１つの画素ブロックの符号化データとして管理することができるのであれば、それぞれの画素ブロックの符号化データのメモリ上における並び順は特に限定するものではない。なお、本実施形態では、画素ブロックはＪＰＥＧ符号化方式に従って可変長符号化するため、画素ブロック毎に可変長の符号化データとなる。
【００２１】
次に、上記メモリ上におけるそれぞれの符号化データを特定する為のアドレステーブルの構成例を図１（ｂ）に示す。Ａｄｄｒｅｓｓ００は、画素ブロック００の符号化データＢｌｏｃｋ００に対応するアドレス情報であり、Ａｄｄｒｅｓｓ１０は、画素ブロック１０の符号化データＢｌｏｃｋ１０に対応するアドレス情報である。このように、メモリ上には、画素ブロックの符号化データ毎のアドレス情報から成るアドレステーブルが格納されている。１つの画素ブロックの符号化データに対するアドレス情報には、画素ブロックの符号化データ、左共有領域の符号化データ、右共有領域の符号化データ、左共有領域の符号化データ、のそれぞれについてメモリ上の開始アドレスとデータサイズとが記されている。
【００２２】
例えば、Ａｄｄｒｅｓｓ００中のＢＡは、画素ブロック００の符号化データＢｌｏｃｋ００のメモリ上における先頭アドレス、ＢＳは、画素ブロック００の符号化データＢｌｏｃｋ００のデータサイズを示す。ＬＡは、画素ブロック００の左共有領域の符号化データＬＤのメモリ上における先頭アドレスであり、ＬＳは、画素ブロック００の左共有領域の符号化データＬＤのデータサイズである。ＲＡは、画素ブロック００の右共有領域の符号化データＲＤのメモリ上における先頭アドレスであり、ＲＳは、画素ブロック００の右共有領域の符号化データＲＤのデータサイズである。
【００２３】
なお、アドレステーブルのデータサイズを削減するために、先頭アドレスＢＡと先頭アドレスＬＡとは一致するため、一方は削除しても良い。また、それぞれの先頭アドレスは、先頭アドレスＬＡや先頭アドレスＢＡからのオフセットアドレスで表現しても良い。このように、アドレステーブルの構成例については特に限定するものではない。本実施形態では、各アドレス情報は固定長とし、メモリ上の固定領域に順次配置するものとする。各アドレス情報の配置位置が常に固定である場合には、アドレス情報は圧縮されていてもよいし、連続に配置されなくてもよい。
【００２４】
本実施形態に係る画像処理装置の機能構成例を示す図３のブロック図、本実施形態に係る画像処理装置が行う処理のフローチャートを示す図４を用いて、本実施形態に係る画像処理装置、及びこの画像処理装置が行う画像処理方法について説明する。
【００２５】
入力部３００には、静止画像や、動画像を構成する各フレームの画像が入力される。入力部３００は入力された画像（静止画像若しくは１フレーム分の画像）を上記のようにいくつかの縦分割画像に分割し、分割した縦分割画像を順次で後段のブロック変換部３０１に送出する。ステップＳ４００以降の処理は、１つの縦分割画像に対する処理であるため、図４（ａ）のフローチャートに従った処理は、縦分割画像毎に行うことになる。
【００２６】
ステップＳ４００においてブロック変換部３０１は、入力部３００からライン毎のラインデータが入力されると、これを自身が管理するラインバッファに格納する。そしてブロック変換部３０１は、規定ライン数分のラインデータがラインバッファに格納されると、規定ライン数分のラインデータを圧縮器３０２による符号化単位毎に分割し、分割したそれぞれの符号化単位のデータを順次圧縮器３０２に送出する。本実施形態では、圧縮器３０２はＪＰＥＧエンコーダであるものとして説明するため、圧縮器３０２は、８画素×８ライン単位で符号化を行う。然るにブロック変換部３０１は、８ライン分のラインデータがラインバッファに格納されたことを検知すると、この８ライン分のラインデータを８画素×８ラインの画素ブロック毎に分割し、分割したそれぞれの画素ブロックを順次圧縮器３０２に送出する。
【００２７】
その際、ブロック変換部３０１は、送出する画素ブロック内のそれぞれの画素に対してフラグ値を設定する。このフラグ値は、「左共有領域に属する画素」、「非共有領域に属する画素」、「右共有領域に属する画素」、の何れかを示す値をとる。ブロック変換部３０１は、画素ブロック内の画素を送出する毎にカウントすることで、送出した画素の画素ブロック内における位置を特定し、送出した画素が画素ブロック内で非共有領域、左共有領域、右共有領域の何れに属しているのかを判断する。そして、送出した画素が左共有領域に属する画素であれば、この画素に対しては「左共有領域に属する画素」を示すフラグ値「０」を設定する。また、送出した画素が非共有領域に属する画素であれば、この画素に対しては「非共有領域に属する画素」を示すフラグ値「１」を設定する。また、送出した画素が右共有領域に属する画素であれば、この画素に対しては「右共有領域に属する画素」を示すフラグ値「２」を設定する。そしてブロック変換部３０１は、送出した画素と関連付けて、この画素に対するフラグ値を圧縮器３０２に送出する。
【００２８】
これにより圧縮器３０２は、画素ブロック内のそれぞれの画素のフラグ値を参照すれば、画素ブロック内の各画素が左共有領域に属しているのか、非共有領域に属しているのか、右共有領域に属しているのかを判別することができる。即ち、このフラグ値は画素ブロックを、画素ブロックの左端の縦ラインを含む第１の矩形画素ブロック、右端の縦ラインを含む第２の矩形画素ブロック、第１及び第２の矩形画素ブロックを省いた残りの第３の矩形画素ブロック、の３つに分割することになる。
【００２９】
圧縮器３０２に対する入力はライン方向であるので、通常、画素ブロックは、左共有領域、非共有領域、右共有領域、の順に必要な画素がそろう。然るにステップＳ４０１で圧縮器３０２は、画素毎のフラグ値を参照し、左共有領域に属する画素から成る第１の矩形画素ブロックを構成し、この第１の矩形画素ブロックを１ＭＣＵとしてＪＰＥＧ符号化を行うことで第１の符号化矩形画素ブロックを生成する。そして圧縮器３０２は、この生成した第１の符号化矩形画素ブロックを後段のＷＤＭＡＣ３０３に対して送出する。
【００３０】
次にステップＳ４０２で圧縮器３０２は、画素毎のフラグ値を参照して、非共有領域に属する画素から成る第３の矩形画素ブロックを構成し、この第３の矩形画素ブロックを１ＭＣＵとしてＪＰＥＧ符号化を行うことで第３の符号化矩形画素ブロックを生成する。そして圧縮器３０２は、この生成した第３の符号化矩形画素ブロックを後段のＷＤＭＡＣ３０３に対して送出する。
【００３１】
次にステップＳ４０３で圧縮器３０２は、画素毎のフラグ値を参照して、右共有領域に属する画素から成る第２の矩形画素ブロックを構成し、この第２の矩形画素ブロックを１ＭＣＵとしてＪＰＥＧ符号化を行うことで第２の符号化矩形画素ブロックを生成する。そして圧縮器３０２は、この生成した第２の符号化矩形画素ブロックを後段のＷＤＭＡＣ３０３に対して送出する。
【００３２】
ステップＳ４０４でＷＤＭＡＣ３０３は、１画素ブロック分の符号化データ、即ち、ステップＳ４０１〜Ｓ４０３の各ステップで送出された第１〜３の符号化矩形画素ブロック、を受けると、それぞれの符号化矩形画素ブロックをメモリ３０４に格納する。メモリ３０４上における１画素ブロック分の符号化データの配置例については図１（ａ）を用いて上述したとおりである。また、画素ブロック２０１、２０２、２０３のそれぞれを符号化して符号化データＢｌｏｃｋ００、１０、２０、を生成した場合、図１（ａ）に示す如く、それぞれの符号化データをメモリ３０４上に並べて格納する。このように、書き込まれる画素ブロックは、ライン走査方向順に連続して格納する。
【００３３】
ステップＳ４０４では更にＷＤＭＡＣ３０３は、各符号化矩形画素ブロックのデータサイズ（バイト数）、及び各符号化矩形画素ブロックのメモリ３０４上における先頭アドレスを求め、アドレス情報を生成する。これにより、１つの画素ブロック分の符号化データに対するアドレス情報を生成することができる。
【００３４】
ステップＳ４０５ではＷＤＭＡＣ３０３は、ステップＳ４０４で生成したアドレス情報をメモリ３０４に格納する。１画素ブロック分の符号化データに対するアドレス情報のメモリ３０４上における配置例については図１（ｂ）を用いて上述したとおりである。また、画素ブロック２０１、２０２、２０３のそれぞれに対応するアドレス情報がＡｄｄｒｅｓｓ００、１０、２０である場合、図１（ｂ）に示す如く、それぞれのアドレス情報をそれぞれの符号化データをメモリ３０４上に並べて格納する。このように、書き込まれるアドレス情報はライン走査方向順に連続で格納する。
【００３５】
そして、縦分割画像を構成する全ての画素ブロックについてステップＳ４００〜Ｓ４０５の処理が行われたのであれば、図４（ａ）のフローチャートに従った処理は終了する。一方、まだステップＳ４００〜Ｓ４０５の処理を行っていない画素ブロックが残っていれば、この画素ブロックについてステップＳ４００以降の処理を行う。
【００３６】
ＲＤＭＡＣ３０５は、メモリ３０４に２以上の画素ブロックの符号化データが格納されると動作する。ステップＳ４１０でＲＤＭＡＣ３０５は、メモリ３０４中のアドレステーブルから、着目画素ブロックのアドレス情報、着目画素ブロックの左に隣接する画素ブロックのアドレス情報、着目画素ブロックの右に隣接する画素ブロックのアドレス情報、を読み出す。例えば、アドレステーブルが図１（ｂ）に示すものであり、着目画素ブロックが画素ブロック００であるとする。この場合、Ａｄｄｒｅｓｓ００、Ａｄｄｒｅｓｓ１０、Ａｄｄｒｅｓｓ２０、をこのメモリ３０４から読み出す。
【００３７】
ステップＳ４１１でＲＤＭＡＣ３０５は、着目画素ブロックの左に隣接する画素ブロックのアドレス情報から、先頭アドレスＲＡ及びデータサイズＲＳを読み出す。そしてＲＤＭＡＣ３０５は、メモリ３０４においてこの先頭アドレスＲＡからデータサイズＲＳ分の領域内のデータを、着目画素ブロックの左に隣接する画素ブロックの右共有領域の符号化データＲＤとして読み出す。図２（ａ）の例では、着目画素ブロックが画素ブロック２０２の場合、画素ブロック２０１のアドレス情報Ａｄｄｒｅｓｓ００中の先頭アドレスＲＡ及びデータサイズＲＳを読み出す。そして、メモリ３０４においてこの先頭アドレスＲＡからデータサイズＲＳ分の領域内のデータを、着目画素ブロックの左に隣接する画素ブロックの右共有領域の符号化データＲＤとして読み出す。そしてＲＤＭＡＣ３０５は、この読み出した符号化データＲＤを伸張器３０６に対して送出する。
【００３８】
ステップＳ４１２でＲＤＭＡＣ３０５は、着目画素ブロックのアドレス情報から、先頭アドレスＢＡ及びデータサイズＢＳを読み出す。そしてＲＤＭＡＣ３０５は、メモリ３０４においてこの先頭アドレスＢＡからデータサイズＢＳ分の領域内のデータを、着目画素ブロックの符号化データとして読み出す。図２（ａ）の例では、着目画素ブロックが画素ブロック２０２の場合、画素ブロック２０２のアドレス情報Ａｄｄｒｅｓｓ１０中の先頭アドレスＢＡ及びデータサイズＢＳを読み出す。そして、メモリ３０４においてこの先頭アドレスＢＡからデータサイズＢＳ分の領域内のデータを、画素ブロック２０２の符号化データＢｌｏｃｋ１０として読み出す。そしてＲＤＭＡＣ３０５は、この読み出した符号化データを伸張器３０６に対して送出する。
【００３９】
ステップＳ４１３でＲＤＭＡＣ３０５は、着目画素ブロックの右に隣接する画素ブロックのアドレス情報から、先頭アドレスＬＡ及びデータサイズＬＳを読み出す。そしてＲＤＭＡＣ３０５は、メモリ３０４においてこの先頭アドレスＬＡからデータサイズＬＳ分の領域内のデータを、着目画素ブロックの右に隣接する画素ブロックの左共有領域の符号化データＬＤとして読み出す。図２（ａ）の例では、着目画素ブロックが画素ブロック２０２の場合、画素ブロック２０３のアドレス情報Ａｄｄｒｅｓｓ２０中の先頭アドレスＬＡ及びデータサイズＬＳを読み出す。そして、メモリ３０４においてこの先頭アドレスＬＡからデータサイズＬＳ分の領域内のデータを、着目画素ブロックの右に隣接する画素ブロックの左共有領域の符号化データＬＤとして読み出す。そしてＲＤＭＡＣ３０５は、この読み出した符号化データＲＤを伸張器３０６に対して送出する。
【００４０】
ステップＳ４１４で伸張器３０６は、ステップＳ４１１〜Ｓ４１３でＲＤＭＡＣ３０５から送出されたそれぞれの符号化データを伸張してラインデータを生成する。即ち、着目画素ブロックの左に隣接する画素ブロックの右共有領域の符号化データを伸張（第２の伸張）して、着目画素ブロックの左に隣接する画素ブロックの右共有領域のラインデータを生成する。また、着目画素ブロックの符号化データを伸張（第１の伸張）して、着目画素ブロックのラインデータを生成する。また、着目画素ブロックの右に隣接する画素ブロックの左共有領域の符号化データを伸張（第３の伸張）して、着目画素ブロックの右に隣接する画素ブロックの左共有領域のラインデータを生成する。そしてこのようにして生成したそれぞれのラインデータを、ライン変換部３０７内のラインバッファに格納する。図２（ａ）の例では、着目画素ブロックが画素ブロック２０２の場合、右共有領域ＲＢ００、左共有領域ＬＢ１０、非共有領域Ｂ１０、右共有領域ＲＢ１０、左共有領域ＬＢ２０のそれぞれのラインデータが生成され、ラインバッファに格納される。
【００４１】
ステップＳ４１５でライン変換部３０７は、伸張器３０６がステップＳ４１１〜Ｓ４１３で受け取ったそれぞれの符号化データを伸張したラインデータをラインバッファに格納すると、この格納されたラインデータを画像処理部３０８に転送する。図２（ａ）の例では、着目画素ブロックが画素ブロック２０２の場合、右共有領域ＲＢ００、左共有領域ＬＢ１０、非共有領域Ｂ１０、右共有領域ＲＢ１０、左共有領域ＬＢ２０のそれぞれのラインデータが画像処理部３０８に転送される。
【００４２】
そして、縦分割画像を構成する全ての画素ブロックについてステップＳ４１０〜Ｓ４１５の処理が行われたのであれば、図４（ｂ）のフローチャートに従った処理は終了する。一方、まだステップＳ４１０〜Ｓ４１５の処理を行っていない画素ブロックが残っていれば、この画素ブロックについてステップＳ４１０以降の処理を行う。
【００４３】
これにより画像処理部３０８は、例えば画素ブロック２０２内のあるラインについて画像処理を行う場合、このライン内で、右共有領域ＲＢ００内の画素を参照する必要がある画素については、右共有領域ＲＢ００のラインデータを参照すればよい。また、画素ブロック２０２内のあるラインについて画像処理を行う場合、このライン内で、左共有領域ＬＢ２０内の画素を参照する必要がある画素については、左共有領域ＬＢ２０のラインデータを参照すればよい。
【００４４】
そして画像処理部３０８は、１ライン分の画像処理が完了すると、画像処理済みのラインデータを、ブロック変換部３０１’が有するラインバッファに格納する。なお、ブロック変換部３０１’はブロック変換部３０１と同様の動作を行い、圧縮器３０２’は圧縮器３０２と同様の動作を行い、ＷＤＭＡＣ３０３’はＷＤＭＡＣ３０３と同様の動作を行う。これにより、画像処理済みの画素ブロック毎の符号化データがメモリ３０４に格納されることになる。なお、ブロック変換部３０１’は、以降で周辺画素を用いた画像処理が行われないような場合には、上記のようなフラグ値の設定は再度、行わなくても良い。
【００４５】
ステップＳ４２０においてＲＤＭＡＣ３１０は、読み出し対象となる画素ブロック（対象画素ブロック）に対するアドレス情報をメモリ３０４から読み出す。ステップＳ４２１ではＲＤＭＡＣ３１０は、この読み出したアドレス情報中の先頭アドレスＢＡとデータサイズＢＳとを参照し、メモリ３０４において先頭アドレスＢＡからデータサイズＢＳ分のデータを、対象画素ブロックの符号化データとして読み出す。そしてＲＤＭＡＣ３１０は、この読み出した対象画素ブロックの符号化データを伸張器３０６’に対して送出する。
【００４６】
ステップＳ４２２では伸張器３０６’は、ＲＤＭＡＣ３１０から送出された対象画素ブロックの符号化データを伸張して対象画素ブロックを生成し、生成した対象画素ブロックをライン変換部３０７’に対して送出する。ライン変換部３０７’は自身が管理するメモリ内で、今回伸張器３０６’から受け取った画素ブロックを、既に伸張済みの画素ブロックに隣接させて配置させることで、画素ブロック単位で画像全体を形成する。然るに、ＲＤＭＡＣ３１０が全ての画素ブロックの符号化データを読み出した場合、即ち、全ての画素ブロックが伸張されてライン変換部３０７’内に配置された場合には、処理はステップＳ４２４に進む。一方、ＲＤＭＡＣ３１０が未だ読み出していない画素ブロックの符号化データがメモリ３０４内に残っている場合、処理はステップＳ４２０に戻る。そして、未だメモリ３０４から読み出されていない画素ブロックの符号化データについてステップＳ４２０以降の処理を行う。
【００４７】
ステップＳ４２４ではライン変換部３０７’は、完成した画像を出力部３０９に対して送出する。送出単位については特に限定するものではなく、ラインデータ毎に送出しても良いし、画像全体を一度に送出しても良い。出力部３０９は、この画像を表示装置や記憶装置、印刷装置などに対して出力する。もちろん、出力先については特に限定するものではない。
【００４８】
そして、以上の処理を繰り返す必要がある場合、例えば、次のフレームの画像について以上の処理を繰り返す必要がある場合には、処理はステップＳ４２０に戻り、次の画像についてステップＳ４２０以降の処理を行う。
【００４９】
なお、図３に示した構成を有する画像処理装置は１台の装置で構成しても良いし、複数台の装置で構成しても良い。例えば、入力部３００、ブロック変換部３０１、圧縮器３０２、ＷＤＭＡＣ３０３、メモリ３０４、を１台の符号化装置で構成しても良い。また、メモリ３０４、ＲＤＭＡＣ３０５、伸張器３０６、ライン変換部３０７、画像処理部３０８、ブロック変換部３０１’、圧縮器３０２’、ＷＤＭＡＣ３０３’を１台の画像処理装置で構成しても良い。また、メモリ３０４、ＲＤＭＡＣ３１０、伸張器３０６’、ライン変換部３０７’、出力部３０９を１台の復号装置で構成しても良い。同様のことは、以降の実施形態についても適用可能である。
【００５０】
以上の説明により、本実施形態によれば、画素ブロックを処理する際に、隣接ブロックから共有画素の圧縮データのみにアクセス可能になるため、不要な画素の読み出しが無くなり、メモリ帯域を削減することができる。
【００５１】
［第２の実施形態］
本実施形態に係る画像処理装置の構成例について、図５のブロック図を用いて説明する。なお、図５において図３に示した構成用件と同じものについては同じ参照番号を付けており、その説明は省略する。
【００５２】
画像処理部Ａ５１０は、画像処理部３０８と同様の処理を行い、１ライン分の画像処理が完了すると、画像処理済みのラインデータを、ブロック変換部５１２が有するラインバッファに格納する。
【００５３】
ブロック変換部５１２は、ブロック変換部３０１と同様に、画素ブロックの出力、画素ブロック内の各画素に対するフラグ値の設定及び出力、を行うのであるが、これに加えて、画素ブロック内の共有領域のサイズを画像処理部Ｂ５１１用のサイズに変更する。例えば、共有領域のＸ方向のサイズ（画素数）を１６画素から３２画素に変更する。
【００５４】
ブロック変換部５１２、圧縮器３０２”、ＷＤＭＡＣ３０３’、は、図６のフローチャートに従った処理を行う。なお、図６のフローチャートにおいて、図４（ａ）に示したステップと同じステップには同じ参照番号を付けており、その説明は省略する。
【００５５】
ステップＳ６００ではブロック変換部５１２は、共有領域のサイズを変更（更新）する。即ち、画像処理部Ａ５１０から送出されたラインデータ群を画素ブロック毎に分割した後、それぞれの画素ブロックが、この更新したサイズの共有領域を有するように、それぞれの画素ブロック内のそれぞれの画素に対するフラグ値を再設定する。
【００５６】
なお、図５において、画像処理部Ｂ５１１は、ライン変換部３０７’から受けた画素ブロックを用いて、着目画素に対する処理をその周辺画素を用いて行うような画像処理を行う。そして画像処理部Ｂ５１１は、１ライン分の画像処理が完了すると、画像処理済みのラインデータを、ブロック変換部３０１”が有するラインバッファに格納する。
【００５７】
ブロック変換部３０１”はブロック変換部３０１と同様の動作を行い、圧縮器３０２”は圧縮器３０２と同様の動作を行い、ＷＤＭＡＣ３０３”はＷＤＭＡＣ３０３と同様の動作を行う。また、ＲＤＭＡＣ３１０”はＲＤＭＡＣ３１０と同様の動作を行い、伸張器３０６”は伸張器３０６と同様の動作を行い、ライン変換部３０７”はライン変換部３０７と同様の動作を行う。
【００５８】
以上の説明により、本実施形態によれば、画像処理の途中で、参照画素数を削減する場合であっても、アドレス情報中の共有領域の符号化データの先頭アドレス及びデータサイズの変更で対処できるため、アドレス情報の読み出し制御を変更する必要がない。
【００５９】
［第３の実施形態］
図３や図５に示した各部はハードウェアで構成しても良いし、一部をソフトウェアで構成しても良い。例えば、入力部３００及び出力部３０９をＩ／Ｆ（入出力インターフェース）で構成し、メモリ３０４をＲＡＭで構成し、その他の各部をコンピュータプログラムで実装しても良い。この場合、このＩ／ＦとＲＡＭとを有するコンピュータに、このコンピュータプログラムをインストールさせてから、このコンピュータプログラムをこのコンピュータが有するＣＰＵに実行させる。これにより、このコンピュータは、上記の画像処理装置が行うものとして説明した各処理を実行することになる。
【００６０】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005731816.tif 000002
【図２】
0005731816.tif 000003
【図３】
0005731816.tif 000004
【図４】
0005731816.tif 000005
【図５】
0005731816.tif 000006
【図６】
0005731816.tif 000007