KR100966668B1 - 콘텐츠 재생 장치, 콘텐츠 기록 매체, 콘텐츠 재생 방법 및 기록 매체 - Google Patents
콘텐츠 재생 장치, 콘텐츠 기록 매체, 콘텐츠 재생 방법 및 기록 매체 Download PDFInfo
- Publication number
- KR100966668B1 KR100966668B1 KR1020107001972A KR20107001972A KR100966668B1 KR 100966668 B1 KR100966668 B1 KR 100966668B1 KR 1020107001972 A KR1020107001972 A KR 1020107001972A KR 20107001972 A KR20107001972 A KR 20107001972A KR 100966668 B1 KR100966668 B1 KR 100966668B1
- Authority
- KR
- South Korea
- Prior art keywords
- program
- data
- reproduction
- video
- synchronization
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 117
- 230000001360 synchronised effect Effects 0.000 claims abstract description 221
- 230000015654 memory Effects 0.000 claims description 60
- 230000003287 optical effect Effects 0.000 abstract description 56
- 238000012545 processing Methods 0.000 description 174
- 238000012795 verification Methods 0.000 description 66
- 230000008569 process Effects 0.000 description 65
- 238000010586 diagram Methods 0.000 description 55
- 230000006870 function Effects 0.000 description 21
- 230000000694 effects Effects 0.000 description 16
- 230000009471 action Effects 0.000 description 15
- 230000002194 synthesizing effect Effects 0.000 description 14
- 230000004044 response Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 9
- 238000013523 data management Methods 0.000 description 7
- 238000002360 preparation method Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000002730 additional effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 101150012579 ADSL gene Proteins 0.000 description 1
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00166—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
- G11B20/00173—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software wherein the origin of the content is checked, e.g. determining whether the content has originally been retrieved from a legal disc copy or another trusted source
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
- G11B20/00217—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
- G11B20/00253—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier
- G11B20/00282—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier the key being stored in the content area, e.g. program area, data area or user area
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
- G11B20/00485—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
- G11B20/00492—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00681—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which prevent a specific kind of data access
- G11B20/00695—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which prevent a specific kind of data access said measures preventing that data are read from the recording medium
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
- G11B27/32—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
- G11B27/32—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
- G11B27/327—Table of contents
- G11B27/329—Table of contents on a disc [VTOC]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/34—Indicating arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/36—Monitoring, i.e. supervising the progress of recording or reproducing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/84—Television signal recording using optical recording
- H04N5/85—Television signal recording using optical recording on discs or drums
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Television Signal Processing For Recording (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
Abstract
비디오 디스크 플레이어는, 광 디스크로부터 비디오 데이터, 프로그램, 동기 타이밍 정보를 판독하는 디스크 판독부와, 클럭 신호를 생성하는 클럭, 클럭 신호에 따라서 비디오 데이터를 재생 출력을 위한 비압축 비디오 데이터로 변환하는 디코더, 클럭 신호에 따라서 동기 타이밍 정보에 포함되는 필드 timing에 의해 지정된 타이밍에서 프로그램 실행부에 동기 제어 신호를 송신하는 동기 제어부를 포함하는 비디오 재생부와, 동기 제어부로부터 수신한 동기 제어 신호에 따라서 프로그램을 실행하는 프로그램 실행부를 구비한다. 이에 의해, AV 데이터 등의 재생에 동기시켜 실행할 프로그램을 효율적으로 실행할 수 있다.
Description
본 발명은, 컴퓨터 소프트웨어에 의해서 비디오 재생을 제어하는 재생 장치, 재생 장치의 제어 방법, 콘텐츠 기록 매체, 데이터 구조, 제어 프로그램, 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
최근, 더 높은 인터랙티브성을 요구하여, AV(audio visual) 기기에 범용 프로그램 언어의 실행 환경이 도입되고 있다. 그 대표적인 것이 MHP(Multimedia Home Platform)이고, Java(등록상표) 언어가 채용되어 있다(예를 들면, 특허 문헌 1:일본 공개 특허 공보 「일본 특개 2001-103383호 공보(공개일: 2001년 4월 13일)」).
또한, 특허 문헌 1에는, 다채로운 제어 기능을 부여하면서, 유저에게 간단한 인터페이스를 부여하는 것을 목적으로 한 텔레비전 표시 장치가 기재되어 있다. 구체적으로는, 이 텔레비전 표시 장치는, 복수의 제어 화상을 저장하고, 주요 파일을 지속해서 기억하는 메모리와, 이벤트를 복수의 제어 화상이 선택된 1개에 대응시키는 이벤트 셀렉터와, 액션을 선택된 제어 화상에 대응시키는 액션 셀렉터와, 이벤트를 검출하고, 이것에 따라서 소정 기간에 걸쳐 선택된 제어 화상을 텔레비전 표시부의 일부에, 보고 있는 텔레비전 서비스에 중첩시켜 표시하는 표시부와, 입력 장치에 의해서 소정 기간 내에 제어 커맨드가 공급되었는지의 여부에 따라서 액션을 개시하는 커맨드부를 구비하고, 커맨드부는, 입력 장치에 의해서 소정 기간 내에 공급된 주요 커맨드에 따라서 표시된 각 주요 화상의 주요 파일의 내용을 현재 보고 있는 텔레비전 서비스에 중첩시켜 표시한다.
본원 발명과 특허 문헌 1은, Java(등록상표) 등의 컴퓨터 프로그램 언어로 비디오 재생을 컨트롤한다고 하는 점에서 공통되어 있다. 그러나, 특허 문헌 1은, 방송을 대상으로 하고 있고, 디스크 등을 대상으로 한 본원 발명의 이하의 주요 포인트가 개시되어 있지 않다.
·프로그램에 의한 처리 개시·종료를 비디오 프레임 정밀도로 제어 가능한 장치 구성 및 데이터 구조
·시간 지정 재생·리쥼 처리를 고려한 장치 구성 및 데이터 구조
·프로그램 실행에 의한 오버헤드를 회피 가능한 장치 구성 및 데이터 구조
도 35는, 범용 프로그램 언어 실행 환경을 구비한 종래의 AV 기기의 구성의 개략적인 것을 도시하는 기능 블록도이다. 도 35에 도시하는 바와 같이, AV 기기에 범용 프로그램 언어 실행 환경을 도입하는 경우, 프로그램을 실행하는 프로그램 실행부(101)와, 비디오 데이터를 디코드하는 비디오 재생부(102)와, 합성부(103)로 구성된다. 그리고, 프로그램 실행부(101) 및 비디오 재생부(102)의 출력을, 합성부(103)가 중첩시킨다. 또한, 코스트나 리얼타임성의 점으로부터, 비디오 재생부(102)는 하드웨어로 실장되는 것이 일반적이다.
그러나, 상기 종래의 AV 기기에서는, 프로그램에 의해서 생성한 그래픽스나 애니메이션 등을 비디오 재생의 시간축 상의 특정한 비디오 프레임으로부터 표시 개시하거나 표시 종료하는 것은 어렵다. 왜냐하면, 고급 언어에 의한 프로그램은 일반적으로 동작이 느리기 때문이다. 특히, Java(등록상표) 언어는 버추얼 머신 상에서 실행되며, 게다가 사용 완료된 메모리를 개방하기 위한 가비지 컬렉션 처리도 더불어, 리얼타임 처리를 보증하는 것은 어렵다. 또한, 프레임 단위로 비디오와 동기를 취하려고 하면, 프레임 레이트보다 짧은 시간에 폴링을 할 필요가 있어, 프로그램의 오버헤드가 커진다. 또한, 비디오 재생의 특정한 타이밍에서 그래픽스 표시의 개시나 종료를 시키고자 한 경우, 소프트웨어로 비디오 재생의 클럭값을 확인할 필요가 있다. 그렇기 때문에, 처리의 오버헤드가 커서, 프레임 단위로 타이밍을 일치시키는 것이 곤란하여, 처리 효율이 나쁘다.
또한, 상기 종래의 AV 기기에서는, 비디오 중의 임의의 시각에서 재생을 개시한 경우, 그 시각에 표시하여야 할 그래픽스를 정확하게 중첩 표시시키는 것은 어렵다. 왜냐하면, 비디오 재생의 클럭을 폴링하여, 그 값으로 그래픽스 표시·소거 타이밍을 제어하고 있기 때문에, 재생 개시 시각까지의 비디오 재생의 클럭의 변화를 재현해 줄 필요가 있고, 그 시각의 그래픽스를 표시하기 위해서는, 비디오의 선두부터 재생 개시 시각까지의 시간이 필요하기 때문이다.
또한, 상기 종래의 AV 기기에서의 비디오 재생부(102)의 제어는, 지정된 프로그램에 따라서 프로그램 실행부(101)가 행하지만, Java(등록상표) 언어를 사용하지 않는 종래의 DVD Video 등에 비하여, 비디오 재생 개시까지의 시간이 길어지거나, 유저 조작(예를 들면 「다음 챕터로 점프」)에의 응답이 지연된다고 하는 문제가 있다. 전자는, 프로그램 중에 비디오 데이터의 재생 개시 제어가 기술되어 있기 때문에, 프로그램이 기동하고, 프로그램 실행이 재생 개시 제어가 기재되어 있는 개소에 도달해야 비로소 비디오 데이터의 재생 개시 제어가 비디오 재생부(102)에 보내지기 때문에, 즉 프로그램 실행부(101)에 의한 오버헤드가 존재하기 때문에 발생한다. 후자는, 유저 조작을 일단 프로그램 실행부(101)가 수취하고, 프로그램에 의해서 비디오 재생부(102)에 대한 재생 제어 명령으로 변환 재생한다고 하는 오버헤드가 존재하기 때문에 발생한다. 또한, 상술한 가비지 컬렉션 처리가 재생 개시 처리나 유저 조작 해석 처리시에 발생한 경우, 그 지연은 더욱 악화될 우려가 있다.
또한, 상기 종래의 AV 기기에서는, 현재 DVD에서 실현되고 있는 "리쥼" 처리의 실현 방법에 대해서는 고려되어 있지 않았다. "리쥼"이란, 콘텐츠 재생시에 유저가 메뉴 판독을 행하였을 때에 재생을 일시 정지한 콘텐츠를, 유저가 메뉴로부터 복귀 조작했을 때에, 일시 정지한 개소로부터 재생 재개하는 기능이다.
또한, 상기 종래의 AV 기기에서는, 복수의 콘텐츠 프로바이더로부터 제공되는 콘텐츠를 동일한 기록 매체 중에 포함하는 것이 고려되어 있지 않았다. 예를 들면 1매의 광 디스크 중에 프로바이더 A와 프로바이더 B가 콘텐츠를 제공했을 때, 프로바이더 A의 프로그램이 의도적 혹은 프로그램의 버그에 의해 프로바이더 B의 비디오 데이터를 무단으로 재생하게 되는 것을 방지할 필요가 있다. 그러나, 상기 종래의 AV 기기에서는 그를 위한 구조를 제공하고 있지 않았다.
본 발명은, 상기한 문제점을 해결하기 위해 이루어진 것으로, 그 목적은, 첫째로, AV 데이터 등의 재생에 동기시켜 실행하는 프로그램을 효율 좋게 실행할 수 있는 재생 장치, 재생 장치의 제어 방법, 콘텐츠 기록 매체, 데이터 구조, 제어 프로그램, 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공하는 것에 있다. 또한 둘째로, 부정한 재생을 방지할 수 있는, 재생 장치, 재생 장치의 제어 방법, 콘텐츠 기록 매체, 데이터 구조, 제어 프로그램, 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공하는 것에 있다.
상기한 과제를 해결하기 위해, 본 발명에 따른 재생 장치는, 콘텐츠 데이터, 동기 타이밍 정보를 취득하는 데이터 취득 수단과, 클럭 신호를 생성하는 클럭 생성 수단과, 상기 클럭 신호에 따라서 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 수단과, 상기 클럭 신호에 따라서 상기 동기 타이밍 정보에 포함되는 타이밍 지정 정보에 의해 지정된 타이밍에서 동기 처리 수단에 동기 제어 신호를 송신하는 동기 제어 수단과, 상기 동기 제어 수단으로부터 수신한 동기 제어 신호에 따라서, 처리를 행하는 동기 처리 수단을 구비한 것을 특징으로 한다.
또한, 본 발명에 따른 재생 장치의 제어 방법은, 데이터 취득 수단, 디코드 수단, 동기 처리 수단을 구비한 재생 장치의 제어 방법으로서, 상기 데이터 취득 수단으로, 콘텐츠 데이터, 동기 타이밍 정보를 취득하는 데이터 취득 스텝과, 상기 디코드 수단으로, 클럭 신호에 따라서 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환함과 함께, 해당 클럭 신호에 따라서 상기 동기 타이밍 정보에 포함되는 타이밍 지정 정보에 의해 지정된 타이밍에서 상기 동기 처리 수단에 동기 제어 신호를 송신하는 디코드 스텝과, 상기 동기 처리 수단으로, 수신한 상기 동기 제어 신호에 따라서, 처리를 행하는 동기 처리 스텝을 포함하는 것을 특징으로 한다.
상기한 구성에 의해, 디코드 수단이 행하는 콘텐츠 데이터의 재생 처리에 동기하여, 동기 처리 수단에 대하여, 처리를 행할 타이밍을 규정하는 동기 제어 신호(트리거)를 공급할 수 있다. 여기서, 동기 처리 수단이 행하는 「처리」로서는, 예를 들면, 데이터의 출력 제어나, 프로그램의 실행 등을 들 수 있다.
따라서, 콘텐츠 데이터와 병행하여 콘텐츠 데이터의 재생 처리에 동기한 처리를 작성하거나, 콘텐츠 데이터 공급 후에 콘텐츠 데이터 재생 처리에 동기한 처리를 추가하거나 하는 것이 용이하게 된다. 또한, 스트림 동기 처리 수단으로부터 디코드 수단의 재생 클럭을 보러 갈 필요가 없기 때문에, 동기를 위해 동기 처리 수단에 부담이 걸리지 않는다. 그렇기 때문에, 유연한 콘텐츠 작성이 가능하게 된다고 하는 효과를 발휘한다.
또한, 본 발명에 따른 재생 장치는, 콘텐츠 데이터, 동기 실행 프로그램을 취득하는 데이터 취득 수단과, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 수단과, 클럭 신호를 생성하는 클럭 생성 수단과, 상기 클럭 신호에 따라서 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 수단과, 상기 클럭 신호에 따라서, 소정의 타이밍에서 상기 프로그램 실행 수단에 동기 제어 신호를 송신하는 동기 제어 수단과, 외부로부터의 재생 제어 조작을 접수하여 재생 제어 정보로 변환하는 입력 수단을 구비하고, 상기 디코드 수단은, 상기 입력 수단으로부터의 재생 제어 정보로 제어되며, 상기 프로그램 실행 수단은 적어도 상기 동기 제어 수단으로부터 수신한 동기 제어 신호에 따라서 동기 실행 프로그램을 실행하는 것인 것을 특징으로 한다.
또한, 본 발명에 따른 재생 장치의 제어 방법은, 데이터 취득 수단, 프로그램 실행 수단, 클럭 생성 수단, 디코드 수단, 동기 제어 수단, 입력 수단을 구비한 재생 장치의 제어 방법으로서, 상기 데이터 취득 수단으로, 콘텐츠 데이터, 동기 실행 프로그램을 취득하는 데이터 취득 스텝과, 상기 프로그램 실행 수단으로, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 스텝과, 상기 클럭 생성 수단으로, 클럭 신호를 생성하는 클럭 생성 스텝과, 상기 디코드 수단으로, 상기 클럭 신호에 따라서 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 스텝과, 상기 동기 제어 수단으로, 상기 클럭 신호에 따라서, 소정의 타이밍에서 상기 프로그램 실행 수단에 동기 제어 신호를 송신하는 동기 제어 스텝과, 상기 입력 수단으로, 외부로부터의 재생 제어 조작을 접수하여 재생 제어 정보로 변환하는 입력 스텝을 포함하고, 상기 디코드 스텝에서, 상기 디코드 수단이 상기 입력 수단으로부터의 재생 제어 정보에 따라서 동작하고, 상기 프로그램 실행 스텝에서, 상기 프로그램 실행 수단이 적어도 상기 동기 제어 수단으로부터 수신한 동기 제어 신호에 따라서 동기 실행 프로그램을 실행하는 것을 특징으로 한다.
상기한 구성에 의해, 콘텐츠 데이터의 재생에 동기한 동기 실행 프로그램의 실행이 가능하고, 또한, 외부로부터의 재생 제어 조작(유저의 조작)에 의해 동기 실행 프로그램을 통하지 않고 콘텐츠 재생을 제어할 수 있다. 그렇기 때문에, 동기 실행 프로그램을 통하는 것에 의한 오버헤드를 배제하여, 유저에 의한 재생 제어 조작에 대한 레스펀스를 높이는 것이 가능하게 된다고 하는 효과를 발휘한다. 여기서, 동기 제어 수단이 프로그램 실행 수단에 동기 제어 신호를 송신하는 「소정의 타이밍」으로서는, 예를 들면, 콘텐츠 데이터의 재생 종료시나, 동기 타이밍 정보에 의해 지정된 타이밍을 들 수 있다.
또한, 본 발명에 따른 재생 장치는, 콘텐츠 데이터, 동기 실행 프로그램, 프로그램 관리 정보를 취득하는 데이터 취득 수단과, 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 수단과, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 수단을 구비하고, 또한, 상기 프로그램 관리 정보에는, 동시에 재생 출력을 행하는 콘텐츠 데이터 및 동기 실행 프로그램을 각각 지정하는 프로그램 지정 정보 및 콘텐츠 데이터 지정 정보가 포함되어 있으며, 상기 프로그램 지정 정보에 의해 지정된 동기 실행 프로그램의 실행을 상기 프로그램 실행 수단에 지시함과 함께, 상기 콘텐츠 지정 정보에 의해 지정된 콘텐츠 데이터의 변환을 상기 디코드 수단에 지시하는 전체 제어 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 재생 장치의 제어 방법은, 디코드 수단, 프로그램 실행 수단, 데이터 취득 수단을 구비한 재생 장치의 제어 방법으로서, 상기 데이터 취득 수단으로, 콘텐츠 데이터, 동기 실행 프로그램, 프로그램 관리 정보를 취득하는 데이터 취득 스텝과, 디코드 수단으로써 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 스텝과, 프로그램 실행 수단으로 상기 동기 실행 프로그램을 실행하는 프로그램 실행 스텝을 포함하고, 또한, 상기 프로그램 관리 정보에는, 동시에 재생 출력을 행하는 콘텐츠 데이터 및 동기 실행 프로그램을 각각 지정하는 프로그램 지정 정보 및 콘텐츠 데이터 지정 정보가 포함되어 있으며, 상기 프로그램 지정 정보에 의해 지정된 동기 실행 프로그램의 실행을 상기 프로그램 실행 수단에 지시함과 함께, 상기 콘텐츠 지정 정보에 의해 지정된 콘텐츠 데이터의 변환을 상기 디코드 수단에 지시 또는 상기 콘텐츠 지정 정보에 의해 지정된 콘텐츠 데이터의 취득을 상기 데이터 취득 수단에 지시하는 재생 실행 지시 스텝을 포함하는 것을 특징으로 하고 있다.
상기한 구성에 의해, 동기 실행 프로그램의 실행과 독립하여, 콘텐츠 데이터의 기록 매체로부터의 판독, 디코드, 재생의 개시가 가능하게 되어, 콘텐츠 데이터의 재생 개시까지의 시간을 단축할 수 있다고 하는 효과를 발휘한다. 특히, 콘텐츠 데이터의 취득을 데이터 취득 수단에 지시함으로써, 선판독이 가능하게 된다. 또한, 상기한 구성에서, 동기 실행 프로그램은, 출력 데이터를 생성하는 것에 한정되지 않는다.
또한, 본 발명에 따른 재생 장치는, 콘텐츠 데이터, 동기 실행 프로그램, 프로그램 관리 정보를 취득하는 데이터 취득 수단과, 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 수단과, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 수단을 구비하고, 또한, 상기 프로그램 관리 정보에는, 동기 실행 프로그램과 동시에 재생 출력을 행하는 콘텐츠 데이터를 지정하는 콘텐츠 데이터 지정 정보가 적어도 포함되어 있으며, 상기 동기 실행 프로그램이 디코드 수단에 대하여 디코드를 지시하는 콘텐츠 데이터가, 상기 콘텐츠 데이터 지정 정보에 의해 지정된 콘텐츠 데이터인지의 여부를 검증하는 검증 수단을 포함하는 것을 특징으로 하고 있다.
또한, 본 발명에 따른 재생 장치의 제어 방법은, 디코드 수단, 프로그램 실행 수단, 데이터 취득 수단, 검증 수단을 구비한 재생 장치의 제어 방법으로서, 상기 데이터 취득 수단으로, 콘텐츠 데이터, 동기 실행 프로그램, 프로그램 관리 정보를 취득하는 데이터 취득 스텝과, 상기 디코드 수단으로, 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 스텝과, 상기 프로그램 실행 수단으로, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 스텝을 포함하고, 또한, 상기 프로그램 관리 정보에는, 동기 실행 프로그램과 동시에 재생 출력을 행하는 콘텐츠 데이터를 지정하는 콘텐츠 데이터 지정 정보가 적어도 포함되어 있으며, 상기 검증 수단으로, 상기 동기 실행 프로그램이 디코드 수단에 대하여 디코드를 지시하는 콘텐츠 데이터가, 상기 콘텐츠 데이터 지정 정보에 의해 지정된 콘텐츠 데이터인지의 여부를 검증하는 검증 스텝을 포함하는 방법이다.
상기한 구성에 의해, 동기 실행 프로그램이 재생하려고 한 콘텐츠 데이터가, 콘텐츠 데이터 지정 정보에 의해 지정된 콘텐츠 데이터인지의 여부를 검증할 수 있다. 따라서, 현재 실행 중인 동기 실행 프로그램의 콘텐츠 데이터의 재생이, 콘텐츠 데이터의 권리 소유자에게 허가된 것인지의 여부를 검증할 수 있다. 따라서, 재생하는 것이 허가되어 있지 않은 프로그램에 의한 재생 동작을 검출하여, 콘텐츠 데이터가 무단으로 재생되는 것을 방지할 수 있다고 하는 효과를 발휘한다. 또한, 동기 실행 프로그램은, 재생 출력을 위한 출력 데이터를 생성하는 것에 한하지 않는다.
게다가, 프로그램 관리 정보의 콘텐츠 데이터 지정 정보에 의해 지정(선언)된 콘텐츠 데이터만을 동기 실행 프로그램이 재생할 수 있도록 재생 장치를 구성함으로써, 콘텐츠 데이터의 권리 소유자가 동기 실행 프로그램을 실행하지 않고, 동기 실행 프로그램 외의 콘텐츠 데이터 지정 정보라고 하는 정적인 정보를 확인하는 것만으로, 콘텐츠 데이터의 권리 소유자가 콘텐츠 데이터의 부정 이용을 체크하는 것이 가능하게 된다.
또한, 본 발명에 따른 재생 장치는, 콘텐츠 데이터, 동기 실행 프로그램, 프로그램 관리 정보, 검증용 정보를 취득하는 데이터 취득 수단과, 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 수단과, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 수단을 구비하고, 또한, 상기 프로그램 관리 정보에는, 동기 실행 프로그램과 동시에 재생 출력을 행하는 콘텐츠 데이터의 사용을 허가하는 허가 정보가 적어도 포함되어 있으며, 상기 동기 실행 프로그램이 디코드 수단에 대하여 디코드를 지시하는 콘텐츠 데이터의 상기 허가 정보를, 상기 검증용 정보를 이용하여 검증하는 검증 수단을 포함하는 것을 특징으로 하고 있다.
또한, 본 발명에 따른 재생 장치의 제어 방법은, 디코드 수단, 프로그램 실행 수단, 데이터 취득 수단, 검증 수단을 구비한 재생 장치의 제어 방법으로서, 상기 데이터 취득 수단으로, 콘텐츠 데이터, 동기 실행 프로그램, 프로그램 관리 정보, 검증용 정보를 취득하는 데이터 취득 스텝과, 상기 디코드 수단으로, 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 스텝과, 상기 프로그램 실행 수단으로, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 스텝을 포함하고, 또한, 상기 프로그램 관리 정보에는, 동기 실행 프로그램과 동시에 재생 출력을 행하는 콘텐츠 데이터의 사용을 허가하는 허가 정보가 적어도 포함되어 있으며, 상기 검증 수단으로, 상기 동기 실행 프로그램이 디코드 수단에 대하여 디코드를 지시하는 콘텐츠 데이터의 상기 허가 정보를, 상기 검증용 정보를 이용하여 검증하는 검증 스텝을 포함하는 것을 특징으로 하고 있다.
상기한 구성에 의해, 콘텐츠 데이터의 재생이, 프로그램 관리 정보에 적정한 허가 정보가 기록된 동기 실행 프로그램에 의한 재생인지의 여부를 검증용 정보를 이용하여 검증할 수 있다. 따라서, 현재 실행 중인 동기 실행 프로그램의 콘텐츠 데이터의 재생이, 콘텐츠 데이터의 권리 소유자에게 허가된 것인지의 여부를 검증할 수 있다. 따라서, 재생하는 것이 허가되어 있지 않은 프로그램에 의한 재생 동작을 검출하여, 콘텐츠 데이터가 무단으로 재생되는 것을 방지할 수 있다고 하는 효과를 발휘한다. 또한, 동기 실행 프로그램은, 재생 출력을 위한 출력 데이터를 생성하는 것에 한하지 않는다.
본 발명의 또 다른 목적, 특징 및 우수한 점은, 이하에 기재하는 기재에 의해서 충분히 알 수 있을 것이다. 또한, 본 발명의 이익은, 첨부 도면을 참조한 다음의 설명으로 명백하게 될 것이다.
본 발명에 따른 재생 장치 및 그 제어 방법에 의하면 다음과 같은 효과가 있다.
디코드 수단이 행하는 콘텐츠 데이터의 재생 처리에 동기하여, 동기 처리 수단에 대하여, 처리를 행할 타이밍을 규정하는 동기 제어 신호(트리거)를 공급할 수 있다.
따라서, 콘텐츠 데이터와는 병행하여 콘텐츠 데이터의 재생 처리에 동기한 처리를 작성하거나, 콘텐츠 데이터 공급 후에 콘텐츠 데이터 재생 처리에 동기한 처리를 추가하거나 하는 것이 용이하게 된다. 또한, 스트림 동기 처리 수단으로부터 디코드 수단의 재생 클럭을 보러 갈 필요가 없기 때문에, 동기를 위해 동기 처리 수단에 부담이 걸리지 않는다. 그렇기 때문에, 유연한 콘텐츠 작성이 가능하게 된다고 하는 효과를 발휘한다.
또한, 콘텐츠 데이터의 재생에 동기한 동기 실행 프로그램의 실행이 가능하고, 또한, 외부로부터의 재생 제어 조작(유저의 조작)에 의해 동기 실행 프로그램을 통하지 않고 콘텐츠 재생을 제어할 수 있다. 그렇기 때문에, 동기 실행 프로그램을 통하는 것에 의한 오버헤드를 배제하여, 유저에 의한 재생 제어 조작에 대한 레스펀스를 높이는 것이 가능하게 된다고 하는 효과를 발휘한다.
또한, 동기 실행 프로그램의 실행과 독립하여, 콘텐츠 데이터의 기록 매체로부터의 판독, 디코드, 재생의 개시가 가능하게 되어, 콘텐츠 데이터의 재생 개시까지의 시간을 단축할 수 있다고 하는 효과를 발휘한다. 특히, 콘텐츠 데이터의 취득을 데이터 취득 수단에 지시함으로써, 선판독이 가능하게 된다.
또한, 동기 실행 프로그램이 재생하려고 한 콘텐츠 데이터가, 콘텐츠 데이터 지정 정보에 의해 지정된 콘텐츠 데이터인지의 여부를 검증할 수 있다. 따라서, 현재 실행 중인 동기 실행 프로그램의 콘텐츠 데이터의 재생이, 콘텐츠 데이터의 권리 소유자에게 허가된 것인지의 여부를 검증할 수 있다. 따라서, 재생하는 것이 허가되어 있지 않은 프로그램에 의한 재생 동작을 검출하여, 콘텐츠 데이터가 무단으로 재생되는 것을 방지할 수 있다고 하는 효과를 발휘한다.
게다가, 프로그램 관리 정보의 콘텐츠 데이터 지정 정보에 의해 지정(선언)된 콘텐츠 데이터만을 동기 실행 프로그램이 재생할 수 있도록 재생 장치를 구성함으로써, 콘텐츠 데이터의 권리 소유자가 동기 실행 프로그램을 실행하지 않고, 동기 실행 프로그램 외의 콘텐츠 데이터 지정 정보라고 하는 정적인 정보를 확인하는 것만으로, 콘텐츠 데이터의 권리 소유자가 콘텐츠 데이터의 부정 이용을 체크하는 것이 가능하게 된다.
또한, 콘텐츠 데이터의 재생이, 프로그램 관리 정보에 적정한 허가 정보가 기록된 동기 실행 프로그램에 의한 재생인지의 여부를 검증용 정보를 이용하여 검증할 수 있다. 따라서, 현재 실행 중인 동기 실행 프로그램의 콘텐츠 데이터의 재생이, 콘텐츠 데이터의 권리 소유자에게 허가된 것인지의 여부를 검증할 수 있다.
도 1은 본 발명의 실시예에 따른 비디오 디스크 플레이어의 구성의 개략적인 것을 도시하는 기능 블록도.
도 2는 도 1에 도시한 비디오 디스크 플레이어의 프로그램 실행부의 상세한 구성을 도시하는 기능 블록도.
도 3은 도 1에 도시한 비디오 디스크 플레이어의 출력 제어부의 상세한 구성을 도시하는 기능 블록도.
도 4는 도 1에 도시한 비디오 디스크 플레이어의 비디오 재생부의 상세한 구성을 도시하는 기능 블록도.
도 5a는 동기 타이밍 정보의 데이터 구조를 도시하는 설명도.
도 5b는 동기 타이밍 정보의 데이터 구조를 도시하는 설명도.
도 6은 도 1에 도시한 비디오 디스크 플레이어가 재생하는 광 디스크의 데이터 배치를 도시하는 설명도.
도 7은 도 1에 도시한 비디오 디스크 플레이어에 의한 재생 처리를 도시하는 플로우차트.
도 8은 도 1에 도시한 비디오 디스크 플레이어의 프로그램 실행부에 의한 프로그램 실행 처리를 도시하는 플로우차트.
도 9는 도 1에 도시한 비디오 디스크 플레이어의 프로그램 실행부에 의한 인터럽트 핸들러의 처리를 도시하는 플로우차트.
도 10은 동기 타이밍 정보의 구체예를 도시하는 설명도.
도 11은 도 10에 도시한 동기 타이밍 정보의 구체예에 대응하는 타이밍차트.
도 12a는 동기 타이밍 정보의 데이터 구조를 도시하는 설명도.
도 12b는 동기 타이밍 정보의 데이터 구조를 도시하는 설명도.
도 13a는 필드 independent_flag의 설정예를 도시하는 설명도로서, 표시예.
도 13b는 필드 independent_flag의 설정예를 도시하는 설명도로서, 도 13a에 대응하는 sync_info().
도 13c는 필드 independent_flag의 설정예를 도시하는 설명도로서, 표시예.
도 13d는 필드 independent_flag의 설정예를 도시하는 설명도로서, 도 13c에 대응하는 sync_jnfo().
도 14a는 필드 merged_flag의 설정예를 도시하는 설명도로서, 표시예.
도 14b는 필드 merged_flag의 설정예를 도시하는 설명도로서, 도 14a에 대응하는 sync_info().
도 15는 도 1에 도시한 비디오 디스크 플레이어의 프로그램 실행부에 의한 프로그램 실행 처리를 도시하는 플로우차트.
도 16은 도 1에 도시한 비디오 디스크 플레이어의 비디오 재생부에 의한 인터럽트 재현 처리를 도시하는 플로우차트.
도 17은 동기 타이밍 정보의 구체예를 도시하는 설명도.
도 18a는 동기 타이밍 정보의 데이터 구조를 도시하는 설명도.
도 18b는 동기 타이밍 정보의 데이터 구조를 도시하는 설명도.
도 19는 본 발명의 다른 실시예에 따른 비디오 디스크 플레이어의 구성의 개략적인 것을 도시하는 기능 블록도.
도 20은 도 19에 도시한 비디오 디스크 플레이어의 프로그램 실행부의 상세한 구성을 도시하는 기능 블록도.
도 21은 도 19에 도시한 비디오 디스크 플레이어의 전체 제어부의 상세한 구성을 도시하는 기능 블록도.
도 22a는 프로그램 관리 정보의 데이터 구조를 도시하는 설명도.
도 22b는 프로그램 관리 정보의 데이터 구조를 도시하는 설명도.
도 23은 도 19에 도시한 비디오 디스크 플레이어가 재생하는 광 디스크의 데이터 배치를 도시하는 설명도.
도 24는 도 19에 도시한 비디오 디스크 플레이어의 전체 제어부의 처리를 도시하는 플로우차트.
도 25는 도 19에 도시한 비디오 디스크 플레이어의 전체 제어부의 메뉴 호출 처리를 도시하는 플로우차트.
도 26은 도 19에 도시한 비디오 디스크 플레이어의 전체 제어부의 리쥼 처리를 도시하는 플로우차트.
도 27은 도 19에 도시한 비디오 디스크 플레이어의 각 블록의 상호 관계의 일례를 도시하는 시퀀스도로서, is_video_specified=1 또한 playback_control_mode=1 또한 start_mode=0인 경우를 나타내는 도면.
도 28은 본 발명의 다른 실시예에 따른 비디오 디스크 플레이어의 구성의 개략적인 것을 도시하는 기능 블록도.
도 29는 도 28에 도시한 비디오 디스크 플레이어의 전체 제어부의 상세한 구성을 도시하는 기능 블록도.
도 30a는 프로그램 관리 정보의 데이터 구조를 도시하는 설명도.
도 30b는 프로그램 관리 정보의 데이터 구조를 도시하는 설명도.
도 31a는 도 30b에 도시한 video_info()에 포함되는 certifiate의 작성 및 프로그램의 검증의 개요를 도시하는 설명도.
도 31b는 도 30b에 도시한 video_info()에 포함되는 certificate의 작성 및 프로그램의 검증의 개요를 도시하는 설명도.
도 32는 도 28에 도시한 비디오 디스크 플레이어의 전체 제어부의 처리 개요를 도시하는 플로우차트.
도 33은 도 28에 도시한 비디오 디스크 플레이어의 전체 제어부의 검증 처리를 도시하는 플로우차트.
도 34는 본 발명의 다른 실시예에 따른 비디오 디스크 플레이어의 구성의 개략적인 것을 도시하는 기능 블록도.
도 35는 종래의 AV 기기의 구성의 개략적인 것을 도시하는 기능 블록도.
도 2는 도 1에 도시한 비디오 디스크 플레이어의 프로그램 실행부의 상세한 구성을 도시하는 기능 블록도.
도 3은 도 1에 도시한 비디오 디스크 플레이어의 출력 제어부의 상세한 구성을 도시하는 기능 블록도.
도 4는 도 1에 도시한 비디오 디스크 플레이어의 비디오 재생부의 상세한 구성을 도시하는 기능 블록도.
도 5a는 동기 타이밍 정보의 데이터 구조를 도시하는 설명도.
도 5b는 동기 타이밍 정보의 데이터 구조를 도시하는 설명도.
도 6은 도 1에 도시한 비디오 디스크 플레이어가 재생하는 광 디스크의 데이터 배치를 도시하는 설명도.
도 7은 도 1에 도시한 비디오 디스크 플레이어에 의한 재생 처리를 도시하는 플로우차트.
도 8은 도 1에 도시한 비디오 디스크 플레이어의 프로그램 실행부에 의한 프로그램 실행 처리를 도시하는 플로우차트.
도 9는 도 1에 도시한 비디오 디스크 플레이어의 프로그램 실행부에 의한 인터럽트 핸들러의 처리를 도시하는 플로우차트.
도 10은 동기 타이밍 정보의 구체예를 도시하는 설명도.
도 11은 도 10에 도시한 동기 타이밍 정보의 구체예에 대응하는 타이밍차트.
도 12a는 동기 타이밍 정보의 데이터 구조를 도시하는 설명도.
도 12b는 동기 타이밍 정보의 데이터 구조를 도시하는 설명도.
도 13a는 필드 independent_flag의 설정예를 도시하는 설명도로서, 표시예.
도 13b는 필드 independent_flag의 설정예를 도시하는 설명도로서, 도 13a에 대응하는 sync_info().
도 13c는 필드 independent_flag의 설정예를 도시하는 설명도로서, 표시예.
도 13d는 필드 independent_flag의 설정예를 도시하는 설명도로서, 도 13c에 대응하는 sync_jnfo().
도 14a는 필드 merged_flag의 설정예를 도시하는 설명도로서, 표시예.
도 14b는 필드 merged_flag의 설정예를 도시하는 설명도로서, 도 14a에 대응하는 sync_info().
도 15는 도 1에 도시한 비디오 디스크 플레이어의 프로그램 실행부에 의한 프로그램 실행 처리를 도시하는 플로우차트.
도 16은 도 1에 도시한 비디오 디스크 플레이어의 비디오 재생부에 의한 인터럽트 재현 처리를 도시하는 플로우차트.
도 17은 동기 타이밍 정보의 구체예를 도시하는 설명도.
도 18a는 동기 타이밍 정보의 데이터 구조를 도시하는 설명도.
도 18b는 동기 타이밍 정보의 데이터 구조를 도시하는 설명도.
도 19는 본 발명의 다른 실시예에 따른 비디오 디스크 플레이어의 구성의 개략적인 것을 도시하는 기능 블록도.
도 20은 도 19에 도시한 비디오 디스크 플레이어의 프로그램 실행부의 상세한 구성을 도시하는 기능 블록도.
도 21은 도 19에 도시한 비디오 디스크 플레이어의 전체 제어부의 상세한 구성을 도시하는 기능 블록도.
도 22a는 프로그램 관리 정보의 데이터 구조를 도시하는 설명도.
도 22b는 프로그램 관리 정보의 데이터 구조를 도시하는 설명도.
도 23은 도 19에 도시한 비디오 디스크 플레이어가 재생하는 광 디스크의 데이터 배치를 도시하는 설명도.
도 24는 도 19에 도시한 비디오 디스크 플레이어의 전체 제어부의 처리를 도시하는 플로우차트.
도 25는 도 19에 도시한 비디오 디스크 플레이어의 전체 제어부의 메뉴 호출 처리를 도시하는 플로우차트.
도 26은 도 19에 도시한 비디오 디스크 플레이어의 전체 제어부의 리쥼 처리를 도시하는 플로우차트.
도 27은 도 19에 도시한 비디오 디스크 플레이어의 각 블록의 상호 관계의 일례를 도시하는 시퀀스도로서, is_video_specified=1 또한 playback_control_mode=1 또한 start_mode=0인 경우를 나타내는 도면.
도 28은 본 발명의 다른 실시예에 따른 비디오 디스크 플레이어의 구성의 개략적인 것을 도시하는 기능 블록도.
도 29는 도 28에 도시한 비디오 디스크 플레이어의 전체 제어부의 상세한 구성을 도시하는 기능 블록도.
도 30a는 프로그램 관리 정보의 데이터 구조를 도시하는 설명도.
도 30b는 프로그램 관리 정보의 데이터 구조를 도시하는 설명도.
도 31a는 도 30b에 도시한 video_info()에 포함되는 certifiate의 작성 및 프로그램의 검증의 개요를 도시하는 설명도.
도 31b는 도 30b에 도시한 video_info()에 포함되는 certificate의 작성 및 프로그램의 검증의 개요를 도시하는 설명도.
도 32는 도 28에 도시한 비디오 디스크 플레이어의 전체 제어부의 처리 개요를 도시하는 플로우차트.
도 33은 도 28에 도시한 비디오 디스크 플레이어의 전체 제어부의 검증 처리를 도시하는 플로우차트.
도 34는 본 발명의 다른 실시예에 따른 비디오 디스크 플레이어의 구성의 개략적인 것을 도시하는 기능 블록도.
도 35는 종래의 AV 기기의 구성의 개략적인 것을 도시하는 기능 블록도.
〔실시예 1〕
본 발명의 일 실시예에 대하여 도 1 내지 도 11에 기초하여 설명하면, 이하와 같다. 또한, 본 실시예에서는, 비디오 디스크 플레이어에 대하여 설명하지만, 본 발명은 이것에 한정되지 않고, 하드웨어 디코더를 탑재한 PC(Personal Computer) 등에도 적용할 수 있다.
<시스템 구성>
도 1은, 본 실시예에 따른 비디오 디스크 플레이어(1)의 구성의 개략적인 것을 도시하는 기능 블록도이다.
비디오 디스크 플레이어(1)(재생 장치)는, 광 디스크(2)에 기록되어 있는 AV 데이터를 재생하는 장치이다. 도 1에 도시하는 바와 같이, 비디오 디스크 플레이어(1)는, 프로그램 실행부(10), 비디오 재생부(20), 합성부(30), 출력 제어부(40), 디스크 판독부(50)를 구비해서 구성되어 있다.
디스크 판독부(50)(데이터 취득 수단, 판독 수단)는, 광 디스크(2)(콘텐츠 기록 매체)로부터 비디오 데이터(콘텐츠 데이터), 프로그램(동기 실행 프로그램), 동기 타이밍 정보를 판독한다. 그리고, 디스크 판독부(50)는, 프로그램을 프로그램 실행부(10)에, 비디오 데이터 및 후술하는 동기 타이밍 정보를 비디오 재생부(20)에 각각 보낸다.
프로그램 실행부(10)는, 프로그램을 실행한다. 구체적으로는, 프로그램 실행부(10)는, 프로그램을 실행함으로써, 비디오 재생부(20), 디스크 판독부(50), 및 출력 제어부(40)에 대하여 제어를 행함과 함께, 출력 제어부(40)에 대하여, 프로그램 실행에 의해서 생성한 비트맵 데이터를 보낸다.
비디오 재생부(20)는, 디스크 판독부(50)로부터 보내지는 비디오 데이터를 디코드하고, 비압축 비디오 데이터를 합성부(30)에 대하여 보낸다. 또한, 디스크 판독부(50)로부터 보내지는 동기 타이밍 정보에 기초하여, 프로그램 실행부(10) 및 출력 제어부(40)에 대한 제어를 행한다.
출력 제어부(40)는, 프로그램 실행부(10)로부터 보내지는 비트맵 데이터를 유지하고, 이 비트맵 데이터를 비디오 재생부(20) 및 프로그램 실행부(10)로부터의 제어에 따라서 합성부(30)에 출력한다.
합성부(30)는, 출력 제어부(40)로부터 보내지는 비트맵 데이터 및 비디오 재생부(20)로부터 보내지는 비압축 비디오 데이터를 합성하여, 합성 영상을 출력한다.
또한, 프로그램 실행부(10) 및 출력 제어부(40)로 동기 처리부(동기 처리 수단)(60)가 구성된다. 즉, 동기 처리부(60)는, 프로그램 실행부(10)에서, 비디오 재생부(20)로부터 수신한 동기 제어 신호에 따라서, 프로그램을 실행함으로써 비트맵 데이터(출력 데이터, 제2 출력 데이터)를 생성함과 함께, 출력 제어부(40)에서, 비트맵 데이터를 비디오 재생부(20)로부터 수신한 동기 제어 신호에 따라서 출력한다.
<프로그램 실행부>
도 2는, 상기 프로그램 실행부(10)의 상세한 구성을 도시하는 기능 블록도이다.
상기한 바와 같이, 프로그램 실행부(10)는, 동기 제어부(22)로부터 수신한 동기 제어 신호에 따라서 프로그램을 실행한다. 또한, 프로그램 실행부(10)는, 동기 제어부(22)로부터 수신한 동기 제어 신호에 포함되는 필드 action_id에 의해 지정된 프로그램을 실행한다. 특히, 실시예에서는, 프로그램 실행부(10)는, 비디오 화상에 중첩되는 화상 데이터를 생성하는 프로그램을 실행한다.
도 2에 도시하는 바와 같이, 프로그램 실행부(10)는, 메모리(11), CPU(12), 비디오 재생 제어부(13), 인터럽트 제어부(14)로 구성된다.
메모리(11)는, 디스크 판독부(50)로부터 입력된 프로그램을 일단 저장한다. CPU(12)는, 메모리(11)에 저장된 프로그램을 판독하여, 그 프로그램을 실행한다. CPU(12)는, 프로그램의 내용에 따라서, 비디오 재생 제어부(13)에 대하여 명령을 보내거나, 출력 제어부(40)에 대하여 비트맵 데이터를 보낸다. 비디오 재생 제어부(13)는, 실행된 프로그램에 기초하여 비디오 재생부(20)에 대하여 제어 신호를 보낸다. 제어 신호로서는, 구체적으로는, 재생 개시·일시 정지와 같은 재생 제어나, 현재의 재생 시각 취득 등의 상태 취득을 목적으로 하는 것이 있다. 인터럽트 제어부(14)는, 프로그램 실행부(10)의 밖으로부터의 인터럽트를 수취하여, 그것을 CPU(12)에 보낸다. CPU(12)는, 인터럽트 제어부(14)로부터 받은 인터럽트에 따라서 인터럽트 핸들러를 기동시킨다. 또한, 인터럽트원에 의해서 공급되는 각종 정보는, 인터럽트 제어부(14) 내의 레지스터(도시 생략)에 저장된다.
여기서, 인터럽트 핸들러라 함은, Java(등록상표)에서는 EventLisner로서 등록된 오브젝트의 메소드에 상당한다. 또한, 다른 프로그램 언어에서 콜 백 함수라고 불리는 것에 상당한다.
<출력 제어부>
도 3은, 상기 출력 제어부(40)의 상세한 구성을 도시하는 기능 블록도이다.
도 3에 도시하는 바와 같이, 출력 제어부(40)는, 입력측 버퍼 절환부(41), 표시 버퍼 메모리(42A)(#1)·(42B)(#2), 출력측 버퍼 절환부(43)로 구성된다.
입력측 버퍼 절환부(41)는, 프로그램 실행부(10)로부터의 비트맵 데이터를 수취하고, 프로그램 실행부(10)의 제어에 의해, 표시 버퍼 메모리(42A·42B) 중 어느 하나에 보낸다. 출력측 버퍼 절환부(43)는, 비디오 재생부(20)로부터의 제어에 기초하여, 표시 버퍼 메모리(42A·42B)의 내용 중 어느 하나를 합성부(30)에 출력한다.
표시 버퍼 메모리(42A) 및 표시 버퍼 메모리(42B)는, 비트맵 데이터를 저장하기 위한 버퍼 메모리로서, 상술한 바와 같이 입력측 버퍼 절환부(41)와 출력측 버퍼 절환부(43)로부터 제어를 받는다.
<비디오 재생부>
도 4는, 상기 비디오 재생부(20)의 상세한 구성을 도시하는 기능 블록도이다.
도 4에 도시하는 바와 같이, 비디오 재생부(20)는, 메모리(21), 동기 제어부(22), 클럭(23), 디코더(24), 인터페이스부(25)로 구성된다.
디코더(24)(디코드 수단)는, 클럭 신호에 따라서 비디오 데이터를 재생 출력을 위한 비압축 비디오 데이터로 변환한다. 구체적으로는, 디코더(24)는, 디스크 판독부(50)가 인터페이스부(25)로부터 보내지는 명령에 의해 지정되고, 광 디스크(2)로부터 판독한 비디오 데이터를, 디코드하여, 비압축 비디오 데이터(비디오 화상)를 출력한다.
클럭(클럭 생성 수단)(23)은, 디코드 및 비압축 비디오 데이터의 출력의 타이밍을 담당한다. 즉, 클럭(23)은, 클럭 신호를 생성한다. 또한, 본 실시예에서는, 광 디스크(2)에 기록되어 있는 비디오 데이터의 포맷은, ISO/IEC 13818-1의 Program Stream인 것으로 한다. 이 경우, 클럭(23)의 값은 그 STC(System Time Clock)에 상당한다.
또한, 메모리(21)는, 디스크 판독부(50)로부터 입력된 동기 타이밍 정보를 저장한다.
그리고, 동기 제어부(동기 제어 수단)(22)는, 메모리(21) 상의 동기 타이밍 정보와 클럭(23)의 값을 항상 비교하여, 이들이 일치한 경우, 동기 타이밍 정보에 의해 지정된 처리 블록(프로그램 실행부(10) 혹은 출력 제어부(40))에 대하여, 지정된 제어를 행한다. 구체적으로는, 동기 제어부(22)는, 클럭 신호에 따라서 동기 타이밍 정보에 포함되는 필드 timing(타이밍 지정 정보)에 의해 지정된 타이밍에서 프로그램 실행부(10)(프로그램 실행 수단, 출력 생성 수단)에 동기 제어 신호를 송신한다. 또한, 동기 제어부(22)는, 필드 timing에 의해 지정된 타이밍에서 프로그램 실행부(10)에 동기 제어 신호를 송신할 때, 해당 필드 timing에 대응하는 필드 action_id를 동기 제어 신호에 포함시킨다. 또한, 본 실시예에서는, 동기 제어부(22)에 의한 디코더(24)의 상태의 감시는 필수는 아니다.
동기 타이밍 정보에 의해 지정된 처리 블록이 프로그램 실행부(10)인 경우, 동기 제어부(22)는, 인터럽트 제어부(14)에 대하여 인터럽트가 걸려, 인터럽트 제어부(14) 내의 레지스터에 대하여 정보를 세트한다.
이에 의해, 프로그램 실행에 부담을 주지 않고, 비디오 재생 시간축 상의 임의 타이밍에서의 처리의 기동이 가능하게 된다. 왜냐하면, 하드웨어에 의한 인터럽트 기구를 이용하고 있기 때문에, 종래 기술과 같이 프로그램 내에서 비디오 재생부(20)의 클럭을 참조하기 위한 폴링 처리를 행할 필요가 없어, 폴링 처리에 의한 오버헤드가 없어지기 때문이다.
한편, 동기 타이밍 정보에 의해 지정된 처리 블록이 출력 제어부(40)인 경우, 출력측 버퍼 절환부(43)에 대하여 명령을 내고, 표시 버퍼 메모리(42A·42B)의 전환을 행한다. 이에 의해, 프로그램에 의한 영상 출력을 프레임 정밀도로 절환하는 것이 가능하게 된다. 왜냐하면, 표시 버퍼 메모리(42A·42B)는, 하드웨어에 의한 절환을 행하기 때문에, 종래 기술과 같이 프로그램으로 표시의 ON/OFF를 제어하는 것에 비해서, 함수 호출이나 가비지 컬렉션과 같은 프로그램 실행에 수반하는 오버헤드가 발생하지 않기 때문이다.
또한, 비디오 재생부(20)에서는, 인터페이스부(25)에 의해, 프로그램 실행부(10)의 비디오 재생 제어부(13)로부터 보내지는 제어 신호를 수신하고, 그 제어 신호에 따라서 디코더(24)를 제어하거나, 현재의 상태를 비디오 재생 제어부(13)에 보낸다.
<동기 타이밍 정보>
여기서, 도 5, 도 6을 참조하면서, 광 디스크(2)에 기록되어 있는 데이터의 데이터 구조에 대하여 설명한다.
광 디스크(2)에는, 비디오 디스크 플레이어(1)에 공급 가능하도록, 비디오 데이터, 프로그램, 동기 타이밍 정보가 기록되어 있다.
도 5a, 도 5b는, 동기 타이밍 정보의 데이터 구조를 도시하는 설명도이다. 도 5a에 도시하는 바와 같이, 동기 타이밍 정보는, 엔트리 수를 나타내는 number_of_sync_info와 엔트리인 0개 이상의 sync_info()로 구성된다. 도 5b에 도시하는 바와 같이, 엔트리 sync_info()는, timing, target, action_id의 3개의 필드로 구성된다. 즉, 동기 타이밍 정보는, 필드 timing(타이밍 지정 정보)와 함께 필드 action_id(액션 지정 정보)를 적어도 포함한다.
필드 timing은, 프로그램 실행부(10) 혹은 출력 제어부(40)에 대하여 명령을 부여하는 타이밍을 나타낸다. 필드 timing은, 동기 제어부(22)에서, 클럭(23)과의 비교에 이용된다.
필드 target은, 명령을 부여하는 대상을 나타낸다. 필드 target에서는, 프로그램 실행부(10) 및 출력 제어부(40) 중 어느 하나가 지정된다.
필드 action_id는, 명령 내용을 나타낸다. 또한, 필드 action_id의 상세에 대해서는 후술한다.
이와 같이, 동기 타이밍 정보에서 명령을 부여하는 대상을 나타내는 필드 target을 설치함으로써, 복수의 처리 블록에 명령을 부여하는 경우에도 대응이 가능하다. 또한, 명령 내용을 나타내는 필드 action_id를 설치함으로써, 동일 처리 블록에 대하여 복수의 명령을 절환하여 내는 것이 가능하다.
<데이터 배치와 파일 구성>
도 6은, 광 디스크(2)에서의 데이터 배치를 도시하는 설명도이다.
도 6에 도시하는 바와 같이, 광 디스크(2)는, 관리 정보 영역(61)과 비디오 데이터 영역(콘텐츠 데이터 저장 영역)(62)으로 구성된다. 관리 정보 영역(61)은, 프로그램이 저장된 프로그램 저장 영역(동기 프로그램 저장 영역)(61A)과, 동기 타이밍 정보가 저장된 동기 타이밍 정보 저장 영역(61B)으로 이루어진다. 또한, 비디오 데이터 영역(62)에는, 비디오 데이터가 저장되어 있다. 또한, 개개의 동기 타이밍 정보, 프로그램, 비디오 데이터는 파일로서 관리된다.
특히, 본 실시예에서는, 동기 타이밍 정보가 비디오 데이터와 분리되어 있다. 또한, 동기 타이밍 정보가 프로그램의 근방에 기록되어 있다. 또한, 동기 타이밍 정보가 프로그램과 동일 파일에 저장되어 있다.
이와 같이, 비디오 데이터와 동기 타이밍 정보를 따로따로 관리함으로써, 1개의 비디오 데이터를 복수의 프로그램에서 공유하는 것이 용이하게 된다. 또한, 동기 타이밍 정보와 프로그램을 다른 파일로서 관리함으로써, 프로그램 작성 후에 비디오 데이터를 편집한 경우에도, 프로그램을 재기입할 필요가 없다.
또한, 비디오 데이터, 프로그램, 동기 타이밍 정보의 비디오 디스크 플레이어(1)로의 공급은, 여러 가지의 형태에 의해서 가능하다. 예를 들면, 비디오 디스크 플레이어(1)는, 비디오 데이터, 프로그램, 동기 타이밍 정보의 전부를 기록한 광 디스크(2)로부터 판독해도 된다. 또한, 비디오 데이터, 프로그램, 동기 타이밍 정보 중 어느 하나를 통신부(통신 수단)(도시 생략)에 의해 네트워크를 경유해서 취득하여, 광 디스크(2)로부터 판독한 다른 데이터와 조합하여 재생해도 된다. 또한, 광 디스크(2)에 기록되어 있는 프로그램(비디오 데이터, 동기 타이밍 정보에 대해서도 마찬가지)의 일부 혹은 전부를, 네트워크를 경유해서 취득한 프로그램으로 치환하여 재생해도 된다.
예를 들면, 도 1에서, 프로그램 및 동기 타이밍 정보의 취득처를 네트워크 경유로 변경하는 것이 고려된다. 이러한 구성을 취함으로써, 광 디스크(2)에 의해서 유저가 제공한 비디오 데이터에 대하여, 광 디스크(2)의 제작자가 네트워크를 통하여 나중에 부가 가치를 부가할 수 있다. 프로그램 및 동기 타이밍 정보는 비디오 데이터에 비하여 데이터량이 훨씬 작기 때문에, 이러한 방식은 나중에 부가 가치를 부가할 때에 시간이나 요금 등의 통신 코스트의 면에서 유리하다.
<재생 처리>
계속해서, 도 7을 참조하면서, 비디오 디스크 플레이어(1)에 의한 재생 처리에 대하여 설명한다.
도 7은, 비디오 디스크 플레이어(1)에 의한 재생 처리의 전체의 흐름을 도시하는 플로우차트이다.
우선, 전원 투입 후, 비디오 디스크 플레이어(1)는, 광 디스크(2)로부터의 파일 시스템 정보(도시 생략) 등의 읽어들임, 및 각 처리부의 초기화를 행한다. 또한, 디스크 판독부(50)는, 판독한 파일 시스템 정보에 기초하여, 광 디스크(2) 상의 자동 기동 프로그램의 위치를 취득한다(S11). 또한, 자동 기동 프로그램에 대해서는 파일명으로 식별할 수 있게 되어 있다.
또한, 자동 기동 프로그램은, 비디오 디스크 플레이어(1)에 광 디스크(2)를 장착했을 때, 혹은 비디오 디스크 플레이어(1)의 전원을 투입했을 때에, 최초로 광 디스크(2)로부터 기동되는 프로그램이다. 자동 기동 프로그램의 내용은, 광 디스크(2)의 제작자의 자유인데, 통상은 광 디스크(2) 중의 복수의 콘텐츠 선택용의 메뉴 표시 프로그램을 이용한다. 자동 기동 프로그램을 저장한 파일의 파일명에는, 미리 특정한 명칭을 부여하도록 결정해 두면, 디스크 판독부(50)는 그 파일명을 의지하여 자동 기동 프로그램의 위치를 취득할 수 있다.
다음으로, 디스크 판독부(50)는, 프로그램의 위치 정보에 기초하여, 프로그램을 판독하여, 프로그램 실행부(10)에 보낸다(S12). 프로그램 실행부(10)는, 수취한 프로그램을 실행한다(S13). 이 때, 디스크 판독부(50)는, 광 디스크(2) 상의 다음에 실행하여야 할 프로그램의 위치를 취득한다(S14).
다음으로, 도 8을 참조하면서, 프로그램 실행부(10)가 프로그램 실행을 행하는 스텝인 스텝 S13에 대하여 설명한다.
우선, 프로그램 실행부(10)는, 비디오 재생부(20)로부터의 인터럽트를 취급하기 위한, 인터럽트 핸들러를 등록한다(S21). 또한, 인터럽트 핸들러에 대해서는 후술한다. 다음으로, 프로그램 실행부(10)는, 비디오 재생부(20)에 대하여, 재생 대상의 비디오 데이터 파일을 지정하고, 재생 개시를 지시한다(S22). 마지막으로, 비디오 재생과의 동기가 필요없는 처리를 실행한다(S23).
여기서, 인터럽트 핸들러의 등록이란, Java(등록상표)에서는, 비디오 재생에 관한 이벤트에 대응하는 오브젝트에의 EventLisner의 등록으로 실현된다.
<프로그램 실행의 예>
계속해서, 도 9 내지 도 11을 참조하면서, 비디오 디스크 플레이어(1)에서의 프로그램 실행의 구체예를 설명한다. 여기서는, 비디오 데이터 재생 중인 시각 T2로부터 T4의 사이에, 정지 화상을 표시하고, 시각 T4로부터 T5의 사이에, 애니메이션을 표시하는 프로그램을 예로서 들 수 있다.
도 9에 도시하는 플로우차트를 이용하여, 본 구체예에서의 인터럽트 핸들러의 설정에 대하여 설명한다.
우선, CPU(12)는, 인터럽트 핸들러 기동 후, 인터럽트 제어부(14) 내의 레이스터를 참조하여, 비디오 재생부(20)에 의해서 세트된 필드 action_id의 값을 취득하여(S31), 판정한다(S32).
스텝 S32에서, 필드 action_id가 "A1"인 경우, CPU(12)는 정지 화상을 생성하여 표시 메모리 버퍼(42A)에 기입하는 처리를 호출한다(S33). 필드 action_id가 "A2"인 경우, CPU(12)는 애니메이션의 생성을 개시하여, 생성한 비트맵 데이터를 메모리 버퍼(42B)에 기입하는 처리를 호출한다(S34). 필드 action_id가 "A3"인 경우, CPU(12)는 애니메이션의 생성을 종료하는 처리를 호출한다(S35).
도 10은, 본 구체예에서 이용하는 동기 타이밍 정보를 나타낸다. 또한, 필드 action_id의 열에서의 "A1", "A2", "A3"은, 도 9에서의 처리에 대응한다. 또한, 도 11에, 본 구체예에서의 타이밍차트를 나타낸다. 횡축은 비디오 데이터 재생의 시간축을 나타낸다.
우선, 시각 T1에 기동한 정지 화상 표시의 처리는, 시각 t1에 표시 버퍼 메모리(42A)에의 기입이 종료되어, 표시 준비가 완료된다. 다음으로, 시각 T2에, 합성부(30)에 보내는 화상을 표시 버퍼 메모리(42A)(#1)의 것으로 절환하여, 정지 화상을 표시한다.
여기에서의 포인트는, 정지 화상의 표시 버퍼 메모리(42A)에의 기입에 필요로 하는 시간 d1(=t1-T1)보다도, T2-T1을 크게 해 두는 것이다. 이에 의해, 지정한 시각 T2에, 정지 화상을 표시하는 것이 가능하게 된다.
마찬가지로, 시각 T3에 기동한 애니메이션 표시 개시의 처리는, 시각 t2에 표시 버퍼 메모리(42B)에 애니메이션의 최초의 비트맵 데이터의 기입이 완료된다. 다음으로, 시각 T4에, 합성부(30)에 보내는 화상을 표시 버퍼 메모리(42B)(#2)의 것으로 절환하여, 애니메이션을 표시한다.
여기에서의 포인트는, 애니메이션의 최초의 비트맵 데이터의 표시 버퍼 메모리(42B)에의 기입에 필요로 하는 시간 d2(=t2-T3)보다도, T4-T3을 크게 해 두는 것이다. 이에 의해, 지정한 시각 T4에, 정지 화상으로부터 애니메이션으로의 영상의 전환이 가능하게 된다.
다음으로, 본 실시예에서의 각종 데이터를 광 디스크(2)로부터 판독하는 타이밍에 대해 설명한다. 비디오 데이터는, 데이터량이 크기 때문에, 디코드 전에 통합하여 광 디스크(2)로부터 판독하는 것은 메모리량 및 판독 시간의 점에서 현실적이지 않다. 그 때문에, 비디오 데이터는, 디코드와 판독을 병행하여 행한다.
한편, 프로그램 및 동기 타이밍 정보는, 데이터량이 작아, 통합하여 메모리(21)나 메모리(11)에 판독하더라도 메모리량 및 판독 시간의 점에서도 문제가 없다. 따라서, 비디오 데이터 읽어들임 중인 디스크 판독부(50)의 픽업(도시 생략)의 이동에 의한 비디오 재생의 도중 끊김이나, 전력 소비의 증대, 소음의 발생을 피하기 위해, 프로그램 및 동기 타이밍 정보는, 비디오 데이터 읽어들임 개시 전에 통합하여 읽어들인다. 본 실시예에서는, 프로그램과 동기 타이밍 정보를 광 디스크(2) 상의 근방에 배치하고 있기 때문에, 판독시의 픽업의 이동 거리가 작게 되어, 재생 개시까지의 대기 시간을 축소함과 함께, 비디오 재생의 도중 끊김의 방지, 전력 소비의 억제, 소음의 억제가 가능하게 된다.
다음으로, 본 구체예에서의 프로그램의 구성에 대하여 설명한다. 본 구체예에서는, 메인 처리인 비디오 재생 처리와, 정지 화상 표시 처리 및 애니메이션 표시 처리라는 2종류의 서브 처리로 구성되어 있다. 이들은, 1개의 프로그램에 통합해도 되고, 1개의 메인 프로그램과 2개의 서브 프로그램으로 해도 된다.
복수의 프로그램으로 구성하는 경우, 각 프로그램을 별개의 파일로 하는 것이 고려된다. 이 경우, 디스크 판독부(50)의 부담을 작게 하기 위해서, 1개의 파일로 통합하는 것이 바람직하다. 그러한 예로서, Java(등록상표) 언어에서는, 그 용도에 JAR(Java ARchive) 파일이라는 파일 포맷이 정의되어 있다.
이상과 같이, 본 실시예의 비디오 디스크 플레이어(1)는, 프로그램 실행부(10), 비디오 재생부(20), 프로그램 실행부(10)의 출력(비트맵 데이터)과 비디오 재생부(20)의 출력(비압축 비디오 데이터)을 합성하는 합성부(30)를 구비하고, 동기 타이밍 정보에 따라서, 비디오 재생부(20)의 클럭에 기초하여, 프로그램 실행부(10)의 출력을 제어한다. 이에 의해, 프로그램 실행부(10)의 처리에 부담을 주지 않고, 또한 프레임 단위의 정밀도로, 비디오 재생부(20)가 생성하는 출력 즉 비디오 데이터의 지정 타이밍에서의 출력 개시·종료를 실현할 수 있다. 따라서, 컴퓨터 프로그램 실행과 비디오 재생을 동시에 행하는 경우에, 프로그램에 의해서 생성한 그래픽스나 애니메이션 등을 비디오 재생의 시간축 상의 특정한 비디오 프레임으로부터 표시 개시하거나 표시 종료하는 것이 가능하게 된다.
또한, 상기 비디오 디스크 플레이어(1)에서는, 동기 타이밍 정보가, 비디오 재생부(20)로부터의 출력을 생성하기 위한 정보(비디오 데이터)와는 분리되어 있다. 이에 의해, 비디오 재생부(20)로부터의 출력을 생성하기 위한 정보에 대하여, 복수 버전의 동기 타이밍 정보를 적용하는 것이 가능하다.
또한, 상기 비디오 디스크 플레이어(1)에서는, 동기 타이밍 정보에는, 비디오 재생부(20)의 시간축 상의 시각을 포함하고, 제어 대상과 제어 내용 중의 적어도 한쪽을 포함한다. 이에 의해, 복수의 처리 블록에 명령을 부여하는 경우에도 대응할 수 있고, 동일 처리 블록에 대하여 복수의 명령을 절환하는 것이 가능하게 된다.
〔실시예 2〕
본 발명의 다른 실시예에 대하여 도 12 내지 도 17에 기초하여 설명하면, 이하와 같다. 또한, 설명의 편의상, 상기한 실시예 1에서 나타낸 부재와 동일한 기능을 갖는 부재에는, 동일한 부호를 붙이고, 그 설명을 생략한다. 또한, 실시예 1에서 정의한 용어에 대해서는, 특별히 언급하지 않는 한 본 실시예에서도 그 정의에 따라 이용하는 것으로 한다.
본 실시예는, 비디오 데이터의 임의 위치로부터 재생을 개시하는 것을 고려한, 실시예 1의 변형예이다. 따라서, 실시예 1과 공통되는 부분이 많기 때문에, 실시예 1과 상위한 부분에 한정하여 설명한다.
<시스템 구성>
실시예 1과 동일하기 때문에, 설명을 생략한다.
<프로그램 실행부>
실시예 1과 동일하기 때문에, 설명을 생략한다.
<출력 제어부>
실시예 1과 동일하기 때문에, 설명을 생략한다.
<비디오 재생부>
실시예 1과 거의 동일하지만, 본 실시예에서는, 비디오 재생 시에 동기 타이밍 정보 중의 필드 merged_flag(후술)의 값이 "1"로 설정된 엔트리 sync_info()를 무시하는 점이 서로 다르다.
또한, 콘텐츠 데이터의 도중으로부터 재생을 개시할 때, 동기 제어부(22)는, 재생을 개시하는 시각보다도 전의 시각을 나타내는 필드 timing(타이밍 지정 정보)을 포함하는 동기 타이밍 정보에 따라서, 타이밍 지정 정보가 전인 것부터 순서대로 프로그램 실행부(10)에 동기 제어 신호를 송신한다.
또한, 콘텐츠 데이터의 도중으로부터 재생을 개시할 때, 동기 제어부(22)는, 다른 동기 타이밍 정보에 의존하지 않는 것을 나타내는 의존 정보(후술하는 필드 independent_flag)를 포함하는 동기 타이밍 정보 중, 재생을 개시하는 시각에 가장 가까운 과거의 시각을 나타내는 타이밍 지정 정보를 포함하는 동기 타이밍 정보와, 그 동기 타이밍 정보보다도 후의 시각을 나타내는 타이밍 지정 정보를 포함하는 동기 타이밍 정보에 따라서, 타이밍 지정 정보가 전인 것부터 순서대로 프로그램 실행부(10)에 동기 제어 신호를 송신하는 것이다. 또한, 그 때문에, 동기 타이밍 정보는, 필드 timing과 함께, 다른 동기 타이밍 정보와의 의존 관계를 나타내는 의존 정보를 포함한다.
또한, 콘텐츠 데이터의 도중으로부터 재생을 개시할 때, 동기 제어부(22)는, 복수의 동기 실행 프로그램을 실행한 결과와 동일한 결과가 얻어지는 통합 동기 실행 프로그램인 것을 나타내는 통합 동기 실행 프로그램 식별 정보(필드 merged_flag)를 포함하는 동기 타이밍 정보 중, 재생을 개시하는 시각에 가장 가까운 과거의 시각을 나타내는 타이밍 지정 정보를 포함하는 동기 타이밍 정보와, 그 동기 타이밍 정보보다도 후의 시각을 나타내는 타이밍 지정 정보를 포함하는 동기 타이밍 정보에 따라서, 타이밍 지정 정보가 전인 것부터 순서대로 프로그램 실행부(10)에 동기 제어 신호를 송신한다. 또한, 그 때문에, 디스크 판독부(50)는, 복수의 동기 실행 프로그램을 실행한 결과와 동일한 결과가 얻어지는 통합 동기 실행 프로그램을 취득한다. 이 통합 동기 실행 프로그램은, 대응하는 동기 실행 프로그램과 동일한 광 디스크(2)에 기록되어 있는 것이 바람직하다. 또한, 동기 타이밍 정보는, 타이밍 지정 정보와 함께, 실행하여야 할 동기 실행 프로그램을 나타내는 필드 action_id(액션 지정 정보)와, 필드 action_id로 나타내어진 동기 실행 프로그램이 통합 동기 실행 프로그램인지의 여부를 나타내는 통합 동기 실행 프로그램 식별 정보(필드 merged_flag)를 포함한다.
<동기 타이밍 정보>
여기서, 도 12를 참조하면서, 본 실시예에서의 동기 타이밍 정보의 데이터 구조에 대하여 설명한다. 도 12a, 도 12b는, 동기 타이밍 정보의 데이터 구조를 도시하는 설명도이다.
도 12a에 도시하는 바와 같이, 동기 타이밍 정보는, 엔트리수를 나타내는 number_of_sync_info와 엔트리인 0개 이상의 sync_info()로 구성된다. 도 12b에 도시하는 바와 같이, 엔트리 sync_info()는, timing, target, action_id, independent_flag, merged_flag의 5개의 필드로 구성된다. 이 중, 필드 timing(타이밍 지정 정보), 필드 target, 필드 action_id(액션 지정 정보)에 대해서는, 실시예 1과 동일하기 때문에, 설명을 생략한다. 또한, 동기 타이밍 중의 각 sync_info()는 필드 timing의 값의 순으로 배열되어 있는 것이 바람직하다.
필드 independent_flag는, 이 플래그가 포함되는 sync_info()의 처리 및 처리 결과가, 직전까지의 모든 sync_info()의 필드 action_id에 대응하는 처리의 결과에 의존하는지의 여부를 나타내는 플래그이며, 의존하는 경우에는 "0"이, 의존하지 않는 경우에는 "1"이 세트된다.
여기서, 도 13a~도 13d는, 필드 independent_flag의 설정예를 도시하는 설명도이다.
예를 들면, 1번째의 sync_info()인 sync_info(1)의 action_id에 대응하는 처리가 그래픽스 A를 묘화하고, 2번째의 sync_info()인 sync_info(2)의 action_id에 대응하는 처리가 그래픽스 B를 추가로 묘화하는 경우(도 13a), sync_info(2)의 action_id에 대응하는 처리의 결과는 sync_info(1)의 action_id에 대응하는 처리 결과에 의존하기 때문에, sync_info(2)의 independent_flag에 "0"을 세트한다(도 13b).
한편, sync_info(2)의 action_id에 대응하는 처리가 일단 그래픽스 A를 소거하고, 새롭게 그래픽스 B를 묘화하는 경우(도 13c), sync_info(2)의 action_id에 대응하는 처리 결과는, sync_info(1)의 action_id에 대응하는 처리 결과에 의존하지 않기 때문에, sync_info(2)의 independent_flag에 "1"을 세트한다(도 13d). 또한, 이후 i번째의 sync_info()를 sync_info(i)로 표현한다.
다음으로, 필드 merged_flag는, 이 플래그가 포함되는 sync_info()의 처리 결과가, 직전까지의 모든 sync_info()의 처리 결과를 전부 반영한 것인지의 여부를 나타내는 플래그로서, 전부 반영한 것이면 "1"이, 그렇지 않으면 "0"이 세트된다.
여기서, 도 14a, 도 14b는, 필드 merged_flag의 설정예를 도시하는 설명도이다.
예를 들면, 도 14a에 도시하는 바와 같이, sync_info(1)의 action_id에 대응하는 처리가 그래픽스 A를 묘화하고, sync_info(2)의 action_id에 대응하는 처리가 그래픽스 B를 추가로 묘화하는 것으로 가정한다. 이 때, sync_info(3)의 action_id에 대응하는 처리의 결과가, sync_info(1) 및 sync_info(2)의 각 action_id에 대응하는 처리 결과와 동일한, 즉, 그래픽스 A 및 그래픽스 B를 동시에 묘화하는 경우, merged_flag에 "1"을 세트한다(도 14b). 또한, 여기서 sync_info(3)의 action_id에 대응하는 처리를 통합 동기 실행 프로그램이라고 부른다.
이들 필드 dependent_flag 및 필드 merged_flag는, 나중에 설명하는 바와 같이 비디오 데이터의 도중으로부터 재생을 개시한 경우의 그래픽스 중첩 표시 처리를 경감하기 위해 이용한다.
<데이터 배치와 파일 구성>
실시예 1과 동일하기 때문에, 설명을 생략한다.
<재생 처리>
본 실시예와 실시예 1과의 차이는, 프로그램 실행 처리에 있다. 그 때문에, 도 15를 참조하면서, 프로그램 실행 처리에 한정하여 설명한다. 또한 여기에서는, 비디오 데이터의 재생 시간축 상의 시각 T로부터 재생 개시하는 것을 전제로 설명한다. 도 15는, 비디오 디스크 플레이어(1)(도 1)의 프로그램 실행부(10)에 의한 프로그램 실행 처리를 도시하는 플로우차트이다.
우선, 프로그램 실행부(10)는, 비디오 재생부(20)로부터의 인터럽트를 취급하기 위한, 인터럽트 핸들러를 등록한다(S41). 다음으로, 프로그램 실행부(10)는, 비디오 재생부(20)에 대하여 인터럽트 재현 명령을 발행하여 인터럽트 재생이 완료할 때까지 대기하고(S42), 재생 대상의 비디오 데이터 파일을 지정하여, 재생 개시를 지시한다(S43). 마지막으로, 프로그램 실행부(10)는, 비디오 재생과의 동기가 필요없는 처리를 실행한다(S44).
다음으로, 도 16을 참조하면서, 인터럽트 재현 처리에 대하여 설명한다. 도 16은, 비디오 재생부(20)에 의한 인터럽트 재현 처리를 도시하는 플로우차트이다.
비디오 재생부(20)는, 우선, 재생 개시 시각 T 이하에서 최대의 timing값을 갖는 엔트리 p를 동기 타이밍 정보로부터 검색한다(S51). 다음으로, 엔트리 번호 i를 1씩 디크리먼트하면서, independent_flag의 값이 "1"(직전까지의 모든 sync_info()의 필드 action_id에 대응하는 처리의 결과에 의존함) 혹은 merged_flag의 값이 "1"(직전까지의 모든 sync_info()의 처리 결과를 모두 반영한 것)인 엔트리를 검색한다(S52~S56). 검색 결과, 조건을 충족시키는 엔트리가 존재하면, 그 엔트리로부터, 엔트리 번호 p까지 인터럽트를 순서대로 기동한다(S57-S59). 조건을 충족시키는 엔트리가 존재하지 않은 경우에도, 엔트리 번호 1로부터 순서대로 엔트리 번호 p까지의 인터럽트를 순서대로 기동한다(S57-S59).
<구체예>
계속해서, 도 17을 참조하면서, 본 실시예에서의 비디오 디스크 플레이어(1)에서의 프로그램 실행의 구체예를 설명한다. 도 17은, 동기 타이밍 정보의 구체예를 도시하는 설명도이다.
우선, 비디오 데이터의 재생 개시 시각 T<T1인 경우, 스텝 S42에서의 인터럽트 재현은 필요 없고, 비디오 재생에 따라서, 엔트리 번호 1로부터 5까지 순서대로 필드 timing이 클럭(23)의 값과 일치하는 타이밍에서 비디오 재생부(20)는 프로그램 실행부(10)에 대하여 인터럽트를 발생시킨다. 단, 엔트리 번호 3의 엔트리는 merged_flag의 값이 "1"로 되어 있기 때문에, 인터럽트를 발생시키지 않는다.
다음으로, 비디오 데이터의 재생 개시 시각 T가 T1≤T<T2인 경우: 필드 timing의 값이 T1 이하인 엔트리인 sync_info(1)의 필드 independent_flag가 "1", sync_info(2)의 필드 independent_flag 및 필드 merged_flag가 "0"이기 때문에, 인터럽트 재현 처리에서 sync_info(1), sync_info(2)에 대응하는 인터럽트를 순서대로 발생시킨다.
다음으로, 비디오 데이터의 재생 개시 시각 T가 T2≤T<T3인 경우: sync_info(3)의 merged_flag의 값이 1이기 때문에, 인터럽트 재현 처리에서 sync_info(3)에 대응하는 인터럽트를 발생시킨다. sync_info(3)는 sync_info(2)에서의 이동 처리를 행할 필요가 없기 때문에, sync_info(1) 및 sync_info(2)를 순서대로 실행하는 것보다 처리량이 적게 된다. 즉, 시각 T로부터 재생 개시할 때에 실제로 재생 개시 가능하게 될 때까지의 시간이 단축되게 된다.
다음으로, 비디오 데이터의 재생 개시 시각 T가 T3≤T<T4인 경우: sync_info(4)의 independent_flag의 값이 1이기 때문에, 인터럽트 재현 처리에서, sync_info(1) 및 sync_info(2)에 대응하는 인터럽트를 발생시킬 필요가 없고 sync_info(4)에 대응하는 인터럽트만을 발생시키면 된다.
다음으로, 비디오 데이터의 재생 개시 시각 T가 T4≤T인 경우: 인터럽트 재현 처리에서, sync_info(4) 및 sync_info(5)에 대응하는 인터럽트를 발생시키면 된다.
이상 설명한 바와 같이, 동기 타이밍 정보를 설정함으로써, 비디오 데이터의 임의의 시각에 대응하는 그래픽스를 생성할 때에, 그 시각까지의 비디오용 클럭의 변화를 재현해 줄 필요가 없어, 재생 개시까지의 시간이 단축된다. 또한, independent_flag를 설정함으로써, 그래픽스의 표시에 걸리는 시간을 더 단축할 수 있다. 또한, 개개의 처리의 결과를 통합한 처리를 준비함으로써, 그래픽스의 표시에 걸리는 시간을 더 단축할 수 있다.
상기한 바와 같이, 본 발명의 재생 장치는, 동기 제어 수단이, 콘텐츠 데이터의 특정 시각으로부터 재생 개시하기 전에, 특정 시각보다 과거를 가리키는 타이밍 지정 정보를 갖는 타이밍 정보에 따라, 타이밍 지정 정보가 빠른 순으로 동기 제어 신호를 송신하도록 구성되어 있어도 된다.
이에 의해, 콘텐츠 데이터의 임의 시각으로부터 재생할 때에, 그 시각까지의 비디오용 클럭의 변화를 재현해 줄 필요가 없어, 재생 개시까지의 시간을 단축하는 것이 가능하게 된다.
또한, 본 발명의 재생 장치는, 타이밍 정보는 복수 존재하여 타이밍 정보 집합을 구성하며, 타이밍 정보는 타이밍 정보 집합 중의 다른 타이밍 정보와의 의존 관계를 나타내는 의존 정보를 포함하고, 동기 제어 수단은 콘텐츠 데이터의 특정 시각으로부터 재생 개시하기 전에, 의존 정보를 체크하여, 다른 타이밍 정보에 의존하지 않고, 특정 시각보다 과거를 가리키고 또한 가장 미래를 가리키는 타이밍 지정 정보를 갖는 타이밍 정보에 따라, 타이밍 지정 정보가 빠른 순으로 동기 제어 신호를 송신하도록 구성되어 있더라도 된다.
이에 의해, 불필요한 처리를 실행할 필요가 없어져, 그래픽스를 표시하고 재생 개시까지의 시간을 단축하는 것이 가능하게 된다.
또한, 본 발명에 따른 재생 장치는, 동기 실행 프로그램은 복수 존재하여 동기 실행 프로그램 집합을 구성하며, 동기 실행 프로그램 집합은, 동기 실행 프로그램 집합 중의 다른 복수의 동기 실행 프로그램 처리 결과와 동일한 결과가 얻어지는 동기 실행 프로그램(통합 동기 실행 프로그램)을 포함하고, 액션 지정 정보에 의해 지정되는 동기 실행 프로그램이 통합 동기 실행 프로그램인지의 여부를 식별하는 통합 동기 실행 프로그램 식별 정보를 포함하고, 동기 제어 수단은 콘텐츠 데이터의 특정 시각으로부터 재생 개시하기 전에, 통합 동기 실행 프로그램 식별 정보를 체크하고, 통합 동기 실행 프로그램을 참조하여, 특정 시각보다 과거를 가리키고 또한 가장 미래를 가리키는 타이밍 지정 정보를 갖는 타이밍 정보에 따라, 타이밍 지정 정보가 빠른 순으로 동기 제어 신호를 송신하도록 구성되어 있어도 된다.
이에 의해, 불필요한 처리를 실행할 필요가 없어져, 그래픽스를 표시하고 재생 개시까지의 시간을 단축하는 것이 가능하게 된다.
〔실시예 3〕
본 발명의 또 다른 실시예에 대하여 도 18에 기초하여 설명하면, 이하와 같다. 또한, 설명의 편의상, 상기한 실시예 1, 2에서 나타낸 부재와 동일한 기능을 갖는 부재에는, 동일한 부호를 붙이고, 그 설명을 생략한다. 또한, 실시예 1, 2에서 정의한 용어에 대해서는, 특별히 언급하지 않는 한 본 실시예에서도 그 정의에 따라 이용하는 것으로 한다.
본 실시예는, 고속 재생 등의 소위 특수 재생을 고려한, 실시예 1의 변형예이다. 따라서, 실시예 1과 공통되는 부분이 많기 때문에, 실시예 1과 상위한 부분에 한정하여 설명한다.
<시스템 구성>
실시예 1과 동일하기 때문에, 설명을 생략한다.
<프로그램 실행부>
실시예 1과 동일하기 때문에, 설명을 생략한다.
<출력 제어부>
실시예 1과 동일하기 때문에, 설명을 생략한다.
<비디오 재생부>
실시예 1과 거의 동일하지만, 본 실시예에서는, 도 4에 도시하는 바와 같이, 동기 제어부(22)는, 디코더(24)의 상태를 감시함과 함께, 디코더(24)의 상태와 실행 조건 정보(후술하는 필드 condition())에 기초하여 동기 제어 신호를 송신하는 점이 서로 다르다. 또한, 그 때문에, 동기 타이밍 정보는, 동기 실행 프로그램이 실행되어야 할 때의 디코더(24)의 상태를 나타내는 실행 조건 정보를 포함한다.
즉, 동기 제어부(22)는, 디코더(24)의 재생 상태(예: 통상 재생 중·고속 재생 중·역 재생 중·슬로우 재생 중)를 항상 감시하고 있어, 재생 상태에 따라서 동기 타이밍 정보 중의 각 엔트리에 대한 인터럽트를 발생시킬지의 여부를 절환한다. 구체적으로는, 각 엔트리의 후술하는 필드 normal, FF, FR, SF, SR을 보고, 예를 들면, 필드 normal이 "1"이면 통상 재생 중에 인터럽트를 발생시키고, 필드 FF가 "1"이면 고속 재생 중에 인터럽트를 발생시킨다.
<동기 타이밍 정보>
여기서, 도 18을 참조하면서, 본 실시예의 동기 타이밍 정보의 데이터 구조에 대하여 설명한다. 도 18a, 도 18b는, 동기 타이밍 정보의 데이터 구조를 도시하는 설명도이다.
도 18a에 도시하는 바와 같이, 엔트리 sync_info()는, timing, target, action_id, condition()의 4개의 필드로 구성된다. 이 중, 필드 timing, 필드 target, 필드 action_id에 대해서는 실시예 1과 동일하기 때문에, 설명을 생략한다. 또한, 동기 타이밍 중의 각 sync_info()는 필드 timing의 값의 순으로 배열되어 있는 것이 바람직하다.
도 18b에 도시하는 바와 같이, 필드 condition()(실행 조건 정보)은, 서브 필드 normal, FF, FR, SF, SR로 구성된다. 서브 필드 normal은, 그 서브 필드를 포함하는 sync_info()에 관한 인터럽트를 통상 재생 시에 발생시킬지의 여부를 나타낸다. 구체적으로는, "1"인 경우에 인터럽트를 발생시키고, "2"인 경우에 인터럽트를 발생시키지 않는다. 마찬가지로, 서브 필드 FF, FR은, 각각 순방향 고속 재생과 역방향 고속 재생인 경우의 인터럽트의 유무를 나타낸다. 또한, 서브 필드 SF, SR은, 각각 순방향 슬로우 재생과 역방향 슬로우 재생인 경우의 인터럽트의 유무를 나타낸다.
이와 같이, 재생 상태에 따라서 인터럽트 처리를 선택할 수 있도록 함으로써, 재생 상태에 따른 처리가 가능하게 된다. 예를 들면, 빨리 감기인 경우에만 특별한 그래픽스를 표시하거나 함으로써, 유저는 콘텐츠를 반복하여 즐길 수 있게 되어, 콘텐츠의 부가가치를 향상시킬 수 있게 된다.
상기한 바와 같이, 본 발명의 재생 장치는, 타이밍 정보는 동기 실행 프로그램이 실행되어야 할 디코드 수단의 상태를 나타내는 실행 조건 정보를 포함하고, 동기 제어 수단은 디코드 수단의 상태를 감시하여, 디코드 수단의 상태와 상기 실행 조건 정보에 따라서 동기 제어 신호를 송신하도록 구성되어 있어도 된다.
이에 의해, 재생 상태에 따라서 인터럽트 처리를 선택할 수 있어, 재생 상태에 따른 처리가 가능하게 된다. 예를 들면, 빨리 감기인 경우에만 특별한 그래픽스를 표시하거나 함으로써, 유저는 콘텐츠를 반복하여 즐길 수 있게 되어, 콘텐츠의 부가가치를 향상시킬 수 있게 된다.
〔실시예 4〕
본 발명의 또 다른 실시예에 대하여 도 19 내지 도 27에 기초하여 설명하면, 이하와 같다. 또한, 설명의 편의상, 상기한 실시예 1, 2, 3에서 나타낸 부재와 동일한 기능을 갖는 부재에는, 동일한 부호를 붙이고, 그 설명을 생략한다. 또한, 실시예 1, 2, 3에서 정의한 용어에 대해서는, 특별히 언급하지 않는 한 본 실시예에서도 그 정의에 따라 이용하는 것으로 한다.
<시스템 구성>
도 19는, 본 실시예에 따른 비디오 디스크 플레이어(1')의 구성의 개략적인 것을 도시하는 기능 블록도이다.
비디오 디스크 플레이어(1')(재생 장치)는, 광 디스크(2)에 기록되어 있는 AV 데이터를 재생하는 장치이다. 도 19에 도시하는 바와 같이, 비디오 디스크 플레이어(1')는, 유저 입력부(3), 비디오 재생부(20), 합성부(30), 디스크 판독부(50), 프로그램 실행부(70), 전체 제어부(전체 제어 수단, 제시 수단)(80), 절환부(절환 수단)(90)를 구비하여 구성되어 있다.
디스크 판독부(50)는, 광 디스크(2)(콘텐츠 기록 매체)로부터 비디오 데이터(콘텐츠 데이터), 프로그램(동기 실행 프로그램), 동기 타이밍 정보, 프로그램 관리 정보를 판독한다. 그리고, 디스크 판독부(50)는, 프로그램을 프로그램 실행부(70)에, 비디오 데이터 및 후술하는 동기 타이밍 정보를 비디오 재생부(20)에, 프로그램 관리 정보를 전체 제어부(80)에 각각 보낸다.
유저 입력부(3)는, 비디오 디스크 플레이어(1')를 유저가 조작하기 위한 것으로, 리모트 컨트롤러나 기기의 프런트 패널의 버튼이 상당한다. 유저 입력부(3)로부터는, 유저의 조작에 따라서, 조작 정보(유저 입력 조작 정보, 재생 제어 정보)를 생성하여, 그것을 전체 제어부(80)에 보낸다. 유저 조작에는, 재생 제어 조작(재생 개시나 일시 정지 등), 메뉴 조작(메뉴 호출이나 메뉴로부터 콘텐츠로의 복귀), GUI의 조작(커서의 상하 좌우 이동이나 결정 등)이 있다.
전체 제어부(80)는, 비디오 디스크 플레이어(1')의 전체적 제어를 담당한다. 구체적으로는, 디스크 판독부(50)에 의해서 판독된 프로그램 관리 정보에 기초하여 프로그램 실행부(70), 절환부(90)를 제어한다. 또한, 유저 입력부(3)로부터 입력된 유저 입력을, 프로그램 관리 정보에 기초하여 프로그램 실행부(70) 및 절환부(90)에 전송한다.
프로그램 실행부(70)는, 프로그램을 실행한다. 구체적으로는, 프로그램 실행부(70)는, 프로그램을 실행함으로써, 디스크 판독부(50), 절환부(90)를 경유하여 비디오 재생부(20)에 대하여 제어를 행함과 함께, 합성부(30)에 대하여, 프로그램 실행에 의해서 생성한 비트맵 데이터를 보낸다. 또한, 본 실시예에서는, 프로그램 실행부(70)가 실행하는 프로그램은, 출력 데이터를 생성하는 것에 한정되지 않는다.
절환부(90)는, 비디오 재생부(20)에 보내는 재생 제어 정보의 송신원을 절환한다. 구체적으로는, 절환부(90)는, 전체 제어부(80)로부터의 제어(재생 제어 절환 정보)에 기초하여, 전체 제어부(80)로부터 보내지는 재생 제어 정보와 프로그램 실행부(70)로부터 보내지는 재생 제어 정보를 절환하여 비디오 재생부(20)에 보낸다.
비디오 재생부(20)는, 디스크 판독부(50)로부터 보내지는 비디오 데이터를 디코드하고, 비압축 비디오 데이터를 합성부(30)에 대하여 보낸다. 또한, 디스크 판독부(50)로부터 보내지는 동기 타이밍 정보에 기초하여, 프로그램 실행부(70)에 대한 제어를 행한다.
합성부(30)는, 프로그램 실행부(70)로부터 보내지는 비트맵 데이터 및 비디오 재생부(20)로부터 보내지는 비압축 비디오 데이터를 합성하여, 합성 영상을 출력한다.
또한, 본 실시예에 있어서, 상기한 실시예에서의 출력 제어부(40)가 포함되어 있지 않은 것은 설명을 간략화하기 위해서이며, 본 실시예의 비디오 디스크 플레이어(1')에 출력 제어부(40)를 포함시키는 것은 용이하다.
<프로그램 실행부>
도 20은, 상기 프로그램 실행부(70)의 상세한 구성을 도시하는 기능 블록도이다.
상기한 바와 같이, 프로그램 실행부(70)는, 동기 제어부(22)로부터 수신한 동기 제어 신호에 따라서 프로그램을 실행한다. 또한, 프로그램 실행부(70)는, 동기 제어부(22)로부터 수신한 동기 제어 신호에 포함되는 필드 action_id에 의해 지정된 프로그램을 실행한다. 특히, 본 실시예에서는, 프로그램 실행부(70)는, 비디오 화상에 중첩되는 화상 데이터를 생성하는 프로그램을 실행한다.
도 20에 도시하는 바와 같이, 프로그램 실행부(70)는, 메모리(11), CPU(12), 비디오 재생 제어부(13), 인터럽트 제어부(14), 유저 입력 제어부(15), 인터페이스(16), 디스크 판독 제어부(17)로 구성된다.
메모리(11)는, 디스크 판독부(50)로부터 입력된 프로그램을 일단 저장한다. CPU(12)는, 메모리(11)에 저장된 프로그램을 판독하여, 그 프로그램을 실행한다. CPU(12)는, 프로그램의 내용에 따라서, 비디오 재생 제어부(13)에 대하여 명령을 보내거나, 합성부(30)에 대하여 비트맵 데이터를 보낸다.
비디오 재생 제어부(13)는, 실행된 프로그램에 기초하여 비디오 재생부(20)에 대하여 제어 신호를 보낸다. 제어 신호로서는, 구체적으로는, 재생 개시·일시 정지와 같은 재생 제어나, 현재의 재생 시각 취득 등의 상태 취득을 목적으로 하는 것이 있다. 인터럽트 제어부(14)는, 프로그램 실행부(70) 밖으로부터의 인터럽트를 수취하여, 그것을 CPU(12)에 보낸다. CPU(12)는, 인터럽트 제어부(14)로부터 받은 인터럽트에 따라서 인터럽트 핸들러를 기동시킨다. 또한, 인터럽트원에 의해서 공급되는 각종 정보는, 인터럽트 제어부(14) 내의 레지스터(도시 생략)에 저장된다.
유저 입력 제어부(15)는, 전체 제어부(80)로부터 전송되는 유저 입력 정보를 인터럽트로서 수취하여, 그것을 CPU(12)에 보낸다. CPU(12)는, 유저 입력 제어부(15)로부터 받은 인터럽트에 따라서 인터럽트 핸들러를 기동시킨다. 또한, 인터럽트 시에 공급되는 각종 정보는, 유저 입력 제어부(15) 내의 레지스터(도시 생략)에 저장된다.
인터페이스(16)는, 전체 제어부(80)와 프로그램 실행부(70)와의 사이의 인터페이스이다. 전체 제어부(80)는, 인터페이스(16)를 통하여 프로그램 실행부(70)에 대하여, 프로그램 판독 및 프로그램 실행을 지시한다. 한편, 프로그램 실행부(70)는 프로그램의 실행이 종료했을 때, 전체 실행부(80)에 대하여, 종료된 것을 통지한다.
디스크 판독 제어부(17)는, CPU(12)로부터의 명령에 기초하여, 디스크 판독부(50)의 제어를 행한다.
<전체 제어부>
도 21은, 상기 전체 제어부(80)의 상세한 구성을 도시하는 기능 블록도이다.
전체 제어부(80)는, 상기한 바와 같이, 디스크 판독부(50)에 의해서 판독된 프로그램 관리 정보에 기초하여 비디오 디스크 플레이어(1')의 전체적 제어를 담당한다.
도 21에 도시하는 바와 같이, 전체 제어부(80)는, 메모리(81), 유저 입력 제어부(82), CPU(83), 디스크 판독 제어부(84), 절환 제어부(85), 비디오 재생 제어부(86), 프로그램 실행 제어부(87)로 구성된다.
메모리(81)는, 디스크 판독부(50)로부터 입력된 프로그램 관리 정보를 일단 저장한다. CPU(83)는, 메모리(81)에 저장된 프로그램 관리 정보를 판독하여, 그 정보에 기초하여, 유저 입력 제어부(82), 디스크 판독 제어부(84), 절환 제어부(85), 비디오 재생 제어부(86), 프로그램 실행 제어부(87)에 대하여 명령을 보낸다.
유저 입력 제어부(82)는, 유저 입력부(3)로부터 보내지는 유저 입력을, 프로그램 실행부(70)에 대하여 전송함과 동시에 CPU(83)에 보낸다. CPU(83)에서는, 프로그램 관리 정보에 기초하여 유저 입력을 해석하여, 프로그램 실행 제어부(87)나 비디오 재생 제어부(86)의 제어를 행한다.
디스크 판독 제어부(84)는, CPU(83)로부터의 명령에 따라서, 디스크 판독부(50)의 제어를 행한다.
절환 제어부(85)는, CPU(83)로부터의 명령에 따라서 절환부(90)의 제어를 행한다.
비디오 재생 제어부(86)는, CPU(83)로부터의 명령에 따라서, 비디오 재생부(20)에 대하여 제어 신호를 보낸다. 제어 신호로서는, 재생 대상의 비디오 데이터의 지정, 판독 개시, 디코드 개시, 디코드 종료, 전후 챕터로의 이동, 고속 재생 개시 등이 있다.
프로그램 실행 제어부(87)는, CPU(83)로부터의 명령에 따라서 프로그램 실행부(70)에 대하여 제어 정보를 보낸다.
<비디오 재생부>
실시예 1과 거의 동일하지만, 본 실시예에서는, 출력 제어부(40)를 구비하지 않기 때문에, 도 4의 동기 제어부(22)로부터 나오고 있는 출력측 버퍼 절환부(43)에의 제어를 행하지 않는 점이 서로 다르다.
<프로그램 관리 정보>
여기서, 도 22a, 도 22b를 참조하면서, 광 디스크(2)에 기록되어 있는 프로그램 관리 정보의 데이터 구조에 대하여 설명한다.
프로그램 관리 정보는, 전체 제어부(80)가 프로그램의 실행을 제어하기 위해 필요하게 되는 각종 정보를 통합한 것으로, 프로그램 1개에 대해 1개 준비한다.
광 디스크(2) 내의 전체 프로그램 관리 정보는, 도 22a에 도시하는 프로그램 관리 테이블에 저장한다. number_of_pmi는 프로그램 관리 테이블 내에 저장하고 있는 프로그램 관리 정보의 수를 나타낸다. 또한, 프로그램 관리 테이블 중의 최초의 엔트리는, 광 디스크(2)를 삽입했을 때에 자동적으로 실행되는 프로그램을 의미한다.
도 22b는, 프로그램 관리 정보의 데이터 구조를 도시하는 설명도이다. 도 22b에 도시하는 바와 같이, 프로그램 관리 정보는, program_file_name, playback_control_mode, is_video_specified, video_file_name, start_mode, resume_flag, menu_flag로 구성된다.
필드 program_file_name(프로그램 지정 정보)은, 프로그램을 저장한 파일의 파일명을 지정하는 필드이다.
필드 playback_control_mode는, 유저 입력 중 재생 제어 조작을, 전체 제어부(80)로부터 비디오 재생부(20)에 대하여 보낼지의 여부를 나타내는 플래그로서, 보내지 않는 경우에는 "0", 보내는 경우에는 "1"을 설정한다. 후술하는 바와 같이, 이 플래그에 의해서, 유저에 의한 재생 제어 조작에 대한 레스펀스를 중시할 지, 프로그램의 자유도를 우선할 지를 콘텐츠 작성자가 선택할 수 있다.
필드 is_video_specified는, 프로그램과 동시에 재생하는 비디오 데이터를 지정할 지의 여부를 나타내는 플래그로서, 지정하지 않는 경우에는 "0", 지정하는 경우에는 "1"을 설정한다. 이 플래그의 값이 "1"인 경우, 필드 video_file_name 및 필드 start_mode가 후속된다.
필드 video_file_name(콘텐츠 데이터 지정 정보)은, 프로그램과 동시에 재생하는 비디오 데이터 파일의 파일명을 지정하는 필드이다. 상술한 바와 같이 필드 video_specified가 "1"인 경우에만 이 필드는 존재한다. 후술하는 바와 같이, 이 필드를 참조함으로써, 프로그램 실행 전에 비디오 데이터 및 동기 타이밍 정보의 광 디스크(2)로부터의 판독 개시가 가능하게 되어, 비디오 데이터의 재생 개시까지의 시간을 단축할 수 있다.
필드 start_mode(재생 개시 지시 필요 여부 정보)는, 필드 video_file_name에 의해 지정하는 비디오 데이터의 표시 개시를, 필드 program_file_name에 의해 지정하는 프로그램 중에 의한 명령으로 행할 지, 프로그램에 상관없이 행할 지를 나타내는 플래그로서, 전자인 경우에는 "0", 후자인 경우에는 "1"을 지정한다. 상술한 바와 같이 필드 is_video_specified가 "1"인 경우에만 이 필드는 존재한다. 후술하는 바와 같이, 이 필드를 참조함으로써, 비디오 데이터의 재생 개시에 있어서, 프로그램과의 동기를 대기할 필요가 있는지의 여부를 판단 가능하고, 대기할 필요가 없는 경우, 비디오 재생 개시까지의 시간을 더 단축할 수 있다.
필드 menu_flag는, 이 필드가 포함되는 프로그램 관리 정보에 의해 지정되는 프로그램이, 「메뉴 콘텐츠」인지의 여부를 나타내는 플래그이다. 메뉴 콘텐츠란, 유저가 메뉴 호출 조작을 행했을 때에 실행되는 콘텐츠이다. 메뉴 콘텐츠인 경우에는 "1", 그렇지 않은 경우에는 "0"을 지정한다.
필드 resume_flag(리쥼 가부 정보)는, 이 필드가 포함되는 프로그램 관리 정보에 의해 지정되는 프로그램이 리쥼의 대상인지의 여부를 나타내는 플래그이다. "리쥼"이란, 콘텐츠 재생 시에 유저가 메뉴 판독을 행했을 때에 재생을 일시 정지한 콘텐츠를, 유저가 메뉴로부터 복귀 조작했을 때에, 일시 정지한 개소로부터 재생을 재개하는 기능이다. 리쥼의 대상인 콘텐츠인 경우에는 "1", 그렇지 않은 경우에는 "0"을 지정한다. 이러한 플래그가 필요한 이유를 이하에 설명한다. 콘텐츠는, 비디오 재생에 동기하여 프로그램 실행되는 것과, 그렇지 않은 것(예: 게임 프로그램의 일부로서 비디오가 재생된다)으로 나누어진다. 전자는 용이하게 리쥼이 가능하지만, 후자는 리쥼하는 것이 어렵다. 즉, 이 플래그는, 이 양자를 전체 제어부(80)가 용이하게 구별하여, 리쥼 기능이 가능하지 않은 콘텐츠를 리쥼하지 않도록 하거나, 유저에게 콘텐츠를 리쥼할 수 없는 것을 알리는 것을 가능하게 하기 위해 존재한다.
<데이터 배치와 파일 구성>
도 23은, 광 디스크(2)에서의 데이터 배치를 도시하는 설명도이다.
도 23에 도시하는 바와 같이, 광 디스크(2)는, 관리 정보 영역(61)과 비디오 데이터 영역(콘텐츠 데이터 저장 영역)(62)으로 구성된다. 관리 정보 영역(61)은, 프로그램 관리 테이블이 저장된 프로그램 관리 정보 저장 영역(61C)과, 프로그램이 저장된 프로그램 저장 영역(동기 프로그램 저장 영역)(61A)과, 동기 타이밍 정보가 저장된 동기 타이밍 정보 저장 영역(61B)으로 이루어진다. 또한, 비디오 데이터 영역(62)에는, 비디오 데이터가 저장되어 있다. 또한, 개개의 프로그램 관리 테이블, 동기 타이밍 정보, 프로그램, 비디오 데이터는 파일로서 관리된다.
후술하는 바와 같이, 광 디스크(2) 삽입 시에, 모든 프로그램 관리 정보를 최초로 판독하기 위해서, 프로그램 관리 테이블의 형태로 전방의 프로그램 관리 정보 저장 영역(61C)에 통합하여 기록해 둠으로써, 프로그램 관리 정보의 판독에 필요한 씨크 시간 등을 단축하는 것이 가능하다.
<재생 처리>
계속해서, 도 24를 참조하면서, 비디오 디스크 플레이어(1')에 의한 재생 처리에 대하여 설명한다.
도 24는, 전체 제어부(80)에 의한 재생 처리의 전체의 흐름을 도시하는 플로우차트이다.
우선, 전원 투입 후, 광 디스크(2)로부터의 파일 시스템 정보(도시 생략) 등의 읽어들임, 및 각 처리부의 초기화를 행한다(S61).
다음으로, 광 디스크(2) 상의 프로그램 관리 정보 저장 영역(61C)으로부터, 프로그램 관리 테이블을 판독하여, 메모리(81)에 저장하고(S62), 메모리(81)에 저장된 프로그램 관리 테이블 중의 1번째의 프로그램 관리 정보를 「현 프로그램 관리 정보」로서 선택한다.
다음으로, 절환부(90)의 설정을 행한다(S63). 구체적으로는, 현 프로그램 관리 정보 중의 필드 playback_control_mode가 "1"이면, 절환부(90)가 전체 제어부(80)로부터의 재생 제어 정보도 비디오 재생부(20)에 전송하도록 설정하고, "0"이면, 프로그램 실행부(70)로부터의 재생 제어 정보만을 비디오 재생부(20)에 전송하도록 설정한다.
다음으로, 현 프로그램 관리 정보 중의 필드 is_video_specified를 체크하여(S64), "1"이면, 비디오 재생 제어부(13)를 통하여, 비디오 재생부(20)에 대하여 필드 video_file_name에 의해 지정되는 비디오 파일의 판독 및 디코드의 개시 명령을 발행한다(S65). 또한, 표시 준비가 완료되었을 때의 행동에 대해서도 설정한다. 구체적으로는, 필드 start_mode가 "0"인 경우에는, 프로그램으로부터의 지시가 있을 때까지는 표시를 행하지 않고, "1"인 경우에는, 준비가 완료되었을 때에는 프로그램으로부터의 지시에 상관없이 표시를 개시하도록 설정한다.
다음으로, 프로그램 실행 제어부(87)를 통하여, 프로그램 실행부(70)에 대하여, 필드 program_file_name에 의해 지정되는 프로그램 파일의 실행 명령을 발행한다(S66).
다음으로, 프로그램의 실행이 종료되는 것을 대기한다(S67). 프로그램 실행부(70)로부터 프로그램 실행 완료가 통지되면, 메뉴 콘텐츠를 현 프로그램 관리 정보에 설정하고, 스텝 S63으로 점프한다. 또한, 여기에서의 검색은, 메모리(81) 중의 프로그램 관리 테이블 중의 필드 menu_flag가 "1"인 프로그램 관리 정보를 검색함으로써 실현할 수 있다.
<메뉴 호출 처리 및 리쥼 처리>
계속해서, 도 25 및 도 26을 이용하여, 비디오 디스크 플레이어(1')에 의한 메뉴 호출 처리 및 리쥼 처리에 대하여 설명한다.
우선, 도 25를 참조하면서, 메뉴 호출 처리에 대하여 설명한다.
콘텐츠 재생 중에 유저가 메뉴 호출 조작을 행한 경우, 우선, 유저 입력부(3)로부터 전체 제어부(80)에 대하여 메뉴 호출 명령이 보내진다. 전체 제어부(80)는, 재생 중인 콘텐츠에 대응하는 프로그램 관리 정보의 필드 resume_flag를 체크하여(S71), 값이 "0"인 경우, 리쥼을 할 수 없다는 취지의 경고를 유저에게 통지하고(S76), 비디오 재생부(20)에 재생 정지 명령을 발행한다(S77).
한편, 스텝 S71에서 필드 resume_flag의 값이 "1"인 경우, 비디오 재생부(20)에 대하여 정지 명령을 발행한다(S72). 또한, 비디오 재생부(20)의 클럭(23)(도 4)의 현재의 값을 레지스터(리쥼 레지스터; 도시 생략)에 보존하는 명령을 발행한다(S73). 또한, 현 프로그램 관리 정보를 「리쥼 대상 프로그램 관리 정보」에 설정한다(S74).
다음으로, 전체 제어부(80)는 프로그램 실행부(70)에 대하여 정지 명령을 발행한다(S75).
그 후, 전체 제어부(80)는 메뉴 콘텐츠를 현 프로그램 관리 정보에 설정하고, 메뉴 콘텐츠를 도 24의 스텝 S63~S66과 마찬가지의 처리로 실행한다.
계속해서, 도 26를 참조하면서, 리쥼 처리에 대하여 설명한다.
메뉴 콘텐츠 실행 중에 유저가 복귀(리쥼) 조작을 행한 경우, 전체 제어부(80)는, 리쥼 대상 프로그램 관리 정보에 설정되어 있는 프로그램 관리 정보를 현 프로그램 관리 정보로 설정한다(S81). 다음으로, 프로그램 실행부(70)에 대하여, 현 프로그램 관리 정보 중의 필드 program_file_name을 지정하여 프로그램 실행을 지시한다(S82). 다음으로, 비디오 재생부(20)에 대하여, 리쥼 레지스터에 저장된 값을 T로 세트하고, 실시예 2에서의 도 16에서 설명한 인터럽트 재현 처리를 실행하도록 지시한다(S83). 또한, 비디오 재생부(20)에 대하여, 상술한 리쥼 레지스터의 값으로부터 재생을 개시하도록 지시한다(S84). 이에 의해, 리쥼 처리를 실현할 수 있다.
한편, 유저가 복귀 조작을 행하지 않고 메뉴 콘텐츠에서 표시된 메뉴로부터 다른 콘텐츠를 선택한 경우, 전체 제어부(80)는 비디오 재생부(20)에 대하여, 리쥼 레지스터의 값을 파기하도록 명령을 발행함과 함께, 리쥼 대상 프로그램 관리 정보의 설정을 해제한다.
또한, 이상의 처리는, 실시예 2에서 설명한 비디오 데이터를 임의 위치로부터 재생하기 위한 장치 구성 및 데이터 구성을 조합함으로써 가능하게 되어 있다.
<프로그램 관리 정보 및 처리의 구체예>
도 27을 참조하면서 본 실시예에서의 프로그램 관리 정보 및 처리의 구체예를 설명한다.
(예 1) 비디오 중심의 콘텐츠
콘텐츠를 선택하면 비디오가 재생되고, 유저는 그 재생을 제어할 수 있으며, 그 비디오 재생과 동기한 프로그램이 실행된다고 하는 구성을 구비하는 콘텐츠의 프로그램 관리 정보의 설정예를 하기에 나타낸다.
playback_control_mode=1
is_video_specified=1
start_mode=0
이 설정에 대하여 이하에 설명한다. 유저가 재생을 제어할 수 있기 때문에, 재생 제어 조작에 대한 레스펀스를 높이기 위해 playback_control_mode에 "1"을, 또한, 사전에 어떤 비디오 데이터를 재생할 지를 알고 있기 때문에 is_video_specified에 "1"을, 또한, 비디오 재생과 동기하는 프로그램이 있어, 프로그램의 실행이 개시되고 나서 비디오 재생을 개시할 필요가 있기 때문에, start_mode에 "0"을 설정하고 있다.
다음으로, 도 27을 이용하여, 이 때의 처리의 구체예를 설명한다.
우선, 전체 제어부(80)는, 시각 T11로부터 T12의 사이에, 초기화를 행한 후, 비디오 재생부(20)에 대하여 비디오 재생 개시, 프로그램 실행부(70)에 대하여 프로그램 실행 개시를 각각 지시한다. 시각 T12부터 비디오 재생부(20)는 비디오 데이터의 읽어들임 및 디코드를 개시하여, 시각 T13에 비디오 표시 준비가 가능하게 된다.
한편, 프로그램 실행부(70)는, 그리고 병행하여 프로그램을 읽어들여, 프로그램의 실행 준비를 행하고, 또한 프로그램의 실행을 개시한다. 프로그램 실행부(70)는, 프로그램의 실행이 비디오 재생 개시의 개소에 도달한 시각 T14에서, 비디오 재생 개시 명령을 비디오 재생부(20)에 발행한다.
비디오 재생이 비디오 데이터의 말미에 도달했을 때, 비디오 재생부(20)는 프로그램 실행부(70)에 대하여 비디오 재생 종료의 인터럽트를 발생시킨다. 그것을 받아, 프로그램 중의 인터럽트 핸들러는 프로그램의 종료 처리를 행하고, 전체 제어부(80)에 대하여 프로그램 실행 종료를 통지한다.
이와 같이, 본 실시예에서의 구성을 취함으로써, 프로그램 실행부(70)에서의 프로그램 실행 준비와 병행하여 비디오 재생부(20)에서 비디오 데이터 재생 준비를 할 수 있어, 비디오 재생 개시까지의 시간을 종래에 비하여 단축하는 것이 가능하게 된다.
또한, 프로그램의 동기 타이밍이 비디오 재생의 선두 부근에 없는 경우, 비디오 재생에 있어서 프로그램 실행 준비를 대기할 필요가 없기 때문에, start_mode를 "1"로 설정함으로써 시각 T13으로부터 T14의 사이의 대기 시간도 없애어, 비디오 재생의 개시를 더욱 빠르게 하는 것도 가능하다.
또한, 시각 T15에서의 유저 재생 제어 조작 「다음의 챕터로부터 재생」도 전체 제어부(80)로부터, 프로그램 실행부(60)를 통하지 않고 비디오 재생부(20)에 직접 보내진다. 그 때문에, 프로그램 실행에 의한 오버헤드가 적어, 유저 조작에 대한 레스펀스가 향상한다.
(예 2) 프로그램 중심의 콘텐츠
게임과 같이 프로그램이 주이며, 비디오 재생은 어디까지나 콘텐츠의 일부인 콘텐츠의 프로그램 관리 정보의 설정예를 하기에 도시한다.
playback_control_mode=0
is_video_specified=0
이 설정에 대하여 이하에 설명한다. 비디오 재생은 프로그램이 자유롭게 제어하기 위해, playback_control_mode에 "0"을, 또한, 재생하는 비디오 데이터는 프로그램의 상태에 따라 변화하기 때문에, 사전에 어느 비디오 데이터를 재생할 지 모르기 때문에 is_video_specified에 "1"을 설정하고 있다.
이와 같이 설정함으로써, (예 1)의 경우에 비하여, 비디오 재생 개시까지 필요로 하는 시간 등은 걸리지만, 자유도가 높은 프로그램을 작성하는 것이 가능하다.
<변형>
본 실시예에서는, 프로그램 관리 정보 중의 video_file_name은 1개만 지정 가능한 데이터 구조로 되어 있지만, 복수 지정할 수 있도록 해도 된다. 이 때, 지정 순서가 재생순을 나타내는 것으로 하면, 비디오 재생부(20)는, 임의의 비디오 데이터의 재생이 종료됨과 동시에 다음의 비디오 데이터의 판독·디코드·재생을 개시하는 것이 가능하게 되어, 복수의 비디오 데이터를 연속 재생하는 콘텐츠에 있어서 비디오 데이터 간의 이음매의 시간을 단축할 수 있다고 하는 추가의 효과가 얻어진다.
또한, 본 실시예에서는, resume_flag가 "0"인 콘텐츠를 재생 중에 메뉴 호출을 했을 때에, 리쥼을 할 수 없다는 취지의 경고를 내도록 하고 있지만, 메뉴 호출 이외일 때, 예를 들면 리쥼을 하려고 했을 때에 경고를 내도록 해도 된다.
또한, 본 실시예에서는, 전체 제어부(80)는, 비디오 재생부(20)에 대한 재생 준비 개시 명령을 프로그램 실행부(80)에 대한 프로그램 기동 개시 명령과 동시에 발행하고 있지만, 동시일 필요는 없다. 예를 들면, 직전의 콘텐츠가 비디오 재생이 없는 프로그램만의 것이었던 경우, 비디오 재생부(20)는 사용되고 있지 않다. 그 때문에, 다음의 콘텐츠의 비디오 재생 준비를 직전의 콘텐츠 재생 중에 개시함으로써, 비디오 재생 개시까지의 대기 시간을 더 단축하는 것이 가능하게 된다. 이 때, 각 프로그램이 비디오 재생을 행할지 행하지 않을지를 전체 제어부(80)가 용이하게 판단할 수 있도록, 프로그램 관리 정보 중의 program_file_name에 의해 지정되는 프로그램이 비디오 재생을 행할 지의 여부를 나타내는 플래그를 추가해도 된다.
또한, 본 실시예에서는, 프로그램 관리 정보 중의 video_file_name에서 비디오 데이터 파일의 파일명이 지정된 경우, 비디오 재생부(20)에 대하여 비디오 데이터 파일의 판독, 디코드 개시를 지시하고 있지만, 디스크 판독부(50)에 비디오 데이터 파일의 판독을 지시해도 된다. 이 경우, 프로그램 실행 준비와 병행하여, 광 디스크(2)로부터의 비디오 데이터 판독을 할 수 있기 때문에, 비디오 재생의 개시를 빠르게 하는 것이 가능하게 된다.
또한, 본 실시예에서는, 프로그램 관리 정보 중의 각종 정보의 해석·송출은 전체 제어부(80)가 행하고 있지만, 다른 기능 블록, 예를 들면 프로그램 실행부(70)가 행해도 된다. 프로그램 실행부(70)가 해석하는 경우, 어떤 프로그램 a에 관한 프로그램 관리 정보는 다른 프로그램 b에 저장되고, 프로그램 실행부(70)는 프로그램 a의 실행 직전에 프로그램 관리 정보와는 다른 프로그램 b가 해석·송출을 행함으로써 마찬가지의 기능을 실현 가능하다. 즉, 본 발명의 본질은, 대응하는 프로그램과는 다른 부분에 프로그램 관리 정보를 저장하는 점에 있다.
단, 본 실시예와 같이 프로그램 관리 정보를 프로그램 외에 배치함으로써, 상술한 바와 같이 프로그램 내에 저장하는 경우에 비하여, 프로그램간의 실행 순서를 변경해도, 기존의 프로그램의 재기입·재컴파일 등의 작업이 불필요하다고 하는 추가의 효과가 얻어진다.
또한, 본 실시예에서는 프로그램으로부터는 1개의 비디오 데이터 전체 구간을 재생하고 있지만, 비디오 데이터의 1구간 만을 재생하도록 확장하는 것도 가능하다. 이 경우, 프로그램 관리 정보에 비디오 데이터의 재생 개시·수료 시각을 나타내는 필드를 추가하면 된다. 이것에 의해서 1개의 비디오 데이터에 대한 다양한 부분 구간 재생이 가능하게 된다.
또한, 본 실시예에서는, 절환 제어부(85) 및 절환부(90)를 구비하지만, 비디오 중심의 콘텐츠 만을 취급하는 것이면 불필요하다. 이 경우에도, 비디오 재생과 동기한 프로그램의 실행이 가능하고, 또한, 프로그램에 의한 재생 제어 조작에 대한 오버헤드를 배제함으로써, 유저의 재생 제어 조작에 대한 레스펀스를 높일 수 있다고 하는 본 발명의 효과가 얻어지는 것은 물론이다.
또한, 본 실시예에서는, 비디오 재생이 비디오 데이터의 말미에 도달했을 때에, 비디오 재생부(20)는 프로그램 실행부(70)에 대하여 비디오 재생 종료의 인터럽트를 발생시키고 있지만, 전체 제어부(80)에 대하여 비디오 재생 종료를 직접 통지해도 된다. 이 경우, 종료시의 수순은, 전체 제어부(80)가 비디오 재생 종료를 받아, 프로그램 실행부(70)에 대하여 프로그램 실행 종료 명령을 발행한다라고 하는 것으로 된다. 이와 같이 하면, 프로그램 중의 인터럽트 핸들러에 문제점이 있어, 비디오 재생 종료의 인터럽트를 받아도 종료하지 않는다고 하는 사태를 회피할 수 있어, 확실하게 프로그램을 종료시키는 것이 가능하게 된다라고 하는 추가의 효과가 얻어진다.
또한, 콘텐츠가 비디오 중심인지 프로그램 중심인지에 따라서, 비디오 재생부(20)로부터의 비디오 재생 종료를, 프로그램 실행부(70)에 통지할 지 전체 제어부(80)에 통지할 지를 절환해도 된다.
〔실시예 5〕
본 발명의 또 다른 실시예에 대하여 도 28 내지 도 33에 기초하여 설명하면, 이하와 같다. 또한, 설명의 편의상, 상기한 실시예 1, 2, 3, 4에서 나타낸 부재와 동일한 기능을 갖는 부재에는, 동일한 부호를 붙이고, 그 설명을 생략한다. 또한, 실시예 1, 2, 3, 4에서 정의한 용어에 대해서는, 특별히 언급하지 않는 한 본 실시예에서도 그 정의에 따라 이용하는 것으로 한다.
<시스템 구성>
도 28은, 본 실시예에 따른 비디오 디스크 플레이어(1")의 구성의 개략적인 것을 도시하는 기능 블록도이다.
비디오 디스크 플레이어(1")(재생 장치)는, 광 디스크(2)(콘텐츠 기록 매체)에 기록되어 있는 AV 데이터를 재생하는 장치이다. 도 28에 도시하는 바와 같이, 비디오 디스크 플레이어(1")는, 유저 입력부(3), 비디오 재생부(20), 합성부(30), 디스크 판독부(50), 프로그램 실행부(70), 전체 제어부(80')를 구비하여 구성되어 있다.
전체 제어부(80')는, 비디오 디스크 플레이어(1")의 전체적 제어를 담당한다. 구체적으로는, 디스크 판독부(50)에 의해서 판독된 프로그램 관리 정보에 기초하여 프로그램 실행부(70)를 제어한다. 또한, 유저 입력부(3)로부터 입력된 유저 입력을 프로그램 실행부(70)에 전송한다. 또한, 비디오 재생부(20)로부터 인터럽트를 이용하여 전해지는 정보에 기초하여, 현재 실행 중인 프로그램의 비디오 데이터 재생이 비디오 데이터의 권리 소유자에게 허가된 것인지의 여부를 검증한다.
프로그램 실행부(70)는, 프로그램을 실행한다. 구체적으로는, 프로그램 실행부(70)는, 프로그램을 실행함으로써, 디스크 판독부(50) 및 비디오 재생부(20)에 대하여 제어를 행함과 함께, 합성부(30)에 대하여, 프로그램 실행에 의해서 생성한 비트맵 데이터를 보낸다. 또한, 본 실시예에서는, 프로그램 실행부(70)가 실행하는 프로그램은, 출력 데이터를 생성하는 것에 한정되지 않는다.
비디오 재생부(20)는, 디스크 판독부(50)로부터 보내지는 비디오 데이터(콘텐츠 데이터)를 디코드하고, 비압축 비디오 데이터를 합성부(30)에 대하여 보낸다. 또한, 디스크 판독부(50)로부터 보내지는 동기 타이밍 정보에 기초하여, 프로그램 실행부(70)에 대한 제어를 행한다. 또한, 현재 실행 중인 프로그램의 비디오 데이터 재생이 비디오 데이터의 권리 소유자에게 허가된 것인지의 여부를 검증하기 위한 정보를, 비디오 데이터의 인터럽트를 이용하여 전체 제어부(80')에 전한다.
디스크 판독부(50), 합성부(30) 및 유저 입력부(3)에 대해서는, 실시예 4와 동일하기 때문에 설명을 생략한다.
또한, 본 실시예에서, 상기한 실시예에서의 출력 제어부(40) 및 절환부(90)가 포함되어 있지 않지 않은 것은 설명을 간략화하기 위해서이며, 본 실시예의 비디오 디스크 플레이어(1")에 출력 제어부(40) 혹은/및 절환부(90)를 내장시키는 것은 용이하다.
<프로그램 실행부>
실시예 4와 동일하기 때문에, 설명을 생략한다.
<전체 제어부>
도 29는, 상기 전체 제어부(80')의 상세한 구성을 도시하는 기능 블록도이다.
전체 제어부(80')는, 상기한 바와 같이, 디스크 판독부(50)에 의해서 판독된 프로그램 관리 정보에 기초하여 비디오 디스크 플레이어(1")의 전체적 제어를 담당한다.
도 29에 도시하는 바와 같이, 전체 제어부(80')는, 메모리(81), 유저 입력 제어부(82), CPU(83), 디스크 판독 제어부(84), 검증부(88), 인터럽트 제어부(89), 프로그램 실행 제어부(87)로 구성된다.
메모리(81)는, 디스크 판독부(50)로부터 입력된 프로그램 관리 정보를 일단 저장한다. CPU(83)는, 메모리(81)에 저장된 프로그램 관리 정보를 판독하여, 그 정보에 기초하여, 유저 입력 제어부(82), 디스크 판독 제어부(84), 검증부(88), 인터럽트 제어부(89), 프로그램 실행 제어부(87)에 대하여 명령을 보낸다.
유저 입력 제어부(82)는, 유저 입력부(3)로부터 보내지는 유저 입력을, 프로그램 실행부(70)에 대하여 전송함과 동시에 CPU(83)에 보낸다. CPU(83)에서는, 프로그램 관리 정보에 기초하여 유저 입력을 해석하여, 프로그램 실행 제어부(87)의 제어를 행한다.
디스크 판독 제어부(84)는, CPU(83)로부터의 명령에 따라서, 디스크 판독부(50)의 제어를 행한다.
인터럽트 제어부(89)는, 비디오 재생부(20)로부터의 인터럽트를 취급한다. 인터럽트 시에는, 비디오 재생부(20)에 의해서 인터럽트 제어부(89) 내의 레이스터(도시 생략)에 설정된 현재 실행 중인 프로그램의 비디오 데이터 재생이 비디오 데이터의 권리 소유자에게 허가된 것인지의 여부를 검증하기 위한 정보를 취득한다. 구체적으로는, 광 디스크(2) 중의 비디오 데이터를 특정하기 위한 비디오 데이터 파일명과, 그 비디오 데이터에 부수되어 있는 공개 키 데이터를 취득한다.
검증부(검증 수단)(88)는, 상기한 비디오 데이터 파일명과 공개 키 데이터와, 프로그램 관리 정보 중의 증명서 데이터에 기초하여, 현재 실행 중인 프로그램의 비디오 데이터 재생이 비디오 데이터의 권리 소유자에게 허가된 것인지의 여부를 검증한다. 검증 방법에 대해서는 후술한다.
<비디오 재생부>
실시예 1과 거의 동일하지만, 이하의 점이 서로 다르다.
우선, 본 실시예에서는 출력 제어부(40)를 구비하지 않기 때문에, 도 4의 동기 제어부(22)로부터 나오고 있는 출력측 버퍼 절환부(43)에의 제어를 행하지 않는다.
또한, 비디오 데이터 재생 개시 시에, 비디오 데이터에 부수되어 있는 공개 키 데이터를 비디오 데이터로부터 추출한다. 추출한 공개 키 데이터를 재생 대상의 비디오 데이터의 파일명과 함께, 인터럽트에 의해서 전체 제어부(80')에 대하여 통지한다.
<프로그램 관리 정보>
여기서, 도 30a, 도 30b를 참조하면서, 광 디스크(2)에 기록되어 있는 프로그램 관리 정보의 데이터 구조에 대하여 설명한다.
프로그램 관리 정보는, 전체 제어부(80')가 프로그램의 실행을 제어하기 위해 필요하게 되는 각종 정보를 통합한 것이며, 프로그램 1개에 대해 1개 준비한다. 광 디스크(2) 내의 전체 프로그램 관리 정보는, 도 22a에 도시하는 프로그램 관리 테이블에 저장한다.
도 30a는, 프로그램 관리 정보의 데이터 구조를 도시하는 설명도이다. 도 30a에 도시하는 바와 같이, 프로그램 관리 정보는, program_file_name, number_of_video_info, video_info()로 구성된다.
필드 program_file_name(프로그램 지정 정보)은, 프로그램을 저장한 파일의 파일명을 지정하는 필드이다.
필드 number_of_video_info는, 후술하는 필드 video_info()의 개수를 지정하는 필드이다.
필드 video_info()는, 이 필드가 포함되는 프로그램 관리 정보에 대한 프로그램이 사용하는 비디오 데이터에 관한 정보를 저장하는 데이터 블록으로서, 도 30b에 도시하는 video_file_name과 certificate의 2필드로 구성된다.
필드 video_file_name(콘텐츠 데이터 지정 정보)은, 비디오 데이터의 파일명을 저장하는 필드이다.
필드 certificate(허가 정보)는, 이 필드가 포함하는 video_info() 중의 필드 video_file_name에 의해 지정되는 비디오 파일을 재생하는 것을 허가받은 것을 나타내는 증명서 데이터를 저장하는 필드이다.
다음으로, 도 31a, 도 31b를 참조하면서, 증명서 데이터의 작성 수순과 증명서의 검증 수순에 대하여 설명한다.
우선, 도 31a를 따라, 증명서 데이터의 작성 수순에 대하여 설명한다.
최초로, 비디오 데이터의 권리 소유자는 공개 키 암호 방식을 이용하여 공개 키(검증용 정보)와 비밀 키의 페어를 작성한다. 또한, 본 실시예에서는, 공개 키 암호 방식에 RSA를 사용하지만, 본 발명은 이것에 한정되는 것은 아니다. 프로그램 작성자는 프로그램에 해시 처리를 실시하여, 해시값을 비디오 데이터 권리 소유자에게 제출한다. 비디오 데이터 권리 소유자는 상술한 비밀 키로 상술한 해시값을 암호화하고, 이 암호화한 결과를 증명서로서 프로그램 작성자에게 전달한다.
이 증명서는, 상술한 video_info() 데이터 블록의 certificate 필드에 저장하여, 광 디스크(2)에 기록한다. 또한, 공개 키는 대상으로 되는 비디오 데이터에 소정의 간격으로 다중화하여, 광 디스크(2)에 기록한다.
다음으로, 도 31b를 따라, 증명서 데이터의 검증 수순에 대하여 설명한다.
최초로, 비디오 데이터로부터 공개 키를 분리한다. 비디오 데이터에 대응하는 certificate를 프로그램 관리 정보로부터 취득하여, 상술한 공개 키로 복호한다. 이 복호한 결과와, 프로그램에 해시 처리를 실시한 것을 비교한다. 공개 키 암호의 특성상, 대응하는 비밀 키로 암호화되어 있지 않은 경우, 정확하게 복호할 수 없다. 따라서, 일치하면 비디오 데이터의 사용을 허가받은 프로그램, 일치하지 않으면 부정하게 비디오 데이터를 사용하고 있는 프로그램이라고 판단할 수 있다.
또한, 상술한 바와 같이 소정의 간격으로 공개 키를 다중화하고 있기 때문에, 공개 키 판독에 수반하는 픽업의 이동이 발생하지 않기 때문에, 비디오 재생까지 공개 키 판독에 수반하는 대기 시간이 없어, 재생 개시까지의 레스펀스 시간을 단축할 수 있다.
<데이터 배치와 파일 구성>
실시예 4와 동일하기 때문에, 설명을 생략한다.
<재생 처리>
계속해서, 도 32를 참조하면서, 비디오 디스크 플레이어(1") 에 의한 재생 처리에 대하여 설명한다.
도 32는, 전체 제어부(80')에 의한 재생 처리의 전체의 흐름을 도시하는 플로우차트이다.
우선, 전원 투입 후, 광 디스크(2)로부터의 파일 시스템 정보(도시 생략) 등의 읽어들임, 및 각 처리부의 초기화를 행한다(S91).
다음으로, 광 디스크(2) 상의 프로그램 관리 정보 저장 영역(61C)(도 23)으로부터, 프로그램 관리 테이블을 판독하여, 메모리(81)에 저장한다(S92).
다음으로, 프로그램 실행 제어부(87)를 통하여, 프로그램 실행부(70)에 대하여, 필드 program_file_name에 의해 지정되는 프로그램 파일의 실행 명령을 발행한다(S93). 이 때, program_file_name에 의해 지정되는 프로그램 파일의 해시값을 계산하여, 후술하는 검증 처리를 위해 메모리(81)에 유지해 둔다.
다음으로, 프로그램의 실행이 종료하는 것을 대기한다(S94). 프로그램 실행부(70)로부터 프로그램 실행 완료를 나타내는 인터럽트가 도착하면, 메뉴 콘텐츠를 현 프로그램 관리 정보에 설정하고, 스텝 S93으로 점프한다.
<검증 처리>
다음으로, 도 33을 참조하면서, 비디오 디스크 플레이어(1")에 의한 검증 처리에 대하여 설명한다. 검증 처리란, 상술한 바와 같이, 현재 실행 중인 프로그램이 재생 대상의 비디오 데이터의 권리 소유자에게 사용의 허가를 얻고 있는지의 여부를 조사하기 위한 처리이다.
도 33은, 전체 제어부(80')에 의한 검증 처리의 흐름을 도시하는 플로우차트이다. 또한, 이하의 처리는 비디오 재생부(20)에 의해서 기동된 인터럽트 처리로서 실현하고 있다.
CPU(83)는, 비디오 재생부(20)에 의해서 인터럽트 처리부(89)의 레지스터(도시 생략)에 설정된 재생 대상 비디오 데이터의 파일명 및 그 비디오 데이터로부터 분리된 공개 키를 취득한다(S101).
다음으로, CPU(83)는, 비디오 데이터 파일명을 키로 하여 대응하는 video_info() 엔트리를 메모리(81)에 유지된 프로그램 관리 정보로부터 검색한다(S102). 그리고, video_info() 엔트리가 존재하면(S102에서 예), 거기에 포함되는 certificate를 검증부(88)에 보낸다. 이 때, 대응하는 video_info() 엔트리가 존재하지 않으면(S103에서 아니오), CPU(83)는, 허가되어 있지 않은 비디오 재생이라고 판단하고 프로그램 실행을 종료한다(S106).
또한, video_info() 엔트리가 존재하지 않으면(S102에서 아니오), CPU(83)는, 프로그램 실행을 종료한다(S106).
한편, video_info() 엔트리에 certificate가 존재한 경우(S103에서 예), 이하의 처리를 실행한다.
CPU(83)는, 메모리(81)로부터, 비디오 데이터 파일명에 대응하는 video_info() 엔트리로부터 certificate를 취출한다. 다음으로, 미리 계산해 둔 실행 중인 프로그램의 해시값 및 상기 공개 키를 메모리(81)로부터 취득하여, certificate와 함께 검증부(88)에 보내고, 검증부(88)에 대하여 검증 개시를 지시한다(S104).
검증부(88)는, 도 31b의 수순으로 검증을 행한다. 즉, 공개 키로 certificate를 복호한 값과 상기 해시값을 비교한다. 일치하지 않은 경우, CPU(83)에 대하여 불일치를 알린다. 그리고, CPU(83)는, 검증부(88)로부터 불일치가 통지된 경우, 허가되어 있지 않은 비디오 재생이라고 판단하고(S105에서 아니오), 프로그램 실행을 종료한다(S106). 이에 대하여, CPU(83)는, 검증부(88)로부터 일치가 통지된 경우, 허가된 비디오 재생이라고 판단하고(S105에서 예), 프로그램 실행을 계속시킨다.
이상의 데이터 구조, 장치 구성 및 처리 수순에 의해, 비디오 데이터의 권리 소유자가 허가하지 않는 재생을 제한하는 것이 가능하게 된다.
<변형>
본 실시예에서는, 공개 키 암호화 방식을 이용하고 있지만, 공개 키 암호화 방식을 이용하지 않고, video_file_name만을 사용하였다고 해도, 비디오 데이터의 권리 소유자가 부정 이용을 용이하게 체크할 수 있다. 이하에 그 이유를 설명한다.
만약 이러한 정보가 없었던 경우, 프로그램이 부정하게 비디오 데이터를 이용하고 있었다고 해도 프로그램을 실행해 보지 않으면 부정 이용을 알 수 없다. 대규모의 프로그램인 경우, 프로그램의 전체 처리를 탐색하는 것은 시간을 필요로 한다. 또한, 프로그램 파일 내의 바이너리 데이터로부터 부정한 재생을 행하고 있는 개소를 검출하는 방법도, 프로그램 작성자가 의도적으로 알기 어렵게 해놓은 경우, 적용하기 곤란하다.
그러나, video_file_name에서 사용을 선언한 비디오 데이터만 프로그램은 재생 가능하다고 하는 구성을 취함으로써, 비디오 데이터의 권리 소유자가 프로그램을 실행하지 않고, 프로그램 외의 video_file_name이라는 정적인 정보를 확인하는 것만으로, 비디오 데이터의 권리 소유자가 비디오 데이터의 부정 이용을 체크하는 것이 가능하게 된다.
또한, 본 실시예에서는, 비디오 재생부(20)가 비디오 데이터의 판독을 개시하고 나서 검증을 개시하고 있지만, video_file_name에서 사용을 선언하고 있지 않은 비디오 데이터에 대해서는 판독 자체를 금지해도 된다. 또한, 본 실시예에서는, 프로그램 실행부(70) 및 비디오 재생부(20)로부터 직접 파일 액세스를 행하고 있지만, 프로그램 실행부(70) 및 비디오 재생부(20)와 디스크 판독부(50) 사이에 파일 시스템부를 설치하고, 파일에의 액세스는 파일 시스템부를 통하여 행하도록 해도 된다. 이 경우에, video_file_name에서 사용을 선언하고 있지 않은 비디오 데이터에 대해서는 파일로서 참조할 수 없도록 해도 된다.
이 경우, video_file_name에서 사용을 선언하고 있지 않은 비디오 데이터에 대하여, 부정한 비디오 데이터 재생을 비디오 데이터 판독 전에 검출할 수 있기 때문에, 검출까지의 시간이 단축된다.
또한, 본 실시예에서는, 프로그램과 비디오 데이터가 일대일 대응인 경우를 설명했지만, 본 발명은 다대다인 관계에도 적용 가능한 것은 물론이다. 즉 1개의 프로그램에 대하여 복수의 비디오 데이터의 재생 허가를 부여해도 되고, 또한 1개의 비디오 데이터에 대한 재생 허가를 복수의 프로그램에 부여해도 된다.
또한, 본 실시예에서는, 프로그램으로부터는 1개의 비디오 데이터 전체 구간을 재생하고 있지만, 비디오 데이터의 1구간 만을 재생하도록 확장하는 것도 용이하다. 이 경우, video_info()에 비디오 데이터의 재생 개시·수료 시각을 나타내는 필드를 추가하면 된다.
또한, 본 실시예에서는, 1개의 비디오 데이터 전체 구간에서 공개 키·비밀 키의 페어는 공통이지만, 비디오 데이터의 구간마다 변경하도록 확장하는 것은 용이하다.
예를 들면, 콘텐츠 프로바이더 A, B에 의해서 제공되는 콘텐츠 a, b와, 다른 콘텐츠 프로바이더 C에 의한 콘텐츠 a, b의 소개용 메뉴 콘텐츠 c가 포함되는 광 디스크를 고려한다. 이 때, 콘텐츠 c에 사용을 허가하는 구간만 a, b의 공개 키·비밀 키의 페어를 변경하고, 이들 비밀 키로 암호화한 콘텐츠 c의 프로그램의 certificate를 작성하여, 기록함으로써, 소개용 메뉴 콘텐츠에 대하여 필요한 부분만 재생 허가 구간을 부여할 수 있다.
또한, 본 실시예에서는, 모든 비디오 데이터의 재생에 대하여 공개 키와 certificate를 이용한 검증을 행하고 있었지만, 비디오 데이터의 권리 소유자가 필요하다고 생각하는 것만 검증하도록 확장하는 것은 용이하다.
예를 들면, 검증이 필요한 비디오 데이터에만 공개 키 데이터를 다중화해 두고, 공개 키 데이터가 다중화되어 있지 않은 경우에는, 비디오 재생부(20)가 비디오 파일명 만을 전체 제어부(80')에 통지하도록 구성한다. 또한, 전체 제어부(80')가, 도 33의 스텝 S102와 S103 사이에서 공개 키의 유무를 체크하여, 공개 키가 없는 경우에는 검증 처리를 종료하도록 구성한다. 이에 의해, 비디오 데이터의 권리 소유자가 필요하다고 생각하는 것만 검증하는 것이 가능하게 된다. 따라서, 검증이 불필요한 것에 대하여 공개 키와 certificate를 이용한 검증을 생략하는 것이 가능하게 되기 때문에, 처리 속도의 향상이나 소비 전력의 저감 등의 추가의 효과가 얻어진다.
또한, 본 실시예에서는, 비디오 데이터 자체는 암호화되어 있지 않지만, 부정 카피 방지를 위해 암호화되어 있어도 된다. 이 때 비디오 데이터의 암호화의 키와 재생 허가의 검증용의 암호화의 키를 별개로 함으로써, 한쪽이 부정하게 해독되었다고 해도 다른 한쪽에 영향이 없도록 할 수 있다.
또한, 본 실시예에서는, 비디오 데이터 중에 프로그램 검증을 위한 공개 키를 다중화하고 있지만, 콘텐츠 프로바이더 이외가 부정하게 작성할 수 없다는 것을 보증할 수 있으면, 비디오 데이터 외에 존재해도 된다.
예를 들면, 비디오 데이터 1개에 대하여 비디오 데이터 관리 정보 1개를 준비하는 것을 고려한다. 이 때, 비디오 데이터 관리 정보에 상기 공개 키(공개 키 a)를 저장하고, 비디오 데이터에는 다른 공개 키(공개 키 b)를 다중화하고, 비디오 데이터 관리 정보에는 공개 키 b에 대응하는 비밀 키로 암호화한 비디오 데이터 관리 정보의 해시값을 검증용 데이터로서 비디오 데이터 관리 정보에 부가한다. 이에 의해, 비디오 데이터 관리 정보가 부정한 것이 아니라는 것을 재생 시에 검증할 수 있고, 그 결과 그 중에 포함되는 공개 키 a도 정규의 것이라는 것을 보증할 수 있다.
또한, 본 실시예에서는, 프로그램과 비디오 데이터는 동일한 읽어들임 전용 기록 매체에 보존되어 있지만, 다른 매체에 보존되어 있던 경우나 재기입형 기록 매체에도 본 발명은 적용 가능하다.
예를 들면, 비디오 디스크 플레이어(1")에 하드디스크 등의 기록 매체 및 네트워크 접속 기능을 추가하고, 네트워크 접속 기능을 통하여, 광 디스크(2)에 대한 추가의 프로그램을 다운로드하여, 하드디스크에 보존하는 것을 고려한다. 이 때, 네트워크 상의 서버로부터 부정한 프로그램을 다운로드하게 될 우려가 있다. 또한, 상기 하드디스크 상의 정규의 프로그램이 부정하게 개찬되게 되는 경우도 있을 수 있다. 이에 대하여 본 발명을 이용함으로써, 이러한 부정한 프로그램이 광 디스크(2) 상의 비디오 데이터를 무단으로 재생하는 것을 방지하는 것이 가능하게 된다.
또한, 본 실시예에서는, 전체 제어부(80')를 구비하지만, 실시예 1과 같이 전체 제어부를 구비하지 않는 실현 방법도 고려된다. 이 경우, 프로그램 실행부가 검증을 행하게 된다.
또한, 본 실시예에서는, 프로그램의 해시값을 암호화하고 있지만, 서로 다른 프로그램이 서로 다른 값에 대응된다는 보증이 있으면 이것에 한정되지 않는 것은 물론이다.
〔실시예 6〕
본 발명의 또 다른 실시예에 대하여 도 18에 기초하여 설명하면, 이하와 같다. 또한, 상기한 실시예 4와 유사하기 때문에, 상위점만 설명한다.
<동기 타이밍 정보>
도 18과 동일한 데이터 구조를 갖는다. 단, 각 필드의 의미 부여가 이하와 같이 서로 다르다.
우선, 필드 timing에, 인터럽트 타이밍을 특정하지 않는 값 ALWAYS를 정의한다. 또한, 필드 timing의 값이 ALWAYS인 경우, 필드 condition() 중의 각 서브 필드를, 인터럽트 발생 조건으로서 해석한다. 예를 들면, 서브 필드 normal이 "1"인 경우, 동기 제어부(22)가 다른 재생 상태로부터 통상 재생으로 변화되었을 때에, 그 서브 필드가 포함되는 sync_info()에 대응하는 인터럽트를 발생시키는 것을 의미한다.
<비디오 재생부>
동기 제어부(22)는, 재생 상태가 변화되었을 때에 필드 timing의 값이 ALWAYS인 sync_info()를 체크하여, 필드 condition()의 값에 따라서 인터럽트를 발생시킨다.
이와 같이 함으로써, 재생 상태의 변화에 따른 처리가 가능하게 된다. 예를 들면, 빨리 감기로 된 순간만큼 특별한 그래픽스를 표시함으로써, 유저는 콘텐츠를 반복하여 즐기는 것이 가능하게 되어, 콘텐츠의 부가가치를 향상시키는 것이 가능하게 된다.
또한, 본 실시예에서는, 재생 상태의 천이처에 따라서 처리를 변경했지만, 재생 상태의 천이원에 따라서 처리를 변경해도 된다. 또한, 천이원과 천이처의 조합에 따라서 처리를 변경해도 된다.
또한, 본 발명은 상술한 각 실시예에 한정되는 것은 아니며, 청구항에 나타낸 범위에서 여러 가지의 변경이 가능하고, 서로 다른 실시예에 각각 개시된 기술적 수단을 적절하게 조합하여 얻어지는 실시예에 대해서도 본 발명의 기술적 범위에 포함된다.
상술한 실시예에서는, 프로그램 및 프로그램 관리 정보에서 비디오 데이터를 직접 참조하고 있지만, 그것에 한정되지 않는다. 예를 들면, 비디오 데이터에 관한 각종 정보(속성 정보나 랜덤 액세스 정보 등)가 포함된 비디오 데이터 관리 정보나, 비디오 데이터의 재생순을 나타낸 플레이 리스트 정보이어도 된다.
상술한 실시예에서는, 비디오 데이터, 동기 타이밍 정보, 프로그램은, 광 디스크 상에 기록되어 있지만, 하드디스크 등 다른 기록 매체에 기록되어 있어도 된다. 또한, 네트워크 너머의 다른 기록 매체에 존재해도 된다. 또한, 각각의 데이터가 다른 기록 매체에 존재해도 된다.
상술한 실시예에서는, 프로그램과 동기 타이밍 정보를 다른 파일에서 관리하고 있지만, 동일한 파일에서 관리하는 것도 고려된다. 이 경우, 상술한 실시예와 달리, 동기 타이밍 정보는 프로그램 실행부로부터 비디오 재생부에 보내지게 된다. 이에 의해, 판독하는 파일수가 감소되기 때문에, 오버헤드가 감소된다고 하는 추가의 효과가 발생한다.
상술한 실시예에서는, 프로그램 실행부와 비디오 재생부의 출력의 합성의 대상을 영상으로 하고 있지만, 음성으로 한 경우에도 마찬가지의 구조는 적용 가능하다.
상술한 실시예에서는, 프로그램 실행부는 범용의 프로그램을 실행하는 것을 상정하고 있지만, 이것에 한정되는 것은 아니다. 예를 들면, 정지 화상 슬라이드 쇼 재생과 같은 단기능의 처리부이어도 본 발명의 효과를 얻는 것은 가능하다. 또한, 프로그램 실행부가 WEB 브라우저이고, 또한, 프로그램이 HTML(Hyper Text Markup Language)과 ECMAScript를 조합한 것인 경우도 마찬가지이다.
상술한 실시예에서는, 프로그램(동기 실행 프로그램)이나 인터럽트 핸들러에서 실행되는 처리는 화상을 출력하는 것으로 하고 있지만, 특정한 시간축과 동기하여 실행하는 것이면 무엇이든 되는 것은 물론이다. 단, 출력 제어부를 이용하여 프로그램 실행부가 생성하는 화상이나 음성의 출력 제어를 행하는 것은 제외하는 것으로 한다. 예를 들면, 기록 매체 내의 데이터를 기입 및 판독하거나, 네트워크에의 액세스, 혹은 프로그램 내부의 변수를 증분시키는 것이어도 된다.
상술한 실시예에서는, 프로그램 실행부와 출력 제어부의 양쪽에 대하여, 동기 타이밍 정보에 기초하여 제어하고 있지만, 양쪽을 제어할 필요는 없다. 예를 들면, 프로그램 실행부에서는 독자의 클럭을 이용하여 비트맵 생성의 타이밍을 설정하여, 출력 제어부만을 제어하였다고 해도 프레임 단위의 제어가 가능하다는 효과가 얻어진다. 또한 반대로, 출력 제어부를 구비하지 않고, 프로그램에의 인터럽트만을 사용한 경우에도, 폴링 처리의 오버헤드가 없어진다고 하는 효과가 얻어진다.
상술한 실시예에서는, 필드 action_id에 기초하여, 출력 제어부에서는 표시 버퍼 메모리의 절환만을 행하고 있지만, 그것에 한정되는 것은 아니다.
상술한 실시예에서는, 프로그램 실행부 및 출력 제어부를 제어 대상으로 하고 있지만, 합성부를 제어 대상으로 해도 된다. 그 경우, 제어의 종류로서는, 표시 플레인의 순서를 절환하는 것 등이 고려된다.
도 34에, 비디오 디스크 플레이어(1)의 다른 구성예를 나타낸다. 상술한 실시예에서는, 출력 제어부는 프로그램 실행부가 생성하는 화상에 대하여 절환하고 있지만, 동기 타이밍 정보에 따라서 화상이나 음성의 출력을 제어하는 경우이면 무엇에나 적용 가능하다. 도 34는 그 일례이다. 이 예에서는, 비디오 재생부(20)는 비디오 데이터와 비트맵 데이터를 다중화한 데이터를 입력으로 하여, 비압축 비디오 데이터와 비트맵 데이터를 출력한다. 그 때문에, 비디오 재생부(20)는, 비압축 비디오 데이터를 생성하는 디코더와, 비트맵 데이터(제2 출력 데이터)를 생성하는 디코더(출력 생성 수단)의 2개를 구비하고 있고, 클럭(23)이 생성하는 공통의 클럭으로 동작한다. 또한, 출력 제어부(40)는 비디오 재생부(20)가 출력하는 비트맵 데이터의 출력을 제어한다. 또한, 동기 타이밍 정보는 프로그램으로부터 비디오 재생부(20)에 전달한다. 이 구성에 따르면, 프로그램으로부터 비트맵 데이터의 출력을 비디오 프레임의 정밀도로 제어하는 것이 가능하게 된다.
상술한 실시예에서는, 표시 버퍼 메모리를 2개 이용하고 있지만, 그것에 한정되는 것은 아니다. 표시 버퍼 메모리를 1개 혹은 3개 이상을 이용하였다고 해도, 본 발명의 효과를 얻는 것은 가능하다.
상술한 실시예에서는, 비디오 재생부와 병행하여 영상을 출력하는 블록은 1개의 프로그램 실행부뿐이지만, 복수의 영상 출력 블록을 이용하였다고 해도, 본 발명의 효과를 얻는 것은 가능하다.
상술한 실시예에서는, 동기 타이밍 정보에 기초하는 제어는 비디오 재생부가 행하고 있지만, 본 발명은 그것에 한정되는 것은 아니다. 비디오 재생부와 공통인 클럭을 이용하고 있는 구성 요소이면, 본 발명의 효과를 얻는 것은 가능하다.
상술한 실시예에서는, 복수의 동기 실행 프로그램을 실행한 결과와 동일한 결과가 얻어지는 통합 동기 실행 프로그램을 지정하는 sync_info() 중의 merged_flag의 값을 "1"로 설정하고 있지만, 본 발명은 그것에 한정되지 않는다. 예를 들면, 비디오의 도중으로부터 재생한 경우에는, 경고를 표시하는 프로그램이나 선두로부터 재생한 경우와 서로 다른 그래픽스를 표시하는 프로그램을 지정하는 것 등에도 적용 가능하다.
즉, 본 발명의 재생 장치는, 데이터 취득 수단은, 콘텐츠 데이터의 도중으로부터 재생을 개시한 경우에만 실행되는 도중 재생 동기 실행 프로그램을 취득하는 것이고, 동기 타이밍 정보는, 타이밍 지정 정보와 함께, 실행하여야 할 동기 실행 프로그램을 나타내는 액션 지정 정보와, 그 액션 지정 정보로 나타내어진 동기 실행 프로그램이 도중 재생 동기 실행 프로그램인지의 여부를 나타내는 도중 재생 동기 실행 프로그램 식별 정보(예를 들면 merged_flag에 "1" 이외의 값을 세트)를 포함하며, 콘텐츠 데이터의 도중으로부터 재생을 개시할 때, 동기 제어 수단은, 도중 재생 동기 실행 프로그램인 것을 나타내는 도중 재생 동기 실행 프로그램 식별 정보를 포함하는 동기 타이밍 정보 중, 재생을 개시하는 시각에 가장 가까운 과거의 시각을 나타내는 타이밍 지정 정보를 포함하는 동기 타이밍 정보와, 그 동기 타이밍 정보보다도 후의 시각을 나타내는 타이밍 지정 정보를 포함하는 동기 타이밍 정보에 따라서, 타이밍 지정 정보가 전인 것부터 순서대로 동기 제어 신호를 송신하도록 구성되어 있어도 된다. 또한, 도중 재생 동기 실행 프로그램은, 다른 동기 실행 프로그램과 동일한 광 디스크에 기록되어 있어도 된다.
이에 의해, 재생 개시 시각에 따라서 서로 다른 출력을 얻을 수 있기 때문에, 유저는 콘텐츠를 반복하여 즐기는 것이 가능하게 되어, 콘텐츠의 부가가치를 향상시킬 수 있다고 하는 효과가 얻어진다. 즉, 의도적으로, 도중으로부터 재생한 경우에 서로 다른 결과로 되도록, 콘텐츠를 작성하는 것이 가능하게 된다.
또한, 본 발명의 재생 장치는, 제1 출력 생성부와 제2 출력 생성부를 구비한 재생 장치에 있어서, 동기 타이밍 정보에 따라서, 제1 출력 생성부의 클럭에 기초하여 제2 출력 생성부의 출력을 제어하는 수단을 구비하여 구성되어 있어도 된다.
또한, 본 발명의 재생 장치는, 상기 동기 타이밍 정보는, 제1 출력 생성부로부터의 출력을 생성하기 위한 정보와는 분리되어 있어도 된다.
또한, 본 발명의 재생 장치는, 상기 동기 타이밍 정보는, 제1 출력 생성부의 시간축 상의 시각을 포함하며, 제어 대상과 제어 내용 중 적어도 한쪽을 포함하고 있어도 된다.
또한, 본 발명의 재생 장치는, 제1 출력 생성부는 비디오 재생부이며, 제2 출력 생성부는 프로그램 실행부이어도 된다.
또한, 본 발명의 재생 장치의 재생 방법은, 제1 출력 생성부와 제2 출력 생성부를 구비하는 재생 장치의 재생 방법으로서, 동기 타이밍 정보와 제1 출력 생성부의 클럭을 비교하는 스텝과, 비교 결과에 따라서 제어 신호를 발행하는 스텝을 포함하고 있어도 된다.
또한, 본 발명의 기록 매체는, 제1 출력 생성부로부터의 출력을 생성하기 위한 정보 및 제2 출력 생성부로부터의 출력을 생성하기 위한 정보를 기록한 기록 매체에 있어서, 동기 타이밍 정보를 기록하고, 이 동기 타이밍 정보가, 제1 출력 생성부의 클럭에 기초하여 제2 출력 생성부의 출력을 제어하기 위한 것이어도 된다.
또한, 본 발명의 기록 매체는, 상기 타이밍 정보는 제2 출력 생성부로부터의 출력을 생성하기 위한 정보의 근방에 기록되어 있어도 된다.
또한, 본 발명의 기록 매체는, 상기 타이밍 정보와 상기 프로그램이 동일 파일에 저장되어 있어도 된다.
여기서, 비디오 디스크 플레이어(1, 1', 1")의 각 블록은, 하드웨어 로직에 의해서 구성해도 되고, 다음과 같이 CPU를 이용하여 소프트웨어에 의해서 실현해도 된다.
즉, 비디오 디스크 플레이어(1, 1', 1")는, 각 기능을 실현하는 제어 프로그램의 명령을 실행하는 CPU(central processing unit), 상기 프로그램을 저장한 ROM(read only memory), 상기 프로그램을 전개하는 RAM(random access memory), 상기 프로그램 및 각종 데이터를 저장하는 메모리 등의 기억 장치(기록 매체) 등을 구비하고 있다. 그리고, 본 발명의 목적은, 상술한 기능을 실현하는 소프트웨어인 비디오 디스크 플레이어(1, 1', 1")의 제어 프로그램의 프로그램 코드(실행 형식 프로그램, 중간 코드 프로그램, 소스 프로그램)를 컴퓨터로 판독 가능하게 기록한 기록 매체를, 상기 비디오 디스크 플레이어(1, 1', 1")에 공급하고, 그 컴퓨터(또는 CPU나 MPU)가 기록 매체에 기록되어 있는 프로그램 코드를 판독하여 실행하는 것에 의해서도, 달성 가능하다.
상기 기록 매체로서는, 예를 들면, 자기 테이프나 카세트 테이프 등의 테이프계, 플로피(등록상표) 디스크/하드 디스크 등의 자기 디스크나 CD-ROM/MO/MD/DVD/CD-R 등의 광 디스크를 포함하는 디스크계, IC 카드(메모리 카드를 포함함)/광 카드 등의 카드계, 혹은 마스크 ROM/EPROM/EEPROM/플래시 ROM 등의 반도체 메모리계 등을 이용할 수 있다.
또한, 비디오 디스크 플레이어(1, 1', 1")를 통신 네트워크와 접속 가능하게 구성하고, 상기 프로그램 코드를 통신 네트워크를 통하여 공급해도 된다. 이 통신 네트워크로서는, 특별히 한정되지 않으며, 예를 들면, 인터넷, 인트라넷, 엑스트라넷, LAN, ISDN, VAN, CATV 통신망, 가상 전용망(virtual private network), 전화 회선망, 이동체 통신망, 위성 통신망 등이 이용 가능하다. 또한, 통신 네트워크를 구성하는 전송 매체로서는, 특별히 한정되지 않으며, 예를 들면, IEEE1394, USB, 전력선 반송, 케이블 TV 회선, 전화선, ADSL 회선 등의 유선이어도, IrDA나 리모콘과 같은 적외선, Bluetooth(등록상표), 802.11 무선, HDR, 휴대 전화망, 위성 회선, 지상파 디지털망 등의 무선이어도 이용 가능하다. 또한, 본 발명은, 상기 프로그램 코드가 전자적인 전송으로 구현화된, 반송파에 매립된 컴퓨터 데이터 신호의 형태이어도 실현될 수 있다.
마지막으로, 본 발명에 따른 재생 장치는, 콘텐츠 데이터, 동기 타이밍 정보를 취득하는 데이터 취득 수단과, 클럭 신호를 생성하는 클럭 생성 수단과, 상기 클럭 신호에 따라서 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 수단과, 상기 클럭 신호에 따라서 상기 동기 타이밍 정보에 포함되는 타이밍 지정 정보에 의해 지정된 타이밍에서 동기 처리 수단에 동기 제어 신호를 송신하는 동기 제어 수단과, 상기 동기 제어 수단으로부터 수신한 동기 제어 신호에 따라서, 처리를 행하는 동기 처리 수단을 구비하여 구성되어 있어도 된다.
또한, 본 발명에 따른 재생 장치의 제어 방법은, 데이터 취득 수단, 디코드 수단, 동기 처리 수단을 구비한 재생 장치의 제어 방법으로서, 상기 데이터 취득 수단으로, 콘텐츠 데이터, 동기 타이밍 정보를 취득하는 데이터 취득 스텝과, 상기 디코드 수단으로, 클럭 신호에 따라서 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환함과 함께, 상기 클럭 신호에 따라서 상기 동기 타이밍 정보에 포함되는 타이밍 지정 정보에 의해 지정된 타이밍에서 상기 동기 처리 수단에 동기 제어 신호를 송신하는 디코드 스텝과, 상기 동기 처리 수단으로, 수신한 상기 동기 제어 신호에 따라서, 처리를 행하는 동기 처리 스텝을 포함하여 구성되어 있어도 된다.
상기한 구성에 의해, 디코드 수단이 행하는 콘텐츠 데이터의 재생 처리에 동기하여, 동기 처리 수단에 대하여, 처리를 행할 타이밍을 규정하는 동기 제어 신호(트리거)를 공급할 수 있다. 여기서, 동기 처리 수단이 행하는 「처리」로서는, 예를 들면, 데이터의 출력 제어나, 프로그램의 실행 등을 들 수 있다. 그 밖에, 네트워크에의 액세스나, 기록 매체의 기입 및 판독 등이 그 범주에 포함된다.
따라서, 콘텐츠 데이터와는 병행하여 콘텐츠 데이터의 재생 처리에 동기한 처리를 작성하거나, 콘텐츠 데이터 공급 후에 콘텐츠 데이터 재생 처리에 동기한 처리를 추가하거나 하는 것이 용이하게 된다. 또한, 스트림 동기 처리 수단으로부터 디코드 수단의 재생 클럭을 보러 갈 필요가 없기 때문에, 동기를 위해 동기 처리 수단에 부담이 걸리지 않는다. 그렇기 때문에, 유연한 콘텐츠 작성이 가능하게 된다.
또한, 본 발명에 따른 재생 장치는, 상기 데이터 취득 수단은, 동기 실행 프로그램을 더 취득하는 것이고, 상기 동기 처리 수단은, 상기 동기 제어 수단으로부터 수신한 동기 제어 신호에 따라서, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 수단을 구비하여 구성되어 있어도 된다.
상기한 구성에 의해, 또한, 디코드 수단이 행하는 콘텐츠 데이터의 재생 처리에 동기하여, 동기 처리 수단에 대하여, 동기 실행 프로그램을 실행하여 출력 데이터를 생성하는 타이밍을 규정하는 동기 제어 신호(트리거)를 공급할 수 있다.
따라서, 동기 처리 수단으로부터 디코드 수단의 재생 클럭을 보러 갈 필요가 없기 때문에, 동기를 위해 동기 처리 수단에 부담이 걸리지 않는다. 그렇기 때문에, 상기 재생 장치에서는, AV 데이터 등의 재생에 동기시켜 실행할 프로그램을 효율적으로 실행할 수 있다.
또한, 본 발명에 따른 재생 장치는, 상기 재생 데이터 이외의 출력인 제2 출력 데이터를 생성하는 출력 생성 수단을 포함하고, 상기 동기 처리 수단은, 상기 제2 출력 데이터의 출력을, 상기 동기 제어 수단으로부터 수신한 동기 제어 신호에 따라서 제어하는 출력 제어 수단을 구비하여 구성되어 있어도 된다.
상기한 구성에 의해, 또한, 디코드 수단이 행하는 콘텐츠 데이터의 재생 처리에 동기하여 출력되는, 제2 출력 데이터가 있는 경우에, 상기 제2 출력 데이터의 출력을 제어할 수 있다. 여기서, 출력 생성 수단이 생성하는 「제2 출력 데이터」로서는, 예를 들면, 프로그램을 실행함으로써 생성한 그래픽스 데이터나, 비디오 데이터에 다중화된 비트맵 데이터를 디코드한 데이터를 들 수 있다. 또한, 시각적 정보 출력에 한하지 않고, 청각적 정보 출력, 예를 들면 프로그램을 실행함으로써 생성한 오디오 데이터나, 비디오 데이터에 다중화된 오디오 데이터를 디코드한 데이터도 그 범주에 포함된다.
따라서, 동기 처리 수단으로부터 디코드 수단의 재생 클럭을 보러 갈 필요가 없기 때문에, 동기를 위해 동기 처리 수단에 부담이 걸리지 않는다. 그렇기 때문에, 상기 재생 장치에서는, AV 데이터 등의 재생에 동기시켜, 다른 AV 데이터의 출력 제어를 효율적으로 실행할 수 있다.
예를 들면, 비디오 재생의 특정한 타이밍에서 프로그램에 의한 그래픽스 표시를 개시/종료시키는 경우에도, 동기 처리 수단의 소프트웨어에서, 클럭을 보러 갈 필요가 없다. 따라서, 처리의 오버헤드가 없어, 프레임 단위로 타이밍을 용이하게 일치시키는 것이 가능하게 된다. 즉, 정밀도가 높은 제어가 가능하게 되고, 처리 효율에도 우수하다.
또한, 본 발명에 따른 재생 장치는, 상기 동기 처리 수단은, 동기 실행 프로그램을 실행함으로써 출력 데이터를 생성함과 함께, 상기 동기 제어 수단으로부터 수신한 동기 제어 신호에 따라서, 상기 출력 데이터를 출력하는 구성이어도 된다.
상기한 구성에 의해, 또한, 디코드 수단이 행하는 콘텐츠 데이터의 재생 처리에 동기한, 동기 실행 프로그램에 의한 그래픽스 표시가 용이하게 되고, 게다가 효율적으로 행할 수 있다.
또한, 본 발명에 따른 재생 장치는, 상기 동기 처리 수단은, 동기 실행 프로그램을 상기 동기 제어 수단으로부터 수신한 동기 제어 신호에 따라서 실행함으로써 출력 데이터를 생성함과 함께, 그 출력 데이터를 출력하는 구성이어도 된다.
상기한 구성에 의해, 또한, 디코드 수단이 행하는 콘텐츠 데이터의 재생 처리에 동기한, 동기 실행 프로그램에 의한 그래픽스 표시가 용이하게 되고, 게다가 효율적으로 행할 수 있다.
또한, 본 발명에 따른 재생 장치는, 상기 동기 처리 수단은, 동기 실행 프로그램이 출력하는 출력 데이터의 출력을, 상기 동기 제어 수단으로부터 수신한 동기 제어 신호에 따라서 제어하는 출력 제어 수단을 구비하여 구성되어 있어도 된다.
상기한 구성에 의해, 또한, 비디오 재생의 특정한 타이밍에서 프로그램에 의한 그래픽스 표시를 개시/종료시키는 경우에도, 동기 처리 수단의 소프트웨어에서, 클럭을 보러 갈 필요가 없다. 따라서, 처리의 오버헤드가 없어, 프레임 단위로 타이밍을 용이하게 일치시키는 것이 가능하게 된다. 즉, 정밀도가 높은 제어가 가능하게 되고, 처리 효율에도 우수하다.
또한, 본 발명에 따른 재생 장치는, 콘텐츠 데이터, 동기 실행 프로그램, 동기 타이밍 정보를 취득하는 데이터 취득 수단과, 클럭 신호를 생성하는 클럭 생성 수단과, 상기 클럭 신호에 따라서 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 수단과, 상기 클럭 신호에 따라서 상기 동기 타이밍 정보에 포함되는 타이밍 지정 정보에 의해 지정된 타이밍에서 동기 처리 수단에 동기 제어 신호를 송신하는 동기 제어 수단과, 상기 동기 실행 프로그램을 실행함으로써 출력 데이터를 생성함과 함께, 상기 동기 제어 수단으로부터 수신한 동기 제어 신호에 따라서, 상기 출력 데이터를 출력하는 동기 처리 수단을 구비한 구성이어도 된다.
또한, 본 발명에 따른 재생 장치의 제어 방법은, 디코드 수단 및 동기 처리 수단을 구비한 재생 장치의 제어 방법으로서, 콘텐츠 데이터, 동기 실행 프로그램, 동기 타이밍 정보를 취득하는 데이터 취득 스텝과, 상기 디코드 수단으로, 클럭 신호에 따라서 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환함과 함께, 상기 클럭 신호에 따라서 상기 동기 타이밍 정보에 포함되는 타이밍 지정 정보에 의해 지정된 타이밍에서 상기 동기 처리 수단에 동기 제어 신호를 송신하는 디코드 스텝과, 상기 동기 처리 수단으로, 상기 동기 실행 프로그램을 실행함으로써 출력 데이터를 생성함과 함께, 수신한 상기 동기 제어 신호에 따라서, 해당 출력 데이터를 출력하는 프로그램 실행 출력 스텝을 포함하는 구성이어도 된다.
상기한 구성에 의해, 디코드 수단이 행하는 콘텐츠 데이터의 재생 처리에 동기하여, 동기 처리 수단에 대하여, 동기 실행 프로그램의 실행 결과(출력 데이터)를 출력하는 타이밍을 규정하는 동기 제어 신호(트리거)를 공급할 수 있다.
따라서, 동기 처리 수단으로부터 디코드 수단의 재생 클럭을 보러 갈 필요가 없기 때문에, 동기를 위해 동기 처리 수단에 부담이 걸리지 않는다. 그렇기 때문에, 상기 재생 장치에서는, AV 데이터 등의 재생에 동기시켜 실행할 프로그램을 효율적으로 실행할 수 있다.
예를 들면, 비디오 재생의 특정한 타이밍에서 프로그램에 의한 그래픽스 표시를 개시/종료시키는 경우에도, 동기 처리 수단의 소프트웨어에서, 클럭을 보러 갈 필요가 없다. 따라서, 처리의 오버헤드가 없어, 프레임 단위로 타이밍을 용이하게 일치시키는 것이 가능하게 된다. 즉, 정밀도가 높은 제어가 가능하게 되고, 처리 효율에도 우수하다.
또한, 본 발명에 따른 재생 장치는, 콘텐츠 데이터, 동기 실행 프로그램, 동기 타이밍 정보를 취득하는 데이터 취득 수단과, 클럭 신호를 생성하는 클럭 생성 수단과, 상기 클럭 신호에 따라서 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 수단과, 상기 클럭 신호에 따라서 상기 동기 타이밍 정보에 포함되는 타이밍 지정 정보에 의해 지정된 타이밍에서 동기 처리 수단에 동기 제어 신호를 송신하는 동기 제어 수단과, 상기 동기 실행 프로그램을 상기 동기 제어 수단으로부터 수신한 동기 제어 신호에 따라서 실행함으로써 출력 데이터를 생성함과 함께, 그 출력 데이터를 출력하는 동기 처리 수단을 구비하는 구성이어도 된다.
또한, 본 발명에 따른 재생 장치의 제어 방법은, 디코드 수단 및 동기 처리 수단을 구비한 재생 장치의 제어 방법으로서, 콘텐츠 데이터, 동기 실행 프로그램, 동기 타이밍 정보를 취득하는 데이터 취득 스텝과, 상기 디코드 수단으로 클럭 신호에 따라서 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환함과 함께, 상기 클럭 신호에 따라서 상기 동기 타이밍 정보에 포함되는 타이밍 지정 정보에 의해 지정된 타이밍에서 상기 동기 처리 수단에 동기 제어 신호를 송신하는 디코드 스텝과, 상기 동기 처리 수단으로, 상기 동기 실행 프로그램을 수신한 상기 동기 제어 신호에 따라서 실행함으로써 출력 데이터를 생성함과 함께, 그 출력 데이터를 출력하는 프로그램 실행 출력 스텝을 포함하는 구성이어도 된다.
상기한 구성에 의해, 디코드 수단이 행하는 콘텐츠 데이터의 재생 처리에 동기하여, 동기 처리 수단에 대하여, 동기 실행 프로그램을 실행하여 출력 데이터를 생성하는 타이밍을 규정하는 동기 제어 신호(트리거)를 공급할 수 있다.
따라서, 동기 처리 수단으로부터 디코드 수단의 재생 클럭을 보러 갈 필요가 없기 때문에, 동기를 위해 동기 처리 수단에 부담이 걸리지 않는다. 그렇기 때문에, 상기 재생 장치에서는, AV 데이터 등의 재생에 동기시켜 실행할 프로그램을 효율적으로 실행할 수 있다.
예를 들면, 비디오 재생의 특정한 타이밍에서 프로그램에 의한 그래픽스 표시를 개시/종료시키는 경우에도, 동기 처리 수단의 소프트웨어에서, 클럭을 보러 갈 필요가 없다. 따라서, 처리의 오버헤드가 없어, 프레임 단위로 타이밍을 용이하게 일치시키는 것이 가능하게 된다. 즉, 정밀도가 높은 제어가 가능하게 되고, 처리 효율에도 우수하다.
또한, 데이터 취득 수단으로서는, 콘텐츠 데이터, 동기 실행 프로그램, 동기 타이밍 정보를 콘텐츠 기록 매체로부터 판독하는 판독 수단이어도 되고, 네트워크를 경유하여 취득하는 통신 수단이어도 된다. 즉, 콘텐츠 데이터, 동기 실행 프로그램, 동기 타이밍 정보의 재생 장치에의 공급은, 여러 가지의 형태에 의해서 가능하다. 예를 들면, 콘텐츠 데이터, 동기 실행 프로그램, 동기 타이밍 정보의 전부를 기록한 콘텐츠 기록 매체로부터 판독해도 된다. 또한, 콘텐츠 데이터, 동기 실행 프로그램, 동기 타이밍 정보 중 어느 하나를 네트워크를 경유해서 취득하여, 콘텐츠 기록 매체로부터 판독한 다른 데이터와 조합하여 재생해도 된다. 또한, 콘텐츠 기록 매체에 기록되어 있는 동기 실행 프로그램(콘텐츠 데이터, 동기 타이밍 정보에 대해서도 마찬가지)의 일부 혹은 전부를, 네트워크를 경유해서 취득한 동기 실행 프로그램으로 치환하여 재생해도 된다.
또한, 프로그램으로서는, 비디오 화상에 중첩되는 화상 데이터(정지 화상, 애니메이션)를 생성하는 프로그램 외에, 예를 들면 효과음이나 나레이션 등의 음성만을 출력하는 프로그램에도 이용 가능하다.
또한, 본 발명에 따른 재생 장치는, 상기 동기 처리 수단은, 상기 동기 제어 수단으로부터 수신한 동기 제어 신호에 따라서, 상기 동기 실행 프로그램을 실행함으로써 출력 데이터를 생성하는 프로그램 실행 수단을 구비하는 구성이어도 된다.
상기한 구성에 의해, 콘텐츠 데이터의 재생에 이용하는 클럭 신호에 기초하는 동기 제어 신호에 따라서, 동기 실행 프로그램을 실행할 수 있다. 따라서, 콘텐츠 데이터의 재생에 동기하여 동기 실행 프로그램의 출력 데이터를 생성하는 것이 가능하게 된다.
또한, 본 발명에 따른 재생 장치는, 상기 동기 처리 수단은, 상기 프로그램 실행 수단에 의해서 생성된 출력 데이터를, 상기 동기 제어 수단으로부터 수신한 동기 제어 신호에 따라서 출력하는 출력 제어 수단을 구비하는 구성이어도 된다.
상기한 구성에 의해, 콘텐츠 데이터의 재생에 이용하는 클럭 신호에 기초하는 동기 제어 신호에 따라서, 동기 실행 프로그램에 의해서 생성된 출력 데이터를 출력할 수 있다. 따라서, 콘텐츠 데이터의 재생에 동기하여 동기 실행 프로그램의 출력을 제어하는 것이 가능하게 된다.
또한, 본 발명에 따른 재생 장치는, 상기 동기 타이밍 정보는, 상기 타이밍 지정 정보와 함께 액션 지정 정보를 포함하고, 상기 동기 제어 수단은, 타이밍 지정 정보에 의해 지정된 타이밍에서 상기 프로그램 실행 수단에 동기 제어 신호를 송신할 때, 상기 타이밍 지정 정보에 대응하는 액션 지정 정보를 동기 제어 신호에 포함시키는 것이고, 상기 프로그램 실행 수단은, 상기 동기 제어 수단로부터 수신한 동기 제어 신호에 포함되는 액션 지정 정보에 의해 지정된 동기 실행 프로그램을 실행하는 구성이어도 된다.
상기한 구성에 의해, 프로그램 실행 수단이 처리를 행하는 타이밍과 함께, 실행하는 동기 실행 프로그램을, 동기 제어 수단으로부터 제어할 수 있다. 따라서, 프로그램 실행 수단에 복수의 동기 실행 프로그램(명령)을 절환하면서 실행시키는 것이 가능하게 된다.
또한, 본 발명에 따른 재생 장치는, 상기 콘텐츠 데이터의 도중으로부터 재생을 개시할 때, 상기 동기 제어 수단은, 재생을 개시하는 시각보다도 전의 시각을 나타내는 타이밍 지정 정보를 포함하는 동기 타이밍 정보에 따라서, 타이밍 지정 정보가 전인 것부터 순서대로 동기 제어 신호를 송신하는 구성이어도 된다.
상기한 구성에 의해, 또한, 콘텐츠 데이터의 도중으로부터 재생을 개시할 때, 그 시각까지의 비디오용 클럭의 변화를 재현해 줄 필요가 없어, 재생 개시까지의 시간을 단축하는 것이 가능하게 된다.
또한, 본 발명에 따른 재생 장치는, 상기 동기 타이밍 정보는, 상기 타이밍 지정 정보와 함께, 다른 동기 타이밍 정보와의 의존 관계를 나타내는 의존 정보를 포함하며, 상기 콘텐츠 데이터의 도중으로부터 재생을 개시할 때, 상기 동기 제어 수단은, 다른 동기 타이밍 정보에 의존하지 않는 것을 나타내는 의존 정보를 포함하는 동기 타이밍 정보 중, 재생을 개시하는 시각에 가장 가까운 과거의 시각을 나타내는 타이밍 지정 정보를 포함하는 동기 타이밍 정보와, 그 동기 타이밍 정보보다도 후의 시각을 나타내는 타이밍 지정 정보를 포함하는 동기 타이밍 정보에 따라서, 타이밍 지정 정보가 전인 것부터 순서대로 동기 제어 신호를 송신하는 구성이어도 된다.
상기한 구성에 의해, 또한, 콘텐츠 데이터의 도중으로부터 재생을 개시할 때, 재생 개시 시각에 합치한 그래픽스의 표시 등의 처리를 즉시 실행할 수 있기 때문에, 불필요한 처리를 실행할 필요가 없어져, 재생 개시까지의 시간을 단축하는 것이 가능하게 된다.
또한, 본 발명에 따른 재생 장치는, 상기 데이터 취득 수단은, 복수의 동기 실행 프로그램을 실행한 결과와 동일한 결과가 얻어지는 통합 동기 실행 프로그램을 취득하는 것이고, 상기 동기 타이밍 정보는, 상기 타이밍 지정 정보와 함께, 실행하여야 할 동기 실행 프로그램을 나타내는 액션 지정 정보와, 그 액션 지정 정보로 나타내어진 동기 실행 프로그램이 통합 동기 실행 프로그램인지의 여부를 나타내는 통합 동기 실행 프로그램 식별 정보를 포함하며, 상기 콘텐츠 데이터의 도중으로부터 재생을 개시할 때, 상기 동기 제어 수단은, 통합 동기 실행 프로그램인 것을 나타내는 통합 동기 실행 프로그램 식별 정보를 포함하는 동기 타이밍 정보 중, 재생을 개시하는 시각에 가장 가까운 과거의 시각을 나타내는 타이밍 지정 정보를 포함하는 동기 타이밍 정보와, 그 동기 타이밍 정보보다도 후의 시각을 나타내는 타이밍 지정 정보를 포함하는 동기 타이밍 정보에 따라서, 타이밍 지정 정보가 전인 것부터 순서대로 동기 제어 신호를 송신하는 구성이어도 된다.
상기한 구성에 의해, 또한, 콘텐츠 데이터의 도중으로부터 재생을 개시할 때, 재생 개시 시각에 합치한 그래픽스의 표시 등의 처리를 즉시 실행할 수 있기 때문에, 불필요한 처리를 실행할 필요가 없어져, 재생 개시까지의 시간을 단축하는 것이 가능하게 된다.
또한, 본 발명에 따른 재생 장치는, 상기 데이터 취득 수단은, 상기 콘텐츠 데이터의 도중으로부터 재생을 개시한 경우에만 실행되는 도중 재생 동기 실행 프로그램을 취득하는 것이고, 상기 동기 타이밍 정보는, 상기 타이밍 지정 정보와 함께, 실행하여야 할 동기 실행 프로그램을 나타내는 액션 지정 정보와, 그 액션 지정 정보로 나타내어진 동기 실행 프로그램이 도중 재생 동기 실행 프로그램인지의 여부를 나타내는 도중 재생 동기 실행 프로그램 식별 정보를 포함하며, 상기 콘텐츠 데이터의 도중으로부터 재생을 개시할 때, 상기 동기 제어 수단은, 도중 재생 동기 실행 프로그램인 것을 나타내는 도중 재생 동기 실행 프로그램 식별 정보를 포함하는 동기 타이밍 정보 중, 재생을 개시하는 시각에 가장 가까운 과거의 시각을 나타내는 타이밍 지정 정보를 포함하는 동기 타이밍 정보와, 그 동기 타이밍 정보보다도 후의 시각을 나타내는 타이밍 지정 정보를 포함하는 동기 타이밍 정보에 따라서, 타이밍 지정 정보가 전인 것부터 순서대로 동기 제어 신호를 송신하는 구성이어도 된다.
상기한 구성에 의해, 또한, 재생 개시 시각에 따라서 인터럽트 처리를 선택할 수 있어, 재생 상태에 따른 처리가 가능하게 된다. 예를 들면, 어떤 시각부터 재생을 개시한 경우에만 특별한 그래픽스를 표시하거나 함으로써, 유저는 콘텐츠를 반복하여 즐기는 것이 가능하게 되어, 콘텐츠의 부가가치를 향상시키는 것이 가능하게 된다.
또한, 본 발명에 따른 재생 장치는, 상기 동기 타이밍 정보는, 상기 동기 실행 프로그램이 실행되어야 할 때의 상기 디코드 수단의 상태를 나타내는 실행 조건 정보를 포함하고, 상기 동기 제어 수단은, 상기 디코드 수단의 상태를 감시함과 함께, 그 상태와 상기 실행 조건 정보에 기초하여 상기 동기 제어 신호를 송신하는 구성이어도 된다.
상기한 구성에 의해, 또한, 재생 상태에 따라서 인터럽트 처리를 선택할 수 있어, 재생 상태에 따른 처리가 가능하게 된다. 예를 들면, 빨리 감기인 경우에만 특별한 그래픽스를 표시하거나 함으로써, 유저는 콘텐츠를 반복하여 즐기는 것이 가능하게 되어, 콘텐츠의 부가가치를 향상시키는 것이 가능하게 된다.
또한, 본 발명에 따른 재생 장치는, 상기 디코드 수단은 콘텐츠 데이터로서의 비디오 데이터를 재생하여 비디오 화상을 출력하는 것이고, 상기 프로그램 실행 수단은, 상기 동기 실행 프로그램으로서, 상기 비디오 화상에 중첩되는 화상 데이터를 생성하는 프로그램을 실행하는 구성이어도 된다.
상기한 구성에 의해, 디코드 수단으로 재생한 비디오 화상에, 해당 비디오 화상의 재생에 동기하여 프로그램 실행 수단으로 생성한 화상 데이터를 중첩시켜 출력하는 것이 가능하게 된다. 또한, 프로그램 실행 수단으로 생성한 화상 데이터는, 정지 화상이어도 되고, 애니메이션이어도 된다.
또한, 본 발명에 따른 재생 장치는, 콘텐츠 데이터, 동기 실행 프로그램을 취득하는 데이터 취득 수단과, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 수단과, 클럭 신호를 생성하는 클럭 생성 수단과, 상기 클럭 신호에 따라서 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 수단과, 상기 클럭 신호에 따라서, 소정의 타이밍에서 상기 프로그램 실행 수단에 동기 제어 신호를 송신하는 동기 제어 수단과, 외부로부터의 재생 제어 조작을 접수하여 재생 제어 정보로 변환하는 입력 수단을 구비하고, 상기 디코드 수단은, 상기 입력 수단으로부터의 재생 제어 정보에 의해 제어되며, 상기 프로그램 실행 수단은 적어도 상기 동기 제어 수단으로부터 수신한 동기 제어 신호에 따라서 동기 실행 프로그램을 실행하는 구성이어도 된다.
또한, 본 발명에 따른 재생 장치의 제어 방법은, 데이터 취득 수단, 프로그램 실행 수단, 클럭 생성 수단, 디코드 수단, 동기 제어 수단, 입력 수단을 구비한 재생 장치의 제어 방법으로서, 상기 데이터 취득 수단으로, 콘텐츠 데이터, 동기 실행 프로그램을 취득하는 데이터 취득 스텝과, 상기 프로그램 실행 수단으로, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 스텝과, 상기 클럭 생성 수단으로, 클럭 신호를 생성하는 클럭 생성 스텝과, 상기 디코드 수단으로, 상기 클럭 신호에 따라서 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 스텝과, 상기 동기 제어 수단으로, 상기 클럭 신호에 따라서, 소정의 타이밍에서 상기 프로그램 실행 수단에 동기 제어 신호를 송신하는 동기 제어 스텝과, 상기 입력 수단으로, 외부로부터의 재생 제어 조작을 접수하여 재생 제어 정보로 변환하는 입력 스텝을 포함하고, 상기 디코드 스텝에서, 상기 디코드 수단이 상기 입력 수단으로부터의 재생 제어 정보에 따라서 동작하고, 상기 프로그램 실행 스텝에서, 상기 프로그램 실행 수단이 적어도 상기 동기 제어 수단으로부터 수신한 동기 제어 신호에 따라서 동기 실행 프로그램을 실행하는 방법이어도 된다.
상기한 구성에 의해, 콘텐츠 데이터의 재생에 동기한 동기 실행 프로그램의 실행이 가능하고, 또한, 외부로부터의 재생 제어 조작(유저의 조작)에 의해 동기 실행 프로그램을 통하지 않고 콘텐츠 재생을 제어할 수 있다. 그렇기 때문에, 동기 실행 프로그램을 통하는 것에 의한 오버헤드를 배제하여, 유저에 의한 재생 제어 조작에 대한 레스펀스를 높일 수 있게 된다.
여기서, 동기 제어 수단이 프로그램 실행 수단에 동기 제어 신호를 송신하는 「소정의 타이밍」으로서는, 예를 들면, 콘텐츠 데이터의 재생 종료시나, 동기 타이밍 정보에 의해 지정된 타이밍을 들 수 있다.
또한, 본 발명에 따른 재생 장치는, 콘텐츠 데이터, 동기 실행 프로그램, 프로그램 관리 정보를 취득하는 데이터 취득 수단과, 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 수단과, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 수단을 구비하고, 또한, 상기 프로그램 관리 정보에는, 동시에 재생 출력을 행하는 콘텐츠 데이터 및 동기 실행 프로그램을 각각 지정하는 프로그램 지정 정보 및 콘텐츠 데이터 지정 정보가 포함되어 있으며, 상기 프로그램 지정 정보에 의해 지정된 동기 실행 프로그램의 실행을 상기 프로그램 실행 수단에 지시함과 함께, 상기 콘텐츠 지정 정보에 의해 지정된 콘텐츠 데이터의 변환을 상기 디코드 수단에 지시 또는 상기 콘텐츠 지정 정보에 의해 지정된 콘텐츠 데이터의 취득을 상기 데이터 취득 수단에 지시하는 전체 제어 수단을 구비하는 구성이어도 된다.
또한, 본 발명에 따른 재생 장치의 제어 방법은, 디코드 수단, 프로그램 실행 수단, 데이터 취득 수단을 구비한 재생 장치의 제어 방법으로서, 상기 데이터 취득 수단으로, 콘텐츠 데이터, 동기 실행 프로그램, 프로그램 관리 정보를 취득하는 데이터 취득 스텝과, 디코드 수단으로 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 스텝과, 프로그램 실행 수단으로 상기 동기 실행 프로그램을 실행하는 프로그램 실행 스텝을 포함하고, 또한, 상기 프로그램 관리 정보에는, 동시에 재생 출력을 행하는 콘텐츠 데이터 및 동기 실행 프로그램을 각각 지정하는 프로그램 지정 정보 및 콘텐츠 데이터 지정 정보가 포함되어 있으며, 상기 프로그램 지정 정보에 의해 지정된 동기 실행 프로그램의 실행을 상기 프로그램 실행 수단에 지시함과 함께, 상기 콘텐츠 지정 정보에 의해 지정된 콘텐츠 데이터의 변환을 상기 디코드 수단에 지시 또는 상기 콘텐츠 지정 정보에 의해 지정된 콘텐츠 데이터의 취득을 상기 데이터 취득 수단에 지시하는 재생 실행 지시 스텝을 포함하는 방법이어도 된다.
상기한 구성에 의해, 동기 실행 프로그램의 실행과 독립하여, 콘텐츠 데이터의 기록 매체로부터의 판독, 디코드, 재생의 개시가 가능하게 되어, 콘텐츠 데이터의 재생 개시까지의 시간을 단축할 수 있다. 특히, 콘텐츠 데이터의 취득을 데이터 취득 수단에 지시함으로써, 선판독이 가능하게 된다. 또한, 상기한 구성에서, 동기 실행 프로그램은, 출력 데이터를 생성하는 것에 한정되지 않는다.
또한, 본 발명에 따른 재생 장치는, 상기 프로그램 관리 정보는, 콘텐츠 데이터의 재생 개시에 동기 실행 프로그램으로부터의 지시를 필요로 하는지의 여부를 나타내는 재생 개시 지시 필요 여부 정보를 포함하고, 상기 디코드 수단은, 상기 재생 개시 지시 필요 여부 정보가 동기 실행 프로그램으로부터의 지시를 필요로 한다는 취지를 나타내는 경우, 동기 실행 프로그램으로부터의 지시가 있을 때까지 콘텐츠 데이터의 재생을 개시하지 않는 구성이어도 된다.
상기한 구성에 의해, 또한, 동기 실행 프로그램의 실행과 독립하여, 콘텐츠 데이터의 기록 매체로부터의 판독, 디코드가 가능하게 되어, 콘텐츠 데이터의 재생 개시까지의 시간을 단축할 수 있음과 동시에, 동기 실행 프로그램의 실행과 콘텐츠 데이터 재생의 개시의 위상을 맞추는 것이 가능하게 된다.
또한, 본 발명에 따른 재생 장치는, 콘텐츠 데이터, 동기 실행 프로그램, 프로그램 관리 정보를 취득하는 데이터 취득 수단과, 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 수단과, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 수단과, 외부로부터의 재생 제어 조작을 접수하여 재생 제어 정보로 변환하는 입력 수단과, 상기 입력 수단으로부터의 재생 제어 정보와 상기 프로그램 실행 수단으로부터의 재생 제어 정보를, 상기 프로그램 관리 정보에 포함되는 재생 제어 절환 정보에 기초하여 절환하여 디코드 수단에 보내는 절환 수단을 구비하는 구성이어도 된다.
상기한 구성에 의해, 유저에 의한 재생 제어와 동기 실행 프로그램에 의한 재생 제어를 절환하는 것이 가능하게 된다. 따라서, 유저에 의한 재생 제어 조작에 대한 레스펀스를 중시할 지, 프로그램의 자유도를 우선할 지를, 콘텐츠 작성자가 선택하여 콘텐츠를 제작할 수 있다. 또한, 상기한 구성에서, 동기 실행 프로그램은, 출력 데이터를 생성하는 것에 한정되지 않는다.
또한, 본 발명에 따른 재생 장치는, 콘텐츠 데이터, 동기 실행 프로그램, 프로그램 관리 정보를 취득하는 데이터 취득 수단과, 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 수단과, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 수단을 구비하고, 또한, 콘텐츠 데이터 및 동기 실행 프로그램의 재생 출력을 일시 정지 및 일시 정지한 개소로부터 재생을 재개하는 전체 제어 수단을 포함하고, 상기 프로그램 관리 정보는, 콘텐츠 데이터 및 동기 실행 프로그램의 재생 출력을 일시 정지한 후에, 일시 정지한 개소로부터 재생을 재개하는 리쥼 기능이 가능한지의 여부를 나타내는 리쥼 가부 정보를 포함하고, 상기 리쥼 가부 정보가 리쥼 기능이 가능하지 않은 것을 나타내고 있는 경우, 상기 전체 제어 수단은, 일시 정지한 개소로부터의 재생 개시를 지시하지 않는 구성이어도 된다.
상기한 구성에 의해, 리쥼을 할 수 없는 콘텐츠에서는, 리쥼을 행하지 않는다. 따라서, 안정된 동작이 가능하게 됨과 함께, 유저의 혼란을 줄일 수 있다.
또한, 본 발명에 따른 재생 장치는, 콘텐츠 데이터, 동기 실행 프로그램, 프로그램 관리 정보를 취득하는 데이터 취득 수단과, 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 수단과, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 수단을 구비하고, 또한, 상기 프로그램 관리 정보는, 콘텐츠 데이터 및 동기 실행 프로그램의 재생 출력을 일시 정지한 후에, 일시 정지한 개소로부터 재생을 재개하는 리쥼 기능이 가능한지의 여부를 나타내는 리쥼 가부 정보를 포함하고, 유저로부터 일시 정지의 지시, 일시 정지를 필요로 하는 동작의 지시, 일시 정지한 개소로부터 재생을 재개하는 지시 중 어느 하나의 지시를 받았을 때, 상기 리쥼 가부 정보가 리쥼 기능이 가능하지 않다는 것을 나타내고 있는 경우, 리쥼 기능이 가능하지 않다는 취지를 유저에게 제시하는 제시 수단을 구비하는 구성이어도 된다.
상기한 구성에 의해, 리쥼을 할 수 없는 콘텐츠에 관해서, 유저로부터 일시 정지의 지시, 일시 정지를 필요로 하는 동작의 지시, 일시 정지한 개소로부터 재생을 재개하는 지시를 받았을 때에, 그 동작을 실행하기 전에, 유저에게 경고 메시지 등을 제시할 수 있다. 따라서, 유저의 혼란을 줄일 수 있다.
또한, 상기 동작의 지시의 예로서는, 유저에 의한 메뉴 호출의 지시 및 메뉴로부터의 복귀의 지시가 있고, 상기 구성은 이들에 대하여 특히 바람직하다. 또한, 제시 수단에 의한 제시의 예로서는, 램프의 점등, 경보음, 표시 화면에의 메시지 표시 등을 들 수 있다. 또한, 상기한 구성에서, 동기 실행 프로그램은, 출력 데이터를 생성하는 것에 한정되지 않는다.
또한, 본 발명에 따른 재생 장치는, 콘텐츠 데이터, 동기 실행 프로그램, 프로그램 관리 정보를 취득하는 데이터 취득 수단과, 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 수단과, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 수단을 구비하고, 또한, 상기 프로그램 관리 정보에는, 동기 실행 프로그램과 동시에 재생 출력을 행하는 콘텐츠 데이터를 지정하는 콘텐츠 데이터 지정 정보가 적어도 포함되어 있으며, 상기 동기 실행 프로그램이 디코드 수단에 대하여 디코드를 지시하는 콘텐츠 데이터가, 상기 콘텐츠 데이터 지정 정보에 의해 지정된 콘텐츠 데이터인지의 여부를 검증하는 검증 수단을 구비하여 구성되어 있어도 된다.
또한, 본 발명에 따른 재생 장치의 제어 방법은, 디코드 수단, 프로그램 실행 수단, 데이터 취득 수단, 검증 수단을 구비한 재생 장치의 제어 방법으로서, 상기 데이터 취득 수단으로, 콘텐츠 데이터, 동기 실행 프로그램, 프로그램 관리 정보를 취득하는 데이터 취득 스텝과, 상기 디코드 수단으로, 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 스텝과, 상기 프로그램 실행 수단으로, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 스텝을 포함하고, 또한, 상기 프로그램 관리 정보에는, 동기 실행 프로그램과 동시에 재생 출력을 행하는 콘텐츠 데이터를 지정하는 콘텐츠 데이터 지정 정보가 적어도 포함되어 있으며, 상기 검증 수단으로, 상기 동기 실행 프로그램이 디코드 수단에 대하여 디코드를 지시하는 콘텐츠 데이터가, 상기 콘텐츠 데이터 지정 정보에 의해 지정된 콘텐츠 데이터인지의 여부를 검증하는 검증 스텝을 포함하는 구성이어도 된다.
상기한 구성에 의해, 동기 실행 프로그램이 재생하고자 한 콘텐츠 데이터가, 콘텐츠 데이터 지정 정보에 의해 지정된 콘텐츠 데이터인지의 여부를 검증할 수 있다. 따라서, 현재 실행 중인 동기 실행 프로그램의 콘텐츠 데이터의 재생이, 콘텐츠 데이터의 권리 소유자에게 허가된 것인지의 여부를 검증할 수 있다. 따라서, 재생하는 것이 허가되어 있지 않은 프로그램에 의한 재생 동작을 검출하여, 콘텐츠 데이터가 무단으로 재생되는 것을 방지할 수 있다. 또한, 동기 실행 프로그램은, 재생 출력을 위한 출력 데이터를 생성하는 것에 한하지 않는다.
게다가, 프로그램 관리 정보의 콘텐츠 데이터 지정 정보에 의해 지정(선언)된 콘텐츠 데이터만을 동기 실행 프로그램이 재생할 수 있도록 재생 장치를 구성함으로써, 콘텐츠 데이터의 권리 소유자가 동기 실행 프로그램을 실행하지 않고, 동기 실행 프로그램 외의 콘텐츠 데이터 지정 정보라고 하는 정적인 정보를 확인하는 것만으로, 콘텐츠 데이터의 권리 소유자가 콘텐츠 데이터의 부정 이용을 체크하는 것이 가능하게 된다.
또한, 본 발명에 따른 재생 장치는, 콘텐츠 데이터, 동기 실행 프로그램, 프로그램 관리 정보, 검증용 정보를 취득하는 데이터 취득 수단과, 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 수단과, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 수단을 구비하고, 또한, 상기 프로그램 관리 정보에는, 동기 실행 프로그램과 동시에 재생 출력을 행하는 콘텐츠 데이터의 사용을 허가하는 허가 정보가 적어도 포함되어 있으며, 상기 동기 실행 프로그램이 디코드 수단에 대하여 디코드를 지시하는 콘텐츠 데이터의 상기 허가 정보를, 상기 검증용 정보를 이용하여 검증하는 검증 수단을 구비하여 구성되어 있어도 된다.
또한, 본 발명에 따른 재생 장치의 제어 방법은, 디코드 수단, 프로그램 실행 수단, 데이터 취득 수단, 검증 수단을 구비한 재생 장치의 제어 방법으로서, 상기 데이터 취득 수단으로, 콘텐츠 데이터, 동기 실행 프로그램, 프로그램 관리 정보, 검증용 정보를 취득하는 데이터 취득 스텝과, 상기 디코드 수단으로, 상기 콘텐츠 데이터를 재생 출력을 위한 재생 데이터로 변환하는 디코드 스텝과, 상기 프로그램 실행 수단으로, 상기 동기 실행 프로그램을 실행하는 프로그램 실행 스텝을 포함하고, 또한, 상기 프로그램 관리 정보에는, 동기 실행 프로그램과 동시에 재생 출력을 행하는 콘텐츠 데이터의 사용을 허가하는 허가 정보가 적어도 포함되어 있으며, 상기 검증 수단으로, 상기 동기 실행 프로그램이 디코드 수단에 대하여 디코드를 지시하는 콘텐츠 데이터의 상기 허가 정보를, 상기 검증용 정보를 이용하여 검증하는 검증 스텝을 포함하는 구성이어도 된다.
상기한 구성에 의해, 콘텐츠 데이터의 재생이, 프로그램 관리 정보에 적정한 허가 정보가 기록된 동기 실행 프로그램에 의한 재생인지의 여부를 검증용 정보를 이용하여 검증할 수 있다. 따라서, 현재 실행 중인 동기 실행 프로그램의 콘텐츠 데이터의 재생이, 콘텐츠 데이터의 권리 소유자에게 허가된 것인지의 여부를 검증할 수 있다. 따라서, 재생하는 것이 허가되어 있지 않은 프로그램에 의한 재생 동작을 검출하여, 콘텐츠 데이터가 무단으로 재생되는 것을 방지할 수 있다. 또한, 동기 실행 프로그램은, 재생 출력을 위한 출력 데이터를 생성하는 것에 한하지 않는다.
또한, 본 발명에 따른 재생 장치는, 상기 검증용 정보는 공개 키이고, 상기 허가 정보는 상기 공개 키에 대응하는 비밀 키를 이용하여 상기 동기 실행 프로그램 고유의 정보를 암호화한 것이며, 상기 검증 수단은, 상기 허가 정보를 상기 검증용 정보로 복호하여, 얻어진 결과에 기초하여 검증을 행하는 것인 것이 바람직하다. 또한, 「동기 실행 프로그램 고유의 정보」에는, 예를 들면, 동기 실행 프로그램의 코드 자체나 동기 실행 프로그램의 코드에 해시 처리를 실시하여 얻어지는 해시값을 이용할 수 있다.
또한, 본 발명에 따른 재생 장치는, 상기 프로그램 실행 수단은, 상기 검증 수단의 검증의 결과, 허가 정보가 적정하다고 확인되지 않은 경우, 상기 동기 실행 프로그램의 실행을 정지하는 구성이어도 된다.
상기한 구성에 의해, 또한, 재생하는 것이 허가되어 있지 않은 프로그램이, 의도적 혹은 프로그램의 버그에 의해 콘텐츠 데이터를 무단으로 재생하게 되는 것을 방지할 수 있다.
또한, 상기 재생 장치는, 컴퓨터에 의해서 실현해도 되고, 이 경우에는, 컴퓨터를 상기한 각 수단, 특히, 상기 동기 제어 수단 및 상기 동기 처리 수단으로서 동작시킴으로써 상기 재생 장치를 컴퓨터로 실현시키는 재생 장치의 제어 프로그램, 및, 그 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체도, 본 발명의 범주에 들어간다.
또한, 본 발명에 따른 콘텐츠 기록 매체는, 상기한 재생 장치에 공급 가능하도록, 콘텐츠 데이터, 동기 실행 프로그램, 동기 타이밍 정보 중의 적어도 하나가 기록되어 있는 구성이어도 된다.
또한, 본 발명에 따른 콘텐츠 기록 매체는, 상기한 재생 장치에 공급 가능하도록, 콘텐츠 데이터, 동기 타이밍 정보가 기록되어 있고, 상기 동기 타이밍 정보가 상기 콘텐츠 데이터와 분리되어 있는 구성이어도 된다.
상기한 구성에 의해, 콘텐츠 데이터(비디오 데이터)와 동기 타이밍 정보를 따로따로 관리함으로써, 1개의 콘텐츠 데이터를 복수의 동기 실행 프로그램에서 공유하는 것이 용이하게 된다. 또한, 동기 타이밍 정보와 동기 실행 프로그램을 다른 파일로서 관리함으로써, 프로그램 작성 후에 비디오 데이터를 편집한 경우에도, 동기 실행 프로그램을 재기입할 필요가 없다.
또한, 본 발명에 따른 콘텐츠 기록 매체는, 상기한 재생 장치에 공급 가능하도록, 동기 실행 프로그램, 동기 타이밍 정보가 기록되어 있고, 상기 동기 타이밍 정보가 상기 동기 실행 프로그램의 근방에 기록되어 있는 구성이어도 된다.
상기한 구성에 의해, 동기 실행 프로그램의 실행에 있어서의 이들 데이터의 판독시의 픽업의 이동 거리가 작게 된다. 따라서, 재생 개시까지의 대기 시간이 단축됨과 함께, 비디오 재생의 도중 끊김의 방지, 전력 소비의 억제, 소음의 억제가 가능하게 된다.
또한, 본 발명에 따른 콘텐츠 기록 매체는, 상기한 재생 장치에 공급 가능하도록, 동기 실행 프로그램, 동기 타이밍 정보가 기록되어 있고, 상기 동기 타이밍 정보가 상기 동기 실행 프로그램과 동일 파일에 저장되어 있는 구성이어도 된다.
상기한 구성에 의해, 판독하는 파일수가 감소되기 때문에, 판독시의 오버헤드가 감소된다.
또한, 본 발명에 따른 콘텐츠 기록 매체는, 상기한 재생 장치에 공급 가능하도록, 콘텐츠 데이터, 동기 실행 프로그램, 프로그램 관리 정보 중의 적어도 하나가 기록되어 있는 구성이어도 된다.
또한, 본 발명에 따른 콘텐츠 기록 매체는, 상기한 재생 장치에 공급 가능하도록, 콘텐츠 데이터, 프로그램 관리 정보, 검증용 정보가 적어도 기록되고, 상기 프로그램 관리 정보에는, 동기 실행 프로그램과 동시에 재생 출력을 행하는 콘텐츠 데이터의 사용을 허가하는 허가 정보가 적어도 포함되어 있으며, 상기 검증용 정보는, 상기 콘텐츠 데이터에 포함되어 있는 구성이어도 된다.
또한, 본 발명에 따른 콘텐츠 기록 매체는, 상기 검증용 정보가, 콘텐츠 데이터 중에 소정의 간격으로 다중화되어 있는 구성이어도 된다.
상기한 구성에 의해, 또한, 검증용 정보 판독에 수반하는 픽업의 이동이 발생하지 않기 때문에, 비디오 재생까지의 대기 시간이 단축된다. 또한, 상기 콘텐츠 기록 매체에는, 콘텐츠 데이터, 프로그램 관리 정보, 검증용 정보와 함께, 동기 실행 프로그램이 기록되어 있어도 된다.
또한, 본 발명에 따른 콘텐츠 기록 매체는, 상기 검증용 정보는, 콘텐츠 데이터의 구간에 따라서 서로 다른 구성이어도 된다.
상기한 구성에 의해, 또한, 필요한 구간에만 프로그램에 대하여 재생 허가를 부여할 수 있게 된다.
또한, 본 발명에 따른 데이터 구조는, 재생 장치에서 재생되는 콘텐츠 데이터를 저장하는 콘텐츠 데이터 저장 영역과, 재생 장치에서 상기 콘텐츠 데이터의 재생과 동기하여 실행되는 동기 실행 프로그램을 저장하는 동기 실행 프로그램 저장 영역과, 재생 장치가 상기 콘텐츠 데이터를 재생하기 위한 클럭 신호에 기초하여, 상기 동기 실행 프로그램이 실행되는 타이밍을 지정한 동기 타이밍 정보를 저장하는 동기 타이밍 정보 저장 영역을 포함하는 구성이어도 된다.
상기한 구성에 의해, 이들 데이터를 저장한 콘텐츠 기록 매체를 실현할 수 있기 때문에, 이들 데이터를 재생 장치에 간편하게 공급하는 것이 가능하게 된다.
또한, 본 발명에 따른 데이터 구조는, 재생 장치에서 재생되는 콘텐츠 데이터를 저장하는 콘텐츠 데이터 저장 영역과, 재생 장치에서 상기 콘텐츠 데이터의 재생과 동기하여 실행되는 동기 실행 프로그램을 저장하는 동기 실행 프로그램 저장 영역과, 동시에 재생 출력을 행하는 콘텐츠 데이터 및 동기 실행 프로그램을 각각 지정하는 프로그램 지정 정보 및 콘텐츠 데이터 지정 정보를 포함하는 프로그램 관리 정보를 저장하는 프로그램 관리 정보 저장 영역을 포함하는 구성이어도 된다.
상기한 구성에 의해, 이들 데이터를 저장한 콘텐츠 기록 매체를 실현할 수 있기 때문에, 이들 데이터를 재생 장치에 간편하게 공급하는 것이 가능하게 된다.
또한, 본 발명에 따른 데이터 구조는, 상기 프로그램 관리 정보에는, 동기 실행 프로그램과 동시에 재생 출력을 행하는 콘텐츠 데이터의 사용을 허가하는 허가 정보가 적어도 포함되어 있고, 상기 콘텐츠 데이터에는, 상기 허가 정보를 검증하기 위한 검증용 정보가 포함되어 있는 구성이어도 된다.
상기한 구성에 의해, 또한, 이들 데이터를 저장한 콘텐츠 기록 매체를 실현할 수 있기 때문에, 이들 데이터를 재생 장치에 간편하게 공급하는 것이 가능하게 된다.
발명의 상세한 설명의 항에서 이루어진 구체적인 실시 양태 또는 실시예는, 어디까지나, 본 발명의 기술 내용을 명확하게 하는 것으로서, 그와 같은 구체예에만 한정하여 협의로 해석되어서는 안 되고, 본 발명의 정신과 특허 청구 사항의 범위 내에서, 여러 가지로 변경하여 실시할 수 있는 것이다.
Claims (4)
- 콘텐츠 데이터를 재생하는 콘텐츠 재생 장치로서,
비트맵 데이터를 생성하는 프로그램을 실행하여 복수의 비트맵 데이터를 생성하고, 생성한 복수의 비트맵 데이터를 각각 다른 버퍼 메모리에 저장하는 프로그램 실행수단과,
상기 콘텐츠 데이터의 재생 시간축 상의 시각을 표시하는 동기 타이밍 정보를 취득하고, 그 동기 타이밍 정보가 표시하는 시각에, 복수의 상기 버퍼 메모리 중, 지정된 한개의 버퍼 메모리에 저장되어 있는 비트맵 데이터를 출력하는 것을 특징으로 하는 콘텐츠 재생 장치. - 제1항에 기재된 콘텐츠 재생 장치에 공급 가능하도록, 상기 콘텐츠 데이터, 상기 프로그램, 및 상기 동기 타이밍 정보 중 적어도 하나가 기록되어 있는 것을 특징으로 하는 콘텐츠 기록 매체.
- 콘텐츠 데이터를 재생하는 콘텐츠 재생 장치에 의한 콘텐츠 재생 방법으로서,
비트맵 데이터를 생성하는 프로그램을 실행하여 복수의 비트맵 데이터를 생성하고, 생성한 복수의 비트맵 데이터를 각각 다른 버퍼 메모리에 저장하는 스텝과,
상기 콘텐츠 데이터의 재생 시간축 상의 시각을 표시하는 동기 타이밍 정보를 취득하고, 그 동기 타이밍 정보가 표시하는 시각에, 복수의 상기 버퍼 메모리 중, 지정된 한개의 버퍼 메모리에 저장되어 있는 비트맵 데이터를 출력하는 스텝을 포함하는 것을 특징으로 하는 콘텐츠 재생 방법. - 콘텐츠 데이터를 재생하는 콘텐츠 재생 장치를 동작시키는 제어 프로그램을 기록한 컴퓨터 판독 가능 기록 매체로서,
상기 제어 프로그램은, 상기 컴퓨터에,
비트맵 데이터를 생성하는 프로그램을 실행하여 복수의 비트맵 데이터를 생성하고, 생성한 복수의 비트맵 데이터를 각각 다른 버퍼 메모리에 저장하는 스텝과,
상기 콘텐츠 데이터의 재생 시간축 상의 시각을 표시하는 동기 타이밍 정보를 취득하고, 그 동기 타이밍 정보가 표시하는 시각에, 복수의 상기 버퍼 메모리 중, 지정된 한개의 버퍼 메모리에 저장되어 있는 비트맵 데이터를 출력하는 스텝을 실행시키는 것을 특징으로 하는 기록 매체.
Applications Claiming Priority (14)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2003-352932 | 2003-10-10 | ||
JP2003352932 | 2003-10-10 | ||
JPJP-P-2004-205234 | 2004-07-12 | ||
JP2004205234 | 2004-07-12 | ||
JPJP-P-2004-231734 | 2004-08-06 | ||
JP2004231734 | 2004-08-06 | ||
JPJP-P-2004-232677 | 2004-08-09 | ||
JP2004232677 | 2004-08-09 | ||
JPJP-P-2004-264721 | 2004-09-10 | ||
JP2004264721 | 2004-09-10 | ||
JPJP-P-2004-290771 | 2004-10-01 | ||
JP2004290771A JP5132871B2 (ja) | 2003-10-10 | 2004-10-01 | コンテンツ再生装置、コンテンツ再生装置の制御方法、コンテンツ記録媒体、制御プログラム、制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2004296073A JP2006109317A (ja) | 2003-10-10 | 2004-10-08 | 再生装置 |
JPJP-P-2004-296073 | 2004-10-08 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087008164A Division KR100966670B1 (ko) | 2003-10-10 | 2004-10-08 | 콘텐츠 기록 매체 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100018104A KR20100018104A (ko) | 2010-02-16 |
KR100966668B1 true KR100966668B1 (ko) | 2010-06-29 |
Family
ID=34437806
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067009084A KR100848437B1 (ko) | 2003-10-10 | 2004-10-08 | 콘텐츠 재생 장치, 콘텐츠 재생 장치의 제어 방법, 콘텐츠 기록 매체, 및 컴퓨터 판독 가능한 기록 매체 |
KR1020077024080A KR100804380B1 (ko) | 2003-10-10 | 2004-10-08 | 재생 장치, 비디오 데이터의 재생 방법, 콘텐츠 기록 매체,및 컴퓨터 판독 가능한 기록 매체 |
KR1020077024077A KR100844705B1 (ko) | 2003-10-10 | 2004-10-08 | 재생 장치, 비디오 데이터의 재생 방법, 콘텐츠 기록 매체,및 컴퓨터 판독 가능한 기록 매체 |
KR1020087008164A KR100966670B1 (ko) | 2003-10-10 | 2004-10-08 | 콘텐츠 기록 매체 |
KR1020077024079A KR100844706B1 (ko) | 2003-10-10 | 2004-10-08 | 재생 장치, 비디오 데이터의 재생 방법, 콘텐츠 기록 매체,및 컴퓨터 판독 가능한 기록 매체 |
KR1020107001972A KR100966668B1 (ko) | 2003-10-10 | 2004-10-08 | 콘텐츠 재생 장치, 콘텐츠 기록 매체, 콘텐츠 재생 방법 및 기록 매체 |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067009084A KR100848437B1 (ko) | 2003-10-10 | 2004-10-08 | 콘텐츠 재생 장치, 콘텐츠 재생 장치의 제어 방법, 콘텐츠 기록 매체, 및 컴퓨터 판독 가능한 기록 매체 |
KR1020077024080A KR100804380B1 (ko) | 2003-10-10 | 2004-10-08 | 재생 장치, 비디오 데이터의 재생 방법, 콘텐츠 기록 매체,및 컴퓨터 판독 가능한 기록 매체 |
KR1020077024077A KR100844705B1 (ko) | 2003-10-10 | 2004-10-08 | 재생 장치, 비디오 데이터의 재생 방법, 콘텐츠 기록 매체,및 컴퓨터 판독 가능한 기록 매체 |
KR1020087008164A KR100966670B1 (ko) | 2003-10-10 | 2004-10-08 | 콘텐츠 기록 매체 |
KR1020077024079A KR100844706B1 (ko) | 2003-10-10 | 2004-10-08 | 재생 장치, 비디오 데이터의 재생 방법, 콘텐츠 기록 매체,및 컴퓨터 판독 가능한 기록 매체 |
Country Status (5)
Country | Link |
---|---|
US (7) | US8233770B2 (ko) |
EP (6) | EP2204805B1 (ko) |
KR (6) | KR100848437B1 (ko) |
CN (6) | CN101790068B (ko) |
WO (1) | WO2005036544A1 (ko) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2204805B1 (en) * | 2003-10-10 | 2012-06-06 | Sharp Kabushiki Kaisha | A content reproducing apparatus, a content recording medium, a control program and a computer-readable recording medium |
JP5013477B2 (ja) | 2004-11-09 | 2012-08-29 | トムソン ライセンシング | 別個の記憶媒体上のコンテンツの結合 |
JPWO2007007454A1 (ja) * | 2005-07-08 | 2009-01-29 | パナソニック株式会社 | 映像音声記録再生装置 |
JP2007179153A (ja) * | 2005-12-27 | 2007-07-12 | Toshiba Corp | スクリプトプログラム実行装置、スクリプトプログラム実行方法及び光ディスク装置 |
KR101205716B1 (ko) | 2008-12-19 | 2012-11-28 | 한국전자통신연구원 | 프로그램 정보에 포함된 시그너처를 이용하여 방송 프로그램의 사용을 제어하는 방송 신호 수신 장치 및 그 방법 |
CN102959979A (zh) * | 2010-06-30 | 2013-03-06 | 松下电器产业株式会社 | 再生装置、声音选择方法以声音选择程序 |
EP2645731B8 (en) | 2010-11-24 | 2019-04-17 | LG Electronics Inc. | Video display device and method of controlling the same |
JP5668512B2 (ja) * | 2011-02-15 | 2015-02-12 | ソニー株式会社 | 情報処理装置、及び、情報処理方法 |
WO2013057977A1 (ja) | 2011-10-21 | 2013-04-25 | 三菱電機株式会社 | 映像情報再生方法及び映像情報再生装置 |
FR3004881B1 (fr) | 2013-04-19 | 2015-04-17 | Kolor | Procede de generation d'un flux video de sortie a partir d'un flux video large champ |
CN103474639B (zh) * | 2013-09-08 | 2015-12-09 | 江西江特锂电池材料有限公司 | 富锂锰基正极材料及其制备方法 |
CN104978392B (zh) * | 2014-04-03 | 2018-12-28 | 卡西欧计算机株式会社 | 输出内容的内容输出装置 |
US10033928B1 (en) | 2015-10-29 | 2018-07-24 | Gopro, Inc. | Apparatus and methods for rolling shutter compensation for multi-camera systems |
US9792709B1 (en) | 2015-11-23 | 2017-10-17 | Gopro, Inc. | Apparatus and methods for image alignment |
US9973696B1 (en) | 2015-11-23 | 2018-05-15 | Gopro, Inc. | Apparatus and methods for image alignment |
US9848132B2 (en) * | 2015-11-24 | 2017-12-19 | Gopro, Inc. | Multi-camera time synchronization |
US9602795B1 (en) | 2016-02-22 | 2017-03-21 | Gopro, Inc. | System and method for presenting and viewing a spherical video segment |
US9973746B2 (en) | 2016-02-17 | 2018-05-15 | Gopro, Inc. | System and method for presenting and viewing a spherical video segment |
US10432855B1 (en) | 2016-05-20 | 2019-10-01 | Gopro, Inc. | Systems and methods for determining key frame moments to construct spherical images |
US10592470B2 (en) * | 2016-08-10 | 2020-03-17 | Microsoft Technology Licensing, Llc | Discovery of calling application for control of file hydration behavior |
US9934758B1 (en) | 2016-09-21 | 2018-04-03 | Gopro, Inc. | Systems and methods for simulating adaptation of eyes to changes in lighting conditions |
US10268896B1 (en) | 2016-10-05 | 2019-04-23 | Gopro, Inc. | Systems and methods for determining video highlight based on conveyance positions of video content capture |
US10194101B1 (en) | 2017-02-22 | 2019-01-29 | Gopro, Inc. | Systems and methods for rolling shutter compensation using iterative process |
JP7103967B2 (ja) * | 2019-02-06 | 2022-07-20 | ファナック株式会社 | 情報処理装置及びプログラム |
JP6752349B1 (ja) * | 2019-12-26 | 2020-09-09 | 株式会社ドワンゴ | コンテンツ配信システム、コンテンツ配信方法、およびコンテンツ配信プログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020021887A1 (en) | 2000-08-09 | 2002-02-21 | Masato Yoshikawa | Image reproduction system and data synchronization method |
Family Cites Families (114)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0660298A4 (en) | 1993-06-30 | 1997-11-12 | Sega Enterprises Kk | IMAGE PROCESSING METHOD AND DEVICE, AND GAME WITH AN IMAGE PROCESSING PART. |
DE726013T1 (de) * | 1993-10-29 | 1998-01-02 | Time Warner Entertainment Co., L.P., Burbank, Calif. | System und verfahren zur wiedergabesteuerung mehrerer, auf einer optischen platte gespeicherter kinofilme |
US5463565A (en) | 1993-10-29 | 1995-10-31 | Time Warner Entertainment Co., L.P. | Data block format for software carrier and player therefor |
ATE243880T1 (de) | 1993-12-18 | 2003-07-15 | Sony Corp | Datenwiedergabegerät und datenaufzeichnungsmedium |
JPH0917127A (ja) | 1995-06-30 | 1997-01-17 | Pioneer Electron Corp | 媒体記録方法、装置及び媒体再生装置 |
KR100371429B1 (ko) * | 1995-08-21 | 2003-03-15 | 마츠시타 덴끼 산교 가부시키가이샤 | 대화제어에기초하여의외성넘치는장면전개를실현할수있는멀티미디어광디스크및그재생장치와재생방법 |
EP1134987A1 (en) * | 1996-03-29 | 2001-09-19 | Matsushita Electric Industrial Co., Ltd. | Multimedia optical disc having improved interactive reproduction procedure, a reproduction apparatus and a method for such a disc |
JP3345412B2 (ja) | 1996-03-29 | 2002-11-18 | 松下電器産業株式会社 | インタラクティブな再生進行の性能を向上させた記録媒体の記録方法、再生装置および再生方法 |
US5903775A (en) | 1996-06-06 | 1999-05-11 | International Business Machines Corporation | Method for the sequential transmission of compressed video information at varying data rates |
US5931908A (en) | 1996-12-23 | 1999-08-03 | The Walt Disney Corporation | Visual object present within live programming as an actionable event for user selection of alternate programming wherein the actionable event is selected by human operator at a head end for distributed data and programming |
US6173317B1 (en) * | 1997-03-14 | 2001-01-09 | Microsoft Corporation | Streaming and displaying a video stream with synchronized annotations over a computer network |
JP3356961B2 (ja) | 1997-04-08 | 2002-12-16 | 直之 宮山 | テレビ番組関連情報提供システム |
JP3615055B2 (ja) | 1997-07-07 | 2005-01-26 | 株式会社東芝 | 多画面表示システム |
US20030113096A1 (en) * | 1997-07-07 | 2003-06-19 | Kabushiki Kaisha Toshiba | Multi-screen display system for automatically changing a plurality of simultaneously displayed images |
JPH1141563A (ja) | 1997-07-22 | 1999-02-12 | Toshiba Corp | デジタル映像再生システム |
JPH1153528A (ja) | 1997-07-31 | 1999-02-26 | Sony Corp | デジタル画像処理装置及び方法 |
JP2001110170A (ja) | 1997-08-07 | 2001-04-20 | Matsushita Electric Ind Co Ltd | 光ディスク、再生装置および再生方法 |
JP3114971B2 (ja) | 1997-08-07 | 2000-12-04 | 松下電器産業株式会社 | 光ディスク、再生装置および再生方法 |
US6208802B1 (en) * | 1997-08-07 | 2001-03-27 | Matsushita Electric Industrial Co., Ltd. | Optical disk, reproduction apparatus, and reproduction method |
JP4416846B2 (ja) | 1997-08-22 | 2010-02-17 | ソニー株式会社 | メニュー制御用データを記録したコンピュータ読み取り可能な記録媒体ならびにメニュー制御方法および装置 |
EP1021046A4 (en) * | 1997-09-05 | 2000-12-20 | Matsushita Electric Ind Co Ltd | DECODING METHOD AND RECORDING MEDIUM WHERE A DECODING PROGRAM IS RECORDED |
KR100257917B1 (ko) * | 1997-09-24 | 2000-06-01 | 구자홍 | 광디스크 재생시스템의 선택가능키 표시방법 및그의 장치 |
JP3369935B2 (ja) | 1997-10-27 | 2003-01-20 | 三洋電機株式会社 | データ放送受信機 |
JPH11196386A (ja) | 1997-10-30 | 1999-07-21 | Toshiba Corp | コンピュータシステムおよびクローズドキャプション表示方法 |
JPH11146362A (ja) | 1997-11-12 | 1999-05-28 | Sony Corp | 送信装置および送信方法、受信装置および受信方法、並びに送受信装置および送受信方法 |
US6580870B1 (en) * | 1997-11-28 | 2003-06-17 | Kabushiki Kaisha Toshiba | Systems and methods for reproducing audiovisual information with external information |
JP3885324B2 (ja) | 1997-12-10 | 2007-02-21 | ソニー株式会社 | データ再生方法、データ再生システム、及びドライブ装置 |
JPH11215460A (ja) | 1998-01-22 | 1999-08-06 | Mitsubishi Electric Corp | 放送番組受信装置 |
JP3595151B2 (ja) | 1998-02-20 | 2004-12-02 | 株式会社東芝 | 使用可能キー表示システムで用いる光ディスク、この光ディスクを用いる方法および装置 |
KR100329311B1 (ko) * | 1998-03-13 | 2002-03-25 | 모리시타 요이찌 | 데이터 저장매체 및 이로부터 데이터를 재생하는 장치 및방법 |
US7162147B2 (en) * | 1998-03-13 | 2007-01-09 | Matsushita Electric Industrial Co., Ltd. | Data storage medium and apparatus and method for reproducing the data from the same |
JP3334802B1 (ja) | 1998-03-13 | 2002-10-15 | 松下電器産業株式会社 | 光ディスク、再生装置および再生方法 |
JP3334803B1 (ja) | 1998-03-13 | 2002-10-15 | 松下電器産業株式会社 | 光ディスク、再生装置および再生方法 |
EP0961279B1 (en) | 1998-05-26 | 2004-10-13 | Koninklijke Philips Electronics N.V. | Record carrier, apparatus and method |
JP2000059724A (ja) | 1998-08-11 | 2000-02-25 | Toshiba Syst Technol Corp | マルチメディアオーサリング方法およびその装置、記録媒体 |
JP2000067522A (ja) * | 1998-08-25 | 2000-03-03 | Sony Corp | 情報再生装置および方法、情報記録装置および方法、提供媒体、並びに記録媒体 |
JP4109772B2 (ja) | 1998-12-03 | 2008-07-02 | キヤノン株式会社 | データ処理方法及びその装置 |
GB9901514D0 (en) * | 1999-01-25 | 1999-03-17 | Koninkl Philips Electronics Nv | Displaying images |
JP3334799B2 (ja) | 1999-03-12 | 2002-10-15 | 松下電器産業株式会社 | 光ディスク、再生装置、再生方法および記録媒体 |
EP1229545B1 (en) * | 1999-03-12 | 2011-08-17 | Panasonic Corporation | Optical disk, reproduction apparatus, reproduction method, and recording medium |
JP2000278635A (ja) * | 1999-03-26 | 2000-10-06 | Tokyo Electric Power Co Inc:The | 解説用素材作成編集装置および解説用素材提示装置ならびに解説支援システム |
JP2000353353A (ja) * | 1999-04-05 | 2000-12-19 | Nippon Columbia Co Ltd | 光ディスク再生装置 |
US7346920B2 (en) * | 2000-07-07 | 2008-03-18 | Sonic Solutions, A California Corporation | System, method and article of manufacture for a common cross platform framework for development of DVD-Video content integrated with ROM content |
US6239793B1 (en) | 1999-05-20 | 2001-05-29 | Rotor Communications Corporation | Method and apparatus for synchronizing the broadcast content of interactive internet-based programs |
FR2794602A1 (fr) * | 1999-06-02 | 2000-12-08 | Dassault Automatismes | Dispositif recepteur/decodeur de television numerique a lecture interactive de programme de television prealablement enregistre |
US7634787B1 (en) * | 1999-06-15 | 2009-12-15 | Wink Communications, Inc. | Automatic control of broadcast and execution of interactive applications to maintain synchronous operation with broadcast programs |
US7222155B1 (en) * | 1999-06-15 | 2007-05-22 | Wink Communications, Inc. | Synchronous updating of dynamic interactive applications |
DE69933668T2 (de) | 1999-08-26 | 2007-08-23 | Sony Service Centre (Europe) N.V. | Fernsehanzeigevorrichtung und Verfahren zum Betreiben eines Fernsehsystems |
US6662060B1 (en) | 1999-10-18 | 2003-12-09 | Intel Corporation | Method and apparatus for multimedia playback with title specific parameters |
US7000245B1 (en) * | 1999-10-29 | 2006-02-14 | Opentv, Inc. | System and method for recording pushed data |
US6678463B1 (en) * | 2000-08-02 | 2004-01-13 | Opentv | System and method for incorporating previously broadcast content into program recording |
US8250617B2 (en) * | 1999-10-29 | 2012-08-21 | Opentv, Inc. | System and method for providing multi-perspective instant replay |
JP3590577B2 (ja) | 1999-12-27 | 2004-11-17 | ヴィジョネア株式会社 | 再生モード切替方法及びマルチメディア情報再生方法及びマルチメディア情報再生装置 |
GB2374999B (en) * | 2000-02-10 | 2004-07-07 | Chyron Corp | Incorporating graphics and interactive triggers in a video stream |
JP4682434B2 (ja) | 2000-04-21 | 2011-05-11 | ソニー株式会社 | 情報処理装置および方法、記録媒体、並びにプログラム |
US7212727B2 (en) * | 2000-04-21 | 2007-05-01 | Matsushita Electric Industrial Co., Ltd. | Trick play method for digital storage medium |
WO2001082610A1 (en) * | 2000-04-21 | 2001-11-01 | Sony Corporation | Information processing apparatus and method, program, and recorded medium |
WO2001082611A1 (fr) * | 2000-04-21 | 2001-11-01 | Sony Corporation | Procede et appareil de traitement d'informations, support enregistre, et programme |
JP4517267B2 (ja) | 2000-04-21 | 2010-08-04 | ソニー株式会社 | 記録装置および方法、再生装置および方法、プログラム、並びに記録媒体 |
CN1186930C (zh) * | 2000-04-21 | 2005-01-26 | 索尼公司 | 记录设备和方法、再现设备和方法 |
EP1198132A4 (en) * | 2000-04-21 | 2010-07-28 | Sony Corp | CODING DEVICE AND METHOD, RECORDING MEDIUM AND PROGRAM |
JP4355988B2 (ja) | 2000-04-21 | 2009-11-04 | ソニー株式会社 | 情報処理装置、情報処理方法、プログラム記録媒体、プログラム、および情報記録媒体 |
JP4264617B2 (ja) | 2000-04-21 | 2009-05-20 | ソニー株式会社 | 記録装置および方法、再生装置および方法、記録媒体、プログラム、並びに記録媒体 |
JP2002159004A (ja) | 2000-04-21 | 2002-05-31 | Sony Corp | 符号化装置および方法、記録媒体、並びにプログラム |
JP4599740B2 (ja) * | 2000-04-21 | 2010-12-15 | ソニー株式会社 | 情報処理装置および方法、記録媒体、プログラム、並びに記録媒体 |
JP4127978B2 (ja) | 2000-04-21 | 2008-07-30 | 松下電器産業株式会社 | デジタル蓄積メディアのトリックプレイ方法 |
US7477833B2 (en) * | 2000-04-21 | 2009-01-13 | Sony Corporation | Information processing apparatus and method, program, and recorded medium specifying particular picture characteristics |
JP4517266B2 (ja) | 2000-04-21 | 2010-08-04 | ソニー株式会社 | 情報処理装置および方法、記録媒体、並びにプログラム |
JP2001346144A (ja) | 2000-06-06 | 2001-12-14 | Nec Corp | 宅内網同期型伝送方式 |
KR100424481B1 (ko) * | 2000-06-24 | 2004-03-22 | 엘지전자 주식회사 | 디지털 방송 부가서비스 정보의 기록 재생장치 및 방법과그에 따른 기록매체 |
CN100369903C (zh) * | 2000-06-30 | 2008-02-20 | 大日本住友制药株式会社 | 五元环化合物 |
JP2002044589A (ja) | 2000-07-31 | 2002-02-08 | Sony Corp | 情報再生装置および映像表示制御方法 |
WO2002058383A1 (en) | 2000-08-02 | 2002-07-25 | Open Tv, Inc. | System and method for providing multi-perspective instant replay |
JP2002091625A (ja) | 2000-09-12 | 2002-03-29 | Sony Corp | バスリセット処理方法、情報処理装置および記録媒体 |
EP1331813A4 (en) | 2000-11-02 | 2007-03-21 | Fujiyama Co Ltd | DIGITAL IMAGE CONTENT DISTRIBUTION SYSTEM, REPRODUCTION METHOD AND RECORDING MEDIUM FOR RECORDING THE SAME |
US7451453B1 (en) | 2000-11-22 | 2008-11-11 | Microsoft Corporation | DVD navigator and application programming interfaces (APIs) |
KR100399999B1 (ko) * | 2001-02-05 | 2003-09-29 | 삼성전자주식회사 | 멀티스트림이 기록된 기록매체, 그 기록장치, 그기록방법, 그 재생장치, 및 그 재생방법 |
CA2776055C (en) * | 2001-03-08 | 2013-12-10 | Sony Corporation | Data recorder |
JP3824137B2 (ja) | 2001-03-16 | 2006-09-20 | 日本電信電話株式会社 | データ再生方法、データ再生装置、プログラムおよびその記録媒体 |
JP2002369154A (ja) | 2001-04-02 | 2002-12-20 | Matsushita Electric Ind Co Ltd | ディジタル映像コンテンツの映像再生装置、映像再生方法、映像再生プログラム、パッケージメディア |
EP1381232A4 (en) * | 2001-04-02 | 2005-09-28 | Matsushita Electric Ind Co Ltd | VIDEO PLAYBACK DEVICE FOR DIGITAL VIDEO CONTENT, VIDEO PLAY PROCESS, VIDEO PLAY PROGRAM AND PACKAGING MEDIUM |
JP2002314929A (ja) * | 2001-04-10 | 2002-10-25 | Victor Co Of Japan Ltd | 映像信号の記録方法、映像信号の再生方法、映像信号記録装置、映像信号再生装置、及び映像信号の記録媒体 |
US7930624B2 (en) * | 2001-04-20 | 2011-04-19 | Avid Technology, Inc. | Editing time-based media with enhanced content |
US20020188628A1 (en) * | 2001-04-20 | 2002-12-12 | Brian Cooper | Editing interactive content with time-based media |
KR100771264B1 (ko) * | 2001-05-12 | 2007-10-29 | 엘지전자 주식회사 | 스크립트 파일이 포함 기록된 기록매체와, 그 재생장치 및방법 |
JP4409792B2 (ja) * | 2001-06-22 | 2010-02-03 | ソニー株式会社 | データ伝送装置および方法、記録媒体並びにプログラム |
JP4329310B2 (ja) | 2001-06-29 | 2009-09-09 | ソニー株式会社 | 情報処理装置および方法、情報提供装置および方法、記録媒体、並びにプログラム |
EP2276247A3 (en) * | 2001-06-29 | 2014-04-09 | Sony Corporation | Information supply system, information supply device and method, and information processing device and method |
JP2003091975A (ja) | 2001-09-17 | 2003-03-28 | Pioneer Electronic Corp | 情報再生装置 |
JP3376367B2 (ja) | 2001-09-18 | 2003-02-10 | 株式会社東芝 | デジタル情報媒体、デジタル情報記録再生装置およびデジタル情報処理方法 |
JP3716920B2 (ja) * | 2001-10-16 | 2005-11-16 | ソニー株式会社 | 記録媒体再生装置および方法、記録媒体、並びにプログラム |
TWI229557B (en) * | 2001-10-23 | 2005-03-11 | Samsung Electronics Co Ltd | Method and apparatus for reproducing contents from information storage medium in interactive mode |
CN100350489C (zh) * | 2001-10-23 | 2007-11-21 | 三星电子株式会社 | 播放包含事件发生信息的信息存储介质的方法和装置 |
JP2003250118A (ja) | 2002-02-25 | 2003-09-05 | Sony Corp | コンテンツ送信サーバシステム、コンテンツ送信方法、コンテンツ送信プログラム、及び記憶媒体 |
JP2003249057A (ja) * | 2002-02-26 | 2003-09-05 | Toshiba Corp | デジタル情報媒体を用いるエンハンスド・ナビゲーション・システム |
JP3821020B2 (ja) | 2002-03-08 | 2006-09-13 | 日本ビクター株式会社 | 記録方法、記録装置、記録媒体、再生装置及び伝送方法並びにコンピュータプログラム |
US7886332B2 (en) * | 2002-03-19 | 2011-02-08 | Canon Kabushiki Kaisha | Television broadcast receiving apparatus |
JP3990928B2 (ja) | 2002-03-19 | 2007-10-17 | キヤノン株式会社 | テレビジョン放送受信装置、再生方法及びプログラム |
US20040047588A1 (en) * | 2002-03-27 | 2004-03-11 | Tomoyuki Okada | Package medium, reproduction apparatus, and reproduction method |
JP3814799B2 (ja) | 2002-03-28 | 2006-08-30 | 日本電信電話株式会社 | 映像・音声メディアとアプリケーションの同期管理装置、同期管理方法、同期管理プログラム及びその同期管理プログラムを記録した記録媒体 |
US8832754B2 (en) * | 2002-05-03 | 2014-09-09 | Tvworks, Llc | System and method for providing synchronized events to a television application |
AU2003253468A1 (en) * | 2002-08-26 | 2004-03-11 | Samsung Electronics Co., Ltd. | Apparatus for reproducing av data in interactive mode, method of handling user input, and information storage medium therefor |
KR100607949B1 (ko) | 2002-09-11 | 2006-08-03 | 삼성전자주식회사 | 계층화된 정보 구조를 이용한 멀티미디어 데이터 기록장치, 재생 장치 및 그 정보저장매체 |
KR100967748B1 (ko) * | 2002-09-12 | 2010-07-05 | 파나소닉 주식회사 | 기록매체, 재생장치, 재생방법, 기록방법 |
KR100957799B1 (ko) * | 2003-03-06 | 2010-05-13 | 엘지전자 주식회사 | 대화형 디스크의 재생환경 설정방법 |
KR100561479B1 (ko) | 2003-03-13 | 2006-03-16 | 삼성전자주식회사 | 동영상으로 재생되는 복수개의 타이틀이 기록된정보저장매체, 그 재생 장치 및 재생 방법 |
US7561779B2 (en) | 2003-03-13 | 2009-07-14 | Panasonic Corporation | Video data processor having converting section for producing NTSC- or PAL-compliant synthetic video data |
KR20060022675A (ko) * | 2003-06-02 | 2006-03-10 | 디즈니엔터프라이지즈,인크. | 비디오 재생기 상거래 시스템 및 방법 |
US7945141B2 (en) * | 2003-10-06 | 2011-05-17 | Samsung Electronics Co., Ltd. | Information storage medium including event occurrence information, and apparatus and method for reproducing the information storage medium |
EP2204805B1 (en) * | 2003-10-10 | 2012-06-06 | Sharp Kabushiki Kaisha | A content reproducing apparatus, a content recording medium, a control program and a computer-readable recording medium |
US9055352B2 (en) * | 2003-10-22 | 2015-06-09 | Video Networks Ip Holdings Limited | Non-linear interactive video navigation |
US8244099B2 (en) | 2004-08-19 | 2012-08-14 | Sony Computer Entertainment Inc. | Picture reproducing apparatus and method, recording medium, and picture reproducing program |
US7620895B2 (en) | 2004-09-08 | 2009-11-17 | Transcensus, Llc | Systems and methods for teaching a person to interact with a computer program having a graphical user interface |
US7802212B2 (en) * | 2005-04-15 | 2010-09-21 | Rambus Inc. | Processor controlled interface |
-
2004
- 2004-10-08 EP EP10158506A patent/EP2204805B1/en not_active Ceased
- 2004-10-08 EP EP10000251.8A patent/EP2187396B1/en not_active Ceased
- 2004-10-08 CN CN2009102169028A patent/CN101790068B/zh not_active Expired - Lifetime
- 2004-10-08 KR KR1020067009084A patent/KR100848437B1/ko active IP Right Grant
- 2004-10-08 KR KR1020077024080A patent/KR100804380B1/ko active IP Right Grant
- 2004-10-08 EP EP10158507A patent/EP2202745A3/en not_active Ceased
- 2004-10-08 CN CN2009102169032A patent/CN101777363B/zh not_active Expired - Lifetime
- 2004-10-08 WO PCT/JP2004/014954 patent/WO2005036544A1/ja active Application Filing
- 2004-10-08 KR KR1020077024077A patent/KR100844705B1/ko active IP Right Grant
- 2004-10-08 KR KR1020087008164A patent/KR100966670B1/ko active IP Right Grant
- 2004-10-08 CN CN2009102169047A patent/CN101777364B/zh not_active Expired - Lifetime
- 2004-10-08 KR KR1020077024079A patent/KR100844706B1/ko active IP Right Grant
- 2004-10-08 US US10/575,431 patent/US8233770B2/en not_active Expired - Fee Related
- 2004-10-08 EP EP04792222A patent/EP1679706B1/en not_active Ceased
- 2004-10-08 CN CN2010101301224A patent/CN101833968B/zh not_active Expired - Lifetime
- 2004-10-08 CN CN2010101300607A patent/CN101833967B/zh not_active Expired - Lifetime
- 2004-10-08 CN CN2004800368075A patent/CN1890745B/zh not_active Expired - Lifetime
- 2004-10-08 EP EP10000250.0A patent/EP2182518B8/en not_active Ceased
- 2004-10-08 EP EP10000249.2A patent/EP2180478B1/en not_active Ceased
- 2004-10-08 KR KR1020107001972A patent/KR100966668B1/ko active IP Right Grant
-
2010
- 2010-03-30 US US12/798,241 patent/US8625966B2/en not_active Expired - Fee Related
- 2010-03-30 US US12/798,242 patent/US8792026B2/en not_active Expired - Fee Related
- 2010-03-30 US US12/798,245 patent/US8625962B2/en not_active Expired - Fee Related
- 2010-03-30 US US12/798,237 patent/US8565575B2/en active Active
- 2010-03-30 US US12/798,243 patent/US8798440B2/en active Active
-
2012
- 2012-03-27 US US13/430,967 patent/US20120189279A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020021887A1 (en) | 2000-08-09 | 2002-02-21 | Masato Yoshikawa | Image reproduction system and data synchronization method |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100966668B1 (ko) | 콘텐츠 재생 장치, 콘텐츠 기록 매체, 콘텐츠 재생 방법 및 기록 매체 | |
JP4955111B2 (ja) | 再生装置、制御プログラム、記録媒体、及び再生装置の制御方法 | |
JP5132871B2 (ja) | コンテンツ再生装置、コンテンツ再生装置の制御方法、コンテンツ記録媒体、制御プログラム、制御プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2006107586A5 (ko) | ||
JP2006109317A (ja) | 再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130531 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140603 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150612 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160613 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170609 Year of fee payment: 8 |