(58)【調査した分野】(Int.Cl.,DB名)
前記算出部により算出された前記周波数差に基づいて、前記フレーム記憶部から所定数のフレームを飛び越して読み出すフレームスキップ又は前記フレーム記憶部から所定数のフレームを繰り返し読み出すフレームリピートを行うタイミングを制御する制御部をさらに備える、
請求項1から請求項3のいずれか一項に記載のフレーム同期装置。
【発明を実施するための形態】
【0008】
以下、実施形態のフレーム同期装置及び周波数差検知方法を、図面を参照して説明する。
【0009】
図1は、実施形態の放送システム1の構成例を示す図である。放送局は、スイッチャ2とフレームシンクロナイザ3とを有する。P箇所(Pは1以上の整数)の発信源Aそれぞれは、放送局に映像信号Bを出力する。同図では、p番目(pは1以上P以下の整数)の発信源をA(p)と記載し、発信源A(p)から出力される映像信号Bを映像信号B(p)と記載している。スイッチャ2は、入力された操作に従って、受信した映像信号B(1)〜B(P)のうちいずれかをフレームシンクロナイザ3に出力する。スイッチャ2からの出力を、映像信号Xと記載する。
【0010】
フレームシンクロナイザ3は、フレーム同期装置の一例である。フレームシンクロナイザ3は、フレームメモリ31と、同期分離書込制御部32と、同期分離読出制御部33と、同期制御部34とを備える。
【0011】
フレームメモリ31は、フレーム記憶部の一例である。フレームメモリ31は、映像信号Xに含まれる2以上のフレームを、フレーム単位で記憶するリングバッファである。フレームメモリ31は、入力された映像信号Xのフレームを受信した順に随時書き込み、書き込まれたフレームを随時読み出して出力する。フレームメモリ31は、同期分離書込制御部32の制御により、映像信号Xを、その映像信号X自体の周波数で書き込む。また、フレームメモリ31は、記憶した2以上のフレームのうちの最も古くに記憶されたフレームから順に読み出す。読み出されたフレームメモリは、映像信号X’としてフレームシンクロナイザ3の外部に出力される。フレームメモリ31へのフレームの書込位置をWP(Write Pointer)、フレームメモリ31からのフレームの読出位置をRP(Read Pointer)と記載する。
【0012】
同期分離書込制御部32は、映像信号Xに含まれる同期信号を抽出する。同期分離書込制御部32は、抽出した同期信号に基づいてWPを更新する。これにより、フレームメモリ31は、映像信号Xを、その映像信号X自体の周波数で書き込むことができる。同期分離読出制御部33は、放送局内の基準同期信号に基づいてクロックを発生させ、発生させたクロックに基づいてRPを更新する。これにより、フレームメモリ31は、放送局内の基準同期信号の周波数に基づいてフレームを読み出すことができる。
【0013】
同期制御部34は、算出部の一例である。算出部は、RPとWPの差分を随時算出し、差分が変化するまでにかかった時間に基づいて、映像信号Xの周波数と、RPの更新に用いられる同期信号の周波数との周波数差を算出する。RPの更新に用いられる同期信号は、局内の基準同期信号又は基準同期信号から生成されたクロックである。この同期信号の周波数を、同期信号周波数と記載する。
【0014】
図2は、同期制御部34の詳細な構成例を示す図である。同期制御部34は、記憶部341と、周波数差検知部342と、スキップ/リピート制御部343とを備える。
【0015】
記憶部341は、各種データを記憶する。記憶部341は、差分変化フラグ記憶部3411と、差分記憶部3412と、クロック数記憶部3413とを備える。差分変化フラグ記憶部3411は、差分変化フラグを記憶する。差分変化フラグは、映像信号の切替後、ポインタ差分の変化が検出されたか否かを示す。本実施形態では、差分変化フラグの値「0」は、映像信号の切替後にポインタ差分の変化がまだ検出されていないことを表し、値「1」は、映像信号の切替後にポインタ差分の変化が検出済みであることを表す。差分記憶部3412は、ポインタ差分を記憶する。クロック数記憶部3413は、クロック数カウンタを記憶する。クロック数カウンタは、ポインタ差分が変化するまでにかかるクロック数の計測値を示す。
【0016】
周波数差検知部342は、差分算出部3421と、差分変化時間計測部3422と、差分変化検出部3423と、周波数偏差算出部3424とを備える。差分算出部3421は、ポインタ差分を随時算出する。具体的には、差分算出部3421は、同期分離読出制御部33が発生させるクロックごとに、つまり、RPが更新されるごとにポインタ差分を算出する。差分変化時間計測部3422は、ポインタ差分の変化が発生するまでの時間を計測する。本実施形態では、差分変化時間計測部3422は、この時間をクロック数により計測する。差分変化検出部3423は、ポインタ差分が変化したか否かを検出する。周波数偏差算出部3424は、ポインタ差分が変化するまでにかかった時間に基づいて、映像信号Xの周波数と同期信号周波数との周波数偏差を算出する。
【0017】
映像信号Xの周波数と同期信号周波数との周波数偏差がx[ppm]であるとき、(1/x)×10
6クロックを周期として、RPとWPとの差分が変化する。したがって、ポインタ差分が変化する周期に基づいて、周波数偏差を計算することが可能である。ポインタ差分が変化するまでにクロック数Tがかかった場合、周波数偏差は(1/T)×10
6[ppm]である。
【0018】
スキップ/リピート制御部343は、現在のポインタ差分及び周波数偏差算出部3424が算出した周波数偏差に基づいて、フレームスキップ又はフレームリピートを実行するタイミングを算出する。スキップ/リピート制御部343は、算出したタイミングにおいてフレームスキップ又はフレームリピートを行うよう、同期分離読出制御部33に指示する。同期分離読出制御部33は、フレームスキップが指示された場合、所定数のフレーム、具体的には、1フレーム分を飛び越してフレームを読み出すようRPを設定する。また、同期分離読出制御部33は、フレームリピートが指示された場合、フレームメモリ31から所定数のフレーム、具体的には、1フレーム分を繰り返し読み出すようRPを設定する。
【0019】
一般に、異なる発信源から出力される映像信号の周波数は完全に同一ではない。そのため、放送局でフレームシンクロナイザ3の入力である映像信号Xが、映像信号B(p)から映像信号B(q)に切り換えられた場合(q≠p、p及びqは1以上P以下の整数)、映像信号Xの周波数と同期信号周波数との周波数偏差を計算し直す必要がある。
【0020】
図3は、同期制御部34の処理フローである。同期制御部34は、映像信号Xが切り替わったことを検出し、割り込みルーチンとして同図に示す処理フローを開始する。
【0021】
差分変化検出部3423は、差分変化フラグ記憶部3411に記憶される差分変化フラグに、まだポインタ差分が検出されていないことを表す「0」を設定する(ステップS105)。差分算出部3421は、現在のRPの値とWPの値との差分であるポインタ差分を算出し、差分記憶部3412に書き込む(ステップS110)。差分変化時間計測部3422は、クロック数記憶部3413に記憶されるクロック数カウンタに「0」を設定して初期化する(ステップS115)。
【0022】
同期分離読出制御部33が基準同期信号に基づいてクロックを発生すると、差分変化時間計測部3422は、このクロックの発生を検出する(ステップS120)。差分変化時間計測部3422は、クロック数記憶部3413に記憶されるクロック数カウンタの値を、1を加算した値に更新する(ステップS125)。差分算出部3421は、クロック発生後のRPの値とWPの値との差分であるポインタ差分を算出する(ステップS130)。差分変化検出部3423は、ステップS130において算出したポインタ差分と、差分記憶部3412に記憶されるポインタ差分とを比較し、ポインタ差分に変化があったか否かを判定する(ステップS135)。差分変化検出部3423が、ポインタ差分に変化はないと判定した場合(ステップS135:NO)、周波数差検知部342は、ステップS120からの処理を繰り返す。
【0023】
差分変化検出部3423は、ポインタ差分に変化があったと判定した場合(ステップS135:YES)、ステップS140の判定処理を行う。すなわち、差分変化検出部3423は、差分変化フラグ記憶部3411に記憶される差分変化フラグの値に基づいて、映像信号切替後の最初の差分変化であるか否かを判定する(ステップS140)。差分変化検出部3423は、差分変化フラグの値が「0」であり、最初の差分変化であると判定した場合(ステップS140:YES)、差分変化フラグの値を「1」に書き換える(ステップS145)。周波数差検知部342は、ステップS110からの処理を繰り返す。
【0024】
一方、差分変化検出部3423は、差分変化フラグの値が「1」である場合、映像信号切替後に差分変化が検出済みであると判定する(ステップS140:NO)。周波数偏差算出部3424は、クロック数記憶部3413に記憶されるクロック数カウンタの値を読み出す。周波数偏差算出部3424は、読み出したクロック数カウンタの値が示す時間に基づいて、映像信号Xの周波数と、同期信号周波数との周波数偏差を算出する(ステップS150)。スキップ/リピート制御部343は、ステップS150において算出された周波数偏差と、現在のポインタ差分とに基づいて、フレームスキップ又はフレームリピートを行うタイミングを算出する(ステップS155)。
【0025】
なお、同期制御部34は、ステップS155の後、ステップS110からの処理を繰り返してもよい。
【0026】
図4は、映像信号切替後のフレームメモリ31を示す図である。同図を用いて、
図3の処理の具体例を説明する。
【0027】
時刻t
0において映像信号Xが切り替わると、
図3の処理が開始される。差分変化検出部3423は、差分変化フラグに「0」を設定する(
図3のステップS105)。差分算出部3421は、時刻t
0におけるRPとWPの差分であるポインタ差分D
0を算出し、差分記憶部3412に書き込む(
図3のステップS110)。差分変化時間計測部3422は、クロック数カウンタに「0」を設定する(
図3のステップS115)。
【0028】
差分変化時間計測部3422は、クロックの発生を検出すると(
図3のステップS120)、クロック数カウンタの値に1を加算する(
図3のステップS125)。差分算出部3421は、ポインタ差分を算出する(
図3のステップS130)。差分変化検出部3423は、前回算出したポインタ差分D
0と変化がないと判定する(ステップS135:NO)。同期制御部34は、クロックが発生する度に、クロック数の更新、ポインタ差分の算出、ポインタ差分の変化の有無の判定を繰り返す。
【0029】
時刻t
0からmクロック経過した時刻t
1において、ポインタ差分D
1がD
0+1又はD
0−1になると、差分変化検出部3423は、ポインタ差分に変化ありと判定する(
図3のステップS135:YES)。差分変化検出部3423は、映像信号切替後の最初の差分変化であると判定し(
図3のステップS140:YES)、差分変化フラグの値を「1」に書き換える(
図3のステップS145)。差分算出部3421は、ポインタ差分D
1を差分記憶部3412に書き込む(
図3のステップS110)。差分変化時間計測部3422は、クロック数カウンタの現在値「m」をリセットし、「0」を設定する(
図3のステップS115)。同期制御部34は、クロックが発生する度に、クロック数の更新、ポインタ差分の算出、ポインタ差分の変化の有無の判定を繰り返す。
【0030】
時刻t
1からnクロック経過した時刻t
2において、ポインタ差分D
2がD
1+1又はD
1−1になると、差分変化検出部3423は、ポインタ差分に変化ありと判定する(
図3のステップS135:YES)。差分変化検出部3423は、映像信号の切替後に差分変化が検出済みであると判定する(
図3ステップS140:NO)。よって、RPとWPとの距離が変化する周期は、クロック数カウンタの現在値が示すnクロックであることが分かる。周波数偏差算出部3424は、映像信号Xの周波数と同期信号周波数との周波数偏差を、(1/n)×10
6と算出する(ステップS150)。このように、フレームシンクロナイザ3は、映像信号Xの入力が切り替わってからm+nクロックで周波数偏差を求めることが可能である。
【0031】
RPとWPの距離が離れるとき(すなわちD
2=D
1+1のとき)、周波数偏差は正であるため、書き込みが読み出しを追い越さないようにフレームスキップを行う必要がある。反対に、RPとWPが近づくとき(すなわちD
2=D
1−1のとき)、周波数偏差は負であるため、読み出しが書き込みを追い越さないようにフレームリピートを行う必要がある。スキップ/リピート制御部343は、周波数偏差が正である場合は、フレームスキップを行い、周波数偏差が負である場合は、フレームリピートを行うよう、同期分離読出制御部33に指示する。同期分離読出制御部33は、スキップ/リピート制御部343からの指示に従って、フレームスキップ又はフレームリピートを行う。
【0032】
従来のフレームシンクロナイザは、フレームメモリからフレーム先頭を読み出す時に、RPとWPの差を取り、1フレーム前の差と現在の差との変化を見ることで周波数差の計算を行っていた。従って、周波数差を検知するためには、フレーム先頭のRPが2回現れる必要があった。映像信号の切り替えが行われるタイミングによっては、最初にフレームの先頭を読み出すまでに約1フレーム分の時間がかかる。そのため、入力される映像信号が切り替わってから周波数差を検知し、正常にフレームスキップ/リピートの判定が可能になるまで最大で約2フレーム分の時間が必要な場合があった。また、フレームスキップ/リピートも、フレーム先頭で実行していた。
【0033】
一方、本実施形態では周波数偏差を高速に検知できるため、フレームシンクロナイザ3は、フレーム先頭に限らず周波数偏差が求められると、直ちにフレームスキップ/リピートを実行することができる。従って、フレームシンクロナイザ3は、出力に不体裁が生じる可能性がある期間を大幅に短縮することができる。例えば、m≦(1/n)×10
6クロック、n=(1/10)×10
6クロック、1フレーム=1125ライン×2200サンプルであるとする。周波数偏差が10[ppm]である場合、従来では入力が切り替わってから正常にフレームスキップ/リピートの判定ができるまで最大約2フレームの時間かかっていた。これに対し、フレームシンクロナイザ3は、100ライン以内でフレームスキップ/リピートの判定が可能となる。
【0034】
以上説明した少なくともひとつの実施形態によれば、同期制御部34を持つことにより、入力が異なる発信源からの映像信号に切り替わった場合でも、出力映像に不体裁が生じる可能性がある期間を短くすることができる。
【0035】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。