KR101559825B1 - Method And Relay Station for Transmitting Data Packet - Google Patents

Method And Relay Station for Transmitting Data Packet Download PDF

Info

Publication number
KR101559825B1
KR101559825B1 KR1020090082897A KR20090082897A KR101559825B1 KR 101559825 B1 KR101559825 B1 KR 101559825B1 KR 1020090082897 A KR1020090082897 A KR 1020090082897A KR 20090082897 A KR20090082897 A KR 20090082897A KR 101559825 B1 KR101559825 B1 KR 101559825B1
Authority
KR
South Korea
Prior art keywords
data packet
packet
raptor code
client terminal
layer
Prior art date
Application number
KR1020090082897A
Other languages
Korean (ko)
Other versions
KR20110024765A (en
Inventor
임정연
주영호
서덕영
김철근
박정아
박은주
Original Assignee
에스케이텔레콤 주식회사
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사, 경희대학교 산학협력단 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020090082897A priority Critical patent/KR101559825B1/en
Publication of KR20110024765A publication Critical patent/KR20110024765A/en
Application granted granted Critical
Publication of KR101559825B1 publication Critical patent/KR101559825B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/04Large scale networks; Deep hierarchical networks
    • H04W84/08Trunked mobile radio systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 일 실시예는 데이터 패킷 전송 방법 및 릴레이 장치에 관한 것이다.One embodiment of the present invention relates to a data packet transmission method and a relay apparatus.

본 발명의 일 실시예는 P2P(Peer to Peer) 통신에서 클라이언트 단말기 간에 전송되는 데이터 패킷을 중계하는 데이터 패킷 통신부; 송신 클라이언트 단말기로부터 수신된 데이터 패킷에 대한 중복 여부 또는 디코딩 성공 여부를 확인하는 중복 및 디코딩 확인부; 상기 확인 결과에 근거하여 수신된 데이터 패킷이 중복되거나 디코딩되지 않은 경우, 상기 수신된 데이터 패킷을 저장한 후 디코딩하는 디코딩부; 랩터 코드(RAPTOR Code)를 이용하여 상기 디코딩된 데이터 패킷을 재인코딩하여 랩터 코드 패킷으로 생성하는 랩터 코드 인코딩부; 및 상기 랩터 코드 패킷을 종단 노드인 수신 클라이언트 단말기에게 재전송하는 데이터 패킷 재전송부를 포함하는 것을 특징으로 하는 릴레이 장치를 제공한다.According to an embodiment of the present invention, there is provided a data packet communication system for relaying data packets transmitted between client terminals in peer-to-peer (P2P) communication; A duplication and decoding confirmation unit for checking whether a data packet received from a transmitting client terminal is duplicated or decoded successfully; A decoding unit for storing the received data packet and decoding the received data packet when the received data packet is not duplicated or decoded based on the check result; A Raptor code encoding unit for re-encoding the decoded data packet using a Raptor Code and generating a Raptor code packet; And a data packet retransmission unit for retransmitting the Raptor code packet to a receiving client terminal which is an end node.

본 발명의 일 실시예에 의하면, 랩터 코드의 무율 특성을 이용하여 중계하는 클라이언트 단말기가 새로운 패리티 패킷을 생성할 수 있으므로, 이를 통해 데이터 패킷 복원률을 향상시킬 수 있는 효과가 있다.According to an embodiment of the present invention, a relaying client terminal can generate a new parity packet using the rate-free property of the raptor code, thereby improving the data packet restoration rate.

데이터 패킷, 랩터 코드, 계층별 비율 결정 Data packet, Raptor code, Decide rate by layer

Description

데이터 패킷 전송 방법 및 릴레이 장치{Method And Relay Station for Transmitting Data Packet}TECHNICAL FIELD [0001] The present invention relates to a data packet transmission method and a relay device,

본 발명의 일 실시예는 데이터 패킷 전송 방법 및 릴레이 장치에 관한 것이다. 더욱 상세하게는, 다양한 네트워크에서 데이터 패킷을 효율적으로 전송하기 위한 수신단에서 데이터 패킷을 계층별로 차별화하여 재전송함으로써 전송되는 데이터 패킷의 유동량과 소스 노드 수 부족으로 인한 손실에 강인하게 하여 모든 계층으로 목표 최대지연 시간을 넘지 않도록 지연을 극복하여 데이터 패킷 전송을 전송할 수 있도록 하는 데이터 패킷 전송 방법 및 릴레이 장치에 관한 것이다.One embodiment of the present invention relates to a data packet transmission method and a relay apparatus. More specifically, the receiving terminal for efficiently transmitting data packets in various networks differentiates and retransmits the data packets according to the layers, thereby robust against the loss due to the shortage of data packets and the number of source nodes, To a data packet transmission method and a relay apparatus that can transmit a data packet transmission over a delay time so as not to exceed a delay time.

이동 애드혹 네트워크(Mobile Ad-hoc NETwork: 이하, MANET라 함)는 유선기반 망 없이 이동단말기로만 구성된 무선지역의 통신망을 말하며, 유선기반이 구축되지 않은 산악지역 등에서 통신망을 구성하여 인터넷 서비스를 제공하는 기술이다. 이때, 무선신호의 송신 및 수신은 현재의 데이터 링크 기술을 활용하고, 라우터 기능은 MANET의 이동단말기가 호스트와 라우터 역할을 동시에 하도록 하는데, 여기에 라우터 프로토콜의 개발과 무선신호의 보안문제 해결 등이 필요하다.Mobile Ad-hoc NETwork (hereinafter referred to as "MANET") refers to a communication network of a wireless area configured only by a mobile terminal without a wired base network, and provides a network service in a mountain area where a wired base is not established Technology. At this time, transmission and reception of radio signals utilize the current data link technology, and the router function allows the mobile terminal of the MANET to simultaneously serve as a host and a router. Here, development of a router protocol and security problem solving of a wireless signal need.

이와 같이, MANET는 기존의 인프라 환경의 도움 없이 이동성을 가진 노드끼 리 자율적으로 구성된 네트워크이다. MANET의 모든 노드는 이동성을 가지고 움직인다. 따라서 네트워크의 구조가 매우 동적이고 유연하다는 특성을 지닌다. 또한, 이러한 MANET을 이용할 경우에, 기존 인터넷 기반의 자원이 없어도 사용자 간의 통신을 지원할 수 있을 뿐만 아니라, 다중 홉(hop) 지원으로 통신의 거리 제약이 사라진다. 이러한 특성으로 인하여 언제 어디서나 사용자의 통신을 지원할 수 있다는 장점이 있다. 이에 따라 MANET은 차후 유비퀴터스(Ubiquitous) 환경에 대응될 핵심 네트워크 기술로 많은 관심을 받고 있다.Thus, MANET is an autonomously organized network of nodes with mobility without the help of existing infrastructure. All nodes in the MANET move with mobility. Therefore, the structure of the network is very dynamic and flexible. In addition, when such a MANET is used, not only the communication between users can be supported without existing Internet-based resources, but the distance constraint of communication is lost due to multi-hop support. Because of this characteristic, it is advantageous to support user's communication anytime and anywhere. As a result, MANET has attracted much attention as a core network technology to cope with the future ubiquitous environment.

한편, 네트워크 상에 중복 컨텐츠가 존재하여 수신단이 받은 정보가 중복될 수 있다. 예를 들어서, MANET같은 무선망에서는 망 자체에서의 손실률이 크기 때문에, 중복 데이터에 대한 중요성이 크다. 또한, MANET과 같은 무선망은 재전송 같은 Point-to-Point 전송기술이 가능하지 않기 때문에, 사용자들의 행동을 예측할 수 없어서, 현재 연결되어 있는 링크가 언제 끊어질지 모르는 위험이 있다. 또한, 전송되는 데이터 패킷의 중요도에 따라 패킷을 전송할 경로와 소스의 다이버시티 필요성이 있다. 또한, 각 기지국이 담당하는 셀 안에서 그 셀의 가장자리에 있는 피어(Peer)들에 대한 안정적인 수신 방법이 필요하다. 즉, 셀 안에 있는 각 피어들의 이동성과 기지국로부터 떨어진 거리 또는 높은 건물들에 대한 전파 장애 등으로 인해 미디어 수신율의 불안정성을 보다 안정적으로 만들어줄 장치가 필요하다. On the other hand, duplicate contents exist on the network, and the information received by the receiving terminal may be duplicated. For example, in a wireless network such as MANET, since the loss rate in the network itself is large, the importance of redundant data is great. In addition, since a point-to-point transmission technique such as a retransmission is not possible in a wireless network such as MANET, there is a risk that the currently connected link may not be disconnected because the behavior of users can not be predicted. In addition, there is a necessity of diversity of a path and a source to transmit a packet according to the importance of a data packet to be transmitted. In addition, a reliable reception method for peers at the edge of the cell is required in a cell served by each base station. That is, there is a need for a device that makes the instability of the media reception rate more stable due to the mobility of each peer in the cell, the distance from the base station, or radio interference to high buildings.

전술한 문제점을 해결하기 위해 본 발명의 일 실시예는, MANET와 같이 클라 이언트 단말기 간 P2P(Peer to Peer) 통신이 가능한 망에서 안정적이며 효율적인 멀티미디어의 브로드캐스트/멀티캐스트 서비스를 위하여 서버의 데이터 전송의 부담을 줄이기 위해 클라이언트 단말기 간 멀티미디어 데이터를 전송하기 위한 데이터 패킷 전송 방법 및 릴레이 장치를 제공하는 데 주된 목적이 있다.In order to solve the above-described problems, an embodiment of the present invention is to provide a method and apparatus for transmitting / receiving data of a server in a network capable of P2P (peer-to-peer) communication between client terminals such as MANET, for stable and efficient multimedia broadcast / The present invention provides a data packet transmission method and a relay apparatus for transmitting multimedia data between client terminals.

전술한 목적을 달성하기 위해 본 발명의 일 실시예는, P2P(Peer to Peer) 통신에서 클라이언트 단말기 간에 전송되는 데이터 패킷을 중계하는 데이터 패킷 통신부; 송신 클라이언트 단말기로부터 수신된 데이터 패킷에 대한 중복 여부 또는 디코딩 성공 여부를 확인하는 중복 및 디코딩 확인부; 상기 확인 결과에 근거하여 수신된 데이터 패킷이 중복되거나 디코딩되지 않은 경우, 상기 수신된 데이터 패킷을 저장한 후 디코딩하는 디코딩부; 랩터 코드(RAPTOR Code)를 이용하여 상기 디코딩된 데이터 패킷을 재인코딩하여 랩터 코드 패킷으로 생성하는 랩터 코드 인코딩부; 및 상기 랩터 코드 패킷을 종단 노드인 수신 클라이언트 단말기에게 재전송하는 데이터 패킷 재전송부를 포함하는 것을 특징으로 하는 릴레이 장치를 제공한다.According to an aspect of the present invention, there is provided a data packet communication system including: a data packet communication unit for relaying data packets transmitted between client terminals in peer-to-peer (P2P) communication; A duplication and decoding confirmation unit for checking whether a data packet received from a transmitting client terminal is duplicated or decoded successfully; A decoding unit for storing the received data packet and decoding the received data packet when the received data packet is not duplicated or decoded based on the check result; A Raptor code encoding unit for re-encoding the decoded data packet using a Raptor Code and generating a Raptor code packet; And a data packet retransmission unit for retransmitting the Raptor code packet to a receiving client terminal which is an end node.

또한, 본 발명의 다른 목적에 의하면, 송신 클라이언트 단말기로부터 수신된 데이터 패킷에 대한 중복 여부 또는 디코딩 성공 여부를 확인하는 확인 단계; 상기 확인 단계의 확인 결과에 근거하여 수신된 데이터 패킷이 중복되거나 디코딩되지 않은 경우, 상기 수신된 데이터 패킷을 저장한 후 디코딩하는 단계; 랩터 코드(RAPTOR Code)를 이용하여 상기 디코딩된 데이터 패킷을 재인코딩하여 랩터 코드 패킷으로 생성하는 단계; 및 상기 랩터 코드 패킷을 종단 노드인 수신 클라이언트 단말기에게 재전송하는 단계를 포함하는 것을 특징으로 하는 데이터 패킷 전송 방법을 제공한다.According to another aspect of the present invention, there is provided a method for transmitting a data packet, the method comprising: checking whether a data packet received from a transmitting client terminal is duplicated or decoded successfully; Storing the received data packet and decoding the received data packet if the received data packet is not duplicated or decoded based on the checking result of the checking step; Re-encoding the decoded data packet using a RAPTOR code to generate a Raptor code packet; And retransmitting the Raptor code packet to a receiving client terminal that is an end node.

이상에서 설명한 바와 같이 본 발명의 일 실시예에 의하면, MANET와 같이 클라이언트 단말기 간 P2P(Peer to Peer) 통신이 가능한 망에서 안정적이며 효율적인 멀티미디어의 브로드캐스트/멀티캐스트 서비스를 위하여 서버의 데이터 전송의 부담을 줄이기 위해 클라이언트 단말기 간 멀티미디어 데이터를 전송할 수 있는 효과가 있다.As described above, according to one embodiment of the present invention, in a network capable of P2P (peer-to-peer) communication between client terminals like a MANET, a burden of data transmission of a server for stable and efficient multimedia broadcast / multicast service It is possible to transmit multimedia data between client terminals in order to reduce the number of multimedia data.

또한, 본 발명의 일 실시예에 의하면, 종래의 MBMS와 달리 멀티미디어 제공 서버에서 클라이언트 단말기로 멀티캐스트되는 것과 함께 클라이언트 단말기 간에 중계를 통하여 데이터 패킷을 협력하여 수신할 수 있는 효과가 있다. 또한, 샘물 코드의 무율 특성을 이용하여 중계하는 클라이언트 단말기가 새로운 패리티 패킷을 생성할 수 있으므로, 이를 통해 데이터 패킷 복원률을 향상시킬 수 있는 효과가 있다.According to an embodiment of the present invention, unlike the conventional MBMS, a multicast service is multicast to a client terminal in a multimedia providing server, and a data packet is relayed between client terminals in cooperation with each other. Also, since the relaying client terminal can generate a new parity packet by using the wireless property of the spring water code, it is possible to improve the data packet restoration rate.

또한, 멀티 미디어 제공 서버 측의 트래픽 부하를 클라이언트 단말기 측으로 분산 시키는 효과가 있으며, 랩터 코드를 이용하여 데이터 패킷의 중요도를 차별화할 수 있는 효과가 있다. 또한, SVC 비디오 전송의 경우에는 하위 계층과 상위 계층으로 중요도를 구분하고, 상위 계층을 전송하는 소스의 수를 증가시켜 패킷 손실에 대한 차별화된 강인성을 제공할 수 있는 효과가 있으며, MBMS에서 사용되는 랩터 코드를 이용하여 모든 샘물 코드에 적용이 가능한 효과가 있다.In addition, there is an effect that the traffic load on the side of the multimedia providing server is distributed to the side of the client terminal, and the importance of the data packet can be differentiated by using the raptor code. In the case of SVC video transmission, there is an effect that it is possible to provide differentiating robustness against packet loss by dividing the importance into lower layer and higher layer and increasing the number of sources transmitting upper layer. In addition, There is an effect that can be applied to all spring water codes by using the raptor code.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. It should be noted that, in adding reference numerals to the constituent elements of the drawings, the same constituent elements are denoted by the same reference numerals even though they are shown in different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In describing the components of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements. When a component is described as being "connected", "coupled", or "connected" to another component, the component may be directly connected to or connected to the other component, It should be understood that an element may be "connected," "coupled," or "connected."

도 1은 본 발명의 일 실시예에 따른 데이터 패킷 전송 시스템을 개략적으로 나타낸 블럭 구성도이다.1 is a block diagram schematically showing a data packet transmission system according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 데이터 패킷 전송 시스템은 클라이언트 단말기(110), 릴레이 장치(120) 및 기지국(130)을 포함한다.The data packet transmission system according to an exemplary embodiment of the present invention includes a client terminal 110, a relay apparatus 120, and a base station 130.

클라이언트 단말기(110)는 기지국(130)과 연동하여 무선 통신으로 통상적인 음성 통화 및 데이터 통신을 수행하는 단말기를 의미한다. 한편, 클라이언트 단말 기(110)는 사용자의 키 조작에 따라 기지국(130)을 경유하여 각종 멀티미디어 데이터를 수신 및 재생 단말기를 말하는 것이며, 개인용 컴퓨터(PC: Personal Computer), 노트북, 개인휴대용 정보단말기(PDA: Personal Digital Assistant) 및 이동통신 단말기(Mobile Communication Terminal) 등 중 어느 하나일 수 있으며, 기지국(130)을 경유하여 멀티미디어 제공 서버에 접속하기 위한 웹 브라우저와 프로그램을 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 단말기를 의미한다. 즉, 클라이언트 단말기(110)는 기지국(130)을 통해 무선통신망의 멀티미디어 제공 서버와 서버-클라이언트 통신이 가능하다면 그 어떠한 단말기도 가능하며, 노트북 컴퓨터, 이동통신 단말기, PDA 등 여하한 통신 컴퓨팅 장치를 모두 포함하는 넓은 개념이다. 여기서, 클라이언트 단말기(110)는 PDA(Personal Digital Assistant), 셀룰러폰, PCS(Personal Communication Service)폰, 핸드헬드 PC(Hand-Held PC), CDMA-2000 폰, WCDMA 폰, PMP(Portable Multimedia Player), PSP(PlayStation Portable) 및 MBS(Mobile Broadband System)폰 등이 될 수 있다. The client terminal 110 refers to a terminal that performs voice communication and data communication through wireless communication in cooperation with the base station 130. The client terminal 110 is a terminal for receiving and playing various multimedia data via the base station 130 according to a key operation of the user and may be a personal computer (PC), a notebook computer, a personal digital assistant A personal digital assistant (PDA), and a mobile communication terminal, and may be a web browser for accessing a multimedia providing server via a base station 130, a memory for storing a program, a program And a microprocessor for calculating and controlling the microprocessor. That is, the client terminal 110 can be any terminal as long as it is capable of server-client communication with the multimedia providing server of the wireless communication network through the base station 130 and can be any communication computing device such as a notebook computer, a mobile communication terminal, It is a broad concept that includes everything. The client terminal 110 may be a PDA (Personal Digital Assistant), a cellular phone, a PCS (Personal Communication Service) phone, a hand-held PC, a CDMA-2000 phone, a WCDMA phone, , A PSP (PlayStation Portable) and an MBS (Mobile Broadband System) phone.

또한, 클라이언트 단말기(110)는 P2P(Peer to Peer) 통신으로 데이터 패킷을 송수신하는 일종의 노드로서, 릴레이 장치(120)로부터 수신된 데이터 패킷에 대한 중복 여부 또는 디코딩 성공 여부를 확인하고, 확인 결과에 근거하여 수신된 데이터 패킷이 중복되거나 디코딩되지 않은 경우, 수신된 데이터 패킷을 저장한 후 디코딩하며, 디코딩이 성공된 경우, 디코딩된 데이터 패킷을 이용하여 출력하는 기능을 수행한다. 한편, 클라이언트 단말기(110)는 수신된 데이터 패킷의 디코딩이 성 공한 경우, 수신된 데이터 패킷을 저장하지 않고 무시되도록 하며, 수신된 데이터 패킷을 저장한 후 디코딩할 때, 디코딩이 실패한 경우, 디코딩이 실패한 패킷을 대기하였다가 다시 디코딩을 시도하는 기능을 수행한다.The client terminal 110 is a kind of node that transmits and receives data packets through peer-to-peer (P2P) communication. It checks whether the data packet received from the relay device 120 is redundant or decoded successfully, If the received data packet is not duplicated or decoded, the received data packet is stored and decoded, and when the decoding is successful, the decoded data packet is used to output the decoded data packet. Meanwhile, when the decoding of the received data packet is successful, the client terminal 110 ignores the received data packet without storing it, and when decoding the received data packet after decoding the received data packet, And performs a function of waiting for a failed packet and decoding again.

도 1에 도시된 바와 같이 복수 개의 클라이언트 단말기(110)들이 협력하는 형태의 통신을 위해 기지국(130)과 서비스를 받는 최종 단말기 사이에 릴레이 장치(120)를 이용한다. 여기서, 릴레이 장치(120)란 RS(Relay Station)라고 표현할 수 있으며, 기지국(BS : Base Station)(130)로부터 데이터 패킷을 수신하고 클라이언트 단말기(MS : Mobile Station)(110)로 데이터 패킷을 송신하는 역할을 수행한다. As shown in FIG. 1, a relay device 120 is used between a base station 130 and an end terminal receiving a service for communication in which a plurality of client terminals 110 cooperate. Here, the relay device 120 may be referred to as a relay station (RS). The relay device 120 receives a data packet from a base station (BS) 130 and transmits a data packet to a client terminal (MS) .

릴레이 장치(120)가 클라이언트 단말기(110)로 데이터 패킷을 송신할 때, AF(Amplify and Forward)와 DF(Decode and Forward)의 방식으로 재전송을 하는데, 본 발명에서 사용되는 방식은 DF 방식 중 랩터 코드로 재인코딩하여 클라이언트 단말기(110)에게 재전송한다. 클라이언트 단말기(110)를 사용함으로써 단말기의 이동성과 전파 장애 등으로 인한 불안정한 수신율을 안정적으로 만들 수 있고, 기지국(130)이 커버할 수 없는 영역까지 릴레이 장치(120)가 최종 클라이언트의 수신을 가능하게 한다. 이렇게 한 셀 안에서의 소스의 수가 늘어남으로써 데이터의 중요도에 따른 차별 전송을 할 수 있는 가능성이 더 커지는 것이다.When the relay apparatus 120 transmits a data packet to the client terminal 110, the relay apparatus 120 performs retransmission in a manner of AF (Amplify and Forward) and DF (Decode and Forward). In the present invention, Re-encodes it into a code and retransmits it to the client terminal 110. The use of the client terminal 110 makes it possible to stably establish an unstable reception rate due to the mobility of the terminal and the radio wave interference and to allow the relay apparatus 120 to receive the final client to an area that the base station 130 can not cover do. By increasing the number of sources in one cell, the possibility of differential transmission according to the importance of data becomes greater.

릴레이 장치(120)는 P2P 통신에서 클라이언트 단말기(110) 간에 전송되는 데이터 패킷을 중계하는 기능을 수행하며, 송신 클라이언트 단말기로부터 수신된 데이터 패킷에 대한 중복 여부 또는 디코딩 성공 여부를 확인하고, 확인 결과에 근거 하여 수신된 데이터 패킷이 중복되거나 디코딩되지 않은 경우, 수신된 데이터 패킷을 저장한 후 디코딩하며, 랩터 코드(RAPTOR Code)를 이용하여 디코딩된 데이터 패킷을 재인코딩하여 랩터 코드 패킷으로 생성하며, 랩터 코드 패킷을 종단 노드인 수신 클라이언트 단말기에게 재전송하는 기능을 수행한다.The relay apparatus 120 relays data packets transmitted between the client terminals 110 in the P2P communication and confirms whether the data packets received from the transmitting client terminal are duplicated or decoded successfully or not, If the received data packet is not duplicated or decoded, it stores and decodes the received data packet, re-encodes the decoded data packet using the RAPTOR code to generate the Raptor code packet, And retransmits the code packet to the receiving client terminal, which is an end node.

여기서, 랩터 코드는 DF(Decode and Forward)를 사용하는 채널 코드로서, 3GPP(The 3rd Generation Partner ship Project)의 MBMS(Multimedia Broadcast/ Multicast Service) 표준에 포함된 패킷 손실 복원 코드이다. 3GPP는 1998년 12월 설립된 제휴 협정으로서, 조직상의 파트너라고 알려지는 다수의 원격통신 표준체를 모음이다. 3GPP의 원리의 범주는 진화된 이동 통신용 글로벌 시스템(GSM: Global Systems for Mobile communication) 코어 네트워크와 그것들이 지원하는 무선 접속 기술{즉, 주파수 분할 이중통신(FDD: Frequency Division Duplex)와 시분할 이중통신(TDD: Time Division Duplex) 모드 모두를 포함하는 포괄적인 지상파 무선 접속(UTRA: Universal Terrestrial Radio Access)}에 기초한 3세대 이동 모바일 시스템에 대한 글로벌하게 적용할 수 있는 기술 규격과 기술 보고서를 만들어내는 것이었다. 그 후 그 범주는 GSM 기술 규격의 유지 및 개발과, 진화된 무선 접속 기술을 포함하는 기술 보고서를 포함하도록 개정되었다{즉, 일반적인 패킷 무선 서비스(GPRS: General Packet Radio Service)와 GSM 진화를 위한 강화된 데이터 속도(EDGE)}. 랩터 코드는 3GPP 멀티미디어 방송/멀티미디어 서비스(MBMS)를 위한 응용 층 순방향 에러 정정(FEC) 코드로서 채택된 코드이며, 랩터 코드를 디코딩하기 위해, 디코더는 통상 선형 수학식의 시스템을 구성하고, 그 수학식을 풀기 위해 가 우스 소거법(Gaussian Elimination)이 사용된다. 하지만, 그 시스템이 풀 랭크(Full Rank)의 것이 아닐 때에는(즉, 수신된 소스와 패리티 패킷이 완전한 디코딩에는 적당하지 않는), 디코더가 보통 실패를 선언하고 수신된 소스 패킷만을 출력한다.Here, the Raptor code is a channel code using DF (Decode and Forward), and is a packet loss restoration code included in the MBMS (Multimedia Broadcast / Multicast Service) standard of the 3rd Generation Partnership Project (3GPP). 3GPP is an alliance agreement established in December 1998 and is a collection of multiple telecommunications standards known as organizational partners. The principles of 3GPP are based on the evolution of the Global System for Mobile Communications (GSM) core network and the wireless access technologies they support (i.e. Frequency Division Duplex (FDD) and Time Division Duplex Communications Generation mobile technology based on universal terrestrial radio access (UTRA), which includes both TDD (Time Division Duplex) mode. The category has since been revised to include maintenance and development of GSM technical specifications and technical reports, including advanced wireless access technologies (ie General Packet Radio Service (GPRS) and Enhanced for GSM Evolution Data rate (EDGE)}. The Raptor code is a code adopted as an application layer forward error correction (FEC) code for 3GPP Multimedia Broadcast / Multimedia Services (MBMS). To decode the Raptor code, the decoder typically constructs a system of linear mathematics, Gaussian Elimination is used to solve the equation. However, when the system is not of full rank (ie, the received source and parity packets are not suitable for complete decoding), the decoder usually declares a failure and outputs only the received source packet.

랩터 코드는 기 설정된 정보를 표현하는 k개의 심볼이 있을 때 인코딩 된 심볼 n개를 무한히 생성할 수 있다. 인코딩할 심볼의 수가 매우 크더라도 연산량은 선형적으로 증가한다. 즉, 랩터 코드는 다른 샘물 코드와 달리 k개 보다 조금 더 많은 심볼이 존재할 때 디코딩되지 않은 데이터 패킷을 모두 복원할 확률이 높아지는데, k개 이상의 심볼이 수신되었을 때의 복원 실패 확률은 수학식 1과 같다. 여기서 k는 기 설정된 정보를 표현하는 심볼 수, m은 수신된 심볼의 수이다.The raptor code can infinitely generate n encoded symbols when there are k symbols representing predetermined information. Even though the number of symbols to encode is very large, the amount of computation increases linearly. That is, unlike other spring codes, the raptor code has a higher probability of restoring all of the decoded data packets when there are a few more symbols than k, and the probability of restoration failure when k or more symbols are received is expressed by Equation 1 Respectively. Where k is the number of symbols representing the predetermined information and m is the number of received symbols.

Figure 112009054294793-pat00001
Figure 112009054294793-pat00001

수학식 1에 따르면, m-k 값에 따른 전체 데이터 패킷 복원 실패 확률은 원래 데이터 패킷의 개수 k와는 상관없이 일정하다. 따라서, 원래의 데이터 패킷의 수가 더 많을수록 인코딩 효과는 높아지게 되며, k값보다 8개의 패킷을 더 받는 경우( 즉, m-k = 8), 전체 데이터 패킷의 복원 확률이 99.9%가 될 수 있다.According to Equation (1), the total data packet restoration failure probability according to the m-k value is constant irrespective of the number k of original data packets. Therefore, the greater the number of original data packets, the higher the encoding effect. In the case of receiving 8 more packets than the k value (i.e., m-k = 8), the recovery probability of the entire data packet may be 99.9%.

또한, 랩터 코드는 각 패킷이 고유의 랜덤 패턴을 통하여 특정 정보들을 XOR 연산을 한다. 각 패킷은 고유 번호를 가지며 이를 통하여 수신 측에서 디코딩 성공 후 랩터 코드로 재인코딩 할 수 있다. 이러한 특징을 이용하여 네트워크 상황이나 용도에 따라 n을 매우 크게 늘릴 수 있으며, RS(Reed Solomon) 코드와 달리 n이 증가함에 따라 연산양은 크게 늘지 않는다. 랩터 코드의 이러한 특징을 무율(Rateless)하다고 하며, P2P와 같은 분산된 정보의 전달시 중복된 정보 전달의 양을 줄일 수 있어 미디어 정보 전달에 있어 유용하다.In addition, the raptor code XORs specific information through a unique random pattern for each packet. Each packet has a unique number and can be re-encoded into a raptor code after decoding succeeds on the receiving side. Using these features, n can be greatly increased depending on the network situation or usage. Unlike RS (Reed Solomon) code, the amount of computation does not increase significantly as n increases. This characteristic of the Raptor code is called Rateless, and it is useful for media information transmission because it can reduce the amount of duplicated information transfer in the case of distributed information such as P2P.

한편, 수신된 데이터 패킷은 모두 동일한 샘물 코드(Fountain Code) 인코딩 단위의 패킷이며, 인코딩 단위는 k개의 데이터 패킷을 이용하여 생성된 패리티 패킷과 수신된 데이터 패킷의 집합이다.On the other hand, the received data packet is a packet of the same Fountain Code encoding unit, and the encoding unit is a set of the parity packet and the received data packet generated using k data packets.

릴레이 장치(120)는 제한된 대역폭에서 전송 경로의 네트워크 상황에 따라 랩터 코드 패킷의 전송 비율을 계층별로 차별화하며, 차별화된 전송 비율로 랩터 코드 패킷을 수신 클라이언트 단말기에게 전송하는 기능을 수행한다. 릴레이 장치(120)는 송신 클라이언트 단말기 및 수신 클라이언트 단말기에 대한 단말기 성능 정보, 가용 비트율 정보 및 패킷 손실율 정보 중 적어도 하나 이상의 정보를 근거로 상위 계층과 하위 계층의 비율을 결정하여, 결정된 비율에 근거하여 랩터 코드 패킷의 전송 비율을 계층별로 차별화하는 기능을 수행한다. 여기서, 상위 계층은 고화질의 영상을 수용할 수 있는 클라이언트 단말기를 구분한 계층이며, 하위 계층은 저화질의 영상을 수용할 수 있는 클라이언트 단말기를 구분한 계층을 말한다.The relay apparatus 120 differentiates the transmission rate of the raptor code packet according to the network condition of the transmission path in a limited bandwidth, and transmits the raptor code packet to the receiving client terminal at a different transmission rate. The relay apparatus 120 determines a ratio of an upper layer and a lower layer based on at least one of terminal performance information, available bit rate information, and packet loss rate information for a transmitting client terminal and a receiving client terminal, And differentiates the transmission rate of the raptor code packet according to the layer. Here, the upper layer is a layer dividing a client terminal capable of receiving a high-quality image, and the lower layer is a layer dividing a client terminal capable of accommodating a low-quality image.

릴레이 장치(120)는 랩터 코드 패킷이 SVC(Scalable Video Coding) 비디오인 경우, 상위 계층으로 전송하는 전송 비율을 높은 비율로 증가시키는 기능을 수행한다. 릴레이 장치(120)는 차별화된 전송 비율이 동일한 비율인 경우, 상위 계층과 하위 계층을 1:1 비율로 할당한 랩터 코드 패킷을 수신 클라이언트 단말기에게 전 송하는 기능을 수행한다.When the raptor code packet is SVC (Scalable Video Coding) video, the relay apparatus 120 performs a function of increasing a transmission rate to be transmitted to an upper layer at a high rate. The relay apparatus 120 performs a function of transmitting a raptor code packet in which a higher layer and a lower layer are allocated in a 1: 1 ratio to a receiving client terminal when the different transmission ratios are the same.

릴레이 장치(120)는 랩터 코드의 무율 특성을 이용하여 디코딩된 데이터를 데이터 패킷 복원률이 향상되도록 하는 패리티(Parity) 패킷인 랩터 코드 패킷을 생성하는 기능을 수행한다. 릴레이 장치(120)는 수신된 데이터 패킷이 중복되는 경우, 중복된 데이터 패킷 중 하나를 삭제(폐기)하는 기능을 수행한다. 또한, 릴레이 장치(120)는 수신된 데이터 패킷의 디코딩이 성공한 경우, 수신된 데이터 패킷을 저장하지 않고 무시하는 기능을 수행한다. The relay apparatus 120 performs a function of generating a raptor code packet, which is a parity packet, for improving the data packet restoration rate by using the lossless characteristic of the raptor code. The relay apparatus 120 performs a function of deleting (discarding) one of the duplicated data packets when the received data packet is duplicated. Also, the relay apparatus 120 performs a function of ignoring the received data packet without storing it, when the decoding of the received data packet is successful.

기지국(130)은 클라이언트 단말기(110)와 무선으로 연결되어, 음성 통신 서비스, 무선 데이터 서비스, 무선 인터넷 서비스, 영상 통화 또는 메시지 서비스 등의 서비스를 수행하도록 하기 위한 제반 기능 등을 수행한다. 즉, 기지국(130)은 클라이언트 단말기(110) 간에 P2P 통신으로 데이터 패킷을 중계할 수 있도록 하는 제반 기능을 수행한다.The base station 130 is wirelessly connected to the client terminal 110 and performs various functions for performing services such as a voice communication service, a wireless data service, a wireless Internet service, a video call or a message service. That is, the base station 130 performs a function of relaying data packets between the client terminals 110 through P2P communication.

도 2는 본 발명의 일 실시예에 따른 릴레이 장치를 개략적으로 나타낸 블럭 구성도이다.2 is a block diagram schematically showing a relay apparatus according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 릴레이 장치(120)는 데이터 패킷 통신부(210), 중복 및 디코딩 확인부(220), 디코딩부(230), 랩터 코드 인코딩부(240), 데이터 패킷 재전송부(250) 및 계층별 비율 결정부(260)를 포함하여 구성된다.The relay apparatus 120 according to an embodiment of the present invention includes a data packet communication unit 210, a duplication and decoding confirmation unit 220, a decoding unit 230, a raptor code encoding unit 240, a data packet retransmission unit 250 And a layer-by-layer ratio determiner 260.

본 발명의 일 실시예에서는 릴레이 장치(120)가 데이터 패킷 통신부(210), 중복 및 디코딩 확인부(220), 디코딩부(230), 랩터 코드 인코딩부(240), 데이터 패킷 재전송부(250) 및 계층별 비율 결정부(260)만을 포함하여 구성되는 것으로 기재 하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 릴레이 장치(120)에 포함되는 구성 요소에 대하여 다양하게 수정 및 변형하여 적용 가능할 것이다.The relay device 120 includes a data packet communication unit 210, a redundancy and decoding confirmation unit 220, a decoding unit 230, a raptor code encoding unit 240, a data packet retransmission unit 250, And the hierarchy-based ratio determiner 260. However, this is merely illustrative of the technical idea of an embodiment of the present invention, and it is to be understood that the technical knowledge in the technical field to which the embodiment of the present invention belongs, Those skilled in the art will appreciate that various modifications and changes may be made to the components included in the relay apparatus 120 without departing from the essential characteristics of one embodiment of the present invention.

데이터 패킷 통신부(210)는 기지국(130)을 경유하여 클라이언트 단말기(110)들과 연동하는 기능을 수행하는 통신 수단으로서, 각종 데이터를 송수신하는 기능을 수행한다. 즉, 데이터 패킷 통신부(210)는 P2P 통신에서 클라이언트 단말기(110) 간에 전송되는 데이터 패킷을 중계하는 기능을 수행한다.The data packet communication unit 210 is a communication unit that performs a function of interworking with the client terminals 110 via the base station 130 and performs a function of transmitting and receiving various data. That is, the data packet communication unit 210 performs a function of relaying data packets transmitted between the client terminals 110 in the P2P communication.

중복 및 디코딩 확인부(220)는 송신 클라이언트 단말기로부터 수신된 데이터 패킷에 대한 중복 여부 또는 디코딩 성공 여부를 확인하는 기능을 수행한다. 중복 및 디코딩 확인부(220)는 수신된 데이터 패킷이 중복되는 경우, 중복된 데이터 패킷 중 하나를 삭제하는 기능을 수행한다. 중복 및 디코딩 확인부(220)는 수신된 데이터 패킷의 디코딩이 성공한 경우, 수신된 데이터 패킷을 저장하지 않도록 하는 기능을 수행한다.The redundancy and decoding confirmation unit 220 performs a function of verifying whether the data packet received from the transmitting client terminal is redundant or decoded successfully. The duplication and decoding confirmation unit 220 deletes one of the duplicated data packets when the received data packet is duplicated. The redundancy and decoding confirmation unit 220 performs a function of not storing the received data packet when the decoding of the received data packet is successful.

디코딩부(230)는 확인 결과에 근거하여 수신된 데이터 패킷이 중복되거나 디코딩되지 않은 경우, 수신된 데이터 패킷을 저장한 후 디코딩하는 기능을 수행한다.The decoding unit 230 stores and decodes the received data packet if the received data packet is not duplicated or decoded based on the check result.

랩터 코드 인코딩부(240)는 랩터 코드를 이용하여 디코딩된 데이터 패킷을 재인코딩하여 랩터 코드 패킷으로 생성하는 기능을 수행한다. 랩터 코드 인코딩 부(240)는 랩터 코드의 무율 특성을 이용하여 디코딩된 데이터를 데이터 패킷 복원률이 향상되도록 하는 패리티 패킷인 랩터 코드 패킷을 생성하는 기능을 수행한다.The Raptor code encoding unit 240 re-encodes the decoded data packet using the Raptor code and generates the Raptor code packet. The raptor code encoding unit 240 performs a function of generating a raptor code packet, which is a parity packet, for improving the data packet restoration rate of the decoded data using the rate-of-free property of the raptor code.

데이터 패킷 재전송부(250)는 랩터 코드 패킷을 종단 노드인 수신 클라이언트 단말기에게 재전송하는 기능을 수행한다.The data packet retransmission unit 250 performs a function of retransmitting a raptor code packet to a receiving client terminal which is an end node.

계층별 비율 결정부(260)는 제한된 대역폭에서 전송 경로의 네트워크 상황에 따라 랩터 코드 패킷의 전송 비율을 계층별로 차별화하는 기능을 수행한다. 또한, 계층별 비율 결정부(260)는 차별화된 전송 비율로 랩터 코드 패킷을 수신 클라이언트 단말기에게 전송하는 기능을 수행한다. 계층별 비율 결정부(260)는 송신 클라이언트 단말기 및 수신 클라이언트 단말기에 대한 단말기 성능 정보, 가용 비트율 정보 및 패킷 손실율 정보 중 적어도 하나 이상의 정보를 근거로 상위 계층과 하위 계층의 비율을 결정하여, 결정된 비율에 근거하여 랩터 코드 패킷의 전송 비율을 계층별로 차별화하는 기능을 수행한다. 계층별 비율 결정부(260)는 랩터 코드 패킷이 SVC 비디오인 경우, 상위 계층으로 전송하는 전송 비율을 높은 비율로 증가시키는 기능을 수행한다. 계층별 비율 결정부(260)는 차별화된 전송 비율이 동일한 비율인 경우, 상위 계층과 하위 계층을 1:1 비율로 할당한 랩터 코드 패킷을 수신 클라이언트 단말기에게 전송하는 기능을 수행한다. 여기서, 수신된 데이터 패킷은 모두 동일한 샘물 코드 인코딩 단위의 패킷이다. 인코딩 단위는 k개의 데이터 패킷을 이용하여 생성된 패리티 패킷과 수신된 데이터 패킷의 집합이다. 랩터 코드는 DF(Decode and Forward)를 사용하는 채널 코드로서, 3GPP(The 3rd Generation Partner ship Project)의 MBMS(Multimedia Broadcast/ Multicast Service) 표준에 포함된 패킷 손실 복원 코드이다.The layer-to-layer ratio determiner 260 performs a function of differentiating the transmission ratio of the raptor code packet according to the network condition of the transmission path in a limited bandwidth. In addition, the layer-by-layer ratio determiner 260 performs a function of transmitting a raptor code packet to a receiving client terminal at a different transmission rate. The layer-to-layer ratio determiner 260 determines the ratio of the upper layer and the lower layer based on at least one of the terminal performance information, the available bit rate information, and the packet loss rate information for the transmitting client terminal and the receiving client terminal, And differentiates the transmission rate of the raptor code packet according to the layer. The layer-to-layer ratio determiner 260 performs a function of increasing a transmission rate to be transmitted to an upper layer at a high rate when the raptor code packet is SVC video. The layer-to-layer ratio determiner 260 performs a function of transmitting a raptor code packet in which a higher layer and a lower layer are allocated at a ratio of 1: 1, to a receiving client terminal when the different transmission ratios are the same. Here, the received data packets are all packets of the same SIM code encoding unit. The encoding unit is a set of parity packets and received data packets generated using k data packets. The Raptor code is a channel code using DF (Decode and Forward), and is a packet loss restoration code included in the Multimedia Broadcast / Multicast Service (MBMS) standard of the 3rd Generation Partnership Project (3GPP).

도 3은 본 발명의 일 실시예에 따른 데이터 패킷 전송 방법을 설명하기 위한 순서도이다.3 is a flowchart illustrating a data packet transmission method according to an embodiment of the present invention.

릴레이 장치(120)는 송신 클라이언트 단말기로부터 데이터 패킷을 수신한다(S310). 릴레이 장치(120)는 수신된 데이터 패킷에 대한 중복 여부 또는 디코딩 성공 여부를 확인한다(S312). 단계 S312의 확인 결과에 근거하여 수신된 데이터 패킷의 디코딩이 성공한 경우, 수신 클라이언트 단말기는 수신된 데이터 패킷을 저장하지 않고 무시한다(S314). 한편, 단계 S312의 확인 결과, 수신된 데이터 패킷에 대한 중복되거나 디코딩이 성공하지 않은 경우, 릴레이 장치(120)는 수신된 데이터 패킷을 저장한 후 디코딩을 시도한다(S316). The relay apparatus 120 receives the data packet from the transmitting client terminal (S310). The relay apparatus 120 confirms whether the received data packet is redundant or decoded successfully (S312). If the decoding of the received data packet is successful based on the result of the check in step S312, the receiving client terminal does not store the received data packet but ignores it (S314). On the other hand, if it is determined in step S312 that the received data packet is not duplicated or decoded successfully, the relay apparatus 120 stores the received data packet and attempts decoding (S316).

릴레이 장치(120)는 수신된 데이터 패킷에 대한 디코딩이 성공하였는지의 여부를 확인한다(S318). 한편, 단계 S318의 확인 결과에 근거하여 수신된 데이터 패킷에 대한 디코딩이 실패한 경우, 수신 클라이언트 단말기는 디코딩이 실패한 데이터 패킷을 대기시켰다가 다시 단계 S310을 수행하도록 제어한다.The relay apparatus 120 confirms whether decoding of the received data packet is successful (S318). On the other hand, if the decoding of the received data packet fails on the basis of the result of the check in step S318, the receiving client terminal waits for the data packet in which the decoding has failed and then controls to perform step S310 again.

단계 S318의 확인 결과, 수신된 데이터 패킷에 대한 디코딩이 성공한 경우, 릴레이 장치(120)는 랩터 코드를 이용하여 디코딩된 데이터 패킷을 재인코딩하여 랩터 코드 패킷으로 생성한다(S322). 릴레이 장치(120)는 랩터 코드 패킷을 수신 클라이언트 단말기에게 재전송한다(S326).If it is determined in step S318 that decoding of the received data packet is successful, the relay apparatus 120 re-encodes the decoded data packet using the raptor code to generate a Raptor code packet (S322). The relay device 120 retransmits the raptor code packet to the receiving client terminal (S326).

수신 클라이언트 단말기는 릴레이 장치(120)로부터 데이터 패킷을 수신한다(S330). 수신 클라이언트 단말기는 릴레이 장치(120)로부터 수신된 데이터 패킷 에 대한 중복 여부 또는 디코딩 성공 여부를 확인한다(S332). 단계 S332의 확인 결과에 근거하여 수신된 데이터 패킷의 디코딩이 성공한 경우, 수신 클라이언트 단말기는 수신된 데이터 패킷을 저장하지 않고 무시한다(S334). 한편, 단계 S322의 확인 결과에 근거하여 수신된 데이터 패킷이 중복되거나 디코딩되지 않은 경우, 수신 클라이언트 단말기는 수신된 데이터 패킷을 저장한 후 디코딩을 시도한다(S336). The receiving client terminal receives the data packet from the relay apparatus 120 (S330). The receiving client terminal checks whether the data packet received from the relay apparatus 120 is redundant or decoded successfully (S332). If the decoding of the received data packet is successful based on the result of the check in step S332, the receiving client terminal does not store the received data packet and ignores it (step S334). On the other hand, if the received data packet is not duplicated or decoded based on the result of the check in step S322, the receiving client terminal stores the received data packet and attempts decoding (S336).

수신 클라이언트 단말기는 수신된 데이터 패킷의 디코딩이 성공하는지의 여부를 확인한다(S338). 단계 S338의 확인 결과에 근거하여 수신된 데이터 패킷에 대한 디코딩이 실패한 경우, 수신 클라이언트 단말기는 디코딩이 실패한 데이터 패킷을 대기시켰다가 다시 단계 S330을 수행하도록 제어한다(S340). 한편, 단계 S338의 확인 결과에 근거하여 수신된 데이터 패킷의 디코딩이 성공한 경우, 디코딩된 데이터 패킷을 이용하여 출력하는 기능을 수행한다(S342).The receiving client terminal determines whether decoding of the received data packet is successful (S338). If the decoding of the received data packet is unsuccessful based on the result of the check in step S338, the receiving client terminal waits for the data packet in which decoding has failed and then controls to perform step S330 again (S340). On the other hand, if the decoding of the received data packet is successful based on the result of the check in step S338, a function of outputting the decoded data packet is performed (S342).

즉, 도 3은 릴레이 장치(120)와 수신 클라이언트의 내부동작을 설명하는 흐름도이다. 여기서, 수신된 패킷 단위로 도 3의 과정이 시행되고, 다른 인코딩 단위 패킷들도 동시에 수신되어 병렬적으로 처리될 수 있다. 인코딩 단위를 다르게 처리할 경우 지연과 메모리 사용은 늘어나지만 디코딩 성공 기대치가 증가하며 지연이 줄어들게 된다. 도 3에서 데이터 패킷을 송신까지 수행하는 릴레이 장치(120)와 수신만 하는 클라이언트 단말기(110)의 재전송 흐름도는 동일한 부분이 많으나, 랩터 코드 재인코딩과 재전송을 담당하는 부분이 있다는 차이가 있다. 즉, 릴레이 장치(120)와 수신 클라이언트인 두 클라이언트 모두 디코딩이 성공할 때까지 데이터 패킷을 수신하여 중복 패킷은 무시하고 저장하며, 릴레이 장치(120)에서 수신 받아 저장된 패킷을 재전송을 할 수 있다. 만일 디코딩이 성공한 경우, 릴레이 장치(120)와 수신 클라이언트 모두 더 이상 수신된 패킷을 저장하지 않고 무시한다. 3 is a flowchart illustrating internal operations of the relay apparatus 120 and the receiving client. Here, the process of FIG. 3 is performed on a packet-by-packet basis, and other encoding unit packets may be simultaneously received and processed in parallel. Processing the encoding units differently increases latency and memory usage, but increases decoding success expectations and reduces latency. In FIG. 3, there is a difference between the relay device 120 performing the data packet transmission and the client terminal 110 performing the reception only in the same part, but in the part responsible for the Raptor code re-encoding and retransmission. That is, both the relay apparatus 120 and the receiving client can receive the data packet until the decoding succeeds, ignore and store the duplicate packet, and retransmit the packet received and stored in the relay apparatus 120. If the decoding is successful, neither the relay device 120 nor the receiving client discards the received packet and ignores it.

도 3에서는 릴레이 장치(120)가 단계 S310 내지 단계 S342을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 릴레이 장치(120)가 도 3에 기재된 순서를 변경하여 실행하거나 단계 S310 내지 단계 S342 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 3은 시계열적인 순서로 한정되는 것은 아니다.3, the relay apparatus 120 sequentially executes steps S310 to S342. However, this is merely illustrative of the technical idea of an embodiment of the present invention, and it should be understood that the description It will be understood by those skilled in the art that the relay device 120 may be modified to perform the steps described in FIG. 3 or to perform one or more of steps S310 to S342 in parallel without departing from the essential characteristics of an embodiment of the present invention. It is to be understood that the invention is not limited to the above-described embodiments.

전술한 바와 같이 도 3에 기재된 본 발명의 일 실시예에 따른 데이터 패킷 전송 방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 발명의 일 실시예에 따른 데이터 패킷 전송 방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 발명의 일 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명의 일 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.As described above, the data packet transmission method according to an embodiment of the present invention illustrated in FIG. 3 is implemented by a program and can be recorded in a computer-readable recording medium. A program for implementing a data packet transmission method according to an embodiment of the present invention is recorded and a computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of such computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, etc., and also implemented in the form of a carrier wave (e.g., transmission over the Internet) . The computer readable recording medium may also be distributed over a networked computer system so that computer readable code is stored and executed in a distributed manner. In addition, functional programs, code, and code segments for implementing an embodiment of the present invention may be easily inferred by programmers skilled in the art to which an embodiment of the present invention belongs.

도 4는 본 발명의 일 실시예에 따른 계층별 비율로 패킷 데이터를 전송하는 방법을 설명하기 위한 순서도이다.4 is a flowchart illustrating a method of transmitting packet data at a layer-by-layer ratio according to an embodiment of the present invention.

릴레이 장치(120)는 송신 클라이언트 단말기로부터 데이터 패킷을 수신한다(S410). 릴레이 장치(120)는 수신된 데이터 패킷에 대한 중복 여부 또는 디코딩 성공 여부를 확인한다(S412). 단계 S412의 확인 결과에 근거하여 수신된 데이터 패킷의 디코딩이 성공한 경우, 수신 클라이언트 단말기는 수신된 데이터 패킷을 저장하지 않고 무시한다(S414). 한편, 단계 S412의 확인 결과, 수신된 데이터 패킷에 대한 중복되거나 디코딩이 성공하지 않은 경우, 릴레이 장치(120)는 수신된 데이터 패킷을 저장한 후 디코딩을 시도한다(S416). The relay apparatus 120 receives the data packet from the transmitting client terminal (S410). The relay apparatus 120 confirms whether the received data packet is redundant or decoded successfully (S412). If the decoding of the received data packet is successful based on the result of the check in step S412, the receiving client terminal does not store the received data packet but ignores it (S414). On the other hand, if it is determined in step S412 that the received data packet is duplicated or not successfully decoded, the relay apparatus 120 stores the received data packet and then attempts decoding (S416).

릴레이 장치(120)는 수신된 데이터 패킷에 대한 디코딩이 성공하였는지의 여부를 확인한다(S418). 한편, 단계 S418의 확인 결과에 근거하여 수신된 데이터 패킷에 대한 디코딩이 실패한 경우, 수신 클라이언트 단말기는 디코딩이 실패한 데이터 패킷을 대기시켰다가 다시 단계 S410을 수행하도록 제어한다.The relay apparatus 120 confirms whether decoding of the received data packet is successful (S418). On the other hand, if the decoding of the received data packet fails based on the result of the check in step S418, the receiving client terminal waits for the data packet in which the decoding has failed and then performs control again in step S410.

단계 S418의 확인 결과, 수신된 데이터 패킷에 대한 디코딩이 성공한 경우, 릴레이 장치(120)는 랩터 코드를 이용하여 디코딩된 데이터 패킷을 재인코딩하여 랩터 코드 패킷으로 생성한다(S422). 릴레이 장치(120)는 랩터 코드 패킷을 수신 클라이언트 단말기에게 재전송한다(S426).If it is determined in step S418 that the decoding of the received data packet is successful, the relay apparatus 120 re-encodes the decoded data packet using the raptor code to generate a Raptor code packet (S422). The relay apparatus 120 retransmits the raptor code packet to the receiving client terminal (S426).

릴레이 장치(120)는 제한된 대역폭에서 전송 경로의 네트워크 상황에 따라 랩터 코드 패킷의 전송 비율을 계층별로 차별화하며, 차별화된 전송 비율로 랩터 코드 패킷을 수신 클라이언트 단말기에게 전송한다(S428). 여기서, 릴레이 장치(120)는 송신 클라이언트 단말기 및 수신 클라이언트 단말기에 대한 단말기 성능 정보, 가용 비트율 정보 및 패킷 손실율 정보 중 적어도 하나 이상의 정보를 근거로 상위 계층과 하위 계층의 비율을 결정하여, 결정된 비율에 근거하여 랩터 코드 패킷의 전송 비율을 계층별로 차별화할 수 있다. 릴레이 장치(120)는 랩터 코드 패킷이 SVC 비디오인 경우, 상위 계층으로 전송하는 전송 비율을 높은 비율로 증가시키는 기능을 수행한다. 릴레이 장치(120)는 차별화된 전송 비율이 동일한 비율인 경우, 상위 계층과 하위 계층을 1:1 비율로 할당한 랩터 코드 패킷을 수신 클라이언트 단말기에게 전송하는 기능을 수행한다.The relay apparatus 120 differentiates the transmission rate of the raptor code packet according to the network conditions of the transmission path in a limited bandwidth, and transmits the raptor code packet to the receiving client terminal at a different transmission rate (S428). Here, the relay apparatus 120 determines a ratio of an upper layer and a lower layer based on at least one of terminal performance information, available bit rate information, and packet loss rate information for a transmitting client terminal and a receiving client terminal, The transmission rate of the raptor code packet can be differentiated according to the layer. When the Raptor code packet is SVC video, the relay apparatus 120 performs a function of increasing a transmission rate to be transmitted to an upper layer at a high rate. The relay apparatus 120 performs a function of transmitting a raptor code packet in which a higher layer and a lower layer are allocated at a ratio of 1: 1, to a receiving client terminal when the differentiated transmission ratios are the same.

수신 클라이언트 단말기는 릴레이 장치(120)로부터 데이터 패킷을 수신한다(S430). 수신 클라이언트 단말기는 릴레이 장치(120)로부터 수신된 데이터 패킷에 대한 중복 여부 또는 디코딩 성공 여부를 확인한다(S432). 단계 S432의 확인 결과에 근거하여 수신된 데이터 패킷의 디코딩이 성공한 경우, 수신 클라이언트 단말기는 수신된 데이터 패킷을 저장하지 않고 무시한다(S434). 한편, 단계 S422의 확인 결과에 근거하여 수신된 데이터 패킷이 중복되거나 디코딩되지 않은 경우, 수신 클라이언트 단말기는 수신된 데이터 패킷을 저장한 후 디코딩을 시도한다(S436). The receiving client terminal receives the data packet from the relay apparatus 120 (S430). The receiving client terminal checks whether the data packet received from the relay apparatus 120 is redundant or decoded successfully (S432). If the decoding of the received data packet is successful based on the check result of step S432, the receiving client terminal does not store the received data packet and ignores it (S434). On the other hand, if the received data packet is not duplicated or decoded based on the check result of step S422, the receiving client terminal stores the received data packet and tries decoding (S436).

수신 클라이언트 단말기는 수신된 데이터 패킷의 디코딩이 성공하는지의 여부를 확인한다(S440). 한편, 단계 S440의 확인 결과에 근거하여 수신된 데이터 패킷에 대한 디코딩이 실패한 경우, 수신 클라이언트 단말기는 디코딩이 실패한 데이 터 패킷을 대기시켰다가 다시 단계 S430을 수행하도록 제어한다(S442). 한편, 단계 S438의 확인 결과에 근거하여 수신된 데이터 패킷의 디코딩이 성공한 경우, 디코딩된 데이터 패킷을 이용하여 출력하는 기능을 수행한다(S444). The receiving client terminal determines whether decoding of the received data packet is successful (S440). On the other hand, if the decoding of the received data packet is unsuccessful based on the result of the check in step S440, the receiving client terminal waits for the decoded data packet and performs control again in step S430 (S442). On the other hand, if the decoding of the received data packet is successful based on the result of the check in step S438, the function of outputting the decoded data packet is performed (S444).

본 발명이 일 실시예에서 계층화 비디오의 효율적인 전송을 위해 이를 도 3에 적용한다면 추가적인 작업이 필요하게 된다. 즉, 릴레이 장치(120)에서 랩터 코드 재인코딩을 하여 다른 노드들에게 전송할 때 제한된 대역폭에서 계층별로 전송 비율을 다르게 하여 전송할 수 있다.If the present invention is applied to FIG. 3 for efficient transmission of layered video in one embodiment, additional work is required. That is, when the relay device 120 re-encodes the Raptor code and transmits the Raptor code to other nodes, the transmission rate may be different for each layer in a limited bandwidth.

즉, 도 4에 데이터 패킷을 재전송하기 전에 계층별로 비율을 차별화하여 전송하는 부분(S428)이 추가되어 있다. 일반적으로 상위 계층까지 필요로 하는 노드보다 하위 계층만을 필요로 하는 노드들이 더 많다. P2P 네트워크 상황에서는 노드들끼리 서버(멀티미디어 제공 서버)에서 받은 데이터를 서로 주고 받는데, 이때 상위 계층을 받을 수 있는 경로는 하위 계층을 받을 수 있는 경로보다 적기 때문에 상대적으로 불리하다고 할 수 있다. 이러한 상위 계층의 노드 불균형으로 인한 불리함을 극복하기 위해서는 릴레이 장치(120)에서 데이터 패킷을 재전송 할 때 상위 계층에 더 많은 데이터를 전송하고, 하위 계층은 상대적으로 적은 데이터를 전송하게 되면 모든 계층을 균형있게 전송할 수 있게 되어 지연 또한 줄일 수 있는 것이다. That is, in FIG. 4, a portion (S428) for differentiating and transmitting a rate for each layer before retransmitting the data packet is added. In general, there are more nodes that need only the lower layer than the nodes that need to the upper layer. In the P2P network situation, the nodes receive the data from the server (multimedia server), and the path that can receive the upper layer is relatively disadvantageous because the path to receive the lower layer is less than the path that can receive the lower layer. In order to overcome the disadvantage caused by the node unbalance of the upper layer, when the relay device 120 retransmits the data packet, more data is transmitted to the upper layer. When the lower layer transmits relatively less data, Balanced transmission is possible, and delay is also reduced.

도 4에서는 릴레이 장치(120)가 단계 S410 내지 단계 S442을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 릴레이 장치(120)가 도 4에 기재된 순서를 변경하여 실행하거나 단계 S410 내지 단계 S442 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 4는 시계열적인 순서로 한정되는 것은 아니다.4, the relay apparatus 120 sequentially executes steps S410 to S442. However, this is merely an example of the technical idea of the embodiment of the present invention, Those skilled in the art will appreciate that the relay device 120 may be implemented by altering the order described in FIG. 4 or by performing one or more of steps S410 through S442 in a parallel fashion, without departing from the essential characteristics of an embodiment of the present invention. It is to be understood that the invention is not limited to the above-described embodiments.

전술한 바와 같이 도 4에 기재된 본 발명의 일 실시예에 따른 계층별 비율로 패킷 데이터를 전송하는 방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 발명의 일 실시예에 따른 계층별 비율로 패킷 데이터를 전송하는 방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 발명의 일 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명의 일 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.As described above, the method of transmitting packet data at a hierarchical rate according to an embodiment of the present invention illustrated in FIG. 4 may be implemented by a program and recorded in a computer-readable recording medium. A program for implementing a method of transmitting packet data at a hierarchical rate according to an embodiment of the present invention is recorded and a computer-readable recording medium includes all kinds of recording devices for storing data that can be read by a computer system . Examples of such computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, etc., and also implemented in the form of a carrier wave (e.g., transmission over the Internet) . The computer readable recording medium may also be distributed over a networked computer system so that computer readable code is stored and executed in a distributed manner. In addition, functional programs, code, and code segments for implementing an embodiment of the present invention may be easily inferred by programmers skilled in the art to which an embodiment of the present invention belongs.

도 5는 본 발명의 일 실시예에 따른 클라이언트 간 랩터 코드 재전송 구조에 대한 예시도이다.5 is an exemplary diagram illustrating a client-to-client raptor code retransmission structure according to an embodiment of the present invention.

본 발명 일 실시예에서는 멀티미디어의 구조에 따른 제약 없이 계층적 구조를 P2P 서비스와 결합하여 계층화 비디오 전송의 최대 효과를 낼 수 있는 구조를 사용한다. 클라이언트 단말기(110)들의 기본 동작으로 기지국(130)을 경유하여 멀티미디어 제공 서버로부터의 데이터 패킷의 수신하는 역할과 이를 다시 클라이언트 단말기(110)로 송신하는 역할을 수행하며, 릴레이 장치(120)는 샘물 코드의 무율한 특성과 멀티미디어 제공 서버와 동일한 패킷 재생성 특성을 이용하여 샘물 코드 패킷을 재생성하여 클라이언트 단말기(110)에게 전달을 하게 된다. According to an embodiment of the present invention, a hierarchical structure is combined with a P2P service without any constraint on the structure of multimedia, and a structure capable of maximizing the effect of layered video transmission is used. The relay device 120 plays a role of receiving a data packet from the multimedia providing server via the base station 130 and transmitting the data packet to the client terminal 110 as a basic operation of the client terminals 110, And generates the spring water code packet using the same packet regeneration characteristic as that of the multimedia providing server and transmits the spring water packet packet to the client terminal 110.

도 5는 클라이언트 단말기(110) 간 재전송이 이루어지는 과정을 예시로 보여준다. 도 5의 좌측에 도시된 클라이언트는 수신 및 송신을 할 수 있는 릴레이 장치(120)로 가정하고, 도 5의 우측 클라이언트는 수신만 가능하고, 송신을 할 수 없는 종단 노드의 클라이언트 단말기라고 가정한다. 만약, 두 노드가 송신과 수신이 가능하다고 한다면 릴레이 장치(120)간 데이터 패킷 교환이라고 할 수 있을 것이다. 도 5의 'ⓐ, ⓒ 및 ⓔ'는 릴레이 장치(120)가 멀티미디어 제공 서버 또는 기지국(130)에서 전송받은 데이터 패킷이고, 'ⓑ, ⓓ 및 ⓕ'는 릴레이 장치(120)가 현재 수신된 데이터 패킷의 일부 또는 재인코딩한 패킷의 일부를 다른 노드들에게 재전송하는 패킷을 나타낸다. 수신한 패킷은 모두 동일한 샘물 코드 인코딩 단위이다. 여기서 ‘인코딩 단위’란 k개의 데이터 패킷을 이용하여 만들어진 패리티 패킷과 원래 데이터 패킷의 집합을 말한다. 그에 대한 일 실시예로 한 GOP(Group of Pictures)가 100개의 데이터 패킷이 있고, 이를 가지고 패리티 패킷들을 만든다면 100개의 데이터 패킷과 이에 관계된 패리티 패킷들의 집합이 하나의 ‘인코딩 단위 ’가 된다. RS[n,k] 코드의 개념으로 말하면 데이터 패킷과 패리티 패킷을 포함하는 n개의 패킷이 하나의 ‘인코딩 단위’가 된다. 만일 수신된 패킷의 수가 (n,k) 의 k 인 랩터 코드 인코딩을 수행한 원본 정보의 패킷수 이상이 된다면 즉, k보다 조금 더 패킷을 수신하면 디코딩을 시도게 된다. FIG. 5 illustrates an example of a process of retransmission between client terminals 110. It is assumed that the client shown in the left side of FIG. 5 is a relay device 120 capable of receiving and transmitting, and that the right client in FIG. 5 is a client terminal of an end node that can only receive and can not transmit. If the two nodes are capable of transmitting and receiving, it may be referred to as a data packet exchange between the relay apparatuses 120. In FIG. 5, 'a', 'c' and 'e' are data packets received by the relay device 120 from the multimedia server or the base station 130, 'b, d and c' represent the data currently received by the relay device 120 Quot; indicates a packet for retransmitting a part of the packet or a part of the re-encoded packet to other nodes. The received packets are all in the same spring code encoding unit. Here, 'encoding unit' refers to a set of parity packets and original data packets that are formed using k data packets. In an embodiment of the present invention, a group of pictures (GOP) has 100 data packets, and when the parity packets are generated, 100 data packets and a set of parity packets related to the 100 data packets become one 'encoding unit'. In the concept of the RS [n, k] code, n packets including a data packet and a parity packet are one 'encoding unit'. If the number of received packets is equal to or larger than the number of packets of the original information that has been encoded in the raptor code of k (n, k), that is, if a packet is received a little more than k, decoding is attempted.

여기서, 랩터 코드를 이용하는 경우, 현재까지 수신한 패킷들로 디코딩이 성공한다면 'ⓔ'와 같이 더 이상 패킷을 수신하지 않고, 디코딩된 원본 정보를 이용하여 랩터 코드 패킷을 재생성한다. 상황에 따라 재생성된 랩터 코드 패킷의 수는 유동적으로 정할 수 있으며, 랩터 코드 인코딩을 수행한 경우 도 4의 우측에 기재된 수신 클라이언트 단말기에게 'ⓕ'와 같이 다양한 패킷을 전송함으로써 수신 클라이언트 단말기들이 수신한 패킷들이 중복될 확률을 낮추게 된다. 하지만, 수신한 데이터 패킷들이 중복될 경우에는 중복된 패킷 중 하나는 폐기된다. 릴레이 장치(120)와 마찬가지로 수신 클라이언트 단말기도 디코딩이 성공한다면 더 이상 랩터 코드 인코딩 단위의 패킷은 저장하지 않고 폐기한다. 릴레이 장치(120)와 다른 점은 수신만 가능한 수신 클라이언트 단말기에서는 재인코딩을 하지 않는다는 것이다.Here, in the case of using the raptor code, if the decoding succeeds to the packets received so far, the packet is not received any more as in 'e.', And the raptor code packet is regenerated using the decoded original information. The number of Raptor code packets regenerated according to the situation can be determined flexibly. When the Raptor code encoding is performed, various packets such as 'ⓕ' are transmitted to the receiving client terminal shown in the right side of FIG. 4, The probability of overlapping packets is lowered. However, if the received data packets overlap, one of the redundant packets is discarded. As with the relay device 120, if the receiving client terminal also succeeds in decoding, the packet is discarded without storing the packet of the raptor code encoding unit. The relay device 120 is different from the relay device 120 in that it does not re-encode in a receiving client terminal that can only receive.

도 6은 본 발명의 일 실시예에 따른 멀티캐스트 전송과 P2P 전송에 대한 예시도이다.6 is an exemplary diagram illustrating multicast transmission and P2P transmission according to an embodiment of the present invention.

도 6에 도시된 바와 같은, 본 발명의 일 실시예에 따른 데이터 패킷 시스템은 다음과 같이 가정할 수 있다. 1. 멀티 미디어 제공 서버 또는 기지국(130)은 릴레이 장치(120)들에게 유니캐스트 또는 멀티캐스트 방식으로 멀티미디어 서비스를 한다. 2. 같은 서비스를 받는 클라이언트 단말기(110) 간 서로 데이터 교환이 가능하며, 릴레이 장치(120) 간에 데이터 교환이 없고, 종단 클라이언트 단말기 간의 데이터 교환만 있다. 이들이 데이터 교환을 할 때 재인코딩은 하지 않는다. 3. 멀티미디어 데이터는 상위 계층과 하위 계층 두 개의 계층으로 이루어져 있다. 4. 클라이언트의 조건은 서로 다르다. 단말기의 성능, 가용한 비트율과 패킷 손실율, 사용자의 선택에서 차별화되며 이에 따라 수신하는 계층들이 결정된다. 5. 기지국(130)에서 릴레이 장치(120)로의 모든 패킷 손실률은 같고, 하나의 릴레이 장치(120)가 수용하고 있는 모든 클라이언트 단말기(110)로의 패킷 손실률도 같다. 하지만 클라이언트 단말기(110)끼리의 패킷 손실률은 서로 다르다.The data packet system according to an embodiment of the present invention, as shown in FIG. 6, can be assumed as follows. 1. The multimedia providing server or the base station 130 performs a multimedia service to the relay apparatuses 120 in a unicast or multicast manner. 2. Data can be exchanged between the client terminals 110 receiving the same service, and there is no data exchange between the relay devices 120, and there is only data exchange between the end client terminals. They do not re-encode when exchanging data. 3. Multimedia data consists of two layers: upper layer and lower layer. 4. Client's conditions are different. The performance of the terminal, available bit rate and packet loss rate, and user selection are differentiated, and the layers to be received are determined accordingly. 5. All packet loss rates from the base station 130 to the relay apparatus 120 are the same and the packet loss rates to all the client terminals 110 accommodated by one relay apparatus 120 are the same. However, the packet loss rates of the client terminals 110 are different from each other.

도 6은 본 발명의 일 실시예에 따른 멀티캐스트 전송과 P2P 전송에 대한 예시도 하나의 기지국(130)과 두 개의 릴레이 장치(120), 하위 계층만 사용하는 클라이언트 단말기(110)가 3개, 상위 계층까지 사용하는 클라이언트 단말기(110)가 1개가 있다고 가정한다. 도 6의 좌측에 도시된 기지국(130)에서 릴레이 장치(120)로의 멀티캐스트와 각 릴레이 장치(120)가 자신의 영역에 속하는 클라이언트 단말기(110)로의 전송과 pi로 표시되어 있는 패킷 손실률을 나타내며, 도 6의 우측에 도시된 피어들끼리의 데이터 교환을 나타내고 있다. 여기서, 각각 다른 데이터 패킷 손실이 발생하며, 수학식 2 내지 수학시 6에서 사용되는 단위와 기호는 표 1과 같다.6 illustrates an example of multicast transmission and P2P transmission according to an exemplary embodiment of the present invention. Referring to FIG. 6, there are shown a single base station 130, two relay devices 120, three client terminals 110 using only a lower layer, It is assumed that there is one client terminal 110 that uses up to the upper layer. 6 shows the packet loss rate indicated by the multicast from the base station 130 to the relay apparatus 120 and the transmission to the client terminal 110 belonging to the respective relay apparatuses 120 and pi, , And data exchange between the peers shown on the right side of FIG. 6 is shown. Here, different data packet losses occur, and the units and symbols used in Equations (2) to (6) are as shown in Table 1.

Figure 112009054294793-pat00002
Figure 112009054294793-pat00002

한편, 도 6에서는 계층별 같은 비율로 재전송하는 시나리오는 데이터 패킷들의 중요도가 계층별로 모두 같은 경우 전송하는 방법으로서, 중요도를 두 개로 나누고 높은 중요도의 패킷만 수신하는 클라이언트도 있고, 높고 낮은 중요도의 패킷 모두를 수신하는 클라이언트가 있는 경우로 가정한다. 예를 들어서, 스피커만 있고 모니터는 없는 클라이언트 단말기는 오디오 데이터만 수신하고, 스피커와 모니터 모두 있는 클라이언트는 오디오 데이터와 비디오 데이터 모두 수신할 수 있다.In FIG. 6, a scenario in which retransmission is performed at the same rate for each layer is a method of transmitting data packets when the importance of the data packets is the same for each layer. There are clients that divide the importance into two and receive only packets of high importance, Assume that there is a client receiving all. For example, a client terminal that only has a speaker and no monitor receives only audio data, and a client with both a speaker and a monitor can receive both audio data and video data.

즉, 릴레이 장치(120)해서 생성한 랩터 코드 패킷이 SVC 비디오인 경우, SVC를 두 개의 계층으로 나눈 경우에 대해 설명하면, 기본 계층에 해당하는 하위 계층의 데이터 패킷들에 대하여 랩터 인코딩을 수행하여 하나의 인코딩 단위를 형성하고, 하위 계층의 데이터 패킷과 상위 계층의 데이터 패킷 전체에 대하여 랩터 코딩을 하여 또 하나의 인코딩 단위를 형성한다.That is, when the raptor code packet generated by the relay apparatus 120 is the SVC video, the SVC is divided into two layers. In this case, the lower layer data packets corresponding to the base layer are Raptor-encoded One encoding unit is formed, and another encode unit is formed by raptor-coding the data packet of the lower layer and the data packet of the upper layer.

어떤 계층을 보내든 릴레이 장치(120)에서 모든 클라이언트 단말기(110)로의 전송 시 대역폭은 같기 때문에 두 계층의 비율이 중요하게 된다. 계층별 같은 비율로 재전송하는 시나리오에서는 하위 계층만 전송하면 모든 대역폭을 하위 계층을 전송하는 데 사용하고, 상위 계층까지 전송해야 하는 경우에는 대역폭을 하위 계층과 상위 계층에 1:1로 할당하여 전송하게 된다. 이는 계층별 중요도나 P2P망에서의 계층별 특성을 고려하지 않는 것이다. 만약, 중요도가 다른 계층이 존재하는 SVC와 다르게 분산 비디오 코딩과 같이 각 패킷이 동일한 중요도를 갖도록 인코딩이 가능한 멀티미디어에 적용할 수 있다. Since the bandwidths are the same in transmission from the relay device 120 to all the client terminals 110 regardless of the layer, the ratio of the two layers becomes important. In the scenario of retransmitting at the same rate for each layer, if only the lower layer is transmitted, all the bandwidth is used to transmit the lower layer. If the upper layer is to be transmitted, the bandwidth is allocated to the lower layer and the upper layer do. This does not consider the importance of each layer or the characteristics of each layer in the P2P network. Unlike SVCs in which layers with different levels of importance are present, it can be applied to multimedia capable of encoding such that each packet has the same importance as distributed video coding.

Figure 112009054294793-pat00003
Figure 112009054294793-pat00003

Figure 112009054294793-pat00004
Figure 112009054294793-pat00004

Figure 112009054294793-pat00005
Figure 112009054294793-pat00005

Figure 112009054294793-pat00006
Figure 112009054294793-pat00006

Figure 112009054294793-pat00007
Figure 112009054294793-pat00007

수학식 2 내지 수학식 6에는 네 개의 클라이언트 단말기에게 기지국(130)이 전송해 주어야 하는 데이터양과 각 클라이언트가 필요로 하는 데이터를 받을 때까지의 시간을 수식으로 표현한 것이다. 여기서, rB은 하위 계층의 전송 비율이고, rE는 향상 계층의 전송 비율로서 두 값을 합치면 1이 되어야 한다. 왜냐하면, 어느 것을 전송하느냐와 상관없이 노드들 간의 사용할 수 있는 대역폭은 제한적이기 때문이다. 계층별 비율이 같을 때에는 rB과 rE는 0.5, 0.5의 값을 가지고 있다. Equations (2) to (6) are expressions of the amount of data to be transmitted by the base station 130 to the four client terminals and the time until receiving the data required by each client. Where rB is the transmission rate of the lower layer and rE is the transmission rate of the enhancement layer and should be 1 if both values are combined. This is because the available bandwidth between nodes is limited, regardless of which one is transmitted. When ratios are the same, rB and rE have values of 0.5 and 0.5.

한편, 계층별 차별적 비율로 재전송 시나리오는 계층별 같은 비율로 재전송하는 시나리오와 모든 상황은 같고 데이터 패킷들의 중요도가 계층별로 다르게 재전송하는 경우 전송하는 방법이다. 도 6에 도시된 바와 같이 각 클라이언트 단말기에서 요구하거나 수용 가능한 품질에 따라 차별적인 보호를 통하여 품질을 보장할 수 있어야 한다. 사양이 좋은 클라이언트 단말기인 자동차는 하위 계층과 상위 계층을 모두 디코딩하여 하위 계층만 수신받는 저사양의 모바일과 같은 클라이언트 단말기들보다 좋은 품질의 재생이 가능하다. 멀티미디어 제공 서버와 클라이언트 단말기(110) 간 전송뿐만 아니라 클라이언트 단말기(110) 간 전송에서도 네트워크 상황을 고려하여 차별적인 정보 보호가 가능하다. On the other hand, the retransmission scenario is a method in which all cases are the same as the scenario in which retransmission is performed at the same rate for each layer, and the retransmission is performed when the importance of data packets is different depending on the layer. As shown in FIG. 6, each client terminal must be able to guarantee quality through differential protection according to the quality requested or acceptable. The car, which is a good client terminal, can reproduce better quality than client terminals such as low-end mobile terminals which decode both the lower layer and the upper layer and receive only the lower layer. Not only the transmission between the multimedia providing server and the client terminal 110 but also the transmission between the client terminals 110 can be discriminated by considering the network situation.

도 7은 본 발명의 일 실시예에 다른 계층별 전송 비율에 다른 기지국이 전송해야 하는 패킷 수를 나타낸 예시도이다.FIG. 7 is an exemplary diagram illustrating the number of packets to be transmitted by other base stations to different transmission ratios according to an embodiment of the present invention.

도 7은 계층별 전송 비율의 합이 1이 되도록 조정하여 전송한다고 하였을 때 모든 클라이언트들이 랩터 디코딩을 위한 데이터양에 해당하는 k+ε 만큼을 받을 때까지 기지국(130)이 전송해야 하는 총 패킷 수를 나타낸 결과이다. 7 is a graph showing the total number of packets to be transmitted by the base station 130 until all the clients receive k + ε corresponding to the amount of data for raptor decoding, Respectively.

하위 계층만을 수신하는 클라이언트 단말기들의 평균적인 전송 패킷 수와 상위 계층까지 수신하는 클라이언트의 전송 패킷 수는 rB과 rE에 의해 결정된다. rB를 증가시키면 하위 계층의 전송양을 늘리는 것이고, 그에 반해 rE는 줄어들게 되며 상위 계층의 전송양은 줄어들게 된다. 종단 클라이언트 단말기로부터의 피드백없이 계층별 전송 비율을 결정하기 위해서는 도 7에 나타나 있는 계층별 전송양의 총합인 R(total)이 최소인 점의 rB과 rE를 선택한다. 즉, rB과 rE가 각각 0.1, 0.9 일때 계층별 최적의 전송 비율이라고 할 수 있고, 기지국(130)이 부담해야 하는 패킷 전송양이 최소가 된다. 결과와 같이 상위 계층의 전송 비율을 증가시켜도 기지국(130)이 전송해야 하는 데이터양은 오히려 줄어들게 된다. 이렇게 기지국(130)에서 송신하는 데이터 패킷 수가 줄어든다는 것은 곧 그 데이터 패킷을 수신하는 최종 클라이언트가 원하는 데이터 패킷을 모두 수신하기까지의 지연이 줄어든다는 것을 의미한다. The average number of transmission packets of the client terminals receiving only the lower layer and the number of transmission packets of the client receiving up to the higher layer are determined by rB and rE. Increasing rB will increase the amount of transmission in the lower layer, while reducing rE, and the amount of transmission in the upper layer will be reduced. In order to determine the transmission rate per layer without feedback from the end client terminal, rB and rE are selected from the points where R (total) is the sum of the transmission amounts per layer shown in FIG. That is, when rB and rE are 0.1 and 0.9, respectively, it can be said that the optimal transmission rate is in each layer, and the amount of packet transmission to be borne by the base station 130 is minimized. As a result, even if the transmission rate of the upper layer is increased, the amount of data to be transmitted by the base station 130 is reduced. The decrease in the number of data packets transmitted from the base station 130 means that the delay until the final client receiving the data packet receives all the desired data packets is reduced.

즉, 이에 따라, 클라이언트 단말기(110) 간 데이터 패킷 교환을 통하여 멀티미디어 제공 서버와 클라이언트 단말기(110) 사이의 좋지 않은 네트워크 상황을 우회하며 멀티미디어 제공 서버와의 통신에 지연이나 손실에 대한 대처가 가능하다. 또한, 각 전송 경로의 네트워크 상황에 따라 패리티를 유동적으로 상황에 맞게 보낼 수 있으며, 각 클라이언트 단말기(110)가 요구하는 품질에 최적화하여 차별적 보호가 가능하다. 또한, 샘물 코드의 무율 특성을 이용하여 패리티 패킷을 충분한 개수로 생성함으로써 클라이언트 단말기(110)는 이미 전송받은 데이터 패킷을 다른 클라이언트 단말기에 알리지 않더라도 중복 수신 가능성을 줄이고, 피드백 지연 시간을 줄일 수 있다. 또한, 릴레이 장치(120)의 랩터 코드 또는 샘물 코드의 패러티 패킷을 재전송 또는 인코딩 후 재전송을 통해 멀티미디어 제공 서버 측의 자원 사용을 줄일 수 있다. 또한, 릴레이 장치(120)에서 다른 클라이언트 단말기로의 재전송에서 계층별로 전송하는 데이터 패킷 양을 조절하여 모든 계층의 지연을 최소화 시킬 수 있는 것이다. In other words, it is possible to avoid a bad network situation between the multimedia providing server and the client terminal 110 by exchanging data packets between the client terminals 110, and cope with a delay or loss in communication with the multimedia providing server . In addition, parity can be flexibly sent according to the situation of the network of each transmission path, and differentiated protection is possible by optimizing the quality required by each client terminal 110. Also, by generating a sufficient number of parity packets using the rate-of-attack characteristic of the spring code, the client terminal 110 can reduce the possibility of receiving redundancy and reduce the feedback delay time even if the client terminal 110 does not notify the already transmitted data packet to other client terminals. In addition, resource use on the multimedia server side can be reduced through retransmission or retransmission of the parity packet of the sniper code or the raptor code of the relay device 120. [ In addition, it is possible to minimize the delay of all layers by controlling the amount of data packets transmitted by the layer in the retransmission from the relay device 120 to other client terminals.

이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. That is, within the scope of the present invention, all of the components may be selectively coupled to one or more of them. In addition, although all of the components may be implemented as one independent hardware, some or all of the components may be selectively combined to perform a part or all of the functions in one or a plurality of hardware. As shown in FIG. The codes and code segments constituting the computer program may be easily deduced by those skilled in the art. Such a computer program can be stored in a computer-readable storage medium, readable and executed by a computer, thereby realizing an embodiment of the present invention. As the storage medium of the computer program, a magnetic recording medium, an optical recording medium, a carrier wave medium, or the like may be included.

또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.It is also to be understood that the terms such as " comprises, "" comprising," or "having ", as used herein, mean that a component can be implanted unless specifically stated to the contrary. But should be construed as including other elements. All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used terms, such as predefined terms, should be interpreted to be consistent with the contextual meanings of the related art, and are not to be construed as ideal or overly formal, unless expressly defined to the contrary.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.

이상에서 설명한 바와 같이 본 발명은 클라이언트 단말기 간 멀티미디어 데 이터를 전송하기 위한 데이터 패킷 전송 방법 및 릴레이 장치 분야에 적용되어, 랩터 코드의 무율 특성을 이용하여 중계하는 클라이언트 단말기가 새로운 패리티 패킷을 생성할 수 있으므로, 이를 통해 데이터 패킷 복원률을 향상시킬 수 있는 효과를 발생하는 유용한 발명이다.As described above, the present invention is applied to a data packet transmission method and a relay apparatus for transmitting multimedia data between client terminals, and it is possible to generate a new parity packet by using a rate characteristic of a raptor code Therefore, it is a useful invention that has the effect of improving the data packet restoration rate.

도 1은 본 발명의 일 실시예에 따른 데이터 패킷 전송 시스템을 개략적으로 나타낸 블럭 구성도,1 is a block diagram schematically illustrating a data packet transmission system according to an embodiment of the present invention.

도 2는 본 발명의 일 실시예에 따른 릴레이 장치를 개략적으로 나타낸 블럭 구성도,2 is a block diagram schematically showing a relay apparatus according to an embodiment of the present invention,

도 3은 본 발명의 일 실시예에 따른 데이터 패킷 전송 방법을 설명하기 위한 순서도,3 is a flowchart illustrating a data packet transmission method according to an embodiment of the present invention;

도 4는 본 발명의 일 실시예에 따른 계층별 비율로 패킷 데이터를 전송하는 방법을 설명하기 위한 순서도, 4 is a flowchart illustrating a method of transmitting packet data at a layer-by-layer ratio according to an embodiment of the present invention.

도 5는 본 발명의 일 실시예에 따른 클라이언트 단말기 간 랩터 코드 재전송 구조에 대한 예시도,FIG. 5 is an exemplary view illustrating a structure of a client terminal-to-terminal Raptor code retransmission according to an embodiment of the present invention;

도 6은 본 발명의 일 실시예에 따른 멀티캐스트 전송과 P2P 전송에 대한 예시도,FIG. 6 is an exemplary diagram illustrating multicast transmission and P2P transmission according to an embodiment of the present invention. FIG.

도 7은 본 발명의 일 실시예에 다른 계층별 전송 비율에 다른 기지국이 전송해야 하는 패킷 수를 나타낸 예시도이다.FIG. 7 is an exemplary diagram illustrating the number of packets to be transmitted by other base stations to different transmission ratios according to an embodiment of the present invention.

< 도면의 주요 부분에 대한 부호의 설명 >Description of the Related Art

110: 클라이언트 단말기 120: 릴레이 장치110: client terminal 120: relay device

130: 기지국 210: 데이터 패킷 통신부130: base station 210: data packet communication section

220: 중복 및 디코딩 확인부 230: 디코딩부220: duplication and decoding confirmation unit 230: decoding unit

240: 랩터 코드 인코딩부 250: 데이터 패킷 재전송부240: Raptor code encoding unit 250: Data packet retransmission unit

Claims (15)

P2P(Peer to Peer) 통신에서 클라이언트 단말기 간에 전송되는 데이터 패킷을 중계하는 데이터 패킷 통신부;A data packet communication unit for relaying data packets transmitted between client terminals in peer-to-peer (P2P) communication; 송신 클라이언트 단말기로부터 수신된 데이터 패킷에 대한 중복 여부 또는 디코딩 성공 여부를 확인하는 중복 및 디코딩 확인부;A duplication and decoding confirmation unit for checking whether a data packet received from a transmitting client terminal is duplicated or decoded successfully; 상기 확인 결과에 근거하여 수신된 데이터 패킷이 중복되거나 디코딩되지 않은 경우, 상기 수신된 데이터 패킷을 저장한 후 디코딩하는 디코딩부;A decoding unit for storing the received data packet and decoding the received data packet when the received data packet is not duplicated or decoded based on the check result; 랩터 코드(RAPTOR Code)를 이용하여 상기 디코딩된 데이터 패킷을 재인코딩하여 랩터 코드 패킷으로 생성하는 랩터 코드 인코딩부;A Raptor code encoding unit for re-encoding the decoded data packet using a Raptor Code and generating a Raptor code packet; 상기 랩터 코드 패킷을 차별화된 전송 비율로 종단 노드인 수신 클라이언트 단말기에게 재전송하는 데이터 패킷 재전송부; 및A data packet retransmission unit for retransmitting the Raptor code packet to a receiving client terminal which is an end node at a different transmission rate; And 상기 송신 클라이언트 단말기 및 상기 수신 클라이언트 단말기에 대한 단말기 성능 정보, 가용 비트율 정보 및 패킷 손실율 정보 중 적어도 하나 이상의 정보를 근거로 상위 계층과 하위 계층의 비율을 결정하여, 상기 결정된 비율에 근거하여 상기 랩터 코드 패킷의 전송 비율을 계층별로 차별화하는 계층별 비율 결정부Determining a ratio of an upper layer and a lower layer based on at least one of terminal performance information, available bit rate information and packet loss rate information for the transmitting client terminal and the receiving client terminal, A layer-by-layer ratio determining unit that differentiates a packet transmission rate by a layer 를 포함하는 것을 특징으로 하는 릴레이 장치.And a relay device. 제 1 항에 있어서,The method according to claim 1, 상기 계층별 비율 결정부는,The layer-by- 제한된 대역폭에서 전송 경로의 네트워크 상황에 따라 상기 랩터 코드 패킷의 상기 전송 비율을 계층별로 차별화하는 릴레이 장치.And differentiates the transmission rate of the raptor code packet according to a layer status according to a network condition of a transmission path in a limited bandwidth. 삭제delete 제 1 항에 있어서,The method according to claim 1, 상기 계층별 비율 결정부는,The layer-by- 상기 랩터 코드 패킷이 SVC(Scalable Video Coding) 비디오인 경우, 상기 상위 계층으로 전송하는 전송 비율을 상기 하위 계층의 비율 보다 높은 비율로 증가시키는 것을 특징으로 하는 릴레이 장치.Wherein when the Raptor code packet is SVC (Scalable Video Coding) video, the rate of transmission to the upper layer is increased at a rate higher than the rate of the lower layer. 제 1 항에 있어서,The method according to claim 1, 상기 계층별 비율 결정부는,The layer-by- 상기 차별화된 전송 비율이 동일한 비율인 경우, 상기 상위 계층과 상기 하위 계층을 1:1 비율로 할당한 상기 랩터 코드 패킷을 상기 수신 클라이언트 단말기에게 전송하는 것을 특징으로 하는 릴레이 장치.And transmits the raptor code packet in which the upper layer and the lower layer are allocated in a 1: 1 ratio to the receiving client terminal when the differentiated transmission ratio is the same. 제 1 항에 있어서,The method according to claim 1, 상기 랩터 코드 인코딩부는,Wherein the raptor code encoding unit comprises: 상기 랩터 코드의 무율(Rateless) 특성을 이용하여 패리티(Parity) 패킷인 상기 랩터 코드 패킷을 생성하는 것을 특징으로 하는 릴레이 장치.And generates the raptor code packet, which is a parity packet, using the rateless characteristic of the raptor code. 제 1 항에 있어서,The method according to claim 1, 상기 중복 및 디코딩 확인부는,The duplication and decoding confirmation unit, 수신된 데이터 패킷이 중복되는 경우, 중복된 데이터 패킷 중 하나를 삭제하는 것을 특징으로 하는 릴레이 장치.And deletes one of the redundant data packets when the received data packet is duplicated. 제 1 항에 있어서,The method according to claim 1, 상기 중복 및 디코딩 확인부는,The duplication and decoding confirmation unit, 상기 수신된 데이터 패킷의 디코딩이 성공한 경우, 상기 수신된 데이터 패킷을 저장하지 않는 것을 특징으로 하는 릴레이 장치.And does not store the received data packet when decoding of the received data packet is successful. 제 1 항에 있어서,The method according to claim 1, 상기 수신된 데이터 패킷은 모두 동일한 샘물 코드(Fountain Code) 인코딩 단위의 패킷인 것을 특징으로 하는 릴레이 장치.Wherein the received data packets are all packets of the same Fountain Code encoding unit. 제 9 항에 있어서,10. The method of claim 9, 상기 인코딩 단위는,Wherein the encoding unit comprises: k개의 데이터 패킷을 이용하여 생성된 패리티 패킷과 상기 수신된 데이터 패킷의 집합인 것을 특징으로 하는 릴레이 장치.wherein the parity packet is a set of the parity packet generated using k data packets and the received data packet. 제 1 항에 있어서,The method according to claim 1, 상기 랩터 코드는,The raptor code includes: 패킷 손실 복원 코드인 것을 특징으로 하는 릴레이 장치.And a packet loss recovery code. 제 11 항에 있어서,12. The method of claim 11, 상기 패킷 손실 복원 코드는,The packet loss recovery code includes: DF(Decode and Forward)를 사용하는 채널 코드인 것을 특징으로 하는 릴레이 장치.Is a channel code that uses DF (Decode and Forward). 송신 클라이언트 단말기로부터 수신된 데이터 패킷에 대한 중복 여부 또는 디코딩 성공 여부를 확인하는 확인 과정;A confirming process of confirming whether the data packet received from the transmitting client terminal is duplicated or decoded successfully; 상기 확인 과정의 확인 결과에 근거하여 수신된 데이터 패킷이 중복되거나 디코딩되지 않은 경우, 상기 수신된 데이터 패킷을 저장한 후 디코딩하는 과정;Storing the received data packet and decoding the received data packet when the received data packet is not duplicated or decoded based on the checking result of the checking process; 랩터 코드(RAPTOR Code)를 이용하여 상기 디코딩된 데이터 패킷을 재인코딩하여 랩터 코드 패킷으로 생성하는 과정;Encoding the decoded data packet using a RAPTOR code to generate a Raptor code packet; 상기 랩터 코드 패킷을 차별화된 전송 비율로 종단 노드인 수신 클라이언트 단말기에게 재전송하는 과정; 및Retransmitting the Raptor code packet to a receiving client terminal which is an end node at a different transmission rate; And 을 포함하되, 상기 송신 클라이언트 단말기 및 상기 수신 클라이언트 단말기에 대한 단말기 성능 정보, 가용 비트율 정보 및 패킷 손실율 정보 중 적어도 하나 이상의 정보를 근거로 상위 계층과 하위 계층의 비율을 결정하여, 상기 결정된 비율에 근거하여 상기 랩터 코드 패킷의 전송 비율을 계층별로 차별화하는 것을 특징으로 하는 데이터 패킷 전송 방법.Wherein a ratio between an upper layer and a lower layer is determined based on at least one of terminal performance information, available bit rate information and packet loss rate information for the transmitting client terminal and the receiving client terminal, Wherein the transmission rate of the raptor code packet is differentiated according to the layer. 삭제delete 삭제delete
KR1020090082897A 2009-09-03 2009-09-03 Method And Relay Station for Transmitting Data Packet KR101559825B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090082897A KR101559825B1 (en) 2009-09-03 2009-09-03 Method And Relay Station for Transmitting Data Packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090082897A KR101559825B1 (en) 2009-09-03 2009-09-03 Method And Relay Station for Transmitting Data Packet

Publications (2)

Publication Number Publication Date
KR20110024765A KR20110024765A (en) 2011-03-09
KR101559825B1 true KR101559825B1 (en) 2015-11-02

Family

ID=43932550

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090082897A KR101559825B1 (en) 2009-09-03 2009-09-03 Method And Relay Station for Transmitting Data Packet

Country Status (1)

Country Link
KR (1) KR101559825B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102089001B1 (en) * 2012-12-05 2020-03-13 삼성전자주식회사 Device and method for receiving contents based on status of terminal
CN113518111B (en) * 2021-05-07 2022-12-09 西安交通大学 Fountain code driven multi-channel side unit cooperative caching method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050048914A1 (en) * 2003-09-03 2005-03-03 Motorola, Inc. Method and apparatus for relay facilitated communications
WO2007108299A1 (en) * 2006-03-16 2007-09-27 Mitsubishi Electric Corporation System and method for communicating information in wireless cooperative relay network of nodes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050048914A1 (en) * 2003-09-03 2005-03-03 Motorola, Inc. Method and apparatus for relay facilitated communications
WO2007108299A1 (en) * 2006-03-16 2007-09-27 Mitsubishi Electric Corporation System and method for communicating information in wireless cooperative relay network of nodes

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jeff Castura and Yongyi Mao, "Rateless Coding for Wireless Relay Channels,"IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, VOL. 6, NO. 5, (2007. 05)*

Also Published As

Publication number Publication date
KR20110024765A (en) 2011-03-09

Similar Documents

Publication Publication Date Title
Keller et al. Microcast: Cooperative video streaming on smartphones
Magli et al. Network coding meets multimedia: A review
US7801069B2 (en) Distribution of packets among a plurality of nodes
Mohammed et al. A survey and tutorial of wireless relay network protocols based on network coding
JP2014505388A (en) Software transfer for cooperative wireless communication
Hu et al. QoS-constrained energy efficiency of cooperative ARQ in multiple DF relay systems
JP2008541607A (en) Multi-carrier scheduling
KR101082544B1 (en) Relay station and method of relaying data packets for the relay station
WO2012122802A1 (en) A method, relay station, base station and communication system for data retransmission
Shen et al. Refactor-ing content overhearing to improve wireless performance
Zhang et al. MBMS with user cooperation and network coding
Yu et al. Efficient ARQ protocols for exploiting cooperative relaying in wireless sensor networks
Oh et al. Robust MANET routing using adaptive path redundancy and coding
KR101559825B1 (en) Method And Relay Station for Transmitting Data Packet
Kok et al. Improving network coding in wireless ad hoc networks
KR101137014B1 (en) Mobile telecommunication system including a plurality of relay stations and method of transmitting data packets for the mobile telecommunication system
Thomos et al. Network coding: from theory to media streaming
Liu et al. Distributed markov decision process in cooperative peer-to-peer repair for WWAN video broadcast
KR20120101942A (en) Video streaming system and method based on fountain codes
Ghallab et al. Electronic relay performance in the inband device-to-device (D2D) communication system
Mehta et al. Survey on multimedia transmission using network coding over wireless networks
JP2011239210A (en) Communication system, communication apparatus, and communication method and program of those
JP5032678B2 (en) Multi-carrier scheduling
Niu et al. Buffer-aided and weight-based non-orthogonal network coding for wireless broadcasting
Xiong et al. Cooperative opportunistic network-coded transmission strategy for wireless mesh networks

Legal Events

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

Payment date: 20181002

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190926

Year of fee payment: 5