Nothing Special   »   [go: up one dir, main page]

KR20070006024A - Method and apparatus for transmitting and receiving in the wireless network controlling encoding and transmitting mechanism using video data s importance and network circumstance - Google Patents

Method and apparatus for transmitting and receiving in the wireless network controlling encoding and transmitting mechanism using video data s importance and network circumstance Download PDF

Info

Publication number
KR20070006024A
KR20070006024A KR1020050060979A KR20050060979A KR20070006024A KR 20070006024 A KR20070006024 A KR 20070006024A KR 1020050060979 A KR1020050060979 A KR 1020050060979A KR 20050060979 A KR20050060979 A KR 20050060979A KR 20070006024 A KR20070006024 A KR 20070006024A
Authority
KR
South Korea
Prior art keywords
data
wireless network
transmission
information
frame
Prior art date
Application number
KR1020050060979A
Other languages
Korean (ko)
Other versions
KR100763184B1 (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 KR1020050060979A priority Critical patent/KR100763184B1/en
Publication of KR20070006024A publication Critical patent/KR20070006024A/en
Application granted granted Critical
Publication of KR100763184B1 publication Critical patent/KR100763184B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • H04L47/762Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0017Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234354Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering signal-to-noise ratio parameters, e.g. requantization
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A method and a system for transmitting and receiving data are provided to improve transmission efficiency by controlling a transmission mode and an encoding mode according to the transmission state of a wireless network and importance of video information. State information of a wireless network is received(S701). Data to be transmitted are classified based on the state information(S702). Transmission data to which information for recovering an error is added when the error is generated in the classified data are encoded. A decision factor for transmitting the transmission data to the wireless network is set according to the state information. The encoded transmission data is transmitted to the wireless network according to the set result(S730).

Description

무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 인코딩 및 전송을 제어하여 송수신하는 방법 및 장치{Method and apparatus for transmitting and receiving in the wireless network controlling encoding and transmitting mechanism using video data s importance and network circumstance}Method and apparatus for transmitting and receiving in the wireless network controlling encoding and transmitting mechanism using video data s importance and network circumstance}

도 1은 종래에 비디오 데이터를 무선을 통해 송신하는 송신측과 수신측의 구성을 보여주는 도면이다.1 is a diagram illustrating a configuration of a transmitter and a receiver for transmitting video data over the air in the related art.

도 2는 본 발명의 일 실시예에 따른 비디오 송신부와 비디오 수신부의 구성을 보여주는 예시도이다.2 is an exemplary view showing the configuration of a video transmitter and a video receiver according to an embodiment of the present invention.

도 3은 본 발명의 일 실시예에 따른 인코더와 QoS 제어부의 상호 작용을 보여주는 예시도이다.3 is an exemplary diagram illustrating interaction between an encoder and a QoS control unit according to an embodiment of the present invention.

도 4는 본 발명의 일 실시예에 따른 MAC 관리부와 QoS 제어부의 상호 작용을 보여주는 예시도이다.4 is an exemplary diagram illustrating an interaction between a MAC manager and a QoS controller according to an embodiment of the present invention.

도 5는 본 발명의 일 실시예에 따른 비디오 송신부에서의 데이터 흐름을 보여주는 예시도이다.5 is an exemplary diagram illustrating a data flow in a video transmitter according to an embodiment of the present invention.

도 6은 본 발명의 일 실시예에 따른 비디오 수신부에서의 데이터 흐름을 보여주는 예시도이다.6 is an exemplary view illustrating a data flow in a video receiver according to an embodiment of the present invention.

도 7은 본 발명의 일 실시예에 따라 비디오 송신부에서 작업을 처리하는 과 정을 보여주는 순서도이다.7 is a flowchart illustrating a process of processing a job by a video transmitter according to an embodiment of the present invention.

도 8은 본 발명의 일 실시예에 따라 비디오 수신부에서 작업을 처리하는 과정을 보여주는 순서도이다.8 is a flowchart illustrating a process of processing a job in a video receiving unit according to an embodiment of the present invention.

도 9는 본 발명의 일 실시예에 따라 데이터를 인코딩하기 위해 QoS 제어부가 네트워크 상황에 따라 인코더와 MAC 관리부를 제어하는 과정을 보여주는 순서도이다.9 is a flowchart illustrating a process in which a QoS controller controls an encoder and a MAC manager according to network conditions in order to encode data according to an embodiment of the present invention.

도 10a, 10b, 10c는 본 발명의 일실시예를 적용했을 경우의 전송 성공율을 보여주는 그래프이다.10A, 10B, and 10C are graphs showing a transmission success rate when an embodiment of the present invention is applied.

도 11은 본 발명의 일 실시예에 따른 인코딩율에 따른 에러 발생 비율을 보여주는 그래프이다.11 is a graph showing an error occurrence rate according to an encoding rate according to an embodiment of the present invention.

도 12는 본 발명의 일 실시예에 따른 인터리빙시의 블록 사이즈에 따른 에러 발생 비율을 보여주는 그래프이다.12 is a graph showing an error occurrence rate according to a block size during interleaving according to an embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for main parts of the drawings>

100: 비디오 송신부 121: 프레임 분류부100: video transmission unit 121: frame classification unit

122: 인코더 141: MAC 관리부122: encoder 141: MAC management unit

150: QoS 제어부 200: 비디오 수신부150: QoS control unit 200: video receiving unit

221: 통계 수집부 222: 디코더221: statistics collector 222: decoder

223: 패킷 정렬부223: packet alignment unit

본 발명은 무선 네트워크에서의 비디오 데이터의 송수신에 관한 것으로, 보다 상세하게는 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 인코딩 및 전송을 제어하여 송수신하는 방법 및 장치에 관한 것이다.The present invention relates to the transmission and reception of video data in a wireless network, and more particularly, to a method and apparatus for controlling transmission and reception by encoding and transmission according to the transmission situation of the wireless network and the importance of video information.

IEEE 802.11a/b/g, cdma2000, UMTS, WiBro등의 무선 통신 기술의 발전과 대중화로 홈 네트워크, 무선 인터넷이 널리 사용될 예정이며, 이들 서비스의 킬러 애플리케이션으로 비디오 스트리밍이 예상된다. 특히, DMB(Digital Multimedia Broadcasting)과 같은 방송 시스템이 구축되면서 무선 통신에서의 비디오 스트리밍의 중요성은 부각되고 있다. With the development and popularization of wireless communication technologies such as IEEE 802.11a / b / g, cdma2000, UMTS, and WiBro, home networks and wireless Internet will be widely used, and video streaming is expected as a killer application of these services. In particular, as a broadcasting system such as DMB (Digital Multimedia Broadcasting) is being built, the importance of video streaming in wireless communication is emerging.

그러나 기존의 MPEG등의 비디오 압축기술은 채널 오류률이 높은 무선 통신을 고려하지 않고 설계되어 전송 중 많은 정보를 가지고 있는 데이터에 오류가 발생하면 이 오류가 다른 비디오 데이터에 전파되어 비디오의 품질을 급격하게 떨어뜨릴 수 있다.However, existing video compression technology such as MPEG is designed without considering wireless communication with high channel error rate. If an error occurs in data that has a lot of information during transmission, the error is propagated to other video data and the video quality is rapidly increased. Can be dropped.

도 1은 종래에 비디오 데이터를 무선을 통해 송신하는 송신측과 수신측의 구성을 보여주는 도면이다. 비디오 송신부(10)는 MPEG과 같은 비디오 입력을 수신하여 이를 스트리밍 어플리케이션(12)을 통해 스트리밍을 수행한다. 스트리밍된 데이터는 스트리밍시 비디오 신호에 대해 FEC(Forward Error Correction) 기법을 적용할 수 있다. 전송 프로토콜(Transport Protocol)과 그 하부 레이어의 매체 접근 제어층(Media Access Control layer)과 물리층(Physical layer)을 통해 비디오 수신부(20)로 전송된다. 비디오 수신부(20)는 수신한 비디오 데이터를 디코딩하여 비디 오 출력을 생성한다. 이때, 비디오 송신부(10)와 비디오 수신부(20)가 IEEE 802.11a/b/g Wireless LAN등과 같이 무선으로 연결되어 있을 경우, 불안정한 채널 상황으로 패킷 분실이 발생하여 수신측의 사용자가 느끼는 비디오 품질에 문제를 야기시킬 수 있다.1 is a diagram illustrating a configuration of a transmitter and a receiver for transmitting video data over the air in the related art. The video transmitter 10 receives a video input such as MPEG and performs the streaming through the streaming application 12. The streamed data may apply a Forward Error Correction (FEC) technique to the video signal during streaming. It is transmitted to the video receiver 20 through a transport protocol, a media access control layer and a physical layer of a lower layer. The video receiver 20 generates a video output by decoding the received video data. At this time, when the video transmitter 10 and the video receiver 20 are wirelessly connected, such as IEEE 802.11a / b / g Wireless LAN, packet loss occurs due to an unstable channel condition, and thus the video quality felt by the user on the receiver side is lost. Can cause problems.

미국 특허(US 6,317,462 B1)에서는 상기 비디오 송신부가 비디오 데이터를 송신할 때, 비디오 데이터를 두 분류로 나누어 우선순위가 높은 비디오 데이터에는 리드-솔로몬 FEC(Reed-Solomon FEC) 기법을 적용하여 비디오 데이터를 전송하여 네트워크 전송시 패킷이 분실되더라도 수신부에서 이를 복구할 수 있게 하는 방법을 제시하고 있다.According to the US patent (US 6,317,462 B1), when the video transmitter transmits the video data, the video data is divided into two categories, and the video data is applied to the high-priority video data by applying the Reed-Solomon FEC technique. Even if a packet is lost during transmission by transmitting it, a method for recovering the received packet is proposed.

이를 위해 송신측에서는 비디오 데이터를 두 분류로 나누어 우선 순위가 높은 비디오 데이터에는 복구를 위한 데이터를 부가하여 인코딩을 하며, 우선 순위가 낮은 비디오 데이터는 바로 인코딩을 하여 처리하는 과정을 제시하고 있다.To this end, the transmitter divides the video data into two categories, adds data for recovery to high priority video data, and encodes and processes video data having low priority.

그러나 무선 네트워크는 데이터 전송률이 주변 환경의 변화에 많은 영향을 받기 때문에, 단순히 우선순위의 높고 낮음에 적응적으로 복구 데이터를 함께 송신하는 것이 비디오 스트리밍의 효율을 높인다고 하기 어렵다. 따라서 무선 네트워크를 통헤 비디오 데이터를 전송할 경우, 무선 네트워크의 상황에 따라 전송률을 높일 수 있도록 탄력적으로 적응시키는 방법과 장치가 필요하다.In wireless networks, however, data rates are highly affected by changes in the surrounding environment, so it is difficult to increase the efficiency of video streaming by simply transmitting recovery data adaptively with high and low priorities. Therefore, when transmitting video data through a wireless network, there is a need for a method and apparatus for flexibly adapting to increase the transmission rate according to the situation of the wireless network.

본 발명은 상기한 문제점을 개선하기 위해 안출된 것으로, 본 발명은 무선 네트워크의 상황에 따라 전송 방식과 인코딩 방식을 조절하여 전송 효율을 높이는 데 목적이 있다.The present invention has been made to solve the above problems, and an object of the present invention is to improve transmission efficiency by adjusting a transmission method and an encoding method according to a situation of a wireless network.

본 발명의 또다른 목적은 각 데이터가 차지하는 중요성을 고려하여 인코딩하고 전송하는 것이다.Another object of the present invention is to encode and transmit in consideration of the importance of each data.

본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects that are not mentioned will be clearly understood by those skilled in the art from the following description.

무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 인코딩 및 전송을 제어하여 송수신하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for controlling transmission and reception of encoding and transmission according to the transmission situation of a wireless network and the importance of video information.

본 발명의 일 실시예에 따른 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 데이터를 인코딩하여 송신하는 방법은 결합한 무선 네트워크의 상태 정보를 수신하는 단계, 상기 상태 정보에 따라 전송할 데이터를 분류하는 단계, 상기 분류한 데이터에 오류가 발생시 복구하기 위한 정보를 부가한 송신 데이터를 인코딩하는 단계, 상기 상태 정보에 따라 상기 무선 네트워크에 상기 송신 데이터를 송신하기 위한 결정 인자를 설정하는 단계 및 상기 인코딩한 송신 데이터를 상기 설정한 결과에 따라 상기 무선 네트워크로 송신하는 단계를 포함한다.According to an embodiment of the present invention, a method of encoding and transmitting data according to a transmission situation of a wireless network and importance of video information may include receiving state information of a combined wireless network, and classifying data to be transmitted according to the state information. Encoding the transmission data including information for recovering when the error occurs in the classified data, setting a decision factor for transmitting the transmission data to the wireless network according to the status information, and encoding the transmitted transmission. And transmitting data to the wireless network according to the set result.

본 발명의 일 실시예에 따른 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 데이터를 수신하는 방법은 결합한 무선 네트워크를 통해 데이터를 수신하는 단계, 상기 데이터가 가지는 특성에 따라 분류하는 단계, 상기 분류한 데이터를 분류별로 결합하는 단계, 상기 결합한 데이터를 재생하는 단계, 상기 데이터 의 수신 상태를 통해 상기 무선 네트워크의 상태 정보를 취합하여, 상기 상태 정보를 송신하는 단계를 포함한다.According to an embodiment of the present invention, a method of receiving data according to a transmission situation of a wireless network and the importance of video information may include receiving data through a combined wireless network, classifying according to characteristics of the data, and classifying the data. Combining the data by classification, reproducing the combined data, collecting state information of the wireless network through the reception state of the data, and transmitting the state information.

본 발명의 일 실시예에 따른 데이터 송신 장치는 결합한 무선 네트워크에 대한 상태 정보를 수신하며 상기 상태 정보에 따라 상기 무선 네트워크에 데이터를 송신하기 위한 결정 인자를 설정하는 QoS 제어부, 상기 상태 정보에 따라 전송할 데이터를 분류하는 프레임 분류부, 상기 분류한 데이터에 오류가 발생시 복구하기 위한 정보를 부가한 송신 데이터를 인코딩하는 인코더, 및 상기 인코딩된 송신 데이터를 상기 설정한 결과에 따라 상기 무선 네트워크로 송신하는 MAC/PHY 제어부를 포함하며, 상기 QoS 제어부는 상태 정보에 따라 상기 인코더의 인코딩 방식을 제어한다.An apparatus for transmitting data according to an embodiment of the present invention receives status information on a combined wireless network and sets a decision factor for transmitting data to the wireless network according to the status information, and transmits according to the status information. A frame classifying unit for classifying data, an encoder for encoding the transmission data to which the classified data is added for recovering when an error occurs, and a MAC for transmitting the encoded transmission data to the wireless network according to the set result. / PHY control unit, wherein the QoS control unit controls the encoding scheme of the encoder according to the state information.

본 발명의 일 실시예에 따른 데이터 수신 장치는 결합한 무선 네트워크를 통해 데이터를 수신하는 MAC/PHY 제어부, 상기 데이터가 가지는 특성에 따라 분류하는 패킷 정렬부, 상기 분류한 데이터를 분류별로 결합하여 상기 결합한 데이터를 재생하는 디코더 및 상기 데이터의 수신 상태를 통해 상기 무선 네트워크의 상태 정보를 취합하여 상기 상태 정보를 송신하는 통계 수집부를 포함한다.In accordance with another aspect of the present invention, a data receiving apparatus includes a MAC / PHY controller for receiving data through a combined wireless network, a packet sorter for classifying data according to characteristics of the data, and combining the classified data by classification. And a statistics collector for collecting the state information of the wireless network through the decoder for reproducing data and the reception state of the data.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다. Specific details of other embodiments are included in the detailed description and the drawings.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태 로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다 Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various different forms, only the embodiments are to make the disclosure of the present invention complete, the general knowledge in the art to which the present invention belongs It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.

이하, 본 발명의 실시예들에 의하여 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 인코딩 및 전송을 제어하여 송수신하는 방법 및 장치를 설명하기 위한 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑제되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다. Hereinafter, the present invention will be described with reference to a block diagram or a flowchart illustrating a method and apparatus for controlling transmission and reception of encoding and transmission according to the transmission situation of a wireless network and the importance of video information according to embodiments of the present invention. Explain about. At this point, it will be understood that each block of the flowchart illustrations and combinations of flowchart illustrations may be performed by computer program instructions. Since these computer program instructions may be mounted on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, those instructions executed through the processor of the computer or other programmable data processing equipment may be described in flow chart block (s). It creates a means to perform the functions. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. It is also possible for the instructions stored in to produce an article of manufacture containing instruction means for performing the functions described in the flowchart block (s). Computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps are performed on the computer or other programmable data processing equipment to create a computer-implemented process to create a computer or other programmable data. Instructions for performing the processing equipment may also provide steps for performing the functions described in the flowchart block (s).

또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block may represent a portion of a module, segment, or code that includes one or more executable instructions for executing a specified logical function (s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of order. For example, the two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending on the corresponding function.

도 2는 본 발명의 일 실시예에 따른 비디오 송신부와 비디오 수신부의 구성을 보여주는 예시도이다.2 is an exemplary view showing the configuration of a video transmitter and a video receiver according to an embodiment of the present invention.

본 실시예에서 사용되는 '~부'라는 용어, 즉 '~모듈' 또는 '~테이블' 등은 소프트웨어, FPGA(Field Programmable Gate Array) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)와 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 기능들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스 들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 모듈들은 디바이스 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.As used herein, the term 'unit', that is, 'module' or 'table' or the like, refers to a hardware component such as software, a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC). The module performs some functions. However, modules are not meant to be limited to software or hardware. The module may be configured to be in an addressable storage medium and may be configured to play one or more processors. Thus, as an example, a module may include components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, procedures, subroutines. , Segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided within the components and modules may be combined into a smaller number of components and modules or further separated into additional components and modules. In addition, the components and modules may be implemented to reproduce one or more CPUs in a device.

비디오 송신부(100)는 비디오 데이터를 입력받는 비디오 입력부(110), 입력받은 비디오 데이터를 스트리밍 시키는 비디오 스트리밍 어플리케이션(120), 스트리밍된 비디오를 무선 네트워크 환경에서 전송할 수 있도록 하는 전송 프로토콜(130), 그리고 전송 프로토콜에 따라 생성된 데이터를 송신하는 MAC/PHY(140) 제어부를 포함한다.The video transmitter 100 includes a video input unit 110 for receiving video data, a video streaming application 120 for streaming the received video data, a transmission protocol 130 for transmitting the streamed video in a wireless network environment, and And a MAC / PHY 140 control unit for transmitting data generated according to the transmission protocol.

비디오 입력부(110)는 MPEG과 같은 비디오 데이터를 입력받는다. 입력받은 비디오 데이터는 스트리밍되는데, 이를 수행하는 것이 비디오 스트리밍 어플리케이션(120)이다. 비디오 스트리밍 어플리케이션(120)은 MPEG 프레임을 구성하는 I, P, B 프레임을 구분짓는 프레임 분류부(121)와 인코더(122)를 포함한다. 프레임 분류부(121)에서는 I 프레임과 같이 다른 프레임의 성능에 영향을 미치는 프레임을 구분짓는다. The video input unit 110 receives video data such as MPEG. The received video data is streamed, and the video streaming application 120 performs this. The video streaming application 120 includes a frame classifier 121 and an encoder 122 for distinguishing I, P, and B frames constituting the MPEG frame. The frame classifier 121 distinguishes frames that affect the performance of other frames, such as I frames.

I 프레임은 B 프레임, P 프레임이 참조하는 프레임이므로 I 프레임에 오류가 발생하면 이를 참조하는 B 프레임과 P 프레임에도 오류가 발생한다. 따라서 I 프레임의 경우에는 오류가 발생하여도 이를 복구할 수 있는 코드를 부가하여 전송할 수 있다. 또한 P 프레임 역시 B 프레임이 참조하는 프레임이므로 P 프레임에도 오류를 복구할 수 있는 코드를 부가하여 전송할 수 있다. 다만, I 프레임과 P 프레임이 가지는 중요도가 서로 다르기 때문에 오류를 복구할 수 있는 코드 역시 차등적으로 부가할 수 있다. 따라서 프레임 분류부(121)는 각 프레임별로 분류하여 인코딩을 수행할 수 있도록 한다.Since the I frame is a frame referenced by the B frame and the P frame, if an error occurs in the I frame, the error occurs in the B frame and the P frame which refer to it. Therefore, in the case of an I frame, even if an error occurs, a code capable of recovering the error may be added and transmitted. In addition, since the P frame is also a frame referred to by the B frame, a code for recovering an error may be added and transmitted to the P frame. However, since the importance of the I frame and the P frame is different from each other, a code capable of recovering an error may be added differentially. Therefore, the frame classifier 121 classifies each frame to perform encoding.

인코더(122)는 오류를 복구할 수 있도록 코딩을 수행한다. 이때, 오류가 발생한 패킷에 의해 전송률이 하락되는 것을 막을 수 있도록 인터리빙(interleaving)을 수행할 수 있다. 인터리빙은 하나의 패킷을 다시 여러 개의 개체로 나누어서, 다른 패킷을 인터리빙한 개체들과 통합하여 새로운 패킷으로 만드는 것을 의미한다. 이는 하나의 패킷을 그대로 전송시 에러가 발생하면, 해당 패킷이 나타내는 프레임 또는 비디오 데이터가 전부 소실될 수 있으나, 이를 분산하여 여러 패킷에 나누어 전송할 경우, 하나의 패킷에 에러가 발생해도, 이것이 최종적으로 디코딩 시에는 여러 패킷들로 분산되어 에러가 일어나는 것이므로, 프레임 또는 비디오 데이터가 전부 소실되는 경우를 막을 수 있다. 패킷이 인터리빙 되는 경우는 도 3에서 살펴본다. Encoder 122 performs coding to recover the error. In this case, interleaving may be performed to prevent the transmission rate from being lowered due to an error packet. Interleaving means dividing one packet back into several entities, integrating other packets with the interleaved entities into new packets. This means that if an error occurs when transmitting one packet as it is, all the frames or video data indicated by the packet may be lost. However, if the packet is distributed and transmitted in multiple packets, even if an error occurs in one packet, When decoding, the error is generated by being divided into several packets, thereby preventing the loss of all frames or video data. A case in which packets are interleaved is described with reference to FIG. 3.

인코더(122)는 오류를 복구할 수 있도록 여러 코딩 방식을 사용할 수 있다. 예를 들어, FEC(Forward Error Correction)과 같이 부가한 정보를 통해 유실되거나 오류가 발생한 데이터를 복구할 수 있도록 한다. FEC를 위해서 적용할 수 있는 방식으로 리드-솔로몬 코딩 알고리즘(Reed-Solomon Coding), 비터비(Viterbi) 알고리즘 등을 적용할 수 있다. 한편 전송시 패킷 단위로 에러가 발생하여도 여러 패킷으 로 에러가 분산될 수 있도록 데이터를 섞어주는 인터리버(interleaver)가 비디오 스트리밍 어플리케이션(120)에 포함될 수 있다.The encoder 122 may use several coding schemes to recover from errors. For example, additional information, such as Forward Error Correction (FEC), can be used to recover lost or failed data. Reed-Solomon Coding algorithm, Viterbi algorithm, etc. may be applied in a manner applicable to FEC. The video streaming application 120 may include an interleaver that mixes data so that an error may be distributed among several packets even if an error occurs in a packet unit during transmission.

한편 송신한 데이터들이 전송 순서와 도착 순서가 맞지 않을 경우 이를 정렬하기 위해 필요한 순차 번호 등을 헤더 부분으로 추가하는 전송 패킷타이저를 포함할 수 있다.On the other hand, if the transmitted data does not match the transmission order and arrival order may include a transport packetizer for adding a sequence number and the like necessary for sorting the header portion.

또한 인코더(122)는 QoS 제어부(Quality of Service Controller)(150)에 따라 인코딩하는 방식을 조절할 수 있다. 예를 들어, QoS 제어부(150)에서 판단한 결과 무선 네트워크의 데이터 전송률에서 에러 발생률이 적을 경우, 인코더(122)에서 인코딩시 부가하는 데이터의 양을 줄일 수 있다. 또는 인코더(122)에서 I 프레임에만 복구 데이터를 부가하고, P 프레임에는 복구 데이터를 부가하지 않도록 인코딩 방식을 변경할 수 있다.In addition, the encoder 122 may adjust the encoding scheme according to the quality of service controller 150. For example, when it is determined by the QoS controller 150 that the error occurrence rate is small in the data rate of the wireless network, the amount of data added by the encoder 122 during encoding may be reduced. Alternatively, the encoder 122 may change the encoding scheme so that the recovery data is added only to the I frame and the recovery data is not added to the P frame.

전송 프로토콜(130)은 데이터를 전송하기 위한 프로토콜을 제공한다. TCP/IP(Transmission Control Protocol/Internet Protocol), RTP(Real Time Protocol) 등의 프로토콜을 사용할 수 있다.The transmission protocol 130 provides a protocol for transmitting data. Protocols such as Transmission Control Protocol / Internet Protocol (TCP / IP) and Real Time Protocol (RTP) can be used.

매체 접근 제어층(MAC)/물리층(Physical layer) 제어부(140)에서는 상위 계층에서 생성한 데이터를 무선 매체를 통해 전송할 수 있도록 한다. 그리고 무선 매체의 특성 또는 상황에 따라 전송 방식을 조절할 수 있다. 이를 제어하는 부분이 MAC 관리부(141)이다. 그리고 무선 매체의 특성 또는 상황에 따라 MAC 관리부(141)가 적절한 방식을 선택할 수 있도록 제어하는 것이 QoS 제어부(150)이다. The medium access control layer (MAC) / physical layer control unit 140 allows data generated by a higher layer to be transmitted through a wireless medium. The transmission scheme may be adjusted according to the characteristics or the situation of the wireless medium. The part controlling this is the MAC management unit 141. The QoS control unit 150 controls the MAC management unit 141 to select an appropriate method according to the characteristics or the situation of the wireless medium.

MAC 관리부(141)는 MAC 파라메터를 관리하고 데이터를 구분하여 전송하며, 데이터의 중요도에 따라 분류하여 송신할 수 있도록 하는 우선순위 큐를 포함한다. MAC 관리부(141)는 전송에 오류가 발생한 경우 재전송하는데 필요한 재전송 횟수(Retry limit) 파라메터를 설정하는 재전송 설정부, 전송할 데이터율을 설정하는 데이터율 설정부, 그리고 한번에 전송할 데이터의 크기인 MTU(Maximum Transfer unit)를 설정하는 MTU 크기 설정부를 포함할 수 있다.The MAC manager 141 manages MAC parameters, classifies and transmits data, and includes a priority queue for classifying and transmitting data according to the importance of the data. The MAC management unit 141 may include a retransmission setting unit for setting a retry limit parameter required for retransmission when a transmission error occurs, a data rate setting unit for setting a data rate to be transmitted, and an MTU (Maximum) which is the size of data to be transmitted at one time. MTU size setting unit for setting the transfer unit) may be included.

QoS 제어부(150)는 무선 네트워크의 상태를 파악하여 인코더(122)에서 부가할 FEC 코드의 크기를 설정할 수 있으며, MAC 관리부(141)를 제어하여 재전송 횟수, 전송 데이터율, MTU와 같은 사항들을 설정할 수 있다. QoS 제어부(150)와 인코더(122), 또는 QoS 제어부(150)와 MAC 관리부(141)와의 상호 작용은 후술하고자 한다.The QoS controller 150 may set the size of the FEC code to be added by the encoder 122 by grasping the state of the wireless network, and control the MAC manager 141 to set items such as the number of retransmissions, the transmission data rate, and the MTU. Can be. The interaction between the QoS control unit 150 and the encoder 122, or the QoS control unit 150 and the MAC management unit 141 will be described later.

비디오 수신부(200)는 무선 네트워크를 통해 데이터를 수신하는 MAC/PHY 제어부(240), 프로토콜을 제공하는 전송 프로토콜(230), 그리고 수신한 비디오 데이터를 재생하는 비디오 재생 어플리케이션(220)과 재생된 비디오를 출력하는 비디오 출력부(210)를 포함한다.The video receiver 200 includes a MAC / PHY controller 240 for receiving data through a wireless network, a transmission protocol 230 for providing a protocol, and a video reproducing application 220 for reproducing the received video data. It includes a video output unit 210 for outputting.

MAC/PHY 제어부(240)는 복수개의 우선순위 큐(priority queue)를 포함한다. 우선순위별로 수신된 데이터를 큐에 저장할 수 있다. The MAC / PHY control unit 240 includes a plurality of priority queues. Received data by priority can be stored in a queue.

비디오 재생 어플리케이션(220)은 통계 수집부(221), 디코더(222), 패킷 정렬부(223)를 포함한다. The video playback application 220 includes a statistics collector 221, a decoder 222, and a packet aligner 223.

패킷 정렬부(packet sorter)(223)는 복수개의 우선순위 큐를 통해 전송되어 순차적으로 도착하지 않는 패킷을 정렬한다. 디코더(222)는 인터리빙된 패킷을 다 시 재조합하는 디-인터리빙(de-interleaving)을 수행하며, FEC 디코딩을 수행한다. 또한 수신한 패킷들의 에러 분포에 대한 정보를 수집하여 비디오 송신부(100)에 알려주는 통계 수집부(221)를 포함한다.The packet sorter 223 sorts packets that are not transmitted sequentially through a plurality of priority queues. The decoder 222 performs de-interleaving, which recombines the interleaved packet again, and performs FEC decoding. It also includes a statistics collector 221 to collect the information on the error distribution of the received packets to inform the video transmitter 100.

도 3은 본 발명의 일 실시예에 따른 인코더와 QoS 제어부의 상호 작용을 보여주는 예시도이다. QoS 제어부(Quality of Service Controller)(150)는 비디오 수신부에서 보낸 무선 네트워크의 상태에 따라 인코더에서 어떤 방식으로 데이터를 인코딩해야 할 것인지를 설정할 수 있다.3 is an exemplary diagram illustrating interaction between an encoder and a QoS control unit according to an embodiment of the present invention. The QoS controller 150 may set how the encoder should encode data according to the state of the wireless network sent from the video receiver.

도 3은 세 가지 인자(parameter)를 제어하고 있다. QoS 제어부(150)는 현재 네트워크의 상황에 따라, 인코더(122)가 인코딩하는 크기(인코딩율), 인터리빙할 블록의 크기, 그리고 UDP 패킷의 크기를 설정할 수 있다. 3 controls three parameters. The QoS controller 150 may set a size (encoding rate) that the encoder 122 encodes, a size of a block to interleave, and a size of a UDP packet according to a current network situation.

리드-솔로몬 알고리즘을 사용하는 경우를 예를 들어 살펴보면 다음과 같다. 인코딩율은 실제 데이터의 크기가 K byte이며, 인코딩된 데이터가 N byte인 경우 RS(N, K)로 나타낼 수 있다. 코딩에 따라 부가된 데이터의 크기 R은 N-K이다. 리드-솔로몬 알고리즘에서 에러가 발생한 크기가 R/2보다 작은 경우에는 데이터를 복구할 수 있다. 따라서 R의 크기를 크게 할수록 에러를 복구할 수 있는 범위는 크다. 그러나 R을 크게 하기 위해서는 N을 크게 해야하며, 이는 전송할 데이터의 크기가 많아짐을 의미한다. 따라서, QoS 제어부는 비디오 수신부(200)를 통해 수신한 네트워크의 상황에 따라, 에러가 많이 일어날 경우 또는 에러가 적게 일어날 경우에 맞게 인코딩율을 조절할 수 있다. 또한, 중요한 데이터, 예를 들어 I 프레임의 경우에는 N의 크기를 높이고, P 프레임의 경우는 중간 정도의 N으로 설정하고, B 프레 임의 경우에는 인코딩하지 않고 그대로 비디오 데이터를 보내도록 설정할 수 있다. QoS 제어부는 리드 솔로먼 코더(125)를 통해 인코딩율을 제어할 수 있다.An example of using the Reed-Solomon algorithm is as follows. The encoding rate may be represented by RS (N, K) when the actual data size is K bytes and the encoded data is N bytes. The size R of the added data according to the coding is N-K. If the error occurred in the Reed-Solomon algorithm is smaller than R / 2, the data can be recovered. Therefore, the larger the size of R, the larger the range that can recover the error. However, in order to increase R, N must be increased, which means that the size of data to be transmitted increases. Therefore, the QoS controller may adjust the encoding rate according to the case where a large number of errors or a small number of errors occur according to a network condition received through the video receiving unit 200. In addition, important data, for example, I size can be set to increase the size of N, P frame is set to medium N, and B frame can be set to send video data without encoding. The QoS controller may control the encoding rate through the Reed Solomon coder 125.

인코딩된 데이터를 하나의 패킷에 담아서 전송할 경우, 해당 패킷이 유실되면 데이터 전체 또는 상당 부분이 유실되는 경우가 발생한다. 따라서 이를 방지하기 위해 인코딩된 데이터를 여러 패킷에 나누어 담아서 전송하는 인터리빙 방식을 사용할 수 있다. 인터리빙은 도 3에서 알 수 있듯이, 301, 302, 303, 304 패킷으로 인코딩된 데이터를 다시 나누어 311 패킷에 일부를 저장하고, 312, 313, 314 패킷들에도 마찬가지로 일부를 저장하는 방식이다. 이렇게 할 때, 인터리빙 하기 전에는 301 패킷에 에러가 발생하면 301 패킷 전체가 유실되고, 그 결과 301 패킷이 가지고 있는 특정 프레임의 데이터가 모두 유실된다. 그러나 인터리빙할 경우 311 패킷에 에러가 발생해도 301 패킷의 전체가 유실되는 것이 아니라, 301, 302, 303, 304 패킷의 일부가 유실되므로, 특정 프레임의 데이터가 모두 또는 상당 부분이 유실되는 것을 막을 수 있고, 따라서 각 프레임에서 에러가 발생한 크기가 R/2보다 작은 경우에는 FEC에 의해 유실된 데이터를 복구할 수 있다. 인터리빙 역시 네트워크 상황에 따라 달라질 수 있는 것이므로 QoS 제어부(150)는 인터리빙하고자 하는 블록의 크기를 조절할 수 있다. 또한 전송할 패킷의 크기 역시 조절할 수 있다. 데이터 전송률이 높은 경우에는 UDP 패킷의 크기를 증가시킬 수 있고, 반대로 에러가 잦은 경우에는 패킷의 크기를 줄일 수 있다. 따라서 QoS 제어부(150)는 무선 네트워크의 상태에 따라 패킷의 크기를 조절하는 전송 패킷타이저(Transport Packetizer)(127)를 제어한다.When the encoded data is transmitted in one packet, when the corresponding packet is lost, the entire data or a substantial portion of the data may be lost. Therefore, in order to prevent this, an interleaving method of transmitting encoded data by dividing it into several packets may be used. As shown in FIG. 3, interleaving is a method of dividing data encoded into 301, 302, 303, and 304 packets, storing a portion in 311 packets, and storing portions in 312, 313, and 314 packets. In this case, before the interleaving, if an error occurs in the 301 packet, the entire 301 packet is lost, and as a result, all data of a specific frame of the 301 packet is lost. However, in the case of interleaving, even if an error occurs in the 311 packet, not all of the 301 packets are lost, but some of the 301, 302, 303, and 304 packets are lost, thereby preventing all or a large portion of the data of a specific frame from being lost. Therefore, when the size of an error in each frame is smaller than R / 2, data lost by the FEC can be recovered. Since interleaving may also vary according to network conditions, the QoS controller 150 may adjust the size of a block to be interleaved. You can also adjust the size of the packet to be sent. If the data rate is high, the size of the UDP packet can be increased. On the contrary, if the error is frequent, the size of the packet can be reduced. Therefore, the QoS controller 150 controls a transport packetizer 127 that adjusts the size of the packet according to the state of the wireless network.

도 4는 본 발명의 일 실시예에 따른 MAC 관리부와 QoS 제어부의 상호 작용을 보여주는 예시도이다. QoS 제어부(Quality of Service Controller)(150)는 비디오 수신부에서 보낸 무선 네트워크의 상태에 따라 MAC 관리부(141)에서 어떤 방식으로 데이터를 전송할 것인지를 설정할 수 있다. 4 is an exemplary diagram illustrating an interaction between a MAC manager and a QoS controller according to an embodiment of the present invention. The QoS controller 150 may set how to transmit data from the MAC manager 141 according to the state of the wireless network sent from the video receiver.

도 4는 세 가지 인자(parameter)를 제어하고 있다. QoS 제어부(150)는 현재 네트워크의 상황에 따라, 재전송 횟수, 데이터 전송에 의한 데이터율, 그리고 최대 전송 유닛(Maximum Transfer Unit)의 크기를 조절할 수 있다. 4 controls three parameters. The QoS controller 150 may adjust the number of retransmissions, the data rate by data transmission, and the size of the maximum transfer unit according to the current network situation.

재전송 설정부(145)는 재전송하는 횟수를 설정할 수 있다. 송신한 데이터에 에러가 발생하면 재전송을 하게되는데, 재전송 횟수를 정해줄 수 있다. 중요한 데이터의 경우, 예를 들어 I 프레임의 경우는 유실될 경우 다른 데이터에 영향을 미칠 수 있으므로 재전송 횟수를 높일 수 있다. 반면 B 프레임의 경우는 유실되어도 다른 프레임에 크게 영향을 미치지 않으므로 재전송 횟수를 낮출 수 있다. 또한 네트워크의 상태에 따라 재전송을 많이 할 것인지, 적게 할 것인지를 결정할 수 있다. QoS 제어부(150)는 데이터의 중요도와 같은 데이터의 특성에 따라, 또는 네트워크의 상태에 따라 재전송 횟수를 적응적으로 설정할 수 있다. The retransmission setting unit 145 may set the number of retransmissions. If an error occurs in the transmitted data, the data is retransmitted. The number of retransmissions can be set. In the case of important data, for example I-frames, the number of retransmissions can be increased because they can affect other data if they are lost. On the other hand, in case of B frames, even if lost, the number of retransmissions can be reduced because they do not significantly affect other frames. You can also decide whether to retransmit more or less depending on the network conditions. The QoS controller 150 may adaptively set the number of retransmissions according to the characteristics of the data such as the importance of the data or the state of the network.

데이터율 설정부(146)는 전송율을 설정한다. 무선 네트워크에서는 여러 가지의 데이터 전송율을 제공하여, 디바이스에서 특정 데이터 전송율을 선택하여 전송할 수 있도록 한다. 예를 들어, 802.11a의 경우 54Mbps, 48Mbps, 36Mbps, 24Mbps, 11Mbps와 같이 다수의 전송율을 제공한다. 네트워크가 고속의 데이터 전송이 가능한 상태이면 디바이스는 54 Mbps로 데이터를 전송할 수 있으며, 반대로 네트워크의 상태에 따라 디바이스는 11Mbps와 같이 낮은 데이터 전송율에 따라 전송할 수 있다. QoS 제어부(150)는 네트워크의 상태에 따라 어떤 데이터율을 선택할 것인지 제어할 수 있다. 또한 데이터의 중요도에 따라서도 데이터율 설정부(146)를 제어하여 데이터율을 조절할 수 있다.The data rate setting unit 146 sets a transmission rate. Wireless networks offer different data rates, allowing devices to select and transmit specific data rates. For example, 802.11a offers multiple rates, including 54Mbps, 48Mbps, 36Mbps, 24Mbps, and 11Mbps. If the network is capable of high-speed data transfer, the device can transmit data at 54 Mbps, while the device can transmit at lower data rates, such as 11 Mbps, depending on the network conditions. The QoS controller 150 may control which data rate is selected according to the state of the network. In addition, the data rate may be adjusted by controlling the data rate setting unit 146 according to the importance of the data.

MTU 크기 설정부(147)는 최대 전송 유닛(MTU)의 크기를 설정한다. MTU도 마찬가지로 네트워크의 상태에 따라 가변적일 수 있다. 네트워크의 상태가 좋을 경우에는 MTU의 크기를 크게할 수 있다. 따라서 QoS 제어부(150)는 네트워크의 상태를 체크하여 MTU의 크기를 제어할 수 있다. The MTU size setting unit 147 sets the size of the maximum transmission unit (MTU). The MTU may likewise be variable depending on the state of the network. If the network is in good condition, the size of the MTU can be increased. Therefore, the QoS controller 150 may control the size of the MTU by checking the state of the network.

도 5는 본 발명의 일 실시예에 따른 비디오 송신부에서의 데이터 흐름을 보여주는 예시도이다. 비디오 입력부를 통해 입력된 프레임들은 프레임 분류부(121)를 통해 I 프레임, P 프레임, B 프레임으로 분류된다. 5 is an exemplary diagram illustrating a data flow in a video transmitter according to an embodiment of the present invention. Frames input through the video input unit are classified into I frames, P frames, and B frames through the frame classification unit 121.

각 프레임 데이터가 MPEG TS (Transport Stream)패킷으로 나누어질때 프레임 분류부(Frame separator)(121)는 각 TS 패킷마다 I/P/B 프레임 타입을 표시해 둔다. 인코더(FEC encoder)는 각 TS 패킷을 받아 저장하며 새로운 타입의 TS 패킷이 오면 저장해둔 이전 프레임 데이터들을 코딩과 인터리빙, 그리고 패킷타이징을 수행한다. 각 경우 I/P/B 프레임 타입의 중요도에 맞게끔 이미 QoS 제어부에 의해 설정된 인코딩율, 인터리빙 블록 크기, UDP 패킷 크기가 적용된다.When each frame data is divided into MPEG TS (Transport Stream) packets, the frame separator 121 indicates an I / P / B frame type for each TS packet. An FEC encoder receives and stores each TS packet and performs coding, interleaving, and packetizing of previous frame data stored when a new type of TS packet comes. In each case, the encoding rate, interleaving block size, and UDP packet size set by the QoS control unit are applied to match the importance of the I / P / B frame type.

한편, 비디오 프레임뿐만 아니라, 시스템에 관한 정보와 헤더, 오디오 TS 패킷도 전달이 되는데, 이 중에서 시스템 정보와 헤더는 I 프레임과 같은 중요도로 처리되어 코딩될 수 있다. 그리고 오디오 TS 패킷은 각 I/P/B 프레임에 포함되어 같이 인코딩될 수 있다.On the other hand, in addition to video frames, information about the system, headers, and audio TS packets are also transmitted. Among them, system information and headers may be processed and coded with the same importance as I frames. The audio TS packet may be included in each I / P / B frame and encoded together.

패킷으로 만드는 과정인 패킷타이징까지 끝난 패킷은 프레임 타입에 따라 전송 프로토콜(transport protocol)을 거쳐 MAC 단의 우선순위 큐에 저장된다. 우선순위 큐는 데이터의 중요도에 따라 달리 저장시킬 수 있다. 예를 들어 프레임별로 우선순위를 달리 두어 우선순위 큐에 저장할 수 있다. 만약 특정 큐에 대해 재전송 횟수가 설정되어 있다면, 해당 큐에서 전송한 데이터에 오류가 발생하면, 설정된 재전송 횟수만큼 재전송할 수 있다.Packets that have been packetized, which is a process of making packets, are stored in the priority queue of the MAC stage through a transport protocol according to the frame type. Priority queues can be stored differently depending on the importance of the data. For example, the priority can be set differently for each frame and stored in the priority queue. If the number of retransmissions is set for a particular queue, if an error occurs in the data transmitted from the corresponding queue, the number of retransmissions can be retransmitted as many times as the set retransmission.

도 6은 본 발명의 일 실시예에 따른 비디오 수신부에서의 데이터 흐름을 보여주는 예시도이다.6 is an exemplary view illustrating a data flow in a video receiver according to an embodiment of the present invention.

수신부는 패킷 정렬부(Packet sorter)(223)에서 MAC/PHY 제어부를 통해 수신되는 여러 타입의 프레임 데이터를 별도의 큐에 저장하였다가 송신부의 전송 패킷타이저(transport packetizer)에 의해 추가된 헤더의 순차번호를 이용하여 이들을 정렬하여 시퀀스 큐에 저장한다. 이때 정렬하는 방법은 각 프레임 큐에서 패킷을 하나씩 가져와서 가장 작은 순차번호를 가지는 패킷을 시퀀스 큐에 저장하고 선택된 패킷이 나온 프레임 큐로부터 다음 패킷을 가져와서 다시 가장 작은 순차번호를 비교하는 과정을 각 프레임 큐가 비게 될 때까지 되풀이 하는 것이다.The receiver stores various types of frame data received through the MAC / PHY control unit in the packet sorter 223 in a separate queue, and then stores the header data added by the transport packetizer of the transmitter. They are sorted using sequence numbers and stored in the sequence queue. In this case, the sorting method takes one packet from each frame queue, stores the packet with the smallest sequence number in the sequence queue, and takes the next packet from the frame queue where the selected packet comes from and compares the smallest sequence number again. This is repeated until the frame queue is empty.

이때, 특정 패킷이 유실되거나 오류가 발생할 수 있다. 예를 들어, 도 6에서 331 패킷에 에러가 발생하거나 유실된 경우, 인터리빙된 블록들의 집합인 패킷에 에러가 발생된 것이므로, 디인터리빙을 거친 데이터(340)에는 에러가 분산되어 존재한다. 그 결과, 프레임 전체 또는 프레임의 상당 부분이 사라지는 경우를 막을 수 있다.In this case, a specific packet may be lost or an error may occur. For example, in FIG. 6, when an error occurs or is lost in the 331 packet, an error occurs in the packet, which is a set of interleaved blocks, and thus errors are distributed in the deinterleaved data 340. As a result, it is possible to prevent the entire frame or a substantial portion of the frame from disappearing.

인코딩된 데이터(340)에서 사라진 부분을 복구하여 프레임 데이터를 생성하고, 이 프레임 데이터는 비디오 재생 어플리케이션 내의 MPEG 디코더를 통해 재생된다.The missing portion of the encoded data 340 is recovered to generate frame data, which is reproduced through an MPEG decoder in a video reproduction application.

도 7은 본 발명의 일 실시예에 따라 비디오 송신부에서 작업을 처리하는 과정을 보여주는 순서도이다.7 is a flowchart illustrating a process of processing a job by a video transmitter according to an embodiment of the present invention.

비디오 송신부는 무선 네트워크의 상태 정보를 수신한다(S701). 무선 네트워크의 상태 정보는 이전에 보낸 데이터에서 발생한 에러율, 또는 무선 신호의 세기 등을 포함한 정보이다. 따라서 이전에 보낸 데이터에서 에러가 많이 발생했다면, 앞으로도 에러가 많이 발생할 가능성이 높은것으로 판단할 수 있다. 그리고 비디오 데이터를 분류한다(S702). 비디오 데이터는 전술한 바와 같이 I 프레임, P 프레임, B 프레임 등으로 구성되며, I 프레임은 다른 프레임의 데이터에 영향을 미친다. 따라서, 프레임 별로 데이터의 중요도에 따라 분류할 수 있다. 그리고 S701 단계에서의 상태 정보에 포함된 데이터 에러율이 소정의 크기보다 높은지 살펴본다(S710). 소정의 크기란, 리드-솔로몬 알고리즘을 쓸 경우, 부가되는 비트(R)의 절반이 될 수 있다. R/2의 값이 에러가 발생한 비트수보다 높은지 낮은지에 따라, 현재 인코딩율이 적합한지를 알 수 있다. 데이터 에러율이 높아졌다면, I 프레임에 대한 복구 코드 비율을 높인다(S711). 복구 코드 비율을 높인다는 것은 복구에 필요한 데이터양을 높이는 것을 의미한다. 그 결과 실제 비디오 데이터에 비해 복구할 정보가 많이 부가된다. 한편 데이터 에러율이 낮아졌다면, I 프레임에 대한 복구 코드 비율을 낮춘다(S712). 상기의 과정은 인코더와 QoS 제어부에 의해 이루어질 수 있다.The video transmitter receives the state information of the wireless network (S701). The state information of the wireless network is information including an error rate generated from previously sent data, or the strength of the wireless signal. Therefore, if there are a lot of errors in the previously sent data, it can be judged that there is a high possibility that a lot of errors will occur. The video data is classified (S702). As described above, the video data is composed of I frames, P frames, B frames, and the like, and the I frames affect data of other frames. Therefore, the data can be classified according to the importance of data for each frame. In operation S710, the data error rate included in the state information is higher than a predetermined size. The predetermined size may be half of the bit R added when the Reed-Solomon algorithm is used. Depending on whether the value of R / 2 is higher or lower than the number of bits in which an error occurs, it is possible to know whether the current encoding rate is appropriate. If the data error rate is high, the recovery code rate for the I frame is increased (S711). Increasing the recovery code rate means increasing the amount of data needed for recovery. As a result, more information to recover is added than actual video data. On the other hand, if the data error rate is low, the recovery code ratio for the I frame is lowered (S712). The above process may be performed by the encoder and the QoS control unit.

한편, 송신할 데이터를 인코딩하면, 인코딩된 데이터를 어떤 방식으로 보낼 것인지를 판단한다. 전술한 바와 같이, 무선 매체에 전송하는데 필요한 여러 결정 인자들을 설정할 수 있는데, 이때, 이들 결정 인자들을 현재의 무선 네트워크의 상황에 맞게 설정할 수 있다. S720 단계에서 전송 패킷의 에러율이 소정의 크기보다 높은지 검토한다. 에러가 높다면, 무선 매체에 에러가 많이 일어나는 상황이므로, 재전송 횟수를 높이고, 전송할 데이터율을 낮추며, 최대 전송 유닛의 크기 줄이는 등의 작업을 수행할 수 있다(S721). 무선 매체를 통해 데이터를 보내기 전, MAC 계층과 PHY 계층의 결정 인자를 설정하는 것을 통해 가능하다. 반대로, 에러가 낮다면, 무선 매체가 안정적인 상황이므로, 재전송 횟수를 낮추고, 전송할 데이터율을 높이며 최대 전송 유닛의 크기를 증가시킬 수 있다(S722). 네트워크의 상태에 따라 인코딩하고 송신 방식과 관련된 정보를 설정하면, 비디오 데이터를 송신한다(S730).On the other hand, if data to be transmitted is encoded, it is determined how to send the encoded data. As described above, various decision factors required for transmission to the wireless medium can be set, and these decision factors can be set according to the situation of the current wireless network. In step S720, it is checked whether the error rate of the transport packet is higher than a predetermined size. If the error is high, since there are many errors in the wireless medium, operations such as increasing the number of retransmissions, decreasing the data rate to be transmitted, and reducing the size of the maximum transmission unit may be performed (S721). It is possible to set the determinants of the MAC and PHY layers before sending data over the wireless medium. On the contrary, if the error is low, since the wireless medium is stable, the number of retransmissions can be reduced, the data rate to be transmitted can be increased, and the size of the maximum transmission unit can be increased (S722). When encoding according to the state of the network and setting information related to the transmission method, video data is transmitted (S730).

도 8은 본 발명의 일 실시예에 따라 비디오 수신부에서 작업을 처리하는 과정을 보여주는 순서도이다. 수신부는 무선 매체를 통해 전송된 데이터를 수신한다(S801). 수신한 데이터는 우선순위 큐를 통해 우선순위별로 분류될 수 있다(S802). 우선순위는 데이터의 특성에 따라 분류되는데, 전술한 바와 같이, 비디오 데이터의 경우 I, P, B 프레임이 될 수 있다. 그리고 분류한 데이터를 결합한다(S803). 결합한 데이터는 디인터리빙(de-interleaving)과 디코딩을 거쳐 재생한다(S804). 디인 터리빙은 디코딩은 송신부에서 에러 복구를 위해 복구 정보를 부가한 데이터에서 원래의 비디오 데이터를 추출하는 과정을 의미한다. 이때, 에러가 많이 발생하였는지, 또는 에러가 발생하지 않았는지 등에 대한 통계를 낼 수 있다. 이러한 통계에 따라 무선 네트워크의 상태 정보를 송신한다(S805).8 is a flowchart illustrating a process of processing a job in a video receiving unit according to an embodiment of the present invention. The receiver receives data transmitted through the wireless medium (S801). The received data may be classified by priority through the priority queue (S802). Priority is classified according to the characteristics of the data. As described above, the video data may be I, P, or B frames. Then, the classified data is combined (S803). The combined data is reproduced through de-interleaving and decoding (S804). De-interleaving refers to a process of extracting original video data from data to which recovery information is added for error recovery at a transmitter. At this time, statistics about whether a large number of errors or errors have not occurred can be made. In accordance with these statistics, the state information of the wireless network is transmitted (S805).

도 9는 본 발명의 일 실시예에 따라 데이터를 인코딩하기 위해 QoS 제어부가 네트워크 상황에 따라 인코더와 MAC 관리부를 제어하는 과정을 보여주는 순서도이다.9 is a flowchart illustrating a process in which a QoS controller controls an encoder and a MAC manager according to network conditions in order to encode data according to an embodiment of the present invention.

QoS 제어부가 수신부 또는 송신부 자체로부터 무선 네트워크에 대한 정보를 수신한다(S901). 무선 네트워크에 대한 상태 정보에는 전송 패킷 에러율, FEC 복구후의 데이터 에러율, 해밍 거리(hamming distance) 등이 포함된다. 전송 패킷 에러율은 인코딩된 데이터를 전송시 에러가 일어난 패킷의 비율을 의미한다. FEC 복구후의 데이터 에러율이란 FEC 코딩을 거쳐 복구 데이터가 부가된 패킷을 수신해서 복구했을 경우에도 복구가 되지않아 에러가 발생한 비율을 의미한다. 해밍 거리(hamming distance)는 동일한 길이를 가지는 두 스트링의 각각의 위치에서 서로 다른 문자(비트)가 발생한 경우를 의미한다. 해밍 거리는 에러를 측정하는데 주로 사용된다.The QoS controller receives information on the wireless network from the receiver or the transmitter itself (S901). Status information for the wireless network includes a transport packet error rate, a data error rate after FEC recovery, a hamming distance, and the like. The transport packet error rate refers to a ratio of packets in which an error occurred when transmitting encoded data. The data error rate after FEC recovery refers to the rate at which an error has not been recovered even after receiving and recovering a packet to which recovery data has been added through FEC coding. Hamming distance refers to a case where different characters (bits) occur at each position of two strings having the same length. Hamming distances are often used to measure errors.

수신한 정보에서 데이터 에러율이 목표 에러율보다 높으면(S902), 에러율을 낮추기 위한 작업을 수행한다. 전송 패킷 에러율이 ((R/2) / RS 블록크기) 보다 낮으면(S910) 에러가 예상보다 낮으므로, 데이터를 더 많이 보내서 효율을 높일 수 있도록 S920 단계로 진행한다. S920 단계에서 해밍 거리를 산출한 결과가 (R/2)/RS 블록크기보다 크고, 확률이 목표 에러율보다 큰 경우에, 코딩율을 높이는 것이 필요하다. 따라서 네트워크에 여유의 대역폭이 있는지 검토하여(S924), 코딩율을 높인다(S926). 아닌 경우에는 S930 단계로 진행한다. S930 단계에서 현재 처리량(throughput)이 충분하다면, 인터리빙 블록 사이즈를 줄이고(S936), UDP 패킷 사이즈 및 MAC MTU 사이즈를 조절한다(S938).If the data error rate is higher than the target error rate in the received information (S902), the operation for reducing the error rate is performed. If the transmission packet error rate is lower than ((R / 2) / RS block size) (S910), since the error is lower than expected, the flow proceeds to step S920 to increase the efficiency by sending more data. If the result of calculating the hamming distance in step S920 is larger than the (R / 2) / RS block size and the probability is larger than the target error rate, it is necessary to increase the coding rate. Therefore, the network checks whether there is a margin (S924), and increases the coding rate (S926). If not, proceed to step S930. If the current throughput is sufficient in step S930, the interleaving block size is reduced (S936), and the UDP packet size and MAC MTU size are adjusted (S938).

한편 S910 단계에서 전송 패킷 에러율이 ((R/2) / RS 블록크기) 보다 높으면, 에러를 낮추는 작업을 수행한다. 이전에 이미 재전송 횟수를 높였는지 검토한다(S940). 그 결과 재전송 횟수를 높이지 않았다면, 네트워크에 여유의 대역폭이 있을 경우에(S932) 재전송 횟수를 높인다(S934). 한편 이미 재전송 횟수를 높였다면 데이터 전송율을 낮춘다(S914). 재전송 횟수를 높이거나 데이터 전송율을 낮춤으로써 에러율을 낮출 수 있다.On the other hand, if the transmission packet error rate is higher than ((R / 2) / RS block size) in step S910, the operation to reduce the error is performed. It is examined whether the number of retransmissions has already been increased before (S940). As a result, if the number of retransmissions is not increased, when there is a marginal bandwidth in the network (S932), the number of retransmissions is increased (S934). On the other hand, if the number of retransmissions has already been increased, the data transmission rate is lowered (S914). The error rate can be lowered by increasing the number of retransmissions or by lowering the data rate.

도 10a, 10b, 10c는 본 발명의 일실시예를 적용했을 경우의 전송 성공율을 보여주는 그래프이다.10A, 10B, and 10C are graphs showing a transmission success rate when an embodiment of the present invention is applied.

도 10a는 데이터율(데이터 전송율)이 54 Mbps이며, 재전송 횟수는 0, 그리고 패킷 크기가 178 byte인 경우의 전송 성공율을 보여준다. 도 10a에서 알 수 있듯이, 전송 에러가 많이 발생함을 알 수 있다. 따라서 이렇게 에러가 많이 발생할 경우에는 재전송 횟수를 높이거나 또는 데이터 전송율을 낮추는 방향으로 제어할 수 있다. 10A shows a transmission success rate when the data rate (data rate) is 54 Mbps, the number of retransmissions is 0, and the packet size is 178 bytes. As can be seen in Figure 10a, it can be seen that a lot of transmission errors occur. Therefore, if this error occurs a lot, it can be controlled to increase the number of retransmissions or to decrease the data rate.

도 10b는 QoS 제어부가 재전송 횟수를 2로 높이고 데이터율을 54 Mbps로 한 경우를 보여준다. 도 10a와 비교하여 에러가 급격히 감소했음을 알 수 있다. 재전 송 횟수를 2회로 높임으로써, 도 10a의 실시예에서 전송되지 못한 데이터들이 모두 성공적으로 전송되었다.10B illustrates a case in which the QoS control unit increases the number of retransmissions to 2 and sets the data rate to 54 Mbps. It can be seen that the error is drastically reduced in comparison with FIG. 10A. By increasing the number of retransmissions to two, all data that was not transmitted in the embodiment of FIG. 10A was successfully transmitted.

도 10c는 QoS 제어부가 재전송 횟수를 4로 높이고 데이터율을 54 Mbps로 한 경우를 보여준다. 도 10a와 비교하여 에러가 급격히 감소했다. 또한 도 10b와 비교하여도 에러가 감소함을 알 수있다. 재전송 횟수를 높임으로써 도 10a의 실시예에서 전송되지 못한 데이터들이 모두 성공적으로 전송되었다.10C shows a case where the QoS control unit increases the number of retransmissions to 4 and sets the data rate to 54 Mbps. Compared with FIG. 10A, the error was drastically reduced. It can also be seen that the error is reduced compared to FIG. 10B. By increasing the number of retransmissions, all data that was not transmitted in the embodiment of FIG. 10A were successfully transmitted.

도 10a, 10b, 10c를 살펴보면 네트워크의 상황에 따라, 재전송 횟수, 데이터율 등이 비디오 데이터를 송수신하는데 중요한 영향을 미치는 것을 알 수 있다. 본 발명의 일 실시예에 따를 때, 네트워크의 상황에 따라 QoS 제어부가 적절한 방식의 전송 모드를 택할 수 있다.10A, 10B, and 10C, it can be seen that the number of retransmissions, the data rate, and the like have an important effect on transmitting and receiving video data according to the network situation. According to an embodiment of the present invention, the QoS control unit may select a transmission mode in an appropriate manner according to the situation of the network.

도 11은 본 발명의 일 실시예에 따른 인코딩율에 따른 에러 발생 비율을 보여주는 그래프이다. 리드-솔로몬 알고리즘을 사용할 경우, 인코딩율에 따라 복구할 수 있는 범위가 달라짐은 전술하였다. 11 is a graph showing an error occurrence rate according to an encoding rate according to an embodiment of the present invention. In the case of using the Reed-Solomon algorithm, the range that can be recovered depends on the encoding rate.

rscode(255, 127)은 보내고자 하는 데이터의 크기가 127 byte이며, 이를 인코딩한 데이터는 255 byte이다. 따라서 부가한 데이터는 128 byte이다. 이 경우 에러가 발생하여도 복구가 가능하다. 패킷 에러율이 0%에서 15% 이하인 경우에는 실제 데이터가 복구가 되므로 전송된 데이터의 에러율(data error rate)이 0%에 가까운 것을 알 수 있다. 또한 15% 내지 20%의 패킷 에러율에서도 복구가 이루어지므로 실제 데이터 에러율이 5% 정도를 유지함을 알 수 있다. rscode (255, 127) has a size of 127 bytes of data to be sent, and encoded data is 255 bytes. Therefore, the added data is 128 bytes. In this case, recovery is possible even if an error occurs. If the packet error rate is 0% to 15% or less, since the actual data is recovered, it can be seen that the data error rate of the transmitted data is close to 0%. In addition, since the recovery is performed at a packet error rate of 15% to 20%, it can be seen that the actual data error rate is maintained at about 5%.

rscode(255, 223)은 보내고자 하는 데이터의 크기가 223 byte이며, 이를 인 코딩한 데이터는 255 byte이다. 따라서 부가한 데이터는 32 byte이다. 이 경우, 에러가 발생해도 복구가 가능하다. 다만 rscode(255, 127)보다 복구하는 능력이 떨어진다. 도 11에서 알 수 있듯이, 패킷 에러율이 0% 내지 5% 이하의 경우에는 복구가 되므로 데이터의 에러율(data error rate)이 0%에 가까운 것을 알 수 있다. 한편 5%내지 20%의 패킷 에러율인 경우에도 일부 복구에 의해 실제 데이터 에러율은 패킷 에러율보다 낮음을 알 수 있다.rscode (255, 223) has 223 bytes of data to be sent, and encoded data is 255 bytes. Therefore, the added data is 32 bytes. In this case, recovery is possible even if an error occurs. However, it is less capable of recovering than rscode (255, 127). As can be seen in FIG. 11, when the packet error rate is 0% to 5% or less, the data error rate is close to 0% since recovery is performed. On the other hand, even when the packet error rate of 5% to 20%, it can be seen that the actual data error rate is lower than the packet error rate by some recovery.

그외 전송 에러(transmission error)의 경우에는 rscode(255, 127)보다 데이터 에러율이 높은 것을 알 수 있다.In the case of other transmission errors, the data error rate is higher than that of rscode (255, 127).

도 11에서 살펴본 바와 같이, 복구를 위한 정보를 많이 부가할수록 패킷에서 에러가 발생하여도 복구할 수 있는 가능성이 높다. 따라서 I 프레임과 같이 중요한 데이터에는 복구를 위한 정보를 많이 부가하여 전체 데이터 에러율을 낮출 수 있다.As shown in FIG. 11, the more information for recovery is added, the higher the possibility of recovering even if an error occurs in a packet. Therefore, it is possible to reduce the overall data error rate by adding a lot of information for recovery to important data such as I frames.

도 12는 본 발명의 일 실시예에 따른 인터리빙시의 블록 사이즈에 따른 에러 발생 비율을 보여주는 그래프이다.12 is a graph showing an error occurrence rate according to a block size during interleaving according to an embodiment of the present invention.

블록 사이즈, 즉 한 패킷에서 인터리빙을 위해 나누는 블록의 크기가 178 byte인 경우에는 패킷에 에러가 5% 이하로 발생하여도 실제 데이터 에러율은 0%에 가깝다. 5% 내지 10%의 패킷 에러의 경우에도 10% 이하의 데이터 에러율을 보이고 있다. 블록 사이즈가 712 byte인 경우에는 이보다 높은 에러율을 보이고 있으며 블록 사이즈가 1424 byte인 경우에는 가장 높은 에러율을 보이고 있다. 따라서 무선 네트워크의 상태를 측정시 에러가 높은 경우에는 블록 사이즈를 줄여서 에러가 발 생해도 전체에 에러가 전파되는 것을 막을 수 있다.If the block size, i.e., the size of the block divided for interleaving in one packet is 178 bytes, the actual data error rate is close to 0% even if an error occurs less than 5% in the packet. Even in the case of packet error of 5% to 10%, the data error rate is less than 10%. If the block size is 712 bytes, the error rate is higher than this. If the block size is 1424 byte, the highest error rate is shown. Therefore, if the error is high when measuring the status of the wireless network, it is possible to reduce the block size to prevent the error from propagating throughout.

본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Those skilled in the art will appreciate that the present invention can be embodied in other specific forms without changing the technical spirit or essential features of the present invention. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. The scope of the present invention is indicated by the scope of the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and the equivalent concept are included in the scope of the present invention. Should be interpreted.

본 발명을 구현함으로써 무선 네트워크의 상황에 따라 전송 방식과 인코딩 방식을 조절할 수 있다.By implementing the present invention, it is possible to adjust the transmission method and the encoding method according to the situation of the wireless network.

본 발명을 구현함으로써 각 데이터의 중요성에 따라 차등적으로 인코딩하고 전송할 수 있다.By implementing the present invention it is possible to encode and transmit differentially depending on the importance of each data.

Claims (25)

결합한 무선 네트워크의 상태 정보를 수신하는 단계;Receiving status information of the combined wireless network; 상기 상태 정보에 따라 전송할 데이터를 분류하는 단계;Classifying data to be transmitted according to the state information; 상기 분류한 데이터에 오류가 발생시 복구하기 위한 정보를 부가한 송신 데이터를 인코딩하는 단계;Encoding the transmission data to which the classified data is appended with information for recovery when an error occurs; 상기 상태 정보에 따라 상기 무선 네트워크에 상기 송신 데이터를 송신하기 위한 결정 인자를 설정하는 단계; 및Setting a determining factor for transmitting the transmission data to the wireless network according to the status information; And 상기 인코딩한 송신 데이터를 상기 설정한 결과에 따라 상기 무선 네트워크로 송신하는 단계를 포함하는, 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 데이터를 인코딩하여 송신하는 방법.And transmitting the encoded transmission data to the wireless network according to the set result, according to the transmission situation of the wireless network and the importance of video information. 제 1항에 있어서,The method of claim 1, 상기 수신하는 단계는 상기 송신 데이터를 수신하는 수신부에서 송신하는 상태 정보를 수신하는 단계인, 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 인코딩 및 전송을 제어하는 송신 방법.The receiving step is a step of receiving the status information transmitted from the receiving unit for receiving the transmission data, the transmission method for controlling the encoding and transmission according to the transmission status of the wireless network and the importance of the video information. 제 1항에 있어서,The method of claim 1, 상기 전송할 데이터는 비디오 데이터이며, The data to be transmitted is video data, 상기 분류하는 단계는 I 프레임, P 프레임, B 프레임인지 표시하는 단계를 포함하는, 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 데이터를 인코딩하여 송신하는 방법.The classifying includes indicating whether the frame is an I frame, a P frame, or a B frame. The method of encoding and transmitting data according to a transmission situation of a wireless network and the importance of video information. 제 1항에 있어서,The method of claim 1, 상기 인코딩하는 단계 이후에,After the encoding step, 상기 인코딩한 송신 데이터를 상기 수신한 무선 네트워크의 상태에 따라 인터리빙하는 단계를 더 포함하는, 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 데이터를 인코딩하여 송신하는 방법.And interleaving the encoded transmission data according to the state of the received wireless network, and encoding and transmitting the data according to the transmission situation of the wireless network and the importance of video information. 제 1항에 있어서,The method of claim 1, 상기 결정 인자는 재전송 횟수, 전송할 데이터율, 그리고 최대 전송 유닛의 크기를 결정하는 인자 중 어느 하나인, 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 데이터를 인코딩하여 송신하는 방법.And the determining factor is any one of a factor for determining the number of retransmissions, a data rate to be transmitted, and a size of a maximum transmission unit, according to a transmission situation of a wireless network and importance of video information. 제 1항에 있어서,The method of claim 1, 상기 상태 정보는 무선 네트워크를 통해 송신된 데이터에서 유실되거나 또는 오류가 발생한 비율에 대한 정보를 포함하는, 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 데이터를 인코딩하여 송신하는 방법.And the status information includes information on a rate of loss or error in data transmitted through a wireless network, and encodes and transmits the data according to the transmission status of the wireless network and the importance of video information. 제 1항에 있어서,The method of claim 1, 상기 상태 정보는 전송 패킷의 에러율, FEC 복구후의 데이터 에러율, 해밍 거리(hamming distance), 에러 거리(error distance)중 하나 이상을 포함하는, 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 데이터를 인코딩하여 송신하는 방법.The status information encodes the data according to the transmission status of the wireless network and the importance of video information, including one or more of an error rate of a transport packet, a data error rate after FEC recovery, a hamming distance, and an error distance. How to send. 제 1항에 있어서,The method of claim 1, 상기 인코딩하는 단계는 FEC(Forward Error Correction) 인코딩을 수행하는 단계인, 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 데이터를 인코딩하여 송신하는 방법.The encoding is a step of performing Forward Error Correction (FEC) encoding, the method of encoding and transmitting the data according to the transmission status of the wireless network and the importance of the video information. 결합한 무선 네트워크를 통해 데이터를 수신하는 단계;Receiving data via the combined wireless network; 상기 데이터가 가지는 특성에 따라 분류하는 단계;Classifying according to the characteristics of the data; 상기 분류한 데이터를 분류별로 결합하는 단계;Combining the classified data by classification; 상기 결합한 데이터를 재생하는 단계; Reproducing the combined data; 상기 데이터의 수신 상태를 통해 상기 무선 네트워크의 상태 정보를 취합하여, 상기 상태 정보를 송신하는 단계를 포함하는, 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 데이터를 수신하는 방법.And collecting the state information of the wireless network through the reception state of the data, and transmitting the state information. 제 9항에 있어서,The method of claim 9, 상기 수신한 데이터는 비디오 데이터이며, The received data is video data, 상기 분류하는 단계는 상기 데이터가 I 프레임, P 프레임, B 프레임인지를 나타내는 정보에 따라 분류하는 단계를 포함하는, 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 데이터를 수신하는 방법.The classifying step includes classifying the data according to information indicating whether the data is an I frame, a P frame, or a B frame. 제 9항에 있어서,The method of claim 9, 상기 결합하는 단계는The combining step 상기 수신한 데이터를 디인터리빙하는 단계를 더 포함하는, 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 데이터를 수신하는 방법.And deinterleaving the received data according to the transmission status of a wireless network and the importance of video information. 제 9항에 있어서,The method of claim 9, 상기 재생하는 단계는 The playing step 상기 결합한 데이터를 디코딩하는 단계를 더 포함하는, 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 데이터를 수신하는 방법.And decoding the combined data, according to the transmission situation of the wireless network and the importance of video information. 제 9항에 있어서,The method of claim 9, 상기 상태 정보는 전송 패킷의 에러율, FEC 복구후의 데이터 에러율, 해밍 거리(hamming distance), 에러 거리(error distance)중 하나 이상을 포함하는, 무선 네트워크의 전송 상황과 비디오 정보의 중요도에 따라 데이터를 수신하는 방법.The state information receives data according to the transmission status of a wireless network and the importance of video information, including one or more of an error rate of a transport packet, a data error rate after FEC recovery, a hamming distance, and an error distance. How to. 결합한 무선 네트워크에 대한 상태 정보를 수신하며 상기 상태 정보에 따라 상기 무선 네트워크에 데이터를 송신하기 위한 결정 인자를 설정하는 QoS 제어부;A QoS control section for receiving status information on the combined wireless network and setting decision factors for transmitting data to the wireless network according to the status information; 상기 상태 정보에 따라 전송할 데이터를 분류하는 프레임 분류부;A frame classifier classifying data to be transmitted according to the state information; 상기 분류한 데이터에 오류가 발생시 복구하기 위한 정보를 부가한 송신 데이터를 인코딩하는 인코더; 및An encoder for encoding the transmission data to which the classified data is added for recovering when an error occurs; And 상기 인코딩된 송신 데이터를 상기 설정한 결과에 따라 상기 무선 네트워크로 송신하는 MAC/PHY 제어부를 포함하며,A MAC / PHY controller for transmitting the encoded transmission data to the wireless network according to the setting result; 상기 QoS 제어부는 상태 정보에 따라 상기 인코더의 인코딩 방식을 제어하는, 데이터 송신 장치.And the QoS control unit controls an encoding scheme of the encoder according to state information. 제 14항에 있어서,The method of claim 14, 상기 QoS 제어부는 상기 송신 데이터를 수신하는 수신부가 데이터를 송신한 상태 정보를 수신하는, 데이터 송신 장치.And the QoS control unit receives state information in which a reception unit which receives the transmission data transmits data. 제 14항에 있어서,The method of claim 14, 상기 전송할 데이터는 비디오 데이터이며, The data to be transmitted is video data, 상기 프레임 분류부는 I 프레임, P 프레임, B 프레임인지 표시하는, 데이터 송신 장치.And the frame classification unit indicates whether the frame classification unit is an I frame, a P frame, or a B frame. 제 14항에 있어서,The method of claim 14, 상기 인코더는 상기 인코딩한 송신 데이터를 상기 수신한 무선 네트워크의 상태에 따라 인터리빙하는, 데이터 송신 장치.And the encoder interleaves the encoded transmission data according to the state of the received wireless network. 제 14항에 있어서,The method of claim 14, 상기 결정 인자는 재전송 횟수, 전송할 데이터율, 그리고 최대 전송 유닛의 크기를 결정하는 인자 중 어느 하나인, 데이터 송신 장치.And the determining factor is any one of a factor for determining the number of retransmissions, the data rate to be transmitted, and the size of the maximum transmission unit. 제 14항에 있어서,The method of claim 14, 상기 상태 정보는 무선 네트워크를 통해 송신된 데이터에서 유실되거나 또는 오류가 발생한 비율에 대한 정보를 포함하는, 데이터 송신 장치.And the status information includes information about a rate of loss or error in data transmitted over a wireless network. 제 14항에 있어서,The method of claim 14, 상기 상태 정보는 전송 패킷의 에러율, FEC 복구후의 데이터 에러율, 해밍 거리(hamming distance), 에러 거리(error distance)중 하나 이상을 포함하는, 데이터 송신 장치.And the status information includes one or more of an error rate of a transport packet, a data error rate after FEC recovery, a hamming distance, and an error distance. 제 14항에 있어서,The method of claim 14, 상기 인코더는 FEC(Forward Error Correction) 인코딩을 수행하는, 데이터 송신 장치.And the encoder performs forward error correction (FEC) encoding. 결합한 무선 네트워크를 통해 데이터를 수신하는 MAC/PHY 제어부;A MAC / PHY controller for receiving data through the combined wireless network; 상기 데이터가 가지는 특성에 따라 분류하는 패킷 정렬부;A packet sorter for classifying the data according to the characteristics of the data; 상기 분류한 데이터를 분류별로 결합하여 상기 결합한 데이터를 재생하는 디코더; 및A decoder which combines the classified data by classification to reproduce the combined data; And 상기 데이터의 수신 상태를 통해 상기 무선 네트워크의 상태 정보를 취합하여 상기 상태 정보를 송신하는 통계 수집부를 포함하는, 데이터 수신 장치.And a statistics collector which collects state information of the wireless network through the state of receiving the data and transmits the state information. 제 22항에 있어서,The method of claim 22, 상기 수신한 데이터는 비디오 데이터이며, The received data is video data, 상기 패킷 정렬부는 상기 데이터가 I 프레임, P 프레임, B 프레임인지를 나타내는 정보에 따라 분류하는, 데이터 수신 장치.And the packet aligning unit classifies the data according to information indicating whether the data is an I frame, a P frame, or a B frame. 제 22항에 있어서,The method of claim 22, 상기 디코더는 상기 수신한 데이터를 디인터리빙하는, 데이터 수신 장치.And the decoder deinterleaves the received data. 제 22항에 있어서,The method of claim 22, 상기 상태 정보는 전송 패킷의 에러율, FEC 복구후의 데이터 에러율, 해밍 거리(hamming distance), 에러 거리(error distance)중 하나 이상을 포함하는, 데이터 수신 장치.And the status information includes one or more of an error rate of a transport packet, a data error rate after FEC recovery, a hamming distance, and an error distance.
KR1020050060979A 2005-07-07 2005-07-07 Method and apparatus for transmitting and receiving in the wireless network controlling encoding and transmitting mechanism using video data s importance and network circumstance KR100763184B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050060979A KR100763184B1 (en) 2005-07-07 2005-07-07 Method and apparatus for transmitting and receiving in the wireless network controlling encoding and transmitting mechanism using video data s importance and network circumstance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050060979A KR100763184B1 (en) 2005-07-07 2005-07-07 Method and apparatus for transmitting and receiving in the wireless network controlling encoding and transmitting mechanism using video data s importance and network circumstance

Publications (2)

Publication Number Publication Date
KR20070006024A true KR20070006024A (en) 2007-01-11
KR100763184B1 KR100763184B1 (en) 2007-10-05

Family

ID=37871343

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050060979A KR100763184B1 (en) 2005-07-07 2005-07-07 Method and apparatus for transmitting and receiving in the wireless network controlling encoding and transmitting mechanism using video data s importance and network circumstance

Country Status (1)

Country Link
KR (1) KR100763184B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008123680A1 (en) * 2007-04-06 2008-10-16 Samsung Electronics Co., Ltd. Wireless network system and method of configuring the same
KR101055998B1 (en) * 2007-01-22 2011-08-11 퀄컴 인코포레이티드 Error filter to distinguish reverse link video data errors from forward link video data errors
US8917727B2 (en) 2007-09-20 2014-12-23 Lg Electronics Inc. Digital broadcasting system and method of processing data in digital broadcasting system
KR20150067106A (en) * 2007-08-24 2015-06-17 엘지전자 주식회사 Digital broadcasting system and method of processing data in digital broadcasting system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101329684B1 (en) 2012-03-14 2013-11-14 (주)정직한기술 multimedia data file transmitting apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3482054B2 (en) * 1995-11-29 2003-12-22 シャープ株式会社 Image coding device
US7260826B2 (en) 2000-05-31 2007-08-21 Microsoft Corporation Resource allocation in multi-stream IP network for optimized quality of service
JP4198921B2 (en) * 2002-02-28 2008-12-17 株式会社エヌ・ティ・ティ・ドコモ Adaptive radio parameter control method, QoS control device, base station, and radio communication system
KR100537499B1 (en) * 2002-07-26 2005-12-19 삼성전자주식회사 Method of generating transmission control parameter and selective retranmission method according to the packet characteristics.
KR100475605B1 (en) * 2002-08-14 2005-03-10 엘지전자 주식회사 Method for transmitting data in digital video recorder for monitoring

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101055998B1 (en) * 2007-01-22 2011-08-11 퀄컴 인코포레이티드 Error filter to distinguish reverse link video data errors from forward link video data errors
WO2008123680A1 (en) * 2007-04-06 2008-10-16 Samsung Electronics Co., Ltd. Wireless network system and method of configuring the same
US8437319B2 (en) 2007-04-06 2013-05-07 Samsung Electronics Co., Ltd. Wireless network system and method of configuring the same
KR20150067106A (en) * 2007-08-24 2015-06-17 엘지전자 주식회사 Digital broadcasting system and method of processing data in digital broadcasting system
KR20160100882A (en) * 2007-08-24 2016-08-24 엘지전자 주식회사 Digital broadcasting system and method of processing data in digital broadcasting system
US8917727B2 (en) 2007-09-20 2014-12-23 Lg Electronics Inc. Digital broadcasting system and method of processing data in digital broadcasting system
US9674817B2 (en) 2007-09-20 2017-06-06 Lg Electronics Inc. Digital broadcasting system and method of processing data in digital broadcasting system
US9894638B2 (en) 2007-09-20 2018-02-13 Lg Electronics Inc. Digital broadcasting system and method of processing data in digital broadcasting system

Also Published As

Publication number Publication date
KR100763184B1 (en) 2007-10-05

Similar Documents

Publication Publication Date Title
KR100746013B1 (en) Method and apparatus for data transmitting in the wireless network
US8091011B2 (en) Method and system for dynamically adjusting forward error correction (FEC) rate to adapt for time varying network impairments in video streaming applications over IP networks
EP3940974B1 (en) Transmission method and device for data stream
EP2103026B1 (en) A method to support forward error correction for real-time audio and video data over internet protocol networks
US20060150055A1 (en) Adaptive information delivery system using FEC feedback
US9246644B2 (en) Jitter buffer
US20080285476A1 (en) Method and System for Implementing a Forward Error Correction (FEC) Code for IP Networks for Recovering Packets Lost in Transit
JP5109787B2 (en) Data transmission system, program and method
Tsai et al. Sub-packet forward error correction mechanism for video streaming over wireless networks
WO1998058468A1 (en) Information data multiplexing transmission system, multiplexer and demultiplexer used therefor, and error correcting encoder and decoder
KR20130057937A (en) Apparatus and method for transmitting and receiving packet in communication system
KR100763184B1 (en) Method and apparatus for transmitting and receiving in the wireless network controlling encoding and transmitting mechanism using video data s importance and network circumstance
CN108696491B (en) Audio data sending processing method and device and audio data receiving processing method and device
WO2010124651A1 (en) Method, apparatus and system for forward error correction
Sachs et al. Hybrid ARQ for robust video streaming over wireless LANs
KR20040071765A (en) Unequal error protection using forward error correction based on Reed-Solomon codes
US20060059411A1 (en) Method and system for increasing channel coding gain
Tsai et al. MAC-level forward error correction mechanism for minimum error recovery overhead and retransmission
US20110206022A1 (en) QoS WIRELESS NETWORKING FOR HOME ENTERTAINMENT
JP3934073B2 (en) Real-time information transmission system, real-time information transmission device, real-time information transmission method and program
JP3730977B2 (en) Data transmission method and data processing method
Kondo et al. Implementation and evaluation of the robust high-quality video transfer system on the broadband internet
CN112769523A (en) Self-adaptive FEC method and system based on media content
Soltani et al. PEEC: a channel-adaptive feedback-based error
WO2022224243A1 (en) Streaming media communication with forward error correction

Legal Events

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