KR100967377B1 - 데이터 통신 시스템, 데이터 송신 장치, 데이터 수신 장치, 데이터 통신 방법, 및 컴퓨터 프로그램을 기록한 매체 - Google Patents
데이터 통신 시스템, 데이터 송신 장치, 데이터 수신 장치, 데이터 통신 방법, 및 컴퓨터 프로그램을 기록한 매체 Download PDFInfo
- Publication number
- KR100967377B1 KR100967377B1 KR20020076260A KR20020076260A KR100967377B1 KR 100967377 B1 KR100967377 B1 KR 100967377B1 KR 20020076260 A KR20020076260 A KR 20020076260A KR 20020076260 A KR20020076260 A KR 20020076260A KR 100967377 B1 KR100967377 B1 KR 100967377B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- packet
- retransmission
- request
- packets
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6375—Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
데이터 통신 시스템에서, 자동 재송신 요구(automatic repeat request) 기능은 실시간 전송 프로토콜이나 사용자 데이터그램 프로토콜(User Datagram Protocol)과 같은 데이터 통신 프로토콜에 기초하여 패킷을 송신하기 위해 제공된다. 분실된 패킷은 여러 타이밍, 예컨대 각 프레임의 시작 패킷이 수신될 때, 각 프레임의 마지막 프레임이 수신될 때, 처리 동작의 시간 제한치에서 및 정상 간격에서 검출되며, 재송신 요구가 그에 따라 발송된다. 만약 관련 재송신 데이터가 처리 시간 및 왕복 시간을 고려하여 플레이하기 위한 시간 내에 수신되지 않을 것이라면, 데이터 수신 단말은 재송신 요구를 발송하지 않으며, 결국 불필요한 재송신 요구 패킷과 재송신 패킷을 송신하는 동작이 회피된다.
Description
도 1은 본 발명의 실시예에 따른 데이터 통신 시스템의 구성을 도시한 도면.
도 2는 실시예에 따른 데이터 통신 시스템에서 전송되는 RTP 패킷의 포맷을 도시한 도면.
도 3은 실시예에 따른 데이터 통신 시스템에서 전송되는 IP 패킷의 포맷을 도시한 도면.
도 4는 실시예에 따른 데이터 통신 시스템의 데이터 송신 단말에서 수행되는 프로세스의 절차를 도시한 흐름도.
도 5는 실시예에 따른 데이터 통신 시스템의 데이터 송신 단말과 데이터 수신 단말 사이에 수행되는 데이터 통신 프로세스의 시간 시퀀스도.
도 6은 실시예에 따른 데이터 통신 시스템에서 전송되는 NACK-RTCP 패킷의 포맷을 도시한 도면.
도 7은 실시예에 따른 데이터 통신 시스템에 의해 전송되는 NACK-RTCP 패킷에서의 옵션값의 기능을 도시한 도면.
도 8은 실시예에 따른 데이터 통신 시스템에서 전송되는 ACK-RTCP 패킷의 포맷을 도시한 도면.
도 9a 및 도 9b는 실시예에 따른 데이터 통신 시스템에서 전송되는 ECHO-RTCP 패킷 및 ECHO-REPLY-RTCP 패킷 각각의 포맷을 도시한 도면.
도 10은 실시예에 따른 데이터 통신 시스템에서 전송되는 EOS-RTCP 패킷의 포맷을 도시한 도면.
도 11은 실시예에 따른 데이터 통신 시스템의 데이터 수신 단말에서 수행되는 프로세스의 절차를 도시한 흐름도.
도 12a 및 도 12b는 ECHO-RTCP 및 ECHO-REPLY-RTCP 패킷을 사용하여 데이터 수신 단말에서 수행되는 왕복 시간(round-trip time)을 측정하기 위한 프로세스의 절차를 도시한 흐름도.
도 13은 데이터 송신 장치 및 데이터 수신 장치의 예시적인 시스템 구성을 도시한 도면.
<도면 주요 부분에 대한 부호의 설명>
102: 인코더 103: 버퍼
104: 발신기 단말 105: ARQ 처리 유닛
112: RTP-패킷 입력 포트 113: RTCP-패킷 I/O 포트
114: RTP-패킷 분석 유닛 115: RTCP-패킷 분석 유닛
116: RTCP-패킷 생성 유닛 121: 수신기 단말
본 발명은 데이터 통신 시스템, 데이터 송신 장치, 데이터 수신 장치, 데이터 통신 방법 및 컴퓨터 프로그램에 관한 것이다. 좀더 상세하게는, 본 발명은, 스트리밍 데이터(streaming data)를 포함하는 패킷의 전송 시에 에러 회복력(error resilience)을 개선하는 역할을 하는 데이터 통신 시스템, 데이터 송신 장치, 데이터 수신 장치, 데이터 통신 방법, 및 컴퓨터 프로그램에 관한 것이다.
인터넷과 같은 다양한 통신 매체를 통해, 이미지 및 오디오 데이터를 포함하는 데이터를 송신하는 것은 일반적으로 보급되었으며, 널리 수행되고 있다. 특히, 인터넷을 통한 최근의 데이터 송신은 다운로드 송신 서비스 외에 점점 더 많은 스트리밍 송신 서비스를 제공하고 있다. 비디오 파일 또는 오디오 파일과 같은 멀티미디어 데이터를 송신할 때, 다운로드 송신은 배급 서버(distributing server)로부터 수신측 단말에 있는 저장 매체로 데이터 파일을 다운로드하는 단계와, 후속적으로 이 저장 매체로부터 데이터를 판독하는 단계를 수반한다. 다운로드 송신은 파일이 완전히 송신되어질 때까지 이 파일이 플레이될 수 없게 하며, 이점으로 인해 다운로드 송신은 장시간 플레이백 또는 실시간 플레이백에 부적절하다.
이와는 대조적으로, 후자, 즉 스트리밍 송신은 데이터가 발신기(sender)로부터 수신기로 송신되고 있는 동안에 수신된 데이터를 판독하는 단계를 수반한다. 스트리밍 송신은 인터넷 전화, 원격화상회의(remote videoconferencing) 및 주문형 비디오(video-on-demand)를 포함하는 인터넷 서비스에서 널리 사용된다.
스트리밍 송신은, 예컨대 이미지 데이터를 MPEG 압축하여 생성된 MPEG(Moving Picture Experts Group) 스트림을 IP(Internet Protocol) 패킷으로 저장하는 단계와, 이 패킷을 인터넷을 통해 송신하는 단계 및 개인용 컴퓨터(PC), 개인용 디지털 어시스턴트(PDA) 및 셀룰러 폰을 포함하는 통신 단말에 의해 이 패킷을 수신하는 단계를 수반하는 시스템에서 사용되어 왔고, 개발되어 왔다. 스트리밍 송신은 주문형 비디오, 라이브 비디오 이미지의 스트리밍 분배 및, 화상회의 및 화상 전화를 포함하는 실시간 통신을 수행하는데 유리하다.
이러한 스트리밍 송신에 적절한 인터넷 기술로는 실시간 전송 프로토콜(RTP: Realtime Transport Protocol)이 있으며, 이러한 RTP는 IETF(Internet Engineering Task Force: 인터넷 기술과제 해결단)의 RFC(Request For Comments: 설명 요구) 1889에 정의되어 있다. RTP-부합 데이터 송신은 패킷에 대한 시간 정보 역할을 하는 타임스탬프(timestamp)를 추가한다. 이러한 타임스탬프를 참조하여, 발신기 측과 수신기 측 사이의 시간 관계가 결정된다. 수신기 측은 패킷 송신시의 지연 동요(fluctuations){지터(jitter)}에 영향을 받지 않고 데이터를 동기적으로(in synchronization) 판독한다.
RTP는 실시간 데이터 송신을 보장하지는 않는다. RTP가 제공하는 전송 서비스가 패킷 송신의 우선순위, 세팅 및 관리에 대한 제어를 갖지 않으므로, RTP 패킷은 다른 패킷에서처럼 지연된 시간에 전달되거나 네트워크에서 분실될 수 있다. 이러한 에러의 경우, 수신기 측은 예상 시간 내에 도착한 패킷만을 사용할 수 있으며 이들 데이터를 판독할 수 있다. 비록 비디오 데이터 또는 오디오 데이터가 결합 이 있더라도, 이들 데이터는 저하된 품질로 또는 데이터 결함을 보수하여 판독될 수 있다.
판독되는 시간에 존재하지 않는(not on time for being read) 및 지연된 시간으로 송신된 패킷 또는 에러가 있는 패킷은 수신기 측에 의해 버려진다. 다시 말해, 패킷 손실 또는 에러의 경우, 심지어 발신기 측이 고품질 데이터 송신을 수행할 때, 수신기 측은 그 품질을 유지하면서 데이터를 판독할 수 없을 수 도 있다. 특히, 10-5(유선 부분) 또는 10-3(무선 부분)보다 더 크거나 이와 같은 에러가 있을 때, RTP-부합 데이터 송신은 분배된 매체의 품질을 유지하는 문제를 갖는다.
RTP-부합 데이터 송신에서 이러한 문제를 해결하기 위한 하나의 방식은 패킷 재송신 요구 및 재송신 패킷을 TCP(Transmission Control Protocol)에 따라 송신하는 단계를 수반하며, 이것은 데이터 송신 시에 높은 신뢰도를 갖는다. 비록 TCP가 높은 에러 회복력을 갖지만, TCP는 낮은 처리량 및 큰 지연을 갖는다. 패킷이 재송신될 때, 패킷은 판독되는 시간에 존재하지 않을 수 있다. 이로 인해 실시간 통신을 구현하는 것이 어렵게 된다.
패킷의 에러를 보정하기 위한 하나의 가능한 에러 보정 기법으로, 예컨대 순방향 에러 보정법(FEC: Forward Error Correction)이 있다. FEC는 에러 보정을 수행하기 위해 중복 데이터 역할을 하는 FEC 데이터를 송신한다. 에러가 있는 경우, 수신기 측은 FEC 데이터에 기초하여 에러를 보정한다. FEC는 자동 재전송 요구(ARQ: Automatic Repeat reQuest)에 비해 재전송에 의해 야기되는 어떠한 지연 도 없으므로 감소된 지연 시간을 갖는다는 장점이 있다. 그러나, FEC는 중복 데이터를 추가하며, 따라서 FEC는 더 낮은 처리량을 갖는다. 더나아가, 네트워크 상태에 따라 추가될 최적 FEC 데이터를 결정하는 것이 어려워, FEC는 처리시간 오버헤드(overhead)라는 문제에 항상 영향을 받기 쉽다.
본 발명은 전술한 문제로 인해 발명되었으며, 본 발명의 목적은, 주문형 비디오 또는 화상회의를 위한 데이터와 같은 데이터가 실시간으로 플레이되도록 효과적으로 전송되게 하며, 비록 에러 또는 패킷 손실이 발생하더라도 품질의 저하 없이 데이터가 플레이되게 하는 데이터 통신 시스템, 데이터 송신 장치, 데이터 수신 장치, 데이터 통신 방법 및 컴퓨터 프로그램을 제공하는 것이다.
본 발명은, 그 제 1 양상으로, 데이터 송신 장치와 데이터 수신 장치를 포함하는, 스트리밍 데이터를 전송하기 위한 데이터 통신 시스템을 제공하며, 여기서 상기 데이터 송신 장치는 송신 데이터를 포함하는 복수의 데이터 패킷을 송신하기 위한 패킷 송신 처리 유닛과; 상기 데이터 수신 장치로부터 수신된 재송신-요구 메시지 패킷에 따라 재송신될 하나 이상의 데이터 패킷을 추출하기 위한 재송신 제어 유닛을 포함하며; 상기 데이터 수신 장치는 상기 데이터 송신 장치로부터 송신된 복수의 데이터 패킷을 수신하기 위한 패킷 수신 처리 유닛과; 상기 데이터 송신 장치로부터 송신된 복수의 데이터 패킷에서 분실 패킷 또는 에러의 검출에 기초하여, 데이터-패킷 재송신 요구 역할을 하는 재송신-요구 메시지 패킷을 상기 데이터 송신 장치에 송신할지의 여부를 결정하기 위한 재송신-요구 처리 제어 유닛을 포함하 며; 여기서 상기 재송신-요구 처리 제어 유닛은, 재송신 요구와 관련된 하나 이상의 재송신 데이터 패킷이 하나 이상의 재송신 데이터 패킷에 포함된 데이터를 플레이하는데 관련되는 처리를 하기 위해 시간 내에(in time) 수신될 수 있는지의 여부를 결정하며, 하나 이상의 재송신 데이터 패킷이 시간 내에 수신될 수 있는 상황인 경우에 재송신 요구를 송신할 것을 결정한다.
복수의 데이터 패킷에 포함된 데이터가 인코딩된 데이터이고, 재송신 요구와 관련된 하나 이상의 재송신 데이터 패킷이 하나 이상의 재송신 데이터 패킷에 포함된 데이터를 플레이하는데 관련된, 디코딩을 포함한 처리를 위해 시간 내에 수신될 수 있는지의 여부를 데이터 수신 장치의 재송신-요구 처리 제어 유닛이 결정되도록 데이터 통신 시스템은 구성될 수 있다.
재송신 요구가, 재전송될 하나 이상의 데이터 패킷에 대한 식별 데이터 역할을 하는 하나 이상의 시퀀스 넘버를 포함하며 또한 이러한 하나 이상의 시퀀스 넘버와 관련된 하나 이상의 데이터 패킷의 중복 재송신의 지정된 카운트 데이터를 포함하는 메시지 패킷이며, 데이터 송신 장치가 재송신-요구 메시지 패킷에 지정된 중복 재송신의 지정된 카운트 데이터에 따라 하나 이상의 시퀀스 넘버에 관련된 하나 이상의 데이터 패킷의 중복 재송신을 수행하도록 데이터 통신 시스템은 구성될 수 있다.
데이터 송신 장치와 데이터 수신 장치 사이에 전송되는 복수의 데이터 패킷이 동화상 데이터를 포함하며, 데이터 수신 장치의 재송신-요구 처리 제어 유닛이, 동화상 데이터의 단일 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 마지막 데이터 패킷을 수신하자마자, 마지막 데이터 패킷이 속해 있는 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서 에러나 분실 데이터 패킷을 검출하도록 데이터 통신 시스템은 또한 구성될 수 있다.
데이터 송신 장치와 데이터 수신 장치 사이에 전송된 복수의 데이터 패킷이 동화상 데이터를 포함하며, 데이터 수신 장치의 재송신-요구 처리 제어 유닛이, 동화상 데이터의 단일 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 시작 데이터 패킷을 수신하자마자, 이러한 시작 데이터 패킷이 속해 있는 화상 프레임 이전에 있는 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하도록 데이터 통신 시스템은 또한 구성될 수 있다.
데이터 수신 장치의 재송신-요구 처리 제어 유닛이, 데이터의 플레이에 관련된 처리를 하기 위해 시간 내에 수신될 데이터 패킷에 포함된 데이터에 대한 재송신 요구의 시간 제한치에 기초하여 수신된 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하도록 데이터 통신 시스템은 또한 구성될 수 있다.
데이터 수신 장치의 재송신-요구 처리 제어 유닛이 정상 시간 간격에 기초하여 수신된 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하도록 데이터 통신 시스템은 또한 구성될 수 있다.
데이터 수신 장치의 재송신-요구 처리 제어 유닛이, 데이터 송신 장치와 데이터 수신 장치 사이의 왕복 시간을 측정하기 위해 에코(echo) 패킷을 데이터 송신 장치로 송신하는 동작과 에코 패킷에 응답하여 에크-응답 패킷을 수신하는 동작을 제어하며, 재송신 요구와 관련된 하나 이상의 재송신 데이터 패킷이 하나 이상의 재송신 데이터 패킷에 포함된 데이터를 플레이하는 것에 관련된 처리를 위해 시간 내에 수신될 수 있는지의 여부를 에코 패킷 및 에코-응답 패킷에 기초하여 계산된 왕복 시간에 기초하여 결정하도록 또한 데이터 통신 시스템은 구성될 수 있다.
데이터 수신 장치에 의해 생성된 재송신-요구 메시지 패킷이 하나 이상의 데이터 패킷을 지정하는 시퀀스-넘버 지정 데이터와 하나 이상의 패킷을 위한 타임스탬프를 지정하는 타임스탬프 지정 데이터 중 적어도 하나를 포함하고 또한 재송신 요구의 범위를 지정하는 옵션값을 포함하며, 데이터 송신 장치의 재송신 제어 유닛이 데이터 수신 장치로부터 수신된 재송신-요구 메시지 패킷에 포함된, 시퀀스-넘버 지정 데이터 및 타임스탬프 지정 데이터 중 적어도 하나와 옵션값에 기초하여 재송신될 하나 이상의 패킷을 추출하도록, 또한 데이터 통신 시스템은 구성될 수 있다.
복수의 데이터 패킷 각각이 데이터 전송 프로토콜 역할을 하는 실시간 전송 프로토콜에 따른 포맷을 가지며, 재송신 요구가 제어 프로토콜 역할을 하는 실시간 전송 제어 프로토콜에 따른 포맷을 갖도록, 또한 데이터 통신 시스템은 구성될 수 있다.
데이터 수신 장치가 하나의 재송신-요구 메시지 패킷을 사용하여 복수의 데이터 패킷에 대한 재송신 요구를 데이터 송신 장치에 송신하도록 또한 데이터 통신 시스템은 구성될 수 있다.
데이터 수신 장치가 하나의 수신-승인 메시지 패킷을 사용하여 복수의 데이 터 패킷의 수신에 대한 승인을 데이터 송신 장치에 송신하도록, 또한 데이터 통신 시스템은 구성될 수 있다.
본 발명은, 그 제 2 양상으로, 송신 데이터를 포함하는 복수의 데이터 패킷을 송신하기 위한 패킷 송신 처리 유닛과; 데이터 수신 장치로부터 수신된 재송신 요구에 따라 재송신될 하나 이상의 데이터 패킷을 추출하기 위한 재송신 제어 유닛을 포함하는, 스트리밍 데이터를 송신하기 위한 데이터 송신 장치를 제공하며; 여기서 데이터 송신 장치는, 데이터 수신 장치로부터 수신된 재송신-요구 메시지 패킷에 지정된 중복 재송신의 지정된 카운트 데이터에 따라 하나 이상의 지정된 데이터 패킷의 중복 재송신을 수행한다.
본 발명은, 그 제 3 양상으로, 송신 데이터를 포함하는 복수의 데이터패킷을 송신하기 위한 패킷 송신 처리 유닛과; 데이터 수신 장치로부터 수신된 재송신 요구에 따라 재송신될 하나 이상의 데이터 패킷을 추출하기 위한 재송신 제어 유닛을 포함하는, 스트리밍 데이터를 송신하기 위한 데이터 송신 장치를 제공하며; 여기서 재송신 제어 유닛은, 데이터 수신 장치로부터 수신된 재송신-요구 메시지 패킷에 포함된, 하나 이상의 데이터패킷을 지정하는 시퀀스-넘버 지정 데이터와 하나 이상의 패킷을 위한 타임스탬프 지정 데이터 중 적어도 하나와 옵션값에 기초하여 재송신될 하나 이상의 패킷을 추출한다.
본 발명은, 그 제 4 양상으로, 데이터 송신 장치로부터 송신된 복수의 데이터 패킷을 수신하기 위한 패킷 수신 처리 유닛과; 데이터 송신 장치로부터 송신된 복수의 데이터 패킷에서의 에러 또는 분실 패킷의 검출에 기초하여 데이터-패킷 재 송신 요구 역할을 하는 재송신-요구 메시지 패킷을 데이터 송신 장치로 송신할 것인지의 여부를 결정하기 위한 재송신-요구 처리 제어 유닛을 포함하는, 스트리밍 데이터를 수신하기 위한 데이터 수신 장치를 제공하며; 여기서, 재송신-요구 처리 제어 유닛은, 재송신 요구와 관련된 하나 이상의 재송신 데이터 패킷이 하나 이상의 재송신 데이터 패킷에 포함된 데이터를 플레이하는데 관련된 처리를 위해 시간 내에 수신될 수 있는지를 결정하며, 하나 이상의 재송신 데이터 패킷이 시간 내에 수신될 수 있는 상황에서 재송신 요구를 송신할 것을 결정한다.
복수의 데이터 패킷에 포함된 데이터가 인코딩된 데이터이고, 재송신 요구와 관련된 하나 이상의 재송신 데이터 패킷이 하나 이상의 재송신 데이터 패킷에 포함된 데이터를 플레이하는데 관련된, 디코딩을 포함하는 처리를 위해 시간 내에 수신될 수 있는지의 여부를 재송신-요구 처리 제어 유닛이 결정하도록 데이터 수신 장치는 구성될 수 있다.
재송신될 하나 이상의 데이터 패킷에 대한 식별 데이터 역할을 하는 하나 이상의 시퀀스 넘버를 포함하고, 또한 하나 이상의 시퀀스 넘버와 관련된 하나 이상의 데이터 패킷의 중복 재송신의 지정된 카운트 데이터를 포함하는 메시지 패킷이 생성되어 데이터 송신 장치에 송신되도록 또한 데이터 수신 장치는 구성될 수 있다.
데이터 수신 장치가 수신한 복수의 데이터 패킷이 동화상 데이터를 포함하고, 재송신-요구 처리 제어 유닛이, 동화상 데이터의 하나의 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 마지막 데이터 패킷을 수신하자마자, 마지막 데이터 패킷이 속해 있는 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하도록 또한 데이터 수신 장치는 구성될 수 있다.
데이터 수신 장치가 수신한 복수의 데이터 패킷이 동화상 데이터를 포함하고, 재송신-요구 처리 제어 유닛이, 동화상 데이터의 하나의 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 시작 데이터 패킷을 수신하자마자, 이러한 시작 데이터 패킷이 속해 있는 화상 프레임 이전의 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하도록 또한 데이터 수신 장치는 구성될 수 있다.
재송신-요구 처리 제어 유닛이, 데이터를 플레이하는데 관련된 처리를 위해 시간 내에 수신될 데이터 패킷에 포함된 데이터에 대한 재송신 요구의 시간 제한치에 기초하여, 수신된 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하도록 또한 데이터 수신 장치는 구성될 수 있다.
재송신-요구 처리 제어 유닛이 정상 시간 간격에 기초하여 수신된 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하도록 또한 데이터 수신 장치는 구성될 수 있다.
재송신-요구 처리 제어 유닛이, 데이터 송신 장치와 데이터 수신 장치 사이의 왕복 시간을 측정하기 위해 에코 패킷을 데이터 송신 장치에 송신하는 동작과 이 에코 패킷에 응답하여 에코-응답 패킷을 수신하는 동작을 제어하며, 에코 패킷 및 에코-응답 패킷에 기초하여 계산된 왕복 시간에 기초하여, 재송신 요구와 관련 된 하나 이상의 재송신 데이터 패킷이 하나 이상의 재송신 데이터 패킷에 포함된 데이터를 플레이시키는데 관련된 처리를 위해 시간 내에 수신될 수 있는지의 여부를 결정하도록, 또한 데이터 수신 장치는 구성될 수 있다.
하나 이상의 데이터 패킷을 지정하는 시퀀스-넘버 지정 데이터와 하나 이상의 패킷을 위한 타임스탬프를 지정하는 타임스탬프 지정 데이터 중 적어도 하나를 포함하며, 또한 재송신 요구의 범위를 지정하는 옵션값을 또한 포함하는 재송신-요구 메시지 패킷이 생성되어 데이터 송신 장치로 송신되도록, 또한 데이터 수신 장치는 구성될 수 있다.
복수의 데이터 패킷 각각이 데이터 전송 프로토콜 역할을 하는 실시간 전송 프로토콜에 따른 포맷을 가지며, 재송신 요구가 제어 프로토콜 역할을 하는 실시간 전송 제어 프로토콜에 따른 포맷을 갖도록 데이터 수신 장치는 또한 구성될 수 있다.
복수의 데이터 패킷에 대한 재송신 요구가 하나의 재송신-요구 메시지 패킷을 사용하여 데이터 송신 장치에 송신되도록 또한 데이터 수신 장치는 구성될 수 있다.
복수의 데이터 패킷의 수신에 대한 승인이 하나의 수신-승인 메시지 패킷을 사용하여 데이터 송신 장치에 송신되도록 또한 데이터 수신 장치는 구성될 수 있다.
본 발명은, 그 제 5 양상으로, 데이터 송신 장치와 데이터 수신 장치 사이에 스트리밍 데이터를 전송하기 위한 데이터 통신 방법을 제공하며, 여기서, 데이터 송신 장치는 송신 데이터를 포함하는 복수의 데이터 패킷을 송신하는 패킷 송신 처리 단계와; 데이터 수신 장치로부터 수신된 재송신-요구 메시지 패킷에 따라 재송신될 하나 이상의 데이터 패킷을 추출하는 재송신 제어 단계를 수행하며; 데이터 수신 장치는 데이터 송신 장치로부터 송신된 복수의 데이터 패킷을 수신하는 패킷 수신 처리 단계와; 데이터 송신 장치로부터 송신된 복수의 데이터 패킷에서의 에러 또는 분실 패킷의 검출에 기초하여, 데이터-패킷 재송신 요구 역할을 하는 재송신-요구 메시지 패킷을 데이터 송신 장치에 송신할 것인지의 여부를 결정하는 재송신-요구 처리 제어 단계를 수행하며; 상기 재송신-요구 처리 제어 단계에서, 재송신 요구와 관련된 하나 이상의 재송신 데이터 패킷이 하나 이상의 재송신 데이터 패킷에 포함된 데이터를 플레이하는 것에 관련된 처리를 위해 시간 내에 수신될 것인지의 여부가 결정되며, 하나 이상의 재송신 데이터 패킷이 시간 내에 수신될 수 있는 상황에서 재송신 요구가 송신됨이 결정된다.
복수의 데이터 패킷에 포함된 데이터가 인코딩된 데이터이고, 데이터 수신 장치에서 수행된 재송신-요구 처리 제어 단계가, 재송신 요구와 관련된 하나 이상의 재송신 데이터 패킷이 하나 이상의 재송신 데이터 패킷에 포함된 데이터를 플레이하는 것에 관련되는, 디코딩을 포함하는 처리를 위해 시간 내에 수신될 수 있는지를 결정하는 단계를 포함하도록 데이터 통신 방법은 구성된다.
재송신 요구가, 재송신될 하나 이상의 데이터 패킷에 대한 식별 데이터 역할을 하는 하나 이상의 시퀀스 넘버를 포함하고 또한 하나 이상의 시퀀스 넘버와 관련된 하나 이상의 데이터 패킷의 중복 재송신의 지정된 카운트 데이터를 포함하는 메시지 패킷이며, 재송신-요구 메시지 패킷에 지정된 중복 재송신의 지정된 카운트 데이터에 따른 하나 이상의 시퀀스 넘버와 관련된 하나 이상의 데이터 패킷에 대한 중복 재송신을 데이터 송신 장치가 수행하도록 또한 데이터 통신 방법은 구성될 수 있다.
데이터 송신 장치와 데이터 수신 장치 사이에 전송되는 복수의 데이터패킷이 동화상 데이터를 포함하고, 데이터 수신 장치에서 수행된 재송신-요구 처리 제어 단계는, 동화상 데이터의 하나의 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 마지막 데이터 패킷을 수신하자마자, 이 마지막 데이터패킷이 속해 있는 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 에러 또는 분실된 데이터 패킷을 검출하는 단계를 포함하도록 또한 데이터 통신 방법은 구성될 수 있다.
데이터 송신 장치와 데이터 수신 장치 사이에 전송된 복수의 데이터 패킷이 동화상 데이터를 포함하고, 데이터 수신 장치에서 수행된 재송신-요구 처리 제어 단계가, 동화상 데이터의 하나의 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 시작 데이터 패킷을 수신하자마자, 이 시작 데이터 패킷이 속해 있는 화상 프레임 이전의 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하는 단계를 포함하도록 또한 데이터 통신 방법은 구성될 수 있다.
데이터 수신 장치에서 수행된 재송신-요구 처리 제어 단계가, 데이터의 플레이에 관련된 처리를 위해 시간 내에서 수신될 데이터 패킷에 포함된 데이터에 대한 재송신 요구의 시간 제한치에 기초하여, 수신된 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하는 단계를 포함하도록 또한 데이터 통신 방법은 구성될 수 있다.
데이터 수신 장치에서 수행된 재송신-요구 처리 제어 단계가 정상 시간 간격에 기초하여 수신된 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하는 단계를 포함하도록 또한 데이터 통신 방법은 구성될 수 있다.
데이터 수신 장치가, 데이터 송신 장치와 데이터 수신 장치 사이의 왕복 시간을 측정하기 위해 에코 패킷을 데이터 송신 장치에 송신하는 동작과 이 에코 패킷에 응답하여 에코-응답 패킷을 수신하는 동작을 제어하는 단계를 더 수행하며, 재송신-요구 처리 제어 단계가, 에코 패킷과 에코-응답 패킷에 기초하여 계산된 왕복 시간에 기초하여 재송신 요구와 관련된 하나 이상의 재송신 데이터 패킷이 하나 이상의 재송신 데이터에 포함된 데이터의 플레이에 관련된 처리를 위해 시간 내에 수신될 수 있는지의 여부를 결정하는 단계를 포함하도록 또한 데이터 통신 방법은 구성될 수 있다.
데이터 수신 장치에 의해 생성된 재송신-요구 메시지 패킷이 하나 이상의 데이터 패킷을 지정하는 시퀀스-넘버 지정 데이터와 하나 이상의 패킷을 위한 타임스탬프를 지정하는 타임스탬프 지정 데이터 중 적어도 하나를 포함하고 재송신 요구의 범위를 지정하는 옵션값을 또한 포함하며, 데이터 송신 장치에서 수행된 재송신 제어 단계가 데이터 수신 장치로부터 수신된 재송신-요구 메시지 패킷에 포함된 시퀀스-넘버 지정 데이터와 타임스탬프 지정 데이터 중 적어도 하나와 옵션값에 기초 하여 재송신될 하나 이상의 패킷을 추출하도록 또한 데이터 통신 방법은 구성될 수 있다.
복수의 데이터 패킷 각각이 데이터 전송 프로토콜 역할을 하는 실시간 전송 프로토콜에 따른 포맷을 가지며, 재송신 요구가 제어 프로토콜 역할을 하는 실시간 전송 제어 프로토콜에 따른 포맷을 갖도록 또한 데이터 통신 방법이 구성될 수 있다.
데이터 수신 장치가 하나의 재송신-요구 메시지 패킷을 사용하여 복수의 데이터 패킷에 대한 재송신 요구를 데이터 송신 장치에 송신하는 단계를 더 수행하도록 또한 데이터 통신 방법은 구성될 수 있다.
데이터 수신 장치가 하나의 수신-승인 메시지 패킷을 사용하여 복수의 데이터 패킷에 대한 수신 승인을 데이터 송신 장치에 송신하는 단계를 더 수행하도록 또한 데이터 통신 방법은 구성될 수 있다.
본 발명은, 그 제 6 양상으로, 데이터 송신 장치로부터 송신된 복수의 데이터 패킷을 수신하는 패킷 수신 처리 단계와; 데이터 송신 장치로부터 송신된 복수의 데이터 패킷에서의 에러 또는 분실 패킷의 검출에 기초하여 데이터-패킷 재송신 요구 역할을 하는 재송신-요구 메시지 패킷을 데이터 송신 장치에 송신하는지의 여부를 결정하는 재송신-요구 처리 제어 단계를 포함하는, 스트리밍 데이터를 수신하기 위한 컴퓨터 프로그램을 제공하며; 여기서 재송신-요구 처리 제어 단계는, 재송신 요구와 관련된 하나 이상의 재송신 데이터 패킷이 하나 이상의 재송신 데이터 패킷에 포함된 데이터를 플레이하는 것에 관련된 처리를 위해 시간 내에 수신될 수 있는지의 여부를 결정하고, 하나 이상의 재송신 데이터 패킷이 시간 내에 수신될 수 있는 상황에서 재송신 요구가 송신됨을 결정하는 단계를 포함한다.
본 발명에 따른 컴퓨터 프로그램은, 예컨대 CD, FD 또는 MO와 같은 기록 매체와 같은 컴퓨터-판독 가능 저장 매체나 네트워크와 같이 통신 매체를 통해서 여러 프로그램을 수행할 수 있는 범용 컴퓨터 시스템을 위해 예컨대 제공될 수 있다. 컴퓨터-판독 가능 형태인 이 프로그램을 예컨대 CD, FD 또는 MO와 같은 기록 매체에 저장하거나 네트워크와 같은 통신 매체를 통해 수신하여 제공함으로써, 컴퓨터 시스템은 이 프로그램에 따라 프로세스를 수행할 수 있게 된다.
본 발명의 다른 목적, 특성 및 장점은 본 발명의 실시예에 대한 상세한 설명 및 첨부 도면을 통해 분명하게될 것이다. 본 명세서에서 지칭된 시스템은 반드시 동일한 케이스에 배치될 필요는 없는 복수의 장치의 논리적인 조합이다.
시스템 및 데이터 송신/수신의 개요
먼저, 본 발명에 따른 시스템 및 데이터 송신/수신의 개요가 도 1을 참조하여 설명될 것이다.
도 1에 도시된 데이터 통신 시스템에서, 발신기 단말(104)은 비디오 데이터, 오디오 데이터 등을 패킷으로 수신기 단말(121)에 송신한다. 전송될 데이터는 예컨대 비디오 카메라(101)에 의해 포착된 비디오 및 오디오 데이터를 포함한다. 대안적으로, 전송될 데이터는 예컨대 CD 또는 DVD와 같은 저장 매체로부터 입력된 데이터나 예컨대 외부 네트워크로부터 또는 위성을 통해 수신된 데이터를 포함할 수 있다. 다음에는, 비디오 카메라(101)가 포착한 동화상 데이터가 발신기 단말(104)로부터 수신기 단말(121)로 전송되는 예의 환경이 주로 설명될 것이다.
비디오 카메라(101)에 의해 포착된 동화상 데이터는 발신기 단말(104)의 인코더(102)에 의해 예컨대 MPEG-압축되는 것과 같이 인코딩되며, 인코딩된 데이터는 버퍼(103)에 누적된다. 버퍼(103)에 누적된, 인코딩된 데이터는 실시간 전송 프로토콜(RTP)에 기초하여 데이터 패킷(이후로는 간단히 패킷으로 지칭됨)을 생성하기 위해 RTP-패킷 생성 유닛(106)에 출력되며, 여기서 인코딩된 데이터를 포함하는 RTP 패킷이 생성된다. RTP-패킷 생성 유닛(106)에서 생성된, 인코딩된 데이터를 포함하는 RTP 패킷은 RTP에 기초하여 RTP-패킷 출력 포트(110)에 전송되며, 그런 다음에 IP 네트워크(111)로 보내진다. 발신기 단말(104)의 RTP-패킷 생성 유닛(106)과 RTP-패킷 출력 포트(110)는 패킷-송신 처리 유닛을 구성한다.
RTP-패킷 생성 유닛(106)은 RTP 헤더를 페이로드 데이터에 첨부함으로써 인코딩된 데이터를 자신의 페이로드로서 포함하는 패킷을 생성한다. 도 2는 RTP 패킷의 포맷을 예시한다. RTP 헤더는 버전 넘버(v), 패딩(padding)(P), 확장 헤더의 존재/부재(X), 소스의 수(카운터), 표시 정보(표시 비트), 페이로드 유형, 시퀀스 넘버, 타임스탬프, 동기 소스(SSRC) 식별자 및 기여 소스(contributing source)(CSRC) 식별자를 포함한다. RTP 패킷이 데이터 수신단에서 패킷해제될(depacketized) 때, 처리 시간은 비디오 또는 오디오 데이터가 실시간으로 플레이되게 하기 위해 RTP 헤더에 포함된 타임스탬프에 기초하여 제어된다. 예컨대, 인코딩된 동화상 데이터를 포함하는 RTP 패킷의 경우, 공통 타임스탬프가 하나의 화상 프레임에 속해 있는 복수의 RTP 패킷에 설정되며, 각 프레임의 마지막 패킷의 RTP 헤더에서, 이 프레임의 마지막을 나타내는 플래그가 설정된다.
더나아가, IP 헤더가 RTP 헤더를 갖는 패킷에 첨부된다. 도 3은 IP 패킷 내의 IP 헤더의 포맷을 도시한다. IP 헤더는 IPv4, IPv6 등을 나타내는 버전, 헤더 길이, 우선순위(priority) 정보를 나타내는 TOS(Type Of Service), 패킷 길이, 패킷 식별자, IP 레이어에서 데이터의 분할(fragmentation)에 관한 제어 정보 역할을 하는 플래그, 분할된 데이터의 위치를 나타내는 프래그먼트 오프셋, 데이터가 버려지기 이전의 시간 길이에 관한 정보를 나타내는 TTL(Time To Live), 상부 레이어에서 사용될 프로토콜(IP의 경우 4, TCP의 경우 6, UDP의 경우 17 등), 헤더 체크섬(checksum), 소스 IP 주소 및 목적지 IP 주소 필드를 포함한다.
도 1을 다시 참조하여, 데이터 수신 프로세스가 설명될 것이다. 수신기 단말(121)의 RTP-패킷 입력 포트(112)는 IP 네트워크(111)를 통해서 발신기 단말(104)로부터 RTP 패킷을 수신한다. 수신된 RTP 패킷은 패킷 분석 유닛(114)에 의해 분석된다. 수신기 단말(121)의 RTP-패킷 입력 포트(112)와 패킷 분석 유닛(114)은 패킷 수신 처리 유닛을 구성한다. 좀더 상세하게, 패킷 분석 유닛(114)은 패킷 각각의 헤더 부분과 데이터 부분을 분석한다. 패킷으로부터 추출된 페이로드 데이터, 즉 인코딩된 데이터는 버퍼(117)에 누적된다. 추출된 데이터의 버퍼에서의 위치를 나타내는 위치 데이터와 이 데이터와 관련된 헤더 정보는 인덱스 목록(118)으로 누적된다.
버퍼(117)에 누적된 인코딩된 데이터는 인덱스 목록(118)에 누적된 헤더 정보에 기초하여 제어된 타이밍에서 디코더(120)에 전달되며, 인코딩된 데이터는 디코더(120)에 의해 디코딩된다. 예컨대, 동화상을 구성하는 각 프레임은 복수의 패킷에 포함된 데이터로 구성되며, 공통 타임스탬프는 하나의 화상 프레임을 구성하는 데이터를 포함하는 복수의 RTP 패킷의 헤더에 설정된다. 따라서, 인덱스 목록(118)에 누적된 헤더 정보에 있는 타임스탬프에 기초하여, 공통 타임스탬프를 갖는 패킷이 하나의 화상 프레임을 구성하는 인코딩된 데이터 그룹으로 디코더(120)에 전달되어 디코더(120)가 프레임 단위로 데이터를 디코딩하게 한다. 디코더(120)에 의해 디코딩된 데이터는 재생기 역할을 하는 디스플레이(123) 또는 스피커(122)로 전송되며, 이들에 의해 데이터는 출력되거나 플레이된다.
만약 발신기 단말(104)로부터 수신기 단말(121)로 전송될 모든 패킷이 에러 없이 원활하게(smoothly) 수신된다면, 데이터는 수신기 단말(121)에서 성공적으로 실시간으로 플레이된다. 실제로는, 그러나, 네트워크를 통해 송신하는 동안에 패킷에서의 데이터 에러, 패킷 손실 및 지연과 같은 여러 요인으로 인해 데이터 플레이 품질의 저하 또는 플레이 에러가 종종 발생한다.
본 발명에 따른 시스템에서, 수신기 단말(121)의 패킷 분석 유닛(114)은 패킷 분실과 같은 에러를 검출하며, 만약 에러가 검출되면, ARQ(Automatic Repeat reQuest) 결정 유닛(119)은 실시간 플레이 시퀀스를 고려하여 패킷 재송신을 위한 요구를 발송할 것인지의 여부를 결정한다. ARQ 결정 유닛(119)은, 데이터 송신 장치로부터 수신된 데이터 패킷에서의 에러 또는 분실 데이터 패킷이 검출되는지의 여부에 기초하여, 데이터패킷 재송신 요구 역할을 하는 재송신 요구 메시지 패킷을 데이터 송신 장치에 송신할 것인지의 여부를 결정하기 위한 재송신 요구 처리 제어 유닛 기능을 한다. ARQ 결정 유닛(119)의 처리 동작은 이후에 상세하게 설명될 것이다.
만약 ARQ 결정 유닛(119)이 재송신 요구가 발송되어야 함을 결정한다면, 수신기 단말(121)은 단말의 RTCP-패킷 생성 유닛(116)에서 재송신될 패킷을 식별하는 데이터를 포함하는 재송신 요구 NACK(Negative ACKnowledge)-RTCP(Real-Time Transport Control Protocol) 패킷을 생성하여, RTCP 패킷 입력/출력 포트(113)를 통해서 이 NACK-RTCP 패킷을 발신기 단말(104)에 송신한다.
수신기 단말(121)로부터의 재송신 요구를 나타내는 NACK-RTCP 패킷이 발신기 단말(104)의 RTCP-패킷 입력/출력 포트(109)에서 수신될 때, 수신된 NACK-RTCP 패킷은 RTCP-패킷 분석 유닛(108)에서 분석되어 그 결과가 ARQ 처리 유닛(105)으로 전달된다. 재송신 요구에 응답하여 패킷 재송신을 수행하기 위해, ARQ 처리 유닛(105)은 버퍼(103)로부터 NACK-RTCP 패킷으로 지정된 패킷을 추출하며, 이 추출된 패킷은 RTP-패킷 출력 포트(110)를 통해 재송신된다. ARQ 처리 유닛(105)은 데이터 수신 단말로부터 수신된 재송신 요구 메시지 패킷에 따라 재송신될 데이터 패킷을 추출하기 위한 재송신 제어 유닛 기능을 한다. NACK-RTCP 패킷에 기초한 재송신 요구에 응답하는 패킷 재송신 프로세스에서, 재송신 패킷이 예컨대 중복 송신이 NACK-RTCP 패킷에 지정된다면, ARQ 처리 유닛(105)에 의해 결정된 대로 중복해서 송신된다. 이들 프로세스는 이후에 좀더 상세하게 설명될 것이다.
발신기 단말(104)이 송신되는 스트림 데이터가 완료되었음을 검출할 때, 발 신기 단말(104)은 데이터스트림의 마지막을 명백하게 선언하기 위해 RTCP-패킷 생성 유닛(107)에 의해 생성된 EOS(End Of Stream) 메시지를 포함하는 RTCP 패킷을 수신기 단말(121)에 송신한다.
본 발명에 따른 시스템에서, ARQ 처리 유닛(105)은 실시간 플레이를 고려하여 분실 패킷의 재송신을 요구할 것인지의 여부를 결정한다. 데이터 전송에 대한 자동 재송신 요구 방법인 ARQ(Automatic Repeat reQuest)는 매우 효과적인 에러 보정 방법으로 알려져 있다. SAW(Stop And Wait), GBN(Go Back N) 및 SR(Selective Repeat)와 같은 ARQ의 여러 방법이 제안되고 구현되어 왔다. 본 실시예는, 높은 처리량을 산출하는 SR 에러 보정이 ARQ를 구현하기 위한 기본 알고리즘으로 사용되는 예의 환경으로 설명될 것이다.
SR 방법은 이상적으로는 발신기 및 수신기에서 제한되지 않은 크기의 버퍼를 필요로 한다. 따라서, 여러 방법이 제안되어 왔는데, 예컨대 수신기에서 버퍼 오버플로우가 발생되었거나 발생될 가능성이 있을 때 SR 방법에서 또 다른 재송신 방법으로 방법이 변경되는 방법이나 패킷의 복사물이 버퍼 오버플로우를 피하기 위해 항상 송신되는 방법이 있다. 본 실시예의 에러 보정 기능에서, 그러나, 최상위 우선순위가 PHS, TCP 또는 데이터 링크 레이어에서와 같이 완벽한 데이터 송신인 ARQ의 유형과는 반대로, 수신기에서 수신된 데이터를 처리하기 위한 시간에 기초하여 추정된 패킷 수신의 시간 제한치 내에서 가능한 많은 필요한 데이터를 수신하는 동작에 우선순위가 주어진다. 따라서, ARQ는 ST 방법 또는 GBN 방법으로 변경하지 않고 SR 방법에 의해 계속된다. 더나아가, 수신기는 버퍼 오버플로우를 피하기 위해 버퍼를 제어하며, 효과적으로 데이터를 송신한다.
본 발명의 실시예에서, 송신하는 동안에 분실되어진 패킷을 재송신하기 위한 요구가, RFC 1889에 정의된 실시간 전송 제어 프로토콜(RTCP)에 기초하여 NACK(Negative ACKnowledge) 패킷을 전달함으로써 발송된다. RFC 1889는 5초 이상의 간격이 RTCP 패킷의 연속 송신 사이에 제공되어야 함을 추천하고 있다. 그러나, 5초 이상의 간격이 재송신 요구 사이에 제공되면, 버퍼 오버플로우가 수신기에서 발생하며, 게다가 플레이하기 위해 시간 내에 데이터를 재송신하는 것은 불가능하다. 스트리밍 데이터의 실시간 속성으로 인해, 재송신 패킷이 시간 내에 수신될 수 있도록, 재송신 요구가 가능한 빨리 발송되어야 하며, 관련 데이터 패킷이 재송신 요구가 수신되자마자 재송신되어야 한다. 따라서, ARQ에 사용되는 NACK 패킷은 필요할 때 원하는 타이밍으로 능동적으로 수신기에서 발신기로 송신되어야 하며, 그래서, 본 발명은 추천된 값을 따르지 않고, NACK 패킷은 필요할 때 적절한 타이밍으로 송신된다.
더나아가, RFC 1889는 RTCP 대역폭이 5%이어야 하는 것으로 제안하고 있다. 본 발명의 실시예에서 재송신 패킷의 최소 단위는 16 바이트 정도로 작은 것이어서, 재송신 요구는 대역폭을 과도하게 사용하지 않을 것이다. 비디오 데이터 등의 실제 데이터는 본 실시예에서 RFC 1889에 정의된 RTP(이것의 패킷 포맷이 도 2에 도시되어 있다)에 기초하여 송신된다. 대안적으로, 사용자 데이터그램 프로토콜(UDP: User Datagram Protocol) 과 같은 다른 프로토콜이 만약 시퀀스 넘버가 각 패킷에 포함된다면 사용될 수 있다.
실시간 플레이를 위해 데이터를 전송할 때, 처리 시간이 제한되어서, 송신과 수신 사이의 왕복 시간(RTT)은 중요한 파라미터가 된다. 만약 RTT가 크다면, 재송신 요구가 데이터 수신 단말로부터 데이터 송신 단말로 발송될 때, 지정된 데이터를 포함하는 재송신 패킷을 데이터 수신 단말로부터 추출하고 재송신하며, 데이터 수신 단말에서 재송신 패킷을 수신하기 위해 재송신-요구 패킷이 데이터 송신 단말에 도달하는데는 시간이 걸린다. 따라서, 비록 수신된 데이터가 데이터 수신 단말의 디코더에 전달된다하더라도, 어떤 경우에는 이 데이터는 실시간 플레이를 위해 시간 내에 디코딩되지 않는다. 비록 관련 재송신이 시간 내에 수신될 것인지에 상관없이 만약 재송신 요구가 발송된다면 보정 율을 개선할 가능성이 증가할 것이지만, 재송신-요구 패킷 및 관련 재송신 패킷의 송신은 네트워크 통신(traffic)의 혼잡(congestion)을 야기하여 결국 이들 중복 데이터의 송신으로 인한 오버헤드의 문제를 야기한다.
더나아가, 데이터 수신 단말에서 송신과 수신 사이의 RTT를 미리 파악함으로서, 데이터 수신 단말은 재송신 요구 발송과 관련 재송신 패킷의 수신 사이의 시간을 파악할 수 있게 된다. 이것은 데이터 수신 단말이 데이터 수신 단말에서 실시간으로 플레이될 관련 데이터에 대한 재송신 요구를 위한 시간 제한치를 결정하게 한다. 본 발명에 따른 시스템에서, 수신 단말의 ARQ 결정 유닛은 RTT에 기초하여 재송신 요구에 대한 시간 제한치를 결정하여, 이 결정에 기초하여 재송신 요구 역할을 하는 NACK-RTCP 패킷을 송신한다.
ARQ를 통해 실시간 플레이를 유지하기 위해, 송신과 수신 사이의 RTT가 끊임 없이 측정되어야 한다. 본 발명에 따른 시스템에서, 데이터 수신 단말은 RTT를 능동적으로 측정하여, 네트워크 상태 등에 따라 변화하는 송신과 수신 사이의 RTT를 업데이트하고, 가장 최근의 RTT에 기초하여 재송신 요구 역할을 하는 NACK-RTCP 패킷을 송신할 것인지의 여부를 결정한다.
발신기는 RTCP에 정의된 발신기 리포트(SR) 및 수신기 리포트(RR)에 기초하여 RTT를 계산할 수 있게 된다. 그러나, 데이터 수신 단말은 실시간 플레이의 상태에 기초하여 재송신 요구 역할을 하는 NACK-RTCP 패킷을 재송신할 것인지의 여부를 결정해야 한다. 따라서, 데이터 수신 단말이 필요할 때에 네트워크 상태를 고려하여 RTT에 관한 정보를 얻을 수 있게 되는 것이 바람직하다. 따라서, 본 발명에 따른 시스템에서, 데이터 수신 단말은 RTT를 능동적으로 계산할 수 있게 된다. 좀더 상세하게, 데이터 수신 단말은 ECHO 패킷을 송신하고 ECOH-REPLAY 패킷을 수신함으로써 RTT를 계산한다. 이들 프로세스는 이후에 상세하게 설명될 것이다.
데이터 송신 단말은, 패킷 재송신 요구 역할을 하는 NACK-RTCP 패킷을 데이터 수신 단말로부터 수신하자마자, 분배를 위해 현재의 패킷과 함께 NACK-RTCP 패킷에 명시된 대로 재송신될 패킷을 송신한다. 데이터 송신 단말은 우선순위에 기초하여 분배 스케줄조정 기능(distribution scheduling function)을 수행하고 분배 스케줄에 따라 패킷을 재송신한다.
ARQ에 기초한 자동 재송신 요구는 패킷 재송신 요구 역할을 하는 NACK-RTCP 패킷만을 사용함으로써 효과적으로 사용될 수 있다. 그러나, 이 실시예에서, 수신 단말로부터의 패킷 수신의 긍정적인 승인 역할을 하는 ACK(ACKnowledge) 메시지가 또한 데이터 송신 단말에 대한 응답 패킷으로서 사용된다. ACK 메시지를 송신하면, 발신기에서 패킷을 유지하고 있는 버퍼가 가능한 빠르게 능동적으로 클리어(clear)될 수 있으며, 이점은 버퍼 오버플로우의 위험을 감소시키는데 기여한다.
더나아가, 송신 단말은 분배되는 스트리밍 데이터의 마지막을 분명하게 선언하는 EOS(End Of Stream) 메시지를 사용할 수 있게 된다. EOS 메시지를 사용하면, 수신기가 스트리밍 데이터의 마지막을 인식할 수 있게 된다. 따라서, 마지막 프레임이 수신되어진 후, 수신기가 아직 도달하지 않은 그 다음 프레임을 예상하기 위해 NACK 패킷을 송신하는 것이 방지된다.
수신 단말은 데이터 수신의 간격을 측정할 수 있게 되고, NACK 패킷이 송신되고 기타 패킷이 송신된 이후 지나간 시간을 그 타이머를 통해 측정할 수 있게 된다. 비록 타이머가 측정한 시간이 임계값에 도달할 때 데이터의 마지막을 인식하는 것이 가능하지만, EOS 메시지를 수신하면, 또한 분배될 스트리밍 데이터의 마지막을 인식할 수 있게 된다. 따라서, 수신 완료는 타이머를 통하는 경우보다 더 빨리 검출될 수 있다. 만약 EOS 메시지가 사용되지 않거나 EOS 메시지가 분실된다면, 재송신 패킷은 비록 NACK-패킷이 송신될 지라도 발신기로부터 전달되지 않을 것이다. 따라서, 이 경우, 수신의 완료가 타이머에 의해 검출된다.
데이터 송신 단말에서의 처리
이제, 데이터 송신 단말에서의 처리 동작이 도면을 참조하여 상세하게 설명될 것이다.
데이터 송신 단말에서의 처리 절차가 도 4에 도시된 흐름도를 참조하여 설명 될 것이다. 도 4는 도 1에 도시된 발신기 단말(104)에서 수행될 프로세스를 도시한 흐름도이다. 데이터 송신 단말은, 그 인코더에서, 예컨대 비디오 카메라에 의해 포착되거나 또는 DVD, CD 또는 하드디스크와 같은 저장 매체로부터 공급된 데이터를 예컨대 MPEG-압축하는 것과 같이 인코딩하여, 인코딩된 데이터를 그 페이로드로서 포함하는 패킷을 생성한다. 도 4의 흐름도는 패킷 생성 프로세스와 후속하는 프로세스를 도시한다.
단계(S201)에서, 데이터 송신 단말은 그 페이로드로서 송신될 데이터를 포함하는 RTP 패킷을 생성한다. RTP 패킷 각각은 도 2를 참조하여 앞서 설명된 포맷을 가지며, 그 헤더에 타임스탬프를 포함한다. 예컨대, 동화상 데이터가 송신될 때, 공통 타임스탬프는 하나의 화상 프레임에 속해 있는 인코딩된 데이터를 포함하는 패킷에 설정되며, 동화상이 후속하는 프레임으로 진행함에 따라 증가한 타임스탬프가 설정된다.
타임스탬프 설정의 예가 도 5에 도시된 패킷 송신에 관한 시간 시퀀스 흐름도를 참조하여 이후에 설명될 것이다. 발신기 측에서 도시된 타임스탬프, 12,000이 하나의 화상 프레임을 구성하는 인코딩된 데이터를 그 페이로드로서 포함하는 복수의 RTP 패킷에 (1 내지 6의 시퀀스 넘버로) 할당된다. 후속적인 타임스탬프, 15,000이 후속하는 화상 프레임을 구성하는 인코딩된 데이터를 포함하는 RTP 패킷에 (7 내지 12의 시퀀스 넘버로) 설정되고, 수신기로부터의 NACK-RTCP 패킷에 의한 재송신 요구에 응답하여 (4 및 5의 시퀀스 넘버로) 재송신될 패킷에 설정된다. 이러한 방식으로, 데이터 송신 단말은 예컨대 하나의 화상 프레임을 구성하는 각 패 킷 그룹에 대해 공통 타임스탬프를 사용하여 RTP 패킷을 생성한다.
도 4를 다시 참조하면, 데이터 송신 단말에서의 처리 동작에 대한 설명이 계속될 것이다. 단계(S201)에서 생성된 RTP 패킷은 단계(S202)에서 수신 단말로의 RTP-패킷 출력 포트를 통해서 IP 네트워크에 보내진다. 도 3을 참조하여 앞서 설명된 바와 같이, IP 헤더가 RTP 패킷에 할당되고, RTP 패킷은 IP 헤더에 설정된 주소로 운반된다. 송신될 스트리밍 데이터의 마지막을 분명하게 선언하기 위해 EOS(End Of Steam) 메시지가 송신되고 타이머가 측정한 시간이 사전설정 시간을 초과할 때, 단계(S201 및 S202)에서의 패킷 생성 프로세스 및 패킷 송신 프로세스는 종료한다.
패킷 재송신 요구 역할을 하는 NACK-RTCP 패킷이 수신되었는지의 여부가 결정되는 단계(S203)와, 패킷 수신에 대한 긍정적인 승인 역할을 하는 ACK-RTCP 패킷이 수신되었는지의 여부가 결정되는 단계(204)와, RTT를 측정하기 위한 ECHO-RTCP 패킷이 수신되었는지의 여부가 검출되는 단계(S205)가 도 4에 도시된 것처럼 중단 프로세스로서 RTP 패킷에서의 실제 데이터의 송신(transmission of real data)과 병렬로 순차적으로 수행된다.
결정 단계(S203)에서, 데이터 수신 단말로부터의 패킷 재송신 요구 역할을 하는 NACK-RTCP 패킷이 수신되었는지의 여부가 결정된다. 데이터 수신 단말로부터의 패킷 재송신 요구 역할을 하는 NACK-RTCP 패킷이 수신될 때, 단계(S211 내지 S215)가 수행된다. 단계(S211 내지 S215)는 도 1에 도시된 ARQ 처리 유닛(105)에 의해 수행된다.
단계(S211)에서, 데이터 송신 단말은 NACK-RTCP 패킷을 수신한다. 도 6은 이 러한 NACK-RTCP 패킷의 포맷을 도시하며, 이러한 패킷은 패킷 재송신 요구 역할을 하며 데이터 수신 단말에서 생성되어 데이터 송신 단말이 수신한다.
도 6에 도시된 바와 같이, NACK-RTCP 패킷은, 헤더(HEAD), 포맷, 패킷 유형, 패킷 길이, 동기 소스(SSRC) 식별자 및 타임스탬프에 관한 정보를 포함하고, 더나아가, 재송신될 패킷의 식별자 역할을 하는 지정된 재송신-시퀀스 넘버 설정, "재송신 카운트", "옵션" 및, 지정된 재송신-시퀀스 넘버 각각과 관련된 "지정된 중복 카운트"가 허용된다.
앞서 설명된 바와 같이, ARQ가 사용되는 본 발명에 따른 시스템에서, 재송신 요구 역할을 하는 NACK 패킷, 수신에 대한 긍정적인 승인 역할을 하는 ACK 패킷, 스트리밍 데이터의 마지막을 분명하게 선언하는 EOS 패킷, 송신과 수신 사이의 RTT를 측정하기 위해 사용되는 ECHO 패킷 및 ECHO-REPLY 패킷을 포함하는, RTCP에 기초한 여러 제어 패킷이 사용된다. RTCP 헤더의 페이로드 유형(PT) 필드를 통해 RTCP 패킷의 이들 포맷 유형을 구별하는 것은 일반적이지 않다. 따라서, 이들 제어 메시지 각각의 PT는 피드백 메시지(FM)로 명시되며, 피드백 메시지 유형(FMT)이 피드백 메시지의 유형을 정의하기 위해 RTCP 헤더의 포맷 필드에 명시된다.
도 6에 도시된 바와 같이, 하나의 NACK 패킷은 재송신될 하나 이상의 패킷의 식별자 역할을 하는 하나 이상의 시퀀스 넘버를 포함할 수 있게 된다. 즉, 하나의 NACK 패킷을 송신함으로써 복수의 패킷에 대한 재송신을 요구할 수 있게 된다. 재송신 요구 패킷에서 시퀀스 넘버 각각과 관련된 "재송신 카운트" 필드는 재송신 요구의 카운트를 명시하며, "지정된 중복 카운트" 필드는 재송신을 위한 중복 카운트 를 명시하고, "옵션" 필드는 필요할 때 다른 정보를 명시하는데 사용된다.
예컨대, 만약 "3"이 "지정된 중복 카운트"에 설정된다면, NACK를 계속 수신하고 있었던 발신기는 동일한 데이터를 포함하는 세 개의 재송신 패킷을 송신한다. 만약 특정한 패킷이 중요한 데이터를 포함하고 있다면, 대응하는 재송신 패킷의 수신 신뢰도는 중복 재송신을 요구함으로써 향상될 수 있다. 또한, 만약 비록 특정한 패킷을 위한 재송신 역할을 하는 NACK 패킷이 송신되었지만 수신이 성공하지 못하거나, 실시간 플레이를 위해 시간 내에 수신될 데이터에 대한 재송신 시간 제한치에서 송신된 NACK 패킷에서, 재송신 패킷의 수신 신뢰도는 플레이되는 데이터의 품질을 향상시키는데 기여하는 "지정된 중복 카운트"의 값을 증가시킴으로써 향상될 수 있다. 수신기는 앞서 설명된 대로 NACK-RTCP 패킷을 송신하며, 발신기는 수신된 NACK-RTCP 패킷에 기초하여 패킷을 재송신한다.
예컨대, RTP 패킷 포맷 또는 페이로드 포맷에 의해 또는 수신 단말의 사용자에 의해 의도적으로 만약 우선순위가 패킷에 할당된다면, 대응하는 재송신 패킷의 수신 신뢰도는, 중복의 높은 우선순위를 갖는 패킷 또는 데이터를 재송신함으로써 향상될 수 있다. 더나아가, "재송신 카운트" 필드에서 재송신 요구 카운트를 명시함으로써, 발신기는 NACK 패킷 자체의 손실을 검출할 수 있게 된다.
"옵션" 필드는 예컨대 도 7에 도시된 바와 같은 필드의 값에 따라 처리 파라미터를 설정할 수 있게 된다. 좀더 상세하게:
옵션값 = 0: 지정된 시퀀스 넘버(들)를 갖는 패킷(들)의 재송신 요구(디폴트).
옵션값 = 1: 프레임의 시작부분에서 지정된 시퀀스 넘버까지 패킷의 블록 재송신을 요구.
옵션값 = 2: 지정된 시퀀스 넘버에서 프레임의 마지막까지 패킷의 블록 재송신을 요구.
옵션값 = 3: 지정된 타임스탬프를 갖는 패킷의 블록 재송신 요구.
옵션값 = 4: 타임스탬프에 상관없이 단지 시퀀스 넘버에 기초하여 결정된 패킷의 재송신 요구.
도 2를 참조하여 앞서 설명된 바와 같이, 비디오 데이터 등의 인코딩된 데이터는 RTP 패킷에 포함되며, 이 RTP 패킷 각각은 타임스탬프와 시퀀스 넘버 세트를 포함하는 헤더를 구비한다. 타임스탬프의 하나 이상의 경계(boundary)를 넘는 범위의 버스트 에러가 발생할 때, 또는 만약 버스트 에러로 인해 패킷이 프레임 단위만큼 분실된다면, 수신 단말은 분실 패킷과 관련된 타임스탬프 및 시퀀스 넘버 세트를 식별할 수 없을 것이다. 그러한 경우, 식별될 수 있는 타임스탬프 또는 시퀀스 넘버 중 어느 하나가 옵션 필드에 설정된다. 따라서, 재송신될 하나 이상의 패킷은 융통성있게 지정될 수 있다.
전술한 바와 같이, 데이터 수신 단말은 여러 모드로 재송신될 패킷을 지정할 수 있게 된다. NACK-RTCP 패킷을 수신하였던 데이터송신 단말의 ARQ 처리 유닛(105)은 옵션 필드에 설정된 값에 따라 버퍼(103)로부터 지정된 패킷을 추출하며, 지정된 패킷은 재송신된다.
다시 도 4를 참조하여, 데이터 송신 단말에서의 처리 동작에 대한 설명은 계 속된다. 단계(S211)에서 수신된 NACK-RTCP 패킷에서 지정된 대로 재송신될 패킷과 관련된 시퀀스 넘버가 단계(S212)에서 추출된다. 단계(S213)에서, 옵션 파라미터가 추출된다. 앞서 설명된 바와 같이, 재송신될 패킷은 시퀀스 넘버에 의해서 직접 지정될 뿐만 아니라 여러 모드로 예컨대 타임스탬프에 의해 지정될 수 있다. 데이터 송신 단말의 ARQ 처리 유닛(105)은 수신된 NACK-RTCP 패킷에 지정된 옵션 파라미터, 타임스탬프 및 시퀀스 넘버에 기초하여 재송신될 패킷을 식별한다.
단계(S214)에서, 재송신을 위해 식별된 패킷은 버퍼(103)로부터 추출된다. 버퍼(103)에서, 송신되었던 패킷은 재송신 요구를 준비하여 사전에 결정된 시간 동안에 누적되며, 재송신을 위해 지정된 패킷은 버퍼(103)로부터 추출된다. 단계(S215)에서, 추출된 패킷은 RTP 패킷 출력 포트로부터 송신된다.
만약 단계(S203)에서 NACK-RTCP 패킷이 수신되지 않았다고 결정된다면, 단계(S204)에서, 패킷 수신에 대한 긍정적인 승인 역할을 하는 ACK-RTCP 패킷이 수신되었는지의 여부가 결정된다. 만약 ACK-RTCP 패킷이 수신되었다면, 단계(S208)에서, 수신이 승인되었던 패킷은 버퍼(103)에서 클리어(제거)된다. ACK 패킷은, 재송신 요구를 준비하여 패킷을 보유하고 있는 발신기의 버퍼(103)가 가능한 빨리 버퍼(103)를 능동적으로 클리어하게 하여, 버퍼 오버플로우의 위험을 감소시키는데 기여한다.
도 8은 ACK-RTCP 패킷의 포맷을 도시한 것이며, 이것은 데이터 수신 단말에서 생성되고 데이터 송신 단말에서 수신된 패킷 수신에 대한 긍정적인 승인 역할을 한다.
도 8에 도시된 바와 같이, ACK-RTCP 패킷은 헤더(HEAD), 포맷, 패킷 유형, 패킷 길이, 동기 소스(SSRC) 식별자, 타임스탬프, 및 수신된 패킷에 대한 식별자 역할을 하는 수신된-시퀀스 넘버 필드를 포함한다.
시퀀스 넘버를 지정하지 않고 타임스탬프만 지정하는 것이 또한 가능하며, 이것은 특정한 타임스탬프를 갖는 모든 패킷이 수신되었음을 나타낸다. 이 경우, 모든 시퀀스 넘버를 지정할 필요가 없어서, 결국 ACK-RTCP 패킷의 크기가 감소될 수 있으며, 이점은 네트워크 전송량의 증가를 완화하는데 기여한다.
다시 도 4를 참조하여, 데이터 송신 단말에서의 처리 동작이 계속 설명될 것이다. 단계(S205)에서, 데이터 송신 단말은 ECHO-RTCP 패킷이 수신되었는지의 여부를 결정한다. 만약 ECHO-RTCP 패킷이 데이터 수신 단말로부터 수신되었다면, 단계(S209)에서, 데이터 송신 단말은 ECHO-REPLY-RTCP 패킷을 ECHO-RTCP 패킷을 송신하였던 데이터 수신 단말에 송신한다.
ECHO-RTCP 패킷 및 ECHO-REPLY-RTCP 패킷은 데이터 수신 단말이 송신 단말과 수신 단말 사이의 RTT를 파악하게 하는데 사용된다. 이들 패킷을 교환하여, 데이터수신 단말은 재송신 요구가 발송된 때로부터 재송신 패킷이 데이터 수신 단말에 수신된 때까지 걸린 시간을 파악할 수 있게 된다. 따라서, 데이터 수신 단말은 실시간으로 플레이될 데이터에 대한 재송신 요구의 시간 제한치를 결정할 수 있게 된다.
본 발명에 따른 시스템에서, 수신 단말의 ARQ 결정 유닛은, RTT에 기초한 재송신 요구에 대한 시간 제한치에 도달되었는지의 여부를 결정하여, 이를 통해 재송 신 요구 역할을 하는 NACK-RTCP 패킷을 송신할 것인지를 결정한다. 결정 프로세스에 필요한, 송신 단말과 수신 단말 사이의 RTT에 관한 최근 정보를 얻기 위해, 데이터 수신 단말은 ECHO-RTCP 패킷을 특정한 타이밍에 데이터 송신 단말에 능동적으로 송신하고, 데이터 송신 단말은, ECHO-REPLY-RTCP 패킷을 ECHO-RTCP 패킷에 응답하여 ECHO-RTCP 패킷의 소스에서 데이터 수신 단말에 송신한다.
데이터 수신 단말은 데이터 송신 단말로부터의 응답으로 수신된 ECHO-REPLY-RTCP 패킷을 분석하여, 이를 통해 송신 단말과 수신 단말 사이의 RTT를 계산한다. RTT의 계산은 데이터 수신 단말에서의 처리 동작과 관련하여 이후에 설명될 것이다.
도 9a는 데이터 수신 단말에서 생성되고, 데이터 송신 단말에서 수신된 ECHO-RTCP 패킷의 포맷을 도시하며, 도 9b는 데이터 송신 단말에서 생성되고 데이터 수신 단말로 송신된 ECHO-REPLY-RTCP 패킷의 포맷을 도시한다.
도 9a에 도시된 바와 같이, ECHO-RTCP 패킷은 헤더(HEAD), 포맷, 패킷 유형, 패킷 길이, 동기 소스(SSRC) 식별자 및, ECHO 패킷의 식별자 역할을 하는 ECHO-ID 필드를 포함한다. 도 9b에 도시된 바와 같이, ECHO-REPLY-RTCP 패킷은, 헤더(HEAD), 포맷, 패킷 유형, 패킷 길이, 동기 소스(SSRC) 식별자, ECHO-RTCP 패킷과 관련된 ECHO-ID 및 서버 처리 시간 필드를 포함한다.
ECHO-RTCP 패킷과 ECHO-REPLY-RTCP 패킷이 ECHO-ID를 포함하므로, 데이터 수신 단말은 수신된 ECHO-REPLY 패킷이 어떤 ECHO-RTCP 패킷과 관련되는지를 식별할 수 있게 된다. ECHO-REPLY-RTCP 패킷에 포함된 서버 처리 시간은, 데이터 송신 단 말이 데이터 수신 단말로부터 재송신 요구(NACK-RTCP)를 수신할 때부터 재송신 패킷이 데이터 송신 단말로부터 출력될 때까지 걸린 시간에 대응한다. 서버 처리 시간은, 예컨대 ECHO-RTCP 패킷이 수신될 때부터 ECHO-REPLY-RTCP 패킷이 송신될 때까지 걸린 시간을 통해 설정될 수 있다. 대안적으로, 데이터 송신 단말이 데이터 수신 단말로부터 재송신 요구(NACK-RTCP)를 수신할 때부터 재송신 패킷이 데이터송신 단말로부터 출력될 때까지 걸린 실제 시간이 데이터 송신 단말에서 히스토리(history) 데이터로서 메모리에 저장될 수 있으며, 서버 처리 시간으로 사용될 수 있다. 또한 대안적으로, ECHO-RTCP 패킷이 수신된 시간에 서버(데이터 송신 단말) 상의 처리 로드(load)가 계산될 수 있어서, 처리 로드로부터 계산된 예상 처리 시간이 서버 처리 시간으로 설정될 수 있다.
데이터 수신 단말은, ECHO-REPLY-RTCP 패킷에 포함된 서버처리 시간과 ECHO-RTCP 패킷의 송신 및 ECHO-REPLY-RTCP 패킷의 수신 사이의 시간에 기초하여 송신 단말과 수신 단말 사이의 RTT를 계산한다. RTT의 계산은 데이터 수신 단말에서의 처리 동작에 관련하여 이후에 설명될 것이다.
도 4를 다시 참조하여, 데이터 송신 단말에서의 처리 동작이 계속 설명될 것이다. 단계(S206)에서, 데이터 송신 단말은 송신될 스트리밍 데이터의 모든 패킷이 송신되었는지를 결정한다. 만약 송신이 완료되었다면, 단계(S210)에서, 데이터 송신 단말은 데이터스트림의 마지막을 분명하게 선언하는 EOS(End Of Stream) 메시지를 포함하는 RTCP 패킷을 수신 단말에 송신한다.
도 10은 데이터 송신 단말에서 생성되고 데이터 수신 단말에서 수신된 EOS- RTCP 패킷의 포맷을 도시한다.
도 10에 도시된 바와 같이, EOS-RTCP 패킷은, 헤더(HEAD), 포맷, 패킷 유형, 패킷 길이, 동기 소스(SSRC) 식별자 및 타임스탬프 필드를 포함한다. 데이터 수신 단말은 데이터 송신 단말로부터 EOS-RTCP 패킷을 수신하자마자 스트리밍 데이터의 마지막을 인식한다. 따라서, 수신 단말이 그 다음 프레임이 도착하지 않아서 NACK 패킷을 잘못 송신하는 것이 방지된다.
도 4를 다시 참조하여, 데이터 송신 단말에서의 처리 동작이 계속 설명될 것이다. 단계(S207)에서, 데이터 송신 단말은 타이머가 측정한 시간이 사전설정 시간을 초과하였는지를 결정한다. 만약 시간이 사전설정 시간을 초과하지 않았다면, 데이터 송신 단말은 단계(S203)의 프로세스, 즉 패킷 재송신 요구 역할을 하는 NACK-RTCP 패킷이 수신되었는지의 여부에 대한 결정 및 후속 프로세스를 계속 수행한다. 이는, 패킷 재송신 요구 역할을 하는 NACK-RTCP 패킷, 수신에 대한 긍정적인 승인 역할을 하는 ACK-RTCP 패킷 또는 ECHO-RTCP 패킷이 심지어 모든 패킷이 송신되어진 이후의 특정 기간 동안에 수신될 수 있기 때문이며, 이 경우, 수신된 패킷은 처리되어야 한다. 타이머가 사전설정 시간을 초과한다면, 데이터 송신은 완료된다.
데이터 수신 단말에서의 처리 동작
다음으로, 데이터 수신 단말에서의 처리 절차가 도 11에 도시된 흐름도를 참조하여 설명될 것이다. 도 11은 도 1에 도시된 수신기 단말(121)에서 수행되는 프로세스의 흐름도이다.
단계(S300)에서, 데이터 수신 단말은 데이터송신 단말로부터의 송신의 시작에 대한 통지(notice)를 수신한다. 단계(S301)에서, 데이터 수신 단말은 후속적으로 송신 패킷, 즉 그 페이로드로서 인코딩된 데이터를 포함하는 RTP 패킷을 데이터 송신 단말로부터 수신한다. 도 2를 참조하여 앞서 설명된 대로, RTP 패킷은 그 헤더 정보로 타임스탬프를 포함한다. 데이터 수신 단말은 이 타임스탬프에 기초하여 수신된 패킷과 관련된 프레임을 구별할 수 있게 된다. 앞서 설명된 대로, 동화상 데이터가 RTP 패킷에서 인코딩 데이터로 송신될 때, 공통 타임스탬프가 하나의 화상 프레임에 속해 있는 복수의 RTP 패킷에 설정되며, 데이터 수신 단말은 이 타임스탬프를 참조하여 프레임을 구별할 수 있게 된다.
단계(S302)에서, 데이터 수신 단말은 수신된 패킷이 n번째 프레임(n = 1, 2,...)의 마지막 패킷인지를 결정한다. 더나아가, 단계(S303)에서, 데이터 수신 단말은 수신된 패킷이 n+1번째 프레임의 시작 패킷인지를 결정한다. 만약 수신된 패킷이 n번째 프레임(n = 1, 2,...)의 마지막 패킷이거나 n+1번째 프레임의 시작 패킷이라면, 데이터 수신 단말은 단계(S309)로 진행한다.
단계(S309)에서, 데이터 수신 단말은 임의의 수신되지 않은 패킷, 즉 임의의 분실된 패킷이나 임의의 에러 패킷이 프레임(n)에 존재하는지를 결정한다. 단계(S309)에서의 에러 패킷 또는 분실 패킷을 검출하는 프로세스가 도 5를 참조하여 설명될 것이다.
도 5는 RTP 및 RTCP 패킷이 발신기와 수신기 사이에 전송되고 있는 예이다. 도 5에서, 시간이 도면에서 볼 때 오른쪽으로 진행하고 있는 것으로 가정된다. 본 명세서에서, 클록 율이 90kHz이고, 30fps(프레임/초)로 샘플링된 동화상 데이터가 인코딩되며 송신하기 위해 RTP 패킷에 포함됨이 가정된다. 이 경우, RTP 패킷의 타임스탬프는 동일 화상 프레임 내에서는 불변하며, 증분(90K/30=3,000)까지 카운트된다. 수신기는 최소-증분 타이머(τ)를 구현한다. 이 예에서, 인코딩된 비디오 데이터가 MOTION JPEG 2000에 기초하여 인코딩된 데이터를 산출하기 위해 압축되는 것으로 가정되며, 각 프레임의 마지막 패킷은 데이터 수신 단말의 패킷 분석 유닛(114)에 의해 검출될 수 있다.
도 5를 참조하여, 타임스탬프, 12,000은 1 내지 6의 시퀀스 넘버를 갖는 패킷에 설정되며, 이들 패킷은 예컨대 프레임(n)과 같은 하나의 프레임에 속해 있다. 데이터 수신 단말이 시퀀스 넘버 6을 갖는 패킷을 수신할 때, 단계(S309)는 예라고 평가하여 단계(S309)의 분실 패킷 검출 프로세스가 수행된다. 이 때, 데이터 수신 단말은 1 내지 3 및 6의 시퀀스 넘버를 갖는 패킷을 수신하였으며, 그에 따라 4 및 5의 시퀀스 넘버를 갖는 패킷이 분실되었음을 결정한다. 비록 앞에서 분실 패킷만을 다루어 설명하고 있지만, 또한 에러 패킷이 검출되었을 때, 분실 패킷의 경우와 유사한 프로세스가 수행된다, 즉 재송신 요구가 발송된다.
만약 분실 패킷 또는 에러 패킷이 검출된다면, 데이터 수신 단말은 단계(S312) 및 후속 프로세스로 진행하며, 여기서 데이터 수신 단말은 재송신 요구 역할을 하는 NACK-RTCP 패킷을 송신할 것인지의 여부를 결정하여, 그에 따라 NACK-RTCP 패킷을 송신한다. 이들 프로세스가 이후에 상세하게 설명될 것이다. 여기서, 4 및 5의 시퀀스 넘버를 갖는 분실 패킷을 위한 NACK-RTCP 패킷이 생성되고, 도 6을 참조하여 앞서 설명된 4 및 5인 지정된 재송신-시퀀스 넘버를 갖는 NACK-RTCP 패킷이 재송신-요구 패킷으로서 데이터 송신 단말에 송신됨이 가정된다. 이러한 프로세스는 도 5의 NACK-RTCP 패킷 송신 프로세스(501)에 대응한다.
만약 타임스탬프 및 시퀀스 넘버의 조합이 NACK-RTCP 패킷이 송신될 때 식별되지 않는다면, 도 7을 참조하여 앞서 설명된 옵션이 지정된다. 데이터 수신 단말은 필요할 때 패킷의 송신 및 수신에 관한 정보를 기록하여, 패킷 분실 율이 계산될 수 있게 된다. 만약 분실 율이 사전에 결정된 값보다 크거나 같게된다면, NACK-RTCP 패킷 자체가 분실되었을 수 도 있는 것으로 가정된다. 따라서, 동일한 NACK-RTCP 패킷이 반복해서 여러 번 송신되어, 재송신은 좀더 확실히 성공할 수 있게 된다. 대안적으로, NACK-RTCP 패킷에서의 지정된 중복 카운트가 증가한다.
데이터 송신 단말은, NACK-RTCP 패킷을 수신하자마자, 그 다음 타임스탬프를 갖는 프레임 데이터와 함께 재송신 패킷을 송신한다. 이 경우, 4 및 5인 시퀀스 넘버를 갖는 재송신 패킷이 7 내지 12인 시퀀스 넘버를 갖는 프레임 데이터 및 타임 스탬프, 15,000과 함께 송신된다. 재송신 타이밍이 반드시 그 다음 프레임 데이터의 송신과 동기화될 필요는 없으며, 처리 동작의 타이밍에 따라서 후속하는 즉 이후의 프레임 데이터와 동기화될 수 있다. 데이터 수신 단말은, ECHO-RTCP 패킷을 송신하고 ECHO-REPLY RTCP 패킷을 수신하며, 이를 통해 송신 단말과 수신 단말 사이의 RTT를 계산함으로써 재송신 타이밍을 추정할 수 있게 된다. 이러한 프로세스가 이후에 설명될 것이다.
만약 도 5에서 12,000 내지 24,000인 타임스탬프를 갖는 프레임 각각의 마지막 패킷 또는 시작 패킷이 수신된다면, 도 11의 단계(S302) 또는 단계(S303)는 예 로 평가하여, 데이터 수신 단말은 단계(S309)의 분실-패킷 검출 프로세스를 수행한다. 그런 다음, 데이터 수신 단말은 단계(S312) 및 후속하는 프로세스로 진행하며, 여기서 재송신 요구 역할을 하는 NACK-RTCP 패킷을 송신할 것인지의 여부가 결정되며, NACK-RTCP 패킷이 그에 따라 송신된다.
재송신 요구 역할을 하는 NACK-RTCP 패킷을 송신하는지의 여부를 결정하는 단계(S312)가 설명될 것이다. 실시간 플레이가 가능케 하기 위해, 요구된 재송신 패킷은 플레이하기 위한 시간 내에 수신 단말에 도달해야 한다. 재송신 요구 역할을 하는 NACK-RTCP 패킷을 송신하는지의 여부를 결정하는 단계(S312)에서의 프로세스는, 만약 NACK-RTCP 패킷이 송신된다면 재송신 패킷이 실시간 플레이하기 위한 시간 내에 수신될 수 있는지를 결정한다.
이러한 결정을 하기 위해, 송신 단말과 수신 단말 사이의 RTT는 앞서 설명된 대로 필수적인 파라미터이다. 만약 RTT가 크다면, 비록 재송신 요구가 데이터 수신 단말로부터 데이터 송신 단말로 발송될 지라도, 재송신 요구의 발송과 데이터 송신 단말로부터 데이터 수신 단말로 송신된 재송신 패킷의 수신 사이에는 시간이 걸리며, 재송신 패킷이 디코딩 및 실시간 플레이를 위해 디코더에 시간 내로 전달되지 않을 수 도 있다. 본 발명에 따른 시스템에서, 데이터 수신 단말은 RTT를 미리 파악하여, 이 RTT에 기초하여 NACK-RTCP 패킷을 송신할 것인지를 결정한다.
본 발명에 따른 시스템에서, 데이터 수신 단말은 임의의 타이밍에서 RTT를 측정할 수 있게 된다. 좀더 상세하게는, 데이터 수신 단말은 도 9a를 참조하여 앞서 설명된 ECHO-RTCP 패킷을 송신하고 도 9b를 참조하여 앞서 설명된 ECHO-REPLY- RTCH 패킷을 수신하여 RTT를 계산한다.
데이터 수신 단말이 수행하는 ECHO-RTCP 패킷의 송신, ECHO-REPLY-RTCP 패킷의 수신 및 RTT 계산은 도 12a 및 도 12b를 참조하여 설명될 것이다.
도 12a는 ECHO-RTCP 패킷을 송신하는 프로세스를 도시한 흐름도이다. 데이터 수신 단말은 임의의 타이밍에서 능동적으로 ECHO-RTCP 패킷을 송신할 수 있다.
만약 RTT를 측정하기 위한 요구가 단계(S501)에서 RTCP 패킷의 송신을 대기하고 있는 동안에 발송된다면, 데이터 수신 단말은 단계(S502)에서 ECHO-RTCP 패킷을 생성하는 프로세스로 진입한다. RTT를 측정하기 위해, 예컨대, 도 11에 도시된 처리 흐름의 단계(S300)에서의 송신 시작에 대한 통지를 수신한 이후 정상 간격에서 RTT가 측정되도록 설정될 수 있다. 좀더 상세하게, 결정된 측정 간격이 지났는지의 여부는 데이터 수신 단말에 있는 타이머에 의해 측정되며, 만약 사전에 결정된 측정 간격이 지났다면, ARQ 결정 유닛(119)은 ECHO-RTCP 패킷을 생성하기 위한 요구를 패킷 생성 유닛(116)에 출력하며, 패킷 생성 유닛(116)은 단계(S502)에서 ECHO-RTCP 패킷을 생성한다. 대안적으로, ECHO-RTCP 패킷이 패킷 분실 상태에 따라 생성되어 송신될 수 있다. 어떤 경우에도, 데이터 수신 단말은 임의의 타이밍에서 ECHO-RTCP 패킷을 생성하여 송신할 수 있으며, 그에 따라 계속해서 최근 RTT를 계산할 수 있다.
단계(S502)에서 생성된 ECHO-RTCP 패킷이 도 9a를 참조하여 앞서 설명된 대로 구성된다. ECHO-RTCP 패킷은 패킷의 고유한 식별자 역할을 하는 ECHO-ID를 포함한다. 단계(S503)에서, ECHO-RTCP 패킷은 RTCP 입력/출력 포트(113)를 통해서 발신 기 단말(104)에 송신된다. 단계(S504)에서, ECHO-RTCP 패킷과 패킷의 ECHO-ID의 송신 시간이 메모리에 기록된다.
도 12b는 ECHO-REPLY-RTCP 패킷의 수신과 RTT의 계산에 대한 흐름도이다. 단계(S601)에서 RTCP 패킷의 송신을 대기하고 있는 동안, 만약 ECHO-REPLY-RTCP 패킷이 수신되었음이 결정된다면{단계(S602)에서 예}, ECHO-REPLY-RTCP 패킷의 수신 시간이 단계(S603)에서 메모리에 기록된다. ECHO-REPLY-RTCP 패킷은 도 9b를 참조하여 앞서 설명된 대로 구성된다. ECHO-REPLY-RTCP 패킷은 관련 ECHO-RTCP 패킷과 동일한 ECHO-ID를 포함하며, 또한 데이터 송신 단말에서 계산된 서버 처리 시간을 포함한다.
단계(S604)에서, 서버 처리 시간이 수신된 ECHO-REPLY-RTCP 패킷에서 추출되어, 단계(S605)에서 관련 ECHO-RTCP 패킷의 송신 시간이 이 수신된 ECHO-REPLY-RTCP 패킷의 ECHO-ID에 기초하여 찾아진다.
단계(S603)에서 얻어진 ECHO-REPLY-RTCP 패킷의 수신 시간과, 단계(S604)에서 얻어진 서버 처리 시간과, 단계(S603)에서 얻어진 ECHO-RTCP 패킷의 송신 시간에 기초하여 단계(S606)에서 RTT가 계산된다. RTT는 다음의 방정식에 따라 계산된다:
RTT = (ECHO-REPLY의 수신 시간) - (ECHO의 송신 시간) - (서버 처리 시간)
RTT를 측정하기 위해서 송신되거나 수신된 ECHO 패킷 또는 ECHO-REPLY 패킷이 분실되는 경우가 또한 가능하다. 더나아가, RTT는 네트워크 상태에 따라 계속해서 변한다. 따라서, 데이터 수신 단말은 RTT를 측정하기 위해 정상 간격으로 ECHO 패킷 및 ECHO-REPLY 패킷을 송신하고 수신한다.
다시, 도 11의 흐름도를 참조하여, 데이터 수신 단말에서의 처리 동작이 계속 설명될 것이다. 도 11의 흐름도를 참조하여, 단계(S312)에서, 만약 재송신 요구 역할을 하는 NACK-RTCP 패킷이 송신된다면, 재송신될 패킷이 실시간 플레이를 위해 시간 내에 수신될 것인지가 결정된다. 만약 전술된 ECHO 패킷의 송신과 ECHO-REPLY 패킷의 수신에 의해 측정된 RTT 및 각 프레임을 처리하기 위해 타이머가 측정한 타이밍의 시간 제한치에 기초하여, 비록 재송신 요구 역할을 하는 NACK-RTCP 패킷이 송신될 지라도 재송신 패킷이 시간 내에 수신되지 않을 것이라고 결정된다면{단계(S312)에서 아니오}, NACK-RTCP 패킷이 송신되지 않는다.
예컨대, 만약 분실 패킷에 관련된 프레임의 인코딩된 데이터를 처리하기 시작할 때까지 시간(Ta)이 100msec라면(Ta=100msec), 즉 타이머 측정치로부터 데이터가 디코더로 전달되고 디코딩이 100msec 내에 시작할 것이라면, 그리고, 만약 가장 최근 측정된 RTT가 관련 프레임의 인코딩된 데이터의 처리를 시작할 때까지의 시간(Ta)보다 더 크다면, 즉 만약 가장 최근의 RTT가 100msec보다 더 크다면, 비록 재송신 요구 역할을 하는 NACK-RTCP 패킷이 송신될지라도 디코딩을 시작하기 위해 재송신 패킷이 시간 내에 수신되지 않을 것이고, 그에 따라 NACK-RTCP 패킷이 송신되지 않음이 결정된다. 비록 RTT가 처리를 시작하기까지의 시간(Ta)보다 더 크거나 같더라도, 만약 RTT와 시간(Ta)이 서로 근접한 값이라면, 재송신이 가까스로 시간 내에 수신될 수 있을 가능성이 있으므로, NACK 패킷은 송신될 수 있다. NACK 패킷을 송신할 것인지의 여부를 결정하기 위한 임계치는 구현에 의존한다.
만약 측정된 가장 최근의 RTT가 분실 패킷에 관련된 프레임의 인코딩된 데이터를 처리하기 시작할 때까지의 시간(Ta)보다 더 작다면, 재송신 요구 역할을 하는 NACK-RTCP 패킷의 송신과 재송신 패킷의수신 사이의 시간이 디코딩을 시작하기까지의 시간 내에 있을 것이므로, 재송신 패킷이 시간 내에 수신될 것이며, 그에 따라 NACK-RTCP 패킷이 단계(S313)에서 송신됨이 결정된다.
단계(S309)에서의 분실 패킷을 검출하는 프로세스는, 단계(S302)에서 프레임의 마지막 패킷이 수신됨이 결정될 때나 단계(S303)에서 프레임의 시작 패킷이 수신됨이 결정될 때뿐만 아니라 프레임의 재송신을 위한 시간 제한치에 관한 단계(S304)가 예로 평가할 때 또는 타이머의 최소 측정 시간(τ)의 만료에 관한 단계(S305)가 예로 평가할 때 수행된다.
단계(S304)에서 프레임의 재송신을 위한 시간 제한치에 관한 결정 프로세스 및 단계(S305)에서 최소 측정 시간(τ)의 경과에 관한 결정 프로세스는 도 5를 참조하여 설명될 것이다.
프레임의 재송신의 시간 제한치에 관한 결정인 단계(S304)의 프로세스는, 만약 재송신 요구 역할을 하는 NACK-RTCP 패킷이 송신된다면 재송신 패킷이 실시간 플레이를 위한 시간 내에 수신될 것인지의 여부를 결정한다. 프레임의 인코딩된 데이터를 처리하기 시작할 때까지의 시간(Ta)이 측정된 RTT와 같게될 때, 즉 Ta = RTT일 때, 단계(S304)는 예로 평가하며, 관련 프레임에서 분실 패킷을 검출하는 프로세스가 단계(S309)에서 수행된다. 이 프로세스가 수행되어, 분실 패킷이 재송신을 위한 시간 제한치 내의 마지막 타이밍에서 검출될 것이며, 만약 분실 패킷이 검 출된다면 마지막 재송신 요구가 송신될 것이다.
도 5의 오른쪽 아래 부분에 도시된 대로, 12,000인 타임스탬프를 갖는 패킷의 처리를 시작할 때까지의 시간(Ta)이 RTT와 같게 될 때, 12,000인 타임스탬프를 갖는 프레임의 재송신을 위한 시간 제한치에 관한 단계(S304)의 결정은 예로 평가하며, 12,000인 타임스탬프를 갖는 프레임에서 분실 패킷을 검출하는 프로세스가 단계(S309)에서 수행되며, 만약 임의의 분실 패킷이 검출된다면, 마지막 재송신 요구가 단계(S311)에서 송신된다. 이러한 프로세스는 도 5의 NACK-RTCP 패킷 송신 프로세스(505)에 대응한다. 타이머의 최소 측정 시간(τ)의 경과에 관한 단계(S305)에서의 결정은 데이터 수신 단말의 타이머의 최소 측정 시간(τ)의 매 주기마다 예로 평가하며, 관련 프레임의 분실 패킷을 검출하는 프로세스가 단계(S309)에서 수행된다. 비록 최소 측정 시간(τ)에 대응하는 각 수신 프레임이 시작 패킷 및 마지막 패킷이 검출되지 않더라도 분실 패킷이 신뢰할 수 있게 검출되고, 그에 따라 재송신 요구가 발송되도록 하기 위해 이 프로세스는 수행된다. 이 프로세스는 도 5의 NACK-RTCP 패킷 송신 프로세스(502 및 503)에 대응한다.
도 5의 NACK-RTCP 패킷 송신 프로세스(502)에서, 5 및 12인 시퀀스 넘버를 갖는 패킷이 이미 수신되어진 타임스탬프를 갖는 프레임을 구성하는 패킷에서의 분실 패킷으로 추출되며, 5 및 12인 시퀀스 넘버를 갖는 분실 패킷을 위한 NACK-RTCP 패킷이 생성되며, 여기서 5 및 12는 도 6을 참조하여 앞서 설명된 지정된 재송신-시퀀스 넘버로 설정되며, NACK-RTCP 패킷이 재송신 요구 패킷으로서 데이터 송신 단말에 송신된다. 시퀀스 넘버 5를 갖는 재송신 요구가 두 번째 송신되므로, "2"가 NACK-RTCP 패킷의 시퀀스 넘버 5와 관련된 "재송신 카운트" 필드에 설정된다.
도 5에서 NACK-RTCP 패킷 송신 프로세스(503)에서, 시퀀스 넘버 5를 갖는 패킷이 이미 수신된 타임스탬프와 관련된 프레임을 구성하는 패킷에서의 분실 패킷으로 추출되며, 시퀀스 넘버 5를 갖는 분실 패킷을 위한 NACK-RTCP 패킷이 생성되어 송신된다. 시퀀스 넘버 5와 관련된 재송신 요구가 세 번째 송신되므로, "3"이 NACK-RTCP 패킷의 시퀀스 넘버 5와 관련된 "재송신 카운트" 필드에 설정된다.
전술된 대로, 데이터 수신 단말에서, 단계(S302)에서 프레임의 마지막 패킷이 수신됨이 결정될 때, 단계(S303)에서 프레임의 시작 패킷이 수신됨이 결정될 때, 단계(S304)에서 재송신을 위한 시간 제한치에 도달됨이 결정될 때 및 타이머의 최소 측정 시간(τ)에 도달되었음이 결정될 때, 단계(S309)에서의 분실 패킷 검출 프로세스는 수행된다. 대안적으로, 단계(S309)의 프로세스는 단계(S302 내지 S305)인 이들 네 타이밍 중 하나에서 수행될 수 있다.
만약 어떠한 분실 패킷도 단계(S309)에서 분실 패킷을 검출하는 프로세스에서 검출되지 않는다면, 디코더(120)는 수신된 패킷에 포함된 인코딩된 데이터를 디코딩한다. 단계(S311)에서, 수신된 패킷의 수신에 대한 긍정적인 승인 역할을 하는 ACK-RTCP 패킷이 생성되어 송신된다. 도 8을 참조하여 앞서 설명된 대로, ACK-RTCP 패킷은 수신되어진 패킷의 시퀀스 넘버를 포함한다. ACK-RTCP 패킷을 수신하자마자, 데이터 송신 단말은, ACK-RTCP 패킷에 포함된, 수신된 패킷의 시퀀스 넘버와 관련된 패킷을 버퍼(103)에서 클리어한다.
도 5의 시간 시퀀스도에서, 15,000인 타임스탬프를 갖는 프레임 데이터를 위 한 ACK-RTCP 패킷이 ACK-RTCP 패킷 송신 프로세스(511)에서 수신 단말로부터 송신 단말로 송신되며, 18,000인 타임스탬프를 갖는 프레임 데이터를 위한 ACK-RTCP가 ACK-RTCP 패킷 송신 프로세스(512)에서 송신되며, 21,000인 타임스탬프를 갖는 프레임 데이터를 위한 ACK-RTCP 패킷이 ACK-RTCP 패킷 송신 프로세스(513)에서 송신된다.
도 11의 흐름도의 단계(S306)에서, 타이머가 프레임을 위한 시간 제한치에 도달하였는지가 결정된다. 시간 제한치는 실시간 플레이를 시작하기 위한 시간 제한치를 지시하기 위해 타이머에 의해 각 프레임에 대해 설정된다. 비록 분실 패킷이 검출되더라도, 만약 타이머가 프레임(n)에 대해 만료됨이 결정된다면, 이 절차는 단계(S310)인 디코딩 프로세스로 진행한다.
단계(S307)에서, 데이터스트림의 마지막을 분명히 선언하는 EOS(End Of Stream) 메시지를 포함하는 RTCP 패킷이 데이터 송신 단말로부터 수신되었음이 결정된다. 만약 EOS-RTCP 패킷이 수신되지 않았다면, 단계(S301) 및 후속 프로세스가 반복된다.
만약 EOS-RTCP 패킷이 수신되었다면, 단계(S308)에서, 프레임에 대한 시간 제한치에 도달되었는지의 여부가 결정된다. 이 시간 제한치는 실시간 플레이하기 위한 시간 제한치를 지시하기 위해 타이머에 의해 각 프레임에 대해 설정된다. 만약 시간 제한치에 도달하지 않았다면, 절차는 단계(S314)로 진행하며, 여기서 재송신 요구와 관련된 분실 패킷에 대응하는 재송신 패킷의 수신을 대기하고 있는지가 결정된다. 만약 이 수신을 대기하고 있다면, 절차는 단계(S315)로 진행하며, 단계(S301) 및 후속 프로세스가 재송신 패킷의 수신을 위해 수행된다.
만약 프레임의 시간 제한치에 관한 단계(S308)의 결정이 예로 평가한다면 또는 만약 재송신 패킷의 수신을 대기하고 있지 않음이 단계(S314)에서 결정된다면, 수신되어 플레이하기 위해 처리되어야 하는 어떠한 패킷 데이터도 존재하지 않음이 결정되어, 그에 따라 수신 프로세스는 완료된다.
전술된 바와 같이, 본 발명에 따른 시스템에서, ARQ 기능이 실시간 데이터 분배에 적절하지만 RTP와 같은 신뢰도를 보장하지 않는 데이터통신 프로토콜에 따라 패킷을 송신하기 위해 제공되어, 에러 복원력과 실시간 플레이를 갖는 신뢰할 만한 데이터 송신을 할 수 있다. 비록 본 실시예가 위에서 RTP 패킷에 제한하지 않고 인코딩된 데이터를 포함하는 RTP 패킷 환경으로 주로 설명되었지만, 실시예의 프로세스에 유사한 재송신 요구 프로세스가 예컨대 심지어 UDP와 같은 기타 통신 프로토콜에 기초하여 패킷을 사용하는 데이터 통신에서도 유사한 제어패킷을 사용하여 구현될 수 있으며, 이것은 본 실시예와 유사한 구현을 할 수 있게 한다.
더나아가, 본 발명에 따라, 전술된 대로, 분실 패킷이 검출되어, 프레임의 시작 패킷이 수신될 때, 프레임의 마지막 패킷이 수신될 때, 처리 동작을 위한 시간 제한치에서, 및 정상 간격(τ)에서와 같은 여러 타이밍에서 재송신 요구가 발송된다. 따라서, 분실 패킷은 신뢰할 만하게 검출된다.
더나아가, 데이터 수신 단말이 플레이하기 위한 처리 시간과 RTT를 고려하여 재송신 요구를 발송하므로, 데이터 수신 단말이 무용한(useless) 재송신 요구 패킷과 재송신 패킷을 송신하는 것이 방지되어, 재송신에 의한 네트워크 대역폭의 감소 를 회피하게 된다. 더나아가, 데이터 수신 단말은 필요할 때 패킷의 송신 및 수신에 관한 정보를 기록하고 패킷 분실 율을 계산한다. 만약 분실 율이 사전에 결정된 값보다 더 크거나 같다면, 재송신의 신뢰도는 동일한 NACK-RTCP 패킷을 중복해서 여러 번 송신함으로써 향상될 수 있다.
더나아가, 지정된 중복 카운트의 설정이 수신 단말에 의해 송신된 재송신 요구 역할을 하는 NACK-RTCP 패킷에서 허용되므로, 재송신될 패킷의 중복 재송신은 네트워크 상태에 따라서 및 수신기가 원하는 대로 요구될 수 있어서, 중요한 데이터의 수신 신뢰도를 개선하는데 기여한다. 예컨대, 플레이하기 위한 시간 내에 수신될 데이터를 위한 마지막 재송신 패킷의 중복 송신을 요구함으로써, 이 데이터는 높은 품질로 플레이될 수 있다.
더나아가, 수신된 패킷에 관한 ACK 메시지가 예컨대 화상 프레임 단위로, 또는 블록 단위로 데이터 수신 단말로부터 데이터 송신 단말로 송신되므로, 결국 패킷 단위로 ACK 메시지를 송신함으로 인해 대역폭을 차지하는 경우는 회피된다. 더나아가, 발신기는, 수신기로부터 수신된 ACK 패킷에 기초하여 재송신을 하기 위해 패킷 누적 버퍼로부터 패킷을 능동적으로 버릴 수 있게 되어, 버퍼 오버플로우 및 버퍼 언더플로우를 방지하는데 기여한다.
데이터 송신/수신 단말의 예시적 구성
전술된 실시예에서의 일련의 프로세스는 하드웨어 또는 소프트웨어 또는 그 조합을 통해 수행될 수 있다. 소프트웨어로 이 프로세스를 수행하기 위해, 처리 시퀀스를 정의하는 프로그램이 전용 하드웨어에 삽입된 데이터 처리 장치의 메모리에 설치될 수 있거나, 이 프로그램은 여러 프로세스를 처리할 수 있는 범용 컴퓨터 상에 설치될 수 있다. 일련의 프로세스가 소프트웨어에 의해 수행될 때, 소프트웨어를 구성하는 프로그램은, 예컨대 범용 컴퓨터나 마이크로컴퓨터 상에 설치된다.
도 13은 전술한 실시예에서의 일련의 프로세스를 수행하기 위한 데이터 송신 장치 및 데이터 수신 장치의 예시적인 시스템 구성을 도시한다. 본 발명에 따른 시스템에서 송신되고 수신된 데이터는 인코딩된 데이터이다. 데이터 송신 장치는 데이터를 인코딩하고 데이터 수신 장치는 이 데이터를 디코딩한다. 인코딩된 데이터는 네트워크를 통해서 패킷으로 송신되고 수신된다. 데이터 송신 장치는 데이터를 패킷화하고, 데이터 수신 장치는 패킷을 패킷해제한다.
도 13을 참조하면, 데이터 송신/수신 장치(예컨대, 개인용 컴퓨터)(850)는 데이터를 인코딩 및 디코딩하고 또한 패킷화 및 패킷해제하기 위한 코덱(codec)(851)과, 통신 네트워크와의 인터페이스 기능을 하는 네트워크 인터페이스(852)와, 마우스(837) 및 키보드(836)와 같은 입력 디바이스와의 입/출력 인터페이스(853)와, 비디오 카메라(833), 마이크(834) 및 스피커(835)와 같은 AV-데이터 입/출력 장치에 및 이러한 장치로부터 데이터를 입력하고 출력하기 이한 AV 인터페이스(854)와, 디스플레이(832)와의 데이터 출력 인터페이스 기능을 하는 디스플레이 인터페이스(855)와, 데이터 입/출력 인터페이스, 코덱(851) 및 네트워크 인터페이스(852) 사이에서 데이터의 전송을 제어하고 다양한 프로그램을 실행하기 위한 CPU(856)와, CPU(856)에 의해 수행되는 여러 프로그램을 저장하고 데이터를 저장하기 위한 RAM 및 ROM을 포함하며 CPU(856)를 위한 작업 영역 기능을 하는 메모 리(857)와, 데이터 및 프로그램을 저장하기 위한 저장 매체 기능을 하는 HDD(858)를 포함하며, 이들 구성요소는 구성 요소 사이에서 데이터를 교환할 수 있게 하기 위해 PCI 버스(859)에 연결된다.
도 13을 참조하면, 코덱(851)은 예컨대 비디오 카메라(833)로부터 비디오 데이터를 수신하고 마이크(834)로부터 오디오 데이터를 수신하며, 이들 데이터를 인코딩 및 패킷화하여, 그 페이로드로서 인코딩된 데이터를 포함하는 패킷을 생성한다. 패킷은 PCI 버스(859)로 전송되고 네트워크 인터페이스(852)를 통해서 네트워크로 출력되며, 그런 다음 패킷의 헤더에 설정된 목적지 주소로 운반된다.
비디오 카메라(833)로부터의 비디오 데이터와 마이크(834)로부터의 오디오 데이터는, HDD(858) 또는 메모리(857)에 저장된 소프트웨어 인코딩 프로그램에 따른 CPU(856)의 제어 하에서 인코딩되어 네트워크 인터페이스(852)를 통해 네트워크로 출력될 수 있다.
네트워크를 통해 수신된 IP 패킷에서의 데이터는 네트워크 인터페이스(852)를 통해 버스(859)로 전송되며, 그런 다음 코덱(851)에 입력된다. 코덱(851)은 그 페이로드로서 패킷에 포함된 인코딩된 데이터를 추출하기 위해 패킷을 패킷해제하고, 인코딩된 데이터를 디코딩하며, 이를 통해 데이터가 디스플레이(832)와 스피커(835)에 출력되어 이들에 의해 플레이된다.
전술된 실시예에서 처리되는 비디오 데이터 등은 카메라와 같은 입력 디바이스, 스캐너와 같은 데이터입력 장치 또는 플로피디스크, CD-ROM(Compact Disc Read-Only Memory), MO(Magneto-Optical) 디스크, 자기 디스크 또는 반도체 메모리 와 같은 탈착 가능한 기록 매체로부터 입력될 수 있다.
더나아가, ROM에 저장된 프로그램으로 제한되지 않고, CPU(856)는 하드디스크에 저장된 프로그램, 위성 또는 네트워크를 통해 전송되어 RAM(Random Access Memory)에 설치 등이 되는 프로그램을 로드할 수 있으며, 그 프로그램을 수행할 수 있다.
본 명세서에서 지칭된 프로그램은 하나의 컴퓨터나 또는 분배 방식으로 복수의 컴퓨터에 의해 수행될 수 있다. 더나아가, 프로그램은 원격 컴퓨터에 의해 수행되도록 전송될 수 있다.
비록 본 발명이 특정 실시예의 환경에서 설명되었지만, 본 발명의 사상을 벗어나지 않는다면 여러 변형 및 대안이 당업자에 의해 만들어질 수 있음이 이해될 것이다. 즉, 본 발명의 설명은 단지 예시적인 것이며, 제한하는 것으로 해석되지는 않아야 한다. 본 발명의 범위는 첨부된 청구항에 의해 정의된다.
전술한 대로, 본 발명에 따라, RTP 또는 UDP와 같은 데이터 통신 프로토콜에 따라 패킷을 송신하기 위해 ARQ 기능이 제공된다. 예컨대, 각 프레임의 시작 패킷이 수신될 때, 각 프레임의 마지막 패킷이 수신될 때, 처리 동작의 시간 제한치에서, 및 정상 간격(τ)에서와 같은 여러 타이밍에서 분실 패킷이 검출되며, 재송신 요구는 필요할 때 발송된다. 따라서, 분실 패킷은 신뢰할 만하게 검출되어, 에러 회복력을 갖는 신뢰할 만한 데이터 송신을 달성하는데 기여하여 실시간 플레이를 허용한다.
더나아가, 본 발명에 따라, 만약 재송신 패킷이 처리 시간 및 RTT를 고려하여 디코딩을 포함하는 플레이를 위한 처리를 위해 시간 내에 수신되지 않을 것이라면, 데이터 수신 단말은 재송신 요구 패킷을 송신하지 않는다. 따라서, 무용한 재송신 요구 패킷과 재송신 패킷의 송신은 회피되어, 빈번한 재송신으로 인해 네트워크 대역폭이 감소하는 것을 회피하는데 기여한다.
더나아가, 본 발명에 따라, 패킷 분실 율이 계산될 수 있도록, 필요할 때 패킷의 송신 및 수신에 관한 정보를 데이터 수신 단말에 기록함으로써, 재송신의 신뢰도는, 만약 데이터 수신 단말이 검출한 분실 율이 사전에 결정된 값보다 더 크거나 같게 된다면 동일한 NACK 패킷을 중복해서 능동적으로 송신함으로써 개선될 수 있다.
더나아가, 본 발명에 따라, 지정된 중복 카운트의 설정이, 수신 단말에 의해 송신되고 재송신 요구 역할을 하는 NACK 패킷에서 허용된다. 따라서, 재전송될 패킷의 중복 재전송이 네트워크 상태 및 수신 단말로부터의 요구에 따라 요구될 수 있어서, 중요한 데이터의 수신 신뢰도가 향상되게 된다. 특히, 만약 플레이를 위한 시간 내에 수신되는 패킷에 대한 마지막 재송신 패킷이 분실된다면, 불완전한 데이터가 플레이될 것이고, 따라서 수신 단말은 재송신의 신뢰도를 향상하기 위해 패킷의 중복 재송신을 요구하여, 플레이된 데이터의 품질을 향상하는데 기여한다.
더나아가, 본 발명에 따라, 수신된 패킷에 대한 ACK 메시지가 패킷 단위가 아닌 프레임 단위로, 블록 단위로 또는 복수의 패킷 단위로 데이터 수신 단말로부터 수신된다. 따라서, ACK 패킷에 의한 대역폭 점유는 회피된다. 더나아가, 데이터 송신 단말은 수신 단말로부터 수신된 ACK 패킷에 기초하여 재송신하기 위해 패킷 누적 버퍼로부터 패킷을 능동적으로 버릴 수 있어서, 버퍼 오버플로우 및 버퍼 언더플로우를 방지하는데 기여한다.
Claims (39)
- 데이터 송신 장치 및 데이터 수신 장치를 포함하며, 스트리밍 데이터를 전송하기 위한 데이터 통신 시스템으로서,상기 데이터 송신 장치는,송신 데이터를 포함하는 복수의 데이터 패킷을 송신하기 위한 패킷 송신 처리 유닛과;상기 데이터 수신 장치로부터 수신된 재송신-요구 메시지 패킷에 따라 재송신될 하나 이상의 데이터 패킷을 추출하기 위한 재송신 제어 유닛을 포함하며;상기 데이터 수신 장치는,상기 데이터 송신 장치로부터 송신된 복수의 데이터 패킷을 수신하기 위한 패킷 수신 처리 유닛과;상기 데이터 송신 장치로부터 송신된 복수의 데이터 패킷에서의 에러 또는 분실 패킷의 검출에 기초하여, 데이터-패킷 재송신 요구 역할을 하는 재송신-요구 메시지 패킷을 상기 데이터 송신 장치에 송신할 것 인지의 여부를 결정하기 위한 재송신-요구 처리 제어 유닛을 포함하며;상기 재송신-요구 처리 제어 유닛은, 재송신 요구와 관련된 하나 이상의 재송신 데이터 패킷이 상기 하나 이상의 재송신 데이터 패킷에 포함된 데이터를 플레이하는 것에 관련된 처리를 위한 시간 내에 수신될 수 있는지를 결정하고, 상기 하나 이상의 재송신 데이터 패킷이 시간 내에 수신될 수 있는 상황에서 상기 재송신 요구를 송신할 것을 결정하는, 데이터 통신 시스템.
- 제 1항에 있어서, 상기 복수의 데이터 패킷에 포함된 상기 데이터는 인코딩된 데이터이고, 상기 데이터 수신 장치의 상기 재송신-요구 처리 제어 유닛은, 상기 재송신 요구와 관련된 상기 하나 이상의 재송신 데이터 패킷이 상기 하나 이상의 재송신 데이터 패킷에 포함된 상기 데이터를 플레이하는 것에 관련된, 디코딩을 포함하는 처리를 위한 시간 내에 수신될 수 있는지를 결정하는, 데이터 통신 시스템.
- 제 1항에 있어서, 상기 재송신 요구는, 재송신될 하나 이상의 데이터 패킷의 식별 데이터 역할을 하는 하나 이상의 시퀀스 넘버를 포함하고, 또한 상기 하나 이상의 시퀀스 넘버와 관련된 상기 하나 이상의 데이터 패킷의 중복 재송신의 지정된 카운트 데이터를 포함하는 메시지 패킷이며, 상기 데이터 송신 장치는, 상기 재송신-요구 메시지 패킷에 지정된 중복 재송신의 상기 지정된 카운트 데이터에 따라서 상기 하나 이상의 시퀀스 넘버와 관련된 상기 하나 이상의 데이터 패킷의 중복 재송신을 수행하는, 데이터 통신 시스템.
- 제 1항에 있어서, 상기 데이터 송신 장치와 상기 데이터 수신 장치 사이에 전송된 상기 복수의 데이터 패킷은 동화상 데이터를 포함하며, 상기 데이터 수신 장치의 상기 재송신-요구 처리 제어 유닛은, 상기 동화상 데이터의 하나의 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 마지막 데이터 패킷을 수신하자마자, 상기 마지막 데이터 패킷이 속해 있는 상기 화상 프레임을 구성하는 상기 데이터를 포함하는 상기 복수의 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하는, 데이터 통신 시스템.
- 제 1항에 있어서, 상기 데이터 송신 장치와 상기 데이터 수신 장치 사이에 전송된 상기 복수의 데이터 패킷은 동화상 데이터를 포함하며, 상기 데이터 수신 장치의 상기 재송신-요구 처리 제어 유닛은, 상기 동화상 데이터의 하나의 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 시작 데이터 패킷을 수신하자마자, 상기 시작 데이터 패킷이 속해 있는 상기 화상 프레임 이전의 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하는, 데이터 통신 시스템.
- 제 1항에 있어서, 상기 데이터 수신 장치의 상기 재송신-요구 처리 제어 유닛은, 상기 데이터를 플레이하는 것에 관련된 처리를 위한 시간 내에 수신될 데이터 패킷에 포함된 데이터에 대한 재송신 요구의 시간 제한치에 기초하여 상기 수신된 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하는, 데이터 통신 시스템.
- 제 1항에 있어서, 상기 데이터 수신 장치의 상기 재송신-요구 처리 제어 유 닛은 정상(regular) 시간 간격에 기초하여 상기 수신된 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하는, 데이터 통신 시스템.
- 제 1항에 있어서, 상기 데이터 수신 장치의 상기 재송신-요구 처리 제어 유닛은, 상기 데이터 송신 장치와 상기 데이터 수신 장치 사이의 왕복 시간(round-trip time)을 측정하기 위해 에코(echo) 패킷을 상기 데이터 송신 장치에 송신하는 동작과 상기 에코 패킷에 응답하여 에코-응답(echo-reply) 패킷을 수신하는 동작을 제어하며, 상기 에코 패킷 및 상기 에코-응답 패킷에 기초하여 계산된 상기 왕복 시간에 기초하여, 상기 재송신 요구와 관련된 상기 하나 이상의 재송신 데이터 패킷이 상기 하나 이상의 재송신 데이터 패킷에 포함된 상기 데이터를 플레이하는 것에 관련된 처리를 위한 시간 내에 수신될 수 있는지를 결정하는, 데이터 통신 시스템.
- 제 1항에 있어서, 상기 데이터 수신 장치가 생성한 상기 재송신-요구 메시지 패킷은, 하나 이상의 데이터 패킷을 지정하는 시퀀스-넘버 지정 데이터와 하나 이상의 패킷을 위한 타임스탬프(timestamp)를 지정하는 타임스탬프 지정 데이터 중 적어도 하나를 포함하고, 또한 상기 재송신 요구의 범위를 지정하는 옵션값을 포함하며, 상기 데이터 송신 장치의 상기 재송신 제어 유닛은, 상기 데이터 수신 장치로부터 수신된 상기 재송신-요구 메시지 패킷에 포함된 상기 시퀀스-넘버 지정 데이터와 상기 타임스탬프 지정 데이터 중 적어도 하나 및 상기 옵션값에 기초하여 재송신될 하나 이상의 패킷을 추출하는, 데이터 통신 시스템.
- 제 1항에 있어서, 상기 복수의 데이터 패킷 각각은 데이터 전송 프로토콜 역할을 하는 실시간 전송 프로토콜에 따른 포맷을 가지며, 상기 재송신 요구는 제어 프로토콜 역할을 하는 실시간 전송 제어 프로토콜에 따른 포맷을 갖는, 데이터 통신 시스템.
- 제 1항에 있어서, 상기 데이터 수신 장치는 하나의 재송신-요구 메시지 패킷을 사용하여 복수의 데이터 패킷에 대한 재송신 요구를 상기 데이터 송신 장치에 송신하는, 데이터 통신 시스템.
- 제 1항에 있어서, 상기 데이터 수신 장치는 하나의 수신-승인 메시지 패킷을 사용하여 복수의 데이터 패킷의 수신에 대한 승인을 상기 데이터 송신 장치에 송신하는, 데이터 통신 시스템.
- 삭제
- 삭제
- 스트리밍 데이터를 수신하기 위한 데이터 수신 장치로서,데이터 송신 장치로부터 송신된 복수의 데이터 패킷을 수신하기 위한 패킷 수신 처리 유닛과;상기 데이터 송신 장치로부터 송신된 상기 복수의 데이터 패킷에서의 에러 또는 분실 패킷의 검출에 기초하여, 데이터-패킷 재송신 요구 역할을 하는 재송신-요구 메시지 패킷을 상기 데이터 송신 장치에 송신할 것 인지의 여부를 결정하기 위한 재송신-요구 처리 제어 유닛을 포함하며;상기 재송신-요구 처리 제어 유닛은, 상기 재송신 요구와 관련된 하나 이상의 재송신 데이터 패킷이 상기 하나 이상의 재송신 데이터 패킷에 포함된 데이터를 플레이하는 것에 관련된 처리를 위한 시간 내에 수신될 수 있는지를 결정하고, 상기 하나 이상의 재송신 데이터 패킷이 시간 내에 수신될 수 있는 상황에서 상기 재송신 요구를 송신할 것을 결정하는, 데이터 수신 장치.
- 제 15항에 있어서, 상기 복수의 데이터 패킷에 포함된 상기 데이터는 인코딩된 데이터이고, 상기 재송신-요구 처리 제어 유닛은, 상기 재송신 요구와 관련된 상기 하나 이상의 재송신 데이터 패킷이 상기 하나 이상의 재송신 데이터 패킷에 포함된 상기 데이터를 플레이하는 것에 관련된, 디코딩을 포함하는 처리를 위한 시간 내에 수신될 수 있는지를 결정하는, 데이터 수신 장치.
- 제 15항에 있어서, 재송신될 하나 이상의 데이터 패킷의 식별 데이터 역할을 하는 하나 이상의 시퀀스 넘버를 포함하고, 또한 상기 하나 이상의 시퀀스 넘버와 관련된 상기 하나 이상의 데이터 패킷의 중복 재송신의 지정된 카운트 데이터를 포함하는 메시지 패킷이 생성되어, 상기 데이터 송신 장치로 송신되는, 데이터 수신 장치.
- 제 15항에 있어서, 상기 데이터 수신 장치에 의해 수신된 상기 복수의 데이터 패킷은 동화상 데이터를 포함하며, 상기 재송신-요구 처리 제어 유닛은, 상기 동화상 데이터의 하나의 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 마지막 데이터 패킷을 수신하자마자, 상기 마지막 데이터 패킷이 속해 있는 상기 화상 프레임을 구성하는 상기 데이터를 포함하는 상기 복수의 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하는, 데이터 수신 장치.
- 제 15항에 있어서, 상기 데이터 수신 장치에 의해 수신된 상기 복수의 데이터 패킷은 동화상 데이터를 포함하며, 상기 재송신-요구 처리 제어 유닛은, 상기 동화상 데이터의 하나의 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 시작 데이터 패킷을 수신하자마자, 상기 시작 데이터 패킷이 속해 있는 상기 화상 프레임 이전의 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하는, 데이터 수신 장치.
- 제 15항에 있어서, 상기 재송신-요구 처리 제어 유닛은, 데이터를 플레이하는 것에 관련된 처리를 위한 시간 내에 수신될 데이터 패킷에 포함된 데이터에 대한 재송신 요구의 시간 제한치에 기초하여, 상기 수신된 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하는, 데이터 수신 장치.
- 제 15항에 있어서, 상기 재송신-요구 처리 제어 유닛은 정상 시간 간격에 기 초하여 상기 수신된 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하는, 데이터 수신 장치.
- 제 15항에 있어서, 상기 재송신-요구 처리 제어 유닛은, 상기 데이터 송신 장치와 상기 데이터 수신 장치 사이의 왕복 시간을 측정하기 위해, 에코 패킷을 상기 데이터 송신 장치에 송신하는 동작과 상기 에코 패킷에 응답하여 에코-응답 패킷을 수신하는 동작을 제어하며, 상기 에코 패킷 및 상기 에코-응답 패킷에 기초하여 계산된 상기 왕복 시간에 기초하여, 상기 재송신 요구와 관련된 상기 하나 이상의 재송신 데이터 패킷이 상기 하나 이상의 재송신 데이터 패킷에 포함된 상기 데이터를 플레이하는 것에 관련된 처리를 위한 시간 내에 수신될 수 있는지를 결정하는, 데이터 수신 장치.
- 제 15항에 있어서, 하나 이상의 데이터 패킷을 지정하는 시퀀스-넘버 지정 데이터와 하나 이상의 패킷을 위한 타임스탬프를 지정하는 타임스탬프 지정 데이터 중 적어도 하나를 포함하고, 또한 상기 재송신 요구의 범위를 지정하는 옵션값을 포함하는 재송신-요구 메시지 패킷이 생성되어, 상기 데이터 송신 장치로 송신되는, 데이터 수신 장치.
- 제 15항에 있어서, 상기 복수의 데이터 패킷 각각은 데이터 전송 프로토콜 역할을 하는 실시간 전송 프로토콜에 따른 포맷을 가지며, 상기 재송신 요구는 제 어 프로토콜 역할을 하는 실시간 전송 제어 프로토콜에 따른 포맷을 갖는, 데이터 수신 장치.
- 제 15항에 있어서, 복수의 데이터 패킷을 위한 재송신 요구는 하나의 재송신-요구 메시지 패킷을 사용하여 상기 데이터 송신 장치에 송신되는, 데이터 수신 장치.
- 제 15항에 있어서, 복수의 데이터 패킷의 수신에 대한 승인은 하나의 수신-승인 메시지 패킷을 사용하여 상기 데이터 송신 장치에 송신되는, 데이터 수신 장치.
- 데이터 송신 장치와 데이터 수신 장치 사이에 스트리밍 데이터를 전송하기 위한 데이터 통신 방법으로서,상기 데이터 송신 장치는,송신 데이터를 포함하는 복수의 데이터 패킷을 송신하는 패킷 송신 처리 단계와;상기 데이터 수신 장치로부터 수신된 재송신-요구 메시지 패킷에 따라 재송신될 하나 이상의 데이터 패킷을 추출하는 재송신 제어 단계를 수행하며;상기 데이터 수신 장치는,상기 데이터 송신 장치로부터 송신된 상기 복수의 데이터 패킷을 수신하는 패킷 수신 처리 단계와;상기 데이터 송신 장치로부터 송신된 상기 복수의 데이터 패킷에서의 에러 또는 분실 패킷의 검출에 기초하여, 데이터-패킷 재송신 요구 역할을 하는 재송신-요구 메시지 패킷을 상기 데이터 송신 장치에 송신할 것 인지의 여부를 결정하는 재송신-요구 처리 제어 단계를 수행하며;상기 재송신-요구 처리 제어 단계에서, 상기 재송신 요구와 관련된 하나 이상의 재송신 데이터 패킷이 상기 하나 이상의 재송신 데이터 패킷에 포함된 데이터를 플레이하는 것에 관련된 처리를 위한 시간 내에 수신될 수 있는지가 결정되고, 상기 하나 이상의 재송신 데이터 패킷이 시간 내에 수신될 수 있는 상황에서 상기 재송신 요구가 송신되어야 함이 결정되는, 데이터 통신 방법.
- 제 27항에 있어서, 상기 복수의 데이터 패킷에 포함된 데이터는 인코딩된 데이터이고, 상기 데이터 수신 장치에서 수행되는 상기 재송신-요구 처리 제어 단계는, 상기 재송신 요구와 관련된 상기 하나 이상의 재송신 데이터 패킷이 상기 하나 이상의 재송신 데이터 패킷에 포함된 상기 데이터를 플레이하는 것에 관련된, 디코딩을 포함하는 처리를 위한 시간 내에 수신될 수 있는지를 결정하는 단계를 포함하는, 데이터 통신 방법.
- 제 27항에 있어서, 상기 재송신 요구는, 재송신될 하나 이상의 데이터 패킷의 식별 데이터 역할을 하는 하나 이상의 시퀀스 넘버를 포함하고, 또한 상기 하나 이상의 시퀀스 넘버와 관련된 상기 하나 이상의 데이터 패킷의 중복 재송신의 지정된 카운트 데이터를 포함하는 메시지 패킷이며, 상기 데이터 송신 장치는, 상기 재송신-요구 메시지 패킷에 지정된 중복 재송신의 상기 지정된 카운트 데이터에 따라서 상기 하나 이상의 시퀀스 넘버와 관련된 상기 하나 이상의 데이터 패킷의 중복 재송신을 수행하는, 데이터 통신 방법.
- 제 27항에 있어서, 상기 데이터 송신 장치와 상기 데이터 수신 장치 사이에 전송된 상기 복수의 데이터 패킷은 동화상 데이터를 포함하며, 상기 데이터 수신 장치에서 수행되는 상기 재송신-요구 처리 제어 단계는, 상기 동화상 데이터의 하나의 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 마지막 데이터 패킷을 수신하자마자, 상기 마지막 데이터 패킷이 속해 있는 상기 화상 프레임을 구성하는 상기 데이터를 포함하는 상기 복수의 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하는 단계를 포함하는, 데이터 통신 방법.
- 제 27항에 있어서, 상기 데이터 송신 장치와 상기 데이터 수신 장치 사이에 전송된 상기 복수의 데이터 패킷은 동화상 데이터를 포함하며, 상기 데이터 수신 장치에서 수행되는 상기 재송신-요구 처리 제어 단계는, 상기 동화상 데이터의 하나의 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 시작 데이터 패킷을 수신하자마자, 상기 시작 데이터 패킷이 속해 있는 상기 화상 프레임 이전의 화상 프레임을 구성하는 데이터를 포함하는 복수의 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하는 단계를 포함하는, 데이터 통신 방법.
- 제 27항에 있어서, 상기 데이터 수신 장치에서 수행되는 상기 재송신-요구 처리 제어 단계는, 상기 데이터를 플레이하는 것에 관련된 처리를 위한 시간 내에 수신될 데이터 패킷에 포함된 데이터에 대한 재송신 요구의 시간 제한치에 기초하여 상기 수신된 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하는 단계를 포함하는, 데이터 통신 방법.
- 제 27항에 있어서, 상기 데이터 수신 장치에서 수행되는 상기 재송신-요구 처리 제어 단계는 정상 시간 간격에 기초하여 상기 수신된 데이터 패킷에서의 에러 또는 분실 데이터 패킷을 검출하는 단계를 포함하는, 데이터 통신 방법.
- 제 27항에 있어서, 상기 데이터 수신 장치는, 상기 데이터 송신 장치와 상기 데이터 수신 장치 사이의 왕복 시간을 측정하기 위해 에코 패킷을 상기 데이터 송신 장치에 송신하는 동작과 상기 에코 패킷에 응답하여 에코-응답 패킷을 수신하는 동작을 제어하는 단계를 더 수행하고, 상기 재송신-요구 처리 제어 단계는, 상기 에코 패킷 및 상기 에코-응답 패킷에 기초하여 계산된 상기 왕복 시간에 기초하여, 상기 재송신 요구와 관련된 상기 하나 이상의 재송신 데이터 패킷이 상기 하나 이상의 재송신 데이터 패킷에 포함된 상기 데이터를 플레이하는 것에 관련된 처리를 위한 시간 내에 수신될 수 있는지를 결정하는 단계를 포함하는, 데이터 통신 방법.
- 제 27항에 있어서, 상기 데이터 수신 장치가 생성한 상기 재송신-요구 메시지 패킷은, 하나 이상의 데이터 패킷을 지정하는 시퀀스-넘버 지정 데이터와 하나 이상의 패킷을 위한 타임스탬프를 지정하는 타임스탬프 지정 데이터 중 적어도 하나를 포함하고, 또한 상기 재송신 요구의 범위를 지정하는 옵션값을 포함하며, 상기 데이터 송신 장치에서 수행되는 상기 재송신 제어 단계에서, 상기 데이터 수신 장치로부터 수신된 상기 재송신-요구 메시지 패킷에 포함된 상기 시퀀스-넘버 지정 데이터와 상기 타임스탬프 지정 데이터 중 적어도 하나 및 상기 옵션값에 기초하여 재송신될 하나 이상의 패킷이 추출되는, 데이터 통신 방법.
- 제 27항에 있어서, 상기 복수의 데이터 패킷 각각은 데이터 전송 프로토콜 역할을 하는 실시간 전송 프로토콜에 따른 포맷을 가지며, 상기 재송신 요구는 제어 프로토콜 역할을 하는 실시간 전송 제어 프로토콜에 따른 포맷을 갖는, 데이터 통신 방법.
- 제 27항에 있어서, 상기 데이터 수신 장치는, 하나의 재송신-요구 메시지 패킷을 사용하여 복수의 데이터 패킷에 대한 재송신 요구를 상기 데이터 송신 장치에 송신하는 단계를 더 수행하는, 데이터 통신 방법.
- 제 27항에 있어서, 상기 데이터 수신 장치는, 하나의 수신-승인 메시지 패킷을 사용하여 복수의 데이터 패킷의 수신에 대한 승인을 상기 데이터 송신 장치에 송신하는 단계를 더 수행하는, 데이터 통신 방법.
- 스트리밍 데이터를 수신하기 위한 컴퓨터 프로그램을 기록한 기록 매체로서,데이터 송신 장치로부터 송신된 복수의 데이터 패킷을 수신하는 패킷 수신 처리 단계와;상기 데이터 송신 장치로부터 송신된 상기 복수의 데이터 패킷에서의 에러 또는 분실 패킷의 검출에 기초하여, 데이터-패킷 재송신 요구 역할을 하는 재송신-요구 메시지 패킷을 상기 데이터 송신 장치에 송신할 것인지를 결정하는 재송신-요구 처리 제어 단계를 포함하며;상기 재송신-요구 처리 제어 단계는, 상기 재송신 요구와 관련된 하나 이상의 재송신 데이터 패킷이 상기 하나 이상의 재송신 데이터 패킷에 포함된 데이터를 플레이하는 것에 관련된 처리를 위한 시간 내에 수신될 수 있는지를 결정하고, 상기 하나 이상의 재송신 데이터 패킷이 시간 내에 수신될 수 있는 상황에서 상기 재송신 요구가 송신되어야 함을 결정하는 단계를 포함하는 컴퓨터 프로그램을 기록한 기록 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2001-00369731 | 2001-12-04 | ||
JP2001369731A JP3912091B2 (ja) | 2001-12-04 | 2001-12-04 | データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030045643A KR20030045643A (ko) | 2003-06-11 |
KR100967377B1 true KR100967377B1 (ko) | 2010-07-05 |
Family
ID=19179073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20020076260A KR100967377B1 (ko) | 2001-12-04 | 2002-12-03 | 데이터 통신 시스템, 데이터 송신 장치, 데이터 수신 장치, 데이터 통신 방법, 및 컴퓨터 프로그램을 기록한 매체 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7315898B2 (ko) |
JP (1) | JP3912091B2 (ko) |
KR (1) | KR100967377B1 (ko) |
Families Citing this family (163)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7576770B2 (en) * | 2003-02-11 | 2009-08-18 | Raymond Metzger | System for a plurality of video cameras disposed on a common network |
US7698450B2 (en) | 2000-11-17 | 2010-04-13 | Monroe David A | Method and apparatus for distributing digitized streaming video over a network |
US6996624B1 (en) * | 2001-09-27 | 2006-02-07 | Apple Computer, Inc. | Reliable real-time transport protocol |
KR100460970B1 (ko) * | 2002-01-10 | 2004-12-09 | 삼성전자주식회사 | 데이터 송수신 시스템 및 방법 |
JP3900413B2 (ja) * | 2002-02-14 | 2007-04-04 | Kddi株式会社 | 映像情報伝送方式およびプログラム |
US7542471B2 (en) | 2002-10-30 | 2009-06-02 | Citrix Systems, Inc. | Method of determining path maximum transmission unit |
US8233392B2 (en) * | 2003-07-29 | 2012-07-31 | Citrix Systems, Inc. | Transaction boundary detection for reduction in timeout penalties |
US8270423B2 (en) | 2003-07-29 | 2012-09-18 | Citrix Systems, Inc. | Systems and methods of using packet boundaries for reduction in timeout prevention |
US7616638B2 (en) | 2003-07-29 | 2009-11-10 | Orbital Data Corporation | Wavefront detection and disambiguation of acknowledgments |
US7630305B2 (en) | 2003-07-29 | 2009-12-08 | Orbital Data Corporation | TCP selective acknowledgements for communicating delivered and missed data packets |
US7689709B2 (en) * | 2002-12-13 | 2010-03-30 | Sap Ag | Native format tunneling |
JP2004289711A (ja) * | 2003-03-25 | 2004-10-14 | Toshiba Corp | 送信装置及び受信装置 |
JP3825416B2 (ja) * | 2003-04-14 | 2006-09-27 | 国立大学法人北陸先端科学技術大学院大学 | データ同期方法、データ同期システム及びデータ同期プログラム |
EP1478139B1 (en) * | 2003-05-16 | 2013-03-13 | Ntt Docomo, Inc. | Packet communications system, base station and mobile station |
US7076717B2 (en) * | 2003-06-13 | 2006-07-11 | Microsoft Corporation | Time-aware best-effort hole-filling retry method and system for network communications |
JP4865549B2 (ja) * | 2003-07-11 | 2012-02-01 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 送信機から受信機へのデータ・パケットの送信 |
US8437284B2 (en) | 2003-07-29 | 2013-05-07 | Citrix Systems, Inc. | Systems and methods for additional retransmissions of dropped packets |
US7656799B2 (en) | 2003-07-29 | 2010-02-02 | Citrix Systems, Inc. | Flow control system architecture |
US7417989B1 (en) * | 2003-07-29 | 2008-08-26 | Sprint Spectrum L.P. | Method and system for actually identifying a media source in a real-time-protocol stream |
US8238241B2 (en) | 2003-07-29 | 2012-08-07 | Citrix Systems, Inc. | Automatic detection and window virtualization for flow control |
US7698453B2 (en) * | 2003-07-29 | 2010-04-13 | Oribital Data Corporation | Early generation of acknowledgements for flow control |
US8432800B2 (en) | 2003-07-29 | 2013-04-30 | Citrix Systems, Inc. | Systems and methods for stochastic-based quality of service |
US7885264B2 (en) * | 2003-09-18 | 2011-02-08 | Nomura Research Institute Co., Ltd. | Communications system, communications device, and data retransmission control method |
US8104065B2 (en) * | 2003-11-13 | 2012-01-24 | Arris Group, Inc. | System to provide markers to affect rendering and navigation of content on demand |
US20070097987A1 (en) * | 2003-11-24 | 2007-05-03 | Rey Jose L | Feedback provision using general nack report blocks and loss rle report blocks |
JP4452983B2 (ja) * | 2004-01-08 | 2010-04-21 | ソニー株式会社 | 受信装置および方法、プログラム、並びに記録媒体 |
JP4268076B2 (ja) | 2004-03-09 | 2009-05-27 | 株式会社エヌ・ティ・ティ・ドコモ | 移動通信システム、移動端末及びネットワーク側対向装置 |
CN101562844B (zh) * | 2004-03-09 | 2016-09-28 | 奥普蒂斯无线技术有限责任公司 | 发送方法、发送装置以及集成电路 |
US8359349B2 (en) * | 2004-03-18 | 2013-01-22 | Nokia Corporation | System and associated terminal, method and computer program product for uploading content |
US8296436B2 (en) * | 2004-03-22 | 2012-10-23 | Nokia Corporation | Conveying parameters for broadcast/multicast sessions via a communication protocol |
JP2005303927A (ja) * | 2004-04-15 | 2005-10-27 | Sony Corp | 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム |
US7839844B2 (en) * | 2004-07-30 | 2010-11-23 | Sony Corporation | System and method for dynamically determining retransmit buffer time |
US7643503B2 (en) * | 2004-07-30 | 2010-01-05 | Sony Corporation | System and method for dynamically determining retransmit buffer time |
KR100881508B1 (ko) | 2004-09-21 | 2009-02-05 | 히다찌 커뮤니케이션 테크놀로지 | 패킷 제어 장치, 무선 통신 장치, 및 송신 제어 방법 |
US7702750B2 (en) | 2004-09-29 | 2010-04-20 | Citrix Systems, Inc. | System and method for event detection and re-direction over a network using a presentation level protocol |
US8069226B2 (en) | 2004-09-30 | 2011-11-29 | Citrix Systems, Inc. | System and method for data synchronization over a network using a presentation level protocol |
US8130633B2 (en) * | 2004-10-22 | 2012-03-06 | Research In Motion Limited | Method for transferring data in a wireless network |
US7522528B2 (en) * | 2004-11-18 | 2009-04-21 | Qvidium Technologies, Inc. | Low-latency automatic repeat request packet recovery mechanism for media streams |
US7675872B2 (en) * | 2004-11-30 | 2010-03-09 | Broadcom Corporation | System, method, and apparatus for displaying pictures |
US8634413B2 (en) * | 2004-12-30 | 2014-01-21 | Microsoft Corporation | Use of frame caching to improve packet loss recovery |
US8169908B1 (en) * | 2005-01-29 | 2012-05-01 | Lsi Corporation | Method for discarding corrupted data packets in a reliable transport fabric |
JP2006211602A (ja) * | 2005-01-31 | 2006-08-10 | Toshiba Corp | データ送信機及びプログラム |
JP2006245834A (ja) * | 2005-03-02 | 2006-09-14 | Nec Corp | Ip網の通信装置 |
US7752532B2 (en) * | 2005-03-10 | 2010-07-06 | Qualcomm Incorporated | Methods and apparatus for providing linear erasure codes |
CN1845611A (zh) * | 2005-04-08 | 2006-10-11 | 华为技术有限公司 | 基于h.264的视频传输保护方法 |
JP4688566B2 (ja) * | 2005-05-10 | 2011-05-25 | 富士通東芝モバイルコミュニケーションズ株式会社 | 送信機及び受信機 |
US7957363B2 (en) * | 2005-05-26 | 2011-06-07 | International Business Machines Corporation | System, method, and service for dynamically selecting an optimum message pathway |
US20060291452A1 (en) * | 2005-06-24 | 2006-12-28 | Motorola, Inc. | Method and apparatus for providing reliable communications over an unreliable communications channel |
JP4517294B2 (ja) * | 2005-07-06 | 2010-08-04 | ソニー株式会社 | 通信システム、送信装置、送信方法、およびプログラム |
JP2007053745A (ja) * | 2005-07-22 | 2007-03-01 | Sanyo Electric Co Ltd | 受信機及びプログラム |
US8731069B2 (en) | 2005-08-25 | 2014-05-20 | Canon Kabushiki Kaisha | Remote display system and method |
US20070061831A1 (en) * | 2005-09-09 | 2007-03-15 | Sbc Knowledge Ventures L.P. | IPTV channel usage and video delivery path monitoring architecture |
TWI277325B (en) * | 2005-10-28 | 2007-03-21 | Ind Tech Res Inst | Packet transmitting method of wireless network |
US7743152B2 (en) * | 2005-10-31 | 2010-06-22 | Qualcomm Incorporated | Method and apparatus for detecting the presence of a terminal in a data session |
US8363675B2 (en) * | 2006-03-24 | 2013-01-29 | Samsung Electronics Co., Ltd. | Method and system for transmission of uncompressed video over wireless communication channels |
US20070234170A1 (en) * | 2006-03-29 | 2007-10-04 | Samsung Electronics Co., Ltd. | Method and system for communication of video information over wireless channels |
US8432938B2 (en) * | 2006-03-29 | 2013-04-30 | Samsung Electronics Co., Ltd. | Method and system for video stream transmission over wireless channels |
JP4798495B2 (ja) * | 2006-05-30 | 2011-10-19 | 日本電気株式会社 | 映像配信品質測定システム、装置および方法 |
JP4930691B2 (ja) * | 2006-05-30 | 2012-05-16 | 日本電気株式会社 | 再現システム、再現装置、再現方法、及びプログラム |
US20070280217A1 (en) * | 2006-06-01 | 2007-12-06 | Texas Instruments Incorporated | Inter-nodal robust mode for real-time media streams in a network |
JP2007325077A (ja) * | 2006-06-02 | 2007-12-13 | Mitsubishi Electric Corp | データ受信装置及びデータ受信方法 |
JP4509068B2 (ja) * | 2006-07-24 | 2010-07-21 | 富士通株式会社 | パケット処理装置 |
JP4921064B2 (ja) * | 2006-07-31 | 2012-04-18 | キヤノン株式会社 | 通信装置、通信方法、通信装置を制御するためのプログラム及びプログラムを格納した記憶媒体 |
JP2008040347A (ja) * | 2006-08-09 | 2008-02-21 | Toshiba Corp | 画像表示装置、画像表示方法および画像表示プログラム |
US8799918B2 (en) * | 2006-09-11 | 2014-08-05 | Microsoft Corporation | Dynamic network load balancing using roundtrip heuristic |
JP2008079150A (ja) | 2006-09-22 | 2008-04-03 | Canon Inc | 通信機器及びデータ転送方法 |
JP4768030B2 (ja) * | 2006-10-04 | 2011-09-07 | 富士通株式会社 | データ転送方法 |
JP4176122B2 (ja) * | 2006-10-24 | 2008-11-05 | 株式会社東芝 | サーバ端末、画面共有方法およびプログラム |
FR2911234B1 (fr) * | 2007-01-05 | 2009-02-20 | Thales Sa | Procede d'envoi de paquets de donnees d'un serveur vers un client, le client utilisant simultanement a un debit constant d les donnees qu'il recoit |
KR100920516B1 (ko) * | 2007-01-10 | 2009-10-09 | 한국전자통신연구원 | 데이터 전송 장치 및 방법 |
KR100859499B1 (ko) * | 2007-01-15 | 2008-09-22 | 강릉대학교산학협력단 | 데이터 송수신 방법 및 그에 따른 통신 시스템 |
US8296662B2 (en) * | 2007-02-05 | 2012-10-23 | Brother Kogyo Kabushiki Kaisha | Image display device |
US8170023B2 (en) * | 2007-02-20 | 2012-05-01 | Broadcom Corporation | System and method for a software-based TCP/IP offload engine for implementing efficient digital media streaming over internet protocol networks |
US8139487B2 (en) * | 2007-02-28 | 2012-03-20 | Microsoft Corporation | Strategies for selecting a format for data transmission based on measured bandwidth |
US7877514B2 (en) * | 2007-05-03 | 2011-01-25 | Samsung Electronics Co., Ltd. | System and method for time-constrained transmission of video in a communication system |
EP2026580A1 (en) * | 2007-06-12 | 2009-02-18 | British Telecommunications public limited company | Video processing |
US7908624B2 (en) * | 2007-06-18 | 2011-03-15 | Broadcom Corporation | System and method for just in time streaming of digital programs for network recording and relaying over internet protocol network |
US7782851B2 (en) * | 2007-06-26 | 2010-08-24 | At&T Intellectual Property I, L.P. | System and method of detecting lost video data packets |
JP4983435B2 (ja) * | 2007-06-27 | 2012-07-25 | 富士通株式会社 | パケット通信品質計測装置及び方法 |
KR100862971B1 (ko) * | 2007-07-26 | 2008-10-13 | 강릉대학교산학협력단 | 무선 센서 네트워크의 노드들에 대한 펌웨어 업데이트 방법 |
JP4447028B2 (ja) * | 2007-08-10 | 2010-04-07 | 富士通株式会社 | 通信制御方法、送信装置、およびコンピュータプログラム |
US7969921B2 (en) * | 2007-08-29 | 2011-06-28 | Samsung Electronics Co., Ltd. | Method and system for data packet communication in wireless communication systems |
US8782274B2 (en) * | 2007-10-19 | 2014-07-15 | Voxer Ip Llc | Method and system for progressively transmitting a voice message from sender to recipients across a distributed services communication network |
US8559319B2 (en) * | 2007-10-19 | 2013-10-15 | Voxer Ip Llc | Method and system for real-time synchronization across a distributed services communication network |
US8699383B2 (en) * | 2007-10-19 | 2014-04-15 | Voxer Ip Llc | Method and apparatus for real-time synchronization of voice communications |
ATE554584T1 (de) * | 2007-10-19 | 2012-05-15 | Voxer Ip Llc | Verfahren und vorrichtung zur echtzeitmediensynchronisierung über einem netzwerk |
US8250181B2 (en) * | 2007-10-19 | 2012-08-21 | Voxer Ip Llc | Method and apparatus for near real-time synchronization of voice communications |
US8099512B2 (en) * | 2007-10-19 | 2012-01-17 | Voxer Ip Llc | Method and system for real-time synchronization across a distributed services communication network |
US8205126B2 (en) * | 2007-11-27 | 2012-06-19 | Samsung Electronics Co., Ltd. | System and method for wireless communication of uncompressed video using selective retransmission |
US8255753B2 (en) * | 2007-12-04 | 2012-08-28 | Intel Corporation | Encoding/decoding technique for rebroadcasting lost packets |
KR20090061247A (ko) * | 2007-12-11 | 2009-06-16 | 삼성전자주식회사 | 디지털 방송 수신 장치의 osd 인터페이스 |
US9112632B2 (en) * | 2008-01-25 | 2015-08-18 | Cisco Technology, Inc. | Supporting efficient and accurate sync/followup timestamps |
JP5632834B2 (ja) * | 2008-06-23 | 2014-11-26 | コーニンクレッカ フィリップス エヌ ヴェ | ネットワークで通信するための方法及び関連する無線局 |
EP2151940A1 (en) * | 2008-08-05 | 2010-02-10 | Nokia Siemens Networks OY | Communication network element and method transmitting data |
KR101999852B1 (ko) | 2008-08-11 | 2019-07-15 | 코닌클리케 필립스 엔.브이. | 네트워크에서 통신하기 위한 방법, 제 2 스테이션 및 이를 위한 시스템 |
KR100998830B1 (ko) | 2008-08-27 | 2010-12-06 | 주식회사 엘지유플러스 | 무선 네트워크에서의 유디피를 이용한 데이터 전송 시스템및 그 방법 |
CN102138336B (zh) * | 2008-08-28 | 2014-07-16 | 住友电气工业株式会社 | 动态图像数据的分配方法 |
JP4625119B2 (ja) * | 2008-09-09 | 2011-02-02 | 株式会社エヌ・ティ・ティ・ドコモ | 移動通信システム、移動端末及びネットワーク側対向装置 |
JP5207895B2 (ja) * | 2008-09-17 | 2013-06-12 | キヤノン株式会社 | 送信装置、受信装置、及び方法、プログラム |
KR101048865B1 (ko) | 2009-03-16 | 2011-07-13 | 주식회사 팬택 | 전송계층 성능 향상을 위한 전송계층 제어장치 및 전송속도와 신뢰성을 동시에 보장할 수 있는 패킷 송신 방법 |
CN102369521B (zh) * | 2009-04-01 | 2014-12-17 | 高通股份有限公司 | 管理通过共享通信介质通信的节点间的传输 |
JP5332854B2 (ja) * | 2009-04-20 | 2013-11-06 | ソニー株式会社 | 無線送信機、無線送信方法、無線受信機および無線受信方法 |
JP5522987B2 (ja) * | 2009-07-02 | 2014-06-18 | キヤノン株式会社 | 送信装置、送信方法、及びコンピュータプログラム |
JP5508819B2 (ja) * | 2009-11-13 | 2014-06-04 | オリンパス株式会社 | 受信装置 |
US8661166B2 (en) * | 2009-12-16 | 2014-02-25 | Intel Corporation | DFX software debug feature for IO and other non-memory typed transactions |
EP2547106A4 (en) * | 2010-01-14 | 2014-05-21 | Sumitomo Electric Industries | METHOD, DEVICE AND COMMUNICATION SYSTEM FOR DISPLAYING CODED VIDEO IMAGE DATA |
EP2541842B1 (en) * | 2010-02-25 | 2018-05-23 | Mitsubishi Electric Corporation | Communications device and address learning method |
EP2375614B1 (en) * | 2010-04-09 | 2014-05-07 | Alcatel Lucent | Method for broadcasting multimedia content |
JP5696854B2 (ja) * | 2010-05-19 | 2015-04-08 | 日本電気株式会社 | パケット再送制御装置とパケット再送制御方法 |
JP5074557B2 (ja) * | 2010-06-09 | 2012-11-14 | 日本電信電話株式会社 | データ配信システムおよびデータ配信方法 |
JP5465106B2 (ja) * | 2010-06-21 | 2014-04-09 | オリンパス株式会社 | 表示装置及び表示システム |
US20110321015A1 (en) * | 2010-06-23 | 2011-12-29 | Yen Hsiang Chew | Hardware triggering mechanism for software debugger |
US9372719B2 (en) * | 2010-11-05 | 2016-06-21 | Nec Corporation | Information processing device for correcting procedure |
JP5728999B2 (ja) * | 2011-02-16 | 2015-06-03 | 富士通株式会社 | 通信方法、通信プログラム、および、通信装置 |
KR101581515B1 (ko) * | 2011-07-15 | 2016-01-11 | 미쓰비시덴키 가부시키가이샤 | 송신 장치, 수신 장치, 통신 장치, 통신 시스템 및 송신 방법 |
US9461777B2 (en) * | 2011-11-21 | 2016-10-04 | Qualcomm Incorporated | Hybrid networking system with seamless path switching of streams |
WO2013100783A1 (en) | 2011-12-29 | 2013-07-04 | Intel Corporation | Method and system for control signalling in a data path module |
IL217306A (en) * | 2012-01-01 | 2016-05-31 | Video Flow Ltd | Package recovery system and method |
JP5722264B2 (ja) * | 2012-03-23 | 2015-05-20 | 株式会社日立ハイテクノロジーズ | データ処理装置、データ容量増加抑制方法 |
JP6014411B2 (ja) * | 2012-08-15 | 2016-10-25 | 日本放送協会 | 無線通信を行う受信装置、受信方法及びプログラム |
US20140073352A1 (en) * | 2012-09-11 | 2014-03-13 | Qualcomm Incorporated | Method for precise location determination |
KR102022042B1 (ko) * | 2012-09-28 | 2019-09-18 | 삼성전자주식회사 | 데이터 전송 방법 및 시스템 |
WO2014083739A1 (ja) * | 2012-11-28 | 2014-06-05 | パナソニック株式会社 | 受信端末および受信方法 |
US9722943B2 (en) | 2012-12-17 | 2017-08-01 | Qualcomm Incorporated | Seamless switching for multihop hybrid networks |
CN103152223B (zh) * | 2013-03-15 | 2016-08-03 | 华为技术有限公司 | 网络性能监测方法及装置 |
BR112015019459B1 (pt) * | 2013-03-15 | 2021-10-19 | Intel Corporation | Dispositivo para uso em um módulo de memória e método realizado em um módulo de memória |
JP2014195158A (ja) * | 2013-03-28 | 2014-10-09 | Canon Inc | 通信装置と、当該通信装置を含む通信システム、及びその制御方法とプログラム |
KR102025757B1 (ko) * | 2013-07-10 | 2019-09-27 | 삼성전자주식회사 | 데이터 전송 방법 및 장치, 데이터 수신 방법 및 장치 및 기록 매체 |
KR102171117B1 (ko) * | 2013-08-30 | 2020-10-29 | 삼성전자주식회사 | 패킷 송수신 방법 및 그에 따른 단말, 그에 따른 시스템 |
CN104426636A (zh) * | 2013-09-11 | 2015-03-18 | 松下电器产业株式会社 | 通信控制装置及通信控制方法 |
US10331583B2 (en) | 2013-09-26 | 2019-06-25 | Intel Corporation | Executing distributed memory operations using processing elements connected by distributed channels |
US10034147B2 (en) * | 2013-09-26 | 2018-07-24 | Coherent Logix, Incorporated | Next generation broadcast system and method |
US9696920B2 (en) | 2014-06-02 | 2017-07-04 | Micron Technology, Inc. | Systems and methods for improving efficiencies of a memory system |
US9787852B2 (en) * | 2014-06-04 | 2017-10-10 | Alcatel-Lucent Usa Inc. | Sequence number reuse for CDR transport using GTP' |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
CN105072485B (zh) * | 2015-08-26 | 2018-11-13 | 小米科技有限责任公司 | 时延控制方法及装置 |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US10148964B2 (en) * | 2016-11-03 | 2018-12-04 | Ujet, Inc. | Image quality management |
US10558575B2 (en) | 2016-12-30 | 2020-02-11 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10515046B2 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10515049B1 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Memory circuits and methods for distributed memory hazard detection and error recovery |
US11086816B2 (en) | 2017-09-28 | 2021-08-10 | Intel Corporation | Processors, methods, and systems for debugging a configurable spatial accelerator |
US10496574B2 (en) | 2017-09-28 | 2019-12-03 | Intel Corporation | Processors, methods, and systems for a memory fence in a configurable spatial accelerator |
US20190104169A1 (en) * | 2017-10-03 | 2019-04-04 | Synology Inc. | Methods and computer program products for transceiving files through networks and apparatuses using the same |
US10565134B2 (en) * | 2017-12-30 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for multicast in a configurable spatial accelerator |
US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
US10564980B2 (en) | 2018-04-03 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator |
US10853073B2 (en) | 2018-06-30 | 2020-12-01 | Intel Corporation | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator |
US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
US10891240B2 (en) | 2018-06-30 | 2021-01-12 | Intel Corporation | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator |
US10678724B1 (en) | 2018-12-29 | 2020-06-09 | Intel Corporation | Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator |
CN113491083A (zh) | 2019-02-26 | 2021-10-08 | 松下知识产权经营株式会社 | 摄像机影像传输重放系统、构成该系统的摄像机及查看器 |
JP7059973B2 (ja) | 2019-03-15 | 2022-04-26 | オムロン株式会社 | 制御システム、装置および制御方法 |
US11029927B2 (en) | 2019-03-30 | 2021-06-08 | Intel Corporation | Methods and apparatus to detect and annotate backedges in a dataflow graph |
US10817291B2 (en) | 2019-03-30 | 2020-10-27 | Intel Corporation | Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator |
US10915471B2 (en) | 2019-03-30 | 2021-02-09 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator |
US10965536B2 (en) | 2019-03-30 | 2021-03-30 | Intel Corporation | Methods and apparatus to insert buffers in a dataflow graph |
US11037050B2 (en) | 2019-06-29 | 2021-06-15 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator |
CN110730053A (zh) * | 2019-09-09 | 2020-01-24 | 晶晨半导体(深圳)有限公司 | 一种基于ts格式和udp传输方式的网络丢包重传方法 |
US11907713B2 (en) | 2019-12-28 | 2024-02-20 | Intel Corporation | Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator |
CN114095796A (zh) * | 2020-07-30 | 2022-02-25 | 中国移动通信集团终端有限公司 | 无效重传包减少方法、装置、设备及计算机存储介质 |
US12086080B2 (en) | 2020-09-26 | 2024-09-10 | Intel Corporation | Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits |
US20240048277A1 (en) * | 2022-08-03 | 2024-02-08 | Google Llc | Early Retransmission for Hardware Reliable Transport |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09191314A (ja) * | 1996-01-10 | 1997-07-22 | Mitsubishi Electric Corp | 連続データ伝送方法および連続データ伝送装置 |
KR0156856B1 (ko) * | 1995-12-30 | 1998-11-16 | 김광호 | 다중 메세지 재전송 처리장치 및 방법 |
JP2001218276A (ja) * | 2000-02-04 | 2001-08-10 | Ntt Docomo Inc | 移動通信システムにおけるデータ通信方法及び装置 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04170239A (ja) * | 1990-11-02 | 1992-06-17 | Nec Corp | データ伝送受信装置 |
JPH05160811A (ja) * | 1991-12-06 | 1993-06-25 | Hitachi Ltd | データ転送方式 |
JPH06237451A (ja) * | 1993-02-10 | 1994-08-23 | Hitachi Ltd | 動画通信方式および端末装置 |
US5444718A (en) | 1993-11-30 | 1995-08-22 | At&T Corp. | Retransmission protocol for wireless communications |
JPH07283782A (ja) * | 1994-04-08 | 1995-10-27 | Matsushita Electric Ind Co Ltd | 移動通信システム |
JPH07283757A (ja) * | 1994-04-14 | 1995-10-27 | Matsushita Electric Ind Co Ltd | 音声データ通信装置 |
DE69736684T2 (de) * | 1996-01-23 | 2007-09-13 | Ntt Mobile Communications Network Inc. | Kommunikationsanordnung und Übertragungsstation mit Fehlerdetektion und Wiederübertragung |
JPH09247132A (ja) * | 1996-03-08 | 1997-09-19 | Yazaki Corp | 無線パケット通信装置及び送信装置 |
US5768527A (en) * | 1996-04-23 | 1998-06-16 | Motorola, Inc. | Device, system and method of real-time multimedia streaming |
JPH10200897A (ja) * | 1997-01-08 | 1998-07-31 | Nippon Telegr & Teleph Corp <Ntt> | 動画像伝送装置 |
US5918002A (en) * | 1997-03-14 | 1999-06-29 | Microsoft Corporation | Selective retransmission for efficient and reliable streaming of multimedia packets in a computer network |
JP3349926B2 (ja) * | 1997-07-10 | 2002-11-25 | 三菱電機株式会社 | 受信制御装置、通信制御システム及び通信制御方法 |
JP3794663B2 (ja) * | 1998-03-13 | 2006-07-05 | 株式会社東芝 | 無線通信システム |
US6275471B1 (en) * | 1998-05-12 | 2001-08-14 | Panasonic Technologies, Inc. | Method for reliable real-time multimedia streaming |
JPH11331839A (ja) * | 1998-05-13 | 1999-11-30 | Matsushita Electric Ind Co Ltd | 映像伝送再送の装置及び方法 |
JP3450771B2 (ja) * | 1998-11-30 | 2003-09-29 | 松下電器産業株式会社 | データ伝送方法,及びデータ送信装置 |
US6507582B1 (en) * | 1999-05-27 | 2003-01-14 | Qualcomm Incorporated | Radio link protocol enhancements for dynamic capacity wireless data channels |
JP2001111618A (ja) * | 1999-10-08 | 2001-04-20 | Nippon Telegr & Teleph Corp <Ntt> | 通信システムとその通信方法、ならびにそのプログラムを記録した媒体 |
JP3391316B2 (ja) * | 1999-10-22 | 2003-03-31 | 日本電気株式会社 | ネットワークシステム |
US6700893B1 (en) * | 1999-11-15 | 2004-03-02 | Koninklijke Philips Electronics N.V. | System and method for controlling the delay budget of a decoder buffer in a streaming data receiver |
JP3683468B2 (ja) * | 2000-04-13 | 2005-08-17 | 株式会社エヌ・ティ・ティ・ドコモ | マルチキャストサービス提供システムにおける再送制御方法、情報配信装置及び無線端末 |
CN1394411A (zh) * | 2000-11-06 | 2003-01-29 | 松下电器产业株式会社 | 发送装置、接收装置及广播数据的分发方法 |
US6907460B2 (en) * | 2001-01-18 | 2005-06-14 | Koninklijke Philips Electronics N.V. | Method for efficient retransmission timeout estimation in NACK-based protocols |
US7117521B2 (en) * | 2001-08-31 | 2006-10-03 | Intel Corporation | Method to measure the perceived quality of streaming media |
US8880709B2 (en) * | 2001-09-12 | 2014-11-04 | Ericsson Television Inc. | Method and system for scheduled streaming of best effort data |
US6996624B1 (en) * | 2001-09-27 | 2006-02-07 | Apple Computer, Inc. | Reliable real-time transport protocol |
-
2001
- 2001-12-04 JP JP2001369731A patent/JP3912091B2/ja not_active Expired - Lifetime
-
2002
- 2002-12-03 KR KR20020076260A patent/KR100967377B1/ko not_active IP Right Cessation
- 2002-12-04 US US10/310,212 patent/US7315898B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0156856B1 (ko) * | 1995-12-30 | 1998-11-16 | 김광호 | 다중 메세지 재전송 처리장치 및 방법 |
JPH09191314A (ja) * | 1996-01-10 | 1997-07-22 | Mitsubishi Electric Corp | 連続データ伝送方法および連続データ伝送装置 |
JP2001218276A (ja) * | 2000-02-04 | 2001-08-10 | Ntt Docomo Inc | 移動通信システムにおけるデータ通信方法及び装置 |
Non-Patent Citations (1)
Title |
---|
The Korea Information Science Society,Vol. 29, No.2. 2002 * |
Also Published As
Publication number | Publication date |
---|---|
KR20030045643A (ko) | 2003-06-11 |
JP3912091B2 (ja) | 2007-05-09 |
US20030120802A1 (en) | 2003-06-26 |
JP2003169040A (ja) | 2003-06-13 |
US7315898B2 (en) | 2008-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100967377B1 (ko) | 데이터 통신 시스템, 데이터 송신 장치, 데이터 수신 장치, 데이터 통신 방법, 및 컴퓨터 프로그램을 기록한 매체 | |
JP3757857B2 (ja) | データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム | |
US7263644B2 (en) | Data transmitting/receiving system and method thereof | |
US7583666B2 (en) | Protocol information processing system and method information processing device and method recording medium and program | |
JP4513725B2 (ja) | パケット送信装置、通信システム及びプログラム | |
JP3598110B2 (ja) | データ伝送方法および装置 | |
US7164680B2 (en) | Scheme for supporting real-time packetization and retransmission in rate-based streaming applications | |
JP3450771B2 (ja) | データ伝送方法,及びデータ送信装置 | |
CN101356814B (zh) | 通信处理设备和通信控制方法 | |
JP4452983B2 (ja) | 受信装置および方法、プログラム、並びに記録媒体 | |
EP1309122A2 (en) | Apparatus and method for data communication with retransmissions | |
JP2010154547A (ja) | パケット化データのビットレートの適合化とデータパケットの再送信との間の連携 | |
CN115883680A (zh) | 一种基于arq的udp协议数据传输方法、系统及设备 | |
US20020122434A1 (en) | Data transmitting apparatus and data receiving apparatus | |
JP2005045469A (ja) | マルチメディアコンテンツ受信装置及びマルチメディアコンテンツ受信方法 | |
JP4362761B2 (ja) | 送信装置および方法、記録媒体、並びにプログラム | |
JP2003324496A (ja) | データ伝送方法,及びパケットデータ構造 | |
JP2008141633A (ja) | データ通信システム、データ受信装置、データ受信方法、データ送信装置およびデータ送信方法 | |
JP4433281B2 (ja) | 受信装置および方法、記録媒体、並びにプログラム | |
EP1450535A1 (en) | A relay for hierarchical retransmissions in multimedia streaming | |
JP2005136547A (ja) | 通信システム、受信装置および方法、送信装置および方法、記録媒体、並びにプログラム | |
JP2005110013A (ja) | 受信装置、受信方法および受信プログラム | |
JP3735352B2 (ja) | データ伝送方法,データ送信装置,及びデータ受信装置 | |
JP2006067410A (ja) | 送信装置および方法、プログラム、並びに送受信システム | |
JP2005006350A (ja) | データ伝送装置およびデータ伝送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |