KR19990043437A - Decoding Control Method of VAudio Client - Google Patents

Decoding Control Method of VAudio Client Download PDF

Info

Publication number
KR19990043437A
KR19990043437A KR1019970064442A KR19970064442A KR19990043437A KR 19990043437 A KR19990043437 A KR 19990043437A KR 1019970064442 A KR1019970064442 A KR 1019970064442A KR 19970064442 A KR19970064442 A KR 19970064442A KR 19990043437 A KR19990043437 A KR 19990043437A
Authority
KR
South Korea
Prior art keywords
client
buffer
decoding
bit stream
server
Prior art date
Application number
KR1019970064442A
Other languages
Korean (ko)
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 KR1019970064442A priority Critical patent/KR19990043437A/en
Publication of KR19990043437A publication Critical patent/KR19990043437A/en

Links

Abstract

본 발명은 클라이언트측에서 서버로부터 부호화된 비트 스트림을 수신하고, 원신호로의 복원을 위해 부호화된 비트 스트림의 디코딩을 수행할 때 수신 버퍼에서의 데이터 충만 상태 정보에 근거하여 추정되는 서버에서의 실제 전송율에 의거하여 디코딩 속도를 제어할 수 있도록 한 VOD 클라이언트의 디코딩 제어 방법에 관한 것으로, 이를 위하여 본 발명은, 클라이언트측에서 부호화된 비트 스트림의 원신호로의 복원을 위해 디코딩을 수행할 때 수신 버퍼에서의 데이터 충만 상태(비트 스트림 상태) 정보에 근거하여 서버에서의 실제 전송율을 추정하고, 이 추정된 실제 전송율에 의거하여 디코딩 속도를 적응적으로 제어함으로써, 종래 방법에서와 같이 인코더 시스템 클럭과 서버 시스템 클럭간의 오차 또는 클라이언트 시스템 클럭과 서버 시스템 클럭간의 오차로 인해 클라이언트측의 수신 버퍼에서 야기될 수 있는 오우버 플로우 또는 언터 플로우 현상을 확실하게 방지하여, 이로 인한 재생 영상에서 화질열화를 효과적으로 억제할 수 있는 것이다.According to the present invention, when the client receives the encoded bit stream from the server and decodes the encoded bit stream for restoring to the original signal, the present invention actually estimates the server based on data fullness status information in the reception buffer. The present invention relates to a decoding control method of a VOD client capable of controlling a decoding rate based on a transmission rate. To this end, the present invention provides a reception buffer when decoding a coded bit stream for restoration to an original signal. By estimating the actual data rate in the server based on the data fullness (bit stream state) information in the system, and adaptively controlling the decoding rate based on the estimated actual data rate, the encoder system clock and the server as in the conventional method Error between system clock or client system clock and server system Due to the error between Luck will be capable to reliably prevent overflow or OY eonteo flow phenomenon which may be caused in the receive buffer on the client side, to effectively suppress the image quality degradation in the reproduced image resulting.

Description

브이오디 클라이언트의 디코딩 제어 방법Decoding Control Method of VAudio Client

본 발명은 클라이언트 - 서버 시스템 환경하에서 클라이언트가 서버로부터 제공되는 스트림의 디코딩 속도를 제어하는 방법에 관한 것으로, 더욱 상세하게는 서버로부터 VOD(video on demand) 서비스를 제공받는 클라이언트가 서버 시스템 클럭에 동기시켜 디코딩 속도를 적응적으로 조절하는 데 적합한 VOD 클라이언트의 디코딩 제어 방법에 관한 것이다.The present invention relates to a method of controlling a decoding speed of a stream provided from a server under a client-server system environment, and more particularly, a client receiving a video on demand (VOD) service from a server is synchronized with a server system clock. The present invention relates to a decoding control method of a VOD client suitable for adaptively adjusting the decoding speed.

최근들어, 케이블 텔레비젼(CATV)의 발전된 형태인 대화형 케이블 텔레비젼(I-CATV)의 개발이 도처에서 가속화되고 있다.Recently, the development of interactive cable television (I-CATV), an advanced form of cable television (CATV), has been accelerated everywhere.

한편, 아날로그 방식 대신에 디지탈 방식의 대화형 케이블 텔레비젼 서비스 기술을 사용하면 텔레비젼 시청자가 요구하는 정보(예를들면, 비디오 정보 등)를 원하는 시간에 즉시 제공받을 수 있도록 해 주는 주문형 비디오(Video On Demand : VOD) 서비스가 가능하다. 이러한 주문형 비디오 서비스를 실현하기 위해서는 정보의 저장 및 전송능력을 갖춘 대용량 서버로 이루어진 정보 공급자(Information Provider), 텔레비젼 방속국과 같은 서비스 공급자(Service Provider), 네트워크를 통해서 서비스 공급자로 부터 요구하는 정보를 고속으로 다수의 텔레비젼 사용자(즉, 클라이언트)에게 동시에 전달하기 위한 전달 시스템 공급자(Delivery System Provider) 및 전달 시스템 공급자로 부터 제공되는 서비스 정보를 사용하는 클라이언트를 필요로 한다.On the other hand, using digital interactive cable television service technology instead of analogue, Video On Demand ensures that television viewers get the information they need (e.g., video information) at the right time. : VOD) service is available. In order to realize such on-demand video service, an information provider consisting of a large capacity server capable of storing and transmitting information, a service provider such as a television broadcasting station, and a high-speed information request from a service provider through a network are provided. This requires a client using a delivery system provider and service information provided from a delivery system provider for simultaneous delivery to multiple television users (ie clients).

이러한 VOD 서비스의 구현을 위하여 클라이언트에서는 사용자 조작에 따라 서비스를 원하는 프로그램, 예를들면 영화, 뉴스, 영어 회화 프로그램 등의 정보 제공을 원격지의 서보로 요구하며, 서버에서는 이러한 클라이언트의 요구에 응답하여 해당하는 프로그램에 대한 비디오 및 오디오 데이터, 즉 비디오, 오디오 및 텍스트 등을 혼합한 스트림을 데이터 베이스에서 인출하여 서비스를 요구한 클라이언트로 전달한다.In order to implement the VOD service, the client requests remote servo to provide information such as a program to be serviced according to a user's operation, for example, a movie, news, or English conversation program, and the server responds to the client's request. The video and audio data of the program, ie, a stream of video, audio, and text, are fetched from the database and delivered to the client requesting the service.

이때, 서버에서 클라이언트로 전송되는 스트림은, 예를들면 MPEG-2 알고리즘에 근거하여 압축 부호화된 데이터로서, 현재 대화형 멀티 미디어 시스템의 표준기구인 DAVIC 에서는 전송 성능을 개선하기 위하여 비동기 전송방식인 네이티브(native) ATM을 사용하고 있다.At this time, the stream transmitted from the server to the client is data encoded and compressed based on the MPEG-2 algorithm, for example, and in DAVIC, a standard organization of the current interactive multimedia system, asynchronous transmission method is used to improve transmission performance. (native) I am using ATM.

한편, 클라이언트의 VOD 서비스 요구에 응답하여 서버에서 클라이언트로 전송되는 부호화된 비트 스트림, 헤더 정보의 비트 스트림에는 서버의 전송율 정보가 포함되는 데, 클라이언트에서는 부호화된 비트 스트림을 부호화전의 원신호로 복원할 때 이러한 비트 스트림에 포함된 전송율 정보를 추출하고 이 추출된 전송율 정보에 의거하여 복원시의 디코딩 속도를 결정, 즉 비트 스트림에서 추출한 전송율이 일예로서 10 Mbps 일 때 디코딩 속도를 10 Mbps 로 결정하고 있다.Meanwhile, the encoded bit stream transmitted from the server to the client in response to the client's VOD service request and the bit stream of the header information include the data rate of the server. The client may restore the encoded bit stream to the original signal before encoding. When the rate information contained in the bit stream is extracted and the decoding rate at the time of restoration is determined based on the extracted rate information, the decoding rate is determined as 10 Mbps when the bit rate extracted from the bit stream is 10 Mbps. .

이때, 서버에서는 비디오, 오디오 신호 등을 압축 부호화하는 인코더의 시스템 클럭과 서버 자신의 시스템 클럭간의 오차로 인해 서버에서 클라이언트로 전송하는 비트 스트림의 전송율이 기설정된 전송율을 초과하거나 혹은 기설정된 전송율보다 낮게 전송될 수 있다. 예를들어, 실제로 설정된 전송율이 10 Mbps 인데도 불구하고 인코더의 시스템 클럭과 서버 자신의 시스템 클럭간의 오차로 인해 클라이언트로의 데이터 전송율이 10.1 Mbps 또는 9.9 Mbps 로 될 수도 있다.At this time, in the server, due to an error between the system clock of the encoder that compresses and encodes video and audio signals, and the system clock of the server itself, the bit rate of the bit stream transmitted from the server to the client exceeds or is lower than the preset rate. Can be sent. For example, even though the set rate is actually 10 Mbps, the data rate to the client may be 10.1 Mbps or 9.9 Mbps due to an error between the encoder's system clock and the server's own system clock.

이 경우에 있어서, 서버에서 클라이언트로 전송되는 비트 스트림에는 기설정된 전송율 정보, 즉 10 Mbps 의 전송율 정보가 포함되어 있으므로, 클라이언트가 디코딩 속도를 10 Mbps 로 결정하게 되는 데, 이때 시스템 클럭과 서버 시스템 클럭간의 오차로 인해 실제 전송율에 변동(즉, 전송율의 증감)이 발생하게 되면, 클라이언트측의 수신 버퍼에서는 데이터의 오우버 플로우(over flow) 혹은 언더 플로우(under flow) 현상이 야기될 수 있다.In this case, since the bit stream transmitted from the server to the client includes predetermined rate information, that is, 10 Mbps rate information, the client determines the decoding rate as 10 Mbps, where the system clock and the server system clock are determined. If a change in the actual transmission rate (that is, increase or decrease of the transmission rate) occurs due to the error between the data, an overflow or underflow phenomenon of data may occur in the reception buffer at the client side.

또한, 클라이언트에서는 자신의 시스템 클럭과 서버의 시스템 클럭간의 오차로 인해 비트 스트림에서 추출한 기설정된 전송율이 10.1 Mbps 인데도 불구하고 10.1 Mbps 또는 9.9 Mbps 의 속도로 부호화된 비트 스트림을 디코딩할 수도 있다.In addition, the client may decode the encoded bit stream at a speed of 10.1 Mbps or 9.9 Mbps even though the preset transmission rate extracted from the bit stream is 10.1 Mbps due to an error between its system clock and the system clock of the server.

이러한 경우에도 상기한 바와 마찬가지로 클라이언트측 수신 버퍼에서 데이터의 오우버 플로우(over flow) 혹은 언더 플로우(under flow) 현상이 야기될 수 있다.In this case, as described above, an overflow or underflow phenomenon of data may occur in the client-side reception buffer.

따라서, 상술한 종래방법에서는 인코더 시스템 클럭과 서버 시스템 클럭간의 오차 또는 클라이언트 시스템 클럭과 서버 시스템 클럭간의 오차로 인해 클라이언트측의 수신 버퍼에서 오우버 플로우 또는 언터 플로우 현상이 야기되므로써 재생 영상에서 화질열화가 야기된다는 문제를 갖는다.Therefore, in the above-described conventional method, due to an error between the encoder system clock and the server system clock or the error between the client system clock and the server system clock, an overflow or an underflow phenomenon occurs in the reception buffer on the client side, resulting in deterioration in image quality of the reproduced video. Has a problem.

따라서, 본 발명은 상기한 종래기술의 문제점을 해결하기 위한 것으로, 클라이언트측에서 서버로부터 부호화된 비트 스트림을 수신하고, 원신호로의 복원을 위해 부호화된 비트 스트림의 디코딩을 수행할 때 수신 버퍼에서의 데이터 충만(비트 스트림) 상태 정보에 근거하여 서버에서의 실제 전송율을 추정하고, 이 추정된 실제 전송율에 의거하여 디코딩 속도를 제어할 수 있는 VOD 클라이언트의 디코딩 제어 방법을 제공하는 데 그 목적이 있다.Accordingly, the present invention is to solve the above-mentioned problems of the prior art, the client side receives the encoded bit stream from the server, and when the decoding of the encoded bit stream to restore to the original signal in the receiving buffer It is an object of the present invention to provide a decoding control method of a VOD client capable of estimating an actual data rate in a server based on data fullness (bit stream) state information of a server and controlling a decoding speed based on the estimated actual data rate. .

상기 목적을 달성하기 위하여 본 발명은, 클라이언트 - 서버 시스템에서 수신 버퍼 및 디코더를 갖는 클라이언트로부터의 VOD 서비스 요구에 응답하여 서버로부터 제공되는 부호화된 비트 스트림의 디코딩을 제어하는 방법에 있어서, 상기 클라이언트로부터의 VOD 서비스 요구에 응답하여 상기 서버가 상기 클라이언트에 부호화된 비트 스트림을 전송하고, 이 전송된 비트 스트림을 상기 수신 버퍼에 저장하면서 비트 스트림에 포함된 전송율 정보를 추출하는 제 1 과정; 상기 추출된 전송율 정보에 의거하여 상기 디코더의 초기 디코딩 속도를 결정하는 제 2 과정; 상기 수신 버퍼에 저장된 현재 데이터량이 기설정된 디코딩 개시 기준 버퍼량이 될 때까지 상기 수신 버퍼로의 데이터 저장을 수행하는 제 3 과정; 상기 수신 버퍼의 현재 데이터량이 상기 기설정된 디코딩 개시 기준 버퍼량이 되면, 상기 결정된 초기 디코딩 속도로 상기 수신 버퍼에서 순차 인출되는 부호화된 비트 스트림을 부호화전의 원신호로 복원하는 제 4 과정; 상기 디코딩 동작중에 상기 수신 버퍼에 저장된 현재 버퍼의 데이터 증감량을 일정 주기로하여 기설정된 기준 버퍼 증감량 단위로 반복 체크하는 제 5 과정; 상기 제 5 과정에서의 체크결과에 상응하여 상기 수신 버퍼의 현재 데이터 증감량이 상기 기설정된 기준 버퍼 증감량을 상기 기설정된 소정 데이터량 단위로 증감될 때, 상기 수신 버퍼의 증감 상태에 의거하여 상기 디코더에서의 디코딩 속도를 순차 증감시키는 제 6 과정; 및 상기 VOD 서비스가 종료될 때까지 상기 제 4 과정 내지 제 6 과정을 반복 수행하는 제 7 과정으로 이루어진 브이오디 클라이언트의 디코딩 제어 방법을 제공한다.In order to achieve the above object, the present invention provides a method for controlling decoding of an encoded bit stream provided from a server in response to a VOD service request from a client having a receive buffer and a decoder in a client-server system. A first step of the server, in response to the VOD service request of the server, transmitting the encoded bit stream to the client, and extracting the rate information contained in the bit stream while storing the transmitted bit stream in the reception buffer; A second process of determining an initial decoding rate of the decoder based on the extracted rate information; A third step of storing data in the reception buffer until the current data amount stored in the reception buffer becomes a preset decoding start reference buffer amount; A fourth step of restoring the encoded bit stream sequentially extracted from the reception buffer to the original signal before encoding when the current amount of data in the reception buffer is the predetermined decoding start reference buffer amount; A fifth step of repeatedly checking the data increase / decrease amount of the current buffer stored in the reception buffer in predetermined reference buffer increments during the decoding operation; The decoder based on the increase / decrease state of the receive buffer when the current data increase / decrease amount of the receive buffer is increased or decreased by the predetermined predetermined data amount unit corresponding to the check result of the fifth process. A sixth step of sequentially increasing and decreasing the decoding speed at; And a seventh process of repeatedly performing the fourth to sixth processes until the VOD service is terminated.

도 1은 본 발명에 따라 브이오디(VOD) 클라이언트의 디코딩을 제어하는 방법을 적용하는 데 적합한 클라이언트 - 서버 시스템의 개략적인 블록구성도,1 is a schematic block diagram of a client-server system suitable for applying a method for controlling decoding of a VOD client in accordance with the present invention;

도 2는 본 발명의 바람직한 실시예에 따른 VOD 클라이언트의 디코딩 제어 과정을 도시한 플로우챠트,2 is a flowchart illustrating a decoding control process of a VOD client according to an embodiment of the present invention;

도 3은 일예로서 버퍼에 저장되는 데이터량이 증가함에 따라 디코딩 속도를 증가시켜 버퍼에서의 데이터 오우버 플로우를 방지하는 과정을 설명하기 위해 도시한 도면.3 is a diagram for describing a process of preventing data overflow in a buffer by increasing a decoding speed as an example of an increase in the amount of data stored in a buffer.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

100 : 클라이언트 102 : 클라이언트 제어 블록100: client 102: client control block

104 : 버퍼 106 : MPEG 디코딩 블록104: buffer 106: MPEG decoding block

110 : 서버 112 : 서버 제어 블록110: server 112: server control block

114 : 스트림 펌프114: Stream Pump

이하 첨부된 도면을 참조하여 본 발명의 실시예에 대하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따라 VOD 클라이언트의 디코딩을 제어하는 방법을 적용하는 데 적합한 클라이언트 - 서버 시스템의 개략적인 블록구성도를 나타낸다.1 shows a schematic block diagram of a client-server system suitable for applying a method for controlling decoding of a VOD client according to the present invention.

동도면에 도시된 바와같이, 클라이언트(100)는 클라이언트 제어 블록(102), 버퍼(104) 및 MPEG 디코딩 블록(106)을 포함하고, 서버(110)는 서버 제어 블록(112) 및 스트림 펌프(114)를 포함한다.As shown in the figure, the client 100 includes a client control block 102, a buffer 104 and an MPEG decoding block 106, and the server 110 includes a server control block 112 and a stream pump ( 114).

제 1 도를 참조하면, 클라이언트 제어 블록(102)은, 예를들면 클라이언트 시스템의 전반적인 동작제어를 수행하는 마이크로 프로세서를 포함하는 것으로, 사용자의 조작에 따른 조작신호, 예를들면 비디오 속행(resume), 비디오 정지(pause) 등의 명령을 받아 그에 상응하는 동작을 수행한다.Referring to FIG. 1, the client control block 102 includes, for example, a microprocessor for performing overall operation control of a client system, and includes an operation signal according to a user's operation, for example, a video resume. Receive a command such as video pause, and perform a corresponding operation.

즉, 클라이언트 제어 블록(102)은 VOD 서비스 요구를 위한 조작신호가 입력될 때 VOD 서비스 요구 메시지를 생성하여 라인 L11을 통해 서버(110)측의 서버 제어 블록(112)으로 전송하고, 라인 L13을 통해 서버(110)측 스트림 펌프(114)로부터 비트 스트림에 전송될 때 이 수신 비트 스트림에 포함된 전송율 정보를 추출하여 초기 디코딩 속도를 결정한다. 여기에서, 버퍼(104)는 비트 스트림의 전송율 변동으로 인해 야기될 수 있는 데이터 손실을 방지하기 위한 것으로, 라인 L13을 통해 수신되는 비트 스트림을 일시적으로 저장한다.That is, the client control block 102 generates a VOD service request message when the operation signal for the VOD service request is input, transmits the VOD service request message to the server control block 112 on the server 110 through the line L11, and transmits the line L13. When transmitted from the server 110 side stream pump 114 to the bit stream, the rate information contained in the received bit stream is extracted to determine the initial decoding rate. Here, the buffer 104 is to prevent data loss that may be caused by the bit rate variation of the bit stream, and temporarily stores the bit stream received through the line L13.

또한, 클라이언트 제어 블록(102)은 버퍼(104)에 저장되는 비트 스트림의 상태(즉, 충만 상태)를 체크하여 MPEG 디코딩 블록(106)에서의 디코딩 속도를 조절, 즉 가변시킨다.In addition, the client control block 102 checks the state of the bit stream (ie, the full state) stored in the buffer 104 to adjust, i.e., vary, the decoding speed in the MPEG decoding block 106.

다음에, MPEG 디코딩 블록(106)은 버퍼(104)를 통해 수신되는 MPEG 부호화 표준에 따라 압축 부호화된 비트 스트림을 부호화전의 원신호로 복원하는 기능을 수행하는 것으로, 여기에서의 디코딩 속도는 실질적으로 라인 L17을 통해 클라이언트 제어 블록(102)으로부터 제공되는 디코딩 제어신호에 적응적으로 조절된다.Next, the MPEG decoding block 106 performs a function of restoring a bit stream that has been compressed and encoded according to the MPEG encoding standard received through the buffer 104 to the original signal before encoding, where the decoding speed is substantially Adaptive to the decoding control signal provided from the client control block 102 via the line L17.

한편, 서버(110)측의 서버 제어 블록(112)은, 예를들면 서버 시스템의 전반적인 동작제어를 수행하는 마이크로 프로세서를 포함하는 것으로, 라인 L11을 통해 클라이언트 제어 블록(102)으로부터 제공되는 명령, 즉 메시지에 의거하여 스트림 펌프(114)에 스트림 전송의 속행 또는 정지 등을 지시하며, 스트림 펌프(114)는 서버 제어 블록(112)으로부터의 지시에 의거하여 기저장된 프로그램에 대한 부호화된 비트 스트림을 인출하여 라인 L13을 통해 클라이언트(100)측으로 전송한다.On the other hand, the server control block 112 on the server 110, for example, includes a microprocessor for performing overall operation control of the server system, instructions provided from the client control block 102 via the line L11, That is, instructing the stream pump 114 to continue or stop the stream transmission based on the message, and the stream pump 114 generates an encoded bit stream for the pre-stored program according to the instruction from the server control block 112. It is withdrawn and transmitted to the client 100 through the line L13.

다음에, 상술한 바와같은 구성을 갖는 클라이언트 - 서버 시스템에서 본 발명에 따라 버퍼의 데이터 충만 상태 정보에 의거하여 클라이언트의 디코딩 속도를 제어하는 과정에 대하여 설명한다.Next, a process of controlling the decoding speed of the client based on the data full state information of the buffer in the client-server system having the above-described configuration will be described.

도 2는 본 발명의 바람직한 실시예에 따른 VOD 클라이언트의 디코딩 제어 과정을 도시한 플로우챠트이다.2 is a flowchart illustrating a decoding control process of a VOD client according to an exemplary embodiment of the present invention.

도 2를 참조하면, 도시 생략된 키입력부로부터 사용자 조작에 따른 VOD 서비스 요구를 위한 조작신호가 입력되면, 클라이언트(100)측의 클라이언트 제어 블록(102)에서는 라인 L11 상에 VOD 서비스 요구 메시지를 발생한다(단계 202).Referring to FIG. 2, when an operation signal for a VOD service request according to a user operation is input from a key input unit (not shown), a client control block 102 on the client 100 generates a VOD service request message on a line L11. (Step 202).

따라서, 서버(110)측의 서버 제어 블록(112)에서는 라인 L11을 통해 수신되는 VOD 서비스 요구 메시지에 응답하여 스트림 펌프(114)에 스트림 전송 속행을 지시하며, 그 결과 스트림 펌프(114)에서는 라인 L13을 통해 부호화된 비트 스트림을 클라이언트(100)로 전송한다(단계 204). 이때, 전송되는 비트 스트림에는 기설정된 전송율 정보(예를들면, 10 Mbps 의 전송율)가 포함되어 있다.Therefore, the server control block 112 on the server 110 side instructs the stream pump 114 to continue the stream transmission in response to the VOD service request message received through the line L11, and as a result, the stream pump 114 receives the line. The bit stream encoded through L13 is transmitted to the client 100 (step 204). In this case, the transmitted bit stream includes predetermined rate information (eg, a 10 Mbps transmission rate).

한편, 클라이언트 제어 블록(102)에서는 라인 L13을 통해 수신되는 비트 스트림에 포함된 전송율 정보를 추출하며(단계 206), 이 추출된 전송율 정보에 의거하여 초기 디코딩 속도를 결정하고(단계 208), 라인 L15를 통해 버퍼(104)에 저장되는 데이터량을 체크하여 버퍼의 데이터량이 디코딩을 개시하는 시점에 도달했는지의 여부를 판단한다.Meanwhile, the client control block 102 extracts the rate information contained in the bit stream received through the line L13 (step 206), determines the initial decoding rate based on the extracted rate information (step 208), and the line The amount of data stored in the buffer 104 is checked through L15 to determine whether or not the amount of data in the buffer has reached the start of decoding.

즉, 일예로서 도 3a에 도시된 바와같이, 버퍼(104)가 10 M 비트의 용량을 갖는 버퍼이고, 버퍼(104)에 5 M 비트의 데이터가 채워질 때 데이터 복원을 위한 디코딩 동작을 개시한다고 가정할 때, 단계(210)에서는 현재의 버퍼량이 기설정된 디코딩 개시 시작점인 기준 버퍼량 L 만큼 채워졌는지의 여부를 체크한다.That is, as an example, as shown in FIG. 3A, it is assumed that the buffer 104 is a buffer having a capacity of 10 M bits and starts a decoding operation for data recovery when the buffer 104 is filled with 5 M bits of data. In step 210, it is checked whether the current buffer amount is filled by the reference buffer amount L which is a predetermined decoding start start point.

상기 단계(210)에서의 체크결과, 현재의 버퍼량이 기설정된 기준 버퍼량 L 만큼 채워지지 않은 것으로 판단되면, 버퍼(104)가 기설정된 기준 버퍼량 L 만큼 채워질 때까지 단계(210) 및 단계(212)의 반복 수행한다.As a result of the check in the step 210, if it is determined that the current buffer amount is not filled by the predetermined reference buffer amount L, step 210 and step (b) until the buffer 104 is filled by the predetermined reference buffer amount L. Repeat 212).

한편, 상기 단계(210)에서의 체크결과, 현재의 버퍼량이 기설정된 기준 버퍼량 L 만큼 채워진 것으로 판단되면, 클라이언트 제어 블록(102)에서는 라인 L15 상에 비트 스트림 인출 제어신호를 발생함과 동시에 라인 L17을 통해 비트 스트림에서 추출한 전송율 정보에 근거하여 결정된 디코딩 제어신호를 발생하며, 그 결과 MPEG 디코딩 블록(106)에서는 라인 L17을 통해 제공되는 디코딩 속도로 버퍼(104)로부터 제공되는 부호화된 스트림을 부호화전의 원신호로 복원한다(단계 214).On the other hand, if it is determined in the step 210 that the current buffer amount is filled by the predetermined reference buffer amount L, the client control block 102 generates a bit stream fetch control signal on the line L15 and at the same time the line A decoding control signal determined based on the rate information extracted from the bit stream is generated through L17. As a result, the MPEG decoding block 106 encodes the encoded stream provided from the buffer 104 at the decoding rate provided through the line L17. The original signal is restored (step 214).

다른한편, 상기한 바와같이 비트 스트림의 수신 및 수신된 비트 스트림에 대한 디코딩을 수행할 때, 클라이언트 제어 블록(102)에서는 버퍼(104)에 현재 저장중인 데이터량을 일정한 주기로 체크, 즉 현재의 버퍼량이 기설정된 버퍼 증감량 M보다 많거나 작게 되는지의 여부를 기설정된 단위(예를들면, 1 메가 비트, 2 메가 비트 단위 등)로 체크한다(단계 216).On the other hand, when performing the reception of the bit stream and decoding the received bit stream as described above, the client control block 102 checks the amount of data currently stored in the buffer 104 at regular intervals, that is, the current buffer. It is checked in predetermined units (e.g., 1 megabit, 2 megabits, etc.) whether the amount is more or less than the predetermined buffer increase / decrease amount M (step 216).

상기 단계(216)에서의 체크결과, 현재의 버퍼량이 기설정된 기준 버퍼량 L의 오차 허용 범위(즉, 1 메가 비트 단위로 버퍼의 데이터 증감을 체크한다고 가정할 때 1 메가 비트보다 많게 되거나 작게 되지 않는 허용 범위)를 벗어나지 않고, 또한 VOD 서비스 종료가 검출되지 않으면(단계 220), 상술한 단계(214)의 반복 수행을 통해 부호화된 비트 스트림의 디코딩 동작을 계속해서 수행한다. 여기에서, 서비스 종료가 검출된다는 것은 사용자가 VOD 서비스를 요구한 프로그램에 대한 비트 스트림 전송이 종료되었거나 혹은 사용자에 의해 서비스 중지가 요구된 경우를 의미한다.As a result of the check in the step 216, the current buffer amount is not more or less than 1 megabit assuming that the error tolerance of the preset reference buffer amount L (i.e., the data increase / decrease of the buffer is checked in units of 1 megabit). If no end of the VOD service is detected (step 220), the decoding operation of the encoded bit stream is continuously performed through repeating the above-described step 214. Here, the service termination is detected when the bit stream transmission for the program for which the user has requested the VOD service is terminated or the service is requested to be stopped by the user.

한편, 상기 단계(216)에서의 체크결과, 현재의 버퍼 증감량이 기설정된 기준 버퍼 증감량 M의 오차 허용 범위를 벗어난 것으로 판단되면, 데이터량의 증감 정보에 따라 클라이언트 제어 블록(102)에서는 디코딩 속도를 증감, 즉 현재 버퍼 증감량이 기설정된 기준 버퍼 증감량 M을 초과할 때 디코딩 속도를 1단계 증가시키고, 현재 버퍼 증감량이 기설정된 기준 버퍼 증감량 M보다 작을 때 디코딩 속도를 1단계 감소시킴으로써 버퍼(104)에 채워지는 데이터량이 오차 허용 범위내에서 일정하게 유지되도록 제어하며(단계 218), 이후에 단계(214)의 반복 수행을 통해 VOD 서비스가 종료될 때까지 디코딩 속도를 적응적으로 조절한다.On the other hand, if it is determined in the step 216 that the current buffer increase / decrease is outside the error tolerance of the preset reference buffer increase / decrease amount M, the client control block 102 determines the decoding speed according to the increase / decrease information of the data amount. Increase or decrease the decoding speed by one step when the current buffer increase or decrease exceeds the preset reference buffer increase or decrease M, and decrease the decoding speed by one step when the current buffer increase or decrease is smaller than the preset reference buffer increase or decrease M. The amount of data filled in 104 is controlled to remain constant within the error tolerance (step 218), and then the decoding speed is adaptively adjusted until the VOD service is terminated by repeating the step 214.

일예로서, 비트 스트림에서 추출한 기설정된 전송율이 10 Mbps 이고, 버퍼(104)의 용량이 10 메가 비트이며, 디코딩 동작을 개시하는 시점인 기설정된 기준 버퍼량이 5 메가 비트로 설정된 상태에서, 도 3b에 도시된 바와같이, 인코더의 시스템 클럭과 서버의 시스템 클럭간의 오차로 인해 실제 전송율이 10.1 Mbps 이고, 서버의 시스템 클럭과 클라이언트의 시스템 클럭간의 오차로 인해 실제 디코딩 속도가 9.9 Mbps 라고 가정하면, 대략 5초 후에는 1 메가 비트가 더해진 6 메가 비트의 데이터가 버퍼(104)에 쌓이게 될 것이다.As an example, in the state in which the preset transmission rate extracted from the bit stream is 10 Mbps, the capacity of the buffer 104 is 10 megabits, and the preset reference buffer amount, which is the time point at which the decoding operation is started, is set to 5 megabits, as shown in FIG. 3B. As shown, approximately 5 seconds, assuming that the actual transmission rate is 10.1 Mbps due to an error between the system clock of the encoder and the system clock of the server, and that the actual decoding rate is 9.9 Mbps due to an error between the system clock of the server and the system clock of the client. Afterwards, one megabit plus six megabits of data will accumulate in the buffer 104.

따라서, 클라이언트 제어 블록(102)에서는 이러한 버퍼(104)의 데이터량을 체크하여, 도 3b에 도시된 바와같이, 디코딩 속도를 9.9 Mbps에서 10 Mbps 로 1단계 증가시키게 될 것이다. 그러나, 서버(110)에서의 실제 데이터 전송율은 10.1 Mbps 이므로, 대략 10초 후에는 다시 1 메가 비트가 더해진 7 메가 비트의 데이터가 버퍼(104)에 쌓이게 될 것이다.Accordingly, the client control block 102 will check the amount of data in this buffer 104 and increase the decoding rate by one step from 9.9 Mbps to 10 Mbps, as shown in FIG. 3B. However, since the actual data rate at the server 110 is 10.1 Mbps, after about 10 seconds, 7 megabits of data plus 1 megabit will be accumulated in the buffer 104.

그러므로, 클라이언트 제어 블록(102)에서는 다시 디코딩 속도를 10 Mbps에서 10.1 Mbps 로 1단계 증가시키게 되며, 그 결과 서버(110)로부터의 실제 전송율과 클라이언트(100)측에서의 디코딩 속도가 서로 일치, 즉 일정하게 동기화되므로서, 도 3c에 도시된 바와같이, 버퍼(104)에서는 7 메가 비트의 데이터량이 오차 허용 범위내에서 일정하게 유지될 것이다. 따라서, 본 발명에서는 클라이언트측 수신 버퍼에서의 오우버 플로우 또는 언더 플로우 현상이 확실하게 방지된다.Therefore, the client control block 102 increases the decoding speed by one step from 10 Mbps to 10.1 Mbps, so that the actual transmission rate from the server 110 and the decoding rate at the client 100 coincide with each other. By being synchronized, as shown in Fig. 3C, in the buffer 104, the data amount of 7 mega bits will remain constant within the tolerance range. Therefore, in the present invention, the overflow or underflow phenomenon in the client-side reception buffer is reliably prevented.

이상 설명한 바와같이 본 발명에 따르면, 클라이언트측에서 부호화된 비트 스트림의 원신호로의 복원을 위해 디코딩을 수행할 때 수신 버퍼에서의 데이터 충만 상태 정보에 근거하여 서버에서의 실제 전송율을 추정하고, 이 추정된 실제 전송율에 의거하여 디코딩 속도를 적응적으로 제어함으로써, 인코더 시스템 클럭과 서버 시스템 클럭간의 오차 또는 클라이언트 시스템 클럭과 서버 시스템 클럭간의 오차로 인해 클라이언트측의 수신 버퍼에서 야기될 수 있는 오우버 플로우 또는 언터 플로우 현상을 확실하게 방지할 수 있다.As described above, according to the present invention, when performing decoding to restore the original signal of the encoded bit stream on the client side, the actual transmission rate is estimated on the server based on the data fullness state information in the reception buffer. By adaptively controlling the decoding rate based on the estimated actual data rate, the overflow that can be caused in the receive buffer on the client side due to an error between the encoder system clock and the server system clock or between the client system clock and the server system clock. Alternatively, the underflow phenomenon can be reliably prevented.

Claims (2)

클라이언트 - 서버 시스템에서 수신 버퍼 및 디코더를 갖는 클라이언트로부터의 VOD 서비스 요구에 응답하여 서버로부터 제공되는 부호화된 비트 스트림의 디코딩을 제어하는 방법에 있어서,A method for controlling decoding of an encoded bit stream provided from a server in response to a VOD service request from a client having a receive buffer and a decoder in a client-server system, the method comprising: 상기 클라이언트로부터의 VOD 서비스 요구에 응답하여 상기 서버가 상기 클라이언트에 부호화된 비트 스트림을 전송하고, 이 전송된 비트 스트림을 상기 수신 버퍼에 저장하면서 비트 스트림에 포함된 전송율 정보를 추출하는 제 1 과정;A first step in which the server transmits an encoded bit stream to the client in response to a VOD service request from the client, and extracts rate information contained in the bit stream while storing the transmitted bit stream in the reception buffer; 상기 추출된 전송율 정보에 의거하여 상기 디코더의 초기 디코딩 속도를 결정하는 제 2 과정;A second process of determining an initial decoding rate of the decoder based on the extracted rate information; 상기 수신 버퍼에 저장된 현재 데이터량이 기설정된 디코딩 개시 기준 버퍼량이 될 때까지 상기 수신 버퍼로의 데이터 저장을 수행하는 제 3 과정;A third step of storing data in the reception buffer until the current data amount stored in the reception buffer becomes a preset decoding start reference buffer amount; 상기 수신 버퍼의 현재 데이터량이 상기 기설정된 디코딩 개시 기준 버퍼량이 되면, 상기 결정된 초기 디코딩 속도로 상기 수신 버퍼에서 순차 인출되는 부호화된 비트 스트림을 부호화전의 원신호로 복원하는 제 4 과정;A fourth step of restoring the encoded bit stream sequentially extracted from the reception buffer to the original signal before encoding when the current amount of data in the reception buffer is the predetermined decoding start reference buffer amount; 상기 디코딩 동작중에 상기 수신 버퍼에 저장된 현재 버퍼의 데이터 증감량을 일정 주기로하여 기설정된 기준 버퍼 증감량 단위로 반복 체크하는 제 5 과정;A fifth step of repeatedly checking the data increase / decrease amount of the current buffer stored in the reception buffer in predetermined reference buffer increments during the decoding operation; 상기 제 5 과정에서의 체크결과에 상응하여 상기 수신 버퍼의 현재 데이터 증감량이 상기 기설정된 기준 버퍼 증감량을 상기 기설정된 소정 데이터량 단위로 증감될 때, 상기 수신 버퍼의 증감 상태에 의거하여 상기 디코더에서의 디코딩 속도를 순차 증감시키는 제 6 과정; 및The decoder based on the increase / decrease state of the receive buffer when the current data increase / decrease amount of the receive buffer is increased or decreased by the predetermined predetermined data amount unit corresponding to the check result of the fifth process. A sixth step of sequentially increasing and decreasing the decoding speed at; And 상기 VOD 서비스가 종료될 때까지 상기 제 4 과정 내지 제 6 과정을 반복 수행하는 제 7 과정으로 이루어진 브이오디 클라이언트의 디코딩 제어 방법.And a seventh process of repeatedly performing the fourth to sixth processes until the VOD service is terminated. 제 1 항에 있어서, 상기 디코딩 속도는, 상기 기설정된 기준 버퍼 증감량 단위에 대응하게 설정된 속도로 점진적으로 증감되는 것을 특징으로 하는 브이오디 클라이언트의 디코딩 제어 방법.The method of claim 1, wherein the decoding rate is gradually increased or decreased at a rate corresponding to the preset reference buffer increase / decrease unit.
KR1019970064442A 1997-11-29 1997-11-29 Decoding Control Method of VAudio Client KR19990043437A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970064442A KR19990043437A (en) 1997-11-29 1997-11-29 Decoding Control Method of VAudio Client

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970064442A KR19990043437A (en) 1997-11-29 1997-11-29 Decoding Control Method of VAudio Client

Publications (1)

Publication Number Publication Date
KR19990043437A true KR19990043437A (en) 1999-06-15

Family

ID=66094768

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970064442A KR19990043437A (en) 1997-11-29 1997-11-29 Decoding Control Method of VAudio Client

Country Status (1)

Country Link
KR (1) KR19990043437A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100453505B1 (en) * 2002-04-03 2004-10-20 주식회사 케이티프리텔 Method and device for controlling multi-bit-rate of streaming by clietns in wireless network
KR100585647B1 (en) * 1999-12-30 2006-06-07 엘지전자 주식회사 Macro block adder control method in mpeg video decoder

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100585647B1 (en) * 1999-12-30 2006-06-07 엘지전자 주식회사 Macro block adder control method in mpeg video decoder
KR100453505B1 (en) * 2002-04-03 2004-10-20 주식회사 케이티프리텔 Method and device for controlling multi-bit-rate of streaming by clietns in wireless network

Similar Documents

Publication Publication Date Title
EP1358542B1 (en) Method and system for buffering streamed data
JP4087852B2 (en) Video transmission method
US20180302681A1 (en) Managed multiplexing of video in an adaptive bit rate environment
US8135040B2 (en) Accelerated channel change
KR100898210B1 (en) Method and apparatus for transferring digital signal and changing received streaming content channels, and computer readable medium
AU2002231829A1 (en) Method and system for buffering streamed data
EP1514378B1 (en) Multimedia server with simple adaptation to dynamic network loss conditions
US8275233B2 (en) System and method for an early start of audio-video rendering
KR20030055323A (en) Transmitting and receiving real-time data
WO1997025817A1 (en) File server for multimedia file distribution
WO2010023504A1 (en) A method of switching from a first encoded video stream to a second encoded video stream
WO2004015550A2 (en) Data streaming system and method
KR20050097738A (en) Client and method for playing video stream
US20100299448A1 (en) Device for the streaming reception of audio and/or video data packets
KR19990043437A (en) Decoding Control Method of VAudio Client
Kamariotis Bridging the gap between CBR and VBR for H264 standard
KR20100068780A (en) Method and apparatus for preventing overflow of the pre-decoder buffer in the streaming service
KR19990005320A (en) Client Buffer Management Unit for Video-on-Demand Systems
WO2009045034A2 (en) Apparatus and method for multiplexing transport stream using padding remotion

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee