KR20050113618A - 송수신 시스템, 수신 장치 및 방법 - Google Patents

송수신 시스템, 수신 장치 및 방법 Download PDF

Info

Publication number
KR20050113618A
KR20050113618A KR1020057015943A KR20057015943A KR20050113618A KR 20050113618 A KR20050113618 A KR 20050113618A KR 1020057015943 A KR1020057015943 A KR 1020057015943A KR 20057015943 A KR20057015943 A KR 20057015943A KR 20050113618 A KR20050113618 A KR 20050113618A
Authority
KR
South Korea
Prior art keywords
data
sequence number
missing
retransmission
header
Prior art date
Application number
KR1020057015943A
Other languages
English (en)
Other versions
KR101001514B1 (ko
Inventor
가오루 야나모또
쯔요시 마사또
마사루 오기하라
가쯔야 다까하시
Original Assignee
소니 가부시끼 가이샤
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 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR20050113618A publication Critical patent/KR20050113618A/ko
Application granted granted Critical
Publication of KR101001514B1 publication Critical patent/KR101001514B1/ko

Links

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
    • 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/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
    • 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 헤더 내의 시퀀스 넘버를 참조하고, 그 번호의 연속성을 확인한다. 연속한 시퀀스 넘버를 포함한 데이터가 수신되지 않았을 때, 데이터가 누락하였다고 판단하고, 그 누락하였다고 판단되는 시퀀스 넘버의 데이터를 재송하도록, 송신기에 대하여 요구를 보낸다. 그 요구에 대응하여, 송신기가 재송하여 온 데이터를 수신기가 수신함으로써, 수신기는 누락된 데이터를 취득한다. 본 발명은, 데이터를 송신하는 송신기와, 데이터를 수신하는 수신기에 적용할 수 있다.

Description

송수신 시스템, 송신 장치 및 방법, 수신 장치 및 방법{TRANSMISSION/RECEPTION SYSTEM, TRANSMITTING DEVICE AND METHOD, AND RECEIVING DEVICE AND METHOD}
본 발명은 송수신 시스템, 송신 장치 및 방법, 수신 장치 및 방법에 관한 것으로, 특히 송수신되어 있는 패킷이 누락하게 되었을 때에, 그 누락을 보충하는 장치에 이용하기에 적합한 송수신 시스템, 송신 장치 및 방법, 수신 장치 및 방법에 관한 것이다.
네트워크가 보급되고, 그 네트워크를 이용하여 제공되는 서비스도, 다방면에 걸치게 되어 왔다. 네트워크 자체의 구성도, 유선으로 구성되는 것과, 무선으로 구성되는 것이 있다.
네트워크가 보급됨과 함께, 그 네트워크에서의 통신의 신뢰성을 향상시키기위해서, 예를 들면 동일한 데이터를 상이한 경로로 전송하는 등으로 하여, 한 쪽의 경로에서 어떠한 이상이 발생하여도, 다른 쪽의 경로에서, 통신을 확보할 수 있도록 하여, 데이터의 누락 등을 방지하는 방법이, 예를 들면 일본 특개평 11-98161호 공보에서 제안되고 있다.
최근에는, 가정 내에서의 네트워크로서, 유선에 의한 것보다, 설치 등이 손쉬운 무선 LAN(Local Area Network)이 보급되고 있다. 그러나, 무선 LAN은, 그 특성으로부터, 유선 LAN에 비하여 신뢰성이 뒤떨어진다고 하는 문제가 있었다.
예를 들면, 무선 LAN은, 당연히, 무선에 의해 데이터의 송수신이 행해지지만, 무선으로 행하기 위해, 통신을 행하고 있는 송신기와 수신기 사이를 사람이 가로지르거나, 습도 등의 환경의 변화에 의해, 그 통신 상태가 악화되는 것이 생각된다. 통신 상태가 악화되므로, 송수신(통신)할 데이터가 통신 도중에 누락되는 등의 문제점이 발생하는 것이 생각된다.
그와 같은 문제점에 대응하기 위해, 무선에 의한 데이터의 송수신에서는, 재송 제어가 행해지고 있다. 구체적으로는, 송신측이 송신한 데이터를 수신한 수신측은, 수신한 것을 나타내는 ACK(Acknowledgement) 신호를 송신측에 보내도록 하고, 그 ACK 신호를 송신측이 수신할 때까지, 송신측은 동일한 데이터를 소정의 횟수만큼 계속 송신하는 것과 같이(계속 재송하는 것과 같이) 행해지고 있었다.
이러한 재송 제어는, 송신측에서, 수신측의 상태를 체크하고, 재송을 행하는 것으로 된다. 송신측에서는, 소정의 횟수만큼, 동일한 데이터를 계속 재송함으로써, 즉 다른 데이터를 송신하지 않고서, 동일한 데이터를 계속 송신함으로써, 지연이 축적되고, 송신할 데이터를, 송신할 타이밍에서 송신할 수 없다고 하는 문제가 발생할 가능성이 있었다.
또한, 수신측에서는, 송신측으로부터의 데이터를 정상적으로 수신하고, 그 결과로서 ACK 신호를 송신함에도 불구하고, 데이터를 송신한 송신측에서, 그 ACK 신호를 수신할 수 없기 때문에, 송신측에서는, 재송의 처리가 실행되는 것도 생각된다. 이러한 재송은, 송신측에서는, 쓸데없는 송신의 처리임과 함께, 그 때문에, 지연 등이 발생하는 것은, 통신의 신뢰성을 저하시킨다고 하는 문제가 있었다.
또한, 수신측에서도, 정상적으로 수신한 데이터가, 재송되어 오는 것으로 되고, 그 재송된 데이터도 처리해야만 하여, 쓸데없는 처리를 반복하는 것으로 된다고 하는 문제가 있었다.
이러한 재송의 제어(송신한 데이터가 수신측에서 정상적으로 수신되었는지의 여부의 확인)는, 그 데이터의 송수신에서, 예를 들면 OSI층 모델에서의 트랜스포트층에 속하는 TCP(Transmission Control Protocol)가 이용된 경우에는 행해지지만, 동일하게, OSI층 모델에서의 트랜스포트층에 속하는 UDP(User Datagram Protocol)이 이용된 경우에는 행해지지 않는다.
따라서, UDP가 이용된 데이터의 송수신에서는, 수신측이, 수신할 수 없었던 데이터가 있더라도, 그 수신할 수 없었던 데이터를 송신측으로부터 취득한다고 하는 것은 가능하지 않다는 문제가 있었다.
<발명의 개시>
본 발명은 이러한 상황을 감안하여 이루어진 것으로, 수신측에서, 어떠한 원인으로, 수신할 수 없었던 데이터를, 수신측으로부터의 재송 요구에 따라서 송신측으로부터 취득할 수 있도록 하는 것을 목적으로 한다.
본 발명의 송수신 시스템의 송신 장치는, 데이터를 취득하는 취득 수단과, 취득 수단에 의해 취득된 데이터에, 데이터의 순서를 나타내는 순서 정보를 부가하는 부가 수단과, 부가 수단에 의해 순서 정보가 부가된 데이터를 기억하는 기억 수단과, 부가 수단에 의해 순서 정보가 부가된 데이터를 수신 장치에 송신하는 송신 수단과, 송신 수단에 의해 송신된 데이터의 재송이, 수신 장치로부터 요구된 경우, 그 재송이 요구된 데이터를 기억 수단으로부터 읽어내고, 송신 수단에, 읽어낸 데이터의 재송을 지시하는 재송 수단을 구비하고, 수신 장치는, 송신 수단에 의해 송신된 데이터를 수신하는 수신 수단과, 수신 수단에 의해 수신된 데이터에 포함되는 순서 정보를 추출하고, 그 순서 정보를 이용하여, 데이터의 누락이 있는지의 여부를 판단하는 판단 수단과, 판단 수단에 의해, 데이터의 누락이 있다고 판단된 경우, 누락되어 있다고 판단되는 데이터를 특정하는 특정 수단과, 특정 수단에 의해 특정된 누락되어 있다고 판단되는 데이터의 재송을 송신 장치에 요구하는 요구 수단을 구비하는 것을 특징으로 한다.
본 발명의 송신 장치는, 데이터를 취득하는 취득 수단과, 취득 수단에 의해 취득된 데이터에, 데이터의 순서를 나타내는 순서 정보를 부가하는 부가 수단과, 부가 수단에 의해 순서 정보가 부가된 데이터를 기억하는 기억 수단과, 부가 수단에 의해 순서 정보가 부가된 데이터를 송신하는 송신 수단과, 송신 수단에 의해 송신된 데이터의 재송이, 다른 장치로부터 요구된 경우, 그 재송이 요구된 데이터를 기억 수단으로부터 읽어내고, 송신 수단에, 읽어낸 데이터의 재송을 지시하는 재송 수단을 포함하는 것을 특징으로 한다.
상기 다른 장치로부터의 데이터의 재송의 요구에는, 재송이 요구된 데이터의 순서를 나타내는 순서 정보가 포함되고, 상기 재송 수단은, 데이터의 순서를 나타내는 순서 정보와 일치하는 데이터의 순서를 나타내는 순서 정보가 부가된 데이터를 기억 수단으로부터 읽어내도록 할 수 있다.
상기 부가 수단은, 순서 정보로서, RTP에 기초한 헤더를 적어도 부가하고, 기억 수단은 RTP의 헤더가 부가된 데이터를 기억하도록 할 수 있다.
상기 다른 장치로부터의 데이터의 재송의 요구에는, RTP에 기초한 헤더에 포함되는 Sequence Number의 정보가 포함되고, 재송 수단은, 헤더에 포함되는 Sequence Number의 정보와 일치하는 Sequence Number를 포함하는 헤더가 부가된 데이터를 기억 수단으로부터 읽어내도록 할 수 있다.
본 발명의 송신 방법은, 데이터의 취득을 제어하는 취득 제어 단계와, 취득 제어 단계의 처리에서 취득이 제어된 데이터에, 데이터의 순서를 나타내는 순서 정보를 부가하는 부가 단계와, 부가 단계의 처리에서 순서 정보가 부가된 데이터의 기억을 제어하는 기억 제어 단계와, 부가 단계의 처리에서 순서 정보가 부가된 데이터의 송신을 제어하는 송신 제어 단계와, 송신 제어 단계의 처리에서 송신이 제어된 데이터의 재송이, 다른 장치로부터 요구된 경우, 그 재송이 요구된 데이터를 기억 제어 단계의 처리에서 기억이 제어된 데이터 내로부터 읽어내고, 송신 제어 단계의 처리에, 읽어낸 데이터의 재송을 지시하는 재송 단계를 포함하는 것을 특징으로 한다.
본 발명의 수신 장치는, 데이터를 수신하는 수신 수단과, 수신 수단에 의해 수신된 데이터에 포함되는 소정의 정보를 추출하고, 그 정보를 이용하여, 데이터의 누락이 있는지의 여부를 판단하는 판단 수단과, 판단 수단에 의해, 데이터의 누락이 있다고 판단된 경우, 누락되어 있다고 판단되는 데이터를 특정하는 특정 수단과, 특정 수단에 의해 특정된 누락되어 있다고 판단되는 데이터의 재송을 데이터를 송신하여 온 다른 장치에 요구하는 요구 수단을 구비하는 것을 특징으로 한다.
상기 요구 수단에 의해 요구가 보내졌을 때로부터 계시를 개시하는 계시 수단과, 계시 수단에 의한 계시가, 소정의 시간을 경과할 때마다, 재차 요구를 보내도록 요구 수단에 지시하는 지시 수단을 더 포함하도록 할 수 있다.
상기 소정의 정보는, 데이터의 순서를 나타내는 순서 정보이도록 할 수 있다.
상기 판단 수단은, 수신된 데이터에 포함되는 순서 정보 중, 순서가 가장 뒤인 제1 순서 정보를 기억하고, 그 기억하고 있는 제1 순서 정보와, 새롭게 수신된 데이터에 포함되는 제2 순서 정보가 연속되지 않고, 또한 제1 순서 정보쪽이 제2 순서 정보보다 순서가 뒤라고 판단하였을 때, 데이터가 누락되어 있다고 판단하고, 상기 특정 수단은, 제1 순서 정보로부터 제2 순서 정보까지의 사이에 위치하는 제3 순서 정보를 포함하는 데이터를, 누락되어 있다고 판단되는 데이터라고 특정하고, 상기 요구 수단은, 누락되어 있다고 판단되는 데이터의 재송을, 제3 순서 정보를 포함하는 데이터를 다른 장치에 송신함으로써 요구하도록 할 수 있다.
상기 소정의 정보는, 데이터마다 할당된 오름차순의 연속된 번호이고, 상기 판단 수단은, 수신된 데이터에 포함되는 번호 중, 가장 큰 제1 번호를 기억하고, 그 기억하고 있는 제1 번호와, 새롭게 수신된 데이터에 포함되는 제2 번호가 연속되지 않고, 또한 제1 번호쪽이 제2 번호보다 작다고 판단하였을 때, 데이터가 누락되어 있다고 판단하고, 상기 특정 수단은, 제1 번호로부터 제2 번호까지의 사이에 위치하는 제3 번호를 포함하는 데이터를, 누락되어 있다고 판단되는 데이터라고 특정하고, 상기 요구 수단은, 누락되어 있다고 판단되는 데이터의 재송을, 제3 번호를 포함하는 데이터를 다른 장치에 송신함으로써 요구하도록 할 수 있다.
상기 판단 수단은, 소정의 정보로서 데이터에 포함되는 RTP에 기초한 헤더를 추출하고, 그 헤더에 포함되는 Sequence Number의 정보를 이용하여, 데이터의 누락이 있는지의 여부를 판단하는 것을 특징으로 한다.
상기 판단 수단은, 헤더에 포함되어 있던 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의 정보를 포함하는 데이터를 다른 장치에 송신함으로써 요구하도록 할 수 있다.
상기 요구 수단은, 제3 Sequence Number의 정보를 포함하는 데이터를, TCP에 기초하여 송신하도록 할 수 있다.
상기 판단 수단은, 제1 Sequence Number와, 제2 Sequence Number가 연속하고 있는 번호가 아니고, 또한 제1 Sequence Number쪽이 제2 Sequence Number보다 큰 번호라고 판단하였을 때, 그 제2 Sequence Number를 포함하는 데이터는, 재송되어 온 데이터라고 판단하도록 할 수 있다.
본 발명의 수신 방법은, 데이터의 수신을 제어하는 수신 제어 단계와, 수신 제어 단계의 처리에서 수신된 데이터에 포함되는 소정의 정보를 추출하고, 그 정보를 이용하여, 데이터의 누락이 있는지의 여부를 판단하는 판단 단계와, 판단 단계의 처리에 의해, 데이터의 누락이 있다고 판단된 경우, 누락되어 있다고 판단되는 데이터를 특정하는 특정 단계와, 특정 단계의 처리에서 특정된 누락되어 있다고 판단되는 데이터의 재송을 데이터를 송신하여 온 다른 장치에 요구하는 요구 단계를 포함하는 것을 특징으로 한다.
본 발명에서는, 데이터의 송수신의 과정에서, 수신 장치가, 데이터를 수신할 수 없었던 경우, 수신 장치가, 송신 장치에 대하여 누락한 데이터의 재송을 요구한다.
본 발명에서는, 데이터를 송신하는 측이, 데이터를 송신함과 함께, 그 데이터를 기억하고, 수신하는 측으로부터, 이미 송신한 데이터의 재송이 요구되었을 때에는, 그 기억되어 있는 데이터가 재송된다.
본 발명에서는, 데이터를 수신하는 측이, 누락한 데이터가 있다고 판단한 경우, 그 누락한 데이터를 특정하기 위한 정보를 송신측에 송신한다.
도 1은 본 발명을 적용한 송수신 시스템의 일 실시 형태의 구성을 도시하는 도면.
도 2는 송신기의 내부 구성예를 도시하는 도면.
도 3은 송신기로부터 송신되는 데이터에 대하여 설명하기 위한 도면.
도 4는 TS 패킷의 헤더에 대하여 설명하기 위한 도면.
도 5는 RTP 헤더에 대하여 설명하기 위한 도면.
도 6은 UDP 헤더에 대하여 설명하기 위한 도면.
도 7은 IP 헤더에 대하여 설명하기 위한 도면.
도 8은 MAC 헤더에 대하여 설명하기 위한 도면.
도 9는 수신기의 내부 구성예를 도시하는 도면.
도 10은 기억부에 기억되어 있는 데이터에 대하여 설명하기 위한 도면.
도 11은 수신기에서 행해지는 재송 요구에 관계되는 처리에 대하여 설명하기 위한 플로우차트.
도 12는 도 11에 도시한 플로우차트의 단계 S17에서의 처리에 대하여 설명하기 위한 플로우차트.
도 13은 수신되는 시퀀스 넘버의 관계에 대하여 설명하기 위한 도면.
도 14는 송신기에서 행해지는 재송 요구에 관계되는 처리에 대하여 설명하기 위한 플로우차트.
도 15는 매체를 설명하는 도면.
<발명을 실시하기 위한 최량의 형태>
이하에, 본 발명의 실시 형태에 대하여 도면을 참조하여 설명한다. 도 1은 본 발명을 적용한 송수신 시스템의 일 실시 형태의 구성을 도시하는 도면이다. 도 1에 도시한 송수신 시스템은, 송신기(1)와 수신기(2)로 구성되어 있다. 송신기(1)는, 안테나(3)에 의해 수신된 텔레비전 방송의 데이터를, 수신기(2)에 대하여 송신한다. 수신기(2)는, 표시 장치(예를 들면, 디스플레이)나 음성 출력 장치(예를 들면, 스피커)를 구비하고 있고, 수신한 데이터에 기초한 화상이나 음성을 출력하도록 구성되어 있다.
여기서는, 아날로그 신호의 텔레비전 방송이 수신되고, 그 데이터가, 수신기(2)에 송신되는 것으로 하여 설명하지만, 본 발명은 아날로그 신호의 텔레비전 방송뿐만 아니라, 예를 들면 BS(Broadcasting Satellite) 방송, CS(Communications Satellite) 방송, 지상파 디지털 방송 등의 디지털 신호의 텔레비전 방송에 대해서도 적용하는 것이 가능하다.
또한, 예를 들면 VTR(Video Tape Recorder)나 DVD(Digital Versatile Disc) 플레이어 등이 송신기(1)에 접속되고, 이들의 장치로부터의 데이터가, 송수신되도록하여도 된다. 또한, 인터넷 등의 네트워크에 접속되고, 그 네트워크에 접속됨으로써 얻어지는 정보 등의 송수신이 행해지도록 하여도 된다.
송신기(1)와 수신기(2)는, 무선으로 데이터의 수수를 행한다. 그 무선에 의한 통신은, 예를 들면 IEEE802.11a의 규격에 기초한 방식으로 행해진다. 송신기(1)와 수신기(2)는, 무선에 의해 데이터의 수수를 행하기 때문에, 예를 들면 유저는, 송신기(1)를 가정집의 소정의 장소에 고정하여 설치하고, 수신기(2)를 원하는 장소까지 운반하여, 그 장소에서 텔레비전 방송을 열람한다고 하는 것이 가능하게 된다.
도 2는, 송신기(1)의 내부 구성예를 도시하는 도면이다. 도 2에 도시한 내부구성예는, 주로 본 발명에 관한 것으로, 설명에 필요하게 되는 부분을 나타내고, 설명에 필요없는 부분, 예를 들면 수신한 텔레비전 방송으로부터 유저가 지정한 프로그램을 추출하는 튜너나, VTR나 DVD 플레이어 등을 접속하였을 때에, 이들의 장치로부터의 입력을 절환하는 스위처 등은, 생략하고 있다.
송신기(1)는, 안테나(3)에 의해 수신된 텔레비전 방송으로서의 데이터(신호)를 입력한다. 입력되는 신호는, 예를 들면 아날로그 신호이다. 그 아날로그 신호는, MPEG(Moving Picture Experts Group) 인코더(21)에 입력된다. MPEG 인코더(21)는, 입력된 아날로그 신호를, MPEG 방식에 기초한 압축을 실시한 디지털 데이터로 변환한다.
또한, 디지털 신호의 텔레비전 방송의 데이터 등이 입력되는 경우, MPEG 인코더(21)에 의해 인코드될 필요는 없기 때문에, 반드시, 입력된 데이터가, MPEG 인코더(21)를 통하는 구성으로 될 필요는 없고, 적절하게, 입력되는 데이터에 의해, 입력되는 부분을 다르게 하여도 된다. 물론, 그와 같은 입력된 데이터의 출력처를 선택하기 위한 스위처 등이, 도시는 하지 않았지만, 송신기(1)에는 구비되어져 있다.
MPEG 인코더(21)로부터의 출력(트랜스포트 스트림 패킷: 이하, 적절하게, TS 패킷이라고 기술함)은, RTP(Real Time Protocol) 헤더 부가부(22)에 공급된다. RTP 헤더 부가부(22)는, 공급된 TS 패킷을 소정의 개수, 예를 들면 7개의 패킷을 통합하고, 그 통합한 패킷에 RTP 헤더를 부가하여, UDP(User Datagram Protocol) 부가부(23) 및 기억부(28)에 공급한다. RTP 헤더 부가부(22)에 의해 RTP 헤더가 부가된 TS 패킷을, 적절하게, RTP 패킷이라고 기술한다.
UDP 헤더 부가부(23)는, 공급된 RTP 패킷에 대하여, 또한 UDP 헤더를 부가하여, IP(Internet Protocol) 헤더 부가부(24)에 공급한다. UDP 헤더 부가부(23)에 의해 UDP 헤더가 부가된 RTP 패킷을, 적절하게, UDP 패킷이라고 기술한다.
IP 헤더 부가부(24)는, 공급된 UDP 패킷에 대하여, IP 헤더를 부가하여, MAC(Media Access Control) 헤더 부가부(25)에 공급한다. IP 헤더 부가부(24)에 의해 IP 헤더가 부가된 UDP 패킷을, 적절하게, IP 패킷이라고 기술한다.
MAC 헤더 부가부(25)는, 공급된 IP 패킷에 대하여, MAC 헤더를 부가하여, 통신부(26)에 공급한다. MAC 헤더 부가부(25)에 의해 MAC 헤더가 부가된 IP 패킷을, 적절하게, MAC 패킷이라고 기술한다.
각 부에서, 헤더가 부가되고, MAC 패킷으로 된 TS 패킷은, 통신부(26)에 의해, 수신기(2)에 대하여 송신된다. 통신부(26)는, 수신기(2)에 대하여 MAC 패킷(데이터)을 송신하는 것뿐만 아니라, 수신기(2)로부터의 데이터도 수신한다. 수신기(2)로부터의 데이터로서는, 후술하는 바와 같이, 수신기(2)측에서 데이터를 수신할 수 없었던 경우에 출력되는 재송 요구의 데이터가 있다. 그와 같은 재송 요구의 데이터가 수신된 경우, 그 데이터는, 재송 제어부(27)에 공급된다.
재송 제어부(27)는, 공급된 데이터에 기초하여, 재송 요구가 있었던 데이터를 특정하고, 그 특정한 데이터가, 기억부(28)로부터, UDP 헤더 부가부(23)에 공급되도록 제어한다. 기억부(28)에는, 이와 같이 재송의 지시가 되었을 때를 위한 데이터가 기억되어 있다. 기억부(28)에는, RTP 헤더 부가부(22)에 의해 RTP 헤더가 부가되어 있는 RTP 패킷이 기억된다.
도 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로 구성되어 있다.
1개의 TS 패킷(41)(예를 들면, TS 패킷(41-1))은, 헤더부(51)와 데이터부(52)로 구성되어 있다. 헤더부(51)는, 도 4에 도시한 데이터를 포함하고, 데이터부(52)는, 수신기(2)(도 1)측에서, 화상 또는 음성으로서 유저에게 제공하기 위한 비디오 데이터 또는 오디오 데이터를 포함한다.
도 4는, TS 패킷(41)의 헤더부(51)의 데이터 구성을 도시하는 도면이다. 헤더부(51)는, 4Bytes로 구성되고, 데이터부(52)는 184Bytes로 구성된다. 헤더부(51)의 "동기 바이트"는, 동기를 취하기 위해서 설치되어 있고, 고정값으로, 예를 들면 47h가 설정되어 있다. "Error Flag"는, TS 패킷(41) 중에 정정할 수 없는 bit error가 있는지의 여부를 나타내는 플래그이다.
"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)이다.
"Scrambling mode"는, 데이터부(52)의 Scrambling mode(스크램블 모드)를 나타내는 정보이다. "Adaptation Field flag"는, PCR(Program Clock Reference) 등의 정보가 포함되어 있는 Adaptation Field의 유무를 나타내는 정보이다. "Continuity Counter"는, 동일한 PID를 갖는 패킷으로, 1씩 값이 증가되는 카운터값의 정보이다.
MPEG 인코더(21)(도 2)에서는, 입력된 아날로그 신호를 디지털 데이터로 변환하고, MPEG 방식의 압축을 실시하여 데이터부(52)를 생성함과 함께, 도 4에 도시한 바와 같은 헤더부(51)를 생성하여, 1개의 TS 패킷(41)을 생성한다.
이러한 TS 패킷(41)이, 이 경우, 7개 포함되는 것이, 도 3에 도시한 TS 패킷(41)이다. RTP 헤더(42)(도 3)는, RTP 헤더 부가부(22)(도 2)에 의해 부가되는 헤더이지만, 그 데이터 구성은, 도 5에 도시한 바와 같이, 구성되어 있다.
RTP 헤더(42)의 "V"는, Version Bit를 나타내고, RTP 헤더(42)의 포맷의 버전을 나타내는 버전 번호의 정보이다. "P"는, Padding Bit를 나타내고, 패킷의 사이즈를 조정하는 비트이다. "X"는, Extension Bit를 나타내고, 기능 확장 시에 지정되는 확장 비트이다.
"CC"는, CSRC Count를 나타내고, 리얼타임 전송에 관한 송신원의 수를 나타내는 카운터의 정보이다. "M"은, Marker Bit를 나타내고, 1 패킷에서의 프레임의 경계를 나타내는 마커 비트이다. "PT"는, Payload Type을 나타내고, 페이로드의 부호화의 종류를 나타내는 정보이다. "Sequence Number"는, RTP 패킷의 순서를 나타내는 시퀀스 번호를 나타내는 정보이다.
"TIME STAMP"는, RTP 헤더(42)가 작성된 시각을 나타내는 타임 스탬프의 정보를 나타낸다. "SSRC"는, Synchronization Source를 나타내고, 메시지의 최초의 송신원(소스)을 식별하는 동기 소스 식별자의 정보이다. "CSRC"는, Contributing Source를 나타내고, 메시지에 포함되는 패킷군의 송신처(클라이언트)를 식별하는 공헌 소스 식별자의 정보이다.
이러한 정보를 포함하는 RTP 헤더(42)에 대응하는 페이로드(Payload)에, TS 패킷(41)이 삽입된다. RTP 헤더(42)가 부가되어 있는 RTP 패킷에 UDP 헤더(43)(도 3)가, UDP 헤더 부가부(23)(도 2)에 의해 부가된다.
도 6은 UDP 헤더(43)의 데이터 구성을 도시하는 도면이다. UDP 헤더(43)의 "SRC PORT"는, 송신원의 포트 번호를 지정하는 정보이고, "DEST PORT"는, 송신처(수신처)의 포트 번호를 지정하는 정보이고, 함께, 서비스를 특정하기 위한 정보로서 이용된다.
"Length"는, UDP 헤더(43)와 그 후에 계속되는 데이터의 길이(바이트 단위)의 합계를 나타내는 정보이다. "Checksum"은, UDP 헤더의 정보와, 데이터 길이를 바탕으로 하여 산출된 값의 정보이다. 수신측에서는, 송신측과 마찬가지의 계산을 행하고, Checksum(체크 섬)의 값을 산출하고, 그 산출한 값과, 송신되어 온 UDP 헤더(43)에 포함되는 체크 섬의 값이 일치하고 있는지의 여부를 판단함으로써, 도중에, 패킷이 파괴되지 않는지의 여부를 판단한다.
이러한 UDP 헤더(43)가 부가된 UDP 패킷에, IP 헤더(44)(도 3)가, IP 헤더 부가부(24)(도 2)에 의해 부가된다. 도 7은, IP 헤더(44)의 데이터 구성을 도시하는 도면이다. 도 7에 도시한 IP 헤더(44)의 데이터 구성은, 기본 헤더의 부분만을 나타내고, 옵션 헤더에 대해서는 도시하지 않는다.
"Ver"는, 인터넷 프로토콜(IP)의 버전을 나타내는 정보이다. "IHL"은, Internet Header Length를 나타내고, 이 헤더의 길이를 나타내는 정보이다. "TOS"는, Type Of Service를 나타내고, 데이터의 우선도의 정의나, 어떠한 타입의 전송을 행할지 등을 지정하는 정보이다.
"TL"은, Total Length를 나타내고, IP 헤더(44)와, IP 헤더(44) 이후의 데이터의 합계의 길이를 나타내는 정보이다. "ID"는, 이 IP 헤더(44)로 표시되는 IP 패킷을 식별하기 위한 정보이다. "FL"은, IP층에서 데이터를 분할(프래그먼트)하였을 때의, 그 제어에 관한 정보이다.
"FO"는, IP 층에서 데이터가 분할되었을 때의 데이터가, 어디에 있었는지를 나타내는 정보이다. "TTL"은, Time To Live를 나타내고, 이 IP 헤더(44)를 포함하는 데이터가, 언제 파기될 것인지를 나타내는 정보이다. "PROT"는, IP 층보다 위의 층에서 이용되고 있는 프로토콜을 나타내는 정보이다.
"HC"는, IP 헤더(44)가 송신 중에 파괴되지 않는지의 여부를, 수신측에서 확인하기 위한 체크 섬의 정보이다. "SA"는, 데이터의 송신원의 IP 어드레스를 나타내는 정보이다. "DA"는, 데이터의 송신처의 IP 어드레스를 나타내는 정보이다.
이러한 IP 헤더(44)가 부가된 IP 패킷에, MAC 헤더(45)(도 3)가, MAC 헤더 부가부(25)(도 2)에 의해 부가된다. 도 8은, MAC 헤더(45)의 데이터 구성을 도시하는 도면이다.
"PA"는, 프리앰블이고, 클록 리커버리를 위한 PLL을 로크시키기 위한 정보이다. "DA"는, 송신처의 MAC 어드레스를 나타내는 정보이다. "SA"는, 송신원의 MAC 어드레스를 나타내는 정보이다. "Type"는, 상위층의 프로토콜을 나타내고 정보이다.
"Length"는, 페이로드의 데이터의 바이트수를 나타내는 정보이다. 1개의 MAC 헤더(45)에는, "Type" 또는 "Length"의 어느 한 쪽의 정보가 기입된다. "FCS"는 에러 체크를 위한 정보이다.
이러한 정보를 포함하는 MAC 헤더(45)가 부가됨으로써, 도 3에 도시한 바와 같은 데이터(MAC 패킷)가 생성된다.
여기서는, 도 3에 도시한 구성의 데이터가, 송신기(1)로부터 송신되는 것으로 하여 설명하지만, RTP 헤더(42)가 부가되어 있지 않은 구성의 데이터라도, 수신기(2)측에 데이터를 송신하는 것은 가능하다. 그러나, 도 3에 도시한 바와 같이, 본 실시 형태에서는, RTP 헤더(42)가 부가된 데이터를 송신하도록 한다.
이와 같이, RTP 헤더(42)가 부가된 데이터가 송신되도록 하는 것은, 상세 내용은 후술하지만, 수신기(2)측에서, 송신기(1)로부터 송신된 데이터를, 어떠한 원인에 의해, 수신할 수 없었을 때에, RTP 헤더(42) 내의 정보(구체적으로는, 도 5에 도시한 "Sequence Number")가 이용되기 때문이다.
UDP 헤더(43)는, TCP(Transmission Control Protocol) 헤더로 치환하는 것이 가능하다(TCP 헤더로 하여도 된다). 그러나, 본 실시 형태에서는, 도 3에 도시한 바와 같이, UDP 헤더(43)를 이용한다.
이와 같이, TCP 헤더를 부가하는 것은 아니고, UDP 헤더를 부가하도록 하는 것은, 이하의 이유에서이다. TCP 헤더는, 트랜스포트층의 프로토콜로서, TCP가 이용되었을 때에 부가되는 헤더이고, UDP 헤더는 트랜스포트층의 프로토콜로서, UDP가 이용되었을 때에 부가되는 헤더이다.
트랜스포트층의 프로토콜로서, TCP를 이용할지, 또는 UDP를 이용할지를 결정하는 요인의 하나로서, 그 프로토콜을 이용하여 행해지는 통신으로서는 어떠한 데이터가 송수신될 것일지 등의 요인이 있다. TCP는, 커넥션형의 프로토콜이라고 칭하고, UDP는 커넥션리스형의 프로토콜이라고 칭하는 것이 있다.
TCP는, 커넥션형의 프로토콜이기 때문에, 데이터의 수수에 관한 처리 수순이 복잡하게 되지만, 통신에 관계되는 신뢰도는 향상한다. 따라서, 주로, 신뢰도를 우선시키는 통신에 이용된다. TCP에 대하여, UDP는, 커넥션리스형의 프로토콜이기 때문에, 데이터의 수수에 관계되는 처리 수순은 간소화되어 있지만, 통신에 관한 처리 시간은 짧아지기 때문에, 처리 속도를 우선시키는 통신에 이용된다.
본 실시 형태에서는, 전술한 바와 같이, 송신기(1)가 수신한 텔레비전 방송의 데이터를, 수신기(2)측에 송신하기 때문에, 그 송신기(1)와 수신기(2)와의 사이의 데이터의 수수에 관계되는 프로토콜은, 신뢰도보다 처리 속도를 우선시켜서, 리얼타임으로 처리할 수 있도록 하는 쪽이 좋기 때문에, UDP를 이용한다.
그러나 UDP를 이용하여 통신을 행하면, 송신기(1)가 송신한 데이터가, 어떠한 원인으로, 수신기(2)측에서 수신되어 있지 않더라도, 송신기(1)측은, 그와 같은 상황에 관계없이, 데이터를 순차적으로 계속 송신한다. 따라서, 수신기(2)측에서는, 누락한 데이터를 취득할 수 없다. 수신기(2)가, 누락한 데이터를 취득하지 않고, 누락한 채로 처리를 계속하면, 유저에게 제공되는 영상이나 음성이 중단되거나, 흐트러지기도 한다. 그와 같은 것은, 가능한 한 발생하지 않는 쪽이 바람직하다.
따라서, 본 실시 형태에서는, UDP를 이용한 통신에서도, 어떠한 원인으로, 수신측에서 데이터를 수신할 수 없었을 때, 즉 데이터의 누락이 발생하였을 때, 그 누락한 데이터를 수신측에서 취득할 수 있도록 한다. 그와 같은 기능을 갖는 수신기(2)에 대하여 설명한다.
도 9는 수신기(2)의 내부 구성예를 도시하는 도면이다. 수신기(2)의 통신부(61)는, 송신기(1)로부터의 데이터를 수신함과 함께, 송신기(1)에 대하여 소정의 데이터를 송신한다. 통신부(61)에 의해 수신된 송신기(1)로부터의, 도 3에 도시한 바와 같은 구성의 데이터는, MAC 헤더 추출부(62)에 공급된다. MAC 헤더 추출부(62)는, 공급된 데이터(MAC 패킷)로부터, MAC 헤더(45)(도 3)를 추출(제거)하고, IP 패킷을 IP 헤더 추출부(63)에 공급한다.
IP 헤더 추출부(63)는, 공급된 IP 패킷으로부터 IP 헤더(44)를 추출하고, UDP 패킷을 UDP 헤더 추출부(64)에 공급한다. UDP 헤더 추출부(63)는, 공급된 UDP 패킷으로부터 UDP 헤더(43)를 추출하고, RTP 패킷을 넘버 체크부(65)에 공급한다.
넘버 체크부(65)는, RTP 헤더(42)에 포함되는 "Sequence Number"(도 5)(이하, 적절하게, 시퀀스 넘버라고 기술함)를 참조하여, 그 시퀀스 넘버를 체크한다. 시퀀스 넘버는, 송신기(1)측에서, 처리된 순(생성된 RTP 헤더(42)순)으로, 통상적으로, 오름차순으로 할당되는 연속한 번호이다. 또 여기서는, 오름차순으로 할당된 것으로 하여 설명을 하지만, 내림차순으로 할당되도록 하여도 된다.
넘버 체크부(65)는, 체크한 시퀀스 넘버가 연속한 번호인 경우, 공급된 RTP 패킷을, 순서 구성부(66)에 공급하고, 체크한 번호가 연속이 아닌 경우, 공급된 RTP 패킷을, 순서 구성부(66)에 공급함과 함께, 재송 제어부(70)에 대하여, 누락한 데이터의 재송을 요구하도록 지시를 보낸다. 재송 제어부(70)는, 소정의 RTP 패킷을 포함하는 패킷의 재송을 요구하는 지시를 받은 경우, 통신부(61)에 대하여, 재송의 요구를 나타내는 데이터를 송신기(1)에 대하여 송신시킨다.
한편, 순서 구성부(66)는, 공급된 RTP 패킷의 시퀀스 넘버를 참조하여, 그 시퀀스 넘버와 동일한 번호를 갖는 데이터(대응하는 데이터)가 기억부(68)에 기억되어 있는지의 여부를 판단하고, 기억되어 있다고 판단한 경우, 그 공급된 RTP 패킷을 파기하여, 기억되어 있지 않다고 판단한 경우, 그 공급된 RTP 패킷을 RTP 헤더 추출부(67)에 공급한다.
RTP 헤더 추출부(67)는, 공급된 RTP 패킷으로부터, RTP 헤더(42)를 추출하여, TS 패킷(41)을, 기억부(68)에 기억시킨다. 기억부(68)에는, 이와 같이 하여, TS 패킷(41)이 기억되지만, 그 TS 패킷(41)은, RTP 헤더(42) 내의 데이터로서의 시퀀스 넘버와 관련지어져 기억된다.
기억부(68)는, 버퍼로서의 역할을 갖고, 순차적으로 기억되어 있는 TS 패킷(41)을, MPEG 디코더(69)에 출력한다. MPEG 디코더(69)는, 순차적으로, 공급된 TS 패킷(41)에 대하여, MPEG 방식에 기초한 디코드를 실시한다. MPEG 디코더(69)로부터의 출력은, 도시되어 있지 않은 디스플레이나 스피커에 공급되어, 유저에게 영상이나 음성으로서 제공된다.
계시부(71)는, 계시하는 수단을 포함하고, 소정의 타이밍에서, 기억부(68)에 기억되어 있는 TS 패킷(41)을 감시한다. 계시부(71)는, 기억부(68)에, 누락되어 있는 TS 패킷(41)(데이터)이 있다고 판단한 경우, 재송 제어부(70)에, 그 누락되어 있는 TS 패킷(41)을 재송하는 요구를 보내도록 지시를 보낸다.
여기서, 기억부(68)에 기억되어 있는 데이터에 대하여 설명한다. 도 10은, 기억부(68)에 기억되어 있는 데이터의 데이터 구성을 설명하기 위한 도면이다. 전술한 바와 같이, 기억부(68)에는, RTP 헤더(42) 내에 포함되는 시퀀스 넘버와, 그 시퀀스 넘버의 RTP 패킷에 포함되어 있는 TS 패킷이 관련지어져 기억되어 있다.
또한, 기억부(68)에 기억시키는 시퀀스 넘버는, 시퀀스 넘버 그 자체라도 되고, 시퀀스 넘버를 일의적으로 도출할 수 있는 데이터라도 된다.
예를 들면, 도 10에 도시한 바와 같이, 시퀀스 넘버 "1"에는, TS 패킷(1-1 내지 1-7)이 관련지어져 기억되어 있다. 이것은, 전술한 바와 같이, 본 실시 형태에서는, 1개의 RTP 패킷(수신기(2)측에서 수신되는 MAC 패킷)에는, 7개의 TS 패킷을 포함한다고 설정되어 있기 때문에, 예를 들면 8개의 TS 패킷을 포함한다고 설정되어 있는 경우에는, 시퀀스 넘버 "1"에는, TS 패킷(1-1 내지 1-8)의 8개의 TS 패킷이 관련지어져 기억되는 것으로 된다.
도 10에 도시한 예를 재차 참조하면, 동일하게 시퀀스 넘버 "2"에는, 동일하게 7개의 TS 패킷(2-1 내지 2-7)이 관련지어져 있다. 그러나, 시퀀스 넘버 "3"의 란에는, 본래, TS 패킷(3-1 내지 3-7)이 관련지어져 기억되지만, 도 10에 도시한 예에서는, TS 패킷이 기억되어 있지 않다. 이에 대하여, 시퀀스 넘버 "4"에는, TS 패킷(4-1 내지 4-7)이 관련지어져 기억되어 있다.
이와 같이, 기억부(68)에는, 정상적으로 수신되어 처리되면, 시퀀스 넘버와 관련지어져 TS 패킷이, 소정의 영역에 기억된다. 기억부(68)에는, 시퀀스 넘버순으로, TS 패킷이 소정의 영역에 기억되도록 되어 있다. 한편, 어떠한 원인으로, 정상적으로 수신이 행해지지 않았던 시퀀스 넘버의 영역(이 경우, 시퀀스 넘버 "3"의 영역)은, 아무것도 기억되지 않는 상태로 된다.
이와 같이, 기억부(68)에는, TS 패킷이 기억되어 있는 영역을 갖는 시퀀스 넘버와, TS 패킷이 기억되어 있지 않은 영역을 갖는 시퀀스 넘버가 혼재한다. 따라서, TS 패킷이 기억되어 있는지의 여부를 나타내는 플래그를 이용하여, TS 패킷이 기억되어 있는 영역을 갖는 시퀀스 넘버와, 그렇지 않은 시퀀스 넘버를 구별할 수 있도록 하여도 된다. 또한, 그와 같은 플래그를, 후술하는 처리에서 이용하도록 하여도 된다.
이와 같이, 기억부(68)에 기억되지 않은 TS 패킷이 존재하고 있을 때, 바꾸어 말하면, 시퀀스 넘버가 스킵하고 있는 것과 같을 때에는, 넘버 체크부(65) 또는 계시부(71)의 처리에 의해, 그 기억되어 있지 않은 TS 패킷(누락되어 있는 TS 패킷)의 재송을 요구하기 위한 데이터를 보내도록, 재송 제어부(70)에 지시가 보내진다.
또한, 부언하면, 도 9에 도시한 수신기(2)의 구성에서는, 넘버 체크부(65)가, 공급된 RTP 헤더(42) 내의 시퀀스 넘버가 스킵하고 있는지의 여부를 판단하고, 계시부(71)가, 기억부(68)를 참조하여, 기억부(68)에 기억되어 있지 않은 TS 패킷이 존재하고 있는지의 여부를 판단하고, 순서 재구성부(66)가, 기억부(68)에 기억되어 있는 TS 패킷을 참조하여, 시퀀스 넘버순으로, TS 패킷이 기억되도록, TS 패킷의 순서를 재구성한다.
이러한 지시가 보내졌을 때의 처리에 대하여, 도 11과 도 12의 플로우차트를 참조하여 설명한다. 단계 S11에서 초기값이 설정된다. 이 초기값의 설정의 처리는, 넘버 체크부(65)에서 행해진다. 초기값의 설정은, 수신기(2)의 전원이 온으로 되었을 때 등으로 행해진다. 즉, 새로운 데이터를 수신하였다고 판단하였을 때(새로운 RTP 패킷이 공급되었다고 판단되었을 때)에 행해진다.
새로운 데이터를 수신하였을 때는, RTP 헤더(42)에 포함되어 있는 시퀀스 넘버(Sequence Number)가, 새로운 번호로 되어 있다고 판단되었을 때이다. 새로운 번호로 되어 있는지의 여부의 판단은, 넘버 체크부(65)가, 자기가 관리(기억)하고 있는 시퀀스 넘버(번호)와, 공급된 RTP 패킷에 포함되는 RTP 헤더(42) 내의 시퀀스 넘버를 비교함으로써 행해진다.
이러한 비교, 및, 후술하는 처리를 행하기 위해, 넘버 체크부(65)는, 항상, 공급된 RTP 패킷 내의 RTP 헤더(42)의 시퀀스 넘버(번호)를 기억하고, 그 기억하고 있는 번호를, RTP 패킷이 공급될 때마다 갱신한다. 또한, 이 갱신은, 통상은(초기값이 설정될 때 이외일 때는), 기억하고 있는 번호보다 큰 번호인 시퀀스 넘버라고 판단되었을 때만 행해진다. 그 때문에, 항상 그 시점에서, 가장 큰 번호인 시퀀스 넘버가 기억되어 있는 것으로 된다.
그러나, 초기값의 설정일 때에는, 그와 같은 제한에 관계없이, 설정이 행해진다. 그 설정은, 넘버 체크부(65)에 관리되어 있는 번호와, 공급된 RTP 헤더(42)의 시퀀스 넘버를 비교하여, 그 값의 차가 큰(미리 설정되어 있는 값 이상의 차가 있는) 경우, 새로운 데이터의 수신이 개시되었다고 판단하여, 관리되어 있는 번호가 갱신됨으로써 행해진다.
또한, 이러한 초기값의 설정의 처리는, 통상일 때에도 행해질 가능성이 있다. 예를 들면, 어떠한 원인으로, 송신기(1)로부터의 데이터를 비교적 장시간, 수신할 수 없었을 때 등, 시퀀스 넘버의 연속성이 중단되는 것으로 된다. 그 결과, 넘버 체크부(65)에 관리되어 있는 번호와, 공급된 RTP 헤더(42)의 시퀀스 넘버와의 차가 커져서, 초기값의 설정과 마찬가지의 처리가 실행될 가능성이 있다.
이와 같이 하여, 초기값이 설정된 후에는, 통상의 처리가 실행된다. 통상의 처리는, 단계 S12 이후의 처리이다. 또한, 도 11, 도 12에 도시한 플로우차트의 처리는, 데이터가 수신될 때마다, 그 데이터에 대하여 행해지지만, 초기값의 설정이 행해진 후에는, 단계 S12 이후의 처리로부터 행해지면 되고, 단계 S11의 처리를 생략하는 것이 가능하다.
초기값의 설정이 종료되면, 단계 S12에서, 수신된 MAC 패킷 내에 포함되는 RTP 헤더(42)의 시퀀스 넘버는, 연속하고 있는지의 여부가 판단된다. 이 판단도, 넘버 체크부(65)에서 행해진다. 전술한 바와 같이, 넘버 체크부(65)는, 공급된 RTP 패킷 내의 RTP 헤더(42)에 포함되는 시퀀스 넘버가, 그 시점에서 가장 큰 번호를 관리하고 있다.
기본적으로, 시퀀스 넘버는, 송신기(1)의 RTP 헤더 부가부(22)에 의해, RTP 헤더(42)가 생성된 순서로 번호(통상적으로, 오름차순)가 할당되고, 그 생성된 순서로, 통신부(26)로부터 출력된다. 따라서, 기본적으로, 수신기(2)의 넘버 체크부(65)에서도, 순차적으로, 연속한 시퀀스 넘버의 RTP 패킷이 공급된다. 여기서, "기본적으로"라고 기술한 것은, 어떠한 원인으로, 시퀀스 넘버의 번호순으로 송신되지 않거나, 또는 수신되지 않는 경우가 있기 때문이다. 그와 같은 상황이 발생한 경우에 대해서도, 후술하는 처리에 의해 대응할 수 있게 되어 있다.
도 11의 플로우차트의 설명으로 되돌아가, 단계 S12에서, 넘버 체크부(65)는, 수신한(공급된) RTP 패킷의 RTP 헤더(42) 내의 시퀀스 넘버는, 관리하고 있는 번호에 1만큼 가산한 값인지의 여부(즉, 연속하고 있는 번호인지의 여부)를 판단한다.
단계 S12에서, 공급된 RTP 패킷의 RTP 헤더(42) 내의 시퀀스 넘버는, 연속하고 있는 번호라고 판단된 경우, 단계 S13으로 처리가 진행된다. 단계 S12에서, 이와 같이 판단되는 것은, 정상적으로 송신기(1)로부터의 데이터가 수신되고, 처리되어 있을 때이다. 따라서, 정상적으로 수신되어, 처리되어 있는 데이터(TS 패킷)가 기억부(68)에 기억되는 처리가, 단계 S13에서 실행된다.
넘버 체크부(65)는, 공급된 RTP 패킷의 RTP 헤더(42) 내의 시퀀스 넘버는, 연속하고 있는 번호라고 판단한 경우, 그 RTP 패킷을, 순서 재구성부(66)에 공급한다. 순서 재구성부(66)는, RTP 패킷이 공급되었을 때, 그 RTP 패킷의 RTP 헤더(42)를 참조하여, 시퀀스 넘버를 읽어낸다. 그 읽어낸 시퀀스 넘버에 대응하는 TS 패킷이, 기억부(68)에 기억되어 있는지의 여부를 체크한다.
이 경우, 연속하고 있는 번호라고 판단된 RTP 패킷으로, 이것을 환언하면, 새롭게 수신된 RTP 패킷이라고 판단된 것으로 된다. 따라서, 순서 재구성부(66)는, 공급된 RTP 패킷 내의 TS 패킷은, 기억부(68)에 기억되어 있지 않다고 판단한다. 이러한 판단이 되었을 때에는, RTP 패킷이, RTP 헤더 추출부(67)에 공급된다.
RTP 헤더 추출부(67)는, 공급된 RTP 패킷으로부터 RTP 헤더(42)를 추출하여, TS 패킷을, 기억부(68)에 공급하여, 기억시킨다. 이 때, 전술한 바와 같이, TS 패킷은, RTP 헤더(42)에 포함되는 시퀀스 넘버와 관련지어져 기억된다.
한편, 단계 S12에서, 넘버 체크부(65)가, 공급된 RTP 헤더(42) 내의 시퀀스 넘버는, 관리하고 있는 번호에, 연속되는 번호가 아니라고 판단한 경우, 단계 S14로 처리가 진행된다. 단계 S14에서, 넘버 체크부(65)는, 공급된 RTP 패킷에 포함되는 RTP 헤더(42) 내의 시퀀스 넘버는, 관리하고 있는 번호보다 큰 번호인지의 여부를 판단한다.
단계 S14에서, 넘버 체크부(65)가, 공급된 RTP 패킷에 포함되는 RTP 헤더(42) 내의 시퀀스 넘버는, 관리하고 있는 번호보다 큰 번호가 아니라고 판단한 경우, 바꾸어 말하면, 작은 번호라고 판단한 경우, 단계 S15로 처리가 진행된다.
전술한 바와 같이, 송신기(2)로부터 송신되어 온 데이터는, 기본적으로, 시퀀스 넘버의 번호순으로 수신되어, 처리되므로, 단계 S14에서, 넘버 체크부(65)가, 공급된 RTP 패킷에 포함되는 RTP 헤더(42) 내의 시퀀스 넘버는, 관리하고 있는 번호보다 큰 번호가 아니라고 판단하는 것은 없다. 그러나, 어떠한 원인으로, 송신되는 순서 또는, 수신되어, 처리되는 순서가 엇갈리게 되기 때문에, 이와 같이, 단계 S14에서 NO라고 판단되어, 단계 S15로 처리가 진행되는 것이 생각된다.
또한, 후술하는 단계 S17의 처리가 행해진 결과, 송신기(1)측으로부터, 그 시점에서, 송신할 시퀀스 넘버의 데이터보다도, 적은 번호인 시퀀스 넘버의 데이터가 재송되는 경우가 있다. 그와 같은 재송이 행해진 결과, 순번이 이른 시퀀스 넘버의 데이터가 수신기(2)에, 정상적으로 수신되어, 처리되면, 단계 S14에서, NO라고 판단되어, 단계 S15에서 처리가 진행되는 경우도 있다.
단계 S14에서, 넘버 체크부(65)는, 공급된 RTP 헤더(42) 내의 시퀀스 넘버는, 관리하고 있는 번호보다 큰 번호가 아니라고 판단한 경우, 공급된 RTP 패킷을, 순서 재구성부(66)에 공급한다. 순서 재구성부(66)는, 단계 S15에서, 공급된 RTP 패킷에 포함되어 있는 TS 패킷은, 이미, 기억부(68)에 기억되어 있는지의 여부를, 기억부(68)를 참조함으로써 판단한다.
도 10을 참조하여 설명한 바와 같이, 기억부(68)에는, 정상적으로 처리된 TS 패킷이, 시퀀스 넘버와 관련지어져 기억되어 있다. 따라서, 순서 재구성부(66)는, 공급된 RTP 헤더(42) 내의 시퀀스 넘버를 읽어내고, 그 읽어낸 시퀀스 넘버에 관련지어진 TS 패킷이, 기억부(68)에 기억되어 있는지의 여부를 판단한다.
이러한 처리를 마련하는 이유에 대하여, 도 13을 참조하여 설명한다. 도 13의 (A)는, 정상적으로, 송수신이 행해지고 있는 상태를 나타내고 있다. 도 13의 (A)에 도시한 바와 같이, 정상적으로 송수신이 행해지고 있는 상태에서는, 시퀀스 넘버가 연속하고 있는 패킷(데이터)이 송신기(1)로부터 송신되고, 수신기(2)에서 수신되어 처리된다. 도 13의 (A)에 도시한 상태는, 시퀀스 넘버가 "97" 내지 "102"의 패킷이, 그 순서로, 송수신되어 있는 것을 의미한다.
이와 같이 정상적으로 송수신이 행해지고 있는 상태에 대하여, 어떠한 원인으로, 정상적으로 송수신이 행해지지 않은 상태를 도 13의 (B)에 도시한다. 도 13의 (B)에서는, 시퀀스 넘버 "97" 후에, 시퀀스 넘버 "99"의 패킷이 수신되어 있다. 이러한 상태가 발생하였을 때, 즉 시퀀스 넘버가 연속하지 않고, 또한 번호가, 큰 번호에 스킵되었을 때, 재송 요구가 보내진다. 이 재송 요구에 대해서는, 단계 S17의 처리로서 후술한다.
그 후, 시퀀스 넘버 "100"의 패킷이 수신된다. 시퀀스 넘버 "100"의 패킷의 다음은, 시퀀스 넘버 "101"의 패킷이 수신될 것이지만, 시퀀스 넘버 "98"의 패킷이 수신되고 있다. 이 시퀀스 넘버 "98"의 패킷은, 전술한 재송 요구가 보내진 결과, 송신기(1)로부터 시퀀스 넘버 "98"의 패킷이 재송신되고, 수신기(2)에 수신된 패킷이거나, 또는 송신기(1)측 또는 수신기(2)측에서, 어떠한 원인에 의해, 처리의 순서가 교체되게 되었기 때문에, 시퀀스 넘버 "100"의 패킷 후에 수신된 패킷이다.
따라서, 이 시점에서는, 시퀀스 넘버 "98"의 패킷은, 수신기(2)측에서는, 처음으로 수신되어, 처리된 것으로 되기 때문에, 기억부(68)에는 기억되어 있지 않다. 즉, 단계 S15에서, 순서 재구성부(66)의 처리에 의해, 기억부(68)에는 기억되어 있지 않다고 판단되는 것으로 된다.
도 13의 (B)를 재차 참조하면, 시퀀스 넘버 "98"의 패킷이 기억부(68)에 기억된 후, 시퀀스 넘버 "101"의 패킷이 수신되어, 기억되고, 또한, 그 후 시퀀스 넘버 "98"의 패킷이 수신된다. 이 때의 시퀀스 넘버 "98"의 패킷도, 전술한 바와 같이, 재송 요구의 결과에 의해 수신된 패킷, 또는 처리의 교체가 발생한 결과에 의해 수신된 패킷이다.
따라서 시퀀스 넘버 "101"의 패킷 후에 처리되는 시퀀스 넘버 "98"의 패킷과 동일한 패킷은, 이미, 시퀀스 넘버 "100"의 패킷 후에 수신되어, 처리되고, 기억부(68)에 기억되고 있다. 따라서, 이러한 경우, 단계 S15에서, 순서 재구성부(66)에 의해, 기억부(68)에 기억되어 있다고 판단되는 것으로 된다.
이와 같이, 동일한 시퀀스 넘버의 패킷이, 수신기(2)에 수신되어, 처리될 가능성이 있기 때문에, 단계 S15의 처리가 행해진다. 단계 S15에서, 기억부(68)에 기억되어 있다고 판단된 패킷은, 전술한 예에서는, 시퀀스 넘버 "98"의 패킷은, 재차, 기억부(68)에 기억시킬 필요는 없기 때문에, 단계 S16으로 처리가 진행되어 파기된다.
한편, 기억부(68)에 기억되어 있지 않다고 판단된 패킷은, 단계 S13으로 처리가 진행되어 기억부(68)에 기억된다. 기억부(68)에 패킷이 기억될 때, 그 영역은, 미리 그 패킷이 기억되는 것으로 하여 준비되어 있던 영역(그 시점에서 기억되어 있는 시퀀스 넘버에 대응하는 영역)에 기억된다. 바꾸어 말하면, 후에 수신된 패킷도, 본래 수신될 타이밍에서 수신된 것과 같이, 순서가 교체되어, 기억부(68)에 기억된다. 이 기억의 제어는, 순서 재구성부(66)에 의해 행해진다.
다음으로, 재송 요구에 대하여 설명한다. 재송 요구의 처리는, 단계 S17(도 11)에서 행해지지만, 단계 S17로 처리가 진행되는 것은, 단계 S12에서, 넘버 체크부(65)에 의해, 공급된 RTP 패킷의 RTP 헤더(42)에 포함되는 시퀀스 넘버는, 관리하고 있는 번호에 연속하는 번호가 아니라고 판단되고, 또한 단계 S14에서, 그 시퀀스 넘버는, 관리하고 있는 번호보다 큰 번호라고 판단되었을 때이다.
도 13의 (B)를 재차 참조하면, 넘버 체크부(65)에, 시퀀스 넘버 "97"의 RTP 패킷이 공급된 후에, 시퀀스 넘버 "99"의 RTP 패킷이 공급된 경우, 이러한 판단이 행해져서, 단계 S17로 처리가 진행된다. 이러한 상황은, 공급될 시퀀스 넘버 "98"의 RTP 패킷이, 공급되지 않은(누락한) 상황을 나타내고 있다.
단계 S17에서, 재송 요구의 처리가 실행된다. 단계 S17에서 행해지는 재송 요구의 처리에 대하여, 도 12의 플로우차트를 참조하여 설명한다. 이 재송 요구의 처리는, 공급될 시퀀스 넘버의 RTP 패킷, 즉 누락되어 있다고 판단되는 RTP 패킷을 취득하기 위해, 송신기(1)에 대하여, 그 누락되어 있다고 판단되는 RTP 패킷을 재송하도록 요구를 보내는 처리이다.
넘버 체크부(65)는, 단계 S31에서, 누락되어 있다고 판단한 번호를 판단하고, 그 판단한 번호에 관한 데이터를, 단계 S32의 처리로서, 재송 제어부(70)에 통지한다. 환언하면, 넘버 체크부(65)는, 관리하고 있는 번호로부터, 공급된 RTP 패킷의 시퀀스 넘버까지의 번호를, 누락되어 있는 패킷의 번호(시퀀스 넘버)로서 결정하고, 그 결정한 번호에 관한 데이터를, 재송 제어부(70)에 통지한다.
예를 들면, 도 13의 (B)에 도시한 바와 같은 상황인 경우, 시퀀스 넘버 "98"이, 누락되어 있는 번호로서 재송 제어부(70)에 통지된다. 또한, 도시는 하지 않았지만, 예를 들면 관리하고 있는 번호가 "97"로, 공급된 RTP 패킷의 시퀀스 넘버가 "120"인 것과 같은 경우, "98" 내지 "119"가, 누락되어 있는 번호로서 재송 제어부(70)에 통지된다. 즉, 재송 제어부(70)에 통지되는 번호는, 1개로 한하지는 않는다.
재송 제어부(70)는, 넘버 체크부(65)로부터의 데이터를 입력하면, 단계 S33에서, 계시부(71)에 계시를 개시시킨다. 재송 제어부(70)는, 계시부(71)에 계시를 개시시킬 때, 누락되어 있다고 판단된 번호에 관한 데이터도 공급한다. 그리고, 재송 제어부(70)는, 단계 S34에서, 송신기(1)에 대하여 재송을 요구하는 데이터를, 통신부(61)에 의해 송신시킨다.
통신부(61)에 의해 송신되는, 재송을 요구하는 데이터에 대하여 설명한다. 이 데이터는, 트랜스포트층의 프로토콜로서, TCP가 이용된 패킷으로서 송신된다. 전술한 바와 같이, 송신기(1)로부터, 도 3에 도시한 바와 같은 데이터(MAC 패킷)가 송신될 때에는, 트랜스포트층의 프로토콜로서 UDP가 이용되었지만, 수신기(2)로부터 송신되는 재송을 요구하는 데이터로서의 패킷은, TCP가 이용된 것으로 된다.
이것은, 확실하게 재송 요구를, 송신기(1)측에 송신시키도록 하기 위함이다. 물론, UDP를 이용하여 재송 요구를 보내도록 하여도 되지만, 그 재송 요구 자체가, 확실하게 송신기(1)측에 송신되었는지의 여부를 판단할 수 없는 상황은 바람직하지 못한 상황이라고 생각된다. 따라서, 본 실시 형태에서는, 재송 요구는, UDP가 아니고, TCP가 이용되는 것으로서 설명한다.
TCP를 이용하여 송신되는 재송 요구의 데이터에는, 단계 S31, 단계 S32의 처리에서, 누락한 번호로서 판단된 번호의 데이터로서, 재송 제어부(70)에 통지된 데이터가 적어도 포함된다.
이러한 재송 요구의 데이터가 송신기(1)에 대하여 송신되면, 단계 S18(도 11)로 처리가 진행된다. 단계 S18에서, 계시부(71)는, 소정의 시간이 경과하였는지의 여부를 판단한다. 계시부(71)는, 전술한 바와 같이, 재송 제어부(70)의 지시에 의해, 송신기(1)에 대하여 송신 요구가 보내진 시점으로부터, 계시를 개시하고 있다.
그 계시하고 있는 시간이, 일정한 값으로 되었는지의 여부가, 단계 S18에서 판단된다. 단계 S18에서 일정한 시간이 경과하였다고 판단되면, 단계 S19로 처리가 진행된다. 단계 S19에서, 계시부(71)는, 재송 제어부(70)로부터 공급된 누락되어 있다고 판단된 번호에 관한 데이터를 참조하여, 그 번호(시퀀스 넘버)에 관련지어져, TS 패킷이, 기억부(68)에 기억되어 있는지의 여부를 판단한다.
단계 S19에서 행해지는 판단에 대하여 설명한다. 도 11과 도 12에 도시한 플로우차트를 참조하여 설명하고 있는 처리는, 수신기(2)에 의해 수신된 데이터(MAC 패킷)마다 행해지고 있다. 따라서, 단계 S18에서, 소정의 시간이 경과하였는지의 여부의 판단이 행해지지만, 그 소정의 시간이 경과하는 동안에도, 수신기(2)에는, 패킷이 순차적으로 수신되고, 도 11과 도 12에 도시한 플로우차트의 처리가, 그 수신된 패킷마다 행해지고 있다.
그 순차적으로 수신되어, 처리되는 패킷 내에는, 단계 S17의 처리에 의해 보내진 재송 요구에 대응하는 처리로서, 송신기(1)가 재송하여 온 패킷도 포함될 가능성이 있다. 재송이 정상적으로 행해지고, 정상적으로 수신, 처리되면, 기억부(68)에, 그 재송되어 온 TS 패킷이 기억되게 된다. 따라서, 단계 S19에서는, 그와 같이, 재송 요구에 대응하여 재송되어 온 TS 패킷이, 기억부(68)에 기억되어 있는지의 여부가 판단된다.
단계 S19에서, 계시부(71)가, 기억부(68)에는, 재송되어 온 TS 패킷은 기억되어 있지 않다고 판단한 경우, 단계 S17에 처리가 복귀되어, 재차 재송 요구가 보내진다. 이 때, 재송 요구가 보내지는 것은, 기억되어 있지 않은 TS 패킷에 대해서만이다.
즉, 예를 들면 누락되어 있다고 판단된 패킷의 시퀀스 넘버가, "100" 내지 "120"이고, 그 "100" 내지 "120"에 대한 패킷의 재송 요구가 보내진 결과, 단계 S19의 처리가 실행되는 시점에서, "100" 내지 "110"에 대응하는 TS 패킷이 기억부(68)에 기억되어 있는 것과 같은 경우에는, "111" 내지 "120"에 대응하는 TS 패킷의 재송을 요구하는 재송 요구가, 재차 보내진다.
이와 같이, 재송 요구 자체를, 반복하여 보내도록 함으로써, 보다 확실하게, 누락한 패킷(데이터)을 취득할 수 있도록 한다.
여기서, 도 11에 도시하고 있지 않지만, 단계 S19의 처리의 전 또는 후에, 단계 S19의 처리를 중단하도록 하는 판단의 처리를 넣을 필요가 있다. 단계 S19에서, 재송 요구한 TS 패킷이 기억부(68)에 기억되어 있다고 판단될 때까지, 재송 요구가 반복하여 보내지는 한편, 기억부(68)에 기억되어 있는 TS 패킷은, 순차적으로, MPEG 디코더(69)에 공급된다.
도 10을 재차 참조하면, 시퀀스 넘버 "1"에 관련지어져 있는 TS 패킷(1-1 내지 1-7)이, MPEG 디코더(69)에 공급된 후에, 시퀀스 넘버 "2"에 관련지어져 있는 TS 패킷(2-1 내지 2-7)이 MPEG 디코더(69)에 공급된다.
그 후, 시퀀스 넘버 "3"에 관련지어져 있는 TS 패킷이, MPEG 디코더(69)에 공급되지만, 공급되는 시점에, 기억되어 있지 않으면, 공급할 수 없고, 그 시퀀스 넘버 "3"에 관련지어져 있는 TS 패킷이 공급되지 않고, 다음의 시퀀스 넘버 "4"에 관련지어져 있는 TS 패킷(4-1 내지 4-7)이 공급된다.
이러한 것을 환언하면, 시퀀스 넘버 "4"에 관련지어져 있는 TS 패킷이 MPEG 디코더(69)에 공급되는 것보다도 전의 시점까지, 시퀀스 넘버 "3"에 관련지어진 TS 패킷이, 기억부(68)에 기억되지 않으면, 그 후인 시점에서, 시퀀스 넘버 "3"에 관련지어진 TS 패킷을 취득할 필요는 없고, 그를 위한 처리도 행해질 필요는 없다.
이러한 것을 고려하면, 계시부(71)에 의해 보내지는 재송 요구의 처리는, 누락되어 있다고 판단되고 있는 패킷을 취득할 때까지 반복될 필요성은 없다. 따라서, 단계 S19의 전의 처리로서, 예를 들면 소정의 횟수만큼, 재송 요구가 보내졌는지의 여부를 판단하는 처리를 마련한다. 그리고, 소정의 횟수만큼, 재송 요구가 보내졌다고 판단된 경우에는, 단계 S19의 처리를 생략하고, 도 11, 도 12에 도시한 플로우차트의 처리를 종료시킨다. 즉, 재송 요구를 보낸다고 하는 처리가 중단된다.
또는, 단계 S19 후에, 소정의 횟수만큼, 재송 요구가 보내졌는지의 여부를 판단하는 처리를 마련하여도 된다. 단계 S19 후에, 그와 같은 처리를 마련했다고 하여도, 기본적으로, 전술한, 단계 S19의 앞에 마련한 경우와 마찬가지로 하여, 재송 요구를 보낸다고 하는 처리가 중단된다.
소정의 횟수의 결정의 방법이지만, 기억부(68)의 용량에 기초하여 결정되면 된다. 예를 들면, 기억부(68)에는, 1초간분의 데이터가 기억 가능한 한 용량이 있고, 단계 S18에서의 처리에서 이용되는 소정의 시간으로서 100밀리초라고 계시부(71)에 설정되어 있는 경우, 1초간의 사이에, 10회, 단계 S18의 처리가 행해지게 된다.
따라서, 이 경우, 재송 요구를 중단하기 위한 판단이, 단계 S19의 앞에 행해지는 경우, 또는, 단계 S19 후에 행해지는 경우(단계 S19에서 NO라고 판단된 후에 행해지는 경우), 그 판단은, "10회째의 재송 요구인지?"와 같은 판단으로 된다.
즉, 10회째의 재송 요구를 보냈다고 하여도, 그 10회째의 재송 요구에 대응하는 처리로서, 데이터가 수신된 것으로 하여도, 이미 그 데이터를 필요로 하는 처리는, 그 데이터가 없는 상태대로, MPEG 디코더(69)에서 행해지고 있기 때문에, 10회째의 재송 요구를 보내는 것은 쓸데없는 처리로 되게 된다. 따라서, 이 경우, 10회째의 재송 요구가 보내지지 않고, 재송 요구가 중단되는 것과 같은 판단이 행해지도록 하면 된다.
이와 같이, 재송 요구를 중단시키기 위한 판단으로서, 재송 요구를 보낸 횟수에 의해 제한을 두는 것도 가능하지만, 시간에 의해 제한을 두도록 하여도 된다. 예를 들면, 기억부(68)의 기억 용량이, 1초간분의 데이터를 기억할 수 있는 만큼의 용량인 경우, 계시부(71)가 계시를 개시하고 나서, 1초 이상 경과한 후에 보내진 재송 요구는, 실질적으로, 쓸데없는 처리로 되는 것으로 된다.
따라서, 계시부(71)가, 계시를 개시하고 나서 소정의 시간(이 경우, 1초)만큼 경과하였는지의 여부를, 예를 들면 단계 S18의 처리와 정합하여 판단하도록 하고, 시간에 의해, 재송 요구를 중단시키기 위한 판단을 행하도록 하여도 된다.
또한, 전술한 실시 형태에서는, 계시부(71)는, 재송 제어부(70)로부터의 지시가 있다고 계시를 개시하고, 소정의 시간이 경과한 후, 재송 요구한 TS 패킷이 기억부(68)에 기억되어 있지 않으면, 재차 재송 요구를 보낸다고 하였지만, 계시부(71)는, 재송 제어부(70)로부터의 지시에 관계없이, 계시를 행하도록 하여도 된다.
계시부(71)가, 항상 계시를 행하도록 한 경우, 소정의 주기마다(예를 들면, 100밀리초마다), 기억부(68)를 참조하여, 시퀀스 넘버는 기억되어 있지만, 그 시퀀스 넘버에 관련지어져 TS 패킷은 기억되어 있지 않다고 판단되는 시퀀스 넘버를 추출하도록 한다. 그리고, 추출된 시퀀스 넘버의 데이터가 재송 제어부(70)에 공급됨과 함께, 재송 요구를 보내도록 지시가 되게 하여도 된다.
이와 같이 하여, 수신기(2)측에서, 누락되어 있는 패킷(데이터)을 판단하고, 그 누락되어 있는 패킷을 취득하기 위해, 그 누락되어 있는 패킷을 재차 송신하도록 재송 요구가, 송신기(1)측에 보내진다. 이러한 재송 요구가 보내짐으로써, 어떠한 원인으로, 수신기(2)측이 패킷을 수신(처리)할 수 없었다고 하여도, 그 누락한 패킷을 취득하는 것이 가능하게 된다.
또한, 누락한 패킷을 수신기(2)측에서 판단함으로써, 송신기(1)측에서, 누락한 패킷을 판단하는 것보다(예를 들면, ACK 신호를 수신하였는지의 여부를 판단함으로써, 누락한 패킷을 판단하는 것보다), 송신측 및 수신측의 쌍방에서, 재송에 관계되는 쓸데없는 처리가 실행되게 되는 것과 같은 것을 방지하는 것이 가능하게 된다. 환언하면, 보다 적절하게 재송의 처리를 송신측 및 수신측에서 행할 수 있도록 된다.
이러한 처리가, 수신기(2)측에서 행해지도록 하기 위해서는, 송신기(1)측은, 재송 요구가 보내졌을 때에, 그 재송이 요구된 데이터를 송신할 수 있도록 구성되어 있어야 한다. 따라서, 도 2에 도시한 바와 같이, 송신기(1)는, 재송하기 위한 데이터를 기억하기 위한 기억부(28)를 갖고 있다.
도 14의 플로우차트를 참조하여, 송신기(1)가 행하는, 재송 요구에 대응하는 처리에 대하여 설명한다. 단계 S51에서, 송신기(1)는, RTP 헤더 부가부(22)로부터 출력된 RTP 패킷을, 기억부(28)에 기억한다. 기억부(28)는, 수신기(2)의 기억부(68)가 TS 패킷을 기억하는 용량과 동일하거나, 또는 그 이상의 용량을 갖는다.
기억부(28)는, 전술한 바와 같이, RTP 패킷을 기억한다. 따라서, RTP 패킷 내의 RTP 헤더(42)의 시퀀스 넘버에 의해, 기억되어 있는 RTP 패킷을 식별하는 것이 가능하다. 또, 기억부(28)에 기억되어 있는 RTP 패킷은, 순차적으로, 적은 번호인 시퀀스 넘버를 갖는 RTP 패킷으로부터 삭제되고, 새로운 RTP 패킷을 기억할 수 있도록 구성되어 있다. 그 삭제되는 타이밍이나 데이터량은, 기억부(28)의 용량을 고려하여 결정되면 된다.
RTP 헤더 부가부(22)로부터의 RTP 패킷은, UDP 헤더(23), IP 헤더 부가부(24), 및 MAC 헤더 부가부(25)의 각 부에서, 각각의 헤더가 부가된다.
그리고, 통신부(26)에 의해, 수신기(2)측에, MAC 패킷으로서 송신된다. 이러한 송신이 행해진 후에도, 기억부(28)에는, 송신된 MAC 패킷에 포함되는 RTP 패킷이 기억되어 있다.
단계 S52에서, 재송 요구를 받았는지의 여부가 판단된다. 이 판단은, 통신부(26)에서 수신된 데이터를, 재송 제어부(27)가 참조함으로써 행해진다. 이 데이터는, 전술한 바와 같이, TCP에 기초한 통신에 의해 수신기(2)로부터 송신되어 온 데이터이다.
단계 S52에서, 수신된 데이터는, 재송을 요구하는 데이터라고 판단된 경우, 단계 S53으로 처리가 진행된다. 단계 S53에서, 수신된 데이터 내가 해석됨으로써, 재송이 요구되어 있는 시퀀스 넘버(번호)가 특정된다.
시퀀스 넘버의 특정이, 재송 제어부(27)에 의해 행해지면, 단계 S54에서, 그 특정된 시퀀스 넘버를 갖는 RTP 패킷이, 기억부(28)로부터 읽어내어진다. 기억부(28)로부터 읽어낸 RTP 패킷은, UDP 헤더 부가부(23)에 공급된다. 이러한 제어는, 재송 제어부(27)에 의해 행해진다.
UDP 헤더 부가부(23)에 공급된 RTP 패킷은, UDP 헤더 부가부(23) 이후의 각 부에서, 헤더가 부가되고, 통신부(26)에 의해 수신기(2)에 대하여 송신된다(단계 S55, S56).
이와 같이 하여, 송신기(1)는, 재송의 요구가 있었을 때에, 그 요구에 대응하기 위해, 기억부(28)로부터 RTP 패킷을 읽어내고, 재차 수신기(2)에 대하여 송신을 행한다. 이러한 처리가, 송신기(1)측에서 행해짐으로써, 수신기(2)측에서는, 누락되어 있다고 판단되는 패킷을 취득할 수 있다.
이와 같이, 본 발명에 따르면, UDP를 이용한 통신을 행함으로써, 통신에 관한 처리를 경감시키는 것이 가능하게 되고, 리얼타임인 처리가 요구되는 통신에도 대응하는 것이 가능하게 됨과 함께, 수신기(2)측에서, 누락한 패킷을 취득하기 위한 처리가 실행됨으로써, 그 통신의 신뢰성을 향상시키는 것이 가능하게 된다.
또한, 전술한 실시 형태에서는, RTP 헤더(42)에 포함되는 시퀀스 넘버가 이용되어, 누락한 패킷이 취득되기 위한 처리가 행해진다고 하여 설명하였다. 이와 같이, RTP 헤더(42)에 포함되는 시퀀스 넘버가 이용되어, 누락한 패킷이 취득되기 위한 처리가 행해지도록 함으로써, 통신의 과정에서 발생하는 패킷 누락뿐만 아니라, 송신기(1) 또는 수신기(2)의 예기치 못한 문제점에 의해 발생한 패킷 누락에 대해서도 대처할 수 있도록 된다.
만약, 송신기(1)측에서, 문제점이 발생하였기 때문에, 소정의 번호의 시퀀스 넘버를 포함하는 데이터가, 수신기(2)측에 송신되지 않았다고 한다. 또는, 수신기(2)측에서, 문제점이 발생했기 때문에, 소정의 번호의 시퀀스 넘버를 포함하는 데이터가 수신되지 않았다고 한다.
그와 같은 경우, 본 발명을 적용한 수신기(2)는, 전술한 바와 같이, 수신할 수 없던 시퀀스 넘버를 포함하는 데이터를 재송하도록 요구를 보내게 되어 있다. 그러나, RTP를 이용하지 않고, 따라서 시퀀스 넘버를 이용하지 않고서, 통신이 행해진 경우, 수신되지 않았던 데이터(재송을 요구하는 데이터)를 특정할 수 없다. 따라서, 만약, 수신기(2)측으로부터, 재송 요구를 보냈다고 하여도, 송신기(1)측에서는, 어느 데이터를 재송하면 될지 알 수 없어, 결과적으로 재송할 수 없게 된다는 것이다.
재송의 요구만이면, 무선에 관계되는 프로토콜에서의 리트라이의 처리만이라도 행하는 것은 가능하지만, 재송시키는 데이터를 특정한다고 하는 것은, 무선에 관계되는 프로토콜에서는 커버할 수 없다. 따라서, 본 실시 형태와 같이, RTP를 이용한 통신을 행함으로써, 전술한 바와 같은, 재송의 처리를 실행시키는 것이 가능하게 되고, 보다 확실하게, 누락한 데이터를 취득할 수 있도록 함으로써, 보다 통신의 신뢰성을 향상시키는 것이 가능하게 된다.
또한, "Sequence Number"와 "Time Stamp"(도 5)를 병용함으로써, 도 11의 단계 S11에서, 초기값의 설정을 행하기 위해, 수신된 데이터가, 새로운 스트리밍의 것인지의 여부의 판단, 즉 새로운 스트리밍의 식별을 용이하게 행하는 것이 가능하게 된다.
예를 들면, 시퀀스 넘버가 연속하고 있더라도, "Time Stamp"가 불연속으로 되어 있는 것과 같은 경우에는, 새로운 스트리밍이라고 식별할 수 있다. 또한, 복수의 스트리밍이 동시에 흐르는 것과 같은 환경 하에서, 송신기(1)가, 각 스트리밍에 대하여, "Time Stamp"를 어긋나게 한 상태에서, 송신함으로써, 수신기(2)는, 수신된 복수의 스트리밍으로부터, 선택적으로, 1개의 스트리밍을 선택하고, 또한 전술한 바와 같은 재송의 요구를 보내는 것이 가능하게 된다.
또한, 전술한 실시 형태에서는, 송신기(1)는, 아날로그 신호의 텔레비전 방송을 수신하여, 처리한다고 하여 설명하였지만, 디지털 신호의 텔레비전 방송을 수신하여, 처리하는 장치이어도 되고, 그와 같이 한 경우라도, 본 발명을 적용하는 것이 가능하다.
송신기(1)를, 디지털 신호의 텔레비전 방송을 수신하여, 처리하도록 한 경우, 수신하는 데이터 자체가, 이미 패킷화되어 있고, 또한 복수의 헤더가 부가되어 있는 상태이기 때문에, 인코드나 소정의 헤더를 부가하는 처리 등을 생략하여, 이들의 헤더 중의 소정의 내용을 재기입하는 등의 처리를 실시함으로써, 전술한 발명을 적용하는 것이 가능하다.
전술한 일련의 처리(예를 들면, 재송에 관계되는 처리)는, 각각의 기능을 갖는 하드웨어에 의해 실행시킬 수도 있지만, 소프트웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트웨어에 의해 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이 전용의 하드웨어에 조립되어 있는 컴퓨터, 또는 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들면 범용의 퍼스널 컴퓨터 등에, 기록 매체로부터 인스톨된다.
기록 매체에 대하여 설명하기 전에, 기록 매체를 데이터를 기입하거나, 또는 읽어내는 퍼스널 컴퓨터에 대하여 설명한다. 도 15는 범용의 퍼스널 컴퓨터의 내부 구성예를 도시하는 도면이다. 퍼스널 컴퓨터의 CPU(Central Processing Unit)(101)는, ROM(Read Only Memory)(102)에 기억되어 있는 프로그램에 따라서 각종 처리를 실행한다. RAM(Random Access Memory)(103)에는, CPU(101)이 각종의 처리를 실행하는 데에 있어서 필요한 데이터나 프로그램 등이 적절하게 기억된다. 입출력 인터페이스(105)는, 키보드나 마우스로 구성되는 입력부(106)가 접속되어, 입력부(106)에 입력된 신호를 CPU(101)에 출력한다. 또한, 입출력 인터페이스(105)에는, 디스플레이나 스피커 등으로 구성되는 출력부(107)도 접속되어 있다.
또한, 입출력 인터페이스(105)에는, 하드디스크 등으로 구성되는 기억부(108), 및 인터넷 등의 네트워크를 통하여 다른 장치와 데이터의 수수를 행하는 통신부(109)도 접속되어 있다. 드라이브(110)는, 자기 디스크(121), 광 디스크(122), 광 자기 디스크(123), 반도체 메모리(124) 등의 기록 매체로부터 데이터를 읽어내거나, 데이터를 기입하거나 할 때에 이용된다.
기록 매체는, 도 15에 도시한 바와 같이, 퍼스널 컴퓨터와는 별도로, 유저에게 프로그램을 제공하기 위해 배포되는, 프로그램이 기록되어 있는 자기 디스크(121)(플렉시블 디스크를 포함함), 광 디스크(122)(CD-ROM(Compact Disc-Read Only Memory), DVD(Digital Versatile Disc)를 포함함), 광 자기 디스크(123)(MD(Mini-Disc)(등록 상표)를 포함함), 혹은 반도체 메모리(124) 등으로 이루어지는 패키지 미디어에 의해 구성될 뿐만 아니라, 컴퓨터에 미리 조립된 상태에서 유저에게 제공되는, 프로그램이 기억되어 있는 ROM(102)이나 기억부(108)가 포함되는 하드디스크 등으로 구성된다.
또한, 본 명세서에서, 매체에 의해 제공되는 프로그램을 기술하는 단계는, 기재된 순서에 따라서, 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않더라도, 병렬적 혹은 개별적으로 실행되는 처리를 포함하는 것이다.
또한, 본 명세서에서, 시스템이란, 복수의 장치에 의해 구성되는 장치 전체를 나타내는 것이다.
본 발명에 따르면, 어떠한 원인으로, 송신 또는 수신할 수 없었던 데이터를, 수신측에서 취득할 수 있다.
또한, 본 발명에 따르면, 어떠한 원인으로, 송신 또는 수신할 수 없었던 데이터를, 특정하여, 수신측으로부터, 송신측에 대하여, 재송하도록 요구를 보낼 수 있다. 그 요구에 송신측의 장치가 대응함으로써, 수신측은, 수신할 수 없었던 데이터를 취득할 수 있다.
또한, 본 발명에 따르면, UDP를 이용한 통신에서도, 누락한 패킷을, 수신측에서 취득하는 것이 가능하게 된다.

Claims (16)

  1. 데이터를 송신하는 송신 장치와, 상기 송신 장치로부터 송신된 상기 데이터를 수신하는 수신 장치로 구성되는 송수신 시스템에 있어서,
    상기 송신 장치는,
    상기 데이터를 취득하는 취득 수단과,
    상기 취득 수단에 의해 취득된 상기 데이터에, 상기 데이터의 순서를 나타내는 순서 정보를 부가하는 부가 수단과,
    상기 부가 수단에 의해 상기 순서 정보가 부가된 상기 데이터를 기억하는 기억 수단과,
    상기 부가 수단에 의해 상기 순서 정보가 부가된 상기 데이터를 상기 수신 장치에 송신하는 송신 수단과,
    상기 송신 수단에 의해 송신된 상기 데이터의 재송이, 상기 수신 장치로부터 요구된 경우, 그 재송이 요구된 데이터를 상기 기억 수단으로부터 읽어내고, 상기 송신 수단에, 상기 읽어낸 데이터의 재송을 지시하는 재송 수단을 구비하고,
    상기 수신 장치는,
    상기 송신 수단에 의해 송신된 상기 데이터를 수신하는 수신 수단과,
    상기 수신 수단에 의해 수신된 상기 데이터에 포함되는 상기 순서 정보를 추출하고, 그 순서 정보를 이용하여, 상기 데이터의 누락이 있는지의 여부를 판단하는 판단 수단과,
    상기 판단 수단에 의해, 상기 데이터의 누락이 있다고 판단된 경우, 누락되어 있다고 판단되는 데이터를 특정하는 특정 수단과,
    상기 특정 수단에 의해 특정된 상기 누락되어 있다고 판단되는 데이터의 재송을 상기 송신 장치에 요구하는 요구 수단
    을 구비하는 것을 특징으로 하는 송수신 시스템.
  2. 데이터를 취득하는 취득 수단과,
    상기 취득 수단에 의해 취득된 상기 데이터에, 상기 데이터의 순서를 나타내는 순서 정보를 부가하는 부가 수단과,
    상기 부가 수단에 의해 상기 순서 정보가 부가된 상기 데이터를 기억하는 기억 수단과,
    상기 부가 수단에 의해 상기 순서 정보가 부가된 상기 데이터를 송신하는 송신 수단과,
    상기 송신 수단에 의해 송신된 상기 데이터의 재송이, 다른 장치로부터 요구된 경우, 그 재송이 요구된 데이터를 상기 기억 수단으로부터 읽어내고, 상기 송신 수단에, 상기 읽어낸 데이터의 재송을 지시하는 재송 수단
    을 포함하는 것을 특징으로 하는 송신 장치.
  3. 제2항에 있어서,
    상기 다른 장치로부터의 상기 데이터의 재송의 요구에는, 상기 재송이 요구된 데이터의 순서를 나타내는 순서 정보가 포함되고,
    상기 재송 수단은, 상기 데이터의 순서를 나타내는 순서 정보와 일치하는 상기 데이터의 순서를 나타내는 순서 정보가 부가된 상기 데이터를 상기 기억 수단으로부터 읽어내는 것을 특징으로 하는 송신 장치.
  4. 제2항에 있어서,
    상기 부가 수단은, 상기 순서 정보로서, RTP에 기초한 헤더를 적어도 부가하고,
    상기 기억 수단은, 상기 RTP의 헤더가 부가된 상기 데이터를 기억하는 것을 특징으로 하는 송신 장치.
  5. 제4항에 있어서,
    상기 다른 장치로부터의 상기 데이터의 재송의 요구에는, 상기 RTP에 기초한 헤더에 포함되는 Sequence Number의 정보가 포함되고,
    상기 재송 수단은, 상기 헤더에 포함되는 상기 Sequence Number의 정보와 일치하는 Sequence Number를 포함하는 헤더가 부가된 상기 데이터를 상기 기억 수단으로부터 읽어내는 것을 특징으로 하는 송신 장치.
  6. 데이터의 취득을 제어하는 취득 제어 단계와,
    상기 취득 제어 단계의 처리에서 취득이 제어된 상기 데이터에, 상기 데이터의 순서를 나타내는 순서 정보를 부가하는 부가 단계와,
    상기 부가 단계의 처리에서 상기 순서 정보가 부가된 상기 데이터의 기억을 제어하는 기억 제어 단계와,
    상기 부가 단계의 처리에서 상기 순서 정보가 부가된 상기 데이터의 송신을 제어하는 송신 제어 단계와,
    상기 송신 제어 단계의 처리에서 송신이 제어된 상기 데이터의 재송이, 다른 장치로부터 요구된 경우, 그 재송이 요구된 데이터를 상기 기억 제어 단계의 처리에서 기억이 제어된 상기 데이터 내로부터 읽어내고, 상기 송신 제어 단계의 처리에, 상기 읽어낸 데이터의 재송을 지시하는 재송 단계
    를 포함하는 것을 특징으로 하는 송신 방법.
  7. 데이터를 수신하는 수신 수단과,
    상기 수신 수단에 의해 수신된 상기 데이터에 포함되는 소정의 정보를 추출하고, 그 정보를 이용하여, 상기 데이터의 누락이 있는지의 여부를 판단하는 판단 수단과,
    상기 판단 수단에 의해, 상기 데이터의 누락이 있다고 판단된 경우, 누락되어 있다고 판단되는 데이터를 특정하는 특정 수단과,
    상기 특정 수단에 의해 특정된 상기 누락되어 있다고 판단되는 데이터의 재송을 상기 데이터를 송신하여 온 다른 장치에 요구하는 요구 수단
    을 구비하는 것을 특징으로 하는 수신 장치.
  8. 제7항에 있어서,
    상기 요구 수단에 의해 상기 요구가 있었을 때로부터 계시를 개시하는 계시 수단과,
    상기 계시 수단에 의한 계시가, 소정의 시간을 경과할 때마다, 재차 요구를 보내도록 상기 요구 수단에 지시하는 지시 수단을 더 포함하는 것을 특징으로 하는 수신 장치.
  9. 제7항에 있어서,
    상기 소정의 정보는, 데이터의 순서를 나타내는 순서 정보인 것을 특징으로 하는 수신 장치.
  10. 제9항에 있어서,
    상기 판단 수단은, 상기 수신된 데이터에 포함되는 상기 순서 정보 중, 순서가 가장 뒤인 제1 순서 정보를 기억하고, 그 기억하고 있는 제1 순서 정보와, 새롭게 수신된 데이터에 포함되는 제2 순서 정보가 연속하지 않고, 또한 상기 제1 순서 정보 쪽이 상기 제2 순서 정보보다 순서가 뒤라고 판단하였을 때, 상기 데이터가 누락되어 있다고 판단하고,
    상기 특정 수단은, 상기 제1 순서 정보로부터 상기 제2 순서 정보까지의 사이에 위치하는 제3 순서 정보를 포함하는 상기 데이터를, 누락되어 있다고 판단되는 데이터라고 특정하고,
    상기 요구 수단은, 상기 누락되어 있다고 판단되는 데이터의 재송을, 상기 제3 순서 정보를 포함하는 데이터를 상기 다른 장치에 송신함으로써 요구하는 것을 특징으로 하는 수신 장치.
  11. 제7항에 있어서,
    상기 소정의 정보는, 데이터마다 할당된 오름차순인 연속한 번호이고,
    상기 판단 수단은, 상기 수신된 데이터에 포함되는 상기 번호 중, 가장 큰 제1 번호를 기억하고, 그 기억하고 있는 제1 번호와, 새롭게 수신된 데이터에 포함되는 제2 번호가 연속하지 않고, 또한 상기 제1 번호쪽이 상기 제2 번호보다 작다고 판단하였을 때, 상기 데이터가 누락되어 있다고 판단하고,
    상기 특정 수단은, 상기 제1 번호로부터 상기 제2 번호까지의 사이에 위치하는 제3 번호를 포함하는 상기 데이터를, 누락되어 있다고 판단되는 데이터라고 특정하고,
    상기 요구 수단은, 상기 누락되어 있다고 판단되는 데이터의 재송을, 상기 제3 번호를 포함하는 데이터를 상기 다른 장치에 송신함으로써 요구하는 것을 특징으로 하는 수신 장치.
  12. 제7항에 있어서,
    상기 판단 수단은, 상기 소정의 정보로서 상기 데이터에 포함되는 RTP에 기초한 헤더를 추출하고, 그 헤더에 포함되는 Sequence Number의 정보를 이용하여, 상기 데이터의 누락이 있는지의 여부를 판단하는 것을 특징으로 하는 수신 장치.
  13. 제12항에 있어서,
    상기 판단 수단은, 상기 헤더에 포함되어 있던 상기 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의 정보를 포함하는 데이터를 상기 다른 장치에 송신함으로써 요구하는 것을 특징으로 하는 수신 장치.
  14. 제13항에 있어서,
    상기 요구 수단은, 상기 제3 Sequence Number의 정보를 포함하는 데이터를, TCP에 기초하여 송신하는 것을 특징으로 하는 수신 장치.
  15. 제13항에 있어서,
    상기 판단 수단은, 상기 제1 Sequence Number와, 상기 제2 Sequence Number가 연속하고 있는 번호가 아니고, 또한 상기 제1 Sequence Number 쪽이 상기 제2 Sequence Number보다 큰 번호라고 판단하였을 때, 그 제2 Sequence Number를 포함하는 데이터는, 재송되어 온 데이터라고 판단하는 것을 특징으로 하는 수신 장치.
  16. 데이터의 수신을 제어하는 수신 제어 단계와,
    상기 수신 제어 단계의 처리에서 수신된 상기 데이터에 포함되는 소정의 정보를 추출하고, 그 정보를 이용하여, 상기 데이터의 누락이 있는지의 여부를 판단하는 판단 단계와,
    상기 판단 단계의 처리에 의해, 상기 데이터의 누락이 있다고 판단된 경우, 누락되어 있다고 판단되는 데이터를 특정하는 특정 단계와,
    상기 특정 단계의 처리에서 특정된 상기 누락되어 있다고 판단되는 데이터의 재송을 상기 데이터를 송신하여 온 다른 장치에 요구하는 요구 단계
    를 포함하는 것을 특징으로 하는 수신 방법.
KR1020057015943A 2003-02-28 2004-02-19 송수신 시스템 및 수신 장치 KR101001514B1 (ko)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
KR20050113618A true KR20050113618A (ko) 2005-12-02
KR101001514B1 KR101001514B1 (ko) 2010-12-14

Family

ID=32923446

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057015943A KR101001514B1 (ko) 2003-02-28 2004-02-19 송수신 시스템 및 수신 장치

Country Status (6)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100945992B1 (ko) * 2006-10-10 2010-03-09 닛본 덴끼 가부시끼가이샤 통신 시스템에서의 데이터 전송 상황 판정 방법 및 통신장치
KR102334877B1 (ko) * 2020-07-14 2021-12-03 주식회사 픽스트리 실시간 전송 프로토콜 패킷 재정렬 시스템 및 방법

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
JP2008060817A (ja) * 2006-08-30 2008-03-13 Ttt Kk 通信システム、ウェブサーバ装置、クライアント装置、通信を行うための通信プログラム及びプログラムを記録した記録媒体
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 中兴通讯股份有限公司 一种移动多媒体广播系统的音频流传送方法
US7769014B2 (en) 2007-02-13 2010-08-03 Seiko Epson Corporation Transmitting and receiving system, transmitting apparatus, and receiving apparatus
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
JP2011223269A (ja) * 2010-04-08 2011-11-04 Central Res Inst Of Electric Power Ind 監視制御方法及び監視制御システム
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 日商索尼半導體解決方案公司 通信裝置及通信方法以及程式
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
US6031818A (en) * 1997-03-19 2000-02-29 Lucent Technologies Inc. Error correction system for packet switching networks
JPH10262093A (ja) * 1997-03-19 1998-09-29 Hitachi Ltd 伝送制御方法
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
EP1006689B1 (en) * 1998-11-30 2008-02-06 Matsushita Electric Industries Co., Ltd. Packet retransmission control using priority information
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 松下電器産業株式会社 データ送信装置とデータ受信装置及びデータ送受信方法
EP1246409A4 (en) * 2000-10-05 2007-04-25 Mitsubishi Electric Corp PACKET RETRANSMISSION SYSTEM, PACKET TRANSMISSION DEVICE, PACKET RECEIVING DEVICE, PACKET RETRANSMISSION METHOD, PACKET TRANSMITTING METHOD, AND PACKET RECEIVING METHOD
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100945992B1 (ko) * 2006-10-10 2010-03-09 닛본 덴끼 가부시끼가이샤 통신 시스템에서의 데이터 전송 상황 판정 방법 및 통신장치
KR102334877B1 (ko) * 2020-07-14 2021-12-03 주식회사 픽스트리 실시간 전송 프로토콜 패킷 재정렬 시스템 및 방법

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101001514B1 (ko) 송수신 시스템 및 수신 장치
EP1328096B1 (en) Multimedia data packet communication with data type identifiers
JP4414311B2 (ja) マルチメディアストリーミングサービスシステム及びその方法
JP4118617B2 (ja) ストリームメディアに対する交渉方式の/動的なエラー訂正
JP4694152B2 (ja) ネットワーク通信のための時間指向、ベストエフォート的、穴埋め型再試行方法およびシステム
US7562277B2 (en) Data transmitting/receiving system and method thereof
TWI419565B (zh) 緩衝媒體流之封包的方法、緩衝媒體流之系統、用於傳送之裝置與晶片組、伺服器、以及電腦程式產品
JP3757857B2 (ja) データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
EP1333639B1 (en) Communication terminal, server, relay apparatus, broadcast communication system, broadcast communication method, and program
US7877514B2 (en) System and method for time-constrained transmission of video in a communication system
US7315898B2 (en) Data communication system, data transmission apparatus, data reception apparatus, data communication method, and computer program
JP3816898B2 (ja) ワイヤレス・ローカル・エリア・ネットワークによるリアルタイム映像・音声データの一対多伝送方法及びシステム
US7908624B2 (en) System and method for just in time streaming of digital programs for network recording and relaying over internet protocol network
EP1346579A1 (en) Webcasting method and system for time-based synchronization of multiple, independent media streams
JP3994388B2 (ja) 送受信システム、送信装置および方法、記録媒体、並びにプログラム
JP2010519789A (ja) 逆方向リンクおよび順方向リンクのビデオデータエラーを区別するエラーフィルタ
WO2012094994A1 (zh) 流媒体丢包重传实现方法和系统
JP2004007336A (ja) 通信管理方法、通信管理プログラム、通信管理プログラムを記録した記録媒体、ならびに通信局
US20050083970A1 (en) Apparatus, system and method of transmitting data
JP4362761B2 (ja) 送信装置および方法、記録媒体、並びにプログラム
JP4433281B2 (ja) 受信装置および方法、記録媒体、並びにプログラム
JP2005136547A (ja) 通信システム、受信装置および方法、送信装置および方法、記録媒体、並びにプログラム
JP2005191735A (ja) 圧縮データ送信装置、圧縮データ送信システム、圧縮データ送信方法及びプログラム
JP2005223471A (ja) Ipネットワークを使用した通信システム
JP2007096916A (ja) 無線通信方法および無線通信装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee