(57)【要約】【課題】  ビデオをオーディオによりよく同期化すること。【解決手段】  オーディオ／ビデオストリームを再生する時に、多くの再生デバイスは、エンコードに使用されたオーディオクロックおよびビデオクロックの再作成を試みる。そのようなクロックを再作成するのに通常使用される手段の１つに、位相ロックループ（ＰＬＬ）回路の使用が含まれる。オーディオとビデオは、同期化されたままにならなければならない。しかし、多くの適度なコストのＰＬＬは、エンコーディングに使用された正確なビデオクロックを再作成することができない。オーディオへのビデオの同期化は、再作成されるビデオを定義する範囲（または他の変数）の１つまたは複数を調整することによって解決することができる。ビデオの範囲（または他の変数）を変更することによって、ＰＬＬの出力周波数を実施できる値に調整できるようになる。【選択図】  図５
2006074740.tif 000002
【特許請求の範囲】
【請求項１】
第１ピクセルクロックレートに対応する、ビデオレートと１つまたは複数の範囲の第１セットとの表示にアクセスするステップと、
位相ロックループ回路で入力クロック信号を受信するステップと、
前記表示に応答して、前記入力クロック信号および１つまたは複数の範囲の第２セットにより第２ピクセルクロックレートを有する出力クロックを作成するステップと
を備えたクロック生成回路を構成する方法。
【請求項２】
ビデオを受信するステップと、
前記範囲の第２セットによって定義されるように前記ビデオを変更するために前記ビデオのビデオデータを変更するステップと
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項３】
前記ビデオデータを変更するステップは、ビデオの走査線あたりピクセル数を変更するステップを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記ビデオの走査線あたりピクセル数を変更するステップは、水平帰線消去領域の幅を変更するステップを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記１つまたは複数の範囲の第１セットは、前記ビデオ内の走査線の第１個数および走査線あたりピクセルの第１個数を含み、
前記ビデオ内の第１個数の走査線は、アクティブ領域および帰線消去領域を含み、
前記走査線あたりの第１個数のピクセルは、アクティブ領域および帰線消去領域を含み、
前記ビデオデータを変更するステップは、前記ビデオ内の第１個数の走査線を変更するステップを含む
ことを特徴とする請求項２に記載の方法。
【請求項６】
前記走査線の第１個数を変更するステップは、垂直帰線消去領域の高さを変更するステップを含むことを特徴とする請求項５に記載の方法。
【請求項７】
位相ロックループ回路が前記第１ピクセルクロックレートの前記出力クロックを作成できないことを自動的に決定するステップと、
前記範囲の第２セットを識別することを含む、ビデオの１つまたは複数の範囲に対して行われる変更を自動的に決定するステップと、
前記範囲の第２セットに従うように前記ビデオを自動的に変更するステップと
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項８】
ビデオの新しい範囲に関するオプションを提供するステップと、
前記範囲の第２セットに対応する、前記オプションのうちの１つの選択を受信するステップと、
前記範囲の第２セットに従うように前記ビデオを自動的に変更するステップと
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項９】
ビデオの新しい範囲に関するオプションを提供するステップと、
前記範囲の第２セットに対応する第１オプションの選択を受信するステップと、
前記第１オプションに従ってイメージを表示するステップと、
前記イメージが表示された後に受信され、前記第１オプションに従って前記入力ビデオを変更する要求を受信するステップと、
前記範囲の第２セットに従うように前記ビデオを自動的に変更するステップと
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項１０】
前記表示へのアクセスの後に、前記位相ロックループ回路により、前記第１ピクセルクロックレートの前記出力クロックを作成できないことの決定に応答して実行され、前記位相ロックループ回路によって実行され、前記第１ピクセルクロックレートの前記出力クロックを作成できないことを自動的に決定するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項１１】
前記位相ロックループ回路により、前記第１ピクセルクロックレートの前記出力クロックを作成できないことを自動的に決定するステップは、前記位相ロックループ回路の達成可能モードのルックアップテーブルにアクセスするステップを含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記出力クロックを作成する位相ロックループ回路によって達成可能として前記第２ピクセルクロックおよび前記範囲の第２セットを識別するステップと、
前記第２ピクセルクロックレートを達成するために前記位相ロックループ回路のパラメータを識別するステップと、
前記パラメータに従って前記位相ロックループ回路をプログラミングするステップと
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項１３】
前記第１ピクセルクロックレートを計算するステップと、
前記出力クロックを作るために位相ロックループ回路を用いて前記範囲の第１セットを使用して前記第１ピクセルクロックレートが達成可能でないことを決定するステップと、
前記位相ロックループ回路の達成可能な構成のセットを決定するステップと、
前記範囲の第２セットに対応する、前記達成可能な構成の１つを選択するステップと
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項１４】
前記達成可能な構成の１つの選択するステップは、前記ビデオからビデオデータを減らす構成よりも前記ビデオにビデオデータを追加する構成を優先することを特徴とする請求項１３に記載の方法。
【請求項１５】
前記達成可能な構成の１つの選択するステップは、前記ビデオの走査線あたりのピクセル数を変更する構成よりも前記ビデオの走査線数を変更する構成を優先することを特徴とする請求項１３に記載の方法。
【請求項１６】
前記第１ピクセルクロックレートを計算するステップと、
前記第１ピクセルクロックレートに対応する前記事前に格納されたデータ内のデータを探すことを含む、許容される出力クロックレートを示す事前に格納されたデータにアクセスするステップと、
前記第１ピクセルクロックレートが許容されないと決定するステップと、
前記範囲の第２セットに対応する、前記許容される出力クロックレートからの前記第２ピクセルクロックレートを選択するステップと
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項１７】
前記１つまたは複数の範囲の第１セットは、走査線あたりピクセル数の値およびフレームあたり走査線数の値を含むことを特徴とする請求項１に記載の方法。
【請求項１８】
前記ビデオレートは、リフレッシュレートであることを特徴とする請求項１に記載の方法。
【請求項１９】
前記ビデオレートおよび１つまたは複数の範囲の第１セットの表示は、ユーザによって提供されることを特徴とする請求項１に記載の方法。
【請求項２０】
前記ビデオレートおよび１つまたは複数の範囲の第１セットの表示は、モニタによって提供されることを特徴とする請求項１に記載の方法。
【請求項２１】
前記ビデオレートおよび１つまたは複数の範囲の第１セットの表示は、ストレージデバイスから読み取られることを特徴とする請求項１に記載の方法。
【請求項２２】
前記出力クロックは、ピクセルクロックであることを特徴とする請求項１に記載の方法。
【請求項２３】
前記出力クロックは、２ｘピクセルクロックであることを特徴とする請求項１に記載の方法。
【請求項２４】
前記出力クロックは、１２ｘピクセルクロックであることを特徴とする請求項１に記載の方法。
【請求項２５】
１つまたは複数のプログラマブル分周器のセットを含む位相ロックループ回路と、
前記１つまたは複数のプログラマブル分周器の前記セットと通信して、第１ピクセルクロックレートに対応するビデオレートおよび１つまたは複数の範囲の第１セットの選択にアクセスされた選択に応答して、１つまたは複数の範囲の異なるセットにより第２ピクセルクロックレートのピクセルクロックを作成するために前記プログラマブル分周器をプログラミングする制御回路と
を含むことを特徴とするクロック合成回路。
【請求項２６】
前記制御回路が、ＣＰＵ、ノースブリッジ、およびインターフェース回路を含むことを特徴とする請求項２５に記載のクロック合成回路。
【請求項２７】
入力ビデオを受信し、および前記ビデオレートおよび前記１つまたは複数の範囲の異なるセットに従って出力ビデオ信号を作成するビデオ処理回路をさらに含むことを特徴とする請求項２５に記載のクロック合成回路。
【請求項２８】
前記ビデオ処理回路は、前記出力ビデオ信号を作成するために、前記入力ビデオの走査線数を変更することを特徴とする請求項２７に記載のクロック合成回路。
【請求項２９】
前記ビデオ処理回路は、前記出力ビデオ信号を作成するために、前記入力ビデオの走査線あたりのピクセル数を変更することを特徴とする請求項２７に記載のクロック合成回路。
【請求項３０】
前記１つまたは複数の範囲の第１セットは、前記ビデオ内の走査線の第１個数および走査線あたりのピクセルの第１個数を含み、
前記ビデオ内の前記第１個数の走査線は、アクティブ領域および帰線消去領域を含み、
走査線あたりの前記第１個数のピクセルは、アクティブ領域および帰線消去領域を含み、
前記ビデオ処理回路は、水平帰線消去領域の幅を変更することによって、走査線あたりピクセルの前記第１個数を変更する
ことを特徴とする請求項２５に記載のクロック合成回路。
【請求項３１】
前記制御回路は、レジスタのセットを含み、前記レジスタは、前記分周器を制御する値を格納し、前記制御回路は、前記レジスタにデータをロードすることによって前記分周器をプログラミングすることを特徴とする請求項２５に記載のクロック合成回路。
【請求項３２】
前記制御回路は、前記位相ロックループ回路が前記第１ピクセルクロックレートを実施できないことを自動的に決定し、決定に応答して前記第２ピクセルクロックレートを選択することを特徴とする請求項２５に記載のクロック合成回路。
【請求項３３】
前記制御回路は、前記位相ロックループ回路が、前記第１ピクセルクロックレートを実施できないことを決定し、前記範囲の第１セットの１つまたは複数を変更することによって前記位相ロックループを使用して実施できるピクセルクロックレートのセットを決定し、および実施できるピクセルクロックレートの前記セットから、前記１つまたは複数の範囲の第２セットに対応する前記第２ピクセルクロックレートを選択することを特徴とする請求項２５に記載のクロック合成回路。
【請求項３４】
位相ロックループ回路を含むクロック生成回路を構成する方法であって、
第１ピクセルクロックレートに対応する、ビデオレートおよび１つまたは複数の範囲の第１セットの表示にアクセスするステップと、
前記位相ロックループ回路を使用して前記第１ピクセルクロックレートを実施してはならないと決定するステップと、
前記範囲の第１セットの１つまたは複数を変更することによって前記位相ロックループ回路を使用して実施できるピクセルクロックレートのセットを決定するステップと、
１つまたは複数の範囲の第２セットに対応する、実施できるピクセルクロックレートの前記セットからの第２ピクセルクロックレートを選択するステップと、
前記範囲の第２セットにより、前記位相ロックループ回路を使用して前記第２ピクセルクロックレートの出力クロックを提供するステップと
を備えたことを特徴とする方法。
【請求項３５】
第１ビデオを受信するステップと、
前記第１ビデオにより、前記範囲の第２セットによって定義される出力ビデオを提供するステップと
をさらに備えたことを特徴とする請求項３４に記載の方法。
【請求項３６】
前記出力クロックを提供するステップは、フレームの追加または削除なしで実行される
ことを特徴とする請求項３５に記載の方法。
【請求項３７】
表示にアクセスする前記ステップ、前記第１ピクセルレートを実施してはならないと決定する前記ステップ、ピクセルクロックレートのセットを決定する前記ステップ、および出力クロックを提供する前記ステップは、自動的に実行されることを特徴とする請求項３４に記載の方法。
【請求項３８】
前記選択のステップは、
ビデオの新しい範囲に関するオプションを提供するステップと、
前記範囲の第２セットに対応する第１オプションの選択を受信するステップと、
前記第１オプションに従ってイメージを表示するステップと、
前記イメージが表示された後に受信され、前記第１オプションを進行する要求を受信するステップと、
進行の前記要求に応答して、前記範囲の第２セットに従うように出力ビデオを自動的に構成するステップと
を含むことを特徴とする請求項３４に記載の方法。
【請求項３９】
前記選択のステップは、前記第２ピクセルクロックレートが実施できるピクセルクロックレートの前記セットに関して前記第１ピクセルクロックレートからの変更を最小にするので、前記第２ピクセルクロックレートを自動的に選択するステップを含むことを特徴とする請求項３４に記載の方法。
【請求項４０】
前記位相ロックループ回路を使用して前記第１ピクセルクロックレートを実施してはならないと決定するステップは、前記第１ピクセルクロックレートをピクセルクロックレートの事前に格納されたセットと比較するステップを含むことを特徴とする請求項３４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、ビデオの同期化に関し、より詳細には、ビデオパラメータを調整することによるビデオ同期化に関する。
【背景技術】
【０００２】
オーディオ／ビデオストリームを再生する場合に、多くの再生デバイスは、エンコードに使用されたオーディオクロックおよびビデオクロックの再作成を試みる。そのようなクロックを再作成するのに使用される手段の１つには、位相ロックループ（ＰＬＬ）回路の使用が含まれる。
【０００３】
古典的なＰＬＬに、位相検出器および電圧制御発振器（ＶＣＯ）が含まれる。図１に、ＶＣＯ  ２０２に接続された位相検出器２００を含むＰＬＬの例を示す。位相検出器２００は、２つの入力周波数（ｆ１およびｆ２）を比較し、その位相差の測定値である出力を生成するデバイスである。周波数ｆ１がｆ２と異なる場合に、位相検出器２００からの誤差信号が、ＶＣＯ  ２０２の周波数をｆ１の方向に偏差させる（ｄｅｖｉａｔｅ）。図１のＰＬＬには、分周器２０４、２０６、および２０８も含まれる。入力信号（Ｉｎ）は、まず、分周器２０４に送られ、その周波数がＦによって分周される。分周器２０４の出力が、位相検出器２００に供給される。ＶＣＯ  ２０２の出力が、分周器２０８に供給され、この分周器２０８は、ＶＣＯ  ２０２の出力をＯで分周する。分周器２０８の出力が、ＰＬＬの出力（Ｏｕｔ）である。ＶＣＯ  ２０２の出力は、分周器２０６にも送られ、この分周器２０６は、ＶＣＯ  ２０２の出力をＢで分周する。分周器２０６の出力は、位相検出器２００の第２入力である。
【０００４】
分周器２０４、２０６、および２０８は、受信する信号の周波数を分周する。図２に、分周器に入り、３で分周される入力信号３１０と、その分周器の出力である信号３１２を示す。信号３１２は、信号３１０の周波数の１／３である。たとえば、信号３１０が、分周器２０４への入力であり、Ｆ＝３である場合に、信号３１２は、分周器２０４の出力である。
【０００５】
ｆ１＝ｆ２（図１のＰＬＬに関して）の場合に、分周器２０４の出力の周波数は、分周器２０６の出力の周波数と等しく、
【０００６】
【数１】
2006074740.tif 000003
【０００７】
かつ
【０００８】
【数２】
2006074740.tif 000004
【０００９】
である。ここで、Ｉｎは、入力信号の周波数、Ｏｕｔは、出力信号の周波数、Ｂ、Ｆ、およびＯは、ＰＬＬの分周器パラメータである。上の２式を、Ｏｕｔについて解くことができる。
【００１０】
【数３】
2006074740.tif 000005
【００１１】
したがって、Ｏｕｔは、ＰＬＬ比Ｂ／（ＦＯ）によって決定される、Ｉｎの関数である。したがって、設計者は、適当な分周器パラメータＢ、Ｆ、およびＯを選択することによって、特定の入力周波数に鑑みて、ある出力周波数を提供するようにＰＬＬを設計することができる。残念ながら、すべてのＰＬＬが、分周器パラメータのすべての組合せについて適度な出力波形を提供できるわけではない。そのような制限は、デバイス特性に起因し、異なる設計の間で異なる。一般的なルールとして、ＰＬＬ比の分子および分母の整数が大きいほど、結果のＰＬＬ出力の品質が悪くなる。たとえば、６／１の比を有するＰＬＬは、１００１／１６７の比を有するＰＬＬより簡単かつ安価に作られる。
【００１２】
オーディオ／ビデオストリームに、通常は、単位時間当たりにエンコードされたオーディオサンプルの個数と表示されるイメージの個数の間の正確な関係が含まれる。たとえば、ＤＶＤトランスポートストリームが、４８ｋＨｚオーディオサンプルレートを、（６０／１．００１）Ｈｚビデオリフレッシュレートと共に有する場合がある。したがって、オーディオクロックおよびビデオクロックを、同一のクロック基準から生成し、その結果、この２つのクロックの間の比を一定にし、オーディオクロックとビデオクロックの間のドリフトを回避することが、通常は推奨される。しかし、分周器パラメータのすべての組合せを実施することが可能でない場合があるので、一部のＰＬＬを使用して、同一のクロックソースから正確なオーディオクロックと正確なビデオクロックの両方を再作成することは、困難である。
【００１３】
ビデオデータは、フレームに便利にグループ化されるので、オーディオよりもビデオを調整することの方が簡単であった。したがって、通常の設計に、エンコーディングに使用されたオーディオクロックを正確に再作成するソースクロックおよびＰＬＬが含まれる。しかし、そのようなシステムの最も適度なコストのＰＬＬは、エンコーディングに使用された正確なビデオクロックを再作成することができない。したがって、経時的に、再生アプリケーションは、オーディオ／ビデオ同期を維持するために、フレーム（またはオーディオサンプル）を追加または削除しなければならない。これが、消費者の目を引く可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
したがって、ビデオをオーディオによりよく同期化する必要がある。
【課題を解決するための手段】
【００１５】
オーディオに対するビデオの同期化は、再作成されるビデオの１つまたは複数のパラメータを調整することによって解決される。そのような変数を調整することによって、十分に高品質の信号をもたらす分周器パラメータを用いて実施できる値へのＰＬＬの出力周波数の変更が可能になる。
【００１６】
通常のビデオは、水平の走査線に分割されている。走査線のそれぞれが、複数のデータのピクセルを有する。ＰＬＬの出力信号を、ピクセルクロックと呼ぶことができる。というのは、これが、ビデオ信号のピクセルを操作するためにさまざまなコンポーネントによって（ある形で）使用されるからである。ピクセルクロックは、走査線あたりのピクセル数と、フレーム（またはフィールドあるいは他の単位）あたりの走査線数と、必要なリフレッシュレート（フレームレート）の積である。
【００１７】
再生システムが、モニタ（または他の出力デバイス）に接続される時に、そのシステムは、そのモニタの解像度のピクセルクロック（たとえば、走査線当たりのピクセル数、フレーム当たりの走査線数など）およびリフレッシュレートを計算する。入力クロックが与えられて、ＰＬＬを用いてピクセルクロックを実装できるかどうかに関する決定を行うことができる。できない場合に、そのＰＬＬによってよりよく実施できるピクセルクロックを得るために、ある機構を使用して、たとえば走査線当たりのピクセル数、フレーム当たりの走査線数などのビデオパラメータを変更する。たとえば、走査線当たりのピクセル数および／またはフレームあたりの走査線数を調整して、ＰＬＬ分数の分母および／または分子の整数を小さくすることができる。
【００１８】
一実施形態で、ビデオパラメータの変更によって、可視（「アクティブ」）ビデオ領域の高さおよび幅に影響せずに、水平帰線消去の幅または垂直帰線消去の高さが調整される。すなわち、アクティブビデオ領域内の走査線数が、変更されず、アクティブビデオ領域内の走査線当たりのピクセル数が、変更されない。
【００１９】
一例で、ビデオの同期を維持するためにクロック生成回路を適当に構成する処理に、ビデオレートおよび１つまたは複数の範囲（たとえば走査線当たりのピクセル数およびフレーム当たりの走査線数）の第１セットの表示にアクセスすることが含まれる。ビデオレートおよび１つまたは複数の範囲の第１セットは、ビデオ処理回路によって使用される第１ピクセルクロックレートに対応する。ＰＬＬは、入力クロック信号を受信し、およびＰＬＬ分周器にプログラミングされたＰＬＬパラメータに基づいて、入力クロックから出力クロックを作成する。出力クロックは、範囲の第１セットと異なる、変更された範囲に基づく第２ピクセルクロックレートと等しい周波数を有する。
【００２０】
１つの例の実施形態で、これらの処理を、ＰＬＬおよび制御回路を使用して実行することができる。この制御回路に、本明細書で説明する１つまたは複数のコンポーネントを含めることができる。ＰＬＬに、１つまたは複数のプログラマブル分周器のセットが含まれる。制御回路は、分周器と通信する。制御回路は、ビデオレートおよび１つまたは複数の範囲の第１セットの選択にアクセスする。ビデオレートおよび１つまたは複数の範囲の第１セットは、第１ピクセルクロックレートに対応する。ビデオレートおよび範囲の第１セットのアクセスされた選択に応答して、制御回路は、分周器をプログラミングして、範囲の異なるセットに基づく第２ピクセルクロックレートのピクセルクロックを作成する。
【発明を実施するための最良の形態】
【００２１】
ビデオの同期化は、ビデオを定義するビデオパラメータの１つまたは複数を調整することによって実行される。たとえば、ビデオの範囲（または他の変数）を変更することによって、ＰＬＬの出力周波数を、実施できる値に調整することが可能になる。一実施形態で、ビデオパラメータを変更することによって、アクティブビデオ領域の走査線数およびアクティブビデオ領域の走査線当たりのピクセル数に影響せずに、水平帰線消去幅または垂直帰線消去高さが調整される。
【００２２】
図３に、オーディオおよびビデオを出力するコンピューティングシステム４００の一例を示す。図示のシステムは、ビデオを定義する範囲の１つまたは複数を変更することを含む、本明細書に記載の同期化の方法を使用することができる。そのようなコンピューティングデバイスの一例を、マルチメディア経験を提供し、ビデオゲームをプレイするゲームデバイスとすることができる。しかし、システム４００は、セットトップボックス、オーディオ／ビデオプレイヤ（たとえば、ＤＶＤプレイヤ）、パーソナルコンピュータなどとして使用することもできる。
【００２３】
システム４００に、中央処理装置（ＣＰＵ）４０２、グラフィックスプロセッサ（ノースブリッジとも呼ぶ）４０４、およびサウスブリッジ４０６が含まれる。ＣＰＵ  ４０２およびノースブリッジ４０４は、フロントサイドバス（ＦＳＢ）を介して互いに通信する。ノースブリッジ４０４は、アドレス／制御信号線（Ａｄｄｒ／ｃｎｔｌ）およびデータ信号線（Ｄａｔａ）を介してメモリ４１０と通信する。ノースブリッジは、グラフィックス処理機能を提供し、メモリ機能を提供し、ＣＰＵ  ４０２とサウスブリッジ４０６の仲介として働くのに使用される。
【００２４】
ノースブリッジ４０４は、バックサイドバス（ＢＳＢ）を介してサウスブリッジ４０６と通信する。サウスブリッジ４０６は、さまざまな入出力機能、オーディオ処理、およびテスト機能を実行する。サウスブリッジ４０６は、入出力デバイス４２０（たとえば、ネットワークインターフェース）、ハードディスクドライブおよびＤＶＤドライブ４２２、ならびにフラッシュメモリ４２４と通信する。システム４００に、ビデオロジック４１２も含まれる。ノースブリッジ４０４は、デジタルビデオ出力バス（ＤＶＯ）を介してビデオロジック４１２と通信する。ビデオロジック４１２に、ＣＰＵ  ４０２、ノースブリッジ４０４、およびサウスブリッジ４０６にクロックを供給するクロック生成回路が含まれる。
【００２５】
上で述べたように、サウスブリッジ４０６は、さまざまなオーディオ処理を提供する。サウスブリッジは、Ｉ２Ｓバスを介してデジタルアナログコンバータ４２６と通信する。Ｉ２Ｓは、標準的なデジタルオーディオのチップツーチップである単一方向のインターフェースである。その最も基本的な形態で、ＩＳ２は、サンプルクロック（ＳＣＬＫ）、マスタクロック（ＭＣＬＫ）、左右インジケータ（ＬＲＳＥＬ）、およびデータ信号線からなる。インターフェース４３０が、システム４００をこのシステムの外部のコンポーネントに接続するために含まれる。サウスブリッジ４０６は、インターフェース４３０に直接に接続される。さらに、デジタルアナログコンバータ４２６およびビデオロジック４１２も、インターフェース４３０に接続される。
【００２６】
図４は、ビデオロジック４１２のコンポーネントの一部の詳細を示すブロック図である。図４に、デジタルビデオエンコーダ５００、制御インターフェース５０２、クロックシンセサイザ５０４、およびデジタルアナログコンバータ５０６が示されている。デジタルビデオエンコーダ５００は、ビデオ処理を実行するのに使用される。たとえば、デジタルビデオエンコーダ５００は、ノースブリッジ４０４からビデオストリームを受信し、およびそのビデオストリームを適当なフォーマットにパッケージ化する。ビデオは、ＤＶＤ、ネットワークなどから、サウスブリッジ４０６を介して来るものとすることができる。デジタルビデオエンコーダ５００からの出力ビデオは、アナログ信号を作成するためにデジタルアナログコンバータ５０６に送られ、このアナログ信号が、インターフェース４３０（図３参照）に供給される。
【００２７】
クロックシンセサイザ５０４は、図３のシステムによって使用されるさまざまなクロックを生成するのに使用される。一実施形態で、クロックシンセサイザ５０４に、さまざまなクロック信号を生成するＰＬＬのセットが含まれる。これらのＰＬＬは、水晶から入力クロックを受信する。一例で、入力クロックは、２７ＭＨｚの周波数を有する。他の入力クロック周波数も、使用することができる。クロックシンセサイザ５０４内のＰＬＬの１つが、ピクセルクロック（１ｘピクセルクロックとも称する）を生成するのに使用される。もう１つのＰＬＬが、２ｘピクセルクロックを生成するのに使用される。もう１つのＰＬＬが、たとえば１〜１２ｘのピクセルクロックなど、ピクセルクロックの倍数であるビデオクロックを生成するのに使用される。２ｘピクセルクロックは、クロックシンセサイザ５０４からノースブリッジ４０４に供給される。この２ｘピクセルクロックは、ノースブリッジ４０４とデジタルビデオエンコーダ５００の間のインターフェースをクロッキングするのに使用される。この２ｘピクセルクロックに応答して、ピクセルデータおよびさまざまなデジタルタイミング情報が、ノースブリッジ４０４からデジタルビデオエンコーダ５００に供給される。ノースブリッジは、１ｘピクセルクロックもデジタルビデオエンコーダ５００に供給する。このビデオクロックは、デジタルアナログ変換およびさまざまな他のビデオ処理技法のためにビデオ信号をオーバーサンプリングするのに使用される。一実施形態で、１ｘピクセルクロックは、明示的に生成されない。そうではなく、Ｎがオーバーサンプリング係数であるものとして、Ｎビデオクロックサイクルおきに発生する１サイクル幅パルスのストリームであるストローブ信号が、オーバーサンプリングされたビデオクロック（１ｘ〜１２ｘピクセルレート）に基づいて生成される。
【００２８】
図５に、クロックシンセサイザ５０４の内部で使用されるＰＬＬの例を示す。このＰＬＬは、１ｘピクセルクロック、２ｘピクセルクロック、またはビデオクロック（１〜１２ｘピクセルクロック）を生成するのに使用することができる。ピクセルクロックの生成（さまざまなビデオパラメータの変更を含む）に関する本明細書の議論は、１ｘピクセルクロック、２ｘピクセルクロック、またはビデオクロックを生成するＰＬＬに同等に適用される。
【００２９】
図５のＰＬＬに、１つのコンポジットＰＬＬを形成するために一緒にカスケード接続された２つのＰＬＬが含まれる。本明細書に記載のテクノロジは、単一のＰＬＬまたは一緒に接続された複数のＰＬＬのコンポジットＰＬＬと共に働くことができる。図５のＰＬＬに、第１位相検出器５４０および第２位相検出器５４２が含まれる。このＰＬＬに、第１ＶＣＯ  ５４６および第２ＶＣＯ  ５４８も含まれる。ＶＣＯ  ５４６の出力は、分周器５５０および分周器５５２に送られる。分周器５５０は、ＶＣＯ  ５４６の出力の周波数を、分周器パラメータＭ１によって分周する。分周器５５２は、ＶＣＯ  ５４６の出力の周波数を、分周器パラメータＰ１によって分周する。分周器５５２の出力は、位相検出器５４０にフィードバックされる。分周器５５０の出力は、位相検出器５４２に供給される。位相検出器５４２の出力は、ＶＣＯ  ５４８に送られる。ＶＣＯ  ５４８の出力は、分周器５６０および分周器５６２に供給される。分周器５６２は、ＶＣＯ  ５４８の出力を分周器パラメータＰ２によって分周する。分周器５６２の出力は、位相検出器５４２に供給される。分周器５６０は、ＶＣＯ  ５４８の出力を分周器パラメータＭ２によって分周する。分周器５６０の出力は、図５のＰＬＬの出力である。これらの分周器は、上で説明したように周波数分割器である。図５のＰＬＬを記述した出力関数は、次のように与えられる。
【００３０】
【数４】
2006074740.tif 000006
【００３１】
上の式で、分周器パラメータのそれぞれが、「＋１」と共に示されていることに留意されたい。一実施形態で、分周器回路は、カウンタを使用して実施される。カウンタは０から始まるので、パラメータまでカウントは、追加カウントを要する。たとえば、４までのカウントは、５つのステップ（０、１、２、３、４）を要する。したがって、ＰＬＬ比を表す時に、「＋１」がパラメータに追加される。この式の右辺の２つの分数が組み合わされて、ＰＬＬ比の１つの分数が形成される。
【００３２】
一実施形態で、分周器５５０、５５２、５６０、および５６２のそれぞれが、プログラマブルであり、分周器パラメータを変更することができる。一実施形態で、制御インターフェース５０２に、レジスタのセットが含まれる。分周器パラメータごとに１つのレジスタがある。クロックシンセサイザ５０４は、これらのレジスタを読み取って、適当なカウンタを設定することができる。ノースブリッジ４０４は、ＳＭＢｕｓを使用して、制御インターフェース５０２内のレジスタに書き込むことができる。
【００３３】
ＳＭＢｕｓは、Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ社によって定義されたシステム管理バスである。ＳＭＢｕｓは、通常、システム管理通信のために、パーソナルコンピュータおよびサーバで使用される。ＳＭＢｕｓは、さまざまシステムコンポーネントが互いにおよびシステムの残りと通信できる２線インターフェースであり、Ｉ2Ｃの主な動作に基づく。Ｉ2Ｃが、１つのクロックおよび１つのデータ信号線からなる両方向制御インターフェースであることに留意されたい。ＳＭＢｕｓは、通常、システム管理関連タスクおよび電力管理関連タスクのための制御バスを提供する。システムは、個々の制御信号線を使用するのではなく、ＳＭＢｕｓを使用して、デバイスとの間でメッセージを受け渡しすることができる。個々の制御信号線を除去することによって、ピンカウントが減る。したがって、ホストオフチップ（たとえば、ノースブリッジ）は、ＳＭＢｕｓを使用して、制御インターフェース５０２に格納されたレジスタにアクセスすることができる。他の実施形態で、ＣＰＵ  ４０２は、ＳＭＢｕｓを介して直接に、またはノースブリッジ４０４を介して間接に、制御インターフェース５０２のレジスタにアクセスすることができる。したがって、ＣＰＵ  ４０２またはノースブリッジ４０４で動作するソフトウェアは、制御インターフェース５０２のレジスタに書き込むことによって、さまざまなＰＬＬをプログラミングすることができる。
【００３４】
通常のビデオは、水平の走査線に分割されている。走査線のそれぞれが、複数のデータのピクセルを有する。ＰＬＬの出力信号（Ｏｕｔ）を、ピクセルクロック（たとえば、１ｘピクセルクロック、２ｘピクセルクロック、ビデオクロック、または他のクロック）と呼ぶことができる。というのは、これが、ビデオ信号のピクセルを操作するためにさまざまなコンポーネントによって（ある形で）使用されるからである。ピクセルクロックは、通常、走査線あたりのピクセル数と、フレーム（またはフィールドあるいは他の単位）あたりの走査線数と、必要なリフレッシュレート（フレームレート）の積と定義される。図５に示されているように実施された適度なコストのＰＬＬは、分周器パラメータのすべての組合せを実施できるわけではない。したがって、所与の入力周波数に関して、すべてのピクセルクロックレートを生成できるわけではない。
【００３５】
図５のシステムが、モニタ（または他の出力デバイス）に接続される時、または出力ビデオ仕様を他の形で変更（または確立）する時に、そのシステムは、特定の所望の解像度のピクセルクロック（たとえば、走査線当たりのピクセル数、フレーム当たりの走査線数など）およびリフレッシュレートを計算する。その後、２７ＭＨｚの入力クロックを与えられて、そのピクセルクロックを図５のＰＬＬで実施できるかどうかに関する決定を行うことができる。できない場合に、図５のＰＬＬによってよりよく実施できるピクセルクロックを得るために、ある機構を使用して、たとえば走査線当たりのピクセル数またはフレーム当たりの走査線数などのビデオパラメータを変更する。
【００３６】
たとえば、走査線あたり６４０個のアクティブ（すなわち可視）ピクセル、フレーム当たり４８０個のアクティブ走査線、６０／１．００１Ｈｚ（５９．９４Ｈｚ）のフレームレートをサポートするＶＧＡモードに関して、ＶＥＳＡ標準規格本体は、走査線あたり８００ピクセル（アクティブ領域と水平帰線消去を含む）およびフレームあたり５２５走査線（アクティブ領域と垂直帰線消去を含む）のビデオ範囲を提唱している。水平帰線消去に、モニタがある走査線の終りから次の走査線の始めまでトレースするのに要する時間が含まれる。あるピクセルが、水平帰線消去の一部である。垂直帰線消去は、モニタが一番下の走査線の最後のピクセルから一番上の走査線の最初のピクセルまでトレースするのに必要な時間である。追加の走査線が、垂直帰線消去用である。上の範囲（８００×５２５）およびフレームレート（５９．９４Ｈｚ）は、（８００ピクセル／走査線）（５２５走査線／フレーム）（６０／１．００１フレーム／秒）＝２５．１７４８２５１７４８２５１７４８２５１７４８２５１７４８２５…ＭＨｚのピクセルクロックレートをもたらす。そのピクセルクロックを生成する図５のＰＬＬが、２７ＭＨｚ入力クロックを使用している場合に、必要なＰＬＬ比は、４００／４２９である。残念ながら、この比は、普通のＰＬＬによって簡単に達成することができない。しかし、水平タイミングをわずかに変更し、走査線あたり合計８０６ピクセル（水平帰線消去を含む）が、８００の代わりに使用されるようにすると、所望のピクセルクロックレートが、（８０６）（５２５）（６０／１．００１）＝２５．３６３６３６…ＭＨｚになり、これは、２７ＭＨｚ入力クロックに関する３１／３３のＰＬＬ比になる。このＰＬＬ比は、はるかに簡単に達成される。同様に、水平タイミングを調整する代わりに、垂直タイミングを調整することもできる。水平タイミングまたは垂直タイミングの調整と、その結果のピクセルクロックの調整を用いると、デジタルビデオエンコーダが、既存のＰＬＬおよび入力クロックソースを用いて適当なリフレッシュレートを達成することができる。したがって、ビデオが、オーディオに十分に同期化され、フレームの追加または削除が必要でなくなる。
【００３７】
図６は、上で述べたビデオパラメータの１つまたは複数を調整することによってビデオを同期化する処理の一実施形態を説明するフローチャートである。ステップ６００で、図３のシステムのビデオ出力要件を、確立し、変更し、または他の形で受信する。たとえば、システムを、モニタに接続することができる。一部のモニタは、所望のリフレッシュレートおよび解像度を示すことができる。その代わりに、ユーザが、異なる出力解像度または異なる出力デバイスを選択することができる。その情報を、システム内のストレージデバイスから読み取ることもできる。ビデオの出力要件にアクセスする、さまざまな他の手段がある。通常、出力要件に、リフレッシュレートおよび解像度が含まれる。解像度に、走査線あたりのピクセル数およびフレームあたりの走査線数を含めることができる。この議論全体を通じて、用語「フレーム」が、イメージの単位を識別するのに使用されることに留意されたい。しかし、本発明は、イメージのフレーム、フィールド、または他の単位に制限されない。
【００３８】
ステップ６０２で、ピクセルクロックレートを計算する。上で述べたように、ピクセルクロックレートは、走査線あたりのピクセル数とフレームあたりの走査線数とフレームレートをかけることによって計算することができる。いくつかの実施形態で、ステップ６０２をオプションにすることができる。というのは、さまざまなピクセルクロックレートを前もって事前計算し、データ構造に格納することができるからである。ステップ６０４で、システムは、２７ＭＨｚの入力クロックを与えられて、ステップ６０２で計算された理想的なピクセルクロックレートのＰＬＬパラメータを決定する。他の実施形態で、他の入力クロックレートを使用できることに留意されたい。出力クロックを入力クロックで割ることによって、ＰＬＬ比を決定することができる。ＰＬＬパラメータのさまざまな組合せ（たとえば、Ｍ１、Ｍ２、Ｐ１、Ｐ２）を使用して、所望のＰＬＬ比を得ることができる。ステップ６０６で、特定のＰＬＬパラメータ、ＰＬＬ比、またはピクセルクロックレートが達成可能であるかどうかを決定する。一実施形態で、ＰＬＬ設計に、ＰＬＬのパラメータおよび／または動作に対するさまざまな制約が含まれる。たとえば、ある実施形態が、パラメータのすべてが２０未満であることを必要とする場合がある。もう１つの実施形態で、ステップ６０６に、ピクセルクロックレートがパラメータのセットのいずれかを用いて達成可能であるかどうかを決定することを含めることができる。その実施形態では、ステップ６０４をスキップすることが可能である。もう１つの実施形態で、ステップ６０６のテストに、信号の品質、ビデオクロックジッタ、電力消費、ＥＭＩ、雑音クロス結合などのさまざまな要因に鑑みて解が許容可能であるかどうかの決定が含まれる。
【００３９】
ステップ６０６を実行するさまざまな形がある。たとえば、関数をソフトウェアで記述して、特定のピクセルクロックレート、ＰＬＬ比、および／またはパラメータのセットをテストし、達成可能／達成不能の２進値を返すことができる。その代わりに、ソフトウェア（または他の手段）を使用して、すべての達成可能なピクセルクロックおよび／またはＰＬＬパラメータのすべての達成可能なセットを生成することができる。これらの達成可能な解を、ルックアップテーブルまたは他のデータ構造に格納することができる。その場合に、ステップ６０６のテストに、特定のピクセルクロック、ＰＬＬ比、および／またはパラメータがデータ構造に格納されているかどうかをルックアップすることが含まれる。
【００４０】
図５のＰＬＬについてどれが達成可能でありどれがそうでないかを決定するのに使用できる制約のセットの一例に、次の制約が含まれる。 
１．Ｍ１、Ｍ２、およびＰ１を、０または３２にすることはできない；
２．Ｐ２が、６４、６５、または６６の値を有することはできない；
３．Ｉｎ（Ｍ１＋１）および（Ｉｎ（Ｍ１＋１）（Ｍ２＋１））／（Ｐ１＋１）は、５２０ＭＨｚを超え、１０４０ＭＨｚ未満でなければならない；
４．複数のルールが前の制約を満足する場合に、（Ｉｎ（Ｍ１＋１）／（Ｐ１＋１））＊（Ｉｎ（Ｍ１＋１）（Ｍ２＋１））／（Ｐ１＋１）を、できる限り６２５００に近くしなければならない；
５．前のすべてのルールに合格し、ルール３が同一の値を生成する場合に、（Ｉｎ（Ｍ１＋１））＋（（Ｉｎ（Ｍ１＋１）（Ｍ２＋１））／（Ｐ１＋１））を最小にしなければならない。
【００４１】
パラメータの特定のセットが図５のＰＬＬで達成可能であるかどうかを決定する制約のもう１つのセットに、次が含まれる。  
１．ＶＣＯ  ５４６（ＶＣＯ１）およびＶＣＯ  ５４８（ＶＣＯ２）が、５２０〜１０４０Ｈｚの範囲の周波数を有する；
２．Ｍ１が、１と６４の間であるが３３でない；
３．Ｐ１が、２と３２の間である；
４．Ｍ２が、２と３２の間である；
５．Ｐ２が、２と１２８の間であるが；Ｐ２が、６５、６６、および６７でない；
６．ＰＤ  ５４２（ＰＤ２）への入力が、５０〜１００Ｈｚの間である；
７．ＰＤ２＊ＶＣＯ２が、２６０００〜１０４０００Ｈｚの範囲にある（範囲は狭いほどよい）。
【００４２】
本明細書の末尾に、Ｃプログラミング言語で記述されたコンピュータコードのセットがある。このコンピュータコードでは、上にリストした７つのルールを使用して、２７ＭＨｚの入力に関する図５のＰＬＬのすべての達成可能な出力周波数のリストを提供する。許容可能な周波数ごとに、結果の許容可能なピクセルクロック周波数を提供できるパラメータＭ１、Ｍ２、Ｐ１、およびＰ２の複数の組合せがある可能性がある。一実施形態で、パラメータの最良の組合せの選択に、ルールがデバイス挙動をどのように満足し、かつ／または最適化するかを最適化することが含まれる。たとえば、ルール７は、範囲の中央に最も近いＰ２（ＶＣＯ２）を有するデータサンプルを選択することによって最適化することができる。下のコードの出力を後処理ステップとしてソートして、簡単な参照を可能にすることができる。その後、使用されないパラメータ設定（複数のパラメータ設定を使用して同一のピクセルクロックレートを達成できる場合には、パラメータの選択されたセットだけが残される）が、破棄される。ソートおよび破棄の結果を、ＣＰＵ  ４０２によってアクセスできるテーブルに格納することができる。
【００４３】
下のＣコードを使用する実施形態では、ステップ６０６での特定のピクセルレートが達成可能であるかどうかの決定に、そのピクセルレートがＣコードの出力にリストされているかどうかを識別することが含まれる。出力（たとえば、テーブル）には、達成可能な場合にピクセルレートが含まれ、達成不能な場合にピクセルレートが含まれない。ピクセルレートが達成可能である場合に、テーブルに、そのピクセルレートの選択されたＰＬＬパラメータ値（Ｍ１、Ｍ２、Ｐ１、Ｐ２）も含まれる。ピクセルレートが達成可能である場合に、ＰＬＬパラメータの適当なデータを格納し、その後に制御インターフェース５０２のレジスタに格納することによって、ステップ６１４でＰＬＬパラメータを適当なＰＬＬにプログラミングする。
【００４４】
ピクセルレート、パラメータ、および／またはＰＬＬ比が達成可能でない場合に、ステップ６０８で、ビデオパラメータの１つまたは複数（たとえば、走査線あたりのピクセル数、イメージあたりの走査線数）を変更して、達成可能な解のセットを得ることができる。ステップ６１０で、達成可能な解のセットをフィルタリングする。たとえば、達成可能なＰＬＬのいずれかのＰＬＬ比の分子または分母が、理想的な分母および分子（ステップ６０２で決定されたピクセルレートに関連するＰＬＬ比の分子および分母）より大きい場合に、その解を破棄する。ステップ６１０が、オプションであることに留意されたい。ステップ６１２で、残りの達成可能な解の１つを、さまざまな適当な方法のいずれかに従って選択する。選択されるＰＬＬ解に、特定のＰＬＬ比が含まれる。いくつかの実施形態で、選択される解に、その比を得るための最適パラメータ値も含まれる。他の実施形態で、ソフトウェアプロセスが、その比を達成するためのパラメータのセットを計算する。ステップ６１４で、上で述べたようにＰＬＬをプログラミングする。一実施形態で、ステップ６００〜６１４が、ＣＰＵ  ４０２をソフトウェアでプログラミングすることによって実行される。
【００４５】
ステップ６１６で、ＰＬＬが、適当なパラメータを用いてプログラミングされた分周器を使用して、入力クロックからピクセルクロックを生成する。ステップ６１８で、デジタルビデオエンコーダ５００およびデジタルアナログコンバータ５０６が、上で説明した方法によって作成されたさまざまなピクセルクロックと共に使用されて、新しい範囲に従ってビデオを処理し、作成し、または他の形で供給する。ステップ６１２に、範囲の１つまたは複数（走査線あたりのピクセル数またはフレームあたりの走査線数）を変更することが含まれることを想起されたい。したがって、ステップ６１８で、ビデオが図３のデバイスの出力で供給される場合に、ビデオは、ステップ６１２で選択された解に関連付けられた新しい範囲で供給される。このビデオは、ノースブリッジを介してＤＶＤ、ネットワーク、または他のソースからデジタルビデオエンコーダで受信され、その後、ビデオエンコーダによって処理されまたは変更されて、範囲が変更される。たとえば、デジタルビデオエンコーダは、各走査線に追加ピクセルを追加しなければならない場合がある。したがって、イメージを、データがおさまるように少し小さくスクイーズすることができる。他の状況で、ピクセルが除去される場合があり、走査線が追加される場合があり、かつ／または走査線が除去される場合がある。一実施形態で、ピクセルおよび走査線が、帰線消去期間（たとえば水平および／または垂直）に追加され、またはこれから除去される。たとえば、水平帰線消去の幅が、変更され、かつ／または垂直帰線消去の高さが、変更される。ピクセルが各走査線から除去される場合に、可視イメージを拡大することができる。同様に、追加の走査線が各フレームに追加される場合に、ビデオをより小さくスクイーズすることができる。ビデオの走査線が各フレームから除去される場合に、イメージを拡大することができ、データ失われる可能性があり（たとえば、失われた走査線から）、あるいは帰線消去期間が短縮される。他の実施形態で、ピクセルおよび走査線が、アクティブ領域に追加され、またはこれから除去される。
【００４６】
一実施形態で、図６のステップのすべてが、自動的に（たとえば、人間の介入なしで）実行される。他の実施形態で、プロセスのある部分が、１つまたは複数の手動ステップによって実行される。
【００４７】
図７は、達成可能なＰＬＬ解のセットを得るためにビデオパラメータを変更する処理（図６のステップ６０８参照）の詳細を説明するフローチャートである。ステップ６５０で、走査線あたりのピクセル数およびフレームあたりの走査線数に、分散（ｖａｒｉａｎｃｅ）の範囲の最小値を設定する。すなわち、図７の処理は、走査線あたりのピクセル数およびフレームあたりの走査線数を、事前に定義された範囲（分散の範囲）内で変更する。いくつかの実施形態で、事前に定義された範囲に、標準範囲の±５％〜１０％を含めることができる。他の実施形態で、絶対値を使用することができる（たとえば、±１０〜２０ピクセル、±１０〜２０走査線）。±１０走査線および±１０ピクセルの例で、ステップ６５０に、ピクセル数に標準範囲より１０ピクセル少ない値（たとえば、７９０）、および標準範囲より１０走査線少ない値（たとえば、５１５）を設定することが含まれる。これらの値は、分散の範囲の最小値である。ステップ６５２で、これらの新しい範囲が、ＰＬＬの達成可能な解を提供するかどうかを決定する。すなわち、ピクセルクロックレートを、新しい範囲を用いて再計算し、上で述べたように、ＰＬＬがそのピクセルクロックレートを達成できるかどうかを決定する。達成できる場合に、ステップ６５４で、その特定の解を格納する。解を格納した後に、ステップ６５６で、ピクセル数を１つインクリメントする。ステップ６５２で、その特定の解が達成可能でないと決定された場合に、この処理が、ステップ６５６に直接に移動することに留意されたい。ピクセル数をインクリメントした後に、ステップ６５８で、この新しい解が達成可能であるかどうかを決定する。この新しい解が達成可能である場合に、ステップ６６０でその解を格納し、システムは、検討されているピクセル数が分散の範囲のピクセルの最大値であるかどうかを決定する（ステップ６６２）。ステップ６５８で、その特定の解が達成可能でないと決定された場合に、この処理が、ステップ６６２に直接に移動することに留意されたい。
【００４８】
検討されているピクセル数が、分散の範囲のピクセルの最大値でない場合に、この処理は、ステップ６５６にループバックし、ピクセル数をインクリメントする。ピクセル数が、範囲の最大値（たとえば、８１０）である場合に、この処理は、ステップ６６４で、走査線の最大値を検討しているかどうかを決定する。たとえば、走査線の標準的な個数が５２５であり、最後に検討された解に５３５走査線が含まれる場合に、図７の処理が完了する。そうでない場合に、この処理は、ステップ６６８で継続され、走査線数をインクリメントする。ステップ６７０で、ピクセル数に、分散の範囲の最小値（たとえば、７９０）をセットし、この処理は、ステップ６５２にループバックする。図７の処理を使用して、システムは、分散の範囲内の走査線あたりのピクセル数およびフレームあたりの走査線数のすべての可能性について反復して、ＰＬＬによって達成できるすべての可能なピクセルクロックレートを決定する。
【００４９】
図８は、ＰＬＬ解の１つを選択する処理（図６のステップ６１２）の一例を説明するフローチャートである。図８の処理が、モニタ（または他の出力デバイス）に接続された図３のシステムを用いて手動で実行されることに留意されたい。ステップ７００で、メニューをモニタに表示する。このメニューに、さまざまな達成可能なＰＬＬ解のそれぞれのシンボルのセットが含まれる。このメニューに、クロックレートによって、範囲（水平および垂直）によって、または他のしるしを使用することによって、解をリストすることができる。ステップ７０２で、ユーザが、ポインティングデバイスまたは他の手段を使用することによって解の１つを選択することができる。ステップ７０４で、選択された解を試用する（ｄｅｍｏｎｓｔｒａｔｅ）か、使用のためにその解を実際に選択するオプションをユーザに提供する。ステップ７０６で、ユーザが、試用または使用に関する選択のいずれかを選択する。ユーザが、使用のための選択を選択した場合に、そのＰＬＬ解が、図６のステップ６１４での使用のために格納される。ユーザが、解の試用を選択した場合に、ステップ７１０で、その特定の解のパラメータを用いてＰＬＬをプログラミングし、ステップ７１２で、サンプルイメージを表示する。サンプルイメージは、選択された解の範囲で表示され、ビデオ処理回路は、その解のパラメータを用いてプログラミングされたＰＬＬからのピクセルクロックを使用する。したがって、ユーザは、特定の解の水平範囲および垂直範囲がビデオにどのように影響するかを見る。表示されるイメージは、テストイメージまたは実際のビデオの一部とすることができる。ステップ７１２の後に、処理は、ステップ７００で継続される。その代わりに、この処理が、図８の他のステップにループバックすることができる。一実施形態で、ステップ７１２は、事前にセットされた時間期間の間、またはユーザが１つまたは複数の入力デバイスによるアクションを実行する（たとえば、マウスのクリック、キーに触れるなど）まで、実行される。
【００５０】
図９は、解の選択（図６のステップ６１２）の１つの実施形態を説明するフローチャートである。ステップ８０２で、ステップ６１０のフィルタに合格した、ステップ６０８で識別された解のすべてを、フレームあたりの走査線数によってソートする。フレームあたりの走査線数のそれぞれに複数の解が存在する可能性があることに留意されたい。したがって、ステップ８０４で、同一のフレームあたりの走査線数を有する解の各セット内で、解を、ピクセル数によってソートする。ステップ８０６で、フレームあたりの走査線数の変動が最も少ない解のセットを選択する。２つのセット（走査線の正および負の変動を有する）がある場合には、走査線を追加する解のセットを選択することによって引き分けを解決する。ステップ８０８で、選択されたセット内で、ピクセル数の最小の変動を有するセットを選択する。そのセットの２つの解がピクセルの同一の分散を有する場合に、ピクセルを追加する解（ピクセルを減らす解ではなく）を選択する。
【００５１】
たとえば、ステップ８０２の後に、次のようにソートされる解のリストを検討されたい。
【００５２】
【表１】
2006074740.tif 000007
【００５３】
ステップ８０４の後に、このリストは、次のようにソートされる。
【００５４】
【表２】
2006074740.tif 000008
【００５５】
ステップ８０６の後に、解の次のセットが選択される。
【００５６】
【表３】
2006074740.tif 000009
【００５７】
ステップ８０８の後に、解の次のセットが選択される。
【００５８】
【表４】
2006074740.tif 000010
【００５９】
図９の処理の変形形態に、走査線およびピクセルを減らすことよりも増やすことを優先する重みを使用することが含まれる。たとえば、１ピクセルを減らすことに、３ピクセルを増やすことと同一の重みを与えることができ、したがって、２ピクセルを増やすことが、１ピクセルを減らすことより優先して選択される。同様に、１走査線を減らすことに、複数の走査線を増やすことと同一の重みを与えることができる。
【００６０】
図１０に、解の選択（図６のステップ６１２）の１つの別な実施形態を示す。ステップ８４０で、システムは、残っているすべての解像度のＰＬＬ比のすべてにアクセスすることができる。ステップ８４０で、システムは、図６のステップ６０２で計算された理想的なピクセルクロックの理想的な解のＰＬＬ比と比較した各解の分子および分母の偏差の合計を決定する。ステップ８４２で、最も小さい合計を有する解を選択する。他の変形形態で、分子、分母、正の変動（ｖａｒｉａｔｉｏｎ）、負の変動、または他の要因のいずれかに、より大きいまたはより小さい重みを与える重み付き合計を計算することができる。もう１つのオプションに、合計ではなく自乗平均を、重み付き自乗平均も同様に、使用することが含まれる。いくつかの実施形態で、図９および１０の処理を、ＣＰＵ  ４０２、ノースブリッジ４０４、および／または１つもしくは複数の他のデバイスのソフトウェアプログラミングによって完全に自動的な形で実行できることに留意されたい。自動化は、人間の介入が必要でないことを意味する。
【００６１】
本発明の前述の詳細な説明は、例示および説明のために提示されたものである。これは、網羅的であること、または本発明を、開示された正確な形態に制限することを意図したものではない。上の教示に鑑みて、多数の修正形態および変形形態が可能である。説明した実施形態は、本発明の原理およびその実用的応用例を最もよく説明し、これによって、当業者が、企図される特定の使用に適するさまざまな修正を加えてさまざまな実施形態で本発明を利用できるようにするために選択されたものである。本発明の範囲は、請求項によって定義されることが意図されている。
【００６２】
コンピュータコード
/* PLLによって生成することができるクロック */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define XTAL_FREQ 27
#define PD2_VCO2_MIDRANGE ((100000.0 + 25000.0) / 2.0)
unsigned long gcd (unsigned long a, unsigned long b)
{
unsigned long i, num, den, tmp;
i = 1;
num = a; den = b;
if (num<den) {
tmp = num;
num = den;
den = tmp;
}
while (i!=0) {
i = num - (num/den)*den;
if (i!=0) {
num = den;
den = i;
i = l;
}
}
return den;
}
/* VCO1 最小値 520 最大値 1040
VCO2 最小値 520 最大値 1040
P2 最小値 50 最大値 100
VCO1 + VCO2 = power
PD2*VCO2 最小値 26000 最大値 104000 範囲は狭いほどよい
*/
int main (long argc, char **argv)
{
int m1, p1, m2, p2;
int vcomax, pdmax;
double vco1, vco2, pd2;
if (argc<3) {
fprintf(stderr, "%s VCOmax PDmax＼n", argv[0]);
exit(-1);
}
vcomax = atoi(argv[1]);
pdmax = atoi(argv[2]);
/* PLLが処理できるすべての組合せを生成する */
/* 第１フィードバック分周器 */
for (m1=2; m1<=64; m1++) {
/* 27MHz入力を使用して第１VCOを範囲内に保つ */
if ((m1*XTAL_FREQ) < (vcomax/2)) continue;
if ((m1*XTAL_FREQ) > vcomax) continue;
if (m1==33) continue;   /* この値は使用不能 */
if (m1==65) continue;   /* この値は使用不能 */
if (m1==97) continue;   /* この値は使用不能 */
/* 第１出力分周器 */
for (p1=2; p1<=32; p1++) {
/* 第２位相検出器BWを範囲内に保つ範囲 */
if ((m1*XTAL_FREQ) < (pdmax*p1)/2) continue;
if ((m1*XTAL_FREQ) > (pdmax*p1)) continue;
/* 第２フィードバック分周器 */
for (m2=2; m2<=32; m2++) {
/* 第２VCOを範囲内に保つ範囲 */
if ((m1*m2*XTAL_FREQ) < (vcomax*p1)/2)
continue;
if ((m1*m2*XTAL_FREQ) > (vcomax*p1)) continue;
/* 最終出力分周器 */
for (p2=2; p2<=128; p2++) {
if (p2==65) continue;    /* 使用不能 */
if (p2==66) continue;    /* 使用不能 */
if (p2==67) continue;    /* 使用不能 */
/* 出力を24〜270MHzに保つ */
if ((m1*m2*XTAL_FREQ) < (24*p1*p2))
continue;
if ((m1*m2*XTAL_FREQ) > (270*p1*p2))
continue;
vco1 = XTAL_FREQ * m1;
pd2 = vco1 / p1;
vco2 = pd2 * m2;
fprintf(stdout, "%11.71f, deltamid=%10.31f, vcol+2=%5.01f, f= %3d / %3d (p2=%3d, m2=%2d, p1=%2d, m1=%2d, vco1=%4.11f, pd2=%4.11f, vco2=%6.11f, pd2*vco2=%6.01f, reg=Ox%X)＼n", (vco2 / p2) - .0000000495, /* .00000005は丸めの影響を逆転するため切り捨てが必要！ */
fabs( (pd2 * vco2) - PD2_VCO2_MIDRANGE ),
vco1 + vco2,
(m1*m2)/gcd(m1*m2, p1*p2)),
((p1*p2)/gcd(m1*m2, p1*p2)),
p2-1, m2-1, p1-1, m1-1,
vco1, pd2, vco2, pd2 * vco2,
((p2-1) << 16) | ((m2-1) << 11) | ((p1-1)
<< 6) | (m1-1) );
}
}
}
}
return 0;
}
【図面の簡単な説明】
【００６３】
【図１】位相ロックループ回路を示すブロック図である。
【図２】分周器の機能を説明するのに使用される２つの波形を示す図である。
【図３】オーディオおよびビデオを提供するシステムの一例を示すブロック図である。
【図４】図３に示されたビデオロジックブロックの詳細を示すブロック図である。
【図５】ＰＬＬ回路の一実施形態を示すブロック図である。
【図６】ビデオを同期化する処理の一実施形態を説明するフローチャートである。
【図７】ＰＬＬ回路の達成可能な解のセットを決定する処理の一実施形態を説明するフローチャートである。
【図８】ＰＬＬ回路の達成可能な解を選択する処理の一実施形態を説明するフローチャートである。
【図９】ＰＬＬ回路の達成可能な解を選択する処理の一実施形態を説明するフローチャートである。
【図１０】ＰＬＬ回路の達成可能な解を選択する処理の一実施形態を説明するフローチャートである。
【図１】
2006074740.tif 000011
【図２】
2006074740.tif 000012
【図３】
2006074740.tif 000013
【図４】
2006074740.tif 000014
【図５】
2006074740.tif 000015
【図６】
2006074740.tif 000016
【図７】
2006074740.tif 000017
【図８】
2006074740.tif 000018
【図９】
2006074740.tif 000019
【図１０】
2006074740.tif 000020
【外国語明細書】
2006074740000001.pdf