(57)【要約】【課題】レジスタに初期化を行うための時間を短縮することができる半導体集積回路等を提供する。【解決手段】スキャン設定がされた半導体集計回路において、各レジスタに対してＣＰＵ１１のリセットにより初期化データを設定する。設定される初期化データを変更する必要がない場合は、本動作を開始する。初期化データの一部を変更する場合は制御装置８によりスキャンパス１３およびスキャンパス１４を利用して初期化データの変更を行う。レジスタを変更頻度に応じてスキャンパスに接続し、初期化データの変更を行うレジスタのみの設定を変更することで、ＣＰＵ１１に係る負担を軽減でき、レジスタの初期化データの設定を迅速に行うことができる。【選択図】  図４
2005347826.tif 000002
【特許請求の範囲】
【請求項１】
複数のレジスタに初期化データを設定するスキャン設計された半導体集積回路において、
上記複数のレジスタに対してリセット信号により初期化データを設定する第１の設定手段と、
スキャンパスを利用して、上記初期化データのうち変更頻度が高い初期化データを設定する第２の設定手段を備えることを特徴とする半導体集積回路。
【請求項２】
上記複数のレジスタは、各レジスタに設定される初期化データの変更頻度に応じてそれぞれ別のスキャンパスに接続される請求項１に記載の半導体集積回路。
【請求項３】
上記第１の設定手段により設定される初期化データは標準的に使用される値である請求項１に記載の半導体集積回路。
【請求項４】
上記初期化データのうち変更頻度が高いデータを記憶する記憶手段を備える請求項１に記載の半導体集積回路。
【請求項５】
上記記憶手段に記憶されている上記変更頻度が高いデータはエントロピー符号化されて記憶されており、復号器により復号されて上記複数のレジスタに設定される請求項４に記載の半導体集積回路。
【請求項６】
スキャン設計された半導体集積回路に備えられる複数のレジスタに初期化データを設定する初期化データ設定方法において、
上記複数のレジスタに対してリセット信号により初期化データを設定する設定ステップと、
上記設定された初期化データの一部を変更する必要があるか否かを判別する判別ステップと、
上記判別ステップの結果、変更する必要がない場合は本動作を開始し、変更する必要がある場合は、変更する初期化データを選択し、選択された初期化データをスキャンパスを用いて設定するステップを含む初期化データ設定方法。
【請求項７】
撮影画像をディジタル信号に変換し、上記ディジタル信号を圧縮して保存する撮像装置において、
複数の量子化係数設定レジスタに対してリセット信号により量子化係数を設定する第１の設定手段と、
スキャンパスを利用して、上記量子化係数の変更頻度が高い量子化係数を設定する第２の設定手段を備える半導体集積回路を有する撮像装置。
【請求項８】
上記複数の量子化係数設定レジスタは、各レジスタに設定される量子化係数の変更頻度に応じてそれぞれ別のスキャンパスに接続される請求項７に記載の撮像装置。
【請求項９】
上記第１の設定手段により設定される量子化係数は標準的に使用される値である請求項７に記載の撮像装置。
【請求項１０】
上記量子化係数のうち変更頻度が高い量子化係数を記憶する記憶手段を備える請求項７に記載の撮像装置。
【請求項１１】
上記記憶手段に記憶されている上記変更頻度が高い量子化係数はエントロピー符号化されて記憶されており、復号器により復号されて上記複数の量子化係数設定レジスタに設定される請求項７に記載の撮像装置。
【請求項１２】
スキャン設計された半導体集積回路に備えられる複数のレジスタに初期化データを設定する初期化データ設定方法のプログラムにおいて、
コンピュータに対し、
上記複数のレジスタに対してリセット信号により初期化データを設定する設定ステップと、
上記設定された初期化データの一部を変更する必要があるか否かを判別する判別ステップと、
上記判別ステップの結果、変更する必要がない場合は本動作を開始し、変更する必要がある場合は、変更する初期化データを選択し、選択された初期化データをスキャンパスを用いて設定するステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体集積回路、初期化データ設定方法、撮像装置およびプログラムに関する。
【背景技術】
【０００２】
近年、半導体集積回路は大規模化しており、数百万ゲートを越す規模も少なくない。１つの半導体集積回路に多くの機能を搭載できるようになり、それに伴って各機能の動作設定レジスタの数だけでも数万ゲートを占めるようになってきている。通常、半導体集積回路を動作させる場合には、ＣＰＵ（Central Processing Unit）などの半導体集積回路の制御装置から動作設定レジスタの設定を行った後に本来の処理動作を開始するが、動作設定レジスタの数も増え、動作設定レジスタの設定に必要とされる時間が大きくなってきている。
【０００３】
また、近年、半導体集積回路に対して故障検出を目的としてスキャン設計を適用することが多くなってきている。スキャン設計とは、各レジスタを、スキャンパスを介して直列に接続し、あるデータを入力して入力および出力結果を比較することにより故障を検出するものである。下記特許文献１には、スキャンパスを介して半導体集積回路の内部レジスタに初期化用のデータを設定するという半導体集積回路の初期化装置に関する発明が記載されている。
【０００４】
【特許文献１】特開２００１−３５２０３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の半導体集積回路には以下のような問題点があった。ＣＰＵは動作設定レジスタの初期化を行っている間は他の処理を行うことができないため、本来の処理動作を行うまでの時間が大きくなってしまう。
【０００６】
また、半導体集積回路の規模に比例してスキャンパスに接続するレジスタ数も多くなり、シフトデータをレジスタに設定する場合に、レジスタの数だけデータをシフトさせる必要があるため、初期化を行うために多くの時間を必要とするという問題点があった。
【０００７】
従って、この発明の目的は、例えば半導体集積回路において、ＣＰＵによる動作レジスタの初期化にかかる手順を最低限に抑えて動作設定レジスタの初期化を行うことにより、初期化を行うための時間を短縮することである。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、請求項１に係る発明は、複数のレジスタに初期化データを設定するスキャン設計された半導体集積回路において、複数のレジスタに対してリセット信号により初期化データを設定する第１の設定手段と、スキャンパスを利用して、初期化データのうち変更頻度が高い初期化データを設定する第２の設定手段を備えることを特徴とする半導体集積回路である。
【０００９】
請求項６に係る発明は、スキャン設計された半導体集積回路に備えられる複数のレジスタに初期化データを設定する初期化データ設定方法において、複数のレジスタに対してリセット信号により初期化データを設定する設定ステップと、設定された初期化データの一部を変更する必要があるか否かを判別する判別ステップと、判別ステップの結果、変更する必要がない場合は本動作を開始し、変更する必要がある場合は、変更する初期化データを選択し、選択された初期化データをスキャンパスを用いて設定するステップを含む初期化データ設定方法である。
【００１０】
請求項７に係る発明は、撮影画像をディジタル信号に変換し、ディジタル信号を圧縮して保存する撮像装置において、複数の量子化係数設定レジスタに対してリセット信号により量子化係数を設定する第１の設定手段と、スキャンパスを利用して、量子化係数の変更頻度が高い量子化係数を設定する第２の設定手段を備える半導体集積回路を有する撮像装置である。
【００１１】
請求項１２に係る発明は、スキャン設計された半導体集積回路に備えられる複数のレジスタに初期化データを設定する初期化データ設定方法のプログラムにおいて、コンピュータに対し、複数のレジスタに対してリセット信号により初期化データを設定する設定ステップと、設定された初期化データの一部を変更する必要があるか否かを判別する判別ステップと、判別ステップの結果、変更する必要がない場合は本動作を開始し、変更する必要がある場合は、変更する初期化データを選択し、選択された初期化データをスキャンパスを用いて設定するステップを実行させるためのプログラムである。
【発明の効果】
【００１２】
この発明によれば、半導体集積回路において動作設定レジスタの初期化における時間を短縮することができる。
【００１３】
また、例えば、この発明をディジタルカメラなどの撮像装置に適用すれば、設定レジスタの初期設定時間を高速化することにより電源立ち上げからシステム全体が起動し、本動作を開始するまでの時間が短縮でき、高速に起動するようにすることができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しながらこの発明の一実施形態について説明する。図１は半導体集積回路初期化装置１００を示す。この一実施形態における半導体集積回路初期化装置１００は初期化の対象となる半導体集積回路１、半導体集積回路１の初期化を制御する制御装置８、初期化を行う初期化データを符号化して記憶するメモリ９、符号化された初期化データを復号する復号器１０、半導体集積回路の制御を行うＣＰＵ１１、ＣＰＵ１１が半導体集積回路の制御に使用するソフトウェアが記憶されたＲＯＭ１２からなる。
【００１５】
また、この一実施形態における半導体集積回路１は、内部に複数のレジスタからなるレジスタ群２〜レジスタ群４をシリアルに接続するスキャンパス１３、レジスタ群５〜レジスタ群７をシリアルに接続するスキャンパス１４、ＣＰＵ１１からの制御により各レジスタ群のリセットを行うリセット１５からなる。
【００１６】
各レジスタ群のスキャンパスへの接続は設定頻度に応じて分けられ、レジスタの変更頻度が多いレジスタ群は同じスキャンパスに含まれるように、レジスタの変更頻度が少ないレジスタ群は同じスキャンパスに含まれるように接続される。また、リセットによる各レジスタ群の初期化後の値は標準的に使用する頻度が多い値に設定される。
【００１７】
図２を用いて動作設定レジスタに設定する初期化データの一例を示す。この一例では１６ビットの設定レジスタを示し、各ビットは図１におけるビットごとのレジスタ群２〜レジスタ群４およびレジスタ群５〜レジスタ群７に相当する。初期化データ１６は最も設定される頻度が高く、標準的に使用することが可能な初期化データの例である。初期化データ１６は、ＣＰＵ１１のリセット処理により各レジスタに設定される。
【００１８】
また、初期化データ１７および初期化データ１８は、初期化データ１６に次いで設定頻度が高い初期化データの例である。初期化データ１７および初期化データ１８は、０ビットから９ビットまでは初期化データ１６と同じデータとなり、それ以降のビットはそれぞれ別のデータとなる。
【００１９】
この一実施形態における初期化データは、９ビットより前の初期化データの変更頻度は低く、それ以降のビットの初期化データの変更頻度は高い。従って、９ビットより前の初期化データの設定はリセットで行い、１０〜１５ビットの初期化データの設定はスキャンパスで行う。また、９ビット前の初期化データが入力されるレジスタと、１０〜１５ビットの初期化データが入力されるレジスタはそれぞれ別々のスキャンパスに接続される。
【００２０】
図３は半導体集積回路初期化装置１００の処理を示すフローチャートである。処理開始後、ステップＳ１ではＣＰＵ１１がＲＯＭ１２に記憶されているソフトウェアに基づいて指示信号を送出し、指示信号を受けたリセット１５により回路内の全てのレジスタ群２〜４およびレジスタ群５〜７の初期化がなされる。
【００２１】
リセットによる初期化がなされた後、ステップＳ２において部分的な設定変更が必要か否かが判別される。ステップＳ１における初期化でレジスタの値は使用頻度の高い値に設定されるため、設定変更が必要ない場合は処理はステップＳ６に進み本動作を開始する。なお、ここで本動作とは、半導体集積回路の有する本来の信号処理の動作を意味する。部分的な動作設定レジスタの設定値の変更が必要な場合には、処理はステップＳ３に進む。
【００２２】
ステップＳ３では、制御装置８によりメモリ９に記憶されている複数の初期化データから使用するデータの選択が行われる。メモリ９にはスキャンパスごとに複数の初期化データを記憶することができ、制御装置８により選択された初期化データが読み出され、どの初期化データを使うかが決定される。
【００２３】
初期化データが選択された後、動作はステップＳ４へと進む。メモリ９に記憶されている初期化データは符号化され圧縮されているため、ステップＳ４では初期化データの復号化（デコード）がなされる。制御装置８の指示信号により、復号された初期化データに基づいてスキャンパス１３もしくはスキャンパス１４に接続されているレジスタをシフトしながら各レジスタに初期化データの設定が行われる。なお、制御装置８、復号器１０および初期化データを記憶するメモリ９は半導体集積回路１の内部に持つ構成としても同様の機能を実現することができる。
【００２４】
初期化データをメモリ９に記憶する際、スキャンパスに接続されているレジスタに設定する初期化データを記憶しておくと、レジスタの数が増えればそれに伴って初期化データ数も増え、メモリの容量が必要になる。限られたメモリ容量内に収めようとすれば、初期化データ数を制限することにもなるため、それを解決するためにスキャンパスにより設定される初期化データをメモリ９に符号化して記憶し、スキャンパスへの初期化データ入力時には復号器１０によりデコードされて各レジスタに入力される。
【００２５】
例えば、効率的に符号を割り当ててデータを圧縮するエントロピー符号化のひとつであるランレングス符号化を使用する場合では、図２における初期化データ１７および初期化データ１８では０が連続しているので、連続する０を符号化する。符号化されていない初期化データをメモリに記憶するのに比べて符号化することによりデータ量を削減することができ、メモリ９の容量を削減することができる。
【００２６】
図４はこの一実施形態における各レジスタ群の内部レジスタのスキャンパス接続を示す。この一実施形態では、１６ビットの設定レジスタとし、レジスタ１９〜レジスタ２８およびレジスタ３０〜レジスタ３５は図２を用いて説明した初期化データの各ビットに相当する。レジスタ１９〜レジスタ２８にはスキャンパス２９が、レジスタ３０〜レジスタ３５にはスキャンパス３６がそれぞれ接続されている。
【００２７】
レジスタ１９〜レジスタ２８は、初期化データにおける９ビットより前のレジスタに相当し、レジスタ３０〜レジスタ３５は１０〜１５ビットのレジスタに相当する。０〜９ビットは変更頻度が低く、１０〜１５ビットは変更頻度が高いため、各ビットに相当するレジスタ１９〜レジスタ２８およびレジスタ３０〜レジスタ３５はそれぞれ別々のスキャンパスに接続される。
【００２８】
図４を用いて、各内部レジスタに初期化データを入力する一例について説明する。例えば、標準的な初期化データ１６を設定する場合、リセット３７によるレジスタの初期化を行うことにより各レジスタにデータを設定することができる。初期化データ１６の部分的な変更が必要ない場合は本動作を開始する。この処理は図３を用いて説明したフローチャートのステップＳ２においてＮＯを選択した処理にあたる。
【００２９】
初期化データ１７または初期化データ１８を設定する場合、リセット３７によるレジスタの初期化を行う。例えば初期化データ１８では１０〜１５ビットのデータを変更する必要があるため、スキャンパス３６によりレジスタ３０〜レジスタ３５の設定を行う。メモリから読み出され、デコードされた初期化データ１８がスキャンパス３６から順次入力されて、レジスタをシフトして設定される。
【００３０】
始めに、初期化データ１８の１０〜１５ビットに相当する初期化データ「０００００１」の「１」が入力され、レジスタ３０に「１」が設定される。次に「０」が入力され、レジスタ３０に設定されていた「１」はレジスタ３１にシフトし、レジスタ３０には入力された「０」が設定される。この動作を順次行うことにより、レジスタ３０〜レジスタ３５には順番に「０００００１」の値が設定される。
【００３１】
次に、この発明による半導体集積回路をディジタルカメラに適用した一実施形態について説明する。図５はディジタルカメラの信号処理系の構成を示す。撮像素子３８は、例えばＣＣＤ(Charge Coupled Device)やＣＭＯＳ（Complementary Metal-Oxide Semiconductor）であり、画像情報を取り込み電気信号に変換する処理を行う。変換された電気信号は前処理回路３９に供給される。
【００３２】
前処理回路３９では、供給された電気信号の画像情報に対して、ＣＤＳ（Correlated Double Sampling）処理を行いＳ／Ｎ比を良好に保つようにするとともに、ＡＧＣ（Automatic Gain Control）処理を行って、利得を制御する。また、Ａ／Ｄ（Analog/Digital）変換を行って、デジタル信号とされた画像データを形成する。以上の処理をブロック４０にて行う。
【００３３】
タイミングジェネレータ４１およびＶドライバー４２は撮像素子３８の駆動タイミングを制御する処理を行う。前処理回路３９からのデータは、カメラＤＳＰ(Digital Signal Processor)部４３に供給される。カメラＤＳＰ部４３は、カメラ信号処理４４、解像度変換４５、画像ＣＯＤＥＣ４６、メモリ制御４７、表示制御４８、メディア制御４９、ＢＩＵ(Bus Interface Unit)５０からなる。
【００３４】
メモリ制御４７は、メモリ装置５１を制御するブロックであり、表示制御４８は、ＬＣＤ(Liquid Crystal Display)およびモニタ５２を制御する処理を行う。メモリ装置５１は、例えばＳＤＲＡＭ（Synchronous DRAM）である。また、メディア制御４９は、記録メディア５３を制御する処理を行う。
【００３５】
記録メディア５３は半導体メモリを用いたいわゆるメモリーカード、記録可能なＤＶＤ（Digital Versatile Disk）や記録可能なＣＤ（Compact Disc）等の光記録媒体、磁気ディスクなどの種々の記録媒体を用いることができる。
【００３６】
ＢＩＵ５０は、ＣＰＵ５５とカメラＤＳＰ部４３のインターフェースをとる。また、ＣＰＵ５５は、ユーザインターフェースである操作部５４からの信号を元に、ＥＥＰＲＯＭ(Electrically Erasable Programmable Read-Only Memory)５７からプログラムをロードし、ワークメモリであるＲＡＭ(Random Access Memory)５６を使用してプログラムを実行し、カメラＤＳＰ部４３と通信しながら、ユーザからの要求にそった動作を保証する。
【００３７】
次に、ディジタルカメラの撮影動作について説明する。操作部５４に入力されたユーザの撮影動作指示により、撮像素子３８および前処理回路３９が動作し、画像情報をカメラＤＳＰ部４３に取り込む。カメラＤＳＰ部４３では、カメラ信号処理４４を行ったデータをメモリ制御４７を通して、メモリ装置５１に書き込む。書き込まれたデータをメモリ装置５１から読み出し、解像度変換４５にて画像のサイズを変更し、表示制御４８を通して、ＬＣＤ/モニタ部５２に出力し、表示する。
【００３８】
また、メモリ装置５１から読み出されたデータは、解像度変換４５にて画サイズを変更し、画像ＣＯＤＥＣ４６にて、ＪＰＥＧ/ＭＰＥＧなどのストリームデータに圧縮され、メディア制御４９を通して、記録メディア５３に書き込まれる。
【００３９】
この発明による半導体集積回路は、画像ＣＯＤＥＣ４６に適用できる。近年、ディジタルカメラでは、撮影された画像データをＪＰＥＧ／ＭＰＥＧなどのストリームデータに圧縮し、保存することが行われる。ＪＰＥＧ符号化では離散コサイン変換（DCT:Discrete Cosine Transform）処理の後に量子化処理が行われ、エントロピー符号化により符号データが生成される。生成されるＪＰＥＧ符号において画質と符号化情報量は量子化に使用される量子化テーブルを変更することでコントロールすることが可能である。
【００４０】
ＤＣＴ処理によって画像データは周波数成分に分解される。一般的に人間の視覚は、低周波成分に対して敏感であり、高周波成分に対しては鈍感だといわれている。したがって、高周波成分については少々粗い量子化を行ってもその影響はあまり目立たない。また、ＤＣＴ処理後の周波数成分データについては、自然画の場合には画面内の近接するピクセルとの画像情報の変化が緩やかなものが多いため、低周波成分に集中する。
【００４１】
図６にＪＰＥＧ量子化テーブルの量子化係数の一例を示す。図６に示すように、周波数成分は左上から右下にいくにつれて低周波数成分から高周波数成分へ遷移していく。上述したように、自然画では低周波成分に集中するため、また、一般的に人間の視覚が高周波成分に対して鈍感なため、高周波成分の量子化係数は大きな値、すなわち、語長の長い係数に設定される。語長が長くなればその初期値を記憶しておくメモリも大容量のものが必要となるが、符号化してメモリに記憶することにより、メモリ容量の削減をはかることができる。また、画質と符号化情報量のコントロールにおいても主に高周波成分の量子化係数５８を変更することで行われる。
【００４２】
図７に量子化係数をジグザグスキャンの順に表したグラフを示す。グラフの縦軸は量子化係数を示し、横軸は周波数成分を示す。尚、ジグザグスキャンとはＪＰＥＧ量子化後にランレングス符号化の前に行われる処理であり、図８に示すような順序で読み出しを行う処理である。
【００４３】
図７において、グラフ５９は標準的に使用できる量子化係数を示し、グラフ６０およびグラフ６１は、グラフ５９に次いで使用頻度の高い量子化係数を表している。グラフ５９は例えば標準モードで撮影した場合などである。
【００４４】
グラフ６０は高周波成分に対する量子化係数の値が大きいことを示す。すなわち、量子化は粗く行われ画質は下がるが、データ量は少なくなる。また、グラフ６１は高周波成分に対する量子化係数の値は小さいことを示す。すなわち、量子化が細かく行われ画質は向上するが、データ量が多くなる。このグラフ６１は例えば高画質モードで撮影した場合などである。
【００４５】
ディジタルカメラの標準モードや高画質モードの設定により圧縮したファイルサイズが決まる。また、実際に撮影した画像によりどれだけ圧縮されるかが決まるため、決められた一定の領域のメモリに収まるように微調整される。
【００４６】
図７のグラフに示すように、ある一定の周波数成分Ｆ0までの低周波数成分の量子化係数は変更することはない。これに対して、ある周波数成分Ｆ0以上の高周波成分の量子化係数はグラフ５９ないしグラフ６１のように変更の頻度が高い。すなわち、ある周波数以上の高周波成分は設定する値を変更する必要がある。
【００４７】
従って、低周波数成分の量子化係数設定レジスタ群と高周波数成分の量子化係数設定レジスタ群とを別々のスキャンパスにより接続し、リセットによる初期化によりグラフ５９の量子化係数が設定され、グラフ６０およびグラフ６１の量子化係数に設定が必要な場合にはスキャンパスにより高周波成分の量子化係数の設定のみを行うことにより、設定レジスタの初期化が可能となる。
【００４８】
設定レジスタの初期設定時間を高速化することにより、高速に起動することが可能なデジタルスチルカメラシステムを構築することができる。なお、上述した一実施形態は、静止画の場合について説明したが、この発明は動画に対しても適用することができる。
【００４９】
この発明は、この発明の要旨を逸脱しない範囲内でさまざまな変形や応用が可能であり、上述した一実施形態に限定されることはない。例えば、新たにＣＰＵを設け制御装置８、メモリ９および復号器１０の処理を行わせる構成としてもよい。また、この発明はディジタルカメラのみならずスキャンパス設計を有する電子機器に適用することができる。
【００５０】
さらに、図３を用いて説明した一連の処理は、プログラムにより撮像装置等に内蔵のコンピュータに実行させることも可能である。
【図面の簡単な説明】
【００５１】
【図１】この発明の一実施形態における半導体集積回路の構成を示すブロック図である。
【図２】この発明の一実施形態における初期化データを示す略線図である。
【図３】この発明の一実施形態における半導体集積回路の処理を示すフローチャートである。
【図４】この発明の一実施形態における内部レジスタのスキャンパス接続を示す略線図である。
【図５】この発明の一実施形態におけるディジタルカメラの構成を示すブロック図である。
【図６】この発明の一実施形態におけるＪＰＥＧ量子化テーブルの量子化係数を示す略線図である。
【図７】この発明の一実施形態における周波数成分と量子化係数の関係を示すグラフである。
【図８】ジグザグスキャンを説明するための略線図である。
【符号の説明】
【００５２】
１            半導体集積回路
８            制御装置
９            メモリ
１０          復号器
１１          ＣＰＵ
１３、１４    スキャンパス
１５          リセット
【図１】
2005347826.tif 000003
【図２】
2005347826.tif 000004
【図３】
2005347826.tif 000005
【図４】
2005347826.tif 000006
【図５】
2005347826.tif 000007
【図６】
2005347826.tif 000008
【図７】
2005347826.tif 000009
【図８】
2005347826.tif 000010