KR101757459B1 - Method and apparatus for processing packet - Google Patents

Method and apparatus for processing packet Download PDF

Info

Publication number
KR101757459B1
KR101757459B1 KR1020090088430A KR20090088430A KR101757459B1 KR 101757459 B1 KR101757459 B1 KR 101757459B1 KR 1020090088430 A KR1020090088430 A KR 1020090088430A KR 20090088430 A KR20090088430 A KR 20090088430A KR 101757459 B1 KR101757459 B1 KR 101757459B1
Authority
KR
South Korea
Prior art keywords
packet
data
layer packet
control
header
Prior art date
Application number
KR1020090088430A
Other languages
Korean (ko)
Other versions
KR20100080330A (en
Inventor
나일주
윤석진
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US12/648,432 priority Critical patent/US8358670B2/en
Priority to PCT/KR2009/007849 priority patent/WO2010077046A2/en
Publication of KR20100080330A publication Critical patent/KR20100080330A/en
Application granted granted Critical
Publication of KR101757459B1 publication Critical patent/KR101757459B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/08Upper layer protocols
    • H04W80/10Upper layer protocols adapted for application session management, e.g. SIP [Session Initiation Protocol]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/08Upper layer protocols
    • H04W80/12Application layer protocols, e.g. WAP [Wireless Application Protocol]

Abstract

AV 데이터 전송을 위한 패킷을 처리하는 장치 및 방법을 개시한다. 본 발명은 IP 기반이 아닌, AV 데이터 전송에 최적화된 단순한 구조의 프로토콜을 제공하며, 데이터 링크 계층 패킷 헤더에 데이터 패킷과 제어 패킷을 구별하는 정보를 포함시킴으로써 데이터 링크 계층에서 데이터 패킷과 제어 패킷을 구별하여 독립적인 절차에 따라 처리할 수 있도록 한다.

Figure R1020090088430

An apparatus and method for processing packets for AV data transmission are disclosed. The present invention provides a simple structure protocol that is optimized for AV data transmission rather than IP based, and includes data packet and control packet in the data link layer by including information for distinguishing data packets from control packets in a data link layer packet header So that they can be processed according to an independent procedure.

Figure R1020090088430

Description

패킷을 처리하는 방법 및 장치{Method and apparatus for processing packet}METHOD AND APPARATUS FOR PROCESSING A PACKET

본 발명은 패킷을 처리하는 방법 및 장치에 관한 것으로서, 보다 상세하게는 데이터 링크 계층에서 데이터 패킷과 제어 패킷을 구별하여 독립적인 절차에 따라 처리하는 것이 가능한 패킷 처리 방법 및 그 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and apparatus for processing a packet, and more particularly, to a packet processing method and apparatus capable of distinguishing a data packet and a control packet in a data link layer and performing processing according to an independent procedure.

최근 컴퓨터, 전자 및 통신 기술이 비약적으로 발전함에 따라, 도 1에 도시된 것과 같이 컴퓨터, 게임기, 또는 셋탑박스와 같은 AV(Audio/Video) 송신 장치에서 TV 또는 모니터와 같은 AV 수신 장치에 AV 데이터를 무선으로 전송하는 기술이 대두되고 있으며, 특히 H.264와 같은 데이터량이 많은 고품질의 AV 데이터를 무선 전송하는 기술들이 연구되고 있다.2. Description of the Related Art [0002] Recently, with the rapid development of computer, electronic and communication technologies, AV (Audio / Video) transmission devices such as computers, game machines or set- And a technique for wirelessly transmitting high quality AV data with a large amount of data such as H.264 is being studied.

AV 데이터 전송 과정에서 필연적으로 데이터 처리의 지연(latency)이 발생하게 되는데, 영화와 같이 사용자와의 상호작용이 적은 AV 데이터는 지연이 크게 문제되지 않으나, 비디오 게임과 같이 사용자와의 상호작용이 활발한 AV 데이터의 경우 지연이 발생하면 사용자의 입력에 대한 반응 속도가 떨어져 사용자가 불편을 느끼게 된다.The latency of data processing necessarily occurs in the process of transmitting the AV data. In the case of the AV data having less interaction with the user like the movie, the delay is not a big problem, but the interaction with the user is active In the case of AV data, when the delay occurs, the reaction rate of the user's input is decreased and the user feels inconvenience.

따라서, 고품질의 AV 데이터를 낮은 지연(low latency)으로 무선 전송하는 기술이 요구되고 있다.Therefore, there is a demand for a technology for wirelessly transmitting high quality AV data with low latency.

상기 기술적 과제를 해결하기 위한, 본 발명에 의한 패킷 생성 방법의 일 실시예는 전송할 정보가 데이터인지 제어 정보인지를 판단하는 단계; 상기 판단 결과에 따라 데이터 패킷과 제어 패킷을 구별하는 정보가 포함된 데이터 링크 계층 패킷 헤더을 생성하는 단계; 및 상기 전송할 정보를 상기 데이터 링크 계층 패킷 헤더로 캡슐화하는 단계를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a method of generating a packet, the method comprising: determining whether information to be transmitted is data or control information; Generating a data link layer packet header including information for distinguishing a data packet and a control packet according to the determination result; And encapsulating the information to be transmitted into the data link layer packet header.

상기 기술적 과제를 해결하기 위한, 본 발명에 의한 패킷 처리 방법의 일 실시예는 데이터 링크 계층 패킷의 헤더를 분석하여 데이터 링크 계층 패킷의 페이로드에 포함된 상위 계층 패킷이 데이터 패킷인지 또는 제어 패킷인지를 판단하는 단계; 및 상기 판단 결과에 따라 상기 데이터 패킷과 상기 제어 패킷을 독립적인 절차에 따라 처리하는 단계를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a method of processing a packet according to an embodiment of the present invention, which analyzes a header of a data link layer packet and determines whether a higher layer packet included in a payload of the data link layer packet is a data packet or a control packet ; And processing the data packet and the control packet according to an independent procedure according to the determination result.

바람직하게는, 상기 처리하는 단계는 상기 상위 계층 패킷이 데이터 패킷인 경우, 상기 데이터 패킷을 하드웨어로 처리하는 단계; 및 상기 상위 계층 패킷이 제어 패킷인 경우, 상기 제어 패킷을 소프트웨어로 처리하는 단계를 포함하는 것을 특징으로 한다.Advantageously, the processing further comprises: if the upper layer packet is a data packet, processing the data packet in hardware; And processing the control packet by software when the upper layer packet is a control packet.

상기 기술적 과제를 해결하기 위한, 본 발명에 의한 패킷 생성 장치의 일 실시예는 전송할 정보가 데이터인지 제어 정보인지를 판단하는 판단부; 상기 판단 결과에 따라 데이터 패킷과 제어 패킷을 구별하는 정보가 포함된 데이터 링크 계층 패킷 헤더을 생성하는 헤더 생성부; 및 상기 전송할 정보를 상기 데이터 링크 계층 패킷 헤더로 캡슐화하는 캡슐화부를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a packet generation apparatus comprising: a determination unit configured to determine whether information to be transmitted is data or control information; A header generating unit for generating a data link layer packet header including information for distinguishing a data packet and a control packet according to the determination result; And an encapsulator for encapsulating the information to be transmitted into the data link layer packet header.

상기 기술적 과제를 해결하기 위한, 본 발명에 의한 패킷 처리 장치의 일 실시예는 데이터 링크 계층 패킷의 헤더를 분석하여 데이터 링크 계층 패킷의 페이로드에 포함된 상위 계층 패킷이 데이터 패킷인지 또는 제어 패킷인지를 판단하는 판단부; 및 상기 판단 결과에 따라 상기 데이터 패킷과 상기 제어 패킷을 독립적인 절차에 따라 처리하는 처리부를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a packet processing apparatus for analyzing a header of a data link layer packet to determine whether a higher layer packet included in a payload of a data link layer packet is a data packet or a control packet ; And a processor for processing the data packet and the control packet according to an independent procedure according to the determination result.

바람직하게는, 상기 처리부는 상기 상위 계층 패킷이 데이터 패킷인 경우 상기 데이터 패킷을 하드웨어로 처리하고, 상기 상위 계층 패킷이 제어 패킷인 경우 상기 제어 패킷을 소프트웨어로 처리하는 것을 특징으로 한다.Preferably, the processing unit processes the data packet by hardware when the upper layer packet is a data packet, and processes the control packet by software when the upper layer packet is a control packet.

상기 기술적 과제를 해결하기 위한, 본 발명에 의한 패킷 전송 시스템의 일 실시예는 헤더에 데이터 패킷과 제어 패킷을 구별하는 정보가 포함된 데이터 링크 계층 패킷을 송신하는 송신기; 및 상기 데이터 링크 계층 패킷을 수신한 후 헤더를 분석하여 데이터 패킷과 제어 패킷을 독립적인 절차에 따라 처리하는 수신기를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a packet transmission system including: a transmitter for transmitting a data link layer packet including information for distinguishing a data packet and a control packet in a header; And a receiver for analyzing a header after receiving the data link layer packet and processing the data packet and the control packet according to an independent procedure.

상기 기술적 과제를 해결하기 위한, 본 발명에 의한 데이터 링크 계층 패킷의 일 실시예는 데이터 패킷과 제어 패킷을 구별하는 정보가 포함된 데이터 링크 계층 패킷 헤더; 및 데이터 링크 계층 패킷 페이로드를 포함하는 것을 특징으로 한다.According to an embodiment of the present invention, there is provided a data link layer packet header including information for distinguishing a data packet from a control packet. And a data link layer packet payload.

상기 기술적 과제는 상기 패킷 생성 방법 또는 상기 패킷 처리 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체에 의하여도 달성될 수 있다.The present invention also provides a computer readable recording medium on which a program for implementing the packet generation method or the packet processing method is recorded.

이하에서, 본 발명의 기술적 사상을 명확화하기 위하여 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하도록 한다. 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성요소에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략할 것이다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to clarify the technical idea of the present invention. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

도면들 중 실질적으로 동일한 기능구성을 갖는 구성요소들에 대하여는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들을 부여하여 중복설명을 생략하였으며, 당해 도면에 대한 설명시 필요한 경우 다른 도면의 구성요소를 인용할 수 있음을 미리 밝혀둔다. 또한 도면 상에서 각 구성요소의 크기는 설명의 명료성을 위하여 과장되어 있을 수 있다.In the drawings, elements having substantially the same functional configuration are denoted by the same reference numerals and signs as possible, and redundant description is omitted, if necessary. It should be noted that components can be quoted in advance. In addition, the size of each component in the drawings may be exaggerated for clarity of explanation.

도 2는 종래의 RTP(Real-time Transport Protocol)/RTSP(Real Time Streaming Protocol) 기반의 인터넷 프로토콜들을 이용하여 AV 데이터를 전송하기 위한 프로토콜 스택(200)의 일 실시예를 개략적으로 도시한 도면이다.2 is a diagram schematically showing an embodiment of a protocol stack 200 for transmitting AV data using conventional RTP (Real Time Streaming Protocol) / RTSP (Real Time Streaming Protocol) based Internet protocols .

도 2의 실시예를 참조하면, H.264 인코더(211)는 비디오 데이터를 인코딩하여 비디오 데이터 기본 스트림(ES; Elementary Stream)을 생성하며, 오디오 인코더(212)는 오디오 데이터를 인코딩하여 오디오 데이터 기본 스트림을 생성한다. PES(213, Packetized Elementary Stream)는 PES 패킷 헤더로 상기 기본 스트림들를 캡슐화하여 PES 패킷들을 생성한다. HDCP(214, High-bandwidth Digital Content Protection)를 이용하여 AV 데이터에 대한 디지털 저작권 보호를 제공할 수 있다. MPEG2-TS(215)는 상기 PES 패킷들을 캡슐화함으로써 복수의 비디오 또는 오디오 데이터들을 다중화(multiplexing)하여 전송 스트림(TS; Transport stream) 패킷들을 생성한다.2, the H.264 encoder 211 encodes the video data to generate a video data elementary stream (ES), and the audio encoder 212 encodes the audio data, And generates a stream. A Packetized Elementary Stream (PES) 213 encapsulates the elementary streams into a PES packet header to generate PES packets. It is possible to provide digital copyright protection for AV data using HDCP (High-bandwidth Digital Content Protection) 214. The MPEG2-TS 215 multiplexes a plurality of video or audio data by encapsulating the PES packets to generate transport stream (TS) packets.

이렇게 생성된 패킷들은, 응용 계층(Application Layer)의 RTP(216), RTCP(217, RTP Control Protocol), RTSP(218), 전송 계층(Transport Layer)의 UDP(219, User Datagram Protocol), TCP(220, Transmission Control Protocol), 및 네트워크 계층(Network Layer)의 IP(221, Internet Protocol) 등의 IP 기반 프로토콜들에 의하여 데이터 링크 계층(Data Link Layer)에 전달된다. Wi-Fi with P2P(222)는 Wi-Fi Alliance에서 개발 중인 IEEE 802.11에 기반한 직접 통신(Peer to Peer) 방식의 데이터 링크 계층 및 물리 계층(Physical Layer) 프로토콜로서 기기간 통신(Device to Device Communication)을 가능케 하며 제2계층 발견(223, L2 Discovery), P2P 그룹 형성 및 관리(Group Formation & Management) 등을 포함한다. 이상의 프로토콜들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 알려진 공지기술로서 이에 대한 구체적인 설명은 본 발명의 요지를 불필요하게 흐릴 수 있는바 상술하지 않는다.The generated packets are transmitted to the RTP 216 of the application layer, the RTP control protocol 217, the RTSP 218, the UDP 219 of the transport layer, the TCP 220, a Transmission Control Protocol), and an IP (Internet Protocol) 221 of a network layer. The Wi-Fi with P2P (222) is a data link layer and a physical layer protocol of a peer to peer scheme based on IEEE 802.11 being developed by the Wi-Fi Alliance. (L2 Discovery) 223, P2P Group Formation & Management (Group Formation & Management), and the like. The above-described protocols are well known to those skilled in the art, and detailed description thereof is not described in detail as it may unnecessarily obscure the gist of the present invention.

이러한 인터넷 프로토콜들에 의한 AV 데이터 전송시, AV 데이터가 전송되는 데이터 경로(Data Path)와 제어 정보가 전송되는 제어 경로(Control Path)의 구별이 명확하지 않으나, 대략적으로 201으로 표시된 부분을 데이터 경로로 볼 수 있으 며 202로 표시된 부분을 제어 경로로 볼 수 있다.When AV data is transmitted by these Internet protocols, it is not clear whether a data path through which AV data is transmitted and a control path through which control information is transmitted is unclear. However, And the part indicated by 202 can be viewed as a control path.

이러한 인터넷 프로토콜들은 가정에서 영화 감상이나 비디오 게임을 하는 경우와 같이 근거리에서 AV 데이터를 Peer to Peer로 무선 전송하는 환경을 위해 최적화 프로토콜들이 아니기 때문에, 불필요하게 복잡도가 높고 데이터 처리 과정에서의 지연이 크게 된다. 또한 이러한 인터넷 프로토콜들은 소프트웨어 기반을 가정하고 개발되었기 때문에, 고품질의 AV 데이터의 처리속도 향상을 위하여 하드웨어로 구현하는 것이 곤란하다.Since these Internet protocols are not optimized protocols for an environment in which AV data is transmitted from peer to peer in a short distance like a movie watching or a video game in the home, there is a need for a high complexity and a large delay in data processing do. Also, since these Internet protocols are developed assuming a software base, it is difficult to implement them as hardware to improve the processing speed of high-quality AV data.

도 3은 본 발명에 의하여 AV 데이터를 전송하기 위한 프로토콜 스택(300)의 일 실시예를 개략적으로 도시한 도면이다.FIG. 3 is a diagram schematically illustrating an embodiment of a protocol stack 300 for transmitting AV data according to the present invention.

도 3을 참조하면, 본 발명의 일 실시예에 의한 프로토콜 스택은 종래의 RTP, RTCP, RTSP, UDP, TCP, 및 IP 등의 인터넷 프로토콜 기반이 아닌, AV 데이터 무선 전송에 최적화된 단순한 AV 전송 프로로토콜을 정의함으로써 고품질의 AV 데이터를 보다 효율적으로 처리할 수 있게 된다.3, the protocol stack according to an exemplary embodiment of the present invention is not based on Internet protocols such as conventional RTP, RTCP, RTSP, UDP, TCP, and IP, but is a simple AV transmission program By defining the locale, high quality AV data can be processed more efficiently.

본 발명에 의한 AV 전송 프로토콜은 데이터 캡슐화(311, Data Encapsulation), AV 능력 교환(312, AV Capability Exchange), 컨텐츠 보호 제어(313, CP Control), 연결 관리(314, Connection Management) 등의 프로토콜들을 포함하며, 이들을 포함하는 계층을 AV 전송 계층(AVTL; AV Transport Layer)이라고 지칭한다.The AV transport protocol according to the present invention includes protocols such as data encapsulation 311, AV capability exchange 312, content control 313, connection management 314, And the layers including them are referred to as AV Transport Layer (AVTL).

데이터 캡슐화(311)는 전송하고자 하는 데이터를 AVTL 패킷으로 캡슐화하고 타임 스탬프(Time Stamp) 및 소스 패킷 집합화(Source Packet Aggregation) 등의 기능을 제공하며, 이는 종래의 RTP의 기능을 대체한다.The data encapsulation 311 encapsulates the data to be transmitted into an AVTL packet and provides functions such as a time stamp and a source packet aggregation, which replace the functions of the conventional RTP.

AV 능력 교환(312)은 송수신측 AV 장치가 서로 상대방의 AV 능력에 관한 정보를 교환할 수 있도록 해주며, 이는 종래의 SAP(Session Announcement Protocol)/RTSP 및 SDP(Session Description Protocol)/EDID(Extended display identification data) 등의 기능을 대체한다. 컨텐츠 보호 제어(313)는 암호화(Encryption), 복호화(Decryption), 또는 인증(Authentication)과 같은 컨텐츠 보호 관련 메시지를 전송하는 기능을 제공하는 프로토콜이며, 연결 관리(314)는 연결의 설정(Setup) 및 해제(Break), 오류 피드백(Error Feedback) 및 연결 변경(Adaptation) 등을 제공하는 프로토콜로서 종래의 RTSP 및 RTCP의 기능을 대체한다.The AV capability exchange 312 allows the transmitting / receiving AV devices to exchange information on the other party's AV capability. This is accomplished by using a conventional Session Announcement Protocol (SAP) / RTSP and Session Description Protocol (SDP) / EDID display identification data). The content protection control 313 is a protocol that provides a function of transmitting a content protection related message such as encryption, decryption or authentication. The connection management 314 is a setup of connection, And breaks, error feedback, and connection adaptation, and replaces the functions of the conventional RTSP and RTCP.

본 발명은 데이터 링크 계층의 필드를 이용하여 상위 계층을 MPEG2 전송 스트림과 같은 AV 데이터가 전송되는 데이터 경로(301)와 제어 명령 또는 응답 메시지 등의 제어 정보가 전송되는 제어 경로(302)로 완전히 분리하는 것을 특징으로 한다. 이하 도 4 내지 도 8을 참조하여 본 발명을 상세히 설명한다.The present invention uses a field of the data link layer to completely separate the upper layer into a data path 301 through which AV data such as an MPEG2 transport stream is transmitted and a control path 302 through which control information such as a control command or a response message is transmitted. . Hereinafter, the present invention will be described in detail with reference to FIGS. 4 to 8. FIG.

도 4는 데이터 링크 계층 패킷들을 비교한 도면으로서, (a)는 종래의 이더넷(Ethernet) 패킷(410)을, (b)는 종래의 802.11 IP - 패킷(420)을, (c)는 본 발명의 데이터 캡슐화(311)에 의한 AVTL 패킷(431)을 포함하는 802.11 - AVTL 패킷(430)의 일 실시예를 각각 도시하고 있다.FIG. 4 is a diagram for comparing data link layer packets, in which (a) shows a conventional Ethernet packet 410, (b) shows a conventional 802.11 IP-packet 420, AVTL packet 430 containing an AVTL packet 431 by the data encapsulation 311 of the 802.11-AVTL packet 430, respectively.

도 4 (a)를 참조하면, 이더넷 패킷(410)은 MAC(Media Access Control) 헤더(411), 페이로드(415, Payload), 및 FCS(416, Frame Check Sequence)를 포함한 다.Referring to FIG. 4A, the Ethernet packet 410 includes a Media Access Control (MAC) header 411, a payload 415, and a frame check sequence (FCS) 416.

MAC 헤더(411)는 목적지 MAC 주소(412, Destination MAC address), 출발지 MAC 주소(413, Source MAC address), 및 패킷 종류(414, Type) 등의 필드를 포함하며, 페이로드(415, Payload)는 IP 패킷 또는 ARP(Address Resolution Protocol) 패킷을 포함한다. FCS(416)는 오류 검출 및 정정을 위한 32비트 CRC(Cyclic Redundancy Check) 시퀀스를 포함한다. 여기서, Type 필드는 0x0800 값을 가질 때 페이로드(415)에 포함된 패킷이 IP 패킷임을 나타내고, 0x0806 값을 가질 때 페이로드(415)에 포함된 패킷이 ARP 패킷임을 나타낸다.The MAC header 411 includes fields such as a destination MAC address 412, a source MAC address 413, and a packet type 414, and includes a payload 415, Includes an IP packet or an ARP (Address Resolution Protocol) packet. The FCS 416 includes a 32-bit Cyclic Redundancy Check (CRC) sequence for error detection and correction. Here, the Type field indicates that the packet included in the payload 415 is an IP packet when having a value of 0x0800, and indicates that the packet included in the payload 415 is an ARP packet when having a value of 0x0806.

도 4 (b)를 참조하면, 802.11 - IP 패킷(420)은 MAC 부계층(Sublayer)의 헤더인 802.11 MAC 헤더(421), LLC(Logical Link Control) 부계층 헤더인 802.2 LLC/SNAP(Subnetwork Access Protocol) 헤더(422), 페이로드(424), 및 32피트 CRC 시퀀스를 포함하는 FCS(425)를 포함한다. 여기서, 802.2 LLC/SNAP 헤더(422)의 Type 필드(423)는 0x0800 값을 가질 때 페이로드(424)에 포함된 패킷이 IP 패킷임을 나타내고, 0x0806 값을 가질 때 페이로드(424)에 포함된 패킷이 ARP 패킷임을 나타낸다. Type 필드에 할당된 값은 RFC(Request for Comments)1700 문서에 정의되어 있다.Referring to FIG. 4B, the 802.11 - IP packet 420 includes an 802.11 MAC header 421 as a header of a MAC sublayer, an 802.2 LLC / SNAP (Subnetwork Access Protocol header 422, a payload 424, and an FCS 425 containing a 32-bit CRC sequence. The Type field 423 of the 802.2 LLC / SNAP header 422 indicates that the packet included in the payload 424 is an IP packet when having a value of 0x0800 and the packet 424 included in the payload 424 when having a value of 0x0806 Indicates that the packet is an ARP packet. The value assigned to the Type field is defined in the Request for Comments (RFC) 1700 document.

도 4 (c)를 참조하면, 본 발명의 일 실시예에 의한 802.11 - AVTL 패킷(430)은, 802.11 패킷의 페이로드(424)에 IP 계열 패킷이 아닌 본 발명에 의한 AVTL 패킷(431)을 포함하며, AVTL 패킷(431)은 AVTL 헤더(432) 및 AVTL 페이로드(433)를 포함한다. AVTL 페이로드(433)에 포함된 정보가 데이터인 경우 AVTL 패킷(431)을 데이터 패킷(Data Packet)이라고 하며, AVTL 페이로드(433)에 포함된 정보가 제어 정보인 경우 AVTL 패킷(431)을 제어 패킷(Control Packet)이라고 한다.Referring to FIG. 4C, an 802.11 - AVTL packet 430 according to an embodiment of the present invention includes an AVTL packet 431 according to the present invention, which is not an IP packet, in the payload 424 of the 802.11 packet And the AVTL packet 431 includes an AVTL header 432 and an AVTL payload 433. [ When the information included in the AVTL payload 433 is data, the AVTL packet 431 is referred to as a data packet. When the information contained in the AVTL payload 433 is control information, the AVTL packet 431 is referred to as a data packet This is called a control packet.

802.2 LLC/SNAP 헤더(422)의 Type 필드(423)를 이용하여 페이로드(424)에 포함된 AVTL 패킷(431)이 데이터 패킷인지 제어 패킷인지를 나타낸다. 즉 Type 필드(423)가 0xXXXX 값을 가지면 페이로드(424)에 포함된 패킷이 AVTL 데이터 패킷임을 나타내고, 0xYYYY 값을 가지면 페이로드(424)에 포함된 패킷이 AVTL 제어 패킷임을 나타낸다. 여기서 XXXX 및 YYYY 값은 당업자가 적절히 정의하여 사용할 수 있다.It indicates whether the AVTL packet 431 included in the payload 424 is a data packet or a control packet using the Type field 423 of the 802.2 LLC / SNAP header 422. That is, if the Type field 423 has a value of 0xXXXX, it indicates that the packet included in the payload 424 is an AVTL data packet. If the Type field 423 has a value of 0xYYYY, it indicates that the packet included in the payload 424 is an AVTL control packet. Here, the values of XXXX and YYYY can be properly defined and used by those skilled in the art.

따라서 본 발명의 일 실시예에 의하면, 데이터 링크 계층에서 헤더를 분석하여 데이터 패킷과 제어 패킷을 구별할 수 있으며, 필요에 따라 데이터 패킷과 제어 패킷을 서로 다른 독립적인 절차에 의해 처리할 수 있게 된다. 즉, 도 3에서 볼 수 있는 것과 같이 AVTL 계층 이상에서 데이터 경로(301)와 제어 경로(302)가 완전히 구별되게 된다.Therefore, according to an embodiment of the present invention, it is possible to distinguish a data packet from a control packet by analyzing a header in the data link layer, and to process the data packet and the control packet according to different independent procedures as needed . That is, as can be seen in FIG. 3, the data path 301 and the control path 302 are completely distinguished from each other in the AVTL hierarchy or more.

일반적으로 데이터 패킷의 처리는 연산량이 많기 때문에, 데이터 처리 상의 지연을 감소시키기 위하여는 이를 하드웨어로 처리하는 것이 바람직하다. 반면에 제어 패킷의 처리는 연산량은 적지만 다양한 메시지를 처리해야 하기 때문에 하드웨어로 처리하는 것이 부적절하며 소프트웨어로 처리하는 것이 바람직하다. 따라서 본 발명의 일 실시예에서는, 데이터 링크 계층에서 헤더를 분석하여 데이터 패킷과 제어 패킷을 구별한 후, 데이터 패킷은 하드웨어로, 제어 패킷은 소프트웨어로 각각 처리함으로써 지연을 감소시키고 패킷을 효율적으로 처리할 수 있게 된다.Generally, since processing of a data packet has a large amount of computation, it is desirable to process it by hardware in order to reduce delay in data processing. On the other hand, the control packet processing requires a small amount of computation, but it is necessary to process various messages. Therefore, in one embodiment of the present invention, after analyzing the header in the data link layer to distinguish the data packet from the control packet, the data packet is processed by hardware and the control packet by software, respectively, .

도 5는 본 발명의 AVTL 데이터 패킷(500)의 일 실시예를 도시한 도면으로서, 도 5 (a)는 데이터 패킷의 형태(Format)를 나타낸 것이며, 도 5 (b)는 도 5 (a)에 표시된 각 필드의 설명을 표로 나타낸 것이다.5 (a) shows a format of a data packet, and FIG. 5 (b) shows an AVTL data packet 500 of FIG. 5 (a) And the description of each field shown in FIG.

도 5 (a)를 참조하면, 본 발명의 일 실시예에 의한 AVTL 데이터 패킷(500)은 6바이트 길이의 헤더(501)와 가변 길이의 페이로드(502)를 포함한다. 헤더(501)는 Version(503), Stream ID(504), Time Stamp Flag(505, T), Reserved(506), Source Packet Type(507), Num of Source Packets(508), Reserved(509), 및 Sequence Number(510) 등의 필드들을 포함한다.Referring to FIG. 5A, an AVTL data packet 500 according to an exemplary embodiment of the present invention includes a header 501 having a length of 6 bytes and a payload 502 having a variable length. The header 501 includes a version 503, a stream ID 504, a Time Stamp Flag 505, a Reserved 506, a Source Packet Type 507, Num of Source Packets 508, Reserved 509, And a sequence number (510).

도 5(b)를 참조하면, 2비트 길이의 Version 필드(503)는 ATVL 패킷의 버전을 나타내며, 5비트 길이의 Stream ID(504)는 AV 스트림을 구별할 수 있는 ID를 나타낸다.Referring to FIG. 5B, the 2-bit version field 503 indicates the version of the ATVL packet, and the 5-bit stream ID 504 indicates an ID capable of distinguishing the AV stream.

1비트 길이의 Time Stamp Flag 필드(505)는 페이로드(502)의 소스 패킷에 타임 스탬프 삽입 여부를 나타내는 필드이며, 타임 스탬프는 링크의 지터(jitter) 제어 또는 AV 데이터의 타이밍 제어를 위하여 사용된다.The 1-bit Time Stamp Flag field 505 is a field indicating whether a time stamp is inserted into the source packet of the payload 502, and the time stamp is used for jitter control of the link or timing control of the AV data .

도 6에 본 발명의 AVTL 패킷에 타임 스탬프를 삽입하는 방법의 실시예들이 도시되어 있다. 도 6을 참조하면, Time Stamp Flag(505) 필드의 값이 1일 때는 도 6 (a)와 같이 각 소스 패킷에 대하여 4 바이트 길이의 타임 스탬프가 추가되어 있음을 나타내고, 그 값이 0일 때에는 타임 스탬프가 없음을 나타낸다. 실시예에 따라, 4비트 길이의 Reserved 필드(506)의 한 비트를 이용하여 Time Stamp Flag(505)에 2비트를 할당할 수 있으며, 그 값이 2일 때는 도 6 (b)와 같이 소스 패킷의 집합 전 체에 대하여 하나의 타임 스탬프가 추가되어 있음을 나타낼 수 있다.FIG. 6 shows embodiments of a method of inserting a time stamp into the AVTL packet of the present invention. Referring to FIG. 6, when the value of the Time Stamp Flag field 505 is 1, a 4-byte time stamp is added to each source packet as shown in FIG. 6 (a). When the value is 0 Indicates no timestamp. According to the embodiment, two bits can be assigned to the time stamp flag 505 by using one bit of the 4-bit length reserved field 506. When the value is 2, Can be shown to have one timestamp added to the entire set of < RTI ID = 0.0 >

4비트 길이의 Source Packet Type 필드(507)는 소스 패킷의 종류를 나타내는 필드로서, 그 값이 0일 때는 188바이트 길이의 MPEG2-TS 패킷을 나타내며, 그 값이 1~15일 때에는 다른 종류의 소스 패킷을 나타낼 수 있다. 8비트 길이의 Num of Source Packets 필드(508)는 페이로드(502)에 포함된 소스 패킷들의 개수를 나타내며, 16비트 길이의 Sequence Number 필드(510)는 AVTL 데이터 패킷(500)이 하나 전송될 때마다 1씩 증가하는 번호를 나타낸다.A source packet type field 507 having a 4-bit length indicates a type of a source packet. When the value is 0, it indicates an MPEG2-TS packet having a length of 188 bytes. When the value is 1 to 15, Packets can be represented. The 8-bit Num of Source Packets field 508 indicates the number of source packets included in the payload 502, and the 16-bit Sequence Number field 510 indicates that when one AVTL data packet 500 is transmitted Each number is incremented by one.

AVTL 데이터 패킷(500)의 페이로드(502)는 도 6에 나타난 것과 같이 소스 패킷 및 타임 스탬프를 포함한다.The payload 502 of the AVTL data packet 500 includes a source packet and a timestamp, as shown in FIG.

도 7은 본 발명의 AVTL 제어 패킷(700)의 일 실시예를 도시한 도면으로서, 도 7 (a)는 제어 패킷의 형태를 나타낸 것이며, 도 7 (b)는 도 7 (a)에 표시된 각 필드의 설명을 표로 나타낸 것이다.7A and 7B illustrate an AVTL control packet 700 according to an embodiment of the present invention. FIG. 7A shows a control packet, FIG. 7B shows an AVTL control packet 700, The description of the field is shown in the table.

도 7 (a)를 참조하면, 본 발명의 일 실시예에 의한 AVTL 제어 패킷(700)은 4바이트 길이의 헤더(701)와 가변 길이의 페이로드(702)를 포함한다. 헤더(701)는 Version(703), Function Type(704), Reserved(705), Sequence Number(706), 및 Length(707) 등의 필드를 포함하며, 페이로드(702)는 OP Code(708) 및 Operand(709) 등의 필드를 포함한다.Referring to FIG. 7A, an AVTL control packet 700 according to an embodiment of the present invention includes a 4-byte-length header 701 and a variable-length payload 702. Header 701 includes fields such as Version 703, Function Type 704, Reserved 705, Sequence Number 706 and Length 707 and payload 702 includes fields such as OP Code 708, And an Operand 709 field.

도 7(b)를 참조하면, 2비트 길이의 Version 필드(703)는 ATVL 패킷의 버전을 나타낸다. 4비트 길이의 Function Type 필드(704)는 페이로드(702)데 포함된 제어 메시지의 기능 종류를 나타내며, 그 값이 0일 때는 컨텐츠 보호 제어(313)를, 그 값이 1일 때는 AV 능력 교환(312)을, 그 값이 2일 때는 연결 관리(314)를 각각 나타낸다. 3 내지 15의 값은 장치 제어(Device Control) 등 다른 기능 종류를 나타낼 수 있다.Referring to FIG. 7 (b), the 2-bit version field 703 indicates the version of the ATVL packet. The 4-bit length Function Type field 704 indicates the type of the control message included in the payload 702. When the value is 0, the content protection control 313 is set. When the value is 1, the AV capability exchange (312), and a connection management (314) when the value is 2, respectively. Values of 3 to 15 may indicate different types of functions such as Device Control.

8비트 길이의 Sequence Number 필드(706)는 AVTL 제어 패킷(700)이 하나 전송될 때마다 1씩 증가하는 번호를 나타내며, 16비트 길이의 Length 필드(707)는 페이로드(702)의 길이를 바이트 단위로 나타낸다.The 8-bit length Sequence Number field 706 indicates a number incremented by 1 each time one AVTL control packet 700 is transmitted. The 16-bit Length field 707 indicates the length of the payload 702 as bytes .

8비트 길이의 OP Code 필드(708)는 AVTL 제어 메시지의 종류를 나타내는 코드이며, Operand 필드(709)에 AVTL 제어 명령 또는 응답 메시지가 포함된다.The 8-bit OP Code field 708 is a code indicating the type of the AVTL control message, and the Operand field 709 includes an AVTL control command or a response message.

도 8은 본 발명의 일 실시예에 의한 AVTL 제어 패킷의 페이로드(702)에 포함되는 AVTL 제어 메시지들을 나타낸 표이다.8 is a table showing AVTL control messages included in the payload 702 of the AVTL control packet according to an embodiment of the present invention.

도 8을 참조하면, 컨텐츠 보호 제어(313) 관련 메시지로서 컨텐츠 보호 명령을 전달하는 CP_CONTROL_COMMAND 메시지 및 그에 대한 응답인 CP_CONTROL_RESPONSE 메시지 등이 있다. 이들을 이용하여 HDCP2-IIA AKE(Authentication Key Exchange) 메시지들을 교환할 수 있다. 표 오른쪽의 S 및 D 칸은 각각 AV 데이터 전송측(AV Source)에서 전송하는 메시지, AV 데이터 수신측(AV Destination)에서 전송하는 메시지임을 나타낸다.Referring to FIG. 8, there is a CP_CONTROL_COMMAND message for transmitting a content protection command as a content protection control 313 related message, and a CP_CONTROL_RESPONSE message as a response thereto. These can be used to exchange HDCP2-IIA AKE (Authentication Key Exchange) messages. S and D columns on the right side of the table indicate messages transmitted from the AV data transmission side (AV Source) and messages transmitted from the AV data reception side (AV Destination), respectively.

AV 능력 교환(312) 관련 메시지로서 AV 기기의 능력에 관한 정보를 요청하는 AV_PROBE_REQUEST 메시지 및 그에 대한 응답인 AV_PROBE_RESPONSE 메시지 등이 있다. 이들을 이용하여 AV 장치 종류, 비디오 코덱(Codec) 종류, 또는 오디오 코덱 종류 등을 나타내는 AV_GENERAL_INFO_IB, 비디오 해상도 등을 나타내는 SUPPORTED_VIDEO_FORMAT_IB, 및 오디오 포맷 등을 나타내는 SUPPORTED_AUDIO_FORMAT_IB와 같은 장치 AV 정보 블록(Device AV Information Block)들을 교환할 수 있다.An AV_PROBE_REQUEST message for requesting information on the capability of the AV device as the AV capability exchange 312 related message, and an AV_PROBE_RESPONSE message as a response thereto. AV_GENERAL_INFO_IB indicating a type of an AV device, a type of a video codec or an audio codec, a SUPPORTED_VIDEO_FORMAT_IB indicating a video resolution, and a device AV information block such as a SUPPORTED_AUDIO_FORMAT_IB indicating an audio format, Exchangeable.

연결 관리(314) 관련 메시지로서 연결 설정을 요청하는 CONNECTION_SETUP_REQUEST 메시지, 그에 대한 응답인 CONNECTION_SETUP_RESPONSE 메시지, 연결 해제를 알리는 CONNECTION_BREAK_NOTIFY 메시지, 스트림의 전송 시작을 알리는 STREAM_START_NOTIFY 메시지, 장면 손실(Picture loss) 또는 조각 손실(Slice loss) 등의 오류 발생을 알리는 ERROR_FEEDBACK_NOTIFY 메시지, 연결 상태의 변경을 요청하는 AV_ADAPTATION_REQUEST 메시지, 및 그에 대한 응답인 AV_ADAPTATION_RESPONSE 메시지 등이 있다. 이 중에서 STREAM_START_NOTIFY 메시지 및 AV_ADAPTATION_RESPONSE 메시지는 AV 데이터 전송측에서 전송하며, ERROR_FEEDBACK_NOTIFY 메시지 및 AV_ADAPTATION_REQUEST 메시지는 AV 데이터 수신측에서 전송하고, 나머지 메시지는 양측에서 모두 전송할 수 있다.A CONNECTION_SETUP_RESPONSE message that is a response to the CONNECTION_SETUP_RESPONSE message, a CONNECTION_BREAK_NOTIFY message that notifies the connection release, a STREAM_START_NOTIFY message that notifies the start of transmission of the stream, a Picture loss or a Slice loss, etc., an AV_ADAPTATION_REQUEST message for requesting a change of the connection state, and an AV_ADAPTATION_RESPONSE message for responding thereto. Of these, the STREAM_START_NOTIFY message and the AV_ADAPTATION_RESPONSE message are transmitted from the AV data transmission side, the ERROR_FEEDBACK_NOTIFY message and the AV_ADAPTATION_REQUEST message are transmitted from the AV data reception side, and the remaining messages can be transmitted from both sides.

이상에서 설명한 것과 같이 본 발명에 따른 단순한 구조의 AVTL 패킷을 사용하면 종래의 IP 패킷을 사용하는 경우보다 더 빠르고 효율적으로 패킷을 처리할 수 있어 데이터 처리의 지연을 줄일 수 있게 된다.As described above, the use of the AVTL packet of the simple structure according to the present invention can process packets more quickly and efficiently than in the case of using the conventional IP packet, thereby reducing the data processing delay.

도 9는 본 발명의 일 실시예에 의한 패킷 생성 방법의 흐름을 개략적으로 도시한 흐름도이며, 도 11은 본 발명의 일 실시예에 의한 패킷 생성 장치의 구성을 개략적으로 도시한 도면이다. 설명의 편의를 위하여 방법과 장치를 함께 서술하도록 한다.FIG. 9 is a flowchart schematically showing a flow of a packet generating method according to an embodiment of the present invention, and FIG. 11 is a view schematically showing a configuration of a packet generating apparatus according to an embodiment of the present invention. For convenience of description, the method and apparatus are described together.

도 9 및 도 11을 참조하면, 본 발명의 일 실시예에 의한 패킷 생성 장치는 판단부(1110), 헤더 생성부(1120), 및 캡슐화부(1130)를 포함하며, 판단부(1110)는 전송할 정보가 데이터인지 제어 정보인지를 판단하고(S910), 헤더 생성부(1120)는 상기 판단 결과에 따라 데이터 패킷과 제어 패킷을 구별하는 정보가 포함된 데이터 링크 계층 패킷 헤더(421, 422)를 생성하고(S920), 캡슐화부(1130)는 상기 전송할 정보를 상기 데이터 링크 계층 패킷 헤더(421, 422)로 캡슐화하여(S930) 본 발명에 의한 데이터 링크 계층 패킷(430)을 생성한다.9 and 11, a packet generating apparatus according to an embodiment of the present invention includes a determining unit 1110, a header generating unit 1120, and an encapsulating unit 1130. The determining unit 1110 In step S910, the header generation unit 1120 determines whether the information to be transmitted is data or control information. The header generation unit 1120 generates data link layer packet headers 421 and 422 including information for distinguishing data packets from control packets according to the determination result The encapsulator 1130 generates the data link layer packet 430 according to the present invention by encapsulating the information to be transmitted in the data link layer packet header 421 and 422 in operation S930.

도 10는 본 발명의 일 실시예에 의한 패킷 처리 방법의 흐름을 개략적으로 도시한 흐름도이며, 도 12는 본 발명의 일 실시예에 의한 패킷 처리 장치의 구성을 개략적으로 도시한 도면이다.FIG. 10 is a flowchart schematically illustrating a flow of a packet processing method according to an embodiment of the present invention, and FIG. 12 is a view schematically showing a configuration of a packet processing apparatus according to an embodiment of the present invention.

도 10 및 도 12를 참조하면, 본 발명의 일 실시예에 의한 패킷 처리 장치는 판단부(1210)및 처리부(1220)를 포함하며, 판단부(1210)는 데이터 링크 계층 패킷(430)의 헤더(421, 422)를 분석하여 데이터 링크 계층의 페이로드(424)에 포함된 상위 계층 패킷(431)이 데이터 패킷인지 또는 제어 패킷인지를 판단하고(S1010), 처리부(1220)는 상기 판단 결과에 따라 상기 데이터 패킷과 상기 제어 패킷을 독립적인 절차에 따라 처리한다(S1020).10 and 12, a packet processing apparatus according to an embodiment of the present invention includes a determination unit 1210 and a processing unit 1220. The determination unit 1210 determines a header of a data link layer packet 430, The processing unit 1220 determines whether the upper layer packet 431 included in the payload 424 of the data link layer is a data packet or a control packet by analyzing the data link layer 421 or 422 The data packet and the control packet are processed according to an independent procedure (S1020).

이때 처리부(1220)는, 상기 상위 계층 패킷이 데이터 패킷인 경우 상기 데이터 패킷을 하드웨어로 처리하고(S1021), 상기 상위 계층 패킷이 제어 패킷인 경우 상기 제어 패킷을 소프트웨어로 처리한다(S1022).If the upper layer packet is a data packet, the processing unit 1220 processes the data packet with hardware (S1021). If the upper layer packet is a control packet, the processing unit 1220 processes the control packet with software (S1022).

본 발명에 따르면, AV 데이터 전송시 불필요하게 복잡한 종래의 인터넷 프로 토콜보다 단순한 프로토콜을 사용함으로써 AV 데이터 전송을 효율적으로 할 수 있으며, 데이터 링크 계층에서 데이터 패킷과 제어 패킷을 구별할 수 있도록 함으로써 데이터 패킷을 하드웨어로 처리하여 처리속도를 높일 수 있게 된다.According to the present invention, AV data transmission can be efficiently performed by using a protocol that is simpler than a conventional Internet protocol, which is unnecessarily complicated at the time of AV data transmission, and data packets can be distinguished from control packets at the data link layer, Can be processed by hardware to increase the processing speed.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers of the technical field to which the present invention belongs.

지금까지 본 발명에 대하여 도면에 도시된 바람직한 실시예들을 중심으로 상세히 살펴보았다. 이러한 실시예들은 이 발명을 한정하려는 것이 아니라 예시적인 것에 불과하며, 한정적인 관점이 아닌 설명적인 관점에서 고려되어야 한다. 본 명세서에 특정한 용어들이 사용되었으나 이는 단지 본 발명의 개념을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 청구범위에서 청구하는 본 발명의 본질적인 기술사상에서 벗어나지 않는 범위에서 본 발명의 원리를 구현하는 다양한 변형 형태 및 균등한 타 실시예로 구현될 수 있음을 이해할 수 있을 것이다.The present invention has been described in detail with reference to the preferred embodiments shown in the drawings. These embodiments are not intended to limit the invention, but merely as illustrative and should be considered in an illustrative rather than a restrictive sense. Although specific terms have been employed herein, they are used for purposes of describing the concept of the invention only and are not used to limit the scope of the invention as defined in the claims or the claims. Therefore, those of ordinary skill in the art will appreciate that the present invention is not limited to the embodiments described herein, but may be embodied in many other specific forms without departing from its spirit or essential characteristics. It will be understood that the invention may be embodied in other specific forms without departing from the spirit or scope of the invention.

본 발명의 진정한 기술적 보호범위는 전술한 설명이 아니라 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 하며, 그와 동등한 범위 내에 있는 모든 구조적 및 기능적 균등물은 본 발명에 포함되는 것으로 해석되어야 할 것이다. 이러한 균등물은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 구성요소를 포함하는 것으로 이해되어야 한다.It will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the appended claims and their equivalents. . It is to be understood that such equivalents include all components that are invented in order to perform the same function irrespective of the currently known equivalents as well as the equivalents to be developed in the future.

도 1은 AV 송신 장치에서 AV 수신 장치에 AV 데이터를 무선으로 전송하는 구성을 대략적으로 도시한 도면이다.1 schematically shows a configuration for wirelessly transmitting AV data to an AV receiving apparatus in the AV transmitting apparatus.

도 2는 종래의 RTP/RTSP 기반의 인터넷 프로토콜들을 이용하여 AV 데이터를 전송하기 위한 프로토콜 스택의 일 실시예를 개략적으로 도시한 도면이다.2 is a diagram schematically showing an embodiment of a protocol stack for transmitting AV data using conventional RTP / RTSP based internet protocols.

도 3은 본 발명에 의하여 AV 데이터를 전송하기 위한 프로토콜 스택의 일 실시예를 개략적으로 도시한 도면이다.3 is a diagram schematically showing an embodiment of a protocol stack for transmitting AV data according to the present invention.

도 4는 데이터 링크 계층 패킷들을 비교한 도면이다.4 is a diagram comparing data link layer packets.

도 5는 본 발명의 AVTL 데이터 패킷의 일 실시예를 도시한 도면이다.5 is a diagram illustrating an embodiment of an AVTL data packet of the present invention.

도 6은 본 발명의 AVTL 패킷에 타임 스탬프를 삽입하는 방법의 실시예들을 도시한 도면이다.6 is a diagram illustrating embodiments of a method of inserting a time stamp into an AVTL packet of the present invention.

도 7은 본 발명의 AVTL 제어 패킷의 일 실시예를 도시한 도면이다.7 is a diagram illustrating an embodiment of an AVTL control packet of the present invention.

도 8은 본 발명의 일 실시예에 의한 AVTL 제어 패킷의 페이로드에 포함되는 AVTL 제어 메시지들을 나타낸 표이다.8 is a table showing AVTL control messages included in a payload of an AVTL control packet according to an embodiment of the present invention.

도 9는 본 발명의 일 실시예에 의한 패킷 생성 방법의 흐름을 개략적으로 도시한 흐름도이다.9 is a flowchart schematically showing the flow of a packet generation method according to an embodiment of the present invention.

도 10는 본 발명의 일 실시예에 의한 패킷 처리 방법의 흐름을 개략적으로 도시한 흐름도이다.10 is a flowchart schematically showing a flow of a packet processing method according to an embodiment of the present invention.

도 11은 본 발명의 일 실시예에 의한 패킷 생성 장치의 구성을 개략적으로 도시한 도면이다.11 is a view schematically showing a configuration of a packet generating apparatus according to an embodiment of the present invention.

도 12는 본 발명의 일 실시예에 의한 패킷 처리 장치의 구성을 개략적으로 도시한 도면이다.12 is a diagram schematically showing a configuration of a packet processing apparatus according to an embodiment of the present invention.

Claims (29)

전송할 정보가 AV(Audio/Video) 데이터인지 제어 정보인지를 판단하는 단계;Determining whether the information to be transmitted is audio / video (AV) data or control information; 상기 판단 결과에 따라 상기 AV 데이터를 포함하는 데이터 패킷과 상기 제어 정보를 포함하는 제어 패킷을 구별하는 정보가 포함된 데이터 링크 계층 패킷 헤더를 생성하는 단계; 및Generating a data link layer packet header including information for distinguishing between a data packet including the AV data and a control packet including the control information according to the determination result; And 상기 전송할 정보에 상기 데이터 링크 계층 패킷 헤더를 부가하는 단계를 포함하고,And adding the data link layer packet header to the information to be transmitted, 상기 전송할 정보가 상기 AV 데이터인 경우,If the information to be transmitted is the AV data, 상기 데이터 패킷의 페이로드는 하나 이상의 소스 패킷 및 상기 하나 이상의 소스 패킷 각각에 대하여 삽입된 하나 이상의 타임 스탬프 또는 상기 하나 이상의 소스 패킷 전체에 대하여 삽입된 하나의 타임 스탬프를 포함하는 것을 특징으로 하는 패킷 생성 방법.Wherein the payload of the data packet comprises one or more source packets and one timestamp inserted for each of the one or more source packets or one timestamp inserted for the entire one or more source packets. Way. 제1항에 있어서,The method according to claim 1, 상기 패킷을 구별하는 정보는,The information for distinguishing the packet includes: 802.2 LLC/SNAP 헤더의 Type 필드에 포함되는 것을 특징으로 하는 패킷 생성 방법.Lt; RTI ID = 0.0 > LLC / SNAP < / RTI > header. 제1항에 있어서,The method according to claim 1, 상기 데이터 링크 계층 패킷 헤더를 부가하는 단계는,The step of adding the data link layer packet header comprises: 상기 전송할 정보 및 상위 계층 패킷 헤더를 포함하는 상위 계층 패킷을 생성하는 단계; 및Generating an upper layer packet including information to be transmitted and an upper layer packet header; And 상기 상위 계층 패킷에 상기 데이터 링크 계층 패킷 헤더를 부가하는 단계를 포함하는 것을 특징으로 하는 패킷 생성 방법.And adding the data link layer packet header to the higher layer packet. 삭제delete 삭제delete 제3항에 있어서,The method of claim 3, 상기 상위 계층 패킷 헤더는,Wherein the upper layer packet header comprises: 스트림 ID, 타임 스탬프 플래그, 소스 패킷 종류, 소스 패킷 개수, 및 패킷 번호 중 어느 하나를 포함하는 것을 특징으로 하는 패킷 생성 방법.Stream ID, time stamp flag, source packet type, source packet number, and packet number. 제3항에 있어서,The method of claim 3, 상기 전송할 정보가 상기 제어 정보인 경우,When the information to be transmitted is the control information, 상기 상위 계층 패킷 헤더는,Wherein the upper layer packet header comprises: 메시지 종류, 패킷 번호, 페이로드 길이, 및 메시지 코드 중 어느 하나를 포함하며,A message type, a packet number, a payload length, and a message code, 상기 메시지 종류는 컨텐츠 보호 제어, AV 능력 교환, 및 연결 관리 중 어느 하나를 포함하는 것을 특징으로 하는 패킷 생성 방법.Wherein the message type includes one of content protection control, AV capability exchange, and connection management. 제7항에 있어서,8. The method of claim 7, 상기 메시지 종류가 컨텐츠 보호 제어인 경우 상기 전송할 정보는 컨텐츠 보호 명령 메시지 및 컨텐츠 보호 응답 메시지 중 어느 하나를 포함하며,Wherein if the message type is a content protection control, the information to be transmitted includes one of a content protection command message and a content protection response message, 상기 메시지 종류가 AV 능력 교환인 경우 상기 전송할 정보는 AV 프로브 요청 메시지 및 AV 프로브 응답 메시지 중 어느 하나를 포함하며,Wherein if the message type is an AV capability exchange, the information to be transmitted includes one of an AV probe request message and an AV probe response message, 상기 메시지 종류가 연결 관리인 경우 상기 전송할 정보는 연결 설정 요청 메시지, 연결 설정 응답 메시지, 연결 해제 통지 메시지, 스트림 시작 통지 메시지, 오류 피드백 통지 메시지, AV 적응 요청 메시지, 및 AV 적응 응답 메시지 중 어느 하나를 포함하는 것을 특징으로 하는 패킷 생성 방법.If the message type is connection management, the information to be transmitted includes one of a connection setup request message, a connection setup response message, a connection release notification message, a stream start notification message, an error feedback notification message, an AV adaptation request message, and an AV adaptation response message And transmitting the packet to the destination. 데이터 링크 계층 패킷의 헤더를 분석하여 데이터 링크 계층 패킷의 페이로드에 포함된 상위 계층 패킷이 데이터 패킷인지 또는 제어 패킷인지를 판단하는 단계; 및Analyzing a header of the data link layer packet to determine whether the upper layer packet included in the payload of the data link layer packet is a data packet or a control packet; And 상기 판단 결과에 따라 상기 데이터 패킷과 상기 제어 패킷을 독립적인 절차에 따라 처리하는 단계를 포함하고,And processing the data packet and the control packet according to an independent procedure according to the determination result, 상기 상위 계층 패킷이 상기 데이터 패킷인 경우,When the upper layer packet is the data packet, 상기 상위 계층 패킷의 페이로드는 하나 이상의 소스 패킷 및 상기 하나 이상의 소스 패킷 각각에 대하여 삽입된 하나 이상의 타임 스탬프 또는 상기 하나 이상의 소스 패킷 전체에 대하여 삽입된 하나의 타임 스탬프를 포함하는 것을 특징으로 하는 패킷 처리 방법.Wherein the payload of the upper layer packet comprises one or more source packets and one timestamp inserted for each of the one or more source packets or one timestamp inserted for the entire one or more source packets. Processing method. 제 9항에 있어서,10. The method of claim 9, 상기 처리하는 단계는,Wherein the processing comprises: 상기 상위 계층 패킷이 데이터 패킷인 경우, 상기 데이터 패킷을 하드웨어로 처리하는 단계; 및Processing the data packet with hardware if the upper layer packet is a data packet; And 상기 상위 계층 패킷이 제어 패킷인 경우, 상기 제어 패킷을 소프트웨어로 처리하는 단계를 포함하는 것을 특징으로 하는 패킷 처리 방법.And when the upper layer packet is a control packet, processing the control packet with software. 제9항에 있어서,10. The method of claim 9, 상기 판단하는 단계는,Wherein the determining step comprises: 802.2 LLC/SNAP 헤더의 Type 필드를 참조하여 판단하는 것을 특징으로 하는 패킷 처리 방법.And determining by referring to the Type field of the 802.2 LLC / SNAP header. 삭제delete 삭제delete 제9항에 있어서,10. The method of claim 9, 상기 상위 계층 패킷의 헤더는,The header of the upper layer packet includes: 스트림 ID, 타임 스탬프 플래그, 소스 패킷 종류, 소스 패킷 개수, 및 패킷 번호 중 어느 하나를 포함하는 것을 특징으로 하는 패킷 처리 방법.Stream ID, timestamp flag, source packet type, source packet number, and packet number. 제9항에 있어서,10. The method of claim 9, 상기 상위 계층 패킷이 상기 제어 패킷인 경우,If the higher layer packet is the control packet, 상기 상위 계층 패킷의 헤더는,The header of the upper layer packet includes: 메시지 종류, 패킷 번호, 페이로드 길이, 및 메시지 코드 중 어느 하나를 포함하며,A message type, a packet number, a payload length, and a message code, 상기 메시지 종류는 컨텐츠 보호 제어, AV 능력 교환, 및 연결 관리 중 어느 하나를 포함하는 것을 특징으로 하는 패킷 처리 방법.Wherein the message type includes one of content protection control, AV capability exchange, and connection management. 제15항에 있어서,16. The method of claim 15, 상기 메시지 종류가 컨텐츠 보호 제어인 경우 상기 상위 계층 패킷은 컨텐츠 보호 명령 메시지 및 컨텐츠 보호 응답 메시지 중 어느 하나를 포함하며,Wherein if the message type is a content protection control, the upper layer packet includes one of a content protection command message and a content protection response message, 상기 메시지 종류가 AV 능력 교환인 경우 상기 상위 계층 패킷은 AV 프로브 요청 메시지 및 AV 프로브 응답 메시지 중 어느 하나를 포함하며,Wherein if the message type is an AV capability exchange, the upper layer packet includes one of an AV probe request message and an AV probe response message, 상기 메시지 종류가 연결 관리인 경우 상기 상위 계층 패킷은 연결 설정 요청 메시지, 연결 설정 응답 메시지, 연결 해제 통지 메시지, 스트림 시작 통지 메시지, 오류 피드백 통지 메시지, AV 적응 요청 메시지, 및 AV 적응 응답 메시지 중 어느 하나를 포함하는 것을 특징으로 하는 패킷 처리 방법.If the type of the message is connection management, the upper layer packet transmits either a connection setup request message, a connection setup response message, a connection release notification message, a stream start notification message, an error feedback notification message, an AV adaptation request message, And transmitting the packet. 전송할 정보가 AV 데이터인지 제어 정보인지를 판단하는 판단부;A determination unit determining whether the information to be transmitted is AV data or control information; 상기 판단 결과에 따라 상기 AV 데이터를 포함하는 데이터 패킷과 상기 제어 정보를 포함하는 제어 패킷을 구별하는 정보가 포함된 데이터 링크 계층 패킷 헤더를 생성하는 헤더 생성부; 및A header generating unit for generating a data link layer packet header including information for distinguishing between a data packet including the AV data and a control packet including the control information according to the determination result; And 상기 전송할 정보에 상기 데이터 링크 계층 패킷 헤더를 부가하는 캡슐화부를 포함하고,And an encapsulator for adding the data link layer packet header to the information to be transmitted, 상기 전송할 정보가 상기 AV 데이터인 경우,If the information to be transmitted is the AV data, 상기 데이터 패킷의 페이로드는 하나 이상의 소스 패킷 및 상기 하나 이상의 소스 패킷 각각에 대하여 삽입된 하나 이상의 타임 스탬프 또는 상기 하나 이상의 소스 패킷 전체에 대하여 삽입된 하나의 타임 스탬프를 포함하는 것을 특징으로 하는 패킷 생성 장치.Wherein the payload of the data packet comprises one or more source packets and one timestamp inserted for each of the one or more source packets or one timestamp inserted for the entire one or more source packets. Device. 제17항에 있어서,18. The method of claim 17, 상기 캡슐화부는,The encapsulation unit may include: 상기 전송할 정보 및 상위 계층 패킷 헤더를 포함하는 상위 계층 패킷을 생성하고,An upper layer packet including information to be transmitted and an upper layer packet header, 상기 상위 계층 패킷에 상기 데이터 링크 계층 패킷 헤더를 부가하는 것을 특징으로 하는 패킷 생성 장치.And adds the data link layer packet header to the higher layer packet. 삭제delete 삭제delete 제18항에 있어서,19. The method of claim 18, 상기 전송할 정보가 제어 정보인 경우,If the information to be transmitted is control information, 상기 상위 계층 패킷 헤더는,Wherein the upper layer packet header comprises: 메시지 종류, 패킷 번호, 페이로드 길이, 및 메시지 코드 중 어느 하나를 포함하며,A message type, a packet number, a payload length, and a message code, 상기 메시지 종류는 컨텐츠 보호 제어, AV 능력 교환, 및 연결 관리 중 어느 하나를 포함하는 것을 특징으로 하는 패킷 생성 장치.Wherein the message type includes any one of content protection control, AV capability exchange, and connection management. 데이터 링크 계층 패킷의 헤더를 분석하여 데이터 링크 계층 패킷의 페이로드에 포함된 상위 계층 패킷이 데이터 패킷인지 또는 제어 패킷인지를 판단하는 판단부; 및A determiner for analyzing a header of the data link layer packet to determine whether the upper layer packet included in the payload of the data link layer packet is a data packet or a control packet; And 상기 판단 결과에 따라 상기 데이터 패킷과 상기 제어 패킷을 독립적인 절차에 따라 처리하는 처리부를 포함하고And a processor for processing the data packet and the control packet according to an independent procedure according to the determination result 상기 상위 계층 패킷이 데이터 패킷인 경우, 상기 상위 계층 패킷의 페이로드는 하나 이상의 소스 패킷 및 상기 하나 이상의 소스 패킷 각각에 대하여 삽입된 하나 이상의 타임 스탬프 또는 상기 하나 이상의 소스 패킷 전체에 대하여 삽입된 하나의 타임 스탬프를 포함하는 것을 특징으로 하는 패킷 처리 장치.If the upper layer packet is a data packet, the payload of the upper layer packet includes one or more source packets and one or more time stamps inserted for each of the one or more source packets, or one And a time stamp. 제 22항에 있어서,23. The method of claim 22, 상기 처리부는,Wherein, 상기 상위 계층 패킷이 데이터 패킷인 경우 상기 데이터 패킷을 하드웨어로 처리하고, 상기 상위 계층 패킷이 제어 패킷인 경우 상기 제어 패킷을 소프트웨어로 처리하는 것을 특징으로 하는 패킷 처리 장치.Processing the data packet by hardware when the upper layer packet is a data packet, and processing the control packet by software when the upper layer packet is a control packet. 삭제delete 삭제delete 제22항에 있어서,23. The method of claim 22, 상기 상위 계층 패킷이 제어 패킷인 경우,If the higher layer packet is a control packet, 상기 상위 계층 패킷의 헤더는,The header of the upper layer packet includes: 메시지 종류, 패킷 번호, 페이로드 길이, 및 메시지 코드 중 어느 하나를 포함하며,A message type, a packet number, a payload length, and a message code, 상기 메시지 종류는 컨텐츠 보호 제어, AV 능력 교환, 및 연결 관리 중 어느 하나를 포함하는 것을 특징으로 하는 패킷 처리 장치.Wherein the message type includes one of content protection control, AV capability exchange, and connection management. 헤더에 데이터 패킷과 제어 패킷을 구별하는 정보가 포함된 데이터 링크 계층 패킷을 송신하는 송신기; 및A transmitter for transmitting a data link layer packet including information for identifying a data packet and a control packet in a header; And 상기 데이터 링크 계층 패킷을 수신한 후 헤더를 분석하여 데이터 패킷과 제어 패킷을 독립적인 절차에 따라 처리하는 수신기를 포함하고,And a receiver for analyzing a header after receiving the data link layer packet and processing the data packet and the control packet according to an independent procedure, 상기 데이터 링크 계층 패킷의 페이로드에 포함된 상위 계층 패킷이 데이터 패킷인 경우, 상기 상위 계층 패킷의 페이로드는 하나 이상의 소스 패킷 및 상기 하나 이상의 소스 패킷 각각에 대하여 삽입된 타임 스탬프 또는 상기 하나 이상의 소스 패킷 전체에 대하여 삽입된 하나의 타임 스탬프를 포함하는 것을 특징으로 하는 패킷 전송 시스템.If the upper layer packet included in the payload of the data link layer packet is a data packet, the payload of the upper layer packet includes one or more source packets and a time stamp inserted for each of the one or more source packets, And a time stamp inserted into the entire packet. 삭제delete 제1항 내지 제3항, 제6항 내지 제11항 및 제14항 내지 제16항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium storing a program for causing a computer to execute the method of any one of claims 1 to 3, 6 to 11, and 14 to 16.
KR1020090088430A 2008-12-30 2009-09-18 Method and apparatus for processing packet KR101757459B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/648,432 US8358670B2 (en) 2008-12-30 2009-12-29 Method and apparatus for processing packet
PCT/KR2009/007849 WO2010077046A2 (en) 2008-12-30 2009-12-29 Method and apparatus for processing packet

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14132708P 2008-12-30 2008-12-30
US61/141,327 2008-12-30

Publications (2)

Publication Number Publication Date
KR20100080330A KR20100080330A (en) 2010-07-08
KR101757459B1 true KR101757459B1 (en) 2017-07-12

Family

ID=42641290

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090088430A KR101757459B1 (en) 2008-12-30 2009-09-18 Method and apparatus for processing packet

Country Status (1)

Country Link
KR (1) KR101757459B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUE054404T2 (en) 2011-01-19 2021-09-28 Samsung Electronics Co Ltd Apparatus and method for receiving a control message in a broadcast system
KR101910666B1 (en) * 2011-09-06 2018-10-23 한국전력공사 PLC wireless Repeater and communication method using the same
US9853895B2 (en) 2014-08-12 2017-12-26 Lg Electronics Inc. Broadcast signal transmitting method, broadcast signal receiving method, broadcast signal transmitting apparatus, and broadcast signal receiving apparatus

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080291324A1 (en) * 2007-05-22 2008-11-27 Samsung Electronics Co., Ltd. Packet generating method in wireless hdmi cec

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080291324A1 (en) * 2007-05-22 2008-11-27 Samsung Electronics Co., Ltd. Packet generating method in wireless hdmi cec

Also Published As

Publication number Publication date
KR20100080330A (en) 2010-07-08

Similar Documents

Publication Publication Date Title
US8358670B2 (en) Method and apparatus for processing packet
US10728591B2 (en) Method of configuring and transmitting an MMT transport packet
KR102019101B1 (en) Method of transferring media contents over single port or multiple port and apparatus for performing the same
TWI388170B (en) Streaming data content in a network
JP6719481B2 (en) Method and apparatus for transmitting and receiving service signaling for broadcast service
US9872051B2 (en) Method and apparatus for transceiving data for multimedia transmission system
US10484445B2 (en) Apparatus and method for transmitting multimedia data in a broadcast system
WO2007045140A1 (en) A real-time method for transporting multimedia data
US10477282B2 (en) Method and system for monitoring video with single path of video and multiple paths of audio
WO2012094915A1 (en) Method and system for implementing forward error correction for streaming media
US10630656B2 (en) System and method of encrypted media encapsulation
KR20190132323A (en) Method configuring and transmitting mmt transport packet
US20040174874A1 (en) AV data transmission and reception scheme for realizing copyright protection
WO2018121584A1 (en) Data stream transmission method, apparatus, related devices and storage medium
KR101757459B1 (en) Method and apparatus for processing packet
WO2012094994A1 (en) Method and system for realizing lost package retransmission in streaming media
JP6811613B2 (en) Transmitter, transmitter, receiver and receiver
JP2020074589A (en) Transmission method
EP2188973B1 (en) Method, server and client apparatuses for transferring high resolution multimedia data in a high speed network
KR20130070330A (en) System and method for converting http live streaming protocol to rtsp protocol in mobile rnvironment

Legal Events

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