KR20020033089A - 손실이 많은 패킷에 근거한 네트워크를 통해 비디오를전송하기 위한 동적 하이브리드 패킷 손실 복구 방법 및시스템 - Google Patents

손실이 많은 패킷에 근거한 네트워크를 통해 비디오를전송하기 위한 동적 하이브리드 패킷 손실 복구 방법 및시스템 Download PDF

Info

Publication number
KR20020033089A
KR20020033089A KR1020017002648A KR20017002648A KR20020033089A KR 20020033089 A KR20020033089 A KR 20020033089A KR 1020017002648 A KR1020017002648 A KR 1020017002648A KR 20017002648 A KR20017002648 A KR 20017002648A KR 20020033089 A KR20020033089 A KR 20020033089A
Authority
KR
South Korea
Prior art keywords
frame
packets
receiver
video
rti
Prior art date
Application number
KR1020017002648A
Other languages
English (en)
Other versions
KR100736801B1 (ko
Inventor
이인종
Original Assignee
추후제출
노쓰 캐롤라이나 스테이트 유니버시티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 추후제출, 노쓰 캐롤라이나 스테이트 유니버시티 filed Critical 추후제출
Publication of KR20020033089A publication Critical patent/KR20020033089A/ko
Application granted granted Critical
Publication of KR100736801B1 publication Critical patent/KR100736801B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/66Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission
    • 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
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/007Unequal error protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1816Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of the same, encoded, message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/37Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability with arrangements for assigning different transmission priorities to video input data or to video coded data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6375Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
    • 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]

Abstract

손실이 많은 패킷에 근거한 네트워크를 통해 압축된 비디오를 전송할 때 패킷 손실 복구를 수행하기 위한 방법들과 시스템들은, 송출기로부터 수신기로 압축된 비디오 데이터 패킷들을 전송하는 것을 포함한다. 유실되거나 에러가 있게 수신된 패킷들을 검출하는 것에 응답하여, 상기 수신기는 상기 송출기에 재전송 요청을 전송한다. 상기 재전송 요청을 수신하는 것에 응답하여, 상기 송출기는, 상기 프레임이 상기 재전송된 패킷들과 연관된 상기 프레임에 종속되도록 전송될 프레임의 주기 시간 종속 거리를 변경시킨다. 상기 수신기는 상기 재전송된 패킷들을 수신하고 프레임 버퍼에서 상기 재전송된 패킷들에 대응하는 프레임을 복원한다. 상기 수신기는 상기 재전송된 패킷들 후에 전송된 프레임을 디코딩하기 위하여 상기 복원된 프레임을 사용한다.

Description

손실이 많은 패킷에 근거한 네트워크를 통해 비디오를 전송하기 위한 동적 하이브리드 패킷 손실 복구 방법 및 시스템{Methods and systems for dynamic hybrid packet loss recovery for video transmission over lossy packet-based network}
패킷 손실은 인터넷과 같은 손실이 많은 패킷에 근거한 네트워크에서 일반적이다. 예를 들어, 트래픽이 많은 시간동안, 미국의 동부와 서부 연안간의 접속 또는 대서양 횡단 혹은 태평양 횡단을 통해 약 5%에서 10%의 패킷 손실은 이상한 것이 아니다. 현재의 가장 수고스러운 배달 인터넷과 같은 손실이 많은 패킷에 근거한 네트워크에서의 패킷 손실은 피할 수 없기 때문에, 인터넷에 근거한 비디오 전화통신과 같은 어플리케이션은 패킷 손실에 관대하도록 구축되어져야 한다.
불행하게도, 압축된 비디오의 품질은, 비디오 압축에 적용된 움직임 추정 때문에 패킷 손실에 매우 민감하다. 움직임 추정은 비디오 시퀀스에 있어서 움직이는 물체의 변위를 추정하는 프로세스이다. 움직임 추정은, 연속적인 비디오 프레임들에 있어서의 시간적인 리던던시를 제거하기 위한 H.261, H.263, MPEG-1, MPEG-2 및 MPEG-4와 같은 코덱으로서 흔히 언급되는 통속적인 비디오 압축 및 신장 알고리즘에서 현재 사용된다. 시간적인 리던던시는, 현재의 이미지와 이전에 인코딩된 이미지로부터 재건된 그것의 움직임 예측된 이미지 간의 픽셀값만을 인코딩함으로써 제거된다. 이전에 인코딩된 이미지는 기준 프레임(reference frame) 또는 R-프레임으로서 언급된다. 이들 코덱들에 있어서, 특별한 비디오 프레임을 위한 패킷들의 손실은, 상기 손실이 일어나는 상기 프레임의 감소된 품질에서 뿐만 아니라 직접적으로 또는 간접적으로 상기 에러가 있게 수신된 프레임을 참조하는 상기 연속적인 프레임들에 대한 왜곡 전파 때문에 다음 프레임들에 있어서 자체적으로 나타난다. 이러한 문제는 에러 전파 또는 에러 분산 문제로서 언급된다.
손실 복구에 대한 대부분의 종래의 작업은, 상기 유실된 패킷들에 포함된 상기 비디오 프레임들의 예정된 디스플레이 시간전에 재전송과 순방향 에러 정정을 사용하여 패킷 손실을 복구하는데 집중된다. 그러나, 이러한 접근은, 상기 손실을 검출하고 수리하는데 있어서의 지연 때문에 대화형 비디오를 위해서는 비효율적이다. 예를들어, 손실 검출 및 수리를 위한 시간을 허용하기 위하여, 현재의 기술은 프레임 디스플레이 시간의 지연을 도입한다. 상기 프레임 디스플레이 시간을 지연하는 것은 주로 대화형 비디오 통신의 효율성을 손상시킨다.
명칭이 "연속적인 업데이트를 사용한 에러 분산으로부터의 복구(RECOVERY FROM ERROR SPREAD USING CONTINUOUS UPDATES, 이하 RESCU라 함)" 인 상기 언급된 미국 모 특허출원은, 에러 분산을 방지하기 위한 방법들과 시스템들을 개시한다. 종래의 기술들과는 다르게, RESCU는 특정한 비디오 프레임의 디스플레이전에 패킷 손실에 기인한 에러들을 방지하는 대신에 에러 전파를 제거하는데 집중된다. 패킷 손실과 긴 네트워크 대기시간이 흔한 오늘날의 인터넷과 같은 손실이 많은 패킷에 근거한 네트워크에 있어서, 상기 패킷들과 관련된 상기 프레임들의 디스플레이 시간전에 유실된 패킷들을 복구하는 것은 항상 가능하지 않다. 그러므로, 몇몇의 수리 패킷들은 상기 관련된 비디오 프레임들의 디스플레이 시간후에 도착할지도 모른다. 종래의 기술들은 이들 늦은 수리 패킷들을 버린다. 대조적으로, RESCU는 에러 전파를 막기 위해서 상기 수리 패킷들을 사용할 수 있다. 에러 전파를 막는 것은, 디스플레이된 프레임들을 버퍼링하고, 수리 패킷들이 도착할 때 상기 버퍼링된 프레임들을 복원하며 다음 프레임들을 위해 기준 프레임들로서 상기 버퍼링된 프레임들을 사용함으로써 달성된다.
RESCU의 주된 이점은 트랜스포트(transport) 레벨 복구가 성공하기 위한 더 많은 시간을 허용한다는 것이다. 즉, 프레임에 대한 수리 패킷들은, 그 프레임이 기준 프레임으로서 사용중일 때까지 유용하다. 복구 지연을 조절하기 위하여 RESCU는 주기 프레임(periodic frame)으로서, 매 P번째 프레임을 지정하는데, 여기에서 P는 정수이다. 2개의 연속적인 주기 프레임들간의 프레임 간격수는 주기 시간 종속 거리(periodic temporal dependency distance, 이하 PTDD라 함)로서 지칭된다. 주기 프레임들 사이의 프레임은 모두 단지 그것의 바로 전의 주기 프레임을 참조한다. 이와 같은 프레임들은 비주기(non-periodic) 프레임들로서 지칭된다.
도 1은 상기한 모출원에서 설명된 상기 알고리즘에 따라 PTDD 값이 2인 경우 RESCU 화상 코딩의 예를 도해한 것이다. 도 1에서, 블록부터 블록는 프레임들을 나타낸다. 블록,,는 주기 프레임들이다. 블록,는 비주기 프레임들이다. 도 1에 도해된 바와 같이, 상기 주기 시간 종속 거리는 한 주기 프레임으로부터 다음 주기 프레임까지 측정된다. 도해된 예에서, 상기 주기 시간 종속 거리는 2 프레임과 같다.
패킷 손실이 주기 프레임의 전송동안 일어날때, 수리 패킷들은 상기 손실을 수리하기 위해 전송될 수 있다. 상기 수리 패킷들은 다음 주기 프레임의 디코딩 시간전에 도착한 재전송 패킷들이거나 순방향 에러 정정(Forward error correction, 이하 FEC라 함) 패킷들일 수 있다. 만약 상기 FEC 또는 재전송된 패킷들이 다음 주기 프레임의 디코딩전에 도착한다면, 다음 주기 프레임의 상기 기준 프레임을 수리하기 위하여 상기 수리 패킷들을 사용함으로써 에러 전파가 방지될 수 있다. 예를 들어, 도 1에서, 만약 프레임가 에러를 가지고 전송되고, 수리 패킷들이 프레임가 디스플레이 되기 전에 도착한다면, 상기 수리 패킷들은,가 프레임에 대한 기준 프레임으로서 사용되기 전에 상기 버퍼링된를 수리하는데 사용될 수 있다. 따라서,에서 에러에 기인한 에러 전파는 프레임을 넘어 확대될 수 없을 것이다.
프레임들이 비주기 프레임들을 참조하지 못하기 때문에, 비주기 프레임들에서의 손실은 에러 전파를 일으키지 않는다. 상기 비주기 프레임들의 디스플레이 후에 비주기 프레임들을 복원하기 위해서 아무런 시도가 행해지지 않기 때문에, 단지 복원될 주기 프레임들만이 다음 주기 프레임들에 의한 미래의 참조를 위해 버퍼링될 필요가 있다. 이것은 에러 복구를 위한 메모리 필요조건을 감소시킨다.
도 2 및 도 3은 RESCU의 이점을 도해한 것이다. 도 2에서, 주기 프레임에서 시작되는 개인의 이미지에서의 왜곡에 의해 표현되는 에러는 다음 프레임들,에 전파된다. 도 3에서, RESCU는 주기 시간 종속 거리로서 2가 사용된다. 따라서,에서 일어나는 에러는 프레임의 디스플레이전에 수리된다. 따라서, 프레임에서 일어나는 상기 에러는 프레임또는 다음 프레임들로 전파되지 않는다.
RESCU의 종래의 응용은 고정 PTDD를 사용한 RESCU의 효과를 탐구한다. 상기 PTDD는 패킷들이 복구되는데 필요한 데드라인을 결정한다. 그러나, 네트워크 조건은 시간에 따라 변한다. 예를 들어, 정체, 전송 대기시간, 손실률 및 이용가능한 대역은 자주 변한다. 네트워크 조건이 변함에 따라 트랜스포트 레벨 복구의 효과, 즉, 재전송과 FEC가 변해서 상기 관련된 복구 지연이 변한다. 고정 PTDD 기간을 활용하는 종래의 기술들은 변하는 네트워크 조건들에 적응할 수 없다. 따라서, 변하는 네트워크 조건들을 떠맡기 위하여 PTDD 기간을 조정하기 위한 방법들과 시스템들에 대한 오랫동안의 절실한 요구가 존재한다.
본 출원은 (계류중인) 1998년 5월 15일자 제출된 미국 특허 출원 번호 09/079,621의 부분 계속 출원이며, 그 개시내용은 전체적으로 참조로써 여기에 통합된다. 본 발명은 일반적으로 손실이 많은 패킷에 근거한 네트워크를 통해 비디오를 전송하기 위한 방법 및 장치에 관한 것이다. 특히, 본 발명은 손실이 많은 패킷에 근거한 네트워크를 통해 비디오를 전송하기 위한 동적 하이브리드 패킷 손실 복구 방법 및 시스템에 관한 것이다.
도 1은 PTDD 값이 2일 때의 RESCU 화상 코딩을 도해한 블록 다이어그램이다.
도 2는 에러 전파를 설명하는 연속적인 비디오 프레임들의 컴퓨터에서 발생된 화상이다.
도 3은 RESCU를 사용하여 에러 전파를 방지하는 것을 설명하는 연속적인 비디오 프레임들의 컴퓨터에서 발생된 화상이다.
도 4는 본 발명의 실시예들이 존재할 수 있는 시스템 아키텍처의 블록도이다.
도 5는 RESCU를 사용한 에러 복구를 설명하는 블록도이다.
도 6은 순방향 에러 정정을 가지고 RESCU을 사용한 에러 복구를 설명한 블록도이다.
도 7은 본 발명의 실시예에 의한 레이지 하이브리드 RESCU를 수행하기 위한방법들과 시스템들을 도해한 블록도이다.
도 8은 본 발명의 실시예에 의한 레이지 하이브리드 RESCU와 다른 알고리즘의 성능을 평가하기 위한 시스템을 도해한 블록도이다.
도 9는 "컨테이너(container)"로 명명된 비디오 시퀀스에 대한 레이지 하이브리드 RESCU, H.261, 인트라-H.261(intra-H.261) 및 RPS하에서의 평균 PSNR 대 퍼센트 손실률의 그래프이다.
도 10은 "컨테이너(container)"로 명명된 비디오 시퀀스에 대한 레이지 하이브리드 RESCU, H.261, 인트라-H.261(intra-H.261) 및 RPS하에서의 비트율 대 퍼센트 손실률의 그래프이다.
도 11은 "뉴스(news)"로 명명된 비디오 시퀀스에 대한 레이지 하이브리드 RESCU, H.261, 인트라-H.261(intra-H.261) 및 RPS하에서의 평균 PSNR 대 퍼센트 손실률의 그래프이다.
도 12는 "뉴스(news)"로 명명된 비디오 시퀀스에 대한 레이지 하이브리드 RESCU, H.261, 인트라-H.261(intra-H.261) 및 RPS하에서의 비트율 대 퍼센트 손실률의 그래프이다.
도 13은 "아이들(children)"로 명명된 비디오 시퀀스에 대한 레이지 하이브리드 RESCU, H.261, 인트라-H.261(intra-H.261) 및 RPS하에서의 평균 PSNR 대 퍼센트 손실률의 그래프이다.
도 14는 "아이들(children)"로 명명된 비디오 시퀀스에 대한 레이지 하이브리드 RESCU, H.261, 인트라-H.261(intra-H.261) 및 RPS하에서의 비트율 대 퍼센트손실률의 그래프이다.
도 15 내지 도 17은 변화하는 네트워크 조건들하에서의 레이지 하이브리드 RESCU의 성능을 설명하는 프레임당 퍼센트 손실률의 그래프들이다.
본 발명에 의한 손실이 많은 패킷에 근거한 네트워크를 통해 비디오를 전송하기 위한 패킷 손실 복구 방법 및 시스템은, 다음 주기 프레임들의 복구전에 배달될 패킷들을 위한 충분한 시간을 허용하기 위하여 네트워크 조건들에 반응하여 상기 PTDD 값을 변경시키는 것을 포함한다. 상기 PTDD 값은, 이것이 압축 효율을 감소시키기 때문에 임의로 크게 설정될 수 없다. 따라서, 주기 프레임 복구를 최대화하는, 주어진 네트워크 조건들하에서의 최소 PTDD 값을 찾는 것은 본 발명의 중요한 양상이다.
패킷 손실률, 손실 버스트 길이 및 전송 지연은 PTDD를 결정하는데 중요한 역할을 한다. 예를 들어, 만약 상기 손실률이 증가한다면, 부가적인 FEC 패킷들 또는 재전송 시도가, 높은 손실 복구 확률을 유지하기 위해 필요하다. 따라서, 상기 PTDD는 상기 증가된 수리 시도 횟수를 위해 필요한 시간을 조절하기 위한 확장을 필요로 한다. 손실 버스트 특성, 즉, 연속하는 손실들간의 시간차이는, 또한, PTDD에 영향을 줄 수 있다. 예를 들어, 네트워크 트래픽이 증가된 버스트 손실수를 받음에 따라 재전송은 순방향 에러 정정보다 더 효과적인데, 이것은, 수리 패킷들이 손실이 발생될 때만 전송되기 때문이다. 따라서, 손실 버스트 특성은 복구를 위한 순방향 에러 정정, 재전송 또는 모두를 사용하기 위한 결정에 영향을 줄 수 있다. 재전송이 사용될 때, 상기 PTDD는 적어도 하나의 라운드트립 시간, 즉, 패킷이 송출기로부터 수신기까지 그리고 반대방향으로 진행하기 위한 시간만큼 길어야 한다. 순방향 에러 정정이 사용될 때, 상기 PTDD는 적어도, 2개의 연속적인 FEC 패킷들간의 시간간격과 주기 프레임을 보호하는데 필요한 FEC 패킷들의 수를 곱한 것 만큼 길어야 한다. FEC와 재전송이 결합된 하이브리드 기술이 사용될 때, 최소 PTDD 값을 찾는 것은 더욱더 복잡해진다. 본 발명은 이러한 모든 상태에 있어서 최적의 PTDD 기간을 결정하기 위한 방법들과 시스템들을 포함한다.
한가지 태양에 의하면, 본 발명은 여기에서 레이지 하이브리드(lazy hybrid) RESCU로서 언급되는 하이브리드 손실 복구를 위한 동적 알고리즘을 포함한다. 현재의 네트워크 조건들에 근거하여, 상기 스킴은, (1) 유실된 패킷을 언제 재전송할 것인지, (2) 언제 그리고 얼마나 많은 FEC 패킷들을 전송할 것인지, 그리고 (3) 양호한 에러 회복성 뿐만 아니라 양호한 압축효율을 달성하는데 적합한 상기 PTDD의 길이를 결정한다. 상기 알고리즘에 있어서, 다음의 FEC 패킷들이 보고된 패킷 손실로부터 복원되기에 충분하지 않다는 것을 상기 송출기가 알 때에만, 재전송이 예정된다. 수리 패킷들이 재전송될 때, 이들 패킷들이 에러 전파를 방지하기 위해 제시간에 도착하도록 허용하기 위하여 상기 PTDD는 조정된다. 이러한 전략은, 레이지 하이브리드 RESCU가 단지 주도적인 복구를 위한 소량의 비트 오버헤드, 즉, PTDD와 FEC 패킷들에 기인한 오버헤드 예산을 세우도록 허용한다. 재전송은, 네트워크 지연과 큰 비트 오버헤드 때문에 더 큰 PTDD를 필요로 한다. 그러나, 레이지 하이브리드 RESCU에 있어서, 이러한 오버헤드는, 예기되지 않은 버스트 손실이 일어나고 주도적인 복구가 실패할 때에만 손실을 입게된다. 이러한 알고리즘은, 패킷 손실 특성이, 오늘날의 인터넷에서와 같이 높은 변동성을 나타낼 때 잘 수행될 수 있다.
따라서, 본 발명의 목적은, 변화하는 네트워크 조건들에 반응하여 PTDD값을동적으로 조정하기 위한 방법들과 시스템들을 제공하는 것이다.
본 발명의 다른 목적은, 손실이 많은 패킷에 근거한 네트워크를 통해 비디오를 전송할 때 손실 복구를 위한 효과적인 메카니즘을 제공하는 것이다.
상술한 본 발명의 목적과 본 발명에 의해 전체적으로 또는 부분적으로 달성되는 목적들의 몇몇과 다른 목적들은, 하기에 가장 잘 설명된 바와 같이 첨부된 도면들과 관련되어 취해질 때, 설명이 진행됨에 따라 명백해 질 것이다.
본 발명의 바람직한 실시예들의 설명이 첨부된 도면들을 참조하여 지금 진행될 것이다.
시스템 아키텍처
도 4는 본 발명에 의한 손실 복구를 수행하기 위한 방법들과 시스템들이 존재하는 시스템 아키텍처를 도해한 것이다. 도 4에서, 시스템은 송출기(400)와 수신기(402)를 포함한다. 송출기(400)와 수신기(402)는, 퍼스널 컴퓨터나 워크스테이션과 같은 범용 컴퓨터를 각각 포함할 수 있다. 송출기(400)와 수신기(402)내에 있는 도 4에 도해된 블록들은 여기에서 설명된 바와 같이 레이지 하이브리드 RESCU를 수행하는 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합을 포함할 수 있다. 따라서, 본 발명의 실시예들은 여기에서 설명된 바와 같이 레이지 하이브리드 RESCU를 수행하기 위해 컴퓨터에서 독출가능한 매체에 구현된 컴퓨터가 실행가능한 명령들로서 구현될 수 있다.
송출기(400)와 수신기(402)는 상기 인터넷과 같은 손실이 많은 패킷에 근거한 네트워크를 통해 서로 통신할 수 있다. 도해된 실시예에 있어서, 송출기(400)는 비디오 인코더(406), 송신기/수신기(408) 및 어댑터(414)를 포함한다. 비디오 인코더(406)는 인입되는 압축되지 않은 비디오 스트림을 수신하고 적합한 인코딩 또는 압축 기술을 사용하여 상기 비디오 스트림을 인코딩하는데 적응한다. 예를 들어, 비디오 인코더(406)는 H.261, H.263, MPEG-1, MPEG-2, MPEG-4 또는 다른 적합한 압축 알고리즘을 이행할 수 있다. 송신기/수신기(408)는 실시간 프로토콜/실시간 콘트롤 프로토콜(real time protocol/real time control protocol, 이하 RTP/RTCP라 함) 같은 적합한 트랜스포트 프로토콜을 사용하여 수신기(402)로부터 수신된 상기 압축된 비디오 스트림을 패킷화한다.
수신기(402)는 송출기(400)의 송신기/수신기(408)와 통신할 수 있는 송신기/수신기(408)를 포함한다. 따라서, 트랜스포트 모듈(402)은 또한, RTP/RTCP와 같은 적합한 트랜스포트 프로토콜을 이행할 수 있다. 수신기(402)는 또한, 송신기/수신기(408)로부터 상기 압축된 비디오 스트림을 수신하고 적합한 신장 알고리즘을 사용하여 상기 비디오 스트림을 신장하기 위한 비디오 디코더(410)를 포함한다. 상기 신장 알고리즘은 바람직하게는 비디오 인코더(406)에서 사용된 상기 압축 알고리즘에 대응한다. 예를 들어, 상기 신장 알고리즘은 H.261, H.263, MPEG-1, MPEG-2, MPEG-4 또는 다른 적합한 알고리즘에 따라 구현될 수 있다.
수신기(402)는 어떤 적합한 방법으로도 송출기(400)에게 패킷 손실을 통지할 수 있다. 예를 들어, 수신기(402)는 부정적인 확인응답 또는 수리 패킷들을 포함하는 각 유실된 패킷에 대한 이중 확인응답을 보낼 수 있다. 바람직한 실시예에 있어서, 수신기(402)는 유실된 패킷들에 대한 부정적인 확인응답을 보낸다. 상기 부정적인 확인응답은 주기 프레임들에 대해서만 보내지는 것이 바람직하다. 비주기 프레임들은 기준 프레임들로서 사용되지 않기 때문에, 비주기 프레임들과 관련된 패킷들의 손실은 에러 전파를 일으키지 않아서 재전송을 필요로한다. 따라서, 비주기 프레임들은, 그들의 디스플레이 시간후에 복구되지 않는 것이 바람직하므로 유실된패킷들을 고려한 명백한 피드백은 필요하지 않다. 따라서, 상기 피드백 채널의 사용은 감소되고 더 많은 대역이 전송을 위해 이용가능하다.
본 발명의 중요한 태양에 의하면, 수신기(402)는 패킷 손실을 고려한 통계치를 수집하고 이들 통계를 송출기(400)의 어댑터(414)에 전달하기 위한 통계 수집기/보고기(412)를 포함한다. 예를 들어, 통계 수집기/보고기(412)는 유실된 패킷들의 수와 평균 손실 버스트 길이 같은 네트워크 파라미터들상의 통계를 수집 및/또는 계산할 수 있다. 패킷들이 유일한 시퀀스 번호들을 갖는 것이 바람직하기 때문에, 패킷 손실들은 수신된 패킷들의 시퀀스 번호들에 있는 갭들에 의해 검출될 수 있다. 평균 손실 버스트 길이는, 500밀리세컨드의 간격에서 관찰되는 단일 손실을 포함하는 모든 손실 버스트들의 실례를 가산하고, 총계를 전체동일한 간격에서 단일 손실을 포함하는 버스트 손실 실례의 수로 나눔으로써 추정될 수 있다. 상기 패킷의 단편은 마지막 간격이 또한 계산될 수 있기 때문에 유실된다.
통계치 수집기/보고기(412)는 수집된 통계 정보를 포함하는 수신기 보고 패킷들을 어댑터(414)에 주기적으로 송신할 수 있다. 예를 들어, 수신기 보고 패킷은, 매 500밀리세컨드와 같이 주기적으로 송신될 수 있다. 상기 수신기 보고 패킷은 트래픽 통계를 상기 송출기에 전달하기 위해 어떤 적합한 포맷으로도 포맷팅될 수 있다. 바람직한 실시예에 있어서, 상기 수신기 보고 패킷들은 RTCP에 따라 포맷팅될 수 있다. 상기 평균 손실 버스트 길이는 RTCP 보고 패킷의 응용-특정 확장 필드에 부가될 수 있다.
어댑터(414)는 상기 수신기 보고 패킷들을 수신하고, 하기에서 설명되는 바와 같은 상기 PTDD 알고리즘중 하나를 사용하여 PTDD 기간을 조정한다. 만약 손실 복구 스킴이 FEC를 사용한다면, 어댑터(414)는 상기 PTDD 기간동안 전송될 FEC 수리 패킷들의 수를 또한 계산해야 한다. 이 정보는, 상기 주기 프레임에 있는 FEC 수리 패킷들을 인코딩하고, FEC 패킷들을 다른 데이터 패킷들, 즉 상기 PTDD 기간을 통해 전송되는 비주기 프레임들의 패킷들과 인터리빙하는 송출기(400)의 송신기/수신기(408)로 전달된다. 따라서, 상기 PTDD 기간은 네트워크 조건들에 반응하여 동적으로 조정되기 때문에, 에러 전파는 감소되고, 압축 효율이 정적 PTDD 재전송 스킴들을 능가하여 증가된다.
재전송에 근거한 RESCU
본 발명의 실시예들에 따라 상기 PTDD 기간을 동적으로 업데이트하기 위한 상기 방법들과 시스템들을 완전히 설명하기 위하여, 재전송에 근거한 그리고 FEC에 근거한 RESCU가 우선 설명되어야 한다. 재전송은 신뢰성있는 트랜스포트에 있어서 가장 흔히 사용되는 에러 복구 기술이다. 그러나, 유실된 패킷들을 검출하고 재전송하는데 있어서의 지연때문에, 재전송은 실시간 비디오 전송을 위해서는 별로 쓸모가 없다.
종래의 기술들은, 재전송을 사용한 수리를 위해 필요한 부가적인 시간을 허용하기 위해 프레임 플레이아웃타임(playout time)의 연장을 제안한다. 그러나, 플레이아웃 지연은 대화형 비디오 통신을 심하게 방해한다. 대조적으로, 재전송에 근거한 RESCU는 PTDD 기간내에 수리될 패킷들을 허용함으로써 부가적인 플레이아웃 지연들을 도입함없이 상기 재전송 지연들을 조절한다.
도 5는 재전송에 근거한 RESCU를 사용한 에러 복구를 도해한 것이다. 도 5에서 상부의 2개의 수평선들은 송출기에서 일어난 사건들의 타이밍을 나타낸다. 하부의 2개의 수평선들은 수신기에서 일어난 사건들의 타이밍을 나타낸다. 가장위의 수평선을 참조하면, 3개의 프레임들이 상기 송출기로부터 상기 수신기로 전송된다. 프레임 간격은, 한 프레임을 위한 모든 패킷들을 전송하는데 필요한 시간으로서 정의된다. 두번째 수평선은 각 프레임을 위해 전송된 상기 패킷들을 나타낸다. 도해된 예에서, 3개의 패킷들이 각 프레임을 위해서 전송된다. 예를 들어, 패킷들 p1, p2 및 p3가 프레임 1을 위해 전송된다.
"패킷 전송 시간"이라고 명명된 수평선과 "도착 시간"이라고 명명된 수평선 사이의 화살표는 손실이 많은 네트워크를 통한 패킷들의 전송을 나타낸다. 곡선은 패킷 p3가 상기 송출기와 상기 수신기 사이에서 운송중 유실된 것을 나타낸다. 그러나, 상기 수신기는 시간 T1에서 패킷 p4를 수신한다. 상기 수신기가 패킷 p3를 수신하지 않고 패킷 p4를 수신하기 때문에, 상기 수신기는 유실이 일어났다는 것을 안다. 따라서, 시간 T1에서 상기 수신기는 부정적인 확인응답(negative acknowledgment, NACK)을 상기 송출기로 보낸다. 상기 송출기는 시간 T2에서 상기 부정적인 확인응답을 수신하고 패킷 p3를 재전송한다. 패킷 p3는 시간 T3에서 상기 수신기에 도착한다. 상기 재전송된 패킷 p3는 상기 수신기에서 프레임 버퍼에 저장된 프레임 1을 수리하는데 사용된다. 본 예에서, 상기 PTDD 값은 2개의 프레임 간격으로 설정된다. 따라서, 프레임 1은 프레임 3을 위한 기준 프레임이다. 프레임 1이 프레임 3을 디코딩하기 위해 사용되기 전에 수리되기 때문에, 프레임 3은 에러없이 디스플레이될 수 있다.
재전송에 근거한 RESCU의 주된 단점은, 긴 라운드트립 시간이 에러 전파를 늘일 수 있다는 것이다. 유실된 패킷들은 복구를 위해 적어도 하나의 라운드트립 시간을 필요로하기 때문에, 에러들은 적어도 다음 RTT/프레임들에서 전파될 수 있는데, 여기에서 RTT는 라운드트립 시간(round trip time)이고는 프레임 간격이다.
FEC에 근거한 RESCU
FEC는 이동 네트워크와 위성 네트워크와 같이 빈번한 피드백이 가능하지 않은 네트워크 환경들에서 사용하기에 적합한 에러 복구를 위한 대안적인 스킴이다. FEC가 오픈루프 복구 스킴이기 때문에, 그것의 연관된 복구 지연은 재전송을 위한 복구 지연보다 훨씬 더 적을 수 있다. 본 발명의 실시예들과 함께 사용하는데 적합한 모범적인 FEC에 근거한 코딩 스킴은 선형 블록 코딩(linear block coding, 이하 LBC라 함)이다. 선형 블록 코딩에 있어서, k 소스 패킷들는 n 패킷들로 인코딩된다. 바꾸어 말하면, FEC는 데이터 스트림에 포함될 부가적인 n-k FEC 패킷들을 필요로 한다. 상기 n 패킷들은 블록을 구성한다. 상기 수신기에서의 상기 LBC 디코더는 상기 n 패킷 블록으로부터의 어떤 k 패킷들을 사용하여도 원래의 k 데이터 패킷들을 재건할 수 있다. 효과적인 (n,k) LBC 인코딩과 디코딩 알고리즘은 실시간 실행을 달성하기 위하여 개발되고 구현되어 왔다. 예를 들어, 하나의 소프트웨어 코더는 인텔회사로부터 이용가능한 133MHz 펜티엄 프로세서상에서 11MB/s의처리능력을 달성할 수 있다.
비록 FEC가 패킷 손실들로부터의 복구에 사용될수 있을지라도, FEC는, 원래의 데이터 패킷들의 손실과 FEC 수리 패킷들의 손실이 상관 관계에 있을 때 효과적이지 않다. RESCU와 함께 FEC를 사용하는 것은, 주기 프레임의 상기 FEC 수리 패킷들이 상기 PTDD 기간을 통하여 분산되도록 허용함으로써 이 문제를 다소 해결한다. FEC 패킷들은, FEC와 데이터 패킷 손실이 서로 상관 관계가 없도록 떨어져 있을 수 있는데, 이렇게 함으로써 버스트한 손실들의 영향을 감소시킨다. 더욱이, 블록의 상기 FEC 수리 패킷들은 상기 데이터 패킷들 후에시간 유니트에 송신될 수 있는데, 여기에서는 한 프레임 간격과 같이 어떤 적합한 시간 기간으로 설정될 수 있다.
도 6은 FEC 패킷들이, 상기 FEC 패킷들이 적용되는 상기 프레임의 상기 데이터 패킷들 후에 그러나 상기 PTDD 기간내에 전송되는 RESCU를 사용한 패킷 시퀀스를 도해한 것이다. 예를 들어, 도 6에서, 주기 프레임 z는 우선 전송되고 5개의 데이터 패킷들을 포함한다. 음영된 블록들로서 표시된 FEC 패킷들은, 프레임 z를 위한 상기 데이터 패킷의 전송 후에 그러나 상기 PTDD 기간내에 전송된다. 더 특별하게는, 상기 FEC 패킷들은 상기 PTDD 기간내의 각 프레임 간격동안 전송된다. 즉, FEC 패킷들간의 거리인는 한 프레임 간격인,로 설정된다.
비록 FEC에 근거한 RESCU가 효과적일지라도, FEC의 단점들중의 하나는 패킷 손실에 상관없이 비트 오버헤드가 손상된다는 것이다. 예를 들어, FEC 패킷들이 주도적으로 전송되기 때문에, 상기 FEC 패킷들을 전송하기 위한 오버헤드는 아무런 에러가 발생되지 않을 때 조차 손상된다. 그러므로, 에러가 없는 전송동안 대역이 낭비된다. 상기에 지적된 바와 같이, 재전송이 단지 에러에 반응하여 일어나기 때문에, 에러가 없는 전송동안 대역이 낭비되지 않는다. 따라서, 본 발명의 실시예들은 FEC와 재전송에 근거한 복구 모두를 포함하는 하이브리드 스킴을 활용한다.
동적 PTDD 조정 프로토콜
주기 프레임에서의 실제 패킷 손실들이 FEC 패킷들만을 사용하여 상기 주기 프레임을 복구하는 것이 불가능하다고 지적할 때에만 재전송이 필요하다. 따라서, 재전송과 FEC를 사용하는 하이브리드 스킴은 사실상 반응적일 수 있다. 그러나, 상기 PTDD는 재전송 전에 재전송 지연을 조절하도록 충분히 크게 설정되어야 한다. 불행하게도, 재전송이 일어날때를 예측하는 것은 어렵다. 만약 좀처럼 일어나기 힘든 전송을 처리하기 위해 상기 PTDD가 충분히 크게 설정된다면, 증가된 PTDD에 기인한 오버헤드는, 정상 전송동안 대역을 낭비하면서 재전송이 일어나든 나지 않았든 상관없이 손상될 것이다. 이러한 문제를 해결하기 위하여, 본 발명의 실시예들은, 하기에 더욱더 상세히 논의될 바와 같이, 재전송 요청에 응답하여 동적으로 상기 PTDD를 조정한다.
재전송 시간에만 재전송 오버헤드가 초래되는 곳에서, 정말로 반응적인 방식으로 적응될 때, 재전송이 가장 효과적이다. 본 발명의 실시예들에 의한 레이지 RESCU에 있어서, 상기 PTDD는, 재전송이 일어날때에만 재전송을 위해 조정된다. 정상 전송동안, FEC 패킷들에 기인한 단지 최소량의 주도적인 리던던시가 부가된다.따라서, 본 발명의 실시예들에 의한 레이지 RESCU는 FEC와 재전송에 근거한 에러 복구 모두와 연관된 이점들을 달성한다.
본 발명의 실시예들에 따라 상기 PTDD 기간을 동적으로 조정하기 위한 프로토콜은 도 4에 관하여 상술한 상기 시스템 아키텍처상에서 실행될 수 있다. 예를 들어, 상기 프로토콜은, 도 4에 도해된 송출기(400)의 어댑터(414)에 포함된 소프트웨어에 의해 구현될 수 있다. 주기 프레임를 전송하기 전에, 어댑터(414)는 상기 주기 프레임을 복구하는데 필요한, FEC 패킷들의 수,와 2개의 FEC 패킷들 사이의 시간 간격인를 결정한다. 어댑터(414)는 다음 PTDD 기간을,
로 설정한다. 여기에서는 FEC 패킷들의 수이고,는 FEC 패킷들 사이의 거리이며,는 프레임 간격이다.
어댑터(414)는, FEC가 가장 효과적이 되는 쇼트 버스트(short burst) 손실을 계산하기 위해를 설정한다.를 결정하기 위한 방법은 하기에서 더욱더 상세히 논의될 것이다. 따라서, 정상 전송중에, 상기 PTDD는, FEC 복구, 즉 쇼트 버스트 복구를 처리하기 위해 충분히 작은 값으로 설정된다.
본 발명의 실시예에 의한 레이지 RESCU에 있어서, 다음 FEC 패킷들이 특정 프레임을 위한 유실된 패킷들을 복구하기에 충분하지 않다는 것을 상기 송출기가 상기 수신기로부터 피드백을 통하여 아는 때에만 재전송이 일어난다. 충분한 수의패킷들을 복구하는데에 대한 실패는 롱 버스트(long burst) 손실에 아마 기인할 것이다. 그러나, 상기 PTDD가 짧으면, 재전송된 패킷들은, 다음에 예정된 주기 프레임의 디코딩과 디스플레이전에 도착하지 못할지도 모른다. 따라서, 상기 송출기는 재전송전에 상기 PTDD를 조정할 필요가 있다.
본 실시예에 의한 레이지 RESCU의 주된 아이디어는, 전송이 이미 전송된 주기 프레임를 위해 일어날때, 상기 재전송후 인코딩된 다음 프레임가 바로 전의 주기 프레임대신에 그것의 기준 프레임으로서를 사용하고,가 새로운 주기 프레임이 된다는 것이다.
도 7은 송출기(400)의 어댑터(414)에 의한 상기 PTDD의 조정을 도해한 것이다. 도 7에서, 프레임들가 송출기(400)로부터 수신기(402)로 전송된다.는 비주기 프레임들이다.는 비주기 프레임들이다. 따라서, 초기에 주기 프레임는 임시로 주기 프레임를 참조하고 주기 프레임는 주기 프레임를 참조한다. 본 예에서, 패킷 손실은 주기 프레임의 전송에서 일어난다. 수신기(402)에서 프레임의 디스플레이 시간전에, 수신기(402)는 주기 프레임로부터 유실된 패킷들을 요청하고 수신한다. 수신기(402)로부터 재전송 요청을 수신하자마자, 송출기(400)는,가 시간적으로 프레임대신에 프레임를 참조하도록를 위한 상기 PTDD를 조정한다. 그다음 송출기(400)는 상기 수신기로를 보낸다. 수신기(402)는 상기 프레임 버퍼에 저장된 수리된 프레임를 사용하여 프레임를 디코딩한다. 따라서, 프레임들로부터 일어난 에러 전파는 프레임로 계속되지 않는다.
만약간의 시간 차이가 너무 크다면, 상기 2개 프레임들간의 시간적인 리던던시는 최소가 된다. 이것은 압축 효율을 감소시킨다. 그 결과, 움직임 보상된 코딩을 사용하기 위한 시간 차이 상에 제약이 설정되는 것이 바람직하다.로서 여기에서 지칭되는 이러한 시간 차이는 1초와 같이 어떤 적합한 값으로 설정될 수 있다. 만약 상기 차이가 이러한 시간 제약보다 크다면,는 인트라 코딩된다.
상기 송신기는를 위해 수신된 NACKs의 수를 기록하기 위해 각 주기 프레임에 대한 카운터를 유지한다.의 유실된 데이터 패킷들의 재전송은, 다음의 모든 조건을 만족할 때에만 일어난다: (1)가, 상기 프레임을 위해 전송된 FEC 패킷들의 수인보다 크다, (2)가, 더 일찍 최대 시간 종속 거리인보다 적게 전송되었다, 그리고 (3) 만약가 상기 인트라 프레임 또는 가장 최근에 보내진 비주기 프레임이라면,후에 전송되었고,간에 송신된 비주기 프레임들의 아무런 패킷들도 재전송되지 않는다.
이러한 스킴에 있어서, 참조될 상기 주기 프레임들이 상기 수신기로부터의 피드백에 의해 결정되기 때문에, 상기 인코더는 상기 시스템에 의해 허용된 최대 PTDD 기간()내에 전송되는 모든 상기 주기 프레임들을 저장해야 한다. 피드백이 유실될 수 있기 때문에, 수신기(402)에서의 상기 디코더는 상기기간내에 수신된 어떤 손상된 주기 프레임들도 저장해야 한다.
계산하기
주어진 프레임을 위해 전송된 FEC 패킷들의 수와 FEC 패킷들간의 거리는 최근의 쇼트 버스트 손실 특성에 근거하여 계산된다. 상기 쇼트 버스트 특성은, 상기 평균 손실률과 4개의 연속적인 패킷 손실보다 적은 것을 포함하는 손실 버스트에서 나타나는 패킷 손실의 평균 버스트 길이로 정의된다. 상기 평균 손실률과 버스트 길이는, 상기 샘플된 데이터의 가중된 이동 평균을 사용하여 계산된다.를 계산하기 위해 쇼트 버스트 특성만을 사용하는 이유는, 패킷 손실이 상관관계가 없을 때에만 FEC가 효과적이기 때문이다. 패킷 손실이 롱 버스트에서 일어날때, 재전송이 더욱더 효과적인 복구 방법이 될 수 있다. 롱 버스트 손실이 일어날 수 있는 때를 예측하는 것이 어렵기 때문에, 이와 같은 롱 버스트 손실에 대항하여 보호하기 위해서 FEC를 사용하는 것은 비효율적인데, 이것은 침묵 기간동안 불필요하게 높은 비트 오버헤드를 초래하기 때문이다.
상기 쇼트 버스트 손실 특성을 사용하여, 상술한 바와 같이가 계산될 수 있다.는 다음 알고리즘에 따라 계산된다. 설명을 위해서, 상기 주기 프레임는 k 데이터 패킷들로 구성된다고 가정된다. 상기 송출기는, 상기 수신기에서 수신이 예상되는 패킷들의 수가 적어도 k와 같도록(복구가 FEC 단독을 통해가능하도록)FEC 패킷들을 부가한다.FEC 패킷들이 상기 주기 프레임의 k 패킷들을 보호하기 위해 부가될 때, 상기 수신된 패킷들의 예상되는 수는 다음과 같이 계산된다:
FEC 패킷들중 정확하게 j 패킷들을 수신할 확률을 나타내는데, 그 손실은 상관관계가 없는 것으로 가정된다.는 다음과 같이 (1-스테이트) 베르누이 모델을 사용하여 계산될 수 있다.
예상되는 손실에 대항하여 보호하기 위해 충족될 만큼만 FEC를 부가함으로써, 불필요한 FEC 오버헤드가 최소화된다. 더욱이, 대부분의 손실은 FEC 단독으로 수리될 수 있음직하다. 상기 FEC 패킷들의 추정이 유실된 패킷들을 복구하는데 충분하지 않을 때, 재전송이 복구 프로세스에서 FEC를 증대시키기 위해서 사용될 수 있다.
실험 결과
여기에 개시된 손실 복구 스킴은, 움직임 보상된 비디오 코딩과 연관된 에러 전파를 제거하는데 집중됨으로써 손실이 많은 인터넷 환경하에서 비디오 품질을 개선한다. 이들 스킴들의 효과를 평가하기 위해서, 이들 스킴들의 성능이 실제 인터넷 추적에 의해 생성되는 변화하는 네트워크 조건들하에서 측정된다. 그다음 상기 성능은, 상기 에러 전파 문제를 건의하는 RPS와 인트라 H.261과 같은 현재 해법의 성능과 비교된다. 상기 성능 평가에서, 텔레노(Telenor)로부터 이용가능한 H.263에의해 생성되는 3개의 H.263 앵커(anchor) 비디오 시퀀스들, 각 MPEG-4 클래스 A, B와 E 테스트들을 위한 것이 비교된다. 상기 3개의 비디오 시퀀스들은 표 1에 설명된다.
테스트 비디오 시퀀스들
비디오 시퀀스 클래스 설명
컨테이너 A 낮은 공간 세부상과 소량의 움직임
뉴스 B 중간 공간 세부상과 중간량의 움직임
아이들 C 하이브리드 내츄럴과 합성 움직임
PTDD가 컨테이너 비디오 시퀀스를 사용하여 증가함에 따른 RESCU의 프레임당 비트율
PTDD 1(bits/f) 2(%) 3(%) 4(%) 5(%) 6(%) 7(%) 8(%) 9(%) 10(%)
RESCU+H.261 18880 6 10 14 18 20 23 26 29 32
주기 프레임 18880 12 28 32 49 50 64 67 79 81
인트라 프레임 88360 N/A N/A N/A N/A N/A N/A N/A N/A N/A
PTDD가 뉴스 비디오 시퀀스를 사용하여 증가함에 따른 RESCU의 프레임당 비트율
PTDD 1(bits/f) 2(%) 3(%) 4(%) 5(%) 6(%) 7(%) 8(%) 9(%) 10(%)
RESCU+H.261 19344 10 19 26 33 36 42 46 52 52
주기 프레임 19344 26 47 61 76 85 96 103 110 119
인트라 프레임 90760 N/A N/A N/A N/A N/A N/A N/A N/A N/A
PTDD가 아이들 비디오 시퀀스를 사용하여 증가함에 따른 RESCU의 프레임당 비트율
PTDD 1(bits/f) 2(%) 3(%) 4(%) 5(%) 6(%) 7(%) 8(%) 9(%) 10(%)
RESCU+H.261 34856 12 20 26 30 38 37 42 50 52
주기 프레임 34856 25 41 51 58 70 75 81 90 93
인트라 프레임 111600 N/A N/A N/A N/A N/A N/A N/A N/A N/A
10개의 다른 전송 추적을 위한 평균 통계치
No. 평균 패킷 손실률(%) 평균 RTT(ms)
1 0.5 245
2 5.03 268
3 8.20 255
4 8.41 261
5 8.91 355
6 12.23 313
7 13.84 276
8 14.04 800
9 15.35 572
10 17.45 976
RESCU의 압축 효율
표 2, 3과 4는, RESCU가 H.261과 결합될 때(RESCU+H.261) PTDD가 증가함에 따른 각 비디오 시퀀스를 위한 프레임당 평균 비트율의 퍼센트 증가를 보여준다. PTDD가 1로 설정될 때, RESCU+H.261의 상기 평균 비트율은 H.261의 평균 비트율과 동일하다. 상기 표들은, 또한, RESCU+H.261에서 주기 프레임들(상기 표들에서 "주기 프레임들"로 명명됨)의 평균 비트율 증가와, 매 프레임이 인트라 코딩(상기 표들에서 "인트라 프레임"으로 명명됨)되었을 때의 평균 비트율을 보여준다. 상기 결과는, PTDD의 각 증가에 대해서, RESCU의 압축 효율이 상기 컨테이너 비디오 시퀀스에서 약 3% 에서 5%까지 떨어지고, 상기 뉴스와 아이들 비디오 시퀀스에서는 약2%에서 12%까지 떨어진다는 것을 나타낸다. 상기 표들로부터, 더 많은 움직임이 존재할 때 RESCU의 비트 오버헤드가 증가함을 알 수 있다. 추적 시뮬레이션에 관해 하기에 논의된 결론들은, RESCU가 테스트된 모든 기술들에 비해 최상의 품질과 비트율 트레이드오프를 달성한다는 것을 예증한다. 더욱이, 주기 프레임들의 상기 비트 오버헤드는 I-프레임들보다 훨씬 적기 때문에, I-프레임들로서 상기 주기 프레임들을 코딩하는 것보다는 오히려 2개의 주기 프레임들간의 공간적인 리던던시를 이용하는 것이 유리하다.
시뮬레이션 셋업
인터넷 전송
상기 인터넷에서 부닥치는 상기 손실 행동을 에뮬레이팅하기 위해, 12분의 비디오 전송이 2주간의 기간동안 매 시간마다 태평양 횡단 접속을 통해 수집되었다. 프레임률은 초당 10 프레임으로 설정되었다. 전체 탐색 움직임 추정과 CIF의 이미지 크기(352288)이 모든 실험들을 위해 사용되었다. 8단계의 디폴트 양자화 단계가 사용되었다. 비디오 프레임은 우선 H.261의 구현을 사용하여 만들어졌던 RESCU 코덱을 사용해서 압축되었다. 그다음 상기 비디오 프레임은, 각 패킷들이 정수개의 매크로블록들을 포함하도록 대략 256바이트 패킷으로 패키지화되었다.
광범위한 라운드트립 시간(RTT)(약 250ms부터 1000ms를 초과한 시간까지)과 손실률이 관찰되었다. 평균 손실 버스트 길이는 3미만이다. 대부분의 손실 버스트들은 짧다. 가끔 100 패킷들보다 많은 것을 포함하는 긴 손실 버스트들이 또한 보인다. 획득된 약 200추적들중, (평균)손실률과 라운드트립 시간의 범위를 커버하는10개의 대표적인 추적이 선택되었다. 표 5는 상기 선택된 전송 추적들에서 관찰된 평균 트래픽 특성을 요약한 것이다.
추적-구동 시뮬레이션
상기 손실률과 라운드트립 지연 및 매 비중첩된 10초 세그먼트동안 관찰되는 1부터 200이 넘는 길이를 갖는 손실 버스트들의 실례에 대한 통계로 구성되는 각 추적의 프로파일 정보가 추출되었다. 각 추적은 전송 시뮬레이션 실험을 위한 하나의 에러 모델을 형성하기 위하여 72조각의 프로파일 정보를 산출한다. 각 에러 모델은 UCB/VINT 네트워크 시뮬레이터(ns) 셋업을 구성하는데 적용된다. 상기 시뮬레이터에 있어서, 추적으로부터 획득된 에러 모델은, 전송 대기시간과, 상기 추적에서의 대응하는 10초 기간의 상기 프로파일 정보 다음에 뒤따르는 시뮬레이팅된 10초 기간을 위해 드롭될 패킷수를 제어한다.
H.261의 구현을 수정함으로써 만들어진 비디오 코덱들(RPS와 RESCU 및 인트라-H.261)과 상기 선택된 추적들의 에러 모델들은 UCB/VINT 네트워크 시뮬레이터(ns)에 통합된다. 도 8은 상술한 상기 시스템 아키텍처를 구현한 시뮬레이션 셋업을 도해한 것이다. 도 8에서, 송출기(400)의 송신기(408)는 압축된 비디오 프레임들을 패킷화하고, 패킷 드롭과 전송 대기시간을 생성하기 위해서 상기 패킷화된 시퀀스를 네트워크 시뮬레이터(ns)에 전달한다. 수신단에서, 모든 수신된 패킷들과 그들의 수신된 시간을 기록하는 추적이 발생된다. 상기 출력 추적은 오프라인 디코더를 사용하여 종료 비디오 품질을 측정하기 위해 분석된다. 시뮬레이션은, 각각 다른 에러 모델을 가지고, 10ns 런(runs)에서 행해졌다.
성능 비교 결과
본 섹션에서, 하이브리드 RESCU, FEC, RETX, RPS, H.261 및 인트라-H.261의 성능 비교 결과가 보고된다. 인트라-H.261의 성능은 이용가능한 대역에 의존하기 때문에 인트라-H.261의 성능은 동적 하이브리드 RESCU 스킴들중 어느것에 의해 사용된 최대 대역과 대략 일치하는 대역에서 테스트된다. 비교 결과는 각 비디오 시퀀스를 위해 다음 순서로 제공된다.
● 레이지 하이브리드 RESCU(레이지)의 성능과 FEC-단독 RESCU(FEC)와 재전송-단독 RESCU(RETX)의 성능 비교.
● 레이지의 성능과 전면 하이브리드 RESCU(전면적인)의 성능 비교.
● 레이지의 성능과 인트라-H.261, RPS와 H.261의 성능 비교.
다음 섹션에서, 상기한 3개의 비디오 시퀀스들에 대한 결과 및 관찰이 상세히 논의된다.
다른 기술들과의 비교
도 9 및 도 10은 상기 컨테이너 비디오 시퀀스에 대해서 본 발명의 실시예들에 따라 H.261, RPS, 인트라-H.261 및 레이지 RESCU하에서 다른 손실률에서의 평균 PSNR 및 비트율을 보여준다. 도 9에 도해된 바와 같이, 상기 H.261의 평균 PSNR은 에러 전파 때문에 손실률이 증가함에 따라 급격히(12dB 더 낮은 만큼) 떨어진다. 최저의 비트율에서 조차, 이 비트율에 대한 인트라-H.261의 더 낮은 품질은, 그것이 유지할 수 있는 상기 최대 비디오 품질에 제한이 있는 목표 비트율에 대해서 평균 PSNR이 RPS와 레이지하에서의 것보다 더 낮기 때문이다. 이것은, 적은 패킷 손실조차 H.261에 영향을 줄 수 있다는 것을 보여준다. 인트라-H.261은, 손실률이 다른 스킴들의 그것들보다 훨씬 더 높은 비트율과 함께 증가함에 따라 품질에 있어서 선형 성능저하를 보여준다. 다른 한편으로 RPS는 RTT가 충분히 적을 때 패킷 손실로부터 신속히 복구될 수 있다. 그러나, 더 높은 손실률에서, 단지 소수의 프레임들만이 정확히 수신되고 상기 정확하게 수신된 프레임들만이 기준 프레임으로서 사용된다. 상기 컨테이너 시퀀스와 같이 낮은 움직임을 갖는 비디오 시퀀스에서 조차 움직임 예측은 상기 프레임후의 특정 시간까지만 효과적이다. 이것이 높은 손실률과 적은 RTT에서의 높은 비트율 RPS에 대한 이유이다. 상기 RTT가 길 때, RPS는, 레이지 RESCU의 것보다 4dB까지 더 낮은 평균 PSNR로 귀결되는 더 빈약한 에러 회복성을 보여준다. 레이지 RESCU는, 상기 다른 3개의 스킴들보다 더 양호한 평균 PSNR과 RPS와 인트라-H.261보다 더 낮은 비트율을 항상 제공한다.
도 11 및 도 12는 H.261, RPS, 인트라-H.261과 레이지 RESCU의 성능을 도해한 것이다. 레이지 RESCU는 모든 다른 스킴들보다 더 양호한 평균 PSNR을 보여준다. 상기 H.261의 평균 PSNR은 상기 손실률이 증가함에 따라 급격히 감소한다. 레이지 RESCU는 RPS하에서의 것보다 2dB 더 높은 PSNR을 보여주지만, 상기 비트율은 높은 RTT를 가진 예를 제외한 모두에서 훨씬 더 낮다. 인트라-H.261은 35%-40% 더 높은 비트율에도 불구하고 2-3dB 더 낮은 PSNR을 보여준다. 뉴스에서의 레이지와 RPS의 비트율은 상기 컨테이너 시퀀스에서 보다 아주 적게(약 10%) 증가했다. 이것은, 이들 기술들이 프레임과 그것의 시간적으로 종속되는 프레임간의 시간 거리가 하나의 프레임 간격보다 더 커지도록 허용하고, 따라서, 입력되는 비디오 시퀀스에존재하는 더 많은 움직임이 중대하게 압축 효율을 감소시키기 때문이다. 그러나, 뉴스와 같은 중간 정도의 움직임을 가진 비디오 시퀀스들에 대해서, 레이지 RESCU는 여전히 높은 손실률하에서 조차 적은양의 비트 오버헤드만을 가진 최상의 비디오 품질을 유지한다.
도 13 및 도 14는 아이들 비디오 시퀀스에 대한 H.261, RPS, 인트라-H.261 및 레이지 RESCU의 성능을 보여준다. 예측된 바와 같이, 상기 평균 PSNR은 상기 손실률이 증가함에 따라 H.261에서 급격히 감소한다. 상기 뉴스와 컨테이너 시퀀스들에서 보다 더욱더 가파른 비디오 품질 저하에도 불구하고 레이지 RESCU는, RPS와 인트라-H.261과 비교할 때 상기 평균 PSNR과 비트율 모두에 관하여 여전히 더 양호한 성능을 보여준다.
하이브리드 RESCU의 적응성
레이지 하이브리드 RESCU의 적응성을 설명하기 위하여, 상기 스킴이 네트워크 트래픽이 높은 변동성을 보여주는 곳에서 추적을 통해 실행된다. 도 15내지 도 17에서, 상기 컨테이터 시퀀스를 사용하여 수행된 실험 결과가 도표로 나타내진다. 도 15는 매 5 프레임 기간(즉, 매 2와 1/2번째 기간)에 걸친 평균 PSNR을 보여주고, 도 16은 각 프레임의 손실 퍼센트를 보여주며, 도 17은 매 5 프레임 기간에 걸친 평균 비트율을 보여준다.
레이지 하이브리드 RESCU의 적응성은, 변화하는 네트워크 조건들하에서 수리 오버헤드의 양을 높은 품질을 유지하는 것에 적응시킬 때 명백히 보인다. 상기 첫번째 그래프로부터, 상기 RESCU 스킴의 비디오 품질은, 패킷 손실이 일어날때 저하되는 것으로 관찰될 수 있다. 그러나, 상기 비디오 품질은 즉시 다시 튀어 오르고, 일반적으로 35dB와 40dB 사이의 PSNR로 좋은 품질을 유지한다. 프레임들 200-450, 프레임들 700-1350, 프레임들 2200-2400 및 프레임들 2600-2800 주위에서, 상기 추적은 높은 패킷 손실을 겪는다. 이들 시간동안에, 비트율이, 증가된 수리 트래픽의 결과인 225 kbits/sec를 넘어 증가하는 것으로 관찰될 수 있다. 다른 시간동안에, 상기 비트율은, 대략 H.261과 동일한 비트율인 약 180kbits/sec까지 떨어진다. 이것은, 과중한 손실 기간동안, FEC 패킷들이 손실로부터 복구하기에 충분하지 않고, 재전송이 더 자주 사용되기 때문이다. 침묵 기간동안에 재전송이 일어나지 않고 단지 적은 수의 FEC 패킷들이 부가되기 때문에, 상기 비트 오버헤드는 최소로 떨어진다. 이전 섹션에 제공된 결과들과 결합된 이들 결과들은 레이지 RESCU가, 양호한 비디오 품질을 유지하는 반면에 비트 오버헤드를 최소하하기 위해 변화하는 네트워크 조건들에 적응할 수 있음을 나타낸다.
손실이 많은 정체 기간동안 증가된 비트율은 단지 정체만을 악화시킬 것이다. 이들 실험들의 의도는 복구의 효과를 보여주기 위한 것이다. 실제 스킴에 있어서, 어느 복구 스킴도 정체 제어 메카니즘과 결합되어야 한다. 정체 제어 메카니즘과 결합될 때, RESCU는 데이터 트래픽에 대한 수리 트래픽의 비율을 증가시켜야 한다. RESCU가 비디오 품질과 비트 오버헤드 간의 매우 양호한 균형을 달성할 수 있기 때문에, RESCU는 정체 제어와 함께 사용되는 복구 메카니즘일 수 있다. 그러나, 정체 제어 메카니즘하의 RESCU의 성능은 더 많은 연구를 필요로한다.
결론
인터넷과 같은 손실이 많은 네트워크를 통한 비디오 전송은, 압축된 비디오의 품질이 패킷 손실에 매우 민감하기 때문에, 도전적이다. 여기에서 설명된 바와 같은 동적 하이브리드 손실 복구 스킴은, 상기 인터넷을 통한 비디오 전송에서의 패킷 손실로 인한 에러 전파를 감소시킨다. FEC와 재전송과 같은 트랜스포트 레벨 복구 메카니즘들을 하이브리드 복구 스킴에 신중히 결합시킴으로써, 각 장점이 활용될 수 있다. 또한, 그 자체를 상기 네트워크 특성에 적응시키는 동적 복구 스킴은 패킷 손실에 대한 회복성을 개선하고 손상된 비트 오버헤드를 감소시킬 수 있다.
2개의 동적 하이브리드 복구 스킴들이 여기에서 설명되었다: 첫번째 것은, 최소의 비트 오버헤드를 초래하고 또한 주기 프레임의 원하는 복구 확률을 만족시키는, 최소한의 PTDD를 상기 송출기가 찾아내는 전면 하이브리드 RESCU이다. 원하는 한계값을 만족할 수 있도록, 상기 PTDD는, 예상되는 수리 시도들과 FEC와 재전송 모두에 기인한 상기 관련된 지연들을 조절할 수 있을 만큼 충분히 길어야 한다. 두번째 것은, 상기 송출기가, FEC를 통한 복구를 위해서만 "주도적으로" 제공하는 PTDD를 선택하고, 부가적인 플레이아웃 지연을 도입함없이 재전송이 일어난다면 그리고 재전송이 일어날때 정말로 "반응적인" 방법으로 재전송 지연을 차단하는 레이지 하이브리드 RESCU이다.
실제 인터넷 전송 테스트에 근거하여 설계되고 여기에서 설명된 시뮬레이션들은, 이들 동적 하이브리드 복구 시스템들이 비디오 품질과 비트율 모두에 관하여 현재의 에러 회복 스킴들보다 더 양호한 성능을 제공한다는 것을 설명한다. 상기하이브리드 기술 모두의 성능 이득이 많이 약해질 때 많은 움직임을 가진 비디오 시퀀스에서 조차, 그들은 그럼에도 불구하고 RPS와 인트라-H.261과 비교할 때 더 양호한 종합 성능을 보여준다.
RESCU를 위한 비율 제어 스킴의 통합은, 여기에서 설명된 상기 실시예들의 주된 범위를 벗어나기 때문에 연구되지 않았다. RESCU는, 정체가 보호하는 비디오 프레임들의 증가된 오버헤드에 의해 악화되지 않도록 패킷 손실이 일어날 때 비트율을 감소시킬 수 있는 비율 제어 스킴들(예를 들어, 프레임률 감소, 양자화 단계 크기 조정 등)까지 확장될 수 있다.
본 발명의 다양한 세부사항들이 본 발명의 범위를 벗어나지 않고 변경될 수 있다는 것은 이해될 것이다. 더욱이, 전술한 설명은 단지 설명의 목적을 위한 것이고, 청구항들에 의해 정의될 본 발명의 제한을 목적으로 한 것이 아니다.

Claims (37)

  1. 손실이 많은 네트워크를 통하여 전송된 패키지화된 비디오 데이터 스트림에서 에러 복구를 수행하기 위한 방법에 있어서,
    (a) 각 프레임이 시간적으로 기준 프레임에 종속되도록 복수의 비디오 데이터 프레임을 인코딩하는 단계;
    (b) 송출기로부터 수신기로 제1프레임을 전송하는 단계;
    (c) 상기 제1프레임을 전송한 후, 상기 제1프레임에 대한 순방향 에러 정정 패킷들을 상기 송출기로부터 상기 수신기로 전송하는 단계;
    (d) 상기 수신기에서, 상기 제1프레임에 있는 에러를 검출하고, 상기 에러가 상기 순방향 에러 정정 패킷들을 사용하여 정정될 수 있는지에 대한 결정을 하며, 상기 에러가 상기 순방향 에러 정정 패킷들을 사용하여 정정될 수 없는 것으로 결정된 것에 응답하여 상기 제1프레임과 연관된 유실되거나 에러가 있게 수신된 패킷들의 재전송을 요청하는 단계; 및
    (e) 상기 송출기에서, 상기 재전송 요청을 수신하고 응답으로,
    (e)(i) 상기 수신기로 상기 유실되거나 에러가 있게 수신된 패킷들을 재전송하고,
    (e)(ii) 제2프레임이 시간적으로 상기 제1프레임에 종속되도록 상기 복수의 프레임들의 상기 제2프레임의 주기 시간 종속 거리를 변경하며,
    (e)(iii) 기준 프레임으로서 상기 제1프레임을 사용하여 상기 제2프레임을 인코딩하고 상기 제2프레임을 상기 수신기로 전송하는 단계를 포함하는 에러 복구 수행 방법.
  2. 제1항에 있어서, 상기 복수의 비디오 데이터 프레임들을 인코딩하는 단계는, 비디오 압축을 위한 H.261 표준에 따라 상기 프레임들을 인코딩하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  3. 제1항에 있어서, 상기 복수의 비디오 데이터 프레임들을 인코딩하는 단계는, 비디오 압축을 위한 H.263 표준에 따라 상기 프레임들을 인코딩하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  4. 제1항에 있어서, 상기 복수의 비디오 데이터 프레임들을 인코딩하는 단계는, 비디오 압축을 위한 MPEG-1 표준에 따라 상기 프레임들을 인코딩하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  5. 제1항에 있어서, 상기 복수의 비디오 데이터 프레임들을 인코딩하는 단계는, 비디오 압축을 위한 MPEG-2 표준에 따라 상기 프레임들을 인코딩하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  6. 제1항에 있어서, 상기 복수의 비디오 데이터 프레임들을 인코딩하는 단계는, 비디오 압축을 위한 MPEG-4 표준에 따라 상기 프레임들을 인코딩하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  7. 제1항에 있어서, 상기 수신기에서,
    (f) 상기 재전송된 패킷들을 수신하는 단계;
    (g) 상기 재전송된 패킷들을 사용하여 상기 제1프레임을 재구성하는 단계;
    (h) 상기 제2프레임을 수신하는 단계; 및
    (i) 기준 프레임으로서 상기 재구성된 제1비디오 프레임을 사용하여 상기 제2프레임을 디코딩하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  8. 제7항에 있어서, 상기 수신기에서, 상기 재전송된 패킷들을 수신하기 전에 상기 제1프레임을 디스플레이하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  9. 제7항에 있어서, 상기 제2프레임을 디코딩하는 단계는, 비디오 신장을 위한 상기 H.261 표준에 따라 상기 제2프레임을 디코딩하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  10. 제7항에 있어서, 상기 제2프레임을 디코딩하는 단계는, 비디오 신장을 위한 상기 H.263 표준에 따라 상기 제2프레임을 디코딩하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  11. 제7항에 있어서, 상기 제2프레임을 디코딩하는 단계는, 비디오 신장을 위한 상기 MPEG-1 표준에 따라 상기 제2프레임을 디코딩하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  12. 제7항에 있어서, 상기 제2프레임을 디코딩하는 단계는, 비디오 신장을 위한 상기 MPEG-2 표준에 따라 상기 제2프레임을 디코딩하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  13. 제7항에 있어서, 상기 제2프레임을 디코딩하는 단계는, 비디오 신장을 위한 상기 MPEG-4 표준에 따라 상기 제2프레임을 디코딩하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  14. 제1항에 있어서, 상기 제1프레임 및 상기 제2프레임은 주기 프레임들을 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  15. 제14항에 있어서, 상기 제1프레임과 상기 제2프레임 사이의 복수의 비주기 프레임들을 전송하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  16. 손실이 많은 네트워크를 통하여 전송된 패키지화된 비디오 데이터 스트림에서 에러 복구를 수행하기 위한 방법에 있어서,
    (a) 각 주기 프레임이 시간적으로 바로 전의 주기 프레임에 종속되도록 복수의 비디오 데이터 주기 프레임을 인코딩하는 단계;
    (b) i를 정수라 할 때, 송출기로부터 수신기로 주기 프레임를 전송하는 단계;
    (c) 상기 주기 프레임를 전송한 후, 상기 주기 프레임에 대한 순방향에러 정정 패킷들을 상기 송출기로부터 상기 수신기로 전송하는 단계;
    (d) 상기 수신기에서, 상기 주기 프레임에 있는 에러를 검출하고, 상기 에러가 상기 순방향 에러 정정 패킷들을 사용하여 정정될 수 있는지에 대한 결정을 하며, 상기 에러가 상기 순방향 에러 정정 패킷들을 사용하여 정정될 수 없는 것으로 결정된 것에 응답하여 상기 주기 프레임와 연관된 유실되거나 에러가 있게 수신된 패킷들의 재전송을 요청하는 단계; 및
    (e) 상기 송출기에서, 상기 재전송 요청을 수신하고 응답으로,
    (e)(i) 상기 수신기로 상기 유실되거나 에러가 있게 수신된 패킷들을 재전송하고,
    (e)(ii) j를 정수라 할 때, 주기 프레임가 상기의 바로 전 주기 프레임보다 오히려 상기 프레임에 시간적으로 종속되도록 상기 주기 프레임의 주기 시간 종속 거리를 변경하며,
    (e)(iii) 기준 프레임으로서 상기 프레임를 사용하여 상기 프레임를 인코딩하고 상기 주기 프레임를 상기 수신기로 전송하는 단계를 포함하는 에러 복구 수행 방법.
  17. 제16항에 있어서,
    (f) 상기 재전송된 패킷들을 수신하는 단계;
    (g) 상기 재전송된 패킷들을 사용하여 상기 주기 프레임를 재구성하는단계;
    (h) 상기 주기 프레임를 수신하는 단계; 및
    (i) 기준 프레임으로서 상기 재구성된 프레임를 사용하여 상기 주기 프레임를 디코딩하는 단계를 포함하는 것을 특징으로 에러 복구 수행 방법.
  18. 제16항에 있어서, 상기 유실되거나 에러가 있게 수신된 패킷들의 재전송을 요청하는 단계는, 상기 송출기로부터 상기 수신기로 부정적인 확인응답을 전송하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  19. 제17항에 있어서, 상기 주기 프레임를 디코딩하는 단계는, 비디오 신장을 위한 H.261 표준에 따라 상기 주기 프레임를 디코딩하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  20. 제17항에 있어서, 상기 주기 프레임를 디코딩하는 단계는, 비디오 신장을 위한 H.263 표준에 따라 상기 주기 프레임를 디코딩하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  21. 제17항에 있어서, 상기 주기 프레임를 디코딩하는 단계는, 비디오 신장을 위한 MPEG-1 표준에 따라 상기 주기 프레임를 디코딩하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  22. 제17항에 있어서, 상기 주기 프레임를 디코딩하는 단계는, 비디오 신장을 위한 MPEG-2 표준에 따라 상기 주기 프레임를 디코딩하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  23. 제17항에 있어서, 상기 주기 프레임를 디코딩하는 단계는, 비디오 신장을 위한 MPEG-4 표준에 따라 상기 주기 프레임를 디코딩하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  24. 손실이 많은 패킷에 근거한 네트워크를 통해 압축된 비디오 데이터 스트림을 전송할 때 에러 복구를 수행하기 위한 방법에 있어서,
    (a) 복수의 압축된 비디오 데이터 프레임들을 송출기로부터 수신기로 전송하는 단계;
    상기 송출기에서:
    (b) 각 프레임에 대한 순방향 에러 정정 패킷들의 수를 결정하는 단계;
    (c) 각 프레임에 대한 상기 순방향 에러 정정 패킷들을 상기 송출기로부터 상기 수신기로 전송하는 단계;
    (d) 각 프레임에 대해 수신된 부정적인 확인응답의 수를 모니터링하고, 상기 부정적인 확인응답의 수가 소정 값을 초과한다는 결정에 응답하여 상기 부정적인 확인응답에 대응하는 상기 패킷들을 재전송하는 단계;
    상기 수신기에서:
    (e) 상기 재전송된 패킷들을 수신하고 상기 재전송된 패킷들을 사용하여 프레임 버퍼에서 프레임을 복원하는 단계; 및
    (f) 디스플레이될 프레임을 위해 기준 프레임으로서 상기 복원된 프레임을 사용하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  25. 제24항에 있어서, 상기 송출기에서, 주기 시간 종속 값을, 상기 순방향 에러 정정 패킷들을 사용하여 유실된 패킷들의 복구를 허용하기에 충분히 큰 초기 값으로 설정하는 단계를 포함하는 것을 특징으로 하는 에러 복구 수행 방법.
  26. 제25항에 있어서,상기 유실되거나 에러가 있게 수신된 패킷들을 재전송하는 것에 응답하여, 상기 주기 시간 종속 값을, 상기 재전송된 패킷들을 사용한 복구를 허용하기에 충분히 큰 값으로 설정하는 것을 특징으로 하는 에러 복구 수행 방법.
  27. 컴퓨터로 독출가능한 매체에 구현된 컴퓨터로 실행가능한 명령들을 포함하는 컴퓨터 프로그램 생성물에 있어서,
    (a) 각 주기 프레임이 시간적으로 바로 전의 주기 프레임에 종속되도록 복수의 비디오 데이터 주기 프레임을 인코딩하는 단계;
    (b) i를 정수라 할 때, 송출기로부터 수신기로 주기 프레임를 전송하는 단계;
    (c) 상기 주기 프레임를 전송한 후, 상기 주기 프레임에 대한 순방향 에러 정정 패킷들을 상기 송출기로부터 상기 수신기로 전송하는 단계;
    (d) 상기 수신기에서, 상기 주기 프레임에 있는 에러를 검출하고, 상기 에러가 상기 순방향 에러 정정 패킷들을 사용하여 정정될 수 있는지에 대한 결정을 하며, 상기 에러가 상기 순방향 에러 정정 패킷들을 사용하여 정정될 수 없는 것으로 결정된 것에 응답하여 상기 주기 프레임와 연관된 유실되거나 에러가 있게 수신된 패킷들의 재전송을 요청하는 단계; 및
    (e) 상기 송출기에서, 상기 재전송 요청을 수신하고 응답으로,
    (e)(i) 상기 수신기로 상기 유실되거나 에러가 있게 수신된 패킷들을 재전송하고,
    (e)(ii) j를 정수라 할 때, 주기 프레임가 상기의 바로 전 주기 프레임보다 오히려 상기 프레임에 시간적으로 종속되도록 상기 주기 프레임의 주기 시간 종속 거리를 변경하며,
    (e)(iii) 기준 프레임으로서 상기 프레임를 사용하여 상기 프레임를 인코딩하고 상기 주기 프레임를 상기 수신기로 전송하는 단계를 수행하기위한 컴퓨터 프로그램 생성물.
  28. 제27항에 있어서,
    (f) 상기 재전송된 패킷들을 수신하는 단계;
    (g) 상기 재전송된 패킷들을 사용하여 상기 주기 프레임를 재구성하는 단계;
    (h) 상기 주기 프레임를 수신하는 단계; 및
    (i) 기준 프레임으로서 상기 재구성된 프레임를 사용하여 상기 주기 프레임를 디코딩하는 단계를 포함하는 것을 특징으로 컴퓨터 프로그램 생성물.
  29. 제27항에 있어서, 상기 유실되거나 에러가 있게 수신된 패킷들의 재전송을 요청하는 단계는, 상기 송출기로부터 상기 수신기로 부정적인 확인응답을 전송하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  30. 제28항에 있어서, 상기 주기 프레임를 디코딩하는 단계는, 비디오 신장을 위한 H.261 표준에 따라 상기 주기 프레임를 디코딩하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  31. 제28항에 있어서, 상기 주기 프레임를 디코딩하는 단계는, 비디오 신장을 위한 H.263 표준에 따라 상기 주기 프레임를 디코딩하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  32. 제28항에 있어서, 상기 주기 프레임를 디코딩하는 단계는, 비디오 신장을 위한 MPEG-1 표준에 따라 상기 주기 프레임를 디코딩하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  33. 제28항에 있어서, 상기 주기 프레임를 디코딩하는 단계는, 비디오 신장을 위한 MPEG-2 표준에 따라 상기 주기 프레임를 디코딩하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  34. 제28항에 있어서, 상기 주기 프레임를 디코딩하는 단계는, 비디오 신장을 위한 MPEG-4 표준에 따라 상기 주기 프레임를 디코딩하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  35. 컴퓨터로 독출가능한 매체에 구현된 컴퓨터로 실행가능한 명령들을 포함하는 컴퓨터 프로그램 생성물에 있어서,
    (a) 복수의 압축된 비디오 데이터 프레임들을 송출기로부터 수신기로 전송하는 단계;
    상기 송출기에서:
    (b) 각 프레임에 대한 순방향 에러 정정 패킷들의 수를 결정하는 단계;
    (c) 각 프레임에 대한 상기 순방향 에러 정정 패킷들을 상기 송출기로부터 상기 수신기로 전송하는 단계;
    (d) 각 프레임에 대해 수신된 부정적인 확인응답의 수를 모니터링하고, 상기 부정적인 확인응답의 수가 소정 값을 초과한다는 결정에 응답하여 상기 부정적인 확인응답에 대응하는 상기 패킷들을 재전송하는 단계;
    상기 수신기에서:
    (e) 상기 재전송된 패킷들을 수신하고 상기 재전송된 패킷들을 사용하여 프레임 버퍼에서 프레임을 복원하는 단계; 및
    (f) 디스플레이될 프레임을 위해 기준 프레임으로서 상기 복원된 프레임을 사용하는 단계를 수행하기 위한 컴퓨터 프로그램 생성물.
  36. 제35항에 있어서, 상기 송출기에서, 주기 시간 종속 값을, 상기 순방향 에러 정정 패킷들을 사용하여 유실된 패킷들의 복구를 허용하기에 충분히 큰 초기 값으로 설정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  37. 제36항에 있어서, 상기 유실되거나 에러가 있게 수신된 패킷들을 재전송하는 것에 응답하여, 상기 주기 시간 종속 값을, 상기 재전송된 패킷들을 사용한 복구를 허용하기에 충분히 큰 값으로 설정하는 것을 특징으로 컴퓨터 프로그램 생성물.
KR1020017002648A 2000-04-27 2000-11-28 손실이 많은 패킷에 근거한 네트워크를 통해 비디오를전송하기 위한 동적 하이브리드 패킷 손실 복구 방법 및시스템 KR100736801B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/560,409 US6289054B1 (en) 1998-05-15 2000-04-27 Method and systems for dynamic hybrid packet loss recovery for video transmission over lossy packet-based network
US09/560,409 2000-04-27

Publications (2)

Publication Number Publication Date
KR20020033089A true KR20020033089A (ko) 2002-05-04
KR100736801B1 KR100736801B1 (ko) 2007-07-09

Family

ID=24237687

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017002648A KR100736801B1 (ko) 2000-04-27 2000-11-28 손실이 많은 패킷에 근거한 네트워크를 통해 비디오를전송하기 위한 동적 하이브리드 패킷 손실 복구 방법 및시스템

Country Status (4)

Country Link
US (1) US6289054B1 (ko)
KR (1) KR100736801B1 (ko)
AU (1) AU2001247088A1 (ko)
WO (1) WO2001084732A1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100686157B1 (ko) * 2005-05-04 2007-02-26 엘지전자 주식회사 디지털 멀티미디어 데이터 녹화기능을 갖는 이동 단말기 및 이를 이용한 디지털 멀티미디어 데이터 녹화방법
KR100751143B1 (ko) * 2005-11-28 2007-08-22 엘지전자 주식회사 무선 텔레비전 장치, 무선 텔레비전 시스템 및 그의제어방법
KR100762071B1 (ko) * 2004-08-12 2007-10-01 미쓰비시덴키 가부시키가이샤 공통 무선 채널에 의해 접속된 복수의 국을 포함하는네트워크에 있어서 데이터 패킷에 대해 확인 응답하는 방법
KR101008976B1 (ko) * 2003-10-20 2011-01-17 삼성전자주식회사 멀티미디어 스트리밍 시스템에서의 에러 검출 방법
US8799749B2 (en) 2010-11-12 2014-08-05 Electronics And Telecommunications Research Institute Ad-hoc multimedia group communication terminal robust to packet loss and method of operating the same
US9232219B2 (en) 1999-03-12 2016-01-05 Microsoft Technology Licensing, Llc Media coding for loss recovery with remotely predicted data units
US9866871B2 (en) 2004-12-30 2018-01-09 Microsoft Technology Licensing, Llc Use of frame caching to improve packet loss recovery
KR20190016355A (ko) * 2017-08-08 2019-02-18 에스케이텔레콤 주식회사 Ap 정보를 활용한 멀티캐스트 데이터 전송 방법 및 그를 위한 장치

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609223B1 (en) * 1999-04-06 2003-08-19 Kencast, Inc. Method for packet-level fec encoding, in which on a source packet-by-source packet basis, the error correction contributions of a source packet to a plurality of wildcard packets are computed, and the source packet is transmitted thereafter
TW444506B (en) * 1999-09-16 2001-07-01 Ind Tech Res Inst Real-time video transmission method on wireless communication networks
KR20020089478A (ko) * 2000-04-17 2002-11-29 노오텔 네트웍스 리미티드 무선 통신용 물리층 및 링크층에서의 arq 프로토콜의협력
US7050402B2 (en) * 2000-06-09 2006-05-23 Texas Instruments Incorporated Wireless communications with frequency band selection
US7224702B2 (en) * 2000-08-30 2007-05-29 The Chinese University Of Hong Kong System and method for error-control for multicast video distribution
KR100695830B1 (ko) * 2000-09-05 2007-03-19 유티스타콤코리아 유한회사 무선통신 시스템에서 데이터 반복 전송 방법
US7151754B1 (en) * 2000-09-22 2006-12-19 Lucent Technologies Inc. Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding
US6804201B1 (en) * 2000-10-05 2004-10-12 S. Erol Gelenbe Cognitive packet network
US6675340B1 (en) * 2000-10-19 2004-01-06 Network Equipment Technologies, Inc. Forward error correction (FEC) for packetized data networks
US20020157058A1 (en) * 2001-02-20 2002-10-24 Cute Ltd. System and method for feedback-based unequal error protection coding
US7110452B2 (en) * 2001-03-05 2006-09-19 Intervideo, Inc. Systems and methods for detecting scene changes in a video data stream
US6807578B2 (en) * 2001-03-14 2004-10-19 International Business Machines Corporation Nack suppression for multicast protocols in mostly one-way networks
GB0110125D0 (en) * 2001-04-25 2001-06-20 Koninkl Philips Electronics Nv Radio communication system
KR100936635B1 (ko) * 2001-06-11 2010-01-14 톰슨 라이센싱 에스.에이. 미세 입자 스케일 가능한 비디오에 대한 움직임 보상
US7631242B2 (en) * 2001-06-22 2009-12-08 Broadcom Corporation System, method and computer program product for mitigating burst noise in a communications system
KR100735692B1 (ko) * 2001-07-12 2007-07-06 엘지전자 주식회사 적응 부호화와 재전송을 이용한 부호화 변환 방법
US6965597B1 (en) * 2001-10-05 2005-11-15 Verizon Laboratories Inc. Systems and methods for automatic evaluation of subjective quality of packetized telecommunication signals while varying implementation parameters
KR100939694B1 (ko) * 2001-10-15 2010-02-01 톰슨 라이센싱 미디어 객체를 송신하기 위한 다이내믹 에러 복구 메커니즘을 제공하는 방법 및 장치, 제어 패킷을 미디어 객체에 대응하는 복수의 데이터 패킷에 순차적으로 할당하는 방법 및 장치, 및 방송 아키택쳐에서 송신 에러를 결정하는 장치
US6766492B2 (en) * 2001-11-16 2004-07-20 Intel Corporation Finite state automaton for control of frame error recovery for a universal serial bus video camera
KR100422252B1 (ko) * 2001-12-20 2004-03-11 삼성전자주식회사 씬 클라이언트 네트워크 시스템과 그 네트워크 시스템의데이터 전송 방법
US7257664B2 (en) * 2001-12-21 2007-08-14 Lambert Everest Ltd. Adaptive error resilience for signal transmission over a network
EP1337086B1 (en) * 2002-02-13 2006-07-19 Matsushita Electric Industrial Co., Ltd. Method for transmitting data packets using RTP and RTCP protocols
US7640485B1 (en) 2002-02-15 2009-12-29 Network Equipment Technologies, Inc. Non-relay initialization for modems
US7228488B1 (en) 2002-02-15 2007-06-05 Network Equipment Technologies, Inc. System and method for secure communication over packet network
US7545819B1 (en) 2002-02-15 2009-06-09 Network Equipment Technologies, Inc. Techniques for asynchronous compensation for secure communications
US7295624B2 (en) 2002-03-06 2007-11-13 Texas Instruments Incorporated Wireless system with hybrid automatic retransmission request in interference-limited communications
US20040047424A1 (en) * 2002-10-15 2004-03-11 Kumar Ramaswamy System and method for transmitting digital video files with error recovery
US7555214B2 (en) * 2002-12-16 2009-06-30 Pmc-Sierra Israel Ltd. Method of ethernet frame forward error correction initialization and auto-negotiation
US7783930B2 (en) 2003-01-10 2010-08-24 Robert Bosch Gmbh Recording method for video/audio data
US20050013249A1 (en) * 2003-07-14 2005-01-20 Hao-Song Kong Redundant packets for streaming video protection
US7570589B1 (en) * 2003-07-17 2009-08-04 Hewlett-Packard Development Company, L.P. Media communication converting burst losses to isolated losses
US8437284B2 (en) * 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US7400588B2 (en) * 2003-08-01 2008-07-15 Thomson Licensing Dynamic rate adaptation using neural networks for transmitting video data
US20050120128A1 (en) * 2003-12-02 2005-06-02 Wilife, Inc. Method and system of bandwidth management for streaming data
US7599002B2 (en) * 2003-12-02 2009-10-06 Logitech Europe S.A. Network camera mounting system
US20060050695A1 (en) * 2004-09-07 2006-03-09 Nokia Corporation System and method for using redundant representations in streaming applications
US7533324B2 (en) * 2004-09-22 2009-05-12 Kencast, Inc. System, method and apparatus for FEC encoding and decoding
US7447978B2 (en) * 2004-11-16 2008-11-04 Nokia Corporation Buffering packets of a media stream
US20060171453A1 (en) * 2005-01-04 2006-08-03 Rohlfing Thomas R Video surveillance system
US7739580B1 (en) * 2005-02-17 2010-06-15 Kencast, Inc. System, method and apparatus for reducing blockage losses on information distribution networks
CN1845611A (zh) * 2005-04-08 2006-10-11 华为技术有限公司 基于h.264的视频传输保护方法
GB2425693B (en) * 2005-04-25 2007-05-30 Siemens Ag Method of re-transmitting an original frame
US20060255931A1 (en) * 2005-05-12 2006-11-16 Hartsfield Andrew J Modular design for a security system
WO2007016311A2 (en) * 2005-07-28 2007-02-08 Riverbed Technology, Inc. Congestion management over lossy network connections
US7747921B2 (en) 2005-08-05 2010-06-29 Sony Corporation Systems and methods for transmitting data over lossy networks
US8223643B1 (en) 2005-09-06 2012-07-17 Kencast, Inc. Method for packet-level FEC encoding a stream of source packets using shifted interleaving
KR100876766B1 (ko) * 2005-11-29 2009-01-07 삼성전자주식회사 디지털 비디오 방송 시스템에서 전자 서비스 가이드 전송에러를 처리하는 방법 및 장치
EP1791285A1 (en) * 2005-11-29 2007-05-30 Alcatel Lucent Hybrid ARQ apparatus and corresponding method, wherein the FEC redundancy is adapted based on the number of retransmissions of a packet
US20070174861A1 (en) * 2005-11-29 2007-07-26 Samsung Electronics Co., Ltd. Method and apparatus for handling an electronic service guide transmission error in a digital video broadcasting system
US7716551B2 (en) 2005-12-07 2010-05-11 Microsoft Corporation Feedback and frame synchronization between media encoders and decoders
US7965771B2 (en) * 2006-02-27 2011-06-21 Cisco Technology, Inc. Method and apparatus for immediate display of multicast IPTV over a bandwidth constrained network
US8218654B2 (en) 2006-03-08 2012-07-10 Cisco Technology, Inc. Method for reducing channel change startup delays for multicast digital video streams
FR2901648A1 (fr) * 2006-05-29 2007-11-30 France Telecom Diffusion d'images utilisant un canal de retour
US20070296822A1 (en) * 2006-06-09 2007-12-27 Yin-Chun Blue Lan Method and device for wireless video communication
WO2008013528A1 (en) 2006-07-25 2008-01-31 Thomson Licensing Recovery from burst packet loss in internet protocol based wireless networks using staggercasting and cross-packet forward error correction
US8005199B2 (en) * 2006-08-18 2011-08-23 Avaya Inc. Intelligent media stream recovery
US8031701B2 (en) * 2006-09-11 2011-10-04 Cisco Technology, Inc. Retransmission-based stream repair and stream join
US7681101B2 (en) * 2007-04-16 2010-03-16 Cisco Technology, Inc. Hybrid corrective scheme for dropped packets
US8707139B2 (en) 2006-10-18 2014-04-22 Kencast, Inc. Systems, methods, apparatus, and computer program products for providing forward error correction with low latency
US8046656B2 (en) 2006-10-31 2011-10-25 Hewlett-Packard Development Company, L.P. Rendering and correcting data
US7937531B2 (en) * 2007-02-01 2011-05-03 Cisco Technology, Inc. Regularly occurring write back scheme for cache soft error reduction
US8769591B2 (en) 2007-02-12 2014-07-01 Cisco Technology, Inc. Fast channel change on a bandwidth constrained network
US20080201752A1 (en) * 2007-02-16 2008-08-21 At&T Knowledge Ventures, L.P. Multicast data packet recovery system
US7940644B2 (en) * 2007-03-14 2011-05-10 Cisco Technology, Inc. Unified transmission scheme for media stream redundancy
US8504552B2 (en) * 2007-03-26 2013-08-06 Business Objects Software Ltd. Query based paging through a collection of values
US7949778B2 (en) * 2007-03-27 2011-05-24 Kencast, Inc. Systems, methods, apparatus and computer program products for providing packet-level FEC with higher throughput using user datagram protocol (UDP)
US20080253369A1 (en) 2007-04-16 2008-10-16 Cisco Technology, Inc. Monitoring and correcting upstream packet loss
US8752102B2 (en) * 2008-01-03 2014-06-10 Microsoft Corporation Intelligent retransmission of data stream segments
US8855211B2 (en) * 2008-01-22 2014-10-07 At&T Intellectual Property I, Lp Method and apparatus for managing video transport
US8418034B2 (en) 2008-02-08 2013-04-09 Kencast, Inc. Systems, methods, apparatus and computer program products for highly reliable file delivery using compound and braided FEC encoding and decoding
US8787153B2 (en) 2008-02-10 2014-07-22 Cisco Technology, Inc. Forward error correction based data recovery with path diversity
US8379083B1 (en) 2008-07-17 2013-02-19 Sprint Communications Company L.P. Simultaneous viewing and reliable recording of multimedia content over a network
US8000313B1 (en) 2008-08-15 2011-08-16 Sprint Spectrum L.P. Method and system for reducing communication session establishment latency
US8270307B2 (en) * 2008-09-05 2012-09-18 Cisco Technology, Inc. Network-adaptive preemptive repair in real-time video
US20100086024A1 (en) * 2008-10-02 2010-04-08 Nec Laboratories America, Inc. Streaming scalable video over fading wireless channels
US20100125768A1 (en) * 2008-11-17 2010-05-20 Cisco Technology, Inc. Error resilience in video communication by retransmission of packets of designated reference frames
US8929443B2 (en) * 2009-01-09 2015-01-06 Microsoft Corporation Recovering from dropped frames in real-time transmission of video over IP networks
US8335857B1 (en) * 2009-05-21 2012-12-18 Sprint Communications Company L.P. System and methods of data transmission to devices
CN101902315B (zh) * 2009-06-01 2013-04-17 华为技术有限公司 基于前向纠错的重传方法、设备和通信系统
US8249078B1 (en) 2009-11-16 2012-08-21 Sprint Spectrum L.P. Prediction and use of call setup signaling latency for advanced wakeup and notification
US8320364B2 (en) * 2009-12-15 2012-11-27 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Control of bit-rate and packet duplication in a real-time media stream
JP6067378B2 (ja) 2010-01-28 2017-01-25 トムソン ライセンシングThomson Licensing 再送決定する方法及び装置
KR101196451B1 (ko) * 2010-06-18 2012-11-01 동국대학교 산학협력단 비트스트림 전송 장치 및 방법
KR101931653B1 (ko) * 2011-07-06 2018-12-21 에스케이플래닛 주식회사 멀티캐스트 기반 컨텐츠 전송 시스템 및 방법
WO2013005917A1 (ko) 2011-07-06 2013-01-10 에스케이플래닛 주식회사 멀티캐스트 기반 컨텐츠 전송 시스템과 방법, 및 고속 움직임 추정을 위한 장치와 방법
US9015555B2 (en) 2011-11-18 2015-04-21 Cisco Technology, Inc. System and method for multicast error recovery using sampled feedback
IL217305A0 (en) * 2012-01-01 2012-02-29 Video Flow Ltd Transport over udp system and method
WO2013184053A1 (en) * 2012-06-08 2013-12-12 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for supporting retransmission
US9794130B2 (en) 2012-12-13 2017-10-17 Coriant Operations, Inc. System, apparatus, procedure, and computer program product for planning and simulating an internet protocol network
US9603039B2 (en) * 2013-04-03 2017-03-21 Qualcomm Incorporated Opportunistic media patching for a communication session
KR101416901B1 (ko) * 2013-06-19 2014-07-08 주식회사 케이티 손실된 영상 패킷을 복구하는 방법 및 장치
US9369724B2 (en) * 2014-03-31 2016-06-14 Microsoft Technology Licensing, Llc Decoding and synthesizing frames for incomplete video data
KR20170009105A (ko) 2015-07-15 2017-01-25 에스케이텔레콤 주식회사 스트리밍 컨텐츠의 패킷 손실을 보상하여 저장하는 방법 및 이를 위한 장치
US10154317B2 (en) 2016-07-05 2018-12-11 BoxCast, LLC System, method, and protocol for transmission of video and audio data
US10771191B2 (en) 2018-03-09 2020-09-08 Kencast, Inc. System for highly reliable file delivery of using continuous FEC encoding/decoding
CN114554198B (zh) * 2022-04-27 2022-08-26 广州番禺职业技术学院 基于纠删码的视频关键帧冗余传输方法和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5614952A (en) * 1994-10-11 1997-03-25 Hitachi America, Ltd. Digital video decoder for decoding digital high definition and/or digital standard definition television signals
US5574934A (en) * 1993-11-24 1996-11-12 Intel Corporation Preemptive priority-based transmission of signals using virtual channels
JPH07322248A (ja) * 1994-05-30 1995-12-08 Matsushita Electric Ind Co Ltd 動画像データの伝送方法および伝送装置
US6104757A (en) * 1998-05-15 2000-08-15 North Carolina State University System and method of error control for interactive low-bit rate video transmission

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9232219B2 (en) 1999-03-12 2016-01-05 Microsoft Technology Licensing, Llc Media coding for loss recovery with remotely predicted data units
US9918085B2 (en) 1999-03-12 2018-03-13 Microsoft Technology Licensing, Llc Media coding for loss recovery with remotely predicted data units
KR101008976B1 (ko) * 2003-10-20 2011-01-17 삼성전자주식회사 멀티미디어 스트리밍 시스템에서의 에러 검출 방법
KR100762071B1 (ko) * 2004-08-12 2007-10-01 미쓰비시덴키 가부시키가이샤 공통 무선 채널에 의해 접속된 복수의 국을 포함하는네트워크에 있어서 데이터 패킷에 대해 확인 응답하는 방법
US9866871B2 (en) 2004-12-30 2018-01-09 Microsoft Technology Licensing, Llc Use of frame caching to improve packet loss recovery
US10341688B2 (en) 2004-12-30 2019-07-02 Microsoft Technology Licensing, Llc Use of frame caching to improve packet loss recovery
KR100686157B1 (ko) * 2005-05-04 2007-02-26 엘지전자 주식회사 디지털 멀티미디어 데이터 녹화기능을 갖는 이동 단말기 및 이를 이용한 디지털 멀티미디어 데이터 녹화방법
KR100751143B1 (ko) * 2005-11-28 2007-08-22 엘지전자 주식회사 무선 텔레비전 장치, 무선 텔레비전 시스템 및 그의제어방법
US8799749B2 (en) 2010-11-12 2014-08-05 Electronics And Telecommunications Research Institute Ad-hoc multimedia group communication terminal robust to packet loss and method of operating the same
KR20190016355A (ko) * 2017-08-08 2019-02-18 에스케이텔레콤 주식회사 Ap 정보를 활용한 멀티캐스트 데이터 전송 방법 및 그를 위한 장치

Also Published As

Publication number Publication date
WO2001084732A1 (en) 2001-11-08
US6289054B1 (en) 2001-09-11
AU2001247088A1 (en) 2001-11-12
KR100736801B1 (ko) 2007-07-09

Similar Documents

Publication Publication Date Title
KR100736801B1 (ko) 손실이 많은 패킷에 근거한 네트워크를 통해 비디오를전송하기 위한 동적 하이브리드 패킷 손실 복구 방법 및시스템
US6421387B1 (en) Methods and systems for forward error correction based loss recovery for interactive video transmission
US7539187B2 (en) System and method for low-latency content-sensitive forward error correction
Rhee Error control techniques for interactive low-bit rate video transmission over the internet
US7443797B2 (en) Medium streaming distribution system
Zhai et al. Rate-distortion optimized hybrid error control for real-time packetized video transmission
KR101125846B1 (ko) 패킷 기반의 영상 프레임 전송 방법 및 장치
Hartanto et al. Hybrid error control mechanism for video transmission in the wireless IP networks
US20050013249A1 (en) Redundant packets for streaming video protection
JP4659838B2 (ja) 一連のフレームを予測的にコード化する装置
Bucciol et al. Cross-layer perceptual ARQ for H. 264 video streaming over 802.11 wireless networks
Holmer et al. Handling packet loss in WebRTC
MXPA06012546A (es) Sistema de video telefono adaptable.
JP2005033556A (ja) データ送信装置、データ送信方法、データ受信装置、データ受信方法
Wang et al. Channel-adaptive unequal error protection for scalable video transmission over wireless channel
Bucciol et al. Perceptual ARQ for H. 264 video streaming over 3G wireless networks
Devadoss et al. Evaluation of error resilience mechanisms for 3G conversational video
Rhee Retransmission-based error control for interactive video applications over the internet
Porter et al. HYBRID TCP/UDP video transport for H. 264/AVC content delivery in burst loss networks
Purandare et al. Impact of bit error on video transmission over wireless networks and error resiliency
Rhee et al. Error recovery using FEC and retransmission for interactive video transmission
Vilei et al. A novel unbalanced multiple description scheme for video transmission over wlan
Bucciol et al. Application-level perceptual ARQ for H. 264 video streaming over 802.11 wireless LAN’s
Abd El Al et al. Improving interactive video in wireless networks using path diversity
Xu et al. Delay-aware loss-concealment strategies for real-time video conferencing

Legal Events

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