(57)【特許請求の範囲】
【請求項１】
撮像デバイスのためのタイミング信号を生成する、プロセッサに実装した方法であって、
メモリ内に記憶された第１の記述子データ構造の第１の記述子タイミング情報を取得することであって、前記第１の記述子データ構造は、前記メモリ内に記憶された他の記述子データ構造を指す第１の記述子ポインタをさらに含み、前記第１の記述子タイミング情報は、前記メモリ内に記憶された第１のベクタテーブルおよび第１の位置テーブルに関する情報を含み、前記第１のベクタテーブルは、少なくとも１つのタイミング信号の識別子を列記し、前記第１の位置テーブルは、前記識別子に対応する前記少なくとも１つのタイミング信号のそれぞれの少なくとも１つのトグル位置を列記する、ことと、
前記第１の記述子タイミング情報に基づいて、前記メモリから第１のタイミング情報を取得することであって、前記第１のタイミング情報は、前記第１のベクタテーブルおよび前記第１の位置テーブルを含む、ことと、
前記第１のタイミング情報の前記第１のベクタテーブルおよび前記第１の位置テーブルに少なくとも基づいて、前記撮像デバイスのための前記少なくとも１つのタイミング信号を生成することであって、前記少なくとも１つのタイミング信号は、前記第１の位置テーブル内に列記されたそれぞれのトグル位置においてトグルされる、ことと
を含む、方法。
【請求項２】
前記第１の記述子データ構造から前記第１の記述子ポインタを取得することであって、前記第１の記述子ポインタは、第２の記述子データ構造を指す、ことと、
前記第１の記述子ポインタに基づいて、前記第２の記述子データ構造の第２の記述子タイミング情報を取得することであって、前記第２の記述子タイミング情報は、前記メモリ内に記憶された第２のベクタテーブルおよび第２の位置テーブルに関する情報を含み、前記第２のベクタテーブルは、少なくとも１つのタイミング信号の識別子を列記し、前記第１の位置テーブルは、前記少なくとも１つのタイミング信号の少なくとも１つのトグル位置を列記する、ことと、
前記第２の記述子タイミング情報に基づいて、前記メモリから第２のタイミング情報を取得することであって、前記第２のタイミング情報は、前記第２のベクタテーブルおよび前記第２の位置テーブルを含む、ことと、
前記第１のタイミング情報の前記第１のベクタテーブルおよび前記第１の位置テーブルと、前記第２のタイミング情報の前記第２のベクタテーブルおよび前記第２の位置テーブルとに少なくとも基づいて、前記少なくとも１つのタイミング信号を生成することと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記少なくとも１つのタイミング信号の第１の期間は、前記第１のタイミング情報に基づいて生成され、前記少なくとも１つのタイミング信号の第２の期間は、前記第２のタイミング情報に基づいて生成される、請求項２に記載の方法。
【請求項４】
複数のカウンタを制御することと、
前記複数のカウンタおよび前記第１のタイミング情報に基づいて、少なくとも１つのトグル位置を決定することと、
前記決定された少なくとも１つのトグル位置に基づいて、前記少なくとも１つのタイミング信号を生成することと
をさらに含む、請求項１に記載の方法。
【請求項５】
前記第１の記述子タイミング情報は、前記メモリにおける前記第１のタイミング情報のアドレスを含み、前記メモリから前記第１のタイミング情報を取得することは、前記メモリにおける前記第１のタイミング情報のアドレスに対応する前記メモリから、タイミング情報の一部分を読み出すことを含む、請求項１に記載の方法。
【請求項６】
タイミングコアメモリの利用可能空間、メモリバスの状態、およびタイミングコアの制御プロセスの状態のうちの少なくとも１つに基づいて、タイミング発生器メモリから前記第１のタイミング情報を取得し、前記タイミング情報を前記タイミングコアメモリ内に記憶することをさらに含む、請求項１に記載の方法。
【請求項７】
前記撮像デバイスのシステムメモリからタイミング情報を取得することと、
システムの電源投入時に、タイミング発生器メモリに前記タイミング情報を記憶することと
をさらに含む、請求項１に記載の方法。
【請求項８】
少なくとも１つの通信チャネルを通じて前記少なくとも１つのタイミング信号を伝送することをさらに含む、請求項１に記載の方法。
【請求項９】
装置であって、
メモリ内に記憶された第１の記述子データ構造の第１の記述子タイミング情報を取得するように構成されるプロセッサコアであって、前記第１の記述子データ構造は、前記メモリ内に記憶された他の記述子データ構造を指す第１の記述子ポインタをさらに含み、前記第１の記述子タイミング情報は、前記メモリ内に記憶された第１のベクタテーブルおよび第１の位置テーブルに関する情報を含み、前記第１のベクタテーブルは、少なくとも１つのタイミング信号の識別子を列記し、前記第１の位置テーブルは、前記識別子に対応する前記少なくとも１つのタイミング信号のそれぞれの少なくとも１つのトグル位置を列記する、プロセッサコアと、
タイミングコアであって、
前記第１の記述子タイミング情報に基づいて、前記メモリから第１のタイミング情報を取得することであって、前記第１のタイミング情報は、前記第１のベクタテーブルおよび前記第１の位置テーブルを含む、ことと、
前記第１のタイミング情報の前記第１のベクタテーブルおよび前記第１の位置テーブルに少なくとも基づいて、前記少なくとも１つのタイミング信号を生成することであって、前記少なくとも１つのタイミング信号は、前記第１の位置テーブル内に列記されたそれぞれのトグル位置においてトグルされる、ことと
を行うように構成されるタイミングコアと
を含む、装置。
【請求項１０】
前記プロセッサコアは、前記第１の記述子データ構造から前記第１の記述子ポインタを取得するようにさらに構成され、前記第１の記述子ポインタは、第２の記述子データ構造を指し、前記タイミングコアは、
前記第１の記述子ポインタに基づいて、前記第２の記述子データ構造の第２の記述子タイミング情報を取得することであって、前記第２の記述子タイミング情報は、前記メモリ内に記憶された第２のベクタテーブルおよび第２の位置テーブルに関する情報を含み、前記第２のベクタテーブルは、少なくとも１つのタイミング信号の識別子を列記し、前記第１の位置テーブルは、前記少なくとも１つのタイミング信号の少なくとも１つのトグル位置を列記する、ことと、
前記第２の記述子タイミング情報に基づいて、前記メモリから第２のタイミング情報を取得することであって、前記第２のタイミング情報は、前記第２のベクタテーブルおよび前記第２の位置テーブルを含む、ことと、
前記第１のタイミング情報の前記第１のベクタテーブルおよび前記第１の位置テーブルと、前記第２のタイミング情報の前記第２のベクタテーブルおよび前記第２の位置テーブルとに少なくとも基づいて、前記少なくとも１つのタイミング信号を生成することと
を行うようにさらに構成される、請求項９に記載の装置。
【請求項１１】
前記少なくとも１つのタイミング信号の第１の期間は、前記第１のタイミング情報に基づいて生成され、前記少なくとも１つのタイミング信号の第２の期間は、前記第２のタイミング情報に基づいて生成される、請求項９に記載の装置。
【請求項１２】
前記タイミングコアは、
複数のカウンタを制御することと、
前記複数のカウンタおよび前記第１のタイミング情報に基づいて、少なくとも１つのトグル位置を決定することと、
前記決定された少なくとも１つのトグル位置に基づいて、前記少なくとも１つのタイミング信号を生成することと
を行うようにさらに構成される、請求項９に記載の装置。
【請求項１３】
前記タイミングコアは、前記第１の記述子タイミング情報を記憶するように構成される、記述子レジスタセットを含む、請求項９に記載の装置。
【請求項１４】
前記第１の記述子タイミング情報は、タイミングパターン長およびタイミングパターン繰り返し情報のうちの少なくとも１つをさらに含み、前記タイミングコアは、前記第１の記述子タイミング情報の前記タイミングパターン長および前記タイミングパターン繰り返し情報のうちの前記少なくとも１つにさらに基づいて、前記少なくとも１つのタイミング信号を生成するように構成される、請求項９に記載の装置。
【請求項１５】
前記タイミングコアは、前記少なくとも１つのトグル位置に基づいて、前記少なくとも１つのタイミング信号をトグルするように構成される、請求項１４に記載の装置。
【請求項１６】
前記タイミングコアは、メモリ制御ユニットをさらに含み、前記メモリ制御ユニットは、タイミングコアメモリの利用可能空間、メモリバスの状態、および前記タイミングコアの制御プロセスの状態のうちの少なくとも１つに基づいて、タイミング発生器メモリから前記第１のタイミング情報を取得するように構成され、かつ、前記タイミング情報を前記タイミングコアメモリのＦＩＦＯユニット内に記憶するように構成される、請求項９に記載の装置。
【請求項１７】
前記装置は、撮像デバイスのシステムメモリから前記第１のタイミング情報を取得するように構成され、かつ、システムの電源投入時に、タイミング発生器メモリに前記タイミング情報を記憶するように構成される、請求項９に記載の装置。
【請求項１８】
前記タイミングコアは、複数のタイミング信号通信ユニットをさらに含み、前記複数のタイミング信号通信ユニットは、少なくとも１つの通信チャネルを通じて前記少なくとも１つのタイミング信号を伝送するように構成される、請求項９に記載の装置。
【請求項１９】
システムメモリに連結されるタイミング発生器メモリをさらに含み、前記タイミングコアは、前記記述子レジスタセット内に提供されるアドレスに基づいて、システムメモリから前記タイミング発生器メモリに前記第１のタイミング情報の一部分をロードするように構成され、
前記プロセッサコアは、前記記述子レジスタセット内に記憶される複数のカウンタおよび情報を制御するように構成される、請求項１３に記載の装置。
【請求項２０】
撮像デバイスのためのタイミング発生器であって、
メモリ内に記憶された第１の記述子データ構造の第１の記述子タイミング情報を取得するための手段であって、前記第１の記述子データ構造は、前記メモリ内に記憶された他の記述子データ構造を指す第１の記述子ポインタをさらに含み、前記第１の記述子タイミング情報は、前記メモリ内に記憶された第１のベクタテーブルおよび第１の位置テーブルに関する情報を含み、前記第１のベクタテーブルは、少なくとも１つのタイミング信号の識別子を列記し、前記第１の位置テーブルは、前記識別子に対応する前記少なくとも１つのタイミング信号のそれぞれの少なくとも１つのトグル位置を列記する、手段と、
前記第１の記述子タイミング情報に基づいて、前記メモリから第１のタイミング情報を取得するための手段であって、前記第１のタイミング情報は、前記第１のベクタテーブルおよび前記第１の位置テーブルを含む、手段と、
前記第１のタイミング情報の前記第１のベクタテーブルおよび前記第１の位置テーブルに少なくとも基づいて、前記少なくとも１つのタイミング信号を生成するための手段であって、前記少なくとも１つのタイミング信号は、前記第１の位置テーブル内に列記されたそれぞれのトグル位置においてトグルされる、手段と
を含む、タイミング発生器。
【請求項２１】
複数のタイミング信号を生成するように構成されるプログラムのデータを処理するためのコードを記憶したコンピュータ読み取り可能な記憶媒体であって、
前記コードは、コンピュータに、
メモリ内に記憶された第１の記述子データ構造の第１の記述子タイミング情報を取得することであって、前記第１の記述子データ構造は、前記メモリ内に記憶された他の記述子データ構造を指す第１の記述子ポインタをさらに含み、前記第１の記述子タイミング情報は、前記メモリ内に記憶された第１のベクタテーブルおよび第１の位置テーブルに関する情報を含み、前記第１のベクタテーブルは、少なくとも１つのタイミング信号の識別子を列記し、前記第１の位置テーブルは、前記識別子に対応する前記少なくとも１つのタイミング信号のそれぞれの少なくとも１つのトグル位置を列記する、ことと、
前記第１の記述子タイミング情報に基づいて、前記メモリから第１のタイミング情報を取得することであって、前記第１のタイミング情報は、前記第１のベクタテーブルおよび前記第１の位置テーブルを含む、ことと、
前記第１のタイミング情報の前記第１のベクタテーブルおよび前記第１の位置テーブルに少なくとも基づいて、前記少なくとも１つのタイミング信号を生成することであって、前記少なくとも１つのタイミング信号は、前記第１の位置テーブル内に列記されたそれぞれのトグル位置においてトグルされる、ことと
を行わせる、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術的分野は、電子デバイスにおけるタイミング信号の発生に関する。
【背景技術】
【０００２】
関連技術の説明
撮像システムは、概して、画像を取り込むことができる、画像センサを含む。センサからの信号は、典型的に、アナログドメインにおいて処理され、デジタル信号に変換され、そしてさらに、デジタルドメインにおいて処理される。デジタルドメインにおいて画像を処理することは、記憶、表示、伝送および／またはさらなる処理の前に、画像を分析し、操作し、そして、画質を向上させることを可能にする。
【０００３】
撮像アプリケーションは、典型的に、３つのチップを伴う。個々のチップとしては、概して、画像センサ、アナログフロントエンド（ＡＦＥ）、およびデジタル特定用途向け集積回路（ＡＳＩＣ）が挙げられる。ＡＦＥは、画像センサから受信したアナログ信号を調整して、アナログ−デジタル（Ａ／Ｄ）変換を行う。デジタルＡＳＩＣは、画像処理回路と、タイミング発生回路とを含む。デジタル画像処理ＡＳＩＣに続く追加的な特定用途向け回路は、撮像システムが、カメラ、スキャナ、複写機等であるかどうかに依存し得る。
【０００４】
電子画像センサは、概して、電荷結合素子（ＣＣＤ）またはＣＭＯＳ素子等の固体デバイスとして構成され得る。概して、画像センサは、画像を処理するために、光学部品および電子部品の使用を可能にする。画像センサの各構成要素は、概して、その動作を制御するためにタイミング信号を使用する。したがって、画像センサの構成要素に種々のタイミング信号を提供するために、概して、タイミング発生器が提供され得る。
【０００５】
タイミング発生器は、概して、基準クロックに基づいてタイミング信号を発生するように構成される。発生したタイミング信号は、次いで、画像センサの種々の構成要素に送信される。多くの従来のシステムにおけるタイミング発生器は、カメラユニット内の特定の画像センサまたは他の特定の構成要素に対応するタイミング信号を提供することができる、ハードウェアデバイスとして構成される。例えば、異なるタイミング信号要件を有する画像センサのそれぞれには、必要とされるタイミング信号を提供することができる、特定のタイミング発生器が提供される。その結果、異なる撮像デバイスの要件を満たすように再構成することができる、タイミング発生器を提供する必要がある。
【０００６】
異なる製造業者によって製作される撮像デバイスは、動作に対して異なるタイミング信号を使用するように構成され得る。撮像デバイスはまた、異なる形式の画像を提供することができ得る。各形式は、撮像デバイスの動作中に、異なるタイミング信号を使用し得る。したがって、異なる製造業者によって製作される撮像デバイスの、または異なる形式で画像を生成するためのタイミング信号を提供するように適合させることができるタイミング発生器が望ましい。
【０００７】
いくつかの従来の実施例によれば、画像センサの種々のタイミング信号を提供するために、プログラム可能なタイミング発生器が提供され得る。他の従来のタイミング発生器は、固定された垂直／水平タイミング信号の発生に基づいている。しかしながら、いくつかの従来のタイミング発生器は、タイミング信号を発生するために、タイミング発生器のハードウェアアーキテクチャに依存する。その結果、タイミング発生器に不具合があった場合、これらの不具合は、タイミング発生器チップ（ＩＣ）を再設計することによって修正されることになる。その結果、従来のタイミング発生器は、製作コストおよび非反復エンジニアリングコストの増大を被る可能性がある。
【０００８】
さらに、従来のプログラム可能なタイミング発生器によれば、技術者は、画像センサの詳細に基づいてタイミング発生器を理解してプログラムするために、非常に多くの時間および資産を浪費する可能性がある。従来の実施例によるタイミング発生器をプログラムするために、ユーザは、タイミング発生器コードを再プログラムするために、プログラム可能なタイミング発生器のハードウェア構造を理解しなければならない。したがって、タイミングプログラムの開発は、時間がかかる可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００９】
本開示のシステム、方法、およびデバイスは、それぞれが複数の革新的な態様を有し、そのうちの１つだけが単独で本明細書で開示される望ましい属性を担うわけではない。
【００１０】
一態様によれば、撮像デバイスにおいてタイミング信号を発生する方法が開示される。本方法は、複数の記述子データ構造のうちの第１の記述子データ構造から第１の記述子タイミング情報を取得することを含み、複数の記述子データ構造は、リンクリストに配列される。本方法はさらに、第１の記述子タイミング情報に基づいて、メモリから第１のタイミング情報を取得することと、第１のタイミング情報に少なくとも部分的に基づいて、撮像デバイスのための少なくとも１つのタイミング信号を発生させることとを含む。
【００１１】
別の態様によれば、装置が開示される。本装置は、複数の記述子データ構造のうちの第１の記述子データ構造から第１の記述子タイミング情報を取得するように構成される、プロセッサコアを含む。複数の記述子データ構造は、リンクリストに配列される。本装置はさらに、第１の記述子タイミング情報に基づいて、メモリから第１のタイミング情報を取得し、そして、第１のタイミング情報に少なくとも部分的に基づいて、少なくとも１つのタイミング信号を発生させるように構成される、タイミングコアを含む。
【００１２】
別の態様によれば、撮像デバイスのためのタイミング発生器が開示される。タイミング発生器は、複数の記述子データ構造のうちの第１の記述子データ構造から第１の記述子タイミング情報を取得するための手段であって、複数の記述子データ構造がリンクリストに配列される、取得するための手段と、第１の記述子タイミング情報に基づいて、メモリから第１のタイミング情報を取得するための手段と、第１のタイミング情報に少なくとも部分的に基づいて、少なくとも１つのタイミング信号を発生させる手段と、を備える。
【００１３】
別の態様によれば、複数のタイミング信号を発生させるように構成されるプログラムのためのデータを処理するための、コンピュータプログラム製品が開示される。本コンピュータプログラム製品は、コンピュータに、複数の記述子データ構造のうちの第１の記述子データ構造から第１の記述子タイミング情報を取得させるためのコードをそこに記憶した、非一時的なコンピュータが読み出し可能な媒体を含む。複数の記述子データ構造は、リンクリストに配列される。本コンピュータプログラム製品はさらに、コンピュータに、第１の記述子タイミング情報に基づいて、メモリから第１のタイミング情報を取得させ、そして、第１のタイミング情報に少なくとも部分的に基づいて、少なくとも１つのタイミング信号を発生させるためのコードを含む。
例えば、本願発明は以下の項目を提供する。
（項目１）
撮像デバイスのためのタイミング信号を発生させる、プロセッサに実装した方法であって、
複数の記述子データ構造のうちの第１の記述子データ構造から第１の記述子タイミング情報を取得することであって、前記複数の記述子データ構造は、リンクリストに配列される、取得することと、
前記第１の記述子タイミング情報に基づいて、メモリから第１のタイミング情報を取得することと、
前記第１のタイミング情報に少なくとも部分的に基づいて、前記撮像デバイスのための少なくとも１つのタイミング信号を発生させることと、
を含む、方法。
（項目２）
前記第１の記述子データ構造から第１の記述子ポインタを取得することであって、前記第１の記述子ポインタは、前記リンクリストにおける第２の記述子データ構造のアドレスを含む、取得することと、
前記第１の記述子ポインタに基づいて、前記複数の記述子データ構造のうちの前記第２の記述子データ構造から第２の記述子タイミング情報を取得することと、
前記第２の記述子タイミング情報に基づいて、前記メモリから第２のタイミング情報を取得することと、
前記第１のタイミング情報および前記第２のタイミング情報に少なくとも部分的に基づいて、前記少なくとも１つのタイミング信号を発生させることと、
をさらに含む、項目１に記載の方法。
（項目３）
前記少なくとも１つのタイミング信号の第１の部分は、前記第１のタイミング情報に基づいて発生し、前記少なくとも１つのタイミング信号の第２の部分は、前記第２のタイミング情報に基づいて発生する、項目２に記載の方法。
（項目４）
複数のカウンタを制御することと、
前記複数のカウンタおよび前記第１のタイミング情報に基づいて、少なくとも１つのトグル位置を決定することと、
前記決定された少なくとも１つのトグル位置に基づいて、第１のタイミングパターンを発生させることと、
前記第１のタイミングパターンに基づいて、前記少なくとも１つのタイミング信号を発生させることと、
をさらに含む、項目１に記載の方法。
（項目５）
前記第１の記述子タイミング情報は、前記メモリにおける前記第１のタイミング情報のアドレスを含み、前記メモリから前記第１のタイミング情報を取得することは、前記メモリにおける前記第１のタイミング情報のアドレスに対応する前記メモリから、タイミング情報の一部分を読み出すことを含む、項目１に記載の方法。
（項目６）
前記第１のタイミング情報に基づいて、第１のタイミングパターンを発生させることと、
前記第１のタイミングパターンに基づいて、複数のタイミング信号を発生させることと、
をさらに含む、項目１に記載の方法。
（項目７）
前記複数の記述子データ構造のそれぞれは、次のタイミングパターンに対応する次の記述子データ構造に対するポインタを含み、前記複数のタイミング信号を発生させることは、前記第１のタイミングパターンおよび前記次のタイミングパターンに基づいて、前記複数のタイミング信号を発生させることと、を含む、項目６に記載の方法。
（項目８）
前記第１のタイミング情報は、第１のベクタ情報と、第１の位置情報とを含み、前記第１のベクタ情報は、第１のベクタテーブルを含み、前記第１の位置情報は、第１の位置テーブルを含み、前記第１のベクタテーブルは、少なくとも１つのタイミング信号識別子を列記し、前記第１の位置テーブルは、ベクタ識別子に対応するタイミング信号の少なくとも１つのトグル位置を列記する、項目１に記載の方法。
（項目９）
タイミングコアメモリの利用可能空間、メモリバスの状態、およびタイミングコアの制御プロセスの状態のうちの少なくとも１つに基づいて、タイミング発生器メモリからタイミング情報を取得し、前記タイミング情報を前記タイミングコアメモリに記憶することをさらに含む、項目１に記載の方法。
（項目１０）
前記撮像デバイスのシステムメモリからタイミング情報を取得することと、
システムの電源投入時に、前記タイミング発生器メモリに前記タイミング情報を記憶することと、
をさらに含む、項目１に記載の方法。
（項目１１）
前記少なくとも１つのタイミング信号は、複数のタイミング信号を含み、前記方法はさらに、複数の通信チャネルを通じて前記複数のタイミング信号を伝送することを含む、項目１に記載の方法。
（項目１２）
装置であって、
複数の記述子データ構造のうちの第１の記述子データ構造から第１の記述子タイミング情報を取得するように構成される、プロセッサコアであって、前記複数の記述子データ構造は、リンクリストに配置される、プロセッサコアと、
タイミングコアであって、
前記第１の記述子タイミング情報に基づいて、メモリから第１のタイミング情報を取得し、
前記第１のタイミング情報に少なくとも部分的に基づいて、少なくとも１つのタイミング信号を発生させるように構成される、タイミングコアと、
を備える、装置。
（項目１３）
前記プロセッサコアはさらに、前記第１の記述子データ構造から第１の記述子ポインタを取得するように構成され、前記第１の記述子ポインタは、前記リンクリストにおける第２の記述子データ構造のアドレスを含み、前記タイミングコアはさらに、
前記第１の記述子ポインタに基づいて、前記複数の記述子データ構造のうちの前記第２の記述子データ構造から第２の記述子タイミング情報を取得し、
前記第２の記述子タイミング情報に基づいて、前記メモリから第２のタイミング情報を取得し、
前記第１のタイミング情報および前記第２のタイミング情報に少なくとも部分的に基づいて、前記少なくとも１つのタイミング信号を発生させるように構成される、
項目１２に記載の装置。
（項目１４）
前記少なくとも１つのタイミング信号の第１の部分は、前記第１のタイミング情報に基づいて発生し、前記少なくとも１つのタイミング信号の第２の部分は、前記第２のタイミング情報に基づいて発生する、項目１２に記載の装置。
（項目１５）
前記タイミングコアはさらに、複数のカウンタを制御し、
前記複数のカウンタおよび前記第１のタイミング情報に基づいて、少なくとも１つのトグル位置を決定し、
前記決定された少なくとも１つのトグル位置に基づいて、第１のタイミングパターンを発生させ、
前記第１のタイミングパターンに基づいて、前記少なくとも１つのタイミング信号を発生させるように構成される、
項目１２に記載の装置。
（項目１６）
タイミングコアは、記述子タイミング情報を記憶するように構成される、記述子レジスタセットを備え、前記記述子タイミング情報は、前記少なくとも１つのタイミング信号を発生させるためのベクタ情報および位置情報を含む、項目１２に記載の装置。
（項目１７）
前記第１の記述子タイミング情報は、タイミングパターン長、前記タイミングパターンに対応するベクタテーブルのアドレス、前記タイミングパターンに対応する位置テーブルのアドレス、およびタイミングパターン繰り返し情報のうちの少なくとも１つを含み、前記タイミングコアは、前記第１の記述子タイミング情報に基づいて、複数のタイミング信号のための第１のタイミングパターンを発生させるように構成される、項目１２に記載の装置。
（項目１８）
前記ベクタテーブルは、少なくとも１つのタイミング信号識別子を列記し、前記位置テーブルは、前記位置テーブルポインタに対応するタイミングパターンの少なくとも１つのトグル位置を列記し、前記タイミングコアは、前記少なくとも１つのトグル位置に基づいて、前記少なくとも１つのタイミング信号をトグルするように構成される、項目１７に記載の装置。
（項目１９）
前記タイミングコアはさらに、メモリ制御ユニットを備え、前記メモリ制御ユニットは、タイミングコアメモリの利用可能空間、メモリバスの状態、および前記タイミングコアの制御プロセスの状態のうちの少なくとも１つに基づいて、前記タイミング発生器メモリからタイミング情報を取得するように構成され、かつ、前記タイミング情報を前記タイミングコアメモリのＦＩＦＯユニットに記憶するように構成される、項目１２に記載の装置。
（項目２０）
前記タイミング発生器は、撮像デバイスのシステムメモリからタイミング情報を取得するように構成され、かつ、システムの電源投入時に、前記タイミング発生器メモリに前記タイミング情報を記憶するように構成される、項目１２に記載の装置。
（項目２１）
複数のタイミング信号通信ユニットが、複数の通信チャネルを通じて前記タイミング信号を伝送するように構成される、項目１２に記載の装置。
（項目２２）
システムメモリに連結されるタイミング発生器メモリをさらに備え、前記タイミングコアは、記述子レジスタセットに提供されるアドレスに基づいて、システムメモリから前記タイミング発生器メモリに前記タイミング情報の一部分をロードするように構成され、
前記プロセッサコアは、前記記述子レジスタセットに記憶される複数のカウンタおよび情報を制御するように構成される、
項目１２に記載の装置。
（項目２３）
撮像デバイスのためのタイミング発生器であって、
複数の記述子データ構造のうちの第１の記述子データ構造からの第１の記述子タイミング情報を取得するための手段であって、前記複数の記述子データ構造は、リンクリストに配置される、取得するための手段と、
前記第１の記述子タイミング情報に基づいて、メモリから第１のタイミング情報を取得するための手段と、
前記第１のタイミング情報に少なくとも部分的に基づいて、少なくとも１つのタイミング信号を発生させるための手段と、
を備える、タイミング発生器。
（項目２４）
複数のタイミング信号を発生させるように構成されるプログラムのデータを処理するための、コンピュータプログラム製品であって、
非一時的なコンピュータが読み出し可能な媒体であって、コンピュータに、
複数の記述子データ構造のうちの第１の記述子データ構造から第１の記述子タイミング情報を取得させ、前記複数の記述子データ構造は、リンクリストに配置され、
前記第１の記述子タイミング情報に基づいて、メモリから第１のタイミング情報を取得させ、
前記第１のタイミング情報に少なくとも部分的に基づいて、少なくとも１つのタイミング信号を発生させるためのコードをそこに記憶した、非一時的なコンピュータが読み出し可能な媒体を備える、
コンピュータプログラム製品。
【図面の簡単な説明】
【００１４】
【図１】タイミング発生器を含む撮像デバイス（例えば、カメラ）の一実施例を図示するブロック図である。
【図２】タイミング発生器を含む撮像デバイスのブロック図である。
【図３】タイミング発生器の一実施例を図示するブロック図である。
【図４】タイミング発生器の一実施例を図示するブロック図である。
【図５Ａ】Ａ〜Ｂは、タイミング発生器におけるプロセッサコアおよびタイミングコアの一実施例を図示するブロック図である。
【図５Ｂ】Ａ〜Ｂは、タイミング発生器におけるプロセッサコアおよびタイミングコアの一実施例を図示するブロック図である。
【図６】Ａは、いくつかの実装で使用することができるリンクリストに基づく記述子の一実施例を図示する図である。Ｂは、いくつかの実装による記述子タイミング情報の形式の一実施例を図示する図である。Ｃは、タイミング発生器におけるタイミングコア、プロセッサコア、およびメモリのいくつかの要素を図示するブロック図である。
【図７】Ａ〜Ｂは、ベクタテーブルおよび位置テーブルの一実施例を図示する図である。
【図８】いくつかの実装による、１組のタイミング信号の一実施例を図示する図である。
【図９】Ａ〜Ｃは、図８で示されるタイミングパターンを表すための記述子、ベクタテーブル、および位置テーブルの実施例を図示する図である。
【図１０】Ａ〜Ｃは、図８で示されるタイミングパターンを表すための記述子、ベクタテーブル、および位置テーブルの実施例を図示する図である。
【図１１】Ａは、いくつかの実装によるベクタテーブルの一実施例を図示する図である。Ｂ〜Ｃは、いくつかの実装による位置テーブルの実施例を図示する図である。
【図１２】タイミング信号を発生させる方法の一実施例のフローチャートである。
【図１３】いくつかの実装によるタイミング信号を発生させる方法の実施例のフローチャートである。
【発明を実施するための形態】
【００１５】
以下の特定の実施形態の詳細な説明は、本発明の特定の実施形態の種々の説明を提示する。しかしながら、本発明は、特許請求の範囲によって定義および網羅されるような数多くの異なる方法で具現化することができる。この説明では、同様の参照番号が同様の要素を示す図面を参照する。
【００１６】
概して、カメラに組み込まれ得る画像センサは、種々の構成要素を動作させるために、種々のタイミング信号を必要とする。イメージャセンサのためのプログラム可能なタイミング発生器の従来のプログラミングモデルは、プロセッサの構造および設計に大いに依存する。すなわち、発生するタイミング信号は、プロセッサが使用する特定のアーキテクチャまたは言語に依存する。したがって、技術者は、概して、必要とされるタイミング信号を適切に発生させるために、プロセッサ構造またはプロセッサの言語を理解することが必要である。
【００１７】
必要とされるタイミング信号の複雑さおよび数が増大するにつれて、デバイスメーカーの技術者等のユーザがプロセッサアーキテクチャおよびプログラミング言語を理解することを必要するといった負担も同様に増大する。いくつかの実装によれば、画像センサのためのタイミング信号を発生させるシステムは、技術者がプロセッサアーキテクチャまたはプログラミング言語を理解する必要がないように単純化される。これは、発生するタイミング信号を１組のタイミングパターンに分割することによって達成することができる。各タイミングパターンのトグル位置に関する情報またはタイミング信号の変化は、メモリに記憶することができる。メモリは、タイミングパターン情報に基づいてタイミング信号をともに結合することができるように、リンクすることができる。タイミング発生器によって使用されるタイミング情報を記述するために、１組の記述子を発生させ、メモリに記憶し得る。記述子は、デバイスのタイミング発生器の用途に合わせるために、技術者によってプログラムされ、調整され得る。その結果、技術者は、プロセッサのアーキテクチャまたはプログラミング言語を理解する必要がなくなり、その代わりに、１組の記述子を通して複数のタイミング信号を記述し、個々のタイミングパターン情報を記憶し、そして、タイミング信号を発生させるためにタイミングパターンをリンクすることによって、タイミング信号を発生させることができる。これらの機能は、グラフィカルユーザインターフェース（ＧＵＩ）ツール等のインターフェースを通して、技術者によって行われ得る。ＧＵＩツールは、タイミング発生器のフレキシブルプロセッサコアと共同し得る。その結果、ＧＵＩツールは、タイミング発生器およびプロセッサコアのレジスタアーキテクチャの知識を伴わずにサポートされ得る。
【００１８】
図１は、タイミング発生器を含む撮像デバイス１０の実装を図示するブロック図である。本明細書で使用される撮像デバイス１０は、例えば、電子カメラ、ビデオレコーダー、ウェブカム、ポータブルまたはモバイルコンピュータ（携帯電話、スマートフォン、携帯メディアプレーヤ、携帯情報端末、ラップトップコンピュータ、またはタブレットコンピュータが挙げられるが、これらに限定されない）に組み込まれたカメラを含む、広義の用語である。撮像デバイス１０は、光学部品１０１と、画像センサ１０２とを含むことができる。この例示的な実装において、また、本明細書で説明される実装のいくつかにおいて、撮像デバイス１０は、説明を明確にするためにカメラと称されるが、これは、カメラまたは任意の１つのタイプの撮像装置に限定することを意図していない。画像センサ１０２は、例えば、電荷結合素子（ＣＣＤ）または相補型金属酸化膜半導体（ＣＭＯＳ）センサとすることができる。センサ１０２は、ＡＦＥ／ＴＧ１００として図示される複合アナログフロントエンド（ＡＦＥ）／タイミング発生器（ＴＧ）に連結され得る。
【００１９】
撮像デバイス１０はまた、センサ１０２によって生成されるアナログ信号をデジタル画像に変換するように構成することができる、アナログ第１端部（ＡＦＥ）１０３も含むことができる。ＡＦＥ１０３は、種々の構成要素、例えば、信号のアナログＤＣレベルをＡＦＥ１０３の供給範囲内の所望のポイントまで回復させることができる、入力クランプ回路（図示せず）を含み得る。電荷結合素子（ＣＣＤ）とともに動作させることを意図するＡＦＥ１０３は、相関二重サンプラー（ＣＤＳ）を含み得る。いくつかの実装において、相関二重サンプラー（ＣＤＳ）は、画像センサ１０２の各ピクセルの２つのサンプルを取ることができる。２つのサンプルは、例えば、リセットレベルでのサンプル、およびビデオレベルでのサンプルに対応し得る。いくつかの実装において、相関二重サンプラー（ＣＤＳ）は、２つのサンプル間の示差測定を行うことができる。ＡＦＥは、他の画像センサ（接触画像センサ（ＣＩＳ）または焦点面アレイ（ＦＰＡ）等）のために構成されるいくつかの実装において、相関二重サンプラー（ＣＤＳ）の代わりに、サンプルホールド増幅器（ＳＨＡ）を含み得る。
【００２０】
利得増幅器（例えば、ＰＧＡまたはＶＧＡ（図示せず））は、ＣＤＳから信号を受信し、その信号を増幅し、そして、ＡＦＥ１０３内でＡ／Ｄコンバータ（ＡＤＣ）の全ダイナミックレンジをより良好に利用し得る。高速ＡＤＣは、調整されたアナログ画像信号をデジタルドメインに変換し、画像プロセッサ１０４による追加的な処理を可能にする。
【００２１】
図１で図示されるように、ＡＦＥ１０３は、ＴＧ１１０に連結される。ＡＦＥ１０３およびＴＧ１１０は、単一チップまたは集積回路（ＩＣ）として集積され得る。ＴＧ１１０はさらに、画像センサ１０２および画像プロセッサ１０４に連結され、下で説明するように、これらの構成要素を動作させ、同期させるためのタイミング信号をＡＦＥ１０３および画像センサ１０２に提供する。
【００２２】
さらに図１を参照すると、画像プロセッサ１０４はさらに、システムメモリ１０５およびディスプレイ１０６に連結される。画像プロセッサ１０４は、ＡＦＥ／ＴＧ１００から受信したデジタル画像の処理を制御する。画像プロセッサ１０４はさらに、処理された画像の記憶および表示を制御する。システムメモリ１０５は、任意の記憶媒体デバイスとして構成され得る。例えば、システムメモリ１０５は、テープドライブ、フロッピー（登録商標）ディスクドライブ、ハードディスクドライブ、光ディスクドライブ、もしくは光磁気ディスクドライブ等のディスクドライブ、またはフラッシュ、ＲＡＭ、ＲＯＭ、および／もしくはＥＥＰＲＯＭを伴う集積回路カードもしくはチップを含み得る。システムメモリは、複数のメモリユニットを含み得、そのメモリユニットのうちの１つは、カメラ内にあるように構成され得、またはカメラの外部にあり得る。例えば、システムメモリ１０５は、カメラ内に記憶されるシステムプログラム命令を含む、ＲＯＭメモリを含み得る。システムメモリはまた、カメラから取り外し可能であり得る、撮像した画像を記憶するように構成されるメモリカードまたは高速メモリも含み得る。
【００２３】
画像プロセッサ１０４はさらに、撮像した画像を表示するためにディスプレイ１０６を制御するように構成され得る。ディスプレイ１０６は、撮像デバイス１０の外部にあり得、または撮像デバイス１０の一部であり得る。ディスプレイ１０６はまた、画像を撮像する前にビューファインダーをユーザに提供するように構成され得るか、またはメモリの中の撮像した画像もしくはユーザによって最近撮像された画像を表示するようにも構成され得る。
【００２４】
画像プロセッサ１０４は、システムメモリ１０５に記憶された命令を実行し得、その命令をタイミング発生器１１０に通信して、規定のタイミング信号を発生させ得る。プログラム命令は、システムメモリ１０５（例えば、読み出し専用メモリまたはＲＡＭメモリ）に記憶され得る。
【００２５】
画像センサ１０２は、発生したタイミング信号に基づいて、画像センサの各セルによって感知された光のビームに対応するアナログ信号の形態で、画像を表す情報を出力する。ＡＦＥ１０３は、タイミング発生器１１０によってＡＦＥ１０３の動作のために発生させた専用のタイミング信号に基づいて、アナログ信号をデジタル形態に変換またはサンプリングし得る。
【００２６】
図２は、いくつかの実装による、タイミング発生器を含む撮像デバイス１０の一実施例を図示するブロック図である。図２で図示される撮像デバイス１０は、光学部品２０１と、画像センサ２０２と、アナログフロントエンド（ＡＦＥ）２０３と、画像プロセッサ２０４と、システムメモリ２０５と、ディスプレイ２０６と、タイミング発生器（ＴＧ）２１０とを含み得る。これらの種々の構成要素の動作は、上で図１に関して論じたものと類似し得（または同じであり）、したがって、明確にするために、これらの構成要素の別の説明は省略される。図２の撮像デバイス１０は、ＴＧ２１０をＡＦＥ２０３と別の構成要素として提供することができるという点で、図１のそれと異なる。当業者はまた、いくつかの実装において、撮像デバイス１０の構成要素が、集積され得ること、および単一チップもしくはＩＣとして提供され得るか、またはそれぞれが任意の数の構成要素を含む複数のＩＣとして提供され得ることも認識するであろう。
【００２７】
図３は、いくつかの実装による、タイミング発生器３１０の一実施例を図示するブロック図である。図３のタイミング発生器３１０は、図１および図２でそれぞれ図示されるタイミング発生器１１０および２１０の一実施例を図示する。タイミング発生器３１０は、タイミング発生器メモリ３２０と、タイミングコア３４０と、プロセッサコア３３０とを含み得、これらは全て電気通信する。タイミングコア３４０は、タイミング発生器メモリ３２０からタイミング情報を読み出すように構成することができる。プロセッサコア３３０は、タイミングコア３４０に連結され得、複数のカウンタを制御するようにプログラム（または構成）され得る。複数のカウンタは、下でさらに詳細に説明される、図５Ｂで図示されるカウンタ５４３、５４４、および５４５を含み得る。複数のカウンタは、画像センサのピクセルに対応し得る。プロセッサコア３３０はまた、タイミング発生器３１０のシステム構成を行い、タイミングコア３４０のレジスタを設定し、また、タイミング発生器３１０のモード変更を行うようにもプログラムされ得る。システム構成および／またはモード変更動作は、撮像デバイス１０のタイミング要件に基づいて、規定のタイミング信号に関する情報をタイミングコア３４０と通信し得る。
【００２８】
プロセッサコア３３０はさらに、システム要件またはモードに応じて、タイミングコア３４０の出力の一部をマスク（または無効に）するために、タイミングコア３４０と協働するようにプログラムされ得る。プロセッサコア３３０はまた、発生したタイミングパターンに基づいて、アナログフロントエンドのレジスタ設定を変更するために、タイミングコア３４０とも通信し得る。さらに、プロセッサコア３３０は、低電圧差動シグナリング（ＬＶＤＳ）インターフェースを制御し、また、同期のための言語発生を制御するように、タイミングコア３４０と協働し得る。プロセッサコア３３０はまた、タイミング発生器３１０のシステムデバッギング動作も行い得、また、タイミングコア３４０の動作を制御するためのタイミング発生中に、タイミングコア３４０のレジスタを制御し、設定し得る。プロセッサコア３３０の機能は、説明されるものに限定されない。むしろ、プロセッサコア３３０は、タイミング発生器３１０のための任意の数の処理動作を行うようにプログラムされ得る。
【００２９】
タイミングコア３４０はさらに、下で説明するようにタイミング情報および複数のカウンタに関する情報に基づいて、複数のタイミングパターンを発生させるように構成され得る。タイミングコア３４０は、複数のタイミングパターンに基づいて、複数のタイミング信号のための複数のトグル位置を発生させるように構成され得る。トグル位置は、タイミング信号の立ち上がりエッジまたは立ち下がりエッジに対応し得る。例えば、トグル位置は、タイミング信号が低い状態から高い状態に移行する、立ち上がりエッジに対応し得る。タイミング発生器３１０は、撮像デバイス１０の画像センサおよびＡＦＥ１０３に、発生したタイミング信号を出力し得る。
【００３０】
図４は、いくつかの実装による、本明細書で説明される撮像デバイスで使用することができる、タイミング発生器４００の一実施例を図示するブロック図である。タイミング発生器コア３１０は、デュアルコアとして構成され得、プロセッサコア３３０と、タイミングコア３４０とを含み得る。図４のプロセッサコア３３０およびタイミングコア３４０の動作は、図３のプロセッサコア３３０およびタイミングコア３４０に関して説明される動作と類似し得、明確にするために、その説明は省略される。
【００３１】
タイミングコア３４０は、図４で図示されるように、デジタルパターンプロセッサ（ＤＰＰ）バスを通してプロセッサコア３３０と通信し得る。タイミング発生器３１０にはさらに、プロセッサコア３３０と、タイミングコア３４０と、ＡＦＥ１０３を含む撮像デバイス１０の他の構成要素との間の通信をスケジュールし、補助するための、インターフェースアービタ４０２が提供される。タイミング発生器３１０はさらに、タイミング情報およびプロセッサコア３３０をプログラムするための情報を記憶するための、タイミング発生器メモリ３２０を含み得る。プロセッサコア３３０をプログラムするための情報は、タイミングコア３４０のタイミング信号発生を制御するようにプロセッサコア３３０をプログラムするための、ソフトウェアコードを含み得る。タイミング発生器メモリ３２０は、例えば、撮像デバイス１０のシステムメモリ１０５よりも小さいサイズを有する、ローカル揮発性メモリとして構成され得る。さらに、タイミング発生器メモリ３２０は、タイミング発生器ＩＣの外側に位置付けられ得、タイミング発生器ＩＣに連結され得、またはタイミング発生器メモリ３２０によって図３で図示されるように、タイミング発生器ＩＣの一部であり得る。
【００３２】
さらに図４を参照すると、インターフェースコントローラ４０４は、撮像デバイス１０のタイミング発生器構成要素と他の構成要素との間のアクセスバスを通した通信を補助し、スケジュールするために提供され得る。例えば、インターフェースコントローラ４０４は、システムのリセットまたは電源投入時に主システムメモリ１０５から情報をロードし、その情報をタイミング発生器メモリ３２０に記憶するように構成され得る。揮発性メモリの場合、タイミング発生器メモリ３２０は、撮像デバイスの電源が切られるときに、情報が消去される。しかしながら、情報は、撮像デバイス１０のメインシステムメモリ１０５に記憶されたままであり、このメモリは、タイミング発生器メモリ３２０と比較して大きい容量を有する。システムの電源投入時に、インターフェースコントローラ４０４は、システムメモリ１０５から、タイミング情報およびプロセッサコア３３０をプログラムするためのソフトウェアコードをロードし、メモリバスを通してタイミング発生器メモリ３２０に情報を記憶するように構成され得る。この情報は、下で説明するようにタイミング信号を発生させるための、記述子、ベクタテーブル、および位置テーブルを含む、タイミング情報を含み得る。プロセッサコア３３０およびタイミングコア３４０のそれぞれは、メモリバスを通してタイミング発生器メモリ３２０と通信するように構成され得る。
【００３３】
図５は、いくつかの実装による、撮像デバイス（例えば、カメラ）で使用することができる、タイミング発生器３１０の中のプロセッサコア３３０およびタイミングコア３４０の一実施例を図示するブロック図である。図５Ａを参照すると、プロセッサコア３３０は、プログラムシーケンサ５３１と、デバッガ５３２と、命令復号器５３３と、レジスタファイル５３４と、レジスタアービタ５３５と、ＡＬＵ５３６と、割り込みコントローラ５３７と、メモリインターフェース５３８とを含むことができる。プログラムシーケンサ５３１は、タイミング発生器のタイミングプログラム命令の実行を制御するように構成され得る。プログラムシーケンサ５３１は、命令バスを通してプログラム命令を受信し、データバスを通してデータを受信し得る。プロセッサコア３３０の効率を向上させるために、１６ビット縮小命令セットは、小さいコードサイズを達成するように設計され得る。しかしながら、命令セットは、それに限定されない。
【００３４】
メモリインターフェース５３８は、アクセスバス、データバス、およびメモリバスに連結され得、また、メモリバスを通してタイミング発生器メモリ３２０と、およびアクセスバスを通してシステムメモリ１０５と通信し、これらからデータをフェッチするように構成され得る。命令復号器５３３は、メモリインターフェース５３８に連結して、タイミング発生器のためのプログラム命令を受信し、そのプログラム命令を復号化することができる。命令復号器５３３は、命令バスおよびデータバスを通して復号化した命令を提供するように構成され得る。レジスタアービタ５３５は、アクセスバス、データバス、およびＤＰＰバスに連結され得、また、プロセッサコア３３０およびタイミングコア３４０における命令の通信をスケジュールし、補助するように構成され得る。例えば、レジスタアービタ５３５は、タイミングコア３４０のレジスタと通信するように構成され得、また、プログラムシーケンサ５３１からの命令に基づいて、タイミングコア３４０をリセットまたは構成し得る。また、レジスタアービタ５３５はまた、ＤＰＰバスを通してタイミングコア３４０の種々の構成要素の制御に関する命令も提供し得る。
【００３５】
さらに図５Ａを参照すると、レジスタファイル５３４は、データバスに連結することができ、また、実行されるプログラム命令のアドレス、または次に実行されるプログラム命令のアドレスを記憶するように構成され得る。割り込みコントローラ５３７は、データバスおよび命令バスに連結され得、また、プロセッサコア３３０またはタイミングコア３４０に存在する状態に基づいて特定のタスクを行うために、プログラムシーケンサを中断することができ得る。算術論理ユニット（ＡＬＵ）５３６は、データバスおよび命令バスに連結され得、また、データバスを通して、タイミングコアのカウンタの動作に関するデータをレジスタアービタ５３５に提供するように構成され得る。
【００３６】
図５Ｂで図示されるタイミングコア３４０は、トグルバスおよび制御バスに連結されるタイミングコアメモリユニット５４１と、制御バスに連結されるタイミング発生器コントローラ５４２と、全てが制御バスおよびカウンタバスに練列される、ラインカウンタ５４３と、ピクセルカウンタ５４４と、フィールドカウンタ５４５とを含む。タイミングコア３４０はまた、ＦＩＦＯコントローラ５４１ａに連結されるタイミング信号通信ユニット５５１〜５５６と、カウンタバスと、制御バスと、トグルバスとを含む。また、下で説明するように、タイミング情報を記憶するためのタイミングコアレジスタ５７０も提供され、制御バスに連結される。タイミングコアメモリユニット５４１は、ＦＩＦＯコントローラ５４１ａと、メモリインターフェース５４１ｂとを含み得る。
【００３７】
メモリインターフェース５４１ｂは、メモリバスを通して、タイミング発生器メモリ３２０からタイミング情報をロードまたはフェッチするように構成され得る。例えば、メモリインターフェース５４１ｂは、タイミング発生器メモリ３２０から発生するタイミング信号を記述するための１組の記述子をロードするように構成される。ロードされる記述子は、制御バスを通して、プロセッサコア３３０によってメモリインターフェース５４１ｂに通信され得る。タイミングコアレジスタ５７０は、次いで、タイミング発生器メモリ３２０からロードした記述子情報に基づいて、タイミング発生器コントローラ５４２によって設定され得る。
【００３８】
タイミングコアレジスタ５７０の情報に基づいて、特定のタイミング信号を発生させるためのタイミング情報が、タイミング信号通信ユニット５５１〜５５６のＦＩＦＯユニットにロードされ得る。この動作は、下で図８〜図１０を参照してさらに詳細に説明される。メモリインターフェース５４１ｂは、タイミング信号の発生中に、タイミング発生器メモリ３２０からタイミング情報のごく一部分をフェッチし得る。さらに、ＦＩＦＯコントローラ５４１ａは、タイミング発生器メモリ３２０からメモリをフェッチするかどうかを決定するために、Ｈブランキング信号を監視するように構成され得る。Ｈブランキング信号は、撮像デバイス１０による画像センサ１０２からの画像データ読み出しの開始を制御するために使用される、信号である。Ｈブランキング信号が高信号に移行したとき、この信号は、画像データ読み出し動作が起こっていることを示す。それに応じて、メモリインターフェース５４１ｂは、タイミング発生器メモリ３２０からタイミング情報をロードするのを中断する。その結果、画像データ読み出し動作の後に表示される画像のノイズが低減され得る。
【００３９】
加えて、ＦＩＦＯコントローラ５４１ａは、タイミング発生器メモリ３２０にアクセスするかどうかを決定するために、Ｖｘ信号を監視するように構成され得る。Ｖｘ信号は、タイミングコア３４０が発生させるタイミング信号５６０のいずれかに対応し得る。その結果、デバイスメーカーの技術者等のユーザは、Ｖｘ信号に基づいて、メモリのローディングを中断すべきであることをメモリインターフェース５４１ｂに信号で伝えるように、ＦＩＦＯコントローラ５４１ａを構成し得る。その結果、Ｖｘ信号に対応する特定のタイミング信号が発生している期間中、メモリはロードされない。
【００４０】
ＦＩＦＯコントローラ５４１ａはまた、タイミング信号通信ユニット５５１〜５５６のＦＩＦＯユニットにおける利用可能空間の量、およびメモリバスの状態も監視し得る。上で説明される監視されるイベントのそれぞれは、ランダムに起こり得るので、タイミング発生器メモリ３２０からのメモリのローディングは、ランダム化される。その結果、タイミングコア３４０は、遅延またはノイズを低減し得、タイミングコア３４０でタイミング信号が発生している間に、大量のタイミング情報をロードする結果となる。さらに、大量のデータをロードすることは、概して、ノイズまたは干渉をシステムに導入することによって、処理構成要素の同時動作を妨げる。上で説明した、小さいサイズのタイミングコア３４０のメモリローディング動作の使用によっても、このノイズ／干渉が低減または排除される。
【００４１】
図５Ｂで図示されるＴＧコントローラ５４２は、制御バスを通して、タイミング信号通信ユニット５５１〜５５６にタイミング信号制御命令を通信するように構成することができる。カウンタ５４３〜５４５は、読み出し動作中に、画像センサにおけるピクセルの位置に対応するカウント値を通信するように構成される。例えば、ピクセルカウンタ５４４は、０で始まり得、そして、アレイの各ラインの終わりで１にリセットされ得る。ラインカウンタ５４３は、同様に、０で始まり得、画像アレイの各フィールドまたはフレームの終わりで１にリセットされ得る。一実施形態において、フィールドカウンタ５４５は、０で始まり得、各フィールドの終わりでインクリメントし、そして、最大フィールド値に到達したときにリセットされ得る。アレイは、例えば、１２メガピクセルのアレイにおいて、１つのラインに４０００ピクセル、１つのフィールドに５００ライン、および合計６つのフィールドを含むように構成され得る。
【００４２】
タイミングコアメモリユニット５４１は、トグルバスを通して、タイミング信号通信ユニット５５１〜５５６に、ロードしたタイミング情報を通信し得る。トグルバスを通して提供される情報は、タイミング信号を発生させるために、カウンタバスの情報とともに使用され得る。例えば、タイミング信号は、カウンタ５４３〜５４５によって提供されるカウント位置で、トグルバスを通して、タイミング情報に提供されるトグル位置でトグルするために発生され得る。カウンタ５４３〜５４５が発生させるカウント位置は、カウンタバスを通してタイミングコア３４０に提供される。カウント位置およびトグル位置に基づく種々のタイミング信号の発生は、図８〜１０を参照して下でさらに詳細に説明される。
【００４３】
タイミング信号通信ユニット５５１〜５５６のそれぞれは、ＦＩＦＯコントローラ５４１ａの動作を通してのタイミング信号、制御バスを通して提供される制御情報、トグルデバスを通して提供されるタイミング情報、およびカウンタバスを通して提供されるカウンタ情報を発生させるように構成され得る。タイミング信号５６０のそれぞれは、カメラまたは他の撮像デバイスの構成要素への別々の通信チャネル（例えば、０〜５）に提供され得る。例えば、タイミング信号通信ユニット５５１のＶＤ／ＨＤチャネルは、フィールドの始まりを示すためのＶＤ信号、およびラインの始まりを示すためのＨＤ信号を提供し得る。タイミング信号通信ユニット５５３〜５５４のＶｘ０およびＶｘ１チャネルは、データを画像センサに、およびそこから移行するために、それぞれが画像センサに３０のタイミング信号を提供し得る。タイミング信号通信ユニット５５２のＶｘＳＧ／ＣＬＰＯＢ／ＨＢＬＫチャネルは、例えば、ＡＦＥ／ＴＧ１００デバイスピンに３つのレベルの信号を提供するためにＶｘ０またはＶｘ１信号と組み合わせられる、１５のＶｘＳＧ信号を含む、種々の内部信号を発生するために使用され得る。ＳＵＢＣＫチャネル５５５は、撮像デバイス１０の露出時間を制御するために使用される、ＳＵＢＣＫ信号を提供し得る。ＧＰＯチャネル５５６は、撮像デバイス１０のための汎用出力信号を提供する。当業者は、タイミング信号５６０の数、および通信／実行チャネルの数は、任意の特定の数に限定されないことを認識するであろう。
【００４４】
記述子に基づくタイミング発生器において、タイミングプログラミングモデルおよびマルチチャネル構造は、複数のタイミングファイル圧縮手法をサポートする。したがって、生成されるタイミングファイルは、サイズが低減され、システム性能が高められる。
【００４５】
ここで、タイミング信号の発生を、図６〜図１０を参照してさらに詳細に説明する。タイミング発生器は、リンクリストの記述子に基づくタイミングパターン発生器として構成され得る。図６Ａで図示されるように、タイミング情報は、リンクリストにおいて互いを指すことができる、いくつかの記述子の形態で提供され得る。例えば、記述子データ構造６０１は、リンクリストに記述子０のアドレスを識別するヘッダ６０１ａと、記述子０に対応するタイミング情報６０１ｂとを含み得る。記述子データ構造６０１はまた、リンクリストに次の記述子（すなわち、６０２）へのポインタ６０１ｃも含む。各記述子データ構造６０２〜６０４は、特定の記述子に対応する類似した情報を含み得る。リンクリストは、任意の数の記述子に限定されず、タイミング信号を発生させるために使用される任意の数の記述子を含むように構成され得る。さらにまた、任意の数の記述子は、タイミング信号を発生させるための任意の数のタイミングパターンを記述するために記述子が使用され得るように、リンクリスト内の記述子を指し得る。
【００４６】
図６Ｂを参照すると、図６Ｂは、いくつかの実装による記述子タイミング情報の形式の一実施例を図示する。記述子タイミング情報は、記述子タイミング情報の種々のエントリを記述する、記述子構成エントリを含む。
【００４７】
記述子タイミング情報はまた、位置テーブルおよびベクタテーブルに関する情報も含む。ベクタテーブルは、特定のタイミング信号の識別子を含む一方で、位置テーブルは、発生する特定のタイミング信号の対応するトグル位置を含む。記述子タイミング情報は、位置テーブル長および位置テーブルアドレスをタイミング発生器メモリ３２０に含む。同様に、記述子タイミング情報は、ベクタテーブル長およびベクタテーブルアドレスをタイミング発生器メモリ３２０で含む。記述子タイミング情報はまた、タイミングパターンが繰り返される回数に対応する繰り返し情報、および複数のパターンが繰り返される回数に対応するループ情報も含み得る。また、記述子タイミング情報は、発生するタイミングパターンの開始場所を含む。
【００４８】
記述子構成エントリは、記述子タイミング情報の形式またはモードに関する情報を含み得る。例えば、記述子構成エントリは、記述子タイミング情報が繰り返し数エントリまたはループ数エントリを含むかどうかに関する情報を含み得る。記述子構成エントリはまた、タイミング信号発生のモードを記述する情報も含み得る。例えば、記述子構成エントリは、タイミングパターンの始まりについて、いつトリガイベントが起こったのかを記述する情報を含み得る。トリガイベントは、ＶＤ信号を監視することによってフィールドの始まりに対応し得、またはＨＤ信号を監視することによってラインの始まりに対応し得る。トリガイベントが起こると、タイミングコア３４０は、トリガイベントに続いてタイミング信号パターンを順次発生するように構成され得る。代替として、モードは、トリガイベントに応答して単一のタイミングパターンが発生し、次のトリガイベントで以降のタイミングパターンが発生するように設定され得る。
【００４９】
加えて、記述子構成エントリは、トリガイベントに関連して、タイミングパターン発生のオフセットに関する情報を含むことができる。例えば、タイミングパターンの始まりは、トリガイベントに続いて所定の位置でタイミングパターンが発生するように、記述子構成に含まれるオフセットの情報に基づいて、トリガイベントから効果的にオフセットされ得る。
【００５０】
記述子構成はまた、メモリからロードされるタイミング情報の形式を記述する情報も含み得る。例えば、記述子構成は、位置テーブルのトグル位置エントリが絶対値か相対値かに関する情報を含み得る。絶対値と相対値との区別は、下で図１１Ａ〜１１Ｃを参照してさらに詳細に論じられる。
【００５１】
記述子構成には、タイミングパターンがループシーケンスの開始パターンであるかどうか、およびオフセット位置がタイミングパターンの各繰り返しに対応するか、またはタイミングパターンの繰り返しのサブセットに対応するか等の、他の情報も含まれ得る。当業者は、他の情報がタイミング発生器３１０の用途に基づいて含まれ得ることを認識するであろう。タイミング信号発生の構成は、デバイスメーカーの技術者等のユーザによって、タイミング信号発生プログラミングがタイミング発生器３１０の特定の用途に適用できるように記述子構成エントリを定義することによって決定され得る。
【００５２】
図６Ｃを参照すると、タイミングコア３４０は、記述子ポインタレジスタ６０５および記述子レジスタセット６７０の形態で、タイミング情報をタイミングコアレジスタ５７０に記憶し得る。記述子レジスタセット６７０は、上で図６Ｂを参照して説明される記述子タイミング情報の対応する情報を記憶するための、記述子構成レジスタ６７１と、位置テーブルレジスタ６７２と、ベクタテーブルレジスタ６７３と、繰り返しレジスタ６７４と、ループレジスタ６７５と、開始場所レジスタ６７６とを含む。タイミング情報は、記述子レジスタセット６７０の情報に基づいて、タイミング発生器メモリ３２０からロードされる。タイミング情報は、タイミング信号の発生中の干渉またはノイズを低減するために、少量でロードされ、ローディング動作は、上で論じたようにＦＩＦＯコントローラ５４１ａによって制御され得る。プロセッサコア３３０は、タイミングコア３４０の動作を制御するために、タイミングコア３４０と通信するようにプログラムされ得、この制御にはタイミングコア３４０のレジスタを設定することを含む。例えば、プロセッサコア３３０は、タイミングコア３４０によってタイミング信号の発生を制御するために、記述子レジスタセット６７０および記述子ポインタレジスタ６０５の値を設定することができる。プロセッサコア３３０は、システム設定６５０およびモード変更６６０を実装するために、プログラムを実行することができる。プロセッサコア３３０は、上で論じたようにタイミングコア３４０のカウンタおよびレジスタの動作を制御するようにプログラムされ得る。
【００５３】
記述子データ構造（すなわち、６０１〜６０４）に提供されるタイミング情報（すなわち、６０１ｂ、６０２ｂ、６０３ｂ、６０４ｂ）は、タイミング発生器メモリ３２０からタイミング信号通信ユニット５５１〜５５６のＦＩＦＯユニットにベクタテーブルおよび位置テーブルをロードするために使用される。例えば、タイミングコア３４０は、タイミングパターンを発生させるために、位置テーブルのアドレスおよびベクタテーブルのアドレスを使用して、タイミング信号通信ユニット５５１〜５５６の特定のＦＩＦＯに、対応する位置テーブルおよびベクタテーブルをロードし得る。各記述子ポインタ（すなわち、６０１ｃ、６０２ｃ、６０３ｃ、６０４ｃ）は、図８〜図１０を参照して下で説明するように、タイミング信号の次のパターンを記述するための次の位置テーブルおよびベクタテーブルをロードするために、リンクリストの次の記述子データ構造（すなわち、６０１〜６０４）を指し得る。
【００５４】
図７Ａおよび７Ｂは、いくつかの実装によるベクタテーブルおよび位置テーブルの一実施例を図示する。図７Ａで図示されるように、ベクタテーブル７９０は、ベクタテーブル長と、タイミング信号Ｖ１〜ＶＮを識別するベクタエントリとを含み得る。各ベクタエントリは、ベクタデータエントリ７９１で図示されるように１６ビットのエントリとしてフォーマットされ得る。ビット（例えば、ｂ１５）は、ベクタエントリのページ情報を含み得る一方で、残りのビット（例えば、ｂ１４〜１０）は、トグルされるタイミング信号を識別し得る。ページは、ベクタエントリ情報の異なるページを示すために、０または１に設定され得る。その結果、最高で３０のタイミング信号が、各ベクタテーブルエントリによって識別され得る。
【００５５】
図７Ｂで図示されるように、位置テーブル７８０は、位置テーブル長エントリと、ベクタテーブル７９０のエントリに対応するトグル位置情報とを含む。例えば、ベクタテーブル７９０は、ベクタテーブル７９０の第１のエントリとしてベクタ信号Ｖ１を識別し得る。位置テーブル７８０は、ベクタテーブル７９０のエントリに対応する、トグル位置を含み得る。タイミング信号Ｖ１は、トグル位置１に対応するカウント位置でトグルされ得る。その結果、複数のタイミング信号を発生させるための各タイミングパターンは、ベクタテーブル７９０および位置テーブル７８０の双方、ならびに上で説明したようにタイミングコア３４０が発生させるカウンタ情報を使用することによって記述することができる。
【００５６】
図８は、タイミング発生器３１０のタイミング信号の例示的なセットを図示する。当業者は、図８で図示されるタイミング信号が例示的なものに過ぎず、本発明が、任意の数のタイミング信号、タイミングパターン、またはタイミング信号トグル位置に限定されないことを認識するであろう。
【００５７】
図８で図示されるタイミング信号は、Ｖ１Ａ、Ｖ１Ｂ、Ｖ２Ａ、Ｖ２Ｂ、Ｖ３Ａ、Ｖ３Ｂ、Ｖ４、Ｖ５、Ｖ６、Ｖ７、およびＶ８Ａを含む。タイミング信号Ｖ１Ａ〜Ｖ８Ａは、データを画像読み出し中に移行するための垂直タイミング信号に対応し得る。図８で図示されるように、タイミング信号は、トグルされたタイミング信号の繰り返しパターンに分割され得る。例えば、図８のタイミング信号は、パターン０およびパターン１として表され得る。パターンは、種々のタイミング信号を発生させるために、記述子によって記述され得る。
【００５８】
図９Ａ〜９Ｃは、図８のパターン０に対応する記述子タイミング情報６０１ｂ、ベクタテーブル９９０、および位置テーブル９８０を図示する。記述子タイミング情報６０１ｂは、記述子構成エントリによって示されるように、Ｖｘ記述子の形式で情報を含む。その結果、発生するタイミング信号は、Ｖｘタイミング信号に対応する。記述子タイミング情報６０１ｂはまた、タイミング発生器メモリ３２０からロードされる、位置テーブルＡおよびベクタテーブルＢの長さおよびアドレスを識別する情報も含む。例えば、位置テーブルＡおよびベクタテーブルＢのアドレスは、タイミング発生器メモリ３２０からＶｘタイミング信号通信ユニットのＦＩＦＯユニット（すなわち、図５Ｂの５５３、５５４）にタイミング情報をロードするために、ＦＩＦＯコントローラ５４１ａによって使用される。記述子タイミング情報６０１ｂにおける「繰り返し」および「ループ」情報は、タイミング信号を発生する際にパターンが繰り返された回数、およびそのパターン組がループされた回数を含む。例えば、パターン０が０回繰り返され得、一連のパターンが０回ループされ得るが、これは、図８で図示されるように、発生したタイミング信号のフレーム内でパターン０が繰り返さない、またはループしないことを示す。開始場所情報は、タイミング信号のパターンが発生するカウント位置を示す。例えば、図８を参照すると、パターン０は、カウント位置０で始まり得る。
【００５９】
図９Ｂで図示される、ベクタテーブルＢは、タイミング信号Ｖ１Ａ〜Ｖ８Ａを表すタイミング信号ＩＤを含むことができる。位置テーブルＡ９８０は、タイミング信号Ｖ１Ａ〜Ｖ８Ａの対応するトグル位置を含む。タイミング信号のそれぞれは、パターン０に対応する期間について、記述子タイミング情報６０１ｂに含まれるタイミング情報、ベクタテーブルＢ、および位置テーブルＡによって表され得る。
【００６０】
例えば、図８を参照すると、タイミングパターン０は、ピクセルカウント０から５７まで続く期間に対応する。ピクセルカウントは、上で論じたピクセルカウンタ５４４、ラインカウンタ５４３、およびフィールドカウンタ５４５の内容を検査することによって決定することができる。タイミング信号は、位置テーブルから読み出されるピクセルカウント情報およびトグル位置情報に対応するトグル位置で、特定のタイミング信号をトグルすることによって発生され得る。例えば、ベクタテーブルＢ９８０は、第１のエントリとしてタイミング信号Ｖ１Ａ〜Ｖ１Ｂを識別し得る。位置テーブルＡ９９０は、５７のトグル位置を含み得る。その結果、タイミング信号Ｖ１Ａ〜Ｖ１Ｂは、図８で図示されるように、ピクセルカウント５７でトグルされる。同様に、タイミング信号Ｖ２Ａ〜Ｖ２Ｂは、３０のトグル位置でトグルされ得、タイミング信号Ｖ３Ａ〜Ｖ３Ｂは、４８のトグル位置でトグルされ得、タイミング信号Ｖ７は、２のトグル位置でトグルされ得、タイミング信号Ｖ８Ａは、３９のトグル位置でトグルされ得る。タイミング信号Ｖ４〜Ｖ６は、パターン０に対応する期間中にはトグルされない。したがって、タイミング信号Ｖ４〜Ｖ６は、ベクタテーブルＢ９８０に含まれず、いかなる対応するトグル位置情報も有しない。
【００６１】
図９Ａで図示される記述子０はさらに、タイミング信号をさらに発生するために、図６で図示される記述子ポインタ６０１ｃを通して、図１０Ａで図示される記述子１を指し得る。図１０Ａ〜１０Ｃは、図８のパターン１に対応する、記述子タイミング情報６０２ｂ、ベクタテーブルＤ１０９０、および位置テーブルＣ１０８０を表す。記述子タイミング情報６０２ｂは、記述子構成エントリによって示されるように、Ｖｘ記述子の形式で情報を含み得る。その結果、発生するタイミング信号は、Ｖｘタイミング信号に対応する。記述子タイミング情報６０２ｂはまた、タイミング発生器メモリ３２０からロードされる、位置テーブルＣおよびベクタテーブルＤの長さおよびアドレスを識別する情報も含む。
【００６２】
記述子タイミング情報６０２ｂにおける「繰り返し」および「ループ」情報は、タイミング信号を発生する際にパターンが繰り返された回数、およびそのパターン組がループされた回数を含む。例えば、パターン１が４回繰り返され得、一連のパターンが０回ループされ得るが、これは、図８で図示されるように、発生したタイミング信号のフレーム内でパターンがリピートしない、またはループしないことを示す。開始場所情報は、タイミング信号のパターンが発生するカウント位置を示す。例えば、図８を参照すると、パターン１は、カウント位置５７で始まり得る。ベクタアドレスは、タイミング発生器メモリからタイミングコアメモリ３２０に読み出されるように、ベクタテーブルまたはベクタテーブルの一部分のアドレスを含み得る。同様に、位置アドレスは、タイミング発生器メモリ３２０からタイミングコアメモリ（すなわち、タイミング信号通信ユニット５５１〜５５６のＦＩＦＯユニット）にロードされるように、位置テーブルまたは位置テーブルの一部分のアドレスを含み得る。図１０Ａで図示されるように、ベクタアドレスは、ベクタテーブルＤに対応し得、位置アドレスは、位置テーブルＣに対応し得る。
【００６３】
図１０Ｂを参照すると、ベクタテーブルＤ１０９０は、タイミング信号Ｖ１Ａ〜Ｖ８Ａを表す、タイミング信号ＩＤを含み得る。図１０Ｃを参照すると、位置テーブルＣ１０８０は、対応するトグル位置情報を含む。タイミング信号のそれぞれは、パターン１に対応する期間について、記述子タイミング情報６０２ｂに含まれるタイミング情報、位置テーブルＣ、およびベクタテーブルＤによって表され得る。
【００６４】
例えば、図８を参照すると、タイミングパターン１は、最初にピクセルカウント５７から２２０まで続く期間に対応し、次いで、パターン１が合計４回繰り返されるように繰り返される。ピクセルカウントは、上で論じたピクセルカウンタ５４４、ラインカウンタ５４３、およびフィールドカウンタ５４５の内容を検査することによって決定することができる。タイミング信号は、位置テーブルから読み出されるピクセルカウント情報およびトグル位置情報に対応するトグル位置で、タイミング信号をトグルすることによって発生し得る。例えば、ベクタテーブルＤ１０９０は、第１のエントリのタイミング信号Ｖ１Ａ〜Ｖ１Ｂを識別し得る。位置テーブルＣ１０８０は、対応するエントリで９９および１６３のトグル位置を含み得る。その結果、タイミング信号Ｖ１Ａ〜Ｖ１Ｂは、図８で図示されるように、ピクセルカウント１５６（９９＋５７）および２２０（１６３＋５７）でトグルされる。同様に、タイミング信号Ｖ２Ａ〜Ｖ２Ｂは、トグル位置１８および１３６でトグルされ得、タイミング信号Ｖ３Ａ〜Ｖ３Ｂは、トグル位置３６および１５４でトグルされ得、タイミング信号Ｖ４は、トグル位置９および５４でトグルされ得、タイミング信号Ｖ５は、トグル位置２７および７２でトグルされ得、タイミング信号Ｖ６は、タイミング位置４５および９０でトグルされ得、タイミング信号Ｖ７は、トグル位置６３および１０８でトグルされ得、タイミング信号Ｖ８Ａは、トグル位置８１および１４５でトグルされ得る。
【００６５】
トグル位置のそれぞれは、以前のパターンの終わりに始まるカウントに対応し得る。例えば、パターン１は、その後、カウント位置２２０、３８３、および５４６で繰り返される。位置テーブルＤのトグル位置は、パターン開始カウントによってオフセットされるトグル位置に対応し得る。例えば、タイミング信号Ｖ１Ａ〜Ｖ１Ｂは、その後、ピクセルカウント３１９（２２０＋トグル位置９９）、およびピクセルカウント３８３（２２０＋トグル位置１６３）でトグルされ得る。パターン繰り返しシーケンスは、特定のパターンについて位置テーブルエントリに提供される最後のトグル位置に従って開始され得る。
【００６６】
図９Ｃおよび図１０Ｃに関して上で説明した実施例は、絶対トグル位置形式または相対トグル位置形式に基づく位置テーブルの形態で提供され得る。絶対トグル位置形式の場合、位置テーブルは、ベクタテーブルのタイミング信号エントリに対応する、単一のトグル位置エントリを含む。トグル位置エントリは、最後のトグル位置がタイミング信号パターンの終わりでカウント位置に対応するように、絶対値に基づいて、昇順で配列される。代替として、トグル位置は、相対位置形式で提供され得る。相対位置形式は、位置テーブルの以前のエントリに基づいて、トグル位置を列記する。その違いは、図１１Ａ〜１１Ｃを参照してさらに詳細に説明される。図１１Ａは、いくつかの実装によるベクタテーブルの一実施例を図示する。図１１Ｂ〜１１Ｃは、それぞれ、絶対トグル位置形式および相対トグル位置形式に基づく位置テーブルの実施例を図示する。図１１Ａを参照すると、ベクタテーブルは、タイミング信号エントリとして、タイミング信号Ｖ１、Ｖ２、Ｖ３、およびＶ４を識別し得る。対応する位置テーブルは、図１１Ｂで図示されるように、２０、１００、１２０、および１４０のトグル位置で、１組のトグル位置エントリを提供し得る。図１１Ｂのトグル位置は、絶対値形式で提供される。図１１Ｃで図示されるように、同じトグル位置が、相対トグル位置形式で２０、８０、および２０として提供され得る。絶対値位置テーブルの最後の２つのエントリは、それぞれ２０だけオフセットされているので、相対トグル位置値形式でタイミング信号を記述する際に、最後のエントリは省略される。その結果、図１１Ｃの位置テーブルは、図１１Ｂの位置テーブルから、１つのエントリ分だけサイズが低減される。タイミングコア３４０は、位置テーブルの形式が、記述子に提供される記述子構成を通して、相対トグル位置値として提供されることを認識するように構成され得る。その結果、タイミングコア３４０は、位置テーブルの最後のエントリに提供される、オフセット２０に基づくタイミング信号Ｖ４のトグル位置を発生し得る。
【００６７】
図１２は、いくつかの実施形態による、タイミング信号を発生させる方法のフローチャートを表す。図示された方法は、様々な方法で修正することができる。例えば、別の実施形態において、図示されたプロセスの種々の部分は、組み合わせること、代替のシーケンスに配列すること、除去すること等ができる。ブロック１２０１で図示されるように、本方法は、タイミング情報を読み出すことから始まり得る。タイミング情報は、タイミング発生器メモリから読み出され得、タイミングコアメモリに提供され得る。ブロック１２０２で図示されるように、画像センサのピクセル位置をカウントするように構成される複数のカウンタが制御され得る。ブロック１２０３で図示されるように、タイミングパターン内の複数のタイミング信号のためのトグル位置は、タイミング情報およびカウンタ情報に基づいて決定され得る。ブロック１２０４で図示されるように、次のタイミングパターンは、決定されたトグル位置に基づいて発生し得る。本方法は、次いで、決定ブロック１２０５で図示されるように、発生する追加的なタイミングパターンがあるかどうかを決定することができる。例えば、本方法は、記述子がリンクリストに次の記述子へのポインタを含むかどうか、または記述子がタイミング信号を記述するための最後の記述子であるかどうかを決定することができる。より多くのパターンが発生する場合、本方法は、記述子に示されるタイミング情報を読み出すために、ブロック１２０１に戻り得る。いかなる残りのパターンも発生しない場合は、タイミング信号が発生し、撮像デバイス１０の種々の構成要素に出力され得る。
【００６８】
図１３は、いくつかの実施形態による、タイミング信号を発生させる方法のフローチャートを図示する。ブロック１３０１で表されるように、本方法は、記述子情報を読み出すことから始まり得る。ブロック１３０２で図示されるように、記述子情報に対応するタイミングパターンが発生し得る。本方法は、次いで、決定ブロック１３０３で図示されるように、次の記述子がリンクリストに存在するかどうかを決定し得る。現在の記述子がリンクリストで次の記述子を指している場合、本方法は、ブロック１３０１に戻り、次の記述子情報が読み出される。現在の記述子が、タイミング信号を記述するための最後の記述子を表す場合、本方法は、ブロック１３０４で図示されるように、タイミング信号を出力して進む。
【００６９】
上で論じたように、ＣＣＤまたはＣＭＯＳイメージャセンサのためのプログラム可能なタイミング発生器の従来のプログラミングモデルは、プロセッサの構造および設計に大いに依存する。したがって、デバイスメーカーの技術者は、概して、プロセッサ構造、命令セットを理解し、かつアセンブリ言語のプログラミング技術に精通していなければならない。さらに、従来のプログラム可能なタイミング発生器は、ＣＣＤ／ＣＭＯＳイメージャセンサのタイミングファイルを記憶するために、大きいメモリサイズを使用する。さらに、ＣＣＤ／ＣＭＯＳイメージャの用途は、概して、固定パターンノイズを画像に導入する定期的なメモリフェッチのため、従来のプログラム可能なタイミング発生器において、非常にノイズに敏感な用途である。加えて、ＧＵＩツールは、特定のプロセッサの言語での、またはアセンブリ言語での符号化に関連するソフトウェアオーバーヘッドのため、従来のタイミング発生器アーキテクチャのために開発することが困難であり得る。
【００７０】
記述子に基づくタイミング発生器の場合、リンクリスト記述子に基づくタイミングパターンプログラミングモデルを使用することができる。このプログラミングモデルを使用することによって、デバイスメーカーの技術者は、ハードウェア構造およびプロセッサ命令の詳細を理解する必要なしに、タイミングパターン自体に集中することができる。この記述子に基づくタイミング発生器では、プロセッサコア３３０およびタイミングコア３４０を含む、デュアルコア構造が説明される。プロセッサコア３３０は、システム設定およびモードスイッチを扱うことができ、タイミングコア３４０は、タイミング発生を扱うことができる。この構造を用いることによって、タイミング発生のために、記述子に基づくタイミングパターンをタイミングコアに直接マップすることができる。したがって、複雑なソフトウェア開発が回避される。
【００７１】
さらに、上で論じたように、ＦＩＦＯおよび内部信号制御は、データの読み出し中にいかなるメモリアクセスもないことを確実にするように作成され得る。その結果、データがフェッチされ、事前にＦＩＦＯにロードされ、それによって、システムへのノイズの導入を低減する。さらに、典型的にいかなる固定パターンノイズも発生しないようにメモリアクセスがランダム化されることを確実にする技法が創出され得る。
【００７２】
さらに、タイミング発生器のデュアルコアアーキテクチャには、プロセッサコアおよびタイミングコアが提供される。ＣＣＤ／ＣＭＯＳ用途におけるタイミング発生のフレキシブルまたは可変的な部分は、プロセッサコア３３０で動作し得、構造化されたタイミング発生は、タイミングコア３４０で動作し得る。進歩したハードウェア／ソフトウェア分割のため、ソフトウェアオーバーヘッドが排除され得、また、ＧＵＩサポートが容易に実装される。
【００７３】
タイミングコアとして、複数のタイミング発生チャネルがサポートされ得る。その結果、複雑なＣＣＤ／ＣＭＯＳイメージャセンサタイミングがサポートされ得、システムは、非常にスケーラブルであり得る。各タイミング発生チャネル、絶対位置パルス発生、相対的位置パルス発生について、タイミングパターンの繰り返しおよびタイミングシーケンスのループ、ならびに他の機能は、タイミング発生をさらにいっそう効率的にするように、およびメモリの中のコードサイズを非常に小さくするようにサポートされる。加えて、ベクタテーブルおよび位置テーブルとして記憶されるタイミング情報は、記述子を通してタイミング信号を定義することによって再使用され得、その結果、タイミング情報を記憶するためのメモリの量が低減され得る。いくつかの実施形態によれば、メモリのコードサイズは、従来のプログラムコードの１／４のサイズに低減され得る。
【００７４】
プロセッサコア３３０とタイミングコア３４０との間のメモリアクセスの衝突を回避するために、デュアルバンクメモリ構造が設計され得る。タイミングコアメモリユニット（すなわち、５５１〜５５６に含まれるＦＩＦＯメモリ）およびプロセッサコア３３０にデータをロードするための効率的なメモリフェッチをサポートするために、プリエンプティブに基づくラウンドロビン調停スキームが設計され得る。
【００７５】
したがって、当業者は、実施形態の構成および原理を任意の他の電子システムに適合させることができることを認識するであろう。上で説明した構成を用いた回路は、種々の電子デバイスまたは集積回路の中へ実装することができる。電子デバイスの実施例としては、家庭用電化製品、家庭用電化製品の部品、電子試験装置、健康管理モニタ等が挙げられるが、これらに限定されない。さらに、電子デバイスは、未完成の製品を含み得る。
【００７６】
上の説明および特許請求の範囲は、ともに「接続されている」または「連結されている」要素または特徴を参照し得る。本明細書で使用される場合、別途明示的に提示されない限り、「接続される」とは、１つの要素／特徴が、別の要素／特徴に直接的または間接的に接続され、必ずしも機械的にではないことを意味する。同様に、別途明示的に提示されない限り、「連結される」とは、１つの要素／特徴が、別の要素／特徴に直接的または間接的に連結され、必ずしも機械的にではないことを意味する。したがって、図に示される種々の概略図は、要素および構成要素の例示的な配列を表すが、（表された回路の機能が悪影響を受けないと仮定して）追加的な介在要素、デバイス、特徴、または構成要素が、実際の実施形態の中に存在し得る。
【００７７】
本発明を特定の実施形態に関して説明してきたが、本明細書に記述した特徴および利点の全てを提供しない実施形態を含む、当業者に明らかである他の実施形態も、本発明の範囲内にある。さらに、上で説明した種々の実施形態は、さらなる実施形態を提供するように組み合わせることができる。加えて、一実施形態に照らして示された特定の特徴は、同様に、別の実施形態に組み込むことができる。故に、本発明の範囲は、添付の特許請求の範囲を参照することによってのみ定義される。
【００７８】
本明細書における「第１」、「第２」等の呼称を使用した要素に対する任意の参照は、概して、そのような要素の数量または順序を限定するものではないことを理解されたい。むしろ、これらの呼称は、２つ以上の要素またはある要素の複数の実例を区別する好都合な方法として本明細書で使用され得る。したがって、第１および第２の要素に対する参照は、２つの要素だけがそこで用いられ得ること、または第１の要素が何らかの様式で第２の要素に先行しなければならないことを意味するものではない。また、別途提示されない限り、１組の要素は、１つ以上の要素を備え得る。
【００７９】
当業者は、情報および信号が、種々の異なる技術および技法のいずれかを使用して表され得ることを理解するであろう。例えば、上の説明の全体を通して参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光学場もしくは光学粒子、またはそれらの任意の組み合わせによって表され得る。
【００８０】
当業者はさらに、本明細書で開示される態様に関して説明される種々の例示的な論理ブロック、モジュール、コア、プロセッサ、手段、回路、およびアルゴリズムステップのうちのいずれかは、電子ハードウェア（例えば、ソース符号化または他の何らかの技法を使用して設計され得る、デジタル実装、アナログ実装、またはそれら２つの組み合わせ）として、命令を組み込んだ種々の形態のプログラムまたは設計コード（便宜上、本明細書では「ソフトウェア」または「ソフトウェアモジュール」と称され得る）として、または双方の組み合わせとして実装され得ることを認識するであろう。ハードウェアおよびソフトウェアのこの互換性を明確に図示するために、種々の例示的な構成要素、ブロック、モジュール、回路、およびステップを、概して、それらの機能に関して上で説明した。そのような機能がハードウェアとして実装されるかソフトウェアとして実装されるかは、特定の用途および全体的なシステムに課される設計制約に依存する。当業者は、説明される機能を各特定の用途について種々の方法で実装し得るが、そのような実装の決定が、本開示の範囲からの逸脱を引き起こすものと解釈すべきではない。
【００８１】
本明細書で開示される態様と関連して、また、図１〜図５と関連して説明される、種々の例示的な論理ブロック、モジュール、コア、および回路は、集積回路（ＩＣ）、アクセス端末、またはアクセスポイント内に実装され得るか、またはそれによって行われ得る。ＩＣは、本明細書で説明される機能を行うように設計された、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、電気構成要素、光構成要素、機械構成要素、またはそれらの任意の組み合わせを備え得、また、ＩＣ内に、ＩＣの外側に、またはその両方にあるコードまたは命令を実行し得る。論理ブロック、モジュール、コア、および回路は、ネットワーク内で、またはデバイス内で種々の構成要素と通信するために、アンテナおよび／または送受信機を含み得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替的に、プロセッサは、任意のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えばＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つ以上のマイクロプロセッサ、または任意の他のそのような構成としても実装され得る。モジュールまたはコアの機能は、本明細書で教示されるようにいくつかの他の様式で実装され得る。さらに、本明細書で（例えば、添付図面の１つ以上に関して）説明される機能は、いくつかの態様において、同様に指定された添付の特許請求の範囲の機能「のための手段」に対応し得る。
【００８２】
任意の開示されたプロセスにおけるステップの特定の順序または階層は、例示的な手法の一例であることを理解されたい。設計の選好に基づいて、プロセスにおけるステップの特定の順序または階層は、本開示の範囲内にあり続ける限り、再構成され得ることを理解されたい。添付の方法の特許請求の範囲は、種々のステップの要素を例示的な順序で提示するものであり、提示された特定の順序または階層に限定されるものではない。
【００８３】
説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実装され得る。ソフトウェアに実装される場合、機能は、有形の非一時的なコンピュータが読み出し可能な媒体上の１つ以上の命令またはコードとして記憶され、またはそれを通じて伝送され得る。コンピュータが読み出し可能な媒体は、コンピュータ記憶媒体、および１つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体の双方を含む。記憶媒体は、コンピュータによってアクセスすることができる、任意の利用可能な媒体であり得る。一例であり、限定するものではないが、そのようなコンピュータが読み出し可能な媒体としては、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、もしくは他の光ディスク記憶装置、磁気ディスク記憶装置、もしくは他の磁気記憶デバイス、または命令もしくはデータ構造の形態で所望のプログラムコードを搬送もしくは記憶するように使用することができ、かつコンピュータによってアクセスすることができる、任意の他の媒体が挙げられる。コンピュータが読み出し可能な媒体は、非一時的または一時的なコンピュータが読み出し可能な媒体の形態であり得る。また、任意の接続は、コンピュータが読み出し可能な媒体と適切に称され得る。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、電波、およびマイクロ波等の無線技術を使用して、ウェブサイト、サーバ、または他の遠隔ソースからソフトウェアが伝送される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、電波、およびマイクロ波等の無線技術は、媒体の定義に含まれる。本明細書で使用される場合、ディスク（ｄｉｓｋおよびｄｉｓｃ）としては、コンパクトディスク（ＣＤ）（ｄｉｓｃ）、レーザーディスク（登録商標）（ｄｉｓｃ）、光ディスク（ｄｉｓｃ）、デジタル多用途ディスク（ＤＶＤ）（ｄｉｓｃ）、フロッピー（登録商標）ディスク（ｄｉｓｋ）、およびブルーレイディスク（ｄｉｓｃ）が挙げられ、ここでディスク（ｄｉｓｋ）は、通常、データを磁気的に再生する一方で、ディスク（ｄｉｓｃ）は、レーザーで光学的にデータを再生する。上の組み合わせはまた、コンピュータが読み出し可能な媒体の範囲内にも含まれるべきである。要約すれば、コンピュータが読み出し可能な媒体は、任意の好適なコンピュータプログラム製品に実装され得ることを認識されたい。
【００８４】
上の説明は、あらゆる当業者が、添付の特許請求の範囲の範囲内で実施形態を作製または使用することを可能にするために提供される。これらの態様に対する種々の変更は、当業者には容易に明らかになるであろうし、また本明細書で定義された一般的な原理は、本開示の範囲から逸脱することなく、他の態様に適用され得る。したがって、本開示は、本明細書で示される態様に限定することを意図するものではなく、本明細書で開示される原理および新しい特徴と合致する最大の範囲に一致すべきものである。
【図１】
0005648135.tif 000002
【図２】
0005648135.tif 000003
【図３】
0005648135.tif 000004
【図４】
0005648135.tif 000005
【図５Ａ】
0005648135.tif 000006
【図５Ｂ】
0005648135.tif 000007
【図６】
0005648135.tif 000008
【図７】
0005648135.tif 000009
【図８】
0005648135.tif 000010
【図９】
0005648135.tif 000011
【図１０】
0005648135.tif 000012
【図１１】
0005648135.tif 000013
【図１２】
0005648135.tif 000014
【図１３】
0005648135.tif 000015