JP4561240B2 - データ処理装置およびデータ処理方法並びにデータ送受信システム - Google Patents

データ処理装置およびデータ処理方法並びにデータ送受信システム Download PDF

Info

Publication number
JP4561240B2
JP4561240B2 JP2004246250A JP2004246250A JP4561240B2 JP 4561240 B2 JP4561240 B2 JP 4561240B2 JP 2004246250 A JP2004246250 A JP 2004246250A JP 2004246250 A JP2004246250 A JP 2004246250A JP 4561240 B2 JP4561240 B2 JP 4561240B2
Authority
JP
Japan
Prior art keywords
data
counter
buffer
count
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004246250A
Other languages
English (en)
Other versions
JP2006067158A (ja
Inventor
薫 柳本
久夫 櫻井
裕明 安永
哲郎 後藤
隆綱 佐々木
一夫 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004246250A priority Critical patent/JP4561240B2/ja
Publication of JP2006067158A publication Critical patent/JP2006067158A/ja
Application granted granted Critical
Publication of JP4561240B2 publication Critical patent/JP4561240B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Time-Division Multiplex Systems (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Television Signal Processing For Recording (AREA)

Description

本発明は、画像、音声等の様々なコンテンツデータをストリームデータとして処理するデータ処理装置およびデータ処理方法並びにデータ送受信システムに関する。
昨今、インターネット通信など、様々な通信媒体を介した画像、音声データ等の様々なコンテンツのデータ転送が盛んに行われている。特に、近年においては、インターネット上のデータ転送において、従来から利用されているダウンロード型伝送方式に加えて、ストリーム型伝送方式によるサービスが増加してきている。
ストリーム型伝送方式は、送信側から受信端末にデータ送信が行われている間に、並列して受信データの再生処理を実行するものであり、インターネット電話・遠隔テレビ会議や、たとえばビデオオンデマンド(VOD)等、様々なコンテンツをストリーミング映像配信によって行うサービスに利用されている。
また、放送・通信・蓄積といったすべてのアプリケーションに対して汎用的に使用できる動画像圧縮方式として、MPEG(Moving Picture Experts Group)が知られている。
上記ストリーム型伝送方式では、MPEGによるトランスポートストリーム(以下、MPEG−TSという)を、イーサネット(登録商標)コントローラあるいはIEEE802.11に準拠した無線コントローラにより伝送することが行われている。たとえば、MPEG−TSは、RTP(Real-time Transport Protocol)/UDP(User Datagram Protocol)やHTTP(HyperText Transfer Protocol) /TCP(Transport Control Protocol)などのプロトコルに従ってパケット単位で伝送される。
その際、上述した各プロトコルでは、時刻情報を入れるフィールドがないため、ネットワークでパケットの時系列上の順序が狂ってしまった場合には、受信側で正しくMPEG−TSパケットを再生することができない。
したがって、受信側で確実にMPEG−TSパケットを再生することを可能にするため、送信側においてMPEG−TSパケットに時刻情報であるタイムスタンプを付加することが行われる。たとえば、下記特許文献1には、タイムスタンプを付加した受信パケット処理についての技術が開示されている。
一方、MPEG−TSパケットを伝送する際には、ネットワークの特性上、パケットドロップが必ず発生し、その場合には、パケットの再送信が行われる。
受信側では、受信したMPEG−TSデータを直接MPEGデコーダで処理してしまうと、上記パケットドロップおよびパケット再送信が行われた場合に、元々のパケット間のタイミングが失われてしまうので、通常は受信したMPEG−TSデータをFIFOバッファに一時的に格納し、送信側で付加されたタイムスタンプに基づいて、同期化処理を行い、タイムスタンプを取り除いた形でMPEGデコーダに入力する。
特開2003−179637号公報
ところで、ストリーム型伝送方式では、送信側と受信側では、共通の周波数(MPEG2の場合、27MHz)の発振器を有し、発振器が生成するクロック信号に同期した処理を行っている。この点、受信側のMPEGデコーダの都合の良いタイミングでデータを読み出すことができる、蓄積系メディアから再生する場合と相違している。
たとえば、送信側では、MPEG−TSパケットに対して、27MHzのクロック信号に同期して32ビットのカウンタ値としてのタイムスタンプを付加する。受信側では、MPE−TSデータの最初のパケットのタイムスタンプを初期値として、27MHzのクロック信号に同期してカウントアップを行い、そのカウント値と受信した各パケットのタイムスタンプの値とを比較して、各パケットを出力するか否かを判断する。
しかし、送信側と受信側とで、発振器が生成するクロック信号の周波数に誤差があり、全く同一ということはない。
また、通常のBS放送,地上波ディジタル放送などのディジタル放送の場合、完全にリアルタイムで送信されており、受信機側のPLL回路により同期を取ることができるため、送信側と受信側とでクロック信号の周波数を一致させることが可能であるが、ネットワーク経由でデータの送受信を行う場合には、リアルタイム性がないため、同様の手法を適用することができない。
したがって、ネットワーク経由でデータの送受信を行う際に、送信側と受信側とで発振器が生成するクロック信号の周波数が異なる場合、以下に述べる不利益が招来する。
仮に、送信機側のクロック信号の周波数が受信機側のそれと比較して、少し高い場合には、受信側のFIFOバッファに少しずつMPEG−TSデータが蓄積されていく。かかる場合には、FIFOバッファがオーバーフローしないように、FIFOバッファに十分なデータ量が格納された時には、所定のデータ量、たとえば、FIFOバッファのデータ容量の半分となるようにMPEG−TSデータを除去することが行われる。
当然ながら、除去されたMPEG−TSデータは受信側でデコードすることができず、その結果、たとえば、当該MPEG−TSデータによる動画再生が一瞬途切れてしまうことになる。
逆に、送信機側のクロック信号の周波数が受信機側のそれと比較して、少し低い場合には、受信側のFIFOバッファから少しずつMPEG−TSデータが取り出されていく。かかる場合には、FIFOバッファがアンダーフローしないように、FIFOバッファに格納されるデータ量が所定のデータ量を下回った時に、FIFOバッファからのMPEG−TSデータの出力を、所定のデータ量、たとえば、FIFOバッファのデータ容量の半分が格納されるまで中止することが行われる。
当然ながら、FIFOバッファから出力を中止された分のMPEG−TSデータについてデコードすることができず、その結果、たとえば、当該MPEG−TSデータによる動画再生が一瞬途切れてしまうことになる。
本発明はかかる事情に鑑みてなされたものであり、その目的は、受信したストリームデータについてデータの欠落なく確実に処理して出力することを可能とするデータ処理装置およびデータ処理方法並びにデータ送受信システムを提供することにある。
上記目的を達成するための本発明の第1の観点は、クロックを発生させる発振器と、送信側のクロックに同期した、時刻情報としてのタイムスタンプがパケット毎に付加されたストリームデータを格納し、前記発振器のクロックに同期して、当該格納したストリームデータを、その格納順序で出力するバッファと、前記バッファに格納されたストリームデータの時刻管理のための基準パケットのタイムスタンプが示す値カウントの初期値と前記発振器のクロックをカウントするカウンタと、前記カウンタに制御信号を出力し、前記カウンタのカウント速度を調整する制御手段と、を有し、前記制御手段は、前記バッファに格納された各パケットのタイムスタンプが示す値と前記カウンタのカウント値との大小をパケット毎に比較し、比較の結果、比較対象のパケットのタイムスタンプが示す値が、前記カウンタのカウント値と同一若しくはそれ以下である場合には、前記バッファに対してストリームデータの出力を許可するとともに、前記バッファに格納されたデータ量を読み取前記データ量が、前記バッファの容量に応じて設定される許容範囲外にある場合には、前記データ量が前記許容範囲内となるように、前記カウンタのカウント速度を調整するデータ処理装置である。
好適には、前記制御手段は、前記データ量が、前記許容範囲を示す第1の閾値以上である場合には、前記カウンタの前記カウント速度を、前記発振器のクロックの周波数で定まる第1のカウント速度よりも速い第2のカウント速度に変更する。
好適には、前記制御手段は、前記データ量が、前記許容範囲を示し、前記第1の閾値よりも小さい第2の閾値以下である場合には、前記カウンタの前記カウント速度を、記第1のカウント速度よりも遅い第3のカウント速度に変更する。
上記目的を達成するための本発明の第2の観点は、クロックを発生させる第1のステップと、送信側のクロックに同期した、時刻情報としてのタイムスタンプがパケット毎に付加されたストリームデータをバッファに格納する第2のステップと、前記バッファに格納されたストリームデータの時刻管理のための基準パケットのタイムスタンプをカウントの初期値と前記第1のステップで発生させたクロックを、カウンタを用いてカウントする第3のステップと、前記バッファに格納された各パケットのタイムスタンプが示す値と前記カウンタのカウント値との大小をパケット毎に比較する第4のステップと、前記第4のステップでの比較結果、比較対象のパケットのタイムスタンプが示す値が、前記カウンタのカウント値と同一若しくはそれ以下である場合に、前記バッファに対してストリームデータの出力を許可する第5のステップと、前記第1のステップで発生させたクロックに同期して前記バッファに格納したストリームデータを、その格納順序で前記バッファから出力する第6のステップと、前記バッファに格納されたデータ量を読み取る第7のステップと、前記データ量が、前記バッファの容量に応じて設定される許容範囲外にある場合には、前記データ量が前記許容範囲内となるように、前記カウンタに制御信号を出力し、前記カウンタのカウント速度を調整する第8のステップとを有するデータ処理方法である。
上記目的を達成するための本発明の第3の観点は、数のパケットからなるストリームデータを送信するデータ送信装置と、前記ストリームデータを受信する受信装置と、を有し、前記データ送信装置は、前記ストリームデータに含まれる各パケットに対して、第1のクロックに同期して時刻情報としてのタイムスタンプを付加するタイムスタンプ付加手段と、前記タイムスタンプ付加手段によってタイムスタンプが付加されたストリームデータを送信する送信手段と、を含み、前記データ受信装置は、前記ストリームデータを受信する受信手段と、第2のクロックを発生させる発振器と、前記第1のクロックに同期した、時刻情報としてのタイムスタンプがパケット毎に付加された、前記受信手段によって受信されたストリームデータを格納し、前記発振器の第2のクロックに同期して、当該格納したストリームデータを、その格納順序で出力するバッファと、前記バッファに格納されたストリームデータの時刻管理のための基準パケットのタイムスタンプが示す値カウントの初期値と前記発振器の第2のクロックをカウントするカウンタと、前記カウンタに制御信号を出力し、前記カウンタのカウント速度を調整する制御手段と、を有し、前記制御手段は、前記バッファに格納された各パケットのタイムスタンプが示す値と前記カウンタのカウント値との大小をパケット毎に比較し、比較の結果、比較対象のパケットのタイムスタンプが示す値が、前記カウンタのカウント値と同一若しくはそれ以下である場合には、前記バッファに対してストリームデータの出力を許可するとともに、前記バッファに格納されたデータ量を読み取前記データ量が、前記バッファの容量に応じて設定される許容範囲外にある場合には、前記データ量が前記許容範囲内となるように、前記カウンタのカウント速度を調整するデータ送受信システムである。
本発明の第1の観点に係るデータ処理装置によれば、バッファ送信側のクロックに基づいて時刻情報としてのタイムスタンプがパケット毎に付加されたストリームデータ格納発振器が発生させたクロックに同期して出力する。
そして、バッファに格納されたストリームデータの時刻管理のための基準パケットのタイムスタンプが示す値カウントの初期値としてカウンタを動作させ、当該カウンタは、制御手段により調整されたカウント速度に応じて、カウントする。
制御手段は、極力均等時間でバッファからストリームデータが出力されるように、前記バッファに格納された各パケットのタイムスタンプが示す値と前記カウンタのカウント値との大小をパケット毎に比較し、比較の結果、比較対象のパケットのタイムスタンプが示す値が、前記カウンタのカウント値と同一若しくはそれ以下である場合には、前記バッファに対してストリームデータの出力を許可する。
その際、制御手段は、バッファに格納されたデータ量を読み取前記データ量が、前記バッファの容量に応じて設定される許容範囲外にある場合には、前記データ量が前記許容範囲内となるように、前記カウンタのカウント速度を調整する。
したがって、第1のクロックと第2のクロックの周波数が一致しないことにより、バッファがオーバーフロー/アンダーフローに近づく場合には、バッファに格納されたデータ量に応じて、バッファからのストリームデータの出力可否が制御されるため、バッファが破綻することがない。
すなわち、本発明によれば、ストリームデータにタイムスタンプが付加された際のクロック(第1のクロック)と、カウンタの基準となるクロック(第2のクロック)がずれる場合でも、バッファがオーバーフローまたはアンダーフローすることはなく、ストリームデータについてデータの欠落なく確実に処理して出力することが可能となる。
実施の形態
以下、本発明のデータ送受信システムの一実施形態について、添付図面に関連付けて説明する。
図1は、実施形態に係るデータ送受信システムのブロック図を示す。なお、図示した例は、地上波ディジタル放送をTVセットで再生する場合について示す。
本実施形態に係るデータ送受信システムは、データとして画像データの授受を行うシステムであって、画像データを送信するデータ送信装置2aと、画像データを受信するデータ受信装置1と、画像データを再生するTVセット等のデータ再生装置3と、から構成される。
データ送信装置2aは、受信アンテナ21と、ディジタルチューナ(D_TNR)22aと、チャンネルデコーダ(CNL_DEC)23aと、タイムスタンプ付加処理部(TM_A)24、発振器(OSC)25と、CPU26と、インタフェース(I/F)27と、を含んで構成される。
なお、タイムスタンプ付加処理部24は、本発明のタイムスタンプ付加手段の一実施形態である。
インタフェース27は、本発明の送信手段の一実施形態である。
以下では、MPEGによる符号化を一例としてMPEG−TS(トランスポートストリーム)データの場合を説明するが、パケット毎の時刻情報を含むストリームデータであれば、MPEG−TSデータ以外のストリームデータに適用可能である。
ディジタルチューナ22aは、受信アンテナ21が受信した地上波ディジタル放送波に用いるOFDM(Orthogonal Frequency Division Multiplexing)の周波数を周波数変換によりダウンコンバートして、任意のチャンネル(放送局)の地上波ディジタル放送信号S22aを抽出する。
チャンネルデコーダ23aは、地上波ディジタル放送信号S22aを、たとえばQPSK復調して復調信号を生成するとともに、当該復調信号からトランスポートストリームデータ(MPEG−TSデータ)S23aを生成する。
タイムスタンプ付加処理部24は、MPEG−TSデータS23aに対して、発振器25が生成する27MHzのクロック信号(本発明の第1のクロック)に基づいて、時刻情報としてのタイムスタンプTMを付加し、タイムスタンプ付きMPEG−TSデータS24を生成する。
タイムスタンプTMは、27MHzのクロック信号に同期して単調に増加する32ビット16進カウンタの値であり、32ビットの最大値の16進表記の「0xff ff ff ff」までカウントした後は、「0x00 00 00 00」に戻りカウントアップを続ける。
図2は、タイムスタンプ付加処理部24の処理を説明するための図である。
図2において、(a)はMPEG−TSデータのパケット構造を、(b)はタイムスタンプTMが付加されたMPEG−TSデータのパケット構造を、それぞれ示す。図2(a)に示すように、チャンネルデコーダ23aが生成するMPEG−TSデータの各パケットは、4バイトのヘッダおよび184バイトのペイロード(パケットで伝送するデータ部分)の合計188バイトから構成されるのが一般的である。
タイムスタンプ付加処理部24では、図2(b)に示すように、MPEG−TSデータの各パケットに対して、4バイトのタイムスタンプTMを順次付加する処理を行う。
CPU26は、データ送信装置2aの全体の処理を統括するとともに、タイムスタンプ付きMPEG−TSデータS24に対して、RTP/UDPやHTTP/TCPなどのプロトコルに従ったパケット単位のデータを生成する。このデータは、たとえば、イーサネットコントローラあるいはIEEE802.11に準拠した無線コントローラ等を含むインタフェース27等により、データ受信装置1に対して送信される。
本発明のデータ処理装置およびデータ受信装置としてのデータ受信装置1は、インタフェース(I/F)11と、CPU12と、FIFOバッファ(FIFO)13と、発振器(OSC)14と、タイムスタンプ同期出力処理部(TM_CTRL)15と、MPEG−TSデコーダ(MPEG_DEC)16と、を含んで構成される。
なお、インタフェース11は、本発明の受信手段の一実施形態である。
FIFOバッファ13は、本発明のバッファの一実施形態である。
CPU12に内蔵され、後述するカウンタ121は、本発明のカウンタの一実施形態である。
CPU12は、本発明の制御手段の一実施形態である。
インタフェース11は、送信側からの信号を正しく受信できるように、たとえば、イーサネットコントローラあるいはIEEE802.11に準拠した無線コントローラ等を含む。
CPU12は、データ受信装置1全体の処理を統括するとともに、RTP/UDPやHTTP/TCPなどのプロトコルに従ったパケット単位の受信データからMPEG−TSパケットデータ(TS_P)を抽出して、FIFOバッファ13に順次格納する。
なお、MPEG−TSパケットを伝送する際には、ネットワークの特性上、パケットドロップが必ず発生し、その場合には、パケットの再送信を行われる。
その際、受信したMPEG−TSデータを直接MPEGデコーダ16で処理してしまうと、上記パケットドロップおよびパケット再送信が行われた場合に、元々のパケット間のタイミングが失われてしまうので、データ受信装置1は、受信したMPEG−TSデータをFIFOバッファ13に一時的に格納する構成としている。
FIFOバッファ13では、後述するように、格納したMPEG−TSデータの各パケットの出力可否がCPU12により制御される。CPU12により各パケットの出力が許可されると、発振器14が生成する27MHzのクロック信号(本発明の第2のクロック)に同期して出力を行う。
なお、FIFOバッファ13は、CPU12内部に構成されていてもよい。
次に、CPU12、FIFOバッファ13および発振器14間の構成について、図3に関連付けて説明する。
図3は、CPU12のFIFOバッファ13に対する出力制御に関連したCPU12とFIFOバッファ13の回路ブロックの構成を示す図である。図3に示すように、CPU12は、FIFO制御部122、カウンタ121、および比較回路123により構成される。
なお、図において、TS1は、FIFOバッファ13に入力されるMPEG−TSデータを、TS2は、FIFOバッファ13から出力するMPEG−TSデータを、それぞれ示す。
図3において、カウンタ121は、32ビットカウンタであり、TS1の最初のパケットに含まれるタイムスタンプを初期値としてセットし、発振器14による27MHzのクロック信号(本発明の第2のクロック)に基づいて計数する。すなわち、カウンタ121のカウント値Cntは、27MHzのクロック信号に同期して単調に増加する32ビットの値であり、32ビットの最大値の16進表記の「0xff ff ff ff」までカウントした後は、「0x00 00 00 00」に戻りカウントアップを続ける。
カウンタ121の計数速度(カウント速度)は、FIFO制御部122により制御信号S122をもって制御される。
なお、上記カウンタ121は、CPU12と別体で構成してもよい。
なお、カウンタ121は、TS1の最初のパケットに含まれるタイムスタンプを初期値とするが、最初のパケットに限定するものではなく、時刻管理のための基準パケットが最初のパケットでない場合には、当該基準パケットのタイムスタンプにより初期値がセットされる。
比較回路123は、カウンタ121のカウント値Cntと、FIFOバッファ13からのMPEG−TSデータ(TS1)の各パケットのタイムスタンプとを比較する。
FIFO制御部122は、その比較結果に基づいて、FIFOバッファ13からの出力可否を制御信号S12により制御する。すなわち、以下(1)式を満足する場合に、TSパケットの出力(TS2の出力)を許可する。

タイムスタンプ≦カウント値Cnt … (1)

これにより、大量のMPEG−TSデータを受信した場合であっても、その大量のデータを一時にMPEG−TSデコーダ16に引き渡すことなく、タイムスタンプの値に応じて、時間遅れをもって供給することになるため、極力均等な間隔でデコード処理を行うことが可能となる。
また、FIFO制御部122は、FIFOバッファ13に蓄積されるデータ量を信号S13によって読み取る。FIFO制御部122は、読み取ったデータ量に応じて、カウンタ121に対して信号S122により計数速度の変更を指示する。
計数速度の変更の具体例については、後述する。
図1の全体構成の図の説明に戻る。
タイムスタンプ同期出力処理部15は、FIFOバッファ13から出力が許可されたMPEG−TSデータの各パケット(TS_P)に対して、送信側で各パケットに付加されたタイムスタンプに基づき同期化処理を行う。これにより、データ送信装置2aでの元々の各パケットのタイミング関係が維持された状態で、MPEG−TSデコーダ16にMPEG−TSデータが供給される。その際、MPEG−TSデータは、各パケットのタイムスタンプが取り除かれた状態で、MPEG−TSデコーダ16に供給される。
MPEG−TSデコーダ16では、供給されたMPEG−TSデータの各パケットに含まれるMPEGデータに対して、逆量子化および逆DCT等を含む復号化処理を施し、映像信号をデータ再生装置3へ出力する。
ところで、図3において、カウンタ121は、データ送信装置2aからのMPEG−TSデータの最初のパケットのタイムスタンプを初期値としているため、仮に、送信側の発振器25のクロック周波数と、受信側の発振器14のクロック周波数とが全く同一の場合には、比較回路123での比較処理において、伝送される各パケットのタイムスタンプの値とカウンタ121の値が完全に一致し、すべてのパケット(TS1のパケット)についてFIFOバッファ13から順次出力が許可され、データ再生装置3において途切れなく画像が再生される。
しかしながら、実際には、送信側の発振器25と、受信側の発振器14の発振周波数偏差等により、両者のクロック周波数が一致しないようになると、FIFOバッファ13にオーバーフローまたはアンダーフローが発生し、データ再生装置3の画像再生が一瞬途切れる現象が発生する場合がある。
そこで、本実施形態に係るデータ受信装置1では、FIFOバッファ13に蓄積されたデータ量に応じて、カウンタ121の計数速度を調整する。
以下、このカウンタ121の計数速度の調整処理について、図4に関連付けて説明する。
図4は、FIFOバッファ13のデータ量に応じたカウンタ121の制御について示す図であり、(a)はカウンタ121を加速させる場合、(b)はカウンタ121を減速させる場合である。
図4(a)に示すように、FIFOバッファ13に蓄積されたデータ量が予め規定された閾値Th_1を越えることは、データ受信装置1の発振器14のクロック周波数が、データ送信装置2aの発振器25のそれよりも低い場合に起こる。かかる場合には、データ送信装置2aからのMPEG−TSデータの2番目以降のパケットのタイムスタンプがカウンタ121のカウント値Cntよりも大きくなるため、前記した(1)式を満足せず、FIFOバッファ13からの出力が許可されずに蓄積され続け、FIFOバッファ13がオーバーフローとなる可能性がある。
したがって、この場合には、カウンタ121を加速させることによって、FIFOバッファ13に蓄積するデータ量の調整を行う。
具体的には、図3において、FIFO制御部122は、信号S13によりFIFOバッファ13からデータ量を読み取り、そのデータ量を閾値Th_1と比較して、データ量が閾値Th_1(本発明の第1の閾値)を越える場合には、後述するように、カウンタ121に対して制御信号S122により加速処理を行う。
すなわち、カウンタ121の計数速度を、発振器14のクロック周波数で定まる計数速度(本発明の第1のカウント速度)を速くした計数速度(本発明の第2のカウント速度)に変更する。どの程度計数速度を変化させるかについては、発振器25(送信側)と発振器14(受信側)の発振精度によって規定すればよい。
なお、閾値Th_1は、FIFOバッファ13が格納可能な最大容量に対して余裕分を考慮した値や、FIFOバッファ13の格納可能な最大容量に対して所定の比率(70〜80%等)の値を設定すればよい。
一方、図4(b)に示すように、FIFOバッファ13に蓄積されたデータ量が予め規定された閾値Th_2よりも下回ることは、データ受信装置1の発振器14のクロック周波数が、データ送信装置2aの発振器25のそれよりも高い場合に起こる。かかる場合には、データ送信装置2aからのMPEG−TSデータの2番目以降のパケットのタイムスタンプがカウンタ121のカウント値よりも小さくなるため、前記した(1)式を満足し、FIFOバッファ13からの出力が順次許可されていき、FIFOバッファ13がアンダーフローとなる可能性がある。
したがって、この場合には、カウンタ121を減速させることによって、FIFOバッファ13に蓄積するデータ量の調整を行う。
具体的には、図3において、FIFO制御部122は、信号S13によりFIFOバッファ13からデータ量を読み取り、そのデータ量を閾値Th_2と比較して、データ量が閾値Th_2(本発明の第2の閾値)を下回った場合には、後述するように、カウンタ121に対して制御信号S122により減速処理を行う。
すなわち、カウンタ121の計数速度を、発振器14のクロック周波数で定まる計数速度(本発明の第1のカウント速度)を遅くした計数速度(本発明の第3のカウント速度)に変更する。どの程度計数速度を変化させるかについては、発振器25(送信側)と発振器14(受信側)の発振精度によって規定すればよい。
なお、閾値Th_2は、FIFOバッファ13が空になるまでの余裕分を考慮した値や、FIFOバッファ13の格納可能な最大容量に対して所定の比率(20〜30%等)の値を設定すればよい。
次に、カウンタ121の加速処理および減速処理の実施例について説明する。
〔1〕加速処理
図5は、カウンタ121の加速処理の一例であるフローチャートを示す。このフローチャートは、122ppmで加速する場合の処理を示す。なお、「122ppmで加速する」とは、100万回カウントする毎にカウント値が122回だけ余分に増加する、すなわちカウント値が100万122となることを意味する。また、フローチャートにおいて、Xはカウンタ121のカウント値を示す。
図5のフローチャートによれば、32ビットのカウント値Xの末尾16ビットが所定の値になったときに通常より余分にカウントする。すなわち、通常は27MHzのクロック信号に応じて、1/27,000,000秒に1つだけカウントアップさせ(ステップST18)、カウント値Xの末尾16ビットが16進表現で「0x2000」,「0x4000」,「0x6000」,「0x8000」,「0xa000」,「0xc000」または「0xe000」になった時に限り(ステップST10〜16)、2つカウントアップさせる(ステップST17)。
また、カウント値Xが32ビットの最大値に達した場合には(ステップST19)、最初からカウントを継続する(ステップST20)。
以上により、カウンタ121による122ppmの加速処理が実現できる。
なお、たとえば、発振器14の発振精度が低く、発振器25と発振器14のクロック周波数の差が大きい場合など、カウンタ121の計数速度をさらに速くしたいときには、2つのカウントアップを行うタイミングを増加させればよい。たとえば、244ppmの加速処理を実現するためには、カウント値Xの末尾16ビットが16進表現で「0x1000」,「0x2000」,…,「0xe000」,「0xf000」になった時に、2つカウントアップさせる。
なお、一般に、通常の精度の水晶発振器は、±30ppm程度であり、安価で精度が良くない水晶発振器は、±100ppm程度であるため、発振器25と発振器14とで最悪200ppm程度の加減速が可能であれば、性能上問題ないと考えられる。
〔2〕減速処理
図6〜8は、カウンタ121の減速処理の一例であるフローチャートを示す。このフローチャートは、122ppmで減速する場合の処理を示す。なお、「122ppmで減速する」とは、100万回カウントするとカウント値が122回だけ少なくなる、すなわちカウント値が99万9878となることを意味する。また、フローチャートにおいて、Xはカウンタ121のカウント値を示す。
減速処理を実現するために、カウント値Xが所定の値になったときにホールド処理(カウントアップしない処理)を行う。
図6において、処理Aは、カウント値Xが所定の値になったときにホールド処理を行う処理であり、処理Bは、常にカウント値Xをカウントアップさせる処理である。
減速処理では、図6に示すように、変数proが「0」または「1」に交互に切り替わることで、処理Aおよび処理Bを交互に実行する。
図7は、処理Aについての一例であるフローチャートを示す。
図7のフローチャートによれば、32ビットのカウント値Xの末尾16ビットが所定の値になったときにカウントアップを行わない(ホールド処理)。すなわち、通常は27MHzのクロック信号に応じて、1/27,000,000秒に1つだけカウントアップさせ(ステップST42)、カウント値Xの末尾16ビットが16進表現で「0x2000」,「0x4000」,「0x6000」,「0x8000」,「0xa000」,「0xc000」または「0xe000」になった時に限り(ステップST35〜41)、2つカウントアップを行わない。
また、カウント値Xが32ビットの最大値に達した場合には(ステップST43)、最初からカウントを継続する(ステップST44)点は、加速処理と同様である。
以上により、カウンタ121による122ppmの減速処理が実現できる。
なお、たとえば、発振器14の発振精度が低く、発振器25と発振器14のクロック周波数の差が大きい場合など、カウンタ121の計数速度をさらに遅くしたいときには、カウントのホールドを行うタイミングを増加させればよい。たとえば、244ppmの減速処理を実現するためには、カウント値Xの末尾16ビットが16進表現で「0x1000」,「0x2000」,…,「0xe000」,「0xf000」になった時に、カウント値Xをホールドさせる。
図8は、処理Bについてのフローチャートを示す。これは、通常のカウントアップ処理と異ならない。
処理Aおよび処理Bを交互に繰り返すことによって、カウント値が処理Aでホールドされた場合でも、次の処理Bでカウントアップされるので、カウント値XがステップST35〜41に示した値に止まることはない。
以上説明したように、本実施形態に係るデータ受信装置1によれば、CPU12は、受信したMPEG−TSデータの最初のパケットに付加されたタイムスタンプを初期値として、発振器14に基づいて27MHzのカウンタ121を動作させ、そのカウント値と受信した各パケットのタイムスタンプを比較し、カウント値がタイムスタンプと同一もしくはそれ以上である場合に、各パケットのFIFOバッファ13からの出力を許可する。
その際、FIFOバッファ13に蓄積されたデータ量に応じて、カウンタ121の計数速度を調整するので、以下の効果を得ることができる。
すなわち、送信側でMPEG−TSデータにタイムスタンプを付加する際の基準となる発振器と、受信側でのカウンタ121の動作基準となる発振器とのクロック周波数のずれが生ずる場合であっても、FIFOバッファ13に蓄積されたデータ量をモニタした結果に基づいてカウンタ121の計数速度を調整することにより、FIFOバッファ13におけるオーバーフローあるいはアンダーフローの発生を回避することができ、データの欠落のないストリームデータに基づいて、復号・再生処理を行うことができる。
また、実施形態に係るデータ受信装置1は、27MHzのカウント処理を行う通常のMPEG−TSデータの受信装置に対して新たに付加する構成要素がないため、極めて安価に実現できる。
なお、送信側のクロック周波数(第1のクロックの周波数)と受信側のクロック周波数(第2のクロックの周波数)とを一致させる方法として、PLLなどを用いる方法も考えられるが、たとえば、27MHzのクロックについて数100Hz程度の微小なずれをPLLにより一致させることは、数10万分の1の精度のPLLを構成する必要があり、かかる高精度かつ安定性の高いPLLを実現することは製造上極めて困難である。
これに対して、実施形態に係るデータ受信装置1では、カウンタの計数速度を制御するだけで済み、これはソフトウエアによって実現可能であるため、極めて安価にバッファ制御を実現することができる。
本発明は、上述した実施形態に拘泥せず、その要旨を変更しない範囲で様々な改変が可能である。
たとえば、図9は、図1に示すデータ送受信システムと異なり、アナログ映像信号ASをデータ再生装置3に再生させる場合の構成である。
図9に示すデータ送受信システムでは、データ送信装置2bがアナログ映像信号ASをディジタルビデオ信号S22bへ変換し、MPEGエンコーダ23bがディジタルビデオ信号S22bからMPEG−TSデータを生成する。MPEG−TSデータが生成された後は、図1に示すデータ送受信システムと同様の処理となる。
実施形態に係るデータ送受信システムのブロック図を示す。 タイムスタンプ付加処理部24の処理を説明するための図である。 FIFOバッファ13の出力制御に関連する構成を示すブロック図である。 FIFOバッファ13のデータ量に応じたカウンタ121の制御について示す図である。 カウンタ121の加速処理の一例であるフローチャートを示す。 カウンタ121の減速処理の一例であるフローチャートを示す。 カウンタ121の減速処理の一例であるフローチャートを示す。 カウンタ121の減速処理の一例であるフローチャートを示す。 実施形態に係るデータ送受信システムの一変形例を示すブロック図である。
符号の説明
1…データ受信装置、11…インタフェース、12…CPU、13…FIFOバッファ、14…発振器、15…タイムスタンプ同期出力処理部、16…MPEG−TSデコーダ2a,2b…データ送信装置、21…受信アンテナ、22a…ディジタルチューナ、22b…ビデオデコーダ、23a…チャンネルデコーダ、23b…MPEGエンコーダ、24…タイムスタンプ付加処理部、25…発振器、26…CPU、27…インタフェース、3…データ再生装置。

Claims (5)

  1. クロックを発生させる発振器と、
    送信側のクロックに同期した、時刻情報としてのタイムスタンプがパケット毎に付加されたストリームデータを格納し、前記発振器のクロックに同期して、当該格納したストリームデータを、その格納順序で出力するバッファと、
    前記バッファに格納されたストリームデータの時刻管理のための基準パケットのタイムスタンプが示す値カウントの初期値と前記発振器のクロックをカウントするカウンタと、
    前記カウンタに制御信号を出力し、前記カウンタのカウント速度を調整する制御手段と、
    を有し、
    前記制御手段は、
    前記バッファに格納された各パケットのタイムスタンプが示す値と前記カウンタのカウント値との大小をパケット毎に比較し、比較の結果、比較対象のパケットのタイムスタンプが示す値が、前記カウンタのカウント値と同一若しくはそれ以下である場合には、前記バッファに対してストリームデータの出力を許可するとともに、前記バッファに格納されたデータ量を読み取前記データ量が、前記バッファの容量に応じて設定される許容範囲外にある場合には、前記データ量が前記許容範囲内となるように、前記カウンタのカウント速度を調整する
    データ処理装置。
  2. 前記制御手段は、
    前記データ量が、前記許容範囲を示す第1の閾値以上である場合には、前記カウンタの前記カウント速度を、前記発振器のクロックの周波数で定まる第1のカウント速度よりも速い第2のカウント速度に変更する
    請求項1記載のデータ処理装置。
  3. 前記制御手段は、
    前記データ量が、前記許容範囲を示し、前記第1の閾値よりも小さい第2の閾値以下である場合には、前記カウンタの前記カウント速度を、記第1のカウント速度よりも遅い第3のカウント速度に変更する
    請求項記載のデータ処理装置。
  4. クロックを発生させる第1のステップと、
    送信側のクロックに同期した、時刻情報としてのタイムスタンプがパケット毎に付加されたストリームデータをバッファに格納する第2のステップと、
    前記バッファに格納されたストリームデータの時刻管理のための基準パケットのタイムスタンプをカウントの初期値と前記第1のステップで発生させたクロックを、カウンタを用いてカウントする第3のステップと、
    前記バッファに格納された各パケットのタイムスタンプが示す値と前記カウンタのカウント値との大小をパケット毎に比較する第4のステップと、
    前記第4のステップでの比較結果、比較対象のパケットのタイムスタンプが示す値が、前記カウンタのカウント値と同一若しくはそれ以下である場合に、前記バッファに対してストリームデータの出力を許可する第5のステップと、
    前記第1のステップで発生させたクロックに同期して前記バッファに格納したストリームデータを、その格納順序で前記バッファから出力する第6のステップと、
    前記バッファに格納されたデータ量を読み取る第7のステップと、
    前記データ量が、前記バッファの容量に応じて設定される許容範囲外にある場合には、前記データ量が前記許容範囲内となるように、前記カウンタに制御信号を出力し、前記カウンタのカウント速度を調整する第8のステップと
    を有するデータ処理方法。
  5. 数のパケットからなるストリームデータを送信するデータ送信装置と、
    前記ストリームデータを受信する受信装置と、
    を有し、
    前記データ送信装置は、
    前記ストリームデータに含まれる各パケットに対して、第1のクロックに同期して時刻情報としてのタイムスタンプを付加するタイムスタンプ付加手段と、
    前記タイムスタンプ付加手段によってタイムスタンプが付加されたストリームデータを送信する送信手段と、
    を含み、
    前記データ受信装置は、
    前記ストリームデータを受信する受信手段と、
    第2のクロックを発生させる発振器と、
    前記第1のクロックに同期した、時刻情報としてのタイムスタンプがパケット毎に付加された、前記受信手段によって受信されたストリームデータを格納し、前記発振器の第2のクロックに同期して、当該格納したストリームデータを、その格納順序で出力するバッファと、
    前記バッファに格納されたストリームデータの時刻管理のための基準パケットのタイムスタンプが示す値カウントの初期値と前記発振器の第2のクロックをカウントするカウンタと、
    前記カウンタに制御信号を出力し、前記カウンタのカウント速度を調整する制御手段と、
    を有し、
    前記制御手段は、
    前記バッファに格納された各パケットのタイムスタンプが示す値と前記カウンタのカウント値との大小をパケット毎に比較し、比較の結果、比較対象のパケットのタイムスタンプが示す値が、前記カウンタのカウント値と同一若しくはそれ以下である場合には、前記バッファに対してストリームデータの出力を許可するとともに、前記バッファに格納されたデータ量を読み取前記データ量が、前記バッファの容量に応じて設定される許容範囲外にある場合には、前記データ量が前記許容範囲内となるように、前記カウンタのカウント速度を調整する
    データ送受信システム。
JP2004246250A 2004-08-26 2004-08-26 データ処理装置およびデータ処理方法並びにデータ送受信システム Expired - Fee Related JP4561240B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004246250A JP4561240B2 (ja) 2004-08-26 2004-08-26 データ処理装置およびデータ処理方法並びにデータ送受信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004246250A JP4561240B2 (ja) 2004-08-26 2004-08-26 データ処理装置およびデータ処理方法並びにデータ送受信システム

Publications (2)

Publication Number Publication Date
JP2006067158A JP2006067158A (ja) 2006-03-09
JP4561240B2 true JP4561240B2 (ja) 2010-10-13

Family

ID=36113253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004246250A Expired - Fee Related JP4561240B2 (ja) 2004-08-26 2004-08-26 データ処理装置およびデータ処理方法並びにデータ送受信システム

Country Status (1)

Country Link
JP (1) JP4561240B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003084B2 (en) * 2011-02-18 2015-04-07 Ab Initio Technology Llc Sorting
JP6335775B2 (ja) * 2014-12-24 2018-05-30 三菱電機株式会社 メディア受信装置
JP6252615B2 (ja) * 2016-03-25 2017-12-27 住友電気工業株式会社 クロック再生装置、ストリーム処理装置、クロック再生方法およびクロック再生プログラム
CN109068156A (zh) * 2018-08-16 2018-12-21 青岛海信传媒网络技术有限公司 一种节目录制、播放方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1093540A (ja) * 1996-09-18 1998-04-10 Hitachi Denshi Ltd データ伝送方式
JP2000101560A (ja) * 1998-09-24 2000-04-07 Sumitomo Electric Ind Ltd クロック同期回路及び伝送装置
JP2002165148A (ja) * 2000-11-29 2002-06-07 Sony Corp データ処理装置および方法、並びに記録媒体
JP2004015363A (ja) * 2002-06-06 2004-01-15 Matsushita Electric Ind Co Ltd データ通信装置及び方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1093540A (ja) * 1996-09-18 1998-04-10 Hitachi Denshi Ltd データ伝送方式
JP2000101560A (ja) * 1998-09-24 2000-04-07 Sumitomo Electric Ind Ltd クロック同期回路及び伝送装置
JP2002165148A (ja) * 2000-11-29 2002-06-07 Sony Corp データ処理装置および方法、並びに記録媒体
JP2004015363A (ja) * 2002-06-06 2004-01-15 Matsushita Electric Ind Co Ltd データ通信装置及び方法

Also Published As

Publication number Publication date
JP2006067158A (ja) 2006-03-09

Similar Documents

Publication Publication Date Title
EP1786209B1 (en) Content receiver, video-audio output timing control method, and content providing system
US7983345B2 (en) Content receiving apparatus, video/audio output timing control method, and content provision system
EP2011332B1 (en) Method for reducing channel change times in a digital video apparatus
US20060140221A1 (en) Reproduction apparatus and decoding control method
JP2004015111A (ja) データ配信システム
CN101202613B (zh) 一种用于时钟同步的终端
JP3922047B2 (ja) データ受信装置、および受信データ処理方法、並びにコンピュータ・プログラム
US20090204842A1 (en) Streaming Media Player and Method
JP3045715B2 (ja) 伝送システム、送信装置、記録再生装置、および記録装置
JP2008061150A (ja) 受信機及び情報処理方法
CN100473171C (zh) 一种广播网络中时钟同步的方法
KR20070008069A (ko) 음성/영상신호의 동기화 장치 및 방법
JP4561240B2 (ja) データ処理装置およびデータ処理方法並びにデータ送受信システム
JP3906712B2 (ja) データストリーム処理装置
JP4042396B2 (ja) データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
CN100544448C (zh) 一种移动多媒体网络的时钟同步系统
JP4192766B2 (ja) 受信装置および方法、記録媒体、並びにプログラム
JP2008252843A (ja) ストリーム再生装置
JP5149404B2 (ja) 映像受信装置
KR100698182B1 (ko) 디지털 방송 시스템의 av 출력 방법 및 장치
KR101112454B1 (ko) 무선 네트워크를 통한 디지털 멀티미디어 제어장치
CN101202918B (zh) 一种终端校正时钟的方法
JP4212404B2 (ja) ストリーム受信機のシステムクロック制御装置及びシステムクロック制御方法
US20070230512A1 (en) Receiving apparatus and transmitting/receiving method
CN100571119C (zh) 一种利用移动网络实现时钟同步的方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091020

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100706

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100719

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees