KR100987421B1 - 데이터통신시스템, 데이터송신장치, 데이터수신장치, 데이터통신방법 및 컴퓨터가 판독가능한 기록 매체 - Google Patents

데이터통신시스템, 데이터송신장치, 데이터수신장치, 데이터통신방법 및 컴퓨터가 판독가능한 기록 매체 Download PDF

Info

Publication number
KR100987421B1
KR100987421B1 KR20020078418A KR20020078418A KR100987421B1 KR 100987421 B1 KR100987421 B1 KR 100987421B1 KR 20020078418 A KR20020078418 A KR 20020078418A KR 20020078418 A KR20020078418 A KR 20020078418A KR 100987421 B1 KR100987421 B1 KR 100987421B1
Authority
KR
South Korea
Prior art keywords
data
packet
echo
processing
control
Prior art date
Application number
KR20020078418A
Other languages
English (en)
Other versions
KR20030051265A (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
Priority to JP2001378808A priority Critical patent/JP3757857B2/ja
Priority to JPJP-P-2001-00378808 priority
Application filed by 소니 가부시키가이샤 filed Critical 소니 가부시키가이샤
Publication of KR20030051265A publication Critical patent/KR20030051265A/ko
Application granted granted Critical
Publication of KR100987421B1 publication Critical patent/KR100987421B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements or protocols for real-time communications
    • H04L65/60Media handling, encoding, streaming or conversion
    • H04L65/608Streaming protocols, e.g. RTP or RTCP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/16Transmission control protocol/internet protocol [TCP/IP] or user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/16Transmission control protocol/internet protocol [TCP/IP] or user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring 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/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • 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 system ; ARQ protocols

Abstract

ARQ 기능 혹은 FEC 사이의 에러 처리를 네트워크 상황에 따라 동적으로 변경하여, 고품질인 데이터 재생을 가능하게 하는 데이터통신 시스템을 제공한다. 패킷 전송에서, 네트워크 감시부에 의해 감시되는 네트워크 상황에 의거하여 에러 정정 제어를 행한다. FEC에 의한 에러 제어, 재전송요구처리(ARQ)에 의거하는 에러 제어 사이의 네트워크에서의 패킷 손실 또는 에러 발생 상황에 따라 에러제어모드를 변경하여 패킷 전송을 실행한다. RTT가 짧다면, ARQ에 의한 에러 정정이 선택된다. RTT가 긴 상황인 경우에는, ARQ가 아니라 FEC에 의한 에러 정정을 선택한다. 이리하여 동적인 에러 정정 제어가 가능하게 된다.

Description

데이터통신시스템, 데이터송신장치, 데이터수신장치, 데이터통신방법 및 컴퓨터가 판독가능한 기록 매체{DATA COMMUNICATIONS SYSTEM, DATA SENDER, DATA RECEIVER, DATA COMMUNICATIONS METHOD, AND COMPUTER READABLE RECORDING MEDIUM}

도 1 은 본 발명의 데이터통신 시스템의 구성을 도시하는 도면.

도 2 는 본 발명의 데이터통신 시스템의 송신측 단말과 수신측 단말을 포함하는 구성을 도시하는 도면.

도 3 은 데이터의 계층화 처리예로서의 웨이블렛 변환(wavelet transform)에 대해 설명하는 도면.

도 4 는 본 발명의 데이터통신시스템의 송신측 단말에서 실행하는 우선도 부여 처리예에 대해 설명하는 도면.

도 5 는 본 발명의 데이터통신 시스템의 송신측 단말에서 실행하는 우선도 부여 처리에 사용하는 맵에 대해 설명하는 도면.

도 6 은 본 발명의 데이터통신 시스템에서 전송되는 RTP 패킷의 포맷을 도시하는 도면.

도 7 은 본 발명의 데이터통신 시스템에서 전송되는 IP 패킷 헤더의 포맷을 도시하는 도면.

도 8 은 본 발명의 데이터통신 시스템에서의 데이터송신단말에서 실행되는 처리 흐름을 도시하는 도면.

도 9 는 본 발명의 데이터통신 시스템에서 전송되는 NACK(Negative- ACKnowledge)-RTCP(Real-time Transport Control Protocol) 패킷 포맷을 도시하는 도면.

도 10 은 본 발명의 데이터통신 시스템에서 전송되는 NACK-RTCP 패킷에서의 옵션 값의 기능에 대해 설명하는 도면.

도 11 은 본 발명의 데이터통신 시스템에서 전송되는 ACK (ACKnowledgement) -RTCP 패킷 포맷을 도시하는 도면.

도 12a 는 본 발명의 데이터통신 시스템에서 전송되는 ECHO-RTCP 패킷의 포맷을 도시하는 도면.

도 12b 는 본 발명의 데이터통신 시스템에서 전송되는 ECHO-REPLY-RTCP 패킷의 포맷을 도시하는 도면.

도 13 은 본 발명의 데이터통신 시스템에서 전송되는 EOS(End Of Stream)-RTCP 패킷의 포맷을 도시하는 도면.

도 14 는 본 발명의 데이터통신 시스템에서의 데이터수신 단말에서 실행되는 처리 흐름을 도시하는 도면.

도 15a 는 본 발명의 데이터통신 시스템에서의 데이터수신 단말의 ECHO-RTCP 패킷을 적용한 RTT(Round Trip Time) 계측처리 흐름을 도시하는 도면.

도 15b 는 본 발명의 데이터통신 시스템에서의 데이터수신 단말의 ECHO-REPLY-RTCP 패킷을 적용한 RTT 계측처리 흐름을 도시하는 도면.

도 16 은 데이터송신단말장치와 데이터수신단말장치를 포함하는 시스템 구성예를 도시하는 도면.

<도면 주요 부분에 대한 부호의 설명>

101, 115, 123 : CPU 102, 116, 124 : ROM

103, 117, 125 : RAM 104, 118, 126 : 표시장치

105, 111, 119 : 외부 기억장치 106, 112, 120 : 통신 I/F

107, 113, 121 : 입력장치 108 : 인터페이스

109 : 카메라 110 : 마이크로폰

114, 122 : 재생장치 132, 133, 134 : 전송로

135 : IP 네트워크 201 : 송신측 단말

202 : 수신측 단말 203 : 비디오카메라

204 : 인코더 205 : 계층화부

206 : 우선도 부여 처리부 207 : 버퍼

208 : FEC 처리부 209 : RTP 패킷 생성부

210 : RTP 포트 211 : 비트 레이트 제어부

212 : 계층 에러 정정 우선도 제어부

213 : ARQ 처리부 214 : RTCP 패킷 생성부

215 : 네트워크 감시부 216 : RTC 패킷 해석부

217 : RTCP 포트 218 : TCT, RTCP 포트

219 : IP 네트워크 220 : RTP 포트

221 : RTP 패킷 해석부 222 : 에러 감시부

223 : 버퍼 224 : 디코더

225 : RTCP 포트 226 : RTCP 패킷 해석부

227 : RTCP 패킷 생성부 228 : TCP, RTCP 포트

229 : 네트워크 감시부 230 : 에러정정 제어부

231 : 계층선택 제어부 809 : PCI 버스

832 : 디스플레이 833 : 비디오카메라

834 : 마이크로폰 835 : 스피커

837 : 마우스 838 : 키보드

850 : 데이터 송수신 장치 851 : 코덱

852 : 네트워크 인터페이스 853 : 입출력 인터페이스

854 : AV 인터페이스 855 : 디스플레이 인터페이스

856 : CPU 857 : 메모리

858 : HDD

본 발명은, 데이터통신시스템, 데이터송신장치, 데이터수신장치, 및 데이터통신방법, 컴퓨터프로그램 및 상기 컴퓨터 프로그램을 저장한 기록매체에 관한 것이다. 보다 상세하게는, 본 발명은 스트리밍 데이터 전송에서의 에러 내성을 높인 패킷송신구성을 가지는 데이터통신시스템, 데이터송신장치, 데이터수신장치, 및 데이터통신방법, 컴퓨터프로그램 및 상기 컴퓨터 프로그램을 저장한 기록매체에 관한 것이다.

오늘날, 인터넷통신 등, 갖가지 통신매체를 통한 화상, 음성 데이터 등의 데이터전송이 대중적이고 왕성하게 행해지고 있다. 특히, 근년에는, 인터넷 상의 데이터전송에서, 다운로드형 전송방식의 서비스에 더하여, 스트림형(streaming) 전송방식에 의한 서비스가 증가해 오고 있다. 다운로드형 전송방식에서는, 영상파일이나 음성파일과 같은 멀티미디어 데이터를 전송할 경우, 배송 서버로부터 데이터파일을 일단 수신측 단말의 기억매체로 다운로드하여, 그 후, 기억매체로부터 데이터를 재생하게 된다. 따라서, 이 다운로드형 전송방식에서는 파일을 완전히 전송이 끝날 때까지는 재생할 수 없고, 장시간의 재생이나 실시간 재생 등에는 맞지 않다.

한편, 후자(後者)인 스트림형 전송방식에서는, 송신측단말에서 수신측단말에 데이터전송이 행해지고 있는 사이에, 수신 데이터의 재생처리를 실행한다. 이 스트림형 전송방식은 인터넷 전화ㆍ원격 비디오 화상회의ㆍ비디오-온-디맨드(video-on- demand)를 포함하는 인터넷 서비스에 널리 이용되고 있다.

스트림형 전송방식은, 예를 들면 화상 데이터의 MPEG 압축처리에 의해 생성되는 MPEG(Moving Picture Experts Group) 스트림을 IP(Internet Protoco1) 패킷에 저장하고 인터넷 상에서 이 패킷을 전송시키며, PC나 PDA, 휴대전화 등의 각 통신단말에서 이 패킷을 수신하는 시스템 등에서 사용되며, 개발이 진행되고 있다. 이러한 스트림형 전송기술은, 비디오-온-디맨드나 라이브 비디오화상의 스트리밍 배 송, 및 비디오 화상회의, 비디오폰 등의 실시간 통신에서 유효하게 된다.

이와 같은 스트림형 전송방식에 적합한 하나의 인터넷기술에, IETF(Internet Engineering Task Force) RFC(Request For Comments) 1889로 규정되어 있는 실시간 전송프로토콜(RTP : Realtime Transport Protoco1)이 있다. RTP에 따른 데이터전송으로서는, 시간정보로서 타임 스탬프(timestamp)를 패킷에 부가한다. 타임 스탬프의 참조에 의해, 송신측단말과 수신측단말 사이의 시간적 관계를 파악한다. 수신측단말에서, 패킷전송의 지연 진동(jitter) 등의 영향을 받지 않고서 동기(同期)에 맞게 데이터를 재생한다.

RTP는 실시간의 데이터전송을 보증하고 있는 것은 아니다. RTP가 제공하는 트랜스포트 서비스(transport service)가 패킷 배송(distribution)의 우선도, 설정, 관리 등을 제어하는 것은 아니기 때문에, RTP 패킷은, 다른 패킷과 마찬가지로 네트워크 상에서의 배송지연이나 패킷손실이 일어날 가능성이 있다. 그러나, 이러한 에러가 일어나더라도, 수신측단말은 기대한 시간 내에 도착한 패킷만을 이용하여 데이터를 재생하는 것이 가능하다. 이것은, 영상이나 음성 데이터가 다소의 데이터결손이 있다고 하더라도, 데이터품질이 떨어지는 데이터의 재생, 혹은 데이터보정처리에 의한 데이터의 재생이 가능하기 때문이다.

또, 재생에 시간을 맞추지 못하고 지연 배송된 패킷이나 에러가 발생한 패킷은, 수신측단말에서 그대로 버려진다. 요컨대, 패킷손실이나 에러가 발생한 경우에는, 송신측단말이 고품질 데이터배송처리를 하고 있는 경우라도, 수신측단말에서 품질을 유지하면서 데이터를 재생할 수 없다고 하는 문제점이 있다. 특히, 유선(有 線)구간에서 1O-5 또는 무선구간에서 10-3 이상의 에러가 있는 상황에서는, 배송되는 미디어(media)의 품질을 유지하는데, RTP을 그대로 이용한 데이터전송에는 문제가 있다.

이러한 RTP에 따른 데이터전송에서의 문제점을 해결하는 하나의 안으로서는, 데이터전송에 신뢰성이 높은 데이터전송 프로토콜인 TCP(Transmission Control Protocol)에 따라서 패킷 재전송 요구 및 재전송 패킷을 송신하는 방법이 생각된다. 그러나, TCP는 에러에는 강하지만, 쓰루풋이 낮고, 지연이 크다. 그래서 패킷을 재전송하더라도 패킷이 재생시간에 시간을 맞추지 못할 가능성이 있다. 이로인해 실시간 통신의 실현을 곤란하게 하는 문제가 있다.

더욱이, 패킷 에러를 위한 가능한 하나의 에러 정정 기술로서, 예를 들면 FEC(Forward Error Correction)라는 수단이 생각되고 있다. 이 FEC는 에러 정정을 행하기 위한 FEC 데이터를 중복 데이터(redundant data)로서 송신한다. 그래서 에러가 발생한 경우에는, 데이터수신측단말에서, 이 FEC 데이터를 토대로 에러의 정정을 실행하고자 하는 것이다. 랜덤 에러 정정 부호(code)로서, BCH(Bose- Chaudhuri-Hochquenghem) 부호와 콘볼류션형(convolutional) 부호가 사용된다. 또한, 버스트(burst) 에러 정정 부호에서는, 리드-솔로몬 부호{RS 부호(code)}가 일반적으로 자주 이용되고 있다. FEC는 재전송에 이러한 지연이 없는 만큼, 지연시간을 낮게 억제할 수 있다는 점에서, 자동반복요구(ARQ)에 비해 유리하다. 그러나, FEC는 중복 데이터를 부가하므로, 패킷 손실이 대단히 적은 전송로에서는 쓰루풋은 저하한다.

FEC는, 수신측단말에서의 에러 정정과 부호 처리가 복잡하기 때문에 수신측단말의 처리능력에 의존한다. 이와 같이, 네트워크 상황과 수신측단말에 맞춘 최적의 FEC 데이터를 일의적으로 결정하여 송신하는 것은 구현하기에 어렵다. 처리시간의 오버 헤드가 항상 따라다니는 등의 문제가 존재한다.

따라서, 본 발명의 목적은, 상술한 문제점에 비추어 이루어진 것으로, 비디오-온-디맨드나, 원격 화상회의와 같은, 실시간 재생이 요망되는 데이터전송처리를 효율적으로 실행 가능하게 함과 동시에, 패킷손실 등의 에러발생 시에도 품질의 저하를 억제하여 고품질의 데이터재생을 실현하는 데이터통신시스템, 데이터송신장치, 데이터수신장치, 및 데이터통신방법, 컴퓨터프로그램 및 상기 컴퓨터 프로그램을 저장한 기록매체을 제공하는 것이다.

본 발명의 제1의 측면에 따라, 스트림형 데이터전송을 실행하는 데이터통신 시스템이 제공된다.

이 스트림형 데이터전송을 실행하는 데이터통신 시스템은, 데이터송신장치 및 데이터수신장치를 포함한다.

데이터송신장치는,

송신되는 데이터를 포함하는 데이터 패킷을 송신하는 패킷송신처리부와, 네트워크 상황을 감시하는 네트워크상황 감시부와,

상기 네트워크상황 감시부가 감시하는 네트워크 상황에 의거하여, 전송 패킷 의 에러제어처리 모드를 제어하는 데이터송신측 제어부와,

데이터수신장치로부터 수신하는 재전송요구 메시지 패킷에 따라서 재전송해야 할 데이터 패킷의 추출처리를 실행하는 재전송 제어부를 포함하며,

데이터수신장치는,

상기 데이터송신장치로부터 데이터 패킷을 수신하는 패킷수신 처리부와,

상기 데이터송신장치로부터 수신하는 데이터 패킷의 에러 또는 패킷 손실의 검출을 실행하여, 에러대응처리를 실행하는 에러 정정 제어부와,

상기 데이터송신장치로부터 수신하는 데이터 패킷의 에러 또는 패킷 손실의 검출에 의거하여, 상기 데이터송신장치에 대한 데이터 패킷재전송요구로서의 재전송 요구 메시지 패킷의 송신 가부를 판정하는 재전송요구처리 제어부를

포함하는 것을 특징으로 한다.

더욱이, 상기 데이터송신측 제어부는, 상기 네트워크상황 감시부가 감시하는 네트워크 상황에 의거하여, 에러제어방식으로서의 FEC(Forward Error Correction)의 처리모드변경, 또는 데이터재전송요구처리로서의 ARQ(Automatic Repeat Request)의 처리모드의 변경을 실행하는 구성인 것을 특징으로 한다.

더욱이, 상기 네트워크 상황 감시부는, 패킷 손실율, 전송지연시간, 또는 상기 데이터수신장치로부터의 재전송요구에 의거하여 네트워크 상황해석을 실행하고, 그 해석결과를 상기 데이터송신측 제어부에 출력하며, 상기 데이터송신측 제어부는, 그 해석결과에 의거하여, 전송 패킷의 에러제어처리 모드를 제어하는 구성인 것을 특징으로 한다.

더욱이, 상기 데이터수신장치는, 네트워크 상황을 감시하는 수신장치측 네트워크상황 감시부를 더 가지며, 상기 데이터수신장치측 네트워크 상황 감시부는, 패킷 손실율, 또는 전송지연시간에 의거하는 네트워크 상황해석을 실행하고, 그 해석결과에 의거하여 처리 데이터의 선택을 실행하는 구성인 것을 특징으로 한다.

더욱이, 상기 데이터송신장치는, 송신되는 부호화 데이터의 계층화처리를 실행하는 계층화부와, 상기 계층화부에서 계층화된 계층마다의 우선도를 설정하는 우선도 부여(prioritization) 처리부를 더 포함할 수 있다. 상기 데이터수신장치는, 네트워크 상황을 감시하는 데이터수신장치측 네트워크 상황 감시부와, 상기 데이터수신장치측 네트워크 상황 감시부의 해석결과에 의거하여 처리되는 데이터의 선택을 상기 계층 또는 우선도에 따라서 실행하는 계층선택 제어부를 더 포함하는 것을 특징으로 한다.

더욱이, 상기 데이터수신장치에서의 에러 정정 제어부는, 에러제어방식으로서의 FEC(Forward Error Correction)에 의거하는 에러 정정처리, 또는 데이터재전송요구처리로서의 ARQ(Automatic Repeat Request) 처리를 실행하는 구성인 것을 특징으로 한다.

더욱이, 상기 데이터수신장치에서의 에러 정정 제어부는, 상기 데이터송신장치와 데이터수신장치에서의 왕복전파지연시간(RTT : Round Trip Time)의 계측처리를 위해, 상기 데이터송신장치에 대한 에코(ECHO) 패킷의 송신 및 그 에코 패킷에 대응하는 에코-리플라이(ECHO-REPLY) 패킷의 수신처리제어를 실행할 수 있다. 그 에코 패킷에 의거하여 산출하는 왕복전파지연시간(RTT)에 의거하여, 재전송요구에 의거하는 재전송 데이터 패킷수신이, 재전송 데이터 패킷에 저장된 데이터의 재생처리 개시시간 전에 가능한지 여부를 판정하는 구성을 가지는 것을 특징으로 한다.

더욱이, 상기 데이터송신장치는, 송신되는 부호화 데이터의 계층화처리를 실행하는 계층화부와, 상기 계층화부에서 계층화된 계층마다의 우선도를 설정하는 우선도 부여 처리부를 더 포함할 수 있다. 상기 데이터송신측 제어부는, 상기 계층화부에서의 계층화처리 모드, 또는 상기 우선도 부여 처리부에서의 처리 모드를 네트워크 상황에 따라 변경하는 구성인 것을 특징으로 한다.

더욱이, 상기 데이터송신장치는, 송신되는 부호화 데이터의 계층화처리를 실행하는 계층화부를 더 포함할 수 있다. 상기 데이터송신측 제어부는, 상기 네트워크 상황 감시부가 감시하는 네트워크 상황에 의거하여, 에러제어방식으로서의 FEC(Forward Error Correction)의 처리모드변경, 또는 데이터재전송요구처리로서의 ARQ(Automatic Repeat Request)의 처리모드의 변경을 상기 계층화부가 설정한 각 계층에 대응하여 실행하는 구성인 것을 특징으로 하다.

더욱이, 상기 데이터송신장치는, 송신되는 부호화 데이터의 계층화처리를 실행하는 계층화부와, 상기 계층화부에서 계층화된 계층마다의 우선도를 설정하는 우선도 부여 처리부를 더 포함할 수 있다. 상기 데이터송신측 제어부는, 상기 네트워크 상황 감시부가 감시하는 네트워크 상황에 의거하여, 에러제어방식으로서의 FEC(Forward Error Correction)의 처리모드변경, 또는 데이터재전송요구처리로서의 ARQ(Automatic Repeat Request)의 처리모드의 변경을 상기 우선도 부여 처리부가 설정한 각 우선도에 대응하여 실행하는 구성인 것을 특징으로 한다.

더욱이, 본 발명의 제 2의 측면에 따라, 트림형 데이터송신을 실행하는 데이터송신장치가 제공되며,

스트림형 데이터송신을 실행하는 데이터송신장치는,

송신되는 데이터를 포함하는 데이터 패킷을 송신하는 패킷송신처리부와,

네트워크 상황을 감시하는 네트워크 상황 감시부와,

상기 네트워크 상황 감시부가 감시하는 네트워크 상황에 의거하여, 전송 패킷의 에러제어처리 모드를 제어하는 데이터송신측 제어부와,

데이터수신장치로부터 수신하는 재전송요구 메시지 패킷에 따라서 재전송해야 할 데이터 패킷의 추출처리를 실행하는 재전송 제어부를,

포함하는 것을 특징으로 한다.

더욱이, 상기 데이터송신측 제어부는, 상기 네트워크 상황 감시부가 감시하는 네트워크 상황에 의거하여, 에러제어방식으로서의 FEC(Forward Error Correction)의 처리모드변경, 또는 데이터재전송요구처리로서의 ARQ(Automatic Repeat Request)의 처리모드의 변경을 실행하는 구성인 것을 특징으로 한다.

더욱이, 상기 네트워크 상황 감시부는, 패킷 손실율, 전송지연시간, 또는 상기 데이터수신장치로부터의 재전송요구에 의거하여 네트워크 상황해석을 실행하고, 그 해석결과를 상기 데이터송신측 제어부에 출력하며, 상기 데이터송신측 제어부는, 그 해석결과에 의거하여, 전송 패킷의 에러제어처리 모드를 제어하는 구성인 것을 특징으로 한다.

더욱이, 상기 데이터송신장치는, 송신되는 부호화 데이터의 계층화처리를 실 행하는 계층화부와, 상기 계층화부에서 계층화된 계층마다의 우선도를 설정하는 우선도 부여 처리부를 더 포함할 수 있다. 상기 데이터송신측 제어부는, 상기 계층화부에서의 계층화처리 모드, 또는 상기 우선도 부여 처리부에서의 처리 모드를 네트워크 상황에 따라 변경하는 구성인 것을 특징으로 한다.

더욱이, 상기 데이터송신장치는, 송신되는 부호화 데이터의 계층화처리를 실행하는 계층화부를 더 포함할 수 있다. 상기 데이터송신측 제어부는, 상기 네트워크 상황 감시부가 감시하는 네트워크 상황에 의거하여, 에러제어방식으로서의 FEC(Forward Error Correction)의 처리모드변경, 또는 데이터재전송요구처리로서의 ARQ(Automatic Repeat reQuest)의 처리모드의 변경을 상기 계층화부가 설정한 각 계층에 대응하여 실행하는 구성인 것을 특징으로 한다.

더욱이, 상기 데이터송신장치는, 송신되는 부호화 데이터의 계층화처리를 실행하는 계층화부와, 상기 계층화부에서 계층화된 계층매의 우선도를 설정하는 우선도 부여 처리부를 더 포함할 수 있다. 상기 데이터송신측 제어부는, 상기 네트워크 상황 감시부가 감시하는 네트워크 상황에 의거하여, 에러제어방식으로서의 FEC(Forward Error Correction)의 처리모드변경, 또는 데이터재전송요구처리로서의 ARQ(Automatic Repeat Request)의 처리모드의 변경을 상기 우선도 부여 처리부가 설정한 각 우선도에 해당하여 실행하는 구성인 것을 특징으로 한다.

더욱이, 본 발명의 제 3의 측면에 따라, 스트림형 데이터의 수신을 실행하는 데이터수신장치가 제공되며,

이 스트림형 데이터의 수신을 실행하는 데이터수신장치는,

데이터송신장치로부터 데이터 패킷을 수신하는 패킷수신 처리부와,

네트워크 상황을 감시하는 네트워크 상황 감시부와,

상기 데이터송신장치로부터 수신하는 데이터 패킷의 에러 또는 패킷 손실의 검출을 실행하여, 에러대응처리를 실행하는 에러 정정 제어부와,

상기 데이터송신장치로부터 수신하는 데이터 패킷의 에러 또는 패킷 손실의 검출에 의거하여, 상기 데이터송신장치에 대한 데이터 패킷재전송요구로서의 재전송 요구 메시지 패킷의 송신 가부를 판정하는 재전송요구처리 제어부와,

네트워크상황 감시부의 감시결과에 의거하여 처리되는 데이터의 선택을 실행하는 계층선택 제어부를,

포함하는 것을 특징으로 한다.

더욱이, 상기 수신장치 측 네트워크 상황 감시부는, 패킷 손실율, 또는 전송지연시간에 의거하여 네트워크 상황해석을 실행하며, 계층선택 제어부는, 그 해석결과에 의거하여 처리되는 데이터의 선택을 실행하는 구성인 것을 특징으로 한다.

더욱이, 상기 데이터수신장치에서의 에러 정정 제어부는, 에러제어방식으로서의 FEC(Forward Error Correction)에 의거하는 에러정정처리, 또는 데이터재전송요구처리로서의 ARQ 처리를 실행하는 구성인 것을 특징으로 한다.

더욱이, 상기 데이터수신장치에서의 에러 정정 제어부는, 상기 데이터송신장치와 데이터수신장치 사이의 왕복전파지연시간(RTT)의 계측처리를 위해서 상기 데이터송신장치에 대한 에코 패킷의 송신 및 그 에코 패킷에 대응하여 에코-리플라이 패킷의 수신처리제어를 실행할 수 있다. 그 에코 패킷에 의거하여 산출하는 왕복전 파지연시간(RTT)에 의거하여, 재전송요구에 의거하는 재전송 데이터 패킷수신이, 재전송 데이터 패킷에 저장된 데이터의 재생처리 개시시간 전에 가능한지 여부를 판정하는 구성을 가지는 것을 특징으로 한다.

더욱이, 본 발명의 제 4의 측면에 따라, 데이터송신장치 및 데이터수신장치 사이에서의 스트림형 데이터전송을 실행하는 데이터통신방법이 제공된다.

데이터송신장치는,

송신되는 데이터를 포함하는 데이터 패킷을 송신하는 패킷송신처리 단계와,

네트워크 상황을 감시하는 네트워크상황 감시단계와,

상기 네트워크상황 감시단계에서 감시하는 네트워크 상황에 의거하여, 전송 패킷의 에러제어처리 모드를 제어하는 데이터송신측 제어단계와,

데이터수신장치로부터 수신하는 재전송 요구 메시지 패킷에 의거하여 재전송해야 할 데이터 패킷의 추출 처리를 실행하는 재전송제어 단계를 실행한다.

데이터수신장치는,

상기 데이터송신장치로부터 데이터 패킷을 수신하는 패킷수신처리 단계와,

상기 데이터송신장치로부터 수신하는 데이터 패킷의 에러 또는 패킷 손실의 검출을 실행하여, 에러대응처리를 실행하는 에러 정정 제어 단계와,

상기 데이터송신장치로부터 수신하는 데이터 패킷의 에러 또는 패킷 손실의 검출에 의거하여, 상기 데이터송신장치에 대한 데이터 패킷 재전송 요구로서의 재전송요구 메시지 패킷의 송신 가부를 판정하는 재전송요구처리 제어단계를,

실행하는 것을 특징으로 한다.

더욱이, 상기 데이터송신측 제어단계는, 상기 네트워크상황 감시단계에서 감시하는 네트워크 상황에 의거하여, 에러제어방식으로서의 FEC(Forward Error Correction)의 처리모드변경, 또는 데이터재전송요구처리로서의 ARQ(Automatic Repeat Request)의 처리모드의 변경을 실행하는 것을 특징으로 한다.

더욱이, 상기 네트워크 상황 감시단계는, 패킷 손실율, 전송지연시간, 또는 상기 데이터수신장치로부터의 재전송요구에 의거하여 네트워크 상황해석을 실행하고, 상기 데이터송신측 제어단계는, 그 해석결과에 의거하여, 전송 패킷의 에러제어처리 모드를 제어하는 것을 특징으로 한다.

더욱이, 상기 데이터수신장치는, 패킷 손실율, 또는 전송지연시간에 의거하여 네트워크 상황해석을 실행하는 네트워크 상황감시를 더 실행하여, 그 감시결과에 의거하여 처리되는 데이터의 선택을 실행하는 것을 특징으로 한다.

더욱이, 상기 데이터송신장치는, 송신되는 부호화 데이터의 계층화처리를 실행하는 계층화 단계와, 상기 계층화 단계에서 계층화된 계층마다의 우선도를 설정하는 우선도 부여 처리 단계를 더 실행할 수 있다. 상기 데이터수신장치는, 네트워크 상황에 의거하여 처리되는 데이터의 선택을 상기 계층 또는 우선도에 따라서 실행하는 계층선택 제어단계를 가지는 것을 특징으로 한다.

더욱이, 상기 데이터수신장치에서 실행되는 에러정정 제어단계는, 에러제어방식으로서의 FEC(Forward Error Correction)에 의거하는 에러 정정처리, 또는 데이터재전송요구처리로서의 ARQ(Automatic Repeat Request)의 처리를 실행하는 것을 특징으로 한다.

더욱이, 상기 데이터수신장치에서 실행되는 에러정정 제어단계는, 상기 데이터송신장치와 데이터수신장치 사이의 왕복전파지연시간(RTT)의 계측처리를 위해 상기 데이터송신장치에 에코 패킷을 송신하고 그 에코 패킷에 응답하여 에코-리플라이 패킷를 수신하는 송신/수신처리 단계, 및 그 에코 패킷에 의거하여 산출하는 왕복전파지연시간(RTT)에 의거하여, 재전송 요구에 의거하는 재전송 데이터 패킷수신이 재전송 데이터 패킷에 저장된 데이터의 재생처리 개시시간 전에 가능한지 여부를 판정하는 판정단계를 포함하는 것을 특징으로 한다.

더욱이, 상기 데이터송신장치는, 송신되는 부호화 데이터의 계층화처리를 실행하는 계층화 단계와, 상기 계층화부에서 계층화된 계층마다의 우선도를 설정하는 우선도 부여 처리 단계를 더 실행할 수 있다. 상기 데이터송신측 제어단계는, 상기 계층화처리모드, 또는 상기 우선도 부여 처리모드를 네트워크 상황에 따라 변경하는 처리를 포함하는 것을 특징으로 한다.

더욱이, 상기 데이터송신장치는, 송신되는 부호화 데이터의 계층화처리를 실행하는 계층화 단계를 더 실행할 수 있다. 상기 데이터송신측 제어단계는, 네트워크 상황에 의거하여, 에러제어방식으로서의 FEC (Forward Error Correction)의 처리모드변경, 또는 데이터재전송요구처리로서의 ARQ (Automatic Repeat Request)의 처리모드의 변경을 각 계층에 대응하여 실행하는 것을 특징으로 한다.

더욱이, 상기 데이터송신장치는, 송신되는 부호화 데이터의 계층화처리를 실행하는 계층화 단계와, 상기 계층화 단계에서 계층화된 계층마다의 우선도를 설정하는 우선도 부여 처리 단계를 더 실행할 수 있다. 상기 데이터송신측제어 단계는, 네트워크 상황에 의거하여, 에러제어방식으로서의 FEC(Forward Error Correction)의 처리모드변경, 또는 데이터재전송요구처리로서의 ARQ(Automatic Repeat Request)의 처리모드의 변경을 상기 우선도에 대응하여 실행하는 것을 특징으로 한다.

더욱이, 본 발명의 제 5의 측면에 따라, 스트림형 데이터송신을 실행하는 컴퓨터프로그램이 제공되며, 이 스트림형 데이터송신을 실행하는 컴퓨터프로그램은,

송신되는 데이터를 포함하는 데이터 패킷을 송신하는 패킷송신처리 단계와,

네트워크 상황을 감시하는 네트워크상황 감시단계와,

상기 네트워크상황 감시단계에서 감시하는 네트워크 상황에 의거하여, 전송 패킷의 에러제어처리 모드를 제어하는 제어 단계와,

데이터수신장치로부터 수신하는 재전송요구 메시지 패킷에 따라서 재전송해야 할 데이터 패킷의 추출처리를 실행하는 재전송 제어 단계를

구비하는 것을 특징으로 한다.

더욱이, 본 발명의 제 6의 측면에 따라, 스트림형 데이터의 수신을 실행하는 컴퓨터프로그램이 제공되며, 이 스트림형 데이터의 수신을 실행하는 컴퓨터프로그램은,

데이터송신장치로부터 데이터 패킷을 수신하는 패킷수신처리 단계와,

네트워크 상황을 감시하는 네트워크상황 감시단계와,

상기 데이터송신장치로부터 수신하는 데이터 패킷의 에러 또는 패킷 손실의 검출을 실행하여, 에러대응처리를 실행하는 에러 정정 제어 단계와,

상기 데이터송신장치로부터 수신하는 데이터 패킷의 에러 또는 패킷 손실의 검출에 의거하여, 상기 데이터송신장치에 대한 데이터 패킷재전송요구로서의 재전송요구 메시지 패킷의 송신 가부를 판정하는 재전송요구처리 제어단계와,

네트워크상황 감시단계에서의 감시결과에 의거하여 처리되는 데이터의 선택을 실행하는 계층선택 제어단계를

구비하는 것을 특징으로 한다.

또, 본 발명의 컴퓨터프로그램은, 컴퓨터가 판독할 수 있는 포맷의 컴퓨터 프로그램을 제공하는 기록매체 또는 통신매체로부터, 여러가지 프로그램 코드를 실행 할 수 있는 범용 컴퓨터시스템에 제공될 수 있다. 이 기록매체(기억매체)는, 예를 들면, 콤팩트디스크(CD)나 플로피디스크(FD), 광자기디스크(MO) 등의 기록매체를 포함한다. 통신매체는 예를 들어 네트워크를 포함한다. 이러한 컴퓨터가 판독가능한 프로그램을 제공함으로써, 컴퓨터시스템 상에서 프로그램에 따른 처리가 실현된다.

본 발명의 또 다른 목적, 특징이나 이점은, 후술하는 본 발명의 실시예나 첨부하는 도면에 의거하는 보다 상세한 설명에 의해 분명하게 될 것이다. 또, 본 명세서에서 "시스템"이란 용어는, 복수의 장치의 논리적 집합 구성을 말하며, 각 구성의 장치가 동일 몸체(케이스) 내에 있다고 한정하지는 않는다.

(실시예)

[시스템 및 데이터 송수신 개요]

도 1은 본 발명의 데이터통신 시스템의 시스템 구성예를 도시한다. 본 발명 의 데이터통신 시스템은, 비디오-온-디맨드나, 원격 화상회의와 같은, 실시간 재생이 요망되는 데이터전송처리를, 데이터송신처리를 실행하는 송신측 단말(100)과, 데이터수신처리를 실행하는 수신측단말(130, 131)을 사용하여 IP 네트워크(135)를 거쳐 실행하는 시스템이다.

도 1에는, 하나의 송신측 단말(100)과 2개의 수신측단말(130, 131)이 도시되어 있지만, 이 밖에도 임의의 수의 송신측단말과 수신측단말이 IP 네트워크(135)를 거쳐 데이터 송수신을 실행한다. 대안적으로, 데이터송신측 단말과 수신측 단말은, 데이터의 송신만 또는 데이터수신만을 실행할 뿐만 아니라, 데이터송수신이 가능한 단말로서도 구성 가능하다.

데이터송신측 단말(100)은, 카메라(109)나 마이크로폰(110)으로부터, 화상과 음성 등의 미디어 데이터를 취득하고, 인터페이스(I/F)(108) 등을 통해 기억장치(105)와 RAM(l03)에 저장한다. 취득된 데이터는, 통신 인터페이스(106)를 거쳐, IP 네트워크(135)에 전송된다. IP 네트워크(135)를 거쳐 설정되는 전송로(132, 133, 134)는, 유선로이든 무선로이든간에 상관 없다. 이들 전송로(132, 133, 134)를 거쳐 수신측 단말(130)은, 통신 인터페이스(112)를 통해 데이터를 수신하여 RAM(l17)에 버퍼링한다.

데이터는 수신측 단말(130)에서 CPU(Central Processing Unit)(115)에 의해 처리되고, 수신된 데이터는 표시장치(118)에서 화상으로 표시되고, 또한 재생장치 (114)에서 음성으로 재생된다. 수신단말(131)도 수신단말(130)과 마찬가지로 송신측 단말(100)로부터의 데이터를 수신측단말(130)과 동시에 수신하여, 마찬가지로 화상을 디스플레이 하고, 음성을 재생한다.

도 1에 도시된 구성에서, 송신측 단말(100)과 수신측 단말(130, 131)의 각각은 예를 들면 통신처리기능을 가지는 PC, 혹은 휴대단말 등에 의해 구성된다. 각 송신측단말(100)과 수신측단말(130, 131)의 상세 구성에 대해서는, 이후에서 설명하지만, 도 1에 도시하는 송신측 단말(100) 및 수신측 단말(130, 131)의 각 처리부의 기능의 개략을 아래에서 설명한다.

CPU(101, 115, 123)는, 각종 실행 프로그램, OS(Operating System)를 실행하는 프로세서이며, 이후에서 설명한다. CPU(101, 115, 123)는 송수신 데이터의 재전송 제어와 에러정정처리 등의 프로그램을 실행한다. ROM(Read-0nly-Memory)(102, 116, 124)는, CPU(101, 115, 123)가 실행하는 프로그램, 혹은 연산 파라미터로서의 고정 데이터를 저장한다. RAM(Random Access Memory)(103, 117, 125)은, CPU(101, 115, 123)의 처리에서 실행되는 프로그램, 및 프로그램처리에서 적절히 변화하는 파라미터를 저장하는 저장영역과 작업영역으로서 사용된다.

표시장치(104, 118, 126)는, 예를 들면 CRT(Cathode Ray Tube), 액정디스플레이(Liquid Crystral Display) 등으로 형성되고, 각종 정보를 텍스트 또는 이미지의 형태로 표시한다. 외부기억장치(105, 111, 119)는 하드디스크, DVD(digital versatile disk) 등의 기억매체를 가지며, 각종 데이터와 프로그램을 저장한다.

통신 인터페이스(I/F)(l06, 112, 120)는 송신측 단말(100)과 수신측 단말 (130, 131) 사이의 통신처리를 구현한다. 이 통신 I/F(106, 112, 120)는, CPU(101, 115, 123)의 제어 하에서, 각 기억부로부터 공급된 데이터, 혹은 CPU에 의해 처리 된 데이터를 송신하거나, 타 단말로부터의 데이터를 수신하는 처리를 실행한다.

입력장치(107, 113, 121)는, 예를 들면 키보드와 포인팅 디바이스를 포함한다. 키보드나 마우스 등을 통해 유저에 의한 데이터 또는 명령어의 입력이 가능하다. 수신측 단말(130, 131)에 도시하는 재생장치(114, 122)는 전술한 바와 같이 음성 재생을 실행하는 예를 들면 스피커 등이다.

다음에, 도 2 이하를 참조하여, 본 발명의 데이터통신시스템에서의 데이터송수신처리를 상세하게 설명한다.

도 2에 도시된 데이터통신 시스템에서, 송신측 단말(201)은 화상이나 음성 등의 데이터를 패킷화하여 이 데이터 패킷을 수신측 단말(202)에 송신한다. 전송 데이터는, 예를 들면 비디오카메라(203)에 의해 취득된 화상이나 음성 데이터이다. 또, 전송 데이터는, CD, DVD 등의 기억매체로부터 입력되는 데이터 혹은 외부 네트워크나 위성 등으로부터 수신하는 데이터를 포함할 수 있다. 또, 이하의 설명에서는, 하나의 예로서 송신측 단말(201)로부터 수신측 단말(202)로 비디오 카메라 (203)에 의해 취득된 동화상 데이터를 전송하는 경우를 중심으로 설명한다.

비디오카메라(203)에 의해 취득된 동화상 데이터는, 송신측 단말(201)의 부호화 장치(인코더)(204)에 의해 예를 들면 MPEG 압축처리를 사용하여 부호화된다. 송신하는 데이터와 수신측단말(202)의 재생능력 등에 따라, 계층화부(205)는, 데이터를 계층화하며, 우선도 부여 처리부(206)는 계층에 우선도 레벨을 부여한다.

계층화부(205)는, 부호화된 데이터의 계층화처리를 실행한다. 기본 계층 (base layer)은 화상의 기본이 되는 계층이며, 수신측 단말(202)은, 기본 계층만 수신한 경우일지라도 최소한의 품질을 확보할 수 있다. 더욱이, 상위 계층의 데이터를 수신함으로써 보다 고품질인 데이터(예를 들면 화상)의 재생이 가능하게 된다. 위에서 기술된 바와 같이, 계층화부(205)는, 이와 같이 부호화된 데이터에 따른 계층화처리를 행한다.

비디오-온-디맨드나 라이브 비디오화상의 스트리밍 배송, 혹은 비디오 화상회의, 비디오폰 등의 실시간 통신에서는, 다른 능력을 가지는 단말을 수신단말로서, 데이터송수신이 행해지는 것을 상정할 필요가 있다. 예를 들면, 하나의 정보 소스로부터의 송신된 데이터는 휴대전화 등과 같은 해상도가 낮은 디스플레이와 처리능력이 낮은 CPU를 가지는 수신단말에 의해 수신되어, 데이터가 디스플레이된다. 이와 동시에 동일한 데이터가 데스크탑 컴퓨터와 같이 고해상도의 모니터와 높은 처리능력의 CPU를 가지는 수신단말에 의해서 수신되어, 데이터가 디스플레이 된다. 이와 같이, 처리능력이 다른 여러가지 수신단말에 데이터송신이 행해진다. 이와 같이 여러가지 수신단말에서 처리능력 등에 따라 데이터를 수신하고 디스플레이 하기 위하여, 송수신하는 데이터의 부호화가 계층화되어 실행된다. 위에서 기술된 바와 같이, 계층화부(205)는, 이와 같이 부호화된 데이터에 따라 계층화처리를 행한다.

계층적으로 부호화된 데이터를 배송함으로써, 예를 들면, 두 가지 타입의 부호화 데이터, 즉 고해상도의 디스플레이를 가지는 수신단말에서만 처리하는 부호화 데이터와, 고해상도의 디스플레이를 가지는 수신단말 및 저해상도의 디스플레이를 가지는 수신단말의 쌍방에서 공통으로 처리하는 부호화 데이터를, 각각 구별 가능하게 패킷화하여 배송된다. 수신측에서는, 데이터를 선별하여 처리한다.

계층적인 부호화를 실행하는 압축ㆍ압축해제방식(compression/decompression schemes)으로서는, 예를 들면 MPEG-4와 JPEG-2000에 의한 비디오 스트림을 들 수 있다. MPEG-4에서는 Fine Granuality Scalability 기술을 표준에 집어넣어 이 표준을 프로파일화할 예정이다. 이 계층적인 부호화 기술에 의해 스케일러블이 낮은 비트 레이트(bit rate)로부터 높은 비트 레이트까지 배송하는 것이 가능하다고 한다. 또한, 웨이블렛(wavelet) 변환을 기초로 하는 JPEG-2000은, 웨이블렛 변환의 특징을 이용하여, 공간해상도를 기초로 한 패킷화, 혹은 화질을 기초로 한 계층적인 패킷화를 실행한다. 또한 JPEG-2000은 정지화상 뿐만아니라 동화상을 취급할 수 있는 Motion JPEG-2000(Part 3) 규격에 의해, 계층변환 데이터를 파일 포맷으로 저장하는 것이 가능하다. 상술한 계층적인 부호화처리의 적용에 따라, 하나의 파일로부터 데이터를 다른 능력의 단말로 동시에 데이터배송을 실행하는 것이 가능하게 된다.

또한, 계층적인 부호화의 다른 예로서 DCT(Discrete Cosine Transform)에 기초한 기술을 이용한 구성도 가능하다. 이것은, 배송되는 정보로 되는 예를 들면 화상데이터를 DCT 처리하여, DCT 처리에 의해 이 데이터를 고역(high frequency)과 저역(low-frequency)이 구별되는 계층화를 실현하고, 고역 계층과 저역 계층으로 구분한 패킷을 생성하여 데이터 패킷의 배송을 실행하는 방법이다. 인코더(204)는, 상술한 DCT처리, 혹은, 웨이블렛 변환과 같은 계층적인 부호화 방식을 실행한다.

인코더(204)는 상술한 계층적인 부호화를 미리 설정된 프로그래시브 순서(progressive sequence)로 프로그래시브 부호화 처리에 의해 실행한다. 다시 말해, 인코더(204)는 SNR(Signal to Noise Ratio), 즉 화질마다 설정한 계층에 대 응하는 프로그래시브 순서, 혹은 컬러 성분(RGB나 YCbCr) 마다의 계층에 대응하는 프로그래시브 순서, 전술된 웨이블렛 변환에 해당하는 공간 해상도에 기초한 프로그래시브 시퀀스로, 여러 가지 데이터 계층에 따른 프로그래시브 부호화 처리를 실행한다.

프로그래시브 부호화란, 인터넷의 화상 배송 등에서 널리 사용되고 있다. 데이터수신측 단말은 거친 화상 데이터를 먼저 출력하고, 순차적으로, 세밀한 화상을 하나씩 출력하여 표시한다. 예를 들면, 공간해상도에 의한 프로그래시브 부호화의 경우에는, 거친 화상에 대응하는 저주파 화상 데이터의 부호화 데이터로부터 세밀한 화상에 대응하는 고주파 화상 데이터의 부호화 데이터를 생성한다. 데이터를 복호(復號)하고, 표시처리하는 수신측단말에서는, 저주파 화상데이터의 부호화 데이터를 복호하고, 표시처리를 우선 실행함으로써, 단시간으로 디스플레이에 거친 개략 화상을 표시하는 것이 가능해진다. 그 후, 수신측단말은 고주파 영역의 부호화 데이터를 복호(decode)하고 표시한다. 그 결과, 서서히 정밀하고 세밀한 화상을 표시하는 것이 가능하게 된다. SNR(Signal to Noise Ratio)에 기반한 (즉, 화질에 의한) 프로그래시브 부호화의 경우는, 저(低)SNR(저화질) 데이터와 고(高)SNR(고화질) 데이터는 서로 구별되어 부호화된다. 컬러 성분(RGB나 YCbCr)에 의한 프로그래시브 부호화의 경우에는, 컬러 성분(RGB나 YCbCr)마다 부호화를 개별적으로 실행한다.

이제 일례로서 웨이블렛 변환에 따라 부호화된 데이터의 계층화 처리에 대해 설명한다. 웨이블렛 변환은, 입력화상신호를, 로우패스 필터(low-pass filter), 하 이패스 필터(high-pass filter)에 의해 복수 회에 걸쳐 부분 대역(subband)으로 분할하고, 저역 성분을 계층적으로 부분 대역으로 분할하여 대역 성분을 순차 생성한다. 도 3은, 레벨 3까지 2차원 화상을 부분 대역으로 분할하여 얻어지는 대역 성분을 도시한 것이다. 이 도 3에 도시하는 예에서는, 화상은 우선 레벨-1의 대역 분할(수평ㆍ수직방향)에 의해 4개의 성분(LL, LH, HL, HH)으로 분류되며, 여기서 LL은 수평ㆍ수직성분이 모두 L이라는 것을 나타내며, LH는 수평성분이 L이고 수직성분이 H이라는 것을 나타내고 있다. 다음에, LL성분은 재차 LLLL, LLHL, LLLH, LLHH로 분할된다. 더욱이, LLLL 성분은 재차 LLLLLL, LLLLHL, LLLLLH, LLLLHH로 분할된다.

도 2에 도시하는 인코더(204)는, 예를 들면 상술한 웨이블렛 변환처리 등의 계층적인 부호화를 실행한다. 계층화부(205)는 부호화된 데이터를 계층으로 분류한다. 더욱이, 우선도 부여 처리부(206)는 계층에 우선도 레벨을 부여한다. 또, 인코더(204)는, 비트 레이트 제어부(211)로부터의 정보에 의거하여 부호화 모드의 변경, 예를 들면 부호화 계층의 수 등의 변경을 행한다. 비트 레이트 제어부(211)는, 네트워크 감시부(215)가 감시하는 네트워크 상황을 수신하는 계층 에러 정정 우선도 제어부(212)가 설정한 정보에 의거하여, 인코더(204)의 부호화 모드의 설정을 행한다. 예를 들면 네트워크의 혼잡 등에 의한 패킷의 지연상황 등을 네트워크 감시부(215)가 검출하고, 검출정보에 의거하여 인코더(204)는, 부호화 계층의 수와 같은, 부호화 모드를 동적으로 변경한다.

우선도 부여 처리부(206)는, 부호화 데이터의 계층에 중요도에 따른 우선도 레벨을 부여한다. 공간 해상도에 기초한 웨이블렛 변환에 의해 데이터가 계층적인 레벨로 분류되는 경우에, 가장 중요도가 높은 계층 레벨은, 디스플레이에 거친 개략 화상(rough outline image)을 표시하기 위해서 필요하게 되는 데이터이다. 이것은, 도 3에 도시하는 저역(3LL) 데이터를 포함하는 부호화 영역, 즉 1/8의 사이즈의 LLLLLL, LLLLHL, LLLLLH, LLLLHH 데이터영역(301)에 상당한다. 그 다음의 중요도의 계층 레벨은, 다음 저역의 1/4의 사이즈의 데이터영역, 즉 LLLL, LLHL, LLLH, LLHH 데이터영역(302)에 해당한다. 그 다음의 중요도의 계층 레벨은, 그 다음 저역의 1/2의 사이즈의 데이터영역, 즉 LL, LH, HL, HH 데이터 영역(303)에 해당한다.

우선도 부여 처리부(206)도, 네트워크 감시부(215)가 감시하는 네트워크 상황을 수신하는 계층 에러 정정 우선도 제어부(212)가 설정한 정보에 의가하여, 설정하는 우선도 레벨을 동적으로 변경할 수 있는 구성을 가진다. 예를 들면 네트워크의 혼잡 등에 따른 패킷의 지연상황 등을 네트워크 감시부(215)가 검출하고, 이 검출정보에 의거하여 우선도 부여 처리부(206)는, 부호화된 데이터 계층에 대해 설정하는 우선도 레벨을 동적으로 변경한다.

우선도 레벨의 설정은, 예를 들면 도 4에 도시하는 바와 같은 설정으로서 실행된다. 인코더(204)에 의해 계층적인 부호화가 실행되고, 데이터를, 예를 들면 5계층으로 분할한 경우, 부호화된 데이터는 계층 0∼계층 4까지 구분된다. 계층 0 ∼ 계층 4는 5개의 IP 패킷 65∼69의 페이로드(payload)에 각각 저장된다.

계층 0의 부호화 데이터가 가장 중요도가 높은 데이터이다. 이 계층 O의 부호화 데이터를 페이로드로 하는 IP 패킷(65)의 RTP 헤더(RTPH)에는 우선도 레벨 "0"을 설정하고, 또한, IP 헤더(IPH)에는, 우선도 레벨 "0"을 설정한다. 계층 1의 부호화 데이터는, 다음으로 중요도가 높은 데이터이다. 이 계층1의 부호화 데이터를 페이로드로 하는 IP 패킷(66)의 RTP 헤더(RTPH)에는 우선도 레벨 "1을 설정하고, 또한, IP 헤더(IPH)에는, 우선도 레벨 "1"을 설정한다. 이하, 계층 2의 부호화 데이터를 페이로드로 하는 IP패킷(67)의 RTP 헤더에는 우선도 레벨 "2"가 설정되고, IP 헤더에는 우선도 레벨 "1"이 설정된다. 계층 3의 부호화 데이터를 페이로드로 하는 IP 패킷(68)의 RTP 헤더에는 우선도 레벨 "3"이 설정되고, IP 헤더에는 우선도 레벨 "2"가 설정된다. 계층 4의 부호화 데이터를 페이로드로 하는 IP 패킷(69)의 RTP 헤더에는 우선도 레벨 "4"가 설정되고, IP 헤더에는 우선도 레벨 "2"를 설정한다.

이 IP 헤더와 RTP 헤더에 대한 우선도 레벨 설정처리는, 우선도 부여 처리부(206) 내의 기억수단에 기억한 우선도 설정맵에 따라서 실행된다. 도 5는 우선도 설정맵의 구성예를 도시한다. 우선도 설정맵은, 인코더(204)에서 부호화된 계층마다 RTP 헤더와 IP 헤더에 설정하는 우선도 레벨을 연관시키는 맵이다.

도 5에 도시하는 우선도 설정맵의 예는, 웨이블렛 변환에서 설정된 계층의 레벨(0∼4)를 RTP 패킷의 확장 헤더(RTP 공통 헤더에 계속되는 RTP 페이로드 헤더)에 설정하는 우선도 레벨(0∼4)로서 그대로 적용하고 있다. 또한, IP 헤더에 설정하는 우선도 레벨에는, 0∼2의 3종류가 있다. 다시 말해, IP 네트워크로부터 본 경우의 우선도 레벨은 3개의 레벨로 된다. 전술된 바와 같이, 계층 레벨을 RTP 레벨의 우선도 레벨과 연관시키며, RTP 레벨로부터 IP 레벨로의 우선도의 맵핑을 행함 으로써, 예를 들면 다음과 같은 제어가 가능해진다.

RTP 레벨에서는 각 패킷의 시퀀스번호를 관리하고 있다. 인터넷에서 패킷 손실이 있는 경우에 손실된 패킷을 검출할 수 있다. 패킷 손실을 검출함으로써, 수신측단말은 예를 들면 디코더에 패킷 손실 위치를 통지한다. 이것은 에러제어방법을 변경한다. 여기에 사용되는 에러제어방식은, 예를 들면 FEC(Forward Error Correction)이다. 가능한 FEC의 수법으로서는, Asynchronous Transfer Mode(ATM)의 Asynchronous Transfer Mode Adaptation Layer 1(AAL1)에서의 패킷 손실에 대응하여 FEC를 행하는 수법, ITU-T (Telecommunication standardization sector of International Telecommunications Union) Recommendation I.363.1, B-ISDN ATM AAL types 1 and 2 specification에 기재된 매트릭스를 사용하여 손실 패킷의 리드 솔로몬 복호(Reed-Solomon decoding)하는 수법을 포함한다.

이러한 처리는 모든 계층 레벨의 패킷에 대하여 동등하게 처리할 필요는 없다. 예를 들면 네트워크의 대역폭에 따라 FEC의 중복도(redundancy)가 변경될 수 있다. 재전송 횟수는 우선도에 따라 가중될 수 있다.

또, 도 5에 도시하는 우선도 설정맵은, 네트워크 상황에 따라 동적으로 변경된다. 네트워크 감시부(215)가 취득하는 대역감시정보, RTCP에 의해 검출된 송신 패킷의 손실율에 관한 정보 등을 사용하여, 송신 가능한 대역폭, 보증 가능한 품질을 고려하여 맵핑 방법을 바꾼다. 계층 레벨을 RTP 패킷의 우선도 레벨 혹은 IP 패킷의 우선도 레벨에 맵핑하는 우선도 설정맵을 생성하는 경우, 원 화상에의 손실에 따른 영향과 네트워크의 손실율을 고려하여 우선도를 정하는 것이 가능하다.

전술한 바와 같이, 본 발명의 데이터통신 시스템에서는, RTP 헤더의 RTP 페이로드 헤더 내에, 부호화 데이터의 계층 레벨에 따른 우선도 레벨이 설정된다. RTP 패킷 레벨에서, 상위계층의 애플리케이션에 의존한 우선도의 검출이 가능하게 된다. 이 우선도의 검출에 의해, 패킷 손실에 대응하는 처리를 바꾸는 것이 가능하다.

각 계층 레벨마다의 이러한 처리는 애플리케이션에 의존한다. RTP 패킷 레벨에서는 우선도 레벨에 따른 처리는 다른 레벨을 고려하지 않고 결정된다. 마찬가지로, IP 패킷 레벨에서 우선도 레벨을 부여하여 처리방법을 바꾸는 것도 가능하다. 이 경우, 차별화된 서비스(DiffServ : differentiated service)에서와 같이, IP 패킷 레벨에서는 우선도 부여는 네트워크가 제공하는 기능이다. 네트워크가 서포트하는, 혹은 네트워크가 규정한 우선도는 RTP 패킷 레벨의 우선도로부터 IP 패킷 레벨의 우선도로 맵핑함으로써 부여된다.

도 5에 도시하는 우선도 설정맵에서는 RTP 패킷 레벨로 5단계의 우선도 레벨을 설정하고, IP 패킷 레벨로 3단계의 우선도 레벨을 설정한다. RTP 패킷 레벨 1이 IP 패킷 레벨 1에 해당하며, RTP 패킷 레벨 2 및 3이 IP 패킷 레벨 2에 해당하고, RTP 패킷 레벨 4 및 5가 IP 패킷 레벨3에 해당하고 있다. DiffServ로 취급할 수 있는 우선도의 수는 현 상태의 IPv4 포맷에서는 적지만, 본 예와 같은 맵핑을 적용하여, 3단계의 우선도 레벨에 대응하는 처리는 가능하다.

예를 들면, 해상도에 의거하는 프로그래시브 순서에 따른 부호화 데이터에 대한 패킷화의 경우, 저해상도 데이터의 부호화 데이터를 저장한 패킷은 높은 우선 도로 설정되는 반면, 고해상도의 부호화 데이터를 저장한 패킷은 낮은 우선도로 설정된다. 수신단말에서는, 각 패킷의 IP 헤더 또는 RTP 헤더에 부여된 우선도 레벨을 참조하여, 저역의 패킷을 우선하여 처리한다. 예를 들면 네트워크의 폭주가 있어도 해당하는 패킷이 폐기되는 비율이 감소함으로 인해 화질이 개선된다.

또, 우선도 설정맵은, 이 외에도, 여러가지 다른 방식으로 배열될 수 있다. 전술한 바와 같이, 부호화된 데이터 계층의 중요도에 따라, 애플리케이션에 의존한 우선도 레벨을 RTP 페이로드 헤더에 설정한다. 더욱이, IP 헤더에도 우선도 레벨을 설정하는 것이 가능하다. 이들 복수의 우선도 정보를 사용하여, 각 계층마다 에러제어방법을 바꾸거나, 레이트(rate) 제어를 실행하는 등의 처리가 가능하게 된다.

RTP 페이로드 헤더에 설정하는 우선도 레벨은 애플리케이션이나 유저의 요구, 또는 수신측 단말로부터 수신하는 수신측 단말 정보에 따라 동적으로 변경 설정 가능하다. IP 헤더에 설정하는 우선도 레벨은, 네트워크 상황, 예를 들면 네트워크의 폭주 정도에 따라 동적으로 변경 설정한다. 또, 송신측 단말(201)의 네트워크 감시부(215)는, 수신측 단말(202)로부터 수신측 단말(202)의 데이터 수신상황에 관한 정보를 수신한다. 전술한 바와 같이, 계층 에러 정정 우선도 제어부(212)는, 이 정보에 의거하여, 인코더(204)의 부호화 모드, 계층화부(205)의 계층화 모드, 우선도 부여 처리부(206)의 우선도설정처리 모드를 동적으로 변경하기 위한 제어정보를 각 처리부(204 내지 206)에 출력한다.

전술한 바와 같이, 우선도 부여 처리부(206)에서, 우선도 레벨이 부여된 데이터는 버퍼(207)에 출력되어 이 버퍼(207)에 저장된다. 버퍼(207)에 저장된 부호 화 데이터는, FEC(Forward Error Correction) 처리부(208)에서, 에러 정정을 위한 중복 코드가 필요에 따라 부여된다. 가능한 FEC의 수법은, ATM의 AAL1에서의 패킷 손실에 응답하여 FEC를 행하는 수법, ITU-T Recommendation I. 363.1, B-ISDN ATM AAL type1 and 2 specification에 기재된 매트릭스를 사용하여 손실 패킷의 리드-솔로몬 복호하는 방법에 준한 방법 등을 포함한다. 또, FEC(Forward Error Correction) 처리부(208)는, 에러 정정을 위한 중복 코드 부여처리는, 개개의 데이터에 의거하는 중복 코드부여가 아니라, 에러 내성을 높이기 위해 복수의 데이터에 의거하여 중복 코드를 부여할 수 있다. 다시 말해, FEC 처리부(208)는 인터리빙(interleaving) 처리를 더불어 실행하는 구성으로 해도 좋다.

이 FEC(Forward Error Correction) 처리부(208)에서의, 에러 정정을 위한 중복 코드를 모든 계층 레벨의 패킷에 대하여 동등하게 부여할 필요는 없다. 대안적으로, 네트워크 감시부(215)는 네트워크의 혼잡 등에 의한 패킷의 지연상황 또는 네트워크의 대역폭을 검출하고, FEC(Forward Error Correction) 처리부(208)는, 이 검출정보에 의거하여 FEC의 중복도와 같은 처리 모드를 동적으로 변화시킨다.

상술과 같이, 송신측 단말(201)은, 네트워크 감시부(215)로부터의 정보, 즉, 수신측 단말(202)로부터의 수신측 단말(202)의 데이터 수신상황에 관한 정보 및 네트워크 상황에 관한 정보에 의거하여, 인코더(204)의 부호화 모드, 계층화부(205)의 계층설정처리 모드, 우선도 부여 처리부(206)의 우선도설정처리 모드, 및 FEC 처리부(208)의 처리 모드를 동적으로 변경 가능하다.

상술한 송신측 단말(201)의 처리구성에 의거하여, 예를 들면 에러처리는 각 부호화 계층(layer)마다 실행된다. 각 부호화된 데이터는 FEC 처리, 혹은 ARQ(Automatic Repeat Request) 처리를 받도록 할당된다. 각 계층에서 최적의 에러 정정과 쓰루풋을 얻는 것이 가능하게 된다. 요컨대, 전송로 상황이 에러율이 높거나 및/또는 지연이 큰 등 패킷재전송요구처리에 불리한 상황에서는 FEC에서 에러 정정이 실행된다. 대조적으로 전송 지연이 작고 송신측단말(201)이 중복 데이터를 보내고 싶지 않은 경우에는, FEC가 아니라 ARQ에 기초하여 에러 정정이 실행된다. 전술한 바와 같이, 송신되는 데이터 패킷은 송신 측단말(201)에서 선택된 에러 정정을 받는다.

또한, 수신측 단말(202)에서도 마찬가지의 네트워크 감시부(229)를 가지고 있다. 네트워크의 혼잡 등에 의한 패킷의 지연상황이나 네트워크의 대역폭 등의 정보에 의거하여, 네트워크 상황이 좋은 경우에는, 수신측단말(202)은 처리모드를 동적으로 변경하고 계층이 높은 데이터를 판독하여 보다 고품질의 데이터를 재생한다.

송신측 단말(201)의 구성에 대해 설명을 계속한다. FEC 처리부(208)에서, 필요에 따라 에러 정정용의 중복 코드가 부여된 데이터는, RTP에 따른 데이터 패킷(이하 패킷으로 칭한다)을 생성하는 RTP 패킷생성부(209)에 출력된다. RTP 패킷 생성부(209)는 부호화된 데이터를 포함하는 RTP 패킷을 생성한다. RTP 패킷 생성부 (209)에서 생성된 부호화 데이터를 포함하는 RTP 패킷은, RTP 프로토콜을 통하여 RTP 포트(210)로부터 IP 네트워크(219)로 송출된다. 송신측 단말(201)의 RTP 패킷생성부(209) 및 RTP 포트(210)에 의해 패킷 송신처리부가 구성된다.

RTP 패킷생성부(209)는, 부호화 데이터를 페이로드로 한 데이터를 포함하는 패킷을 생성한다. 각 패킷은 페이로드 데이터에, RTP 헤더를 부가하여 생성된다. RTP 패킷구성을 도 6에 도시한다. RTP 헤더에는, 버전 번호(V), 패딩(P), 확장 헤더(X)의 유무, 송신원수(Counter), 마커정보(marker bit), 페이로드 타입(Payload type), 시퀀스 번호, 타임 스탬프, 동기 소스(SSRC) 식별자 및 공헌 소스(CSRC) 식별자를 포함하는 필드가 설치되어 있다. 데이터 수신측(202)에서, RTP 헤더에 부여된 타임 스탬프에 의해 RTP 패킷의 전개 시에 처리시간의 제어가 실행된다. 이것은 수신측단말(202)가 실시간 화상 또는 음성의 재생을 실현 가능하게 한다. 또, 예를 들면 동화상 데이터의 부호화 데이터를 포함하는 RTP 패킷이 생성된다. 1개의 화상 프레임에 속하는 복수의 RTP 패킷에 공통의 타임 스탬프가 부가된다. 각 프레임을 구성하는 종단 패킷에는, 프레임의 종단인 것을 나타내는 식별 플래그(flag)가 RTP 헤더에 저장된다.

RTP 헤더가 부가된 패킷은 더욱이 IP 헤더가 부가된다. 도 7에 IP 패킷의 구성 중의 IP 헤더의 상세를 도시한다. IP 헤더는 IPv4, IPv6 등을 나타내는 버전, 헤더 길이, 더욱이, 우선도 정보를 포함하는 TOS(Type of Service) 필드, 패킷의 길이, 패킷의 식별자, IP 층에서의 데이터분할(fragmentation)에 관한 제어정보로서의 플래그, 분할된 데이터의 장소를 나타내는 단편 오프셋, 데이터의 파기까지의 시간정보를 도시하는 TTL(Time to Live), 상위계층에서 이용되는 프로토콜(4:IP, TCP:7, UDP:17‥‥), 헤더의 체크섬(check sum), 송신원 IP 어드레스 및 수신처 IP 어드레스를 포함한다.

도 2에 되돌아가, 데이터수신처리에 대해 설명한다. 수신측 단말(202)의 RTP 포트(220)는, IP 네트워크(219)를 거쳐 송신측 단말(201)로부터의 RTP 패킷을 수신한다. 수신한 RTP 패킷은, RTP 패킷 해석부(221)에서 해석된다. 수신측 단말(202)의 RTP 포트(220) 및 RTP 패킷 해석부(221)에 의해 패킷수신 처리부가 구성된다. RTP 패킷 해석부(221)는, 구체적으로는 각 패킷 내의 헤더부와 데이터부를 해석한다. 각 패킷으로부터 취출(取出)된 페이로드로서의 데이터는, 에러 감시부(222)에서 수신 패킷의 에러에 대해 체크된다.

에러 감시부(222)가 패킷손실을 발견하지 못하고, 정상적으로 데이터수신이 이루어지는 경우에, 수신 패킷은 버퍼(223)에 저장된다. 헤더정보에 의거하는 시간 제어하에, 수신패킷은 디코더(224)에 전달된다. 디코더(224)는 데이터 패킷을 복호한다. 예를 들면, 동화상을 구성하는 각 화상 프레임은, 복수의 패킷에 포함된 데이터에 의해 구성된다. 1개의 화상 프레임을 구성하는 데이터를 포함하는 복수의 RTP 패킷의 헤더에는, 동일한 타임 스탬프가 부가된다. 헤더 정보의 타임 스탬프를 참조하여 동일 타임 스탬프를 가지는 패킷은 1개의 화상 프레임을 구성하는 부호화 데이터의 집합으로 디코더(224)에 전달된다. 디코더(224)는, 각 프레임마다 데이터를 복호한다. 디코더(224)에서 복호된 데이터는, 재생장치로서의 디스플레이 또는 스피커로 전달되어 출력 재생된다.

송신측 단말(201)로부터 수신측 단말(202)로 전송되는 패킷이 모두 지연되지 않고, 또한, 에러가 없는 상태로 송신되면, 수신측 단말(202)에서의 실시간 데이터 재생은 문제 없이 실행된다. 그러나, 실제는, 네트워크 상에서의 패킷손실의 발생, 지연, 전송 패킷의 데이터 에러 등, 여러가지 요인에 의거하여 재생 에러 혹은 재생 데이터의 품질 저하가 발생할 수 있다.

본 발명의 데이터통신 시스템에서는, 에러 감시부(222)에 의해 패킷 손실이 발견된 경우, 에러 정정 제어부(230)는, FEC에 의해 에러가 복원 가능한 지를 판단한다. FEC에 의해 에러가 정정 가능하다면, 에러 정정 제어부(230)는, FEC에 의거하여 에러 정정을 실행한다. FEC에 기초한 에러 정정에 따라 데이터가 복원된 경우에는, 송신측 단말(201)에 대한 데이터 재전송 요구로서의 ARQ 처리는 실행되지 않는다. 에러가 정정 불가능이라고 판정한 경우에는, 에러 정정 제어부(230)는, 재전송 요구로서 ARQ 처리를 실행한다.

도 2에서는, RTCP 패킷생성부(227)는, 재전송 요구로서 RTCP 패킷을 작성하고, RTCP 포트(225)로부터 재전송 요구를 송신측 단말(201)에 송신하는 구성을 가진다. 또, 재전송요구 전송처리의 프로토콜은 RTCP에 한하지 않는다. 대안적으로, TCP에 따른 재전송 요구를 TCP RTCP 포트(228)를 거쳐 출력해도 좋다.

에러 정정 제어부(230)에서, 재전송 요구를 실행할 것을 판정하면, 수신측 단말(202)의 RTCP 패킷 생성부(227)는, 재전송 요구 패킷을 식별하는 데이터를 포함하는 재전송요구 NACK (Negative ACKnowledge)-RTCP (Real-time Transport Control Protoco1) 패킷을 작성하여, 이 NACK-RTCP 패킷을 RTCP 패킷 포트(225)를 거쳐, 송신측 단말(201)에 출력한다.

송신측 단말(201)의 RTCP 패킷 포트(217)가 수신측 단말(202)로부터의 재전송 요구를 나타내는 NACK-RTCP 패킷을 수신하면, RTCP 패킷 포트(217)는 수신한 NACK-RTCP 패킷을 RTCP 패킷해석부(216)에 전달한다. RTCP 패킷해석부(216)는 패킷을 해석하여, 해석결과를 ARQ 제어부(213) 및 네트워크 감시부(215)에 전달한다. 네트워크 감시부(215)는, 입력정보에 의거하여, ARQ의 발생 빈도를 검출하고, 전송상태를 판정한다. 네트워크감시부(215)는 검출된 정보를 계층 에러 정정 우선도 제어부(212)에 출력한다. 계층 에러 정정 우선도 제어부(212)는 입력정보에 의거하여, 부호화, 계층화, 우선도 부여, 및 FEC 처리의 각 처리모드를 동적으로 변경시키는 것이 가능하게 된다.

또한, RTCP 패킷해석부(216)에서 해석한 해석결과를 수신한 ARQ 제어부(213)는, 재전송 요구에 응답하여 패킷을 재전송하기 위해, NACK-RTCP 패킷에서 지정된 패킷을 버퍼(207)로부터 추출하고, 추출한 패킷을, RTP 포트(210)를 거쳐 재전송하는 제어처리를 실행한다. ARQ 제어부(213)는, 데이터수신 단말장치(202)로부터 수신하는 재전송 요구 메시지패킷에 따라서 재전송해야 할 데이터 패킷을 추출하는 재전송 제어부로서 기능을 한다.

송신측 단말(201)이 송신해야 할 스트림 데이터의 종료를 검출한 경우에는, 송신측 단말(201)은 송신측단말(201)의 RTCP 패킷생성부(214)가 생성한 스트림의 종료를 나타내는 EOS(End Of Stream) 메시지를 가지는 RTCP 패킷을 수신측 단말(202)로 보내어, 데이터 스트림의 종료를 명시적으로 나타낸다.

본 발명의 데이터통신 시스템에서는, 실시간 재생을 고려하여, 손실된 패킷에 관한 재전송요구를 실행할지 여부가 처리된다. 데이터전송에서의 자동 재전송 요구방식인 ARQ(Automaticmatic Repeat Request)는 매우 유효한 에러 정정 기능으 로 알려져 있다. ARQ의 구체적 방식으로서는, 예를 들면 SAW(Stop And Wait) ARQ 방식, GBN(Go Back N) ARQ 방식, SR(Selective-Reject) ARQ 방식 등 여러가지 방법이 제안되어 실현되고 있다.

본 발명의 시스템에서는, 상술과 같이 FEC와 ARQ를 조합하여, 보다 에러 내성이 강한 데이터전송이 실현된다. 수신측 단말(202)이, 네트워크 상황과 버퍼 상황, 재생 상황에 의해 처리되는 계층을 떨어뜨리지(drop) 않더라도, FEC 처리 및 ARQ 처리로써 그 계층의 품질을 얻을 수 있다면, 수신측단말(202)은 에러 정정에 의해서 그 품질을 달성하고, 처리대상의 데이터 계층을 떨어뜨림으로 인한 데이터품질 저하가 가능한 한 일어나지 않도록 제어한다.

또한, 수신측 단말(202)의 계층선택 제어부(231)는, 네트워크 상황을 감시하는 네트워크 상황 감시부(229)의 네트워크 상황 정보에 의거하여 그리고 송신측 단말(202)이 설정한 계층 또는 우선도에 따라 처리 데이터를 선택한다. 예를 들면 네트워크 상황이 나빠 패킷 손실이 일어나고 지연이 큰 경우에는, 기본 계층만, 혹은, 우선도가 높은 데이터만 선택하여 처리를 실행한다. 네트워크 상황이 좋아 패킷 손실이 없고 지연이 적은 경우에는, 보다 고(高)계층의 데이터 혹은, 우선도가 낮은 데이터도 부가적으로 선택하여 처리를 실행한다. 전술한 바와 같이, 네트워크 상황에 따른 데이터 선택처리를 실행한다.

도 2에 도시된 데이터통신 시스템에서의 수신측 단말(202)의 에러 정정 제어부(230)의 처리에 대해, 더 설명한다. 에러 정정 제어부(230)는, 네트워크 감시부(229)에 의해 감시되어 있는 현재의 네트워크 상황을 근거로 하여 에러 정정 을 제어한다. 네트워크의 감시는, RTCP이나 ICMP(Internet Control Message Protocol) 등의 범용의 프로토콜에 의해 검출된 왕복전파지연시간(RTT)이나 패킷 손실율을 이용하여 수행된다. ARQ를 사용하여 실시간 데이터재생을 보장하기 위해서는, 항상 송신측단말과 수신측단말 사이의 왕복전파지연시간(RTT)을 계측해 둘 필요가 있다. 본 발명의 시스템에서는, 데이터수신측 단말(202)은, 능동적으로 송신측단말(201)과 수신측단말(202) 사이의 RTT를 계측하고, 네트워크 상황 등에 따라 변화하는 왕복전파지연시간(RTT)의 갱신을 실행한다. 최신의 RTT에 의거하여 수신측단말(202)는 재전송요구로서의 NACK-RTCP의 송신의 실행 가부를 판정한다.

송신측단말(201)과 수신측단말(202) 사이의 왕복전파지연시간(RTT)을 데이터수신 단말(202)에서, 미리 검출하기 때문에, 데이터수신 단말(202)은, 재전송요구를 행하고 나서 재전송 패킷을 수신하기까지의 시간을 검출할 수 있다. 데이터수신 단말(202)에서 실시간 재생을 행하기 위해 필요한 최종 재전송 요구시간을 산출하는 것이 가능하게 된다. 본 발명의 시스템에서는, 수신 단말(202)의 ARQ 판정부에서, 왕복전파지연시간(RTT)에 의거하는 최종 재전송 요구시간을 판정하고, 이 판정에 의거하여, 재전송요구로서의 NACK-RTCP의 송신을 실행한다. 이들 처리에 대해서는, 각 송신측단말(201)과 수신측단말(202)의 처리 흐름의 설명에서 상세히 설명한다.

[데이터송신단말에서의 처리]

이하, 도면을 참조하면서, 데이터송신단말에서의 처리에 대해 상세히 설명한다.

데이터송신단말(201)에서 실행되는 처리순서를 도 8의 흐름도를 참조하여 설명한다. 도 8은, 도 2에 도시된 송신측 단말(201)에서 실행되는 처리를 도시한다. 송신측 단말(201)에서 인코더(204)는, 예를 들면 비디오카메라, 혹은 DVD, CD, 하드디스크 등의 기억매체로부터 취득한 데이터를 MPEG 압축 등의 기술을 사용하여 부호화하고, 그 후, 이 부호화 데이터를 페이로드로 한 패킷을 생성한다. 도 8에 도시하는 흐름은, 이 패킷생성단계 이후의 처리를 도시하고 있다.

데이터송신단말(201)은, 단계 S301에서, 송신 데이터를 페이로드로 한 RTP 패킷을 생성한다. RTP 패킷은, 먼저 도 6을 참조하여 설명한 구성을 가지고 타임 스탬프를 헤더 중에 가진다. 예를 들면, 동화상 데이터를 송신하는 경우는, 동일 화상 프레임에 속하는 부호화 데이터를 포함하는 패킷에는 동일한 타임 스탬프가 설정된다. 프레임의 진행에 따라서, 증분된 타임 스탬프가 설정된다.

단계 S302, 단계 S303에서, 필요에 따라 FEC(Forward Error Correction) 처리부(208)는, 에러 정정을 위한 중복 코드를 단계 S301에서 생성한 RTP 패킷에 부가한다. 앞서 설명한 바와 같이, FEC 처리부(208)에서의 처리 모드는 동적으로 변경된다. 예를 들면 네트워크 감시부(215)는 네트워크의 혼잡 등에 의해 어느 패킷의 지연상황이 있는지, 네트워크의 대역폭의 혼잡이 있는지를 검출한다. 이 검출정보에 의거하여 FEC의 중복도가 변화된다. 대안적으로, 중복 코드가 부여되는 계층이 변경된다. FEC 처리부(204)에서의 처리를 받지 않는 데이터에 대해서는, 단계 S303을 건너뛰어 처리는 단계 S304로 진행한다.

FEC 처리부(208)는, 네트워크 감시부(215)가 검출한 네트워크 상황정보에 의 거하여 계층 에러 정정 우선도 제어부(212)가 생성한 제어정보를 수신하고, 수신하는 제어정보에 의거하여 처리모드를 결정한다. 또, 전술한 바와 같이, FEC 처리부(208)는 에러 내성을 높이기 위해서 개개의 데이터에 의거하여서가 아니라 복수의 데이터에 의거하여 에러 정정을 위한 중복 코드를 부여한다. 다시말해, FEC 처리부(208)는 부가적으로 인터리빙(interleaving) 처리를 더불어 실행한다.

다음에, 단계 S304에서, RTP 패킷은 RTP 포트(210)를 거쳐 수신단말(202)에 IP 네트워크(219)를 통해 송신된다. 또, RTP 패킷에는 더욱이, 앞서 도 7을 사용하여 설명한 IP 헤더가 부여된다. 각 RTP 패킷은 IP 헤더에 설정된 어드레스로 배송된다. 패킷생성과 패킷송신시에, 스트리밍 배송되는 데이터가 종료한 것을 명시적으로 나타내는 EOS(End Of Stream)을 배송할 때, 타이머가 계측한 시간이 미리 설정한 시간을 초과하는 경우, 처리를 종료한다.

도 8의 단계 S305에서는 패킷 재전송 요구로서의 NACK-RTCP 패킷이 수신되었는지 여부가 판정된다. 단계 S306에서는 패킷수신 확인응답으로서의 ACK-RTCP 패킷이 수신되었는지 여부가 판정된다. 단계 S307에서는 RTT 시간 계측용의 ECHO-RTCP 패킷이 수신되었는지 여부가 판정된다. 단계 S305-S307은 RTP 패킷에 의한 실제 데이터송신 중의 인터럽트 처리로서 RTP 패킷에 의한 실제 데이터송신에 병행하여 순차적으로 실행되는 처리이다.

단계 S305에서는, 데이터수신 단말(202)에서의 패킷 재전송 요구인 NACK- RTCP 패킷이 수신되었는지 여부가 판정된다. 데이터수신 단말(202)로부터의 패킷 재전송 요구인 NACK-RTCP 패킷을 수신한 경우에는, 단계 S314 내지 S318의 처리는, 도 2에 도시하는 에러 정정 제어부(230)에 의해 실행된다.

단계 S314에서는, 데이터송신장치(201)는, NACK-RTCP 패킷을 수신한다. 도 9에 데이터수신 단말(202)에서 생성하고, 데이터송신단말(201)이 수신하는 패킷 재전송 요구인 NACK- RTCP 패킷의 구성을 도시한다.

NACK-RTCP 패킷은, 도 9에 도시하는 바와 같이, 헤더(HEAD), 포맷(FORMAT), 패킷 타입, 패킷 길이, 송신동기소스 식별자(RTCP), 타임 스탬프의 정보에 더하여, 재전송요구대상이 되는 패킷의 식별자로서의 재전송지정 시퀀스번호를 가지고 있다. 더욱이, 각 재전송 지정 시퀀스번호에 대응하는 데이터로서, 「재전송 횟수」, 「옵션」,「중복지정횟수」가 포함된다.

전술한 바와 같이, 본 발명이 제안하는 ARQ를 적용한 시스템에서는, RTCP에 따른 컨트롤 패킷으로서: 재전송 요구로서의 NACK, 수신확인으로서의 ACK, 스트리밍 배송되는 데이터가 종료한다는 것을 것을 명시적으로 나타내는 EOS, 및 송신측단말(201)과 수신측단말(202) 사이의 왕복전파지연시간(RTT)을 계측할 때에 사용되는 ECHO와 ECHO-REPLY의 패킷이 이용된다. 이들 각 RTCP 패킷 각각의 포맷 타입을 하나(1)의 제어 메시지로서, 즉 RTCP 헤더의 PT(Payload Type)로서 구별을 하는 것은 범용적이 아니다. 따라서, 제어 메시지로서는, 피드백 메시지(FM:Feedback Message)로서 정의하여 PT(Payload Type)에 지정한다. 또한, RTCP 헤더 내의 포맷 필드인 FMT(Feedback Message Format)에 그 패킷 포맷이 지정된다. 이에 따라 어떠한 피드백 메시지의 타입이 결정된다.

도 9에 도시하는 바와 같이, 1개의 NACK 패킷은 1개 이상의 재전송 요구 대 상이 되는 패킷의 식별자(들)로서의 시퀀스번호(들)를 포함할 수가 있다. 요컨대 한번의 NACK 패킷의 송신처리로 복수의 패킷에 대해서의 재전송 요구가 가능하게 된다. 또한, 재전송요구 패킷의 시퀀스번호 각각에 대해 부가되는 "재전송 횟수"는, 재전송 요구가 송신된 횟수를 나타내는 필드이고, "중복지정횟수"는, 데이터를 재전송하는 경우 동일한 데이터가 재전송되어야 하는 횟수를 명시하는 필드이며, "option"은 그 밖의 임의의 정보를 포함하는 필드로서 사용된다.

예를 들면, "중복지정횟수"에 [3]을 설정하면, NACK를 수신한 데이터 송신측단말(201)은, 같은 데이터를 포함하는 재전송 패킷을 3개 연속으로 보내는 처리를 실행한다. 중요 데이터를 저장한 패킷에 대해서는, 중복 재전송을 요구함으로써, 재전송 패킷의 수신의 확실성을 높일 수가 있다. 또한, 수신측단말(202)이 반복하여, 동일 패킷에 대한 재전송 요구로서의 NACK를 송신하고 있음에도 불구하고, 수신측단말(202)이 이 패킷을 수신하지 못한 경우나, 수신측단말(202)이 실시간 재생을 구현할 수 있도록 최종재전송시간에 NACK가 송신되는 경우, 수신측단말(202)는 "중복지정횟수"의 설정수를 증가시켜 데이터 송신측단말(201)에 NACK를 송신한다. 그 결과, 재전송 패킷의 수신의 확실성을 높일 수가 있게 되어, 데이터 재생품질을 향상시키는 것이 가능하게 된다. 전술한 바와 같이, 데이터 수신측단말(202)은, 이러한 NACK-RTCP 패킷을 송신하며, 데이터송신측단말(201)은, 수신한 NACK-RTCP 패킷에 의거하여 패킷 재전송 처리를 실행한다.

또, RTP 패킷 포맷이나 페이로드 포맷, 또는 수신단말(202)의 이용자가 의도적으로 지정한 경우 등에 따라 패킷에 우선도가 더 높게 주어지고 있는 경우, 우선 도가 높은 패킷이나 데이터에 대해서는 다중 재전송 요구가 발행된다. 그 결과, 재전송 패킷의 수신확률이 향상된다. 또한, "재전송횟수" 필드에서 송신측단말(201)이 재전송 요구를 반복한 횟수를 나타냄으로써, 송신측단말(201)은 NACK 손실을 검출할 수 있다.

"옵션"필드에는, 필드 설정치에 따라, 예를 들면 도 10에 도시하는 처리모드가 설정될 수 있다. 즉,

옵션 설정치 = 0

지정 시퀀스번호를 가지는 패킷만의 재전송 요구(디폴트);

옵션 설정치 = 1

프레임 선두 패킷으로부터 지정 시퀀스번호를 가지는 패킷까지의 모든 패킷의 재전송 요구;

옵션 설정치 = 2

지정 시퀀스번호에서 프레임 최후 패킷까지의 모든 패킷의 재전송 요구;

옵션 설정치 = 3

지정 타임 스탬프가 부여된 모든 패킷의 재전송 요구;

옵션 설정치 = 4

타임 스탬프를 무시하고 지정된 시퀀스번호만으로 검색하여 검색결과의 패킷의 재전송을 요구.

화상 데이터 등의 부호화 데이터는, 앞서 도 6을 참조하여 설명한 바와 같이, 타임 스탬프와 시퀀스번호를 세트(set)로 한 헤더를 가지는 1개의 RTP 패킷에 저장된다. 데이터전송처리에서, 서로다른 타임 스탬프를 갖는 패킷에 연속적인 에러로서의 버스트(burst) 에러가 일어난 경우, 혹은, 버스트 에러의 발생으로 인해, 프레임 단위로 패킷의 손실이 발생한 경우 등에서는, 수신 단말(202)에서는, 손실 패킷에 해당하는 타임 스탬프와 시퀀스번호의 세트를 특정할 수 없는 경우가 발생한다. 이러한 경우에, 특정 가능한 타임 스탬프, 혹은 시퀀스번호의 어느 한 쪽만을 지정하여, 상기의 옵션 설정치가 설정된다. 이것은, 플렉시블(flexible)하게 재전송이 필요한 1 이상의 패킷(들)을 지정 가능하게 한다.

전술된 바와 같이, 데이터수신측 단말(202)에서는, 갖가지 방식으로 재전송 요구 패킷(들)의 지정이 가능하다. NACK-RTCP 패킷을 수신한 데이터송신단말(201)의 ARQ 제어부(213)는, 옵션 필드의 옵션 설정치에 따라, 버퍼(207)에 저장된 패킷으로부터 지정 패킷(들)을 추출하여, 이 패킷(들)을 재전송한다.

도 8로 되돌아가, 데이터송신단말(201)의 처리에 대해 설명한다. 단계 S315에서는, 송신측단말(201)은 단계 S314에서 수신한 NACK-RTCP 패킷에 지정된 재전송 요구 패킷에 대응하는 시퀀스번호를 추출한다. 단계 S316에서는, 송신측단말(201)은 옵션 지정을 추출한다. 상술한 바와 같이, 재전송 요구 패킷(들)은 여러 가지 방식으로 지정될 수 있다. 예를 들면, 패킷(들)은 시퀀스번호에 의해 직접적으로 지정될 뿐만 아니라, 타임 스탬프 등에 의해 지정될 수 있다. 데이터송신단말장치(201)의 ARQ 제어부(213)에서는, 수신한 NACK-RTCP 패킷에 지정된 옵션지정, 타임 스탬프, 및/또는 시퀀스번호를 참조하여, 재전송요구 패킷(들)을 지정한다.

단계 S317에서는, 특정된 재전송요구 패킷(들)을 버퍼(207)로부터 추출한다. 버퍼(207)에는, 재전송 요구에 대비하여 소정 시간 동안, 송신된 패킷이 저장되어 있다. 이들 저장된 패킷으로부터 재전송 지정이 있었던 패킷을 추출하는 처리를 실행한다. 단계 S318에서, RTP 포트(210)로부터 추출된 패킷이 송신된다.

단계 S305에서, 송신측단말(201)이 NACK-RTCP 패킷을 수신하지 않은 경우는, 송신측단말(201)은 단계 S306에서 패킷 수신응답으로서의 ACK-RTCP 패킷이 수신되었는지 여부를 결정한다. ACK-RTCP 패킷의 수신에 의거하여, 단계 S311에서, 송신측단말(201)은 수신이 확인된 패킷을 버퍼(207)로부터 클리어(삭제)한다. 이 ACK-RTCP 패킷에 응답하여, 재전송 요구에 대응하여 패킷을 저장하는 송신측 버퍼(207)를 능동적으로 일찌감치 클리어하는 것이 가능하다. 버퍼의 오버플로우(overflow)의 위험을 저하시키는 것이 가능하게 된다.

도 11에 데이터수신 단말(202)에서 생성되고, 데이터송신단말(201)이 수신하는 패킷수신 확인응답인 ACK-RTCP 패킷의 구성을 도시한다.

ACK-RTCP 패킷은, 도 11에 도시하는 바와 같이, 헤더(HEAD), 포맷(FORMAT), 패킷 타입, 패킷 길이, 송신동기소스 식별자(RTCP), 타임 스탬프의 정보에 더하여, 수신 패킷의 식별자로서의 수신된 시퀀스번호를 가지고 있다.

또, 시퀀스번호를 지정하지 않고, 타임 스탬프(TIMESTAMP)만 지정하는 구성으로 하는 것도 가능하다. 이 경우에는, ACK-RTCP 패킷은 그 지정된 타임 스탬프 (TIMESTAMP)가 설정된 패킷 전부가 수신되었는다는 것을 나타낸다. 따라서 이와 같은 경우에는 시퀀스 번호를 모두 지정할 필요는 없다. ACK-RTCP 패킷의 사이즈를 작게 하는 것이 가능하게 되어, 네트워크 트래픽의 증대를 억제할 수 있다.

도 8로 되돌아가, 데이터송신단말(201)의 처리의 설명을 계속한다. 데이터송신단말(201)은, 단계 S307에서, ECHO-RTCP 패킷이 수신되었는지 여부를 확인한다. 데이터수신 단말(202)에서부터 ECHO-RTCP 패킷이 수신된 경우에는, 단계 S312에서, 송신측단말(201)은 ECHO-REPLY-RTCP 패킷을 ECHO-RTCP 패킷을 송신한 데이터수신 단말(202)에 송신한다.

ECHO-RTCP 패킷과 ECHO-REPLY-RTCP 패킷은, 송신단말(201)과 수신단말(202) 사이의 왕복전파지연시간(RTT)을 데이터수신단말(202)에서 파악하기 위해 사용하는 RTCP 패킷이다. 이 ECHO-RTCP 패킷과 ECHO-REPLY-RTCP 패킷을 송신하고 수신함으로써, 데이터수신 단말(202)에서, 재전송 요구를 하고 나서 재전송 패킷을 수신하기까지의 시간을 계측할 수 있다. 이것은, 데이터수신단말(202)에서 실시간 재생을 하기 위해 필요한 최종 재전송요구시간을 수신측단말(202)이 산출하는 것을 가능하게 한다.

본 발명의 시스템에서는, 수신단말(202)의 에러 정정 제어부(230)에서, 왕복전파지연시간(RTT)에 의거하는 최종 재전송요구시간을 판정하고, 이 판정에 의거하여, 재전송요구로서의 NACK-RTCP의 송신의 실행 가부를 결정한다. 이 판정처리에 필요한 송신단말(201)과 수신단말(202) 사이의 왕복전파지연시간(RTT)의 최신 정보를 취득하기 위해, 데이터수신단말(202)측은, 임의의 타이밍으로, 능동적으로 ECHO-RTCP 패킷을 데이터송신단말(201)에 송신한다. 데이터송신단말(201)은, ECHO-RTCP 패킷의 수신에 응답하여 ECHO-REPLY-RTCP 패킷을 ECHO-RTCP 패킷을 송신한 데 이터수신단말(202)에 송신한다.

데이터수신단말(202)에서는, 데이터송신단말(201)로부터의 응답으로서 수신하는 ECHO-REPLY-RTCP 패킷을 해석함으로써, 송신단말(201)과 수신단말(202) 사이의 왕복전파지연시간(RTT)을 산출한다. 이 RTT 산출처리에 대해서는, 이후의 데이터수신단말(202)의 처리의 항목에서 설명한다.

도 12a에 데이터수신단말(202)에서 생성되고, 데이터송신단말(201)이 수신하는 ECHO-RTCP 패킷의 구성이 도시되어 있다. 도 12b에는 데이터송신단말(201)에서 생성되고, 데이터수신단말(202)에 송신하는 ECHO-REPLY-RTCP 패킷의 구성을 도시한다.

ECHO-RTCP 패킷은, 도 12a에 도시하는 바와 같이, 헤더(HEAD), 포맷(FORMAT ), 패킷 타입, 패킷 길이, 송신동기소스 식별자(RTCP), 및 ECHO 패킷의 식별 데이터로서의 ECHO-ID를 가지고 있다. ECHO-REPLY-RTCP 패킷은, 도 12b에 도시하는 바와 같이, 헤더(HEAD), 포맷(FORMAT), 패킷 타입, 패킷 길이, 송신동기소스 식별자(RTCP), ECHO-RTCP 패킷에 대응하는 ECHO-ID, 및, 서버처리시간을 가지고 있다.

ECHO-RTCP 패킷과 ECHO-REPLY-RTCP 패킷이 ECHO-ID를 포함함으로써, 데이터수신단말(202)측이 ECHO-REPLY-RTCP 패킷을 수취하였을 때, 수신측단말(202)은 수신된 ECHO-REPLY-RTCP에 관한 ECHO-RTCP 패킷이 송신된 시간을 결정할 수 있다. ECHO-REPLY-RTCP 패킷에 포함된 서버처리시간은, 데이터송신단말(201)이 데이터수신단말(202)로부터의 재전송 요구(NACK- RTCP)를 수신하고 나서 패킷을 데이터송신 단말(201)에서 출력할 때까지 요하는 처리시간에 상당하는 시간이다. 이 서버처리시간은, ECHO-RTCP 패킷을 수신한 시간에서 ECHO-REPLY-RTCP 패킷을 송신하기까지의 시간으로서 설정될 수 있다. 대안적으로, 데이터송신단말(201)에서 메모리에 미리 과거의 이력 데이터로서, 실제로, 데이터송신단말(201)이 데이터수신단말(202)로부터의 재전송요구(NACK-RTCP)를 수신하고 나서 패킷을 데이터송신단말(201)에서 출력할 때까지 요한 시간을 메모리에 저장하여, 이 저장된 데이터가 서버처리시간으로 적용하더라도 좋다. 대안적으로, ECHO-RTCP 패킷을 수신한 시점에서의 서버{데이터송신단말(201)}에서의 처리 부하를 산출하여, 이 처리부하에 의거하여 산출되는 예측처리시간을 서버처리시간으로서 설정하는 구성으로 해도 좋다.

데이터수신단말(202)은, ECHO-REPLY-RTCP 패킷에 저장된 서버처리시간과, ECHO-RTCP 패킷의 송신으로부터 ECHO-REPLY-RTCP 패킷의 수신까지의 시간에 의거하여, 송신단말(201)과 수신단말(202) 사이의 왕복전파지연시간(RTT)을 산출한다. 이 RTT 산출처리에 대해서는, 이후의 데이터수신단말(202)의 처리의 항목에서 설명한다.

도 8로 되돌아가, 데이터송신단말(201)의 처리의 설명을 계속한다. 데이터송신단말(201)은, 단계 S308에서, 송신대상이 되는 스트리밍 데이터의 모든 패킷이 송신되었는지를 판정한다. 종료로 판정한 경우에는, 단계 S313에서, 송신단말(201)은 데이터스트림의 종료를 명시하는 E0S(End 0f Stream) 메시지를 가지는 RTCP 패킷을 수신측 단말(202)로 송신하는 처리를 실행한다.

도 13에 데이터송신단말(201)에서 생성되고, 데이터수신단말(202)이 수신하 는 EOS- RTCP 패킷의 구성을 도시한다.

EOS-RTCP 패킷은, 도 13에 도시하는 바와 같이, 헤더(HEAD), 포맷(FORMAT), 패킷 타입, 패킷 길이, 송신동기소스 식별자(RTCP), 및 타임 스탬프(TIMESTAMP)를 가지고 있다. 데이터수신단말(202)은, EOS-RTCP 패킷을 데이터송신단말(201)로부터 수신함으로써, 스트리밍 배송되는 데이터의 종료를 인식한다. 수신단말(202)은 이 데이터 종료를 인식함으로써, 다음 프레임이 도착하지 않음에 따른 잘못된 NACK 송출 동작을 막을 수가 있다.

도 8로 되돌아가, 데이터송신단말(201)의 처리의 설명을 계속한다. 데이터송신단말(201)은, 단계 S309에서, 타이머에서의 계측시간이 미리 설정한 시간을 초과하는지 여부를 판정한다. 타이머가 계측하는 시간이 설정시간을 넘지 않은 경우에는, 단계 S305 이하의 처리, 즉, 단계 S305의 패킷재전송요구로서의 NACK-RTCP 패킷이 수신되었는지 여부를 결정하는 처리 이하의 처리를 계속해서 실행한다. 이는, 모든 패킷이 송출된 후에서도, 일정 시간은, 데이터송신측단말(201)은 패킷재전송요구로서의 NACK-RTCP 패킷, 또는 수신확인응답으로서의 ACK-RTCP 패킷, 또는 ECHO-RTCP 패킷을 수신단말(202)로부터 수신할 가능성이 있다. 따라서, 송신측단말(201)은 패킷(들)을 수신하는 경우 처리를 연속적으로 실행한다. 타이머에서, 미리 설정한 시간이 경과한 시점에서, 데이터송신을 종료한다.

[데이터수신단말에서의 처리]

다음에, 데이터수신단말(202)에서 실행되는 처리순서를 도 14에 도시하는 흐름도를 참조하여 설명한다. 도 14는, 도 2에 도시된 수신측 단말(202)에서 실행되 는 처리를 설명한 흐름이다.

데이터수신단말(202)은, 단계 S400에서, 데이터송신단말(201)로부터의 송신개시통지를 수신한다. 단계 S401에서, 수신단말(202)은 데이터송신단말(201)로부터의 송신 패킷, 즉 부호화 데이터를 페이로드로서 포함한 RTP 패킷을 순차적으로 수신한다. 먼저, 도 6을 참조하여 설명한 바와 같이, 타임 스탬프가 RTP 패킷 각각의 헤더 내에 설정되어 있다. 데이터수신단말(202)은, 타임 스탬프에 의거하여 수신하는 패킷에 포함되는 프레임(들)을 판별할 수가 있다. 앞서 설명한 바와 같이, 부호화된 동화상 데이터가 RTP 패킷에 포함되어 이 RTP 패킷이 송신되는 경우, 동일한 화상 프레임에 속하는 복수의 RTP 패킷에는 동일한 타임 스탬프가 설정된다. 데이터수신측단말(202)은, 타임 스탬프를 참조하여, 프레임(들)의 판별이 가능하게 된다.

데이터수신단말(202)은, 단계 S402에서, 수신 패킷이 에러 정정을 위한 중복 코드를 포함하는지 여부를 판정한다. 패킷이 중복 코드를 포함하고 있는 경우에는, 단계 S411에서, 에러 정정 제어부(230)는, 데이터송신단말(201)에서 실행한 인터리빙(interleaving)에 대응하는 디인터리빙(de-interleaving) 처리를 실행한다. 단계 S412에서, 패킷 손실이 있는지 여부도 판정된다. 손실 패킷이 없는 경우에는, 처리는 단계 S416으로 진행하여 디코드 처리가 실행된다. 손실 패킷이 있는 경우에는, 단계 S413에서, 에러 정정 제어부(230)는 FEC에 의한 에러 정정, 즉 중복 코드에 의거하는 에러 정정 처리를 실행하여, 에러 정정 실행에 의해 데이터가 재생 가능한지 여부를 판정한다. 데이터가 재생 판독가능한 것으로 판정한 경우에는, 처리는 단계 S416으로 진행하고 디코드 처리가 실행된다.

단계 S413에서 FEC에 의한 처리만으로는, 데이터가 재생 가능하지 않은 것으로 판정한 경우에는, 처리는 단계 S415로 진행한다. 단계 S415의 재전송요구처리로서의 NACK-RTCP 패킷의 송신 여부가 판정된다. 이제 이 판정 처리에 대해 설명한다. 실시간재생처리를 실현하기 위해서는, 재생 타이밍에 맞추도록, 재전송 요구 패킷이 수신단말(202)에 도달하는 것이 필요로 된다. 단계 S415의 재전송요구처리로서의 NACK-RTCP 패킷의 송신여부의 판정처리는, 실시간재생처리를 위해 제 시간에, 재전송 패킷이 수신 가능한지 여부를 판정하는 것이다.

이 판정을 위해서는, 전술한 바와 같이, 송신단말(201)과 수신단말(202) 사이에서의 왕복전파지연시간(RTT)이 중요한 파라미터가 된다. 왕복전파지연시간 (RTT)이 큰 경우, 데이터수신단말(202)로부터 데이터 송신단말 (201)에 재전송 요구를 내더라도, 송신단말(201)이 패킷을 재송신하고 수신 단말 (202)이 재전송된 패킷을 수신하는데 시간이 걸린다면, 이 패킷이 순차적으로 디코더(224)에서 복호화 되어야 하기 때문에 재전송된 패킷은 실시간 재생의 시간에 맞추지 못할 수도 있다. 본 발명의 시스템에서는, 데이터수신단말(202)에서, 왕복전파지연시간(RTT)을 미리 파악하여, 왕복전파지연시간(RTT)에 의거하여, NACK- RTCP 패킷의 송신여부를 판정한다.

본 발명의 시스템에서는, 데이터수신단말(202)측이, 임의의 타이밍으로, 왕복전파지연시간(RTT)의 계측을 실행하는 것이 가능한 구성으로 하고 있다. 구체적으로는, 데이터수신단말(202)은, 앞서 설명한 도 12에 도시하는 ECHO-RTCP 패킷을 송신하고, ECHO-REPLY-RTCP 패킷을 수신하여, RTT의 산출을 행한다.

도 15a 및 도 15b를 참조하여, 데이터수신단말(202)에서 실행하는 ECHO-RTCP 패킷의 송신, ECHO-REPLY-RTCP 패킷의 수신, 및 왕복전파지연시간(RTT)의 산출 처리에 대해 설명한다.

도 15a는, ECHO-RTCP 패킷의 송신처리 흐름이다. ECHO-RTCP 패킷은, 데이터수신단말(202)에 의해 임의의 타이밍으로 능동적으로 송신될 수 있다.

수신단말(202)이 RTCP 패킷의 송신대기상태에 있는 단계 S501에서, RTT의 계측 요청이 발생한 경우, 처리는 단계 S502로 진행하여 ECHO-RTCP 패킷이 생성된다. RTT의 계측은, 데이터수신이 개시된 후, 예를 들면 도 14의 처리 흐름에서, 단계 S400의 송신개시통지를 수신한 이후, 정기적으로 실행되도록 설정 가능하다. 데이터수신측 단말(202)에 포함되는 타이머로 시간을 계측하여, 계측된 시간이 미리 정한 계측 간격을 경과하는지 여부를 판정한다. 미리 정한 계측 간격에 대응하는 시간이 경과한 경우에, 에러 정정 제어부(230)가, ECHO-RTCP 패킷의 생성 요구를 RTCP 패킷생성부(227)로 출력한다. RTCP 패킷생성부(227)가 단계 S502에서 ECHO-RTCP 패킷을 생성하는 설정도 가능하다. 이 외에도, 패킷이 손실된 상황을 해석하여, 패킷이 손실된 상황에 따라 ECHO-RTCP 패킷이 생성, 송신되는 구성으로 해도 좋고, 어느 것으로 하든, 데이터수신단말(202)은, 임의의 타이밍으로, ECHO- RTCP 패킷을 생성, 송신이 가능하여, 항상 최신의 왕복전파지연시간(RTT)의 산출이 가능하게 된다.

단계 S502에서 생성하는 ECHO-RTCP 패킷은, 앞서 도 12a를 참조하여 설명한 구성을 가진다. 패킷에는, 각 패킷 고유의 식별자로서의 ECHO-ID를 포함한다. 단계 S503에서, 생성한 ECHO-RTCP 패킷이, RTCP 포트(225)를 거쳐, 데이터송신단말(201)에 대하여 송신된다. 단계 S504에서는, ECHO-RTCP 패킷을 송신한 송신시간, 및 패킷에 설정된 ECHO-ID가 메모리에 기록된다.

도 15b는, ECHO-REPLY-RTCP 패킷의 수신 및 RTT 산출처리 흐름이다. RTCP 패킷의 수신대기모드에 있는 단계 S601에서, ECHO-REPLY-RTCP 패킷이 수신되었다고 판정(단계 S602에서 Yes)되면, 단계 S603에서, ECHO-REPLY-RTCP 패킷의 수신시간이 메모리에 기록된다. 수신하는 ECHO-REPLY-RTCP 패킷은, 앞서 도 12b를 참조하여 설명한 구성을 가진다. 패킷에는, 응답대상이 된 대응하는 ECHO-RTCP 패킷과 동일한 식별자로서의 ECHO-ID가 포함된다. 또한 데이터송신단말(201)에서 산출한 서버처리시간이 저장된다.

단계 S604에서는, 수신한 ECHO-REPLY-RTCP 패킷으로부터 서버처리시간이 추출된다. 단계 S605에서, 수신한 ECHO-REPLY-RTCP 패킷에 설정된 ECHO-ID로부터 대응하는 ECHO-RTCP 패킷의 송신시간이 검출된다.

단계 S606에서는, (단계 S603에서 취득한) ECHO-REPLY-RTCP 패킷의 수신시간, (단계 S604에서 취득한) 서버처리시간, 및 (단계 S605에서 취득한) ECHO-RTCP 패킷의 송신시간에 의거하여, 왕복전파지연시간(RTT)의 산출처리가 실행된다. 왕복전파지연시간(RTT)의 산출은, 아래 식에 의거하여 계산된다.

왕복전파지연시간(RTT)

=(ECHO-REPLAY 수신시간) - (ECHO 송신시간) - (서버처리시간)

또, RTT의 계측을 실행할 때에 송수신하는 ECHO와 ECHO-REPLY 패킷도 손실될 수 있다. 또한 RTT도 네트워크의 상황에 따라 항상 변동 가능하다. 그러므로, 데이터수신단말(202)은 일정 간격으로 ECHO와 ECHO-REPLY 패킷을 송수신하여 RTT를 계측한다.

도 14로 되돌아가, 데이터수신측단말(202)의 처리에 대해 설명을 계속한다. 단계 S415에서는, 재전송요구로서의 NACK-RTCP를 출력한 경우, 실시간재생처리에 시간을 맞추는 타이밍으로 재전송요구 패킷의 수신이 가능한지 여부를 판정한다. 상술한 ECHO와 ECHO-REPLY 패킷의 송수신처리에 의해 계측된 RTT 값과, 각 프레임의 처리 타이밍을 계측하고 있는 타이머의 기한(期限)에 의거하여, 재전송 요구로서의 NACK-RTCP 패킷을 내더라도 시간에 맞출 수 없다고 판단한 경우, 즉 S415에서의 판단이 No인 경우에는, NACK-RTCP 패킷의 송신 처리는 실행하지 않는다.

예를 들면, 패킷 손실이 존재하는 해당 프레임의 부호화 데이터의 처리개시까지의 시간 Ta = 100 msec 인 경우, 즉 100 msec 후에 디코더(224)에 데이터를 넘겨 복호 처리가 개시되는 것이 타이머의 계측에 의해 분명하다고 되어 있는 경우, 계측된 최신의 RTT 값이, (해당 프레임의 부호화 데이터의 처리개시까지의 시간인) Ta보다 큰 값인 경우, 즉, 100 msec 이상인 경우에는, 재전송요구로서의 NACK-RTCP 패킷을 송신하더라도, 재전송 패킷의 수신이, 디코드 처리개시 타이밍에 시간을 맞추지 못한다고 판단한다. 그래서 NACK-RTCP 패킷의 송신처리를 실행하지 않는다. 단지, RTT 값이 처리개시까지의 시간 Ta 이상이지만, Ta에 매우 가까운 값을 가지는 경우에는, 실시간 재생에 빠듯하게 시간에 댈 가능성도 있기 때문에 NACK를 송 출하는 구성해도 좋다. 이 NACK-RTCP 송출판정의 임계치(??値)는 구현상태에 의존한다.

한편, 계측된 최신의 RTT 값이, 패킷손실이 존재하는 해당 프레임의 부호화 데이터의 처리개시까지의 시간 Ta 이하인 경우에는 재전송 요구로서의 NACK-RTCP 패킷을 송신하여 재전송 패킷을 수신하기까지의 시간이, 디코더 처리개시타이밍까지의 시간 이하라는 것을 의미한다. 그래서 재전송패킷 시간에 맞게 수신될 수 있는 것으로 판단한다. 단계 S417에서, NACK-RTCP 패킷의 송신처리를 실행한다.

도 14의 흐름의 단계 S402에서, FEC에 의한 중복 코드가 부여되어 있지 않은 패킷이라고 판정한 경우에는, 단계 S403에서, 수신한 패킷이, n번째 프레임(n=1, 2, ...)의 종단 패킷인지 여부를 판정한다. 또한, 단계 S404에서, 수신한 패킷이, n+1번째 프레임의 선두 패킷인지 여부를 판정한다. 수신한 패킷이, n번째 프레임(n=1, 2, ...)의 종단 패킷인 경우, 또는, n+1번째 프레임의 선두 패킷인 경우에는, 처리는 단계 S414로 진행한다.

단계 S414에서는, n번째 패킷 내에 미(未)수신의 패킷, 즉 손실된 패킷, 혹은 에러 패킷이 있는지 여부를 판정한다.

손실된 패킷 또는 에러 패킷이 검출되면, 처리는 단계 S415 로 진행한다. 재전송요구처리로서의 NACK-RTCP 패킷의 송신여부가 판정되고 그리고 이 판정에 의거하여 NACK-RTCP 패킷이 송신된다. 이들 판정처리의 상세한 것은, 전술한 대로이다.

NACK-RTCP 패킷이 송신되는 때에 타임 스탬프(TIMESTAMP)와 시퀀스 번호의 조합이 확실하지 않은 경우에는, 앞서 도 10을 참조하여 설명된 바와 같이 옵션이 지정되고 NACK-RTCP 패킷이 송신된다. 데이터수신단말(202)에서는, 패킷의 송수신정보를 수시로 기록하기 때문에, 패킷 손실율이 산출 가능하다. 이 손실율이 일정치 이상으로 된 경우에는, NACK-RTCP 패킷 자체가 손실될 수 있다. 그러므로, 동일한 NACK-RTCP 패킷이 복수회, 거듭 송신된다. 그 결과, 재전송 성공율이 높아진다. 대안적으로, NACK-RTCP 패킷에 "중복지정횟수"가 증분하여 설정된다.

데이터송신단말(201)은, NACK-RTCP 패킷을 수신하면, 데이터 송신단말(201)은 다음의 타임 스탬프를 설정한 프레임 데이터와 더불어, 재전송 패킷을 송신한다.

단계 S414의 손실된 패킷의 검출은, 그 패킷이 단계 S404의 각 프레임의 최초 패킷인 것으로 판정되는 경우, 단계 S405에서의 판정이 Yes인 경우(각 프레임의 종단 재송시간이 도달된 것으로 판정되는 때), 또는 단계 S406에서의 판정이 Yes인 경우(타이머의 최소 계측시간 τ가 경과된 것으로 판정된 때)에 실행된다.

각 프레임에 대해, 최종 재전송시간의 판정은, 단계 S405에서 재전송 요구로서의 NACK-RTCP 패킷이 출력된 경우, 재전송된 패킷이 실시간재생을 위해 시간에 맞게 도달하는 최종 재전송시간이 도달했는지를 판정하기 위해 행해진다. 각 프레임에 대해, (각 프레임의 부호화 데이터의 처리 개시까지의 시간인) Ta가 계측되어 있는 RTT 값과 동일하게 되었을 때, 즉, Ta= RTT로 된 경우에, 단계 S405의 판정이 Yes로 된다. 단계 S414에서 해당 프레임이 손실된 패킷을 가지는지가 판정된다. 최후의 재전송 요구 가능 타이밍에 프레임에 대해 손실된 패킷이 검출된다. 손실된 패킷이 검출되면, 손실된 패킷이 검출된 경우에 최후의 재전송 요구가 송신된다.

단계 S406에서 타이머의 최소계측시간 τ가 경과되었는지 여부를 판정한다. (데이터수신단말(202)이 가지는 타이머의 계측 최소시간인) τ마다, 판정이 Yes로 될 때, 단계 S414에서 해당 프레임에 대해 손실된 패킷을 검출한다. 각 프레임의 선두 패킷 또는 최종 패킷이 검출되지 않는 경우에도, (각 계측 최소시간인) τ에 대응하는 수신 프레임에 대해, 손실된 패킷을 확실하게 검출한다. 이로 인해 재전송 요구를 실행하고자 하기 위한 처리이다.

전술한 바와 같이, 데이터수신단말(202)은, 단계 S403에서 각 프레임의 종단 패킷이 수신된 때, 단계 S404에서 각 프레임의 선두 패킷이 수신된 때에, 단계 S405에서 각 프레임의 최종 재전송시간이 도래한 것으로 판정된 때, 또는 단계 S406에서 타이머의 최소계측시간 τ가 도래한 것으로 판정된 때, 단계 S414에서 손실된 패킷의 검출 처리를 실행한다. 대안적으로, 수신단말(202)은 이들 단계 S403 내지 S406의 4종류의 단계 중 어느 하나의 단계에서 그 판정이 Yes 인 때, 손실 패킷을 검출하는 구성으로 해도 좋다.

단계 S414에서 각 프레임의 손실된 패킷의 검출처리에서, 손실된 패킷이 검출되지 않은 경우에는, 디코더(224)는 각 패킷에 저장된 부호화 데이터를 디코드(복호)한다. 단계 S418에서는, 수신된 패킷에 대응하는 수신확인 패킷으로서의 ACK-RTCP 패킷의 생성, 송신이 행해진다. 앞서 도 11을 참조하여 설명한 대로, ACK-RTCP 패킷은, 수신된 시퀀스번호를 포함하는 패킷이다. 이 ACK-RTCP 패킷을 수신한 데이터 송신단말(201)은, ACK-RTCP 패킷에 기록된 수신된 시퀀스번호에 대응하는 패킷을 버퍼(223)에서 클리어한다.

도 14에 도시하는 흐름의 단계 S407에서는, 각 프레임의 타이머 기한(timer limit)을 확인한다. 이 타이머 기한은, 실시간재생처리의 개시 기한을 계측하는 타이머에 의해 설정되는 기한이다. 각 프레임마다 그 타이머 기한이 설정된다. n번째 프레임의 타이머 기한이 마감된 것으로 판정된 경우에는, 손실된 패킷이 있는 경우일지라도, 단계 S416에서 디코드 처리로 이행하게 된다.

단계 S408에서는, 데이터송신단말(201)로부터, 데이터 스트림의 종료를 명시하는 EOS(End 0f Stream) 메시지를 가지는 RTCP 패킷을 수신하였는지 여부를 판정한다. EOS-RTCP 패킷이 수신되지 않은 경우에는, 단계 S401 이하의 처리를 반복한다.

EOS-RTCP 패킷이 수신된 경우에는, 단계 S409에서, 각 프레임의 타이머 기한을 확인한다. 이 타이머 기한은, 실시간재생처리의 개시 기한을 계측하는 타이머에 의해 설정되는 기한이다. 각 프레임마다 그 타이머 기한이 설정된다. 타이머 기한이 마감되지 않은 경우에는, 처리가 단계 S419에서, 재전송 요구되어 있는 손실된 패킷에 관한 재전송 패킷을 수신하는 대기모드에 있는지 여부를 판정한다. 처리가 대기 모드에 있는 경우에는, 재전송 패킷을 수신하는 대기모드에 있는 단계 S420로 진행한다. 처리는 단계 S401의 패킷수신 이하의 처리를 반복 실행한다.

단계 S409에서의 판정이 Yes 인 경우(즉, 각 프레임의 타이머 기한이 마감된 것으로 판정된 경우), 또는 단계 S419에서, 재전송 패킷수신 대기모드에 있지 않은 것으로 판정된 경우에는, 재생 처리를 해야 할 수신되지 않은 패킷 데이터는 존재하지 않는 것으로 판정된다. 단계 S410에서 수신 처리가 완료된다.

본 발명의 시스템에서는, 실시간 배송에 알맞지만 신뢰성을 보증하지 못하는 RTP 등의 데이터통신 프로토콜에 따른 패킷 전송에서, FEC 처리에 의한 에러 정정과, 재전송 요구처리로서의 ARQ가 선택적으로 실행된다. 그 결과, 보다 에러내성이 있는 신뢰성이 높은 데이터전송과 실시간재생이 가능해진다. 또, 상술한 실시예에서는, RTP 패킷에 부호화 데이터가 저장되어 있다. 대안적으로, RTP 패킷 포맷에 한하지 않고, UDP(User Datagram Protocol)과 같은 다른 데이터통신 프로토콜 포맷에 따른 패킷을 사용한 데이터통신 구성에서도, 상술한 실시예와 마찬가지의 각종 컨트롤 패킷을 사용한 재전송요구처리를 행함으로써, 상술한 실시예와 마찬가지의 구성을 실현할 수 있다.

상술한 바와 같이 본 발명의 구성에서는, 각 프레임의 선두 패킷이 수신된 때, 각 프레임의 최종 패킷이 수신된 때, 최종처리기한에, 또는 일정 간격(τ)마다 등의 각종 타이밍으로 각 프레임에 대해 손실된 패킷을 검출한다. 그에 따라 확실하게 손실 패킷의 검출이 가능하게 된다.

또한, 본 발명의 데이터통신 시스템에서의 송신측 단말(201)의 계층 에러 정정 우선도 제어부(212)와 수신측 단말(202)의 에러 정정 제어부(230)는, 송신측단말(201)과 수신측단말(202)의 네트워크 감시부(215, 229)에 의해 감시되어 있는 현재의 네트워크 상황을 근거로 하여 에러 정정을 제어한다. 네트워크는, 범용의 프로토콜을 이용하여 검출된 RTT나 패킷 손실율 등 RTCP나 ICMP에 기초하여 감시된다. 수신측단말(202)이 RTT를 검출하기 위해, 수신측단말(202)은, 전술한 ECHO 패킷을 송신측단말(201)에 보내어, ECHO 패킷에 응답으로 ECHO-REPLY 패킷을 수취한 다. 이에 따라 수신측단말(202)은 RTT를 계측하여, 확실하게 패킷재전송요구를 송신한다.

앞서 설명한 바와 같이, RTP는 각 패킷마다 시퀀스번호를 할당한다. 시퀀스번호와 특정 프레임의 선두와 종단을 나타내는 플래그를 페이로드에 넣어 둠으로써, 수신측단말(202)은 어떤 프레임을 구성하는 패킷 수를 간단히 계산한다. 필요한 패킷수에 대해 어느 시간 내에 도달한 유효한 패킷의 수를 감시함으로써, 어느 정도 에러율을 구할 수가 있다. 여기서 얻어진 에러율 또는 RFC 1889로 규정되어 있는 RTCP의 RR(Reciever Report)에서의 패킷 손실율에 의해, 송신측단말(201)은 에러율을 검출하고 FEC의 에러 정정 강도를 올린다. 대안적으로, 송신측단말(201)은 FEC를 적용하지 않기로 결정한다.

에러 정정 처리로서 실행되는 패킷재전송요구인 ARQ는, 재전송 요구 NACK를 송신하여 재전송 패킷이 도달할 때까지 RTT 시간을 요구한다. 또한, FEC는 송수신단말(201, 202)이 인터리빙과 디인터리빙을 수행하기 때문에, 일정 시간이 필요로 한다. 각각의 송수신 단말(201, 202)에서의 네트워크 감시부(215, 229)의 감시에 의해 얻어지는 네트워크 상황에 의거하여, 예를 들면, RTT가 짧으면, ARQ에 의한 재전송이 가능해진다. 이리하여 ARQ에 의한 에러 정정이 선택되고 실행된다. 대조적으로, RTT가 길고, 재전송하는 시간이 충분히 없을수록 송신측(201)으로부터 수신측(202)으로 데이터를 전송하는데 시간이 걸리는 네트워크 상황인 경우에는, ARQ가 아니라 FEC에 의한 에러 정정이 선택된다. 이 방식으로 동적인 에러 정정 제어가 가능해진다.

수신측 단말(202)의 에러 감시부(222)는, RTP가 각 패킷마다 할당된 시퀀스번호에 의거하여, 필요한 패킷 수에 대해 어떤 시간 내에 도달한 유효한 패킷의 수를 나타내는 에러율을 구할 수가 있다. 또한, 송신측 단말(201)은, 재전송요구처리의 수를 카운트함으로써, 대략의 에러율을 계산하는 것이 가능해진다. 에러율이 높고, FEC에 의한 에러 정정으로 정정할 수 없을 정도의 높은 에러율이라고 판정한 경우에는, 송신측 단말(201)의 계층 에러 정정 우선도 제어부(212)는, FEC 처리부(208)에서의 중복 코드의 부여를 정지시키고, 수신측 단말(202)로부터의 재전송요구(ARQ)에 단지 응답하도록 선택한다. 대안적으로, 송신측단말(201)의 계층 에러 정정 우선도 제어부(212)는 보다 에러 정정 강도가 높은 알고리즘을 사용하는 FEC를 선택한다. 이 방식으로 에러 제어 모드는 동적으로 변경되는 것이 가능해진다.

또한, 이들 에러제어 모드는, 전송하는 데이터의 계층에 따른 우선도에 대응하여 선택적으로 설정 가능하다. 여러가지 에러 정정 정책(policy)이 결정된다. 예를 들면 수신측 단말(202)의 네트워크상황 감시부(229)는, 패킷 손실율 또는 전송지연시간에 의거하는 네트워크 상황을 해석한다. 계층선택 제어부(231)는, 이 해석결과에 의거하여 처리되는 데이터를 선택한다.

더욱이, 이 에러 정정 정책은, 네트워크 상황에 대한 응답이나 송신단말(201)과 수신단말(202)의 의도에 의해 변경가능하기 때문에, 에러 정정 정책은 일의적으로 정해지는 것으로 할 필요는 없다. 어느 송신 환경과 미디어에 따라서는, 기본으로 되는 계층의 완전한 재생이 선호된다. 이 기본으로 되는 계층에 대한 우선도 레벨은 더 강한 강도(higher intersity)의 FEC 및 ARQ를 적용하여 강화된다. 음성 데이터에 대해서 FEC만이 적용된다. 대안적으로 오버헤드는 가능한 한 최소화될 필요가 있기 때문에 FEC는 적용되지 않고 ARQ에 기반한 재송 횟수는 단 1회까지 실행된다. 이 방식으로 자유로이 모드가 설정될 수가 있다.

본 발명의 시스템에서는, 데이터수신단말(202)은, 재생처리시간과 전파지연시간, 즉 RTT를 고려한 데이터 재전송요구처리를 실행한다. 쓸데 없는 재전송요구 패킷과 재전송 패킷은 이리하여 방지된다. 이것으로, 네트워크의 대역폭을 재전송으로 인해 좁게 하는 일이 없다. 또한, 데이터수신단말(202)이, 패킷의 송수신 정보를 수시로 기록하고, 패킷 손실율을 검출할 때, 손실율이 일정값 이상으로 된 경우, 동일한 NACK-RTCP 패킷을 복수 회 거듭 송신한다. 그 결과, 재전송 성공율을 높일 수가 있게 된다.

[데이터 송수신단말장치 구성예]

상술한 실시예에서 설명한 일련의 처리는, 하드웨어 또는 소프트웨어, 혹은 양자의 복합 구성에 의해 실행하는 것이 가능하다. 소프트웨어에 의한 처리를 실행하는 경우는, 처리 시퀀스를 기록한 프로그램이, 전용의 하드웨어에 포함된 데이터 처리장치 내의 메모리에 인스톨되거나, 혹은, 각종 처리가 실행 가능한 범용 컴퓨터에 프로그램을 인스톨되어 이 프로그램이 실행되는 것도 가능하다. 일련의 처리를 소프트웨어에 의해 행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 예를 들면 범용의 컴퓨터나 마이크로컴퓨터 등에 인스톨된다.

도 16은, 상술한 실시예에서 설명한 일련의 처리를 실행하는 데이터송신 단 말장치(201)와 데이터수신단말장치(202)를 포함하는 시스템 구성예를 도시한다. 본 발명의 시스템에서 송수신되는 데이터는 부호화 데이터이다. 데이터송신장치는 인코드(부호화) 처리를 실행하며, 데이터수신장치는 디코드(복호) 처리를 실행한다. 부호화된 데이터는 패킷으로 분할되고, 이 패킷은 네트워크를 거쳐 송수신된다. 그 때문에, 데이터송신측단말은, 패킷 생성(패킷타이징처리)을 실행하고, 데이터수신측단말은 패킷 전개(디패킷타이징 처리)를 실행한다.

도 16에 도시하는 PC와 같은 데이터 송수신장치(850)는, 인코드(부호화) 처리, 디코드(복호) 처리를 실행함과 동시에 패킷 생성과 전개 처리를 실행하는 코덱(851); 통신 네트워크와의 인터페이스로서 기능하는 네트워크 인터페이스(852); 마우스(837)와 키보드(836) 등의 입력기기와의 입출력 인터페이스(853); 비디오카메라(833), 마이크로폰(834), 및 스피커(835) 등의 AV 데이터 입출력기기로부터의 데이터입출력을 행하는 AV 인터페이스(854); 디스플레이(832)에 대한 데이터 출력인터페이스로서의 디스플레이 인터페이스(855); 각 데이터 입출력 인터페이스, 코덱(851), 및 네트워크 인터페이스(852) 사이의 데이터 전송제어와 그 외 각종 프로그램 제어를 실행하는 CPU(856); CPU(856)에 의해 제어 실행되는 각종 프로그램과 데이터를 저장하는 저장영역과, CPU(856)의 작업영역으로서 기능하는 RAM과 ROM을 포함하는 메모리(857); 데이터와 프로그램을 저장하는 기억 매체로서의 HDD(858)를 포함한다. 각 성분은 각각 PCI(Peripheral Component Inter- connect) 버스(809)에 접속되어, 상호의 데이터 송수신이 가능한 구성을 가진다.

코덱(851)은, 도 16에 도시하는 바와 같이, 예를 들면 비디오카메라(833)로 부터의 화상 데이터와 마이크로폰(834)으로부터의 음성 데이터를 수신하여, 데이터를 부호화처리하고, 패킷생성처리(패킷타이징)를 실행하고, 최종적으로 부호화된 데이터를 페이로드로 한 패킷을 생성한다. 생성된 패킷은, PCI 버스(809) 상에 출력되며, 네트워크 인터페이스(852)를 거쳐 네트워크에 출력되어, 패킷의 헤더에 설정된 수신처 어드레스로 배송된다.

대안적으로, HDD(858) 또는 메모리(857)에 저장된 소프트웨어 인코딩 프로그램에 따라서 CPU(856)의 제어에 의해, 비디오카메라(833)로부터의 화상 데이터와 마이크로폰(834)으로부터의 음성 데이터가 부호화되며 이 부호화 데이터는 네트워크 인터페이스(852)를 거쳐 네트워크에 출력하는 처리도 실행하는 구성으로 해도 좋다.

한편, 네트워크를 거쳐 입력하는 IP 패킷화된 데이터는, 네트워크 인터페이스(852)를 거쳐, PCI 버스(809)를 통해 코덱(851)에 출력된다. 코덱(851)은 입력데이터를 패킷전개처리(디패킷타이징)를 실행하여, 페이로드로서 저장된 부호화 데이터를 추출한 후, 복호 처리를 실행하여, 디스플레이(832)와 스피커(835)에서 복호화 데이터를 출력하여 재생, 출력한다.

상술한 실시예에서의 처리대상으로 되는 화상 등의 데이터는, 카메라와 같은 입력기기, 예를 들면 스캐너 등의 데이터입력장치, 혹은 플로피디스크(FD), CD-R0M (Compact Disc Read Only Memory), M0(Magneto optical) 디스크, DVD(Digital Versatile Disc), 자기디스크, 또는 반도체메모리 등의 리무버블(removable) 기록매체로부터 입력 가능하다.

또한, CPU(856)는, ROM 저장 프로그램 뿐만 아니라, 하드디스크에 저장되어 있는 프로그램, 위성 혹은 네트워크로부터 전송되고, 수신되어 하드디스크에 인스톨된 프로그램 등을, RAM(Random Access Momery) 등의 메모리에 로딩하여 이 프로그램을 실행하는 것도 가능하다.

여기서, 본 명세서에서, 프로그램은, 1개의 컴퓨터에 의해 처리되는 것이어도 좋고, 복수의 컴퓨터에 의해 분산 처리되는 것이어도 좋다. 더욱이, 프로그램은, 멀리 떨어진 컴퓨터에 전송되어 실행되는 것이어도 좋다.

이상, 특정한 실시예를 참조하면서, 본 발명에 대해 상세히 설명하였다. 그러나, 본 발명의 요지를 일탈하지 않은 범위에서 당업자가 이러한 실시예의 수정이나 대용을 할 수 있음은 자명하다. 본 발명은 즉, 단지 예시의 목적을 위해서 본 실시예를 사용하여 개시된 것이며, 한정적으로 해석되어서는 안된다. 본 발명의 요지는 첨부된 특허청구에 의해서만 판단되어야 한다.

이상, 설명해 온 것처럼, 본 발명의 구성에 의하면, 네트워크 감시부에 의해서 감시되고 있는 현재의 네트워크 상황을 근거로 에러 정정을 제어하는 것이 가능하다. 에러 제어 모드는 예를 들어 FEC에 의한 에러제어 모드 혹은 재전송 요구처리(ARQ)에 의거하는 에러제어 모드 사이에서 네트워크에서의 패킷손실 또는 에러발생상황에 따라 동적으로 변경된다. 패킷 에러율 또는 RFC 1889로 규정되어 있는 RTCP의 RR(Reciever Report)에서의 패킷 손실율이 얻어지고, 이 얻어진 데이터는 감시 데이터로서 사용된다. 송신측단말은 FEC의 에러 정정 강도를 올리거나, 또는 FEC를 적용하지 않고 ARQ만을 적용하기로 판정할 수 있다. 처리 모드는 이러한 방식으로 변경가능하다.

본 발명의 구성에 의하면, 네트워크 감시부에 의해 네트워크를 감시하며 판정된 네트워크 상황에 의거하여, 예를 들면, RTT가 짧으면, ARQ에 의한 재전송이 가능해진다. 이리하여 ARQ에 의한 에러 정정이 선택되어 실행된다. RTT가 길고, 송신측으로부터 수신측으로 데이터를 전송하는데 시간이 걸려, 재전송하는 시간이 충분하지 않는 네트워크 상황인 경우에는, ARQ가 아니라 FEC에 의한 에러 정정이 선택된다. 이 방식으로 동적인 에러 정정 제어가 가능해진다.

에러제어 모드는, 전송하는 데이터의 계층에 의존하는 우선도에 대응하여 선택적으로 설정 가능해하다. 부호화 데이터의 계층 레벨에 따라 다른 타입의 에러 정정처리가 실행되는 구성으로 하는 것이 가능하다. 예를 들면 기본 계층을, 강한 강도의 FEC와 ARQ를 사용하여 우선도를 올린 설정으로 분류한다. 음성 데이터에 대해서는 FEC만이 적용된다. 대안적으로 오버헤드는 가능한 한 최소화할 필요가 있기 때문에 FEC는 적용되지 않고 ARQ에 의한 재전송이 재전송 횟수를, 예를 들면 1회까지만 실행된다. 다시말해 재전송 횟수를 제한할 수 있다. 전술한 바와 같이 자유로이 에러제어 모드가 설정될 수가 있다.

Claims (32)

  1. 스트림형데이터 전송을 실행하는 데이터통신 시스템으로서,
    데이터송신장치 및 데이터수신장치를 포함하며,
    상기 데이터송신장치는,
    송신데이터를 포함하는 데이터패킷을 송신하는 패킷송신 처리부와;
    네트워크상황을 감시하는 네트워크상황 감시부와;
    상기 네트워크상황 감시부가 감시하는 네트워크 상황에 의거하여, 전송 패킷의 에러제어모드를 제어하는 데이터송신측 제어부와;
    데이터수신장치로부터 수신되는 재전송(再送) 요구 메시지 패킷에 따라 재전송해야 할 데이터 패킷의 추출처리를 실행하는 재전송 제어부를
    포함하며,
    상기 데이터수신장치는,
    상기 데이터송신장치로부터 데이터 패킷을 수신하는 패킷수신 처리부와;
    상기 데이터송신장치로부터 수신되는 데이터 패킷의 에러 또는 패킷 손실 (loss)의 검출을 실행하여, 에러대응처리를 실행하는 에러 정정 제어부와;
    상기 데이터송신장치로부터 수신되는 데이터 패킷의 에러 또는 패킷 손실의 검출에 의거하여, 상기 데이터송신장치에 대한 데이터 패킷재전송요구를 행하는 재전송요구 메시지 패킷의 송신 가부를 판정하는 재전송요구처리 제어부를
    포함하며,
    상기 데이터수신장치에서의 에러 정정 제어부는,
    상기 데이터송신장치와 상기 데이터수신장치 사이의 왕복전파지연시간(RTT : Round Trip Time)의 계측처리를 위해 상기 데이터송신장치에 대한 에코(ECHO) 패킷의 송신 및 그 에코 패킷에 대한 에코-리플라이(ECHO-REPLY) 패킷의 수신처리를 제어하고,
    상기 에코 패킷 및 에코-리플라이 패킷에 의거하여 산출되는 왕복전파지연시간(RTT)에 의거하여, 재전송요구의 응답으로 재전송된 데이터 패킷의 수신이, 재전송된 데이터 패킷에 저장된 데이터의 재생처리 개시시간 전에 가능한지 여부를 판정하는 것을 특징으로 하는 데이터통신시스템.
  2. 제 1 항에 있어서, 상기 데이터송신측 제어부는, 상기 네트워크 상황 감시부가 감시하는 네트워크 상황에 의거하여, 에러제어를 행하는 순방향 에러 정정(FEC : Forward Error Correction)의 처리모드 변경, 또는 데이터 재전송 요구 처리를 행하는 자동 반복 요구(ARQ : Automatic Repeat Request)의 처리모드의 변경을 실행하는 것을 특징으로 하는 데이터통신 시스템.
  3. 제 1 항에 있어서, 상기 네트워크상황 감시부는, 패킷 손실율, 전송지연시간, 또는 상기 데이터수신장치로부터의 재전송요구에 의거하여 네트워크 상황 해석을 실행하고, 그 해석결과를 상기 데이터송신측 제어부에 출력하며, 상기 데이터송신측 제어부는, 상기 해석결과에 의거하여, 전송 패킷의 에러제어모드를 제어하는 것을 특징으로 하는 데이터통신시스템.
  4. 제 1 항에 있어서, 상기 데이터수신장치는, 네트워크 상황을 감시하는 데이터수신장치측 네트워크상황 감시부를 더 포함하며,
    상기 데이터수신장치측 네트워크상황 감시부는, 패킷 손실율, 또는 전송지연시간에 의거하여 네트워크 상황해석을 실행하고, 그 해석결과에 의거하여 처리될 데이터의 선택을 실행하는 것을 특징으로 하는 데이터통신 시스템.
  5. 제 1 항에 있어서,
    상기 데이터송신장치는,
    송신되는 부호화 데이터(encoded data)를 계층화(階層化) 처리하는 계층화부와,
    상기 계층화부에서 계층화된 계층마다 우선도 레벨(priority level)을 설정하는 우선도 부여 처리부를 더 포함하고,
    상기 데이터수신장치는,
    네트워크 상황을 감시하는 데이터수신장치측 네트워크상황 감시부와,
    상기 데이터수신장치측 네트워크상황 감시부의 해석결과에 의거하여 처리될 데이터의 선택을 상기 계층 또는 우선도에 따라 실행하는 계층선택제어부
    를 더 포함하는 것을 특징으로 하는 데이터통신시스템.
  6. 제 1 항에 있어서,
    상기 데이터수신장치에서의 에러 정정 제어부는,
    에러제어를 행하는 순방향 에러 정정(FEC)에 의거하는 에러 정정처리, 또는 데이터재전송요구처리를 행하는 자동 반복 요구(ARQ) 처리를 실행하는 것을 특징으로 하는 데이터통신시스템.
  7. 삭제
  8. 제 1 항에 있어서,
    상기 데이터송신장치는,
    송신되는 부호화 데이터를 계층화 처리하는 계층화부와,
    상기 계층화부에서 계층화된 계층마다 우선도를 설정하는 우선도 부여 처리부를 더 포함하고,
    상기 데이터송신측 제어부는, 상기 계층화부에서의 계층화처리모드, 또는 상기 우선도 부여 처리부에서의 처리모드를 네트워크 상황에 따라 변경하는 것을 특징으로 하는 데이터통신시스템.
  9. 제 1 항에 있어서,
    상기 데이터송신장치는,
    송신부호화 데이터를 계층화 처리하는 계층화부를 더 포함하며,
    상기 데이터송신측 제어부는, 상기 네트워크상황 감시부가 감시하는 네트워크 상황에 의거하여, 에러제어를 행하는 순방향 에러 정정(FEC)의 처리모드변경, 또는 데이터재전송요구처리를 행하는 자동 반복 요구(ARQ)의 처리모드의 변경을 상기 계층화부가 설정한 각 계층에 대응하여 실행하는 것을 특징으로 하는 데이터통신시스템.
  10. 제 1 항에 있어서,
    상기 데이터송신장치는,
    송신되는 부호화 데이터를 계층화 처리하는 계층화부와,
    상기 계층화부에서 계층화된 계층마다 우선도를 설정하는 우선도 부여 처리부를 더 포함하며,
    상기 데이터송신측 제어부는, 상기 네트워크상황 감시부가 감시하는 네트워크 상황에 의거하여, 에러제어를 행하는 순방향 에러 정정(FEC)의 처리모드변경, 또는 데이터재전송요구처리를 행하는 자동 반복 요구(ARQ)의 처리모드의 변경을 상기 우선도 부여 처리부가 설정한 각 우선도에 대응하여 실행하는 것을 특징으로 하는 데이터통신시스템.
  11. 스트림형 데이터송신을 실행하는 데이터송신장치로서,
    송신되는 데이터를 포함하는 데이터 패킷을 송신하는 패킷송신처리부와;
    네트워크 상황을 감시하는 네트워크상황 감시부와;
    상기 네트워크상황 감시부가 감시하는 네트워크 상황에 의거하여, 전송 패킷의 에러제어처리모드를 제어하는 데이터송신측 제어부와;
    데이터수신장치로부터 수신되는 재전송요구 메시지 패킷에 따라서 재전송해야 할 데이터 패킷의 추출처리를 실행하는 재전송 제어부;
    를 포함하며,
    상기 데이터수신장치에서의 에러 정정 제어부는,
    상기 데이터송신장치와 상기 데이터수신장치 사이의 왕복전파지연시간(RTT : Round Trip Time)의 계측처리를 위해 상기 데이터송신장치에 대한 에코(ECHO) 패킷의 송신 및 그 에코 패킷에 대한 에코-리플라이(ECHO-REPLY) 패킷의 수신처리를 제어하고,
    상기 에코 패킷 및 에코-리플라이 패킷에 의거하여 산출되는 왕복전파지연시간(RTT)에 의거하여, 재전송요구의 응답으로 재전송된 데이터 패킷의 수신이, 재전송된 데이터 패킷에 저장된 데이터의 재생처리 개시시간 전에 가능한지 여부를 판정하는 것을 특징으로 하는 데이터송신장치.
  12. 제 11 항에 있어서, 상기 데이터송신측 제어부는, 상기 네트워크상황 감시부가 감시하는 네트워크 상황에 의거하여, 에러제어를 행하는 순방향 에러 정정(FEC)의 처리모드변경, 또는 데이터재전송요구처리를 행하는 자동 반복 요구(ARQ)의 처리모드의 변경을 실행하는 것을 특징으로 하는 데이터송신장치.
  13. 제 11 항에 있어서, 상기 네트워크상황 감시부는, 패킷 손실율, 전송지연시간, 또는 상기 데이터수신장치로부터의 재전송요구에 의거하여 네트워크 상황해석을 실행하고, 그 해석결과를 상기 데이터송신측 제어부에 출력하며, 상기 데이터송신측 제어부는, 상기 해석결과에 의거하여, 전송 패킷의 에러제어처리모드를 제어하는 것을 특징으로 하는 데이터송신장치.
  14. 제 11 항에 있어서,
    상기 데이터송신장치는,
    송신되는 부호화 데이터를 계층화 처리하는 계층화부와,
    상기 계층화부에서 계층화된 계층마다 우선도를 설정하는 우선도 부여 처리부를 더 포함하며,
    상기 데이터송신측 제어부는, 상기 계층화부에서의 계층화처리모드, 또는 상기 우선도 부여 처리부에서의 처리모드를 네트워크 상황에 따라 변경하는 것을 특징으로 하는 데이터송신장치.
  15. 제 11 항에 있어서,
    상기 데이터송신장치는,
    송신되는 부호화 데이터를 계층화 처리하는 계층화부를 더 포함하며,
    상기 데이터송신측 제어부는, 상기 네트워크 상황 감시부가 감시하는 네트워크 상황에 의거하여, 에러제어를 행하는 순방향 에러 정정(FEC)의 처리모드변경, 또는 데이터재전송요구처리를 행하는 자동 반복 요구(ARQ)의 처리모드의 변경을 상기 계층화부가 설정한 각 계층에 대응하여 실행하는 것을 특징으로 하는 데이터송신장치.
  16. 제 11 항에 있어서,
    상기 데이터송신장치는,
    송신되는 부호화 데이터를 계층화 처리하는 계층화부와,
    상기 계층화부에서 계층화된 계층마다 우선도를 설정하는 우선도 부여 처리부를 더 가지며,
    상기 데이터송신측 제어부는, 상기 네트워크상황 감시부가 감시하는 네트워크 상황에 의거하여, 에러제어를 행하는 순방향 에러 정정(FEC)의 처리모드변경, 또는 데이터재전송요구처리를 행하는 자동 반복 요구(ARQ)의 처리모드의 변경을 상기 우선도 부여 처리부가 설정한 각 우선도에 대응하여 실행하는 것을 특징으로 하는 데이터송신장치.
  17. 스트림형 데이터의 수신을 실행하는 데이터수신장치로서,
    데이터송신장치로부터 데이터 패킷을 수신하는 패킷수신 처리부와;
    네트워크 상황을 감시하는 네트워크 상황 감시부와;
    상기 데이터송신장치로부터 수신되는 데이터 패킷의 에러 또는 패킷 손실의 검출을 실행하여, 에러대응처리를 실행하는 에러 정정 제어부와;
    상기 데이터송신장치로부터 수신되는 데이터 패킷의 에러 또는 패킷 손실의 검출에 의거하여, 상기 데이터송신장치에 대한 데이터 패킷재전송요구를 행하는 재전송요구 메시지 패킷의 송신 가부를 판정하는 재전송요구처리 제어부와;
    네트워크 상황 감시부의 감시결과에 의거하여 처리되는 데이터의 선택을 실행하는 계층선택제어부
    를 포함하며,
    데이터수신장치에서의 에러 정정 제어부는,
    상기 데이터송신장치와 상기 데이터수신장치 사이의 왕복전파지연시간(RTT : Round Trip Time)의 계측처리를 위해 상기 데이터송신장치에 대한 에코(ECHO) 패킷의 송신 및 그 에코 패킷에 대한 에코-리플라이(ECHO-REPLY) 패킷의 수신처리를 제어하고,
    상기 에코 패킷 및 에코-리플라이 패킷에 의거하여 산출되는 왕복전파지연시간(RTT)에 의거하여, 재전송요구의 응답으로 재전송된 데이터 패킷의 수신이, 재전송된 데이터 패킷에 저장된 데이터의 재생처리 개시시간 전에 가능한지 여부를 판정하는 것을 특징으로 하는 데이터수신장치.
  18. 제 17 항에 있어서, 상기 네트워크상황 감시부는, 패킷 손실율, 또는 전송지연시간에 의거하여 네트워크 상황해석을 실행하고, 상기 계층선택제어부는, 그 해석결과에 의거하여 처리되는 데이터의 선택을 실행하는 것을 특징으로 하는 데이터수신장치.
  19. 제 17 항에 있어서, 상기 데이터수신장치에서의 에러 정정 제어부는,
    에러제어를 행하는 순방향 에러 정정(FEC)에 의거하는 에러 정정처리, 또는 데이터재전송요구처리를 행하는 자동 반복 요구(ARQ) 처리를 실행하는 것을 특징으로 하는 데이터수신장치.
  20. 삭제
  21. 데이터송신장치 및 데이터수신장치 사이에서의 스트림형 데이터전송을 실행하는 데이터통신방법으로서,
    상기 데이터송신장치는,
    송신되는 데이터를 포함하는 데이터 패킷을 송신하는 패킷송신처리 단계와;
    네트워크 상황을 감시하는 네트워크 상황감시 단계와;
    상기 네트워크 상황감시 단계에서 감시하는 네트워크 상황에 의거하여, 전송 패킷의 에러제어처리모드를 제어하는 데이터송신측제어 단계와;
    데이터수신장치로부터 수신되는 재전송요구 메시지 패킷에 따라서 재전송해야 할 데이터 패킷의 추출처리를 실행하는 재전송제어 단계
    를 실행하며,
    상기 데이터수신장치는,
    상기 데이터송신장치로부터 데이터 패킷을 수신하는 패킷수신처리 단계와;
    상기 데이터송신장치로부터 수신되는 데이터 패킷의 에러 또는 패킷 손실의 검출을 실행하여, 에러대응처리를 실행하는 에러 정정 제어 단계와;
    상기 데이터송신장치로부터 수신되는 데이터 패킷의 에러 또는 패킷 손실의 검출에 의거하여, 상기 데이터송신장치에 대한 데이터 패킷재전송요구를 행하는 재전송 요구 메시지 패킷의 송신 가부를 판정하는 재전송요구처리제어 단계;
    를 실행하며,
    데이터수신장치에서의 에러 정정 제어부는,
    상기 데이터송신장치와 상기 데이터수신장치 사이의 왕복전파지연시간(RTT : Round Trip Time)의 계측처리를 위해 상기 데이터송신장치에 대한 에코(ECHO) 패킷의 송신 및 그 에코 패킷에 대한 에코-리플라이(ECHO-REPLY) 패킷의 수신처리를 제어하고,
    상기 에코 패킷 및 에코-리플라이 패킷에 의거하여 산출되는 왕복전파지연시간(RTT)에 의거하여, 재전송요구의 응답으로 재전송된 데이터 패킷의 수신이, 재전송된 데이터 패킷에 저장된 데이터의 재생처리 개시시간 전에 가능한지 여부를 판정하는 것을 특징으로 하는 데이터통신방법.
  22. 제 21 항에 있어서, 상기 데이터송신측 제어단계는, 상기 네트워크상황 감시단계에서 감시하는 네트워크 상황에 의거하여, 에러제어를 행하는 순방향 에러 정정(FEC)의 처리모드변경, 또는 데이터재전송요구처리를 행하는 자동 반복 요구(ARQ)의 처리모드의 변경을 실행하는 것을 특징으로 하는 데이터통신방법.
  23. 제 21 항에 있어서, 상기 네트워크상황 감시단계는, 패킷 손실율, 전송지연시간, 또는 상기 데이터수신장치로부터의 재전송요구에 의거하여 네트워크 상황해석을 실행하고,
    상기 데이터송신측 제어단계는, 그 해석결과에 의거하여, 전송 패킷에 대한 에러제어처리모드를 제어하는 것을 특징으로 하는 데이터통신방법.
  24. 제 21 항에 있어서, 상기 데이터수신장치는,
    패킷 손실율, 또는 전송지연시간에 의거하여 네트워크 상황해석을 실행하는 네트워크 상황감시를 또한 실행하고, 그 감시결과에 의거하여 처리되는 데이터의 선택을 실행하는 것을 특징으로 하는 데이터통신방법.
  25. 제 21 항에 있어서,
    상기 데이터송신장치는,
    송신되는 부호화 데이터를 계층화 처리하는 계층화 단계와;
    상기 계층화 단계에서 계층화된 계층마다 우선도를 설정하는 우선도 부여 처리 단계;
    를 더 실행하며,
    상기 데이터수신장치는,
    네트워크 상황에 의거하여 처리 데이터의 선택을 상기 계층 또는 우선도에 따라서 실행하는 계층선택제어 단계;
    를 더 실행하는 것을 특징으로 하는 데이터통신방법.
  26. 제 21 항에 있어서, 상기 데이터수신장치에서 실행되는 에러 정정 제어 단계는,
    에러제어를 행하는 순방향 에러 정정(FEC)에 의거하는 에러 정정처리, 또는 데이터재전송요구처리를 행하는 자동 반복 요구(ARQ) 처리를 실행하는 것을 특징으로 하는 데이터통신방법.
  27. 제 21 항에 있어서,
    상기 데이터수신장치에서 실행되는 에러 정정 제어 단계는,
    상기 데이터송신장치와 데이터수신장치 사이의 왕복전파지연시간(RTT)의 계측처리를 위해 상기 데이터송신장치에 에코 패킷을 송신하고 상기 에코 패킷에 응답하여 에코-리플라이 패킷을 수신하는 송신/수신처리 단계, 및
    상기 에코 패킷에 의거하여 산출되는 왕복전파지연시간(RTT)에 의거하여, 재전송 요구에 응답하여 재전송된 데이터 패킷의 수신이 재전송 데이터 패킷에 저장된 데이터의 재생처리 개시시간 전에 가능한지 여부를 판정하는 판정단계를 더 포함하는 것을 특징으로 하는 데이터통신방법.
  28. 제 21항에 있어서,
    상기 데이터송신장치는,
    송신되는 부호화 데이터를 계층화 처리하는 계층화 단계와,
    상기 계층화 단계에서 계층화된 계층마다 우선도를 설정하는 우선도 부여 처리 단계를 더 실행하며,
    상기 데이터송신측제어 단계는, 상기 계층화 단계에서의 계층화처리모드, 또는 상기 우선도 부여 처리 단계에서의 우선도 부여 처리모드를 네트워크 상황에 따라 변경하는 것을 특징으로 하는 데이터통신방법.
  29. 제 21 항에 있어서, 상기 데이터송신장치는,
    송신되는 부호화 데이터를 계층화 처리하는 계층화 단계를 더 실행하며,
    상기 데이터송신측제어 단계는, 네트워크 상황에 의거하여, 에러제어를 행하는 순방향 에러 정정(FEC)의 처리모드변경, 또는 데이터재전송요구처리를 행하는 자동 반복 요구(ARQ)의 처리모드의 변경을 각 계층에 대응하여 실행하는 것을 특징으로 하는 데이터통신방법.
  30. 제 21 항에 있어서,
    상기 데이터송신장치는,
    송신되는 부호화 데이터를 계층화 처리하는 계층화 단계와,
    상기 계층화 단계에서 계층화된 계층마다 우선도를 설정하는 우선도 부여 처리 단계를 더 실행하며,
    상기 데이터송신측제어단계는, 네트워크 상황에 의거하여, 에러제어를 행하는 순방향 에러 정정(FEC)의 처리모드변경, 또는 데이터재전송요구처리를 행하는 자동 반복 요구(ARQ)의 처리모드의 변경을 상기 각 우선도에 대응하여 실행하는 것을 특징으로 하는 데이터통신방법.
  31. 스트림형 데이터의 송신을 실행하는 컴퓨터프로그램을 포함한 컴퓨터가 판독가능한 기록매체로서,
    상기 컴퓨터프로그램은,
    송신되는 데이터를 포함하는 데이터 패킷을 송신하는 패킷송신처리 단계와;
    네트워크 상황을 감시하는 네트워크상황 감시단계와;
    상기 네트워크상황 감시단계에서 감시하는 네트워크 상황에 의거하여, 전송 패킷에 대한 에러제어처리모드를 제어하는 제어단계와;
    데이터수신장치로부터 수신되는 재전송요구 메시지 패킷에 따라서 재전송해야 할 데이터 패킷의 추출처리를 실행하는 재전송 제어단계
    를 포함하며,
    데이터수신장치에서의 에러 정정 제어부는,
    데이터송신장치와 상기 데이터수신장치 사이의 왕복전파지연시간(RTT : Round Trip Time)의 계측처리를 위해 상기 데이터송신장치에 대한 에코(ECHO) 패킷의 송신 및 그 에코 패킷에 대한 에코-리플라이(ECHO-REPLY) 패킷의 수신처리를 제어하고,
    상기 에코 패킷 및 에코-리플라이 패킷에 의거하여 산출되는 왕복전파지연시간(RTT)에 의거하여, 재전송요구의 응답으로 재전송된 데이터 패킷의 수신이, 재전송된 데이터 패킷에 저장된 데이터의 재생처리 개시시간 전에 가능한지 여부를 판정하는 것을 특징으로 하는 컴퓨터프로그램을 포함한 컴퓨터가 판독가능한 기록매체.
  32. 스트림형 데이터의 수신을 실행하는 컴퓨터프로그램을 포함한 컴퓨터가 판독가능한 기록매체로서,
    데이터송신장치로부터 데이터 패킷을 수신하는 패킷수신처리 단계와;
    네트워크 상황을 감시하는 네트워크상황 감시단계와;
    상기 데이터송신장치로부터 수신되는 데이터 패킷의 에러 또는 패킷 손실의 검출을 실행하여, 에러대응처리를 실행하는 에러 정정 제어 단계와;
    상기 데이터송신장치로부터 수신되는 데이터 패킷의 에러 또는 패킷 손실의 검출에 의거하여, 상기 데이터송신장치에 대한 데이터 패킷재전송요구를 행하는 재전송 요구 메시지 패킷의 송신 가부를 판정하는 재전송요구처리 제어단계와;
    네트워크상황 감시단계에서의 감시결과에 의거하여 처리되는 데이터의 선택을 실행하는 계층선택 제어단계;
    를 포함하며,
    데이터수신장치에서의 에러 정정 제어부는,
    상기 데이터송신장치와 상기 데이터수신장치 사이의 왕복전파지연시간(RTT : Round Trip Time)의 계측처리를 위해 상기 데이터송신장치에 대한 에코(ECHO) 패킷의 송신 및 그 에코 패킷에 대한 에코-리플라이(ECHO-REPLY) 패킷의 수신처리를 제어하고,
    상기 에코 패킷 및 에코-리플라이 패킷에 의거하여 산출되는 왕복전파지연시간(RTT)에 의거하여, 재전송요구의 응답으로 재전송된 데이터 패킷의 수신이, 재전송된 데이터 패킷에 저장된 데이터의 재생처리 개시시간 전에 가능한지 여부를 판정하는 것을 특징으로 하는 컴퓨터프로그램을 포함한 컴퓨터가 판독가능한 기록매체.
KR20020078418A 2001-12-12 2002-12-10 데이터통신시스템, 데이터송신장치, 데이터수신장치, 데이터통신방법 및 컴퓨터가 판독가능한 기록 매체 KR100987421B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001378808A JP3757857B2 (ja) 2001-12-12 2001-12-12 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JPJP-P-2001-00378808 2001-12-12

Publications (2)

Publication Number Publication Date
KR20030051265A KR20030051265A (ko) 2003-06-25
KR100987421B1 true KR100987421B1 (ko) 2010-10-13

Family

ID=19186424

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20020078418A KR100987421B1 (ko) 2001-12-12 2002-12-10 데이터통신시스템, 데이터송신장치, 데이터수신장치, 데이터통신방법 및 컴퓨터가 판독가능한 기록 매체

Country Status (3)

Country Link
US (1) US7502818B2 (ko)
JP (1) JP3757857B2 (ko)
KR (1) KR100987421B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150025057A (ko) * 2013-08-28 2015-03-10 엘지전자 주식회사 네트워크 장치 및 동작방법
WO2016003234A1 (ko) * 2014-07-03 2016-01-07 삼성전자 주식회사 멀티미디어 시스템에서 정보를 송수신하는 방법 및 장치
KR20190050249A (ko) * 2017-11-02 2019-05-10 현대오트론 주식회사 실시간 제공 장치 및 그 방법

Families Citing this family (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266657B2 (en) 2001-03-15 2012-09-11 Sling Media Inc. Method for effectively implementing a multi-room television system
US6263503B1 (en) 1999-05-26 2001-07-17 Neal Margulis Method for effectively implementing a wireless television system
JP4150951B2 (ja) * 2002-02-19 2008-09-17 ソニー株式会社 動画配信システム、動画配信装置および方法、並びにプログラム
JP4000905B2 (ja) * 2002-05-22 2007-10-31 ソニー株式会社 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム
KR100584170B1 (ko) * 2002-07-11 2006-06-02 재단법인서울대학교산학협력재단 터보 부호화된 복합 재전송 방식 시스템 및 오류 검출 방법
JP4406816B2 (ja) * 2002-12-11 2010-02-03 ソニー株式会社 受信装置および受信方法、記録媒体、並びにプログラム
US8009600B2 (en) * 2003-01-30 2011-08-30 Avaya Inc. Dealing with lost acknowledgements when power-saving
EP1511221B1 (en) * 2003-03-27 2020-05-20 Optis Wireless Technology, LLC Intermittent communication method and intermittent communication device
JP4244159B2 (ja) * 2003-05-16 2009-03-25 エヌ・ティ・ティ・コムウェア株式会社 受信装置、通信システムおよびプログラム
US7466666B2 (en) * 2003-06-18 2008-12-16 Telefonaktiebolaget Lm Ericsson (Publ) Forward ACK/NACK channel for CDMA system
KR100526183B1 (ko) 2003-07-15 2005-11-03 삼성전자주식회사 모바일 애드 혹 네트워크 환경에서 효율적인 데이터송수신을 위한 네트워크 장치 및 데이터 전송 방법
JP2005045409A (ja) * 2003-07-24 2005-02-17 Pioneer Electronic Corp 情報処理装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体
JP4988344B2 (ja) * 2003-08-29 2012-08-01 オープン ティーヴィー インコーポレイテッド ターゲットコンテンツの放送および受信装置
FI20031260A (fi) * 2003-09-04 2005-03-05 Nokia Corp Median suoratoisto palvelimelta asiakaslaitteelle
JP4183586B2 (ja) * 2003-09-12 2008-11-19 三洋電機株式会社 映像表示装置
JP4328602B2 (ja) 2003-11-20 2009-09-09 富士通株式会社 パケットエラー訂正装置及び方法
US20070097987A1 (en) * 2003-11-24 2007-05-03 Rey Jose L Feedback provision using general nack report blocks and loss rle report blocks
JP4349114B2 (ja) 2003-12-10 2009-10-21 ソニー株式会社 送信装置および方法、受信装置および方法、記録媒体、並びにプログラム
JP4452983B2 (ja) 2004-01-08 2010-04-21 ソニー株式会社 受信装置および方法、プログラム、並びに記録媒体
JP4475235B2 (ja) * 2004-01-28 2010-06-09 日本電気株式会社 コンテンツの符号化、配信及び受信方法と装置とシステムならびにプログラム
ES2708305T3 (es) 2004-03-09 2019-04-09 Optis Wireless Technology Llc Procedimiento de acceso aleatorio y dispositivo terminal de radiocomunicación
KR101008636B1 (ko) * 2004-05-04 2011-01-17 엘지전자 주식회사 소프터 핸드오버시에 적용되는 패킷 전송 성공 여부 전송방법
US20050254508A1 (en) * 2004-05-13 2005-11-17 Nokia Corporation Cooperation between packetized data bit-rate adaptation and data packet re-transmission
US8949395B2 (en) 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
US7917932B2 (en) 2005-06-07 2011-03-29 Sling Media, Inc. Personal video recorder functionality for placeshifting systems
CA2569610C (en) 2004-06-07 2012-11-27 Sling Media, Inc. Personal media broadcasting system
US7769756B2 (en) 2004-06-07 2010-08-03 Sling Media, Inc. Selection and presentation of context-relevant supplemental content and advertising
US7975062B2 (en) 2004-06-07 2011-07-05 Sling Media, Inc. Capturing and sharing media content
US9998802B2 (en) 2004-06-07 2018-06-12 Sling Media LLC Systems and methods for creating variable length clips from a media stream
KR100937060B1 (ko) * 2004-06-14 2010-01-15 닛본 덴끼 가부시끼가이샤 쌍방향 통신 방법과 장치, 시스템 및 프로그램을 기억한 기억 매체
US20070177491A1 (en) * 2004-06-14 2007-08-02 Matsushita Electric Industrial Co., Ltd. Content use method and content recording device
JP4638200B2 (ja) * 2004-10-07 2011-02-23 ソフトバンクモバイル株式会社 ストリーミングデータ受信再生端末
JP2006126894A (ja) * 2004-10-26 2006-05-18 Sony Corp コンテンツ配信方法、プログラムおよび情報処理装置
CN100461859C (zh) * 2004-11-12 2009-02-11 乐金电子(昆山)电脑有限公司 移动终端客户端及识别并还原解码器错误运行的方法
WO2006103724A1 (ja) 2005-03-25 2006-10-05 Fujitsu Limited パケットの配信帯域制御方法、配信装置及び映像配信システム
ITTO20050221A1 (it) * 2005-04-04 2006-10-05 St Microelectronics Srl Procedimento e sistema per la correzione degli errori a raffica nelle reti di comunicazione, rete e prodotto informatico relativi
JP4645281B2 (ja) 2005-04-19 2011-03-09 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
JP2006339775A (ja) * 2005-05-31 2006-12-14 Kddi R & D Laboratories Inc スケーラブル動画像伝送システム
US20060291452A1 (en) * 2005-06-24 2006-12-28 Motorola, Inc. Method and apparatus for providing reliable communications over an unreliable communications channel
US7573820B2 (en) * 2005-06-29 2009-08-11 Intel Corporation Techniques to control data transmission for a wireless system
US7747921B2 (en) * 2005-08-05 2010-06-29 Sony Corporation Systems and methods for transmitting data over lossy networks
JP2009507450A (ja) * 2005-09-07 2009-02-19 ヴィドヨ,インコーポレーテッド 高信頼性基本層トランクに関するシステムおよび方法
JP5265383B2 (ja) * 2005-09-07 2013-08-14 ヴィドヨ,インコーポレーテッド 低遅延かつ分散した会議アプリケーション向けコンファレンスサーバアーキテクチャのためのシステムおよび方法
US7743152B2 (en) * 2005-10-31 2010-06-22 Qualcomm Incorporated Method and apparatus for detecting the presence of a terminal in a data session
JP4513725B2 (ja) * 2005-11-09 2010-07-28 ソニー株式会社 パケット送信装置、通信システム及びプログラム
JP4840365B2 (ja) 2005-11-28 2011-12-21 日本電気株式会社 通信装置、通信システム、通信方法、および、通信プログラム
CA2633819C (en) 2005-12-08 2016-12-06 Vidyo, Inc. Systems and methods for error resilience and random access in video communication systems
US20070220403A1 (en) * 2006-02-27 2007-09-20 Honeywell International Inc. System and method for dynamic allocation of forward error encoding
US8693538B2 (en) * 2006-03-03 2014-04-08 Vidyo, Inc. System and method for providing error resilience, random access and rate control in scalable video communications
JP2007324700A (ja) * 2006-05-30 2007-12-13 Mitsubishi Electric Corp 伝送制御方法
JP2008042288A (ja) * 2006-08-02 2008-02-21 Fujitsu Ltd 信号処理装置及び信号処理方法
JP2008048182A (ja) 2006-08-17 2008-02-28 Sony Corp 通信処理装置、および通信制御方法、並びにコンピュータ・プログラム
JP5016279B2 (ja) 2006-09-06 2012-09-05 ソニー株式会社 データ通信システム、データ送信装置およびデータ送信方法
JP4809174B2 (ja) * 2006-09-27 2011-11-09 京セラ株式会社 通信装置及びデータ送信方法
KR100851918B1 (ko) * 2006-10-20 2008-08-12 광주과학기술원 네트워크 적응형 데이터 전송 방법, 이를 위한 데이터 전송시스템, 데이터 송신 장치, 및 데이터 수신 장치
US8488508B2 (en) * 2006-11-13 2013-07-16 Qualcomm Incorporated Method and apparatus for providing reliable multicast in a wireless communication system
US7937640B2 (en) * 2006-12-18 2011-05-03 At&T Intellectual Property I, L.P. Video over IP network transmission system
AU2008204833A1 (en) * 2007-01-09 2008-07-17 Vidyo, Inc. Improved systems and methods for error resilience in video communication systems
US20080178243A1 (en) * 2007-01-19 2008-07-24 Suiwu Dong Multimedia client/server system with audio synchronization and methods for use therewith
US8553757B2 (en) * 2007-02-14 2013-10-08 Microsoft Corporation Forward error correction for media transmission
US8839325B2 (en) * 2007-02-14 2014-09-16 At&T Intellectual Property I, L.P. System and method of managing video content quality
KR101177454B1 (ko) 2007-03-02 2012-08-27 삼성전자주식회사 영상 데이터의 전송에 따른 에러 복원 결정을 위한 서버 및클라이언트와, 영상 데이터의 전송에 따른 에러 복원결정방법
KR101399553B1 (ko) * 2007-03-09 2014-05-27 삼성전자주식회사 멀티미디어 스트림 전송 장치 및 방법
JP2008311795A (ja) * 2007-06-12 2008-12-25 Sony Corp コンテンツ配信システム、配信サーバ、受信端末及びコンピュータプログラム
US20080311939A1 (en) * 2007-06-18 2008-12-18 Nokia Corporation Acknowledgment aided space domain user scheduling for multi-user mimo
US20090034423A1 (en) * 2007-07-30 2009-02-05 Anthony Terrance Coon Automated detection of TCP anomalies
JP4447028B2 (ja) * 2007-08-10 2010-04-07 富士通株式会社 通信制御方法、送信装置、およびコンピュータプログラム
PL2183869T3 (pl) * 2007-08-14 2018-02-28 Nokia Technologies Oy Harmonogramowanie zasobów umożliwiające częściowo ograniczoną retransmisję
KR101420099B1 (ko) * 2007-09-21 2014-07-16 삼성전자주식회사 방송 컨텐트 재생 방법 및 장치와 방송 컨텐트 제공 방법및 장치
US8155013B2 (en) * 2007-11-02 2012-04-10 Ntt Docomo, Inc. Synchronized multi-link transmission in an ARQ-enabled multi-hop wireless network
US9876599B2 (en) * 2007-12-17 2018-01-23 Avago Technologies General Ip (Singapore) Pte. Ltd. System(s), method(s), and apparatus for accurate detection of the end of stream
EP2073460A1 (en) * 2007-12-17 2009-06-24 Alcatel Lucent Method for forwarding packets, a related packet forwarding system, a related classification device and a related popularity monitoring device
JPWO2009081449A1 (ja) 2007-12-20 2011-05-06 富士通株式会社 波長分割多重装置及び光信号の分散補償方法
US8752102B2 (en) * 2008-01-03 2014-06-10 Microsoft Corporation Intelligent retransmission of data stream segments
US8902996B2 (en) 2008-02-26 2014-12-02 Richwave Technology Corp. Adaptive wireless video transmission systems and methods
US8265171B2 (en) * 2008-02-26 2012-09-11 Richwave Technology Corp. Error resilient video transmission using instantaneous receiver feedback and channel quality adaptive packet retransmission
EP2255535B1 (en) * 2008-03-12 2015-01-14 Telefonaktiebolaget L M Ericsson (publ) Device and method for adaptation of target rate of video signals
JP4670902B2 (ja) * 2008-05-30 2011-04-13 ソニー株式会社 送信装置、送信方法および受信装置
JP5344541B2 (ja) * 2008-06-03 2013-11-20 キヤノン株式会社 データ送信装置、送信方法及びプログラム
GB0905317D0 (en) * 2008-07-14 2009-05-13 Musion Ip Ltd Video processing and telepresence system and method
EP2308235A1 (en) * 2008-07-25 2011-04-13 Nortel Networks Limited Multisegment loss protection
JP2010056964A (ja) * 2008-08-28 2010-03-11 Canon Inc 受信装置及びその制御方法、プログラム、記録媒体
JP2010109530A (ja) * 2008-10-29 2010-05-13 Sony Corp 無線通信装置および無線通信方法
KR20100073168A (ko) * 2008-12-22 2010-07-01 한국전자통신연구원 합성데이터 송/수신 장치 및 방법
US8265022B2 (en) * 2009-02-10 2012-09-11 Apple Inc. Apparatus and methods for transmission of emergency call data over wireless networks
US8169914B2 (en) * 2009-03-16 2012-05-01 Sling Media Pvt. Ltd. Method and node for transmitting data over a communication network using negative acknowledgment
JP2011009827A (ja) * 2009-06-23 2011-01-13 Nippon Telegr & Teleph Corp <Ntt> 通信システム及び通信方法
EP2302845B1 (en) 2009-09-23 2012-06-20 Google, Inc. Method and device for determining a jitter buffer level
WO2011046056A1 (ja) * 2009-10-14 2011-04-21 日本電気株式会社 パケット通信の伝送制御方法及びパケット通信システム
WO2011065294A1 (ja) * 2009-11-24 2011-06-03 日本電気株式会社 品質制御装置、動画送信システム、品質制御方法および記録媒体
CN102714728B (zh) * 2010-01-14 2015-04-29 住友电气工业株式会社 视频图像编码数据的显示方法、设备和通信系统
JP2010119133A (ja) * 2010-01-28 2010-05-27 Sony Corp パケット送信装置、通信システム及びプログラム
JP6067378B2 (ja) * 2010-01-28 2017-01-25 トムソン ライセンシングThomson Licensing 再送決定する方法及び装置
US9525569B2 (en) * 2010-03-03 2016-12-20 Skype Enhanced circuit-switched calls
US20110249729A1 (en) * 2010-04-07 2011-10-13 Apple Inc. Error resilient hierarchical long term reference frames
JP5768332B2 (ja) 2010-06-24 2015-08-26 ソニー株式会社 送信機、受信機及び通信システム
US8630412B2 (en) 2010-08-25 2014-01-14 Motorola Mobility Llc Transport of partially encrypted media
US8477050B1 (en) 2010-09-16 2013-07-02 Google Inc. Apparatus and method for encoding using signal fragments for redundant transmission of data
KR101443061B1 (ko) * 2010-11-12 2014-09-26 한국전자통신연구원 패킷 손실에 강인한 애드혹 멀티미디어 그룹통신 단말 및 그 동작방법
WO2012072276A1 (en) * 2010-11-30 2012-06-07 Telefonaktiebolaget L M Ericsson (Publ) Transport bit-rate adaptation in a multi-user multi-media conference system
JP5677070B2 (ja) * 2010-12-14 2015-02-25 キヤノン株式会社 受信装置及び、受信装置による処理方法
US8856212B1 (en) 2011-02-08 2014-10-07 Google Inc. Web-based configurable pipeline for media processing
US9077761B2 (en) * 2011-02-16 2015-07-07 Dell Products L.P. System and method for scalable, efficient, and robust system management communications via vendor defined extensions
CN106875416A (zh) * 2011-07-06 2017-06-20 Sk 普兰尼特有限公司 用户终端和用户终端的基于多播的内容接收方法
US20130064286A1 (en) * 2011-09-14 2013-03-14 Mobitv, Inc. Weighted encoder fragment scheduling
US9490850B1 (en) 2011-11-28 2016-11-08 Google Inc. Method and apparatus for decoding packetized data
FR2984060A1 (fr) * 2011-12-12 2013-06-14 France Telecom Procede et dispositif de restitution locale d'une video
FR2984059A1 (fr) * 2011-12-12 2013-06-14 France Telecom Procede et dispositif de restitution locale d'une video
JP5838787B2 (ja) 2011-12-21 2016-01-06 富士通株式会社 通信装置、および通信方法
IL217307A (en) * 2012-01-01 2015-09-24 Video Flow Ltd Adaptive forward error correction (fec) system and method
US20130195262A1 (en) * 2012-01-31 2013-08-01 Cisco Technology, Inc. Techniques for Handling High Delay Fax Transmissions
US9185429B1 (en) 2012-04-30 2015-11-10 Google Inc. Video encoding and decoding using un-equal error protection
JP2013258657A (ja) * 2012-06-14 2013-12-26 Nippon Hoso Kyokai <Nhk> P2pネットワークサービスに用いる端末装置及びプログラム
JP2014003359A (ja) * 2012-06-15 2014-01-09 Samsung Electronics Co Ltd 映像データをストリーム型データ転送するために用いられるデータ転送システム及びデータ転送システムに用いられる送信装置、受信装置及びプログラム
US9191696B2 (en) 2012-06-15 2015-11-17 Samsung Electronics Co., Ltd. Reception device and program for reception device
JP5947631B2 (ja) * 2012-06-15 2016-07-06 三星電子株式会社Samsung Electronics Co.,Ltd. 受信装置及び受信装置用プログラム
US20130339482A1 (en) * 2012-06-15 2013-12-19 Samsung Electronics Co., Ltd Data transmitting system, and transmitting apparatus and receiving apparatus and program in data transmitting system
US10034023B1 (en) 2012-07-30 2018-07-24 Google Llc Extended protection of digital video streams
US9247033B2 (en) * 2012-12-26 2016-01-26 Google Inc. Accessing payload portions of client requests from client memory storage hardware using remote direct memory access
JP5935940B2 (ja) * 2013-03-20 2016-06-15 富士通株式会社 通信方法、通信装置、および、通信プログラム
CN103269260A (zh) * 2013-06-03 2013-08-28 腾讯科技(深圳)有限公司 数据传输方法、数据接收端、数据发送端和数据传输系统
CN103354615B (zh) * 2013-06-24 2015-04-15 西安交通大学 基于信号强度的直播视频数据传输差错控制方法
CN104426636A (zh) * 2013-09-11 2015-03-18 松下电器产业株式会社 通信控制装置及通信控制方法
CN103533387B (zh) * 2013-10-21 2016-08-17 腾讯科技(深圳)有限公司 一种视频直播控制方法、设备及系统
EP2882125B1 (en) * 2013-12-06 2018-12-05 Alcatel Lucent Method and device for dynamically configuring either FEC or ARQ as impulse noise protection on a communication line
US9336071B2 (en) * 2014-01-06 2016-05-10 International Business Machines Corporation Administering incomplete data communications messages in a parallel computer
KR102105656B1 (ko) 2014-01-09 2020-04-28 한국전자통신연구원 Mmt 서비스의 패킷 재전송 방법 및 장치, 재전송 요청 방법 및 장치
US9209947B1 (en) * 2014-01-21 2015-12-08 Saratoga Data Systems, Inc. Fault-tolerant data transmission system for networks subject to jamming conditions
US9871717B2 (en) * 2014-04-25 2018-01-16 Metaswitch Networks Ltd Data processing
CN104159166B (zh) * 2014-08-07 2015-08-05 西安交通大学 基于移动网络丢包状态的直播视频数据传输差错控制方法
JP2016063422A (ja) * 2014-09-18 2016-04-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America デバイス、デバイス管理装置、中継装置、端末装置、および通信方法
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
CN107005591B (zh) * 2014-12-04 2020-07-28 索尼公司 数据处理设备、数据处理方法及程序
CN106034011A (zh) * 2015-03-11 2016-10-19 中国移动通信集团四川有限公司 一种组播传输质量保障的控制方法及系统
CN106301697B (zh) * 2015-06-08 2019-12-06 中国移动通信集团公司 一种数据传输的重传监听控制方法、装置及终端
CN104915523B (zh) * 2015-07-02 2019-03-08 国网福建省电力有限公司 一种基于时间序列的调控全业务统一建模方法
US9781488B2 (en) * 2015-07-30 2017-10-03 Adi Rozenberg Controlled adaptive rate switching system and method for media streaming over IP networks
EP3166246B1 (en) * 2015-11-06 2018-06-20 Fts Computertechnik Gmbh Method to detect and to handle failures in the communication in a computer network
US9755789B2 (en) * 2015-11-20 2017-09-05 Ringcentral, Inc. Systems and methods for dynamic packet duplication in a network
GB2545449B (en) * 2015-12-16 2019-06-26 Canon Kk A method and system for controlling transmission of a data stream
CN106982108B (zh) * 2016-01-18 2019-05-28 华为技术有限公司 一种数据传输的方法以及相关设备
CN109076062A (zh) * 2016-02-26 2018-12-21 网络洞察力知识产权公司 边缘节点控制
CN107181968B (zh) 2016-03-11 2019-11-19 腾讯科技(深圳)有限公司 一种视频数据的冗余控制方法和装置
CN107888342B (zh) * 2016-09-30 2019-10-25 瞬已网络科技(上海)有限公司 一种网络实时视频传输方法及装置
CN109195024B (zh) * 2018-08-24 2019-07-26 深圳爱克莱特科技股份有限公司 一种基于流媒体技术的灯光控制系统数据处理系统
RU2710282C1 (ru) * 2019-04-24 2019-12-25 Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации Способ передачи данных

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000053794A (ja) * 1998-06-04 2000-02-22 Sekisui Plastics Co Ltd 難燃性の熱可塑性ポリエステル系樹脂発泡体、及びその製造方法
JP2001186193A (ja) * 1999-12-24 2001-07-06 Fujitsu I-Network Systems Ltd Ip通信インタフェース装置、回線交換機及びip通信ネットワークシステム
EP1130839A1 (en) * 2000-03-02 2001-09-05 Matsushita Electric Industrial Co., Ltd. Method and apparatus for retransmitting video data frames with priority levels
KR20010107647A (ko) * 2000-05-22 2001-12-07 윤종용 복합 재전송형식을 사용하는 데이터 통신시스템의 데이터송수신장치 및 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5844918A (en) 1995-11-28 1998-12-01 Sanyo Electric Co., Ltd. Digital transmission/receiving method, digital communications method, and data receiving apparatus
US6728775B1 (en) * 1997-03-17 2004-04-27 Microsoft Corporation Multiple multicasting of multimedia streams
JP3317191B2 (ja) 1997-06-12 2002-08-26 トヨタ自動車株式会社 データ伝送方法
US6278716B1 (en) * 1998-03-23 2001-08-21 University Of Massachusetts Multicast with proactive forward error correction
JP3450729B2 (ja) 1998-12-21 2003-09-29 日本電信電話株式会社 パケット通信装置
US6594798B1 (en) * 1999-05-21 2003-07-15 Microsoft Corporation Receiver-driven layered error correction multicast over heterogeneous packet networks
JP2001053794A (ja) 1999-08-09 2001-02-23 Nec Corp Ip通信のリアルタイムバックアップ通信方法
US6891881B2 (en) * 2000-04-07 2005-05-10 Broadcom Corporation Method of determining an end of a transmitted frame in a frame-based communications network
US6778553B1 (en) * 2000-11-10 2004-08-17 Microsoft Corp. System and method for media streaming
US7292530B2 (en) * 2000-12-29 2007-11-06 Intel Corporation Method and apparatus to manage packet fragmentation
US7454527B2 (en) * 2001-05-02 2008-11-18 Microsoft Corporation Architecture and related methods for streaming media content through heterogeneous networks
US6745364B2 (en) * 2001-06-28 2004-06-01 Microsoft Corporation Negotiated/dynamic error correction for streamed media

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000053794A (ja) * 1998-06-04 2000-02-22 Sekisui Plastics Co Ltd 難燃性の熱可塑性ポリエステル系樹脂発泡体、及びその製造方法
JP2001186193A (ja) * 1999-12-24 2001-07-06 Fujitsu I-Network Systems Ltd Ip通信インタフェース装置、回線交換機及びip通信ネットワークシステム
EP1130839A1 (en) * 2000-03-02 2001-09-05 Matsushita Electric Industrial Co., Ltd. Method and apparatus for retransmitting video data frames with priority levels
KR20010107647A (ko) * 2000-05-22 2001-12-07 윤종용 복합 재전송형식을 사용하는 데이터 통신시스템의 데이터송수신장치 및 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150025057A (ko) * 2013-08-28 2015-03-10 엘지전자 주식회사 네트워크 장치 및 동작방법
KR102092090B1 (ko) * 2013-08-28 2020-03-23 엘지전자 주식회사 네트워크 장치 및 동작방법
WO2016003234A1 (ko) * 2014-07-03 2016-01-07 삼성전자 주식회사 멀티미디어 시스템에서 정보를 송수신하는 방법 및 장치
KR20190050249A (ko) * 2017-11-02 2019-05-10 현대오트론 주식회사 실시간 제공 장치 및 그 방법
KR102030460B1 (ko) * 2017-11-02 2019-10-10 현대오트론 주식회사 실시간 제공 장치 및 그 방법

Also Published As

Publication number Publication date
JP2003179580A (ja) 2003-06-27
US7502818B2 (en) 2009-03-10
US20030126238A1 (en) 2003-07-03
JP3757857B2 (ja) 2006-03-22
KR20030051265A (ko) 2003-06-25

Similar Documents

Publication Publication Date Title
Stockhammer et al. H. 264/AVC in wireless environments
Feamster et al. Packet loss recovery for streaming video
EP2919453B1 (en) Video stream switching
JP4405689B2 (ja) データ伝送
US8472520B2 (en) Systems and methods for transmitting and receiving data streams with feedback information over a lossy network
JP3735067B2 (ja) データ伝送をより効率的にする方法及びデータ伝送プロトコル
KR100932692B1 (ko) 가변 레이트 변조를 사용하는 비디오의 전송
US8018850B2 (en) Wireless video transmission system
JP4454320B2 (ja) 伝送装置、伝送制御プログラム、及び伝送方法
TWI394407B (zh) 在一無線通信系統上傳送資料之方法、裝置及電腦可讀媒體
EP1372304B1 (en) Method, transmitter and receiver for adapting the encoding rate to a varying transport rate
US6587985B1 (en) Data transmission method, data transmission apparatus, data receiving apparatus, and packet data structure
US7164680B2 (en) Scheme for supporting real-time packetization and retransmission in rate-based streaming applications
JP4623616B2 (ja) データ伝送方法および装置
JP2013081217A (ja) ビデオ符号化方法
US7797723B2 (en) Packet scheduling for video transmission with sender queue control
US8356327B2 (en) Wireless video transmission system
KR100982155B1 (ko) 비디오 전화통신을 위한 비디오 패킷 쉐이핑
KR100680671B1 (ko) 에러 정정용 데이터의 생성 방법 및 생성 장치와 생성 프로그램을 저장한 컴퓨터 판독가능한 기록 매체
JP4433287B2 (ja) 受信装置および方法、並びにプログラム
US7583666B2 (en) Protocol information processing system and method information processing device and method recording medium and program
CN1248456C (zh) 传输控制参数产生方法及根据分组特性选择性重发的方法
US8516346B2 (en) Packet transmission apparatus, communication system and program
KR100966447B1 (ko) 데이터 스트리밍 시스템 및 방법
JP3512776B2 (ja) 通信網におけるビットストリーム送受信装置及びその方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140926

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee