KR100414638B1 - Method for producing Data transmission rate and Apparatus for transmitting - Google Patents
Method for producing Data transmission rate and Apparatus for transmitting Download PDFInfo
- Publication number
- KR100414638B1 KR100414638B1 KR10-2001-0061921A KR20010061921A KR100414638B1 KR 100414638 B1 KR100414638 B1 KR 100414638B1 KR 20010061921 A KR20010061921 A KR 20010061921A KR 100414638 B1 KR100414638 B1 KR 100414638B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- transmission
- packets
- buffer
- stream
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23605—Creation or processing of packetized elementary streams [PES]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 디지털 데이터 전송 시 실수 연산이 아닌 정수 연산으로 전송해야 할 패킷을 산출함으로써, 데이터를 일정하게 전송할 수 있는 데이터 전송률 산출 방법 및 송출 장치에 관한 것이다.The present invention relates to a data rate calculation method and transmission apparatus capable of transmitting data constantly by calculating packets to be transmitted by integer operations rather than real operations when transmitting digital data.
본 발명에 따른 데이터 송출 장치는 적어도 2개 이상의 스트림 소스와, 상기 스트림 소스들로부터 순차적으로 전송 패킷을 입력받아 일정 주기마다 송출하는 전송 버퍼와, 상기 각 스트림 소스들로부터 상기 전송 버퍼로의 패킷 입력을 제어하는 전송률 제어부를 포함하는 데이터 송출 장치에 있어서, 상기 전송률 제어부가 버퍼의 전송률에 대한 각 스트림의 전송률 비에 따라 스트림별 할당 패킷 수를 산출하여 그 정수부분, 실수부분의 분모, 분자를 정수 데이터로 전송하고 매 버퍼 전송시마다 분자 만큼씩 가산된 누적치와 분모 데이터의 몫(div) 연산에 따라, 추가 전송 패킷 수를 산출하여 그에 따라 상기 정수 부분 패킷 수에 추가하여 패킷을 입력시키도록 제어하는 것을 특징으로 한다.An apparatus for transmitting data according to the present invention includes at least two or more stream sources, a transmission buffer sequentially receiving transport packets from the stream sources, and transmitting the packets at regular intervals, and inputting packets from the stream sources to the transmission buffer. A data transmission device including a data rate control unit for controlling a data rate, wherein the data rate control unit calculates the number of allocated packets per stream according to a rate ratio of each stream to a data rate of a buffer, and converts the integer part, the denominator of the real part, and the numerator. According to the div calculation of the cumulative value and the denominator data added by the numerator for each buffer transmission, the number of additional transmission packets is calculated and added to the integer partial packet number accordingly to control the input of packets. It is characterized by.
Description
본 발명은 디지털 데이터들의 전송에 관한 것으로, 보다 상세하게는 전송시 데이터 전송률에 따른 지연 없이 데이터 방송 스트림을 일정하게 전송할 수 있는 데이터 전송률 산출 방법 및 송출 장치에 관한 것이다.The present invention relates to the transmission of digital data, and more particularly, to a data rate calculation method and apparatus for transmitting a data broadcast stream without transmission delay according to the data rate.
현재 패킷 트랜스포트 시스템들은 엔터테인먼트 프로그램을 분배하는데 사용되고 있다. 예를 들면, 위성 패킷 트랜스포트 시스템(satellite packet transport system)은 다수개의 텔레비젼 채널들을 시청자 구역으로 전송하는데, 각각의 텔레비젼 채널은 적어도 한 개 이상의 비디오/오디오 신호를 포함하고 있다. 뿐만 아니라 위성 패킷 트랜스포트 시스템은 각각의 텔레비젼 채널에 프로그램 데이터 신호가 포함되도록 고안되어 있어서 텔레비젼 수상기에 있는 프로세서가 시청자와 대화(interact)할 수 있는 프로그램을 실행하는 것을 허용한다. 이러한 위성 패킷 트랜스포트 시스템은 서로 다른 컴포넌트 신호들 예를 들면, 서비스 정보(SI:Service Information, 이하 "SI"라 한다)나 프로그램 특성 정보(PSI: Program Specific Information, 이하 "PSI"라 한다)와 같은 방송 프로그램 데이터들을 다수개 전송한다.Packet transport systems are currently being used to distribute entertainment programs. For example, a satellite packet transport system transmits a plurality of television channels to a viewer's area, each containing at least one video / audio signal. In addition, the satellite packet transport system is designed to include a program data signal in each television channel, allowing a processor in the television receiver to execute a program that can interact with the viewer. Such a satellite packet transport system includes different component signals such as service information (SI) or program specific information (PSI). A plurality of the same broadcast program data is transmitted.
이와 같은 스트림에 대한 MPEG 표준을 살펴보면 MPEG-1에서는 데이터 스트림들을 시스템에서 정의한 하나의 데이터 스트림으로의 조합을 명시하고 있다. 이 프로세서의 가장 중요한 일을 실질적인 다중 송신이다. 이는 입력 데이터 스트림과 출력데이터 스트림의 일치(coordination), 클럭의 조절(adjustment), 그리고 버퍼 제어(management)를 포함한다. 또한 각 스트림에 동기화를 위해서 타임 스탬프(time stamp)를 포함하고 있다.Looking at the MPEG standard for such a stream, MPEG-1 specifies the combination of data streams into a single data stream defined by the system. The most important thing of this processor is the practical multiplexing. This includes coordination of input and output data streams, clock adjustment, and buffer management. Each stream also contains a time stamp for synchronization.
MPEG-2 표준은 MPEG 그룹에 의해서 발전된 것으로 고품질 디지털 영상을 위한 암호화된 비트 스트림을 명시한다. 이 스트림들도 타임 스탬프(time stamp)을 가지며 첫 번째 단계로 기본적인 다중 송신 접근은 각 개별 스트림에 시스템-레벨정보를 더하고 각 개별 스트림을 패킷화된 기본 스트림(PES: Packetzied Elementary Stream, 이하 "PES"라 한다)을 생성하기 위해 패킷화한다. 그 다음에 이 PES를 프로그램 또는 트랜스포트 스트림으로 생성하기 위해 묶는다. 이들은 다른 장치와의 수행 사이에 상호 호환성을 제공하며, 유연성을 위한 중요한 정보를 유지한다.The MPEG-2 standard was developed by the MPEG group and specifies an encrypted bit stream for high quality digital video. These streams also have time stamps, and the first step, the basic multi-transmission approach, adds system-level information to each individual stream and adds each individual stream to a Packetzied Elementary Stream (PES). Packetized to generate This PES is then bundled to create a program or transport stream. They provide interoperability between implementations with other devices and maintain important information for flexibility.
또한 MPEG-2의 발전에서는 MPEG-2 압축 데이터를 포함한 하나의 ATM 셀의 손실도 고려한다. 이 경우는 영상 데이터 스트림의 다른 이미지나 부분에 대한 효과를 최소화시켜야만 한다. 이것은 주어진 목표 전송률에서 종점간 지연을 최소화시키는 방향으로 다른 종류의 이미지를 연결 또는 삽입하는 방법을 사용하여 전송 지연을 최소화했다. 즉 종래의 송신 방법은 서로 다른 전송률을 가지는 각 데이터 스트림 사이에 우선순위를 두어 멀티플렉서에서 소리/영상 스트림(A/V)과 트랜스포트 스트림(TS: Transport Stream, 이하 "TS"라 한다)과 널(null) 패킷 등을 조합하여 송출하되, 그 조합 방법은 다음과 같다.The evolution of MPEG-2 also takes into account the loss of one ATM cell containing MPEG-2 compressed data. This case should minimize the effect on other images or parts of the video data stream. This minimizes the transmission delay by using different types of image concatenation or insertion in the direction of minimizing the end-to-end delay at a given target rate. That is, in the conventional transmission method, the audio / video stream (A / V) and the transport stream (TS) and null in the multiplexer are given priority between data streams having different data rates. (null) Packets and the like are combined and transmitted, but the combination is as follows.
예를 들면 한 데이터의 전송률은 시간 당 전송된 비트 수이므로 bit_rate를 데이터의 전송(이것은 각각의 전송률이 정해져 있음), packet_size를 해당 데이터의 패킷의 비트수, Npacket을 패킷의 개수, Tbuffer를 버퍼의 전송 주기라고 할 때 전송률은For example, the rate of one data is the number of bits transmitted per hour, so bit_rate is the number of bits transmitted (this is defined for each rate), packet_size is the number of bits in the data packet, N packet is the number of packets, and T buffer . The transfer rate of the buffer is
이다.to be.
따라서 전송률이 지정된 경우 상기 식(1)로부터 버퍼에 할당된 패킷 수는Therefore, when the transfer rate is specified, the number of packets allocated to the buffer from Equation (1)
이다.to be.
그러나 상기 식(2)에서 실제 전송 버퍼의 송신 주기 값은 알 수 없기 때문에 전송 버퍼의 전송률과 고정된 버퍼의 크기로부터 전송 버퍼의 전송 주기를 구할 수 있다.However, since the transmission period value of the actual transmission buffer is not known in Equation (2), the transmission period of the transmission buffer can be obtained from the transmission rate of the transmission buffer and the fixed buffer size.
여기서 buffer_size 는 전송 버퍼의 크기이고, bit_ratebuffer는 전송 버퍼의 전송률을 나타낸다. 상기 식(3)을 식(2)에 대입하면 최종적으로 버퍼 당 할당된 패킷의 개수는Where buffer_size is the size of the transmission buffer and bit_rate buffer is the transmission rate of the transmission buffer. Substituting Equation (3) into Equation (2), the number of packets finally allocated per buffer is
상기 식(4)의 오른쪽 항의 결과는 실수이며 왼쪽 항은 패킷의 개수이므로 정수 값이다. 따라서 Npacket의 값은 오른쪽 항의 결과의 소수점 이하 부분을 버리고 정수로 변환하여 사용해야 한다. 왜냐하면, 반올림이나 올림을 사용할 경우에는 산출된 데이터의 패킷이 정해진 데이터의 전송률보다 높게 전송되기 때문이다.The result of the right term in Equation (4) is a real number and the left term is an integer value since it is the number of packets. Therefore, the value of N packet should be converted to an integer after discarding the fractional part of the result of the right term. This is because, when rounding or rounding is used, the calculated packet of data is transmitted higher than the predetermined data rate.
또한 버퍼의 전송 주기가 매우 큰 경우에는 전송률을 초과하여 전송하면 안되기 때문에 계산된 패킷의 개수만 전송해야 한다. 그러나 버퍼의 전송 주기가 매우 작다면 나눗셈으로 버려진 나머지 값들을 누적해 놓다가 이것이 1을 초과하는 경우에 한번씩 패킷을 더 전송해 주어서 값을 보정해 주어야 실제 전송률에 근접한 값이 나오게 된다.In addition, when the transmission period of the buffer is very large, only the calculated number of packets should be transmitted because the transmission rate should not be exceeded. However, if the transmission period of the buffer is very small, the remaining values discarded by the division are accumulated, and when this exceeds 1, the packet is transmitted once more to correct the value so that the value close to the actual transmission rate is obtained.
이렇게 소수점 이하의 나머지 값들을 축적하기 위하여 부동 소수점 연산을 하게 되는 경우 컴퓨터에서의 실수 연산으로 인하여 미세한 오차가 누적되어 오버 플로우가 발생하는 경우가 있기 때문에 심각한 문제가 있었다.When a floating point operation is performed to accumulate remaining values below the decimal point, there is a serious problem because a small error accumulates due to a real operation in a computer and an overflow occurs.
또한 종래의 데이터 송출 장치는 이러한 실수 연산을 하기 때문에 복잡한 구조를 가지고 있으며 이로 인해 비용이 많이 소요되는 문제가 있었다.In addition, the conventional data transmission apparatus has a complicated structure because of such a real operation, which has a costly problem.
그리고 전술한 바와 같이 각 데이터의 패킷을 조합하는 과정에서 실수 연산을 하기 때문에 데이터의 전송이 불안정하다는 문제가 있었다.As described above, since a real operation is performed in the process of combining the packets of each data, there is a problem that data transmission is unstable.
따라서 본 발명은 이와 같은 문제점을 해결하고자 하는 것으로, 본 발명은 소수점 이하의 나머지 값들을 축적하기 위하여 부동 소수점 연산을 실수 연산이 아닌 정수 연산 방법을 이용한 데이터 전송률 산출 방법 및 송출 장치를 제공하는 것에 목적이 있다.Accordingly, an object of the present invention is to provide a data rate calculation method and an apparatus for calculating a data rate using an integer arithmetic method instead of a floating point arithmetic operation to accumulate remaining values below the decimal point. There is this.
본 발명의 또 다른 목적은 정수 연산 방법을 통한 구조의 단순화와 비용을 절감할 수 있는 데이터 전송률 산출 방법 및 송출 장치를 제공하는 것에 목적이 있다.Another object of the present invention is to provide a data rate calculation method and a transmission device that can simplify the structure and reduce the cost through the integer calculation method.
본 발명의 또 다른 목적은 소수점 이하의 나머지 값들을 정수 데이터로 변환, 저장하여 사용함으로써, 안정되게 데이터를 전송할 수 있는 데이터 전송률 산출 방법 및 송출 장치를 제공하는 것에 목적이 있다.It is still another object of the present invention to provide a data rate calculation method and transmission apparatus capable of stably transmitting data by converting, storing, and using the remaining values below the decimal point into integer data.
도 1은 본 발명에 따른 데이터 송출 장치의 구성을 개략적으로 도시한 구성도.1 is a configuration diagram schematically showing the configuration of a data transmission device according to the present invention.
도 2는 본 발명의 일실시예에 따른 데이터 송출 장치의 데이터 전송을 나타낸 구성도.2 is a block diagram showing data transmission of the data transmission device according to an embodiment of the present invention.
도 3은 본 발명에 따른 데이터 전송률 산출 방법을 도시한 흐름도.3 is a flowchart illustrating a data rate calculation method according to the present invention.
<도면 주요부분에 대한 부호의 설명><Description of Symbols for Main Parts of Drawing>
10 : 데이터 스트림 11: SI/PSI 테이블10: data stream 11: SI / PSI table
12,13 : DSM-CC 데이터 스트림 14 : 널 패킷 스트림12,13: DSM-CC data stream 14: null packet stream
30 : 전송률 제어부 50 : 전송버퍼30: transmission rate control unit 50: transmission buffer
상기 목적을 달성하기 위한 본 발명의 일 양상에 따른 데이터 전송률 산출 방법은 버퍼의 전송률에 대한 각 스트림의 전송률 비에 따라 총 데이터 패킷을 분배하여 스트림별 할당 패킷 수를 산출하는 단계와, 상기 패킷수의 정수부분, 실수부분의 분모, 실수부분의 분자와 관련된 데이터들을 정수 데이터로 저장하는 단계와, 매 버퍼 전송시마다 분자 데이터의 누적치와 분모 데이터의 몫(div) 연산에 따라 추가 전송 패킷 수를 산출하여 출력하는 추가 패킷 수 산출 단계;를 포함하는 것을 특징으로 한다.A data rate calculation method according to an aspect of the present invention for achieving the above object comprises the steps of calculating the number of packets allocated to each stream by distributing a total data packet according to the rate of each stream to the rate of the buffer; Storing data related to the integer part of the real part, the denominator part of the real part, and the numerator of the real part as integer data, and calculating the number of additional transmission packets according to the cumulative value of the molecular data and the div calculation of the denominator data for every buffer transmission. And calculating the number of additional packets to be output.
본 발명의 이와 같은 양상에 따라 본 발명에 따른 데이터 전송률 산출 방법에 따르면 스트림별 최소 할당 패킷수와 나머지를 산출하여 각 데이터 스트림에 설정된 전송률에 따라 일정하게 데이터들을 송출하는데 있어서 정수 연산을 통해 최적의 전송을 할 수 있는 패킷의 수를 조합하는 것이 가능하다. 또한 패킷 수와 관련된 각종 데이터들을 정수로 변환, 저장하여 사용함으로써, 일정하고 안정되게 데이터를 전송시킬 수 있다.According to the data rate calculation method according to the present invention according to the aspect of the present invention, by calculating the minimum number of allocated packets per stream and the remainder and sending out data at a constant rate according to the rate set for each data stream, It is possible to combine the number of packets that can be transmitted. In addition, by converting and storing various data related to the number of packets into integers, it is possible to transmit data constantly and stably.
본 발명의 부가적인 양상에 따른 데이터 전송률 산출 방법은 매 버퍼 전송시마다 소수부분 전송률에 상기 분자 데이터만큼 가산하고 이를 분모로 나눈 몫(div)과 나머지(mod)를 산출하는 단계와, 상기 산출된 소수부분 전송률을 상기 산출된나머지 값으로 갱신하는 단계;를 더 포함하는 것을 특징으로 한다.According to an additional aspect of the present invention, there is provided a method of calculating a data rate, adding a numerator data to a fractional part rate at every buffer transmission, and calculating a div and a mod divided by the denominator, and the calculated prime number. And updating the partial rate to the calculated remaining value.
본 발명의 부가적인 양상에 따른 데이터 전송률 산출 방법은 상기 몫 데이터에 상기 추가 패킷수를 가산하여 해당 스트림의 전송 패킷 수로 출력하는 단계;를 더 포함하는 것을 특징으로 한다.The method for calculating a data rate according to an additional aspect of the present invention may further include adding the additional packet number to the quotient data and outputting the number of transport packets of the corresponding stream.
이러한 양상에 따라 본 발명에 따른 데이터 전송률 산출 방법은 소수부분 전송률에 대해 매 버퍼 전송시마다 나머지 값을 누적하여 정수연산인 몫(div),나머지(mod) 연산을 통해 각 스트림별 할당 패킷 수에 대해 전송한 최소 패킷 수의 전송 차를 보정하여 오차 없이 추가 패킷을 전송하는 것이 가능하다.According to this aspect, the data rate calculation method according to the present invention accumulates the remaining values for every fractional transmission rate for the fractional portion rate, and allocates the number of allocated packets to each stream through div and mod operations, which are integer operations. It is possible to transmit additional packets without error by correcting the transmission difference of the minimum number of packets transmitted.
또한 본 발명의 추가적인 양상에 따른 데이터 전송률 산출 방법은 매 버퍼 전송시마다 상기 버퍼에 빈 패킷 수만큼 널(null) 패킷을 추가하여 출력하는 단계;를 더 포함하는 것을 특징으로 한다.In addition, the data rate calculation method according to an additional aspect of the present invention is characterized in that it further comprises the step of adding and outputting a null packet as many empty packets to the buffer at every buffer transmission.
이러한 양상에 따라 본 발명에 따른 데이터 전송률 산출 방법은 버퍼에서 전송할 각 데이터 스트림별 패킷의 수가 할당된 패킷의 수에 부족할 경우 널 패킷을 추가하여 전송함으로써 데이터의 유무에 관계없이 전송률을 일정하게 유지하며 전송할 수 있다.According to this aspect, the data rate calculation method according to the present invention maintains a constant rate regardless of the presence or absence of data by adding a null packet when the number of packets for each data stream to be transmitted in the buffer is insufficient for the allocated packet. Can transmit
한편 상기 목적을 달성하기 위한 본 발명의 추가적인 일 양상에 따른 데이터 송출 장치는 적어도 2개 이상의 스트림 소스와, 상기 스트림 소스들로부터 순차적으로 전송 패킷을 입력받아 일정 주기마다 송출하는 전송 버퍼와, 상기 각 스트림 소스들로부터 상기 전송버퍼로의 패킷 입력을 제어하는 전송률 제어부를 포함하는 데이터 송출 장치에 있어서, 상기 전송률 제어부가 버퍼의 전송률에 대한 각 스트림의 전송률 비에 따라 스트림별 할당 패킷 수를 산출하여 그 정수부분, 실수부분의 분모, 분자를 정수 데이터로 전송하고 매 버퍼 전송시마다 분자 만큼씩 가산된 누적치와 분모 데이터의 몫(div) 연산에 따라, 추가 전송 패킷 수를 산출하여 그에 따라 상기 정수 부분 패킷 수에 추가하여 패킷을 입력시키도록 제어하는 것을 특징으로 한다.On the other hand, the data transmission apparatus according to an additional aspect of the present invention for achieving the above object is at least two or more stream sources, a transmission buffer for sequentially receiving the transmission packet from the stream sources and transmits at regular intervals, A data transmission apparatus including a rate control unit for controlling packet input from stream sources to the transmission buffer, wherein the rate control unit calculates the number of allocated packets per stream according to a rate ratio of each stream to a transmission rate of a buffer Integer part, real part denominator, and numerator are transmitted as integer data, and the number of additional transmission packets is calculated according to the div operation of the numerator data and the cumulative value added by the numerator for every buffer transmission. In addition to the number, characterized in that the control to input the packet.
이하에서는 첨부된 도면을 참조하여 설명되는 본 발명의 바람직한 실시예를 통하여 당업자가 용이하게 이해하고 재현할 수 있도록 본 발명을 상세히 기술하도록 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily understand and reproduce the present invention.
도 1은 본 발명에 따른 데이터 송출 장치의 구성을 개략적으로 도시한 것이다. 도시된 바와 같이 본 발명에 따른 데이터 송출 장치는 TS 소스(10)와 전송버퍼(50)와 전송률제어부(30)로 이루어져 있다. 우선 설명함에 있어 AV장치와 멀티플렉스에 대한 상세한 설명은 본 발명의 요지와는 직접적인 관계가 없으므로 이에 대한 상세한 설명은 생략하기로 한다.1 schematically shows the configuration of a data transmission device according to the present invention. As shown, the apparatus for transmitting data according to the present invention includes a TS source 10, a transmission buffer 50, and a rate control unit 30. In the first description, the detailed description of the AV device and the multiplex is not directly related to the gist of the present invention, so a detailed description thereof will be omitted.
상기 TS 소스(10)는 상기 전송률 제어부(30)의 입력단에 연결된다. 이러한 TS소스는 방송 채널 정보에 대한 서비스 정보(SI: Service Information, 이하 "SI"라 한다) 및/또는 프로그램 특성 정보(PSI: Program Specific Information, 이하 "PSI"라 한다) 테이블(11)이나 디지털 저장 매체-명령 제어(DSM-CC: Digital Storage Media Command and Control, 이하 "DSM-CC"라 한다)데이터들(12,13)과 널 패킷(14) 등을 포함하고 있다.The TS source 10 is connected to an input terminal of the rate control unit 30. The TS source may include service information (SI) (hereinafter referred to as "SI") and / or program characteristic information ("PSI") table 11 or digital information about broadcast channel information. Storage medium-command control (DSM-CC) data 12, 13, a null packet 14, and the like.
상기 전송 버퍼(50)는 멀티플렉서의 입력단으로 상기 TS 소스들(10)로부터순차적으로 디지털 방송에 필요한 데이터 패킷을 일정한 시간마다 자동으로 송출한다. 이러한 용도로 사용되는 버퍼는 각 데이터 별로 저장이 가능하게 영역이 구분된 것으로 링 버퍼를 이용하는 것이 바람직하다. 또한 이것은 크기 설정이 가능하다.The transmission buffer 50 automatically transmits data packets necessary for digital broadcasting sequentially at predetermined times from the TS sources 10 to the input terminal of the multiplexer. The buffer used for this purpose is divided into regions to be stored for each data, and it is preferable to use a ring buffer. It is also possible to set the size.
상기 전송률 제어부(30)의 출력단은 상기 전송버퍼(50)의 입력단에 연결된다. 여기에서 상기 전송률 제어부(30)는 입력되는 TS 소스들(10)의 각 패킷 전송률에 따라 전송 패킷 수를 조정하여 상기 전송 버퍼(50)에 전송한다. 즉, 전송해야 할 데이터를 미리 버퍼에 기록해 두어야 하는데 여러 종류의 데이터들 전술한 SI/PSI데이터나 DSM-CC들에 할당된 전송률을 맞추기 위해서는 상기 버퍼에 해당 데이터의 TS 패킷 수를 조절해야만 한다.The output terminal of the rate control unit 30 is connected to the input terminal of the transmission buffer 50. Here, the rate controller 30 adjusts the number of packets according to the packet rates of the input TS sources 10 and transmits the number of packets to the transmission buffer 50. That is, the data to be transmitted should be recorded in a buffer in advance. In order to match the transmission rates allocated to the various types of data such as SI / PSI data or DSM-CCs, the number of TS packets of the data must be adjusted in the buffer.
도 2는 본 발명의 일실시예에 따른 데이터 송출 장치의 데이터 전송을 나타낸 것이다. 도시된 바와 같이 고정된 크기의 링 버퍼(50)를 이용하여 하나의 SI 정보 테이블(11)과 DSM-CC 데이터들(12,13)을 전송하는 예를 나타내고 있다. 상기 정보 테이블(11)이나 DSM-CC 데이터들(12,13)은 서로 상이한 전송률을 가지고 있기 때문에 하나의 버퍼에 들어가는 패킷의 수도 데이터 별로 서로 다르게 설정하여야 한다. 이 패킷의 수는 전송 버퍼의 크기, 전송 버퍼가 한 번 전송하는 시간 간격, 그리고 각 데이터별 전송률, 전송 패킷의 크기 등 여러 변수를 고려하여 결정하여야 하며 목표 전송률을 초과하여 보내지 않도록 해야 한다. 따라서, 상기 전송 버퍼(50)의 크기는 각 데이터 크기의 총합보다 커야 된다.2 shows data transmission of a data transmission device according to an embodiment of the present invention. As shown, an example of transmitting one SI information table 11 and DSM-CC data 12 and 13 using a ring buffer 50 having a fixed size is shown. Since the information table 11 or the DSM-CC data 12 and 13 have different transmission rates, the number of packets entering one buffer should be set differently for each data. The number of packets should be determined in consideration of various variables such as the size of the transmission buffer, the time interval that the transmission buffer transmits once, the transmission rate for each data, and the size of the transmission packet. Therefore, the size of the transmission buffer 50 should be larger than the sum of the respective data sizes.
상기 데이터들(10) 중에서 하나의 데이터에 대한 데이터 스트림별 할당 패킷수는 상기 식 (4)와 같다. 전술한 바와 같이 상기 식(4)에서 보듯이 왼쪽항은 버퍼의 전송률에 대한 각 데이터 스트림의 전송률 비에 따라 총 데이터 패킷을 분배한 것이라고 할 수 있다.The number of allocation packets for each data stream of one of the data 10 is shown in Equation (4). As described above, as shown in Equation (4), the left term is a distribution of total data packets according to the data rate ratio of each data stream to the data rate of the buffer.
그리고 버퍼당 전송할 최소 패킷 수는 상기 식(4)로부터 몫(div)연산을 이용하여 다음과 같이 구할 수 있다.The minimum number of packets to be transmitted per buffer can be obtained as follows using the div operation from Equation (4).
Nmin= {bit_rate ×buffer_size} divN min = {bit_rate × buffer_size} div
{packet_size ×bit_ratebuffer} --------- (5){packet_size × bit_rate buffer } --------- (5)
이다. 상기 몫(div)연산은 나눗셈의 몫만을 취하는 연산으로 정의한다.to be. The div operation is defined as an operation that takes only the quotient of division.
한편 전송시에 나머지 값 ro은 상기 식(4)로부터 다음과 같이 정의될 수 있다.Meanwhile, the remaining value r o at the time of transmission may be defined as follows from Equation (4).
ro= bit_rate ×buffer_size mod packet_size ×bit_ratebuffer-- (6) r o = bit_rate × buffer_size mod packet_size × bit_rate buffer - (6)
여기서 mod 연산은 나눗셈의 나머지만을 취하는 연산으로 정의한다.Here, the mod operation is defined as an operation that takes only the remainder of the division.
실제로 프로그램 코드로 구현하는 경우에는 전술한 바와 같은 계산식을 매 전송 때마다 수행하는 것은 무리가 있으므로 아래와 같이 계산식에 자주 사용되는 데이터 전송률과 버퍼의 크기와의 곱셈 값이나 패킷의 크기와 버퍼의 전송률과의 곱셈 값과 같은 값들을 미리 계산하여 저장함으로써, 보다 용이하고 빠르게 산출할 수 있는 장점이 있다.In the case of implementation in the program code, it is difficult to perform the above-described calculation every transmission. Therefore, the multiplication value of the data transmission rate and buffer size, which are frequently used in the calculation formula, the packet size and the buffer transmission rate By pre-calculating and storing values, such as the multiplication value of, there is an advantage that can be calculated more easily and quickly.
C = bit_rate ×buffer_size ---------- (7)C = bit_rate × buffer_size ---------- (7)
D = packet_size ×bit_ratebuffer---------- (8)D = packet_size × bit_rate buffer ---------- (8)
이러한 나머지 값은 매 전송시 마다 누적이 되어야 하므로 i번째 전송까지 누적된 나머지 값 ri는 다음과 같이 정의할 수 있다.Since the remaining values must be accumulated at every transmission, the remaining value r i accumulated up to the i th transmission can be defined as follows.
ri= {ri-1+ C mod D} mod D ---------- (9)r i = {r i-1 + C mod D} mod D ---------- (9)
i번째 전송에서 최소 패킷 수에 추가적으로 전송할 패킷의 개수 Ni_extra는 상기 식(9)의 결과를 이용하여 다음과 같이 계산한다.In addition to the minimum number of packets in the i-th transmission, the number of packets to be transmitted N i_extra is calculated as follows using the result of Equation (9).
Ni_extra= ridiv D ---------- (10)N i_extra = r i div D ---------- (10)
따라서 최종적으로 i번째 전송에서 보낼 패킷의 총 개수는 다음과 같다.Therefore, the total number of packets to be sent in the i th transmission is as follows.
Ni_packet= Ni_min+ Ni_extra--------- (11)N i_packet = N i_min + N i_extra --------- (11)
상기와 같이 누적된 나머지 값(ri)이 1을 초과하는 경우 즉, 상기 식(10)에서 누적된 나머지 값(ri)와 분모 D 사이의 몫(div)연산을 통해 그 연산 결과만큼을 전송시 추가적으로 전송하여 전송률에 따른 오차를 보정할 수 있다.If the cumulative residual value r i exceeds 1 as above, that is, as much as the result of the operation through a div operation between the accumulated residual value r i and the denominator D in Equation (10). During transmission, additional transmission can be used to correct errors based on the transmission rate.
또한 매 전송시마다 상기 버퍼(50)에 빈 공간이 있다면 상기 전송률 제어부(30)는 빈 패킷 수만큼 널 패킷(14)을 추가하여야 전송함으로써, 올바른 TS스트림으로 인식되도록 한다.In addition, if there is an empty space in the buffer 50 at every transmission, the rate control unit 30 adds null packets 14 as many as the number of empty packets and transmits them, so that the correct TS stream is recognized.
전술한 바와 같이 본 발명에 따른 데이터 송출 장치는 버퍼의 전송률에 대한 각 스트림의 전송률 비에 따라 총 데이터 패킷을 분배하여 스트림별 할당 패킷 수를 산출하여 매 버퍼 전송시마다 분자 데이터의 누적치와 분모 데이터의 몫(div)연산에 따라 추가 전송 패킷 수를 산출하여 출력한다. 또한 매 버퍼 전송시마다 상기 버퍼에 빈 패킷 수만큼 널(null) 패킷을 추가하여 출력함으로써, 각 데이터를 효율적으로 조합하여 실제 전송률에 근접하게 전송하는 것이 가능하다.As described above, the apparatus for transmitting data according to the present invention distributes the total data packets according to the ratio of the transmission rate of each stream to the transmission rate of the buffer, calculates the number of allocated packets per stream, and calculates the cumulative value of the molecular data and the denominator data at every buffer transmission. The number of additional transport packets is calculated and output according to the div operation. In addition, by adding and outputting null packets to the buffer for each buffer transmission, it is possible to efficiently combine the respective data and transmit the data close to the actual transmission rate.
이하에서는 본 발명에 따른 데이터 전송률 산출 방법을 첨부된 흐름도를 참조하여 상세히 설명하기로 한다.Hereinafter, a method of calculating a data rate according to the present invention will be described in detail with reference to the accompanying flowchart.
도 3은 본 발명에 따른 데이터 전송률 산출 방법을 도시한 흐름도이다. 도시된 바와 같이 먼저 상기 전송률 제어부(30)로 입력되는 각 데이터의 스트림별 할당 패킷 수를 상기 식(4)을 이용하여 산출한 것으로 정수부분과 소수부분으로 나타난다(S10). 즉 스트림별 할당 패킷 수는 버퍼의 전송률에 대한 각 데이터의 전송률 비에 따라 총 데이터 패킷을 분배한 것이다. 상기 S10단계에서 산출한 할당 패킷 수에 있어서 기본 패킷 수(Nmin)는 식(5)와 같은 몫(div)연산으로 산출한다(S20).3 is a flowchart illustrating a data rate calculation method according to the present invention. As shown in the figure, the number of allocation packets for each stream of data input to the rate control unit 30 is calculated using Equation (4), which is represented by an integer part and a decimal part (S10). That is, the number of allocated packets per stream is a distribution of total data packets according to the ratio of the data rates to the data rates of the buffers. In the number of allocated packets calculated in step S10, the basic packet number N min is calculated by a div operation as shown in Equation (5) (S20).
그리고 상기 S10단계와 S20단계에서 산출된 값의 차인 소수점 이하부분, 즉 기본 나머지 값(r0)과 관련된 데이터를 정수 데이터로 변환하여 저장한다(S30). 그 다음에 상기 전송률 제어부(30)는 상기 S20단계에서 산출한 스트림별 기본 패킷 수 만큼씩 상기 버퍼(50)에 기록을 시작한다(S40). 한편 매 전송시마다 나머지 값들을 식 (9)를 이용하여 누적한다(S50). 상기 S50단계에서 누적된 누적치와 분모로 나눈 몫(div)과 나머지(mod)연산을 수행하게 된다(S60). 상기 S60단계의 몫(div)연산 결과에 따라 추가 패킷 수(Nextra)만큼 상기 S20단계에서 산출된 기본 패킷 수에 추가하여 전송한다(S70). 그리고 상기 S60단계의 나머지(mod) 연산 결과를 나머지값(ri+1)으로 갱신하고 종료된다(S80).Subsequently, the data related to the fractional part, that is, the basic residual value r 0 , which is the difference between the values calculated in steps S10 and S20 is converted into integer data and stored (S30). Next, the rate control unit 30 starts recording in the buffer 50 by the number of basic packets for each stream calculated in step S20 (S40). Meanwhile, for each transmission, the remaining values are accumulated using Equation (9) (S50). In operation S50, a div and a mod operation divided by the accumulated value and the denominator are performed (S60). According to the result of the div operation in step S60, the number of additional packets N extra is added to the basic number of packets calculated in step S20 in step S70. In operation S80, the result of the mod operation in operation S60 is updated to the residual value r i + 1 .
또한 본 발명의 부가적인 발명에 따른 데이터 전송률 산출 방법은 상기 버퍼(50)가 빈 공간을 가지지 않도록 빈 패킷 수만큼 널 패킷(14)을 추가하여 출력하는 단계를 더 포함한다. 이렇게 함으로써, 데이터의 패킷이 부족하더라도 일정하게 목표 전송률을 유지하며 전송할 수 있다.In addition, the data rate calculation method according to an additional invention of the present invention further includes the step of adding and outputting null packets 14 as many empty packets as the buffer 50 does not have empty space. In this way, even if the packet of data is insufficient, it is possible to transmit while maintaining the target rate.
따라서 본 발명에 따른 데이터 전송률 산출 방법을 사용하면 전송률에 따른할당된 패킷 수에는 산술적으로 포함되지만 패킷의 크기 제한으로 인하여 전송되지 못한 비트들의 합이 다시 패킷 크기 이상이 되는 시점에서 패킷이 추가적으로 전송되기 때문에 순간적인 전송률은 목표 전송률보다 높게 된다. 그러나 전체적인 전송률은 목표 전송률에 근접하여 전송시 데이터 전송률에 따른 지연시간을 줄일 수 있다.Therefore, when the data rate calculation method according to the present invention is used, the packet is additionally transmitted when the sum of bits that are arithmetically included in the allocated number of packets according to the rate but not transmitted due to the size limitation of the packet becomes larger than the packet size again. As a result, the instantaneous data rate is higher than the target data rate. However, the overall data rate is close to the target data rate and can reduce the delay time according to the data rate during transmission.
그러나 버퍼의 전송 주기가 긴 경우에는 전술한 바와 같은 추가적인 패킷 전송에 의한 전송률의 변화로 인하여 불안정한 전송이 발생할 수도 있다. 따라서, 본 발명에 따른 데이터 송출 장치는 전송 버퍼의 크기가 작고 버퍼의 전송 주기가 짧은 경우에만 한정되어야 한다.However, when the transmission period of the buffer is long, unstable transmission may occur due to the change of the transmission rate by the additional packet transmission as described above. Therefore, the data transmission apparatus according to the present invention should be limited only when the size of the transmission buffer is small and the transmission period of the buffer is short.
이상에서 설명한 바와 같이 본 발명에 따른 데이터 전송률 산출 방법 및 송출 장치는 소수점 이하의 나머지 값들에 대하여 실수 연산이 아닌 정수 연산 방법으로 데이터를 할당하여 전송하는 것이 가능하다.As described above, the data rate calculating method and the transmitting device according to the present invention may allocate and transmit data to the remaining values below the decimal point using an integer arithmetic method instead of a real number arithmetic operation.
또한 정수 연산 방법의 사용함으로써, 구조의 단순화와 비용을 절감할 수 있는 있으며 소수점 이하의 나머지 값들을 정수 데이터로 변환, 저장하여 사용함으로써, 일정한 전송률에 의해 안정되게 전송할 수 있는 장점이 있다.In addition, by using the integer arithmetic method, the structure can be simplified and the cost can be reduced, and the remaining values below the decimal point are converted into integer data, stored, and used, thereby stably transmitting at a constant data rate.
본 발명은 첨부된 도면을 참조하여 바람직한 실시예를 중심으로 기술되었지만 당업자라면 이러한 기재로부터 본 발명의 범주를 벗어남이 없이 많은 다양한 자명한 변형이 가능하다는 것은 명백하다. 따라서 본 발명의 범주는 이러한 많은 변형예들을 포함하도록 기술된 특허청구범위에 의해서 해석되어져야 한다.While the present invention has been described with reference to the accompanying drawings, it will be apparent to those skilled in the art that many various obvious modifications are possible without departing from the scope of the invention from this description. Therefore, the scope of the invention should be construed by the claims described to include many such variations.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0061921A KR100414638B1 (en) | 2001-10-08 | 2001-10-08 | Method for producing Data transmission rate and Apparatus for transmitting |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0061921A KR100414638B1 (en) | 2001-10-08 | 2001-10-08 | Method for producing Data transmission rate and Apparatus for transmitting |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030030133A KR20030030133A (en) | 2003-04-18 |
KR100414638B1 true KR100414638B1 (en) | 2004-01-13 |
Family
ID=29563716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0061921A KR100414638B1 (en) | 2001-10-08 | 2001-10-08 | Method for producing Data transmission rate and Apparatus for transmitting |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100414638B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100996704B1 (en) | 2006-11-06 | 2010-11-25 | 삼성전자주식회사 | Method for Transmitting Buffer Size Information |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990073006A (en) * | 1998-02-27 | 1999-09-27 | 이데이 노부유끼 | Data transmitting method |
KR19990087972A (en) * | 1998-05-12 | 1999-12-27 | 포만 제프리 엘 | Rate guarantees through buffer management |
KR20020038548A (en) * | 2000-11-16 | 2002-05-23 | 에이치에프 네트버크 | Network protocol |
-
2001
- 2001-10-08 KR KR10-2001-0061921A patent/KR100414638B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990073006A (en) * | 1998-02-27 | 1999-09-27 | 이데이 노부유끼 | Data transmitting method |
KR19990087972A (en) * | 1998-05-12 | 1999-12-27 | 포만 제프리 엘 | Rate guarantees through buffer management |
KR20020038548A (en) * | 2000-11-16 | 2002-05-23 | 에이치에프 네트버크 | Network protocol |
Also Published As
Publication number | Publication date |
---|---|
KR20030030133A (en) | 2003-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6661808B2 (en) | Remultiplexing apparatus | |
KR100226528B1 (en) | Decoder for compressed and multiplexed video and audio data | |
US6542518B1 (en) | Transport stream generating device and method, and program transmission device | |
US6831892B2 (en) | Bandwidth optimization of video program bearing transport streams | |
US7693188B2 (en) | Video remultiplexer for dynamic remultiplexing, multi-mode operation and jitter reduced asynchronous communication | |
US6111896A (en) | Remultiplexer for video program bearing transport streams with program clock reference time stamp adjustment | |
US20080250454A1 (en) | Information transmitting apparatus and method, information receiving apparatus and method, provider, and broadcasting system | |
EP0917355A1 (en) | Distribution of MPEG-2 transport streams on the IEEE 1394-based home network | |
KR20000028781A (en) | Digital signal processing and signal format | |
JP2012513139A (en) | Method for synchronizing transport streams in a multiplexer with an external coprocessor | |
JP2001251266A (en) | Data transmitter, transport stream generator and data stream generation method | |
KR100414638B1 (en) | Method for producing Data transmission rate and Apparatus for transmitting | |
JP3893643B2 (en) | Signal multiplexing method and transmission signal generating apparatus using the same | |
US7342968B2 (en) | Method and system for modeling the relationship of the bit rate of a transport stream and the bit rate of an elementary stream carried therein | |
CN113747209B (en) | Method and device for reorganizing multi-channel TS (transport stream) programs | |
US11252215B2 (en) | Broadcasting system, encoder, multiplexing apparatus, multiplexing method, system switching apparatus, and synchronization control apparatus | |
KR100732323B1 (en) | Bandwidth control method and apparatus for transmission of auxiliary data in terrestiral dmb broadcasting system | |
US7653089B2 (en) | Methods and apparatus for reconfiguring protocol data when reducing multiplexed data streams | |
US7050460B1 (en) | Method and apparatus for multiplexing data streams using time constraints | |
KR100375830B1 (en) | Apparatus and Method for removing PCR jitter by inserting receiving time stamp | |
JP2005151096A (en) | Multichannel statistical multiplex system | |
JPH11340936A (en) | Method and device for multiplexing data | |
CN111988641B (en) | Transport stream multiplexing audio and video time synchronization method | |
EP1072156A2 (en) | Apparatus and method for dynamic multiplexing | |
JP2008294799A (en) | Multiplexing transmitter |
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: 20111226 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20130128 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |