KR20210156041A - 캐시 서버를 이용한 패킷손실 복구장치 및 방법 - Google Patents

캐시 서버를 이용한 패킷손실 복구장치 및 방법 Download PDF

Info

Publication number
KR20210156041A
KR20210156041A KR1020200073703A KR20200073703A KR20210156041A KR 20210156041 A KR20210156041 A KR 20210156041A KR 1020200073703 A KR1020200073703 A KR 1020200073703A KR 20200073703 A KR20200073703 A KR 20200073703A KR 20210156041 A KR20210156041 A KR 20210156041A
Authority
KR
South Korea
Prior art keywords
packet
packet loss
packets
lost
section
Prior art date
Application number
KR1020200073703A
Other languages
English (en)
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 에스케이텔레콤 주식회사
Priority to KR1020200073703A priority Critical patent/KR20210156041A/ko
Priority to CN202180043291.0A priority patent/CN115943630A/zh
Priority to US17/928,459 priority patent/US20230319368A1/en
Priority to PCT/KR2021/007521 priority patent/WO2021256845A1/ko
Publication of KR20210156041A publication Critical patent/KR20210156041A/ko

Links

Images

Classifications

    • 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/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/54Loss aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/509Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to media content delivery, e.g. audio, video or TV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L67/2842
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/027Speed or phase control by the received code signals, the signals containing no special synchronisation information extracting the synchronising or clock signal from the received signal spectrum, e.g. by using a resonant or bandpass circuit
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2183Cache memory
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/64Addressing
    • H04N21/6405Multicasting
    • 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/64Addressing
    • H04N21/6408Unicasting

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

캐시 서버를 이용한 패킷손실 복구장치 및 방법을 개시한다.
본 실시예는, IPTV(Internet Protocol Television) 멀티캐스트 서비스(multicast service)에 있어서, IPTV 단말로부터 수신한 부가정보를 이용하여, 캐시 서버(cache server)가 손실된 패킷을 검출하고, 패킷손실을 복구하기 위해 해당 패킷을 IPTV 단말로 전송하는 패킷손실 복구장치 및 방법을 제공한다.

Description

캐시 서버를 이용한 패킷손실 복구장치 및 방법{Method and Apparatus for Packet Loss Recovery by Using Cache Server}
본 개시는 캐시 서버를 이용한 패킷손실 복구장치 및 방법에 관한 것이다. 더욱 상세하게는, IPTV(Internet Protocol Television) 멀티캐스트 서비스(multicast service)에 있어서, IPTV 단말로부터 수신한 부가정보를 이용하여, 캐시 서버(cache server)가 손실 패킷을 확인하고, 손실 패킷에 상응하는 복구패킷을 IPTV 단말 측으로 전송하는 패킷손실 복구장치 및 방법에 대한 것이다.
이하에 기술되는 내용은 단순히 본 발명과 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다.
진보된 네트워킹 기술을 기반으로, 네트워크 자원을 절약하고 다수의 구독자들을 동시에 지원하기 위해 IPTV(Internet Protocol Television) 멀티캐스트(multicast)를 이용하여 TV 채널들(channels)이 서비스되고 있다. 이를 위하여 다양한 IPTV 단말들이 여러 제조사로부터 출시되고 있다. 잡음, 네트워크 회선 혼잡 등으로 인하여, IP 네트워크는 오류가 발생되기 용이한 환경에 놓여 있다. 따라서, 오류 발생에 따른 일부 패킷의 손실을 피할 수 없으며, 이러한 패킷손실(packet loss)은 심각한 A/V(Audio/Video) 품질 저하를 유발한다. 품질 저하 문제는 IPTV 서비스의 주요 QoE(Quality of Experience) 요인이다.
멀티캐스트 전송에서 패킷손실을 효과적으로 처리하기 위해 FEC(Forward Error Correction) 또는 ARQ(Automatic Repeat reQuest) 기법이 응용 계층(application layer)에서 광범위하게 사용된다. FEC 기법은 패킷손실을 보상하기 위해 부가정보를 이용한다. 부가정보의 양을 적절하게 선택함으로써, FEC 기법은 클라이언트 단에서 별도 피드백 채널 없이 패킷손실을 완화시킬 수 있다. 예컨대, IPTV 멀티캐스트 시에 파운틴(Fountain) 코드 및/또는 리드 솔로몬(Reed-Solomon) 코드를 이용함으로써 패킷손실을 극복할 수 있다. 그러나, FEC 기법이 IPTV 멀티캐스트 서비스에 적용되기 위해서는 기 배치된 방송 장비의 교체로 인한 비용 상승 및 IPTV 단말에서의 높은 컴퓨팅 파워가 요구되는 문제가 있다.
한편, ARQ 기법이 적용된 IPTV 멀티캐스트 서비스의 경우, 재전송 요청부터 요청된 패킷을 수신하기까지 소요되는 시간에 따른 지연(delay) 증가라는 문제가 있다. 또한, IPTV 구독자 수가 확장됨에 따라 ARQ 기법은 상향/하향 트래픽을 증가시킨다는 문제가 있다.
다른 기술로는, RTP(Real-Time Transport Protocol) 패킷에 포함된 시퀀스 번호(sequence number)를 이용하여, 캐시 서버가 어떤 패킷이 손실되었는지 검출하고, 해당 패킷을 재전송하는 기법이 존재한다(비특허문헌 1 참조). 그러나, 이러한 기법들은 RTP를 이용하는 운영 시나리오에 국한되어 적용이 가능하고, 캐시 서버와 IPTV 단말 간에 상호 교환 가능한 상세 정보의 부족으로 인하여 실용적이지 못하다는 문제가 있다.
따라서, IPTV 멀티캐스트 서비스에 있어서, 전술한 바와 같은 비용, 컴퓨팅 파워, 지연 등의 문제에 대처가 가능하면서도 실용적으로 구현 가능한 패킷손실 복구방법이 요구된다.
비특허문헌 1: "Preserving Video Quality in IPTV Networks", Cisco White Paper. Available online: http://www.webtorials.com/main/resource/papers/cisco/paper117/IPTV-quality.pdf
본 개시는, IPTV(Internet Protocol Television) 멀티캐스트 서비스(multicast service)에 있어서, IPTV 단말로부터 수신한 패킷손실에 대한 부가정보를 이용하여, 캐시 서버(cache server)가 손실 패킷(lost packet)을 확인하고, 손실 패킷에 상응하는 복구패킷(recovery packet)을 IPTV 단말 측으로 전송하는 패킷손실 복구장치 및 방법을 제공하는 데 주된 목적이 있다.
본 개시의 실시예에 따르면, 캐시 서버(cache server)가 실행하는 패킷손실 복구방법에 있어서, IPTV(Internet Protocol Television) 단말의 수신 TS(Transport Stream) 패킷들(packets) 중에서 손실(lost) TS 패킷에 대한 부가정보(additional information)를 상기 IPTV 단말로부터 수신하는 과정; 상기 부가정보를 이용하여, 기저장된 전송(transmitted) TS 패킷들의 계열(sequence) 중에서 탐색 구간을 설정하고, 상기 탐색 구간을 검색하여 손실 TS 패킷을 확인하는 과정; 및 상기 탐색 구간에서 상기 손실 TS 패킷에 상응하는 복구패킷(recovery packet)을 추출하여 상기 IPTV 단말 측으로 유니캐스트(unicast) 방식으로 전송하는 과정을 포함하는 것을 특징으로 하는 패킷손실 복구방법을 제공한다.
본 개시의 다른 실시예에 따르면, IPTV(Internet Protocol Television) 단말이 실행하는 패킷손실 복구방법에 있어서, 수신 TS(Transport Stream) 패킷들(packets)의 헤더 정보를 이용하여 연속성 오류(continuity error)의 발생 여부를 확인하는 과정; 상기 연속성 오류와 관련된 수신 TS 패킷들의 헤더 정보를 이용하여 패킷손실 섹션(packet loss section)을 결정하는 과정; 상기 패킷손실 섹션에 기초하여, 손실 TS 패킷을 복구하기 위해 필요한 부가정보(additional information)를 생성한 후 캐시 서버(cache server) 측으로 전송하는 과정; 상기 캐시 서버 측으로부터 획득된 복구패킷을 이용하여 상기 손실 TS 패킷을 복구하는 과정을 포함하는 것을 특징으로 하는 패킷손실 복구방법을 제공한다.
본 개시의 다른 실시예에 따르면, IPTV 단말의 수신 TS(Transport Stream) 패킷들(packets) 중에서 손실(lost) TS 패킷에 대한 부가정보(additional information)를 상기 IPTV 단말로부터 수신하는 수신부; 상기 부가정보를 이용하여, 기저장된 전송(transmitted) TS 패킷들의 계열(sequence) 중에서 탐색 구간을 설정하고, 상기 탐색 구간을 검색하여 손실 TS 패킷을 확인하는 패킷복구 검색부; 및 상기 탐색 구간에서 상기 손실 TS 패킷에 상응하는 복구패킷(recovery packet)을 추출하여 상기 IPTV 단말 측으로 유니캐스트(unicast) 방식으로 전송하는 패킷복구 검색부를 포함하는 것을 특징으로 하는 패킷손실 복구장치를 제공한다.
본 개시의 다른 실시예에 따르면, 캐시 서버가 실행하는 패킷손실 복구방법이 포함하는 각 과정을 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터프로그램을 제공한다.
본 개시의 다른 실시예에 따르면, IPTV 단말이 실행하는 패킷손실 복구방법이 포함하는 각 과정을 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터프로그램을 제공한다.
이상에서 설명한 바와 같이 본 실시예에 따르면, IPTV 멀티캐스트 서비스에 있어서, IPTV 단말로부터 수신한 패킷손실에 대한 부가정보를 이용하여, 캐시 서버가 손실 패킷을 확인하고, 손실 패킷에 상응하는 복구패킷을 IPTV 단말 측으로 전송하는 패킷손실 복구장치 및 방법을 제공함으로써, 멀티캐스트 서비스 과정에서의 패킷손실을 복구하는 것이 가능해지는 효과가 있다.
또한 본 실시예에 따르면, IPTV 멀티캐스트 서비스에 있어서, IPTV 단말로부터 수신한 패킷손실에 대한 부가정보를 이용하여, 캐시 서버가 손실 패킷을 확인하고, 손실 패킷에 상응하는 복구패킷을 IPTV 단말 측으로 전송하는 패킷손실 복구장치 및 방법을 제공함으로써, UDP(User Datagram Protocol) 방식을 이용함에 있어서, 전송 스트림(Transport Stream: TS) 패킷의 구조적 특징을 기반으로 손실 패킷에 대한 정확한 검출과 전송이 가능해지는 효과가 있다.
도 1은 본 개시의 일 실시예에 따른 패킷손실 복구장치의 블록도이다.
도 2는 본 개시의 일 실시예에 따른 패킷손실 섹션에 대한 개략적인 예시도이다.
도 3은 본 개시의 일 실시예에 따른 부가정보에 대한 개략적인 예시도이다.
도 4는 본 개시의 일 실시예에 따른 패킷손실 복구방법의 순서도이다.
도 5는 IPTV 서비스 시스템을 개략적으로 나타낸 구성도이다.
도 6은 TS 패킷을 캡슐화한 IP 패킷에 대한 개략적인 블록도이다.
도 7은 IPTV 단말이 수신한 TS 패킷의 헤더 정보를 나타내는 예시도이다.
이하, 본 발명의 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 실시예들의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 실시예들의 구성요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성요소를 다른 구성요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다.
본 실시예는 캐시 서버를 이용한 패킷손실 복구장치 및 방법에 대한 내용을 개시한다. 보다 자세하게는, IPTV(Internet Protocol Television) 멀티캐스트 서비스(multicast service)에 있어서, IPTV 단말로부터 수신한 패킷손실에 대한 부가정보를 이용하여, 캐시 서버(cache server)가 손실 패킷(lost packet)을 확인하고, 손실 패킷에 상응하는 복구패킷(recovery packet)을 IPTV 단말 측으로 전송하는 패킷손실 복구장치 및 방법을 제공한다.
도 5는 IPTV 서비스 시스템을 개략적으로 나타낸 구성도이다.
IPTV 서비스 시스템은 일반적으로 콘텐츠 제공장치, IPTV 단말, 애그리게이션 라우터/애그리게이션 스위치(aggregation router/aggregation switch), 및 캐시 서버(cache server)의 전부 또는 일부를 포함한다.
콘텐츠 제공장치는 IPTV 백본 망(backbone network) 및 라우터/스위치를 이용하여 복수의 IPTV 단말 측으로 모든 TV 채널의 콘텐츠(content)를 멀티캐스트 방식을 이용하여 전송한다. 여기서, 콘텐츠 제공장치는 IPTV 헤드엔드(Headend)일 수 있다.
IPTV 단말을 보유한 사용자는 원하는 TV 채널을 선택하여, 선택한 콘텐츠를 시청할 수 있다. TV 채널 콘텐츠가 패킷 형태로 제공되므로 IPTV 단말은 패킷 수신 단말로도 명칭될 수 있다. IPTV 단말은 STB(Set-top Box) 형태의 단말일 수 있으나 반드시 이에 한정하는 것은 아니며, 스마트폰, 태블릿(tablet), 노트북(notebook) 등과 같은 이동형 단말을 포함할 수 있다.
캐시 서버는 IPTV 단말들에 근접한 지역 네트워크에 위치하고, IPTV 헤드엔드로부터 IPTV 단말 측으로 제공된 콘텐츠를 저장하며, 저장된 콘텐츠를 이용하여 IPTV 단말들에서 발생할 수 있는 패킷손실에 대처할 수 있다. 따라서, 본 실시예에서는, 캐시 서버와 IPTV 단말이 패킷손실 복구장치의 구현에 이용될 수 있다.
IPTV 헤드엔드는 MPEG(Moving Pictures Expert Group)-2 전송 스트림(Transport Stream: 이하 'TS') 패킷을 기반으로 IPTV용 콘텐츠를 형성하여, IP(Internet Protocol) 망을 이용하여 제공한다.
TS는 영상 신호, 오디오 신호 및 데이터 신호를 나타내는 PES(Packetized Elementary Stream) 패킷(packet)이 다중화(multiplexing)된 비트스트림이다. 여기서, PES 패킷은, 전송 편의를 위하여 부호화 장치들의 출력(이를 ES(Elementary Stream)라 함)에 해당하는 영상 신호, 오디오 신호 및 데이터 신호 각각이 패킷으로 분할된 것이다. PES 패킷에 TS 패킷 헤더(header)를 부착하여 캡슐화(encapsulation)함으로써, TS를 구성하는 TS 패킷이 생성될 수 있다.
TS 패킷의 헤더는 주요 정보로서 PID(Packet Identifier), CC(Continuity Counter), PCR(Program Clock Reference) 정보 등을 포함한다. 여기서, PID는 TS 패킷에 대한 식별자로서, PES 패킷 별로 할당된다. CC는 TS 패킷에 연속성을 부여하기 위한 계열 번호(sequence number)로서 4 비트 데이터 필드로 형성된다.
PCR 정보는 부호화 장치에 설정된 시간을 샘플링(sampling)한 값으로서, 특정 PID에 적용되는 시간 기준을 의미한다. PCR 정보는 PCR 플랙(flag), PCR 값을 포함하며, 0.1 초 내에 최소 1회 이상 전송되도록 TS 패킷의 헤더에 주기적으로 삽입된다.
TS 패킷을 멀티캐스트 방식을 이용하여 전송함에 있어서, IPTV 헤드엔드는 UDP(User Datagram Protocol) 방식 또는 RTP(Real-Time Transport Stream) 방식을 이용할 수 있다. 본 실시예는, 패킷손실에 대한 실용적인 대처를 위하여 UDP 방식을 이용하는 것으로 한정한다.
도 6은 TS 패킷을 캡슐화한 IP 패킷에 대한 개략적인 블록도이다.
IP 망에서 멀티캐스트되는 IP 패킷은 최대 7 개의 TS 패킷을 포함할 수 있는데, 본 실시예에서는 하나의 IP 패킷이 7 개의 TS 패킷을 포함하는 것으로 가정한다. IP 패킷은 헤더 및 데이터 섹션(data section)을 포함한다. 도 6의 도시에서 IP 데이터 섹션은 복수의 TS 패킷을 캡슐화한 UDP 패킷의 헤더(미도시)를 포함하는 것으로 가정한다. 콘텐츠 제공장치에서 출발한 패킷이 IPTV 백본 망(backbone network) 및 라우터/스위치를 이용하여 IPTV 단말 측으로 이동될 때, 이동 경로 상에서 발생하는 오류로 인해 IP 패킷이 IPTV 단말 측에 제대로 전달되지 못하고 분실되는 패킷손실이 발생할 수 있다. 이러한 패킷손실은, 수신된 IP 헤더 및 UDP 헤더에 포함된 정보만으로는 확인될 수 없을 뿐만 아니라 복구될 수도 없다. 따라서, 본 실시예에서는 TS 패킷의 헤더에 포함된 주요 정보를 이용하여 패킷손실을 확인 및 복구하는 방법이 기술된다.
도 7은 IPTV 단말이 수신한 TS 패킷의 헤더 정보를 나타내는 예시도이다.
IPTV 단말이 오류 없이 정상적으로 IP 패킷을 수신한 경우, 도 7의 (a)에 예시된 바와 같이 TS 패킷의 헤더 정보가 표현될 수 있는데, 특정 PID에 부여된 CC가 1씩 증가하고 있다. 반면, IP 패킷을 수신하는 과정에서 오류가 발생한 경우(예컨대, IP 패킷 2가 손실된 경우), 도 7의 (b)에 예시된 바와 같이 특정 TS 패킷의 PID에 부여된 CC가 불연속일 때, 연속성 오류(continuity error)가 발생하고 있다. 따라서, TS 패킷에 연속성 오류가 확인되면, IPTV 단말은 적어도 하나의 IP 패킷이 손실된 것으로 간주할 수 있다, 다만, 연속성 오류는 패킷손실을 나타낼 뿐, 손실된 패킷에 대한 정확한 정보를 제공하지는 못한다. 한편, IP 패킷의 손실에 따른 연속성 오류가 발생하면, IPTV 단말은 콘텐츠 복원 및 재생 과정에서 심각한 성능 저하에 직면할 수 있다.
도 1은 본 개시의 일 실시예에 따른 패킷손실 복구장치의 블록도이다.
본 실시예에 따른 패킷손실 복구장치는, IPTV(Internet Protocol Television) 멀티캐스트 서비스(multicast service)에 있어서, IPTV 단말로부터 수신한 패킷손실에 대한 부가정보(additional information)를 이용하여, 캐시 서버(cache server)가 손실 패킷을 확인하고, 손실 패킷에 상응하는 복구패킷을 IPTV 단말 측으로 유니캐스트(unicast) 방식으로 전송한다. 패킷손실 복구장치는 캐시 서버에 위치하는 PLR(Packet Loss Recovery) 서버(100) 및 IPTV 단말에 위치하는 PLR 클라이언트(120)를 포함할 수 있다.
한편, 도 1에 도시된 바와 같은 소켓 수신부(socket receiver unit)를 이용하여 IPTV 단말은 IPTV 헤드엔드로부터 멀티캐스트 방식으로 전송된 IP 패킷을 수신하여 TS 패킷의 연속성 오류를 확인한다. 연속성 오류에 따른 IP 패킷의 손실이 확인되더라도, 전술한 바와 같이, 연속성 오류는 일부 IP 패킷이 손실되었음을 의미하나 손실된 패킷의 개수와 위치에 대한 정보를 제공하지는 못한다. 따라서, PLR 클라이언트(120)는 연속성 오류와 관련된 수신 TS 패킷의 헤더 정보를 이용하여, 손실된 패킷의 복구에 필요한 부가정보를 생성한 후 캐시 서버 측으로 전송한다. PLR 클라이언트(120)의 패킷손실 복구 요청에 대하여, PLR 서버(100)는 대응되는 패킷손실 복구 응답을 생성한다. 즉, PLR 서버(100)는 IPTV 단말 측으로부터 수신한 부가정보, 및 캐싱 데이터를 이용하여 손실 패킷의 정확한 위치를 검출하고, IPTV 단말 측으로 손실 패킷에 상응하는 복구패킷을 유니캐스트 방식으로 전송한다. PLR 클라이언트(120)는 캐시 서버 측으로부터 획득된 복구패킷을 이용하여 패킷손실을 복구할 수 있다.
또한, IPTV 단말은 지터제거(jitter-removing) 버퍼를 이용하여 수신 또는 복구된 TS 패킷들 간의 지연(delay) 차이를 조절하고, 디먹스(demux), 디코더(decoder) 및 렌더(render)를 차례로 이용하여 지연 조절된 패킷들로부터 선택 채널의 콘텐츠를 재생할 수 있다. PLR 클라이언트(120)를 제외한 IPTV 단말의 다른 구성요소에 대한 기술은 본 개시의 범위를 벗어나므로 더 이상의 자세한 설명은 생략한다.
도 1의 도시는 본 실시예에 따른 예시적인 구성이며, PLR 서버의 구조 및 PLR 클라이언트의 구조에 따라 다른 구성요소 또는 구성요소 간의 다른 연결을 포함하는 다양한 구현이 가능하다.
이하, 연속성 오류는 TS 패킷의 헤더에 포함된 정보를 이용하므로, 다른 한정이 없는 경우, 패킷은 TS 패킷을 나타낸다. 또한, IPTV 단말이 수신한 패킷을 수신 TS 패킷으로 표현하고, 캐시 서버가 캐싱 데이터로서 저장하는 패킷을 전송 TS 패킷으로 표현한다.
또한, 부가정보의 생성 및 패킷손실 복구 과정에 대한 기술에 앞서, 다음과 같이 패킷손실과 관련된 용어들을 정의한다.
IPTV 단말에서 선택된 IPTV 채널이 N(N은 자연수) 개의 ES를 포함하는 경우, 이들에 해당하는 PES 각각에 대하여 PID가 할당되면, 수학식 1에 나타낸 바와 같이 전체 PID 집합이 표현될 수 있다.
Figure pat00001
여기서, pidi는 선택된 채널에 포함된 i 번째 PES에 대한 PID를 나타낸다. 도 6의 (a)에 도시된 바와 같이, TS 패킷은 복수의 PID에 대한 PES를 다중화하고 있다. 또한, pidi에 대한 CC 값은, 수학식 2에 나타낸 바와 같이 표현될 수 있다.
Figure pat00002
여기서,
Figure pat00003
는 pidi에 대하여 j 번째 수신된 CC 값을 나타낸다. 일부 IP 패킷이 손실된 경우, 수학식 3에 나타낸 조건을 이용하여 IPTV 단말은 연속성 오류를 식별할 수 있다.
Figure pat00004
도 2는 본 개시의 일 실시예에 따른 패킷손실 섹션에 대한 개략적인 예시도이다.
전술한 바와 같이 연속성 오류는 손실된 패킷의 개수와 위치에 대한 정보를 제공하지 못하므로, 패킷손실이 발생한 것으로 추측되는 패킷손실 섹션(packet loss section) [LOCSP, LOCEP]가 설정될 수 있다. 여기서 LOC는 위치(location)을 의미하고, SP는 시작위치(Starting Position), EP는 종료위치(End Position)를 나타낸다.
하나의 PID에 대하여, 패킷손실 섹션은 연속성 오류를 의미하는 CC 값을 포함하는 양 TS 패킷 간의 구간(연속성 오류를 의미하는 CC 값을 포함하는 양 TS 패킷도 포함함)으로 정의될 수 있다. 따라서, N 개의 PID 전체에 대해서는, 도 2에 예시된 바와 같이, 연속성 오류가 발생한 각 PID에 대한 패킷손실 섹션의 합집합으로 전체 패킷손실 섹션이 정의된다. 패킷손실 섹션의 설정은 수학식 4 및 5에 나타낸 바와 같이 LOCSP 및 LOCEP를 설정하는 과정으로 표현될 수도 있다.
Figure pat00005
Figure pat00006
여기서, ts_loc(·)는 TS 패킷의 위치를 의미한다. 또한 CandSP는 LOCSP 에 대한 후보들을 나타내고, CandEP는 LOCEP에 대한 후보들을 나타낸다.
본 실시예에 따른 패킷손실 복구장치 중 PLR 클라이언트(120)는 연속성 오류와 관련된 TS 패킷의 헤더 정보를 이용하여 패킷손실 섹션을 설정하고, 패킷손실 섹션에 기초하여 손실 TS 패킷을 복구하기 위해 필요한 부가정보를 생성한 후 캐시 서버 측으로 전송한다. 또한, PLR 클라이언트(120)는 캐시 서버 측으로부터 획득된 복구패킷을 이용하여 패킷손실을 복구한다. PLR 클라이언트(120)는 연속성 오류 감시부(122), 패킷손실 섹션 설정부(124), 부가정보 생성부(126) 및 패킷손실 복구 제어부(128)의 전부 또는 일부를 포함할 수 있다. 또한, PLR 클라이언트(120)는 부가정보의 생성 및 패킷손실 복구에 필요한 인버퍼(in-buffer) 및 아웃버퍼(out-buffer)를 추가로 포함할 수 있다. 한편, 부가정보의 전송 및 복구패킷의 수신에는 IPTV 단말에 포함된 송수신 장치(미도시)가 사용되는 것으로 가정한다.
연속성 오류 감시부(122)는 수신 TS 패킷들의 헤더 정보를 이용하여 연속성 오류의 발생 여부를 확인한다. IPTV 단말이 IP 패킷을 수신하여 인버퍼에 저장하면, 연속성 오류 감시부(122)는 IP 패킷에 포함된 수신 TS 패킷들을 기반으로 수학식 3에 나타낸 바와 같은 조건을 이용하여 패킷손실과 관련된 연속성 오류를 식별할 수 있다.
패킷손실 섹션 설정부(122)는 연속성 오류와 관련된 수신 TS 패킷들의 헤더 정보를 이용하여 패킷손실 섹션을 결정한다. 수학식 4 및 수학식 5에 나타낸 바와 같은 과정을 이용하여, 패킷손실 섹션 설정부(122)는 손실 TS 패킷을 포함하는 패킷손실 섹션의 시작위치와 종료위치를 설정할 수 있다.
부가정보 생성부(126)는 패킷손실 섹션에 기초하여, 손실 TS 패킷을 복구하기 위해 필요한 부가정보를 생성한 후 캐시 서버 측으로 전송한다.
도 3은 본 개시의 일 실시예에 따른 부가정보에 대한 개략적인 예시도이다.
도 3에 예시된 부가정보에 대한 정의는 표 1에 나타낸 바와 같다.
Figure pat00007
여기서, TS 널(null) 패킷은 PES가 할당되지 않은 패킷으로서, 유의미한 정보를 포함하지 않는다. 또한, 본 실시예에 따른 부가정보에 포함되는 구성요소가 반드시 표 1에 나타낸 내용에 한정되는 것은 아니며, 패킷손실의 복구에 필요한 어느 요소든 부가정보에 포함될 수 있다.
패킷손실 복구 제어부(128)는 캐시 서버 측으로부터 획득된 복구패킷을 이용하여 손실 TS 패킷을 복구한다. 복구된 TS 패킷은 아웃버퍼에 저장되어, IPTV 단말의 이후 실행 과정에 이용될 수 있다.
본 실시예에 따른 패킷손실 복구장치 중 PLR 서버(100)는 IPTV 단말 측으로부터 수신한 패킷손실에 대한 부가정보, 및 캐싱된 데이터를 이용하여 손실 TS 패킷의 정확한 위치를 검출하고, 손실 TS 패킷에 상응하는 복구패킷을 IPTV 단말 측으로 유니캐스트 방식으로 전송한다. PLR 서버(100)는 패킷복구 검색부(102) 및 패킷복구 제어부(104)의 전부 또는 일부를 포함한다. 또한 PLR 서버(100)는 멀티캐스트 방식을 이용하여 IPTV 단말 측으로 전송된 TS 패킷의 계열(sequence)을 저장하는 캐싱장치(caching device)를 추가로 포함하여, 손실 패킷의 검색에 이용할 수 있다. 한편, 부가정보의 수신 및 복구패킷의 전송에는 캐시 서버에 포함된 송수신 장치(미도시)가 사용되는 것으로 가정한다.
패킷복구 검색부(102)는 IPTV 단말 측으로부터 수신한 패킷손실에 대한 부가정보, 및 캐싱된 데이터를 이용하여 손실 TS 패킷의 정확한 위치를 확인한다. 패킷복구 검색부(102)는 표 1에 나타낸 바와 같은 부가정보, 및 캐시장치에 저장된 전송 TS 패킷의 계열을 이용하여 손실 TS 패킷의 정확한 위치에 대한 검색을 실행할 수 있다.
패킷복구 검색부(102)는,
Figure pat00008
에 SP_Distance를 가산하여 캐시장치에 저장된 전송 TS 패킷의 계열에서 탐색을 위한 Search_Point를 설정한다.
패킷복구 검색부(102)는 Search_Point 이후의 M(M은 자연수) 개의 전송 TS 패킷과 SP_Sample에 포함된 수신 TS 패킷을 비교한다. 이때, SP_Mask에 따라 유추되는 TS 널 패킷은 유의미한 정보를 갖지 않으므로, 비교 대상에서 제외된다. 비교 결과가 동일한 경우, Search_Start_Point가 ‘현재의 Search_Point + M’값으로 설정된다. 반면, 비교 결과가 동일하지 않은 경우, 패킷복구 검색부(102)는 Search_Point를 1씩 증가시키면서, 비교 결과가 동일해질 때까지 전술한 과정을 반복함으로써 Search_Start_Point를 설정할 수 있다.
SP_Sample에 적용된 방법과 유사하게, 패킷복구 검색부(102)는 EP_mask를 이용하여 EP_Sample과 Search_Start_Point 이후의 TS 패킷을 비교한다. 이때, EP_Mask에 따라 유추되는 TS 널 패킷은 유의미한 정보를 갖지 않으므로, 비교 대상에서 제외된다. 비교 결과가 동일한 경우, Search_End_Point가 현재의 Search_Point 값으로 설정된다. 반면, 비교 결과가 동일하지 않은 경우, 패킷복구 검색부(102)는 Search_Point를 1씩 증가시키면서, 비교 결과가 동일해질 때까지 전술한 과정을 반복함으로써 Search_End_Point를 설정한다.
패킷복구 검색부(102)는 Search_Start_Point로부터 Search_End_Point까지의 구간을 손실 TS 패킷에 대한 탐색 구간으로 설정하고, 탐색 구간에 존재하는 전송 TS 패킷을 Recv_CC_Sample과 비교함으로써 CC 값이 일치하지 않는 TS 패킷을 검색하여 손실 TS 패킷을 확인한다. 이때, 단일 IP 패킷이 7 개의 TS 패킷을 포함하는 것으로 설정된 경우, 검색된 TS 패킷은 연속적인 7 개 TS 패킷을 포함하는 그룹으로 그룹화되어야 한다. 이렇게 그룹화된 TS 패킷이 IPTV 단말 측에서 필요로 하는 복구패킷이 될 수 있다.
패킷복구 제어부(104)는 손실 TS 패킷에 상응하는 복구패킷을 IPTV 단말 측으로 유니캐스트 방식으로 전송한다.
도 4는 본 개시의 일 실시예에 따른 패킷손실 복구방법의 순서도이다.
도 4a의 도시는 패킷손실 복구장치 중 PLR 클라이언트(120)가 수행하는 패킷손실 복구방법에 대한 순서도이고, 도 4b의 도시는 패킷손실 복구장치 중 PLR 서버(100)가 수행하는 패킷손실 복구방법에 대한 순서도이다.
PLR 클라이언트(120)는 수신 TS 패킷들의 헤더 정보를 이용하여 연속성 오류의 발생 여부를 확인한다(S400). IPTV 단말이 IP 패킷을 수신하면, IP 패킷에 포함된 수신 TS 패킷들을 기반으로 수학식 3에 나타낸 바와 같은 조건을 이용하여 패킷손실과 관련된 연속성 오류가 식별될 수 있다.
PLR 클라이언트(120)는 연속성 오류와 관련된 수신 TS 패킷들의 헤더 정보를 이용하여 패킷손실 섹션을 결정한다(S402). 수학식 4 및 수학식 5에 나타낸 바와 같은 과정을 이용하여, 손실 TS 패킷을 포함하는 패킷손실 섹션의 시작위치와 종료위치가 설정될 수 있다.
PLR 클라이언트(120)는 패킷손실 섹션에 기초하여, 손실 TS 패킷을 복구하기 위해 필요한 부가정보(additional information)를 생성한 후 캐시 서버 측으로 전송한다(S404). 여기서, 부가정보의 정의는 표 1에 나타낸 바와 같다.
PLR 서버(100)는 손실(lost) TS 패킷에 대한 부가정보를 IPTV 단말로부터 수신한다(S420).
PLR 서버(100)는 부가정보를 이용하여, 캐싱장치(caching device)에 저장된 전송(transmitted) TS 패킷들의 계열(sequence) 중에서 탐색 구간을 설정하고, 탐색 구간을 검색하여 손실 TS 패킷을 확인한다(S422).
표 1에 나타낸 바와 같은 부가정보를 기반으로 손실 TS 패킷을 확인하는 과정은 다음과 같이 세분화될 수 있다.
PLR 서버(100)는 탐색을 위한 Search_Point를 설정한다(S430). PLR 서버(100)는
Figure pat00009
에 SP_Distance를 가산함으로써 Search_Point를 설정할 수 있다.
PLR 서버(100)는 Search_Point 이후의 전송 TS 패킷과 SP_Sample에 포함된 수신 TS 패킷을 비교하여 탐색 구간의 시작위치를 산정한다(S432).
PLR 서버(100)는 시작위치 이후의 전송 TS 패킷과 EP_Sample에 포함된 수신 TS 패킷을 비교하여 탐색 구간의 종료위치를 산정한다(S434).
PLR 서버(100)는 Recv_CC_Sample를 이용하여 탐색 구간에 존재하는 전송 TS 패킷을 검색하여 손실 TS 패킷을 확인한다(436).
PLR 서버(100)는 손실 TS 패킷에 상응하는 복구패킷(recovery packet)을 IPTV 단말 측으로 유니캐스트(unicast) 방식으로 전송한다(S424). PLR 서버(100)는 탐색 구간에서 손실 TS 패킷에 상응하는 복구패킷을 추출하여 IPTV 단말 측으로 전송할 수 있다.
PLR 클라이언트(120)는 캐시 서버 측으로부터 획득된 복구패킷을 이용하여 손실 TS 패킷을 복구한다(S406). 복구된 TS 패킷은, IPTV 단말의 이후 실행 과정에 이용될 수 있다.
이상에서 설명한 바와 같이 본 실시예에 따르면, IPTV 멀티캐스트 서비스에 있어서, IPTV 단말로부터 수신한 패킷손실에 대한 부가정보를 이용하여, 캐시 서버가 손실 패킷을 확인하고, 손실 패킷에 상응하는 복구패킷을 IPTV 단말 측으로 전송하는 패킷손실 복구장치 및 방법을 제공함으로써, 멀티캐스트 서비스 과정에서의 패킷손실을 복구하는 것이 가능해지는 효과가 있다.
또한 본 실시예에 따르면, IPTV 멀티캐스트 서비스에 있어서, IPTV 단말로부터 수신한 패킷손실에 대한 부가정보를 이용하여, 캐시 서버가 손실 패킷을 확인하고, 손실 패킷에 상응하는 복구패킷을 IPTV 단말 측으로 전송하는 패킷손실 복구장치 및 방법을 제공함으로써, UDP(User Datagram Protocol) 방식을 이용함에 있어서, TS 패킷의 구조적 특징을 기반으로 손실 패킷에 대한 정확한 검출과 전송이 가능해지는 효과가 있다.
본 실시예에 따른 각 순서도에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 순서도에 기재된 과정을 변경하여 실행하거나 하나 이상의 과정을 병렬적으로 실행하는 것이 적용 가능할 것이므로, 순서도는 시계열적인 순서로 한정되는 것은 아니다.
본 명세서에 설명되는 시스템들 및 기법들의 다양한 구현예들은, 디지털 전자 회로, 집적 회로, FPGA(field programmable gate array), ASIC(application specific integrated circuit), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현예들은 프로그래밍가능 시스템 상에서 실행가능한 하나 이상의 컴퓨터 프로그램들로 구현되는 것을 포함할 수 있다. 프로그래밍가능 시스템은, 저장 시스템, 적어도 하나의 입력 디바이스, 그리고 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고 이들에게 데이터 및 명령들을 전송하도록 결합되는 적어도 하나의 프로그래밍가능 프로세서(이것은 특수 목적 프로세서일 수 있거나 혹은 범용 프로세서일 수 있음)를 포함한다. 컴퓨터 프로그램들(이것은 또한 프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 혹은 코드로서 알려져 있음)은 프로그래밍가능 프로세서에 대한 명령어들을 포함하며 "컴퓨터가 읽을 수 있는 기록매체"에 저장된다.
컴퓨터가 읽을 수 있는 기록매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체는 ROM, CD-ROM, 자기 테이프, 플로피디스크, 메모리 카드, 하드 디스크, 광자기 디스크, 스토리지 디바이스 등의 비휘발성(non-volatile) 또는 비일시적인(non-transitory) 매체일 수 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송) 및 데이터 전송 매체(data transmission medium)와 같은 일시적인(transitory) 매체를 더 포함할 수도 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다.
본 명세서에 설명되는 시스템들 및 기법들의 다양한 구현예들은, 프로그램가능 컴퓨터에 의하여 구현될 수 있다. 여기서, 컴퓨터는 프로그램가능 프로세서, 데이터 저장 시스템(휘발성 메모리, 비휘발성 메모리, 또는 다른 종류의 저장 시스템이거나 이들의 조합을 포함함) 및 적어도 한 개의 커뮤니케이션 인터페이스를 포함한다. 예컨대, 프로그램가능 컴퓨터는 서버, 네트워크 기기, 셋탑 박스, 내장형 장치, 컴퓨터 확장 모듈, 개인용 컴퓨터, 랩탑, PDA(Personal Data Assistant), 클라우드 컴퓨팅 시스템 또는 모바일 장치 중 하나일 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: PLR 서버
102: 패킷복구 검색부 104: 패킷복구 제어부
120: PLR 클라이언트
122: 연속성 오류 감시부 124: 패킷손실 섹션 설정부
126: 부가정보 생성부 128: 패킷손실 복구 제어부

Claims (10)

  1. 캐시 서버(cache server)가 실행하는 패킷손실 복구방법에 있어서,
    IPTV(Internet Protocol Television) 단말의 수신 TS(Transport Stream) 패킷들(packets) 중에서 손실(lost) TS 패킷에 대한 부가정보(additional information)를 상기 IPTV 단말로부터 수신하는 과정;
    상기 부가정보를 이용하여, 기저장된 전송(transmitted) TS 패킷들의 계열(sequence) 중에서 탐색 구간을 설정하고, 상기 탐색 구간을 검색하여 손실 TS 패킷을 확인하는 과정; 및
    상기 탐색 구간에서 상기 손실 TS 패킷에 상응하는 복구패킷(recovery packet)을 추출하여 상기 IPTV 단말 측으로 유니캐스트(unicast) 방식으로 전송하는 과정
    을 포함하는 것을 특징으로 하는 패킷손실 복구방법.
  2. 제1항에 있어서,
    상기 부가정보는,
    연속성 오류(continuity error)를 이용하여 상기 IPTV 단말 측에서 생성한 패킷손실 섹션(packet loss section)에 대한 정보로서,
    상기 패킷손실 섹션의 시작위치에 가장 선행하는 PCR(Program Clock Reference) 위치;
    상기 시작위치와 PCR 위치 간의 시작 간격;
    상기 시작위치에 선행하는 TS 패킷을 포함하여 M(M은 자연수) 개의 수신 TS 패킷에 해당하는 선행 샘플 데이터;
    상기 패킷손실 섹션의 종료위치에 후행하는 M 개의 수신 TS 패킷에 해당하는 후행 샘플 데이터; 및
    상기 패킷손실 섹션 중에, 정확하게 수신된 TS 패킷에 해당하는 CC(Continuity Counter) 값들이 포함된 CC 샘플 리스트
    의 전부 또는 일부를 포함하는 것을 특징으로 하는 패킷손실 복구방법.
  3. 제2항에 있어서,
    상기 연속성 오류는,
    상기 수신 TS 패킷들에 포함된 적어도 하나의 PID(Packet Identifier)에 대한 CC 값의 연속성이 유지되는 않는 경우인 것을 특징으로 하는 패킷손실 복구방법.
  4. 제2항에 있어서,
    상기 패킷손실 섹션은,
    상기 수신 TS 패킷들에 포함된 N(N은 자연수) 개의 PID에 대하여, 상기 연속성 오류가 발생한 각 PID별 패킷손실 구간의 합집합이되, 상기 하나의 PID에 대한 패킷손실 구간은 상기 연속성 오류를 의미하는 CC 값을 포함하는 양 TS 패킷 간의 구간인 것을 특징으로 하는 패킷손실 복구방법.
  5. 제2항에 있어서,
    상기 손실 패킷을 확인하는 과정은,
    상기 PCR 위치에 상기 시작 간격을 가산하여 탐색 위치를 설정하는 과정;
    상기 탐색 위치 이후에 존재하는 상기 전송 TS 패킷과 상기 선행 샘플 데이터를 비교하여 상기 탐색 구간의 시작위치를 산정하는 과정;
    상기 시작위치 이후에 존재하는 상기 전송 TS 패킷과 상기 후행 샘플 데이터를 비교하여 상기 탐색 구간의 종료위치를 산정하는 과정; 및
    상기 CC 샘플 리스트를 이용하여 상기 탐색 구간에 존재하는 전송 TS 패킷을 검색하여 상기 손실 TS 패킷을 확인하는 과정
    을 포함하는 것을 특징으로 하는 패킷손실 복구방법.
  6. IPTV(Internet Protocol Television) 단말이 실행하는 패킷손실 복구방법에 있어서,
    수신 TS(Transport Stream) 패킷들(packets)의 헤더 정보를 이용하여 연속성 오류(continuity error)의 발생 여부를 확인하는 과정;
    상기 연속성 오류와 관련된 수신 TS 패킷들의 헤더 정보를 이용하여 패킷손실 섹션(packet loss section)을 결정하는 과정;
    상기 패킷손실 섹션에 기초하여, 손실 TS 패킷을 복구하기 위해 필요한 부가정보(additional information)를 생성한 후 캐시 서버(cache server) 측으로 전송하는 과정;
    상기 캐시 서버 측으로부터 획득된 복구패킷을 이용하여 상기 손실 TS 패킷을 복구하는 과정
    을 포함하는 것을 특징으로 하는 패킷손실 복구방법.
  7. 제6항에 있어서,
    상기 부가정보는,
    상기 패킷손실 섹션의 시작위치에 가장 선행하는 PCR(Program Clock Reference) 위치;
    상기 시작위치와 PCR 위치 간의 시작 간격;
    상기 시작위치에 선행하는 TS 패킷을 포함하여 M(M은 자연수) 개의 수신 TS 패킷에 해당하는 선행 샘플 데이터;
    상기 패킷손실 섹션의 종료위치에 후행하는 M 개의 수신 TS 패킷에 해당하는 후행 샘플 데이터; 및
    상기 패킷손실 섹션 중에, 정확하게 수신된 TS 패킷에 해당하는 CC(Continuity Counter) 값들이 포함된 CC 샘플 리스트
    의 전부 또는 일부를 포함하는 것을 특징으로 하는 패킷손실 복구방법.
  8. IPTV 단말의 수신 TS(Transport Stream) 패킷들(packets) 중에서 손실(lost) TS 패킷에 대한 부가정보(additional information)를 상기 IPTV 단말로부터 수신하는 수신부;
    상기 부가정보를 이용하여, 기저장된 전송(transmitted) TS 패킷들의 계열(sequence) 중에서 탐색 구간을 설정하고, 상기 탐색 구간을 검색하여 손실 TS 패킷을 확인하는 패킷복구 검색부; 및
    상기 탐색 구간에서 상기 손실 TS 패킷에 상응하는 복구패킷(recovery packet)을 추출하여 상기 IPTV 단말 측으로 유니캐스트(unicast) 방식으로 전송하는 패킷복구 검색부
    를 포함하는 것을 특징으로 하는 패킷손실 복구장치.
  9. 제1항 내지 제5항 중 어느 한 항에 따른 캐시 서버가 실행하는 패킷손실 복구방법이 포함하는 각 과정을 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터프로그램.
  10. 제6항 내지 제7항 중 어느 한 항에 따른 IPTV 단말이 실행하는 패킷손실 복구방법이 포함하는 각 과정을 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터프로그램.
KR1020200073703A 2020-06-17 2020-06-17 캐시 서버를 이용한 패킷손실 복구장치 및 방법 KR20210156041A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020200073703A KR20210156041A (ko) 2020-06-17 2020-06-17 캐시 서버를 이용한 패킷손실 복구장치 및 방법
CN202180043291.0A CN115943630A (zh) 2020-06-17 2021-06-16 使用高速缓存服务器的分组丢失恢复设备和方法
US17/928,459 US20230319368A1 (en) 2020-06-17 2021-06-16 Packet loss recovery device and method using cache server
PCT/KR2021/007521 WO2021256845A1 (ko) 2020-06-17 2021-06-16 캐시 서버를 이용한 패킷손실 복구장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200073703A KR20210156041A (ko) 2020-06-17 2020-06-17 캐시 서버를 이용한 패킷손실 복구장치 및 방법

Publications (1)

Publication Number Publication Date
KR20210156041A true KR20210156041A (ko) 2021-12-24

Family

ID=79176474

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200073703A KR20210156041A (ko) 2020-06-17 2020-06-17 캐시 서버를 이용한 패킷손실 복구장치 및 방법

Country Status (4)

Country Link
US (1) US20230319368A1 (ko)
KR (1) KR20210156041A (ko)
CN (1) CN115943630A (ko)
WO (1) WO2021256845A1 (ko)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL2432161T3 (pl) * 2010-09-16 2016-02-29 Deutsche Telekom Ag Sposób oraz system do pomiaru jakości transmisji strumienia bitów audio i wideo w ciąg transmisji
KR20170009105A (ko) * 2015-07-15 2017-01-25 에스케이텔레콤 주식회사 스트리밍 컨텐츠의 패킷 손실을 보상하여 저장하는 방법 및 이를 위한 장치
KR101879194B1 (ko) * 2016-09-06 2018-08-17 에스케이 텔레콤주식회사 패킷의 손실을 복구하기 위한 장치 및 그 방법
KR102392888B1 (ko) * 2017-10-26 2022-04-29 에스케이텔레콤 주식회사 패킷 손실 복구를 개선하기 위한 장치 및 방법
KR102035912B1 (ko) * 2017-12-29 2019-10-24 주식회사 픽스트리 Ip 네트워크를 이용하여 스트림 패킷 전송 시 패킷 손실 검출 및 복구 방법 및 장치
CN110730053A (zh) * 2019-09-09 2020-01-24 晶晨半导体(深圳)有限公司 一种基于ts格式和udp传输方式的网络丢包重传方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
비특허문헌 1: "Preserving Video Quality in IPTV Networks", Cisco White Paper. Available online: http://www.webtorials.com/main/resource/papers/cisco/paper117/IPTV-quality.pdf

Also Published As

Publication number Publication date
CN115943630A (zh) 2023-04-07
US20230319368A1 (en) 2023-10-05
WO2021256845A1 (ko) 2021-12-23

Similar Documents

Publication Publication Date Title
RU2634908C2 (ru) Способ и устройство для управления доставкой медиаданных
US9246639B2 (en) Method and device for ensuring quality of service of internet protocol television live broadcast service
US11374681B2 (en) Video quality assessment method and device
KR101439329B1 (ko) Iptv 방송 시청을 위한 무선 공유기 및 시청 방법
JP2008124924A (ja) 放送ts配信システム、このシステムに用いられる放送ts配信装置、ユーザ端末装置及び配信方法
JP5296224B2 (ja) インターネットプロトコルに基づくテレビジョンシステムにおけるテレビジョンデータの伝送中の信頼性を確保する方法およびデバイス
US9648391B2 (en) Multimedia content broadcast procedure
US10264299B2 (en) Method and apparatus for transmitting and receiving media data in multimedia system
AU2020244602B2 (en) Data processing device and data processing method
JP5030641B2 (ja) デジタル放送データ配信システム及びその方法
KR20210156041A (ko) 캐시 서버를 이용한 패킷손실 복구장치 및 방법
EP3657809B1 (en) Packet reception method and apparatus
US11050512B2 (en) Transmission device, and transmission method
KR20200015655A (ko) 데이터 패킷을 송수신하는 방법 및 장치
US20190174205A1 (en) Receiving device and receiving method, reproducing device and reproducing method, supply device and supply method, and program
WO2023013124A1 (ja) 再送出装置、再送出方法、受信装置、及び受信方法
JP2020010199A (ja) Ip再送信装置、siサーバ、エッジルータ、受信機、ip再送信方法、および送信設備
KR20180109316A (ko) 재전송 시스템의 입출력 검증 방법 및 그 장치
Seo et al. An Efficient Transmission Scheme of MPEG2‐TS over RTP for a Hybrid DMB System
US7983251B2 (en) Broadcasting service transmission/reception method and apparatus for providing fast access to broadcasting service
CN115499419A (zh) 一种数据传输方法、装置、电子设备及存储介质
CN111565096A (zh) 一种数据传输方法和装置
JP2009049530A (ja) データ送信装置、データ中継装置及びデータ受信装置