(57)【特許請求の範囲】
【請求項１】
第１の順序で入力に与えられる、デジタルのイメージバンドを表わす第１の画素ストリームを受け取って、該デジタルのイメージバンドを表わす第２のストリームを出力に第２の順序で出力するための再編成変換装置であり、ここにおいて、該第１の順序及び該第２の順序はラスター順とブロック順より選ばれるものであって同一順序ではなく、該ブロック順におけるブロックはＢ画素の幅及びＭ画素の高さを持つ２次元画素アレイであり、該イメージバンドは１列に並んだＭ個の該ブロックであり、ＷはＭの整数Ｎ乗であり、Ｂ，Ｍ，Ｎは正整数であって、
少なくともＷ×Ｂ×Ｍ画素分の記憶容量を持ち、画素入力、画素出力、アドレス入力、及び、該アドレス入力上のアドレスにより指定されたメモリロケーションより画素を取り出して、該取り出した画素を出力し、かつ、該画素入力からの画素を該アドレスにより指定された該メモリロケーションに格納するための手段を有するバンドメモリと、
該第１ストリーム中の画素に同期した画素クロックに接続されるとともに、カウント出力、キャリー入力及びキャリー出力を有するモジュロＢカウンタと、
それぞれカウント出力、キャリー入力及びキャリー出力を有するＮ＋１個のモジュロＭカウンタのアレイと、
該モジュロＭカウンタ及び該モジュロＢカウンタの各カウント出力を該バンドメモリの該アドレス入力に接続するためのアドレスバスと、
該モジュロＭカウンタのアレイに接続されかつ該モジュロＢカウンタのキャリー出力に接続された、該モジュロＭカウンタ及び該モジュロＢカウンタの該キャリー出力を該モジュロＭカウンタの選択されたキャリー入力に接続するためのキャリー信号ルーターとを具備し、ここにおいて、該モジュロＭカウンタによって生成されるアドレスシーケンスが第１の状態では該第１の順序にアドレスを連続させ、該第１の状態に続く第２の状態では該第２の順序にアドレスを連続させるように、キャリー入力が選択されることによって、１つのイメージバンドの画素を、該第１の状態において該第１の順序で該バンドメモリに読み込ませて、それを、次のイメージバンドの画素を該第１の順序で読み込ませつつ、該第２の順序で出力させる再編成変換装置。
【請求項２】
請求項１記載の再編成変換装置において、該キャリー信号ルーターは、
該モジュロＭカウンタ及び該モジュロＢカウンタの該キャリー出力を受け取り、選択したキャリー出力を該モジュロＭカウンタのキャリー入力及び状態クロックとして出力するよう接続された複数のマルチプレクサを具備し、該複数のマルチプレクサの該選択は、該複数のマルチプレクサの選択入力に入力された状態値によって決まり、かつ
該状態クロックによってクロッキングされ、かつ該選択入力に接続された、該状態値を提供するための状態マシンを具備する、ことを特徴とする再編成変換装置。
【請求項３】
請求項２記載の再編成変換装置において、該状態マシンは、該第１順序がラスター順で該第２順序が該ブロック順の時にはある方向に、該第１順序が該ブロック順で該第２順序が該ラスター順の時にはその逆の方向に、状態をカウントする、ことを特徴とする再編成変換装置。
【請求項４】
請求項１記載の再編成変換装置において、ＢとＭとが等しくないことを特徴とする再編成変換装置。
【請求項５】
請求項１記載の再編成変換装置において、該イメージバンド中の各画素は複数のカラー成分からなることを特徴とする再編成変換装置。
【請求項６】
請求項５記載の再編成変換装置において、該複数のカラー成分は赤−緑−青（ＲＧＢ）カラー空間上の座標であることを特徴とする再編成変換装置。
【請求項７】
第１の順序で入力に与えられる、デジタルのイメージバンドを表わす第１の画素ストリームを受け取って、該デジタルのイメージバンドを表わす第２のストリームを出力に第２の順序で出力するための再編成変換装置であり、ここにおいて、該第１の順序及び該第２の順序はラスター順とブロック順より選ばれるものであって同一順序ではなく、該ブロック順におけるブロックはＢ画素の幅及びＭ画素の高さを持つ２次元画素アレイであり、該イメージバンドは１列に並んだＷ個の該ブロックであり、Ｗはベース整数Ｐの整数Ｎ乗であり、Ｍは該ベース整数Ｐの整数Ｑ乗であり、Ｂ，Ｍ，Ｎ，Ｐ，Ｑ，Ｗは正整数であって、
少なくともＷ×Ｂ×Ｍ画素分の記憶容量を持ち、画素入力、画素出力、アドレス入力、及び、該アドレス入力上のアドレスにより指定されたメモリロケーションより画素を取り出して、該取り出した画素を出力し、かつ、該画素入力からの画素を該アドレスにより指定された該メモリロケーションに格納するための手段を有するバンドメモリと、
該第１ストリーム中の画素に同期した画素クロックと接続されるとともに、カウント出力、キャリー入力及びキャリー出力を有するモジュロＢカウンタと、
Ｎ＋Ｑ個のモジュロＰカウンタの循環接続のアレイとを具備し、各モジュロＰカウンタはカウント出力、次に低い順位のモジュロＰカウンタに相手先変更可能に接続されたキャリー入力、及び、次に高い順位のモジュロＰカウンタに相手先変更可能に接続されたキャリー出力を有し、かつ、
該モジュロＰカウンタ及び該モジュロＢカウンタの各カウント出力を該バンドメモリの該アドレス入力に接続するためのアドレスバスと、
該モジュロＰカウンタのアレイに接続されかつ該モジュロＢカウンタのあるキャリー出力に接続されたキャリー信号ルーターとを具備し、
該キャリー信号ルーターは、
ａ）現在の状態を指示するための手段、
ｂ）該モジュロＢカウンタの該キャリー出力を、該現在状態に応じて選択されたモジュロＰカウンタの該キャリー入力へ送るための手段、及び
ｃ）１つのイメージバンドが完全に該バンドメモリに読み込まれた時に該状態マシンを次の状態へ移行させるための手段を具備する、ことによって、該現在の状態において該第１の順序で該バンドメモリに読み込まれた１つのイメージバンドの画素が、該次の状態において該第２の順序で出力され、同時に次のイメージバンドの画素が該次の状態において該第１の順序で読み込まれるようなアドレスシーケンスを該バンドメモリの該アドレス入力に生成する、再編成変換装置。
【請求項８】
請求項７記載の再編成変換装置において、該状態マシンを該次の状態に移行させるための該手段は、該選択されたモジュロＰカウンタの次に低い順位に循環接続されたモジュロＰカウンタの該キャリー出力に応答して該状態マシンを該次の状態へ移行させる、ことを特徴とする再編成変換装置。
【請求項９】
請求項７記載の再編成変換装置において、現在の状態を指示するための該手段はＮ＋Ｑ個のセルからなる循環レジスタであり、該セル中の１つが特別な値を保持し、該選択されたモジュロＰカウンタは該特別値を保持した該セルに対応したモジュロＰカウンタである、ことを特徴とする再編成変換装置。
【請求項１０】
請求項９記載の再編成変換装置において、該特別値は１であり、該Ｎ＋１個のセル中のその他の値は０である、ことを特徴とする再編成変換装置。
【請求項１１】
請求項１０記載の再編成変換装置において、該循環レジスタはさらに、ある現在状態から次の状態への状態遷移毎に該循環レジスタの内容をＱセル分ローテートさせるための手段を具備する、ことを特徴とする再編成変換装置。
【請求項１２】
請求項１１記載の再編成変換装置において、該循環レジスタはさらに、該第１の順序がラスター順でかつ該第２の順序がブロック順である時に該循環レジスタの内容をＱセル分、ある方向へローテートさせ、該第１の順序がブロック順でかつ該第２の順序がラスター順である時に該循環レジスタの内容をＱセル分、逆の方向へローテートさせるための手段を具備する、ことを特徴とする再編成変換装置。
【請求項１３】
第１の順序で入力に与えられる、デジタルのイメージバンドを表わす第１の画素ストリームを受け取って、該デジタルのイメージバンドを表わす第２のストリームを出力に第２の順序で出力するための再編成変換装置であり、ここにおいて、該第１の順序及び該第２の順序はラスター順とブロック順より選ばれるものであって同一順序ではなく、該ブロック順におけるブロックはＢ画素の幅及びＭ画素の高さを持つ２次元画素アレイであり、該イメージバンドは１列に並んだＷ個の該ブロックであり、Ｗはベース整数Ｐの整数Ｎ乗より小さい整数であり、Ｍは該ベース整数Ｐの整数Ｑ乗であり、Ｂ，Ｍ，Ｎ，Ｐ，Ｑ，Ｗは正整数であって、
少なくともＷ×Ｂ×Ｍ画素分の記憶容量を持ち、画素入力、画素出力、アドレス入力、及び、該アドレス入力上のアドレスにより指定されたメモリロケーションより画素を取り出して、該取り出した画素を出力し、かつ、該画素入力からの画素を該アドレスにより指定された該メモリロケーションに格納するための手段を有するバンドメモリと、
該第１ストリーム中の画素に同期した画素クロックと接続されるとともに、カウント出力、キャリー入力及びキャリー出力を有するモジュロＢカウンタと、
Ｎ＋Ｑ個のモジュロＰカウンタの循環接続のアレイとを具備し、各モジュロＰカウンタはカウント出力、次に低い順位のモジュロＰカウンタに相手先変更可能に接続されたキャリー入力、及び、次に高い順位のモジュロＰカウンタに相手先変更可能に接続されたキャリー出力を有し、かつ
該モジュロＰカウンタ及び該モジュロＢカウンタの各カウント出力を該バンドメモリの該アドレス入力に接続するためのアドレスバスと、
該モジュロＰカウンタのアレイに接続されかつ該モジュロＢカウンタのあるキャリー出力に接続されたキャリー信号ルーターとを具備し、
該キャリー信号ルーターは、
ａ）  現在の状態を指示するための手段；
ｂ）  該モジュロＢカウンタの該キャリー出力を、該現在状態に応じて選択されたモジュロＰカウンタの該キャリー入力へ送るための手段、及び
ｃ）  １つのイメージバンドが完全に該バンドメモリに読み込まれた時に該状態マシンを次の状態へ移行させるための手段、を具備し、
かつ、
該画素クロックに同期し、該画素クロックのＷ×Ｂサイクル毎に１クロックサイクルを出力するクロック分周器と、
該クロック分周器に同期するとともに該Ｎ＋Ｑ個のモジュロＰカウンタの循環接続アレイに接続された、該クロック分周器の各クロックサイクルで、該モジュロＰカウンタのカウント値を、ＰＮの次の最高の倍数へ調整するためのスキップ手段とを具備することによって、
該現在の状態において該第１の順序で該バンドメモリに読み込まれた１つのイメージバンドのＷ×Ｍ個の画素が、該次の状態において該第２の順序で出力され、同時に次のイメージバンドの画素が該次の状態において該第１の順序で読み込まれるようなアドレスシーケンスを該バンドメモリの該アドレス入力に生成する、再編成変換装置。
【請求項１４】
請求項１３記載の再編成変換装置において、該バンドメモリは少なくともＰＮ×Ｂ×Ｍ画素分の記憶容量を有する、ことを特徴とする再編成変換装置。
【請求項１５】
請求項１３記載の再編成変換装置において、該クロック分周器は、該モジュロＰカウンタの該キャリー出力に接続されたクロック入力を持つ、Ｗ分の１の分周器である、ことを特徴とする再編成変換装置。
【請求項１６】
請求項１３記載の再編成変換装置において、該クロック分周器は、該画素クロックに接続されたクロック入力を持ち、Ｗ×Ｂ分の１に分周する分周器である、ことを特徴とする再編成変換装置。
【請求項１７】
請求項１３記載の再編成変換装置において、該状態マシンを該次の状態に移行させるための該手段は、該選択されたモジュロＰカウンタの次に低い順位に循環接続されたモジュロＰカウンタの該キャリー出力に応答して該状態マシンを該次の状態へ移行させる、ことを特徴とする再編成変換装置。
【請求項１８】
請求項１３記載の再編成変換装置において、現在の状態を指示するための該手段はＮ＋Ｑ個のセルからなる循環レジスタであり、該セル中の１つが特別な値を保持し、該選択されたモジュロＰカウンタは該特別値を保持した該セルに対応したモジュロＰカウンタである、ことを特徴とする再編成変換装置。
【請求項１９】
請求項１８記載の再編成変換装置において、該循環レジスタはさらに、ある現在状態から次の状態への状態遷移毎に該循環レジスタの内容をＱセル分ローテートさせるための手段を具備する、ことを特徴とする再編成変換装置。
【請求項２０】
第１の順序で入力に与えられる、デジタルのイメージバンドを表わす第１の画素ストリームを受け取って、該デジタルのイメージバンドを表わす第２のストリームを出力に第２の順序で出力するための再編成変換装置であり、ここにおいて、該第１の順序及び該第２の順序はラスター順とブロック順より選ばれるものであって同一順序ではなく、該ブロック順におけるブロックはＢ画素の幅及びＭ画素の高さを持つ２次元画素アレイであり、該イメージバンドは１列に並んだＷ個の該ブロックであり、かつ、Ｂ，Ｍ，Ｗは正整数であって、
Ｘ＝Ｗ×Ｍとして、少なくともＸ×Ｂ画素分の記憶容量を持ち、画素入力、画素出力、アドレス入力、及び、該アドレス入力上のアドレスにより指定されたメモリロケーションより画素を取り出して、該取り出した画素を出力し、かつ、該画素入力からの画素を該アドレスにより指定された該メモリロケーションに格納するための手段を有するバンドメモリと、
該第１ストリーム中の画素に同期した画素クロックと接続されるとともに、カウント出力、キャリー入力及びキャリー出力を有するモジュロＢカウンタと、
該モジュロＢカウンタのキャリー出力に接続されたシーケンシャルカウンタと、
アドレス入力が該シーケンシャルカウンタの出力に接続され、かつデータ出力が該バンドメモリの該アドレス入力に接続されたリードオンリーメモリ（ＲＯＭ）とを具備し、ここにおいて、該ＲＯＭは複数の画像セグメントを順に格納し、１つの画像セグメントはＸ個のＲＯＭロケーションであって、Ｘ値はそれぞれ、ある画像セグメントより第１の順序で読み出される第１の値系列と、その直後の画像セグメントより第２の順序で読み出される第２の値系列とが同一系列となるように順序付けられている、再編成変換装置。
【請求項２１】
ラスター順に入力に与えられる、デジタル画像を表わす入力画素ストリームを受け取るブロックベース画像圧縮装置であって、
少なくとも該デジタル画像の１つのイメージバンド分の記憶容量を持ち、画素入力、画素出力、アドレス入力、及び、該アドレス入力上のアドレスにより指定されたメモリロケーションより画素を取り出して、該取り出した画素を出力し、かつ、該画素入力からの画素を該アドレスにより指定された該メモリロケーションに格納するための手段を有するバンドメモリを具備し、ここにおいて、該イメージバンドは、Ｍ画素の高さ及びＷ×Ｂ画素の幅を持つ２次元画素アレイであり、Ｂは画素数で表わしたブロックの幅であり、かつ、Ｗは該イメージバンド中のブロック数であり、
かつ、
該画像圧縮装置の入力で受け取られる画素に同期し画素クロックと接続されるとともに、カウント出力、キャリー入力及びキャリー出力を有するモジュロＢカウンタと、
モジュロＷ×Ｍでカウントし、カウント値をカウント出力より出力するアドレスカウンタと、
該アドレスカウンタ及び該モジュロＢカウンタの各カウント出力を該バンドメモリの該アドレス入力に接続するためのアドレスバスと、
該アドレスカウンタの内部キャリー出力及び該モジュロＢカウンタのキャリー出力に接続され、該キャリー出力を該アドレスカウンタの選択された内部キャリー入力に接続するためのキャリー信号ルーターとを具備し、ここにおいて、第１のイメージバンドと第２のイメージバンドのためのアドレスシーケンスがラスターからブロックへ順序つける関係であり、該第２のイメージバンドと第３のイメージバンドのためのアドレスシーケンスもラスターからブロックへ順序付ける関係であるよう、該アドレスカウンタによって生成されるアドレスシーケンスがアドレスを順序付けるように、内部キャリー入力が選択されることによって、各イメージバンドの画素をラスター順に該バンドメモリに読み込ませて、ブロック順に出力させると同時に次のイメージバンドをラスター順に同じアドレスの系列へ読み込み、
かつ、
ブロック順に出力された該イメージバンドの画像ブロックを受け取るよう接続され、該画像ブロックを圧縮して圧縮画像ブロックとするためのブロック圧縮装置を具備する、ブロックベース画像圧縮装置。
【請求項２２】
請求項２１記載のブロックベース画像圧縮装置において、該ブロック圧縮装置はさらに、ブロック単位のコサイン変換器及びエントロピー符号器を具備する、ことを特徴とするブロックベース画像圧縮装置。
【請求項２３】
デジタル画像を表わす符号化されたブロックの入力ストリームを入力より受け取り、復号された画像の画素をラスター順に出力する画像復号装置であり、ここにおいて、イメージバンドは、Ｍ画素の高さ及びＷ×Ｂ画素の幅を持つ２次元の画素アレイからなり、Ｂはブロック数で表わした１ブロックの幅であり、Ｗは該イメージバンド中のブロック数であって、
該入力より符号化されたブロックを受け取るよう接続され、各符号化されたブロックを画像ブロックへ復号して、各符号化されたブロックを構成する画素を、各符号化されたブロックが復号された時に出力するためのブロック復号器と、
少なくとも該デジタル画像の１つのイメージバンド分の記憶容量を持ち、画素入力、画素出力、アドレス入力、及び、該アドレス入力上のアドレスにより指定されたメモリロケーションより画素を取り出して、該取り出した画素を出力し、かつ、該画素入力からの画素を該アドレスにより指定された該メモリロケーションに格納するための手段を有するバンドメモリと、
該ブロック復号器より出力される画素に同期した画素クロックと接続されるとともに、カウント出力、キャリー入力及びキャリー出力を有するモジュロＢカウンタと、
モジュロＷ×Ｍでカウントし、カウント値をカウント出力より出力するアドレスカウンタと、
該アドレスカウンタ及び該モジュロＢカウンタの各カウント出力を該バンドメモリの該アドレス入力に接続するためのアドレスバスと、
該アドレスカウンタの内部キャリー出力及び該モジュロＢカウンタのキャリー出力に接続され、該キャリー出力を該アドレスカウンタの選択された内部キャリー入力に接続するためのキャリー信号ルーターとを具備し、ここにおいて、第１のイメージバンドと第２のイメージバンドのためのアドレスシーケンスがブロックからラスターへ順序付ける関係であり、該第２のイメージバンドと第３のイメージバンドのためのアドレスシーケンスもブロックからラスターへ順序付ける関係であるよう、該アドレスカウンタによって生成されるアドレスシーケンスがアドレスを順序付けるように、内部キャリー入力が選択されることによって、各イメージバンドの画素をブロック順に該バンドメモリに読み込ませて、ラスター順に出力させると同時に次のイメージバンドをブロック順に同じアドレスの系列へ読み込む、画像復号装置。
【請求項２４】
請求項２３の画像復号装置において、該ブロック復号器はさらにエントロピー復号器及びブロック単位の逆コサイン変換装置を具備する、ことを特徴とする画像復号装置。
【請求項２５】
再編成変換装置によって第１の画素順序で受け取られて、該再編成変換装置により第２の画素順序で出力されるところの、１つのイメージバンドを構成する画素を並べ替えるための方法であって、ここにおいて、該第１の画素順序及び該第２の画素順序はラスター順とブロック順より選ばれた異順序であり、
マルチステージカウンタを用いて第１のアドレスシーケンスを生成するステップ、ただし、該マルチステージカウンタの１ステージは該再編成変換装置に受け取られる画素に同期してクロッキングされ、残りのステージは他のステージのキャリー出力によってクロッキングされ、
該第１のアドレスシーケンスを該バンドメモリのアドレス入力へ供給するステップ、
受け取った第１のイメージバンドの各画素を、該第１のアドレスシーケンスのアドレスによって指定されたバンドメモリのロケーションに格納するステップ、
該マルチステージカウンタのステージ間でキャリー信号の送り先を変更するステップ、
キャリー信号の送り先を変更した該マルチステージカウンタを用いて第２のアドレスシーケンスを生成するステップ、ただし、該第２のアドレスシーケンスが該バンドメモリに格納された画素を該第２の画素順序で指定するように、該キャリー信号の送り先が変更され、
該第２のアドレスシーケンスを該バンドメモリの該アドレス入力へ供給するステップ、
該第２アドレスシーケンスのアドレスにより指定されたバンドメモリのロケーションより第１のイメージバンドの画素を出力するステップ、及び
受け取った第２のイメージバンドの画素を該第２アドレスシーケンスの該アドレスにより指定された該ロケーションへ格納するステップ、よりなる画素変換方法。
【請求項２６】
請求項２５記載の画素変換方法であって、
後続の各イメージバンドが該バンドメモリに格納された後に該マルチステージカウンタのステージ間のキャリー信号の送り先を変更するステップ、
キャリー信号の送り先が変更された該マルチステージカウンタを用いて後続の各イメージバンドのためのアドレスシーケンスを生成するステップ、ただし、該アドレスシーケンスが該バンドメモリに格納された画素を該第２の画素順序で指定するように該キャリー信号の送り先が変更され、
該アドレスシーケンスを該バンドメモリの該アドレス入力へ供給するステップ、
該第２のアドレスシーケンスのアドレスによって指定されたバンドメモリのロケーションに格納済みのイメージバンドの画素を出力するステップ、及び
受け取った後続イメージバンドの画素を該アドレスシーケンスの該アドレスにより指定された該ロケーションに格納するステップをさらに有することを特徴とする画素変換方法。
【請求項２７】
請求項２５記載の画素変換方法において、該ブロック順におけるブロックは、Ｂ画素の幅及びＭ画素の高さを持つ２次元画素アレイであり、該イメージバンドは１列に並んだＷ個のブロックであり、ＷはＭの整数Ｎ乗であり、Ｂ，Ｍ，Ｎ及びＷは正整数である、ことを特徴とする画素変換方法。
【請求項２８】
請求項２７記載の画素変換方法において、該アドレスシーケンス生成ステップは、
モジュロＢカウンタと、Ｎ＋１個のモジュロＭカウンタのアレイとによって、イメージバンド内の画素の位置を指示するステップ、及び
該Ｎ＋１個のモジュロＭカウンタのアレイのキャリー入力とキャリー出力を、あるイメージバンドのためのアドレスシーケンスが第１の順序で、その次のイメージバンドのためのアドレスシーケンスが第２の順序になるように、接続変更するステップからなることを特徴とする画素変換方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、デジタル画像変換の分野に係り、特に、デジタル画像の画素をラスター順の画素ストリームよりブロック順の画素ストリームへ、またはその逆方向へ変換する技術に関する。
【０００２】
【従来の技術】
典型的なデジタル化された画像は画素値の集合によって表現され、各画素値は画像を覆う２次元格子上の１点における画像の色を示す。モノクロ画像の場合、画素値は、その格子点における画像の明暗の度合いを示す。カラー画像の場合、画素値は輝度に関する１成分（Ｙ）と、色差に関する２成分（Ｃｒ，Ｃｂ）、あるいは他のカラー空間、例えばＣＹＭＫ（シアン−黄−マゼンタ−黒）やＲＧＢ
（赤−緑−青）等の成分からなる。画素値に従った色または明暗度合を持つドットを、物理的なディスプレイ装置（テレビジョンやプリンタ等）によって、画素値の格子点に対応した位置に表示することによって、画像を見ることができる。画像ソースからディスプレイ装置へ、ある決まった順序で画素が与えられる場合、画像ソース及びディスプレイ装置はその画素順序に従わねばならない。例えば、ノンインターレース方式のコンピュータ用モニターは、表示すべき画素を、ある決まった順序すなわちラスター順で受け取る。
【０００３】
ラスター順では、画像の左上の画素よりスタートし、画像の最上ラインの画素が左側から右側のものへと続き、その後に画像の次ラインの画素が左側から右側へと続き、以下、画像の最下ラインの右下の画素まで同様に続く。普通、ある画像の画素のすぐ後に、次の画像の画素が続く。多数画像のストリームのための一つの規格が、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）の”Ｃｏｄｉｎｇ  ｏｆ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  ａｎｄ  Ａｓｓｏｃｉａｔｅｄ  Ａｕｄｉｏ−ｆｏｒ  Ｄｉｇｉｔａｌ  Ｓｔｏｒａｇｅ  Ｍｅｄｉａ”に述べられている。多数画像ストリームの一用途は、テレビジョンモニターに表示されるような動画像を生成することである。
【０００４】
デジタル画像の画素は、画像ソースから、ラスター順ディスプレイ装置でなくデジタルビデオプロセッサへ与えられる。画像用語では、”画像ソース”は画像を提供するもので、”画像シンク（ｓｉｎｋ）”は画像を利用するものである。ビデオプロセッサで遂行される処理の一つが画像の圧縮である。圧縮の一規格であるＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）は、まず画像を８×８画素の正方領域からなるブロックに分割し、つぎに、１ブロックずつ順に圧縮する。画像圧縮に関する従来技術で知られているように、画素を１ブロックずつ圧縮すると、殆どの画像で良好な圧縮率を得られる。しかしながら、画素のブロック分割は、圧縮すべき画像がラスター順の画像ソースより供給される場合、ビデオプロセッサが、１ブロックの画素全部を受け取るまで多数の走査ラインの画素を記憶しなければならないという、一つの問題を招来する。これとは逆に、ＪＰＥＧビデオ伸長装置（ｄｅｃｏｍｐｒｅｓｓｏｒ）の出力では画像がブロック順で与えられることとなっているが、このようなブロック順で画像が与えられる場合、画像シンクがラスター順の装置のときには、画素ストリームをブロック順からラスター順へ変換しなけれはならない。８×８のブロック順の場合、左上画素が最初に与えられ、続いて最上行の７画素が左から右へ順に与えられるが、これはラスター順の場合と同様である。しかし、８番目の画素の後に、第２ラインの最左の８画素が続く。このパターンを最初のブロックの第８行まで繰り返すと、第２ブロックの左上画素（画像の最上ラインの左から９番目の画素）が６５番目に出力されるべき画素となる。このようにして、第１ブロックの画素の次には、その右側の第２ブロックの画素が続き、さらにその右側の第３ブロックの画素が続き、最終的に画像の右端に到達する。このブロックの行は一つのイメージバンド（ｉｍａｇｅ  ｂａｎｄ）を定義する。最初のイメージバンドの後に次のイメージバンドが続くというようにして、最終的に画像全体が得られる。画素の並べ替え（再編成）に関するこれ以上の技術的背景については、ＪＰＥＧの”ＣＤ１０９１８−１    ＤｉｇｉｔａｌＣｏｍｐｒｅｓｓｉｏｎ  ａｎｄ  Ｃｏｄｉｎｇ  ｏｆ  Ｃｏｎｔｉｎｕｏｕｓ−Ｔｏｎｅ  Ｓｔｉｌｌ  Ｉｍａｇｅ”を参照されたい。
【０００５】
ラスター順画像をブロック順画像へ再編成するためのある変換装置は、１バンドずつ、ラスター順画像を２次元配列に読み込み、各画素をそのラスター位置に対応したメモリロケーションに格納する。一つのバンド全体が配列に格納されると（配列は少なくとも１つのバンドの画素分の容量を持つ）、これら画素はブロック順にメモリより読み出される。この変換装置は、ラスター順画素が連続ストリームをなし、かつ、ブロック順画素を連続ストリームで出力しなければならない場合には、実用的とはいえない。その理由は、配列を満たしている期間に出力ストリームに大きな空白が生じ、また、配列を吐き出している期間に入力が全く受付られないため入力ストリームに大きな遮断時間が生じるからである。
【０００６】
ブロック順画像をラスター順画像へ変換する同様の変換装置がある。
【０００７】
上記問題に対する解決法の一つは、２つのバンドメモリを使用し、それらを切り替えることによって連続的な入力及び出力を維持することである。一方のメモリを満たしている間に、他方のメモリを吐き出す。満たしていた側のメモリが満杯になり、かつ、吐き出していた側のメモリが空になった時に（これは同時でければならない）、それらの役割を入れ替える。これは”ピンポン”メモリとして知られている。
【０００８】
図１は、そのような２つのバンドメモリを用いて再編成を行なう再編成変換装置１０を示す。ラスターからブロックへの変換とブロックからラスターへの変換とは対称であるので、ここではラスターからブロックへの変換装置の一つのケースに限って詳細に述べる。
【０００９】
変換装置１０は、バンドメモリ０（１６）、バンドメモリ１（１８）、マルチプレクサ２０、アドレス発生器２２，２４、及びインバータ２６からなる。ラスター順に画素ストリームを取り込む入力が、両方のバンドメモリ０，１のデータ入力に結合される。状態信号を取り込むラインが、バンドメモリ０の書き込みイネーブル入力に結合されるとともに、インバータ２６を介してバンドメモリ１の書き込みイネーブル入力にも結合される。バンドメモリ０，１の出力はマルチプレクサ２０の入力に結合されるが、このマルチプレクサ２０は状態信号によって制御されるセレクト入力を有する。バンドメモリ０のアドレスはアドレス発生器２２によって与えられるが、バンドメモリ１のアドレスはアドレス発生器２４によって与えられる。アドレス発生器２２，２４は画素クロックによってクロッキングされるが、この画素クロックは画素ストリームより作成されるか、あるいは、画素ストリームに同期した他の信号源より供給される。アドレス発生器２２は読み書きされるバンドメモリ０内のロケーションを指定するアドレスを発生し、アドレス発生器２４はバンドメモリ１内の読み書きされるロケーションのアドレスを発生する。
【００１０】
最初に、状態信号が値０に設定されるが、これは現在状態が状態０であることを示す。状態０においては、状態信号によりバンドメモリ１に対する入力画素ストリームの書き込みがイネーブルされ、また、マルチプレクサ２０はバンドメモリ０からの画素を出力する。このようにして、状態０において、バンドメモリ１に画素が蓄積され、バンドメモリ０から画素が吐き出される。バンドメモリ１が満杯になり、かつバンドメモリ０が空になると、状態が状態１に変わる。
【００１１】
状態１では動作が逆になり、状態信号によってバンドメモリ０に対する入力画素ストリームの書き込みがイネーブルされ、マルチプレクサ２０はバンドメモリ１からの画素を出力するので、バンドメモリ０に画素が蓄積され、バンドメモリ１から画素が吐き出される。画素の再編成（並べ替え）が起こるのは、アドレス発生器２２，２４によって発生されたアドレスシーケンスが、一方のバンドメモリが蓄積中で他方のメモリが吐き出し中に一巡した時である。
【００１２】
ラスターからブロックへの変換装置の場合、アドレス発生器２４は状態０でラスター順のアドレスシーケンスを発生し、次に状態１でバンドメモリ１の画素をブロック順に読み出すアドレスシーケンスを発生することになろう。アドレス発生器２２も同様に動作するが、ラスター順のアドレスを状態１で発生し、ブロック順のアドレスを状態０で発生する。このようにして、連続した画素ストリームをバンドメモリ０又は１に取り込み、書き込み中でないバンドメモリより連続した画素ストリームを出力させることができる。
【００１３】
この変換装置１０は首尾よく再編成を行なうが、装置実現に必要なチップ・コストが大きい。例えば８画素×８画素のブロックで、画像幅が４０９６画素（５１２ブロック）であり、各画素を８ビット（１バイト）のデータで表現する場合、バンドメモリ０，１は６４ｋ（６５５３６）バイトのＲＡＭを必要とする。
【００１４】
上記説明で指摘したように、画像をブロック順からラスター順へ又はその逆方向へ変換するための、大容量のメモリを用いない改良された手段が望まれる。
【００１５】
【発明が解決しようとする課題】
よって本発明の目的は、ブロックからラスター及びラスターからブロックへの画素変換（並べ替え）を、より少ないメモリを用いて実行する改良された装置及び方法を提供することにある。
【００１６】
本発明のもう一つの目的は、画素変換におけるイメージバンド幅の選択自由度を増大することにある。
【００１７】
【課題を解決するための手段】
やや具体的に述べれば、本発明により提供される再編成変換装置は、イメージバンドをラスター順に読み込んでブロック順に出力し、及び／又は、イメージバンドをブロック順に読み込んでラスター順に出力する。一つのバンドメモリが、一つのイメージバンド中の画素数に相当する個数の画素を格納するために用意される。アドレス発生器がバンドメモリのアドレス入力に接続されるが、このアドレス発生器はバンドメモリを適当な順序に順序付ける一つのカウンタアレイ
（ｃｏｕｎｔｅｒ  ａｒｒａｙ）からなる。アドレス・シーケンシングの”適当な”順序とは、あるイメージバンドを入力順（ラスター順又はブロック順）に書き込み、出力順に出力できるような順序である。カウンタアレイは画素クロックによってインクリメントされ、また、カウンタアレイ中のカウンタから出るキャリー信号の一部はキャリー信号ルーター（ｒｏｕｔｅｒ）によって決められた先へ送られるが、このキャリー信号ルーターは状態マシン及び内部接続に基づいてキャリー信号の送り先を決める。
【００１８】
キャリー信号ルーターは、カウンタアレイ中のカウンタ群を一つの大きなカウンタとして動作させるように、カウンタのキャリー出力線とキャリー入力線とを接続する。キャリー信号ルーターは、最上位のカウンタのキャリー出力信号を状態マシンへ送り、また、クロックまたは分周クロックを最下位のカウンタのキャリー入力へ送る。状態マシンは、最上位のカウンタのキャリー出力によってクロックされた時に、状態を変化させることによって、カウンタアレイ中のカウンタのキャリー入出力接続を変更してカウンタアレイからバンドメモリへ出力されるアドレスシーケンスを変更する。状態マシン及びキャリー信号ルーターのセッティングの仕方によって、カウンタ群がブロックからラスターへの変換をするか、ラスターからブロックへの変換をするかが決まる。
【００１９】
第１の実施例においては、アドレス発生器は、イメージバンドの幅が各ブロックの高さの整数乗である場合における入力画素の再編成を行なわせる。一例では、イメージバンドの幅が４０９６画素（５１２ブロック）又は５１２画素（６４ブロック）で、８画素×８画素のブロックの再編成が行なわれる。
【００２０】
第２の実施例においては、アドレス発生器は、イメージバンドの幅があるベース数の整数乗で、各ブロックの高さも同ベース数の整数乗である場合における入力画素の再編成を行なわせる。これら二つの整数乗は同一であっても相違してもよい。一例では、イメージバンドの幅が２５６画素（３２ブロック）で、８画素×８画素のブロックの再編成が行なわれる。
【００２１】
第３の実施例においては、アドレス発生器は、イメージバンドの幅がブロックの高さの整数倍である場合における入力画素の再編成を行なわせる。一例では、イメージバンド幅が６４０画素（８０ブロック）で、８画素×８画素のブロックの再編成が行なわれる。
【００２２】
他の実施例では、アドレスのシーケンシングはＲＯＭによって与えられる。このＲＯＭ内にはアドレス発生器の連続した出力と等価なものが連続したアドレスに格納されているが、このＲＯＭに対するアドレスはシーケンシャルカウンタによって与えられる。
【００２３】
ある実施例では画素はカラー成分及び／又はサブサンプルされた成分からなるが、他の実施例ではモノクロ画像が再編成される。
【００２４】
【作用】
上にやや具体的に述べた本発明によれば、１つのバンドメモリを使用して、画素の並べ替え（再編成）変換を効率的に行なうことができる。そして、ハードウエアコストとイメージバンド幅とに関連して、第１の実施例によればハードウエアコストを最小にでき、第２の実施例によればハードウエアコストは第２実施例より増加するがイメージバンド幅の選択の自由度が増大し、さらに第３の実施例によればイメージバンド幅の選択の自由度が一層増大する。
【００２５】
なお、本発明の構成及び作用は、以下の説明によって、より明確になろう。また、本発明は、上記説明の範囲に限定されるものではなく、特許請求の範囲の記載によって定義されるものである。
【００２６】
【実施例】
本発明は、１バンド分のメモリだけを用いて、ラスターからブロック（又はブロックからラスター）への変換を遂行すべくなされたものである。これを達成するため、”リード−モディファイ−ライト”（ｒｅａｄ−ｍｏｄｉｆｙ−ｗｒｉｔｅ）メモリ動作が各画素毎に利用される。本発明が解決すべき一つの問題は、単一のバンドメモリに対して適当な順序で画素が読み書きされるようなシーケンスでアドレスを発生する必要があることである。一つのイメージバンドがバンドメモリに書き込まれる順序は、すぐ上に述べた従来のイメージバンドの書き込み順とは異なるが、その順序は結局は同じことになる。
【００２７】
以下の説明を通して、いくつかネーミング法を用いる。ブロック順画像のブロックそれ自体はラスターパターンに配列されているので、一度に処理するブロックは１バンド分すなわち１行分だけでよい。よって、特にことわらない限り、処理の単位は１つのイメージバンド、すなわち、１ブロックの高さで幅が画像幅に等しい範囲のブロック群である。したがって、画像を構成するバンド数（画像の高さを意味する）は重要でない。画像幅とブロックサイズについていくつか例を出すが、これに限定されるものではない。
【００２８】
値を表わすのに、以下の記号を用いる。Ｗはイメージバンドの幅（画像幅でもある）をブロック数で表わすために用いられる。イメージバンドは常にブロック整数個分の幅である。Ｂはブロックの幅を画素数で表わすために用いられ、Ｍはブロックの高さを画素数で表わすために用いられる。ＢとＭが等しい場合、ブロックは正方形の画素ブロックである。ある実施例においては、Ｍはある整数を表わし、Ｐはある整数のベース数を表わし、Ｑはある整数のベースのべき指数である。Ｗ，Ｂ，Ｍ，Ｎ，Ｐ，Ｑはそれぞれ独立に設計上の都合に応じ任意の正整数値をとることができるが、ある種の値は（例えばＭ＝０又は１，Ｂ＝０又は１等々）は不適切又は無意味である。
【００２９】
ここでは３つの実施例を提示して、ハードウエアコストとイメージバンド幅との兼ね合いを説明する。３つの実施例中、第１の実施例により最小のハードウエアコストが達成され。この第１実施例においては、１バンドあたりのブロック数はバンド高さのべきである（すなわち、あるＭ，Ｎに対しＷ＝ＭＮ）。
【００３０】
第２実施例においては、イメージバンド幅の選択に関する柔軟度が増加するが、ハードウエアコストの増大という犠牲をともなう場合もある。柔軟度の増加によって、幅（ブロック数）が任意のベース数の任意整数乗であるのと同様（高さもまた当該ベース数の整数乗である）、画像幅（ブロック数）をバンド高さの任意のべきとすることができるようになる（すなわち、あるＰ，Ｎ及びＱに対して、Ｗ＝ＰＮブロック、Ｍ＝ＰＱ画素）。
【００３１】
第３実施例においては、ハードウエアコストはさらに増加するが、さらに高い柔軟度が得られる。第３実施例では、イメージバンド中のブロック数をバンド高さの任意倍とすることができる（すなわち、あるＭ及びＮに対しＷ＝Ｍ×Ｎ）。これら３実施例をモノクロ画像を処理する場合について説明した後、一般的ケースについて、カラー画像の処理までサブサンプリングを伴う場合と伴わない場合について説明する。
【００３２】
場合によっては、説明を簡単にするため、ある一方向の変換だけ、例えばラスターからブロックへの変換だけについて論じる。しかし、ラスターからブロックへの変換とブロックからラスターへの変換は本質的に対称であるので、ある一方向の変換を論じる場合、その説明は他の方向の変換にもあてはまる。この説明中において用いられる”再編成変換装置”なる用語は、ブロック順からラスター順へ変換する変換装置、ラスター順からブロック順へ変換する変換装置、あるいは、そのどちらの方向の変換も制御の設定又は切り替えに応じて実行する変換装置を意味するものである。
【００３３】
図２は画素をブロック順からラスター順へも、ラスター順からブロック順へも変換する再編成変換装置６０のブロック図である。この変換装置６０がラスター順からブロック順への変換のために使用される場合を考える。変換装置６０は、ラスター順で受け取った入力画素をブロック順に出力される時まで格納するための一つのバンドメモリ６２と、一つのアドレス発生器６４とからなるが、アドレス発生器６４の詳細については他の図面と関連させて説明する。バンドメモリ６２はラスター順画素ストリームを受け取るための画素入力と、ブロック順の画素ストリームを出力するための画素出力を有する。アドレス発生器６４は、各画素の入力のタイミングをとるための画素クロック入力と、内部のカウンタ及びレジスタを規定の初期状態へリセットするためのリセット入力と、変換方向入力と、アドレスバス７０によってバンドメモリ６２のアドレス入力に接続されたアドレス出力とを有する。
【００３４】
画素クロック信号、リセット信号及び変換方向信号がアドレス発生器６４の画素クロック入力、リセット入力及び変換方向入力へそれぞれ与えられる。画素クロック信号はリード／ライトコントローラ６６のクロック入力へも与えられるが、このリード／ライトコントローラ６６はバンドメモリ６２のリード（ｒｅａｄ）制御入力に接続された出力とライト（ｗｒｉｔｅ）制御入力に接続された出力を有する。ある実施例では、画素クロック信号とリセット信号は入力中の画像データから作られ、また、ソフトウエアによって実現する実施例では、画素クロックを仮想クロックとしてもよい。以下の説明では、リセット信号はリセット中に論理１、その他の期間に論理０となる論理信号であり、変換（再編成）方向信号はブロックからラスターへの変換のとき論理０、ラスターからブロックへの変換のとき論理１になる論理信号であるとする。
【００３５】
アドレス発生器６４は、バンドメモリ６２に対するアドレスのストリームを発生するが、このストリーム中のアドレスの順序によって画素が並べ替えられる。画素クロックの１個毎に、バンドメモリ６２より１画素が出力され、かつ、再編成変換装置６０の入力の１画素がバンドメモリ６２に入れられる。しかしながら、処理されるべき最初のイメージバンドでバンドメモリ６２が一杯になった後は、入って来る画素を格納するための場所は、出ていく画素によって空いたバンドメモリ・ロケーションだけである。リード／ライトコントローラ６６は、バンドメモリ６２のリード制御線及びライト制御線を操作することによって、１つの画素がバンドメモリ６２から読み出されて出力された後に、その場所に新しい入力画素が格納されるようにする。
【００３６】
アドレス発生器６４によって供給されるアドレスは、このリード−ゼン−ライトサイクル（ｒｅａｄ−ｔｈｅｎ−ｗｒｉｔｅ  ｃｙｃｌｅ）の間変化しないので、出力画素と入力画素は同一アドレスを用いる。当然、変換装置６０は再編成変換装置であるから、アドレス発生器６４のアドレス出力に出るアドレスのシーケンスはイメージバンド毎に違っているが、これは、もし同一であると画素は入力された時と同じ順番で出力されることになったしまうからである。しかし、アドレス発生器６４によって出力されるアドレスのシーケンスは、バンド内のブロック数Ｗ、ブロック幅Ｂ、ブロック高さＭによって部分的に決まる。３種類（クラス）のアドレス発生器について以下に述べるが、それぞれ、あるＷ，Ｂの選択値の組み合わせに適合する（ただしＷ，Ｎの値によっては２種類以上のアドレス発生器を用い得る）。
【００３７】
画素の順序がどのようであろうと、最初の画素はイメージバンドの左上コーナーの画素であり、また、最後の画素はイメージバンドの右下コーナーの画素である。後に明かになるように、アドレスシーケンスのパターンは、イメージバンド毎に変化し（有効なケースの場合）、イメージバンドの最後の画素まで続くが、しかし、結局はパターンは繰り返す。一つの状態によって特定のパターンを識別でき、状態０は、これは任意ではあるが、アドレス発生器がリセットに続き最初のイメージバンドを読み込んでいる時の（すなわち、リセット信号が１から０に変化した時の）アドレス発生器の状態である。
【００３８】
＜クラス１：Ｂ（幅）×Ｍ（高さ）画素／ブロック；Ｗ＝ＭＮブロック＞
アドレス発生器の第１実施例は、画像幅Ｗ（ブロック数）がブロックの高さＭの整数乗である再編成変換装置に用いられる。ここで図３及び図４と関連して、アドレス発生器の一例を説明する。このアドレス発生器はブロックサイズがＢ＝８×Ｍ＝８、イメージバンドあたりの画像幅Ｗが５１２（８３）ブロック又は６４（８２）ブロック（それぞれ４０９６画素又は５１２画素）の画像の再編成を行なうラスターからブロックへの再編成変換装置に使用される。
【００３９】
図３はアドレス発生器１００のブロック図で、このアドレス発生器は５１２ブロック幅、８×８のブロックのイメージバンド中の画素を再編成するために変換装置６０で使用できる。アドレス発生器１００は、０から７までカウントできる５個のカウンタ１０４（番号０から４）、及びキャリールーター（ｃａｒｒｙ  ｒｏｕｔｅｒ）１０６からなる。カウンタ０〜４のキャリー出力（Ｃ０〜Ｃ４）はキャリー出力バス１１０によりキャリールーター１０６へ与えられる。カウンタ１〜４のカウント入力（Ｅ１〜Ｅ４）はキャリールーター１０６の出力をカウントイネーブルバス１１２により受けるように接続されている。カウンタ０のカウント入力は画素クロックである。各カウンタ１０４はリセット信号が付勢された時にリセットされる。リセット信号と変換方向信号がキャリールーター１０６へ与えられる。
【００４０】
Ｍ＝８であるから、各カウンタ１０４は３個のビットカウンタ１０２によって容易に実現される。ここで、カウンタ１０４はそのカウント入力（すなわち、カウンタ１０４の最下位ビットのカウンタ１０２のカウント入力）の１個毎に１ずつカウントアップし、現在カウント値（モジュロ８）を３本のビット線に出力し、また７から０への遷移時にキャリー信号を出力する。図３に示すように、５個のカウンタ１０４は合計１５ビットのカウンタ１０２を提供し、イメージバンド（４０９６画素幅×８画素高さ）中の２１５（３２７６３）個の画素の１つ１つのアドレス指定が可能である。これらのアドレス線は、Ａ１４からＡ０までの番号がつけられており、バンドメモリ６２のようなバンドメモリへ接続される。バス１１０上のキャリー出力Ｃ４〜Ｃ０からバス１１２上のカウント入力Ｅ４〜Ｅ０への特定の接続によって、アドレス線Ａ１４〜Ａ０上のアドレス出力のシーケンスは適当な再編成が行なわれるものになる。
【００４１】
カウンタ１０４のカウント入力の信号の付勢によって、その付勢時に同カウンタはインクリメントされるか、あるいは、同カウンタは画素クロックと同期してインクリメントできるようになるが、いずれであるかは構成に依存する。
【００４２】
適当なアドレスシーケンスをバンドメモリに供給するために、キャリールーター１０６は、５つのキャリー信号Ｃ０〜Ｃ４中の４つの信号を４つのカウント入力Ｅ１〜Ｅ４へ送り、残りのキャリー信号でイメージバンドの終了を指示する。キャリー接続が
Ｃ０→Ｅ１，Ｃ１→Ｅ２，Ｃ２→Ｅ３，Ｃ３→Ｅ４
の場合、アドレス発生器１００は０から３２７６７までのアドレスを値の小さい順番でアドレス線Ａ１４〜Ａ０に出力し、Ａ１４からのキャリーでイメージバンドの終了を指示する。これは状態０における最初の接続である（後述のように、現在の状態はキャリールーター１０６の内部で与えられる）。後に述べるように、キャリー信号Ｃ４は、付勢された時に、状態の遷移を生じさせるが、これが適当であるのは、Ｃ４の駆動されるのが最初のイメージバンドの読み込みが完了した直後（画素クロックの３２７６８”発”の後）だけであるからである。
【００４３】
当然のことながら、Ｂ又はＭが８以外である他の実施例では、カウンタ１０４の全部がモジュロ８のカウンタとなることはなく、カウンタ０はモジュロＢのカウンタ、カウンタ１〜４はモジュロＭのカウンタとなろう。この例では、Ｎ＝３であるが、これ以外のＮの値でも、カウンタ１〜４の機能はＮ＋１個のモジュロＭカウンタによって得られる。
【００４４】
図４はキャリールーター１０６のブロック図である。キャリールーター１０６はマルチプレクサアレイ１２０と状態マシン１２２からなる。マルチプレクサアレイ１２０は、この例では、４個のマルチプレクサ１２４（Ｍ１，Ｍ２，Ｍ３，Ｍ４）からなり、また、状態マシン１２２は２ビットカウンタ１２６とマルチプレクサ１２８からなる。各マルチプレクサは４つのデータ入力の１つを選択する（ｏｎｅ−ｏｆ−ｆｏｕｒ）型のマルチプレクサで、それぞれのセレクト入力は状態バス１３０によりカウンタ１２６の状態出力に接続されている。５個のマルチプレクサは、Ｃ０〜Ｃ４の各入力がＥ１〜Ｅ４として出力されるか、あるいはマルチプレクサ１２８の出力となるように接続されている。マルチプレクサ１２８の出力は、信号線１３２を介してカウンタ１２６のクロック入力へ与えられる。キャリールーター１０６に対するリセット入力はカウンタ１２６のリセット入力へ与えられ、変換方向信号はカウンタ１２６のＵＰ／ＤＯＷＮ＃入力に与えられる。
【００４５】
先に言及したように、マルチプレクサ１２４，１２８はそれぞれ、入力の１つを選択して出力するが、この選択はカウンタ１２６の”状態”によって決められる。Ｅ１〜Ｅ４出力はカウンタ１〜４（図３）のためのシーケンスを決定するので、マルチプレクサの入力の接続方法によってアドレス発生器１００の出力するアドレスのシーケンスが決まる。マルチプレクサＭ１〜Ｍ４の出力はＥ１〜Ｅ４にそれぞれ接続され、マルチプレクサＭ１〜Ｍ４の入力は第１表に示すとおりである。
【００４６】
0003574467.tif 000002
ここで、リセットに続くアドレスシーケンスの発生について図４と関連させて説明する。
【００４７】
リセット後は、カウンタ１２６は状態が状態０であることを示している。状態０においては、各マルチプレクサ１２４，１２８は、そのセレクト（ＳＥＬＥＣＴ）入力が０であるので、すべて”０”入力を出力に出す。その結果、キャリー出力の送り先は、ＣＯ→Ｅ１，Ｃ１→Ｅ２，Ｃ２→Ｅ３，Ｃ３→Ｅ４となり、Ｃ４がカウンタ１２６のクロックへ送られる。状態０においては、カウンタ１０４は順次カウントアップしていき、ついにＣ４が付勢されると、一つのイメージバンドの終了である。キャリー出力Ｃ４はカウンタ１２６のクロック入力に入力されるので、キャリー出力Ｃ４は状態０から状態１への遷移を起こさせる。状態１においては、キャリーの送り先は
Ｃ４→Ｅ１，Ｃ１→Ｅ２，Ｃ２→Ｅ３，Ｃ０→Ｅ４
となり、Ｃ３はカウンタ１２６のクロック入力へ送られる。このパターンは状態が変化すると変化し、状態３に続く状態０で初めから繰り返す。この例はラスターからブロックへの変換（方向＝１）の場合である。ブロックからラスターへの変換の場合、変換方向信号は０であり、カウンタ１２６は状態０から状態３まで変化し、次に状態２、状態１と変化して状態０へ戻る。このようにして、ラスターからブロックへの変換又はブロックからラスターへの変換のための適当なアドレスシーケンスが発生される。
【００４８】
要するに、状態０で発生されるアドレスはシーケンシャルなものであり、状態１で発生されるアドレスは、第１ブロックの第１画素行がアドレス指定され、続いて第１ブロックの第２画素行がアドレス指定されるようなものである。画素はラスター順に読み込まれているので、第１ブロックの第２画素行は最上位のモジュロＭカウンタ１０４をインクリメントすることで見つかる。これは実際には、状態１においてキャリー出力Ｃ０をカウンタ４のカウント入力へ結合することによってなされる。カウンタ０は本質的にブロック内のある画素行中の現在画素の位置を追跡しており、行の順序が変わっても、行中の画素の順序はラスター順、ブロック順のいずれの場合も同一である。したがって、カウンタ０のカウント入力は、アドレス発生器の状態が変わっても変化しない。
【００４９】
図３に示したキャリールーター１０６はＮ＝３の場合のもので、いずれの方向への変換も可能である。しかし、キャリールーター１０６は、ＵＰ／ＤＯＷＮ＃入力を除くか、又は入力を特定値に固定することによって、一方向の変換だけが必要な用途向けに容易に変形できる。キャリールーター１０６はまた、マルチプレクサアレイ１２０にＮ＋１個のマルチプレクサを持たせるとともに、カウンタ１２６にＮ＋１個の状態を持たせることによって、他のＮ値用に変形することもできる。
【００５０】
例えば、Ｎ＝２（画像幅Ｗが６４ブロック）ならば、マルチプレクサアレイ１２０は３個のマルチプレクサからなり、また、カウンタ１２６はラスターからブロックへの順序変換の場合には状態０−１−２−０−１−２，．．．と繰り返し、ブロックからラスターへの順序変換の場合には状態２−１−０−２−１−０，．．．と繰り返すことになる。各マルチプレクサ１２４は、３個の状態のそれぞれ毎に１つずつとして、３個の入力しか必要でない。これらの入力の接続を第２表に示す。
【００５１】
0003574467.tif 000003
Ｎ＝３の場合と同様、Ｎ＝２の変換装置は、状態カウンタがカウントアップすればラスターからブロックへの変換装置であり、状態カウンタがカウントダウンすればブロックからラスターへの変換装置である。Ｎ＝１用の変換装置は、状態カウンタが２つの状態しかカウントしないので、どの変換方向についても同一であることは明らかであろう。また、画像幅が異なれば、必要とされるバンドメモリのサイズが異なることも明かである。かかる再編成変換装置は、画像が５１２画素の幅を持つ一般的なビデオプロセシングシステムでの用途がある。
【００５２】
キャリー入出力が接続変更可能（ルータブル；ｒｏｕｔａｂｌｅ）なアドレス発生器とバンドメモリが１個だけの、ラスター順からブロック順へ又はブロック順からラスター順への画素順変換のための再編成変換装置について説明した。このような変換装置は、Ｂ画素幅でＭ画素高さのブロックサイズを使用し、かつブロック数で表わした画像幅がＭの整数乗である画像処理システムに使用できる。
【００５３】
図３及び図４に示したアドレス発生器は、カウンタ１０４をモジュロ１６のカウンタ、すなわち４ビットカウンタに変更することによって、１６×１６というような８×８以外のブロックサイズ用に変形することもできる。１０×１０のブロックの場合、カウンタ１０４は４ビットのＢＣＤ（２進化１０進）カウンタ又は１０進カウンタになろう。
【００５４】
＜クラス２：Ｂ×Ｍ画素／ブロック，Ｗ＝ＰＮブロック，Ｍ＝ＰＱ画素＞
アドレス発生器の第２実施例は、画像の幅Ｗ（ブロック数）がベース数Ｐの整数Ｎ乗、ブロックの高さＭがベース数Ｐの整数Ｑ乗である再編成変換装置に使用される。ここで、アドレス発生器の一例を図５から図７と関連させて説明する。ここに示したアドレス発生器が使用される再編成変換装置においては、Ｂ＝８，Ｐ＝２，Ｑ＝３（ブロックサイズは８×８画素，Ｍ＝２３＝８，Ｗ＝２５＝３２ブロックすなわち２５６画素）である。
【００５５】
図５はアドレス発生器２００のブロック図である。このアドレス発生器は３２ブロック幅、８画素×８画素／ブロックのイメージバンドの画素順序変換のために変換装置６０で用いることができる。
【００５６】
アドレス発生器２００は８個のカウンタユニット２３０とモジュロ８のカウンタ２１１とのアレイ２１０を有する。カウンタユニット２３０はモジュロ２つまり１ビットのカウンタであって、以下に述べるようにカウンタ２１１の各ビットカウンタに論理を付加したものと同様である。各カウンタ２１１，２３０は、アドレス出力Ａ１０〜Ａ０に対応してＣ１０〜Ｃ０の記号を付けて示されている。アドレス発生器２００は、３ビットずつローテート（回転）する８ビットのキャリー・ルーティング（ｒｏｕｔｉｎｇ）レジスタ２１２をも有し、このレジスタの各セルはＳ１０からＳ３の記号で表わされている。一つのカウンタユニット２３０の詳細を図７に示す。カウンタ２１１は画素クロックによってクロッキングされ、キャリー信号としてＣＡＲＲＹ８信号を出力する。
【００５７】
カウンタアレイ２１０はシーケンシャルアップカウンタ（ｓｅｑｕｅｎｔｉａｌ  ｕｐｃｏｕｎｔｅｒ）として動作するもので、各ビットカウンタのキャリーはその左側のカウンタのカウント入力をイネーブルし（Ｃ３はＣ１０の”左側”カウンタであり、Ｃ１０はＣ３の”右側”のカウンタである）、カウンタユニット２３０のキャリー出力の一つはキャリールーティングレジスタ２１２へ送られ、アレイ中のその隣の上位側のカウンタのキャリー入力にはＣＡＲＲＹ８信号が与えられる。キャリールーティングレジスタ２１２は、各カウンタＣ１０〜Ｃ３のＳＥＬ入力を利用してどのキャリーを送るか決定する。各カウンタユニット２３０は、ＳＥＬ入力及びアドレス出力のほかに、ＣＹ出力，ＣＸ出力，Ｅ０入力，Ｅ１入力を有する。Ｃ１０とＣ３は隣合うと考えられるため、Ｃ１０〜Ｃ３は”循環接続”のカウンタの組、すなわち、右側にも左側にもカウンタが１つずつある有限数のカウンタの組を形成する。これらの入力及び出力の用いられ方は図７を参照した説明中で明かにする。
【００５８】
レジスタ２１２の内容は常に７ビットが論理”０”で１ビットが論理”１”であるが、”１”の位置はアドレス発生器の状態に応じて変わる。なお、この状態はリセット後が状態０であるものとする。リセット信号によって、状態０の間だけＳ３セルに”１”を出させる。レジスタ２１２は３ビットずつローテートする（ｒｏｔａｔｅ−ｂｙ−３）カウンタであるので、後続の状態において、状態が遷移するたびに”１”が左または右へ３セル分移動する。状態遷移は、ＯＲゲート２２０の出力が真になることによって起きる。状態遷移時の”１”のローテート方向は、変換方向入力の値によって決まる。すなわち、その値が０のときには、ブロックからラスターへの変換を示しており”１”を左へ３セル分移動させる。一方、値が１であると、ラスターからブロックへの変換を示しているので”１”を右へ３セル分移動させる。
【００５９】
状態０において、Ｓ３内の”１”がカウンタＣ３のＳＥＬ入力に与えられ、カウンタＣ３のカウント入力をカウンタＣ２のキャリー出力であるＣＡＲＲＹ８信号に接続させる。”０”がＣ３のＳＥＬ入力に印加された時に、そのカウント入力はＣ１０のキャリー出力に接続される。そうでなくＳ３＝１の時は、Ｃ１０のキャリー出力はレジスタ２１２のＲＯＴＡＴＥ３入力へ送られるが、これについては後述する。他のカウンタＣ１０〜Ｃ４のそれぞれのＳＥＬ入力は”０”であるため、それらのキャリー出力（Ｃ１０以外）は左側のカウンタのカウント入力へ接続される。Ｃ１０がそのキャリー出力を付勢すると、状態遷移が起こって、レジスタ２１２は”１”を別の１つのカウンタユニット２３０に供給する。
【００６０】
図６はレジスタ２１２をより詳細に示すブロック図である。図示のように、Ｓ１０〜Ｓ３の各出力は８個のデータラッチ２２２（０．．．７）中の一つの出力であり、各データラッチの入力はマルチプレクサ２２４（０．．．７）の出力にそれぞれ接続される。データラッチ２２２（０．．．７）はそれぞれリセット信号によってクリアされ、またＲＯＴＡＴＥ３信号によりクロッキングされる。各マルチプレクサ２２４（０．．．７）は２つの入力を持ち、その一方を変換方向信号に基づき選択して出力する。マルチプレクサ２２４（０．．．７）の入力は第３表のとおりである。
【００６１】
0003574467.tif 000004
２個のインバータ２２６，２２８も設けられているため、リセット信号によってデータラッチ２２２（０．．．７）をクリアした時に、データラッチ２２２（０）の内容が外部へ１として出力される。
【００６２】
図７はカウンタユニット２３０を詳細に示す。カウンタ２１１（Ａ２〜Ａ０）は単純なモジュロ８カウンタを構成しているが、カウンタユニット２３０は、そのキャリー出力の接続変更（リルーティング；ｒｅｒｏｕｔｉｎｇ）のための論理が付加されている。図７に示すように、カウンタユニット２３０は、アレイ２１０内の第”ｉ”カウンタであり、ここでｉ＝３〜１０である。前述のように、カウンタユニット２３０はＳＥＬ入力、２つのキャリー出力ＣＸ，ＣＹ、２つのイネーブル（又はカウント）入力Ｅ０，Ｅ１、及び１ビットの出力ＯＵＴを持ち、この出力ＯＵＴはアドレス発生器２００により出力されるアドレスの第”ｉ”ビットとなる。Ｅ０入力は前ビットのカウンタ、すなわちカウンタ”ｉ−１”（ｉ＝３のときはＣ１０）のＣＹキャリー出力を受けるように接続され、Ｅ１入力はカウンタ２１１からのＣＡＲＲＹ８信号を受けるように接続される。Ｅ０，Ｅ１信号は２：１マルチプレクサ２３６に入力される。Ｓｉ信号はマルチプレクサ２３６のセレクト入力に接続される。カウンタ２１１のキャリー出力は信号ＣＹとして出力され、また、ＡＮＤゲート２３９の一つの入力である。ＡＮＤゲート２３９のもう一つの入力は第”ｉ＋１”カウンタユニット（ｉ＝１０のときはＣ３）のＳＥＬ入力であり、また、ＡＮＤゲート２３９の出力はカウンタユニット２３０のＣＸ出力である。
【００６３】
カウンタユニット２３０の動作は以下のとおりである。カウンタユニット２３０（Ｓｉ）のＳＥＬ入力が１の時に、そのＥ１入力のＣＡＲＲＹ８信号はカウンタ２１１のカウント入力に接続されることによって、ＣＡＲＲＹ８信号が付勢された時にカウンタ２１１をインクリメントさせる。ある実施例では、キャリーが付勢されたことがキャリー線上のパルスで示される。カウンタユニット２３０のＳＥＬ入力が０の時、Ｅ０入力のＣＹｉ−１信号はカウンタ２１１のカウント入力につながれる。カウンタ２１１の２回カウントに１回、”１”から”０”にインクリメントされた時にキャリー信号がカウンタ２１１より出力される。このキャリー信号はカウンタユニット２３０のＣＹｉ出力に直接出力されるとともに、Ｓｉ＋１とＡＮＤされてからＣＸｉ出力に出力される。
【００６４】
図５に戻って、アドレス発生器２００の動作を説明する。リセットされると、キャリールーティングレジスタ２１２の内容は”０００００００１”であるのでカウンタＣ１０〜Ｃ０はすべて０に設定される。画素クロックによってＡ２〜Ａ０を０から７までインクリメントし、０に戻るが、その時にＣ３のＥ１入力へのＣＡＲＲＹ８線へキャリーを送出する。レジスタ２１２は”０００００００１”に設定されているため、Ｃ３のＳＥＬ入力は１であるので、ＣＡＲＲＹ８信号はＣ３のカウント入力に接続され、その結果、カウンタＣ３は０から１に変化する。次の８クロックサイクルの後、ＣＡＲＲＹ８は再び駆動され、Ｃ３は０に戻って、そのキャリー出力を付勢する。このプロセスの繰り返しによって、他のカウンタＣ１０〜Ｃ４はＳＥＬ＝０であるため、Ｃ３からのキャリーが伝搬し、ついにＣ１０〜Ｃ０がすべて０になるが、この時には２１１（２０４８）画素の１つのイメージバンドの読み込みが完了しているはずである。
【００６５】
次の画素クロックサイクル（次のイメージバンドの最初の画素に対する第２０４９サイクル）の時点で、ビットカウンタ全部が０になり、Ｃ１０がそのＣＹ出力を付勢する。ｉ＝１０に対するＳｉ＋１はハイレベル（ｈｉｇｈ）であるので、Ｃ１０のＣＸ出力も付勢される。ＣＸ出力はすべてＯＲゲート２２０（図５）の入力に接続されているので、ＯＲゲート２２０はキャリービットをレジスタ２１２のＲＯＴＡＴＥ３入力に与える。レジスタ２１２のＤＩＲ入力の状態に応じ、レジスタ２１２内のセルの内容が左へ（ブロックからラスターへの変換）、あるいは、右へ（ラスターからブロックへの変換）、３セル分ローテートされる。レジスタ２１２は循環型で、一方の端からシフトアウトされたセル内容は他方の端へシフトインされる。したがって、ブロックからラスターへの変換の場合、キャリーレジスタ２１２の内容は、０００００００１，００００１０００，０１００００００，００００００１０，０００１００００，１０００００００，０００００１００，００１０００００，００００００００というシーケンスを繰り返す。一方、ラスターからブロックへの変換の場合、キャリーレジスタ２１２の内容は、０００００００１，００１０００００，０００００１００，１０００００００，０００１００００，００００００１０，０１００００００，００００１０００というシーケンスを繰り返す。いずれの場合でも、キャリーレジスタ２１２の内容は一つのイメージバンドの間中一定で、ＯＲゲート２２０の出力がハイレベルになる時に変化する。
【００６６】
論理的には、カウンタＣ１０〜Ｃ０は１１ビットカウンタを構成し、０から２０４７までの値のビットをアドレス線Ａ１０〜Ａ０へ整然と出力する。この”整然と”とは、多数ビットカウンタにおいて一般的であるように、Ａ１０が最上位ビットでＡ０が最下位ビットであるという意味である。しかし、最初のイメージバンドの後は、最下位ビットはＳＥＬ＝１のカウンタ中にあり、その右側のカウンタが最上位ビットである（Ｃ１０がＣ３の”右側”である）。したがって、Ｃ１０〜Ｃ３から構成される２８カウンタの最下位ビットから最上位ビットまでがイメージバンド毎に３ビットずつローテートされることになる。前述のように、ブロックの１行を構成する８ビットの組そのものは順番が入れ替わらないので、Ａ２〜Ａ０は変化しない。
【００６７】
キャリー入力及び出力がルータブルな（ｒｏｕｔａｂｌｅ）ビットカウンタを持つアドレス発生器と単一のバンドメモリを使用し、ラスター順からブロック順への画素再編成及びブロック順からラスター順への画素再編成のための再編成変換装置について説明した。このような変換装置は、ブロックサイズが８画素幅・８画素高さで画像幅が３２ブロックのときに画像中の画素の再編成を行なう場合に用いることができる。
【００６８】
この種類（クラス）のアドレス発生器は、それ以外のケースでも同様に用いることができ、例えば、１イメージバンドあたりのブロック数（Ｗ）及び画素数で表わしたブロックの高さ（Ｍ）が共通のベース数（Ｐ）の整数乗であるような画像処理システムすべてに、同様に用いることができる。Ｗ＝ＰＮ、Ｍ＝ＰＱ、ブロック幅がＢ画素が一般的ケースである。図５乃至図７の装置はＢ，Ｐ，Ｎ，Ｑの様々な値に合うよう容易に変形できる。例えば一般的ケースでは、カウンタ２１１は、モジュロＢのカウンタであってＣＡＲＲＹＢ信号をカウンタユニット２３０りＥ１入力へ出力し、カウンタユニット２３０はモジュロＰのカウンタであって、Ｎ＋Ｑ個のカウンタユニット２３０が必要であり、また、レジスタ２１２は状態が遷移するたびにＱセル分だけローテートするように設定される。ある実施例においては、Ｑがプログラム可能であるため、レジスタ２１２を様々なブロックサイズの場合に使用できる。
【００６９】
図５乃至図７に示した実施例を、イメージバンド幅（ブロック数）及びブロック高さが共通のベース整数のべきである場合について説明したが、本実施例は第１の実施例と同じパラメータの場合、すなわち、イメージバンド幅がブロック高さのべきである（これはＱ＝１と等価である）場合にも正常に動作する。さらに、第１実施例は、イメージバンド幅がブロック高さのべきではなく、共通のベース整数のべきである（Ｑ＞１，すなわちクラス２の例）場合に適合するように変形することも可能である。このような変形をするには、循環型シフトレジスタを、状態マシン及び同じルーティング選択値の組を得るに十分な個数のマルチプレクサと置き換える。例えば、キャリールーターが上記例のようにルーティング選択値Ｓ１０〜Ｓ３を持つならば、図５乃至図７に示した循環レジスタ又は同等のマルチプレクサと状態マシンによって同じ値を得ることができる。
【００７０】
＜クラス３：Ｂ×Ｍ画素／ブロック；Ｗ＝Ｍ×Ｎ＞
このアドレス発生器の第３実施例は、ブロック数で表わした画像幅Ｗがある整数で、Ｂ×Ｍ×Ｎのアドレスメモリが使用されている再編成変換装置に用いられる。かかる再編成変換装置においは、ＷはＮ以下である。ここで、Ｂ＝８、Ｍ＝８、Ｗ＝８０、Ｎ＝１２８（ブロックサイズが８×８画素、イメージバンド幅が８０ブロックつまり６４０画素、８×８×１２８つまり８１９２のアドレスメモリ）であるラスターからブロックへの再編成変換装置に使用するためのアドレス発生器の具体例について、図８及び図９を参照して説明する。
【００７１】
図８は、幅が８０ブロックで１ブロックあたり８×８画素のイメージバンド中の画素の再編成のために変換装置６０で使用できるアドレス発生器のブロック図である。アドレス発生器２５０は、アドレス発生器２００と類似しているが、各カウンタユニット２５８（カウンタ２３０に類似のもので詳細は図９に示されている）へ与えられるＣＡＲＲＹ６４０信号が追加されている。ＣＡＲＲＹ６４０信号はクロック分周器２６２によって得られる。クロック分周器２６２は、８クロック毎にＣ２より出力されるＣＡＲＲＹ８信号を受け取って、ＣＡＲＲＹ８が８０回入力する毎にＣＡＲＲＹ６４０キャリー出力にキャリーを出力する。クロック分周器２６２の分周数は８０、すなわちブロック数で表わした画像幅であるが、画像幅が異なれば、それに応じて分周数も変わる。ある実施例では、クロック分周器２６２はプログラマブル分周器である。
【００７２】
この例においては、メモリ２５２は最低、１イメージバンドについて、８０ブロック／バンド×８行／ブロック×８画素／行すなわち５１２画素を保持するに足る大きさでなければならない。一般的にメモリは２のべきのサイズのものしか得られないので、Ｍ及びＢが２のべきの時はＮも２のべきである。上記例で、５１２０画素を保持するために８１９２サイズのメモリが一般に用いられることになろう。
【００７３】
メモリ２５２のアドレス線の取扱いを簡単にするため、各１０２４ロケーション中の初めの６４０ロケーションだけが使用される。メモリ２５２がこのパターンで使用される場合、リセット後に最初のイメージバンドのために出力されるアドレスシーケンスは０，１，２．．．６３９，１０２４，１０２５．．．１６６３，２０４８．．．８１９２となろう。この例では、アレイ２５４中のカウンタユニットのキャリー入力とキャリー出力をＡ１２−Ａ１１−．．．−Ａ４−Ａ３−Ａ２−Ａ１−Ａ０のパターンで接続することにより、単に０．．．８１９２（２１３＝８１９２）のシーケンスを出力するように構成されている。このようにカウンタユニットを構成した場合、スキッピング（ｓｋｉｐｐｉｎｇ）シーケンスを得るためにアレイ２５４に必要とされる唯一の変更点は、１０２４画素の各セグメントの６４０番目の画素まで達した時に当該セグメントの最後までスキップするための手段である。アドレス発生器２００（図５）の場合と同様、２番目以降のイメージバンドに対するアドレスシーケンスは、レジスタ２６０中の単一の”１”をローテートすることによって、すなわち、カウンタＣ１２〜Ｃ３の”重み”をローテートすることによって得られる。
【００７４】
リセット後の最初のイメージバンドに関しては、キャリーレジスタ２６０の内容は”００  ００００  ０００１”（スペースは読み易くするために挿入した）であり、また、カウンタＣ１２〜Ｃ３は通常の重みを持ち、Ｃ１２が最上位、Ｃ３が最下位である（カウンタ２１１  Ａ２〜Ａ０は例外で、その重みは変化せず、また、常にＣ１２〜Ｃ３のどの重みよりも低い）。したがって、６４０画素がクロックインされた後、カウンタＣ１２〜Ｃ０の内容は”００  ０１０１  ００００  ０００”（十進の６４０）となり、ＣＡＲＲＹ６４０信号が付勢される。なお、アレイ２５４中のカウンタ出力の値を監視して６４０カウントの終了を判定する論理によって、クロック分周器２６２の役割をさせてもよい。ＣＡＲＲＹ６４０信号が付勢された時に、カウンタＣ１２〜Ｃ０の値が”００  １０００  ００００  ０００”（１０２４）に変更される。同じように、１６６４のカウント値に達した時に、カウント値は２０４８（”０１  ００００  ００００  ０００”に変更される。スキッピング論理は各１０２４画素セグメント毎に動作し、キャリー信号を１０２４ビットカウンタへ送って、ビット５１２からビット８までの全ビットをクリアする。ビット４，ビット２，ビット１（Ａ２〜Ａ０）は、この時点では０であるので、クリアされる必要がない。
【００７５】
上記例においては、画像幅が８０ブロックの場合、カウンタＣ３，Ｃ４，Ｃ５，Ｃ６，Ｃ８も、この時点で常に０になるけれどもクリアされる。というのは、これらカウンタは、画像幅が８０でない一般的なケースでは０にならないからである。
【００７６】
図９はアレイ２５４中の”ｉ”番目のカウンタユニット２５８を詳細に示すブロック図である。カウンタユニット２５８の入力ＳＥＬ，Ｅ０，Ｅ１及び出力ＣＸ，ＣＹの作用はカウンタユニット２３０（図７）と同様であるが、２入力のＡＮＤゲート２７０，２７２、３入力のＮＯＲゲート２７４及びＯＲゲート２７６からなる論理が追加されている。カウンタユニット２５８において、マルチプレクサ２３６の出力は、カウンタ２３２のカウント入力へそのまま入力するのではなく、ＯＲゲート２７６に入力する。ＯＲゲート２７６のもう一つの入力はＡＮＤゲート２７０の出力に接続される。ＡＮＤゲート２７０はＣＡＲＲＹ６４０信号とレジスタ２６０からのＳＡ入力との”ＡＮＤ”をとる。ＡＮＤゲート２７２の出力はカウンタ２３２のクリア入力に接続されるが、同出力はＣＡＲＲＹ６４０信号とＮＯＲゲート２７４の出力とを”ＡＮＤ”したものである。ＮＯＲゲート２７４の入力は、レジスタ２６０の３つの出力ＳＡ，ＳＢ，ＳＣである（ＳＡはＡＮＤゲート２７０の入力でもある）。実際の出力ＳＡ，ＳＢ，ＳＣはＳ１２〜Ｓ３より選ばれ、カウンタユニット毎に異なる。第４表は、レジスタ２６０のどの出力が各カウンタＣ１２〜Ｃ３のＳＡ，ＳＢ，ＳＣ入力になるかを示している。
【００７７】
0003574467.tif 000005
第４表に示した接続によって、カウンタアレイ２５４（図８）は、カウンタの重みがどのようにローテートされていようと関係なく、ある１０２４画素のセグメント中の６４０画素をカウントした後に同セグメントの最後へスキップするようになる。例えば、Ｓ３＝１（状態０）のときには、Ｃ１２〜Ｃ３のＮＯＲゲートの入力は、Ｃ１０（ＳＡ＝１），Ｃ１１（ＳＢ＝１）及びＣ１２（ＳＣ＝１）を除き、すべて０になる。Ｃ９〜Ｃ３のすべてのＮＯＲゲートの入力が０であるのでＣ９〜Ｃ３のＮＯＲゲートの出力は１であり、その結果、ＣＡＲＲＹ６４０信号が付勢された時にカウンタ２３２がクリアされる（０に設定される）。カウンタＣ１２〜Ｃ１０の内容は変化しない。ただし、Ｃ１０に関してはＳＡ＝１であるため、Ｃ１０のカウント入力においてはキャリー信号が付勢される。要するに、クリアと桁上がりの組み合わせによって、ビット５１２からビット１をゼロクリアしてビット１０２４をインクリメントする。
【００７８】
ビットの重みがローテートされた時、カウンタユニット２５８の論理はそのビット重みに従う。例えば、Ｃ７が最上位ビット（４０９６位のビット）でＣ８が最下位ビット（８位のビット、Ａ２〜Ａ０は常に４，２及び１の位のビットである）の時には、Ｃ６は２０４８位のビット、Ｃ５は１０２４位のビット、Ｃ４は５１２位のビット、Ｃ３は２５６位のビット、Ｃ１２は１２８位のビット、Ｃ１１は６４位のビット、Ｃ１０は３２位のビット、Ｃ９は３２位のビットである。この状態において、レジスタ２６０は、”００  ００１０  ００００”を保持するので、セレクト線Ｓ８は１、他のラインはすべて０である。第４表によれば、この状態において各カウンタユニット２５８のＳＡ，ＳＢ，ＳＣ入力は、Ｃ７
（ＳＣ＝１）、Ｃ６（ＳＢ＝１）、Ｃ５（ＳＡ＝１）すなわち４０９６位、２０４８位，１０２４位のビットを除いて、０である。ＡＮＤゲート２７２，２７４及びＮＯＲゲート２７４は、期待どおり作用し、Ｃ７〜Ｃ５以外の全てをクリアしてＣ５へキャリーを送る。
【００７９】
イメージバンド幅がブロック高さの倍数、例えば８倍の場合のための画素再編成変換装置について説明したが、この変換装置の様々な変形は当業者には明かであろう。例えば、他のブロックサイズも可能であり、一例を挙げれば、１６×１６画素のブロックも可能であり、そのためには１つのビットカウンタ２１１をビットカウンタＡ２〜Ａ０に追加し、１つのカウンタユニット２５８をアレイ２５４に追加し、１つのセルをレジスタ２６０（図８）に追加する。クロック分周器２６２の分周比を変えることによって、他の画像幅も可能である。プログラマブル分周器を使用することにより、同一回路で複数種類の幅が可能になる。幅が固定の回路に構成するのであれば、メモリ２５２の利用されないメモリセル（すなわち、幅が６４０の場合、６４０〜１０２３，１６６４〜２０４７等々のメモリセル）は用意する必要がない。
【００８０】
＜他の実施例：ＲＯＭベースのアドレス発生器＞
図１０はＲＯＭをアドレス発生器として使用した、再編集変換装置の他の実施例を示す。この変換装置３００は１つのバンドメモリ３０２を有し、このバンドメモリ３０２は、入力バス３０４より入力画素を受け取り、出力バス３０６に出力画素を出力する。バンドメモリ３０２に対して、リードオンリーメモリ（ＲＯＭ）３０８によりアドレスバス３１０を介しアドレスが与えられる。カウンタ３１２は、クロック線３１４上の画素クロック信号によってクロッキングされ、リセット線３１６上の信号によってリセットされる。カウンタ３１２はバス３１８を介しＲＯＭ３０８のアドレス入力と接続される。変換装置６０（図２）の場合と同様、バンドメモリ３０２から出力すべき画素が読み出される前に入力画素が上書きされないようにするため、リード／ライトコントローラ３２０が設けられている。
【００８１】
変換装置３００をラスターからブロックへの変換装置であるとする。最初に、変換装置３００に与えられた入力画素はメモリ３０２内の連続したロケーションに書き込まれ、この時にカウンタ３１２は単にクロックサイクル毎に１ずつカウントアップする。この時点では、ＲＯＭ３０８内のデータは、ＲＯＭ３０８への入力が、ＲＯＭ３０８のメモリ３０２への出力でもある、というようなものである（状態０）。しかし、メモリ３０２が一杯になった後は、入力画素の上書きはもっと複雑である。
【００８２】
メモリ３０２が１イメージバンド分の画素で一杯になった直後から、画素をブロック順に出力できる。この新しい状態、つまり状態１では、画素は入力時とは異なった順序で出力されるので、出力した画素のメモリロケーションを、入力する画素を格納するため再度使用しなければならない。その結果、２番目のイメージバンドの入力画素は最初のイメージバンドとは違うパターンで格納されることになる。
【００８３】
格納された画素を新しい順序で正しく出力させるために必要なアドレスシーケンスはＲＯＭ３０８内に格納されており、カウンタ３１２のカウントアップ動作によって出力される。カウンタ３１２は、上記例では、最初のイメージバンドの最後で３２７６７までカウントし（状態０）、第２イメージバンドの最初の画素でカウント値は３２７６８になる（状態１）。したがって、第２イメージバンドのための新しい画素順序はＲＯＭ３０８内の３２７６８より始まるロケーションに格納されている。ある実施例では、ＲＯＭ３０８の内容は、前述のアドレス発生器中のいずれかの動作をシミュレーションすることによって生成される。
【００８４】
当然、場合によっては、例えば８×８ブロックの場合、入力アドレス及び出力アドレスの最初の３ビットは同一であるので、この３ビットはＲＯＭ３０８に格納せず、カウンタ３１２から直接、メモリ３０２へ送ることができ、こうすることで１状態あたり４０９６個のＲＯＭロケーションしか必要でなくなる。
【００８５】
＜カラー及びサブサンプリング（ｓｕｂｓａｍｐｌｉｎｇ）＞
図１１はカラー画素前圧縮処理システム３８０内のラスターからブロックへの変換装置のブロック図である。この処理システム３８０は、その格別に必要とするときに画素を処理するための多重化・サブサンプリング論理３８２、３個の先入れ・先出し（ＦＩＦＯ）メモリ３８４、３個の再編成メモリ３８６、及び、アドレス発生器３８８からなる。３つのラスター順の入力画素ストリーム（Ｙ，
Ｃｒ，Ｃｂ）が論理３８２に入力する。ＦＩＦＯメモリ３８４は、論理３８２の出力に接続され、必要な場合に論理３８２より出力される３つの出力画素ストリーム（Ｙ，Ｃｒ，Ｃｂ）を成分ブロックにバッファする。アドレス発生器６４（Ｆｉｇ．２）の場合と同様、アドレス発生器３８８はクロック入力、リセット入力、アドレス出力を有する。アドレス発生器３８８のアドレス出力は、３個の再編成メモリ３８６のアドレス入力にアドレスバス３９０により接続され、同バスは各再編成メモリ３８６に同一のアドレスを供給する。
【００８６】
カラー画素処理動作においては、変換装置３８０は、クロック毎に、画素の３つのカラー成分を論理３８２に読み込んで処理し、処理後の成分をメモリ３８６に格納する。これらの処理後の成分はラスター順にメモリ３８６に書き込まれ、ある遅延時間後、アドレス発生器３８８の働きにより、画素はブロック順にメモリ３８６より論理３８２に読み出される。論理３８２は、その画素を、恐らくさらに処理してからＦＩＦＯメモリ３８４へ出力する。論理３８２は、サブサンプルされたカラー成分に関する問題に対処するために設けられている。
【００８７】
アドレス発生器３８８の動作はアドレス発生器６４の動作と同じである。すなわち、メモリの各ロケーションは、ある状態ではあるシーケンスでアドレス指定され、次の状態では次のシーケンスでアドレス指定されるが、各状態で全てのアドレスが出力され、かつ状態は最終的に繰り返しになる。アドレス発生器３８８とアドレス発生器６４との一つの相違点は、アドレス発生器３８８の単一の出力によって３個の再編集メモリ３８６を並列に制御することである。実質的には、変換装置６０は、１クロックあたり３つの入力カラー画素を１つの値としてメモリ６２に格納するならば、メモリ３８６及びアドレス発生器３８８の組み合わせと等価である。
【００８８】
論理３８２は、サブサンプリング・プロトコルに従ってカラー成分をサブサンプリングするような、ある種の実施例では、多少複雑である。例えば、２：１：１サブサンプリング用ＪＰＥＧ規格では、２個のカラー画素が、各カラー画素の輝度成分と、両カラー画素に適用可能な２つの色差成分とにより表現される。２：１：１サブサンプリングの場合、Ｃｒ及びＣｂ用のメモリ３８６を、輝度成分メモリの半分の大きさにすることができ、アドレス発生器３８８の最下位ビット
（Ａ０）は使用されない。
【００８９】
ＦＩＦＯメモリ３８４は、用途によって特に必要となった場合に、３つの成分ストリームの相互で画素の順序を入れ替えるために設けられている。ある用途では、論理３８２は画素をブロック順に提供し、各画素クロックサイクル毎に１画素の３成分を出力するが、画像シンク（最終的な画像のユーザ／受取り手である装置又はプロセス）では、ブロック中の画素の全ての第１成分を含む１ブロック分を受取り、続いて１ブロック分の第２成分を受け取り、最後に１ブロック分の第３成分を受け取ることを期待する。ＦＩＦＯメモリ３８４は、このような順序を可能にする。例えば、サブサンプリングなしで、各画素が１つの輝度成分、赤−緑の差の色差（Ｃｒ）成分、青−緑の差の色差（Ｃｂ）成分からなるものとする。論理３８２は、各画素クロック毎に、１画素の輝度成分、Ｃｒ成分、及びＣｂ成分をブロック順に出力する。ＦＩＦＯメモリ３８４は、これらの成分を、最初に１ブロック分の輝度成分が出力され、続いて１ブロック分のＣｒ成分が出力され、最後に１ブロック分のＣｂ成分が出力されるようにバッファリングする。変換装置３８０は、１クロックあたり１画素を処理するのでなく、成分クロックの１サイクルあたりに１成分を処理することも可能である。かかるシステムにおいても、アドレス発生器は依然として画素クロックによってクロッキングされることになろう。１画素の各成分を同時に読み込んでもよいし（並列入力）、１度に一つずつ読み込んでもよい（直列入力）。
【００９０】
＜デジタル画像圧縮／伸長システム＞
図１２（ａ）は、画素をラスター順からブロック順へ並べ替えてから圧縮するデジタル画像圧縮システム４００のブロック図である。画像圧縮システム４００は、デジタル画像ソース４０２、ラスターからブロックへの再編成変換装置４０４、１ブロック単位のデータ圧縮装置４０６からなる。ブロック数で表わした画像幅に応じて、アドレス発生器１００（図３）、同２００（図５）、同２５０（図８）、同３００（図１０）、あるいは同３８０（図１１）を変換装置４０４用のアドレス発生器として使用することができる。変換装置４０４は変換装置６０（図２）と同様でよい。デジタル画像ソース４０２は画素をラスター順に供給するが、データ圧縮装置４０２は画素をブロック順に処理する。画素の再編成をするために、変換装置４０４がデジタル画像ソース４０２とデータ圧縮装置４０６の間に設けられている。データ圧縮装置４０６は画像を符号化データとして出力するが、そのフォーマットはＨ．２６（ＣＣＩＴＴ，Ｓｐｅｃｉａｌｉｓｔｓ  Ｇｒｏｕｐ  ｏｎＣｏｄｉｎｇ  ｆｏｒ  Ｖｉｓｕａｌ  Ｔｅｌｅｐｈｏｎｙ，Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  Ｈ．２６１）、ＪＰＥＧ、ＭＰＥＧ、初期ＨＤＴＶ規格等、様々である。
【００９１】
図１２（ｂ）はデジタル画像伸長システム４２０のブロック図である。この画像伸長システム４２０は、伸長後に画素をブロック順からラスター順に並べ替えるもので、基本的に、図１２（ａ）の画像圧縮システムを逆にしたものである。符号化された（ブロック圧縮された）画像データは画像伸長システム４２０のブロック単位伸長装置４２２に与えられ、１ブロックずつブロックからラスターへの変換装置４２４へ送られ、この変換装置４２４より画素がラスター順にデジタル画像シンク４２６へ出力される。伸長装置４２２に供給される符号化データは、データ圧縮装置４０６より出力された符号化データであってもよい。画像シンク４２６は、実施例によって様々で、記憶装置、ディスプレイ装置、あるいはラスター順画素ストリームを用いる他のプロセスである。
【００９２】
図１２（ｃ）は他の実施例のデジタル画像圧縮システム４４０のブロック図である。この画像圧縮システム４４０は画像ソース４４２から画素をラスター順に受け取り、画像を表わすデータの符号化したブロックを出力する。圧縮システム４４０は画像ソース４４２、オプションのカラー変換器４４４、ラスタへからブロックへの変換装置４４６、ブロックベースの変換器４４８、エントロピー符号器４５０からなる。
【００９３】
画像ソース４４２はデジタル画像をラスター順の画素ストリームとして出力する。画像ソース４４２の出力はカラー変換器４４４（これが使用される場合）の入力に接続される。このカラー変換器４４４は、圧縮システムの設計上必要な場合、各画素のカラー座標をあるカラー空間から他のカラー空間へ変換する。例えば、画像ソース４４２より供給される画素はカラー成分がＲＧＢカラー空間上の座標であるが、圧縮システム４４０の出力に、ＹＵＶ（Ｙ，Ｃｒ，Ｃｂ）カラー空間上のカラー成分あるいはＣＹＭＫカラー空間上のカラー成分を持つ画素が必要であるとすると、カラー変換器４４４は１画素ずつ必要な変換を行なう。画像がモノクロ画像であれば、カラー変換器４４４は通常必要でない。カラー変換器４４４は画像をラスター順の画素群としてラスターからブロックへの変換装置４４６へ送り、これは画素をブロック順にブロックベースの変換器４４８へ送る。
【００９４】
ブロックベース変換器４４８は、ある実施例では離散的コサイン変換装置であるが、これはブロック中の画素の低い空間周波数成分が高い空間周波数成分より多い画像を圧縮する場合に有効であるが、その他の用途でも同様に有効である。ブロックベース変換器４４８は変換したブロックをエントロピー符号器４５０へ出力し、このエントロピー符号器４５０はこの変換後データを、一般的なエントロピー符号化法によって符号化データブロックに符号化する。
【００９５】
図１２（ｄ）はデジタル画像伸長システム４６０のブロック図である。この画像伸長システム４６０は、符号化データのブロックをラスター順に出力される画素ストリームへデコードするもので、圧縮システム４４０の逆システムとして使用できる。伸長システム４６０は、エントロピー復号器４６２、ブロックベースの変換器４６４、画像シンク４７０からなる。
【００９６】
画像データは画像伸長システム４６０に対して符号化画像データブロックとして与えられるが、これは普通、圧縮システム４４０のようなシステムにより供給される。この符号化画像ブロックはエントロピー復号器４６２に入力され、同復号器はエントロピー符号器４５０の逆処理を行なって画像ブロックをブロックベース変換器４６４へ出力する。ブロックベース変換器４６４はブロックベース変換器４４８の逆変換を行ない、画像の画素をブロック順にブロックからラスターへの変換装置４６６に対し出力する。ブロックからラスターへの変換装置４６６は画像の画素をブロック順からラスター順へ並べ替え、画素をカラー変換器４６８へ出力する。明らかなように、カラー変換器４８６はオプションであり、伸長システムの情報ストリーム中のブロックからラスターへの変換装置４６６の前に置くことできる。カラー変換器４６８の出力は、それが利用されるならば、画像シンク４７０へ供給される。この画像シンク４７０は、記憶装置、ディスプレイ装置、あるいはラスター順の画素ストリームを使用する他のプロセスである。
【００９７】
本発明の好適な実施例と、それを実施する最適態様を説明した。以上の記述は説明用であって本発明を限定するものではない。当業者には、本明細書の記述にてらし、本発明の多くの変形が明かになろう。あくまで一例であるが、本発明の変換装置は、非画像用途において、あるストリーム中のデータエレメントを別のストリームに並べ替える必要があり、かつ、メモリが貴重な場合に、使用可能である。さらに、入力及び出力画素ストリームを単一画素のストリームとして述べたが、例えば８画素を同時に受け取るような他のバス構成も可能である。
【００９８】
参考のために、クラス１及びクラス２のための上記再編成変換装置をソフトウエアで実現するプログラムの”Ｃ”言語ソースコードを次に示す。なお、ここに示したプログラムは、本発明の方法によりモノクロ画像のラスターからブロックへの変換及びブロックからラスターへの変換を行なうためのルーチンのほかに、比較のため、２つのメモリを使用する標準的な（従来の）変換方法のためのルーチンも含んでいる。また、画像幅は５１２ブロックと２５６ブロック、１ブロックは８×８画素となっている。
【００９９】
【表１】
0003574467.tif 000006
【０１００】
【表２】
0003574467.tif 000007
【０１０１】
【表３】
0003574467.tif 000008
【０１０２】
【表４】
0003574467.tif 000009
【０１０３】
【表５】
0003574467.tif 000010
【０１０４】
【表６】
0003574467.tif 000011
【０１０５】
【発明の効果】
以上の説明から明らかなように、請求項１乃至請求項２８に定義した本発明によれば、モノクロ画像又はカラー画像に関して、ラスターからブロックへの画素変換又はブロックからラスターへの画素変換を、少ないメモリを用いて効率的に行なうことができる。特に、請求項及びその従属項に記載の発明によれば画素変換のためのハードウエアコストを最小にすることができ、請求項７及びその従属項に記載の発明によればイメージバンド幅の選択自由度を増加させることができ、請求項１３及びその従属項に記載の発明によればイメージバンド幅の選択自由度をさらに増加させることができる、等の効果を得られるものである。
【図面の簡単な説明】
【図１】代表的な２バンドメモリ方式の画素再編成変換装置のブロック図である。
【図２】一つのアドレス発生器及び一つのバンドメモリを有する本発明による再編成変換装置の一実施例のブロック図である。
【図３】キャリールーターを用いたアドレス発生器の第１実施例のブロック図である。
【図４】図３に示したアドレス発生器に用いられるキャリールーターのブロック図である。
【図５】一つのキャリーレジスタと一つのカウンタアレイを用いたアドレス発生器の第２実施例のブロック図である。
【図６】図５に示したキャリーレジスタのブロック図である。
【図７】図５に示したカウンタアレイ中の一つのカウンタを、関連した補助回路を含めて示すブロック図である。
【図８】一つのキャリーレジスタと一つのカウンタアレイを用いたアドレス発生器の第３実施例のブロック図である。
【図９】図８に示したカウンタアレイ中の一つのカウンタを、関連した補助回路を含めて示すブロック図である。
【図１０】アドレス発生ＲＯＭを含む本発明による再編成変換装置の他の実施例のブロック図である。
【図１１】カラー成分を含む画素を処理するための本発明による再編成変換装置の他の実施例のブロック図である。
【図１２】（ａ）圧縮前にラスター順からブロック順へ画素を並べ替えるデジタル画像圧縮システムのブロック図である。
（ｂ）伸長後にブロック順からラスター順へ画素を並べ替えるデジタル画像伸長システムのブロック図である。
（ｃ）はラスター順からブロック順へ画素を並べ替えてからブロックベースの変換を画素に施すデジタル画像圧縮システムのブロック図である。
（ｄ）はブロックベースの変換を画素に施した後にブロック順からラスター順へ画素を並べ替えるデジタル画像伸長システムのブロック図である。
【符号の説明】
６０  再編成変換装置
６２  バンドメモリ
６４  アドレス発生器
６６  リード／ライトコントローラ
７０  アドレスバス
１００  アドレス発生器
１０２  ビットカウンタ
１０４  モジュロ８カウンタ
１０６  キャリールーター
１２０  マルチプレクサアレイ
１２２  状態マシン
１２４  マルチプレクサ
２００  アドレス発生器
２１０  カウンタアレイ
２１１  カウンタ
２１２  キャリールーティングレジスタ
２２０  ＯＲゲート
２２２  データラッチ
２２４  マルチプレクサ
２２６，２２８  インバータ
２３０  カウンタユニット
２３２  カウンタ
２３６  マルチプレクサ
２３９  ＡＮＤゲート
２５０  アドレス発生器
２５２  ８１９２画素メモリ
２５４  カウンタアレイ
２５８  カウンタユニット
２６０  キャリーレジスタ
２６１  ＯＲゲート
２６２  クロック分周器
２７０，２７２  ＡＮＤゲート
２７４  ＮＯＲゲート
２７６  ＯＲゲート
３００  再編成変換装置
３０２  バンドメモリ
３０８  アドレス発生ＲＯＭ
３１０  アドレスバス
３１２  カウンタ
３２０  リード／ライトコントローラ
３８０  再編成変換装置
３８２  多重化・サブサンプリング論理
３８４  ＦＩＦＯメモリ
３８６  再編成メモリ
３８８  アドレス発生器
４００  デジタル画像圧縮システム
４０２  デジタル画像ソース
４０４  再編成変換装置
４０６  ブロック単位のデータ圧縮装置
４２０  デジタル画像伸長システム
４２２  ブロック単位伸長装置
４２４  再編成変換装置
４２６  デジタル画像シンク
４４０  デジタル画像圧縮システム
４４２  画像ソース
４４４  カラー変換器
４４６  再編成変換装置
４４８  ブロックベース変換器
４５０  エントロピー符号器
４６０  デジタル画像伸長システム
４６２  エントロピー復号器
４６４  ブロックベース変換器
４６６  再編成変換装置
４６８  カラー変換器
４７０  画像シンク
【図１】
0003574467.tif 000012
【図２】
0003574467.tif 000013
【図７】
0003574467.tif 000014
【図３】
0003574467.tif 000015
【図４】
0003574467.tif 000016
【図５】
0003574467.tif 000017
【図６】
0003574467.tif 000018
【図８】
0003574467.tif 000019
【図９】
0003574467.tif 000020
【図１０】
0003574467.tif 000021
【図１１】
0003574467.tif 000022
【図１２】
0003574467.tif 000023