(57)【要約】【課題】元の順序の画素の画像データに並び替える処理を効率良く行う。【解決手段】記憶部１１は、複数行及び複数列の２次元に配置された複数の記憶素子を有し、水平オルタネートスキャン順序で変換された画素の画像データ、又は垂直オルタネートスキャン順序で変換された画素の画像データを記憶素子に蓄積し、所定の記憶素子に蓄積されている画素の画像データを１処理単位で他の所定の記憶素子に蓄積することにより、画素の画像データの２次元の配列を変換し、読み出し制御回路１２は、記憶素子に蓄積されている２次元の配列変換後の画素の画像データを列単位又は行単位に読み出す。【選択図】        図１
2004328626.tif 000002
【特許請求の範囲】
【請求項１】
複数行及び複数列の２次元の画素の画像データから、第１のスキャン順序で変換された画素の画像データ、又は上記第１のスキャン順序とスキャン順序が水平方向と垂直方向で転置された第２のスキャン順序で変換された画素の画像データを元の順序の画素の画像データに並び替える画像処理用記憶回路であって、
複数行及び複数列の２次元に配置された複数の記憶素子を有し、上記第１のスキャン順序で変換された画素の画像データ、又は上記第２のスキャン順序で変換された画素の画像データを上記記憶素子に蓄積し、所定の記憶素子に蓄積されている画素の画像データを１処理単位で他の所定の記憶素子に蓄積することにより、画素の画像データの２次元の配列を変換する記憶部と、
上記記憶素子に蓄積されている２次元の配列変換後の画素の画像データを列単位又は行単位に読み出す読み出し制御回路とを備えたことを特徴とする画像処理用記憶回路。
【請求項２】
記憶部が、第１のスキャン順序で変換されジグザグ逆変換された画素の画像データ、又は第２のスキャン順序で変換されジグザグ逆変換された画素の画像データを記憶素子に蓄積することを特徴とする請求項１記載の画像処理用記憶回路。
【請求項３】
第１のスキャン順序が水平オルタネートスキャン順序であり、第２のスキャン順序が垂直オルタネートスキャン順序であることを特徴とする請求項１又は請求項２記載の画像処理用記憶回路。
【請求項４】
画素の画像データを行単位又は列単位に各記憶素子に蓄積することを特徴とする請求項１又は請求項２記載の画像処理用記憶回路。
【請求項５】
画素の画像データを記憶素子単位に各記憶素子に蓄積することを特徴とする請求項１又は請求項２記載の画像処理用記憶回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数行及び複数列の２次元の画素の画像データからスキャン順序が変換された画素の画像データを、元の順序の画素の画像データに並び替える画像処理用記憶回路に関するものである。
【０００２】
【従来の技術】
ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）符号化方式や、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）符号化方式では、２次元の画素の画像データを８画素×８画素といった細かいブロックに分割し、このブロック単位に処理を行う。また、最終的に可変長符号化によって１次元のビットストリームにする際に、ブロック内の画素の画像データを並び替えるスキャン変換を行っている。
【０００３】
ＪＰＥＧ符号化方式やＨ．２６１符号化方式では、スキャン変換の種類はジグザグスキャン変換の１種類であるが、ＭＰＥＧ−４符号化方式では、このジグザグスキャン変換に加えて、水平オルタネートスキャン変換と垂直オルタネートスキャン変換が行われる。
【０００４】
このような各スキャン変換された画素の画像データを元の順序の画素の画像データに並び替えるには、例えば特許文献１に示すように、画素の画像データを書き込むアドレスの順番と読み出すアドレスの順番を変え、１画素単位で書き込んで読み出す画像処理用記憶回路が一般的に用いられている。
【０００５】
【特許文献１】
特開２００１−２７５１１６号公報（段落００５１〜００６７）
【０００６】
【発明が解決しようとする課題】
従来の画像処理用記憶回路は以上のように構成されているので、複数の画素を並列演算器を用いて同時に演算するようなプロセッサでは、画素の画像データを蓄積する記憶部も複数画素を同時にアクセスすることができるために、上記のように、１画素単位で書き込んで読み出す方法では、水平オルタネートスキャン変換や垂直オルタネートスキャン変換された画素の画像データを元の順序の画素の画像データに並び替えるサイクル数がかかりすぎ、スキャン変換された画素の画像データを元の順序の画素の画像データに並び替える処理を効率良く行うことができないという課題があった。
【０００７】
この発明は上記のような課題を解決するためになされたもので、例えば水平オルタネートスキャン変換や垂直オルタネートスキャン変換のように、スキャン順序が水平方向と垂直方向で転置された関係にあるスキャン変換により並び替えられた画素の画像データを、元の順序の画素の画像データに並び替える処理を効率良く行うことができる画像処理用記憶回路を得ることを目的とする。
【０００８】
【課題を解決するための手段】
この発明に係る画像処理用記憶回路は、複数行及び複数列の２次元の画素の画像データから、第１のスキャン順序で変換された画素の画像データ、又は上記第１のスキャン順序とスキャン順序が水平方向と垂直方向で転置された第２のスキャン順序で変換された画素の画像データを元の順序の画素の画像データに並び替えるものであって、複数行及び複数列の２次元に配置された複数の記憶素子を有し、上記第１のスキャン順序で変換された画素の画像データ、又は上記第２のスキャン順序で変換された画素の画像データを上記記憶素子に蓄積し、所定の記憶素子に蓄積されている画素の画像データを１処理単位で他の所定の記憶素子に蓄積することにより、画素の画像データの２次元の配列を変換する記憶部と、上記記憶素子に蓄積されている２次元の配列変換後の画素の画像データを列単位又は行単位に読み出す読み出し制御回路とを備えたものである。
【０００９】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１による画像処理用記憶回路の構成を示すブロック図である。この画像処理用記憶回路は、記憶部１１及び読み出し制御回路１２により構成されている。
【００１０】
図２はこの発明の実施の形態１による画像処理用記憶回路の機能を説明する図である。符号化側では、画素の画像データを水平オルタネートスキャン変換又は垂直オルタネートスキャン変換を行ってビットストリームとして伝送する。復号側では、符号化側から伝送された画素の画像データを、水平オルタネート逆スキャン変換又は垂直オルタネート逆スキャン変換を行って元の順序の画素の画像データに並び替えて出力する。図１に示す画像処理用記憶回路は、図２における復号側の水平オルタネート逆スキャン変換又は垂直オルタネート逆スキャン変換を単一の回路構成により行うものである。
【００１１】
図１において、記憶部１１は、４ｂｉｔの行単位又は列単位の書き込みアドレスＷＡ＜３：０＞と、１ｂｉｔの書き込みイネーブル信号ＷＥにより、１２８ｂｉｔずつの入力画像データＤＩ＜１２７：０＞を行単位又は列単位に蓄積すると共に、スキャン変換指示信号ＳＣＡＮにより、蓄積されている画素の画像データの２次元の配列を変換可能なように構成されている。
【００１２】
読み出し制御回路１２は、４ｂｉｔの行単位又は列単位の読み出しアドレスＲＡ＜３：０＞を入力し、記憶部１１に蓄積されている画素の画像データを行単位又は列単位に読み出して、１２８ｂｉｔずつの出力画像データＤＯ＜１２７：０＞を出力する。
【００１３】
図３は記憶部１１の概略構成例を示す図である。この記憶部１１には８行×８列の２次元に計６４個の記憶素子２１が配置されている。各記憶素子２１には、００番〜０７番、１０番〜１７番、２０番〜２７番、３０番〜３７番、４０番〜４７番、５０番〜５７番、６０番〜６７番、７０番〜７７番の各番号が付与されており、それぞれ１６ｂｉｔの画素の画像データＲ００〜Ｒ０７、Ｒ１０〜Ｒ１７、Ｒ２０〜Ｒ２７、Ｒ３０〜Ｒ３７、Ｒ４０〜Ｒ４７、Ｒ５０〜Ｒ５７、Ｒ６０〜Ｒ６７、Ｒ７０〜Ｒ７７が蓄積される。
【００１４】
この記憶部１１では、アドレス０番地から７番地が行単位のアクセスで、アドレス８番地から１５番地までが列単位のアクセスとなる。例えば、記憶部１１のアドレス０番地に書き込みを行うと、記憶素子２１の００，０１，０２，０３，０４，０５，０６，０７番の行方向に画素の画像データが書き込まれる。同様にアドレス７番地に書き込みを行うと、記憶素子２１の７０，７１，７２，７３，７４，７５，７６，７７番の行方向に画素の画像データが書き込まれる。
【００１５】
また、アドレス８番地に書き込みを行うと、記憶素子２１の００，１０，２０，３０，４０，５０，６０，７０番の列方向に画素の画像データが書き込まれ、同様にアドレス１５番地に書き込みを行うと、記憶素子２１の０７，１７，２７，３７，４７，５７，６７，７７番の列方向に画素の画像データが書き込まれる。
【００１６】
また、図３において、８行×８列の２次元に配置された記憶素子２１の中で、００番と７７番の記憶素子２１以外の記憶素子２１の前には、各記憶素子２１と対となる３入力のセレクタ（ＳＥＬ）２２が接続されている。アドレス０番地から７番地の行単位に画素の画像データを書き込む場合には、指定されたアドレス０番地から７番地により各セレクタ２２の上から二番目の入力が選択され、アドレス８番地から１５番地の列単位に画素の画像データを書き込む場合には、指定されたアドレス８番地から１５番地により各セレクタ２２の一番上の入力が選択される。ただし、この記憶部１１の対角線上に配置された記憶素子２１の１１番、２２番、３３番、４４番、５５番、６６番の前のセレクタ２２の行単位と列単位の画素の画像データの入力は共通となっている。
【００１７】
また、画素の画像データの配列を変換するためのスキャン変換指示信号ＳＣＡＮが入力された場合には、各セレクタ２２の一番下の入力が選択されて、他の記憶素子２１に蓄積されている画素の画像データが、各セレクタと対となる記憶素子２１に書き込まれて、画素の画像データの２次元の配列が変換される。
【００１８】
例えば、０１番の記憶素子２１の前に接続されているセレクタ２２には、列単位の書き込みアドレス９番地が指定された場合に選択される１６ｂｉｔの画素の画像データ＜１２７：１１２＞と、行単位の書き込みアドレス０番地が指定された場合に選択される１６ｂｉｔの画素の画像データ＜１１１：９６＞と、スキャン変換指示信号ＳＣＡＮが入力された場合に選択される、０４番の記憶素子２１からの１６ｂｉｔの画素の画像データＲ０４が入力されている。
【００１９】
ここで、００番の記憶素子２１には、画素の画像データとして常にＤＩ＜１２７：１１２＞が入力され、７７番の記憶素子２１には、画素の画像データとして常にＤＩ＜１５：０＞が入力されると共に、画素の画像データの配列変換も行われないため、セレクタ２２は接続されていない。
【００２０】
図４は読み出し制御回路１２の構成例を示す図である。この読み出し制御回路１２は水平方向選択回路３１、垂直方向選択回路３２及び水平／垂直選択回路３３により構成されている。
【００２１】
水平方向選択回路３１の０番から７番の各入力端子には、記憶部１１から行単位に読み出された各１２８ｂｉｔの画像データが入力されると共に、４ｂｉｔの行単位又は列単位の読み出しアドレスＲＡ＜３：０＞のうち、下位３ｂｉｔ＜２：０＞が入力されている。
【００２２】
また、垂直方向選択回路３２の０番から７番の各入力端子には、記憶部１１から列単位に読み出された各１２８ｂｉｔの画像データが入力されると共に、４ｂｉｔの行単位又は列単位の読み出しアドレスＲＡ＜３：０＞のうち、下位３ｂｉｔ＜２：０＞が入力されている。
【００２３】
さらに、水平／垂直選択回路３３の０番と１番の入力端子には、水平方向選択回路３１により選択された１２８ｂｉｔの画像データと垂直方向選択回路３２により選択された１２８ｂｉｔの画像データが入力されると共に、４ｂｉｔの行単位又は列単位の読み出しアドレスＲＡ＜３：０＞のうち、上位１ｂｉｔ＜３＞が入力されている。
【００２４】
このように、４ｂｉｔの読み出しアドレスＲＡ＜３：０＞のうち、下位３ｂｉｔにより、共通的に水平方向選択回路３１及び垂直方向選択回路３２の入力を選択し、上位１ｂｉｔにより、読み出しアドレス０番地から７番地までの行単位の読み出しと、読み出しアドレス８番地から１５番地までの列単位の読み出しを区別して水平／垂直選択回路３３の入力を選択している。
【００２５】
例えば、読み出しアドレスに０番地を指定すると、記憶部１１からの画像データＲ００，Ｒ０１，Ｒ０２，Ｒ０３，Ｒ０４，Ｒ０５，Ｒ０６，Ｒ０７が水平方向に上位から連接されて読み出され、１２８ｂｉｔの出力画像データＤＯ＜１２７：０＞として、水平方向選択回路３１及び水平／垂直選択回路３３により選択されて出力される。また、読み出しアドレスに８番地を指定すると、記憶部１１からの画像データＲ００，Ｒ１０，Ｒ２０，Ｒ３０，Ｒ４０，Ｒ５０，Ｒ６０，Ｒ７０が垂直方向に上位から連接されて読み出され、１２８ｂｉｔの出力画像データＤＯ＜１２７：０＞として、垂直方向選択回路３２及び水平／垂直選択回路３３により選択されて出力される。
【００２６】
次に動作について説明する。
最初に、図２において、符号化側で水平オルタネートスキャン順序（第１のスキャン順序）で変換された画素の画像データ、すなわち、水平オルタネートスキャン変換された画素の画像データを、復号側で元の順序の画素の画像データに並び替える水平オルタネート逆スキャン変換について説明する。
【００２７】
図５は水平オルタネートスキャン変換を説明する図である。図において、０−０，０−１，０−２，・・・，７−７は、８行×８列の２次元に配列された１６ｂｉｔの画像データから構成される画素の番号を示し、画素間の矢印の順序に各画素をスキャンすることにより、水平オルタネートスキャン変換が行われる。すなわち、符号化側で水平オルタネートスキャン変換された結果、０−０，０−１，０−２，０−３，１−０，１−１，２−０，・・・，７−５，７−６，７−７の画素の順番でビットストリームにして復号側に伝送される。
【００２８】
復号側では、図１に示す画像処理用記憶回路の記憶部１１に、符号化側からの水平オルタネートスキャン変換された画素の画像データが入力画像データＤＩとして入力される。図１において、記憶部１１に、１ｂｉｔの書き込みイネーブル信号ＷＥを与えると共に、４ｂｉｔの行単位の書き込みアドレスＷＡ＜３：０＞を与えて、０番地、１番地、・・・、７番地のアドレスを順次指定することにより、図３に示す記憶部１１の各セレクタ２２の上から２番目の入力が行単位に選択されて、各記憶素子２１に画素の画像データが行方向に書き込まれる。
【００２９】
図６は水平オルタネートスキャン変換された画素の並びを記憶部１１の行方向に書き込まれた画素の配列を示す図である。すなわち、図３に示す記憶部１１において、００番の記憶素子２１に画素０−０、０１番の記憶素子２１に画素０−１、０２番の記憶素子２１に画素０−２、０３番の記憶素子２１に画素０−３、０４番の記憶素子２１に画素１−０、・・・、７７番の記憶素子２１に画素７−７がそれぞれ蓄積される。
【００３０】
画素の画像データの配列を変換するためのスキャン変換指示信号ＳＣＡＮが入力されると、図３に示す記憶部１１の各セレクタ２２は他の記憶素子２１からの画素の画像データを選択して対となる各記憶素子２１に書き込むことにより、図６に示す画素の配列が１サイクル（１処理単位）で変換される。
【００３１】
例えば、０１番の記憶素子２１前のセレクタ２２には、０４番の記憶素子２１からの画素の画素データＲ０４が入力されているので、図６に示す画素１−０の画像データが０１番の記憶素子２１に書き込まれる。また、１１番の記憶素子２１前のセレクタ２２には、０５番の記憶素子２１からの画素の画素データＲ０５が入力されているので、図６に示す画素１−１の画像データが１１番の記憶素子２１に書き込まれる。このようにして、図３に示す全てのセレクタ２２は他の記憶素子２１からの画素の画像データを１サイクルで対となる各記憶素子２１に書き込むことにより、画素の画像データの配列が変換される。
【００３２】
図７は水平オルタネートスキャン変換された画素の配列をスキャン変換指示信号ＳＣＡＮにより変換した場合の画素の配列を示す図である。図７に示すように、列方向に水平オルタネートスキャン変換する前の元の画素の順序、すなわち、０−０，０−１，０−２，０−３，０−４，０−５，０−６，０−７，１−０，・・・，７−５，７−６，７−７の画素の順序となっている。
【００３３】
図４に示す読み出し制御回路１２に、４ｂｉｔの列単位の読み出しアドレスＲＡ＜３：０＞を入力すると、すなわち、読み出しアドレス８番地から１５番地を順次指定することにより、水平／垂直選択回路３３は、垂直方向選択回路３２からの出力を選択し、図７に示す配列の画素の画像データが列単位に読み出されて、水平オルタネートスキャン変換する前の元の画素の画像データの順序となって、１２８ｂｉｔずつ出力画像データＤＯ＜１２７：０＞として出力する。
【００３４】
このように、水平オルタネートスキャン変換された画素の画像データを図３に示す記憶部１１に図６に示すように書き込み、蓄積されている画素の画像データの配列を１サイクルで図７に示す画素の画像データの配列に変換し、図７に示す画素の画像データを列方向に読み出すことにより、水平オルタネートスキャン変換された画素の画像データを水平オルタネート逆スキャン変換して、元の順序の画素の画像データを得ることができる。
【００３５】
次に図２において、符号化側で垂直オルタネートスキャン順序（第２のスキャン順序）で変換された画素の画像データ、すなわち、垂直オルタネートスキャン変換された画素の画像データを、復号側で元の順序の画素の画像データに並び替える垂直オルタネート逆スキャン変換について説明する。
【００３６】
図８は垂直オルタネートスキャン変換を説明する図である。図において、０−０，０−１，０−２，・・・，７−７は、８行×８列の２次元に配列された１６ｂｉｔの画像データから構成される画素の番号を示し、画素間の矢印の順序に画素をスキャンすることにより、垂直オルタネートスキャン変換が行われる。すなわち、符号化側で垂直オルタネートスキャン変換された結果、０−０，１−０，２−０，３−０，０−１，１−１，０−２，・・・，５−７，６−７，７−７の画素の順番でビットストリームにして復号側に伝送される。
【００３７】
復号側では、図１に示す画像処理用記憶回路の記憶部１１に、符号化側からの垂直オルタネートスキャン変換された画素の画像データが入力画像データＤＩとして入力される。図１において、記憶部１１に、１ｂｉｔの書き込みイネーブル信号ＷＥを与えると共に、４ｂｉｔの行単位の書き込みアドレスＷＡ＜３：０＞を与えて、０番地、１番地、・・・、７番地のアドレスを順次指定することにより、図３に示す記憶部１１の各セレクタ２２の上から２番目の入力が行単位に選択されて、各記憶素子２１に画素の画像データが行方向に書き込まれる。
【００３８】
図９は垂直オルタネートスキャン変換された画素の並びを記憶部１１の行方向に書き込まれた画素の配列を示す図である。すなわち、図３に示す記憶部１１において、００番の記憶素子２１に画素０−０、０１番の記憶素子２１に画素１−０、０２番の記憶素子２１に画素２−０、０３番の記憶素子２１に画素３−０、０４番の記憶素子２１に画素０−１、・・・、７７番の記憶素子２１に画素７−７がそれぞれ蓄積される。
【００３９】
画素の画像データの配列を変換するためのスキャン変換指示信号ＳＣＡＮが入力されると、図３に示す記憶部１１の各セレクタ２２は他の記憶素子２１からの画素の画像データを選択して対となる各記憶素子２１に書き込むことにより、図９に示す画素の配列が１サイクルで変換される。
【００４０】
例えば、０１番の記憶素子２１前のセレクタ２２には、０４番の記憶素子２１からの画素の画像データＲ０４が入力されているので、図９に示す画素０−１の画像データが０１番の記憶素子２１に書き込まれる。また、１１番の記憶素子２１前のセレクタ２２には、０５番の記憶素子２１からの画素の画像データＲ０５が入力されているので、図９に示す画素１−１の画像データが１１番の記憶素子２１に書き込まれる。このようにして、図３に示す全てのセレクタ２２は他の記憶素子２１からの画素の画像データを１サイクルで対となる各記憶素子２１に書き込むことにより、画素の画像データの配列が変換される。
【００４１】
図１０は垂直オルタネートスキャン変換された画素の配列をスキャン変換指示信号ＳＣＡＮにより変換した場合の画素の配列を示す図である。図１０に示すように、行方向に垂直オルタネートスキャン変換する前の元の画素の順序、すなわち、０−０，０−１，０−２，０−３，０−４，０−５，０−６，０−７，１−０，・・・，７−５，７−６，７−７の画素の順序となっている。
【００４２】
図４に示す読み出し制御回路１２に、４ｂｉｔの行単位の読み出しアドレスＲＡ＜３：０＞を入力すると、すなわち、読み出しアドレス０番地から７番地を順次指定することにより、水平／垂直選択回路３３は、水平方向選択回路３１からの出力を選択し、図１０に示す配列の画素の画像データが行単位に読み出されて、垂直オルタネートスキャン変換する前の元の画素の画像データの順序となって、１２８ｂｉｔずつ出力画像データＤＯ＜１２７：０＞として出力する。
【００４３】
このように、垂直オルタネートスキャン変換された画素の画像データを図３に示す記憶部１１に図９に示すように書き込み、蓄積されている画素の画像データの配列を１サイクルで図１０に示す画素の画像データの配列に変換し、図１０に示す画素の画像データを行方向に読み出すことにより、垂直オルタネートスキャン変換された画素の画像データを垂直平オルタネート逆スキャン変換して、元の順序の画素の画像データを得ることができる。
【００４４】
以上のように、水平オルタネートスキャン変換された画素の画像データ又は垂直オルタネートスキャン変換された画素の画像データを、図２に示す同じ単一の構成の記憶部１１により元の順序の画素の画像データに変換することができる。すなわち、水平オルタネートスキャン変換と垂直オルタネートスキャン変換のように、スキャンの順序が水平方向と垂直方向で転置の関係にあるスキャン変換の場合には、同じ単一の構成の記憶部１１により元の順序の画素の画像データに変換することができる。ただし、転置の関係にあるスキャンの種類により、記憶部１１の各セレクタ２２に入力される他の記憶素子２１から画素の画像データを変更する必要がある。
【００４５】
この実施の形態１では、符号化側からの水平オルタネートスキャン変換又は垂直オルタネートスキャン変換された画素の画像データを記憶部１１に書き込む際に、０番地から７番地のアドレスを順次指定して、行単位に行方向に各記憶素子２１に画素の画像データを書き込んでいるが、８番地から１５番地のアドレスを順次指定して、列単位に列方向に各記憶素子２１に画素の画像データを書き込んでも良い。ただし、記憶部１１の各セレクタ２２に入力される他の記憶素子２１からの画素の画像データを変更する必要がある。
【００４６】
以上のように、この実施の形態１によれば、水平オルタネートスキャン変換と垂直オルタネートスキャン変換のように、スキャンの順序が水平方向と垂直方向で転置の関係にあるスキャン変換が行われた画素の画像データを記憶部１１に書き込み、蓄積されている画素の画像データの配列を１サイクルで変換し、変換された画素の画像データを列単位又は行単位に読み出すことにより、元の順序の画素の画像データに並び替える処理を効率良く行うことができるという効果が得られる。
【００４７】
実施の形態２．
この発明の実施の形態２による画像処理用記憶回路の構成を示すブロック図は実施の形態１の図１と同じである。
【００４８】
図１１はこの発明の実施の形態２による画像処理用記憶回路の機能を説明する図である。符号化側では、画素の画像データをジグザグスキャン変換又は水平オルタネートスキャン変換又は垂直オルタネートスキャン変換を行ってビットストリームとして伝送する。復号側では、符号化側から伝送された画素の画像データを、どのスキャン変換された画素の画像データに対しても一度ジグザグ逆スキャン変換を行う。
【００４９】
符号化側でジグザグスキャン変換されている場合には、復号側でジグザグ逆スキャン変換して元の順序の画素の画像データに並び替えて出力する。また、符号化側で水平オルタネートスキャン変換されている場合には、復号側でジグザグ逆スキャン変換した後に、ジグザグスキャン変換と水平オルタネート逆スキャン変換を行って元の順序の画素の画像データに並び替えて出力する。さらに、符号化側で垂直オルタネートスキャン変換されている場合には、復号側でジグザグ逆スキャン変換した後に、ジグザグスキャン変換と垂直オルタネート逆スキャン変換を行って元の順序の画素の画像データに並び替えて出力する。
【００５０】
この実施の形態２における図１に示す画像処理用記憶回路は、図１１における復号側のジグザグスキャン変換と水平オルタネート逆スキャン変換、又はジグザグスキャン変換と垂直オルタネート逆スキャン変換を単一の回路構成により行うものである。符号化側で水平オルタネートスキャン変換又は垂直オルタネートスキャン変換されている場合に、この実施の形態２で、復号側でジグザグ逆スキャン変換とジグザグスキャン変換の処理を行っているのは、復号側の回路構成の実装上の理由によるものである。
【００５１】
図１２は記憶部１１の概略構成例を示す図である。この図１２に示す記憶部１１は、実施の形態１の図３に示す記憶部１１と比較して、各セレクタ２２に入力される他の記憶素子２１からの画素の画像データが異なっているのみで、その他の構成は同じである。
【００５２】
ただし、図１２の例では、１２番、２１番、３２番、４０番の記憶素子２１は画素の画像データの配列変換が行われないため、その前のセレクタ２２には、他の記憶素子２１からの画素の画像データは入力されていない。
【００５３】
次に動作について説明する。
図１３はジグザグスキャン変換を説明する図である。図において、０−０，０−１，０−２，・・・，７−７は、８行×８列の２次元に配置された１６ｂｉｔの画像データから構成される画素の番号を示し、画素間の矢印の順序に画素をスキャンすることにより、ジグザグスキャン変換が行われる。すなわち、符号化側でジグザグスキャン変換された結果、０−０，０−１，１−０，２−０，１−１，０−２，０−３，・・・，６−７，７−６，７−７の画素の矢印で示した順番でビットストリームにして復号側に伝送される。
【００５４】
復号側では、符号化側からのジグザグスキャン変換された図１３の矢印で示した順番の画素を、８行×８列のメモリ（図示せず）にジグザグ順に書き込むことによりジグザグ逆スキャン変換を行う。その結果、図１３に示す画素の配列となり、行方向に順次読み出すことにより、元の順序の画像データに並び替えて出力する。
【００５５】
次に図１１において、符号化側で水平オルタネートスキャン順序（第１のスキャン順序）で変換された画素の画像データ、すなわち、水平オルタネートスキャン変換された画素の画像データを、復号側で元の順序の画素の画像データに並び替える処理について説明する。
【００５６】
実施の形態１と同様に、符号化側で水平オルタネートスキャン変換された結果、図５に示すように、０−０，０−１，０−２，０−３，１−０，１−１，２−０，・・・，７−５，７−６，７−７の画素の順番でビットストリームにして復号側に伝送される。
【００５７】
復号側では、符号化側からの水平オルタネートスキャン変換された図５の矢印で示した順番の画素を、ジグザグ順に８行×８列のメモリ（図示せず）に書き込むことによりジグザグ逆スキャン変換を行う。
【００５８】
図１４は水平オルタネートスキャン変換後にジグザグ逆スキャン変換された画素の配列を示す図である。図１４において、矢印はジグザグ順に８行×８列のメモリに書き込む順序を示している。図１４に示した配列の画素の画素データが行方向に読み出されて図１に示す画像処理用記憶回路の記憶部１１に、入力画像データＤＩとして入力される。
【００５９】
図１において、記憶部１１に、１ｂｉｔの書き込みイネーブル信号ＷＥを与えると共に、４ｂｉｔの行単位の書き込みアドレスＷＡ＜３：０＞を与えて、０番地、１番地、・・・、７番地のアドレスを順次指定することにより、図１２に示す記憶部１１の各セレクタ２２の上から２番目の入力が行単位に選択されて、各記憶素子２１に画素の画像データが行方向に書き込まれる。
【００６０】
このようにして、水平オルタネートスキャン変換後にジグザグ逆スキャン変換された画素が図１２に示す記憶部１１の各記憶素子２１に書き込まれ、結果的には図１４に示す画素の配列となる。すなわち、図１２に示す記憶部１１において、００番の記憶素子２１に画素０−０、０１番の記憶素子２１に画素０−１、０２番の記憶素子２１に画素１−１、０３番の記憶素子２１に画素２−０、０４番の記憶素子２１に画素１−７、・・・、７７番の記憶素子２１に画素７−７がそれぞれ蓄積される。
【００６１】
画素の画像データの配列を変換するためのスキャン変換指示信号ＳＣＡＮが入力されると、図１２に示す記憶部１１の各セレクタ２２は他の記憶素子２１からの画素の画像データを選択して対となる各記憶素子２１に書き込むことにより、図１４に示す画素の画素データの配列が１サイクルで変換される。
【００６２】
例えば、０１番の記憶素子２１前のセレクタ２２には、１１番の記憶素子２１からの画素の画像データＲ１１が入力されているので、図１４に示す画素１−０の画像データが０１番の記憶素子２１に書き込まれる。また、１１番の記憶素子２１前のセレクタ２２には、０２番の記憶素子２１からの画素の画像データＲ０２が入力されているので、図１４に示す画素１−１の画像データが１１番の記憶素子２１に書き込まれる。このようにして、図１２に示す全てのセレクタ２２は他の記憶素子２１からの画素の画像データを１サイクルで対となる各記憶素子２１に書き込むことにより、画素の画像データの配列が変換される。
【００６３】
変換された画素の配列は実施の形態１と同様に図７となる。図７に示すように、列方向に水平オルタネートスキャン変換する前の元の画素の順序、すなわち、０−０，０−１，０−２，０−３，０−４，０−５，０−６，０−７，１−０，・・・，７−５，７−６，７−７の画素の順序となっている。
【００６４】
図４に示す読み出し制御回路１２の処理は実施の形態１と同様である。すなわち、読み出しアドレス８番地から１５番地を順次指定することにより、水平／垂直選択回路３３は、垂直方向選択回路３２からの出力を選択し、図７に示す配列の画素の画像データが列単位に読み出されて、水平オルタネートスキャン変換する前の元の画素の画像データの順序となって、１２８ｂｉｔずつ出力画像データＤＯ＜１２７：０＞として出力する。
【００６５】
このように、水平オルタネートスキャン変換後にジグザグ逆スキャン変換された画素の画像データを、図１２に示す記憶部１１に図１４に示すように書き込み、蓄積されている画素の画像データの配列を１サイクルで図７に示す画素の画像データの配列に変換し、図７に示す画素の画像データを列方向に読み出すことにより、水平オルタネートスキャン変換後にジグザグ逆スキャン変換された画素の画像データを、ジグザグスキャン変換と水平オルタネート逆スキャン変換を行って、元の順序の画素の画像データを得ることができる。
【００６６】
次に図１１において、符号化側で垂直オルタネートスキャン順序（第２のスキャン順序）で変換された画素の画像データ、すなわち、垂直オルタネートスキャン変換された画素の画像データを、復号側で元の順序の画素の画像データに並び替える処理について説明する。
【００６７】
実施の形態１と同様に、符号化側で垂直オルタネートスキャン変換された結果、図８に示すように、０−０，１−０，２−０，３−０，０−１，１−１，０−２，・・・，５−７，６−７，７−７の画素の順番でビットストリームにして復号側に伝送される。
【００６８】
復号側では、符号化側からの垂直オルタネートスキャン変換された図８の矢印で示した順番の画素を、ジグザグ順に８行×８列のメモリ（図示せず）に書き込むことによりジグザグ逆スキャン変換を行う。
【００６９】
図１５は垂直オルタネートスキャン変換後にジグザグ逆スキャン変換された画素の配列を示す図である。図１５において、矢印はジグザグ順に８行×８列のメモリに書き込む順序を示している。図１５に示した配列の画素の画素データが行方向に読み出されて図１に示す画像処理用記憶回路の記憶部１１に、入力画像データＤＩとして入力される。
【００７０】
図１において、記憶部１１に、１ｂｉｔの書き込みイネーブル信号ＷＥを与えると共に、４ｂｉｔの行単位の書き込みアドレスＷＡ＜３：０＞を与えて、０番地、１番地、・・・、７番地のアドレスを順次指定することにより、図１２に示す記憶部１１の各セレクタ２２の上から２番目の入力が行単位に選択されて、各記憶素子２１に画素の画像データが行方向に書き込まれる。
【００７１】
このようにして、垂直オルタネートスキャン変換後にジグザグ逆スキャン変換された画素が図１２に示す記憶部１１の各記憶素子２１に書き込まれ、結果的には図１５に示す画素の配列となる。すなわち、図１２に示す記憶部１１において、００番の記憶素子２１に画素０−０、０１番の記憶素子２１に画素１−０、０２番の記憶素子２１に画素１−１、０３番の記憶素子２１に画素０−２、０４番の記憶素子２１に画素７−１、・・・、７７番の記憶素子２１に画素７−７がそれぞれ蓄積される。
【００７２】
画素の画像データの配列を変換するためのスキャン変換指示信号ＳＣＡＮが入力されると、図１２に示す記憶部１１の各セレクタ２２は他の記憶素子２１からの画素の画像データを選択して対となる各記憶素子２１に書き込むことにより、図１５に示す画素の画像データの配列が１サイクルで変換される。
【００７３】
例えば、０１番の記憶素子２１前のセレクタ２２には、１１番の記憶素子２１からの画素の画像データＲ１１が入力されているので、図１５に示す画素０−１の画像データが０１番の記憶素子２１に書き込まれる。また、１１番の記憶素子２１前のセレクタ２２には、０２番の記憶素子２１からの画素の画像データＲ０２が入力されているので、図１５に示す画素１−１の画像データが１１番の記憶素子２１に書き込まれる。このようにして、図１２に示す全てのセレクタ２２は他の記憶素子２１からの画素の画像データを１サイクルで対となる各記憶素子２１に書き込むことにより、画素の画像データの配列が変換される。
【００７４】
変換された画素の配列は実施の形態１と同様に図１０となる。図１０に示すように、行方向に垂直オルタネートスキャン変換する前の元の画素の順序、すなわち、０−０，０−１，０−２，０−３，０−４，０−５，０−６，０−７，１−０，・・・，７−５，７−６，７−７の画素の順序となっている。
【００７５】
図４に示す読み出し制御回路１２の処理は実施の形態１と同様である。すなわち、読み出しアドレス０番地から７番地を順次指定することにより、水平／垂直選択回路３３は、水平方向選択回路３１からの出力を選択し、図１０に示す配列の画素の画像データが行単位に読み出されて、垂直オルタネートスキャン変換する前の元の画素の画像データの順序となって、１２８ｂｉｔずつ出力画像データＤＯ＜１２７：０＞として出力する。
【００７６】
このように、垂直オルタネートスキャン変換後にジグザグ逆スキャン変換された画像データを図１２に示す記憶部１１に図１５に示すように書き込み、蓄積されている画素の画像データの配列を１サイクルで図１０に示す画素の画像データの配列に変換し、図１０に示す画素の画像データを行方向に読み出すことにより、垂直オルタネートスキャン変換後にジグザグ逆スキャン変換された画素の画像データを、ジグザグスキャン変換と垂直オルタネート逆スキャン変換を行って、元の順序の画素の画像データを得ることができる。
【００７７】
以上のように、水平オルタネートスキャン変換後にジグザグ逆スキャン変換された画素の画像データ、又は垂直オルタネートスキャン変換後にジグザグ逆スキャン変換された画素の画像データを、図１２に示す同じ単一の構成の記憶部１１により元の順序の画素の画像データに変換することができる。すなわち、水平オルタネートスキャン変換と垂直オルタネートスキャン変換のように、スキャンの順序が水平方向と垂直方向で転置の関係にあるスキャン変換の場合には、同じ単一の構成の記憶部１１により元の順序の画素の画像データに変換することができる。ただし、転置の関係にあるスキャンの種類により、記憶部１１の各セレクタに入力される他の記憶素子２１からの画素の画像データを変更する必要がある。
【００７８】
この実施の形態２では、水平オルタネートスキャン変換後にジグザグ逆スキャン変換又は垂直オルタネートスキャン変換後にジグザグ逆スキャン変換された画素の画像データを記憶部１１に書き込む際に、０番地から７番地のアドレスを順次指定して、行単位に行方向に各記憶素子２１に画素の画像データを書き込んでいるが、８番地から１５番地のアドレスを順次指定して、列単位に列方向に各記憶素子２１に画素の画像データを書き込んでも良い。ただし、記憶部１１の各セレクタ２２に入力される他の記憶素子２１からの画素の画像データを変更する必要がある。
【００７９】
以上のように、この実施の形態２によれば、水平オルタネートスキャン変換と垂直オルタネートスキャン変換のように、スキャンの順序が水平方向と垂直方向で転置の関係にあるスキャン変換された画像データを、ジグザグ逆スキャン変換して記憶部１１に書き込み、蓄積されている画素の画像データを１サイクルで配列を変換し、変換された画素の画像データを列単位又は行単位に読み出すことにより、元の順序の画素の画像データに並び替える処理を効率良く行うことができるという効果が得られる。
【００８０】
実施の形態３．
図１６はこの発明の実施の形態３による画像処理用記憶回路の構成を示すブロック図である。基本構成は実施の形態１の図１と同じであり、図１では、１ｂｉｔの書き込みイネーブル信号ＷＥであったが、図１６では、８ｂｉｔの書き込みイネーブル信号ＷＥ＜７：０＞となっている点が相違している。この８ｂｉｔの書き込みイネーブル信号ＷＥ＜７：０＞は、記憶回路１１の１列又は１行分となる８個の記憶素子２１のうちの１個にそれぞれ対応しており、任意の記憶素子２１を個別に選択して画像データを書き込むこと可能である。
【００８１】
この８ｂｉｔの書き込みイネーブル信号ＷＥ＜７：０＞により、例えば、ＭＰＥＧ等の画像データにおけるＤＣ（直流）成分にあたる００番の記憶素子２１のみを書き換えることもできる。
【００８２】
その他の、蓄積されている画素の画像データの配列変換の処理、配列変換後の画素の画像データの読み出しの処理については、実施の形態１や実施の形態２と同様である。
【００８３】
以上のように、この実施の形態３によれば、水平オルタネートスキャン変換と垂直オルタネートスキャン変換のように、スキャンの順序が水平方向と垂直方向で転置の関係にあるスキャン変換が行われた画素の画像データを記憶素子単位に記憶部１１に書き込み、蓄積されている画素の画像データの配列を１サイクルで変換し、変換された画素の画像データを列単位又は行単位に読み出すことにより、元の順序の画素の画像データに並び替える処理を効率良く行うことができると共に、所定の記憶素子に蓄積されている画素の画像データを書き換えることができるという効果が得られる。
【００８４】
【発明の効果】
以上のように、この発明によれば、複数行及び複数列の２次元に配置された複数の記憶素子を有し、第１のスキャン順序で変換された画素の画像データ、又は第２のスキャン順序で変換された画素の画像データを記憶素子に蓄積し、所定の記憶素子に蓄積されている画素の画像データを１処理単位で他の所定の記憶素子に蓄積することにより、画素の画像データの２次元の配列を変換する記憶部と、記憶素子に蓄積されている２次元の配列変換後の画素の画像データを列単位又は行単位に読み出す読み出し制御回路とを備えたことにより、元の順序の画素の画像データに並び替える処理を効率良く行うことができるという効果がある。
【図面の簡単な説明】
【図１】この発明の実施の形態１による画像処理用記憶回路の構成を示すブロック図である。
【図２】この発明の実施の形態１による画像処理用記憶回路の機能を説明する図である。
【図３】この発明の実施の形態１による画像処理用記憶回路における記憶部の概略構成例を示す図である。
【図４】この発明の実施の形態１による画像処理用記憶回路の読み出し制御回路の構成例を示す図である。
【図５】水平オルタネートスキャン変換を説明する図である。
【図６】水平オルタネートスキャン変換された画素の並びを記憶部の行方向にラスタスキャンして書き込まれた画素の配列を示す図である。
【図７】水平オルタネートスキャン変換された画素の配列をスキャン変換指示信号により変換した場合の画素の配列を示す図である。
【図８】垂直オルタネートスキャン変換を説明する図である。
【図９】垂直オルタネートスキャン変換された画素の並びを記憶部の行方向にラスタスキャンして書き込まれた画素の配列を示す図である。
【図１０】垂直オルタネートスキャン変換された画素の配列をスキャン変換指示信号により変換した場合の画素の配列を示す図である。
【図１１】この発明の実施の形態２による画像処理用記憶回路の機能を説明する図である。
【図１２】この発明の実施の形態２による画像処理用記憶回路における記憶部の概略構成例を示す図である。
【図１３】ジグザグスキャン変換を説明する図である。
【図１４】水平オルタネートスキャン変換後にジグザグ逆スキャン変換された画素の配列を示す図である。
【図１５】垂直オルタネートスキャン変換後にジグザグ逆スキャン変換された画素の配列を示す図である。
【図１６】この発明の実施の形態３による画像処理用記憶回路の構成を示すブロック図である。
【符号の説明】
１１  記憶部、１２  読み出し制御回路、２１  記憶素子、２２  セレクタ、３１  水平方向選択回路、３２  垂直方向選択回路、３３  水平／垂直選択回路。
【図１】
2004328626.tif 000003
【図２】
2004328626.tif 000004
【図３】
2004328626.tif 000005
【図４】
2004328626.tif 000006
【図５】
2004328626.tif 000007
【図６】
2004328626.tif 000008
【図７】
2004328626.tif 000009
【図８】
2004328626.tif 000010
【図９】
2004328626.tif 000011
【図１０】
2004328626.tif 000012
【図１１】
2004328626.tif 000013
【図１２】
2004328626.tif 000014
【図１３】
2004328626.tif 000015
【図１４】
2004328626.tif 000016
【図１５】
2004328626.tif 000017
【図１６】
2004328626.tif 000018