JP2005216265A - 転送装置及び方法 - Google Patents

転送装置及び方法 Download PDF

Info

Publication number
JP2005216265A
JP2005216265A JP2004026142A JP2004026142A JP2005216265A JP 2005216265 A JP2005216265 A JP 2005216265A JP 2004026142 A JP2004026142 A JP 2004026142A JP 2004026142 A JP2004026142 A JP 2004026142A JP 2005216265 A JP2005216265 A JP 2005216265A
Authority
JP
Japan
Prior art keywords
pcr
transfer
packet
time
adjustment information
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
Application number
JP2004026142A
Other languages
English (en)
Other versions
JP4875832B2 (ja
Inventor
Tachio Ono
太刀雄 小野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2004026142A priority Critical patent/JP4875832B2/ja
Priority to US11/044,148 priority patent/US7440400B2/en
Publication of JP2005216265A publication Critical patent/JP2005216265A/ja
Application granted granted Critical
Publication of JP4875832B2 publication Critical patent/JP4875832B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43632Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wired protocol, e.g. IEEE 1394
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • H04N5/772Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Systems (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Communication Control (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】 タイミング調整用のバッファメモリのサイズを小さくすることができ、受信側の通信装置の製造コストを低減することができるようにする。
【解決手段】 所定のサイズのデータを所定の時間間隔で転送する転送方式を用いて時間調整情報を含むストリームデータを転送する転送装置(503)であって、前記時間調整情報を前記転送方式における時間間隔に従って変換する変換手段(609)と、変換後の前記時間調整情報に従って前記ストリームデータを転送する転送手段(606)とを有する転送装置を提供する。
【選択図】 図6

Description

本発明は、MPEG2トランスポートストリーム等のストリームデータを転送するための転送装置及び方法に関する。
現在、ストリームデータの一例としてMPEG2トランスポートストリーム(以下、MPEG2TS)が知られている(例えば、非特許文献1参照)。MPEG2TSは、188バイトのTSパケットから構成される。
また現在、IEEE1394規格を用いてMPEG2TSを転送する転送装置が知られている(例えば、特許文献1参照)。
また現在、IEEE1394規格を用いてMPEG2TSを転送する場合、IEC61883規格を使用することも知られている(例えば、非特許文献2及び3参照)。非特許文献2ではCIP(Common Isochronous Packet)ヘッダのデータフォーマットを規定し、非特許文献3ではSPH(Source Packet Header)のデータフォーマットを規定している。CIPヘッダのデータフォーマットを図1に示す。また、SPHのデータフォーマットを図2に示す。図2において、CYCLE_COUNTフィールド201(13ビット)は8kHzのカウンタであり、CYCLE_OFFSETフィールド202はオフセット値を格納する。SPHは、各TSパケットをMPEG2TSコーデックに入力するタイミングの調整するのに使用される。
特開2001−282713号公報 ISO/IEC 13818-1: Information technology-Generic coding of moving pictures and associated audio information: Systems IEC 61883-1, Consumer audio/video equipment - Digital interface - Part 1: General IEC 61883-4, Consumer audio/video equipment - Digital interface - Part 4: MPEG2-TS data transmission
IEEE1394規格及びIEC61883規格を使用した通信システムでは、図3A乃至図3Cに示すように、SPHとPCR(Program Clock Reference)とに従ってTSパケットの転送を制御している。
図3Aにおいて、TSパケット301及び302は、PCRを有するTSパケットである。PCRは、時間間隔を調整するための情報であり、図4に示すように、90kHzのカウンタであるProgram_clock_reference_baseフィールド401(33ビット)と、27MHzのカウンタであるProgram_clock_reference_extensionフィールド402(6ビット)とを有する。パケット301とパケット302の時間間隔は、パケット301に含まれるPCRとパケット302に含まれるPCRの値の差に相当する。
図3Bにおいて、TSパケット301はTSパケット303のタイミングでIEEE1394シリアルバス上に転送され、TSパケット302はTSパケット304のタイミングでIEEE1394シリアルバス上に送信される。このとき、TSパケット303及び304の時間間隔は、TSパケット301及び302の時間間隔を125μsの整数倍に調整される。このとき、各TSパケットには、PCRの値に従って生成されたSPHが付加されている。
図3Cにおいて、受信側の転送装置は、SPHを用いてTSパケット305及び306の時間間隔をTSパケット301及び302の時間間隔となるように調整する。
しかしながら、このような構成では、SPHに従ってタイミングのずれを吸収するためのバッファ(タイミング調整用のバッファメモリ)のサイズを大きくする必要があり、受信側の転送装置の製造コストを上昇させるという問題がある。
そこで、本発明は、タイミング調整用のバッファメモリのサイズを小さくすることができ、受信側の通信装置の製造コストを低減することができるようにすることを目的とする。
本発明の転送装置は、所定のサイズのデータを所定の時間間隔で転送する転送方式を用いて時間調整情報を含むストリームデータを転送する転送装置であって、前記時間調整情報を前記転送方式における時間間隔に従って変換する変換手段と、変換後の前記時間調整情報に従って前記ストリームデータを転送する転送手段と有する点に特徴を有する。
また、本発明の転送方法は、所定のサイズのデータを所定の時間間隔で転送する転送装置を用いて時間調整情報を含むストリームデータを転送する転送方法であって、前記転送装置の変換手段により、前記時間調整情報を前記転送方式における時間間隔に従って変換する手順と、前記転送装置の転送手段により、変換後の前記時間調整情報に従って前記ストリームデータを転送する手順と有する点に特徴を有する。
本発明によれば、タイミング調整用のバッファメモリのサイズを小さくすることができ、受信側の通信装置の製造コストを低減することができる。
以下、添付図面を参照して、本発明の好適な実施形態について説明する。図5は、本発明に好適な実施形態の一例であるデータ転送システムの主要な構成要素を示す図である。図5に示すデータ転送システムは、ストリームデータの一例であるMPEG2TS(MPEG−2システムで規定されたトランスポートストリーム)をUSB(Universal Serial Bus)で規定されたアイソクロナス転送(isochronous transfer)を用いて転送するデータ転送システムである。なお、USBについては、Universal Serial Bus。Universal Serial Bus Specification Revision 2.0, April 27, 2000に記載されているので、その詳細な説明は省略する。
図5において、DVC(デジタルビデオカメラ)501は受信側の転送装置の一例であり、PC(パーソナルコンピュータ)503は送信側の転送装置の一例である。DVC501及びPC503のそれぞれは、USBに準拠した通信インターフェース部を有する。従って、DVC501及びPC503のそれぞれは、所定のサイズのデータを所定の時間間隔(125μs)で転送する転送方式であるアイソクロナス転送(isochronous transfer)を有する。また、PC503はUSBで規定されたホストとして動作し、DVC501はUSBで規定されたデバイスとして動作する。USBケーブル502は、DVC501とPC502との間を接続する通信ケーブルである。
図9は、MPEG2TSのデータフォーマットを示す図である。図9において、901はTSパケットであり、902はTSパケットのヘッダである。MPEG2TSは、図9に示すように、複数のTSパケットから構成される。903はアダプテーションフィールド、904は5Flagsフィールド、905はオプショナルフィールド、906はPCRフィールドである。PCRフィールド906には、PCR(Program_Clock_Reference)が格納されている。
図6は、送信側の転送装置の一例であるPC503の主要な構成要素を示す図である。各構成要素は、ハードウェアで構成することも、ソフトウェアで構成することも可能である。ストレージ部601(例えば、ハードディスク装置から構成される)は、ストリームデータの一例であるMPEG2TSを記憶する。
読み出し部602は、MPEG2TSをTSパケット(188バイト)ごとにストレージ部601から読み出す。
バッファ604a、604b及び604cは、ストレージ部601から読み出されたMPEG2TSパケットを一時的に記憶する。なお、バッファの数は、2つであっても3つ以上であってもよい。
バッファ選択部603及び605は、バッファ604a、バッファ604b又はバッファ604cを選択するバッファ選択部である。
USBインターフェース部606は、USBに準拠した通信インターフェース部であり、第2のバッファ選択部605によって選択されたバッファ内のMPEG2TSパケットをアイソクロナス転送で転送する。USBインターフェース部606は、送信タイミング計算部610から通知されたタイミングに従って各TSパケットを転送する。
PCR検出部607は、読み出し部602によって読み出されたTSパケットがPCR(Program_Clock_Reference)を含むTSパケットであるか否かを判定する。読み出し部602によって読み出されたTSパケットがPCR(Program_Clock_Reference)を含むTSパケットである場合、PCR検出部607は、そのTSパケットのPCRを読み出し、読み出したPCRをPCR間隔計算部608に供給する。
PCR間隔計算部608は、各PCRに記述されている時刻情報から各PCRの時間間隔を計算し、計算した時間間隔をPCR再計算部609に供給する。
PCR再計算部609は、PCR間隔計算部608によって計算された時間間隔をアイソクロナス転送の1サイクル(125μs)の整数倍に再計算する。
送信タイミング計算部610は、PCR再計算部609によって再計算された時間間隔に従って各TSパケットの送信すべきタイミングを計算し、計算したタイミングをUSBインターフェース部606に通知する。
図7は、受信側の転送装置の一例であるDVC501の主要な構成要素を示す図である。CPU(Central Processing unit)701は、DVC501の動作を制御する。
MPEG2TSコーデック702は、MPEG2TSのエンコード及びデコードを行う。
USBインターフェース部703は、USBに準拠した通信インターフェース部であり、USBインターフェース部606から送信されたMPEG2TSを受信し、受信したMPEG2TSをMPEG2TSコーデック702に転送する。
データバス704は、USBインターフェース部703とMPEG2TSコーデック702との間を接続するデータバスであり、MPEG2TSの転送レートよりも大きな転送レートを有している。
図8は、USBインターフェース部703で行われるタイミング調整処理を説明するための図である。PC503からアイソクロナス転送で転送されたTSパケットは、SIE−FIFO802に格納される。USBインターフェース部703は、TSパケットの終端を検出した場合、SIE−FIFO802内のTSパケットをCPU−FIFO801に転送する。但し、SIE−FIFO802からCPU−FIFO801への転送は、ホストであるPC503から次のSOFが受信されるまでの間に完了させ、TSパケットのタイミングを調整するものとする。ここで、uSOF(Start of micro Frame)は、125μsの時間間隔の最初を示すデータであり、ホストとデバイスとの間の時間の調整に使用されるデータである。このように構成することにより、125μs内で生じるずれを小さくすることができる。USBインターフェース部703は、CPU−FIFO810内のTSパケットを125μsの時間間隔でMPEG2TSコーデック702に転送する。
次に、図5に示すデータ転送システムにおいて実行されるストリームデータの転送方法について説明する。読み出し部602は、ストレージ部601に格納されているMPEG2TSをTSパケット(188バイト)ごとに読み出す。読み出された188バイトのTSパケットは、バッファ604a、604b又は604cに格納される。このとき、PCR検出部607は、TSパケット901のヘッダ902にPCRフィールド906が存在するか否かを判定する。そして、PCRフィールド906が存在する場合には、PCRフィールド906から取り出したPCRを用いて式(1)を計算する。
PCR(i)=PCR_base(i) * 300 + PCR_ext(i) ----------------------------(1)
ここで、PCR_base(i)はPCR内のProgram_clock_reference_base (33 bits)であり、PCR_ext(i)はPCR内のProgram_clock_reference_extension (6bits)である。
読み出し部602は、PCR検出部607が次のPCRを含むTSパケットを検出するまで、ストレージ部601から読み出したTSパケットをバッファ604aに転送し続ける。
PCR検出部607が次のPCRを含むTSパケットを検出した場合、検出されたPCRを式(1)に従ってPCR(i+1)に保持する。このとき、バッファ選択部603は、PCR検出部607からの指示に従ってバッファ604bを選択する。さらに、次のPCRを含むTSパケットが検出された場合、バッファ選択部603は、PCR検出部607からの指示に従ってバッファ604cを選択する。
図11は、バッファ604a及び604bの状態を説明する図である。バッファの先頭にはPCRを含むTSパケット1101、1103が保持され、以降にはPCRを含まないTSパケット1102、1104が保持される。これまでの説明に従うと、TSパケット1101のPCRはPCR(i)に保持され、TSパケット1103にはPCR(i+1)が保持される。USBマイクロフレームは125μsであるので、各パケットをUSBマイクロフレームに合わせて伝送すると、PCR(i)とPCR(i+1)との間の値と、実際のPCRを含むTSパケットの伝送間隔には、最大で125μs未満の誤差が生じ、結果この誤差がPCRのずれとなる。これを回避するためには、実際にPCRを含むTSパケットが伝送路上に送信された際に発生しうる誤差を考慮すると、各PCRの時間間隔が125μsの整数倍になるようにPCRの値を修正すれば良い。このことから、修正されるべきPCRを求めるために、次にPCR間隔計算部608は、PCR(i)とPCR(i+1)の差分を計算する。
Intvl_PCR(i) = PCR(i+1) - PCR(i) ---------------------------------(2)
PCR再計算手段609は、Intvl_PCR(i)の値をUSBで規定されたアイソクロナス転送の1サイクル(125μs)の整数倍になるように再計算する。この再計算は、式(3)を用いて行われる。
Smoothed_Intvl_PCR(i) = Intvl_PCR(i) - MOD(Intvl_PCR(i), 3375) ---(3)
ここで、3375は、125μsを27MHzクロックに換算した値である。また、MOD()は剰余を計算する関数である。
PCRの値は、27MHzの解像度で表現されるので、式(3)によって、Intvl_PCR(i)の値を125μsの整数倍にするように修正できる。
CarriedErrorは、式(3)のIntvl_PCR(i)の値を125μsの整数倍にするときに発生した誤差の累計である。CarriedErrorは、式(4)によって計算される。初期状態であるとき、CarriedErrorは0である。
CarriedError += MOD(Intvl_PCR(i), 3375) --------------------------(4)
PCR再計算部609は、式(5)によって再計算された値から新しいPCRを生成し、元のPCRを新しいPCRに書き替える。
New_PCR(i+1) = PCR(i) + Smoothed_Intvl_PCR(i) --------------------(5)
ここで、PCR(i)とNew_PCR(i+1)との間の時間間隔は、125μsの整数倍となる。
このとき、PCR再計算部609は、PCR(i)とPCR(i+1)との間の時間間隔を125μsの整数倍にするときに発生した誤差の累計を考慮する必要がある。PCR再計算部609は、式(6)が成立する場合(CarriedErrorの値が3375よりも大きい場合)、式(7−1)及び式(7−2)を計算する。これにより、誤差が修正される。
CarriedError >= 3375 ---------------------------------------------(6)
New_PCR(i+1) = New_PCR(i+1) + 3375 -----------------------------(7-1)
CarriedError -= 3375 -------------------------------------------(7-2)
再計算されたNew_PCR(i+1)の値は、PCR(i+1)の値となり、次のPCRであるPCR(i+2)を修正するために用いられる。
次に、PCR(i) を含むTSパケットと、PCR(i+1)を含むTSパケットを送信するタイミングを説明する。送信タイミング計算部610は、PCR(i)を含むTSパケットからPCR(i+1)を含むTSパケットの一つ前のTSパケットまでのTSパケットの総数Num_TS_PACKET(i)と、再計算後の時間間隔(つまり、125μsの整数倍)とに従って、各USBマイクロフレームで送信されるべきTSパケットの数とタイミングとを計算する。
Num_Microfrm(i)は、PCR(i)を含むTSパケットからPCR(i+1)を含むTSパケットが送信されるまでの間に存在するUSBマイクロフレームの数である。Num_Microfrm(i)は、式(8)によって計算される。
Num_Microfrm(i) = (New_PCR(i+1) - PCR(i)) / 3375 -----------------(8)
TransPktA(i) = (INT)(Num_TS_PACKET(i) / Num_MicroFrm(i)) -------(9-1)
TransPktB(i) = TransPktA(i) + 1 --------------------------------(9-2)
NumOfTranspktB(i) = MOD(Num_TS_PACKET(i), Num_MicroFrm(i)) -----(9-3)
NumOfTranspktA(i) = Num_MicroFrm(i) - NumOfTranspktB(i) --------(9-4)
ここで、TransPktA(i)及びTransPktB(i)は、PCR(i)を含むTSパケットからPCR(i+1)を含むTSパケットまでの間に各USBマイクロフレームにおいて送信されるTSパケットの数である。
式(9−1)におけるINT()は、小数点以下を破棄する関数である。例えば、Num_TS_PACKET(i)=30、Num_MicroFrm(i)=25である場合、TransPktA(i)=1、TransPktB(i)=2となり、PCR(i)を含むTSパケットからPCR(i+1)を含むTSパケットまでが送信されるの間の各USBマイクロフレームにおいては、あるUSBマイクロフレームでは2つのTSパケットが一つのUSBアイソクロナスパケットとして、あるUSBマイクロフレームでは1つのTSパケットが一つのUSBアイソクロナスパケットとして送信されることを示している。
また、NumOfTranspktA(i)は、PCR(i)を含むTSパケットからPCR(i+1)を含むTSパケットまでの間でのTransPktA(i)の送信回数であり、NumOfTranspktB(i)はPCR(i)を含むTSパケットからPCR(i+1)を含むTSパケットまでが送信されるの間におけるTransPktB(i)の送信回数である。例えば、Num_TS_PACKET(i)=30、Num_MicroFrm(i)=25である場合、NumOfTranspktA(i)=20、NumOfTranspktB(i)=5となり、PCR(i)を含むTSパケットからPCR(i+1)を含むTSパケットが送信されるまでの間の25USBマイクロフレーム内において、1USBマイクロフレームで1TSパケットを送信する回数が20回、1USBマイクロフレームで2TSパケットを送信する回数が5回となる。
これらの値と、図10に示すプログラムとに従って、TransPktA(i)及びTransPktB(i)のタイミングを設定する。図10において、TimTable1001は、USBインターフェース部606を介して外部に転送するときのデータを指示するためのテーブルであり、pktType1001−1とuSOF1001−2をメンバとして保持している。ここで、pktType1001−1は各マイクロフレーム内に何個のTSパケットを送信するかを示しており、これまでの説明から、TransPktA(i)かTransPktB(i)が設定される。uSOF(マイクロスタートオブフレーム)は、どのマイクロフレームで送信されるパケットかを示している。従って、TimTable1001は、PCR(i)を含むTSパケットからPCR(i+1)を含むTSパケットの一つ前までのTSパケットが送信されるべき間隔を指定するテーブルである。1002のGET_CUR_uSOFによって与えられる値は、USBホストコントローラがuSOF送信毎にインクリメントする内部カウンタの現在値を返すものである。また、1002のGET_CUR_uSOF関数は、説明の便宜上、初期化後の初回呼び出しときのみ、内部カウンタ値を返し、以降は、1011のADD_CUR_uSOFにて設定されたNum_MicroFrm(i)をインクリメントした値だけ返すものとする。
1003のXは計算用の変数であり0に初期化される。次に1004のループ式を用いて、TimTable1001を作成する。ここで、PCR(i)を含むTSパケットからPCR(i+1)を含むTSパケットの一つ前までのTSパケットが送信されるべきuSOFインターバルの数、すなわちトータルの送信回数はNum_MicroFrm(i)で示されている。TransPktA(i)によって示されるTSパケット送信の回数はNumOfTranspktA(i)、TransPktB(i)によって示されるTSパケット送信の回数はNumOfTranspktB(i)となる。ステップ1005からステップ1009までの処理は、トータル送信回数Num_MicroFrm(i)の中で、NumOfTranspktB(i)によって示される回数分だけTransPktB(i)を送信する場合のロジック例である。無論、このロジックは図10に示されるものに限らない。ステップ1005において、NumOfTranspktB(i)をXに加算し、ステップ1006においてXがNum_MicroFrm(i)以上になったときだけ、TransPktB(i)を送信するようにTimTableに設定している。それ以外はTransPktA(i)が送信されるように設定する。ステップ1010では、内部的に保持される、内部カウンタ値を参照してUSBインターフェース部610が送信するタイミングを決定するために利用するタイミング情報が任意の遅延delayを伴って設定される。すなわち、TimTableは一時バッファ604に保持されるTSパケットデータの送信タイミングを125μs単位で厳密に指定する。このようにして生成されたTimTableを元にUSBインターフェース部606は、指示されたタイミング、すなわち、TimTableが保持するメンバuSOFとpktTypにしたがって、各パケットを指定タイミングで送信する。
図12は、USBインターフェース部606で実行される転送処理を説明するためのフローチャートである。
ステップ1201:125μsでカウントされるマイクロフレーム内部カウンタ値を取得する。
ステップ1202:マイクロフレーム内部カウンタ値とTimTable[N].uSOFによって示される値が一致してなければ、再びマイクロフレーム内部カウンタ値の取得に遷移し、一致していれば、ステップ1203に遷移する。
ステップ1203:TimTable[N].pktTypeによって示される数だけTSパケットをひとつのUSBアイソクロナスパケットとしてバス上に送信する。
ステップ1204:TimTableのINDEXであるNをインクリメントする。
ステップ1205:一時バッファ604に保存されるすべてのTSパケットの送信が完了したか否かを判定し、終了していたら、1バッファ分の転送を終了する。一時バッファ内のすべてのデータを送信し終えると、第2のバッファ選択部605を次のバッファに接続し、次のデータの送信を行う。
受信側の転送装置であるDVC501は、SIE−FIFO802にてパケットを受信し、CPU−FIFO801パケットが転送されると、パケットデータを内部バスに送信する。ここで、図13AはUSB上の各マイクロフレーム上のTSパケットの伝送状態を示しており、1301はSOFパケット、1302と1303はPCRを含んだTSパケットであり、これらのPCRは前述の方法によって、125μsの整数倍にPCR間の間隔がなるように修正されたものである。図13Aの状態では、SOFパケットから各TSパケットまでの間隔は一定であるのでTSパケット1302及び1303内のPCRの時間間隔と実際の伝送間隔は等しい。
図13Bも同様に、USB上の各マイクロフレームにおけるTSパケットの伝送状態を示しているが、図13Bに示すように1303のPCRを含むTSパケットが1304に示す分だけ遅延が発生した場合には、PCRにずれが発生してしまう。
そこで、図14CにあるようにCPU−FIFO801から内部バスへの転送タイミングを次に受信するSOFパケットに同期して行えば、マイクロフレーム内にて発生する遅延ずれを吸収でき、1401によって示される伝送期間とTSパケット1302及び1303のPCRの時間間隔は等しくなる。すなわち、受信側においては、CPU−FIFO801にあるデータをuSOF毎に内部バスに送信することで、125μsの整数倍にした各PCRの時間間隔を正確に再現できる。
このように、本実施形態によれば、送信側の転送装置においてはPCRの時間間隔を125μsの整数倍になるように送信することができるので、受信側の転送装置におけるタイミング調整用のバッファメモリのサイズを小さくすることができ、受信側の通信装置の製造コストを低減することができるようにする。
また、本実施形態によれば、受信したTSパケットをMPEG2TSコーデック702に転送するタイミングをSOFによって調整することができるので、125μs内に生じたずれを調整することができる。
なお、本発明は、所定のサイズのデータを所定の時間間隔で転送する転送方式を有する通信システムであれば、USB以外の通信システム(例えば、IEEE1394)で実施することもできる。
本発明の目的は、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれることは言うまでもない。
CIPヘッダのデータフォーマットを示した図である。 SPHのデータフォーマットを示した図である。 IEEE1394規格及びIEC61883規格を使用した通信システムにおけるTSパケットの転送方法を説明する図である。 MPEG2TSヘッダに含まれるPCRフィールドのデータフォーマットを示した図である。 本発明に好適な実施形態の一例であるデータ転送システムの主要な構成要素を示す図である。 送信側の転送装置の主要な構成要素を示す図である。 受信側の転送装置の主要な構成要素を示す図である。 受信側の転送装置のUSBインターフェース部で行われるタイミング調整処理を説明するための図である。 MPEG2TSのヘッダフォーマット概略図である。 TSパケットの送信タイミングを計算するためのプログラムの一例を示す図である。 バッファに蓄積されるTSパケットの状態を示す図である。 送信側の転送装置のUSBインターフェース部で実行される転送処理を説明するためのフローチャートである。 TSパケットを送信するタイミングを説明するための図である。 TSパケットを送信するタイミングを説明するための図である。
符号の説明
501 DVC
502 USBケーブル
503 PC
601 ストレージ部
602 読み出し部
604a〜604c バッファ
603、605 バッファ選択部
606 USBインターフェース部
607 PCR検出部
608 PCR間隔計算部
609 PCR再計算部
610 送信タイミング計算部
701 CPU
702 MPEG2TSコーデック
703 USBインターフェース部
704 データバス

Claims (4)

  1. 所定のサイズのデータを所定の時間間隔で転送する転送方式を用いて時間調整情報を含むストリームデータを転送する転送装置であって、
    前記時間調整情報を前記転送方式における時間間隔に従って変換する変換手段と、
    変換後の前記時間調整情報に従って前記ストリームデータを転送する転送手段と有することを特徴とする転送装置。
  2. 前記ストリームデータは、MPEG2TSフォーマットに従ってエンコードされたデータであり、前記時間調整情報は、MPEG2TSパケットに含まれるPCRであり、
    前記転送装置は、PCRが含まれるTSパケットを判定する手段と、次のPCRを含むTSパケットを検出するまで一時保持するバッファ手段と、検出された各PCRの時間間隔を計算する手段とを有し、各PCRの時間間隔が該同期期間の整数倍になるようにPCRの値を再計算し、該再計算されたPCRを含むパケットが送信されるべき時刻を該再計算されたPCRによって決定し、決定された時刻に従って該再計算されたPCRを含むパケットを伝送路上に送信することを特徴とする請求項1に記載の転送装置。
  3. 前記転送方式は、IEEE1394又はUSBで規定されたアイソクロナス転送であることを特徴とする請求項1又は2に記載の転送装置。
  4. 所定のサイズのデータを所定の時間間隔で転送する転送装置を用いて時間調整情報を含むストリームデータを転送する転送方法であって、
    前記転送装置の変換手段により、前記時間調整情報を前記転送方式における時間間隔に従って変換する手順と、
    前記転送装置の転送手段により、変換後の前記時間調整情報に従って前記ストリームデータを転送する手順と有することを特徴とする転送方法。
JP2004026142A 2004-02-02 2004-02-02 転送装置、プログラム及びコンピュータ読み取り可能な記憶媒体 Expired - Fee Related JP4875832B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004026142A JP4875832B2 (ja) 2004-02-02 2004-02-02 転送装置、プログラム及びコンピュータ読み取り可能な記憶媒体
US11/044,148 US7440400B2 (en) 2004-02-02 2005-01-27 Transfer apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004026142A JP4875832B2 (ja) 2004-02-02 2004-02-02 転送装置、プログラム及びコンピュータ読み取り可能な記憶媒体

Publications (2)

Publication Number Publication Date
JP2005216265A true JP2005216265A (ja) 2005-08-11
JP4875832B2 JP4875832B2 (ja) 2012-02-15

Family

ID=34835834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004026142A Expired - Fee Related JP4875832B2 (ja) 2004-02-02 2004-02-02 転送装置、プログラム及びコンピュータ読み取り可能な記憶媒体

Country Status (2)

Country Link
US (1) US7440400B2 (ja)
JP (1) JP4875832B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007043235A1 (ja) * 2005-10-07 2007-04-19 Matsushita Electric Industrial Co., Ltd. ストリーム再生制御装置
JP2007150845A (ja) * 2005-11-29 2007-06-14 Samsung Electronics Co Ltd データ再生装置,データ再生方法およびそのプログラム
JP2013156674A (ja) * 2012-01-26 2013-08-15 Kayaba Ind Co Ltd ドライブレコーダ

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7548543B2 (en) * 2006-05-19 2009-06-16 Scientific-Atlanta, Inc. Generation of valid program clock reference time stamps for duplicate transport stream packets
US7734976B2 (en) * 2006-11-30 2010-06-08 Electro Scientific Industries, Inc. Synchronizing control of test instruments
WO2008110986A2 (en) * 2007-03-14 2008-09-18 Nxp B.V. Method for transmitting a data stream comprising a plurality of data packets from a source via a usb link to a sink
US8473707B2 (en) * 2008-03-27 2013-06-25 Open Invention Network, Llc Method for achieving sequential I/O performance from a random workload

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282713A (ja) 2000-03-29 2001-10-12 Matsushita Electric Ind Co Ltd 送信装置、ieee1394受信記録装置、媒体及び情報集合体
EP1625713B1 (en) * 2003-05-16 2011-11-09 Panasonic Corporation Packet classification and concatenation over power line communication systems

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007043235A1 (ja) * 2005-10-07 2007-04-19 Matsushita Electric Industrial Co., Ltd. ストリーム再生制御装置
JP2007150845A (ja) * 2005-11-29 2007-06-14 Samsung Electronics Co Ltd データ再生装置,データ再生方法およびそのプログラム
JP2013156674A (ja) * 2012-01-26 2013-08-15 Kayaba Ind Co Ltd ドライブレコーダ

Also Published As

Publication number Publication date
US7440400B2 (en) 2008-10-21
US20050180732A1 (en) 2005-08-18
JP4875832B2 (ja) 2012-02-15

Similar Documents

Publication Publication Date Title
KR101159335B1 (ko) 대역 내 제어 정보를 전송하기 위한 전략
JP4746998B2 (ja) 伝送レート調整装置および伝送レート調整方法
US7440400B2 (en) Transfer apparatus
KR100208012B1 (ko) 디지털 오디오/비디오 데이터 전송 장치 및 방법
JP2000358033A (ja) データ通信システム及びデータ通信方法
KR100982890B1 (ko) 특정 모드를 구현하기 위한 비디오 데이터 전송 방법 및장치
JP2002084264A (ja) 同期制御装置
JP6232870B2 (ja) 無線通信システム、無線通信方法、プログラム、及び記録媒体
JP2005071273A (ja) 電子機器及びそのインターフェース制御方法
US7092411B2 (en) Transport stream multiplexing method, transport stream multiplexing apparatus, and storage and reproduction system
JP3558983B2 (ja) デジタル放送の記録再生装置
EP0873019B1 (en) Device and method for transmitting digital audio and video data
US6735223B1 (en) Method of controlling offset of time stamp and apparatus for transmitting packet using the same
US6950472B2 (en) Coded data transfer control method and storage and reproduction system
JP4438055B2 (ja) 通信装置及び制御方法
JP2000092020A (ja) デジタル信号伝送システム,デジタル信号送信装置,デジタル信号受信装置,およびデジタル信号伝送方法
JP5241582B2 (ja) マルチメディア送信装置
JP2008066817A (ja) 通信装置及び通信方法
JPH11298458A (ja) 同期確立装置
US6982990B2 (en) Transmitting method, transmitting apparatus, and program storage medium
JP3578156B2 (ja) パケット受信装置
JP2005236926A (ja) データ出力装置、データ入力装置及び制御方法
JP2005159651A (ja) 送信装置
JP2002084288A (ja) 信号処理回路および信号処理方法
JP2006049980A (ja) データ転送制御装置、電子機器及びデータ転送制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090803

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110801

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: 20111128

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

Free format text: PAYMENT UNTIL: 20141202

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4875832

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20141202

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees