KR101553094B1 - 전자 배포를 위한 콘텐츠 패키지 - Google Patents

전자 배포를 위한 콘텐츠 패키지 Download PDF

Info

Publication number
KR101553094B1
KR101553094B1 KR1020117008011A KR20117008011A KR101553094B1 KR 101553094 B1 KR101553094 B1 KR 101553094B1 KR 1020117008011 A KR1020117008011 A KR 1020117008011A KR 20117008011 A KR20117008011 A KR 20117008011A KR 101553094 B1 KR101553094 B1 KR 101553094B1
Authority
KR
South Korea
Prior art keywords
content package
data
file
content
media
Prior art date
Application number
KR1020117008011A
Other languages
English (en)
Other versions
KR20110070855A (ko
Inventor
로버트 킬로이 휴즈 주니어
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20110070855A publication Critical patent/KR20110070855A/ko
Application granted granted Critical
Publication of KR101553094B1 publication Critical patent/KR101553094B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • G06F16/4387Presentation of query results by the use of playlists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Television Signal Processing For Recording (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 미디어 파일 및 TOC(table of contents) 데이터를 가지는 콘텐츠 패키지를 규정하는 것에 관한 것이다. 콘텐츠 패키지는 미디어 파일을 위한 물리적 표현 데이터 및 논리적 표현 데이터를 포함한다(예를 들면, TOC 데이터 내에 저장된다). 컴퓨팅 장치는 콘텐츠 패키지의 데이터에 기반하여 미디어 파일을 저장, 다운로드 및 재생한다. 콘텐츠 패키지 내의 프리젠테이션(예를 들면, 파일들의 집합)은 미디어 파일의 구성에 기반한 추출을 위하여 사용 가능하다. 미디어 파일은 컴퓨팅 장치의 사용자에 대한 프리젠테이션을 위하여, 또는 컴퓨팅 장치에 의해 저장되기 위하여 제공된다.

Description

전자 배포를 위한 콘텐츠 패키지{CONTENT PACKAGE FOR ELECTRONIC DISTRIBUTION}
기존의 시스템들은 파일을 저장하기 위하여 일반적인 컨테이너(containers)를 제공한다. 예를 들면, zip, tar, cab과 같은 파일 컨테이너들은 다수의 파일들을 단일 파일로 그룹화(grouping)하기 위한 수단을 제공한다. 비디오 교환 포맷(video interchange formats)은 미디어 파일들 또는 스트림들을 단일 파일로 그룹화하기 위하여 존재한다. 그러나, 기존의 시스템들에 따른 포맷들로 파일을 얻은 후, 컴퓨팅 장치(computing device)는 얻어진 파일을 저장 또는 재생하기 위하여 재허가(re-author) 또는 재포맷(reformat) 해주어야 한다. 다른 결함들 중에서도, 기존의 시스템들은 사용자에 의해 쉽게 수정되고 렌더링될(rendered) 수 있는 파일 컨테이너를 제공하기 위한 메커니즘이 부족하다.
본 명세서의 실시예는 디지털 전달 시스템(digital delivery systems)을 통해 오디오와 비디오를 저장, 다운로드 및 재생하기 위한 콘텐츠 패키지를 제공한다. 제1 컴퓨팅 장치는 하나 또는 그 이상의 미디어 파일을 저장하는 콘텐츠 패키지를 제2 컴퓨팅 장치에서 검색(retrieve)한다. 제1 컴퓨팅 장치는 검색된 콘텐츠 패키지로부터 TOC(table of contents; 내용 목록) 데이터를 추출(extract)한다. TOC 데이터는 콘텐츠 패키지에 대응하는 물리적 표현 데이터(physical representation data)와 그 패키지의 콘텐츠에 대응하는 논리적 표현 데이터(logical representation data)를 포함한다. 제1 컴퓨팅 장치는 물리적 표현 데이터에 기반하여 콘텐츠 패키지를 저장하며, 논리적 표현 데이터를 이용하여 하나 또는 그 이상의 미디어 파일에 액세스한다. 액세스된 미디어 파일은 프리젠테이션을 위해 제1 컴퓨팅 장치의 사용자에게 제공된다.
이 발명의 내용 부분은 발명의 상세한 설명에서 더 상세히 후술될 개념의 선택을 단순화된 형식으로 소개하기 위하여 제공된 것이다. 이 발명의 내용 부분은 청구된 청구 대상의 핵심 특징 또는 본질적 특징을 파악하기 위하여 의도된 것이 아니며, 청구된 청구 대상의 범주를 판단하는데 이용되기 위하여 의도된 것도 아니다.
도 1은 콘텐츠 패키지를 저장하는 컴퓨팅 장치를 도시하는 예시적인 블록도.
도 2는 콘텐츠 패키지를 검색하고 처리하기 위한 컴퓨팅 장치의 동작을 도시하는 예시적인 흐름도.
도 3은 콘텐츠 패키지의 로딩(loading) 및 파싱(parsing), 그리고 미디어 플레이어로의 제어 이전(transfer of control)을 도시하는 예시적인 흐름도.
도 4는 콘텐츠 패키지를 생성하기 위한 구성 요소들을 저장하는 컴퓨터 판독 가능 매체(computer-readable medium)를 도시하는 예시적인 블록도.
도 5는 콘텐츠 패키지에 대응하는 데이터 구조를 도시하는 예시적인 블록도.
대응하는 참조 문자는 도면 전체에서 대응하는 부분을 표시한다.
도면을 참조하여, 본 명세서의 실시예는 디지털 배포 시스템(digital distribution system)을 통한 저장 및 재생을 위하여 적어도 미디어 파일(120) 및 콘텐츠 패키지(110)를 제공한다. 미디어 파일(120)은 디스크 기록(recording)을 위한 디스크 이미지 파일(disc image files)로의 물리적 액세스 및 디스크 이미지 내에서 (예를 들면, 추출 과정 없이) 미디어 파일(120)의 재생을 가능하게 하는 논리적 액세스 모두를 제공하기 위하여, 콘텐츠 패키지(110) 내에서 논리적 및 물리적 레벨 모두에 있어 고유하게 식별된다.
다수의 작업 및/또는 각 작업의 다수의 버전(versions)을 포함하는 하나 또는 그 이상의 프리젠테이션이 콘텐츠 패키지(110)에 포함될 수 있다. 프리젠테이션은 상이한 비디오 포맷, 해상도(resolutions), 암호화 기법(encryption schemes) 및 다른 특징들을 저장하는 하나 또는 그 이상의 파일의 집합에 대응한다. 콘텐츠 패키지(110)는 단일 파일로 결합되는 컴퓨팅 장치(104)의 기본 포맷(native format)으로 각각의 프리젠테이션을 복사하는 기능 및 콘텐츠 패키지(110)에 내장된 미디어 파일(120)을 직접 재생하는 기능을 제공한다.
다시 도 1을 참조하면, 예시적인 블록도는 콘텐츠 패키지(110)를 저장하는 컴퓨팅 장치(104)를 도시한다. 컴퓨팅 장치(104)는 예를 들면 퍼스널 컴퓨터(personal computer), 미디어 기능을 가진 소형 노트북 컴퓨터(small notebook computer), 모바일 컴퓨팅 장치(mobile computing device), 게임 콘솔(gaming console), 휴대폰(cell phone), 휴대용 미디어 플레이어(portable media player) 또는 DVD(digital versatile disc) 플레이어와 같은 임의의 컴퓨팅 장치를 포함한다. 컴퓨팅 장치(104)는 적어도 프로세서(108) 및 메모리 영역(106)을 포함한다. 프로세서(108)는 임의의 수량의 프로세싱 유닛(processing units)을 포함하며, 본 개시의 태양을 구현하기 위한 컴퓨터 실행 가능 명령(computer-executable instructions)을 실행하도록 프로그램된다. 명령은 컴퓨팅 장치(104) 내에서 실행하는 프로세서(108) 또는 다수의 프로세서들에 의해 수행되거나, 또는 컴퓨팅 장치(104) 외부의 프로세서에 의해 수행될 수 있다. 몇몇의 실시예에서, 프로세서(108)는 도면(예를 들면, 도 2 및 도 3)에 도시된 것과 같은 명령을 실행하도록 프로그램된다.
메모리 영역(106) 또는 다른 컴퓨터 판독 가능 매체는 콘텐츠 패키지(110)를 저장한다. 몇몇의 실시예에서, 콘텐츠 패키지(110)는 하나 또는 그 이상의 미디어 파일(120)을 포함하며 광디스크 이미지(optical disc image)를 나타내는 반면에, 다른 실시예에서 콘텐츠 패키지(110)는 어떤 미디어 파일(120)도 저장하지 않을 수 있다.
다른 실시예에서, 콘텐츠 패키지(110)는, 예를 들어 사용자(102)에게 렌더링하기 위한 파일들의 집합을 포함하는 프리젠테이션을 나타낸다. 프리젠테이션은 그래픽 파일(graphics files), 하이퍼텍스트 페이지(hypertext pages) 및 실행 가능 코드(executable code)와 같은 다른 파일들에 더하여, 하나 또는 그 이상의 미디어 파일(120)을 포함할 수 있다. 프리젠테이션의 파일들은 비트 레이트(bit rate), 비디오 포맷, 형태(aspect), 해상도, 암호화 및 압축(compression)과 같은 인코딩 특성에 기반하여 상이할 수 있다. 프리젠테이션은 기본(basic) 비디오 파일 세트 또는 향상된(enhanced) 비디오 파일 세트를 나타낼 수 있으며, 동일한 비디오 파일은 프리젠테이션 모두에 이용되지만, 향상된 비디오 파일 세트는 사용자 상호작용(user interaction)을 향상시키기 위한 추가적인 파일들을 포함한다. 또 다른 예시로서, 프리젠테이션은 상이한 텔레비전 에피소드(television episodes), 상이한 뮤직 비디오, 상이한 예고편(trailers), 광고를 포함하거나 포함하지 않는 미디어 콘텐츠, 기타 특성(extra features), 음악 등을 나타낸다. 또 다른 예시로서, 프리젠테이션은 리던던시(redundancy) 또는 검증(verification)을 위하여 동일한 파일들의 복사본들을 포함한다.
각각의 프리젠테이션은 컴퓨팅 장치(104) 상에서 실행하는 미디어 플레이어의 특정한 구성과 연관될 수 있다. 예를 들면, 미디어 플레이어의 구성은 미디어 플레이어의 소프트웨어 기능 및/또는 미디어 플레이어를 위해 컴퓨팅 장치(104)가 제공하는 하드웨어 지원(hardware support)에 의존한다. 또 다른 예시에서, 만일 미디어 플레이어에서 특정한 구성이 검출된다면 몇몇 프리젠테이션은 실행되지 않는다.
콘텐츠 패키지(110)는 TOC(table of contents) 데이터(114)를 더 포함한다. 도 1의 예시에서, TOC 데이터(114)는 논리적 표현 데이터(118)를 포함한다. 논리적 표현 데이터(118)는 콘텐츠 패키지(110)의 파일에 대한 파일-레벨 액세스(file-level access)를 제공하며, 파일들의 디렉토리 구조(directory structure)를 포함한다. 논리적 표현 데이터(118)는 미디어 파일(120)의 재생이 가능하도록, 디스크 이미지에 내장된 미디어 파일(120)에 대한 논리적 액세스를 제공한다. 예를 들면, 논리적 표현은 파일들의 디렉토리 및 오디오비주얼(audiovisual) 작업과 연관된 하나 또는 그 이상의 파일에 대한 파일 경로를 내장한다. 그 파일은 콘텐츠 패키지(110)에 내장된 내부 파일일 수도 있고, 또는 콘텐츠 패키지(110)에 대한 외부 파일일 수도 있다(예를 들면, 콘텐츠 패키지(110)가 콘텐츠 패키지(110) 내에 저장되지 않은 파일에 대한 경로를 포함하는 경우이다). 외부 파일 경로는 외부 파일을 콘텐츠 패키지(110) 내로 복사하거나, 논리적으로 그 파일을 포함하는 프리젠테이션을 렌더링하는 도중에 그 파일의 콘텐츠에 대한 스트리밍 액세스를 제공하는데 이용될 수 있다.
콘텐츠 패키지(110)는 물리적 표현 데이터(116)를 더 포함한다. 물리적 표현 데이터(116)는 콘텐츠 패키지(110)의 데이터 스트림(data streams)에 대한 바이트 레벨 액세스(byte-level access)를 제공한다. 예를 들면, 물리적 표현 데이터(116)는 디스크 기록을 위하여 디스크 이미지 파일 스트림(disc image file streams)에 대한 물리적 액세스를 제공한다.
도 1에서 도시된 바와 같은 실시예에서, 물리적 표현 데이터(116)는 논리적 표현 데이터(118)와 독립적이거나 분리되어 있다. 예를 들면, 물리적 표현 데이터(116)는 압축 유틸리티(compression utility)의 동작으로 인한 것임에 반하여, TOC 데이터(114)는 콘텐츠 패키지(110)의 콘텐츠로서 논리적 표현 데이터(118)를 내장한다. 그러나, 또 다른 실시예에서, 물리적 표현 데이터(116)와 논리적 표현 데이터(118)는 TOC 데이터(114)에 함께 그룹화되기도 한다.
콘텐츠 패키지(110)는, 몇몇 실시예에서, 합성 콘텐츠 식별자(compound content identifier)에 의해 식별된다. 합성 콘텐츠 식별자는 하나 또는 그 이상의 미디어 파일(120)에 의해 나타나지는 하나 또는 그 이상의 오디오비주얼 작업을 식별하는 제1 부분을 포함한다. 예를 들면, 제1 부분은 ISAN(International Standard Audiovisual Number) 번호 부여(numbering) 및 메타데이터 시스템(metadata system)에 따르는 것과 같은 네임스페이스(namespace) 식별자이다. 합성 콘텐츠 식별자는 콘텐츠 패키지(110)의 적어도 하나의 인코딩 특성에 대응하는 제2 부분을 더 포함한다.
몇몇 실시예에서, 다른 데이터는 TOC 데이터(114)에 표시되고, 콘텐츠 데이터(content data)에 포함될 수 있다. 예를 들면, 콘텐츠 패키지(110)는 다음 중 하나 또는 그 이상을 포함한다. 콘텐츠 패키지(110)와 연관된 디지털 저작권 관리(digital rights management) 시스템을 식별하는 데이터, 미디어 파일(120)의 암호 해독(decrypting)을 위하여 라이센스 파일을 식별하는 데이터, 디지털 저작권 관리 시스템의 키 관리(key management)를 위하여 시스템 갱신 메시지 파일(system renewability message file)을 식별하는 데이터, 콘텐츠 패키지(110)에 액세스하기 위하여 라이센스를 저장하는 라이센스 서버(license server)의 위치를 식별하는 데이터 및 사용자(102)와의 상호작용을 위한 프리젠테이션 파일(예를 들면, 메뉴, 네비게이션 콘텐츠).
일반적으로, 메모리 영역(106)은 컴퓨팅 장치(104)와 연관된다. 예를 들면, 도 1에서 메모리 영역(106)은 컴퓨팅 장치(104) 내에 있다. 그러나, 메모리 영역(106) 또는 그곳에 저장된 임의의 데이터는, 컴퓨팅 장치(104)로부터 국부적(local) 또는 원격적(remote)인 임의의 서버 또는 다른 컴퓨터와 연관될 수 있다(예를 들면, 네트워크를 통해 액세스 가능하도록).
몇몇 실시예에서, 컴퓨팅 장치(104)는 사용자(102)와 연관되며, 컴퓨팅 장치(104) 상에서 실행하는 미디어 플레이어 어플리케이션 프로그램은 하나 또는 그 이상의 미디어 파일(120)을 콘텐츠 패키지(110)로부터 사용자(102)에게 렌더링한다. 그러한 실시예에서, 컴퓨팅 장치(104)는 콘텐츠 공급자(112)로부터 콘텐츠 패키지(110)를 수신한다.
다음으로 도 2를 참조하면, 예시적인 흐름도는 콘텐츠 패키지(110)를 검색하고 처리하기 위한 컴퓨팅 장치(104)의 동작을 도시한다. 도 2의 예시에서, 컴퓨팅 장치(104)는 사용자(102)와 연관된다. 그러나, 또 다른 실시예에서, 도 2에서 도시되고 기술된 동작은 사용자(102)의 컴퓨팅 장치(104)로부터 원격적인 하나 또는 그 이상의 컴퓨팅 장치에 의해 클라우드 서비스(cloud service) 실시예로서 수행된다.
단계(202)에서, 미디어 파일(120)을 저장하는 콘텐츠 패키지(110)는 컴퓨팅 장치(104)에 의해 검색된다. 예를 들면, 사용자(102)는 웹사이트를 찾아보고, 영화를 구매하며, 구매된 영화를 다운로드한다. 단계(204)에서 컴퓨팅 장치(104)는 TOC 데이터(114)를 추출하고, 단계(206)에서는 콘텐츠 패키지(110)의 물리적 표현 데이터(116)에 기반하여 콘텐츠 패키지(110)를 저장한다. 예를 들면, TOC 데이터(114)가 추출되는 동안, 다운로드된 콘텐츠 패키지(110)는 내부 메모리에 저장될 수 있고, 그 후 콘텐츠 패키지(110)는 DVD에 기록된다. 다른 대안으로서 또는 더 추가적으로, 콘텐츠 패키지(110) 내의 TOC 데이터(114)는 먼저 다운로드 및 파싱될 수 있다. 콘텐츠 패키지(110) 내의 남은 데이터는 콘텐츠 패키지(110)의 물리적 표현의 대응하는 업데이트와 함께 콘텐츠 패키지(110)에 다운로드 및 저장되며, 그 후 물리적 표현 데이터(116)에 따라 DVD에 직접 기록된다. 예를 들면, 기록은 물리적 이미지 파일의 버전 디렉토리(version directory) 또는 프리젠테이션 디렉토리(presentation directory)를 이용하는 의도된 디스크의 물리적 섹터와 일치하는 볼륨 디렉토리(volume directory) 및 파일 정보 스트림(file information streams)을 포함한다.
단계(208)에서, 다운로드된 콘텐츠 패키지(110) 내의 미디어 파일(120)은 논리적 표현 데이터(118)를 이용하여 액세스된다. 액세스되는 파일은, 예를 들면 컴퓨팅 장치(104) 상의 미디어 플레이어의 구성을 검출하거나 판단함으로써 결정된다. 예를 들면, 미디어 플레이어의 구성은 미디어 플레이어의 소프트웨어 구성 및/또는 컴퓨팅 장치(104)의 하드웨어 구성에 기반할 수 있다. 판단된 미디어 플레이어의 구성에 기반하여, 대응하는 프리젠테이션 및 렌더링할 미디어 파일(120)의 파일 버전(들)이 선택된다.
또 다른 실시예에서, 하나 또는 그 이상의 프리젠테이션은 선택을 위하여 사용자(102)에게 식별된다. 사용자(102)는 원하는 프리젠테이션을 선택하고, 단계(208)에서와 같이 선택된 프리젠테이션과 연관된 미디어 파일(120)이 액세스된다.
또 다른 실시예에서, 물리적 표현 데이터(116)는 콘텐츠 패키지(110)를 외부적으로 컴퓨팅 장치(104) 또는 저장 시스템에서의 단순한 파일로서 나타낸다. 내부적으로, (예를 들면, 인덱스 또는 디렉토리와 같은) 물리적 표현 데이터(116)는 적어도 (예를 들면, TOC 데이터(114)를 저장하는) TOC 파일을 포함하여, 파일들의 목록 및 대응하는 경로명들을 노출시킨다. 파일들의 목록 및 대응하는 경로명들은 파일들이 추가되거나 삭제될 때 국부적으로(locally) 관리된다. 미디어 액세스는, 외부적으로 생성되고 파일들이 추가되거나 삭제될 때 업데이트되지 않는 TOC 파일을 통하여 개시된다. 더 정확히 말하면, 파일들의 위치는 콘텐츠 패키지(110)의 물리적 디렉토리를 이용하여 외부적 또는 내부적으로 요약되고 참조될 수 있다.
단계(210)에서, 미디어 플레이어는 액세스된 미디어 플레이어 파일을 사용자(102)에게 재생하거나, 렌더링하거나, 보여주거나, 혹은 제공한다. 액세스된 미디어 파일(120)이 사용자(102)와의 상호작용을 위한 프리젠테이션 파일(예를 들면, 메뉴 또는 다른 네비게이션 콘텐츠)을 포함하는 실시예에서, 미디어 플레이어는 TOC 데이터(114)에서 식별된 프리젠테이션 포맷에 기반한 하나 또는 그 이상의 프리젠테이션 파일을 읽으며, 사용자(102)와의 상호작용을 위한 메뉴, 네비게이션 또는 재생 기능을 제공하는 프리젠테이션 파일과 연관된 명령을 실행한다. 프리젠테이션 파일은, 예를 들면 HTML(hypertext markup language) 파일, XML(extensible markup language) 파일, 메타데이터, 스크립트 파일, 휴대용 중간 언어 코드(portable intermediate language code), 이진 실행 가능 어플리케이션 프로그램(binary executable application programs) 등을 포함한다.
몇몇 실시예에서, 사용자(102)는 콘텐츠 패키지(110)에 포함되거나 연관된 추가적인 콘텐츠를 다운로드할 수 있다(예를 들면, 후기 바인딩(late binding)). 예를 들면, 만일 다운로드된 콘텐츠 패키지(110)가 텔레비전 쇼와 연관된 미디어 파일을 포함한다면, 사용자(102)는 이후 클로우즈드 캡션(closed captions), 자막(subtitles), 사운드 트랙(sound track), 외국어 트랙(foreign language tracks), 또는 관련 콘텐츠를 다운로드할 수 있다. 사용자(102)는 또한, 만일 프리젠테이션이 이전에 다운로드된 TOC 데이터(114)에 포함되어 있지 않다면, 추가적으로 다운로드된 콘텐츠와 연관된 추가적인 TOC 데이터(예를 들면, 제2 TOC 파일)를 다운로드할 수 있다. 컴퓨팅 장치(104)는 추가적으로 다운로드된 콘텐츠를 다운로드된 콘텐츠 패키지(110)에 추가하고, 제2 TOC 데이터를 콘텐츠 패키지(110)에 연관된 TOC 데이터(114)(예를 들면, 제1 TOC 데이터)에 논리적으로 병합한다. 결과는 추가적인 TOC 데이터가 포함된 단일 콘텐츠 패키지(110)와 참조된 프리젠테이션 파일들이다. 그러한 실시예에서, 콘텐츠 공급자(112)는 미디어 파일(120)과 각각이 상이한 별도의 미디어 파일들이나 콘텐츠 패키지(110)를 관리하지 않아도 된다(예를 들면, 하나는 외국어 트랙, 하나는 클로우즈드 캡션 등인 경우). 사용자 경험적 관점에서, 사용자(102)는 시간, 대역폭 및 다른 전송 비용을 아끼기 위하여, 다른 완전한 콘텐츠 패키지(110)나 파일보다는 오직 원하는 추가적인 콘텐츠만을 다운로드한다.
콘텐츠 패키지(110)는 또한, 디지털 배포 시스템으로부터 소비자 미디어 플레이어로 다운로드하는데 이용되는 동일한 포맷으로, 배포 서버(distribution servers)에 미디어 파일을 업로드(upload)하고 배포 서버 간에 미디어 파일을 교환하는데 이용될 수 있다.
다음으로 도 3을 참조하면, 예시적인 흐름도는 흐름도(300)를 통해 콘텐츠 패키지(110)의 로딩 및 파싱, 그리고 미디어 플레이어로의 제어 이전을 도시한다. 단계(320)에서 콘텐츠 패키지(110)와 같은 패키지 파일을 식별, 선택 및 획득하기 위하여, 단계(310)에서 탐색(discovery), 필터링(filtering) 또는 다른 동작들이 (예를 들면, 사용자(102)에 의해) 수행된다. 패키지는 파일들의 완전한 세트 및 프리젠테이션 정보를 내장할 수 있다. 패키지의 TOC 데이터는, 패키지에는 없지만 단계(330)에서와 같이 이후의 리소스 전달(resource delivery) 및 캡슐화(encapsulation)가 온라인 상에서 가능한 추가적인 파일들의 목록을 작성할 수 있다. 패키지 파일은 단지 TOC 파일만을 내장할 수 있고, 그러므로 오디오 및 비디오 파일들의 크기에 비하여 작을 수 있다. 이러한 예시에서는, 이메일 첨부와 같은 저용량 방법(low capacity methods)을 통한 다수의 패키지들의 배포가 실용적이다. 소비자들 또는 그들과 연관된 장치는, 얼마나 큰 미디어 파일을 다운로드하기를 원하는지를 판단할 수 있다.
(예를 들면, 미디어 플레이어에 연관된) 패키지 파서(parser) 또는 로더(loader)는 단계(340)에서 패키지 파일에 액세스하고, 단계(350)에서 프리젠테이션 선택(예를 들면, 적어도 하나의 미디어 파일(120)을 포함한 파일 세트의 선택)을 수행한다. 프리젠테이션 선택은 미디어 플레이어와 호환 가능하다고 식별되는 글로벌 고유 식별자(globally unique identifier), MIME(multipurpose Internet mail extension) 타입, 파일 확장명(file extension) 또는 포맷 식별자 문자열(format identifier string)(예를 들면, 이름 및 버전 번호)과 같은 것들과 일치함으로써 발생한다. 패키지 파서는 나아가 컴퓨팅 장치(104) 상의 미디어 플레이어에서 설치 동작(setup operations)을 수행하고, 재생을 개시(launch)한다.
도 3의 예시에서, 패키지 파일은 단계(360)에서 리소스 마셜링(resource marshaling), 플레이어 초기화, 그리고 어플리케이션 로딩 및 개시를 기술하기 위한 (예를 들면, XML문서인) 프리젠테이션 파일을 포함한다. 몇몇의 실시예에서, 프리젠테이션 파일은 리소스 목록, 대체 브랜치 리소스(branching resource alternatives) 및 개시 명령 문자열(launch command string)과 같은 메타데이터를 포함한다. 리소스 목록은 프리젠테이션의 개시를 위한 네트워크(예를 들면, 인터넷) 리소스 및 패키지 파일을 포함한다. 프리젠테이션 및 목록에 포함된 리소스는 또한 이미 개시된 다른 리소스를 획득하거나 참조할 수 있다. 브랜치 리소스는, 언어에 의해 선택된 대체 파일, 비트 레이트, 해상도, 코덱(codec), 디지털 저작권 관리, 네트워크 가용성 및 대역폭과 같은 사용자 구성과 컴퓨팅 장치(104)를 위한 대체 리소스를 포함한다. 대체 리소스는 몇몇 실시예에서 개시 전(before launch), 로드 시(at load time)에 선택된다.
개시 문자열은 미디어 플레이어에 의해 선택된 프리젠테이션의 재생을 개시하기 위해 이용되는 초기 리소스(예를 들면, 재생 목록 또는 실행 가능 어플리케이션 프로그램)를 식별한다. 몇몇 실시예에서, 개시 문자열에는 개시 커맨드를 표현하기 위하여 하나의 파일 및/또는 추가적인 파라미터보다 더 많은 것이 존재한다. 또 다른 실시예에서, 개시 문자열은 단일 파일명(single file name)이다.
단계(380)에서, 미디어 플레이어와 같은 어플리케이션 프로그램은 프리젠테이션 파일을 열고, 장치 또는 프리젠테이션의 특정 설치와 같은 동작을 수행한다. 예를 들면, 미디어 플레이어는 비디오 해상도, 언어, 비트 레이트, 네트워크 연결 상태 및 속도, 국부 저장 기능(local storage capabilities), 그래픽 렌더링 기능(graphics rendering capabilities), 디코더의 수, 지원되는 코덱, 지원되는 디지털 저작권 등에 기반하여 리소스를 선택할 수 있다. 미디어 플레이어는 장치 특정적 구성(device-specific configuration)에 따른 리소스 마셜링 파일에 의하여, 단계(370)에서 리소스 배치를 수행한다. 몇몇 컴퓨팅 장치(104)는 인-플레이스 액세스(in-place access)를 위하여 패키지 파일을 파일 캐시(file cache)로 로드하는 반면, 다른 컴퓨팅 장치(104)는 하드 디스크 상의 패키지 파일로부터의 인-플레이스 액세스를 허용하기 위한 저장 관리자(storage manager)를 가지며, 또 다른 컴퓨팅 장치(104)는 개시 전의 저장 시스템 및 기본 장치 디렉토리(native device directories)에 대한 리소스 파일 추출(resource file extraction) 방법을 사용한다.
리소스 파일의 마셜링은 파일 배포 시스템, 서버 및 인터넷에 저장된 패키지에 내장된 파일의 복사뿐만 아니라, (예를 들면, 단계(390)에서와 같이) 파일 배포 시스템, 서버 및 인터넷에 저장된 네트워크 리소스의 복사를 포함한다. 일반화된 URI(uniform resource identifier) 구문은 도메인 네임 서비스(domain name service) 및 웹 레졸루션(web resolution) 메커니즘 뿐 아니라, 실제 국부 및 네트워크 파일 위치(actual local and network file locations)(예를 들면, 상대적 또는 절대적 경로)로 또는 국부 패키지나 원격 패키지 내에 현재 저장된 파일들로의 런타임 레졸루션(runtime resolution)을 허용한다. 예를 들면, 상대적인 참조는 런타임 시에 절대적인 참조로 변환될 수 있다.
리소스의 마셜링 중에는, 리소스의 사용 가능성이 식별되고, 실제 저장 위치가 결정되며, 네트워크 연결이 설정되고, 패키지 파일이 런타임 위치(runtime locations)로 복사되며, 로우 파일(raw files)이 런타임 위치로 복사되고, 파일이 패키지 파일로부터 적절하게 추출된다(예를 들면, 이용될 리소스는 개시 전에 추출되고, 다른 리소스는 일단 실행되면 프리젠테이션 그 자체에 의해 상호작용적으로 결정되고 획득될 수 있다).
리소스 마셜링 이후에는, 미디어 플레이어로 제어를 이전하기 위하여 단계(392)에서 플레이어 개시 커맨드가 실행된다. 설치 파일 프로세서(setup file processor)는 설치 파일 내의 개시 문자열을 읽고, 미디어를 재생하기 위하여 컴퓨팅 장치(104) 및 미디어 플레이어에 적당한 커맨드 호출(command call)을 표시한다. 예를 들면, 개시 문자열은 재생 목록(playlist) 또는 실행 가능 파일의 이름이다(예를 들면, 호출은 이러한 예시에서 "RUN./filename.exe-auto-x"와 같이 표시된다).
단계(394)에서 제어는 기본 미디어 플레이어와 그것의 저장 관리 및 렌더링 시스템으로 이전한다. 도 3의 예시에서, 미디어 플레이어는 디지털 저작권 관리(DRM) 보호, 시스템 취소 메시지(system revocation messages; SRM) 또는 DRM 키를 취소하는 다른 파일, 검증/변조 증명(verification/tamper evidence), 인증(authentication) 및 리소스의 조건 액세스(condition access)에 책임이 있다. 미디어 플레이어는 시스템, 키, 해시(hash) 및 체크섬(checksum)을 표시하는 패키지 헤더 필드(package header fields)를 이용한다. 미디어 플레이어 및 저장 관리 시스템은 몇몇 실시예에서, 패키지, 리소스 및 런타임 환경의 종료 및 소거(cleanup)에 책임이 있다. 표시된 외부 콘텐츠 관리자(external content manager)는 저장된 패키지의 라이브러리 관리 기능을 다룬다. 몇몇 자동 및 사용자 제어 콘텐츠 관리 시스템을 이용하여 재생 후 삭제 또는 라이브러리에서 보유하도록 한다.
다음으로 도 4를 참조하면, 예시적인 블록도는 콘텐츠 패키지(110)를 생성하기 위한 구성 요소들을 저장하는 컴퓨터 판독 가능 매체(402)를 도시한다. 도 4의 예시의 태양은 내장된 파일을 포인팅하는(pointing to) 추가적인 논리 계층(logical layer)을 가지는 디스크 이미지 파일에 관한 것이다. 논리 계층은 이 예시에서 본질적으로 파일 컨테이너 내의 파일 컨테이너이다. 바이트 스트림(byte stream)은 직접적으로 기록에 이용될 수 있으나, 디스크 이미지 내의 파일에 대한 논리적 참조는 재생에 이용될 수 있다.
컴퓨터 판독 가능 매체(402) 또는 다른 메모리 영역은, 나아가 본 명세서 상의 구현 태양을 위한 컴퓨터 실행 가능 구성 요소들을 저장한다. 예시적인 구성 요소들은 바이트 스트림 인덱스 구성 요소(404), 디렉토리 구성 요소(406), 컨테이너 구성 요소(408) 및 인터페이스 구성 요소(410)를 포함한다. 바이트 스트림 구성 요소(404)는 디스크 이미지가 다수의 미디어 파일(120)을 가지는 경우, 디스크 이미지의 물리적 표현을 판단한다. 디렉토리 구성 요소(406)는 미디어 파일(120)의 논리적 표현을 발생시킨다. 컨테이너 구성 요소(408)는 디스크 이미지를 위한 콘텐츠 패키지(110)를 생성한다. 콘텐츠 패키지(110)는 미디어 파일(120), 물리적 표현 및 논리적 표현을 포함한다. 컨테이너 구성 요소(408)는 나아가 디스크 이미지의 인코딩 특성을 식별하고, 식별된 인코딩 특성과 디렉토리 구성 요소(406)에 의해 발생된 미디어 파일(120)의 논리적 표현에 기반하여 디스크 이미지를 위한 합성 콘텐츠 식별자를 규정한다.
인터페이스 구성 요소(410)는 컴퓨팅 장치(104)에 의한 액세스를 위하여 컨테이너 구성 요소(408)에 의해 생성된 콘텐츠 패키지(110)를 제공한다. 예를 들면, 인터페이스 구성 요소(410)는 인터넷과 같은 네트워크를 통하여 컴퓨팅 장치(104)가 다운로드하도록 콘텐츠 패키지(110)를 제공하거나, 그렇지 않으면 사용 가능하게 만든다.
다음으로 도 5를 참조하면, 예시적인 블록도는 콘텐츠 패키지(110)에 대응하는 데이터 구조(500)를 도시한다. 데이터 구조(500)는, 디지털 인코딩에 독립적인 작업의 논리적 식별자(logical identification)(예를 들면, 제목)와 비디오 포맷, 해상도, 압축, 암호화 등과 같은 재생 호환 가능성을 식별하기 위한 디지털 인코딩 특성을 나타내는 파일 식별자(file identifier)가 결합된, 합성 콘텐츠 식별자(510)를 포함한다. TOC(Table of contents; 520)는 저장된다. 프리젠테이션1 디렉토리 정보(530), 구조적 메타데이터(540), 디지털 저작권 관리 데이터(550), 기술적 메타데이터(descriptive metadata; 560) 및 파일 스트림(570)은 데이터 구조(500) 내의 필드를 나타낸다.
몇몇 실시예에서, 데이터 구조(500)는 화면 선택(screening selection)을 위한 등급 정보(rating information), 콘텐츠 패키지(110)가 실행되는 프리젠테이션 및 플랫폼, 자동 필터링과 선택(예를 들면, 장르, 스타일, 날짜 및 아티스트)을 위해 이용될 수 있는 기술적 메타데이터 및 키워드 세트, 내장된 파일의 인증과 암호 해독을 위한 확장명(extensions), 그리고 가상 또는 실제의 저장 배치(예를 들면, 휴대용 저장 장치)와 어플리케이션 콘텐츠 참조(application content reference)의 런타임 레졸루션을 위하여 장치 저장 관리자(device storage manager)에 의해 이용될 수 있는 내장된 파일의 파일 경로 정보를 더 포함할 수 있다.
<예시>
하나의 예시로서, 콘텐츠 패키지(110)는 부팅 가능하다. 부팅 시퀀스의 예시가 후술될 것이다. 콘텐츠 패키지(110) 내의 디스크립터(descriptor)는 콘텐츠 패키지(110)가 부팅 가능함을 표시하며, TOC 데이터(114)는 컴퓨팅 장치(104)에 의해 사용 가능한 최적의 프리젠테이션을 식별하기 위하여 참고된다. 선택된 설치 파일의 바이트 익스텐트(byte extent)는 실행을 위하여 선택된 미디어 플레이어에 읽혀지고 제공된다(예를 들면, 개시 포인터(launch pointer)로서).
미디어 플레이어는 리소스를 패키지 파일로부터 읽고, 국부적으로 또는 네트워크 등을 통해 리소스를 찾아냄으로써 리소스를 마셜링한다. 미디어 플레이어는 언제 개시할지를 결정하고, 초기 리소스로의 포인터를 따르며, 리소스를 로드하고, 그 리소스를 실행한다. 몇몇 경우에, 미디어 플레이어는 "실행 가능한" 코드를 가진다. 또 다른 경우에, 초기 리소스는 네이티브 바이너리(native binary), 스크립트 언어(script language), 마크업(markup) 등이며, 몇몇 링킹(linking), 인터프리팅(interpreting) 또는 컴파일링(compiling)이 프리젠테이션을 제어하기 위하여 일어난다.
본 명세서의 몇몇 태양에서, 콘텐츠 패키지(110)는 리소스를 전달하는데 이용되며, 프리젠테이션이 없다(예를 들면, 임의의 미디어 파일(120) 또는 다른 파일). 리소스는 어플리케이션에 포함되는 스크립트 또는 매니페스트(manifest)에 의하여 참조되는 개별 파일과 같은 형태로 존재한다(예를 들면, 몇몇 리소스들은 매니페스트 내에 포함되는 반면, 다른 리소스들은 어플리케이션 프로그램이 실행된 후에 탐색 및 결정될 수 있다). 예시는 캡쳐된 개인 비디오 레코딩(personal video recording; PVR) 스트림, 리핑된(ripped) DVD 스트림, 다운로드 또는 순차적 다운로드(progressive download)된 인터넷에 존재하는 스트림 파일(Internet resident stream files) 및 국부 하드 디스크(local hard disk) 상의 미디어 파일(120)을 포함한다.
몇몇 실시예는 보안과 인증을 고려한다. TOC 데이터(114)에 의해 참조되는 개별 파일은 인증, 변조 방지 및 복사 방지를 위하여 해시, 서명(signed) 및/또는 암호화된다. 만일 디지털 저작권 관리 방법이 지원되면, TOC 데이터(114)는 파일을 읽기 위한 디지털 저작권 관리 방법, 파일 콘텐츠를 확인하기 위한 서명된 다이제스트(digest) 및 서명을 인증하고 선택적으로 암호를 해독하기 위한 권리 인증서에 링크하기 위한 임의의 정보를 식별한다.
<예시적인 동작 환경>
본 발명의 태양이 컴퓨팅 장치(104)를 참조하여 기술되었으나, 본 발명의 실시예는 임의의 컴퓨팅 장치를 이용하여도 동작 가능하다. 예를 들면, 본 발명의 태양은 랩톱 컴퓨터(laptop computers), (핸드헬드 게임 콘솔을 포함한) 게임 콘솔, 핸드헬드 또는 차량 탑재형 네비게이션 장치, 휴대용 음악 플레이어, 개인 휴대 정보 단말기(personal digital assistant), 정보 기기(information appliance), 개인용 통신 장치(personal communicator), 핸드헬드 텔레비전 또는 임의의 다른 유형의 전자 장치와 같은 장치를 이용하여 동작 가능하다.
한정되지 않는 예시에 의하여, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체와 통신 매체를 포함한다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보를 저장한다. 통신 매체는 통상적으로 반송파(carrier wave) 또는 다른 전송 메커니즘과 같은 변조된 데이터 시그널로 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 실시하고, 임의의 정보 전달 매체를 포함한다. 상기 매체의 임의의 조합 또한 컴퓨터 판독 가능 매체의 범주 내에 포함된다.
비록 예시적인 컴퓨팅 시스템 환경과 관련하여 기술되었지만, 본 발명의 실시예는 수많은 다른 일반 목적 또는 특수 목적의 컴퓨팅 시스템 환경 또는 구성에서 동작 가능하다. 본 발명의 태양과 함께 이용하기 적합한, 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예시로는 모바일 컴퓨팅 장치, 개인용 컴퓨터, 서버 컴퓨터, 핸드헬드 또는 랩톱 장치, 멀티프로세서 시스템, 게임콘솔, 마이크로프로세서 기반 시스템, 셋톱 박스(set top boxes), 프로그램 가능 소비자 전자 장치(programmable consumer electronics), 모바일 전화, 네트워크 PC, 소형 컴퓨터, 컴퓨터 본체(mainframe computers), 임의의 상기 시스템 또는 장치를 포함하는 배포된 컴퓨팅 환경 등을 한정하지 않고 포함한다.
본 발명의 실시예는 하나 또는 그 이상의 컴퓨터 또는 다른 장치에 의해 실행되는, 프로그램 모듈과 같은 컴퓨터 실행 가능 명령의 일반적인 환경에서 기술될 수 있다. 컴퓨터 실행 가능 명령은 하나 또는 그 이상의 컴퓨터 실행 가능 구성 요소 또는 모듈로 조직될 수 있다. 일반적으로, 프로그램 모듈은 특정한 작업을 수행하거나 특정한 추상 데이터형(abstract data types)을 구현하는 루틴(routines), 프로그램, 객체(objects), 구성 요소 및 데이터 구조를 한정하지 않고 포함한다. 본 발명의 태양은 그러한 구성 요소 또는 모듈의 임의의 수 및 조직으로 구현될 수 있다. 예를 들면, 본 발명의 태양은 본 명세서 및 도면에 기술되고 도시된 특정의 컴퓨터 실시 가능 명령 또는 특정의 구성 요소 또는 모듈에 한정되지 않는다. 본 발명의 다른 실시예는 본 명세서에 기술되고 도시된 것보다 더 기능성을 갖거나 덜 기능성을 갖는, 상이한 컴퓨터 실시 가능 명령 또는 구성 요소를 포함할 수 있다.
본 발명의 태양은 본 명세서에 기술된 명령을 실행하도록 구성될 때, 일반 목적의 컴퓨터를 특수 목적의 컴퓨팅 장치로 변환한다.
본 명세서에 특별히 기술되지 않았지만 본 발명의 태양의 범주 내인 실시예 뿐만 아니라 본 명세서에 기술되고 도시된 실시예는, 내부의 미디어 파일(120)을 논리적 및 물리적으로 식별하는 다운로드 가능 콘텐츠 패키지(110)를 규정하기 위한 예시적인 수단 및 적어도 TOC 데이터(114)와 미디어 파일(120)을 포함하는 콘텐츠 패키지(110)의 데이터 구조를 규정하기 위한 예시적인 수단을 구성한다.
본 명세서에 기술되고 도시된 본 발명의 실시예의 동작의 실행 또는 수행 순서는, 특별히 지정되지 않은 한, 필수적이지 않다. 즉, 동작은 특별히 지정되지 않은 한 임의의 순서로 수행될 수 있고, 본 발명의 실시예는 본 명세서에 개시된 것보다 추가의 또는 더 적은 동작을 포함할 수 있다. 예를 들면, 다른 동작의 이전, 동시, 이후에 특정한 동작이 실행 또는 수행되는 것은 본 발명의 태양의 범주 내에 있다고 고려된다.
본 발명 또는 실시예의 태양의 구성 요소를 소개할 때, "하나의", "한", "그" 및 "상기의"와 같은 관사는 거기에 하나 또는 그 이상의 구성 요소가 있음을 의미하도록 의도된 것이다. "포함하다", "구비하다" 및 "가지다"라는 용어는 포괄적인 의도이며, 나열된 구성 요소보다 추가적인 구성 요소가 있을 수 있음을 의미한다.
본 발명의 태양이 상세하게 기술되어, 첨부된 특허 청구 범위에 규정된 본 발명의 태양의 범주를 벗어나지 않으면서 변형 및 변화가 가능함이 명백하다. 본 발명의 태양의 범주를 벗어나지 않으면서 상기 구성, 제품 및 방법에 대한 다양한 변경이 이루어질 수 있기 때문에, 상기 명세서에 포함되고 첨부 도면에 도시된 대상은 한정하지 않은 의미 및 예시된 바와 같이 해석되어야 한다.

Claims (20)

  1. 컴퓨팅 장치에 의해 렌더링되기 위한 콘텐츠 패키지를 다운로드하기 위한 시스템에 있어서,
    하나 이상의 미디어 파일을 포함하는 하나 이상의 프리젠테이션(presentation) 및 내용 목록(table of contents; TOC) 데이터를 포함하는 콘텐츠 패키지를 저장하기 위한 메모리 영역; 및
    프로세서를
    포함하고,
    상기 콘텐츠 패키지는, 상기 콘텐츠 패키지로의 바이트 레벨 액세스(byte-level access)를 제공하는 물리적 표현(physical representation)을 포함하고,
    상기 TOC 데이터는 상기 콘텐츠 패키지로의 파일 레벨 액세스(file-level access)를 제공하는 논리적 표현(logical representation)을 포함하고,
    상기 하나 이상의 프리젠테이션 각각은 컴퓨팅 장치 상에서 실행하는 미디어 플레이어의 구성과 연관되며,
    상기 프로세서는,
    콘텐츠 공급자로부터 네트워크를 통해 상기 콘텐츠 패키지를 다운로드하고,
    상기 다운로드된 콘텐츠 패키지를, 상기 콘텐츠 패키지 내에 있는 상기 콘텐츠 패키지의 상기 물리적 표현에 기반하여 상기 메모리 영역에 저장하고,
    상기 컴퓨팅 장치 상에서 실행하는 상기 미디어 플레이어의 상기 구성을 식별하고,
    상기 식별된 구성 및 상기 콘텐츠 패키지의 상기 물리적 표현에 기반하여 렌더링하기 위해 상기 프리젠테이션 중 하나를 선택하며,
    상기 미디어 플레이어 내에 있는 상기 미디어 파일의 상기 선택된 프리젠테이션을, 상기 콘텐츠 패키지의 상기 논리적 표현을 이용하여 렌더링하도록 프로그램되는 것인, 컴퓨팅 장치에 의해 렌더링되기 위한 콘텐츠 패키지를 다운로드하기 위한 시스템.
  2. 제1항에 있어서, 상기 메모리 영역은 또한, 합성 콘텐츠 식별자(compound content identifier)를 저장하고, 상기 합성 콘텐츠 식별자는 상기 미디어 파일 중 하나 이상을 포함하는 오디오비주얼(audiovisual) 작업을 식별하는 제1 부분 및 상기 콘텐츠 패키지의 적어도 하나의 인코딩 특성에 대응하는 제2 부분을 포함하는 것인, 컴퓨팅 장치에 의해 렌더링되기 위한 콘텐츠 패키지를 다운로드하기 위한 시스템.
  3. 제2항에 있어서, 상기 제1 부분은 네임스페이스 식별자(namespace identifier)를 포함하는 것인, 컴퓨팅 장치에 의해 렌더링되기 위한 콘텐츠 패키지를 다운로드하기 위한 시스템.
  4. 제2항에 있어서, 상기 인코딩 특성은, 비트 레이트(bit rate), 비디오 포맷(video format), 해상도(resolution), 암호화(encryption) 및 압축(compression) 중 하나 이상을 포함하는 것인, 컴퓨팅 장치에 의해 렌더링되기 위한 콘텐츠 패키지를 다운로드하기 위한 시스템.
  5. 제1항에 있어서, 상기 콘텐츠 패키지는 또한, 상기 콘텐츠 패키지와 연관된 디지털 저작권 관리(digital rights management) 시스템을 식별하는 데이터, 상기 미디어 파일의 암호 해독(decrypting)을 위하여 라이센스를 식별하는 데이터 및 상기 콘텐츠 패키지에 액세스하기 위하여 라이센스를 저장하는 라이센스 서버(license server)의 위치를 식별하는 데이터 중 하나 이상을 포함하는 것인, 컴퓨팅 장치에 의해 렌더링되기 위한 콘텐츠 패키지를 다운로드하기 위한 시스템.
  6. 제1항에 있어서,
    상기 콘텐츠 패키지는 사용자와의 상호작용을 위한 파일을 더 포함하고,
    상기 프로세서는 또한,
    상기 미디어 플레이어의 상기 식별된 구성에 기반하여 상기 파일 중 하나 이상을 추출하고,
    상기 사용자와의 상호작용을 위한 기능을 제공하도록 상기 추출된 파일과 연관된 명령어를 실행하도록 프로그램되는 것인, 컴퓨팅 장치에 의해 렌더링되기 위한 콘텐츠 패키지를 다운로드하기 위한 시스템.
  7. 제1항에 있어서,
    상기 하나 이상의 미디어 파일은 상기 콘텐츠 패키지의 외부에 있고,
    하나 이상의 외부 파일 경로는 상기 하나 이상의 미디어 파일을 상기 콘텐츠 패키지 내로 복사하기 위해 이용되거나,
    상기 하나 이상의 외부 파일 경로는, 상기 하나 이상의 외부 미디어 파일을 논리적으로 포함하는 상기 프리젠테이션의 렌더링 동안 스트리밍 액세스를 제공하는 것인, 컴퓨팅 장치에 의해 렌더링되기 위한 콘텐츠 패키지를 다운로드하기 위한 시스템.
  8. 제1항에 있어서, 상기 프로세서는 또한, 상기 콘텐츠 패키지 내에 포함시키거나 상기 콘텐츠 패키지와 연관시키기 위해 추가적인 콘텐츠를 다운로드하기 위해 프로그램되는 것인, 컴퓨팅 장치에 의해 렌더링되기 위한 콘텐츠 패키지를 다운로드하기 위한 시스템.
  9. 제1항에 있어서,
    다운로드 가능 콘텐츠 패키지 - 상기 다운로드 가능 콘텐츠 패키지는 그 내부의 미디어 파일을 논리적 및 물리적으로 식별함 - 를 규정하기 위한 수단; 및
    적어도 상기 TOC 데이터 및 상기 미디어 파일을 포함하는 상기 콘텐츠 패키지를 위한 데이터 구조를 규정하기 위한 수단을
    더 포함하는, 컴퓨팅 장치에 의해 렌더링되기 위한 콘텐츠 패키지를 다운로드하기 위한 시스템.
  10. 방법에 있어서,
    제1 컴퓨팅 장치에 의하여, 하나 이상의 미디어 파일을 저장하는 콘텐츠 패키지를 제2 컴퓨팅 장치에서 검색하는 단계;
    상기 검색된 콘텐츠 패키지로부터 내용 목록(table of contents; TOC) 데이터를 추출하는 단계 - 상기 콘텐츠 패키지는 상기 콘텐츠 패키지에 대응하는 물리적 표현 데이터(physical representation data)를 포함하고, 상기 TOC 데이터는 상기 콘텐츠 패키지에 대응하는 논리적 표현 데이터(logical representation data)를 포함하며, 상기 TOC 데이터는 상기 콘텐츠 패키지 내에 포함되지 않은 적어도 하나의 미디어 파일을 나열함 -;
    상기 물리적 표현 데이터에 기반하여 상기 콘텐츠 패키지를 저장하는 단계;
    상기 논리적 표현 데이터를 이용하여 상기 미디어 파일 중 하나 이상에 액세스하는 단계; 및
    프리젠테이션을 위하여 상기 제1 컴퓨팅 장치의 사용자에게 상기 액세스된 미디어 파일을 제공하는 단계를
    포함하는, 방법.
  11. 제10항에 있어서, 상기 논리적 표현 데이터를 통하여 상기 미디어 파일을 상기 사용자에게 렌더링하는 단계를 더 포함하는, 방법.
  12. 제10항에 있어서, 상기 논리적 표현 데이터를 통하여 상기 콘텐츠 패키지 내의 상기 미디어 파일 중 하나 이상에 액세스하는 단계를 더 포함하는, 방법.
  13. 제10항에 있어서,
    상기 방법은 상기 제1 컴퓨팅 장치의 미디어 플레이어의 구성을 검출하는 단계를 더 포함하고,
    상기 미디어 파일 중 하나 이상에 액세스하는 단계는 상기 검출된 구성에 기반하여 상기 미디어 파일 중 하나 이상에 액세스하는 단계를 포함하는 것인, 방법.
  14. 제13항에 있어서, 상기 미디어 플레이어의 상기 구성을 검출하는 단계는 상기 미디어 플레이어의 소프트웨어 구성을 검출하는 단계와, 상기 제1 컴퓨팅 장치의 하드웨어 구성을 검출하는 단계를 포함하는 것인, 방법.
  15. 제10항에 있어서,
    상기 TOC 데이터는 제1 TOC 데이터를 나타내고,
    상기 방법은,
    콘텐츠 및 상기 콘텐츠와 연관된 제2 TOC 데이터를 검색하는 단계;
    상기 검색된 콘텐츠를 상기 콘텐츠 패키지에 추가하는 단계; 및
    상기 제2 TOC 데이터와 상기 제1 TOC 데이터를 병합하는 단계를
    더 포함하는 것인, 방법.
  16. 컴퓨터 실행 가능 구성 요소를 저장하는 하나 이상의 컴퓨터 메모리에 있어서,
    상기 구성 요소는,
    적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서가 디스크 이미지 - 상기 디스크 이미지는 복수의 미디어 파일을 가짐 - 의 물리적 표현을 결정하도록 하는 섹터 구성 요소(sector component);
    적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서가 상기 미디어 파일의 논리적 표현을 발생시키도록 하는 디렉토리 구성 요소;
    적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서가 상기 디스크 이미지를 위한 콘텐츠 패키지를 생성하도록 하는 컨테이너 구성 요소 - 상기 콘텐츠 패키지는 상기 미디어 파일, 상기 물리적 표현 및 상기 논리적 표현을 포함하고, 상기 콘텐츠 패키지는 상기 콘텐츠 패키지가 부팅가능하다는 것을 표시하는 디스크립터(descriptor)를 포함하며, 상기 논리적 프리젠테이션은 컴퓨팅 장치를 위해 이용가능한 최적의 미디어 파일을 식별함 -; 및
    적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서가 상기 컴퓨팅 장치에 의한 액세스를 위하여 상기 컨테이너 구성 요소에 의해 생성된 상기 콘텐츠 패키지를 제공하도록 하는 인터페이스 구성 요소를
    포함하는, 컴퓨터 실행 가능 구성 요소를 저장하는 하나 이상의 컴퓨터 메모리.
  17. 제16항에 있어서, 상기 컨테이너 구성 요소는 또한, 상기 디스크 이미지의 인코딩 특성을 식별하는 것인, 컴퓨터 실행 가능 구성 요소를 저장하는 하나 이상의 컴퓨터 메모리.
  18. 제17항에 있어서, 상기 컨테이너 구성 요소는 또한, 상기 식별된 인코딩 특성과, 상기 디렉토리 구성 요소에 의해 생성된 상기 미디어 파일의 논리적 표현에 기반하여 상기 디스크 이미지를 위한 합성 콘텐츠 식별자를 규정하는 것인, 컴퓨터 실행 가능 구성 요소를 저장하는 하나 이상의 컴퓨터 메모리.
  19. 제16항에 있어서, 상기 인터페이스 구성 요소는 네트워크를 통하여 상기 컴퓨팅 장치가 다운로드하도록 상기 콘텐츠 패키지를 제공하는 것인, 컴퓨터 실행 가능 구성 요소를 저장하는 하나 이상의 컴퓨터 메모리.
  20. 제10항에 있어서,
    상기 물리적 표현 데이터는 상기 콘텐츠 패키지 내에 저장된 상기 하나 이상의 미디어 파일로의 바이트 레벨 액세스를 제공하고,
    상기 논리적 표현 데이터는 상기 콘텐츠 패키지 내에 저장된 상기 하나 이상의 미디어 파일로의 파일 레벨 액세스를 제공하는 것인, 방법.
KR1020117008011A 2008-10-14 2009-10-06 전자 배포를 위한 콘텐츠 패키지 KR101553094B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10541008P 2008-10-14 2008-10-14
US61/105,410 2008-10-14
US12/480,687 2009-06-09
US12/480,687 US8548946B2 (en) 2008-10-14 2009-06-09 Content package for electronic distribution

Publications (2)

Publication Number Publication Date
KR20110070855A KR20110070855A (ko) 2011-06-24
KR101553094B1 true KR101553094B1 (ko) 2015-09-14

Family

ID=42099862

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117008011A KR101553094B1 (ko) 2008-10-14 2009-10-06 전자 배포를 위한 콘텐츠 패키지

Country Status (6)

Country Link
US (2) US8548946B2 (ko)
EP (1) EP2340479B1 (ko)
JP (1) JP2012506077A (ko)
KR (1) KR101553094B1 (ko)
CN (1) CN102187312B (ko)
WO (1) WO2010045073A2 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10025573B2 (en) * 2009-04-08 2018-07-17 Adobe Systems Incorporated Extensible distribution/update architecture
CA2774480C (en) 2009-09-15 2023-02-28 Comcast Cable Communications, Llc Control plane architecture for multicast cache-fill
US9047103B2 (en) 2010-12-21 2015-06-02 Microsoft Technology Licensing, Llc Resource index identifying multiple resource instances and selecting most appropriate UI resource instance based on weighted resource request conditions
US8495570B2 (en) * 2010-12-23 2013-07-23 Microsoft Corporation Resource deployment based on conditions
US8910149B2 (en) * 2010-12-24 2014-12-09 Microsoft Corporation On-demand or incremental remote data copy
US9495371B2 (en) 2010-12-28 2016-11-15 Microsoft Technology Licensing, Llc Unified access to resources
US9767195B2 (en) 2011-04-21 2017-09-19 Touchstream Technologies, Inc. Virtualized hosting and displaying of content using a swappable media player
US8904289B2 (en) 2011-04-21 2014-12-02 Touchstream Technologies, Inc. Play control of content on a display device
EP2853299B1 (en) * 2011-09-29 2020-07-22 Sony Interactive Entertainment Europe Limited Game assistance system and method
EP3229436B1 (en) * 2011-11-09 2018-07-25 Huawei Technologies Co., Ltd. Retrieving data stored securely in the cloud
US8782727B1 (en) 2012-04-04 2014-07-15 Google Inc. Adaptive video stream testing
JP6094259B2 (ja) * 2012-05-23 2017-03-15 株式会社デンソー 管理サーバ
CN103426048A (zh) * 2012-05-25 2013-12-04 陆意志 数字出版品的发布方法及其发布***
US9275233B1 (en) * 2012-12-21 2016-03-01 Emc Corporation Generation and use of a modified protected file
WO2014139085A1 (en) * 2013-03-12 2014-09-18 Hewlett-Packard Development Company, L.P. Identifying transport-level encoded payloads
US11553018B2 (en) 2014-04-08 2023-01-10 Comcast Cable Communications, Llc Dynamically switched multicast delivery
JP6407624B2 (ja) 2014-08-14 2018-10-17 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびユーザ情報表示方法
JP6407622B2 (ja) * 2014-08-14 2018-10-17 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、画像データ送信方法および情報処理システム
JP6407623B2 (ja) 2014-08-14 2018-10-17 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報表示方法および情報処理システム
US20160155477A1 (en) * 2014-12-01 2016-06-02 Microsoft Corporation Identifying Media Types
EP3555759A4 (en) * 2016-12-15 2020-08-12 Services Petroliers Schlumberger SYSTEMS AND PROCESSES FOR GENERATING, DEPLOYING, DISCOVERING AND MANAGING MACHINE LEARNING MODEL SOFTWARE
CN112632902B (zh) * 2020-03-11 2024-06-04 西安诺瓦星云科技股份有限公司 文本处理方法及装置、文本播放方法及装置和文本播控***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007525759A (ja) 2004-03-10 2007-09-06 ノキア コーポレイション コンテンツロケーション情報の格納
US20070226238A1 (en) 2006-03-27 2007-09-27 Microsoft Corporation Media file conversion using plug-ins
JP2008118676A (ja) 1999-09-02 2008-05-22 Cryptography Research Inc デジタルコンテンツの著作権侵害を防止するための方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5932265A (ja) * 1982-08-18 1984-02-21 Toshiba Corp イメージセンサの駆動方法
US6829368B2 (en) 2000-01-26 2004-12-07 Digimarc Corporation Establishing and interacting with on-line media collections using identifiers in media signals
JP3357288B2 (ja) * 1998-04-10 2002-12-16 パイオニア株式会社 情報記録媒体及び再生装置
JPH11296997A (ja) * 1998-04-10 1999-10-29 Pioneer Electron Corp 情報記録媒体及び再生装置
US6917965B2 (en) 1998-09-15 2005-07-12 Microsoft Corporation Facilitating annotation creation and notification via electronic mail
US6871012B1 (en) 2000-11-22 2005-03-22 Microsoft Corporation Unique digital content identifier generating methods and arrangements
AU2002230501A1 (en) 2000-11-27 2002-06-03 Intellocity Usa, Inc. System and method for providing an omnimedia package
TWI230858B (en) 2000-12-12 2005-04-11 Matsushita Electric Ind Co Ltd File management method, content recording/playback apparatus and content recording program
US20020138593A1 (en) 2001-03-26 2002-09-26 Novak Michael J. Methods and systems for retrieving, organizing, and playing media content
US7046914B2 (en) 2001-05-01 2006-05-16 Koninklijke Philips Electronics N.V. Automatic content analysis and representation of multimedia presentations
JP2002334000A (ja) * 2001-05-11 2002-11-22 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2003157086A (ja) * 2001-11-19 2003-05-30 Mikkusu Enterprise:Kk インターネットによる音楽cdの個別販売方法
JP4892162B2 (ja) * 2002-04-11 2012-03-07 ホットアルバムコム株式会社 情報記録媒体及びその生産方法
US7136866B2 (en) 2002-08-15 2006-11-14 Microsoft Corporation Media identifier registry
US7356511B2 (en) 2002-09-06 2008-04-08 Apple Inc. Method and apparatus for marking content during distribution of the content to a client
JP4537083B2 (ja) * 2004-01-28 2010-09-01 キヤノン株式会社 データ処理装置及びその制御方法
US7418652B2 (en) 2004-04-30 2008-08-26 Microsoft Corporation Method and apparatus for interleaving parts of a document
KR100601677B1 (ko) * 2004-05-17 2006-07-14 삼성전자주식회사 저장 매체에 기록된 데이터와 다운로드된 데이터를 함께재생하는 재생 방법 및 그 재생 장치
US20070011097A1 (en) 2005-07-06 2007-01-11 Andreas Eckleder License server and user processor
WO2007076459A2 (en) 2005-12-21 2007-07-05 Digimarc Corporation Rules driven pan id metadata routing system and network
US20070201502A1 (en) 2006-02-28 2007-08-30 Maven Networks, Inc. Systems and methods for controlling the delivery behavior of downloaded content
US20080140660A1 (en) 2006-12-08 2008-06-12 Casdex, Inc. System and Method for File Authentication and Versioning Using Unique Content Identifiers
CN101212473A (zh) * 2006-12-31 2008-07-02 北京握奇数据***有限公司 一种通过多媒体实现交互信息的方法及***
US7978848B2 (en) 2007-01-09 2011-07-12 Microsoft Corporation Content encryption schema for integrating digital rights management with encrypted multicast
EP1944710A1 (en) 2007-01-10 2008-07-16 Sony Deutschland Gmbh Method and device for determining a unique content instance identifier, unique content instance identifier and method and device for managing content licenses
US8387124B2 (en) * 2007-03-15 2013-02-26 Palo Alto Research Center Incorporated Wormhole devices for usable secure access to remote resource
US20090275404A1 (en) * 2008-04-30 2009-11-05 Bally Technologies, Inc. Player terminal accessing selectable games
WO2009156978A1 (en) * 2008-06-26 2009-12-30 Intuitive User Interfaces Ltd System and method for intuitive user interaction
US8832725B2 (en) * 2008-08-19 2014-09-09 Cisco Technology, Inc. On-demand content control based on parental control setting

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008118676A (ja) 1999-09-02 2008-05-22 Cryptography Research Inc デジタルコンテンツの著作権侵害を防止するための方法
JP2007525759A (ja) 2004-03-10 2007-09-06 ノキア コーポレイション コンテンツロケーション情報の格納
US20070226238A1 (en) 2006-03-27 2007-09-27 Microsoft Corporation Media file conversion using plug-ins

Also Published As

Publication number Publication date
WO2010045073A2 (en) 2010-04-22
US8548946B2 (en) 2013-10-01
EP2340479B1 (en) 2017-12-27
CN102187312B (zh) 2014-03-26
US8856122B2 (en) 2014-10-07
KR20110070855A (ko) 2011-06-24
EP2340479A4 (en) 2013-12-11
JP2012506077A (ja) 2012-03-08
WO2010045073A3 (en) 2010-06-10
US20140032497A1 (en) 2014-01-30
EP2340479A2 (en) 2011-07-06
US20100094900A1 (en) 2010-04-15
CN102187312A (zh) 2011-09-14

Similar Documents

Publication Publication Date Title
KR101553094B1 (ko) 전자 배포를 위한 콘텐츠 패키지
US7293227B2 (en) Associating image files with media content
US7650563B2 (en) Aggregating metadata for media content from multiple devices
US8909682B2 (en) Digital media bundles for media presentation playback
US20040220791A1 (en) Personalization services for entities from multiple sources
US20040220926A1 (en) Personalization services for entities from multiple sources
CN101006505B (zh) 再现设备
US20060229990A1 (en) Content distribution system and content license management method
KR100954474B1 (ko) 정보 처리 장치 및 방법, 정보 처리 시스템, 및 기록 매체
JP2012506077A5 (ko)
KR20080019013A (ko) 저속 검색 저장 장치로부터의 그래픽 검색
CA2550536A1 (en) Personalization services for entities from multiple sources
TWI314313B (en) Information storage medium storing at least one title av data stream, reproducing apparatus and method thereof
US20070016549A1 (en) Method system, and digital media for controlling how digital assets are to be presented in a playback device
US9047913B2 (en) Media bundle overlays
CA2492778A1 (en) Apparatus and method for reproducing content and information storage medium therefor
Poole Harnessing the Power of Quick Time
Pereira et al. Future MPEG developments
Cameron Advanced MVVM, Services and App Connect
KR20050122024A (ko) 엠펙-21 멀티미디어 프레임워크에서의 필요한 툴 서비스방법 및 그 시스템

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant