説明

バッファ制御装置及び受信装置

【課題】VCXOなどの高価な部品を使うことなく、PWM制御等を行わずに、しかもデータの欠損なしに映像や音声を再生可能にするバッファ制御装置及び受信装置を提供することである。
【解決手段】バッファ制御装置は、ニアリーフロー検出部261と、垂直周期制御部262と、垂直同期信号生成部263とを備えている。ニアリーフロー検出部261は、バッファのデータ蓄積量と、予め定めてある閾値との比較を行い、比較結果をニアリーオーバーフロー或いはニアリーアンダーフローとして検出する。垂直周期制御部262は、ニアリーフロー検出部261の比較結果に応じて、垂直同期周期の長さを調整する。垂直同期信号生成部263は、垂直周期制御部262の調整結果から新たな垂直同期信号を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、放送番組を再生可能とするためのバッファ制御装置及び受信装置に関するものである。
【背景技術】
【0002】
デジタル放送受信装置(以下、受信装置)において、その放送ストリーム(Transport Stream、以下TS)に適応されているMPEG2(Moving Picture Expert Group 2)規格にある通り、通常、送信側より伝送されてくるPCR(Program Clock Reference)を基に27MHzを復元し、これを基準に映像、音声データを復号することで、放送番組を再生できる。なお、復元された27MHz、或いは、このクロックで動作するカウンタの値をSTC(System Time Clock)などと呼ぶ。復元された27MHzをカウンタ値と明確に区別するために、STCクロックなどと表現する場合もある。
【0003】
また、TSは188バイトのパケット(以下、TSパケット)の集合体として構成されており、TSのそれぞれのパケットに識別子PID(Packet Identifier)を持たせ、映像や音声など様々なパケットデータを多重伝送できるようになっている。
受信装置ではSTCにて動作するSTCカウンタを搭載しており、PCRを受信した時のSTCの値と、そのときのPCRの値との差分から27MHzの周波数を微調整、或いは、制御している。具体的には、差分に対応したデューティ比(信号のハイレベル期間とローレベル期間の比)の矩形波信号(PWM制御信号)を生成し、これを平滑化してその平均電圧をPWM制御電圧として基準クロック発振器を構成するVCXO(電圧制御水晶発振器:Voltage Controlled Xtal Oscillator)に供給し、前述の差分が0となるように基準クロックの周波数を制御する。このような制御をPWM(Pulse Width Modulation)制御などと呼ぶ。
【0004】
例えば、PCRの値とSTCの値について、PCR>STCであれば、27MHzの周波数を若干高くし、PCR<STCであれば、27MHzの周波数を若干低くする。
PWMにて周波数を高くするべきか、低くするべきかの判定ができたなら、これを制御用電圧に変換してVCXOに供給することで、VCXOの出力が復元(微調整)された27MHzとなる。
【0005】
PCRは数十msごとに送られてくる離散的なカウンタ値であることから、受信装置ではこのPWM制御を定期的に繰り返すことで、27MHzの微調整を継続的に行っていることになる。これら技術は、特許文献1などにも記載されている。
しかしながら、従来の受信装置では、送信側からデータストリームと共に送信されてくくるPCR値に基づいて27MHzの基準クロックを再生(復元)するのにVCXOなどの高価な部品を用いたPWM制御などを行って、送信側の本来のSTCクロックに合わせ込むことが行われていた。
【0006】
一方、VCXOなどを用いたPWM制御などを行わずに基準クロック発振器を動作させると(フリーランなどと呼ぶ)、映像又は音声のデコード用に用いられるバッファがバッファオーバーフローしたり、或いはバッファアンダーフローして、データの欠損が生じ、正しい映像や音声を再生できなくなる問題点がある。
【特許文献1】特開2002−9747号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
そこで、本発明は上記の問題に鑑み、VCXOなどの高価な部品を使うことなく、PWM制御等を行わずに、しかもデータの欠損なしに映像や音声を再生可能にするバッファ制御装置及び受信装置を提供することを目的とするものである。
【課題を解決するための手段】
【0008】
本願発明の一態様によれば、バッファのデータ蓄積量と予め定めてある閾値との比較を行い、比較結果をニアリーオーバーフロー或いはニアリーアンダーフローとして検出するニアリーフロー検出部と、前記ニアリーフロー検出部の比較結果に応じて、垂直同期周期の長さを調整する垂直周期制御部と、前記垂直同期制御部の調整結果から新たな垂直同期信号を生成する垂直同期信号生成部と、を具備することを特徴とするバッファ制御装置が提供される。
【発明の効果】
【0009】
本発明によれば、VCXOなどの高価な部品を使うことなく、PWM制御等を行わずに、しかもデータの欠損なしに映像や音声を再生可能にするバッファ制御装置及び受信装置を提供することができる。
【発明を実施するための最良の形態】
【0010】
発明の実施の形態について図面を参照して説明する。
図1乃至図5を参照して本発明の実施形態を説明する前に、図6及び図7を用いて本発明の関連技術について説明する。
前述したように、受信装置ではSTCにて動作するSTCカウンタを搭載しており、PCRを受信した時のSTCの値と、そのPCRの値との差分から27MHzの周波数を微調整、或いは、制御している。
【0011】
例えば、PCR>STCであれば、27MHzの周波数を若干高くし、PCR<STCであれば、27MHzの周波数を若干低くするように、例えばPWM制御する。
PWM制御にて周波数を高くするべきか、低くするべきかの判定ができたなら、これを制御用電圧に変換してVCXOに供給することで、VCXOの出力が復元(微調整)された27MHzとなる。
PCRは数十msごとに送られてくる離散的なカウンタ値であることから、受信装置ではこのPWM制御を定期的に繰り返すことで、27MHzの微調整を継続的に行っていることになる。
【0012】
それでは、27MHzを微調整しない場合にどのような問題があるかを以下に、説明する。
【0013】
図6、図7は、受信装置にて、最初に受信したPCRを用いてSTCカウンタを初期化した後は、27MHzの微調整をしない場合(フリーランさせるなどと呼ぶ)の問題点を説明する図であり、図6はフリーランさせている27MHzがPCRをカウントしている27MHzより低い場合を、図7は高い場合を、それぞれ示している。
【0014】
まず、図6を説明する。
時間t0にてPCR0を受信し、その後27MHzをフリーラン(PWM制御なし)にてSTCを復元すると、STCがPCRよりも遅くカウントされていることになる。この様子を図6(a)に示す。
【0015】
図6(a)の「本来STC」のように本来PCRと同じ傾きを持って復元されなければならないところ、PCRよりも遅い27MHzがフリーランしていると、図6(b)の「復元STC」のように傾きが本来より小さくなる。
受信装置では、STCクロックを基準として、デコード、或いは、表示タイミングとなる同期信号:VSYNCを復元することになる。VSYNCの周期は通常、60Hz、或いは、50Hzであり、27MHzでのカウント数に換算すると、450,000、或いは、540,000となる。この様子を図6(b)に示す。
【0016】
図6(b)の「本来VSYNC」のように本来復元されなければならないところ、PCRよりも遅い27MHzがフリーランでしていると、「復元VSYNC」のように周期が本来より伸張された状態で復元されてしまう。
MPEG2の理想的なデコード動作として、あるVSYNC期間にSTD(System Target Decoder)バッファに蓄えられたデータを、それ以降のVSYNCのタイミングで使用(復号、或いは、再生)することで、バッファのオーバーフローやアンダーフロー、言い換えればデータの欠損、を発生させることなく行われなければならない。なお、映像データ向けのSTDバッファを、VBV(Video Buffering Verifier)バッファなどと呼ぶ場合もある。この様子を図6(c)に示す。
【0017】
図6(c)の「本来データ遷移」(細い実線にて示す)のようにバッファ内のデータが推移しなければならないところ、PCRよりも遅い27MHzがフリーランしていると、図6(c)の「復元データ遷移」(太い実線にて示す)のようにデータがバッファの残容量(以下単に残量という)を越える状態であるバッファオーバーフローを誘発してしまう。つまり、データの欠損が起こり、正しい映像や音声を再生できなくなる。
【0018】
次に、図7を説明する。
図6との違いは、STCがPCRよりも速い27MHzでカウントされている例であるということである。PCRよりも速い27MHzがフリーランしていると、図7(a)のように「復元STC」の傾きが、「本来STC」の傾きよりも大きくなる。
よって、図7(b)のように「復元VSYNC」の周期が「本来VSYNC」より短縮された状態で復元されてしまう。
【0019】
この結果、図7(c)の「復元データ遷移」(太い実線にて示す)のようにデータがバッファに無い状態(データ蓄積量を越える読み出しが行われた状態)であるバッファアンダーフローを誘発してしまう。つまり、データの欠損が起こり、正しい映像や音声を再生できなくなる。
そこで、本発明の実施形態では、VCXOなどの高価な部品を使わない、言い換えれば、PWM制御等を行わない場合に、STD(System Target Decoder)バッファのデータ遷移の制御を工夫することでデータの欠損なしに再生が行える、バッファ制御装置及びこれを用いた受信装置を提案するものである。
【0020】
図1は本発明の一実施形態のバッファ制御装置が適用される受信装置のブロック図を示している。
図1に示す受信装置20は、アンテナ21と、チューナ22と、復調器23と、システムデコーダ24と、ホストプロセッサ25と、再生同期制御部26と、ビデオデコーダ27と、オーディオデコーダ28と、データバス29と、メモリ31と、バック・エンド・プロセッサ(以下、BEPという)32と、表示部33と、スピーカ34とを備えている。
システムデコーダ24と、ホストプロセッサ25と、ビデオデコーダ27と、オーディオデコーダ28と、データバス29にて、MPEGデコーダ30を構成している。
【0021】
図1に示すように、無線周波数によるストリームデータがアンテナ21を介してチューナ22に入力される。チューナ22は、入力された無線周波数の信号をベースバンド信号に変換して復調器23に出力する。復調器23は、入力されたベースバンド信号を復調処理してTSを復元し、これをシステムデコーダ24に出力する。復調器23による復調処理には、例えば、アナログ信号からデジタル信号への変換、受信信号が多重変調されている場合は多重復調、その他誤り訂正処理等の少なくともいずれかが含まれる。なお、2つのチューナ(ダブルチューナなどと呼ばれる)、或いは、それ以上のチューナを搭載する受信装置においては、それらのチューナにも同様にアンテナ21、或いは、図示を省略する別のアンテナが接続されているものとする。
【0022】
また、ダブルチューナなどの場合、復調器23もチューナの数にあわせて必要となるが、1つで2つ以上のベースバンド信号に対応できるマルチ復調器と呼ばれるものも存在する。よって、図1の復調器は論理的に必要な個数として、チューナに1つずつ記載しているものとする。
システムデコーダ24は、予めホストプロセッサ25から設定されているフィルタ条件を満たす、例えば、設定されているPIDを有しているTSパケットを選別し、必要なデータ(情報)をその中から抽出し、予めホストプロセッサ25から設定されているメモリ31内のバッファにデータバス29を経由して出力する(或いは、書き込む)。バッファはメモリ31内にバッファ領域として設定される。システムデコーダ24によって映像データと音声データとに選別される。
【0023】
映像データはメモリ31内のビデオ向けSTDバッファに、音声データはメモリ31内のオーディオ向けSTDバッファに、それぞれ出力される。そして、システムデコーダ24にて選別された映像及び音声データはそれぞれ、メモリ31に設けられた専用のバッファを介して、ビデオデコーダ27、オーディオデコーダ28に供給される。
ビデオデコーダ27はメモリ31から供給された(或いは読み込んだ)ビデオデータを再生同期制御部26から供給される垂直同期信号(以下、VSYNCという)に合わせてデコードし、その結果得られる映像情報をBEP32に出力する。BEP32は、この映像情報に色補正などの各種画像処理を施して表示部33にて表示させる。なお、表示部33は、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ(PDP:Plasma Display Panel)、ブラウン管(CRT:Cathode Ray Tube)などの様々なディスプレイ装置のいずれかに対応する。
【0024】
オーディオデコーダ28はメモリ31から供給された(或いは、読み込んだ)オーディオデータをデコードし、その結果得られる音声情報をスピーカ34に音声出力する。なお、オーディオのデコードタイミングの生成方法については、本発明では限定しない。例えば、ビデオデコーダ27のように同期信号VSYNCに合わせることも可能であり、ビデオの現在デコードしている、或いは、表示しようとしている映像データの時間情報(PTS:Presentation Time Stamp)を渡し、この時間情報PTSにあわせてデコードさせることも可能であり、本実施形態はいずれの場合にも適応可能であり、その方法を限定しない。
【0025】
なお、文字データなどの映像補助データが伝送されてくる場合には、システムデコーダ24は、これをプライベートデータとして選別し、メモリ31を経由して、ホストプロセッサ25に供給することも可能である。ホストプロセッサ25は、これらを文字情報などとしてデコードし、ビデオデコーダ27を経由して、映像情報に重ね合わせ出力させることもできる。
【0026】
図2は再生同期制御部26の内部ブロック図を示している。
図2に示す再生同期制御部26は、ニアリーフロー検出部261と、垂直同期制御部としてのVブランキング制御部262と、垂直同期信号生成部としてのVSYNC生成部263と、電圧制御を要しない自走の単周波数の図示しない水晶発振器(Xtal)とを備えている。ここで使われる水晶発振器は表示のために必要なクロックが生成できる周波数であればよく、STCのための27MHzに限らない。また、必要とするクロックさえあればよいのであって、ここでは水晶発振器としているが、外部からのクロック入力でかまわない。ただし、27MHzでない場合はSTCのための27MHzが別途必要となる。
【0027】
ニアリーフロー検出部261は、バッファのデータ蓄積量と、予め定めてある閾値との比較を行い、比較結果をニアリーオーバーフロー或いはニアリーアンダーフローとして検出する。ニアリーフロー検出部261は、閾値をバッファ開始ポインタからのデータ量とし、データ蓄積量が閾値以上又は閾値より大きい場合をニアリーオーバーフローとして、データ蓄積量が閾値以下又は閾値より小さい場合をニアリーアンダーフローとして、それぞれ検出する。
【0028】
Vブランキング制御部262は、水晶発振器(Xtal)からのクロックが入力され、ニアリーフロー検出部261の比較結果に応じて、垂直同期周期の長さを調整する。垂直周期制御部262は、例えば、垂直同期周期内のブランキング期間のみを調整する。
VSYNC生成部263は、垂直同期制御部262の調整結果から新たな垂直同期信号を生成する。
【0029】
ニアリーフロー検出部261には、データバス29、或いは、図示を省略する経路にて、予めホストプロセッサ25から閾値が与えられており、この閾値とバッファのデータ蓄積量(以下、バッファ蓄積量)、或いは、バッファのデータ残量(以下、バッファ残量)とを定期的に比較し、閾値との上下(大小)関係に応じて、ニアリーオーバーフロー(オーバーフローが発生しかけている)、或いは、ニアリーアンダーフロー(アンダーフローが発生しかけている)状態として検出し、これをVブランキング制御部262に通知する。なお、ニアリーオーバーフローを検出する際に用いる閾値をニアリーオーバーフロー閾値、ニアリーアンダーフローを検出する際に用いる閾値をニアリーアンダーフロー閾値と、それぞれ呼ぶ。
【0030】
また、閾値と比較するタイミングは、例えば、ニアリーオーバーフローであれば、システムデコーダ24がバッファにデータを書き込む時、ニアリーアンダーフローであれば、ビデオデコーダ27、オーディオデコーダ28がバッファからデータを読み込む時などが考えられるが、本実施形態はこの比較タイミングについては限定しない。
なお、ニアリーオーバーフロー閾値、及び、ニアリーアンダーフロー閾値は通常は異なる値となるが、ニアリーオーバーフロー閾値、及び、ニアリーアンダーフロー閾値として、1つの同じ閾値を兼用することも可能である。
【0031】
データ蓄積量と比較する場合、データバス29、或いは、図示を省略する経路にて、システムデコーダ24からバッファ内のどこまでデータを書き込んだのかを示すライトポインタWPと、ビデオデコーダ27からバッファ内のどこまでのデータを読み込んだのかを示すリードポインタRPを受け取ることで行える。バッファは、リングバッファとして用いられる。
【0032】
ホストプロセッサ25が設定したバッファ領域のスタートポインタをSP、エンドポインタをEPとすると、データ蓄積量は次のように計算できる。SPとEPは、メモリ31上でどこにとるかは任意に設定できるから、SPとEP間に形成されるバッファ領域をメモリ上で例えばアドレス4F8〜ABCの領域として設定することが可能である。
【0033】
図3はリングバッファの動作を示している。SPとEP間において、斜線部分はデータ蓄積量を表しており、白色部分はデータの書き込まれていない空き部分(バッファ残量)を表している。
図3において、(a)はSPとEP間のバッファ領域にSPからWPまでデータを書き込んだ後、SPからRPまでデータを読み出した状態(WP>RPの状態)を示している。(b)は(a)の状態からデータをEPまで書き込みSPに戻ってSPからWPまでデータを書き込んだ後、RPの位置までデータを読み出した状態(WP<RPの状態)を示している。
【0034】
WP >RP なら、データ蓄積量 = WP−RP、
WP <RPなら、データ蓄積量 =(EP−RP)+(WP−SP)
閾値をSPからのデータ量とすることで、
データ蓄積量>ニアリーオーバーフロー閾値 ならニアリーオーバーフロー として、
データ蓄積量<ニアリーアンダーフロー閾値 ならニアリーアンダーフロー として、
次段のVブランキング制御部262へそれぞれ通知できる。
【0035】
バッファ残量と比較する場合、上記同様にWP、RPを受け取り、次のように計算できる。
【0036】
WP >RP なら、バッファ残量 =(EP−WP)+(RP−SP)、
WP <RPなら、バッファ残量 = RP−WP
閾値をEPからのデータ量とすることで、
バッファ残量<ニアリーオーバーフロー閾値 ならニアリーオーバーフロー として、
バッファ残量>ニアリーアンダーフロー閾値 ならニアリーアンダーフロー として、
次段のVブランキング制御部262へそれぞれ通知できる。
【0037】
なお、SP、EP、WP、RPは、上記のようにそれぞれを更新するブロックから受け取ることも可能であるが、システムデコーダ24、ビデオデコーダ27、オーディオデコーダ28、又は、ホストプロセッサ25が共通のものを参照できることが望ましい。例えば、メモリ31、再生同期制御部26、或いは、図示を省略するブロックにこれら値を保持する機構(メモリやレジスタなどの記憶素子)を持たせることも可能であり、本実施形態はこれを含む。
【0038】
以下では、説明を簡潔に、理解を容易とする目的で、比較にデータ蓄積量を用いる場合を例として図4及び図5を参照して説明する。
Vブランキング制御部262では、映像情報を表示する必要のないVSYNCの前後の期間をVブランキング期間(時間)として検出し、このVブランキング期間をニアリーフロー検出部261から通知される信号に応じて、短縮、或いは、伸張する。
【0039】
図4はニアリーオーバーフローにおける調整の様子を示し、図5はニアリーアンダーフローにおける調整の様子を示している。
まず、図4のオーバーフローを防止するための調整例を説明する。
ニアリーフロー検出部261からニアリーオーバーフローが通知された場合、図4(a)のように、STDバッファのデータ蓄積量がニアリーオーバーフロー閾値を上回った状態を示している。
【0040】
Vブランキング制御部262では、このようにニアリーオーバーフローが通知された場合、Vブランキング期間の長さを調整(圧縮又は伸張)する。
例えば、60Hzの映像を例にすると、通常、1周期(1フィールド)の映像は水平262.5ラインから構成されており、このうち240ラインが映像情報表示期間に相当し、22.5ラインがVブランキング期間に相当する。
【0041】
調整すべき長さ(ライン数、又は、27MHzでのサイクル数)とその方向(短縮、又は、伸張)は、ニアリーオーバーフローが通知されてからVブランキングが開始されるまでの時間、通知された回数、過去に通知された回数、通知された時のライン数又は番号、通知された時のデータ蓄積量又はバッファ残量(閾値からの差分量含む)、Vブランキング開始時のデータ蓄積量又はバッファ残量(閾値からの差分量含む)、データ蓄積又は消費スピード(データ入力又は出力のレート)の少なくともいずれか1つを用いて決定する。
【0042】
図4(a)及び 図4(b)において、「本来VSYNC」は一定の垂直周期(1フィールド)ごとの期間を示しており、この本来のVSYNCの一定期間ごとの検出ポイント(図示b1,b2,b3,b4…)で復元データ遷移(太線で示しているバッファのデータ蓄積量)の値を検出している。「本来VSYNC」はPCRに同期した27MHzのクロックから生成されるであろうVSYNCを意味している。
【0043】
図4(a)で、デコードすべきデータをバッファへ書き込んでいくと、バッファのデータ蓄積量は直線的に徐々に増えていき、検出ポイントb1で検出されたデータ蓄積量に基づいて決まる復元VSYNC(c1)時にバッファからデータが瞬時に読み出され、その結果として瞬間的にバッファ蓄積量が減少した後、再びバッファへのデータ書き込みがなされてバッファ蓄積量は直線的に徐々に増え、検出ポイントb2で検出されたデータ蓄積量に基づいて決まる次の復元VSYNC(c2)時にバッファからデータが瞬時に読み出される、……といった動作が繰り返される。ここで、本来VSYNC(b0,b1,b2,b3…)の各点間の時間は一定であるが、復元VSYNC(c0,c1,c2,c3…)の各点間の時間(A1,A2,A3…)、即ち垂直同期周期の長さは自動的に調整されていて一定ではない。
【0044】
言い換えれば、図4のオーバーフローを抑止する調整例では、バッファ蓄積量の本来データ遷移の鋸波状の波形(細線で示している本来VSYNCの周期で変化すると仮定した場合の波形)のピークに相当する復元データ値を検出している。図示の最初の復元データ遷移の期間(最初の復元VSYNC(c0〜c1)の期間A1)におけるデータ蓄積量の増加の過程においては、本来VSYNCに基づく最初の検出ポイントb1においてニアリーオーバーフロー閾値を越えていないからそのニアリーオーバーフロー閾値に達するまでは映像情報表示期間(所定ライン数例えば240ライン数の期間)経過後に始まるVブランキング状態を維持する。
【0045】
ニアリーオーバーフローが1回通知されたことを受け、本来VSYNCに基づく次の検出ポイントb2におけるVブランキング開始時のバッファ蓄積量とニアリーオーバーフロー閾値との差分量(図4(a)におけるニアリーオーバーフロー閾値のライン上に↑にて示している)に応じて、そのVSYNC期間内のVブランキング期間を調整する。差分量(=バッファ蓄積量−ニアリーオーバーフロー閾値)が大きければVブランキング期間を短縮し、差分量が小さければVブランキング期間を伸張するように調整する。
調整されたブランキング期間は、Vブランキング制御部262から出力されるVブランキング通知信号(図4(b)参照)のハイレベル期間の長短にて知ることができる。
【0046】
図4の例ではVブランキング通知信号を、映像情報表示期間(映像情報を表示する必要のある期間)を“L”、Vブランキング期間(或いは、映像情報の表示が不要な期間)を“H”とする信号としている。
なお、本実施形態はVブランキング通知信号のフォーマットを上記に限定するものではない。例えば、映像情報表示期間は“H”、Vブランキング期間は“L”とする信号とすることも、映像情報表示期間の開始タイミングで“L”“H”トグルする信号とすることも、2ビット以上の信号とすることも、単純にブランキング期間を長くする、短くするという意味の信号とすることも、ブランキング期間の長さを数値で表す信号とすることもそれぞれ可能であり、本実施形態はこれら全て含む。
【0047】
また、本実施形態では上記の通り、調整期間を映像情報が表示されないVブランキング期間に限定している。これは、表示部33に表示される映像情報に与える悪影響(ライン単位での映像ずれ、色ずれなど)を抑制するためである。
【0048】
さらに、理解を容易とするため、1VSYNC当たり何十ラインにも相当する長さのVブランキングの調整(短縮又は伸張)がなされるように描いてあるが、基準クロックとしての27MHzの精度はMPEG2規格で±81Hzに規定されている。実際に多少の誤差が含まれるとしてもせいぜい±100Hz程度と予想できる。つまり、27MHzをフリーランさせた場合、本来STCと最大200Hzの差をもって復元STCがカウントされることになるが、1VSYNC(60Hz或いは50Hz)当たり3〜4カウント相当の傾き差にしかならない。よって、実際にはVブランキングの調整は数VSYNCおきに、多くとも1ライン相当の長さにとどまるものと予想される。
【0049】
図4(b)の制御の結果、ビデオデコーダ27、又は、表示部33は図4(c)に示す「復元STC」を参照して、デコード、又は、表示の開始タイミングを計っていることと等価となる。本実施形態では、開始タイミングはバッファのデータ消費タイミングになっており、このタイミング(データ遷移が垂直方向に変化する時)において「本来STC」とほぼ同じ値を「復元STC」が遷移していることから、「本来STC」を参照しているのと同等な映像再生が行える。
【0050】
次に、図5のアンダーフローを抑止する調整例を説明する。
ニアリーフロー検出部261からニアリーアンダーフローが通知された場合、図5(a)のように、STDバッファのデータ蓄積量がニアリーアンダーフロー閾値を下回った状態を示している。
Vブランキング制御部262では、このようにニアリーアンダーフローが通知された場合にも、Vブランキング期間の長さを調整する。
【0051】
調整すべき長さ(ライン数、又は、27MHzでのサイクル数)とその方向(短縮、又は、伸張)は、Vブランキング開始からニアリーアンダーフローが通知されるまでの時間、通知された回数、過去に通知された回数、通知された時のライン数又は番号、通知された時のデータ蓄積量又はバッファ残量(閾値からの差分量含む)、Vブランキング終了時のデータ蓄積量又はバッファ残量(閾値からの差分量含む)、データ蓄積又は消費スピード(データ入力又は出力のレート)の少なくともいずれか1つを用いて決定する。
【0052】
図5(a)及び図5(b)において、「本来VSYNC」は一定垂直周期(フィールド)ごとの期間を示しており、「復元VSYNC」は太線にて示す復元データ遷移のブランキング終了時のタイミング(バッファ読み出しタイミング)に相当している。図5の例では、復元VSYNC(符号d0,d1,d2,d3…)は表示のVSYNCと同じであり、このときのタイミングでバッファ蓄積量の値を検出している。ここでは、本来VSYNC(符号b0,b1,b2,b3…)は参考までに図示している。本来VSYNC(b0,b1,b2,b3…)の各点間の時間は一定であるが、復元VSYNC(d0,d1,d2,d3…)の各点間の時間(B1,B2,B3…)、即ち垂直同期周期の長さは自動的に調整されていて一定ではない。
【0053】
言い換えれば、図5のアンダーフローを防止するための調整例では、復元VSYNC(d0,d1,d2,d3…)即ちブランキング終了時は表示のタイミングと同等である。図示の最初の復元データ遷移の期間(最初の復元VSYNC(d0〜d1)の期間B1)におけるデータ蓄積量の増加の過程においては、デコードすべきデータをバッファへ書き込んでいくと、バッファのデータ蓄積量は直線的に徐々に増えていき、所定の映像情報表示期間を経過した適宜のタイミング(予め決めておけばよい)でバッファに蓄積されたデータが瞬時に読み出され、その結果としてバッファ蓄積量が瞬間的に減少するがその減少したときにどれだけ減少したか、即ち通常であれば減少するとは言っても最低限保有しておかなければならないデータ量が決められているので、アンダーフロー閾値を下回ることはないはずなのに下回っていれば、その閾値を下回った分(差分量)に応じて次の垂直周期(フィールド)期間におけるVブランキング期間の長さを調整する。
【0054】
ニアリーアンダーフローが1回通知されたことを受けて、Vブランキング終了時のデータ蓄積量とニアリーアンダーフロー閾値との差分量(図5(a)におけるニアリーアンダーフロー閾値のライン下に↓にて示している)に応じて、次の復元VSYNC期間内のVブランキング期間を調整する。例えば、読み出し時のタイミングd1で検出された復元データ遷移の値(バッファ蓄積量)のニアリーアンダーフロー閾値との差分量に基づいて次の復元VSYNC期間B2内のVブランキング期間の長さが決定され、その結果として瞬間的にバッファ蓄積量が減少した後、再びバッファへのデータ書き込みがなされてバッファ蓄積量は直線的に徐々に増え、先に決定されたVブランキング期間の長さに基づき再び読み出し時のタイミングd2で検出が行われ、検出された復元データ遷移の値(バッファ蓄積量)のニアリーアンダーフロー閾値との差分量に基づいて次の復元VSYNC期間B3内のVブランキング期間の長さが決定される、……といった動作が繰り返される。差分量(=ニアリーアンダーフロー閾値−データ蓄積量)が大きければVブランキング期間を伸張し、差分量が小さければVブランキング期間を短縮するように調整する。
【0055】
図4同様、調整されたブランキング期間は、Vブランキング制御部262から出力されるVブランキング通知信号(図5(b)参照)のハイレベル期間の長短にて知ることができる。
【0056】
また、図5(b)の制御の結果、ビデオデコーダ27、又は、表示部33は図5(c)に示す「復元STC」を参照して、デコード、又は、表示の開始タイミングを計っていることと等価となる。本実施形態では、開始タイミングはバッファのデータ消費タイミングになっており、このタイミング(データ遷移が垂直方向に変化する時)において「本来STC」とほぼ同じ値を「復元STC」が遷移していることから、「本来STC」を参照しているのと同等な映像再生が図4と同様に行える。
【0057】
ところで、上記図4及び図5の例ではニアリーオーバーフロー、或いは、ニアリーアンダーフローが通知されたVSYNC期間、或いは、次のVSYNC期間のVブランキング期間を調整(短縮又は伸張)することを例に説明しているが、本発明はこれに限定されない。例えば、通知されたVSYNC期間の2つ以上先のVSYNC期間に対して調整しても良く、通知されたVSYNC期間のVブランキングだけではなく、連続的に又は周期的にある回数のVSYNC期間に対して調整しても良く、本実施形態はこれら全て含む。
【0058】
VSYNC生成部263では、Vブランキング通知信号の変化点を検出することで、VSYNCを生成する。この様子は、図4(b)、図5(b)に「復元VSYNC」としてVブランキング通知信号と共に記載してある。本実施形態ではVブランキング通知信号の変化点としてその立ち下りを検出することでVSYNCが生成できる。
【0059】
なお、VSYNCとVブランキング通知信号の変化点との間には固定的な時間差(遅延時間)が存在することも可能であり、本発明はこれを含む。例えば、Vブランキング通知信号の立ち下がりから27MHzで100サイクル遅延をもってVSYNCを発生(アクティブ)させても良い。
【0060】
さらに、VSYNCの極性は“H”アクティブではなく、“L”アクティブとすることも可能であり、また、そのアクティブ時間を27MHzや水平ラインの1周期分とするのではなく、2周期分以上の期間を持たせることも可能であり、本実施形態はこれら全て含む。
なお、パケットデータに含まれて放送局より送られてくるPCRに基づいて受信側で生成されるSTCは、図1の受信装置では、ビデオデコーダ27やオーディオデコーダ28では必要であるが、再生同期制御部26では必要としない。
【0061】
本発明の実施形態によれば、バッファのデータ蓄積量と、予め定めてある閾値との比較を行い、その比較結果に応じて、垂直同期周期の長さを調整し、その調整結果から新たな垂直同期信号を生成するようにしたので、バッファにおけるオーバーフローやアンダーフローが起きないように垂直同期周期の長さは自動的に調整される結果、VCXOなどの高価な部品を使うことなく、PWM制御等を行わずに、しかもデータの欠損なしに映像や音声を再生することが可能となる。
【0062】
以上のように、本実施形態によれば、PWM制御なしにSTDバッファのオーバーフロー及びアンダーフローを抑制することで、データの欠損なしに映像再生が行える。
【0063】
PWM制御が必要なくなることから、VCXOのような高価な部品ではなく、電圧制御を要しない単周波数の安価な水晶発振器(Xtal)により、受信装置を構成できる。
【図面の簡単な説明】
【0064】
【図1】本発明の一実施形態のバッファ制御装置が適用される受信装置のブロック図。
【図2】図1における再生同期制御部の内部ブロック図。
【図3】リングバッファの動作を示す説明図。
【図4】ニアリーオーバーフローにおける調整例を示す説明図。
【図5】ニアリーアンダーフローにおける調整例を示す説明図。
【図6】本発明の関連技術における、PWM制御なしとした場合における問題点(オーバーフロー例)を示す説明図。
【図7】本発明の関連技術における、PWM制御なしとした場合における問題点(アンダーフロー例)を示す説明図。
【符号の説明】
【0065】
20…受信装置
24…システムデコーダ
26…再生同期制御部
27…ビデオデコーダ
28…オーディオデコーダ
31…メモリ(バッファを含む)

【特許請求の範囲】
【請求項1】
バッファのデータ蓄積量と、予め定めてある閾値との比較を行い、比較結果をニアリーオーバーフロー或いはニアリーアンダーフローとして検出するニアリーフロー検出部と、
前記ニアリーフロー検出部の比較結果に応じて、垂直同期周期の長さを調整する垂直周期制御部と、
前記垂直同期制御部の調整結果から新たな垂直同期信号を生成する垂直同期信号生成部と、
を具備することを特徴とするバッファ制御装置。
【請求項2】
前記ニアリーフロー検出部は、閾値をバッファ開始ポインタからのデータ量とし、データ蓄積量が閾値以上又は閾値より大きい場合をニアリーオーバーフローとして、データ蓄積量が閾値以下又は閾値より小さい場合をニアリーアンダーフローとして、それぞれ検出することを特徴とする請求項1記載のバッファ制御装置。
【請求項3】
前記垂直周期制御部は、垂直同期周期内のブランキング期間のみを調整することを特徴とする請求項1又は2記載のバッファ制御装置。
【請求項4】
前記垂直同期信号生成部は、前記垂直周期制御部からブランキング期間を通知する信号を受け取り、この信号の変化点を新たな垂直同期信号とすることを特徴とする請求項1乃至3のいずれか1つに記載のバッファ制御装置。
【請求項5】
放送番組が符号化されたデータとしてパケット単位にて伝送され、これを受信する受信装置において、
請求項1乃至4のいずれか1つに記載のバッファ制御装置と、
入力するパケットから所定の識別子又はデータパターンを有するパケットを識別して出力するシステムデコーダと、
前記システムデコーダから出力されたデータのうち、映像データを復号化する映像デコーダと、
前記システムデコーダから出力されたデータのうち、音声データを復号化する音声デコーダと、
前記システムデコーダから出力されたデータのうち、放送番組の受信に必要となる前記各デコーダ及び前記バッファ制御装置の設定を少なくとも行うホストプロセッサと、
を具備することを特徴とする受信装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−200938(P2009−200938A)
【公開日】平成21年9月3日(2009.9.3)
【国際特許分類】
【出願番号】特願2008−41707(P2008−41707)
【出願日】平成20年2月22日(2008.2.22)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(390010308)東芝デジタルメディアエンジニアリング株式会社 (192)
【Fターム(参考)】