KR101953580B1 - Data Transceiving Apparatus and Method in Telepresence System - Google Patents
Data Transceiving Apparatus and Method in Telepresence System Download PDFInfo
- Publication number
- KR101953580B1 KR101953580B1 KR1020150145170A KR20150145170A KR101953580B1 KR 101953580 B1 KR101953580 B1 KR 101953580B1 KR 1020150145170 A KR1020150145170 A KR 1020150145170A KR 20150145170 A KR20150145170 A KR 20150145170A KR 101953580 B1 KR101953580 B1 KR 101953580B1
- Authority
- KR
- South Korea
- Prior art keywords
- packets
- packet
- rtp
- xor
- recovery
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000011084 recovery Methods 0.000 claims abstract description 71
- 238000005265 energy consumption Methods 0.000 abstract description 7
- 230000002457 bidirectional effect Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 22
- 230000005540 biological transmission Effects 0.000 description 14
- 239000011159 matrix material Substances 0.000 description 12
- 229910004444 SUB1 Inorganic materials 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000013467 fragmentation Methods 0.000 description 6
- 238000006062 fragmentation reaction Methods 0.000 description 6
- 239000000470 constituent Substances 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006854 communication Effects 0.000 description 4
- 229910004438 SUB2 Inorganic materials 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 3
- 230000009897 systematic effect Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000002779 inactivation Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H04L29/06517—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M11/00—Telephonic communication systems specially adapted for combination with other electrical systems
- H04M11/06—Simultaneous speech and data transmission, e.g. telegraphic transmission over the same conductors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
- H04N7/152—Multipoint control units therefor
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 영상회의를 위한 전용망이 아닌 일반 공중 인터넷망이나 모바일 환경에서 발생할 수 있는 수준의 패킷손실율에서도 손실된 패킷을 복원할 수 있고, 양방향 서비스를 제공하기 위해 실시간으로 짧은 시간에 패킷 손실의 복구가 가능하며, 에너지 소비를 줄일 수 있도록 패킷 손실의 복구가 가능한 영상회의 시스템에서의 데이터 송수신 장치 및 방법에 관한 것이다.The present invention can recover lost packets even at a packet loss rate that can occur in a general public Internet network or a mobile environment, rather than a dedicated network for video conferencing. In order to provide bidirectional services, packet loss recovery And more particularly, to an apparatus and method for transmitting and receiving data in a video conference system capable of recovering packet loss so as to reduce energy consumption.
Description
본 발명은 영상회의(video conference/telepresence) 시스템에 관한 것으로서, 특히, 공중 인터넷(Public Internet)을 이용한 영상회의 시스템에서 끊김없는 고화질의 영상을 제공하면서 동시에 영상회의 단말에서 소비되는 에너지를 줄이기 위한 비디오 패킷 손실의 복구를 수행하는 데이터 송수신 장치 및 방법에 관한 것이다. The present invention relates to a video conference / telepresence system, and more particularly, to a video conference / telepresence system for providing seamless high-quality video in a video conference system using the public Internet, To a data transmission / reception apparatus and method for performing packet loss recovery.
기존의 영상회의 시스템(예, Cisco, Polycom)은 전용 인터넷망을 사용하여 패킷손실율, 지연(delay), 지터(jitter)를 영상회의에 적합한 수준 이하로 유지할 수 있다. 이러한, 전용 인터넷망을 활용한 영상회의 시스템에 사용되는 패킷 손실의 복구 알고리즘은 낮은 패킷 손실율에 적합하게 설계되어 있다. 하지만, 일반 공중 인터넷망에서는 영상회의에 적합한 패킷손실율, 지연(delay), 지터(jitter)를 일정 수준 이하로 유지하는 것이 보장되지 않으므로, 더 높은 패킷 손실율에도 강인한 패킷 복구 기술이 필요하다. Traditional video conferencing systems (eg, Cisco and Polycom) can use a dedicated Internet network to keep packet loss rates, delays, and jitter below levels suitable for video conferencing. The packet loss recovery algorithm used in the video conferencing system using the dedicated Internet network is designed to have a low packet loss rate. However, it is not guaranteed to keep the packet loss rate, delay, and jitter below a predetermined level suitable for video conferencing in a general public Internet network, and therefore, strong packet recovery technology is required even at a higher packet loss rate.
방송/VoD와 같이 단방향 스트리밍 서비스(예, RaptorQ)는 일정 시간 버퍼링 후에 서비스 제공이 가능하므로, 패킷손실을 복구하기 위해 손실된 패킷을 재전송 요청하거나, 버퍼링 시간을 고려한 패킷손실복구 기술을 적용하는 것이 가능하다. 하지만, 텔레프레즌스(영상회의) 시스템은 실시간 양방향 서비스를 제공하므로, 미디어 처리를 위한 버퍼링 시간이 충분치 않아, 전송망에서 패킷손실이 발생했을 경우, 실시간으로 손실된 패킷을 복구하는 것이 필요하다. Since a unidirectional streaming service (eg, RaptorQ) such as broadcast / VoD can provide a service after buffering for a predetermined time, it is necessary to request a retransmission of a lost packet to recover a packet loss or apply a packet loss recovery technique considering buffering time It is possible. However, since the telepresence system provides a real-time bidirectional service, it is necessary to recover lost packets in real time when packet loss occurs in the transmission network because buffering time for media processing is insufficient.
스마트워크 환경 구축의 활성화 및 4세대 이동통신기술의 보급으로 인한 통신 대역폭 증가는 모바일 단말을 통한 영상회의 참여가 가능하도록 한다. 하지만, 무선 환경에서 간섭(interference), 이동성(hand-over), 데이터 사용량 증가로 인한 망 혼잡 등에 따른 패킷손실율이 유선 환경보다 더 높게 발생할 수 있다. 그러므로, 모바일 환경에 적합한 패킷손실복구 기술이 필요하다. The activation of smart work environment and the increase of communication bandwidth due to the spread of 4th generation mobile communication technology enables participation of video conference through mobile terminal. However, the packet loss rate due to network congestion due to interference, hand-over, and data usage increase in a wireless environment may be higher than in a wired environment. Therefore, a packet loss recovery technique suitable for a mobile environment is needed.
영상회의는 대용량의 데이터 압축, 전송, 복원 및 재생 과정이 필요하고, 이 과정들은 많은 소비전력을 필요로 한다. 모바일 단말을 이용하여 영상회의를 진행할 경우 전원공급에 제약이 발생할 수 있으므로, 에너지 소모량을 고려한 패킷손실복구 기술이 필요하다. Video conferencing requires large amounts of data compression, transmission, recovery and playback processes, and these processes require high power consumption. When a video conference is performed using a mobile terminal, there is a limitation in power supply, so a packet loss recovery technology considering energy consumption is needed.
따라서, 본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적으로서, 첫 번째 목적은 영상회의를 위한 전용망이 아닌 일반 공중 인터넷망이나 모바일 환경에서 발생할 수 있는 수준의 패킷손실율에서도 손실된 패킷을 복원할 수 있는 영상회의 시스템에서의 데이터 송수신 장치 및 방법을 제공하는 데 있다.SUMMARY OF THE INVENTION The present invention has been made in order to solve the above-mentioned problems, and it is an object of the present invention to provide a method and apparatus for preventing loss in a packet loss rate And to provide a data transmission / reception apparatus and method in a video conference system capable of restoring a packet that has been received.
두 번째 목적은 양방향 서비스를 제공하기 위해 실시간으로 짧은 시간에 패킷 손실의 복구가 가능한 영상회의 시스템에서의 데이터 송수신 장치 및 방법을 제공하는 데 있다.A second object of the present invention is to provide an apparatus and method for transmitting and receiving data in a video conference system capable of recovering packet loss in a short time in real time in order to provide a bidirectional service.
세 번째 목적은 에너지 소비를 줄일 수 있도록 패킷 손실의 복구가 가능한 영상회의 시스템에서의 데이터 송수신 장치 및 방법을 제공하는 데 있다.A third object of the present invention is to provide an apparatus and method for transmitting / receiving data in a video conference system capable of recovering packet loss so as to reduce energy consumption.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the above-mentioned technical problems, and other technical problems which are not mentioned can be understood by those skilled in the art from the following description.
먼저, 본 발명의 특징을 요약하면, 상기의 목적을 달성하기 위한 본 발명의 일면에 따른 영상회의 시스템에서 데이터 송수신 방법은, 송신장치에서 복수의 RTP(Real-time Transport Protocol) 패킷들과 복수의 복구 패킷들을 순차 전송하는 단계; 및 수신장치에서 상기 복수의 RTP 패킷들과 상기 복수의 복구 패킷들을 순차 수신하는 단계를 포함하고, 상기 수신하는 단계는, 상기 복수의 RTP 패킷들 중 손실된 패킷의 존재 여부를 체크하는 단계; 및 하나의 손실된 해당 패킷에 대하여 상기 복수의 복구 패킷들을 이용하여 복구하는 단계를 포함하며, 상기 복수의 복구 패킷들은, 하나의 픽처 프레임을 구성하는 상기 복수의 RTP 패킷들을 선택적으로 XOR 연산하여 생성된다.According to another aspect of the present invention, there is provided a method of transmitting and receiving data in a video conference system, the method comprising: transmitting a plurality of RTP (Real-time Transport Protocol) Sequentially transmitting recovery packets; And sequentially receiving the plurality of RTP packets and the plurality of recovery packets in a receiving apparatus, wherein the receiving comprises: checking whether there is a lost packet among the plurality of RTP packets; And recovering the lost packets using the plurality of recovery packets, wherein the plurality of recovery packets are generated by selectively XORing the plurality of RTP packets constituting one picture frame do.
상기 복수의 복구 패킷들은, 상기 복수의 RTP 패킷들 중 홀수번째 패킷을 복구하기 위하여 상기 복수의 RTP 패킷들 중 홀수 패킷들을 XOR 연산한 XOR-ODD 패킷, 및 상기 복수의 RTP 패킷들 중 짝수번째 패킷을 복구하기 위하여 상기 복수의 RTP 패킷들 중 짝수 패킷들을 XOR 연산한 XOR-EVEN 패킷을 포함할 수 있다.Wherein the plurality of recovery packets include an XOR-ODD packet in which odd-numbered packets among the plurality of RTP packets are XORed to recover an odd-numbered packet among the plurality of RTP packets, and an even- And an XOR-EVEN packet obtained by performing an XOR operation on even-numbered packets among the plurality of RTP packets to recover the ROB packet.
상기 복수의 복구 패킷들은, 상기 복수의 RTP 패킷들을 소정의 서브블록들로 나누어 서브블록 마다 XOR 연산한 XOR-SUB 패킷들을 더 포함할 수 있고, 상기 XOR-SUB 패킷들은 해당 서브블록에 속한 홀수번째 또는 짝수번째 패킷을 복구하기 위하여 사용될 수 있다.The plurality of recovery packets may further include XOR-SUB packets obtained by dividing the plurality of RTP packets into predetermined subblocks and performing XOR operation on each subblock, and the XOR-SUB packets may include odd-numbered Or may be used to recover even-numbered packets.
상기 서브블록 마다 XOR 연산한 패킷들의 개수는 상기 복수의 RTP 패킷들을 상기 서브블록의 크기로 나눈 정수값으로 정해질 수 있다. The number of packets XOR-computed for each sub-block may be defined as an integer value obtained by dividing the plurality of RTP packets by the size of the sub-block.
상기 복수의 복구 패킷들의 각 헤더는, 복구 패킷임을 나타내기 위한 plr_indicator 필드, 동일한 픽처 프레임 내에 포함된 RTP 패킷 수를 나타내는 num_of_packet 필드, 및 동일 픽처 프레임의 마지막 RTP 패킷의 크기와 XOR-SUB 패킷의 번호를 나타내는 mark_size 필드를 포함할 수 있다. Each header of the plurality of recovery packets includes a plr_indicator field indicating that the packet is a recovery packet, a num_of_packet field indicating the number of RTP packets included in the same picture frame, and a size of the last RTP packet of the same picture frame and the number of the XOR- And a mark_size field indicating a mark_size field.
상기 plr_indicator 필드는, Reserved 필드, 영상의 화면을 QCIF 또는 HD로 구분하기 위한 payload_type 필드, 및 XOR-ODD, XOR-EVEN, XOR-SUB 패킷의 구분을 위한 redundant_type 필드를 포함할 수 있다. The plr_indicator field may include a Reserved field, a payload_type field for classifying the picture image into QCIF or HD, and a redundant_type field for classifying XOR-ODD, XOR-EVEN, and XOR-SUB packets.
그리고, 본 발명의 다른 일면에 따른 영상회의 시스템은, 복수의 RTP(Real-time Transport Protocol) 패킷들과 복수의 복구 패킷들을 순차 전송하는 인코더를 포함하는 송신장치; 및 상기 복수의 RTP 패킷들과 상기 복수의 복구 패킷들을 순차 수신하는 디코더를 포함하는 수신장치를 구비하고, 상기 디코더는, 상기 복수의 RTP 패킷들 중 손실된 패킷의 존재 여부를 체크하여, 하나의 손실된 해당 패킷에 대하여 상기 복수의 복구 패킷들을 이용하여 복구하며, 상기 복수의 복구 패킷들은, 하나의 픽처 프레임을 구성하는 상기 복수의 RTP 패킷들을 선택적으로 XOR 연산하여 생성된다.According to another aspect of the present invention, there is provided a video conference system including: a transmitter including a plurality of RTP (Real-time Transport Protocol) packets and an encoder for sequentially transmitting a plurality of recovery packets; And a decoder for sequentially receiving the plurality of RTP packets and the plurality of recovery packets, wherein the decoder checks whether there is a lost packet among the plurality of RTP packets, And restores the lost packet using the plurality of recovery packets, and the plurality of recovery packets are generated by selectively XORing the plurality of RTP packets constituting one picture frame.
본 발명에 따른 영상회의 시스템에서의 데이터 송수신 장치 및 방법에 따르면, 영상회의를 위한 전용망이 아닌 일반 공중 인터넷망이나 모바일 환경에서 발생할 수 있는 수준의 패킷손실율에서도 손실된 패킷을 복원할 수 있는 방법을 제공하므로, 영상회의 시스템 구축을 위해 별도의 전용망을 구축하지 않아도 되는 장점이 있다. According to the apparatus and method for transmitting and receiving data in the video conference system according to the present invention, a method of restoring a lost packet even at a packet loss rate that can occur in a general public Internet network or a mobile environment, Therefore, there is an advantage in that it is not necessary to construct a dedicated network for building a video conference system.
또한, 손실된 패킷을 복구하기 위한 별도의 패킷 재전송 과정이 없으므로, 실시간으로 짧은 시간에 패킷 손실의 복구가 가능하도록 하여 양방향 영상회의 서비스 품질을 일정하게 유지할 수 있다. In addition, since there is no separate packet retransmission process for recovering a lost packet, it is possible to recover packet loss in a short time in real time, thereby maintaining the service quality of the bidirectional video conference at a constant level.
그리고, 에너지 소비가 많이 요구되는 패킷 손실 디코딩 과정을 회피함으로써, 같은 통화 품질 대비 에너지 소비를 줄일 수 있다. Moreover, by avoiding the packet loss decoding process which requires a large amount of energy consumption, it is possible to reduce energy consumption over the same call quality.
도 1은 일반적인 NAL단위 헤더를 설명하기 위한 도면이다.
도 2는 일반적인 H.264/AVC 계층을 설명하기 위한 도면이다.
도 3은 본 발명에서 사용되는 대표적인 RTP payload 포맷으로서, Single NAL, STAP-A, FU 포맷을 설명하기 위한 도면이다.
도 4는 도3의 FU indicator와 FU header를 설명하기 위한 도면이다.
도 5는 일반적인 스트리밍 서비스(RaptorQ)에서 패킷손실복구 개념도이다.
도 6은 RQ 코드를 활용해 영상 패킷 손실의 복구를 위한 일반적인 데이터 송수신 장치의 구조이다.
도 7은 본 발명의 영상회의 시스템의 데이터 송수신 장치에서 RTP 패킷 분할 과정을 설명하기 위한 도면이다.
도 8은 본 발명에서 XOR-ODD 및 XOR-EVEN 패킷의 생성을 설명하기 위한 도면이다.
도 9는 본 발명에서 XOR-SUB 패킷의 생성을 설명하기 위한 도면이다.
도 10은 본 발명에서 RTP payload의 FU-A 포맷을 설명하기 위한 도면이다.
도 11은 본 발명에서 RTP payload의 PLR 포맷을 설명하기 위한 도면이다.
도 12는 본 발명에서 패킷 손실 체크 과정을 설명하기 위한 도면이다.
도 13은 본 발명에서 PLR 헤더 분석 시 XOR-SUB 패킷을 설명하기 위한 도면이다.
도 14는 본 발명에서 에너지 효율적인 비디오 패킷손실 복구 알고리즘 구조를 설명하기 위한 도면이다.
도 15는 본 발명의 일 실시예에 따른 영상회의 시스템의 구현 방법의 일례를 설명하기 위한 도면이다.1 is a diagram for explaining a general NAL unit header.
2 is a diagram for explaining a general H.264 / AVC layer.
3 is a diagram for explaining the format of Single NAL, STAP-A, and FU, which is a representative RTP payload format used in the present invention.
FIG. 4 is a view for explaining the FU indicator and the FU header of FIG. 3. FIG.
5 is a conceptual diagram of packet loss recovery in a general streaming service (RaptorQ).
6 is a structure of a general data transmitting / receiving apparatus for recovering video packet loss using RQ codes.
FIG. 7 is a diagram for explaining a RTP packet segmentation process in the data transmitting / receiving apparatus of the video conference system of the present invention.
8 is a diagram for explaining generation of XOR-ODD and XOR-EVEN packets in the present invention.
9 is a diagram for explaining generation of an XOR-SUB packet in the present invention.
10 is a diagram for explaining the FU-A format of the RTP payload in the present invention.
11 is a view for explaining a PLR format of an RTP payload in the present invention.
12 is a diagram for explaining a packet loss check process according to the present invention.
13 is a diagram for explaining an XOR-SUB packet in the PLR header analysis according to the present invention.
14 is a diagram for explaining an energy efficient video packet loss recovery algorithm structure in the present invention.
FIG. 15 is a diagram for explaining an example of a method of implementing a video conference system according to an embodiment of the present invention.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. It should be noted that, in adding reference numerals to the constituent elements of the drawings, the same constituent elements are denoted by the same reference symbols as possible even if they are shown in different drawings. In the following description of the embodiments of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the difference that the embodiments of the present invention are not conclusive.
본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In describing the components of the embodiment of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements. Also, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.
<영상 및 전송 프로토콜 ><Video and transmission protocol>
<H.264/AVC의 프로파일 (profile)><Profile of H.264 / AVC>
프로파일(압축부호화 기능)이란 비디오 부호화/복호화 과정에서 알고리즘(부호화 과정을 실행하기 위한 처리순서)상 들어가는 기술적 구성요소를 규격화한 것을 의미한다. 비디오 압축 표준인 H.264/AVC는 베이스라인 프로파일 (Baseline Profile), 메인 프로파일 (Main Profile), 확장 프로파일 (Extended Profile)의 세 가지 프로파일을 정의하고 있다. The profile (compression encoding function) means that the technical components included in the algorithm (processing sequence for executing the encoding process) in the video encoding / decoding process are standardized. H.264 / AVC, the video compression standard, defines three profiles: a baseline profile, a main profile, and an extended profile.
베이스라인 프로파일은 H.264/AVC의 기본적인 기술요소와 에러내성(오류가 발생했을 때 어느 정도 영상화질을 복원하여 복호할 수 있는 기능)용의 기술요소를 모은 프로파일이다. 무선 모바일 용용시스템과 영상전화 또는 영상회의시스템 등과 같은 실시간 및 양방향 통신 응용시스템을 위해 정의되었다. The baseline profile is a profile that collects the basic technical elements of H.264 / AVC and the technical elements for error tolerance (the ability to decode and reconstruct image quality to some extent when an error occurs). It is defined for real-time and two-way communication application systems such as wireless mobile systems and video telephony or video conferencing systems.
메인 프로파일은 방송, 저장미디어 등과 같은 응용시스템을 고려하여 정의되었다. 이 경우는 대용량의 콘텐츠를 대상으로 하기 때문에 부호화 효율이 최우선으로 고려되어서 비록 지연이 생기고 복잡도가 높다하더라도 부호화 효율이 좋은 기술요소를 채택하였다. The main profile is defined in terms of application systems such as broadcast, storage media, and so on. In this case, the encoding efficiency is considered to be the highest priority because it is targeted to a large amount of contents, so that a technology element with good encoding efficiency is adopted even if the delay occurs and the complexity is high.
확장 프로파일은 스트리밍 응용시스템을 대상으로 정의하였다. 스트리밍 응용시스템은 사전에 콘텐츠를 부호화해서 비트열을 준비한다. 데이터의 비트열을 순차적으로 전송하며 실시간으로 재생하는 것(스트리밍)을 목표로 하기 때문에 부호화 과정의 실시간 기술은 요구되지 않으나, 높은 부호화 효율은 필요로 한다.The extension profile is defined as a streaming application system. The streaming application system encodes the content in advance and prepares the bit stream. Because it aims at transmitting bitstreams of data sequentially and real-time playback (streaming), real-time description of the encoding process is not required, but high encoding efficiency is required.
<실시간 전송 프로토콜 (Real-time Transport Protocol (RTP))>≪ Real-time Transport Protocol (RTP) >
실시간 전송 프로토콜(Real-time Transport Protocol (RTP))은 비디오와 오디오 등의 실시간 데이터를 패킷화하여 인터넷 프로토콜(Internet Protocol (IP)) 네트워크상에서 전송하기 위한 프로토콜로서 Internet Engineering Task Force (IETF)에 의해 규격화되었다. RTP 패킷은 실시간성을 중시하기 때문에 일반적으로 흐름제어(flow control)와 재발송 제어를 하지 않고 UDP(User Datagram Protocol) 데이터를 사용한다. Real-time Transport Protocol (RTP) is a protocol for packetizing real-time data such as video and audio and transmitting it over the Internet Protocol (IP) network. It is supported by Internet Engineering Task Force (IETF) Standardized. RTP packets use UDP (User Datagram Protocol) data without flow control and retransmission control in general because they emphasize real-time characteristics.
RTP 패킷은 RTP 헤더와 페이로드(payload)로 구성이 되며, 응용계층에서 보내온 데이터는 RTP 페이로드에 캡슐화(encapsulation) 된다. RTP 헤더는 12바이트의 고정헤더와 전송할 데이터의 타입(payload type)에 따라 가변적인 길이의 확장헤더가 추가될 수 있다. RTP 고정헤더 중에 본 발명에서 제안하는 패킷 손실의 복구를 위해 필요한 주요 필드는 Payload type (7비트), Sequence Number (16비트), Timestamp (32비트) 이다. The RTP packet consists of an RTP header and a payload, and data sent from the application layer is encapsulated in an RTP payload. The RTP header may have a 12-byte fixed header and an extension header of variable length depending on the type of data to be transmitted (payload type). The main fields required for recovering the packet loss proposed by the present invention among the RTP fixed headers are Payload type (7 bits), Sequence Number (16 bits) and Timestamp (32 bits).
Payload type은 패킷에 실려 있는 미디어 데이터의 종류를 나타낸다. 본 발명에서는 일 예로 HD 영상은 121로 QCIF 영상은 120으로 설정한다. Sequence Number는 전송되는 각 RTP 패킷에 대하여 1씩 증가하는 값을 갖는다. 수신자측에서 패킷손실복구나 순서정렬을 하기 위해 사용된다. Timestamp는 RTP 데이터 패킷의 첫 번째 바이트의 샘플링 순간을 나타낸다. 그 빈도수는 payload 데이터 형식에 종속되고 프로파일이나 payload 형식 문서에 명시된다. The payload type indicates the type of media data stored in the packet. In the present invention, for example, the HD image is set to 121 and the QCIF image is set to 120. [ Sequence Number has a value that increases by 1 for each RTP packet to be transmitted. It is used for packet loss recovery or ordering at the receiver side. The Timestamp represents the sampling instant of the first byte of the RTP data packet. The frequency is dependent on the payload data type and is specified in the profile or payload format document.
<H.264/AVC를 위한 패킷화><Packetization for H.264 / AVC>
H.264/AVC에서는 도 2에서와 같이 동영상 부호화 처리 그 자체를 다루는 VCL (Video Coding Layer, 비디오 부호화 계층)과 부호화된 정보를 전송하고 저장하는 하위 시스템과의 사이에 있는 NAL(Network Abstraction Layer, 네트워크 추상계층)이라는 계층이 정의되어 있어서, VCL과 NAL 층이 분리된 구조로 구성되어 있는 것이 특징이다. In H.264 / AVC, as shown in FIG. 2, a video coding layer (VCL), which handles the moving picture encoding process itself, and a network abstraction layer (NAL) Network abstract layer) is defined, so that the VCL and the NAL layer are separated from each other.
정보를 전송하는 시스템에 전달되는 영상 데이터는 NAL의 기본 단위인 [NAL 단위(unit)]이다. NAL 단위는 기본적으로 NAL 헤더와 VCL에서 생성된 RBSP (Raw Byte Sequence Payload, 순수 동영상 압축 데이터)의 두 부분으로 구성된다. 각 NAL단위는 RTP 패킷으로 캡슐화 된다. RTP 페이로드(payload)에 NAL 단위 헤더(도 1 참조)와 NAL 단위 payload가 삽입된다. The image data delivered to the system that transmits information is [NAL unit (unit)] which is the basic unit of NAL. The NAL unit basically consists of two parts: a NAL header and RBSP (Raw Byte Sequence Payload) generated from the VCL. Each NAL unit is encapsulated into an RTP packet. A NAL unit header (see FIG. 1) and a NAL unit payload are inserted into the RTP payload.
도 1와 같이, NAL 헤더에는 F (forbidden_zero_bit), 그 NAL 단위의 참조영상(/픽처)가 되는 슬라이스가 포함되어 있는지 여부를 나타내는 플래그정보(nal_ref_idc(NRI: Network Reference Indicator))와 NAL 단위의 종류를 나타내는 식별자(nal_unit_type (Type))가 포함되어 있다. RBSP의 길이를 8비트(1바이트)의 배수로 표현하기 위해, RBSP의 마지막에 '1'로 시작해서 그 후에 '0'이 계속되어 '1000...'의 패턴을 갖는 padding을 추가한다. 여기서, F (forbidden_zero_bit): 1비트, 0:에러와 문법오류가 없음을 나타내고, 1:에러 또는 문법오류가 있음을 나타낸다. 또한, NRI (nal_ref_idc) : 2비트, 00: 참조 영상으로 사용 되지 않음을 나타내고, 01,10,11: 참조 영상으로 사용됨을 나타낸다. 또한, Type (nal_unit_type) : 5비트, NAL 단위의 payload 타입을 설명한다.As shown in Fig. 1, the NAL header includes flag information (nal_ref_idc (NRI: Network Reference Indicator)) indicating whether F (forbidden_zero_bit) and a slice serving as a reference picture (/ picture) (Nal_unit_type (Type)) indicating the identifier (nal_unit_type (Type)). To represent the length of the RBSP in multiples of 8 bits (1 byte), add a padding with a pattern of '1000 ...', followed by '1' at the end of the RBSP followed by '0'. Here, F (forbidden_zero_bit): 1 bit, 0: Indicates that there is no error or grammar error, and 1: Indicates that there is an error or syntax error. Also, NRI (nal_ref_idc): 2 bits, 00: indicates that the reference image is not used, and 01, 10, 11: indicates that the reference image is used. Type (nal_unit_type): Describes payload type of 5 bits and NAL unit.
RTP 패킷에 NAL 단위가 삽입되는 형태는 3가지 종류로 구분된다. Single NAL Unit Packet : 패킷에 하나의 NAL 단위가 삽입되어 있음. Aggregation Packet : 패킷에 여러 개의 NAL 단위가 삽입되어 있음. Fragmentation Unit : 하나의 NAL 단위가 여러 패킷에 나누어져 삽입되어 있음. RTP 패킷 Type값에 따른 삽입되는 NAL 단위의 종류와 payload 구조는 [표 1]과 같다. There are three types of NAL unit inserted into RTP packets. Single NAL Unit Packet: One NAL unit is inserted in the packet. Aggregation Packet: Packet has several NAL units inserted. Fragmentation Unit: One NAL unit is inserted into several packets. [Table 1] shows the types of NAL units inserted and the payload structure according to RTP packet type values.
[표 1][Table 1]
도 3은 본 발명에서 사용되는 대표적인 RTP payload 포맷으로서, Single NAL, STAP-A, FU 포맷을 설명하기 위한 도면이다.3 is a diagram for explaining the format of Single NAL, STAP-A, and FU, which is a representative RTP payload format used in the present invention.
도 3에서, Single NAL Unit Packet RTP payload 포맷(1)은 F, NRI, Type 필드로 구성된 NAL 헤더와 바이트 단위의 Single NAL Unit 데이터로 구성된다. Single Time Aggregation Packet은 STAP-A, STAP-B, MTAP16, MTAP24와 같이 4가지 종류가 있고, 도 3에는 그 중 STAP-A (Single Time Aggregation Packet - A) 패킷(2)의 포맷(STAP-A header, NALU1 Size, NALU1 header, NALU1 Data,..)이 제시된다. 하나의 NAL 단위가 여러 개의 RTP 패킷으로 분리될 때 Fragmentation Unit으로 캡슐화 된다. 도 3의 (3)은 Fragmentation Unit의 포맷(FU indicator, FU header, FU payload)을 나타낸다. Fragmentation Unit 포맷에서 FU indicator와 FU header는 도 4와 같은 구조를 가진다. 도 4의 (a)와 같이 FU indicator는 NAL 단위 헤더의 의미와 같다. 도 4의 (b)와 같이 FU header에서 각 필드의 의미는 다음과 같다. 여기서, S : 1비트로서 시작비트, E : 1비트로서 종료비트, R : 1비트로서 Reserved, Type : 5비트로서 NAL단위의 payload type을 설명함.In FIG. 3, the Single NAL Unit Packet RTP payload format (1) consists of a NAL header consisting of F, NRI, Type fields and Single NAL Unit data in byte units. A single Time Aggregation Packet (STAP-A) packet (2) format (STAP-A, STAP-A, STAP-B, MTAP16 and MTAP24) header, NALU1 Size, NALU1 header, NALU1 Data, ..) are presented. When one NAL unit is divided into several RTP packets, it is encapsulated into a Fragmentation Unit. FIG. 3 (3) shows the format of the Fragmentation Unit (FU indicator, FU header, FU payload). The FU indicator and the FU header in the Fragmentation Unit format have the structure shown in FIG. As shown in FIG. 4A, the FU indicator has the same meaning as the NAL unit header. 4 (b), the meaning of each field in the FU header is as follows. Here, S: 1 bit is the start bit, E: 1 bit is the end bit, R: Reserved as 1 bit, and Type: 5 bits.
<종래의 패킷손실복구 기술><Conventional Packet loss recovery technology>
<RaptorQ 개요 ><Overview of RaptorQ>
도 5는 일반적인 스트리밍 서비스(RaptorQ)에서 패킷손실복구 개념도이다.5 is a conceptual diagram of packet loss recovery in a general streaming service (RaptorQ).
RaptorQ 인코더는, 도 5의 개념도와 같이, 국제 인터넷 기술 위원회 (Internet Engineering Task Force (IETF))의 RFC 6330 표준 기술로서, 네트워크 패킷 손실에 대해 응용계층을 보호하는 소프트웨어로 구현된 순방향 에러 정정(Forward Error Correction (FEC)) 기술을 사용한다. RaptorQ 코드는 채널부호화 기술인 rateless 코드의 일종으로, 스트리밍 또는 데이터 파일을 전송할 때, 디코더에서 소스 심볼 개수에 추가로 2개의 부가정보(overhead)를 수신하면, 10-7 수준의 디코딩 실패 확률을 얻을 수 있는 코드이다. The RaptorQ encoder is an RFC 6330 standard technology of the Internet Engineering Task Force (IETF) as shown in the conceptual diagram of FIG. 5, and includes forward error correction Error Correction (FEC)) technique. RaptorQ code is a kind of rateless code which is a channel coding technology. When a streaming or a data file is transmitted, when the decoder receives two additional information overhead in addition to the number of source symbols, a decoding failure probability of 10 -7 level is obtained This is the code.
RaptorQ 코덱을 사용하는 시스템의 일반적인 동작 방식을 기술한다. 송신 시스템에서 전송하고자 하는 컨텐츠를 K개의 소스 심볼(source symbol)로 구성된 소스 블록(source block)으로 분할하고, 각 소스블록 별로 RaptorQ 인코딩/디코딩을 수행한다(1 = K = 56,403). 하나의 심볼 크기는 통상적으로 1에서 1024 바이트로 정한다. RaptorQ 인코더는 LDPC(Low Density Parity Check) 코드, HDPC(High Density Parity Check), LT(Luby Transform) 코드로 구성된 생성 행렬을 통해 K 소스 심볼로부터 L개의 중간 심볼(intermediate symbol)들을 생성한다. L개의 중간심볼들로부터 N개의 인코딩된 RaptorQ 코드를 목적지 수신 단말로 전송한다. Describes the general behavior of a system using the RaptorQ codec. The transmission system divides the content to be transmitted into source blocks each consisting of K source symbols and performs RaptorQ encoding / decoding for each source block (1 = K = 56,403). One symbol size is typically set between 1 and 1024 bytes. The RaptorQ encoder generates L intermediate symbols from a K source symbol through a generator matrix composed of Low Density Parity Check (LDPC) codes, High Density Parity Check (HDPC) codes, and LT (Luby Transform) codes. And transmits N encoded RaptorQ codes from the L intermediate symbols to the destination receiving terminal.
수신 단말에서는 RaptorQ 코드를 수신한 후, 인코더와 동일한 생성 행렬을 통해 K개의 소스 심볼을 복원하기 위한 RaptorQ 디코딩 수행한다. RaptorQ의 성능은 소스 심볼(K개)에 2개의 추가 심볼을 수신하면, 10-7 수준으로 원본 소스 심볼을 복원할 수 있다. RaptorQ 디코딩을 위해 생성 행렬의 역(inverse)행렬을 구하는 과정은 O(n3) 수준의 복잡도를 요구한다. K가 커질수록 생성 행렬의 차원이 커지므로, 역행렬을 구하기 위한 RaptorQ 디코딩 처리시간이 길어진다. After receiving the RaptorQ code, the receiving terminal performs RaptorQ decoding to recover K source symbols through the same generation matrix as the encoder. The performance of RaptorQ can restore the original source symbol to 10 -7 levels by receiving two additional symbols in the source symbol (K). The process of obtaining the inverse matrix of the generator matrix for RaptorQ decoding requires a complexity of O (n 3 ) level. The larger the value of K, the larger the dimension of the generator matrix. Thus, the RaptorQ decoding processing time for obtaining the inverse matrix becomes longer.
<RaptorQ 코드를 이용한 영상회의 시스템의 패킷손실복구 모델><Packet loss recovery model of video conferencing system using RaptorQ code>
도 6은 RQ 코드를 활용해 영상 패킷 손실의 복구를 위한 일반적인 데이터 송수신 장치의 구조이다. 도 6을 참조해, 통상적인 RaptorQ(RQ) 코드를 활용한 영상 패킷손실 복구 시스템의 동작 방식에 대해 기술한다. 6 is a structure of a general data transmitting / receiving apparatus for recovering video packet loss using RQ codes. Referring to FIG. 6, an operation method of an image packet loss recovery system using a conventional RaptorQ (RQ) code will be described.
비디오 인코더는 카메라로부터 영상을 입력 받아 I, P, B 타입의 압축된 비디오 프레임을 생성한다. 심볼화기(symbolizer)는 비디오 프레임(I, P, B)으로부터 K개의 소스 심볼(S1, S2, S3,..SK)로 구성된 소스블록을 생성한다. RQ 인코더는 조직적인(systematic) 부호화기로써, K개의 소스 심볼을 변형없이 전송하고, K개의 소스 심볼로부터 무한히 많은 복구 심볼(Repair symbols) R1, R2,..을 생성할 수 있다. 하지만, 통상적으로 목표로 삼는 데이터율이나, 채널 상태에 따라 복구 심볼의 수를 제한할 수 있다. RQ 인코더에서 RQ 인코딩된 소스 심볼 및 복구 심볼을 전송 및 네트워크 계층을 통해 패킷화 되어 수신 단말로 전송된다. The video encoder receives the video from the camera and generates I, P, B type compressed video frames. A symbolizer generates a source block consisting of K source symbols S1, S2, S3, ... SK from video frames I, P, B. The RQ encoder is a systematic encoder that can transmit K source symbols without modification and generate infinite number of repair symbols R1, R2, .. from K source symbols. However, it is usually possible to limit the number of recovery symbols according to the target data rate or channel state. The RQ encoder transmits the RQ encoded source symbol and the recovery symbol and is packetized through the network layer and transmitted to the receiving terminal.
소스 심볼과 복구 심볼의 종류에 관계 없이 K개의 심볼을 수신한 RQ 디코더는 RFC 6330 표준에 제공된 IDGE (Inactivation Decoding Gaussian Elimination) 디코딩 과정을 통해 원본 소스 심볼을 복원하기 위한 시도를 한다. 원본 소스 심볼 복원에 실패한 경우, 추가로 복구 심볼을 수신해서 소스 심볼을 복원을 위해 반복적으로 디코딩 과정을 수행한다. 역심볼화기는 복원에 성공한 소스 심볼로부터 프레임 단위의 비디오 프레임을 조립해서 비디오 디코더에 전달하고, 비디오 프레임을 수신한 비디오 디코더는 압축해제를 수행하고, 재생장치를 통해 비디오를 재생한다. Regardless of the type of the source symbol and the recovered symbol, the RQ decoder receiving the K symbols attempts to recover the original source symbol through the IDGE (Inactivation Decoding Gaussian Elimination) decoding process provided in the RFC 6330 standard. If the original source symbol recovery fails, the recovery symbol is further received and the decoding process is repeatedly performed to restore the source symbol. The inverse symbolizer assembles a video frame of a frame unit from the reconstructed source symbol and delivers it to the video decoder. The video decoder that receives the video frame decompresses and reproduces the video through the playback apparatus.
그러나, 이러한 방식에서는 다음과 같은 문제점이 있다. RQ 디코더는 소스 또는 복구 심볼을 원본 소스 심볼 개수(K)만큼 수신한 후에 RQ 디코딩을 시작한다. RQ 디코더는 생성 행렬의 역행렬을 구하는 것이 가능하면 원본 소스 심볼을 복원할 수 있고, 그렇지 않으면 추가로 복구 심볼을 수신해서 다시 역행렬을 구하는 과정을 반복한다. RQ 디코딩 과정에서 생성 행렬의 역행렬을 구하는 과정이 가장 많은 시간을 소모한다. RQ 디코더는 K개의 심볼을 수신했을 때, 99%의 디코딩 성공 확률을 보이고, K+1개를 수신하면 99.99%의 성공 확률, K+2개를 수신하면 99.9999%의 성공 확률을 보인다. However, this method has the following problems. The RQ decoder starts RQ decoding after receiving the source or recovery symbol by the number of original source symbols (K). The RQ decoder can recover the original source symbol if it is possible to obtain the inverse matrix of the generator matrix, otherwise it receives the recovery symbol and repeats the process of obtaining the inverse matrix again. The process of finding the inverse of the generator matrix in RQ decoding consumes the most time. RQ decoder shows 99% decoding success probability when receiving K symbols, 99.99% success probability when receiving K + 1, and 99.9999% probability when receiving
<비디오 패킷손실복구 알고리즘 (X-EO 알고리즘)><Video packet loss recovery algorithm (X-EO algorithm)>
H.264/AVC 코덱을 이용하여 Full-HD(1080p)급의 영상을 제공하는 영상회의 (텔레프레즌스) 시스템에서 비디오 패킷손실복구 방법에 대해 기술한다. 영상회의 시스템은 실시간 양방향 통신의 응용으로 H.264/AVC 베이스라인 프로파일을 이용하고, Full-HD급 영상을 제공하기 위하여 초당 30 프레임을 송신 단말에서 수신 단말로 전송한다. 베이스라인 프로파일에서는 참조영상으로 I 와 P 픽처만 사용되고, 각각의 I/P 픽처는 전송최대유닛(MTU, Maximum Transmit Unit) 크기로 분할되어 RTP 패킷에 캡슐화되어 전송된다. We describe a video packet loss recovery method in a telepresence system that provides full-HD (1080p) video using H.264 / AVC codec. The video conferencing system uses the H.264 / AVC baseline profile as a real-time bidirectional communication application and transmits 30 frames per second from the transmitting terminal to the receiving terminal to provide full-HD video. In the baseline profile, only I and P pictures are used as reference pictures, and each I / P picture is divided into a maximum transmission unit (MTU) size, encapsulated in an RTP packet, and transmitted.
도 7은 본 발명의 영상회의 시스템의 데이터 송수신 장치(또는 송신 단말, 수신단말)에서 RTP 패킷 분할 과정을 설명하기 위한 도면이다. 도 7에서 GOP(Group Of Picture)는 30 픽처/1초의 크기를 갖고, I 와 P 픽처로 구성된다. I 와 P 픽처는 NAL 계층을 통해 NAL단위로 구성된 후 MTU 크기로 분할되어 RTP 패킷에 캡슐화 된다. 초당 30픽처의 Full-HD급 영상을 제공하는데, 움직임이 적은 경우, I 픽처 데이터는 40~50개 정도의 RTP 패킷으로 분할되어 전송되고, P 픽처 데이터는 10~20개 정도의 RTP 패킷으로 분할되어 전송된다. 분할되는 RTP 패킷의 수는 영상의 움직임 정도에 따라 가변적이며, 여기에서는 평균적인 수치를 일 예로 제시한다. 7 is a diagram for explaining the RTP packet segmentation process in the data transmission / reception apparatus (or transmitting terminal, receiving terminal) of the video conference system of the present invention. In Fig. 7, a GOP (Group Of Picture) has a size of 30 pictures / second and is composed of I and P pictures. I and P pictures are composed of NAL units through the NAL layer and then divided into MTU sizes and encapsulated in RTP packets. I-picture data is divided into 40 to 50 RTP packets and transmitted. P-picture data is divided into 10 to 20 RTP packets. And transmitted. The number of RTP packets to be divided is variable according to the degree of motion of the image. Here, an average value is shown as an example.
<패킷손실복구(PLR) 인코딩 알고리즘><Packet loss recovery (PLR) encoding algorithm>
본 발명에서는 픽처 단위로 손실된 패킷을 복구하는 방법에 대해 기술한다. 하나의 I 또는 P 픽처가 NAL단위로 구성되어 하위계층으로 전달되면 (본 발명에서는 하위계층이 PLR 인코딩 계층이 된다.), PLR 인코딩 계층은 NAL단위의 크기를 MTU 크기와 비교하여 전송 포맷을 결정한다. 본 발명의 예시에서는 NAL단위의 크기가 MTU보다 크므로 NAL단위는 Fragmentation Unit 포맷으로 RTP 패킷에 분할되어 전송된다. In the present invention, a method of recovering a lost packet on a picture-by-picture basis will be described. When one I or P picture is configured as a NAL unit and transmitted to a lower layer (the lower layer is a PLR encoding layer in the present invention), the PLR encoding layer determines the transmission format by comparing the size of the NAL unit with the MTU size do. In the example of the present invention, since the size of the NAL unit is larger than the MTU, the NAL unit is divided into RTP packets in the Fragmentation Unit format and transmitted.
I 또는 P 픽처가 Fragmentation Unit 포맷으로 n개의 RTP 패킷에 분할 전송될 때, 첫번째 RTP 패킷은 시작(start) 패킷으로 픽처내에서 항상 홀수로 시작하고, 시작(start) 패킷을 포함하여 홀수(odd)에 해당하는 패킷들로 XOR()연산을 수행하여 XOR-ODD 패킷을 생성한다. 또한, 짝수(even)에 해당하는 패킷들로 XOR()연산을 수행하여 생성한 XOR-Even 패킷을 생성한다. When an I or P picture is divided into n RTP packets in Fragmentation Unit format, the first RTP packet starts at an odd number in the picture as a start packet, and includes an odd number including a start packet. Lt; RTI ID = 0.0 > XOR < / RTI & ) Operation to generate an XOR-ODD packet. In addition, the packets corresponding to the even (XOR) ) Operation to generate the generated XOR-Even packet.
<XOR-ODD 패킷의 생성><Generation of XOR-ODD Packet>
일 예로, 도 8과 같이 하나의 픽처 프레임은 8개의 RTP 패킷으로 분할되어 전송될 수 있고, 각각의 RTP 패킷은 홀수/짝수 구분을 위해 RTP S1~ RTP S8의 번호를 부여한다. 이 번호는 RTP 패킷의 시퀀스번호와는 별개다. 픽처내에서 홀수에 해당하는 S1, S3, S5, S7의 RTP 패킷의 payload 데이터만을 XOR 연산해서 XOR-ODD 패킷을 생성한다. 즉, XOR-ODD = RTP (S1 S3 S5 S7). XOR-ODD 패킷은 홀수번째 패킷을 복구하기 위하여 사용될 수 있다.For example, as shown in FIG. 8, one picture frame can be divided into eight RTP packets and transmitted, and each RTP packet numbers RTP S1 to RTP S8 for odd / even division. This number is independent of the sequence number of the RTP packet. XOR-ODD packets are generated by XORing only the payload data of the RTP packets of S1, S3, S5, S7 corresponding to odd numbers in the picture. That is, XOR-ODD = RTP (S1 S3 S5 S7). An XOR-ODD packet can be used to recover odd-numbered packets.
<XOR-EVEN 패킷의 생성><Generation of XOR-EVEN Packet>
도 8에서 픽처 내에서 짝수에 해당하는 S2, S4, S6, S8의 RTP 패킷의 payload 데이터만을 XOR 연산해서 XOR-EVEN 패킷을 생성한다. 즉, XOR-EVEN = RTP (S2 S4 S6 S8). XOR-EVEN 패킷은 짝번째 패킷을 복구하기 위하여 사용될 수 있다.8, an XOR-EVEN packet is generated by XORing only the payload data of the RTP packets of S2, S4, S6 and S8 corresponding to even numbers in the picture. That is, XOR-EVEN = RTP (S2 S4 S6 S8). The XOR-EVEN packet can be used to recover the even-numbered packet.
<XOR-SUB 패킷의 생성><Generation of XOR-SUB Packet>
하나의 픽처내에서 임의로 결정된 서브블록 크기(Sub-block size)(서브블록에 포함된 RTP 패킷 개수) 마다 XOR-SUB 패킷을 생성한다. RTP 패킷 개수를 서브블록 크기로 나누어 얻어지는 정수 개 만큼 XOR-SUB 패킷을 생성한다. 즉, XOR-SUB 패킷 개수 = 최소정수 (한 픽처내 RTP 패킷 개수 / 서브블록 크기). XOR-SUB 패킷들은 서브블록에 속한 홀수번째 또는 짝번째 패킷을 복구하기 위하여 사용될 수 있다.An XOR-SUB packet is generated for each sub-block size (the number of RTP packets included in a sub-block) arbitrarily determined in one picture. An XOR-SUB packet is generated by an integer number obtained by dividing the number of RTP packets by the sub-block size. That is, the number of XOR-SUB packets = minimum integer (number of RTP packets in one picture / size of sub-block). XOR-SUB packets can be used to recover odd-numbered or even-numbered packets belonging to a sub-block.
도 8과 도 9에서 픽처내 RTP 패킷 개수는 8이고, 서브블록 크기를 임의로 4로 정했을 때, 첫 번째 서브블록은 RTP S1~S4이 해당되고, 두 번째 서브블록은 RTP S5~S8이 해당된다. 첫 번째 서브블록에 해당하는 RTP 패킷들로 XOR 연산을 해서 XOR-SUB1 패킷을 생성한다. 즉, XOR-SUB1 = RTP ( S1 S2 S3 S4 ). 두 번째 서브블록에 해당하는 RTP 패킷들로 XOR 연산을 해서 XOR-SUB2 패킷을 생성한다. 즉, XOR-SUB2 = RTP ( S5 S6 S7 S8 ). 8 and 9, when the number of RTP packets in the picture is 8 and the size of the sub-block is arbitrarily set to 4, the first sub-block corresponds to RTP S1 to S4 and the second sub-block corresponds to RTP S5 to S8 . XOR operation is performed with RTP packets corresponding to the first sub-block to generate an XOR-SUB1 packet. That is, XOR-SUB1 = RTP (S1 S2 S3 S4). XOR operation is performed on the RTP packets corresponding to the second sub-block to generate the XOR-SUB2 packet. That is, XOR-SUB2 = RTP (S5 S6 S7 S8).
패킷 송신 순서는 RTP 패킷(RTP S1 ~ S8)의 시퀀스번호 순으로 RTP 패킷을 송신하고, 다음으로 서브블록 순서대로 생성된 XOR-SUB 패킷을 송신하고, 다음으로 XOR-ODD 패킷, XOR-EVEN 패킷을 송신한다. In the packet transmission order, the RTP packets are transmitted in the order of the sequence numbers of the RTP packets (RTP S1 to S8), the XOR-SUB packets generated in the order of the sub-blocks are transmitted, and then the XOR- .
<패킷손실복구를 위한 H.264/AVC RTP 패킷 포맷><H.264 / AVC RTP packet format for packet loss recovery>
<FU-A 포맷><FU-A format>
도 10은 본 발명에서 RTP payload의 FU-A 포맷을 설명하기 위한 도면이다. 도 8, 도 9에 사용된 RTP 패킷 S1~S8은 단일 NAL단위의 데이터를 분할해서 생성한다. RTP payload의 선두에는 도 10과 같이 NAL단위의 헤더와 동일한 구문을 가지는 FU indicator(식별자)와 FU header가 있다. 일 예에서는 디코딩 순서를 지정할 수 없는 모드인 FU-A 모드를 사용한다. RTP 헤더의 타임스탬프(timestamp)에는 NAL단위의 샘플링 시각을 사용하고, 하나의 픽처 내에서는 동일한 타임스탬프를 사용한다. 10 is a diagram for explaining the FU-A format of the RTP payload in the present invention. The RTP packets S1 to S8 used in FIGS. 8 and 9 are generated by dividing data of a single NAL unit. At the head of the RTP payload, there are an FU indicator (identifier) and an FU header having the same syntax as the NAL unit header as shown in FIG. In one example, the FU-A mode, which is a mode in which decoding order can not be specified, is used. The RTP header uses the sampling time in NAL units for the timestamp, and uses the same timestamp in one picture.
도 10에서, FU indicator는 F, NRI, Type으로 구성되고, NRI는 참조영상이 P 픽처인 경우 2진수 "10"으로, I 픽처인 경우 "11"로 설정한다. Type은 FU-A 포맷인 경우 "11100" (28)로 설정한다. In FIG. 10, the FU indicator is composed of F, NRI, and Type, and the NRI is set to binary "10" when the reference picture is a P picture and "11" when it is an I picture. Type is set to "11100" (28) for the FU-A format.
FU header는 S, E, R, Type으로 구성되고, S는 픽처의 처음 RTP 패킷에만 설정되고, E는 픽처의 마지막 RTP 패킷에만 설정된다. 픽처의 나머지 RTP 패킷에 대해서는 S와 E가 설정되지 않는다. Type은 참조영상을 나타내는데, P 픽처인 경우 "00001" (1)로, I 픽처인 경우 "00101" (5)로 설정한다. The FU header consists of S, E, R, and Type, S is set only in the first RTP packet of the picture, and E is set only in the last RTP packet of the picture. S and E are not set for the remaining RTP packets of the picture. Type indicates a reference picture. It is set to "00001" (1) for a P-picture and "00101" (5) for an I-picture.
<STAP-A> 포맷<STAP-A> format
STAP-A 포맷의 RTP 패킷은 참조영상이 I 픽처 전에 한 번 발생하는데, STAP-A 포맷의 RTP 패킷을 복구하기 위해 동일한 패킷을 2번 반복해서 생성한다. 즉, 3개의 동일한 STAP-A 포맷의 RTP 패킷이 생성된다. 통상 STAP-A 패킷은 FU-A 포맷의 중간 RTP 패킷의 크기보다 상당히 작으므로 반복된 발생이 차지하는 대역폭은 미미하다. 수신단에서는 STAP-A 패킷을 수신한 후 중복된 시퀀스번호의 STAP-A 패킷은 폐기한다.The RTP packet of the STAP-A format is generated once before the I picture, and the same packet is repeated twice to recover the STAP-A format RTP packet. That is, three RTP packets of the same STAP-A format are generated. Since the STAP-A packet is usually much smaller than the size of the intermediate RTP packet in the FU-A format, the bandwidth occupied by the repeated occurrence is insignificant. After receiving the STAP-A packet, the receiver discards the STAP-A packet with the duplicated sequence number.
<패킷손실복구(PLR) 패킷 포맷><Packet loss recovery (PLR) packet format>
도 11은 본 발명에서 RTP payload의 PLR(Packet Loss Recovery) 포맷을 설명하기 위한 도면이다. 도 11에는 패킷손실복구를 위해 사용되는 PLR 패킷, 즉, XOR-ODD, XOR-EVEN, XOR-SUB 패킷의 RTP payload 포맷(Video PLR Header, Video PLR payload)이 제시된다. RTP 헤더의 시퀀스번호는 이전 영상 RTP 패킷의 시퀀스번호를 순차적으로 증가시켜 입력하고, 타임스탬프는 동일 픽처내에서 동일한 값을 할당한다. FIG. 11 is a diagram for explaining a PLR (Packet Loss Recovery) format of an RTP payload in the present invention. 11 shows an RTP payload format (Video PLR Header, Video PLR payload) of PLR packets used for packet loss recovery, that is, XOR-ODD, XOR-EVEN and XOR-SUB packets. The sequence number of the RTP header sequentially increases the sequence number of the previous video RTP packet, and the time stamp assigns the same value in the same picture.
Video PLR Header의 plr_indicator는 복구 패킷 즉, PLR 패킷임을 나타내기 위한 필드로서, Reserved(예비) 4비트, RTP 패킷의 payload_type (2비트) 필드와 redundant_type (2비트) 필드로 구성된다. payload_type은 영상의 화면을 구분하는 것으로 QCIF 화면이면 2진수 "00"으로, HD 화면이면 "01"로 설정한다. redundant_type 필드는 PLR 패킷을 구분하기 위한 것으로 XOR-ODD 패킷은 2진수 "00", XOR-EVEN 패킷은 "01", XOR-SUB 패킷은 "10"으로 설정한다. The PLR_indicator in the Video PLR Header is a field for indicating that the packet is a recovery packet, that is, a PLR packet. The PLR_indicator is composed of 4 reserved bits, a payload_type (2 bits) field and a redundant_type (2 bits) field of the RTP packet. payload_type is a binary image of "00" for a QCIF screen and "01" for an HD screen. The redundant_type field is used to identify the PLR packet. The XOR-ODD packet is set to "00", the XOR-EVEN packet is set to "01", and the XOR-SUB packet is set to "10".
num_of_packet 필드(1바이트)는 동일한 픽처 내에 포함된 RTP 패킷 수를 의미한다. 이때, 패킷손실복구를 위한 XOR-ODD, XOR-EVEN, XOR-SUB 패킷은 제외된다. The num_of_packet field (1 byte) indicates the number of RTP packets included in the same picture. In this case, XOR-ODD, XOR-EVEN, and XOR-SUB packets for packet loss recovery are excluded.
mark_size 필드(11 비트)의 상위 11비트는 동일 픽처의 마지막 RTP 패킷의 크기를 의미한다. 즉, FU header필드의 E(End)필드 값이 설정된 패킷의 크기를 의미한다. mark_size 필드의 하위 5비트는 동일한 I 또는 P 픽처내에서 XOR-SUB 패킷의 번호를 의미한다. 예를 들면, 도 9에서 XOR-SUB1 패킷의 mark_size[4:0]는 1로 설정되고, XOR-SUB2 패킷의 mark_size[4:0]는 2로 설정된다. The upper 11 bits of the mark_size field (11 bits) indicate the size of the last RTP packet of the same picture. That is, the value of the E (End) field of the FU header field indicates the size of the set packet. The lower 5 bits of the mark_size field indicate the number of the XOR-SUB packet within the same I or P picture. For example, the mark_size [4: 0] of the XOR-SUB1 packet is set to 1 and the mark_size [4: 0] of the XOR-SUB2 packet is set to 2 in FIG.
<패킷손실복구(PLR) 디코딩 알고리즘>≪ Packet loss recovery (PLR) decoding algorithm >
<패킷손실 체크><Packet loss check>
수신 단말에서, RTP 헤더의 payload type이 121인 HD 영상 패킷을 수신했을 때, 현재 수신한 RTP 패킷의 시퀀스번호(sequence number)와 직전 수신한 RTP 패킷의 시퀀스번호 차이를 계산해서 패킷손실 여부를 결정한다. 송신단말에서, RTP 패킷은 발생되는 순서대로 순차적인 RTP 시퀀스번호를 설정하므로, 패킷 손실이 없다면, 현재 수신한 RTP 패킷의 시퀀스번호와 직전 RTP 패킷의 시퀀스번호 차이는 1이어야 한다. 2 이상이면 패킷 손실이 발생한 것으로 판단한다. When a receiving terminal receives an HD video packet having a payload type of 121 in the RTP header, it calculates the difference between the sequence number of the currently received RTP packet and the sequence number of the immediately received RTP packet to determine whether or not the packet has been lost. do. In the transmitting terminal, the RTP packet sets a sequential RTP sequence number in the order in which the RTP packets are generated. Therefore, if there is no packet loss, the difference between the sequence number of the currently received RTP packet and the sequence number of the immediately preceding RTP packet should be 1. 2 or more, it is determined that a packet loss has occurred.
도 12을 예로 패킷 손실 체크 과정을 기술한다. The packet loss checking process will be described with reference to FIG. 12 as an example.
도 12는 본 발명에서 패킷 손실 체크 과정을 설명하기 위한 도면이다.12 is a diagram for explaining a packet loss check process according to the present invention.
먼저, 수신 단말은 손실된 패킷 개수를 의미하는 손실된 패킷 카운트를 수행한다(S10). 패킷손실 카운트가 0이 아니면(S20), 손실된 패킷의 시퀀스번호를 저장하고(S30), 한 개의 픽처내 손실된 패킷 개수 카운트를 1 증가시킨다(S40). 손실된 패킷의 시퀀스번호는 현재 수신한 RTP 패킷의 시퀀스번호에서 패킷손실 카운트를 뺀 값으로 결정한다(S50). 그리고, 손실된 패킷의 시퀀스번호가 홀수(odd)번째에 해당하면 odd_loss_count를 1증가 시키고(S60), 짝수(even)번째에 해당하면 even_loss_count를 1 증가 시킨다(S70). 이후 패킷손실 카운트를 1 감소시킨 후, 패킷손실 카운트가 0이 아니면 과정을 다시 반복하고, 0이면 종료한다(S80). First, the receiving terminal performs a lost packet count indicating the number of lost packets (S10). If the packet loss count is not 0 (S20), the sequence number of the lost packet is stored (S30), and the count of lost packets in one picture is incremented by one (S40). The sequence number of the lost packet is determined by subtracting the packet loss count from the sequence number of the currently received RTP packet (S50). If the sequence number of the lost packet corresponds to the odd number, odd_loss_count is incremented by 1 (S60), and if it corresponds to the even number, the even_loss_count is incremented by one (S70). After the packet loss count is decreased by 1, if the packet loss count is not 0, the process is repeated again. If the packet loss count is 0, the process is terminated (S80).
<PLR 헤더 분석 - PLR Header Parsing : XOR-SUB, XOR-ODD, XOR-EVEN 패킷><PLR Header Analysis - PLR Header Parsing: XOR-SUB, XOR-ODD, XOR-EVEN Packet>
도 13은 본 발명에서 PLR 헤더 분석 시 XOR-SUB 패킷을 설명하기 위한 도면이다.13 is a diagram for explaining an XOR-SUB packet in the PLR header analysis according to the present invention.
먼저, 수신 단말에서 영상 RTP 패킷을 수신했을 때, RTP payload의 첫번째 바이트 정보를 이용하여 패킷손실복구 용도의 XOR-SUB, XOR-ODD, XOR-EVEN 패킷 여부를 결정한다. 도 11에 따라 RTP payload의 첫번째 바이트 중 상위 4비트가 16진수 "0xF"이면 PLR 용도의 패킷으로 판단한다. 그 다음 2비트는 payload_type 필드로 HD 픽처의 경우 2진수 "01"이다. 본 발명에서는 Full-HD 영상의 패킷손실복구 방법에 관해 기술하므로, 이후 언급되는 RTP 패킷의 payload_type은 HD인것으로 간주한다. 그 다음 redundant_type 필드 2비트를 확인하여 2진수 "00"이면 XOR-ODD 패킷으로, "01"이면 XOR-EVEN으로, "10"이면 XOR-SUB로 결정한다. First, when the receiving terminal receives the video RTP packet, it determines whether to use XOR-SUB, XOR-ODD, or XOR-EVEN packets for packet loss recovery using the first byte information of the RTP payload. According to FIG. 11, if the upper 4 bits of the first byte of the RTP payload are in the hexadecimal number " 0xF ", it is determined that the packet is a PLR purpose packet. The next two bits are the payload_type field and the binary number "01" for HD pictures. Since the present invention describes a packet loss recovery method of a full-HD image, the payload_type of an RTP packet to be described later is regarded as HD. Next, the redundant_type field is checked to determine 2 bits, and if it is a binary number "00", it is determined to be an XOR-ODD packet, "01" to XOR-EVEN and "10" to XOR-SUB.
예를 들어, XOR-SUB 패킷을 수신했을 때, 도 11의 PLR 헤더 중, mark_size[4:0] 비트를 이용하여, 현재 수신한 XOR-SUB 패킷의 서브블록내 시퀀스번호(sub_xor_count)를 결정한다(S110). XOR-SUB 패킷의 서브블록 시퀀스번호는 End 패킷 (FU header의 E 필드 값이 1로 설정된 패킷) 이후에 1부터 시작해서 1씩 순차적으로 증가한다. 그리고, 서브 블록의 크기(SUB_BLOCK_SIZE)는 송신단말의 PLR 인코더와 수신단말의 디코더가 동일한 값을 사용하고, 임의로 할당되어 이미 알고 있는 값이다. 또한 시작 패킷의 시퀀스번호는 PLR 헤더 분석 전에 입력되는 값이다. For example, when receiving the XOR-SUB packet, the sequence number (sub_xor_count) in the subblock of the currently received XOR-SUB packet is determined using the mark_size [4: 0] bits in the PLR header of FIG. 11 (S110). The sub-block sequence number of the XOR-SUB packet sequentially increases from 1 to 1 after the End packet (the packet in which the E field value of the FU header is set to 1). The size (SUB_BLOCK_SIZE) of the subblock is a value that is known and known by using the PLR encoder of the transmitting terminal and the decoder of the receiving terminal. In addition, the sequence number of the start packet is a value inputted before analyzing the PLR header.
XOR-SUB 패킷을 수신한 후, 도 12의 패킷 손실 체크 과정을 수행한다(S10~S80). After receiving the XOR-SUB packet, the packet loss checking process of FIG. 12 is performed (S10 to S80).
이 후 과정은 도 13을 예로 설명한다.The subsequent process is illustrated by way of example in FIG.
수신 단말에서 패킷 손실 체크 과정(S10~S80)을 수행한 후, 한 개의 픽처내 손실된 패킷 개수 카운트가 1 이상이면 패킷 손실이 발생한 것으로 판단하고 다음 과정을 수행한다(S120). 이 후, 현재 수신한 XOR-SUB 패킷이 어느 하나의 픽처 내에서 어느 서브 블록에 해당하는지를 결정한다(S130, S140). 즉, 다음과 같이sub_loop_start와 sub_loop_end를 결정한다. After performing the packet loss checking procedure (S10 to S80) at the receiving terminal, if the number of lost packets in one picture is equal to or greater than 1, it is determined that a packet loss has occurred and the next step is performed (S120). Thereafter, it is determined which sub-block in which picture the currently received XOR-SUB packet corresponds to (S130, S140). That is, sub_loop_start and sub_loop_end are determined as follows.
sub_loop_start = 시작 패킷의 시퀀스번호 + {(이전 패킷 sub_xor_count-1)* SUB_BLOCK_SIZE}sub_loop_start = sequence number of the start packet + {(previous packet sub_xor_count-1) * SUB_BLOCK_SIZE}
sub_loop_end = 시작 패킷의 시퀀스번호 + {(현재 패킷 sub_xor_count-1)* SUB_BLOCK_SIZE}sub_loop_end = sequence number of the start packet + {(current packet sub_xor_count-1) * SUB_BLOCK_SIZE}
그 후 패킷 손실 체크 과정(S10~S80)의 결과를 참조하여, sub_loop_start와 sub_loop_end에 의해 경계되어지는 서브 블록 내에서 손실된 패킷이 몇개인지 결정한다(S150). 손실 개수 결정은, 도 12에서 저장한 손실된 시퀀스번호가 서브 블록에 해당하면, sub_xor_loss_count를 1씩 증가시킨다. 이 후, sub_xor_loss_count 값이 1이면(S160), 해당 서브블록 내에서 1개의 패킷 손실이 발생한것으로 판단하고, 현재 수신한 XOR-SUB 패킷을 이용하여 손실된 패킷 복구 과정을 수행하고(S180) 손실된 패킷 개수(lost_seq)를 0으로 설정하며(S190), sub_xor_loss_count 값이 2 이상이면, XOR-SUB 패킷으로 복구 못하고, 에러를 보고한다(S170). Thereafter, referring to the result of the packet loss checking process (S10 to S80), it is determined at step S150 how many packets are lost in subblocks bounded by sub_loop_start and sub_loop_end. In the loss count determination, if the lost sequence number stored in FIG. 12 corresponds to a sub-block, sub_xor_loss_count is incremented by one. Subsequently, if the value of sub_xor_loss_count is 1 (S160), it is determined that one packet loss has occurred in the corresponding sub-block, a lost packet recovery process is performed using the currently received XOR-SUB packet (S180) If the value of sub_xor_loss_count is 2 or more, it can not be recovered as an XOR-SUB packet and an error is reported (S170).
< XOR-SUB 패킷을 이용한 손실 패킷 복구: plr_video_dec_sub_xor_recover><Lost Packet Recovery Using XOR-SUB Packet: plr_video_dec_sub_xor_recover>
도 13의 S180 단계에서, XOR-SUB 패킷을 이용하여 손실된 패킷을 복구하는 방법은, 도 9를 예로 설명한다. XOR-SUB1 패킷은 첫 번째 서브블록에 해당하는 RTP 패킷들의 payload 데이터를 XOR 연산을 해서 생성된다. 즉, XOR-SUB1 = RTP (S1 S2 S3 S4) 이다. In step S180 of FIG. 13, a method of recovering a lost packet using an XOR-SUB packet will be described with reference to FIG. 9 as an example. The XOR-SUB1 packet is generated by XORing the payload data of the RTP packets corresponding to the first sub-block. That is, XOR-SUB1 = RTP (S1 S2 S3 S4).
다만, 서블 블록내에서 1개의 패킷이 손실되고, 손실된 패킷이 RTP S1이라면, 수신 단말은 RTP(S2, S3, S4) 그리고 XOR-SUB1 패킷을 수신했을 것이다. 이 때, XOR-SUB1 패킷과 나머지 수신 패킷들을 XOR 연산하면, 손실된 RTP S1 패킷을 복원할 수 있다. 즉, RTP(S1) = RTP (S2 S3 S4 ) XOR-SUB1.However, if one packet is lost in the serving block and the lost packet is RTP S1, the receiving terminal will have received RTP (S2, S3, S4) and XOR-SUB1 packets. At this time, by XORing the XOR-SUB1 packet and the remaining received packets, the lost RTP S1 packet can be restored. That is, RTP (S1) = RTP (S2 S3 S4) XOR-SUB1.
다음으로, XOR-ODD 패킷을 수신했을 때, 도 12의 패킷 손실 체크 과정을 통해 odd_loss_count 값을 결정한 후, odd_loss_count가 1이면 손실된 패킷을 복구하고, 그렇지 않으면 복구 불가를 선언한다. XOR-ODD 패킷을 이용한 패킷손실 복구 과정은, 도 8을 이용하여 설명한다. 송신단말에서 XOR-ODD 패킷은 RTP (S1, S3, S5, S7)을 XOR 연산해서 생성한다. 즉, XOR-ODD = RTP (S1 S3 S5 S7). 이 때, 수신 단말에서, RTP S1 패킷이 손실되고, 나머지 RTP(S3, S5, S7) 그리고 XOR-ODD 패킷을 수신했다면, RTP S1 = RTP (S3 S5 S7) XOR-ODD 연산을 통해 RTP S1 패킷을 복원할 수 있다. Next, upon receiving the XOR-ODD packet, the value of odd_loss_count is determined through the packet loss check process of FIG. 12, and if the odd_loss_count is 1, the lost packet is recovered. The packet loss recovery process using the XOR-ODD packet will be described with reference to FIG. In the transmitting terminal, the XOR-ODD packet is generated by XORing RTP (S1, S3, S5, S7). That is, XOR-ODD = RTP (S1 S3 S5 S7). At this time, if the RTP S1 packet is lost and the remaining RTP (S3, S5, S7) and XOR-ODD packet are received, RTP S1 = RTP (S3 S5 S7) The RTP S1 packet can be restored through the XOR-ODD operation.
또한, XOR-EVEN 패킷을 수신했을 때, 도 12의 패킷 손실 체크 과정을 통해 even_loss_count 값을 결정한 후, even_loss_count가 1이면 손실된 패킷을 복구하고, 그렇지 않으면 복구 불가를 선언한다. XOR-EVEN 패킷을 이용한 패킷손실 복구 과정은, 도 8을 이용하여 설명한다. 송신단말에서 XOR-EVEN 패킷은 RTP (S2, S4, S6, S8)을 XOR 연산해서 생성한다. 즉, XOR-EVEN = RTP (S2 S4 S6 S8). 이 때, 수신 단말에서, RTP S2 패킷이 손실되고, 나머지 RTP (S4, S6, S8) 그리고 XOR-EVEN 패킷을 수신했다면, RTP S2 = RTP (S4 S6 S8) XOR-EVEN 연산을 통해 RTP S2 패킷을 복원할 수 있다. In addition, upon receiving the XOR-EVEN packet, the even_loss_count value is determined through the packet loss checking process of FIG. 12, and if the even_loss_count is 1, the lost packet is recovered. The packet loss recovery process using the XOR-EVEN packet will be described with reference to FIG. In the transmitting terminal, the XOR-EVEN packet is generated by XORing RTP (S2, S4, S6, S8). That is, XOR-EVEN = RTP (S2 S4 S6 S8). At this time, if the receiving terminal has lost the RTP S2 packet and has received the remaining RTP (S4, S6, S8) and XOR-EVEN packet, RTP S2 = RTP (S4 S6 S8) The RTP S2 packet can be restored through the XOR-EVEN operation.
<에너지 효율적인 비디오 패킷손실복구 알고리즘 (X-EO + RQ 알고리즘)><Energy efficient video packet loss recovery algorithm (X-EO + RQ algorithm)>
도 14는 본 발명에서 에너지 효율적인 비디오 패킷손실 복구 알고리즘 구조를 설명하기 위한 도면이다. 즉, 본 발명의 일실시예에 따른 효율적인 비디오 패킷손실복구 알고리즘(X-EO+RQ)을 수행하는 영상회의 시스템의 데이터 송수신 장치(또는 송신 단말, 수신단말)는, 도 14와 같은 구조로 이루어질 수 있다. 영상회의 시스템을 위하여 하나의 시스템에 데이터 송수신 장치가 모두 구비되어 데이터 송수신에 각각 이용될 수 있다. 14 is a diagram for explaining an energy efficient video packet loss recovery algorithm structure in the present invention. That is, the data transmitting / receiving apparatus (or transmitting terminal, receiving terminal) of the video conference system performing the efficient video packet loss recovery algorithm (X-EO + RQ) according to an embodiment of the present invention has a structure as shown in FIG. 14 . The data transmission / reception apparatuses are all provided in one system for the video conference system and can be used for data transmission and reception, respectively.
도 14를 참조하면, 본 발명의 영상회의 시스템의 데이터 송신 장치(또는 송신 단말)은, 카메라(10), 비디오 인코더(110), 심볼화기(symbolizer)(111), X-EO 인코더(112), RQ 인코더(113), RTP 모듈(114)를 포함한다. 또한, 본 발명의 영상회의 시스템의 데이터 수신 장치(또는 수신 단말)은, RTP 모듈(120), X-EO 디코더(121), RQ 디코더(122), 역심볼화기(123), 비디오 디코더(124), 및 TV/모니터 등 디스플레이 장치(20)를 포함한다. 14, the data transmitting apparatus (or transmitting terminal) of the video conference system of the present invention includes a
여기서, 송수신 장치(또는 송신 단말, 수신단말)는, 데스크탑 PC 기타 통신 전용 단말기 등 유선 단말을 포함하며, 이외에도 통신 환경에 따라 스마트폰, 음성/영상 전화 통화가능한 웨어러블 디바이스, 테블릿 PC, 노트북 PC 등 무선 단말을 포함할 수 있다. 또한, 송수신 장치(또는 송신 단말, 수신단말)는, 일반 공중 인터넷망(유무선 인터넷, WiFi, WiBro 등)이나 WCDMA, LTE 등 이동통신망 등 유무선 네트워크를 통해 서로 연동할 수 있다. Here, the transmitting / receiving device (or transmitting terminal, receiving terminal) includes a wired terminal such as a desktop PC or other communication dedicated terminal, and may be a smart phone, a wearable device capable of voice / And the like. Also, the transmitting / receiving device (or transmitting terminal, receiving terminal) can interoperate with each other through a wired / wireless network such as a general public Internet network (wired / wireless Internet, WiFi, WiBro, etc.) or a mobile communication network such as WCDMA and LTE.
본 발명에서는 하기하는 바와 같이 XOR-ODD, XOR-EVEN 패킷을 이용해 패킷 손실을 복구하기 위하여, PLR 인코더로서 X-EO 인코더(112), PLR 디코더로서 X-EO 디코더(121)를 추가한 구조를 예시하여 설명하며, 도 13에서 설명한 바와 같이 XOR-SUB 패킷을 패킷 손실 복구에 더 이용할 수 있다.In the present invention, an
예를 들어, 데이터 송신 장치(또는 송신 단말)에서, 비디오 인코더(110)는 카메라(10)로부터 영상을 입력 받아 I, P, B 타입의 압축된 비디오 프레임을 생성한다. 심볼화기(111)는 비디오 프레임(I, P, B)으로부터 K개의 소스 심볼(또는 패킷)(S1, S2, S3,..SK)로 구성된 소스블록을 생성한다. For example, in the data transmitting apparatus (or transmitting terminal), the
X-EO 인코더(112)는 K개의 소스 심볼로부터 Odd 심볼에 해당하는 심볼들을 XOR 연산을 수행한 XOR-ODD(XO) 복구 심볼을 생성하고, Even 심볼에 해당하는 심볼들을 XOR 연산을 수행한 XOR-EVEN(XE) 복구 심볼을 생성하여, 소스 심볼(S1, S2, S3,..SK)에 이후에 추가로 전송한다. X-EO 인코더(112)는 조직적인(systematic) 부호화기로써, K개의 소스 심볼(S1, S2, S3,..SK)을 변형 없이 RTP 모듈(114)을 통해 UDP(User Datagram Protocol)/IP(Internet Protocol) 패킷 형태로 전송하고, XO, XE 복구 심볼을 추가로 RTP 모듈(114)을 통해 전송할 수 있다. The
RQ 인코더(113) 또한 조직적인 부호화기로써, K개의 소스 심볼(S1, S2, S3,..SK)로부터 무한히 많은 복구 심볼(Repair symbols) R1, R2,..을 생성할 수 있다. 하지만, 통신 채널의 상태가 본 발명의 X-EO 알고리즘(코드)을 이용하여 원본 소스 심볼을 복구할 수 있으면, 복구 심볼의 생성 및 발생 개수를 적절히 제한할 수 있다. RQ 인코더(113)에서 RQ 인코딩에 의한 복구 심볼은 XO, XE 심볼 이후에 RTP 모듈(114)을 통해 추가로 전송될 수 있다. The
데이터 수신 장치(또는 수신 단말)에서, X-EO 디코더(121)는 RTP 모듈(120)을 통해 XO, XE 패킷을 수신한 후에, 소스 심볼을 복원할 수 있는지 점검한다. X-EO 디코더(121)에서 X-EO 알고리즘(도 13 참조)에 의해 소스 심볼을 복원할 수 있으면, RQ 디코더(122)에 의한 RQ 디코딩 과정을 생략하고, X-EO 디코더(121)에서 복원한 소스 심볼을 역심볼화기(123)로 보내 비디오 프레임을 생성하고 비디오 디코더(124)를 통해 압축해제를 수행해 영상을 재생한다. X-EO 알고리즘에 의해 소스 심볼 복원에 실패한 경우에 한해, RQ 디코딩 과정을 수행하고, 추가의 복구 심볼 R1, R2,..을 수신하여 반복적인 RQ 디코딩을 통해 원본 소스 심볼을 복원한다. In the data receiving apparatus (or receiving terminal), the
이와 같이 X-EO 알고리즘은 RQ 디코딩에서 필요로 하는 생성행렬의 역행렬을 구하는 과정을 필요로 하지 않기 때문에, 빠른 소스 심볼 복원이 가능하고, 이로 인해 에너지를 절약할 수 있다. 본 발명의 구조에 의하면, X-EO 알고리즘에 의해 소스 심볼이 복원 가능한 패킷손실 범위내에서는 RQ 디코딩을 수행하지 않으므로, 소스 심볼 복원을 빠른 시간 내에 수행할 수 있고, 이로 인해 수신 단말에서 소모되는 에너지를 절약할 수 있다. Since the X-EO algorithm does not require a process of obtaining an inverse matrix of a generator matrix required for RQ decoding, fast source symbol restoration is possible and energy can be saved. According to the structure of the present invention, since the RQ decoding is not performed within the packet loss range in which the source symbol can be recovered by the X-EO algorithm, the source symbol recovery can be performed in a short period of time, . ≪ / RTI >
도 15는 본 발명의 일 실시예에 따른 영상회의 시스템(100)의 구현 방법의 일례를 설명하기 위한 도면이다. 본 발명의 일 실시예에 따른 영상회의 시스템(100)의 데이터 송수신 장치(또는 송신 단말, 수신단말)는 하드웨어, 소프트웨어, 또는 이들의 결합으로 이루어질 수 있다. 예를 들어, 영상회의 시스템(100)의 데이터 송수신 장치(또는 송신 단말, 수신단말)는 도 15와 같은 컴퓨팅 시스템(1000)으로 구현될 수 있다. FIG. 15 is a diagram for explaining an example of a method of implementing the video conference system 100 according to an embodiment of the present invention. The data transmission / reception device (or transmitting terminal, receiving terminal) of the video conference system 100 according to an embodiment of the present invention may be implemented by hardware, software, or a combination thereof. For example, the data transmission / reception device (or transmitting terminal, receiving terminal) of the video conference system 100 may be implemented in the
컴퓨팅 시스템(1000)은 버스(1200)를 통해 연결되는 적어도 하나의 프로세서(1100), 메모리(1300), 사용자 인터페이스 입력 장치(1400), 사용자 인터페이스 출력 장치(1500), 스토리지(1600), 및 네트워크 인터페이스(1700)를 포함할 수 있다. 프로세서(1100)는 중앙 처리 장치(CPU) 또는 메모리(1300) 및/또는 스토리지(1600)에 저장된 명령어들에 대한 처리를 실행하는 반도체 장치일 수 있다. 메모리(1300) 및 스토리지(1600)는 다양한 종류의 휘발성 또는 불휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(1300)는 ROM(Read Only Memory)(1310) 및 RAM(Random Access Memory)(1320)을 포함할 수 있다. The
따라서, 본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서(1100)에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리(1300) 및/또는 스토리지(1600))에 상주할 수도 있다. 예시적인 저장 매체는 프로세서(1100)에 커플링되며, 그 프로세서(1100)는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서(1100)와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.Thus, the steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by
상술한 바와 같이, 본 발명에 따른 영상회의 시스템(100)에서의 데이터 송수신 장치는, 영상회의를 위한 전용망이 아닌 일반 공중 인터넷망이나 모바일 환경에서 발생할 수 있는 수준의 패킷손실율에서도 손실된 패킷을 복원할 수 있는 방법을 제공하므로, 영상회의 시스템 구축을 위해 별도의 전용망을 구축하지 않아도 되는 장점이 있다. 또한, 손실된 패킷을 복구하기 위한 별도의 패킷 재전송 과정이 없으므로, 실시간으로 짧은 시간에 패킷 손실의 복구가 가능하도록 하여 양방향 영상회의 서비스 품질을 일정하게 유지할 수 있다. 그리고, 에너지 소비가 많이 요구되는 패킷 손실 디코딩 과정을 회피함으로써, 같은 통화 품질 대비 에너지 소비를 줄일 수 있다. As described above, the data transmitting / receiving apparatus in the video conference system 100 according to the present invention can restore lost packets even at a packet loss rate that can occur in a general public Internet network or a mobile environment, It is advantageous in that it is not necessary to construct a dedicated network for building a video conference system. In addition, since there is no separate packet retransmission process for recovering a lost packet, it is possible to recover packet loss in a short time in real time, thereby maintaining the service quality of the bidirectional video conference at a constant level. Moreover, by avoiding the packet loss decoding process which requires a large amount of energy consumption, it is possible to reduce energy consumption over the same call quality.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention.
따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.
카메라(10)
비디오 인코더(110)
심볼화기(symbolizer)(111)
X-EO 인코더(112)
RQ 인코더(113)
RTP 모듈(114)
RTP 모듈(120)
X-EO 디코더(121)
RQ 디코더(122)
역심볼화기(123)
비디오 디코더(124)
디스플레이 장치(20)The camera (10)
The
A symbolizer (111)
The
The
The inverse symbolizer (123)
In the
Claims (7)
송신장치에서 복수의 RTP(Real-time Transport Protocol) 패킷들과 복수의 복구 패킷들을 순차 전송하는 단계; 및 수신장치에서 상기 복수의 RTP 패킷들과 상기 복수의 복구 패킷들을 순차 수신하는 단계를 포함하고,
상기 수신하는 단계는, 상기 복수의 RTP 패킷들 중 손실된 패킷의 존재 여부를 체크하는 단계; 및 하나의 손실된 해당 패킷에 대하여 상기 복수의 복구 패킷들을 이용하여 복구하는 단계를 포함하며,
상기 복수의 복구 패킷들은, 하나의 픽처 프레임을 구성하는 상기 복수의 RTP 패킷들을 선택적으로 XOR 연산하여 생성되고,
상기 복수의 복구 패킷들은, 상기 복수의 RTP 패킷들을 소정의 서브블록들로 나누어 서브블록 마다 XOR 연산한 XOR-SUB 패킷들을 더 포함하는 것을 특징으로 하는 데이터 송수신 방법.A method for transmitting and receiving data in a video conference system,
Sequentially transmitting a plurality of Real-time Transport Protocol (RTP) packets and a plurality of recovery packets in a transmitting apparatus; And sequentially receiving the plurality of RTP packets and the plurality of recovery packets at a receiving apparatus,
Wherein the receiving comprises: checking whether there is a lost packet among the plurality of RTP packets; And recovering the lost packet using the plurality of recovery packets,
Wherein the plurality of recovery packets are generated by selectively XORing the plurality of RTP packets constituting one picture frame,
Wherein the plurality of recovery packets further include XOR-SUB packets obtained by dividing the plurality of RTP packets into predetermined subblocks and XORing each subblock.
상기 복수의 복구 패킷들은, 상기 복수의 RTP 패킷들 중 홀수번째 패킷을 복구하기 위하여 상기 복수의 RTP 패킷들 중 홀수 패킷들을 XOR 연산한 XOR-ODD 패킷, 및 상기 복수의 RTP 패킷들 중 짝수번째 패킷을 복구하기 위하여 상기 복수의 RTP 패킷들 중 짝수 패킷들을 XOR 연산한 XOR-EVEN 패킷을 포함하는 데이터 송수신 방법.The method according to claim 1,
Wherein the plurality of recovery packets include an XOR-ODD packet in which odd-numbered packets among the plurality of RTP packets are XORed to recover an odd-numbered packet among the plurality of RTP packets, and an even- And an XOR-EVEN packet obtained by performing an XOR operation on even-numbered packets among the plurality of RTP packets in order to recover the ROT packets.
상기 XOR-SUB 패킷들은 해당 서브블록에 속한 홀수번째 또는 짝수번째 패킷을 복구하기 위하여 사용되는 데이터 송수신 방법. The method according to claim 1,
Wherein the XOR-SUB packets are used to recover odd-numbered or even-numbered packets belonging to the sub-block.
상기 서브블록 마다 XOR 연산한 XOR-SUB 패킷들의 개수는 상기 복수의 RTP 패킷들을 상기 서브블록의 크기로 나눈 정수값으로 정해지는 데이터 송수신 방법.The method of claim 3,
Wherein the number of XOR-SUB packets XOR-computed for each of the subblocks is an integer value obtained by dividing the plurality of RTP packets by the size of the subblock.
상기 복수의 복구 패킷들의 각 헤더는, 복구 패킷임을 나타내기 위한 plr_indicator 필드, 동일한 픽처 프레임 내에 포함된 RTP 패킷 수를 나타내는 num_of_packet 필드, 및 동일 픽처 프레임의 마지막 RTP 패킷의 크기와 XOR-SUB 패킷의 번호를 나타내는 mark_size 필드를 포함하는 데이터 송수신 방법.The method according to claim 1,
Each header of the plurality of recovery packets includes a plr_indicator field indicating that the packet is a recovery packet, a num_of_packet field indicating the number of RTP packets included in the same picture frame, and a size of the last RTP packet of the same picture frame and the number of the XOR- And a mark_size field indicating a mark_size field.
상기 plr_indicator 필드는, Reserved 필드, 영상의 화면을 QCIF 또는 HD로 구분하기 위한 payload_type 필드, 및 XOR-ODD, XOR-EVEN, XOR-SUB 패킷의 구분을 위한 redundant_type 필드를 포함하는 데이터 송수신 방법.The method of claim 5,
Wherein the plr_indicator field includes a Reserved field, a payload_type field for delimiting a screen of an image by QCIF or HD, and a redundant_type field for distinguishing between XOR-ODD, XOR-EVEN, and XOR-SUB packets.
복수의 RTP(Real-time Transport Protocol) 패킷들과 복수의 복구 패킷들을 순차 전송하는 인코더를 포함하는 송신장치; 및 상기 복수의 RTP 패킷들과 상기 복수의 복구 패킷들을 순차 수신하는 디코더를 포함하는 수신장치를 포함하고,
상기 디코더는, 상기 복수의 RTP 패킷들 중 손실된 패킷의 존재 여부를 체크하여, 하나의 손실된 해당 패킷에 대하여 상기 복수의 복구 패킷들을 이용하여 복구하며, 상기 복수의 복구 패킷들은, 하나의 픽처 프레임을 구성하는 상기 복수의 RTP 패킷들을 선택적으로 XOR 연산하여 생성되고,
상기 복수의 복구 패킷들은, 상기 복수의 RTP 패킷들을 소정의 서브블록들로 나누어 서브블록 마다 XOR 연산한 XOR-SUB 패킷들을 더 포함하는 것을 특징으로 하는 영상회의 시스템.In a video conference system,
A transmitter including a plurality of RTP (Real-time Transport Protocol) packets and an encoder for sequentially transmitting a plurality of recovery packets; And a decoder for sequentially receiving the plurality of RTP packets and the plurality of recovery packets,
Wherein the decoder checks whether there is a lost packet among the plurality of RTP packets and restores the lost packet using the plurality of recovery packets, A plurality of RTP packets constituting a frame are selectively generated by performing an XOR operation on the plurality of RTP packets,
Wherein the plurality of recovery packets further include XOR-SUB packets obtained by dividing the plurality of RTP packets into predetermined subblocks and XORing each subblock.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140165593 | 2014-11-25 | ||
KR20140165593 | 2014-11-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160062679A KR20160062679A (en) | 2016-06-02 |
KR101953580B1 true KR101953580B1 (en) | 2019-03-04 |
Family
ID=56135781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150145170A KR101953580B1 (en) | 2014-11-25 | 2015-10-19 | Data Transceiving Apparatus and Method in Telepresence System |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101953580B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101999105B1 (en) * | 2017-12-13 | 2019-07-11 | 오픈스택 주식회사 | Method of reliable data transmission with least video latency for real-time video streaming |
KR101870750B1 (en) * | 2017-12-28 | 2018-06-26 | 오픈스택 주식회사 | Apparatus for encoding video using rearranging transmission order and method thereof |
KR102145285B1 (en) * | 2018-12-28 | 2020-08-18 | 오픈스택 주식회사 | Transmitting and receiving apparatus for providing a real-time image and a high-quality image |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070079603A (en) * | 2006-02-03 | 2007-08-08 | 경희대학교 산학협력단 | Exclusive Logic-based Redundant Picture Slice Generation Method and Loss Slice Recovery Method Using the Same |
KR20130034569A (en) * | 2011-09-28 | 2013-04-05 | 한국전자통신연구원 | Method for uep/ulp with xor-fec and harq for burst loss recovery |
-
2015
- 2015-10-19 KR KR1020150145170A patent/KR101953580B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20160062679A (en) | 2016-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9608768B2 (en) | Recovery from burst packet loss in internet protocol based wireless networks using staggercasting and cross-packet forward error correction | |
US6490705B1 (en) | Method and apparatus for receiving MPEG video over the internet | |
US6317462B1 (en) | Method and apparatus for transmitting MPEG video over the internet | |
US20090103635A1 (en) | System and method of unequal error protection with hybrid arq/fec for video streaming over wireless local area networks | |
KR101983032B1 (en) | Apparatus and method for transmitting and receiving packet in broadcasting and communication system | |
US10015486B2 (en) | Enhanced video decoding with application layer forward error correction | |
Nazir et al. | Expanding window random linear codes for data partitioned H. 264 video transmission over DVB-H network | |
KR101953580B1 (en) | Data Transceiving Apparatus and Method in Telepresence System | |
US20150006991A1 (en) | Graceful degradation-forward error correction method and apparatus for performing same | |
KR101760018B1 (en) | Image data communication method and image data communication device | |
US7627184B2 (en) | Content distribution/reception device, content transmission/reception method, and content distribution/reception program | |
Nazir et al. | Unequal error protection for data partitioned H. 264/AVC video streaming with Raptor and Random Linear Codes for DVB-H networks | |
KR20130094160A (en) | Method and apparatus for streaming service | |
JP5755213B2 (en) | Recovering from burst packet loss in internet protocol based wireless networks using stagger casting and cross-packet forward error correction | |
Monteiro et al. | Robust multipoint and multi-layered transmission of H. 264/SVC with Raptor codes | |
Qu et al. | Source-adaptive FEC/UEP coding for video transport over bursty packet loss 3G UMTS networks: a cross-layer approach | |
Zhang et al. | A testbed of erasure coding on video streaming system over lossy networks | |
Fajardo et al. | Impact of the video slice size on the visual quality for H. 264 over 3G UMTS services | |
Vilei et al. | A novel unbalanced multiple description scheme for video transmission over wlan | |
Hong et al. | Efficient error control scheme for video streaming over wireless networks | |
Casu et al. | Video over DSL with LDGM codes for interactive applications | |
Dawood et al. | Error resilient packet-switched video telephony with adaptive rateless coding and reference picture selection. | |
Frescura et al. | Backward-compatible interleaving technique for robust JPEG2000 wireless transmission | |
Zhang et al. | Adaptive re-transmission scheme for wireless mobile networking and computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20151019 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20170802 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20151019 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20181016 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20190122 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20190225 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20190225 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20221208 |