KR20140118059A - 콘텐츠 재생 방법 - Google Patents

콘텐츠 재생 방법 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
English (en)
Inventor
강태혁
Original Assignee
(주)휴맥스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)휴맥스 filed Critical (주)휴맥스
Priority to KR1020130033282A priority Critical patent/KR20140118059A/ko
Publication of KR20140118059A publication Critical patent/KR20140118059A/ko
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)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 콘텐츠 재생 방법에 관한 것이다. 본 발명의 일 실시예에서, 방송 신호를 통해 수신되어 저장 매체에 저장된 콘텐츠의 재생 요청에 따라, 상기 저장 매체로부터 상기 콘텐츠의 데이터를 독출하고, 상기 독출되는 콘텐츠 데이터를 해석하여 비디오 데이터와 서브타이틀 데이터로 분류하는 필터링 동작을 수행하고, 상기 비디오 데이터와 서브타이틀 데이터를 디코딩 하여 출력하는 콘텐츠 재생 방법에 있어서, 상기 서브타이틀 데이터에 출력 시점과 관련된 시간 정보가 없을 때, 상기 저장 매체로부터 상기 콘텐츠 데이터를 독출하기에 앞서 상기 필터링 동작을 먼저 수행하고, 상기 필터링 되는 비디오 데이터와 서브타이틀 데이터를 구분하여 버퍼에 버퍼링 하고, 상기 버퍼링 된 비디오 데이터를 디코딩 하여 출력할 때 상기 버퍼링 된 서브타이틀 데이터 중 소정 양의 서브타이틀 데이터 이후의 서브타이틀 데이터를 디코딩 하여 상기 비디오 데이터와 함께 출력할 수 있다. 따라서, 서브타이틀 데이터에 시간 정보가 없는 상태로 방송으로 전송된 콘텐츠를 기록 매체에 기록한 후 재생하는 경우에도 AV 데이터와 서브타이틀 데이터를 동기하여 재생할 수 있게 된다.

Description

콘텐츠 재생 방법 {Method for reproducing contents}
본 발명은 콘텐츠를 재생하는 방법에 관한 것으로, 더욱 상세하게는 서브타이틀에 시간 정보가 없는 상태로 방송되어 매체에 기록된 콘텐츠의 A/V 데이터와 서브타이틀을 동기하기 재생하기 위한 것이다.
지상파 방송, 위성 방송, 그리고 케이블 방송 등과 같은 여러 유형의 디지털 방송 서비스가 제공되고 있고, 또한 이러한 여러 유형의 방송을 통해 시청할 수 있는 채널이나 콘텐츠가 많아지고, 이러한 디지털 방송을 수신할 수 있는 셋탑 박스나 텔레비전 등과 같은 방송 수신기도 널리 보급되고 있다.
또한, 피브이알(PVR: Personal Video Recording) 기능을 구비한 셋탑 박스도 널리 보급되어 사용자가 원하는 방송 프로그램을 하드 디스크와 같은 대용량의 저장 매체에 녹화하여 원하는 시간에 시청할 수 있게 된다.
방송국은 늘어난 방송 채널을 채우고 콘텐츠의 다양화를 위해 오래된 영화나 방송 프로그램과 같은 아날로그 콘텐츠를 디지털화하여 방송하는데, 영상 데이터와 오디오 데이터는 MPEG-2 표준에 맞게 시간 정보를 포함하도록 인코딩 하여 트랜스포트 패킷(Transport Packet)을 생성하여 전송하지만 자막, 즉 서브타이틀(Subtitle) 데이터는 시간 정보를 삽입하지 않은 상태로 트랜스포트 패킷을 생성하여 전송하는 경우도 있다. 이때 A/V 트랜스포트 패킷과 동기가 맞도록 서브타이틀 트랜스포트 패킷을 A/V 트랜스포트 패킷 사이에 삽입하고 전송 간격이 조절된 상태로 전송함으로써 이를 수신한 방송 수신기가 A/V 데이터와 서브타이틀 데이터를 특별한 작업 없이 동기하여 재생할 수 있도록 한다.
하지만, 시간 정보가 서브타이틀 데이터에 삽입되지 않은 상태로 방송되는 콘텐츠를 방송 수신기의 PVR 기능을 통해 하드 디스크에 저장한 후 재생하는 경우, 서브타이틀 데이터와 AV 데이터의 동기를 맞추지 못하는 문제가 발생한다.
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 본 발명의 목적은 서브타이틀 데이터에 시간 정보가 없는 상태로 기록 매체에 기록된 콘텐츠를 AV 데이터와 서브타이틀 데이터를 동기하여 재생하는 방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 콘텐츠 재생 방법은, 방송 신호를 통해 수신되어 저장 매체에 저장된 콘텐츠의 재생 요청에 따라, 상기 저장 매체로부터 상기 콘텐츠의 데이터 독출하고, 상기 독출되는 콘텐츠 데이터를 해석하여 비디오 데이터와 서브타이틀 데이터로 분류하는 필터링 동작을 수행하고, 상기 비디오 데이터와 서브타이틀 데이터를 디코딩 하여 출력하되, 상기 서브타이틀 데이터에 출력 시점과 관련된 시간 정보가 없을 때, 상기 저장 매체로부터 상기 콘텐츠 데이터를 독출하기에 앞서 상기 필터링 동작을 먼저 수행하고, 상기 필터링 되는 비디오 데이터와 서브타이틀 데이터를 구분하여 버퍼에 버퍼링 하고, 상기 버퍼링 된 비디오 데이터를 디코딩 하여 출력할 때 상기 버퍼링 된 서브타이틀 데이터 중 소정 양의 서브타이틀 데이터 이후의 서브타이틀 데이터를 디코딩 하여 상기 비디오 데이터와 함께 출력하는 것을 특징으로 한다.
일 실시예에서, 상기 버퍼링 된 비디오 데이터 중 가장 먼저 출력될 최초 비디오 데이터가 출력되기 전까지 상기 버퍼링 된 서브타이틀 데이터를 출력하지 않을 수 있다.
일 실시예에서, 상기 소정 양은 상기 비디오 데이터와 서브타이틀 데이터의 처리 속도를 고려하여 같은 타이밍에 출력될 비디오 데이터와 서브타이틀 데이터가 상기 방송 신호로 서로 다른 시간에 전송될 때 그 시간 간격에 대응될 수 있다.
일 실시예에서, 상기 시간 간격은 상기 콘텐츠를 수신하여 저장한 방송 수신기가 상기 콘텐츠에 해당하는 방송 신호를 수신할 때 측정하여 저장하거나 상기 방송 수신기가 제조될 때 비휘발성 메모리에 저장될 수 있다.
일 실시예에서, 상기 저장 매체에 저장되어 독출되는 콘텐츠 데이터는 트랜스포트 스트림이고, 상기 필터링 동작은 상기 트랜스포트 스트림을 비디오 패킷과 서브타이틀 패킷을 포함하는 패킷 엘리먼트 스트림으로 변환할 수 있다.
일 실시예에서, 상기 서브타이틀 데이터의 시간 정보 포함 유무는 상기 서브타이틀 패킷의 헤더를 확인하여 판단하거나 또는 상기 콘텐츠 파일의 헤더에 서브타이틀 데이터에 대한 시간 정보 유무를 가리키는 정보를 통해 판단할 수 있다.
일 실시예에서, 상기 비디오 데이터와 서브타이틀 데이터는 패킷 엘리먼터리 스트림의 패킷을 구성하는 페이로드 단위로 버퍼링 되고 출력될 수 있다.
일 실시예에서, 상기 소정 양은 상기 서브타이틀 페이로드의 개수로 표현되고 상기 버퍼에 버퍼링 된 전체 서브타이틀 페이로드의 개수보다 작은 값일 수 있다.
일 실시예에서, 상기 비디오 패킷과 서브타이틀 패킷이 출력되면 상기 출력된 비디오 패킷과 서브타이틀 패킷을 상기 버퍼에서 지울 수 있다.
일 실시예에서, 상기 최초 비디오 데이터와 함께 서브타이틀 데이터가 출력될 때 상기 출력되는 서브타이틀 데이터 이전에 버퍼링 되어 있는, 상기 소정 양의 서브타이틀 데이터를 상기 버퍼에서 지울 수 있다.
일 실시예에서, 상기 콘텐츠를 재생하는 도중 앞으로 빠르게, 뒤로 빠르게, 또는 점프 동작이 요청되면, 상기 버퍼에 저장되어 있는 데이터를 모두 지우고 재생이 요청된 시점의 데이터를 상기 저장 매체로부터 독출하고 필터링, 버퍼링, 디코딩 동작을 수행하되, 상기 버퍼에 버퍼링 된 비디오 데이터 중 가장 먼저 출력될 최초 비디오 데이터를 디코딩 하여 출력할 때 상기 버퍼링 된 서브타이틀 데이터 중 상기 소정 양의 서브타이틀 데이터 이후의 서브타이틀 데이터를 디코딩 하여 상기 최초 비디오 데이터와 함께 출력할 수 있다.
일 실시예에서, 상기 재생이 요청된 시점의 데이터는, 상기 콘텐츠가 수신되어 저장될 때 상기 비디오 데이터의 출력 시점을 알리는 시간 정보와 해당 비디오 데이터가 기록되는 위치 정보가 연계되어 저장된 관리 정보를 참조하여 독출될 할 수 있다.
본 발명의 다른 실시예에 따른 방송 수신기는, 콘텐츠의 방송 신호를 수신하기 위한 방송 수신부; 상기 방송 신호를 통해 수신되는 콘텐츠 데이터를 저장하기 위한 저장부; 상기 콘텐츠 데이터를 해석하여 비디오 데이터와 서브타이틀 데이터의 유형별로 분류하는 필터링 동작을 수행하기 위한 파서; 상기 유형별로 구분된 비디오 데이터와 서브타이틀 데이터를 버퍼링 하기 위한 버퍼 메모리; 상기 버퍼 메모리에 저장되어 있는 비디오 데이터와 서브타이틀 데이터를 디코딩 하여 출력하기 위한 디코더; 및 각 구성 요소를 제어하여 콘텐츠를 재생하기 위한 제어부를 포함하여 구성되고, 상기 제어부는, 상기 저장부에 저장된 콘텐츠를 재생할 때 상기 서브타이틀 데이터에 출력 시점과 관련된 시간 정보가 없으면, 상기 저장부로부터 상기 콘텐츠 데이터를 독출하기에 앞서 상기 파서를 제어하여 상기 필터링 동작을 먼저 수행하고, 상기 버퍼링 된 비디오 데이터를 디코딩 하여 출력할 때 상기 버퍼링 된 서브타이틀 데이터 중 소정 양의 서브타이틀 데이터 이후의 서브타이틀 데이터를 디코딩 하여 상기 비디오 데이터와 함께 출력하도록 상기 디코더를 제어하는 것을 특징으로 한다.
따라서, 방송 수신기가 서브타이틀 데이터에 시간 정보가 없는 상태로 방송으로 전송된 콘텐츠를 기록 매체에 기록한 후 재생하는 경우에도 AV 데이터와 서브타이틀 데이터를 동기하여 재생할 수 있게 된다.
도 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 데이터와 시간 정보를 포함하지 않은 서브타이틀 데이터를 동기하여 재생하는 것을 도시한 것이다.
이하, 본 발명에 따른 콘텐츠 재생 방법에 대한 실시예를 첨부하는 도면에 의거하여 상세히 설명한다.
현재 디지털 방송은 MPEG-2 시스템 중 트랜스포트 스트림 패킷(TS Packet)을 사용하여 서비스되고 있는데, TS packet은 188바이트의 고정된 길이로 4바이트의 TS 헤더(Header)와 184바이트의 페이로드(Payload)로 구성된다. 디지털 방송은 데이터 전송 환경이 좋지 않기 때문에 전송 도중 에러가 발생할 확률이 높아서, 데이터를 짧게 여러 개로 나누어 전송해야 혹시라도 발생할 수 있는 에러가 주는 영향을 최소화 할 수 있다. 또 TS는 다중 채널(Multi Channels)을 전송할 수 있는 구조를 가지고 있기 때문에 디지털 방송용으로 사용되고 있다.
도 1은 엘리먼터리 스트림(ES: Elementary Stream)으로부터 패킷 엘리먼터리 스트림(PES: Packetized Elementary Stream)과 디지털 방송으로 전송되는 트랜스포트 스트림(TS: Transport Stream)을 생성하는 과정을 도시한 것이다.
엘리먼터리 스트림(ES)은 비디오와 오디오로 구성되는 콘텐츠가 MPEG-2 인코더에 의해 부호화와 압축 과정을 거쳐 만들어지는 디지털 데이터의 기본 스트림을 가리키고, 오디오, 비디오, 데이터 각각에 대해 하나의 기본 ES가 맞들어지므로, ES는 프로그램의 내용물이 부호화되고 압축된 하나의 스트림이다. 이렇게 만들어진 ES는 패킷타이징 과정과 멀티플렉싱 과정을 거쳐 저장하거나 전송할 수 있는 형태의 프로그램 스트림이나 전송 스트림을 만드는 데 사용된다. PES는 ES를 전송하기 위하여 헤더 정보를 추가하여 패킷화한 흐름을 가리키는데 보통 비디오 PES는 하나의 프레임에 대한 영상 정보이다.
PES 패킷은 도 1과 같이 생성되는데, Ex가 비디오 엘리먼터리 스트림(ES)이라고 가정하면 E1, E2, E3는 각 프레임이 인코딩 된 결과라고 할 수 있다. 이렇게 만들어진 ES 각각에 PES 헤더를 붙임으로써 PES 패킷을 만드는데, 도 1에서 P1, P2, P3가 PES 헤더가 되고, 각 PES의 길이는 동일하지 않을 수 있다.
이 PES 패킷들을 고정된 길이를 갖는 TS 패킷으로 만들기 위해 일정 크기(184바이트)로 자르고 4바이트의 TS 헤더를 앞에 붙임으로써 TS 패킷을 생성한다. 이 단계에서 PES 패킷은 TS를 만들면서 이전 PES 패킷과 현재 PES 패킷을 하나의 TS 패킷에 실어서 전송하지 않는데, 도 1에 첫 번째 TS 패킷은 첫 번째 PES 패킷의 일부를 싣고도 여유 공간이 있기 때문에 두 번째 PES 패킷의 일부분을 실을 수 있지만 그렇게 하지 않고 대신 그 자리를 널 데이터(Null Data)로 채워서 184 바이트를 만든다.
TS 패킷은 PES 패킷을 포함하고 있는 것과 기타 부가적인 테이블 데이터를 가지고 있는 섹션(Section)을 포함하고 있는 것으로 구분할 수 있다. 섹션을 포함하는 TS 패킷을 생성하는 과정도 앞서 설명한 PES를 포함하는 TS 패킷을 생성하는 과정과 동일한데, 널 데이터를 채우는 과정과 1바이트짜리 pointer_field를 추가하는 것만 다르다.
섹션을 포함하는 TS 패킷은 연속된 두 개의 섹션이 하나의 TS 패킷에 포함되어 전송될 수 있는데, 널 데이터를 삽입하지 않고 대신 1바이트짜리 pointer_field를 TS 헤더 바로 다음에 추가한다. Pointer_field는 하나의 TS 패킷 안에서 새롭게 시작되는 섹션의 시작 위치를 가리키는데, 좀 더 정확하게 표현하면 연속되는 섹션 중에서 마지막으로 붙는 데이터의 길이를 나타낸다. Pointer_field를 추가하는 이유는 연속된 섹션이 하나의 TS 패킷에 실려 전송된 경우 수신부에서 두 섹션을 정확하게 분리할 수 있도록 해주기 위함이다.
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개의 섹션을 모아 하나의 테이블을 완성해야 하는 것이다.
PSI는, 오디오, 비디오 데이터를 정상적으로 재생시키기 위해 필요한 데이터로 PAT, PMT, CAS, NIT, TSDT등으로 구성되어 있다. 다중 채널 전송이라면 프로그램의 달라진 정보를 디코더가 가능한 빠른 시간 내에 정보를 받을 수 있도록 PSI가 일정한 시간 간격으로 전송되는데, MPEG에서는 최대한 0.7초 이내에 PSI를 전송해야 한다고 규정하고 있다. 방송 수신기가 원하는 방송을 수신하려면 무작위로 전송되어 오는 수많은 패킷 중 필요한 패킷 어떤 트랜스폰더(Transponder)에서 오는지, 어떤 패킷 식별자(PID: Packet Identification)를 통해서 오는지, 암호화가 되어 있으면 어떻게 풀어야 하는지 등의 정보가 있어야 하고, 이러한 정보들이 PSI에서 제공된다.
PAT는 패킷 중 가장 기본이 되는 패킷으로 PID도 0x0000으로 할당되어 있는데, PAT에는 채널에 대한 정보를 포함하고 있는 PMT의 PID를 포함하고 있고 네트워크 정보를 담고 있는 NIT의 PID를 갖고 있다. PMT는, 예를 들어 KBS, MBC, SBS 각각의 방송을 보기 위한 채널마다의 오디오, 비디오, 데이터 정보 등이 어떤 PID를 갖고 전송되는 지에 대한 정보를 포함하고 있다.
도 2는 방송을 보기 위해 방송 수신기가 진행하는 TS 패킷의 분석 과정을 간략하게 도시한 것이고, 도 3은 PAT와 PMT를 이용하여 PES 패킷을 생성하는 과정을 도시한 것이다.
처음 PID =0x0000인 PAT 패킷을 찾아서 페이로드 내용을 분석하는데, 도 3의 예에서 PAT 안에는, 예를 들어 KBS, MBC, SBS, EBS의 네 개의 채널에 대한 정보와 NIT, TSDT 등이 어떤 PID를 통해서 전송되는 지를 나타내는 정보가 들어 있다.
사용자가, 예를 들어 MBC라는 채널을 시청하고자 선택하면, 방송 수신기는 MBC 채널의 실제 데이터 (오디오, 비디오, 및 서브타이틀 데이터)가 어떤 PID를 통해 전송되는지를 가리키는 PMT의 PID를 PAT로부터 찾게 되는데, 도 3의 예에서 PID가 0x0102인 패킷을 찾게 된다. 이후 해당 PID를 갖는 패킷(PMT를 포함하는 패킷)을 파싱(Parsing)하여 또 다시 오디오 데이터, 비디오 데이터, 서브타이틀 데이터 등이 어떤 PID의 패킷에 있는지 확인하고, PMT에서 알아낸 PID를 이용하여 오디오, 비디오, 서브타이틀 각각의 데이터가 포함되어 있는 패킷을 선택하고 조립하여 PES 패킷을 생성하고, 오디오, 비디오, 서브타이틀을 서로 구분하여 디코딩을 하여 방송을 재생한다.
PES는 엘리먼터리 스트림(ES)를 패킷으로 만든 것을 말하고 비디오 PES 패킷, 오디오 PES 패킷, 서브타이틀 PES 패킷으로 구분되는데, 동영상의 재생은 오디오, 비디오, 서브타이틀의 싱크가 중요한 요소이므로, PES 헤더 대부분의 정보는 수신부에서 오디오, 비디오, 서브타이틀을 재생할 동기(Synchronization)를 맞출 때 사용할 정보인 PCR(Program Clock Reference), PTS(Presentation Time Stamp), DTS(Decoding Time Stamp) 등으로 구성된다.
PCR은 인코더 시스템의 시간을 소정 주파수(예를 들어 27Mhz)의 시스템 클록으로 샘플링 한 값으로 오디오, 비디오를 재생할 때 기준 시각으로 사용되고, PTS는 오디오나 비디오가 실제로 재생되어야 하는 시각을 나타내고, DTS는 수신된 오디오, 비디오 정보가 디코딩 되어야 하는 시각을 나타낸다.
도 4는 방송 수신기가 방송을 통해 전송되는 A/V 데이터와 시각 정보가 없는 서브타이틀 데이터를 동기하여 재생하는 것을 도시한 것이다.
서브타이틀 데이터를 포함하되 시각 정보가 포함되지 않는 트랜스포트 패킷은, 수신되는 오디오/비디오 데이터의 트랜스포트 패킷으로부터 PES 패킷이 생성되고 생성되는 PES 패킷에 포함된 시각 정보가 가리키는 재생 시점에 함께 재생될 수 있도록, 오디오 데이터나 비디오 데이터를 포함하는 트랜스포트 패킷이 전송되는 시간 사이 사이에 삽입되어 전송된다.
시각 정보가 포함되지 않은 서브타이틀 데이터는, 서브타이틀 PES 패킷으로 생성되더라도 출력할 시점을 알 수 없기 때문에 버퍼링 되지 않고, 디코더는 서브타이틀을 포함하는 트랜스포트 패킷을 수집하여 PES 패킷을 생성하는 대로 바로 화면에 출력해야 한다.
방송국에서는, 시각 정보가 없는 서브타이틀의 이러한 처리 방식 및 오디오 데이터와 비디오 데이터의 처리 시간(트랜스포트 패킷을 수집하여 PES 패킷을 생성하고, 오디오 PES 패킷과 비디오 PES 패킷을 구분하여 버퍼링 하고, PES 패킷에 포함된 시각 정보에 맞춰 오디오 데이터와 비디오 데이터를 디코딩 하고 출력하는 동안의 시간)을 고려하여, 오디오/비디오 데이터를 포함하는 트랜스포트 패킷과 서브타이틀 데이터를 포함하는 트랜스포트 패킷의 전송 간격을 조절한다.
도 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에 바로 재생된다.
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이 동기되어 재생된다.
TimeStamp 1 내지 TimeStamp 3에 전송되는 오디오와 비디오 데이터를 포함하는 트랜스포트 패킷은 종류에 따라 수집되어 각각 PES 패킷(Video PTS 1~3, Audio PTS 1~3)으로 변환되고, PES 패킷 헤더에 포함된 시간 정보는 시간 또는 시각을 제어하기 위한 타이머 블록에 관리되고, PES 패킷의 페이로드는 각각 오디오 버퍼와 비디오 버퍼에 버퍼링 되고, 타이머 블록에 관리되는 시간 정보에 맞추어 버퍼링 된 데이터가 디코딩 되고 또한 화면이나 앰프를 통해 출력된다.
도 4와 같이, 같은 시간에 재생될 오디오/비디오/서브타이틀 데이터가 소정 시간(오디오/비디오 데이터의 처리 시간) 간격을 두고 전송되고, 시간 정보가 없는 서브타이틀 데이터는 PES 패킷으로 변환된 후 바로 재생되어, 오디오/비디오/서브타이틀 데이터가 동기를 맞추게 된다.
도 5는 방송 수신기가 기록 매체에 저장된, 시간 정보를 포함한 A/V 데이터와 시간 정보를 포함하지 않은 서브타이틀 데이터를 독출하여 재생할 때 서브타이틀 데이터의 동기 맞춤이 실패하는 것을 도시한 것이다.
녹화 기능이 있는 방송 수신기는, 튜너를 통해 선국되어 수신되는 방송 데이터를 트랜스포트 패킷 형태로 저장 매체, 예를 들어 하드 디스크(HDD), SSD(Solid State Drive) 또는 SD(Secure Digital) 카드와 같은 플래시 메모리 카드에 기록할 수 있다.
방송 수신기는, 저장 매체에 기록된 방송 콘텐츠를 재생할 때, 버퍼의 언더플로우(Underflow)를 막기 위해 한 번에 많은 양의 데이터(트랜스포트 패킷)를 저장 매체에서 읽어 필터링 하고 버퍼링 한 후 디코딩 하여 재생하는데, 여기서 필터링은 저장 매체에서 읽은 트랜스포트 패킷을 PES 패킷으로 변환하고 PES 패킷의 종류별로 분류하는 동작을 말한다.
트랜스포트 패킷에서 수집되어 PES 패킷으로 변환되고 각각 버퍼링 되는 PES 패킷의 페이로드의 오디오 및 비디오 데이터는 해당 PES 패킷의 헤더에 포함된 시간 정보에 따라 재생되는데, PES 패킷으로 변환된 서브타이틀 데이터는 시간 정보가 없기 때문에 버퍼링 되지 않고 모두 한꺼번에 출력되어 오디오 및 비디오 데이터와의 동기가 맞지 않게 된다.
도 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부터 순차적으로 재생되어, 비디오/오디오 데이터와 서브타이틀 데이터의 동기가 맞지 않게 된다.
비슷하게, 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부터 순차적으로 재생되어, 비디오/오디오 데이터와 서브타이틀 데이터의 동기가 맞지 않게 된다.
또한, 저장 매체에서 독출되는 데이터를 필터링 하여 데이터의 종류에 따라 버퍼링 할 때, 데이터에 대한 필터링 동작이 이루어지기 전에 저장 매체에서 독출된 데이터는 필터링 되지 않고 버려지게 된다. PES 패킷으로 필터링 된 오디오 데이터와 비디오 데이터는 PES 패킷에 시각 정보가 포함되어 있기 때문에 이미 버려진 PES 패킷의 개수를 확인할 수 있지만 PES 패킷으로 필터링 된 서브타이틀 데이터는 PES 패킷에 시각 정보가 포함되어 있지 않기 때문에 이미 버려진 서브타이틀 PES 패킷의 개수를 확인할 수 없다.
또한, PES 패킷은 페이로드가 각각 크기가 다르고 오디오/비디오 데이터에 비해 서브타이틀 데이터의 양이 훨씬 적기 때문에, 오디오/비디오 PES 패킷에 비해 서브타이틀 PES 패킷이 버려지는 양이 많을 수 있다.
이에 따라 서브타이틀 PES 패킷을 버퍼링 하여 오디오/비디오 PES 패킷과의 시간 간격을 맞추어 출력하더라도 이미 버려진 서브타이틀 PES 패킷만큼 서브타이틀 데이터가 오디오/비디오 데이터보다 먼저 출력되는 문제가 발생할 수 있다.
본 발명은, 이러한 상황을 극복하기 위하여, 저장 매체로부터 기록된 방송 데이터를 읽는 동작을 수행하기 전에 먼저 필터링 동작을 수행하여 저장 매체로부터 독출되는 데이터가 필터링 되지 않고 버려지는 것을 막고, 시간 정보가 없는 서브타이틀 데이터를 서브타이틀 버퍼에 버퍼링 하되 오디오/비디오 데이터의 출력 시간 및 비디오 데이터와 서브타이틀 데이터의 전송 간격을 기초로 서브타이틀 데이터의 출력 시점을 조절하여 오디오/비디오 데이터와 서브타이틀 데이터의 동기를 맞춘다.
도 6은 본 발명이 적용되는 방송 수신기의 구성을 도시한 것으로, 본 발명에 따른 방송 수신기는, 지상파 방송, 위성 방송, 그리고 케이블 방송, IP 방송 등의 디지털 방송을 수신하는 셋탑 박스나 텔레비전 등이 될 수 있다.
본 발명에 따른 방송 수신기(100)는, 도 6에 도시한 바와 같이, 튜너/디모듈레이터(Tuner/Demodulator)(10)(이하에서는 간단하게 튜너라고 칭함), 디멀티플렉서(Demuxer)(20), 파서(30), 버퍼 메모리(40), 스토리지(50), 디코더(60), OSD 생성부(70), 믹서(75), 제어부(80), 시스템 메모리(85), 네트워크부(90) 등을 포함하여 구성될 수 있는데, 상기 튜너(10)와 디멀티플렉서(20)가 하나의 방송 수신부로 묶일 수 있다.
상기 튜너(10)는, 연결된 RF 신호선, 예를 들어 동축케이블 등을 통해 수신되는 방송 신호(예를 들어 지상파, 케이블 또는 위성 방송 신호 )에서 사용자가 선택한 신호 대역을 동조하고 그 동조된 대역을 통해 QPSK(Quadrature Phase Shift Keying), QAM(Quadrature Amplitude Modulation), VSB(Vestigial SideBand) 또는 OFDM(Orthogonal Frequency Division Multiplexing) 방식으로 변조되어 입력되는 디지털 신호를 복조하여 디지털 스트림으로 출력한다.
상기 디멀티플렉서(20)는, 상기 출력되는 디지털 스트림 내의 다중화된 프로그램의 트랜스포트 스트림 중 선택된 단일 프로그램에 속하는 비디오, 오디오, 서브타이틀 데이터, 관리용 정보(예를 들어, PSI) 등을 수송하는 트랜스포트 패킷을 선택하여 출력하는데, 상기 디멀티플렉서(20)가 디지털 스트림에서 하나의 프로그램에 해당하는 트랜스포트 스트림만을 선별 출력하기 위한 근거 정보는, 트랜스포트 스트림의 선별 출력 전에 해당 동조 채널에서 획득하여 전달되는 프로그램 사양 정보(PSI: Program Specific Information)(PAT, PMT 등)로부터 확인되는, 트랜스포트 패킷 ID, 즉 PID이다.
상기 디멀티플렉서(20)에서 선별되어 출력되는 디지털 스트림은, 특정 모드, 예를 들어 타임 시프트(Time-Shift) 모드 또는 녹화 모드인 경우에 상기 스토리지(50)에도 저장되며, 특히 타임 시프트 모드에서는 그 저장되는 디지털 스트림은 FIFO(First-In First-Out) 방식으로 독출되어 상기 파서(30)에 인가된다.
상기 파서(30)는 상기 디멀티플렉서(20)로부터 인가되거나 또는 상기 제어부(80)의 제어 하에 상기 스토리지(50)로부터 독출되어 인가되는 각 트랜스포트 스트림의 트랜스포트 패킷들을 헤더를 제거하여 페이로드 데이터 만을 모으고, 비디오, 오디오, 서브타이틀 등의 유형 별로 구분하여 PES 패킷 형태로 상기 버퍼 메모리(40)로 출력한다.
상기 버퍼 메모리(40)는, 상기 파서(30)를 통해 구분 출력되는 유형별 PES 패킷 등을 상기 PES 패킷의 헤더 정보를 참조하여 유형별(예를 들어, 비디오, 오디오, 서브타이틀 등)로 영역을 구분하여 임시로 저장한다.
상기 스토리지(50)는, 하드 디스크, SSD(Solid State Drive), SD 메모리 등 대용량의 데이터를 저장하기 위한 것으로, 상기 제어부(80)의 제어 하에, 상기 디멀티플렉서(20)의 출력 스트림을 저장하거나 상기 튜너(10)로부터 출력되는 스크램블 된 트랜스포트 스트림을 직접 저장할 수도 있고, 또는 네트워크로 연결된 외부 서버 또는 USB, IEEE1394 등의 인터페이스를 통해 수신되는 콘텐츠를 저장할 수도 있다.
상기 디코더(60)는 상기 버퍼 메모리(40)에 영역 별로 구분되어 저장되는 PES 패킷들을 그 유형에 따라 해당되는 내부 디코딩 모듈에 인가하여 디코딩 하여 원래의 A/V(오디오/비디오) 신호로 복원 출력한다. 상기 스토리지(50)에 저장되어 있는 콘텐츠 파일은 작은 단위로 나뉘어 상기 버퍼 메모리(40)에 버퍼링 되고, 상기 디코더(60)는 상기 버퍼 메모리(40)에서 피딩 되는 데이터를 디코딩 하여 해당 콘텐츠를 재생할 수도 있다.
상기 OSD 생성부(70)는, 사용자의 요청에 따른 응답을 안내하는 메시지를 생성하고, 상기 믹서(75)를 통해 상기 생성된 메시지와 상기 디코더(60)에서 출력되는 영상을 중첩하여 출력할 수 있다.
상기 제어부(80)는, 사용자의 요청 및/또는 설정된 조건에 따라 방송 신호 또는 콘텐츠의 재생 신호가 TV 화면에 출력되도록 하는데, 제어 동작, 환경 설정 또는 실행되는 프로세스 등에 필요한 데이터를 저장하기 위한 공간을 제공하는 시스템 메모리(85)를 내장할 수 있고, 펌웨어 등의 명령 코드들을 실행함으로써 상기 방송 수신기(100)의 하드웨어 자원의 구동, 해당 자원과의 적절한 신호 및/또는 정보 교환을 수행하기 위한 운영 시스템(미도시)을 포함할 수 있다.
상기 제어부(80)의 동작 또는 그에 의해 실행되는 어플리케이션의 동작은, 상기 운영 시스템의 적절한 중개 동작(예를 들어 도 6의 구성 요소들과 상기 운영 시스템이 각각 제공하는 특정 기능, 예를 들어, 입출력, 외부와의 통신, 하드웨어 상태 확인, 타이머 등을 요구하여 동작을 수행하는 것)을 그 전제로 하고 있으며 그 중개 동작에 대한 설명은 생략한다.
도 6에 예시된 방송 수신기(100)의 구성은 TV와 일체로 구성될 수도 있으며, 컴퓨터 또는 노트북에 부가되는 기기의 형태로 구성될 수도 있다. 또한, 상기 제어부(80)는 통상의 사용자 인터페이스, 예를 들어 키 패드, 리모컨, 터치 패드 등을 통해 사용자로부터의 요청을 수신하고, 필요한 경우 상기 OSD 생성부(70)를 제어하여 그 요청에 따른 응답을 안내하는 영상 신호가 출력되도록 할 수 있는데, 출력되는 영상 신호는 통상의 화면 출력 기능을 갖춘 전자 기기, 예를 들어 TV, 모니터 등을 통해 시각적으로 표현된다.
도 6에 예시한 방송 수신기(100)의 구성은 본 발명에 대한 설명을 구체적이고 예시적으로 보여주기 위한 단지 하나의 예일 뿐, 도시되지 않은 다양한 기능의 구성 요소들이 더 포함될 수도 있다. 하지만, 예시되지 않은 구성 요소를 더 포함하더라도 이하에서 예시적으로 설명하는 본 발명의 개념과 주제를 구현하고 있는 또는 별도의 어플리케이션을 실행시킴으로써 본 발명의 개념과 주제를 구현하는 방송 수신기는 청구범위의 해석에서 배제되지 않는 한 당연히 본 발명의 범위에 속하는 것으로 보아야 한다.
한편, 상기 제어부(80)는, 방송 프로그램에 대한 기록 요청이 있으면, 상기 튜너(10)와 디멀티플렉서(Demuxer)(20)를 통해 선국되는 채널의 방송 프로그램에 대한 트랜스포트 스트림을 상기 스토리지(50)에 저장하는데, 이때 상기 파서(30)를 제어하여 상기 스토리지(50)에 기록되는 트랜스포트 스트림의 트랜스포트 패킷으로부터 각 유형별로 PES 패킷을 생성하고, 생성되는 PES 패킷의 헤더를 분석하여 PES 패킷의 디코딩 및/또는 출력과 관련된 시간 정보를 확인하고, 해당 PES 패킷의 생성을 위해 수집되고 상기 스토리지(50)에 기록되는 트랜스포트 패킷의 저장 위치를 상기 확인된 시간 정보와 연계하여 관리 정보로 관리할 수 있다.
상기 관리 정보는 상기 스토리지(50)에 기록되는 방송 프로그램의 시간 정보와 저장 위치(하드 디스크에서의 주소)를 연계하는데, 상기 관리 정보에는 소정 시간 간격으로 시간 정보가 저장 위치와 함께 저장될 수 있다. 상기 방송 프로그램 기록이 종료되면 상기 관리 정보는 기록되는 프로그램에 대한 별도의 관리 파일로 상기 스토리지(50)에 기록되거나 상기 방송 프로그램의 데이터 파일의 헤더에 기록될 수도 있다.
상기 제어부(80)는, 스토리지(50)에 수신되는 방송 프로그램을 기록하는 경우, 상기 파서(30)가 입력되는 트랜스포트 패킷으로부터 유형별로 PES 패킷을 생성하고 PES 패킷의 헤더 정보를 상기 제어부(80)에 제공하는데, 서브타이틀 PES 패킷에 시간 정보가 포함되어 있지 않으면 이를 알리는 정보를 상기 방송 프로그램의 데이터 파일의 헤더에 기록할 수 있다.
또한, 상기 제어부(80)는, 상기 디멀티플렉서(Demuxer)(20)에서 선택되는 트랜스포트 스트림의 일부 패킷에 대해서, 오디오와 비디오 데이터를 담은 트랜스포트 패킷이 상기 파서(30)에 인가되는 시점부터 상기 파서(30)에서 PES 패킷으로 변환되고 PES 패킷의 페이로드가 유형별로 상기 버퍼 메모리(40)에 저장되고 상기 디코더(60)에 의해 디코딩 되어 출력되는 시점까지 시간, 즉 하나 이상의 트랜스포트 패킷이 비디오 또는 오디오 PES 패킷으로 변환되고 버퍼링 되고 디코딩 될 때까지 소요되는 시간을 측정하여 관리 정보로 저장할 수 있다.
서브타이틀 데이터는 하나의 PES 패킷에 담기는 데이터 양이 많지 않아서 필터링에 소요되는 시간(트랜스포트 패킷으로부터 서브타이틀 PES 패킷을 생성하는 데 소요되는 시간)이 매우 작고 텍스트이기 때문에 디코딩 시간도 작은 반면, 비디오 데이터는 많은 개수의 트랜스포트 패킷으로부터 하나의 비디오 PES 패킷을 생성하는 경우가 있어 필터링에 시간이 소요되고 또한 복호화, 역양자화 등 디코딩에 복잡한 계산을 하여 시간이 많이 걸린다.
상기 측정된 시간은 전송 입장에서 판단하면, 같은 타이밍에 화면에 출력될 비디오 트랜스포트 패킷과 서브타이틀 트랜스포트 패킷을 비디오와 서브타이틀의 처리 속도의 차이를 고려하여 서로 다른 시간에 전송할 때(비디오와 오디오 패킷을 서브타이틀 패킷보다 먼저 전송) 그 시간 간격에 해당한다.
또는, 상기 제어부(80)는, 상기 측정되는 시간 동안 상기 파서(30)에 의해 생성되는 서브타이틀 PES 패킷의 개수를 관리 정보로 저장할 수도 있는데, 상기 서브타이틀 PES 패킷의 개수는 처음 입력되는 오디오, 비디오, 서브타이틀 트랜스포트 패킷들로부터 유형별로 PES 패킷을 생성할 때 오디오 및/또는 비디오 PES 패킷이 디코딩 되어 출력되기 전까지 바로 출력하거나(비디오 출력 없이) 또는 출력하지 않고(비디오와 서브타이틀 모두 출력하지 않고) 버릴 서브타이틀 PES 패킷의 개수, 또는 첫 비디오 PES 패킷이 출력될 때 함께 출력될 서브타이틀 PES 패킷의 번호(처음 버퍼링 된 서브타이틀 PES 패킷부터 세기 시작한 번호)에 해당한다.
상기 비디오 데이터와 서브타이틀 데이터의 전송 시간 차이 정보 또는 버퍼 메모리(40)에 저장된 서브타이틀 데이터 중에서 최초 비디오 데이터가 출력될 때 버릴 데이터의 양에 대한 정보는 미리 측정되어 상기 방송 수신기(100)이 제조 과정에 상기 제어부(80)의 시스템 메모리(85)에 미리 저장되어 있을 수도 있다.
상기 제어부(80)는, 상기 스토리지(50)에 기록된 방송 프로그램에 대한 재생 요청이 있으면, 상기 스토리지(50)를 제어하여 상기 스토리지(50)에 기록되어 있는 트랜스포트 스트림의 트랜스포트 패킷 많은 양을 순차적으로 읽고, 상기 파서(30)를 제어하여 트랜스포트 패킷을 분석하여 각 유형별로 PES 패킷을 생성하고 생성된 PES 패킷의 페이로드를 상기 버퍼 메모리(40)에 유형별로 구분하여 저장하고, 상기 디코더(60)를 제어하여 상기 버퍼 메모리(40)에 유형별로 구분 저장된 비디오, 오디오, 서브타이틀 데이터를 디코딩 하여 출력하는데, 상기 파서(30)가 생성한 PES 패킷의 헤더에서 시간 정보를 추출하고 이를 근거로 상기 디코더(60)가 각 PES 패킷의 페이로드마다 디코딩 할 시점과 오디오와 비디오 신호로 출력할 시점을 결정하고 해당 시점에 디코딩 동작과 출력 동작을 수행한다.
상기 스토리지(50)에 기록된 방송 프로그램의 서브타이틀 데이터에 시간 정보가 포함되어 있지 않는 경우, 상기 파서(30)의 필터링 동작이 수행되기 전에 스토리지(50)에서 처음 독출되는 데이터가 필터링 되지 않고 손실되고 얼마의 데이터가 손실되는 지 확인하기 어렵기 때문에, 서브타이틀 데이터와 오디오/비디오 데이터를 동기하여 재생할 수 없다.
따라서, 상기 제어부(80)는, 상기 스토리지(50)에 기록된 방송 프로그램에 대한 재생 요청이 있으면, 상기 스토리지(50)에 기록되어 있는 데이터를 읽는 동작에 앞서 상기 파서(30)가 필터링 동작을 수행하기 위한 준비를 하도록 하고, 상기 파서(30)의 준비가 완료된 이후 상기 스토리지(50)를 제어하여 상기 스토리지(50)에 기록되어 있는 트랜스포트 스트림의 트랜스포트 패킷을 순차적으로 읽어 파서(30)에 제공하고, 상기 파서(30)는 제공되는 트랜스포트 패킷을 분석하여 각 유형별로 PES 패킷을 생성하고 생성된 PES 패킷의 페이로드를 상기 버퍼 메모리(40)에 유형별로 구분하여 저장하고, 상기 파서(30)가 생성한 PES 패킷의 헤더에서 추출한 시간 정보를 근거로 상기 디코더(60)를 통해 디코딩 동작과 출력 동작을 수행한다.
상기 파서(30)가 생성한 PES 패킷 중에서 서브타이틀 PES 패킷의 헤더에 시간 정보가 포함되어 있지 않는 경우 또는 상기 스토리지(50)에 기록되어 있는 방송 프로그램 데이터 파일의 헤더에 서브타이틀 데이터에 대한 시간 정보가 없는 것을 가리키는 정보가 포함되어 있는 경우, 종래에는 서브타이틀 PES 패킷을 버퍼 메모리(40)의 서브타이틀 데이터를 위한 공간에 저장하지 않고 바로 디코더(60)를 통해 출력하였지만, 본 발명에서는 버퍼 메모리(50)의 서브타이틀 영역에 서브타이틀 PES 패킷의 페이로드를 버퍼링 하되, 비디오 PES 패킷의 헤더에서 추출한 시간 정보에 맞추어 출력될 비디오 PES 패킷의 페이로드와 소정 시간 간격으로 서브타이틀 PES 패킷을 앞당겨 출력, 즉 버퍼링 된 서브타이틀 PES 패킷 중 일부를 버리고 소정 번호 이후의 서브타이틀 PES 패킷부터 순차적으로 출력할 수 있다.
상기 제어부(80)는, 해당 방송 프로그램을 기록할 때 기록된 관리 정보를 참조하여, 상기 버퍼 메모리(40)에 저장되어 있는 서브타이틀 PES 패킷 중에서 처음 출력되는 비디오 PES 패킷의 페이로드와 함께 출력될 서브타이틀 PES 패킷을 결정할 수 있는데, 앞서 설명한 것과 같이, 관리 정보는 비디오 데이터가 처리되는 시간, 함께 재생될 비디오 데이터와 서브타이틀 데이터가 전송되는 시간 간격 또는 상기 버퍼 메모리(40)에 저장되어 있는 서브타이틀 PES 패킷 중에서 비디오 데이터가 출력될 때까지 무시할 패킷의 개수 등으로 표현될 수 있다.
도 7은 본 발명의 실시예에 따라 기록 매체에 저장된 시간 정보를 포함한 A/V 데이터와 시간 정보를 포함하지 않은 서브타이틀 데이터를 동기하여 재생하는 것을 도시한 것이다.
상기 제어부(80)는, 상기 버퍼 메모리(40)의 언더런을 방지하고 트릭 플레이(Trick Play)가 가능하도록 상기 스토리지(50)로부터 많은 양의 데이터를 독출하는데, 상기 스토리지(50)로부터의 데이터 독출에 앞서 상기 파서(30)의 필터링 동작을 먼저 준비한다.
상기 제어부(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의 시간이 소요되고 있다.
상기 비디오/오디오 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)과 함께 화면에 출력할 수 있다.
예를 들어, 초당 25개의 프레임의 영상을 전송하는 텔레비전 시스템인 PAL(Phase Alternation Line) 방식에서 비디오 PES 패킷 하나가 하나의 프레임에 해당한다고 가정하고 비디오, 오디오, 서브타이틀 데이터를 수신하여 첫 비디오 데이터가 출력될 때까지 800msec가 소요된다면(또는 서브타이틀 데이터를 포함하는 트랜스포트 패킷이 비디오나 오디오 데이터를 포함하는 트랜스포트 패킷과 800msec의 간격을 두고 먼저 전송된다면), 상기 제어부(80)는, 버퍼 메모리(40)에 저장되어 있는 서브타이틀 PES 패킷 중에서 처음 20개의 서브타이틀 PES 패킷을 버리고, 비디오 데이터가 출력될 시점에 21번째 서브타이틀 PES 패킷을 출력하여 비디오 데이터와 동기를 맞출 수 있다.
도 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)로부터 삭제될 수도 있다.
상기 제어부(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)이 저장되어 있게 된다.
상기 제어부(80)는, 상기 비디오/오디오 PES 패킷의 헤더에서 읽은 시간 정보를 기초로 TimeStamp 4 시점에 Video PTS 4와 Audio PTS4를 디코딩 하여 출력하고 또한 상기 버퍼 메모리(40)의 서브타이틀 영역에 기록된 서브타이틀 PES 패킷 중에서 가장 오래된 PES 패킷인 Subtitle 4를 디코딩 하여 Video PTS 4와 함께 화면으로 출력하고, 상기 버퍼 메모리(40)으로부터 출력되는 비디오, 오디오, 서브타이틀 PES 패킷을 제거한다.
상기 제어부(80)는, TimeStamp 5, 6, 7에, 상기 비디오/오디오 PES 패킷의 헤더에서 읽은 시간 정보를 기초로 TimeStamp 5, 6, 7에 대응되는 Video/Audio PTS 5, 6, 7를 각각 출력하고, 상기 버퍼 메모리(40)로부터 입력된 순서대로 Subtitle 5, 6, 7을 차례로 출력하고, 출력되는 PES 패킷을 상기 버퍼 메모리(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)이 저장되어 있게 된다.
한편, 상기 제어부(80)는, 스토리지(50)에 기록된 방송 프로그램을 재생하는 도중 임시 중지(Pause)나 느린 재생(Slow forward나 Slow rewind)을 수행하는 경우, 비디오 출력 시간(Video Displayed Count) 값이 멈추거나 서서히 증가 또는 감소하기 때문에, 버퍼 메모리(40)로부터 비디오/오디오 PES 패킷을 읽어 디코딩 하고 출력하는 시간의 진행 속도에 맞추어 상기 버퍼 메모리(40)로부터 서브타이틀 PES 패킷을 읽어 디코딩 및 출력하는 속도를 조절하여 동기를 맞출 수 있다.
상기 제어부(80)는, 스토리지(50)에 기록된 방송 프로그램을 재생하는 도중 앞으로 빠르게(Fast forward), 뒤로 빠르게(Fast rewind), 또는 점프(Direct Jump) 동작을 수행하는 경우, 특정 시점부터 다시 비디오/오디오 데이터와 서브타이틀 데이터의 동기를 맞춰야 하기 때문에, 상기 버퍼 메모리(40)에 저장되어 있는 데이터를 모두 지우고, 재생이 요청된 시점의 데이터를 상기 스토리지(50)로부터 다시 읽어 필터링(종류별 PES 패킷 생성), 버퍼링, 디코딩 동작을 수행하는데, 최초 비디오 데이터가 출력되는 시점에 상기 버퍼 메모리(40)에 새로 저장된 서브타이틀 데이터 중에서 비디오 데이터와 서브타이틀 데이터의 전송 시간 간격에 해당하는 분량의 선두 서브타이틀 데이터를 무시하고 다음 서브타이틀 데이터부터 디코딩 및 출력하여 비디오 데이터와 동기를 맞출 수 있다.
상기 제어부(80)는, 상기 스토리지(50)에 기록된 방송 프로그램과 관련하여 시간 정보와 저장 위치(주소) 정보를 연계하여 저장한 관리 정보를 참조하여, 재생이 요청된 시점의 데이터가 기록된 주소를 확인하고, 상기 스토리지(50)를 제어하여 해다 주소에서부터 데이터를 독출할 수 있다.
이상 전술한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.
10: 튜너 20: 디멀티플렉서
30: 파서 40: 버퍼 메모리
50: 스토리지 60: 디코더
70: OSD 생성부 75: 믹서
80: 제어부 85: 시스템 메모리
90: 네트워크부 100: 방송 수신기

Claims (21)

  1. 방송 신호를 통해 수신되어 저장 매체에 저장된 콘텐츠의 재생 요청에 따라, 상기 저장 매체로부터 상기 콘텐츠의 데이터를 독출하고, 상기 독출되는 콘텐츠 데이터를 해석하여 비디오 데이터와 서브타이틀 데이터로 분류하는 필터링 동작을 수행하고, 상기 비디오 데이터와 서브타이틀 데이터를 디코딩 하여 출력하는 콘텐츠 재생 방법에 있어서,
    상기 서브타이틀 데이터에 출력 시점과 관련된 시간 정보가 없을 때, 상기 저장 매체로부터 상기 콘텐츠 데이터를 독출하기에 앞서 상기 필터링 동작을 먼저 수행하고, 상기 필터링 되는 비디오 데이터와 서브타이틀 데이터를 구분하여 버퍼에 버퍼링 하고, 상기 버퍼링 된 비디오 데이터를 디코딩 하여 출력할 때 상기 버퍼링 된 서브타이틀 데이터 중 소정 양의 서브타이틀 데이터 이후의 서브타이틀 데이터를 디코딩 하여 상기 비디오 데이터와 함께 출력하는 것을 특징으로 하는 콘텐츠 재생 방법.
  2. 제 1항에 있어서,
    상기 버퍼링 된 비디오 데이터 중 가장 먼저 출력될 최초 비디오 데이터가 출력되기 전까지 상기 버퍼링 된 서브타이틀 데이터를 출력하지 않는 것을 특징으로 하는 콘텐츠 재생 방법.
  3. 제 1항에 있어서,
    상기 소정 양은, 상기 비디오 데이터와 서브타이틀 데이터의 처리 속도를 고려하여 같은 타이밍에 출력될 비디오 데이터와 서브타이틀 데이터가 상기 방송 신호로 서로 다른 시간에 전송될 때 그 시간 간격에 대응되는 것을 특징으로 하는 콘텐츠 재생 방법.
  4. 제 3항에 있어서,
    상기 시간 간격은, 상기 콘텐츠를 수신하여 저장한 방송 수신기가 상기 콘텐츠에 해당하는 방송 신호를 수신할 때 측정하여 저장하거나 상기 방송 수신기가 제조될 때 비휘발성 메모리에 저장되는 것을 특징으로 하는 콘텐츠 재생 방법.
  5. 제 1항에 있어서,
    상기 저장 매체에 저장되어 독출되는 콘텐츠 데이터는 트랜스포트 스트림이고, 상기 필터링 동작은 상기 트랜스포트 스트림을 비디오 패킷과 서브타이틀 패킷을 포함하는 패킷 엘리먼트 스트림으로 변환하는 것을 특징으로 하는 콘텐츠 재생 방법.
  6. 제 5항에 있어서,
    상기 서브타이틀 데이터의 시간 정보 포함 유무는 상기 서브타이틀 패킷의 헤더를 확인하여 판단하거나 또는 상기 콘텐츠 파일의 헤더에 서브타이틀 데이터에 대한 시간 정보 유무를 가리키는 정보를 통해 판단하는 것을 특징으로 하는 콘텐츠 재생 방법.
  7. 제 5항에 있어서,
    상기 비디오 데이터와 서브타이틀 데이터는 상기 패킷 엘리먼터리 스트림의 패킷을 구성하는 페이로드 단위로 버퍼링 되고 출력되는 것을 특징으로 하는 콘텐츠 재생 방법.
  8. 제 7항에 있어서,
    상기 소정 양은 상기 서브타이틀 페이로드의 개수로 표현되고 상기 버퍼에 버퍼링 된 전체 서브타이틀 페이로드의 개수보다 작은 값인 것을 특징으로 하는 콘텐츠 재생 방법.
  9. 제 7항에 있어서,
    상기 비디오 패킷과 서브타이틀 패킷이 출력되면, 상기 출력된 비디오 패킷과 서브타이틀 패킷을 상기 버퍼에서 지우는 것을 특징으로 하는 콘텐츠 재생 방법.
  10. 제 1항에 있어서,
    상기 버퍼링 된 비디오 데이터 중 가장 먼저 출력될 최초 비디오 데이터와 함께 서브타이틀 데이터가 출력될 때 상기 출력되는 서브타이틀 데이터 이전에 버퍼링 되어 있는, 상기 소정 양의 서브타이틀 데이터를 상기 버퍼에서 지우는 것을 특징으로 하는 콘텐츠 재생 방법.
  11. 제 1항에 있어서,
    상기 콘텐츠를 재생하는 도중 앞으로 빠르게, 뒤로 빠르게, 또는 점프 동작이 요청되면, 상기 버퍼에 저장되어 있는 데이터를 모두 지우고 재생이 요청된 시점의 데이터를 상기 저장 매체로부터 독출하고 필터링, 버퍼링, 디코딩 동작을 수행하되, 상기 버퍼에 버퍼링 된 비디오 데이터 중 가장 먼저 출력될 최초 비디오 데이터를 디코딩 하여 출력할 때 상기 버퍼링 된 서브타이틀 데이터 중 상기 소정 양의 서브타이틀 데이터 이후의 서브타이틀 데이터를 디코딩 하여 상기 최초 비디오 데이터와 함께 출력하는 것을 특징으로 하는 콘텐츠 재생 방법.
  12. 제 11항에 있어서,
    상기 재생이 요청된 시점의 데이터는, 상기 콘텐츠가 수신되어 저장될 때 상기 비디오 데이터의 출력 시점을 알리는 시간 정보와 해당 비디오 데이터가 기록되는 위치 정보가 연계되어 저장된 관리 정보를 참조하여 독출되는 것을 특징으로 하는 콘텐츠 재생 방법.
  13. 콘텐츠의 방송 신호를 수신하기 위한 방송 수신부;
    상기 방송 신호를 통해 수신되는 콘텐츠 데이터를 저장하기 위한 저장부;
    상기 콘텐츠 데이터를 해석하여 비디오 데이터와 서브타이틀 데이터의 유형별로 분류하는 필터링 동작을 수행하기 위한 파서;
    상기 유형별로 구분된 비디오 데이터와 서브타이틀 데이터를 버퍼링 하기 위한 버퍼 메모리;
    상기 버퍼 메모리에 저장되어 있는 비디오 데이터와 서브타이틀 데이터를 디코딩 하여 출력하기 위한 디코더; 및
    각 구성 요소를 제어하여 콘텐츠를 재생하기 위한 제어부를 포함하여 구성되고,
    상기 제어부는, 상기 저장부에 저장된 콘텐츠를 재생할 때 상기 서브타이틀 데이터에 출력 시점과 관련된 시간 정보가 없으면, 상기 저장부로부터 상기 콘텐츠 데이터를 독출하기에 앞서 상기 파서를 제어하여 상기 필터링 동작을 먼저 수행하고, 상기 버퍼링 된 비디오 데이터를 디코딩 하여 출력할 때 상기 버퍼링 된 서브타이틀 데이터 중 소정 양의 서브타이틀 데이터 이후의 서브타이틀 데이터를 디코딩 하여 상기 비디오 데이터와 함께 출력하도록 상기 디코더를 제어하는 것을 특징으로 하는 방송 수신기.
  14. 제 13항에 있어서,
    상기 소정 양은, 상기 파서와 디코더가 상기 비디오 데이터와 서브타이틀 데이터를 처리하는 속도를 고려하여 같은 타이밍에 출력될 비디오 데이터와 서브타이틀 데이터가 상기 방송 신호로 서로 다른 시간에 전송될 때 그 시간 간격에 대응되는 것을 특징으로 하는 방송 수신기.
  15. 제 14항에 있어서,
    상기 제어부는 상기 콘텐츠에 해당하는 방송 신호를 수신할 때 상기 시간 간격을 측정하여 비휘발성 메모리에 저장하거나, 상기 방송 수신기가 제조될 때 비휘발성 메모리에 저장되어 있는 것을 특징으로 하는 방송 수신기.
  16. 제 13항에 있어서,
    상기 제어부는, 상기 버퍼링 된 비디오 데이터 중 가장 먼저 출력될 최초 비디오 데이터와 함께 서브타이틀 데이터를 출력할 때 상기 출력되는 서브타이틀 데이터 이전에 버퍼링 되어 있는, 상기 소정 양의 서브타이틀 데이터를 상기 버퍼 메모리에서 지우는 것을 특징으로 하는 방송 수신기.
  17. 제 13항에 있어서,
    상기 저장부에 저장되는 콘텐츠 데이터는 트랜스포트 스트림이고, 상기 파서는 상기 필터링 동작을 통해 상기 트랜스포트 스트림을 비디오 패킷과 서브타이틀 패킷을 포함하는 패킷 엘리먼트 스트림으로 변환하는 것을 특징으로 하는 방송 수신기.
  18. 제 17항에 있어서,
    상기 버퍼 메모리는, 상기 비디오 데이터와 서브타이틀 데이터를 패킷 엘리먼터리 스트림의 패킷을 구성하는 페이로드 단위로 버퍼링 하고 출력하는 것을 특징으로 하는 방송 수신기.
  19. 제 18항에 있어서,
    상기 제어부는, 상기 비디오 패킷과 서브타이틀 패킷이 출력되면, 상기 출력된 비디오 패킷과 서브타이틀 패킷을 상기 버퍼 메모리에서 지우는 것을 특징으로 하는 방송 수신기.
  20. 제 13항에 있어서,
    상기 제어부는, 상기 콘텐츠를 재생하는 도중 앞으로 빠르게, 뒤로 빠르게, 또는 점프 동작이 요청되면, 상기 버퍼 메모리에 저장되어 있는 데이터를 모두 지우고 재생이 요청된 시점의 데이터를 상기 저장부로부터 독출하고 필터링, 버퍼링, 디코딩 동작을 수행하되, 상기 버퍼 메모리에 버퍼링 된 비디오 데이터 중 가장 먼저 출력될 최초 비디오 데이터를 디코딩 하여 출력할 때 상기 버퍼링 된 서브타이틀 데이터 중 상기 소정 양의 서브타이틀 데이터 이후의 서브타이틀 데이터를 디코딩 하여 상기 최초 비디오 데이터와 함께 출력하는 것을 특징으로 하는 방송 수신기.
  21. 제 20항에 있어서,
    상기 제어부는, 수신되는 콘텐츠를 상기 저장부에 저장할 때 상기 비디오 데이터의 출력 시점을 알리는 시간 정보와 해당 비디오 데이터가 기록되는 위치 정보를 연계하여 관리 정보로 관리하고, 상기 관리 정보를 참조하여 상기 재생이 요청된 시점의 데이터를 상기 저장부로부터 독출하는 것을 특징으로 하는 방송 수신기.
KR1020130033282A 2013-03-28 2013-03-28 콘텐츠 재생 방법 Withdrawn KR20140118059A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130033282A KR20140118059A (ko) 2013-03-28 2013-03-28 콘텐츠 재생 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130033282A KR20140118059A (ko) 2013-03-28 2013-03-28 콘텐츠 재생 방법

Publications (1)

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

Family

ID=51990971

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130033282A Withdrawn KR20140118059A (ko) 2013-03-28 2013-03-28 콘텐츠 재생 방법

Country Status (1)

Country Link
KR (1) KR20140118059A (ko)

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 (ko) Pvr에서의 스트림 점프 방법
US9350936B2 (en) Controlling playback of recordings
KR20050052717A (ko) 오디오 원본 보존 트랜스코딩 시스템 및 방법
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 (ko) 콘텐츠 재생 방법
KR101053699B1 (ko) 디지털 방송의 녹화장치 및 방법
US8615155B2 (en) Device and method for receiving video data packets
KR100539731B1 (ko) 전송스트림저장장치및방법
KR101539776B1 (ko) 부가 타임스탬프를 이용한 방송 신호 녹화 및 재생 장치 및 방법
JP5016335B2 (ja) 再生装置、および、再生方法
US8290335B2 (en) Method and apparatus for recording transport stream
KR100392307B1 (ko) 고품위 디지털 방송신호 기록장치 및 방법
KR100708377B1 (ko) 디지털 방송 수신시 동시 화면을 위한 디코더
WO2013146657A1 (ja) 録画装置、サムネイル管理情報作成装置、録画方法および録画プログラム

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