KR101269052B1 - 가상 콘텐츠 파일을 이용하는 콘텐츠 재생시스템 및 그 방법 - Google Patents
가상 콘텐츠 파일을 이용하는 콘텐츠 재생시스템 및 그 방법 Download PDFInfo
- Publication number
- KR101269052B1 KR101269052B1 KR1020110086344A KR20110086344A KR101269052B1 KR 101269052 B1 KR101269052 B1 KR 101269052B1 KR 1020110086344 A KR1020110086344 A KR 1020110086344A KR 20110086344 A KR20110086344 A KR 20110086344A KR 101269052 B1 KR101269052 B1 KR 101269052B1
- Authority
- KR
- South Korea
- Prior art keywords
- content
- file
- virtual
- content file
- received
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
콘텐츠 재생시스템 및 그 방법이 개시된다. 상기 콘텐츠 재생시스템은 사용자 단말기가 네트워크 시스템에 접속하여 소정의 콘텐츠를 요청하는 콘텐츠 요청을 출력하면, 요청된 상기 콘텐츠에 대응되는 가상 콘텐츠 파일을 생성하기 위한 생성모듈, 상기 콘텐츠 요청에 응답하여 적어도 하나의 저장 시스템으로부터 상기 콘텐츠 중 적어도 일부를 수신하기 위한 수신모듈, 및 상기 수신모듈에 의해 수신된 상기 콘텐츠 중 적어도 일부를 상기 가상 콘텐츠 파일에 포함시키고, 상기 가상 콘텐츠 파일을 콘텐츠 플레이어가 재생하도록 하기 위한 제어모듈을 포함한다.
Description
본 발명은 가상 콘텐츠 파일을 이용하는 콘텐츠 재생시스템 및 그 방법에 관한 것으로, 보다 상세하게는 사용자 단말기에 저장되어 있지 않은 소정의 콘텐츠를 재생하고자 할 때 상기 콘텐츠에 대응되는 가상 콘텐츠 파일을 재생하도록 함으로써 마치 로컬에 존재하는 콘텐츠를 재생하는 것과 같은 효과를 얻을 수 있는 방법 및 시스템에 관한 것이다.
네트워크의 발달에 따라 사용자는 자신의 단말기(즉, 로컬 단말기)에 존재하는 콘텐츠뿐만 아니라, 상기 단말기가 접속가능한 소정의 네트워크 시스템(예컨대, 웹 서버, 웹 하드(web hard-disk), 클라우드 컴퓨팅(cloud computing) 서버 등)에 저장된 콘텐츠를 편리하게 소비할 수 있기를 원한다.
이러한 방식으로는 상기 네트워크 시스템에 저장된 콘텐츠 전체를 다운로드 하여 상기 단말기에 저장한 후, 저장된 상기 콘텐츠를 재생하는 방식이 존재한다. 하지만, 이러한 방식은 다운로드가 완료된 후 상기 콘텐츠를 소비할 수 있다는 불편함이 있다.
이러한 문제점을 해결하기 위해 스트리밍(streaming) 기술이 널리 공지되어 있다. 스트리밍은 콘텐츠를 로컬 단말기에 다운로드 받으면서 다운로드된 부분을 재생할 수 있는 장점이 있어서 다양한 분야에서 널리 이용되고 있다. 하지만, 스트리밍을 위해서는 스트리밍을 위한 전용 서버가 필요하고, 미리 정해진 스트리밍 프로토콜을 이용하여야 하며, 스트리밍을 할 수 있는 파일 포맷이 한정되어 있는 문제점이 있다. 즉, 스트리밍을 위해서는 상대적으로 많은 비용일 들뿐만 아니라, 스트리밍을 지원하는 파일 포맷이 정해져 있어서, 사용자가 원하는 콘텐츠가 스트리밍을 지원하지 않는 경우에는 스트리밍용 파일 포맷으로 포맷을 변환하는 등의 불편함이 따르게 된다.
한편, 최근에는 스트리밍을 이용하지 않더라도 콘텐츠의 다운로드 중에 상기 콘텐츠를 소비(재생)할 수 있는 기술들이 적용되고 있지만, 이러한 기술들 역시 콘텐츠의 재생요청시에 이미 다운로드 부분까지의 재생이 완료되면 재생이 멈추게 되어 상기 콘텐츠의 끝까지 연속하여 소비를 할 수 없는 불편함이 있다. 또한, 콘텐츠의 재생요청시에 이미 다운로드 되지 않은 부분에 대해서는 재생을 할 수 없는 문제점이 있다.
따라서, 콘텐츠의 포맷이나 다운로드 프로토콜의 제약을 받지 않고도 효과적으로 네트워크 시스템에 저장된 콘텐츠를 재생할 수 있는 시스템 및 그 방법이 요구된다.
따라서, 본 발명이 이루고자 하는 기술적인 과제는 소정의 외부 시스템(예컨대, 웹 서버, 웹 하드, 클라우드 서버, 또는 그리드(grid)의 피어(peer) 등)에 저장된 콘텐츠를 로컬 단말기에 다운로드 하면서 상기 콘텐츠를 재생하여 사용자가 소비할 수 있는 시스템 및 그 방법을 제공하는 것이다.
또한, 스트리밍과 같이 콘텐츠를 재생하기 위해 별도의 네트워크 장비나 프로토콜이 필요없이 소정의 외부 시스템에 저장된 콘텐츠 전체를 다운로드 하기 전에 상기 콘텐츠를 재생할 수 있는 시스템 및 그 방법을 제공하는 것이다.
또한, 콘텐츠 재생시스템이 상기 콘텐츠에 대응되는 가상 콘텐츠 파일을 생성하여 상기 가상 콘텐츠 파일을 재생하도록 하여, 상기 콘텐츠 재생시스템이 상기 콘텐츠의 파일 전체가 로컬 단말기에 존재한다고 인식할 수 있도록 하는 시스템 및 그 방법을 제공하는 것이다. 따라서, 콘텐츠의 파일 포맷에 제약을 받지 않고 상기 콘텐츠의 다운로드 중에 상기 콘텐츠를 재생할 수 있는 시스템 및 그 방법을 제공하는 것이다.
또한, 상기 콘텐츠 전체를 다운로드 하지 않아도 상기 콘텐츠의 원래 재생순서와 무관하게 사용자가 원하는 특정 위치만을 선택적으로 재생할 수 있는 시스템 및 그 방법을 제공하는 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 실시 예에 따른 콘텐츠 재생시스템은 사용자 단말기가 네트워크 시스템에 접속하여 소정의 콘텐츠를 요청하는 콘텐츠 요청을 출력하면, 요청된 상기 콘텐츠에 대응되는 가상 콘텐츠 파일을 생성하기 위한 생성모듈, 상기 콘텐츠 요청에 응답하여 적어도 하나의 저장 시스템으로부터 상기 콘텐츠 중 적어도 일부를 수신하기 위한 수신모듈, 및 상기 수신모듈에 의해 수신된 상기 콘텐츠 중 적어도 일부를 상기 가상 콘텐츠 파일에 포함시키고, 상기 가상 콘텐츠 파일을 콘텐츠 플레이어가 재생하도록 하기 위한 제어모듈을 포함한다.
상기 생성모듈은 상기 콘텐츠의 파일크기에 상응하는 크기를 갖는 상기 가상 콘텐츠 파일을 생성하는 것을 특징으로 할 수 있다.
상기 저장 시스템은 하나 이상의 피어(peer) 단말기, 소정의 다운로드 서버, 또는 상기 네트워크 시스템 중 적어도 하나를 포함하는 것을 특징으로 할 수 있다.
상기 수신모듈은 상기 저장 시스템으로부터 그리드(grid) 방식으로 수신하는 것을 특징으로 할 수 있다.
상기 수신모듈은 상기 저장 시스템으로부터 수신된 상기 콘텐츠 중 적어도 일부를 로컬 콘텐츠 파일로 저장하는 것을 특징으로 할 수 있다.
상기 수신모듈은 상기 콘텐츠 플레이어가 상기 사용자 단말기로부터 상기 콘텐츠의 특정 부분부터의 재생요청을 수신하면 상기 특정 부분에 상응하는 데이터 요청을 상기 콘텐츠 플레이어로부터 수신하고, 수신된 상기 데이터 요청에 응답하여 상기 저장시스템으로부터 상기 특정 부분에 상응하는 상기 콘텐츠의 일부를 수신하기 시작하는 것을 특징으로 할 수 있다.
상기 제어모듈은 상기 수신모듈에 의해 기준 용량만큼의 상기 콘텐츠의 일부가 수신되면, 상기 콘텐츠의 일부를 기준 용량별로 상기 가상 콘텐츠 파일에 포함시키는 것을 특징으로 할 수 있다.
상기 제어모듈은 상기 콘텐츠 전체가 상기 로컬 컨텐츠 파일로 저장되면, 상기 가상 콘텐츠 파일을 상기 사용자 단말기에서 삭제하는 것을 특징으로 할 수 있다.
상기 제어모듈은 상기 콘텐츠 플레이어로 상기 가상 콘텐츠 파일에 대한 경로를 전달하는 것을 특징으로 할 수 있다.
상기 기술적 과제를 해결하기 위한 상기 콘텐츠 재생시스템은 상기 콘텐츠를 재생하기 위해 사용자 단말기에 존재하며 상기 콘텐츠에 상응하는 가상 콘텐츠 파일을 콘텐츠 플레이어가 재생하도록 하며, 상기 가상 콘텐츠 파일은 상기 콘텐츠 중 상기 콘텐츠 재생시스템에 의해 재생될 일부분에 대한 정보만 포함된 상태가 존재하는 것을 특징으로 할 수 있다.
상기 콘텐츠 재생시스템은 상기 콘텐츠 플레이어에 의해 재생될 순서대로 상기 콘텐츠에 일부분을 순차적으로 상기 가상 콘텐츠 파일에 포함되도록 하는 것을 특징으로 할 수 있다.
상기 기술적 과제를 해결하기 위한 콘텐츠 재생방법은 사용자 단말기가 네트워크 시스템에 접속하여 소정의 콘텐츠를 요청하는 콘텐츠 요청을 출력하면, 콘텐츠 재생시스템이 요청된 상기 콘텐츠에 대응되는 가상 콘텐츠 파일을 생성하는 단계, 상기 콘텐츠의 적어도 일부를 적어도 하나의 저장시스템으로부터 수신하는 단계, 및 수신된 상기 콘텐츠의 적어도 일부를 상기 가상 콘텐츠 파일에 포함시키는 단계를 포함하며, 상기 가상 콘텐츠 파일이 콘텐츠 플레이어에 의해 재생되는 것을 특징으로 한다.
상기 가상 콘텐츠 파일을 생성하는 단계는 상기 콘텐츠 재생시스템이 상기 콘텐츠의 파일크기에 상응하는 크기를 갖는 상기 가상 콘텐츠 파일을 생성하는 단계를 포함할 수 있다.
상기 콘텐츠 재생방법은 상기 콘텐츠 플레이어가 상기 사용자 단말기로부터 상기 콘텐츠의 특정 부분부터의 재생요청을 수신하면, 상기 콘텐츠 재생시스템이 상기 특정 부분에 상응하는 데이터 요청을 상기 콘텐츠 플레이어로부터 수신하는 단계, 수신된 상기 데이터 요청에 응답하여 상기 저장시스템으로부터 상기 특정 부분에 상응하는 상기 콘텐츠의 일부를 수신하는 단계, 및 수신된 상기 특정 부분에 상응하는 상기 콘텐츠의 일부를 상기 가상 콘텐츠 파일에 포함시키는 단계를 포함하는 더 포함할 수 있다.
상기 콘텐츠의 적어도 일부를 상기 가상 콘텐츠 파일에 포함시키는 단계는 수신된 상기 콘텐츠의 적어도 일부를 소정의 단위 용량별로 상기 가상 콘텐츠 파일에 포함시키는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 콘텐츠를 재생하기 위한 콘텐츠 재생방법에 있어서, 상기 콘텐츠 재생방법은 콘텐츠 재생시스템이 상기 콘텐츠를 재생하기 위해 사용자 단말기에 상기 콘텐츠에 상응하는 가상 콘텐츠 파일을 생성하는 단계 및 생성된 상기 가상 콘텐츠 파일에 대한 경로를 콘텐츠 플레이어로 전송하는 단계를 포함하며, 상기 가상 콘텐츠 파일은 상기 콘텐츠 중 상기 콘텐츠 재생시스템에 의해 재생될 일부분에 대한 정보만 포함된 상태가 존재하는 것을 특징으로 할 수 있다.
상기 콘텐츠 재생방법은 프로그램을 기록한 컴퓨터 판독가능한 기록매체에 저장될 수 있다.
따라서, 본 발명의 실시 예에 따른 콘텐츠 재생시스템 및 그 방법은 가상 콘텐츠 파일을 이용하여 상대적으로 저렴한 비용으로 콘텐츠의 파일 포맷에 제약을 받지 않고 외부 시스템에 저장된 콘텐츠를 재생할 수 있는 효과가 있다.
또한, 소정의 단위 용량별로 수신된 콘텐츠의 일부를 가상 콘텐츠 파일에 삽입할 수 있으므로 콘텐츠의 원래 재생순서와 상관없이 사용자가 원하는 콘텐츠의 특정 위치로 스킵(skip)하여 재생하고자 하는 경우에도, 즉각적으로 상기 특정 위치에 상응하는 콘텐츠의 부분부터 재생이 가능한 효과가 있다.
또한, 콘텐츠의 일부분을 외부 시스템으로부터 그리드 방식으로 다운로드 할 수 있도록 하여, 상대적으로 저렴한 네트워크 비용으로 빠른 시간 내에 상기 콘텐츠를 재생할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 콘텐츠 재생시스템의 개략적인 구성을 나타낸다.
도 2는 본 발명의 실시 예에 따른 콘텐츠 재생방법을 제공하는 네트워크 시스템이 지원하는 콘텐츠 소비형태의 일 예들을 나타낸다.
도 3은 본 발명의 일 실시 예에 따라 상기 가상 콘텐츠 파일에 콘텐츠의 일부를 포함시키는 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 다른 실시 예에 따라 상기 가상 콘텐츠 파일에 콘텐츠의 일부를 포함시키는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 실시 예에 따른 콘텐츠 재생방법에 따라 사용자 단말기에 콘텐츠의 전체 파일을 다운로드 하지 않아도 콘텐츠를 스킵(skip)하여 재생할 수 있는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 실시 예에 따른 콘텐츠 재생방법에 따라 사용자 단말기에 저장된 콘텐츠 및 가상 콘텐츠 파일의 일 예를 나타낸다.
도 1은 본 발명의 실시 예에 따른 콘텐츠 재생시스템의 개략적인 구성을 나타낸다.
도 2는 본 발명의 실시 예에 따른 콘텐츠 재생방법을 제공하는 네트워크 시스템이 지원하는 콘텐츠 소비형태의 일 예들을 나타낸다.
도 3은 본 발명의 일 실시 예에 따라 상기 가상 콘텐츠 파일에 콘텐츠의 일부를 포함시키는 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 다른 실시 예에 따라 상기 가상 콘텐츠 파일에 콘텐츠의 일부를 포함시키는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 실시 예에 따른 콘텐츠 재생방법에 따라 사용자 단말기에 콘텐츠의 전체 파일을 다운로드 하지 않아도 콘텐츠를 스킵(skip)하여 재생할 수 있는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 실시 예에 따른 콘텐츠 재생방법에 따라 사용자 단말기에 저장된 콘텐츠 및 가상 콘텐츠 파일의 일 예를 나타낸다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다.
반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 실시 예에 따른 콘텐츠 재생시스템의 개략적인 구성을 나타낸다.
도 1을 참조하면, 본 발명의 실시 예에 따른 콘텐츠 재생시스템(100)은 소정의 네트워크 시스템(200)과 유무선 네트워크를 통해 연결될 수 있다. 상기 콘텐츠 재생시스템(100)은 소정의 사용자 단말기(미도시)에 설치되어 본 발명의 기술적 사상을 구현할 수 있다.
상기 네트워크 시스템(200)은 예컨대, 상기 콘텐츠 재생시스템(100)에 의해 재생될 콘텐츠를 상기 사용자 단말기로 제공하기 위한 시스템일 수 있다. 예컨대, 상기 네트워크 시스템(200)은 웹 서버, 웹 하드, 클라우드 컴퓨팅용 서버 등 다양할 수 있다. 상기 네트워크 시스템(200)이 상기 콘텐츠를 상기 사용자 단말기로 제공한다고 함은 상기 네트워크 시스템(200)이 직접 상기 콘텐츠를 상기 사용자 단말기로 전송하는 경우뿐만 아니라, 상기 네트워크 시스템(200)이 적어도 하나의 다른 시스템(예컨대, 저장시스템(300))을 제어하여 상기 사용자 단말기로 상기 콘텐츠를전송하도록 하는 경우를 포함하는 의미로 사용될 수 있다.
한편, 상기 콘텐츠 재생시스템(100)은 적어도 하나의 저장 시스템(300)과 유무선 통신을 통해 연결될 수 있다. 상기 저장 시스템(300)은 사용자가 소비하고자 하는 콘텐츠를 실제로 저장하고 있는 시스템일 수 있다.
상기 저장 시스템(300)은 소정의 웹 서버(다운로드 서버, 310) 및/또는 그리드 방식의 다운로드 방식에서 피어 단말기(예컨대, 320~322)를 포함할 수 있다. 즉, 상기 콘텐츠 재생시스템(100)은 상기 저장 시스템(300)으로부터 그리드 방식으로 상기 콘텐츠 중 적어도 일부를 수신할 수도 있다. 이러한 그리드 방식으로 콘텐츠를 수신한다고 함은 상기 콘텐츠를 저장하고 있는 복수의 장치로부터 상기 콘텐츠를 수신하는 일련의 방식을 의미할 수 있다. 예컨대, 그리드 방식의 콘텐츠 다운로드 방식으로는 널리 공지되 P2P(Peer to Peer) 또는 P4P 방식이 있을 수 있다. 이러한 그리드 방식의 콘텐츠 다운로드는 널리 공지되어 있으므로 본 명세서에서는 상세한 설명은 생략하도록 한다. 한편, 도 1에서는 상기 저장 시스템(300)과 상기 네트워크 시스템(200)을 별도의 구성으로 도시하였지만, 상기 네트워크 시스템(200)이 상기 저장 시스템(300)에 포함될 수 있음은 물론이다. 즉, 상기 콘텐츠 재생시스템(100)은 상기 네트워크 시스템(200)으로부터 상기 콘텐츠를 수신할 수도 있고, 상기 네트워크 시스템(200)과는 별도로 구현된 상기 서버(310) 및/또는 피어 단말기(예컨대, 320~322)로부터 상기 콘텐츠를 수신할 수도 있다.
상기 피어 단말기(예컨대, 320~322)는 그리드 방식으로 상기 콘텐츠를 다운로드 받은 단말기를 포함할 수 있다. 상기 피어 단말기(예컨대, 320~322)는 그리드 방식(예컨대, P2P, P4P)으로 상기 콘텐츠를 다운로드 받을 수 있고, 이러한 경우 그리드 방식(예컨대, P2P, P4P)을 위한 소정의 그리드 시스템(예컨대, 인덱스 서버(미도시) 등)에는 상기 피어 단말기(예컨대, 320~322)에 대한 정보가 저장될 수 있다. 따라서, 상기 콘텐츠 재생시스템(100)은 상기 그리드 시스템으로 소정의 콘텐츠 또는 상기 콘텐츠의 일부분을 요청할 수 있으며, 이에 응답하여 상기 그리드 시스템은 상기 사용자 단말기로 상기 콘텐츠 또는 상기 콘텐츠의 상기 일부분을 저장하고 있는 피어 단말기(예컨대, 320~322)에 대한 정보를 전송할 수 있다. 그러면, 상기 사용자 단말기는 상기 피어 단말기(예컨대, 320~322)와 통신을 통해 상기 콘텐츠의 적어도 일부를 수신할 수 있다.
상기 사용자 단말기 및/또는 상기 피어 단말기(예컨대, 320~322)는 본 발명의 기술적 사상을 구현할 수 있는 모든 형태의 데이터 프로세싱 장치로 구현될 수 있다. 예컨대, 컴퓨터, 타블렛(tablet) PC, 스마트 폰, 셋탑박스, IPTV 등으로 구현될 수 있다.
한편, 상기 콘텐츠 재생시스템(100)은 반드시 그리드 방식(예컨대, P2P, P4P)으로 상기 콘텐츠의 적어도 일부를 상기 저장 시스템(300)으로부터 수신할 필요는 없다. 예커대, 상기 콘텐츠 재생시스템(100)은 특정 시스템(예컨대, 상기 네트워크 시스템(200), 상기 저장 시스템(300)에 포함될 수 있는 시스템 또는 단말기(예컨대, 310, 320~322) 중 어느 하나로부터만 상기 콘텐츠를 수신할 수도 있다. 이러한 경우에도 본 발명의 기술적 사상은 구현될 수 있다.
상기 네트워크 시스템(200)은 제공가능한 콘텐츠에 대한 정보(예컨대, 콘텐츠 목록)를 상기 사용자 단말기로 전송할 수 있는 모든 형태의 네트워크 시스템일 수 있다. 상기 네트워크 시스템(200)은 상기 콘텐츠를 직접 저장하고 있어서 상기 사용자 단말기로부터 콘텐츠 요청이 수신되면 상기 콘텐츠를 직접 상기 사용자 단말기로 전송할 수도 있다. 또는, 상기 네트워크 시스템(200)은 상기 저장 시스템(300)에 대한 정보를 상기 콘텐츠 재생시스템(100)으로 전송하여, 상기 콘텐츠 재생시스템(100)이 상기 저장 시스템(300)으로부터 상기 콘텐츠를 수신하도록 할 수도 있다. 상기 네트워크 시스템(200)이 상기 콘텐츠를 상기 사용자 단말기로 직접 전송하는 경우에는, 상기 네트워크 시스템(200) 역시 상기 저장 시스템(300)에 포함되는 시스템으로 정의될 수도 있다.
구현 예에 따라, 상기 네트워크 시스템(200)은 상기 사용자 단말기로 본 발명의 기술적 사상을 구현하기 위한 소정의 애플리케이션을 전송할 수 있으며, 전송된 애플리케이션이 상기 사용자 단말기에 설치되어 상기 콘텐츠 재생시스템(100)을 구현할 수 있다. 그러면, 상기 콘텐츠 재생시스템(100)은 상기 네트워크 시스템(200)에서 예정하고 있는 다양한 방식의 콘텐츠 소비형태를 지원할 수 있다. 이러한 일 예는 도 2에 도시된다.
도 2는 본 발명의 실시 예에 따른 콘텐츠 재생방법을 제공하는 네트워크 시스템이 지원하는 콘텐츠 소비형태의 일 예들을 나타낸다.
도 2를 참조하면, 상기 네트워크 시스템(200)은 상기 사용자 단말기의 사용자가 소정의 콘텐츠(예컨대, Contents 1)를 바로 재생, 다운로드, 다운로드하면서 재생 등의 형태로 소비할 수 있도록 할 수 있다. 이를 위한 소정의 UI(10~12)들이 각각 상기 사용자 단말기로 제공될 수 있다.
도 2에서 설명하는 '바로 재생' 방식은 상기 콘텐츠(예컨대, Contents 1)가 상기 사용자 단말기에서 재생되며, 사용자가 상기 사용자 단말기에 상기 콘텐츠를 별도로 저장하기를 원치 않는 경우에 선택할 수 있는 소비방식을 의미할 수 있다.
이러한 '바로 재생' 방식에 의하더라도 상기 콘텐츠의 적어도 일부는 상기 사용자 단말기에 임시로 또는 영구적으로 저장될 수는 있다. 예컨대, 상기 사용자 단말기의 임시 파일로 저장될 수는 있지만, 사용자가 자신이 원하는 경로에 상기 콘텐츠를 저장하는 기능은 제공되지 않을 수 있다. 사용자가 UI(10)을 선택함으로써 '바로 재생' 방식을 선택할 수 있으며, 이러한 경우에는 본 발명의 기술적 사상에 따른 콘텐츠 재생방법에 의해 상기 콘텐츠(예컨대, Contents 1)가 재생될 수 있다.
다른 실시 예에 의하면, 사용자는 UI(11)을 선택함으로써 다운로드 방식을 선택할 수도 있다. 이러한 경우에는 상기 사용자 단말기에 상기 콘텐츠(예컨대, Contents 1)가 수신되어 저장될 수 있다. 상기 사용자 단말기에 설치된 상기 콘텐츠 재생시스템(100)은 전술한 바와 같이 그리드 방식(예컨대, P2P, P4P)으로 상기 콘텐츠(예컨대, Contents 1)를 저장 시스템(300)으로부터 수신할 수도 있지만, 이에 한정되지는 않는다.
또 다른 실시 예에 의하면, 사용자는 UI(12)를 선택함으로써 '다운로드 하면서 재생' 방식을 선택할 수도 있다. 이러한 경우에는 상기 사용자 단말기에 상기 콘텐츠가 최종적으로 저장되면서도, 상기 콘텐츠가 상기 사용자 단말기에 저장되는 중에 상기 콘텐츠가 상기 콘텐츠 재생시스템(100)에 의해 재생될 수 있다. 이러한 경우에는 본 발명의 기술적 사상에 따른 콘텐츠 재생방법에 의해 상기 콘텐츠(예컨대, Contents 1)가 재생될 수 있다.
이처럼 본 발명의 기술적 사상에 의하면 사용자가 콘텐츠를 다운로드 하는 중에 재생하여 소비할 수 있도록 할 수 있다. 이때 상기 콘텐츠는 스트리밍을 통할 필요도 없고, 상기 콘텐츠의 파일 포맷에 제약을 받지 않을 수 있으며, 다운로드 중에 콘텐츠의 원래 재생순서와는 무관하게 스킵하여 재생할 수도 있다.
즉, 상기 콘텐츠 재생시스템(100)은 마치 상기 콘텐츠가 상기 사용자 단말기의 로컬 저장장치에 저장되어 있는 상태에서 상기 콘텐츠를 재생하는 것과 동일한 기능 또는 서비스를 제공할 수 있다.
이를 위해 상기 콘텐츠 재생시스템(100)은 도 1에 도시된 바와 같이 제어모듈(110), 생성모듈(120) 및 수신모듈(130)을 포함할 수 있다.
본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스(resource)의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.
상기 제어모듈(110)은 본 발명의 기술적 사상을 구현하기 위해 상기 콘텐츠 재생시스템(100)의 다른 구성(예컨대, 생성모듈(120) 및/또는 수신모듈(130) 등)의 기능 및/또는 리소스를 제어할 수 있다.
또한, 상기 제어모듈(110)은 본 발명의 실시 예에 따른 가상 콘텐츠 파일에 필요한 데이터(즉, 콘텐츠의 적어도 일부)를 포함(삽입)시킬 수 있다. 상기 제어모듈(110)은 콘텐츠를 재생할 수 있는 콘텐츠 플레이어가 재생할(예컨대, 몇 초 이내에 재생될) 콘텐츠의 일부분을 상기 가상 콘텐츠 파일에 포함시킬 수 있다. 상기 콘텐츠의 일부분을 상기 가상 콘텐츠 파일에 포함시킨다고 함은, 상기 콘텐츠의 일부분에 상응하는 데이터(예컨대, 비디오 정보 및/또는 오디오 정보 등)를 상기 일부분에 상응하는 위치에 기입(write) 또는 대체(replace)하는 일련의 과정을 의미할 수 있다. 특정 정보를 이미 존재하는 파일에서 원하는 위치에 기입하거나 이미 존재하는 파일의 내용과 대체하는 방식은 상기 콘텐츠 재생시스템(100)을 구현하기 위한 프로그래밍 랭귀지(programming language)가 지원하는 펑션(function) 또는 메소드(method)에 따라 다소 차이는 있지만 널리 공지되어 있으므로 본 명세서에서는 상세한 설명은 생략하도록 한다.
이렇게 소정의 가상 콘텐츠 파일에 상기 콘텐츠 플레이어가 재생할 부분에 상응하는 콘텐츠의 일부가 순차적으로 포함되면, 상기 콘텐츠 플레이어는 순차적으로 상기 콘텐츠의 일부를 재생함으로써 상기 콘텐츠를 재생할 수 있다. 그러면, 상기 콘텐츠 플레이어는 순차적으로 상기 가상 콘텐츠 파일에 포함된 상기 콘텐츠의 일부분에 상응하는 데이터(예컨대, 비디오 정보 및/또는 오디오 정보)를 재생할 수 있다.
상기 생성모듈(120)은 상기 사용자 단말기에 의해 선택된 콘텐츠에 대응되는 상기 가상 콘텐츠 파일을 생성할 수 있다. 이때 상기 생성모듈(120)은 상기 가상 콘텐츠 파일을 상기 사용자 단말기의 로컬 저장장치(예컨대, 하드 디스크, 플래시 디스크, SSD(Solid State Disk) 등)에 생성하여 저장할 수 있다.
상기 가상 콘텐츠 파일은 콘텐츠 플레이어가 상기 콘텐츠의 완전한 파일이 존재한다고 인식할 수 있도록 생성될 수 있다. 이를 위해 상기 생성모듈(120)은 상기 콘텐츠의 원본 파일과 크기가 동일하도록 상기 가상 콘텐츠 파일을 생성할 수 있다. 상기 콘텐츠의 원본 파일의 포맷에 따라 상기 가상 콘텐츠 파일은 소정의 메타정보를 포함하여 생성될 수도 있다.
즉, 상기 생성모듈(120)은 상기 콘텐츠 플레이어가 상기 가상 콘텐츠 파일이 전체 콘텐츠 파일로 인식하도록 하기 위한 메타정보들(예컨대, 파일크기, 스트림길이, 영상코덱, 또는 음성코덱 중 적어도 하나)을 상기 가상 콘텐츠 파일에 포함시켜 생성할 수 있다.
또한, 상기 콘텐츠의 파일이 상기 콘텐츠의 원본 파일 전체가 존재하지 않으면 재생이 시작되지 않는 파일인 경우에도(예컨대, 스트림 정보가 손상되거나 잘못 적혀있는 파일 등), 상기 생성모듈(120)은 상기 가상 콘텐츠 파일의 크기를 상기 콘텐츠의 메타정보에 포함된 파일 사이즈(즉, 상기 콘텐츠의 파일 사이즈)와 동일하게 생성하고, 상기 콘텐츠 플레이어가 상기 가상 콘텐츠 파일을 완전한 파일로 인식할 수 있도록 소정의 메타정보(예컨대, 파일 크기, 스트림 길이, 영상코데그 음성 코덱 등 정보)를 상기 가상 콘텐츠 파일에 포함하여 생성할 수 있다. 그러면, 상기 콘텐츠 플레이어는 상기 가상 콘텐츠 파일을 상기 콘텐츠의 전체 파일로 인식하여 재생을 시작할 수 있다. 상기 메타정보는 상기 가상 콘텐츠 파일을 생성하기 전에 상기 네트워크 시스템(200) 및/또는 상기 적어도 하나의 저장 시스템(300)(예컨대, 그리드 시스템)으로부터 수신할 수 있으며, 구현 예에 따라 필요한 메타정보가 다를 수도 있음은 본 발명의 기술분야의 평균적 전문가에게 용이하게 추론할 수 있을 것이다.
따라서, 상기 콘텐츠가 상기 로컬 저장장치에 완전히 다운로드 되지 않은 상태에서도 재생이 가능한 효과가 있다.
또한, 상기 콘텐츠의 파일 포맷에 따라서는 전체 파일이 존재하지 않아도 재생이 가능할 수도 있다. 하지만, 이러한 파일 포맷을 갖는 콘텐츠는 재생시에 존재하는 부분까지만 재생이 되고 재생이 종료될 수 있다. 따라서, 콘텐츠의 다운로드 요청 후 짧은 시간 후에 재생을 시작하면, 그때까지 다운로드된 콘텐츠의 일부분만 재생이 되고 종료가 되게 되므로, 실질적으로 콘텐츠를 다운로드하면서 상기 콘텐츠를 소비할 수는 없는 불편함이 있다. 즉, 상기 콘텐츠 전체가 다운로드 되기 전에 재생이 가능하다는 점만 다를 뿐, 콘텐츠를 다운로드 후 다운로드된 콘텐츠를 재생하는 것과 큰 차이가 없게 된다.
하지만, 본 발명의 기술적 사상에 의하면, 상기 콘텐츠 플레이어는 상기 가상 콘텐츠 파일을 콘텐츠 전체가 존재하는 것으로 인식하므로, 상기 가상 콘텐츠 파일의 마지막까지 재생이 완료되지 않는 이상 계속하여 콘텐츠가 재생될 수 있다. 그리고 상기 콘텐츠 플레이어에 의해 상기 콘텐츠의 일부분이 재생되는 중에 앞으로 재생될 부분이 상기 가상 콘텐츠 파일에 연속적으로 포함되도록 하여 상기 콘텐츠가 중간에서 종료되지 않으면서 계속하여 재생될 수 있는 효과가 있다.
또한, 종래의 방식에 의하면 현재 다운로드 되고 있는 부분보다 시간적으로 뒤에 다운로드될 부분을 재생할 수는 없었다. 하지만, 본 발명의 기술적 사상에 의하면, 상기 콘텐츠 플레이어는 상기 가상 콘텐츠 파일을 콘텐츠 전체의 파일로 인식하므로, 상기 콘텐츠의 전체 파일이 로컬 저장장치에 존재하는 것과 마찬가지로, 사용자가 요청하는 특정 위치부터 재생을 하는 기능을 제공할 수 있다. 만약, 상기 특정 위치가 아직 상기 수신모듈(130)에 의해 수신되지 않는 부분인 경우라 할지라도, 상기 수신모듈(130)은 특정 위치에 상응하는 콘텐츠의 일부분을 상기 저장 시스템(300)으로부터 요청하고, 요청된 상기 콘텐츠의 일부분이 수신되면 상기 특정위치에 상응하는 부분부터 재생을 할 수 있게 된다. 물론, 이때에는 약간의 딜레이가 존재할 수는 있다.
한편, 상기 수신모듈(130)은 상기 적어도 하나의 저장 시스템(300)으로부터 상기 콘텐츠의 적어도 일부분을 수신할 수 있다. 이때, 상기 수신모듈(130)은 상기 적어도 하나의 저장 시스템(300)으로부터 그리드 방식(예컨대, P2P 또는 P4P 등)으로 상기 콘텐츠의 적어도 일부분을 수신할 수 있다. 예컨대, 상기 수신모듈(130)은 상기 적어도 하나의 저장 시스템(300)에 포함된 하나 이상의 피어 단말기(예컨대, 320~322)로부터 동시에 또는 순차적으로 상기 콘텐츠의 일부분을 수신할 수 있다. 구현 예에 따라서는 소정의 네트워크 시스템(200), 또는 상기 그리드 방식의 파일전송을 제공하기 위한 다운로드 서버(310)로부터 상기 콘텐츠의 일부분을 수신할 수도 있다.
그러면, 상기 제어모듈(110)은 수신된 상기 콘텐츠의 일부분을 상기 가상 콘텐츠 파일에 포함시키고, 상기 가상 콘텐츠 파일을 상기 콘텐츠 플레이어가 재생하도록 함으로써 본 발명의 기술적 사상에 따라 상기 콘텐츠가 재생되도록 할 수 있다.
이하에서는 상기 제어모듈(110)이 상기 가상 콘텐츠 파일에 상기 콘텐츠의 일부분(에 상응하는 데이터)를 포함시키는 일 예를 살펴보도록 한다.
도 3은 본 발명의 일 실시 예에 따라 상기 가상 콘텐츠 파일에 콘텐츠의 일부를 포함시키는 과정을 설명하기 위한 도면이다.
도 3을 참조하면, 상기 수신모듈(130)은 상기 사용자 단말기의 로컬 저장장치에 소정의 임시(temporary) 파일을 생성할 수 있다. 상기 임시 파일은 미리 설정된 소정의 크기(예컨대, 100byte)를 갖는 파일일 수 있다.
그러면, 상기 수신모듈(130)은 상기 적어도 하나의 저장 시스템(300)으로부터 상기 콘텐츠의 일부분을 수신하고, 수신된 상기 콘텐츠의 일부분을 상기 임시파일에 저장하기 시작할 수 있다. 그러면, 상기 제어모듈(110)은 미리 설정된 소정의 용량(예컨대, 50byte) 만큼이 상기 임시파일에 저장되면, 상기 용량만큼을 상기 가상 콘텐츠 파일의 상응하는 위치에 포함시킬 수 있다. 상기 미리 설정된 소정의 용량은 상기 임시 파일의 크기로 설정될 수도 있지만, 상기 임시파일의 크기보다 작은 값을 갖는 값일 수도 있다. 이처럼 상기 미리 설정된 용량이 상기 임시파일보다 작은 값을 갖는 경우에는 상기 제어모듈(110)이 상기 콘텐츠의 일부분(예컨대, 1)을 상기 가상 콘텐츠 파일에 포함시키는 동안, 계속하여 남은 임시파일의 용량에 상기 콘텐츠의 다른 일부분을 수신하여 저장할 수 있는 효과가 있다.
도 3에 도시된 일 예에 의하면, 상기 수신모듈(130)은 도 3에 도시된 바와 같은 소정의 임시파일을 생성할 수 있다. 또한, 상기 생성모듈(120)은 재생하고자 하는 콘텐츠에 대응되는 소정의 가상 콘텐츠 파일을 전술한 바와 같이 생성할 수 있다. 예컨대, 상기 콘텐츠의 전체 파일 크기가 600Mbyte 인 경우, 상기 생성모듈(120)은 600Mbyte의 가상 콘텐츠 파일을 생성할 수 있다. 생성된 상기 가상 콘텐츠 파일은 유의미한 정보를 포함하지 않는 파일이거나, 전술한 바와 같이 콘텐츠 플레이어가 상기 가상 콘텐츠 파일을 상기 콘텐츠의 전체 파일이라고 인식하도록 하기 위한 소정의 메타정보가 포함된 파일일 수 있다.
예컨대, 사용자가 자신의 사용자 단말기를 이용해 네트워크 시스템(200)에 접속하여 소정의 콘텐츠를 선택할 수 있다. 그러면, 상기 네트워크 시스템(200)은 상기 사용자 단말기에 설치된 상기 콘텐츠 재생시스템(100)으로 상기 콘텐츠에 대한 정보(예컨대, 콘텐츠 식별정보 또는 필요한 경우 메타정보 등)를 전송할 수 있다. 그러면, 상기 생성모듈(120)은 상기 가상 콘텐츠 파일을 생성할 수 있다. 그리고 상기 제어모듈(110)은 상기 사용자 단말기에 설치되어 있는 소정의 콘텐츠 플레이어에 상기 가상 콘텐츠 파일에 대한 경로를 전달할 수 있다. 즉, 상기 가상 콘텐츠 파일의 재생을 요청할 수 있다. 그러면, 상기 콘텐츠 플레이어는 상기 가상 콘텐츠 파일의 재생을 시작할 수 있다.
그러면, 스텝 1에서 상기 수신모듈(130)은 상기 콘텐츠의 일부분(1)을 수신하기 시작하여 상기 임시파일에 저장하기 시작할 수 있다. 만약, 소정의 용량(예컨대, 50byte)이 상기 임시파일에 저장되면, 상기 제어모듈(110)은 상기 일부분(1)을 상기 가상 콘텐츠 파일의 일부분(1-1)으로 포함시킬 수 있다.
또한, 스텝 2에서 상기 수신모듈(130)에 의해 상기 콘텐츠의 일부분(2)이 소정의 용량만큼 상기 임시파일에 저장되면, 상기 제어모듈(110)은 상기 일부분(2)을 상기 가상 콘텐츠 파일의 일부분(2-1)으로 포함시킬 수 있다.
이와 같은 방식으로 스텝 3에서 상기 수신모듈(130)에 의해 상기 콘텐츠의 일부분(3)이 소정의 용량만큼 상기 임시파일에 저장될 수 있다. 이때에는 상기 임시파일에 저장되어 있던 일부분(1)의 데이터는 삭제될 수도 있다. 그러며 상기 제어모듈(110)은 상기 일부분(3)을 상기 가상 콘텐츠 파일의 일부분(3-1)으로 포함시킬 수 있다.
또한, 스텝 4에서 상기 수신모듈(130)에 의해 상기 콘텐츠의 일부분(4)이 소정의 용량만큼 상기 임시파일에 저장되면, 상기 제어모듈(110)은 상기 일부분(4)을 상기 가상 콘텐츠 파일의 일부분(4-1)으로 포함시킬 수 있다.
이와 같은 방식으로 상기 제어모듈(110)은 연속적으로 상기 콘텐츠의 일부분들을 상기 가상 콘텐츠 파일에 포함시킴으로써 연속적으로 상기 콘텐츠를 재생할 수 있다. 여기서 연속적이라 함은 상기 콘텐츠의 재생이 완전히 정지되지 않는 것을 의미하는 것이지, 네트워크의 사정이나 기타 다양한 상황에 의해 콘텐츠가 재생되는 속도보다 상기 수신모듈(130)에 의해 상기 콘텐츠의 일부분이 수신되는 속도가 느린 경우에는 잠시 동안 콘텐츠의 재생이 중단되었다가 다시 재생될 수도 있음은 본 발명의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
이처럼 상기 콘텐츠의 재생이 처음부터 순차적으로 재생되고, 상기 가상 콘텐츠 파일이 원래 콘텐츠의 파일 크기와 동일하게 생성된 경우에는 상기 콘텐츠의 재생이 완료되면 상기 가상 콘텐츠 파일은 상기 콘텐츠의 원본 파일과 동일한 파일이 될 수 있다. 따라서, 도 2에서 설명한 바와 같이 사용자가 선택한 상기 콘텐츠의 소비 방식에 따라 상기 제어모듈(110)은 상기 가상 콘텐츠 파일을 최종적으로 다운로드된 파일로 설정할 수 있다. 예컨대, 상기 사용자가 '다운로드 하면서 재생'을 선택한 경우, 상기 다운로드될 콘텐츠의 다운로드 경로 및 파일이름이 자동 또는 수동으로 설정될 수 있다. 그러면, 상기 제어모듈(110)은 상기 콘텐츠의 전체 데이터가 상기 가상 콘텐츠 파일에 포함된 경우, 상기 가상 콘텐츠 파일을 설정된 다운로드 경로 및 이름으로 설정할 수 있다. 물론, 상기 임시파일은 상기 콘텐츠의 다운로드 완료 후 삭제될 수도 있다.
한편, 상기 가상 콘텐츠 파일이 반드시 원본 콘텐츠 파일에 상응하는 크기(예컨대, 실질적으로 동일한 크기)를 가질 필요는 없다. 예컨대, 상기 가상 콘텐츠 파일이 상기 원본 콘텐츠 파일의 크기보다 작은 경우에는, 상기 가상 콘텐츠 파일에 포함된 상기 콘텐츠의 일부분 중 이미 재생된 부분은 오버라이트(over write)될 수도 있다.
한편 본 발명의 다른 실시 예에 따라 상기 가상 콘텐츠 파일에 콘텐츠의 일부를 포함시키는 과정은 도 4에 도시된다.
도 4는 본 발명의 다른 실시 예에 의한 콘텐츠 재생방법에 따라 가상 콘텐츠 파일의 변화 과정을 설명하기 위한 도면이다.
도 4에 도시된 일 예에 의하면, 상기 콘텐츠 재생시스템(100)은 가상 콘텐츠 파일과 실제 다운로드 할 상기 콘텐츠 파일의 크기를 동일하게 생성할 수 있다. 이러한 경우는 도 3에 도시된 바에 비해 임시파일을 생성하여 임시파일에 저장될 데이터의 기입 또는 오버라이트 등을 관리하지 않아도 되고, 상기 로컬 컨텐츠 파일 자체가 사용자 단말기에 저장되는 다운로드된 파일이 되므로 구현이 용이한 장점이 있다. 하지만, 도 3과 비교할 때보다 많은 여유 용량이 요구될 수 있다.
도 4를 참조하면, 상기 콘텐츠 재생시스템(100)은 상기 사용자 단말기의 로컬 저장장치에 로컬 콘텐츠 파일과 가상 콘텐츠 파일을 각각 생성할 수 있다. 상기 가상 콘텐츠 파일은 전술한 바와 같이 상기 생성모듈(120)에 의해 생성될 수 있으며, 상기 로컬 콘텐츠 파일은 상기 제어모듈(110) 및/또는 상기 생성모듈(120)에 의해 생성될 수 있다. 상기 로컬 콘텐츠 파일은 처음부터 원본 콘텐츠 파일의 크기로 생성될 수도 있지만, 콘텐츠의 일부가 수신되면 파일이 생성되어 점점 커지도록 구현될 수도 있다. 즉, 상기 로컬 콘텐츠 파일은 일반적인 다운로드 방식 또는 그리드 방식의 파일 다운로드 방식에 따라 생성되는 파일일 수 있다.
예컨대, 스텝 1에서는 로컬 콘텐츠 파일은 생성되지 않고, 상기 가상 콘텐츠 파일만 생성되어 존재하는 상황일 수 있다.
이후, 스텝 2에서 상기 수신모듈(130)에 의해 상기 콘텐츠의 일부(5)가 수신되면, 상기 제어모듈(110)은 수신된 상기 콘텐츠의 일부(5)를 상기 가상 콘텐츠 파일의 일부(5-1)로 포함시킬 수 있다. 상기 제어모듈(110)은 전술한 바와 같이 미리 설정된 용량만큼 상기 콘텐츠의 일부가 수신되면, 상기 일부(5)를 상기 가상 콘텐츠 파일에 포함시킬 수 있다. 그러면, 상기 가상 콘텐츠 파일에 포함된 상기 일부(5-1)는 상기 콘텐츠 플레이어에 의해 재생될 수 있다.
그리고 스텝 3에서 일정 용량만큼의 상기 콘텐츠의 일부(6)가 더 수신되면, 수신된 상기 일부(6)를 상기 가상 콘텐츠 파일의 일부(6-1)로 포함시킬 수 있다. 그러면, 상기 가상 콘텐츠 파일에 포함된 상기 일부(6-1)가 상기 일부(5-1)가 재생된 후에 상기 콘텐츠 플레이어에 의해 재생될 수 있다.
마찬가지로, 스텝 4에서 일정 용량만큼의 상기 콘텐츠의 일부(7)가 더 수신되면, 수신된 상기 일부(6)를 상기 가상 콘텐츠 파일의 일부(7-1)로 포함시킬 수 있다. 그러면, 상기 가상 콘텐츠 파일에 포함된 상기 일부(7-1)는 상기 콘텐츠 플레이어에 의해 재생될 수 있다.
이처럼 반복적으로 상기 콘텐츠의 일부를 상기 가상 콘텐츠 파일에 포함시키면, 최종적으로는 상기 로컬 콘텐츠 파일과 상기 가상 콘텐츠 파일은 원본 콘텐츠 파일과 동일한 파일로 생성될 수 있다.
그 결과는 도 6에 도시된 바와 같을 수 있다.
도 6은 본 발명의 실시 예에 따른 콘텐츠 재생방법에 따라 사용자 단말기에 저장된 콘텐츠 및 가상 콘텐츠 파일의 일 예를 나타낸다.
도 6을 참조하면, 도 4에서 설명한 바와 같은 방식으로 상기 콘텐츠를 다운로드하고 다운로드 하면서 상기 콘텐츠가 재생되도록 할 수 있다. 이에 따라 상기 콘텐츠의 다운로드가 완료되면 상기 사용자 단말기의 로컬 저장장치에는 도 6에 도시된 바와 같이 로컬 콘텐츠 파일(예컨대, Contents1.mpeg)과 상기 가상 콘텐츠 파일(예컨대, Contents1_v.mpeg)이 저장될 수 있다.
이처럼 로컬 콘텐츠 파일과 가상 콘텐츠 파일이 동일하게 상기 로컬 저장장치에 저장되는 경우에는, 상기 제어모듈(110)은 상기 가상 콘텐츠 파일을 삭제할 수도 있다. 그에 따라 동일한 파일이 복수로 존재하는 것을 방지할 수 있다.
한편, 전술한 바와 같이 본 발명의 기술적 사상에 의하면, 상기 콘텐츠 재생시스템(100)은 상기 콘텐츠가 완전히 다운로드 되기 전에, 아직 다운로드 되지 않은 콘텐츠의 특정 부분을 스킵하여 재생할 수 있는 효과도 있다.
이는 도 5를 참조하여 설명하도록 한다.
도 5는 본 발명의 실시 예에 따른 콘텐츠 재생방법에 따라 사용자 단말기에 콘텐츠의 전체 파일을 다운로드 하지 않아도 콘텐츠를 스킵(skip)하여 재생할 수 있는 방법을 설명하기 위한 도면이다.
도 5를 참조하면, 사용자는 소정의 콘텐츠를 다운로드 하면서 도 5에 도시된 바와 같이 콘텐츠 플레이어를 통해 재생되는 상기 콘텐츠를 소비할 수 있다. 이때 상기 사용자 단말기의 로컬 저장장치에 저장되어 있는 로컬 콘텐츠 파일 및 가상 콘텐츠 파일의 상태는 도 5의 우측 상단에 도시된 바와 같을 수 있다. 즉, 상기 로컬 콘텐츠 파일은 상기 콘텐츠의 처음부터 현재 재생되고 있는 상기 콘텐츠의 일부분(예컨대, 8)까지에 상응하는 데이터가 저장되어 있을 수 있다. 그리고, 상기 일부분(8)은 상기 가상 콘텐츠 파일의 일부분(8-1)으로 포함되어 있는 상태일 수 있다.
이때 사용자가 상기 콘텐츠 플레이어의 소정의 UI(예컨대, 타임라인(time line))을 이용하여 상기 콘텐츠의 특정 부분의 재생을 요청할 수 있다. 상기 특정 부분에 상응하는 상기 콘텐츠의 데이터(예컨대, 9 또는 9-1)는 아직 상기 로컬 콘텐츠 파일 및/또는 상기 가상 콘텐츠 파일에 저장되지 않은 데이터일 수 있다.
상기 특정 부분의 재생요청에 응답하여 상기 콘텐츠 플레이어는 상기 가상 콘텐츠 파일에서 사용자가 선택한 선택위치에 해당하는 데이터(예컨대, 9 또는 9-1)를 읽으려고 시도(예컨대, 파일 I/O 요청)할 수 있다. 그러면, 상기 제어모듈(110)은 이러한 시도를 후킹(hooking) 등을 통해 확인할 수 있다. 그러면, 상기 제어모듈(110)은 상기 선택위치에 해당하는 데이터(즉, 상기 콘텐츠의 일부, 9)를 상기 적어도 하나의 저장 시스템(300)으로부터 수신하도록 상기 수신모듈(130)을 제어할 수 있다. 그러면, 상기 수신모듈(130)은 상기 적어도 하나의 저장 시스템(300)으로부터 수신된 상기 데이터(9)를 상기 로컬 콘텐츠 파일에 저장할 수 있다. 이때 상기 수신모듈(130)은 상기 로컬 콘텐츠 파일에서 상기 데이터(9)에 상응하는 위치에 상기 데이터(9)를 저장할 수 있다. 상기 데이터(9)가 상기 수신모듈(130)에 의해 상기 로컬 콘텐츠 파일에 저장되면, 상기 제어모듈(110)은 상기 데이터(9)를 상기 가상 콘텐츠 파일의 일부(9-1)로 포함시킬 수 있다. 그러면, 상기 콘텐츠 재생시스템(100)은 상기 가상 콘텐츠 파일에 포함된 상기 일부(9-1)를 재생하여 상기 사용자가 선택한 위치에 상응하는 상기 콘텐츠의 일부분을 재생할 수 있다.
그리고 도 3 또는 도 4에서 설명한 바와 같이 상기 선택 위치 이후의 부분이 재생될 수 있으며, 상기 로컬 콘텐츠 파일 및 상기 가상 콘텐츠 파일 각각에서는 상기 선택위치에 상응하는 데이터(즉, 9 또는 9-1) 이후의 데이터가 저장될 수 있다.
구현 예에 따라, 스킵된 부분에 상응하는 상기 콘텐츠의 일부분(예컨대, 데이터 8과 9 사이의 데이터)은 상기 콘텐츠의 마지막까지 다운로드가 완료된 후, 상기 적어도 하나의 저장 시스템(300)으로부터 수신될 수도 있다.
이처럼 본 발명의 기술적 사상에 의하면, 아직 다운로드 되지 않은 부분에 대한 재생요청이 사용자 단말기로부터 수신되는 경우에도, 상기 콘텐츠 플레이어는 상기 가상 콘텐츠 파일이 전체 콘텐츠 파일로 인식하고 있으므로 오류 없이 요청된 부분에 상응하는 데이터를 요청할 수 있다. 그러면, 상기 콘텐츠 재생시스템(100)은 요청된 부분에 상응하는 데이터를 수신하여 상기 가상 콘텐츠 파일에 포함시킴으로써 상기 콘텐츠의 다운로드 중에도 사용자가 원하는 부분을 스킵하여 재생할 수 있는 효과가 있다.
본 발명의 실시 예에 따른 콘텐츠 재생방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
Claims (17)
- 사용자 단말기가 네트워크 시스템에 접속하여 소정의 콘텐츠를 요청하는 콘텐츠 요청을 출력하면, 요청된 상기 콘텐츠에 대응되는 가상 콘텐츠 파일을 생성하기 위한 생성모듈;
상기 콘텐츠 요청에 응답하여 적어도 하나의 저장 시스템으로부터 상기 콘텐츠 중 적어도 일부를 수신하기 위한 수신모듈; 및
상기 수신모듈에 의해 수신된 상기 콘텐츠 중 적어도 일부를 상기 가상 콘텐츠 파일에 포함시키고, 상기 가상 콘텐츠 파일을 콘텐츠 플레이어가 재생하도록 하기 위한 제어모듈을 포함하며,
상기 수신모듈은,
상기 콘텐츠 플레이어가 상기 사용자 단말기로부터 상기 콘텐츠의 특정 부분부터의 재생요청을 수신하면 상기 특정 부분에 상응하는 데이터 요청을 상기 콘텐츠 플레이어로부터 수신하고,
수신된 상기 데이터 요청에 응답하여 상기 저장시스템으로부터 상기 특정 부분에 상응하는 상기 콘텐츠의 일부를 수신하기 시작하는 것을 특징으로 하는 콘텐츠 재생시스템.
- 제 1항에 있어서, 상기 생성모듈은,
상기 콘텐츠의 파일크기에 상응하는 크기를 갖는 상기 가상 콘텐츠 파일을 생성하는 것을 특징으로 하는 콘텐츠 재생시스템.
- 제 1항에 있어서, 상기 저장 시스템은,
하나 이상의 피어(peer) 단말기, 소정의 다운로드 서버, 또는 상기 네트워크 시스템 중 적어도 하나를 포함하는 것을 특징으로 하는 콘텐츠 재생시스템.
- 제 3항에 있어서, 상기 수신모듈은,
상기 저장 시스템으로부터 그리드(grid) 방식으로 수신하는 것을 특징으로 하는 콘텐츠 재생시스템.
- 제 1항에 있어서, 상기 수신모듈은,
상기 저장 시스템으로부터 수신된 상기 콘텐츠 중 적어도 일부를 로컬 콘텐츠 파일로 저장하는 것을 특징으로 하는 콘텐츠 재생시스템.
- 삭제
- 제 1항에 있어서, 상기 제어모듈은,
상기 수신모듈에 의해 단위 용량만큼의 상기 콘텐츠의 일부가 수신되면, 상기 콘텐츠의 일부를 단위 용량별로 상기 가상 콘텐츠 파일에 포함시키는 것을 특징으로 하는 콘텐츠 재생시스템.
- 제 5항에 있어서, 상기 제어모듈은,
상기 콘텐츠 전체가 상기 로컬 컨텐츠 파일로 저장되면, 상기 가상 콘텐츠 파일을 상기 사용자 단말기에서 삭제하는 것을 특징으로 하는 콘텐츠 재생시스템.
- 제 5항에 있어서, 상기 제어모듈은,
상기 콘텐츠 플레이어로 상기 가상 콘텐츠 파일에 대한 경로를 전달하는 것을 특징으로 하는 콘텐츠 재생시스템.
- 삭제
- 삭제
- 콘텐츠를 재생하기 위한 콘텐츠 재생방법에 있어서,
사용자 단말기가 네트워크 시스템에 접속하여 소정의 콘텐츠를 요청하는 콘텐츠 요청을 출력하면, 콘텐츠 재생시스템이 요청된 상기 콘텐츠에 대응되는 가상 콘텐츠 파일을 생성하는 단계;
상기 콘텐츠의 적어도 일부를 적어도 하나의 저장시스템으로부터 수신하는 단계; 및
수신된 상기 콘텐츠의 적어도 일부를 상기 가상 콘텐츠 파일에 포함시키는 단계를 포함하며,
상기 가상 콘텐츠 파일이 콘텐츠 플레이어에 의해 재생되는 것을 특징으로 하고,
상기 콘텐츠 재생방법은,
상기 콘텐츠 플레이어가 상기 사용자 단말기로부터 상기 콘텐츠의 특정 부분부터의 재생요청을 수신하면, 상기 콘텐츠 재생시스템이 상기 특정 부분에 상응하는 데이터 요청을 상기 콘텐츠 플레이어로부터 수신하는 단계;
수신된 상기 데이터 요청에 응답하여 상기 저장시스템으로부터 상기 특정 부분에 상응하는 상기 콘텐츠의 일부를 수신하는 단계; 및
수신된 상기 특정 부분에 상응하는 상기 콘텐츠의 일부를 상기 가상 콘텐츠 파일에 포함시키는 단계를 더 포함하는 콘텐츠 재생방법.
- 제 12항에 있어서, 상기 가상 콘텐츠 파일을 생성하는 단계는,
상기 콘텐츠 재생시스템이 상기 콘텐츠의 파일크기에 상응하는 크기를 갖는 상기 가상 콘텐츠 파일을 생성하는 단계를 포함하는 콘텐츠 재생방법.
- 삭제
- 제 12항에 있어서, 상기 콘텐츠의 적어도 일부를 상기 가상 콘텐츠 파일에 포함시키는 단계는,
수신된 상기 콘텐츠의 적어도 일부를 소정의 단위 용량별로 상기 가상 콘텐츠 파일에 포함시키는 단계를 포함하는 콘텐츠 재생방법.
- 삭제
- 제 12항 , 제 13항, 또는 제 15항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110086344A KR101269052B1 (ko) | 2011-08-29 | 2011-08-29 | 가상 콘텐츠 파일을 이용하는 콘텐츠 재생시스템 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110086344A KR101269052B1 (ko) | 2011-08-29 | 2011-08-29 | 가상 콘텐츠 파일을 이용하는 콘텐츠 재생시스템 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130023522A KR20130023522A (ko) | 2013-03-08 |
KR101269052B1 true KR101269052B1 (ko) | 2013-05-29 |
Family
ID=48175741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110086344A KR101269052B1 (ko) | 2011-08-29 | 2011-08-29 | 가상 콘텐츠 파일을 이용하는 콘텐츠 재생시스템 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101269052B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102395540B1 (ko) * | 2020-06-17 | 2022-05-06 | 주식회사 한화 | 시뮬레이션 파일을 저장하고 재생하는 장치 및 그 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005184472A (ja) * | 2003-12-19 | 2005-07-07 | Matsushita Electric Ind Co Ltd | コンテンツ配信システム |
WO2006062585A1 (en) | 2004-12-06 | 2006-06-15 | Hewlett-Packard Development Company, L.P. | Simultaneous audio and visual content download and playback |
-
2011
- 2011-08-29 KR KR1020110086344A patent/KR101269052B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005184472A (ja) * | 2003-12-19 | 2005-07-07 | Matsushita Electric Ind Co Ltd | コンテンツ配信システム |
WO2006062585A1 (en) | 2004-12-06 | 2006-06-15 | Hewlett-Packard Development Company, L.P. | Simultaneous audio and visual content download and playback |
Also Published As
Publication number | Publication date |
---|---|
KR20130023522A (ko) | 2013-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102047495B1 (ko) | 클라이언트에서 캐시를 이용하여 서버의 멀티 미디어 컨텐트를 스트리밍 재생하는 방법 및 이를 위한 장치 | |
CA2793450C (en) | Media content improved playback quality | |
EP1239673B1 (en) | Method and memory for storing content | |
CN104871551B (zh) | 自适应比特率视频内容传递中特技播放禁用的实施 | |
JP4835170B2 (ja) | コンテンツ共有装置及びコンテンツ共有方法 | |
KR20080063200A (ko) | 재생 장치 및 재생 제어 방법 | |
US20080240670A1 (en) | Picture recording system and picture recording and reproducing method | |
JP2008113147A (ja) | コンテンツ受信装置並びに録画装置、再生装置及び受信装置 | |
JP5150459B2 (ja) | コンテンツ配信方法及び受信装置 | |
US20150268808A1 (en) | Method, Device and System for Multi-Speed Playing | |
US20100191755A1 (en) | Method and apparatus for managing contents by using content tag | |
KR101269052B1 (ko) | 가상 콘텐츠 파일을 이용하는 콘텐츠 재생시스템 및 그 방법 | |
WO2016197867A1 (zh) | 应用于计算设备的数据处理方法及设备 | |
CN101926170A (zh) | 用于对等体的内容记录控制方法及其装置 | |
JP2005117367A (ja) | 情報提供システム及び情報提供方法、コンテンツ録画装置及びコンテンツ録画方法、並びにコンピュータ・プログラム | |
US20080060039A1 (en) | Apparatus and method of storing broadcasting service | |
JP2010272058A (ja) | 情報再生装置 | |
JP2008301250A (ja) | コンテンツ再生システムおよびコンテンツ再生方法 | |
JP6080781B2 (ja) | 情報再生システム、情報再生方法、及び情報再生装置 | |
KR101947186B1 (ko) | 콘텐츠 재생 방법 및 그 시스템 | |
JP6957898B2 (ja) | 情報機器 | |
JP2010226523A (ja) | コンテンツサーバ装置、コンテンツ送信方法およびコンテンツ送信プログラム | |
US9378300B2 (en) | Interface method and display device | |
JP6664587B1 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
JP6555030B2 (ja) | 情報機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160523 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170511 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180521 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |