(57)【要約】【課題】１画像を複数の領域に分割して行う画像データの配列の変換処理において、メモリアクセスのためのアドレス管理による処理性能の低下を防ぐ。【解決手段】１画像を複数の領域に分割して分割処理しラスター順からブロック順に画像データの配列を変換する画像処理装置にて、分割された画像の水平方向における分割幅が等しくなるようにダミーデータを分割された画像に対して付加し、処理領域の分割幅及びライン数に基づいてメモリ部に対する書き込みアドレス及び読み出しアドレスを生成し、書き込みアドレスに従って、ラスター順で入力される画像データをメモリ部に書き込み、ブロック順で画像データを読み出すための読み出しアドレスに従って、メモリ部から画像データを読み出して出力するようにして、メモリアクセスのためのアドレス管理に係る設定の更新を不要にし処理性能の低下を防ぐ。【選択図】図１
2018082382.tif 000002
【特許請求の範囲】
【請求項１】
１画像を複数の領域に分割して分割処理し画像データの配列を変換する画像処理装置であって、
前記分割された画像の各々の水平方向における分割幅が第１の分割幅に等しくなるように、ダミーデータを前記分割された画像に対して付加する付加手段と、
前記第１の分割幅を有する処理領域の画像データを記憶する記憶容量を有する記憶手段と、
前記処理領域の前記第１の分割幅及びライン数に基づいて前記記憶手段に係る書き込みアドレス及び読み出しアドレスを生成するアドレス生成手段と、
前記アドレス生成手段が生成する前記書き込みアドレスに従って、前記処理領域毎にラスター順の配列で入力される画像データを前記記憶手段に書き込む書き込み手段と、
前記アドレス生成手段が生成する、前記処理領域毎に、水平及び垂直に所定数の画素からなるブロック順の配列で画像データを読み出すための前記読み出しアドレスに従って、前記記憶手段から画像データを読み出して出力する読み出し手段とを有することを特徴とする画像処理装置。
【請求項２】
前記第１の分割幅は、前記分割された画像の各々の水平方向における分割幅の内の最大の分割幅であることを特徴とする請求項１記載の画像処理装置。
【請求項３】
分割情報に基づいて１画像を複数の領域に分割する分割手段を有し、
前記付加手段は、前記分割手段により分割された画像に対して、前記分割情報に基づいて前記ダミーデータを付加することを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記アドレス生成手段は、前記処理領域の前記第１の分割幅と前記ライン数とを乗じて得られる定数と、前記処理領域の前記第１の分割幅とを用いて、前記書き込みアドレス及び前記読み出しアドレスを生成することを特徴とする請求項１〜３の何れか１項に記載の画像処理装置。
【請求項５】
１画像を複数の領域に分割して分割処理し画像データの配列を変換する画像処理装置であって、
前記分割された画像の各々の水平方向における分割幅が第１の分割幅に等しくなるように、ダミーデータを前記分割された画像に対して付加する付加手段と、
前記第１の分割幅を有する処理領域の画像データを記憶する記憶容量を有する記憶手段と、
前記処理領域の前記第１の分割幅及びライン数に基づいて前記記憶手段に係る書き込みアドレス及び読み出しアドレスを生成するアドレス生成手段と、
前記アドレス生成手段が生成する前記書き込みアドレスに従って、前記処理領域毎に、水平及び垂直に所定数の画素からなるブロック順の配列で入力される画像データを前記記憶手段に書き込む書き込み手段と、
前記アドレス生成手段が生成する、前記処理領域毎にラスター順の配列で画像データを読み出すための前記読み出しアドレスに従って、前記記憶手段から画像データを読み出して出力する読み出し手段とを有することを特徴とする画像処理装置。
【請求項６】
前記第１の分割幅は、前記分割された画像の各々の水平方向における分割幅の内の最大の分割幅であることを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記アドレス生成手段は、前記処理領域の前記第１の分割幅と前記ライン数とを乗じて得られる定数と、前記処理領域の前記ライン数とを用いて、前記書き込みアドレス及び前記読み出しアドレスを生成することを特徴とする請求項５又は６記載の画像処理装置。
【請求項８】
前記読み出しアドレスの順序と、前記記憶手段からの画像データの読み出しを開始した後の前記書き込みアドレスの順序とが同じであることを特徴とする請求項１〜７の何れか１項に記載の画像処理装置。
【請求項９】
前記読み出し手段は、出力する画像データが有効であるか否かを示す制御信号を出力することを特徴とする請求項１〜８の何れか１項に記載の画像処理装置。
【請求項１０】
１画像を複数の領域に分割して分割処理し画像データの配列を変換する画像処理方法であって、
前記分割された画像の各々の水平方向における分割幅が第１の分割幅に等しくなるように、ダミーデータを前記分割された画像に対して付加する付加工程と、
前記第１の分割幅を有する処理領域の画像データを記憶する記憶容量を有する記憶手段に係る書き込みアドレス及び読み出しアドレスを、前記処理領域の前記第１の分割幅及びライン数に基づいて生成するアドレス生成工程と、
前記アドレス生成工程で生成した前記書き込みアドレスに従って、前記処理領域毎にラスター順の配列で入力される画像データを前記記憶手段に書き込む書き込み手段と、
前記アドレス生成工程で生成した、前記処理領域毎に、水平及び垂直に所定数の画素からなるブロック順の配列で画像データを読み出すための前記読み出しアドレスに従って、前記記憶手段から画像データを読み出して出力する読み出し工程とを有することを特徴とする画像処理方法。
【請求項１１】
１画像を複数の領域に分割して分割処理し画像データの配列を変換する画像処理方法であって、
前記分割された画像の各々の水平方向における分割幅が第１の分割幅に等しくなるように、ダミーデータを前記分割された画像に対して付加する付加工程と、
前記第１の分割幅を有する処理領域の画像データを記憶する記憶容量を有する記憶手段に係る書き込みアドレス及び読み出しアドレスを、前記処理領域の前記第１の分割幅及びライン数に基づいて生成するアドレス生成工程と、
前記アドレス生成工程で生成した前記書き込みアドレスに従って、前記処理領域毎に、水平及び垂直に所定数の画素からなるブロック順の配列で入力される画像データを前記記憶手段に書き込む書き込み工程と、
前記アドレス生成工程で生成した、前記処理領域毎にラスター順の配列で画像データを読み出すための前記読み出しアドレスに従って、前記記憶手段から画像データを読み出して出力する読み出し工程とを有することを特徴とする画像処理方法。
【請求項１２】
１画像を複数の領域に分割して分割処理し画像データの配列を変換する画像処理方法をコンピュータに実行させるためのプログラムであって、
前記分割された画像の各々の水平方向における分割幅が第１の分割幅に等しくなるように、ダミーデータを前記分割された画像に対して付加する付加ステップと、
前記第１の分割幅を有する処理領域の画像データを記憶する記憶容量を有する記憶手段に係る書き込みアドレス及び読み出しアドレスを、前記処理領域の前記第１の分割幅及びライン数に基づいて生成するアドレス生成ステップと、
前記アドレス生成ステップで生成した前記書き込みアドレスに従って、前記処理領域毎にラスター順の配列で入力される画像データを前記記憶手段に書き込む書き込みステップと、
前記アドレス生成ステップで生成した、前記処理領域毎に、水平及び垂直に所定数の画素からなるブロック順の配列で画像データを読み出すための前記読み出しアドレスに従って、前記記憶手段から画像データを読み出して出力する読み出しステップとをコンピュータに実行させるためのプログラム。
【請求項１３】
１画像を複数の領域に分割して分割処理し画像データの配列を変換する画像処理方法をコンピュータに実行させるためのプログラムであって、
前記分割された画像の各々の水平方向における分割幅が第１の分割幅に等しくなるように、ダミーデータを前記分割された画像に対して付加する付加ステップと、
前記第１の分割幅を有する処理領域の画像データを記憶する記憶容量を有する記憶手段に係る書き込みアドレス及び読み出しアドレスを、前記処理領域の前記第１の分割幅及びライン数に基づいて生成するアドレス生成ステップと、
前記アドレス生成ステップで生成した前記書き込みアドレスに従って、前記処理領域毎に、水平及び垂直に所定数の画素からなるブロック順の配列で入力される画像データを前記記憶手段に書き込む書き込みステップと、
前記アドレス生成ステップで生成した、前記処理領域毎にラスター順の配列で画像データを読み出すための前記読み出しアドレスに従って、前記記憶手段から画像データを読み出して出力する読み出しステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
画像処理は、１ラインの左端から順に右へ向い右端に至ると次の下のラインの左端から順に右へ向うようにし、これを繰り返して画像の左上端から右下端の順、つまりラスター状で処理を行う方法が一般的である。一方、例えばＪＰＥＧ処理での圧縮処理及び伸張処理は、ＭＣＵ（Ｍｉｎｉｍｕｍ  Ｃｏｄｅｄ  Ｕｎｉｔ）と呼ばれる、通常、８×８画素をブロック単位としたブロック状で処理される。このため、ＪＰＥＧ処理を行う機能部の前段や後段では、画像データの配列をラスター順からブロック順に変換したり、ブロック順からラスター順に変換したりするなどの並べ替えが適宜必要である。
【０００３】
これら変換処理は、画像全体の水平サイズ（水平方向の画素数）とブロックの垂直ライン数（垂直方向の画素数）との積の分のデータを記憶できる容量のメモリを用いることで行える。処理対象の画像のサイズ、特に水平サイズが大きくなるに従い、より大きな容量のメモリが必要となる。これに対し、入力画像を水平方向に、複数の短冊状に分割処理するようにし、変換処理における水平サイズを小さくすることで、変換処理に必要なメモリの容量を抑える方法がある。また、例えば特許文献１には、出力画像を生成するために必要な入力画像を参照画像としてメモリに読み込んで画像処理を行う際、参照画像のデータサイズがメモリの容量を超える場合、画像を分割する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１５４２０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、分割処理するときの画像の分割幅は、前段処理や後段処理の制約等により一定の幅にできるとは限らない。分割幅が異なる場合、前述の画像データの配列の変換処理においては、分割した領域の境界でメモリアクセスのためのアドレス管理が不連続になるため、分割領域の境界でアドレス管理に係る設定の更新が必要となり、処理性能が低下するという課題があった。特に、水平方向の幅が異なる分割領域が多い場合、アドレス管理に係る設定の更新を行う頻度が高くなり、処理性能が著しく低下してしまう。本発明の目的は、１画像を複数の領域に分割して行う画像データの配列の変換処理において、メモリアクセスのためのアドレス管理による処理性能の低下を防ぐことである。
【課題を解決するための手段】
【０００６】
本発明に係る画像処理装置は、１画像を複数の領域に分割して分割処理し画像データの配列を変換する画像処理装置であって、前記分割された画像の各々の水平方向における分割幅が第１の分割幅に等しくなるように、ダミーデータを前記分割された画像に対して付加する付加手段と、前記第１の分割幅を有する処理領域の画像データを記憶する記憶容量を有する記憶手段と、前記処理領域の前記第１の分割幅及びライン数に基づいて前記記憶手段に係る書き込みアドレス及び読み出しアドレスを生成するアドレス生成手段と、前記アドレス生成手段が生成する前記書き込みアドレスに従って、前記処理領域毎にラスター順の配列で入力される画像データを前記記憶手段に書き込む書き込み手段と、前記アドレス生成手段が生成する、前記処理領域毎に、水平及び垂直に所定数の画素からなるブロック順の配列で画像データを読み出すための前記読み出しアドレスに従って、前記記憶手段から画像データを読み出して出力する読み出し手段とを有することを特徴とする。
また、本発明に係る画像処理装置は、１画像を複数の領域に分割して分割処理し画像データの配列を変換する画像処理装置であって、前記分割された画像の各々の水平方向における分割幅が第１の分割幅に等しくなるように、ダミーデータを前記分割された画像に対して付加する付加手段と、前記第１の分割幅を有する処理領域の画像データを記憶する記憶容量を有する記憶手段と、前記処理領域の前記第１の分割幅及びライン数に基づいて前記記憶手段に係る書き込みアドレス及び読み出しアドレスを生成するアドレス生成手段と、前記アドレス生成手段が生成する前記書き込みアドレスに従って、前記処理領域毎に、水平及び垂直に所定数の画素からなるブロック順の配列で入力される画像データを前記記憶手段に書き込む書き込み手段と、前記アドレス生成手段が生成する、前記処理領域毎にラスター順の配列で画像データを読み出すための前記読み出しアドレスに従って、前記記憶手段から画像データを読み出して出力する読み出し手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、１画像を複数の領域に分割して行う画像データの配列の変換処理において、メモリアクセスのためのアドレス管理に係る設定の更新が不要となり処理性能の低下を防ぐことができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態における画像処理装置の構成例を示す図である。
【図２】画像分割を説明する図である。
【図３】分割領域の例を示す図である。
【図４】第１の実施形態におけるラスターブロック変換の例を示す図である。
【図５】図４に示すラスターブロック変換でのメモリ利用方法を説明する図である。
【図６】第１の実施形態における画像分割を説明する図である。
【図７】第２の実施形態における画像処理装置の構成例を示す図である。
【図８】第２の実施形態におけるブロックラスター変換の例を示す図である。
【図９】図８に示すブロックラスター変換でのメモリ利用方法を説明する図である。
【図１０】本実施形態における画像処理装置を実現可能なコンピュータシステムの構成例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を図面に基づいて説明する。
【００１０】
（第１の実施形態）
本発明の第１の実施形態について説明する。図１は、第１の実施形態における画像処理装置の構成例を示すブロック図である。第１の実施形態における画像処理装置は、１画像を複数の領域に分割して分割処理し、領域毎に画像データの配列をラスター順から、水平及び垂直に所定数の画素からなるブロック順に変換する機能を有する。以下では、ラスター順からブロック順への変換を「ラスターブロック変換」と称す。第１の実施形態における画像処理装置は、入力画像取得部１０１、画像分割部１０２、ラスターブロック変換部１０３、及びＪＰＥＧ符号化部１１０を有する。
【００１１】
入力画像取得部１０１は、ＣＭＯＳイメージセンサー等の撮像装置を含み、撮像した画像に対し現像処理等の画像処理を行い、ラスター順で画像データを出力する。画像分割部１０２は、入力画像取得部１０１からの画像データを、不図示の制御部から出力された画像分割情報ＳＤＡに基づいて水平方向に分割して、分割領域毎にラスター順で画像データを出力する。画像分割部１０２は、画像分割情報ＳＤＡに基づいて分割領域の水平幅がブロックの水平サイズ（水平方向の画素数）の整数倍となるように分割するものとする。
【００１２】
図２に画像分割部１０２による画像分割の一例を示す。図２において、２００はＪＰＥＧ処理を行う対象の画像全体を示している。図２に示した例では、処理対象の画像２００を、分割幅ｘａの分割領域２０１、分割幅ｘｂの分割領域２０２、分割幅ｘｃの分割領域２０３、及び分割幅ｘｄの分割領域２０４のように水平方向に４分割している。なお、分割領域２０１〜２０４の垂直方向の長さ（ブロックの高さ、ライン数）は等しくｙｎである。処理領域２０５中の２０６が１画素を示しており、図２に示した例では処理領域２０５の中に、水平方向の画素数ｘ及び垂直方向の画素数ｙが８である８×８画素のブロックが水平に３つ含まれている。
【００１３】
ラスターブロック変換部１０３は、ダミーデータ付加部１０４と、アドレス生成部１０５と、記憶部１０７、書き込み部１０８、及び読み出し部１０９を有するメモリ部１０６とを有する。ラスターブロック変換部１０３は、画像分割情報ＳＤＡを参照して、画像分割部１０２で分割されたラスター順の画像データを分割領域内の処理領域毎にラスターブロック変換する。すなわち、ラスターブロック変換部１０３は、画像分割部１０２により分割して得られたラスター順の画像データを、ＪＰＥＧ処理で扱うためにブロック順の画像データに変換してＪＰＥＧ符号化部１１０に出力する。記憶部１０７は、ラスターブロック変換の処理単位となる処理領域分の画像データを記憶する記憶容量を少なくとも有している。
【００１４】
ＪＰＥＧ符号化部１１０は、ラスターブロック変換部１０３によりラスターブロック変換されたブロック順の画像データをＪＰＥＧ方式に従って圧縮処理を行い、圧縮された画像データを出力する。ＪＰＥＧ符号化部１１０から出力された圧縮画像データは、例えば記録媒体１１１に記録される。
【００１５】
次に、ラスターブロック変換部１０３におけるラスターブロック変換について説明する。以下では、図３に示すようなそれぞれの水平方向（横方向）におけるブロックの分割数ｘｎが３であり垂直方向（縦方向）におけるライン数ｙが８である処理領域３０１Ａ、３０１Ｂ、３０１Ｃ、３０１Ｄ、・・・からなる分割領域を例に説明する。なお、１つのブロックは８×８画素である。
【００１６】
図３において、画像データＡｉ−ｊ、Ｂｉ−ｊ、Ｃｉ−ｊ、Ｄｉ−ｊは、それぞれ処理領域３０１Ａ、３０１Ｂ、３０１Ｃ、３０１Ｄにおける第ｉブロックのｊライン目の画像データである。ここで、ｉは１〜３の整数であり、ｊは１〜８の整数である。例えば、画像データＡ１−４は、処理領域３０１Ａにおける第１ブロックの４ライン目の画像データであり、画像データＢ３−８は、処理領域３０１Ｂにおける第３ブロックの８ライン目の画像データである。
【００１７】
各処理領域３０１Ａ、３０１Ｂ、３０１Ｃ、３０１Ｄ、・・・には、３（＝水平方向における処理領域内でのブロックの分割数ｘｎ）×８（＝垂直方向におけるライン数ｙ）の計２４個の内部領域が存在し、０からカウントすると３×８−１＝２３となる。ここで、この２３の数値、すなわち処理領域に存在する内部領域の数から１減じた数を、第１定数（ｍａｘ  ａｒｅａ  ｎｕｍ）と呼ぶ。
【００１８】
また、図３に示す例において、ラスター順での並びは、Ａ１−１、Ａ２−１、Ａ３−１、Ａ１−２、Ａ２−２、・・・、Ａ３−８、Ｂ１−１、Ｂ２−１、・・・、Ｂ３−８、Ｃ１−１、Ｃ２−１、・・・、Ｃ３−８、Ｄ１−１、Ｄ２−１、・・・のようになる。また、ブロック順での並びは、Ａ１−１、Ａ１−２、・・・、Ａ１−８、Ａ２−１、Ａ２−２、・・・、Ａ２−８、Ａ３−１、・・・、Ａ３−８、Ｂ１−１、・・・、Ｂ３−７、Ｂ３−８、Ｃ１−１、・・・、Ｃ３−７、Ｃ３−８、Ｄ１−１、・・・のようになる。
【００１９】
ラスターブロック変換部１０３は、図４に示すようにメモリアクセスを実行して、処理領域毎に画像データの配列をラスター順からブロック順へラスターブロック変換する。すなわち、時刻Ｔ１１から、ラスターブロック変換部１０３は、図４に示すようにアドレス生成部１０５が書き込みアドレスを生成し、ラスター順で処理領域３０１Ａの画像データＡ１−１〜Ａ３−８をメモリ部１０６に書き込む。そして、時刻Ｔ１２から、ラスターブロック変換部１０３は、画像データの配列がブロック順となるようにアドレス生成部１０５が読み出しアドレスを生成し、メモリ部１０６から処理領域３０１Ａの画像データＡ１−１〜Ａ３−８を読み出して出力する。
【００２０】
また、メモリ部１０６から処理領域３０１Ａの画像データＡ１−１を読み出した後の時刻Ｔ１３から、ラスターブロック変換部１０３は、ラスター順で処理領域３０１Ｂの画像データＢ１−１〜Ｂ３−８をメモリ部１０６に書き込む。このとき、ラスターブロック変換部１０３は、処理領域３０１Ｂの画像データＢ１−１〜Ｂ３−８を、図４に示すように処理領域３０１Ａの画像データの読み出しが終了した領域に書き込む。
【００２１】
例えば、ラスターブロック変換部１０３は、アドレスＡＤ００の領域から処理領域３０１Ａの画像データＡ１−１を読み出す。その後、ラスターブロック変換部１０３は、処理領域３０１Ａの画像データＡ１−１を読み出したアドレスＡＤ００の領域に処理領域３０１Ｂの画像データＢ１−１を書き込み、アドレスＡＤ０３の領域から処理領域３０１Ａの画像データＡ１−２を読み出す。続いて、ラスターブロック変換部１０３は、処理領域３０１Ａの画像データＡ１−２を読み出したアドレスＡＤ０３の領域に処理領域３０１Ｂの画像データＢ２−１を書き込み、アドレスＡＤ０３の領域から処理領域３０１Ａの画像データＡ１−３を読み出す。
【００２２】
このようにして、ラスターブロック変換部１０３は、メモリ部１０６からの画像データの読み出しを開始した後は、処理領域３０１Ａの画像データを読み出した領域に、ラスター順で処理領域３０１Ｂの画像データを順次書き込んでいく。そして、時刻Ｔ１４から、ラスターブロック変換部１０３は、画像データの配列がブロック順となるようにアドレス生成部１０５が読み出しアドレスを生成し、メモリ部１０６から処理領域３０１Ｂの画像データＢ１−１〜Ｂ３−８を読み出して出力する。
【００２３】
以降、同様にして、ラスターブロック変換部１０３は、ラスター順での処理領域３０１Ｃ、３０１Ｄ、・・・の画像データの書き込み（時刻Ｔ１５、Ｔ１７）やブロック順での処理領域３０１Ｃ、３０１Ｄ、・・・の画像データの読み出し（時刻Ｔ１６）を行う。図４に示したように、ラスターブロック変換部１０３は、各処理領域の画像データのブロック順での読み出しと次の処理領域の画像データのラスター順での書き込みを並列して行い、各処理領域の画像データの配列をラスターブロック変換する。
【００２４】
図４に示したように各処理領域の画像データをメモリ部１０６の記憶部１０７に対して書き込み及び読み出しを行うときの、記憶部１０７におけるアドレス値と、処理される画像データ及び処理順序との関係を図５に示す。図５において、５００は記憶部１０７におけるアドレス値を示している。５０１は１順目の書き込み処理及び読み出し処理で処理される処理領域３０１Ａの画像データを示しており、５０２はその書き込み処理の順序、５０３はその読み出し処理の順序を示している。
【００２５】
また、５０４は２順目の書き込み処理及び読み出し処理で処理される処理領域３０１Ｂの画像データを示しており、５０５はその書き込み処理の順序、５０６はその読み出し処理の順序を示している。また、５０７は３順目の書き込み処理及び読み出し処理で処理される処理領域３０１Ｃの画像データを示しており、５０８はその書き込み処理の順序、５０９はその読み出し処理の順序を示している。
【００２６】
まず、書き込み処理の順序、及び読み出し処理の順序について説明する。各アドレスの領域に対するｎ順目での読み出し順と（ｎ＋１）順目での書き込み順は、ライン数ｙを値ｎでべき乗した値を、第１定数（ｍａｘ  ａｒｅａ  ｎｕｍ）で割った余りを処理順番のオフセット値とし、「１」を起点に加算していった順となる。つまり、１順目での読み出し順及び２順目での書き込み順の場合、オフセット値は、８1％２３＝８（％は剰余演算子）となり、アドレスＡＤ０１に対する順序は１＋８＝「９」となり、アドレスＡＤ０２に対する順序は９＋８＝「１７」となる。アドレスＡＤ０３に対する順序は１７＋８＝「２５」となるが、第１定数の値（＝２３）を超えた場合には桁上りとなり、１７＋８−２３＝「２」となる。各アドレスの領域に対する順序は、第１定数の値を基数として数値表現したときの１桁目の値である。
【００２７】
このようにして読み出し順及び書き込み順を算出すると、複数回繰り返した後、処理領域内の各内部領域に係る書き込み処理の順序及び読み出し処理の順序は、５０１〜５０３と５１０〜５１２が同じ並びになっているように同じアドレス状態に戻ってくる。例えば、処理領域内の水平方向におけるブロックの分割数ｘｎが３で、垂直方向におけるライン数ｙが８である場合、（１２ｍ＋１）順目（ｍは正の整数）での処理領域内の各内部領域に係る書き込み処理の順序及び読み出し処理の順序が同じアドレス状態となる。
【００２８】
次に、ｎ順目での読み出し順と（ｎ＋１）順目での書き込み順に対するアドレス値について説明する。ｎ順目でデータの読み出しが完了したアドレスに対し、順次、ｎ＋１順目のデータを書き込む。１順目での書き込み順に対するアドレス値は、５００に示すＡＤ００〜ＡＤ２３の順である。メモリ部１０６からの画像データの読み出しを開始した後のｎ順目での読み出し順と（ｎ＋１）順目での書き込み順に対するアドレス値、すなわちｎ順目での読み出しアドレスの順序と（ｎ＋１）順目での書き込みアドレスの順序とは同じである。ｎ順目での読み出し順と（ｎ＋１）順目での書き込み順に対するアドレス値は、処理領域内での水平方向におけるブロックの分割数ｘｎを値ｎでべき乗した値を、第１定数（ｍａｘ  ａｒｅａ  ｎｕｍ）で割った余りをアドレス値のオフセットとする。なお、ｎ順目での読み出し順と（ｎ＋１）順目での書き込み順に対するアドレス値のオフセットに値ｎを乗じた値を第１定数で割った余りを、（ｎ＋１）順目での読み出し順と（ｎ＋２）順目での書き込み順に対するアドレス値のオフセットとしても同様である。
【００２９】
例えば、１順目での読み出し順と２順目での書き込み順に対するアドレス値のオフセット値は３1％２３＝３となり、アドレス値は、ＡＤ００を起点に３ずつオフセットしてゆき、ＡＤ００、ＡＤ０３、ＡＤ０６、ＡＤ０９、・・・と続く。ＡＤ２１の次は第１定数の値（＝２３）を超えるために桁上りとなり、アドレス値は、ＡＤ０１（２１＋３−２３＝１）、ＡＤ０４、・・・と続く。アドレス値がＡＤ２３となると、次の順目に移行し、オフセットを更新して再びＡＤ００を起点にオフセットしていく。例えば、２順目での読み出し順と３順目での書き込み順に対するアドレス値のオフセット値は３2％２３＝９となり、アドレス値は、ＡＤ００を起点に９ずつオフセットしていく。
【００３０】
以上のことから、第１定数（ｍａｘ  ａｒｅａ  ｎｕｍ）が同じであれば、ラスターブロック変換において、メモリ部１０６の記憶部１０７に対して画像データを書き込み及び読み出すときのアドレス値と、処理順序との関係は、規則的に巡回することが解る。これにより、一画面の処理を連続的に実行でき、処理待ちが発生しないような処理になる。すなわち、処理領域内の水平方向におけるブロックの分割数ｘｎ及び垂直方向におけるライン数ｙが変わらなければ、分割領域の境界でメモリアクセスのためのアドレス管理に係る設定の更新を行うことなく、ラスターブロック変換を行うことが可能となる。
【００３１】
前述のように、１画像を複数の領域に分割して分割処理しラスターブロック変換を行う場合、分割領域の水平幅が一致していれば連続的な処理が可能である。つまり、１画像を図６に示すように分割幅がそれぞれｘａ、ｘｂ、ｘｃ、ｘｄである分割領域６０１、６０２、６０３、６０４に分割してラスターブロック変換する場合、分割幅を揃えるように制御すれば分割境界でのアドレス管理に係る設定の更新が不要になる。
【００３２】
そこで、本実施形態では、ラスターブロック変換部１０３のダミーデータ付加部１０４が、画像分割情報ＳＤＡに基づいて、分割領域６０１〜６０４の分割幅を等しくするように、分割領域６０１〜６０４にダミーデータを適宜付加する。図６に示した例では、ダミーデータ付加部１０４が、分割領域６０１〜６０４の内から最大の水平幅を有する分割領域６０３の分割幅ｘｃに揃えるように、その他の分割領域６０１、６０２、６０４にダミーデータを付加する。これにより、ラスターブロック変換する分割領域を、同じ分割幅ｘｃの分割領域６０５、６０６、６０３、６０７とする。そして、アドレス生成部１０５が図４及び図５に示したようにアドレスを生成し、生成されたアドレスに従って、メモリ部１０６の書き込み部１０８及び読み出し部１０９が記憶部１０７に対する画像データの書き込み及び読み出しを行う。
【００３３】
したがって、本実施形態によれば、分割境界でのアドレス管理に係る設定の更新を行わずに、ラスターブロック変換部１０３でのラスターブロック変換を実行でき、分割領域の分割幅が異なっていても処理性能が低下することを防止することができる。なお、ダミーデータ付加部１０４により挿入したダミーデータは、処理対象のデータが有効であるか否かを示す制御信号をラスターブロック変換部１０３から別途出力して対応し、ダミーデータを必要に応じて無効化すればよい。
【００３４】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。図７は、第２の実施形態における画像処理装置の構成例を示すブロック図である。第２の実施形態における画像処理装置は、１画像を複数の領域に分割して分割処理し、領域毎に画像データの配列を、水平及び垂直に所定数の画素からなるブロック順からラスター順に変換する機能を有する。以下では、ブロック順からラスター順への変換を「ブロックラスター変換」と称す。第２の実施形態における画像処理装置は、ストリームデータ出力部７０１、ＪＰＥＧ復号部７０２、ブロックラスター変換部７０３、及び出力画像受信部７１０を有する。
【００３５】
ストリームデータ出力部７０１は、ＪＰＥＧフォーマットのストリームデータを記録媒体等から読み出して出力する。ＪＰＥＧ復号部７０２は、ＪＰＥＧフォーマットのデータを伸張し、伸張した画像データをブロック順でブロックラスター変換部７０３へ出力する。ブロックラスター変換部７０３は、ダミーデータ付加部７０４と、アドレス生成部７０５と、記憶部７０７、書き込み部７０８、及び読み出し部７０９を有するメモリ部７０６とを有する。ブロックラスター変換部７０３は、画像分割情報ＳＤＢを参照して、ＪＰＥＧ復号部７０２から出力されたブロック順の画像データを分割領域内の処理領域毎にブロックラスター変換し、ラスター順で画像データを出力画像受信部６０７へ出力する。記憶部７０６は、ブロックラスター変換の処理単位となる処理領域分の画像データを記憶する記憶容量を少なくとも有している。出力画像受信部６０７は、ブロックラスター変換部７０３からラスター順の画像データを受信して所定の処理等を実行する。
【００３６】
次に、ブロックラスター変換部７０３におけるブロックラスター変換について説明する。以下では、図３に示した分割領域を例に説明する。本実施形態においても、処理領域に存在する内部領域の数から１減じた数（図３に示した例では２３）を、第１定数（ｍａｘ  ａｒｅａ  ｎｕｍ）と呼ぶ。
【００３７】
ブロックラスター変換部７０３は、図８に示すようにメモリアクセスを実行して、処理領域毎に画像データの配列をブロック順からラスター順へブロックラスター変換する。すなわち、時刻Ｔ２１から、ブロックラスター変換部７０３は、図８に示すようにアドレス生成部７０５が書き込みアドレスを生成し、ブロック順で処理領域３０１Ａの画像データＡ１−１〜Ａ３−８をメモリ部７０６に書き込む。そして、時刻Ｔ２２から、ブロックラスター変換部７０３は、画像データの配列がラスター順となるようにアドレス生成部７０５が読み出しアドレスを生成し、メモリ部７０６から処理領域３０１Ａの画像データＡ１−１〜Ａ３−８を読み出して出力する。
【００３８】
また、メモリ部７０６から処理領域３０１Ａの画像データＡ１−１を読み出した後の時刻Ｔ２３から、ブロックラスター変換部７０３は、ブロック順で処理領域３０１Ｂの画像データＢ１−１〜Ｂ３−８をメモリ部７０６に書き込む。このとき、ブロックラスター変換部７０３は、処理領域３０１Ｂの画像データＢ１−１〜Ｂ３−８を、図８に示すように処理領域３０１Ａの画像データの読み出しが終了した領域に書き込む。
【００３９】
例えば、ブロックラスター変換部７０３は、アドレスＡＤ００の領域から処理領域３０１Ａの画像データＡ１−１を読み出す。その後、ブロックラスター変換部７０３は、処理領域３０１Ａの画像データＡ１−１を読み出したアドレスＡＤ００の領域に処理領域３０１Ｂの画像データＢ１−１を書き込み、アドレスＡＤ０８の領域から処理領域３０１Ａの画像データＡ２−１を読み出す。続いて、ブロックラスター変換部７０３は、処理領域３０１Ａの画像データＡ２−１を読み出したアドレスＡＤ０８の領域に処理領域３０１Ｂの画像データＢ１−２を書き込み、アドレスＡＤ１６の領域から処理領域３０１Ａの画像データＡ３−１を読み出す。
【００４０】
このようにして、ブロックラスター変換部７０３は、メモリ部７０６からの画像データの読み出しを開始した後は、処理領域３０１Ａの画像データを読み出した領域に、ブロック順で処理領域３０１Ｂの画像データを順次書き込んでいく。そして、時刻Ｔ２４から、ブロックラスター変換部７０３は、画像データの配列がラスター順となるようにアドレス生成部７０５が読み出しアドレスを生成し、メモリ部７０６から処理領域３０１Ｂの画像データＢ１−１〜Ｂ３−８を読み出して出力する。
【００４１】
以降、同様にして、ブロックラスター変換部７０３は、ブロック順での処理領域３０１Ｃ、３０１Ｄ、・・・の画像データの書き込み（時刻Ｔ２５、Ｔ２７）やラスター順での処理領域３０１Ｃ、３０１Ｄ、・・・の画像データの読み出し（時刻Ｔ２６）を行う。図８に示したように、ブロックラスター変換部７０３は、各処理領域の画像データのラスター順での読み出しと次の処理領域の画像データのブロック順での書き込みを並列して行い、各処理領域の画像データの配列をブロックラスター変換する。
【００４２】
図８に示したように各処理領域の画像データをメモリ部７０６の記憶部７０７に対して書き込み及び読み出しを行うときの、記憶部７０７におけるアドレス値と、処理される画像データ及び処理順序との関係を図９に示す。図９において、９００は記憶部７０７におけるアドレス値を示している。９０１は１順目の書き込み処理及び読み出し処理で処理される処理領域３０１Ａの画像データを示しており、９０２はその書き込み処理の順序、９０３はその読み出し処理の順序を示している。
【００４３】
また、９０４は２順目の書き込み処理及び読み出し処理で処理される処理領域３０１Ｂの画像データを示しており、９０５はその書き込み処理の順序、９０６はその読み出し処理の順序を示している。また、９０７は３順目の書き込み処理及び読み出し処理で処理される処理領域３０１Ｃの画像データを示しており、９０８はその書き込み処理の順序、９０９はその読み出し処理の順序を示している。
【００４４】
まず、書き込み処理の順序、及び読み出し処理の順序について説明する。各アドレスの領域に対するｎ順目での読み出し順と（ｎ＋１）順目での書き込み順は、処理領域内での水平方向におけるブロックの分割数ｘｎを値ｎでべき乗した値を、第１定数（ｍａｘ  ａｒｅａ  ｎｕｍ）で割った余りを処理順番のオフセット値とする。読み出し順及び書き込み順は、「１」を起点にオフセット値を加算していった順となる。つまり、１順目での読み出し順及び２順目での書き込み順の場合、オフセット値は、３1％２３＝３となり、アドレスＡＤ０１に対する順序は１＋３＝「４」となり、アドレスＡＤ０２に対する順序は４＋３＝「７」となる。アドレスＡＤ０８に対する順序は２２＋３＝「２５」となるが、第１定数の値（＝２３）を超えた場合には桁上りとなり、２２＋３−２３＝「２」となる。各アドレスの領域に対する順序は、第１定数の値を基数として数値表現したときの１桁目の値である。
【００４５】
このようにして読み出し順及び書き込み順を算出すると、複数回繰り返した後、処理領域内の各内部領域に係る書き込み処理の順序及び読み出し処理の順序は、９０１〜９０３と９１０〜９１２が同じ並びになっているように同じアドレス状態に戻ってくる。例えば、処理領域内の水平方向におけるブロックの分割数ｘｎが３で、垂直方向におけるライン数ｙが８である場合、（１２ｍ＋１）順目（ｍは正の整数）での処理領域内の各内部領域に係る書き込み処理の順序及び読み出し処理の順序が同じアドレス状態となる。
【００４６】
次に、ｎ順目での読み出し順と（ｎ＋１）順目での書き込み順に対するアドレス値について説明する。ｎ順目でデータの読み出しが完了したアドレスに対し、順次、ｎ＋１順目のデータを書き込む。１順目での書き込み順に対するアドレス値は、９００に示すＡＤ００〜ＡＤ２３の順である。メモリ部７０６からの画像データの読み出しを開始した後のｎ順目での読み出し順と（ｎ＋１）順目での書き込み順に対するアドレス値、すなわちｎ順目での読み出しアドレスの順序と（ｎ＋１）順目での書き込みアドレスの順序とは同じである。ｎ順目での読み出し順と（ｎ＋１）順目での書き込み順に対するアドレス値は、ライン数ｙを値ｎでべき乗した値を、第１定数（ｍａｘ  ａｒｅａ  ｎｕｍ）で割った余りをアドレス値のオフセットとする。なお、ｎ順目での読み出し順と（ｎ＋１）順目での書き込み順に対するアドレス値のオフセットに値ｎを乗じた値を第１定数で割った余りを、（ｎ＋１）順目での読み出し順と（ｎ＋２）順目での書き込み順に対するアドレス値のオフセットとしても同様である。
【００４７】
例えば、１順目での読み出し順と２順目での書き込み順に対するアドレス値のオフセット値は８1％２３＝８となり、アドレス値は、ＡＤ００を起点に８ずつオフセットしてゆき、ＡＤ００、ＡＤ０８、ＡＤ１６、・・・と続く。ＡＤ１６の次は第１定数の値（＝２３）を超えるために桁上りとなり、アドレス値は、ＡＤ０１（１６＋８−２３＝１）、ＡＤ０９、・・・と続く。アドレス値がＡＤ２３となると、次の順目に移行し、オフセットを更新して再びＡＤ００を起点にオフセットしていく。例えば、２順目での読み出し順と３順目での書き込み順に対するアドレス値のオフセット値は８2％２３＝１８となり、アドレス値は、ＡＤ００を起点に１８ずつオフセットしていく。
【００４８】
以上のことから、第１定数（ｍａｘ  ａｒｅａ  ｎｕｍ）が同じであれば、ブロックラスター変換において、メモリ部７０６の記憶部７０７に対して画像データを書き込み及び読み出すときのアドレス値と、処理順序との関係は、規則的に巡回することが解る。これにより、一画面の処理を連続的に実行でき、処理待ちが発生しないような処理になる。すなわち、処理領域内の水平方向におけるブロックの分割数ｘｎ及び垂直方向におけるライン数ｙが変わらなければ、分割領域の境界でメモリアクセスのためのアドレス管理に係る設定の更新を行うことなく、ブロックラスター変換を行うことが可能となる。
【００４９】
前述のように、１画像を複数の領域に分割して分割処理しブロックラスター変換を行う場合、分割領域の水平幅が一致していれば連続的な処理が可能である。つまり、分割領域の分割幅を揃えるように制御すれば、ブロックラスター変換において分割境界でのアドレス管理に係る設定の更新が不要になる。
【００５０】
そこで、本実施形態では、ブロックラスター変換部７０３のダミーデータ付加部７０４が、画像分割情報ＳＤＢに基づいて、分割領域の分割幅を等しくするように、分割領域に対してダミーデータを適宜付加する。すなわち、ダミーデータ付加部７０４は、分割領域の内の最大の水平幅を有する分割領域の分割幅に揃えるように各分割領域にダミーデータを適宜付加し、ブロックラスター変換する分割領域を同じ分割幅とする。そして、アドレス生成部７０５が図８及び図９に示したようにアドレスを生成し、生成されたアドレスに従って、メモリ部７０６の書き込み部７０８及び読み出し部７０９が記憶部７０７に対する画像データの書き込み及び読み出しを行う。
【００５１】
したがって、本実施形態によれば、分割境界でのアドレス管理に係る設定の更新を行わずに、ブロックラスター変換部７０３でのブロックラスター変換を実行でき、分割領域の分割幅が異なっていても処理性能が低下することを防止することができる。なお、ダミーデータ付加部７０４により挿入したダミーデータは、ブロックラスター変換部７０３から処理対象のデータが有効であるか否かを示す制御信号を別途出力して対応し、ダミーデータを必要に応じて無効化すればよい。
【００５２】
（本発明の他の実施形態）
本発明は、前述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５３】
図１０は、本実施形態における画像処理装置を実現可能なコンピュータシステム１０００の構成例を示すブロック図である。コンピュータシステム１０００は、ＣＰＵ１００１、ＲＯＭ１００２、ＲＡＭ１００３、２次記憶装置１００４、入力装置１００５、出力装置１００６、及びネットワークインターフェース（ネットワークＩＦ）１００７を有する。それら機能部１００１〜１００７は、バス１００８を介して互いに通信可能に接続されている。
【００５４】
ＣＰＵ１００１は、ＲＯＭ１００２又は２次記憶装置１００４に記憶されたプログラムを読み出して各種処理を実行する。ＣＰＵ１００１は、例えばＲＯＭ１００２又は２次記憶装置１００４からプログラムを読み出して実行することで前述したような画像処理装置の機能や処理を実現するための制御を行ったり、バス１００８に接続された各構成部を制御したりする。ＲＡＭ１００３は、ＣＰＵ１００１の主メモリ又はワークエリア等として機能する。
【００５５】
２次記憶装置１００４は、画像データやプログラム等の各種情報を記憶するデータの書き換えが可能な記憶装置であり、例えばハードディスクドライブやフラッシュメモリ等である。入力装置１００５は、キーボードやマウス等を有し、ユーザによる各種操作を受け付ける。出力装置１００６は、処理結果等の各種情報を出力する。ネットワークＩＦ１００７は、図示しないネットワークを介した他の装置との通信処理を行う。
【００５６】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００５７】
１０１：入力画像取得部  １０２：画像分割部  １０３：ラスターブロック変換部  １０４、７０４：ダミーデータ付加部  １０５、７０５：アドレス生成部  １０６、７０６：メモリ部  １０７、７０７：記憶部  １０８、７０８：書き込み部  １０９、７０９：読み出し部  １１０：ＪＰＥＧ符号化部  ７０２：ＪＰＥＧ復号部  ７０３：ブロックラスター変換部  ７１０：出力画像受信部
【図１】
2018082382.tif 000003
【図２】
2018082382.tif 000004
【図３】
2018082382.tif 000005
【図４】
2018082382.tif 000006
【図５】
2018082382.tif 000007
【図６】
2018082382.tif 000008
【図７】
2018082382.tif 000009
【図８】
2018082382.tif 000010
【図９】
2018082382.tif 000011
【図１０】
2018082382.tif 000012