JP2008118549A - Receiving apparatus and clock synchronization method - Google Patents
Receiving apparatus and clock synchronization method Download PDFInfo
- Publication number
- JP2008118549A JP2008118549A JP2006301876A JP2006301876A JP2008118549A JP 2008118549 A JP2008118549 A JP 2008118549A JP 2006301876 A JP2006301876 A JP 2006301876A JP 2006301876 A JP2006301876 A JP 2006301876A JP 2008118549 A JP2008118549 A JP 2008118549A
- Authority
- JP
- Japan
- Prior art keywords
- time
- time count
- packet
- frequency difference
- difference
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
Description
本発明は、受信装置およびクロック同期方法に関する。特に、ジッターを引き起こすネットワークを経由して送受信する端末間で高速にクロック同期を実現するための技術に関する。 The present invention relates to a receiving apparatus and a clock synchronization method. In particular, the present invention relates to a technique for realizing high-speed clock synchronization between terminals that transmit and receive via a network that causes jitter.
MPEG2−TS(Motion Picture Experts Group 2 - Transport Stream)による映像伝送システムでは、受信機は送信機と同じ速度で処理しないと破綻が起こることが知られている。 In a video transmission system based on MPEG2-TS (Motion Picture Experts Group 2-Transport Stream), it is known that a failure occurs unless the receiver processes at the same speed as the transmitter.
また、MPEG2−TSによる映像伝送は、(1)送信機は自分のペースで映像を送りつける、(2)受信機側からのフィードバックはない、(3)送信機側は今撮ったばかりの映像を伝送できる、(4)送信機は複数の受信機宛てに映像送信できる、という性質を持つ。 Also, video transmission by MPEG2-TS is as follows: (1) Transmitter sends video at its own pace, (2) No feedback from receiver, (3) Transmitter takes video just taken (4) The transmitter has the property that it can transmit video to a plurality of receivers.
このため、(1)送信機側はクロックの情報を受信機に送信し、(2)受信機側はPLL(Phase Locked Loop)を組み、送信機側と同期したクロックを再生する、ことが必要である。 For this reason, it is necessary that (1) the transmitter side transmits clock information to the receiver, and (2) the receiver side incorporates a PLL (Phase Locked Loop) to regenerate the clock synchronized with the transmitter side. It is.
図16は、MPEG2−TSによる映像伝送システムの典型例を示したブロック図である。 FIG. 16 is a block diagram showing a typical example of a video transmission system based on MPEG2-TS.
図16を参照して、MPEG2−TSによる映像伝送システムについて説明する。図16に示すように、送信機1200は、入力された映像ソースから、映像データをMPEG2エンコーダ1202によってエンコードすると同時に、発振器1204によってクロック情報を付与する。送信バッファ1206に蓄積されたMPEG2−TSパケットは、受信機1210に送信される。受信機1210は、送信機1200からのMPEG2−TSパケットを受信バッファ1212に蓄積する。そして、MPEG2−TSパケットからクロック情報を取り出し、PLL1214を用いてMPEG2エンコーダ1202と同期したクロックを再生する。また、MPEG2デコーダ1216によって、再生クロックを用いて映像データをデコードする。
A video transmission system based on MPEG2-TS will be described with reference to FIG. As shown in FIG. 16, the
このように、デコーダはPLLを使って、エンコーダのクロックに同期したカウンタSTC(System Time Clock)を生成する。なお、MPEGエンコーダからのクロック情報PCR(Program Clock Reference)は少なくとも0.1秒に1回の割合でMPEG2−TSパケットの中に埋め込まれる。 Thus, the decoder uses the PLL to generate a counter STC (System Time Clock) synchronized with the encoder clock. Note that the clock information PCR (Program Clock Reference) from the MPEG encoder is embedded in the MPEG2-TS packet at a rate of at least once every 0.1 second.
図17は、一般的なPLLの構成を示したブロック図である。
図17を参照して、MPEG2デコーダにおいて、非特許文献1の(D.0.3)節で示されるような、一般的に使われるPLLの構成について説明する。PLLでは、最初にPCRを含むTSパケットを受信すると内部カウンタ1302にPCR値をロードする。そして、後続のPCRを含むTSパケットを受信するたびに、受信した時点の内部カウンタ1302から与えられるSTC値とPCR値の差分を、減算器1304によって求める。続いて、差分をローパスフィルタ1306にかけて制御電圧に変換し、これにより電圧制御発振器1308の周波数が変化する。それに伴い内部カウンタ1302の出力が調整され、エンコーダのクロックと同期したSTC値が生成される。
FIG. 17 is a block diagram showing a configuration of a general PLL.
With reference to FIG. 17, a configuration of a commonly used PLL as shown in section (D.0.3) of
上記のようにしてPLLは動作するが、このような動作を安定させるためには、各MPEG2−TSパケットは、ジッターが極力出ないように(送信機から出力されたときの相互間隔が保たれるように)MPEGデコーダまで配送されなければならない。 Although the PLL operates as described above, in order to stabilize such an operation, each MPEG2-TS packet is kept free from jitter as much as possible (the mutual interval when output from the transmitter is maintained). To the MPEG decoder).
非特許文献1の(D.0.9)節と非特許文献2には、ジッターを引き起こすネットワークを経由して映像ストリームを受信した場合のジッター吸収方法が記載されている。
Section (D.0.9) of
非特許文献2では次の3つの方法(a)〜(c)が記載されている。ここで、ジッターを吸収するための機能(デジッタリング)は、MPEGデコーダとは別に存在してもよいし、MPEGデコーダ自身に統合されていてもよい。
Non-Patent
(a)CBR(Constant Bit Rate:固定ビットレート)の場合、バッファとPLLを使う方法。 (A) In the case of CBR (Constant Bit Rate), a method using a buffer and a PLL.
方法(a)によれば、受信機側のPLLが、受信機側バッファの使用量に応じて、受信機側バッファの使用量がおよそ半分となるように、受信機側の出力レートを調整する。 According to the method (a), the PLL on the receiver side adjusts the output rate on the receiver side so that the usage amount of the receiver side buffer is approximately halved according to the usage amount of the receiver side buffer. .
(b)タイムスタンプを使う方法。
図18は、非特許文献2に記載されている映像伝送システムの概略を示す図である。
(B) A method using a time stamp.
FIG. 18 is a diagram showing an outline of the video transmission system described in Non-Patent
図18を参照して、方法(b)について説明する。送信機1400では、クロック1402は、サンプル値CR(Clock Reference)をエンコーダ1404が生成する各パケットに付与する。
The method (b) will be described with reference to FIG. In
受信機1410では、受信したパケットに含まれるサンプル値CRから、PLL1414を使ってTCd(delayed TC)を復元する。「TCd」とは、送信機1400側のクロック1402が生成するカウンタ値に固定時間を加えたものである。
The
受信機1410は、送信機1400からの映像データを一時的にデジッタリングバッファ1416に蓄えて再生する。先頭のパケットは、TCdがパケットに含まれるCRと等しくなったとの制御部1418の判断に応じて、デジッタリングバッファ1416から出力される。後続のMPEG2パケットは、パケットに含まれるCRがTCdと等しくなったときにデジッタリングバッファから出力される。
The
デジッタリングバッファのサイズは、パケットの伝送遅延が平均的な遅延時間に遅延ゆらぎ±J/2[秒](ただし、送受信機は最大J[秒]の遅延ゆらぎ補償をするように設計されているとする。)加えた伝送遅延に耐えられる設計にする。パケットが平均的な遅延時間で到着した場合、デジッタリングバッファの占有量は中間の位置になる。パケットが平均的な遅延時間に比べJ/2[秒]遅れて到着した場合、デジッタリングバッファは空になる。パケットが平均的な遅延時間に比べJ/2[秒]早く到着した場合、デジッタリングバッファは満杯になる。 The size of the de-jittering buffer is designed such that the packet transmission delay is delayed by an average delay time ± J / 2 [seconds] (however, the transmitter / receiver is designed to compensate for delay fluctuations of maximum J [seconds]). Designed to withstand the added transmission delay. If the packet arrives with an average delay time, the de-jittering buffer occupies an intermediate position. When a packet arrives with a delay of J / 2 [seconds] compared to the average delay time, the de-jittering buffer becomes empty. If the packet arrives J / 2 [seconds] earlier than the average delay time, the de-jittering buffer is full.
(c)共通クロックが利用可能な場合、共通クロックを使う方法。
方法(c)によれば、送受信機間において共通のネットワーククロックが入手可能で、システムクロックの周波数をそれにロックできる場合にはバッファを使ってジッターを吸収することができる。
(C) A method of using a common clock when a common clock is available.
According to the method (c), when a common network clock is available between the transmitter and the receiver and the frequency of the system clock can be locked thereto, the jitter can be absorbed by using a buffer.
また、非特許文献1の(D.0.9)節には、上記方法(a)をVBR(Variable Bit Rate:可変ビットレート)の場合にも適用できるように改良した方法も記載されている。これを方法(a’)とする。
Further, section (D.0.9) of
方法(a’)では、受信機側バッファの使用量ではなく、データがバッファに入力される時刻をPCRやSCRを使って測定し、データがバッファから出力される時刻を制御する。データがバッファに入力されてから出力されるまでの期間が一定となるように、図17と同様なPLLを構成して調整する。 In the method (a ′), the time at which data is input to the buffer is measured using PCR or SCR, not the usage amount of the receiver buffer, and the time at which the data is output from the buffer is controlled. A PLL similar to that in FIG. 17 is configured and adjusted so that the period from when data is input to the buffer until it is output is constant.
また、特許文献1には、データ供給装置とデータ処理装置の同期を行なうようにする方法が記載されている。この方法によれば、データ供給装置から送信されるデータの送信時刻と、データ処理装置で受信されるデータの受信時刻との間で生じる差分値を順次検出する。そして、所定の時間ごとにその差分値の極大値および極小値を検出し、その極大値および極小値それぞれの増減に応じてデータ処理装置の処理速度を制御して、同期をとる。
また、特許文献2には、カウンタ値を補正する方法が記載されている。この方法によれば、受信クロック情報の受信タイミングの揺らぎを取り除くよう送信元カウンタ値を補正するカウンタ補正手段を備える。これにより、受信した複数のカウンタ値との差分の二乗和が最小となるカウンタ値の時間変化を示す直線を求め、新たに受信したカウンタ値をその直線上に位置するようにカウンタ値を補正する。
また、特許文献3には、方法(a’)に類似した方法が記載されている。この方法によれば、受信機に蓄積されるデータ量を監視し、蓄積データ量が上側の閾値より大きくなったとき、受信クロックの周波数を高い周波数に設定する。また、データ蓄積量が下側の基準値より小さくなったとき、受信クロック周波数を低い周波数に設定する。 Patent Document 3 describes a method similar to the method (a ′). According to this method, the amount of data stored in the receiver is monitored, and when the amount of stored data exceeds the upper threshold, the frequency of the reception clock is set to a high frequency. Further, when the data storage amount becomes smaller than the lower reference value, the reception clock frequency is set to a low frequency.
また、特許文献4には、特許文献3に類似した方法が記載されている。この方法によれば、デコーダへのデータ出力速度をハイとローとの2段階で切り替えるのではなく、切り替えのタイミングにおいてデータ出力速度をゆるやかに変化させる。
図19は、特許文献3や特許文献4における、データ蓄積量(バッファ時間量)とクロック制御量との関係を示した図である。
FIG. 19 is a diagram showing the relationship between the data accumulation amount (buffer time amount) and the clock control amount in Patent Literature 3 and
図19に示すように、データ蓄積量(バッファ時間量)が上限のしきい値を超えればクロック制御量を高く設定し、下限しきい値を下回ればクロック制御量を低く設定することによって、受信機側は内部バッファのオーバーランやアンダーランを引き起こすことなく再生をし続けることができる。 As shown in FIG. 19, when the data accumulation amount (buffer time amount) exceeds the upper threshold value, the clock control amount is set high, and when it falls below the lower threshold value, the clock control amount is set low. The machine can continue to play without causing internal buffer overrun or underrun.
また、特許文献5には、伝送遅延ゆらぎが発生するネットワーク環境において、相対的ゆらぎ時間を平滑化し、時間経過に対する単調増加あるいは単調減少の様子を監視することにより、送受信間のクロックのずれを解消する方向に制御する手法が提案されている。
非特許文献1の(D.0.3)節に記載されている方法は、デジタル放送などのMPEGデコーダにおいて一般的に使われている方法であるが、映像データがジッターを引き起こすネットワークを経由して伝送されると、PLLが正常に動作せず映像が表示されないという問題がある。
The method described in section (D.0.3) of
図17において、PLLでは、減算器1304によって内部カウンタのSTC値とPCR値の差分を計算している。MPEGデコーダは、差分の値がある程度の範囲内(数10μs程度)に収まり続けていなければ、安定したSTC値を生成できていないと判断し、その期間中の映像表示を中止する場合がある。
In FIG. 17, in the PLL, a
たとえば、ジッターを引き起こすネットワークを経由して映像データが伝送される場合、差分の値がある程度の範囲内に収まり続けることができないので、MPEGデコーダのPLL単体では、安定したSTC値を生成させることができない。 For example, when video data is transmitted via a network that causes jitter, the difference value cannot be kept within a certain range. Therefore, the PLL alone of the MPEG decoder can generate a stable STC value. Can not.
したがって、ジッターを引き起こすネットワークを経由して映像データが伝送される場合は、非特許文献1の(D.0.3)節に記載されているPLLとは別にジッターを吸収するための機能が必要であると考えられている。
Therefore, when video data is transmitted via a network that causes jitter, a function for absorbing jitter is necessary in addition to the PLL described in (D.0.3) of
また、非特許文献2に記載されている3つの方法(a)〜(c)であるが、方法(a)は映像データがCBRの場合しか適用できないという問題がある。汎用性を考えるとVBRにも適用できるようにすべきである。
In addition, the three methods (a) to (c) described in
方法(b)はVBRにも適用できるようにしたものである。パケットにタイムスタンプを付与するという点は本発明と同じである。しかし、PLLを使ってTCdを復元する場合、パケット伝送遅延時間の平均値は大きくても問題ないが、そのばらつきが大きいとPLLが同期するまでに時間がかかり過ぎるという問題がある。 The method (b) can be applied to VBR. The point of giving a time stamp to the packet is the same as the present invention. However, when the TCd is restored using the PLL, there is no problem even if the average value of the packet transmission delay time is large. However, if the variation is large, there is a problem that it takes too much time for the PLL to synchronize.
本発明に係る映像伝送システムは、映像データが無線ネットワーク、有線ネットワークまたはインターネットなどの一般的なIP(Internet Protocol)ネットワークを経由して伝送されることを想定している。このため、そのような環境では少なくとも数100ms程度のジッターが発生しうる。 The video transmission system according to the present invention assumes that video data is transmitted via a general IP (Internet Protocol) network such as a wireless network, a wired network, or the Internet. For this reason, in such an environment, jitter of at least about several hundreds of milliseconds can occur.
一方、ジッターを吸収するための機能(以下、「デジッタリング」と呼ぶ。)として方法(b)を使い、その後段に非特許文献1の(D.0.3)節に記載のPLLを使うとすると、方法(b)でジッターを吸収する目標精度としては、数10μs程度とすることが必要である。
On the other hand, when the method (b) is used as a function for absorbing jitter (hereinafter referred to as “dejittering”), and the PLL described in the section (D.0.3) of
本発明で想定しているようなジッターを引き起こすネットワーク環境では、PLLで十分な精度にまで抑え込むことは難しく、もし抑え込むことができたとしても、同期するまでの引き込み時間が非常に長くなるため、結果としてその期間は映像が表示されないという問題がある。 In a network environment that causes jitter as assumed in the present invention, it is difficult to suppress to a sufficient accuracy with a PLL, and even if it can be suppressed, the pull-in time until synchronization becomes very long. As a result, there is a problem that no video is displayed during that period.
方法(c)はエンド−エンド間で共通クロックが存在することを前提にしたものである。この方法は、一部の閉じた環境では共通クロックが使える場合もあるが、一般的なIPネットワーク上ではそのような共通クロックは存在しないので、汎用性に欠けるという問題がある。 Method (c) is based on the premise that a common clock exists between end-to-end. Although this method may use a common clock in some closed environments, such a common clock does not exist on a general IP network, so that there is a problem that it is not versatile.
方法(a’)も方法(b)と同じ問題を抱えている。すなわち、本発明で想定しているジッターの量は大きいので、PLLで十分な精度にまで抑え込むことは難しく、もし抑え込むことができたとしても、同期するまでの引き込み時間が非常に長くなる場合がある。 Method (a ') also has the same problem as method (b). That is, since the amount of jitter assumed in the present invention is large, it is difficult to suppress the PLL to a sufficient accuracy, and even if it can be suppressed, the pull-in time until synchronization may become very long. is there.
また、デジッタリング制御において考慮すべき問題として、(1)MPEGデコーダのVCXO(Voltage Controlled Crystal Oscillator)問題と、(2)MPEG規格上の問題がある。 Problems to be considered in dejittering control include (1) a VCXO (Voltage Controlled Crystal Oscillator) problem of the MPEG decoder and (2) problems in the MPEG standard.
(1)MPEGデコーダのVCXO問題とは、デジッタリング制御において、クロック制御量をあまりに大きく設定している(たとえば、±200ppmで制御する)と、MPEGデコーダのVCXOで周波数調整可能な範囲を外れてしまい、映像が表示されないという問題である。なお、VCXOは、通常PLLの中に含まれる。たとえば、図17における電圧制御発振器1308に相当する。
(1) The VCXO problem of the MPEG decoder is that if the clock control amount is set too large (for example, controlled at ± 200 ppm) in de-jittering control, the frequency adjustment range of the MPEG decoder VCXO is out of range. The problem is that the video is not displayed. The VCXO is usually included in the PLL. For example, it corresponds to the voltage controlled
具体例を挙げて説明する。たとえば、図16で示すようなMPEG映像伝送システムにおいて、受信機1210のPLLに含まれるVCXOの周波数可変範囲が公称周波数を中心に±75ppmとして、送信機1200の発振器1204の精度が±100ppmとする。この場合、ネットワークによる影響がまったくなかったとしても、VCXOで制御可能な範囲を超える可能性があるため、デコーダはエンコーダのクロックに追従できず、映像が表示されない可能性がある。映像が表示されるかどうかは、発振器の部品の精度に依存する。ネットワークによる影響を考えると、送信機の発振器の精度、受信機の発振器の精度を考慮しなければならない。
A specific example will be described. For example, in the MPEG video transmission system as shown in FIG. 16, the frequency variable range of the VCXO included in the PLL of the
図20は、映像が表示されるための条件を説明するための図である。
図20を参照して、どのような条件で映像が表示されるかについて説明する。図20において、MPEG2エンコーダ1600の発振器1601の精度を±E[ppm]、送信機1602の発振器1603の精度を±T[ppm]、受信機1606の発振器1607の精度を±R[ppm]、MPEG2デコーダ1608のPLLに含まれるVCXO1609の公称周波数の精度を±P[ppm]、周波数調整可能範囲を±W[ppm]とする。ただし、E,T,R,P,W>0である。
FIG. 20 is a diagram for explaining conditions for displaying an image.
With reference to FIG. 20, it will be described under what conditions video is displayed. In FIG. 20, the accuracy of the
MPEG2エンコーダ1600から送信機1602、ネットワーク1604、受信機1606を経てMPEG2デコーダ1608にデータが入力される時点で、MPEG2エンコーダ1600で付与されたクロック情報PCRには最悪で±{E+T+R}[ppm]のクロック精度の誤差が含まれる可能性がある。映像が表示されるためには、この値がVCXO1609の周波数可変範囲に収まっていなければならない。よって、次の式(1)の条件が必要である。
At the time when data is input from the
E+T+R<W−P…式(1)
具体的な数値をひとつ挙げると、E=30,T=R=50,P=15,W=150というのがありえる。この場合、式(1)を満たすため、最初から映像が表示されると考えられる。ところが、デジッタリング制御において、クロック制御量の振幅が大きくなると、式(1)を満たせなくなる可能性がある。したがって、デジッタリング制御を行なっているときでも、式(1)を満たすためには、クロック制御量の振幅をあまりに大きく設定するのは問題である。
E + T + R <WP-Formula (1)
One specific value is E = 30, T = R = 50, P = 15, W = 150. In this case, since the expression (1) is satisfied, it is considered that the video is displayed from the beginning. However, in the de-jittering control, if the amplitude of the clock control amount becomes large, the expression (1) may not be satisfied. Therefore, even when dejittering control is performed, it is problematic to set the amplitude of the clock control amount too large in order to satisfy the expression (1).
次に(2)MPEG規格上の問題について説明する。
非特許文献3(4.3)〜(4.6)節には、PCR限界(公称周波数27MHzからのどれくらいの狂いが許されるか)について記載されている。
Next, (2) problems in the MPEG standard will be described.
Non-Patent Document 3 (4.3) to (4.6) describes the PCR limit (how much deviation from the nominal frequency of 27 MHz is allowed).
具体的には、PCR周波数オフセット、PCRドリフトレート、PCRオーバーオールジッター、PCRアキュラシーについて記載されている。特に、PCR周波数オフセットとPCRドリフトレートの限界は次のようになっている(以下、「PCR条件」と呼ぶ)。 Specifically, it describes PCR frequency offset, PCR drift rate, PCR overall jitter, and PCR accuracy. In particular, the limits of the PCR frequency offset and the PCR drift rate are as follows (hereinafter referred to as “PCR conditions”).
(PCR周波数オフセットの限界)=±810Hzまたは±30ppm
(PCRドリフトレートの限界)=±75mHz/秒または±10ppm/時間
なお、非特許文献3では、PCRアキュラシーは可変ビットレートの場合は意味をなさないと記述されている。PCRオーバーオールジッターはネットワーク遅延がゼロであれば±500nsという基準が示されているが、ネットワーク遅延が存在するときの明確な基準は示されていない。ISO/IEC13818−9には、±25usという基準が示されているが、十分な精度を持つタイムスタンプを各パケットに付与すれば、この基準は守ることができるため特に問題にはならないと考えられる。
(Limit of PCR frequency offset) = ± 810 Hz or ± 30 ppm
(Limit of PCR drift rate) = ± 75 mHz / second or ± 10 ppm / hour In Non-Patent Document 3, it is described that PCR accuracy does not make sense in the case of a variable bit rate. The PCR overall jitter has a standard of ± 500 ns when the network delay is zero, but no clear standard when a network delay exists. In ISO / IEC13818-9, a standard of ± 25 us is shown. However, if a time stamp having sufficient accuracy is given to each packet, this standard can be observed, so it is not considered to be a problem. .
PCR条件は、MPEGデコーダ側から見た要求であるため、デジッタリングにおけるクロック制御も含めて守るべき条件であると考えられる。ただし、PCR条件を守れないからといって、即座に実際上の問題(たとえば、映像が表示されない、あるいは、映像の品質が悪くなるなど)が発生するわけではない。しかし、MPEGデコーダのチップにも依存する事であるが、PCR条件を大きく逸脱すると実際上の問題が発生すると考えられる。 Since the PCR condition is a request seen from the MPEG decoder side, it is considered that the condition should be observed including clock control in dejittering. However, the fact that PCR conditions cannot be observed does not immediately cause a practical problem (for example, video is not displayed or video quality is deteriorated). However, although it depends on the chip of the MPEG decoder, it is considered that a practical problem occurs if the PCR conditions are greatly deviated.
方法(b)や方法(a’)では、PLLでどの程度のクロック制御がなされるか予測できず、PCR条件を満足して伝送することは不可能であると考えられる。 In the method (b) and the method (a ′), it is impossible to predict how much clock control is performed by the PLL, and it is considered impossible to satisfy the PCR condition and transmit.
また、特許文献1に記載の方法は、所定の時間ごとにデータ処理速度を変化させている。1回に変化させるクロック制御量は自由に決められるので、設計次第でPCR条件を満足することは可能であると考えられる。
In the method described in
図21は、クロック制御量の時間変化を示す図である。
図21に示すように、はじめはクロック制御量のステップを大きく、次第にステップを小さくさせている。最初からクロック制御量のステップが小さいままだと、クロック制御量がほぼ収束する状態になるまで時間がかかるため、最初からクロック制御量のステップを大きく設定し、徐々に小さくしている。
FIG. 21 is a diagram showing a time change of the clock control amount.
As shown in FIG. 21, first, the step of the clock control amount is increased, and the step is gradually decreased. If the step of the clock control amount remains small from the beginning, it takes time until the clock control amount almost converges. Therefore, the step of the clock control amount is set large from the beginning and gradually decreased.
このような方法を実施したとしても、特許文献1では所定の時間ごとにデータ処理速度を速くさせるか遅くさせるかを決定しており、所定の時間を何度か繰り返さないと、デジッタリングにおけるクロック制御量がほぼ収束する状態にまでもっていくことができない。(所定の時間としては少なくとも数秒間は必要で、繰り返し数としては少なくとも数十回は必要である。クロック制御量がほぼ収束する状態になるまで数分はかかる。)したがって、デジッタリング制御量がほぼ収束するようになるまでには時間がかかるという問題がある。
Even if such a method is implemented,
また、特許文献2では、最小二乗法を用いてPCR値を補正するという方法が開示されているが、パケット伝送遅延時間のばらつきが大きいと最小二乗法で求める傾きが正確にならないという問題がある。
Further,
また、特許文献3、特許文献4の方法では、基本的にデジッタリングにおけるクロック制御量は遅くするか早くするかの2段階しかなく、しかも送信機と受信機のクロック発振周波数精度のばらつきを上回るだけ大きく振幅させて制御しなければならない。たとえば、送信機と受信機のクロック発振周波数精度がともに±100ppmだとすると、デジッタリングにおけるクロック制御量は±200ppm以上のレンジで変化させなければならない。特許文献3、特許文献4の方法では、クロック制御量の振幅が大き過ぎるため、MPEGデコーダのVCXO問題をクリアできないと考えられる。また、クロック制御量の変化が速過ぎるのでPCR条件(PCRドリフトレート)を守ることはできないと考えられる。
Further, in the methods of Patent Document 3 and
また、特許文献5では、すべてのデータを平滑化フィルタの対象としているため、パケット伝送遅延時間のばらつきが大きいと、平滑化フィルタが収束せず、クロックの周波数差が正確に求まらないという問題がある。 Further, in Patent Document 5, since all data is subjected to a smoothing filter, if the variation in packet transmission delay time is large, the smoothing filter does not converge and the clock frequency difference cannot be accurately obtained. There's a problem.
本発明は、上記のような問題を解決するためになされたものであって、その目的は、デジッタリングにおけるクロック制御において、所定のドリフトレートを満足しながら制御し、かつ、デジッタリングのクロック制御量がほぼ収束して所定のドリフトレートを満足しながら制御できるまでの時間を短くすることである。 The present invention has been made in order to solve the above-described problems, and an object of the present invention is to control while satisfying a predetermined drift rate in clock control in dejittering, and to provide a clock control amount for dejittering. This is to shorten the time until control can be performed while substantially converging and satisfying a predetermined drift rate.
本発明の1つの局面に従うと、ネットワークに接続された送信装置とデータ通信するための受信装置であって、受信装置側の基準クロックとして、第1の時刻カウント情報を生成するための時刻カウント生成手段と、送信装置からのパケットを受信するための受信手段と、送信装置からのパケットに含まれる第2の時刻カウント情報と、受信手段がパケットを受信した時点で時刻カウント生成手段によって生成された第1の時刻カウント情報とに基づいて、時刻カウント差分を算出するための時刻カウント差分算出手段と、時刻カウント差分の異常値を取り除くためのデータフィルタと、データフィルタを通過した時刻カウント差分の情報から、送信装置側の基準クロックとの周波数差を算出するための周波数差推定手段とを備える。 According to one aspect of the present invention, a reception device for data communication with a transmission device connected to a network, wherein a time count generation for generating first time count information as a reference clock on the reception device side Means, receiving means for receiving a packet from the transmitting apparatus, second time count information included in the packet from the transmitting apparatus, and generated by the time count generating means when the receiving means receives the packet Time count difference calculating means for calculating a time count difference based on the first time count information, a data filter for removing an abnormal value of the time count difference, and information on the time count difference that has passed through the data filter And a frequency difference estimating means for calculating a frequency difference from the reference clock on the transmitting apparatus side.
好ましくは、周波数差推定手段は、算出した周波数差に基づいてクロック制御量を決定し、周波数差推定手段からのクロック制御量にしたがって、時刻カウント生成部が生成する第1の時刻カウント情報の進み方を制御するための時刻カウント制御手段をさらに備える。 Preferably, the frequency difference estimator determines a clock control amount based on the calculated frequency difference, and advances the first time count information generated by the time count generator according to the clock control amount from the frequency difference estimator. Time count control means for controlling the direction.
好ましくは、データフィルタは、第1の時刻カウント情報と、第2の時刻カウント情報を擬似的に早くした第3の時刻カウント情報とに基づいて修正時刻カウント差分を算出し、算出時までの最小の修正時刻カウント差分より大きくなるような修正時刻カウント差分に対応する時刻カウント差分を異常値として取り除く。 Preferably, the data filter calculates a corrected time count difference based on the first time count information and the third time count information obtained by simulatingly speeding up the second time count information, and calculates the minimum time until the calculation time. The time count difference corresponding to the correction time count difference that is larger than the correction time count difference is removed as an abnormal value.
好ましくは、データフィルタは、第2の時刻カウント情報と、第1の時刻カウント情報を擬似的に遅くした第4の時刻カウント情報とに基づいて修正時刻カウント差分を算出し、算出時までの最小の修正時刻カウント差分より大きくなるような修正時刻カウント差分に対応する時刻カウント差分を異常値として取り除く。 Preferably, the data filter calculates a corrected time count difference based on the second time count information and the fourth time count information obtained by artificially delaying the first time count information, and minimizes the time until the calculation time. The time count difference corresponding to the correction time count difference that is larger than the correction time count difference is removed as an abnormal value.
好ましくは、データフィルタは、所定の時間間隔ごとの極小値を求め、極小値以外の時刻カウント差分を異常値として取り除く。 Preferably, the data filter obtains a minimum value for each predetermined time interval, and removes a time count difference other than the minimum value as an abnormal value.
好ましくは、周波数差推定手段は、受信手段がパケットの受信を開始した時点からの時間と時刻カウント差分との関係を回帰分析によって直線で近似し、周波数差を算出する。 Preferably, the frequency difference estimation means calculates a frequency difference by approximating the relationship between the time from the time when the reception means starts receiving the packet and the time count difference with a straight line by regression analysis.
好ましくは、前記周波数差推定手段が算出した周波数差の精度を判定するための精度判定手段をさらに備える。 Preferably, the apparatus further includes an accuracy determining unit for determining the accuracy of the frequency difference calculated by the frequency difference estimating unit.
好ましくは、精度判定手段は、受信手段がパケットの受信を開始した時点から所定時間経過したことに応じて、周波数差の精度が所定の精度であると判断する。 Preferably, the accuracy determination unit determines that the accuracy of the frequency difference is a predetermined accuracy in response to a lapse of a predetermined time from the time when the reception unit starts receiving the packet.
好ましくは、精度判定手段は、受信手段がパケットの受信を開始した時点から所定数のパケットを受信したことに応じて、周波数差の精度が所定の精度であると判断する。 Preferably, the accuracy determining unit determines that the accuracy of the frequency difference is a predetermined accuracy in response to receiving a predetermined number of packets from the time when the receiving unit starts receiving the packets.
好ましくは、精度判定手段は、データフィルタを通過した時刻カウント差分の数が所定数に達したことに応じて、周波数差の精度が所定の精度であると判断する。 Preferably, the accuracy determining means determines that the accuracy of the frequency difference is a predetermined accuracy in response to the number of time count differences that have passed through the data filter reaching a predetermined number.
好ましくは、精度判定手段は、所定のタイミング以前に算出された周波数差の最大値と最小値の差が所定範囲内にあることに応じて、周波数差の精度が所定の精度であると判断する。 Preferably, the accuracy determination unit determines that the accuracy of the frequency difference is a predetermined accuracy in response to the difference between the maximum value and the minimum value of the frequency difference calculated before the predetermined timing being within a predetermined range. .
好ましくは、精度判定手段は、時刻カウント差分の情報と近似された直線とから計算される残差二乗和が所定範囲内にあることに応じて、周波数差の精度が所定の精度であると判断する。 Preferably, the accuracy determination means determines that the accuracy of the frequency difference is a predetermined accuracy in response to the residual sum of squares calculated from the time count difference information and the approximated straight line being within a predetermined range. To do.
好ましくは、所定のドリフトレートの条件を満たすようにクロック制御量を決定するための定常状態クロック制御量決定手段と、前記時刻カウント制御手段に対し、前記周波数差推定手段からのクロック制御量または前記定常状態クロック制御量決定手段からのクロック制御量のいずれか一方を選択的に与えるための選択手段とをさらに備え、前記選択手段は、前記精度判定手段が前記周波数差の精度が所定の精度であると判断したことに応じて、前記時刻カウント制御手段に対し、前記周波数差推定手段からのクロック制御量に代わって、前記定常状態クロック制御量決定手段からのクロック制御量を与える。 Preferably, a steady state clock control amount determining means for determining a clock control amount so as to satisfy a predetermined drift rate condition, and the time count control means, the clock control amount from the frequency difference estimating means or the Selecting means for selectively giving any one of the clock control amounts from the steady state clock control amount determining means, wherein the selecting means is configured such that the accuracy determining means has the accuracy of the frequency difference at a predetermined accuracy. In response to the determination that there is a clock control amount from the steady state clock control amount determination unit, the time count control unit is given in place of the clock control amount from the frequency difference estimation unit.
好ましくは、定常状態クロック制御量決定手段は、所定の期間において、時刻カウント差分の極小値を検出するための時刻カウント差分極小値検出手段と、検出された極小値の変化に基づいて、基準クロックの進み方を所定のドリフトレートの範囲内になるようにクロック制御量を決定するための時刻カウント遅速判定手段とを含む。 Preferably, the steady state clock control amount determining means includes a time clock difference minimum value detecting means for detecting a minimum value of the time count difference and a reference clock based on a change in the detected minimum value in a predetermined period. And a time count delay determination means for determining a clock control amount so that the progress of the clock is within a predetermined drift rate range.
好ましくは、受信したパケットを蓄積するためのバッファと、送信装置からのパケットに含まれる、バッファに蓄積されたパケットの時刻カウント情報の時刻範囲を示す第1のバッファ時間量と、パケットが受信装置のバッファに蓄積された時点の第2のバッファ時間量とを合計した第3のバッファ時間量を算出するためのバッファ時間量算出手段とをさらに備え、定常状態クロック制御量決定手段は、所定の期間において、第3のバッファ時間量の極大値を検出するためのバッファ時間量極大値検出手段と、検出された極大値の変化に基づいて、基準クロックの進み方を所定のドリフトレートの範囲内になるようにクロック制御量を決定するための時刻カウント遅速判定手段とを含む。 Preferably, a buffer for accumulating the received packet, a first buffer time amount indicating a time range of time count information of the packet accumulated in the buffer included in the packet from the transmitting device, and the packet receiving device A buffer time amount calculating means for calculating a third buffer time amount that is the sum of the second buffer time amounts at the time of being stored in the buffer, and the steady state clock control amount determining means is In the period, the buffer time amount maximum value detecting means for detecting the maximum value of the third buffer time amount, and how to advance the reference clock within a predetermined drift rate range based on the detected change in the maximum value And a time count delay determination means for determining the clock control amount.
好ましくは、パケットを蓄積するためのバッファをさらに備え、定常状態クロック制御量決定手段は、所定の期間において、バッファに蓄積されたパケットの時刻カウント情報の時刻範囲を示す第4のバッファ時間量の極大値を検出するためのバッファ時間量極大値検出手段と、検出された極大値の変化に基づいて、基準クロックの進み方を所定のドリフトレートの範囲内になるようにクロック制御量を決定するための時刻カウント遅速判定手段とを含む。 Preferably, the apparatus further includes a buffer for accumulating packets, and the steady state clock control amount determination unit is configured to set a fourth buffer time amount indicating a time range of the time count information of the packets accumulated in the buffer during a predetermined period. Based on the buffer time amount maximum value detecting means for detecting the maximum value and a change in the detected maximum value, the clock control amount is determined so that the reference clock advances within a predetermined drift rate range. Time count delay determination means.
本発明の他の局面に従うと、ネットワークに接続された送信装置とデータ通信するための受信装置であって、受信装置側の基準クロックとして、第1の時刻カウント情報を生成するための時刻カウント生成手段と、送信装置からのパケットを受信するための受信手段と、送信装置からのパケットに含まれる第2の時刻カウント情報と、受信手段がパケットを受信した時点で時刻カウント生成手段によって生成された第1の時刻カウント情報とに基づいて、時刻カウント差分を算出するための時刻カウント差分算出手段と、時刻カウント差分の情報から、送信装置側の基準クロックとの周波数差を算出し、クロック制御量を決定するための周波数差推定手段と、周波数差推定手段が算出した周波数差の精度を判定するための精度判定手段とを備える。 According to another aspect of the present invention, a reception device for data communication with a transmission device connected to a network, wherein a time count generation for generating first time count information as a reference clock on the reception device side Means, receiving means for receiving a packet from the transmitting apparatus, second time count information included in the packet from the transmitting apparatus, and generated by the time count generating means when the receiving means receives the packet Based on the first time count information, the time count difference calculating means for calculating the time count difference, and the frequency difference from the reference clock on the transmitting device side is calculated from the information on the time count difference, and the clock control amount A frequency difference estimating means for determining the frequency difference, and an accuracy determining means for determining the accuracy of the frequency difference calculated by the frequency difference estimating means. That.
好ましくは、前記周波数差推定手段は、前記算出した周波数差に基づいてクロック制御量を決定し、前記周波数差推定手段からのクロック制御量にしたがって、前記時刻カウント生成部が生成する前記第1の時刻カウント情報の進み方を制御するための時刻カウント制御手段をさらに備える。 Preferably, the frequency difference estimation unit determines a clock control amount based on the calculated frequency difference, and the time count generation unit generates the first control value according to the clock control amount from the frequency difference estimation unit. Time count control means for controlling how the time count information advances is further provided.
好ましくは、所定のドリフトレートの条件を満たすようにクロック制御量を決定するための定常状態クロック制御量決定手段と、前記時刻カウント制御手段に対し、前記周波数差推定手段からのクロック制御量または前記定常状態クロック制御量決定手段からのクロック制御量のいずれか一方を選択的に与えるための選択手段とを備え、前記選択手段は、前記精度判定手段が前記周波数差の精度が所定の精度であると判断したことに応じて、前記時刻カウント制御手段に対し、前記周波数差推定手段からのクロック制御量に代わって、前記定常状態クロック制御量決定手段からのクロック制御量を与える。 Preferably, a steady state clock control amount determining means for determining a clock control amount so as to satisfy a predetermined drift rate condition, and the time count control means, the clock control amount from the frequency difference estimating means or the Selecting means for selectively giving any one of the clock control amounts from the steady state clock control amount determining means, wherein the accuracy determining means is such that the accuracy of the frequency difference is a predetermined accuracy. In response to the determination, a clock control amount from the steady state clock control amount determination unit is given to the time count control unit instead of the clock control amount from the frequency difference estimation unit.
本発明のさらに他の局面に従うと、ネットワークに接続された送信装置とデータ通信するための受信装置であって、送信装置からのパケットを受信するための受信手段と、受信装置側の基準クロックとして、第1の時刻カウント情報を生成するための時刻カウント生成手段と、基準クロックの制御状態を検出するための検出手段と、検出された制御状態を送信装置に通知するための送信手段とを備える。 According to still another aspect of the present invention, a receiving device for data communication with a transmitting device connected to a network, a receiving means for receiving a packet from the transmitting device, and a reference clock on the receiving device side A time count generating means for generating the first time count information, a detecting means for detecting the control state of the reference clock, and a transmitting means for notifying the transmitting apparatus of the detected control state. .
好ましくは、精度判定手段が周波数差の精度が所定の精度であると判断したことを送信装置に通知するための送信手段をさらに備える。 Preferably, the apparatus further includes a transmission unit for notifying the transmission device that the accuracy determination unit has determined that the accuracy of the frequency difference is a predetermined accuracy.
好ましくは、受信装置に対する電源の入力状態を検出するための電源入力検出手段をさらに備え、選択手段は、電源入力検出手段が電源の入力もしくはリセットを検出したことに応じて、時刻カウント制御手段に対して周波数差推定手段からのクロック制御量を与える。 Preferably, the apparatus further includes power input detection means for detecting a power input state with respect to the receiving device, and the selection means is provided to the time count control means in response to detection of power input or reset by the power input detection means. On the other hand, a clock control amount from the frequency difference estimation means is given.
好ましくは、選択手段は、受信手段が送信装置からのパケットを所定時間受信していないとの判断に応じて、時刻カウント制御手段に対して周波数差推定手段からのクロック制御量を与える。 Preferably, the selection unit gives the clock control amount from the frequency difference estimation unit to the time count control unit in response to the determination that the reception unit has not received the packet from the transmission device for a predetermined time.
好ましくは、送信装置は、受信装置に対しダミーパケットを送信し、周波数差推定手段は、ダミーパケットの時刻カウント差分に基づいて周波数差を推定する。 Preferably, the transmission device transmits a dummy packet to the reception device, and the frequency difference estimation means estimates the frequency difference based on the time count difference of the dummy packet.
本発明のさらに他の局面に従うと、ネットワークに接続された送信装置とデータ通信するための受信装置であって、受信装置側の基準クロックとして、第1の時刻カウント情報を生成するための時刻カウント生成手段と、送信装置からのパケットを受信するための受信手段と、受信したパケットを蓄積するためのバッファと、送信装置からのパケットに含まれる、バッファに蓄積されたパケットの時刻カウント情報の時刻範囲を示す第1のバッファ時間量と、パケットが受信装置のバッファに蓄積された時点の第2のバッファ時間量とを合計した第3のバッファ時間量を算出するためのバッファ時間量算出手段と、第3のバッファ時間量の異常値を取り除くためのデータフィルタと、データフィルタを通過した第3のバッファ時間量の情報から、送信装置側の基準クロックとの周波数差を算出するための周波数差推定手段とを備える。 According to still another aspect of the present invention, a reception device for data communication with a transmission device connected to a network, and a time count for generating first time count information as a reference clock on the reception device side Generation means, receiving means for receiving packets from the transmitting apparatus, buffer for storing received packets, and time count information of packets stored in the buffer included in the packets from the transmitting apparatus Buffer time amount calculating means for calculating a third buffer time amount that is the sum of the first buffer time amount indicating the range and the second buffer time amount at the time when the packet is accumulated in the buffer of the receiving device; A data filter for removing an abnormal value of the third buffer time amount, and information on the third buffer time amount that has passed through the data filter. , And a frequency difference estimating means for calculating the frequency difference between the reference clock of the transmitting apparatus side.
本発明のさらに他の局面に従うと、ネットワークに接続された送信装置とデータ通信するためのクロック同期方法であって、受信装置側の基準クロックとして、第1の時刻カウント情報を生成するステップと、送信装置からのパケットを受信するステップと、送信装置からのパケットに含まれる第2の時刻カウント情報と、受信するステップでパケットを受信した時点で生成された第1の時刻カウント情報とに基づいて、時刻カウント差分を算出するステップと、時刻カウント差分の異常値を取り除くステップと、異常値が取り除かれた時刻カウント差分の情報から、送信装置側の基準クロックとの周波数差を算出するステップとを備える。 According to still another aspect of the present invention, there is provided a clock synchronization method for data communication with a transmission device connected to a network, the step of generating first time count information as a reference clock on the reception device side; Based on the step of receiving a packet from the transmission device, the second time count information included in the packet from the transmission device, and the first time count information generated when the packet is received in the reception step A step of calculating a time count difference, a step of removing an abnormal value of the time count difference, and a step of calculating a frequency difference from the reference clock on the transmitting device side from the information of the time count difference from which the abnormal value has been removed. Prepare.
本発明によれば、デジッタリングにおけるクロック制御において、所定のドリフトレートを満足しながら制御し、かつ、デジッタリングのクロック制御量がほぼ収束して所定のドリフトレートを満足しながら制御できるまでの時間を短くできる。 According to the present invention, in clock control in de-jittering, control is performed while satisfying a predetermined drift rate, and the time until control can be performed while satisfying the predetermined drift rate after the de-jittering clock control amount is almost converged is shortened. it can.
以下、図面を参照しつつ本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについては詳細な説明は繰り返さない。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description, the same parts are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated.
以下の説明で明らかとなるように、本発明によれば、デジッタリングにおけるクロック制御において、所定のドリフトレートを満足しながら制御し、かつ、デジッタリングのクロック制御量がほぼ収束して所定のドリフトレートを満足しながら制御できるまでの時間を短くする。 As will be apparent from the following description, according to the present invention, in clock control in dejittering, control is performed while satisfying a predetermined drift rate, and the clock control amount of dejittering is substantially converged to achieve a predetermined drift rate. Shorten the time until control can be achieved with satisfaction.
図1は、デジッタリングのクロック制御量の時間経過を示した図である。
図1において、縦軸はクロック制御量、横軸は時間を表わす。図1に示すように、本発明に係る受信装置は、具体的には、最初の数秒間で±10ppm程度の範囲に収め、それ以降は所定のドリフトレートを満足しながら制御を行なう。なお、以下の説明では、最初の数秒間で一気に合わせこむ制御状態(T1)にあることを「過渡状態」と呼び、その後のクロック制御量の変化がゆるやかな同期制御の状態(T2)にあることを「定常状態」と呼ぶ。
FIG. 1 is a diagram showing a time course of a clock control amount of dejittering.
In FIG. 1, the vertical axis represents the clock control amount, and the horizontal axis represents time. As shown in FIG. 1, the receiving apparatus according to the present invention specifically falls within a range of about ± 10 ppm in the first few seconds, and thereafter performs control while satisfying a predetermined drift rate. In the following description, the control state (T1) that fits at once in the first few seconds is called “transient state”, and the subsequent change in the clock control amount is in the state of synchronous control (T2). This is called “steady state”.
[実施の形態1]
図2は、本実施の形態に係るネットワーク映像伝送システムを示す図である。
[Embodiment 1]
FIG. 2 is a diagram showing a network video transmission system according to the present embodiment.
図2を参照して、ネットワーク映像伝送システム100について説明する。映像伝送システム100は、送信機10と、ネットワーク20と、受信機30とから構成される。送信機10と受信機30とは、ネットワーク20を介して、データを送受信することができる。
The network video transmission system 100 will be described with reference to FIG. The video transmission system 100 includes a
送信機10は、MPEGエンコーダ11と、送信部12と、発振器13,14とを備える。また、受信機30は、受信部31と、MPEGデコーダ32と、発振器33と、可変周波数発振器34とを備える。なお、受信部31にはデジッタリング制御部(図示しない)も含まれる。
The
送信機10において、チューナーやDVDプレーヤなどの映像ソースから映像データが入力される。MPEGエンコーダ11は、映像データをMPEG2パケットに符号化し、送信部12に渡す。送信部12は、MPEG2パケットに発振器13に基づく時刻カウント情報を付与してパケット化し、ネットワーク20を経由して、受信機30へ送信する。
In the
受信機30において、受信部31によって受信されたパケットは、デジッタリング制御部によってジッターが吸収されて(つまり、パケット間の間隔が復元されて)、MPEGデコーダ32に送られる。デジッタリング制御部は、パケットに含まれる時刻カウント情報と、発振器33に基づく時刻カウント情報とを比較して、ジッターを吸収する。MPEGデコーダ32は、MPEG2パケットを復号化し、テレビなどの映像シンクに映像データを出力する。
In the receiver 30, the packet received by the receiving
本実施の形態におけるネットワーク20は、IEEE802.11などの無線LANネットワークを想定している。しかし、それ以外にも、Ethernet(登録商標)や電力線通信などの有線LANネットワーク、または、インターネットなど複数の中継器を経由する一般的なIP(Internet Protocol)ネットワークであってもよい。
The
図3は、パケットのフォーマットの一例を示す図である。
図3を参照して、送信部12によって送信されるパケットのフォーマットについて説明する。なお、本実施の形態では、パケット伝送プロトコルをUDP(User Datagram Protocol)とし、図3に示されているのはUDPのペイロード部であるとする。ただし、パケット伝送プロトコルは、UDPに限らずTCP(Transmission Control Protocol)であってもよいし、それら以外のものであってもよい。
FIG. 3 is a diagram illustrating an example of a packet format.
With reference to FIG. 3, the format of the packet transmitted by the
パケットのフォーマットとしては、単に1個のMPEG2パケットに1個の時刻カウント情報を付与したものであってもよいが、本実施の形態では、Ethernet(登録商標)等での伝送に適したサイズとなるように、MPEG2パケットを7個まとめて伝送することとする。 The packet format may be simply a single MPEG2 packet with one piece of time count information. In the present embodiment, the packet has a size suitable for transmission via Ethernet (registered trademark) or the like. Thus, it is assumed that seven MPEG2 packets are transmitted together.
TS−dataフィールド200−0〜6には、MPEG2−TSのデータを付与する。また、TS−dataフィールドは188バイトである。 MPEG2-TS data is assigned to the TS-data fields 200-0 to 200-6. The TS-data field is 188 bytes.
TTSフィールド210−0〜6には、各MPEG2−TSがエンコーダから入力された時点の発振器13に基づく時刻カウント情報を付与する。また、TTSフィールドは4バイトである。
Time count information based on the
SEQフィールド220には、パケットのシーケンス番号を付与する。送信側は、パケットのシーケンス番号を1ずつ増やしていく。受信側は、シーケンス番号の連続性を見ることによって、パケットロスト、同一パケットの再受信、あるいはパケット受信順序の逆転をチェックすることができる。本実施の形態では、パケットロストなどのエラー処理は記載しない。なお、図3においては、SEQフィールドに4バイト割り当てられているが、SEQフィールドは省略してもよい。
A sequence number of the packet is given to the
TXQフィールド230には、送信側の発振器13に基づく時刻カウント情報を付与する。実際にパケットを送信しようとする時点の時刻カウント情報を付与する。なお、図3においては、TXQフィールドに4バイト割り当てられているが、TXQフィールドも省略してもよい。この場合、パケットを送信しようとする時点の時刻カウント情報は、最も新しい時刻カウント情報であるTTS6で代用することもできる。しかし、エンコーダからMPEG2パケットが入力された時点と、パケットを送信しようとする時点には通常タイムラグがあるので、分けておく方が望ましい。
In the
また、図2には図示されていないが、送信部12は、通常、送信用バッファを持っているのが一般的である。送信用バッファに、送信前のパケットを蓄えることができるようにしておく。送信用バッファを持つことで、ネットワーク20にバースト的な伝送障害が起こっても障害の耐性を得ることができる。
Although not shown in FIG. 2, the
また、送信機10と受信機30における時刻カウント情報のカウントアップ周波数は共通にしておく。ここでは、時刻カウント情報のカウントアップ周波数を1MHzとする。つまり、1μ秒に1ずつカウントアップされる。
Further, the count-up frequency of the time count information in the
図4は、本実施の形態に係る受信機30の状態遷移を示す図である。
図4を参照して、受信機30の制御状態について説明する。受信機30は、大まかに分けて過渡状態300と定常状態310の2つの状態をとる。過渡状態時と定常状態時の動作は、図1に記載されているクロック制御量の動きと対応付けられる。また、受信機30に対し電源オンまたはリセットした後は、過渡状態となる。
FIG. 4 is a diagram illustrating state transition of the receiver 30 according to the present embodiment.
The control state of the receiver 30 will be described with reference to FIG. The receiver 30 is roughly divided into two states, a
受信機30は、過渡状態のとき、高速デジッタリング制御を行なう。送信機10と受信機30の発振器の周波数差が十分な精度で推定されれば、高速デジッタリング制御を終了して定常状態に移行する。
The receiver 30 performs high-speed dejittering control in a transient state. If the frequency difference between the oscillators of the
一方、受信機30は、定常状態のとき、所定のドリフトレートを守ったデジッタリング制御を行なう。受信機30がパケットを受信しなくなって、一定期間を経過すると過渡状態に移行する。 On the other hand, the receiver 30 performs dejittering control while maintaining a predetermined drift rate in a steady state. When the receiver 30 does not receive a packet and a certain period of time elapses, a transition is made to a transient state.
まず、受信機30が過渡状態のときの動作について説明する。
図5は、受信部31の詳細な構成を示した図である。
First, an operation when the receiver 30 is in a transient state will be described.
FIG. 5 is a diagram illustrating a detailed configuration of the
図5に示すように、受信部31は、パケットを送受信するための通信インタフェース(以下、「I/F」)部41と、デジッタリングバッファ42と、時刻カウント差分算出部43と、データフィルタ44と、周波数差推定部45と、時刻カウント生成部46と、時刻カウント差分極小値検出部47と、時刻カウント遅速判定部48と、精度判定部49と、選択部50とを備える。
As shown in FIG. 5, the
通信I/F部41によって受信されたパケットは、パケット長などがチェックされ、図3で示したようなMPEGパケットであれば、デジッタリングバッファ42に蓄えられる。
The packet received by the communication I /
デジッタリングバッファ42に蓄えられたパケットは、パケットに含まれる時刻カウント情報と時刻カウント生成部46によって生成される時刻カウント情報に基づき、タイミングが調整されてMPEGデコーダに出力される。
The packet stored in the
以下に、図5を参照して、デジッタリングバッファ42からMPEGデコーダにパケットが出力されるタイミングについて説明する。まず、あらかじめ受信機側で最初のパケットを受信してからそのパケットをMPEGデコーダに出力するまでどれだけの時間を待つかというパラメータを設定しておく。これを初期再生遅延時間とする。初期再生遅延時間はネットワークで生じる伝送遅延ゆらぎを吸収できるだけの時間を設定することが望ましい。
Hereinafter, the timing at which a packet is output from the
最初のパケットを出力するタイミングは、以下の条件(A)もしくは条件(B)のうち早い方とする。 The timing for outputting the first packet is the earlier of the following conditions (A) or (B).
条件(A)受信機側で1パケット目を受信してから初期再生遅延時間が経過したとき
条件(B)受信機側バッファに蓄えられているバッファ時間量が初期再生遅延時間を超えたとき(ただし、バッファ時間量とは、受信機側バッファに蓄えられている最新のパケットと最古のパケットとに付与されている時刻カウント情報の差である。各パケットには、エンコーダから入力された時点の送信機側の時刻カウント情報が付与されている。)
ここで、受信機側は、1パケット目を出力した時点で、遅延時間(delayed_time)を次の式(2)のように設定する。
Condition (A) When the initial playback delay time has elapsed since the first packet was received at the receiver side Condition (B) When the buffer time amount stored in the receiver side buffer exceeded the initial playback delay time ( However, the amount of buffer time is the difference between the time count information given to the latest packet and the oldest packet stored in the receiver side buffer. (The time count information on the transmitter side is given.)
Here, the receiver side sets the delay time (delayed_time) as shown in the following equation (2) when the first packet is output.
「遅延時間(delayed_time)」=「1パケット目を出力した時点の時刻カウント情報」−「1パケット目に含まれる時刻カウント情報」…式(2)
また、2パケット目以降を出力するタイミングは、現在の時刻カウント情報(current_time)が次の式(3)の条件を満たすと出力する。
“Delay time (delayed_time)” = “Time count information when the first packet is output” − “Time count information included in the first packet” (2)
The timing for outputting the second and subsequent packets is output when the current time count information (current_time) satisfies the condition of the following expression (3).
「現在の時刻カウント情報(current_time)」≧「2パケット目以降に含まれる時刻カウント情報」+「遅延時間(delayed_time)」…式(3)
送受信を開始する時点で、送信機が送信バッファにある程度のパケットを蓄えていると、送受信が始まると一時的に多量のパケットが送受信されるので、条件(B)が先に満たされることになる。そうでなければ、条件(A)が先に満たされることが多い。
“Current time count information (current_time)” ≧ “time count information included in second and subsequent packets” + “delayed time (delayed_time)” Equation (3)
If the transmitter stores a certain amount of packets in the transmission buffer at the start of transmission / reception, a large amount of packets are temporarily transmitted / received when transmission / reception starts, so the condition (B) is satisfied first. . Otherwise, the condition (A) is often satisfied first.
式(3)の条件がすでに満たされていれば、ただちにパケットを出力する。
ただし、時刻カウント情報の大小比較には注意が必要である。時刻カウント情報は、符号無し32ビット整数であり、0〜2^32−1を巡回する数値だからである。
If the condition of Expression (3) is already satisfied, the packet is output immediately.
However, care must be taken when comparing the time count information. This is because the time count information is an unsigned 32-bit integer and is a numerical value that cycles through 0 to 2 ^ 32.
図6は、時刻カウント情報などの巡回する数値の大小比較を説明するための図である。
図6(a)に示すように、時刻カウント情報の大小比較は、単純な比較ではなく、右回りに行くほど大きいと判断されるように比較しなければならない。具体的には、図6(b)に示すようなコードで大小比較を行なうとよい。以下の説明でも、時刻カウント情報(時刻カウント差分)の大小比較は、図6(b)に示すようなコードを使うものとする。
FIG. 6 is a diagram for explaining the comparison of the numerical values that circulate such as time count information.
As shown in FIG. 6A, the magnitude comparison of the time count information is not a simple comparison, but must be compared so that it is determined to be larger as it goes clockwise. Specifically, the size comparison may be performed using a code as shown in FIG. Also in the following description, it is assumed that a code as shown in FIG. 6B is used to compare the time count information (time count difference).
図5に戻って、通信I/F部41でパケットを受信し始めてからしばらくはパケット伝送遅延時間が安定しないことがある。パケット伝送遅延時間が安定しないと、後続の周波数差推定部45において精度良く周波数差を求めることができない。このようなときは、所定の時間(たとえば0.5秒)、受信したパケットを無視するようにしてもよい。もしくは、パケットを受信し始めてから所定のパケット数(たとえば150パケット)を受信するまで無視するようにする。もしくは、パケットを受信し始めてからパケット伝送遅延時間が安定するまで、無視するようにしてもよい。ここで、「パケット伝送遅延時間が安定する」とは、たとえば、パケット伝送遅延時間の直近N回の標準偏差を計算し、所定の値以下ならば安定したと判断する。
Returning to FIG. 5, the packet transmission delay time may not be stable for a while after the communication I /
時刻カウント生成部46は、発振器33とクロック制御量に基づいて時刻カウント情報を生成する。クロック制御量とは、時刻カウント情報の進み具合を調整するパラメータである。
The time
カウントアップ周波数が1MHzと仮定し、クロック制御量をX[ppm]に設定すると、時刻カウント情報は1秒間に100万+X回カウントアップされる。 Assuming that the count-up frequency is 1 MHz and the clock control amount is set to X [ppm], the time count information is counted up 1 million + X times per second.
ここで、クロック制御量をプラスに設定すると、時刻カウント情報は早く進む。また、クロック制御量をマイナスに設定すると、時刻カウント情報はゆっくり進む。 Here, when the clock control amount is set to plus, the time count information advances faster. Further, when the clock control amount is set to minus, the time count information advances slowly.
時刻カウント情報は、発振器33のクロックを分周してカウントアップする。たとえば、発振器33の発振周波数を33MHz、クロック制御量をX[ppm]とすると、分周値を次式(4)の右辺のように設定するとよい。
The time count information is counted up by dividing the clock of the
1/33×(1+X×10^(−6))≒30303/(999999−X)…式(4)
なお、分周値は有理数で表現している。分周値がn/dというのは、発振器33のクロックサイクルd回に、時刻カウント情報がnの割合でカウントアップすることを意味する。
1/33 × (1 + X × 10 ^ (− 6)) ≈30303 / (999999−X) (4)
Note that the frequency division value is expressed as a rational number. The frequency division value of n / d means that the time count information is counted up at a rate of n every d clock cycles of the
このように、時刻カウント生成部46は、クロック制御量を引数として時刻カウント情報の進み具合が調整され、時刻カウント情報を生成する。
As described above, the time
選択部50は、精度判定部49からの制御信号に従って、周波数差推定部45からのクロック制御量または時刻カウント遅速判定部48からのクロック制御量のいずれか一方を選択的に時刻カウント生成部46に与える。
The
精度判定部49は、選択部50に対し、過渡状態においては、周波数差推定部45からのクロック制御量を与え、定常状態においては、時刻カウント遅速判定部48からのクロック制御量を与えるように制御信号を送る。過渡状態から定常状態および定常状態から過渡状態への移行については後述する。
The
時刻カウント差分算出部43は、パケットに含まれる時刻カウント情報とそのパケットが受信された時点の時刻カウント生成部46によって生成された時刻カウント情報との差分を検出する。時刻カウント差分(deliver_time)は次の式(5)で求められる。
The time count
「時刻カウント差分(deliver_time)」=「受信機が受信した時点の時刻カウント情報(received_time)」−「送信機が送信しようとする時点の時刻カウント情報(transmit_time)」…式(5)
パケット伝送時間が前後のパケットと比べて著しく長くなると、そのときの時刻カウント差分が前後のパケットと比べて大きくなる。データフィルタ44は、このような場合のデータを無効なデータとして除去する。このようなデータフィルタを設ける理由は、パケット伝送時間のばらつきが大きいためである。
“Time count difference (deliver_time)” = “Time count information when received by receiver (received_time)” − “Time count information when transmitter transmits (transmit_time)” (5)
When the packet transmission time is significantly longer than the preceding and succeeding packets, the time count difference at that time becomes larger than the preceding and succeeding packets. The data filter 44 removes such data as invalid data. The reason for providing such a data filter is that the packet transmission time varies greatly.
図7は、無線伝送におけるパケット伝送時間のヒストグラムの一例を示す図である。
図7において、横軸はパケット伝送時間を、縦軸は頻度を表わす。図7に示すように、一見すると正規分布のようであるが、パケット伝送時間は+∞方向に長い尾を引いていることがわかる。無線伝送においては、パケット伝送時間が100msを超えることもあり、パケット伝送時間に上限を仮定することはふさわしくない。これは、無線伝送に限らず多くのネットワーク環境においてもいえることである。
FIG. 7 is a diagram illustrating an example of a histogram of packet transmission times in wireless transmission.
In FIG. 7, the horizontal axis represents packet transmission time, and the vertical axis represents frequency. As shown in FIG. 7, at first glance, it looks like a normal distribution, but it can be seen that the packet transmission time has a long tail in the + ∞ direction. In wireless transmission, the packet transmission time may exceed 100 ms, and it is not appropriate to assume an upper limit for the packet transmission time. This is true not only in wireless transmission but also in many network environments.
時刻カウント差分に異常値があると、周波数差を推定するところで誤差が大きくなってしまう。本発明の目的は、短時間で高精度に周波数差を推定することであるので、データフィルタを設けている。 If there is an abnormal value in the time count difference, the error becomes large when the frequency difference is estimated. Since the object of the present invention is to estimate the frequency difference with high accuracy in a short time, a data filter is provided.
図5に戻って、周波数差推定部45は、送信機の発振器13と受信機の発振器33との間で生じる発振周波数の差を推定する。データフィルタ44によって除去された時刻カウント差分を基に推定する。
Returning to FIG. 5, the
また、周波数差推定部45は、時刻カウント生成部46に対してクロック制御量を出力する。周波数差を推定しない段階のデフォルトのクロック制御量は、0[ppm]に設定しておく。時刻カウント生成部46は、クロック制御量によって、時刻カウント情報の進み方を早くしたり遅くしたり調整する。
Further, the frequency
図8は、時刻カウント差分算出部43によって得られた時刻カウント差分のプロット図である。
FIG. 8 is a plot diagram of the time count difference obtained by the time count
図8を参照して、時刻カウント差分について説明する。なお、図8において、横軸は、データ受信を開始してからの経過時間[μs]である。縦軸は、時刻カウント差分[μs]である。 The time count difference will be described with reference to FIG. In FIG. 8, the horizontal axis represents the elapsed time [μs] from the start of data reception. The vertical axis represents the time count difference [μs].
送信側の時刻カウント情報と受信側の時刻カウント情報は、それぞれ独立してカウントアップされる。送信側と受信側それぞれが電源オンやリセットされた時点でゼロからカウントアップされ始める。送信側と受信側で電源オンやリセットされるタイミングが毎回異なるため、時刻カウント情報の差分の値そのものに意味はない。しかし、時刻カウント情報の差分の経過には意味がある。 The time count information on the transmission side and the time count information on the reception side are counted up independently. When the transmitting side and the receiving side are each turned on or reset, they start counting up from zero. Since the timing at which the power is turned on and reset is different between the transmission side and the reception side every time, the difference value itself of the time count information is meaningless. However, the progress of the time count information difference is meaningful.
図8に示すように、時間の経過とともに時刻カウント差分が増える傾向にあることが分かる。これは、送信機の発振器13と受信機の発振器33との間で生じる発振周波数の差に起因する。
As shown in FIG. 8, it can be seen that the time count difference tends to increase with the passage of time. This is due to the difference in oscillation frequency that occurs between the
時間の経過とともに増えていくか、減っていくかは、送信機の発振器13と受信機の発振器33との関係による。すなわち、受信機の発振器33の進み方が送信機の発振器13よりも速ければ、時間の経過とともに増えていき、受信機の発振器33の進み方が送信機の発振器13よりも遅ければ、時間の経過とともに減っていく。
Whether it increases or decreases with the passage of time depends on the relationship between the
図9は、データフィルタによって無効なデータが除去された後の時刻カウント差分のプロット図である。 FIG. 9 is a plot of the time count difference after invalid data is removed by the data filter.
図9に示すように、データフィルタ44は、図8に示すようなプロット図から無効なデータを除去する。 As shown in FIG. 9, the data filter 44 removes invalid data from the plot diagram as shown in FIG.
図10は、無効なデータを検出する処理についてのフローチャートである。
図10を参照して、データフィルタ44が無効なデータを検出する処理について説明する。データフィルタ44は、パケットを受信するごとに、パケットに含まれる、送信機が送信しようとする時点の時刻カウント情報(transmit_time)と、受信機が受信した時点の時刻カウント情報(received_time)とを引数として、無効なデータを検出するルーチンを呼び出す。
FIG. 10 is a flowchart of processing for detecting invalid data.
With reference to FIG. 10, a process in which the data filter 44 detects invalid data will be described. Each time the data filter 44 receives a packet, the packet receives time count information (transmit_time) at the time of transmission by the transmitter and time count information (received_time) at the time of reception by the receiver. As a routine to detect invalid data.
まず、ステップS900において、データフィルタ44は、受信したパケットが先頭パケットであるかどうか判定する。 First, in step S900, the data filter 44 determines whether the received packet is the top packet.
先頭パケットであれば(ステップS900において、YES)、ステップS902において、データフィルタ44は、静的変数(first_transmit_time、min_deliver_time2)の初期設定を行なう。具体的には、送信機が先頭パケットを送信しようとする時刻の時刻カウント情報(first_transmit_time)をゼロに設定する。ここで、「先頭パケット」とは、電源投入後やリセット後に最初に受信したパケットをいう。また、修正された時刻カウント差分の最小値(min_deliver_time2)を+∞に設定する。なお、「修正された時刻カウント差分」についてはステップS906で詳しく説明する。 If it is the first packet (YES in step S900), in step S902, the data filter 44 initializes static variables (first_transmit_time, min_deliver_time2). Specifically, the time count information (first_transmit_time) of the time at which the transmitter tries to transmit the first packet is set to zero. Here, the “first packet” means a packet received first after power-on or reset. Further, the corrected minimum value (min_deliver_time2) of the time count difference is set to + ∞. The “corrected time count difference” will be described in detail in step S906.
続いて、ステップS904にて、送信機が先頭パケットを送信しようとする時刻の時刻カウント情報(first_transmit_time)に、受信したパケットに含まれる、送信機が送信しようとする時点の時刻カウント情報(transmit_time)を代入する。 Subsequently, in step S904, the time count information (transmit_time) at the time when the transmitter tries to transmit included in the received packet in the time count information (first_transmit_time) at the time when the transmitter tries to transmit the first packet. Is assigned.
一方、先頭パケットでなければ(ステップS900において、NO)、ステップS906にて、修正された時刻カウント差分(deliver_time2)を計算する。ここで行なわれる時刻カウント差分の修正計算は、以下で説明するようなデータ判定のために行なわれる。なお、計算は次の式(6)にしたがって行なう。 On the other hand, if it is not the top packet (NO in step S900), the corrected time count difference (deliver_time2) is calculated in step S906. The correction calculation of the time count difference performed here is performed for data determination as described below. The calculation is performed according to the following equation (6).
(deliver_time2)=(received_time)−(transmit_time2)…式(6)
ここで、(transmit_time2)は、送信機の時刻カウント情報を擬似的に+200[ppm]早くさせたものである。具体的な計算式は次の式(7)のようになる。
(Deliver_time2) = (received_time) − (transmit_time2) (6)
Here, (transmit_time2) is obtained by artificially increasing the time count information of the transmitter by +200 [ppm] earlier. A specific calculation formula is as shown in the following formula (7).
(transmit_time2)=((transmit_time)−(fisrt_transmit_time))×(1+200e-6)+(fisrt_transmit_time)…式(7)
ここでは、送信機の時刻カウント情報を擬似的に+200[ppm]早くさせているが、これは、送信機側と受信機側の発振器で想定される周波数誤差を合計したものを上回るだけの量を設定する。ここでは、送信機側と受信機側の発振器の精度をそれぞれ100[ppm]未満と想定する。このように設定すれば、受信機側の時刻カウント情報の進み方が送信機側の時刻カウント情報の進み方より遅くなる。
(Transmit_time2) = ((transmit_time)-(fisrt_transmit_time)) * (1 + 200e-6) + (fisrt_transmit_time) (7)
Here, the time count information of the transmitter is artificially increased by +200 [ppm] earlier, but this is an amount that exceeds the sum of the frequency errors assumed by the oscillators on the transmitter side and the receiver side. Set. Here, it is assumed that the accuracy of the oscillators on the transmitter side and the receiver side is less than 100 ppm. With this setting, the time count information on the receiver side advances more slowly than the time count information on the transmitter side.
また、受信機側の時刻カウント情報を擬似的に遅くさせる方法をとってもよい。このように設定すれば、送信機側の時刻カウント情報の進み方が受信機側の時刻カウント情報の進み方より早くなる。 Further, a method of artificially delaying the time count information on the receiver side may be taken. With this setting, the time count information on the transmitter side advances faster than the time count information on the receiver side.
したがって、いずれの方法をとっても、修正された時刻カウント差分は、時間経過とともに減少していくと推定される。擬似的に早くさせる量は、システムで使用する発振器の精度に合わせて変更してもよい。 Accordingly, it is estimated that the corrected time count difference decreases with the passage of time regardless of which method is used. You may change the quantity made to be pseudo-fast according to the precision of the oscillator used in a system.
図11は、図8で示したデータに対し、修正された時刻カウント差分(deliver_time2)をプロットした図である。 FIG. 11 is a diagram in which the corrected time count difference (deliver_time2) is plotted with respect to the data shown in FIG.
図11に示すように、擬似的に送信機の時刻カウント情報を早めて送信機の時刻カウント情報を修正し、修正された時刻カウント差分時間(deliver_time2)を計算すると、時間経過とともに減少していくことが分かる。 As shown in FIG. 11, when the time count information of the transmitter is corrected by advancing the time count information of the transmitter in a pseudo manner and the corrected time count difference time (deliver_time2) is calculated, it decreases with the passage of time. I understand that.
図10に戻って、ステップS908にて、ステップS906において計算した、修正された時刻カウント差分時間(deliver_time2)が、現時点における、修正された時刻カウント差分の最小値(min_deliver_time2)より小さいかどうかを判定する。 Returning to FIG. 10, in step S908, it is determined whether or not the corrected time count difference time (deliver_time2) calculated in step S906 is smaller than the minimum value (min_deliver_time2) of the corrected time count difference at the present time. To do.
最小値以下であれば(ステップS908にて、YES)、ステップS910にて、修正された時刻カウント差分の最小値(min_deliver_time2)に、ステップS906で計算した、修正された時刻カウント差分時間(deliver_time2)を代入する。 If it is equal to or smaller than the minimum value (YES in step S908), the corrected time count difference time (deliver_time2) calculated in step S906 is set to the minimum value (min_deliver_time2) of the corrected time count difference in step S910. Is assigned.
次いで、ステップS912にて、受信したパケットは有効なデータであると判定して、処理を終了する。 Next, in step S912, it is determined that the received packet is valid data, and the process ends.
一方、最小値より大きければ(ステップS908にて、NO)、ステップS914にて無効なデータであると判定して、処理を終了する。 On the other hand, if it is larger than the minimum value (NO in step S908), it is determined in step S914 that the data is invalid, and the process ends.
データフィルタは、以上のような方法により実現できるが、データフィルタの実現方法としては、上述した方法だけでなく次のような方法もある。 The data filter can be realized by the method as described above. As a method for realizing the data filter, there is the following method in addition to the above-described method.
受信機側で、所定の時間(たとえば100ms)ごとに区切り、もしくは、一定数のパケット数受信(たとえば50パケット)ごとに区切り、それぞれの期間で時刻カウント差分の極小を求める。時刻カウント差分が極小となった場合のみ有効なデータであると判定し、それ以外は無効なデータであると判定する。 On the receiver side, it is divided every predetermined time (for example, 100 ms) or divided every predetermined number of packets (for example, 50 packets), and the minimum of the time count difference is obtained in each period. It is determined that the data is valid only when the time count difference is minimal, and it is determined that the data is invalid otherwise.
あるいは、受信機側で、時刻カウント差分(deliver_time)の過去N回のうち小さい方からM個を取り出して、そのM個の平均をとる(これを「移動下側平均」と呼ぶ)。パケットを受信したとき、時刻カウント差分(deliver_time)が、移動下側平均±X(Xは所定の値)の範囲の中に含まれるとき、有効なデータであると判定し、それ以外は無効なデータであると判定する。 Alternatively, on the receiver side, M is extracted from the smaller of the past N times of the time count difference (deliver_time), and the M is averaged (this is referred to as “moving lower average”). When a packet is received, if the time count difference (deliver_time) is within the range of the moving lower average ± X (X is a predetermined value), it is determined to be valid data, otherwise it is invalid Judged as data.
図5に戻って、周波数差推定部45は、データフィルタ44によって有効であると判定されたデータに基づいて周波数差を算出する。
Returning to FIG. 5, the frequency
図12は、周波数差を算出する処理についてのフローチャートである。
図12を参照して、周波数差推定部45が、送受信機の周波数差を算出する処理について説明する。周波数差推定部45は、パケットを受信するごとに、パケットに含まれる、送信機が送信しようとする時点の時刻カウント情報(transmit_time)と、受信機が受信した時点の時刻カウント情報(received_time)とを引数として、周波数差を算出するルーチンを呼び出す。なお、ここでは、周波数差を算出する方法として、最小二乗法を用いる。
FIG. 12 is a flowchart of the process for calculating the frequency difference.
With reference to FIG. 12, the frequency
図13は、最小二乗法を説明するための図である。
ここで、図13を参照して最小二乗法について説明する。なお、図13では、横軸をx、縦軸をyとする。
FIG. 13 is a diagram for explaining the least square method.
Here, the least square method will be described with reference to FIG. In FIG. 13, the horizontal axis is x, and the vertical axis is y.
最小二乗法は、n個の点(xi,yi)(i=1,…,n)を最もよく近似する直線y=ax+b(これを「回帰直線」と呼ぶ)を求めるのに用いられる。つまり、最小二乗法は、次式(8)で表わされる、各点(xi,yi)と回帰直線y=ax+bとの間の差(これを残差と呼ぶ)の二乗和が最小になるように各係数(この場合はa,b)を求める方法である。 The least square method is used to obtain a straight line y = ax + b (this is called a “regression line”) that best approximates n points (x i , y i ) (i = 1,..., N). . That is, in the least square method, the sum of squares of the difference (referred to as a residual) between each point (xi, yi) and the regression line y = ax + b expressed by the following equation (8) is minimized. In this method, each coefficient (in this case, a and b) is obtained.
ただし、式(8)中のA,B,C,D,Eは、次式(9)で表わされる。 However, A, B, C, D, and E in the equation (8) are expressed by the following equation (9).
各係数を求めるには、具体的には、式(8)で表わされる残差二乗和Sを各係数で偏微分しゼロを代入して得られる次の式(10)、式(11)を計算する。 In order to obtain each coefficient, specifically, the following equations (10) and (11) obtained by partial differentiation of the residual sum of squares S represented by equation (8) and substituting zero are obtained. calculate.
図12に戻って、以下、周波数差を算出する処理についてフローチャートに従って詳細に説明する。なお、周波数差推定部45は、パケットを受信するたびに以下の処理を行なうものとする。
Returning to FIG. 12, the process of calculating the frequency difference will be described in detail below according to the flowchart. Note that the frequency
まず、ステップS1100において、時刻カウント差分算出部43は、式(5)に従って、時刻カウント差分(deliver_time)を計算する。
First, in step S1100, the time count
そして、ステップS1102において、周波数差推定部45は、受信したパケットが先頭パケットであるかどうか判定する。
In step S1102, the frequency
先頭パケットであれば(ステップS1102において、YES)、ステップS1104において、周波数差推定部45は、静的変数(first_transmit_time,first_deliver_time,SX,SY,SXX,SXY,SYY,CNT)の初期設定を行なう。具体的には、各変数の値をゼロにする。なお、ここでは、先頭パケットの時刻カウント差分を「first_deliver_time」とする。また、SXは式(8)における変数Eに対応する。同様に、SYは変数Cに、SXXは変数Bに、SXYは変数Dに、SYYは変数Aに、CNTはnに対応する。
If it is the first packet (YES in step S1102), in step S1104, the frequency
次いで、ステップS1106にて、送信機が先頭パケットを送信しようとする時刻の時刻カウント情報(first_transmit_time)に受信したパケットに含まれる、送信機が送信しようとする時点の時刻カウント情報(transmit_time)を代入する。また、先頭パケットの時刻カウント差分(first_deliver_time)に受信したパケットの時刻カウント差分(deliver_time)を代入する。 Next, in step S1106, the time count information (transmit_time) at the time the transmitter tries to transmit is included in the received time count information (first_transmit_time) at the time when the transmitter tries to transmit the first packet. To do. Also, the time count difference (deliver_time) of the received packet is substituted for the time count difference (first_deliver_time) of the first packet.
一方、先頭パケットでなければ(ステップS1102において、NO)、ステップS1108にて、精度判定部49は、周波数差推定部45が推定した周波数差の精度が所定の精度であるか(精度が十分であるか)どうか判定する。この判定方法は後述する。
On the other hand, if it is not the leading packet (NO in step S1102), in step S1108,
周波数差の推定が十分であれば(ステップS1108において、YES)、ステップS1110にて、周波数推定部45は、周波数差の計算を行ない、処理を終了する。なお、周波数差(A)は、式(10)に対応する計算を行なう。具体的には、次式(12)の計算を行なう。
If the estimation of the frequency difference is sufficient (YES in step S1108), in step S1110,
周波数差(A)=(CNT×SXY−SY×SX)/(CNT×SXX−SX×SX)…式(12)
一方、周波数差の推定が十分でなければ(ステップS1108において、NO)、ステップS1112にて、周波数差推定部45は、ステップS1102で求めた時刻カウント差分(deliver_time)が有効なデータであるかどうか判定する。
Frequency difference (A) = (CNT × SXY−SY × SX) / (CNT × SXX−SX × SX) (12)
On the other hand, if the estimation of the frequency difference is not sufficient (NO in step S1108), in step S1112, the frequency
有効なデータであるかどうかは、データフィルタ44が、図10で示したフローチャートもしくは前述した方法にしたがって判定した結果を用いる。 Whether or not the data is valid is determined by the data filter 44 according to the flowchart shown in FIG.
有効なデータであれば(ステップS1112において、NO)、ステップS1114にて、周波数差推定部45は、最小二乗法のための準備計算を行ない、処理を終了する。なお、準備計算とは式(9)に対応する計算のことである。具体的には、「(transmit_time)−(first_transmit_time)」をXとし、「(deliver_time)−(first_deliver_time)」をYとする。また、SXにSX+Xを、SYにSY+Yを、SXXにSXX+X×Xを、SYYにSYY+Y×Yを、CNTにCNT+1を代入する。
If the data is valid (NO in step S1112), in step S1114, the frequency
一方、有効なデータでなければ(ステップS1112において、NO)、処理を終了する。 On the other hand, if the data is not valid (NO in step S1112), the process ends.
以上のようにして、周波数差を算出する処理が行なわれる。さらに、周波数差推定部45は、ステップS1110で算出した周波数差をもとに、クロック制御量を決定する。
As described above, the processing for calculating the frequency difference is performed. Further, the frequency
時刻カウント生成部46は、クロック制御量を引数に時刻カウント情報の進み具合を調整する。いったんステップS1110で周波数差の計算が行なわれた後は、周波数差を算出する処理はもはや行なわれない。過渡状態が終了し、定常状態に移行する。
The time
次に、ステップS1108において、精度判定部49が、推定した周波数差の精度が所定の精度であるか(推定が十分であるか)どうかの判定する方法について説明する。
Next, a method will be described in which, in step S1108, the
第1の方法は、先頭パケットを受信してから所定の時間(たとえば5秒)を経過すれば、周波数差の推定が十分になったと判定する。 The first method determines that the estimation of the frequency difference is sufficient when a predetermined time (for example, 5 seconds) elapses after the first packet is received.
第2の方法は、先頭パケットを受信してから所定のパケット数(たとえば1500パケット)を受信すれば、周波数差の推定が十分になったと判定する。 In the second method, if a predetermined number of packets (for example, 1500 packets) is received after receiving the head packet, it is determined that the estimation of the frequency difference is sufficient.
第3の方法は、有効なデータの差分の個数(ステップS1114におけるCNTに相当)が所定の個数(たとえば50個)集まれば、周波数差の推定が十分になったと判定する。 In the third method, if a predetermined number (for example, 50) of effective data differences (corresponding to CNT in step S1114) is collected, it is determined that the estimation of the frequency difference is sufficient.
第4の方法は、所定の時間を経過するごとに、もしくは所定のパケット数を受信するごとに、式(10)を用いて係数aを求めて、その計算結果の過去N回の最大と最小との差が所定の値(たとえば10[ppm])を下回っていると判断されれば、周波数差の推定が十分になったと判定する。 In the fourth method, every time a predetermined time elapses or every time a predetermined number of packets are received, the coefficient a is obtained using the equation (10), and the past N maximum and minimum of the calculation result are obtained. Is determined to be less than a predetermined value (for example, 10 [ppm]), it is determined that the estimation of the frequency difference is sufficient.
第5の方法は、パケットを受信して、有効なデータが得られるごとに、式(8)で示される残差二乗和Sを計算して、その計算結果が所定の値以下になっていると判断されれば、周波数差の推定が十分になったと判定する。これは、各データがより良く回帰直線にあてはまる場合は、残差二乗和Sの値が小さくなることに着目したものである。残差二乗和Sの値が小さければ、図13における各点(xi,yi)が回帰直線により近いところに位置するため、その傾きも正しく推定できていると考えられる。第5の方法では、データの個数を一定に保つことが必要なので、有効なデータを、受信したときの直前のN個だけ用意して計算するようにする。 In the fifth method, every time valid data is obtained by receiving a packet, the residual sum of squares S shown in Expression (8) is calculated, and the calculation result is equal to or less than a predetermined value. If it is determined, it is determined that the estimation of the frequency difference is sufficient. This is because the value of the residual sum of squares S becomes smaller when each data is better fitted to the regression line. If the value of the residual sum of squares S is small, each point (x i , y i ) in FIG. 13 is located closer to the regression line, so that the slope can be estimated correctly. In the fifth method, since it is necessary to keep the number of data constant, only N pieces of valid data immediately before reception are prepared and calculated.
あるいは、データの個数を一定に保つときに、最も古いデータを削除するのではなく、データがN個たまった時点での回帰直線を仮に求め、その回帰直線から最も離れた点となるデータを削除していき、N個だけのデータを残すようにしてもよい。 Alternatively, when the number of data is kept constant, the oldest data is not deleted, but a regression line at the time when N pieces of data are obtained is temporarily calculated, and the data that is the farthest point from the regression line is deleted. Then, only N pieces of data may be left.
その他、回帰直線のあてはまり具合を表す指標として、相関係数や決定係数(アール・スクエア)などを用いてもよい。 In addition, a correlation coefficient, a determination coefficient (R-square), or the like may be used as an index indicating the degree of fit of the regression line.
精度判定部49は、以上のようにして周波数差の精度が十分であると判定すれば、精度が十分である周波数差から決定されたクロック制御量を時刻カウント生成部46に与えた後に、時刻カウント遅速判定部48からのクロック制御量を与えるように、選択部50に対して制御信号を送る。
If it is determined that the accuracy of the frequency difference is sufficient as described above, the
なお、ステップS1110で処理を終了するときに、精度判定部49は通信I/F部41を介して、周波数差の推定が十分になったことを、送信機側に通知してもよい。これによって、送信機側は、受信機側が過渡状態にあるときはより伝送遅延時間のばらつきの少ない方法で伝送し、受信機側が定常状態にあるときは伝送効率の良い方法で伝送する、といった動作をすることが可能となる。
When the process is terminated in step S1110, the
送信機側が、より伝送遅延時間のばらつきの少ない方法で伝送すると、受信機による周波数差の推定が正しく計算しやすくなるという利点がある。 If the transmitter side performs transmission by a method with less variation in transmission delay time, there is an advantage that it is easy to correctly calculate the estimation of the frequency difference by the receiver.
図14は、送信部12の詳細な構成の例を示した図である。
図14を参照して、上記のように受信機側の通知によって伝送方法を変えることができるような送信部12の構成について説明する。
FIG. 14 is a diagram illustrating an example of a detailed configuration of the
With reference to FIG. 14, the structure of the
送信部12は、パケット生成部51と、送信バッファ部52と、送信時刻付与部53と、通信I/F部54と、伝送方法選択部55と、時刻カウント生成部56とから構成される。
The
パケット生成部51は、MPEGエンコーダから入力されたMPEGパケットに、時刻カウント生成部56に基づく時刻カウント情報を付与して、パケットを生成する。
The
送信バッファ部52は、パケットを一時的に蓄える。
送信時刻付与部53は、送信バッファ部52からパケットを取り出し、通信I/F部54へパケットを送る。この際、パケットに送信時刻情報を付与する。
The
The transmission
通信I/F部54は、パケットを受信機側に送信する。
伝送方法選択部55は、パケットをどのような方法で伝送するかを選択する。たとえば、伝送遅延時間のばらつきの少ない方法で伝送する、または、伝送効率の良い方法で伝送する、を選択する。伝送方法選択部55は、送信機10だけの判断で選択を決定してもよいし、受信機30からのパケットを受信することによって決定してもよい。
The communication I /
The transmission
時刻カウント生成部56は、発振器13に基づいて時刻カウント情報を生成する。
以上の手順で、送信機10と受信機30の発振器の周波数差が短時間で精度良く求められる。ここまでで、過渡状態の期間は終了する。
The time
With the above procedure, the frequency difference between the oscillators of the
過渡状態の期間が終了した後は、定常状態におけるデジッタリング制御を行なう。
定常状態でのデジッタリング制御は、クロック制御量の変化をなるべくゆるやかにすることを目標にする。望ましくは、非特許文献3に記載されているPCRドリフトレートを満足するまでゆるやかに制御させる。民生機器であれば、必ずしもPCRドリフトレートを満足することは必要ないが、目標とするドリフトレートをあらかじめ決定しておく。なお、必ずしもPCRドリフトレートを満足する必要がないというのは、民生機器で一般的に使用される水晶発振器部品の温度変化による発振周波数変化の方が、非特許文献3に記載されているPCRドリフトレートよりも大きいことが一つの理由である。
After the period of the transient state ends, dejittering control in the steady state is performed.
The de-jittering control in the steady state is aimed at making the change of the clock control amount as gentle as possible. Desirably, it is controlled gently until the PCR drift rate described in Non-Patent Document 3 is satisfied. If it is a consumer device, it is not always necessary to satisfy the PCR drift rate, but the target drift rate is determined in advance. Note that it is not always necessary to satisfy the PCR drift rate because the change in the oscillation frequency due to the temperature change of a crystal oscillator component generally used in consumer devices is the PCR drift described in Non-Patent Document 3. One reason is that it is greater than the rate.
定常状態でのデジッタリング制御は、「パケット相対伝送時間」が一定になるように制御する方法と、「送受信機のバッファ時間量の合計」が一定になるように制御する方法と、「受信機のバッファ時間量」が一定になるように制御する方法がある。以下、図5を参照して各方法について述べる。 The de-jittering control in the steady state includes a method of controlling the “packet relative transmission time” to be constant, a method of controlling the “total amount of buffer time of the transceiver” to be constant, There is a method of controlling so that the “buffer time amount” becomes constant. Hereinafter, each method will be described with reference to FIG.
[パケット相対伝送時間が一定になるように制御する方法]
ここでいう「パケット相対伝送時間」とは、前述した時刻カウント差分((deliver_time)=(received_time)−(transmit_time))と同値である。送信機の時刻カウント情報はパケットのペイロードに含まれているものとする。
[Method to control packet relative transmission time to be constant]
The “packet relative transmission time” here is the same value as the above-mentioned time count difference ((deliver_time) = (received_time) − (transmit_time)). It is assumed that the time count information of the transmitter is included in the packet payload.
まず、時刻カウント差分算出部43は、パケット相対伝送時間を求める。
そして、時刻カウント差分極小値検出部47は、所定の期間ごとに「パケット相対伝送時間」の極小値を求める。たとえば、6秒間ごとに極小値を求める。過渡状態において、データフィルタ44が、時刻カウント差分が所定の時間で極小となったものを有効とする判定方法について上述したが、定常状態において、時刻カウント差分極小値検出部47では、極小値を求める「所定の期間」の範囲が「所定の時間」よりも長い。これは、定常状態では、ゆるやかな同期制御を行なうためである。
First, the time count
Then, the time count difference minimum
「パケット相対伝送時間」の極小値は、受信機側のクロックの進み方が送信機側と比べて速ければ、増える方向に向かう。受信機側のクロックの進み方が送信機側と比べて遅ければ、減る方向に向かう。 The minimum value of the “packet relative transmission time” increases in the direction in which the clock on the receiver side advances faster than the transmitter side. If the way of the clock on the receiver side is slower than that on the transmitter side, it will go in a decreasing direction.
時刻カウント遅速判定部48は、「パケット相対伝送時間」の極小値の変化をみて、受信機側のクロックの進み方が遅いか速いかを判定する。「パケット相対伝送時間」の極小値の{増/減}に応じて、受信機側のクロックの進み方を所定のドリフトレートの範囲内で{遅くする/速くする}。どれだけクロック制御量を変化させるかはあらかじめ決めておく。たとえば、6秒間ごとに±1/9[ppm]ずつ変化させる。
The time count slow
所定の時間ごとに、どれだけクロック制御量を変化させるかはパラメータで調整可能なように設計しておくのがよい。また、時刻カウント遅速判定部48は、「パケット相対伝送時間」の極小値の変化において、所定の値以下の差(たとえば10μ秒程度)は有意な差とはみなさず、受信機側のクロックの進み方をそのままに維持してもよい。
It is preferable that the amount of change in the clock control amount at a predetermined time is designed so that it can be adjusted by a parameter. In addition, the time count slow
[送受信機のバッファ時間量の合計が一定になるように制御する方法]
また、バッファ時間量を観察することでも、受信機側のクロックの進み方が遅いか速いかを判定できる。
[Method of controlling the total buffer time of the transceiver to be constant]
Also, by observing the amount of buffer time, it is possible to determine whether the clock on the receiver side is slow or fast.
受信機は、パケットを受信するごとに、送受信機のバッファ時間量の合計を求める。なお、これは時刻カウント差分算出部43に相当する部分において行なわれる。
Each time a receiver receives a packet, it calculates the total amount of buffer time of the transceiver. This is performed in a portion corresponding to the time count
送信機のバッファ時間量の情報は、パケットのペイロードに含まれているものとする。これは図13における送信時刻付与部53に相当する部分において行なわれる。
Information on the buffer time amount of the transmitter is assumed to be included in the payload of the packet. This is performed in a portion corresponding to the transmission
図5に戻って、受信機のバッファ時間量は、パケットを受信したときにデジッタリングバッファ42に蓄えられているパケットの時間量を取得する。
Returning to FIG. 5, the buffer time amount of the receiver acquires the time amount of the packet stored in the
受信機のバッファ時間量は、パケット伝送時間が大きくなれば減ることになる。なぜなら、送信機側のバッファ時間量は、パケットに含まれている情報として変化しないが、パケット伝送時間が大きくなると、受信機側でパケットを遅れて受信することになる。その間に受信機側のデジッタリングバッファからパケットが出力され続けることになるので、バッファ時間量は減ることになる。よって、バッファ時間量については極大値を見ることが重要である。 The buffer time amount of the receiver decreases as the packet transmission time increases. This is because the amount of buffer time on the transmitter side does not change as information included in the packet, but when the packet transmission time increases, the receiver side receives the packet with a delay. During this time, packets continue to be output from the de-jittering buffer on the receiver side, so the amount of buffer time is reduced. Therefore, it is important to look at the maximum value for the buffer time amount.
受信機は、所定の時間ごとに「送受信機のバッファ時間量の合計」の極大値を求める。なお、これは時刻カウント差分極小値検出部47に相当する部分において行なわれる。
The receiver obtains the maximum value of “the total amount of buffer time of the transceiver” every predetermined time. This is performed in a portion corresponding to the time count difference minimum
「送受信機のバッファ時間量の合計」の極大値は、受信機側のクロックの進み方が送信機側と比べて速ければ、減る方向に向かう。受信機側のクロックの進み方が送信機側と比べて遅ければ、増える方向に向かう。「送受信機のバッファ時間量の合計」の極大値の変化をみて、受信機側のクロックの進み方が遅いか速いかを判定する。なお、これは時刻カウント遅速判定部48に相当する部分において行なわれる。
The maximum value of the “total amount of buffer time of the transmitter / receiver” tends to decrease if the clock progress on the receiver side is faster than that on the transmitter side. If the way of the clock on the receiver side is slower than that on the transmitter side, the direction is increased. The change in the maximum value of the “total amount of buffer time of the transceiver” is determined to determine whether the clock advance on the receiver side is slow or fast. This is performed in a portion corresponding to the time count
極大値の{増/減}に応じて、受信機側のクロックの進み方を所定のドリフトレートの範囲内で{速くする/遅くする}。 In accordance with {increase / decrease} in the maximum value, the clock advance on the receiver side is {increased / decreased} within a predetermined drift rate range.
[受信機のバッファ時間量が一定になるように制御する方法]
また、送信機のバッファ時間量の情報が得られない場合、受信機のバッファ時間量だけで判断してもよい。
[Method to control the buffer time of the receiver to be constant]
Further, when information on the buffer time amount of the transmitter cannot be obtained, the determination may be made based only on the buffer time amount of the receiver.
ネットワーク20にバースト的な伝送障害が起こらない限り、送信機のバッファ時間量はゼロもしくはゼロに近い値となると考えられる。所定の時間の間に、1パケットでもこのような状態になれば、送信機のバッファ時間量の情報が得られない場合でも、受信機のバッファ時間量だけで判断することができる。
Unless there is a bursty transmission failure in the
受信機は、所定の時間ごとに「受信機のバッファ時間量」の極大値を求める。「受信機のバッファ時間量」の極大値の変化をみて、受信機側のクロックの進み方が遅いか速いかを判定する。極大値の{増/減}に応じて、受信機側のクロックの進み方を所定のドリフトレートの範囲内で{速くする/遅くする}。 The receiver obtains a maximum value of “the amount of buffer time of the receiver” every predetermined time. The change in the maximum value of the “receiver buffer time amount” is observed to determine whether the clock on the receiver side is slow or fast. In accordance with {increase / decrease} in the maximum value, the clock advance on the receiver side is {increased / decreased} within a predetermined drift rate range.
これらのいずれかの方法を用いることで、目標とするドリフトレートを守って、デジッタリング制御を継続することができる。 By using any of these methods, the de-jittering control can be continued while keeping the target drift rate.
以上で、定常状態でのデジッタリング制御の方法について述べた。
また、定常状態時から過渡状態に移行することもありえる。パケットの受信が途絶えて、デジッタリングバッファ42が空になり、一定時間経過すれば、ストリーム伝送が終了したとみなして、過渡状態に移行する。
The method of de-jittering control in the steady state has been described above.
In addition, a transition from a steady state to a transient state may occur. When the reception of the packet is interrupted and the
また、電源オンもしくはリセットされても、定常状態から過渡状態に移行する。
定常状態から過渡状態に移行した際、選択部50は、周波数差推定部45からのクロック制御量を時刻カウント生成部46に与えるようにする。
Even if the power is turned on or reset, the steady state transitions to the transient state.
When shifting from the steady state to the transient state, the
なお、過渡状態に移行したときに、受信機から送信機にパケットを送信するような送信手段を備えてもよい。これによって、送信機側は伝送遅延時間のばらつきの少ない方法で伝送することができる。パケットを送信することで、受信機側から送信機の伝送方法を明示的に指示することができる。 In addition, you may provide the transmission means which transmits a packet from a receiver to a transmitter when it transfers to a transient state. As a result, the transmitter side can perform transmission using a method with little variation in transmission delay time. By transmitting the packet, the transmission method of the transmitter can be explicitly instructed from the receiver side.
また、本発明における映像伝送システムでは、部品のクロック精度によっては、過渡状態時に正常に映像が表示されるかどうかは保障されない。上述したMPEGデコーダのVCXO問題があるため、セットによって正常に映像が表示される場合とされない場合がある。よって、過渡状態時に、送信機ではダミーパケットを送信し、受信機では受信したダミーパケットを破棄するようにしてもよい。このように制御することで、セットの個体差による動作の違いをなくすことができる。 In the video transmission system according to the present invention, whether or not video is normally displayed in a transient state is not guaranteed depending on the clock accuracy of the parts. Due to the above-described MPEGX VCXO problem, video may or may not be displayed normally depending on the set. Therefore, in a transient state, the transmitter may transmit a dummy packet, and the receiver may discard the received dummy packet. By controlling in this way, it is possible to eliminate differences in operation due to individual differences in the set.
また、ダミーパケットの構成は、図3で示したパケットフォーマットにとらわれず、送信時刻情報のみのパケットとしてもよい。パケットの長さを短く設定できるため、パケット伝送時間のばらつきが少なくなることも期待できる。 Further, the configuration of the dummy packet is not limited to the packet format shown in FIG. 3 and may be a packet of only transmission time information. Since the packet length can be set short, it can be expected that variations in packet transmission time will be reduced.
図15は、データフィルタ44がある場合とない場合のシミュレーション結果を示す図である。 FIG. 15 is a diagram illustrating simulation results with and without the data filter 44.
図15を参照して、データフィルタがある場合とない場合との収束結果の違いについて説明する。図15において、横軸は、シミュレーションの経過時間[秒]である。縦軸は、最小二乗法を用いて推測した周波数差と、真値との誤差の絶対値[ppm]である。0ppmに近いほど正しく推定できていることを示す。 With reference to FIG. 15, the difference of the convergence result with and without the data filter will be described. In FIG. 15, the horizontal axis represents the simulation elapsed time [seconds]. The vertical axis represents the absolute value [ppm] of the error between the frequency difference estimated using the least square method and the true value. The closer to 0 ppm, the better the estimation.
また、図15では、シミュレーションを2000回行なって、収束の精度の悪い10回を除いて、その次に悪い回の値を示している。したがって、図15の結果は99.5%の確率で期待できる。なお、グラフ140は、データフィルタ44がない場合を示し、グラフ142は、データフィルタ44がある場合を示している。
Further, in FIG. 15, the simulation is performed 2000 times, and the next worst value is shown except for 10 times with poor convergence accuracy. Therefore, the result of FIG. 15 can be expected with a probability of 99.5%. The
ここで、シミュレーションの条件を詳しく説明すると、パケット伝送遅延時間のばらつきとして、パレート分布を用いた。最短のパケット伝送遅延時間は50μ秒で、99.7%が10ms以内に収まるようにパラメータを設定している。 Here, the simulation conditions will be described in detail. A Pareto distribution is used as a variation in the packet transmission delay time. The shortest packet transmission delay time is 50 μsec, and the parameters are set so that 99.7% is within 10 ms.
図15に示すように、データフィルタ44がない場合は、10秒以上経過しても数ppmまでしか収束していない。一方、データフィルタ44がある場合は、5秒間で約±1ppmまで収束していることがわかる。
As shown in FIG. 15, when there is no
図15のシミュレーション結果は、データフィルタ44があることによって、デジッタリングにおけるクロック制御量がほぼ収束する(所定のドリフトレートを満足しながら制御できる)までの時間を短く設定できることを示している。 The simulation result of FIG. 15 shows that the time until the amount of clock control in dejittering almost converges (can be controlled while satisfying a predetermined drift rate) can be set short by the presence of the data filter 44.
以上で説明したように、本実施の形態に係る映像伝送システムによれば、デジッタリングにおけるクロック制御において、所定のドリフトレートを満足しながら制御し、かつ、デジッタリングのクロック制御量がほぼ収束して所定のドリフトレートを満足しながら制御できるまでの時間を短くすることができる。 As described above, according to the video transmission system according to the present embodiment, in clock control in dejittering, control is performed while satisfying a predetermined drift rate, and the clock control amount for dejittering is almost converged and predetermined. It is possible to shorten the time until control can be performed while satisfying the drift rate.
[実施の形態2]
実施の形態1における過渡状態時の高速デジッタリング制御では、送信機と受信機との間で生じる発振周波数の差を求めるために、送信機側と受信機側の時刻カウント差分を求めていた。本実施の形態では、実施の形態1での方法とは異なる、送信機と受信機に蓄えられているパケットのバッファ時間量の合計を見るという方法について示す。
[Embodiment 2]
In the high-speed de-jittering control in the transient state in the first embodiment, the time count difference between the transmitter side and the receiver side is obtained in order to obtain the difference in oscillation frequency generated between the transmitter and the receiver. In the present embodiment, a method of looking at the total buffer time amount of packets stored in the transmitter and the receiver, which is different from the method in the first embodiment, will be described.
バッファ時間量の合計の時間経過は、ちょうど図8で示したグラフを上下反転したような形となる。時刻カウント差分の時間経過と同様の(上下反転した)傾きが得られるので、送信機と受信機との間で生じる発振周波数の差を求めることができる。 The total elapsed time of the buffer time amount has a form as if the graph shown in FIG. Since the same (upside down) inclination as the time lapse of the time count difference is obtained, the difference in oscillation frequency generated between the transmitter and the receiver can be obtained.
実施の形態2は、実施の形態1における「時刻カウント差分」ではなく「送受信機のバッファ時間量の合計」で発振周波数差を求めるように変更したものである。 The second embodiment is a modification in which the oscillation frequency difference is obtained not by the “time count difference” in the first embodiment but by the “total amount of buffer time of the transceiver”.
本実施の形態では、図5に示す時刻カウント差分算出部43において、送信機と受信機に蓄えられているパケットのバッファ時間量の合計を計算するように変更する。バッファ時間量の合計は次式(13)で求められる。
In the present embodiment, the time count
「バッファ時間量の合計(buf_amount)」=「送信機に蓄えられるバッファ時間量(tx_queue)」+「受信機に蓄えられるバッファ時間量(rx_queue)」…式(13)
なお、送信機に蓄えられるバッファ時間量(tx_queue)はパケットから得られる。図3で示したTXQフィールド230を、パケットを送信しようとする時点の送信機に蓄えられているバッファ時間量に変更する。
“Total buffer time amount (buf_amount)” = “Buffer time amount stored in transmitter (tx_queue)” + “Buffer time amount stored in receiver (rx_queue)” (13)
Note that the buffer time amount (tx_queue) stored in the transmitter is obtained from the packet. The
送信機に蓄えられるバッファ時間量は、送信用バッファに蓄えられているパケットのうち、最新パケットの時刻カウント情報と最古パケットの時刻カウント情報との差を、次式(14)に従って求めることで得られる。 The amount of buffer time stored in the transmitter is obtained by calculating the difference between the time count information of the latest packet and the time count information of the oldest packet among the packets stored in the transmission buffer according to the following equation (14). can get.
「送信機に蓄えられるバッファ時間量(tx_queue)」=「最新パケットの時刻カウント情報(tx_newest_tts)」−「最古パケットの時刻カウント情報(tx_oldest_tts)」…式(14)
受信機に蓄えられているバッファ時間量は、デジッタリングバッファ42に蓄えられているパケットのうち、最新パケットの時刻カウント情報と最古パケットの時刻カウント情報との差を、次式(15)に従って求めることで得られる。
“Amount of buffer time stored in transmitter (tx_queue)” = “time count information of latest packet (tx_newest_tts)” − “time count information of oldest packet (tx_oldest_tts)” (14)
The amount of buffer time stored in the receiver is the difference between the time count information of the latest packet and the time count information of the oldest packet among the packets stored in the
「受信機に蓄えられるバッファ時間量(rx_queue)」=「最新パケットの時刻カウント情報(rx_newest_tts)」−「最古パケットの時刻カウント情報(rx_oldest_tts)」…式(15)
データフィルタ44において、「バッファ時間量の合計(buf_amount)」の異常値を除去するように変更する。データフィルタ44のアルゴリズムは、符号の反転を考慮する(例:最小値を更新→最大値を更新と変更する)だけで、実施の形態1で提示した方法がそのまま使える。周波数差推定部45も符号の反転を考慮するだけで、実施の形態1で提示した方法がそのまま使える。以後の処理は、実施の形態1と同様である。
“Amount of buffer time stored in receiver (rx_queue)” = “time count information of latest packet (rx_newest_tts)” − “time count information of oldest packet (rx_oldest_tts)” (15)
The data filter 44 is changed so as to remove the abnormal value of “total amount of buffer time (buf_amount)”. The algorithm of the data filter 44 can use the method presented in the first embodiment as it is only by considering the inversion of the sign (eg, updating the minimum value → changing the maximum value to update). The
以下に、バッファ時間量の合計の時間経過グラフは、時刻カウント差分の時間経過グラフをちょうど上下反転したものである理由を示す。 In the following, the total time lapse graph of the buffer time amount shows the reason why the time lapse graph of the time count difference is just upside down.
「送信機に蓄えられるバッファ時間量(tx_queue)」を求める式(15)に対し、次式(16)のようにして求められる「エンコーダから入力されて送信するまでのタイムラグ(time_to_send)」を加えてもよい。 “Time lag from input to encoder (time_to_send)” obtained from the following equation (16) is added to equation (15) to obtain “buffer time amount (tx_queue) stored in transmitter” May be.
「エンコーダから入力されて送信するまでのタイムラグ(time_to_send)」=「送信機が送信しようとする時点の時刻カウント情報(transmit_time)」−「最新パケットの時刻カウント情報(tx_newest_tts)」…式(16)
なお、送信機に蓄えられるバッファ時間量(tx_queue)に対して式(16)を加えるというのは、以下の考え方に基づいている。
“Time lag from input from encoder to transmission (time_to_send)” = “time count information at time when transmitter tries to transmit (transmit_time)” − “time count information of latest packet (tx_newest_tts)” (16)
Note that adding equation (16) to the buffer time amount (tx_queue) stored in the transmitter is based on the following concept.
送信機がパケットを、エンコーダからパケットが入力された直後に送信する場合と、しばらく経過してから送信する場合では、バッファ時間量の意味合いが実質的に異なるという考え方がある。 There is an idea that the meaning of the amount of buffer time is substantially different between a case where the transmitter transmits a packet immediately after the packet is input from the encoder and a case where the packet is transmitted after a while.
たとえば、エンコーダから150μ秒間隔でパケットが入力されているとして、直前のパケットが50μ秒前に入力されていたとする。すると、100μ秒後には次のパケットが入力されるはずなので、その時点で送信機に蓄えられるバッファ時間量は150μ秒増えることになる。100μ秒後にバッファ時間量を150μ秒増やすのではなく、現時点でバッファ時間量を50μ秒分増やしておく、という考え方である。
For example, assuming that packets are input from the encoder at intervals of 150 μs, the previous packet is
エンコーダから一定間隔(例:150μ秒)でパケットが入力されているとき、式(18)の値はわずか(例:0μ秒〜150μ秒)である。 When packets are input from the encoder at a constant interval (for example, 150 μsec), the value of Expression (18) is very small (for example, 0 μsec to 150 μsec).
また、受信機に蓄えられるバッファ時間量(rx_queue)を求める式(15)に、次式(17)のようにして求められる「最古パケットが出力されるまでの時間(time_to_output)」を加えてもよい。 Further, by adding the “time until the oldest packet is output (time_to_output)” obtained by the following equation (17) to the equation (15) for obtaining the buffer time amount (rx_queue) stored in the receiver Also good.
「最古パケットが出力されるまでの時間(time_to_output)」=「最古パケットが出力される予定の時刻(expected_sph)」−「受信機がパケットを受信した時点の時刻カウント情報(received_time)」…式(17)
最古パケットが出力される予定の時刻は次式(18)で計算できる。
“Time until the oldest packet is output (time_to_output)” = “Time when the oldest packet is scheduled to be output (expected_sph)” − “Time count information when the receiver receives the packet (received_time)” Formula (17)
The time when the oldest packet is scheduled to be output can be calculated by the following equation (18).
最古パケットが出力される予定の時刻(expected_sph)=「最古パケットの時刻カウント情報(rx_oldest_tts)」+「遅延時間(delayed_time)」…式(18)
受信機に蓄えられるバッファ時間量(rx_queue)に、式(17)を加えるというのは、以下の考え方に基づいている。
Time when the earliest packet is scheduled to be output (expected_sph) = “time count information of the oldest packet (rx_oldest_tts)” + “delay time (delayed_time)” (18)
Adding equation (17) to the amount of buffer time (rx_queue) stored in the receiver is based on the following concept.
受信機がパケットを、最古パケットを出力した直後に受信した場合と、しばらく経過してから受信した場合とでは、バッファ時間量の意味合いが実質的に異なるという考え方がある。 There is an idea that the meaning of the amount of buffer time is substantially different between when the receiver receives a packet immediately after outputting the oldest packet and when the receiver receives the packet after a while.
たとえば、エンコーダから150μ秒間隔でパケットが入力されているとして、受信機がパケットを受信した時点で、最古パケットを50μ秒に出力する予定になっていたとする。すると、50μ秒を経過しても、受信機に蓄えられるバッファ量に何ら変わりはないので、その分の50μ秒分を受信機に蓄えられるバッファ時間量(rx_queue)に加える、という考え方である。 For example, assuming that packets are input from the encoder at intervals of 150 μs, the oldest packet is scheduled to be output in 50 μs when the receiver receives the packets. Then, even if 50 μs elapses, the buffer amount stored in the receiver does not change at all, so the idea is to add 50 μs of that amount to the buffer time amount (rx_queue) stored in the receiver.
エンコーダから一定間隔(例:150μ秒)でパケットが入力されているとき、式(8)の値はわずか(例:0μ秒〜150μ秒)である。 When packets are input from the encoder at regular intervals (eg, 150 μsec), the value of Equation (8) is very small (eg, 0 μsec to 150 μsec).
また、送信機における最古パケットとは、いままさに送信しようとしているパケットのことである。また、受信機における最新パケットとは、いま受信したばかりのパケットのことである。よって、送信機における「最古パケットの時刻カウント情報(tx_oldest_tts)」と受信機における「最新パケットの時刻カウント情報(rx_newest_tts)」は等しい。 The oldest packet in the transmitter is a packet that is about to be transmitted. The latest packet in the receiver is a packet just received. Therefore, “the oldest packet time count information (tx_oldest_tts)” at the transmitter is equal to “the latest packet time count information (rx_newest_tts)” at the receiver.
以上をまとめると、バッファ時間量の合計は次式(19)によっても求めることができる。 In summary, the total buffer time amount can also be obtained by the following equation (19).
「バッファ時間量の合計(buf_amount)」=「送信機が送信しようとする時点の時刻カウント情報(transmit_time)」−「受信機がパケットを受信した時点の時刻カウント情報(received_time)」+「遅延時間(delayed_time)」…式(19)
遅延時間(delayed_time)は固定の時間であるので、これを除くと、バッファ時間量の合計は、結局のところ時刻カウント差分(deliver_time)を符号反転したものに過ぎない。以上より、バッファ時間量の合計の時間経過グラフは、時刻カウント差分の時間経過グラフをちょうど上下反転したものであることがわかる。実施の形態2は、実施の形態1を「時刻カウント差分」から「送受信機のバッファ時間量の合計」に変更したものであり、時刻カウント差分算出部43、データフィルタ44、周波数差推定部45を変更したものである。
“Total amount of buffer time (buf_amount)” = “Time count information when the transmitter tries to transmit (transmit_time)” − “Time count information when the receiver receives the packet (received_time)” + “Delay time (Delayed_time) "... Formula (19)
Since the delay time (delayed_time) is a fixed time, except for this, the total buffer time amount is merely a sign-inverted time count difference (deliver_time). From the above, it can be seen that the total time lapse graph of the buffer time amount is obtained by vertically inverting the time lapse graph of the time count difference. In the second embodiment, the first embodiment is changed from “time count difference” to “total amount of buffer time of transceiver”, and a time count
[実施の形態3]
また、実施の形態2の過渡状態時の高速デジッタリング制御を「受信機のバッファ時間量」だけで制御することもできる。
[Embodiment 3]
Further, the high-speed de-jittering control in the transient state of the second embodiment can be controlled only by “the buffer time amount of the receiver”.
本実施の形態に係る伝送装置では、パケットに送信機のバッファ時間量の情報が含まれない場合でも、実施可能である。送信機のバッファ時間量をゼロとみなし、それ以外は実施の形態2と同様である。 The transmission apparatus according to the present embodiment can be implemented even when the packet does not include information on the buffer time amount of the transmitter. The buffer time amount of the transmitter is regarded as zero, and the rest is the same as in the second embodiment.
本発明は、MPEG2−TSの映像伝送システムに限らず、ストリーミングメディア(ビデオ、オーディオ、音声など)のネットワーク伝送全般において適用できる。具体的なサービスとしては、VoIP、テレフォニー、遠隔会議、ストリーミングビデオ、Webキャスト、VoD(ビデオオンデマンド)、IP放送などが挙げられる。 The present invention is not limited to the MPEG2-TS video transmission system, and can be applied to all network transmissions of streaming media (video, audio, audio, etc.). Specific services include VoIP, telephony, remote conference, streaming video, Webcast, VoD (video on demand), IP broadcasting, and the like.
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
10 送信機、11 MPEGエンコーダ、12 送信部、13 発振器、14 発振器、20 ネットワーク、30 受信機、31 受信部、32 MPEGデコーダ、33 発振器、34 可変周波数発振器、41 通信I/F部、42 デジッタリングバッファ、43 時刻カウント差分算出部、44 データフィルタ、45 周波数差推定部、46 時刻カウント生成部、47 時刻カウント差分極小値検出部、48 時刻カウント遅速判定部、49 精度判定部、50 選択部、51 パケット生成部、52 送信バッファ部、53 送信時刻付与部、54 通信I/F部、55 伝送方法選択部、56 時刻カウント生成部、100 ネットワーク映像伝送システム、1200 送信機、1202 MPEG2エンコーダ、1204 発振器、1206 送信バッファ、1210 受信機、1212 受信バッファ、1214 PLL、1216 MPEG2デコーダ、1302 内部カウンタ、1304 減算器、1306 ローパスフィルタ、1308 電圧制御発振器、1400 送信機、1402 クロック、1404 エンコーダ、1410 受信機、1412 デコーダ、1414 PLL、1416 デジッタリングバッファ、1418 制御部、1600 MPEG2エンコーダ、1601 発振器、1602 送信機、1603 発振器、1604 ネットワーク、1606 受信機、1607 発振器、1608 MPEG2デコーダ、1609 VCXO。
10 transmitter, 11 MPEG encoder, 12 transmitter, 13 oscillator, 14 oscillator, 20 network, 30 receiver, 31 receiver, 32 MPEG decoder, 33 oscillator, 34 variable frequency oscillator, 41 communication I / F unit, 42 Jittering buffer, 43 Time count difference calculation unit, 44 Data filter, 45 Frequency difference estimation unit, 46 Time count generation unit, 47 Time count difference minimum value detection unit, 48 Time count slow speed determination unit, 49 Accuracy determination unit, 50 selection Section, 51 packet generation section, 52 transmission buffer section, 53 transmission time assignment section, 54 communication I / F section, 55 transmission method selection section, 56 time count generation section, 100 network video transmission system, 1200 transmitter, 1202
Claims (26)
前記受信装置側の基準クロックとして、第1の時刻カウント情報を生成するための時刻カウント生成手段と、
前記送信装置からのパケットを受信するための受信手段と、
前記送信装置からの前記パケットに含まれる第2の時刻カウント情報と、前記受信手段が前記パケットを受信した時点で前記時刻カウント生成手段によって生成された第1の時刻カウント情報とに基づいて、時刻カウント差分を算出するための時刻カウント差分算出手段と、
前記時刻カウント差分の異常値を取り除くためのデータフィルタと、
前記データフィルタを通過した前記時刻カウント差分の情報から、前記送信装置側の基準クロックとの周波数差を算出するための周波数差推定手段とを備える、受信装置。 A receiving device for data communication with a transmitting device connected to a network,
A time count generation means for generating first time count information as a reference clock on the receiving device side;
Receiving means for receiving a packet from the transmitting device;
Based on the second time count information included in the packet from the transmission device and the first time count information generated by the time count generation means when the reception means receives the packet, the time A time count difference calculating means for calculating the count difference;
A data filter for removing an abnormal value of the time count difference;
A receiving apparatus comprising: frequency difference estimating means for calculating a frequency difference from a reference clock on the transmitting apparatus side from information on the time count difference that has passed through the data filter.
前記周波数差推定手段からのクロック制御量にしたがって、前記時刻カウント生成部が生成する前記第1の時刻カウント情報の進み方を制御するための時刻カウント制御手段をさらに備える、請求項1記載の受信装置。 The frequency difference estimation means determines a clock control amount based on the calculated frequency difference,
2. The reception according to claim 1, further comprising time count control means for controlling how the first time count information generated by the time count generation unit proceeds according to a clock control amount from the frequency difference estimation means. apparatus.
前記時刻カウント制御手段に対し、前記周波数差推定手段からのクロック制御量または前記定常状態クロック制御量決定手段からのクロック制御量のいずれか一方を選択的に与えるための選択手段とをさらに備え、
前記選択手段は、前記精度判定手段が前記周波数差の精度が所定の精度であると判断したことに応じて、前記時刻カウント制御手段に対し、前記周波数差推定手段からのクロック制御量に代わって、前記定常状態クロック制御量決定手段からのクロック制御量を与える、請求項7記載の受信装置。 A steady state clock control amount determining means for determining a clock control amount so as to satisfy a predetermined drift rate condition;
A selection means for selectively giving either the clock control amount from the frequency difference estimation means or the clock control amount from the steady state clock control amount determination means to the time count control means;
In response to the determination by the accuracy determining unit that the accuracy of the frequency difference is a predetermined accuracy, the selecting unit is configured to replace the clock control amount from the frequency difference estimating unit with respect to the time count control unit. The receiving apparatus according to claim 7, wherein a clock control amount from said steady state clock control amount determination means is provided.
所定の期間において、前記時刻カウント差分の極小値を検出するための時刻カウント差分極小値検出手段と、
検出された前記極小値の変化に基づいて、前記基準クロックの進み方を所定のドリフトレートの範囲内になるように前記クロック制御量を決定するための時刻カウント遅速判定手段とを含む、請求項13記載の受信装置。 The steady state clock control amount determination means includes:
A time count difference minimum value detecting means for detecting a minimum value of the time count difference in a predetermined period;
And a time count delay determination means for determining the clock control amount so that the advance of the reference clock is within a predetermined drift rate range based on the detected change in the minimum value. 13. The receiving device according to 13.
前記送信装置からのパケットに含まれる、前記バッファに蓄積されたパケットの時刻カウント情報の時刻範囲を示す第1のバッファ時間量と、前記パケットが前記受信装置のバッファに蓄積された時点の第2のバッファ時間量とを合計した第3のバッファ時間量を算出するためのバッファ時間量算出手段とをさらに備え、
前記定常状態クロック制御量決定手段は、
所定の期間において、前記第3のバッファ時間量の極大値を検出するためのバッファ時間量極大値検出手段と、
検出された前記極大値の変化に基づいて、前記基準クロックの進み方を所定のドリフトレートの範囲内になるように前記クロック制御量を決定するための時刻カウント遅速判定手段とを含む、請求項13記載の受信装置。 A buffer for accumulating the received packets;
A first buffer time amount indicating a time range of time count information of packets accumulated in the buffer included in a packet from the transmission device; and a second time when the packet is accumulated in the buffer of the reception device. Buffer time amount calculating means for calculating a third buffer time amount obtained by summing the buffer time amounts of
The steady state clock control amount determination means includes:
A buffer time amount maximum value detecting means for detecting a maximum value of the third buffer time amount in a predetermined period;
And a time count delay determination means for determining the clock control amount based on the detected change in the maximum value so that the advance of the reference clock is within a predetermined drift rate. 13. The receiving device according to 13.
前記定常状態クロック制御量決定手段は、
所定の期間において、前記バッファに蓄積されたパケットの時刻カウント情報の時刻範囲を示す第4のバッファ時間量の極大値を検出するためのバッファ時間量極大値検出手段と、
検出された前記極大値の変化に基づいて、前記基準クロックの進み方を所定のドリフトレートの範囲内になるように前記クロック制御量を決定するための時刻カウント遅速判定手段とを含む、請求項13記載の受信装置。 A buffer for storing the packet;
The steady state clock control amount determination means includes:
A buffer time amount maximum value detecting means for detecting a maximum value of a fourth buffer time amount indicating a time range of time count information of packets accumulated in the buffer in a predetermined period;
And a time count delay determination means for determining the clock control amount based on the detected change in the maximum value so that the advance of the reference clock is within a predetermined drift rate. 13. The receiving device according to 13.
前記受信装置側の基準クロックとして、第1の時刻カウント情報を生成するための時刻カウント生成手段と、
前記送信装置からのパケットを受信するための受信手段と、
前記送信装置からの前記パケットに含まれる第2の時刻カウント情報と、前記受信手段が前記パケットを受信した時点で前記時刻カウント生成手段によって生成された第1の時刻カウント情報とに基づいて、時刻カウント差分を算出するための時刻カウント差分算出手段と、
前記時刻カウント差分の情報から、前記送信装置側の基準クロックとの周波数差を算出し、クロック制御量を決定するための周波数差推定手段と、
前記周波数差推定手段が算出した周波数差の精度を判定するための精度判定手段とを備える、受信装置。 A receiving device for data communication with a transmitting device connected to a network,
A time count generation means for generating first time count information as a reference clock on the receiving device side;
Receiving means for receiving a packet from the transmitting device;
Based on the second time count information included in the packet from the transmission device and the first time count information generated by the time count generation means when the reception means receives the packet, the time A time count difference calculating means for calculating the count difference;
From the information of the time count difference, a frequency difference estimation unit for calculating a frequency difference with a reference clock on the transmission device side and determining a clock control amount;
A receiving apparatus comprising: accuracy determining means for determining the accuracy of the frequency difference calculated by the frequency difference estimating means.
前記周波数差推定手段からのクロック制御量にしたがって、前記時刻カウント生成部が生成する前記第1の時刻カウント情報の進み方を制御するための時刻カウント制御手段をさらに備える、請求項17記載の受信装置。 The frequency difference estimation means determines a clock control amount based on the calculated frequency difference,
18. The reception according to claim 17, further comprising time count control means for controlling how the first time count information generated by the time count generation unit proceeds according to a clock control amount from the frequency difference estimation means. apparatus.
前記時刻カウント制御手段に対し、前記周波数差推定手段からのクロック制御量または前記定常状態クロック制御量決定手段からのクロック制御量のいずれか一方を選択的に与えるための選択手段とを備え、
前記選択手段は、前記精度判定手段が前記周波数差の精度が所定の精度であると判断したことに応じて、前記時刻カウント制御手段に対し、前記周波数差推定手段からのクロック制御量に代わって、前記定常状態クロック制御量決定手段からのクロック制御量を与える、請求項18に記載の受信装置。 A steady state clock control amount determining means for determining a clock control amount so as to satisfy a predetermined drift rate condition;
A selection means for selectively giving either the clock control amount from the frequency difference estimation means or the clock control amount from the steady state clock control amount determination means to the time count control means;
In response to the determination by the accuracy determining unit that the accuracy of the frequency difference is a predetermined accuracy, the selecting unit is configured to replace the clock control amount from the frequency difference estimating unit with respect to the time count control unit. 19. The receiving apparatus according to claim 18, wherein a clock control amount from said steady state clock control amount determination means is provided.
前記送信装置からのパケットを受信するための受信手段と、
前記受信装置側の基準クロックとして、第1の時刻カウント情報を生成するための時刻カウント生成手段と、
前記基準クロックの制御状態を検出するための検出手段と、
検出された前記制御状態を前記送信装置に通知するための送信手段とを備える、受信装置。 A receiving device for data communication with a transmitting device connected to a network,
Receiving means for receiving a packet from the transmitting device;
A time count generation means for generating first time count information as a reference clock on the receiving device side;
Detecting means for detecting a control state of the reference clock;
A receiving device comprising: a transmitting means for notifying the transmitting device of the detected control state.
前記選択手段は、前記電源入力検出手段が前記電源の入力もしくはリセットを検出したことに応じて、前記時刻カウント制御手段に対して前記周波数差推定手段からのクロック制御量を与える、請求項13または19に記載の受信装置。 A power input detecting means for detecting an input state of power to the receiving device;
The selection means gives a clock control amount from the frequency difference estimation means to the time count control means in response to the power input detection means detecting the input or reset of the power supply. 19. The receiving device according to 19.
前記周波数差推定手段は、前記ダミーパケットの時刻カウント差分に基づいて前記周波数差を推定する、請求項1から23のいずれか1項に記載の受信装置。 The transmitting device transmits a dummy packet to the receiving device;
The receiving apparatus according to any one of claims 1 to 23, wherein the frequency difference estimation unit estimates the frequency difference based on a time count difference of the dummy packet.
前記受信装置側の基準クロックとして、第1の時刻カウント情報を生成するための時刻カウント生成手段と、
前記送信装置からのパケットを受信するための受信手段と、
受信した前記パケットを蓄積するためのバッファと、
前記送信装置からのパケットに含まれる、前記バッファに蓄積されたパケットの時刻カウント情報の時刻範囲を示す第1のバッファ時間量と、前記パケットが前記受信装置のバッファに蓄積された時点の第2のバッファ時間量とを合計した第3のバッファ時間量を算出するためのバッファ時間量算出手段と、
前記第3のバッファ時間量の異常値を取り除くためのデータフィルタと、
前記データフィルタを通過した前記第3のバッファ時間量の情報から、前記送信装置側の基準クロックとの周波数差を算出するための周波数差推定手段とを備える、受信装置。 A receiving device for data communication with a transmitting device connected to a network,
A time count generation means for generating first time count information as a reference clock on the receiving device side;
Receiving means for receiving a packet from the transmitting device;
A buffer for accumulating the received packets;
A first buffer time amount indicating a time range of time count information of packets accumulated in the buffer included in a packet from the transmission device; and a second time when the packet is accumulated in the buffer of the reception device. A buffer time amount calculating means for calculating a third buffer time amount that is the sum of the buffer time amounts of
A data filter for removing an abnormal value of the third buffer time amount;
A receiving apparatus comprising: frequency difference estimating means for calculating a frequency difference from a reference clock on the transmitting apparatus side from information on the third buffer time amount that has passed through the data filter.
前記受信装置側の基準クロックとして、第1の時刻カウント情報を生成するステップと、
前記送信装置からのパケットを受信するステップと、
前記送信装置からの前記パケットに含まれる第2の時刻カウント情報と、前記受信するステップで前記パケットを受信した時点で生成された第1の時刻カウント情報とに基づいて、時刻カウント差分を算出するステップと、
前記時刻カウント差分の異常値を取り除くステップと、
前記異常値が取り除かれた前記時刻カウント差分の情報から、前記送信装置側の基準クロックとの周波数差を算出するステップとを備える、クロック同期方法。 A clock synchronization method for data communication with a transmission device connected to a network,
Generating first time count information as a reference clock on the receiver side;
Receiving a packet from the transmitting device;
A time count difference is calculated based on second time count information included in the packet from the transmission device and first time count information generated when the packet is received in the receiving step. Steps,
Removing an abnormal value of the time count difference;
Calculating a frequency difference with a reference clock on the transmission device side from information on the time count difference from which the abnormal value has been removed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006301876A JP4874058B2 (en) | 2006-11-07 | 2006-11-07 | Receiver and clock synchronization method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006301876A JP4874058B2 (en) | 2006-11-07 | 2006-11-07 | Receiver and clock synchronization method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008118549A true JP2008118549A (en) | 2008-05-22 |
JP4874058B2 JP4874058B2 (en) | 2012-02-08 |
Family
ID=39504094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006301876A Expired - Fee Related JP4874058B2 (en) | 2006-11-07 | 2006-11-07 | Receiver and clock synchronization method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4874058B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011016165A1 (en) * | 2009-08-05 | 2011-02-10 | パナソニック株式会社 | Switch control device, integrated circuit for switch control, switch control method, and control program |
JP2011120146A (en) * | 2009-12-07 | 2011-06-16 | Mitsubishi Electric Corp | Media receiving device |
FR3032585A1 (en) * | 2015-02-10 | 2016-08-12 | Devialet | METHOD FOR SYNCHRONIZATION AND RESTITUTION OF MULTIMEDIA FLOW |
CN109005002A (en) * | 2017-05-31 | 2018-12-14 | 罗伯特·博世有限公司 | Sensing data processing unit, sensing system and the method for determining reduced parameter in the scope of the sensing system |
CN114116579A (en) * | 2020-08-25 | 2022-03-01 | 横河电机株式会社 | Information processing apparatus, information processing system, and information processing method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004179807A (en) * | 2002-11-26 | 2004-06-24 | Mitsubishi Electric Corp | Clock reproducing apparatus, data communication device, and clock reproducing method |
-
2006
- 2006-11-07 JP JP2006301876A patent/JP4874058B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004179807A (en) * | 2002-11-26 | 2004-06-24 | Mitsubishi Electric Corp | Clock reproducing apparatus, data communication device, and clock reproducing method |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011016165A1 (en) * | 2009-08-05 | 2011-02-10 | パナソニック株式会社 | Switch control device, integrated circuit for switch control, switch control method, and control program |
JP2011120146A (en) * | 2009-12-07 | 2011-06-16 | Mitsubishi Electric Corp | Media receiving device |
FR3032585A1 (en) * | 2015-02-10 | 2016-08-12 | Devialet | METHOD FOR SYNCHRONIZATION AND RESTITUTION OF MULTIMEDIA FLOW |
WO2016128440A1 (en) * | 2015-02-10 | 2016-08-18 | Devialet | Method for synchronising and rendering multimedia streams |
US10134442B2 (en) | 2015-02-10 | 2018-11-20 | Devialet | Method for synchronising and rendering multimedia streams |
CN109005002A (en) * | 2017-05-31 | 2018-12-14 | 罗伯特·博世有限公司 | Sensing data processing unit, sensing system and the method for determining reduced parameter in the scope of the sensing system |
JP2019012519A (en) * | 2017-05-31 | 2019-01-24 | ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングRobert Bosch Gmbh | Sensor data processing device |
US11493948B2 (en) | 2017-05-31 | 2022-11-08 | Robert Bosch Gmbh | Sensor-data processing device |
CN114116579A (en) * | 2020-08-25 | 2022-03-01 | 横河电机株式会社 | Information processing apparatus, information processing system, and information processing method |
Also Published As
Publication number | Publication date |
---|---|
JP4874058B2 (en) | 2012-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7664145B2 (en) | Jitter correcting apparatus capable of ensuring synchronism between transmitter apparatus and receiver apparatus | |
US8954496B2 (en) | Multi-screen display system | |
JP4694969B2 (en) | Data receiver | |
US20030231589A1 (en) | Method for transporting media, transmitter and receiver therefor | |
US7940805B2 (en) | Receiving device, clock synchronizing method, and computer program | |
JP4874058B2 (en) | Receiver and clock synchronization method | |
WO2005088888A1 (en) | Data reception device and data reception method | |
KR20140104969A (en) | Apparatus and method for synchronized transmission of multimedia content over an asynchronous network | |
JP2008118543A (en) | Receiving device and data reproduction method | |
US6704329B2 (en) | Minimizing the effect of jitter upon the quality of service operation of networked gateway devices | |
JP2003249922A (en) | Data receiver, method for processing received data and computer program | |
JP4742836B2 (en) | Receiver | |
JP3906712B2 (en) | Data stream processing device | |
JP4092705B2 (en) | Stream transmitting apparatus, receiving apparatus, and transmission / reception method | |
JP5391964B2 (en) | Clock synchronization method and packet communication system | |
WO2011158640A1 (en) | Output rate control device and output rate control method | |
JP2009239375A (en) | Ip transmission video data receiver and ip transmission video data reception method used therefor | |
JP2006174001A (en) | Clock synchronization scheme in data transmission and data transmission system | |
JP2007295491A (en) | Streaming data receiving apparatus and jitter elimination circuit | |
JP3736396B2 (en) | Stream transmitting apparatus and receiving apparatus | |
JP2007274536A (en) | Receiver and transmission/reception method | |
Baba et al. | Buffer-based low-delay playout control methods for IPTV terminals | |
JP2017028385A (en) | Receiving device and system | |
JP4212404B2 (en) | System clock control apparatus and system clock control method for stream receiver | |
JPH08307863A (en) | Transmission reception synchronization method for video coding information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110617 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110705 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110901 |
|
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: 20111115 |
|
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: 20111122 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141202 Year of fee payment: 3 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |