KR20160123562A - Receiver for processing data packet and data packet processing method of receiver - Google Patents
Receiver for processing data packet and data packet processing method of receiver Download PDFInfo
- Publication number
- KR20160123562A KR20160123562A KR1020150053730A KR20150053730A KR20160123562A KR 20160123562 A KR20160123562 A KR 20160123562A KR 1020150053730 A KR1020150053730 A KR 1020150053730A KR 20150053730 A KR20150053730 A KR 20150053730A KR 20160123562 A KR20160123562 A KR 20160123562A
- Authority
- KR
- South Korea
- Prior art keywords
- data packet
- rtp data
- sequence number
- rtp
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
- 238000003672 processing method Methods 0.000 title description 5
- 238000000034 method Methods 0.000 claims abstract description 12
- 239000000284 extract Substances 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000003287 optical effect Effects 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/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/54—Loss aware scheduling
-
- H04L65/608—
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 송신기 장치로부터 수신한 RTP 데이터 패킷을 저장하기 위한 큐 버퍼; 및 상기 RTP 데이터 패킷의 헤더에서 시퀀스 번호를 추출하고, 상기 추출한 시퀀스 번호가 큐 저장 한계 범위를 만족시키는지 판단하며, 상기 판단 결과 만족시키는 경우 해당 RTP 데이터 패킷을 상기 큐 버퍼에 저장하고, 만족시키지 못하는 경우 손실된 RTP 데이터 패킷의 재송신을 상기 송신기 장치로 요청하며, 상기 손실된 RTP 데이터 패킷이 수신되면 이를 상기 큐 버퍼에 저장하고, 상기 재송신 요청에도 불구하고 수신되지 않는 RTP 데이터 패킷 발생 시에는 스트림(stream) 생성 시 이전 데이터로 대체하는 처리부를 포함하는 데이터 패킷 처리를 위한 수신기 장치를 제공한다. 본 발명에 의한 데이터 패킷 처리를 위한 수신기 장치는 CPU 처리를 단순화하여 과도한 CPU 점유 및 처리 시간 지연을 방지할 수 있는 장점을 갖는다. The present invention relates to a system and method for transmitting RTP data packets, And extracting a sequence number from the header of the RTP data packet, determining whether the extracted sequence number satisfies a queue storage limit range, storing the RTP data packet in the queue buffer when satisfied, If the RTP data packet is not received in response to the retransmission request, the RTP data packet is transmitted to the streaming device, and replacing the previous data with the previous data when the stream is generated. The receiver device for data packet processing according to the present invention has an advantage that it can simplify the CPU processing and prevent excessive CPU occupation and processing time delay.
Description
본 발명은 데이터 패킷 처리를 위한 수신기 장치 및 수신기 장치에서의 데이터 패킷 처리 방법에 관한 것으로서, 보다 상세하게는 CPU 처리를 단순화하여 과도한 CPU 점유 및 처리 시간 지연을 방지하도록 한 데이터 패킷 처리를 위한 수신기 장치 및 수신기 장치에서의 데이터 패킷 처리 방법에 관한 것이다.
The present invention relates to a receiver apparatus for data packet processing and a data packet processing method in a receiver apparatus, and more particularly, to a receiver apparatus for data packet processing, which simplifies CPU processing and prevents excessive CPU occupation and processing time delay, And a method of processing data packets in a receiver apparatus.
오디오 및/또는 비디오 데이터 패킷은 송신기 장치와 수신기 장치 사이에서 전송될 때 특정 전송 프로토콜에 기초해서 교환된다. 상기 전송 프로토콜은 RTP(Real Time Transport Protocol)와 같은 실시간 프로토콜을 포함한다. RTP는 소위 UDP/IP(User Datagram Protocol/Internet Protocol) 프로토콜에 기초하는 프로토콜이다. RTP는 UDP/IP 프로토콜을 이용해서 단일 지점 및 다지점 링크에서 실시간 전송을 위해, 전송된 데이터 패킷들 사이에 동기화를 제공하도록 개발되었으며, IP 네트워크에서 오디오 및/또는 비디오 데이터 패킷과 결합하여 조직화된 데이터 송신을 위한 기반을 형성한다.Audio and / or video data packets are exchanged based on a particular transmission protocol when transmitted between a transmitter device and a receiver device. The transmission protocol includes a real time protocol such as RTP (Real Time Transport Protocol). RTP is a protocol based on the so-called UDP / IP (User Datagram Protocol / Internet Protocol) protocol. RTP has been developed to provide synchronization between transmitted data packets for real-time transmission on a single point and multi-point link using the UDP / IP protocol, and is used in conjunction with audio and / or video data packets in an IP network Form the basis for data transmission.
RTP에 기초한 데이터 패킷(이하, "RTP 데이터 패킷"이라 한다)은 기본적으로 고정된 크기를 가지는 헤더와 헤더 뒤에 따르는 특정 정보 및 데이터를 포함한다. A RTP-based data packet (hereinafter referred to as "RTP data packet") basically includes a header having a fixed size and specific information and data following the header.
RTP 데이터 패킷 헤더의 각 필드를 도 1을 참조하여 간단히 설명하면, V(Version) 필드는 버전 필드이며, P(Padding) 필드는 32비트 단위로 패킷을 구성하기 위해 사용된다. X(Header Extention) 필드는 헤더의 확장 여부를 표시한다. CC(CSRC Count) 필드는 CSRC 식별자(Contributing Source Identifier)의 개수를 가리킨다. M(Marker) 필드는 멀티미디어 데이터에 대한 프레임 영역을 나타낸다. 즉 패킷 안에서 오디오와 비디오 데이터 등을 구별하는 데 사용된다. PT(RTP Payload Type) 필드는 RFC 1890에서 정의된 프로파일의 RTP 페이로드의 양식을 지칭하고, 응용 프로그램에 의해서 해석된다. 시퀀스 번호(Sequence Number) 필드는 RTP 데이터 패킷의 순서를 나타내는데, 초기값은 랜덤하게 선택되고, RTP 데이터 패킷을 송신할 때마다 1씩 증가된다. 따라서 수신기 장치에서는 시퀀스 번호를 기초로 패킷 손실이나 순서 역전을 알아낼 수 있다. 타임 스탬프(Time Stamp) 필드는 RTP 데이터 패킷의 첫 번째 옥텟(Octec)이 샘플링된 시점을 나타낸다. SSRC 식별자(Synchronization Source Identifier) 필드는 카메라 또는 마이크 등의 데이터 원천지의 식별자를 의미한다. CSRC 식별자(Contributing Source Identifier) 필드는 RTP 데이터 패킷이 중간 시스템에서 혼합된 경우에 그 소스들을 구별할 수 있는 식별자를 나타낸다. Each field of the RTP data packet header will be briefly described with reference to FIG. 1. The V (Version) field is a version field, and the P (Padding) field is used to form a packet in units of 32 bits. The X (Header Extension) field indicates whether to extend the header. The CC (CSRC Count) field indicates the number of CSRC identifiers (Contributing Source Identifiers). The M (Marker) field indicates a frame area for multimedia data. In other words, it is used to distinguish audio and video data within a packet. The PT (RTP Payload Type) field refers to the form of the RTP payload of the profile defined in RFC 1890 and is interpreted by the application program. The Sequence Number field indicates the order of the RTP data packets. The initial value is randomly selected and incremented by 1 each time an RTP data packet is transmitted. Therefore, the receiver device can find the packet loss or order reversal based on the sequence number. The Time Stamp field indicates the time at which the first octet (Octec) of the RTP data packet is sampled. The SSRC Identifier (Synchronization Source Identifier) field is an identifier of a data source such as a camera or a microphone. The CSRC Identifier (Contributing Source Identifier) field indicates an identifier capable of distinguishing the sources when the RTP data packet is mixed in the intermediate system.
RTP 데이터 패킷의 헤더 뒤에는 UDP 패킷으로 포맷된 데이터가 위치한다. 도 2에는 UDP로 캡슐레이션된 데이터의 포맷이 도시되어 있다. 도 2를 참조하면 UDP 패킷은 IP 헤더, UDP 헤더 및 UDP 데이터로 구성된다. IP 헤더에는 데이터의 소스 및 목적지의 주소, 상위계층 프로토콜, 첵섬 등이 기록된다. UDP 헤더에는 소스 및 목적지의 포트 번호, UDP 헤더와 데이터의 크기, UDP 첵섬 등이 기록된다. UDP 데이터는 전송될 데이터이다. UDP 헤더와 UDP 데이터를 UDP 데이터그램이라 칭하며, IP 헤더와 UDP 데이터그램을 IP 데이터그램이라 칭한다. 따라서 RTP 데이터 패킷은 RTP 헤더와 IP 데이터그램으로 구성된다.The header of the RTP data packet is followed by data formatted as a UDP packet. FIG. 2 shows a format of data encapsulated by UDP. Referring to FIG. 2, the UDP packet includes an IP header, a UDP header, and UDP data. The IP header records the source and destination address of the data, the upper layer protocol, and the checksum. The UDP header contains the source and destination port numbers, the size of the UDP header and data, and the UDP checksum. UDP data is data to be transmitted. UDP header and UDP data are called UDP datagrams, and IP header and UDP datagrams are called IP datagrams. Therefore, an RTP data packet consists of an RTP header and an IP datagram.
수신기 장치는 송신기 장치로부터 수신한 RTP 데이터 패킷을 RTP 데이터 패킷의 헤더에 포함된 시퀀스 번호를 이용하여 큐(queue) 버퍼에 순차적으로 저장한다. The receiver device sequentially stores the RTP data packets received from the transmitter device in a queue buffer using a sequence number included in the header of the RTP data packet.
그러나 큐 버퍼에 RTP 데이터 패킷 저장시 과도한 패킷 손실(packet loss)로 인해 시퀀스 번호가 맞지 않는 경우, 종래에는 손실된 패킷 개수만큼 이전에 수신된 데이터 패킷이 채워지도록 무한 루프가 형성되어 과도한 CPU(Central Processing Unit) 점유가 발생하는 문제점이 있었다.
However, if the sequence numbers are not correct due to excessive packet loss when storing RTP data packets in the queue buffer, an infinite loop is formed so that previously received data packets are filled up by the number of lost packets, Processing unit occupation occurs.
이에 본 발명은 이러한 문제점을 해결하기 위해 안출된 것으로, CPU 처리를 단순화하여 과도한 CPU 점유 및 처리 시간 지연을 방지하도록 한 데이터 패킷 처리를 위한 수신기 장치 및 수신기 장치에서의 데이터 패킷 처리 방법을 제공하는 데 그 목적이 있다. SUMMARY OF THE INVENTION Accordingly, the present invention has been made to solve the above-mentioned problems, and it is an object of the present invention to provide a receiver device for data packet processing and a data packet processing method in a receiver device for simplifying CPU processing to prevent excessive CPU occupation and processing time delay It has its purpose.
그러나 본 발명의 기술적 과제들은 위에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
However, the technical problems of the present invention are not limited to the above-mentioned problems, and other technical problems which are not mentioned can be clearly understood by those skilled in the art from the following description.
본 발명의 실시례에 따른 데이터 패킷 처리를 위한 수신기 장치는,A receiver apparatus for data packet processing according to an embodiment of the present invention includes:
송신기 장치로부터 수신한 RTP 데이터 패킷을 저장하기 위한 큐 버퍼; 및 상기 RTP 데이터 패킷의 헤더에서 시퀀스 번호를 추출하고, 상기 시퀀스 번호가 큐 저장 한계 범위를 만족시키는지 판단하며, 상기 판단 결과 만족시키는 경우 해당 RTP 데이터 패킷을 상기 큐 버퍼에 저장하고, 만족시키지 못하는 경우 손실된 RTP 데이터 패킷의 재송신을 상기 송신기 장치로 요청하며, 상기 손실된 RTP 데이터 패킷이 수신되면 이를 상기 큐 버퍼에 저장하고, 상기 재송신 요청에도 불구하고 수신되지 않는 RTP 데이터 패킷 발생 시에는 스트림(stream) 생성 시 이전 데이터로 대체하는 처리부를 포함한다. A queue buffer for storing RTP data packets received from a transmitter device; And extracting a sequence number from a header of the RTP data packet, determining whether the sequence number satisfies a queue storage limit range, storing the RTP data packet in the queue buffer when the determination result is satisfied, The RTP data packet is stored in the queue buffer, and when an RTP data packet not received in response to the retransmission request is generated, the RTP data packet is transmitted to the stream device stream to the previous data.
상기 처리부에서 상기 시퀀스 번호가 큐 저장 한계 범위를 만족시키는지를 판단하는 것은 이전 RTP 데이터 패킷의 시퀀스 번호와의 차이가 큐 저장 한계 범위 내에 존재하는지를 판단하는 것을 포함할 수 있다. Determining whether the sequence number satisfies a queue storage limit range in the processor may comprise determining whether a difference from a sequence number of a previous RTP data packet is within a queue storage limit range.
또한 본 발명의 실시례에 따른 수신기 장치에서의 데이터 패킷 처리 방법은,Further, a method of processing a data packet in a receiver apparatus according to an embodiment of the present invention includes:
송신기 장치로부터 수신한 RTP 데이터 패킷의 헤더에서 시퀀스 번호를 추출하는 단계; 상기 시퀀스 번호가 큐 저장 한계 범위를 만족시키는지 판단하는 단계; 상기 판단 결과 만족시키는 경우 해당 RTP 데이터 패킷을 큐 버퍼에 저장하는 단계; 상기 판단 결과 만족시키지 못하는 경우 손실된 RTP 데이터 패킷의 재송신을 상기 송신기 장치로 요청하는 단계; 및 상기 손실된 RTP 데이터 패킷이 수신되면 이를 상기 큐 버퍼에 저장하고, 상기 재송신 요청에도 불구하고 수신되지 않는 RTP 데이터 패킷 발생 시에는 스트림(stream) 생성 시 이전 데이터로 대체하는 단계를 포함한다. Extracting a sequence number from a header of an RTP data packet received from a transmitter apparatus; Determining whether the sequence number satisfies a queue storage limit range; Storing the RTP data packet in a queue buffer if the determination is satisfied; Requesting the transmitter device to retransmit the lost RTP data packet if the determination result is not satisfied; And storing the lost RTP data packet in the queue buffer when the RTP data packet is received, and replacing the RTP data packet with the previous data when the RTP data packet is not received despite the retransmission request.
상기 시퀀스 번호가 큐 저장 한계 범위를 만족시키는지를 판단하는 단계는 이전 RTP 데이터 패킷의 시퀀스 번호와의 차이가 큐 저장 한계 범위 내에 존재하는지를 판단하는 단계를 포함할 수 있다.
The step of determining whether the sequence number satisfies the queue storage limit range may include determining whether a difference from the sequence number of the previous RTP data packet is within a queue storage limit range.
본 발명에 의한 데이터 패킷 처리를 위한 수신기 장치 및 수신기 장치에서의 데이터 패킷 처리 방법은 CPU 처리를 단순화하여 과도한 CPU 점유 및 처리 시간 지연을 방지하는 효과를 갖는다.
The method of processing data packets in a receiver apparatus and a receiver apparatus for data packet processing according to the present invention has an effect of simplifying CPU processing and preventing excessive CPU occupation and processing time delay.
도 1은 RTP 패킷 헤더의 포맷을 나타낸 도면이다.
도 2는 UDP로 캡슐레이션된 데이터의 포맷을 나타낸 도면이다.
도 3은 본 발명의 일 실시례에 따른 데이터 패킷 처리를 위한 수신기 장치가 포함된 시스템의 블록도이다.
도 4는 본 발명의 일 실시례에 따른 수신기 장치에서의 데이터 패킷 처리 방법을 나타낸 흐름도이다. 1 shows a format of an RTP packet header.
2 is a diagram showing a format of data encapsulated by UDP.
3 is a block diagram of a system including a receiver apparatus for processing data packets in accordance with an embodiment of the present invention.
4 is a flowchart illustrating a method of processing a data packet in a receiver apparatus according to an embodiment of the present invention.
본 발명의 장점 및 특징 그리고 그것들을 달성하는 방법들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시례들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시례들에 한정되는 것이 아니라 또 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시례들은 본 발명의 개시가 완전하도록 하고 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 단지 청구항에 의해 정의될 뿐이다. BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. It should be understood, however, that the invention is not limited to the disclosed embodiments, but may be embodied in many other forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the present invention is only defined by the claims.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.Like reference numerals refer to like elements throughout the specification.
이하 첨부된 도면들을 참고하여 본 발명의 실시례에 따른 데이터 패킷 처리를 위한 수신기 장치 및 수신기 장치에서의 데이터 패킷 처리 방법에 대해 설명하도록 한다. Hereinafter, a data packet processing method in a receiver apparatus and a receiver apparatus for data packet processing according to an embodiment of the present invention will be described with reference to the accompanying drawings.
이때 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. It will be appreciated that the combinations of blocks and flowchart illustrations in the process flow diagrams may be performed by computer program instructions.
이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터·특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. These computer program instructions may be loaded into a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, so that those instructions, which are executed through a processor of a computer or other programmable data processing apparatus, Thereby creating means for performing functions.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. These computer program instructions may also be stored in a computer usable or computer readable memory capable of directing a computer or other programmable data processing apparatus to implement the functionality in a particular manner so that the computer usable or computer readable memory The instructions stored in the block diagram (s) are also capable of producing manufacturing items containing instruction means for performing the functions described in the flowchart block (s).
컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다. The computer program instructions It is also possible to mount on a computer or other programmable data processing equipment, so that a series of operating steps may be performed on a computer or other programmable data processing equipment to create a computer-executed process to perform a computer or other programmable data processing equipment May also provide steps for performing the functions described in the flowchart block (s).
또한 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈·세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한 몇 가지 대체 실행례들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다. Each block may also represent a portion of a module segment or code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative implementations, the functions mentioned in the blocks may occur out of order. For example, two blocks that are shown one after the other may actually be executed substantially concurrently, or the blocks may sometimes be performed in reverse order according to the corresponding function.
도 3은 본 발명의 일 실시례에 따른 데이터 패킷 처리를 위한 수신기 장치가 포함된 시스템의 블록도이다.3 is a block diagram of a system including a receiver apparatus for processing data packets in accordance with an embodiment of the present invention.
도 3을 참조하면 본 발명의 일 실시례에 따른 데이터 패킷 처리를 위한 수신기 장치가 포함된 시스템은 송신기 장치(100) 및 수신기 장치(200)를 포함한다. Referring to FIG. 3, a system including a receiver apparatus for processing data packets according to an embodiment of the present invention includes a
데이터 링크를 통해 접속된 송신기 장치(100) 및 수신기 장치(200)는 오디오 및/또는 비디오 데이터 패킷이 교환될 수 있는 전자기기일 수 있다. The
그리고 송신기 장치(100) 및 수신기 장치(200)는 IP(Internet Protocol) 네트워크와 같은 네트워크에 연결될 수 있으며, 이 경우 데이터 링크는 IP 네트워크 링크일 수 있다. The
데이터 패킷은 RTP(Real Time Transport Protocol)에 기초해서 송신기 장치(100)와 수신기 장치(200) 사이에서 데이터 링크를 통해 교환된다. 이하 이러한 데이터 패킷을 "RTP 데이터 패킷"이라 칭한다.The data packet is exchanged over a data link between the
RTP 데이터 패킷은 송신기 장치(100) 자체에서 생성되거나, 송신기 장치(100)와 분리된 장치(미도시)에서 생성되어 송신기 장치(100)로 송신될 수 있다. 그리고 RTP 데이터 패킷은 송신기 장치(100)에서 데이터 링크로 전송된다. The RTP data packet may be generated in the
RTP 데이터 패킷의 헤더는 고정된 크기를 가지며, 헤더 뒤에는 UDP 패킷으로 포맷된 데이터가 위치한다. 그리고 상기 RTP 데이터 패킷의 헤더에는 패킷의 순서를 나타내는 시퀀스 번호가 포함된다.The header of the RTP data packet has a fixed size, and data formatted as a UDP packet is located behind the header. The header of the RTP data packet includes a sequence number indicating the order of packets.
수신기 장치(200)는 RTP 데이터 패킷이 저장되는 큐(queue) 버퍼 및 RTP 데이터 패킷을 처리하는 처리부(210)를 포함한다. The
큐는 컴퓨터 내의 주기억장치에서 연속적인 공간을 배정하여 데이터를 저장하고 필요 시 검색하여 사용할 수 있도록 한 순서 리스트와 같은 자료 구조로서, FIFO (First In First Out) 구조를 가지며, 자료의 삽입은 한 쪽 끝에서, 출력은 다른 쪽 끝에서 일어난다. 이러한 큐는 선형 큐이거나, 배열의 처음과 끝이 연결되어 있는 원형 큐일 수 있다. A queue is a data structure such as a sequence list in which a continuous space is allocated from a main storage device in a computer and the data is stored and used when necessary. The queue has a FIFO (First In First Out) structure, At the end, the output occurs at the other end. Such a queue may be a linear queue, or it may be a circular queue with the beginning and end of the array connected.
처리부(210)는 송신기 장치(100)로부터 수신한 RTP 데이터 패킷의 헤더에서 시퀀스 번호를 추출하고, 추출된 시퀀스 번호를 이용하여 상기 수신한 RTP 데이터 패킷을 큐(queue) 버퍼에 순차적으로 저장한다. The processing unit 210 extracts the sequence number from the header of the RTP data packet received from the
다시 말해서 처리부(210)는 RTP 데이터 패킷이 수신될 때마다 RTP 데이터 패킷의 시퀀스 번호를 체크하고, 큐 버퍼(220)의 기록 포인터(write pointer) 값을 생성한다. 그리고 처리부(210)는 큐 버퍼(220)의 기록 포인터 값에 해당하는 큐 버퍼(220)에 해당 RTP 데이터 패킷을 저장한다. 이때 일례로 큐 버퍼(220)의 기록 포인터 값을 상기 수신된 RTP 데이터 패킷의 시퀀스 번호로 생성할 수도 있다. 이런 경우, RTP 데이터 패킷의 시퀀스 번호와 동일한 어드레스(address)의 큐 버퍼(220)에 해당 RTP 데이터 패킷이 저장될 수 있다. In other words, the processing unit 210 checks the sequence number of the RTP data packet every time an RTP data packet is received, and generates a write pointer value of the queue buffer 220. The processing unit 210 stores the RTP data packet in the queue buffer 220 corresponding to the recording pointer value of the queue buffer 220. [ For example, the recording pointer value of the queue buffer 220 may be generated as a sequence number of the received RTP data packet. In this case, the corresponding RTP data packet may be stored in the queue buffer 220 at the same address as the sequence number of the RTP data packet.
한편 큐 버퍼(220)에는 큐 저장 한계 범위가 설정되는데, 상기 큐 저장 한계 범위는 RTP 데이터 패킷이 큐 버퍼(220)에 기록(write)되어질 수 있는 최대 한계 범위이다. 이전 RTP 데이터 패킷의 시퀀스 번호와 현재 RTP 데이터 패킷의 시퀀스 번호의 차이가 큐 저장 한계 범위 내에 존재하는지에 따라 과도한 패킷 손실 여부가 결정될 수 있다. 만약 이전 RTP 데이터 패킷의 시퀀스 번호와 현재 RTP 데이터 패킷의 시퀀스 번호의 차이가 큐 저장 한계 범위를 벗어나면(다시 말해, 시퀀스 번호가 맞지 않으면), 과도한 패킷 손실이 발생한 것으로 판단될 수 있다. 예를 들어 큐 저장 한계 범위가 20인 경우, 이전 RTP 데이터 패킷의 시퀀스 번호와 현재 RTP 데이터 패킷의 시퀀스 번호의 차이가 20을 초과하면 처리부(210)는 과도한 패킷 손실이 발생한 것으로 판단한다. Meanwhile, a queue storage limit range is set in the queue buffer 220. The queue storage limit range is a maximum limit range in which an RTP data packet can be written to the queue buffer 220. [ Excessive packet loss may be determined depending on whether the difference between the sequence number of the previous RTP data packet and the sequence number of the current RTP data packet is within the queue storage limit range. If the difference between the sequence number of the previous RTP data packet and the sequence number of the current RTP data packet is out of the queue storage limit range (i.e., the sequence number does not match), it can be determined that an excessive packet loss has occurred. For example, when the queue storage limit range is 20, if the difference between the sequence number of the previous RTP data packet and the sequence number of the current RTP data packet exceeds 20, the processing unit 210 determines that an excessive packet loss occurs.
이러한 패킷 손실을 보정하기 위해, 처리부(210)는 RTP 데이터 패킷의 시퀀스 번호가 큐 저장 한계 범위를 만족시키지 못하면 송신기 장치(100)로 손실된 RTP 데이터 패킷의 재송신을 요청한다. 예를 들어 수신기 장치(200)의 큐 저장 한계 범위가 20이고, 시퀀스 번호가 #1, #2, #3, #4, #5인 RTP 데이터 패킷이 순차적으로 수신되고 있는 중에 시퀀스 번호가 #26인 RTP 데이터 패킷이 수신된다면, 이전 RTP 데이터 패킷의 시퀀스 번호 #5와 현재 RTP 데이터 패킷의 시퀀스 번호 #26의 차이가 20을 초과한다. 이에 처리부(210)는 현재 수신되는 시퀀스 번호 #26인 RTP 데이터 패킷이 큐 저장 한계 범위를 만족시키기 못한다고 판단할 수 있다. 그러면 처리부(210)는 송신기 장치(100)로 손실된 RTP 데이터 패킷의 재송신을 요청한다. 처리부(210)는 상기 손실된 RTP 데이터 패킷이 수신되면 이를 큐 버퍼(220)에 저장한다. 그러나 재송신 요청에도 불구하고 수신되지 않는 RTP 데이터 패킷 발생 시에는 처리부(210)에서 스트림(stream) 생성 시 이전 데이터로 대체한다. In order to correct this packet loss, the processing unit 210 requests retransmission of the RTP data packet lost to the
물론 처리부(210)는 RTP 데이터 패킷의 시퀀스 번호가 큐 저장 한계 범위를 만족시키는 경우에는 해당 RTP 데이터 패킷을 큐 버퍼(220)에 저장하고, 다음 RTP 데이터 패킷이 수신되기를 기다린다. Of course, when the sequence number of the RTP data packet satisfies the queue storage limit range, the processing unit 210 stores the RTP data packet in the queue buffer 220 and waits for the next RTP data packet to be received.
이러한 구성에 따라 본 발명의 일 실시례에 따른 수신기 장치(200)에서의 데이터 패킷 처리 방법을 도 4의 흐름도를 참조하여 설명하면 다음과 같다. A method of processing data packets in the
먼저 처리부(210)는 송신기 장치(100)로부터 수신한 RTP 데이터 패킷의 헤더에서 시퀀스 번호를 추출한다(S100, S110).First, the processing unit 210 extracts the sequence number from the header of the RTP data packet received from the transmitter apparatus 100 (S100, S110).
처리부(210)는 상기 추출한 시퀀스 번호가 큐 저장 한계 범위를 만족시키는지를 판단한다(S120).The processing unit 210 determines whether the extracted sequence number satisfies the queue storage limit range (S120).
상기 추출한 시퀀스 번호가 큐 저장 한계 범위를 만족한다면, 처리부(210)는 상기 수신한 RTP 데이터 패킷을 큐 버퍼(220)에 저장하고, 다음 RTP 데이터 패킷이 수신되기를 기다린다(S150).If the extracted sequence number satisfies the queue storage limit, the processing unit 210 stores the received RTP data packet in the queue buffer 220 and waits for the next RTP data packet to be received (S150).
그러나 상기 추출한 시퀀스 번호가 큐 저장 한계 범위를 만족시키지 못한다면, 처리부(210)는 송신기 장치(100)로 손실된 RTP 데이터 패킷의 재송신을 요청한다(S130).However, if the extracted sequence number does not satisfy the queue storage limit, the processing unit 210 requests the
처리부(210)는 상기 손실된 RTP 데이터 패킷이 수신되면 이를 큐 버퍼(220)에 저장한다(S140, S150). 그러나 재송신 요청에도 불구하고 수신되지 않는 RTP 데이터 패킷 발생 시에는 처리부(210)에서 스트림(stream) 생성 시 이전 데이터로 대체한다(S140, S160). The processing unit 210 stores the lost RTP data packet in the queue buffer 220 (S140, S150). However, when an RTP data packet that is not received despite the retransmission request is generated, the processing unit 210 replaces the RTP data packet with the previous data when generating a stream (S140, S160).
한편 상술한 본 발명의 실시례들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. Meanwhile, the embodiments of the present invention described above can be implemented in a general-purpose digital computer that can be created as a program that can be executed by a computer and operates the program using a computer-readable recording medium.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면 롬· 플로피 디스크·하드디스크 등), 광학적 판독 매체(예를 들면 CD-ROM·DVD 등) 및 캐리어 웨이브(예를 들면 인터넷을 통한 전송)와 같은 저장 매체를 포함한다.
The computer-readable recording medium may be a magnetic storage medium such as a ROM, a floppy disk, a hard disk, etc., an optical reading medium such as a CD-ROM or a DVD and a carrier wave Transmission).
이제까지 본 발명에 대하여 그 바람직한 실시례들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시례들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to preferred embodiments thereof. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.
이와 같이 본 발명에 의한 데이터 패킷 처리를 위한 수신기 장치 및 수신기 장치에서의 데이터 패킷 처리 방법에 따르면 CPU 처리를 단순화하여 과도한 CPU 점유 및 처리 시간 지연을 방지할 수 있다.
According to the data packet processing method in the receiver apparatus and the receiver apparatus for data packet processing according to the present invention, it is possible to simplify the CPU processing and prevent excessive CPU occupation and processing time delay.
100: 송신기 장치
200: 수신기 장치
210: 처리부
220: 큐 버퍼
100: transmitter device 200: receiver device
210: processing unit 220: queue buffer
Claims (4)
상기 RTP 데이터 패킷의 헤더에서 시퀀스 번호를 추출하고, 상기 시퀀스 번호가 큐 저장 한계 범위를 만족시키는지 판단하며, 상기 판단 결과 만족시키는 경우 해당 RTP 데이터 패킷을 상기 큐 버퍼에 저장하고, 만족시키지 못하는 경우 손실된 RTP 데이터 패킷의 재송신을 상기 송신기 장치로 요청하며, 상기 손실된 RTP 데이터 패킷이 수신되면 이를 상기 큐 버퍼에 저장하고, 상기 재송신 요청에도 불구하고 수신되지 않는 RTP 데이터 패킷 발생 시에는 스트림(stream) 생성 시 이전 데이터로 대체하는 처리부를 포함하는 데이터 패킷 처리를 위한 수신기 장치.
A queue buffer for storing RTP data packets received from a transmitter device; And
Extracts a sequence number from the header of the RTP data packet, determines whether the sequence number satisfies the queue storage limit range, stores the RTP data packet in the queue buffer when the determination is satisfied, The method comprising: requesting retransmission of a lost RTP data packet to the transmitter device; storing the lost RTP data packet in the queue buffer; generating an RTP data packet that is not received despite the retransmission request, ) With the previous data when generating the data packet.
상기 처리부에서 상기 시퀀스 번호가 큐 저장 한계 범위를 만족시키는지를 판단하는 것은 이전 RTP 데이터 패킷의 시퀀스 번호와의 차이가 큐 저장 한계 범위 내에 존재하는지를 판단하는 것을 포함하는 데이터 패킷 처리를 위한 수신기 장치.
The method according to claim 1,
Wherein determining in the processor whether the sequence number satisfies a queue storage limit range comprises determining whether a difference from a sequence number of a previous RTP data packet is within a queue storage limit range.
상기 시퀀스 번호가 큐 저장 한계 범위를 만족시키는지 판단하는 단계;
상기 판단 결과 만족시키는 경우 해당 RTP 데이터 패킷을 큐 버퍼에 저장하는 단계;
상기 판단 결과 만족시키지 못하는 경우 손실된 RTP 데이터 패킷의 재송신을 상기 송신기 장치로 요청하는 단계; 및
상기 손실된 RTP 데이터 패킷이 수신되면 이를 상기 큐 버퍼에 저장하고, 상기 재송신 요청에도 불구하고 수신되지 않는 RTP 데이터 패킷 발생 시에는 스트림(stream) 생성 시 이전 데이터로 대체하는 단계를 포함하는 수신기 장치에서의 데이터 패킷 처리 방법.
Extracting a sequence number from a header of an RTP data packet received from a transmitter apparatus;
Determining whether the sequence number satisfies a queue storage limit range;
Storing the RTP data packet in a queue buffer if the determination is satisfied;
Requesting the transmitter device to retransmit the lost RTP data packet if the determination result is not satisfied; And
Storing the lost RTP data packet in the queue buffer and replacing the received RTP data packet with previous data when generating an RTP data packet that is not received despite the retransmission request / RTI >
상기 시퀀스 번호가 큐 저장 한계 범위를 만족시키는지를 판단하는 단계는 이전 RTP 데이터 패킷의 시퀀스 번호와의 차이가 큐 저장 한계 범위 내에 존재하는지를 판단하는 단계를 포함하는 수신기 장치에서의 데이터 패킷 처리 방법.The method of claim 3,
Wherein the step of determining whether the sequence number satisfies a queue storage limit range comprises determining whether a difference from a sequence number of a previous RTP data packet is within a queue storage limit range.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150053730A KR20160123562A (en) | 2015-04-16 | 2015-04-16 | Receiver for processing data packet and data packet processing method of receiver |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150053730A KR20160123562A (en) | 2015-04-16 | 2015-04-16 | Receiver for processing data packet and data packet processing method of receiver |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160123562A true KR20160123562A (en) | 2016-10-26 |
Family
ID=57251635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150053730A Ceased KR20160123562A (en) | 2015-04-16 | 2015-04-16 | Receiver for processing data packet and data packet processing method of receiver |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20160123562A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108877059A (en) * | 2018-06-08 | 2018-11-23 | 廊坊新奥燃气设备有限公司 | Internet of Things gas meter, flow meter settlement method, Internet of Things gas meter, flow meter and meter reading Platform Server |
CN108933786A (en) * | 2018-07-03 | 2018-12-04 | 公安部第研究所 | Method for improving radio digital communication system recipient's ciphertext voice quality |
CN114928791A (en) * | 2021-12-17 | 2022-08-19 | 无锡中感微电子股份有限公司 | Multipoint-to-point wireless audio transmission method, system and readable storage medium |
CN115987793A (en) * | 2022-12-12 | 2023-04-18 | 天津联云发科技有限公司 | Flexible network packet hardware acceleration processing method, device and electronic equipment |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100539161B1 (en) | 2003-08-29 | 2005-12-27 | (주)씨앤에스 테크놀로지 | The queue management method |
-
2015
- 2015-04-16 KR KR1020150053730A patent/KR20160123562A/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100539161B1 (en) | 2003-08-29 | 2005-12-27 | (주)씨앤에스 테크놀로지 | The queue management method |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108877059A (en) * | 2018-06-08 | 2018-11-23 | 廊坊新奥燃气设备有限公司 | Internet of Things gas meter, flow meter settlement method, Internet of Things gas meter, flow meter and meter reading Platform Server |
CN108933786A (en) * | 2018-07-03 | 2018-12-04 | 公安部第研究所 | Method for improving radio digital communication system recipient's ciphertext voice quality |
CN108933786B (en) * | 2018-07-03 | 2021-04-09 | 公安部第一研究所 | Method for improving ciphertext speech quality of receiver in wireless digital communication system |
CN114928791A (en) * | 2021-12-17 | 2022-08-19 | 无锡中感微电子股份有限公司 | Multipoint-to-point wireless audio transmission method, system and readable storage medium |
CN115987793A (en) * | 2022-12-12 | 2023-04-18 | 天津联云发科技有限公司 | Flexible network packet hardware acceleration processing method, device and electronic equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110086578B (en) | Data transmission method, device and system | |
TWI419565B (en) | Method for buffering packets of a media stream, system for buffering a media stream, device and chipset for transmitting, server and computer program product | |
US9832745B2 (en) | Transport stream packets with time stamp generation by medium access control | |
EP3272128B1 (en) | Video stream transmission over ip network | |
US9794311B2 (en) | Transport accelerator implementing extended transmission control functionality | |
US8223807B2 (en) | Synchronizing data transmission over wireless networks | |
RU2634908C2 (en) | Method and device for mediadata delivery management | |
US9485687B2 (en) | Selective compression in a wireless communication system | |
CN115699685B (en) | Flow detection method and electronic device | |
US11271856B2 (en) | Concept for segmenting an application buffer into data packets | |
CN106549916A (en) | Multicast transmission method, apparatus and system | |
WO2017148419A1 (en) | Data transmission method and server | |
KR20160123562A (en) | Receiver for processing data packet and data packet processing method of receiver | |
CN114979793B (en) | Live broadcast data transmission method, device, system, equipment and medium | |
WO2024260179A1 (en) | Data transport method, device and storage medium | |
CN115499342A (en) | Time delay calculation method and device | |
CN108200481B (en) | RTP-PS stream processing method, device, equipment and storage medium | |
KR100847168B1 (en) | Packet order rearrangement apparatus and method for jitter processing in a network using wdp / rtp | |
JP6555853B2 (en) | Transmission device, transmission control method, and program | |
KR20130070330A (en) | System and method for converting http live streaming protocol to rtsp protocol in mobile rnvironment | |
CN112671696B (en) | Message transmission method, device, computer equipment and computer storage medium | |
CN106534137A (en) | Media stream transmission method and device | |
CN106506438A (en) | A method and device for acquiring service quality information | |
KR101683384B1 (en) | System and method for real-time stream controlling | |
KR101236231B1 (en) | Rtp packet transmitting and receiving method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20150416 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20160523 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E601 | Decision to refuse application | ||
PE0601 | Decision on rejection of patent |
Patent event date: 20161101 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20160523 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |