JP2004266504A - 送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラム - Google Patents

送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラム Download PDF

Info

Publication number
JP2004266504A
JP2004266504A JP2003053796A JP2003053796A JP2004266504A JP 2004266504 A JP2004266504 A JP 2004266504A JP 2003053796 A JP2003053796 A JP 2003053796A JP 2003053796 A JP2003053796 A JP 2003053796A JP 2004266504 A JP2004266504 A JP 2004266504A
Authority
JP
Japan
Prior art keywords
data
sequence number
missing
information
retransmission
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.)
Pending
Application number
JP2003053796A
Other languages
English (en)
Inventor
Kaoru Yanagimoto
薫 柳本
Takeshi Masato
剛 正戸
Masaru Ogiwara
大 荻原
Katsuya Takahashi
勝也 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003053796A priority Critical patent/JP2004266504A/ja
Priority to KR1020057015943A priority patent/KR101001514B1/ko
Priority to CNA2004800054453A priority patent/CN1754364A/zh
Priority to US10/547,212 priority patent/US20060245428A1/en
Priority to EP04712757A priority patent/EP1599003A4/en
Priority to PCT/JP2004/001947 priority patent/WO2004077780A1/ja
Publication of JP2004266504A publication Critical patent/JP2004266504A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】通信の信頼性を向上させる。
【解決手段】トランスポート層としてUDPを用いる通信において、RTPヘッダが付加されているものが授受される。受信機は、受信したRTPヘッダ内のシークエンスナンバーを参照し、その番号の連続性を確認する。連続したシークエンスナンバーを含むデータが受信されなかったとき、データが欠落したと判断し、その欠落したと判断されるシークエンスナンバーのデータを再送するように、送信機に対して要求を出す。その要求に対応して、送信機が再送してきたデータを受信機が受信することにより、受信機は、欠落したデータを取得する。本発明は、データを送信する送信機と、データを受信する受信機に適用することができる。
【選択図】 図11

Description

【0001】
【発明の属する技術分野】
本発明は送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラムに関し、特に、送受信されているパケットが欠落してしまったときに、その欠落を補う装置に用いて好適な送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
ネットワークが普及し、そのネットワークを用いて提供されるサービスも、多岐にわたるようになってきている。ネットワーク自体の構成も、有線で構成されるものや、無線で構成されるものがある。
【0003】
ネットワークが普及すると共に、そのネットワークにおける通信の信頼性を向上させるために、例えば、同一のデータを異なる経路で伝送するなどして、一方の経路で何らかの異常が発生しても、他方の経路で、通信を確保できるようにし、データの欠落などを防ぐ方法が提案されている。(例えば、特許文献1参照)
【0004】
【特許文献1】
特開平11−98161号公報
【0005】
【発明が解決しようとする課題】
近年では、家庭内におけるネットワークとして、有線によるものより、設置などが手軽な無線LAN(Local Area Network)が普及しつつある。しかしながら、無線LANは、その特性から、有線LANに比べて信頼性が劣るという問題があった。
【0006】
例えば、無線LANは、当然ながら、無線によりデータの送受信が行われるが、無線で行うために、通信を行っている送信機と受信機の間を人が横切ったり、湿度などの環境の変化により、その通信状態が悪化することが考えられる。通信状態が悪化したために、送受信(通信)すべきデータが通信の途中で欠落するなどの不都合が発生することが考えられる。
【0007】
そのような不都合に対応するために、無線によるデータの送受信においては、再送制御が行われている。具体的には、送信側が送信したデータを受信した受信側は、受信したことを示すACK(Acknowledgement)信号を送信側に出すようにし、そのACK信号を送信側が受信するまで、送信側は同一のデータを所定の回数だけ送信し続ける(再送し続ける)といったことが行われていた。
【0008】
このような再送制御は、送信側で、受信側の状態をチェックし、再送を行っていることになる。送信側では、所定の回数だけ、同一のデータを再送し続けることにより、換言すれば、他のデータを送信せずに、同一のデータを送信し続けることにより、遅延が蓄積され、送信すべきデータを、送信すべきタイミングで送信できないといった問題が発生する可能性があった。
【0009】
また、受信側では、送信側からのデータを正常に受信し、その結果としてACK信号を送信したにもかかわらず、データを送信した送信側で、そのACK信号を受信できなかったために、送信側では、再送の処理が実行されてしまうことも考えられる。このような再送は、送信側にとっては、無駄な送信の処理であるとともに、そのために、遅延などが発生するのは、通信の信頼性を低下させるといった問題があった。
【0010】
また、受信側でも、正常に受信したデータが、再送されてくることになり、その再送されたデータも処理しなくてはならず、無駄な処理を繰り返すことになるという問題があった。
【0011】
このような再送の制御(送信したデータが受信側で正常に受信されたか否かの確認)は、そのデータの送受信において、例えば、OSI層モデルにおけるトランスポート層に属するTCP(Transmission Control Protocol)が用いられた場合には行われるが、同じく、OSI層モデルにおけるトランスポート層に属するUDP(User Datagram Protocol)が用いられた場合には行われない。
【0012】
従って、UDPが用いられたデータの送受信においては、受信側が、受信できなかったデータがあっても、その受信できなかったデータを送信側から取得するといったことはできないといった問題があった。
【0013】
本発明はこのような状況に鑑みてなされたものであり、受信側で、何らかの原因で、受信できなかったデータを、受信側からの再送要求によって送信側から取得できるようにすることを目的とする。
【0014】
【課題を解決するための手段】
本発明の送受信システムの送信装置は、データを取得する取得手段と、取得手段により取得されたデータに、データの順序を示す情報を付加する付加手段と、付加手段により情報が付加されたデータを記憶する記憶手段と、付加手段により情報が付加されたデータを受信装置に送信する送信手段と、送信手段により送信されたデータの再送が、受信装置から要求された場合、その再送が要求されたデータを記憶手段から読み出し、送信手段に、読み出されたデータの再送を指示する再送手段とを備え、受信装置は、送信手段により送信されたデータを受信する受信手段と、受信手段により受信されたデータに含まれる情報を抽出し、その情報を用いて、データの欠落があるか否かを判断する判断手段と、判断手段により、データの欠落があると判断された場合、欠落していると判断されるデータを特定する特定手段と、特定手段により特定された欠落していると判断されるデータの再送を送信装置に要求する要求手段とを備えることを特徴とする。
【0015】
本発明の送信装置は、データを取得する取得手段と、取得手段により取得されたデータに、データの順序を示す情報を付加する付加手段と、付加手段により情報が付加されたデータを記憶する記憶手段と、付加手段により情報が付加されたデータを送信する送信手段と、送信手段により送信されたデータの再送が、他の装置から要求された場合、その再送が要求されたデータを記憶手段から読み出し、送信手段に、読み出されたデータの再送を指示する再送手段とを備えることを特徴とする。
【0016】
前記付加手段は、情報として、RTPに基づくヘッダを少なくとも付加し、記憶手段は、RTPのヘッダが付加されたデータを記憶するようにすることができる。
【0017】
前記他の装置からのデータの再送の要求には、RTPに基づくヘッダに含まれるSequence Numberの情報が含まれ、再送手段は、ヘッダに含まれるSequence Numberの情報と一致するSequence Numberを含むヘッダが付加されたデータを記憶手段から読み出すようにすることができる。
【0018】
本発明の送信方法は、データの取得を制御する取得制御ステップと、取得制御ステップの処理で取得が制御されたデータに、データの順序を示す情報を付加する付加ステップと、付加ステップの処理で情報が付加されたデータの記憶を制御する記憶制御ステップと、付加ステップの処理で情報が付加されたデータの送信を制御する送信制御ステップと、送信制御ステップの処理で送信が制御されたデータの再送が、他の装置から要求された場合、その再送が要求されたデータを記憶制御ステップの処理で記憶が制御されたデータ内から読み出し、送信制御ステップの処理に、読み出されたデータの再送を指示する再送ステップとを含むことを特徴とする。
【0019】
本発明の記録媒体のプログラムは、データの取得を制御する取得制御ステップと、取得制御ステップの処理で取得が制御されたデータに、データの順序を示す情報を付加する付加ステップと、付加ステップの処理で情報が付加されたデータの記憶を制御する記憶制御ステップと、付加ステップの処理で情報が付加されたデータの送信を制御する送信制御ステップと、送信制御ステップの処理で送信が制御されたデータの再送が、他の装置から要求された場合、その再送が要求されたデータを記憶制御ステップの処理で記憶が制御されたデータ内から読み出し、送信制御ステップの処理に、読み出されたデータの再送を指示する再送ステップとを含むことを特徴とする。
【0020】
本発明のプログラムは、データの取得を制御する取得制御ステップと、取得制御ステップの処理で取得が制御されたデータに、データの順序を示す情報を付加する付加ステップと、付加ステップの処理で情報が付加されたデータの記憶を制御する記憶制御ステップと、付加ステップの処理で情報が付加されたデータの送信を制御する送信制御ステップと、送信制御ステップの処理で送信が制御されたデータの再送が、他の装置から要求された場合、その再送が要求されたデータを記憶制御ステップの処理で記憶が制御されたデータ内から読み出し、送信制御ステップの処理に、読み出されたデータの再送を指示する再送ステップとを含む処理をコンピュータに実行させることを特徴とする。
【0021】
本発明の受信装置は、データを受信する受信手段と、受信手段により受信されたデータに含まれる所定の情報を抽出し、その情報を用いて、データの欠落があるか否かを判断する判断手段と、判断手段により、データの欠落があると判断された場合、欠落していると判断されるデータを特定する特定手段と、特定手段により特定された欠落していると判断されるデータの再送をデータを送信してきた他の装置に要求する要求手段とを備えることを特徴とする。
【0022】
前記要求手段により要求が出されたときから計時を開始する計時手段と、計時手段による計時が、所定の時間を経過する毎に、再度要求を出すように要求手段に指示する指示手段とをさらに含むようにすることができる。
【0023】
前記判断手段は、所定の情報としてデータに含まれるRTPに基づくヘッダを抽出し、そのヘッダに含まれるSequence Numberの情報を用いて、データの欠落があるか否かを判断することを特徴とする。
【0024】
前記判断手段は、ヘッダに含まれていたSequence Numberのうち、最も大きい番号の第1のSequence Numberを記憶し、その記憶している第1のSequence Numberと、新たに供給されたヘッダに含まれる第2のSequence Numberが連続している番号ではなく、かつ、第1のSequence Numberの方が第2のSequence Numberより小さい番号であると判断したとき、データが欠落していると判断し、特定手段は、第1のSequence Numberから第2のSequence Numberまでに位置する番号の第3のSequence Numberをヘッダに含むデータを、欠落していると判断されるデータであると特定し、要求手段は、欠落されていると判断されるデータの再送を、第3のSequence Numberの情報を含むデータを他の装置に送信することにより要求するようにすることができる。
【0025】
前記要求手段は、第3のSequence Numberの情報を含むデータを、TCPに基づいて送信するようにすることができる。
【0026】
前記判断手段は、第1のSequence Numberと、第2のSequence Numberが連続している番号ではなく、かつ、第1のSequence Numberの方が第2のSequence Numberより大きい番号であると判断したとき、その第2のSequence Numberを含むデータは、再送されてきたデータであると判断するようにすることができる。
【0027】
本発明の受信方法は、データの受信を制御する受信制御ステップと、受信制御ステップの処理で受信されたデータに含まれる所定の情報を抽出し、その情報を用いて、データの欠落があるか否かを判断する判断ステップと、判断ステップの処理により、データの欠落があると判断された場合、欠落していると判断されるデータを特定する特定ステップと、特定ステップの処理で特定された欠落していると判断されるデータの再送をデータを送信してきた他の装置に要求する要求ステップとを含むことを特徴とする。
【0028】
本発明の記録媒体のプログラムは、データの受信を制御する受信制御ステップと、受信制御ステップの処理で受信されたデータに含まれる所定の情報を抽出し、その情報を用いて、データの欠落があるか否かを判断する判断ステップと、判断ステップの処理により、データの欠落があると判断された場合、欠落していると判断されるデータを特定する特定ステップと、特定ステップの処理で特定された欠落していると判断されるデータの再送をデータを送信してきた他の装置に要求する要求ステップとを含むことを特徴とする。
【0029】
本発明のプログラムは、データの受信を制御する受信制御ステップと、受信制御ステップの処理で受信されたデータに含まれる所定の情報を抽出し、その情報を用いて、データの欠落があるか否かを判断する判断ステップと、判断ステップの処理により、データの欠落があると判断された場合、欠落していると判断されるデータを特定する特定ステップと、特定ステップの処理で特定された欠落していると判断されるデータの再送をデータを送信してきた他の装置に要求する要求ステップとを含む処理をコンピュータに実行させることを特徴とする。
【0030】
本発明においては、データの送受信の過程で、受信装置が、データを受信できなかった場合、受信装置が、送信装置に対して欠落したデータの再送を要求する。
【0031】
本発明においては、データを送信する側が、データを送信すると共に、そのデータを記憶し、受信する側から、既に送信したデータの再送が要求されたときには、その記憶されているデータが再送される。
【0032】
本発明においては、データを受信する側が、欠落したデータがあると判断した場合、その欠落したデータを特定するための情報を、送信側に送信する。
【0033】
【発明の実施の形態】
以下に、本発明の実施の形態について図面を参照して説明する。図1は、本発明を適用した送受信システムの一実施の形態の構成を示す図である。図1に示した送受信システムは、送信機1と受信機2から構成されている。送信機1は、アンテナ3により受信されたテレビジョン放送のデータを、受信機2に対して送信する。受信機2は、表示装置(例えば、ディスプレイ)や音声出力装置(例えば、スピーカ)を備えており、受信したデータに基づく画像や音声を出力するように構成されている。
【0034】
ここでは、アナログ信号のテレビジョン放送が受信され、そのデータが、受信機2に送信されるとして説明するが、本発明は、アナログ信号のテレビジョン放送だけでなく、例えば、BS(Broadcasting Satellite)放送、CS(Communications Satellite)放送、地上波デジタル放送などのデジタル信号のテレビジョン放送に対しても適用することが可能である。
【0035】
また、例えば、VTR(Video Tape Recorder)やDVD(Digital Versatile Disc)プレーヤなどが送信機1に接続され、それらの装置からのデータが、送受信されるようにしても良い。さらに、インターネットなどのネットワークに接続され、そのネットワークに接続されることにより得られる情報などの送受信が行われるようにしても良い。
【0036】
送信機1と受信機2は、無線でデータの授受を行う。その無線による通信は、例えば、IEEE802.11aの規格に基づく方式で行われる。送信機1と受信機2は、無線によりデータの授受を行うため、例えば、ユーザは、送信機1を家の所定の場所に固定して設置し、受信機2を所望の場所まで持ち運び、その場所でテレビジョン放送を閲覧するといったことをできる。
【0037】
図2は、送信機1の内部構成例を示す図である。図2に示した内部構成例は、主に、本発明にかかわり、説明に必要とされる部分を示し、説明に必要ない部分、例えば、受信したテレビジョン放送からユーザが指定した番組を抽出するチューナや、VTRやDVDプレーヤなどを接続した際に、それらの装置からの入力を切り換えるスイッチャーなどは、省略してある。
【0038】
送信機1は、アンテナ3により受信されたテレビジョン放送としてのデータ(信号)を入力する。入力される信号は、例えば、アナログ信号である。そのアナログ信号は、MPEG(Moving Picture Experts Group)エンコーダ21に入力される。MPEGエンコーダ21は、入力されたアナログ信号を、MPEG方式に基づく圧縮を施したデジタルデータに変換する。
【0039】
なお、デジタル信号のテレビジョン放送のデータなどが入力される場合、MPEGエンコーダ21によりエンコードされる必要はないので、必ずしも、入力されたデータが、MPEGエンコーダ21を介する構成とされる必要はなく、適宜、入力されるデータにより、入力される部分が異なるようにしても良い。勿論、そのような入力されたデータの出力先を選択するためのスイッチャーなどが、図示はしないが、送信機1には備え付けられている。
【0040】
MPEGエンコーダ21からの出力(トランスポートストリームパケット:以下、適宜、TSパケットと記述する)は、RTP(Real Time Protocol)ヘッダ付加部22に供給される。RTPヘッダ付加部22は、供給されたTSパケットを所定の個数、例えば、7個のパケットをまとめ、そのまとめたパケットにRTPヘッダを付加し、UDP(User Datagram Protocol)付加部23に供給する。RTPヘッダ付加部22によりRTPヘッダを付加されたTSパケットを、適宜、RTPパケットと記述する。
【0041】
UDPヘッダ付加部23は、供給されたRTPパケットに対して、さらに、UDPヘッダを付加して、IP(Internet Protocol)ヘッダ付加部24に供給する。UDPヘッダ付加部23によりUDPヘッダを付加されたRTPパケットを、適宜、UDPパケットと記述する。
【0042】
IPヘッダ付加部24は、供給されたUDPパケットに対して、IPヘッダを付加し、MAC(Media Access Control)ヘッダ付加部25に供給する。IPヘッダ付加部24によりIPヘッダを付加されたUDPパケットを、適宜、IPパケットと記述する。
【0043】
MACヘッダ付加部25は、供給されたIPパケットに対して、MACヘッダを付加し、通信部26に供給する。MACヘッダ付加部25によりMACヘッダを付加されたIPパケットを、適宜、MACパケットと記述する。
【0044】
各部で、ヘッダを付加され、MACパケットとされたTSパケットは、通信部26により、受信機2に対して送信される。通信部26は、受信機2に対してMACパケット(データ)を送信するだけでなく、受信機2からのデータも受信する。受信機2からのデータとしては、後述するように、受信機2側でデータを受信できなかった場合に出力される再送要求のデータがある。そのような再送要求のデータが受信された場合、そのデータは、再送制御部27に供給される。
【0045】
再送制御部27は、供給されたデータに基づき、再送要求のあったデータを特定し、その特定したデータが、記憶部28から、UDPヘッダ付加部23に供給されるように制御する。記憶部28には、このように、再送の指示がされたときのためのデータが記憶されている。記憶部28には、RTPヘッダ付加部22によりRTPヘッダが付加されているRTPパケットが記憶される。
【0046】
図3は、MPEGエンコーダ21乃至MACヘッダ付加部25の各部が、処理を行うことにより、通信部26に供給されるデータ(MACパケット)を示す図である。図3に示すように、通信部26に供給されるデータは、MPEGエンコーダ21によりエンコードされたTSパケット41を含む。上述したように、通信部26に供給されるMACパケット内のTSパケット41には、TSパケット41−1乃至41−7の7個のパケットが含まれている。1つのTSパケットは、188Bytesで構成されている。
【0047】
1つのTSパケット41(例えばTSパケット41−1)は、ヘッダ部51とデータ部52から構成されている。ヘッダ部51は、図4に示すデータを含み、データ部52は、受信機2(図1)側で、画像または音声としてユーザに提供するためのビデオデータまたはオーディオデータを含む。
【0048】
図4は、TSパケット41のヘッダ部51のデータ構成を示す図である。ヘッダ部51は、4Bytesで構成され、データ部52は、184Bytesで構成される。ヘッダ部51の“同期バイト”は、同期を取るために設けられており、固定値で、例えば、47hが設定されている。“Error Flag”は、TSパケット41の中に訂正できないbit errorがあるか否かを示すフラグである。
【0049】
“Start Flag”は、新しいPES Packetあるいは新しいTS−PSI Sectionであることを示すフラグである。“Priority Flag”は、パケットの優先度を示すフラグであり、このフラグ(bit)が、1に設定されていると、他のTSパケット41より重要度が高いことを示す。“PID”は、TSパケット41のPayload部分(データ部52)が、ビデオデータであるか、オーディオデータであるか、あるいは、TS−PSI(TS−Program Specific Information)であるかを、それぞれを区別するために付与される、13bitで構成される数値(Identifier)である。
【0050】
“Scrambling mode”は、データ部52のScrambling mode(スクランブルモード)を示す情報である。“Adaptation Field flag”は、PCR(Program Clock Reference)などの情報が含まれているAdaptation Fieldの有無を示す情報である。“Continuity Counter”は、同じPIDを持つパケットで、1ずつ値が増加されるカウンタ値の情報である。
【0051】
MPEGエンコーダ21(図2)では、入力されたアナログ信号をデジタルデータに変換し、MPEG方式の圧縮を施してデータ部52を生成すると共に、図4に示したようなヘッダ部51を生成し、1つのTSパケット41を生成する。
【0052】
このようなTSパケット41が、この場合、7個含まれるのが、図3に示したTSパケット41である。RTPヘッダ42(図3)は、RTPヘッダ付加部22(図2)により付加されるヘッダであるが、そのデータ構成は、図5に示すように構成されている。
【0053】
RTPヘッダ42の“V”は、Version Bitを示し、RTPヘッダ42のフォーマットのバージョンを示すバージョン番号の情報である。“P”は、Padding Bitを示し、パケットのサイズを調整するビットである。“X”は、Extension Bitを示し、機能拡張時に指定される拡張ビットである。
【0054】
“CC”は、CSRC Countを示し、リアルタイム転送に関わる送信元の数を示すカウンタの情報である。“M”は、Marker Bitを示し、1パケットにおけるフレームの境界を示すマーカービットである。“PT”は、Payload Typeを示し、ペイロードの符号化の種類を示す情報である。“Sequence Number”は、RTPパケットの順番を示すシーケンス番号を示す情報である。
【0055】
“TIME STAMP”は、RTPヘッダ42が作成された時刻を示すタイムスタンプの情報を示す。“SSRC”は、Synchronization Sourceを示し、メッセージの最初の送信元(ソース)を識別する同期ソース識別子の情報である。“CSRC”は、Contributing Sourceを示し、メッセージに含まれるパケット群の送信先(クライアント)を識別する貢献ソース識別子の情報である。
【0056】
このような情報を含むRTPヘッダ42に対応するペイロード(Payload)に、TSパケット41が挿入される。RTPヘッダ42が付加されているRTPパケットにUDPヘッダ43(図3)が、UDPヘッダ付加部23(図2)により付加される。
【0057】
図6は、UDPヘッダ43のデータ構成を示す図である。UDPヘッダ43の“SRC PORT”は、送信元のポート番号を指定する情報であり、“DEST PORT)は、送信先(宛先)のポート番号を指定する情報であり、共に、サービスを特定するための情報として用いられる。
【0058】
“Length”は、UDPヘッダ43とその後に続くデータの長さ(バイト単位)の合計を示す情報である。“Checksum”は、UDPヘッダの情報と、データ長を元にして算出された値の情報である。受信側では、送信側と同様の計算を行い、Checksum(チェックサム)の値を算出し、その算出した値と、送信されてきたUDPヘッダ43に含まれるチェックサムの値が一致しているか否かを判断することで、途中で、パケットが壊れていないか否かを判断する。
【0059】
このようなUDPヘッダ43が付加されたUDPパケットに、IPヘッダ44(図3)が、IPヘッダ付加部24(図2)により付加される。図7は、IPヘッダ44のデータ構成を示す図である。図7に示したIPヘッダ44のデータ構成は、基本ヘッダの部分だけを示し、オプションヘッダについては図示していない。
【0060】
“Ver”は、インターネットプロトコル(IP)のバージョンを示す情報である。“IHL”は、Internet Header Lengthを示し、このヘッダの長さを示す情報である。“TOS”は、Type Of Serviceを示し、データの優先度の定義や、どのようなタイプの転送を行うかなどを指定する情報である。
【0061】
“TL”は、Total Lengthを示し、IPヘッダ44と、IPヘッダ44以降のデータの合計の長さを示す情報である。“ID”は、このIPヘッダ44で示されるIPパケットを識別するための情報である。“FL”は、IP層でデータを分割(フラグメント)した際の、その制御に関する情報である。
【0062】
“FO”は、IP層でデータが分割された際のデータが、どこにあったかを示す情報である。“TTL”は、Time To Liveを示し、このIPヘッダ44を含むデータが、いつ破棄されるのかを示す情報である。“PROT”は、IP層より上の層で用いられているプロトコルを示す情報である。
【0063】
“HC”は、IPヘッダ44が送信中に壊れていないか否かを、受信側で確認するためのチェックサムの情報である。“SA”は、データの送信元のIPアドレスを示す情報である。“DA”は、データの送信先のIPアドレスを示す情報である。
【0064】
このようなIPヘッダ44が付加されたIPパケットに、MACヘッダ45(図3)が、MACヘッダ付加部25(図2)により付加される。図8は、MACヘッダ45のデータ構成を示す図である。
【0065】
“PA”は、プリアンブルであり、クロックリカバリのためのPLLをロックするさせるための情報である。“DA”は、送信先のMACアドレスを示す情報である。“SA”は、送信元のMACアドレスを示す情報である。“Type”は、上位層のプロトコルを示し情報である。
【0066】
“Length”は、ペイロードのデータのバイト数を示す情報である。1つのMACヘッダ45には、“Type”または“Length”のどちらか一方の情報が書き込まれる。“FCS”は、エラーチェックのための情報である。
【0067】
このような情報を含むMACヘッダ45が付加されることにより、図3に示したようなデータ(MACパケット)が生成される。
【0068】
ここでは、図3に示した構成のデータが、送信機1から送信されるとして説明するが、RTPヘッダ42が付加されていない構成のデータでも、受信機2側にデータを送信することは可能である。しかしながら、図3に示したように、本実施の形態においては、RTPヘッダ42が付加されたデータを送信するようにする。
【0069】
このように、RTPヘッダ42が付加されたデータが送信されるようにするのは、詳細は後述するが、受信機2側で、送信機1から送信されたデータを、何らかの原因により、受信できなかったときに、RTPヘッダ42内の情報(具体的には、図5に示した“Sequence Number”)が用いられるからである。
【0070】
UDPヘッダ43は、TCP(Transmission Control Protocol)ヘッダに置き換えることが可能である(TCPヘッダにしても良い)。しかしながら、本実施の形態においては、図3に示したように、UDPヘッダ43を用いる。
【0071】
このように、TCPヘッダを付加するのではなく、UDPヘッダを付加するようにするのは、以下の理由からである。TCPヘッダは、トランスポート層のプロトコルとして、TCPが用いられたときに付加されるヘッダであり、UDPヘッダは、トランスポート層のプロトコルとして、UDPが用いられたときに付加されるヘッダである。
【0072】
トランスポート層のプロトコルとして、TCPを用いるか、または、UDPを用いるかを決定する要因の1つとして、そのプロトコルを用いて行われる通信ではどのようなデータが送受信されるのかという要因がある。TCPは、コネクション型のプロトコルと称され、UDPはコネクションレス型のプロトコルと称されることがある。
【0073】
TCPは、コネクション型のプロトコルであるので、データの授受にかかわる処理手順が複雑になるが、通信にかかわる信頼度は向上する。従って、主に、信頼度を優先させる通信に用いられる。TCPに対し、UDPは、コネクションレス型のプロトコルであるので、データの授受にかかわる処理手順は簡素化されているが、通信にかかる処理時間は短くなるため、処理速度を優先させる通信に用いられる。
【0074】
本実施の形態においては、上述したように、送信機1が受信したテレビジョン放送のデータを、受信機2側に送信するので、その送信機1と受信機2との間のデータの授受にかかわるプロトコルは、信頼度より処理速度を優先させ、リアルタイムに処理できるようにした方が良いため、UDPを用いる。
【0075】
しかしながらUDPを用いて通信を行うと、送信機1が送信したデータが、何らかの原因で、受信機2側で受信されてなくても、送信機1側は、そのような状況に関係なく、データを順次送信し続ける。従って、受信機2側では、欠落したデータを取得することができない。受信機2が、欠落したデータを取得することなく、欠落したまま処理を続けると、ユーザに提供される映像や音声がとぎれたり、乱れたりする。そのようなことは、できる限り発生しない方が好ましい。
【0076】
そこで、本実施の形態においては、UDPを用いた通信においても、何らかの原因で、受信側でデータを受信できなかったとき、すなわち、データの欠落が生じたとき、その欠落したデータを受信側で取得できるようにする。そのような機能を有する受信機2について説明する。
【0077】
図9は、受信機2の内部構成例を示す図である。受信機2の通信部61は、送信機1からのデータを受信すると共に、送信機1に対して所定のデータを送信する。通信部61により受信された送信機1からの、図3に示したような構成のデータは、MACヘッダ抽出部62に供給される。MACヘッダ抽出部62は、供給されたデータ(MACパケット)から、MACヘッダ45(図3)を抽出(除去)し、IPパケットをIPヘッダ抽出部63に供給する。
【0078】
IPヘッダ抽出部63は、供給されたIPパケットからIPヘッダ44を抽出し、UDPパケットをUDPヘッダ抽出部64に供給する。UDPヘッダ抽出部63は、供給されたUDPパケットからUDPヘッダ43を抽出し、RTPパケットをナンバーチェック部65に供給する。
【0079】
ナンバーチェック部65は、RTPヘッダ42に含まれる“Sequence Number”(図5)(以下、適宜、シークエンスナンバーと記述する)を参照し、そのシークエンスナンバーをチェックする。シークエンスナンバーは、送信機1側で、処理された順(生成されたRTPヘッダ42順)に、通常、昇順に割り振られる連続した番号である。なおここでは、昇順に割り振られるとして説明をするが、降順に割り振られるようにしても良い。
【0080】
ナンバーチェック部65は、チェックしたシークエンスナンバーが連続した番号である場合、供給されたRTPパケットを、順序構成部66に供給し、チェックした番号が連続でない場合、供給されたRTPパケットを、順序構成部66に供給すると共に、再送制御部70に対して、欠落したデータの再送を要求するように指示を出す。再送制御部70は、所定のRTPパケットを含むパケットの再送を要求する指示を受けた場合、通信部61に対して、再送の要求を示すデータを送信機1に対して送信させる。
【0081】
一方、順序構成部66は、供給されたRTPパケットのシークエンスナンバーを参照し、そのシークエンスナンバーと同一の番号を持つデータ(対応するデータ)が記憶部68に記憶されているか否かを判断し、記憶されていると判断した場合、その供給されたRTPパケットを破棄し、記憶されていないと判断した場合、その供給されたRTPパケットをRTPヘッダ抽出部67に供給する。
【0082】
RTPヘッダ抽出部67は、供給されたRTPパケットから、RTPヘッダ42を抽出し、TSパケット41を、記憶部68に記憶させる。記憶部68には、このようにして、TSパケット41が記憶されるが、そのTSパケット41は、RTPヘッダ42内のデータとしてのシークエンスナンバーと関連付けられて記憶される。
【0083】
記憶部68は、バッファとしての役割を有し、順次記憶されているTSパケット41を、MPEGデコーダ69に出力する。MPEGデーコーダ69は、順次、供給されたTSパケット41に対し、MPEG方式に基づくデコードを施す。MPEGデコーダ69からの出力は、図示されていないディスプレイやスピーカに供給され、ユーザに映像や音声として提供される。
【0084】
計時部71は、計時する手段を有し、所定のタイミングで、記憶部68に記憶されているTSパケット41を監視する。計時部71は、記憶部68に、欠落しているTSパケット41(データ)があると判断した場合、再送制御部70に、その欠落しているTSパケット41を再送する要求を出すように指示を出す。
【0085】
ここで、記憶部68に記憶されているデータについて説明する。図10は、記憶部68に記憶されているデータのデータ構成を説明するための図である。上述したように、記憶部68には、RTPヘッダ42内に含まれるシークエンスナンバーと、そのシークエンスナンバーのRTPパケットに含まれているTSパケットが関連付けられて記憶されている。
【0086】
なお、記憶部68に記憶させるシークエンスナンバーは、シークエンスナンバーそのものでも良いし、シークエンスナンバーを一意に導き出せるデータでも良い。
【0087】
例えば、図10に示したように、シークエンスナンバー“1”には、TSパケット1−1乃至1−7が関連付けられて記憶されている。これは、上述したように、本実施の形態においては、1つのRTPパケット(受信機2側で受信されるMACパケット)には、7個のTSパケットを含むと設定しているからであり、例えば、8個のTSパケットを含むと設定されている場合には、シークエンスナンバー“1”には、TSパケット1−1乃至1−8の8個のTSパケットが関連付けられて記憶されることになる。
【0088】
図10に示した例を再度参照するに、同じくシークエンスナンバー“2”には、同じく7個のTSパケット2−1乃至2−7が関連付けられている。しかしながら、シークエンスナンバー“3”の欄には、本来ならば、TSパケット3−1乃至3−7が関連付けられて記憶されるが、図10に示した例では、TSパケットが記憶されていない。これに対し、シークエンスナンバー“4”には、TSパケット4−1乃至4−7が関連付けられて記憶されている。
【0089】
このように、記憶部68には、正常に受信され処理されると、シークエンスナンバーと関連付けられてTSパケットが、所定の領域に記憶される。記憶部68には、シークエンスナンバー順に、TSパケットが所定の領域に記憶されるようになっている。一方、何らかの原因で、正常に受信が行われなかったシークエンスナンバーの領域(この場合、シークエンスナンバー“3”の領域)は、何も記憶されない状態とされる。
【0090】
このように、記憶部68には、TSパケットが記憶されている領域を有するシークエンスナンバーと、TSパケットが記憶されていない領域を有するシークエンスナンバーとが混在する。そこで、TSパケットが記憶されているか否かを示すフラグを用いて、TSパケットが記憶されている領域を有するシークエンスナンバーと、そうでないシークエンスナンバーとを区別できるようにしても良い。また、そのようなフラグを、後述する処理において用いるようにしても良い。
【0091】
このように、記憶部68に記憶されないTSパケットが存在しているとき、換言すれば、シークエンスナンバーが飛んでいるようなときには、ナンバーチェック部65または計時部71の処理により、その記憶されていないTSパケット(欠落しているTSパケット)の再送を要求するためのデータを出すように、再送制御部70に指示が出される。
【0092】
なお、付言するに、図9に示した受信機2の構成では、ナンバーチェック部65が、供給されたRTPヘッダ42内のシークエンスナンバーが飛んでいるか否かを判断し、計時部71が、記憶部68を参照し、記憶部68に記憶されていないTSパケットが存在しているか否かを判断し、順序再構成部66が、記憶部68に記憶されているTSパケットを参照して、シークエンスナンバー順に、TSパケットが記憶されるように、TSパケットの順序を再構成する。
【0093】
このような指示が出される際の処理について、図11と図12のフローチャートを参照して説明する。ステップS11において初期値が設定される。この初期値の設定の処理は、ナンバーチェック部65において行われる。初期値の設定は、受信機2の電源がオンにされたときなどに行われる。すなわち、新たなデータを受信したと判断したとき(新たなRTPパケットが供給されたと判断されたとき)に行われる。
【0094】
新たなデータを受信したときとは、RTPヘッダ42に含まれているシークエンスナンバー(Sequence Number)が、新たな番号になっていると判断されたときである。新たな番号になっているか否かの判断は、ナンバーチェック部65が、自己が管理(記憶)しているシークエンスナンバー(番号)と、供給されたRTPパケットに含まれるRTPヘッダ42内のシークエンスナンバーを比較することにより行われる。
【0095】
このような比較、および、後述する処理を行うために、ナンバーチェック部65は、常に、供給されたRTPパケット内のRTPヘッダ42のシークエンスナンバー(番号)を記憶し、その記憶している番号を、RTPパケットが供給される毎に更新する。なお、この更新は、通常(初期値が設定されるとき以外のとき)は、記憶している番号より大きい番号のシークエンスナンバーであると判断されたときのみ行われる。そのため、常に、その時点で、最も大きい番号のシークエンスナンバーが記憶されていることになる。
【0096】
しかしながら、初期値の設定のときには、そのような制限にかかわらず、設定が行われる。その設定は、ナンバーチェック部65に管理されている番号と、供給されたRTPヘッダ42のシークエンスナンバーを比較し、その値の差が大きい(予め設定されている値以上の差がある)場合、新たなデータの受信が開始されたと判断し、管理されている番号が更新されることにより行われる。
【0097】
なお、このような初期値の設定の処理は、通常のときでも行われる可能性がある。例えば、何らかの原因で、送信機1からのデータを比較的長時間、受信できなかったときなど、シークエンスナンバーの連続性がとぎれることになる。その結果、ナンバーチェック部65に管理されている番号と、供給されたRTPヘッダ42のシークエンスナンバーとの差が大きくなり、初期値の設定と同様の処理が実行される可能性がある。
【0098】
このようにして、初期値が設定された後は、通常の処理が実行される。通常の処理とは、ステップS12以降の処理である。なお、図11、図12に示したフローチャートの処理は、データが受信される毎に、そのデータに対して行われるが、初期値の設定が行われた後には、ステップS12以降の処理から行われれば良く、ステップS11の処理を省略することが可能である。
【0099】
初期値の設定が終了されると、ステップS12において、受信されたMACパケット内に含まれるRTPヘッダ42のシークエンスナンバーは、連続しているか否かが判断される。この判断も、ナンバーチェック部65において行われる。上述したように、ナンバーチェック部65は、供給されたRTPパケット内のRTPヘッダ42に含まれるシークエンスナンバーが、その時点で最も大きい番号を管理している。
【0100】
基本的に、シークエンスナンバーは、送信機1のRTPヘッダ付加部22により、RTPヘッダ42が生成された順に番号(通常、昇順)が割り振られ、その生成された順番で、通信部26から出力される。よって、基本的に、受信機2のナンバーチェック部65においても、順次、連続したシークエンスナンバーのRTPパケットが供給される。ここで、“基本的に”と記述したのは、何らかの原因で、シークエンスナンバーの番号順に送信されない、または、受信されないことがあるからである。そのような状況が発生した場合に対しても、後述する処理により対応できるようになっている。
【0101】
図11のフローチャートの説明に戻り、ステップS12において、ナンバーチェック部65は、受信した(供給された)RTPパケットのRTPヘッダ42内のシークエンスナンバーは、管理している番号に1だけ加算した値である(すなわち、連続している番号である)か否かを判断する。
【0102】
ステップS12において、供給されたRTPパケットのRTPヘッダ42内のシークエンスナンバーは、連続している番号であると判断された場合、ステップS13に処理が進められる。ステップS12において、このように判断されるのは、正常に送信機1からのデータが受信され、処理されているときである。従って、正常に受信され、処理されているデータ(TSパケット)が記憶部68に記憶される処理が、ステップS13において実行される。
【0103】
ナンバーチェック部65は、供給されたRTPパケットのRTPヘッダ42内のシークエンスナンバーは、連続している番号であると判断した場合、そのRTPパケットを、順番再構成部66に供給する。順番再構成部66は、RTPパケットが供給されたとき、そのRTPパケットのRTPヘッダ42を参照し、シークエンスナンバーを読み出す。その読み出したシークエンスナンバーに対応するTSパケットが、記憶部68に記憶されているか否かをチェックする。
【0104】
この場合、連続している番号であると判断されたRTPパケットであり、このことを換言すれば、新たに受信されたRTPパケットであると判断されたことになる。従って、順番再構成部66は、供給されたRTPパケット内のTSパケットは、記憶部68に記憶されていないと判断する。このような判断がされたときには、RTPパケットが、RTPヘッダ抽出部67に供給される。
【0105】
RTPヘッダ抽出部67は、供給されたRTPパケットからRTPヘッダ42を抽出し、TSパケットを、記憶部68に供給し、記憶させる。この際、上述したように、TSパケットは、RTPヘッダ42に含まれるシークエンスナンバーと関連付けられて記憶される。
【0106】
一方、ステップS12において、ナンバーチェック部65が、供給されたRTPヘッダ42内のシークエンスナンバーは、管理している番号に、連続する番号ではないと判断した場合、ステップS14に処理が進められる。ステップS14において、ナンバーチェック部65は、供給されたRTPパケットに含まれるRTPヘッダ42内のシークエンスナンバーは、管理している番号より大きい番号であるか否かを判断する。
【0107】
ステップS14において、ナンバーチェック部65が、供給されたRTPパケットに含まれるRTPヘッダ42内のシークエンスナンバーは、管理している番号より大きい番号ではないと判断した場合、換言すれば、小さい番号であると判断した場合、ステップS15に処理が進められる。
【0108】
上述したように、送信機2から送信されてきたデータは、基本的に、シークエンスナンバーの番号順に受信され、処理されるので、ステップS14において、ナンバーチェック部65が、供給されたRTPパケットに含まれるRTPヘッダ42内のシークエンスナンバーは、管理している番号より大きい番号ではないと判断することはない。しかしながら、何らかの原因で、送信される順番または、受信され、処理される順番が入れ違ってしまったために、このように、ステップS14においてNOと判断され、ステップS15に処理が進められることが考えられる。
【0109】
また、後述するステップS17の処理が行われた結果、送信機1側から、その時点で、送信すべきシークエンスナンバーのデータよりも、若い番号のシークエンスナンバーのデータが再送されることがある。そのような再送が行われた結果、番号の若いシークエンスナンバーのデータが受信機2に、正常に受信され、処理されると、ステップS14において、NOと判断され、ステップS15において処理が進められる場合もある。
【0110】
ステップS14において、ナンバーチェック部65は、供給されたRTPヘッダ42内のシークエンスナンバーは、管理している番号より大きい番号ではないと判断した場合、供給されたRTPパケットを、順序再構成部66に供給する。順序再構成部66は、ステップS15において、供給されたRTPパケットに含まれているTSパケットは、既に、記憶部68に記憶されているか否かを、記憶部68を参照することにより判断する。
【0111】
図10を参照して説明したように、記憶部68には、正常に処理されたTSパケットが、シークエンスナンバーと関連付けられて記憶されている。そこで、順序再構成部66は、供給されたRTPヘッダ42内のシークエンスナンバーを読み出し、その読み出したシークエンスナンバーに関連付けられたTSパケットが、記憶部68に記憶されているか否かを判断する。
【0112】
このような処理を設ける理由について、図13を参照して説明する。図13Aは、正常に、送受信が行われている状態を示している。図13Aに示すように、正常に送受信が行われている状態では、シークエンスナンバーが連続しているパケット(データ)が送信機1から送信され、受信機2で受信され処理される。図13Aに示した状態は、シークエンスナンバーが“97”乃至“102”のパケットが、その順番で、送受信されていることを意味する。
【0113】
このような正常に送受信が行われている状態に対し、何らかの原因で、正常に送受信が行われていない状態を図13Bに示す。図13Bにおいては、シークエンスナンバー“97”の後に、シークエンスナンバー“99”のパケットが受信されている。このような状態が発生したとき、すなわち、シークエンスナンバーが連続せず、かつ、番号が、大きい番号に飛んだとき、再送要求が出される。この再送要求については、ステップS17の処理として後述する。
【0114】
その後、シークエンスナンバー“100”のパケットが受信される。シークエンスナンバー“100”のパケットの次は、シークエンスナンバー“101”のパケットが受信されるはずであるが、シークエンスナンバー“98”のパケットが受信されている。このシークエンスナンバー“98”のパケットは、上述した再送要求が出された結果、送信機1からシークエンスナンバー“98”のパケットが再送信され、受信機2に受信されたパケットであるか、または、送信機1側または受信機2側で、何らかの原因により、処理の順序が入れ替わってしまったために、シークエンスナンバー“100”のパケットの後に受信されたパケットである。
【0115】
いずれにせよ、この時点では、シークエンスナンバー“98”のパケットは、受信機2側では、始めて受信され、処理されたことになるため、記憶部68には記憶されていない。すなわち、ステップS15において、順序再構成部66の処理により、記憶部68には記憶されていないと判断されることになる。
【0116】
図13Bを再度参照するに、シークエンスナンバー“98”のパケットが記憶部68に記憶された後、シークエンスナンバー“101”のパケットが受信され、記憶され、さらに、その後、シークエンスナンバー“98”のパケットが受信される。このときのシークエンスナンバー“98”のパケットも、上述したように、再送要求の結果により受信されたパケット、または、処理の入れ替わりが発生した結果により受信されたパケットである。
【0117】
いずれにせよ、シークエンスナンバー“101”のパケットの後に処理されるシークエンスナンバー“98”のパケットと同一のパケットは、既に、シークエンスナンバー“100”のパケットの後に受信され、処理され、記憶部68に記憶されている。従って、このような場合、ステップS15において、順序再構成部66により、記憶部68に記憶されていると判断されることになる。
【0118】
このように、同じシークエンスナンバーのパケットが、受信機2に受信され、処理される可能性があるために、ステップS15の処理が行われる。ステップS15において、記憶部68に記憶されていると判断されたパケットは、上述した例では、シークエンスナンバー“98”のパケットは、再度、記憶部68に記憶させる必要はないので、ステップS16に処理が進められ破棄される。
【0119】
一方、記憶部68に記憶されていないと判断されたパケットは、ステップS13に処理が進められ記憶部68に記憶される。記憶部68にパケットが記憶される際、その領域は、予めそのパケットが記憶されるとして用意されていた領域(その時点で記憶されているシークエンスナンバーに対応する領域)に記憶される。換言すれば、後に受信されたパケットも、本来受信されるべきタイミングで受信されたかのように、順番が入れ替えられて、記憶部68に記憶される。この記憶の制御は、順序再構成部66により行われる。
【0120】
次に、再送要求について説明する。再送要求の処理は、ステップS17(図11)において行われるが、ステップS17に処理が進められるのは、ステップS12において、ナンバーチェック部65により、供給されたRTPパケットのRTPヘッダ42に含まれるシークエンスナンバーは、管理している番号に連続する番号ではないと判断され、かつ、ステップS14において、そのシークエンスナンバーは、管理している番号より大きい番号であると判断されたときである。
【0121】
図13Bを再度参照するに、ナンバーチェック部65に、シークエンスナンバー“97”のRTPパケットが供給された後に、シークエンスナンバー“99”のRTPパケットが供給された場合、このような判断が行われ、ステップS17に処理が進められる。このような状況は、供給されるべきシークエンスナンバー“98”のRTPパケットが、供給されなかった(欠落した)状況を示している。
【0122】
ステップS17において、再送要求の処理が実行される。ステップS17において行われる再送要求の処理について、図12のフローチャートを参照して説明する。この再送要求の処理とは、供給されるべきシークエンスナンバーのRTPパケット、すなわち、欠落したと判断されるRTPパケットを取得するために、送信機1に対して、その欠落していると判断されるRTPパケットを再送するように要求を出す処理である。
【0123】
ナンバーチェック部65は、ステップS31において、欠落していると判断した番号を判断し、その判断した番号に関するデータを、ステップS32の処理として、再送制御部70に通知する。換言すると、ナンバーチェック部65は、管理している番号から、供給されたRTPパケットのシークエンスナンバーまでの番号を、欠落しているパケットの番号(シークエンスナンバー)として決定し、その決定した番号に関するデータを、再送制御部70に通知する。
【0124】
例えば、図13Bに示したような状況の場合、シークエンスナンバー“98”が、欠落している番号として再送制御部70に通知される。また、図示はしないが、例えば、管理している番号が“97”で、供給されたRTPパケットのシークエンスナンバーが“120”であるような場合、“98”乃至“119”が、欠落している番号として再送制御部70に通知される。すなわち、再送制御部70に通知される番号は、1つとは限らない。
【0125】
再送制御部70は、ナンバーチェック部65からのデータを入力すると、ステップS33において、計時部71に計時を開始させる。再送制御部70は、計時部71に計時を開始させる際、欠落していると判断された番号に関するデータも供給する。そして、再送制御部70は、ステップS34において、送信機1に対して再送を要求するデータを、通信部61により送信させる。
【0126】
通信部61により送信される、再送を要求するデータについて説明する。このデータは、トランスポート層のプロトコルとして、TCPが用いられたパケットとして送信される。上述したように、送信機1から、図3に示したようなデータ(MACパケット)が送信される際には、トランスポート層のプロトコルとしてUDPが用いられたが、受信機2から送信される再送を要求するデータとしてのパケットは、TCPが用いられたものとされる。
【0127】
これは、確実に再送要求を、送信機1側に送信させるようにするためである。勿論、UDPを用いて再送要求を出すようにしても良いが、その再送要求自体が、確実に送信機1側に送信されたか否かを判断できない状況は好ましくない状況であると考えられる。そこで、本実施の形態においては、再送要求は、UDPではなく、TCPが用いられるとして説明する。
【0128】
TCPを用いて送信される再送要求のデータには、ステップS31、ステップS32の処理において、欠落した番号として判断された番号のデータとして、再送制御部70に通知されたデータが少なくとも含まれる。
【0129】
このような再送要求のデータが送信機1に対して送信されると、ステップS18(図11)に処理が進められる。ステップS18において、計時部71は、所定の時間が経過したか否かを判断する。計時部71は、上述したように、再送制御部70の指示により、送信機1に対して送信要求が出された時点から、計時を開始している。
【0130】
その計時している時間が、一定の値になったか否かが、ステップS18において判断される。ステップS18において一定の時間が経過したと判断されると、ステップS19に処理が進められる。ステップS19において、計時部71は、再送制御部70から供給された欠落していると判断された番号に関するデータを参照し、その番号(シークエンスナンバー)に関連付けられて、TSパケットが、記憶部68に記憶されているか否かを判断する。
【0131】
ステップS19において行われる判断について説明する。図11と図12に示したフローチャートを参照して説明している処理は、受信機2により受信されたデータ(MACパケット)毎に行われている。従って、ステップS18において、所定の時間が経過したか否かの判断が行われるが、その所定の時間が経過する間にも、受信機2には、パケットが順次受信され、図11と図12に示したフローチャートの処理が、その受信されたパケット毎に行われている。
【0132】
その順次受信され、処理されるパケット内には、ステップS17の処理により出された再送要求に対応する処理として、送信機1が再送してきたパケットも含まれる可能性がある。再送が正常に行われ、正常に受信、処理されれば、記憶部68に、その再送されてきたTSパケットが記憶されることになる。そこで、ステップS19においては、そのように、再送要求に対応して再送されてきたTSパケットが、記憶部68に記憶されているか否かが判断される。
【0133】
ステップS19において、計時部71が、記憶部68には、再送されてきたTSパケットは記憶されていないと判断した場合、ステップS17に処理が戻され、再度、再送要求が出される。この際、再送要求が出されるのは、記憶されていないTSパケットに対してのみである。
【0134】
すなわち、例えば、欠落していると判断されたパケットのシークエンスナンバーが、“100”乃至“120”であり、その“100”乃至“120”に対するパケットの再送要求が出された結果、ステップS19の処理が実行される時点で、“100”乃至“110”に対応するTSパケットが記憶部68に記憶されているような場合には、“111”乃至“120”に対応するTSパケットの再送を要求する再送要求が、再度出される。
【0135】
このように、再送要求自体を、繰り返し出すようにすることにより、より確実に、欠落したパケット(データ)を取得できるようにする。
【0136】
ここで、図11に示していないが、ステップS19の処理の前または後に、ステップS19の処理を打ち切るような判断の処理を入れる必要がある。ステップS19において、再送要求したTSパケットが記憶部68に記憶されていると判断されるまで、再送要求が繰り返し出される一方で、記憶部68に記憶されているTSパケットは、順次、MPEGデコーダ69に供給される。
【0137】
図10を再度参照するに、シークエンスナンバー“1”に関連付けられているTSパケット1−1乃至1−7が、MPEGデコーダ69に供給された後に、シークエンスナンバー“2”に関連付けられているTSパケット2−1乃至2−7がMPEGデコーダ69に供給される。
【0138】
その後、シークエンスナンバー“3”に関連付けられているTSパケットが、MPEGデコーダ69に供給されるが、供給される時点で、記憶されていなければ、供給することができず、そのシークエンスナンバー“3”に関連付けられているTSパケットが供給されることなく、次のシークエンスナンバー“4”に関連付けられているTSパケット4−1乃至4−7が供給される。
【0139】
このようなことを換言すれば、シークエンスナンバー“4”に関連付けられているTSパケットがMPEGデコーダ69に供給されるより前の時点までに、シークエンスナンバー“3”に関連付けられるTSパケットが、記憶部68に記憶されなければ、その後の時点で、シークエンスナンバー“3”に関連付けられるTSパケットを取得する必要はなく、そのための処理も行われる必要はない。
【0140】
このようなことを考慮すれば、計時部71により出される再送要求の処理は、欠落していると判断されているパケットを取得するまで繰り返えされる必要性はない。そこで、ステップS19の前の処理として、例えば、所定の回数だけ、再送要求が出されたか否かを判断する処理を設ける。そして、所定の回数だけ、再送要求が出されたと判断された場合には、ステップS19の処理を省略し、図11,12に示したフローチャートの処理を終了させる。すなわち、再送要求を出すという処理が中断される。
【0141】
または、ステップS19の後に、所定の回数だけ、再送要求が出されたか否かの判断をする処理を設けても良い。ステップS19の後に、そのような処理を設けたとしても、基本的に、上述した、ステップS19の前に設けた場合と同様にして、再送要求を出すという処理が中断される。
【0142】
所定の回数の決定の仕方だが、記憶部68の容量に基づいて決定される。例えば、記憶部68には、1秒間分のデータが記憶できるだけの容量があり、ステップS18における処理で用いられる所定の時間として100ミリ秒と計時部71に設定されている場合、1秒間の間に、10回、ステップS18の処理が行われることになる。
【0143】
よって、この場合、再送要求を中断するための判断が、ステップS19の前に行われる場合、または、ステップS19の後に行われる場合(ステップS19でNOと判断された後に行われる場合)、その判断は、“10回目の再送要求か?”といった判断となる。
【0144】
すなわち、10回目の再送要求を出したとしても、その10回目の再送要求に対応する処理として、データが受信されたとしても、既に、そのデータを必要とする処理は、そのデータがない状態のまま、MPEGデコーダ69で行われているため、10回目の再送要求を出すのは無駄な処理となってしまう。よって、この場合、10回目の再送要求が出されることなく、再送要求が中断されるような判断が、行われるようにすればよい。
【0145】
このように、再送要求を中断させるための判断として、再送要求を出した回数により制限をかけることも可能であるが、時間により制限をかけるようにしても良い。例えば、記憶部68の記憶容量が、1秒間分のデータを記憶できるだけの容量である場合、計時部71が計時を開始してから、1秒以上経過した後に出される再送要求は、実質的に、無駄な処理となることになる。
【0146】
そこで、計時部71が、計時を開始してから所定の時間(この場合、1秒)だけ経過したか否かを、例えば、ステップS18の処理とあわせて判断するようにし、時間により、再送要求を中断させるための判断を行うようにしても良い。
【0147】
なお、上述した実施の形態においては、計時部71は、再送制御部70からの指示があると計時を開始し、所定の時間が経過後、再送要求したTSパケットが記憶部68に記憶されていなければ、再度、再送要求を出すとしたが、計時部71は、再送制御部70からの指示にかかわらず、計時を行うようにしても良い。
【0148】
計時部71が、常に計時を行うようにした場合、所定の周期毎(例えば、100ミリ秒毎)に、記憶部68を参照し、シークエンスナンバーは記憶されているが、そのシークエンスナンバーに関連付けられてTSパケットは記憶されていないと判断されるシークエンスナンバーを抽出するようにする。そして、抽出されたシークエンスナンバーのデータが再送制御部70に供給されると共に、再送要求を出すように指示が出されるようにしても良い。
【0149】
このようにして、受信機2側で、欠落しているパケット(データ)を判断し、その欠落しているパケットを取得するために、その欠落しているパケットを再度送信するように再送要求が、送信機1側に出される。このような再送要求が出されることにより、何らかの原因で、受信機2側がパケットを受信(処理)できなかったとしても、その欠落したパケットを取得することが可能となる。
【0150】
また、欠落したパケットを受信機2側で判断することにより、送信機1側で、欠落したパケットを判断するより(例えば、ACK信号を受信したか否かを判断することにより、欠落したパケットを判断するより)、送信側および受信側の双方で、再送にかかわる無駄な処理が実行されてしまうようなことを防ぐことが可能となる。換言すれば、より適切に再送の処理を送信側および受信側で行えるようになる。
【0151】
このような処理が、受信機2側で行われるようにするには、送信機1側は、再送要求が出されたときに、その再送が要求されたデータを送信できるように構成されていなければならない。そこで、図2に示したように、送信機1は、再送するためのデータを記憶するための記憶部28を有している。
【0152】
図14のフローチャートを参照して、送信機1が行う、再送要求に対応する処理について説明する。ステップS51において、送信機1は、RTPヘッダ付加部22から出力されたRTPパケットを、記憶部28に記憶する。記憶部28は、受信機2の記憶部68がTSパケットを記憶する容量と同じ、または、それ以上の容量を有する。
【0153】
記憶部28は、上述したように、RTPパケットを記憶する。従って、RTPパケット内のRTPヘッダ42のシークエンスナンバーにより、記憶されているRTPパケットを識別することが可能である。なお、記憶部28に記憶されているRTPパケットは、順次、若い番号のシークエンスナンバーを有するRTPパケットから削除され、新たなRTPパケットが記憶できるように構成されている。その削除されるタイミングやデータ量は、記憶部28の容量を考慮して決定されればよい。
【0154】
RTPヘッダ付加部22からのRTPパケットは、UDPヘッダ23、IPヘッダ付加部24、およびMACヘッダ付加部25の各部で、それぞれのヘッダが付加される。
【0155】
そして、通信部26により、受信機2側に、MACパケットとして送信される。このような送信が行われた後も、記憶部28には、送信されたMACパケットに含まれるRTPパケットが記憶されている。
【0156】
ステップS52において、再送要求を受けたか否かが判断される。この判断は、通信部26において受信されたデータを、再送制御部27が参照することにより行われる。このデータは、上述したように、TCPに基づく通信により受信機2から送信されてきたデータである。
【0157】
ステップS52において、受信されたデータは、再送を要求するデータであると判断された場合、ステップS53に処理が進められる。ステップS53において、受信されたデータ内が解析されることにより、再送が要求されているシークエンスナンバー(番号)が特定される。
【0158】
シークエンスナンバーの特定が、再送制御部27により行われると、ステップS54において、その特定されたシークエンスナンバーを有するRTPパケットが、記憶部28から読み出される。記憶部28から読み出されたRTPパケットは、UDPヘッダ付加部23に供給される。このような制御は、再送制御部27により行われる。
【0159】
UDPヘッダ付加部23に供給されたRTPパケットは、UDPヘッダ付加部23以降の各部において、ヘッダが付加され、通信部26により受信機2に対して送信される(ステップS55,S56)。
【0160】
このようにして、送信機1は、再送の要求があったときに、その要求に対応するために、記憶部28からRTPパケットを読み出し、再度、受信機2に対して送信を行う。このような処理が、送信機1側で行われることにより、受信機2側では、欠落したと判断されるパケットを取得することができる。
【0161】
このように、本発明によれば、UDPを用いた通信を行うことにより、通信にかかる処理を軽減させることが可能になり、リアルタイムな処理を要求される通信にも対応することが可能となるとともに、受信機2側で、欠落したパケットを取得するための処理が実行されることにより、その通信の信頼性を向上させることが可能となる。
【0162】
なお、上述した実施の形態においては、RTPヘッダ42に含まれるシークエンスナンバーが用いられて、欠落したパケットが取得されるための処理が行われるとして説明した。このように、RTPヘッダ42に含まれるシークエンスナンバーが用いられて、欠落したパケットが取得されるための処理が行われるようにすることにより、通信の過程で発生するパケット落ちだけでなく、送信機1または受信機2の予期されぬ不具合により発生したパケット落ちに対しても対処することができるようになる。
【0163】
仮に、送信機1側で、不具合が発生したために、所定の番号のシークエンスナンバーを含むデータが、受信機2側に送信されなかったとする。または、受信機2側で、不具合が発生したために、所定の番号のシークエンスナンバーを含むデータが受信されなかったとする。
【0164】
そのような場合、本発明を適用した受信機2は、上述したように、受信できなかったシークエンスナンバーを含むデータを再送するように要求を出すようになっている。しかしながら、RTPを用いず、従って、シークエンスナンバーを用いずに、通信が行われた場合、受信されなかったデータ(再送を要求するデータ)を特定することができない。従って、仮に、受信機2側から、再送要求を出したしても、送信機1側では、どのデータを再送すれば良いかわからず、結果として、再送できないということなる。
【0165】
再送の要求だけなら、無線にかかわるプロトコルにおけるリトライの処理だけでも行うことは可能であるが、再送させるデータを特定するというのは、無線にかかわるプロトコルではカバーできない。よって、本実施の形態のように、RTPを用いた通信を行うことで、上述したような、再送の処理を実行させることが可能となり、より確実に、欠落したデータを取得できるようにすることにより、より通信の信頼性を向上させることが可能となる。
【0166】
また、“Sequence Number”と“Time Stamp”(図5)を併用することにより、図11のステップS11において、初期値の設定を行うために、受信されたデータが、新しいストリーミングのものであるか否かの判断、すなわち、新たなストリーミングの識別を容易に行うことが可能となる。
【0167】
例えば、シークエンスナンバーが連続していても、“Time Stamp”が不連続になっているような場合には、新たなストリーミングであると識別することができる。また、複数のストリーミングが同時に流れているような環境下で、送信機1が、各ストリーミングに対して、“Time Stamp”をずらした状態で、送信することで、受信機2は、受信された複数のストリーミングから、選択的に、1つのストリーミングを選択し、かつ、上述したような再送の要求を出すことが可能となる。
【0168】
なお、上述した実施の形態においては、送信機1は、アナログ信号のテレビジョン放送を受信し、処理するとして説明したが、デジタル信号のテレビジョン放送を受信し、処理する装置であっても良く、そのようにした場合でも、本発明を適用することが可能である。
【0169】
送信機1を、デジタル信号のテレビジョン放送を受信し、処理するようにした場合、受信するデータ自体が、既にパケット化されており、また、複数のヘッダが付加されている状態であるので、エンコードや所定のヘッダを付加する処理などを省略し、それらのヘッダのうちの所定の内容を書き換えるなどの処理を施すことにより、上述した発明を適用することが可能である。
【0170】
上述した一連の処理(例えば、再送にかかわる処理)は、それぞれの機能を有するハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0171】
記録媒体について説明する前に、記録媒体をデータを書き込む、または、読み出すパーソナルコンピュータについて説明する。図15は、汎用のパーソナルコンピュータの内部構成例を示す図である。パーソナルコンピュータのCPU(Central Processing Unit)101は、ROM(Read Only Memory)102に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)103には、CPU101が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース105は、キーボードやマウスから構成される入力部106が接続され、入力部106に入力された信号をCPU101に出力する。また、入出力インタフェース105には、ディスプレイやスピーカなどから構成される出力部107も接続されている。
【0172】
さらに、入出力インタフェース105には、ハードディスクなどから構成される記憶部108、および、インターネットなどのネットワークを介して他の装置とデータの授受を行う通信部109も接続されている。ドライブ110は、磁気ディスク121、光ディスク122、光磁気ディスク123、半導体メモリ124などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
【0173】
記録媒体は、図15に示すように、パーソナルコンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク121(フレキシブルディスクを含む)、光ディスク122(CD−ROM(Compact Disc−Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク123(MD(Mini−Disc)(登録商標)を含む)、若しくは半導体メモリ124などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているROM102や記憶部108が含まれるハードディスクなどで構成される。
【0174】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0175】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0176】
【発明の効果】
本発明によれば、何らかの原因で、送信または受信できなかったデータを、受信側で取得することができる。
【0177】
また、本発明によれば、何らかの原因で、送信または受信できなかったデータを、特定して、受信側から、送信側に対して、再送するように要求を出すことができる。その要求に送信側の装置が対応することにより、受信側は、受信できなかったデータを取得することができる。
【0178】
さらに、本発明によれば、UDPを用いた通信においても、欠落したパケットを、受信側で、取得することが可能となる。
【図面の簡単な説明】
【図1】本発明を適用した送受信システムの一実施の形態の構成を示す図である。
【図2】送信機の内部構成例を示す図である。
【図3】送信機から送信されるデータについて説明するための図である。
【図4】TSパケットのヘッダについて説明するための図である。
【図5】RTPヘッダについて説明するための図である。
【図6】UDPヘッダについて説明するための図である。
【図7】IPヘッダについて説明するための図である。
【図8】MACヘッダについて説明するための図である。
【図9】受信機の内部構成例を示す図である。
【図10】記憶部に記憶されているデータについて説明するための図である。
【図11】受信機において行われる再送要求にかかわる処理について説明するためのフローチャートである。
【図12】図11に示したフローチャートのステップS17における処理について説明するためのフローチャートである。
【図13】受信されるシークエンスナンバーの関係について説明するための図である。
【図14】送信機において行われる再送要求にかかわる処理について説明するためのフローチャートである。
【図15】媒体を説明する図である。
【符号の説明】
1 送信機, 21 MPEGエンコーダ, 22 RTPヘッダ付加部, 23 UDPヘッダ付加部, 24 IPヘッダ付加部, 25 MACヘッダ付加部, 26 通信部, 27 再送制御部, 28 記憶部, 61 通信部, 62 MACヘッダ抽出部, 63 IPヘッダ抽出部, 64 UDPヘッダ抽出部, 65 ナンバーチェック部, 66 順序再構成部, 67 RTPヘッダ抽出部, 68 記憶部, 69 MPEGデコーダ, 70 再生制御部, 71 計時部

Claims (16)

  1. データを送信する送信装置と、前記送信装置から送信された前記データを受信する受信装置から構成される送受信システムにおいて、
    前記送信装置は、
    前記データを取得する取得手段と、
    前記取得手段により取得された前記データに、前記データの順序を示す情報を付加する付加手段と、
    前記付加手段により前記情報が付加された前記データを記憶する記憶手段と、
    前記付加手段により前記情報が付加された前記データを前記受信装置に送信する送信手段と、
    前記送信手段により送信された前記データの再送が、前記受信装置から要求された場合、その再送が要求されたデータを前記記憶手段から読み出し、前記送信手段に、前記読み出されたデータの再送を指示する再送手段と
    を備え、
    前記受信装置は、
    前記送信手段により送信された前記データを受信する受信手段と、
    前記受信手段により受信された前記データに含まれる前記情報を抽出し、その情報を用いて、前記データの欠落があるか否かを判断する判断手段と、
    前記判断手段により、前記データの欠落があると判断された場合、欠落していると判断されるデータを特定する特定手段と、
    前記特定手段により特定された前記欠落していると判断されるデータの再送を前記送信装置に要求する要求手段と
    を備える
    ことを特徴とする送受信システム。
  2. データを取得する取得手段と、
    前記取得手段により取得された前記データに、前記データの順序を示す情報を付加する付加手段と、
    前記付加手段により前記情報が付加された前記データを記憶する記憶手段と、前記付加手段により前記情報が付加された前記データを送信する送信手段と、前記送信手段により送信された前記データの再送が、他の装置から要求された場合、その再送が要求されたデータを前記記憶手段から読み出し、前記送信手段に、前記読み出されたデータの再送を指示する再送手段と
    を備えることを特徴とする送信装置。
  3. 前記付加手段は、前記情報として、RTPに基づくヘッダを少なくとも付加し、
    前記記憶手段は、前記RTPのヘッダが付加された前記データを記憶する
    ことを特徴とする請求項2に記載の送信装置。
  4. 前記他の装置からの前記データの再送の要求には、前記RTPに基づくヘッダに含まれるSequence Numberの情報が含まれ、
    前記再送手段は、前記ヘッダに含まれる前記Sequence Numberの情報と一致するSequence Numberを含むヘッダが付加された前記データを前記記憶手段から読み出す
    ことを特徴とする請求項3に記載の送信装置。
  5. データの取得を制御する取得制御ステップと、
    前記取得制御ステップの処理で取得が制御された前記データに、前記データの順序を示す情報を付加する付加ステップと、
    前記付加ステップの処理で前記情報が付加された前記データの記憶を制御する記憶制御ステップと、
    前記付加ステップの処理で前記情報が付加された前記データの送信を制御する送信制御ステップと、
    前記送信制御ステップの処理で送信が制御された前記データの再送が、他の装置から要求された場合、その再送が要求されたデータを前記記憶制御ステップの処理で記憶が制御された前記データ内から読み出し、前記送信制御ステップの処理に、前記読み出されたデータの再送を指示する再送ステップと
    を含むことを特徴とする送信方法。
  6. データの取得を制御する取得制御ステップと、
    前記取得制御ステップの処理で取得が制御された前記データに、前記データの順序を示す情報を付加する付加ステップと、
    前記付加ステップの処理で前記情報が付加された前記データの記憶を制御する記憶制御ステップと、
    前記付加ステップの処理で前記情報が付加された前記データの送信を制御する送信制御ステップと、
    前記送信制御ステップの処理で送信が制御された前記データの再送が、他の装置から要求された場合、その再送が要求されたデータを前記記憶制御ステップの処理で記憶が制御された前記データ内から読み出し、前記送信制御ステップの処理に、前記読み出されたデータの再送を指示する再送ステップと
    を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
  7. データの取得を制御する取得制御ステップと、
    前記取得制御ステップの処理で取得が制御された前記データに、前記データの順序を示す情報を付加する付加ステップと、
    前記付加ステップの処理で前記情報が付加された前記データの記憶を制御する記憶制御ステップと、
    前記付加ステップの処理で前記情報が付加された前記データの送信を制御する送信制御ステップと、
    前記送信制御ステップの処理で送信が制御された前記データの再送が、他の装置から要求された場合、その再送が要求されたデータを前記記憶制御ステップの処理で記憶が制御された前記データ内から読み出し、前記送信制御ステップの処理に、前記読み出されたデータの再送を指示する再送ステップと
    を含む処理をコンピュータに実行させることを特徴とするプログラム。
  8. データを受信する受信手段と、
    前記受信手段により受信された前記データに含まれる所定の情報を抽出し、その情報を用いて、前記データの欠落があるか否かを判断する判断手段と、
    前記判断手段により、前記データの欠落があると判断された場合、欠落していると判断されるデータを特定する特定手段と、
    前記特定手段により特定された前記欠落していると判断されるデータの再送を前記データを送信してきた他の装置に要求する要求手段と
    を備えることを特徴とする受信装置。
  9. 前記要求手段により前記要求が出されたときから計時を開始する計時手段と、
    前記計時手段による計時が、所定の時間を経過する毎に、再度要求を出すように前記要求手段に指示する指示手段と
    をさらに含むことを特徴とする請求項8に記載の受信装置。
  10. 前記判断手段は、前記所定の情報として前記データに含まれるRTPに基づくヘッダを抽出し、そのヘッダに含まれるSequence Numberの情報を用いて、前記データの欠落があるか否かを判断する
    ことを特徴とする請求項8に記載の受信装置。
  11. 前記判断手段は、前記ヘッダに含まれていた前記Sequence Numberのうち、最も大きい番号の第1のSequence Numberを記憶し、その記憶している第1のSequence Numberと、新たに供給されたヘッダに含まれる第2のSequence Numberが連続している番号ではなく、かつ、前記第1のSequence Numberの方が前記第2のSequence Numberより小さい番号であると判断したとき、前記データが欠落していると判断し、
    前記特定手段は、前記第1のSequence Numberから前記第2のSequence Numberまでに位置する番号の第3のSequence Numberを前記ヘッダに含む前記データを、欠落していると判断されるデータであると特定し、
    前記要求手段は、前記欠落されていると判断されるデータの再送を、前記第3のSequence Numberの情報を含むデータを前記他の装置に送信することにより要求する
    ことを特徴とする請求項10に記載の受信装置。
  12. 前記要求手段は、前記前記第3のSequence Numberの情報を含むデータを、TCPに基づいて送信する
    ことを特徴とする請求項11に記載の受信装置。
  13. 前記判断手段は、前記第1のSequence Numberと、前記第2のSequence Numberが連続している番号ではなく、かつ、前記第1のSequence Numberの方が前記第2のSequence Numberより大きい番号であると判断したとき、その第2のSequence Numberを含むデータは、再送されてきたデータであると判断する
    ことを特徴とする請求項10に記載の受信装置。
  14. データの受信を制御する受信制御ステップと、
    前記受信制御ステップの処理で受信された前記データに含まれる所定の情報を抽出し、その情報を用いて、前記データの欠落があるか否かを判断する判断ステップと、
    前記判断ステップの処理により、前記データの欠落があると判断された場合、欠落していると判断されるデータを特定する特定ステップと、
    前記特定ステップの処理で特定された前記欠落していると判断されるデータの再送を前記データを送信してきた他の装置に要求する要求ステップと
    を含むことを特徴とする受信方法。
  15. データの受信を制御する受信制御ステップと、
    前記受信制御ステップの処理で受信された前記データに含まれる所定の情報を抽出し、その情報を用いて、前記データの欠落があるか否かを判断する判断ステップと、
    前記判断ステップの処理により、前記データの欠落があると判断された場合、欠落していると判断されるデータを特定する特定ステップと、
    前記特定ステップの処理で特定された前記欠落していると判断されるデータの再送を前記データを送信してきた他の装置に要求する要求ステップと
    を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
  16. データの受信を制御する受信制御ステップと、
    前記受信制御ステップの処理で受信された前記データに含まれる所定の情報を抽出し、その情報を用いて、前記データの欠落があるか否かを判断する判断ステップと、
    前記判断ステップの処理により、前記データの欠落があると判断された場合、欠落していると判断されるデータを特定する特定ステップと、
    前記特定ステップの処理で特定された前記欠落していると判断されるデータの再送を前記データを送信してきた他の装置に要求する要求ステップと
    を含む処理をコンピュータに実行させることを特徴とするプログラム。
JP2003053796A 2003-02-28 2003-02-28 送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラム Pending JP2004266504A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2003053796A JP2004266504A (ja) 2003-02-28 2003-02-28 送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラム
KR1020057015943A KR101001514B1 (ko) 2003-02-28 2004-02-19 송수신 시스템 및 수신 장치
CNA2004800054453A CN1754364A (zh) 2003-02-28 2004-02-19 发射/接收系统、发射设备和方法及接收设备和方法
US10/547,212 US20060245428A1 (en) 2003-02-28 2004-02-19 Transmisssion/reception system, transmitting device and method, and receiving device and method
EP04712757A EP1599003A4 (en) 2003-02-28 2004-02-19 SENDING / RECEIVING SYSTEM, TRANSMISSION DEVICE AND METHOD AND RECEPTION DEVICE AND METHOD
PCT/JP2004/001947 WO2004077780A1 (ja) 2003-02-28 2004-02-19 送受信システム、送信装置および方法、受信装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003053796A JP2004266504A (ja) 2003-02-28 2003-02-28 送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2004266504A true JP2004266504A (ja) 2004-09-24

Family

ID=32923446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003053796A Pending JP2004266504A (ja) 2003-02-28 2003-02-28 送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラム

Country Status (6)

Country Link
US (1) US20060245428A1 (ja)
EP (1) EP1599003A4 (ja)
JP (1) JP2004266504A (ja)
KR (1) KR101001514B1 (ja)
CN (1) CN1754364A (ja)
WO (1) WO2004077780A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008060817A (ja) * 2006-08-30 2008-03-13 Ttt Kk 通信システム、ウェブサーバ装置、クライアント装置、通信を行うための通信プログラム及びプログラムを記録した記録媒体
EP1959602A2 (en) 2007-02-13 2008-08-20 Seiko Epson Corporation Transmitting and receiving method, transmitting and receiving system, transmitting apparatus, and receiving apparatus
JP2011223269A (ja) * 2010-04-08 2011-11-04 Central Res Inst Of Electric Power Ind 監視制御方法及び監視制御システム

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7792134B2 (en) * 2004-04-30 2010-09-07 Alcatel-Lucent Usa Inc. Method and apparatus for detecting an uplink packet data channel in a CDMA wireless communications system
US8755407B2 (en) * 2005-02-18 2014-06-17 Qualcomm Incorporated Radio link protocols for enhancing efficiency of multi-link communication systems
US7808985B2 (en) * 2006-11-21 2010-10-05 Gigle Networks Sl Network repeater
TWI307226B (en) * 2006-02-23 2009-03-01 Ind Tech Res Inst Multicast packet transmitting method of wireless network
JP2008098798A (ja) * 2006-10-10 2008-04-24 Nec Corp 通信システムにおけるデータ伝送状況判定方法および通信装置
US8520673B2 (en) * 2006-10-23 2013-08-27 Telcordia Technologies, Inc. Method and communication device for routing unicast and multicast messages in an ad-hoc wireless network
CN101174995B (zh) * 2006-11-03 2010-05-12 中兴通讯股份有限公司 一种多媒体服务性能监测的方法和系统
CN1972166B (zh) * 2006-11-30 2011-05-25 中兴通讯股份有限公司 一种移动多媒体广播系统的音频流传送方法
US7680090B2 (en) * 2007-02-28 2010-03-16 Freescale Semiconductor, Inc. System and method for monitoring network traffic
CN101227497B (zh) * 2008-02-03 2012-05-02 北京天碁科技有限公司 MAC-e PDU构造和解析方法
US8346218B2 (en) * 2008-05-02 2013-01-01 International Business Machines Corporation Avoiding redundant transmissions of data during multimedia mobile phone communications
WO2010034528A1 (en) * 2008-09-26 2010-04-01 Telefonaktiebolaget Lm Ericsson (Publ) Techniques for uplink cooperation of access nodes
CN101800632A (zh) * 2009-02-09 2010-08-11 中兴通讯股份有限公司 用户数据报协议传输模式下丢包补偿方法与装置
US8385338B2 (en) * 2009-04-24 2013-02-26 Futurewei Technologies, Inc. Implementation to avoid the acknowledgement-implosion in a multicast group
CN102130763B (zh) * 2011-03-18 2014-08-13 中兴通讯股份有限公司 以太网传输的线序调整装置和方法
JP6064522B2 (ja) * 2012-10-30 2017-01-25 富士通株式会社 通信装置及び通信方法
KR101533056B1 (ko) * 2014-06-25 2015-07-01 (주)넷텐션 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법
CN106603481A (zh) * 2016-07-22 2017-04-26 深圳曼塔智能科技有限公司 数据传输方法及装置
CN107979449B (zh) * 2016-10-25 2020-11-20 杭州海康威视数字技术股份有限公司 一种数据传输方法及装置
CN109842856A (zh) * 2017-11-29 2019-06-04 成都鼎桥通信技术有限公司 一种屏蔽上行丢包的方法和设备
CN110659247A (zh) * 2018-06-13 2020-01-07 中国移动通信集团江西有限公司 话单文件连续性检测方法、装置、设备及介质
TW202101946A (zh) * 2019-06-14 2021-01-01 日商索尼半導體解決方案公司 通信裝置及通信方法以及程式
US11778306B2 (en) * 2020-01-08 2023-10-03 Innolux Corporation Method for editing an image
KR102334877B1 (ko) * 2020-07-14 2021-12-03 주식회사 픽스트리 실시간 전송 프로토콜 패킷 재정렬 시스템 및 방법
US11711320B2 (en) * 2021-07-12 2023-07-25 Mellanox Technologies, Ltd. Network device safety protocol

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US733439A (en) * 1903-01-10 1903-07-14 Nicholson File Company Machine for grinding file-blanks or the like.
JP2769012B2 (ja) * 1990-02-28 1998-06-25 富士通株式会社 セル抜け誤配送検出および訂正方法
JPH07111503A (ja) * 1993-10-12 1995-04-25 Hitachi Ltd データ伝送方法およびデータ伝送システム
US5754754A (en) * 1995-07-26 1998-05-19 International Business Machines Corporation Transmission order based selective repeat data transmission error recovery system and method
US5862133A (en) * 1996-08-02 1999-01-19 Golden Bridge Technology Packet-switched spread-spectrum system
US5918002A (en) * 1997-03-14 1999-06-29 Microsoft Corporation Selective retransmission for efficient and reliable streaming of multimedia packets in a computer network
JPH10262093A (ja) 1997-03-19 1998-09-29 Hitachi Ltd 伝送制御方法
US6031818A (en) * 1997-03-19 2000-02-29 Lucent Technologies Inc. Error correction system for packet switching networks
US6076114A (en) * 1997-04-18 2000-06-13 International Business Machines Corporation Methods, systems and computer program products for reliable data transmission over communications networks
US6701372B2 (en) * 1997-08-22 2004-03-02 Canon Kabushiki Kaisha Data communication apparatus and method
JPH11225182A (ja) * 1998-02-06 1999-08-17 Kokusai Electric Co Ltd 情報表示システム及びその制御方法
US6081847A (en) * 1998-02-27 2000-06-27 Lsi Logic Corporation System and method for efficient initialization of a ring network
US6076181A (en) * 1998-03-03 2000-06-13 Nokia Mobile Phones Limited Method and apparatus for controlling a retransmission/abort timer in a telecommunications system
DE69938094T2 (de) * 1998-11-30 2009-02-05 Matsushita Electric Industries Co. Ltd., Kadoma Paketwiederübertragungskontrolle mit Prioritätsinformationen
KR100424654B1 (ko) * 1999-08-02 2004-03-24 삼성전자주식회사 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 재전송 장치 및 방법
JP2001211145A (ja) 2000-01-25 2001-08-03 Mitsubishi Electric Corp 伝送システム及び伝送方法
DE10007602A1 (de) * 2000-02-18 2001-08-30 Siemens Ag Verfahren zum Übertragen von Paketdateninformationen in einem Funk-Kommunikationssystem
JP2001298479A (ja) * 2000-04-12 2001-10-26 Nec Corp インターネット電話装置
JP3866196B2 (ja) * 2000-06-23 2007-01-10 三菱電機株式会社 パケット再送システムおよびパケット再送方法
JP3348080B1 (ja) * 2000-07-07 2002-11-20 松下電器産業株式会社 データ送信装置とデータ受信装置及びデータ送受信方法
JP3821778B2 (ja) * 2000-10-05 2006-09-13 三菱電機株式会社 パケット再送方式及び送信装置及び受信装置及びパケット再送方法及びパケット送信方法及びパケット受信方法
US6807156B1 (en) * 2000-11-07 2004-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Scalable real-time quality of service monitoring and analysis of service dependent subscriber satisfaction in IP networks
FR2825865A1 (fr) * 2001-06-06 2002-12-13 Koninkl Philips Electronics Nv Retransmission selective de paquets avec controle temporel a l'emission
JP4767443B2 (ja) * 2001-07-04 2011-09-07 富士通株式会社 ネットワーク蓄積型ビデオカメラシステム
US7117521B2 (en) * 2001-08-31 2006-10-03 Intel Corporation Method to measure the perceived quality of streaming media
SE0103506D0 (sv) * 2001-10-19 2001-10-19 Ericsson Telefon Ab L M HARQ stall avoidance
JP2003152544A (ja) * 2001-11-12 2003-05-23 Sony Corp データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JP3799285B2 (ja) * 2002-03-29 2006-07-19 Necインフロンティア株式会社 無線lan基地局、無線端末およびプログラム
US7233573B2 (en) * 2003-02-08 2007-06-19 Hewlett-Packard Development Company, L.P. Apparatus and method for receiving data from a network
US20040165585A1 (en) * 2003-02-25 2004-08-26 Koji Imura Packet transmission apparatus and packet transmission method
US20060029367A1 (en) * 2004-08-03 2006-02-09 Takuya Kosugi Sequence header identification

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008060817A (ja) * 2006-08-30 2008-03-13 Ttt Kk 通信システム、ウェブサーバ装置、クライアント装置、通信を行うための通信プログラム及びプログラムを記録した記録媒体
EP1959602A2 (en) 2007-02-13 2008-08-20 Seiko Epson Corporation Transmitting and receiving method, transmitting and receiving system, transmitting apparatus, and receiving apparatus
US7769014B2 (en) 2007-02-13 2010-08-03 Seiko Epson Corporation Transmitting and receiving system, transmitting apparatus, and receiving apparatus
JP2011223269A (ja) * 2010-04-08 2011-11-04 Central Res Inst Of Electric Power Ind 監視制御方法及び監視制御システム

Also Published As

Publication number Publication date
KR20050113618A (ko) 2005-12-02
EP1599003A1 (en) 2005-11-23
CN1754364A (zh) 2006-03-29
EP1599003A4 (en) 2011-07-27
WO2004077780A1 (ja) 2004-09-10
US20060245428A1 (en) 2006-11-02
KR101001514B1 (ko) 2010-12-14

Similar Documents

Publication Publication Date Title
JP2004266504A (ja) 送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラム
JP4000905B2 (ja) 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム
JP3757857B2 (ja) データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
TWI388170B (zh) 網路中串流資料內容之方法及裝置
JP4118617B2 (ja) ストリームメディアに対する交渉方式の/動的なエラー訂正
US7710941B2 (en) Method and device for the synchronised restitution of data flows
JP4874250B2 (ja) データストリーム通信装置及びデータストリーム通信方法
EP1601161B1 (en) Network interface card for supporting multi-streaming format and method thereof
US20170034589A1 (en) Adaptive profile switching system and method for media streaming over ip networks
JP2008048182A (ja) 通信処理装置、および通信制御方法、並びにコンピュータ・プログラム
JP3994388B2 (ja) 送受信システム、送信装置および方法、記録媒体、並びにプログラム
JP2005210219A (ja) 送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラム
JP4176402B2 (ja) 通信管理方法、通信管理プログラム、通信管理プログラムを記録した記録媒体、ならびに通信局
WO2012011473A1 (ja) 送信装置、送信方法、受信装置、受信方法、通信システム、データ構造、プログラム、及び、記憶媒体
US20050083970A1 (en) Apparatus, system and method of transmitting data
WO2002056549A1 (fr) Dispositif de communication et procede de communication
JP4737243B2 (ja) 集積回路装置及びデータ伝送システム
JP5082715B2 (ja) 受信装置、受信方法およびコンピュータプログラム
JP2004007172A (ja) 情報配信システム、情報配信装置および方法、情報端末装置および情報処理方法、記録媒体、並びにプログラム
JP4433281B2 (ja) 受信装置および方法、記録媒体、並びにプログラム
JP5159973B1 (ja) 伝送パケットの配信方法
JP2009027327A (ja) データ送受信装置
JP2005191735A (ja) 圧縮データ送信装置、圧縮データ送信システム、圧縮データ送信方法及びプログラム
TWI559761B (zh) Application of Data Synchronization in Multimedia Synchronization
JP2005269236A (ja) 通信システム、送信装置および方法、受信装置および方法、並びにプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061030

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070615

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070621

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070713