KR101879194B1 - 패킷의 손실을 복구하기 위한 장치 및 그 방법 - Google Patents
패킷의 손실을 복구하기 위한 장치 및 그 방법 Download PDFInfo
- Publication number
- KR101879194B1 KR101879194B1 KR1020160114662A KR20160114662A KR101879194B1 KR 101879194 B1 KR101879194 B1 KR 101879194B1 KR 1020160114662 A KR1020160114662 A KR 1020160114662A KR 20160114662 A KR20160114662 A KR 20160114662A KR 101879194 B1 KR101879194 B1 KR 101879194B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- packets
- lost
- recovery
- information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H04L65/601—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
패킷의 손실을 복구하기 위한 장치 및 그 방법을 개시한다.
본 실시예는 IPTV 전송기술인 멀티캐스트에서 RTP 방식이 아닌 UDP 방식을 이용하여 패킷을 전송하는 경우에도 손실된 패킷의 유무를 감지 및 이에 대한 재전송이 가능토록 함으로써 패킷 손실로 인한 오디오/비디오 데이터의 품질 열화를 사전에 방지할 수 있도록 하는 장치 및 그 방법에 관한 것이다.
본 실시예는 IPTV 전송기술인 멀티캐스트에서 RTP 방식이 아닌 UDP 방식을 이용하여 패킷을 전송하는 경우에도 손실된 패킷의 유무를 감지 및 이에 대한 재전송이 가능토록 함으로써 패킷 손실로 인한 오디오/비디오 데이터의 품질 열화를 사전에 방지할 수 있도록 하는 장치 및 그 방법에 관한 것이다.
Description
본 실시예는 패킷의 손실을 복구하기 위한 장치 및 그 방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
IPTV(Internet Protocol Television) 시스템은 인터넷 망을 기반으로 디스플레이 장치를 통하여 실시간 방송, VOD 서비스, 및 전자 상거래 컨텐츠 등의 서비스를 복합적으로 제공한다. 구체적으로, IPTV(Internet Protocol Television) 시스템은 컨텐츠 제공장치에서 오디오/비디오 데이터를 압축하여 IP(Internet Protocol)로 변환하고, 이를 네트워크를 통해 가입자 댁내 셋탑박스(STB: Set-Top Box)로 전송한다.
IPTV 전송기술인 멀티캐스트(Multicast)는 전송과정에서 UDP(User Datagram Protocol) 방식 또는 RTP(Real-Time Transport Stream) 방식을 이용하여 패킷을 전송한다. 멀티캐스트는 단 하나의 스트림을 통해 동일 컨텐츠를 복수 개의 단말기에 동시 제공할 수 있어 트래픽 전송면에서 효율적이라는 장점이 존재한다. 반면, 멀티캐스트는 패킷에 대한 재전송 기능이 없어 자칫 전송과정에서 패킷 손실이 발생하는 경우 셋탑박스에서 출력되는 비디오 영상이 끊기거나 소위 모자이크 출력이 나타나는 등의 품질저하가 발생할 수 있다는 문제점이 존재한다.
이를 해결하기 위해, 컨텐츠 제공장치에서 RTP 방식을 적용하여 패킷을 멀티캐스트하되, 헤더 정보에 타임스탬프(Timestamp)와 시퀀스(Sequence) 번호를 담아 송신함으로써 수신측에서 패킷의 손실을 감지 및 이를 재전송 받을 수 있도록 하는 방안이 고안되었다. 하지만, 이러한, 종래의 멀티캐스트 재전송 기술의 경우 RTP 방식을 사용하는 경우에 한해서 가능하다는 한계가 존재한다. 현재, IPTV 시스템에서 멀티캐스트를 통해 패킷을 전송하는 경우 RTP 방식을 이용하기도 하지만 UDP 방식 또한 여전히 많이 이용되고 있다. 따라서, UDP 방식을 이용하는 경우에도 패킷의 손실을 감지하고, 이를 재전송 받을 수 있도록 하는 기술을 필요로 한다.
본 실시예는 IPTV 전송기술인 멀티캐스트에서 RTP 방식이 아닌 UDP 방식을 이용하여 패킷을 전송하는 경우에도 손실된 패킷의 유무를 감지 및 이에 대한 재전송이 가능토록 함으로써 패킷 손실로 인한 오디오/비디오 데이터의 품질 열화를 사전에 방지할 수 있도록 하는 장치 및 그 방법을 제공하는데 주된 목적이 있다.
본 실시예는, IPTV 단말기가 패킷 손실을 탐지하는 방법에 있어서, 컨텐츠 제공장치로부터 전송 스트림(Transport Stream: 이하, 'TS'라 칭함) 패킷을 수신하는 과정; 상기 TS 패킷의 헤더를 파싱(Parsing)하여 상기 TS 패킷의 연속 카운터(Continuity Counter) 필드를 추출하는 과정; 및 상기 TS 패킷의 연속 카운터 필드와 이전에 수신한 TS 패킷의 헤더로부터 추출된 이전 연속 카운터 필드를 비교하여 손실된 TS 패킷 존재 여부를 탐지하는 과정을 포함하는 것을 특징으로 하는 패킷 손실 탐지방법을 제공한다.
또한, 본 실시예의 다른 측면에 의하면, 패킷 복구용 서버가 손실 TS 패킷을 복구하는 방법에 있어서, 적어도 하나의 IPTV 단말기로부터 상기 손실 TS 패킷에 대한 복구 요청신호를 수신하는 과정; 상기 복구 요청신호에 근거하여 상기 복구 패킷의 산출을 위한 산출 구간을 선정하는 과정; 및 상기 산출 구간에 매칭되어 저장된 TS 패킷을 상기 복구 패킷으로서 산출하여 상기 IPTV 단말기로 송신하는 과정을 포함하는 것을 특징으로 하는 패킷 복구용 서버의 손실 패킷 복구방법을 제공한다.
또한, 본 실시예의 다른 측면에 의하면, IPTV 단말기가 손실 TS 패킷을 복구하는 방법에 있어서, 컨텐츠 제공장치로부터 정상 수신된 TS 패킷을 제1 패킷 버퍼에 저장하는 과정; 패킷 복구용 서버로부터 상기 손실 TS 패킷에 대응되는 복구 패킷을 수신하고, 상기 복구 패킷을 제2 패킷 버퍼에 저장하는 과정; 상기 TS 패킷을 출력 버퍼를 이용하여 출력하며, 상기 TS 패킷의 출력 중에 상기 손실 TS 패킷의 유무를 표시하는 플래그 정보의 존재 여부를 확인하는 과정; 및 상기 플래그 정보의 존재가 확인되는 경우 상기 플래그 정보에 포함된 손실 TS 패킷에 대한 식별정보에 기반하여 상기 제2 패킷 버퍼 내 상기 손실 TS 패킷에 대응되는 복구 패킷을 검출하고, 검출된 복구 패킷을 상기 출력 버퍼를 이용하여 출력하는 과정을 포함하는 것을 특징으로 하는 IPTV 단말기의 손실 패킷 복구방법을 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, IPTV 전송기술인 멀티캐스트에서 RTP 방식이 아닌 UDP 방식을 이용하여 패킷을 전송하는 경우에도 손실된 패킷의 유무를 감지 및 이에 대한 재전송이 가능함으로써 패킷 손실로 인한 오디오/비디오 데이터의 품질 열화를 사전에 방지할 수 있는 효과가 있다.
도 1은 본 실시예에 따른 IPTV 시스템을 개략적으로 나타낸 블록 구성도이다
도 2는 본 실시예에 따른 IPTV 단말기를 개략적으로 나타낸 블록 구성도이다.
도 3은 본 실시예에 따른 패킷 복구용 서버를 개략적으로 나타낸 블록 구성도이다.
도 4는 본 실시예에 따른 IPTV 단말기의 동작방법을 설명하기 위한 순서도이다.
도 5는 본 실시예에 따른 패킷 복구용 서버의 데이터 저장방법을 설명하기 위한 순서도이다.
도 6은 본 실시예에 따른 패킷 복구용 서버의 복구 패킷 전송방법을 설명하기 위한 순서도이다.
도 7은 본 실시예에 따른 IPTV 단말기가 패킷 손실을 탐지하는 방법을 설명하기 위한 예시도이다.
도 8a 및 도 8b는 본 실시예에 따른 IPTV 단말기가 손실 TS 패킷의 재전송을 요청하는 방법을 설명하기 위한 예시도이다.
도 9는 본 실시예에 따른 IPTV 단말기의 TS 패킷 인덱싱 방법을 설명하기 위한 예시도이다.
도 10a 및 도 10b는 본 실시예에 따른 패킷 복구용 서버가 손실 TS 패킷을 재전송하는 방법을 설명하기 위한 예시도이다.
도 11은 본 실시예에 따른 IPTV 단말기가 손실 TS 패킷을 복구하는 방법을 설명하기 위한 예시도이다.
도 2는 본 실시예에 따른 IPTV 단말기를 개략적으로 나타낸 블록 구성도이다.
도 3은 본 실시예에 따른 패킷 복구용 서버를 개략적으로 나타낸 블록 구성도이다.
도 4는 본 실시예에 따른 IPTV 단말기의 동작방법을 설명하기 위한 순서도이다.
도 5는 본 실시예에 따른 패킷 복구용 서버의 데이터 저장방법을 설명하기 위한 순서도이다.
도 6은 본 실시예에 따른 패킷 복구용 서버의 복구 패킷 전송방법을 설명하기 위한 순서도이다.
도 7은 본 실시예에 따른 IPTV 단말기가 패킷 손실을 탐지하는 방법을 설명하기 위한 예시도이다.
도 8a 및 도 8b는 본 실시예에 따른 IPTV 단말기가 손실 TS 패킷의 재전송을 요청하는 방법을 설명하기 위한 예시도이다.
도 9는 본 실시예에 따른 IPTV 단말기의 TS 패킷 인덱싱 방법을 설명하기 위한 예시도이다.
도 10a 및 도 10b는 본 실시예에 따른 패킷 복구용 서버가 손실 TS 패킷을 재전송하는 방법을 설명하기 위한 예시도이다.
도 11은 본 실시예에 따른 IPTV 단말기가 손실 TS 패킷을 복구하는 방법을 설명하기 위한 예시도이다.
이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 실시예에 따른 IPTV 시스템을 개략적으로 나타낸 블록 구성도이다.
본 실시예에 따른 IPTV(Internet Protocol Television) 시스템은 컨텐츠 제공장치(110), IPTV 단말기(120) 및 패킷 복구용 서버(130)를 포함한다.
컨텐츠 제공장치(110)는 IP 망을 기반으로 실시간 및 비실시간 영상, 음향 및 데이터 서비스를 제공한다. 영상의 경우, 컨텐츠 제공장치(110)는 무압축 비디오 영상을 압축(부호화: Encoding)하여 전송 스트림(TS: Transport Stream, 이하, 'TS'라 칭함) 패킷(Packet)으로 변환한 뒤, IP 망을 통하여 이를 전송한다. 여기서, 무압축 비디오 영상은 복수의 화상(Picture)으로 구성될 수 있고, 복수의 화상은 압축(부호화) 과정을 통해 I 프레임, B 프레임 및 P 프레임으로 변환된다. TS 패킷은 영상 신호, 음향 신호, 데이터 신호가 다중화(Multiplexing)된 신호일 수 있다. 예를 들어, MPEG-2 규격의 영상 신호, 돌비 AC-3 규격 음향 신호 등이 다중화된 MPEG-2 TS가 될 수 있다. 컨텐츠 제공장치(110)는 IPTV 헤드엔드(Headend) 장치를 의미할 수도 있다.
본 실시예에 따른 컨텐츠 제공장치(110)는 MPEG-2 표준(ISO/IEC 13818) 및 H.246 기반의 코덱(Codec)을 이용하여 비디오 영상을 부호화할 수 있다. 구체적으로, 컨텐츠 제공장치(110)는 우선 비디오 영상을 I 프레임, B 프레임, 및 P 프레임으로 구성된 기본 스트림(Elementary Stream: ES, 이하 'ES'라 칭함)으로 변환한다. ES는 복수의 프레임으로 구성된 GOP(Group of Pictures) 단위로 구분될 수 있다. 본 실시예에 따른 GOP는 15개의 프레임으로 구성될 수 있으나, 반드시 이에 한정되는 것은 아니다.
컨텐츠 제공장치(110)는 ES에 헤더(Header)를 추가하여 패킷화된 기본 스트림(Packetized Elementary Stream: PES, 이하 'PES'라 칭함)를 생성할 수 있다. PES 패킷은 PES 헤더와 PES 페이로드(Payload)로 구성될 수 있다. 여기서 PES 헤더는 비디오 영상 패킷에 관한 정보(예컨대, 영상 패킷 시작 지시자, 패킷 길이, 스트림 타입 등)를 포함할 수 있다. PES 페이로드는 영상을 구성하는 프레임과 연관된 영상 정보(예컨대, 화면 정보 또는 오디오 정보 등)를 포함할 수 있다.
컨텐츠 제공장치(110)는 PES 패킷에 TS 패킷 헤더를 삽입하여 TS 패킷으로 변환할 수 있다. 본 실시예에 따른 컨텐츠 제공장치(110)는 TS 패킷을 멀티캐스트(Multicast) 방식을 이용하여 IPTV 단말기(120) 및 패킷 복구용 서버(130)로 전송한다. 이때, 컨텐츠 제공장치(110)는 UDP(User Datagram Protocol) 방식 또는 RTP(Real-Time Transport Stream) 방식을 이용하여 TS 패킷을 멀티캐스팅할 수 있다. 이하, 본 실시예에서는 컨텐츠 제공장치(110)가 TS 패킷을 멀티캐스트 시 UDP 방식을 이용하는 것으로 예시하여 설명하도록 한다.
IPTV 단말기(120)는 컨텐츠 제공장치(110)로부터 전송된 TS 패킷을 수신하고, 수신된 TS 패킷을 역다중화(Demultiplexing) 및 복호화(Decoding)한다. IPTV 단말기(120)는 TS 패킷을 역다중화 및 복호화한 영상 신호를 디스플레이 장치(미도시)로 전송하여 비디오 영상이 출력되도록 한다. IPTV 단말기(120)는 셋탑박스(STB: Set-Top Box)인 것이 바람직하나 반드시 이에 한정되는 것은 아니다.
본 실시예에 따른 IPTV 단말기(120)는 컨텐츠 제공장치(110)로부터 수신한 TS 패킷의 구조적 특징을 이용하여 전송과정에서 손실된 TS 패킷 존재 여부를 탐지한다. IPTV 단말기(120)는 수신한 TS 패킷의 헤더를 파싱하여 연속 카운터(Continuity Counter) 필드를 추출하고, 추출된 연속 카운터 필드와 이전에 수신한 TS 패킷의 헤더로부터 추출된 연속 카운터 필드를 비교하여 손실된 TS 패킷의 존재 여부를 탐지한다.
IPTV 단말기(120)는 손실된 TS 패킷이 존재하는 것으로 판단되는 경우 손실된 TS 패킷에 대한 복구 요청신호를 패킷 복구용 서버(130)로 전송한다. 복구 요청신호는 손실된 TS 패킷 이전에 정상 수신된 마지막 TS 패킷을 기준으로 바로 이전에 수신된 프로그램 클럭 참조 정보(PCR: Program Clock Reference, 이하 'PCR 정보'라 칭함), 마지막 TS 패킷을 기준으로 이전 N(N≥1)번째 패킷에 대하여 기 부여된 인덱스값, 마지막 TS 패킷과 바로 이전 N개의 패킷을 포함하는 N+1개의 TS 패킷의 헤더 정보(이하, '제1 헤더 정보'라 칭함) 및 손실된 TS 패킷 이후에 수신된 N+1개의 TS 패킷의 헤더 정보(이하, '제2 헤더 정보'라 칭함)를 포함한다. 이때, N은 2의 값을 갖는 것이 가장 바람직하나 반드시 이에 한정되는 것은 아니다.
PCR 정보는 컨텐츠 제공장치(110)의 인코더에 설정된 시간을 샘플링(Sampling)한 값으로, 하나의 채널 예컨대, PMT(Program Map Table) 테이블에 할당된 특정 PID(Packet IDentifier)에 적용되는 시간 기준을 의미한다. PCR 정보에 포함된 PCR Time(PCR 값)은 TS 패킷 헤더에서 48 비트(Bit)의 데이터 필드로 구성되며, 33 비트의 PCR_base 및 9 비트의 PCR_extension 영역으로 구분되고, 0.1 초 내에 최소 1회 이상 전송되도록 TS 패킷의 헤더에 주기적으로 삽입된다. 본 실시예에 있어서 IPTV 단말기(120)는 복구 요청신호에 PCR 정보를 포함시켜 전송함으로써 패킷 복구용 서버(130)가 메모리 내 동일 PCR 정보가 저장된 위치를 기준으로 복구 패킷에 대한 산출 작업을 수행할 수 있도록 한다.
인덱스 값은 TS 패킷의 색인정보로서 활용되는 정보로서 TS 패킷 별로 각각 부여된다. 본 실시예에 있어서 IPTV 단말기(120)는 복구 요청신호에 특정 TS 패킷에 대한 인덱스 값을 포함시켜 전송함으로써 패킷 복구용 서버(130)가 복구 패킷의 산출을 위한 산출 시작 구간을 선정할 수 있도록 한다. 한편, IPTV 단말기(120)는 PCR 정보를 기준으로 다음 PCR 정보가 수신되기 이전까지의 모든 TS 패킷에 대하여 1부터 순차적으로 증가하는 정수 값을 부여함으로써 TS 패킷 별로 각각 인덱스 값을 지정한다.
제1 헤더 정보 및 제2 헤더 정보는 각각 패킷 복구용 서버(130)가 복구 패킷의 산출을 위한 산출 시작 구간 및 산출 종료 구간을 확정하는 데 있어서 검증 데이터로서 사용된다.
IPTV 단말기(120)는 패킷 복구용 서버(130)로부터 복구 요청신호에 대응되는 복구 패킷을 수신하고, 이를 통해 손실된 TS 패킷을 복구한다. 본 실시예에 따른 IPTV 단말기(120)는 두 개의 패킷 버퍼를 사용하여 각각 정상 수신된 TS 패킷 및 복구 패킷을 출력함으로써 손실된 TS 패킷을 복구하며, 이에 대한 자세한 설명은 도 2에서 후술하도록 한다.
패킷 복구용 서버(130)는 패킷 전송과정에서 손실된 TS 패킷에 대한 복구 패킷을 IPTV 단말기(120)로 전송하는 역할을 수행한다.
패킷 복구용 서버(130)는 전송 과정에서 손실된 TS 패킷에 대한 재전송을 위해 컨텐츠 제공장치(110)로부터 IPTV 단말기(120)로 송신된 TS 패킷과 동일한 TS 패킷을 제공받고, 제공받은 TS 패킷을 패킷 단위로 버퍼링한다.
패킷 복구용 서버(130)는 수신된 TS 패킷에 대한 버퍼링을 수행 시 PCR 정보를 기준으로 메모리 내 TS 패킷의 위치를 기록하여 저장한다. 이후, 패킷 복구용 서버(130)는 PCR 정보를 기준으로 TS 패킷 간 그룹화를 수행하고, 동일 그룹 내 포함된 TS 패킷에 대하여 1부터 순차적으로 증가하는 정수 값을 부여함으로써 TS 패킷 별로 각각 인덱스 값을 지정한다. 한편, 패킷 복구용 서버(130)가 TS 패킷 별로 각각 인덱스 값을 지정하는 방법은 IPTV 단말기(120)가 TS 패킷 별로 각각 인덱스 값을 지정하는 방법과 동일하며 이에 자세한 설명은 생략하도록 한다.
패킷 복구용 서버(130)는 IPTV 단말기(120)로부터 손실 TS 패킷에 대한 복구 요청신호를 수신하는 경우 복구 요청신호에 대응되는 복구 패킷을 검출하고, 검출된 복구 패킷을 IPTV 단말기(120)로 송신한다.
패킷 복구용 서버(130)는 복구 요청신호에 포함된 PCR 정보를 이용하여 복구 패킷의 산출을 위한 산출 구간의 선정을 위한 1차 필터링을 수행한다. 패킷 복구용 서버(130)는 복구 요청신호에 포함된 PCR 정보에 기초하여 메모리 내 동일 PCR 정보가 저장된 위치로 이동하며, 해당 PCR 정보의 저장 위치를 기준으로 산출 구간의 선정을 위한 작업을 수행한다.
패킷 복구용 서버(130)는 1차 필터링된 산출 구간에 대응되는 대응 TS 패킷 중 복구 요청신호에 포함된 인덱스 값에 해당되는 TS 패킷을 포함한 연이은 N+1개의 TS 패킷 이후 구간을 산출 시작 구간으로 선정한다. 이때, 패킷 복구용 서버(130)는 상기의 N+1개의 TS 패킷의 헤더 정보와 복구 요청신호에 포함된 제1 헤더 정보를 비교하고, 각각의 헤더 정보가 서로 동일한 경우에 한해서 상기의 이후 구간을 산출 시작 구간으로 선정한다.
패킷 복구용 서버(130)는 대응 TS 패킷 중 복구 요청신호에 포함된 제2 헤더 정보에 매칭되는 연속된 N+1개의 TS 패킷 바로 이전 구간을 산출 종료 구간으로 선정한다.
패킷 복구용 서버(130)는 산출 시작 구간 및 산출 종료 구간 사이의 구간을 복구 패킷의 산출을 위한 최종 산출 구간으로서 선정한다.
패킷 복구용 서버(130)는 최종 선정된 산출 구간에 매칭되어 저장된 TS 패킷을 손실 TS 패킷에 대한 복구 패킷으로서 IPTV 단말기(120)로 전송한다.
도 2는 본 실시예에 따른 IPTV 단말기를 개략적으로 나타낸 블록 구성도이다. 본 실시예에 따른 IPTV 단말기(120)는 데이터 수신부(210), 데이터 분석부(220), 인덱스 계산부(230), 손실 패킷 검출부(240), 손실 패킷 요청부(250), 복구 패킷 수신부(260) 및 패킷 출력부(270)를 포함한다.
데이터 수신부(210)는 컨텐츠 제공장치(110)로부터 TS 패킷을 수신한다.
데이터 분석부(220)는 TS 패킷의 헤더를 파싱하여 파싱 정보를 생성한다. 본 실시예에 따른 데이터 분석부(220)는 TS 패킷의 헤더를 파싱하여 TS 패킷의 연속 카운터 필드를 추출한다.
인덱스 계산부(230)는 수신된 TS 패킷 각각에 대하여 인덱스 값을 지정하는 역할을 수행한다. 이때, 인덱스 계산부(230)에 의해 지정되는 TS 패킷의 인덱스 값은 해당 TS 패킷의 색인정보로서 활용된다.
인덱스 계산부(230)는 PCR 정보를 기준으로 다음 PCR 정보가 수신되기 이전까지의 모든 TS 패킷에 대하여 1부터 순차적으로 증가하는 정수 값을 부여함으로써 TS 패킷 별로 각각 인덱스 값을 지정한다.
손실 패킷 검출부(240)는 전송과정에서 손실된 TS 패킷에 대한 존재 여부를 탐지한다. 손실 패킷 검출부(240)는 데이터 분석부(220)를 이용하여 추출된 TS 패킷의 연속 카운터 필드와 해당 TS 패킷 이전에 수신한 TS 패킷으로부터 추출된 연속 카운터 필드를 비교하여 손실된 TS 패킷의 존재 여부를 탐지한다.
손실 패킷 검출부(240)는 각각의 TS 패킷의 연속 카운터 필드 간 연속성이 유지되지 않는 경우 손실된 TS 패킷이 존재하는 것으로 판단한다. TS 패킷의 헤더 영역은 연속 카운터 필드를 포함하는데, 이는 컨텐츠 제공장치(110)에서 부여된 연속된 숫자(0부터 15)를 나타낸다. 따라서, 전송 과정에서 손실된 TS 패킷이 있는 경우에는 손실된 TS 패킷의 앞뒤 패킷들의 연속 카운터가 불연속으로 나타나게 되므로 TS 패킷의 손실을 검출할 수 있다. 일반적으로 영상 스트림은 최소한 1개 이상의 비디오 스트림과 1개 이상의 오디오 스트림으로 구성되어 있으며, 이들은 PID(Packet IDentifier) 값으로 구분된다. 이에, 본 실시예에 따른 손실 패킷 검출부(240)는 서로 동일한 PID 값을 갖는 TS 패킷들 간에 연속 카운터 필드의 연속성을 확인한다.
손실 패킷 요청부(250)는 손실된 TS 패킷이 존재하는 것으로 판단되는 경우 해당 TS 패킷에 대한 복구 요청신호를 생성하여 패킷 복구용 서버(130)로 전송한다. 복구 요청신호는 손실된 TS 패킷 이전에 정상 수신된 마지막 TS 패킷을 기준으로 바로 이전에 수신된 PCR 정보, 마지막 TS 패킷을 기준으로 이전 N(N≥1)번째 패킷에 대하여 기 부여된 인덱스값, 마지막 TS 패킷과 바로 이전 N개의 패킷을 포함하는 N+1개의 TS 패킷의 헤더 정보(이하, '제1 헤더 정보'라 칭함) 및 손실된 TS 패킷 이후에 수신된 N+1개의 TS 패킷의 헤더 정보(이하, '제2 헤더 정보'라 칭함)를 포함한다.
복구 패킷 수신부(260)는 패킷 복구용 서버(130)로부터 복구 요청신호에 대응되는 복구 패킷을 수신한다.
복구 패킷 수신부(260)가 패킷 복구용 서버(130)로부터 수신하는 복구 패킷에는 해당 복구 패킷에 대응되는 손실 TS 패킷에 대한 정보가 추가로 포함될 수 있다.
패킷 출력부(270)는 TS 패킷의 출력을 제어하여 손실 TS 패킷을 복구하는 역할을 수행한다. 본 실시예에 따른 패킷 출력부(270)는 두 개의 패킷 버퍼를 사용하여 TS 패킷의 출력을 제어한다. 제1 패킷 버퍼는 정상 수신된 TS 패킷을 버퍼링하는 용도로서 이용된다. 제2 패킷 버퍼는 패킷 복구용 서버(130)로부터 수신한 복구 패킷을 버퍼링하는 용도로서 이용된다.
패킷 출력부(270)는 제1 패킷 버퍼에 버퍼링된 TS 패킷을 출력 버퍼를 이용하여 순차적으로 출력하되, TS 패킷의 출력 중에 손실 TS 패킷의 유무를 표시하는 플래그 정보의 존재가 확인되는 경우 제2 패킷 버퍼 내 버퍼링된 복구 패킷 중 해당 손실 TS 패킷에 대응되는 복구 패킷을 출력 버퍼를 이용하여 출력한다. 한편, 패킷 출력부(270)는 각각의 패킷 버퍼에 패킷을 버퍼링할 시 손실 TS 패킷의 복구를 위한 관련정보를 추가로 기록하여 저장한다. 손실 TS 패킷의 복구를 위한 관련정보는 손실 TS 패킷 및 이에 대응되는 복구 패킷을 식별하기 위한 식별정보일 수 있다. 식별정보는 기 부여된 시퀀스 번호일 수 있다.
도 3은 본 실시예에 따른 패킷 복구용 서버를 개략적으로 나타낸 블록 구성도이다.
본 실시예에 따른 패킷 복구용 서버(130)는 송수신부(300), 버퍼링 수행부(310), 패킷 저장부(320), 산출 구간 선정부(330) 및 복구 패킷 출력부(340)를 포함한다.
송수신부(300)는 외부장치와 데이터를 송수신한다. 본 실시예에 따른 송수신부(300)는 컨텐츠 제공장치(110)와 IPTV 단말기(120) 사이의 패킷 전송과정에서 손실된 TS 패킷의 복구를 위해 컨텐츠 제공장치(110)로부터 IPTV 단말기(120)로 송신된 TS 패킷과 동일한 TS 패킷을 제공받는다.
송수신부(300)는 적어도 하나의 IPTV 단말기(120)로부터 손실 TS 패킷에 대한 복구 요청신호를 수신하고, 복구 요청신호에 대응되는 복구 패킷을 IPTV 단말기(120)로 송신한다.
버퍼링 수행부(310)는 컨텐츠 제공장치(110)로부터 수신된 TS 패킷에 대한 버퍼링을 수행한다. 버퍼링 수행부(310)는 수신된 TS 패킷에 대한 버퍼링을 수행 시 바로 이전에 수신된 PCR 정보를 기준으로 메모리 내 TS 패킷의 위치를 기록하여 저장한다. 예컨대, 버퍼링 수행부(310)는 PCR 정보를 기준으로 TS 패킷 간 그룹화를 수행할 수 있다. 이를 위해, 버퍼링 수행부(310)는 수신된 TS 패킷이 PCR 정보를 갖는 패킷인 것으로 확인되는 경우에는 메모리 내 해당 PCR 정보에 대응되는 저장 위치를 생성하고, 생성된 저장 위치에 해당 PCR 정보를 저장한다. 이후, 버퍼링 수행부(310)는 PCR 정보를 기준으로 다음 PCR 정보가 수신되기 이전까지의 모든 TS 패킷들에 대하여 PCR 정보의 저장 위치 바로 이후 구간에 순차적으로 저장한다.
버퍼링 수행부(310)는 PCR 정보를 기준으로 그룹화된 TS 패킷에 대하여 각각 인덱스 값을 지정한다.
버퍼링 수행부(310)는 PCR 정보를 기준으로 동일 그룹 내 포함된 TS 패킷 즉, PCR 정보를 기준으로 다음 PCR 정보가 수신되기 이전까지의 모든 TS 패킷에 대하여 1부터 순차적으로 증가하는 정수 값을 각각 부여함으로써 TS 패킷별 인덱스 값을 지정할 수 있다.
패킷 저장부(320)는 버퍼링 수행부(310)를 이용하여 버퍼링된 TS 패킷을 저장한다. 이러한, 패킷 저장부(320)는 캐시(Cathe)일 수 있다.
본 실시예에 따른 패킷 저장부(320)는 PCR 인덱스 테이블(미도시) 및 메모리(미도시)로 구현될 수 있다.
PCR 인덱스 테이블은 PCR 정보를 기준으로 그룹화된 TS 패킷에 대한 저장 위치를 보다 손쉽게 검색 가능토록 하기 위해 PCR 정보별로 메모리 내 주소 정보 또는 위치 정보를 테이블 형태로 기록하여 저장한다.
메모리는 PCR 인덱스 테이블과 연계되며, PCR 정보 및 PCR 정보를 기준으로 그룹화된 TS 패킷이 실제 저장되는 공간을 의미한다. 한편, 본 실시예에 있어서 메모리 내 저장되는 TS 패킷은 각각 PCR 정보를 기준으로 인덱스 값이 기록되어 저장된다.
산출 구간 선정부(330)는 IPTV 단말기(120)로부터 수신된 복구 요청신호에 기반하여 복구 패킷의 산출을 위한 산출 구간을 선정한다.
산출 구간 선정부(330)는 복구 요청신호에 포함된 PCR 정보를 이용하여 복구 패킷의 산출을 위한 산출 구간의 선정을 위한 1차 필터링 절차를 수행한다. 즉, 산출 구간 선정부(330)는 복구 요청신호에 포함된 PCR 정보에 기초하여 패킷 저장부(320) 내 동일 PCR 정보가 저장된 위치를 검색하고, 검색된 PCR 정보의 저장 위치를 기준으로 산출 구간의 선정을 위한 작업을 수행한다.
산출 구간 선정부(330)는 1차 필터링된 산출 구간에 대응되는 대응 TS 패킷 중 복구 요청신호에 포함된 인덱스 값에 해당되는 TS 패킷을 포함한 연이은 N+1개의 TS 패킷 이후 구간을 산출 시작 구간으로 선정한다. 이때, 산출 구간 선정부(330)는 상기의 N+1개의 TS 패킷의 헤더 정보와 복구 요청신호에 포함된 제1 헤더 정보를 비교하고, 각각의 헤더 정보가 서로 동일한 경우에 한해서 상기의 이후 구간을 산출 시작 구간으로 선정할 수 있다.
산출 구간 선정부(330)는 대응 TS 패킷 중 복구 요청신호에 포함된 제2 헤더 정보에 매칭되는 연속된 N+1개의 TS 패킷 바로 이전 구간을 산출 종료 구간으로 선정한다.
산출 구간 선정부(330)는 산출 시작 구간 및 산출 종료 구간 사이의 구간을 복구 패킷의 산출을 위한 최종 산출 구간으로서 산출한다.
복구 패킷 출력부(340)는 최총 산출 구간에 매칭되어 저장된 TS 패킷을 복구 패킷으로 출력한다.
도 4는 본 실시예에 따른 IPTV 단말기의 동작방법을 설명하기 위한 순서도이다.
IPTV 단말기(120)는 컨텐츠 제공장치(110)로부터 UDP 방식을 이용하여 멀티캐스팅된 TS 패킷을 수신하고(S402), 수신된 TS 패킷의 헤더를 파싱하여 연속 카운터 필드를 추출한다(S404).
IPTV 단말기(120)는 과정 S404에서 추출한 연속 카운터 필드와 이전에 수신한 TS 패킷의 연속 카운터 필드를 비교하여 각각의 TS 패킷의 연속 카운터 필드 간 연속성이 유지되지는 여부를 확인한다(S406). 예컨대, 단계 S406에서 IPTV 단말기(120)는 이전에 수신한 TS 패킷의 연속 카운터 값이 2였던 경우, 현재 처리중인 TS 패킷으로부터 추출한 연속 카운터 값이 3인지 확인할 수 있다.
IPTV 단말기(120)는 단계 S406에서 각각의 TS 패킷의 연속 카운터 필드 간 연속성이 유지되는 것으로 확인되는 경우 수신한 TS 패킷을 제1 버퍼로 버퍼링한다(S408).
IPTV 단말기(120)는 단계 S406에서 각각의 TS 패킷의 연속 카운터 필드 간 연속성이 유지되지 않는 것으로 확인되는 경우 손실된 TS 패킷의 복구를 위한 복구 요청신호를 생성하고(S410), 생성된 복구 요청신호를 패킷 복구용 서버(130)로 전송한다(S412). 복구 요청신호는 손실된 TS 패킷 이전에 정상 수신된 마지막 TS 패킷을 기준으로 바로 이전에 수신된 PCR 정보, 마지막 TS 패킷을 기준으로 이전 N(N≥1)번째 패킷에 대하여 기 부여된 인덱스값, 마지막 TS 패킷과 바로 이전 N개의 패킷을 포함하는 N+1개의 TS 패킷의 헤더 정보(이하, '제1 헤더 정보'라 칭함) 및 손실된 TS 패킷 이후에 수신된 N+1개의 TS 패킷의 헤더 정보(이하, '제2 헤더 정보'라 칭함)를 포함한다.
IPTV 단말기(120)는 패킷 복구용 서버(130)로부터 복구 요청신호에 대응되는 복구 패킷을 수신하고(S414), 수신한 복구 패킷을 제2 버퍼로 버퍼링한다(S416).
IPTV 단말기(120)는 단계 S408에서 버퍼링된 TS 패킷 및 단계 S410에서 버퍼링된 복구 패킷을 출력 버퍼를 이용하여 출력한다(S412). IPTV 단말기(120)는 제1 패킷 버퍼에 버퍼링된 TS 패킷을 출력 버퍼를 이용하여 순차적으로 출력하되, TS 패킷의 출력 중에 손실 TS 패킷의 유무를 표시하는 플래그 정보의 존재가 확인되는 경우 제2 패킷 버퍼 내 버퍼링된 복구 패킷 중 해당 손실 TS 패킷에 대응되는 복구 패킷을 출력 버퍼를 이용하여 출력한다.
도 5는 본 실시예에 따른 패킷 복구용 서버의 데이터 저장방법을 설명하기 위한 순서도이다.
패킷 복구용 서버(130)는 컨텐츠 제공장치(110)로부터 UDP 방식을 이용하여 멀티캐스팅된 TS 패킷을 수신하고(S502), 수신된 TS 패킷의 헤더를 파싱하여 해당 TS 패킷이 PCR 정보를 갖는 패킷인지 여부를 확인한다(S504, S506).
패킷 복구용 서버(130)는 TS 패킷이 PCR 정보를 갖는 패킷인 것으로 확인되는 경우에는 메모리 내 해당 PCR 정보에 대응되는 저장 위치를 생성하고, 생성된 저장 위치에 해당 PCR 정보를 저장한다(S508). 단계 S508에서 패킷 복구용 서버(130)는 PCR 정보별로 메모리 내 저장 위치에 대한 주소 정보를 테이블 형태로 기록하여 저장한다.
패킷 복구용 서버(130)는 TS 패킷이 PCR 정보를 갖는 패킷이 아닌 것으로 확인되는 경우 해당 TS 패킷에 대하여 인덱스 값을 지정한다(S510). 패킷 복구용 서버(130)는 PCR 정보를 기준으로 다음 PCR 정보가 수신되기 이전까지의 모든 TS 패킷에 대하여 1부터 순차적으로 증가하는 정수 값을 부여하는 방식을 이용하여 TS 패킷에 대한 인덱스 값을 지정한다.
패킷 복구용 서버(130)는 PCR 정보 및 TS 패킷의 인덱스 값에 기반하여 TS 패킷을 메모리 내 대응되는 위치로 버퍼링한다(S512).
도 6은 본 실시예에 따른 패킷 복구용 서버의 복구 패킷 전송방법을 설명하기 위한 순서도이다.
패킷 복구용 서버(130)는 IPTV 단말기(120)로부터 복구 요청신호를 수신하는 경우(S602), 복구 요청신호에 포함된 PCR 정보를 이용하여 복구 패킷의 산출을 위한 1차 필터링을 수행한다(S604). 패킷 복구용 서버(130)는 복구 요청신호에 포함된 PCR 정보에 기초하여 메모리 내 동일 PCR 정보가 저장된 위치를 검색하며, 검색된 PCR 정보의 저장 위치를 기준으로 산출 구간의 선정을 위한 작업을 수행한다.
패킷 복구용 서버(130)는 1차 필터링된 산출 구간에 대응되는 대응 TS 패킷 중 복구 요청신호에 포함된 인덱스 값에 해당되는 TS 패킷을 포함한 연이은 N+1개의 TS 패킷(Start Packet)의 저장 위치를 확인한다(S606).
패킷 복구용 서버(130)는 단계 S606에서 저장 위치를 확인한 N+1개의 TS 패킷의 헤더 정보와 복구 요청신호에 포함된 제1 헤더 정보를 비교하고, 비교결과에 따라 산출 시작 구간을 확정한다(S608).
패킷 복구용 서버(130)는 대응 TS 패킷 중 복구 요청신호에 포함된 제2 헤더 정보에 매칭되는 연속된 N+1개의 TS 패킷(End Packet)의 저장 위치를 확인하고, 확인된 N+1개의 TS 패킷의 저장 위치 바로 이전 구간을 산출 종료 구간으로 선정한다(S610).
산출 구간 선정부(330)는 산출 시작 구간 및 산출 종료 구간 사이의 구간을 복구 패킷의 산출을 위한 최종 산출 구간으로서 산출하고, 최종 산출 구간 내 매칭되어 저장된 TS 패킷을 복구 패킷으로서 확정하여 출력한다(S612).
도 7은 본 실시예에 따른 IPTV 단말기가 패킷 손실을 탐지하는 방법을 설명하기 위한 예시도이다.
본 실시예에 따른 IPTV 단말기(120)는 현재 처리 중인 TS 패킷의 헤더를 파싱하여 연속 카운터 필드를 추출하고, 추출된 연속 카운터 필드와 이전에 수신한 TS 패킷의 헤더로부터 추출된 연속 카운터 필드를 비교하여 손실된 TS 패킷의 존재 여부를 탐지한다.
도 7을 참조하면, PCR 정보(PCR: 1000)를 기준으로 7번째 TS 패킷의 연속 카운터 필드(CC: 06)와 바로 이전에 수신한 5번째 TS 패킷의 연속 카운터 필드(CC: 04) 간 연속성이 유지되지 않는 것을 확인할 수 있다. 이 경우, IPTV 단말기(120)는 전송과정에서 손실된 TS 패킷이 존재하는 것으로 판단한다.
도 8a 및 도 8b는 본 실시예에 따른 IPTV 단말기가 손실 TS 패킷의 재전송을 요청하는 방법을 설명하기 위한 예시도이다. 도 8a는 본 실시예에 따른 IPTV 단말기(120)가 손실 TS 패킷의 재전송을 요청하기 위해 패킷 복구용 서버(130)로 전송하는 정보의 종류를 예시한 예시도이다. 도 8b는 본 실시예에 따른 IPTV 단말기(120)가 패킷 복구용 서버(130)로 전송하는 복구 요청신호의 패킷 형태를 예시한 예시도이다.
본 실시예에 있어서, IPTV 단말기(120)가 손실된 TS 패킷에 대한 복구를 위해 패킷 복구용 서버(130)로 전송하는 복구 요청신호에는 손실된 TS 패킷 이전에 정상 수신된 마지막 TS 패킷을 기준으로 바로 이전에 수신된 PCR 정보, 마지막 TS 패킷을 기준으로 이전 N(N≥1)번째 패킷에 대하여 기 부여된 인덱스값, 마지막 TS 패킷과 바로 이전 N개의 패킷을 포함하는 N+1개의 TS 패킷의 헤더 정보(이하, '제1 헤더 정보'라 칭함) 및 손실된 TS 패킷 이후에 수신된 N+1개의 TS 패킷의 헤더 정보(이하, '제2 헤더 정보'라 칭함)를 포함한다. 한편, 본 실시예의 경우 패킷 복구용 서버(130)에서 수행되는 복구 패킷 검출 과정의 오류를 최소화하기 위해 N의 값을 2로 지정하는 것이 가장 바람직하며, 이하, N의 값이 2인 것으로 예시하여 설명하도록 한다.
도 8a 및 도 8b를 참조하면, 손실된 TS 패킷(TS PID: 101 CC: 05)의 복구를 위해 복구 요청신호에 PCR: 1000, Index: 3, 제1 헤더 정보(TS PID: 101 CC: 02, TS PID: 101 CC: 03, TS PID: 101 CC: 04 패킷의 헤더 정보) 및 제2 헤더 정보(TS PID: 101 CC:07, PCR: 1100, TS PID: 101 CC:07 패킷의 헤더 정보)가 포함되어 전송되는 것을 확인할 수 있다.
도 9는 본 실시예에 따른 IPTV 단말기의 TS 패킷 인덱싱 방법을 설명하기 위한 예시도이다.
도 9를 참조하면, PCR 정보(PCR: 1000, PCR: 2000)를 기준으로 TS 패킷 간 그룹화를 수행하고, 동일 그룹 내 포함된 TS 패킷에 대하여 1부터 순차적으로 증가하는 정수 값이 부여됨으로써 TS 패킷 별로 각각 인덱스 값을 지정되는 것을 확인할 수 있다.
도 10a 및 도 10b는 본 실시예에 따른 패킷 복구용 서버가 손실 TS 패킷을 재전송하는 방법을 설명하기 위한 예시도이다. 도 10a는 본 실시예에 따른 패킷 복구용 서버(130)가 복구 패킷의 산출을 위한 산출 구간을 선정하는 방법을 예시한 예시도이다. 도 10b는 본 실시예에 따른 패킷 복구용 서버(130)가 IPTV 단말기(120)로 전송하는 복구 패킷의 형태를 예시한 예시도이다.
도 10a 및 도 10b를 참조하면, 본 실시예에 따른 패킷 복구용 서버(130)가 복구 요청신호에 포함된 정보들을 이용하여 복구 패킷의 산출을 위한 산출 시작 구간 및 산출 종료 구간을 선정하고, 선정된 산출 시작 구간 및 산출 종료 구간 사이의 구간에 대응되는 패킷을 복구 패킷으로서 출력하는 것을 확인할 수 있다.
본 실시예에 따른 복구 패킷의 산출 방식에 의하는 경우 패킷 복구용 서버(130)는 복구 패킷의 산출을 위한 시간을 최소화하면서도 산출된 복구 패킷에 대한 오류 발생 확률을 최소화할 수 있는 효과가 있다.
도 11은 본 실시예에 따른 IPTV 단말기가 손실 TS 패킷을 복구하는 방법을 설명하기 위한 예시도이다. 한편, 도 11에서는 본 실시예에 따른 IPTV 단말기(120)가 손실 TS 패킷을 복구하는 방법을 보다 명확하게 설명하기 위해 도 2에 도시된 IPTV 단말기(120)의 구성요소 외에 IPTV 단말기(120)의 기능을 수행하는 데 필요한 구성요소들을 추가로 상세 기재하였다.
도 11을 참조하면, 본 실시예에 따른 IPTV 단말기가 손실 TS 패킷을 복구하는 방법은 ① 내지 ④의 단계로 이루어진다.
단계 ①은 IPTV 단말기(120)가 컨텐츠 제공장치(110)로부터 전송되는 TS 패킷 중 손실된 TS 패킷의 존재 여부를 탐지하고, 손실된 TS 패킷에 대한 복구 요청신호를 패킷 복구용 서버(130)로 전송하는 과정이다. 단계 ①에서 IPTV 단말기(120)는 정상 수신된 TS 패킷을 제1 패킷 버퍼로 버퍼링하되, 버퍼링 시 손실된 TS 패킷의 유무를 표시하는 플래그 정보를 추가로 기록할 수 있다.
단계 ②는 IPTV 단말기(120)가 패킷 복구용 서버(130)로부터 복구 요청 신호에 대응되는 복구 패킷을 수신하는 과정이다.
단계 ③은 IPTV 단말기(120)가 단계 ②에서 수신한 복구 패킷을 제2 패킷 버퍼로 버퍼링하는 과정이다. 단계 ③에서 IPTV 단말기(120)는 복구 패킷을 제2 패킷 버퍼로 버퍼링 시 해당 복구 패킷에 대응되는 손실 TS 패킷에 대한 정보를 추가로 기록할 수 있다.
단계 ④는 IPTV 단말기(120)가 손실 TS 패킷을 복구하는 과정이다. 단계 ④에서 IPTV 단말기(120)는 제1 패킷 버퍼에 버퍼링된 TS 패킷을 출력 버퍼를 이용하여 순차적으로 출력하되, TS 패킷의 출력 중에 손실 TS 패킷의 유무를 표시하는 플래그 정보의 존재가 확인되는 경우 제2 패킷 버퍼 내 버퍼링된 복구 패킷 중 해당 손실 TS 패킷에 대응되는 복구 패킷을 출력 버퍼를 이용하여 출력시킨다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
110: 컨텐츠 제공장치 120: IPTV 단말기
130: 패킷 복구용 서버 210: 데이터 수신부
220: 데이터 분석부 230: 인덱스 계산부
240: 손실 패킷 검출부 250: 손실 패킷 요청부
260: 복구 패킷 수신부 270: 패킷 출력부
300: 송수신부 310: 버퍼링 수행부
320: 패킷 저장부 330: 산출구간 선정부
340: 복구 패킷 출력부
130: 패킷 복구용 서버 210: 데이터 수신부
220: 데이터 분석부 230: 인덱스 계산부
240: 손실 패킷 검출부 250: 손실 패킷 요청부
260: 복구 패킷 수신부 270: 패킷 출력부
300: 송수신부 310: 버퍼링 수행부
320: 패킷 저장부 330: 산출구간 선정부
340: 복구 패킷 출력부
Claims (13)
- IPTV 단말기가 패킷 손실을 탐지하는 방법에 있어서,
컨텐츠 제공장치로부터 전송 스트림(Transport Stream: 이하, 'TS'라 칭함) 패킷을 수신하는 과정;
상기 TS 패킷의 헤더를 파싱(Parsing)하여 상기 TS 패킷의 연속 카운터(Continuity Counter) 필드를 추출하는 과정;
상기 TS 패킷의 연속 카운터 필드와 이전에 수신한 TS 패킷의 헤더로부터 추출된 이전 연속 카운터 필드를 비교하여 손실된 TS 패킷 존재 여부를 탐지하는 과정; 및
상기 손실된 TS 패킷이 존재하는 것으로 판단되는 경우 상기 손실된 TS 패킷 이전에 정상 수신된 마지막 TS 패킷을 기준으로 바로 이전에 수신된 PCR 정보, 상기 마지막 TS 패킷을 기준으로 이전 N(N≥1)번째 패킷에 대하여 기 부여된 인덱스값, 상기 마지막 TS 패킷과 바로 이전 N개의 패킷을 포함하는 N+1개의 TS 패킷의 헤더 정보 및 상기 손실된 TS 패킷 이후에 수신된 N+1개의 TS 패킷의 헤더 정보로 구성된 상기 손실된 TS 패킷에 대한 복구 요청신호를 패킷 복구용 서버(MLR: Multicast Loss Recovery)로 전송하는 과정
을 포함하는 것을 특징으로 하는 패킷 손실 탐지방법. - 제 1항에 있어서,
상기 탐지하는 과정은,
상기 연속 카운터 필드와 상기 이전 연속 카운터 필드 간의 연속성이 유지되지 않는 경우 상기 손실된 TS 패킷이 존재하는 것으로 판단하는 것을 특징으로 하는 패킷 손실 탐지방법. - 삭제
- 삭제
- 제 1항에 있어서,
상기 TS 패킷에 대하여 상기 TS 패킷의 색인정보로서 활용되는 인덱스 값을 매칭시키는 과정을 더 포함하며,
상기 매칭시키는 과정은 PCR 정보를 기준으로 다음 PCR 정보가 수신되기 이전까지의 모든 TS 패킷에 대하여 1부터 순차적으로 증가하는 정수 값을 부여하는 것을 특징으로 하는 패킷 손실 탐지방법. - 패킷 복구용 서버가 손실 TS 패킷을 복구하는 방법에 있어서,
적어도 하나의 IPTV 단말기로부터 상기 손실 TS 패킷 이전에 정상 수신된 마지막 TS 패킷을 기준으로 바로 이전에 수신된 PCR 정보, 상기 마지막 TS 패킷을 기준으로 이전 N(N≥1)번째 패킷에 대하여 기 부여된 인덱스값, 상기 마지막 TS 패킷과 바로 이전 N개의 패킷을 포함하는 N+1개의 TS 패킷의 헤더 정보(이하 '제1 헤더 정보'라 칭함) 및 상기 손실 TS 패킷 이후에 수신된 N+1개의 TS 패킷의 헤더 정보(이하 '제2 헤더 정보'라 칭함)로 구성된 상기 손실 TS 패킷에 대한 복구 요청신호를 수신하는 과정;
상기 복구 요청신호에 근거하여 복구 패킷의 산출을 위한 산출 구간을 선정하는 과정; 및
상기 산출 구간에 매칭되어 저장된 TS 패킷을 상기 복구 패킷으로서 산출하여 상기 IPTV 단말기로 송신하는 과정
을 포함하는 것을 특징으로 하는 패킷 복구용 서버의 손실 패킷 복구방법. - 삭제
- 제 6항에 있어서,
상기 선정하는 과정은,
상기 PCR 정보를 기준으로 상기 산출 구간의 선정을 위한 1차 필터링을 수행하는 것을 특징으로 하는 패킷 복구용 서버의 손실 패킷 복구방법. - 제 8항에 있어서,
상기 선정하는 과정은,
상기 1차 필터링된 산출 구간에 대응되는 대응 TS 패킷 중 상기 인덱스값에 매칭되는 TS 패킷을 포함한 연이은 N+1개의 TS 패킷 이후 구간을 산출 시작 구간으로 선정하고, 상기 대응 TS 패킷 중 상기 제2 헤더 정보에 매칭되는 연속된 N+1개의 TS 패킷 이전 구간을 산출 종료 구간으로서 선정하여 상기 산출 구간을 최종 선정하는 것을 특징으로 하는 패킷 복구용 서버의 손실 패킷 복구방법. - 제 9항에 있어서,
상기 선정하는 과정은,
상기 인덱스값에 매칭되는 TS 패킷을 포함한 연이은 N+1개의 TS 패킷의 헤더 정보와 상기 제1 헤더 정보를 비교하고, 각각의 헤더 정보가 서로 동일한 경우에 한해서 상기 이후 구간을 상기 산출 시작 구간으로서 선정하는 것을 특징으로 하는 패킷 복구용 서버의 손실 패킷 복구방법. - 제 6항에 있어서,
컨텐츠 제공장치로부터 수신된 TS 패킷에 대한 버퍼링을 수행하며, 상기 버퍼링 수행 시 PCR 정보를 기준으로 TS 패킷 간 그룹화를 수행하고, 동일 그룹 내 포함되는 TS 패킷에 대하여 1부터 순차적으로 증가하는 정수 값을 지정하는 과정을 더 포함하는 것을 특징으로 하는 패킷 복구용 서버의 손실 패킷 복구방법. - 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160114662A KR101879194B1 (ko) | 2016-09-06 | 2016-09-06 | 패킷의 손실을 복구하기 위한 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160114662A KR101879194B1 (ko) | 2016-09-06 | 2016-09-06 | 패킷의 손실을 복구하기 위한 장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180027281A KR20180027281A (ko) | 2018-03-14 |
KR101879194B1 true KR101879194B1 (ko) | 2018-08-17 |
Family
ID=61660722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160114662A KR101879194B1 (ko) | 2016-09-06 | 2016-09-06 | 패킷의 손실을 복구하기 위한 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101879194B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110730053A (zh) * | 2019-09-09 | 2020-01-24 | 晶晨半导体(深圳)有限公司 | 一种基于ts格式和udp传输方式的网络丢包重传方法 |
KR20210156041A (ko) * | 2020-06-17 | 2021-12-24 | 에스케이텔레콤 주식회사 | 캐시 서버를 이용한 패킷손실 복구장치 및 방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100278846B1 (ko) * | 1998-10-10 | 2001-01-15 | 김춘호 | 에이에이엘5를 통한 고정 전송 속도의 전송 스트림 패킷의 송수신 방법 |
FR2911231B1 (fr) * | 2007-01-09 | 2009-04-24 | Tdf Sa | Procede de transmission/reception en temps reel de donnees par paquets entre un serveur et un terminal client, serveur et terminal correspondants |
-
2016
- 2016-09-06 KR KR1020160114662A patent/KR101879194B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20180027281A (ko) | 2018-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101505316B (zh) | 重排和复用属于互相关会话的多媒体流的包的方法和设备 | |
US9641588B2 (en) | Packets recovery system and method | |
US8009742B2 (en) | Method and system for retransmitting internet protocol packet for terrestrial digital multimedia broadcasting service | |
US20090177952A1 (en) | Transcoder and receiver | |
US8432937B2 (en) | System and method for recovering the decoding order of layered media in packet-based communication | |
KR102035912B1 (ko) | Ip 네트워크를 이용하여 스트림 패킷 전송 시 패킷 손실 검출 및 복구 방법 및 장치 | |
US12120380B2 (en) | Transmission apparatus, transmission method, encoding apparatus, encoding method, reception apparatus, and reception method | |
US7839925B2 (en) | Apparatus for receiving packet stream | |
US20100172374A1 (en) | System and method for transport of a constant bit rate stream | |
KR101879194B1 (ko) | 패킷의 손실을 복구하기 위한 장치 및 그 방법 | |
KR102392888B1 (ko) | 패킷 손실 복구를 개선하기 위한 장치 및 방법 | |
WO2012077855A1 (ko) | 비디오 스트림의 패킷화 방법 및 장치 | |
KR101760018B1 (ko) | 영상 데이터 통신 방법 및 영상 데이터 통신 장치 | |
US20090135828A1 (en) | Internet protocol television (iptv) broadcasting system with reduced display delay due to channel changing, and method of generating and using acceleration stream | |
KR102350570B1 (ko) | 영상프레임의 손실을 측정하기 위한 iptv 셋탑박스 및 그 동작방법 | |
JP2005530376A (ja) | ディジタルストリームの動的多重化方法 | |
WO2013098812A1 (en) | Transport over udp system and method | |
TWI762980B (zh) | 數位串流錯誤檢查方法與電路系統 | |
KR102330416B1 (ko) | 패킷 손실 탐지 방법 및 장치 | |
KR101114749B1 (ko) | 수신된 트랜스포트 스트림에 포함된 영상 데이터를 화면끊김 현상이 없도록 처리하는 방법과 그에 따른 디지털멀티미디어 방송 수신 장치 | |
JP2006295567A (ja) | パケットストリーム受信装置 | |
Murugan et al. | Multiplexing H. 264 video with AAC audio bit streams |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |