KR101327878B1 - 정보 처리 장치, 정보 기록 매체 제조 장치, 정보 기록매체, 및 방법, 및 컴퓨터 프로그램 - Google Patents

정보 처리 장치, 정보 기록 매체 제조 장치, 정보 기록매체, 및 방법, 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR101327878B1
KR101327878B1 KR1020060088581A KR20060088581A KR101327878B1 KR 101327878 B1 KR101327878 B1 KR 101327878B1 KR 1020060088581 A KR1020060088581 A KR 1020060088581A KR 20060088581 A KR20060088581 A KR 20060088581A KR 101327878 B1 KR101327878 B1 KR 101327878B1
Authority
KR
South Korea
Prior art keywords
data
content
parameter
conversion
segment
Prior art date
Application number
KR1020060088581A
Other languages
English (en)
Other versions
KR20070030706A (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 KR20070030706A publication Critical patent/KR20070030706A/ko
Application granted granted Critical
Publication of KR101327878B1 publication Critical patent/KR101327878B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

컨텐츠 재생 처리를 실행하는 정보 처리 장치는, 재생될 입력 컨텐츠의 구성 데이터의 일부를 변환 데이터로 치환하는 데이터 변환 처리를 실행하고, 재생 컨텐츠를 재생하는 처리를 실행하는 컨텐츠 재생 처리 유닛; 및 상기 컨텐츠 재생 처리 유닛에, 상기 데이터 변환 처리에 적용되는 파라미터를 제공하는 파라미터 생성 유닛을 포함하며, 상기 컨텐츠 재생 처리 유닛은, 재생 컨텐츠의 구분 영역으로서 설정된 세그먼트마다 상이한 파라미터 식별자를 취득하고, 상기 파라미터 식별자를 동반한 파라미터 산출 요구를 상기 파라미터 생성 유닛에 출력하는 구성을 구비하고, 상기 파라미터 생성 유닛은, 상기 컨텐츠 재생 유닛으로부터의 파라미터 산출 요구에 응답하여, 세그먼트에 대응하는 파라미터를 상기 컨텐츠 재생 유닛에 제공하는 구성을 구비한다.
Figure R1020060088581
컨텐츠 재생 처리, 파라미터 식별자, 파라미터 산출

Description

정보 처리 장치, 정보 기록 매체 제조 장치, 정보 기록 매체, 및 방법, 및 컴퓨터 프로그램{INFORMATION PROCESSING DEVICE, INFORMATION RECORDING MEDIUM MANUFACTURING DEVICE, INFORMATION RECORDING MEDIUM, METHODS THEREOF, AND COMPUTER PROGRAM}
도 1은 정보 기록 매체의 저장 데이터 및 드라이브 장치, 정보 처리 장치의 구성 및 처리에 대하여 설명하는 도면이다.
도 2는 정보 기록 매체의 저장 컨텐츠에 대하여 설정하는 컨텐츠 관리 유닛의 설정예에 대하여 설명하는 도면이다.
도 3은 정보 기록 매체의 저장 컨텐츠에 대하여 설정하는 컨텐츠 관리 유닛과 유닛 키와의 대응에 대하여 설명하는 도면이다.
도 4는 정보 기록 매체에 기록되는 컨텐츠와, 컨텐츠 재생에 있어서 필요한 데이터 변환 처리에 대하여 설명하는 도면이다.
도 5는 변환 테이블이 컨텐츠를 포함하는 트랜스포트 스트림 패킷 내에 저장되는 경우의 데이터 구성에 대하여 설명하는 도면이다.
도 6은 정보 기록 매체에 저장되는 컨텐츠 및 변환 테이블의 상세에 대하여 설명하는 도면이다.
도 7은 변환 테이블에 포함되는 변환 엔트리의 데이터 구성을 나타낸 도면이 다.
도 8은 컨텐츠를 구성하는 TS 패킷 내의 변환 엔트리를 적용한 데이터 변환 처리에 대하여 설명하는 도면이다.
도 9는 변환 테이블 중의 변환 엔트리를 적용한 데이터 변환 처리에 대하여 설명하는 도면이다.
도 10은 재생 (플레이어) 애플리케이션과 시큐어 VM 사이에서 실행되는 처리 시퀀스에 대하여 설명하는 도면이다.
도 11은 재생 (플레이어) 애플리케이션과 시큐어 VM 사이의 처리 시퀀스 중의 타이틀 초기화 처리에서 실행되는 변환 테이블의 카피 처리에 대하여 설명하는 도면이다.
도 12는 시큐어 VM에서의 처리의 수용 및 거부 시퀀스에 대하여 설명하는 도면이다.
도 13은 컨텐츠 재생 처리의 처리예에 대하여 설명하는 도면이다.
도 14는 컨텐츠 재생시에 실행하는 데이터 변환 처리에 대하여 설명하는 도면이다.
도 15는 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 1의 개요에 대하여 설명하는 도면이다.
도 16은 EP 맵에 대하여 설명하는 도면이다.
도 17은 EP 맵에 대하여 설명하는 도면이다.
도 18은 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 1의 처리 시 퀀스 및 SP_ID 특정 테이블의 구성예에 대하여 설명하는 도면이다.
도 19는 변환 테이블의 전체 데이터 구성을 나타낸 도면이다.
도 20은 SP_ID 특정 테이블의 구성예에 대하여 설명하는 도면이다.
도 21은 변환 테이블 내에 포함되는 변환 테이블 보디의 데이터 구성을 나타낸 도면이다.
도 22는 변환 테이블 보디 내에 포함되는 변환 테이블 블록(FUT 블록)의 데이터 구성을 나타낸 도면이다.
도 23은 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 1을 적용한 경우의 컨텐츠 재생 시퀀스에 대하여 설명하는 플로차트를 나타낸 도면이다.
도 24는 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 1을 적용한 경우의 특수 재생에서의 컨텐츠 재생 시퀀스에 대하여 설명하는 플로차트를 나타낸 도면이다.
도 25는 처리예 2에서의 SP_ID 특정 테이블의 구성예에 대하여 설명하는 도면이다.
도 26은 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 2를 적용한 경우의 컨텐츠 재생 시퀀스에 대하여 설명하는 플로차트를 나타낸 도면이다.
도 27은 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 2를 적용한 경우의 특수 재생에서의 컨텐츠 재생 시퀀스에 대하여 설명하는 플로차트를 나타낸 도면이다.
도 28은 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 1의 개요에 대하여 설명하는 도면이다.
도 29는 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 3을 적용한 경우의 컨텐츠 재생 시퀀스에 대하여 설명하는 플로차트를 나타낸 도면이다.
도 30은 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 3을 적용한 경우의 특수 재생에서의 컨텐츠 재생 시퀀스에 대하여 설명하는 플로차트를 나타낸 도면이다.
도 31은 호스트로서의 애플리케이션을 실행하는 정보 처리 장치의 하드웨어 구성예에 대하여 설명하는 도면이다.
본 출원은 2005년 10월 11일에 가출원된 60/724,803의 이점을 청구한다.
본 발명은 2005년 9월 13일에 일본특허청에 출원된 JP 2005-265476과 관련된 요지를 포함하며, 상기 문헌의 전체 내용을 원용한다.
발명의 배경
1. 발명의 분야
본 발명은, 정보 처리 장치, 정보 기록 매체 제조 장치, 정보 기록 매체, 및 방법, 및 컴퓨터 프로그램에 관한 것이다. 더 상세하게는, 컨텐츠 이용 관리의 요구되는 다양한 컨텐츠에 대한 데이터 변환 처리에 의해, 부정한 컨텐츠 이용을 배제하고, 엄격한 컨텐츠 이용 관리를 실현하는 정보 처리 장치, 정보 기록 매체 제 조 장치, 정보 기록 매체, 및 방법, 및 컴퓨터 프로그램에 관한 것이다.
2. 종래기술에 대한 기술
음악 등의 오디오 데이터, 영화 등의 화상 데이터, 게임 프로그램, 각종 애플리케이션 프로그램 등, 다양한 소프트웨어 데이터(이하, 이들을 "컨텐츠"라고 함)는, 기록 미디어, 예를 들면, 청색 레이저를 적용한 Blu-ray 디스크, 또는 DVD(Digital Versatile Disc), MD(Mini Disc), CD(Compact Disc)에 디지털 데이터로서 저장할 수 있다. 특히, 청색 레이저를 이용한 Blu-ray 디스크는, 고밀도 기록 가능한 디스크이며 대용량의 영상 컨텐츠 등을 고화질 데이터로서 기록할 수 있다.
이들 다양한 정보 기록 매체(기록 미디어)에 디지털 컨텐츠가 저장되고, 사용자에게 제공된다. 사용자는, 소유하는 PC(Personal Computer), 디스크 플레이어 등의 재생 장치에서 컨텐츠의 재생, 이용을 행한다.
음악 데이터, 화상 데이터 등, 많은 컨텐츠는, 일반적으로 그 작성자 또는 판매 사람에게 배포권 등이 보유되어 있다. 따라서, 이들 컨텐츠의 배포 시에는, 일정한 이용 제한, 즉 정규 사용자에 대하여만, 컨텐츠의 이용을 허락하고, 허가가 없는 복제 등이 행해지지 않도록 하는 구성을 취하는 것이 일반적으로 되어 있다.
디지털 기록 장치 및 기록 매체에 의하면, 예를 들면, 화상이나 음성을 열화시키지 않고 기록, 재생을 반복하는 것이 가능하며, 부정 카피 컨텐츠의 인터넷을 통한 분배나, 컨텐츠를 CD-R 등에 카피한, 이른바 해적판 디스크의 유통이나, PC 등의 하드 디스크에 저장한 카피 컨텐츠의 이용이 만연하고 있다는 문제가 발생하 고 있다.
DVD, 또는 최근 개발이 진행되어 있는 청색 레이저를 이용한 기록 매체 등의 대용량형 기록 매체는, 1매의 매체에 예를 들면, 영화 1개~수개 분의 대량의 데이터를 디지털 정보로서 기록할 수 있다. 이와 같이 영상 정보 등을 디지털 정보로서 기록하는 것이 가능하게 되어 부정 카피를 방지하여 저작권자의 보호를 도모하는 것이 더욱더 중요한 과제로 되어 있다. 최근에서는, 이와 같은 디지털 데이터의 부정한 카피를 방지하므로 디지털 기록 장치 및 기록 매체에 위법한 카피를 방지하기 위한 다양한 기술이 실용화되어 있다.
컨텐츠의 부정 카피를 방지하여 저작권자의 보호를 도모하는 한 방법으로서 컨텐츠의 암호화 처리가 있다. 그러나 컨텐츠를 암호화해도, 암호 키의 누출이 발생하여 해버리면, 부정으로 암호해제된 컨텐츠가 유출되는 문제가 발생한다. 이와 같은 문제를 해결하는 하나의 구성을 개시한 종래 기술로서, 일본국 특개평 11-45508호 공보에 기재된 구성이 있다. 일본국 특개평 11-45508호 공보는, 컨텐츠의 일부를 더미 데이터로 치환하여 기록함으로써, 컨텐츠의 부정 재생을 방지한 구성을 개시하고 있다.
컨텐츠를 더미 데이터로 치환하여 컨텐츠의 재생 처리 시에는, 더미 데이터를 정상적인 컨텐츠 데이터에 재차, 치환하는 처리가 필요하였다. 이 데이터 변환 처리는, 정상 컨텐츠의 외부로의 누출을 발생시키지 않고 행해지는 것이 필요하고, 또 더미 데이터의 배치 위치 등이나 변환 방법 등의 처리 정보에 대해서도 누출을 방지하는 것이 바람직하다. 이와 같은 재생시의 처리를, 정보 누출을 방지해 안전 하게 실행하는 구성에 대하여는, 아직 검토해야 할 과제가 많다는 것이 현 상태이다.
본 발명은 이와 같은 상황을 감안하여 이루어진 것이며, 컨텐츠 구성 데이터의 부분적 치환에 의해 컨텐츠를 파괴하고, 효과적인 컨텐츠의 부정 이용 방지를 실현하는 동시에, 재생 처리에 있어서, 정보 누출을 방지한 시큐어 데이터 처리를 실현하는 정보 처리 장치, 정보 기록 매체 제조 장치, 정보 기록 매체, 및 방법, 및 컴퓨터 프로그램을 제공하는 것을 목적으로 하는 것이다.
본 발명의 일실시예에 따른 컨텐츠 재생 처리를 실행하는 정보 처리 장치는, 재생될 입력 컨텐츠의 구성 데이터의 일부를 변환 데이터로 치환하는 데이터 변환 처리를 실행하고, 재생 컨텐츠를 재생하는 처리를 실행하는 컨텐츠 재생 처리 유닛; 및 상기 컨텐츠 재생 처리 유닛에, 상기 데이터 변환 처리에 적용되는 파라미터를 제공하는 파라미터 생성 유닛을 포함하며, 상기 컨텐츠 재생 처리 유닛은, 재생 컨텐츠의 구분 영역으로서 설정된 세그먼트마다 상이한 파라미터 식별자를 취득하고, 상기 파라미터 식별자를 동반한 파라미터 산출 요구를 상기 파라미터 생성 유닛에 출력하는 구성을 구비하고, 상기 파라미터 생성 유닛은, 상기 컨텐츠 재생 유닛으로부터의 파라미터 산출 요구에 응답하여, 세그먼트에 대응하는 파라미터를 상기 컨텐츠 재생 유닛에 제공하는 구성을 구비한 것을 특징으로 한다.
또한, 상기 컨텐츠 재생 처리 유닛은, 상기 변환 데이터를 포함하는 변환 테이블 데이터에 대하여, 상기 파라미터 생성 유닛으로부터 취득한 세그먼트에 대응 하는 파라미터를 적용한 연산 처리 또는 암호 처리를 실행하고, 상기 세그먼트의 구성 데이터에 대한 치환 데이터로서 적용되는 변환 데이터를 포함하는 데이터의 복원 처리를 실행하는 구성인 것을 특징으로 한다.
또한, 상기 컨텐츠 재생 처리 유닛은, 컨텐츠 재생 구간 정보인 클립 정보에 포함된 EP 맵으로부터, 재생 구간에 포함된 세그먼트의 구성 패킷의 패킷 번호를 취득하고, 상기 파라미터 식별자와 컨텐츠 구성 데이터로서의 패킷 번호를 상관시키는 파라미터 식별자 특정 테이블을 참조하여, 상기 세그먼트의 구성 패킷의 패킷 번호에 대응하는 파라미터 식별자를 취득하는 처리를 실행하는 구성인 것을 특징으로 한다.
또한, 상기 파라미터 식별자 특정 테이블은, 상기 파라미터 식별자와 컨텐츠 구성 데이터인 세그먼트의 선두 위치에 있는 패킷의 패킷 번호를 상관시키는 테이블인 것을 특징으로 한다.
또한, 상기 패킷 번호는, EP 맵에 포함된 I픽처에 대응하는 소스 패킷 번호(SPN)인 것을 특징으로 한다.
또한, 상기 컨텐츠 재생 처리 유닛은, 컨텐츠 재생 구간 정보인 클립 정보에 포함된 EP 맵의 등록 테이블 식별자인 EP 맵 등록 테이블 ID를 취득하고, 상기 파라미터 식별자와 EP 맵 등록 테이블 ID를 상관시키는 파라미터 식별자 특정 테이블을 참조하여, 상기 세그먼트의 구성 패킷의 패킷 번호에 대응하는 파라미터 식별자를 취득하는 처리를 실행하는 구성인 것을 특징으로 한다.
또한, 상기 파라미터 식별자 특정 테이블은, 상기 파라미터 식별자와 컨텐츠 구성 데이터인 세그먼트의 선두 위치에 있는 패킷의 정보를 포함하는 EP 맵의 등록 테이블 식별자인 EP 맵 등록 테이블 ID를 상관시키는 테이블인 것을 특징으로 한다.
또한, 상기 컨텐츠 재생 처리 유닛은, 컨텐츠 재생 구간 정보인 클립 정보에 포함된 EP 맵의 등록 테이블 식별자인 EP 맵 등록 테이블 ID를 취득하고, 상기 EP 맵 등록 테이블 ID에 기초하여 상기 세그먼트에 대응하는 파라미터 식별자를 산출하는 처리를 실행하는 구성인 것을 특징으로 한다.
또한, 상기 컨텐츠 재생 처리 유닛은, 상기 EP 맵 등록 테이블 ID에 기초하여 상기 세그먼트에 대응하는 파라미터 식별자를, 하기 산출식,
(SP_ID)=(EP_map_ID)/N
단, SP_ID: 파라미터 식별자,
EP_map_ID: EP 맵 등록 테이블 ID,
N: 하나의 세그먼트에 대응하여 설정되는 EP 맵 등록 테이블 수
에 따라 산출하는 처리를 실행하는 구성인 것을 특징으로 한다.
또한, 상기 컨텐츠 재생 처리 유닛은, 컨텐츠 재생 구간 정보인 클립 정보에 포함된 EP 맵 등록 테이블의 이용 횟수를 카운트하여, 상기 EP 맵 등록 테이블의 카운트 수에 기초하여 상기 세그먼트에 대응하는 파라미터 식별자를 산출하는 처리를 실행하는 구성인 것을 특징으로 한다.
또한, 상기 컨텐츠 재생 처리 유닛은, 상기 변환 데이터를 포함하는 변환 테이블 데이터를 컨텐츠 내에 포함되는 패킷으로부터 취득하고, 상기 파라미터 생성 유닛으로부터 취득한 세그먼트에 대응하는 파라미터를 적용한 연산 처리 또는 암호 처리를 실행하여, 상기 세그먼트의 구성 데이터에 대한 치환 데이터로서 적용되는 변환 데이터를 포함하는 데이터의 복원 처리를 실행하는 구성인 것을 특징으로 한다.
또한, 상기 컨텐츠 재생 처리 유닛은, 상기 변환 데이터를 포함하는 변환 테이블 데이터를 상기 컨텐츠와 상이하고 독립된 변환 테이블 데이터로부터 취득하고, 상기 파라미터 생성 유닛으로부터 취득한 세그먼트에 대응하는 파라미터를 적용한 연산 처리 또는 암호 처리를 실행하여, 상기 세그먼트의 구성 데이터에 대한 치환 데이터로서 적용되는 변환 데이터를 포함하는 데이터의 복원 처리를 실행하는 구성인 것을 특징으로 한다.
또한, 상기 파라미터 산출 유닛은, 정보 처리 장치 내에 설정되는 버추얼 머신에 의해 실행되는 구성인 것을 특징으로 한다.
또한, 상기 컨텐츠 재생 처리 유닛으로부터의 상기 파라미터 산출 유닛에 대한 파라미터 산출 요구는, 인터럽션 요구로서 실행되고, 상기 파라미터 산출 유닛으로부터 상기 컨텐츠 재생 처리 유닛에 대한 파라미터 제공은, 상기 인터럽션 요구에 대한 응답으로서 실행하는 구성인 것을 특징으로 한다.
또한, 본 발명의 다른 실시예에 따른 정보 기록 매체 제조 장치는, 정당한 컨텐츠 구성 데이터와 상이한 변칙 데이터를 포함하는 컨텐츠와, 상기 변칙 데이터와의 치환을 위한 변환 데이터에 대해, 컨텐츠의 구분 영역인 세그먼트에 대응하여 설정되는 파라미터에 의한 연산 또는 암호화 처리를 행하여 저장된 변환 테이블 보 디 데이터와, 상기 파라미터의 식별 정보인 파라미터 식별자를 저장하는 파라미터 식별자 특정 테이블을 포함하는 변환 테이블(fix-up table)을 생성하는 데이터 처리 유닛; 및 상기 변칙 데이터를 포함하는 컨텐츠와, 상기 변환 테이블을 정보 기록 매체에 기록하는 데이터 기록 유닛을 포함하는 것을 특징으로 한다.
또한, 상기 파라미터 식별자 특정 테이블은, 상기 파라미터 식별자와 컨텐츠 구성 데이터인 세그먼트의 선두 위치에 있는 패킷의 패킷 번호를 상관시키는 테이블인 것을 특징으로 한다.
또한, 상기 파라미터 식별자 특정 테이블은, 상기 파라미터 식별자와 컨텐츠 구성 데이터인 세그먼트의 선두 위치에 있는 패킷의 정보를 포함하는 EP 맵의 등록 테이블 식별자인 EP 맵 등록 테이블 ID를 상관시키는 테이블인 것을 특징으로 한다.
또한, 본 발명의 또 다른 실시예에 따른 정보 기록 매체는, 컨텐츠 구성 데이터의 일부가 치환되어 재생되는 컨텐츠; 및 상기 컨텐츠 구성 데이터가 복수의 세그먼트들로 구분되어 설정되는 세그먼트에 대응하여 설정된 파라미터 식별자와, 치환될 컨텐츠 구성 데이터의 일부와 치환될 대상으로서의 변환 데이터가 대응되어 등록되어 있는 변환 테이블이 저장되어 있으며, 상기 변환 데이터는, 상기 파라미터 식별자에 대응하는 파라미터에 기초하여 연산 또는 코딩 처리가 수행된 데이터인 것을 특징으로 한다.
또한, 상기 정보 기록 매체는, 엔트리 포인트의 프레젠테이션 타임 스탬프(PTS)와, 어드레스인 패킷 번호가 상관되어 등록되어 있는 EP 맵을 더 포함하며, 상기 세그먼트들은 상기 EP 맵에 등록된 복수의 엔트리 포인트에 기초하여 구분되는 것을 특징으로 한다.
또한, 상기 세그먼트는 고정된 수의 엔트리 포인트에 기초하여 구분되는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따른 컨텐츠 재생 처리를 실행하는 정보 처리 방법은, 컨텐츠 재생 처리 유닛에서, 재생될 입력 컨텐츠의 구성 데이터의 일부를 재기록하기 위해 데이터 변환 처리를 실행하여 재생 컨텐츠를 재생하는 처리를 실행하는 컨텐츠 재생 처리 단계; 및 파라미터 생성 유닛에서, 상기 컨텐츠 재생 처리 유닛에 상기 데이터 변환 처리에서 적용되는 파라미터를 제공하는 파라미터 생성 단계를 포함하며, 상기 컨텐츠 재생 처리 단계는, 재생 컨텐츠의 구분 영역으로서 설정된 세그먼트마다 상이한 파라미터 식별자를 취득하고, 상기 파라미터 식별자를 동반한 파라미터 산출 요구를 상기 파라미터 생성 유닛에 출력하는 단계를 포함하고, 상기 파라미터 생성 단계는, 상기 컨텐츠 재생 유닛으로부터의 파라미터 산출 요구에 응답하여, 세그먼트에 대응하는 파라미터를 상기 컨텐츠 재생 유닛에 제공하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 컨텐츠 재생 처리 단계는, 상기 변환 데이터를 포함하는 변환 테이블 데이터에 대하여, 상기 파라미터 생성 유닛으로부터 취득한 세그먼트에 대응하는 파라미터를 적용한 연산 처리 또는 암호 처리를 실행하고, 상기 세그먼트의 구성 데이터에 대한 치환 데이터로서 적용되는 변환 데이터를 포함하는 데이터의 복원 처리를 실행하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 컨텐츠 재생 처리 단계는, 컨텐츠 재생 구간 정보인 클립 정보에 포함된 EP 맵으로부터, 재생 구간에 포함된 세그먼트의 구성 패킷의 패킷 번호를 취득하고, 상기 파라미터 식별자와 컨텐츠 구성 데이터로서의 패킷 번호를 상관시키는 파라미터 식별자 특정 테이블을 참조하여, 상기 세그먼트의 구성 패킷의 패킷 번호에 대응하는 파라미터 식별자를 취득하는 처리를 실행하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 파라미터 식별자 특정 테이블은, 상기 파라미터 식별자와 컨텐츠 구성 데이터인 세그먼트의 선두 위치에 있는 패킷의 패킷 번호를 상관시키는 테이블인 것을 특징으로 한다.
또한, 상기 패킷 번호는, EP 맵에 포함된 I픽처에 대응하는 소스 패킷 번호(SPN)인 것을 특징으로 한다.
또한, 상기 컨텐츠 재생 처리 단계는, 컨텐츠 재생 구간 정보인 클립 정보에 포함된 EP 맵의 등록 테이블 식별자인 EP 맵 등록 테이블 ID를 취득하고, 상기 파라미터 식별자와 EP 맵 등록 테이블 ID를 상관시키는 파라미터 식별자 특정 테이블을 참조하여, 상기 세그먼트의 구성 패킷의 패킷 번호에 대응하는 파라미터 식별자를 취득하는 처리를 실행하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 파라미터 식별자 특정 테이블은, 상기 파라미터 식별자와 컨텐츠 구성 데이터인 세그먼트의 선두 위치에 있는 패킷의 정보를 포함하는 EP 맵의 등록 테이블 식별자인 EP 맵 등록 테이블 ID를 상관시키는 테이블인 것을 특징으로 한다.
또한, 상기 컨텐츠 재생 처리 단계는, 컨텐츠 재생 구간 정보인 클립 정보에 포함된 EP 맵의 등록 테이블 식별자인 EP 맵 등록 테이블 ID를 취득하고, 상기 EP 맵 등록 테이블 ID에 따라서, 상기 세그먼트에 대응하는 파라미터 식별자를 산출하는 처리를 실행하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 컨텐츠 재생 처리 단계는, 상기 EP 맵 등록 테이블 ID에 기초하여 상기 세그먼트에 대응하는 파라미터 식별자를, 하기 산출식,
(SP_ID)=(EP_map_ID)/N
단, SP_ID: 파라미터 식별자,
EP_map_ID: EP 맵 등록 테이블 ID,
N: 하나의 세그먼트에 대응하여 설정되는 EP 맵 등록 테이블 수
에 따라 산출하는 처리를 실행하는 단계인 것을 특징으로 한다.
또한, 상기 컨텐츠 재생 처리 단계는, 컨텐츠 재생 구간 정보인 클립 정보에 포함된 EP 맵 등록 테이블의 이용 횟수를 카운트하여, 상기 EP 맵 등록 테이블의 카운트 수에 기초하여 상기 세그먼트에 대응하는 파라미터 식별자를 산출하는 처리를 실행하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 컨텐츠 재생 처리 단계는, 상기 변환 데이터를 포함하는 변환 테이블 데이터를 컨텐츠 내에 포함되는 패킷으로부터 취득하고, 상기 파라미터 생성 유닛으로부터 취득한 세그먼트에 대응하는 파라미터를 적용한 연산 처리 또는 암호 처리를 실행하며, 상기 세그먼트의 구성 데이터에 대한 치환 데이터로서 적용되는 변환 데이터를 포함하는 데이터의 복원 처리를 실행하는 단계를 포함하는 것을 특 징으로 한다.
또한, 상기 컨텐츠 재생 처리 단계는, 상기 변환 데이터를 포함하는 변환 테이블 데이터를 상기 컨텐츠와 상이하고 독립된 변환 테이블 데이터로부터 취득하여, 상기 파라미터 생성 유닛으로부터 취득한 세그먼트에 대응하는 파라미터를 적용한 연산 처리 또는 암호 처리를 실행하고, 상기 세그먼트의 구성 데이터에 대한 치환 데이터로서 적용되는 변환 데이터를 포함하는 데이터의 복원 처리를 실행하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 또 다른 실시예에 따른 정보 기록 매체 제조 방법은, 컨텐츠 구성 데이터의 일부가 치환되어 재생되는 컨텐츠와, 상기 컨텐츠 구성 데이터가 복수의 세그먼트들로 구분되어 설정되는 세그먼트에 대응하여 설정된 파라미터 식별자와, 치환될 컨텐츠 구성 데이터의 일부와 치환될 대상으로서의 변환 데이터가 대응되어 등록되어 있는 변환 테이블을 생성하는 데이터 처리 단계; 및 상기 변칙 데이터를 포함하는 컨텐츠와, 상기 변환 테이블을 정보 기록 매체에 기록하는 데이터 기록 단계를 포함하며, 상기 변환 데이터는, 상기 파라미터 식별자에 대응하는 파라미터에 기초하여 연산 또는 코딩 처리가 수행된 데이터인 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따른 컨텐츠 재생 처리를 정보 처리 장치에서 실행시키는 컴퓨터 프로그램은, 컨텐츠 재생 처리 유닛에서, 재생될 입력 컨텐츠의 구성 데이터의 일부를 재기록하기 위해 데이터 변환 처리를 실행하여 재생 컨텐츠를 재생하는 처리를 실행하는 컨텐츠 재생 처리 단계; 및 파라미터 생성 유닛에서, 상기 컨텐츠 재생 처리 유닛에 상기 데이터 변환 처리에서 적용되는 파라미터를 제 공하는 파라미터 생성 단계를 포함하며, 상기 컨텐츠 재생 처리 단계는, 재생 컨텐츠의 구분 영역으로서 설정된 세그먼트마다 상이한 파라미터 식별자를 취득하고, 상기 파라미터 식별자를 동반한 파라미터 산출 요구를 상기 파라미터 생성 유닛에 출력하는 단계를 포함하고, 상기 파라미터 생성 단계는, 상기 컨텐츠 재생 유닛으로부터의 파라미터 산출 요구에 응답하여, 세그먼트에 대응하는 파라미터를 상기 컨텐츠 재생 유닛에 제공하는 단계를 포함하는 것을 특징으로 한다.
그리고 본 발명에 따른 컴퓨터 프로그램은, 예를 들면, 다양한 프로그램 코드를 실행 가능한 컴퓨터 시스템에 대하여, 컴퓨터 판독 가능한 형식으로 제공하는 기억 매체, 통신 매체, 예를 들면, CD나 FD, MO 등의 기록 매체, 또는 네트워크 등의 통신 매체에 의해 제공할 수 있는 컴퓨터 프로그램이다. 이와 같은 프로그램을 컴퓨터 판독 가능한 형식으로 제공함으로써, 컴퓨터 시스템상에서 프로그램에 따른 처리가 실현된다.
본 발명의 또 다른 목적, 특징이나 이점은, 후술하는 본 발명의 실시예나 첨부하는 도면에 따른 더욱 상세한 설명에 따라 명백해 질 것이다.
그리고 본 명세서에 있어서 "시스템"은 복수개의 장치의 논리적 집합 구성이며, 각 구성의 장치가 동일 하우징 내에 있는 것으로 한정되지 않는다.
본 발명의 일실시예에 의하면, 컨텐츠의 구분 영역으로서 설정된 세그먼트마다 상이한 파라미터에 의한 연산 또는 암호 처리에 의해 변환 데이터를 복원, 취득하고, 취득된 변환 데이터에 의해, 컨텐츠의 일부 데이터의 치환을 행하면서 컨텐츠 재생을 실행하는 구성에 있어서, 재생 대상 컨텐츠의 세그먼트에 포함되는 패킷 의 SPN(소스 패킷 번호)와 파라미터 ID(SP_ID)를 상관시키는 테이블, 또는 재생 대상 컨텐츠의 세그먼트에 포함되는 패킷의 정보를 저장한 EP 맵의 등록 테이블 식별자(EP 맵 등록 테이블 ID)와 파라미터 ID를 상관시키는 테이블에 따라 세그먼트에 대응하는 파라미터 ID를 취득하고, 취득된 파라미터 ID(SP_ID)를 시큐어 VM에 통지하여, 비밀 파라미터 산출 요구(INTRP)를 실행하는 구성으로 하였으므로, 각 세그먼트에 대응하는 비밀 파라미터(SP)를 차례로, 시큐어 VM보다 정확하게 수령하여, 정확한 데이터 변환을 실행하면서 컨텐츠 재생을 행할 수 있다.
또, 본 발명의 일실시예에 의하면, 컨텐츠 재생을 실행하는 재생 (플레이어) 애플리케이션은, 먼저, 컨텐츠 재생 구간 정보로서의 클립 정보에 기록된 EP 맵으로부터, 재생 대상 컨텐츠 데이터에 대응하는 EP 맵을 특정하고, 그 EP 맵의 등록 테이블 식별자(EP 맵 등록 테이블 ID)에 따라 파라미터 ID(SP_ID)를, 산출식을 적용하여 구하거나, 또는 EP 맵 등록 테이블 수의 카운트에 의해 구하고, 취득한 파라미터 ID(SP_ID)를 시큐어 VM에 통지하여, 비밀 파라미터 산출 요구(INTRP)를 실행하는 구성으로 하였으므로, 특별한 파라미터 ID 특정 테이블을 적용하지 않고 파라미터 ID(SP_ID)를 취득하여, 각 세그먼트에 대응하는 비밀 파라미터(SP)를 차례로, 시큐어 VM보다 정확하게 수령하여, 정확한 데이터 변환을 실행하면서 컨텐츠 재생을 행할 수 있다.
발명을 실시하기 위한 바람직한 실시예
이하, 도면을 참조하면서 본 발명의 정보 처리 장치, 정보 기록 매체 제조 장치, 정보 기록 매체, 및 방법, 및 컴퓨터 프로그램의 상세에 대하여 설명한다.
그리고 설명은, 이하의 기재 항목에 따라 행한다.
1. 정보 기록 매체의 저장 데이터와, 드라이브 및 호스트에 있어서의 처리의 개요
2. 컨텐츠 관리 유닛(CPS 유닛)에 대하여
3. 변형 데이터를 포함하는 컨텐츠의 데이터 구성 및 데이터 변환 처리의 개요
4. 재생 (플레이어) 애플리케이션과 시큐어 VM 사이의 처리
5. 컨텐츠 재생 처리
6. 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리
(6.1) 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 1
(6.2) 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 2
(6.3) 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 3
7. 정보 처리 장치의 구성
8. 정보 기록 매체 제조 장치 및 정보 기록 매체
1. 정보 기록 매체의 저장 데이터와, 드라이브 및 호스트에서의 처리의 개요
먼저, 정보 기록 매체의 저장 데이터와, 드라이브 및 호스트에 있어서의 처리의 개요에 대하여 설명한다.
도 1에, 컨텐츠의 저장된 정보 기록 매체(100), 드라이브(120) 및 호스 트(140)의 구성을 나타낸다. 호스트(140)는, 예를 들면, PC 등의 정보 처리 장치로 실행되는 데이터 재생(또는 기록) 애플리케이션이며, 소정의 데이터 처리 시퀀스에 따라 PC 등의 정보 처리 장치의 하드웨어를 이용한 처리를 행한다.
정보 기록 매체(100)는, 예를 들면, Blu-ray 디스크, DVD 등의 정보 기록 매체이며, 정당한 컨텐츠 저작권, 또는 배포권을 가지는 이른바 컨텐츠 권리 사람의 허가 하에 디스크 제조 공장에서 제조된 정당한 컨텐츠를 저장한 정보 기록 매체(ROM 디스크 등), 또는 데이터 기록 가능한 정보 기록 매체(RE 디스크 등)이다. 그리고 이하의 실시예에서는, 정보 기록 매체의 예로서 디스크형의 매체를 예로서 설명하지만, 본 발명은 다양한 태양의 정보 기록 매체를 사용한 구성에 있어서 적용가능하다.
도 1에 나타낸 바와 같이, 정보 기록 매체(100)에는, 암호화 처리 및 일부 데이터의 치환하여 처리의 행해진 암호화 컨텐츠(101)와 브로드캐스트 엔크립션 방식의 한 종류로서 알려진 트리 구조의 키 분배 방식에 따라 생성되는 암호 키 블록인 MKB(Media Key Block)(102), 컨텐츠 암호해제 처리에 적용하는 타이틀 키를 암호화한 데이터(Encrypted CPS Unit Key) 등으로 구성되는 타이틀 키 파일(103), 컨텐츠의 카피/재생 제어 정보로서의 CCI(Copy Control Information) 등을 포함하는 사용 허락 정보(104), 컨텐츠 중의 소정 영역의 치환 데이터에 대응하는 변환 데이터를 등록한 변환 테이블(Fix-up Table)(105), 변환 테이블(Fix-up Table)(105)의 등록 데이터에 의한 데이터 변환 처리를 실행하기 위한 처리 명령을 포함하는 데이터 변환 처리 프로그램(106)이 저장되어 있다. 그리고 도면에 나타낸 데이터 예는 일례이며, 저장 데이터는, 디스크의 종류 등에 의해 다소 상이하다. 이하, 이들 각종 정보의 개요에 대하여 설명한다.
(1) 암호화 컨텐츠(101)
정보 기록 매체(100)에는, 다양한 컨텐츠가 저장된다. 예를 들면, 고정밀 동화상 데이터인 HD(High Definition) 무비 컨텐츠 등의 동영상 컨텐츠의 AV(Audio Visual) 스트림이나 특정한 규격으로 규정된 형식의 게임 프로그램, 화상 파일, 음성 데이터, 텍스트 데이터 등으로 되는 컨텐츠이다. 이들 컨텐츠는, 특정한 AV 포맷 규격 데이터이며, 특정한 AV 데이터 포맷에 따라 저장된다. 구체적으로는, 예를 들면, Blu-ray 디스크 ROM 규격 데이터로서, Blu-ray 디스크 ROM 규격 포맷에 따라 저장된다.
또한, 예를 들면, 서비스 데이터로서의 게임 프로그램이나, 화상 파일, 음성 데이터, 텍스트 데이터 등이 저장되는 경우도 있다. 이들 컨텐츠는, 특정한 AV 데이터 포맷에 따르지 않는 데이터 포맷을 가지는 데이터로서 저장되는 경우도 있다.
컨텐츠의 종류로서는, 음악 데이터, 동영상, 정지화상 등의 화상 데이터, 게임 프로그램, WEB 컨텐츠 등, 다양한 컨텐츠가 포함되고, 이들 컨텐츠에는, 정보 기록 매체(100)로부터의 데이터에 의해서만 이용 가능한 컨텐츠 정보와, 정보 기록 매체(100)로부터의 데이터와, 네트워크 접속된 서버로부터 제공되는 데이터를 병행하여 이용 가능해지는 컨텐츠 정보 등, 다양한 태양의 정보가 포함된다. 정보 기록 매체에 저장되는 컨텐츠는, 구분 컨텐츠마다의 상이한 이용 제어를 실현하기 위 해, 구분 컨텐츠마다 상이한 키(CPS 유닛 키 또는 유닛 키(또는 타이틀 키라고 하는 경우도 있다)가 할당되고 암호화되어 저장된다. 1개의 유닛 키를 할당하는 단위를 컨텐츠 관리 유닛(CPS 유닛)이라고 한다. 또한, 컨텐트의 구성 데이터가, 정확한 컨텐츠 데이터로부터 상이한 데이터에 의해 치환되어 변칙 데이터로서 설정되고, 암호해제 처리에서만 정확한 컨텐츠 재생이 실행되고, 재생을 행하는 경우에는, 변칙 데이터를 변환 테이블에 등록된 데이터로 치환하는 처리가 필요하다. 이들 처리에 대해서는 후에 상세하게 설명한다.
(2) MKB
MKB(Media Key Block)(102)는, 브로드캐스트 엔크립션 방식의 한 종류로서 알려진 트리 구조의 키 분배 방식에 따라 생성되는 암호 키 블록이다. MKB(102)는 유효한 라이센스를 가지는 사용자의 정보 처리 장치에 저장된 디바이스 키[Kd]에 따른 처리(암호해제)에 의해서만, 컨텐츠의 암호해제에 필요한 키인 미디어 키[Km]의 취득을 가능하게 한 키 정보 블록이다. 이것은 이른바 계층형 트리 구조에 따른 정보 분배 방식을 적용한 것이며, 사용자 디바이스(정보 처리 장치)가 유효한 라이센스를 가지는 경우에만, 미디어 키[Km]의 취득을 가능하게 하고, 무효화(리복킹 처리(revoking processing))된 사용자 디바이스에 있어서는, 미디어 키[Km]의 취득이 불가능하게 된다.
라이센스 엔티티로서의 관리 센터는 MKB에 저장하는 키 정보의 암호화에 사용하는 디바이스 키의 변경에 의해, 특정한 사용자 디바이스에 저장된 디바이스 키에서는 암호해제할 수 없는, 즉 컨텐츠 암호해제에 필요한 미디어 키를 취득할 수 없는 구성을 가지는 MKB를 생성할 수 있다. 따라서, 임의 타이밍에서 부정 디바이스를 배제하여, 유효한 라이센스를 가지는 디바이스에 대한 보고 암호해제 가능한 암호화 컨텐츠를 제공하는 것이 가능해진다. 컨텐츠의 암호해제 처리에 대하여는 후술한다.
(3) 타이틀 키 파일
전술한 바와 같이 각 컨텐츠 또는 복수개 컨텐츠의 집합은, 컨텐츠의 이용 관리를 위하여, 각각, 개별의 암호 키(타이틀 키(CPS 유닛 키)를 적용한 암호화가 수행되고 정보 기록 매체(100)에 저장된다. 즉, 컨텐츠를 구성하는 AV(Audio Visual) 스트림, 음악 데이터, 동영상, 정지화상 등의 화상 데이터, 게임 프로그램, WEB 컨텐츠 등은, 컨텐츠 이용의 관리 단위로서의 유닛으로 구분되어 구분된 유닛마다 상이한 타이틀 키를 생성하여, 암호해제 처리를 행하는 것이 필요하다. 이 타이틀 키를 생성하기 위한 정보가 타이틀 키 데이터이며, 예를 들면, 미디어 키 등에 의해 생성된 키로 암호화 타이틀 키를 암호해제함으로써 타이틀 키를 얻는다. 타이틀 키 데이터를 적용한 소정의 암호 키 생성 시퀀스에 따라 각 유닛 대응의 타이틀 키가 생성되고, 컨텐츠의 암호해제가 실행된다.
(4) 사용 허락 정보
사용 허락 정보에는, 예를 들면, 카피/재생 제어 정보(CCI)가 포함된다. 즉, 정보 기록 매체(100)에 저장된 암호화 컨텐츠(101)에 대응하는 이용 제어를 위한 카피 제한 정보나, 재생 제한 정보이다. 이 카피/재생 제어 정보(CCI)는, 컨텐츠 관리 유닛으로서 설정되는 CPS 유닛 개별의 정보로서 설정되는 경우나, 복수개 의 CPS 유닛에 대응하여 설정되는 경우 등, 다양한 설정이 가능하다.
(5) 변환 테이블
전술한 바와 같이, 정보 기록 매체(100)에 저장된 암호화 컨텐츠(101)는, 소정의 암호화가 행해져 있는 동시에, 컨텐츠 구성 데이터의 일부가, 정확한 데이터와 상이한 변칙 데이터에 의해 구성되어 있다. 컨텐츠 재생 시에는, 이 변칙 데이터를 정확한 컨텐츠 데이터인 변환 데이터로 치환하는 데이터 재기록 처리가 필요하다. 이 변환 데이터를 등록한 테이블이 변환 테이블(Fix-up Table)(105)이다. 변칙 데이터는 컨텐츠 중에 산재해 다수 설정되고, 컨텐츠 재생 시에는, 이들 복수개의 변칙 데이터를 변환 테이블에 등록된 변환 데이터로 치환(재기록)하는 처리가 필요하다. 이 변환 데이터를 적용함으로써, 예를 들면, 암호 키가 누출해서 컨텐츠의 암호해제가 부정으로 행해진 경우라도, 단지 컨텐츠의 암호해제에 의해서는, 치환 데이터의 존재에 의해 정확한 컨텐츠의 재생이 불가능으로 되어, 부정한 컨텐츠 이용을 방지할 수 있다.
그리고 변환 테이블(105)에는, 통상의 변환 데이터에 더하여 컨텐츠 재생 장치 또는 컨텐츠 재생 애플리케이션을 식별 가능하게 한 식별 정보의 구성 비트를 해석 가능하게 한 데이터를 포함하는 변환 데이터가 포함된다. 구체적으로는, 예를 들면, 플레이어(호스트 애플리케이션을 실행하는 장치)의 식별 데이터로서의 플레이어 ID 또는 플레이어 ID에 따라 생성된 식별 정보가 기록된 "식별 마크를 포함하는 변환 데이터"가 포함된다. 식별 마크를 포함하는 변환 데이터는, 컨텐츠의 재생에 영향을 주지 않는 레벨로, 정확한 컨텐츠 데이터의 비트값을 약간 변경한 데이터이다. 이들 변환 데이터를 이용한 처리에 대한 자세한 것은, 후에 설명한다.
그리고 도 1에는, 변환 테이블(105)을 독립된 데이터 파일로서 설정한 예를 나타내고 있지만, 변환 테이블을 독립 파일로 하지 못하고, 암호화 컨텐츠(101)의 구성 패킷 중에 산재시켜 포함하게 한 구성으로 해도 된다. 이들 구성 및 처리에 대하여는 후에 설명한다.
(6) 데이터 변환 처리 프로그램
데이터 변환 처리 프로그램(106)은, 변환 테이블(Fix-up Table)(105)의 등록 데이터에 의한 데이터 변환 처리를 실행하기 위한 처리 명령을 포함하는 프로그램이며, 컨텐츠 재생을 실행하는 호스트에 의해 이용된다. 도 1에 있어서의 호스트(100)의 데이터 변환 처리 유닛(154)에 있어서 실행된다. 그리고 전술한 변환 테이블(105)은, 데이터 변환 처리 프로그램(106)에 포함되는 데이터로서 설정해도 된다.
호스트에서는, 데이터 변환 처리를 실행하는 버추얼 머신(VM)을 설정하고, 버추얼 머신(VM)에 있어서, 정보 기록 매체(100)로부터 판독한 데이터 변환 처리 프로그램(106)을 실행하고, 변환 테이블(Fix-up Table)(105)의 등록 엔트리를 적용하여, 암호해제 컨텐츠에 대하여, 그 일부 구성 데이터의 데이터 변환 처리를 실행한다. 이들 처리의 상세한 것에 대하여는 후술한다.
다음에, 호스트(140)와 드라이브(120)의 구성, 처리의 개요에 대하여, 도 1을 참조하여 설명한다. 정보 기록 매체(100)에 저장된 컨텐츠의 재생 처리는, 드 라이브(120)를 통하여 호스트(140)에 데이터가 전송되어 실행된다.
호스트(140)에는, 재생 (플레이어) 애플리케이션(150)과 시큐어 VM(160)가 설정된다. 재생 (플레이어) 애플리케이션(150)은, 컨텐츠 재생 처리 유닛이며, 컨텐츠 재생 처리에서 실행하는 드라이브와의 인증 처리, 컨텐츠 암호해제, 디코드 처리 등의 처리를 실행한다. 시큐어 VM(160)는, 예를 들면, 컨텐츠 재생 처리 유닛인 재생 (플레이어) 애플리케이션(150)에 의해 실행되는 컨텐츠 재생 처리에서 실행하는 데이터 변환 처리에서 적용되는 파라미터를 제공하는 파라미터 생성 유닛으로서 기능한다. 시큐어 VM(160)는, 호스트(140) 내에 버추얼 머신으로서 설정된다. 버추얼 머신(VM)은 중간 언어를 직접 해석해 실행하는 가상 컴퓨터이며, 플랫폼에 의존하지 않는 중간 언어에서의 명령 코드 정보를 정보 기록 매체(100)로부터 판독하여 해석 실행한다.
재생 (플레이어) 애플리케이션(150)과 시큐어 VM(160)사이의 정보 전달, 또는 처리 요구는, 재생 (플레이어) 애플리케이션(150)으로부터 시큐어 VM(160)에 대한 인터럽션(INTRP)과 시큐어 VM(160)로부터 재생 (플레이어) 애플리케이션(150)에 대한 응답(Call) 처리의 시퀀스에 의해 실행된다. 애플리케이션(150)으로부터 시큐어 VM(160)에 대한 인터럽션(INTRP)과 시큐어 VM(160)로부터 재생 (플레이어) 애플리케이션(150)에 대한 응답(Call) 처리의 시퀀스에 의해, 컨텐츠 재생 처리에서 실행하는 데이터 변환 처리에 있어서 적용하는 파라미터의 산출 요구, 및 파라미터 제공을 한다. 이들 처리 시퀀스의 상세한 것에 대하여는 후에 설명한다.
호스트(140)의 실행하는 주된 처리에 대하여 설명한다. 컨텐츠의 이용에 앞 서, 드라이브(120)와 호스트(140) 사이에서는 상호 인증 처리가 실행되고, 이 인증 처리의 성립에 의해 양쪽의 정당성이 확인된 후, 드라이브로부터 호스트에게 암호화 컨텐츠가 전송되고, 호스트 측에서 컨텐츠의 암호해제 처리가 행해지고 또한, 전술한 변환 테이블에 의한 데이터 변환 처리가 실행되어 컨텐츠 재생이 행해진다.
호스트(140)와 드라이브(120) 사이에 있어서 실행하는 상호 인증에 있어서는, 각 기기 또는 애플리케이션이 부정한 기기 또는 애플리케이션으로서 등록되어 있지 않은지를 나타내는 관리 센터에 의해 발행되는 리보케이션(무효화) 리스트를 참조하여, 정당성을 판정하는 처리를 실행한다.
드라이브(120)는, 호스트의 증명서(공개키 증명서)의 리복(무효화) 정보를 저장한 호스트 CRL(Certificate Revocation List)를 저장하기 위한 메모리(122)를 가진다. 한편, 호스트(140)는, 드라이브의 증명서(공개키 증명서)의 리복(무효화) 정보를 저장한 드라이브 CRL(Certificate Revocation List)를 저장하기 위한 메모리(152)를 가진다. 메모리는 불휘발성 메모리(NVRAM)이며, 예를 들면, 정보 기록 매체(100)로부터 판독되는 CRL이 새로운 버전인 경우에는, 각각의 데이터 처리 유닛(121, 151)은, 메모리(122 및 152)에 새로운 버전의 호스트 CRL 또는 드라이브 CRL를 저장하는 갱신 처리를 행한다.
호스트 CRL, 드라이브 CRL 등의 CRL는 관리 센터가 순서대로 갱신한다. 즉 새로운 부정 기기가 발각되었을 경우, 그 부정 기기에 대하여 발행된 증명서의 ID 또는 기기 ID 등을 신규 엔트리로 해 추가한 갱신 CRL를 발행한다. 각 CRL에는 버전 번호가 부여되어 있고, 신구 비교가 가능한 구성으로 되어 있다. 예를 들면, 드라이브가 장착한 정보 기록 매체로부터 판독된 CRL이, 드라이브 내의 메모리(122)에 저장된 CRL보다 새로운 경우, 드라이브는, CRL의 갱신 처리를 실행한다. 호스트(140)도 마찬가지로, 드라이브 CRL의 갱신을 실행한다.
드라이브(120)의 데이터 처리 유닛(121)은, 이 CRL의 갱신 처리 외에, 컨텐츠 이용 시에 실행되는 호스트와의 인증 처리, 또한 정보 기록 매체로부터의 데이터 판독하고, 호스트로의 데이터 전송 처리 등을 실행한다.
호스트(140)의 재생 (플레이어) 애플리케이션(150)은, 예를 들면, PC 등의 정보 처리 장치로 실행되는 데이터 재생(또는 기록) 애플리케이션이며, 소정의 데이터 처리 시퀀스에 따라 PC 등의 정보 처리 장치의 하드웨어를 이용한 처리를 행한다.
호스트(140)는, 드라이브(120)와의 상호 인증 처리나, 데이터 전송 제어 등을 실행하는 데이터 처리 유닛(151), 암호화 컨텐츠의 암호해제 처리를 실행하는 암호해제 처리 유닛(153), 전술한 변환 테이블(105)의 등록 데이터에 따른 데이터 변환 처리를 실행하는 데이터 변환 처리 유닛(154), 디코드(예를 들면, MPEG 디코드) 처리를 실행하는 디코드 처리 유닛(155)을 가진다.
데이터 처리 유닛(151)은, 호스트와 드라이브 사이의 인증 처리를 실행하고, 인증 처리에 있어서는, 불휘발성 메모리(NVRAM)로서의 메모리(a152)에 저장된 드라이브 CRL를 참조하여, 드라이브가 리복된 드라이브가 아닌 것을 확인한다. 호스트도, 또, 메모리(a152)에 새로운 버전의 드라이브 CRL를 저장하는 갱신 처리를 행한다.
암호해제 처리 유닛(153)에서는, 메모리(b156)에 저장된 각종 정보, 및 정보 기록 매체(100)로부터의 판독 데이터를 적용하여, 컨텐츠의 암호해제에 적용하는 키를 생성하고, 암호화 컨텐츠(101)의 암호해제 처리를 실행한다. 데이터 변환 처리 유닛(154)은, 정보 기록 매체(100)로부터 취득되는 데이터 변환 처리 프로그램에 따라 정보 기록 매체(100)로부터 취득되는 변환 테이블에 등록된 변환 데이터를 적용하여 컨텐츠의 구성 데이터의 치환하여 처리(재기록)를 실행한다. 디코드 처리 유닛(155)은, 디코드(예를 들면, MPEG 디코드) 처리를 실행한다.
정보 처리 장치(150)의 메모리(b156)에는, 디바이스 키: Kd나, 상호 인증 처리에 적용하는 키 정보나 암호해제에 적용하는 키 정보 등이 저장된다. 그리고 컨텐츠의 암호해제 처리의 상세한 것에 대하여는 후술한다. 디바이스 키: Kd는, 먼저 설명한 MKB의 처리에 적용하는 키이다. MKB는 유효한 라이센스를 가지는 사용자의 정보 처리 장치에 저장된 디바이스 키[Kd]에 따른 처리(암호해제)에 의해서만, 컨텐츠의 암호해제에 필요한 키인 미디어 키[Km]의 취득을 가능하게 한 키 정보 블록이며, 암호화 컨텐츠의 암호해제 시에, 정보 처리 장치(150)는, 메모리(b156)에 저장된 디바이스 키: Kd를 적용하여 MKB의 처리를 실행하게 된다. 그리고 컨텐츠의 암호해제 처리의 상세한 것에 대하여는 후술한다.
2. 컨텐츠 관리 유닛(CPS 유닛)에 대하여
전술한 바와 같이, 정보 기록 매체에 저장되는 컨텐츠는, 유닛마다의 상이한 이용 제어를 실현하기 위해, 유닛마다 상이한 키가 할당되고 암호화 처리가 행해져 저장된다. 즉, 컨텐츠는 컨텐츠 관리 유닛(CPS 유닛)으로 구분되어, 개별의 암호 화 처리가 행해지고, 개별의 이용 관리가 행해진다.
컨텐츠 이용 시에는, 먼저, 각 유닛에 할당된 CPS 유닛 키(타이틀 키 라고도 함)를 취득하는 것이 필요하고, 또한 그 외의 필요한 키, 키 생성 정보 등을 적용하여 미리 정해진 암호해제 처리 시퀀스에 따른 데이터 처리를 실행하여 재생을 행한다. 컨텐츠 관리 유닛(CPS 유닛)의 설정 태양에 대하여, 도 2를 참조하여 설명한다.
도 2에 나타낸 바와 같이, 컨텐츠는, (A)인덱스(210), (B) 무비 오브젝트(220), (C) 플레이 리스트(230), (D) 클립(240)의 계층 구성을 가진다. 재생 애플리케이션에 의해 액세스되는 타이틀 등의 인덱스를 지정하면, 예를 들면, 타이틀에 관련된 재생 프로그램이 지정되어 지정된 재생 프로그램의 프로그램 정보에 따라 컨텐츠의 재생순서 등을 규정하고 플레이 리스트가 선택된다.
플레이 리스트에는, 재생 대상 데이터 정보로서의 플레이 아이템이 포함된다. 플레이 리스트에 포함되는 플레이 아이템에 의해 규정되는 재생 구간으로서의 클립 정보에 의해, 컨텐츠의 실제 데이터인 AV 스트림 또는 커맨드가 선택적으로 판독되어, AV 스트림의 재생, 커맨드의 실행 처리가 행해진다. 그리고 플레이 리스트, 플레이 아이템은 다수 존재하고, 각각에 식별 정보로서의 플레이 리스트 ID, 플레이 아이템 ID가 대응하고 있다.
도 2는, 2개의 CPS 유닛을 나타내고 있다. 이들은, 정보 기록 매체에 저장된 컨텐츠의 일부를 구성하고 있다. CPS 유닛(1, 271), CPS 유닛(2, 272)의 각각은, 인덱스로서의 타이틀과 재생 프로그램 파일로서의 무비 오브젝트와 플레이 리 스트와, 컨텐츠의 실제 데이터인 AV 스트림 파일을 포함하는 클립을 포함하는 유닛으로서 설정된 CPS 유닛이다.
컨텐츠 관리 유닛(CPS 유닛)(1, 271)에는, 타이틀(1, 211)과, 타이틀(2, 212), 재생 프로그램(221, 222), 플레이 리스트(231, 232), 클립(241), 클립(242)이 포함되고, 이들 2개의 클립(241, 242)에 포함되는 컨텐츠의 실제 데이터인 AV 스트림 데이터 파일(261, 262)이, 적어도 암호화 대상 데이터이며, 원칙적으로 컨텐츠 관리 유닛(CPS 유닛)(1, 271)에 대응시켜 설정되는 암호 키인 타이틀 키(Kt1)(CPS 유닛 키 라고도 함)를 적용하여 암호화된 데이터로서 설정된다.
컨텐츠 관리 유닛(CPS 유닛)(2, 272)에는, 인덱스로서 애플리케이션(1, 213), 재생 프로그램(224), 플레이 리스트(233), 클립(243)이 포함되고, 클립(243)에 포함되는 컨텐츠의 실제 데이터인 AV 스트림 데이터 파일(263)이 컨텐츠 관리 유닛(CPS 유닛)(2, 272)에 대응시켜 설정되는 암호 키인 암호 키인 타이틀 키(Kt2)를 적용하여 암호화된다.
예를 들면, 사용자가 컨텐츠 관리 유닛(1, 271)에 대응하는 애플리케이션 파일 또는 컨텐츠 재생 처리를 실행하기 위해서는, 컨텐츠 관리 유닛(CPS 유닛)(1, 271)에 대응시켜 설정된 암호 키로서의 타이틀 키: Kt1을 취득하여 암호해제 처리를 실행하는 것이 필요하다. 컨텐츠 관리 유닛(2, 272)에 대응하는 애플리케이션 파일 또는 컨텐츠 재생 처리를 실행하기 위해서는, 컨텐츠 관리 유닛(CPS 유닛)(2, 272)에 대응시켜 설정된 암호 키로서의 타이틀 키: Kt2를 취득하여 암호해제 처리를 실행하는 것이 필요하다.
CPS 유닛의 설정 구성, 및 타이틀 키의 대응예를 도 3에 나타낸다. 도 3에는, 정보 기록 매체에 저장되는 암호화 컨텐츠의 이용 관리 단위로서의 CPS 유닛 설정 단위와 각 CPS 유닛에 적용하는 타이틀 키(CPS 유닛 키)의 대응을 나타내고 있다. 그리고 미리 후발 데이터용의 CPS 유닛 및 타이틀 키를 저장하여 설정하여 두는 경우도 가능하다. 예를 들면, 데이터부(281)가 후발 데이터용의 엔트리이다.
CPS 유닛 설정 단위는, 컨텐츠의 타이틀, 애플리케이션, 데이터 그룹 등 다양하고, CPS 유닛 관리 테이블에는, 각각의 CPS 유닛에 대응하는 식별자로서의 CPS 유닛 ID가 설정된다.
도 3에 있어서, 예를 들면, 타이틀(1)은 CPS 유닛(1)이며, CPS 유닛(1)에 속하는 암호화 컨텐츠의 암호해제 시에는, 타이틀 키 Kt1를 생성하고, 생성한 타이틀 키 Kt1에 따른 암호해제 처리를 행하는 것이 필요로 된다.
이와 같이, 정보 기록 매체(100)에 저장되는 컨텐츠는, 유닛마다의 상이한 이용 제어를 실현하기 위해, 유닛마다 상이한 키가 할당되고 암호화 처리가 행해져 저장된다. 각 컨텐츠 관리 유닛(CPS 유닛)에 대한 개별의 이용 관리를 위하여, 각 컨텐츠 관리 유닛(CPS 유닛)에 대한 사용 허락 정보(UR: Usage Rules)가 설정되어 있다. 사용 허락 정보는, 전술한 바와 같이, 컨텐츠에 대한 예를 들면, 카피/재생 제어 정보(CCI)를 포함하는 정보이며, 각 컨텐츠 관리 유닛(CPS 유닛)에 포함되는 암호화 컨텐츠의 카피 제한 정보나, 재생 제한 정보이다.
그리고 타이틀 키의 생성에는, 정보 기록 매체에 저장된 다양한 정보를 적용한 데이터 처리가 필요하다. 이들 처리의 구체예에 대해서는 후에 상세하게 설명 한다.
3. 변형 데이터를 포함하는 컨텐츠의 데이터 구성 및 데이터 변환 처리의 개요
다음에, 변형 데이터를 포함하는 컨텐츠의 구성 및 데이터 변환 처리의 개요에 대하여 설명한다. 정보 기록 매체(100)에 포함되는 암호화 컨텐츠(101)는, 전술한 바와 같이, 구성 데이터의 일부가, 정확한 컨텐츠 데이터와 상이한 데이터에 의해 치환하여 변칙 데이터로서 설정되고, 암호해제 처리에 의해서만 정확한 컨텐츠 재생이 실행되고, 재생을 행하는 경우에는, 변칙 데이터를 변환 테이블에 등록된 변환 데이터로 치환하는 처리가 필요하다.
도 4를 참조하여, 정보 기록 매체에 저장되는 컨텐츠의 구성 및 재생 처리의 개요에 대하여 설명한다. 정보 기록 매체(100)에는 예를 들면, 영화 등의 AV(Audio Visual)컨텐츠가 저장된다. 이들 컨텐츠는 암호화가 행해지고, 소정의 라이센스를 가지는 재생 장치에 있어서만 취득 가능한 암호 키를 적용한 처리에 의해 암호해제 후, 컨텐츠 재생이 가능해진다. 구체적인 컨텐츠 재생 처리에 대하여는 후에 설명한다. 정보 기록 매체(100)에 저장되는 컨텐츠는, 암호화만 아니라, 컨텐츠의 구성 데이터가 변형 데이터에 의해 치환하여 구성을 가진다.
도 4에는, 정보 기록 매체(100)에 저장되는 기록 컨텐츠(291)의 구성예를 나타내고 있다. 기록 컨텐츠(291)는 변형되어 있지 않은 정상적인 컨텐츠 데이터(292)와 변형에 의하여 파괴된 컨텐츠인 변칙 데이터(293)에 의해 구성된다. 변칙 데이터(293)는, 본래의 컨텐츠에 대하여 데이터 처리에 의해 파괴가 행해진 데 이터이다. 따라서, 이 변칙 데이터를 포함하는 컨텐츠(291)를 적용하여 정상적인 컨텐츠 재생은 실행할 수 없다.
컨텐츠 재생을 행하기 위해서는, 기록 컨텐츠(291)에 포함되는 변칙 데이터(293)를 정상적인 컨텐츠 데이터로 치환하는 처리를 행해 재생 컨텐츠(296)를 생성하는 것이 필요하다. 각 변칙 데이터 영역에 대응하는 정상적인 컨텐츠 데이터로서의 변환용의 데이터(변환 데이터)는, 정보 기록 매체(100)에 기록된 변환 테이블(FUT(Fix-Up Table)(105)(도 1 참조)에 등록된 변환 데이터(295)를 취득하여, 변칙 데이터 영역의 데이터를 치환하는 처리를 실행하여, 재생 컨텐츠(296)를 생성하여 재생을 실행한다. 변환 테이블의 구체예 및, 변환 테이블을 이용한 재생 처리의 상세한 것에 대하여는 후술한다.
그리고 재생 컨텐츠(296)의 생성 시에는, 변칙 데이터(293)를 정상적인 컨텐츠 데이터로서의 변환 데이터(297)에 치환하는 처리에 더하여 기록 컨텐츠(291)의 일부 영역을, 컨텐츠 재생 장치 또는 컨텐츠 재생 애플리케이션을 식별 가능하게 한 식별 정보(예를 들면, 플레이어 ID)의 구성 비트를 해석 가능하게 한 데이터를 포함하는 식별자 설정 변환 데이터(298)에 의해 치환하는 처리를 행한다. 예를 들면, 부정으로 카피된 컨텐츠가 유출된 경우, 유출 컨텐츠 중의 식별자 설정 변환 데이터(298)의 해석에 의해, 부정 컨텐츠의 유출원을 특정하는 것이 가능해진다.
그리고 변환 데이터를 저장한 변환 테이블은, 컨텐츠와는 별도의 파일로서 설정하여 정보 기록 매체에 기록된다. 또한, 변환 데이터를 포함하는 변환 테이블의 일부 데이터는, 컨텐츠의 구성 데이터 내의 특정 패킷에 분산되어 기록된다. 즉, 변환 데이터는, 도 1에 나타내는 변환 테이블(106)에 저장되는 동시에, 암호화 컨텐츠(101)에도 분산 기록되고, 중복되어 기록된다. 컨텐츠 재생을 실행하는 정보 처리 장치는, 변환 테이블(106)에 저장된 변환 데이터를 취득하여 데이터 치환을 실행할 것인지, 또는 컨텐츠에 분산 기록된 변환 트리를 취득하여 데이터 치환을 실행할 것인지 중 어느 하나의 처리를 행한다.
컨텐츠의 구성 데이터 내의 특정 패킷에 분산되어 변환 데이터를 포함하는 변환 테이블의 구성 데이터인 변환 테이블 블록을 기록하는 구성으로 하는 경우에는, 예를 들면, 도 5에 나타낸 바와 같은 설정으로 변환 테이블 블록의 구성 데이터를 컨텐츠를 포함하는 트랜스포트 스트림 패킷 내에 저장한다. 도 5a에 컨텐츠 데이터의 구성을 나타낸다. 이 컨텐츠 구성은, 암호해제된 트랜스포트 스트림(TS) 패킷으로 이루어지는 컨텐츠 데이터를 나타내고 있다. 트랜스포트 스트림은, 소정 바이트 수의 TS(트랜스포트 스트림)패킷으로 구성되어 있다. 이들 TS 패킷의 일부의 복수개 패킷에, 변환 데이터를 포함하는 변환 테이블 블록의 구성 데이터가 분할 기록된다. 예를 들면, 도면에 나타낸 TS 패킷(307)에 기록된다. 변환 테이블 블록을 저장하는 TS 패킷으로서는, 예를 들면, 컨텐츠 중에 분산되어 설정되는 PMT(프로그램 맵 테이블)를 포함하는 TS 패킷 등이 이용된다.
변환 테이블 블록에는, 암호해제 컨텐츠에 대하여 치환하여 처리를 행하는 변환 데이터(또는 식별자 설정 변환 데이터)와 그 변환 데이터의 기록 위치가 기록되어 있다. 기록 위치 정보로서는, 예를 들면, 도 5b에 나타낸 바와 같이 복수개의 기록 위치가 있는 경우, 1번째의 변형 패킷의 위치는, 변환 테이블 블록의 구성 데이터로서의 변환 엔트리를 포함하는 TS 패킷(307)으로부터의 오프셋, 2번째의 패킷의 변형 패킷의 위치는, 최초의 변형 패킷(308)으로부터 후의 변형 패킷(309)으로의 상대 패킷 위치를 나타내는 오프셋 위치를 기록한다.
각 변환 테이블 블록에 기록된 변환 데이터는, 예를 들면, 도 5b에 나타낸 바와 같이, 각 변환 테이블 블록의 구성 데이터로서의 변환 엔트리를 포함하는 TS 패킷의 근방 위치에 기록 위치가 설정된다.
예를 들면, 도 5b에 나타낸 예에서는, 변환 데이터의 기록 영역을 가지는 패킷(308, 309)은, 변환 테이블 블록의 구성 데이터로서의 변환 엔트리를 포함하는 패킷(307)의 근방에 설정된다. 이와 같은 설정으로 함으로써, 컨텐츠의 암호해제, 재생을 리얼타임으로 실행하는 경우, 변환 데이터에 의한 데이터 치환하여 처리를 암호해제 처리 후의 연속 처리로서 실행하는 것이 가능하며, 변환 테이블의 기록된 TS 패킷의 검출, 해석 처리에 의해, 변환 데이터를 취득하고, 테이블에 기록된 위치에 대하여 변환 데이터를 기록(재기록) 처리를 효율적으로 실행할 수 있다.
도 6을 참조하여, 정보 기록 매체(100)에 저장되는 데이터 변환 처리 프로그램(300), 변환 테이블(FUT: Fix-up Table)(301), 암호화 컨텐츠(306)의 구성예에 대하여 설명한다. 정보 기록 매체(100)에 기록되는 변환 테이블(301)은, 도 6에 나타낸 바와 같이, 비밀 파라미터 ID 특정 테이블(302)과 변환 테이블 보디(303a)를 포함하는 구성을 가진다.
변환 테이블 보디(303a)는, 클립마다의 변환 테이블 집합(303b)으로서 설정되고, 각 클립 단위의 변환 테이블은, 복수개의 변환 테이블 블록(1~K304)에 의해 구성되며, 또한 각 변환 테이블 블록은, 복수개의 변환 엔트리(305)를 포함하는 구성을 가진다. 이들 변환 엔트리의 각각에는, 치환 데이터로서 적용되는 변환 데이터와 변환 데이터의 기록 위치 정보가 포함된다.
도 7은, 변환 테이프 블록에 포함되는 1개의 변환 엔트리(FixUpEntry)의 데이터 구성예를 나타내고 있다. 도 7에 나타낸 바와 같이, 변환 엔트리(FixUpEntry)에는 이하의 데이터가 포함된다.
type_indicator: 타입 식별자[00: 변환, 01b: 변환 데이터에 의한 처리, 10b, 11b: 식별자 설정 변환 데이터에 의한 처리]
FM_ID_bit_position: 식별자 설정 변환 데이터에 대응하는 플레이어 ID의 식별 비트 위치
relative_SPN: 변환 데이터 적용 패킷 위치(프로그래머블 맵 테이블(PMT) 저장 패킷으로부터의 패킷 수)
byte_position: 패킷 내의 변환 데이터 기록 위치
overwrite_value: 변환 데이터(식별자 설정 변환 데이터도 포함한다)
relative_SPN_2: 제2 변환 데이터 적용 패킷 위치(PMT 패킷으로부터의 패킷 수
byte_position_2: 패킷 내의 변환 데이터 기록 위치(제2 변환 데이터에 대응)
overwrite_value_2: 제2 변환 데이터(식별자 설정 변환 데이터도 포함)
이들 데이터에 의해 구성된다.
변환 테이블은, 컨텐츠 데이터의 일부의 치환 대상으로 되는 변환 데이터와, 상기 변환 데이터의 컨텐츠에 대한 설정 위치 정보를 기록한 변환 테이블로서 설정되고, 이 변환 테이블을 적용하여, 컨텐츠 구성 데이터의 치환 처리 실행 명령을 포함하는 데이터 변환 처리 프로그램을 실행하여, 데이터 변환을 한다.
도 7에 나타내는 변환 테이프 블록에 포함되는 변환 엔트리(FixUpEntry) 정보에 포함되는 정보[type_indicator]는, 변환 테이블의 등록 정보가,
(a) 변칙 데이터를 정당한 컨텐츠 데이터로 변환하기 위한 변환 데이터에 관한 등록 정보 인가, 또는
(b) 재생 장치 또는 컨텐츠 재생 애플리케이션의 식별 정보를 매립하고 넣기 위한 식별자 설정 변환 데이터에 관한 등록 정보 인가의
상기 (a) 또는 (b)의 어느 등록 정보 인가를 식별하는 타입 식별자이다.
변환 테이블의 등록 정보 영역이, 재생 장치 또는 컨텐츠 재생 애플리케이션의 식별 정보를 매립하고 넣기 위한 식별자 설정 변환 데이터에 관한 등록 정보 영역인 경우에는, 테이블 등록 정보로서, 컨텐츠 재생 장치 또는 컨텐츠 재생 애플리케이션의 식별 정보에 따라 선택적으로 적용하는 변환 데이터, 즉 식별자 설정 변환 데이터가 등록된다.
등록 정보[FM_ID_bit_position]는, 복수개 비트로 이루어지는 재생 장치 또는 재생 애플리케이션의 식별 정보 중, 처리 태양 결정을 위해 참조해야 할 비트의 위치 정보이다. 예를 들면, 복수개 비트로 이루어지는 재생 장치 또는 재생 애플리케이션의 식별 정보 중, 처리 태양 결정을 위해 참조해야 할 비트의 비트값이 1인 경우, 변환 테이블에 등록된 식별자 설정 변환 데이터에 의해 컨텐츠 구성 데이터의 치환을 실행하고, 참조해야 할 비트의 비트값이 0인 경우에는 치환을 실행하지 않는 것으로 처리 태양이 결정되어 데이터 변환이 실행된다.
그리고 참조 비트가 0인 경우에 변환을 실행하고, 1인 경우에 변환을 실행하지 않는 것으로 하는 설정도 가능하다. 또 참조 비트가 0인 경우의 변환 데이터와, 1인 경우의 변환 데이터를 각각 다른 변환 데이터로서 설정하고, 참조 비트의 비트값에 따라 적당히, 변환 데이터를 선택하여 설정하는 구성으로 해도 된다.
도 6에 나타낸 바와 같이, 암호화 컨텐츠(306)는, TS 패킷의 스트림으로서 설정되고, 그 일부로 변환 엔트리가 산재해 저장된 패킷, 즉 변환 엔트리 저장 패킷(307a~307d)이 설정된다. AV 스트림은, 클립 단위로 구분되어 클립 단위의 변환 엔트리가, 컨텐츠 중에 분산 기록된다.
이들 분산 기록 데이터로서 설정되는 각 변환 엔트리에는, 도 5를 참조하여 설명한 바와 같이, 근방의 변환 데이터가 기록되어 있다. 암호화 컨텐츠(306)에 분산 기록된 변환 엔트리와 변환 테이블(301)에 포함되는 변환 엔트리는 같은 것이며, 컨텐츠 재생을 실행하는 정보 처리 장치는, 재생 (플레이어) 애플리케이션의 사양에 따라 컨텐츠에 분산 기록된 변환 엔트리로부터 변환 데이터를 취득하여 데이터 치환을 실행할 것인지, 또는 변환 테이블(301) 중의 변환 엔트리로부터 변환 데이터를 취득하여 데이터 치환을 실행할 것인지 어느 한쪽의 처리를 실행한다.
컨텐츠는, 도 6에 나타낸 바와 같이, 소정 데이터 단위마다의 세그먼트로서 구분되어 있다. 각 변환 데이터를 포함하는 변환 엔트리는, 컨텐츠의 소정 데이터 단위(세그먼트 단위)마다 상이한 파라미터(SP: 비밀 파라미터)를 적용한 연산 또는 암호화 처리가 실행되어 있다.
컨텐츠 재생시에 실행하는 데이터의 치환하여 처리로서의 데이터 변환 처리를 실행하는 정보 처리 장치는, 각 세그먼트에 대응하는 비밀 파라미터(SP1, SP2, SP3···)를 차례로, 취득하여, 각 세그먼트 위치에 대응하는 변환 데이터를 포함하는 변환 테이블 블록에 대하여, 취득 파라미터(SPn)를 적용한 연산 또는 암호 처리를 실행하여, 변환 데이터를 취득하는 처리를 행한다.
도 6에 나타내는 비밀 파라미터(SP) ID 특정 테이블(302)은, 어느 컨텐츠 데이터 위치에 어느 비밀 파라미터를 적용해야 할 것인가의 가이드 정보를 기록한 테이블이다. 이 테이블의 상세 및 사용 예에 대하여는 후에 설명한다.
도 8, 도 9를 참조하여, 변환 데이터에 따른 데이터 치환의 구체예에 대하여 설명한다. 먼저, 도 8을 참조하여, 컨텐츠에 분산 기록된 변환 데이터를 포함하는 변환 테이블 블록 구성 데이터를 취득하여, 데이터 치환을 실행하는 처리예에 대하여 설명한다.
도 8a는, 정보 기록 매체(100)에 기록된 컨텐츠 구성을 나타내고 있다. 변환 엔트리를 포함하는 변환 테이블 블록의 구성 데이터가 도면에 나타낸 TS 패킷(307a~307d)에 분산 기록되어 있다.
데이터 치환하여 처리 시퀀스에 대하여, 도 8b를 참조하여 설명한다. 도 8b에 나타내는 처리는, 호스트의 재생 (플레이어) 애플리케이션의 실행하는 처리이다. 도 8b에는, 컨텐츠 구성 데이터 내의, 세그먼트 ID=N, N+1에 속하는 컨텐츠의 TS 패킷 열의 일부를 나타내고 있다.
예를 들면, 세그먼트 ID=N에 기록된 변환 엔트리를 포함하는 패킷(311)에는, 비밀 파라미터(SPx)와 배타 논리합 연산된 결과 데이터로서의 XORed 변환 엔트리(315)가 저장되어 있다. 데이터 치환 처리를 실행하는 호스트의 재생 (플레이어) 애플리케이션은, XORed 변환 엔트리(315)에 대하여, 비밀 파라미터(SPx)(316)와의 배타 논리합 연산을 실행하여 변환 엔트리(317)를 취득하여, 변환 엔트리(317)로부터 변환 데이터와 기록 위치 정보를 취득하고, 데이터 치환하여 대상 위치의 패킷(312a, 312b)과의 치환 처리를 실행한다.
변환 엔트리(317)를 취득하기 위한 연산에 적용하는 파라미터(SPx)는, 시큐어 VM(320)로부터 공급을 받는다. 예를 들면, 재생 (플레이어) 애플리케이션은, 컨텐츠의 각 세그먼트에 있어서 필요한 비밀 파라미터(SPn)를 취득하기 위하여, 각 세그먼트에 대응하는 비밀 파라미터 지정 정보로서의 비밀 파라미터 ID(SP_ID)를 취득하여, 비밀 파라미터 ID의 통지를 포함하는 비밀 파라미터 산출 요구를, 시큐어 VM에 대한 인터럽션(INTRP) 요구로서 출력한다. 시큐어 VM은, 재생 (플레이어) 애플리케이션으로부터의 비밀 파라미터 산출 요구에 응답하여, SP_ID 대응의 비밀 파라미터(SPx)를 산출하고, 응답(Call)으로서 재생 (플레이어) 애플리케이션에 제공한다.
도 8에 나타낸 바와 같이, 세그먼트가 상이하면, 변환 엔트리를 취득하기 위한 연산에 적용하는 파라미터(SPx)는 상이한 파라미터로 된다. 예를 들면, 1개의 세그먼트는 컨텐츠 재생 시간으로서 약 10초 정도로 설정되고, 재생 (플레이어) 애 플리케이션은, 약 10초의 각 세그먼트마다 상이한 파라미터를 시큐어 VM으로부터 수령하여, 변환 엔트리를 복원하여, 복원한 변환 엔트리로부터 변환 데이터를 취득하고, 데이터 치환 처리를 실행한다.
도 9에, 컨텐츠 중에 분산 기록된 변환 테이블 블록이 아닌, 독립된 변환 테이블 블록 파일로서의 1클립 분의 변환 테이블(303b)로부터, XORed 변환 엔트리를 취득하여, 연산 또는 암호 처리를 실행하여, 변환 엔트리를 복원하고, 복원한 변환 엔트리로부터 변환 데이터를 추출하여 데이터 치환을 행하는 경우의 처리예를 나타낸다.
도 9에서, (a)는 정보 기록 매체(100)에 기록된 컨텐츠 구성을 나타내고 있다. 변환 데이터를 포함하는 변환 엔트리가 도면에 나타낸 TS 패킷(307a~307d)에 분산 기록되어 있지만, 본 예에서는, 이들 데이터는 사용하지 않고, 정보 기록 매체에 독립적으로 기록된 변환 테이블의 구성 데이터로서의 1클립 분의 변환 테이블(303b)을 사용하고, 이 1클립 분의 변환 테이블(303b)에 저장된 변환 엔트리를 적용하여 데이터 치환을 실행한다.
데이터 치환하여 처리 시퀀스에 대하여, 도 9b를 참조하여 설명한다. 도 9b에 나타내는 처리는, 호스트의 재생 (플레이어) 애플리케이션의 실행하는 처리이다. 도 9b에는, 컨텐츠 구성 데이터 내의, 세그먼트 ID=N, N+1에 속하는 컨텐츠의 TS 패킷 열의 일부를 나타내고 있다.
예를 들면, 세그먼트 ID=N에 대한 데이터 치환을 실행하는 경우, 1클립 분의 변환 테이블(303b)에 포함되는 세그먼트 ID=N에 대응하는 변환 엔트리를 취득한 다. 그러나 이 변환 엔트리 x315는, 컨텐츠 중에 분산 기록된 변환 테이블 블록과 마찬가지로, 비밀 파라미터(SPx)와 배타 논리합 연산된 결과 데이터로서의 XORed 변환 엔트리(315)이다. 데이터 치환 처리를 실행하는 호스트의 재생 (플레이어) 애플리케이션은, XORed 변환 엔트리(315)에 대하여, 비밀 파라미터(SPx)(316)와의 배타 논리합 연산을 실행하여 변환 엔트리(317)를 취득하여, 변환 엔트리(317)로부터 변환 데이터와 기록 위치 정보를 취득하고, 데이터 치환하여 대상 위치의 패킷(312a, 312b)과의 치환 처리를 실행한다.
변환 엔트리(317)를 취득하기 위한 연산에 적용하는 파라미터(SPx)는, 먼저 설명한 처리예와 마찬가지로 시큐어 VM(320)로부터 공급을 받는다. 예를 들면, 재생 (플레이어) 애플리케이션은, 컨텐츠의 각 세그먼트에 있어서 필요한 비밀 파라미터(SPn)를 취득하기 위하여, 각 세그먼트에 대응하는 비밀 파라미터 지정 정보로서의 비밀 파라미터 ID(SP_ID)를 취득하여, 비밀 파라미터 ID의 통지를 포함하는 비밀 파라미터 산출 요구를, 시큐어 VM에 대한 인터럽션(INTRP) 요구로서 출력한다. 시큐어 VM은, 재생 (플레이어) 애플리케이션으로부터의 비밀 파라미터 산출 요구에 응답하여, SP_ID 대응의 비밀 파라미터(SPx)를 산출하고, 응답(Call)으로서 재생 (플레이어) 애플리케이션에 제공한다.
도 9에 나타낸 바와 같이, 세그먼트가 상이하면, 변환 엔트리를 취득하기 위한 연산에 적용하는 파라미터(SPx)는 상이한 파라미터로 된다. 예를 들면, 1개의 세그먼트는 컨텐츠 재생 시간으로서 약 10초 정도로 설정되고, 재생 (플레이어) 애플리케이션은, 약 10초의 각 세그먼트마다 상이한 파라미터를 시큐어 VM로부터 수 령하고, 변환 엔트리를 복원하며, 복원한 변환 엔트리로부터 변환 데이터를 취득하여, 데이터 치환 처리를 실행한다.
이와 같이, 컨텐츠 재생을 실행하는 재생 (플레이어) 애플리케이션은, 각 세그먼트 단위로, 시큐어 VM으로부터 비밀 파라미터를 수령하여, 연산을 실행하여, 변환 테이블 블록의 구성 데이터로서 변환 엔트리의 복원을 실행하고, 복원한 변환 엔트리를 취득하여 데이터 치환을 행한다. 그리고 전술한 처리예에서는, 비밀 파라미터를 적용한 연산으로서 배타 논리합(XOR)을 예시했지만, 그 외의 연산 처리를 적용하는 설정이라고 해도 된다. 또 비밀 파라미터를 적용한 암호 처리 등을 실행하는 구성으로 해도 된다.
4. 재생 (플레이어) 애플리케이션과 시큐어 VM 사이의 처리
전술한 처리를 실행하는 경우, 재생 (플레이어) 애플리케이션은, 컨텐츠의 재생을 실행중, 일정한 세그먼트 단위로, 상이한 비밀 파라미터(SP1, SP2, SP3···)를 차례로 취득하기 위하여, 시큐어 VM에 대하여, 세그먼트의 전환 포인트의 재생 전에, 비밀 파라미터를 취득하여 데이터 치환을 행하게 된다. 이 경우에, 재생 (플레이어) 애플리케이션은, 시큐어 VM에 대하여 비밀 파라미터 지정 정보로서의 비밀 파라미터 ID(SP_I)를 통지하여, 필요한 SP를 특정한다. 이 비밀 파라미터 ID(SP_I)는, 먼저, 도 6을 참조하여 설명한 비밀 파라미터(SP) ID 특정 테이블(302)에 기록되어 있다.
재생 (플레이어) 애플리케이션은, 이 비밀 파라미터(SP) ID 특정 테이블(302)을 참조 가능한 상태로 설정하는 처리가 필요하다. 재생 애플리케이션과 시큐어 VM 사이에 있어서 실행되는 일련의 처리 시퀀스에 대하여, 도 10을 참조하여 설명한다.
먼저, 도 1을 참조하여 설명한 바와 같이, 재생 (플레이어) 애플리케이션(150)과 시큐어 VM(160) 사이의 정보 전달, 또는 처리 요구는, 재생 (플레이어) 애플리케이션(150)으로부터 시큐어 VM(160)에 대한 인터럽션(INTRP)과 시큐어 VM(160)로부터 재생 (플레이어) 애플리케이션(150)에 대한 응답(Call) 처리의 시퀀스에 의해 실행된다.
도 10에 나타내는 처리 시퀀스는, 컨텐츠를 기록한 정보 기록 매체의 삽입으로부터 인출에 이르기까지 재생 (플레이어) 애플리케이션(150)과 시큐어 VM(160)사이에 있어서 실행되는 처리의 종류를 나타낸 도면이다.
예를 들면, 단계 S11은, 정보 기록 매체(Disc) 삽입시의 처리로서 실행되는 미디어 초기화(Media Initialize) 처리이며, 재생 (플레이어) 애플리케이션(150)은, 최초의 재생 처리에 필요한 코드 정보를 저장한 컨텐츠 코드 파일(Content Code File)을 메모리에 로드하여, 실행을 개시한다. 컨텐츠 코드 파일(Content Code File)은, 재생 (플레이어) 애플리케이션의 메이커, 모델명 등을 특정한다.
예를 들면, 시큐어 VM(160)는, 취득한 모델명이, 과거에 시큐리티 문제가 발생한 경우가 있는 모델인지 여부를 판정하고, 과거에 시큐리티 문제가 발생한 경우가 있는 모델인 경우, 마찬가지의 시큐리티 문제가 발생하고 있지 않은지를 컨텐츠 코드(Content Code)의 실행에 의해 조사한다. 예를 들면, 정보 처리 장치의 RAM상의 특정한 값이나, 특정한 디바이스의 동작을 조사하여, 정확한 상태인지를 검사한 다. 그리고 모델마다의 조사 프로그램은, 최초에 로드한 컨텐츠 코드 파일에는 들어가 있지 않은 경우가 있고, 그 경우에는 다른 필요한 컨텐츠 코드 파일로의 액세스를 행한다. 시큐어 VM(160)에 의한 초기화 처리가 종료하면, 응답(Call)이 재생 애플리케이션(150)에 통지되어 다음의 단계 S12로 진행한다.
단계 S12에서는, 타이틀 초기화 처리(Title Initialize)를 실행한다. 타이틀은 재생 대상 컨텐츠의 지정 정보로서 적용되어 사용자의 지정 등에 따라서, 특정한 재생 대상 컨텐츠에 대응하는 타이틀이 선택되고, 타이틀 정보와 함께, 타이틀 초기화 처리 요구가 재생 (플레이어) 애플리케이션(150)으로부터 시큐어 VM(160)에 출력된다.
시큐어 VM(160)는, 타이틀 재생에 필요한 모든 클립 대응의 변환 데이터 정보를 모은 변환 테이블을 시큐어 VM(160)의 메모리 상에 생성하고, 재생 (플레이어) 애플리케이션(150)이 테이블을 취득 가능하도록 테이블이 저장된 메모리의 위치를 재생 (플레이어) 애플리케이션(150)에 알린다. 그리고 타이틀 초기화 중에도 단계 S11의 미디어 초기화와 마찬가지의 시큐리티 체크를 행할 수 있다.
타이틀 초기화 처리에서 실행되는, 타이틀 재생에 필요한 모든 클립 대응의 변환 데이터 정보를 모은 변환 테이블을 시큐어 VM(160)의 메모리 상에 생성하는 처리예에 대하여, 도 11을 참조하여 설명한다. 도 11에는, 시큐어 VM(160)의 이용 가능한 메모리 영역(예를 들면 2MB)을 나타내고 있다. 여기에는, 시큐어 VM(160)이, 정보 기록 매체로부터 취득한 데이터 변환 처리 프로그램에 포함되는 코드 정보로서의 컨텐츠 코드가 저장된다. 그리고 이 컨텐츠 코드에는 암호화 등의 난독 화 처리의 행해진 변환 테이블이 포함된다.
재생 (플레이어) 애플리케이션(150)으로부터의 타이틀 초기화 요구가 입력되면, 시큐어 VM(160)는, 컨텐츠 코드로부터, 타이틀 재생에 필요한 모든 클립 대응의 변환 데이터 정보를 모은 변환 테이블을, 필요에 따라 암호해제 처리를 행하고, 전술한 XORed 등의 처리가 행해진 상태(마스크 상태)로 메모리에 저장하고, 이 메모리 저장 위치를 재생 (플레이어) 애플리케이션(150)에 통지한다. 이 통지 처리는, 재생 (플레이어) 애플리케이션(150)으로부터의 타이틀 초기화 요구(INTRP)에 대한 응답(Call)으로서 실행된다.
재생 (플레이어) 애플리케이션(150)은, 시큐어 VM(160)로부터, 타이틀 초기화 요구(INTRP)에 대한 응답(Call)을 수령하면, 시큐어 VM(160) 이용 메모리 영역의 변환 테이블 저장 영역으로부터, 필요한 데이터 부분을, 재생 (플레이어) 애플리케이션(150)의 이용 가능한 메모리 영역에 카피하여 저장한다. 예를 들면, 먼저, 도 6 ~ 도 9를 참조하여 설명한 컨텐츠의 세그먼트에 대응하는 비밀 파라미터 ID(SP_ID)를 취득하기 위한 비밀 파라미터 ID(SP_ID) 특정 테이블을 추출하여 재생 (플레이어) 애플리케이션(150)의 이용 가능한 메모리 영역에 카피하여 저장한다.
먼저, 도 8을 참조하여 설명한 컨텐츠 중에 분산 기록된 변환 테이블 블록으로부터 변환 데이터를 취득하는 처리를 실행하는 재생 (플레이어) 애플리케이션인 경우에는, 비밀 파라미터 ID(SP_ID) 특정 테이블을 취득할 뿐이지만, 도 9를 참조하여 설명한 플레이어, 즉 컨텐츠 중에 분산 기록된 변환 테이블 블록을 이용하지 않는 플레이어인 경우에는, 이 카피 처리에 있어서, 비밀 파라미터 ID(SP_ID) 특정 테이블, 및 변환 트리를 저장한 변환 테이블 블록에 대해서도 자기의 이용 가능한 메모리 영역에 카피하여 저장하는 처리를 실행한다. 도 9를 참조하여 설명한 XORed 변환 테이블 블록은, 이 처리에 의해 재생 (플레이어) 애플리케이션(150)의 이용 가능한 메모리 영역에 카피된 변환 테이블 블록이다.
도 10으로 복귀하여, 재생 (플레이어) 애플리케이션(150)과 시큐어 VM(160)사이의 처리 시퀀스에 대하여 설명을 계속한다. 단계 S13은, 비밀 파라미터(SP)계산에(Compute_SP)에 대응하는 처리이며, 재생 (플레이어) 애플리케이션(150)은, SP 계산 요구(INTRP)를 시큐어 VM(160)에 출력하고, 시큐어 VM(160)은 계산 결과(SP)를 응답(Call)으로서 재생 (플레이어) 애플리케이션(150)에 돌려준다. 재생 (플레이어) 애플리케이션(150)은, SP계산 요구(INTRP)를 시큐어 VM(160)에 출력하는 경우, SP 지정 정보로서의 SP_ID를, 예를 들면, 비밀 파라미터 ID(SP_ID) 특정 테이블로부터 취득하여 통지한다.
그리고 재생 (플레이어) 애플리케이션(150)은, SP 지정 정보로서의 SP_ID를 취득하여 시큐어 VM(160)에 통지하는 경우, 컨텐츠의 세그먼트에 대응하는 정확한 SP_ID를 선택하는 것이 필요하다. 이 SP_ID의 선택 처리의 구체예에 대하여는 후술한다. 그리고 단계 S13의 처리는, 각 세그먼트마다 반복하여 실행된다.
단계 S14의 처리는, 비밀 파라미터의 계산과는 상이한 재생 (플레이어) 애플리케이션(150)으로부터 시큐어 VM(160)에 대한 요구 처리이다. 예를 들면, 시큐리티 체크의 실행 등의 요구 처리이며, 시큐어 VM(160)는, 이들 요구가 있었을 경우, 그 요구에 따른 처리를 실행하여, 처리 결과를 응답(Call)으로서 재생 (플레이어) 애플리케이션(150)에 통지한다. 그리고 이때의 정보 전달에는, 재생 (플레이어) 애플리케이션(150)과 시큐어 VM(160)의 양쪽이 기록 판독 가능한 레지스터, 예를 들면, 플레이어 스테이터스 레지스터, 레지스터(PSR)가 이용된다.
단계 S15의 처리는, 정보 기록 매체(Disc) 인출 때의 미디어 파이널라이즈(Media Finalize) 처리이며, 컨텐츠 코드(Content Code)의 처리 상황을, 불휘발성 메모리에 기록한다. 이 처리에 의해, 다음 회의 디스크 삽입시에 대략 시큐리티 체크의 정보를 계속해서 사용하는 것이 가능해진다.
전술한 바와 같이, 재생 (플레이어) 애플리케이션(150)과 시큐어 VM(160) 사이의 정보 전달, 또는 처리 요구, 응답은, 재생 (플레이어) 애플리케이션(150)으로부터 시큐어 VM(160)에 대한 인터럽션(INTRP)과 시큐어 VM(160)로부터 재생 (플레이어) 애플리케이션(150)에 대한 응답(Call) 처리에 의해 실행된다.
이 경우, 시큐어 VM(160)는, 재생 (플레이어) 애플리케이션(150)으로부터 입력하는 인터럽션(INTRP)을 모두 처리하는 것이 아니라, 일정한 조건에 따라 어느 처리를 실행하고, 있는 처리에 대하여는 거부한다. 이 시큐어 VM(160)에 있어서의 인터럽션 처리 요구(INTRP)의 수용, 거부의 태양에 대하여, 도 12를 참조하여 설명한다.
도면에 나타낸 그래프(321)는, 시큐어 VM에 있어서의 모드 천이를 나타내고 있다. 좌측으로부터 우측에 시간(t)이 경과하고 있다. 먼저, 백그라운드 모드에 있어서, 재생 (플레이어) 애플리케이션으로부터의 인터럽션 요구와 해 비밀 파라미 터(SP)산출 요구가 입력된다. 이 시점에서, 시큐어 VM은 처리를 실행하고 있지 않고, 비밀 파라미터(SP)산출 요구를 수용(Accept)하고, 파라미터 산출 모드로 천이하여, 파라미터 산출 처리를 실행한다.
또한, 이 파라미터 산출 모드 기간에, 재생 (플레이어) 애플리케이션으로부터의 인터럽션 요구를 받았을 경우, 1번째의 요구에 대하여는 수용하고, 연속하여 수령한 인터럽션 요구에 대하여는 거부(Ignore)한다.
파라미터 산출 모드 기간에 있어서 수령한 최초의 인터럽션 요구에 대응하는 처리는, 파라미터 산출 모드 기간의 종료 후의 애플리케이션 요구 모드에서 실행된다. 또한, 이 기간에 있어서 받은 비밀 파라미터(SP)산출 요구는, 수용(Accept)하고, 애플리케이션 요구 모드의 종료 후에, 파라미터 산출 모드로 천이하여, 파라미터 산출 처리를 실행한다. 이와 같이 시큐어 VM은, 1종류의 인터럽션(INTRP)에 대하여, 1개만큼의 미처리 인터럽션을 유지하는 구성을 가진다. 2번째의 인터럽션 요구에 대하여는 거부(Ignore)한다.
5. 컨텐츠 재생 처리
다음에, 도 13을 참조하여, 호스트의 실행하는 컨텐츠 재생 처리에 대하여 설명한다. 도 13에는, 좌측으로부터 암호화 컨텐츠의 저장된 정보 기록 매체(330), 정보 기록 매체(330)를 세트하고, 데이터의 판독을 실행하는 드라이브(340), 드라이브와 데이터 통신 가능하게 접속되고, 정보 기록 매체(330)에 저장된 컨텐츠를 드라이브(340)를 통하여 취득하여 재생 처리를 실행하는 재생 애플리케이션을 실행하는 호스트(345)를 나타내고 있다.
그리고 도 13에 나타내는 호스트(345)는, 컨텐츠의 암호해제, 디코드, 데이터 변환 처리 등을 실행하는 재생 (플레이어) 애플리케이션 블록(350)으로, 비밀 파라미터(SP)의 산출 처리 등을 실행하는 시큐어 VM(360)를 가지는 시큐어 VM(360)블록을 구분하여 나타내고 있다.
정보 기록 매체(330)에는, MKB(Media Key Block)(331), 타이틀 키 파일(332), 암호화 컨텐츠(333), 변환 테이블(334), 데이터 변환 처리 프로그램(335)이 저장되어 있다. 호스트(345)는 MKB의 처리에 적용하는 디바이스 키(351)를 유지하고 있다.
도 13에 나타내는 호스트(345)가 드라이브(340)를 통하여 정보 기록 매체(330)의 저장 컨텐츠를 취득하여 재생하는 처리 시퀀스에 대하여 설명한다. 먼저, 정보 기록 매체(330)의 저장 컨텐츠의 판독에 앞서, 호스트(345)로 드라이브(340)는 단계 S101에 있어서, 상호 인증을 실행한다. 이 상호 인증은, 호스트 및 드라이브가 각각 정당한 기기 또는 애플리케이션 소프트 인가를 확인하는 처리이다. 이 상호 인증 처리 시퀀스로서는, 다양한 처리가 적용가능하다. 상호 인증 처리에 의해, 드라이브(340)와 호스트(345)는 공통의 비밀키로서의 세션 키(Ks)를 공유한다.
단계 S101에 있어서, 호스트 드라이브 사이의 상호 인증이 실행되고, 세션 키(Ks)를 공유한 후, 호스트(345)의 재생 (플레이어) 애플리케이션(350)은, 단계 S102에서, 정보 기록 매체(330)에 기록된 MKB(331)를, 드라이브를 통하여 취득하여, 메모리에 저장된 디바이스 키(351)를 적용한 MKB(331)의 처리를 실행하여, MKB 로부터 미디어 키(Km)를 취득한다.
전술한 바와 같이, MKB(Media Key Block)(331)는, 브로드캐스트 엔크립션 방식의 한 종류로서 알려진 트리 구조의 키 분배 방식에 따라 생성되는 암호 키 블록이며, 유효한 라이센스를 가지는 장치에 저장된 디바이스 키(Kd)에 따른 처리(암호해제)에 의해서만, 컨텐츠의 암호해제에 필요한 키인 미디어 키(Km)의 취득을 가능하게 한 키 정보 블록이다.
다음에, 단계 S103에 있어서, 단계 S102에서의 MKB 처리로 취득한 미디어 키(Km)를 적용하여, 정보 기록 매체(330)로부터 판독한 타이틀 키 파일(332)의 암호해제를 실행하여, 타이틀 키(Kt)를 취득한다. 정보 기록 매체(330)에 저장되는 타이틀 키 파일(332)은 미디어 키에 의해 암호화된 데이터를 포함하는 파일이며, 미디어 키를 적용한 처리에 의해 컨텐츠 암호해제에 적용하는 타이틀 키(Kt)를 취득할 수 있다. 그리고 단계 S103의 암호해제 처리는, 예를 들면, AES 암호 알고리즘이 적용된다.
다음에, 호스트(345)의 재생 (플레이어) 애플리케이션(350)은, 드라이브(340)를 통하여 정보 기록 매체(330)에 저장된 암호화 컨텐츠(333)를 판독하여, 트랙 버퍼(352)에 판독 컨텐츠를 저장하고, 이 버퍼 저장 컨텐츠에 대하여, 단계 S104에 있어서, 타이틀 키(Kt)를 적용한 암호해제 처리를 실행하고, 암호해제 컨텐츠를 취득한다.
암호해제 컨텐츠는, 평문 TS 버퍼(353)에 저장한다. (Plain TS)는 암호해제된 평문 트랜스포트 스트림을 의미한다. 여기서, 평문 TS 버퍼(353)에 저장되는 암호해제 컨텐츠는, 전술한 변칙 데이터를 포함하는 컨텐츠이며, 이대로는 재생하지 못하고, 소정의 데이터 변환(재기록에 의한 데이터 치환)을 행할 필요가 있다.
도 13에 나타내는 처리예에서는, 암호화 컨텐츠의 구성 데이터 내의 특정 패킷에 분산되어 기록된 변환 엔트리를 취득하여, 여기로부터 변환 데이터를 추출하여 데이터 치환을 행하는 처리예이다. 즉, 먼저, 도 8을 참조하여 설명한 데이터 변환 처리에 상당한다.
컨텐츠 중에 분할 기록된 변환 엔트리는, 암호해제 컨텐츠에 대하여 치환하여 처리를 행하는 변환 데이터(또는 식별자 설정 변환 데이터)와 그 변환 데이터의 기록 위치를 기록한 데이터이다.
시큐어 VM(361)는, 명령 코드 정보를 포함하는 데이터 변환 처리 프로그램(335)을 정보 기록 매체(330)로부터 판독하여, 컨텐츠 재생 또는 출력 처리 전 및 처리 실행 중에 간헐적으로, 이벤트 핸들러(354)의 제어, 플레이어 정보(355)의 입력에 따라 정보 기록 매체(330)에 컨텐츠와 함께, 기록된 변환 테이블을 평문 변환 테이블로 하기 위해 필요한 비밀 파라미터(SP1, SP2, SP3···)를 생성하여 출력한다. 이 처리는 간헐적으로 행해진다.
비밀 파라미터(SP1, SP2, SP3···)는, 전술한 바와 같이 소정의 컨텐츠 데이터 단위에 대응하는 세그먼트마다 바뀌는 연산 또는 암호 처리 파라미터이며, 구체적으로는, 예를 들면, 배타 논리합(XOR) 연산 파라미터이다. 시큐어 VM(361)는, 재생 (플레이어) 애플리케이션으로부터의 요구에 따라, 연산 처리 또는 암호 처리에 의해 변형된 변환 테이블 블록의 구성 데이터인 변환 엔트리를 복원하기 위해 필요한 파라미터(SP1, SP2, SP3···)를 간헐적으로 생성하여 출력하는 처리를 실행한다.
재생 (플레이어) 애플리케이션(350)은, 단계 S104에 있어서, 변환 엔트리를 포함하는 암호화 컨텐츠(333)의 암호해제가 실행되고, 단계 S105에 있어서의 디멀티플렉서의 처리에 의해, 컨텐츠 중에 기록된 변환 테이블의 구성 데이터인 변환 엔트리가 분리되어 리얼타임 이벤트 핸들러(356)의 제어에 의해, 단계 S106에서의 테이블 복원 및 데이터 변환 처리가 실행된다. 리얼타임 이벤트 핸들러(356)의 제어에 의해, 재생 (플레이어) 애플리케이션(350)은, 세그먼트의 전환에 따른 비밀 파라미터 산출 요구를 시큐어 VM(361)에 인터럽션(INTRP)으로서 출력하고, 시큐어 VM(361)로부터 시큐어 파라미터(SP1, SP2, SP3···)를 수령하고, 변환 테이블 블록의 암호해제 또는 연산을 실행하여 평문 변환 테이블 블록을 취득하고, 취득한 변환 테이블 블록에 포함되는 변환 엔트리를 취득한다.
변환 엔트리에는, 변환 데이터, 즉,
(a) 변환 데이터
(b) 식별자 설정 변환 데이터
및 이들 변환 데이터의 컨텐츠에 있어서의 기록 위치 지정 정보가 기록되어 있고, 재생 (플레이어) 애플리케이션(350)은, 단계 S106에 있어서, 지정 위치에 기록하는 데이터 변환 처리를 컨텐츠 재생 처리 또는 외부 출력 처리와 병행하는 리얼 타임 처리로서 실행한다.
예를 들면, 파라미터(SP1, SP2, SP3···)는 소정의 컨텐츠 부분 데이터 단 위에 대응하는 변환 데이터와의 배타 논리합(XOR) 연산 파라미터인 경우, 단계 S303에 있어서의 테이블 복원 처리로서는 이하와 같다:
[변환 테이블 블록 1](XOR)[SP1]
[변환 테이블 블록(2](XOR)[SP2]
[변환 테이블 블록(3](XOR)[SP3]
등등.
이들 배타 논리합 연산 처리를 실행하여, 변환 테이블 블록 데이터에 포함되는 변환 엔트리를 취득한다. 그리고 상기 식에 있어서, [A](XOR)[B]는, A와 B의 배타 논리합 연산을 의미하는 것으로 한다.
이와 같이, 정보 기록 매체에 기록된 컨텐츠(333)에 포함되는 변환 테이블 블록은, 각 컨텐츠 부분에 대응하는 변환 데이터 및 변환 데이터 위치 정보를 기록한 변환 엔트리에 분할되어 있고, 비밀 파라미터(SP1, SP2, SP3···)와 배타 논리합 연산되어 저장되어 있다. 이 파라미터는, 시큐어 VM(361)에 의해 순서대로, 취득되고 출력된다.
단계 S106의 테이블 복원 및 데이터 변환 처리에 있어서는, 비밀 파라미터(SP1, SP2, SP3···)를 적용한 연산 또는 암호 처리에 의해 취득함으로써 복원된 변환 엔트리로부터 변환 데이터를 취득하여, 컨텐츠에 포함되는 변칙 데이터를 정당한 컨텐츠 구성 데이터인 변환 데이터로 치환하고, 또한 식별자 설정 변환 데이터를 컨텐츠의 일부 데이터와 교체하는 데이터 재기록 처리를 실행하고, 평문 TS 버퍼(353)의 저장 데이터를 변환 처리된 데이터에 변경한다. 이 데이터 변환 처리 의 개요에 대하여 도 14를 참조하여 설명한다.
정보 기록 매체에 저장된 암호화 컨텐츠(333)는 일단, 호스트 측의 트랙 버퍼(352)에 저장된다. 이것은 도 14(1)에 나타내는 트랙 버퍼 저장 데이터(401)이다. 호스트 측의 암호해제 처리에 의해, 트랙 버퍼 저장 데이터(401)로서의 암호화 컨텐츠의 암호해제가 실행되어, 암호해제 결과 데이터가 평문 TS 버퍼(353)에 저장된다. 이것은 도 14(2)에 나타내는 암호해제 결과 데이터(402)이다.
암호해제 결과 데이터(402)에는, 정상적인 컨텐츠 구성 데이터가 아닌, 변칙 데이터(403)가 포함된다. 호스트의 데이터 변환 처리 유닛은, 이 변칙 데이터(403)를, 정확한 컨텐츠 구성 데이터로서의 변환 데이터(404)에 치환하는 처리를 실행한다. 이 치환 처리는, 예를 들면, 평문 TS 버퍼(353)에 기록이 끝난 데이터에 대한 일부 데이터의 재기록(덮어쓰기) 처리로서 실행된다.
또한, 호스트의 실행하는 데이터 변환 처리는, 변칙 데이터를 정상적인 컨텐츠 데이터인 변환 데이터로 치환하는 처리만 아니라, 도 14에 나타낸 바와 같이, 식별자 설정 변환 데이터(405)에 의해, 암호해제 결과 데이터(402)의 일부 구성 데이터를 치환하는 처리를 실행한다.
식별자는, 전술한 바와 같이 컨텐츠 재생 장치 또는 컨텐츠 재생 애플리케이션을 식별 가능하게 한 식별 정보의 구성 비트를 해석 가능하게 한 데이터이다. 구체적으로는 예를 들면, 호스트 애플리케이션을 실행하는 플레이어로서의 정보 처리 장치의 식별 정보(플레이어 ID)의 구성 데이터 또는, 플레이어 ID에 따라 생성되는 식별 마크이다. 식별자 설정 변환 데이터는, 먼저 설명한 바와 같이 컨텐츠 의 재생에 영향을 주지 않는 레벨로, 정확한 컨텐츠 데이터의 비트값을 약간 변경한 데이터이다.
식별자 설정 변환 데이터(405)는, 컨텐츠 중에 다수 설정되고, 이들 복수개의 식별자 설정 변환 데이터(405)를 집적해서 해석함으로써, 예를 들면, 플레이어 ID가 판별된다. 식별자 설정 변환 데이터(405)는, 컨텐츠로서 통상 재생 가능한 레벨로 정상 컨텐츠 데이터의 구성 비트를 변경한 데이터이며, MPEG 비트 스트림 해석에 의해 비트(식별 마크 구성 비트)판별이 가능한 데이터이다.
정보 기록 매체에 저장되는 변환 테이블에는, 도 14에 나타내는 변환 데이터(404), 식별자 설정 변환 데이터(405)가 다수 등록되어 있고, 또한 이들 기록 위치 정보에 대해도 등록되어 있다. 이 변환 테이블 저장 정보에 따른 데이터 변환 처리를 실행함으로써, 평문 TS 버퍼(353)에 저장된 데이터는, 도 14(3)에 나타내는 변환 처리된 데이터(406)로 옮겨지게 된다.
그 후, 변환된 TS(트랜스포트 스트림)는, 네트워크 등을 통하여 외부 출력되고, 외부의 재생기기에서 재생된다. 또는, 단계 S107에 있어서, 디멀티플렉서에 의한 처리에 의해, 트랜스포트 스트림(TS)으로부터 엘리멘터리 스트림(ES)으로의 변환이 실행되고, 또한 디코드 처리(단계 S108)이 행해진 후, 디스플레이 스피커를 통하여 재생된다.
6. 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리
전술한 바와 같이, 정보 기록 매체에 기록된 컨텐츠는, 세그먼트로 구분되어 있어 각 세그먼트에 있어서 필요한 데이터 변환 처리 시에는, 세그먼트마다 상이한 비밀 파라미터(SPn)를 시큐어 VM으로부터 취득하고, 취득한 비밀 파라미터를 적용하여 변환 엔트리를 포함하는 변환 테이블 블록의 복원을 하는 것이 필요하다.
이 세그먼트마다 상이한 비밀 파라미터(SPn)를 시큐어 VM로부터 취득하기 위하여, 재생 (플레이어) 애플리케이션은, 각 세그먼트에 대응하는 비밀 파라미터 식별자 (SP_ID)를 취득하여, 취득한 비밀 파라미터 식별자 (SP_ID)를 시큐어 VM에 통지한다. 이하에서는, 각 세그먼트에 대응하는 정확한 비밀 파라미터 식별자 (SP_ID)를 취득하는 방법에 관한 복수의 처리 예 1~3에 대하여 설명한다.
(6.1) 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 1
세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 1에 대하여 설명한다. 본 처리예에 있어서는, 먼저, 도 6을 참조하여 설명한 비밀 파라미터 ID 특정 테이블에, 컨텐츠를 구성하는 패킷(TS 패킷)의 식별 정보로서의 SPN(소스 패킷 번호)를 SP 식별자 (SP_ID)에 대응시켜 등록한다.
컨텐츠 재생을 실행하는 재생 (플레이어) 애플리케이션은, 먼저, 재생 대상 컨텐츠 데이터에 대응하는 SPN(소스 패킷 번호)를, 컨텐츠 재생 구간 정보로서의 클립 정보에 기록된 EP 맵으로부터 취득한다. 또한, EP 맵으로부터 취득한 SPN(소스 패킷 번호)에 따라 비밀 파라미터 ID 특정 테이블을 검색하여, 취득 SPN(소스 패킷 번호)에 대응하여 설정된 SP 식별자 (SP_ID)를 취득한다.
재생 (플레이어) 애플리케이션은, 시큐어 VM에 대하여, 비밀 파라미터 ID 특정 테이블로부터 취득한 SP 식별자 (SP_ID)를 통지해 비밀 파라미터 산출 요구(INTRP)를 실행한다.
이하, 도면을 참조하여, 본 처리예에 대하여 상세하게 설명한다. 도 15는, 컨텐츠 재생을 실행하는 컨텐츠 재생 처리 유닛, 즉 재생 (플레이어) 애플리케이션에 의한 컨텐츠 재생 처리를 설명하는 도면이다. 먼저, 컨텐츠 재생 시에, 재생 (플레이어) 애플리케이션은 컨텐츠의 재생 구간 정보로서의 클립 정보를 취득한다.
예를 들면, 도 15a에 나타내는 클립 정보가 선택된다. 클립 정보는, 컨텐츠의 패킷 식별자 정보를 포함하는 EP 맵을 복수개 포함하는 데이터로서 설정된다. 각 EP 맵에는, 예를 들면, 도 15b에 나타내는 재생 컨텐츠로서의 AV 스트림을 구성하는 부호화 데이터인 MPEG 데이터의 부호화 데이터 단위로서의 GOP(Group Of Pictures) 중의 I픽처에 관한 패킷 정보가 포함된다.
EP 맵 중에 포함되는 I픽처의 패킷 정보 중에는, SPN(소스 패킷 번호)가 포함된다. 예를 들면, 1개의 GOP(Group Of Pictures)는, 도 15c에 나타낸 바와 같이, 1개의 I픽처(411)와 복수개의 P, B픽처에 의해 구성된다. I픽처(411)는 GOP 중의 기준 픽처로서 설정되는 부호화 데이터이며, P, B픽처는, I픽처 정보를 참조 정보로서 적용하는 픽처 정보이다.
그리고 변칙 데이터로서 설정되는 패킷은 TS 패킷 단위이며, TS 패킷은, 도면에 나타낸 바와 같이 I픽처(411)나 P, B픽처의 구성 데이터로서 설정된다. 즉, 1개의 I픽처, 또는 P, B픽처는, 다수의 TS 패킷에 분산되어 저장된다.
예를 들면, 이 GOP 내의 I픽처(411)를 구성하는 TS 패킷의 하나를 변형 데이터(변칙 데이터)로서 설정하면, MPEG 부호화 데이터의 기준으로 되는 I픽처가 망가지게 되어, I픽처를 참조 정보로서 이용하는 P픽처나 B픽처도 복원(MPEG 암호해제) 을 할 수 없게 되어, 효과적인 데이터 파괴를 행할 수 있다.
컨텐츠 재생을 실행하는 재생 (플레이어) 애플리케이션은, 데이터 변환에 의해, 변환 테이블에 기록된 변환 데이터를 취득하여, 데이터 치환을 실행한다. 그리고 전술한 바와 같이, 데이터 치환은, 변칙 데이터와 치환될 변환 데이터만 아니라, 식별자 설정 변환 데이터에 대해서도 실행된다.
전술한 바와 같이, 이들 변환 데이터는, 변환 테이블에 등록되어 있지만, 세그먼트마다 상이한 비밀 파라미터(SP)를 적용한 연산, 또는 암호화가 행해져서, 컨텐츠 재생을 실행하는 재생 (플레이어) 애플리케이션은, 각 세그먼트에 대응하는 비밀 파라미터를 시큐어 VM으로부터 취득해야만 한다.
본 처리예에서는, 재생 (플레이어) 애플리케이션은, 컨텐츠 재생 구간 정보로서의 클립 정보에 기록된 EP 맵으로부터 SPN(소스 패킷 번호)를 취득하고, 취득한 SPN(소스 패킷 번호)에 따라 비밀 파라미터 ID 특정 테이블을 검색하여, 재생 예정의 SPN(소스 패킷 번호)에 대응하는 SP 식별자 (SP_ID)를 취득한다.
먼저, 도 16, 도 17을 참조하여 EP 맵의 상세에 대하여 설명한다. 도 16에 나타낸 바와 같이, EP 맵(EP_map)(412)은 클립 정보 파일(클립 정보)에 포함되는 데이터이다. EP 맵에 따른 I픽처 위치의 검출에 대하여, 도 17을 참조하여 설명한다. 도 17a는 클립 AV 스트림을 나타내고, 각 직사각형은 192 비트 소스 패킷을 나타내고 있다. 각 소스 패킷에는 타임 스탬프가 설정되고 재생 처리 시간이 규정되어 있다.
도 17b에, 소스 패킷 No.(X1)의 상세 구성을 나타낸다. 1개의 소스 패킷은, TP_extra 헤더와 트랜스포트 패킷에 의해 구성되며, 트랜스포트 패킷에는, 각종의 헤더 정보와, MPEG2 실체 데이터로서의 I-PIC H의 데이터에 의해 구성된다.
도 17c에 나타내는 클립 인포메이션에는, 전술한 바와 같이 EP 맵이 포함된다. EP 맵에는, 도면에 나타낸 바와 같이, [PTS_EPstart], [SPN_EPstart], [I_end_position_offset]의 각 데이터가 포함된다. 각 데이터의 의미는 이하와 같다.
PTS_EP_start: 시퀀스 헤더를 포함하는 소스 패킷(source packet)에 대응하는 타임 스탬프(프레젠테이션 타임 스탬프).
SPN_EP_start: 시퀀스 헤더를 포함하는 소스 패킷의 선두 어드레스.
I_end_position_offset: 시퀀스 헤더를 포함하는 소스 패킷으로부터, I픽처의 마지막을 포함하는 소스 패킷의 오프셋.
도 17d은 이들 데이터 관계를 나타내고 있다.
즉, 도 17b에 나타낸 바와 같이, 소스 패킷에 포함되는 데이터의 구성이 규정되어 있고, 도 17c에 나타내는[PTS_EPstart], [SPN_EPstart], [I_end_position_offset]의 각 데이터를 EP 맵으로부터 구함으로써, 이들 데이터에 따라 소스 패킷 중의 I픽처 위치가 구해지는 것으로 된다.
본 처리예에서는, 컨텐츠 재생을 실행하는 재생 (플레이어) 애플리케이션은, 재생 대상 컨텐츠의 데이터에 대응하는 SPN(소스 패킷 번호)를, 컨텐츠 재생 구간 정보로서의 클립 정보에 기록된 EP 맵으로부터 취득하고, 취득한 SPN(소스 패킷 번호)에 따라 비밀 파라미터 ID 특정 테이블을 검색하여, 재생 예정의 SPN(소스 패킷 번호)에 대응하는 SP 식별자 (SP_ID)를 취득한다.
도 18에, 비밀 파라미터(SP) ID 특정 테이블의 데이터 구성예, 및 재생 (플레이어) 애플리케이션의 실행하는 시큐어 VM에 대한 SP 산출 요구 처리 시퀀스를 설명하는 플로차트를 나타낸다.
도 18에 나타내는 플로차트의 각 단계에 대하여 설명한다. 컨텐츠를 재생하는 재생 (플레이어) 애플리케이션은, 먼저, 단계 S201에 있어서, 재생 예정의 컨텐츠의 재생 구간 정보로서의 클립 정보를 취득하고, 또한 단계 S201에 있어서, 클립 정보에 포함된 EP 맵을 취득한다. 또한, 단계 S203에 있어서, 취득한 EP 맵으로부터 재생 위치를 나타내는 소스 패킷 No.인 SPN를 취득한다.
예를 들면, 소스 패킷 번호: SPN=(9451000)이 취득된으로 한다. 다음에, 단계 S204에 있어서, SP_ID 특정 테이블을 참조한다. 그리고 이 SP_ID 특정 테이블은, 먼저 도 6을 참조하여 설명한 바와 같이 정보 기록 매체에 저장되는 변환 테이블의 구성 데이터이며, 먼저, 도 10, 도 11을 참조하여 설명한 바와 같이, 재생 애플리케이션의 이용 가능한 메모리 영역에 카피되어 저장되어 있다.
SP_ID 특정 테이블은, 도 18에 나타낸 바와 같이, SP_ID와 소스 패킷 번호(SPN)의 대응 테이블로서 기록되어 있다. 도면에 나타낸 SP_ID 특정 테이블은, 클립에 대응하는 SP_ID 특정 테이블이다. 각 SP_ID에 대응하여 등록된 소스 패킷 번호(SPN)는, 컨텐츠를 구성하는 각 세그먼트의 최초의 패킷 번호에 상당한다.
도면에 나타낸 SP_ID 특정 테이블의 예에서는, 예를 들면, SP_ID=(124)가 대응하는 컨텐츠의 세그먼트는, 패킷 번호(SPN)=9362153~9444310이며, SP_ ID=(125)가 대응하는 세그먼트는, 패킷 번호(SPN)=9444311~9528254로 된다.
단계 S203에 있어서, 재생 애플리케이션이 클립 정보 중의 EP 맵으로부터 소스 패킷 번호:
SPN=(9451000)을 취득했다고 한다.
재생 애플리케이션은, 단계 S204에 있어서, 소스 패킷 번호: SPN=9451000에 대응하는 SP_ID를 SP_ID 특정 테이블로부터 취득한다.
도 18에 나타내는 SP_ID 특정 테이블의 예에서는, 소스 패킷 번호: SPN=9451000은, SP_ID=125에 대응하는 패킷 번호(SPN)=9444311~9528254에 속하게 된다. 따라서, 소스 패킷 번호: SPN=9451000에 대응하는 비밀 파라미터 ID는, SP_ID=(125)로 된다. 단계 S205에서는, 이같이 하여, 소스 패킷 번호: SPN=9451000에 대응하는 비밀 파라미터 ID[SP_ID=(125]를 취득한다.
재생 (플레이어) 애플리케이션은, 단계 S206에 있어서, 취득한 비밀 파라미터 ID[SP_ID=125]를 시큐어 VM에 통지하여, 세그먼트에 대응하는 비밀 파라미터(SP) 산출 요구(INTRP)를 실행하여, 시큐어 VM으로부터 세그먼트에 대응하는 비밀 파라미터(SP)를 취득한다.
본 처리예에 있어서 적용 가능한 변환 테이블, 및 SP_ID 특정 테이블의 구성예에 대하여 도 19, 도 20을 참조하여 설명한다. 도 19는, 변환 테이블의 구성을 나타낸 도면이다. 변환 테이블에는, 이하의 데이터가 포함된다.
Number of Clips(= Nclip): 타이틀 중 사용하는 클립수
Fixup TableBody_StartAddress: 변환 테이블 내의 변환 테이블 보디의 개시 어드레스
SPChangePositionTable(): SP_ID 특정 테이블
Fixup TableBody(): 변환 테이블 보디
본 처리예에서는, SP_ID 특정 테이블은, 도 18에 나타낸 바와 같이, 비밀 파라미터(SP)의 변경되는 패킷 No. 기록된 테이블로서 설정된다. 즉, 각 세그먼트의 선두 패킷 No.는 각 SP_ID에 대응하여 기록된다.
변환 테이블에 포함되는 SP_ID 특정 테이블[SPChangePositionTable]의 데이터 구성예를 도 20에 나타낸다. SP_ID 특정 테이블은 각 클립마다 각 클립에 포함되는 SP 변경부에 상당하는 패킷 식별자로서의 소스 패킷 번호(SPN)를 등록한 테이블로서 설정된다. SP_ID 특정 테이블에는, 이하의 데이터가 포함된다.
Clip_ID: 클립 ID
Number of SP(= NSP): 세그먼트(SP_segment)의 수
SP_segment_start_SPN: SP_ID에 대응하는 세그먼트(SP_segment)의 선두에 있는 소스 패킷 번호(SPN)
재생 애플리케이션은, SP_ID에 대응하는 세그먼트(SP_segment)의 선두의 소스 패킷 번호(SPN)를 취득하여, 재생 예정의 SPN에 대응한 SP_ID를 취득할 수 있다.
도 21에, 변환 테이블에 포함되는 변환 테이블 보디[FixupTableBody]의 데이터 구성예를 나타낸다. 변환 테이블 보디는, 각 클립마다 이하의 데이터를 가진다.
Clip_ID: 클립의 식별자(ID)(Clip_ID=1234인 경우에는 01234.clpi, 01234.m2ts의 클립 파일에 대응한다)
Number of SP(= NSP): 클립 내의 세그먼트(SP_segment)의 수
또한, 각 SP_ID마다 Start address of FUT block(): 변환 테이블 블록(FUT 블록)의 스타트 어드레스 FUT block: 변환 테이블 블록 이들 데이터를 저장되어 있다.
그리고 각 변환 테이블 블록은, 도면에 나타낸 바와 같이, 1개의 세그먼트(SP_segment)에 대응하는 변환 엔트리를 모두 포함하는 설정으로 되어 있다.
1개의 변환 테이블 블록의 데이터 구성예에 대하여 도 22를 참조하여 설명한다. 변환 테이블 블록은, 먼저 설명한 바와 같이, 실제의 치환 데이터로서의 변환 데이터와 기록 위치 정보를 포함하는 변환 엔트리를 저장한 테이블이다. 변환 테이블 블록에는, 이하의 데이터가 기록된다.
Number of FixUpEntry in this block(=NFixups): 이 변환 테이블 블록(FUT b lock)에 해당하는 세그먼트(SP_segment) 내에 있는, 변환 데이터(FixUp data)를 포함하는 프로그램 맵 테이블(PMT)의 수.
또한, 각 변환 엔트리의 각각에 대하여,
Base SPN for FixUpEntry: 세그먼트(SP_segment) 내에서 I 번째의 변환 엔트리(FixUpEntry) 구조 첨부 프로그램 맵 테이블(PMT)의 소스 패킷 번호
SPNFixUpEntry(): 변환 엔트리; 세그먼트(SP_segment) 내에서 I 번째의 변환 엔트리(FixUpEntry) 구조 첨부 프로그램 맵 테이블(PMT) 내의 변환 엔트 리(FixUpEntry) 정보에 일치하는 이들 데이터가 포함된다.
그리고 변환 엔트리(FixUpEntry)는, 먼저, 도 7을 참조하여 설명한 바와 같이, 실제로 치환 대상으로 되는 변환 데이터와, 그 변환 데이터의 기록 위치 정보가 등록되어 있는 데이터이며, 재생 (플레이어) 애플리케이션은, 변환 엔트리로부터, 변환 데이터와, 그 변환 데이터의 기록 위치 정보를 인출하여, 지정 위치 정보에, 변환 데이터를 재기록하여 데이터 변환을 실행한다.
다음에, 도 23에 나타내는 플로차트를 참조하여, 세그먼트마다 상이한 비밀 파라미터(SP)를 취득하여 변환 데이터에 의한 데이터 치환을 포함하는 컨텐츠 재생 처리 시퀀스에 대하여 설명한다. 먼저, 단계 S401에 있어서, 재생 (플레이어) 애플리케이션은, 재생하는 타이틀을 결정하고, 시큐어 VM에 대하여, 타이틀 초기화 명령을 발행한다. 단계 S402에서는, 시큐어 VM은, 타이틀 초기화 처리를 실행하고, 타이틀에 대응하는 변환 테이블(Fixup Table)의 생성 처리를 실행한다. 이것은, 먼저, 도 10, 도 11을 참조하여 설명한 처리이며, 도 10에 나타내는 시퀀스 도면의 단계 S12의 처리에 대응한다.
단계 S403에 있어서, 재생 (플레이어) 애플리케이션은, 변환 테이블(Fixup Table)로부터 필요한 정보를 취득한다. 이것은, 먼저, 도 11을 참조하여 설명한 처리이며, 시큐어 VM의 메모리 영역에 저장된 변환 테이블로부터, 필요한 정보를 재생 (플레이어) 애플리케이션의 이용 가능한 메모리 영역에 카피하는 처리로서 실행된다.
컨텐츠의 TS(트랜스포트 스트림)에 다중화된 FUT 블록으로부터 변환 엔트리 를 인출하여 데이터 변환을 실행하는 재생 (플레이어) 애플리케이션, 즉 먼저 도 8을 참조하여 설명한 처리를 실행하는 재생 (플레이어) 애플리케이션의 경우에는, 비밀 파라미터(SP) ID 특정 테이블만을 자기의 메모리 영역에 카피한다. 한편, 컨텐츠의 TS(트랜스포트 스트림)에 다중화된 FUT 블록을 이용하지 않고, 변환 테이블 파일 내의 변환 테이블 블록에 기록된 변환 데이터를 이용하는 재생 (플레이어) 애플리케이션, 즉 먼저 도 9를 참조하여 설명한 처리를 실행하는 재생 (플레이어) 애플리케이션(FUT 프리로드 타입의 플레이어)의 경우에는 변환 테이블 전체를, 자기의 메모리 영역에 카피한다.
다음에, 단계 S404에 있어서, 재생 (플레이어) 애플리케이션은, 타이틀에 대응하는 클립 정보를 취득하고, 클립 정보에 포함된 EP 맵으로부터 재생 개시 포인트에 대응하는 소스 패킷 번호(SPN)의 값을 취득한다.
다음에, 단계 S405에 있어서, EP 맵으로부터 취득한 SPN에 따라 SP_ID 특정 테이블(SPChangePositionTable()로부터, 재생 포인트의 비밀 파라미터 ID(SP_ID)를 특정한다. 이 처리는 도 18을 참조하여 설명한 처리이다.
다음에, 단계 S406에 있어서, 시큐어 VM에 대하여, 취득한 비밀 파라미터 ID(SP_ID)를 통지하고 비밀 파라미터(SP) 값 산출 요구를 출력한다. 이 처리는, 도 10을 참조하여 설명한 단계 S13의 처리에 상당한다.
다음에, 단계 S407에 있어서, 재생 (플레이어) 애플리케이션은, 시큐어 VM에 있어서 산출한 세그먼트에 대응하는 비밀 파라미터(SP) 값을 취득하고, 비밀 파라미터(SP)에 따라 변환 테이블 블록의 복원을 실행하여, 복원한 변환 테이블 블록에 저장된 변환 엔트리를 취득하고, 변환 엔트리에 기록된 변환 데이터 및 그 기록 위치에 따라 컨텐츠의 세그먼트 중의 데이터를 변환 데이터로 치환하는 데이터 변환 처리를 행하고, 단계 S408에 있어서, 디코드 및 재생 처리를 실행한다.
또한, 다음의 세그먼트로 이행하는 경우에는, 단계 S410에 있어서, 다음의 재생 세그먼트의 SPN를 EP 맵으로부터 취득하고, 단계 S405 이하의 처리를 실행한다. 즉, EP 맵으로부터 취득한 SPN에 따라 SP_ID 특정 테이블(SPChangePositionTable()로부터 세그먼트에 대응하는 SP_ID를 취득하고, 취득한 SP_ID를 시큐어 VM에 통지하여, 세그먼트에 대응하는 SP 값을 취득하고, 취득된 SP 값에 따라 변환 테이블 블록을 복원하여, 복원 변환 테이블 블록으로부터 변환 엔트리 취득하며, 변환 엔트리로부터 변환 데이터 및 기록 위치를 추출하여, 컨텐츠의 세그먼트 중의 데이터를 변환 데이터로 치환하는 데이터 변환 처리를 세그먼트마다 실행한다.
이들 처리에 의해, 각 세그먼트마다 상이한 비밀 파라미터(SP)를 적용한 처리가 행해진다.
다음에, 도 24를 참조하여, 랜덤 액세스 등의 특수 재생 처리를 행하는 경우의 처리 시퀀스에 대하여 설명한다. 그리고 도 24에 나타내는 처리는, 타이틀 초기화 처리 이후의 처리 시퀀스만을 나타내고 있다. 즉, 도 23에 나타내는 처리 플로우에 있어서의 처리 단계 S401~S403가 종료한 후의 처리를 나타내고 있다.
먼저, 단계 S421에 있어서, 재생 (플레이어) 애플리케이션은, 랜덤 액세스 등의 특수 재생 처리의 요구에 따라, 클립 정보로부터 EP 맵을 취득하고, 취득 EP 맵으로부터 재생 개시 포인트에 대응하는 소스 패킷 번호(SPN)의 값을 취득한다.
다음에, 단계 S422에 있어서, EP 맵으로부터 취득한 SPN에 따라 SP_ID 특정 테이블(SPChangePositionTable()로부터, 재생 포인트의 비밀 파라미터 ID(SP_ID)를 특정한다. 이 처리는, 도 18을 참조하여 설명한 처리이다.
다음에, 단계 S423에 있어서, 시큐어 VM에 대하여, 취득한 비밀 파라미터 ID(SP_ID)를 통지하고 비밀 파라미터(SP) 값 산출 요구를 출력한다. 이 처리는 도 10을 참조하여 설명한 단계 S13의 처리에 상당한다.
다음에, 단계 S424에 있어서, 재생 (플레이어) 애플리케이션은, 시큐어 VM에 있어서 산출한 세그먼트에 대응하는 비밀 파라미터(SP) 값을 취득하고, 비밀 파라미터(SP)에 따라 변환 테이블 블록의 복원을 실행하여, 복원한 변환 테이블 블록에 저장된 변환 엔트리를 취득하고, 변환 엔트리에 기록된 변환 데이터 및 그 기록 위치에 따라 컨텐츠의 세그먼트 중의 데이터를 변환 데이터로 치환하는 데이터 변환 처리를 행하고, 단계 S425에 있어서, 디코드 및 재생 처리를 실행한다.
또한, 다음의 세그먼트로 이행하는 경우에는, 단계 S430에 있어서, 다음의 재생 세그먼트의 SPN를 EP 맵으로부터 취득하고, 단계 S422 이하의 처리를 실행한다. 즉, EP 맵으로부터 취득한 SPN에 따라 SP_ID 특정 테이블(SPChangePositionTable()로부터 세그먼트에 대응하는 SP_ID를 취득하고, 취득한 SP_ID를 시큐어 VM에 통지하여, 세그먼트에 대응하는 SP 값을 취득하고, 취득 SP 값에 따라 변환 테이블 블록을 복원하여, 복원 변환 테이블 블록으로부터 변환 엔트리 취득하며, 변환 엔트리로부터 변환 데이터 및 기록 위치를 추출하여, 컨텐 츠의 세그먼트 중의 데이터를 변환 데이터로 치환하는 데이터 변환 처리를 세그먼트마다 실행한다.
전술한 바와 같이, 본 처리예에서는, 컨텐츠 재생을 실행하는 재생 (플레이어) 애플리케이션은, 먼저, 재생 대상 컨텐츠 데이터의 세그먼트에 대응하는 SPN(소스 패킷 번호)을, 컨텐츠 재생 구간 정보로서의 클립 정보에 기록된 EP 맵으로부터 취득하고, 그 후, 취득한 SPN(소스 패킷 번호)에 따라 비밀 파라미터 ID 특정 테이블을 검색하여, 취득한 SPN(소스 패킷 번호)에 대응하여 설정된 SP 식별자 (SP_ID)를 취득하며, 취득한 SP 식별자 (SP_ID)를 시큐어 VM에 통지하여, 비밀 파라미터 산출 요구(INTRP)를 실행하는 구성으로 하였으므로, 각 세그먼트에 대응하는 비밀 파라미터(SP)를 차례로, 시큐어 VM보다 정확하게 수령하여, 정확한 데이터 변환을 실행하면서 컨텐츠 재생을 행할 수 있다.
6.2 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 2
다음에, 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 2에 대하여 설명한다. 본 처리예에 있어서는, 비밀 파라미터 ID 특정 테이블을, 비밀 파라미터 ID(SP_ID)와 EP 맵의 등록 테이블 식별 정보(EP 맵 등록 테이블 ID)와의 대응 데이터를 저장한 구성으로 한다.
컨텐츠 재생을 실행하는 재생 (플레이어) 애플리케이션은, 먼저, 재생 대상 컨텐츠 데이터에 대응하는 클립 정보로부터 EP 맵을 취득하고, EP 맵에 대응하는 EP 맵의 등록 테이블 식별 정보(EP 맵 등록 테이블 ID)에 따라 비밀 파라미터 ID 특정 테이블로부터 EP 맵 등록 테이블 ID에 대응하여 설정된 SP 식별자 (SP_ID)를 취득한다.
재생 (플레이어) 애플리케이션은, 시큐어 VM에 대하여, 비밀 파라미터 ID 특정 테이블로부터 취득한 SP 식별자 (SP_ID)를 통지해 비밀 파라미터 산출 요구(INTRP)를 실행한다.
이하, 도면을 참조하여, 본 처리예에 대하여 상세하게 설명한다. 도 25는, 본 처리예에 있어서 적용하는 SP_ID 특정 테이블[SPChangePositionTable]의 데이터 구성예를 나타낸 도면이다. 그리고 본 처리예에서도, 변환 테이블의 구성은 앞의 처리예 1과 마찬가지로, 도 19에 나타내는 구성을 가진다. SP_ID 특정 테이블[SPChangePositionTable]의 데이터 구성만이 처리예 1과 다르다.
도 25에 나타내는 SP_ID 특정 테이블은, EP 맵 등록 테이블 ID와 비밀 파라미터 ID(SP_ID)와의 대응 데이터를 저장되어 있다. 구체적으로는, 컨텐츠의 구성 데이터로서의 세그먼트(SP_segment)의 선두 패킷의 정보를 포함하는 EP 맵의 EP 맵 등록 테이블 ID라고 비밀 파라미터 ID(SP_ID)와의 대응 데이터를 저장되어 있다. SP_ID 특정 테이블에는, 이하의 데이터가 포함된다.
Clip_ID: 클립 ID
Number of SP(= NSP): 세그먼트(SP_segment)의 수
SP_segment_start_EP_map_id: SP_ID에 대응하는 세그먼트(SP_segment)의 선두를 EP 맵 등록 테이블 ID(EP_map_id)로 지정한 것이며, 이 값을 사용하여 재생하려는 소스 패킷 번호(SPN)에 해당하는 EP 맵 등록 테이블 ID(EP _map_id)로부터 SP_ID를 취득할 수 있다.
재생 애플리케이션은, SP_ID에 대응하는 세그먼트(SP_segment)의 선두의 패킷을 포함하는 EP 맵의 등록 테이블 ID를 취득하여, EP 맵 등록 테이블 ID에 따라 도 25에 나타내는 SP_ID 특정 테이블로부터, 세그먼트에 대응하는 SP_ID를 취득할 수 있다.
도 25에 나타내는 SP_ID 특정 테이블을 적용하여, 세그먼트마다 상이한 비밀 파라미터(SP)를 취득하여 변환 데이터에 의한 데이터 치환을 따른 컨텐츠 재생 처리 시퀀스에 대하여 도 26에 나타내는 플로차트를 참조하여 설명한다.
먼저, 단계 S501에 있어서, 재생 (플레이어) 애플리케이션은, 재생하는 타이틀을 결정하고, 시큐어 VM에 대하여, 타이틀 초기화 명령을 발행한다. 단계 S502에서는, 시큐어 VM은, 타이틀 초기화 처리를 실행하고, 타이틀에 대응하는 변환 테이블(Fixup Table)의 생성 처리를 실행한다. 이것은, 먼저, 도 10, 도 11을 참조하여 설명한 처리이며, 도 10에 나타내는 시퀀스도의 단계 S12의 처리에 대응한다.
단계 S503에 있어서, 재생 (플레이어) 애플리케이션은, 변환 테이블(Fixup Table)로부터 필요한 정보를 취득한다. 이것은, 먼저, 도 11을 참조하여 설명한 처리이며, 시큐어 VM의 메모리 영역에 저장된 변환 테이블로부터, 필요한 정보를 재생 (플레이어) 애플리케이션의 이용 가능한 메모리 영역에 카피하는 처리로서 실행된다.
컨텐츠의 TS(트랜스포트 스트림)에 다중화된 FUT 블록으로부터 변환 엔트리를 인출하여 데이터 변환을 실행하는 재생 (플레이어) 애플리케이션, 즉 먼저 도 8을 참조하여 설명한 처리를 실행하는 재생 (플레이어) 애플리케이션의 경우에는, 비밀 파라미터(SP) ID 특정 테이블만을 자기의 메모리 영역에 카피한다. 한편, 컨텐츠의 TS(트랜스포트 스트림)에 다중화된 FUT 블록을 이용하지 않고, 변환 테이블 파일 내의 변환 테이블 블록에 기록된 변환 데이터를 이용하는 재생 (플레이어) 애플리케이션, 즉 먼저 도 9를 참조하여 설명한 처리를 실행하는 재생 (플레이어) 애플리케이션(FUT 프리로드 타입의 플레이어)의 경우에는 변환 테이블 전체를, 자기의 메모리 영역에 카피한다.
다음에, 단계 S504에 있어서, 재생 (플레이어) 애플리케이션은, 타이틀에 대응하는 클립 정보를 취득하고, 클립 정보에 포함된 EP 맵을 결정하고, 결정한 EP 맵의 등록 테이블 식별 정보로서의 EP 맵 등록 테이블 ID의 값을 취득한다.
다음에, 단계 S505에 있어서, EP 맵 등록 테이블 ID에 따라 SP_ID 특정 테이블(SPChangePositionTable()로부터, 재생 포인트의 비밀 파라미터 ID(SP_ID)를 특정한다. 도 25에 나타내는 비밀 파라미터 ID(SP_ID)와 EP 맵의 등록 테이블 식별 정보(EP 맵 등록 테이블 ID)와의 대응 데이터를 저장한 SP_ID 특정 테이블을 이용한다.
다음에, 단계 S506에 있어서, 시큐어 VM에 대하여, 취득한 비밀 파라미터 ID(SP_ID)를 통지하고 비밀 파라미터(SP) 값 산출 요구를 출력한다. 이 처리는, 도 10을 참조하여 설명한 단계 S13의 처리에 상당한다.
다음에, 단계 S507에 있어서, 재생 (플레이어) 애플리케이션은, 시큐어 VM에 있어서 산출한 세그먼트에 대응하는 비밀 파라미터(SP) 값을 취득하고, 비밀 파라미터(SP)에 따라 변환 테이블 블록의 복원을 실행하여, 복원한 변환 테이블 블록에 저장된 변환 엔트리를 취득하고, 변환 엔트리에 기록된 변환 데이터 및 그 기록 위치에 따라 컨텐츠의 세그먼트 중의 데이터를 변환 데이터로 치환하는 데이터 변환 처리를 행하고, 단계 S508에 있어서, 디코드 및 재생 처리를 실행한다.
또한, 다음의 세그먼트로 이행하는 경우에는, 단계 S510에 있어서, 다음의 재생 세그먼트의 최초의 패킷의 정보를 포함하는 EP 맵의 EP 맵 등록 테이블 ID를 취득하고, 단계 S505 이하의 처리를 실행한다. 즉, 취득한 EP 맵 등록 테이블 ID에 따라 SP_ID 특정 테이블(SPChangePositionTable()로부터 EP 맵 등록 테이블 ID에 대응한 SP_ID를 취득하고, 취득한 SP_ID를 시큐어 VM에 통지하여, 세그먼트에 대응하는 SP 값을 취득하고, 취득 SP 값에 따라 변환 테이블 블록을 복원하여, 복원 변환 테이블 블록으로부터 변환 엔트리 취득, 변환 엔트리로부터 변환 데이터 및 기록 위치를 추출하여, 컨텐츠의 세그먼트 중의 데이터를 변환 데이터로 치환하는 데이터 변환 처리를 세그먼트마다 실행한다. 이들 처리에 의해, 각 세그먼트마다 상이한 비밀 파라미터(SP)를 적용한 처리가 행해진다.
다음에, 도 27을 참조하여, 랜덤 액세스 등의 특수 재생 처리를 행하는 경우의 처리 시퀀스에 대하여 설명한다. 그리고 도 27에 나타내는 처리는, 타이틀 초기화 처리의 처리 시퀀스만을 나타내고 있다. 즉, 도 26에 나타내는 처리 플로우에 있어서의 처리 단계 S501~S503가 종료한 후의 처리를 나타내고 있다.
먼저, 단계 S521에 있어서, 재생 (플레이어) 애플리케이션은, 랜덤 액세스 등의 특수 재생 처리의 요구에 따라, 클립 정보의 이용 EP 맵을 특정하고, 특정한 EP 맵의 등록 테이블 식별자(EP 맵 등록 테이블 ID)의 값을 취득한다.
다음에, 단계 S522에 있어서, 취득한 EP 맵 등록 테이블 ID에 따라 SP_ID 특정 테이블(SPChangePositionTable()로부터, EP 맵 등록 테이블 ID에 대응하는 재생 포인트의 비밀 파라미터 ID(SP_ID)를 특정한다.
다음에, 단계 S523에 있어서, 시큐어 VM에 대하여, 취득한 비밀 파라미터 ID(SP_ID)를 통지하고 비밀 파라미터(SP) 값 산출 요구를 출력한다. 이 처리는, 도 10을 참조하여 설명한 단계 S13의 처리에 상당한다.
다음에, 단계 S524에 있어서, 재생 (플레이어) 애플리케이션은, 시큐어 VM에 있어서 산출한 세그먼트에 대응하는 비밀 파라미터(SP) 값을 취득하고, 비밀 파라미터(SP)에 따라 변환 테이블 블록의 복원을 실행하여, 복원한 변환 테이블 블록에 저장된 변환 엔트리를 취득하고, 변환 엔트리에 기록된 변환 데이터 및 그 기록 위치에 따라 컨텐츠의 세그먼트 중의 데이터를 변환 데이터로 치환하는 데이터 변환 처리를 행하고, 단계 S525에 있어서, 디코드 및 재생 처리를 실행한다.
또한, 다음의 세그먼트로 이행하는 경우에는, 단계 S530에 있어서, 다음의 재생 세그먼트의 최초의 패킷의 정보를 포함하는 EP 맵의 EP 맵 등록 테이블 ID를 취득하고, 단계 S522 이하의 처리를 실행한다. 즉, 취득한 EP 맵 등록 테이블 ID에 따라 SP_ID 특정 테이블(SPChangePositionTable()로부터 EP 맵 등록 테이블 ID에 대응한 SP_ID를 취득, 취득한 SP_ID를 시큐어 VM에 통지하여, 세그먼트에 대응하는 SP 값을 취득하고, 취득 SP 값에 따라 변환 테이블 블록을 복원하여, 복원 변환 테이블 블록으로부터 변환 엔트리 취득하며, 변환 엔트리로부터 변환 데이터 및 기록 위치를 추출하여, 컨텐츠의 세그먼트 중의 데이터를 변환 데이터로 치환하 는 데이터 변환 처리를 세그먼트마다 실행한다.
전술한 바와 같이, 본 처리예에서는, 컨텐츠 재생을 실행하는 재생 (플레이어) 애플리케이션은, 먼저, 컨텐츠 재생 구간 정보로서의 클립 정보에 기록된 EP 맵으로부터, 재생 대상 컨텐츠 데이터의 세그먼트의 개시 위치에 대응하는 패킷 정보를 저장한 EP 맵을 특정하고, 그 EP 맵의 등록 테이블 식별자(EP 맵 등록 테이블 ID)에 따라 비밀 파라미터 ID 특정 테이블을 검색하여, EP 맵 등록 테이블 ID에 대응하여 설정된 SP 식별자 (SP_ID)를 취득하며, 취득한 SP 식별자 (SP_ID)를 시큐어 VM에 통지하여, 비밀 파라미터 산출 요구(INTRP)를 실행하는 구성으로 하였으므로, 각 세그먼트에 대응하는 비밀 파라미터(SP)를 차례로, 시큐어 VM보다 정확하게 수령하여, 정확한 데이터 변환을 실행하면서 컨텐츠 재생을 행할 수 있다.
6.3 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 3
다음에, 세그먼트에 대응하는 SP 식별자 (SP_ID) 취득 처리예 3에 대하여 설명한다. 본 처리예에 있어서는, 컨텐츠에 설정되는 세그먼트를, 미리 규정하고 EP 맵 등록 테이블 수에 따라 구분하는 설정으로 한다. 즉, EP 맵 등록 테이블 수 N개분에 상당하는 엔트리 포인트를 가지는 컨텐츠의 구분 영역을 하나의 세그먼트로 한다. N는 1이상의 정수이다.
컨텐츠 재생을 실행하는 재생 (플레이어) 애플리케이션은, 재생 대상 컨텐츠 데이터에 대응하는 클립 정보로부터 EP 맵을 취득하고, EP 맵에 따라 컨텐츠를 구성하는 TS 패킷을 차례로 취득하여 재생을 행한다. 먼저, 도 15를 참조하여 설명한 바와 같이, EP 맵은, GOP마다 설정되어 있고, 재생 (플레이어) 애플리케이션은, 클립 정보에 포함된 EP 맵을 취득하여, 재생 패킷을 추출하여 재생 처리를 실행한다.
본 처리예에서는, 재생 (플레이어) 애플리케이션은, 이용하는 EP 맵에 대응하는 EP 맵 등록 테이블 ID를 적용하여, 비밀 파라미터 ID(SP_ID)를 산출한다. 또는, 재생 (플레이어) 애플리케이션은, 이용하는 EP 맵 등록 테이블 수를 카운트하여, 세그먼트(N개의 EP 맵 등록 테이블 수에 대응)를 구성하는 EP 맵 등록 테이블 수(N)가 될 때마다, 세그먼트의 전환이 발생하는 것으로 판단하여, 변환 테이블 블록의 복원에 적용하는 비밀 파라미터(SP)를 전환하는 처리를 실행한다.
재생 (플레이어) 애플리케이션은, 시큐어 VM에 대하여, 세그먼트(n개의 EP 맵 등록 테이블 수에 대응)에 대응되는 EP 맵 등록 테이블 수(n)가 될 때마다, 차례로, 인크리먼트 한 SP 식별자 (SP_ID)를 통지해 비밀 파라미터 산출 요구(INTRP)를 실행한다.
이하, 도면을 참조하여, 본 처리예에 대하여 상세하게 설명한다. 도 28은, 본 처리예에 있어서 적용하는 (a) 컨텐츠 구성과 (b) EP 맵 구성 데이터를 나타내고 있다. (a) 컨텐츠 구성에 나타낸 바와 같이, 컨텐츠는 GOP에 의해 구분되어 각 GOP 내의 I픽처에 관한 정보가 EP 맵 등록 테이블에 각각 기록된다. 도 28b의 EP 맵 구성 데이터에 나타낸 바와 같이, EP 맵에는, 복수개의 EP 맵 등록 테이블이 기록되어 각 EP 맵 등록 테이블에 I픽처에 대한 SPN(소스 패킷 번호)와 PTS(프레젠테이션 타임 스탬프)가 대응되어 기록된다.
이와 같이, EP 맵은, 복수개의 EP 맵 등록 테이블을 1개의 파일에 저장한 데 이터 구성을 가진다. EP 맵에 등록되는 테이블에는, 테이블 번호를 가지고, 이들은 EP 맵 등록 테이블 ID로서 식별된다.
본 처리예에서는, 세그먼트를, EP 맵 등록 테이블 N개분의 데이터 영역으로서 설정한다. 도 28에 나타낸 예에서는, N=5로 한 설정이며, EP 맵 등록 테이블 5개가 1개의 세그먼트로서 설정된다. 도 28a에 나타내는 컨텐츠 중, GOP0~GOP4, 즉 EP 맵 등록 테이블0 ~ EP 맵 등록 테이블4가 1개의 세그먼트로서 구분되어 있고, 이하, GOP5~GOP9, 즉 EP 맵 등록 테이블5~EP 맵 등록 테이블9가 다음의 1개의 세그먼트로서 구분된다. 이하 마찬가지로 5 GOP(=5 EP맵 등록 테이블)가 하나의 세그먼트로서 설정된다.
이 경우, 도 28b에 나타낸 바와 같이, EP 맵 등록 테이블0~4에 대응하는 세그먼트에 있어서 적용하는 비밀 파라미터의 식별자 (SP_ID)는[0]에 설정되고, 이후,
EP 맵 등록 테이블5~9: SP_ID=1,
EP 맵 등록 테이블10~14: SP_ID=2,
EP 맵 등록 테이블14~19: SP_ID=3,
이와 같이, 5개의 EP 맵 등록 테이블마다 비밀 파라미터의 식별자 (SP_ID)는 1씩 증가하는 설정으로 된다.
컨텐츠 재생을 실행하는 재생 (플레이어) 애플리케이션은, 이용하는 EP 맵 등록 테이블에 대응하는 EP 맵 등록 테이블 ID를 적용하여, 비밀 파라미터 ID(SP_ID)를 산출한다. 비밀 파라미터 ID(SP_ID)는, 이하의 산출식에 의해 산출된, 0 이상의 정수 부분을 추출함으로써 결정된다.
SP_ID=(EP 맵 등록 테이블 ID)/N
상기 식에 있어서, N는, 하나의 세그먼트 중의 EP 맵 등록 테이블 수에 상당한다. 도 28의 예에서는,
EP 맵 등록 테이블0~4: SP_ID=0,
EP 맵 등록 테이블5~9: SP_ID=1,
EP 맵 등록 테이블10~14: SP_ID=2,
으로서 산출된다.
또는, 상기 산출식을 적용하지 않고, 재생 (플레이어) 애플리케이션은, 이용하는 EP 맵 등록 테이블의 수를 카운트하여, 세그먼트(N개의 EP 맵 등록 테이블에 대응)를 구성하는 EP 맵 등록 테이블 수(N)가 될 때마다, 세그먼트의 전환이 발생하는 것으로 판단하여, 변환 테이블 블록의 복원에 적용하는 비밀 파라미터(SP)를 전환하는 처리를 실행하는 구성으로 해도 된다.
도 28에 나타내는 설정예에서는 N=5이므로, 5개의 EP 맵 등록 테이블마다 세그먼트 전환이 발생하는 것으로 판단하고, 5개의 EP 맵의 카운트마다 SP_ID를 1개씩 증가시켜, SP_ID를 결정하여, 결정한 SP_ID를 시큐어 VM에 출력하여, 세그먼트에 대응하는 비밀 파라미터를 취득한다.
본 처리예에서는, 상기의 산출식, 또는 EP 맵 등록 테이블의 카운트에 따라 세그먼트마다의 상이한 SP_ID를 구하는 것이 가능해지고, 먼저 설명한 처리예 1, 2와 같이 소스 패킷 번호, 또는 EP 맵 등록 테이블 ID에 따라 비밀 파라미터 ID를 취득하는 비밀 파라미터 ID 특정 테이블을 이용할 필요가 없다.
본 처리예를 적용한 경우, 세그먼트마다의 상이한 비밀 파라미터(SP)의 취득, 및 변환 데이터에 의한 데이터 치환을 포함하는 컨텐츠 재생 처리 시퀀스에 대하여 도 29에 나타내는 플로차트를 참조하여 설명한다.
먼저, 단계 S601에 있어서, 재생 (플레이어) 애플리케이션은, 재생하는 타이틀을 결정하고, 시큐어 VM에 대하여, 타이틀 초기화 명령을 발행한다. 단계 S602에서는, 시큐어 VM은, 타이틀 초기화 처리를 실행하고, 타이틀에 대응하는 변환 테이블(Fixup Table)의 생성 처리를 실행한다. 이것은, 먼저, 도 10, 도 11을 참조하여 설명한 처리이며, 도 10에 나타내는 시퀀스도의 단계 S12의 처리에 대응한다.
단계 S603에 있어서, 재생 (플레이어) 애플리케이션은, 변환 테이블(Fixup Table)로부터 필요한 정보를 취득한다. 이것은, 먼저, 도 11을 참조하여 설명한 처리이며, 시큐어 VM의 메모리 영역에 저장된 변환 테이블로부터, 필요한 정보를 재생 (플레이어) 애플리케이션의 이용 가능한 메모리 영역에 카피하는 처리로서 실행된다.
컨텐츠의 TS(트랜스포트 스트림)에 다중화된 FUT 블록으로부터 변환 엔트리를 인출하여 데이터 변환을 실행하는 재생 (플레이어) 애플리케이션, 즉 먼저 도 8을 참조하여 설명한 처리를 실행하는 재생 (플레이어) 애플리케이션의 경우에는, 비밀 파라미터(SP) ID 특정 테이블만을 자기의 메모리 영역에 카피한다. 한편, 컨텐츠의 TS(트랜스포트 스트림)에 다중화된 FUT 블록을 이용하지 않고, 변환 테이블 파일 내의 변환 테이블 블록에 기록된 변환 데이터를 이용하는 재생 (플레이어) 애 플리케이션, 즉 먼저 도 9를 참조하여 설명한 처리를 실행하는 재생 (플레이어) 애플리케이션(FUT 프리로드 타입의 플레이어)의 경우에는 변환 테이블 전체를, 자기의 메모리 영역에 카피한다.
다음에, 단계 S604에 있어서, 재생 (플레이어) 애플리케이션은, 타이틀에 대응하는 클립 정보를 취득하고, 클립 정보에 포함된 EP 맵을 결정하고, 결정한 EP 맵의 등록 테이블 식별 정보로서의 EP 맵 등록 테이블 ID의 값을 취득한다.
다음에, 단계 S605에 있어서, EP 맵 등록 테이블 ID에 따라 SP_ID를 산출한다. 예를 들면, 1개의 세그먼트에 포함되는 EP 맵 등록 테이블 수를 N으로 했을 때, SP_ID=(EP 맵 등록 테이블 ID)/N에 의해, SP_ID를 산출한다.
다음에, 단계 S606에 있어서, 시큐어 VM에 대하여, 취득한 비밀 파라미터 ID(SP_ID)를 통지하고 비밀 파라미터(SP) 값 산출 요구를 출력한다. 이 처리는, 도 10을 참조하여 설명한 단계 S13의 처리에 상당한다.
다음에, 단계 S607에 있어서, 재생 (플레이어) 애플리케이션은, 시큐어 VM에 있어서 산출한 세그먼트에 대응하는 비밀 파라미터(SP) 값을 취득하고, 비밀 파라미터(SP)에 따라 변환 테이블 블록의 복원을 실행하여, 복원한 변환 테이블 블록에 저장된 변환 엔트리를 취득하고, 변환 엔트리에 기록된 변환 데이터 및 그 기록 위치에 따라 컨텐츠의 세그먼트 중의 데이터를 변환 데이터로 치환하는 데이터 변환 처리를 행하고, 단계 S608에 있어서, 디코드 및 재생 처리를 실행한다.
또한, 다음의 세그먼트로 이행하는 경우에는, 단계 S610에 있어서, 다음의 재생 세그먼트의 최초의 패킷의 정보를 포함하는 EP 맵의 EP 맵 등록 테이블 ID를 취득하고, 단계 S605 이하의 처리를 실행한다. 즉, 취득한 EP 맵 등록 테이블 ID에 따라 SP_ID를 산출하고, 산출한 SP_ID를 시큐어 VM에 통지하여, 세그먼트에 대응하는 SP 값을 취득하고, 취득 SP 값에 따라 변환 테이블 블록을 복원하며, 복원 변환 테이블 블록으로부터 변환 엔트리 취득하고, 변환 엔트리로부터 변환 데이터 및 기록 위치를 추출하여, 컨텐츠의 세그먼트 중의 데이터를 변환 데이터로 치환하는 데이터 변환 처리를 세그먼트마다 실행한다.
이들 처리에 의해, 각 세그먼트마다 상이한 비밀 파라미터(SP)를 적용한 처리가 행해진다. 그리고 전술한 바와 같이, EP 맵 등록 테이블 ID를 적용한 산출식에 따라 SP_ID를 구하지 않고, EP 맵 등록 테이블 수를 카운트하여, SP_ID를 구하는 설정으로 해도 된다.
다음에, 도 30을 참조하여, 랜덤 액세스 등의 특수 재생 처리를 행하는 경우의 처리 시퀀스에 대하여 설명한다. 그리고 도 30에 나타내는 처리는, 타이틀 초기화 처리의 처리 시퀀스만을 나타내고 있다. 즉, 도 29에 나타내는 처리 플로우에 있어서의 처리 단계 S601~S603가 종료한 후의 처리를 나타내고 있다.
먼저, 단계 S621에 있어서, 재생 (플레이어) 애플리케이션은, 랜덤 액세스 등의 특수 재생 처리의 요구에 따라, 클립 정보의 이용 EP 맵 등록 테이블을 특정하고, 특정한 EP 맵 등록 테이블의 식별자(EP 맵 등록 테이블 ID)의 값을 취득한다.
다음에, 단계 S622에 있어서, 취득한 EP 맵 등록 테이블 ID에 따라 산출식, SP_ID=(EP 맵 등록 테이블 ID)/N에 의해, SP_ID를 산출한다.
다음에, 단계 S623에 있어서, 시큐어 VM에 대하여, 취득한 비밀 파라미터 ID(SP_ID)를 통지하고 비밀 파라미터(SP) 값 산출 요구를 출력한다. 이 처리는, 도 10을 참조하여 설명한 단계 S13의 처리에 상당한다.
다음에, 단계 S624에 있어서, 재생 (플레이어) 애플리케이션은, 시큐어 VM에 있어서 산출한 세그먼트에 대응하는 비밀 파라미터(SP) 값을 취득하고, 비밀 파라미터(SP)에 따라 변환 테이블 블록의 복원을 실행하여, 복원한 변환 테이블 블록에 저장된 변환 엔트리를 취득하고, 변환 엔트리에 기록된 변환 데이터 및 그 기록 위치에 따라 컨텐츠의 세그먼트 중의 데이터를 변환 데이터로 치환하는 데이터 변환 처리를 행하고, 단계 S525에 있어서, 디코드 및 재생 처리를 실행한다.
또한, 다음의 세그먼트로 이행하는 경우에는, 단계 S630에 있어서, 다음의 재생 세그먼트의 최초의 패킷의 정보를 포함하는 EP 맵의 EP 맵 등록 테이블 ID를 취득하고, 단계 S622 이하의 처리를 실행한다. 즉, 취득한 EP 맵 등록 테이블 ID에 따라 SP_ID를 산출, 산출한 SP_ID를 시큐어 VM에 통지하여, 세그먼트에 대응하는 SP 값을 취득하고, 취득 SP 값에 따라 변환 테이블 블록을 복원하여, 복원 변환 테이블 블록으로부터 변환 엔트리 취득하며, 변환 엔트리로부터 변환 데이터 및 기록 위치를 추출하여, 컨텐츠의 세그먼트 중의 데이터를 변환 데이터로 치환하는 데이터 변환 처리를 세그먼트마다 실행한다. 그리고 본 예에 있어서도 산출식을 적용하지 않고 EP 맵 등록 테이블 수의 카운트에 따라 SP_ID를 구하는 구성으로 해도 된다.
전술한 바와 같이, 본 처리예에서는, 컨텐츠 재생을 실행하는 재생 (플레이 어) 애플리케이션은, 먼저, 컨텐츠 재생 구간 정보로서의 클립 정보에 기록된 EP 맵으로부터, 재생 대상 컨텐츠 데이터에 대응하는 EP 맵 등록 테이블을 특정하고, 그 EP 맵 등록 테이블의 식별자(EP 맵 등록 테이블 ID)에 따라 비밀 파라미터 ID(SP_ID)를, 산출식을 적용하여 구하거나, 또는 EP 맵 등록 테이블 수의 카운트에 의해 구하고, 취득한 SP 식별자 (SP_ID)를 시큐어 VM에 통지하여, 비밀 파라미터 산출 요구(INTRP)를 실행하는 구성으로 하였으므로, 특별한 파라미터 ID 특정 테이블을 적용하지 않고 SP 식별자 (SP_ID)를 취득하여, 각 세그먼트에 대응하는 비밀 파라미터(SP)를 차례로, 시큐어 VM보다 정확하게 수령하여, 정확한 데이터 변환을 실행하면서 컨텐츠 재생을 행할 수 있다.
7. 정보 처리 장치의 구성
다음에, 도 31을 참조하여, 전술한 재생 (플레이어) 애플리케이션 및 시큐어 VM의 처리를 실행하는 정보 처리 장치의 하드웨어 구성예에 대하여 설명한다. 정보 처리 장치(800)는, OS나 컨텐츠 재생 또는 기록 애플리케이션 프로그램, 상호 인증 처리, 컨텐츠 재생에 따른 다양한 처리, 예를 들면, 전술한 데이터 변환 처리 등을 포함하는 각종 프로그램에 따른 데이터 처리를 실행하는 CPU(809), 프로그램, 파라미터 등의 기억 영역으로서의 ROM(808), 메모리(810), 디지털 신호를 입출력하는 입출력 I/F(802), 아날로그 신호를 입출력하고, A/D, D/A컨버터(805)를 가지는 입출력 I/F(804), MPEG 데이터의 인코드, 디코드 처리를 실행하는 MPEG 코덱(803), TS(Transport Stream)-PS(Program Stream)처리를 실행하는 TS-PS처리 수단(806), 상호 인증, 암호화 컨텐츠의 암호해제 처리 등 각종의 암호 처리를 실행하는 암호 처리 수단(807), 하드 디스크 등의 기록 매체(812), 기록 매체(812)의 구동, 데이터 기록 재생 신호의 입출력을 행하는 드라이브(811)를 구비하며, 버스(801)에 각 블록이 접속되어 있다.
정보 처리 장치(호스트)(800)는, 예를 들면, ATAPI-BUS 등의 접속 버스에 의해 드라이브와 접속되어 있다. 변환 테이블, 컨텐츠 등을 디지털 신호용 입출력 I/F802를 통하여 입출력된다. 암호화 처리, 암호해제 처리는, 암호화 처리 수단(807)에 의해, 예를 들면, AES 알고리즘 등을 적용하여 실행된다.
그리고 컨텐츠 재생 또는 기록 처리를 실행하는 프로그램은 예를 들면, ROM(808)내에 보관되어 있고, 프로그램을 실행하면서 필요에 따라 파라미터, 데이터의 보관, 공작물 영역으로서 메모리(810)를 사용한다.
ROM(808) 또는 기록 매체(812)에는, 예를 들면, 관리 센터의 공개키, 호스트 대응 비밀키, 호스트 대응의 공개키 증명서, 또한 리보케이션 리스트 등의 드라이브 CRL 등이 저장된다.
컨텐츠 재생 또는 외부 출력 시에는, 정보 기록 매체로부터 취득한 데이터 변환 처리 프로그램을 적용하여, 암호화 컨텐츠의 암호해제와 변환 테이블의 복원하고, 변환 테이블의 저장 데이터에 따른 변환 데이터의 기록 처리 등, 먼저 설명한 처리예의 각 처리 시퀀스에 따른 처리를 실행한다.
8. 정보 기록 매체 제조 장치 및 정보 기록 매체
다음에, 정보 기록 매체 제조 장치 및 정보 기록 매체에 대하여 설명한다. 즉, 전술한 컨텐츠 재생 처리에 있어서 적용되는 정보 기록 매체의 제조 장치, 방 법, 및 정보 기록 매체에 대하여 설명한다.
정보 기록 매체 제조 장치는, 예를 들면, 먼저 도 1을 참조하여 설명한 기록 데이터를 저장한 정보 기록 매체(100)를 제조하는 장치이다.
정보 기록 매체 제조 장치는, 정당한 컨텐츠 구성 데이터와 상이한 변칙 데이터를 포함하는 컨텐츠와, 변칙 데이터와의 치환을 위한 변환 데이터에 대하여, 컨텐츠의 구분 영역인 세그먼트에 대응하여 설정되는 파라미터에 의해 연산 또는 암호화 처리를 수행함으로써 기록한 변환 테이블 보디 데이터와, 파라미터의 식별 정보로서의 파라미터 식별자를 기록한 파라미터 식별자 특정 테이블을 포함하는 변환 테이블을 생성하는 데이터 처리 유닛과, 변칙 데이터를 포함하는 컨텐츠와, 변환 테이블을 정보 기록 매체에 기록하는 데이터 기록 유닛을 가진다.
정보 기록 매체 제조 장치의 일실시예 구성에서의 데이터 처리 유닛에 의해 생성된 파라미터 식별자 특정 테이블의 하나의 예는, 먼저, 도 20을 참조하여 설명한 파라미터 식별자와 컨텐츠 구성 데이터인 세그먼트의 선두 위치에 있는 패킷의 패킷 번호를 상관시키는 테이블이다.
또는, 정보 기록 매체 제조 장치의 일실시예 구성에서의 데이터 처리 유닛에 의해 생성된 파라미터 식별자 특정 테이블 마시자 하나의 예는, 먼저, 도 25를 참조하여 설명한 파라미터 식별자와 컨텐츠 구성 데이터인 세그먼트의 선두 위치에 있는 패킷의 정보를 포함하는 EP 맵의 등록 테이블 식별자인 EP 맵 등록 테이블 ID를 상관시키는 테이블이다.
이와 같은, 제조 장치에 의해 생성된 정보 기록 매체는, 도 1 및 그 외 도면 을 참조하여 설명한 바와 같이,
(a) 정당한 컨텐츠 구성 데이터와 상이한 변칙 데이터를 포함하는 컨텐츠와,
(b) 변칙 데이터와의 치환을 위한 변환 데이터를, 컨텐츠의 구분 영역인 세그먼트에 대응하여 설정되는 파라미터에 의해 연산 또는 암호화 처리를 가해 기록한 변환 테이블 보디 데이터와, 파라미터의 식별 정보로서의 파라미터 식별자를 기록한 파라미터 식별자 특정 테이블을 포함하는 변환 테이블
을 기록 데이터로서 저장한 정보 기록 매체로 된다.
일실시예에 있어서, 정보 기록 매체에 기록되는 변환 테이블은, 먼저, 도 20을 참조하여 설명한 파라미터 식별자와 컨텐츠 구성 데이터인 세그먼트의 선두 위치에 있는 패킷의 패킷 번호를 상관시키는 테이블이다. 이것은, 도 25를 참조하여 설명한 파라미터 식별자와 컨텐츠 구성 데이터인 세그먼트의 선두 위치에 있는 패킷의 정보를 포함하는 EP 맵의 등록 테이블 식별자인 EP 맵 등록 테이블 ID를 상관시키는 테이블이다.
이상, 특정한 실시예를 참조하면서, 본 발명에 대하여 상세하게 설명하였다. 그러나 본 발명의 요지를 벗어나지 않는 범위에서 당업자가 상기 실시예의 수정이나 대용을 해낼 수 있는 것은 자명하다. 즉, 예시라는 형태로 본 발명을 개시한 것이며, 한정적으로 해석해서는 안 된다. 본 발명의 요지를 판단하기 위해서는, 특허 청구의 범위를 참작해야 한다.
그리고 명세서 중에 설명한 일련의 처리는 하드웨어, 또는 소프트웨어, 또는 양자의 복합 구성에 의해 실행할 수 있다. 소프트웨어에 의한 처리를 실행하는 경 우에는, 처리 시퀀스를 기록한 프로그램을, 전용의 하드웨어가 내장된 컴퓨터 내의 메모리에 인스톨하여 실행시키거나, 또는 각종 처리가 실행 가능한 범용 컴퓨터에 프로그램을 인스톨하여 실행시키는 것이 가능하다.
예를 들면, 프로그램은 기록 매체로서의 하드 디스크나 ROM(Read Only Memory)에 미리 기록하여 둘 수가 있다. 또는, 프로그램은 플렉시블 디스크, CD-ROM(Compact Disc Read Only Memory), MO(Magneto optical) 디스크, DVD(Digital Versatile Disc), 자기 디스크, 반도체 메모리 등의 착탈 가능 기록 매체에, 일시적으로 또는 영속적으로 기록해 둘 수 있다. 이와 같은 착탈 가능 기록 매체는, 이른바 패키지 소프트웨어로서 제공할 수 있다.
그리고 프로그램은, 전술한 바와 같은 착탈 가능 기록 매체로부터 컴퓨터에 인스톨하는 것 외에, 다운로드 사이트로부터, 컴퓨터에 무선 전송한, LAN(Local Area Network), 인터넷이라는 네트워크를 통하여, 컴퓨터에 유선으로 전송하고, 컴퓨터에서는, 그와 같이 하여 전송되어 오는 프로그램을 수신하여, 내장된 하드 디스크 등의 기록 매체에 인스톨할 수 있다.
그리고 명세서에 기재된 각종의 처리는, 기재에 따라 시계열로 실행되는 것만이 아니라, 처리를 실행하는 장치의 처리 능력 또는 필요에 따라 병렬적으로 또는 개별적으로 실행되어도 된다. 또, 본 명세서에 있어서 시스템은, 복수개의 장치의 논리적 집합 구성이며, 각 구성의 장치가 동일 하우징 내에 있는 것에는 한정되지 않는다.
이상, 설명한 바와 같이, 본 발명에 의하면, 컨텐츠의 구분 영역으로서 설정된 세그먼트마다 상이한 파라미터에 의한 연산 또는 암호 처리에 의해 변환 데이터를 복원, 취득하여, 취득한 변환 데이터에 의해, 컨텐츠의 일부 데이터의 치환을 행하면서 컨텐츠 재생을 실행하는 구성에 있어서, 재생 대상 컨텐츠의 세그먼트에 포함되는 패킷의 SPN(소스 패킷 번호)와 파라미터 ID(SP_ID)를 상관시키는 테이블, 또는 재생 대상 컨텐츠의 세그먼트에 포함되는 패킷의 정보를 저장한 EP 맵의 등록 테이블 식별자(EP 맵 등록 테이블 ID)와 파라미터 ID를 상관시키는 테이블에 따라 세그먼트에 대응하는 파라미터 ID를 취득하여, 취득한 파라미터 ID(SP_ID)를 시큐어 VM에 통지하여, 비밀 파라미터 산출 요구(INTRP)를 실행하는 구성으로 하였으므로, 각 세그먼트에 대응하는 비밀 파라미터(SP)를 차례로, 시큐어 VM보다 정확하게 수령하여, 정확한 데이터 변환을 실행하면서 컨텐츠 재생을 행할 수 있다.
또, 본 발명에 의하면, 컨텐츠 재생을 실행하는 재생 (플레이어) 애플리케이션은, 먼저, 컨텐츠 재생 구간 정보로서의 클립 정보에 기록된 EP 맵으로부터, 재생 대상 컨텐츠 데이터에 대응하는 EP 맵을 특정하고, 그 EP 맵의 등록 테이블 식별자(EP 맵 등록 테이블 ID)에 따라 파라미터 ID(SP_ID)를, 산출식을 적용하여 구하거나, 또는 EP 맵 등록 테이블 수의 카운트에 의해 구하고, 취득한 파라미터 ID(SP_ID)를 시큐어 VM에 통지하여, 비밀 파라미터 산출 요구(INTRP)를 실행하는 구성으로 하였으므로, 특별한 파라미터 ID 특정 테이블을 적용하지 않고 파라미터 ID(SP_ID)를 취득하여, 각 세그먼트에 대응하는 비밀 파라미터(SP)를 차례로, 시큐어 VM보다 정확하게 수령하여, 정확한 데이터 변환을 실행하면서 컨텐츠 재생을 행할 수 있다.

Claims (35)

  1. 컨텐츠 재생 처리를 실행하는 정보 처리 장치에 있어서,
    재생될 입력 컨텐츠의 구성 데이터 중에서, 정당한 컨텐츠 구성 데이터와는 상이한 변칙 데이터를 정당한 컨텐츠 구성 데이터로서의 변환 데이터로 치환하는 데이터 변환 처리를 실행하고, 재생 컨텐츠를 재생하는 처리를 실행하는 컨텐츠 재생 처리 유닛; 및
    상기 컨텐츠 재생 처리 유닛에, 상기 변칙 데이터에 대응하여 치환될 상기 변환 데이터를 포함하는 변환 테이블 데이터에 적용되어, 상기 변환 데이터를 취득하기 위해 이용되는 파라미터를 제공하는 파라미터 생성 유닛
    을 포함하며,
    상기 컨텐츠 재생 처리 유닛은, 재생 컨텐츠의 구분 영역으로서 설정된 세그먼트마다 상이한 파라미터 식별자를 취득하고, 상기 파라미터 식별자를 동반한 파라미터 산출 요구를 상기 파라미터 생성 유닛에 출력하는 구성을 구비하고,
    상기 파라미터 생성 유닛은, 상기 컨텐츠 재생 처리 유닛으로부터의 파라미터 산출 요구에 응답하여, 상기 세그먼트에 대응하는 파라미터를 산출하고, 상기 컨텐츠 재생 처리 유닛에 제공하는 구성을 구비하는, 정보 처리 장치.
  2. 제1항에 있어서,
    상기 컨텐츠 재생 처리 유닛은, 상기 변환 데이터를 포함하는 변환 테이블 데이터에 대하여, 상기 파라미터 생성 유닛으로부터 취득한 세그먼트에 대응하는 파라미터를 적용한 연산 처리 또는 암호 처리를 실행하고, 상기 세그먼트의 구성 데이터에 대한 치환 데이터로서 적용되는 상기 변환 데이터를 포함하는 데이터의 복원 처리를 실행하는 구성을 가지는, 정보 처리 장치.
  3. 제1항에 있어서,
    상기 컨텐츠 재생 처리 유닛은, 컨텐츠 재생 구간 정보인 클립 정보에 포함된 EP 맵으로부터, 재생 구간에 포함된 세그먼트의 구성 패킷의 패킷 번호를 취득하고, 상기 파라미터 식별자와 컨텐츠 구성 데이터로서의 패킷 번호를 상관시키는 파라미터 식별자 특정 테이블을 참조하여, 상기 세그먼트의 구성 패킷의 패킷 번호에 대응하는 파라미터 식별자를 취득하는 처리를 실행하는 구성을 가지는, 정보 처리 장치.
  4. 제3항에 있어서,
    상기 파라미터 식별자 특정 테이블은, 상기 파라미터 식별자와, 컨텐츠 구성 데이터인 세그먼트의 선두 위치에 있는 패킷의 패킷 번호를 상관시키는 테이블인, 정보 처리 장치.
  5. 제3항에 있어서,
    상기 패킷 번호는, EP 맵에 포함된 I픽처에 대응하는 소스 패킷 번호(SPN)인, 정보 처리 장치.
  6. 제1항에 있어서,
    상기 컨텐츠 재생 처리 유닛은, 컨텐츠 재생 구간 정보인 클립 정보에 포함된 EP 맵의 등록 테이블 식별자인 EP 맵 등록 테이블 ID를 취득하고, 상기 파라미터 식별자와 EP 맵 등록 테이블 ID를 상관시키는 파라미터 식별자 특정 테이블을 참조하여, 상기 세그먼트의 구성 패킷의 패킷 번호에 대응하는 파라미터 식별자를 취득하는 처리를 실행하는 구성을 가지는, 정보 처리 장치.
  7. 제6항에 있어서,
    상기 파라미터 식별자 특정 테이블은, 상기 파라미터 식별자와, 컨텐츠 구성 데이터인 세그먼트의 선두 위치에 있는 패킷의 정보를 포함하는 EP 맵의 등록 테이블 식별자인 EP 맵 등록 테이블 ID를 상관시키는 테이블인, 정보 처리 장치.
  8. 제1항에 있어서,
    상기 컨텐츠 재생 처리 유닛은, 컨텐츠 재생 구간 정보인 클립 정보에 포함된 EP 맵 등록 테이블의 식별자인 EP 맵 등록 테이블 ID를 취득하고, 상기 EP 맵 등록 테이블 ID에 기초하여 상기 세그먼트에 대응하는 파라미터 식별자를 산출하는 처리를 실행하는 구성을 가지는, 정보 처리 장치.
  9. 제8항에 있어서,
    상기 컨텐츠 재생 처리 유닛은, 상기 EP 맵 등록 테이블 ID에 기초하여 상기 세그먼트에 대응하는 파라미터 식별자를, 하기 산출식,
    (SP_ID)=(EP_map_ID)/N
    단, SP_ID: 파라미터 식별자,
    EP_map_ID: EP 맵 등록 테이블 ID,
    N: 하나의 세그먼트에 대응하여 설정되는 EP 맵 등록 테이블 수
    에 따라 산출하는 처리를 실행하는 구성을 가지는, 정보 처리 장치.
  10. 제1항에 있어서,
    상기 컨텐츠 재생 처리 유닛은, 컨텐츠 재생 구간 정보인 클립 정보에 포함된 EP 맵 등록 테이블의 이용 횟수를 카운트하여, 상기 EP 맵 등록 테이블 카운트 수에 기초하여 상기 세그먼트에 대응하는 파라미터 식별자를 산출하는 처리를 실행하는 구성을 가지는, 정보 처리 장치.
  11. 제1항에 있어서,
    상기 컨텐츠 재생 처리 유닛은, 상기 변환 데이터를 포함하는 변환 테이블 데이터를 상기 컨텐츠 내에 포함된 패킷으로부터 취득하고, 상기 파라미터 생성 유닛으로부터 취득한 세그먼트에 대응하는 파라미터를 적용한 연산 처리 또는 암호 처리를 실행하여, 상기 세그먼트의 구성 데이터에 대한 치환 데이터로서 적용되는 변환 데이터를 포함하는 데이터의 복원 처리를 실행하는 구성을 가지는, 정보 처리 장치.
  12. 제1항에 있어서,
    상기 컨텐츠 재생 처리 유닛은, 상기 변환 데이터를 포함하는 변환 테이블 데이터를 상기 컨텐츠와 상이하고 독립된 변환 테이블 데이터로부터 취득하고, 상기 파라미터 생성 유닛으로부터 취득한 세그먼트에 대응하는 파라미터를 적용한 연산 처리 또는 암호 처리를 실행하여, 상기 세그먼트의 구성 데이터에 대한 치환 데이터로서 적용되는 변환 데이터를 포함하는 데이터의 복원 처리를 실행하는 구성을 가지는, 정보 처리 장치.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 파라미터 산출 유닛은, 정보 처리 장치 내에 설정되는 버추얼 머신에 의해 실행되는 구성을 가지는, 정보 처리 장치.
  14. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 컨텐츠 재생 처리 유닛으로부터의 상기 파라미터 산출 유닛에 대한 파라미터 산출 요구는 인터럽션 요구로서 실행되고, 상기 파라미터 산출 유닛으로부터 상기 컨텐츠 재생 처리 유닛에 대한 파라미터 제공은, 상기 인터럽션 요구에 대한 응답으로서 실행되는 구성을 가지는, 정보 처리 장치.
  15. 정보 기록 매체 제조 장치에 있어서,
    정당한 컨텐츠 구성 데이터와는 상이한 변칙 데이터를 포함하는 컨텐츠와, 변환 테이블을 생성하는 데이터 처리 유닛; 및
    상기 변칙 데이터를 포함하는 컨텐츠와, 상기 변환 테이블을 정보 기록 매체에 기록하는 데이터 기록 유닛
    을 포함하고,
    상기 변환 테이블은, 상기 변칙 데이터에 대응하여 치환될 정당한 컨텐츠 구성 데이터로서, 상기 변환 테이블에 포함되는 변환 데이터에 대해, 컨텐츠의 구분 영역인 세그먼트에 대응하여 설정되고 상기 변환 테이블에 적용되어 상기 변환 데이터를 취득하기 위해 이용되는 파라미터에 의한 연산 또는 암호화 처리를 행하여 저장된 변환 테이블 보디 데이터와, 상기 파라미터의 식별 정보인 파라미터 식별자를 저장하는 파라미터 식별자 특정 테이블을 포함하는, 정보 기록 매체 제조 장치.
  16. 제15항에 있어서,
    상기 파라미터 식별자 특정 테이블은, 상기 파라미터 식별자와, 컨텐츠 구성 데이터인 세그먼트의 선두 위치에 있는 패킷의 패킷 번호를 상관시키는 테이블인, 정보 기록 매체 제조 장치.
  17. 제15항에 있어서,
    상기 파라미터 식별자 특정 테이블은, 상기 파라미터 식별자와, 컨텐츠 구성 데이터인 세그먼트의 선두 위치에 있는 패킷의 정보를 포함하는 EP 맵의 등록 테이블 식별자인 EP 맵 등록 테이블 ID를 상관시키는 테이블인, 정보 기록 매체 제조 장치.
  18. 정보가 기록된, 컴퓨터로 판독 가능한 기록 매체에 있어서,
    컨텐츠 구성 데이터의 일부가 치환되어 재생되는 컨텐츠; 및
    상기 컨텐츠 구성 데이터가 복수의 세그먼트들로 구분되어 설정되는 세그먼트에 대응하여 설정된 파라미터 식별자와, 치환될 컨텐츠 구성 데이터의 일부와 상기 치환될 컨텐츠 구성 데이터의 일부가 치환될 대상으로서의 정당한 컨텐츠 구성 데이터인 변환 데이터가 대응되어 등록되어 있는 변환 테이블
    이 저장되어 있으며,
    상기 변환 데이터는, 상기 변환 테이블에 적용되어 상기 변환 데이터를 취득하기 위해 이용되고 상기 파라미터 식별자에 대응하여 산출되는, 상기 세그먼트에 대응하는 파라미터에 기초하여 연산 또는 코딩 처리가 수행된 데이터이고,
    상기 컴퓨터로 판독 가능한 기록 매체에 기록된 컨텐츠를 재생하는 정보 처리 장치가, 상기 세그먼트에 대응하는 파라미터를 산출하여, 상기 파라미터를 적용한 연산 처리나 암호 처리를 수반한 컨텐츠 재생 처리를 실행하는 것을 가능하게 하는, 컴퓨터로 판독 가능한 기록 매체.
  19. 제18항에 있어서,
    엔트리 포인트의 프레젠테이션 타임 스탬프(PTS)와, 어드레스인 패킷 번호가 상관되어 등록되어 있는 EP 맵을 포함하며,
    상기 세그먼트들은 상기 EP 맵에 등록된 복수의 엔트리 포인트에 기초하여 구분되는, 컴퓨터로 판독 가능한 기록 매체.
  20. 제19항에 있어서,
    상기 세그먼트는 고정 엔트리 포인트에 기초하여 구분되는, 컴퓨터로 판독 가능한 기록 매체.
  21. 데이터 구조가 기록된, 컴퓨터로 판독 가능한 기록 매체에 있어서,
    컨텐츠 구성 데이터의 일부가 치환되어 재생되는 컨텐츠; 및
    상기 컨텐츠 구성 데이터가 복수의 세그먼트들로 구분되어 설정되는 세그먼트에 대응하여 설정된 파라미터 식별자와, 치환될 컨텐츠 구성 데이터의 일부와 상기 치환될 컨텐츠 구성 데이터의 일부가 치환될 대상으로서의 정당한 컨텐츠 구성 데이터인 변환 데이터가 대응되어 등록되어 있는 변환 테이블
    이 저장되어 있으며,
    상기 변환 데이터는, 상기 변환 테이블에 적용되어 상기 변환 데이터를 취득하기 위해 이용되고 상기 파라미터 식별자에 대응하여 산출되는, 상기 세그먼트에 대응하는 파라미터에 기초하여 연산 또는 코딩 처리가 수행된 데이터이고,
    상기 컴퓨터로 판독 가능한 기록 매체에 기록된 컨텐츠를 재생하는 정보 처리 장치가, 상기 세그먼트에 대응하는 파라미터를 산출하여, 상기 파라미터를 적용한 연산 처리나 암호 처리를 수반한 컨텐츠 재생 처리를 실행하는 것을 가능하게 하는, 컴퓨터로 판독 가능한 기록 매체.
  22. 컨텐츠 재생 처리를 실행하는 정보 처리 방법에 있어서,
    파라미터 생성 유닛이, 재생될 입력 컨텐츠의 구성 데이터 중에서, 정당한 컨텐츠 구성 데이터와는 상이한 변칙 데이터를 정당한 컨텐츠 구성 데이터로서의 변환 데이터로 치환하는 데이터 변환 처리에서, 상기 변칙 데이터에 대응하여 치환될 상기 변환 데이터를 포함하는 변환 테이블에 적용되어, 상기 변환 데이터를 취득하기 위해 이용되는 파라미터를 컨텐츠 재생 처리 유닛에 제공하는 파라미터 생성 단계; 및
    컨텐츠 재생 처리 유닛에서, 상기 변칙 데이터를 치환한 상기 변환 데이터로 재기록하기 위해, 상기 파라미터를 적용한 데이터 변환 처리를 실행하여 재생 컨텐츠를 재생하는 처리를 실행하는 컨텐츠 재생 처리 단계
    를 포함하며,
    상기 컨텐츠 재생 처리 단계는, 재생 컨텐츠의 구분 영역으로서 설정된 세그먼트마다 상이한 파라미터 식별자를 취득하고, 상기 파라미터 식별자를 동반한 파라미터 산출 요구를 상기 파라미터 생성 유닛에 출력하는 단계를 포함하고,
    상기 파라미터 생성 단계는, 상기 컨텐츠 재생 처리 유닛으로부터의 파라미터 산출 요구에 응답하여, 상기 세그먼트에 대응하는 파라미터를 산출하고, 상기 컨텐츠 재생 처리 유닛에 제공하는 단계를 포함하는, 정보 처리 방법.
  23. 제22항에 있어서,
    상기 컨텐츠 재생 처리 단계는, 상기 변환 데이터를 포함하는 변환 테이블 데이터에 대하여, 상기 파라미터 생성 유닛으로부터 취득한 세그먼트에 대응하는 파라미터를 적용한 연산 처리 또는 암호 처리를 실행하고, 상기 세그먼트의 구성 데이터에 대한 치환 데이터로서 적용되는 변환 데이터를 포함하는 데이터의 복원 처리를 실행하는 단계를 포함하는, 정보 처리 방법.
  24. 제22항에 있어서,
    상기 컨텐츠 재생 처리 단계는, 컨텐츠 재생 구간 정보인 클립 정보에 포함된 EP 맵으로부터, 재생 구간에 포함된 세그먼트의 구성 패킷의 패킷 번호를 취득하고, 상기 파라미터 식별자와 컨텐츠 구성 데이터로서의 패킷 번호를 상관시키는 파라미터 식별자 특정 테이블을 참조하여, 상기 세그먼트의 구성 패킷의 패킷 번호에 대응하는 파라미터 식별자를 취득하는 처리를 실행하는 단계를 포함하는, 정보 처리 방법.
  25. 제24항에 있어서,
    상기 파라미터 식별자 특정 테이블은, 상기 파라미터 식별자와 컨텐츠 구성 데이터인 세그먼트의 선두 위치에 있는 패킷의 패킷 번호를 상관시키는 테이블인, 정보 처리 방법.
  26. 제24항에 있어서,
    상기 패킷 번호는, EP 맵에 포함된 I픽처에 대응하는 소스 패킷 번호(SPN)인, 정보 처리 방법.
  27. 제22항에 있어서,
    상기 컨텐츠 재생 처리 단계는, 컨텐츠 재생 구간 정보인 클립 정보에 포함된 EP 맵의 등록 테이블 식별자인 EP 맵 등록 테이블 ID를 취득하고, 상기 파라미터 식별자와 EP 맵 등록 테이블 ID를 상관시키는 파라미터 식별자 특정 테이블을 참조하여, 상기 세그먼트의 구성 패킷의 패킷 번호에 대응하는 파라미터 식별자를 취득하는 처리를 실행하는 단계를 포함하는, 정보 처리 방법.
  28. 제27항에 있어서,
    상기 파라미터 식별자 특정 테이블은, 상기 파라미터 식별자와, 컨텐츠 구성 데이터인 세그먼트의 선두 위치에 있는 패킷의 정보를 포함하는 EP 맵의 등록 테이블 식별자인 EP 맵 등록 테이블 ID를 상관시키는 테이블인, 정보 처리 방법.
  29. 제22항에 있어서,
    상기 컨텐츠 재생 처리 단계는, 컨텐츠 재생 구간 정보인 클립 정보에 포함된 EP 맵의 등록 테이블 식별자인 EP 맵 등록 테이블 ID를 취득하고, 상기 EP 맵 등록 테이블 ID에 기초하여 상기 세그먼트에 대응하는 파라미터 식별자를 산출하는 처리를 실행하는 단계를 포함하는, 정보 처리 방법.
  30. 제29항에 있어서,
    상기 컨텐츠 재생 처리 단계는, 상기 EP 맵 등록 테이블 ID에 기초하여 상기 세그먼트에 대응하는 파라미터 식별자를, 하기 산출식,
    (SP_ID)=(EP_map_ID)/N
    단, SP_ID: 파라미터 식별자,
    EP_map_ID: EP 맵 등록 테이블 ID,
    N: 하나의 세그먼트에 대응하여 설정되는 EP 맵 등록 테이블 수
    에 따라 산출하는 처리를 실행하는 단계인, 정보 처리 방법.
  31. 제22항에 있어서,
    상기 컨텐츠 재생 처리 단계는, 컨텐츠 재생 구간 정보인 클립 정보에 포함된 EP 맵 등록 테이블의 이용 횟수를 카운트하여, 상기 EP 맵 등록 테이블의 카운트 수에 기초하여 상기 세그먼트에 대응하는 파라미터 식별자를 산출하는 처리를 실행하는 단계를 포함하는, 정보 처리 방법.
  32. 제22항에 있어서,
    상기 컨텐츠 재생 처리 단계는, 상기 변환 데이터를 포함하는 변환 테이블 데이터를 상기 컨텐츠 내에 포함된 패킷으로부터 취득하고, 상기 파라미터 생성 유닛으로부터 취득된 세그먼트에 대응하는 파라미터를 적용한 연산 처리 또는 암호 처리를 실행하며, 상기 세그먼트의 구성 데이터에 대한 치환 데이터로서 적용되는 변환 데이터를 포함하는 데이터의 복원 처리를 실행하는 단계를 포함하는, 정보 처리 방법.
  33. 제22항에 있어서,
    상기 컨텐츠 재생 처리 단계는, 상기 변환 데이터를 포함하는 변환 테이블 데이터를 상기 컨텐츠와 상이하고 독립된 변환 테이블 데이터로부터 취득하고, 상기 파라미터 생성 유닛으로부터 취득된 세그먼트에 대응하는 파라미터를 적용한 연산 처리 또는 암호 처리를 실행하며, 상기 세그먼트의 구성 데이터에 대한 치환 데이터로서 적용되는 변환 데이터를 포함하는 데이터의 복원 처리를 실행하는 단계를 포함하는, 정보 처리 방법.
  34. 정보 기록 매체 제조 방법에 있어서,
    컨텐츠 구성 데이터의 일부가 치환되어 재생되는 컨텐츠와, 변환 테이블을 생성하는 처리 단계; 및
    변칙 데이터를 포함하는 상기 컨텐츠와, 상기 변환 테이블을 정보 기록 매체에 기록하는 데이터 기록 단계
    를 포함하며,
    상기 변환 테이블에는, 상기 컨텐츠 구성 데이터가 복수의 세그먼트들로 구분되어 설정되는 세그먼트에 대응하여 설정된 파라미터 식별자와, 치환될 컨텐츠 구성 데이터의 일부와 상기 치환될 컨텐츠 구성 데이터의 일부가 치환될 대상으로서의 정당한 컨텐츠 구성 데이터인 변환 데이터가 대응되어 등록되어 있고,
    상기 변환 데이터는, 상기 변환 테이블에 적용되어 상기 변환 데이터를 취득하기 위해 이용되고 상기 파라미터 식별자에 대응하여 산출되는, 상기 세그먼트에 대응하는 파라미터에 기초하여 연산 또는 코딩 처리가 수행된 데이터인, 정보 기록 매체 제조 방법.
  35. 컨텐츠 재생 처리를 정보 처리 장치에서 실행시키는 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체에 있어서,
    컨텐츠 재생 처리 유닛에서, 재생될 입력 컨텐츠의 구성 데이터 중에서, 정당한 컨텐츠 구성 데이터와는 상이한 변칙 데이터를 정당한 컨텐츠 구성 데이터로서의 변환 데이터로 치환하는 데이터 변환 처리를 실행하여 재생 컨텐츠를 재생하는 처리를 실행하는 컨텐츠 재생 처리 단계; 및
    파라미터 생성 유닛이, 상기 컨텐츠 재생 처리 유닛에, 상기 변칙 데이터에 대응하여 치환될 상기 변환 데이터를 포함하는 변환 테이블 데이터에 적용되어, 상기 변환 데이터를 취득하기 위해 이용되는 파라미터를 제공하는 파라미터 생성 단계
    를 포함하며,
    상기 컨텐츠 재생 처리 단계는, 재생 컨텐츠의 구분 영역으로서 설정된 세그먼트마다 상이한 파라미터 식별자를 취득하고, 상기 파라미터 식별자를 동반한 파라미터 산출 요구를 상기 파라미터 생성 유닛에 출력하는 단계를 포함하고,
    상기 파라미터 생성 단계는, 상기 컨텐츠 재생 처리 유닛으로부터의 파라미터 산출 요구에 응답하여, 상기 세그먼트에 대응하는 파라미터를 산출하고, 상기 컨텐츠 재생 처리 유닛에 제공하는 단계를 포함하는,
    컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체.
KR1020060088581A 2005-09-13 2006-09-13 정보 처리 장치, 정보 기록 매체 제조 장치, 정보 기록매체, 및 방법, 및 컴퓨터 프로그램 KR101327878B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00265476 2005-09-13
JP2005265476A JP4892900B2 (ja) 2005-09-13 2005-09-13 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
KR20070030706A KR20070030706A (ko) 2007-03-16
KR101327878B1 true KR101327878B1 (ko) 2013-11-11

Family

ID=37940063

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060088581A KR101327878B1 (ko) 2005-09-13 2006-09-13 정보 처리 장치, 정보 기록 매체 제조 장치, 정보 기록매체, 및 방법, 및 컴퓨터 프로그램

Country Status (5)

Country Link
JP (1) JP4892900B2 (ko)
KR (1) KR101327878B1 (ko)
CN (1) CN101017686B (ko)
RU (2) RU2424555C2 (ko)
TW (1) TWI337344B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100738411B1 (ko) * 2005-10-31 2007-07-11 에스케이 텔레콤주식회사 백그라운드 애플리케이션에 키를 전달하는 미들웨어 구현방법
JP2010033358A (ja) * 2008-07-29 2010-02-12 Sony Corp 情報処理装置、情報処理方法、プログラム、および情報処理システム
KR101224266B1 (ko) * 2011-04-25 2013-01-22 한국과학기술원 네트워크 상태 및 컨텐츠 속성에 기초한 컨텐츠 폴링 알고리즘을 수행하는 컨텐츠 어그리게이션 장치 및 방법
WO2016038791A1 (ja) * 2014-09-10 2016-03-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 記録媒体、再生装置および再生方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1145508A (ja) * 1997-07-30 1999-02-16 Sony Corp データ記録装置および方法、データ再生装置および方法、並びに伝送媒体
JP2005216027A (ja) 2004-01-30 2005-08-11 Matsushita Electric Ind Co Ltd 暗号化装置及びこれを備えた暗号化システム並びに復号化装置及びこれを備えた半導体システム
JP2005242972A (ja) 2003-11-06 2005-09-08 Sony Corp 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001356952A (ja) * 2000-06-14 2001-12-26 Do It Inc データ暗号化方法及びシステム
KR100746771B1 (ko) * 2001-04-24 2007-08-06 엘지전자 주식회사 휴대용 오디오 기기에서의 오디오 파일 재생방법
JP2003078515A (ja) * 2001-09-05 2003-03-14 Nec Corp コンテンツ配信システム、復号装置、暗号化装置、復号プログラム、暗号化プログラム
JP2003101529A (ja) * 2001-09-20 2003-04-04 Toshiba Corp コンテンツ管理装置およびコンテンツ削除方法
FR2831360B1 (fr) * 2001-10-19 2004-02-06 Viaccess Sa Protocole interactif de gestion a distance du controle d'acces a des informations embrouillees
JP4047573B2 (ja) * 2001-11-06 2008-02-13 東芝ソリューション株式会社 電子情報管理装置及びプログラム
JP2004095114A (ja) * 2002-09-03 2004-03-25 Nec Corp 情報記録再生用媒体、情報記録再生装置、情報記録再生方法、及び、情報記録再生用媒体のデータ構造
JP4862949B2 (ja) * 2010-02-01 2012-01-25 ソニー株式会社 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1145508A (ja) * 1997-07-30 1999-02-16 Sony Corp データ記録装置および方法、データ再生装置および方法、並びに伝送媒体
JP2005242972A (ja) 2003-11-06 2005-09-08 Sony Corp 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP2005216027A (ja) 2004-01-30 2005-08-11 Matsushita Electric Ind Co Ltd 暗号化装置及びこれを備えた暗号化システム並びに復号化装置及びこれを備えた半導体システム

Also Published As

Publication number Publication date
RU2006132778A (ru) 2008-03-20
RU2010122754A (ru) 2011-12-10
KR20070030706A (ko) 2007-03-16
RU2424555C2 (ru) 2011-07-20
JP4892900B2 (ja) 2012-03-07
JP2007079805A (ja) 2007-03-29
RU2440630C1 (ru) 2012-01-20
CN101017686A (zh) 2007-08-15
TWI337344B (en) 2011-02-11
TW200731224A (en) 2007-08-16
CN101017686B (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
KR101278075B1 (ko) 재생 장치, 정보 기록 매체 제조 장치 및 방법, 기록 매체 및 오서링 장치
JP4321550B2 (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
KR101313825B1 (ko) 정보 처리 장치, 정보 기록 매체 제조 장치, 정보 기록매체
US8203730B2 (en) Information processing device, information recording medium manufacturing device, information recording medium, methods therefore, and computer program
US8625967B2 (en) Information processing device, information recording medium manufacturing device, information recording medium, methods thereof, and computer program
US20070076870A1 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium, method and computer program
JP4140624B2 (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP4765485B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
KR101327878B1 (ko) 정보 처리 장치, 정보 기록 매체 제조 장치, 정보 기록매체, 및 방법, 및 컴퓨터 프로그램
JP4862949B2 (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP4941607B2 (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法
JP4973818B2 (ja) 情報処理装置、および情報処理方法
JP4862958B2 (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP4905585B2 (ja) 情報記録媒体、およびプログラム
JP4905566B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP4905587B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4862957B2 (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant