KR20090039583A - Internet network system and method for transferring data using the same - Google Patents

Internet network system and method for transferring data using the same Download PDF

Info

Publication number
KR20090039583A
KR20090039583A KR1020080023431A KR20080023431A KR20090039583A KR 20090039583 A KR20090039583 A KR 20090039583A KR 1020080023431 A KR1020080023431 A KR 1020080023431A KR 20080023431 A KR20080023431 A KR 20080023431A KR 20090039583 A KR20090039583 A KR 20090039583A
Authority
KR
South Korea
Prior art keywords
data
communication unit
unit
client
input data
Prior art date
Application number
KR1020080023431A
Other languages
Korean (ko)
Other versions
KR101279564B1 (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/221,662 priority Critical patent/US8259575B2/en
Priority to GB0815235A priority patent/GB2453823B/en
Priority to CN2008102133568A priority patent/CN101414977B/en
Priority to JP2008266114A priority patent/JP5170891B2/en
Publication of KR20090039583A publication Critical patent/KR20090039583A/en
Application granted granted Critical
Publication of KR101279564B1 publication Critical patent/KR101279564B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network

Abstract

An internet network apparatus and a data communications method using a transmission quantity determining unit for especially measuring data capacity transmitted by a client are provided to transmit data between a server and a client by controlling input data capacity. An encoder(110) codes original data. The encoder produces communications unit input data. A communication unit(120) transmits an application layer(121), a transport layer(122), an IP(Internet Protocol) layer(123) and a connecting network layer(124) to the client. A transmission quantity determining unit compares the communications unit input data and communication unit output data outputted from the communications unit transmitted through the transport layer. According to the determination of the transmission quantity determining unit, a transmission quantity controller controls encoder.

Description

인터넷 네트워크 장치 및 이의 데이터 전송 방법{Internet network system and method for transferring data using the same}Internet network system and method for transferring data using the same}

본 발명은 네트워크를 통해 데이터를 클라이언트, 특히 복수의 클라이언트에게 전송할 수 있는 인터넷 네트워크 장치 및 이를 이용한 데이터 전송 방법에 관한 것이다. The present invention relates to an internet network device capable of transmitting data to a client, in particular a plurality of clients, via a network, and a data transmission method using the same.

네트워크상에서 각종 프로그램 파일과 데이터를 가지고 있는 서버와 상기 네트워크에 접속된 클라이언트로 이루어진 인터넷 네트워크 장치에 있어서, 상기 서버와 클라이언트 간에 데이터 전송은 정확하고 신속하게 이루어져야 한다. In an Internet network device consisting of a server having various program files and data on a network and a client connected to the network, data transmission between the server and the client must be made accurately and quickly.

이와 같이 서버와 클라이언트 간에 정상적으로 데이터를 전송하기 위해서는 실시간으로 전달된 데이터의 용량을 파악하는 것이 중요하며, 특히 하나의 데이터를 다수의 클라이언트들에 전송할 때에는 네트워크 상황에 따라 각 클라이언트에 전송되는 데이터 용량이 달라질 수 있어 모든 클라이언트들에 최대한의 정상적인 데이터 전송을 위해 클라이언트 별로 전송되는 데이터 용량을 측정할 필요가 있다.As described above, in order to normally transmit data between a server and a client, it is important to understand the capacity of the data delivered in real time. Especially, when one data is transmitted to a plurality of clients, the amount of data transmitted to each client depends on network conditions. It may vary, so it is necessary to measure the amount of data sent per client for maximum normal data transfer to all clients.

본 발명은 네트워크를 통해 클라이언트에 전송하는 데이터 전송량을 정확하게 판단하여 원활하게 데이터를 전송할 수 있는 인터넷 네트워크 장치 및 이를 이용한 데이터 전송 방법을 제공하고자 한다. An object of the present invention is to provide an internet network device capable of smoothly transmitting data by accurately determining an amount of data transmission to a client through a network and a data transmission method using the same.

또한, 본 발명은 하나의 데이터를 다수의 클라이언트들에 전송함에 있어서도, 각 클라이언트에 전송되는 데이터 전송량을 정확하게 판단하여 상기 클라이언트들에 최적의 정상 데이터를 전송할 수 있는 인터넷 네트워크 장치 및 이를 이용한 데이터 전송 방법을 제공하고자 한다.In addition, the present invention, even when transmitting a single data to a plurality of clients, the Internet network device capable of accurately determining the amount of data transmitted to each client to transmit the optimal normal data to the client and a data transmission method using the same To provide.

본 발명은 원시 데이터를 코딩하여 통신부 입력 데이터를 생성하는 인코더와, 상기 통신부 입력 데이터를 어플리케이션 계층, 트랜스포트 계층, IP 계층 및 네트워크 접속 계층을 순차적으로 통해 상기 클라이언트에 전송하는 통신부와, 상기 통신부 입력 데이터와, 적어도 상기 트랜스포트 계층을 통해 전송되는 상기 통신부로부터 출력되는 통신부 출력 데이터 또는 적어도 하나의 클라이언트에 전송하는 클라이언트 입력 데이터를 비교 판단하는 전송량 판단부와, 상기 전송량 판단부의 판단에 따라 상기 인코더를 제어하는 전송량 제어부를 구비하는 것을 특징으로 하는 인터넷 네트워크 장치를 제공한다.The present invention provides an encoder for generating communication unit input data by coding raw data, a communication unit for sequentially transmitting the communication unit input data to the client through an application layer, a transport layer, an IP layer, and a network connection layer, and the communication unit input. A transmission amount determination unit for comparing and comparing data with at least one communication unit output data output from the communication unit transmitted through the transport layer or client input data transmitted to at least one client, and the encoder according to the determination of the transmission amount determination unit. Provided is an internet network device comprising a transmission amount control unit for controlling.

본 발명의 인터넷 네트워크 장치에 있어서, 상기 전송량 판단부는 상기 통신부 입력 데이터를 측정하는 제1 측정부와, 상기 통신부 출력 데이터 또는 상기 클 라이언트 입력 데이터를 측정하는 제2 측정부와, 상기 제1 측정부 및 상기 제2 측정부에서 측정된 데이터들을 비교 판단하는 판단부를 구비할 수 있다. 상기 인터넷 네트워크 장치에 있어서, 상기 원시 데이터는 영상 데이터일 수 있다. 상기 인터넷 네트워크 장치에 있어서, 상기 전송량 제어부는 상기 전송량 판단부에 따라 상기 영상 데이터의 프레임 래이트, 비트 래이트, 및 해상도로 이루어진 군에서 선택된 어느 하나를 조절하도록 상기 인코더를 제어할 수 있다. 상기 인터넷 네트워크 장치에 있어서, 상기 전송량 판단부가 상기 제1 측정부에서 측정한 제1 데이터보다 상기 제2 측정부에서 측정한 제2 데이터가 작다고 판단하는 경우, 상기 전송량 제어부는 상기 프래임 래이트를 줄이거나, 상기 비트 래이트를 줄이거나, 상기 영상 데이터의 해상도를 줄일 수 있다.In the Internet network device of the present invention, the transmission amount determining unit comprises a first measuring unit measuring the communication unit input data, a second measuring unit measuring the communication unit output data or the client input data, and the first measuring unit And a determination unit comparing and determining data measured by the second measurement unit. In the Internet network device, the raw data may be image data. In the Internet network apparatus, the transmission control unit may control the encoder to adjust any one selected from the group consisting of frame rate, bit rate, and resolution of the image data according to the transmission amount determining unit. In the Internet network apparatus, when the transmission determination unit determines that the second data measured by the second measurement unit is smaller than the first data measured by the first measurement unit, the transmission control unit reduces the frame rate. The bit rate may be reduced or the resolution of the image data may be reduced.

본 발명의 인터넷 네트워크 장치에 있어서, 상기 전송량 판단부는 상기 통신부 입력 데이터를 측정하는 제1 측정부와, 적어도 하나의 클라이언트들의 입력 데이터를 측정하는 제2 측정부와, 상기 클라이언트의 입력 데이터의 평균을 산출하는 산출부와, 상기 제1 측정부로부터 제공된 입력 데이터와 상기 산출부로부터 제공된 평균을 비교 판단하는 판단부를 구비할 수 있다. 상기 데이터는 영상 데이터일 수 있다. 상기 인터넷 네트워크 장치에 있어서, 상기 산출부는 상기 평균에 보정값을 더하여 평균 근사치를 생성하여, 상기 판단부에서 상기 입력 데이터와 상기 평균 근사치를 비교 판단할 수 있다. 상기 인터넷 네트워크 장치에 있어서, 상기 전송량 제어부는 상기 전송량 판단부에 따라 상기 영상 데이터의 프레임 래이트, 비트 래이트, 및 해상도로 이루어진 군에서 선택된 어느 하나를 조절하도록 상기 인코더를 제어할 수 있다. 상기 전송량 판단부가 상기 제1 측정부에서 측정한 제1 데이터보다 상기 산출부로부터 제공된 제2 데이터가 작다고 판단하는 경우, 상기 전송량 제어부는 상기 프래임 래이트를 줄이거나, 상기 비트 래이트를 줄이거나, 상기 영상 데이터의 해상도를 줄일 수 있다. In the Internet network device of the present invention, the transmission amount determining unit is a first measuring unit for measuring the input data of the communication unit, a second measuring unit for measuring the input data of at least one client, and the average of the input data of the client The calculator may include a calculation unit configured to calculate and a determination unit configured to compare and determine input data provided from the first measurement unit and an average provided from the calculation unit. The data may be image data. In the Internet network device, the calculator may add a correction value to the average to generate an average approximation value, and the determination unit may compare the input data with the average approximation value. In the Internet network apparatus, the transmission control unit may control the encoder to adjust any one selected from the group consisting of frame rate, bit rate, and resolution of the image data according to the transmission amount determining unit. If the transmission rate determination unit determines that the second data provided from the calculation unit is smaller than the first data measured by the first measurement unit, the transmission control unit reduces the frame rate, reduces the bit rate, or The resolution of the image data can be reduced.

본 발명의 인터넷 네트워크 장치에 있어서, 상기 통신부는 어플리케이션 계층에 상기 통신부 입력 데이터를 임시로 저장하는 링버퍼와, 상기 데이터 저장을 제어하는 입력 제어부와, 저장된 상기 데이터의 출력을 제어하는 출력 제어부를 구비할 수 있다. In the Internet network device of the present invention, the communication unit includes a ring buffer for temporarily storing the communication unit input data in an application layer, an input control unit for controlling the data storage, and an output control unit for controlling the output of the stored data. can do.

본 발명의 인터넷 네트워크 장치에 있어서, 상기 입력 제어부는 입력 포인터, 링버퍼 용량 및 이전에 저장된 데이터 용량에 따라 상기 링버퍼에 데이터를 저장하는 것을 제어할 수 있다. In the Internet network device of the present invention, the input control unit may control storing data in the ring buffer according to an input pointer, a ring buffer capacity, and a previously stored data capacity.

본 발명의 인터넷 네트워크 장치에 있어서, 상기 출력 제어부는 출력 포인터, 마지막 영상의 프레임 순서 정보, 상기 순서 판단에 따라 상기 링버퍼로부터 데이터를 독출하는 것을 제어할 수 있다. In the Internet network device of the present invention, the output control unit may control reading data from the ring buffer according to an output pointer, frame order information of the last image, and the order determination.

본 발명의 인터넷 네트워크 장치에 있어서, 상기 클라이언트는 고유의 출력 포인터(Pout)를 가질 수 있다. 따라서 복수의 클라이언트들이 상기 인터넷 네트워크 장치에 연결되어 있는 경우, 각 클라이언트들은 별개로 링버퍼로부터 출력되는 통신부 입력 데이터를 전송 받을 수 있다. 상기 통신부 입력 데이터를 링버퍼에 복사할 위치를 지정하는 입력 포인터와 상기 출력 포인터는 별개로 제어되므로 상기 링버퍼를 하나의 입력과 다수의 출력으로 운용 가능하다. In the Internet network device of the present invention, the client may have a unique output pointer Pout. Therefore, when a plurality of clients are connected to the Internet network device, each client may receive communication unit input data output from the ring buffer separately. Since the input pointer and the output pointer which designate a position to copy the communication unit input data to the ring buffer are controlled separately, the ring buffer can be operated as one input and multiple outputs.

또한, 본 발명은 원시 데이터를 입력하고, 상기 원시 데이터를 인코딩하여, 인코딩된 데이터를 통신부로 입력하고, 상기 통신부의 어플리케이션 계층, 트랜스포트 계층, IP 계층 및 네트워크 접속 계층을 순차적으로 통해 상기 데이터를 적어도 하나의 클라이언트에 전송하는 인터넷 네트워크 장치의 데이터 전송방법에 있어서, 상기 통신부에 입력되는 통신부 입력 데이터의 용량을 측정하는 단계와, 적어도 상기 트랜스포트 계층을 통해 전송되는, 통신부로부터 출력되는 통신부 출력 데이터 또는 상기 클라이언트에 전송하는 클라이언트 입력 데이터의 용량을 측정하는 단계와, 측정된 상기 통신부 입력 데이터와 상기 통신부 출력 데이터 또는 상기 클라이언트 입력 데이터의 용량을 비교 판단하는 단계와, 상기 판단 결과에 따라 상기 인코딩을 제어하는 단계를 포함하는 인터넷 네트워크 장치의 데이터 전송방법을 제공한다. 상기 데이터들은 영상 데이터일 수 있다. 상기 데이터 전송방법에 있어서, 상기 통신부 출력 데이터 또는 상기 클라이언트 입력 데이터가 상기 통신부 입력 데이터보다 큰 경우, 프래임 래이트를 줄이거나, 비트 래이트를 줄이거나, 또는 해상도를 줄이도록 상기 원시 데이터를 인코딩할 수 있다. Also, the present invention inputs raw data, encodes the raw data, inputs encoded data to a communication unit, and sequentially transfers the data through an application layer, a transport layer, an IP layer, and a network connection layer of the communication unit. A data transmission method of an internet network device for transmitting to at least one client, the method comprising: measuring capacity of communication unit input data input to the communication unit; and communication unit output data output from the communication unit, transmitted through at least the transport layer Or measuring the capacity of client input data transmitted to the client, comparing and comparing the measured capacity of the communication unit input data with the communication unit output data or the client input data, and performing the encoding according to the determination result. Control Provides a method of transmitting data on the Internet network, the device comprising. The data may be image data. In the data transmission method, when the communication unit output data or the client input data is larger than the communication unit input data, the raw data may be encoded to reduce the frame rate, reduce the bit rate, or reduce the resolution. Can be.

본 발명의 데이터 전송방법은 복수의 클라이언트들의 입력 데이터들의 평균을 산출하는 단계를 더 포함하고, 상기 통신부 입력 데이터와 상기 클라이언트 입력 데이터의 평균을 비교 판단할 수 있다. 상기 데이터들은 영상 데이터일 수 있으며, 이때 상기 클라이언트 입력 데이터의 평균이 상기 통신부 입력 데이터보다 큰 경우, 프래임 래이트를 줄이거나, 비트 래이트를 줄이거나, 또는 해상도를 줄이도록 상기 원시 데이터를 인코딩할 수 있다. The data transmission method of the present invention may further include calculating an average of input data of a plurality of clients, and comparing and determining the average of the communication unit input data and the client input data. The data may be image data, wherein when the average of the client input data is larger than the communication unit input data, the raw data may be encoded to reduce the frame rate, reduce the bit rate, or reduce the resolution. Can be.

본 발명의 데이터 전송방법은 상기 평균에 보정값을 더하여 평균 근사치를 계산하는 단계를 더 포함하고, 상기 통신부 입력 데이터와 상기 클라이언트 입력 데이터의 평균 근사치를 비교 판단할 수 있다. 상기 데이터들은 영상 데이터일 수 있으며, 상기 클라이언트 입력 데이터의 평균 근사치가 상기 통신부 입력 데이터보다 큰 경우, 프래임 래이트를 줄이거나, 비트 래이트를 줄이거나, 또는 해상도를 줄이도록 상기 원시 데이터를 인코딩할 수 있다.The data transmission method of the present invention may further include calculating an average approximation value by adding a correction value to the average, and comparing and determining an average approximation value of the communication unit input data and the client input data. The data may be image data, and when the average approximation of the client input data is larger than the communication unit input data, the raw data may be encoded to reduce the frame rate, reduce the bit rate, or reduce the resolution. Can be.

본 발명의 데이터 전송방법은 인코딩된 상기 통신부 입력 데이터를 입력 포인터, 링버퍼 용량 및 이미 저장된 데이터 용량에 따라 링버퍼에 복수하여 저장하는 단계와, 출력 포인터, 마지막 영상의 프레임 순서 정보, 및 상기 순서 판단에 따라 상기 링버퍼에 저장된 데이터를 독출하는 단계를 포함할 수 있다. The data transmission method of the present invention comprises storing the plurality of encoded communication unit input data in a ring buffer according to an input pointer, a ring buffer capacity and already stored data capacity, an output pointer, frame order information of the last image, and the sequence. The method may include reading data stored in the ring buffer according to the determination.

상기 살펴 본 바와 같이, 본 발명은 통신부의 적어도 트랜스포트 계층을 통해 전송되는 데이터 용량을 판단하여 서버와 클라이언트 간의 데이터 전송량을 정확하게 판단할 수 있다. 구체적으로, 측정된 통신부 입력 데이터와 출력 데이터(통신부 출력 데이터 또는 클라이언트 입력 데이터)를 비교 판단함으로써 클라이언트에 입력되는 데이터 용량이 적은 경우, 즉 과부하가 걸리는 경우 출력 데이터 용량과 동일하게 입력 데이터 용량을 조절함으로써 서버와 클라이언트 간에 원하는 데이터를 원활하게 전송할 수 있다.As described above, the present invention can accurately determine the data transmission amount between the server and the client by determining the data capacity transmitted through at least the transport layer of the communication unit. Specifically, by comparing and determining the measured communication unit input data and output data (communication unit output data or client input data), the input data capacity is adjusted to be equal to the output data capacity when the data capacity input to the client is small, that is, when the overload is applied. This allows for the smooth transfer of desired data between the server and the client.

또한, 본 발명은 통신부의 어플리케이션 계층에 클라이언트 각각의 고유한 출력 포인터를 이용하여 클라이언트들이 서로 별개로 데이터를 전송 받을 수 있는 SIMO(single input multi output) 링버퍼를 구비함으로써, 하나의 데이터를 다수의 클라이언트들에 전송함에 있어서도 클라이언트들 각각에 전송되는 데이터 전송량을 별개로 판단할 수 있으며, 이에 근거하여 인코딩을 제어함으로써 모든 클라이언트들에 최적의 정상 데이터를 전송할 수 있다. In addition, the present invention provides a single input multi output (SIMO) ring buffer in the application layer of the communication unit that allows the clients to receive data separately from each other by using a unique output pointer of each client, so that a single data can be In the transmission to the clients, the amount of data transmission to each of the clients can be determined separately, and the optimal normal data can be transmitted to all the clients by controlling the encoding based on this.

이하, 본 발명을 첨부된 도면을 참조하여 더욱 상세히 설명한다. Hereinafter, with reference to the accompanying drawings the present invention will be described in more detail.

도 1은 본 발명에 관한 인터넷 네트워크 장치를 개략적으로 도시한 도면이다. 본 실시예에서는 네트워크를 통한 다대일 이기종 통신을 통해 서버에서 생상된 영상 데이터를 복수의 클라이언트들로 전송함을 예시하는 것이다. 본 발명에 관한 인터넷 네트워크 장치는 도 1에서는 서버에 해당한다. 그러나 이에 한정되는 것은 아니며, DVR(digital Video Record), IP(Internet protocol) 카메라가 직접 인터넷 통신이 가능한 경우, DVR, IP 카메라 등의 디지털 영상처리장치도 본 발명에서 청구하는 인터넷 네트워크 장치일 수 있다.1 is a diagram schematically showing an internet network device according to the present invention. In this embodiment, the image data generated by the server is transmitted to a plurality of clients through many-to-one heterogeneous communication through a network. The Internet network device according to the present invention corresponds to a server in FIG. However, the present invention is not limited thereto, and when a digital video record (DVR) or an IP (Internet protocol) camera can directly communicate with the Internet, a digital image processing device such as a DVR or an IP camera may also be an Internet network device claimed in the present invention. .

구체적으로, 도 1은 DVR(10), 또는 디지털 카메라(11)로부터 입력된 영상 데이터를 서버(100)에 저장하고, 상기 서버(100)가 저장된 영상 데이터를 복수의 클라이언트들(200, 210, 220, 230)에 제공하는 인터넷 네트워크 장치를 도시한다. Specifically, FIG. 1 stores image data input from the DVR 10 or the digital camera 11 in the server 100, and stores the image data stored in the server 100 in a plurality of clients 200, 210, An internet network device provided at 220 and 230 is shown.

본 실시 예에서는 영상 데이터의 전송에 관하여 도시하였으나, 이에 한정되는 것은 아니며 텍스트 데이터, 오디오 데이터 등의 전송도 본 발명에 포함될 수 있다. In the present embodiment, the transmission of image data is illustrated, but the present invention is not limited thereto, and transmission of text data, audio data, and the like may also be included in the present invention.

상기 서버(100)는 인코딩된 데이터의 용량을 측정하고. 통신부로부터 출력되 는 데이터 용량 또는 클라이언트에 입력되는 데이터를 함께 측정하고, 이들을 비교 판단한다. 그리고 상기 판단 결과에 따라 데이터의 인코딩을 제어하여 데이터 전송을 더욱 원활하게 수행할 수 있도록 한다. The server 100 measures the capacity of the encoded data. Measure the data volume output from the communication unit or data input to the client together and compare them. The encoding of the data is controlled according to the determination result so that the data transmission can be performed more smoothly.

또한, 본 발명에서는 서버(100)에 복수의 클라이언트들(200, 210, 220, 230)이 연결된 경우, 클라이언트들(200, 210, 220, 230) 각각에 포함된 고유의 데이터 출력 포인터(Pout)를 이용하여 클라이언트들(200, 210, 220, 230)별로 데이터를 가져가므로 각 클라이언트 별로 전송되는 데이터 용량을 측정할 수 있으며, 이에 근거하여 입력 데이터의 인코딩 방법을 제어할 수 있다.In addition, in the present invention, when a plurality of clients 200, 210, 220, and 230 are connected to the server 100, a unique data output pointer Pout included in each of the clients 200, 210, 220, and 230. Since the data is taken for each of the clients 200, 210, 220, and 230, the amount of data transmitted for each client may be measured, and the method of encoding the input data may be controlled based on the data.

이하, 도 2를 함께 참조하여 본 발명의 인터넷 네트워크 장치의 일 실시 예인 서버(100)를 상세히 설명한다.Hereinafter, the server 100, which is an embodiment of the Internet network device of the present invention, will be described in detail with reference to FIG. 2.

상기 서버(100)에 원시 데이터가 입력되면, 서버(100)의 인코더(110)에서 상기 원시 데이터를 인코딩 한다. 그리고 인코딩 된 데이터는 통신부(120)로 전송된다. 인코딩 된 데이터를 통신부 입력 데이터라 한다. 상기 데이터가 영상 데이터, 구체적으로 동영상 데이터인 경우 MPEG-4 인코딩 방법을 사용할 수 있다. When the raw data is input to the server 100, the encoder 110 of the server 100 encodes the raw data. The encoded data is transmitted to the communication unit 120. The encoded data is called communication unit input data. If the data is video data, specifically, video data, the MPEG-4 encoding method may be used.

인코딩 된 데이터들은 서버와 클라이언트들 간에 계층 구조로 된 통신 규약에 따라 데이터를 주고받는다. 따라서 통신부(120)는 어플리케이션 계층(121), 트랜스포트 계층(122), IP 계층(123), 네트워크 접속 계층(124)으로 구별되는 통신 규약에 따라 클라이언트들(200, 210)과 데이터를 주고 받는다.Encoded data exchanges data according to hierarchical communication protocol between server and client. Accordingly, the communication unit 120 exchanges data with the clients 200 and 210 according to a communication protocol divided into the application layer 121, the transport layer 122, the IP layer 123, and the network connection layer 124. .

구체적으로, 상기 각 계층들은 클라이언트들(200, 210)의 해당 계층들과 각각 정보를 교환한다. 어플리케이션 계층(121)은 클라이언트들(200, 210) 각각의 어 플리케이션 계층(201, 211)과 정보를 교환한다. 어플리케이션 계층(121)은 사용자 응용에 따른 데이터를 전송하는 계층이다. In detail, each of the layers exchanges information with corresponding layers of the clients 200 and 210, respectively. The application layer 121 exchanges information with the application layers 201 and 211 of each of the clients 200 and 210. The application layer 121 is a layer for transmitting data according to a user application.

트랜스포트 계층(122)은 어플리케이션 계층(121)에서 전송하는 데이터에 대해 신뢰성 있는 전송 상태를 유지하도록 한다. 트랜스포트 계층(122)에서는 전송하고자 하는 메시지가 세그먼트(segment)로 변환된다. 또한, 트랜스포트 계층(122)에서는 에러를 바로잡고 정보가 전송되는 것을 나타낸다. The transport layer 122 maintains a reliable transmission state for data transmitted from the application layer 121. In the transport layer 122, a message to be transmitted is converted into a segment. In addition, the transport layer 122 corrects the error and indicates that information is transmitted.

그리고 IP(Internet protocol) 계층(123)은 통신 전담 프로세서 간의 네트워크를 통한 패킷을 교환한다. 즉, 서버(100)와 클라이언트들(200, 210) 간의 접속을 설정, 유지 종료하며 모든 주소 지정, 경로 설정 및 망 기능을 선택 관리한다. 따라서 노드 간의 연결이 붕괴되었는지, 붕괴되었다면 복구시키는 작업도 함께 수행된다. The IP layer 123 exchanges packets over a network between communication dedicated processors. That is, the server 100 establishes and maintains the connection between the clients 200 and 210 and selects and manages all addressing, routing, and network functions. Therefore, if the connection between nodes is broken or repaired, it is also performed.

네트워크 접속 계층(124)은 전송을 동기화하는 제어 신호, 접속, 통신 및 접속 해제를 위한 제어 신호, 데이터를 통신 매체와 조화할 수 있는 신호 등을 전송한다.The network connection layer 124 transmits control signals for synchronizing transmissions, control signals for connection, communication and disconnection, signals for reconciling data with a communication medium, and the like.

본 발명에서 상기 통신부 출력 데이터 또는 상기 클라이언트 입력 데이터는 적어도 상기 트랜스포트 계층(122)을 통한 데이터를 의미한다. 따라서, 본 발명은 적어도 서버(100)의 트랜스포트 계층(122)을 통해 TCP 헤더와 같은 제어 데이터가 포장된 데이터 용량을 측정한다.In the present invention, the communication unit output data or the client input data means at least data through the transport layer 122. Accordingly, the present invention measures the data capacity packed with control data, such as a TCP header, at least through the transport layer 122 of the server 100.

구체적으로 전송량 판단부(130)에서 상기 통신부(120)에 입력된 데이터의 용량(통신부 입력 데이터)을 측정할 뿐만 아니라, 통신부(120) 구체적으로 트랜스포 트 계층(122)을 통해 전송되는 데이터의 용량도 측정한다. 즉, 통신부 출력 데이터 또는 클라이언트 입력 데이터의 용량을 측정한다. 종래 전송 데이터 용량은 어플리케이션 계층에서 트랜스포트 계층으로 전송되 데이터 용량을 판단하고, 즉 어플리케이션 계층에서 전송된 데이터 용량을 판단하고, 이를 기준으로 입력 데이터 용량을 제어하였다. 이와 같이 측정된 데이터 용량은 실제 클라이언트에 입력되는 데이터 용량과는 차이가 있을 수 있으며, 따라서 정확한 전송량 판단이 어려운 문제점이 있다. 그러나, 본 발명에서는 적어도 트랜스포트 계층을 통해 전송된 데이터의 용량을 측정하고 이를 기준으로 판단함으로써 보다 정확하게 데이터 전송량을 측정할 수 있다. 트랜스포트 계층(122)은 데이터 손실을 검색하고 이를 교정 및 순서 재조합을 수행하는 곳으로, 이와 같은 트랜스포트 계층(122)에서 포장된 제어 데이터, 즉 TCP 헤더를 이용함으로써 통신부에서 출력되는 또는 클라이언트에 입력되는 데이터 전송량을 정확하게 판단할 수 있다. In detail, the transmission amount determining unit 130 not only measures the capacity (communication unit input data) of the data input to the communication unit 120, but also communicates the data of the data transmitted through the transport layer 122. Dose is also measured. That is, the capacity of the communication unit output data or client input data is measured. In the conventional transport data capacity, the data capacity transmitted from the application layer to the transport layer is determined, that is, the data capacity transmitted from the application layer is determined, and the input data capacity is controlled based on this. The measured data capacity may be different from the data capacity actually input to the client, thus making it difficult to accurately determine the amount of transmission. However, in the present invention, the data transmission amount can be measured more accurately by measuring at least the capacity of the data transmitted through the transport layer and judging it based on this. The transport layer 122 detects data loss and performs correction and sequential recombination. The control layer 122, which is packed in the transport layer 122, that is output from the communication unit or the client by using a TCP header It is possible to accurately determine the input data transmission amount.

따라서, 상기 전송량 판단부(130)는 서버(100)의 적어도 트랜스포트 계층(122)을 통해 포장된 제어 데이터 TCP 헤더를 모니터링하여 통신부(120)로부터 출력되는 데이터 용량 또는 클라이언트들(200, 210) 각각에 입력되는 데이터 용량을 측정한다. 제1 클라이언트(200)로 입력되는 제1 클라이언트 입력 데이터의 용량 및/또는 제2 클라이언트(210)로 입력되는 제2 클라이언트 입력 데이터의 용량을 각각 측정할 수 있다. Accordingly, the transmission amount determining unit 130 monitors the control data TCP header packed through at least the transport layer 122 of the server 100 and outputs the data capacity or the clients 200 and 210 from the communication unit 120. Measure the amount of data entered into each. The capacity of the first client input data input to the first client 200 and / or the capacity of the second client input data input to the second client 210 may be measured, respectively.

보다 구체적으로 Syn/Ack 구조를 사용하여 전송량을 정확히 판단할 수 있다. 상기 통신부(120)는 현재 전송한 데이터의 크기(Syn)와 전송 완료된 데이터의 크 기(Ack)를 가지고 상호 싱크를 맞추는 작업을 진행하기 때문에 이 두개의 송수신 값을 모니터링 하여 전송량을 파악할 수 있다. 이때, 복수의 클라이언트가 연결된 경우, 클라이언트 별로 수신되는 Ack 값을 합한 후, 연결된 클라이언트의 수로 나우어 평균을 낸 후 전송량을 산출할 수 있다. 또한, 상기 평균에 보정값을 더하여 클라이언트 입력 데이터 용량을 얻을 수 있다.More specifically, the transmission amount can be accurately determined using the Syn / Ack structure. Since the communication unit 120 synchronizes the synchronization with the size of the currently transmitted data (Syn) and the size of the transmitted data (Ack), the communication unit 120 may monitor the two transmission / reception values to determine the transmission amount. In this case, when a plurality of clients are connected, the Ack values received for each client may be summed, then averaged by the number of connected clients, and then the transmission amount may be calculated. In addition, a correction value may be added to the average to obtain a client input data capacity.

그리고 전송량 판단부(130)에서 상기 통신부 입력 데이터와 상기 통신부 출력 데이터의 용량들을 서로 비교 판단한다. 또는 상기 통신부 입력 데이터와 상기 클라이언트 입력 데이터의 용량 또는 복수의 클라이언트들의 입력 데이터들의 평균을 비교한다. The transmission amount determining unit 130 compares the capacities of the communication unit input data and the communication unit output data with each other. Or compares the communication unit input data with the capacity of the client input data or an average of input data of a plurality of clients.

전송량 판단부(130)의 상기 비교 판단 결과에 따른 제어 신호를 전송량 제어부(140)로 전송하여, 전송량 제어부(14)에서 원시 데이터의 인코딩 방법을 또는 설정 조건 등을 변경하도록 인코더(110)를 제어한다. 따라서 데이터 전송량을 제어한다. By transmitting the control signal according to the result of the comparison determination of the transmission amount determination unit 130 to the transmission control unit 140, the transmission control unit 14 controls the encoder 110 to change the encoding method or setting conditions of the raw data, etc. do. Therefore, the data transfer amount is controlled.

전송량 판단부(130)의 판단 결과 통신부 입력 데이터의 용량보다 상기 통신부 출력 데이터 또는 상기 클라이언트 입력 데이터의 용량이 작은 경우, 이는 데이터 전송에 과부하가 걸리는 것으로 판단되므로 상기 통신부 입력 데이터의 용량을 줄이도록 제어할 수 있다. 예를 들어, 영상 데이터인 경우에는 해상도, 프레임 래이트, 비트 래이트 등을 조절하여 제어할 수 있다. If the transmission capacity determination unit 130 determines that the capacity of the communication unit output data or the client input data is smaller than that of the communication unit input data, it is determined that the data transmission is overloaded, so that the control unit reduces the capacity of the input data. can do. For example, in the case of video data, the resolution, frame rate, bit rate, etc. may be adjusted and controlled.

도 3은 도 2에 도시된 인터넷 네트워크 장치의 서버의 전송량 판단부의 일 실시 예를 구체적으로 도시한 블럭도이다.3 is a block diagram illustrating an example embodiment of a transmission amount determining unit of a server of the Internet network apparatus illustrated in FIG. 2.

본 실시 예에 따른 전송량 판단부(130a)는 통신부 입력 데이터를 측정하는 제1 측정부(131)와 통신부 출력 데이터 또는 클라이언트 입력 데이터를 측정하는 제2 측정부(132a) 및, 상기 제1 측정부(131)와 상기 제2 측정부(132a)에서 측정된 데이터들을 서로 비교 판단하는 판단부(135a)를 구비할 수 있다.The transmission amount determining unit 130a according to the present embodiment includes a first measuring unit 131 measuring the communication unit input data, a second measuring unit 132a measuring the communication unit output data or the client input data, and the first measuring unit. And a determination unit 135a for comparing and determining the data measured by the second measurement unit 132a with each other.

제1 측정부(131)는 인코더(도 2의 110)로부터 채널(channel) 별로 입력되는 통신부 입력 데이터의 패킷 크기를 주기적으로 측정하여 통계를 산출할 수 있다.The first measurement unit 131 may periodically calculate the packet size of the communication unit input data input for each channel from the encoder (110 of FIG. 2) and calculate statistics.

제2 측정부(132a)는 클라이언트에 연결된 네트워크 전송선에서 클라이언트 입력 데이터 패킷의 TCP 헤더를 모니터링하여, 상기 TCP 헤더로부터 소스 주소(Source ip), 목적지 주소(Destination ip), 통신 동작을 하는 프로그램을 식별하는 포트 번호(port number), 전송하는 패킷의 선두 위치의 데이터가 송신하고자 하는 데이터의 몇 바이트 째에 해당하는지를 알리는 시퀀스 번호(Sequence number), 데이터가 몇 바이트 째까지 수신측에 도착했는지를 알리는 ACK 번호(Acknowledgement number)를 분석하고 이들을 이용하여 계산함으로써 전송량을 주기적으로 측정할 수 있다. The second measurement unit 132a monitors a TCP header of a client input data packet on a network transmission line connected to the client, and identifies a source address, a destination address, and a program for performing a communication operation from the TCP header. A port number to be transmitted, a sequence number to indicate how many bytes of data to be transmitted at the head of the packet to transmit, and an ACK to indicate to which byte the data has been received. By analyzing the Acknowledgment numbers and calculating them, we can measure the throughput periodically.

또는 제2 측정부(132a)는 적어도 트랜스포트 계층(도 2의 122)을 통해 포장된 제어 데이터를 이용하여 통신부(도 1의 120)의 통신부 출력 데이터의 패킷 크기를 측정할 수 있다. Alternatively, the second measurement unit 132a may measure the packet size of the communication unit output data of the communication unit (120 of FIG. 1) using at least the control data packed through the transport layer (122 of FIG. 2).

그리고 상기 제1 측정부(131)와 제2 측정부(132a)에서 측정된 데이터 값들은 판단부(133)에 전송되고, 상기 판단부(135a)에서 상기 데이터 값들을 비교 판단한다. Data values measured by the first measurement unit 131 and the second measurement unit 132a are transmitted to the determination unit 133, and the determination unit 135a compares the data values.

구체적으로, 상기 판단부(135a)에서 상기 통신부 출력 데이터 또는 상기 클라이언트 입력 데이터가 상기 통신부 입력 데이터와 다른 경우에는, 이에 해당하는 제어 신호를 생성하고, 상기 제어 신호를 전송량 제어부(도 2의 140)에 전송한다. 그리고 전송량 제어부(140)에서 상기 통신부 출력 데이터 또는 상기 클라이언트 입력 데이터 용량과 동일한 용량을 갖는 상기 통신부 입력 데이터를 생성하도록 인코더(도 2의 110)를 제어한다.Specifically, when the communication unit output data or the client input data is different from the communication unit input data, the determination unit 135a generates a control signal corresponding thereto, and transmits the control signal to the transmission amount control unit (140 in FIG. 2). To transmit. The transmission control unit 140 controls the encoder (110 of FIG. 2) to generate the communication unit input data having the same capacity as the communication unit output data or the client input data capacity.

전송량 판단부(130b)의 다른 실시 예로서, 도 4를 참조하여 설명한다. 본 실시 예에서는 복수의 클라이언트들이 연결된 경우 전송량을 판단하는 전송량 판단부(130b)에 대해 예시한다. 도 3과 동일한 참조 부호를 사용하는 것은 동일한 구성 요소이므로, 도 4에서는 도 3과 상이한 점을 위주로 설명한다.As another embodiment of the transmission amount determination unit 130b, it will be described with reference to FIG. 4. In the present embodiment, a transmission amount determination unit 130b that determines a transmission amount when a plurality of clients are connected is illustrated. Since the same reference numerals as those of FIG. 3 are the same components, the description of FIG. 4 will be mainly focused on differences from FIG. 3.

본 실시 예에 따른 전송량 판단부(130b)는 통신부 입력 데이터를 측정하는 제1 측정부(131)와 복수의 클라이언트들의 입력 데이터들 각각을 측정하는 제2 측정부(132b)와, 상기 제2 측정부(132b)로부터 제공되는 클라이언트들의 입력 데이터들의 평균 또는 평균 근사치를 산출하는 산출부(133)와, 상기 데이터들을 서로 비교 판단하는 판단부(135b)를 구비할 수 있다.The transmission determining unit 130b according to the present embodiment includes a first measuring unit 131 measuring communication unit input data, a second measuring unit 132b measuring each input data of a plurality of clients, and the second measurement. The calculator 133 may calculate an average or an approximation of average values of the input data of the clients provided from the unit 132b, and a determination unit 135b for comparing and determining the data.

복수의 클라이언트들이 연결되어 있는 경우, 제2 측정부(132b)는 각 클라이언트 입력 데이터를 측정할 수 있다.When a plurality of clients are connected, the second measurement unit 132b may measure each client input data.

그리고 산출부(133)에서 상기 제2 측정부(132b)로부터 제공된 클라이언트 입력 데이터들을 합하여 평균을 계산한다. 예를 들어, 초당 100Byte가 생산되고, 제1 클라이언트로 80Byte가, 제2 클라이언트로 40Byte가 전송 성공했다면, 평균 전송량 은 60Byte가 될 것이다. 상기와 같이 계산된 평균으로 전송량을 판단하고 제어할 수도 있지만, 실질적으로 상기 평균에 소정의 보정값을 더한 평균 근사치를 이용하여 전송량 판단 및 제어를 실행할 수 있다.The calculator 133 calculates an average by adding the client input data provided from the second measurement unit 132b. For example, if 100 bytes are produced per second, 80 bytes are transmitted to the first client, and 40 bytes are transferred to the second client, the average transfer amount will be 60 bytes. Although the transmission amount can be determined and controlled using the average calculated as described above, the transmission amount determination and control can be executed using an average approximation value that substantially adds a predetermined correction value to the average.

예를 들어, 평균 60Byte 용량의 데이터가 클라이언트에 전송된다면, 전송율은 60%이다. 이에, 소정의 보정값 6을 더하여 평균 근사치 66%을 산출한다. 상기 보정값을 더 포함하는 이유는 전송 성공한 전송량 60Byte에 따라 통신부 입력 데이터의 용량을 60% 로 바로 하향 조정하면, 망의 변화에 너무 민감하게 동작하기 때문에 상기와 같은 보정값을 사용한다. For example, if an average of 60 bytes of data is sent to the client, the transfer rate is 60%. The predetermined approximation value 6 is added to calculate an average approximation 66%. The reason why the correction value is further included is that if the communication unit directly adjusts the capacity of the input data to 60% according to the successful transmission amount of 60 bytes, the correction value is used because it is too sensitive to network changes.

더욱 구체적으로, 상기 보정값을 6으로 선택한 이유는 실제로 작성하는 코드상에서 100 단위로 전송량을 조절하기가 복잡하여 이를 다시 10 단위로 나누어 조절한다. 따라서 초기 산출된 보정값을 10으로 나누는 동작을 수행하게 되는데 만약 보정값이 57% 라면 최종 보정값이 57/10=5 가 되며 실제 57%는 60%에 더 가깝기 때문에 (57+6)/10=6을 만들어 반올림한 효과를 거두기 위해 6을 선택한 것이다. More specifically, the reason for selecting the correction value of 6 is that it is difficult to adjust the amount of transmission in units of 100 on the code actually written, and then divides it into units of 10 again. Therefore, the initial calculated correction value is divided by 10. If the correction value is 57%, the final correction value is 57/10 = 5, and since the actual 57% is closer to 60%, (57 + 6) / 10 6 was chosen to round up by making = 6.

상기 산출부(133)로부터 제공된 평균 또는 평균 근사치와 상기 제1 측정부(131)로부터 제공된 통신부 입력 데이터의 크기를 판단부(135b)에서 판단한다. 상기 평균과 상기 통신부 입력 데이터의 크기가 다르다면, 또는 상기 평균 근사치와 상기 통신부 입력 데이터의 크기가 상이하다면, 이에 대응하는 제어 신호는 전송량 제어부(도 2의 140)로 전송한다. The determination unit 135b determines the average or average approximation provided from the calculator 133 and the size of the communication unit input data provided from the first measurement unit 131. If the average and the size of the communication unit input data are different, or if the average approximation value and the size of the communication unit input data are different, the control signal corresponding thereto is transmitted to the transmission controller (140 in FIG. 2).

이와 같은 전송량 제어부(도 2의 140)는 도5를 참조하여 더욱 상세히 설명한다. 본 실시 예에서는 영상 데이터의 경우 상기 영상 데이터의 용량을 제어하는 전 송량 제어부(140)를 예시한다. Such a transmission control unit (140 of FIG. 2) will be described in more detail with reference to FIG. In the present embodiment, in the case of image data, the transmission amount control unit 140 controlling the capacity of the image data is illustrated.

상기 전송량 제어부(140)는 해상도 제어부(141), 프레임 래이트 제어부(142), 비트 래이트 제어부(143) 중에서 적어도 어느 하나를 포함할 수 있다. The transmission control unit 140 may include at least one of the resolution control unit 141, the frame rate control unit 142, and the bit rate control unit 143.

영상 데이터의 경우 해상도에 따라 그 용량이 변하므로, 용량 변경의 방법으로 해상도를 조절하도록 하는 해상도 제어부(141)를 포함할 수 있다. 따라서, 판단부(도 3의 135a 또는 도 4의 135b)에서 통신부 입력 데이터와 통신부 출력 데이터 또는 클라이언트 입력 데이터가 상이한 경우, 이들이 동일하도록 해상도를 조절할 수 있다. 복수의 클라이언트가 연결된 경우 클라이언트들의 입력 데이터들의 평균 및 이에 보정값을 더한 평균 근사치를 상기 통신부 입력 데이터의 크기와 비교할 수 있다. 예를 들어 통신부 입력 데이터보다 통신부 출력 데이터 또는 클라이언트 입력 데이터가 그 용량이 작은 경우, 데이터 통신에 과부하가 걸리는 것이므로 용량을 줄여야 한다. 또는 복수의 클라이언트들이 연결된 경우, 통신부 입력 데이터보다 상기 평균 또는 평균 근사치가 그 용량이 작은 경우 통신부 입력 데이터의 용량을 줄이도록 제어할 수 있다. 즉, 통신부 출력 데이터, 클라이언트 입력 데이터, 상기 평균 또는 평균 근사치와 동일한 용량을 갖는 통신부 입력 데이터를 생성하도록 인코더를 조절하여야 한다. 따라서 원시 데이터를 인코딩함에 있어서 현재 해상도 보다 낮은 해상도를 갖도록 인코더(도 2의 110)를 제어한다.Since the capacity of the image data varies depending on the resolution, it may include a resolution control unit 141 for adjusting the resolution by a method of changing the capacity. Therefore, when the communication unit input data and the communication unit output data or the client input data are different in the determination unit (135a of FIG. 3 or 135b of FIG. 4), the resolution may be adjusted to be the same. When a plurality of clients are connected, the average of the input data of the clients and an average approximation obtained by adding the correction value may be compared with the size of the communication unit input data. For example, if the communication unit output data or the client input data has a smaller capacity than the communication unit input data, the data communication is overloaded, so the capacity should be reduced. Alternatively, when the plurality of clients are connected, the capacity of the communication unit input data may be reduced when the average or average approximation value is smaller than the communication unit input data. That is, the encoder should be adjusted to generate communication unit output data, client input data, and communication unit input data having a capacity equal to the average or the average approximation. Therefore, in encoding the raw data, the encoder (110 of FIG. 2) is controlled to have a resolution lower than the current resolution.

프레임 래이트 제어부(142)는 복수의 프레임들로 이루어진 동영상 데이터에 있어서 초당 전송하는 프레임의 개수에 해당하는 프레임 래이트를 조절함으로써, 동영상 데이터의 용량을 조절할 수 있다. 용량을 줄여야 하는 경우 프레임 래이트 를 감소시킬 것이고, 용량을 늘려야 하는 경우 프레임 래이트를 증가시켜야 한다.The frame rate control unit 142 may adjust the capacity of the moving picture data by adjusting the frame rate corresponding to the number of frames transmitted per second in the moving picture data consisting of a plurality of frames. If capacity is to be reduced, frame rate will be reduced. If capacity is to be increased, frame rate should be increased.

비트 래이트 제어부(143)도 데이터 용량을 제어할 수 있다. 예를 들어 데이터 용량을 감소하고자 하는 경우에 비트 래이트를 감소시키며, 용량을 증가시키고자 하는 경우에는 비트 래이트를 증가시켜 그 용량을 가변 화할 수 있다. 이는 일반적인 방법으로, 이후에 비트 래이트 제어에 대해 도 10을 참조하여 보다 구체적으로 설명한다.The bit rate control unit 143 may also control the data capacity. For example, the bit rate may be reduced when the data capacity is to be reduced, and the capacity may be changed by increasing the bit rate when the capacity is to be increased. This is a general method, and bit bit control will be described later in more detail with reference to FIG. 10.

하나의 데이터를 복수의 클라이언트들(200, 210)에 전송하는 경우, 도 6에서 후술하는 링버퍼에 의해 상기 클라이언트들(200, 210)은 별개로 데이터를 전송 받을 수 있다. 따라서 각 클라이언트들(200, 210)에 전송되는 데이터 용량을 측정할 수 있으며, 이와 입력되는 데이터 용량을 비교 판단하여 데이터 전송량을 제어할 수 있다.When one data is transmitted to the plurality of clients 200 and 210, the clients 200 and 210 may be separately transmitted by the ring buffer described later in FIG. 6. Therefore, the data capacity transmitted to each of the clients 200 and 210 may be measured, and the data transmission amount may be controlled by comparing and determining the data capacity input thereto.

이때, 각 클라이언트들(200, 210)에 전송되는 데이터 용량, 즉 클라이언트 입력 데이터 용량들의 평균을 계산하여, 상기 평균과 통신부 입력 데이터 용량을 비교하여 상이한 경우, 상기 통신부 입력 데이터 용량과 동일하도록 통신부 입력 데이터 용량을 제어할 수 있다. 즉, 상기 평균 또는 가장 작은 클라이언트 입력 데이터 용량과 동일하도록 인코딩 방법을 제어할 수 있다. In this case, the data capacity transmitted to each of the clients 200 and 210, that is, an average of client input data capacities are calculated, and when the average is different from the communication unit input data capacity, the communication unit input is equal to the communication unit input data capacity. Data capacity can be controlled. That is, the encoding method may be controlled to be equal to the average or smallest client input data capacity.

또는 원시 데이터를 클라이언트들 각각에 별개로 인코딩을 수행하거나, 또는 소정 그룹으로 묶여진 클라이언트들 별로 동일한 인코딩을 행하는 경우, 해당 클라이언트 각각에 입력되는 데이터 용량 또는 그룹 단위의 클라이언트들에 입력되는 데이터 용량들의 평균과 동일하도록 통신부 입력 데이터 용량을 제어할 수 있다. 즉, 클라이언트 별로 상기 원시 데이터의 인코딩 방법을 제어할 수 있다. Alternatively, when encoding raw data separately to each client or performing the same encoding for each client grouped in a predetermined group, the average of the data capacities input to the clients or the group capacities. The communication unit may control the input data capacity to be equal to. That is, the encoding method of the raw data can be controlled for each client.

도 6은 도 2에 도시된 인터넷 네트워크 장치에 있어서, 어플리케이션 계층에서 데이터 전송에 관하여 하나의 입력과 다수의 출력을 갖는 링버퍼에 데이터가 임시 저장되어 전송하는 과정을 설명하기 위한 블럭도이다. FIG. 6 is a block diagram illustrating a process of temporarily storing and transmitting data to a ring buffer having one input and a plurality of outputs in relation to data transmission in the Internet network device shown in FIG. 2.

도 6을 참조하면, 통신부(120)의 어플리케이션 계층(121)에서 입력 제어부(121a)와, 링버퍼(121b)와, 복수의 출력 제어부들(121c, 121d)를 포함한다. Referring to FIG. 6, the application layer 121 of the communication unit 120 includes an input controller 121a, a ring buffer 121b, and a plurality of output controllers 121c and 121d.

입력 제어부(121a)를 통해 채널 별로 입력되는 데이터를 링버퍼(121b)에 입력하고, 클라이언트는 출력 제어부들(121c, 121d)를 통해 링버퍼(121b)에 기록된 데이터들을 독출한다. 상기 데이터는 인코더로부터 제공된 데이터이다. Data input for each channel through the input control unit 121a is input to the ring buffer 121b, and the client reads data recorded in the ring buffer 121b through the output control units 121c and 121d. The data is data provided from the encoder.

상기 링버퍼(121b)는 각각의 채널 당 하나씩 운용하며, 이에 연결된 클라이언트 고유의 출력 포인터(Pout)를 가짐으로써, ATC(Automatic Traffic Control) 알고리즘을 클라이언트 별로 각각 적용하여 운용할 수 있다. 즉, 상기 링버퍼(121b)는 입력된 데이터를 출력함에 있어서 비동기적으로 동작하며, 입력 속도와 출력 속도가 서로 영향을 받지 않아 실시간으로 영상을 처리할 수 있다. 또한, 전송 속도가 너무 느린 클라이언트에 패널티를 주어 영상을 가져가지 못하게 해도 다른 영상 입력과 출력 동작에 영향을 미치지 않는다. The ring buffer 121b operates one for each channel, and has a client-specific output pointer (Pout) connected thereto, thereby applying and operating an automatic traffic control (ATC) algorithm for each client. That is, the ring buffer 121b operates asynchronously in outputting input data, and may process an image in real time because the input speed and the output speed are not affected by each other. In addition, penalizing clients with too slow transmission speeds prevents them from taking images that do not affect other video input and output operations.

상기 입력 제어부(121a)는 상기 링버퍼(121b)에 시계방향으로 데이터를 임시 저장한다. 이때, 상기 링버퍼(121b)가 한바퀴 돌아서 더 이상 데이터를 저장할 영역이 없다면, 이전 데이터를 지우고 현재의 데이터를 저장한다. 따라서 상기 링버퍼(121b)에는 전체적으로 항상 전송할 데이터가 존재하며, 시계방향으로 저장한다 면, 언제든지 데이터를 출력할 수 있다. The input controller 121a temporarily stores data in the ring buffer 121b in a clockwise direction. At this time, if the ring buffer 121b is turned around and there is no more area to store the data, the old data is deleted and the current data is stored. Therefore, there is always data to be transmitted in the ring buffer 121b as a whole. If stored in the clockwise direction, the data can be output at any time.

도 7을 참조하여 입력 제어부(121a)를 더욱 상세히 설명한다.The input control unit 121a will be described in more detail with reference to FIG. 7.

입력 제어부(121a)는 데이터를 저장할 수 있는 위치에 관한 정보인 현재의 입력 포인터(Pin), 상기 링버퍼(121b)에 저장할 수 있는 데이터의 최대 용량, 이미 저장된 데이터의 용량의 변수에 의해 링버퍼(121b)에 데이터를 저장함을 제어할 수 있다.The input control unit 121a is a ring buffer based on a current input pointer Pin which is information on a location where data can be stored, a maximum capacity of data that can be stored in the ring buffer 121b, and a variable of capacity of data that is already stored. It is possible to control that data is stored in 121b.

구체적으로, 도 6에 도시된 링버퍼(121b)는 미리 X1의 입력 포인터에서 데이터가 시계 방향으로 저장됨으로써, 현재 데이터를 저장할 수 있는 입력 포인터는 X2이고, 링버퍼(121b)에 저장할 수 있는 데이터 용량은 Y, 이미 저장된 데이터 용량은 Z로서의 입력 포인터를 갖는다. 따라서 현재 데이터는 X2 입력 포인터에서 시계 방향으로 Y-Z 용량의 데이터를 저장할 수 있다.Specifically, in the ring buffer 121b illustrated in FIG. 6, the data is stored in the clockwise direction in advance in the input pointer of X1, so that the input pointer capable of storing the current data is X2, and the data may be stored in the ring buffer 121b. The capacity has a input pointer as Y and the data capacity already stored as Z. Therefore, the current data can store Y-Z capacity data in the clockwise direction from the X2 input pointer.

또한, 링버퍼(121b)로부터 데이터를 출력하는 동작에 관하여 이하 설명한다. 링버퍼(121b)에 초기 접속되었을 때, 제일 앞쪽의 데이터를 포인터로 해서 데이터를 가져간다. 제1 클라이언트는 제1 출력 제어부(121c)를 통해 X1의 출력 포인터로부터 데이터를 시계 방향으로 가져간다. 이때, 이전에 마지막으로 전달한 데이터의 순서 정보에 따라 현재 출력한 데이터의 순서가 이전에 마지막으로 전송한 데이터 다음의 순서인지 판단한다. 다음의 순서가 맞는다면 데이터를 상기 제1 클라이언트로 전송할 수 있다. 제2 클라이언트는 제2 독출 제어부(121d)를 통해 데이터를 독출할 수 있다. The operation of outputting data from the ring buffer 121b will be described below. When initially connected to the ring buffer 121b, the data is taken with the first data as a pointer. The first client takes the data clockwise from the output pointer of X1 through the first output control unit 121c. At this time, it is determined whether the order of the currently output data is the order after the last transmitted data according to the order information of the data previously transmitted. If the following order is correct, data may be transmitted to the first client. The second client may read data through the second read control unit 121d.

이와 같은 출력 동작은 출력 제어부들(121c, 121d)에 의해 이루어질 수 있 다. 클라이언트들에 별로 개별적으로 출력 동작을 행함을 개념적으로 도시하기 위해 각 클라이언트에 대응하도록 2개의 출력 제어부들(121c, 121d)로 구분하였다. 그러나, 상기 출력 제어부들(121c, 121d)의 출력 동작은 동일한 원리에 의해 행해지므로, 이들 중 제1 출력 제어부(121c)만을 도 8에 구체적으로 도시하였다. 따라서 제2 출력 제어부(121d)도 도 8에 도시된 제1 출력 제어부(121c)와 동일한 구조를 갖는다.Such an output operation may be performed by the output controllers 121c and 121d. In order to conceptually show that the output operation is individually performed to the clients, the two output controllers 121c and 121d are divided to correspond to each client. However, since the output operation of the output control units 121c and 121d is performed by the same principle, only the first output control unit 121c is specifically illustrated in FIG. 8. Accordingly, the second output controller 121d also has the same structure as the first output controller 121c shown in FIG. 8.

도 8을 참조하면, 제1 출력 제어부(121c)는 출력 포인터, 마지막으로 전송한 데이터의 순서가 저장되어 있을 수 있다. 그리고, 현재 전송할 데이터의 순서가 마지막으로 전송한 데이터의 다음 순서인지 순서 판단부에서 판단할 수 있다.Referring to FIG. 8, the first output controller 121c may store an output pointer and an order of the last transmitted data. The order determining unit may determine whether the order of data to be transmitted is next to the data transmitted last.

상기 데이터가 영상 데이터인 경우에는 상기 출력 제어부(121c)는 마지막으로 전달한 영상 데이터의 프레임 순서를 저장하고 있으며, 현재 전송할 영상 데이터의 프레임 순서가 이전의 그것 다음 순서인지를 판단할 수 있다. 이와 같이 순서를 확인하는 이유는, 상기 링버퍼(121b)가 입력에 우선권이 주어지기 때문이다. 예전 데이터가 지워지고 최근 데이터로 변경될 수 있기 때문에, 출력 포인터가 가리키는 데이터가 현재 전송하고 있는 데이터와 그 순서가 일직선상에 있는지 확인 해야 한다. 예를 들어, 느린 주파수 대역(bandwidth)를 갖는 클라이언트는 입력 포인터에 잡히게 되어 순서에 맞는 데이터가 전송되지 못할 수 있으므로, 마지막으로 전송한 프레임의 순서를 기억할 필요가 있다.When the data is image data, the output control unit 121c stores the frame order of the image data that was last transmitted, and may determine whether the frame order of the image data to be transmitted currently is the previous or next order. The reason for confirming the order in this way is that the ring buffer 121b is given priority to the input. Because the old data can be erased and changed to the latest data, you need to make sure that the data pointed to by the output pointer is in line with the data you are currently transferring. For example, a client with a slow frequency bandwidth may be caught by an input pointer and thus may not be able to transmit data in order. Therefore, it is necessary to remember the order of the last transmitted frame.

상기 출력 포인터는 클라이언트 별로 가질 수 있으므로, 클라이언트들 서로의 출력 동작에는 영향을 미치지 않을 수 있다.Since the output pointer may be provided for each client, the output pointers may not affect the output operation of each other.

따라서, 도 6에 도시된 것과 같이 개념적으로 클라이언트 별로 각각의 출력 제어부를 가질 수 있다. 예를 들어, 제1 클라이언트는 제1 출력 제어부(121c)를 제2 클라이언트는 제2 출력 제어부(121d)를 가질 수 있다. Accordingly, as illustrated in FIG. 6, each output control unit may be conceptually provided for each client. For example, the first client may have a first output controller 121c and the second client may have a second output controller 121d.

상기 살펴 본 바와 같이, 본 실시예에 관한 링버퍼는 하나의 데이터를 다수의 클라이언트에 전송할 때, 유용한 버퍼링 기술이다. 특히, 전송량 판단부(도 2의 130)에서 클라이언트 입력 데이터를 측정함에 있어서, 각 클라이언트 별로 고유의 출력 포인터 정보에 근거하여 링버퍼로부터 데이터를 전송 받기 때문에, 각 클라이언트로 입력되는 데이터를 별개로 측정할 수 있다. 또한 각 클라이언트 마다 데이터 전송량을 측정하여 이들의 평균 또는 평균 근사치를 통신부 입력 데이터 용량과 비교하여, 상이한 경우 상기 평균 또는 평균 근사치에 맞추어 인코딩을 제어할 수 있다. 또는 가장 작은 클라이언트 입력 데이터 용량에 맞추어 인코딩을 제어할 수도 있다. As discussed above, the ring buffer according to the present embodiment is a useful buffering technique when transmitting one data to multiple clients. In particular, in measuring the client input data in the transmission determination unit (130 of FIG. 2), since data is transmitted from the ring buffer based on output pointer information unique to each client, data input to each client is measured separately. can do. In addition, by measuring the amount of data transmission for each client and comparing their average or average approximation value with the communication unit input data capacity, encoding may be controlled according to the average or average approximation value if different. Alternatively, the encoding can be controlled for the smallest client input data capacity.

도 9는 본 발명에 관한 인터넷 네트워크 장치를 이용한 데이터 전송 방법을 설명하기 위한 순서도이다. 본 실시 예에서는 복수의 클라이언트들이 연결된 경우의 데이터 전송 방법을 예시한다. 9 is a flowchart illustrating a data transmission method using an internet network device according to the present invention. This embodiment illustrates a data transmission method when a plurality of clients are connected.

도 9를 참조하면, 우선 원시 데이터를 입력하고(S100), 상기 원시 데이터를 인코딩한다(S200).Referring to FIG. 9, first, raw data is input (S100), and the raw data is encoded (S200).

그리고 인코딩된 상기 데이터를 서버의 통신부에 입력하고(S300), 통신부의 링버퍼에 상기 데이터를 임시로 저장한다(S400). The encoded data is input to the communication unit of the server (S300), and the data is temporarily stored in a ring buffer of the communication unit (S400).

상기 데이터를 통신부로부터 출력하여(S500), 클라이언트들 각각에 상기 데 이터를 전송한다(S600). Output the data from the communication unit (S500), and transmits the data to each of the clients (S600).

이때, 상기 데이터 전송 단계와는 별개로 S300 단계에서 통신부에 입력되는 통신부 입력 데이터의 용량을 측정한다(S310).In this case, the capacity of the communication unit input data input to the communication unit in step S300 is measured separately from the data transmission step (S310).

그리고 S500 단계에서 통신부로부터 출력되는 통신부 출력 데이터의 용량을 측정한다(S510). 또는 S600 단계에서 클라이언트등 각각에 전송되는 클라이언트 입력 데이터의 용량을 측정한다(S610). 그리고 복수의 클라이언트 입력 데이터들의 평균 또는 평균 근사치를 산출한다. 여기서 평균 근사치는 상기 평균에 소정 보정값을 더한 것이다. 또한, 상기 통신부 출력 데이터의 용량 또는 상기 클라이언트 입력 데이터는 적어도 통신부의 트랜스포트 계층을 통해 전송되는 데이터 용량이다. 따라서 상기 통신부 출력 데이터의 용량 또는 상기 클라이언트 입력 데이터는 트랜스포트 계층에서 포장된 제어 데이터인 TCP 헤더를 이용하여 그 전송량을 측정한다.In step S500, the capacity of the communication unit output data output from the communication unit is measured (S510). Or in step S600 measures the capacity of the client input data transmitted to each of the client (S610). The mean or average approximation of the plurality of client input data is calculated. Here, the average approximation value is obtained by adding a predetermined correction value to the average. In addition, the capacity of the communication unit output data or the client input data is at least a data capacity transmitted through the transport layer of the communication unit. Accordingly, the capacity of the communication unit output data or the client input data is measured using a TCP header which is control data packed in a transport layer.

상기와 같은 측정된 데이터들을 서로 비교 판단한다. 구체적으로 통신부 입력 데이터 용량과 통신부 출력 데이터 용량 또는 상기 통신부 입력 데이터 용량과 클라이언트 입력 데이터 용량(클라이언트가 단수인 경우), 또는 상기 통신부 입력 데이터 용량과 사익 평균 또는 평균 근사치가 동일한지 판단한다(S620).The measured data as described above are compared to each other. In more detail, it is determined whether the communication unit input data capacity and the communication unit output data capacity or the communication unit input data capacity and the client input data capacity (when the client is a single number), or the communication unit input data capacity and the profit average or the average approximation are the same (S620). .

상기 판단 결과 비교하는 데이터 용량들이 서로 상이하다면, 통신부 입력 데이터 용량과 동일하도록 인코딩을 제어한다(S630). 예를 들어, 원시 데이터가 영상 데이터인 경우, 상기 통신부 출력 데이터, 클라이언트 입력 데이터 용량이 상기 통신부 입력 데이터, 상기 평균 또는 평균 근사치 용량보다 작다면, 상기 통신부 입 력 데이터의 해상도를 줄이거나 또는 프레임 래이트 또는 비트 래이트를 감소시키는 방향으로 인코딩을 제어하여 상기 통신부 출력 데이터 또는 클라이언트 입력 데이터와 동일한 용량을 갖도록 할 수 있다. As a result of the determination, if the data capacities to be compared are different from each other, the encoding is controlled to be equal to the input data capacity of the communication unit (S630). For example, when the raw data is image data, if the communication unit output data and the client input data capacity are smaller than the communication unit input data, the average or average approximate capacity, the resolution of the communication unit input data may be reduced or the frame rate may be reduced. Encoding may be controlled in a direction of reducing bit or bit rate to have the same capacity as the communication unit output data or client input data.

상기 용량들이 동일할 경우에는 현재 인코딩 상태를 유지할 수 있다(S640). If the capacities are the same, the current encoding state may be maintained (S640).

도 10을 참조하여, 상기 통신부 출력 데이터, 클라이언트 입력 데이터 용량, 상기 평균 또는 평균 근사치가 상기 통신부 입력 데이터 용량과 상이한 경우 비트 래이트를 조절하여 인코딩을 제어하는 방법에 대해 상세히 설명한다.Referring to FIG. 10, a method of controlling encoding by adjusting bit rate will be described in detail when the communication unit output data, the client input data capacity, and the average or average approximation value are different from the communication unit input data capacity.

비트 래이트는 프레임 래이트가 낮을수록 그 변화량이 크다. 따라서 여러 샘플들을 이용하여 귀납적으로 비트 래이트와 프레임 래이트와의 관계를 도 7에 복수의 그래프들로 나타내었다. 상기 그래프들 각각은 전송 속도(transfer rate)에 따른 비트레인 조절값(Bitrate adjustment)의 관계를 도시하였다.The lower the frame rate is, the larger the bit rate is. Therefore, the relationship between the bit rate and the frame rate is shown in a plurality of graphs in FIG. 7 by using various samples. Each of the graphs shows the relationship between bitrate adjustments according to transfer rates.

비트 래이트 조절을 위해, 우선 해당 프레임 래이트에 대응하는 그래프를 선택하고, 선택된 그래프에서 전송 속도 감소량에 대응하는 비트 래이트 조절값을 얻을 수 있다. 도 7에서, a 그래프는 프레임 래이트는 30~20이고, b 그래프는 19~10, c 그래프는 9~5, d 그래프는 4~1이다. For bit rate adjustment, first, a graph corresponding to the frame rate may be selected, and a bit rate adjustment value corresponding to a transmission rate reduction amount may be obtained from the selected graph. In FIG. 7, the graph a is 30-20 in the frame rate, the graph b is 19-10, the graph c is 9-5, and the graph d is 4-1.

예를 들어, 프레임 래이트가 25 라면, a 그래프를 선택하고, 전송 속도가 4.5에서 3.5로 감소한 경우라면 비트 래이트를 약 10% 정도 감소하는 것으로 판단할 수 있다. 상기 전송 속도는 시간 대비 데이터 전송 용량으로 나타낼 수 있다. For example, if the frame rate is 25, a graph is selected, and if the transmission rate is reduced from 4.5 to 3.5, it may be determined that the bit rate is reduced by about 10%. The transmission rate may be expressed as a data transmission capacity against time.

본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균 등한 다른 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.Although the present invention has been described with reference to the embodiments shown in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

도 1은 본 발명에 관한 인터넷 네트워크 장치를 개략적으로 도시한 도면이다. 1 is a diagram schematically showing an internet network device according to the present invention.

도 2는 본 발명에 관한 인터넷 네트워크 장치를 설명하기 위한 블럭도이다. 2 is a block diagram illustrating an internet network device according to the present invention.

도 3은 도 2에 도시된 인터넷 네트워크 장치의 전송량 판단부의 일 실시 예를 설명하기 위한 블럭도이다. FIG. 3 is a block diagram illustrating an embodiment of a transmission amount determining unit of the Internet network device shown in FIG. 2.

도 4는 도 2에 도시된 인터넷 네트워크 장치의 전송량 판단부의 다른 실시 예를 설명하기 위한 블럭도이다.FIG. 4 is a block diagram for explaining another embodiment of the transmission amount determining unit of the Internet network device shown in FIG. 2.

도 5는 도 2에 도시된 인터넷 네트워크 장치의 서버의 전송량 제어부를 설명하기 위한 블럭도이다. FIG. 5 is a block diagram illustrating a transmission amount control unit of a server of the Internet network device shown in FIG. 2.

도 6은 도 2에 도시된 인터넷 네트워크 장치에 있어서, 어플리케이션 계층에서 데이터 전송에 관하여 하나의 입력과 다수의 출력을 갖는 링버퍼에 데이터가 임시 저장되어 전송하는 과정을 설명하기 위한 블럭도이다. FIG. 6 is a block diagram illustrating a process of temporarily storing and transmitting data to a ring buffer having one input and a plurality of outputs in relation to data transmission in the Internet network device shown in FIG. 2.

도 7은 도 6에 도시된 입력 제어부를 설명하기 위한 블록도이다. FIG. 7 is a block diagram illustrating the input control unit shown in FIG. 6.

도 8은 도 6에 도시된 출력 제어부를 설명하기 위한 블록도이다. FIG. 8 is a block diagram illustrating the output control unit shown in FIG. 6.

도 9는 본 발명에 관한 인터넷 네트워크 장치를 이용한 데이터 전송 방법을 설명하기 위한 순서도이다. 9 is a flowchart illustrating a data transmission method using an internet network device according to the present invention.

도 10은 도 9의 순서도에서 S630 단계의 일 실시 예로서, 비트 래이트를 조절하여 인코딩을 제어하는 방법을 설명하기 위한 그래프이다.FIG. 10 is a graph illustrating a method of controlling encoding by adjusting a bit rate as an embodiment of step S630 in the flowchart of FIG. 9.

Claims (24)

원시 데이터를 코딩하여 통신부 입력 데이터를 생성하는 인코더,An encoder for coding raw data to generate communication unit input data, 상기 통신부 입력 데이터를 어플리케이션 계층, 트랜스포트 계층, IP 계층 및 네트워크 접속 계층을 순차적으로 통해 상기 클라이언트에 전송하는 통신부,A communication unit for transmitting the communication unit input data to the client sequentially through an application layer, a transport layer, an IP layer, and a network connection layer; 상기 통신부 입력 데이터와, 적어도 상기 트랜스포트 계층을 통해 전송되는 상기 통신부로부터 출력되는 통신부 출력 데이터 또는 적어도 하나의 클라이언트에 전송하는 클라이언트 입력 데이터를 비교 판단하는 전송량 판단부,A transmission amount determining unit comparing and comparing the communication unit input data with the communication unit output data output from the communication unit transmitted through at least the transport layer or the client input data transmitted to at least one client; 상기 전송량 판단부의 판단에 따라 상기 인코더를 제어하는 전송량 제어부를 구비하는 것을 특징으로 하는 인터넷 네트워크 장치.And a transmission controller controlling the encoder according to the determination of the transmission determination unit. 제 1 항에 있어서, 상기 전송량 판단부는 상기 통신부 입력 데이터를 측정하는 제1 측정부, The apparatus of claim 1, wherein the transmission rate determining unit comprises: a first measuring unit measuring the communication unit input data; 상기 통신부 출력 데이터 또는 상기 클라이언트 입력 데이터를 측정하는 제2 측정부, 및 A second measurement unit measuring the communication unit output data or the client input data, and 상기 제1 측정부 및 상기 제2 측정부에서 측정된 데이터들을 비교 판단하는 판단부를 구비하는 것을 특징으로 하는 인터넷 네트워크 장치. And a determination unit for comparing and determining data measured by the first measurement unit and the second measurement unit. 제 2 항에 있어서, 상기 원시 데이터는 영상 데이터인 것을 특징으로 하는 인터넷 네트워크 장치. The Internet network device according to claim 2, wherein the raw data is image data. 제 3 항에 있어서, 상기 전송량 제어부는 상기 전송량 판단부에 따라 상기 영상 데이터의 프레임 래이트, 비트 래이트, 및 해상도로 이루어진 군에서 선택된 어느 하나를 조절하도록 상기 인코더를 제어하는 것을 특징으로 하는 인터넷 네트워크 장치. The Internet of claim 3, wherein the transmission controller controls the encoder to adjust any one selected from the group consisting of frame rate, bit rate, and resolution of the image data according to the transmission rate determination unit. Network devices. 제 4 항에 있어서, 상기 전송량 판단부가 상기 제1 측정부에서 측정한 제1 데이터보다 상기 제2 측정부에서 측정한 제2 데이터가 작다고 판단하는 경우,The method of claim 4, wherein when the transmission amount determining unit determines that the second data measured by the second measuring unit is smaller than the first data measured by the first measuring unit, 상기 전송량 제어부는 상기 프래임 래이트를 줄이거나, 상기 비트 래이트를 줄이거나, 상기 영상 데이터의 해상도를 줄이는 것을 특징으로 하는 인터넷 네트워크 장치. And the transmission control unit reduces the frame rate, reduces the bit rate, or reduces the resolution of the image data. 제 1 항에 있어서, 상기 전송량 판단부는 상기 통신부 입력 데이터를 측정하는 제1 측정부,The apparatus of claim 1, wherein the transmission rate determining unit comprises: a first measuring unit measuring the communication unit input data; 적어도 하나의 클라이언트들의 입력 데이터를 측정하는 제2 측정부,A second measuring unit measuring input data of at least one client, 상기 클라이언트의 입력 데이터의 평균을 산출하는 산출부, 및 A calculator for calculating an average of the input data of the client, and 상기 제1 측정부로부터 제공된 입력 데이터와 상기 산출부로부터 제공된 평균을 비교 판단하는 판단부를 구비하는 것을 특징으로 하는 인터넷 네트워크 장치.And a determination unit for comparing and determining the input data provided from the first measurement unit and the average provided from the calculation unit. 제 6 항에 있어서, 상기 산출부는 상기 평균에 보정값을 더하여 평균 근사치 를 생성하고,The method of claim 6, wherein the calculator adds a correction value to the average to generate an average approximation value, 상기 판단부는 상기 입력 데이터와 상기 평균 근사치를 비교 판단하는 것을 특징으로 하는 인터넷 네트워크 장치. And the determining unit compares the input data with the average approximation value. 제 6 항에 있어서, 상기 원시 데이터는 영상 데이터인 것을 특징으로 하는 인터넷 네트워크 장치. 7. The internet network device according to claim 6, wherein the raw data is image data. 제 8 항에 있어서, 상기 전송량 제어부는 상기 전송량 판단부에 따라 상기 영상 데이터의 프레임 래이트, 비트 래이트, 및 해상도로 이루어진 군에서 선택된 어느 하나를 조절하도록 상기 인코더를 제어하는 것을 특징으로 하는 인터넷 네트워크 장치. The Internet of claim 8, wherein the transmission control unit controls the encoder to adjust any one selected from the group consisting of frame rate, bit rate, and resolution of the image data according to the transmission rate determining unit. Network devices. 제 9 항에 있어서, 상기 전송량 판단부가 상기 제1 측정부에서 측정한 제1 데이터보다 상기 산출부로부터 제공된 제2 데이터가 작다고 판단하는 경우,The method of claim 9, wherein when the transmission amount determining unit determines that the second data provided from the calculating unit is smaller than the first data measured by the first measuring unit, 상기 전송량 제어부는 상기 프래임 래이트를 줄이거나, 상기 비트 래이트를 줄이거나, 상기 영상 데이터의 해상도를 줄이는 것을 특징으로 하는 인터넷 네트워크 장치. And the transmission control unit reduces the frame rate, reduces the bit rate, or reduces the resolution of the image data. 제 10 항에 있어서, 상기 통신부는 상기 통신부 입력 데이터를 임시로 저장하는 링버퍼,The apparatus of claim 10, wherein the communication unit temporarily stores the communication unit input data; 상기 데이터 저장을 제어하는 입력 제어부, 및An input controller for controlling the data storage, and 저장된 상기 데이터의 출력을 제어하는 출력 제어부를 구비하는 것을 특징으로 하는 인터넷 네트워크 장치. And an output control unit for controlling the output of the stored data. 제 11 항에 있어서, 상기 입력 제어부는 입력 포인터, 링버퍼 용량 및 이전에 저장된 데이터 용량에 따라 상기 링버퍼에 데이터를 저장하는 것을 제어하는 것을 특징으로 하는 인터넷 네트워크 장치. 12. The Internet network device of claim 11, wherein the input control unit controls to store data in the ring buffer according to an input pointer, a ring buffer capacity, and a previously stored data capacity. 제 11 항에 있어서, 상기 출력 제어부는 출력 포인터, 마지막 영상의 프레임 순서 정보, 상기 순서 판단에 따라 상기 링버퍼로부터 데이터를 독출하는 것을 제어하는 것을 특징으로 하는 인터넷 네트워크 장치. The Internet network device according to claim 11, wherein the output control unit controls to read data from the ring buffer according to an output pointer, frame order information of a last image, and the order determination. 제 13 항에 있어서, 상기 클라이언트는 고유의 출력 포인터(Pout)를 갖는 것을 특징으로 하는 인터넷 네트워크 장치. 14. An internet network device according to claim 13, wherein the client has a unique output pointer (Pout). 원시 데이터를 입력하고, 상기 원시 데이터를 인코딩하여, 인코딩된 데이터를 통신부로 입력하고, 상기 통신부의 어플리케이션 계층, 트랜스포트 계층, IP 계층 및 네트워크 접속 계층을 순차적으로 통해 상기 데이터를 적어도 하나의 클라이언트에 전송하는 인터넷 네트워크 장치의 데이터 전송방법에 있어서, Input the raw data, encode the raw data, input the encoded data to the communication unit, and sequentially transmit the data to at least one client through an application layer, a transport layer, an IP layer, and a network connection layer of the communication unit. In the data transmission method of the Internet network device to transmit, 상기 통신부에 입력되는 통신부 입력 데이터의 용량을 측정하는 단계,Measuring a capacity of communication unit input data inputted to the communication unit, 적어도 상기 트랜스포트 계층을 통해 전송되는, 통신부로부터 출력되는 통신부 출력 데이터 또는 상기 클라이언트에 전송하는 클라이언트 입력 데이터의 용량을 측정하는 단계,Measuring a capacity of the communication unit output data output from the communication unit or the client input data transmitted to the client at least through the transport layer; 측정된 상기 통신부 입력 데이터와 상기 통신부 출력 데이터 또는 상기 클라이언트 입력 데이터의 용량을 비교 판단하는 단계,Comparing and determining the measured capacity of the communication unit input data and the communication unit output data or the client input data; 상기 판단 결과에 따라 상기 인코딩을 제어하는 단계를 포함하는 인터넷 네트워크 장치의 데이터 전송방법. And controlling the encoding according to the determination result. 제 15 항에 있어서, 상기 데이터들은 영상 데이터인 것을 특징으로 하는 인터넷 네트워크 장치의 데이터 전송방법.16. The method of claim 15, wherein the data is video data. 제 16 항에 있어서, 상기 통신부 출력 데이터 또는 상기 클라이언트 입력 데이터가 상기 통신부 입력 데이터보다 큰 경우, The method of claim 16, wherein the communication unit output data or the client input data is larger than the communication unit input data. 프래임 래이트를 줄이거나, 비트 래이트를 줄이거나, 또는 해상도를 줄이도록 상기 원시 데이터를 인코딩하는 것을 특징으로 하는 인터넷 네트워크 장치의 데이터 전송방법. And encoding the raw data to reduce the frame rate, reduce the bit rate, or reduce the resolution. 제 15 항에 있어서, 복수의 클라이언트들의 입력 데이터들의 평균을 산출하는 단계를 더 포함하고, 16. The method of claim 15, further comprising calculating an average of input data of the plurality of clients, 상기 통신부 입력 데이터와 상기 클라이언트 입력 데이터의 평균을 비교 판 단하는 것을 특징으로 하는 인터넷 네트워크 장치의 데이터 전송방법. And comparing and determining an average of the communication unit input data and the client input data. 제 18 항에 있어서, 상기 데이터들은 영상 데이터인 것을 특징으로 하는 인터넷 네트워크 장치의 데이터 전송방법.19. The method of claim 18, wherein the data is image data. 제 19 항에 있어서, 상기 클라이언트 입력 데이터의 평균이 상기 통신부 입력 데이터보다 큰 경우, The method of claim 19, wherein when the average of the client input data is greater than the communication unit input data, 프래임 래이트를 줄이거나, 비트 래이트를 줄이거나, 또는 해상도를 줄이도록 상기 원시 데이터를 인코딩하는 것을 특징으로 하는 인터넷 네트워크 장치의 데이터 전송방법. And encoding the raw data to reduce the frame rate, reduce the bit rate, or reduce the resolution. 제 18 항에 있어서, 상기 평균에 보정값을 더하여 평균 근사치를 계산하는 단계를 더 포함하고, 19. The method of claim 18, further comprising calculating a mean approximation by adding a correction to the mean, 상기 통신부 입력 데이터와 상기 클라이언트 입력 데이터의 평균 근사치를 비교 판단하는 것을 특징으로 하는 인터넷 네트워크 장치의 데이터 전송방법. And comparing and determining an average approximation value of the communication unit input data and the client input data. 제 21 항에 있어서, 상기 데이터들은 영상 데이터인 것을 특징으로 하는 인터넷 네트워크 장치의 데이터 전송방법.22. The method of claim 21, wherein the data is video data. 제 19 항에 있어서, 상기 클라이언트 입력 데이터의 평균 근사치가 상기 통 신부 입력 데이터보다 큰 경우, 20. The method of claim 19, wherein the average approximation of the client input data is greater than the communication input data. 프래임 래이트를 줄이거나, 비트 래이트를 줄이거나, 또는 해상도를 줄이도록 상기 원시 데이터를 인코딩하는 것을 특징으로 하는 인터넷 네트워크 장치의 데이터 전송방법. And encoding the raw data to reduce the frame rate, reduce the bit rate, or reduce the resolution. 제 19 항에 있어서, 인코딩된 상기 통신부 입력 데이터를 입력 포인터, 링버퍼 용량 및 이미 저장된 데이터 용량에 따라 링버퍼에 복수하여 저장하는 단계;20. The method of claim 19, further comprising: storing a plurality of encoded communication unit input data in a ring buffer according to an input pointer, a ring buffer capacity, and an already stored data capacity; 출력 포인터, 마지막 영상의 프레임 순서 정보, 및 상기 순서 판단에 따라 상기 링버퍼에 저장된 데이터를 독출하는 단계를 포함하는 인터넷 네트워크 장치의 데이터 전송 방법.And reading data stored in the ring buffer according to an output pointer, frame order information of a last image, and determining the order.
KR1020080023431A 2007-10-17 2008-03-13 Internet network system and method for transferring data using the same KR101279564B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US12/221,662 US8259575B2 (en) 2007-10-17 2008-08-05 Internet network apparatus and method of transferring data using the same
GB0815235A GB2453823B (en) 2007-10-17 2008-08-20 Internet network apparatus and method of transferring data using the same
CN2008102133568A CN101414977B (en) 2007-10-17 2008-08-27 Internet network apparatus and method of transferring data using the same
JP2008266114A JP5170891B2 (en) 2007-10-17 2008-10-15 Internet network device and data transmission method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020070104735 2007-10-17
KR20070104735 2007-10-17

Publications (2)

Publication Number Publication Date
KR20090039583A true KR20090039583A (en) 2009-04-22
KR101279564B1 KR101279564B1 (en) 2013-08-23

Family

ID=40595295

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080023431A KR101279564B1 (en) 2007-10-17 2008-03-13 Internet network system and method for transferring data using the same

Country Status (2)

Country Link
KR (1) KR101279564B1 (en)
CN (1) CN101414977B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013180348A1 (en) * 2012-05-30 2013-12-05 에스케이플래닛 주식회사 System and method for executing screen virtualization-based application

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102572381A (en) * 2010-12-29 2012-07-11 中国移动通信集团公司 Video monitoring scene judging method and monitoring image coding method and device thereof
KR101597074B1 (en) * 2015-04-10 2016-02-23 인하대학교 산학협력단 Method and System for Energy-Efficient Modulation in Molecular Communications

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6763067B2 (en) * 2000-10-10 2004-07-13 Sarnoff Corporation Rate control for bitstream re-encoding
CN1689332A (en) * 2002-10-15 2005-10-26 皇家飞利浦电子股份有限公司 System and method for transmitting scalable coded video over an IP network
US8356327B2 (en) * 2004-10-30 2013-01-15 Sharp Laboratories Of America, Inc. Wireless video transmission system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013180348A1 (en) * 2012-05-30 2013-12-05 에스케이플래닛 주식회사 System and method for executing screen virtualization-based application

Also Published As

Publication number Publication date
CN101414977A (en) 2009-04-22
KR101279564B1 (en) 2013-08-23
CN101414977B (en) 2013-05-08

Similar Documents

Publication Publication Date Title
US7295520B2 (en) System and method of network adaptive real-time multimedia streaming
KR100750669B1 (en) Method and device for multimedia streaming
US9819597B2 (en) Adaptive bit rate for data transmission
RU2367011C2 (en) Device and method of transmitting signals with anticipatory adaptation of speed
EP2171927B1 (en) Adaptive bitrate management for streaming media over packet networks
US8780960B2 (en) Adjustment of transmission data rate based on data errors and/or latency
JP5768292B2 (en) Stream data over time-varying transport media
CN108292970B (en) Adaptive bit rate adjustment method and device distributed through Internet live broadcast
KR20040041170A (en) Data communications method and system using receiving buffer size to calculate transmission rate for congestion control
KR100929771B1 (en) Data communication method and system for transmitting multiple data streams calculating available bandwidth and bit stream exchange per stream
EP1535419A1 (en) Method and devices for controlling retransmissions in data streaming
KR20090079406A (en) Transmission apparatus and receiving apparatus of video trasmission system, and buffer control method thereof
KR101279564B1 (en) Internet network system and method for transferring data using the same
JP5170891B2 (en) Internet network device and data transmission method thereof
JPH10336626A (en) Transfer method and transfer device for video data
EP1863213A1 (en) Duplicate transmission path switching device
EP3744022B1 (en) Abr control
US7477598B2 (en) Adaptive stream switching with minimized switching delay
JP3512716B2 (en) Continuous A / V data transfer system and transfer method
JP4808227B2 (en) Data transmission apparatus, computer program, and data transmission method
US20050262123A1 (en) Data communication terminal unit
US20240098041A1 (en) Transmission system, transmission method and transmission program
KR101148072B1 (en) Multimedia supporting system and method thereof
EP2311209A1 (en) Stream generating device, method for calculating input buffer padding level inside the device, and stream control method

Legal Events

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

Payment date: 20160530

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180521

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190527

Year of fee payment: 7