[go: up one dir, main page]

KR20140118059A - Method for reproducing contents - Google Patents

Method for reproducing contents Download PDF

Info

Publication number
KR20140118059A
KR20140118059A KR1020130033282A KR20130033282A KR20140118059A KR 20140118059 A KR20140118059 A KR 20140118059A KR 1020130033282 A KR1020130033282 A KR 1020130033282A KR 20130033282 A KR20130033282 A KR 20130033282A KR 20140118059 A KR20140118059 A KR 20140118059A
Authority
KR
South Korea
Prior art keywords
data
subtitle
video
packet
video data
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
KR1020130033282A
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 KR1020130033282A priority Critical patent/KR20140118059A/en
Publication of KR20140118059A publication Critical patent/KR20140118059A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42646Internal components of the client ; Characteristics thereof for reading from or writing on a non-volatile solid state storage medium, e.g. DVD, CD-ROM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명은 콘텐츠 재생 방법에 관한 것이다. 본 발명의 일 실시예에서, 방송 신호를 통해 수신되어 저장 매체에 저장된 콘텐츠의 재생 요청에 따라, 상기 저장 매체로부터 상기 콘텐츠의 데이터를 독출하고, 상기 독출되는 콘텐츠 데이터를 해석하여 비디오 데이터와 서브타이틀 데이터로 분류하는 필터링 동작을 수행하고, 상기 비디오 데이터와 서브타이틀 데이터를 디코딩 하여 출력하는 콘텐츠 재생 방법에 있어서, 상기 서브타이틀 데이터에 출력 시점과 관련된 시간 정보가 없을 때, 상기 저장 매체로부터 상기 콘텐츠 데이터를 독출하기에 앞서 상기 필터링 동작을 먼저 수행하고, 상기 필터링 되는 비디오 데이터와 서브타이틀 데이터를 구분하여 버퍼에 버퍼링 하고, 상기 버퍼링 된 비디오 데이터를 디코딩 하여 출력할 때 상기 버퍼링 된 서브타이틀 데이터 중 소정 양의 서브타이틀 데이터 이후의 서브타이틀 데이터를 디코딩 하여 상기 비디오 데이터와 함께 출력할 수 있다. 따라서, 서브타이틀 데이터에 시간 정보가 없는 상태로 방송으로 전송된 콘텐츠를 기록 매체에 기록한 후 재생하는 경우에도 AV 데이터와 서브타이틀 데이터를 동기하여 재생할 수 있게 된다.The present invention relates to a content playback method. According to an embodiment of the present invention, in response to a reproduction request of a content received via a broadcast signal and stored in a storage medium, data of the content is read from the storage medium, and the content data to be read is interpreted, And a decoding step of decoding the video data and the subtitle data and outputting the decoded video data and the subtitle data, wherein when the subtitle data has no time information related to the output time, The buffering unit divides the filtered video data and the subtitle data into a buffer and buffers the buffered video data. When the buffered video data is decoded and output, a predetermined amount of the buffered subtitle data Subtitle day of It decodes the subtitle data since can be output together with the video data. Therefore, even when the content transmitted in the broadcast state without the time information in the subtitle data is recorded on the recording medium and then reproduced, the AV data and the subtitle data can be reproduced in synchronization with each other.

Description

콘텐츠 재생 방법 {Method for reproducing contents}Method for reproducing contents [0002]

본 발명은 콘텐츠를 재생하는 방법에 관한 것으로, 더욱 상세하게는 서브타이틀에 시간 정보가 없는 상태로 방송되어 매체에 기록된 콘텐츠의 A/V 데이터와 서브타이틀을 동기하기 재생하기 위한 것이다.The present invention relates to a method of reproducing a content, and more particularly to a method of reproducing A / V data and a subtitle of a content broadcasted without a time information in a subtitle and synchronized with a subtitle.

지상파 방송, 위성 방송, 그리고 케이블 방송 등과 같은 여러 유형의 디지털 방송 서비스가 제공되고 있고, 또한 이러한 여러 유형의 방송을 통해 시청할 수 있는 채널이나 콘텐츠가 많아지고, 이러한 디지털 방송을 수신할 수 있는 셋탑 박스나 텔레비전 등과 같은 방송 수신기도 널리 보급되고 있다.Various types of digital broadcasting services such as terrestrial broadcasting, satellite broadcasting, cable broadcasting, and the like are provided, and channels and contents that can be viewed through these various types of broadcasting are increasing, and a set-top box Broadcast receivers such as televisions and the like are becoming popular.

또한, 피브이알(PVR: Personal Video Recording) 기능을 구비한 셋탑 박스도 널리 보급되어 사용자가 원하는 방송 프로그램을 하드 디스크와 같은 대용량의 저장 매체에 녹화하여 원하는 시간에 시청할 수 있게 된다.Also, a set-top box having a PVR (Personal Video Recording) function is widely popularized so that a user can record a desired broadcast program on a large-capacity storage medium such as a hard disk and watch it at a desired time.

방송국은 늘어난 방송 채널을 채우고 콘텐츠의 다양화를 위해 오래된 영화나 방송 프로그램과 같은 아날로그 콘텐츠를 디지털화하여 방송하는데, 영상 데이터와 오디오 데이터는 MPEG-2 표준에 맞게 시간 정보를 포함하도록 인코딩 하여 트랜스포트 패킷(Transport Packet)을 생성하여 전송하지만 자막, 즉 서브타이틀(Subtitle) 데이터는 시간 정보를 삽입하지 않은 상태로 트랜스포트 패킷을 생성하여 전송하는 경우도 있다. 이때 A/V 트랜스포트 패킷과 동기가 맞도록 서브타이틀 트랜스포트 패킷을 A/V 트랜스포트 패킷 사이에 삽입하고 전송 간격이 조절된 상태로 전송함으로써 이를 수신한 방송 수신기가 A/V 데이터와 서브타이틀 데이터를 특별한 작업 없이 동기하여 재생할 수 있도록 한다.The broadcasting station digitizes and broadcasts analog contents such as old movies and broadcasting programs to fill up the increased broadcasting channels and diversify the contents. The video data and the audio data are encoded so as to include time information in accordance with the MPEG-2 standard, (Transport Packet) is generated and transmitted. However, a subtitle, that is, Subtitle data, may be generated by transmitting a transport packet without inserting time information. At this time, a subtitle transport packet is inserted between the A / V transport packets so as to be synchronized with the A / V transport packet, and the transmission interval is adjusted so that the broadcasting receiver receives the A / V data and the subtitle So that data can be reproduced synchronously without any special operation.

하지만, 시간 정보가 서브타이틀 데이터에 삽입되지 않은 상태로 방송되는 콘텐츠를 방송 수신기의 PVR 기능을 통해 하드 디스크에 저장한 후 재생하는 경우, 서브타이틀 데이터와 AV 데이터의 동기를 맞추지 못하는 문제가 발생한다.However, when contents to be broadcast in a state in which time information is not embedded in the subtitle data is stored in the hard disk via the PVR function of the broadcast receiver and then reproduced, there arises a problem that the subtitle data and the AV data can not be synchronized with each other .

따라서, 본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 본 발명의 목적은 서브타이틀 데이터에 시간 정보가 없는 상태로 기록 매체에 기록된 콘텐츠를 AV 데이터와 서브타이틀 데이터를 동기하여 재생하는 방법을 제공하는 데 있다.SUMMARY OF THE INVENTION Accordingly, the present invention has been made to solve the above-mentioned problems occurring in the prior art, and it is an object of the present invention to provide a method and apparatus for reproducing a content recorded on a recording medium without time information in subtitle data, Method.

상기와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 콘텐츠 재생 방법은, 방송 신호를 통해 수신되어 저장 매체에 저장된 콘텐츠의 재생 요청에 따라, 상기 저장 매체로부터 상기 콘텐츠의 데이터 독출하고, 상기 독출되는 콘텐츠 데이터를 해석하여 비디오 데이터와 서브타이틀 데이터로 분류하는 필터링 동작을 수행하고, 상기 비디오 데이터와 서브타이틀 데이터를 디코딩 하여 출력하되, 상기 서브타이틀 데이터에 출력 시점과 관련된 시간 정보가 없을 때, 상기 저장 매체로부터 상기 콘텐츠 데이터를 독출하기에 앞서 상기 필터링 동작을 먼저 수행하고, 상기 필터링 되는 비디오 데이터와 서브타이틀 데이터를 구분하여 버퍼에 버퍼링 하고, 상기 버퍼링 된 비디오 데이터를 디코딩 하여 출력할 때 상기 버퍼링 된 서브타이틀 데이터 중 소정 양의 서브타이틀 데이터 이후의 서브타이틀 데이터를 디코딩 하여 상기 비디오 데이터와 함께 출력하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a method for reproducing content, the method comprising the steps of: reading data of the content from the storage medium upon receipt of a broadcast signal and requesting reproduction of the content stored in the storage medium; And outputting the decoded video data and the subtitle data; and when there is no time information related to the output time in the subtitle data, Wherein the filtering operation is performed prior to reading the content data from the storage medium, the buffered video data and the subtitle data are separated and buffered in a buffer, and when the buffered video data is decoded and output, Of subtitle data Subtitle data after a predetermined amount of subtitle data is decoded and output together with the video data.

일 실시예에서, 상기 버퍼링 된 비디오 데이터 중 가장 먼저 출력될 최초 비디오 데이터가 출력되기 전까지 상기 버퍼링 된 서브타이틀 데이터를 출력하지 않을 수 있다.In one embodiment, the buffered subtitle data may not be output until the first video data to be outputted first among the buffered video data is output.

일 실시예에서, 상기 소정 양은 상기 비디오 데이터와 서브타이틀 데이터의 처리 속도를 고려하여 같은 타이밍에 출력될 비디오 데이터와 서브타이틀 데이터가 상기 방송 신호로 서로 다른 시간에 전송될 때 그 시간 간격에 대응될 수 있다.In one embodiment, the predetermined amount corresponds to the time interval when video data and subtitle data to be output at the same timing are transmitted at different times to the broadcasting signal in consideration of the processing speed of the video data and the subtitle data .

일 실시예에서, 상기 시간 간격은 상기 콘텐츠를 수신하여 저장한 방송 수신기가 상기 콘텐츠에 해당하는 방송 신호를 수신할 때 측정하여 저장하거나 상기 방송 수신기가 제조될 때 비휘발성 메모리에 저장될 수 있다.In one embodiment, the time interval may be measured and stored when a broadcast receiver receiving and storing the content receives a broadcast signal corresponding to the content, or may be stored in a nonvolatile memory when the broadcast receiver is manufactured.

일 실시예에서, 상기 저장 매체에 저장되어 독출되는 콘텐츠 데이터는 트랜스포트 스트림이고, 상기 필터링 동작은 상기 트랜스포트 스트림을 비디오 패킷과 서브타이틀 패킷을 포함하는 패킷 엘리먼트 스트림으로 변환할 수 있다.In one embodiment, the content data stored in and read out from the storage medium is a transport stream, and the filtering operation may convert the transport stream into a packet element stream including a video packet and a subtitle packet.

일 실시예에서, 상기 서브타이틀 데이터의 시간 정보 포함 유무는 상기 서브타이틀 패킷의 헤더를 확인하여 판단하거나 또는 상기 콘텐츠 파일의 헤더에 서브타이틀 데이터에 대한 시간 정보 유무를 가리키는 정보를 통해 판단할 수 있다.In one embodiment, the presence or absence of the time information of the subtitle data may be determined by checking the header of the subtitle packet or by using information indicating the presence or absence of time information on the subtitle data in the header of the content file .

일 실시예에서, 상기 비디오 데이터와 서브타이틀 데이터는 패킷 엘리먼터리 스트림의 패킷을 구성하는 페이로드 단위로 버퍼링 되고 출력될 수 있다.In one embodiment, the video data and the subtitle data may be buffered and output in payload units constituting packets of a packet elementary stream.

일 실시예에서, 상기 소정 양은 상기 서브타이틀 페이로드의 개수로 표현되고 상기 버퍼에 버퍼링 된 전체 서브타이틀 페이로드의 개수보다 작은 값일 수 있다.In an embodiment, the predetermined amount may be a value represented by the number of subtitle payloads and a value smaller than the total number of subtitle payloads buffered in the buffer.

일 실시예에서, 상기 비디오 패킷과 서브타이틀 패킷이 출력되면 상기 출력된 비디오 패킷과 서브타이틀 패킷을 상기 버퍼에서 지울 수 있다.In one embodiment, when the video packet and subtitle packet are output, the output video packet and the subtitle packet may be erased from the buffer.

일 실시예에서, 상기 최초 비디오 데이터와 함께 서브타이틀 데이터가 출력될 때 상기 출력되는 서브타이틀 데이터 이전에 버퍼링 되어 있는, 상기 소정 양의 서브타이틀 데이터를 상기 버퍼에서 지울 수 있다.In one embodiment, the predetermined amount of subtitle data, which is buffered before the output subtitle data when the subtitle data is output together with the original video data, may be erased from the buffer.

일 실시예에서, 상기 콘텐츠를 재생하는 도중 앞으로 빠르게, 뒤로 빠르게, 또는 점프 동작이 요청되면, 상기 버퍼에 저장되어 있는 데이터를 모두 지우고 재생이 요청된 시점의 데이터를 상기 저장 매체로부터 독출하고 필터링, 버퍼링, 디코딩 동작을 수행하되, 상기 버퍼에 버퍼링 된 비디오 데이터 중 가장 먼저 출력될 최초 비디오 데이터를 디코딩 하여 출력할 때 상기 버퍼링 된 서브타이틀 데이터 중 상기 소정 양의 서브타이틀 데이터 이후의 서브타이틀 데이터를 디코딩 하여 상기 최초 비디오 데이터와 함께 출력할 수 있다.In one embodiment, if the fast, fast, or jump operation is requested in the course of playing back the content, all data stored in the buffer is erased, the data at the point in time when the playback is requested is read from the storage medium, And decodes and subtracts the subtitle data after the predetermined amount of subtitle data from the buffered subtitle data when decoding the first video data to be outputted first among the video data buffered in the buffer, And output it together with the initial video data.

일 실시예에서, 상기 재생이 요청된 시점의 데이터는, 상기 콘텐츠가 수신되어 저장될 때 상기 비디오 데이터의 출력 시점을 알리는 시간 정보와 해당 비디오 데이터가 기록되는 위치 정보가 연계되어 저장된 관리 정보를 참조하여 독출될 할 수 있다.In one embodiment, when the content is received and stored, the data at the time when the playback is requested is referred to as management information in which time information indicating the output time of the video data is associated with location information in which the video data is recorded Can be read out.

본 발명의 다른 실시예에 따른 방송 수신기는, 콘텐츠의 방송 신호를 수신하기 위한 방송 수신부; 상기 방송 신호를 통해 수신되는 콘텐츠 데이터를 저장하기 위한 저장부; 상기 콘텐츠 데이터를 해석하여 비디오 데이터와 서브타이틀 데이터의 유형별로 분류하는 필터링 동작을 수행하기 위한 파서; 상기 유형별로 구분된 비디오 데이터와 서브타이틀 데이터를 버퍼링 하기 위한 버퍼 메모리; 상기 버퍼 메모리에 저장되어 있는 비디오 데이터와 서브타이틀 데이터를 디코딩 하여 출력하기 위한 디코더; 및 각 구성 요소를 제어하여 콘텐츠를 재생하기 위한 제어부를 포함하여 구성되고, 상기 제어부는, 상기 저장부에 저장된 콘텐츠를 재생할 때 상기 서브타이틀 데이터에 출력 시점과 관련된 시간 정보가 없으면, 상기 저장부로부터 상기 콘텐츠 데이터를 독출하기에 앞서 상기 파서를 제어하여 상기 필터링 동작을 먼저 수행하고, 상기 버퍼링 된 비디오 데이터를 디코딩 하여 출력할 때 상기 버퍼링 된 서브타이틀 데이터 중 소정 양의 서브타이틀 데이터 이후의 서브타이틀 데이터를 디코딩 하여 상기 비디오 데이터와 함께 출력하도록 상기 디코더를 제어하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a broadcast receiver including: a broadcast receiver for receiving a broadcast signal of a content; A storage unit for storing content data received through the broadcast signal; A parser for analyzing the content data and performing a filtering operation to classify the content data according to types of video data and subtitle data; A buffer memory for buffering the video data and the subtitle data classified by the type; A decoder for decoding and outputting video data and subtitle data stored in the buffer memory; And a control unit for controlling each component to reproduce the content, wherein when the content stored in the storage unit is reproduced, if there is no time information related to the output time point in the subtitle data, Wherein the parser performs the filtering operation by controlling the parser before reading the content data, and when decoding and outputting the buffered video data, subtitle data after a predetermined amount of subtitle data among the buffered subtitle data And controls the decoder to output the video data together with the video data.

따라서, 방송 수신기가 서브타이틀 데이터에 시간 정보가 없는 상태로 방송으로 전송된 콘텐츠를 기록 매체에 기록한 후 재생하는 경우에도 AV 데이터와 서브타이틀 데이터를 동기하여 재생할 수 있게 된다.Therefore, even when the broadcast receiver records the content transmitted on the broadcast in the state in which there is no time information in the subtitle data, the AV data and the subtitle data can be reproduced in synchronization with each other.

도 1은 엘리먼터리 스트림(ES: Elementary Stream)으로부터 패킷 엘리먼터리 스트림(PES: Packetized Elementary Stream)과 디지털 방송으로 전송되는 트랜스포트 스트림(TS: Transport Stream)을 생성하는 과정을 도시한 것이고,
도 2는 방송을 보기 위해 방송 수신기가 진행하는 TS 패킷의 분석하는 과정을 간략하게 도시한 것이고,
도 3은 PAT와 PMT를 이용하여 PES 패킷을 생성하는 과정을 도시한 것이고,
도 4는 방송 수신기가 방송을 통해 전송되는 A/V 데이터와 시각 정보가 없는 서브타이틀 데이터를 동기하여 재생하는 것을 도시한 것이고,
도 5는 방송 수신기가 기록 매체에 저장된, 시간 정보를 포함한 A/V 데이터와 시간 정보를 포함하지 않은 서브타이틀 데이터를 재생할 때 서브타이틀 데이터의 동기 맞춤이 실패하는 것을 도시한 것이고,
도 6은 본 발명이 적용되는 방송 수신기의 구성을 도시한 것이고,
도 7은 본 발명의 실시예에 따라 기록 매체에 저장된 시간 정보를 포함한 A/V 데이터와 시간 정보를 포함하지 않은 서브타이틀 데이터를 동기하여 재생하는 것을 도시한 것이다.
1 shows a process of generating a transport stream (TS) transmitted from an elementary stream (ES) and a packetized elementary stream (PES)
FIG. 2 is a schematic view illustrating a process of analyzing a TS packet transmitted by a broadcast receiver in order to view a broadcast,
FIG. 3 shows a process of generating a PES packet using PAT and PMT,
FIG. 4 shows that the broadcast receiver reproduces the A / V data transmitted through broadcasting and the subtitle data without time information in synchronization with each other,
5 shows that the broadcast receiver fails to synchronize sub-title data when reproducing A / V data including time information and sub-title data not including time information stored in the recording medium,
6 shows a configuration of a broadcast receiver to which the present invention is applied,
FIG. 7 illustrates synchronizing playback of A / V data including time information stored on a recording medium and subtitle data not including time information according to an embodiment of the present invention.

이하, 본 발명에 따른 콘텐츠 재생 방법에 대한 실시예를 첨부하는 도면에 의거하여 상세히 설명한다.Hereinafter, an embodiment of a content reproducing method according to the present invention will be described in detail with reference to the accompanying drawings.

현재 디지털 방송은 MPEG-2 시스템 중 트랜스포트 스트림 패킷(TS Packet)을 사용하여 서비스되고 있는데, TS packet은 188바이트의 고정된 길이로 4바이트의 TS 헤더(Header)와 184바이트의 페이로드(Payload)로 구성된다. 디지털 방송은 데이터 전송 환경이 좋지 않기 때문에 전송 도중 에러가 발생할 확률이 높아서, 데이터를 짧게 여러 개로 나누어 전송해야 혹시라도 발생할 수 있는 에러가 주는 영향을 최소화 할 수 있다. 또 TS는 다중 채널(Multi Channels)을 전송할 수 있는 구조를 가지고 있기 때문에 디지털 방송용으로 사용되고 있다.Currently, digital broadcasting is provided using a TS packet in the MPEG-2 system. The TS packet has a fixed length of 188 bytes, a 4-byte TS header, and a payload ). Since digital broadcasting has a bad data transmission environment, the probability of errors occurring during transmission is high. Therefore, it is possible to minimize the influence of errors that may occur even if the data is transmitted in a short time. Also, TS is used for digital broadcasting because it has a structure capable of transmitting multi channels.

도 1은 엘리먼터리 스트림(ES: Elementary Stream)으로부터 패킷 엘리먼터리 스트림(PES: Packetized Elementary Stream)과 디지털 방송으로 전송되는 트랜스포트 스트림(TS: Transport Stream)을 생성하는 과정을 도시한 것이다.FIG. 1 illustrates a process of generating a transport stream (TS) transmitted from an elementary stream (ES) and a packetized elementary stream (PES) and a digital broadcast.

엘리먼터리 스트림(ES)은 비디오와 오디오로 구성되는 콘텐츠가 MPEG-2 인코더에 의해 부호화와 압축 과정을 거쳐 만들어지는 디지털 데이터의 기본 스트림을 가리키고, 오디오, 비디오, 데이터 각각에 대해 하나의 기본 ES가 맞들어지므로, ES는 프로그램의 내용물이 부호화되고 압축된 하나의 스트림이다. 이렇게 만들어진 ES는 패킷타이징 과정과 멀티플렉싱 과정을 거쳐 저장하거나 전송할 수 있는 형태의 프로그램 스트림이나 전송 스트림을 만드는 데 사용된다. PES는 ES를 전송하기 위하여 헤더 정보를 추가하여 패킷화한 흐름을 가리키는데 보통 비디오 PES는 하나의 프레임에 대한 영상 정보이다.An elementary stream (ES) refers to an elementary stream of digital data, which is composed of video and audio, which is encoded and compressed by an MPEG-2 encoder, and has a single basic ES ES is a single stream in which the contents of the program are encoded and compressed. The generated ES is used to create a program stream or a transport stream that can be stored or transmitted through the packet-typing process and the multiplexing process. The PES is a packetized stream with header information added to transmit the ES, and the video PES is image information for one frame.

PES 패킷은 도 1과 같이 생성되는데, Ex가 비디오 엘리먼터리 스트림(ES)이라고 가정하면 E1, E2, E3는 각 프레임이 인코딩 된 결과라고 할 수 있다. 이렇게 만들어진 ES 각각에 PES 헤더를 붙임으로써 PES 패킷을 만드는데, 도 1에서 P1, P2, P3가 PES 헤더가 되고, 각 PES의 길이는 동일하지 않을 수 있다.The PES packet is generated as shown in FIG. 1. Assuming that Ex is a video elementary stream (ES), E1, E2, and E3 may be the result of encoding each frame. PES packets are created by attaching a PES header to each ES thus created. In FIG. 1, P1, P2, and P3 are PES headers, and the length of each PES may not be the same.

이 PES 패킷들을 고정된 길이를 갖는 TS 패킷으로 만들기 위해 일정 크기(184바이트)로 자르고 4바이트의 TS 헤더를 앞에 붙임으로써 TS 패킷을 생성한다. 이 단계에서 PES 패킷은 TS를 만들면서 이전 PES 패킷과 현재 PES 패킷을 하나의 TS 패킷에 실어서 전송하지 않는데, 도 1에 첫 번째 TS 패킷은 첫 번째 PES 패킷의 일부를 싣고도 여유 공간이 있기 때문에 두 번째 PES 패킷의 일부분을 실을 수 있지만 그렇게 하지 않고 대신 그 자리를 널 데이터(Null Data)로 채워서 184 바이트를 만든다.To make the PES packets into a TS packet having a fixed length, the TS packet is generated by cutting it to a predetermined size (184 bytes) and attaching a 4-byte TS header. At this stage, the PES packet does not transmit the previous PES packet and the current PES packet in one TS packet while creating the TS. In FIG. 1, the first TS packet includes a part of the first PES packet, Because of this, you can load part of the second PES packet, but do not do so and instead fill the place with null data to make 184 bytes.

TS 패킷은 PES 패킷을 포함하고 있는 것과 기타 부가적인 테이블 데이터를 가지고 있는 섹션(Section)을 포함하고 있는 것으로 구분할 수 있다. 섹션을 포함하는 TS 패킷을 생성하는 과정도 앞서 설명한 PES를 포함하는 TS 패킷을 생성하는 과정과 동일한데, 널 데이터를 채우는 과정과 1바이트짜리 pointer_field를 추가하는 것만 다르다.The TS packet can be classified as including a PES packet and a section having other additional table data. Section is the same as the process of generating the TS packet including the PES described above except that the process of filling the null data and adding the 1 byte pointer_field are different.

섹션을 포함하는 TS 패킷은 연속된 두 개의 섹션이 하나의 TS 패킷에 포함되어 전송될 수 있는데, 널 데이터를 삽입하지 않고 대신 1바이트짜리 pointer_field를 TS 헤더 바로 다음에 추가한다. Pointer_field는 하나의 TS 패킷 안에서 새롭게 시작되는 섹션의 시작 위치를 가리키는데, 좀 더 정확하게 표현하면 연속되는 섹션 중에서 마지막으로 붙는 데이터의 길이를 나타낸다. Pointer_field를 추가하는 이유는 연속된 섹션이 하나의 TS 패킷에 실려 전송된 경우 수신부에서 두 섹션을 정확하게 분리할 수 있도록 해주기 위함이다.A TS packet containing a section can be transmitted with two consecutive sections included in one TS packet. Instead of inserting null data, a 1-byte pointer_field is added immediately after the TS header. Pointer_field indicates the start position of a section that is newly started in one TS packet. More precisely, Pointer_field indicates the length of the last data in a subsequent section. The reason for adding the Pointer_field is to allow the receiver to correctly separate the two sections if the consecutive section is transmitted in one TS packet.

TS 패킷의 페이로드에 실리는 데이터는 오디오, 비디오, 서브타이틀 및 부가 정보가 있는데, 여기서 부가 정보는 PSI/SI(Program Specific Information/Service Information)의 PAT(Program Association Table), PMT(Program Map Table), CAT(Conditional Access Table), NIT(Network Information Table) 등의 테이블로, 수신단에서는 이 테이블들을 얻어야 하는데 TS 패킷의 사이즈가 고정되어 있기 때문에 테이블들을 잘라서 전송하게 되고, 이때 잘라진 단위가 섹션이다. 즉, 테이블이 섹션의 상위 레벨이고 전송된 N개의 섹션을 모아 하나의 테이블을 완성해야 하는 것이다.The data included in the payload of the TS packet includes audio, video, subtitle and supplementary information. The supplementary information includes a program association table (PAT), a program map table (PMT) ), CAT (Conditional Access Table), and NIT (Network Information Table). In the receiving end, these tables must be obtained. Since the TS packet size is fixed, the tables are cut and transmitted. That is, the table is at the top level of the section and the N sections that have been transferred must be collected to complete a table.

PSI는, 오디오, 비디오 데이터를 정상적으로 재생시키기 위해 필요한 데이터로 PAT, PMT, CAS, NIT, TSDT등으로 구성되어 있다. 다중 채널 전송이라면 프로그램의 달라진 정보를 디코더가 가능한 빠른 시간 내에 정보를 받을 수 있도록 PSI가 일정한 시간 간격으로 전송되는데, MPEG에서는 최대한 0.7초 이내에 PSI를 전송해야 한다고 규정하고 있다. 방송 수신기가 원하는 방송을 수신하려면 무작위로 전송되어 오는 수많은 패킷 중 필요한 패킷 어떤 트랜스폰더(Transponder)에서 오는지, 어떤 패킷 식별자(PID: Packet Identification)를 통해서 오는지, 암호화가 되어 있으면 어떻게 풀어야 하는지 등의 정보가 있어야 하고, 이러한 정보들이 PSI에서 제공된다.The PSI is data required for normally reproducing audio and video data, and is composed of PAT, PMT, CAS, NIT, and TSDT. In case of multi-channel transmission, the PSI is transmitted at a fixed time interval so that the decoder can receive the changed information of the program as quickly as possible. In MPEG, the PSI must be transmitted within 0.7 seconds at most. In order to receive a broadcast desired by a broadcast receiver, a necessary number of randomly transmitted packets, a packet from a transponder, a packet identifier (PID) through a packet identification (PID) And this information is provided by the PSI.

PAT는 패킷 중 가장 기본이 되는 패킷으로 PID도 0x0000으로 할당되어 있는데, PAT에는 채널에 대한 정보를 포함하고 있는 PMT의 PID를 포함하고 있고 네트워크 정보를 담고 있는 NIT의 PID를 갖고 있다. PMT는, 예를 들어 KBS, MBC, SBS 각각의 방송을 보기 위한 채널마다의 오디오, 비디오, 데이터 정보 등이 어떤 PID를 갖고 전송되는 지에 대한 정보를 포함하고 있다.The PAT is the most basic packet among the packets. The PID is also assigned with 0x0000. The PAT includes the PID of the PMT including information on the channel and the PID of the NIT that contains the network information. The PMT includes information about which PID the audio, video, and data information for each channel for viewing broadcasts of, for example, KBS, MBC, and SBS are transmitted with.

도 2는 방송을 보기 위해 방송 수신기가 진행하는 TS 패킷의 분석 과정을 간략하게 도시한 것이고, 도 3은 PAT와 PMT를 이용하여 PES 패킷을 생성하는 과정을 도시한 것이다.FIG. 2 is a flowchart briefly illustrating a process of analyzing a TS packet transmitted by a broadcast receiver to view a broadcast, and FIG. 3 illustrates a process of generating a PES packet using PAT and PMT.

처음 PID =0x0000인 PAT 패킷을 찾아서 페이로드 내용을 분석하는데, 도 3의 예에서 PAT 안에는, 예를 들어 KBS, MBC, SBS, EBS의 네 개의 채널에 대한 정보와 NIT, TSDT 등이 어떤 PID를 통해서 전송되는 지를 나타내는 정보가 들어 있다.In the example of FIG. 3, information on four channels, for example, KBS, MBC, SBS, and EBS, and NIT, TSDT, and the like are stored in the PAT by searching for a PID having a PID of 0x0000. Is transmitted through the network.

사용자가, 예를 들어 MBC라는 채널을 시청하고자 선택하면, 방송 수신기는 MBC 채널의 실제 데이터 (오디오, 비디오, 및 서브타이틀 데이터)가 어떤 PID를 통해 전송되는지를 가리키는 PMT의 PID를 PAT로부터 찾게 되는데, 도 3의 예에서 PID가 0x0102인 패킷을 찾게 된다. 이후 해당 PID를 갖는 패킷(PMT를 포함하는 패킷)을 파싱(Parsing)하여 또 다시 오디오 데이터, 비디오 데이터, 서브타이틀 데이터 등이 어떤 PID의 패킷에 있는지 확인하고, PMT에서 알아낸 PID를 이용하여 오디오, 비디오, 서브타이틀 각각의 데이터가 포함되어 있는 패킷을 선택하고 조립하여 PES 패킷을 생성하고, 오디오, 비디오, 서브타이틀을 서로 구분하여 디코딩을 하여 방송을 재생한다.When the user selects to watch a channel, for example, MBC, the broadcast receiver finds the PID of the PMT indicating the PID through which the actual data (audio, video, and subtitle data) of the MBC channel is transmitted from the PAT , And finds a packet whose PID is 0x0102 in the example of FIG. Thereafter, a packet having a corresponding PID (a packet including a PMT) is parsed to check which PID packet the audio data, the video data, the subtitle data, etc. are in, and the audio , Video, and subtitle data to generate a PES packet, and audio, video, and subtitles are separated from each other and decoded to reproduce the broadcast.

PES는 엘리먼터리 스트림(ES)를 패킷으로 만든 것을 말하고 비디오 PES 패킷, 오디오 PES 패킷, 서브타이틀 PES 패킷으로 구분되는데, 동영상의 재생은 오디오, 비디오, 서브타이틀의 싱크가 중요한 요소이므로, PES 헤더 대부분의 정보는 수신부에서 오디오, 비디오, 서브타이틀을 재생할 동기(Synchronization)를 맞출 때 사용할 정보인 PCR(Program Clock Reference), PTS(Presentation Time Stamp), DTS(Decoding Time Stamp) 등으로 구성된다.PES is a packet composed of an elementary stream (ES), and is divided into a video PES packet, an audio PES packet, and a subtitle PES packet. Since playback of a moving picture is an important factor for audio, video and subtitle synchronization, Most of the information is composed of PCR (Program Clock Reference), PTS (Presentation Time Stamp), and DTS (Decoding Time Stamp), which are information to be used in synchronizing synchronization for reproducing audio, video and subtitles in the receiver.

PCR은 인코더 시스템의 시간을 소정 주파수(예를 들어 27Mhz)의 시스템 클록으로 샘플링 한 값으로 오디오, 비디오를 재생할 때 기준 시각으로 사용되고, PTS는 오디오나 비디오가 실제로 재생되어야 하는 시각을 나타내고, DTS는 수신된 오디오, 비디오 정보가 디코딩 되어야 하는 시각을 나타낸다.PCR is used as a reference time when audio and video are reproduced with a value obtained by sampling the time of the encoder system with a system clock of a predetermined frequency (for example, 27 Mhz), PTS indicates a time at which audio or video is actually reproduced, Indicates the time at which the received audio and video information should be decoded.

도 4는 방송 수신기가 방송을 통해 전송되는 A/V 데이터와 시각 정보가 없는 서브타이틀 데이터를 동기하여 재생하는 것을 도시한 것이다.FIG. 4 shows that the broadcast receiver reproduces the A / V data transmitted through broadcasting and the subtitle data without time information in synchronization with each other.

서브타이틀 데이터를 포함하되 시각 정보가 포함되지 않는 트랜스포트 패킷은, 수신되는 오디오/비디오 데이터의 트랜스포트 패킷으로부터 PES 패킷이 생성되고 생성되는 PES 패킷에 포함된 시각 정보가 가리키는 재생 시점에 함께 재생될 수 있도록, 오디오 데이터나 비디오 데이터를 포함하는 트랜스포트 패킷이 전송되는 시간 사이 사이에 삽입되어 전송된다.The transport packet including the subtitle data but not including the time information is reproduced together with the reproduction time point indicated by the time information included in the PES packet in which the PES packet is generated from the transport packet of the received audio / video data So that a transport packet including audio data or video data is transmitted.

시각 정보가 포함되지 않은 서브타이틀 데이터는, 서브타이틀 PES 패킷으로 생성되더라도 출력할 시점을 알 수 없기 때문에 버퍼링 되지 않고, 디코더는 서브타이틀을 포함하는 트랜스포트 패킷을 수집하여 PES 패킷을 생성하는 대로 바로 화면에 출력해야 한다.Even if the subtitle data that does not include the time information is generated as a subtitle PES packet, the decoder does not buffer the transport packet because it can not know the output time point. The decoder collects the transport packet including the subtitle and generates the PES packet It should be displayed on the screen.

방송국에서는, 시각 정보가 없는 서브타이틀의 이러한 처리 방식 및 오디오 데이터와 비디오 데이터의 처리 시간(트랜스포트 패킷을 수집하여 PES 패킷을 생성하고, 오디오 PES 패킷과 비디오 PES 패킷을 구분하여 버퍼링 하고, PES 패킷에 포함된 시각 정보에 맞춰 오디오 데이터와 비디오 데이터를 디코딩 하고 출력하는 동안의 시간)을 고려하여, 오디오/비디오 데이터를 포함하는 트랜스포트 패킷과 서브타이틀 데이터를 포함하는 트랜스포트 패킷의 전송 간격을 조절한다.In the broadcasting station, the processing method of the subtitle without time information and the processing time of the audio data and the video data (collecting transport packets, generating PES packets, separating audio PES packets and video PES packets and buffering them, The time interval during which the audio data and the video data are decoded and outputted in accordance with the time information included in the audio data and the audio data), the transmission interval of the transport packet including the audio data / video data and the transport packet including the subtitle data do.

도 4에서, 예를 들어 재생 시점 1(TimeStamp 1)에 재생 시점 3(TimeStamp 3)에 재생될 오디오 데이터와 비디오 데이터(Video PTS 3/Audio PTS 3)가 서브타이틀 데이터(Subtitle 1)와 함께(또는 서로 시간 간격이 멀지 않은 가까운 앞뒤 시간에) 전송되어 Subtitle 1이 재생 시점 1(TimeStamp 1)에 바로 재생된다. 여기서, Video PTS 3이나 Audio PTS 3은 TimeStamp 3에 해당하는 PTS 값을 헤더에 갖는 비디오 PES 패킷과 오디오 PES 패킷에 해당하고, Subtitle 3은 서브타이틀 PES 패킷에 해당하고, 비디오 PTS 3(또는 Audio PTS 3)의 PES 패킷을 포함하는 트랜스포트 패킷과 Subtitle 3의 PES 패킷을 포함하는 트랜스포트 패킷이 TimeStamp 1 부근에 전송될 수 있다. 비슷하게, TimeStamp 2에 TimeStamp 4에 재생될 Video PTS 4/Audio PTS 4가 Subtitle 2와 함께 전송되어 Subtitle 2가 TimeStamp 2에 바로 재생된다.4, for example, audio data and video data (Video PTS 3 / Audio PTS 3) to be reproduced at the reproduction time point 3 (TimeStamp 3) are reproduced together with the subtitle data (Subtitle 1) Or at a near and far time not far apart from each other), and Subtitle 1 is immediately reproduced at playback point 1 (TimeStamp 1). Here, Video PTS 3 and Audio PTS 3 correspond to a video PES packet and an audio PES packet having a PTS value corresponding to TimeStamp 3 in the header, Subtitle 3 corresponds to a subtitle PES packet, and a video PTS 3 (or Audio PTS 3) and the transport packet including the PES packet of Subtitle 3 can be transmitted in the vicinity of TimeStamp 1. Likewise, Video PTS 4 / Audio PTS 4 to be reproduced in TimeStamp 4 is transmitted together with Subtitle 2 to TimeStamp 2, and Subtitle 2 is immediately reproduced to TimeStamp 2.

TimeStamp 3에 TimeStamp 5에 재생될 Video PTS 5/Audio PTS 5가 Subtitle 3과 함께 전송되고, Video PTS 3/Audio PTS 3이 TimeStamp 3에 재생되고, Subtitle 3 또한 TimeStamp 3에 재생되어, Video PTS 3, Audio PTS 3, Subtitle 3이 동기되어 재생된다.Video PTS 5 / Audio PTS 5 to be reproduced in TimeStamp 5 is transmitted together with Subtitle 3 to TimeStamp 3, Video PTS 3 / Audio PTS 3 is reproduced to TimeStamp 3, Subtitle 3 is also reproduced to TimeStamp 3, Audio PTS 3 and Subtitle 3 are reproduced in synchronization with each other.

TimeStamp 1 내지 TimeStamp 3에 전송되는 오디오와 비디오 데이터를 포함하는 트랜스포트 패킷은 종류에 따라 수집되어 각각 PES 패킷(Video PTS 1~3, Audio PTS 1~3)으로 변환되고, PES 패킷 헤더에 포함된 시간 정보는 시간 또는 시각을 제어하기 위한 타이머 블록에 관리되고, PES 패킷의 페이로드는 각각 오디오 버퍼와 비디오 버퍼에 버퍼링 되고, 타이머 블록에 관리되는 시간 정보에 맞추어 버퍼링 된 데이터가 디코딩 되고 또한 화면이나 앰프를 통해 출력된다.The transport packets including audio and video data transmitted in TimeStamp 1 to TimeStamp 3 are collected according to the type and converted into PES packets (Video PTS 1 to 3, Audio PTS 1 to 3) The time information is managed in a timer block for controlling the time or the time, the payload of the PES packet is buffered in the audio buffer and the video buffer, the buffered data is decoded in accordance with the time information managed in the timer block, It is output through the amplifier.

도 4와 같이, 같은 시간에 재생될 오디오/비디오/서브타이틀 데이터가 소정 시간(오디오/비디오 데이터의 처리 시간) 간격을 두고 전송되고, 시간 정보가 없는 서브타이틀 데이터는 PES 패킷으로 변환된 후 바로 재생되어, 오디오/비디오/서브타이틀 데이터가 동기를 맞추게 된다.As shown in FIG. 4, audio / video / subtitle data to be reproduced at the same time is transmitted with a predetermined time interval (processing time of audio / video data), and subtitle data without time information is converted into a PES packet And the audio / video / subtitle data is synchronized.

도 5는 방송 수신기가 기록 매체에 저장된, 시간 정보를 포함한 A/V 데이터와 시간 정보를 포함하지 않은 서브타이틀 데이터를 독출하여 재생할 때 서브타이틀 데이터의 동기 맞춤이 실패하는 것을 도시한 것이다.5 illustrates that the broadcast receiver fails to synchronize sub-title data when reading and reproducing the A / V data including time information and the sub-title data not including time information stored in the recording medium.

녹화 기능이 있는 방송 수신기는, 튜너를 통해 선국되어 수신되는 방송 데이터를 트랜스포트 패킷 형태로 저장 매체, 예를 들어 하드 디스크(HDD), SSD(Solid State Drive) 또는 SD(Secure Digital) 카드와 같은 플래시 메모리 카드에 기록할 수 있다.A broadcast receiver having a recording function can receive broadcast data selected and received through a tuner in the form of a transport packet such as a storage medium such as a hard disk drive (HDD), a solid state drive (SSD), or a secure digital Can be written to flash memory card.

방송 수신기는, 저장 매체에 기록된 방송 콘텐츠를 재생할 때, 버퍼의 언더플로우(Underflow)를 막기 위해 한 번에 많은 양의 데이터(트랜스포트 패킷)를 저장 매체에서 읽어 필터링 하고 버퍼링 한 후 디코딩 하여 재생하는데, 여기서 필터링은 저장 매체에서 읽은 트랜스포트 패킷을 PES 패킷으로 변환하고 PES 패킷의 종류별로 분류하는 동작을 말한다.In reproducing a broadcast content recorded on a storage medium, a broadcast receiver reads a large amount of data (transport packet) at a time on a storage medium to filter, buffer, decode, and reproduce the broadcast content to prevent an underflow of the buffer Here, filtering refers to an operation of converting a transport packet read from a storage medium into a PES packet and classifying the transport packet according to the type of the PES packet.

트랜스포트 패킷에서 수집되어 PES 패킷으로 변환되고 각각 버퍼링 되는 PES 패킷의 페이로드의 오디오 및 비디오 데이터는 해당 PES 패킷의 헤더에 포함된 시간 정보에 따라 재생되는데, PES 패킷으로 변환된 서브타이틀 데이터는 시간 정보가 없기 때문에 버퍼링 되지 않고 모두 한꺼번에 출력되어 오디오 및 비디오 데이터와의 동기가 맞지 않게 된다.The audio and video data of the payload of the PES packet collected in the transport packet and converted into the PES packet and buffered respectively are reproduced according to the time information included in the header of the PES packet. The subtitle data converted into the PES packet is time Since there is no information, they are not buffered and are all output at once, so that the audio and video data are not synchronized with each other.

도 5에서, TimeStamp 1에 저장 매체, 예를 들어 하드 디스크에서 TimeStamp 3-6에 재생될 비디오 데이터(Video PTS 3, 4, 5, 6)와 오디오 데이터(Audio PTS 3, 4, 5, 6) 및 TimeStamp 1-4에 재생될 서브타이틀 데이터(Subtitle 1, 2, 3, 4)가 독출되고, PES 패킷으로 변환된 서브타이틀 데이터는 모두 TimeStamp 1에 바로 출력되고 비디오 데이터와 오디오 데이터는 TimeStamp 3부터 순차적으로 재생되어, 비디오/오디오 데이터와 서브타이틀 데이터의 동기가 맞지 않게 된다.(Video PTS 3, 4, 5, 6) and audio data (Audio PTS 3, 4, 5, 6) to be reproduced on a storage medium, for example, TimeStamp 3-6, And subtitle data (Subtitle 1, 2, 3, 4) to be reproduced in the TimeStamp 1-4 are read out. All the subtitle data converted into the PES packet are directly output to TimeStamp 1, and the video data and audio data are transmitted from TimeStamp 3 And the video / audio data and the subtitle data are not synchronized with each other.

비슷하게, TimeStamp 4에, 하드 디스크에서 TimeStamp 7-10에 재생될 비디오 데이터(Video PTS 7, 8, 9, 10)와 오디오 데이터(Audio PTS 7, 8, 9, 10) 및 TimeStamp 5-8에 재생될 서브타이틀 데이터(Subtitle 5, 6, 7, 8)가 독출되고, PES 패킷으로 변환된 서브타이틀 데이터는 모두 TimeStamp 4에 바로 출력되고 비디오 데이터와 오디오 데이터는 TimeStamp 5부터 순차적으로 재생되어, 비디오/오디오 데이터와 서브타이틀 데이터의 동기가 맞지 않게 된다.Similarly, in TimeStamp 4, the video data (Video PTS 7, 8, 9, 10) and audio data (Audio PTS 7, 8, 9, 10) and TimeStamp 5-8 Subtitle data (Subtitle 5, 6, 7, 8) is read out and the subtitle data converted into the PES packet is immediately output to TimeStamp 4, and video data and audio data are sequentially reproduced starting from TimeStamp 5, The audio data and the subtitle data are not synchronized with each other.

또한, 저장 매체에서 독출되는 데이터를 필터링 하여 데이터의 종류에 따라 버퍼링 할 때, 데이터에 대한 필터링 동작이 이루어지기 전에 저장 매체에서 독출된 데이터는 필터링 되지 않고 버려지게 된다. PES 패킷으로 필터링 된 오디오 데이터와 비디오 데이터는 PES 패킷에 시각 정보가 포함되어 있기 때문에 이미 버려진 PES 패킷의 개수를 확인할 수 있지만 PES 패킷으로 필터링 된 서브타이틀 데이터는 PES 패킷에 시각 정보가 포함되어 있지 않기 때문에 이미 버려진 서브타이틀 PES 패킷의 개수를 확인할 수 없다.In addition, when data read from the storage medium is filtered and buffered according to the type of data, data read from the storage medium before the filtering operation is performed on the data is not filtered and discarded. Since the audio data and the video data filtered by the PES packet include the time information in the PES packet, the number of already discarded PES packets can be confirmed. However, the subtitle data filtered by the PES packet does not include the time information in the PES packet Therefore, the number of already discarded subtitle PES packets can not be confirmed.

또한, PES 패킷은 페이로드가 각각 크기가 다르고 오디오/비디오 데이터에 비해 서브타이틀 데이터의 양이 훨씬 적기 때문에, 오디오/비디오 PES 패킷에 비해 서브타이틀 PES 패킷이 버려지는 양이 많을 수 있다.In addition, the PES packet may have a larger amount of subtitle PES packets discarded than the audio / video PES packet because the payloads are different in size and the amount of subtitle data is much smaller than audio / video data.

이에 따라 서브타이틀 PES 패킷을 버퍼링 하여 오디오/비디오 PES 패킷과의 시간 간격을 맞추어 출력하더라도 이미 버려진 서브타이틀 PES 패킷만큼 서브타이틀 데이터가 오디오/비디오 데이터보다 먼저 출력되는 문제가 발생할 수 있다.Accordingly, even if the subtitle PES packet is buffered and the audio / video PES packet is output at a time interval, the subtitle data may be outputted before the audio / video data by the subtitle PES packet already discarded.

본 발명은, 이러한 상황을 극복하기 위하여, 저장 매체로부터 기록된 방송 데이터를 읽는 동작을 수행하기 전에 먼저 필터링 동작을 수행하여 저장 매체로부터 독출되는 데이터가 필터링 되지 않고 버려지는 것을 막고, 시간 정보가 없는 서브타이틀 데이터를 서브타이틀 버퍼에 버퍼링 하되 오디오/비디오 데이터의 출력 시간 및 비디오 데이터와 서브타이틀 데이터의 전송 간격을 기초로 서브타이틀 데이터의 출력 시점을 조절하여 오디오/비디오 데이터와 서브타이틀 데이터의 동기를 맞춘다.In order to overcome this situation, in order to overcome such a situation, a filtering operation is first performed before an operation of reading recorded broadcast data from a storage medium to prevent data read from a storage medium from being discarded without being filtered, Video data and subtitle data by adjusting the output time of the subtitle data based on the output time of the audio / video data and the transmission interval of the video data and the subtitle data, by buffering the subtitle data in the subtitle buffer It adjusts.

도 6은 본 발명이 적용되는 방송 수신기의 구성을 도시한 것으로, 본 발명에 따른 방송 수신기는, 지상파 방송, 위성 방송, 그리고 케이블 방송, IP 방송 등의 디지털 방송을 수신하는 셋탑 박스나 텔레비전 등이 될 수 있다.6 shows a configuration of a broadcast receiver to which the present invention is applied. The broadcast receiver according to the present invention includes a set-top box or a television receiving digital broadcasts such as terrestrial broadcast, satellite broadcast, cable broadcast, .

본 발명에 따른 방송 수신기(100)는, 도 6에 도시한 바와 같이, 튜너/디모듈레이터(Tuner/Demodulator)(10)(이하에서는 간단하게 튜너라고 칭함), 디멀티플렉서(Demuxer)(20), 파서(30), 버퍼 메모리(40), 스토리지(50), 디코더(60), OSD 생성부(70), 믹서(75), 제어부(80), 시스템 메모리(85), 네트워크부(90) 등을 포함하여 구성될 수 있는데, 상기 튜너(10)와 디멀티플렉서(20)가 하나의 방송 수신부로 묶일 수 있다.A broadcast receiver 100 according to the present invention includes a tuner / demodulator 10 (hereinafter simply referred to as a tuner), a demultiplexer 20, a parser 30, a buffer memory 40, a storage 50, a decoder 60, an OSD generating unit 70, a mixer 75, a control unit 80, a system memory 85, a network unit 90, The tuner 10 and the demultiplexer 20 may be combined into one broadcasting receiver.

상기 튜너(10)는, 연결된 RF 신호선, 예를 들어 동축케이블 등을 통해 수신되는 방송 신호(예를 들어 지상파, 케이블 또는 위성 방송 신호 )에서 사용자가 선택한 신호 대역을 동조하고 그 동조된 대역을 통해 QPSK(Quadrature Phase Shift Keying), QAM(Quadrature Amplitude Modulation), VSB(Vestigial SideBand) 또는 OFDM(Orthogonal Frequency Division Multiplexing) 방식으로 변조되어 입력되는 디지털 신호를 복조하여 디지털 스트림으로 출력한다.The tuner 10 tunes a signal band selected by a user from a broadcast signal (for example, a terrestrial wave, a cable or a satellite broadcast signal) received through a connected RF signal line, for example, a coaxial cable, Demodulates a digital signal modulated by Quadrature Phase Shift Keying (QPSK), Quadrature Amplitude Modulation (QAM), Vestigial Sideband (VSB), or Orthogonal Frequency Division Multiplexing (OFDM)

상기 디멀티플렉서(20)는, 상기 출력되는 디지털 스트림 내의 다중화된 프로그램의 트랜스포트 스트림 중 선택된 단일 프로그램에 속하는 비디오, 오디오, 서브타이틀 데이터, 관리용 정보(예를 들어, PSI) 등을 수송하는 트랜스포트 패킷을 선택하여 출력하는데, 상기 디멀티플렉서(20)가 디지털 스트림에서 하나의 프로그램에 해당하는 트랜스포트 스트림만을 선별 출력하기 위한 근거 정보는, 트랜스포트 스트림의 선별 출력 전에 해당 동조 채널에서 획득하여 전달되는 프로그램 사양 정보(PSI: Program Specific Information)(PAT, PMT 등)로부터 확인되는, 트랜스포트 패킷 ID, 즉 PID이다.The demultiplexer 20 is a transport stream transporting video, audio, subtitle data, management information (for example, PSI), etc. belonging to a single selected program among the transport streams of the multiplexed program in the output digital stream The reason information for selecting and outputting only the transport stream corresponding to one program in the digital stream by the demultiplexer 20 is obtained from the tuning channel before the selective output of the transport stream, Is a transport packet ID, i.e., PID, which is confirmed from PSI (Program Specific Information) (PAT, PMT, etc.).

상기 디멀티플렉서(20)에서 선별되어 출력되는 디지털 스트림은, 특정 모드, 예를 들어 타임 시프트(Time-Shift) 모드 또는 녹화 모드인 경우에 상기 스토리지(50)에도 저장되며, 특히 타임 시프트 모드에서는 그 저장되는 디지털 스트림은 FIFO(First-In First-Out) 방식으로 독출되어 상기 파서(30)에 인가된다.The digital stream selected and output by the demultiplexer 20 is also stored in the storage 50 in the case of a specific mode, for example, a time-shift mode or a recording mode, The digital stream is read out in a first-in first-out (FIFO) manner and applied to the parser 30.

상기 파서(30)는 상기 디멀티플렉서(20)로부터 인가되거나 또는 상기 제어부(80)의 제어 하에 상기 스토리지(50)로부터 독출되어 인가되는 각 트랜스포트 스트림의 트랜스포트 패킷들을 헤더를 제거하여 페이로드 데이터 만을 모으고, 비디오, 오디오, 서브타이틀 등의 유형 별로 구분하여 PES 패킷 형태로 상기 버퍼 메모리(40)로 출력한다.The parser 30 removes the transport packets of each transport stream applied from the demultiplexer 20 or read from the storage 50 under the control of the controller 80 to remove only the payload data And outputs them to the buffer memory 40 in the form of a PES packet by dividing them by type of video, audio, subtitle or the like.

상기 버퍼 메모리(40)는, 상기 파서(30)를 통해 구분 출력되는 유형별 PES 패킷 등을 상기 PES 패킷의 헤더 정보를 참조하여 유형별(예를 들어, 비디오, 오디오, 서브타이틀 등)로 영역을 구분하여 임시로 저장한다.The buffer memory 40 separates the type-specific PES packets or the like output by the parser 30 by type (e.g., video, audio, or subtitle) by referring to the header information of the PES packet And stores it temporarily.

상기 스토리지(50)는, 하드 디스크, SSD(Solid State Drive), SD 메모리 등 대용량의 데이터를 저장하기 위한 것으로, 상기 제어부(80)의 제어 하에, 상기 디멀티플렉서(20)의 출력 스트림을 저장하거나 상기 튜너(10)로부터 출력되는 스크램블 된 트랜스포트 스트림을 직접 저장할 수도 있고, 또는 네트워크로 연결된 외부 서버 또는 USB, IEEE1394 등의 인터페이스를 통해 수신되는 콘텐츠를 저장할 수도 있다.The storage 50 stores a large amount of data such as a hard disk, a solid state drive (SSD), and an SD memory. The storage 50 stores an output stream of the demultiplexer 20 under the control of the controller 80, The scrambled transport stream outputted from the tuner 10 may be directly stored, or may be stored in an external server connected to the network or via an interface such as USB or IEEE1394.

상기 디코더(60)는 상기 버퍼 메모리(40)에 영역 별로 구분되어 저장되는 PES 패킷들을 그 유형에 따라 해당되는 내부 디코딩 모듈에 인가하여 디코딩 하여 원래의 A/V(오디오/비디오) 신호로 복원 출력한다. 상기 스토리지(50)에 저장되어 있는 콘텐츠 파일은 작은 단위로 나뉘어 상기 버퍼 메모리(40)에 버퍼링 되고, 상기 디코더(60)는 상기 버퍼 메모리(40)에서 피딩 되는 데이터를 디코딩 하여 해당 콘텐츠를 재생할 수도 있다.The decoder 60 applies the PES packets stored in the buffer memory 40 to the corresponding internal decoding module according to the PES packets, and decodes the PES packets to restore the original A / V (audio / video) do. The content file stored in the storage 50 is divided into small units and is buffered in the buffer memory 40. The decoder 60 decodes the data to be fed from the buffer memory 40 to reproduce the content have.

상기 OSD 생성부(70)는, 사용자의 요청에 따른 응답을 안내하는 메시지를 생성하고, 상기 믹서(75)를 통해 상기 생성된 메시지와 상기 디코더(60)에서 출력되는 영상을 중첩하여 출력할 수 있다.The OSD generating unit 70 generates a message to guide a response according to a user's request and superimposes and outputs the generated message and the image output from the decoder 60 through the mixer 75 have.

상기 제어부(80)는, 사용자의 요청 및/또는 설정된 조건에 따라 방송 신호 또는 콘텐츠의 재생 신호가 TV 화면에 출력되도록 하는데, 제어 동작, 환경 설정 또는 실행되는 프로세스 등에 필요한 데이터를 저장하기 위한 공간을 제공하는 시스템 메모리(85)를 내장할 수 있고, 펌웨어 등의 명령 코드들을 실행함으로써 상기 방송 수신기(100)의 하드웨어 자원의 구동, 해당 자원과의 적절한 신호 및/또는 정보 교환을 수행하기 위한 운영 시스템(미도시)을 포함할 수 있다.The control unit 80 controls the TV screen to output a broadcasting signal or a reproduction signal of the content according to a user's request and / or a set condition, and has a space for storing data necessary for a control operation, environment setting, And an operating system (not shown) for executing hardware resources of the broadcast receiver 100 and performing an appropriate signal and / or information exchange with the corresponding resources by executing instruction codes such as firmware, (Not shown).

상기 제어부(80)의 동작 또는 그에 의해 실행되는 어플리케이션의 동작은, 상기 운영 시스템의 적절한 중개 동작(예를 들어 도 6의 구성 요소들과 상기 운영 시스템이 각각 제공하는 특정 기능, 예를 들어, 입출력, 외부와의 통신, 하드웨어 상태 확인, 타이머 등을 요구하여 동작을 수행하는 것)을 그 전제로 하고 있으며 그 중개 동작에 대한 설명은 생략한다.The operation of the control unit 80 or the operation of an application executed thereby may be performed by an appropriate intermediary operation of the operating system (e.g., the components of FIG. 6 and the particular functions provided by the operating system, , Communication with the outside, confirmation of the hardware status, and operation by requesting a timer, etc.), and a description of the intermediary operation is omitted.

도 6에 예시된 방송 수신기(100)의 구성은 TV와 일체로 구성될 수도 있으며, 컴퓨터 또는 노트북에 부가되는 기기의 형태로 구성될 수도 있다. 또한, 상기 제어부(80)는 통상의 사용자 인터페이스, 예를 들어 키 패드, 리모컨, 터치 패드 등을 통해 사용자로부터의 요청을 수신하고, 필요한 경우 상기 OSD 생성부(70)를 제어하여 그 요청에 따른 응답을 안내하는 영상 신호가 출력되도록 할 수 있는데, 출력되는 영상 신호는 통상의 화면 출력 기능을 갖춘 전자 기기, 예를 들어 TV, 모니터 등을 통해 시각적으로 표현된다.The configuration of the broadcast receiver 100 illustrated in FIG. 6 may be integrated with the TV, or may be configured in the form of a computer or a device added to the notebook computer. The controller 80 receives a request from a user through a normal user interface, for example, a key pad, a remote controller, a touch pad, etc., and controls the OSD generator 70, if necessary, A video signal for guiding a response can be outputted. The output video signal is visually expressed through an electronic device having a normal screen output function, for example, a TV, a monitor, or the like.

도 6에 예시한 방송 수신기(100)의 구성은 본 발명에 대한 설명을 구체적이고 예시적으로 보여주기 위한 단지 하나의 예일 뿐, 도시되지 않은 다양한 기능의 구성 요소들이 더 포함될 수도 있다. 하지만, 예시되지 않은 구성 요소를 더 포함하더라도 이하에서 예시적으로 설명하는 본 발명의 개념과 주제를 구현하고 있는 또는 별도의 어플리케이션을 실행시킴으로써 본 발명의 개념과 주제를 구현하는 방송 수신기는 청구범위의 해석에서 배제되지 않는 한 당연히 본 발명의 범위에 속하는 것으로 보아야 한다.The configuration of the broadcast receiver 100 illustrated in FIG. 6 is merely an example for showing a specific and illustrative description of the present invention, and may further include various functional elements not shown. However, a broadcasting receiver that embodies the concepts and subject matter of the present invention by embodying the concepts and subject matter of the present invention, which is illustratively described below, even if it further includes unillustrated components, or by executing separate applications, It is to be understood that they fall within the scope of the present invention unless they are excluded from the interpretation.

한편, 상기 제어부(80)는, 방송 프로그램에 대한 기록 요청이 있으면, 상기 튜너(10)와 디멀티플렉서(Demuxer)(20)를 통해 선국되는 채널의 방송 프로그램에 대한 트랜스포트 스트림을 상기 스토리지(50)에 저장하는데, 이때 상기 파서(30)를 제어하여 상기 스토리지(50)에 기록되는 트랜스포트 스트림의 트랜스포트 패킷으로부터 각 유형별로 PES 패킷을 생성하고, 생성되는 PES 패킷의 헤더를 분석하여 PES 패킷의 디코딩 및/또는 출력과 관련된 시간 정보를 확인하고, 해당 PES 패킷의 생성을 위해 수집되고 상기 스토리지(50)에 기록되는 트랜스포트 패킷의 저장 위치를 상기 확인된 시간 정보와 연계하여 관리 정보로 관리할 수 있다.The control unit 80 transmits a transport stream for a broadcast program of a channel selected through the tuner 10 and the demultiplexer 20 to the storage 50, And controls the parser 30 to generate a PES packet for each type from the transport packet of the transport stream recorded in the storage 50 and analyze the header of the PES packet to generate a PES packet And stores the storage location of the transport packet, which is collected for the generation of the PES packet and is recorded in the storage 50, in association with the confirmed time information, and manages it as management information .

상기 관리 정보는 상기 스토리지(50)에 기록되는 방송 프로그램의 시간 정보와 저장 위치(하드 디스크에서의 주소)를 연계하는데, 상기 관리 정보에는 소정 시간 간격으로 시간 정보가 저장 위치와 함께 저장될 수 있다. 상기 방송 프로그램 기록이 종료되면 상기 관리 정보는 기록되는 프로그램에 대한 별도의 관리 파일로 상기 스토리지(50)에 기록되거나 상기 방송 프로그램의 데이터 파일의 헤더에 기록될 수도 있다.The management information associates time information of a broadcast program recorded in the storage 50 with a storage location (address in a hard disk), and time information may be stored in the management information at predetermined time intervals together with a storage location . When the recording of the broadcast program ends, the management information may be recorded in the storage 50 as a separate management file for the recorded program, or may be recorded in the header of the data file of the broadcast program.

상기 제어부(80)는, 스토리지(50)에 수신되는 방송 프로그램을 기록하는 경우, 상기 파서(30)가 입력되는 트랜스포트 패킷으로부터 유형별로 PES 패킷을 생성하고 PES 패킷의 헤더 정보를 상기 제어부(80)에 제공하는데, 서브타이틀 PES 패킷에 시간 정보가 포함되어 있지 않으면 이를 알리는 정보를 상기 방송 프로그램의 데이터 파일의 헤더에 기록할 수 있다.When recording a broadcast program received in the storage 50, the controller 80 generates a PES packet by type from the transport packet input by the parser 30, and transmits header information of the PES packet to the controller 80 If the time information is not included in the subtitle PES packet, it may be recorded in the header of the data file of the broadcast program.

또한, 상기 제어부(80)는, 상기 디멀티플렉서(Demuxer)(20)에서 선택되는 트랜스포트 스트림의 일부 패킷에 대해서, 오디오와 비디오 데이터를 담은 트랜스포트 패킷이 상기 파서(30)에 인가되는 시점부터 상기 파서(30)에서 PES 패킷으로 변환되고 PES 패킷의 페이로드가 유형별로 상기 버퍼 메모리(40)에 저장되고 상기 디코더(60)에 의해 디코딩 되어 출력되는 시점까지 시간, 즉 하나 이상의 트랜스포트 패킷이 비디오 또는 오디오 PES 패킷으로 변환되고 버퍼링 되고 디코딩 될 때까지 소요되는 시간을 측정하여 관리 정보로 저장할 수 있다.In addition, the control unit 80 determines whether or not a transport packet containing audio and video data is transmitted from a time point when a transport packet containing audio and video data is applied to the parser 30 to some packets of a transport stream selected by the demultiplexer The time from the parser 30 to the PES packet and the payload of the PES packet is stored in the buffer memory 40 for each type and decoded by the decoder 60 and outputted, Or an audio PES packet, is buffered and decoded, and stores the measured time as management information.

서브타이틀 데이터는 하나의 PES 패킷에 담기는 데이터 양이 많지 않아서 필터링에 소요되는 시간(트랜스포트 패킷으로부터 서브타이틀 PES 패킷을 생성하는 데 소요되는 시간)이 매우 작고 텍스트이기 때문에 디코딩 시간도 작은 반면, 비디오 데이터는 많은 개수의 트랜스포트 패킷으로부터 하나의 비디오 PES 패킷을 생성하는 경우가 있어 필터링에 시간이 소요되고 또한 복호화, 역양자화 등 디코딩에 복잡한 계산을 하여 시간이 많이 걸린다.Since the subtitle data has a small amount of data to be contained in one PES packet, the time required for filtering (the time required for generating the subtitle PES packet from the transport packet) is very small and the decoding time is small, Video data may generate a single video PES packet from a large number of transport packets, which takes time for filtering, and complicated calculation for decoding such as decoding and inverse quantization, which takes a lot of time.

상기 측정된 시간은 전송 입장에서 판단하면, 같은 타이밍에 화면에 출력될 비디오 트랜스포트 패킷과 서브타이틀 트랜스포트 패킷을 비디오와 서브타이틀의 처리 속도의 차이를 고려하여 서로 다른 시간에 전송할 때(비디오와 오디오 패킷을 서브타이틀 패킷보다 먼저 전송) 그 시간 간격에 해당한다.When the measured time is determined in the transmission position, the video transport packet and the subtitle transport packet to be output on the screen at the same timing are transmitted at different times in consideration of the difference in the processing speed of the video and the subtitle The audio packet is transmitted before the subtitle packet) corresponds to the time interval.

또는, 상기 제어부(80)는, 상기 측정되는 시간 동안 상기 파서(30)에 의해 생성되는 서브타이틀 PES 패킷의 개수를 관리 정보로 저장할 수도 있는데, 상기 서브타이틀 PES 패킷의 개수는 처음 입력되는 오디오, 비디오, 서브타이틀 트랜스포트 패킷들로부터 유형별로 PES 패킷을 생성할 때 오디오 및/또는 비디오 PES 패킷이 디코딩 되어 출력되기 전까지 바로 출력하거나(비디오 출력 없이) 또는 출력하지 않고(비디오와 서브타이틀 모두 출력하지 않고) 버릴 서브타이틀 PES 패킷의 개수, 또는 첫 비디오 PES 패킷이 출력될 때 함께 출력될 서브타이틀 PES 패킷의 번호(처음 버퍼링 된 서브타이틀 PES 패킷부터 세기 시작한 번호)에 해당한다.Alternatively, the controller 80 may store the number of subtitle PES packets generated by the parser 30 during the measured time as management information. The number of the subtitle PES packets may be the number of audio, (Without video output) or output (without outputting both video and subtitles) until the audio and / or video PES packet is decoded and output when the PES packet is generated from the video, subtitle transport packets by type Or the number of subtitle PES packets to be output together when the first video PES packet is output (the number starting from the first buffered subtitle PES packet).

상기 비디오 데이터와 서브타이틀 데이터의 전송 시간 차이 정보 또는 버퍼 메모리(40)에 저장된 서브타이틀 데이터 중에서 최초 비디오 데이터가 출력될 때 버릴 데이터의 양에 대한 정보는 미리 측정되어 상기 방송 수신기(100)이 제조 과정에 상기 제어부(80)의 시스템 메모리(85)에 미리 저장되어 있을 수도 있다.Information on the transmission time difference information between the video data and the subtitle data or the amount of data to be discarded when the first video data is output from the subtitle data stored in the buffer memory 40 is measured in advance and the broadcast receiver 100 May be stored in the system memory 85 of the control unit 80 in advance.

상기 제어부(80)는, 상기 스토리지(50)에 기록된 방송 프로그램에 대한 재생 요청이 있으면, 상기 스토리지(50)를 제어하여 상기 스토리지(50)에 기록되어 있는 트랜스포트 스트림의 트랜스포트 패킷 많은 양을 순차적으로 읽고, 상기 파서(30)를 제어하여 트랜스포트 패킷을 분석하여 각 유형별로 PES 패킷을 생성하고 생성된 PES 패킷의 페이로드를 상기 버퍼 메모리(40)에 유형별로 구분하여 저장하고, 상기 디코더(60)를 제어하여 상기 버퍼 메모리(40)에 유형별로 구분 저장된 비디오, 오디오, 서브타이틀 데이터를 디코딩 하여 출력하는데, 상기 파서(30)가 생성한 PES 패킷의 헤더에서 시간 정보를 추출하고 이를 근거로 상기 디코더(60)가 각 PES 패킷의 페이로드마다 디코딩 할 시점과 오디오와 비디오 신호로 출력할 시점을 결정하고 해당 시점에 디코딩 동작과 출력 동작을 수행한다.The control unit 80 controls the storage 50 to store a large amount of transport packets of the transport stream recorded in the storage 50 if there is a request to reproduce the broadcast program recorded in the storage 50 And controls the parser 30 to analyze the transport packet to generate PES packets for each type and store the payloads of the generated PES packets in the buffer memory 40 according to types, Audio and subtitle data classified and stored in the buffer memory 40 by controlling the decoder 60 and extracts the time information from the header of the PES packet generated by the parser 30, The decoder 60 decides a point of time at which the decoder 60 decodes the payload of each PES packet and a point at which audio and video signals are output, And performs an output operation.

상기 스토리지(50)에 기록된 방송 프로그램의 서브타이틀 데이터에 시간 정보가 포함되어 있지 않는 경우, 상기 파서(30)의 필터링 동작이 수행되기 전에 스토리지(50)에서 처음 독출되는 데이터가 필터링 되지 않고 손실되고 얼마의 데이터가 손실되는 지 확인하기 어렵기 때문에, 서브타이틀 데이터와 오디오/비디오 데이터를 동기하여 재생할 수 없다.If the time information is not included in the subtitle data of the broadcast program recorded in the storage 50, the data firstly read out from the storage 50 before the filtering operation of the parser 30 is not filtered and lost And it is difficult to confirm how much data is lost, so that subtitle data and audio / video data can not be reproduced in synchronization with each other.

따라서, 상기 제어부(80)는, 상기 스토리지(50)에 기록된 방송 프로그램에 대한 재생 요청이 있으면, 상기 스토리지(50)에 기록되어 있는 데이터를 읽는 동작에 앞서 상기 파서(30)가 필터링 동작을 수행하기 위한 준비를 하도록 하고, 상기 파서(30)의 준비가 완료된 이후 상기 스토리지(50)를 제어하여 상기 스토리지(50)에 기록되어 있는 트랜스포트 스트림의 트랜스포트 패킷을 순차적으로 읽어 파서(30)에 제공하고, 상기 파서(30)는 제공되는 트랜스포트 패킷을 분석하여 각 유형별로 PES 패킷을 생성하고 생성된 PES 패킷의 페이로드를 상기 버퍼 메모리(40)에 유형별로 구분하여 저장하고, 상기 파서(30)가 생성한 PES 패킷의 헤더에서 추출한 시간 정보를 근거로 상기 디코더(60)를 통해 디코딩 동작과 출력 동작을 수행한다.Therefore, if there is a playback request for the broadcast program recorded in the storage 50, the controller 80 performs a filtering operation before the parser 30 reads the data recorded in the storage 50 After the preparation of the parser 30 is completed, the storage 50 is controlled to sequentially read the transport packets of the transport stream recorded in the storage 50, The parser 30 analyzes the provided transport packet, generates PES packets for each type, stores payloads of the generated PES packets in the buffer memory 40 for each type, The decoder 60 performs a decoding operation and an output operation based on the time information extracted from the header of the PES packet generated by the decoder 30.

상기 파서(30)가 생성한 PES 패킷 중에서 서브타이틀 PES 패킷의 헤더에 시간 정보가 포함되어 있지 않는 경우 또는 상기 스토리지(50)에 기록되어 있는 방송 프로그램 데이터 파일의 헤더에 서브타이틀 데이터에 대한 시간 정보가 없는 것을 가리키는 정보가 포함되어 있는 경우, 종래에는 서브타이틀 PES 패킷을 버퍼 메모리(40)의 서브타이틀 데이터를 위한 공간에 저장하지 않고 바로 디코더(60)를 통해 출력하였지만, 본 발명에서는 버퍼 메모리(50)의 서브타이틀 영역에 서브타이틀 PES 패킷의 페이로드를 버퍼링 하되, 비디오 PES 패킷의 헤더에서 추출한 시간 정보에 맞추어 출력될 비디오 PES 패킷의 페이로드와 소정 시간 간격으로 서브타이틀 PES 패킷을 앞당겨 출력, 즉 버퍼링 된 서브타이틀 PES 패킷 중 일부를 버리고 소정 번호 이후의 서브타이틀 PES 패킷부터 순차적으로 출력할 수 있다.If the time information is not included in the header of the subtitle PES packet among the PES packets generated by the parser 30 or the time information of the subtitle data is included in the header of the program data file recorded in the storage 50 The subtitle PES packet is output through the decoder 60 without being stored in the space for the subtitle data of the buffer memory 40. However, in the present invention, the buffer memory 40 50), a payload of a video PES packet to be output according to time information extracted from a header of a video PES packet, and outputting a subtitle PES packet at a predetermined time interval, That is, a portion of the buffered subtitle PES packet is discarded and the subtitle PES packet Since it is possible to sequentially output.

상기 제어부(80)는, 해당 방송 프로그램을 기록할 때 기록된 관리 정보를 참조하여, 상기 버퍼 메모리(40)에 저장되어 있는 서브타이틀 PES 패킷 중에서 처음 출력되는 비디오 PES 패킷의 페이로드와 함께 출력될 서브타이틀 PES 패킷을 결정할 수 있는데, 앞서 설명한 것과 같이, 관리 정보는 비디오 데이터가 처리되는 시간, 함께 재생될 비디오 데이터와 서브타이틀 데이터가 전송되는 시간 간격 또는 상기 버퍼 메모리(40)에 저장되어 있는 서브타이틀 PES 패킷 중에서 비디오 데이터가 출력될 때까지 무시할 패킷의 개수 등으로 표현될 수 있다.The control unit 80 refers to the management information recorded when the broadcast program is recorded and outputs the payload of the video PES packet first outputted from among the subtitle PES packets stored in the buffer memory 40 As described above, the management information includes a time at which the video data is processed, a time interval at which the video data to be reproduced and the subtitle data are transmitted, or a time at which the sub- The number of packets to be ignored until video data is output from the title PES packet, and the like.

도 7은 본 발명의 실시예에 따라 기록 매체에 저장된 시간 정보를 포함한 A/V 데이터와 시간 정보를 포함하지 않은 서브타이틀 데이터를 동기하여 재생하는 것을 도시한 것이다.FIG. 7 illustrates synchronizing playback of A / V data including time information stored on a recording medium and subtitle data not including time information according to an embodiment of the present invention.

상기 제어부(80)는, 상기 버퍼 메모리(40)의 언더런을 방지하고 트릭 플레이(Trick Play)가 가능하도록 상기 스토리지(50)로부터 많은 양의 데이터를 독출하는데, 상기 스토리지(50)로부터의 데이터 독출에 앞서 상기 파서(30)의 필터링 동작을 먼저 준비한다.The controller 80 reads a large amount of data from the storage 50 to prevent underrun of the buffer memory 40 and enable trick play. The filtering operation of the parser 30 is prepared in advance.

상기 제어부(80)는, TimeStamp 3, 4, 5, 6에 출력될 비디오 PES 패킷(Video PTS 3, 4, 5, 6)과 오디오 PES 패킷(Audio PTS 3, 4, 5, 6) 및 서브타이틀 PES 패킷(Subtitle 1, 2, 3, 4)을 형성할 트랜스포트 패킷들을 TimeStamp 1 부근에(정확히는 TimeStamp보다 조금 전에) 상기 스토리지(50)로부터 독출하고, 상기 파서(30)를 통해 독출된 트랜스포트 패킷들을 비디오 PES 패킷, 오디오 PES 패킷, 서브타이틀 PES 패킷 등으로 변환하고 비디오/오디오 PES 패킷의 헤더에서 시간 정보를 읽고 생성된 PES 패킷들을 유형별로 구분하여 상기 버퍼 메모리(40)에 저장하고, 상기 독출된 시간 정보에 따라 상기 디코더(60)를 통해 오디오 PES 패킷과 비디오 PES 패킷의 데이터를 디코딩 하고 출력하는데, 도 7에서는 데이터 독출 이후 PES 패킷 변환, 버퍼링, 비디오/오디오 데이터의 디코딩에 PTS 1, 2의 시간이 소요되고 있다.The control unit 80 generates video PES packets (Video PTS 3, 4, 5, 6), audio PES packets (Audio PTS 3, 4, 5, 6) to be output to Time Stamps 3, 4, 5, The transport packets to form the PES packets (Subtitle 1, 2, 3 and 4) are read out from the storage 50 in the vicinity of TimeStamp 1 (exactly before TimeStamp), and the transport packets read out through the parser 30 Audio PES packet, and subtitle PES packet, reads time information from the header of the video / audio PES packet, and stores the generated PES packets into the buffer memory 40 In FIG. 7, PES packet conversion, buffering, and decoding of video / audio data are performed by PTS 1, PES 2, and PES 3 after decoding the data. The PES packet and the video PES packet are decoded by the decoder 60 according to the read time information. It takes 2 hours There.

상기 비디오/오디오 PES 패킷의 헤더에서 읽은 시간 정보는 첫 비디오와 오디오 PES 패킷의 출력 시간이 TimeStamp 3을 가리키고, 이에 상기 디코더(60)는 Video PTS 3과 Audio PTS 3을 디코딩 하여 TimeStamp 3 시점에 출력하는데, 상기 제어부(80)는, 상기 버퍼 메모리(40)에 저장되어 있는 서브타이틀 PES 패킷 중에서 상기 스토리지(50)에 재생하고자 하는 방송 프로그램과 연계되어(또는 파일의 헤더)에 기록된 관리 정보가 가리키는 서브타이틀 PES 패킷, 즉 3번째 서브타이틀 PES 패킷(Subtitle 3)을 상기 디코더(60)를 통해 디코딩 하여 비디오 PES 패킷(Video PTS 3)과 함께 화면에 출력할 수 있다.The time information read from the header of the video / audio PES packet indicates that the output time of the first video and audio PES packet is TimeStamp 3, and the decoder 60 decodes the video PTS 3 and the audio PTS 3, The control unit 80 determines whether or not the management information recorded in the storage 50 in association with the broadcast program to be played back (or in the header of the file) among the subtitle PES packets stored in the buffer memory 40 The third subtitle PES packet (Subtitle 3) to be decoded by the decoder 60 and output the decoded subtitle PES packet to the screen together with the video PES packet (Video PTS 3).

예를 들어, 초당 25개의 프레임의 영상을 전송하는 텔레비전 시스템인 PAL(Phase Alternation Line) 방식에서 비디오 PES 패킷 하나가 하나의 프레임에 해당한다고 가정하고 비디오, 오디오, 서브타이틀 데이터를 수신하여 첫 비디오 데이터가 출력될 때까지 800msec가 소요된다면(또는 서브타이틀 데이터를 포함하는 트랜스포트 패킷이 비디오나 오디오 데이터를 포함하는 트랜스포트 패킷과 800msec의 간격을 두고 먼저 전송된다면), 상기 제어부(80)는, 버퍼 메모리(40)에 저장되어 있는 서브타이틀 PES 패킷 중에서 처음 20개의 서브타이틀 PES 패킷을 버리고, 비디오 데이터가 출력될 시점에 21번째 서브타이틀 PES 패킷을 출력하여 비디오 데이터와 동기를 맞출 수 있다.For example, assuming that a video PES packet corresponds to one frame in a PAL (Phase Alternation Line) scheme, which is a television system transmitting an image of 25 frames per second, receives video, audio, and subtitle data, (Or if the transport packet including the subtitle data is transmitted first with an interval of 800 milliseconds from the transport packet including the video or audio data), the control unit 80 controls the buffer 80, It is possible to discard the first 20 subtitle PES packets out of the subtitle PES packets stored in the memory 40 and to output the 21st subtitle PES packet at the time when the video data is output to synchronize with the video data.

도 7에서 Subtitle 3이 출력되면 상기 버퍼 메모리(40)에서 Subtitle 3은 삭제되고, 도 7에 표시하지 않았지만 마찬가지로 Video/Audio PTS 3도 버퍼 메모리(40)에서 삭제된다. Subtitle 1과 Subtitle 2는, Subtitle 3이 출력될 시점인 TimeStamp 3에 또는 그 전에 상기 버퍼 메모리(40)로부터 삭제될 수 있고, 또는 도 7과 같이 첫 비디오 PES 패킷이 출력되는 시점인 TimeStamp 3 이전에 임의로 출력되면서 상기 버퍼 메모리(40)로부터 삭제될 수도 있다.7, Subtitle 3 is deleted from the buffer memory 40, and Video / Audio PTS 3 is also deleted from the buffer memory 40 although it is not shown in FIG. Subtitle 1 and Subtitle 2 may be deleted from the buffer memory 40 before or before TimeStamp 3 at which Subtitle 3 is output or before TimeStamp 3 at which the first video PES packet is output as shown in FIG. And may be deleted from the buffer memory 40 while being randomly output.

상기 제어부(80)는, 상기 버퍼 메모리(40)의 언더런을 막기 위해, TimeStamp 4 부근에 상기 스토리지(50)로부터 TimeStamp 7, 8, 9, 10에 출력될 비디오 PES 패킷(Video PTS 7, 8, 9, 10)과 오디오 PES 패킷(Audio PTS 7, 8, 9, 10) 및 서브타이틀 PES 패킷(Subtitle 5, 6, 7, 8)을 형성할 트랜스포트 패킷들을 독출하고, 상기 파서(30)는 이를 해석하여 오디오, 비디오, 서브타이틀 PES 패킷을 생성하여 상기 버퍼 메모리(40)에 저장한다. 상기 버퍼 메모리(40)에는 7개의 오디오/비디오 PES 패킷(Video/Audio PTS 4, 5, 6, 7, 8, 9, 10)과 5개의 서브타이틀 PES 패킷(Subtitle 4, 5, 6, 7, 8)이 저장되어 있게 된다.The control unit 80 stores video PES packets (Video PTS 7, 8, 9) to be output from the storage 50 at TimeStamps 7, 8, 9, 10 in the vicinity of TimeStamp 4 to prevent the buffer memory 40 from under- 9 and 10 and transport packets to form audio PES packets (Audio PTS 7, 8, 9 and 10) and subtitle PES packets (Subtitle 5, 6, 7 and 8) And generates audio, video, and subtitle PES packets by analyzing them, and stores them in the buffer memory 40. 5, 6, 7, 8, 9, 10) and five subtitle PES packets (Subtitle 4, 5, 6, 7, 8) are stored.

상기 제어부(80)는, 상기 비디오/오디오 PES 패킷의 헤더에서 읽은 시간 정보를 기초로 TimeStamp 4 시점에 Video PTS 4와 Audio PTS4를 디코딩 하여 출력하고 또한 상기 버퍼 메모리(40)의 서브타이틀 영역에 기록된 서브타이틀 PES 패킷 중에서 가장 오래된 PES 패킷인 Subtitle 4를 디코딩 하여 Video PTS 4와 함께 화면으로 출력하고, 상기 버퍼 메모리(40)으로부터 출력되는 비디오, 오디오, 서브타이틀 PES 패킷을 제거한다.The control unit 80 decodes and outputs the Video PTS 4 and the Audio PTS 4 at the time point of TimeStamp 4 based on the time information read from the header of the video / audio PES packet, and records the decoded video PTS 4 and the Audio PTS 4 in the subtitle area of the buffer memory 40 Subtitle 4, which is the oldest PES packet among the subtitle PES packets, is decoded and output together with the video PTS 4 on the screen, and the video, audio, and subtitle PES packets output from the buffer memory 40 are removed.

상기 제어부(80)는, TimeStamp 5, 6, 7에, 상기 비디오/오디오 PES 패킷의 헤더에서 읽은 시간 정보를 기초로 TimeStamp 5, 6, 7에 대응되는 Video/Audio PTS 5, 6, 7를 각각 출력하고, 상기 버퍼 메모리(40)로부터 입력된 순서대로 Subtitle 5, 6, 7을 차례로 출력하고, 출력되는 PES 패킷을 상기 버퍼 메모리(40)로부터 지운다.The control unit 80 stores Video / Audio PTSs 5, 6, and 7 corresponding to TimeStamps 5, 6, and 7 on TimeStamps 5, 6, and 7 based on time information read from the header of the video / audio PES packet Subtitle 5, 6, and 7 are sequentially output in the order inputted from the buffer memory 40, and the output PES packet is deleted from the buffer memory 40.

상기 제어부(80)는, TimeStamp 8 부근에 다시 상기 스토리지(50)로부터 TimeStamp 11, 12, 13, 14에 출력될 비디오/오디오 PES 패킷(Video/Audio PTS 11, 12, 13, 14) 및 서브타이틀 PES 패킷(Subtitle 9, 10, 11, 12)을 형성할 트랜스포트 패킷들을 독출하고, 상기 파서(30)를 통해 이를 해석하여 오디오, 비디오, 서브타이틀 PES 패킷을 생성하여 상기 버퍼 메모리(40)에 저장하는데, 상기 버퍼 메모리(40)에는 5개의 서브타이틀 PES 패킷(Subtitle 8, 9, 10, 11)이 저장되어 있게 된다.The control unit 80 transmits video / audio PES packets (Video / Audio PTS 11, 12, 13, 14) and subtitles to be output from the storage 50 to TimeStamps 11, 12, 13, Transport packets to form PES packets (Subtitle 9, 10, 11, 12) and interprets them through the parser 30 to generate audio, video, and subtitle PES packets and store them in the buffer memory 40 And five subtitle PES packets (Subtitle 8, 9, 10, 11) are stored in the buffer memory 40.

한편, 상기 제어부(80)는, 스토리지(50)에 기록된 방송 프로그램을 재생하는 도중 임시 중지(Pause)나 느린 재생(Slow forward나 Slow rewind)을 수행하는 경우, 비디오 출력 시간(Video Displayed Count) 값이 멈추거나 서서히 증가 또는 감소하기 때문에, 버퍼 메모리(40)로부터 비디오/오디오 PES 패킷을 읽어 디코딩 하고 출력하는 시간의 진행 속도에 맞추어 상기 버퍼 메모리(40)로부터 서브타이틀 PES 패킷을 읽어 디코딩 및 출력하는 속도를 조절하여 동기를 맞출 수 있다.Meanwhile, the controller 80 controls the video display time when a pause or a slow playback (Slow forward or Slow rewind) is performed during the playback of a broadcast program recorded in the storage 50, The PES packet is read from the buffer memory 40 in accordance with the progress of the time for reading and decoding the video / audio PES packet from the buffer memory 40 and outputting the decoded and output PES packet, The speed can be adjusted to synchronize.

상기 제어부(80)는, 스토리지(50)에 기록된 방송 프로그램을 재생하는 도중 앞으로 빠르게(Fast forward), 뒤로 빠르게(Fast rewind), 또는 점프(Direct Jump) 동작을 수행하는 경우, 특정 시점부터 다시 비디오/오디오 데이터와 서브타이틀 데이터의 동기를 맞춰야 하기 때문에, 상기 버퍼 메모리(40)에 저장되어 있는 데이터를 모두 지우고, 재생이 요청된 시점의 데이터를 상기 스토리지(50)로부터 다시 읽어 필터링(종류별 PES 패킷 생성), 버퍼링, 디코딩 동작을 수행하는데, 최초 비디오 데이터가 출력되는 시점에 상기 버퍼 메모리(40)에 새로 저장된 서브타이틀 데이터 중에서 비디오 데이터와 서브타이틀 데이터의 전송 시간 간격에 해당하는 분량의 선두 서브타이틀 데이터를 무시하고 다음 서브타이틀 데이터부터 디코딩 및 출력하여 비디오 데이터와 동기를 맞출 수 있다.When the fast forward, fast rewind, or jump jump operation is performed during the reproduction of the broadcast program recorded in the storage 50, It is necessary to synchronize the video / audio data with the subtitle data, so that all the data stored in the buffer memory 40 is erased and the data at the time of the reproduction is read from the storage 50 again for filtering A buffer corresponding to the transmission time interval between the video data and the subtitle data among the subtitle data newly stored in the buffer memory 40 at the time when the first video data is output, Ignores the title data and decodes and outputs the next subtitle data to synchronize with the video data .

상기 제어부(80)는, 상기 스토리지(50)에 기록된 방송 프로그램과 관련하여 시간 정보와 저장 위치(주소) 정보를 연계하여 저장한 관리 정보를 참조하여, 재생이 요청된 시점의 데이터가 기록된 주소를 확인하고, 상기 스토리지(50)를 제어하여 해다 주소에서부터 데이터를 독출할 수 있다.The control unit 80 refers to the management information stored in association with the time information and the storage location (address) information with respect to the broadcast program recorded in the storage 50, Address, and control the storage 50 to read data from the hash address.

이상 전술한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention as defined in the appended claims. Addition or the like.

10: 튜너 20: 디멀티플렉서
30: 파서 40: 버퍼 메모리
50: 스토리지 60: 디코더
70: OSD 생성부 75: 믹서
80: 제어부 85: 시스템 메모리
90: 네트워크부 100: 방송 수신기
10: tuner 20: demultiplexer
30: parser 40: buffer memory
50: Storage 60: Decoder
70: OSD generating section 75: Mixer
80: control unit 85: system memory
90: Network section 100: Broadcast receiver

Claims (21)

방송 신호를 통해 수신되어 저장 매체에 저장된 콘텐츠의 재생 요청에 따라, 상기 저장 매체로부터 상기 콘텐츠의 데이터를 독출하고, 상기 독출되는 콘텐츠 데이터를 해석하여 비디오 데이터와 서브타이틀 데이터로 분류하는 필터링 동작을 수행하고, 상기 비디오 데이터와 서브타이틀 데이터를 디코딩 하여 출력하는 콘텐츠 재생 방법에 있어서,
상기 서브타이틀 데이터에 출력 시점과 관련된 시간 정보가 없을 때, 상기 저장 매체로부터 상기 콘텐츠 데이터를 독출하기에 앞서 상기 필터링 동작을 먼저 수행하고, 상기 필터링 되는 비디오 데이터와 서브타이틀 데이터를 구분하여 버퍼에 버퍼링 하고, 상기 버퍼링 된 비디오 데이터를 디코딩 하여 출력할 때 상기 버퍼링 된 서브타이틀 데이터 중 소정 양의 서브타이틀 데이터 이후의 서브타이틀 데이터를 디코딩 하여 상기 비디오 데이터와 함께 출력하는 것을 특징으로 하는 콘텐츠 재생 방법.
The content data is read from the storage medium in response to a request for reproduction of the content stored in the storage medium, and the content data is analyzed to classify the data into the video data and the subtitle data And decoding the video data and the subtitle data and outputting the decoded video data and the subtitle data,
Wherein the filtering operation is performed prior to reading the content data from the storage medium when the subtitle data does not include the time information related to the output time point, the buffered video data and the subtitle data are separated from each other, And decoding the subtitle data after a predetermined amount of subtitle data among the buffered subtitle data when decoding and outputting the buffered video data, and outputting the decoded subtitle data along with the video data.
제 1항에 있어서,
상기 버퍼링 된 비디오 데이터 중 가장 먼저 출력될 최초 비디오 데이터가 출력되기 전까지 상기 버퍼링 된 서브타이틀 데이터를 출력하지 않는 것을 특징으로 하는 콘텐츠 재생 방법.
The method according to claim 1,
Wherein the buffered subtitle data is not output until the first video data to be outputted first among the buffered video data is output.
제 1항에 있어서,
상기 소정 양은, 상기 비디오 데이터와 서브타이틀 데이터의 처리 속도를 고려하여 같은 타이밍에 출력될 비디오 데이터와 서브타이틀 데이터가 상기 방송 신호로 서로 다른 시간에 전송될 때 그 시간 간격에 대응되는 것을 특징으로 하는 콘텐츠 재생 방법.
The method according to claim 1,
Wherein the predetermined amount corresponds to a time interval when video data and subtitle data to be output at the same timing in consideration of a processing speed of the video data and subtitle data are transmitted at different times to the broadcasting signal / RTI >
제 3항에 있어서,
상기 시간 간격은, 상기 콘텐츠를 수신하여 저장한 방송 수신기가 상기 콘텐츠에 해당하는 방송 신호를 수신할 때 측정하여 저장하거나 상기 방송 수신기가 제조될 때 비휘발성 메모리에 저장되는 것을 특징으로 하는 콘텐츠 재생 방법.
The method of claim 3,
Wherein the time interval is measured and stored when a broadcast receiver receiving and storing the content receives a broadcast signal corresponding to the content or is stored in a nonvolatile memory when the broadcast receiver is manufactured .
제 1항에 있어서,
상기 저장 매체에 저장되어 독출되는 콘텐츠 데이터는 트랜스포트 스트림이고, 상기 필터링 동작은 상기 트랜스포트 스트림을 비디오 패킷과 서브타이틀 패킷을 포함하는 패킷 엘리먼트 스트림으로 변환하는 것을 특징으로 하는 콘텐츠 재생 방법.
The method according to claim 1,
Wherein the content data stored in and read from the storage medium is a transport stream, and the filtering operation converts the transport stream into a packet element stream including a video packet and a subtitle packet.
제 5항에 있어서,
상기 서브타이틀 데이터의 시간 정보 포함 유무는 상기 서브타이틀 패킷의 헤더를 확인하여 판단하거나 또는 상기 콘텐츠 파일의 헤더에 서브타이틀 데이터에 대한 시간 정보 유무를 가리키는 정보를 통해 판단하는 것을 특징으로 하는 콘텐츠 재생 방법.
6. The method of claim 5,
Whether or not the subtitle data includes time information is determined by checking the header of the subtitle packet or by determining whether the subtitle data includes time information on the subtitle data in the header of the content file .
제 5항에 있어서,
상기 비디오 데이터와 서브타이틀 데이터는 상기 패킷 엘리먼터리 스트림의 패킷을 구성하는 페이로드 단위로 버퍼링 되고 출력되는 것을 특징으로 하는 콘텐츠 재생 방법.
6. The method of claim 5,
Wherein the video data and the subtitle data are buffered and output in units of payloads constituting a packet of the packet elementary stream.
제 7항에 있어서,
상기 소정 양은 상기 서브타이틀 페이로드의 개수로 표현되고 상기 버퍼에 버퍼링 된 전체 서브타이틀 페이로드의 개수보다 작은 값인 것을 특징으로 하는 콘텐츠 재생 방법.
8. The method of claim 7,
Wherein the predetermined amount is a value represented by the number of subtitle payloads and smaller than the number of all subtitle payloads buffered in the buffer.
제 7항에 있어서,
상기 비디오 패킷과 서브타이틀 패킷이 출력되면, 상기 출력된 비디오 패킷과 서브타이틀 패킷을 상기 버퍼에서 지우는 것을 특징으로 하는 콘텐츠 재생 방법.
8. The method of claim 7,
And when the video packet and the subtitle packet are output, the output video packet and the subtitle packet are deleted from the buffer.
제 1항에 있어서,
상기 버퍼링 된 비디오 데이터 중 가장 먼저 출력될 최초 비디오 데이터와 함께 서브타이틀 데이터가 출력될 때 상기 출력되는 서브타이틀 데이터 이전에 버퍼링 되어 있는, 상기 소정 양의 서브타이틀 데이터를 상기 버퍼에서 지우는 것을 특징으로 하는 콘텐츠 재생 방법.
The method according to claim 1,
And subtracting the predetermined amount of subtitle data buffered before the output subtitle data when the subtitle data is output together with the first video data to be output first among the buffered video data. / RTI >
제 1항에 있어서,
상기 콘텐츠를 재생하는 도중 앞으로 빠르게, 뒤로 빠르게, 또는 점프 동작이 요청되면, 상기 버퍼에 저장되어 있는 데이터를 모두 지우고 재생이 요청된 시점의 데이터를 상기 저장 매체로부터 독출하고 필터링, 버퍼링, 디코딩 동작을 수행하되, 상기 버퍼에 버퍼링 된 비디오 데이터 중 가장 먼저 출력될 최초 비디오 데이터를 디코딩 하여 출력할 때 상기 버퍼링 된 서브타이틀 데이터 중 상기 소정 양의 서브타이틀 데이터 이후의 서브타이틀 데이터를 디코딩 하여 상기 최초 비디오 데이터와 함께 출력하는 것을 특징으로 하는 콘텐츠 재생 방법.
The method according to claim 1,
If the fast, fast, or jump operation is requested in the course of playing back the content, all the data stored in the buffer is erased, the data at the point in time when the playback is requested is read from the storage medium, and filtering, When decoding the first video data to be outputted first among the video data buffered in the buffer and outputting the decoded first video data, decoding the subtitle data after the predetermined amount of subtitle data among the buffered subtitle data, And outputting the content data.
제 11항에 있어서,
상기 재생이 요청된 시점의 데이터는, 상기 콘텐츠가 수신되어 저장될 때 상기 비디오 데이터의 출력 시점을 알리는 시간 정보와 해당 비디오 데이터가 기록되는 위치 정보가 연계되어 저장된 관리 정보를 참조하여 독출되는 것을 특징으로 하는 콘텐츠 재생 방법.
12. The method of claim 11,
The data at the time when the content is requested to be reproduced is read out by referring to the management information in which the time information indicating the output time of the video data is associated with the location information in which the video data is recorded when the content is received and stored .
콘텐츠의 방송 신호를 수신하기 위한 방송 수신부;
상기 방송 신호를 통해 수신되는 콘텐츠 데이터를 저장하기 위한 저장부;
상기 콘텐츠 데이터를 해석하여 비디오 데이터와 서브타이틀 데이터의 유형별로 분류하는 필터링 동작을 수행하기 위한 파서;
상기 유형별로 구분된 비디오 데이터와 서브타이틀 데이터를 버퍼링 하기 위한 버퍼 메모리;
상기 버퍼 메모리에 저장되어 있는 비디오 데이터와 서브타이틀 데이터를 디코딩 하여 출력하기 위한 디코더; 및
각 구성 요소를 제어하여 콘텐츠를 재생하기 위한 제어부를 포함하여 구성되고,
상기 제어부는, 상기 저장부에 저장된 콘텐츠를 재생할 때 상기 서브타이틀 데이터에 출력 시점과 관련된 시간 정보가 없으면, 상기 저장부로부터 상기 콘텐츠 데이터를 독출하기에 앞서 상기 파서를 제어하여 상기 필터링 동작을 먼저 수행하고, 상기 버퍼링 된 비디오 데이터를 디코딩 하여 출력할 때 상기 버퍼링 된 서브타이틀 데이터 중 소정 양의 서브타이틀 데이터 이후의 서브타이틀 데이터를 디코딩 하여 상기 비디오 데이터와 함께 출력하도록 상기 디코더를 제어하는 것을 특징으로 하는 방송 수신기.
A broadcast receiving unit for receiving a broadcast signal of contents;
A storage unit for storing content data received through the broadcast signal;
A parser for analyzing the content data and performing a filtering operation to classify the content data according to types of video data and subtitle data;
A buffer memory for buffering the video data and the subtitle data classified by the type;
A decoder for decoding and outputting video data and subtitle data stored in the buffer memory; And
And a control unit for controlling each component to reproduce the content,
When the content stored in the storage unit is reproduced, if there is no time information related to the output time in the subtitle data, the parser is controlled prior to reading the content data from the storage unit to perform the filtering operation first And controls the decoder to decode the subtitle data after a predetermined amount of subtitle data among the buffered subtitle data and to output the decoded subtitle data together with the video data when the buffered video data is decoded and output. Broadcasting receiver.
제 13항에 있어서,
상기 소정 양은, 상기 파서와 디코더가 상기 비디오 데이터와 서브타이틀 데이터를 처리하는 속도를 고려하여 같은 타이밍에 출력될 비디오 데이터와 서브타이틀 데이터가 상기 방송 신호로 서로 다른 시간에 전송될 때 그 시간 간격에 대응되는 것을 특징으로 하는 방송 수신기.
14. The method of claim 13,
The predetermined amount is a value obtained by subtracting the video data and the subtitle data to be output at the same timing in consideration of the speed at which the parser and the decoder process the video data and the subtitle data, Wherein the broadcast receiver is responsive to the broadcast signal.
제 14항에 있어서,
상기 제어부는 상기 콘텐츠에 해당하는 방송 신호를 수신할 때 상기 시간 간격을 측정하여 비휘발성 메모리에 저장하거나, 상기 방송 수신기가 제조될 때 비휘발성 메모리에 저장되어 있는 것을 특징으로 하는 방송 수신기.
15. The method of claim 14,
Wherein the controller measures the time interval when receiving a broadcast signal corresponding to the content and stores the time interval in a nonvolatile memory or is stored in a nonvolatile memory when the broadcast receiver is manufactured.
제 13항에 있어서,
상기 제어부는, 상기 버퍼링 된 비디오 데이터 중 가장 먼저 출력될 최초 비디오 데이터와 함께 서브타이틀 데이터를 출력할 때 상기 출력되는 서브타이틀 데이터 이전에 버퍼링 되어 있는, 상기 소정 양의 서브타이틀 데이터를 상기 버퍼 메모리에서 지우는 것을 특징으로 하는 방송 수신기.
14. The method of claim 13,
When the subtitle data is output together with the first video data to be output first among the buffered video data, the control unit may store the predetermined amount of subtitle data before the output subtitle data in the buffer memory Wherein the broadcast receiver receives the broadcast signal.
제 13항에 있어서,
상기 저장부에 저장되는 콘텐츠 데이터는 트랜스포트 스트림이고, 상기 파서는 상기 필터링 동작을 통해 상기 트랜스포트 스트림을 비디오 패킷과 서브타이틀 패킷을 포함하는 패킷 엘리먼트 스트림으로 변환하는 것을 특징으로 하는 방송 수신기.
14. The method of claim 13,
Wherein the content data stored in the storage unit is a transport stream and the parser converts the transport stream into a packet element stream including a video packet and a subtitle packet through the filtering operation.
제 17항에 있어서,
상기 버퍼 메모리는, 상기 비디오 데이터와 서브타이틀 데이터를 패킷 엘리먼터리 스트림의 패킷을 구성하는 페이로드 단위로 버퍼링 하고 출력하는 것을 특징으로 하는 방송 수신기.
18. The method of claim 17,
Wherein the buffer memory buffers the video data and the subtitle data in a payload unit constituting a packet of a packet elementary stream and outputs the buffered data.
제 18항에 있어서,
상기 제어부는, 상기 비디오 패킷과 서브타이틀 패킷이 출력되면, 상기 출력된 비디오 패킷과 서브타이틀 패킷을 상기 버퍼 메모리에서 지우는 것을 특징으로 하는 방송 수신기.
19. The method of claim 18,
Wherein the controller erases the output video packet and the subtitle packet from the buffer memory when the video packet and the subtitle packet are outputted.
제 13항에 있어서,
상기 제어부는, 상기 콘텐츠를 재생하는 도중 앞으로 빠르게, 뒤로 빠르게, 또는 점프 동작이 요청되면, 상기 버퍼 메모리에 저장되어 있는 데이터를 모두 지우고 재생이 요청된 시점의 데이터를 상기 저장부로부터 독출하고 필터링, 버퍼링, 디코딩 동작을 수행하되, 상기 버퍼 메모리에 버퍼링 된 비디오 데이터 중 가장 먼저 출력될 최초 비디오 데이터를 디코딩 하여 출력할 때 상기 버퍼링 된 서브타이틀 데이터 중 상기 소정 양의 서브타이틀 데이터 이후의 서브타이틀 데이터를 디코딩 하여 상기 최초 비디오 데이터와 함께 출력하는 것을 특징으로 하는 방송 수신기.
14. The method of claim 13,
Wherein the control unit deletes all data stored in the buffer memory and reads data from the storage unit at the time when the playback is requested from the storage unit when the content is rapidly, Wherein the first subtitle data after the predetermined amount of subtitle data among the buffered subtitle data is decoded when decoding the first video data to be outputted first among the video data buffered in the buffer memory, And outputs the decoded video data together with the initial video data.
제 20항에 있어서,
상기 제어부는, 수신되는 콘텐츠를 상기 저장부에 저장할 때 상기 비디오 데이터의 출력 시점을 알리는 시간 정보와 해당 비디오 데이터가 기록되는 위치 정보를 연계하여 관리 정보로 관리하고, 상기 관리 정보를 참조하여 상기 재생이 요청된 시점의 데이터를 상기 저장부로부터 독출하는 것을 특징으로 하는 방송 수신기.
21. The method of claim 20,
Wherein the control unit manages time information indicating the output time point of the video data when the received content is stored in the storage unit and location information in which the video data is recorded as management information, And reads the data at the requested time from the storage unit.
KR1020130033282A 2013-03-28 2013-03-28 Method for reproducing contents Withdrawn KR20140118059A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130033282A KR20140118059A (en) 2013-03-28 2013-03-28 Method for reproducing contents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130033282A KR20140118059A (en) 2013-03-28 2013-03-28 Method for reproducing contents

Publications (1)

Publication Number Publication Date
KR20140118059A true KR20140118059A (en) 2014-10-08

Family

ID=51990971

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130033282A Withdrawn KR20140118059A (en) 2013-03-28 2013-03-28 Method for reproducing contents

Country Status (1)

Country Link
KR (1) KR20140118059A (en)

Similar Documents

Publication Publication Date Title
US8136140B2 (en) Methods and apparatus for generating metadata utilized to filter content from a video stream using text data
US8977106B2 (en) Methods and apparatus for filtering content in a video stream using closed captioning data
US8165451B2 (en) Methods and apparatus for displaying information regarding interstitials of a video stream
US7742687B2 (en) Digital television recorders and stream format conversion and methods thereof
KR100405975B1 (en) Method for stream jump
US9350936B2 (en) Controlling playback of recordings
KR20050052717A (en) System and method for transcording stream data except audio data
US8254764B2 (en) Recording apparatus, image reproducing apparatus, and special reproduction method therefor
US7865064B2 (en) Recording/output apparatus and recording/output method
US20080145019A1 (en) Video recording and reproducing apparatus and method of reproducing video in the same
KR20140118059A (en) Method for reproducing contents
KR101053699B1 (en) Recording device and method of digital broadcasting
US8615155B2 (en) Device and method for receiving video data packets
KR101539776B1 (en) An apparatus for recording and playing broadcast signal and a method thereof using additional timestamp
JP5016335B2 (en) Playback apparatus and playback method
US8290335B2 (en) Method and apparatus for recording transport stream
KR100392307B1 (en) Apparatus and method for recording a signal of high definition digital broadcasting
KR100539731B1 (en) Transport stream storage device and method
KR100708377B1 (en) Decoder for simultaneous display when receiving digital broadcast
WO2013146657A1 (en) Video recording device, thumbnail management information creation device, video recording method and video recording program

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20130328

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20180116

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20130328

Comment text: Patent Application

PC1202 Submission of document of withdrawal before decision of registration

Comment text: [Withdrawal of Procedure relating to Patent, etc.] Withdrawal (Abandonment)

Patent event code: PC12021R01D

Patent event date: 20190103

WITB Written withdrawal of application