KR20060057823A - Mac controller for high speed multimedia streaming and method of the same - Google Patents
Mac controller for high speed multimedia streaming and method of the same Download PDFInfo
- Publication number
- KR20060057823A KR20060057823A KR1020040097005A KR20040097005A KR20060057823A KR 20060057823 A KR20060057823 A KR 20060057823A KR 1020040097005 A KR1020040097005 A KR 1020040097005A KR 20040097005 A KR20040097005 A KR 20040097005A KR 20060057823 A KR20060057823 A KR 20060057823A
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- data
- unit
- parameter
- network connection
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
Abstract
고속 멀티미디어 스트리밍을 위한 MAC 제어장치 및 방법이 개시된다. 네트워크접속부는 물리적 네트워크에 접속되어 이더넷을 통해 멀티미디어 데이터를 제공하는 서버와 데이터를 송수신한다. 필터링제어부는 네트워크접속부를 통해 유입되는 프레임에 대한 선별처리여부를 결정하고, 프레임에 대한 선별처리에 사용되는 파라미터를 결정한다. 필터링엔진은 필터링제어부에 의해 프레임에 대한 선별처리가 결정되면, 네트워크접속부를 통해 유입되는 프레임 중에서 파라미터를 기초로 선별처리대상 프레임을 선택하여 출력한다. 버퍼에는 필터링엔진으로부터 입력되는 고속대용량의 선별처리대상 프레임이 저장된다. 본 발명에 따르면, 메인 CPU의 자원을 유보하게 함으로써 전체 임베디드 시스템의 성능 저하를 방지할 수 있으며, 메인 CPU와 주변 장치사이의 데이터 전송 대역폭을 줄임으로서 전반적인 시스템의 성능 향상을 기대할 수 있다.An apparatus and method for controlling MAC for high speed multimedia streaming is disclosed. The network connection unit is connected to a physical network to transmit and receive data with a server providing multimedia data via Ethernet. The filtering control unit determines whether or not to sort the frame introduced through the network connection unit, and determines a parameter used for the filtering process for the frame. When the screening process for the frame is determined by the filtering controller, the filtering engine selects and outputs the screening target frame based on the parameter from the frames flowing through the network connection unit. The buffer stores the high-speed large-capacity sorting processing frame input from the filtering engine. According to the present invention, it is possible to prevent the degradation of the performance of the entire embedded system by reserving the resources of the main CPU, and to improve the performance of the overall system by reducing the data transfer bandwidth between the main CPU and peripheral devices.
이더넷, 프레임, 선별처리, TCP/IP, MACEthernet, Frame, Screening, TCP / IP, MAC
Description
도 1은 네트워크를 이용한 다양한 미디어 컨텐츠 서비스의 일반적인 예를 도시한 도면,1 is a diagram illustrating a general example of various media content services using a network;
도 2는 네트워크를 통해 미디어 데이터를 전송하기 위해 사용되는 일반적인 프로토콜들을 도시한 도면,2 illustrates general protocols used for transmitting media data over a network;
도 3은 단말기의 상세한 구성을 도시한 도면,3 illustrates a detailed configuration of a terminal;
도 4a 및 도 4b는 AV 데이터 처리 방법에 따른 상이한 시스템 구성을 도시한 도면,4A and 4B show different system configurations according to the AV data processing method;
도 5는 본 발명에 따른 고속 멀티미디어 스트리밍을 위한 MAC 제어장치의 상세한 구성을 도시한 블록도,5 is a block diagram showing a detailed configuration of an apparatus for controlling MAC for high speed multimedia streaming according to the present invention;
도 6은 이더넷을 통하여 전송되는 IP 패킷의 구조를 도시한 도면,6 is a diagram illustrating a structure of an IP packet transmitted through Ethernet;
도 7은 필터링엔진의 상세한 구성을 도시한 블록도,7 is a block diagram showing a detailed configuration of a filtering engine;
도 8은 에러검출부의 상세한 구성을 도시한 도면, 그리고,8 is a diagram showing a detailed configuration of an error detection unit, and
도 9는 본 발명에 따른 고속 멀티미디어 스트리밍을 위한 MAC 제어방법의 수행과정을 도시한 흐름도이다.9 is a flowchart illustrating a process of performing a MAC control method for high speed multimedia streaming according to the present invention.
본 발명은 고속 멀티미디어 스트리밍을 위한 MAC 제어장치 및 방법에 관한 것으로, 보다 상세하게는, 고속/대용량의 네트워크 데이터 처리시 발생하는 전반적인 시스템 성능의 저하를 방지하기 위한 고속 멀티미디어 스트리밍을 위한 MAC 제어장치 및 방법에 관한 것이다. The present invention relates to a MAC control apparatus and method for high-speed multimedia streaming, and more particularly, to a MAC control apparatus for high-speed multimedia streaming to prevent the degradation of the overall system performance that occurs when processing high-speed / large capacity network data and It is about a method.
최근 고속의 데이터 네트워크의 급속한 보급에 따라 대용량 고품질의 네트워크 데이터, 특히 MPEG(Moving Picture Experts Group)을 비롯한 동화상 데이터, MP3/WMA 오디오 데이터, 3D 기반의 그래픽 데이터 등의 실시간 처리가 요구되는 멀티미디어 데이터 처리에 대한 서비스 요구가 증가하고 있는 환경에서 고속의 데이터를 처리할 수 있는 네트워크 인터페이스와 다양한 멀티미디어 코덱(CODEC, COder-DECoder)을 지원하는 임베디드 시스템은 전체 서비스에서 백-본(Back Born) 네트워크 토폴로지(topology), 가입자용 단말에서의 전송방식 그리고 컨텐츠와 함께 중요한 구성요소가 된다. With the rapid spread of high-speed data networks, multimedia data processing that requires real-time processing of large-capacity, high-quality network data, especially moving picture data including MPEG (Moving Picture Experts Group), MP3 / WMA audio data, and 3D-based graphic data In an environment where there is an increasing demand for services, an embedded system that supports high-speed data processing and a variety of multimedia codecs (CODECs, COder-DECoder) can be used for back-bone network topology. topology), the transmission method in the subscriber terminal and the content become important components.
도 1은 네트워크를 이용한 다양한 미디어 컨텐츠 서비스의 일반적인 예를 도시한 도면이다.1 is a diagram illustrating a general example of various media content services using a network.
도 1을 참조하면, 네트워크는 다양한 형태 컨텐츠를 제공하는 서버들(110), 네트워크 토폴로지 및 가입자용 접속 장치(120) 및 다양한 형태의 단말기(130)로 구성된다. Referring to FIG. 1, a network includes
서버들(110)은 다양한 형태의 미디어 데이터를 서비스하기 위한 컨텐츠를 수 용하고 있는데 이들은 기존의 텍스트 또는 바이너리 형태의 데이터는 물론이며 압축 된 형태의 정지화상, 동화상, 음성, 음악 및 애니메이션과 2D/3D 그래픽을 포함하고 있으며 각 데이터의 특성에 따라 각각 다른 전송 프로토콜들을 사용하고 있다. The
네트워크 토폴로지 및 가입자용 접속 장치(120)는 서버와 단말기 또는 단말기가 연결되는 접속장치 사이의 네트워크 구성 방식으로 사용되는 전송 장비 및 프로토콜에 따라 다양한 구성이 가능하지만 서버와 단말의 어플리케이션 사이에 전송되는 데이터를 조작하지 않음으로 투명하게 보인다. 토폴로지 구성의 가장 중요한 고려 사항은 서버와 단말 사이의 데이터 전송에 요구되는 대역폭과 손실률 등 전송 서비스의 품질이 된다. 네트워크의 구성은 크게 서비스 사업자가 관리하는 기간 망과 가입자 댁내의 가입자 접속 망으로 나눌 수 있으며 가입자 망의 경우에는 고속의 데이터 전송이 가능한 ADSL이나 VDSL이 주류를 이루고 있다. The network topology and the
단말기(130)는 가입자가 사용하는 모든 형태 종단 서비스 장치를 의미하며 네트워크를 통한 서비스를 제공받기 위해 네트워크에 접속되어 있다. 단말기의 주요한 기본적인 기능 구성은 네트워크에의 접속 및 전송 프로토콜의 수행 기능, 서버로부터 수신 된 멀티미디어 데이터 특히 압축 된 AV (Audio Video) 데이터의 복원 기능 그리고 복원 된 데이터의 재생 및 디스플레이 기능과 사용자의 선택이나 명령을 입력 받을 수 있는 기능으로 이루어진다. 이러한 기능들의 수행은 물리적인 부분들을 제외하고 하드웨어 또는 소프트웨어로 수행 가능하다.The
도 2는 네트워크를 통해 미디어 데이터를 전송하기 위해 사용되는 일반적인 프로토콜들을 도시한 도면이다. 2 is a diagram illustrating general protocols used for transmitting media data over a network.
도 2를 참조하면, 서버들은 위에서 예로 든 제공 컨텐츠와 사용 프로토콜에 따라 TCP 프로토콜을 이용하여 텍스트, 그래픽 및 이미지 데이터를 지원하는 Web 서버와 FTP 파일 서버 , RFC에 기술 된 실시간 스트리밍 프로토콜에 기반해서 압축 된 형태의 동화상이나 음악 데이터를 제어 및 전송하는 RTSP/RTP 스트리밍 서버, 일반적인 UDP 프로토콜을 이용하는 VoD 서버 및 최근의 인터넷 라디오와 음악 방송용 서버 등으로 분류된다. 이러한 다양한 형태와 기능의 서버들은 물리적으로는 하나의 시스템 또는 다수의 시스템으로 구현될 수 있다. Referring to FIG. 2, the servers are compressed based on the real-time streaming protocol described in the Web server, the FTP file server, and the RFC, which support text, graphic, and image data using the TCP protocol according to the provided content and usage protocol. RTSP / RTP streaming server that controls and transmits the moving picture or music data in the conventional form, VoD server using the general UDP protocol, and the latest Internet radio and music broadcasting server. These various types and functions of servers may be physically implemented as one system or multiple systems.
도 3은 단말기의 상세한 구성을 도시한 도면이다. 도 3에서 점선으로 표현 되어있는 블록의 기능은 메인 CPU의 성능에 따라 소프트웨어 또는 전용의 하드웨어로 수행할 수 있는 부분이다. 도 4a 및 도 4b는 AV 데이터 처리 방법에 따른 시스템 구성을 도시한 도면이다. 도 4a에는 멀티미디어 데이터를 포함한 모든 전송 데이터를 메인 CPU가 소프트웨어로 처리하는 시스템이 도시되어 있고, 도 4b에는 AV 데이터를 AV 전용 하드웨어에서 처리하도록 설계된 시스템을 도시한 도면이다. 3 is a diagram illustrating a detailed configuration of a terminal. The function of the block represented by a dotted line in FIG. 3 is a part that can be performed by software or dedicated hardware according to the performance of the main CPU. 4A and 4B are diagrams showing a system configuration according to the AV data processing method. FIG. 4A shows a system in which the main CPU processes all transmission data including multimedia data in software, and FIG. 4B shows a system designed to process AV data in AV dedicated hardware.
이와 같은 기능을 수행하기 위해 단말기는 응용 프로그램의 수행을 위한 메인 CPU와 메모리, 네트워크 접속을 위해 일반적으로 NIC(Network Interface Card)라고 불리는 MAC 제어기가 필수적이다. AV 데이터의 처리는 앞에서 이미 기술한 바와 같이 CODEC 전용하드웨어 또는 메인 CPU에서 소프트웨어적으로 수행할 수 있다. In order to perform such a function, the terminal requires a main CPU, memory, and MAC controller, commonly called a network interface card (NIC), to access a network. As described above, the AV data can be processed in CODEC-only hardware or in the main CPU.
이와 같은 네트워크 기반의 멀티미디어 대응 시스템에서 고속의 네트워크 데이터 폭주는 MAC 제어기 내부의 버퍼로부터 시스템 메모리로의 데이터 전송을 요구 하는 잦은 인터럽트 발생 또는 폴링(polling)을 야기하며 이는 도 4a 및 도 4b에 점선으로 도시된 메인 CPU와 주변기기 사이의 데이터 전송 대역폭의 과도한 점유로 인한 전체 시스템의 성능 저하와 운영체제의 자원 분배 주기가 영향을 받아 다른 필요 기능들의 원활한 수행을 방해하게 된다. 현재는 이러한 문제의 해결을 위해 고성능 고가의 메인 CPU를 사용함으로써 해결하고 있으며 특히 데스크 탑 PC의 기능과 환경에 익숙해진 사용자들의 멀티미디어 데이터 요구에 대응하기 위해서는 거의 데스크 탑 PC급의 하드웨어 플랫폼이 필요하게 되고 실제 소비자용 인터넷 접속 기기들은 PC 하드웨어와 운영체제를 탑재하고 있는 경우가 대부분이며 이에 따른 가격의 상승이 네트워크에 기반 임베디드 형태의 멀티미디어 단말기 보급 확대에 주요한 제한 요인이 되고 있다. In this network-based multimedia countermeasure system, high-speed network data congestion causes frequent interruption or polling that requires data transfer from the buffer inside the MAC controller to the system memory, which is indicated by dotted lines in FIGS. 4A and 4B. The excessive performance of the data transfer bandwidth between the main CPU and the peripheral device shown affects the performance of the entire system and the resource allocation cycle of the operating system, which prevents the smooth performance of other necessary functions. To solve this problem, high-performance and expensive main CPUs are used to solve these problems. Especially, in order to meet the multimedia data demands of users who are familiar with the functions and environment of the desktop PC, almost a desktop PC-class hardware platform is needed. In fact, most of the consumer Internet access devices are equipped with PC hardware and operating system, and the increase in price is a major limiting factor in the expansion of the embedded multimedia terminal based on the network.
한편, 도 1에 도시된 구성요소 중에서 단말기(130)로 사용되는 장치들 중 데스크 탑 PC는 성능과 사용 환경에 있어서 사용자 친숙성이라는 유리한 측면이 있지만, VOD(Video On Demand), 방송 시청, 음악 파일의 재생과 같은 오락성 서비스를 사용하는 공간과의 격리성과 고가격 그리고 TV와 리모콘이라는 기존의 강력한 사용자 인터페이스와의 상이함 등에서 제한을 갖게 된다. 따라서 일부 개발/생산 회사들이 PC를 내장한 백색 가전 제품 형태의 셋탑박스를 출시하고 있지만 이는 사용자 인터페이스 문제만 해결한 것일 뿐 가격에 있어서는 여전히 자유롭지 못하다. On the other hand, among the components shown in FIG. 1, among the devices used as the
결국, 데스크 탑 PC의 기능과 환경에 익숙해진 사용자들의 멀티미디어 데이터 요구에 대응하기 위해서는 거의 데스크 탑 PC급의 하드웨어 플랫폼이 필요하게 되고, 실제 소비자용 인터넷 접속 기기들은 PC 하드웨어와 운영체제를 탑재하고 있 는 경우가 대부분이므로 이에 따른 가격의 상승이 보급 확대에 중요한 제한 요인이 된다는 문제점이 있다.As a result, almost all desktop PC-class hardware platforms are needed to meet the multimedia data needs of users who are familiar with the functions and environment of desktop PCs. In most cases, there is a problem that the increase in price is an important limiting factor for expansion of supply.
본 발명이 이루고자 하는 기술적 과제는, 실시간 처리가 요구되는 멀티미디어 데이터들을 MAC 제어기 내부에서 선별 처리하여 전송함으로써 메인 CPU에 부과되는 과도한 네트워크 데이터 처리에 대한 부담을 줄임과 동시에 실시간 처리 데이터는 별도의 버스를 통해 전송하도록 하여 MAC 제어기와 같은 특정 주변 장치가 시스템 데이터 버스를 독점적으로 점유하는 것을 예방함으로써 전반적인 시스템 성능 저하를 방지할 수 있는 고속 멀티미디어 스트리밍을 위한 MAC 제어장치 및 방법을 제공하는 데 있다. The technical problem to be achieved by the present invention is to reduce the burden of excessive network data processing on the main CPU by selecting and transmitting multimedia data required for real-time processing in the MAC controller, while real-time processing data is separated from the bus. The present invention provides a MAC control apparatus and method for high-speed multimedia streaming that prevents a specific peripheral device such as a MAC controller from exclusively occupying the system data bus, thereby preventing overall system performance degradation.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 고속 멀티미디어 스트리밍을 위한 MAC 제어장치는, 물리적 네트워크에 접속되어 이더넷을 통해 멀티미디어 데이터를 제공하는 서버와 데이터를 송수신하는 네트워크접속부; 상기 네트워크접속부를 통해 유입되는 프레임에 대한 선별처리여부를 결정하고, 상기 프레임에 대한 선별처리에 사용되는 파라미터를 결정하는 필터링제어부; 상기 필터링제어부에 의해 프레임에 대한 선별처리가 결정되면, 상기 네트워크접속부를 통해 유입되는 프레임 중에서 상기 파라미터를 기초로 선별처리대상 프레임을 선택하여 출력하는 필터링엔진; 및 상기 필터링엔진으로부터 입력되는 고속대용량의 선별처리대상 프레임을 저장하는 버퍼;를 구비한다. In order to achieve the above technical problem, the MAC control apparatus for high-speed multimedia streaming according to the present invention, the network connection unit for transmitting and receiving data to and from a server providing multimedia data via Ethernet connected to a physical network; A filtering control unit which determines whether or not to sort the frame introduced through the network connection unit and determines a parameter used for the sorting process for the frame; A filtering engine for selecting and outputting a screening target frame based on the parameter from among frames introduced through the network connection unit when the screening process for the frame is determined by the filtering controller; And a buffer for storing a high-speed large-capacity sorting processing frame input from the filtering engine.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 고속 멀티미디어 스트리밍을 위한 MAC 제어방법은, (a) 이더넷을 통해 멀티미디어 데이터를 제공하는 서버로부터 유입되는 프레임에 대한 선별처리여부 및 상기 프레임에 대한 선별처리에 사용되는 파라미터를 결정하는 단계; (b) 상기 프레임에 대한 선별처리가 결정되면, 상기 서버로부터 유입되는 프레임 중에서 상기 파라미터를 기초로 고속대용량의 선별처리대상 프레임을 선택하여 출력하는 단계; 및 (c) 상기 선별처리대상 프레임을 버퍼에 저장하는 단계;를 포함한다.In order to achieve the above technical problem, the MAC control method for high-speed multimedia streaming according to the present invention, (a) whether or not the screening process for the frame flowing from the server for providing multimedia data over Ethernet and the screening for the frame Determining a parameter used for processing; (b) if the screening process for the frame is determined, selecting and outputting a high speed and large capacity screening target frame based on the parameter from the frames flowing from the server; And (c) storing the screening target frame in a buffer.
이에 의해, 메인 CPU의 자원을 유보하게 함으로써 전체 임베디드 시스템의 성능 저하를 방지할 수 있으며, 메인 CPU와 주변 장치사이의 데이터 전송 대역폭을 줄임으로서 전반적인 시스템의 성능 향상을 기대할 수 있다.As a result, deterioration of the performance of the entire embedded system can be prevented by reserving the resources of the main CPU, and the overall system performance can be expected by reducing the data transfer bandwidth between the main CPU and the peripheral device.
이하에서, 첨부된 도면들을 참조하여 본 발명에 따른 고속 멀티미디어 스트리밍을 위한 MAC 제어장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다. Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the MAC control apparatus and method for high-speed multimedia streaming according to the present invention.
도 5는 본 발명에 따른 고속 멀티미디어 스트리밍을 위한 MAC 제어장치의 상세한 구성을 도시한 블록도이다. 5 is a block diagram illustrating a detailed configuration of an apparatus for controlling MAC for high speed multimedia streaming according to the present invention.
도 5를 참조하면, 본 발명에 따른 고속 멀티미디어 스트리밍을 위한 MAC 제어장치(500)는, 네트워크접속부(510), 필터링제어부(520), 필터링엔진(530), 버퍼(540), CPU인터페이스부(550) 및 에러검출부(560)를 구비한다.Referring to FIG. 5, the
네트워크접속부(510)는 물리적 네트워크에 접속되어 이더넷을 통해 멀티미디어 데이터를 제공하는 서버와 데이터를 송수신한다. The
필터링제어부(520)는 네트워크접속부(510)를 통해 유입되는 프레임에 대한 선별처리여부를 결정하고, 프레임에 대한 선별처리에 사용되는 파라미터를 결정한다. 파라미터는 프로토콜의 종류, IP의 포트번호, 프로토콜번호 및 MAC주소 중에서 적어도 하나 이상 선택되어 개별적으로 또는 조합되어 프레임의 선별처리여부의 결정에 사용된다. 한편, 파라미터가 조합되어 사용되는 경우에 복수개의 파라미터의 적용순서가 사전에 설정되며, 설정된 적용순서에 따라 순차적으로 프레임에 대한 설별처리여부의 결정에 사용된다. 도 6에는 이더넷을 통하여 전송되는 IP 패킷의 구조가 도시되어 있으며, 도 6에 도시되어 있는 패킷구조를 구성하는 각 필드들 중에서 점선 부분들이 필터링엔진(530)에서 선별 파라미터로 사용된다. The
필터링엔진(530)은 필터링제어부(520)에 의해 프레임에 대한 선별처리가 결정되면, 네트워크접속부(510)를 통해 유입되는 프레임 중에서 사전에 설정되어 있는 파라미터를 기초로 선별처리대상 프레임을 선택하여 출력한다. 필터링엔진(530)의 선별제어기능은 CPU 인터페이스(550)를 통해 메인 CPU에 의해 제어된다. 한편, 인터페이스 버스(550)는 버퍼(540)와 버퍼(540)에 저장되어 있는 선별대상 프레임을 독출하여 처리하는 메인 CPU 사이의 전송대역폭을 감소시킨다.When the
도 7은 필터링엔진의 상세한 구성을 도시한 블록도이다.7 is a block diagram showing a detailed configuration of a filtering engine.
도 7을 참조하면, 필터링엔진(530)은 입력데이터계수부(532), 파라미터저장부(534), 비교부(536) 및 역다중화부(538)로 구성된다. Referring to FIG. 7, the
입력데이터계수부(532)는 네트워크접속부(510)를 통해 유입되는 직렬 비트스트림 형태의 프레임 데이터를 바이트 단위로 조합하고 계수하여 프레임을 구성하는 필드 중에서 선별에 사용되는 파라미터값이 존재하는 필드의 위치를 지정한다. 파 라미터저장부(534)에는 필터링제어부(510)에 의해 결정된 선별처리에 사용되는 적어도 하나 이상의 파라미터가 저장된다. 비교부(536)는 네트워크접속부(510)를 통해 유입되는 프레임을 구성하는 필드 중에서 입력데이터계수부(532)에 의해 지정된 필드에 기록되어 있는 필드값과 파라미터저장부(534)에 저장되어 있는 파라미터값이 일치하면 네트워크접속부(510)를 통해 유입되는 프레임을 선별대상 프레임으로 판단한다. 역다중화부(538)는 네트워크접속부(510)를 통해 유입되는 프레임 중에서 비교부(538)에 의해 선별대상 프레임으로 판단된 프레임을 버퍼(550)로 출력한다.The input
버퍼(540)에는 필터링엔진(530)으로부터 입력되는 고속대용량의 선별처리대상 프레임이 저장된다. 버퍼(540)는 후술하는 필터링엔진(530)를 구성하는 역다중화부(240)의 제어에 의해 프레임을 저장하는 순환버퍼이다. 일반적으로 TCP/IP((Transmission Control Protocol/Internet Protocol) 기반의 이더넷 패킷의 전송은 전송매체를 공유함으로써 네트워크 데이터의 집중을 예측하기가 어렵다. 이는 실시간 처리를 우선으로 해야 하는 멀티미디어 데이터의 지연 또는 손실이 발생해 전체 서비스의 질에 영향을 준다. 이를 방지하기 위해 버퍼링은 필수적이지만 필요 이상의 버퍼링은 데이터 저장 공간을 많이 차지하여 가격 상승과 전송 시간 지연을 초래하게 된다. 따라서 버퍼(540)의 용량은 처리되어야 할 멀티미디어 데이터의 최대 전송률과 네트워크 집중을 고려하여 결정된다. 바람직한 버퍼(540)의 용량은 MPEG2 트랜스포트 스트림 패킷 100 ∼ 150 프레임 정도를 저장할 수 있는 크기이며, 이러한 버퍼(540)에 의해 네트워크의 순간적인 전송률 변화를 흡수하여 평균화함으로써 균일한 서비스의 질을 유지할 수 있다. The
에러검출부(560)는 네트워크접속부(510)를 통해 유입되는 프레임으로부터 추출된 타임스탬프를 기초로 측정된 네트워크의 전송속도와 설정되어 있는 서비스품질에 따라 프레임의 드롭 또는 버퍼(540)에 저장되어 있는 선별대상 프레임을 재정렬한다. 실시간 처리 데이터의 전송 프로토콜인 RTP 패킷에는 전송하는 시스템의 시스템 시간이 기록되는 타임스탬프 필드가 포함되어 있다. 에러검출부(560)는 RTP 패킷으로부터 타임스탬프 값을 추출 및 비교하여 프레임간의 전송 시간을 측정하고 기억함으로써 네트워크의 집중정도 및 경향을 파악하며, 이에 의해 상위 수준에서의 흐름제어와 서비스 질에 대한 설정이 가능하도록 하는 기능을 수행한다. The
도 8은 에러검출부의 상세한 구성을 도시한 도면이다. 도 8을 참조하면, 에러검출부(560)는 데이터추출부(562), 데이터저장부(564), 연산부(566), 연산값저장부(568) 및 재정렬부(570)를 구비한다.8 is a diagram showing the detailed configuration of the error detection unit. Referring to FIG. 8, the
데이터추출부(562)는 네트워크접속부(510)를 통해 유입되는 프레임으로부터 타임스탬프와 시이퀀스번호를 포함하는 에러검출용 데이터를 추출한다. 데이터저장부(564)에는 추출된 에러검출용 데이터가 저장된다. 연산부(566)는 데이터저장부(564)에 저장되어 있는 에러검출용 데이터 중에서 현재 유입된 제1프레임으로부터 추출된 데이터와 이전에 유입된 제2프레임들로부터 추출한 데이터를 비교한다. 연산값저장부(568)에는 연산부(566)의 비교결과인 제1프레임과 제2프레임들의 전송시간의 차이값이 저장된다. 재정렬부(570)는 전송시간의 차이값을 기초로 판단한 네트워크의 전송속도와 설정되어 있는 서비스품질에 따라 프레임의 드롭 또는 버퍼(540)에 저장되어 있는 선별대상 프레임을 재정렬한다. 이더넷을 통하여 데이터의 전송시 네트워크 내에서 라우팅 경로의 차이로 인해 패킷의 전송 순서가 바뀌어 입력되는 경우에 IP 프로토콜을 이용해 전송할 수 있는 데이터는 한 프레임당 최대 1500 바이트 정도이므로 서비스의 질에 큰 영향을 줄 수 있는 정도의 요인된다. 만일 바뀐 시이퀀스 번호의 차이가 서비스 품질이 보장하는 지연내에 있더라도 버퍼(540)의 용량을 넘어서면 그 프레임은 드롭된다. The
도 9는 본 발명에 따른 고속 멀티미디어 스트리밍을 위한 MAC 제어방법의 수행과정을 도시한 흐름도이다.9 is a flowchart illustrating a process of performing a MAC control method for high speed multimedia streaming according to the present invention.
도 9를 참조하면, 필터링제어부(520)는 이더넷을 통해 멀티미디어 데이터를 제공하는 서버로부터 유입되는 프레임에 대한 선별처리여부 및 프레임에 대한 선별처리에 사용되는 파라미터를 결정한다(S900). 필터링엔진(530)의 입력데이터계수부(532)는 서버로부터 유입되는 직렬 비트스트림 형태의 프레임 데이터를 바이트 단위로 조합하고 계수하여 프레임을 구성하는 필드 중에서 선별에 사용되는 파라미터값이 존재하는 필드의 위치를 지정한다(S910). 필터링엔진(530)의 비교부(536)는 서버로부터 유입되는 프레임을 구성하는 필드 중에서 지정된 위치에 해당하는 필드에 기록되어 있는 필드값과 사전에 설정되어 파라미터저장부(534)에 저장되어 있는 선별처리에 사용되는 적어도 하나 이상의 파라미터를 비교하여, 비교대상값들이 일치하면 서버로부터 유입되는 프레임을 선별대상 프레임으로 판단한다(S920). Referring to FIG. 9, the
버퍼(540)에는 필터링엔진(530)에 의해 선별처리대상 프레임으로 판단된 프레임이 저장된다(S930). 또한, 에러검출부(560)의 데이터추출부(562)는 서버로부터 유입되는 프레임으로부터 타임스탬프와 시이퀀스번호를 포함하는 에러검출용 데이 터를 추출한다(S940). 다음으로, 에러검출부(560)의 연산부(566)는 현재 유입된 제1프레임으로부터 추출된 데이터와 이전에 유입된 제2프레임들로부터 추출한 데이터를 비교하여 비교결과를 출력한다(S950). 에러검출부(560)의 연산부(566)의 비교결과인 제1프레임과 제2프레임들의 전송시간의 차이값은 결과값저장부(568)에 저장된다(S960). 에러거출부(560)의 재정렬부(570)는 전송시간의 차이값을 기초로 판단한 네트워크의 전송속도와 설정되어 있는 서비스품질에 따라 프레임의 드롭 또는 버퍼(540)에 저장되어 있는 선별대상 프레임을 재정렬한다(S970).The
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.Although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific preferred embodiments described above, and the present invention belongs to the present invention without departing from the gist of the present invention as claimed in the claims. Various modifications can be made by those skilled in the art, and such changes are within the scope of the claims.
본 발명에 따른 고속 멀티미디어 스트리밍을 위한 MAC 제어장치 및 방법에 의하면, 필터링 엔진와 에러 검출부가 메인 CPU와 운영체제 및 응용 프로그램이 수행해야 할 네트워크 데이터 처리 기능을 간단한 형태로 구현 가능한 전용 하드웨어와 수행함으로써, 메인 CPU의 자원을 유보하게 함으로써 전체 임베디드 시스템의 성능 저하를 방지할 수 있으며, 별도로 분리된 실시간 처리 데이터의 프레임 버퍼 및 데이터 버스는 메인 CPU와 주변 장치사이의 데이터 전송 대역폭을 줄임으로서 전반적인 시스템의 성능 향상을 기대할 수 있다. 또한, TCP/IP 패킷 전송에 기인하여 예측이 힘든 실시간 데이터 전송률의 변화를 미디어 MAC 제어기 내의 순환 버퍼를 사용하여 흡수, 평균화 함으로써 서비스의 질을 일정하게 유지하며, 전체 시스템의 기능 수행 과정이 예측 가능하게 한다.According to the MAC control apparatus and method for high-speed multimedia streaming according to the present invention, the filtering engine and the error detection unit performs the main CPU, the operating system and the network data processing functions to be performed by the application program with dedicated hardware that can be implemented in a simple form, the main By freeing up CPU resources, the performance of the entire embedded system can be avoided. The separate frame buffer and data bus of real-time processing data reduces the data transfer bandwidth between the main CPU and peripherals, improving overall system performance. You can expect. In addition, the quality of service is kept constant by absorbing and averaging changes in real-time data rates that are unpredictable due to TCP / IP packet transmission using a circular buffer in the media MAC controller. Let's do it.
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040097005A KR100622680B1 (en) | 2004-11-24 | 2004-11-24 | MAC controller for High speed multimedia streaming and method of the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040097005A KR100622680B1 (en) | 2004-11-24 | 2004-11-24 | MAC controller for High speed multimedia streaming and method of the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060057823A true KR20060057823A (en) | 2006-05-29 |
KR100622680B1 KR100622680B1 (en) | 2006-09-19 |
Family
ID=37153091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040097005A KR100622680B1 (en) | 2004-11-24 | 2004-11-24 | MAC controller for High speed multimedia streaming and method of the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100622680B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100657314B1 (en) * | 2005-05-04 | 2006-12-20 | 삼성전자주식회사 | Apparatus and method for transmitting multimedia streaming |
KR100917861B1 (en) * | 2007-12-15 | 2009-09-18 | 한국전자통신연구원 | Apparatus and method of medium access control for high speed processing data |
KR100923927B1 (en) * | 2006-07-25 | 2009-10-28 | 브로드콤 코포레이션 | Method and system for content-aware mapping/error protection |
-
2004
- 2004-11-24 KR KR1020040097005A patent/KR100622680B1/en not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100657314B1 (en) * | 2005-05-04 | 2006-12-20 | 삼성전자주식회사 | Apparatus and method for transmitting multimedia streaming |
KR100923927B1 (en) * | 2006-07-25 | 2009-10-28 | 브로드콤 코포레이션 | Method and system for content-aware mapping/error protection |
KR100917861B1 (en) * | 2007-12-15 | 2009-09-18 | 한국전자통신연구원 | Apparatus and method of medium access control for high speed processing data |
Also Published As
Publication number | Publication date |
---|---|
KR100622680B1 (en) | 2006-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100926007B1 (en) | Media data processing using distinct elements for streaming and control processes | |
US9191415B2 (en) | Method and system for providing virtual gateway services | |
RU2604416C2 (en) | Method of bandwidth controlling and corresponding device | |
JP5659125B2 (en) | Relay device and relay method | |
EP3172863B1 (en) | Quality of experience based network resource management | |
US11582146B2 (en) | High-quality adaptive bitrate video through multiple links | |
EP3210385A1 (en) | Dynamic programming across multiple streams | |
TWI680662B (en) | Method for distributing available bandwidth of a network amongst ongoing traffic sessions run by devices of the network, corresponding device | |
US10419507B2 (en) | Method and device for reserving bandwidth for an adaptive streaming client | |
US8356109B2 (en) | Network streaming of a video stream over multiple communication channels | |
EP3096533B1 (en) | Communication apparatus, communication data generation method, and communication data processing method | |
US20080232250A1 (en) | Selection of an audio visual stream by sampling | |
US20110083156A1 (en) | Network streaming of a video stream over multiple communication channels | |
JP2007067738A (en) | Data transeiving system, transmission device, receiving device, and data transceiving method | |
EP3096525B1 (en) | Communication apparatus, communication data generation method, and communication data processing method | |
US9607002B2 (en) | File retrieval from multiple storage locations | |
KR100622680B1 (en) | MAC controller for High speed multimedia streaming and method of the same | |
CA3222652A1 (en) | System for queuing flows to channels | |
EP3089469A1 (en) | Data processing method and device in content delivery network | |
US10652296B2 (en) | Method and apparatus to efficiently smooth adaptive content playback in HTTP live streaming | |
CN112653922B (en) | Audio and video file processing method and device, terminal and storage medium | |
KR100427821B1 (en) | Embeded system based on network | |
Gudmundsen | Periodic Broadcasting Protocol-implementation and measurements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120905 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20130903 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |