KR101731829B1 - 디지털 영상 수신기의 디지털 콘텐츠 처리 장치 및 방법 - Google Patents

디지털 영상 수신기의 디지털 콘텐츠 처리 장치 및 방법 Download PDF

Info

Publication number
KR101731829B1
KR101731829B1 KR1020100103956A KR20100103956A KR101731829B1 KR 101731829 B1 KR101731829 B1 KR 101731829B1 KR 1020100103956 A KR1020100103956 A KR 1020100103956A KR 20100103956 A KR20100103956 A KR 20100103956A KR 101731829 B1 KR101731829 B1 KR 101731829B1
Authority
KR
South Korea
Prior art keywords
data
frame
content
video
frames
Prior art date
Application number
KR1020100103956A
Other languages
English (en)
Other versions
KR20110044723A (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 삼성전자주식회사
Publication of KR20110044723A publication Critical patent/KR20110044723A/ko
Application granted granted Critical
Publication of KR101731829B1 publication Critical patent/KR101731829B1/ko

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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • 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/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends

Abstract

디지털 영상수신기의 콘텐츠 재생 방법이, 콘텐츠 제공 서버로부터 콘텐츠 데이터 수신하는 과정과, 상기 수신되는 콘텐츠 데이터를 저장하며, 상기 저장되는 콘텐츠 데이터를 디멀티플렉싱하여 비디오 데이터를 분리하고, 상기 분리된 비디오 데이터에서 특정 프레임을 포함하는 화상그룹(group of picture)들을 인덱싱하고 인덱싱되는 화상그룹의 재생시간 및 파일크기를 포함하는 인덱싱 데이터를 생성하여 저장하는 과정과, 배속재생 요구시 상기 저장된 콘텐츠 데이터를 디멀티플렉싱하여 비디오 데이터를 분리하고, 상기 분리된 비디오 데이타에서 상기 인덱스 데이터를 참조하여 배속에 대응되는 화상그룹들을 선택하여 디코딩 및 표시하는 과정으로 이루어진다.

Description

디지털 영상 수신기의 디지털 콘텐츠 처리 장치 및 방법{DEVICE AND METHOD FOR PROCESSING DIGITAL CONTENTS IN DIGITAL VIDEO RECEIVER}
본 발명은 디지털 영상 수신기의 디지털 콘텐츠 처리 장치 및 방법에 관한 것으로, 특히 수신되는 디지털 영상데이타의 배속 재생할 수 있는 장치 및 방법에 관한 것이다.
일반적으로 스트리밍(streaming) 신호를 재생하는 방법은 컨텐츠 제공서버로부터 전송되는 영상이나 음향, 애니메이션 등의 동영상 콘텐츠를 저장하지 않고 실시간으로 재생해 주는 기법이다. 파일이 모두 전송되기 전이라도 클라이언트 또는 플러그인이 데이터의 표현을 시작하게 되어 있다. 따라서 재생 시간이 단축되며 하드디스크 드라이브의 용량도 영향을 거의 받지 않는다. 그러나 스트리밍이 제대로 동작하려면 데이터를 수신하고 있는 클라이언트 측은 데이터를 모으고, 그 데이터를 사운드나 그림으로 변환해 주는 응용프로그램에 끊임없이 보내줄 수 있어야 한다. 만약 클라이언트가 데이터를 수신하는 속도가 너무 빠르면 여분의 데이터를 버퍼에 저장하면서 동시에 스트리밍하게 된다. 그러나 네트워크 또는 그 장치의 사정에 따라 데이터 수신 속도가 빠르지 않으면 데이터의 표현이 매끄럽지 않게 된다.
이에반하여 VOD(Video On Demand) 시스템은 TS 패킷을 RTP(Real Time Stream Protocol), RTSP(Real Time Streaming Protocol) 등을 이용하여 가입자에게 콘텐츠를 공급하였다. 이때 디지털 영상 수신기는 상기 VOD에 의해 수신되는 디지털 컨텐츠를 내부 저장장치에 저장할 수 있으며, 사용자의 선택에 의해 재생할 수 있게 된다. 그러나 상기 VOD 시스템은 사용자의 고속 재생 요구 시 미리 만들어진 해당 배속용 TS 패킷을 전송하고 있다. 예컨대 2 배속, 3 배속, 4 배속의 재생을 요구하는 경우, 각 배속에 따른 스트리밍 데이터를 따로 저장하고 이를 제공해 왔다. 그러나 이러한 종래의 방식은 네트워크 품질에 따라 패킷 손실, 지터(jitter) 등으로 그 화질에 손상이 있을 수밖에 없으며, 특정 배속의 데이터가 존재하지 않는 경우 해당 서비스를 제공할 수 없다.
따라서 상술한 바와 같은 종래의 요구를 감안한 본 발명의 실시예는 디지털 영상 수신기에서 수신되는 디지털 콘텐츠를 배속 재생하기 위한 인덱스 정보를 생성하고, 인덱스 정보를 참조하여 선택적으로 저장된 디지털 콘텐츠를 재생할 수 있는 장치 및 방법을 제안한다.
본 발명의 실시예에 따른 디지털 영상수신기의 콘텐츠 재생 방법은, 콘텐츠 제공 서버로부터 콘텐츠 데이터 수신하는 과정과, 상기 수신되는 콘텐츠 데이터를 저장하며, 상기 저장되는 콘텐츠 데이터를 디멀티플렉싱하여 비디오 데이터를 분리하고, 상기 분리된 비디오 데이터에서 특정 프레임을 포함하는 화상그룹(group of picture)들을 인덱싱하고 인덱싱되는 화상그룹의 재생시간 및 파일크기를 포함하는 인덱싱 데이터를 생성하여 저장하는 과정과, 배속재생 요구시 상기 저장된 콘텐츠 데이터를 디멀티플렉싱하여 비디오 데이터를 분리하고, 상기 분리된 비디오 데이타에서 상기 인덱스 데이터를 참조하여 배속에 대응되는 화상그룹들을 선택하여 디코딩 및 표시하는 과정으로 이루어짐을 특징으로 한다.
또한 본 발명의 실시예에 따른 디지털 영상수신기의 콘텐츠 재생장치는, 콘텐츠 제공 서버로부터 콘텐츠 데이터를 수신하는 데이터통신부와, 상기 수신되는 콘텐츠 데이터를 저장하는 스토리지부와, 상기 수신되는 콘텐츠 데이터를 디멀티플렉싱하여 비디오 데이터를 분리하고, 상기 분리된 비디오 데이터에서 특정 프레임을 포함하는 화상그룹(group of picture)들을 인덱싱하고 인덱싱되는 화상그룹의 재생시간 및 파일크기를 포함하는 인덱싱 데이터를 생성하여 상기 스토리지부에 저장하는 제1디먹스부와, 배속재생 요구시 상기 스토리지부에 저장된 콘텐츠 데이터를 디멀티플렉싱하여 비디오 데이터를 분리하는 제2디먹스부와, 상기 분리된 비디오 데이타에서 상기 인덱스 데이터를 참조하여 배속에 대응되는 화상그룹들을 선택하여 디코딩하여 표시부에 출력하는 디코더부로 구성된 것을 특징으로 한다.
상술한 바와 같은 본 발명의 실시 예에 따른 디지털 영상 수신기는 VOD 등에 의해 다운로드는 디지털 콘텐츠를 배속 제어할 수 있도록 특정 프레임들을 인덱싱하고, 사용자의 배속 선택에 따라 인덱싱된 프레임들의디지털 콘텐츠를 재생할 수 있으며, 이로인해 다양한 배속으로 디지털 콘텐츠를 재생할 수 있는 이점이 있다. 또한, 콘텐츠를 모두 다운로드 받지 못한 상황에서도 콘텐츠를 재생할 수 있다.
도 1은 본 발명의 실시 예에 따른 디지털 콘텐츠 제공을 위한 시스템을 설명하기 위한 도면.
도 2는 본 발명의 실시 예에 따른 콘텐츠 제공 서버의 개략적인 구성을 설명하기 위한 도면.
도 3은 본 발명의 실시 예에 따른 콘텐츠 수신 장치의 개략적인 구성을 설명하기 위한 도면.
도 4는 본 발명의 실시 예에 따른 콘텐츠 수신 장치의 데이터 인덱싱 방법을 설명하기 위한 흐름도.
도 5는 본 발명의 실시 예에 따른 콘텐츠 데이터 제공 방법을 설명하기 위한 흐름도.
이하, 첨부된 도면을 참조하며 본 발명의 바람직한 실시 예들을 상세히 설명한다. 이 때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략될 것이다.
본 발명은 콘텐츠 제공자가 콘텐츠를 스트리밍(streaming) 형식으로 제공하는 것이 아니라, 파일 형식으로 제공하는 환경에서 제공될 수 있으며, 이런 경우 파일 형식은 FTP(File Transfer Protocol)를 예시할 수 있다. 즉, 본 발명의 실시예는 디지털 콘텐츠를 제공하는 서버 등으로부터 전송되는 디지털 콘텐츠를 다운로드하여 저장하는 모든 디지털 영상수신기에 적용될 수 있다. 이러한 본 발명의 실시 예는 인터넷 환경에서 MPEG-TS로 된 VOD(Video On Demand) 데이터를 전송하고, 소위, PVR(Personal Video Recorder) 셋-톱 박스(set-top box)의 저장 매체에 이를 저장 한 후, 사용자에게 VOD 데이터인 콘텐츠를 제공하는 경우를 가정하여 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 디지털 콘텐츠를 처리하는 시스템을 설명하기 위한 도면이다.
상기 도 1을 참조하면, 본 발명의 실시 예에 따른 시스템은 비디오 콘텐츠 서비스 제공을 위한 콘텐츠 제공 서버(100)와, 상기 콘텐츠 제공 서버(100)로부터 비디오 콘텐츠를 제공 받는 콘텐츠 수신 장치(200)를 포함한다. 본 발명의 실시 예에 따른 콘텐츠 제공 서버(100)는 콘텐츠를 다양한 배속의 재생을 위해 각 배속에 따른 데이터를 따로 제공하지 않으며, 정상 배속(1 배속)의 데이터만을 제공한다.
한편, 상기 콘텐츠는 비디오 데이터 및 비디오 데이터에 동기되는 오디오 데이터를 포함한다. 이때, 비디오 데이터는 복수의 프레임들로 이루어진다. 또한, 각 프레임의 종류는 I 프레임(Intra-coded frame), B 프레임(Bidirectional-coded frame) 및 P 프레임(Predictive-coded frame) 을 포함한다. 이하, 상술한 비디오 데이터 및 비디오 데이터에 동기 되는 오디오 데이터를 포함하며, I, B 및 P 프레임으로 이루어진 데이터를 "콘텐츠 데이터"라고 칭하기로 한다.
콘텐츠 수신 장치(200)는 콘텐츠 제공 서버(100)로부터 네트워크가 허용하는 범위에서 콘텐츠 데이터를 수신하여, I, B, 및 P 프레임으로 이루어진 콘텐츠 데이터를 인덱싱한다. 상기 콘텐츠 제공서버(100)과 콘텐츠 수신장치(200)은 FTP(file transfer protocol) 방식으로 디지털 콘텐츠를 송수신하며, 이로인해 콘텐츠 수신장치(200)에 수신되는 데이터 속도는 네트워크 환경에 따라 가변적이다. 따라서 상기 콘텐츠 수신장치(200)은 수신되는 데이터의 속도가 빠르면 인덱싱 동작을 빠르게 수행하고, 느리면 인덱싱 동작을 느리게 수행한다. 이때 상기 콘텐츠 수신장치가 인덱싱하는 과정에서 프레임의 재생시간(runnig time)은 가상으로 설정한다. 예를 들어 네트워크 상황이 좋아서 1초에 50Mbyte를 수신하는 경우, 수백개의 I프레임이 1초에 수신된다. 이런 경우, 상기 콘텐츠 수신장치(200)는 컨텐츠의 frame rate를 알고 있기 때문에 frame rate를 토대로 가상의 시간(즉, running time)을 더해서 수신된 시간을 늘려준다. 이런 방법은 수신되는 데이터의 속도가 느릴 때에도 동일한 방법으로 인덱싱되는 비디오 프레임의 재생 시간(즉, running time)을 설정할 수 있다.
여기서 인덱싱(indexing)이라 함은 배속 재생 제어시 참조할 수 있는 정보들을 표시하는 것을 의미하며, 본 발명의 실시예에 따른 인덱싱 데이터는 화상 그룹(group of picture: 이하 GOP라 칭함) 단위로 이루어질 수 있으며, 상기 화상 그룹은 하나의 특정 프레임(여기서는 I 프레임(Intra-coded frame)을 포함하는 화상들의 그룹을 의미한다. 그리고 상기 인덱싱 데이터는 화상그룹의 크기, 화상그룹의 재생시간(running time) 등을 포함할 수 있다. 따라서 상기 인덱싱은 I 프레임 단위로 수행할 수 있다. 인덱싱을 수행함과 동시에 인덱싱에 대해 기록하기 위해 인덱스 데이터를 생성한다. 그런 다음, 콘텐츠 수신 장치(200)는 사용자의 데이터의 고속 재생 요청이 있는 경우, 인덱싱 데이터를 이용하여 고속 재생을 수행한다.
상술한 바와 같이 본 발명의 실시 예에 따른 콘텐츠 수신 장치(200)는 특정 콘텐츠를 기 설정된 기준에 따라 인덱싱하며, 이러한 인덱싱을 이용하여 각 배속에 따라 데이터를 재생할 수 있도록 한다. 본 발명의 실시 예에 따른 콘텐츠 데이터는 I, B 및 P 프레임으로 이루어진 비디오 데이터를 포함하며, 이와 동기되는 오디오 데이터를 더 포함한다. 그리고 배속 재생 시 상기 비디오 데이터의 재생시간 및 오디오 데이터의 재생 시간이 다르게 될 수 있으며, 이런 경우 콘텐츠 수신장치(200)은 오디오신호를 뮤트시킬 수도 있다.
비디오 데이터에서 I 프레임은 데이터의 어느 위치에도 올 수 있으며, 데이터의 임의 접근을 위해 사용된다. 특히, I 프레임은 다른 이미지들의 참조 없이 부호화된다. 즉, 상기 I 프레임 비디오 데이터는 다른 프레임 데이터와 상관없이 독립적으로 디코딩이 가능한 프레임 데이터를 의미하며, JPEG 데이터가 여기에 속할 수 있다. 또한, P 프레임을 복호할 때 이전의 I 프레임 정보와 이전의 P 프레임의 정보가 사용된다. P 프레임은 연속되는 이미지들의 전체 이미지가 바뀌는 것이 아니라 이미지의 블록들이 옆으로 이동한다는 점에 착안한 것이다. 즉, 움직임이 있는 경우 앞 화면에 있는 피사체 자체의 모양에는 큰 변화 없이 옆으로 이동하는 경우가 대부분이므로, 이전의 화면과 현재의 화면의 차이가 매우 적은 것을 이용하여 차이 값만을 부호화하는 것이다. 그리고 B 프레임을 복호할 때 이전 및 이후의 I 프레임과 P 프레임 모두가 사용된다. B 프레임을 사용하면 높은 압축률을 얻을 수 있다. B 프레임은 이전의 I 또는 P 프레임과 B 프레임 이후의 I 또는 P 프레임의 차이 값을 가진다.
본 발명이 실시 예에 따른 인덱싱 방법은 상술한 I, B 및 P 프레임들로 구성된 디지털 비디오 콘텐츠에서 하나의 I 프레임을 포함하는 화상 그룹 단위로 인덱싱 구간을 설정하며, 각 인덱싱 구간의 인덱싱 데이터는 화상 그룹 내의 각 프레임들의 재생시간 및 화상 그룹의 파일크기를 포함할 수 있다. 하기 <표 1>은 본 발명의 실시예에 따라 생성되는 인덱스 데이터의 구조의 예를 나타내고 있다.
Figure 112010068790511-pat00001
<표 1>에 개시한 바와 같이, 비디오 데이터의 일부가, 프레임 순서(1 내지 21)대로, I, B, B, P, B, B, P, I, B, B, P, B, B, P, I, B, B, P, I, B, B 프레임으로 배열되었다고 가정한다. 이와 같이 비디오 데이터는 복수의 프레임들로 이루어진다. 이러한 복수의 프레임들은 특정 프레임이 반복될 수 있다. 이러한 반복은 규칙을 가질 수도 있고, 그렇지 않을 수도 있다. 상기 <표 1>은 4개의 화상그룹(1그룹은 1프레임에서 7프레임 까지, 2그룹은 8프레임에서 14프레임 까지, 3 그룹은 15프레임에서 18프레임 까지, 4그룹은 19프레임에서 21프레임 까지가 될 수 있음)으로 구성되며, 각 화상 그룹을 구성하는 프레임의 수는 같지 않은 경우의 예를 도시하고 있다.
또한 각 프레임은 재생되는 시간(running time)을 가지며, 이러한 시간은 네트워크 및 장치의 문제로 지연되어도 변하지 않는 값이다. 즉, 정상 배속(1 배속)으로 재생될 때의 각 프레임이 재생되는 시간을 의미한다. 상기 <표 1>에서 재생시간(running time)은 설명의 편의상 2초 단위로 증가되는 예로 나타내고 있지만, 실제의 재생 시간은 초 단위 이하까지 포함되어야 한다. 예를들어 프레임 레이트(frame rate)가 1/30인 경우, 1초 당 30프레임이 재생된다는 의미가 되며, 이런 경우 1프레임이 표시되는 시간은 1/30초가 된다. 따라서 상기 재생시간은 1/30초 단위로 변화되어야 한다. 또한 상기 <표 1>에서 상기 화상 그룹의 파일 크기는 파일그룹을 구성하는 프레임의 수 및 각 프레임의 크기에 따라 달라진다.
본 발명의 실시 예에 따르면, 콘텐츠 데이터를 비디오 데이터의 반복되는 적어도 하나의 특정 프레임을 인덱스로 설정하여 인덱싱할 수 있다. 여기서 상기 특정 프레임은 I 프레임이 될 수 있으며, 인덱싱 데이터는 I 프레임으로 시작되는 화상 그룹 내에서 화상 그룹 내의 각 프레임들의 재생시간 및 화상 그룹의 파일 크기 정보로 구성될 수 있다. 또한 상기 <표 1>에서는 화상 그룹 내의 각 프레임 들의 재생시간을 모두 포함하는 것으로 나타내져 있지만, 화상 그룹 내에서 I 프레임의 재생시간(running time)만을 포함하여도 동일한 효과를 가질 수 있다. 따라서 상기 <표 1>과 같이 비디오 프레임 데이터가 구성되는 경우에는 하기 <표 2>와 같이 인덱스 데이터를 구성할 수도 있다.
Figure 112010068790511-pat00002
상기 <표 1>을 참조하여, 본 발명의 일 실시 예에 따라 I 프레임을 인덱스로 설정하는 경우를 설명하기로 한다.
앞서 설명한 바와 같이, 콘텐츠 제공 서버(100)으로부터 전송되는 디지털 콘텐츠를 다운로드할 때, 상기 콘텐츠 수신 장치(200)는 수신되는 디지털 콘텐츠에서 I 프레임들의 인덱싱과 함께 인덱스 데이터를 생성한다. 이러한 인덱스 데이터는 본 발명의 일 실시 예에 따라 I 프레임을 인덱스로 설정하는 경우, 매 I 프레임의 "시간"을 기록하며, 다음 I 프레임이 입력될 때까지의 파일 크기를 기록한다. 이때 버퍼를 통하여 들어온 데이터의 도착 시간은 네트워크 상태에 따라 간격이 클 수도 있고 작을 수도 있다. 그래서 첫번째 I 프레임이 들어온 시간을 기준시간으로 잡고 그 이후의 프레임은 일정한 간격의 시간 두고 들어 온 것으로 가정하여 상대적인 시간을 사용할 수 있다. 그래서 첫번째 I 프레임이 들어온 시간을 기준시간으로 잡고 그 이후의 프레임은 frame rate 에 따라 일정한 간격의 시간 두고 들어 온 것으로 가정하여 상대적인 시간을 사용할 수 있다.
<표 1>을 참조하면, 프레임 순서가 1, 8, 15 및 19번째의 프레임들이 I 프레임이며, 이를 인덱스 프레임으로 한다. 또한 상기 <표 1>에서 각 인덱스 프레임들의 재생시간은 00:00:01, 00:00:15, 00:00:29 및 00:00:37을 가진다. 또한, 각 인덱스(즉, 화상그룹)들의 파일 사이즈는 1024, 384, 256 및 125 Kbyte가 된다. 인덱스 데이터는 인덱스별로 인덱스 프레임의 재생시간과, 해당 인덱스 프레임에서 다음 인덱스 프레임까지(즉, 화상그룹)의 프레임들의 파일 크기로 구성될 수 있다.
이와 같이, 정상 배속의 콘텐츠 데이터에 대해 인덱싱을 수행한 후, 콘텐츠 수신 장치(200)는 인덱스 데이터를 이용하여 고배속의 재생을 수행할 수 있다. 예를 들면, 사용자가 2 배속의 재생을 요청하는 경우, 콘텐츠 수신 장치(200)는 프레임 순서가 1, 8, 15 및 19인 I 프레임 중 매 2 번째 I 프레임인 8번째 및 19번째 I 프레임을 포함하는 화상그룹의 프레임들을 순차로 디코딩하여 출력하며, 1번째 및 15번째 I 프레임을 포함하는 화상그룹의 프레임들은 디코딩하지 않는다. 이때, 콘텐츠 수신 장치(200)는 프레임 순서 8, 19인 I 프레임의 재생 시간을 검색하여 디코딩할 수 있다. 즉, 인덱스 데이터에서 매 두 번째 I 프레임의 시간 00:00:15 및 시간 00:00:37을 얻을 수 있고, 이에 따라, 해당 I 프레임을 포함하는 해당 화상 그룹의 프레임들을 디코딩할 수 있다.
나머지 고배속의 경우에도 2 배속과 같은 방법으로 고속의 재생을 수행할 수 있다. 예컨대, 사용자가 3 배속의 재생을 요청하는 경우, 콘텐츠 수신 장치(200)는 프레임 순서가 1, 8, 15, 및 19인 I 프레임 중 매 3 번째 I 프레임인 프레임 순서가 15인 I 프레임을 포함하는 화상 그룹의 프레임들을 디코딩하며, 나머지 프레임들은 디코딩하지 않는다.
이어서, 상술한 콘텐츠 제공 서버(100) 및 콘텐츠 수신 장치(200)에 대해서 각각 설명하기로 한다.
도 2는 본 발명의 실시 예에 따른 콘텐츠 제공 서버의 개략적인 구성을 설명하기 위한 도면이다. 본 발명의 실시 예에 따른 콘텐츠 제공 서버(100)는 웹 서버부(Web Server, 110), 파일 서버부(130), 권한관리부(150) 및 데이터베이스부(170)를 포함한다.
도 2를 참조하면, 웹 서버부(110)는 콘텐츠에 대한 정보를 제공한다. 사용자는 콘텐츠 수신 장치(200)를 통해 웹 서버부(110)에 접속하여 콘텐츠에 대한 정보를 수신할 수 있다. 이를 위하여 웹 서버부(110)는 콘텐츠에 대한 정보를 제공하기 위한 사용자 인터페이스(User Interface, 이하 UI라 칭한다)를 제공할 수 있다. 이러한 UI는 콘텐츠에 대한 정보를 표시하여, 콘텐츠 수신 장치(200)를 통해 사용자가 소망하는 콘텐츠를 요청하는 경우, 해당 요청에 따른 콘텐츠 데이터를 콘텐츠 수신 장치(200)에 제공할 수 있도록 파일 서버부(130)와 연동된다. 여기서, UI는 웹 페이지(Web page)를 예시할 수 있으며, 다양한 형식으로 제작될 수 있다.
파일 서버부(130)는 콘텐츠 데이터를 콘텐츠 수신 장치(200)에 전송하는 역할을 수행한다. 파일 서버부(130)는 이러한 콘텐츠 데이터를 데이터베이스부(170)로부터 추출하여 전송한다.
권한관리부(150)는 콘텐츠의 대한 사용자의 수신 권한을 관리하는 역할을 수행한다. 특정 콘텐츠를 서비스 받기 위해서는 해당 콘텐츠를 서비스 받기 위한 권한이 필요하며, 사용자는 이 권한을 구매하여, 해당 콘텐츠를 서비스 받을 수 있다. 이러한 콘텐츠의 예로는 유료 콘텐츠가 될 수 있다. 상기 콘텐츠 데이터는 특정 시퀀스로 스크램블링(scrambling)될 수 있다. 이러한 콘텐츠 데이터를 디스크램블링(descrambling)하기 위해서는 해당 시퀀스를 알 수 있어야 한다. 권한관리부(150)는 이 시퀀스에 대한 정보를 키 값으로 저장한다. 그리고 사용자의 해당 콘텐츠 구매를 확인한 경우, 권한관리부(150)는 구매한 사용자의 콘텐츠 수신 장치(200)에 키 값을 제공한다. 이에 따라, 콘텐츠 수신 장치(200)는 해당 키 값을 이용하여 데이터를 디스크램블링 할 수 있으며 정상적으로 재생할 수 있다. 상술한 방법 이외에도 다양한 방법으로 해당 콘텐츠를 보호하고, 그 권한을 관리하는 방법을 사용할 수 있다. 상술한 권한 관리에 대한 방법은 대표적으로 DRM(Digital Right Management), CAS(Conditional Access System) 등의 방법을 예시할 수 있다.
데이터베이스부(170)는 콘텐츠 데이터를 TS(transport stream) 형태로 저장한다. 여기서, TS 데이터는 188Byte 단위로 오디오 비디오 등의 PID데이터가 혼재 되어 있는(Muxing) 형태의 데이터를 의미 한다. 특히, 콘텐츠가 스트리밍형식으로 제공될 경우, 재생 속도에 따라 각 배속에 따른 콘텐츠 데이터를 따로 저장해야 하지만, 본 발명의 실시 예에 따른 콘텐츠는 TS 파일 형식으로 제공되므로, 정상 배속인 원본 콘텐츠 데이터 하나만을 저장한다. 즉, 스트리밍 형식의 경우, 1 내지 n 배속의 콘텐츠 데이터를 따로 저장하지만, 본 발명의 실시 예에 따르면, 1 배속의 콘텐츠 데이터 하나를 저장한다.
상기와 같은 콘텐츠 제공서버로부터 전송되는 콘텐츠 데이터를 처리하는 본 발명의 실시예에 따른 디지털 영상수신기의 콘텐츠 재생장치는 콘텐츠 제공 서버로부터 콘텐츠 데이터를 수신하는 데이터통신부와, 상기 수신되는 콘텐츠 데이터를 저장하는 스토리지부와, 상기 수신되는 콘텐츠 데이터를 디멀티플렉싱하여 비디오 데이터를 분리하고, 상기 분리된 비디오 데이터에서 특정 프레임을 포함하는 화상그룹(group of picture)들을 인덱싱하고 인덱싱되는 화상그룹의 재생시간 및 파일크기를 포함하는 인덱싱 데이터를 생성하여 상기 스토리지부에 저장하는 제1디먹스부와, 배속재생 요구시 상기 스토리지부에 저장된 콘텐츠 데이터를 디멀티플렉싱하여 비디오 데이터를 분리하는 제2디먹스부와, 상기 분리된 비디오 데이타에서 상기 인덱스 데이터를 참조하여 배속에 대응되는 화상그룹들을 선택하여 디코딩하여 표시부에 출력하는 디코더부를 포함할 수 있다.
여기서 상기 특정 프레임은 Intra-coded frame이며, 상기 화상그룹은 상기 Intra-coded frame에 의해 재생되는 Bidirectional-coded frame들 및 Predictive-coded frame들을 포함할 수 있다. 그리고 상기 상기 인덱스 데이터는 화상그룹을 구성하는 각 비디오 프레임들의 프레임 번호 및 재생시간과 화상그룹의 파일크기를 포함할 수 있다. 또한 상기 인덱스 데이터는 화상그룹을 구성하는 Intra-coded frame의 프레임 번호 및 재생시간, 화상그룹의 프레임 수 및 파일크기를 포함할 수 있다.
그리고 상기 상기 디코더부는 비디오 디코더 및 오디오디코더와, 각각 대응되는 입력버퍼들을 구비하며, 상기 비디오 디코더는 상기 분리되는 비디오데이타를 입력버퍼에 버퍼링하고, 상기 인덱스 데이터를 참조하여 상기 버퍼링된 비디오 데이터들에서 요구된 배속에 따라 대응되는 화상그룹들 만을 선택하며, 상기 화상그룹의 선택은 해당 화상그룹의 Intra-coded frame 번호 및 상기 Intra-coded frame에 해당되는 idirectional-coded frame들 및 Predictive-coded frame들을 선택하여 디코딩할 수 있다. 그리고 배속 재생 제어시 상기 디코더부는 배속 재생시 오디오신호를 뮤트시킬 수 있다.
상기와 같은 본 발명의 실시에에 따른 콘텐츠 수신장치(200)(즉, 디지털 영상수신기)의 동작을 상세히 설명한다.
도 3은 본 발명의 실시 예에 따른 콘텐츠 수신 장치의 구성을 도시하는 도면이다. 본 발명의 실시 예에 따른 콘텐츠 수신 장치(200)는 데이터 통신부(210), 버퍼부(220), 제1 디먹스부(230), 스토리지부(240), 제2 디먹스부(250), 디코더부(260), 입력부(270) 및 제어부(280)를 포함한다.
도 3을 참조하면, 콘텐츠 수신 장치(200)는 대표적으로 셋-톱 박스(set-top box)를 예시할 수 있다. 여기서, 셋-톱 박스는 내장형 및 외장형을 모두 포함한다. 다만, 본 발명의 실시 예에 따른 콘텐츠 수신 장치(200)를 셋-톱 박스에 한정하는 것은 아니며, 콘텐츠 수신 장치(200)는 콘텐츠 데이터를 수신하여, 이를 재생할 수 있는 대부분에 디바이스들에 적용될 수 있다.
데이터 통신부(210)는, 제어부(280)의 제어에 따라, 소망하는 콘텐츠를 요청하는 요청 메시지를 웹 서버부(110)에 전송한다. 이에 따라 웹 서버부(110)과 연동된 파일 서버부(130)는 데이터베이스부(170)로부터 해당 콘텐츠에 따른 콘텐츠 데이터를 획득하여 콘텐츠 수신 장치(200)에 전송한다. 앞서 설명한 바와 같이 데이터는 FTP로 전송됨이 바람직하다. 데이터 통신부(210)는 상기 콘텐츠 제공 서버(100)에서 전송되는 콘텐츠 데이터를 수신한다. 이때, 데이터 통신부(210)는 수신한 콘텐츠 데이터를 버퍼부(220)에 저장한다.여기서 상기 콘텐츠 제공 서버(100)에서 전송되는 콘텐츠 데이터는 TS 데이터가 될 수 있으며, 상기 TS 데이타는 오디오 비디오 등의 PID데이터가 혼재 되어 있는(Muxing) 형태의 데이터이다. 그리고 비디오 데이터는 I 프레임, P 프레임 및 B 프레임을 포함하여 이루어진다.
버퍼부(220)는 그 비디오 데이터가 I, B 및 P 프레임으로 이루어진 콘텐츠 데이터를 일시 저장한다. 그런 다음, 버퍼부(220)는 소정 용량이 이상의 콘텐츠 데이터가 축적되면, 이를 제1 디먹스부(230)와 스토리지부(240)에 출력한다. 이러한 버퍼부(220)는 반도체 메모리가 될 수 있다.
제1 디먹스부(230)는 버퍼부(220)로부터 출력되는 콘텐츠 데이터를 디먹싱(demuxing)하여 비디오 데이터를 분리하고, 상기 분리되는 비디오 데이터의 프레임 종류(I, B, P 프레임)으로 구분하며, 상기 구분되는 비디오 프레임 데이터들 중에서 I 프레임 데이터를 인덱싱한다. 여기서 상기 I 프레임들을 인덱싱 할 때 상기 <표 1>에 나타낸 바와 같이 화상 그룹 단위로 화상 그룹의 시작 프레임인 I 프레임의 재생 시간 및 해당 화상 그룹의 파일 크기를 인덱싱 데이터로 생성한다. 이때 상기 버퍼부(220)를 통하여 들어온 데이터의 도착 시간은 네트워크 상태에 따라 간격이 클 수도 있고 작을 수도 있다. 그래서 첫번째 I 프레임이 들어온 시간을 기준시간으로 잡고 그 이후의 프레임은 일정한 간격의 시간 두고 들어 온 것으로 가정하여 상대적인 재생시간(running time)을 결정할 수 있다. 즉, 프레임 율(frame rate)을 알고 있으므로, 첫 번째 I 프레임의 재생시간을 알면 이후 수신되는 다른 프레임들의 재생시간도 상대적으로 결정할 수 있다. 상기와 같이 상기 제1 디먹스부(230)은 비디오 프레임 데이터들 중에서 각 I 프레임의 인덱싱 데이터(해당 파일 그룹의 재생시간 및 파일크기 등)를 생성한 후, 이를 스토리지부(240)에 전달한다.
예컨대, 제1 디먹스부(230)는 버퍼부(220)로부터 출력되는 콘텐츠 데이터의 프레임들 중 I 프레임을 골라내어 순서대로 인덱싱한 후, 그 콘텐츠 데이터의 I 프레임의 위치에 대한 인덱스 데이터를 출력한다. 그런 다음, 제1 디먹스(230)는 콘텐츠 및 인덱스 데이터를 스토리지부(240)에 저장한다. 여기서 상기 콘텐츠 데이타는 FTP를 이용하기 때문에 수신되는 데이터 속도는 가변적이다. 이런 경우, 상기 제1디먹스부(230)은 콘텐츠 데이터의 수신속도가 빠르면 수신되는 콘텐츠 데이터에서 I 프레임을 빠르게 추출하여 인덱싱하여야 하며, 느리면 느린 대로 I 프레임 데이터를 인덱싱할 수 있어야 한다. 이를 위하여 상기 제1디먹스부(24)은 두 개 이상의 디먹스들을 구비할 수도 있다. 이런 경우 하나는 정상적인 프레임 레이트로 수신되는 비디오 프레임 데이터를 인덱싱하기 위해 사용되고, 다른 디먹스는 수신률이 가변적인 데이터(특히 프레임 레이트가 높은 경우)를 수신하여 비디오 프레임 데이터를 인덱싱하는데 사용할 수 있다.
상기 스토리지부(240)는 상기 버퍼부(220)에서 출력되는 콘텐츠 및 상기 제1디먹스부(230)에서 출력되는 인덱스 데이터를 저장한다. 스토리지부(240)는 상기 콘텐츠 및 콘텐츠에 대응되는 인덱스 데이타를 반영구적으로 저장하며, 제2 디먹스부(250)에 콘텐츠 를 제공하여도 해당 콘텐츠는 삭제되지 않는다. 따라서 스토리지부(240)는 하드 디스크(HDD, hard disk) 등의 스토리지(storage)를 예시할 수 있다. 이때 상기 스토리지부(240)에 저장된 콘텐츠는 콘텐츠 제공 서버(100)에서 송신한 데이터와 동일한 데이터가 저장된다. 그리고 상기 스토리지부(240)는 콘텐츠 및 해당 콘텐츠에 대응되는 인덱스 데이터를 각각 저장하며, 이에 따라 인덱스 데이터는 저장된 콘텐츠의 수 만큼 구비될 수 있다.
제2 디먹스부(250)는, 제어부(280)의 제어에 따라 스트로지부(240)에서 출력되는 콘텐츠 데이터를 비디오, 오디오 및 방송 데이터로 디먹싱한 후 디코더부(260)에 제공한다. 상기 스토리지부(240)에 저장된 콘텐츠는 TS 패킷 형태가 될 수 있으며, 상기 TS 패킷 스트림은 비디오, 오디오 및 방송 데이터 등이 먹싱(mulitplexing)되어 있다. 따라서 상기 제2 디먹스부(250)은 콘텐츠를 구성하는 TS 패킷들의 식별자를 확인하여 비디오, 오디오 및 방송 데이타로 디먹스(dimultiplexing)하는 기능을 수행한다.
디코더부(260)는 수신되는 콘텐츠 데이터를 디코딩(decoding)하여 출력한다. 여기서 상기 디코더부(260)은 디먹싱된 비디오 데이터를 디코딩하는 비디오 디코더, 오디오 데이터를 디코딩하는 오디오 디코더 및 방송 데이터를 디코딩하는 데이터 디코더 등으로 구성될 수 있다. 또한 상기 디코더부(260)은 제어부(280)의 제어하에 배속 재생을 수행할 수 있다. 예컨대, 상기 디코더부(260)은 상기 제어부(280)의 제어하에 제1 내지 n 배속의 데이터를 디코딩할 수 있다. 디코더부(260)은 상기 제2디먹스부(250)에서 디멀티플렉싱되어 분리되는 비디오, 오디오 및 방송 데이터를 저장하는 버퍼들을 구비할 수 있다.
콘텐츠 수신 장치(200)를 TV에 내장된 셋-톱 박스라고 가정하면, 디코딩된 콘텐츠 데이터는, 직접 연결된 표시 장치(도시되지 않음) 및 음향 장치(도시되지 않음)를 통해 재생될 수 있다. 또한, 콘텐츠 수신 장치(200)를 외장형의 셋-톱 박스라고 가정하면, 디코딩된 콘텐츠 데이터는 셋톱-박스의 외부 출력을 통해 출력되어 TV 등의 외부 장치(도시되지 않음)를 통해 재생될 수 있다.
한편, 입력부(270)는 숫자 또는 문자 정보를 입력받고 다양한 기능을 설정하기 위한 다수의 입력키 및 기능키를 가진다. 특히, 입력부(270)는 콘텐츠 요청 및 고속 재생 등의 기능 제어와 관련하여 사용자에 의해 입력되는 키 신호를 제어부(280)로 전달한다. 여기서, 콘텐츠 수신 장치(200)가 셋-톱 박스인 경우, 입력부(270)는 리모트컨트롤러(remote controller)가 될 수 있다.
제어부(280)는 콘텐츠 수신 장치(200)의 각종 기능을 제어하는 역할을 수행한다.
상기 제어부(280)는 사용자의 입력부(270)를 통한 요청에 따라, 소망하는 콘텐츠를 요청하는 요청 메시지를 웹 서버부(110)에 전송하도록 데이터 통신부(210)를 제어한다. 또한 상기 제어부(280)는 버퍼부(220)에 저장된 콘텐츠 데이터가 기 설정된 크기 이상이면, 해당 데이터를 출력하도록 제어한다. 제어부(280)는 기 설정된 기준에 따라 콘텐츠 데이터를 인덱싱하도록 제1 디먹스부(230)를 제어한다.
제어부(280)는 입력부(270)를 통해 사용자의 특정 배속의 재생 요청이 있는 경우, 스토리지부(240)를 제어하여 콘텐츠 데이터를 제2 디먹스부(250)로 출력하도록 하며, 해당 배속에 따라 콘텐츠 데이터를 출력하는 위치를 변경한다. 즉, 상기 제어부(280)은 상기 입력부(270)을 통해 배속 제어 명령이 발생되면, 상기 스토리지부(240)에 저장된 해당 콘텐츠의 인덱스 데이터를 참조하여 상기 제2디먹스부(250) 및 디코더부(260)을 제어하며, 이에 따라 상기 스토리지부(240)에 저장된 콘텐츠의 비디오 데이터가 해당 배속으로 디코딩되어 출력된다. 즉, 배속 재생 제어시 상기 제2 디먹스부(250)는 상기 스토리지부(240)에 저장된 콘텐츠를 디멀티플렉싱하여 비디오 데이터들을 분리하며, 상기 제어부(280)은 상기 디멀티플렉싱되는 비디오 데이터 프레임들 중에서 상기 인덱스 데이터를 참조하여 배속제어할 I 프레임을 포함하는 화상 그룹들을 선택하여 디코더부260의 비디오 디코더에 인가한다. 즉, 상기 제2 디먹스부(250)가 콘텐츠 데이터를 디먹싱하여 출력하면, 제어부(280)는 해당 배속에 따라 디코더부(260)이 어떤 프레임을 디코딩 할지를 제어 한다.
즉, 2 배속 재생의 경우, 상기 제어부(280)은 스토리지부(240)의 인덱스 데이터를 참조하여 2배속을 수행하기 위한 I 프레임들, 해당 I 프레임들의 재생시간, 그리고 해당 I 프레임이 이 포함되는 화상 그룹의 파일 크기 등을 확인한다. 이후 제어부(280)는 상기 인덱스 데이터에 따라 상기 제2디먹스부(250)에 디멀티플렉싱되는 비디오 데이터들 중에서 매 2 번째 화상그룹(홀수번째 화상그룹, 또는 짝수번째 화상그룹)의 비디오 데이터를 디코더부(260)의 비디오버퍼에 저장한다. 그리고 상기 디코더부(260)는 상기 제어부(280)의 제어하에 비디오 버퍼에 저장된 비디오 데이터를 디코딩하여 출력하므로써 배속 재생을 할 있도록 한다. 또한 3배속 재생의 경우, 상기 제어부(280)은 스토리지부(240)의 인덱스 데이터를 참조하여 3배속을 수행하기 위한 I 프레임들, 해당 I 프레임들의 재생시간, 그리고 해당 I 프레임이 이 포함되는 화상 그룹의 파일 크기 등을 확인한다. 그리고 상기와 같은 방법으로 제어부(280)는 상기 인덱스 데이터에 따라 상기 제2디먹스부(250)에 디멀티플렉싱되는 비디오 데이터들 중에서 매 3 번째 화상그룹의 비디오 데이터를 디코더부(260)에 인가하여 3배속 재생을 제어한다. 이때 배속 재생 제어시 오디오 데이터와 다른 재생 속도를 가질 수 있으며, 상기 제어부260은 상기 디코더부(260)을 제어하여 오디오 디코딩 동작을 수행하지 않도록 할 수 있다.
본 발명의 실시 예에 따른 디지털 콘텐츠 제공 방법은, 상기 <표 1> 및 <표 2>에서 설명한 바와 같이, 콘텐츠 데이터를 수신하여 인덱싱을 수행하고, 사용자의 요청에 따라 인덱싱을 참조하여 콘텐츠 데이터를 디코딩하여 출력함으로써 디지털 콘텐츠의 배속 재생을 제어한다.
본 발명의 실시예에 따른 디지털 영상수신기의 콘텐츠 재생 방법은 콘텐츠 제공 서버로부터 콘텐츠 데이터 수신하는 과정과, 상기 수신되는 콘텐츠 데이터를 저장하며, 상기 저장되는 콘텐츠 데이터를 디멀티플렉싱하여 비디오 데이터를 분리하고, 상기 분리된 비디오 데이터에서 특정 프레임을 포함하는 화상그룹(group of picture)들을 인덱싱하고 인덱싱되는 화상그룹의 재생시간 및 파일크기를 포함하는 인덱싱 데이터를 생성하여 저장하는 과정과, 배속재생 요구시 상기 저장된 콘텐츠 데이터를 디멀티플렉싱하여 비디오 데이터를 분리하고, 상기 분리된 비디오 데이타에서 상기 인덱스 데이터를 참조하여 배속에 대응되는 화상그룹들을 선택하여 디코딩 및 표시하는 과정을 포함할 수 있다.
여기서 상기 특정 프레임은 Intra-coded frame이며, 상기 화상그룹은 상기 Intra-coded frame에 의해 재생되는 Bidirectional-coded frame들 및 Predictive-coded frame들을 포함할 수 있다. 그리고 상기 인덱스 데이터는 화상그룹을 구성하는 각 비디오 프레임들의 프레임 번호 및 재생시간과 화상그룹의 파일크기를 포함할 수 있다. 또한 상기 인덱스 데이터는 화상그룹을 구성하는 Intra-coded frame의 프레임 번호 및 재생시간, 화상그룹의 프레임 수 및 파일크기를 포함할 수도 있다.
그리고 상기 배속 재생과정은, 고속 재생 요구시 상기 저장된 콘텐츠 데이터를 디멀티플렉싱하여 비디오 데이터들을 분리하는 과정과, 상기 인덱스 데이터를 참조하여 분리되는 비디오 데이터들에서 요구된 배속에 따라 화상그룹의 비디오 데이터들을 선택하는 과정과, 상기 선택되는 비디오 데이터를 디코딩하여 표시하는 과정을 포함할 수 있다. 그리고 상기 요구된 배속에 따라 화상그룹의 비디오 데이터를 선택하는 과정은 상기 분리되는 비디오데이타를 버퍼링하는 과정과, 상기 인덱스 데이터를 참조하여 상기 버퍼링된 비디오 데이터들에서 요구된 배속에 따라 대응되는 화상그룹들 만을 선택하며, 상기 화상그룹의 선택은 해당 화상그룹의 Intra-coded frame 번호 및 상기 Intra-coded frame에 해당되는 idirectional-coded frame들 및 Predictive-coded frame들을 선택하는 과정을 포함할 수 있다.
이하 본 발명의 실시예에 따른 콘텐츠 수신장치(즉, 디지털 영상 수신기)의 배속 재생 제어 방법을 상세히 설명한다.
도 4는 본 발명의 실시 예에 따른 콘텐츠 수신 장치의 데이터 인덱싱 방법을 설명하기 위한 흐름도이다. 상기 인덱싱 방법은 미리 설정되어 있으며, <표 1>및 <표 2>에서 설명한 바와 같이 매 I 프레임 마다 인덱싱하는 것으로 설정되어 있다고 가정한다. 이러한 인덱싱 방법은 콘텐츠 수신 장치(200) 제조시 제조업체에서 설정할 수 있으며, 또한 사용자의 조작에 따라 설정할 수 있다.
상기 도 4를 참조하면, 제어부(280)는 401 단계에서 데이터 통신부(210)를 통해 콘텐츠 데이터를 수신하며, 403 단계에서 버퍼부(220)에 수신한 콘텐츠 데이터를 일시 저장한다. 이때 상기 콘텐츠 데이터는 콘텐츠 제공 서버(100)으로부터 전송되며, 네트워크의 성능에 따라 다운되는 속도가 다르게 된다. 즉, 네트워크 성능이 양호하면 상기 콘텐츠수신장치(200)은 콘텐츠를 고속으로 다운로드하게 되며, 네트워크 성능이 불량한 상태이면 수신되는 콘텐츠를 저속으로 다운로드하게 된다. 따라서 상기 콘텐츠수신장치(200)은 가변적인 속도로 다운로드되는 콘텐츠를 데이터 통신부(210)을 통해 수신하여 버퍼부(220)에 저장하게 된다.
본 발명의 실시 예에 따른 인덱싱을 위해서는 일정 크기 이상의 콘텐츠 데이터가 필요하므로, 제어부(280)는 버퍼부(220)에 일시 저장되는 콘텐츠 데이터의 크기를 계속해서 모니터링한다. 모니터링과 함께 제어부(280)는 405 단계에서 기 설정된 크기 이상의 콘텐츠 데이터가 버퍼부(220)에 저장되어 있는지 확인한다. 이때 기 설정된 크기 이상의 콘텐츠 데이터가 저장되어 있으면, 제어부(280)는 407 단계에서 버퍼부(220)에 일시 저장되어 있는 콘텐츠 데이터를 제1 디먹스부(230)와 스토리지부(240)에 순차로 출력한다. 그리고 상기 스토리지부(240)은 상기 제어부(280)의 제어하에 상기 버퍼부(220)의 콘텐츠 데이터를 저장한다.
그러면, 제어부(280)는 409단계에서 제1 디먹스부(230)를 제어하여 화상그룹 단위로 인덱싱 데이터를 생성한다. 즉, 상기 제1디먹스부230은 상기 버퍼부220에서 출력되는 TS 패킷 스트림을 디멀티플렉싱하여 비디오를 분리 추출한다. 그러면 상기 제어부(208)은 상기 분리추출되는 비디오 데이터에서 I 프레임을 확인하고, 상기 I 프레임의 재생시간 및 I 프레임을 포함하는 화상그룹의 파일크기를 확인하여 이를 해당 화상 그룹의 인덱싱 데이터로 생성한다. 이때 상기 콘텐츠 데이터는 가변 속도로 수신되므로 프레임 재생시간을 프레임 수에 따라 설정하는 것이 바람직하다. 따라서 상기 제어부(280)은 상기 제1디먹스부250에 분리되는 비디오 데이터의 각 프레임의 시간을 최초 프레임부터 일정 시간을 더해 가상의 프레임 재생 시간을 만들고, 그 때의 파일 크기를 인덱스 정보로 기록한다. 시간 및 파일 크기는 상기 <표 1>에서 설명한 바와 같다. 상기 도 4의 설명에서는 상기 제어부(280)이 인덱스 데이터를 생성하는 것으로 가정하여 설명하였지만, 제1디먹스부(230)에서 생성할 수도 있다. 이런 경우, 상기 제1디먹스부(230)은 디지털 콘텐츠에서 비디오 데이터들을 디멀티플렉싱하고, 비디오 프레임 데이터의 식별자를 확인하여 I 프레임을 추출하고, 해당 I 프레임의 프레임번호, 재생시간 및 해당 화상 그룹의 파일크기를 인덱싱 데이터로 생성한다.
상기와 같은 동작을 반복하면서, 상기 제어부(280)는 411 단계에서 일정량의 인덱스 데이터가 수집되었지 여부를 판단한다. 이때, 충분한 인덱싱 데이터가 누적되면, 상기 제어부(280)는 413단계에서 인덱싱 데이터를 스토리지부(240)으로 출력하여 저장한다. 상기와 같이 일정 크기로 인덱싱 데이터를 누적한 후 스토리지부(240)에 저장하는 이유는 충분한 인덱스 데이터가 모여지기 전에 스토리지부(240)에 인덱스 데이터를 기록을 할 경우 잦은 스토리지 접근을 야기하여 시스템에 부하가 가해질 수 있다. 이러한 이유로 제어부(280)는 411 단계에서 인덱싱을 수행하기 위해 필요한 크기 이상의 프레임이 누적되는지 여부를 판단한다. 그런 다음, 제어부(280)는 413단계에서 인덱스 데이터를 스토리지부(240)에 저장한다.
이러한 인덱싱 과정은 하나의 콘텐츠 데이터를 모두 수신할때까지 게속되므로, 제어부(280)는 415단계에서 하나의 콘텐츠 데이터를 모두 수신하였는지 판단하여, 모두 수신 하지 않은 경우 401 단계로 진행한다. 한편, 하나의 콘텐츠 데이터를 모두 수신한 경우 417단계에서 나머지 저장하지 않은 인덱스 데이터를 스토리지부(240)에 저장한 후 프로세스를 종료한다.
도 5는 본 발명의 실시 예에 따른 콘텐츠 데이터를 재생하는 방법을 설명하기 위한 흐름도이다.
도 5에서는 사용자의 입력이 콘텐츠의 재생을 요구하는 입력이 있는 경우를 상정한다. 이러한 재생은 정상 배속 및 고배속의 재생을 포함하며, 사용자는 이를 선택하여 요청할 수 있다. 특히, 도 5에서 설명하는 실시 예에서, 고배속의 재생의 경우, 도 4에서 인덱싱 데이터가 저장되기 시작한 직후 수행할 수 있다. 즉, 도 4의 411 단계에서 시간 및 파일 크기가 기록되는 프레임들이 인덱싱을 수행하기 위해 필요한 크기 이상으로 누적된 후, 413 단계에서 기 설정된 규칙에 따라 인덱스 데이터를 생성하면, 이러한 인덱스 데이터를 이용하여, 사용자에게 고배속 재생의 서비스를 제공할 수 있다.
상기 도 5를 참조하면, 사용자의 입력부(270) 조작을 통해 재생을 요청하는 입력이 있으면, 제어부(280)는 501 단계에서 이를 감지하고, 503 단계에서 사용자의 재생 요청이 고배속인지 여부를 판단한다. 이때, 사용자의 재생 요청이 고배속(2 배속 이상)인 경우, 제어부(280)는 505 단계로 진행한다. 반면, 사용자의 재생 요청이 정상 배속(1 배속)인 경우, 제어부(280)는 511 단계로 진행한다.
고배속인 경우, 제어부(280)는 505 단계에서 스토리지부(240)의 인덱스 데이터를 읽고, 507 단계에서 해당 인덱스 프레임 위치를 시간을 기준으로 도출하고, 509 단계에서 해당 배속을 기준으로 인덱스 프레임 위치에 따라 제2 디먹스부(250) 및 디코더부(260)를 제어하여 배속 재생을 처리한다. 즉, 상기 제어부(280)은 2 배속인 경우, 스토리지부(240)로부터 인덱스 프레임인 I 프레임의 위치를 파악하여, I 프레임들 중 매 두 번째 I 프레임만 디코딩하도록 제2 디먹스부(250) 및 디코더부(260)를 제어하며, 또한, 3 배속의 경우, I 프레임들 중 매 세 번째 I 프레임만 디코딩하도록 제2 디먹스부(250) 및 디코더부(260)를 제어한다.
상기 배속 재생을 제어하는 동작을 상세히 설명하면, 배속 재생 요구시 상기 제어부(280)은 상기 스토리지부(240)에 저장된 인덱스 데이터를 확인하며, 또한 상기 스토리지부(240)에 저장된 콘텐츠 데이터를 제2디먹스부(250)가 디멀티플렉싱하도록 제어한다. 상기 제2디먹스부(250)은 상기 콘텐츠 데이터를 비디오, 오디오 및 방송 데이터로 디멀티플렉싱하며, 상기 디멀티플렉싱된 데이터드들을 각각 대응되는 디코더부(260)의 버퍼들에 저장한다. 그리고 상기 제어부(280)은 상기 인덱스 데이터를 참조하여 비디어 버퍼를 제어하면서 사용자 요구한 배속 재생의 I 프레임 데이터 및 관련된 프레임데이타(B 및 P 프레임 데이터)들을 디코더부(260)의 비디오 디코더에 입력되도록 제어한다. 상기한 바와 같이 디코더부(260)은 비디오디코더, 오디오디코더 및 데이터디코더 등으로 구성될 수 있으며, 이들 각각의 디코더들을 각각 입력버퍼들을 구비할 수 있다. 그러면 상기 디코더부(260)의 비디오 디코더는 513단계에서 배속 재생을 위해 처리된 비디오 데이터들을 디코딩하며, 이를 도시하지 않은 표시부를 통해 재생한다. 이때 상기 고배속 재생인 경우, 상기 제어부(280)은 디코더부(260)의 오디오 디코더를 제어하여 오디오 데이터를 재생하지 않도록 할 수 있다. 즉, 고배속 재생시 오디오신호는 뮤트될 수 있다.
한편, 정상 배속인 경우, 제어부(280)는 511 단계에서 디코더부(260)를 정상 배속에 따라 디코딩하도록 설정하며, 이에 따라 상기 디코더부(260)은 상기 제2디먹스부(250)에서 디멀티플렉싱되는 비디오 및 오디오 데이터를 디코딩할 수 있다.
한편, 본 명세서와 도면에 개시 된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (13)

  1. 디지털 영상수신기의 콘텐츠 재생 방법에 있어서,
    콘텐츠 제공 서버로부터 콘텐츠 데이터를 수신하는 동작과,
    상기 수신되는 콘텐츠 데이터를 저장하며, 상기 저장되는 콘텐츠 데이터를 디멀티플렉싱하여 비디오 데이터를 분리하고, 상기 분리된 비디오 데이터에서 특정 프레임을 포함하는 화상그룹(group of picture)들을 인덱싱하고 인덱싱되는 화상그룹의 재생시간 및 파일크기를 포함하는 인덱싱 데이터를 생성하여 저장하는 동작과,
    배속재생 요구시 상기 저장된 콘텐츠 데이터를 디멀티플렉싱하여 비디오 데이터를 분리하고, 상기 분리된 비디오 데이터에서 상기 인덱싱 데이터를 참조하여 배속에 대응되는 화상그룹들을 선택하여 디코딩 및 표시하는 동작을 포함하는 방법.
  2. 제1항에 있어서,
    상기 특정 프레임은 I 프레임(Intra-coded frame)이며, 상기 화상그룹은 상기 I 프레임에 의해 재생되는 B 프레임(Bidirectional-coded frame)들 및 P 프레임(Predictive-coded frame)들을 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 인덱싱 데이터는 화상그룹을 구성하는 각 비디오 프레임들의 프레임 번호 및 재생시간과 화상그룹의 파일크기를 포함하는 것을 특징으로 하는 방법.
  4. 제2항에 있어서,
    상기 인덱싱 데이터는 화상그룹을 구성하는 I 프레임의 프레임 번호 및 재생시간, 화상그룹의 프레임 수 및 파일크기를 포함하는 것을 특징으로 하는 방법.
  5. 제2항에 있어서,
    상기 배속 재생 동작은,
    고속 재생 요구시 상기 저장된 콘텐츠 데이터를 디멀티플렉싱하여 비디오 데이터들을 분리하는 동작과,
    상기 인덱싱 데이터를 참조하여 분리되는 비디오 데이터들에서 요구된 배속에 따라 화상그룹의 비디오 데이터들을 선택하는 동작과,
    상기 선택되는 비디오 데이터를 디코딩하여 표시하는 동작을 포함하는 방법.
  6. 제5항에 있어서,
    상기 요구된 배속에 따라 화상그룹의 비디오 데이터들을 선택하는 동작은,
    상기 분리되는 비디오데이터들을 버퍼링하는 동작과,
    상기 인덱싱 데이터를 참조하여 상기 버퍼링된 비디오 데이터들에서 요구된 배속에 따라 대응되는 화상그룹들 만을 선택하며, 상기 화상그룹의 선택은 해당 화상그룹의 I 프레임 번호 및 상기 I 프레임에 해당되는 B 프레임들 및 P 프레임들을 선택하는 동작을 포함하는 방법.
  7. 제6항에 있어서,
    상기 배속 재생 동작시 상기 비디오 데이터들에 포함되는 오디오 신호는 뮤트되는 것을 특징으로 하는 방법.
  8. 디지털 영상수신기의 콘텐츠 재생장치에 있어서,
    콘텐츠 제공 서버로부터 콘텐츠 데이터를 수신하는 데이터통신부와,
    상기 수신되는 콘텐츠 데이터를 저장하는 스토리지부와,
    상기 수신되는 콘텐츠 데이터를 디멀티플렉싱하여 비디오 데이터를 분리하고, 상기 분리된 비디오 데이터에서 특정 프레임을 포함하는 화상그룹들을 인덱싱하고 인덱싱되는 화상그룹의 재생시간 및 파일크기를 포함하는 인덱싱 데이터를 생성하여 상기 스토리지부에 저장하는 제1디먹스부와,
    배속재생 요구시 상기 스토리지부에 저장된 콘텐츠 데이터를 디멀티플렉싱하여 비디오 데이터를 분리하는 제2디먹스부와,
    상기 분리된 비디오 데이터에서 상기 인덱싱 데이터를 참조하여 배속에 대응되는 화상그룹들을 선택하여 디코딩하여 표시부에 출력하는 디코더부를 포함하는 장치.
  9. 제8항에 있어서,
    상기 특정 프레임은 I 프레임(Intra-coded frame)이며, 상기 화상그룹은 상기 I 프레임에 의해 재생되는 B 프레임(Bidirectional-coded frame)들 및 P 프레임(Predictive-coded frame)들을 포함하는 것을 특징으로 하는 장치.
  10. 제9항에 있어서,
    상기 인덱싱 데이터는 화상그룹을 구성하는 각 비디오 프레임들의 프레임 번호 및 재생시간과 화상그룹의 파일크기를 포함하는 것을 특징으로 하는 장치.
  11. 제9항에 있어서,
    상기 인덱싱 데이터는 화상그룹을 구성하는 I 프레임의 프레임 번호 및 재생시간, 화상그룹의 프레임 수 및 파일크기를 포함하는 것을 특징으로 하는 장치.
  12. 제8항에 있어서,
    상기 디코더부는 비디오 디코더 및 오디오디코더와, 각각 대응되는 입력버퍼들을 구비하며,
    상기 비디오 디코더는 상기 분리되는 비디오데이터들을 입력버퍼에 버퍼링하고, 상기 인덱싱 데이터를 참조하여 상기 버퍼링된 비디오 데이터들에서 요구된 배속에 따라 대응되는 화상그룹들 만을 선택하며, 상기 화상그룹의 선택은 해당 화상그룹의 I 프레임 번호 및 상기 I 프레임에 해당되는 B 프레임들 및 P 프레임들을 선택하는 것을 특징으로 하는 장치.
  13. 제12항에 있어서,
    상기 디코더부는 배속 재생시 오디오신호를 뮤트시키는 것을 특징으로 하는 장치.
KR1020100103956A 2009-10-23 2010-10-25 디지털 영상 수신기의 디지털 콘텐츠 처리 장치 및 방법 KR101731829B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090101041 2009-10-23
KR20090101041 2009-10-23

Publications (2)

Publication Number Publication Date
KR20110044723A KR20110044723A (ko) 2011-04-29
KR101731829B1 true KR101731829B1 (ko) 2017-05-04

Family

ID=43498643

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100103956A KR101731829B1 (ko) 2009-10-23 2010-10-25 디지털 영상 수신기의 디지털 콘텐츠 처리 장치 및 방법

Country Status (3)

Country Link
US (1) US8549568B2 (ko)
EP (1) EP2315428A1 (ko)
KR (1) KR101731829B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10446188B2 (en) * 2015-12-10 2019-10-15 Cine Design Group Llc Method and apparatus for low latency non-linear media editing using file-based inserts into finalized digital multimedia files
CN109547860A (zh) * 2018-12-07 2019-03-29 晶晨半导体(上海)股份有限公司 一种点播的视频断网续播的方法和iptv播放装置
KR102650340B1 (ko) * 2019-06-07 2024-03-22 주식회사 케이티 재생 시각을 정밀하게 제어하는 동영상 재생 단말, 방법 및 서버
CN112449209B (zh) * 2019-08-29 2022-06-10 中移物联网有限公司 视频存储方法、装置、云服务器及计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3389399B2 (ja) 1996-02-05 2003-03-24 三洋電機株式会社 音声再生装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL139485A (en) * 1998-05-08 2005-11-20 Koninkl Philips Electronics Nv Method for storing compressed digital audio and video
EP1309195B1 (en) 2001-10-29 2007-11-14 Humax Co., Ltd. Method for recording a digital broadcast program and time-based playback of a recorded broadcast program and apparatus therefor
US20040040041A1 (en) * 2002-08-22 2004-02-26 Microsoft Corporation Interactive applications for stored video playback
US8832758B2 (en) * 2003-03-17 2014-09-09 Qwest Communications International Inc. Methods and systems for providing video on demand
US7792806B2 (en) * 2003-06-27 2010-09-07 Microsoft Corporation Rate change
GB0418279D0 (en) * 2004-08-16 2004-09-15 Nds Ltd System for providing access to operation information
US7720350B2 (en) * 2004-11-30 2010-05-18 General Instrument Corporation Methods and systems for controlling trick mode play speeds
US20060136981A1 (en) * 2004-12-21 2006-06-22 Dmitrii Loukianov Transport stream demultiplexor with content indexing capability
WO2006114761A1 (en) * 2005-04-26 2006-11-02 Koninklijke Philips Electronics N.V. A device for and a method of detecting positions of intra-coded frames in a data stream

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3389399B2 (ja) 1996-02-05 2003-03-24 三洋電機株式会社 音声再生装置

Also Published As

Publication number Publication date
KR20110044723A (ko) 2011-04-29
US20110099592A1 (en) 2011-04-28
US8549568B2 (en) 2013-10-01
EP2315428A1 (en) 2011-04-27

Similar Documents

Publication Publication Date Title
US8521009B2 (en) Systems and methods to modify playout or playback
US11930250B2 (en) Video assets having associated graphical descriptor data
WO2013061525A1 (ja) 放送受信装置、再生装置、放送通信システム、放送受信方法、再生方法およびプログラム
KR20110072728A (ko) 셋탑박스간 영상 이어 보기 서비스 제공 방법 및 장치
KR100770908B1 (ko) 디지털 방송 스트림의 변속 재생 장치 및 방법
KR101731829B1 (ko) 디지털 영상 수신기의 디지털 콘텐츠 처리 장치 및 방법
KR101142379B1 (ko) 디지털 방송 재생 방법 및 장치, 디지털 방송 녹화 방법
JP4526294B2 (ja) ストリームデータ送信装置、受信装置、プログラムを記録した記録媒体、およびシステム
KR20050052717A (ko) 오디오 원본 보존 트랜스코딩 시스템 및 방법
JP6964436B2 (ja) 映像記録装置及び映像再生装置
JP6440350B6 (ja) 電子機器、電子機器の制御方法、及びプログラム
EP1311120A2 (en) Method for implementing low-speed playback of a digital broadcast program
JP2003046928A (ja) ネットワーク映像再生方法および圧縮映像データ復号再生装置
JP2003009085A (ja) デジタル信号記録装置および方法、デジタル信号再生装置および方法
JP4993390B2 (ja) 複数動画像の閲覧装置
JP2011087333A (ja) 画像再生装置
JP2006074759A (ja) 複数動画像の閲覧装置および配信装置
JP5100852B2 (ja) デジタル信号記録再生装置および方法、デジタル信号再生装置および方法
JP2002281454A (ja) 複数動画像の閲覧装置、配信装置および記憶媒体
JP2010028821A (ja) デジタル信号記録装置および方法、デジタル信号再生装置および方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant