(58)【調査した分野】(Int.Cl.,DB名)
周波数が時間的に変化する第1のクロック信号を受信するとともに、該第1のクロック信号の周波数の変化の周期内の複数の時点で求めた、該第1のクロック信号の周波数に対応する数値を順番に受信する受信ブロックと、
前記受信ブロックが順番に受信した数値に基づいて該数値の変化の方向を求め、前記受信した数値を補正する補正ブロックと、
前記受信した第1のクロック信号と前記補正ブロックが補正した数値とを利用して第2のクロック信号を生成するクロック生成ブロックとを備え、
前記補正ブロックが、前記変化の方向と、前記数値が求められた時刻と前記クロック生成ブロックが第2のクロック信号を生成する時刻との間の時間差とに応じて、前記補正を行うことを特徴とする受信側装置。
前記補正ブロックが、前記順番に受信した数値に基づいて、さらに、該数値の最大値および最小値を求め、該最大値および最小値と前記変化の方向と、前記時間差とに応じて前記補正を行うことを特徴とする請求項1記載の受信側装置。
前記補正ブロックが、前記順番に受信した数値に基づいて該数値の変化の速度を求めることによって前記変化の方向を求め、該変化の速度と前記時間差とに応じて前記補正を行うことを特徴とする請求項1記載の受信側装置。
【背景技術】
【0002】
パーソナルコンピュータ(PC)や各種映像機器等の画像供給源である送信側装置と液晶ディスプレイ等の画像表示装置である受信側装置との間は、例えば、DisplayPort(ディスプレイポート)やHDMI(High-Definition Multimedia Interface)等の規格のデジタル映像入出力インタフェースを介して接続され、ビデオデータ、オーディオデータ、同期信号等が、送信側装置から受信側装置へパケット単位で送信される。
【0003】
上記規格では、2種類のクロック信号(CLK1,CLK2)の情報を送信側装置から受信側装置に対して送信するために、一方のクロック信号(例えば、CLK1)の情報をそのまま送信し、もう一方のクロック信号(例えば、CLK2)の情報を、式(1)の関係が成り立つようなN値およびM値(M,Nは整数)を送信する。式(1)を周波数の視点で見れば式(2)となる。通常、N値は非常に大きな固定値をとる。
【0004】
N*T
CLK1=M*T
CLK2 … (1)
N/F
CLK1=M/F
CLK2 … (2)
ここで、T
CLK1、T
CLK2はそれぞれCLK1,CLK2の周期、F
CLK1、F
CLK2はそれぞれCLK1,CLK2の周波数である。
【0005】
受信側装置では、CLK1とともに送信されてくるN値、M値からCLK2が生成(再生)され、生成されたCLK2をCLK1とともに使用する。N値、M値は、所定の頻度で定期的に送信され、CLK1とCLK2の関係が定期的に更新される。
【0006】
また、CLK1にスプレッドスペクトラム(スペクトラム拡散)クロッキング(SSC)を掛けて周波数を時間的に変化させる場合がある。SSCは、例えば、1クロック毎にクロック信号の遅延値を変化させることにより、クロック信号の周波数(すなわち、周期)を周期的に変調するものである。クロック信号の周波数を周期的に変調することにより、電磁干渉(EMI)を低減させることができる。
【0007】
図11は、CLK1,2の関係を表す概念図である。同図に示すように、CLK1は、SSC変調されたものであり、1クロック毎に周期T
CLK1が変化する。一方、CLK2の周期T
CLK2は固定である。CLK1のN周期の時間をTimeとすると、このTimeにはM周期のCLK2が含まれる。従って、CLK2の周波数F
CLK2は、式(3)により求めることができる。
【0008】
F
CLK2=M/N*F
CLK1 … (3)
【0009】
ここで、本発明に関連性のある先行技術文献として特許文献1〜3がある。
【0010】
特許文献1には、ピクセル/オーディオクロックレートおよびリンクレートを、2
10×3
3×5
7×11
1Hzで表されるマスタ周波数23.76GHzに基づいてA,B,C,Dの4つのパラメータで表現し、リンククロックからピクセル/オーディオクロックを再生成することが記載されている。特許文献2にも同様の技術が記載されている。特許文献3の
図5には、ビデオ受信機がPLL回路を備え、基準クロックから表示クロックを発生することが記載されている。
【発明の概要】
【発明が解決しようとする課題】
【0012】
CLK1がSSC変調されている場合、M値は、その時のCLK1の周波数をもとに生成される。そのため、M値は、
図12に示すように、CLK1の周波数の変化に応じて変動する。
【0013】
図12は、CLK1の周波数の変化を表すグラフである。グラフの縦軸は周波数(F)、横軸は時間(T)である。このグラフに示すように、CLK1の周波数F
CLK1は、その最大周波数F
Nから次第に低下して最小周波数F
N−5000ppmとなり、最小周波数F
N−5000ppmから次第に上昇して最大周波数F
Nに戻る三角波状のプロファイルである、変化の周期を繰り返す。
【0014】
ここで、N値は固定であるから、N/F
CLK1の値はF
CLK1の値が低下するに従って大きくなる。N/F
CLK1の値が大きくなると、式(2)から、N/F
CLK1=M/F
CLK2であるからM/F
CLK2の値も大きくなるが、送信側装置においてF
CLK2の値は固定であるからM値が大きくなる。つまり、グラフにおいて、M
1≦M
2≦M
3、M
4≧M
5≧M
6となり、M値はCLK1の周波数の変化に応じて変動する。
【0015】
受信側装置は、送信側装置から送信されてくるCLK1とM値、N値とを利用してCLK2を生成する。このとき、M値と、送信側装置がそのM値を生成したときのCLK1の周波数とを利用することができれば、正確に、一定周波数のCLK2を生成することができる。しかしCLK1がSSC変調されている場合には、受信側装置がCLK2を生成するときに利用するCLK1の周波数は、送信側装置がM値を生成したときのCLK1の周波数とは異なる。そのため、受信側装置で生成するCLK2の周波数変化が発生する。
【0016】
図13(A)は、送信側装置でM値を生成する様子、同図(B)は、受信側装置でCLK2を生成する様子を表すタイミングチャートである。同図(A)に示すように、送信側装置でM値を生成するときには、
図12に示す時刻T
0でのCLK1の周波数をF
CLK1T0、M値をM
T0とすると、時刻T
0でのCLK1のN周期の時間TimeにはM
T0周期のCLK2が含まれる。従って、式(3)から式(4)の関係が成り立つ。
【0017】
F
CLK2=M
T0/N*F
CLK1T0 … (4)
【0018】
一方、受信側装置でCLK2を生成するときには、
図12に示す時刻T
1でのCLK1の周波数をF
CLK1T1とすると、時刻T
0でのM値であるM
T0と時刻T
1でのCLK1の周波数であるF
CLK1T1を使ってCLK2が生成される。このため、時刻T
1でのCLK1のN周期の時間TimeにはM
T0周期のCLK2が含まれる。従って、式(5)の関係が成り立つ。
【0019】
F
CLK2=M
T0/N*F
CLK1T1 … (5)
【0020】
図12から分かるように、時刻T
0よりも時刻T
1でのCLK1の周波数の方が低いため、
図13(B)に示すように、時刻T
0よりも時刻T
1でのCLK1の周期の方が長くなる。このため、時刻T
1でのCLK1と時刻T
0でのM値からCLK2を生成すると、CLK2の周期の方が長くなる。
【0021】
このように、受信側装置において、時刻T
0でのM値であるM
T0をそのまま使用してCLK2を生成すると、CLK2の周波数がCLK1の周波数の変化に応じて変動することになる。
【0022】
この結果、CLK2の周波数の大きな変動が許されないアプリケーション、例えば、オーディオアプリケーションでは、再生された音声がノイジーになる等の不具合が発生する。ビデオアプリケーションでは、CLK2の周波数変化率が5000ppmであっても全く問題はないが、オーディオアプリケーションでは、CLK2の周波数変化率を1000ppm以下にしたいという要求がある。
【0023】
本発明の目的は、周波数が時間的に変化する第1のクロックとその周波数に対応する数値から、第1のクロック信号よりも周波数変化率の小さい第2のクロック信号を生成することができる受信側装置および通信システムを提供することにある。
【課題を解決するための手段】
【0024】
上記目的を達成するために、本発明は、周波数が時間的に変化する第1のクロック信号を受信するとともに、該第1のクロック信号の周波数の変化の周期内の複数の時点で求めた、該第1のクロック信号の周波数に対応する数値を順番に受信する受信ブロックと、
前記受信ブロックが順番に受信した数値に基づいて該数値の変化の方向を求め、前記受信した数値を補正する補正ブロックと、
前記受信した第1のクロック信号と前記補正ブロックが補正した数値とを利用して第2のクロック信号を生成するクロック生成ブロックとを備え、
前記補正ブロックが、前記変化の方向と、前記数値が求められた時刻と前記クロック生成ブロックが第2のクロック信号を生成する時刻との間の時間差とに応じて、前記補正を行うことを特徴とする受信側装置を提供するものである。
【0025】
ここで、前記補正ブロックが、前記順番に受信した数値に基づいて、さらに、該数値の最大値および最小値を求め、該最大値および最小値と前記変化の方向と、前記時間差とに応じて前記補正を行うことが好ましい。
【0026】
また、前記補正ブロックが、前記順番に受信した数値に基づいて該数値の変化の速度を求めることによって前記変化の方向を求め、該変化の速度と前記時間差とに応じて前記補正を行うことが好ましい。
【0027】
また、本発明は、前記第1のクロック信号を送信するとともに前記数値を順番に送信する送信側装置と、上記のいずれかに記載の受信側装置とからなる通信システムを提供する。
【発明の効果】
【0028】
本発明によれば、第1のクロック信号に対応する数値を補正し、第1のクロック信号と補正した数値から第2のクロック信号を生成することにより、第2のクロック信号の周波数が第1のクロック信号の周波数の変化に応じて変動することを抑制することができ、第1のクロック信号よりも周波数の変化率が小さい第2のクロック信号を生成することができる。
【発明を実施するための形態】
【0030】
以下に、添付の図面に示す好適実施形態に基づいて、本発明の受信側装置および通信システムを詳細に説明する。
【0031】
図1は、本発明の通信システムの構成を表す一実施形態のブロック図である。同図に示す通信システム10は、送信側装置であるソース回路12と、受信側装置であるシンク回路14とによって構成されている。
【0032】
通信システム10は、DisplayPortやHDMI等の規格に準拠して、クロック信号、N値およびM値、ビデオデータ、オーディオデータ等をソース回路12からシンク回路14へパケット単位で送信する。
【0033】
通信システム10では、2種類のクロック信号(CLK1,CLK2)の情報を送信するために、SSC変調され、周波数が時間的に変化する第1のクロック信号(例えば、CLK1)と、式(1)または式(2)の関係が成り立つ第2のクロック信号(例えば、CLK2)を生成(再生)するためのN値およびM値を送信する。N値は固定値である。M値は、CLK1の周波数の変化の周期内の複数の時点で求めた、CLK1の周波数に対応する数値であり、CLK1の周波数の変化に応じて変動する。
【0034】
N値およびM値は定期的に送信され、CLK1とCLK2の関係は定期的に更新される。例えば、ビデオデータを構成する各ラインのデータが送信される期間の間の、水平ブランキング期間ごとに、N値およびM値が送信される。シンク回路14では、CLK1、M値およびN値からCLK2が生成され、CLK2を使用してビデオデータ、オーディオデータ等の処理が行われる。
【0035】
ソース回路12は、SSC変調されたCLK1、シンク回路14でCLK2を生成(再生)するためのN値およびM値、ビデオデータ、オーディオデータ等を含むデータをシンク回路14へ送信するための、高速差動信号を生成する。
【0036】
図2は、ソース回路12の構成を表す回路図である。ソース回路12は、同図に示すように、PLL回路18と、M値生成回路20と、SSC変調回路22と、マルチプレクサ24と、パケット生成回路28と、フリップフロップ26とを備えている。
【0037】
PLL回路18は、CLK1の基準信号を逓倍して固定周波数のCLK1を生成する。例えば、PLL回路18は、27MHzの基準信号を10逓倍して270MHzのCLK1を生成する。
【0038】
SSC変調回路22は、PLL回路18から出力されるCLK1をSSC変調する。SSC変調されたCLK1は、例えば、周波数の変化率5000ppmで、三角波状のプロファイルの、CLK1の周波数変化の周期(例えば、30ms)を繰り返す。
【0039】
M値生成回路20は、SSC変調回路22から出力されるSSC変調されたCLK1、固定周波数のCLK2、および、固定値であるN値からM値を生成する。
【0040】
マルチプレクサ24は、ビデオデータ、オーディオデータ、N値、M値生成回路20から出力されるM値を所定のタイミングで切り替えて、これらを含むデータを出力する。
【0041】
パケット生成回路28は、マルチプレクサ24で選択されたデータを含むパケットを生成する。
【0042】
フリップフロップ26は、パケット生成回路28が生成したパケットを構成する各ビットの値を、SSC変調回路22から出力されるSSC変調されたCLK1のタイミングで保持し、高速差動信号として出力する。本実施形態の場合、CLK1は、
図1に示すように、ビデオデータ、オーディオデータ、N値およびM値を含むデータに重畳されてシンク回路14に送信される。
【0043】
一方、シンク回路14は、ソース回路12から送信される高速差動信号を受信し、受信した信号からCLK1を再生し、さらに、N値およびM値、ビデオデータ、オーディオデータを含むパケットを再生する。そして、CLK1と、N値およびM値からCLK2を生成(再生)し、CLK2を使用してビデオデータおよびオーディオデータを処理する。
【0044】
シンク回路14は、
図1に示すように、クロックリカバリ回路30と、データリカバリ回路32と、CLK2−1用N,M値検出回路34と、CLK2−1生成回路36と、CLK2−2用N,M値検出回路38と、CLK2−2用M値補正回路40と、CLK2−2生成回路42と、ビデオ処理回路44と、オーディオ処理回路46とを備えている。
【0045】
ここで、CLK2−1は、ビデオ処理回路44においてビデオデータを処理するときに使用されるクロック信号であり、CLK2−2は、オーディオ処理回路46においてオーディオデータを処理するときに使用されるクロック信号である。
【0046】
クロックリカバリ回路30とデータリカバリ回路32は、本発明の受信ブロックを構成するものである。クロックリカバリ回路30は、ソース回路12から送信される高速差動信号を受信し、受信した信号から、SSC変調されたCLK1を再生する。一方、データリカバリ回路32は、受信した信号から、N値およびM値、ビデオデータ、オーディオデータを含むパケットを再生する。
【0047】
CLK2−1用N,M値検出回路34は、データリカバリ回路32から出力されるN値およびM値を含むパケットから、N値およびM値を検出する。CLK2−1用N,M値検出回路34は、M値を検出する場合、M値の変更を検出するとともに、その変更後のM値を検出する。CLK2−1用N,M値検出回路34からは、M値の変更を示す検出信号と、変更後のM値が出力される。
【0048】
ここで、ソース回路12が新たなM値(直前のM値とは数値の異なるM値)を送信するために生成する、N値およびM値を含んだパケットは、そのヘッダー部分によって特定可能である。従って、シンク回路14は、このヘッダー部分を検出することにより、M値の変更を検出し、変更後のM値を検出することが可能である。
【0049】
CLK2−1生成回路36は、クロックリカバリ回路30から出力されるCLK1、CLK2−1用N,M値検出回路34から出力されるCLK2−1用のN値およびM値を使用して、式(6)によりCLK2−1を生成する。
【0050】
F
CLK2=M
T0/N*F
CLK1T1 … (6)
M
T0は、ソース回路12内のM値生成回路20がM値を生成した時刻T
0でのM値である。F
CLK1T1は、シンク回路14内のCLK2−1生成回路36がCLK2を生成する時刻T
1でのCLK1の周波数である。
【0051】
ここで、少なくとも以下の(1)〜(4)の原因により、T
0とT
1とは異なった時刻となる。
(1)M値生成回路20によるM値の生成に時間を要する
図11に示されるように、M値は、Time=N/F
CLK1の期間にわたるCLK2の周期のカウントを、少なくとも1回行うことによって求める。このため、M値生成回路20が生成した時刻において既に、M値は、少なくとも概略Time/2だけ前の時刻での値になる。前述のようにN値は非常に大きな固定値であり、Timeも長くなる。
(2)ソース回路12からのM値の送信に時間を要する
M値生成回路20によるM値の生成が完了した後、M値を含んだパケットがソース回路12から送信されるまでには、マルチプレクサ24によるM値およびN値の選択が行われ、さらに、パケット生成回路28によるN,M値を含んだパケットの生成が行われるまでの時間が必要である。
(3)シンク回路14内でのM値の検出に時間を要する
ソース回路12がN,M値を含んだパケットを送信した後、シンク回路14のデータリカバリ回路32がパケットの再生を行い、CLK2−1用N,M値検出回路34がN値およびM値の検出を行うまでの時間が必要である。
(4)CLK2−1生成回路36によるCLK2の周波数変更に時間を要する
CLK2−1用N,M値検出回路34がN値およびM値を検出した後、CLK2−1生成回路36が、新たなM値を利用してCLK2の周波数を変更するまでに、例えば、M/Nの除算演算を行う時間が必要である。
【0052】
以上の原因により、
図13を使って説明したように、CLK2−1は周波数変化を有したものになる。ビデオ処理回路44での処理に利用するCLK2−1には、このような周波数変化が許容される。これに対して、オーディオデータの処理に利用するCLK2−2は、周波数変動率を、例えば1000ppm以下に抑制する必要がある。このため、オーディオ処理回路46に供給するCLK2−2を生成するCLK2−2生成回路42には、CLK2−2用N,M値検出回路38が検出したM値を、CLK2−2用M値補正回路40によって補正した後のM値が供給される。
【0053】
CLK2−2用N,M値検出回路38は、データリカバリ回路32から出力されるN値およびM値を含むパケットから、N値およびM値を検出する。CLK2−2用N,M値検出回路38は、M値を検出する場合、M値の変更を検出するとともに、その変更後のM値を検出する。CLK2−2用N,M値検出回路38からは、M値の変更を示す検出信号と、変更後のM値が出力される。
【0054】
CLK2−2用M値補正回路40は、本発明の補正ブロックを構成するものであり、CLK2−2用N,M値検出回路38から出力される、順番に受信したM値に基づいて、M値の変化の方向を求め、求めたM値の変化の方向と、T
0とT
1との間の時間差ΔTとに応じてM値を補正する。
【0055】
CLK2−2生成回路42は、本発明のクロック生成ブロックを構成するものであり、クロックリカバリ回路30から出力されるCLK1、CLK2−2用M値補正回路40から出力されるN値および補正後のM値を利用して、CLK1に比較して周波数変化率が小さいCLK2−2を生成する。時刻T
0でのM値であるM
T0の補正後のM値をM’
T0とすると、CLK2−2の周波数は式(7)により求めることができる。
【0056】
F
CLK2=M’
T0/N*F
CLK1T1 … (7)
【0057】
ビデオ処理回路44は、CLK2−1生成回路36から出力されるCLK2−1を使用して、データリカバリ回路32から出力されるビデオデータを処理する。処理後のビデオデータはディスプレイ74に送信され、ビデオデータに対応する画像がディスプレイ74に表示される。
【0058】
オーディオ処理回路46は、CLK2−2生成回路42から出力されるCLK2−2を使用して、データリカバリ回路32から出力されるオーディオデータを処理する。処理後のオーディオデータはスピーカ76に送信され、オーディオデータに対応する音声がスピーカ76から再生される。
【0059】
次に、CLK2−2用M値補正回路40について詳しく説明する。
【0060】
図3は、CLK2−2用M値補正回路40の構成を表すブロック図である。同図に示すCLK2−2用M値補正回路40は、M値最大最小検出回路48と、SSC周期検出回路50と、上昇下降傾向検出回路52と、M値補正回路54とを備えている。
【0061】
M値最大最小検出回路48は、最大値検出回路56および最小値検出回路58を備えている。M値最大最小検出回路48は、CLK2−2用N,M値検出回路38から出力される、順番に受信したCLK2−2用のM値(観測値)に基づいて、その最大値および最小値を検出する。
【0062】
最大値検出回路56は、比較回路60と、最大値保持回路62とを備えている。最大値検出回路56は、CLK2−2用N,M値検出回路38からM値の変更を示す検出信号を受け取ると、最大値保持回路62に保持されたM値の最大値の候補値と現在のM値(観測値)とを比較回路60で比較し、現在のM値の方がM値の最大値の候補値よりも大きい場合に、M値の最大値の候補値を現在のM値に更新することを繰り返すことにより、M値の最大値を検出する。
【0063】
最小値検出回路58は、比較回路64と、最小値保持回路66とを備えている。最小値検出回路58は、同様に、CLK2−2用N,M値検出回路38からM値の変更を示す検出信号を受け取ると、最小値保持回路66に保持されたM値の最小値の候補値と現在のM値とを比較回路64で比較し、現在のM値の方がM値の最小値の候補値よりも小さい場合に、M値の最小値の候補値を現在のM値に更新することを繰り返すことにより、M値の最小値を検出する。
【0064】
SSC周期検出回路50は、CLK2−2用N,M値検出回路38からM値の変更を示す検出信号を受け取った時刻と、現在のM値と、M値最大最小検出回路48から出力されるM値の最大値および最小値から、CLK1の周波数の変化に応じて変動するM値の変化の周期を検出する。
【0065】
SSC周期検出回路50は、タイマー68を備えている。SSC周期検出回路50は、タイマー68により、M値が最大値から最小値になるまでの時間(下降期間)、および、M値が最小値から最大値になるまでの時間(上昇期間)を計測する。
【0066】
上昇下降傾向検出回路52は、CLK2−2用N,M値検出回路38から受け取るM値の変化の方向、つまり、現在のM値が、M値の変化の周期のうちの上昇期間にあるのか下降期間にあるのかを検出する。
【0067】
上昇下降傾向検出回路52は、直前値保持回路70と、比較回路72とを備えている。上昇下降傾向検出回路52は、直前値保持回路70に保持された直前のM値と現在のM値とを比較することにより、直前のM値よりも現在のM値の方が大きい場合に、現在のM値が上昇傾向(上昇方向)にあることを検出し、小さい場合に、現在のM値が下降傾向(下降方向)にあることを検出する。
【0068】
M値補正回路54は、CLK2−2用N,M値検出回路38からM値の変更を示す検出信号を受け取ると、M値最大最小検出回路48から出力されるM値の最大値および最小値、SSC周期検出回路50から出力されるM値の変化の上昇期間および下降期間、上昇下降傾向検出回路52から出力されるM値の上昇傾向および下降傾向、および、ソース回路12がM値を求めた時刻T
0とCLK2−2生成回路42がCLK2を生成する時刻との時間差ΔTから、例えば、直線補間により、CLK2−2用の補正後のM’値(補正値)を算出する。
【0069】
本実施形態のように、CLK1の周波数変化のプロファイルが三角波状である場合、上昇期間および下降期間をT、M値の最大値および最小値をそれぞれM
max、M
minとすると、補正後のM’値は、上昇傾向の場合には式(8)、下降傾向の場合には式(9)により算出することができる。
【0070】
M’=M+(M
max−M
min)*ΔT/T … (8)
M’=M−(M
max−M
min)*ΔT/T … (9)
【0071】
図3に示すように、M値の最大値および最小値、M値の上昇期間および下降期間から、M値の変化の波形が分かる。また、M値の上昇傾向および下降傾向から、現在のM値が上昇期間にあるのか下降期間にあるのかが分かる。そして、時間差ΔTに応じて現在のM値を時間的に進めることにより、補正後のM’値(現在のCLK1の周波数に対応するM値)を求めることができる。
【0072】
図4(A)は、CLK1の周波数変化を表すグラフである。このグラフは、
図12のグラフと同じものであり、CLK1の周波数F
CLK1は、最大周波数F
Nから次第に低下して最小周波数F
N−5000ppmとなり、続いて、最小周波数F
N−5000ppmから次第に上昇して最大周波数F
Nに戻る三角波状の変化プロファイルを持つ。同図(B)は、同図(A)に示す現在のM値(観測値)と補正後のM’値(補正値)との関係を表すグラフである。
【0073】
CLK2−2生成回路42がCLK2を生成する時刻よりも時間差ΔTだけ前の時刻でのM値がソース回路12から送られるとすると、CLK2生成に利用するCLK1の周波数とM値とのタイミングを一致させるには、時間差ΔTだけM値を時間的に進める必要がある。
【0074】
現在のM値が下降傾向にある場合、CLK1が時間的に進むとその周波数が低下し、M値は大きくなる方向に変動する。従って、M値を時間的に進めるには、M値が大きくなる方向に補正する必要がある。これに対し、現在のM値が上昇傾向にある場合、CLK1が時間的に進むとその周波数が上昇し、M値は小さくなる方向に変動するため、M値が小さくなる方向に補正する必要がある。
【0075】
以下、
図5に示すフローチャートを参照して、CLK2−2用M値補正回路40の動作を説明する。
【0076】
まず、M値最大最小検出回路48により、M値(観測値)の最大値および最小値を検出し(ステップS11)、SSC周期検出回路50により、M値の変化の周期を検出する(ステップS12)。そして、現在のM値を観測し(ステップS13)、上昇下降傾向検出回路52により、現在のM値が、M値の変化の周期のうちの上昇期間にあるのか下降期間にあるのかを検出する(ステップS14)。
【0077】
そして、現在のM値が上昇期間にある場合(ステップS15でYES)、時間差ΔTに応じて現在のM値を時間的に進める、すなわち、上昇期間において現在のM値を上昇させるための上昇補正を行う(ステップS16)。一方、現在のM値が下降期間にある場合(ステップS15でNO)、時間差ΔTに応じて現在のM値を時間的に進める、すなわち、下降期間において現在のM値を下降させるための下降補正を行う(ステップS17)。
【0078】
これ以後、ステップS13へ戻り、上記の動作を繰り返す。
【0079】
図6(A)は、ソース回路12でM値を生成する様子、同図(B)は、シンク回路14でCLK2を生成する様子を表すタイミングチャートである。同図(A)に示すように、ソース回路12でM値を生成する場合、
図4(A)に示す時刻T
0でのCLK1の周波数をF
CLK1T0、M値をM
T0とすると、時刻T
0でのCLK1のN周期の時間TimeにはM
T0周期のCLK2が含まれる。従って、式(10)の関係が成り立つ。
【0080】
F
CLK2=M
T0/N*F
CLK1T0 … (10)
【0081】
一方、シンク回路14でCLK2を生成する場合、
図4(A)に示す時刻T
1でのCLK1の周波数をF
CLK1T1とすると、時刻T
0でのM値であるM
T0を時間差ΔTに応じて補正したM’
T0と時刻T
1でのCLK1の周波数であるF
CLK1T1を使ってCLK2が生成される。同様に、時刻T
1でのCLK1のN周期の時間TimeにはM’
T0周期のCLK2が含まれる。従って、式(11)の関係が成り立つ。
【0082】
F
CLK2=M’
T0/N*F
CLK1T1 … (11)
【0083】
図4(A)から分かるように、時刻T
0よりも時刻T
1でのCLK1の周波数の方が低いため、
図6(B)に示すように、時刻T
0よりも時刻T
1でのCLK1の周期の方が長くなる。これに対し、時刻T
0でのM値であるM
T0は時間差ΔTに応じてM’
T0に補正されているため、時刻T
1でのCLK1のN周期の時間TimeにはM’
T0周期のCLK2が含まれ、時刻T
0と時刻T
1でのCLK2の周波数はほぼ等しくなる。
【0084】
このように、シンク回路14において、時刻T
0でのM値であるM
T0を、M値の変化の方向と時間差ΔTに応じてM’
T0に補正することにより、CLK2の周波数がCLK1の周波数の変化に応じて変動することを抑制することができ、その周波数変化率を、CLK1の周波数変化率である5000ppmよりも小さい範囲、例えば1000ppm以下にすることができる。
【0085】
CLK2−2に許容される周波数変化率が比較的大きい場合には、CLK2−2用M値補正回路40で利用する時間差ΔTを固定の値とすることも可能である。しかし、例えば、処理するビデオデータの解像度やフレームレート等によってソース回路12およびシンク回路14の動作条件が変化し、実際の時間差ΔTの値が変化することがある。このため、CLK2−2用M値補正回路40で利用する時間差ΔTの値を、複数から選択可能にすることが好ましい。
【0086】
時間差ΔTは、シンク回路14のみではなくソース回路12の動作状態によっても変化する。ソース回路12で発生する時間差についての情報が得られる場合には、その情報を考慮して、シンク回路14のCLK2−2用M値補正回路40で利用する時間差ΔTを選択する。ソース回路12で発生する時間差についての情報が得られない場合には、ソース回路12とシンク回路14とを組み合わせて動作させて生成したCLK2の周波数変化率を測定し、変化率が許容可能な範囲内になるように、CLK2−2用M値補正回路40で利用する時間差ΔTの値を調整することが好ましい。ただし、ソース回路12で発生する時間差についての情報が得られない場合であっても、ディスプレイポート等の規格に沿って動作するソース回路12であれば、解像度、フレームレート等が同一であれば、標準的な値を仮定して時間差ΔTを選択することにより、許容可能な範囲の周波数変化率のCLK2が生成可能な場合も多い。
【0087】
なお、CLK1の周波数変化の周期、周波数変化率、周波数変化のプロファイルが既知の場合、CLK2−2用M値補正回路40において、M値最大最小検出回路48、SSC周期検出回路50は不要である。
【0088】
また、CLK1の周波数変化のプロファイルは三角波状であることに限定されず、例えば、サイン波状であってもよいし、あるいは、それ以外の任意の形状であってもよい。
【0089】
図7は、CLK2−2用M値補正回路40の構成を表す別の例のブロック図である。同図に示すCLK2−2用M値補正回路40は、M値記憶回路78と、時刻記憶回路80と、M値補正回路82とを備えている。
【0090】
M値記憶回路78は、直前値保持回路84を備えており、常に現在のM値の直前のM値を直前値保持回路84に保持している。そして、M値記憶回路78は、CLK2−2用N,M値検出回路38からM値の変更を示す検出信号を受け取ると、現在のM値であるM1と、直前値保持回路84に保持された直前のM値であるM0を出力する。
【0091】
時刻記憶回路80は、タイマー86と、直前時刻保持回路88とを備えており、常にタイマー86により計測された直前のM値の変更の検出時刻を直前時刻保持回路88に保持している。そして、時刻記憶回路80は、M値検出回路38からM値の変更を示す検出信号を受け取ると、タイマー86により計測された現在のM値であるM1の変更の検出時刻t1と、直前時刻保持回路88に保持された直前のM値であるM0の変更の検出時刻t0を出力する。
【0092】
M値補正回路82は、M値記憶回路78から出力される現在のM値であるM1およびその直前のM値であるM0、時刻記憶回路80から出力される現在のM値であるM1の変更の検出時刻t1およびその直前のM値であるM0の変更の検出時刻t0と、時間差ΔTから、M値の変化の速度(M1−M0)/(t1−t0)を算出し、式(12)により、CLK2−2用の補正後のM1’値(補正値)を算出する。
【0093】
M1’=(M1−M0)/(t1−t0)*ΔT+M1 … (12)
ΔTは、式(8)、(9)と同様に、ソース回路12がM値を求めた時刻T
0と、CLK2−2生成回路42がCLK2を生成する時刻との間の時間差である。
【0094】
図8は、CLK1の周波数変化のプロファイルが三角波状の場合のM値の補正方法を表す概念図である。同図右側には、同左側に示す三角波状の波形の丸で囲んだ部分の拡大図が示されている。現在のM値(現在値)をM1、その変更の検出時刻をt1、直前のM値(直前値)をM0、その変更の検出時刻をt0とすると、補正後のM値であるM1’は、前述の式(12)により算出することができる。
【0095】
図9は、CLK1の周波数変化のプロファイルがサイン波状である場合のM値の補正方法を表す概念図である。同図右側には、同左側に示すサイン波状の波形の丸で囲んだ部分の拡大図が示されている。プロファイルがサイン波状の場合も、現在のM値とその直前のM値との間隔が十分に短ければ直線と見なすことができるので、同様に、補正後のM値であるM1’は、前述の式(12)により近似的に算出することができる。
【0096】
CLK1の周波数変化のプロファイルが、三角波状、サイン波状以外の任意の形状である場合も同様に、補正後のM値であるM1’は、前述の式(12)により近似的に算出することができる。
【0097】
このように、順番に受信したM値に基づいてM値の変化の速度を求めることにより、CLK1の周波数変化の周期、周波数変化率、周波数変化のプロファイルが分からなくても、CLK2−2用のM値を補正することができる。
【0098】
以下、
図10に示すフローチャートを参照して、CLK2−2用M値補正回路40の動作を説明する。
【0099】
CLK2−2用N,M値検出回路38により、CLK2−2用のM値(観測値)の変更とその変更後のM値が検出される(ステップS21)。
【0100】
M値の変更が検出されない場合(ステップS21でNO)、CLK2−2用N,M値検出回路38では、ステップS21へ戻ってM値の変更とその変更後のM値の検出が繰り返される。
【0101】
M値の変更が検出された場合(ステップS21でYES)、CLK2−2用M値補正回路40では、現在のM値が観測され、M値記憶回路78から、現在のM値であるM1と、直前値保持回路84に保持された直前のM値であるM0が出力され、時刻記憶回路80から、現在のM値であるM1の変更の検出時刻t1と、直前時刻保持回路88に保持された直前のM値であるM0の変更の検出時刻t0が出力される(ステップS22)。
【0102】
また、M値の変更が検出された場合(ステップS21でYES)、変更後のM値がM値記憶回路78の直前値保持回路84に保持され、その変更の検出時刻が時刻記憶回路80の直前時刻保持回路88に保持される(ステップS23)。これらは、次にM値の変更が検出された場合に、直前のM値であるM0とその変更の検出時刻t0として直前値保持回路84および直前時刻保持回路88から出力される。
【0103】
そして、M値補正回路82により、M値の変化速度(M1−M0)/(t1−t0)が算出され(ステップS24)、M値の変化速度を用いて、前述の式(12)によりCLK2−2用のM値であるM1が補正されて補正後のM1’値を得る(ステップS25)。
【0104】
これ以後、ステップS21へ戻り、上記の動作を繰り返す。
【0105】
なお、
図7に示すCLK2−2用M値補正回路40には、
図3に示すCLK2−2用M値補正回路40の上昇下降傾向検出回路52が設けられていないが、
図7に示すCLK2−2用M値補正回路40において、M値が上昇傾向にあるのか下降傾向にあるのかは、M値補正回路82により算出されるM値の変化の速度の正負から判別できる。M値の変化の速度が正であれば上昇傾向であり、負であれば下降傾向である。
【0106】
また、
図7に示すCLK2−2用M値補正回路40において、
図3に示すCLK2−2用M値補正回路40のM値最大最小検出回路48を追加することにより、補正後のM値が最大値を上回る、もしくは、最小値を下回る場合に、M値が最大値もしくは最小値になる時点で折り返す、つまり、M値の変化の速度の正負(上昇傾向と下降傾向)を反転することにより、補正後のM値を求めることが可能である。
【0107】
ただし、M値が変更される頻度が高い場合、つまり、M値の変更の間隔がCLK1の周波数変化の周期に比較してはるかに短い場合(例えば、M値の変更頻度がCLK1の周波数変化の1周期において1000回以上の場合)には、M値の最大値/最小値での反転処理は必須ではなく、M値補正回路40は不要である。
【0108】
本発明は、基本的に以上のようなものである。
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。