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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000005540 biological transmission Effects 0.000 claims abstract description 81
- 238000011084 recovery Methods 0.000 claims description 25
- 238000012937 correction Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000003993 interaction Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission 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/762—Admission 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
- H04L1/0017—Systems 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/822—Collecting or measuring resource availability data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234354—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing 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/2381—Adapting 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
Description
도 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
미국 특허(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
비디오 입력부(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
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
인코더(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
전송 프로토콜(130)은 데이터를 전송하기 위한 프로토콜을 제공한다. TCP/IP(Transmission Control Protocol/Internet Protocol), RTP(Real Time Protocol) 등의 프로토콜을 사용할 수 있다.The
매체 접근 제어층(MAC)/물리층(Physical layer) 제어부(140)에서는 상위 계층에서 생성한 데이터를 무선 매체를 통해 전송할 수 있도록 한다. 그리고 무선 매체의 특성 또는 상황에 따라 전송 방식을 조절할 수 있다. 이를 제어하는 부분이 MAC 관리부(141)이다. 그리고 무선 매체의 특성 또는 상황에 따라 MAC 관리부(141)가 적절한 방식을 선택할 수 있도록 제어하는 것이 QoS 제어부(150)이다. The medium access control layer (MAC) / physical
MAC 관리부(141)는 MAC 파라메터를 관리하고 데이터를 구분하여 전송하며, 데이터의 중요도에 따라 분류하여 송신할 수 있도록 하는 우선순위 큐를 포함한다. MAC 관리부(141)는 전송에 오류가 발생한 경우 재전송하는데 필요한 재전송 횟수(Retry limit) 파라메터를 설정하는 재전송 설정부, 전송할 데이터율을 설정하는 데이터율 설정부, 그리고 한번에 전송할 데이터의 크기인 MTU(Maximum Transfer unit)를 설정하는 MTU 크기 설정부를 포함할 수 있다.The
QoS 제어부(150)는 무선 네트워크의 상태를 파악하여 인코더(122)에서 부가할 FEC 코드의 크기를 설정할 수 있으며, MAC 관리부(141)를 제어하여 재전송 횟수, 전송 데이터율, MTU와 같은 사항들을 설정할 수 있다. QoS 제어부(150)와 인코더(122), 또는 QoS 제어부(150)와 MAC 관리부(141)와의 상호 작용은 후술하고자 한다.The
비디오 수신부(200)는 무선 네트워크를 통해 데이터를 수신하는 MAC/PHY 제어부(240), 프로토콜을 제공하는 전송 프로토콜(230), 그리고 수신한 비디오 데이터를 재생하는 비디오 재생 어플리케이션(220)과 재생된 비디오를 출력하는 비디오 출력부(210)를 포함한다.The video receiver 200 includes a MAC /
MAC/PHY 제어부(240)는 복수개의 우선순위 큐(priority queue)를 포함한다. 우선순위별로 수신된 데이터를 큐에 저장할 수 있다. The MAC /
비디오 재생 어플리케이션(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
도 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
도 3은 세 가지 인자(parameter)를 제어하고 있다. QoS 제어부(150)는 현재 네트워크의 상황에 따라, 인코더(122)가 인코딩하는 크기(인코딩율), 인터리빙할 블록의 크기, 그리고 UDP 패킷의 크기를 설정할 수 있다. 3 controls three parameters. The
리드-솔로몬 알고리즘을 사용하는 경우를 예를 들어 살펴보면 다음과 같다. 인코딩율은 실제 데이터의 크기가 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
도 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
도 4는 세 가지 인자(parameter)를 제어하고 있다. QoS 제어부(150)는 현재 네트워크의 상황에 따라, 재전송 횟수, 데이터 전송에 의한 데이터율, 그리고 최대 전송 유닛(Maximum Transfer Unit)의 크기를 조절할 수 있다. 4 controls three parameters. The
재전송 설정부(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
데이터율 설정부(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
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
도 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
각 프레임 데이터가 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
한편, 비디오 프레임뿐만 아니라, 시스템에 관한 정보와 헤더, 오디오 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
인코딩된 데이터(340)에서 사라진 부분을 복구하여 프레임 데이터를 생성하고, 이 프레임 데이터는 비디오 재생 어플리케이션 내의 MPEG 디코더를 통해 재생된다.The missing portion of the encoded
도 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)
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)
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)
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)
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 |
-
2005
- 2005-07-07 KR KR1020050060979A patent/KR100763184B1/en not_active IP Right Cessation
Cited By (8)
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 |