KR20080047263A - Digital broadcasting system and error correction method thereof - Google Patents

Digital broadcasting system and error correction method thereof Download PDF

Info

Publication number
KR20080047263A
KR20080047263A KR1020070101545A KR20070101545A KR20080047263A KR 20080047263 A KR20080047263 A KR 20080047263A KR 1020070101545 A KR1020070101545 A KR 1020070101545A KR 20070101545 A KR20070101545 A KR 20070101545A KR 20080047263 A KR20080047263 A KR 20080047263A
Authority
KR
South Korea
Prior art keywords
fec
multicast
digital broadcast
mpeg
broadcast data
Prior art date
Application number
KR1020070101545A
Other languages
Korean (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 삼성전자주식회사
Priority to US11/984,201 priority Critical patent/US20080134266A1/en
Priority to CN2007103036005A priority patent/CN101257634B/en
Priority to EP07022694A priority patent/EP1950969A3/en
Publication of KR20080047263A publication Critical patent/KR20080047263A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/09Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
    • H04H60/11Arrangements for counter-measures when a portion of broadcast information is unavailable
    • H04H60/12Arrangements for counter-measures when a portion of broadcast information is unavailable wherein another information is substituted for the portion of broadcast information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/21EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2362Generation or processing of Service Information [SI]
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A digital broadcasting system and an error correction method thereof are provided to reduce a network load by transmitting a multicast packet of an FEC(Forward Error Correction) group including FEC data for lost packet recovery. A digital broadcasting system includes a server and a set-top box(40). The server groups a predetermined number of multicast packets to obtain FEC groups for digital broadcast data(MPEG TS) transmission, creates FEC data for each multicast packet using the digital broadcast data of the multicast packets in the FEC groups, and transmits the multicast packets including the FEC data on a network. The set-top box recovers respective digital broadcast data pieces of the lost multicast packet through digital broadcast data pieces of multicast packets except the lost multicast packet and combines the recovered digital broadcast data pieces to recover the lost multicast packet among multicast packets received on the network.

Description

디지털 방송 시스템 및 그 시스템의 에러 정정 방법{DIGITAL BROADCASTING SYSTEM AND ERROR CORRECTION METHOD THEREOF}Digital broadcasting system and error correction method of system {DIGITAL BROADCASTING SYSTEM AND ERROR CORRECTION METHOD THEREOF}

본 발명은 디지털 방송 시스템 및 그 시스템의 에러 정정 방법에 관한 것으로, 더욱 자세하게는 유실된 멀티캐스트 패킷을 순방향 에러 정정(Forward Error Correction)을 통해 정정하는 디지털 방송 시스템 및 그 시스템의 에러 정정 방법에 관한 것이다. The present invention relates to a digital broadcasting system and an error correcting method of the system, and more particularly, to a digital broadcasting system and a method of error correcting a lost multicast packet through forward error correction. will be.

디지털 방송은 MPEG(Moving Picture Experts Group) 부호화 규격 등에 근거하여 각 채널별 프로그램들의 정보량을 고 능률적으로 압축하며, 각 전송매체별 디지털 변조 방식에 근거하여 다수의 채널들에 대응하는 프로그램들을 고 능률적으로 다중화하여 전송한다. Digital broadcasting highly efficiently compresses the amount of information of programs for each channel based on the MPEG (Moving Picture Experts Group) coding standard, etc., and efficiently processes programs corresponding to a plurality of channels based on the digital modulation scheme of each transmission medium. Send multiplexed.

따라서 디지털 방송은 아날로그 방송과 달리 다량의 중계기를 사용하지 않고서도 수십 내지 수백 개의 채널들을 방송할 수 있다.Therefore, digital broadcasting can broadcast dozens or hundreds of channels without using a large amount of repeaters, unlike analog broadcasting.

이러한 디지털 방송은 전송매체에 따라 디지털 지상방송과 디지털 위성방송 및 케이블 디지털방송 등이 있다. 현재, 디지털 위성방송은 전 세계적으로 활성화되어 있고, 디지털 지상방송은 미국 및 유럽의 일부 국가에서 시험방송 중이다.Such digital broadcasting includes digital terrestrial broadcasting, digital satellite broadcasting and cable digital broadcasting, depending on the transmission medium. Currently, digital satellite broadcasting is active worldwide, and digital terrestrial broadcasting is being piloted in some countries in the United States and Europe.

디지털 방송 서비스는 대부분이 케이블을 이용하여 이루어지고 있다. 그런데, 현재에는 디지털 방송 서비스는 초고속 인터넷 기술의 발달에 따라 IP(Internet Protocol) 네트워크를 통하여 이루어지는 추세이다.Most digital broadcasting services are provided using cables. However, at present, digital broadcasting services are being made through an Internet Protocol (IP) network according to the development of high speed Internet technology.

디지털 방송 서비스를 제공하기 위한 디지털 방송시스템은 IP 네트워크를 통해 방송데이터를 제공하는 디지털 방송서버와 IP네트워크에 연결되어 디지털 방송서버에서 제공된 방송데이터를 수신하여 사용자에게 제공하는 다수의 셋톱박스들로 구성될 수 있다.The digital broadcasting system for providing a digital broadcasting service is composed of a digital broadcasting server providing broadcast data through an IP network and a plurality of set-top boxes connected to the IP network to receive broadcast data provided from the digital broadcasting server and provide the user with the broadcast data. Can be.

디지털 방송서버는 디지털 방송국(System Operator)으로부터 수신된 아날로그 방송데이터를 인코딩을 통해 디지털 방송데이터로 변환하고 압축되어 발생된 패킷을 IP 네트워크로 멀티캐스팅(Multi-casting) 한다. 여기서, IP 네트워크로 전송되는 멀티캐스트 패킷은 MPEG2(Moving Picture Experts Group 2) TS(Transport Stream) 규격에 따라 구성되어 질 수 있다. The digital broadcasting server converts the analog broadcasting data received from the digital broadcasting station (System Operator) into digital broadcasting data through encoding and multicasts the compressed packet to the IP network. Here, the multicast packet transmitted to the IP network may be configured according to the Moving Picture Experts Group 2 (MPEG2) Transport Stream (TS) standard.

즉, 디지털 방송서버는 임의의 채널에 대한 방송데이터를 IP 네트워크로 멀티캐스팅 한다. That is, the digital broadcast server multicasts broadcast data for an arbitrary channel to an IP network.

이에 셋톱박스는 IP 네트워크에서 수신된 멀티캐스트 패킷을 디코딩을 통해 압축 해제하여 얻어진 디지털 방송데이터를 디지털 텔레비전에 제공한다.Accordingly, the set-top box provides digital television with digital broadcast data obtained by decoding the multicast packet received from the IP network through decoding.

살펴본 바와 같이, 디지털 방송데이터는 디지털 방송서버에서 IP 네트워크를 통해 셋톱박스로 멀티캐스트 방식을 통해 전송된다. 이러한 디지털 방송 데이 터(MPEG TS)는 멀티캐스트 방식으로 전송되기 때문에 IP 네트워크에서 유실되는 경우에 다시 재전송될 수 없게 된다.As described above, the digital broadcast data is transmitted from the digital broadcast server to the set-top box through the multicast method through the IP network. Since the digital broadcast data (MPEG TS) is transmitted in a multicast manner, it cannot be retransmitted if it is lost in the IP network.

이에 따라, 셋톱박스에 연결된 디지털 텔레비전은 유실된 디지털 방송데이터를 재생할 수 없으므로 화면에 유실된 디지털 방송데이터의 재생영역에 노이즈를 디스플레이 하게 된다.Accordingly, since the digital television connected to the set-top box cannot reproduce the lost digital broadcast data, noise is displayed in the reproduction area of the digital broadcast data lost on the screen.

이를 해결하기 위한 방법에는 순방향 에러 정정(Forward Error Correction : FEC)이 있다. FEC는 디지털 방송 데이터(MPEG TS)들에 대한 멀티캐스트 패킷 스트림 사이에 유실된 멀티캐스트 패킷의 복구를 위한 다수의 FEC 패킷을 함께 전송하고, 유실된 패킷이 발생하는 경우에 관련된 FEC 패킷과 유실된 멀티캐스트 패킷의 주변 패킷을 이용하여 유실된 멀티캐스트 패킷을 복구하는 방법이다.One way to solve this problem is forward error correction (FEC). The FEC transmits multiple FEC packets together for the recovery of lost multicast packets between the multicast packet streams for digital broadcast data (MPEG TS), and the lost FEC packets are lost when the lost packets occur. A method of recovering lost multicast packets using neighboring packets of multicast packets.

이에 대해서, 도 1을 참조하여 좀 더 구체적으로 살펴보기로 한다. This will be described in more detail with reference to FIG. 1.

도 1에 도시된 바와 같이, 원본 멀티캐스트 패킷 스트림 사이에 FEC 패킷인 f(A, B)와 f(B, C)가 삽입되어 있음을 알 수 있다. 이때, f(A, B) = A XOR B이고, f(B, C)= B XOR C 이다.As shown in FIG. 1, it can be seen that f (A, B) and f (B, C), which are FEC packets, are inserted between original multicast packet streams. At this time, f (A, B) = A XOR B and f (B, C) = B XOR C.

즉, 디지털 방송 서버는 원본 멀티캐스트 패킷 스트림(A, B, C, D, E,...) 사이에 다수의 FEC 패킷인 f(A, B)와 f(B, C)를 추가하여 IP 네트워크로 멀티캐스팅 한다.That is, the digital broadcasting server adds a plurality of FEC packets f (A, B) and f (B, C) between the original multicast packet streams A, B, C, D, E, ... Multicast over the network.

한편, 셋톱박스는 디지털 방송 서버에서 IP 네트워크를 통해 전송된 멀티캐스트 스트림 중 유실된 멀티캐스트 패킷의 복구에 필요한 FEC 패킷과 유실된 멀티캐스트 패킷의 주변 패킷을 이용하여 유실된 멀티캐스트 패킷을 복구한다.Meanwhile, the set-top box recovers lost multicast packets using FEC packets required for the recovery of lost multicast packets among the multicast streams transmitted through the IP network in the digital broadcasting server and neighboring packets of the lost multicast packets. .

예를 들어, 셋톱박스는 디지털 방송 서버에서 IP 네트워크를 통해 전송된 멀티캐스트 스트림 중 B 패킷이 유실되었으면, 주변 패킷인 C 패킷과 FEC 패킷인 f(B, C)를 배타적 논리합(XOR) 연산하여 B 패킷을 복구하게 된다.For example, if a B packet is lost in a multicast stream transmitted through an IP network in a digital broadcasting server, the set-top box performs an exclusive OR (XOR) operation on the neighboring packet C and the FEC packet f (B, C). Recover B packets.

전술한 바와 같이, 디지털 방송 서버는 셋톱박스에서 유실된 패킷의 복구를 위해 패킷 단위로 FEC 패킷을 멀티캐스트 패킷 스트림 사이에 추가하여 IP 네트워크로 전송한다. 그러나 IP 네트워크에는 추가된 FEC 패킷의 수만큼 오버헤드(overhead)가 발생하게 된다. As described above, the digital broadcasting server transmits the FEC packet to the IP network by adding the FEC packet between the multicast packet streams on a packet basis in order to recover the lost packet in the set-top box. However, an overhead occurs in the IP network by the number of added FEC packets.

예를 들어, 도 1에 도시된 바와 같은 FEC 패킷을 추가하는 경우, 원본 멀티캐스트 패킷 스트림에 비해서 IP 네트워크에 2배의 오버헤드를 발생하게 된다. For example, adding FEC packets as shown in FIG. 1 incurs double overhead in the IP network compared to the original multicast packet stream.

또한, 유실된 패킷의 복구를 위해 FEC 패킷이 추가되는 경우, 셋톱박스에서는 이를 처리하기 위한 작업 및 이 작업을 수행하는 구성이 추가되어야 한다.In addition, when the FEC packet is added to recover the lost packet, the set-top box needs to add a task for processing it and a configuration for performing the task.

따라서 본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 유실된 패킷의 복구를 위한 FEC 데이터를 FEC 그룹 멀티캐스트 패킷에 포함시켜 전송함으로써 네트워크의 부하를 줄인 디지털 방송 시스템 및 그 시스템의 에러 정정 방법을 제공함에 그 목적이 있다. Thus, the present invention is intended to solve the above problems, errors, by sending, by including the FEC data for recovery of lost packets in the multicast packet in the FEC group reduced the load on the network, the digital broadcasting system and a system correction method The purpose is to provide.

상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 디지털 방송 시스템은, 디지털 방송 데이터(MPEG TS)의 전송을 위해 일정 수의 멀티캐스트 패킷들을 FEC 그룹으로 설정하고, FEC 그룹 내에 포함된 멀티캐스트 패킷들의 디지털 방송 데이터(MPEG TS)들을 이용하여 각각의 멀티캐스트 패킷들의 순방향 에러 정정 정보를 생성하고 해당 멀티캐스트 패킷에 포함시켜 네트워크를 통해 전송하는 서버; 와 네트워크를 통해 수신되는 멀티캐스트 패킷들 중 멀티캐스트 패킷의 유실이 발생하면, 유실된 멀티캐스트 패킷을 제외한 나머지 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS) 조각을 복구하고 그 복구된 디지털 방송 데이터(MPEG TS) 조각을 조합하여 유실된 멀티캐스트 패킷을 복구하는 셋톱박스를 포함한다. FEC 그룹 내에 포함된 유실된 멀티캐스트 패킷을 제외한 나머지 패킷들로 유실된 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS)를 복구하는 셋톱박스를 포함한다. According to an aspect of the present invention, there is provided a digital broadcasting system for setting a predetermined number of multicast packets to an FEC group for transmission of digital broadcast data (MPEG TS), and a multicast packet included in the FEC group. A server for generating forward error correction information of each multicast packet using the digital broadcast data (MPEG TS) of the multicast packet and including the same in the corresponding multicast packet and transmitting it through a network; If a multicast packet is lost among the multicast packets received through the network, the digital broadcast data (MPEG TS) fragment of the remaining multicast packets except for the lost multicast packet is recovered and the recovered digital broadcast data ( MPEG TS) fragments are assembled to recover lost multicast packets. And a set-top box for recovering the digital broadcast data (MPEG TS) of the multicast packet lost with the remaining packets except the lost multicast packet included in the FEC group.

상기 서버는, 디지털 방송 데이터(MPEG TS)의 전송을 위해 일정 수의 멀티캐스트 패킷들을 FEC 그룹으로 설정하는 FEC(Forward Error Correction) 그룹 설정부; FEC 그룹 내에 포함된 멀티캐스트 패킷들의 디지털 방송 데이터(MPEG TS)들을 각각 일정 수로 분할하는 데이터 분할부; 설정된 멀티캐스트 패킷들의 스트림ID, 시퀀스 넘버, 멀티캐스트 패킷 순서 등을 설정하여 멀티캐스트 패킷에 포함시키는 FEC헤더 설정부; FEC 그룹 내에 포함된 멀티캐스트 패킷들의 디지털 방송 데이터(MPEG TS)들을 각각 일정 수로 분할하고, 각각 분할된 디지털 방송 데이터(MPEG TS)들을 배타적 논리합(XOR) 연산을 통해 각각의 멀티캐스트 패킷들의 순방향 에러 정정 정보를 설정하여 해당 멀티캐스트 패킷에 포함시켜 네트워크를 통해 전송하는 FEC 정보 설정부; 및 FEC 그룹 내에 멀티캐스트 패킷들의 스트림 ID, 시퀀스 넘버, 멀티캐스트 패킷들의 순서를 설정하여 멀티캐스트 패킷에 포함시키는 FEC 헤더 설정부를 포함한다.The server may include: a Forward Error Correction (FEC) group setting unit configured to set a predetermined number of multicast packets to an FEC group for transmission of digital broadcast data (MPEG TS); A data dividing unit for dividing the digital broadcast data (MPEG TSs) of the multicast packets included in the FEC group by a predetermined number; A FEC header setting unit for setting a stream ID, a sequence number, a multicast packet order, and the like of the multicast packets to be included in the multicast packet; Forward error of each multicast packet by splitting the digital broadcast data (MPEG TS) of the multicast packets included in the FEC group into a predetermined number, respectively, and performing the exclusive OR (XOR) operation of the divided digital broadcast data (MPEG TS). An FEC information setting unit which sets correction information and includes the correction information in a corresponding multicast packet and transmits it through a network; And an FEC header setting unit for setting a stream ID, a sequence number, and an order of the multicast packets of the multicast packets in the FEC group to include in the multicast packet.

상기 셋톱박스는 상기 유실된 패킷의 판단을 시퀀스 넘버를 통해 수행할 수 있다.The set top box may determine the lost packet through a sequence number.

상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 디지털 방송 시스템의 서버는, 디지털 방송 데이터(MPEG TS)의 전송을 위해 일정 수의 멀티캐스트 패킷들을 FEC 그룹으로 설정하는 FEC(Forward Error Correction) 그룹 설정부; FEC 그룹 내에 포함된 멀티캐스트 패킷들의 디지털 방송 데이터(MPEG TS)들을 각각 일정 수로 분할하는 데이터 분할부; 및 FEC 그룹 내에 포함된 멀티캐스트 패킷들의 디지털 방송 데이터(MPEG TS)들을 각각 일정 수로 분할하고, 각각 분할된 디지털 방송 데이터(MPEG TS)들을 배타적 논리합(XOR) 연산을 통해 각각의 멀티캐스트 패킷들의 순방향 에러 정정 정보를 설정하여 해당 멀티캐스트 패킷에 포함시켜 네트워크를 통해 전송하는 FEC 정보 설정부를 포함한다. A server of a digital broadcasting system according to an aspect of the present invention for achieving the above object, the Forward Error Correction (FEC) group for setting a predetermined number of multicast packets to the FEC group for transmission of digital broadcast data (MPEG TS) Setting unit; A data dividing unit for dividing the digital broadcast data (MPEG TSs) of the multicast packets included in the FEC group by a predetermined number; And dividing the digital broadcast data (MPEG TSs) of the multicast packets included in the FEC group into a predetermined number, respectively, and forwarding the respective multicast packets by performing an exclusive logical sum (XOR) operation on the divided digital broadcast data (MPEG TSs). And an FEC information setting unit configured to set error correction information and include the same in a multicast packet and transmit the same through a network.

상기 디지털 방송 시스템의 서버는, FEC 그룹 내에 멀티캐스트 패킷들의 스트림 ID, 시퀀스 넘버, 멀티캐스트 패킷들의 순서를 설정하여 멀티캐스트 패킷에 포함시키는 FEC 헤더 설정부를 더 포함할 수 있다. The server of the digital broadcasting system may further include an FEC header setting unit configured to set a stream ID, a sequence number, and an order of the multicast packets of the multicast packets in the FEC group to include in the multicast packet.

상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 디지털 방송 시스템의 셋톱박스는, 네트워크를 통해 수신되는 멀티캐스트 패킷들 중 멀티캐스트 패킷의 유실여부를 멀티캐스트 패킷에 포함된 시퀀스 넘버를 통해 판단하는 에러 판단부; 적어도 하나 이상의 버퍼; 및 FEC 그룹 중 유실된 멀티캐스트 패킷을 제외한 나머지 멀티캐스트 패킷의 FEC 데이터 복구를 통해 유실된 멀티캐스트 패킷을 복구하는 에러 정정부를 포함한다. The set-top box of the digital broadcasting system according to an aspect of the present invention for achieving the above object, to determine whether the loss of the multicast packet among the multicast packets received through the network through the sequence number included in the multicast packet An error determination unit; At least one buffer; And an error correction unit for recovering the lost multicast packet through FEC data recovery of the remaining multicast packets except for the lost multicast packet in the FEC group.

상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 디지털 방송 시스템에서 서버의 에러 정정을 위한 정보설정방법은, 디지털 방송 데이터(MPEG TS)의 전송을 위해 일정 수의 멀티캐스트 패킷들을 FEC 그룹으로 설정하는 단계; FEC 그룹 내에 포함된 멀티캐스트 패킷들의 디지털 방송 데이터(MPEG TS)들을 각각 일정 수로 분할하는 단계; 복구를 위한 헤더정보를 구성하는 FEC헤더를 설정하는 단계; FEC 그룹 내에 포함된 멀티캐스트 패킷들의 디지털 방송 데이터(MPEG TS)들을 각각 일정 수로 분할하고, 각각 분할된 디지털 방송 데이터(MPEG TS)들을 이용하여 각각의 멀티캐스트 패킷들의 순방향 에러 정정 정보를 설정하여 해당 멀티캐스트 패킷에 포함시켜 네트워크를 통해 전송하는 단계를 포함한다.In the digital broadcasting system according to an aspect of the present invention for achieving the above object, the information setting method for error correction of the server, the predetermined number of multicast packets for the transmission of digital broadcast data (MPEG TS) to the FEC group Doing; Dividing the digital broadcast data (MPEG TSs) of the multicast packets included in the FEC group by a predetermined number; Setting an FEC header constituting header information for recovery; The digital broadcast data (MPEG TS) of the multicast packets included in the FEC group is divided into a predetermined number, and the forward error correction information of each multicast packet is set by using the divided digital broadcast data (MPEG TS). Including in a multicast packet and transmitting over the network.

상기 네트워크를 통해 전송하는 단계는, 각각 분할된 디지털 방송 데이터(MPEG TS)들을 배타적 논리합(XOR) 연산을 통해 각각의 멀티캐스트 패킷들의 순방향 에러 정정 정보를 설정하는 단계를 포함한다.The step of transmitting through the network includes setting forward error correction information of each multicast packet through an exclusive OR (XOR) operation on the divided digital broadcast data (MPEG TSs).

상기 디지털 방송 시스템에서 서버의 에러 정정을 위한 정보설정방법은, FEC 그룹 내에 멀티캐스트 패킷들의 스트림 ID, 시퀀스 넘버, 멀티캐스트 패킷들의 순서를 설정하여 멀티캐스트 패킷에 포함시키는 단계를 더 포함할 수 있다.An information setting method for error correction of a server in the digital broadcasting system may further include setting a stream ID, a sequence number, and a sequence of multicast packets in a multicast packet in an FEC group. .

상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 디지털 방송 시스템에 서 셋톱박스의 에러 정정 방법은, 네트워크를 통해 수신되는 멀티캐스트 패킷들 중 멀티캐스트 패킷의 유실여부를 멀티캐스트 패킷에 포함된 시퀀스 넘버를 통해 판단하는 단계; 와 FEC 그룹 중 유실된 멀티캐스트 패킷을 제외한 나머지 멀티캐스트 패킷의 FEC 데이터를 통해 유실된 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS) 조각 복구하고 복구된 디지털 방송 데이터(MPEG TS) 조각을 조합하여 유실된 멀티캐스트 패킷을 복구하는 단계를 포함한다. In the digital broadcasting system according to an aspect of the present invention for achieving the above object, the error correction method of the set-top box, the sequence included in the multicast packet whether the loss of the multicast packet among the multicast packets received through the network Determining through the number; Recovers the lost digital broadcast data (MPEG TS) fragments of the lost multicast packet through the FEC data of the remaining multicast packets except the lost multicast packets in the FEC group, and combines the recovered digital broadcast data (MPEG TS) fragments. Recovering the made multicast packet.

상술한 바와 같이, 본 발명의 디지털 방송 시스템 및 그 시스템의 에러 정정 방법에 따르면, 유실된 패킷의 복구를 위한 FEC 데이터를 FEC 그룹의 멀티캐스트 패킷에 포함시켜 전송함으로써 네트워크의 부하를 줄일 수 있다.As described above, according to the digital broadcasting system and the error correction method of the system of the present invention, it is possible to reduce the load on the network by including the FEC data for the recovery of lost packets in the multicast packet of the FEC group.

이하 본 발명에 따른 디지털 방송 시스템 및 그 시스템의 에러 정정 방법을 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, a digital broadcasting system and an error correction method thereof according to the present invention will be described in detail with reference to the accompanying drawings.

또한, 이해의 편의를 위하여 비록 다른 도면에 속하더라도 동일한 구성요소에는 동일한 부호를 부여하였음을 주의하여야 한다.In addition, it should be noted that the same reference numerals are given to the same elements, although belonging to different drawings for convenience of understanding.

도 2는 본 발명에 따른 디지털 방송 시스템에 대한 구성을 나타낸 도면이다.2 is a diagram illustrating a configuration of a digital broadcasting system according to the present invention.

MPEG-TS가 원래 케이블 방송과 같은 망을 기반으로 만들어 졌기 때문에 케이블에서 MPEG로 전송할 때는 188 바이트 단위로 나눈 후 RS-CODE를 추가하여 오류정 정을 한다(Digital Video Broadcasting 표준). Since MPEG-TS was originally made based on the same network as cable broadcasting, when cable-to-MPEG transmission is divided into 188 bytes, error correction is performed by adding RS-CODE (Digital Video Broadcasting standard).

이런 방식이 표준으로 잡힌 후, 방송장비들은 대부분 MPEG-TS를 이용하여 인코딩하게 되고, IP TV들은 대부분 MPEG-TS 방식에 맞추기 위해 188 단위의 7배인 1316 바이트를 기준으로 사용하게 된다. After this method is set as standard, broadcast equipments are mostly encoded using MPEG-TS, and IP TVs are mostly used based on 1316 bytes, which is 7 times 188 units, to conform to MPEG-TS.

여기서 이더넷의 한 패킷의 최대값은 1500 바이트이기 때문에 상기에서와 같이 1344 바이트를 사용함으로써 156 바이트의 공간이 남는다. Since the maximum value of one packet of Ethernet is 1500 bytes, the space of 156 bytes is left by using 1344 bytes as described above.

따라서 본원에서는 남는 156 바이트를 FEC 필드로 사용함으로써, 1500 바이트로 설정된 많은 장비의 성능을 최대한 발휘할 수 있게 된다. Therefore, in the present application, by using the remaining 156 bytes as the FEC field, it is possible to maximize the performance of many equipment set to 1500 bytes.

즉, 많은 이더넷 장비들이 1500 바이트로 설정되어 있기 때문에 1500 이상으로 올릴 수가 없으므로 최대한 1500 바이트에 근접한 값을 사용한다. In other words, since many Ethernet devices are set to 1500 bytes, they cannot be raised above 1500. Therefore, use values as close to 1500 bytes as possible.

도 2에 도시된 바와 같이, 본 발명에 따른 디지털 방송 시스템은 스트림 서버(20), FEC 서버(30) 및 다수의 셋톱박스(40)를 포함한다.As shown in FIG. 2, the digital broadcasting system according to the present invention includes a stream server 20, an FEC server 30, and a plurality of set top boxes 40.

스트림 서버(20)는 방송국(도시하지 않음)에서 제공한 디지털 방송 데이터(MPEG TS)를 MPEG-TS 포맷의 멀티캐스트 패킷으로 변환하여 FEC 서버(30)에 제공한다. The stream server 20 converts the digital broadcast data (MPEG TS) provided by a broadcasting station (not shown) into a multicast packet of MPEG-TS format and provides it to the FEC server 30.

FEC 서버(30)는 스트림 서버(20)에서 제공된 멀티캐스트 패킷들을 일정 단위 수(예를 들어, 10)만큼 FEC 그룹으로 묶고, FEC 그룹의 멀티캐스트 패킷 수에서 1을 감산하여 얻어진 값으로 멀티캐스트 패킷에 포함된 디지털 방송 데이터(MPEG TS)의 크기를 나누어 프레그먼트 사이즈(fragment_size)를 구한다.The FEC server 30 bundles the multicast packets provided by the stream server 20 into the FEC group by a certain number of units (for example, 10), and subtracts 1 from the number of multicast packets of the FEC group by multicast. The fragment size (fragment_size) is obtained by dividing the size of the digital broadcast data (MPEG TS) included in the packet.

FEC 서버(30)는 FEC 그룹의 멀티캐스트 패킷 수와 프레그먼트 사이즈를 이용 하여 유실된 멀티캐스트 패킷의 복구에 필요한 FEC 데이터를 각각의 멀티캐스트 패킷마다 생성하고, 생성된 FEC 데이터를 해당 멀티캐스트 패킷에 포함시켜 IP 네트워크를 통해 셋톱박스(40)로 멀티캐스팅 한다. The FEC server 30 generates FEC data for each multicast packet necessary for the recovery of the lost multicast packet by using the number of multicast packets and the fragment size of the FEC group, and generates the generated FEC data in the corresponding multicast. The packet is included in the packet and multicasted to the set-top box 40 through the IP network.

셋톱박스(40)는 IP 네트워크를 통해 전송된 멀티캐스트 패킷을 디코딩을 통해 압축 해제하여 얻어진 디지털 방송데이터를 디지털 텔레비전에 제공한다.The set top box 40 provides the digital television with digital broadcast data obtained by decompressing a multicast packet transmitted through an IP network through decoding.

한편, IP 네트워크를 통해 전송된 멀티캐스트 패킷들 중 유실된 멀티캐스트 패킷이 발생되면, 셋톱박스(40)는 유실된 멀티캐스트 패킷의 복구를 위해 FEC 그룹에 해당되는 멀티캐스트 패킷에 포함된 FEC 데이터를 이용하여 유실된 멀티캐스트 패킷을 복구한다.Meanwhile, when a lost multicast packet is generated among the multicast packets transmitted through the IP network, the set-top box 40 performs FEC data included in the multicast packet corresponding to the FEC group to recover the lost multicast packet. Recover the lost multicast packet using.

즉, 셋톱박스(40)는 네트워크를 통해 수신되는 멀티캐스트 패킷들 중 멀티캐스트 패킷의 유실이 발생하면, 유실된 멀티캐스트 패킷을 제외한 나머지 멀티캐스트 패킷의 FEC 데이터를 통해 유실된 디지털 방송 데이터(MPEG TS)의 조각을 각각 복구하고 복구된 디지털 방송 데이터(MPEG TS) 조각을 조합하여 유실된 멀티캐스트 패킷을 복구한다. That is, when the multicast packet is lost among the multicast packets received through the network, the set-top box 40 loses the digital broadcast data (MPEG) lost through the FEC data of the remaining multicast packets except the lost multicast packet. Each piece of TS) is recovered and the recovered pieces of digital broadcast data (MPEG TS) are combined to recover lost multicast packets.

도 3은 본 발명에 따른 FEC 서버에 대한 구성을 나타낸 도면이다.3 is a diagram illustrating a configuration of an FEC server according to the present invention.

도 3에 도시된 바와 같이, 본 발명에 따른 FEC 서버는 FEC 그룹 설정부(31), FEC 헤더 생성부(32), 스트림 ID 설정부(33), 시퀀스 넘버 설정부(34), 순서 설정부(35), FEC 정보 설정부(36) 및 데이터 분할부(39)를 포함한다.As shown in FIG. 3, the FEC server according to the present invention includes an FEC group setting unit 31, an FEC header generating unit 32, a stream ID setting unit 33, a sequence number setting unit 34, and a sequence setting unit. 35, an FEC information setting unit 36 and a data partitioning unit 39.

FEC 그룹 설정부(31)는 스트림 서버로부터 제공되는 멀티캐스트 패킷들을 설정된 수(예를 들어, 10)만큼 FEC 그룹으로 설정한다. The FEC group setting unit 31 sets the multicast packets provided from the stream server to the FEC group by a set number (for example, 10).

이때, 스트림 서버로부터 제공된 멀티캐스트 패킷의 포맷이 도 5에 도시되어 있다.At this time, the format of the multicast packet provided from the stream server is shown in FIG.

도 5에 도시된 바와 같이, 멀티캐스트 패킷은 IP 주소 필드(50), UDP 필드(51), 디지털 방송 데이터(MPEG TS) 필드(52) 및 FEC Header 필드(53), FEC Data 필드(54)로 구성된다. As shown in FIG. 5, the multicast packet includes an IP address field 50, a UDP field 51, a digital broadcast data (MPEG TS) field 52, an FEC header field 53, and an FEC Data field 54. It consists of.

IP 주소 필드(50)는 멀티캐스트 패킷을 발생한 출발지인 스트림 서버의 IP 주소와 멀티캐스트 패킷이 전송될 FEC 그룹 주소를 포함하며, 20(바이트(byte)의 크기를 갖는다. The IP address field 50 includes the IP address of the stream server that originated the multicast packet and the FEC group address to which the multicast packet is transmitted, and has a size of 20 (bytes).

UDP 필드(51)는 멀티캐스트 패킷이 UDP 프로토콜을 이용하여 전송됨을 나타내며, 8바이트(byte)의 크기를 갖는다. The UDP field 51 indicates that the multicast packet is transmitted using the UDP protocol and has a size of 8 bytes.

디지털 방송 데이터(MPEG TS) 필드(52)는 디지털 방송 데이터(MPEG TS)를 포함하며, 1316 바이트(byte)의 크기를 갖는다.The digital broadcast data (MPEG TS) field 52 includes digital broadcast data (MPEG TS) and has a size of 1316 bytes.

FEC Header 필드(53)는 유실된 멀티캐스트 패킷의 복구를 위해 생성된 FEC의 설정 정보를 포함하며, 8 바이트(byte)의 크기를 갖는다.The FEC Header field 53 includes configuration information of the FEC generated for the recovery of the lost multicast packet and has a size of 8 bytes.

FEC Data 필드(54)는 유실된 멀티캐스트 패킷의 복구를 위해 생성된 FEC 데이터를 포함하며, 도6의 fragment_size의 크기를 갖는다.The FEC Data field 54 includes FEC data generated for the recovery of lost multicast packets and has a size of fragment_size of FIG. 6.

도 6은 멀티캐스트 패킷의 FEC 데이터를 생성할 때 사용된 정보들과 손실된 패킷의 정보를 추적할 수 있는 정보들로 구성되며, 셋톱박스에서 손실된 패킷을 복구할 때 필요한 정보들이다.FIG. 6 includes information used when generating FEC data of a multicast packet and information capable of tracking lost packet information, and are information required when recovering a lost packet in a set-top box.

도 6에 도시된 바와 같이, FEC 헤더는 FEC 그룹 사이즈(group_size), 스트림 ID(stream_ID), FEC 그룹 내의 멀티캐스트 패킷순서(diff), 프레그먼트 사이즈(fragment_size), 시퀀스 넘버(sequence number)로 구성된다. As shown in FIG. 6, the FEC header is divided into FEC group size (group_size), stream ID (stream_ID), multicast packet order (diff), fragment size (fragment_size), and sequence number in the FEC group. It is composed.

FEC 그룹 사이즈(group_size)는 FEC 그룹의 전체 멀티캐스트 패킷 수가 FEC 그룹 사이즈(group_size)이다. 여기서 FEC 그룹이란 FEC Data를 구성할 때 사용되는 서로 배타적 논리합으로 연관되는 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS)의 조각 모음이다. 예를 들어 한 개의 멀티캐스트 패킷이 손실되었을 때 FEC 그룹 내의 다른 모든 멀티캐스트 패킷들로 손실된 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS) 부분을 복구한다. FEC 그룹당 손실된 패킷 1개를 복구할 수 있으므로 FEC 그룹 사이즈(group_size)는 작을수록 복구율이 좋아지지만 네트워크 오버헤드는 높아진다.The FEC group size (group_size) is the total number of multicast packets of the FEC group is the FEC group size (group_size). Here, the FEC group is a defragmentation of digital broadcast data (MPEG TS) of multicast packets associated with mutually exclusive logical ORs used when composing FEC data. For example, when one multicast packet is lost, the digital broadcast data (MPEG TS) portion of the lost multicast packet is recovered to all other multicast packets in the FEC group. Since one lost packet per FEC group can be recovered, the smaller the FEC group size (group_size), the better the recovery rate but the higher the network overhead.

스트림 ID(stream_ID)는 멀티캐스트 스트림에 포함된 디지털 방송 데이터(MPEG TS)와 다른 디지털 방송 데이터(MPEG TS)를 구별하기 위한 ID를 나타낸다. The stream ID (stream_ID) indicates an ID for distinguishing the digital broadcast data (MPEG TS) and other digital broadcast data (MPEG TS) included in the multicast stream.

멀티캐스트 패킷순서(diff)는 한 FEC그룹의 첫 번째 멀티캐스트 패킷은 0이고 다음 패킷부터 1씩 증가하며, 그 그룹의 마지막 패킷은 group_size - 1의 값을 갖는다.The multicast packet order (diff) is the first multicast packet of one FEC group is 0 and is incremented by 1 from the next packet, and the last packet of the group has a value of group_size-1.

프레그먼트 사이즈(fragment_size)는 FEC Data를 생성하기 위해 디지털 방송 데이터(MPEG TS)를 나누는 크기를 나타내며, 결과적으로 FEC Data 크기와 일치한다. The fragment size (fragment_size) represents the size of dividing the digital broadcast data (MPEG TS) to generate the FEC data, and consequently coincides with the size of the FEC data.

시퀀스 넘버(sequence_number)는 멀티캐스트 패킷마다 부여되는 번호를 나타내며, 유실된 멀티캐스트 패킷을 파악하는데 이용된다.The sequence number (sequence_number) represents a number assigned to each multicast packet and is used to identify lost multicast packets.

이하에서, 도 5의 FEC Header 필드와 FEC Data를 설정하는 방법에 대해서 살펴보기로 한다. Hereinafter, a method of setting the FEC header field and the FEC data of FIG. 5 will be described.

여기서 도 6은 FEC Header 필드를 나타내는 도면이다. 6 is a diagram illustrating an FEC header field.

먼저 FEC 그룹 사이즈(group_size)를 정하는데, 10 ~ 255 범위내의 값을 네트워크 상황에 따라 임의로 선택할 수 있다. First, the FEC group size (group_size) is determined. A value within the range of 10 to 255 may be arbitrarily selected according to network conditions.

한 개의 FEC 그룹 당 손실된 멀티캐스트 패킷 1개를 복구 할 수 있으므로 값이 작을수록 복구율이 좋아지지만 네트워크의 오버헤드가 높아지므로, 적절한 선에서 운영자가 선택할 수 있다. Since one lost multicast packet can be recovered per FEC group, the smaller the value, the better the recovery rate, but the higher the network overhead, the operator can choose from the appropriate line.

이하에서는 group_size가 10인 경우를 예시로 하였다. In the following, the case where group_size is 10 is taken as an example.

FEC 그룹 사이즈가 정의되면, FEC헤더 설정부(32)는 group_size 필드에 정의된 값을 설정하고, 1316/(group_size-1) 값보다 크고 148보다 작은 값의 범위 안에 있는 양의 정수로 프레그먼트 사이즈(fragment_size)를 정의한다. When the FEC group size is defined, the FEC header setting unit 32 sets a value defined in the group_size field, and fragments are positive integers within a range of values greater than 1316 / (group_size-1) and less than 148. Defines the size (fragment_size).

1316 / ( group_size - 1 ) <= fragment_size <= 1481316 / (group_size-1) <= fragment_size <= 148

다음으로 FEC 헤더 설정부(32)는 스트림 ID설정부(33)를 통해 스트림 ID(stream_ID)를 기록한다. Next, the FEC header setting unit 32 records the stream ID (stream_ID) through the stream ID setting unit 33.

스트림 ID(stream_ID)는 디지털 방송 스트림 한 개 채널당 한 개씩 설정되는 값으로 이 값 역시 운영자가 임의로 정의 할 수 있고, 셋톱박스에서 이 값이 같은 스트림에 대해서 시퀀스 넘버(sequence_number)를 파악하여 멀티캐스트 패킷 손실 여부를 확인하므로, 다른 채널과 중복되지 않게 정의하면 된다. The stream ID (stream_ID) is set to one channel for each digital broadcast stream. The value can be arbitrarily defined by the operator, and the multicast packet can be obtained by identifying a sequence number for streams having the same value in the set-top box. Since the loss is checked, it can be defined not to overlap with other channels.

FEC 헤더 설정부(32)는 스트림 ID의 설정이 완료되면, 디지털 방송 데이터(MPEG TS)의 순서에 상응하도록 FEC 그룹 내에 속한 멀티캐스트 패킷들에 시퀀스 넘버(sequence_number)를 시퀀스 넘버 설정부(34)를 통해 설정한다. 시퀀스 넘버(sequence_number)는 셋톱박스에서 멀티캐스트 패킷 손실 여부를 파악하기 위해서 설정되는 값으로 0부터 1씩 증가되는 값이고, 최댓값인 65535 이후 멀티캐스트 패킷은 0부터 설정된다.When the stream ID setting is completed, the FEC header setting unit 32 assigns a sequence number (sequence_number) to the multicast packets belonging to the FEC group so as to correspond to the order of the digital broadcast data (MPEG TS). Set via. The sequence number is set to determine whether or not a multicast packet is lost in the set-top box. The sequence number is increased from 0 to 1, and the multicast packet after the maximum value 65535 is set to 0.

FEC 헤더 설정부(32)는 시퀀스 넘버의 설정이 완료되면, FEC 그룹 내에 포함된 멀티캐스트 패킷들의 순서(diff)를 순서 설정부(35)를 통해 설정한다. 여기서 그룹 내의 멀티캐스트 패킷 순서(diff)는 FEC 그룹 내의 첫 번째 패킷에서부터 떨어진 거리 값을 정의한 내용으로, FEC 그룹 내의 첫 번째 패킷은 0, 두 번째 패킷은 1이며, 이후 1씩 증가하고, FEC 그룹 내의 마지막 패킷은 group_size - 1의 값이 된다. When the setting of the sequence number is completed, the FEC header setting unit 32 sets the order of the multicast packets included in the FEC group through the order setting unit 35. In this case, the multicast packet order (diff) in the group defines a distance value from the first packet in the FEC group. The first packet in the FEC group is 0, the second packet is 1, and then increases by 1, and the FEC group The last packet in it is a value of group_size-1.

FEC 헤더 설정부(32)는 FEC 그룹 내의 멀티캐스트 패킷 순서 설정(35)이 완료되면, 설정된 스트림 ID와 각각의 시퀀스 넘버, group_size, 멀티캐스트 패킷 순서(diff), 및 프레그먼트 사이즈를 각각의 멀티캐스트 패킷의 FEC 헤더에 포함시킨다. When the multicast packet order setting 35 in the FEC group is completed, the FEC header setting unit 32 selects the set stream ID, each sequence number, group_size, multicast packet order, and fragment size, respectively. Included in the FEC header of the multicast packet.

이하에서, 도 5에 도시된 FEC Data 필드 부분을 설정하는 방법에 대해서 살펴보기로 한다.Hereinafter, a method of setting the part of the FEC Data field shown in FIG. 5 will be described.

FEC Data 필드(54)는 FEC 정보 설정부(36)를 통해 생성된 데이터를 저장하는 필드이며, FEC 정보 설정부(36)는 FEC 헤더 설정부(32)에서 각각의 멀티캐스트 패킷의 FEC 헤더에 정보 설정이 완료되면, FEC 헤더에 설정된 프레그먼트 사이즈(fragment_size)를 이용하여 멀티캐스트 패킷에 포함된 디지털 방송 데이터(MPEG TS)를 분할한다.The FEC Data field 54 is a field for storing data generated by the FEC information setting unit 36, and the FEC information setting unit 36 is assigned to the FEC header of each multicast packet by the FEC header setting unit 32. When information setting is completed, the digital broadcast data (MPEG TS) included in the multicast packet is divided using the fragment size (fragment_size) set in the FEC header.

이러한 프레그먼트 사이즈에 의해 분할된 디지털 방송 데이터(MPEG TS)에 대한 예시가 도 7에 도시되어 있다. 도 7은 프레그먼트 사이즈(fragment_size)가 148일 때 디지털 방송 데이터(MPEG TS)를 분할한 내용이다. 디지털 방송 데이터(MPEG TS)는 프레그먼트 사이즈(fragment_size) 148에 의해서 9개의 148바이트(byte) 크기로 분할됨을 알 수 있다.An example of the digital broadcast data (MPEG TS) divided by this fragment size is shown in FIG. 7. FIG. 7 shows content obtained by dividing the digital broadcast data (MPEG TS) when the fragment size (fragment_size) is 148. FIG. It can be seen that the digital broadcast data (MPEG TS) is divided into nine 148 bytes by the fragment size (148).

FEC 정보 설정부(36)는 디지털 방송 데이터(MPEG TS)를 프레그먼트 사이즈 조각으로 분할한 후, 도 5에 도시된 멀티캐스트 패킷의 FEC Data 영역에 삽입될 FEC 데이터를 구한다. The FEC information setting unit 36 divides the digital broadcast data (MPEG TS) into fragment size pieces. Subsequently, FEC data to be inserted into the FEC Data area of the multicast packet shown in FIG. 5 is obtained.

이에 대해서 좀 더 구체적으로 살펴보기로 한다.This will be described in more detail.

먼저, FEC 정보 설정부(36)는 디지털 방송 데이터(MPEG TS)를 조각들로 분할한 후, 제1버퍼(37) 및 제2버퍼(38)를 초기화한다. 이때, 제1버퍼(37) 및 제2버퍼(38)는 프레그먼트 사이즈를 갖는 것이 바람직하다. First, the FEC information setting unit 36 divides the digital broadcast data MPEG TS into pieces, and then initializes the first buffer 37 and the second buffer 38. At this time, it is preferable that the first buffer 37 and the second buffer 38 have a fragment size.

FEC 정보 설정부(36)는 FEC 데이터를 복구하기 위한 FEC 그룹 내 멀티캐스트 패킷의 순서(n)와 디지털 방송 데이터(MPEG TS) 조각을 추출하기 위한 멀티캐스트 패킷의 순서(diff)가 일치하지 않으면, 멀티캐스트 패킷(n)의 "diff-1"번째 디지털 방송 데이터(MPEG TS) 조각을 제 2 버퍼(38)에 저장한다. If the order (n) of the multicast packets in the FEC group for recovering the FEC data and the order (diff) of the multicast packets for extracting the digital broadcast data (MPEG TS) fragments do not match, the FEC information setting unit 36 does not match. The "diff-1" th digital broadcast data (MPEG TS) fragment of the multicast packet n is stored in the second buffer 38.

FEC 정보 설정부(36)는 제1버퍼(37)에 저장된 FEC 데이터와 제2버퍼(38)에 저장된 디지털 방송 데이터(MPEG TS) 조각을 배타적 논리 합(XOR) 연산하고, 연산하여 얻어진 결과 값을 제1버퍼(37)에 저장한다.The FEC information setting unit 36 performs an exclusive logical sum (XOR) operation on the FEC data stored in the first buffer 37 and the pieces of digital broadcast data (MPEG TS) stored in the second buffer 38, and the result value obtained by the calculation. Is stored in the first buffer 37.

FEC 정보 설정부(36)는 FEC 데이터를 복구하기 위한 FEC 그룹 내 멀티캐스트 패킷의 순서(n)와 디지털 방송 데이터(MPEG TS) 조각을 추출하기 위한 멀티캐스트 패킷의 순서(diff)가 일치하면, 다음 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS) 조각을 추출하기 위해 멀티캐스트 패킷(n)에 설정 값 '1' 만큼 증가시킨다. 즉, 다음 디지털 방송 데이터(MPEG TS) 조각을 추출하기 위해 멀티캐스트 패킷(n)은 "diff+1"로 저장된다. If the order (n) of the multicast packets in the FEC group for recovering the FEC data and the order (diff) of the multicast packets for extracting the digital broadcast data (MPEG TS) fragments match, the FEC information setting unit 36 In order to extract the digital broadcast data (MPEG TS) fragment of the next multicast packet, the multicast packet n is increased by a set value '1'. That is, the multicast packet n is stored as "diff + 1" to extract the next piece of digital broadcast data (MPEG TS).

반면에 FEC 정보 설정부(36)는 설정된 값만큼 증가된 멀티캐스트 패킷의 카운터(n) 순서와 FEC 그룹 사이즈가 일치하지 않으면, 카운터(n) 순서에 해당되는 멀티캐스트 패킷의 diff 번째 디지털 방송 데이터(MPEG TS) 조각을 제2버퍼(38)에 저장한다. On the other hand, if the counter n order of the multicast packet increased by the set value and the FEC group size do not match, the FEC information setting unit 36 diff-diff digital broadcast data of the multicast packet corresponding to the counter n order. (MPEG TS) A piece is stored in the second buffer 38.

FEC 정보 설정부(36)는 제1버퍼(37)에 저장된 멀티캐스트 패킷(n)의 FEC 데이터와 제2버퍼(38)에 저장된 디지털 방송 데이터(MPEG TS) 조각을 배타적 논리 합(XOR) 연산하고, 연산하여 얻어진 결과 값을 제1버퍼(37)에 저장한다. The FEC information setting unit 36 performs an exclusive logical sum (XOR) operation on the FEC data of the multicast packet n stored in the first buffer 37 and the pieces of digital broadcast data (MPEG TS) stored in the second buffer 38. The resultant value obtained by the calculation is stored in the first buffer 37.

FEC 정보 설정부(36)는 FEC 그룹에서 멀티캐스트 패킷의 현재 순서(n=diff+1)와 FEC 그룹 사이즈가 일치하면, 제1버퍼(37)에 저장된 값을 멀티캐스트 패킷(n)의 FEC 데이터 영역에 삽입한다.If the current order (n = diff + 1) of the multicast packet and the FEC group size match in the FEC group, the FEC information setting unit 36 stores the value stored in the first buffer 37 in the FEC of the multicast packet n. Insert into the data area.

FEC 정보 설정부(36)는 제1버퍼(37)에 저장된 값이 FEC 데이터 영역에 삽입이 완료되면, 해당 멀티캐스트 패킷을 IP 네트워크를 통해 멀티캐스팅 한다.The FEC information setting unit 36 multicasts the corresponding multicast packet through the IP network when the value stored in the first buffer 37 is inserted into the FEC data area.

도 4는 본 발명에 따른 셋톱박스에 대한 구성을 나타낸 도면이다.4 is a diagram illustrating a configuration of a set top box according to the present invention.

도 4에 도시된 바와 같이, 본 발명에 따른 셋톱박스(40)는 네트워크 인터페이스(41), 에러 판단부(42) 및 에러 정정부(43)를 포함한다.As shown in FIG. 4, the set top box 40 according to the present invention includes a network interface 41, an error determining unit 42, and an error correcting unit 43.

에러 판단부(42)는 IP 네트워크를 통해 수신되는 멀티캐스트 패킷의 스트림 중 유실되는 멀티캐스트 패킷을 시퀀스 넘버를 이용하여 판단하고, 멀티캐스트 패킷의 유실이 발생하면 에러 정정부(43)에 유실된 멀티캐스트 패킷의 복구를 제어한다.The error determining unit 42 determines the lost multicast packet using the sequence number among the streams of the multicast packet received through the IP network. When the multicast packet is lost, the error determining unit 42 is lost to the error correcting unit 43. Controls recovery of multicast packets.

에러 정정부(43)는 유실된 멀티캐스트 패킷에 포함된 디지털 방송 데이터(MPEG TS)를 복구하기 위해서, FEC 그룹 중 유실된 멀티캐스트 패킷을 제외한 나머지 멀티캐스트 패킷의 FEC 데이터를 통해 유실된 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS) 조각을 복구하고, 그 복구된 디지털 방송 데이터(MPEG TS)들을 조합하여 유실된 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS)를 복구한다. The error correction unit 43 recovers the digital broadcast data (MPEG TS) included in the lost multicast packet, and lost the multicast through the FEC data of the remaining multicast packets except for the lost multicast packet in the FEC group. Recover the digital broadcast data (MPEG TS) fragment of the packet and combine the recovered digital broadcast data (MPEG TS) to recover the digital broadcast data (MPEG TS) of the lost multicast packet.

도 9는 본 발명에 따른 FEC 서버의 FEC 데이터 설정방법에 대한 동작 플로차트를 나타낸 도면이다.9 is a flowchart illustrating an operation of the FEC data setting method of the FEC server according to the present invention.

도 9에 도시된 바와 같이, FEC 서버는 제1버퍼(37), 제2버퍼(38) 및 FEC 그룹에서 멀티캐스트 패킷의 카운터(n) 순서를 초기화한다(S90). 이때, 제1버퍼(37) 및 제2버퍼(38)는 프레그먼트 사이즈를 갖는 것이 바람직하다. As shown in FIG. 9, the FEC server initializes a counter n order of multicast packets in the first buffer 37, the second buffer 38, and the FEC group (S90). At this time, it is preferable that the first buffer 37 and the second buffer 38 have a fragment size.

FEC 서버는 FEC데이터를 설정하기 위한 패킷의 diff와 도 9의 카운터 n이 일치하는지를 검사한다(S91). 여기서 diff는 도 6에서 설정한 FEC데이터를 생성하기 위한 diff값을 의미하고 플로우가 끝날 때까지 같은 값을 갖는다. 그리고 카운터 'n'이란, 도9에 도시된 바와 같이 디지털 방송 데이터(MPEG TS)를 "group_size-1"번의 XOR연산을 통해서 FEC 데이터를 생성할 때, "group_size -1 "번의 XOR연산을 수행하기 위해 카운터를 두었는데, 이 카운터가 'n'이다. The FEC server checks whether the diff of the packet for setting the FEC data and the counter n of FIG. 9 match (S91). Here, diff means a diff value for generating the FEC data set in FIG. 6 and has the same value until the end of the flow. As shown in FIG. 9, when the counter 'n' generates FEC data through digital group data (MPEG TS) through XOR operation of "group_size-1", performing "group_size -1" XOR operation. I set up a counter, which is 'n'.

FEC 서버는 FEC 그룹에서 멀티캐스트 패킷의 카운터(n) 순서와 FEC 데이터를 설정하기 위한 멀티캐스트 패킷의 FEC 그룹 내의 멀티캐스트 순서(diff)가 일치하지 않으면, FEC 그룹에서 카운터(n) 순서에 해당되는 멀티캐스트 패킷(n)의 diff-1번째 디지털 방송 데이터(MPEG TS) 조각을 제2버퍼(38)에 저장한다(S92).The FEC server corresponds to the counter (n) order in the FEC group if the counter (n) order of the multicast packets in the FEC group and the multicast diff in the FEC group of the multicast packet for setting the FEC data do not match. The diff-1 &lt; th &gt; digital broadcast data (MPEG TS) fragment of the multicast packet n to be stored is stored in the second buffer 38 (S92).

FEC 서버는 제1버퍼(37)에 저장된 디지털 방송 데이터(MPEG TS) 조각아 제2버퍼(38)에 저장된 디지털 방송 데이터(MPEG TS) 조각을 배타적 논리 합(XOR) 연산하고, 연산하여 얻어진 결과 값을 제1버퍼(37)에 저장한다(S93).The FEC server performs an exclusive logical sum (XOR) operation on the fragment of the digital broadcast data (MPEG TS) stored in the first buffer 37 and the fragment of the digital broadcast data (MPEG TS) stored in the second buffer 38. The value is stored in the first buffer 37 (S93).

FEC 서버는 다음 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS)의 조각을 추출하기 위해 카운터 n을 1만큼 증가시킨(S94) 후 제 91 단계(S91)로 진행한다.The FEC server increments the counter n by 1 (S94) to extract a fragment of the digital broadcast data (MPEG TS) of the next multicast packet, and then proceeds to step 91 (S91).

한편, FEC 서버는 FEC 그룹에서 멀티캐스트 패킷의 카운터(n) 순서와 FEC 데이터를 설정하고자 하는 멀티캐스트 패킷의 순서(diff)가 일치하면, FEC 데이터를 설정하고자 하는 멀티캐스트 패킷의 순서(diff)를 설정 값 1 만큼 증가시킴으로써 디지털 방송 데이터(MPEG TS) 조각을 추출할 멀티캐스트 패킷(n)을 "diff+1"로 설 정한다(S95). 즉, 상기 FEC 서버가 제1버퍼에 XOR연산을 할 디지털 방송 데이터(MPEG TS) 조각이 FEC 데이터를 구성하려는 멀티캐스트 패킷과 동일하기 때문에, "n 과 diff"가 같아지면 다음 멀티캐스트 패킷을 선택하기 위해 'n'을 "diff+1"의 값으로 설정한다. On the other hand, if the order (n) of the multicast packets and the order (diff) of the multicast packets to set the FEC data match in the FEC group, the FEC server indicates the order of the multicast packets to set the FEC data (diff). Is increased by a setting value of 1 to set the multicast packet n from which the digital broadcast data (MPEG TS) fragment is extracted to "diff + 1" (S95). That is, since the fragment of the digital broadcast data (MPEG TS) that the FEC server is to perform XOR operation on the first buffer is the same as the multicast packet to form the FEC data, if "n and diff" are equal, the next multicast packet is selected. Set 'n' to the value of "diff + 1".

FEC 서버는 설정된 값만큼 증가된 멀티캐스트 패킷의 카운터(n)와 FEC 그룹 사이즈가 일치한가를 검사한다(S96).The FEC server checks whether the counter n of the multicast packet increased by the set value and the FEC group size match (S96).

FEC 서버는 설정된 값만큼 증가된 멀티캐스트 패킷의 현재 순서 (n=diff+1)와 FEC 그룹 사이즈가 일치하지 않으면, 설정된 값만큼 증가된 멀티캐스트 패킷의 현재 순서(n=diff+1)에 해당되는 멀티캐스트 패킷의 분할된 디지털 방송 데이터(MPEG TS) 조각들에서 FEC 데이터를 설정하고자 하는 멀티캐스트 패킷의 순서(diff)에 해당되는 디지털 방송 데이터(MPEG TS) 조각을 제2버퍼(38)에 저장한다(S97).If the current order of multicast packets increased by the set value (n = diff + 1) and the FEC group size do not match, the FEC server corresponds to the current order of multicast packets increased by the set value (n = diff + 1). In the divided digital broadcast data (MPEG TS) fragments of the multicast packet, the digital broadcast data (MPEG TS) fragment corresponding to the sequence (diff) of the multicast packet for which FEC data is to be set is stored in the second buffer 38. Save (S97).

FEC 서버는 제1버퍼(37)에 저장된 디지털 방송 데이터(MPEG TS) 조각아 제2버퍼(38)에 저장된 디지털 방송 데이터(MPEG TS) 조각을 배타적 논리 합(XOR)으로 연산하고, 연산하여 얻어진 결과 값을 제1버퍼(37)에 저장한다(S98).The FEC server calculates the fragment of the digital broadcast data (MPEG TS) stored in the first buffer 37 and calculates the fragment of the digital broadcast data (MPEG TS) stored in the second buffer 38 as an exclusive logical sum (XOR). The result value is stored in the first buffer 37 (S98).

FEC 서버는 다음 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS)의 조각을 추출하기 위해 카운터 n을 1만큼 증가시킨(S99) 후 제 96 단계(S96)로 진행한다.The FEC server increments the counter n by 1 (S99) to extract a fragment of the digital broadcast data (MPEG TS) of the next multicast packet, and then proceeds to step 96 (S96).

한편, FEC 서버는 FEC 그룹에서 멀티캐스트 패킷의 현재 순서(n=diff+1)와 FEC 그룹 사이즈가 일치하면, 제1버퍼(37)에 저장된 값을 FEC 데이터필드에 삽입한 다. 이후, FEC 서버는 제1버퍼(37)에 저장된 값이 FEC 데이터 필드에 삽입이 완료되면, 해당 멀티캐스트 패킷을 IP 네트워크를 통해 멀티캐스팅 한다(S100).On the other hand, the FEC server inserts a value stored in the first buffer 37 into the FEC data field if the current order (n = diff + 1) of the multicast packet in the FEC group matches the FEC group size. After that, when the insertion of the value stored in the first buffer 37 into the FEC data field is completed, the FEC server multicasts the corresponding multicast packet through the IP network (S100).

도 9는 본 발명에 따른 FEC 서버의 FEC 데이터 설정방법을 도 8을 참조하여 좀 더 구체적으로 살펴보기로 한다.9 will be described in more detail with reference to FIG. 8 FEC data setting method of the FEC server according to the present invention.

도 8은 본 발명의 따른 FEC 그룹에 포함된 멀티캐스트 패킷들의 FEC 필드에 대해 예시한 도면이다.8 is a diagram illustrating an FEC field of multicast packets included in an FEC group according to the present invention.

도 8에 도시된 바와 같이, FEC 그룹에 포함된 멀티캐스트 패킷들은 A에서 J까지 10개임을 알 수 있다. 따라서 FEC 그룹 사이즈(group size)는 "10"임을 알 수 있다. FEC 그룹에 포함된 멀티캐스트 패킷들에 설정된 시퀀스 넘버(sequence number)는 100부터 109까지 설정되어 있음을 알 수 있다.As shown in FIG. 8, it can be seen that the number of multicast packets included in the FEC group is 10 from A to J. Therefore, it can be seen that the FEC group size is "10". It can be seen that the sequence number set in the multicast packets included in the FEC group is set from 100 to 109.

FEC 그룹에 포함된 멀티캐스트 패킷들의 순서는 A에 "0", B에 "1",...,J에 "9"임을 알 수 있다.It can be seen that the order of the multicast packets included in the FEC group is "0" for A, "1" for B, and "9" for J.

한편, FEC 그룹에 포함된 멀티캐스트 패킷들의 FEC 데이터를 생성하기 위한 디지털 방송 데이터(MPEG TS) 조각들이 예시되어 있다. 예를 들어, 멀티캐스트 패킷 A의 FEC 데이터를 생성하기 위한 디지털 방송 데이터(MPEG TS) 조각들은 B0, C0, D0, E0, F0, G0, H0, I0, J0이 있음을 알 수 있다. 여기서, B0에서 B는 멀티캐스트 패킷 B임을 나타내고, B0에서 숫자 "0"은 멀티캐스트 패킷 B의 첫 번째 디지털 방송 데이터(MPEG TS) 조각 위치를 나타낸다.Meanwhile, digital broadcast data (MPEG TS) fragments for generating FEC data of multicast packets included in the FEC group are illustrated. For example, it can be seen that pieces of digital broadcast data (MPEG TS) for generating FEC data of multicast packet A include B0, C0, D0, E0, F0, G0, H0, I0, J0. Here, B in B0 denotes a multicast packet B, and a number "0" in B0 denotes a location of the first digital broadcast data (MPEG TS) fragment of the multicast packet B.

이하에서, 멀티캐스트 패킷 C의 FEC 데이터 설정을 예로 하여 도 9에 도시된 FEC 설정방법에 대해서 살펴보기로 한다.Hereinafter, the FEC setting method illustrated in FIG. 9 will be described by using FEC data setting of the multicast packet C as an example.

FEC 서버는 제1버퍼(37), 제2버퍼(38) 및 FEC 그룹에서 멀티캐스트 패킷의 카운터(n) 순서를 초기화한다(S90). 이때, 제1버퍼(37) 및 제2버퍼(38)는 프레그먼트 사이즈를 갖는 것이 바람직하다. The FEC server initializes the counter n order of the multicast packets in the first buffer 37, the second buffer 38, and the FEC group (S90). At this time, it is preferable that the first buffer 37 and the second buffer 38 have a fragment size.

FEC 서버는 FEC 그룹에서 멀티캐스트 패킷의 카운터(n) 순서와 FEC 데이터를 설정하기 위한 멀티캐스트 패킷 순서(diff)가 일치한가를 검사한다(S91).The FEC server checks whether the counter (n) order of multicast packets and the multicast packet order (diff) for setting FEC data in the FEC group match (S91).

FEC 서버는 FEC 그룹에서 멀티캐스트 패킷의 현재 순서(n=0)와 FEC 데이터를 설정하기 위한 멀티캐스트 패킷의 FEC 그룹 내의 멀티캐스트 순서(diff=2)가 일치하지 않기 때문에 FEC 그룹에서 현재 순서(n=0)에 해당되는 멀티캐스트 패킷 A의 디지털 방송 데이터(MPEG TS) 조각 중 FEC 데이터를 설정하고자 하는 멀티캐스트 패킷의 순서(diff=2-1)에 해당되는 디지털 방송 데이터(MPEG TS) 조각 A1을 제2버퍼(38)에 저장한다(S92).The FEC server does not match the current order of multicast packets in the FEC group (n = 0) and the multicast order (diff = 2) in the FEC group of multicast packets for setting FEC data. n = 0) pieces of digital broadcast data (MPEG TS) of the multicast packet A corresponding to the sequence (diff = 2-1) of the multicast packets for which FEC data is to be set. A1 is stored in the second buffer 38 (S92).

FEC 서버는 제1버퍼(37)에 저장된 디지털 방송 데이터(MPEG TS) 조각과 제2버퍼(38)에 저장된 디지털 방송 데이터(MPEG TS) 조각을 배타적 논리 합(XOR)으로 연산하고, 연산하여 얻어진 결과 값을 다시 제1버퍼(37)에 저장한다(S93).The FEC server calculates and extracts the digital broadcast data (MPEG TS) pieces stored in the first buffer 37 and the digital broadcast data (MPEG TS) pieces stored in the second buffer 38 as an exclusive logical sum (XOR). The resultant value is stored in the first buffer 37 again (S93).

이후, FEC 서버는 FEC 그룹에서 멀티캐스트 패킷의 카운터(n) 순서를 설정된 수 "1" 만큼 증가(S94)시키고 제 91 단계(S91)로 진행한다.Thereafter, the FEC server increments the counter n order of the multicast packets in the FEC group by the set number " 1 " (S94) and proceeds to step 91 (S91).

이어서, FEC 서버는 제 91 단계(S91)에서 멀티캐스트 패킷의 카운터(n) 순서가 '1'이 되고, FEC 데이터를 설정하고자 하는 멀티캐스트 패킷의 순서(diff)가 '2'이므로 제 92 단계(S92)로 진행한다.Subsequently, in step 91, the FEC server sets the counter n order of the multicast packets to '1', and the multicast packet to set the FEC data is set to '2'. Proceed to S92.

즉, 제 92 단계(S92)에서는 FEC 서버가 멀티캐스트 패킷 B의 두 번째 디지털 방송 데이터(MPEG TS) 조각(B1)을 제2버퍼(38)에 저장한다. That is, in step 92, the FEC server stores the second digital broadcast data (MPEG TS) fragment B1 of the multicast packet B in the second buffer 38.

이어서, 상기 FEC 서버가 제1버퍼와 제2버퍼의 값을 XOR 연산을 수행한다(S93). Subsequently, the FEC server performs an XOR operation on the values of the first buffer and the second buffer (S93).

이때, 제1버퍼(37)에 저장된 값은 "0 XOR A1 XOR B1"의 결과 값이다.At this time, the value stored in the first buffer 37 is a result value of "0 XOR A1 XOR B1".

이후, FEC 서버는 멀티캐스트 패킷의 카운터(n) 순서를 "1" 증가시킨 후 제 91 단계(S91)로 진행한다(S94).Thereafter, the FEC server increments the counter n order of the multicast packet by "1" and then proceeds to step 91 (S91).

FEC 서버는 단계 S91에서 멀티캐스트 패킷의 카운터(n) 순서가 "2"로서 FEC 데이터를 설정하고자 하는 멀티캐스트 패킷의 순서(diff) "2"와 일치하므로 제 95 단계(S95)로 진행한다.In step S91, the FEC server proceeds to step 95 (S95) because the counter n order of the multicast packet matches "2" of the multicast packet to which FEC data is to be set as "2".

FEC 서버는 단계 S95에서 FEC 데이터를 설정하고자 하는 멀티캐스트 패킷의 순서(diff) "2"를 설정된 수 "1"만큼 증가시켜 멀티캐스트 패킷의 카운터(n) 순서에 저장한다. 따라서 FEC 데이터를 설정하고자 하는 멀티캐스트 패킷의 순서(n)는 "3"이 된다. 즉, FEC 데이터를 설정하고자 하는 멀티캐스트 패킷의 순서는 "diff(2)+1"이 되기 때문에 '3'이 된다. In step S95, the FEC server increments the sequence " 2 " of the multicast packets for which FEC data is to be set by the set number " 1 " and stores them in the counter n order of the multicast packets. Therefore, the order n of the multicast packets for which FEC data is to be set is "3". That is, since the order of the multicast packets for which FEC data is to be set is "diff (2) + 1", it becomes "3".

FEC 서버는 제 96 단계(S96)에서 FEC 데이터를 설정하고자 하는 멀티캐스트 패킷의 순서(n)는 "3"과 FEC 그룹 사이즈가 일치하는지 검사한다.In step 96, the FEC server checks whether the order n of the multicast packets for which FEC data is to be set is equal to "3" and the FEC group size.

FEC 서버는 제 96 단계(S96)에서 FEC 데이터를 설정하고자 하는 멀티캐스트 패킷의 순서(n) "3"과 FEC 그룹 사이즈가 "10"으로 일치하지 않으므로 단계 S97로 진행한다.In step 96, the FEC server proceeds to step S97 because the sequence (n) "3" of the multicast packet for which FEC data is to be set and the FEC group size do not coincide with "10".

따라서 FEC 서버는 멀티캐스트 패킷 D의 세 번째 디지털 방송 데이터(MPEG TS) 조각(D2)을 제2버퍼(38)에 저장하고, 제 98 단계(S98)로 진행한다. Therefore, the FEC server stores the third digital broadcast data (MPEG TS) fragment D2 of the multicast packet D in the second buffer 38, and proceeds to step 98 (S98).

FEC 서버는 제 98 단계(S98)에서 제1버퍼(37)의 값과 제2버퍼(38)의 값을 배타적 논리합(XOR)으로 연산하고 그 값을 다시 제1버퍼(37)에 저장한다. 이때, 제1버퍼(37)에 저장된 값은 "0 XOR A1 XOR B1 XOR D2"의 연산 결과 값이다.The FEC server computes the value of the first buffer 37 and the value of the second buffer 38 as an exclusive logical sum (OR) in step 98 and stores the value in the first buffer 37 again. At this time, the value stored in the first buffer 37 is the operation result value of "0 XOR A1 XOR B1 XOR D2".

FEC 서버는 단계 S99에서 멀티캐스트 패킷의 카운터(n) 순서를 "1" 증가시켜 제 96 단계(S96)로 진행한다.In step S99, the FEC server increments the counter n order of the multicast packets by "1" and proceeds to step 96 (S96).

이후, FEC 서버는 멀티캐스트 패킷의 카운터(n) 순서가 FEC 그룹 사이즈와 일치할 때까지 제 96 단계(S96) 내지 S99를 반복한다.Thereafter, the FEC server repeats steps 96 through S99 until the counter n order of the multicast packet matches the FEC group size.

FEC 서버는 제 96 단계(S96) 내지 제 99 단계(S99)를 반복한 후 FEC 그룹에서 멀티캐스트 패킷의 현재 순서와 FEC 그룹 사이즈가 일치하면, 단계 S100에서 제1버퍼(37)에 저장된 값을 FEC 데이터필드에 삽입한다. 이후, FEC 서버는 제1버퍼(37)에 저장된 값이 FEC 데이터 필드에 삽입이 완료되면, 해당 멀티캐스트 패킷을 IP 네트워크를 통해 멀티캐스팅 한다. The FEC server repeats steps 96 through 99 and if the current order of the multicast packets in the FEC group matches the size of the FEC group, the FEC server returns the value stored in the first buffer 37 in step S100. Insert into the FEC data field. After that, when the insertion of the value stored in the first buffer 37 into the FEC data field is completed, the FEC server multicasts the corresponding multicast packet through the IP network.

이때, FEC 데이터 필드에 삽입되는 값은 "0 XOR A1 XOR B1 XOR D2 XOR E2 XOR F2 XOR G2 XOR H2 XOR I2 XOR J2"의 연산 결과 값이다.At this time, the value inserted into the FEC data field is a result of operation of "0 XOR A1 XOR B1 XOR D2 XOR E2 XOR F2 XOR G2 XOR H2 XOR I2 XOR J2".

도 10은 본 발명에 따른 셋톱박스의 에러 검출 및 정정 방법에 대한 동작 플로차트를 나타낸 도면이다.10 is a flowchart illustrating an operation of an error detection and correction method of the set-top box according to the present invention.

FEC 그룹의 멀티캐스트 패킷이 모두 수신될 때까지 대기한다. Wait until all multicast packets of the FEC group are received.

여기서, 멀티캐스트 패킷을 수신하게 되면 바로 직전에 받았던 멀티캐스트 패킷의 FEC Header 정보와 방금 수신한 FEC Header정보를 비교하여 FEC group이 바뀌었는지 확인한다. 확인하는 방법은 다음 방정식을 만족할 경우 같은 FEC group이 된다.Here, when receiving the multicast packet, it is checked whether the FEC group is changed by comparing the FEC header information of the multicast packet received immediately with the FEC header information just received. The checking method becomes the same FEC group if the following equation is satisfied.

참고: pre(x) : 바로 이전 패킷의 FEC Header의 x 필드Note: pre (x): x field of FEC Header of previous packet

now(x) : 현재 패킷의 FEC Header 의 x 필드     now (x): x field of the FEC Header of the current packet

{ now( sequence_number ) - pre( sequence_number ) }{now (sequence_number)-pre (sequence_number)}

- { now( diff ) - pre( diff ) } = 0 -{now (diff)-pre (diff)} = 0

도 10의 S101에서 멀티캐스트 패킷이 같은 FEC group로 판단되면 S102에서 디지털 방송 데이터(MPEG TS)를 TS버퍼(도면에 도시하지 않은)에 저장하고, Header 정보는 FEC Header 버퍼에 저장한다. If the multicast packet is determined to be the same FEC group in S101 of FIG. 10, the digital broadcast data (MPEG TS) is stored in a TS buffer (not shown) in S102, and the header information is stored in an FEC header buffer.

도 10의 S101에서 같은 FEC group의 패킷이 아니면, S103에서 FEC Header 버퍼의 내용을 비교하여 FEC group안에 유실된 패킷이 있는지 검사한다.If the packet is not the same FEC group in S101 of FIG. 10, the contents of the FEC header buffer are compared in S103 to check whether there is a missing packet in the FEC group.

도 10의 S103에서 유실된 패킷이 1개가 있으면 도11의 복구절차(S105)를 거쳐서 S104의 절차로 가고, 유실된 패킷이 없거나 1개를 넘개되면 S104의 절차로 간다.If there is one packet lost in S103 of FIG. 10, the procedure goes to S104 through the recovery procedure S105 of FIG. 11, and if the packet is missing or exceeds one, the procedure goes to S104.

도 10의 S104에서는 S102와 같이 현재 패킷의 디지털 방송 데이터(MPEG TS)와 FEC Header정보를 버퍼에 저장하고 이전 FEC group의 디지털 방송 데이터(MPEG TS)를 디코더로 전송한다.In S104 of FIG. 10, digital broadcast data (MPEG TS) and FEC Header information of a current packet are stored in a buffer as in S102, and digital broadcast data (MPEG TS) of a previous FEC group is transmitted to a decoder.

도 11은 도 10에 따른 제 105 단계(S105)를 세부적으로 표현한 도면으로 유 실된 멀티캐스트 패킷을 복구하는 과정의 플로우차트이다.FIG. 11 is a flowchart illustrating a process of recovering a lost multicast packet in detail showing the 105 th step S105 of FIG. 10.

여기서 'm'은 제 1 버퍼에 저장되며 FEC 영역을 복구할 멀티캐스트 패킷의 번호를 의미하며 0부터 "group_size-1" 까지 증가한다. Here, 'm' is the number of multicast packets to be stored in the first buffer and to recover the FEC region and increases from 0 to "group_size-1".

유실된 패킷을 복구하기 위해서는 같은 FEC group안에 있는 다른 모든 멀티캐스트 패킷의 정보가 필요로 하는데, 이 패킷들을 지칭하기 위해서 사용된다.Recovering lost packets requires information from all other multicast packets in the same FEC group, and is used to refer to these packets.

그리고 'P'는 복구하는 조각의 위치를 의미한다. 즉, FEC Data를 생성할 때 디지털 방송 데이터(MPEG TS)를 플레그먼트 사이즈로 나누므로, 그 때 나누어진 개수가 group_size-1개가 된다. 이렇게 나누어진 조각들은 도 7에 도시된 바와 같으며, 'P'는 도 7에서 조각번호를 의미한다.And 'P' means the location of the piece to recover. That is, since the digital broadcast data (MPEG TS) is divided by the fragment size when generating the FEC data, the number divided at that time is group_size-1. These divided pieces are as shown in FIG. 7, and 'P' means a piece number in FIG. 7.

또한 'n'은 제 2 버퍼에 저장되며 디지털 방송 데이터(MPEG TS) 조각 복구에 필요한 멀티캐스트 패킷의 카운트를 의미하며 0부터 group_size-1까지 증가한다. In addition, 'n' is stored in the second buffer and refers to the count of multicast packets required for digital broadcast data (MPEG TS) fragment recovery and increases from 0 to group_size-1.

유실된 패킷을 복구하기 위해서는 특정 패킷 'm'에서 'P'번째 조각을 복구를 하는데, 그 과정은 다음과 같다. To recover lost packets, recover the 'P' th fragment from a specific packet 'm'. The process is as follows:

'm' 번째 패킷에서는 FEC Data를 추출하고, 다른 나머지 패킷들 전체에서 디지털 방송 데이터(MPEG TS)의 특정 조각을 추출하여 서로 XOR연산을 하여 'P'번째 조각을 복구한다. 이때 사용되는 'm'번째 멀티캐스트 패킷이외의 다른 나머지 멀티캐스트 패킷들을 순차적으로 선택하는 카운터가 'n'이다.The 'm' packet extracts FEC data, and extracts a specific piece of digital broadcast data (MPEG TS) from all other packets, and XORs each other to recover the 'P' piece. At this time, a counter for sequentially selecting the remaining multicast packets other than the 'm' multicast packet used is 'n'.

먼저, 제 1 버퍼에 저장할 멀티캐스트 패킷(m)을 선택하기 위해 카운트 'm'을 '0'으로 설정한다(S110). 이는 최초 복구할 멀티캐스트 패킷의 순서가 diff '0'임을 나타내는 것이다. First, in order to select the multicast packet m to be stored in the first buffer, the count 'm' is set to '0' (S110). This indicates that the order of multicast packets to be recovered first is diff '0'.

이후, 제 1 버퍼에 저장할 멀티캐스트 패킷을 나타내는 'm'과 유실된 패킷의 diff를 비교한다(S111). Thereafter, 'm' representing a multicast packet to be stored in the first buffer is compared with a diff of the lost packet (S111).

상기 비교하는 단계(S111)에서 'm'이 유실된 패킷의 diff보다 작으면 'm'과 동일한 조각 번호(P)를 제 3 버퍼에 저장될 위치로 지정한다(S114). If 'm' is smaller than the diff of the lost packet in the comparing step S111, a fragment number P equal to 'm' is designated as a location to be stored in the third buffer (S114).

만약, 상기 비교하는 단계(S111)에서 'm'이 유실된 패킷의 diff보다 크면, 'm'-1의 조각 번호(P)를 제 3 버퍼에 저장될 위치로 지정한다(S113). If the 'm' is greater than the diff of the lost packet in the comparing step S111, the fragment number P of 'm'-1 is designated as a position to be stored in the third buffer (S113).

여기서, 상기 S113, S114는 복구되는 패킷의 조각 위치를 결정한다. Here, S113 and S114 determine the fragment position of the packet to be recovered.

이후, 'm'이 group_size보다 작은지를 판단한다(S115). Thereafter, it is determined whether 'm' is smaller than group_size (S115).

만약, 'm'이 group_size보다 작으면, 제 1 버퍼에 패킷(m)의 디지털 방송 데이터(MPEG TS) 조각으로 초기화하고, 제 2 버퍼와 'n'을 '0'으로 초기화 한다(S117). If 'm' is smaller than group_size, the first buffer is initialized with a fragment of digital broadcast data (MPEG TS) of the packet m, and the second buffer and 'n' are initialized with '0' (S117).

이후, 제 2 버퍼에 저장할 멀티캐스트 패킷('n')이 group_size 보다 작은지의 여부를 판단한다(S119). Thereafter, it is determined whether the multicast packet 'n' to be stored in the second buffer is smaller than the group_size (S119).

만약 멀티캐스트 패킷('n')이 group_size 보다 작으면, 제 2 버퍼에 저장할 멀티캐스트 패킷(n)과 유실된 패킷의 diff가 동일하지 않은지를 판단한다(S121). If the multicast packet 'n' is smaller than group_size, it is determined whether the multicast packet n to be stored in the second buffer and the diff of the lost packet are not the same (S121).

제 2 버퍼에 저장할 멀티캐스트 패킷(n)과 유실된 패킷의 diff가 동일하지 않으면, 제 1 버퍼에 저장할 멀티캐스트 패킷(m)과 제 2 버퍼에 저장할 멀티캐스트 패킷(n)을 비교한다(S122). If the multicast packet n to be stored in the second buffer and the diff of the lost packet are not the same, the multicast packet m to be stored in the first buffer and the multicast packet n to be stored in the second buffer are compared (S122). ).

만약, 멀티캐스트 패킷(n)이 멀티캐스트 패킷(m)보다 작으면, 현재 FEC 그룹에서 'n' 번째 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS) m-1 번째 조각을 제 2 버퍼에 저장한다(S123). 만약, 버퍼의 남는 부분은 '0'으로 채운다. If the multicast packet n is smaller than the multicast packet m, the digital broadcasting data (MPEG TS) m-1th fragment of the 'n' th multicast packet in the current FEC group is stored in the second buffer. (S123). If the remaining part of the buffer is filled with '0'.

반면에 멀티캐스트 패킷(n)이 멀티캐스트 패킷(m)보다 크면, 현재 FEC 그룹에서 'n' 번째 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS) m 번째 조각을 제 2 버퍼에 저장한다(S124). 만약, 버퍼의 남는 부분은 '0'으로 채운다. On the other hand, if the multicast packet n is larger than the multicast packet m, the m th piece of the digital broadcast data (MPEG TS) of the 'n' multicast packet in the current FEC group is stored in the second buffer (S124). . If the remaining part of the buffer is filled with '0'.

이후, 제 1 버퍼와 제 2 버퍼를 XOR 연산하고 그 결과를 제 1 버퍼에 저장한다(S125). Thereafter, the first buffer and the second buffer are XORed and the result is stored in the first buffer (S125).

이어서, 멀티캐스트 패킷(n)+1을 수행한다(S118). 즉, 다음 패킷에서 추출한 조각을 제 2 버퍼에 저장하기 위한 동작을 수행한다. Subsequently, multicast packet n + 1 is performed (S118). That is, an operation for storing the fragment extracted from the next packet in the second buffer is performed.

이후, S119, S121, S122, S123 또는 S124, S125를 수행하며, 멀티캐스트 패킷('n')이 group_size 보다 작은지를 판단하는 단계(S119)에서 멀티캐스트 패킷('n')이 group_size와 같아지면, 제 1 버퍼의 정보를 제 3 버퍼의 P번째 조각 위치에 저장한다(S120). 즉, FEC 그룹 중 하나의 멀티캐스트 패킷에서 디지털 방송 데이터(MPEG TS)의 조각을 복구한 것이다. Subsequently, when S119, S121, S122, S123, or S124, S125 is performed, and the multicast packet 'n' is equal to the group_size in step S119, it is determined whether the multicast packet 'n' is smaller than the group_size. In operation S120, the first buffer stores the information of the first buffer at the P th fragment position of the third buffer. That is, the fragment of the digital broadcast data (MPEG TS) is recovered from a multicast packet of one of the FEC groups.

이후, 멀티캐스트 패킷(m)+1을 수행한다(S112). 즉, 다음 멀티캐스트 패킷의 FED 데이터를 복구하는 과정을 수행한다. Thereafter, the multicast packet m + 1 is performed (S112). That is, a process of recovering the FED data of the next multicast packet is performed.

이어서, 복구할 패킷을 나타내는 'm'과 유실된 패킷의 diff와 비교(S111)하는 단계로 진행한다. Subsequently, the process proceeds to comparing the 'm' representing the packet to be recovered with the diff of the lost packet (S111).

상기와 같은 단계들을 반복한다. Repeat these steps.

만약, 'm'이 group_size보다 작은지를 판단하는 단계(S115)에서 'm'이 group_size와 같으면, 제 3 버퍼의 내용을 TS 버퍼에 출력한다. 즉, 유실된 패킷이 모두 복구되었음을 의미한다. If 'm' is equal to group_size in the step S115 of determining whether 'm' is smaller than group_size, the contents of the third buffer are output to the TS buffer. That is, all lost packets are recovered.

한편, 제 2 버퍼에 저장할 멀티캐스트 패킷(n)과 유실된 패킷의 diff가 동일하지 않은지를 판단(S121)하는 단계에서 제 2 버퍼에 저장할 멀티캐스트 패킷(n)과 유실된 패킷의 diff가 동일하면, 다음 멀티캐스트 패킷을 제 2 버퍼에 저장할 수 있도록 멀티캐스트 패킷(n)에 +1을 수행(S118)한 후 제 119 단계(S119)로 진행한다. 이는 유실된 패킷이기 때문에 해당 패킷으로부터 디지털 방송 데이터(MPEG TS) 조각을 가져올 수 없는 경우 이므로 다음 패킷에 대하여 동작을 수행하도록 하는 것이다. Meanwhile, in the determining of whether the multicast packet n to be stored in the second buffer and the lost packet are not the same (S121), the diff of the multicast packet n to be stored in the second buffer and the lost packet are the same. In step S119, the multicast packet n is + 1ed so that the next multicast packet can be stored in the second buffer (S118). Since this is a case in which a piece of digital broadcast data (MPEG TS) cannot be obtained from the packet because it is a lost packet, an operation is performed on the next packet.

반면에, 제 1 버퍼에 저장할 멀티캐스트 패킷(m)의 diff와 제 2 버퍼에 저장할 멀티캐스트 패킷(n)을 비교하는 단계(S122)에서 멀티캐스트 패킷(n)이 멀티캐스트 패킷(m)과 같으면, 다음 멀티캐스트 패킷을 제 2 버퍼에 저장할 수 있도록 멀티캐스트 패킷(n)에 "+1"을 수행(S118)한 후 제 119 단계(S119)로 진행한다. 이는 FEC 데이터를 제공하는 멀티캐스트 패킷과 조각을 제공하는 멀티캐스트 패킷이 동일하므로 다음 멀티캐스트 패킷에 대하여 동작을 수행하도록 하는 것이다. On the other hand, in the step (S122) comparing the diff of the multicast packet m to be stored in the first buffer and the multicast packet n to be stored in the second buffer, the multicast packet n is equal to the multicast packet m. If it is the same, "+1" is performed on the multicast packet n to store the next multicast packet in the second buffer (S118), and then the process proceeds to step 119 (S119). This is because the multicast packet providing the FEC data and the multicast packet providing the fragment are the same, so that the operation is performed on the next multicast packet.

도 1은 디지털 방송 시스템에서 손실되는 멀티캐스트 패킷을 복구하기 위한 순방향 에러 정정에 대한 예시도.1 is an illustration of forward error correction for recovering lost multicast packets in a digital broadcast system.

도 2는 본 발명에 따른 디지털 방송 시스템에 대한 구성을 나타낸 도면.2 is a diagram illustrating a configuration of a digital broadcasting system according to the present invention.

도 3은 본 발명에 따른 FEC 서버의 구성을 나타낸 도면.3 is a diagram showing the configuration of an FEC server according to the present invention;

도 4는 본 발명에 따른 셋톱박스에 대한 구성을 나타낸 도면.4 is a view showing a configuration for a set-top box according to the present invention.

도 5는 본 발명에 따른 멀티캐스트 패킷을 예시한 도면.5 illustrates a multicast packet in accordance with the present invention.

도 6은 도 5에 도시된 FEC Header 필드의 구성을 나타낸 도면FIG. 6 is a diagram illustrating a configuration of an FEC header field shown in FIG. 5.

도 7은 본 발명에 따른 분할된 디지털 방송 데이터(MPEG TS)에 대한 예시도.7 is an exemplary diagram of segmented digital broadcast data (MPEG TS) according to the present invention.

도 8은 본 발명의 따른 FEC 그룹에 포함된 멀티캐스트 패킷들의 FEC 필드에 대해 예시도.8 illustrates an FEC field of multicast packets included in an FEC group according to the present invention.

도 9는 본 발명에 따른 FEC 서버의 FEC 데이터 설정방법에 대한 동작 플로차트를 나타낸 도면.9 is a flowchart showing the operation of the FEC data setting method of the FEC server according to the present invention;

도 10은 본 발명에 따른 셋톱박스의 에러 검출 및 정정 방법에 대한 동작 플로차트를 나타낸 도면.10 is a flowchart illustrating an operation of the error detection and correction method of the set-top box according to the present invention.

도 11은 도 10에 따른 셋톱박스의 에러 정정 방법에서 멀티캐스트 패킷의 FEC 영역을 복구하는 세부 동작을 나타낸 플로차트이다. FIG. 11 is a flowchart illustrating a detailed operation of recovering an FEC region of a multicast packet in the error correction method of the set top box according to FIG. 10.

Claims (11)

디지털 방송 시스템에 있어서,In a digital broadcasting system, 디지털 방송 데이터(MPEG TS)의 전송을 위해 일정 수의 멀티캐스트 패킷들을 FEC 그룹으로 설정하고, FEC 그룹 내에 포함된 멀티캐스트 패킷들의 디지털 방송 데이터(MPEG TS)들을 이용하여 각각의 멀티캐스트 패킷들의 순방향 에러 정정 정보를 생성하고 해당 멀티캐스트 패킷에 포함시켜 네트워크를 통해 전송하는 서버; 와A certain number of multicast packets are set to the FEC group for transmission of the digital broadcast data (MPEG TS), and the forward direction of the respective multicast packets using the digital broadcast data (MPEG TS) of the multicast packets included in the FEC group. A server for generating error correction information and including the same in a multicast packet and transmitting the same through a network; Wow 네트워크를 통해 수신되는 멀티캐스트 패킷들 중 멀티캐스트 패킷의 유실이 발생하면, 유실된 멀티캐스트 패킷을 제외한 나머지 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS) 조각을 통해 유실된 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS) 조각을 각각 복구하고 그 복구된 디지털 방송 데이터 조각들을 조합하여 유실된 멀티캐스트 패킷을 복구하는 셋톱박스를 포함하는 디지털 방송 시스템.If the multicast packet is lost among the multicast packets received through the network, the digital broadcast data of the lost multicast packet through the pieces of digital broadcast data (MPEG TS) of the remaining multicast packets except for the lost multicast packet. (MPEG TS) A digital broadcast system comprising a set top box for recovering lost multicast packets by respectively recovering fragments and combining the recovered digital broadcast data fragments. 제1항에 있어서,The method of claim 1, 상기 서버는,The server, 디지털 방송 데이터(MPEG TS)의 전송을 위해 일정 수의 멀티캐스트 패킷들을 FEC 그룹으로 설정하는 FEC(Forward Error Correction) 그룹 설정부;A Forward Error Correction (FEC) group setting unit for setting a predetermined number of multicast packets to an FEC group for transmission of digital broadcast data (MPEG TS); FEC 그룹 내에 포함된 멀티캐스트 패킷들의 디지털 방송 데이터(MPEG TS)들을 각각 일정 수로 분할하는 데이터 분할부;A data dividing unit for dividing the digital broadcast data (MPEG TSs) of the multicast packets included in the FEC group by a predetermined number; FEC 그룹 내에 포함된 멀티캐스트 패킷들의 디지털 방송 데이터(MPEG TS)들 을 각각 일정 수로 분할하고, 각각 분할된 디지털 방송 데이터(MPEG TS)들을 배타적 논리합(XOR) 연산을 통해 각각의 멀티캐스트 패킷들의 순방향 에러 정정 정보를 설정하여 해당 멀티캐스트 패킷에 포함시켜 네트워크를 통해 전송하는 FEC 정보 설정부; 및Each of the digital broadcast data (MPEG TSs) of the multicast packets included in the FEC group is divided into a predetermined number, and each of the divided digital broadcast data (MPEG TSs) is forwarded to each multicast packet through an exclusive OR. An FEC information setting unit configured to set error correction information and include the same in a multicast packet and transmit the same through a network; And FEC 그룹 내에 멀티캐스트 패킷들의 스트림 ID, 시퀀스 넘버, 멀티캐스트 패킷들의 순서를 설정하여 멀티캐스트 패킷에 포함시키는 FEC 헤더 설정부를 포함하는 디지털 방송 시스템.And an FEC header setting unit configured to set a stream ID, a sequence number, and a sequence of multicast packets of the multicast packets in the FEC group to include in the multicast packet. 제2항에 있어서,The method of claim 2, 상기 셋톱박스는,The set top box, 상기 유실된 패킷의 판단을 시퀀스 넘버를 통해 수행하는 디지털 방송 시스템.And determining the lost packet through a sequence number. 디지털 방송 시스템의 서버에 있어서, In the server of a digital broadcasting system, 디지털 방송 데이터(MPEG TS)의 전송을 위해 일정 수의 멀티캐스트 패킷들을 FEC 그룹으로 설정하는 FEC(Forward Error Correction) 그룹 설정부;A Forward Error Correction (FEC) group setting unit for setting a predetermined number of multicast packets to an FEC group for transmission of digital broadcast data (MPEG TS); FEC 그룹 내에 포함된 멀티캐스트 패킷들의 디지털 방송 데이터(MPEG TS)들을 각각 일정 수로 분할하는 데이터 분할부; 및A data dividing unit for dividing the digital broadcast data (MPEG TSs) of the multicast packets included in the FEC group by a predetermined number; And FEC 그룹 내에 포함된 멀티캐스트 패킷들의 디지털 방송 데이터(MPEG TS)들을 각각 일정 수로 분할하고, 각각 분할된 디지털 방송 데이터(MPEG TS)들을 배타 적 논리합(XOR) 연산을 통해 각각의 멀티캐스트 패킷들의 순방향 에러 정정 정보를 설정하여 해당 멀티캐스트 패킷에 포함시켜 네트워크를 통해 전송하는 FEC 정보 설정부를 포함하는 서버.The digital broadcast data (MPEG TSs) of the multicast packets included in the FEC group are respectively divided into a predetermined number, and the respective digital broadcast data (MPEG TSs) are forwarded to the respective multicast packets through an exclusive OR (XOR) operation. A server comprising an FEC information setting unit for setting the error correction information to be included in the multicast packet for transmission over the network. 제4항에 있어서,The method of claim 4, wherein 상기 서버는,The server, FEC 그룹 내에 멀티캐스트 패킷들의 스트림 ID, 시퀀스 넘버, 멀티캐스트 패킷들의 순서를 설정하여 멀티캐스트 패킷에 포함시키는 FEC 헤더 설정부를 더 포함하는 서버.And a FEC header setting unit for setting a stream ID, a sequence number, and a sequence of multicast packets of the multicast packets in the FEC group and including the multicast packets in the multicast packets. 디지털 방송 시스템의 셋톱박스에 있어서,In a set top box of a digital broadcasting system, 네트워크를 통해 수신되는 멀티캐스트 패킷들 중 멀티캐스트 패킷의 유실여부를 멀티캐스트 패킷에 포함된 시퀀스 넘버를 통해 판단하는 에러 판단부; An error determination unit that determines whether the multicast packet is lost among the multicast packets received through the network through a sequence number included in the multicast packet; 적어도 하나 이상의 버퍼; 및 At least one buffer; And FEC 그룹 중 유실된 멀티캐스트 패킷을 제외한 나머지 멀티캐스트 패킷의 FEC 데이터 복구를 통해 유실된 멀티캐스트 패킷을 복구하는 에러 정정부를 포함하는 셋톱박스. A set-top box including an error correction unit for recovering lost multicast packets through FEC data recovery of the remaining multicast packets except for the lost multicast packets in the FEC group. 제 6항에 있어서, The method of claim 6, 상기 에러 정정부는, The error correction unit, FEC 데이터를 복구할 멀티캐스트 패킷과, 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS) 조각 위치를 확인하여 FEC 데이터를 제 1 버퍼에 저장하고, FEC 데이터를 제 1 버퍼에 저장하는 멀티캐스트 패킷과 유실된 멀티캐스트 패킷을 제외한 나머지 멀티캐스트 패킷에서 복구에 필요한 각각의 디지털 방송 데이터(MPEG TS) 조각을 추출한 후 제 1 버퍼에 저장된 XOR 연산을 수행하여 유실된 멀티캐스트 패킷의 P 번째 디지털 방송 데이터(MPEG TS) 조각을 복구하는 한편, FEC 그룹 중 유실된 멀티캐스트 패킷을 제외한 멀티캐스트 패킷의 FEC 데이터를 통해 유실된 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS) 조각을 각각 복구하고 복구된 디지털 방송 데이터(MPEG TS) 조각을 조합하여 유실된 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS)를 복구하는 것을 특징으로 하는 셋톱박스. The multicast packet to recover FEC data and the location of the digital broadcast data (MPEG TS) fragment of the multicast packet are identified, and the FEC data is stored in the first buffer, and the multicast packet storing the FEC data in the first buffer is lost. After extracting each piece of digital broadcast data (MPEG TS) required for recovery from the remaining multicast packets except for the multicast packet, the P-th digital broadcast data (MPEG) of the lost multicast packet is performed by performing an XOR operation stored in the first buffer. While recovering the fragments, the respective pieces of digital broadcast data (MPEG TS) of the lost multicast packets are recovered through the FEC data of the multicast packets except the lost multicast packets in the FEC group, and the recovered digital broadcast data ( Combining MPEG TS fragments to recover digital broadcast data (MPEG TS) of lost multicast packets. Set-top boxes. 디지털 방송 시스템에서 서버의 에러 정정을 위한 정보설정방법에 있어서, An information setting method for error correction of a server in a digital broadcasting system, 디지털 방송 데이터(MPEG TS)의 전송을 위해 일정 수의 멀티캐스트 패킷들을 FEC 그룹으로 설정하는 단계;Setting a predetermined number of multicast packets to an FEC group for transmission of digital broadcast data (MPEG TS); FEC 그룹 내에 포함된 멀티캐스트 패킷들의 디지털 방송 데이터(MPEG TS)들을 각각 일정 수로 분할하는 단계; 및 Dividing the digital broadcast data (MPEG TSs) of the multicast packets included in the FEC group by a predetermined number; And FEC 그룹 내에 포함된 멀티캐스트 패킷들의 디지털 방송 데이터(MPEG TS)들을 각각 일정 수로 분할하고, 각각 분할된 디지털 방송 데이터(MPEG TS)들을 이용하여 각각의 멀티캐스트 패킷들의 순방향 에러 정정 정보를 설정하여 해당 멀티캐스트 패킷에 포함시켜 네트워크를 통해 전송하는 단계를 포함하는 서버의 에러 정 정을 위한 정보설정방법.The digital broadcast data (MPEG TS) of the multicast packets included in the FEC group is divided into a predetermined number, and the forward error correction information of each multicast packet is set by using the divided digital broadcast data (MPEG TS). The information setting method for error correction of the server comprising the step of including in the multicast packet and transmitting through the network. 제8항에 있어서,The method of claim 8, 상기 네트워크를 통해 전송하는 단계는,Transmitting through the network, 각각 분할된 디지털 방송 데이터(MPEG TS)들을 배타적 논리합(XOR) 연산을 통해 각각의 멀티캐스트 패킷들의 순방향 에러 정정 정보를 설정하는 단계를 포함하는 서버의 에러 정정을 위한 정보설정방법.And setting forward error correction information of each of the multicast packets through an exclusive logical sum (XOR) operation of the divided digital broadcast data (MPEG TSs). 제8항에 있어서,The method of claim 8, FEC 그룹 내에 멀티캐스트 패킷들의 스트림 ID, 시퀀스 넘버, 멀티캐스트 패킷들의 순서를 설정하여 멀티캐스트 패킷에 포함시키는 단계를 더 포함하는 서버의 에러 정정을 위한 정보설정방법.And setting a stream ID, a sequence number, and an order of the multicast packets in the FEC group to include in the multicast packet. 디지털 방송 시스템에서 셋톱박스의 에러 정정 방법에 있어서,In the error correction method of a set-top box in a digital broadcasting system, 네트워크를 통해 수신되는 멀티캐스트 패킷들 중 멀티캐스트 패킷의 유실여부를 멀티캐스트 패킷에 포함된 시퀀스 넘버를 통해 판단하는 단계; 와Determining whether a multicast packet is lost among multicast packets received through a network through a sequence number included in the multicast packet; Wow FEC 그룹 중 유실된 멀티캐스트 패킷을 제외한 나머지 멀티캐스트 패킷의 FEC 데이터를 통해 유실된 멀티캐스트 패킷의 디지털 방송 데이터(MPEG TS) 조각 복구하고 복구된 디지털 방송 데이터(MPEG TS) 조각을 조합하여 유실된 멀티캐스트 패킷을 복구하는 단계를 포함하는 셋톱박스의 에러 정정 방법. Recovers the digital broadcast data (MPEG TS) fragments of the multicast packets lost through the FEC data of the remaining multicast packets except the lost multicast packets in the FEC group, and combines the recovered digital broadcast data (MPEG TS) fragments. An error correction method of a set top box comprising recovering a multicast packet.
KR1020070101545A 2006-11-24 2007-10-09 Digital broadcasting system and error correction method thereof KR20080047263A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/984,201 US20080134266A1 (en) 2006-11-24 2007-11-14 Digital broadcasting system and error correction method thereof
CN2007103036005A CN101257634B (en) 2006-11-24 2007-11-16 Digital broadcasting system and error correction method thereof
EP07022694A EP1950969A3 (en) 2006-11-24 2007-11-22 Digital broadcasting system and error correction method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060117026 2006-11-24
KR20060117026 2006-11-24

Publications (1)

Publication Number Publication Date
KR20080047263A true KR20080047263A (en) 2008-05-28

Family

ID=39663909

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070101545A KR20080047263A (en) 2006-11-24 2007-10-09 Digital broadcasting system and error correction method thereof

Country Status (2)

Country Link
KR (1) KR20080047263A (en)
CN (1) CN101257634B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332713B2 (en) 2009-03-13 2012-12-11 Hyundai Motor Company Communication method using code packet in wireless network
WO2013077662A1 (en) * 2011-11-24 2013-05-30 삼성전자 주식회사 Device and method for transmitting/receiving a packet in communication system
KR20150112661A (en) * 2014-03-28 2015-10-07 삼성전자주식회사 Method and apparatus for transmitting and receiving a packet in a communication system

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854336A (en) * 2009-03-31 2010-10-06 华为技术有限公司 Method, system and device for obtaining address of video transmission management server
CN101646089B (en) * 2009-09-03 2012-09-05 中兴通讯股份有限公司 Method, device and system for establishing packet loss compensation in relay channel
CN102421185A (en) * 2010-09-25 2012-04-18 中国移动通信集团上海有限公司 Femto base station synchronization method and device as well as Femto base station
KR102028948B1 (en) * 2011-11-08 2019-10-17 삼성전자주식회사 Apparatus and method for transmitting/receiving application layer-forward error correction packet in multimedia communication system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870412A (en) * 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
US7389463B2 (en) * 2001-05-29 2008-06-17 Thomson Licensing Hierarchical block coding for a packet-based communications system
CN1221116C (en) * 2002-09-04 2005-09-28 清华同方股份有限公司 Multicast method for distributing mass file applied to satellite data broadcasting system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332713B2 (en) 2009-03-13 2012-12-11 Hyundai Motor Company Communication method using code packet in wireless network
WO2013077662A1 (en) * 2011-11-24 2013-05-30 삼성전자 주식회사 Device and method for transmitting/receiving a packet in communication system
KR20130057937A (en) * 2011-11-24 2013-06-03 삼성전자주식회사 Apparatus and method for transmitting and receiving packet in communication system
US9578292B2 (en) 2011-11-24 2017-02-21 Samsung Electronics Co., Ltd. Device and method for transmitting/receiving a packet in communication system
US9906326B2 (en) 2011-11-24 2018-02-27 Samsung Electronics Co., Ltd. Device and method for transmitting/receiving a packet in communication system
KR20150112661A (en) * 2014-03-28 2015-10-07 삼성전자주식회사 Method and apparatus for transmitting and receiving a packet in a communication system
WO2015147610A3 (en) * 2014-03-28 2016-12-29 삼성전자 주식회사 Method and apparatus for transmitting and receiving packet in communication system
US10728161B2 (en) 2014-03-28 2020-07-28 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving packet in communication system
US11509594B2 (en) 2014-03-28 2022-11-22 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving packet in communication system
US11876723B2 (en) 2014-03-28 2024-01-16 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving packet in communication system

Also Published As

Publication number Publication date
CN101257634A (en) 2008-09-03
CN101257634B (en) 2011-11-23

Similar Documents

Publication Publication Date Title
US20080134266A1 (en) Digital broadcasting system and error correction method thereof
US10104451B2 (en) IP uncompressed video encoder and decoder
US10356148B2 (en) Apparatus and method for transmitting multimedia data in hybrid network
US20160105259A1 (en) Apparatus and method of transmitting/receiving broadcast data
US9538210B2 (en) Employing helper transport streams for re-multiplexing
KR20080047263A (en) Digital broadcasting system and error correction method thereof
US20110149826A1 (en) Broadcasting media access control device for transmitting and receiving packets in multi-channel broadcasting network
JP4864499B2 (en) Inter-station transmission system, transmitter, receiver, and inter-station transmission method
KR101764636B1 (en) Method and device for transmitting/receiving broadcast signal
KR101280084B1 (en) Method and device for ensuring reliability during transmission of television data in a television system based on internet protocol
CN106416154A (en) Method and apparatus for transmitting and receiving packets in broadcast and communication system
EP2375614B1 (en) Method for broadcasting multimedia content
JP2022121493A (en) Reception method and terminal
KR20140051493A (en) Method and apparatus for transceiving data packet for transmitting and receiving multimedia data
US20070033609A1 (en) Media stream multicast distribution method and apparatus
CN107710627B (en) Communication device, communication system, communication method, and program
JP5814972B2 (en) IP uncompressed video decoder
WO2020007347A1 (en) Reception of broadcast signal
Hakamada et al. An encapsulation scheme of variable-length packets for UHDTV distribution over existing cable TV networks
Yamaguchi et al. Highly efficient transmission system for digital broadcasting redistribution services over IP multicast networks
Simpson Uncompressed HD and SD video transport over IP networks
Heneghan Image transport quality? No problem
WO2013015193A1 (en) Content delivery device, reception device, relay device, content delivery system, content delivery method and program
Alameda et al. Optimization of the Headers in DVB-S2 for Conveying IP Packets over GSE

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination