KR100978506B1 - Digital video player and the method for controlling buffer the player - Google Patents
Digital video player and the method for controlling buffer the player Download PDFInfo
- Publication number
- KR100978506B1 KR100978506B1 KR1020080117405A KR20080117405A KR100978506B1 KR 100978506 B1 KR100978506 B1 KR 100978506B1 KR 1020080117405 A KR1020080117405 A KR 1020080117405A KR 20080117405 A KR20080117405 A KR 20080117405A KR 100978506 B1 KR100978506 B1 KR 100978506B1
- Authority
- KR
- South Korea
- Prior art keywords
- audio
- video
- buffer
- ring buffer
- frame
- Prior art date
Links
Images
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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4392—Processing of audio elementary streams involving audio buffer management
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/4424—Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H2201/00—Aspects of broadcast communication
- H04H2201/10—Aspects of broadcast communication characterised by the type of broadcast system
- H04H2201/11—Aspects of broadcast communication characterised by the type of broadcast system digital multimedia broadcasting [DMB]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Television Systems (AREA)
Abstract
본 발명은 디지털 방송 시청 단말기 및 그 단말기의 버퍼제어 방법에 관한 것으로, 디지털 멀티미디어 방송(예: Digital Multimedia Broadcasting, ISDB-T, DVH-H등) 혹은 인터넷 멀티미디어 방송인 IPTV 등과 같이 스트림형태로 전송되는 오디오를 포함한 동영상 서비스를 수신하는 단말기에서 입력 스트림의 변이(fluctuation)가 발생할 때, 버퍼를 이용하여 연속적으로 평탄한 비디오 및 오디오 출력이 되도록 버퍼를 제어하는 디지털 방송 시청 단말기 및 그 단말기의 버퍼제어 방법에 관한 것이다.
디지털 방송 시청 단말기(Digital Broadcasting Player)는 정확한 A/V 동기 방법과 버퍼제어을 통해 비디오 영상에 맞는 음성/오디오 신호를 출력하여 시청자들이 보다 편안하게 스트림 형태로 방송을 시청할 수 있어야 한다. 하지만, 스트림 형태로 전송되는 방송 서비스의 경우 수신 패킷의 시간축에 따른 변이가 심하여, 수신한 패킷을 버퍼링하여 처리한다. 이때, 적절한 처리가 이루어지지 않아서 동영상 재생이 부자연스럽거나 A/V 동기가 맞지 않아 영상과 음성이 별개로 동작하는 경우를 종종 볼 수 있다. 뿐만 아니라, 송신측에서 방송장비가 사용하는 클럭의 정확도와 수신측에서 단말기가 사용하는 클럭의 정확도 차이로 인한 데이터량의 오차를 보상해주어야 적절한 버퍼제어가 가능하다. 본 발명은 위와 같은 문제점을 해결하기 위하여, 스트림 형태로 전송되는 오디오를 포함한 동영상 서비스 수신에 적합한 버퍼제어 방법을 소프트웨어로 구현하였으며, DMB, IPTV등의 수신기에 효과적으 로 적용할 수 있다.
본 발명에 따르면, 시청자는 버퍼의 적절한 제어 및 A/V 동기 방법이 적용되어 자연스러운 비디오 영상과 일치하여 음성/오디오가 재생되는 DMB 서비스를 제공받을 수 있다.
DMB, 버퍼링, 렌더링, 파싱
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital broadcasting viewing terminal and a buffer control method of the terminal. The present invention relates to audio transmitted in a stream form such as digital multimedia broadcasting (eg, Digital Multimedia Broadcasting, ISDB-T, DVH-H, etc.) or Internet multimedia broadcasting, such as IPTV. When a fluctuation of an input stream occurs in a terminal receiving a video service including a digital broadcasting watching terminal and a buffer control method of the terminal to control the buffer to be a continuous flat video and audio output using the buffer will be.
Digital Broadcasting Player should output audio / audio signal suitable for video image through accurate A / V synchronization method and buffer control so that viewers can more conveniently watch broadcasting in stream form. However, in the case of a broadcast service transmitted in the form of a stream, variations in the time axis of the received packet are severe, and the received packet is buffered and processed. At this time, it is often seen that video and audio are operated separately due to unnatural video playback or A / V synchronization that is not properly performed. In addition, proper buffer control is possible only by compensating for an error in the amount of data due to the difference between the accuracy of the clock used by the broadcast equipment on the transmitting side and the clock used by the terminal on the receiving side. In order to solve the above problems, the present invention implements a buffer control method suitable for receiving a video service including audio transmitted in a stream form in software, and can be effectively applied to a receiver such as a DMB or an IPTV.
According to the present invention, a viewer can be provided with a DMB service in which audio / audio is reproduced in conformity with a natural video image by applying a proper control of a buffer and an A / V synchronization method.
DMB, Buffering, Rendering, Parsing
Description
본 발명은 디지털 방송 시청 단말기 및 그 단말기의 버퍼제어 방법에 관한 것으로서, 자연스런 영상 재생을 위하여 버퍼를 제어하고, 또한 영상 재생의 지연을 최소화하여 영상이 빨리 출력이 될 수 있도록 버퍼링을 최소화하는 디지털 방송 시청 단말기 및 그 단말기의 버퍼제어 방법에 관한 것이다.The present invention relates to a digital broadcasting viewing terminal and a buffer control method of the terminal. The present invention relates to a digital broadcasting terminal for controlling a buffer for natural video reproduction and minimizing buffering so that an image can be output quickly by minimizing a delay of video reproduction. A viewer terminal and a buffer control method for the terminal.
스트림형태로 전송되는 동영상 서비스는 방송(예: Digital Multimedia Broadcasting, ISDB-T, DVH-H등) 혹은 IPTV가 대표적이다. 이와 같이 스트림형태로 전송되는 오디오를 포함한 동영상 서비스는, 전송 매체를 통하여 효과적으로 전송하기 위하여 송신측에서는 음향과 영상을 MPEG(Moving Picture Experts Group: 이하’MPEG'이라 한다)-4 규격으로 압축한 후, 전송에 적합하도록 MPEG-2 TS(Transport Stream) 형태로 포맷팅하여 무선 채널을 통하거나 인터넷을 통하여 전송한다. 수신측에서는 방송인 경우에 모뎀을 통한 역변조 과정을 거쳐 MPEG-2 TS(Transport Stream) 데이터를 추출하거나, 인터넷을 통하여 패킷화되어 보내진 MPEG-2 TS 스트림을 수신하면, MPEG-2 TS parser에서 비디오 및 오디오 스트림신호 로 분리해 내고, 디코더에서 MPEG-4로 압축된 동영상과 오디오의 압축을 풀어서 플레이어를 사용하여 재생하게 된다. 이때, 여러 기능 블록간의 데이터 연동을 위해서 버퍼링이 필요하며, 버퍼의 적절한 제어에 따라 재생되는 동영상의 품질이 좌우된다.Video services transmitted in the form of a stream are typically broadcast (eg, Digital Multimedia Broadcasting, ISDB-T, DVH-H, etc.) or IPTV. In this way, a video service including audio transmitted in a stream form compresses sound and video in MPEG-4 (Moving Picture Experts Group) (MPEG) -4 standard in order to transmit effectively through a transmission medium. It is formatted in the form of MPEG-2 TS (Transport Stream) so as to be suitable for transmission. In case of a broadcast, the MPEG-2 TS parser extracts MPEG-2 TS (Transport Stream) data through the inverse modulation through a modem or receives a packetized MPEG-2 TS stream through the Internet. It is separated into an audio stream signal, and the decoder decompresses MPEG-4 compressed video and audio for playback using a player. In this case, buffering is required for data interworking among the various functional blocks, and the quality of the reproduced video depends on proper control of the buffer.
종래의 디지털 방송 시청 단말기는 방송 서비스를 시청하다 보면, 처음 혹은 일정시간 지나면 A/V동기가 맞지 않고 재생되거나, 일부 제품에서는 상당한 시간(수분)이 지나야 보정이 되는 것도 있고, 일부 제품에서는 전혀 보정이 되지 않고 계속 재생되는 등의 문제점이 있다. 또한, 적절한 버퍼제어가 이루어지지 않아 출력까지 시간이 오래 걸리거나, 버퍼링의 부족으로 인해 자연스런 영상을 출력하지 못하는 문제점이 있다.In the conventional digital broadcasting viewing terminal, when watching a broadcasting service, the A / V synchronization is not played after the first time or a certain time, or in some products, it may be corrected after a considerable time (a few minutes). There is a problem such that the playback continues without being performed. In addition, there is a problem in that it takes a long time until the output because the proper buffer control is not made, or the natural image cannot be output due to the lack of buffering.
본 발명은 상기한 바와 같은 종래기술의 문제점을 개선하기 위해 제안된 것으로서, 멀티미디어 방송수신 기능을 가지는 디지털 방송 시청 단말기에서 자연스런 영상 재생을 위해 버퍼를 제어하고, 또한 영상 재생 시 지연을 최소화하여 영상이 빨리 출력이 될 수 있도록 버퍼링을 최소화하는 것을 목적으로 한다.The present invention is proposed to improve the problems of the prior art as described above, in the digital broadcasting terminal having a multimedia broadcasting receiving function to control the buffer for the natural video playback, and also to minimize the delay during video playback The goal is to minimize the buffering so that the output is faster.
또한, 본 발명은 멀티미디어 방송수신 기능을 가지는 디지털 방송 시청 단말기에서 비디오 영상 및 음성/오디오 신호가 일치하도록 재생하는 것을 목적으로 한다.In addition, an object of the present invention is to reproduce the video image and the audio / audio signal in the digital broadcasting viewing terminal having a multimedia broadcasting reception function.
상기의 목적을 달성하기 위하여, 본 발명의 일례에 따른 디지털 방송 시청 단말기는 MPEG-2 TS를 파싱(Parsing)하고, MPEG-4의 SL(Sync Layer)단을 이용하여 상기 MPEG-2 TS에 대한 부호화(Encode)된 BSAC ES, H.264 ES(Elementary Stream)를 구성하는 TS 파서 스레드(Transport Stream Parser Thread), BSAC ES를 복호화(Decode)하여 압축된 오디오 데이터를 복원하는 DSP(BSAC) 코덱부, H.264 ES를 복호화하여 압축된 비디오 데이터를 복원하는 DSP(H.264) 코덱부, 오디오 데이터를 입력된 순서대로 저장하는 오디오 링 버퍼(Audio Ring Buffer), 비디오 데이터를 입력된 순서대로 저장하는 비디오 링 버퍼(Video Ring Buffer), 오디오 링 버퍼에 저장된 오디오 프레임을 입력된 순서대로 재생하는 오디오 콜백(Call Back)부, 및 오디오 링 버퍼에 저장된 오디오 데이터 및 비디오 링 버퍼에 저장된 비디오 데이 터의 CTS 값을 이용하여 오디오 데이터 및 비디오 데이터의 싱크(Synchronization)를 일치시켜 재생하는 비디오 렌더 스레드(Video Render Thread)를 포함한다. In order to achieve the above object, the digital broadcasting viewing terminal according to an embodiment of the present invention parses the MPEG-2 TS, and uses the SL (Sync Layer) stage of the MPEG-4 for the MPEG-2 TS. The TSAC parser thread constituting the encoded BSAC ES, the H.264 ES (Elementary Stream), and the DSP (BSAC) codec unit for decoding the BSAC ES and restoring the compressed audio data. DSP (H.264) codec unit for decoding H.264 ES and restoring compressed video data, Audio Ring Buffer for storing audio data in input order, and storing video data in input order A video ring buffer to play audio frames stored in the audio ring buffer in the input order, and audio data stored in the audio ring buffer and video data stored in the video ring buffer. CTS value And a video render thread that synchronizes and reproduces the synchronization of audio data and video data.
본 발명에 따르면, 오디오 데이터를 DSP(BSAC) 코덱부에서 입력된 순서대로 저장하도록 오디오 링 버퍼를 제어하는 오디오(BSAC) ACK 스레드 및 비디오 데이터를 DSP(H.264) 코덱부에서 입력된 순서대로 저장하도록 비디오 링 버퍼를 제어하는 비디오(H.264) ACK 스레드를 더 포함한다.According to the present invention, an audio (BSAC) ACK thread for controlling an audio ring buffer to store audio data in the order input from the DSP (BSAC) codec unit and video data in the order input from the DSP (H.264) codec unit. And a video (H.264) ACK thread to control the video ring buffer to store.
여기서, 상기 TS 파서 스레드는, MPEG-4의 SL(Sync Layer)단을 이용하여 MPEG-2 TS(Transport Stream)의 PAT(Program Association Table), ADT(Adaptation Field), PMT(Program Map Table) 및 PES(Packetized Elementary Stream)를 파싱(Parsing)한다.The TS parser thread may include a program association table (PAT), an adaptation field (ADT), a program map table (PMT), and the like of an MPEG-2 TS (Transport Stream) using a SL layer of MPEG-4. Parse a packetized elementary stream (PES).
본 발명의 다른 일례에 따른 본 발명의 디지털 방송 시청 단말기의 버퍼제어 방법은 DSP(BSAC) 코덱부에서 복호화된 오디오 프레임을 수신하여 오디오 링 버퍼에 저장하는 (a)단계, 시간 기록 시점에 오디오 링 버퍼의 Full 상태 여부를 확인 (b)단계, 오디오 링 버퍼가 꽉찬 상태(Full)인 경우 기존에 저장된 오디오 프레임 중 가장 오래된 오디오 프레임을 적어도 1프레임 이상 삭제하는 (c)단계, 오디오 링 버퍼가 빈 상태(Empty)인 경우 오디오 콜백(audio callback)의 발생 시점에 오디오 링 버퍼가 꽉찬 상태인지의 여부를 확인 (d)단계, 및 상기 (d)단계에서 오디오 링 버퍼가 꽉찬 상태인 경우 상기 오디오 프레임과 비디오 링 버퍼로부터 입력된 비디오 프레임의 싱크(Sync)를 조정하는 (e)단계를 포함한다.In a buffer control method of a digital broadcasting viewing terminal according to another embodiment of the present invention, (a) receiving an audio frame decoded by a DSP (BSAC) codec unit and storing the decoded audio frame in an audio ring buffer; (B) checking whether the buffer is full or not, if the audio ring buffer is full, deleting (c) at least one frame of the oldest audio frame among the previously stored audio frames, and the audio ring buffer is empty. In the case of the state (Empty), it is determined whether the audio ring buffer is full at the time when the audio callback occurs, and if the audio ring buffer is full in the step (d), the audio frame And (e) adjusting a sync of a video frame input from the video ring buffer.
(d)단계에서 확인한 결과, 오디오 링 버퍼가 빈 상태(Empty)인 경우 오디오 링 버퍼에 저장된 오디오 프레임의 데이터 값을 적어도 1프레임 이상 채워 넣기(stuffing)하는 단계를 더 포함한다.As a result of the checking in step (d), when the audio ring buffer is empty, the method may further include filling at least one frame of data values of the audio frames stored in the audio ring buffer.
(e)단계는 비디오 링 버퍼의 Empty 상태 여부를 확인하는 단계를 포함한다.Step (e) includes checking whether the video ring buffer is empty.
본 발명에 따르면, (e)단계는 상기 비디오 링 버퍼가 빈 상태(Empty)인 경우 오디오 프레임의 데이터 값을 적어도 1프레임 이상 채워 넣기하는 단계를 포함한다.According to the present invention, step (e) includes filling the data value of the audio frame with at least one frame when the video ring buffer is empty.
또한, (e)단계는 비디오 링 버퍼가 꽉찬 상태(Full)인 경우 시간 기록 시점에 오디오 링 버퍼가 꽉찬 상태(Full)인지의 여부를 확인하는 단계를 포함한다.In addition, step (e) includes checking whether the audio ring buffer is full at the time of recording a time when the video ring buffer is full.
본 발명에 따르면 멀티미디어 방송수신 기능을 가지는 디지털 방송 시청 단말기에서 자연스런 영상 재생을 위해 버퍼를 제어하고, 또한 영상 재생 시 지연을 최소화하여 영상이 빨리 출력이 될 수 있도록 버퍼링을 최소화하는 효과가 있다.According to the present invention, the digital broadcasting viewing terminal having a multimedia broadcasting reception function controls the buffer for natural video reproduction, and minimizes the buffering so that the video can be output quickly by minimizing the delay during video reproduction.
또한, 본 발명에 따르면 멀티미디어 방송수신 기능을 가지는 디지털 방송 시청 단말기에서 비디오 영상 및 음성/오디오 신호가 일치하도록 재생하는 효과가 있다.In addition, according to the present invention, there is an effect of reproducing a video image and an audio / audio signal in a digital broadcasting viewing terminal having a multimedia broadcasting reception function.
이하 첨부된 도면을 참조하여 본 발명의 일례에 따른 디지털 방송 시청 단말기 및 그 단말기의 버퍼제어 방법을 상세히 설명한다.Hereinafter, a digital broadcast viewing terminal and a buffer control method of the terminal according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
본 발명의 바람직한 일례에 따른 방송 시청 단말기는 방송 신호 수신을 위한 방송 수신부, 데이터의 버퍼링을 제어하기 위한 DVP 처리부를 포함한다. 여기서, 방송 수신부는 TV. IPTV등에 따라 달라질 수 있다. 또한 본 발명의 초점이 TS 스트림을 어떻게 처리하는지의 여부가 관건이므로, 방송 수신부에 대한 자세한 설명은 생략하고, 이후 신호를 수신했다는 가정하에 본 발명의 구성을 설명한다.A broadcast viewing terminal according to a preferred embodiment of the present invention includes a broadcast receiver for receiving broadcast signals and a DVP processor for controlling buffering of data. Here, the broadcast receiver is a TV. It may vary depending on IPTV. In addition, since the focus of the present invention is how to process the TS stream, a detailed description of the broadcast receiver is omitted, and the configuration of the present invention will be described on the assumption that a signal is received later.
수신된 방송 데이터를 시간축에 따른 프레임수의 변이(Fluctuation)을 분석해 보면, 방송사마다 특정 평균값을 중심으로 심하게 변화하는 것을 관찰할 수 있다. 시청 단말기는 이러한 점을 흡수하면서 연속적이고, 자연스러운 동영상 재생을 위해 적절한 버퍼링을 필요로 한다. 버퍼의 크기를 최악의 경우 변이(Fluctuation) 보다 크게 할 수도 있지만, 이 경우 버퍼의 크기에 비례하여 지연이 증가하고, 또한 수신된 신호가 재생되는데 까지 걸리는 시간이 길어지는 문제점이 있다. 또한, 적절한 버퍼 크기를 할당하더라도 버퍼링이 적절히 이루어지지 않는 경우 데이터의 부족으로 인한 빈(Empty)상태 혹은 버퍼가 차서 저장할 수 없는 꽉찬(Full)상태가 발생하는 문제점이 있다.Analyzing the fluctuations in the number of frames along the time axis of the received broadcast data, it can be observed that the broadcasters vary greatly around a specific average value. The viewing terminal absorbs this and needs proper buffering for continuous, natural video playback. Although the size of the buffer may be larger than the fluctuation in the worst case, the delay increases in proportion to the size of the buffer, and there is a problem in that it takes a long time for the received signal to be reproduced. In addition, even if an appropriate buffer size is allocated, if the buffering is not properly performed, there is a problem in that an empty state due to lack of data or a full state in which the buffer cannot be filled can occur.
따라서, 본 발명에서는 방송사마다 다른 입력 스트림의 변이(Fluctuation)의 크기에 따라 능동적으로 버퍼링이 되도록 데이터의 크기를 적절히 제어하여 상기의 문제점이 발생하지 않고, 또한 지연을 최소할 수 있는 새로운 방식의 디지털 방송 시청 단말기를 제안한다. Accordingly, in the present invention, a new type of digital system capable of appropriately controlling the size of data to be actively buffered according to the size of fluctuation of input streams different for each broadcaster does not occur and minimizes the delay. Propose a broadcast viewing terminal.
또한, 송신측에서 방송장비가 사용하는 클럭의 정확도와 수신측에서 단말기가 사용하는 클럭의 정확도의 차이로 인한 데이터양의 오차를 보상해 주어야만 적절한 버퍼 제어가 가능하다. 따라서, 본 발명에 따른 디지털 방송 시청 단말기는 이러한 클럭의 정확도를 위해 버퍼를 제어한다. In addition, proper buffer control is possible only by compensating for an error in the amount of data due to a difference between the accuracy of the clock used by the broadcasting equipment on the transmitting side and the accuracy of the clock used by the terminal on the receiving side. Therefore, the digital broadcasting viewing terminal according to the present invention controls the buffer for the accuracy of such a clock.
도 1은 디지털 방송 시청 단말기에 입력되는 방송 스트림의 데이터 프레임 수를 시간축에 따라 표시하여 측정한 결과를 도시한 도면이다.FIG. 1 is a diagram illustrating a result of measuring and displaying the number of data frames of a broadcast stream input to a digital broadcast viewing terminal along a time axis.
보다 구체적으로, 도 1은 디지털 방송 시청 단말기에 입력되는 스트림의 데이터 프레임 수를 시간축에 따라 표시하여 변이(Fluctuation)가 발생하는 형태와 렌더링 버퍼를 측정한 결과를 도시한다.More specifically, FIG. 1 illustrates a form in which fluctuation occurs and a result of measuring a rendering buffer by displaying the number of data frames of a stream input to a digital broadcasting terminal according to a time axis.
도 1에 도시된 바와 같이, 방송사마다 변이(Fluctuation)의 발생 정도는 서로 다르게 측정된다. 즉, 어떤 방송사는 변이의 발생 정도(출렁임)가 적은 관계로, 적은양의 버퍼링(100)으로도 충분히 보상할 수 있는 반면, 일부 방송사의 경우 변이의 발생 정도가 높아 상당한 양의 버퍼링을 필요로 함을 알 수 있다. 따라서, 디지털 방송 시청 단말기는 방송사별 수신 특성에 따라 능동적으로 버퍼를 제어하여 적절한 변이의 보상을 통해 DMB 재생 지연을 최소화하고, 또한 변이의 발생 정도(출렁임)를 흡수할 수 있어야 한다. As shown in FIG. 1, the degree of occurrence of variation (Fluctuation) is measured differently for each broadcaster. That is, some broadcasters are able to compensate sufficiently with a small amount of buffering 100 due to the low degree of variation, while some broadcasters require a considerable amount of buffering due to the high degree of mutation. It can be seen. Accordingly, the digital broadcasting viewing terminal should be able to actively control the buffer according to the reception characteristics of each broadcasting company to minimize the DMB reproduction delay through the compensation of the appropriate variation, and to absorb the degree of occurrence of the variation.
도 2는 본 발명의 일례에 따른 디지털 방송 시청 단말기를 도시한 블록도이다.2 is a block diagram illustrating a digital broadcast viewing terminal according to an example of the present invention.
본 발명에 따른, DVP 처리부(200)는 디지털 방송 시청 단말기의 모든 기능을 수행하는 블록이다. TS 파서 스레드(210)는 188바이트 단위로 패킷화된 TS 스트림에서 Audio ES, Video ES단위로 분리하여 어셈블한다. DSP(BSAC) 코덱부(221) 및 DSP(H.264) 코덱부(231)는 압축된 신호를 복원한다. 디코딩된 스트림을 저장하기 위하여 오디오(BSAC) ACK 스레드(222)는 내부에 오디오 렌더 버퍼를 포함하고, 비디오(H.264) ACK 스레드(232)는 비디오 렌더 버퍼를 포함한다. 또한, 출력부(300) 를 통해 출력하는 오디오 콜백부(224) 및 비디오 렌더 스레드(234)를 포함한다.According to the present invention, the
도 2에 도시된 바와 같이, 본 발명에 따른 디지털 방송 시청 단말기(1000)는 방송 수신부(100), DVP 처리부(200) 및 출력부(300)를 포함한다.As shown in FIG. 2, the digital
방송 수신부(100)는 방송 스트림 신호를 수신한다.The
DVP 처리부(200)는 방송 수신부(100)로부터 입력된 방송 스트림 신호를 처리한다. 이를 위하여, DVP 처리부(200)는 TS 파서 스레드(Transport Stream Parser Thread)(210), BSAC 스트림 처리부(220) 및 H.264 스트림 처리부(230)를 포함한다.The
TS 파서 스레드(Parser Thread)(210)는 MPEG-2 TS 스트림을 파싱한다. 즉, PAT(Program Association Table), ADT(Adaptation Field), PMT(Program Map Table) 및 PES(Packetized Elementary Stream)를 파싱(Parsing)하고, MPEG-4의 SL(Sync Layer)단을 통해 상기 MPEG-2 TS에 대한 부호화(Encode)된 BSAC ES, H.264 ES(Elementary Stream)을 구성한다.The TS Parser
BSAC 스트림 처리부(220)는 TS 파서 스레드(210)로부터 입력된 BSAC ES의 싱크를 제어한다. 이를 위하여, BSAC 스트림 처리부(220)는 DSP(BSAC) 코덱부(221), 오디오(BSAC) ACK 스레드(222), 오디오 링 버퍼(Audio Ring Buffer)(223) 및 오디오 콜백부(Audio Callback)(224)를 포함한다.The BSAC
DSP(BSAC) 코덱부(221)는 TS 파서 스레드(210)로부터 입력된 BSAC ES를 복호화(Decode)하여 압축된 오디오 데이터를 복원한다.The DSP (BSAC)
오디오(BSAC) ACK 스레드(222)는 DSP(BSAC) 코덱부(221)로부터 입력되는 상기 BSAC ES를 오디오 링 버퍼(223)에 순서대로 저장한다. The audio (BSAC)
오디오 링 버퍼(Audio Ring Buffer)(223)는 오디오 프레임을 오디오(BSAC) ACK 스레드(222)로부터 입력된 순서대로 저장한다.The
오디오 콜백부(Audio Callback)(224)는 오디오 링 버퍼(223)에 저장된 오디오 프레임을 입력된 순서대로 출력부(300)를 통해 재생한다.The
H.264 스트림 처리부(230)는 TS 파서 스레드(210)로부터 입력된 H.264 ES의 싱크를 제어한다. 이를 위하여, 이를 위하여, H.264 스트림 처리부(230)는 DSP(H.264) 코덱부(231), 비디오(H.264) ACK 스레드(232), 비디오 링 버퍼(Video Ring Buffer)(233) 및 비디오 렌더 스레드(Video Render Thread)(234)를 포함한다.The H.264
DSP(H.264) 코덱부(231)는 TS 파서 스레드(210)로부터 입력된 H.264 ES를 복호화하여 압축된 비디오 데이터를 복원한다.The DSP (H.264)
비디오(H.264) ACK 스레드(232)는 DSP(H.264) 코덱부(231)로부터 입력되는 상기 H.264 ES를 비디오 링 버퍼(233)에 순서대로 저장한다. 복호화하여 비디오 프레임을 복원한다.The video (H.264)
비디오 링 버퍼(Video Ring Buffer)(233)는 비디오 프레임을 비디오(H.264) ACK 스레드(232)로부터 입력된 순서대로 저장한다.The
비디오 렌더 스레드(Video Render Thread)(234)는 오디오 링 버퍼(223) 및 비디오 링 버퍼(233)에 저장된 오디오 및 비디오 프레임의 CTS 값을 이용하여 상호 간의 싱크(Synchronization)를 일치시켜 재생한다. 즉, 오디오 콜백부(224)에서 재생되는 오디오 프레임의 싱크(Sync)에 해당하는 비디오 프레임을 비디오 링 버퍼(233)로부터 수신하고, 상기 오디오 프레임과 상기 비디오 프레임을 렌더 링(Rendering)하여 싱크를 조정한다. The video render
따라서, 스트림 형태로 수신되는 방송을 시청하는 경우, 버퍼링(Buffering)으로 인한 오디오와 비디오의 싱크(Sync) 불일치 현상 및 방송이 지연되는 현상을 최소화할 수 있다.Therefore, when watching a broadcast received in the form of a stream, it is possible to minimize the phenomenon of a synchronization mismatch between the audio and the video and the delay of the broadcast due to buffering.
도 3은 본 발명의 일례에 따른 디지털 방송 시청 단말기가 버퍼를 제어하여 싱크 조정된 방송 스트림을 수신하는 과정을 도시한 흐름도이다.FIG. 3 is a flowchart illustrating a process of receiving a tuned broadcast stream by controlling a buffer by a digital broadcasting viewing terminal according to an exemplary embodiment of the present invention.
방송 시청 단말기는 초기에 1 프레임의 비디오 데이터가 입력될 때까지 비디오는 재생되지 않는다. 또한, 오디오 신호의 재생은 시작하되 적절하게 초기 버퍼링이 되도록 5 프레임 이상의 오디오 데이터를 저장한 후 동작을 시작한다.The broadcast viewing terminal initially does not reproduce video until one frame of video data is input. In addition, the reproduction of the audio signal starts but the operation starts after storing the audio data of 5 frames or more so as to properly buffer the initial stage.
이와 같은 방송 시청 단말기의 초기 동작은 비디오 데이터의 손실 등에 의해 정상적이고, 연속적인 수신이 되지 않다가 다시 정상적인 신호 수신이 시작될 때에도 동일하게 적용된다. This initial operation of the broadcast viewing terminal is equally applicable to normal signal reception due to loss of video data and when normal signal reception is started again.
버퍼 제어를 위해 두가지 기준이되는 시간이 있다. 첫번째는 오디오 신호 출력의 기준이 되는 오디오 콜백(Audio Callback)이고, 두번째는 비디오 신호 출력의 기준이 되는 A/V동기 제어절차에 따흔 시간이다. 오디오 콜백은 샘플링 주파수에 따라 초기 설정되며, A/V동기는 다음의 수학식 1을 통해 구해진 시간을 이용하여 맞춘다. 우선 CTS(Composition Time Stamp)를 ISO/IEC 14496-1 2001(E) 표준을 참조하여 구한다.There are two reference times for buffer control. The first is Audio Callback, which is the standard of audio signal output, and the second is the time required for A / V synchronous control procedure, which is the standard of video signal output. The audio callback is initially set according to the sampling frequency, and the A / V sync is set using the time obtained through Equation 1 below. First, a composition time stamp (CTS) is obtained by referring to the ISO / IEC 14496-1 2001 (E) standard.
[수학식 1][Equation 1]
CTS=CompositionTimeStamp*1000/SL.timeStampResolutionCTS = CompositionTimeStamp * 1000 / SL.timeStampResolution
여기서, SL.timeStampResolution은 초단파 디지털 라디오 방송(지상파 DMB) 비디오 송수신 정합표준에서 90,000으로 고정된다.Here, SL.timeStampResolution is fixed to 90,000 in the microwave digital radio broadcasting (terrestrial DMB) video transmission and reception matching standard.
오디오 콜백부(224)가 동작하면서 오디오 링 버퍼(223)에 저장된 오디오 프레임을 Audio CTS에 맞추어 가지고 온다. 비디오 신호 출력은 오디오 신호 출력 시 해당 오디오와 관련되는 비디오 신호를 Video CTS에 해당하는 프레임을 비디오 링 버퍼(233)에서 찾아 출력하고, 일치하는 오디오 프레임이 없는 경우 이러한 과정을 스킵(Skip)한 후 버퍼를 제어한다. The
이러한 내용을 참조하여 본 발명의 일례에 따른 디지털 방송 시청 단말기가 버퍼를 제어하여 싱크 조정된 방송 스트림을 수신하는 과정을 설명한다.Referring to the above description, a process of receiving a tuned broadcast stream by controlling a buffer by a digital broadcasting viewing terminal according to an exemplary embodiment of the present invention will be described.
오디오(BSAC) ACK 스레드(222)는 복호화된 오디오 프레임을 DSP(BSAC) 코덱부(221)로부터 수신하여 오디오 링 버퍼(223)에 저장하고, 시간 기록 시점에 오디오 링 버퍼(223)의 Full 상태 여부를 확인한다(S301).The audio (BSAC)
이때, 오디오 링 버퍼(223)가 꽉찬 상태(Full)인 경우 기존에 저장된 오디오 프레임 중 가장 오래된 오디오 프레임을 적어도 1프레임 이상 적절한 크기로 삭제한다(S302). 다른 일례로서, 신규 입력된 오디오 프레임의 크기에 상응하여 기존에 저장된 오디오 프레임 중 가장 오래된 오디오 프레임을 삭제한다.At this time, when the
이렇게 함으로써, 오디오 링 버퍼(223)에 저장된 오디오 프레임에 대한 버퍼링(Buffering)의 평균값은 상기 삭제된 오디오 프레임의 크기만큼 중앙으로 이동된다. 이때, 오디오 프레임이 버퍼링의 평균값이 차(Full)있는 영역에 위치하는 경우, 가장 오래된 오디오 프레임을 삭제하는 과정을 반복적으로 수행한다. 이렇게 함으로써, 오디오 프레임은 꽉찬(Full) 상태에서 멀어지는 위치, 즉 중앙으로 이동한다.By doing so, the average value of buffering for the audio frame stored in the
오디오 콜백(audio callback)의 발생 시점에 오디오 링 버퍼(223)의 꽉찬 상태(Full) 여부를 확인한다(S303).It is checked whether the
여기서, 오디오 링 버퍼(223)가 꽉찬 상태(Full)인 경우 오디오 프레임과 비디오 링 버퍼(233)로부터 입력된 비디오 프레임에 대한 싱크(Sync)동작을 수행한다. 상기 싱크(Sync)동작 결과에 따라 비디오 프레임을 검색한다(S304). 이때, 비디오 링 버퍼(233)의 빈 상태(Empty) 여부를 확인한다(S305).Here, when the
이와 달리, 오디오 콜백이 발생한 시점에 오디오 링 버퍼(223)가 빈 상태(Empty)인 경우, 오디오 프레임을 묶음 처리하고, 1 프레임 이상의 데이터를 채워넣기(Stuffing)한다. 이렇게하면, 채워넣기한 프레임의 크기만큼 버퍼 상태가 증가하게되어 버퍼링의 상태가 빈(Empty)상태에서 중앙으로 이동하는 효과를 나타내게 된다. 이때, 버퍼링의 평균값이 빈(Empty)상태에 근접한 위치에서 자주 발생하는 경우, 상기한 바와 같이, 채워넣기하여 버퍼링의 평균값이 중앙으로 이동하도록 한다.On the other hand, when the
비디오 링 버퍼(233)의 상태를 확인(S305)한 결과, 빈 상태(Empty)인 경우 오디오 데이터의 저장이 충분하지 못한 것으로 판단하여 오디오 링 버퍼(223)에 저장된 오디오 프레임의 데이터 값을 적어도 1프레임 이상 채워 넣기한다(S306). 아울러, 오디오 링 버퍼(223)의 크기를 1프레임 이상 증가시켜 충분한 데이터가 버퍼링되도록 공간을 늘려준다.As a result of checking the state of the video ring buffer 233 (S305), when it is empty, it is determined that the storage of the audio data is not sufficient, and at least one data value of the audio frame stored in the
이와 달리, 오디오 링 버퍼(223)가 꽉찬 상태(Full)인 경우 비디오 링 버퍼(233)는 시간 기록 시점에 오디오 링 버퍼(223)의 꽉찬 상태(Full) 여부를 확인한다(S301).On the contrary, when the
따라서, 본 발명은 A/V동기 논리에 따라 오디오 콜백 신호에 의해 오디오 신호를 재생하는 경우 비디오 링 버퍼(233)의 상태를 확인하여 재생에 필요한 비디오 프레임이 없어 빈 상태(Empty)가 발생하는 경우, 오디오 링 버퍼(223)의 상태를 조절하여 상대적으로 비디오 데이터가 버퍼링이 되도록 제어한다.Therefore, when the audio signal is reproduced by the audio callback signal according to the A / V synchronization logic, the present invention checks the state of the
즉. 오디오 링 버퍼(223)를 1프레임 이상 채워 넣기(stuffing)함으로써, 비디오 링 버퍼(233)가 비디오 데이터를 저장할 수 있는 시간을 제공한다. 이러한 과정을 반복수행함으로써, 버퍼링이 적절한 상태가 되도록 제어한다. In other words. By filling the
또한, 본 발명에 따르면, 연속적으로 버퍼링의 크기가 특정량 이상이면 1프레임 이상의 데이터를 삭제함으로써 버퍼링의 양을 감소시킴으로써 버퍼링으로 인한 지연을 최소화할 수 있다. 따라서, 버퍼링의 평균값이 빈(Empty)상태가 발생하지 않으면서 최소한의 데이터가 버퍼에 저장될 수 있도록 최적의 버퍼상태를 유지한다.In addition, according to the present invention, if the size of the buffering is continuously more than a certain amount, it is possible to minimize the delay due to the buffering by reducing the amount of buffering by deleting data of one or more frames. Therefore, the average value of the buffering maintains the optimal buffer state so that the minimum data can be stored in the buffer without an empty state.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. In the present invention as described above has been described by the specific embodiments, such as specific components and limited embodiments and drawings, but this is provided to help a more general understanding of the present invention, the present invention is not limited to the above embodiments. For those skilled in the art, various modifications and variations are possible from such description.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and all of the equivalents or equivalents of the claims as well as the claims to be described later will belong to the scope of the present invention. .
도 1은 디지털 방송 시청 단말기에 입력되는 방송 스트림의 데이터 프레임 수를 시간축에 따라 표시하여 측정한 결과를 도시한 도면이다.FIG. 1 is a diagram illustrating a result of measuring and displaying the number of data frames of a broadcast stream input to a digital broadcast viewing terminal along a time axis.
도 2는 본 발명의 일례에 따른 디지털 방송 시청 단말기를 도시한 블록도이다.2 is a block diagram illustrating a digital broadcast viewing terminal according to an example of the present invention.
도 3은 본 발명의 일례에 따른 디지털 방송 시청 단말기가 버퍼를 제어하여 싱크 조정된 방송 스트림을 수신하는 과정을 도시한 흐름도이다.FIG. 3 is a flowchart illustrating a process of receiving a tuned broadcast stream by controlling a buffer by a digital broadcasting viewing terminal according to an exemplary embodiment of the present invention.
<도면의 주요 부분에 관한 부호의 설명><Explanation of symbols on main parts of the drawings>
210 : TS 파서 스레드, 231 : DSP(H.264) 코덱부,210: TS parser thread, 231: DSP (H.264) codec unit,
221 : DSP(BSAC) 코덱부, 232 : 비디오(H.264) ACK 스레드,221: DSP (BSAC) codec unit, 232: video (H.264) ACK thread,
222 : 오디오(BSAC) ACK 스레드, 233 : 비디오 링 버퍼,222: audio (BSAC) ACK thread, 233: video ring buffer,
223 : 오디오 링 버퍼, 234 : 비디오 렌더 스레드,223: audio ring buffer, 234: video render thread,
224 : 오디오 콜백부,224: audio callback,
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080117405A KR100978506B1 (en) | 2008-11-25 | 2008-11-25 | Digital video player and the method for controlling buffer the player |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080117405A KR100978506B1 (en) | 2008-11-25 | 2008-11-25 | Digital video player and the method for controlling buffer the player |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100058845A KR20100058845A (en) | 2010-06-04 |
KR100978506B1 true KR100978506B1 (en) | 2010-08-27 |
Family
ID=42360235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080117405A KR100978506B1 (en) | 2008-11-25 | 2008-11-25 | Digital video player and the method for controlling buffer the player |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100978506B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080089721A (en) * | 2007-04-02 | 2008-10-08 | 주식회사 대우일렉트로닉스 | Lip-synchronize method |
-
2008
- 2008-11-25 KR KR1020080117405A patent/KR100978506B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080089721A (en) * | 2007-04-02 | 2008-10-08 | 주식회사 대우일렉트로닉스 | Lip-synchronize method |
Also Published As
Publication number | Publication date |
---|---|
KR20100058845A (en) | 2010-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7656948B2 (en) | Transcoding system and method for maintaining timing parameters before and after performing transcoding process | |
CA2449124C (en) | Splicing of digital video transport streams | |
KR100950867B1 (en) | A method for processing packetized video data, a method fro decoding image data, and a video broadcasting method | |
US8458744B2 (en) | Method for reducing channel change times and synchronizing audio/video content during channel change | |
EP2359569B1 (en) | Encoder and method for generating a stream of data | |
EP2011332B1 (en) | Method for reducing channel change times in a digital video apparatus | |
US9832515B2 (en) | DTS/PTS backward extrapolation for stream transition events | |
US9137477B2 (en) | Fast channel change companion stream solution with bandwidth optimization | |
US8170401B2 (en) | Optimizing ad insertion by removing low information frames | |
CN112369042A (en) | Frame conversion for adaptive streaming alignment | |
KR19990057100A (en) | MPEG decoder and decoding control method | |
US6891547B2 (en) | Multimedia data decoding apparatus and method capable of varying capacity of buffers therein | |
US20050094965A1 (en) | Methods and apparatus to improve the rate control during splice transitions | |
US7502368B2 (en) | Method and apparatus for switching a source of an audiovisual program configured for distribution among user terminals | |
KR100978506B1 (en) | Digital video player and the method for controlling buffer the player | |
US10757473B2 (en) | Digital media splicing system and method | |
KR100998449B1 (en) | Digital multimedia broadcasting receiver and the method for controlling buffer using the receiver | |
US20080123732A1 (en) | Method and system for configuring decoding based on detecting transport stream input rate | |
US20230345078A1 (en) | Media playback method for improving playback response time and related media playback device | |
KR101226329B1 (en) | Method for channel change in Digital Broadcastings | |
JPH11177921A (en) | Digital data edit method and digital data edit device | |
JP3671969B2 (en) | Data multiplexing method and multiple data decoding method | |
KR20070064750A (en) | Receiver and method for receiving digital broadcast |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130730 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140724 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |