KR102050491B1 - 요청 응답 방식의 적응형 컨텐츠 재생 방법 - Google Patents

요청 응답 방식의 적응형 컨텐츠 재생 방법 Download PDF

Info

Publication number
KR102050491B1
KR102050491B1 KR1020180121423A KR20180121423A KR102050491B1 KR 102050491 B1 KR102050491 B1 KR 102050491B1 KR 1020180121423 A KR1020180121423 A KR 1020180121423A KR 20180121423 A KR20180121423 A KR 20180121423A KR 102050491 B1 KR102050491 B1 KR 102050491B1
Authority
KR
South Korea
Prior art keywords
unit
information
multimedia content
content
terminal
Prior art date
Application number
KR1020180121423A
Other languages
English (en)
Other versions
KR20180114880A (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 KR1020180121423A priority Critical patent/KR102050491B1/ko
Publication of KR20180114880A publication Critical patent/KR20180114880A/ko
Application granted granted Critical
Publication of KR102050491B1 publication Critical patent/KR102050491B1/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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

Abstract

본 발명의 요청 응답 방식의 적응형 컨텐츠 재생 방법에 따르면, 통신망을 통해 컨텐츠를 수신하여 재생하는 단말에서 실행되는 방법에 있어서, 상기 단말에서 컨텐츠 요청 시 상기 컨텐츠를 N(N>2)개의 각 재생구간으로 분할하여 생성된 복수의 데이터 청크(Data Chunk)와 상기 N개의 각 재생구간을 인덱싱하는 인덱스 정보를 연계 저장하고 있는 저장매체와 연동하는 서버로부터 상기 컨텐츠에 대한 정보와 상기 데이터 청크에 대한 정보를 수신하고, 상기 단말에서 상기 수신된 정보를 근거로 상기 컨텐츠의 분할된 각각의 데이터 청크를 지정된 순서에 따라 상기 서버로 요청하여 수신하기 위한 제n(n≥1)번째 순서에 부합하는 제n 데이터 청크의 인덱스를 확인하고, 상기 단말에서 상기 서버로 상기 확인된 인덱스에 대응하는 제n 데이터 청크를 요청하고, 상기 단말에서 상기 서버로부터 상기 요청의 응답에 대응하는 제n 데이터 청크를 수신하고, 상기 단말에서 상기 서버로부터 수신되는 상기 제n 데이터 청크를 재생하고, 상기 단말에서 상기 제n 데이터 청크의 재생을 완료하기 전에 상기 수신된 정보를 근거로 상기 서버로 요청하여 수신할 제(n+1) 데이터 청크의 인덱스를 확인하고, 상기 단말에서 상기 확인된 인덱스에 대응하는 제(n+1) 데이터 청크를 요청하고, 상기 단말에서 상기 서버로부터 상기 요청의 응답에 대응하는 제(n+1) 데이터 청크를 수신하며, 상기 단말에서 상기 제n 데이터 청크의 재생과 연계된 지정된 재생 시점에 상기 수신된 제(n+1) 데이터 청크를 재생한다.

Description

요청 응답 방식의 적응형 컨텐츠 재생 방법{Method for Adaptive Playing Contents by Request and Response}
본 발명은, 통신망을 통해 컨텐츠를 수신하여 재생하는 단말에서 실행되는 방법에 있어서, 상기 단말에서 컨텐츠 요청 시 상기 컨텐츠를 N(N>2)개의 각 재생구간으로 분할하여 생성된 복수의 데이터 청크(Data Chunk)와 상기 N개의 각 재생구간을 인덱싱하는 인덱스 정보를 연계 저장하고 있는 저장매체와 연동하는 서버로부터 상기 컨텐츠에 대한 정보와 상기 데이터 청크에 대한 정보를 수신하고, 상기 단말에서 상기 수신된 정보를 근거로 상기 컨텐츠의 분할된 각각의 데이터 청크를 지정된 순서에 따라 상기 서버로 요청하여 수신하기 위한 제n(n≥1)번째 순서에 부합하는 제n 데이터 청크의 인덱스를 확인하고, 상기 단말에서 상기 서버로 상기 확인된 인덱스에 대응하는 제n 데이터 청크를 요청하고, 상기 단말에서 상기 서버로부터 상기 요청의 응답에 대응하는 제n 데이터 청크를 수신하고, 상기 단말에서 상기 서버로부터 수신되는 상기 제n 데이터 청크를 재생하고, 상기 단말에서 상기 제n 데이터 청크의 재생을 완료하기 전에 상기 수신된 정보를 근거로 상기 서버로 요청하여 수신할 제(n+1) 데이터 청크의 인덱스를 확인하고, 상기 단말에서 상기 확인된 인덱스에 대응하는 제(n+1) 데이터 청크를 요청하고, 상기 단말에서 상기 서버로부터 상기 요청의 응답에 대응하는 제(n+1) 데이터 청크를 수신하며, 상기 단말에서 상기 제n 데이터 청크의 재생과 연계된 지정된 재생 시점에 상기 수신된 제(n+1) 데이터 청크를 재생하는 요청 응답 방식의 적응형 컨텐츠 재생 방법에 관한 것이다.
대부분의 멀티미디어 컨텐츠는 최초 영상획득 장치로부터 입력되는 아날로그 방식의 비디오/오디오 신호를 엔코딩하여 소정의 비디오/오디오 데이터를 생성하고, 상기 비디오/오디오 데이터를 각종 멀티미디어 컨텐츠 파일 구조에 따라 저장하는 형태로 생성된다.
여기서, 상기 비디오/오디오 신호의 엔코딩은 소정의 압축코덱을 통합 압축 방식을 포함하여 이루어지는 것이 일반적이며, 상기 멀티미디어 컨텐츠 파일 구조는 상기 압축코덱을 수용할 수 있는 파일 구조를 포함하여 이루어지는 것이 일반적이다.
또한, 상기 멀티미디어 컨텐츠는 상기 비디오/오디오 신호의 엔코딩 및 압축코덱 방식과 상기 멀티미디어 컨텐츠 파일 구조에 따라 실시간 재생(Streaming)이 가능한 파일 구조와, 실시간 재생이 불가한 파일 구조로 나뉠 수 있다.
여기서, 상기 실시간 재생이 가능한 파일 구조는, 소정의 통신망을 통한 멀티미디어 컨텐츠 전송함에 있어서, 상기 멀티미디어 컨텐츠를 구성하는 각종 헤더 정보와 멀티미디어 컨텐츠 재생에 필요한 인덱스 정보를 우선적으로 전송한 후 상기 멀티미디어 컨텐츠의 비디오/오디오 데이터에 대응하는 영상 데이터를 전송하는 구조를 포함하여 이루어지거나, 또는 상기 멀티미디어 컨텐츠를 구성하는 각종 헤더 정보를 우선적으로 전송한 후 상기 멀티미디어 컨텐츠의 비디오/오디오 데이터에 대응하는 영상 데이터와 상기 멀티미디어 컨텐츠 재생에 필요한 인덱스 정보를 함께 전송하는 구조를 포함하여 이루어진다.
반면, 상기 실시간 재생이 불가한 파일 구조는, 소정의 통신망을 통한 멀티미디어 컨텐츠 전송함에 있어서, 상기 멀티미디어 컨텐츠를 구성하는 각종 헤더 정보를 우선적으로 전송한 후 상기 멀티미디어 컨텐츠의 비디오/오디오 데이터에 대응하는 영상 데이터를 전송하고, 상기 멀티미디어 컨텐츠 재생에 필요한 인덱스 정보를 마지막으로 전송하는 구조를 포함하여 이루어진다.
최근 정보통신 기술이 급속하게 발전하고, 이에 의해 통신망을 통해 파일 송수신에 대한 많은 기술적 제약(예컨대, 연산속도, 통신속도 등)이 해소됨에 따라 각 멀티미디어 컨텐츠 용도(예컨대, 고용량/고화질, 저용량/저화질, 저용량/고화질 등)에 부합하는 다양한 형태의 압축코덱이 개발 및 배포되고 있는데, 상기 압축코덱은 주로 미국 마이크로소프트사의 비디오/오디오 동기화 기술(Interleaving)을 사용하는 AVI(Audio Video Interleaving) 파일에 수용할 수 있는 구조를 포함하여 이루어지는 것이 일반적이며, 이에 의해 통신망을 통해 송수신되는 대부분의 멀티미디어 컨텐츠는 상기 AVI 파일 구조를 포함하여 이루어지고 있다.
도면1은 종래 AVI 파일 구조를 따르는 멀티미디어 컨텐츠 구조를 도시한 도면이다.
보다 상세하게 본 도면1은 미국 마이크로소프트사에서 개발자를 대상으로 배포하고 있는 MSDN(MicroSoft Developer Network)에 구비된 레퍼런스 자료를 기반으로 상기 AVI 파일 구조를 도시한 것이다.
도면1을 참조하면, 상기 AVI 파일 구조를 따르는 상기 멀티미디어 컨텐츠는 소정의 컨텐츠 헤더 정보를 포함하는 헤더부(100)와, 소정의 비디오/오디오 데이터를 포함하는 영상 데이터부(105)와, 상기 멀티미디어 컨텐츠 재생에 필요한 인덱스 정보를 포함하는 인덱스부(110)를 포함하여 이루어지는 것을 특징으로 하며, 이에 대한 바람직한 구조는 다음과 같다.
RIFF ('AVI '
LIST ('hdrl'
'avih'(<Main AVI Header>)
LIST ('strl'
'strh'(<Stream header>)
'strf'(<Stream format>)
'strd'(<additional header data>)
'strn'(<Stream name>)
...
)
...
)
LIST ('movi'
{SubChunk | LIST ('rec '
SubChunk1
SubChunk2
...
)
...
}
...
)
['idx1'<AVI Index>]
)
상기 멀티미디어 컨텐츠의 상기 헤더부(100)는 상기 멀티미디어 컨텐츠의 "RIFF"라는 초두 문자 코드(FOURCC : FOUR Character Code) 다음에 위치하며, 메인 헤더(Main Header)와 스트림 헤더(stream Header)로 구성된다.
상기 메인 헤더는 상기 멀티미디어 컨텐츠 전체에 대한 소정의 헤더 정보를 포함하여 이루어지며, MainAVIHeader 구조체를 통해 정의된다. 상기 MainAVIHeader 구조체는 상기 멀티미디어 컨텐츠에 대한 프레임 레이트 정보(dwMicroSecPerFrame), 데이터 레이트 정보(dwMaxBytesPerSec), 플레그 정보(dwFlags)와, 전체 프레임 정보(dwTotalFrames), 최초 프레임 정보(dwInitialFrames), 스트림 정보(dwStreams)와, 버퍼 크기(dwSuggestedBufferSize) 및 가로/세로 해상도 정보(dwHeight, dwReserved) 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 여기서 상기 메인 헤더 정보에 대한 바람직한 실시예는 다음 구조체 형식을 포함하여 이루어지는 것이 바람직하다.
typedef struct {
DWORD dwMicroSecPerFrame;
DWORD dwMaxBytesPerSec;
DWORD dwReserved1;
DWORD dwFlags;
DWORD dwTotalFrames;
DWORD dwInitialFrames;
DWORD dwStreams;
DWORD dwSuggestedBufferSize;
DWORD dwWidth;
DWORD dwHeight;
DWORD dwReserved[4];
} MainAVIHeader;
상기 스트림 헤더('strh')는 상기 메인 헤더 다음에 위치하며, AVIStreamHeader 구조체로 정의된다. 또한, 상기 스트림 헤더 다음에는 스트림 포맷('strf')이 정의되는데, 상기 스트림 포맷은 스트림 형식에 따라 다르게 정의된다. 만약 상기 스트림 형식이 비디오 스트림인 경우, 상기 스트림 포맷은 소정의 팔레트 정보를 포함한 BITMAPINFO 구조체로 정의되며, 상기 스트림 형식이 오디오 스트림인 경우, 상기 스트림 포맷은 WAVEFORMATEX 구조체로 정의된다.
또한, 상기 스트림 헤더는 추가적으로 스트림 헤더 데이터('strd')와 스트림 명칭('strn')이 추가될 수 있는데, 상기 스트림 헤더 데이터('strd')는 상기 스트림 포맷에 대한 CODEC을 정의하고, 상기 스트림 명칭('strn')은 NULL로 종료되는 스트림 명칭 문자열을 포함하여 이루어진다.
상기 영상 데이터부(105)는 소정의 비디오 데이터와 오디오 데이터를 동기화(Interleave)하여 소정의 데이터 단위로 구성된 복수개의 청크(Chunk)로 구성되는 것이 바람직하며, 상기 영상 데이터(예컨대, 동기화된 비디오 데이터와 오디오 데이터)는 상기 청크 단위로 재생되는 것이 바람직하다.
상기 영상 데이터부(105)는 적어도 하나 이상의 데이터 청크를 상기 영상 데이터부(105)('movi') 에 직접 기술하는 경우와, 적어도 하나 이상의 데이터 청크를 소정의 레코드 청크('rec')에 그룹화하는 경우를 적어도 하나 이상 포함하여 이루어지며, 각 데이터 청크는 소정의 초두 문자 코드(fourcc)를 포함하여 이루어지는데, 상기 데이터 청크에 포함되는 초두 문자 코드는 2자리의 스트림 번호와 2자리의 스트림 형식(db=비압축 비디오 프레임, dc=압축 비디오 프레임, pc=팔레트의 변경, wb=오디오 데이터)을 포함하여 이루어지는 것이 바람직하다.
상기 인덱스부(110)는 상기 영상 데이터부(105) 다음에 위치하며, 상기 데이터 청크의 리스트와 파일 내에서의 위치정보를 포함하여 이루어지며, AVIINDEXENTRY 구조체에 의해 정의된다.
상기 AVIINDEXENTRY 구조체는 소정의 청크 식별자(ckid)와, 플래그 정보(dwFlags)와, 청크 오프셋(dwChunkOffset)과, 청크 크기(dwChunkLength)를 포함하여 이루어지는 것이 바람직하며, 여기서 상기 인덱스 정보에 대한 바람직한 실시예는 다음 구조체 형식을 포함하여 이루어지는 것이 바람직하다.
typedef struct {
DWORD ckid;
DWORD dwFlags;
DWORD dwChunkOffset;
DWORD dwChunkLength;
} AVIINDEXENTRY;
즉, 소정의 통신망을 통해 상기 AVI 파일 구조를 따르는 상기 멀티미디어 컨텐츠를 전송함에 있어, 상기 멀티미디어 컨텐츠는 상기 멀티미디어 컨텐츠의 헤더부(100)와 영상 데이터부(105) 및 인덱스부(110)가 순차적으로 전송될 것이므로, 상기 멀티미디어 컨텐츠를 재생하는 장치(또는 단말)는 상기 인덱스부(110)가 수신될 때까지(또는 멀티미디어 컨텐츠 수신이 완료될 때까지) 상기 멀티미디어 컨텐츠를 재생하지 못하는 문제점을 포함하고 있다.
본 발명의 목적은, 통신망을 통해 컨텐츠를 수신하여 재생하는 단말에서 실행되는 방법에 있어서, 상기 단말에서 컨텐츠 요청 시 상기 컨텐츠를 N(N>2)개의 각 재생구간으로 분할하여 생성된 복수의 데이터 청크(Data Chunk)와 상기 N개의 각 재생구간을 인덱싱하는 인덱스 정보를 연계 저장하고 있는 저장매체와 연동하는 서버로부터 상기 컨텐츠에 대한 정보와 상기 데이터 청크에 대한 정보를 수신하는 제1 단계와 상기 단말에서 상기 수신된 정보를 근거로 상기 컨텐츠의 분할된 각각의 데이터 청크를 지정된 순서에 따라 상기 서버로 요청하여 수신하기 위한 제n(n≥1)번째 순서에 부합하는 제n 데이터 청크의 인덱스를 확인하는 제2 단계와 상기 단말에서 상기 서버로 상기 확인된 인덱스에 대응하는 제n 데이터 청크를 요청하는 제3 단계와 상기 단말에서 상기 서버로부터 상기 요청의 응답에 대응하는 제n 데이터 청크를 수신하는 제4 단계와 상기 단말에서 상기 서버로부터 수신되는 상기 제n 데이터 청크를 재생하는 제5 단계와 상기 단말에서 상기 제n 데이터 청크의 재생을 완료하기 전에 상기 수신된 정보를 근거로 상기 서버로 요청하여 수신할 제(n+1) 데이터 청크의 인덱스를 확인하는 제6 단계와 상기 단말에서 상기 확인된 인덱스에 대응하는 제(n+1) 데이터 청크를 요청하는 제7 단계와 상기 단말에서 상기 서버로부터 상기 요청의 응답에 대응하는 제(n+1) 데이터 청크를 수신하는 제8 단계 및 상기 단말에서 상기 제n 데이터 청크의 재생과 연계된 지정된 재생 시점에 상기 수신된 제(n+1) 데이터 청크를 재생하는 제9 단계를 포함하는 요청 응답 방식의 적응형 컨텐츠 재생 방법을 제공함에 있다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법은, 통신망을 통해 컨텐츠를 수신하여 재생하는 단말에서 실행되는 방법에 있어서, 상기 단말에서 컨텐츠 요청 시 상기 컨텐츠를 N(N>2)개의 각 재생구간으로 분할하여 생성된 복수의 데이터 청크(Data Chunk)와 상기 N개의 각 재생구간을 인덱싱하는 인덱스 정보를 연계 저장하고 있는 저장매체와 연동하는 서버로부터 상기 컨텐츠에 대한 정보와 상기 데이터 청크에 대한 정보를 수신하는 제1 단계와 상기 단말에서 상기 수신된 정보를 근거로 상기 컨텐츠의 분할된 각각의 데이터 청크를 지정된 순서에 따라 상기 서버로 요청하여 수신하기 위한 제n(n≥1)번째 순서에 부합하는 제n 데이터 청크의 인덱스를 확인하는 제2 단계와 상기 단말에서 상기 서버로 상기 확인된 인덱스에 대응하는 제n 데이터 청크를 요청하는 제3 단계와 상기 단말에서 상기 서버로부터 상기 요청의 응답에 대응하는 제n 데이터 청크를 수신하는 제4 단계와 상기 단말에서 상기 서버로부터 수신되는 상기 제n 데이터 청크를 재생하는 제5 단계와 상기 단말에서 상기 제n 데이터 청크의 재생을 완료하기 전에 상기 수신된 정보를 근거로 상기 서버로 요청하여 수신할 제(n+1) 데이터 청크의 인덱스를 확인하는 제6 단계와 상기 단말에서 상기 확인된 인덱스에 대응하는 제(n+1) 데이터 청크를 요청하는 제7 단계와 상기 단말에서 상기 서버로부터 상기 요청의 응답에 대응하는 제(n+1) 데이터 청크를 수신하는 제8 단계 및 상기 단말에서 상기 제n 데이터 청크의 재생과 연계된 지정된 재생 시점에 상기 수신된 제(n+1) 데이터 청크를 재생하는 제9 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 컨텐츠는, 스트리밍용 포맷이 아닌 저장용 포맷의 컨텐츠를 포함하고, 상기 데이터 청크는, 저장용 포맷의 컨텐츠를 분할한 저장용 데이터 청크를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서,상기 저장매체는, 상기 인덱싱된 N개의 각 재생구간 별로 i(i>1)개의 서로 다른 단위를 지닌 복수의 데이터 청크와 상기 인덱스 정보를 연계 저장하는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 i개의 서로 다른 단위는, 데이터 청크의 프레임 비율, 데이터 비율, 용량 중 하나 이상을 서로 다르게 한 단위를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 단말에서 상기 i개의 서로 다른 단위 중 상기 단말로 끊김없이 수신 가능한 어느 한 단위를 확인하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 제3 단계는, 상기 단말에서 상기 확인된 인덱스에 부합하는 데이터 청크의 i개의 단위 중 어느 한 단위에 부합하는 제n 데이터 청크를 상기 서버로 요청하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 제7 단계는, 상기 단말에서 상기 확인된 인덱스에 부합하는 데이터 청크의 i개의 단위 중 어느 한 단위에 부합하는 제(n+1) 데이터 청크를 상기 서버로 요청하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 어느 한 단위는, 상기 단말의 통신성능을 근거로 데이터 청크의 끊김없는 수신을 위해 확인된 단위를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 단말에서 상기 제n 데이터 청크를 수신하거나 재생하는 중에 상기 서버로부터 수신되는 제n 데이터 청크의 수신용량을 기준으로 다음에 수신할 순서에 부합하는 제(n+1) 데이터 청크의 요청을 결정하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법은, 통신망을 통해 컨텐츠를 수신하여 재생하는 단말에서 실행되는 방법에 있어서, 컨텐츠를 N(N>2)개의 각 재생구간으로 분할하여 생성된 복수의 데이터 청크(Data Chunk)와 상기 N개의 각 재생구간을 인덱싱하는 인덱스 정보를 연계 저장하고 있는 저장매체와 연동하는 서버로부터 상기 컨텐츠에 대한 정보와 상기 데이터 청크에 대한 정보를 수신하는 제1 단계와 상기 수신된 정보를 근거로 상기 컨텐츠의 분할된 각각의 데이터 청크를 지정된 순서에 따라 상기 서버로 요청하여 수신하기 위한 제n(n≥1)번째 순서에 부합하는 제n 데이터 청크의 인덱스를 확인하는 제2 단계와 상기 서버로 상기 확인된 인덱스에 대응하는 제n 데이터 청크를 요청하는 제3 단계와 상기 서버로부터 상기 요청의 응답에 대응하는 제n 데이터 청크를 수신하는 제4 단계와 상기 제n 데이터 청크를 수신하면서 재생하는 제5 단계와 상기 제n 데이터 청크를 수신하거나 재생하는 중에 상기 정보를 근거로 상기 컨텐츠의 분할된 각각의 데이터 청크 중 상기 제n 데이터 청크의 다음에 상기 서버로 요청하여 수신할 순서에 대응하는 제(n+1) 데이터 청크의 인덱스를 확인하는 제6 단계와 상기 서버로 상기 확인된 인덱스에 대응하는 제(n+1) 데이터 청크를 요청하는 제7 단계와 상기 서버로부터 상기 요청의 응답에 대응하는 제(n+1) 데이터 청크를 수신하는 제8 단계 및 상기 제n 데이터 청크의 재생과 연계된 지정된 재생 시점에 상기 수신된 제(n+1) 데이터 청크를 재생하는 제9 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 컨텐츠는, 스트리밍용 포맷이 아닌 저장용 포맷의 컨텐츠를 포함하고, 상기 데이터 청크는, 저장용 포맷의 컨텐츠를 분할한 저장용 데이터 청크를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 저장매체는, 상기 인덱싱된 N개의 각 재생구간 별로 i(i>1)개의 서로 다른 단위를 지닌 복수의 데이터 청크와 상기 인덱스 정보를 연계 저장하는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 i개의 서로 다른 단위는, 데이터 청크의 프레임 비율, 데이터 비율, 용량 중 하나 이상을 서로 다르게 한 단위를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 i개의 서로 다른 단위 중 상기 단말로 끊김없이 수신 가능한 어느 한 단위를 확인하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 제3 단계는, 상기 확인된 인덱스에 부합하는 데이터 청크의 i개의 단위 중 어느 한 단위에 부합하는 제n 데이터 청크를 상기 서버로 요청하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 제7 단계는, 상기 확인된 인덱스에 부합하는 데이터 청크의 i개의 단위 중 어느 한 단위에 부합하는 제(n+1) 데이터 청크를 상기 서버로 요청하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 어느 한 단위는, 상기 단말의 통신성능을 근거로 데이터 청크의 끊김없는 수신을 위해 확인된 단위를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 제n 데이터 청크를 수신하거나 재생하는 중에 상기 서버로부터 수신되는 제n 데이터 청크의 수신용량을 기준으로 다음에 수신할 순서에 부합하는 제(n+1) 데이터 청크의 요청을 결정하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법은, 통신망을 통해 컨텐츠를 수신하여 재생하는 단말에서 실행되는 방법에 있어서, 컨텐츠로부터 분할되는 N(N>2)개의 각 재생구간을 인덱싱하는 인덱스 정보와 상기 컨텐츠를 미리 N개의 재생구간에 따라 분할하여 생성된 복수의 데이터 청크(Data Chunk)를 연계 저장하고 있는 저장매체와 연동하는 서버로부터 상기 컨텐츠에 대한 정보와 상기 데이터 청크에 대한 정보를 수신하는 제1 단계와 상기 수신된 정보를 근거로 상기 컨텐츠의 데이터 청크 중 상기 서버로 요청하여 수신할 제n(n≥1)번째 순서에 부합하는 제n 데이터 청크의 인덱스를 확인하는 제2 단계와 상기 서버로 상기 확인된 인덱스에 대응하는 제n 데이터 청크를 요청하는 제3 단계와 상기 서버로부터 상기 요청한 제n 데이터 청크를 수신하는 제4 단계와 상기 제n 데이터 청크를 수신하면서 재생하는 제5 단계와 상기 제n 데이터 청크를 수신하거나 재생하는 중에 상기 제n 데이터 청크의 다음에 상기 서버로 요청하여 수신할 제(n+1) 데이터 청크의 인덱스를 확인하는 제6 단계와 상기 서버로 상기 확인된 인덱스에 대응하는 제(n+1) 데이터 청크를 요청하는 제7 단계와 상기 서버로부터 상기 요청한 제(n+1) 데이터 청크를 수신하는 제8 단계 및 상기 제n 데이터 청크의 재생과 연계된 지정된 재생 시점에 상기 수신된 제(n+1) 데이터 청크를 재생하는 제9 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 저장매체는, 상기 인덱싱된 N개의 각 재생구간 별로 i(i>1)개의 서로 다른 단위를 지닌 복수의 데이터 청크와 상기 인덱스 정보를 연계 저장하는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 제3 단계는, 상기 확인된 인덱스에 부합하는 데이터 청크의 i개의 단위 중 수신할 어느 한 단위에 부합하는 데이터 청크를 상기 서버로 요청하는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 i개의 서로 다른 단위 중 상기 단말로 끊김없이 수신 가능한 단위를 확인하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 i개의 서로 다른 단위는, 데이터 청크의 프레임 비율, 데이터 비율, 용량 중 하나 이상을 서로 다르게 한 단위를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 제3 단계는, 상기 인덱스에 부합하는 데이터 청크의 i개의 단위 중 상기 단말로 끊김없이 수신 가능한 어느 한 단위에 부합하는 데이터 청크를 상기 서버로 요청하는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 단말의 통신성능을 확인하는 단계 및 상기 단말의 통신성능을 근거로 i개의 서로 다른 단위 중 상기 단말로 끊김없이 수신 가능한 어느 한 단위를 결정하는 단계;를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 요청 응답 방식의 적응형 컨텐츠 재생 방법에 있어서, 상기 제n 데이터 청크를 수신하거나 재생하는 중에 상기 서버로부터 수신되는 제n 데이터 청크의 수신용량을 기준으로 다음에 수신할 순서에 부합하는 제(n+1) 데이터 청크의 요청을 결정하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 적응형 스트리밍 방법은, 통신망을 통해 컨텐츠를 수신하여 재생하는 단말에서 실행되는 방법에 있어서, 컨텐츠로부터 분할되는 N(N>2)개의 각 재생구간을 인덱싱하는 인덱스 정보와 상기 컨텐츠를 미리 N개의 재생구간에 따라 분할하여 생성된 복수의 청크(Data Chunk)를 연계 저장하고 있는 저장매체와 연동하는 서버로부터 상기 컨텐츠에 대한 정보와 상기 데이터 청크에 대한 정보를 수신하는 제1 단계와 상기 수신된 정보를 근거로 상기 서버로부터 수신하여 재생할 컨텐츠의 데이터 청크 중 상기 서버로 전송 요청할 제n(n≥1)번째 순서에 부합하는 데이터 청크의 인덱스를 확인하는 제2 단계와 상기 서버로 상기 확인된 인덱스에 대응하는 데이터 청크를 요청하는 제3 단계와 상기 서버로부터 상기 요청한 데이터 청크를 수신하는 제4 단계 및 상기 수신된 데이터 청크를 재생하는 제5 단계를 포함하고, 상기 컨텐츠의 데이터 청크 중 상기 서버로 전송 요청할 순서에 부합하는 데이터 청크의 인덱스를 확인하는 단계와 상기 서버로 상기 확인된 인덱스에 대응하는 데이터 청크를 요청하는 단계 및 상기 서버로부터 상기 요청한 데이터 청크를 수신하는 단계를 적어도 1회 이상 반복하며, 상기 수신된 데이터 청크들을 지정된 재생 순서에 맞게 재생하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 적응형 스트리밍 방법에 있어서, 상기 저장매체는, 상기 인덱싱된 N개의 각 재생구간 별로 i(i>1)개의 서로 다른 단위를 지닌 복수의 데이터 청크와 상기 인덱스 정보를 연계 저장하는 것을 특징으로 한다.
본 발명에 따른 적응형 스트리밍 방법에 있어서, 상기 제3 단계는, 상기 확인된 인덱스에 부합하는 데이터 청크의 i개의 단위 중 수신할 어느 한 단위에 부합하는 데이터 청크를 상기 서버로 요청하는 것을 특징으로 한다.
본 발명에 따른 적응형 스트리밍 방법에 있어서, 상기 i개의 서로 다른 단위 중 상기 단말로 끊김없이 수신 가능한 단위를 확인하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 적응형 스트리밍 방법에 있어서, 상기 i개의 서로 다른 단위는, 데이터 청크의 프레임 비율, 데이터 비율, 용량 중 하나 이상을 서로 다르게 한 단위를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 적응형 스트리밍 방법에 있어서, 상기 제3 단계는, 상기 인덱스에 부합하는 데이터 청크의 i개의 단위 중 상기 단말로 끊김없이 수신 가능한 어느 한 단위에 부합하는 데이터 청크를 상기 서버로 요청하는 것을 특징으로 한다.
본 발명에 따른 적응형 스트리밍 방법에 있어서, 상기 단말의 통신성능을 확인하는 단계 및 상기 단말의 통신성능을 근거로 i개의 서로 다른 단위 중 상기 단말로 끊김없이 수신 가능한 어느 한 단위를 결정하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 적응형 스트리밍 방법에 있어서, 상기 서버로부터 수신되는 데이터 청크의 수신용량을 기준으로 다음에 수신할 순서에 부합하는 데이터 청크의 요청을 결정하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 적응형 스트리밍 방법은, 통신망을 통해 컨텐츠를 스트리밍받는 단말에서 실행되는 방법에 있어서, 컨텐츠로부터 분할되는 N(N>2)개의 각 재생구간을 인덱싱하는 인덱스 정보와 상기 컨텐츠를 미리 N개의 재생구간에 따라 분할하여 생성된 복수의 청크(Data Chunk)를 연계 저장하고 있는 저장매체와 연동하는 서버와 통신 연결을 확인하는 제1 단계와 상기 저장매체에 저장된 데이터 청크 중 스트리밍받을 컨텐츠의 제n(n≥1)번째 순서에 부합하는 데이터 청크의 인덱스를 확인하는 제2 단계와 상기 서버로 상기 확인된 인덱스에 부합하는 데이터 청크를 요청하여 스트리밍되도록 처리하는 제3 단계와 상기 저장매체에 저장된 데이터 청크 중 다음에 스트리밍받을 제(n+1)번째 순서에 부합하는 데이터 청크의 인덱스를 확인하는 제4 단계 및 상기 서버로 상기 확인된 인덱스에 부합하는 데이터 청크를 요청하여 스트리밍되도록 처리하는 제5 단계를 포함하는 것을 특징으로 한다.
*본 발명에 따른 적응형 스트리밍 방법에 있어서, 상기 제1 단계는, 상기 인덱싱된 N개의 각 재생구간 별로 i(i>1)개의 서로 다른 단위를 지닌 복수의 데이터 청크와 상기 인덱스 정보를 연계 저장한 저장매체를 관리하는 서버와 통신 연결을 확인하는 것을 특징으로 한다.
본 발명에 따른 적응형 스트리밍 방법에 있어서, 상기 제3 단계는, 상기 확인된 인덱스에 부합하는 데이터 청크의 i개의 단위 중 스트리밍받을 어느 한 단위에 부합하는 데이터 청크를 상기 서버로 요청하여 스트리밍되도록 처리하는 것을 특징으로 한다.
본 발명에 따른 적응형 스트리밍 방법에 있어서, 상기 i개의 서로 다른 단위 중 상기 단말로 끊김없이 스트리밍 가능한 단위를 확인하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 적응형 스트리밍 방법에 있어서, 상기 i개의 서로 다른 단위는, 데이터 청크의 프레임 비율, 데이터 비율, 용량 중 하나 이상을 서로 다르게 한 단위를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 적응형 스트리밍 방법에 있어서, 상기 제3 단계는, 상기 인덱스에 부합하는 데이터 청크의 i개의 단위 중 상기 단말로 끊김없이 스트리밍 가능한 어느 한 단위에 부합하는 데이터 청크를 상기 서버로 요청하여 스트리밍되도록 처리하는 것을 특징으로 한다.
본 발명에 따른 적응형 스트리밍 방법에 있어서, 상기 단말의 통신성능을 확인하는 단계 및 상기 단말의 통신성능을 근거로 i개의 서로 다른 단위 중 상기 단말로 끊김없이 스트리밍 가능한 어느 한 단위를 결정하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 적응형 스트리밍 방법에 있어서, 상기 서버로부터 스트리밍받을 컨텐츠에 대한 정보와 상기 스트리밍받을 컨텐츠의 데이터 청크에 대한 정보를 수신하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 적응형 스트리밍 방법에 있어서, 상기 서버로부터 스트리밍되는 데이터 청크의 수신용량을 기준으로 다음에 스트리밍받을 제(n+1)번째 순서에 부합하는 데이터 청크의 요청을 결정하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 실시간 컨텐츠 스트리밍 방법은, 통신망을 통해 컨텐츠를 스트리밍하는 서버에서 실행되는 실시간 컨텐츠 스트리밍 방법에 있어서, 스트리밍될 컨텐츠를 지정된 단위로 분할한 각 단위 별 복수의 데이터 청크(Data Chunk)와 상기 분할된 데이터 청크에 대한 인덱스 정보를 연계하여 저장매체에 저장하는 제1 단계와 상기 저장매체에 저장된 각 단위 별 복수의 데이터 청크 중 통신망을 통해 단말로 스트리밍할 제n(n>1) 데이터 청크를 식별하기 위한 제i(i>1) 인덱스 정보를 확인하고 상기 제n 데이터 청크에 대한 단위 정보를 확인하는 제2 단계 및 상기 저장매체에 저장된 각 단위 별 복수의 데이터 청크 중 상기 제i 인덱스 정보와 매칭되고 상기 단위 정보에 부합하는 제n 데이터 청크가 상기 단말로 스트리밍되도록 처리하는 제3 단계를 포함하며, 상기 단위 정보는, 상기 단말의 상황에서 상기 제n 데이터 청크를 상기 단말로 끊김 없이 스트리밍하기 위해 결정된 프레임 비율, 데이터 비율, 청크 정보, 용량 정보 중 하나 이상을 포함하여 이루어지는 특징으로 한다.
본 발명에 따른 실시간 컨텐츠 스트리밍 방법에 있어서, 상기 단말로부터 상기 저장된 복수의 데이터 청크 중 상기 단말로 스트리밍할 제n 데이터 청크를 식별하는 제i 인덱스 정보를 수신하는 단계를 더 포함하며, 상기 제2 단계는, 상기 단말로부터 수신된 제i 인덱스 정보를 확인하는 것을 특징으로 한다.
본 발명에 따른 실시간 컨텐츠 스트리밍 방법에 있어서, 상기 단말로부터 상기 저장된 각 단위의 데이터 청크 중 상기 단말로 스트리밍할 데이터 청크의 단위 정보를 수신하는 단계를 더 포함하며, 상기 제2 단계는, 상기 단말로부터 수신된 단위 정보를 확인하는 것을 특징으로 한다.
본 발명에 따른 실시간 컨텐츠 스트리밍 방법에 있어서, 상기 단말로 제(n+1) 데이터 청크를 스트리밍하기 위한 제(i+1) 인덱스 정보를 확인하고 상기 제(n+1) 데이터 청크에 대한 단위 정보를 확인하는 제4 단계 및 상기 저장매체에 저장된 각 단위 별 복수의 데이터 청크 중 상기 제(i+1) 인덱스 정보와 매칭되고 상기 단위 정보에 부합하는 제(n+1) 데이터 청크가 상기 단말로 스트리밍되도록 처리하는 제5 단계;를 더 포함하며, 상기 단위 정보는, 상기 단말의 상황에서 상기 제(n+1) 데이터 청크를 상기 단말로 끊김 없이 스트리밍하기 위해 결정된 프레임 비율, 데이터 비율, 청크 정보, 용량 정보 중 하나 이상을 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 실시간 컨텐츠 스트리밍 방법에 있어서, 상기 단말로부터 상기 저장된 복수의 데이터 청크 중 상기 단말로 스트리밍할 제(n+1) 데이터 청크를 식별하는 제(i+1) 인덱스 정보를 수신하는 단계를 더 포함하며, 상기 제4 단계는, 상기 단말로부터 수신된 제(i+1) 인덱스 정보를 확인하는 것을 특징으로 한다.
본 발명에 따른 실시간 컨텐츠 스트리밍 방법에 있어서, 상기 단말로부터 상기 저장된 각 단위의 데이터 청크 중 상기 단말로 스트리밍할 데이터 청크의 단위 정보를 수신하는 단계를 더 포함하며, 상기 제4 단계는, 상기 단말로부터 수신된 단위 정보를 확인하는 것을 특징으로 한다.
본 발명에 따른 실시간 컨텐츠 스트리밍 방법에 있어서, 상기 단위 정보는, 상기 단말의 통신 성능을 기준으로 확인되는 것을 특징으로 한다.
본 발명에 따른 실시간 컨텐츠 재생 방법은, 통신망을 통해 컨텐츠를 스트리밍받는 단말에서 실행되는 실시간 컨텐츠 재생 방법에 있어서, 스트리밍될 컨텐츠를 지정된 단위로 분할한 각 단위 별 복수의 데이터 청크(Data Chunk)와 인덱스 정보를 저장하는 서버로 제n(n>1) 데이터 청크를 요청하여 스트리밍받기 위한 제i(i>1) 인덱스 정보를 확인하는 단계와 상기 제i 인덱스 정보를 통해 식별되는 제n 데이터 청크의 단위 중 상기 단말의 상황에 적합한 단위 정보를 확인하는 단계 및 상기 서버로 상기 제i 인덱스 정보를 통해 식별되는 제n 데이터 청크 중 상기 확인된 단위 정보에 부합하는 단위의 제n 데이터 청크를 요청하여 스트리밍받도록 처리하는 단계를 포함하며, 상기 단위 정보는, 상기 단말의 상황에서 상기 제n 데이터 청크를 끊김 없이 스트리밍받기 위한 프레임 비율, 데이터 비율, 청크 정보, 용량 정보 중 하나 이상을 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 실시간 컨텐츠 재생 방법에 있어서, 각 단위 별 복수의 데이터 청크를 저장하는 서버를 통해 스트리밍될 컨텐츠에 대한 정보를 확인하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 실시간 컨텐츠 재생 방법에 있어서, 상기 서버로부터 스트리밍되는 제n 데이터 청크의 수신용량을 기준으로 제(n+1) 데이터 청크의 스트리밍 여부를 결정하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 실시간 컨텐츠 재생 방법에 있어서, 상기 서버로 제(n+1) 데이터 청크를 요청하여 스트리밍받기 위한 제(i+1) 인덱스 정보를 확인하는 단계와 상기 제(i+1) 인덱스 정보를 통해 식별되는 제(n+1) 데이터 청크의 단위 중 상기 단말의 상황에 적합한 단위 정보를 확인하는 단계 및 상기 서버로 상기 제(i+1) 인덱스 정보를 통해 식별되는 제(n+1) 데이터 청크 중 상기 확인된 단위 정보에 부합하는 단위의 제(n+1)데이터 청크를 요청하여 스트리밍받도록 처리하는 단계를 더 포함하며, 상기 단위 정보는, 상기 단말의 상황에서 상기 제(n+1) 데이터 청크를 끊김 없이 스트리밍받기 위한 프레임 비율, 데이터 비율, 청크 정보, 용량 정보 중 하나 이상을 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 실시간 컨텐츠 재생 방법에 있어서, 상기 스트리밍될 컨텐츠의 구성 정보를 확인하는 단계를 더 포함하며, 상기 제i 인덱스 정보는, 상기 컨텐츠의 구성 정보를 기준으로 확인되는 것을 특징으로 한다.
본 발명에 따른 실시간 컨텐츠 재생 방법에 있어서, 상기 단말의 통신 성능을 확인하는 단계를 더 포함하며, 상기 단위 정보는, 상기 단말의 통신 성능을 기준으로 확인되는 것을 특징으로 한다.
본 발명에 따른 멀티미디어 컨텐츠 재생방법은, 소정의 멀티미디어 컨텐츠의 재생시, 수신되는 멀티미디어 컨텐츠의 저장용량 정보를 반복적으로 확인하는 단계와, 상기 확인된 저장용량 정보를 근거로 하여, 소정의 저장용량 단위별 수신중인 멀티미디어 컨텐츠 파일 일부분의 구성 정보를 추출하는 단계와, 상기 추출된 정보에 기초하여 저장용량 단위별 인덱스 정보를 생성하는 단계 및 상기 생성된 인덱스 정보를 이용하여 상기 멀티미디어 컨텐츠를 재생하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
한편, 상기 전술한 멀티미디어 컨텐츠 재생방법을 실행하기 위한 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록매체를 포함한다.
본 발명에 따른 상기 기록매체는, 상기 프로그램이 실행되는 유선 또는 무선 단말이거나, 또는 상기 프로그램을 저장, 관리하며, 상기 프로그램을 사용자 단말로 전송하는 서버인 것을 특징으로 한다.
한편, 본 발명에 따른 멀티미디어 컨텐츠 재생 시스템은, 수신중인 멀티미디어 컨텐츠의 저장용량 정보를 반복적으로 확인하고, 상기 확인된 저장용량 정보를 근거로 하여, 저장용량 단위별 인덱스 정보를 생성하고, 상기 생성된 인덱스 정보를 이용하여 상기 멀티미디어 컨텐츠를 재생하는 프로그램 및 상기 멀티미디어 컨텐츠와 상기 멀티미디어 컨텐츠 재생 프로그램을 사용자 유선 단말 또는 무선 단말로 제공하는 서버를 포함하여 이루어지는 것을 특징으로 한다.
한편, 본 발명에 따른 멀티미디어 컨텐츠 재생방법은, 스트리밍 방식의 멀티미디어 컨텐츠 재생시, 수신 중인 멀티미디어 컨텐츠의 저장용량 정보를 반복적으로 확인하는 단계와, 상기 확인된 저장용량 정보가 인덱스 생성 단위용량 정보에 부합되는지 여부를 판단하는 단계와, 상기 판단결과, 상기 확인된 저장용량 정보가 인덱스 생성 단위용량 정보에 부합되면, 상기 수신 중인 멀티미디어 컨텐츠에 대한 인덱스 정보를 단위용량별로 생성하는 단계 및 상기 단위용량별로 생성된 인덱스 정보를 이용하여 상기 멀티미디어 컨텐츠를 스트리밍 방식으로 재생하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 멀티미디어 컨텐츠 재생방법에 있어서, 통신 성능(bytes/sec) 정보를 확인하고, 상기 확인된 통신 성능 정보를 기반으로 스트리밍 방식의 멀티미디어 컨텐츠를 재생하기 위한 인덱스 생성 단위용량 정보를 설정하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
한편, 상기 전술한 멀티미디어 컨텐츠 재생방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체를 포함한다.
본 발명에 따른 상기 기록매체는, 상기 프로그램이 실행되는 유선 또는 무선 단말이거나, 또는 상기 프로그램을 저장, 관리하며, 상기 프로그램을 사용자 단말로 전송하는 서버인 것을 특징으로 한다.
한편, 본 발명에 따른 멀티미디어 컨텐츠 재생 시스템은, 스트리밍 방식의 멀티미디어 컨텐츠 재생시, 수신 중인 멀티미디어 컨텐츠의 저장용량 정보를 반복적으로 확인하고, 상기 확인된 저장용량 정보가 인덱스 생성 단위용량 정보에 부합되는지 여부를 판단하고, 상기 판단결과, 상기 확인된 저장용량 정보가 인덱스 생성 단위용량 정보에 부합되면, 상기 수신 중인 멀티미디어 컨텐츠에 대한 인덱스 정보를 단위용량별로 생성한 후, 상기 단위용량별로 생성된 인덱스 정보를 이용하여 상기 멀티미디어 컨텐츠를 스트리밍 방식으로 재생하는 프로그램 및 상기 멀티미디어 컨텐츠 재생 프로그램을 사용자 유선 단말 또는 무선 단말로 제공하고, 상기 멀티미디어 컨텐츠를 스트리밍 방식으로 상기 사용자 유선 단말 또는 무선 단말로 전송하는 서버를 포함하여 이루어지는 것을 특징으로 한다.
한편, 본 발명에 따른 멀티미디어 컨텐츠 재생방법은, 멀티미디어 컨텐츠를 스트리밍 방식으로 재생하는 단말의 통신 성능(bytes/sec)별로 인덱스 생성 단위용량 정보를 기 설정하여 저장하는 단계와, 스트리밍 방식의 멀티미디어 컨텐츠 재생시, 수신 중인 멀티미디어 컨텐츠의 저장용량 정보를 반복적으로 확인하는 단계와, 상기 확인된 저장용량 정보가 상기 저장된 인덱스 생성 단위용량 정보에 부합되는지 여부를 판단하는 단계와, 상기 판단결과, 상기 확인된 저장용량 정보가 인덱스 생성 단위용량 정보에 부합되면, 상기 수신 중인 멀티미디어 컨텐츠에 대한 인덱스 정보를 단위용량별로 생성하는 단계 및 상기 단위용량별로 생성된 인덱스 정보를 이용하여 상기 멀티미디어 컨텐츠를 스트리밍 방식으로 재생하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
한편, 상기 전술한 멀티미디어 컨텐츠 재생방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체를 포함한다.
본 발명에 따른 상기 기록매체는, 상기 프로그램이 실행되는 유선 또는 무선 단말이거나, 또는 상기 프로그램을 저장, 관리하며, 상기 프로그램을 사용자 단말로 전송하는 서버인 것을 특징으로 한다.
한편, 본 발명에 따른 멀티미디어 컨텐츠 재생 시스템은 스트리밍 방식의 멀티미디어 컨텐츠 재생시, 수신 중인 멀티미디어 컨텐츠의 저장용량 정보를 반복적으로 확인하고, 상기 확인된 저장용량 정보가 기 설정되어 저장된 통신 성능(bytes/sec)-멀티미디어 컨텐츠를 스트리밍 방식으로 재생하는 단말의 통신 성능(bytes/sec)-별 인덱스 생성 단위용량 정보에 부합되는지 여부를 판단하고, 상기 판단결과, 상기 확인된 저장용량 정보가 상기 통신 성능(bytes/sec)별 인덱스 생성 단위용량 정보에 부합되면, 상기 수신 중인 멀티미디어 컨텐츠에 대한 인덱스 정보를 단위용량별로 생성한 후, 상기 단위용량별로 생성된 인덱스 정보를 이용하여 상기 멀티미디어 컨텐츠를 스트리밍 방식으로 재생하는 프로그램 및 상기 멀티미디어 컨텐츠 재생 프로그램을 사용자 유선 단말 또는 무선 단말로 제공하고, 상기 멀티미디어 컨텐츠를 스트리밍 방식으로 상기 사용자 유선 단말 또는 무선 단말로 전송하는 서버를 포함하여 이루어지는 것을 특징으로 한다.
한편, 본 발명에 따른 멀티미디어 컨텐츠 재생장치는 소정의 멀티미디어 컨텐츠의 재생시, 수신되는 멀티미디어 컨텐츠의 저장용량 정보를 반복적으로 확인하고, 상기 확인된 저장용량 정보를 근거로 하여, 소정의 저장용량 단위별 수신중인 멀티미디어 컨텐츠 파일 일부분의 구성 정보를 추출하고, 상기 추출된 정보에 기초하여 저장용량 단위별 인덱스 정보를 생성하는 정보 생성부 및 상기 생성된 인덱스 정보를 이용하여 상기 멀티미디어 컨텐츠를 재생하는 컨텐츠 재생부를 구비하여 이루어지는 것을 특징으로 한다.
한편, 본 발명에 따른 멀티미디어 컨텐츠 재생장치는 스트리밍 방식의 멀티미디어 컨텐츠 재생시, 수신 중인 멀티미디어 컨텐츠의 저장용량 정보를 반복적으로 확인하고, 상기 확인된 저장용량 정보가 인덱스 생성 단위용량 정보에 부합되는지 여부를 판단하는 정보 확인부와, 상기 판단결과, 상기 확인된 저장용량 정보가 인덱스 생성 단위용량 정보에 부합되면, 상기 수신 중인 멀티미디어 컨텐츠에 대한 인덱스 정보를 단위용량별로 생성하는 정보 생성부 및 상기 생성된 인덱스 정보를 이용하여 상기 멀티미디어 컨텐츠를 재생하는 컨텐츠 재생부를 구비하여 이루어지는 것을 특징으로 한다.
한편, 본 발명에 따른 멀티미디어 컨텐츠 재생장치는 멀티미디어 컨텐츠를 스트리밍 방식으로 재생하는 단말의 통신 성능(bytes/sec)별로 인덱스 생성 단위용량 정보를 기 설정하여 저장하는 정보 설정부와, 스트리밍 방식의 멀티미디어 컨텐츠 재생시, 수신 중인 멀티미디어 컨텐츠의 저장용량 정보를 반복적으로 확인하고, 상기 확인된 저장용량 정보가 상기 저장된 인덱스 생성 단위용량 정보에 부합되는지 여부를 판단하는 정보 확인부와, 상기 판단결과, 상기 확인된 저장용량 정보가 인덱스 생성 단위용량 정보에 부합되면, 상기 수신 중인 멀티미디어 컨텐츠에 대한 인덱스 정보를 단위용량별로 생성하는 정보 생성부 및 상기 생성된 인덱스 정보를 이용하여 상기 멀티미디어 컨텐츠를 재생하는 컨텐츠 재생부를 구비하여 이루어지는 것을 특징으로 한다.
한편, 본 발명에 따른 멀티미디어 컨텐츠 재생장치는, 유선 통신망을 통해 상기 멀티미디어 컨텐츠를 스트리밍 방식으로 재생하는 장치와, 무선 통신망을 통해 상기 멀티미디어 컨텐츠를 스트리밍 방식으로 재생하는 장치를 적어도 하나 이상 포함하여 이루어지는 것을 특징으로 한다.
한편, 상기 전술한 멀티미디어 컨텐츠 재생장치의 장치 구성부의 기능을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체를 포함한다.
한편, 본 발명은 수신되는 멀티미디어 컨텐츠의 용량 정보를 확인하는 기능 및 상기 확인된 용량 정보가 기 설정된 단위용량에 부합되면, 상기 수신된 용량에 대응하는 멀티미디어 컨텐츠를 스트리밍 방식으로 우선 재생하는 기능을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체를 포함한다.
본 발명에 따른 상기 기록매체는, 상기 프로그램이 실행되는 유선 또는 무선 단말이거나, 또는 상기 프로그램을 저장, 관리하며, 상기 프로그램을 사용자 단말로 전송하는 서버인 것을 특징으로 한다.
본 발명에 따르면, 실시간 재생이 불가한 파일 구조를 포함하는 멀티미디어 컨텐츠를 수신함에 있어서, 상기 수신되는 멀티미디어 컨텐츠에 대한 단위시간 당 수신용량 정보를 주기적으로 확인하고, 상기 확인된 단위시간 당 수신용량 정보를 기반으로 최적의(예컨대, 재생의 끊어짐 없이 인덱스 갱신이 가능한) 인덱스 갱신 기준용량 정보를 확인한 후, 상기 인덱스 갱신 기준용량이 수신되는 시점에 상기 멀티미디어 컨텐츠에 대한 인덱스 정보를 생성 및 적용함으로써, 상기 실시간 재생이 불가한 파일 구조를 포함하는 멀티미디어 컨텐츠를 끊어짐 없이 실시간 재생하는 이점이 있다.
본 발명에 따르면, 실시간 재생이 불가한 파일 구조를 포함하는 멀티미디어 컨텐츠를 수신함에 있어서, 상기 수신되는 멀티미디어 컨텐츠에 대한 단위시간 당 수신용량 정보를 주기적으로 확인하고, 상기 확인된 단위시간 당 수신용량 정보를 기반으로 최적의(예컨대, 재생의 끊어짐 없이 인덱스 갱신이 가능한) 인덱스 갱신 기준용량 정보를 확인한 후, 상기 멀티미디어 컨텐츠 수신속도가 상기 멀티미디어 컨텐츠 재생속도를 일정시간 밑도는 경우, 상기 멀티미디어 컨텐츠를 끊어짐 없이 재생하기 위한 해결 방법을 출력함으로써, 상기 멀티미디어 컨텐츠를 관람하는 관람자의 불평과 의문점을 해소하는 이점이 있다.
도 1은 종래 AVI 파일 구조를 따르는 멀티미디어 컨텐츠 구조를 도시한 도면이다.
도 2는 본 발명의 제 일 실시 방법에 따라 멀티미디어 컨텐츠의 실시간 재생을 위해 단말장치에 구비된 기록매체에 기록된 실시간 재생 프로그램 기능 구성을 도시한 도면이다.
도 3은 본 발명의 제 일 실시 방법에 따라 멀티미디어 컨텐츠의 실시간 재생 도시한 도면이다.
도 4는 본 발명의 제 이 실시 방법에 따라 멀티미디어 컨텐츠의 실시간 재생을 위해 단말장치에 구비된 기록매체에 기록된 실시간 재생 프로그램 기능 구성을 도시한 도면이다.
도 5는 본 발명의 제 이 실시 방법에 따라 멀티미디어 컨텐츠의 실시간 재생 도시한 도면이다.
도 6은 본 발명의 제 삼 실시 방법에 따라 멀티미디어 컨텐츠의 실시간 재생을 위해 단말장치에 구비된 기록매체에 기록된 실시간 재생 프로그램 기능 구성을 도시한 도면이다.
도 7은 본 발명의 제 삼 실시 방법에 따라 멀티미디어 컨텐츠의 실시간 재생 도시한 도면이다.
도 8은 본 발명의 제 사 실시 방법에 따라 멀티미디어 컨텐츠의 실시간 재생을 위해 단말장치에 구비된 기록매체에 기록된 실시간 재생 프로그램 기능 구성을 도시한 도면이다.
도 9는 본 발명의 제 사 실시 방법에 따라 멀티미디어 컨텐츠의 실시간 재생 도시한 도면이다.
이하 첨부된 도면과 설명을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 다만, 하기에 도시되는 도면과 후술되는 설명은 본 발명의 특징을 효과적으로 설명하기 위한 여러 가지 방법 중에서 바람직한 실시 방법에 대한 것이며, 본 발명이 하기의 도면과 설명만으로 한정되는 것은 아니다. 또한, 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 발명에서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
또한, 이하 실시되는 본 발명의 바람직한 실시예는 본 발명을 이루는 기술적 구성요소를 효율적으로 설명하기 위해 각각의 시스템 기능구성에 기 구비되어 있거나, 또는 본 발명이 속하는 기술분야에서 통상적으로 구비되는 시스템 기능구성은 가능한 생략하고, 본 발명을 위해 추가적으로 구비되어야 하는 기능구성을 위주로 설명한다. 만약 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 하기에 도시하지 않고 생략된 기능구성 중에서 종래에 기 사용되고 있는 구성요소의 기능을 용이하게 이해할 수 있을 것이며, 또한 상기와 같이 생략된 구성요소와 본 발명을 위해 추가된 구성요소 사이의 관계도 명백하게 이해할 수 있을 것이다.
또한, 이하 실시예는 본 발명의 핵심적인 기술적 특징을 효율적으로 설명하기 위해 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 명백하게 이해할 수 있도록 용어를 적절하게 변형, 또는 통합, 또는 분리하여 사용할 것이나, 이에 의해 본 발명이 한정되는 것은 결코 아니다.
결과적으로, 본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도면2는 본 발명의 제 일 실시 방법에 따라 멀티미디어 컨텐츠의 실시간 재생을 위해 단말장치에 구비된 기록매체에 기록된 실시간 재생 프로그램 기능 구성을 도시한 도면이다.
보다 상세하게 본 도면2는 소정의 컨텐츠 제공 서버(230)(또는 메신저 단말(235))로부터 다운로드가 완료되지 않은(또는 수신 중인) 소정의 멀티미디어 컨텐츠(예컨대, 스트리밍 재생이 가능한 파일 구조를 포함하지 않는 멀티미디어 컨텐츠)를 실시간 재생(또는 스트리밍 방식으로 재생)하기 위해 소정의 단말장치(예컨대, 데스크탑 컴퓨터, 노트북, 이동통신단말, 휴대인터넷 단말, 무선랜 단말, 양방향 디지털 TV, IPTV 등)에 구비되는 실시간 재생 프로그램의 바람직한 기능 구성에 대한 것으로서, 구체적으로 상기 실시간 재생 프로그램에 상기 멀티미디어 컨텐츠의 실시간 재생(또는 스트리밍 방식으로 재생)을 위한 소정의 인덱스 생성 단위용량 정보가 구비된 경우, 상기 실시간 재생 프로그램에서 상기 인덱스 생성 단위용량 정보를 기반으로 상기 다운로드가 완료되지 않은(또는 수신 중인) 멀티미디어 컨텐츠를 실시간 재생(또는 스트리밍 방식으로 재생)하는 실시 방법을 도시한 것이다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면2를 참조 및/또는 변형하여 멀티미디어 컨텐츠의 실시간 재생을 위한 상기 실시간 재생 프로그램 기능 구성의 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 실시 방법을 모두 포함하며, 본 도면2에 도시된 실시 방법으로 한정되지 아니한다.
예컨대, 본 도면2에서 소정의 컨텐츠 제공 서버(230)(또는 메신저 단말(235))로부터 다운로드가 완료되지 않은 소정의 멀티미디어 컨텐츠를 다운로드하는 기능 구성부(컨텐츠 수신부(275), 컨텐츠 저장부(280))가 상기 실시간 재생 프로그램 내에 구비되는 것으로 도시하여 설명하지만, 이에 의해 본 발명이 한정되지 아니하며, 상기 멀티미디어 컨텐츠를 다운로드하는 기능은 상기 실시간 재생 프로그램 이외에 다른 응용프로그램(예컨대, 상기 단말장치에 구비된 브라우져 프로그램, 또는 메신저 프로그램 등)에 구비되어도 무방하며, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 실시 방법을 따르는 도면2를 참조하면, 상기 단말장치는 소정의 통신망(예컨대, TCP/IP(Transmission Control Protocol/Internet Protocol) 기반 유선 통신망, 또는HSDPA(High-Speed Downlink Packet Access) 기반 무선 통신망, 또는 IEEE 802.16x 기반 무선 통신망 등)을 통해 소정의 서버(또는 단말)와 통신채널을 연결하는 통신 처리부(220)를 구비하여 이루어지는 것을 특징으로 한다.
상기 통신 처리부(220)는 상기 단말장치가 접속한 소정의 통신망(예컨대, TCP/IP 기반 유선 통신망, HSDPA(High-Speed Downlink Packet Access) 기반 무선 통신망, IEEE 802.16x 기반 무선 통신망 등)을 통해 상기 실시간 재생 프로그램을 저장 및 관리하며, 상기 실시간 재생 프로그램을 상기 단말장치로 전송하는 소정의 프로그램 제공 서버(225)와 통신채널을 연결하는 것을 특징으로 하며, 상기 프로그램 제공 서버(225)에 구비된 소정의 기록매체에 기록되어 있던 상기 실시간 재생 프로그램을 상기 단말장치에 구비된 기록매체로 다운로드하는 것을 특징으로 한다.
또한, 상기 통신 처리부(220)는 상기 단말장치가 접속한 소정의 통신망(예컨대, TCP/IP 기반 유선 통신망, HSDPA(High-Speed Downlink Packet Access) 기반 무선 통신망, IEEE 802.16x 기반 무선 통신망 등)을 통해 소정의 컨텐츠 제공 서버(230)(또는 메신저 단말(235))와 멀티미디어 컨텐츠 다운로드(또는 수신)을 위한 통신채널을 연결하는 것을 특징으로 하며, 상기 컨텐츠 제공 서버(230)(또는 메신저 단말(235))에 구비된 소정의 저장매체에 저장되어 있던 적어도 하나 이상의 멀티미디어 컨텐츠를 다운로드(또는 수신)하는 것을 특징으로 한다.
도면2를 참조하면, 상기 실시간 재생 프로그램이 구비되는 단말장치는, 상기 멀티미디어 컨텐츠의 비디오 데이터를 출력하는 화면 출력부(200)와, 상기 멀티미디어 컨텐츠의 오디오 데이터를 출력하는 사운드 처리부(205)와, 상기 멀티미디어 컨텐츠 재생을 제어하는 각종 키를 입력하는 키 입력부(210)를 구비하여 이루어지는 것을 특징으로 하며, 소정의 컨텐츠 제공 서버(230)(또는 메신저 단말(235))와 상기 멀티미디어 컨텐츠 수신을 위한 통신채널을 연결 및 관리하는 통신 처리부(220)와, 상기 다운로드된 멀티미디어 컨텐츠를 저장하는 메모리부(215)를 구비하여 이루어지는 것을 특징으로 하며, 상기 실시간 재생 프로그램은 상기 기능 구성부와 연동하여 소정의 컨텐츠 제공 서버(230)(또는 메신저 단말(235))로부터 다운로드가 완료되지 않은(또는 수신중인) 소정의 재생 대상 멀티미디어 컨텐츠를 실시간 재생하는 것을 특징으로 한다.
상기 통신 처리부(220)를 통해 다운로드(또는 수신)되는 멀티미디어 컨텐츠의 실시간 재생(또는 스트리밍 방식으로 재생)하기 위해, 상기 화면 출력부(200)는 상기 실시간 재생 프로그램에서 디코딩된 상기 멀티미디어 컨텐츠의 비디오 데이터를 출력하는 화면 출력수단의 기능을 수행하는 것을 특징으로 한다.
상기 통신 처리부(220)를 통해 다운로드(또는 수신)되는 멀티미디어 컨텐츠의 실시간 재생(또는 스트리밍 방식으로 재생)하기 위해, 상기 사운드 처리부(205)는 실시간 재생 프로그램에서 디코딩된 상기 멀티미디어 컨텐츠의 오디오 데이터를 출력하는 사운드 출력수단의 기능을 수행하는 것을 특징으로 한다.
상기 메모리부(215)는 소정의 컨텐츠 제공 서버(230)(또는 메신저 단말(235))로부터 소정의 멀티미디어 컨텐츠가 수신되는 경우, 상기 수신되는 멀티미디어 컨텐츠를 저장하는 것을 특징으로 하며, 상기 멀티미디어 컨텐츠는 소정의 컨텐츠 헤더 정보를 포함하는 헤더부(285)와, 소정의 비디오/오디오 데이터를 포함하는 영상 데이터부(290)와, 상기 멀티미디어 컨텐츠 재생에 필요한 인덱스 정보를 포함하는 인덱스부(295)를 포함하여 이루어지는 것이 바람직하다.
상기 멀티미디어 컨텐츠의 상기 헤더부(285)는 상기 멀티미디어 컨텐츠의 "RIFF"라는 초두 문자 코드(FOURCC : FOUR Character Code) 다음에 위치하는 구조체 정보로서, 소정의 메인 헤더 정보와, 스트림 헤더 정보, 스트림 포맷 정보, 스트림 데이터, 스트림 명칭 등과 같은 적어도 하나 이상의 헤더 정보를 더 포함하여 이루어지는 것이 바람직하다.
상기 영상 데이터부(290)는 소정의 비디오 데이터와 오디오 데이터를 동기화(Interleave)하여 소정의 데이터 단위로 구성된 복수개의 청크(Chunk)로 구성되는 것이 바람직하며, 상기 영상 데이터(예컨대, 동기화된 비디오 데이터와 오디오 데이터)는 상기 청크 단위로 재생되는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 영상 데이터부(290)는 적어도 하나 이상의 데이터 청크를 상기 영상 데이터부(290)('movi') 에 직접 기술하는 경우와, 적어도 하나 이상의 데이터 청크를 소정의 레코드 청크('rec')에 그룹화 하는 경우를 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
상기 인덱스부(295)는 상기 영상 데이터를 상기 청크 단위로 재생하기 위한 청크 식별자와, 플래그 정보와, 청크 오프셋과, 청크 크기를 포함하여 이루어지는 것이 바람직하다.
도면2를 참조하면, 상기 실시간 재생 프로그램은 상기 단말장치에 구비된 운영체제(또는 플랫폼)와 연계하여 상기 실시간 재생 프로그램이 상기 단말장치에 구비된 기록매체를 기반으로 동작하도록 제어하며, 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 실시간 재생 프로그램을 구성하는 적어도 하나 이상의 기능 구성부를 상호 연동하고, 및/또는 상기 기능 구성부들이 상기 단말장치에 구비된 운영체제(또는 플랫폼)를 통해 상기 단말장치에 구비된 적어도 하나 이상의 구성요소와 연동하여 상기 멀티미디어 컨텐츠의 실시간 재생을 위한 기능을 수행하도록 메인프레임부(Mainfrmae)를 구비하여 이루어지는 것을 특징으로 한다.
상기 메인프레임부는 상기 실시간 재생 프로그램이 상기 단말장치에 구비된 운영체제(또는 플랫폼) 상에서 실행되기 위한 프로그램 실행 코드를 포함하여 이루어지는 것을 특징으로 하며, 이에 의해 상기 단말장치에 구비된 후, 소정의 프로그램 실행 명령에 대응하여 상기 단말장치에 구비된 상기 운영체제(또는 플랫폼)를 기반으로 상기 실시간 재생 프로그램이 실행되어 동작하도록 제어하는 것을 특징으로 한다.
또한, 상기 메인프레임부는 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 실시간 재생 프로그램에 구비되는 적어도 하나 이상의 기능 구성부를 상호 연동하도록 제어하는 것을 특징으로 하며, 이에 의해 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 실시간 재생 프로그램을 구성하는 적어도 하나 이상의 기능 구성부는 상기 메인프레임부에 인스턴스를 할당함으로써, 상기 기능 구성부들은 상호 참조 및/또는 연동하게 된다.
또한, 상기 메인프레임부는 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 기능 구성부들이 상기 단말장치에 구비된 적어도 하나 이상의 구성요소(예컨대, 키 입력부(210) 및/또는 화면 출력부(200) 등)에 접근하기 위한 핸들(Handle)(및/또는 인터럽트)을 얻어오는 것을 특징으로 하며, 이에 의해 상기 실시간 재생 프로그램을 구성하는 각각의 기능 구성부들은 상기 단말장치에 구비된 각각의 구성요소에 접근하여 각각의 기능 구성부에 정의된 고유한 기능을 수행하는 것을 특징으로 한다.
또한, 상기 메인프레임부는 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 기능 구성부들이 상기 단말장치에 구비된 적어도 하나 이상의 구성요소(예컨대, 키 입력부(210) 및/또는 화면 출력부(200) 등)에 접근하기 위한 인터럽트를 얻어오거나, 및/또는 상기 단말장치에 구비된 주변장치에 대응하는 입출력 버스에 접근하도록 하는 것을 특징으로 하며, 이에 의해 상기 실시간 재생 프로그램을 구성하는 각각의 기능 구성부들은 상기 단말장치에 구비된 각각의 구성요소에 접근하여 각각의 기능 구성부에 정의된 고유한 기능을 수행하는 것을 특징으로 한다.
도면2를 참조하면, 상기 실시간 재생 프로그램은 상기 통신 처리부(220)와 연계하여 상기 통신망을 통해 소정의 컨텐츠 제공 서버(230)(또는 메신저 단말(235))로부터 소정의 멀티미디어 컨텐츠를 수신하는 컨텐츠 수신부(275)와, 상기 수신된 멀티미디어 컨텐츠를 상기 메모리부(215)에 저장하는 컨텐츠 저장부(280)를 구비하여 이루어지는 것을 특징으로 한다.
상기 컨텐츠 수신부(275)는 상기 통신 처리부(220)와 연계하여 상기 통신망 상에 구비된 소정의 컨텐츠 제공 서버(230)(또는 메신저 단말(235))로부터 소정의 수신 대상 멀티미디어 컨텐츠를 수신하는 것을 특징으로 하며, 상기 컨텐츠 수신부(275)는 상기 멀티미디어 컨텐츠의 헤더부(285)부터 영상 데이터부(290) 및 인덱스부(295)를 순차적으로 수신하는 것을 특징으로 한다.
상기 컨텐츠 저장부(280)는 상기 컨텐츠 수신부(275)가 상기 통신 처리부(220)와 연계하여 상기 컨텐츠 제공 서버(230)(또는 메신저 단말(235))로부터 수신하는 상기 멀티미디어 컨텐츠를 상기 메모리부(215)에 저장하는 것을 특징으로 하며, 상기 컨텐츠 수신부(275)가 상기 멀티미디어 컨텐츠를 헤더부(285)부터 영상 데이터부(290) 및 인덱스부(295)를 순차적으로 수신하는 경우, 상기 컨텐츠 저장부(280) 역시 상기 수신된 멀티미디어 컨텐츠를 상기 헤더부(285)부터 영상 데이터부(290) 및 인덱스부(295) 등으로 순차적으로 저장하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 컨텐츠 수신부(275)와 컨텐츠 저장부(280)는 상기 단말장치에 구비된 소정의 컨텐츠 재생수단(예컨대, 상기 단말장치에 구비된 컨텐츠 재생 프로그램) 내에 포함되어 구비되는 것이 바람직하다.
본 발명의 다른 실시 방법에 따르면, 상기 컨텐츠 수신부(275)는 상기 단말장치에 구비된 소정의 브라우져 통신수단(예컨대, 상기 단말장치에 구비된 브라우져 프로그램, 도시생략)에 구비되거나, 또는 상기 단말장치에 구비된 소정의 메신저 통신수단(예컨대, 상기 단말장치에 구비된 메신저 프로그램, 도시생략)에 구비되는 것이 가능하다.
도면2를 참조하면, 상기 실시간 재생 프로그램은, 상기 메모리부(215)에 저장된(또는 저장되고 있는) 소정의 멀티미디어 컨텐츠 중 재생 대상 멀티미디어 컨텐츠를 확인(또는 선택)하는 컨텐츠 재생부(245)와, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상인지 확인하는 실시간 재생 판단부(260)와, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상으로 판단되면, 상기 수신되는 멀티미디어 컨텐츠의 저장용량을 반복적으로 확인하는 저장용량 확인부(265)와, 상기 멀티미디어 컨텐츠의 저장용량이 실시간 재생(또는 스트리밍 방식으로 재생)을 위한 소정의 인덱스 생성 단위용량 정보에 도달(또는 초과)하는지 주기적으로 확인하는 정보 확인부와, 상기 확인결과 상기 멀티미디어 컨텐츠의 저장용량이 상기 인덱스 생성 단위용량에 도달(또는 초과)하면, 소정의 저장용량 단위별 인덱스 정보를 생성하기 위해 상기 메모리부(215)에 저장된 멀티미디어 컨텐츠 파일 일부분의 구성 정보를 추출하는 정보 추출부(255)와, 상기 추출된 구성 정보를 기반으로 상기 멀티미디어 컨텐츠에 대한 저장용량 단위별 인덱스 정보를 생성하는 정보 생성부(250)를 구비하여 이루어지는 것을 특징으로 하며, 상기 컨텐츠 재생부(245)는 상기 저장용량 단위별 인덱스 정보를 기반으로 상기 멀티미디어 컨텐츠를 재생하는 것을 특징으로 한다.
상기 컨텐츠 재생부(245)는 상기 화면 출력부(200) 및 키 입력부(210)와 연계하여 상기 메모리부(215)에 저장된(또는 저장되고 있는) 적어도 하나 이상의 멀티미디어 컨텐츠 중 재생 대상 멀티미디어 컨텐츠를 확인(또는 선택)하고, 상기 확인(또는 선택)된 소정의 재생 대상 멀티미디어 컨텐츠를 재생하기 위한 소정의 초기화 작업을 수행하는 것을 특징으로 하며, 상기 초기화 작업 중에 상기 실시간 재생 판단부(260)는 상기 재생 대상 멀티미디어 컨텐츠의 파일 정보를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 실시간 재생 판단부(260)는 상기 재생 대상 멀티미디어 컨텐츠의 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(275)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(280)에 의해 저장 중인 멀티미디어 컨텐츠인지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 대한 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)의 판독결과, 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(275)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(280)에 의해 저장 중인 멀티미디어 컨텐츠라면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 실시간 재생 판단부(260)는 상기 재생 대상 멀티미디어 컨텐츠의 헤더부(285)에 포함된 헤더 정보를 기반으로 상기 멀티미디어 컨텐츠 파일에 유효한 인덱스부(295)가 기 포함되어 있는지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 유효한 인덱스부(295)가 포함되어 있지 않았다면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
만약 상기 실시간 재생 판단부(260)의 판단결과, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되지 않는다면, 상기 컨텐츠 재생부(245)는 상기 재생 대상 멀티미디어 컨텐츠를 기 정의된 멀티미디어 컨텐츠 재생 절차에 따라 재생하는 것이 바람직하며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 컨텐츠 재생부(245)가 상기 실시간 재생 대상에 포함되지 않는 멀티미디어 컨텐츠(예컨대, 스트리밍 재생이 가능한 파일 구조를 포함하는 멀티미디어 컨텐츠, 또는 다운로드가 완료된 멀티미디어 컨텐츠)를 재생하는 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
반면 상기 실시간 재생 판단부(260)의 판단결과, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함된다면, 상기 실시간 재생 판단부(260)는 상기 재생 대상 멀티미디어 컨텐츠 정보를 상기 저장용량 확인부(265)로 제공한다.
상기 저장용량 확인부(265)는 상기 컨텐츠 수신부(275)를 통해 수신되는 상기 멀티미디어 컨텐츠의 저장용량을 주기적으로 확인하거나, 또는 상기 컨텐츠 저장부(280)를 통해 상기 메모리부(215)에 저장되는 상기 멀티미디어 컨텐츠 저장용량을 주기적으로 확인하는 것을 특징으로 한다.
상기 정보 확인부(270)는 상기 확인되는 멀티미디어 컨텐츠 저장용량이 소정의 인덱스 생성 단위용량에 도달(또는 초과)하는지 확인하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 정보 확인부(270)는 상기 실시간 재생 프로그램에서 소정의 멀티미디어 컨텐츠를 실시간 재생(또는 스트리밍 방식으로 재생)하기 위해 필요한 소정의 인덱스 정보를 생성하기 위한 소정의 인덱스 생성 단위용량 정보를 포함(예컨대, 프로그램 코드 내에 상수 형태로 포함)하여 이루어지는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 실시간 재생 프로그램에서 소정의 멀티미디어 컨텐츠를 실시간 재생(또는 스트리밍 방식으로 재생)하기 위해 필요한 소정의 인덱스 정보를 생성하기 위한 소정의 인덱스 생성 단위용량 정보는 상기 단말장치에 구비된 메모리부(215)에 저장되고, 상기 정보 확인부(270)는 상기 메모리부(215)에 저장된 상기 인덱스 생성 단위용량 정보를 확인하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 정보 확인부(270)는 상기 확인된 멀티미디어 컨텐츠의 저장용량이 상기 인덱스 생성 단위용량에 도달(또는 초과)하면, 상기 멀티미디어 컨텐츠에 대한 저장용량 단위별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
상기 정보 확인부(270)에 의해 상기 멀티미디어 컨텐츠에 대한 저장용량 단위별 인덱스 정보 생성 조건을 만족하는 것이 확인되면, 상기 정보 추출부(255)는 소정의 단위용량 별 인덱스 정보를 생성하기 위해 상기 메모리부(215)에 저장된 멀티미디어 컨텐츠 파일 일부분의 구성 정보를 추출하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 정보 추출부(255)는 상기 멀티미디어 컨텐츠의 헤더부(285)를 판독하여 상기 멀티미디어 컨텐츠에 대한 헤더 정보를 추출하고, 상기 헤더 정보를 기반으로 상기 데이터 청크의 초두 문자 코드와 데이터 청크의 크기를 기반으로 영상 데이터부(290)에 포함된 적어도 하나 이상의 데이터 청크에 대한 포맷, 위치 및 크기 등을 적어도 하나 이상 포함하는 데이터 청크 정보를 추출하는 것이 바람직하다.
예컨대, 상기 정보 추출부(255)는 제1 데이터 청크의 초두 문자 코드(예컨대, 00db, 또는 00dc, 또는 00pc, 또는 00wb)를 포함하는 제1 데이터 청크의 크기 및 실제 스트림 데이터를 확인하고, 상기 제1 데이터 청크 이후의 제2 데이터 청크 초두 문자 코드(예컨대, 01db, 또는 01dc, 또는 01pc, 또는 01wb)를 확인하는데, 상기 제2 데이터 청크의 초두 문자 코드는 상기 제1 데이터 청크의 실제 스트림 데이터 다음에 위치할 것이다.
만약 상기 정보 추출부(255)가 제n(n>1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인한 후, 상기 제n 데이터 청크의 실제 스트림 데이터 다음에 제(n+1) 데이터 청크의 초두 문자 코드가 확인되지 않는다면, 상기 제n 데이터 청크는 손상된 것으로 간주되면, 이 경우 상기 정보 추출부(255)는 상기 제n 데이터 청크의 실제 스트림 데이터를 1바이트 단위로 쉬프트(Shift)하면서 제(n+1) 데이터 청크의 초두 문자 코드를 검색한 후, 상기 제(n+1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인하는 것이 바람직하며, 이에 의해 손상된 데이터 청크가 탐지될 수 있다.
상기 영상 데이터부(290)에 포함된 적어도 하나 이상의 데이터 청크에 대한 포맷, 위치 및 크기 등을 적어도 하나 이상 포함하는 포함하는 데이터 청크 정보가 추출되면, 상기 정보 생성부(250)는 상기 데이터 청크 정보를 기반으로 상기 멀티미디어 컨텐츠를 재생하기 위한 소정의 저장용량 단위별 인덱스 정보를 생성하는 것을 특징으로 하며, 여기서 상기 저장용량 단위별 인덱스 정보는 AVIINDEXENTRY 구조체 형태로 생성되는 것이 바람직하다.
이후, 상기 컨텐츠 재생부(245)는 상기 정보 생성부(250)에 의해 생성된 상기 저장용량 단위별 인덱스 정보를 기반으로 상기 재생 대상 멀티미디어 컨텐츠를 재생하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 저장용량 확인부(265)가 상기 컨텐츠 수신부(275)(또는 컨텐츠 저장부(280))와 연계하여 상기 수신되는 멀티미디어 컨텐츠의 저장용량을 반복적으로 확인하고, 상기 정보 확인부(270)가 상기 멀티미디어 컨텐츠의 저장용량이 실시간 재생(또는 스트리밍 방식으로 재생)을 위한 소정의 인덱스 생성 단위용량 정보에 도달(또는 초과)하는지 확인하고, 상기 정보 추출부(255)가 상기 메모리부(215)에 저장된 멀티미디어 컨텐츠 파일 일부분의 구성 정보를 추출하고, 상기 정보 생성부(250)가 상기 추출된 구성 정보를 기반으로 상기 멀티미디어 컨텐츠에 대한 저장용량 단위별 인덱스 정보를 생성하는 과정은, 상기 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(275)를 통해 모두 수신되어 상기 컨텐츠 저장부(280)를 통해 수신된 멀티미디어 컨텐츠가 모두 상기 메모리부(215)에 저장될 때까지 반복되는 것이 바람직하다.
상기 컨텐츠 수신부(275)와 컨텐츠 저장부(280)를 통해 상기 멀티미디어 컨텐츠가 모두 수신/저장되면, 상기 정보 생성부(250)는 상기 멀티미디어 컨텐츠에 대한 최종 인덱스 정보를 생성하는 것을 특징으로 하며, 상기 컨텐츠 재생부(245)는 상기 최종 인덱스 정보를 기반으로 상기 멀티미디어 컨텐츠를 재생하는 것을 특징으로 한다.
도면3은 본 발명의 제 일 실시 방법에 따라 멀티미디어 컨텐츠의 실시간 재생 도시한 도면이다.
보다 상세하게 본 도면3은 상기 도면2에 도시된 단말장치에 구비된 실시간 재생 프로그램이 상기 도면1에 도시된 컨텐츠 구조를 포함하여 이루어진 멀티미디어 컨텐츠를 재생하는 경우, 상기 멀티미디어 컨텐츠를 실시간 재생(또는 스트리밍 방식으로 재생)하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면3을 참조 및/또는 변형하여 상기 멀티미디어 컨텐츠의 실시간 재생(또는 스트리밍 방식으로 재생)하는 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면3에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
이하, 본 도면3에서 상기 실시간 재생 프로그램을 구비하여 도면2에 도시된 단말장치를 편의상 "단말"이라고 한다.
도면3을 참조하면, 상기 단말에서 소정의 컨텐츠 제공 서버(230)(또는 메신저 단말(235))에 구비된 적어도 하나 이상의 멀티미디어 컨텐츠 중 상기 단말로 제공하여 재생하고자 하는 소정의 재생 대상 멀티미디어 컨텐츠를 선택하고(300), 상기 도면2에 도시된 실시간 재생 프로그램을 실행하여 컨텐츠 제공 서버(230)(또는 메신저 단말(235))에서 제공하는 상기 재생 대상 멀티미디어 컨텐츠를 수신하는데(305), 만약 상기 재생 대상 멀티미디어 컨텐츠의 헤더부(285) 이상이 수신되면(310), 상기 재생 대상 멀티미디어 컨텐츠의 헤더 정보를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인한다(315).
본 발명의 일 실시 방법에 따르면, 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠의 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(275)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(280)에 의해 저장 중인 멀티미디어 컨텐츠인지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 대한 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)의 판독결과, 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(275)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(280)에 의해 저장 중인 멀티미디어 컨텐츠라면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠의 헤더부(285)에 포함된 헤더 정보를 기반으로 상기 멀티미디어 컨텐츠 파일에 유효한 인덱스부(295)가 기 포함되어 있는지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 유효한 인덱스부(295)가 포함되어 있지 않았다면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되지 않는다면(320), 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠를 기 정의된 멀티미디어 컨텐츠 재생 절차에 따라 재생한다(325).
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 단말이 상기 실시간 재생 대상에 포함되지 않는 멀티미디어 컨텐츠(예컨대, 스트리밍 재생이 가능한 파일 구조를 포함하는 멀티미디어 컨텐츠, 또는 다운로드가 완료된 멀티미디어 컨텐츠)를 재생하는 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
반면 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함된다면(320), 상기 단말은 상기 컨텐츠 제공 서버(230)(또는 메신저 단말(235))로부터 수신되는 상기 재생 대상 멀티미디어 컨텐츠 저장용량이 기 설정된 인덱스 생성 단위용량에 도달(또는 초과)하는지 확인함으로써, 상기 제1(i=1) 단위용량 별 인덱스 정보 생성 조건을 만족하는지 확인한다(330).
만약 상기 제1(i=1) 단위용량 별 인덱스 정보 생성 조건을 만족하는 것이 확인되면(335), 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠에 대한 헤더 정보와 데이터 청크 정보를 추출한다(340).
본 발명의 실시 방법에 따르면, 상기 단말은 상기 멀티미디어 컨텐츠의 헤더부(285)를 판독하여 상기 멀티미디어 컨텐츠에 대한 헤더 정보를 추출하고, 상기 헤더 정보를 기반으로 상기 데이터 청크의 초두 문자 코드와 데이터 청크의 크기를 기반으로 영상 데이터부(290)에 포함된 적어도 하나 이상의 데이터 청크에 대한 포맷, 위치 및 크기 등을 적어도 하나 이상 포함하는 데이터 청크 정보를 추출하는 것이 바람직하다.
예컨대, 상기 단말은 제1 데이터 청크의 초두 문자 코드(예컨대, 00db, 또는 00dc, 또는 00pc, 또는 00wb)를 포함하는 제1 데이터 청크의 크기 및 실제 스트림 데이터를 확인하고, 상기 제1 데이터 청크 이후의 제2 데이터 청크 초두 문자 코드(예컨대, 01db, 또는 01dc, 또는 01pc, 또는 01wb)를 확인하는데, 상기 제2 데이터 청크의 초두 문자 코드는 상기 제1 데이터 청크의 실제 스트림 데이터 다음에 위치할 것이다.
만약 상기 단말이 제n(n>1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인한 후, 상기 제n 데이터 청크의 실제 스트림 데이터 다음에 제(n+1) 데이터 청크의 초두 문자 코드가 확인되지 않는다면, 상기 제n 데이터 청크는 손상된 것으로 간주되면, 이 경우 상기 단말은 상기 제n 데이터 청크의 실제 스트림 데이터를 1바이트 단위로 쉬프트(Shift)하면서 제(n+1) 데이터 청크의 초두 문자 코드를 검색한 후, 상기 제(n+1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인하는 것이 바람직하며, 이에 의해 손상된 데이터 청크가 탐지될 수 있다.
이후, 상기 단말은 상기 추출된 헤더 정보와 데이터 청크 정보를 기반으로 상기 수신된 멀티미디어 컨텐츠를 재생하기 위한 제1(i=1) 단위용량 별 인덱스 정보를 생성하고(345), 상기 생성된 제1(i=1) 단위용량 별 인덱스 정보를 기반으로 상기 제1(i=1) 멀티미디어 컨텐츠 재생 영역을 디코딩하여 재생하고(350), 상기 재생 중인 멀티미디어 컨텐츠가 모두 수신되었는지 확인한다(355).
만약 상기 멀티미디어 컨텐츠가 모두 수신되지 않았다면(360), 상기 단말은 상기 컨텐츠 제공 서버(230)(또는 메신저 단말(235))로부터 수신되는 상기 재생 대상 멀티미디어 컨텐츠 저장용량이 기 설정된 인덱스 생성 단위용량에 도달(또는 초과)하는지 확인함으로써, 상기 제2(i=i+1) 단위용량 별 인덱스 정보 생성 조건을 만족하는지 확인하고(365), 상기 확인결과에 따라 상기 단위용량 별 인덱스 정보를 생성하여 상기 멀티미디어 컨텐츠를 재생하는 과정을 반복한다.
반면 상기 멀티미디어 컨텐츠가 모두 수신되었다면(360), 상기 단말은 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠에 대한 최종 인덱스 정보를 생성하고(370), 상기 생성된 최종 인덱스 정보를 통해 상기 멀티미디어 컨텐츠를 디코딩하여 재생한다(375).
도면4는 본 발명의 제 이 실시 방법에 따라 멀티미디어 컨텐츠의 실시간 재생을 위해 단말장치에 구비된 기록매체에 기록된 실시간 재생 프로그램 기능 구성을 도시한 도면이다.
보다 상세하게 본 도면4는 소정의 컨텐츠 제공 서버(430)(또는 메신저 단말(435))로부터 다운로드가 완료되지 않은(또는 수신 중인) 소정의 멀티미디어 컨텐츠(예컨대, 스트리밍 재생이 가능한 파일 구조를 포함하지 않는 멀티미디어 컨텐츠)를 실시간 재생(또는 스트리밍 방식으로 재생)하기 위해 소정의 단말장치(예컨대, 데스크탑 컴퓨터, 노트북, 이동통신단말, 휴대인터넷 단말, 무선랜 단말, 양방향 디지털 TV, IPTV 등)에 구비되는 실시간 재생 프로그램의 바람직한 기능 구성에 대한 것으로서, 체적으로 상기 실시간 재생 프로그램에서 상기 멀티미디어 컨텐츠 다운로드(또는 수신)를 위한 통신성능에 대응하는 소정의 인덱스 생성 단위용량 정보를 설정한 후, 상기 설정된 인덱스 생성 단위용량 정보를 기반으로 상기 다운로드가 완료되지 않은(또는 수신 중인) 소정의 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보를 주기적으로 생성하여 상기 멀티미디어 컨텐츠를 실시간 재생(또는 스트리밍 방식으로 재생)하는 실시 방법을 도시한 것이다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면4를 참조 및/또는 변형하여 멀티미디어 컨텐츠의 실시간 재생을 위한 상기 실시간 재생 프로그램 기능 구성의 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 실시 방법을 모두 포함하며, 본 도면4에 도시된 실시 방법으로 한정되지 아니한다.
예컨대, 본 도면4에서 소정의 컨텐츠 제공 서버(430)(또는 메신저 단말(435))로부터 다운로드가 완료되지 않은 소정의 멀티미디어 컨텐츠를 다운로드하는 기능 구성부(컨텐츠 수신부(480), 컨텐츠 저장부(485))가 상기 실시간 재생 프로그램 내에 구비되는 것으로 도시하여 설명하지만, 이에 의해 본 발명이 한정되지 아니하며, 상기 멀티미디어 컨텐츠를 다운로드하는 기능은 상기 실시간 재생 프로그램 이외에 다른 응용프로그램(예컨대, 상기 단말장치에 구비된 브라우져 프로그램, 또는 메신저 프로그램 등)에 구비되어도 무방하며, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 실시 방법을 따르는 도면4를 참조하면, 상기 단말장치는 소정의 통신망(예컨대, TCP/IP(Transmission Control Protocol/Internet Protocol) 기반 유선 통신망, 또는HSDPA(High-Speed Downlink Packet Access) 기반 무선 통신망, 또는 IEEE 802.16x 기반 무선 통신망 등)을 통해 소정의 서버(또는 단말)와 통신채널을 연결하는 통신 처리부(420)를 구비하여 이루어지는 것을 특징으로 한다.
상기 통신 처리부(420)는 상기 단말장치가 접속한 소정의 통신망(예컨대, TCP/IP 기반 유선 통신망, HSDPA(High-Speed Downlink Packet Access) 기반 무선 통신망, IEEE 802.16x 기반 무선 통신망 등)을 통해 상기 실시간 재생 프로그램을 저장 및 관리하며, 상기 실시간 재생 프로그램을 상기 단말장치로 전송하는 소정의 프로그램 제공 서버(425)와 통신채널을 연결하는 것을 특징으로 하며, 상기 프로그램 제공 서버(425)에 구비된 소정의 기록매체에 기록되어 있던 상기 실시간 재생 프로그램을 상기 단말장치에 구비된 기록매체로 다운로드하는 것을 특징으로 한다.
또한, 상기 통신 처리부(420)는 상기 단말장치가 접속한 소정의 통신망(예컨대, TCP/IP 기반 유선 통신망, HSDPA(High-Speed Downlink Packet Access) 기반 무선 통신망, IEEE 802.16x 기반 무선 통신망 등)을 통해 소정의 컨텐츠 제공 서버(430)(또는 메신저 단말(435))와 멀티미디어 컨텐츠 다운로드(또는 수신)을 위한 통신채널을 연결하는 것을 특징으로 하며, 상기 컨텐츠 제공 서버(430)(또는 메신저 단말(435))에 구비된 소정의 저장매체에 저장되어 있던 적어도 하나 이상의 멀티미디어 컨텐츠를 다운로드(또는 수신)하는 것을 특징으로 한다.
도면4를 참조하면, 상기 실시간 재생 프로그램이 구비되는 단말장치는, 상기 멀티미디어 컨텐츠의 비디오 데이터를 출력하는 화면 출력부(400)와, 상기 멀티미디어 컨텐츠의 오디오 데이터를 출력하는 사운드 처리부(405)와, 상기 멀티미디어 컨텐츠 재생을 제어하는 각종 키를 입력하는 키 입력부(410)를 구비하여 이루어지는 것을 특징으로 하며, 소정의 컨텐츠 제공 서버(430)(또는 메신저 단말(435))와 상기 멀티미디어 컨텐츠 수신을 위한 통신채널을 연결 및 관리하는 통신 처리부(420)와, 상기 다운로드된 멀티미디어 컨텐츠를 저장하는 메모리부(415)를 구비하여 이루어지는 것을 특징으로 하며, 상기 실시간 재생 프로그램은 상기 기능 구성부와 연동하여 소정의 컨텐츠 제공 서버(430)(또는 메신저 단말(435))로부터 다운로드가 완료되지 않은(또는 수신중인) 소정의 재생 대상 멀티미디어 컨텐츠를 실시간 재생하는 것을 특징으로 한다.
상기 통신 처리부(420)를 통해 다운로드(또는 수신)되는 멀티미디어 컨텐츠의 실시간 재생(또는 스트리밍 방식으로 재생)하기 위해, 상기 화면 출력부(400)는 상기 실시간 재생 프로그램에서 디코딩된 상기 멀티미디어 컨텐츠의 비디오 데이터를 출력하는 화면 출력수단의 기능을 수행하는 것을 특징으로 한다.
상기 통신 처리부(420)를 통해 다운로드(또는 수신)되는 멀티미디어 컨텐츠의 실시간 재생(또는 스트리밍 방식으로 재생)하기 위해, 상기 사운드 처리부(405)는 실시간 재생 프로그램에서 디코딩된 상기 멀티미디어 컨텐츠의 오디오 데이터를 출력하는 사운드 출력수단의 기능을 수행하는 것을 특징으로 한다.
상기 메모리부(415)는 소정의 컨텐츠 제공 서버(430)(또는 메신저 단말(435))로부터 소정의 멀티미디어 컨텐츠가 수신되는 경우, 상기 수신되는 멀티미디어 컨텐츠를 저장하는 것을 특징으로 하며, 상기 멀티미디어 컨텐츠는 소정의 컨텐츠 헤더 정보를 포함하는 헤더부(490)와, 소정의 비디오/오디오 데이터를 포함하는 영상 데이터부(495)와, 상기 멀티미디어 컨텐츠 재생에 필요한 인덱스 정보를 포함하는 인덱스부(497)를 포함하여 이루어지는 것이 바람직하다.
상기 멀티미디어 컨텐츠의 상기 헤더부(490)는 상기 멀티미디어 컨텐츠의 "RIFF"라는 초두 문자 코드(FOURCC : FOUR Character Code) 다음에 위치하는 구조체 정보로서, 소정의 메인 헤더 정보와, 스트림 헤더 정보, 스트림 포맷 정보, 스트림 데이터, 스트림 명칭 등과 같은 적어도 하나 이상의 헤더 정보를 더 포함하여 이루어지는 것이 바람직하다.
상기 영상 데이터부(495)는 소정의 비디오 데이터와 오디오 데이터를 동기화(Interleave)하여 소정의 데이터 단위로 구성된 복수개의 청크(Chunk)로 구성되는 것이 바람직하며, 상기 영상 데이터(예컨대, 동기화된 비디오 데이터와 오디오 데이터)는 상기 청크 단위로 재생되는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 영상 데이터부(495)는 적어도 하나 이상의 데이터 청크를 상기 영상 데이터부(495)('movi') 에 직접 기술하는 경우와, 적어도 하나 이상의 데이터 청크를 소정의 레코드 청크('rec')에 그룹화 하는 경우를 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
상기 인덱스부(497)는 상기 영상 데이터를 상기 청크 단위로 재생하기 위한 청크 식별자와, 플래그 정보와, 청크 오프셋과, 청크 크기를 포함하여 이루어지는 것이 바람직하다.
도면4를 참조하면, 상기 실시간 재생 프로그램은 상기 단말장치에 구비된 운영체제(또는 플랫폼)와 연계하여 상기 실시간 재생 프로그램이 상기 단말장치에 구비된 기록매체를 기반으로 동작하도록 제어하며, 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 실시간 재생 프로그램을 구성하는 적어도 하나 이상의 기능 구성부를 상호 연동하고, 및/또는 상기 기능 구성부들이 상기 단말장치에 구비된 운영체제(또는 플랫폼)를 통해 상기 단말장치에 구비된 적어도 하나 이상의 구성요소와 연동하여 상기 멀티미디어 컨텐츠의 실시간 재생을 위한 기능을 수행하도록 메인프레임부(440)(Mainfrmae)를 구비하여 이루어지는 것을 특징으로 한다.
상기 메인프레임부(440)는 상기 실시간 재생 프로그램이 상기 단말장치에 구비된 운영체제(또는 플랫폼) 상에서 실행되기 위한 프로그램 실행 코드를 포함하여 이루어지는 것을 특징으로 하며, 이에 의해 상기 단말장치에 구비된 후, 소정의 프로그램 실행 명령에 대응하여 상기 단말장치에 구비된 상기 운영체제(또는 플랫폼)를 기반으로 상기 실시간 재생 프로그램이 실행되어 동작하도록 제어하는 것을 특징으로 한다.
또한, 상기 메인프레임부(440)는 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 실시간 재생 프로그램에 구비되는 적어도 하나 이상의 기능 구성부를 상호 연동하도록 제어하는 것을 특징으로 하며, 이에 의해 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 실시간 재생 프로그램을 구성하는 적어도 하나 이상의 기능 구성부는 상기 메인프레임부(440)에 인스턴스를 할당함으로써, 상기 기능 구성부들은 상호 참조 및/또는 연동하게 된다.
또한, 상기 메인프레임부(440)는 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 기능 구성부들이 상기 단말장치에 구비된 적어도 하나 이상의 구성요소(예컨대, 키 입력부(410) 및/또는 화면 출력부(400) 등)에 접근하기 위한 핸들(Handle)(및/또는 인터럽트)을 얻어오는 것을 특징으로 하며, 이에 의해 상기 실시간 재생 프로그램을 구성하는 각각의 기능 구성부들은 상기 단말장치에 구비된 각각의 구성요소에 접근하여 각각의 기능 구성부에 정의된 고유한 기능을 수행하는 것을 특징으로 한다.
또한, 상기 메인프레임부(440)는 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 기능 구성부들이 상기 단말장치에 구비된 적어도 하나 이상의 구성요소(예컨대, 키 입력부(410) 및/또는 화면 출력부(400) 등)에 접근하기 위한 인터럽트를 얻어오거나, 및/또는 상기 단말장치에 구비된 주변장치에 대응하는 입출력 버스에 접근하도록 하는 것을 특징으로 하며, 이에 의해 상기 실시간 재생 프로그램을 구성하는 각각의 기능 구성부들은 상기 단말장치에 구비된 각각의 구성요소에 접근하여 각각의 기능 구성부에 정의된 고유한 기능을 수행하는 것을 특징으로 한다.
도면4를 참조하면, 상기 실시간 재생 프로그램은 상기 통신 처리부(420)와 연계하여 상기 통신망을 통해 소정의 컨텐츠 제공 서버(430)(또는 메신저 단말(435))로부터 소정의 멀티미디어 컨텐츠를 수신하는 컨텐츠 수신부(480)와, 상기 수신된 멀티미디어 컨텐츠를 상기 메모리부(415)에 저장하는 컨텐츠 저장부(485)를 구비하여 이루어지는 것을 특징으로 한다.
상기 컨텐츠 수신부(480)는 상기 통신 처리부(420)와 연계하여 상기 통신망 상에 구비된 소정의 컨텐츠 제공 서버(430)(또는 메신저 단말(435))로부터 소정의 수신 대상 멀티미디어 컨텐츠를 수신하는 것을 특징으로 하며, 상기 컨텐츠 수신부(480)는 상기 멀티미디어 컨텐츠의 헤더부(490)부터 영상 데이터부(495) 및 인덱스부(497)를 순차적으로 수신하는 것을 특징으로 한다.
상기 컨텐츠 저장부(485)는 상기 컨텐츠 수신부(480)가 상기 통신 처리부(420)와 연계하여 상기 컨텐츠 제공 서버(430)(또는 메신저 단말(435))로부터 수신하는 상기 멀티미디어 컨텐츠를 상기 메모리부(415)에 저장하는 것을 특징으로 하며, 상기 컨텐츠 수신부(480)가 상기 멀티미디어 컨텐츠를 헤더부(490)부터 영상 데이터부(495) 및 인덱스부(497)를 순차적으로 수신하는 경우, 상기 컨텐츠 저장부(485) 역시 상기 수신된 멀티미디어 컨텐츠를 상기 헤더부(490)부터 영상 데이터부(495) 및 인덱스부(497) 등으로 순차적으로 저장하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 컨텐츠 수신부(480)와 컨텐츠 저장부(485)는 상기 단말장치에 구비된 소정의 컨텐츠 재생수단(예컨대, 상기 단말장치에 구비된 컨텐츠 재생 프로그램) 내에 포함되어 구비되는 것이 바람직하다.
본 발명의 다른 실시 방법에 따르면, 상기 컨텐츠 수신부(480)는 상기 단말장치에 구비된 소정의 브라우져 통신수단(예컨대, 상기 단말장치에 구비된 브라우져 프로그램, 도시생략)에 구비되거나, 또는 상기 단말장치에 구비된 소정의 메신저 통신수단(예컨대, 상기 단말장치에 구비된 메신저 프로그램, 도시생략)에 구비되는 것이 가능하다.
도면4를 참조하면, 상기 실시간 재생 프로그램은, 상기 메모리부(415)에 저장된(또는 저장되고 있는) 소정의 멀티미디어 컨텐츠 중 재생 대상 멀티미디어 컨텐츠를 확인(또는 선택)하는 컨텐츠 재생부(450)와, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상인지 확인하는 실시간 재생 판단부(445)와, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상으로 판단되면, 상기 통신 처리부(420)(또는 컨텐츠 수신부(480))와 연계하여 상기 재생 대상 멀티미디어 컨텐츠를 끊김없이 다운로드(또는 수신)할 수 있는 소정의 인덱스 생성 단위용량 정보를 설정하는 정보 설정부(465)와, 상기 수신되는 멀티미디어 컨텐츠의 저장용량을 반복적으로 확인하는 저장용량 확인부(470)와, 상기 멀티미디어 컨텐츠의 저장용량이 상기 설정된 인덱스 생성 단위용량 정보에 도달(또는 초과)하는지 확인하는 정보 확인부(475)와, 상기 확인결과 상기 멀티미디어 컨텐츠의 저장용량이 상기 인덱스 생성 단위용량에 도달(또는 초과)하면, 소정의 단위용량 별 인덱스 정보를 생성하기 위해 상기 메모리부(415)에 저장된 멀티미디어 컨텐츠 파일 일부분의 구성 정보를 추출하는 정보 추출부(460)와, 상기 추출된 구성 정보를 기반으로 상기 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보를 생성하는 정보 생성부(455)를 구비하여 이루어지는 것을 특징으로 하며, 상기 컨텐츠 재생부(450)는 상기 단위용량 별 인덱스 정보를 기반으로 상기 멀티미디어 컨텐츠를 재생하는 것을 특징으로 한다.
상기 컨텐츠 재생부(450)는 상기 화면 출력부(400) 및 키 입력부(410)와 연계하여 상기 메모리부(415)에 저장된(또는 저장되고 있는) 적어도 하나 이상의 멀티미디어 컨텐츠 중 재생 대상 멀티미디어 컨텐츠를 확인(또는 선택)하고, 상기 확인(또는 선택)된 소정의 재생 대상 멀티미디어 컨텐츠를 재생하기 위한 소정의 초기화 작업을 수행하는 것을 특징으로 하며, 상기 초기화 작업 중에 상기 실시간 재생 판단부(445)는 상기 재생 대상 멀티미디어 컨텐츠의 파일 정보를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 실시간 재생 판단부(445)는 상기 재생 대상 멀티미디어 컨텐츠의 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(480)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(485)에 의해 저장 중인 멀티미디어 컨텐츠인지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 대한 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)의 판독결과, 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(480)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(485)에 의해 저장 중인 멀티미디어 컨텐츠라면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 실시간 재생 판단부(445)는 상기 재생 대상 멀티미디어 컨텐츠의 헤더부(490)에 포함된 헤더 정보를 기반으로 상기 멀티미디어 컨텐츠 파일에 유효한 인덱스부(497)가 기 포함되어 있는지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 유효한 인덱스부(497)가 포함되어 있지 않았다면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
만약 상기 실시간 재생 판단부(445)의 판단결과, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되지 않는다면, 상기 컨텐츠 재생부(450)는 상기 재생 대상 멀티미디어 컨텐츠를 기 정의된 멀티미디어 컨텐츠 재생 절차에 따라 재생하는 것이 바람직하며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 컨텐츠 재생부(450)가 상기 실시간 재생 대상에 포함되지 않는 멀티미디어 컨텐츠(예컨대, 스트리밍 재생이 가능한 파일 구조를 포함하는 멀티미디어 컨텐츠, 또는 다운로드가 완료된 멀티미디어 컨텐츠)를 재생하는 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
반면 상기 실시간 재생 판단부(445)의 판단결과, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함된다면, 상기 실시간 재생 판단부(445)는 상기 재생 대상 멀티미디어 컨텐츠 정보를 상기 정보 설정부(465)와 저장용량 확인부(470)로 제공한다.
상기 정보 설정부(465)는 상기 통신 처리부(420)(또는 컨텐츠 수신부(480))와 연계하여 상기 멀티미디어 컨텐츠 다운로드(또는 수신)에 대응하는 통신성능(Bytes/sec)을 확인하고, 상기 확인된 통신성능에 대응하는 소정의 인덱스 생성 단위용량 정보를 설정하여 저장하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 정보 설정부(465)는 적어도 하나 이상의 통신성능 정보와 각 통신성능에 대응하는 인덱스 생성 단위용량 정보를 연계하여 포함(예컨대, 프로그램 코드 내에 상수 형태로 포함)하여 이루어지는 것이 바람직하며, 상기 멀티미디어 컨텐츠 다운로드(또는 수신)에 대응하는 통신성능이 확인되면, 상기 정보 설정부(465)는 상기 확인된 통신성능에 대응하는 인덱스 생성 단위용량 정보를 상기 단위용량 별 인덱스 정보 생성을 위한 인덱스 생성 단위용량 정보로 설정하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 메모리부(415)에 적어도 하나 이상의 통신성능 정보와 각 통신성능에 대응하는 인덱스 생성 단위용량 정보를 연계하여 저장하는 것이 바람직하며, 상기 멀티미디어 컨텐츠 다운로드(또는 수신)에 대응하는 통신성능이 확인되면, 상기 정보 설정부(465)는 상기 메모리부(415)와 연계하여 상기 확인된 통신성능에 대응하는 인덱스 생성 단위용량 정보를 상기 단위용량 별 인덱스 정보 생성을 위한 인덱스 생성 단위용량 정보로 설정하는 것이 바람직하다.
상기 저장용량 확인부(470)는 상기 컨텐츠 수신부(480)를 통해 수신되는 상기 멀티미디어 컨텐츠의 저장용량을 주기적을 확인하거나, 또는 상기 컨텐츠 저장부(485)를 통해 상기 메모리부(415)에 저장되는 상기 멀티미디어 컨텐츠 저장용량을 주기적으로 확인하는 것을 특징으로 한다.
상기 정보 확인부(475)는 상기 확인되는 멀티미디어 컨텐츠 저장용량이 상기 확인된 인덱스 생성 단위용량에 도달(또는 초과)하는지 주기적으로 확인하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 정보 확인부(475)는 상기 확인된 멀티미디어 컨텐츠의 저장용량이 상기 인덱스 생성 단위용량에 도달(또는 초과)하면, 상기 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
상기 정보 확인부(475)에 의해 상기 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보 생성 조건을 만족하는 것이 확인되면, 상기 정보 추출부(460)는 소정의 단위용량 별 인덱스 정보를 생성하기 위해 상기 메모리부(415)에 저장된 멀티미디어 컨텐츠 파일 일부분의 구성 정보를 추출하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 정보 추출부(460)는 상기 멀티미디어 컨텐츠의 헤더부(490)를 판독하여 상기 멀티미디어 컨텐츠에 대한 헤더 정보를 추출하고, 상기 헤더 정보를 기반으로 상기 데이터 청크의 초두 문자 코드와 데이터 청크의 크기를 기반으로 영상 데이터부(495)에 포함된 적어도 하나 이상의 데이터 청크에 대한 포맷, 위치 및 크기 등을 적어도 하나 이상 포함하는 데이터 청크 정보를 추출하는 것이 바람직하다.
예컨대, 상기 정보 추출부(460)는 제1 데이터 청크의 초두 문자 코드(예컨대, 00db, 또는 00dc, 또는 00pc, 또는 00wb)를 포함하는 제1 데이터 청크의 크기 및 실제 스트림 데이터를 확인하고, 상기 제1 데이터 청크 이후의 제2 데이터 청크 초두 문자 코드(예컨대, 01db, 또는 01dc, 또는 01pc, 또는 01wb)를 확인하는데, 상기 제2 데이터 청크의 초두 문자 코드는 상기 제1 데이터 청크의 실제 스트림 데이터 다음에 위치할 것이다.
만약 상기 정보 추출부(460)가 제n(n>1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인한 후, 상기 제n 데이터 청크의 실제 스트림 데이터 다음에 제(n+1) 데이터 청크의 초두 문자 코드가 확인되지 않는다면, 상기 제n 데이터 청크는 손상된 것으로 간주되면, 이 경우 상기 정보 추출부(460)는 상기 제n 데이터 청크의 실제 스트림 데이터를 1바이트 단위로 쉬프트(Shift)하면서 제(n+1) 데이터 청크의 초두 문자 코드를 검색한 후, 상기 제(n+1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인하는 것이 바람직하며, 이에 의해 손상된 데이터 청크가 탐지될 수 있다.
상기 영상 데이터부(495)에 포함된 적어도 하나 이상의 데이터 청크에 대한 포맷, 위치 및 크기 등을 적어도 하나 이상 포함하는 포함하는 데이터 청크 정보가 추출되면, 상기 정보 생성부(455)는 상기 데이터 청크 정보를 기반으로 상기 멀티미디어 컨텐츠를 재생하기 위한 소정의 단위용량 별 인덱스 정보를 생성하는 것을 특징으로 하며, 여기서 상기 단위용량 별 인덱스 정보는 AVIINDEXENTRY 구조체 형태로 생성되는 것이 바람직하다.
이후, 상기 컨텐츠 재생부(450)는 상기 정보 생성부(455)에 의해 생성된 상기 단위용량 별 인덱스 정보를 기반으로 상기 재생 대상 멀티미디어 컨텐츠를 재생하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 정보 설정부(465)가 상기 통신성능에 대응하는 소정의 인덱스 생성 단위용량 정보를 설정한 후, 상기 저장용량 확인부(470)가 상기 컨텐츠 수신부(480)(또는 컨텐츠 저장부(485))와 연계하여 상기 수신되는 멀티미디어 컨텐츠의 저장용량을 반복적으로 확인하고, 상기 정보 확인부(475)가 상기 멀티미디어 컨텐츠의 저장용량이 상기 설정된 인덱스 생성 단위용량 정보에 도달(또는 초과)하는지 확인하고, 상기 정보 추출부(460)가 상기 메모리부(415)에 저장된 멀티미디어 컨텐츠 파일 일부분의 구성 정보를 추출하고, 상기 정보 생성부(455)가 상기 추출된 구성 정보를 기반으로 상기 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보를 생성하는 과정은, 상기 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(480)를 통해 모두 수신되어 상기 컨텐츠 저장부(485)를 통해 수신된 멀티미디어 컨텐츠가 모두 상기 메모리부(415)에 저장될 때까지 반복되는 것이 바람직하다.
상기 컨텐츠 수신부(480)와 컨텐츠 저장부(485)를 통해 상기 멀티미디어 컨텐츠가 모두 수신/저장되면, 상기 정보 생성부(455)는 상기 멀티미디어 컨텐츠에 대한 최종 인덱스 정보를 생성하는 것을 특징으로 하며, 상기 컨텐츠 재생부(450)는 상기 최종 인덱스 정보를 기반으로 상기 멀티미디어 컨텐츠를 재생하는 것을 특징으로 한다.
도면5는 본 발명의 제 이 실시 방법에 따라 멀티미디어 컨텐츠의 실시간 재생 도시한 도면이다.
보다 상세하게 본 도면5는 상기 도면4에 도시된 단말장치에 구비된 실시간 재생 프로그램이 상기 도면1에 도시된 컨텐츠 구조를 포함하여 이루어진 멀티미디어 컨텐츠를 재생하는 경우, 상기 멀티미디어 컨텐츠를 실시간 재생(또는 스트리밍 방식으로 재생)하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면5를 참조 및/또는 변형하여 상기 멀티미디어 컨텐츠의 실시간 재생(또는 스트리밍 방식으로 재생)하는 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면5에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
이하, 본 도면5에서 상기 실시간 재생 프로그램을 구비하여 도면4에 도시된 단말장치를 편의상 "단말"이라고 한다.
도면5를 참조하면, 상기 단말에서 소정의 컨텐츠 제공 서버(430)(또는 메신저 단말(435))에 구비된 적어도 하나 이상의 멀티미디어 컨텐츠 중 상기 단말로 제공하여 재생하고자 하는 소정의 재생 대상 멀티미디어 컨텐츠를 선택하고(500), 상기 도면4에 도시된 실시간 재생 프로그램을 실행하여 컨텐츠 제공 서버(430)(또는 메신저 단말(435))에서 제공하는 상기 재생 대상 멀티미디어 컨텐츠를 수신하는데(505), 만약 상기 재생 대상 멀티미디어 컨텐츠의 헤더부(490) 이상이 수신되면(510), 상기 재생 대상 멀티미디어 컨텐츠의 헤더 정보를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인한다(515).
본 발명의 일 실시 방법에 따르면, 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠의 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(480)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(485)에 의해 저장 중인 멀티미디어 컨텐츠인지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 대한 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)의 판독결과, 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(480)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(485)에 의해 저장 중인 멀티미디어 컨텐츠라면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠의 헤더부(490)에 포함된 헤더 정보를 기반으로 상기 멀티미디어 컨텐츠 파일에 유효한 인덱스부(497)가 기 포함되어 있는지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 유효한 인덱스부(497)가 포함되어 있지 않았다면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되지 않는다면(520), 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠를 기 정의된 멀티미디어 컨텐츠 재생 절차에 따라 재생한다(525).
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 단말이 상기 실시간 재생 대상에 포함되지 않는 멀티미디어 컨텐츠(예컨대, 스트리밍 재생이 가능한 파일 구조를 포함하는 멀티미디어 컨텐츠, 또는 다운로드가 완료된 멀티미디어 컨텐츠)를 재생하는 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
반면 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함된다면(520), 상기 단말은 상기 수신 중인 멀티미디어 컨텐츠에 대한 통신성능 정보를 확인한다(530).
만약 상기 통신성능 정보가 확인되면(535), 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠에 대한 통신성능 정보를 기반으로 상기 멀티미디어 컨텐츠의 실시가 재생(또는 스트리밍 방식으로 재생)하기 위한 소정의 인덱스 생성 단위용량 정보를 설정한다(540).
이후, 상기 단말은 상기 컨텐츠 제공 서버(430)(또는 메신저 단말(435))로부터 수신되는 상기 재생 대상 멀티미디어 컨텐츠 저장용량이 상기 설정된 인덱스 생성 단위용량에 도달(또는 초과)하는지 확인함으로써, 상기 제1(i=1) 단위용량 별 인덱스 정보 생성 조건을 만족하는지 확인한다(550).
만약 상기 제1(i=1) 단위용량 별 인덱스 정보 생성 조건을 만족하는 것이 확인되면(555), 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠에 대한 헤더 정보와 데이터 청크 정보를 추출한다(560).
본 발명의 실시 방법에 따르면, 상기 단말은 상기 멀티미디어 컨텐츠의 헤더부(490)를 판독하여 상기 멀티미디어 컨텐츠에 대한 헤더 정보를 추출하고, 상기 헤더 정보를 기반으로 상기 데이터 청크의 초두 문자 코드와 데이터 청크의 크기를 기반으로 영상 데이터부(495)에 포함된 적어도 하나 이상의 데이터 청크에 대한 포맷, 위치 및 크기 등을 적어도 하나 이상 포함하는 데이터 청크 정보를 추출하는 것이 바람직하다.
예컨대, 상기 단말은 제1 데이터 청크의 초두 문자 코드(예컨대, 00db, 또는 00dc, 또는 00pc, 또는 00wb)를 포함하는 제1 데이터 청크의 크기 및 실제 스트림 데이터를 확인하고, 상기 제1 데이터 청크 이후의 제2 데이터 청크 초두 문자 코드(예컨대, 01db, 또는 01dc, 또는 01pc, 또는 01wb)를 확인하는데, 상기 제2 데이터 청크의 초두 문자 코드는 상기 제1 데이터 청크의 실제 스트림 데이터 다음에 위치할 것이다.
만약 상기 단말이 제n(n>1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인한 후, 상기 제n 데이터 청크의 실제 스트림 데이터 다음에 제(n+1) 데이터 청크의 초두 문자 코드가 확인되지 않는다면, 상기 제n 데이터 청크는 손상된 것으로 간주되면, 이 경우 상기 단말은 상기 제n 데이터 청크의 실제 스트림 데이터를 1바이트 단위로 쉬프트(Shift)하면서 제(n+1) 데이터 청크의 초두 문자 코드를 검색한 후, 상기 제(n+1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인하는 것이 바람직하며, 이에 의해 손상된 데이터 청크가 탐지될 수 있다.
이후, 상기 단말은 상기 추출된 헤더 정보와 데이터 청크 정보를 기반으로 상기 수신된 멀티미디어 컨텐츠를 재생하기 위한 제1(i=1) 단위용량 별 인덱스 정보를 생성하고(565), 상기 생성된 제1(i=1) 단위용량 별 인덱스 정보를 기반으로 상기 제1(i=1) 멀티미디어 컨텐츠 재생 영역을 디코딩하여 재생하고(570), 상기 재생 중인 멀티미디어 컨텐츠가 모두 수신되었는지 확인한다(575).
만약 상기 멀티미디어 컨텐츠가 모두 수신되지 않았다면(580), 상기 단말은 상기 컨텐츠 제공 서버(430)(또는 메신저 단말(435))로부터 수신되는 상기 재생 대상 멀티미디어 컨텐츠 저장용량이 상기 설정된 인덱스 생성 단위용량에 도달(또는 초과)하는지 확인함으로써, 상기 제2(i=i+1) 단위용량 별 인덱스 정보 생성 조건을 만족하는지 확인하고(585), 상기 확인결과에 따라 상기 단위용량 별 인덱스 정보를 생성하여 상기 멀티미디어 컨텐츠를 재생하는 과정을 반복한다.
반면 상기 멀티미디어 컨텐츠가 모두 수신되었다면(580), 상기 단말은 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠에 대한 최종 인덱스 정보를 생성하고(590), 상기 생성된 최종 인덱스 정보를 통해 상기 멀티미디어 컨텐츠를 디코딩하여 재생한다(595).
도면6은 본 발명의 제 삼 실시 방법에 따라 멀티미디어 컨텐츠의 실시간 재생을 위해 단말장치에 구비된 기록매체에 기록된 실시간 재생 프로그램 기능 구성을 도시한 도면이다.
보다 상세하게 본 도면6은 소정의 컨텐츠 제공 서버(630)(또는 메신저 단말(635))로부터 다운로드가 완료되지 않은(또는 수신 중인) 소정의 멀티미디어 컨텐츠(예컨대, 스트리밍 재생이 가능한 파일 구조를 포함하지 않는 멀티미디어 컨텐츠)를 실시간 재생(또는 스트리밍 방식으로 재생)하기 위해 소정의 단말장치(예컨대, 데스크탑 컴퓨터, 노트북, 이동통신단말, 휴대인터넷 단말, 무선랜 단말, 양방향 디지털 TV, IPTV 등)에 구비되는 실시간 재생 프로그램의 바람직한 기능 구성에 대한 것으로서, 구체적으로 상기 실시간 재생 프로그램에서 상기 멀티미디어 컨텐츠 다운로드(또는 수신)를 위한 통신성능에 대응하는 소정의 인덱스 생성 단위용량 정보를 주기적으로 확인하고, 상기 확인된 통신성능에 대응하는 소정의 인덱스 생성 단위용량 정보를 기반으로 상기 다운로드가 완료되지 않은(또는 수신 중인) 소정의 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보를 주기적으로 생성하여 상기 멀티미디어 컨텐츠를 실시간 재생(또는 스트리밍 방식으로 재생)하는 실시 방법을 도시한 것이다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면6을 참조 및/또는 변형하여 멀티미디어 컨텐츠의 실시간 재생을 위한 상기 실시간 재생 프로그램 기능 구성의 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 실시 방법을 모두 포함하며, 본 도면6에 도시된 실시 방법으로 한정되지 아니한다.
예컨대, 본 도면6에서 소정의 컨텐츠 제공 서버(630)(또는 메신저 단말(635))로부터 다운로드가 완료되지 않은 소정의 멀티미디어 컨텐츠를 다운로드하는 기능 구성부(컨텐츠 수신부(685), 컨텐츠 저장부(690))가 상기 실시간 재생 프로그램 내에 구비되는 것으로 도시하여 설명하지만, 이에 의해 본 발명이 한정되지 아니하며, 상기 멀티미디어 컨텐츠를 다운로드하는 기능은 상기 실시간 재생 프로그램 이외에 다른 응용프로그램(예컨대, 상기 단말장치에 구비된 브라우져 프로그램, 또는 메신저 프로그램 등)에 구비되어도 무방하며, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 실시 방법을 따르는 도면6을 참조하면, 상기 단말장치는 소정의 통신망(예컨대, TCP/IP(Transmission Control Protocol/Internet Protocol) 기반 유선 통신망, 또는HSDPA(High-Speed Downlink Packet Access) 기반 무선 통신망, 또는 IEEE 802.16x 기반 무선 통신망 등)을 통해 소정의 서버(또는 단말)와 통신채널을 연결하는 통신 처리부(620)를 구비하여 이루어지는 것을 특징으로 한다.
상기 통신 처리부(620)는 상기 단말장치가 접속한 소정의 통신망(예컨대, TCP/IP 기반 유선 통신망, HSDPA(High-Speed Downlink Packet Access) 기반 무선 통신망, IEEE 802.16x 기반 무선 통신망 등)을 통해 상기 실시간 재생 프로그램을 저장 및 관리하며, 상기 실시간 재생 프로그램을 상기 단말장치로 전송하는 소정의 프로그램 제공 서버(625)와 통신채널을 연결하는 것을 특징으로 하며, 상기 프로그램 제공 서버(625)에 구비된 소정의 기록매체에 기록되어 있던 상기 실시간 재생 프로그램을 상기 단말장치에 구비된 기록매체로 다운로드하는 것을 특징으로 한다.
또한, 상기 통신 처리부(620)는 상기 단말장치가 접속한 소정의 통신망(예컨대, TCP/IP 기반 유선 통신망, HSDPA(High-Speed Downlink Packet Access) 기반 무선 통신망, IEEE 802.16x 기반 무선 통신망 등)을 통해 소정의 컨텐츠 제공 서버(630)(또는 메신저 단말(635))와 멀티미디어 컨텐츠 다운로드(또는 수신)을 위한 통신채널을 연결하는 것을 특징으로 하며, 상기 컨텐츠 제공 서버(630)(또는 메신저 단말(635))에 구비된 소정의 저장매체에 저장되어 있던 적어도 하나 이상의 멀티미디어 컨텐츠를 다운로드(또는 수신)하는 것을 특징으로 한다.
도면6을 참조하면, 상기 실시간 재생 프로그램이 구비되는 단말장치는, 상기 멀티미디어 컨텐츠의 비디오 데이터를 출력하는 화면 출력부(600)와, 상기 멀티미디어 컨텐츠의 오디오 데이터를 출력하는 사운드 처리부(605)와, 상기 멀티미디어 컨텐츠 재생을 제어하는 각종 키를 입력하는 키 입력부(610)를 구비하여 이루어지는 것을 특징으로 하며, 소정의 컨텐츠 제공 서버(630)(또는 메신저 단말(635))와 상기 멀티미디어 컨텐츠 수신을 위한 통신채널을 연결 및 관리하는 통신 처리부(620)와, 상기 다운로드된 멀티미디어 컨텐츠를 저장하는 메모리부(615)를 구비하여 이루어지는 것을 특징으로 하며, 상기 실시간 재생 프로그램은 상기 기능 구성부와 연동하여 소정의 컨텐츠 제공 서버(630)(또는 메신저 단말(635))로부터 다운로드가 완료되지 않은(또는 수신중인) 소정의 재생 대상 멀티미디어 컨텐츠를 실시간 재생하는 것을 특징으로 한다.
상기 통신 처리부(620)를 통해 다운로드(또는 수신)되는 멀티미디어 컨텐츠의 실시간 재생(또는 스트리밍 방식으로 재생)하기 위해, 상기 화면 출력부(600)는 상기 실시간 재생 프로그램에서 디코딩된 상기 멀티미디어 컨텐츠의 비디오 데이터를 출력하는 화면 출력수단의 기능을 수행하는 것을 특징으로 한다.
상기 통신 처리부(620)를 통해 다운로드(또는 수신)되는 멀티미디어 컨텐츠의 실시간 재생(또는 스트리밍 방식으로 재생)하기 위해, 상기 사운드 처리부(605)는 실시간 재생 프로그램에서 디코딩된 상기 멀티미디어 컨텐츠의 오디오 데이터를 출력하는 사운드 출력수단의 기능을 수행하는 것을 특징으로 한다.
상기 메모리부(615)는 소정의 컨텐츠 제공 서버(630)(또는 메신저 단말(635))로부터 소정의 멀티미디어 컨텐츠가 수신되는 경우, 상기 수신되는 멀티미디어 컨텐츠를 저장하는 것을 특징으로 하며, 상기 멀티미디어 컨텐츠는 소정의 컨텐츠 헤더 정보를 포함하는 헤더부(693)와, 소정의 비디오/오디오 데이터를 포함하는 영상 데이터부(696)와, 상기 멀티미디어 컨텐츠 재생에 필요한 인덱스 정보를 포함하는 인덱스부(699)를 포함하여 이루어지는 것이 바람직하다.
상기 멀티미디어 컨텐츠의 상기 헤더부(693)는 상기 멀티미디어 컨텐츠의 "RIFF"라는 초두 문자 코드(FOURCC : FOUR Character Code) 다음에 위치하는 구조체 정보로서, 소정의 메인 헤더 정보와, 스트림 헤더 정보, 스트림 포맷 정보, 스트림 데이터, 스트림 명칭 등과 같은 적어도 하나 이상의 헤더 정보를 더 포함하여 이루어지는 것이 바람직하다.
상기 영상 데이터부(696)는 소정의 비디오 데이터와 오디오 데이터를 동기화(Interleave)하여 소정의 데이터 단위로 구성된 복수개의 청크(Chunk)로 구성되는 것이 바람직하며, 상기 영상 데이터(예컨대, 동기화된 비디오 데이터와 오디오 데이터)는 상기 청크 단위로 재생되는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 영상 데이터부(696)는 적어도 하나 이상의 데이터 청크를 상기 영상 데이터부(696)('movi') 에 직접 기술하는 경우와, 적어도 하나 이상의 데이터 청크를 소정의 레코드 청크('rec')에 그룹화 하는 경우를 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
상기 인덱스부(699)는 상기 영상 데이터를 상기 청크 단위로 재생하기 위한 청크 식별자와, 플래그 정보와, 청크 오프셋과, 청크 크기를 포함하여 이루어지는 것이 바람직하다.
도면6을 참조하면, 상기 실시간 재생 프로그램은 상기 단말장치에 구비된 운영체제(또는 플랫폼)와 연계하여 상기 실시간 재생 프로그램이 상기 단말장치에 구비된 기록매체를 기반으로 동작하도록 제어하며, 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 실시간 재생 프로그램을 구성하는 적어도 하나 이상의 기능 구성부를 상호 연동하고, 및/또는 상기 기능 구성부들이 상기 단말장치에 구비된 운영체제(또는 플랫폼)를 통해 상기 단말장치에 구비된 적어도 하나 이상의 구성요소와 연동하여 상기 멀티미디어 컨텐츠의 실시간 재생을 위한 기능을 수행하도록 메인프레임부(640)(Mainfrmae)를 구비하여 이루어지는 것을 특징으로 한다.
상기 메인프레임부(640)는 상기 실시간 재생 프로그램이 상기 단말장치에 구비된 운영체제(또는 플랫폼) 상에서 실행되기 위한 프로그램 실행 코드를 포함하여 이루어지는 것을 특징으로 하며, 이에 의해 상기 단말장치에 구비된 후, 소정의 프로그램 실행 명령에 대응하여 상기 단말장치에 구비된 상기 운영체제(또는 플랫폼)를 기반으로 상기 실시간 재생 프로그램이 실행되어 동작하도록 제어하는 것을 특징으로 한다.
또한, 상기 메인프레임부(640)는 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 실시간 재생 프로그램에 구비되는 적어도 하나 이상의 기능 구성부를 상호 연동하도록 제어하는 것을 특징으로 하며, 이에 의해 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 실시간 재생 프로그램을 구성하는 적어도 하나 이상의 기능 구성부는 상기 메인프레임부(640)에 인스턴스를 할당함으로써, 상기 기능 구성부들은 상호 참조 및/또는 연동하게 된다.
또한, 상기 메인프레임부(640)는 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 기능 구성부들이 상기 단말장치에 구비된 적어도 하나 이상의 구성요소(예컨대, 키 입력부(610) 및/또는 화면 출력부(600) 등)에 접근하기 위한 핸들(Handle)(및/또는 인터럽트)을 얻어오는 것을 특징으로 하며, 이에 의해 상기 실시간 재생 프로그램을 구성하는 각각의 기능 구성부들은 상기 단말장치에 구비된 각각의 구성요소에 접근하여 각각의 기능 구성부에 정의된 고유한 기능을 수행하는 것을 특징으로 한다.
또한, 상기 메인프레임부(640)는 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 기능 구성부들이 상기 단말장치에 구비된 적어도 하나 이상의 구성요소(예컨대, 키 입력부(610) 및/또는 화면 출력부(600) 등)에 접근하기 위한 인터럽트를 얻어오거나, 및/또는 상기 단말장치에 구비된 주변장치에 대응하는 입출력 버스에 접근하도록 하는 것을 특징으로 하며, 이에 의해 상기 실시간 재생 프로그램을 구성하는 각각의 기능 구성부들은 상기 단말장치에 구비된 각각의 구성요소에 접근하여 각각의 기능 구성부에 정의된 고유한 기능을 수행하는 것을 특징으로 한다.
도면6을 참조하면, 상기 실시간 재생 프로그램은 상기 통신 처리부(620)와 연계하여 상기 통신망을 통해 소정의 컨텐츠 제공 서버(630)(또는 메신저 단말(635))로부터 소정의 멀티미디어 컨텐츠를 수신하는 컨텐츠 수신부(685)와, 상기 수신된 멀티미디어 컨텐츠를 상기 메모리부(615)에 저장하는 컨텐츠 저장부(690)를 구비하여 이루어지는 것을 특징으로 한다.
상기 컨텐츠 수신부(685)는 상기 통신 처리부(620)와 연계하여 상기 통신망 상에 구비된 소정의 컨텐츠 제공 서버(630)(또는 메신저 단말(635))로부터 소정의 수신 대상 멀티미디어 컨텐츠를 수신하는 것을 특징으로 하며, 상기 컨텐츠 수신부(685)는 상기 멀티미디어 컨텐츠의 헤더부(693)부터 영상 데이터부(696) 및 인덱스부(699)를 순차적으로 수신하는 것을 특징으로 한다.
상기 컨텐츠 저장부(690)는 상기 컨텐츠 수신부(685)가 상기 통신 처리부(620)와 연계하여 상기 컨텐츠 제공 서버(630)(또는 메신저 단말(635))로부터 수신하는 상기 멀티미디어 컨텐츠를 상기 메모리부(615)에 저장하는 것을 특징으로 하며, 상기 컨텐츠 수신부(685)가 상기 멀티미디어 컨텐츠를 헤더부(693)부터 영상 데이터부(696) 및 인덱스부(699)를 순차적으로 수신하는 경우, 상기 컨텐츠 저장부(690) 역시 상기 수신된 멀티미디어 컨텐츠를 상기 헤더부(693)부터 영상 데이터부(696) 및 인덱스부(699) 등으로 순차적으로 저장하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 컨텐츠 수신부(685)와 컨텐츠 저장부(690)는 상기 단말장치에 구비된 소정의 컨텐츠 재생수단(예컨대, 상기 단말장치에 구비된 컨텐츠 재생 프로그램) 내에 포함되어 구비되는 것이 바람직하다.
본 발명의 다른 실시 방법에 따르면, 상기 컨텐츠 수신부(685)는 상기 단말장치에 구비된 소정의 브라우져 통신수단(예컨대, 상기 단말장치에 구비된 브라우져 프로그램, 도시생략)에 구비되거나, 또는 상기 단말장치에 구비된 소정의 메신저 통신수단(예컨대, 상기 단말장치에 구비된 메신저 프로그램, 도시생략)에 구비되는 것이 가능하다.
도면6을 참조하면, 상기 실시간 재생 프로그램은, 상기 메모리부(615)에 저장된(또는 저장되고 있는) 소정의 멀티미디어 컨텐츠 중 재생 대상 멀티미디어 컨텐츠를 확인(또는 선택)하는 컨텐츠 재생부(650)와, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상인지 확인하는 실시간 재생 판단부(645)와, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상으로 판단되면, 상기 통신 처리부(620)(또는 컨텐츠 수신부(685))와 연계하여 상기 재생 대상 멀티미디어 컨텐츠를 다운로드(또는 수신)하는 통신성능을 주기적으로 확인하는 통신성능 확인부(665)와, 상기 확인된 통신성능에 대응하는 소정의 인덱스 생성 단위용량 정보를 주기적으로 확인하는 단위용량 정보 확인부(670)와, 상기 수신되는 멀티미디어 컨텐츠의 저장용량을 반복적으로 확인하는 저장용량 확인부(675)와, 상기 멀티미디어 컨텐츠의 저장용량이 상기 확인된 소정의 인덱스 생성 단위용량 정보에 도달(또는 초과)하는지 주기적으로 확인하는 정보 확인부(680)와, 상기 확인결과 상기 멀티미디어 컨텐츠의 저장용량이 상기 인덱스 생성 단위용량에 도달(또는 초과)하면, 소정의 단위용량 별 인덱스 정보를 생성하기 위해 상기 메모리부(615)에 저장된 멀티미디어 컨텐츠 파일 일부분의 구성 정보를 추출하는 정보 추출부(660)와, 상기 추출된 구성 정보를 기반으로 상기 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보를 생성하는 정보 생성부(655)를 구비하여 이루어지는 것을 특징으로 하며, 상기 컨텐츠 재생부(650)는 상기 단위용량 별 인덱스 정보를 기반으로 상기 멀티미디어 컨텐츠를 재생하는 것을 특징으로 한다.
상기 컨텐츠 재생부(650)는 상기 화면 출력부(600) 및 키 입력부(610)와 연계하여 상기 메모리부(615)에 저장된(또는 저장되고 있는) 적어도 하나 이상의 멀티미디어 컨텐츠 중 재생 대상 멀티미디어 컨텐츠를 확인(또는 선택)하고, 상기 확인(또는 선택)된 소정의 재생 대상 멀티미디어 컨텐츠를 재생하기 위한 소정의 초기화 작업을 수행하는 것을 특징으로 하며, 상기 초기화 작업 중에 상기 실시간 재생 판단부(645)는 상기 재생 대상 멀티미디어 컨텐츠의 파일 정보를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것을 특징으로 한다.
*
본 발명의 일 실시 방법에 따르면, 상기 실시간 재생 판단부(645)는 상기 재생 대상 멀티미디어 컨텐츠의 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(685)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(690)에 의해 저장 중인 멀티미디어 컨텐츠인지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 대한 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)의 판독결과, 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(685)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(690)에 의해 저장 중인 멀티미디어 컨텐츠라면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 실시간 재생 판단부(645)는 상기 재생 대상 멀티미디어 컨텐츠의 헤더부(693)에 포함된 헤더 정보를 기반으로 상기 멀티미디어 컨텐츠 파일에 유효한 인덱스부(699)가 기 포함되어 있는지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 유효한 인덱스부(699)가 포함되어 있지 않았다면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
만약 상기 실시간 재생 판단부(645)의 판단결과, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되지 않는다면, 상기 컨텐츠 재생부(650)는 상기 재생 대상 멀티미디어 컨텐츠를 기 정의된 멀티미디어 컨텐츠 재생 절차에 따라 재생하는 것이 바람직하며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 컨텐츠 재생부(650)가 상기 실시간 재생 대상에 포함되지 않는 멀티미디어 컨텐츠(예컨대, 스트리밍 재생이 가능한 파일 구조를 포함하는 멀티미디어 컨텐츠, 또는 다운로드가 완료된 멀티미디어 컨텐츠)를 재생하는 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
반면 상기 실시간 재생 판단부(645)의 판단결과, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함된다면, 상기 실시간 재생 판단부(645)는 상기 재생 대상 멀티미디어 컨텐츠 정보를 상기 단위용량 정보 확인부(670)와 저장용량 확인부(675)로 제공한다.
상기 통신성능 확인부(665)는 상기 통신 처리부(620)(또는 컨텐츠 수신부(685))와 연계하여 상기 멀티미디어 컨텐츠 다운로드(또는 수신)에 대응하는 통신성능(Bytes/sec)을 주기적으로 확인하는 것을 특징으로 하며, 상기 확인된 통신성능 정보를 상기 단위용량 정보 확인부(670)로 제공한다.
본 발명의 실시 방법에 따르면, 상기 통신성능 확인부(665)는 상기 컨텐츠 재생부(650)에 의해 상기 멀티미디어 컨텐츠가 재생되기 전, 또는 재생개시 시점에 상기 통신성능을 확인하는 것이 바람직하다.
상기 단위용량 정보 확인부(670)는 상기 확인된 통신성능에 대응하는 소정의 인덱스 생성 단위용량 정보를 주기적으로 확인하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 단위용량 정보 확인부(670)는 적어도 하나 이상의 통신성능 정보와 각 통신성능에 대응하는 인덱스 생성 단위용량 정보를 연계하여 포함(예컨대, 프로그램 코드 내에 상수 형태로 포함)하여 이루어지는 것이 바람직하며, 상기 멀티미디어 컨텐츠 다운로드(또는 수신)에 대응하는 통신성능이 확인되면, 상기 단위용량 정보 확인부(670)는 상기 확인된 통신성능에 대응하는 인덱스 생성 단위용량 정보를 확인하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 메모리부(615)에 적어도 하나 이상의 통신성능 정보와 각 통신성능에 대응하는 인덱스 생성 단위용량 정보를 연계하여 저장하는 것이 바람직하며, 상기 멀티미디어 컨텐츠 다운로드(또는 수신)에 대응하는 통신성능이 확인되면, 상기 단위용량 정보 확인부(670)는 상기 메모리부(615)와 연계하여 상기 확인된 통신성능에 대응하는 인덱스 생성 단위용량 정보를 확인하는 것이 바람직하다.
상기 저장용량 확인부(675)는 상기 컨텐츠 수신부(685)를 통해 수신되는 상기 멀티미디어 컨텐츠의 저장용량을 주기적을 확인하거나, 또는 상기 컨텐츠 저장부(690)를 통해 상기 메모리부(615)에 저장되는 상기 멀티미디어 컨텐츠 저장용량을 주기적으로 확인하는 것을 특징으로 한다.
상기 정보 확인부(680)는 상기 확인되는 멀티미디어 컨텐츠 저장용량이 상기 확인된 인덱스 생성 단위용량에 도달(또는 초과)하는지 확인하는 것을 특징으로 하며, 상기 인덱스 생성 단위용량에 도달(또는 초과)하면, 상기 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 정보 확인부(680)는 상기 단위용량 정보 확인부(670)에 의해 i번째 인덱스 생성 단위용량 정보가 확인된 후, 상기 저장용량 확인부(675)를 통해 확인되는 i번째 저장용량이 상기 i번째 인덱스 생성 단위용량에 도달(또는 초과)하는지 확인하고, 상기 i번째 인덱스 생성 단위용량을 도달(또는 초과)하면, 상기 정보 확인부(680)는 상기 멀티미디어 컨텐츠에 대한 i번째 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
또는, 상기 정보 확인부(680)는 상기 비재생 시간(또는 프레임)이 실시간 변동하여 상기 인덱스 생성 단위용량 정보가 실시간 변동되는 경우, 상기 저장용량 확인부(675)를 통해 확인되는 i번째 저장용량이 상기 비재생 시간(또는 프레임) 변동에 의해 확인된 인덱스 생성 단위용량에 도달(또는 초과)하는지 확인하는 것을 특징으로 하며, 상기 변동된 인덱스 생성 단위용량을 도달(또는 초과)하면, 상기 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 정보 확인부(680)는 상기 단위용량 정보 확인부(670)에 의해 i번째 인덱스 생성 단위용량 정보가 확인된 후, 상기 비재생 시간(또는 프레임)이 실시간 변동하여 상기 i번째 인덱스 생성 단위용량 정보가 실시간 변동되는 경우, 상기 저장용량 확인부(675)를 통해 확인되는 i번째 저장용량이 상기 비재생 시간(또는 프레임) 변동에 의해 확인된 i번째 인덱스 생성 단위용량에 도달(또는 초과)하는지 확인하고, 상기 i번째 인덱스 생성 단위용량을 도달(또는 초과)하면, 상기 정보 확인부(680)는 상기 멀티미디어 컨텐츠에 대한 i번째 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
또는, 상기 정보 확인부(680)는 상기 비재생 시간(또는 프레임)이 실시간 변동하여 상기 인덱스 생성 단위용량 정보가 실시간 변동되는 경우, 상기 인덱스 생성 단위용량 정보가 상기 멀티미디어 컨텐츠에 포함된 소정의 데이터 청크 크기보다 작아지는지 확인하는 것을 특징으로 하며, 상기 인덱스 생성 단위용량 정보가 상기 멀티미디어 컨텐츠에 포함된 소정의 데이터 청크 크기보다 작아지면, 상기 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 정보 확인부(680)는 상기 단위용량 정보 확인부(670)에 의해 i번째 인덱스 생성 단위용량 정보가 확인된 후, 상기 비재생 시간(또는 프레임)이 실시간 변동하여 상기 i번째 인덱스 생성 단위용량 정보가 실시간 변동되는 경우, 상기 i번째 인덱스 생성 단위용량 정보가 상기 멀티미디어 컨텐츠에 포함된 소정의 데이터 청크 크기보다 작아지면, 상기 정보 확인부(680)는 i번째 인덱스 생성 단위용량 도달(또는 초과) 여부에 상관없이 상기 멀티미디어 컨텐츠에 대한 i번째 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
또는, 상기 정보 확인부(680)는 상기 멀티미디어 컨텐츠의 현재 재생 프레임에 대응하는 재생시간이 상기 재생 예정시간(또는 프레임수)에 도달(또는 초과)하는 경우, 상기 멀티미디어 컨텐츠에 대한 신규 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 단위용량 정보 확인부(670)에 의해 i번째 인덱스 생성 단위용량 정보가 확인된 후, 상기 비재생 시간(또는 프레임)이 실시간 변동하여 상기 인덱스 생성 단위용량 정보가 실시간 변동하여 상기 멀티미디어 컨텐츠의 현재 재생 프레임에 대응하는 재생시간이 상기 재생 예정시간(또는 프레임수)에 도달(또는 초과)하는 경우, 정보 확인부(680)는 상기 멀티미디어 컨텐츠에 대한 i번째 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
상기 정보 확인부(680)에 의해 상기 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보 생성 조건을 만족하는 것이 확인되면, 상기 정보 추출부(660)는 소정의 단위용량 별 인덱스 정보를 생성하기 위해 상기 메모리부(615)에 저장된 멀티미디어 컨텐츠 파일 일부분의 구성 정보를 추출하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 정보 추출부(660)는 상기 멀티미디어 컨텐츠의 헤더부(693)를 판독하여 상기 멀티미디어 컨텐츠에 대한 헤더 정보를 추출하고, 상기 헤더 정보를 기반으로 상기 데이터 청크의 초두 문자 코드와 데이터 청크의 크기를 기반으로 영상 데이터부(696)에 포함된 적어도 하나 이상의 데이터 청크에 대한 포맷, 위치 및 크기 등을 적어도 하나 이상 포함하는 데이터 청크 정보를 추출하는 것이 바람직하다.
예컨대, 상기 정보 추출부(660)는 제1 데이터 청크의 초두 문자 코드(예컨대, 00db, 또는 00dc, 또는 00pc, 또는 00wb)를 포함하는 제1 데이터 청크의 크기 및 실제 스트림 데이터를 확인하고, 상기 제1 데이터 청크 이후의 제2 데이터 청크 초두 문자 코드(예컨대, 01db, 또는 01dc, 또는 01pc, 또는 01wb)를 확인하는데, 상기 제2 데이터 청크의 초두 문자 코드는 상기 제1 데이터 청크의 실제 스트림 데이터 다음에 위치할 것이다.
만약 상기 정보 추출부(660)가 제n(n>1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인한 후, 상기 제n 데이터 청크의 실제 스트림 데이터 다음에 제(n+1) 데이터 청크의 초두 문자 코드가 확인되지 않는다면, 상기 제n 데이터 청크는 손상된 것으로 간주되면, 이 경우 상기 정보 추출부(660)는 상기 제n 데이터 청크의 실제 스트림 데이터를 1바이트 단위로 쉬프트(Shift)하면서 제(n+1) 데이터 청크의 초두 문자 코드를 검색한 후, 상기 제(n+1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인하는 것이 바람직하며, 이에 의해 손상된 데이터 청크가 탐지될 수 있다.
상기 영상 데이터부(696)에 포함된 적어도 하나 이상의 데이터 청크에 대한 포맷, 위치 및 크기 등을 적어도 하나 이상 포함하는 포함하는 데이터 청크 정보가 추출되면, 상기 정보 생성부(655)는 상기 데이터 청크 정보를 기반으로 상기 멀티미디어 컨텐츠를 재생하기 위한 소정의 단위용량 별 인덱스 정보를 생성하는 것을 특징으로 하며, 여기서 상기 단위용량 별 인덱스 정보는 AVIINDEXENTRY 구조체 형태로 생성되는 것이 바람직하다.
이후, 상기 컨텐츠 재생부(650)는 상기 정보 생성부(655)에 의해 생성된 상기 단위용량 별 인덱스 정보를 기반으로 상기 재생 대상 멀티미디어 컨텐츠를 재생하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 통신성능 확인부(665)가 상기 통신 처리부(620)(또는 컨텐츠 수신부(685))와 연계하여 상기 멀티미디어 컨텐츠의 통신성능 정보를 확인하고, 상기 단위용량 확인부가 상기 확인된 통신성능에 대응하는 인덱스 생성 단위용량을 확인하고, 상기 저장용량 확인부(675)가 상기 컨텐츠 수신부(685)(또는 컨텐츠 저장부(690))와 연계하여 상기 수신되는 멀티미디어 컨텐츠의 저장용량을 반복적으로 확인하고, 상기 정보 확인부(680)가 상기 멀티미디어 컨텐츠의 저장용량이 상기 확인된 인덱스 생성 단위용량 정보에 도달(또는 초과)하는지 확인하고, 상기 정보 추출부(660)가 상기 메모리부(615)에 저장된 멀티미디어 컨텐츠 파일 일부분의 구성 정보를 추출하고, 상기 정보 생성부(655)가 상기 추출된 구성 정보를 기반으로 상기 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보를 생성하는 과정은, 상기 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(685)를 통해 모두 수신되어 상기 컨텐츠 저장부(690)를 통해 수신된 멀티미디어 컨텐츠가 모두 상기 메모리부(615)에 저장될 때까지 반복되는 것이 바람직하다.
상기 컨텐츠 수신부(685)와 컨텐츠 저장부(690)를 통해 상기 멀티미디어 컨텐츠가 모두 수신/저장되면, 상기 정보 생성부(655)는 상기 멀티미디어 컨텐츠에 대한 최종 인덱스 정보를 생성하는 것을 특징으로 하며, 상기 컨텐츠 재생부(650)는 상기 최종 인덱스 정보를 기반으로 상기 멀티미디어 컨텐츠를 재생하는 것을 특징으로 한다.
도면7은 본 발명의 제 삼 실시 방법에 따라 멀티미디어 컨텐츠의 실시간 재생 도시한 도면이다.
보다 상세하게 본 도면7은 상기 도면6에 도시된 단말장치에 구비된 실시간 재생 프로그램이 상기 도면1에 도시된 컨텐츠 구조를 포함하여 이루어진 멀티미디어 컨텐츠를 재생하는 경우, 상기 멀티미디어 컨텐츠를 실시간 재생(또는 스트리밍 방식으로 재생)하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면7을 참조 및/또는 변형하여 상기 멀티미디어 컨텐츠의 실시간 재생(또는 스트리밍 방식으로 재생)하는 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면7에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
이하, 본 도면7에서 상기 실시간 재생 프로그램을 구비하여 도면6에 도시된 단말장치를 편의상 "단말"이라고 한다.
도면7을 참조하면, 상기 단말에서 소정의 컨텐츠 제공 서버(630)(또는 메신저 단말(635))에 구비된 적어도 하나 이상의 멀티미디어 컨텐츠 중 상기 단말로 제공하여 재생하고자 하는 소정의 재생 대상 멀티미디어 컨텐츠를 선택하고(700), 상기 도면6에 도시된 실시간 재생 프로그램을 실행하여 컨텐츠 제공 서버(630)(또는 메신저 단말(635))에서 제공하는 상기 재생 대상 멀티미디어 컨텐츠를 수신하는데(705), 만약 상기 재생 대상 멀티미디어 컨텐츠의 헤더부(693) 이상이 수신되면(710), 상기 재생 대상 멀티미디어 컨텐츠의 헤더 정보를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인한다(715).
본 발명의 일 실시 방법에 따르면, 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠의 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(685)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(690)에 의해 저장 중인 멀티미디어 컨텐츠인지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 대한 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)의 판독결과, 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(685)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(690)에 의해 저장 중인 멀티미디어 컨텐츠라면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠의 헤더부(693)에 포함된 헤더 정보를 기반으로 상기 멀티미디어 컨텐츠 파일에 유효한 인덱스부(699)가 기 포함되어 있는지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 유효한 인덱스부(699)가 포함되어 있지 않았다면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되지 않는다면(720), 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠를 기 정의된 멀티미디어 컨텐츠 재생 절차에 따라 재생한다(725).
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 단말이 상기 실시간 재생 대상에 포함되지 않는 멀티미디어 컨텐츠(예컨대, 스트리밍 재생이 가능한 파일 구조를 포함하는 멀티미디어 컨텐츠, 또는 다운로드가 완료된 멀티미디어 컨텐츠)를 재생하는 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
반면 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함된다면(720), 상기 단말은 상기 수신 중인 멀티미디어 컨텐츠에 대한 제1(i=1) 통신성능 정보를 확인한다(730).
만약 상기 제1(i=1) 통신성능 정보가 확인되면(735), 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠에 대한 제1(i=1) 통신성능 정보를 기반으로 제1(i=1) 인덱스 생성 단위용량 정보를 확인한다(740).
만약 상기 제1(i=1) 인덱스 생성 단위용량 정보가 확인되면(745), 상기 단말은 상기 컨텐츠 제공 서버(630)(또는 메신저 단말(635))로부터 수신되는 상기 재생 대상 멀티미디어 컨텐츠에 대한 제1(i=1) 멀티미디어 컨텐츠 저장용량이 상기 제1(i=1) 인덱스 생성 단위용량에 도달(또는 초과)하는지 확인함으로써, 상기 제1(i=1) 단위용량 별 인덱스 정보 생성 조건을 만족하는지 확인한다(750).
만약 상기 제1(i=1) 단위용량 별 인덱스 정보 생성 조건을 만족하는 것이 확인되면(755), 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠에 대한 헤더 정보와 데이터 청크 정보를 추출한다(760).
본 발명의 실시 방법에 따르면, 상기 단말은 상기 멀티미디어 컨텐츠의 헤더부(693)를 판독하여 상기 멀티미디어 컨텐츠에 대한 헤더 정보를 추출하고, 상기 헤더 정보를 기반으로 상기 데이터 청크의 초두 문자 코드와 데이터 청크의 크기를 기반으로 영상 데이터부(696)에 포함된 적어도 하나 이상의 데이터 청크에 대한 포맷, 위치 및 크기 등을 적어도 하나 이상 포함하는 데이터 청크 정보를 추출하는 것이 바람직하다.
예컨대, 상기 단말은 제1 데이터 청크의 초두 문자 코드(예컨대, 00db, 또는 00dc, 또는 00pc, 또는 00wb)를 포함하는 제1 데이터 청크의 크기 및 실제 스트림 데이터를 확인하고, 상기 제1 데이터 청크 이후의 제2 데이터 청크 초두 문자 코드(예컨대, 01db, 또는 01dc, 또는 01pc, 또는 01wb)를 확인하는데, 상기 제2 데이터 청크의 초두 문자 코드는 상기 제1 데이터 청크의 실제 스트림 데이터 다음에 위치할 것이다.
만약 상기 단말이 제n(n>1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인한 후, 상기 제n 데이터 청크의 실제 스트림 데이터 다음에 제(n+1) 데이터 청크의 초두 문자 코드가 확인되지 않는다면, 상기 제n 데이터 청크는 손상된 것으로 간주되면, 이 경우 상기 단말은 상기 제n 데이터 청크의 실제 스트림 데이터를 1바이트 단위로 쉬프트(Shift)하면서 제(n+1) 데이터 청크의 초두 문자 코드를 검색한 후, 상기 제(n+1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인하는 것이 바람직하며, 이에 의해 손상된 데이터 청크가 탐지될 수 있다.
이후, 상기 단말은 상기 추출된 헤더 정보와 데이터 청크 정보를 기반으로 상기 수신된 멀티미디어 컨텐츠를 재생하기 위한 제1(i=1) 단위용량 별 인덱스 정보를 생성하고(765), 상기 생성된 제1(i=1) 단위용량 별 인덱스 정보를 기반으로 상기 제1(i=1) 멀티미디어 컨텐츠 재생 영역을 디코딩하여 재생하고(770), 상기 재생 중인 멀티미디어 컨텐츠가 모두 수신되었는지 확인한다(775).
만약 상기 멀티미디어 컨텐츠가 모두 수신되지 않았다면(780), 상기 단말은 상기 수신 중인 멀티미디어 컨텐츠에 대한 제2(i=i+1) 통신성능 정보를 확인하고(785), 상기 확인된 통신성능 정보를 기반으로 소정의 인덱스 생성 단위용량 정보를 확인하고, 상기 인덱스 생성 단위용량 정보를 기반으로 상기 단위용량 별 인덱스 정보 생성 조건을 확인하고, 상기 확인결과에 따라 상기 단위용량 별 인덱스 정보를 생성하여 상기 멀티미디어 컨텐츠를 재생하는 과정을 반복한다.
반면 상기 멀티미디어 컨텐츠가 모두 수신되었다면(780), 상기 단말은 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠에 대한 최종 인덱스 정보를 생성하고(790), 상기 생성된 최종 인덱스 정보를 통해 상기 멀티미디어 컨텐츠를 디코딩하여 재생한다(795).
도면8은 본 발명의 제 사 실시 방법에 따라 멀티미디어 컨텐츠의 실시간 재생을 위해 단말장치에 구비된 기록매체에 기록된 실시간 재생 프로그램 기능 구성을 도시한 도면이다.
보다 상세하게 본 도면8은 소정의 컨텐츠 제공 서버(830)(또는 메신저 단말(835))로부터 다운로드가 완료되지 않은(또는 수신 중인) 소정의 멀티미디어 컨텐츠(예컨대, 스트리밍 재생이 가능한 파일 구조를 포함하지 않는 멀티미디어 컨텐츠)를 실시간 재생(또는 스트리밍 방식으로 재생)하기 위해 소정의 단말장치(예컨대, 데스크탑 컴퓨터, 노트북, 이동통신단말, 휴대인터넷 단말, 무선랜 단말, 양방향 디지털 TV, IPTV 등)에 구비되는 실시간 재생 프로그램의 바람직한 기능 구성에 대한 것으로서, 구체적으로 상기 실시간 재생 프로그램에서 다운로드(또는 수신) 중인 소정의 멀티미디어 컨텐츠 재생시, 상기 프로그램에서 다운로드(또는 수신) 중인 소정의 멀티미디어 컨텐츠에 대한 통신성능을 주기적으로 확인하고, 상기 확인된 통신성능에 대응하는 소정의 인덱스 생성 단위용량 정보를 주기적으로 확인하고, 상기 확인된 통신성능에 대응하는 소정의 인덱스 생성 단위용량 정보를 기반으로 상기 다운로드가 완료되지 않은(또는 수신 중인) 소정의 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보를 주기적으로 생성하여 상기 멀티미디어 컨텐츠를 실시간 재생(또는 스트리밍 방식으로 재생)하는 실시 방법을 도시한 것이다.
예컨대, 본 도면8에서 소정의 컨텐츠 제공 서버(830)(또는 메신저 단말(835))로부터 다운로드가 완료되지 않은 소정의 멀티미디어 컨텐츠를 다운로드하는 기능이 상기 실시간 재생 프로그램 내에 구비되는 것으로 도시하여 설명하지만, 이에 의해 본 발명이 한정되지 아니하며, 상기 멀티미디어 컨텐츠를 다운로드하는 기능은 상기 실시간 재생 프로그램 이외에 다른 응용프로그램(예컨대, 상기 단말장치에 구비된 브라우져 프로그램, 또는 메신저 프로그램 등)에 구비되어도 무방하며, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 실시 방법을 따르는 도면8을 참조하면, 상기 단말장치는 소정의 통신망(예컨대, TCP/IP(Transmission Control Protocol/Internet Protocol) 기반 유선 통신망, 또는HSDPA(High-Speed Downlink Packet Access) 기반 무선 통신망, 또는 IEEE 802.16x 기반 무선 통신망 등)을 통해 소정의 서버(또는 단말)와 통신채널을 연결하는 통신 처리부(820)를 구비하여 이루어지는 것을 특징으로 한다.
상기 통신 처리부(820)는 상기 단말장치가 접속한 소정의 통신망(예컨대, TCP/IP 기반 유선 통신망, HSDPA(High-Speed Downlink Packet Access) 기반 무선 통신망, IEEE 802.16x 기반 무선 통신망 등)을 통해 상기 실시간 재생 프로그램을 저장 및 관리하며, 상기 실시간 재생 프로그램을 상기 단말장치로 전송하는 소정의 프로그램 제공 서버(825)와 통신채널을 연결하는 것을 특징으로 하며, 상기 프로그램 제공 서버(825)에 구비된 소정의 기록매체에 기록되어 있던 상기 실시간 재생 프로그램을 상기 단말장치에 구비된 기록매체로 다운로드하는 것을 특징으로 한다.
또한, 상기 통신 처리부(820)는 상기 단말장치가 접속한 소정의 통신망(예컨대, TCP/IP 기반 유선 통신망, HSDPA(High-Speed Downlink Packet Access) 기반 무선 통신망, IEEE 802.16x 기반 무선 통신망 등)을 통해 소정의 컨텐츠 제공 서버(830)(또는 메신저 단말(835))와 멀티미디어 컨텐츠 다운로드(또는 수신)을 위한 통신채널을 연결하는 것을 특징으로 하며, 상기 컨텐츠 제공 서버(830)(또는 메신저 단말(835))에 구비된 소정의 저장매체에 저장되어 있던 적어도 하나 이상의 멀티미디어 컨텐츠를 다운로드(또는 수신)하는 것을 특징으로 한다.
도면8을 참조하면, 상기 실시간 재생 프로그램이 구비되는 단말장치는, 상기 멀티미디어 컨텐츠의 비디오 데이터를 출력하는 화면 출력부(800)와, 상기 멀티미디어 컨텐츠의 오디오 데이터를 출력하는 사운드 처리부(805)와, 상기 멀티미디어 컨텐츠 재생을 제어하는 각종 키를 입력하는 키 입력부(810)를 구비하여 이루어지는 것을 특징으로 하며, 소정의 컨텐츠 제공 서버(830)(또는 메신저 단말(835))와 상기 멀티미디어 컨텐츠 수신을 위한 통신채널을 연결 및 관리하는 통신 처리부(820)와, 상기 다운로드된 멀티미디어 컨텐츠를 저장하는 메모리부(815)를 구비하여 이루어지는 것을 특징으로 하며, 상기 실시간 재생 프로그램은 상기 기능 구성부와 연동하여 소정의 컨텐츠 제공 서버(830)(또는 메신저 단말(835))로부터 다운로드가 완료되지 않은(또는 수신중인) 소정의 재생 대상 멀티미디어 컨텐츠를 실시간 재생하는 것을 특징으로 한다.
상기 통신 처리부(820)를 통해 다운로드(또는 수신)되는 멀티미디어 컨텐츠의 실시간 재생(또는 스트리밍 방식으로 재생)하기 위해, 상기 화면 출력부(800)는 상기 실시간 재생 프로그램에서 디코딩된 상기 멀티미디어 컨텐츠의 비디오 데이터를 출력하는 화면 출력수단의 기능을 수행하는 것을 특징으로 한다.
상기 통신 처리부(820)를 통해 다운로드(또는 수신)되는 멀티미디어 컨텐츠의 실시간 재생(또는 스트리밍 방식으로 재생)하기 위해, 상기 사운드 처리부(805)는 실시간 재생 프로그램에서 디코딩된 상기 멀티미디어 컨텐츠의 오디오 데이터를 출력하는 사운드 출력수단의 기능을 수행하는 것을 특징으로 한다.
상기 메모리부(815)는 소정의 컨텐츠 제공 서버(830)(또는 메신저 단말(835))로부터 소정의 멀티미디어 컨텐츠가 수신되는 경우, 상기 수신되는 멀티미디어 컨텐츠를 저장하는 것을 특징으로 하며, 상기 멀티미디어 컨텐츠는 소정의 컨텐츠 헤더 정보를 포함하는 헤더부(893)와, 소정의 비디오/오디오 데이터를 포함하는 영상 데이터부(896)와, 상기 멀티미디어 컨텐츠 재생에 필요한 인덱스 정보를 포함하는 인덱스부(899)를 포함하여 이루어지는 것이 바람직하다.
상기 멀티미디어 컨텐츠의 상기 헤더부(893)는 상기 멀티미디어 컨텐츠의 "RIFF"라는 초두 문자 코드(FOURCC : FOUR Character Code) 다음에 위치하는 구조체 정보로서, 소정의 메인 헤더 정보와, 스트림 헤더 정보, 스트림 포맷 정보, 스트림 데이터, 스트림 명칭 등과 같은 적어도 하나 이상의 헤더 정보를 더 포함하여 이루어지는 것이 바람직하다.
상기 영상 데이터부(896)는 소정의 비디오 데이터와 오디오 데이터를 동기화(Interleave)하여 소정의 데이터 단위로 구성된 복수개의 청크(Chunk)로 구성되는 것이 바람직하며, 상기 영상 데이터(예컨대, 동기화된 비디오 데이터와 오디오 데이터)는 상기 청크 단위로 재생되는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 영상 데이터부(896)는 적어도 하나 이상의 데이터 청크를 상기 영상 데이터부(896)('movi') 에 직접 기술하는 경우와, 적어도 하나 이상의 데이터 청크를 소정의 레코드 청크('rec')에 그룹화 하는 경우를 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
상기 인덱스부(899)는 상기 영상 데이터를 상기 청크 단위로 재생하기 위한 청크 식별자와, 플래그 정보와, 청크 오프셋과, 청크 크기를 포함하여 이루어지는 것이 바람직하다.
도면8을 참조하면, 상기 실시간 재생 프로그램은 상기 단말장치에 구비된 운영체제(또는 플랫폼)와 연계하여 상기 실시간 재생 프로그램이 상기 단말장치에 구비된 기록매체를 기반으로 동작하도록 제어하며, 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 실시간 재생 프로그램을 구성하는 적어도 하나 이상의 기능 구성부를 상호 연동하고, 및/또는 상기 기능 구성부들이 상기 단말장치에 구비된 운영체제(또는 플랫폼)를 통해 상기 단말장치에 구비된 적어도 하나 이상의 구성요소와 연동하여 상기 멀티미디어 컨텐츠의 실시간 재생을 위한 기능을 수행하도록 메인프레임부(840)(Mainfrmae)를 구비하여 이루어지는 것을 특징으로 한다.
상기 메인프레임부(840)는 상기 실시간 재생 프로그램이 상기 단말장치에 구비된 운영체제(또는 플랫폼) 상에서 실행되기 위한 프로그램 실행 코드를 포함하여 이루어지는 것을 특징으로 하며, 이에 의해 상기 단말장치에 구비된 후, 소정의 프로그램 실행 명령에 대응하여 상기 단말장치에 구비된 상기 운영체제(또는 플랫폼)를 기반으로 상기 실시간 재생 프로그램이 실행되어 동작하도록 제어하는 것을 특징으로 한다.
또한, 상기 메인프레임부(840)는 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 실시간 재생 프로그램에 구비되는 적어도 하나 이상의 기능 구성부를 상호 연동하도록 제어하는 것을 특징으로 하며, 이에 의해 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 실시간 재생 프로그램을 구성하는 적어도 하나 이상의 기능 구성부는 상기 메인프레임부(840)에 인스턴스를 할당함으로써, 상기 기능 구성부들은 상호 참조 및/또는 연동하게 된다.
또한, 상기 메인프레임부(840)는 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 기능 구성부들이 상기 단말장치에 구비된 적어도 하나 이상의 구성요소(예컨대, 키 입력부(810) 및/또는 화면 출력부(800) 등)에 접근하기 위한 핸들(Handle)(및/또는 인터럽트)을 얻어오는 것을 특징으로 하며, 이에 의해 상기 실시간 재생 프로그램을 구성하는 각각의 기능 구성부들은 상기 단말장치에 구비된 각각의 구성요소에 접근하여 각각의 기능 구성부에 정의된 고유한 기능을 수행하는 것을 특징으로 한다.
또한, 상기 메인프레임부(840)는 상기 멀티미디어 컨텐츠의 실시간 재생을 위해 상기 기능 구성부들이 상기 단말장치에 구비된 적어도 하나 이상의 구성요소(예컨대, 키 입력부(810) 및/또는 화면 출력부(800) 등)에 접근하기 위한 인터럽트를 얻어오거나, 및/또는 상기 단말장치에 구비된 주변장치에 대응하는 입출력 버스에 접근하도록 하는 것을 특징으로 하며, 이에 의해 상기 실시간 재생 프로그램을 구성하는 각각의 기능 구성부들은 상기 단말장치에 구비된 각각의 구성요소에 접근하여 각각의 기능 구성부에 정의된 고유한 기능을 수행하는 것을 특징으로 한다.
도면8을 참조하면, 상기 실시간 재생 프로그램은 상기 통신 처리부(820)와 연계하여 상기 통신망을 통해 소정의 컨텐츠 제공 서버(830)(또는 메신저 단말(835))로부터 소정의 멀티미디어 컨텐츠를 수신하는 컨텐츠 수신부(885)와, 상기 수신된 멀티미디어 컨텐츠를 상기 메모리부(815)에 저장하는 컨텐츠 저장부(890)를 구비하여 이루어지는 것을 특징으로 한다.
상기 컨텐츠 수신부(885)는 상기 통신 처리부(820)와 연계하여 상기 통신망 상에 구비된 소정의 컨텐츠 제공 서버(830)(또는 메신저 단말(835))로부터 소정의 수신 대상 멀티미디어 컨텐츠를 수신하는 것을 특징으로 하며, 상기 컨텐츠 수신부(885)는 상기 멀티미디어 컨텐츠의 헤더부(893)부터 영상 데이터부(896) 및 인덱스부(899)를 순차적으로 수신하는 것을 특징으로 한다.
상기 컨텐츠 저장부(890)는 상기 컨텐츠 수신부(885)가 상기 통신 처리부(820)와 연계하여 상기 컨텐츠 제공 서버(830)(또는 메신저 단말(835))로부터 수신하는 상기 멀티미디어 컨텐츠를 상기 메모리부(815)에 저장하는 것을 특징으로 하며, 상기 컨텐츠 수신부(885)가 상기 멀티미디어 컨텐츠를 헤더부(893)부터 영상 데이터부(896) 및 인덱스부(899)를 순차적으로 수신하는 경우, 상기 컨텐츠 저장부(890) 역시 상기 수신된 멀티미디어 컨텐츠를 상기 헤더부(893)부터 영상 데이터부(896) 및 인덱스부(899) 등으로 순차적으로 저장하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 컨텐츠 수신부(885)와 컨텐츠 저장부(890)는 상기 단말장치에 구비된 소정의 컨텐츠 재생수단(예컨대, 상기 단말장치에 구비된 컨텐츠 재생 프로그램) 내에 포함되어 구비되는 것이 바람직하다.
본 발명의 다른 실시 방법에 따르면, 상기 컨텐츠 수신부(885)는 상기 단말장치에 구비된 소정의 브라우져 통신수단(예컨대, 상기 단말장치에 구비된 브라우져 프로그램, 도시생략)에 구비되거나, 또는 상기 단말장치에 구비된 소정의 메신저 통신수단(예컨대, 상기 단말장치에 구비된 메신저 프로그램, 도시생략)에 구비되는 것이 가능하며, 이 경우 상기 컨텐츠 수신부(885)는 상기 단말장치에 구비된 소정의 단위용량 정보 확인부(870)와 연동하도록 구비되는 것이 바람직하다.
도면8을 참조하면, 상기 실시간 재생 프로그램은, 상기 메모리부(815)에 저장된(또는 저장되고 있는) 소정의 멀티미디어 컨텐츠를 재생하는 컨텐츠 재생부(850)와, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상인지 확인하는 실시간 재생 판단부(845)와, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상으로 판단되면, 현재까지 상기 메모리부(815)에 저장된 멀티미디어 컨텐츠 파일 일부분의 구성 정보를 추출하는 정보 추출부(860)와, 상기 추출된 구성 정보를 기반으로 상기 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보를 생성하는 정보 생성부(855)를 구비하여 이루어지는 것을 특징으로 하며, 상기 컨텐츠 재생부(850)는 상기 단위용량 별 인덱스 정보를 기반으로 상기 멀티미디어 컨텐츠를 재생하는 것을 특징으로 한다.
상기 컨텐츠 재생부(850)는 상기 화면 출력부(800) 및 키 입력부(810)와 연계하여 상기 메모리부(815)에 저장된(또는 저장되고 있는) 적어도 하나 이상의 멀티미디어 컨텐츠 중 재생 대상 멀티미디어 컨텐츠를 확인(또는 선택)하고, 상기 확인(또는 선택)된 소정의 재생 대상 멀티미디어 컨텐츠를 재생하기 위한 소정의 초기화 작업을 수행하는 것을 특징으로 하며, 상기 초기화 작업 중에 상기 실시간 재생 판단부(845)는 상기 재생 대상 멀티미디어 컨텐츠의 파일 정보를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것을 특징으로 한다.
*
본 발명의 일 실시 방법에 따르면, 상기 실시간 재생 판단부(845)는 상기 재생 대상 멀티미디어 컨텐츠의 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(885)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(890)에 의해 저장 중인 멀티미디어 컨텐츠인지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 대한 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)의 판독결과, 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(885)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(890)에 의해 저장 중인 멀티미디어 컨텐츠라면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 실시간 재생 판단부(845)는 상기 재생 대상 멀티미디어 컨텐츠의 헤더부(893)에 포함된 헤더 정보를 기반으로 상기 멀티미디어 컨텐츠 파일에 유효한 인덱스부(899)가 기 포함되어 있는지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 유효한 인덱스부(899)가 포함되어 있지 않았다면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
만약 상기 실시간 재생 판단부(845)의 판단결과, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되지 않는다면, 상기 컨텐츠 재생부(850)는 상기 재생 대상 멀티미디어 컨텐츠를 기 정의된 멀티미디어 컨텐츠 재생 절차에 따라 재생하는 것이 바람직하며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 컨텐츠 재생부(850)가 상기 실시간 재생 대상에 포함되지 않는 멀티미디어 컨텐츠(예컨대, 스트리밍 재생이 가능한 파일 구조를 포함하는 멀티미디어 컨텐츠, 또는 다운로드가 완료된 멀티미디어 컨텐츠)를 재생하는 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
반면 상기 실시간 재생 판단부(845)의 판단결과, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함된다면, 상기 실시간 재생 판단부(845)는 상기 재생 대상 멀티미디어 컨텐츠 정보를 상기 정보 추출부(860)와 단위용량 정보 확인부(870)로 제공한다.
상기 정보 추출부(860)는 소정의 단위용량 별 인덱스 정보를 생성하기 위해 상기 메모리부(815)에 저장된 멀티미디어 컨텐츠 파일 일부분의 구성 정보를 추출하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 정보 추출부(860)는 상기 멀티미디어 컨텐츠의 헤더부(893)를 판독하여 상기 멀티미디어 컨텐츠에 대한 헤더 정보를 추출하고, 상기 헤더 정보를 기반으로 상기 데이터 청크의 초두 문자 코드와 데이터 청크의 크기를 기반으로 영상 데이터부(896)에 포함된 적어도 하나 이상의 데이터 청크에 대한 포맷, 위치 및 크기 등을 적어도 하나 이상 포함하는 데이터 청크 정보를 추출하는 것이 바람직하다.
예컨대, 상기 정보 추출부(860)는 제1 데이터 청크의 초두 문자 코드(예컨대, 00db, 또는 00dc, 또는 00pc, 또는 00wb)를 포함하는 제1 데이터 청크의 크기 및 실제 스트림 데이터를 확인하고, 상기 제1 데이터 청크 이후의 제2 데이터 청크 초두 문자 코드(예컨대, 01db, 또는 01dc, 또는 01pc, 또는 01wb)를 확인하는데, 상기 제2 데이터 청크의 초두 문자 코드는 상기 제1 데이터 청크의 실제 스트림 데이터 다음에 위치할 것이다.
만약 상기 정보 추출부(860)가 제n(n>1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인한 후, 상기 제n 데이터 청크의 실제 스트림 데이터 다음에 제(n+1) 데이터 청크의 초두 문자 코드가 확인되지 않는다면, 상기 제n 데이터 청크는 손상된 것으로 간주되면, 이 경우 상기 정보 추출부(860)는 상기 제n 데이터 청크의 실제 스트림 데이터를 1바이트 단위로 쉬프트(Shift)하면서 제(n+1) 데이터 청크의 초두 문자 코드를 검색한 후, 상기 제(n+1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인하는 것이 바람직하며, 이에 의해 손상된 데이터 청크가 탐지될 수 있다.
상기 영상 데이터부(896)에 포함된 적어도 하나 이상의 데이터 청크에 대한 포맷, 위치 및 크기 등을 적어도 하나 이상 포함하는 포함하는 데이터 청크 정보가 추출되면, 상기 정보 생성부(855)는 상기 데이터 청크 정보를 기반으로 상기 멀티미디어 컨텐츠를 재생하기 위한 소정의 단위용량 별 인덱스 정보를 생성하는 것을 특징으로 하며, 여기서 상기 단위용량 별 인덱스 정보는 AVIINDEXENTRY 구조체 형태로 생성되는 것이 바람직하다.
이후, 상기 컨텐츠 재생부(850)는 상기 정보 생성부(855)에 의해 생성된 상기 단위용량 별 인덱스 정보를 기반으로 상기 재생 대상 멀티미디어 컨텐츠를 재생하는 것을 특징으로 한다.
도면8을 참조하면, 상기 실시간 재생 프로그램은, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상으로 판단되면, 상기 통신 처리부(820)(또는 컨텐츠 수신부(885))와 연계하여 상기 재생 대상 멀티미디어 컨텐츠를 다운로드(또는 수신)하는 통신성능을 주기적으로 확인하는 통신성능 확인부와, 상기 확인된 통신성능에 대응하는 소정의 인덱스 생성 단위용량 정보를 주기적으로 확인하는 단위용량 정보 확인부(870)와, 상기 수신되는 멀티미디어 컨텐츠의 저장용량을 반복적으로 확인하는 저장용량 확인부와, 상기 멀티미디어 컨텐츠의 저장용량이 상기 확인된 소정의 인덱스 생성 단위용량 정보에 도달(또는 초과)하는지 주기적으로 확인하는 정보 확인부(880)와, 상기 확인결과 상기 멀티미디어 컨텐츠의 저장용량이 상기 인덱스 생성 단위용량에 도달(또는 초과)하면, 소정의 단위용량 별 인덱스 정보를 생성하기 위해 상기 메모리부(815)에 저장된 멀티미디어 컨텐츠 파일 일부분의 구성 정보를 추출하는 정보 추출부(860)와, 상기 추출된 구성 정보를 기반으로 상기 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보를 생성하는 정보 생성부(855)를 구비하여 이루어지는 것을 특징으로 하며, 상기 컨텐츠 재생부(850)는 상기 단위용량 별 인덱스 정보를 기반으로 상기 멀티미디어 컨텐츠를 재생하는 것을 특징으로 한다.
*
상기 컨텐츠 재생부(850)는 상기 화면 출력부(800) 및 키 입력부(810)와 연계하여 상기 메모리부(815)에 저장된(또는 저장되고 있는) 적어도 하나 이상의 멀티미디어 컨텐츠 중 재생 대상 멀티미디어 컨텐츠를 확인(또는 선택)하고, 상기 확인(또는 선택)된 소정의 재생 대상 멀티미디어 컨텐츠를 재생하기 위한 소정의 초기화 작업을 수행하는 것을 특징으로 하며, 상기 초기화 작업 중에 상기 실시간 재생 판단부(845)는 상기 재생 대상 멀티미디어 컨텐츠의 파일 정보를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 실시간 재생 판단부(845)는 상기 재생 대상 멀티미디어 컨텐츠의 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(885)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(890)에 의해 저장 중인 멀티미디어 컨텐츠인지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 대한 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)의 판독결과, 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(885)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(890)에 의해 저장 중인 멀티미디어 컨텐츠라면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 실시간 재생 판단부(845)는 상기 재생 대상 멀티미디어 컨텐츠의 헤더부(893)에 포함된 헤더 정보를 기반으로 상기 멀티미디어 컨텐츠 파일에 유효한 인덱스부(899)가 기 포함되어 있는지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 유효한 인덱스부(899)가 포함되어 있지 않았다면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
만약 상기 실시간 재생 판단부(845)의 판단결과, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되지 않는다면, 상기 컨텐츠 재생부(850)는 상기 재생 대상 멀티미디어 컨텐츠를 기 정의된 멀티미디어 컨텐츠 재생 절차에 따라 재생하는 것이 바람직하며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 컨텐츠 재생부(850)가 상기 실시간 재생 대상에 포함되지 않는 멀티미디어 컨텐츠(예컨대, 스트리밍 재생이 가능한 파일 구조를 포함하는 멀티미디어 컨텐츠, 또는 다운로드가 완료된 멀티미디어 컨텐츠)를 재생하는 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
반면 상기 실시간 재생 판단부(845)의 판단결과, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함된다면, 상기 실시간 재생 판단부(845)는 상기 재생 대상 멀티미디어 컨텐츠 정보를 상기 단위용량 정보 확인부(870)와 저장용량 확인부(875)로 제공한다.
상기 통신성능 확인부는 상기 통신 처리부(820)(또는 컨텐츠 수신부(885))와 연계하여 상기 멀티미디어 컨텐츠 다운로드(또는 수신)에 대응하는 통신성능(Bytes/sec)을 주기적으로 확인하는 것을 특징으로 하며, 상기 확인된 통신성능 정보를 상기 단위용량 정보 확인부(870)로 제공한다.
상기 단위용량 정보 확인부(870)는 상기 확인된 통신성능에 대응하는 소정의 인덱스 생성 단위용량 정보를 주기적으로 확인하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 단위용량 정보 확인부(870)는 적어도 하나 이상의 통신성능 정보와 각 통신성능에 대응하는 인덱스 생성 단위용량 정보를 연계하여 포함(예컨대, 프로그램 코드 내에 상수 형태로 포함)하여 이루어지는 것이 바람직하며, 상기 멀티미디어 컨텐츠 다운로드(또는 수신)에 대응하는 통신성능이 확인되면, 상기 단위용량 정보 확인부(870)는 상기 확인된 통신성능에 대응하는 인덱스 생성 단위용량 정보를 확인하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 메모리부(815)에 적어도 하나 이상의 통신성능 정보와 각 통신성능에 대응하는 인덱스 생성 단위용량 정보를 연계하여 저장하는 것이 바람직하며, 상기 멀티미디어 컨텐츠 다운로드(또는 수신)에 대응하는 통신성능이 확인되면, 상기 단위용량 정보 확인부(870)는 상기 메모리부(815)와 연계하여 상기 확인된 통신성능에 대응하는 인덱스 생성 단위용량 정보를 확인하는 것이 바람직하다.
상기 통신성능 정보가 확인되면, 상기 단위용량 확인부는 상기 확인된 통신성능 정보를 기반으로 상기 멀티미디어 컨텐츠를 끊김 없이 실(프레임수) 재생하기 위한 소정의 단위용량 별 인덱스 정보를 생성하기 위한 소정의 단위용량 별 인덱스 정보를 확인하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 단위용량 정보 확인부(870)는 상기 재생 대상 멀티미디어 컨텐츠의 헤더 정보를 기반으로 현재까지 수신된 상기 재생 대상 멀티미디어 컨텐츠의 재생 예정(프레임수) 정보를 확인하는 것이 바람직하다.
예컨대, 상기 단위용량 정보 확인부(870)는 상기 재생 대상 멀티미디어 컨텐츠의 헤더 정보에 포함된 프레임 비율 정보(dwMicroSecPerFrame)와 데이터 비율 정보(dwMaxBytesPerSec) 및 상기 재생 대상 멀티미디어 컨텐츠에 포함된 적어도 하나 이상의 데이터 청크 정보와 수신용량 정보를 적어도 하나 이상 이용하여 현재까지 수신된 상기 재생 대상 멀티미디어 컨텐츠의 재생 예정(프레임수) 정보를 확인하는 것이 바람직하다.
이후, 상기 단위용량 정보 확인부(870)는 상기 통신성능 정보와 상기 재생 예정(프레임수)를 곱하여 현재까지 수신된 상기 재생 대상 멀티미디어 컨텐츠가 모두 재생되기 전에 상기 재생 대상 멀티미디어 컨텐츠를 수신할 수 있는 (i+1)번째 최대 수신용량 정보를 생성한다.
여기서, 상기 i번째 통신성능 정보를 _라고 하고, i번째 재생 예정재생 예정(프레임수)(프레임수)를 _라고 하면, 상기 (i+1)번째 최대 수신용량 정보를 _는 다음과 같이 정의될 수 있다.
_
만약 현재까지 수신된 상기 재생 대상 멀티미디어 컨텐츠를 재생함에 있어서, 상기 컨텐츠 수신부(885)가 상기 재생 대상 멀티미디어 컨텐츠의 나머지 부분을 상기 통신성능 이상으로 수신하는 것을 유지한다면, 상기 (i+1)번째 최대 수신용량 정보는 그대로 (i+1)번째 단위용량 별 인덱스 정보로 사용될 수 있을 것이다.
반면 상기 멀티미디어 컨텐츠의 나머지 부분을 수신하는 동안 실제 통신성능이 상기 확인된 통신성능 정보 이상을 유지하지 않을 것이므로, 상기 (i+1)번째 단위용량 별 인덱스 정보는 상기 (i+1)번째 최대 수신용량 정보에 소정의 비례상수 _를 곱한 형태로 이루어질 것이다.
_
본 발명의 실시 방법에 따르면, 상기 i번째 멀티미디어 컨텐츠를 수신하는 동안의 최저 통신성능이 _라고 한다면, 상기 비례상수 _는 다음과 같이 정의될 수 있다.
_
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 정의된 비례상수 _이외에 다양한 비례상수를 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 하며, 특정 비례상수에 의해 한정되지 아니한다.
또한, 상기 멀티미디어 컨텐츠를 재생하는 동안 상기 멀티미디어 컨텐츠가 순차적으로 재생될 수 있으나, 상기 멀티미디어 컨텐츠 관람자의 요청에 의해 일부 재생시간(또는 프레임)을 건너뛸 수도 있을 것이다.
여기서, 상기 i번째 멀티미디어 컨텐츠를 재생하는 동안 건너뛰는 비재생 시간(또는 프레임)을 라고 한다면, 상기 (i+1)번째 단위용량 별 인덱스 정보 _는 다음과 같이 정의될 수 있을 것이다.
_
특히, 상기 비재생 시간(또는 프레임) _는 "_"와 같은 유효 범위를 가지며, 상기 i번째 멀티미디어 컨텐츠를 재생하는 동안 변동되는 것을 특징으로 하며, 이에 의해 상기 단위용량 정보 확인부(870)는 상기 (i+1)번째 단위용량 별 인덱스 정보를 확인한 후, 상기 비재생 시간(또는 프레임) _가 변동될 때마다 상기 (i+1)번째 단위용량 별 인덱스 정보를 재확인하는 것이 바람직하다.
상기 단위용량 정보 확인부(870)가 상기 (i+1)번째 단위용량 별 인덱스 정보를 확인함에 있어, 상기 재생 대상 멀티미디어 컨텐츠의 전체 용량을 _라고 하면, 상기 인덱스 생성 단위용량 정보는 다음과 같은 조건을 만족하도록 확인되는 것이 바람직하다.
_
상기 저장용량 확인부(875)는 상기 컨텐츠 수신부(885)를 통해 수신되는 상기 멀티미디어 컨텐츠의 저장용량을 주기적을 확인하거나, 또는 상기 컨텐츠 저장부(890)를 통해 상기 메모리부(815)에 저장되는 상기 멀티미디어 컨텐츠 저장용량을 주기적으로 확인하는 것을 특징으로 한다.
상기 정보 확인부(880)는 상기 확인되는 멀티미디어 컨텐츠 저장용량이 상기 확인된 인덱스 생성 단위용량에 도달(또는 초과)하는지 확인하는 것을 특징으로 하며, 상기 인덱스 생성 단위용량에 도달(또는 초과)하면, 상기 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 정보 확인부(880)는 상기 단위용량 정보 확인부(870)에 의해 i번째 인덱스 생성 단위용량 정보가 확인된 후, 상기 저장용량 확인부(875)를 통해 확인되는 i번째 저장용량이 상기 i번째 인덱스 생성 단위용량에 도달(또는 초과)하는지 확인하고, 상기 i번째 인덱스 생성 단위용량을 도달(또는 초과)하면, 상기 정보 확인부(880)는 상기 멀티미디어 컨텐츠에 대한 (i+1)번째 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
또는, 상기 정보 확인부(880)는 상기 비재생 시간(또는 프레임)이 실시간 변동하여 상기 인덱스 생성 단위용량 정보가 실시간 변동되는 경우, 상기 저장용량 확인부(875)를 통해 확인되는 i번째 저장용량이 상기 비재생 시간(또는 프레임) 변동에 의해 확인된 인덱스 생성 단위용량에 도달(또는 초과)하는지 확인하는 것을 특징으로 하며, 상기 변동된 인덱스 생성 단위용량을 도달(또는 초과)하면, 상기 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 정보 확인부(880)는 상기 단위용량 정보 확인부(870)에 의해 i번째 인덱스 생성 단위용량 정보가 확인된 후, 상기 비재생 시간(또는 프레임)이 실시간 변동하여 상기 i번째 인덱스 생성 단위용량 정보가 실시간 변동되는 경우, 상기 저장용량 확인부(875)를 통해 확인되는 i번째 저장용량이 상기 비재생 시간(또는 프레임) 변동에 의해 확인된 i번째 인덱스 생성 단위용량에 도달(또는 초과)하는지 확인하고, 상기 i번째 인덱스 생성 단위용량을 도달(또는 초과)하면, 상기 정보 확인부(880)는 상기 멀티미디어 컨텐츠에 대한 (i+1)번째 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
또는, 상기 정보 확인부(880)는 상기 비재생 시간(또는 프레임)이 실시간 변동하여 상기 인덱스 생성 단위용량 정보가 실시간 변동되는 경우, 상기 인덱스 생성 단위용량 정보가 상기 멀티미디어 컨텐츠에 포함된 소정의 데이터 청크 크기보다 작아지는지 확인하는 것을 특징으로 하며, 상기 인덱스 생성 단위용량 정보가 상기 멀티미디어 컨텐츠에 포함된 소정의 데이터 청크 크기보다 작아지면, 상기 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 정보 확인부(880)는 상기 단위용량 정보 확인부(870)에 의해 i번째 인덱스 생성 단위용량 정보가 확인된 후, 상기 비재생 시간(또는 프레임)이 실시간 변동하여 상기 i번째 인덱스 생성 단위용량 정보가 실시간 변동되는 경우, 상기 i번째 인덱스 생성 단위용량 정보가 상기 멀티미디어 컨텐츠에 포함된 소정의 데이터 청크 크기보다 작아지면, 상기 정보 확인부(880)는 i번째 인덱스 생성 단위용량 도달(또는 초과) 여부에 상관없이 상기 멀티미디어 컨텐츠에 대한 (i+1)번째 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
또는, 상기 정보 확인부(880)는 상기 멀티미디어 컨텐츠의 현재 재생 프레임에 대응하는 재생시간이 상기 재생 예정시간(또는 프레임수)에 도달(또는 초과)하는 경우, 상기 멀티미디어 컨텐츠에 대한 신규 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 단위용량 정보 확인부(870)에 의해 i번째 인덱스 생성 단위용량 정보가 확인된 후, 상기 비재생 시간(또는 프레임)이 실시간 변동하여 상기 인덱스 생성 단위용량 정보가 실시간 변동하여 상기 멀티미디어 컨텐츠의 현재 재생 프레임에 대응하는 재생시간이 상기 재생 예정시간(또는 프레임수)에 도달(또는 초과)하는 경우, 정보 확인부(880)는 상기 멀티미디어 컨텐츠에 대한 (i+1)번째 단위용량 별 인덱스 정보 생성 조건을 만족한 것으로 확인하는 것이 바람직하다.
상기 정보 확인부(880)에 의해 상기 멀티미디어 컨텐츠에 대한 신규 단위용량 별 인덱스 정보 생성 조건을 만족하는 것이 확인되면, 상기 정보 추출부(860)는 소정의 단위용량 별 인덱스 정보를 생성하기 위해 상기 메모리부(815)에 저장된 멀티미디어 컨텐츠 파일 일부분의 구성 정보를 추출하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 정보 추출부(860)는 상기 멀티미디어 컨텐츠의 헤더부(893)를 판독하여 상기 멀티미디어 컨텐츠에 대한 헤더 정보를 추출하고, 상기 헤더 정보를 기반으로 상기 데이터 청크의 초두 문자 코드와 데이터 청크의 크기를 기반으로 영상 데이터부(896)에 포함된 적어도 하나 이상의 데이터 청크에 대한 포맷, 위치 및 크기 등을 적어도 하나 이상 포함하는 데이터 청크 정보를 추출하는 것이 바람직하다.
예컨대, 상기 정보 추출부(860)는 제1 데이터 청크의 초두 문자 코드(예컨대, 00db, 또는 00dc, 또는 00pc, 또는 00wb)를 포함하는 제1 데이터 청크의 크기 및 실제 스트림 데이터를 확인하고, 상기 제1 데이터 청크 이후의 제2 데이터 청크 초두 문자 코드(예컨대, 01db, 또는 01dc, 또는 01pc, 또는 01wb)를 확인하는데, 상기 제2 데이터 청크의 초두 문자 코드는 상기 제1 데이터 청크의 실제 스트림 데이터 다음에 위치할 것이다.
만약 상기 정보 추출부(860)가 제n(n>1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인한 후, 상기 제n 데이터 청크의 실제 스트림 데이터 다음에 제(n+1) 데이터 청크의 초두 문자 코드가 확인되지 않는다면, 상기 제n 데이터 청크는 손상된 것으로 간주되면, 이 경우 상기 정보 추출부(860)는 상기 제n 데이터 청크의 실제 스트림 데이터를 1바이트 단위로 쉬프트(Shift)하면서 제(n+1) 데이터 청크의 초두 문자 코드를 검색한 후, 상기 제(n+1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인하는 것이 바람직하며, 이에 의해 손상된 데이터 청크가 탐지될 수 있다.
상기 영상 데이터부(896)에 포함된 적어도 하나 이상의 데이터 청크에 대한 포맷, 위치 및 크기 등을 적어도 하나 이상 포함하는 포함하는 데이터 청크 정보가 추출되면, 상기 정보 생성부(855)는 상기 데이터 청크 정보를 기반으로 상기 멀티미디어 컨텐츠를 재생하기 위한 소정의 단위용량 별 인덱스 정보를 생성하는 것을 특징으로 하며, 여기서 상기 단위용량 별 인덱스 정보는 AVIINDEXENTRY 구조체 형태로 생성되는 것이 바람직하다.
이후, 상기 컨텐츠 재생부(850)는 상기 정보 생성부(855)에 의해 생성된 상기 단위용량 별 인덱스 정보를 기반으로 상기 재생 대상 멀티미디어 컨텐츠를 재생하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 통신성능 확인부가 상기 통신 처리부(820)(또는 컨텐츠 수신부(885))와 연계하여 상기 멀티미디어 컨텐츠의 통신성능 정보를 확인하고, 상기 단위용량 확인부가 상기 확인된 통신성능에 대응하는 인덱스 생성 단위용량을 확인하고, 상기 저장용량 확인부(875)가 상기 컨텐츠 수신부(885)(또는 컨텐츠 저장부(890))와 연계하여 상기 수신되는 멀티미디어 컨텐츠의 저장용량을 반복적으로 확인하고, 상기 정보 확인부(880)가 상기 멀티미디어 컨텐츠의 저장용량이 상기 확인된 인덱스 생성 단위용량 정보에 도달(또는 초과)하는지 확인하고, 상기 정보 추출부(860)가 상기 메모리부(815)에 저장된 멀티미디어 컨텐츠 파일 일부분의 구성 정보를 추출하고, 상기 정보 생성부(855)가 상기 추출된 구성 정보를 기반으로 상기 멀티미디어 컨텐츠에 대한 단위용량 별 인덱스 정보를 생성하는 과정은, 상기 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(885)를 통해 모두 수신되어 상기 컨텐츠 저장부(890)를 통해 수신된 멀티미디어 컨텐츠가 모두 상기 메모리부(815)에 저장될 때까지 반복되는 것이 바람직하다.
상기 컨텐츠 수신부(885)와 컨텐츠 저장부(890)를 통해 상기 멀티미디어 컨텐츠가 모두 수신/저장되면, 상기 정보 생성부(855)는 상기 멀티미디어 컨텐츠에 대한 최종 인덱스 정보를 생성하는 것을 특징으로 하며, 상기 컨텐츠 재생부(850)는 상기 최종 인덱스 정보를 기반으로 상기 멀티미디어 컨텐츠를 재생하는 것을 특징으로 한다.
도면9는 본 발명의 제 사 실시 방법에 따라 멀티미디어 컨텐츠의 실시간 재생 도시한 도면이다.
보다 상세하게 본 도면9는 상기 도면8에 도시된 단말장치에 구비된 실시간 재생 프로그램이 상기 도면1에 도시된 컨텐츠 구조를 포함하여 이루어진 멀티미디어 컨텐츠를 재생하는 경우, 상기 멀티미디어 컨텐츠를 실시간 재생(또는 스트리밍 방식으로 재생)하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면9를 참조 및/또는 변형하여 상기 멀티미디어 컨텐츠의 실시간 재생(또는 스트리밍 방식으로 재생)하는 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면9에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
이하, 본 도면9에서 상기 실시간 재생 프로그램을 구비하여 도면8에 도시된 단말장치를 편의상 "단말"이라고 한다.
도면9를 참조하면, 상기 단말에서 상기 도면8에 도시된 실시간 재생 프로그램을 실행하여 상기 메모리부(815)에 저장된(또는 저장되고 있는) 적어도 하나 이상의 멀티미디어 컨텐츠 중 소정의 재생 대상 멀티미디어 컨텐츠를 선택하여 상기 단말에 구비된 화면 출력수단과 사운드 처리수단을 통해 재생되도록 처리하면(900), 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠의 파일 정보를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지(예컨대, 상기 재생 대상 멀티미디어 컨텐츠가 소정의 컨텐츠 제공 서버(830)(또는 메신저 단말(835))로부터 다운로드가 미 완료된 상태인지) 확인한다(905).
본 발명의 일 실시 방법에 따르면, 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠의 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)를 판독하여 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(885)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(890)에 의해 저장 중인 멀티미디어 컨텐츠인지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 대한 파일 핸들(Handle) 정보(또는 파일에 대한 인터럽트 정보, 또는 파일의 접근권한 정보)의 판독결과, 상기 재생 대상 멀티미디어 컨텐츠가 상기 컨텐츠 수신부(885)에 의해 수신 중이거나, 또는 상기 컨텐츠 저장부(890)에 의해 저장 중인 멀티미디어 컨텐츠라면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠의 헤더부(893)에 포함된 헤더 정보를 기반으로 상기 멀티미디어 컨텐츠 파일에 유효한 인덱스부(899)가 기 포함되어 있는지 확인함으로써, 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되는지 확인하는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠에 유효한 인덱스부(899)가 포함되어 있지 않았다면, 상기 멀티미디어 컨텐츠는 실시간 재생 대상에 포함되는 것이 바람직하다.
만약 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함되지 않는다면(910), 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠를 기 정의된 멀티미디어 컨텐츠 재생 절차에 따라 재생한다(915).
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 단말이 상기 실시간 재생 대상에 포함되지 않는 멀티미디어 컨텐츠(예컨대, 스트리밍 재생이 가능한 파일 구조를 포함하는 멀티미디어 컨텐츠, 또는 다운로드가 완료된 멀티미디어 컨텐츠)를 재생하는 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
반면 상기 재생 대상 멀티미디어 컨텐츠가 실시간 재생 대상에 포함된다면(910), 상기 단말은 상기 컨텐츠 제공 서버(830)(또는 메신저 단말(835))로부터 현재까지 수신된 상기 재생 대상 멀티미디어 컨텐츠에 대한 헤더 정보와 데이터 청크 정보를 추출한다(920).
본 발명의 실시 방법에 따르면, 상기 단말은 상기 멀티미디어 컨텐츠의 헤더부(893)를 판독하여 상기 멀티미디어 컨텐츠에 대한 헤더 정보를 추출하고, 상기 헤더 정보를 기반으로 상기 데이터 청크의 초두 문자 코드와 데이터 청크의 크기를 기반으로 영상 데이터부(896)에 포함된 적어도 하나 이상의 데이터 청크에 대한 포맷, 위치 및 크기 등을 적어도 하나 이상 포함하는 데이터 청크 정보를 추출하는 것이 바람직하다.
예컨대, 상기 단말은 제1 데이터 청크의 초두 문자 코드(예컨대, 00db, 또는 00dc, 또는 00pc, 또는 00wb)를 포함하는 제1 데이터 청크의 크기 및 실제 스트림 데이터를 확인하고, 상기 제1 데이터 청크 이후의 제2 데이터 청크 초두 문자 코드(예컨대, 01db, 또는 01dc, 또는 01pc, 또는 01wb)를 확인하는데, 상기 제2 데이터 청크의 초두 문자 코드는 상기 제1 데이터 청크의 실제 스트림 데이터 다음에 위치할 것이다.
만약 상기 단말이 제n(n>1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인한 후, 상기 제n 데이터 청크의 실제 스트림 데이터 다음에 제(n+1) 데이터 청크의 초두 문자 코드가 확인되지 않는다면, 상기 제n 데이터 청크는 손상된 것으로 간주되면, 이 경우 상기 단말은 상기 제n 데이터 청크의 실제 스트림 데이터를 1바이트 단위로 쉬프트(Shift)하면서 제(n+1) 데이터 청크의 초두 문자 코드를 검색한 후, 상기 제(n+1) 데이터 청크의 초두 문자 코드와 크기 및 실제 스트림 데이터를 확인하는 것이 바람직하며, 이에 의해 손상된 데이터 청크가 탐지될 수 있다.
이후, 상기 단말은 상기 추출된 헤더 정보와 데이터 청크 정보를 기반으로 현재까지 수신된 멀티미디어 컨텐츠를 재생하기 위한 제1(i=1) 단위용량 별 인덱스 정보를 생성하고(925), 상기 생성된 제1(i=1) 단위용량 별 인덱스 정보를 기반으로 상기 제1(i=1) 멀티미디어 컨텐츠 재생 영역을 디코딩하여 재생한다(930).
이후, 상기 단말은 상기 수신 중인 멀티미디어 컨텐츠 중 상기 제1(i=1) 멀티미디어 컨텐츠 영역에 대한 제1(i=1) 통신성능 정보를 확인한다(935).
만약 상기 제1(i=1) 통신성능 정보가 확인되면(940), 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠의 헤더 정보를 기반으로 현재까지 수신된 상기 재생 대상 멀티미디어 컨텐츠의 재생 예정시간(또는 프레임수) 정보를 확인한다(945).
본 발명의 실시 방법에 따르면, 상기 단말는 상기 재생 대상 멀티미디어 컨텐츠의 헤더 정보에 포함된 프레임 비율 정보(dwMicroSecPerFrame)와 데이터 비율 정보(dwMaxBytesPerSec) 및 상기 재생 대상 멀티미디어 컨텐츠에 포함된 적어도 하나 이상의 데이터 청크 정보와 저장용량 정보를 적어도 하나 이상 이용하여 현재까지 수신된 상기 재생 대상 멀티미디어 컨텐츠의 재생 예정시간 정보를 확인하는 것이 바람직하다.
이후, 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠에 대한 제1(i=1) 통신성능과 제1(i=1) 재생 예정시간(또는 프레임수)을 기반으로 제2(i+1) 인덱스 생성 단위용량 정보를 확인한다(950).
만약 상기 제2(i+1) 인덱스 생성 단위용량 정보가 확인되면(955), 상기 단말은 제1 멀티미디어 컨텐츠 재생 영역을 재생하는 중에 소정의 비재생 시간(또는 프레임)(예컨대, 상기 멀티미디어 컨텐츠 관람자의 요청에 의해 건너뛰는 재생시간(또는 프레임))이 발생하는지 확인한다(960).
만약 상기 제1(i=1) 멀티미디어 컨텐츠 재생 영역을 재생하는 중에 소정의 비재생 시간(또는 프레임)이 발생하면(965), 상기 단말은 상기 제1(i=1) 통신성능과 제1(i=1) 재생 예정시간에 상기 비재생 시간(또는 프레임)을 더 포함하여 제2(i+1) 인덱스 생성 단위용량 정보를 재확인한다(970).
이후, 상기 단말은 상기 컨텐츠 제공 서버(830)(또는 메신저 단말(835))로부터 수신되는 상기 재생 대상 멀티미디어 컨텐츠에 대한 제2(i+1) 멀티미디어 컨텐츠 저장용량이 상기 제2(i+1) 인덱스 생성 단위용량에 도달(또는 초과)하는지 확인함으로써, 상기 제2(i+1) 단위용량 별 인덱스 정보 생성 조건을 만족하는지 확인한다(975).
본 발명의 다른 실시 방법에 따르면, 상기 단말은 상기 제1(i=1) 인덱스 생성 단위용량 정보가 확인된 후, 상기 비재생 시간(또는 프레임)이 실시간 변동하여 상기 인덱스 생성 단위용량 정보가 실시간 변동되는 경우, 상기 제1(i=1) 저장용량이 상기 비재생 시간(또는 프레임) 변동에 의해 확인된 인덱스 생성 단위용량에 도달(또는 초과)하는지 확인함으로써, 상기 제2(i+1) 단위용량 별 인덱스 정보 생성 조건을 만족하는지 확인하는 것이 바람직하다.
본 발명의 또다른 실시 방법에 따르면, 상기 단말은 상기 제1(i=1) 인덱스 생성 단위용량 정보가 확인된 후, 상기 비재생 시간(또는 프레임)이 실시간 변동하여 상기 인덱스 생성 단위용량 정보가 실시간 변동되는 경우, 상기 제1(i=1) 인덱스 생성 단위용량 정보가 상기 멀티미디어 컨텐츠에 포함된 소정의 데이터 청크 크기보다 작아지는지 확인함으로써, 상기 제2(i+1) 단위용량 별 인덱스 정보 생성 조건을 만족하는지 확인하는 것이 바람직하다.
만약 상기 제2(i+1) 단위용량 별 인덱스 정보 생성 조건을 만족하는 것이 확인되면(980), 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠가 모두 수신되었는지 확인한다(985)>
만약 상기 제2(i+1) 단위용량 별 인덱스 정보 생성 조건을 만족하는 시점에 상기 재생 대상 멀티미디어 컨텐츠가 모두 수신되지 않았다면(990), 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠의 제2(i+1) 저장용량에 대한 파일정보와 데이터 청크 정보를 추출하여 제2(i+1) 단위용량 별 인덱스 정보를 생성하고(992), 상기 생성된 제2(i+1) 단위용량 별 인덱스 정보를 기반으로 상기 제2(i+1) 멀티미디어 컨텐츠 재생 영역을 디코딩하여 재생하며(994), 상기 멀티미디어 컨텐츠에 대한 소정의 단위용량 별 인덱스 정보를 생성하여 재생 과정은 상기 재생 대상 멀티미디어 컨텐츠가 모두 수신될 때까지 반복되는 것이 바람직하다.
반면 상기 제2(i+1) 단위용량 별 인덱스 정보 생성 조건을 만족하는 시점에 상기 재생 대상 멀티미디어 컨텐츠가 모두 수신되었다면(990), 상기 단말은 상기 재생 대상 멀티미디어 컨텐츠에 대한 최종 인덱스 정보를 생성하고(996), 상기 생성된 최종 인덱스 정보를 통해 상기 멀티미디어 컨텐츠를 디코딩하여 재생한다(998).
200: 화면 출력부 205: 사운드 처리부
210: 키 입력부 215: 메모리부
220: 통신 처리부 225: 프로그램 제공 서버
230: 컨텐츠 제공 서버 235: 메신저 단말
240: 메인프레임부 245: 컨텐츠 재생부
250: 정보 생성부 255: 정보 추출부
260: 실시간 재생 판단부 265: 저장용량 확인부
270: 정보 확인부 275: 컨텐츠 수신부
280: 컨텐츠 저장부 285: 헤더부
290: 영상 데이터부 295: 인덱스부

Claims (9)

  1. 통신망을 통해 컨텐츠를 수신하여 재생하는 단말에서 실행되는 방법에 있어서,
    상기 단말에서 컨텐츠 요청 시 상기 컨텐츠를 N(N>2)개의 각 재생구간으로 분할하여 생성된 복수의 데이터 청크(Data Chunk)와 상기 N개의 각 재생구간을 인덱싱하는 인덱스 정보를 연계 저장하고 있는 저장매체와 연동하는 서버로부터 상기 컨텐츠에 대한 정보와 상기 데이터 청크에 대한 정보를 수신하는 제1 단계;
    상기 단말에서 상기 수신된 정보를 근거로 상기 컨텐츠의 분할된 각각의 데이터 청크를 지정된 순서에 따라 상기 서버로 요청하여 수신하기 위한 제n(n≥1)번째 순서에 부합하는 제n 데이터 청크의 인덱스를 확인하는 제2 단계;
    상기 단말에서 상기 서버로 상기 확인된 인덱스에 대응하는 제n 데이터 청크를 요청하는 제3 단계;
    상기 단말에서 상기 서버로부터 상기 요청의 응답에 대응하는 제n 데이터 청크를 수신하는 제4 단계;
    상기 단말에서 상기 서버로부터 수신되는 상기 제n 데이터 청크를 재생하는 제5 단계;
    상기 단말에서 상기 제n 데이터 청크의 재생을 완료하기 전에 상기 수신된 정보를 근거로 상기 서버로 요청하여 수신할 제(n+1) 데이터 청크의 인덱스를 확인하는 제6 단계;
    상기 단말에서 상기 확인된 인덱스에 대응하는 제(n+1) 데이터 청크를 요청하는 제7 단계;
    상기 단말에서 상기 서버로부터 상기 요청의 응답에 대응하는 제(n+1) 데이터 청크를 수신하는 제8 단계; 및
    상기 단말에서 상기 제n 데이터 청크의 재생과 연계된 지정된 재생 시점에 상기 수신된 제(n+1) 데이터 청크를 재생하는 제9 단계;를 포함하는 요청 응답 방식의 적응형 컨텐츠 재생 방법.
  2. 제 1항에 있어서,
    상기 컨텐츠는, 스트리밍용 포맷이 아닌 저장용 포맷의 컨텐츠를 포함하고,
    상기 데이터 청크는, 저장용 포맷의 컨텐츠를 분할한 저장용 데이터 청크를 포함하여 이루어지는 것을 특징으로 하는 요청 응답 방식의 적응형 컨텐츠 재생 방법.
  3. 제 1항에 있어서, 상기 저장매체는,
    상기 인덱싱된 N개의 각 재생구간 별로 i(i>1)개의 서로 다른 단위를 지닌 복수의 데이터 청크와 상기 인덱스 정보를 연계 저장하는 것을 특징으로 하는 요청 응답 방식의 적응형 컨텐츠 재생 방법.
  4. 제 3항에 있어서, 상기 i개의 서로 다른 단위는,
    데이터 청크의 프레임 비율, 데이터 비율, 용량 중 하나 이상을 서로 다르게 한 단위를 포함하여 이루어지는 것을 특징으로 하는 요청 응답 방식의 적응형 컨텐츠 재생 방법.
  5. 제 3항에 있어서,
    상기 단말에서 상기 i개의 서로 다른 단위 중 상기 단말로 끊김없이 수신 가능한 어느 한 단위를 확인하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 요청 응답 방식의 적응형 컨텐츠 재생 방법.
  6. 제 3항에 있어서, 상기 제3 단계는,
    상기 단말에서 상기 확인된 인덱스에 부합하는 데이터 청크의 i개의 단위 중 어느 한 단위에 부합하는 제n 데이터 청크를 상기 서버로 요청하는 단계를 포함하여 이루어지는 것을 특징으로 하는 요청 응답 방식의 적응형 컨텐츠 재생 방법.
  7. 제 3항에 있어서, 상기 제7 단계는,
    상기 단말에서 상기 확인된 인덱스에 부합하는 데이터 청크의 i개의 단위 중 어느 한 단위에 부합하는 제(n+1) 데이터 청크를 상기 서버로 요청하는 단계를 포함하여 이루어지는 것을 특징으로 하는 요청 응답 방식의 적응형 컨텐츠 재생 방법.
  8. 제 5항 또는 제 6항 또는 제 7항에 있어서, 상기 어느 한 단위는,
    상기 단말의 통신성능을 근거로 데이터 청크의 끊김없는 수신을 위해 확인된 단위를 포함하여 이루어지는 것을 특징으로 하는 요청 응답 방식의 적응형 컨텐츠 재생 방법.
  9. 제 1항에 있어서,
    상기 단말에서 상기 제n 데이터 청크를 수신하거나 재생하는 중에 상기 서버로부터 수신되는 제n 데이터 청크의 수신용량을 기준으로 다음에 수신할 순서에 부합하는 제(n+1) 데이터 청크의 요청을 결정하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 요청 응답 방식의 적응형 컨텐츠 재생 방법.
KR1020180121423A 2018-10-11 2018-10-11 요청 응답 방식의 적응형 컨텐츠 재생 방법 KR102050491B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180121423A KR102050491B1 (ko) 2018-10-11 2018-10-11 요청 응답 방식의 적응형 컨텐츠 재생 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180121423A KR102050491B1 (ko) 2018-10-11 2018-10-11 요청 응답 방식의 적응형 컨텐츠 재생 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170108966A Division KR20170102448A (ko) 2017-08-28 2017-08-28 요청 응답 방식의 적응형 컨텐츠 재생 방법

Publications (2)

Publication Number Publication Date
KR20180114880A KR20180114880A (ko) 2018-10-19
KR102050491B1 true KR102050491B1 (ko) 2019-11-29

Family

ID=64101939

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180121423A KR102050491B1 (ko) 2018-10-11 2018-10-11 요청 응답 방식의 적응형 컨텐츠 재생 방법

Country Status (1)

Country Link
KR (1) KR102050491B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006101262A (ja) * 2004-09-30 2006-04-13 Hitachi Software Eng Co Ltd ストリーミングコンテンツ配信システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050042377A (ko) * 2003-11-03 2005-05-09 주식회사 이머텍 저속채널의 스트리밍 서비스를 위한 데이터 분할 전송방법 및 시스템
KR100651486B1 (ko) * 2004-12-07 2006-11-29 삼성전자주식회사 네트워크를 통해 멀티미디어 컨텐츠를 전송하는 장치 및방법
KR100715143B1 (ko) * 2005-10-27 2007-05-10 니트젠테크놀러지스 주식회사 스트리밍 기반의 컨텐츠 분산형 네트워크 시스템과 파일 분할, 병합 및 재생 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006101262A (ja) * 2004-09-30 2006-04-13 Hitachi Software Eng Co Ltd ストリーミングコンテンツ配信システム

Also Published As

Publication number Publication date
KR20180114880A (ko) 2018-10-19

Similar Documents

Publication Publication Date Title
KR101868281B1 (ko) 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
WO2013008867A1 (ja) 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体
US8972544B2 (en) System for presenting media programs
US20120114311A1 (en) Method and system for distributing the recording of a media item
US20090300145A1 (en) Media streaming with seamless ad insertion
KR20080003961A (ko) 동영상 콘텐츠 서비스 시스템 및 방법
KR20070109916A (ko) 일시정지 포인트들을 이용한 데이터 리소스들의 액세스
CN101232611A (zh) 图像处理设备及其方法
KR20090001707A (ko) 멀티미디어 컨텐츠 재생방법 및 시스템과 멀티미디어컨텐츠 재생장치와 프로그램 기록매체
KR101678394B1 (ko) Vod 서비스를 제공하는 디지털 방송 시스템에서 데이터 저장 방법 및 그를 수행하는 장치
JP2005244948A (ja) 画像記録装置、画像再生装置、画像処理装置、画像記録方法、画像再生方法、及びプログラム
KR102050491B1 (ko) 요청 응답 방식의 적응형 컨텐츠 재생 방법
WO2007114107A1 (ja) コンテンツ送信システムにおけるサーバー装置およびコンテンツ送信方法
KR20140048917A (ko) 적응형 스트리밍 방법
KR20170102448A (ko) 요청 응답 방식의 적응형 컨텐츠 재생 방법
KR20130095243A (ko) 실시간 컨텐츠 스트리밍 방법
JP5144771B2 (ja) 画像処理装置、画像再生装置、画像記録装置、画像処理方法、画像再生方法、及び画像記録方法
JP2006339980A (ja) 映像再生装置
KR102269929B1 (ko) 영상 서비스 제공 방법, 사용자 단말기 및 컴퓨터 프로그램
KR20160017655A (ko) 적응형 스트리밍 방법
JP2017130957A (ja) 送信装置、送信方法、再生装置、及び再生方法
KR20160137472A (ko) 요청 응답 방식의 적응형 컨텐츠 재생 방법
KR20150054734A (ko) 적응형 스트리밍 방법
JP2006080612A (ja) ストリーミング再生システム
KR101259015B1 (ko) 재생 방법 및 장치

Legal Events

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