(57)【要約】【課題】  画像データなどの並べ替えを、安価で、かつ高速に実現する。【解決手段】  ｎ個のデータを記憶する記憶ユニット７をｍ個のメモリ（ｍ≠ｎ）で構成し、複数の読み出しスキャンの中からいずれの読み出しスキャンが選択された場合でも、ｎ個のデータを並列に読み出すことができるように、ｎ個のデータを各メモリに書き分けていくよう制御する。【選択図】  図１
2005160021.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータで構成された２次元のブロックデータを処理する信号処理方法であって、
前記ブロックデータを記憶するように、第１のスキャン順に連続するｎ個（ｎは２以上の整数）のデータをｍ個のメモリ（ｍは３以上の整数、ｍ≠ｎ）へ順次書き分けるステップと、
データの並べ替えを実現するように、前記ｍ個のメモリから複数のデータを読み出し、第２のスキャン、第３のスキャンあるいは第４のスキャンのうち選択された読み出しスキャン順に連続するｎ個のデータを順次選択するステップとを備えたことを特徴とする信号処理方法。
【請求項２】
請求項１記載の信号処理方法において、
前記選択されたｎ個のデータに対して第１の処理を行うステップと、
前記第１の処理が完了した後に、前記ｍ個のメモリから読み出された複数のデータから第１のスキャン順に連続するｎ個のデータを順次選択し、該選択したｎ個のデータに対して第２の処理を行うステップとをさらに備えたことを特徴とする信号処理方法。
【請求項３】
請求項１記載の信号処理方法において、
前記ｍ個のメモリの各々は、少なくとも１つの書き込みポートを有し、かつ互いに独立した読み出しが可能な読み出しポートを２つ以上有するメモリであり、
前記データの並べ替えのためのデータ読み出しを前記ｍ個のメモリの各々のある読み出しポートから行って、前記第２のスキャン、第３のスキャンあるいは第４のスキャンのうち選択された読み出しスキャン順に連続するｎ個のデータに対して第１の処理を行うステップと、
前記第１の処理と並行して、前記ｍ個のメモリの各々の他の１つの読み出しポートから読み出された複数のデータから第１のスキャン順に連続するｎ個のデータを順次選択し、該選択したｎ個のデータに対して第２の処理を行うステップとをさらに備えたことを特徴とする信号処理方法。
【請求項４】
複数のデータで構成された２次元のブロックデータを処理する信号処理方法であって、
少なくとも１つの書き込みポートと、互いに独立した読み出しが可能なｎ個（ｎは２以上の整数）の読み出しポートとを備えたメモリに前記ブロックデータを記憶するように、第１のスキャン順に連続するｎ個のデータを前記書き込みポートから前記メモリに順次書き込むステップと、
データの並べ替えを実現するように、前記メモリのｎ個の読み出しポートから複数のデータを読み出し、第２のスキャン、第３のスキャンあるいは第４のスキャンのうち選択された読み出しスキャン順に連続するｎ個のデータを順次選択するステップとを備えたことを特徴とする信号処理方法。
【請求項５】
請求項４記載の信号処理方法において、
前記選択されたｎ個のデータに対して第１の処理を行うステップと、
前記第１の処理が完了した後に、前記メモリのｎ個の読み出しポートから読み出された複数のデータから第１のスキャン順に連続するｎ個のデータを順次選択し、該選択したｎ個のデータに対して第２の処理を行うステップとをさらに備えたことを特徴とする信号処理方法。
【請求項６】
複数のデータで構成された２次元のブロックデータを処理する信号処理方法であって、
前記ブロックデータを記憶するように、第２のスキャン、第３のスキャンあるいは第４のスキャンのうち選択された書き込みスキャン順に連続するｎ個（ｎは２以上の整数）のデータをｍ個のメモリ（ｍは３以上の整数、ｍ≠ｎ）へ順次書き分けるステップと、
データの並べ替えを実現するように、前記ｍ個のメモリから複数のデータを読み出し、第１のスキャン順に連続するｎ個のデータを順次選択するステップとを備えたことを特徴とする信号処理方法。
【請求項７】
請求項６記載の信号処理方法において、
前記選択されたｎ個のデータに対して復号処理を行うステップをさらに備えたことを特徴とする信号処理方法。
【請求項８】
設定された動作モードに応じて、第１の動作モードにおいては請求項１〜３のいずれか１項に記載の信号処理方法を用いてデータの並べ替えを行い、第２の動作モードにおいては請求項６又は７記載の信号処理方法を用いてデータの並べ替えを行うことを特徴とする信号処理方法。
【請求項９】
請求項１、４、６のうちいずれか１項に記載の信号処理方法において、
前記第１のスキャンは行方向あるいは列方向のラスタスキャンであり、前記第２のスキャンはジグザグスキャンであり、前記第３のスキャンは水平方向優先スキャンであり、前記第４のスキャンは垂直方向優先スキャンであることを特徴とする信号処理方法。
【請求項１０】
請求項２、３、５のうちいずれか１項に記載の信号処理方法において、
前記第１の処理は符号化処理であり、前記第２の処理は動画像符号化におけるフレーム間予測符号化時に必要となる参照画像を生成するための処理であることを特徴とする信号処理方法。
【請求項１１】
複数のデータで構成された２次元のブロックデータを処理する信号処理装置であって、
前記ブロックデータを記憶するためのｍ個（ｍは３以上の整数）のメモリで構成された記憶手段と、
書き込みスキャン順に連続するｎ個（ｎは２以上の整数、ｎ≠ｍ）のデータの中から前記ｍ個のメモリへの書き込みデータを選択する複数の入力選択器と、
前記ｍ個のメモリから読み出された複数のデータの中から、読み出しスキャン順に連続するｎ個のデータを選択する複数の出力選択器と、
前記記憶手段へのブロックデータの書き込みおよび読み出し制御を行うとともに、前記複数の入力選択器および前記複数の出力選択器に対して選択信号を供給するためのメモリ制御手段とを備えたことを特徴とする信号処理装置。
【請求項１２】
請求項１１記載の信号処理装置において、
前記記憶手段を構成するｍ個のメモリの各々は、少なくとも１つの書き込みポートを有し、かつ互いに独立した読み出しが可能な読み出しポートを２つ以上有するメモリであることを特徴とする信号処理装置。
【請求項１３】
請求項１１記載の信号処理装置において、
前記ｍ個のメモリに対して供給されるクロックの制御を個別に行うためのクロック制御手段をさらに備えたことを特徴とする信号処理装置。
【請求項１４】
請求項１３記載の信号処理装置において、
前記クロック制御手段は、第１のスキャン順に連続するｎ個のデータを前記ｍ個のメモリへ書き分ける際に、書き込みが発生するメモリに対してはクロックを供給し、書き込みが発生しないメモリに対してはクロックを停止するよう制御するとともに、第２のスキャン、第３のスキャンあるいは第４のスキャンのうち選択された読み出しスキャン順に連続するｎ個のデータを選択するために、読み出しサイクルが発生するメモリに対してはクロックを供給し、読み出しサイクルが発生しないメモリに対してはクロックを停止するよう制御することを特徴とする信号処理装置。
【請求項１５】
複数のデータで構成された２次元のブロックデータを処理する信号処理装置であって、
前記ブロックデータを記憶するように、少なくとも１つの書き込みポートと、互いに独立した読み出しが可能なｎ個の読み出しポートとを備えたメモリで構成された記憶手段と、
前記メモリのｎ個の読み出しポートから読み出された複数のデータの中から、読み出しスキャン順に連続するｎ個のデータを選択する複数の出力選択器と、
前記記憶手段にブロックデータを書き込みスキャン順に書き込み、かつ前記記憶手段に記憶されたブロックデータを読み出しスキャン順に読み出す制御を行うとともに、前記複数の出力選択器に対して選択信号を供給するためのメモリ制御手段とを備えたことを特徴とする信号処理装置。
【請求項１６】
請求項１１〜１５のいずれか１項に記載の信号処理装置を含んで画像処理を行う画像処理回路と、
前記画像処理回路へ画像信号を出力するセンサと、
前記センサへ光を結像する光学系とを備えたことを特徴とする撮像システム。
【請求項１７】
請求項１６記載の撮像システムにおいて、
前記センサから得た画像信号をデジタル信号に変換して前記画像処理回路へ供給する変換器をさらに備えたことを特徴とする撮像システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理方法およびその装置に関し、特に高速化が要求されるブロック単位の符号化方法およびその装置に関するものである。
【背景技術】
【０００２】
画像圧縮の分野には、ＭＰＥＧ、ＪＰＥＧなどに代表される画像符号化技術がある。これらの符号化技術は、画像を複数のブロックに分割し、ブロック単位で順次符号化を行う画像圧縮技術である。ＪＰＥＧに代表される静止画像符号化技術においては、この小さな領域（ブロック）内における空間冗長性を利用して情報量の削減（圧縮）を実現しようとするフレーム内予測符号化（以下、イントラ符号化）が用いられており、ＭＰＥＧに代表される動画像符号化においては、静止画に比べ、より膨大な情報量を圧縮する要求に応えるため、前記イントラ符号化に加えて、時間方向予測を利用して情報量の削減を図るフレーム間予測符号化（以下、インター符号化）を用いた符号化が用いられている。
【０００３】
以下、これらの符号化技術において共通して行われる処理について、図２２を参照して簡単に説明する。まず、ブロック分割された画像データに対して直交変換手段において離散コサイン変換（以下、ＤＣＴ）が行われる。次に、より符号化効率（圧縮効率）を高めるために、人間の目には視覚的に識別することが困難である高周波成分をカットするため、量子化手段においてＤＣＴ係数に対して量子化が施され量子化ＤＣＴ係数が得られる。この量子化ＤＣＴ係数は、ラスタスキャンと呼ばれる書き込み順で記憶ユニットに一時的に記憶される。以上のようにして記憶ユニットに一時的に記憶された量子化ＤＣＴ係数は、次にジグザグスキャンと呼ばれる読み出し順に読み出され、符号化手段において例えばハフマン符号化が順次行われる。このように、ブロック単位の符号化においては量子化ＤＣＴ係数が生成される順序と、量子化ＤＣＴ係数に対して符号化を行う順序とが異なるため、データの並べ替え（スキャンの変更）を実施するための上記記憶ユニットが欠かせない。
【０００４】
以上のような符号化における高速化を実現するため、メモリへの書き込み、および読み出し制御の高速化技術が知られている（例えば、特許文献１の図９〜図１１参照）。
【０００５】
以下、特許文献１に開示された技術について、具体的に説明する。
【０００６】
図２３の信号処理装置１００１は、特許文献１に開示された典型的な信号処理装置の一例であり、上述のようなデータの並べ替えを高速に行うことが可能な装置である。図２４（ａ）は記憶ユニットの書き込みスキャン（ラスタスキャン）を、図２４（ｂ）は同記憶ユニットの読み出しスキャン（ジグザグスキャン）をそれぞれ表している。
【０００７】
図２３の信号処理装置１００１は、書き込みスキャン（第１のスキャン）順に連続するｎ個（ここでは、ｎ＝２）のデータ（ここでは、量子化ＤＣＴ係数で、以下、係数と称す）を入力する入力端子２，３と、これら入力端子２，３から入力される係数を複数のメモリへ振り分けるための入力選択器４，５と、第１のメモリ７０１および第２のメモリ７０２で構成されて係数を一時的に記憶する記憶ユニット７と、この記憶ユニット７から読み出されたｎ個（ここでは、ｎ＝２）の係数から各々１つを選択する出力選択器９，１０と、これら出力選択器９，１０により選択されたｎ個の係数を出力する出力端子１１，１２と、記憶ユニット７の書き込みおよび読み出しを制御するためのメモリ制御回路８とで構成される。
【０００８】
以上のような信号処理装置１００１を用いてデータの並べ替えが高速に行われる様子を、以下に示す。
【０００９】
〈書き込み制御の説明〉
まず、入力端子２，３から入力された２個の係数は入力選択器４，５へ入力される。第１の入力選択器４は、メモリ制御回路８より入力される選択信号Ｓ１に基づいて、入力端子２および入力端子３から並列に入力された係数のうち、第１のメモリ７０１に書き込むべき係数を選択し、第１のメモリ７０１への書き込みデータＷＤ１として出力する。一方、第２の入力選択器５は、メモリ制御回路８より入力される選択信号Ｓ２に基づいて、入力端子２および入力端子３から並列に入力された係数のうち、第２のメモリ７０２に書き込むべき係数を選択し、第２のメモリ７０２への書き込みデータＷＤ２として出力する。
【００１０】
ここで、選択信号Ｓ１およびＳ２は、第１のメモリ７０１および第２のメモリ７０２から読み出しスキャン順に連続する係数を２係数ずつ並列に読み出すことができるように、書き込みスキャン順に連続する係数を、予め第１のメモリ７０１および第２のメモリ７０２へ１係数ずつ書き分けるように生成される。
【００１１】
また、第１のメモリ７０１は、メモリ制御回路８より供給されるアドレスＡ１と、ライトイネーブル信号ＷＥ１とに従って、第１の入力選択器４から供給される書き込みデータＷＤ１をアドレスＡ１に順次書き込んでいく。一方、第２のメモリ７０２は、メモリ制御回路８より供給されるアドレスＡ２と、ライトイネーブル信号ＷＥ２とに従って、第２の入力選択器５から供給される書き込みデータＷＤ２をアドレスＡ２に順次書き込んでいく。
【００１２】
以上のような制御によって、第１のメモリ７０１および第２のメモリ７０２へ係数が書き分けられた場合のメモリマップの一例を図２５（ａ）および図２５（ｂ）に示す。また、このようなメモリマップを有する第１のメモリ７０１および第２のメモリ７０２の書き込み時におけるアドレッシングの具体例を、図２６（ａ）に示す。
【００１３】
〈読み出し制御の説明〉
次に、読み出しスキャン順に連続する量子化ＤＣＴ係数を２係数ずつ並列に読み出す制御について説明する。
【００１４】
まず、上述の書き込み制御によって、第１のメモリ７０１および第２のメモリ７０２に書き分けられた係数を、それぞれのメモリから１係数ずつ並列に読み出すように、メモリ制御回路８は第１のメモリ７０１および第２のメモリ７０２に対して、図２６（ｂ）に示すようなアドレスＡ１およびＡ２を順次供給し、同時にリードイネーブル信号ＲＥ１およびＲＥ２を供給する。これにより、第１のメモリ７０１からは０、１６、９、１０、…、４７、６３といった順に量子化ＤＣＴ係数がＲＤ１に順次読み出される。一方、第２のメモリ７０２からは、１、８、２、３、…、５５、６２といった順に量子化ＤＣＴ係数がＲＤ２に順次読み出される。
【００１５】
以上のように、ＲＤ１およびＲＤ２から１係数ずつ読み出された２個の係数は出力選択器９，１０に入力され、読み出しスキャン（第２のスキャン）順に早い方の係数が出力端子１１へ、遅い方の係数が出力端子１２へ出力されるように、メモリ制御回路８は第１の出力選択器９に対して選択信号Ｓ４を供給し、第２の出力選択器１０に対して選択信号Ｓ５を供給する。
【００１６】
すなわち、出力端子１１には、０、８、９、３、…、６２といった順に、出力端子１２には、１、１６、２、１０、…、６３といった順に量子化ＤＣＴ係数が出力される。このような制御を行うことにより、係数の並べ替えを高速に行うことができる。
【特許文献１】特開平１１−２５２３３８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
上記のように、記憶ユニットをｎ個のメモリで構成し、読み出しスキャン順に連続するｎ個のデータを異なるメモリから同時に読み出せるように、予めデータの書き込みの際にｎ個のメモリに書き込みスキャン（第１のスキャン）順に連続するデータを異なるメモリに書き分けるようにしておけば、データの並列読み出しが可能となり、高速な符号化を実現することが可能となる。
【００１８】
しかしながら、ＪＰＥＧにおける符号化のように読み出しスキャン（第２のスキャン）がジグザグスキャンしか存在しないような場合は、上記技術を用いることで高速なスキャンの変更を実現できるが、例えば、動画像における低ビットレート符号化を実現するための画像圧縮技術であるＭＰＥＧ−４の場合などのように、読み出しスキャンが複数（水平方向優先スキャン、垂直方向優先スキャン、ジグザグスキャン）存在する場合は、上記技術で対応することは困難である。
【００１９】
上記低ビットレート符号化を実現するＭＰＥＧ−４は、近年携帯電話をはじめ、様々な機器において応用されているが、今後さらにブロードバンド化が進むにつれ、より高解像度な画像に対応した符号化およびより高いフレームレートに対応した符号化への要求が高まっていくことが容易に予想される。
【００２０】
このようなＭＰＥＧ−４においては、低ビットレートを実現するために様々な新しい技術が取り入れられているが、その中の１つにフレーム内予測符号化（イントラ符号化）における符号化効率の向上を図った予測符号化がある。
【００２１】
ＭＰＥＧ−４では、イントラ符号化における符号化効率の向上を図るため、符号化対象ブロックに隣接する複数のブロックの中から最適な予測ブロックを１つ選択し、その予測ブロックとの差分を順次符号化していく。その様子を、図２７を用いて説明する。
【００２２】
図２７においてブロックＸは符号化対象ブロックであり、ブロックＡ、Ｂ、ＣはそれぞれブロックＸに隣接するブロックである。ブロックＸ、Ａ、Ｂ、Ｃともに複数のＤＣＴ係数で構成されている。
【００２３】
ブロックＸの予測ブロックＰは、（式１）のように選択される。すなわち、
（式１）
ｉｆ（｜σＡ−σＢ｜＜｜σＢ−σＣ｜）
Ｐ＝Ｃ
ｅｌｓｅ
Ｐ＝Ａ
である。ここで、
σＡ：ブロックＡのＤＣ係数
σＢ：ブロックＢのＤＣ係数
σＣ：ブロックＣのＤＣ係数
｜ｚ｜：ｚの絶対値
である。つまり、隣接するブロックＡ、Ｂ、ＣのＤＣ係数の勾配を計算し、勾配の大きい方のブロックが符号化対象ブロックＸの予測ブロックＰとして選択される。
【００２４】
例えば、上記（式１）により、予測ブロックＰとしてブロックＣが選択された場合は、ブロックＸはブロックＣとの差分が符号化されることになり、ブロックＡが選択された場合はブロックＡとの差分が符号化されることになる（係数予測符号化）。
【００２５】
また、ＭＰＥＧ−４では、このような係数予測符号化としてＤＣ予測符号化と、ＤＣ／ＡＣ予測符号化との２種類の予測手法をサポートしている。
【００２６】
ＤＣ予測符号化とは、以上のようにして選択された予測ブロックの係数のうちＤＣ係数のみを予測対象とした符号化であり、符号化における係数の読み出しスキャンについてはジグザグスキャン（第２のスキャン）固定である。
【００２７】
それに対してＤＣ／ＡＣ予測符号化とは、上述のＤＣ予測符号化よりもより符号化効率の向上を図ることを目的とした予測符号化であり、予測ブロックの係数のうちＤＣ係数のみならず、ＡＣ係数についても予測対象とした符号化である。例えば、予測ブロックＰとしてブロックＣが選択された場合は、ブロックＣの上端の係数すべてが予測対象の係数となり、ブロックＡが選択された場合は、ブロックＡの左端の係数すべてが予測対象の係数となる。また、符号化における読み出しスキャンについても、予測ブロックＰとしてブロックＣが選択された場合は水平方向優先スキャン（第３のスキャン）となり、予測ブロックＰとしてブロックＡが選択された場合は垂直方向優先スキャン（第４のスキャン）となる。すなわち、選択される予測ブロックＰによっては、符号化における読み出しスキャンも変化する。
【００２８】
また、ＤＣ予測符号化の場合と比較して、ＤＣ／ＡＣ予測符号化の方が符号化効率の向上が図れると判断された場合はＤＣ／ＡＣ予測符号化が用いられ、符号化効率の向上が図れないと判断された場合はＤＣ予測符号化の方が用いられるといったように、ＤＣ予測符号化とＤＣ／ＡＣ予測符号化とが適応的に切替え制御されるため、ＭＰＥＧ−４符号化においては、符号化における読み出しスキャンは、ＪＰＥＧなどのように１種類だけではなく、水平方向優先スキャン、垂直方向優先スキャン、ジグザグスキャンといった３種類の読み出しスキャンに対応する必要がある。しかも、ＤＣ予測のみを用いた符号化を行う場合は、読み出しスキャンがジグザグスキャン固定であるため、特許文献１の技術を用いれば係数の並列読み出しが実現可能であるが、ＤＣ／ＡＣ予測を用いた符号化を行う場合は、ブロックにおけるＤＣＴ係数の書き込みが完了（ＡＣ予測効果の判定が完了）するまで、この３種類の読み出しスキャンの中から１つの読み出しスキャンが確定されないため、書き込みスキャン順に連続するｎ個のＤＣＴ係数を、ｎ個のメモリに振り分ける際には、いずれの読み出しスキャンが選択された場合にも、選択された読み出しスキャン順に連続するｎ個の係数を並列に読み出せるようにしておく必要がある。
【００２９】
このような読み出しスキャンが複数必要となる符号化において特許文献１に開示されている技術を応用した具体例を図２８（ａ）〜図２８（ｄ）に示す。図２８（ａ）は図２４（ａ）に対応する第１のスキャン（ラスタスキャン）を、図２８（ｂ）は図２４（ｂ）に対応する第２のスキャン（ジグザグスキャン）を、図２８（ｃ）は第３のスキャン（水平方向優先スキャン）を、図２８（ｄ）は第４のスキャン（垂直方向優先スキャン）をそれぞれ表している。
【００３０】
図２８（ｂ）〜図２８（ｄ）からも明らかなように、記憶ユニットをｎ個（ここでは、ｎ＝２）のメモリで構成し、３種類の読み出しスキャンすべての場合において、読み出しスキャン順に連続するｎ個の係数を異なるｎ個のメモリから同時に読み出すことは困難である。図示の例では、図２８（ｃ）に示した第３のスキャンにおいて、係数２、３および係数６、７は第２のメモリ７０２から読み出す必要があり、これらの係数はそれぞれ異なるアドレスに記憶されているため、一度に２係数並列で読み出すことはできない。また、同スキャンにおいて、係数１６、１７および係数１０、１１は第１のメモリ７０１から読み出す必要があり、これらの係数はそれぞれ異なるアドレスに記憶されているため、一度に２係数並列で読み出すことはできないのである。
【００３１】
ここに示した例は、２個の係数を並列に読み出す際に、記憶ユニットを２個のメモリで構成した場合のメモリ分割の一例にすぎないが、２個の係数を２個のメモリにどのように振り分けても上記課題を解決することは困難である。
【００３２】
上記のような課題を解決するため、本発明の目的は、符号化における係数の読み出しスキャンが複数存在し、かつそれらの読み出しスキャンが記憶ユニットへの係数書き込み時に予め決定されていないような場合においても、読み出しスキャン順に連続するｎ個の係数を常に異なるメモリから連続して読み出すことができ、安価で、かつ高速なデータの並べ替えができる信号処理方法およびその装置を提供することにある。
【課題を解決するための手段】
【００３３】
本発明に係る第１の信号処理方法は、複数のデータで構成された２次元のブロックデータを処理する信号処理方法であって、前記ブロックデータを記憶するように、第１のスキャン順に連続するｎ個（ｎは２以上の整数）のデータをｍ個のメモリ（ｍは３以上の整数、ｍ≠ｎ）へ順次書き分けるステップと、データの並べ替えを実現するように、前記ｍ個のメモリから複数のデータを読み出し、第２のスキャン、第３のスキャンあるいは第４のスキャンのうち選択された読み出しスキャン順に連続するｎ個のデータを順次選択するステップとを備えたことを特徴としている。
【００３４】
このようにすれば、書き込みスキャン順に連続するｎ個のデータから複数のスキャン順のうち選択された読み出しスキャン順に連続するｎ個のデータに高速に並べ替え（スキャンの変更）を行うことができる。
【００３５】
本発明に係る第２の信号処理方法は、前記第１の信号処理方法において、前記選択されたｎ個のデータに対して第１の処理を行うステップと、前記第１の処理が完了した後に、前記ｍ個のメモリから読み出された複数のデータから第１のスキャン順に連続するｎ個のデータを順次選択し、該選択したｎ個のデータに対して第２の処理を行うステップとをさらに備えたことを特徴としている。
【００３６】
このようにすれば、高速にデータの並べ替えを実現することにより、第１の処理および第２の処理の開始を早めることができ、また、処理そのものの高速化も期待できる。
【００３７】
本発明に係る第３の信号処理方法は、前記第１の信号処理方法において、前記ｍ個のメモリの各々は、少なくとも１つの書き込みポートを有し、かつ互いに独立した読み出しが可能な読み出しポートを２つ以上有するメモリであり、前記データの並べ替えのためのデータ読み出しを前記ｍ個のメモリの各々のある読み出しポートから行って、前記第２のスキャン、第３のスキャンあるいは第４のスキャンのうち選択された読み出しスキャン順に連続するｎ個のデータに対して第１の処理を行うステップと、前記第１の処理と並行して、前記ｍ個のメモリの各々の他の１つの読み出しポートから読み出された複数のデータから第１のスキャン順に連続するｎ個のデータを順次選択し、該選択したｎ個のデータに対して第２の処理を行うステップとをさらに備えたことを特徴としている。
【００３８】
こうすれば、高速に複数のデータの並べ替えを実現でき、第１の処理および第２の処理を並列実行できるため、前記第２の信号処理方法よりもさらに高速化が期待できる。
【００３９】
本発明に係る第４の信号処理方法は、複数のデータで構成された２次元のブロックデータを処理する信号処理方法であって、少なくとも１つの書き込みポートと、互いに独立した読み出しが可能なｎ個（ｎは２以上の整数）の読み出しポートとを備えたメモリに前記ブロックデータを記憶するように、第１のスキャン順に連続するｎ個のデータを前記書き込みポートから前記メモリに順次書き込むステップと、データの並べ替えを実現するように、前記メモリのｎ個の読み出しポートから複数のデータを読み出し、第２のスキャン、第３のスキャンあるいは第４のスキャンのうち選択された読み出しスキャン順に連続するｎ個のデータを順次選択するステップとを備えたことを特徴としている。
【００４０】
こうすれば、記憶手段を複数のメモリで構成することなく、１つのメモリで構成するようにしても、高速なデータの並べ替えを実現できる。
【００４１】
本発明に係る第５の信号処理方法は、前記第４の信号処理方法において、前記選択されたｎ個のデータに対して第１の処理を行うステップと、前記第１の処理が完了した後に、前記メモリのｎ個の読み出しポートから読み出された複数のデータから第１のスキャン順に連続するｎ個のデータを順次選択し、該選択したｎ個のデータに対して第２の処理を行うステップとをさらに備えたことを特徴としている。
【００４２】
このようにすれば、高速にデータの並べ替えを実現することにより、第１の処理および第２の処理の開始を早めることができ、また、処理そのものの高速化も期待できる。
【００４３】
本発明に係る第６の信号処理方法は、複数のデータで構成された２次元のブロックデータを処理する信号処理方法であって、前記ブロックデータを記憶するように、第２のスキャン、第３のスキャンあるいは第４のスキャンのうち選択された書き込みスキャン順に連続するｎ個（ｎは２以上の整数）のデータをｍ個のメモリ（ｍは３以上の整数、ｍ≠ｎ）へ順次書き分けるステップと、データの並べ替えを実現するように、前記ｍ個のメモリから複数のデータを読み出し、第１のスキャン順に連続するｎ個のデータを順次選択するステップとを備えたことを特徴としている。
【００４４】
こうすれば、複数のスキャン順のうち選択された書き込みスキャン順から読み出しスキャン順へのデータの並べ替えを高速に実行することができる。
【００４５】
本発明に係る第７の信号処理方法は、前記第６の信号処理方法において、前記選択されたｎ個のデータに対して復号処理を行うステップをさらに備えたことを特徴としている。
【００４６】
こうすれば、データの高速な並べ替え結果を用いた復号処理を実現できる。
【００４７】
本発明に係る第８の信号処理方法は、設定された動作モードに応じて、第１の動作モードにおいては前記第１〜第３の信号処理方法のいずれかを用いてデータの並べ替えを行い、第２の動作モードにおいては前記第６又は第７の信号処理方法を用いてデータの並べ替えを行うことを特徴としている。
【００４８】
こうすれば、書き込みスキャン順から複数のスキャン順のうち選択された読み出しスキャン順へのデータの並べ替えと、複数のスキャン順のうち選択された書き込みスキャン順から読み出しスキャン順へのデータの並べ替えとを、設定された動作モードに応じて適宜切り替えながら実施するようにしたため、安価で、かつ高速なデータの並べ替えが実現できる。
【００４９】
本発明に係る第９の信号処理方法は、前記第１、第４、第６の信号処理方法のいずれかにおいて、前記第１のスキャンは行方向あるいは列方向のラスタスキャンであり、前記第２のスキャンはジグザグスキャンであり、前記第３のスキャンは水平方向優先スキャンであり、前記第４のスキャンは垂直方向優先スキャンであることを特徴としている。
【００５０】
こうすれば、行方向あるいは列方向のラスタスキャン順からジグザグスキャン順または水平方向優先スキャン順または垂直方向優先スキャン順への高速なデータの並べ替えができる。
【００５１】
本発明に係る第１０の信号処理方法は、前記第２、第３、第５の信号処理方法のいずれかにおいて、前記第１の処理は符号化処理であり、前記第２の処理は動画像符号化におけるフレーム間予測符号化時に必要となる参照画像（復元画像）を生成するための処理であることを特徴としている。
【００５２】
このようにすれば、高速に並べ替えが行われたデータに対する符号化を早期に開始することができ、さらに符号化そのものの高速化も期待できる。また、高速に並べ替えが行われたデータに対する復号化についても早期に開始することができ、さらに復号化そのものを高速化することも期待できる。
【００５３】
本発明に係る第１の信号処理装置は、複数のデータで構成された２次元のブロックデータを処理する信号処理装置であって、前記ブロックデータを記憶するためのｍ個（ｍは３以上の整数）のメモリで構成された記憶手段と、書き込みスキャン順に連続するｎ個（ｎは２以上の整数、ｎ≠ｍ）のデータの中から前記ｍ個のメモリへの書き込みデータを選択する複数の入力選択器と、前記ｍ個のメモリから読み出された複数のデータの中から、読み出しスキャン順に連続するｎ個のデータを選択する複数の出力選択器と、前記記憶手段へのブロックデータの書き込みおよび読み出し制御を行うとともに、前記複数の入力選択器および前記複数の出力選択器に対して選択信号を供給するためのメモリ制御手段とを備えたことを特徴としている。
【００５４】
このように構成することで、書き込みスキャン順から複数のスキャン順のうち選択された読み出しスキャン順へのデータの並べ替えを高速に実行する装置を提供できる。
【００５５】
本発明に係る第２の信号処理装置は、前記第１の信号処理装置において、前記記憶手段を構成するｍ個のメモリの各々は、少なくとも１つの書き込みポートを有し、かつ互いに独立した読み出しが可能な読み出しポートを２つ以上有するメモリであることを特徴としている。
【００５６】
このように構成すれば、書き込みスキャン順から複数の読み出しスキャン順へのデータの並べ替えを並列に実行できるため、前記第１の信号処理装置よりもさらに高速に実行する装置を提供できる。
【００５７】
本発明に係る第３の信号処理装置は、前記第１の信号処理装置において、前記ｍ個のメモリに対して供給されるクロックの制御を個別に行うためのクロック制御手段をさらに備えたことを特徴としている。
【００５８】
このように構成すれば、ｍ個のメモリへのクロック供給を個別に行うことができ、高速、かつ低消費電力化を実現した信号処理装置を提供できる。
【００５９】
本発明に係る第４の信号処理装置は、前記第３の信号処理装置において、前記クロック制御手段は、第１のスキャン順に連続するｎ個のデータを前記ｍ個のメモリへ書き分ける際に、書き込みが発生するメモリに対してはクロックを供給し、書き込みが発生しないメモリに対してはクロックを停止するよう制御するとともに、第２のスキャン、第３のスキャンあるいは第４のスキャンのうち選択された読み出しスキャン順に連続するｎ個のデータを選択するために、読み出しサイクルが発生するメモリに対してはクロックを供給し、読み出しサイクルが発生しないメモリに対してはクロックを停止するよう制御することを特徴としている。
【００６０】
こうすれば、データの並べ替えに必要となるメモリアクセスが発生するメモリに対してはクロックの供給を行い、メモリアクセスが発生しないメモリに対してはクロックの供給を停止するといった制御を適応的に実行するため、より低消費電力化が期待できる。
【００６１】
本発明に係る第５の信号処理装置は、複数のデータで構成された２次元のブロックデータを処理する信号処理装置であって、前記ブロックデータを記憶するように、少なくとも１つの書き込みポートと、互いに独立した読み出しが可能なｎ個の読み出しポートとを備えたメモリで構成された記憶手段と、前記メモリのｎ個の読み出しポートから読み出された複数のデータの中から、読み出しスキャン順に連続するｎ個のデータを選択する複数の出力選択器と、前記記憶手段にブロックデータを書き込みスキャン順に書き込み、かつ前記記憶手段に記憶されたブロックデータを読み出しスキャン順に読み出す制御を行うとともに、前記複数の出力選択器に対して選択信号を供給するためのメモリ制御手段とを備えたことを特徴としている。
【００６２】
このように構成すれば、記憶手段を複数のメモリで構成することなく、１つのメモリで構成するようにしたため、半導体装置などにおいて本技術を実現する場合、メモリの占有する面積を少なくすることができ、より低コスト化が期待できる。
【００６３】
本発明に係る第１の撮像システムは、前記第１〜第５の信号処理装置のいずれかを含んで画像処理を行う画像処理回路と、前記画像処理回路へ画像信号を出力するセンサと、前記センサへ光を結像する光学系とを備えたことを特徴としている。
【００６４】
このように構成すれば、データ並べ替えの高速実行に伴って画像処理の高速化が期待できる。
【００６５】
本発明に係る第２の撮像システムは、前記第１の撮像システムにおいて、前記センサから得た画像信号をデジタル信号に変換して前記画像処理回路へ供給する変換器をさらに備えたことを特徴としている。
【００６６】
こうすれば、デジタル信号処理の利点を発揮することができる。
【発明の効果】
【００６７】
本発明によれば、総じてデータの並べ替えを高速に実行することができる。
【発明を実施するための最良の形態】
【００６８】
以下、本発明の実施の形態について、図面を参照して説明する。
【００６９】
《第１の実施形態》
図１は、本発明の第１の実施形態に係る信号処理装置１の構成を示すブロック図、図２は、図１に示す信号処理装置１を用いた本発明の信号処理方法を示すフローチャートである。
【００７０】
本実施形態は、読み出しスキャン順に連続するｎ個のデータ（係数）を並列に読み出せるようにするために、記憶ユニット７をｍ個（ｍは３以上の整数で、かつｍ≠ｎ）のメモリで構成したことを特徴とする。以下、ｎ＝２、ｍ＝３の場合を例に説明していく。
【００７１】
図１の信号処理装置１は、書き込みスキャン（第１のスキャン）順に連続するｎ個（ここでは、ｎ＝２）のデータを入力する入力端子２，３と、これら入力端子２，３から入力される量子化ＤＣＴ係数をｍ個（ここでは、ｍ＝３）のメモリへ振り分けるための入力選択器４，５，６と、第１のメモリ７０１と第２のメモリ７０２と第３のメモリ７０３とで構成されてデータを一時的に記憶する記憶ユニット７と、この記憶ユニット７から読み出されたｍ個のデータから各々１つのデータを選択する出力選択器９，１０と、これら出力選択器９，１０により選択されたｎ個のデータを出力する出力端子１１，１２と、読み出しスキャンを選択するために必要となる符号化対象ブロックに隣接したブロック（Ａ、Ｂ、Ｃ）のＤＣ係数（σＡ、σＢ、σＣ）を入力する予測係数入力端子１３と、ＤＣ予測符号化とＤＣ／ＡＣ予測符号化とのモード切替えを設定する設定端子１４と、この設定端子１４により設定された符号化モードに従って記憶ユニット７の書き込み、読み出しを制御し、各選択器４，５，６，９，１０に対して選択信号Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５をそれぞれ供給するためのメモリ制御回路８とで構成される。
【００７２】
以下、図２〜図８を参照して本実施形態の信号処理方法について説明する。
【００７３】
図２に示すように、まず、複数の読み出しスキャン（第１のスキャン、第２のスキャン、第３のスキャン、第４のスキャン）のうち、いずれのスキャンが選択されても、選択された読み出しスキャン順に連続する２個の係数が並列に読み出せるように、書き込みスキャン（第１のスキャン）順に連続する２個の係数が第１のメモリ７０１あるいは第２のメモリ７０２あるいは第３のメモリ７０３に書き分けられる（ステップ１００）。次に符号化に必要となるブロックの係数すべての書き込みが完了したかを判断する（ステップ１０１）。符号化に必要となるブロックの係数とは、例えばＭＰＥＧ−４などの場合は、複数のブロックで構成された１マクロブロック分の係数のことであり、すべての係数書き込みが完了するまでステップ１００、ステップ１０１を繰り返し行う。
【００７４】
以上のようにして、すべての係数を第１のメモリ７０１、第２のメモリ７０２および第３のメモリ７０３へ書き分けた一例を図３（ａ）に示す。図３（ａ）において左下向き斜線のハッチング部は第１のメモリ７０１の領域を、右下向き斜線のハッチング部は第２のメモリ７０２の領域を、無ハッチング部は第３のメモリ７０３の領域をそれぞれ示し、書き込みスキャン（第１のスキャン）順（０、８、１６、２４、…、５５、６３）に連続する２個の係数が図３（ａ）に示すようにそれぞれのメモリ領域へ書き分けられる。このように書き分ける場合、メモリ制御回路８は、第１のメモリ７０１、第２のメモリ７０２および第３のメモリ７０３に対して図４（ａ）〜図４（ｃ）に示すようなそれぞれのアドレスＡ１、Ａ２、Ａ３を供給する。また、メモリ制御回路８は、第１のメモリ７０１、第２のメモリ７０２および第３のメモリ７０３の書き込みデータＷＤ１、ＷＤ２、ＷＤ３を制御するため、入力選択器４，５，６に対して制御信号Ｓ１、Ｓ２、Ｓ３を供給し、入力選択器４，５，６はそれぞれ選択信号Ｓ１、Ｓ２、Ｓ３に基づいて図４（ａ）〜図４（ｃ）に示すような書き込みデータＷＤ１、ＷＤ２、ＷＤ３を順次選択し、第１のメモリ７０１、第２のメモリ７０２および第３のメモリ７０３は、メモリ制御回路８より供給されるライトイネーブル信号ＷＥ１、ＷＥ２、ＷＥ３に従って、各メモリの各アドレスに係数を書き込んでいく。
【００７５】
以上の書き込み制御における各メモリのアドレス（Ａ１、Ａ２、Ａ３）、書き込みデータ（ＷＤ１、ＷＤ２、ＷＤ３）およびライトイネーブル信号（ＷＥ１、ＷＥ２、ＷＥ３）の様子を図５に示す。図５において、ＷＥ１、ＷＥ２、ＷＥ３が１の場合に書き込みが行われ、０の場合は書き込みは行われない。
【００７６】
以上のようにして、書き込みスキャン（第１のスキャン）順に連続する２個の係数すべてが、それぞれ第１のメモリ７０１、第２のメモリ７０２および第３のメモリ７０３へ書き込み終わったら、次に読み出しスキャンの判定が行われる（図２のステップ１０２）。読み出しスキャンの判定は、設定端子１４から設定される符号化モード（ＤＣ予測符号化、ＤＣ／ＡＣ予測符号化）と、予測係数入力端子１３から入力される隣接ブロック（Ａ、Ｂ、Ｃ）のＤＣ係数（σＡ、σＢ、σＣ）とを用いて以下のように行われる。
【００７７】
符号化モードがＤＣ予測符号化に設定されている場合は、読み出しスキャンはジグザグスキャン（第２のスキャン）と判定し、符号化モードがＤＣ／ＡＣ予測符号化に設定されている場合は、まず隣接ブロックのＤＣ係数（σＡ、σＢ、σＣ）の勾配を算出する。算出された勾配の結果から予測ブロックＰを判断し、予測ブロックＰがブロックＣと判断された場合は、ＤＣ予測符号化の場合と比較して符号化効率の向上が図れる時は、読み出しスキャンは水平方向優先スキャン（第３のスキャン）と判定し、符号化効率の向上が図れない時は、ジグザグスキャン（第２のスキャン）と判定する。また、算出された勾配の結果から予測ブロックＰを判断し、予測ブロックＰがブロックＡと判断された場合は、ＤＣ予測符号化の場合と比較して符号化効率の向上が図れる時は、読み出しスキャンは垂直方向優先スキャン（第４のスキャン）と判定し、符号化効率の向上が図れない時は、ジグザグスキャン（第２のスキャン）と判定する。
【００７８】
以上のようにして、読み出しスキャンの判定が行われた結果、読み出しスキャンがジグザグスキャン（第２のスキャン）となった場合は、図３（ｂ）に示すように、第１のメモリ７０１、第２のメモリ７０２および第３のメモリ７０３からジグザグスキャン順に連続する２個の係数を並列に読み出していく（ステップ１０３）。ステップ１０３における各メモリの読み出し制御の様子を図６に示す。ジグザグスキャンの場合、係数の読み出し順は、０、１、８、１６、９、２、…、４７、５５、６２、６３というような具合であるが、メモリ制御回路８は各メモリに対して、読み出しアドレスＡ１、Ａ２、Ａ３およびリードイネーブル信号ＲＥ１、ＲＥ２、ＲＥ３を供給し、これらの係数を３つのメモリ７０１〜７０３から適宜読み出し、ジグザグスキャン順に連続する２係数を出力選択器９，１０において選択することにより、出力端子１１，１２に２係数ずつ並列に出力される。
【００７９】
すなわち、出力端子１１，１２に最初に出力すべき２係数である（０，１）の係数のうち、係数０は第１のメモリ７０１から読み出され（ＲＤ１）、同時に係数１は第２のメモリ７０２から読み出される（ＲＤ２）。このようにして読み出された２係数のうちジグザグスキャン順に早い方の係数（０）を出力端子１１に出力し、遅い方の係数（１）を出力端子１２に出力するように、メモリ制御回路８は出力選択器９，１０に対して選択信号Ｓ４、Ｓ５を供給する。
【００８０】
出力端子１１，１２へ次に出力すべき２係数である（８，１６）の係数のうち、係数８は第３のメモリ７０３から読み出され（ＲＤ３）、同時に係数１６は第２のメモリ７０２から読み出される（ＲＤ２）。このようにして読み出された２係数のうちジグザグスキャン順に早い方の係数（８）を出力端子１１に出力し、遅い方の係数（１６）を出力端子１２に出力するように、メモリ制御回路８は出力選択器９，１０に対して選択信号Ｓ４、Ｓ５を供給する。以後、同様にして２個ずつ並列に係数を順次読み出して第１の処理（符号化）が行われる（ステップ１０６）。
【００８１】
また、読み出しスキャンの判定が行われた結果、読み出しスキャンが水平方向優先スキャン（第３のスキャン）となった場合は、図３（ｃ）に示すように、第１のメモリ７０１、第２のメモリ７０２および第３のメモリ７０３から水平方向優先スキャン順に連続する２個の係数を並列に読み出していく（ステップ１０４）。ステップ１０４における各メモリの読み出し制御の様子を図７に示す。２係数ずつ並列に読み出し、順次第１の処理を行っていく様子は、上述のジグザグスキャンの場合と同様であるため、具体的な説明は省略する。
【００８２】
また、読み出しスキャンの判定が行われた結果、読み出しスキャンが垂直方向優先スキャン（第４のスキャン）となった場合は、図３（ｄ）に示すように、第１のメモリ７０１、第２のメモリ７０２および第３のメモリ７０３から垂直方向優先スキャン順に連続する２個の係数を並列に読み出していく（ステップ１０５）。ステップ１０５における各メモリの読み出し制御の様子を図８に示す。２係数ずつ並列に読み出し、順次第１の処理を行っていく様子は、上述のジグザグスキャンの場合と同様であるため、具体的な説明は省略する。
【００８３】
以上のようにして、すべての係数を読み出し、符号化が完了するまでステップ１０２からステップ１０６までの処理を繰り返し行う（ステップ１０７）。すべての係数を読み出し、第１の処理が完了すれば、次に書き込みスキャンと同一のスキャン（第１のスキャン）順に各メモリからの読み出しを行い（ステップ１０８）、順次第２の処理（復号化）を行い参照画像が生成される（ステップ１０９）。参照画像の生成が完了するまでステップ１０８〜ステップ１０９の動作を繰り返し行う（ステップ１１０）。第２の処理（復号化）が必要となる理由は、動画像符号化の場合は、フレーム間予測符号化を行うために、前フレームの画像データ（参照データ）を必要とし、現在の符号化対象ブロックの復号化（逆量子化、逆ＤＣＴなど）を行っておく必要があるからである。
【００８４】
以上のことからも明らかなように、ｎ個（ｎは２以上の整数）のデータの並列書き込み、並列読み出しを実現するために、記憶ユニット７をｍ個（ｍは３以上の整数かつｍ≠ｎ）のメモリで構成すれば、複数の読み出しスキャンの中からいずれのスキャンが選択された場合においても、読み出しスキャン順に連続するｎ個のデータ（係数）を並列に順次読み出せるように書き込みスキャン順に連続するｎ個のデータをそれぞれ異なるメモリに書き分けることが可能となり、結果的に書き込み、読み出しにおけるスキャンの変更が高速に行われるため、高速な符号化を実現することが可能となる。また、この目的を達成するために、記憶ユニット７についてメモリの構成を工夫したのであり、容量の増加は一切ない。
【００８５】
《第２の実施形態》
次に、本発明の第２の実施形態に係る信号処理装置２０１について、図９および図１０を参照して説明する。
【００８６】
本実施の形態は、記憶ユニット７を構成するｍ個（ここでは、ｍ＝３）のメモリを、少なくとも１つの書き込みポート（ポートＡ）と、互いに独立した読み出しが可能な少なくとも２つの読み出しポート（ポートＡ、ポートＢ）とを有するメモリで構成し、ｍ個のメモリは複数の読み出しポートから互いに異なる読み出しスキャン順に並列読み出しできるようにし、第１の処理（符号化）と第２の処理（復号化）とを同時に実行できるようにしたという点で、第１の実施形態とは異なる。
【００８７】
以下、第１の実施形態と異なる部分について具体的に説明していく。
【００８８】
図９において、第１のメモリ７０１、第２のメモリ７０２および第３のメモリ７０３はそれぞれ書き込み、読み出しが独立に可能なポートＡと、読み出し専用のポートＢとを備える。ポートＡとポートＢとは、互いに独立した読み出しが可能なポートである。記憶ユニット７を上記のように複数のポートから互いに独立して並列に読み出し可能なｍ個のメモリで構成した場合の符号化方法について、図１０に示したフローチャートを参照しながら第１の実施形態と異なる部分を以下に説明する。
【００８９】
まず、第１の実施形態の場合と同様に複数の読み出しスキャン（第１のスキャン、第２のスキャン、第３のスキャン、第４のスキャン）のうち、いずれのスキャンが選択されても、選択された読み出しスキャン順に連続する２個の係数が並列に読み出せるように、書き込みスキャン（第１のスキャン）順に連続する２個の係数が第１のメモリ７０１あるいは第２のメモリ７０２あるいは第３のメモリ７０３に書き分けられる。第１の実施形態と異なる点は、複数存在する（ここでは２個）ポートのうち書き込み／読み出し兼用ポートであるポートＡを用いて書き込むという点である（ステップ２００）。
【００９０】
また、第１の実施形態の場合は、ステップ１０１においてすべての係数を各メモリへ書き終えたら、まず第１の処理（ステップ１０２〜ステップ１０７）を行い、その後に第２の処理（ステップ１０８〜ステップ１１０）を行っていたが、本実施形態においては、互いに独立した読み出し動作が可能なポートＡおよびポートＢを用いて、それぞれ異なる読み出しスキャンで読み出しを同時に行うことによって、第１の処理（符号化）と第２の処理（復号化）とを並列実行させようとしたものである。
【００９１】
すなわち、第１の処理に必要な係数の読み出し（ステップ２０３、ステップ２０４、ステップ２０５）についてはポートＡを用いて行い、第２の処理に必要な係数の読み出し（ステップ２０８）についてはポートＢを用いて行うことによって、それぞれの処理が独立して並列に実行できるため、第１の実施形態の場合と比較して、より高速な動画像符号化を実現することが可能となる。ちなみに、ポートＡとポートＢとは並列読み出しされるため、ポートＢより読み出されるデータ（ＲＤＢ１、ＲＤＢ２、ＲＤＢ３）は、出力選択器２０９，２１０に入力され、メモリ制御回路８より供給される選択信号Ｓ６、Ｓ７に基づいて読み出しスキャン順に連続するｎ個の係数が選択され、第２の処理を実行するための出力端子２１１，２１２に出力される。
【００９２】
《第３の実施形態》
図１１は、本発明の第３の実施形態に係る信号処理装置３０１の構成を示すブロック図である。第１および第２の実施形態と大きく異なる点は、記憶ユニット７を構成するｍ個（ここではｍ＝３）のメモリのクロックを制御するクロック制御回路３０を新たに備えた点である。
【００９３】
第１および第２の実施形態において、ｍ個のメモリへの書き込みおよび読み出し制御を考えた時、図５〜図８に示すようにすべてのクロックサイクルにおいて全メモリが動作する必要はない。書き込み制御においては、図５に示すように、ｎ個（ここではｎ＝２）の係数をｍ個（ｍ＞ｎ）のメモリに並列に書き込む際には、書き込む必要がないメモリが存在する。このような場合、クロック制御回路３０は書き込む必要がないメモリのクロックを停止するよう制御する。例えば、係数０（ＷＤ１＝０）と係数８（ＷＤ３＝８）とを書き込むサイクルでは、係数０が第１のメモリ７０１に書き込まれ、係数８が第３のメモリ７０３に書き込まれるようメモリ制御回路８により制御されるため、第２のメモリ７０２については書き込みサイクルが発生しない。よって、クロック制御回路３０は、第２のメモリ７０２に対してクロック停止信号ＣＫＥ２を供給し、クロックを停止させる。
【００９４】
第１のメモリ７０１および第３のメモリ７０３についても同様に書き込みが発生しないサイクルについては、クロック制御回路３０からクロック停止信号ＣＫＥ１およびＣＫＥ３が供給され、第１のメモリ７０１および第３のメモリ７０３はＣＫＥ１およびＣＫＥ３に基づいてクロックを停止する。
【００９５】
以上のように本実施形態においては、書き込みおよび読み出しが発生するサイクルのみ各メモリにクロックが供給されるように制御されるため、より低消費電力化を図った信号処理装置の実現が可能となる。
【００９６】
なお、図１の構成にクロック制御回路３０を付加したものを図１１に示したが、図９の構成に同様のクロック制御回路３０を付加することとしてもよい。
【００９７】
《第４の実施形態》
図１２は、本発明の第４の実施形態に係る信号処理装置４０１の構成を示すブロック図である。第１の実施形態と大きく異なる点は、記憶ユニット７を複数（ｍ個）のメモリで構成するのではなく、１つのメモリ（第１のメモリ７０１）で構成している点である。また、第１の実施形態におけるｍ個のメモリは１つの読み出しポートを有するメモリであるのに対し、本実施形態における第１のメモリ７０１は、少なくとも１つの書き込みポートを有し、かつ互いに独立した読み出しが可能な読み出しポートを少なくとも２つ有しているという点で異なる。
【００９８】
以下、図１３に示したフローチャートを参照しながら、ｎ＝２の場合を例に具体的に説明していく。
【００９９】
〈書き込み制御方法の説明〉
図１２において第１のメモリ７０１は、入力端子２および３から入力される第１のスキャン順に連続するｎ個（ここでは、ｎ＝２）のデータ（ＷＤＡＵ、ＷＤＡＬ）をペアにしてＷＤＡとし、ポートＡを通じて第１のメモリ７０１の１つのアドレスに順次書き込んでいく。ポートＡにおける第１のメモリ７０１への書き込み制御は、メモリ制御回路８より供給される書き込みアドレスＡＡと、ライトイネーブル信号ＷＥＡとを用いて行われる（ステップ４００）。ブロックのデータすべてを書き込むまでステップ４００を繰り返し行う（ステップ１０１）。このようにして、すべてのデータを第１のメモリ７０１へ書き込んだ一例を図１４（ａ）および図１４（ｂ）に示す。図１４（ａ）は、第１のメモリ７０１のメモリマップを２次元イメージで示したものであり、１つのアドレスにｎ個（ここでは、ｎ＝２）のデータが一時的に記憶されている様子が伺える。また、図１４（ｂ）は第１のメモリ７０１の書き込みアドレスＡＡと書き込みデータＷＤＡ（ＷＤＡＵ、ＷＤＡＬ）とを示したものである。この場合のＡＡ、ＷＤＡＵ、ＷＤＡＬの遷移を図１５に示す。図１５に示すように、書き込み制御は、例えば、書き込みスキャン（第１のスキャン）順に連続する２個のデータ０、８がアドレス０に、次のデータ１６、２４がアドレス８にといった具合に、順次記憶されていく。
【０１００】
〈読み出し制御方法の説明〉
第１の実施形態の説明で記載している判定方法を用いて読み出しスキャンの判定を行う（ステップ１０２）。読み出しスキャンが確定すれば、読み出しスキャン（第２のスキャンあるいは第３のスキャンあるいは第４のスキャン）順に連続するｎ個のデータがポートＡおよびポートＢを用いて読み出される。具体的には、読み出しスキャン順に連続する２個のデータのうち、早い方のデータをポートＡから読み出し、遅い方のデータをポートＢから並列に読み出す。その様子を図１６〜図１８に示す。図１６は読み出しスキャンがジグザグスキャンの場合のポートＡの読み出しアドレスＡＡと読み出しデータＲＤＡおよびポートＢの読み出しアドレスＡＢと読み出しデータＲＤＢを示しており、図１７は読み出しスキャンが水平方向優先スキャンの場合のポートＡの読み出しアドレスＡＡと読み出しデータＲＤＡおよびポートＢの読み出しアドレスＡＢと読み出しデータＲＤＢを示しており、図１８は読み出しスキャンが垂直方向優先スキャンの場合のポートＡの読み出しアドレスＡＡおよび読み出しデータＲＤＡを示している。
【０１０１】
読み出しスキャンがジグザグスキャンの場合（図１６）を例にとって具体的に説明すると、ジグザグスキャン順に連続するデータをｎ個（ここでは、ｎ＝２）ずつ並列に読み出すためには、（０，１）、（８，１６）、（９，２）、（３，１０）、…、（６２，６３）といったような順序で読み出す必要がある。このように読み出すために、ポートＡからは２個のデータのうち早い方のデータ（０、８、９、３、…、６２）を読み出すために必要な読み出しアドレスＡＡが０、０、１、３、…、３０といったようにメモリ制御回路８より供給され、それぞれのアドレスＡＡに記憶されているデータが、（０，８）、（０，８）、（１，９）、（３，１１）、…、（５４，６２）のような順序で２個ずつ読み出される。このように読み出された２個ずつのデータのうち、読み出しスキャン順に早い方のデータ（０、８、９、３、…、６２）を選択し出力端子１１に出力するため、メモリ制御回路８は第１の出力選択器９に対して選択信号Ｓ４を供給し、第１の出力選択器９はＳ４に基づいて、読み出しスキャン順に早い方のデータを順次選択し出力端子１１に出力する。また、ポートＡからの読み出しと並行して、ポートＢからは２個のデータのうち遅い方のデータ（１、１６、２、１０、…、６３）を読み出すために必要な読み出しアドレスＡＢが、１、８、２、２、…、３１といったようにメモリ制御回路８より供給され、それぞれのアドレスＡＢに記憶されているデータが、（１，９）、（１６，２４）、（２，１０）、（２，１０）、…、（５５，６３）のような順序で２個ずつ読み出される。このように読み出された２個ずつのデータのうち、読み出しスキャン順に遅い方のデータ（１、１６、２、１０、…、６３）を選択し出力端子１２に出力するため、メモリ制御回路８は第２の出力選択器１０に対して選択信号Ｓ５を供給し、第２の出力選択器１０はＳ５に基づいて、読み出しスキャン順に遅い方のデータを順次選択し出力端子１２に出力する。以上の動作がステップ４０３における並列読み出し動作（第２のスキャン）である。その他の動作制御については第１の実施形態の場合と同様であるため、ここでは詳細な説明を省略する。
【０１０２】
以上のようにして、書き込み、読み出し制御を行うことにより、記憶ユニット７を１つのメモリで構成してもｎ個のデータを並列に読み出すことができ、高速なスキャンの変更が可能となる。また、第１、第２および第３の実施形態のように記憶ユニット７を複数（ｍ個）のメモリで構成する必要がなく、半導体装置などで本発明を実施するような場合には、当該メモリの占有する面積の面においてはさらに安価な装置を実現することができる。
【０１０３】
《第５の実施形態》
図１９は、本発明の第５の実施形態に係る信号処理方法を示すフローチャートである。信号処理装置としては、第１の実施形態と同様のもの（図１）を使用して行う。
【０１０４】
本実施形態は、信号処理装置１を用いて動画像の復号化における高速なスキャンの変更を実施しようとしたものであり、以下、図１９を参照して具体的に説明する。
【０１０５】
符号化の場合は、第１のメモリ７０１、第２のメモリ７０２および第３のメモリ７０３への書き込みは第１のスキャン固定で、読み出しスキャンは第１のスキャン、第２のスキャン、第３のスキャンあるいは第４のスキャンのうちいずれか１つであったのに対して、復号化（本実施形態）の場合は、書き込みスキャンは、第２のスキャン、第３のスキャンあるいは第４のスキャンのうちいずれか１つであり、読み出しスキャンは第１のスキャン固定となる。
【０１０６】
〈書き込み制御方法の説明〉
まず、書き込みスキャンを選択するために必要となる復号化対象ブロックに隣接したブロック（Ａ、Ｂ、Ｃ）のＤＣ係数（σＡ、σＢ、σＣ）が予測係数入力端子１３より入力され、ＤＣ予測符号化とＤＣ／ＡＣ予測符号化とのモード切替えの設定が設定端子１４より入力され、書き込みスキャン（第２のスキャンあるいは第３のスキャンあるいは第４のスキャン）の判定が行われる（ステップ５００）。判定方法については、第１の実施形態の説明において記載した方法と同様である。
【０１０７】
次に、ステップ５００にて判定された書き込みスキャンに従ってｍ個（ここでは、ｍ＝３）のメモリ７０１，７０２，７０３に書き込みスキャン順に連続するｎ個（ここでは、ｎ＝２）のデータが書き込まれ（ステップ５０３〜ステップ５０５）、すべてのデータが書き込まれるまで繰り返し書き込みを行う（ステップ５０６）。書き込み制御において各メモリへ供給される書き込みアドレスおよび書き込みデータについては、図６〜図８と同様である。
【０１０８】
〈読み出し制御方法の説明〉
ステップ５０６において、すべてのデータの書き込みが完了したと判断されたら、第１のスキャン順に連続するｎ個の係数をｍ個のメモリ７０１，７０２，７０３から順次読み出し、出力選択器９，１０において第１のスキャン順に連続するｎ個の係数を選択することにより、第１のスキャン順に連続するｎ個のデータが出力端子１１，１２に順次出力される（ステップ５０７）。読み出し制御において各メモリへ供給されるアドレスと読み出しデータは、図５と同様である。
【０１０９】
このように順次読み出された第１のスキャン順に連続するｎ個のデータに対して順次復号化処理が施され（ステップ５０８）、すべてのデータの読み出しおよび復号化が完了するまで（ステップ５０９）、繰り返し行われる。
【０１１０】
以上のような信号処理方法を用いることにより、動画像の復号化処理におけるデータの並べ替え（スキャンの変更）についても符号化処理の場合と同様に高速化を図ることが可能となる。
【０１１１】
《第６の実施形態》
図２０は、本発明の第６の実施形態に係る信号処理方法を示すフローチャートである。本実施形態は、第１の実施形態に示すような信号処理装置１を符号化の場合と復号化の場合とで共用することにより、安価で、かつ高速なデータの並べ替えを実現しようとしたものである。
【０１１２】
まず、設定された動作モードの判定を行う（ステップ６００）。動作モードが符号化の場合は、ステップ６０１において図２に示すステップ１００〜ステップ１１０と同様の処理が行われ、高速なデータの並べ替えが行われる。また、動作モードが復号化の場合は、ステップ６０２において図１９に示すステップ５００〜ステップ５０９と同様の処理が行われ、高速なデータの並べ替えが行われる。
【０１１３】
以上のようにして、符号化における高速なデータの並べ替えと復号化における高速なデータの並べ替えとを、１つの信号処理装置を排他的に用いることにより、安価で、かつ高速に実現できる。
【０１１４】
《第７の実施形態》
図２１は、本発明の第７の実施形態における撮像システム５０１、例えばデジタルスチルカメラ（ＤＳＣ）の構成を示すブロック図である。図２１中の信号処理装置５０６は、上記本発明の第１〜第６の実施形態に係る信号処理装置のうちのいずれかである。
【０１１５】
図２１によれば、光学系５０２を通って入射した画像光はセンサ５０３上に結像される。センサ５０３はタイミング制御回路５０９によって駆動されることにより、結像された画像光を蓄積し、電気信号へと光電変換する。センサ５０３から読み出された電気信号は、アナログ・デジタル変換器（ＡＤＣ）５０４によってデジタル信号へと変換された後に、当該信号処理装置５０６を含む画像処理回路５０５に入力される。この画像処理回路５０５においては、Ｙ／Ｃ処理、エッジ処理、画像の拡大縮小、および本発明を用いた画像圧縮伸張処理などの画像処理が行われる。画像処理された信号は、記録転送回路５０７においてメディアヘの記録あるいは転送が行われる。記録あるいは転送された信号は、再生回路５０８により再生される。この撮像システム５０１の全体は、システム制御回路５１０によって制御されている。
【０１１６】
なお、本発明に係る信号処理装置５０６における画像処理は必ずしも光学系５０２を介してセンサ５０３に結像された画像光に基づく信号のみに適用されるものではなく、例えば外部装置から電気信号として入力される画像信号を処理する際にも適用可能であることは言うまでもない。
【産業上の利用可能性】
【０１１７】
本発明に係る信号処理方法および信号処理装置は、複数の書き込みスキャンおよび複数の読み出しスキャンが存在するような場合においても、高速なデータの並べ替え（スキャンの変更）を容易に実現できるため、安価で、かつ高速な符号化および復号化が要求される画像符号化復号化システムへの応用が可能である。
【０１１８】
特に、近年、低ビットレート符号化技術として注目されているＭＰＥＧ−４を搭載したカメラ付き携帯電話、ＰＤＡなどの携帯機器などに有用であり、さらに、低ビットレートでの高画質・長時間動画記録の需要が高まっているＤＳＣや、これらの携帯機器との連携を図ったＡＶ機器などにも有用である。
【図面の簡単な説明】
【０１１９】
【図１】本発明の第１の実施形態に係る信号処理装置の構成を示す図である。
【図２】本発明の第１の実施形態における信号処理方法を示すフローチャートである。
【図３】（ａ）〜（ｄ）は、本発明の第１の実施形態における複数のメモリのメモリマップを２次元イメージで示し、かつ４つのスキャン順を示した図である。
【図４】（ａ）〜（ｃ）は、本発明の第１の実施形態における複数のメモリのメモリマップを１次元イメージで示した図である。
【図５】本発明の第１の実施形態における複数のメモリの書き込み制御をラスタスキャンの場合について示した図である。
【図６】本発明の第１の実施形態における複数のメモリの読み出し制御をジグザグスキャンの場合について示した図である。
【図７】本発明の第１の実施形態における複数のメモリの読み出し制御を水平方向優先スキャンの場合について示した図である。
【図８】本発明の第１の実施形態における複数のメモリの読み出し制御を垂直方向優先スキャンの場合について示した図である。
【図９】本発明の第２の実施形態に係る信号処理装置の構成を示す図である。
【図１０】本発明の第２の実施形態における信号処理方法を示すフローチャートである。
【図１１】本発明の第３の実施形態に係る信号処理装置の構成を示す図である。
【図１２】本発明の第４の実施形態に係る信号処理装置の構成を示す図である。
【図１３】本発明の第４の実施形態における信号処理方法を示すフローチャートである。
【図１４】（ａ）および（ｂ）は、本発明の第４の実施形態におけるメモリのメモリマップを２次元イメージおよび１次元イメージでそれぞれ示した図である。
【図１５】本発明の第４の実施形態におけるメモリの書き込み制御をラスタスキャンの場合について示した図である。
【図１６】本発明の第４の実施形態におけるメモリの読み出し制御をジグザグスキャンの場合について示した図である。
【図１７】本発明の第４の実施形態におけるメモリの読み出し制御を水平方向優先スキャンの場合について示した図である。
【図１８】本発明の第４の実施形態におけるメモリの読み出し制御を垂直方向優先スキャンの場合について示した図である。
【図１９】本発明の第５の実施形態における信号処理方法を示すフローチャートである。
【図２０】本発明の第６の実施形態における信号処理方法を示すフローチャートである。
【図２１】本発明の第７の実施形態における撮像システムの構成を示す図である。
【図２２】従来の一般的な画像符号化装置の構成を示す図である。
【図２３】従来の信号処理装置の構成を示す図である。
【図２４】（ａ）および（ｂ）は、従来の信号処理装置における複数のメモリのメモリマップを２次元イメージで示し、かつ２つのスキャン順を示した図である。
【図２５】（ａ）および（ｂ）は、従来の信号処理装置における複数のメモリのメモリマップを１次元イメージで示した図である。
【図２６】（ａ）および（ｂ）は、従来の信号処理装置における複数のメモリの書き込みおよび読み出し制御をそれぞれ示した図である。
【図２７】従来の係数予測方法を説明する図である。
【図２８】（ａ）〜（ｄ）は、従来の信号処理方法では本発明の課題を解決できないことを具体的に示す図である。
【符号の説明】
【０１２０】
１，２０１，３０１，４０１，１００１  信号処理装置
２，３  入力端子
４，５，６  入力選択器
９，１０，２０９，２１０  出力選択器
７  記憶ユニット
８  メモリ制御回路
１１，１２，２１１，２１２  出力端子
１３  予測係数入力端子
１４  設定端子
３０  クロック制御回路
５０１  撮像システム
５０２  光学系
５０３  センサ
５０４  アナログ・デジタル変換器（ＡＤＣ）
５０５  画像処理回路
５０６  信号処理装置
５０７  記録転送回路
５０８  再生回路
５０９  タイミング制御回路
５１０  システム制御回路
７０１  第１のメモリ
７０２  第２のメモリ
７０３  第３のメモリ
【図１】
2005160021.tif 000003
【図２】
2005160021.tif 000004
【図３】
2005160021.tif 000005
【図４】
2005160021.tif 000006
【図５】
2005160021.tif 000007
【図６】
2005160021.tif 000008
【図７】
2005160021.tif 000009
【図８】
2005160021.tif 000010
【図９】
2005160021.tif 000011
【図１０】
2005160021.tif 000012
【図１１】
2005160021.tif 000013
【図１２】
2005160021.tif 000014
【図１３】
2005160021.tif 000015
【図１４】
2005160021.tif 000016
【図１５】
2005160021.tif 000017
【図１６】
2005160021.tif 000018
【図１７】
2005160021.tif 000019
【図１８】
2005160021.tif 000020
【図１９】
2005160021.tif 000021
【図２０】
2005160021.tif 000022
【図２１】
2005160021.tif 000023
【図２２】
2005160021.tif 000024
【図２３】
2005160021.tif 000025
【図２４】
2005160021.tif 000026
【図２５】
2005160021.tif 000027
【図２６】
2005160021.tif 000028
【図２７】
2005160021.tif 000029
【図２８】
2005160021.tif 000030