KR20110110337A - 재생 장치 및 재생 방법 - Google Patents

재생 장치 및 재생 방법 Download PDF

Info

Publication number
KR20110110337A
KR20110110337A KR1020117019375A KR20117019375A KR20110110337A KR 20110110337 A KR20110110337 A KR 20110110337A KR 1020117019375 A KR1020117019375 A KR 1020117019375A KR 20117019375 A KR20117019375 A KR 20117019375A KR 20110110337 A KR20110110337 A KR 20110110337A
Authority
KR
South Korea
Prior art keywords
data
file
attribute
stream
subtitle
Prior art date
Application number
KR1020117019375A
Other languages
English (en)
Other versions
KR101226884B1 (ko
Inventor
요시유끼 고바야시
모또끼 가또
Original Assignee
소니 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 주식회사 filed Critical 소니 주식회사
Publication of KR20110110337A publication Critical patent/KR20110110337A/ko
Application granted granted Critical
Publication of KR101226884B1 publication Critical patent/KR101226884B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; 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/32Indexing; 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/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/806Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
    • H04N9/8063Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8227Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/87Regeneration of colour television signals
    • H04N9/8715Regeneration of colour television signals involving the mixing of the reproduced video signal with a non-recorded signal, e.g. a text signal

Abstract

본 발명은, 유저가 원하는 언어의 자막을 원하는 형식으로 표시시킨다. 텍스트 데이터 디코더(121)는, 텍스트 자막 데이터를 디코드하여, 문자 객체는 문자 객체 버퍼(122)에, 속성 데이터는, 어트리뷰트 데이터 버퍼(123)에 공급한다. 어트리뷰트 데이터 버퍼(123)에 보존되는 속성 데이터는, 유저의 조작 입력에 기초하여 변경된다. 폰트 래스터라이저(124)는, 어트리뷰트 데이터 버퍼(123)로부터 판독 출력된 속성의 지정, 취득되는 폰트 데이터에 기초하여, 문자 객체를 래스터 데이터로 변환하여 출력함과 함께, 속성에 기초하여, 북마크가 부여되어 있는 문자 객체를 검출하고, 북마크 버퍼(125)를 이용하여, 동일한 북마크 ID가 부여되어 있는 문자 객체에 관해서는, 중복하여 래스터라이즈를 행하지 않도록 한다. 본 발명은, 재생 장치에 적용할 수 있다.

Description

재생 장치 및 재생 방법{REPRODUCTION DEVICE AND REPRODUCTION METHOD}
본 발명은, 재생 장치 및 재생 방법, 프로그램 저장 매체, 및 프로그램 에 관한 것으로, 특히, 기록 매체에 기록되어 있는 콘텐츠의 업데이트 파일을 다운로드할 수 있도록 하는 재생 장치 및 재생 방법, 프로그램 저장 매체, 및 프로그램에 관한 것이다.
DVD(Digital Versatile Disc)의 재생 전용의 규격 중 하나로 DVD 비디오 포맷이 있다. 이 DVD 비디오 포맷에서는, 비디오나 오디오 등의 콘텐츠 데이터가 자막 등의 각종 서브 픽쳐의 데이터와 함께 다중화되어, 프로그램 스트림으로서 디스크에 기록되어 있다. 또한, 그 스트림을 인터랙티브하게 재생하기 위한 네비게이션 데이터도 디스크에 기록되어 있다.
여기서, 인터랙티브한 재생이란, 원하는 위치로부터의 재생이나 원하는 순서로의 재생 외에, 여러 가지 각도로부터 촬영된 영상의 재생을 가능하게 하는 멀티 앵글 기능, 복수의 언어 중으로부터 원하는 언어로의 재생을 가능하게 하는 멀티 랭귀지 기능, 폭력 신 등의, 임의의 신의 재생을 행하지 않도록 하는 페어렌탈 컨트롤 기능 등, DVD의 각종 기능을 유저가 이용하여 행하는 재생을 말한다.
프로그램 스트림은, 복수의 오디오 스트림과 복수의 자막 데이터 스트림을 다중화하는 것도 가능하게 된다. 이에 의해, 예를 들면, 영화 등의 1개의 비디오 콘텐츠에 대하여, 복수의 서로 다른 언어의 자막의 데이터를 1매의 디스크에 기록시키는 것이 가능해져, 유저는, 비디오의 재생 개시 시나 재생 중에, 원하는 언어의 음성이나 자막을 선택할 수 있다.
그런데, 비디오 작품의 소재로 되는 효과음이나 동화상, 정지 화상 등의 콘텐츠를 유저가 용이하게 다운로드할 수 있는 시스템이 특허 문헌 1에 개시되어 있다. 또한, 음악 데이터 전체 중의 임의의 부분의 데이터를, 다른 데이터로 치환할 수 있는 기술이 특허 문헌 2에 개시되어 있다.
특허 문헌 1 : 일본 특개 2003-140662호 공보 특허 문헌 2 : 일본 특개 2002-311967호 공보
그러나, 유저는, 당연히, 플레이어에 장착되어 있는, 그 디스크에 기록되어 있는 콘텐츠를 재생시키는 것밖에 할 수 없다고 하는 과제가 있었다.
따라서, 예를 들면, 영어의 자막밖에 준비되어 있지 않은 영화 콘텐츠가 기록된 디스크를 구입한 경우, 유저는, 그 디스크에 미리 기록되어 있는 언어인 영어의 자막을 표시시킬 수 있지만, 미리 기록되어 있는 언어와는 다른 원하는 언어의 자막이 표시되어 있는 동일한 영화 콘텐츠를 시청하기 위해서는, 원하는 언어의 자막 정보가 미리 기록되어 있는 다른 디스크를 구입해야만 했다.
또한, 디스크의 판매자측으로 하면, 언어가 서로 다른 복수의 나라에서 영화 콘텐츠가 기록된 디스크를 판매하고자 하는 경우, 각 언어의 자막 정보가 기록된 디스크를 미리 준비하거나, 또는, 영어판의 디스크, 일본어판의 디스크 등, 복수 종류의 디스크를 준비하거나 할 필요가 있다. 따라서, 그러한 디스크를 준비하기 위해 시간이 걸림으로써, 경우에 따라서는 큰 비즈니스 찬스를 잃어버리게 되기도 한다.
또한, 종래의 영화 콘텐츠 등의 자막의 표시는, 비트맵 등의 화상 정보로서 기록되기 때문에, 예를 들면, 소정의 언어로의 번역 처리가 종료된 후, 각각의 언어별로, 예를 들면, 색이나 크기나 자체 등이 지정된 문자 화상 정보를 생성하는 수고가 들게 되어, 콘텐츠의 릴리스에 시간 및 코스트가 걸리게 된다고 하는 문제가 있었다.
또한, 종래의 영화 콘텐츠 등의 자막의 표시는, 비트맵 등의 화상 정보로서 기록되어 있기 때문에, 예를 들면, 큰 화면에서 영화 콘텐츠의 영상을 표시시켰을 때, 자막으로서 표시되는 문자도, 필요 이상으로 확대되게 되기 때문에, 아우트라인이 무너지게 되는 등, 그 표시 품질이 현저하게 악화되게 될 우려가 있다. 또한, 비트맵 등의 화상 정보로서 기록되어 있는 자막의 표시의 크기나 색, 또는, 폰트의 종류 등은, 유저의 조작 입력에 기초하여 변경할 수 없어, 유저는, 자막의 표시, 또는, 비표시의 선택밖에 행할 수 없었다.
본 발명은 이러한 상황을 감안하여 이루어진 것으로, 디스크에 기록되어 있는 콘텐츠의 업데이트 파일을 다운로드할 수 있도록 함으로써 디스크에 기록되어 있는 콘텐츠에 대하여, 유저가 원하는 형식의 자막을 표시시킬 수 있도록 하는 것이다.
본 발명의 재생 장치는, 자막을 표시하기 위한 문자 객체 및 속성 데이터를 포함하는 제1 정보의, 기록 매체, 또는, 재생 장치 내부의 기억부로부터의 판독 출력을 제어하는 판독 출력 제어 수단과, 판독 출력 제어 수단에 의해 판독 출력이 제어된 제1 정보에 포함되는 문자 객체를 보유하는 문자 객체 보유 수단과, 판독 출력 제어 수단에 의해 판독 출력이 제어된 제1 정보에 포함되는 속성 데이터를 보유하는 속성 데이터 보유 수단과, 폰트 데이터를 취득하고, 문자 객체 보유 수단에 의해 보유된 문자 객체를, 속성 데이터 보유 수단에 의해 보유된 속성 데이터 및 폰트 데이터를 이용하여 자막 데이터로 변환하는 변환 수단을 포함하는 것을 특징으로 한다.
유저의 조작 입력을 취득하는 조작 입력 취득 수단을 더 구비시키도록 할 수 있고, 판독 출력 제어 수단에는, 조작 입력 취득 수단에 의해 취득된 유저의 조작 입력에 기초하여, 기록 매체, 또는, 재생 장치의 내부의 기억부에 기억되어 있는 제1 정보의 판독 출력을 제어시키도록 할 수 있다.
유저의 조작 입력을 취득하는 조작 입력 취득 수단과, 조작 입력 취득 수단에 의해 취득된 유저의 조작 입력에 기초하여, 속성 데이터 보유 수단에 의해 보유되어 있는 속성 데이터의 변경을 제어하는 속성 데이터 변경 제어 수단을 더 구비시키도록 할 수 있고, 변환 수단에는, 속성 데이터 변경 제어 수단에 의해 변경이 제어된 속성 데이터에 기초하여, 문자 객체를 자막 데이터로 변환시키도록 할 수 있다.
유저의 조작 입력을 취득하는 조작 입력 취득 수단을 더 구비시키도록 할 수 있고, 변환 수단에는, 조작 입력 취득 수단에 의해 취득된 유저의 조작 입력에 기초하여, 취득하는 폰트 데이터를 변경시키도록 할 수 있다.
유저의 조작 입력을 취득하는 조작 입력 취득 수단을 더 구비시키도록 할 수 있고, 판독 출력 제어 수단에는, 기억부에 기억되어 있는 AV 스트림 및 제1 정보 의 판독 출력을 제어하기 위한 정보인 제2 정보와, 기록 매체에 기록되어 있는 AV 스트림의 판독 출력을 또한 제어시키도록 할 수 있고, 조작 입력 취득 수단에 의해 취득된 유저의 조작 입력에 기초하여, 제2 정보의 판독 출력을 제어시키도록 할 수 있으며, 판독 출력된 제2 정보에 기초하여, AV 스트림 및 제1 정보의 판독 출력을 제어시키도록 할 수 있다.
판독 출력 제어 수단에 의해 판독 출력이 제어된 AV 스트림을 디코드하는 제1 디코드 수단을 더 구비시키도록 할 수 있다.
변환 수단에 의해 변환된 자막 데이터, 및, 제1 디코드 수단에 의해 디코드된 AV 스트림에 포함되는 영상 데이터를 합성하여 출력하는 출력 수단을 더 구비시키도록 할 수 있다.
판독 출력 제어 수단에 의해 판독 출력이 제어된 제1 정보를 디코드하는 제2 디코드 수단과, 제1 디코드 수단에 의한 AV 스트림의 디코드의 처리 타이밍의 기준으로 되는 카운트값을 카운트하는 카운트 수단과, 카운트 수단에 의해 카운트되는 카운트값에 기초하여, 제2 디코드 수단에 의한 제1 정보의 디코드의 처리 타이밍의 기준을 계산하는 계산 수단을 더 구비시키도록 할 수 있다.
판독 출력 제어 수단에 의해 판독 출력이 제어된 제1 정보를 디코드하는 디코드 수단을 더 구비시키도록 할 수 있고, 문자 객체 보유 수단에는 디코드 수단에 의해 디코드된 제1 정보에 포함되는 문자 객체를 보유시키도록 할 수 있으며, 속성 데이터 보유 수단에는 디코드 수단에 의해 디코드된 제1 정보에 포함되는 속성 데이터를 보유시키도록 할 수 있다.
네트워크를 통하여, 소정의 정보 처리 장치와 정보를 수수하는 통신 수단을 더 구비시키도록 할 수 있고, 재생 장치 내부의 기억부에는, 통신 수단에 의해 수신된 제1 정보가 기억되도록 할 수 있다.
기록 매체에 기억되어 있는 제1 데이터군의 파일 시스템과, 재생 장치 내부의 기억부에 기억되어 있는 제2 데이터군의 파일 시스템에 기초하여, 제1 데이터군 및 제2 데이터군의 각각의 적어도 일부를 포함하는 가상적인 파일 시스템을 생성하는 가상 파일 시스템 생성 수단을 더 구비시키도록 할 수 있다.
재생 장치 내부의 기억부에 기억되어 있는 제1 정보에는, 가상적인 파일 시스템의 생성에 관한 제2 정보가 포함되는 것으로 할 수 있고, 판독 출력 제어 수단에는, 재생 장치 내부의 기억부에 기억되어 있는 제2 정보의 판독 출력을 더 제어시키도록 할 수 있으며, 가상 파일 시스템 생성 수단에는, 판독 출력 제어 수단에 의해 판독 출력이 제어된 제2 정보에 기초하여, 가상적인 파일 시스템을 생성시키도록 할 수 있다.
판독 출력 제어 수단에 의해 판독 출력이 제어된 제1 정보를 기억하는 기억 수단을 더 구비시키도록 할 수 있고, 기억 수단에는, 판독 출력 제어 수단에 의해 일괄하여 전체의 판독 출력이 제어된 제1 정보를 기억시키도록 할 수 있다.
판독 출력 제어 수단에 의해 판독 출력이 제어되는 제1 정보의 디코드 개시점을 나타내는 정보와, 디코드 개시점의 타임 스탬프와의 관계를 나타내는 테이블 정보를 생성하는 테이블 정보 생성 수단을 더 구비시키도록 할 수 있고, 판독 출력 제어 수단에는, 테이블 정보 생성 수단에 의해 생성된 테이블 정보를 참조하여, 제1 정보의 판독 출력을 제어시키도록 할 수 있다.
본 발명의 재생 방법은, 자막을 표시하기 위한 문자 객체 및 속성 데이터를 포함하는 제1 정보의, 기록 매체, 또는, 재생 장치의 내부의 기억부로부터의 판독 출력을 제어하는 판독 출력 제어 단계와, 판독 출력 제어 단계의 처리에 의해 판독 출력이 제어된 제1 정보에 포함되는 문자 객체를 보유하는 문자 객체 보유 단계와, 판독 출력 제어 단계의 처리에 의해 판독 출력이 제어된 제1 정보에 포함되는 속성 데이터를 보유하는 속성 데이터 보유 단계와, 폰트 데이터를 취득하고, 문자 객체 보유 단계에서 보유된 문자 객체를, 속성 데이터 보유 단계에서 보유된 속성 데이터 및 폰트 데이터를 이용하여 자막 데이터로 변환하는 변환 단계를 포함하는 것을 특징으로 한다.
본 발명의 프로그램 저장 매체에 저장되어 있는 프로그램은, 자막을 표시하기 위한 문자 객체 및 속성 데이터를 포함하는 제1 정보의, 기록 매체, 또는, 재생 장치의 내부의 기억부로부터의 판독 출력을 제어하는 판독 출력 제어 단계와, 판독 출력 제어 단계의 처리에 의해 판독 출력이 제어된 제1 정보에 포함되는 문자 객체를 보유하는 문자 객체 보유 단계와, 판독 출력 제어 단계의 처리에 의해 판독 출력이 제어된 제1 정보에 포함되는 속성 데이터를 보유하는 속성 데이터 보유 단계와, 폰트 데이터를 취득하고, 문자 객체 보유 단계에서 보유된 문자 객체를, 속성 데이터 보유 단계에서 보유된 속성 데이터 및 폰트 데이터를 이용하여 자막 데이터로 변환하는 변환 단계를 포함하는 처리를 컴퓨터에 실행시킨다.
본 발명의 프로그램은, 자막을 표시하기 위한 문자 객체 및 속성 데이터를 포함하는 제1 정보의, 기록 매체, 또는, 재생 장치의 내부의 기억부로부터의 판독 출력을 제어하는 판독 출력 제어 단계와, 판독 출력 제어 단계의 처리에 의해 판독 출력이 제어된 제1 정보에 포함되는 문자 객체를 보유하는 문자 객체 보유 단계와, 판독 출력 제어 단계의 처리에 의해 판독 출력이 제어된 제1 정보에 포함되는 속성 데이터를 보유하는 속성 데이터 보유 단계와, 폰트 데이터를 취득하고, 문자 객체 보유 단계에서 보유된 문자 객체를, 속성 데이터 보유 단계에서 보유된 속성 데이터 및 폰트 데이터를 이용하여 자막 데이터로 변환하는 변환 단계를 포함하는 것을 특징으로 하는 처리를 컴퓨터에 실행시킨다.
본 발명의 재생 장치 및 재생 방법, 및 프로그램에서는, 자막을 표시하기 위한 문자 객체 및 속성 데이터를 포함하는 제1 정보가, 기록 매체, 또는, 재생 장치의 내부의 기억부로부터 판독 출력되며, 판독 출력된 제1 정보에 포함되는 문자 객체가 보유되고, 판독 출력된 제1 정보에 포함되는 속성 데이터가 보유되며, 폰트 데이터가 취득되고, 문자 객체가, 속성 데이터 및 폰트 데이터를 이용하여 자막 데이터로 변환된다.
본 발명에 따르면, 표시되는 자막에 대응하는 자막 데이터가 생성되고, 특히, AV 스트림을 재생하는 경우에, 미리 화상 데이터로 변환된 자막에 대응하는 데이터가 아니라, 문자 객체 및 속성 데이터를 취득하여, 자막 데이터로 변환할 수 있다.
도 1은 본 발명을 적용한 제1 실시예에서의 재생 장치의 구성을 도시하는 블록도.
도 2는 본 발명을 적용한 제1 실시예에서의 재생 장치에 장착되는 기록 매체 상의 어플리케이션 포맷의 예를 도시하는 도면.
도 3은 본 발명을 적용한 재생 장치에 장착되는 기록 매체 상의 어플리케이션 포맷의 예의 다른 예에 대해서 설명하기 위한 도면.
도 4는 파일의 다운로드가 행하여진 상태에 대해서 설명하기 위한 도면.
도 5는 AV 스트림의 구성에 대해서 설명하기 위한 도면.
도 6은 도 1의 컨트롤러의 기능에 대해서 설명하기 위한 기능 블록도.
도 7은 광 디스크의 파일 시스템과, 로컬 스토리지의 파일 시스템의 예를 도시하는 도면.
도 8은 도 7의 2개의 파일 시스템이 머지됨으로써 얻어지는 파일 시스템의 예를 도시하는 도면.
도 9는 플레이 리스트와 플레이 리스트에 의해 참조 가능한 데이터에 대해서 설명하기 위한 도면.
도 10은 추가하여 배포되는 대상으로 되는 데이터에 대해서 설명하기 위한 도면.
도 11은 SubPlayItem의 신택스를 도시하는 도면.
도 12는 텍스트 자막 파일의 구문에 대해서 설명하기 위한 도면.
도 13은 제어 문자에 의한 속성 설정에 대해서 설명하기 위한 도면.
도 14는 제어 문자에 의한 속성 설정에 대해서 설명하기 위한 도면.
도 15는 마크업 형식 식별자와 마크업의 형식에 대하여 설명하기 위한 도면.
도 16은 TLV 인코드 방식에 의한 속성 지정의 경우의, subtitle_data()의 데이터 구조에 대해서 설명하기 위한 도면.
도 17은 에스케이프 코드를 도시하는 도면.
도 18은 attribute_type에 기재되는 속성 종별을 나타내는 코드에 대해서 설명하기 위한 도면.
도 19는 기재되어 있는 속성 종별이 CLUT 설정일 때의, attribute_value의 데이터 구조를 도시하는 도면.
도 20은 기재되어 있는 속성 종별이 영역 원점 지정일 때의 attribute_value의 데이터 구조를 도시하는 도면.
도 21은 렌더링 방향 지정을 나타내는 코드의 예를 도시하는 도면.
도 22는 기재되어 있는 속성 종별이 폰트 스타일의 지정일 때의 attribute_value에 기재되어 있는 코드에 대해서 설명하기 위한 도면.
도 23은 기재되어 있는 속성 종별이 북마크 개시 위치 지정일 때의 attribute_value의 데이터 구조를 도시하는 도면.
도 24는 기재되어 있는 속성 종별이 북마크 종료 위치 지정일 때의 attribute_value의 데이터 구조를 도시하는 도면.
도 25는 기재되어 있는 속성 종별이 문자 객체 시퀀스 반복 지정일 때의 attribute_value의 데이터 구조를 도시하는 도면.
도 26은 태그 부가 언어에 의한 속성 지정의 경우의, subtitle_data()의 데이터 구조에 대해서 설명하기 위한 도면.
도 27은 TaggedAttr의 형식에 대해서 설명하기 위한 도면.
도 28은 태그 부가 언어에 의한 속성 지정의 요소 및 속성 종별에 대해서 설명하기 위한 도면.
도 29는 렌더링 방향에 대해서 설명하기 위한 도면.
도 30은 렌더링 방향에 대해서 설명하기 위한 도면.
도 31은 렌더링 방향에 대해서 설명하기 위한 도면.
도 32는 도 1의 로컬 스토리지의 가상적인 기억 영역을 도시하는 도면.
도 33은 도 1의 디코더의 상세한 구성을 설명하기 위한 블록도.
도 34는 도 33의 텍스트 자막 처리부의 상세한 구성을 설명하기 위한 블록도.
도 35는 다운로드 처리1에 대해서 설명하기 위한 플로우차트.
도 36은 재생 처리1에 대해서 설명하기 위한 플로우차트.
도 37은 콘텐츠 재생 처리1에 대해서 설명하기 위한 플로우차트.
도 38은 자막 표시 처리1에 대해서 설명하기 위한 플로우차트.
도 39는 자막 표시 처리1에 대해서 설명하기 위한 플로우차트.
도 40은 본 발명을 적용한 제2 실시예에서의 재생 장치의 구성을 도시하는 블록도.
도 41은 도 40의 컨트롤러의 기능에 대해서 설명하기 위한 기능 블록도.
도 42는 도 40의 광 디스크의 파일 시스템의 예를 도시하는 도면.
도 43은 추가하여 배포되는 대상으로 되는 데이터에 대해서 설명하기 위한 도면.
도 44는 추가하여 배포되는 대상으로 되는 데이터의 아카이브에 대해서 설명하기 위한 도면.
도 45는 SubPath의 구성에 대해서 설명하기 위한 도면.
도 46은 도 44의 메타 데이터에 포함되는 operation_type에 지정 가능한 값의 일람을 도시하는 도면.
도 47은 operation_type의 8비트의 필드에, 0x02가 기재되어 있었을 때의 파일의 갱신에 대해서 설명하기 위한 도면.
도 48은 operation_type의 8비트의 필드에, 0x02가 기재되어 있었을 때의 파일의 갱신에 대해서 설명하기 위한 도면.
도 49는 operation_type의 8비트의 필드에, 0x03이 기재되어 있었을 때의 파일의 갱신에 대해서 설명하기 위한 도면.
도 50은 operation_type의 8비트의 필드에, 0x03이 기재되어 있었을 때의 파일의 갱신에 대해서 설명하기 위한 도면.
도 51은 operation_type의 8비트의 필드에, 0x04가 기재되어 있었을 때의 파일의 갱신에 대해서 설명하기 위한 도면.
도 52는 operation_type의 8비트의 필드에, 0x04가 기재되어 있었을 때의 파일의 갱신에 대해서 설명하기 위한 도면.
도 53은 도 44의 메타 데이터에 포함되는 permission에 지정 가능한 값의 일람을 도시하는 도면.
도 54는 텍스트 자막 파일의 구문에 대해서 설명하기 위한 도면.
도 55는 TLV 인코드 방식에 의한 속성 지정의 경우의, subtitle_data()의 데이터 구조에 대해서 설명하기 위한 도면.
도 56은 data_type에 기재되는 속성 종별을 나타내는 코드에 대해서 설명하기 위한 도면.
도 57은 태그 부가 언어에 의한 속성 지정의 요소 및 속성 종별에 대해서 설명하기 위한 도면.
도 58은 텍스트 자막 스트림이 저장되는 컨테이너 파일에 대해서 설명하기 위한 도면.
도 59는 텍스트 자막 스트림이 저장되는 BDAV MPEG-2 트랜스포트 스트림의 구성예에 대해서 설명하기 위한 도면.
도 60은 로컬 스토리지(24)에 기억되는 데이터의 데이터 구조를 도시하는 도면.
도 61은 제2 가상 파일 시스템의 데이터 구조를 도시하는 도면.
도 62는 PlayList와 Main Path 및 Sub path에 대해서 설명하기 위한 도면.
도 63은 도 1의 재생 장치의 디코더의 구성을 도시하는 블록도.
도 64는 EP_map에 대해서 설명하기 위한 도면.
도 65는 도 63의 텍스트 자막 처리부의 구성을 도시하는 블록도.
도 66은 STC의 참조에 대해서 설명하기 위한 도면.
도 67은 STC의 참조에 대해서 설명하기 위한 도면.
도 68은 다운로드 처리2에 대해서 설명하기 위한 플로우차트.
도 69는 재생 처리2에 대해서 설명하기 위한 플로우차트.
도 70은 가상 파일 시스템 생성 처리에 대해서 설명하기 위한 플로우차트.
도 71은 콘텐츠 재생 처리2에 대해서 설명하기 위한 플로우차트.
도 72는 자막 표시 처리2에 대해서 설명하기 위한 플로우차트.
도 73은 자막 표시 처리2에 대해서 설명하기 위한 플로우차트.
도 74는 콘텐츠 재생 처리 3에 대해서 설명하기 위한 플로우차트.
도 75는 자막 표시 처리 3에 대해서 설명하기 위한 플로우차트.
도 76은 자막 표시 처리 3에 대해서 설명하기 위한 플로우차트.
이하, 도면을 참조하여, 본 발명의 실시예에 대하여 설명한다.
도 1은, 본 발명을 적용한 제1 실시예에서의 재생 장치(1)의 구성예를 도시하는 블록도이다.
컨트롤러(21)는, 미리 준비되어 있는 제어 프로그램을 실행하거나, 또는, 광 디스크 드라이브(22)를 제어하여 광 디스크(11)에 기록되어 있는 네비게이션 프로그램(후술)을 판독 출력하고, 메모리(23)에 전개하여 실행함으로써, 재생 장치(1)의 전체의 동작을 제어한다. 예를 들면, 컨트롤러(21)는, 광 디스크(11)가 장착되었을 때, 소정의 메뉴 화면을 외부의 표시 장치에 표시시킬 수 있다.
광 디스크 드라이브(22)는, 컨트롤러(21)에 의한 제어에 따라서 광 디스크(11)로부터 데이터를 판독 출력하고, 판독 출력한 데이터를, 컨트롤러(21), 메모리(23), 또는, 디코더(26)에 출력한다. 광 디스크(11)로부터 판독 출력된 정보가, 네비게이션 프로그램이나 PlayList 등이었던 경우, 광 디스크 드라이브(22)에 의해 판독 출력된 정보는, 컨트롤러(21), 또는, 메모리(23)에 출력된다. 광 디스크(11)로부터 판독 출력된 정보가, AV 스트림이나 텍스트 데이터이었던 경우, 광 디스크 드라이브(22)에 의해 판독 출력된 정보는, 디코더(26)에 출력된다.
도 2는, 본 발명을 적용한 재생 장치(1)에 장착되는 광 디스크(11)의 어플리케이션 포맷의 예를 도시하는 도면이다. 기록 매체는, 광 디스크(11) 외에, 예를 들면, 자기 디스크나 반도체 메모리이어도 된다.
어플리케이션 포맷은, AV(Audio Visual) 스트림의 관리를 위해 PlayList와 Clip의 2개의 레이어를 갖는다. 여기서는, 1개의 AV 스트림 또는 텍스트 데이터와 그것에 부수되는 정보인 Clip Information의 페어를 1개의 객체로 생각하고, 그들을 통합하여 Clip으로 칭한다. 이하, AV 스트림의 데이터 파일을 AV 스트림 파일로 칭한다. 또한, Clip Information의 데이터 파일을 Clip Information 파일로 칭한다.
일반적으로, 컴퓨터 등에서 이용되는 파일은 바이트 열로서 취급되지만, AV 스트림 파일의 콘텐츠는 시간축 상에 전개되며, Clip의 액세스 포인트는, 주로, 타임 스탬프로 PlayList에 의해 지정된다.
Clip 중의 액세스 포인트가 타임 스탬프로 PlayList에 의해 나타내어져 있는 경우, Clip Information 파일은, 타임 스탬프로부터, AV 스트림 파일 중의 디코드를 개시할 어드레스 정보를 찾아내기 위해서 이용된다.
PlayList는 AV 스트림의 재생 구간을 나타내는 정보의 집합이다. 임의의 AV 스트림 중의 1개의 재생 구간을 나타내는 정보는 PlayItem으로 불리며, PlayItem은, 시간축 상의 재생 구간의 IN점(재생 개시점)과 OUT점(재생 종료 점)의 페어로 표현된다. 따라서, PlayList는, 도 2에 도시되는 바와 같이 1개, 또는 복수의 PlayItem에 의해 구성된다.
도 2에서, 좌로부터 1번째에 도시되어 있는 제1 PlayList는 2개의 PlayItem으로 구성되며, 그 2개의 PlayItem에 의해, 좌측에 도시되는 제1 Clip에 포함되는 AV 스트림의 전반 부분과 후반 부분이 각각 참조되어 있다. 또한, 좌로부터 2번째에 도시되어 있는 제2 PlayList는 1개의 PlayItem으로 구성되며, 그것에 의해, 우측에 도시되어 있는 제2 Clip에 포함되는 AV 스트림 전체가 참조되어 있다. 또한, 좌로부터 3번째에 도시되어 있는 제3 PlayList는 2개의 PlayItem으로 구성되며, 그 2개의 PlayItem에 의해, 좌측에 도시되어 있는 제1 Clip에 포함되는 AV 스트림의 소정의 부분과, 우측에 도시되어 있는 제2 Clip에 포함되는 AV 스트림의 소정의 부분이 각각 참조되어 있다.
네비게이션 프로그램(Navigation program)은, PlayList의 재생 순서나, PlayList의 인터랙티브한 재생을 컨트롤하는 기능을, 컨트롤러(21)에 실행시키기 위한 프로그램이다. 또한, 네비게이션 프로그램은, 각종 재생의 실행을 유저가 지시하기 위한 메뉴 화면을 표시하는 기능 등도 갖는다. 이 네비게이션 프로그램은, 예를 들면, Java(등록상표) 등의 프로그래밍 언어로 기술되며, 광 디스크(11) 등의 기록 매체에 기록된다. 예를 들면, 네비게이션 프로그램이 컨트롤러(21)에 의해 실행되어, 그 때의 재생 위치를 나타내는 정보로서, 도 2에서 좌로부터 1번째에 도시되는 제1 PlayList에 포함되는 제1 PlayItem이 지정된 경우, 그 PlayItem이 참조하는, 좌측에 도시되는 제1 Clip에 포함되는 AV 스트림의 전반 부분의 재생이 행하여진다.
또한, 도 2를 이용하여 설명한 PlayList에는, PlayItem에 의해 지정되는 메인 패스(Main Path) 외에, 도 3에 도시되는 바와 같은 서브 플레이 아이템(Sub Play Item)을 이용하여 지정되는 서브 패스(Sub path)의 정보를 포함시키도록 할 수도 있다. SubPlayItem을 정의하면, 예를 들면, PlayItem에 의해 지정되는 Clip(예를 들면, MPEG2 트랜스포트 스트림)에 다중화되어 있지 않은, 독립된 데이터 스트림을 AV 스트림 재생에 동기하여 재생시킬 수 있다.
예를 들면, PlayItem에 의해 지정되는 메인 패스(Main Path)의 Clip AV 스트림에 대응시켜, 텍스트 자막 파일, 및, 렌더링에 필요하게 되는 폰트 파일로 구성되는 자막 관련 정보와, 자막 관련 정보의 재생 구간을 지정한 SubPlayItem을 준비함으로써, Clip AV 스트림의 재생과 동시에, 텍스트 자막 파일에 기재되어 있는 데이터에 대응하는 자막을, 폰트 파일에 기재되어 있는 폰트 데이터에 기초한 표시 폰트로, 표시 장치에 표시시키도록 할 수 있다.
텍스트 자막 파일 및 렌더링에 필요하게 되는 폰트 파일로 구성되는 자막 관련 정보나, SubPlayItem은, 미리 광 디스크(11)에 기록되어 있어도 되고, 네트워크(2)를 통하여, 서버(3)로부터 다운로드되는 것이어도 되며, 또는, 리무버블 미디어(예를 들면, 후술하는 리무버블 미디어(28))을 이용하여 취득할 수 있도록 해도 된다. 자막 관련 정보 및 SubPlayItem을 서버(3)로부터 다운로드하는 경우의 상세에 대해서는, 도 4를 이용하여 후술한다.
다시, 도 1의 설명으로 되돌아간다.
메모리(23)는, 컨트롤러(21)가 각종 처리를 실행함에 있어서 필요한 데이터 등을 적절히 기억한다. 로컬 스토리지(24)는, 예를 들면, HDD(Hard Disk Drive) 등으로 구성된다.
인터넷 인터페이스(25)는, 유선 또는 무선에 의해 네트워크(2)에 접속되어 있으며, 컨트롤러(21)로부터의 제어에 따라서, 네트워크(2)를 통하여, 서버(3)와의 사이에서 통신을 행하며, 서버(3)로부터 다운로드된 데이터를 로컬 스토리지(24)에 공급한다. 서버(3)로부터는, 예를 들면, 그 때 재생 장치(1)에 장착되어 있는 광 디스크(11)에 기록되어 있는, 도 2를 이용하여 설명한 데이터를 업데이트시키는 데이터가 콘텐츠로서 다운로드된다. 로컬 스토리지(24)는, 서버(3)로부터 네트워크(2)를 경유하여 다운로드한 콘텐츠를 기록할 수 있다.
디코더(26)는, 광 디스크 드라이브(22), 또는, 로컬 스토리지(24)로부터 공급되는 AV 스트림, 또는, 텍스트 데이터를 디코드하여, 얻어진 비디오 신호와 오디오 신호를 외부의 표시 장치에 출력한다. 표시 장치에서는, 디코더(26)에 의해 디코드된 신호에 기초하여, 예를 들면, 광 디스크(11)에 기록되어 있는 콘텐츠의 출력(영상의 표시, 음성의 출력)이 행하여진다.
조작 입력부(29)는, 예를 들면, 버튼, 키, 터치 패널, 죠그 다이얼, 마우스 등의 입력 디바이스나, 소정의 리모트 커맨더로부터 송신되는 적외선 등의 신호를 수신하는 수신부에 의해 구성되며, 유저의 조작 입력을 취득하여, 컨트롤러(21)에 공급한다.
또한, 컨트롤러(21)에는, 필요에 따라서 드라이브(27)도 접속되어 있고, 드라이브(27)에는, 예를 들면, 자기 디스크(플렉시블 디스크를 포함함), 광 디스크(CD-ROM(Compact Disk-Read Only Memory), DVD를 포함함), 광 자기 디스크(MD(등록상표)(Mini-Disk)를 포함함), 혹은 반도체 메모리 등으로 이루어지는 리무버블 미디어(28)가 장착된다.
다음으로, 재생 장치(1)에 장착된 광 디스크(11)에 기록된 데이터, 및, 로컬 스토리지(24)에 기억된 데이터를 재생하는 방법에 대해서 설명한다.
재생 장치(1)는 HDD(Hard Disk Drive) 등으로 이루어지는 로컬 스토리지(24)를 내부에 구비한다. 재생 장치(1)는, 유선 또는 무선에 의해 네트워크(2)에 접속되어 있고, 서버(3)로부터 네트워크(2)를 경유하여 다운로드한 콘텐츠를, 이 로컬 스토리지(24)에 기록할 수 있다. 서버(3)로부터는, 예를 들면, 그 때 재생 장치(1)에 장착되어 있는 광 디스크(11)에 기록되어 있는 영화 등의 콘텐츠를 업데이트시키는 데이터를 다운로드 할 수 있다.
다운로드된 콘텐츠가 로컬 스토리지(24)에 기록되어 있는 상태에서, 조작 입력부(29)로부터, 광 디스크(11)에 기록되어 있는 콘텐츠의 재생이 지시되었을 때, 컨트롤러(21)는, 광 디스크(11)에 기록되어 있는 콘텐츠와, 로컬 스토리지(24)에 기록되어 있는 콘텐츠를 관련시켜, 콘텐츠의 재생 처리를 실행한다.
여기서, 광 디스크(11)에 기록되어 있는 콘텐츠와, 로컬 스토리지(24)에 기록되어 있는 콘텐츠를 관련시켜 재생하는 방법에 대해서, 도 4를 이용하여 설명한다.
예를 들면, 도 2의 광 디스크(11)가 패키지 판매되고 있는 미디어로서, 임의의 영화 콘텐츠가 기록되어 있는 것으로 한다. 또한, 그 영화 콘텐츠의 영상에 중첩하여 표시시키는 것이 가능한 자막 데이터 파일로서, 영어의 텍스트 자막 파일만이 광 디스크(11)에 기록되어 있는 것으로 한다.
예를 들면, 도 4에서, 광 디스크(11)에 기록되어 있는, PlayList의 PlayItem이 참조하는 Clip1의 AV 스트림은, 영화 콘텐츠의 영상을 표시시키고, 대응하는 음성을 재생시키기 위한 스트림으로서, PlayList의 SubPlayItem이 참조하는 Clip2의 자막 관련 정보1은, 영상의 표시에 더불어 영어의 자막을 표시시키기 위한 텍스트 자막 파일이다.
이 상태에서, 영어와는 다른 언어의 자막을 표시시켜, 광 디스크(11)에 기록되어 있는 영화 콘텐츠를 시청하고자 하는 경우, 광 디스크(11)에는 영어와는 다른 언어의 자막 데이터가 기록되어 있지 않기 때문에, 유저는, 이 상태에서는 영어와는 다른 언어의 자막 데이터를 표시시켜, 영화를 시청할 수 없다.
그래서, 유저는, 재생 장치(1)에, 광 디스크(11)에 기록되어 있는 영화의 원하는 언어의 텍스트 자막 파일을 서버(3)로부터 네트워크(2)를 경유하여 다운로드시킨다(또는, 리무버블 미디어(28)를 이용하여 취득시킨다). 광 디스크(11)에 미리 기록되어 있지 않은, 예를 들면, 아라비아어에 의한 텍스트 자막 파일의 다운로드가 행하여진(또는, 리무버블 미디어(28)로부터 로컬 스토리지(24)에 카피된) 상태에 대해서 설명한다.
즉, 유저가, 광 디스크(11)에 미리 기록되어 있는 PlayList에 대응하는, 아라비아어에 의한 텍스트 자막 파일의 다운로드를 지시한 경우, 재생 장치(1)에서는, 서버(3)에 대한 액세스가 행하여져, 광 디스크(11)에 기록되어 있는 콘텐츠를 업데이트하는 것으로서, 그 서버(3)에 준비되어 있는 파일의 다운로드가 행하여진다.
도 4의 예에서는, 아라비아어의 텍스트 자막 파일(자막 관련 정보2) 및 그것에 부수되는 Clip Information 파일로 구성되는 Clip3, 광 디스크(11)에 미리 기록되어 있는, 예를 들면, 영화 콘텐츠의 영상 Clip 및 음성 Clip(AV 스트림 데이터)와 영어의 텍스트 자막 파일 외에, 대응하는 Clip3의 자막 데이터의 재생 표시를 제어할 수 있는 PlayList 파일(Updated PlayList 파일), 광 디스크(11)에 기록되어 있는 것과 비교하여 업데이트된 신규 네비게이션 프로그램 파일의 다운로드가 행해져, 그들이 로컬 스토리지(24)에 기록된다.
또한, Updated PlayList에는, 메인 패스를 나타내는 PlayItem 이외에, 서브 패스를 나타내는 SubPlayItem1 및 SubPlayItem2가 부가되어 있다. Updated PlayList의 PlayItem은, 광 디스크(11)에 기록되어 있는 AV Stream을 포함하는 Clip1을 참조하는 것이고, SubPlayItem1은, 광 디스크(11)에 기록되어 있는 자막 관련 정보1을 포함하는 Clip2를 참조하는 것이며, SubPlayItem2는, Updated PlayList와 함께 서버(3)로부터 다운로드된, 아라비아어의 텍스트 자막 파일인 자막 관련 정보2를 포함하는 Clip3을 참조하는 것이다.
도 4의 신규 네비게이션 프로그램은, 재생 구간으로서 Updated PlayList의 PlayItem과 함께, SubPlayItem1 또는 SubPlayItem2를 지정할 수 있는 것이며, 이에 의해, 예를 들면, 원하는 영상 및 음성 데이터에 대응시켜, 광 디스크(11)에 미리 기록되어 있는 영어에 의한 텍스트 자막 파일에 의해 정의되는 영어 자막, 또는, 광 디스크(11)에 미리 기록되어 있지 않은, 아라비아어에 의한 텍스트 자막 파일에 의해 정의되는 아라비아어 자막 중, 유저가 원하는 언어의 자막을 표시시킬 수 있다.
이와 같이, 서버(3)로부터의 다운로드(또는, 리무버블 미디어(28)로부터의 카피)가 행하여짐으로써, 재생 장치(1)는, 영어의 텍스트 자막 파일인 Clip2와, 광 디스크(11)에 미리 준비되어 있지 않은, 아라비아어의 텍스트 자막 파일인 Clip3 중 어느 하나를 영화의 자막으로서 재생 표시하는 것이 가능하게 된다. 즉, 유저는, 표시 장치에 표시되는 메뉴 화면에 기재되는 표시 가능한 자막의 언어로부터 원하는 언어를 선택함으로써, 영어와 아라비아어 중의 원하는 언어의 자막에 의해 영화를 시청할 수 있다.
또한, 광 디스크(11)에 기록되는 AV 스트림은, 도 5에 도시하는 바와 같은, MPEG2(Moving Picture Experts Group 2) 트랜스포트 스트림의 구조를 갖는다. MPEG2 트랜스포트 스트림은, 정수개의 Aligned unit로 구성된다. A1igned unit의 크기는, 6144바이트(2048×3바이트)이며, 소스 패킷의 제1 바이트째부터 시작된다. 소스 패킷은, 192바이트 길이이다. 1개의 소스 패킷은, TP_extra_header와 트랜스포트 패킷으로 구성된다. TP_extra_header은, 4바이트 길이이며, 또한 트랜스포트 패킷은, 188바이트 길이이다. 1개의 Aligned unit는, 32개의 소스 패킷으로 구성된다. 비디오 스트림이나 오디오 스트림의 데이터는, MPEG2 PES(Packetized Elementary Stream) 패킷으로 패킷화되어 있고, PES 패킷은, 트랜스포트 패킷으로 패킷화된다.
도 6은, 도 1의 컨트롤러(21)의 기능 구성예를 도시하는 블록도이다.
도 6의 각 구성은, 미리 준비되어 있는 제어 프로그램이 컨트롤러(21)에 의해 실행됨으로써, 또는, 광 디스크(11)에 기록되어 있는 네비게이션 프로그램이 컨트롤러(21)에 의해 실행됨으로써 실현된다.
메뉴 화면 표시 제어부(31)는, 광 디스크(11)에 기록되어 있는 콘텐츠의 음성, 또는 자막의 언어나, 영상의 앵글을 선택할 때에 유저에 의해 조작되는 버튼이나, 다운로드할 업데이트 파일을 선택할 때에 유저에 의해 조작되는 버튼 등을 포함하는 메뉴 화면을 외부의 표시 장치에 표시시킨다.
조작 입력 취득부(32)는, 조작 입력부(29)로부터 입력된, 유저로부터의 조작 입력을 나타내는 신호를 취득하고, 유저로부터의 조작 입력을 나타내는 신호를, 메뉴 화면 표시 제어부(31), 데이터 취득부(33), 또는, 재생 제어부(37) 중의 대응하는 개소에 출력한다.
데이터 취득부(33)는, 도 1의 인터넷 인터페이스(25)에서 행하여지는 통신, 또는, 드라이브(27)에 의한 리무버블 미디어(28)와의 정보의 수수를 제어한다. 예를 들면, 데이터 취득부(33)는, 유저가 지시한 업데이트 파일을 서버(3)로부터 다운로드하여 취득하고, 취득한 파일을 로컬 스토리지 디렉토리 관리부(34)에 출력한다.
로컬 스토리지 디렉토리 관리부(34)는, 로컬 스토리지(24)의 디렉토리를 관리하며, 로컬 스토리지(24)에 대한 데이터의 기입, 및, 로컬 스토리지(24)로부터의 데이터의 판독 출력을 제어한다. 예를 들면, 로컬 스토리지 디렉토리 관리부(34)의 제어에 의해 로컬 스토리지(24)로부터 판독 출력된 PlayList는, 메모리(23)에 출력되며, 로컬 스토리지(24)로부터 판독 출력된 AV 스트림의 음성 데이터 및 영상 데이터나 텍스트 자막 파일의 텍스트 데이터는, 디코더(26)에 출력된다. 또한,로컬 스토리지 디렉토리 관리부(34)는, 후술하는 바와 같이, 광 디스크(11)의 파일 시스템과, 로컬 스토리지(24)의 파일 시스템과의 머지가 파일 시스템 머지 처리부(36)에 의해 행하여지는 경우, 로컬 스토리지(24)의 파일 시스템에 관한 정보를 파일 시스템 머지 처리부(36)에 출력한다.
광 디스크 디렉토리 관리부(35)는, 광 디스크(11)의 디렉토리를 관리하고, 광 디스크(11)로부터의 각 데이터의 판독 출력을 제어한다. 광 디스크(11)에는 식별 정보인 Studio_id와 Content_id가 설정되어 있으며, 광 디스크 디렉토리 관리부(35)의 제어에 의해, 광 디스크(11)로부터 판독 출력된 Studio_id와 Content_id는, 데이터 취득부(33)와 로컬 스토리지 디렉토리 관리부(34)에 출력된다. 또한, 광 디스크 디렉토리 관리부(35)의 제어에 의해, 광 디스크(11)로부터 판독 출력된 PlayList는, 메모리(23)에 출력되며, 광 디스크(11)로부터 판독 출력된 AV 스트림의 음성 데이터 및 영상 데이터나 텍스트 자막 파일의 텍스트 데이터는, 디코더(26)에 출력된다. 또한, 광 디스크 디렉토리 관리부(35)는, 후술하는 바와 같이, 광 디스크(11)의 파일 시스템과, 로컬 스토리지(24)의 파일 시스템과의 머지가 파일 시스템 머지 처리부(36)에 의해 행하여지는 경우, 광 디스크(11)의 파일 시스템에 관한 정보를 파일 시스템 머지 처리부(36)에 출력한다.
파일 시스템 머지 처리부(36)는, 광 디스크 디렉토리 관리부(35)로부터 공급되는 광 디스크(11)의 파일 시스템과, 로컬 스토리지 디렉토리 관리부(34)로부터 공급되는 로컬 스토리지(24)의 파일 시스템을 머지하여, 1개의 가상적인 파일 시스템을 생성한다. 파일 시스템 머지 처리부(36)는, 머지함으로써 생성한 가상적인 파일 시스템을 재생 제어부(37)에 출력한다. 이하, 적절하게, 제1 실시예에서 파일 시스템 머지 처리부(36)에 의해 머지됨으로써 생성되는 1개의 파일 시스템을 제1 가상 파일 시스템으로 칭한다.
재생 제어부(37)는, 파일 시스템 머지 처리부(36)로부터 공급되는 제1 가상 파일 시스템에서 지정되는 네비게이션 프로그램을 실행하고, 콘텐츠의 재생을 제어한다. 구체적으로는, 재생 제어부(37)는 메모리(23)에 공급되어, 기억된 PlayList를 참조하여, 로컬 스토리지 디렉토리 관리부(34) 또는 광 디스크 디렉토리 관리부(35)를 제어하여, 광 디스크(11) 또는 로컬 스토리지(24)에 기록되어 있는 AV 스트림의 음성 데이터, 영상 데이터, 및, 필요에 따라서 텍스트 자막 파일의 텍스트 데이터를 판독 출력하게 하고, 도 1의 디코더(26)를 제어하여, 광 디스크(11) 또는 로컬 스토리지(24)에 기록되어 있는 AV 스트림의 음성 데이터, 영상 데이터, 및, 필요에 따라서 텍스트 자막 파일의 텍스트 데이터의 디코드(재생)를 행하게 한다.
여기서, 파일 시스템 머지 처리부(36)에 의해 행하여지는, 광 디스크(11)의 파일 시스템과, 서버(3)로부터 다운로드하는 등에 의해 로컬 스토리지(24)에 기록된 파일 시스템의 머지에 대해서 설명한다. 예를 들면, 이 머지는 광 디스크(11)에 기록되어 있는 콘텐츠의 재생이 지시되었을 때에 행하여진다.
도 7은, 광 디스크(11)의 파일 시스템(좌측)과, 로컬 스토리지(24)의 파일 시스템(우측)의 예를 도시하는 도면이다. 도면에 도시되는 바와 같이, 각 파일 시스템은 디렉토리 구조를 갖고 있다.
광 디스크(11)의 「root」 아래에는 「BDMV」의 이름이 설정된 폴더가 준비되며, 그 폴더에, 「info.bdmv」의 이름이 설정된 파일과, 「Navigation.class」의 이름이 설정된 파일이 저장되어 있다. 이하, 이들 파일을, 적절하게, info.bdmv 파일, Navigation.class 파일로 각각 칭한다. 다른 파일, 폴더에 대해서도 마찬가지로, 「파일명」에 「파일」을 부가한 형태로, 또는, 「폴더명」에 「폴더」를 부가한 형태로 칭한다.
info.bdmv 파일에는, 광 디스크(11)의 제작자의 식별 정보인 Studio_id, 콘텐츠의 식별 정보인 Content_id가 기술되어 있다.
즉, Studio_id와 Content_id에 의해, 유통되는 콘텐츠 전체 중으로부터 광 디스크(11)에 기록되어 있는 콘텐츠가 식별된다. 도 7의 예에서는, Studio_id는 「xxx」이며, Content_id는 「yyy」이다. 또한, Studio_id와 Content_id는, 다운로드하는 업데이트 파일을 식별하기 위해서도 이용된다.
Navigation.class 파일은, 소정의 프로그램 언어로 기술된 네비게이션 프로그램이다.
BDMV 폴더에는 또한, 「PLAYLIST」의 이름이 설정된 폴더(PLAYLIST 폴더), 「CLIPINF」의 이름이 설정된 폴더(CLIPINF 폴더), 「STREAM」의 이름이 설정된 폴더(STREAM 폴더)가 저장되어 있다.
도 7에서는, PLAYLIST 폴더에는, 「11111.mpls」의 이름이 설정된 파일과 「22222.mpls」의 이름이 설정된 파일이 저장되어 있다. 이들 파일은, AV 스트림 파일 등의 재생 구간을 타임 스탬프로 나타내는 PlayList이다.
CLIPINF 폴더에는, 「01000.clpi」의 이름이 설정된 파일과 「02000.clpi」의 이름이 설정된 파일 등이 저장되어 있다. 이들 파일은, 타임 스탬프와, AV 스트림 파일 또는 자막 관련 정보1(도 4)의 어드레스 정보의 대응을 나타내는 Clip Information이다.
STREAM 폴더에는, 「01000.m2ts」의 이름이 설정된 파일과 「02000.m2ts」의 이름이 설정된 파일 등이 저장되어 있다. 이들 파일은, 도 4의 AV stream이나 자막 관련 정보1 등이다.
한편, 로컬 스토리지(24)의 「root」 아래에는 「xxx-yyy」의 이름이 설정된 폴더가 저장되어 있다. 폴더명의 「xxx-yyy」는, 이 폴더에 저장되어 있는 데이터가, 광 디스크(11)에 기록되어 있는, Studio_id「xxx」, Content_id「yyy」로 식별되는 콘텐츠에 대응하는 데이터인 것을 나타낸다. 후술하는 바와 같이, xxx-yyy폴더는, Studio_id「xxx」, Content_id「yyy」를 갖는 광 디스크(11)가 재생 장치(1)에 장착되어, 업데이트 파일(xxx-yyy 폴더에 저장되는 각 파일)의 다운로드가 행하여졌을 때에 작성되는 것이다.
xxx-yyy 폴더에는, info.bdmv 파일, Navigation.class 파일이 저장되어 있다. 이 info.bdmv 파일은 광 디스크(11)의 info.bdmv 파일과 동일하며, Navigation.class 파일은, 광 디스크(11)의 Navigation.class 파일을 업데이트시킨 파일이다. 즉, 로컬 스토리지(24)의 Navigation.class 파일은, 광 디스크(11)에 기록되어 있는 것과 비교하여, 버전업된 네비게이션 프로그램을 기술하는 파일이다.
xxx-yyy 폴더에는, 또한, PLAYLIST 폴더, CLIPINF 폴더, STREAM 폴더가 저장되어 있다.
도 7에서는, 로컬 스토리지(24)의 PLAYLIST 폴더에 「11111.mpls」의 이름이 설정된 파일과 「22222.mpls」의 이름이 설정된 파일이 저장되어 있으며, 이 중의 「22222.mpls」의 이름이 설정된 파일은, 광 디스크(11)의 동일한 이름이 설정되어 있는 파일을 업데이트한 파일로 되어 있다. 예를 들면, 로컬 스토리지(24)의 「22222.mpls」의 이름이 설정된 파일은, 다운로드된 Update PlayList(도 4)를 나타내며, 이 파일에, PlayList에 SubPlayItem이 부가된 데이터가 기술된다.
로컬 스토리지(24)의 CLIPINF 폴더에는, 광 디스크(11)에도 기록되어 있는, 「01000.clpi」의 이름이 설정된 파일과 「02000.clpi」의 이름이 설정된 파일 이외에, 「04000.clpi」의 이름이 설정된 파일이 저장되어 있다. 즉, 「04000.clpi」의 이름이 설정된 파일은, 다운로드에 의해 새롭게 취득된 파일로서, 예를 들면, 도 4의 Clip3의 Clip Information이다.
로컬 스토리지(24)의 STREAM 폴더에는, 「04000.m2ts」의 이름이 설정된 파일이 저장되어 있다. 이 파일은, 다운로드에 의해 새롭게 취득된 파일로서, 예를 들면, 도 4의 Clip3의 자막 관련 정보2이다.
또한, 마찬가지로, 도 7의 예에서는, 로컬 스토리지(24)의 「root」 아래에는 「xxx-aaa」의 이름이 설정된 폴더와, 「yyy-bbb」의 이름이 설정된 폴더가 저장되어 있다. 이들은, Studio_id「xxx」, Content_id「aaa」로 식별되는 광 디스크, Studio_id「yyy」, Content_id「bbb」로 식별되는 광 디스크가 재생 장치(1)에 장착되었을 때에 각각 작성된 것으로, 각각의 콘텐츠에 대응하는 파일이 저장되어 있다.
이러한 광 디스크(11)의 파일 시스템과 로컬 스토리지(24)의 파일 시스템이 있는 경우, 컨트롤러(21)의 파일 시스템 머지 처리부(36)는, 광 디스크(11)의 파일 시스템과, 로컬 스토리지(24)의 파일 시스템을 메모리(23) 상에서 머지하여, 제1 가상 파일 시스템을 생성한다.
구체적으로는, 파일 시스템 머지 처리부(36)는, 동일한 이름의 파일이 광 디스크(11)와 로컬 스토리지(24)의 양쪽에 있는 경우, 각각의 파일에 기술되는 타임 스탬프(작성 일시)나 버전에 기초하여, 다운로드에 의해 취득된 파일이 콘텐츠의 재생 시에 참조하는 파일로 되도록 머지를 행한다. 또한, 파일 시스템 머지 처리부(36)는, 광 디스크(11)에는 않고, 로컬 스토리지(24)에만 있는 파일이 콘텐츠의 재생 시에 참조하는 파일로 되도록 머지를 행한다.
도 8은, 도 7의 2개의 파일 시스템으로부터 얻어지는 제1 가상 파일 시스템의 예를 도시하는 도면이다.
도 8에서는, 광 디스크(11)에 기록되어 있는 파일 중, Navigation.class 파일과 「22222.mpls」의 이름이 설정된 파일이, 다운로드된 파일에 의해 업데이트되어 있다(치환되어 있다). 또한, 광 디스크(11)에는 기록되어 있지 않은, 「04000.clpi」의 이름이 설정된 파일과, 「04000.m2ts」의 이름이 설정된 파일이 추가되어 있다.
즉, 다운로드된 파일에, 업데이트된 네비게이션 프로그램이나 PlayList가 있는 경우, 그 파일에 의해, 광 디스크(11)의 동일한 이름의 파일이 업데이트된다(치환된다). 또한, 광 디스크(11)에는 없는 Clip의 파일(Clip Information 파일, AV 스트림 파일)이 다운로드된 경우, 그것이 파일 시스템에 추가된다.
이와 같이 하여 생성된 제1 가상 파일 시스템을 통하여, 네비게이션 프로그램에 기초하는 AV 스트림에의 액세스가 행하여진다(직접, 광 디스크(11)나 로컬 스토리지(24)에 액세스가 행하여지는 것은 아님).
따라서, 새롭게 다운로드 또는 카피된 신규 네비게이션 프로그램의 처리에 의해, 광 디스크(11)에 미리 기억되어 있는 데이터와, 새롭게 다운로드 또는 카피되어 로컬 스토리지(24)에 기억된 데이터와는 구별되지 않고 처리된다. 도 9에 도시되는 바와 같이, 소정의 구간의 AV 스트림에 대응시켜 자막을 표시시키기 위한 자막 관련 정보가, 복수의 언어의 자막에 대응하는 텍스트 자막 파일을 구성하는 텍스트 서브 타이틀 데이터와, 폰트 파일을 구성하는 폰트 데이터에 의해 구성되어 있는 경우, 유저의 조작 입력에 기초하여, 광 디스크(11)에 미리 기억되어 있는 자막 관련 정보와, 새롭게 다운로드 또는 카피되어 로컬 스토리지(24)에 기억된 자막 관련 정보에 의해 표시 가능하게 되는 복수의 언어에 의한 자막 중, 유저가 원하는 언어의 자막 데이터가, 광 디스크(11)에 미리 기억되어 있는 AV 스트림에 대응되어져, 처리되어 표시된다.
한편, 광 디스크의 판매자측(판매자, 제작자)은, 예를 들면, 아라비아어의 자막 정보는 나중에 네트워크(2)를 통하여 제공하는 것으로 하고, 영어 자막만을 표시 가능한 상태로, 영화가 기록된 광 디스크(11)를 판매할 수 있다. 즉, 광 디스크의 판매자측은, 한번에 다언어를 번역하지 않고, 보다 빠른 타이밍에서 디스크를 판매하고, 필요에 따라, 다른 언어에 대응하는 자막 관련 정보를 추가하여 제공하는 것이 가능하게 된다. 또한, 주된 언어에 대응하는 지역에 광 디스크를 선행 판매하고, 다른 언어의 번역 처리의 종료 후, 광 디스크의 판매 지역을 나중에 추가함과 함께, 대응하는 언어의 텍스트 자막 파일의 다운로드 서비스를 개시하도록 하는 것 등도 가능하게 된다.
광 디스크의 판매자측(판매자, 제작자)은, 광 디스크(11)에 미리 기억되어 있는 AV 스트림에 대응시켜 자막 데이터를 표시 가능하게 하기 위해, 적어도, 업데이트된 신규의 플레이 리스트 파일과, 텍스트 자막 파일을 배포할 필요가 있으며, 이것에 부가하여, 텍스트 자막 파일에 기재되어 있는 텍스트 데이터에 대응하는 자막의 표시 형식을 정의하기 위한 폰트 파일을 배포하도록 해도 된다. 또한, 기본적인 폰트 데이터에 관해서는, 재생 장치(1)의 메모리(23) 등에 미리 기억되어 있는 것으로 한다.
추가하여 배포되는 대상으로 되는 데이터(즉, 도 4를 이용하여 설명한 로컬 스토리지(24)에 기억되는 데이터에 대응함)의 아카이브를 도 10에 도시한다.
추가하여 배포하는 데이터에는, 플레이 리스트 파일(PlayList_file), 텍스트 서브 타이틀 파일의 번호를 나타내는 8비트의 번호 정보(number_of_TextSubTitle), 및, 상술한 텍스트 자막 파일에 대응하는 텍스트 서브 타이틀 파일(text_subtitle_file)이 포함되며, 또한, 폰트 파일(font_fi1e)이 포함되는 경우가 있다.
도 11은, SubPlayItem의 신택스를 도시하는 도면이다.
ref_to_STC_id의 8비트의 필드는, Clip가 참조하는 STC 시퀀스의 식별자를 지정한다. SubPlayItem_IN_time는, SubPlayItem의 재생 개시 시각을 지정한다. SubPlayItem-OUT_time는, SubPlayItem의 재생 종료 시각을 지정한다. 즉, SubPlayItem_IN_time 및 SubPlayItem_OUT_time로, SubPlayItem의 재생 구간을 지정할 수 있다. 또한, SubPlayItem_IN_time 및 SubPlayItem_OUT_time에 기재되는 시각 정보는, STC에서 사용되고 있는 45㎑의 클럭을 베이스로 표현된다.
number_of_ClipTextSubtitle의 8비트의 필드는, SubPlayItem 중에서 정의하는 자막의 텍스트의 총수를 지정한다. language_id의 8비트의 필드는, 자막으로서 사용하는 언어의 식별자를 지정한다. language_id 필드의 데이터는, ISO/IEC 639-1 규격에 따르는 것으로 한다. character_code_id의 8비트의 필드는, 문자 데이터의 부호화 방식의 식별자를 지정한다. font_format_id의 8비트의 필드는, 폰트 포맷의 식별자를 지정한다.
font_file_path_length의 16비트의 필드는, font_file_path에 기재되는 폰트 파일의 패스 명칭의 바이트수를 지정한다. 이 필드에는, font_file_path의 바이트수로서, 0을 지정할 수 있다. 0이 지정된 경우에는, 재생 장치(1)에 미리 보존되어 있는 내장 폰트가 지정된 것으로서 처리된다. font_file_path는, 자막 데이터를 묘화하기 위해 사용하는 폰트 파일의 패스 명칭을 지정한다. font_file_path의 필드에, 빈 문자열이 지정된 경우, 재생 장치(1)에 미리 보존되어 있는 내장 폰트가 지정된 것으로서 처리된다. font_file_path 필드값은, ISO/IEC 646 방식으로 부호화되는 것으로 한다.
subtitle_file_path_length의 16비트의 필드는, subtitle_file_path에 기재되는 텍스트 자막 파일의 패스 명칭의 바이트수를 지정한다. subtitle_file_path는, 텍스트 자막 파일의 패스 명칭을 지정한다. subtitle_file_path 필드값은, ISO/IEC 646 방식으로 부호화되는 것으로 한다.
comment_length의 16비트의 필드는, comment에 기술되는 정보의 바이트수를 지정한다. Comment에는, 텍스트 자막에 관한 코멘트가 기술된다. 또한, Comment에 기재되는 코멘트는, 문자 집합 ISO/IEC 646을 사용하여 기술하는 것으로 되어 있다.
텍스트 자막 파일은, 도 12에 도시되는 구문에 따라서 기재된다.
version은, 텍스트 자막 파일의 버전을 지정하는 16비트의 정보이다. markup_type는, 마크업의 형식을 지정하는 8비트의 정보이다. subtitle_count는, 자막 데이터의 총수를 지정하는 32비트의 정보이다(subtitle_count는, 개행 코드의 총수가 아님). start_PTS는, 자막의 표시 개시 시각을 Clip AV 스트림의 PTS로 지정하는 33비트의 정보이다. end-PTS는, 자막의 표시 종료 시각을 Clip AV 스트림의 PTS로 지정하는 33비트의 정보이다. subtitle_data_length는, subtitle_data의 바이트수(자막의 문자수가 아님)를 지정하는 32비트의 정보이다. subtitle_data는, 자막 데이터를 지정하는 정보이다.
자막 데이터는, 자막을 구성하는 문자 그 자체를 나타내는 「문자 객체」와 「속성 데이터(어트리뷰트)」로 구성된다. 속성 데이터의 설정 방법에 대해서 기술한다.
자막 데이터의 속성 데이터에는, 제어 문자에 의한 속성 설정과, 마크업에 의한 인라인 속성 설정의 2개의 속성 설정 방법이 있다.
우선, 도 13 및 도 14를 이용하여, 제어 문자에 의한 속성 설정에 대해서 설명한다.
도 13에 도시되는 「Tab」라고 하는 문자는 공백 문자로서 취급된다. 「Tab」 이외에도, 공백 문자로서 취급할 수 있는 문자를 복수 설정하는 것이 가능한 것은 물론이다.
또한, 도 14에 도시되는 문자는 모두 개행 문자로서 취급된다. 즉, 「CR」은, 복귀를 나타내는 기호이지만 개행 문자로서 취급되고, 「LF」는, 개행 문자로서 취급되며, 「CR+LF」는, 복귀와 개행을 나타내는 기호이지만 개행 문자로서 취급되고, 「NEL」은, 개행 문자로서 취급되며, 「VT」는, 수직 탭을 나타내는 기호이지만 개행 문자로서 취급되고, 「FF」는, 용지 공급을 나타내는 기호이지만 개행 문자로서 취급되며, 「LS」는, 행 구획을 나타내는 기호이지만 개행 문자로서 취급되고, 「PS」는, 단락 구획을 나타내는 기호이지만 개행 문자로서 취급된다.
다음으로, 마크업에 의한 인라인 속성 설정에 대해서 설명한다.
지정 가능한 속성에 대하여 각각 마크업이 정의된다. 마크업의 형식은, TLV(Type-Length-Value) 인코드 형식으로 마크업하는 경우와, 태그 부가 언어의 요소 및 속성에 의해 마크업하는 경우의 2종류가 있으며, 도 15에 도시되는 바와 같이, 마크업 형식 식별자가 0x00일 때, 마크업의 형식은, TLV 인코드 형식인 것으로 정의되며, 마크업 형식 식별자가 0x01일 때, 마크업의 형식은, 태그 부가 언어인 것으로 정의된다. 어떠한 형식에서도, 마크업의 스코프는, 개시 마커 이후의 문자 전체이며, 텍스트 데이터를 디코드하는 디코더의 일방향 주사를 가능하게 하기 위해서, 종료 마커는 정의되지 않는다. 따라서, 속성을 국소적으로 지정하고자 하는 경우에는, 직전의 속성을 명시적으로 재지정할 필요가 있다.
우선, TLV 인코드 방식에 의한 속성 지정이 행하여지는 경우에 대해 설명한다. TLV 인코드 방식에 의한 속성 지정의 경우, 자막 데이터의 문자 부호화 방식은, 도 11을 이용하여 설명한, SubPlayItem 중의 character_code_id의 지정에 따르는 것으로 한다.
도 16을 이용하여, TLV 인코드 방식에 의한 속성 지정의 경우의, subtitle_data()의 데이터 구조에 대해서 설명한다.
escape_code의 8비트의 필드는, 도 17에 도시되는 바와 같이, 후에 속성이 기술되어 있는 것을 나타내는 에스케이프 코드 0x1B를 지정한다. attribute_type의 8비트의 필드는, 속성 종별을 지정한다. attribute_type에 기재되는 코드에 대해서는, 도 18을 이용하여 후술한다. attribute_value_length의 16비트의 필드는, 후속하는 속성 데이터의 바이트수를 지정한다. attribute_value는, 속성 데이터를 지정한다. char_data는, 문자 객체의 바이트 시퀀스를 지정한다.
다음으로, 도 18을 이용하여, attribute_type에 기재되는 속성 종별을 나타내는 코드에 대해서 설명한다.
subtitle_data()의 attribute_type의 8비트의 필드에 0x01이 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 인덱스 데이터와 대표색 데이터와의 변환 테이블인 CLUT(Color Look Up Table)의 설정이다. CLUT는, 도 33을 이용하여 후술하는 자막 그래픽스 플레인 처리부에 기억되는 변환 테이블이다. subtitle_data()의 attribute_type의 8비트의 필드에 0x02가 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 영역 원점의 지정이다. subtitle_data()의 attribute_type의 8비트의 필드에 0x03이 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 행간(Line Space)의 지정이다. subtitle_data()의 attribute_type의 8비트의 필드에 0x04가 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 렌더링 방향의 지정이다. subtitle_data()의 attribute_type의 8비트의 필드에 0x05가 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 폰트색의 지정이다. subtitle_data()의 attribute_type의 8비트의 필드에 0x06이 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 배경색의 지정이다. subtitle_data()의 attribute_type의 8비트의 필드에 0x07이 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 폰트 스타일의 지정이다. subtitle_data()의 attribute_type의 8비트의 필드에 0x08이 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 폰트 사이즈의 지정이다.
subtitle_data()의 attribute_type의 8비트의 필드에 0x09가 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 폰트 회전각의 지정이다. subtitle_data()의 attribute_type의 8비트의 필드에 0x0A가 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 북마크의 개시 위치이다. subtitle_data()의 attribute_type의 8비트의 필드에 0x0B가 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 북마크의 종료 위치이다. subtitle_data()의 attribute_type의 8비트의 필드에 0x0C이 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 북마크가 부여된 문자 객체 시퀀스의 반복 지정이다.
subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 CLUT 설정일 때, attribute_value에서, 도 33을 이용하여 후술하는 자막 그래픽스 플레인 처리부에서의 CLUT의 인덱스가 설정된다. 도 19에, subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 CLUT 설정일 때의, attribute_value의 데이터 구조를 도시한다.
CLUT_size의 8비트의 필드에는, CLUT의 사이즈가 기재되어 있다. Y는, 휘도 데이터를 설정하는 8비트의 정보이고, Cb, Cr은, 각각, 색차 데이터를 설정하는 8비트의 정보이며, T는, 투명도를 설정하는 8비트의 정보이다.
subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 영역 원점 지정일 때, attribute_value에서, 영역의 원점 좌표(x, y)가 지정된다. 도 20에, subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 영역 원점 지정일 때의 attribute_value의 데이터 구조를 도시한다.
x_coordonate는, 영역의 원점의 x좌표를 나타내는 16비트의 정보이다. y_coordonate는, 영역의 원점의 y좌표를 나타내는 16비트의 정보이다.
또한, subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 행간(Line Space) 지정일 때, attribute_value에서, 행간이 픽셀 단위로 지정된다. 또한, 행간(Line Space) 지정의 디폴트는, 「폰트의 높이」인 것으로 해도 된다.
subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 렌더링 방향 지정일 때, attribute_value에는, 문자 객체를 묘화할 때의 렌더링 방향을 지정하기 위한 렌더링 방향 지정을 나타내는 코드가 기재된다. 도 21에 렌더링 방향 지정을 나타내는 코드의 예를 도시한다.
즉, subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 렌더링 방향 지정인 경우, attribute_value에, 0x00이 기재되어 있을 때, 문자 객체를 묘화할 때의 렌더링 방향은, 좌로부터 우로 지정되고, attribute_value에, 0x01이 기재되어 있을 때, 문자 객체를 묘화할 때의 렌더링 방향은, 우로부터 좌로 지정되며, attribute_value에, 0x02가 기재되어 있을 때, 문자 객체를 묘화할 때의 렌더링 방향은, 위로부터 아래로 지정된다.
subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 폰트색의 지정일 때, attribute_value에는, 도 33을 이용하여 후술하는 자막 그래픽스 플레인 처리부에서의 CLUT에 대한 색 지정의 인덱스가 지정된다. 폰트색을 설정하기 위한 attribute_value의 값의 디폴트는, 「0」인 것으로 해도 된다.
subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 배경색의 지정일 때, attribute_value에는, 도 33을 이용하여 후술하는 자막 그래픽스 플레인 처리부에서의 CLUT에 대한 배경색의 인덱스가 지정된다. 단, 지정된 배경색으로 전부 칠해지는 표시 화면 내의 영역은, 영역 단위이며, 배경색의 디폴트는, 무지정(투과)인 것으로 해도 된다.
subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 폰트 스타일의 지정일 때, attribute_value에는, 도 22에 도시되는 코드 중의 어느 하나가 기재되어, 폰트의 스타일이 지정된다. 즉, attribute_value에, 0x00이 기재되어 있을 때, 폰트 스타일은 표준으로 지정되고, attribute_value에, 0x01이 기재되어 있을 때, 폰트 스타일은 굵은 글자로 지정되며, attribute_value에, 0x02가 기재되어 있을 때, 폰트 스타일은 기울임꼴로 지정된다. 또한, 폰트의 스타일의 디폴트는, 「표준」으로 하도록 해도 된다.
subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 폰트 사이즈의 지정일 때, attribute_value에는, 폰트 사이즈를 나타내는 8 이상 72 이하의 값이 지정된다. 또한, 폰트 사이즈를 지정하는 값의 디폴트는, 「32」로 하도록 해도 된다.
subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 폰트 회전각의 지정일 때, attribute_value에는, 폰트 회전각에 대응하는 0 이상 360 이하의 값이 지정된다. 또한, 회전 방향은, 예를 들면, 반시계 방향이 정방향으로 되고, 디폴트는, 「0」으로 하도록 해도 된다.
subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 북마크 개시 위치 지정일 때, attribute_value에는, 북마크 개시 위치가 지정된다. 북마크란, 복수회 동일한 문자가 동일한 형식으로 표시되는 경우에 렌더링 처리를 생략할 수 있도록, 텍스트 자막 파일의 공급원이 미리 부여하는 정보이다. 도 23에, subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 북마크 개시 위치 지정일 때의 attribute_value의 데이터 구조를 도시한다.
bookmark_id의 8비트의 필드에는, 북마크를 고유하게 구별 가능한 ID가 기재된다. 또한, 여기서는, 북마크는, 최대 256개까지 지정할 수 있다. start_of_bookmark_indicator의 8비트의 필드에는, 북마크의 개시 위치가 지정된다.
subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 북마크 종료 위치 지정일 때, attribute_value에는, 북마크 종료 위치가 지정된다. 도 24에, subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 북마크 종료 위치 지정일 때의 attribute_value의 데이터 구조를 도시한다.
bookmark_id의 8비트의 필드에는, 북마크를 고유하게 구별 가능한 ID가 기재된다. end_of_bookmark_indicator의 8비트의 필드에는, 북마크의 종료 위치가 지정된다.
subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 문자 객체 시퀀스 반복 지정일 때, attribute_value에는, 북마크가 부여된 문자 객체의 시퀀스의 반복 횟수가 지정된다. 도 25에, subtitle_data()의 attribute_type에서, 기재되어 있는 속성 종별이 문자 객체 시퀀스 반복 지정일 때의 attribute_value의 데이터 구조를 도시한다.
bookmark_id의 8비트의 필드에는, 북마크를 고유하게 구별 가능한 ID가 기재된다. Count의 8비트의 필드에는, 북마크의 반복 횟수가 지정된다.
다음으로, 태그 부가 언어에 의한 속성 지정의 경우에 대해 설명한다. 태그 부가 언어에 의한 속성 지정의 경우, 자막 데이터의 문자 부호화 방식은, SubPlayItem 중의 character_code_id의 지정을 무시하고, ISO/IEC 646 인코드인 것으로 한다.
도 26을 이용하여, 태그 부가 언어에 의한 속성 지정의 경우의, subtitle_data()의 데이터 구조에 대해서 설명한다.
TaggedAttr은, 속성 데이터의 태그 부가 언어 표현을 지정한다. TaggedAttr은, 도 27에 도시되는 바와 같은, 소정의 형식에 따른다. char_data는, 문자 객체의 바이트 시퀀스를 지정한다. 단, 바이트 시퀀스는, BASE64 인코딩 방식에 의해 ISO/IEC 646 인코드하는 것으로 한다. 그 때, 「<」 및 「>」는, 「0x1B」에 의해 에스케이프한다.
다음으로, 도 28을 참조하여, 태그 부가 언어에 의한 속성 지정의 요소 및 속성 종별에 대해서 설명한다.
CLUT 설정은, <CLUT size= y= cb= cr= t= >로 기재되며, 속성 「size」에 CLUT의 사이즈가 지정되며, 속성 「y」, 「cb」, 「cr」 및 「t」에는, 도 33을 이용하여 후술하는 자막 그래픽스 플레인 처리부에서의 CLUT의 인덱스 열이 지정된다.
영역 원점 지정은, <region x= y=>로 기재되며, 속성 「x」 및 「y」에, 영역의 원점 좌표(x, y)가 지정된다.
행간(Line Space) 지정은, <linespace d=>로 기재되며, 속성 「d」에, 행간이 픽셀 단위로 지정된다. 또한, 행간의 디폴트는, 「폰트의 높이」로 하도록 해도 된다.
렌더링 방향 지정은, <textflow d=>로 기재되며, 속성 「d」에, 문자 객체를 묘화할 때의 방향이 지정된다. 또한, 렌더링 방향의 디폴트는, 「좌로부터 우로」로 하도록 해도 된다.
폰트색 지정은, <fontcolor c=>로 기재되며, 속성 「c」에, 도 33을 이용하여 후술하는 자막 그래픽스 플레인 처리부에서의 CLUT에 대한 인덱스가 지정된다. 또한, 폰트색에 대응하는 인덱스의 디폴트는, 「0」으로 하도록 해도 된다.
배경색 지정은, <backgroundcolor c=>로 기재되며, 속성 「c」에, 도 33을 이용하여 후술하는 자막 그래픽스 플레인 처리부에서의 CLUT에 대한 인덱스가 지정된다. 단, 배경색으로 전부 칠해지는 영역은, 영역 단위이며, 배경색의 디폴트는, 무지정(투과)으로 하도록 해도 된다.
폰트 스타일 지정은, <fontstyle s=>로 기재되며, 속성 「s」에, 굵은 글자, 기울임꼴, 표준 등의 폰트의 스타일이 지정된다. 또한, 폰트의 스타일의 디폴트는, 「표준」으로 하도록 해도 된다.
폰트 사이즈 지정은, <fontsize s=>로 기재되며, 속성 「s」에, 폰트 사이즈에 대응하는 8 이상 72 이하의 값이 지정된다. 또한, 폰트 사이즈를 지정하는 값의 디폴트는, 「32」로 하도록 해도 된다.
폰트 회전각 지정은, <fontrotate a=>로 기재되며, 속성 「a」에, 폰트의 회전각에 대응하는 0 이상 360 이하의 값이 지정된다. 또한, 회전 방향은, 반시계 방향이 정방향으로 되고, 폰트의 회전각에 대응하는 값의 디폴트는, 「0」으로 하도록 해도 된다.
북마크 지정은, <mark id=>로 기재되며, 속성 「id」에, 북마크를 개별로 구별 가능한 0 이상 255 이하의 값이 지정된다. 이에 의해, 본 요소의 스코프 내의 자막 데이터에 대하여 북마크가 부여된 것으로 된다. 북마크는, 최대 256개까지 지정할 수 있다.
문자 객체 시퀀스 반복 지정은, <repeat id= c=>로 기재되며, 속성 「id」에, 북마크를 개별로 구별 가능한 0 이상 255 이하의 값이, 속성 「c」에는 반복 횟수가 지정된다. 이에 의해, 속성 「id」에 의해 설정된 속성값에 대응하는 북마크가 부여된 자막 데이터가, 속성 「c」에 설정된 횟수 반복된다.
상술한 바와 같은 방법으로 속성이 지정된 텍스트 자막 파일의 텍스트 데이터는, 각각의 속성의 설정에 기초하여, 예를 들면, 도 29에 도시되는 바와 같이, 렌더링 방향이 좌로부터 우로 지정되고, 설정된 개행 위치에서 아래 방향으로 개행되어 표시되거나, 도 30에 도시되는 바와 같이, 렌더링 방향이 우로부터 좌로 지정되고, 설정된 개행 위치에서 아래 방향으로 개행되어 표시되거나, 도 31에 도시되는 바와 같이, 렌더링 방향이 위로부터 아래로 지정되고, 설정된 개행 위치에서 왼쪽 방향으로 개행되어 표시된다.
또한, 예를 들면, 표시되는 자막에 대하여, 페이드 인 또는 페이드 아웃을 지정할 때에는, 도 33을 이용하여 후술하는 자막 그래픽스 플레인 처리부에서의 CLUT의 T값을 변경하여, 문자의 투명도를 변화시키면서, 문자 객체 시퀀스를 반복 지정하도록 하면 된다.
다음으로, 도 32는, 로컬 스토리지(24)의 가상적인 기억 영역을 도시하는 도면이다.
로컬 스토리지(24)에는, 도 4를 이용하여 설명한 바와 같이, 다운로드 또는 카피된 각종 정보가 도 7을 이용하여 설명한 파일 형식으로 기억된다. 이들 파일을 기억하기 위해, 로컬 스토리지(24)에는, 가상적인 기억 영역으로서, 다운로드된 네비게이션 프로그램이 기억되는 영역인 네비게이션 프로그램 기억부(51), 다운로드된 플레이 리스트가 기억되는 영역인 플레이 리스트 기억부(52), 다운로드된 텍스트 서브 타이틀 파일이 기억되는 영역인 텍스트 서브 타이틀 파일 기억부(53), 다운로드된 폰트 파일이 기억되는 영역인 폰트 파일 기억부(54)가 설치되어 있는 것으로 할 수 있다. 네비게이션 프로그램 기억부(51) 및 플레이 리스트 기억부(52)에 기억된 데이터 파일은, 도 6을 이용하여 설명한 로컬 스토리지 디렉토리 관리부(34)의 제어에 기초하여 판독 출력하여 메모리(23)에 공급되며, 텍스트 서브 타이틀 파일 기억부(53) 및 폰트 파일 기억부(54)에 기억된 데이터 파일은, 도 6을 이용하여 설명한 로컬 스토리지 디렉토리 관리부(34)의 제어에 기초하여 판독 출력되어 디코더(26)에 공급된다.
또한, 도 32에 도시된 로컬 스토리지(24)의 네비게이션 프로그램 기억부(51), 플레이 리스트 기억부(52), 텍스트 서브 타이틀 파일 기억부(53), 및, 폰트 파일 기억부(54)의 각각의 기억 영역은 가상적인 것이기 때문에, 로컬 스토리지(24)의 기억 영역은, 도 32에 도시되어 있는 바와 같이 기억되는 정보의 종류에 의해 물리적으로 분할되어 있지 않아도 되는 것은 물론이다.
컨트롤러(21)의 제어에 기초하여, 광 디스크(11), 또는, 로컬 스토리지(24)로부터 판독 출력된 데이터는, 도시하지 않은 복조 및 ECC 복호부에 의해 복조되고, 오류 정정이 실시되어, 디코더(26)에 공급된다. 도 33은, 디코더(26)의 상세한 구성을 설명하기 위한 블록도이다.
디코더(26)에는, 제어부(81), 디스크 데이터 취득부(82), 버퍼(83 및 84), PID(패킷ID) 필터(85), 오디오 디코더(86), MPEG(Moving Picture Experts Group) 비디오 디코더(87), 비디오 플레인 처리부(88), GUI(Graphic User Interface) 데이터 디코더(89), GUI 그래픽스 플레인 처리부(90), 스토리지 데이터 취득부(91), 텍스트 자막 처리부(92), 자막 그래픽스 플레인 처리부(93), 및, 합성 처리부(94)가 설치되어 있다.
제어부(81)는, 재생 제어부(37)의 제어에 기초하여, 디코더(26)의 각 부의 처리를 제어하는 것이다. 디스크 데이터 취득부(82)는, 광 디스크(11)로부터 판독 출력된 데이터 중, 디코더(26)에 공급된 데이터를 취득하고, 도 9를 이용하여 설명한 PlayItem에 의해 지정되는 AV 스트림 등의 다중화 스트림을, 메인 패스를 구성하는 PlayItem에 의해 지정되는 데이터의 리드 버퍼인 버퍼(83)에 공급하고, SubPlayItem에 의해 지정되는, 텍스트 자막 파일 또는 폰트 파일의 데이터(폰트 파일의 데이터는 지정되어 있지 않는 경우가 있음)를, 서브 패스를 구성하는 SubPlayItem에 의해 지정되는 데이터의 리드 버퍼인 버퍼(84)에 공급한다.
버퍼(83)로부터 판독 출력된 스트림 데이터는, 소정의 타이밍에서, 후단의 PID 필터(55)에 출력된다. 이 PID 필터(85)는, 입력된 다중화 스트림을, PID에 따라서, 후단의 각 엘리멘터리 스트림의 디코더인 오디오 디코더(86), MPEG 비디오 디코더(87), 또는, GUI 데이터 디코더(89)에 분류하여 출력한다. 즉, PID 필터(55)는, 음성(오디오) 스트림을 오디오 디코더(86)에 공급하고, 영상(비디오) 스트림을 MPEG 비디오 디코더(87)에 공급하며, 유저 인터페이스 관련의 화상 데이터를 GUI 데이터 디코더(89)에 공급한다.
오디오 디코더(86)는, 오디오 스트림을 디코드하고, 디코드된 오디오 스트림의 데이터를 출력한다. MPEG 비디오 디코더(87)는, 비디오 스트림을 디코드하고, 디코드된 비디오 데이터를 비디오 플레인 처리부(88)에 출력한다. 비디오 플레인 처리부(88)는, 디코드된 비디오 데이터에 기초하여, 1페이지(또는, 1프레임)에 표시되는 화상(동화상인 영상을 구성하는 화상)에 대응하는 비디오 플레인을 생성하여, 합성 처리부(94)에 출력한다.
GUI 데이터 디코더(89)는, 인터랙티브 그래픽스 스트림을 디코드하고, 디코드된 GUI 데이터를, GUI 그래픽스 플레인 처리부(90)에 공급한다. GUI 그래픽스 플레인 처리부(90)는, 1화면에 표시되는 GUI에 대응하는 그래픽스 플레인을 생성하여, 합성 처리부(94)에 출력한다.
스토리지 데이터 취득부(91)는, 로컬 스토리지(24)로부터 판독 출력된 데이터 중, 디코더(26)에 공급된 데이터(즉, 텍스트 자막 파일 또는 폰트 파일의 데이터)를 취득하여, 텍스트 자막 처리부(92)에 공급한다. 텍스트 자막 처리부(92)는, 제어부(81)의 제어에 따라, 스토리지 데이터 취득부(91)로부터 공급되는, 또는, 버퍼(84)로부터 판독 출력되는 텍스트 데이터를 디코드하고, 소정의 폰트 데이터에 기초하여, 비트맵 등의 래스터 데이터로 변환(래스터라이즈)하여, 자막 그래픽스 플레인 처리부(93)에 공급한다. 텍스트 자막 처리부(92)에 대한 상세 내용은, 도 34를 이용하여 후술한다. 자막 그래픽스 플레인 처리부(93)는, 디코드되어 렌더링된 텍스트 데이터에 기초하여, 1페이지(또는, 1프레임)에 표시되는 자막에 대응하는 자막 그래픽스 플레인을 생성하여, 합성 처리부(94)에 출력한다.
합성 처리부(94)는, 비디오 플레인 처리부(88)로부터 공급된 비디오 플레인, GUI 그래픽스 플레인 처리부(90)로부터 공급된 GUI에 대응하는 그래픽스 플레인, 및, 자막 그래픽스 플레인 처리부(93)로부터 공급된 자막 그래픽스 플레인을 합성하여, 비디오 신호로서 출력한다.
도 34는, 텍스트 자막 처리부(92)의 상세한 구성을 설명하기 위한 블록도이다.
텍스트 데이터 디코더(121)는, 텍스트 자막 파일(텍스트 서브 타이틀 파일)의 데이터를 디코드하여, 문자 객체는 문자 객체 버퍼(122)에, 속성(어트리뷰트)은, 어트리뷰트 데이터 버퍼(123)에 공급한다.
어트리뷰트 데이터 버퍼(123)에 보존되는 속성 데이터는, 유저의 조작 입력에 기초하여, 제어부(81)의 제어에 따라 변경된다. 예를 들면, 유저가 폰트 사이즈나 문자색의 변경을 명령한 경우, 제어부(81)의 제어에 의해, 어트리뷰트 데이터 버퍼(123)에 보존되는 속성 데이터 중, 대응하는 코드가 재기입된다.
폰트 래스터라이저(124)는, 어트리뷰트 데이터 버퍼(123)로부터 판독 출력한 속성의 지정과, 버퍼(84) 또는 스토리지 데이터 취득부(91)로부터 공급되는 폰트 데이터, 혹은, 미리 재생 장치(1) 내부에 보유되어 있는 내장 폰트 데이터에 기초하여, 문자 객체 버퍼(122)로부터 판독 출력한 문자 객체를 비트맵 등의 래스터 데이터로 변환하여 자막 그래픽스 처리부(93)에 출력한다. 예를 들면, 폰트 래스터라이저(124)는, 스케일러블 폰트를 속성 지정에 기초하여 비트맵 전개하여, 래스터 데이터로 변환(래스터라이즈)하여 출력한다.
또한, 폰트 래스터라이저(124)는, 어트리뷰트 데이터 버퍼(123)로부터 판독 출력한 속성에 기초하여, 북마크가 부여되어 있는 문자 객체를 검출하고, 북마크 버퍼(125)를 이용하여, 동일한 북마크 ID가 부여되어 있는 문자 객체에 관해서는, 중복하여 래스터라이즈를 행하지 않도록 한다.
북마크 버퍼(125)는, 폰트 래스터라이저(124)의 처리에 의해, 북마크가 부여되어 있는 문자 객체의 래스터 데이터를 보유함과 함께, 폰트 래스터라이저(124)에 의해, 보유하고 있는 래스터 데이터가 판독 출력된다.
다음으로, 도 35의 플로우차트를 참조하여, 서버(3)로부터 업데이트 파일을 다운로드하는 재생 장치(1)의 컨트롤러(21)의 처리인 다운로드 처리1에 대해서 설명한다.
이 처리는, 광 디스크(11)가 재생 장치(1)에 장착되어, 예를 들면, 메뉴 화면으로부터, 광 디스크(11)에 기록되어 있는 영어 자막이 들어가 있는 영화 콘텐츠에 대응하는 아라비아어 텍스트 자막 파일을 다운로드하는 것이 지시되었을 때에 실행된다.
단계 S1에서, 컨트롤러(21)의 광 디스크 디렉토리 관리부(35)는, 광 디스크 드라이브(22)를 제어하여, 광 디스크(11)에 기록되어 있는 Studio_id와 Content_id를 판독 출력한다. 도 7을 참조하여 설명한 바와 같이, Studio_id와 Content_id는 info.bdmv 파일에 기술되어 있다. 광 디스크 디렉토리 관리부(35)는, 광 디스크(11)로부터 판독 출력한 Studio_id와 Content_id를 데이터 취득부(33)와 로컬 스토리지 디렉토리 관리부(34)에 출력한다.
단계 S2에서, 데이터 취득부(33)는, 인터넷 인터페이스(24)를 제어하여, 광 디스크 디렉토리 관리부(35)로부터 공급된 Studio_id와 Content_id를, 인터넷(2)을 통해서 서버(3)에 송신한다. 여기서 송신된 Studio_id와 Content_id를 수신한 서버(3)에서는, 재생 장치(1)에 장착되어 있는 광 디스크(11)의 콘텐츠가 식별된다. 이 때, 예를 들면, 업데이트 가능한 파일의 일람이 서버(3)로부터 재생 장치(1)에 통지된다. 데이터 취득부(33)는, 서버(3)로부터 송신되어, 인터넷 인터페이스(24)에 의해 수신된 업데이트 가능한 파일의 일람을 취득하여, 메뉴 화면 표시 제어부(31)에 공급한다.
단계 S3에서, 메뉴 화면 표시 제어부(31)는, 업데이트용의 메뉴 화면을 표시 장치에 표시시키고, 단계 S4로 진행하여, 조작 입력 취득부(32)로부터 공급되는 신호에 기초하여, 메뉴 화면의 버튼이 유저에 의해 조작되어, 업데이트의 내용이 선택되었는지의 여부를 판정한다.
단계 S4에서, 메뉴 화면 표시 제어부(31)는, 업데이트의 내용이 선택되었다고 판정할 때까지 대기하고, 업데이트의 내용이 선택되었다고 판정한 경우, 단계 S5로 진행한다. 유저에 의해 선택된 업데이트의 내용을 나타내는 정보는, 메뉴 화면 표시 제어부(31)로부터 데이터 취득부(33)에 출력된다.
단계 S5에서, 데이터 취득부(33)는, 인터넷 인터페이스(24)를 제어하여, 업데이트의 내용을 나타내는 정보를 서버(3)에 송신시켜, 유저가 지정한 업데이트 파일의 다운로드를 요구한다.
단계 S6에서, 데이터 취득부(33)는, 인터넷 인터페이스(24)를 제어하여, 서버(3)에 의해 업데이트 파일로서 준비되는 텍스트 서브 타이틀 파일을 다운로드시키고, 텍스트 서브 타이틀 파일이 다운로드된 것을, 로컬 스토리지 디렉토리 관리부(34)에 통지한다.
단계 S7에서, 데이터 취득부(33)는, 인터넷 인터페이스(24)를 제어하여, 단계 S6에서 다운로드한 텍스트 서브 타이틀 파일의 재생 패스를 나타내는 SubPlayItem이, 메인의 PlayItem에 부가되어 있는 PlayList를 다운로드시켜, PlayList가 다운로드된 것을, 로컬 스토리지 디렉토리 관리부(34)에 통지한다. 여기서 다운로드된 PlayList의 SubPlayItem에 의해, 예를 들면, 아라비아어의 자막을 표시시키기 위한 텍스트 서브 타이틀 파일이 참조된다.
단계 S8에서, 데이터 취득부(33)는, 인터넷 인터페이스(24)를 제어하여, 업데이트된 네비게이션 프로그램의 파일을 다운로드시키고, 네비게이션 프로그램이 다운로드된 것을, 로컬 스토리지 디렉토리 관리부(34)에 통지한다.
단계 S9에서, 로컬 스토리지 디렉토리 관리부(34)는, 광 디스크 디렉토리 관리부(35)로부터 공급된 Studio_id와 Content_id에 기초하여, 그들 ID로 식별되는 디렉토리를 로컬 스토리지(24)에 작성한다. 이에 의해, 예를 들면, 도 7에 도시되는 바와 같이 「xxx」의 Studio_id와 「yyy」의 Content_id를 갖는 광 디스크(11)에 대응하는 디렉토리로서, 「xxx-yyy」의 이름이 설정되는 폴더(디렉토리)가 로컬 스토리지(24)에 작성된다.
단계 S10에서, 로컬 스토리지 디렉토리 관리부(34)는, 단계 S9에서 작성한 디렉토리에, 서버(3)로부터 다운로드된 각각의 파일을 전개하여, 저장시킨다.
이러한 처리에 의해, 서버(3)로부터 업데이트 파일이 다운로드되므로, 예를 들면, 영화 등의 콘텐츠가 기록된 광 디스크(11)를 구입한 유저가, 광 디스크(11)에 미리 기록되어 있지 않은 언어의 자막을 표시시키기 위해 필요한 파일을 취득할 수 있다. 따라서, 유저가 원하는 언어의 자막을 표시시켜 콘텐츠를 시청하는 것이 가능하게 된다.
또한, 다운로드된 업데이트 파일은 로컬 스토리지(24)에 계속해서 보존되며, 재차, 동일한 광 디스크(11)가 장착된 경우에는, 보존되어 있는 텍스트 자막 파일이 이용되어, AV 스트림 파일의 재생이 행하여진다. 예를 들면, 아라비아어의 자막을 표시시키기 위해 필요한 텍스트 자막 파일이, 상술한 처리에 의해 이미 다운로드되어 있는 경우, 유저는, 광 디스크(11)의 영화 콘텐츠를 재생 장치(1)에서 다음에 재생시킬 때, 다운로드 등의 처리를 재생 장치(1)에 재차 행하게 하지 않고, 아라비아어의 자막을 표시시키도록 할 수 있다.
또한, 이상과 같은 업데이트 파일의 다운로드는, 유료로 행할 수 있는 것이어도 되며, 무료로 행할 수 있는 것이어도 된다.
또한, 메뉴 화면으로부터, 유저가, 복수의 언어의 자막의 표시에 필요한 텍스트 자막 파일을 다운로드하는 것을 지시한 경우, 각각의 언어의 자막의 표시에 필요한 텍스트 자막 파일이 개별로 제공되는 것이 아니라, 1개의 텍스트 자막 파일로서 서버(3)측에서 통합되고, 그 통합된 텍스트 자막 파일이 제공 되도록 해도 된다. 이 경우, 각 언어의 텍스트 자막 파일의 보존 위치는 PlayList에 의해 지정된다.
다음으로, 도 36의 플로우차트를 참조하여, 컨트롤러(21)의 재생 처리1에 대해서 설명한다.
상술한 바와 같이 하여 다운로드된 업데이트 파일이 로컬 스토리지(24)에 기록되어 있는 상태에서, 광 디스크(11)에 기록되어 있는 콘텐츠의 재생이 지시된 경우, 단계 S31에서, 광 디스크 디렉토리 관리부(35)는, 광 디스크(11)로부터 Studio_id와 Content_id를 판독 출력하고, 판독 출력한 Studio_id와 Content_id를 로컬 스토리지 디렉토리 관리부(34)에 출력한다.
단계 S32에서, 로컬 스토리지 디렉토리 관리부(34)는, 광 디스크 디렉토리 관리부(35)로부터 공급된 Studio_id와 Content_id에 기초하여, 광 디스크(11)의 파일 시스템에 대응하는, 로컬 스토리지(24)의 파일 시스템을 검색하여, 파일 시스템 머지 처리부(36)에 공급한다. 상술한 바와 같이, 광 디스크(11)의 파일 시스템에 대응하는 파일 시스템은, 로컬 스토리지(24)에서, Studio_id와 Content_id를 포함하는 이름이 설정된 디렉토리에 저장되어 있다(도 7).
이 때, 광 디스크 디렉토리 관리부(35)로부터는, 광 디스크(11)의 파일 시스템이 파일 시스템 머지 처리부(36)에 출력된다.
단계 S33에서, 파일 시스템 머지 처리부(36)는, 광 디스크(11)의 파일 시스템과, 로컬 스토리지(24)의 파일 시스템을, 도 7 및 도 8을 참조하여 설명한 바와 같이 하여 머지하여, 제1 가상 파일 시스템을 생성한다. 생성된 제1 가상 파일 시스템은 재생 제어부(37)에 출력되어, AV 스트림 파일의 재생에 이용된다.
단계 S34에서, 재생 제어부(37)는, 공급되어 온 제1 가상 파일 시스템으로부터 네비게이션 프로그램을 지정하고, 실행한다. 따라서, 도 8에 도시되는 바와 같이, 업데이트된 네비게이션 프로그램이 제1 가상 파일 시스템에 있는 경우, 그 네비게이션 프로그램(로컬 스토리지(24)에 기록되어 있는 네비게이션 프로그램)이 실행된다.
단계 S35에서, 재생 제어부(37)는, 네비게이션 프로그램이 재생 구간으로서 지정하는 PlayList와 SubPlayItem을 취득하고, 단계 S36으로 진행하여, 로컬 스토리지 디렉토리 관리부(34) 및 광 디스크 디렉토리 관리부(35)를 제어하여, 취득한 PlayList와 SubPlayItem이 참조하는 파일(AV 파일, 텍스트 자막 파일, 폰트 파일 등)을 판독 출력하게 하여, 디코더(26)에 공급시킨다. 여기서는, PlayList나 SubPlayItem에 의해 나타내어지는 타임 스탬프가 Clip information에 의해 어드레스로 변환되어, AV 스트림 등에 대한 액세스가 행하여진다.
즉, 재생 제어부(37)는, PlayList나 SubPlayItem이 참조하는 AV 스트림 파일이 로컬 스토리지(24)에 존재하는 경우에는, 로컬 스토리지(24)로부터 그 AV 스트림 파일을 판독 출력하고, 존재하지 않는 경우, 광 디스크(11)로부터 AV 스트림 파일을 판독 출력한다.
예를 들면, 재생 제어부(37)가, 도 8의 파일 시스템에 따라서, 로컬 스토리지 디렉토리 관리부(34) 및 광 디스크 디렉토리 관리부(35)를 제어하여, AV 스트림의 판독 출력을 행하게 하고 있는 경우, 광 디스크(11)에 미리 준비되어 있는 「01000.m2ts」의 파일명이 설정되어 있는 AV 스트림 파일이나, 「02000.m2ts」의 파일명이 설정되어 있는 AV 스트림 파일에 대해서는 광 디스크(11)로부터의 판독 출력이 행하여지고, 다운로드에 의해 추가된 「04000.m2ts」의 파일명이 설정되어 있는 AV 스트림 파일에 대해서는, 로컬 스토리지(24)로부터의 판독 출력이 행하여진다.
단계 S37에서, 도 37을 이용하여 후술하는 콘텐츠 재생 처리1이 실행되어, 판독 출력한 AV 스트림 파일이나 텍스트 자막 스트림 파일 등이 디코드되어, 영상이나 음성, 또는 자막이 표시 장치로부터 출력되고, 처리가 종료된다.
이상과 같이, 제1 가상 파일 시스템이 생성되어, 콘텐츠의 재생 시에 이용됨으로써, 예를 들면, SubPlayItem이 참조하는 텍스트 자막 파일의 데이터가, AV 스트림과 동시에 판독 출력되어 재생된다.
다음으로, 도 37의 플로우차트를 참조하여, 도 36의 단계 S37에서 실행 되는, 콘텐츠 재생 처리1에 대해서 설명한다.
단계 S61에서, 재생 제어부(37)는, 디코더(26)를 제어하여, PlayItem에 의해 지정되는 AV 스트림 데이터를 재생시킨다.
단계 S62에서, 조작 입력 취득부(32)는, 자막 데이터의 표시를 명령하는 조작 입력을 받았는지의 여부를 판단한다. 단계 S62에서, 자막 데이터의 표시를 명령하는 조작 입력을 받지 않았다고 판단된 경우, 처리는, 후술하는 단계 S68로 진행한다.
단계 S62에서, 자막 데이터의 표시를 명령하는 조작 입력을 받았다고 판단된 경우, 단계 S63에서, 조작 입력 취득부(32)는, 유저의 조작 입력에 대응하는 신호를 메뉴 화면 표시 제어부(31)에 공급한다. 메뉴 화면 표시 제어부(31)는, 표시 장치에, 표시 가능한 자막 데이터의 일람 메뉴를 표시시킨다.
단계 S64에서, 조작 입력 취득부(32)는, 표시시키는 자막 데이터의 언어를 지정하는 조작 입력을 받았는지의 여부를 판단한다. 단계 S64에서, 표시시키는 자막 데이터의 언어를 지정하는 조작 입력을 받지 않았다고 판단된 경우, 처리는, 단계 S63으로 되돌아가서, 그 이후의 처리가 반복된다.
단계 S64에서, 표시시키는 자막 데이터의 언어를 지정하는 조작 입력을 받았다고 판단된 경우, 단계 S65에서, 조작 입력 취득부(32)는, 유저의 조작 입력에 대응하는 신호를 재생 제어부(37)에 공급한다. 재생 제어부(37)는, 로컬 스토리지 디렉토리 관리부(34)를 제어하여, 유저의 조작 입력에 기초하여 지정되는 SubPlayItem에 의해 참조되는 텍스트 서브 타이틀 데이터를 판독 출력하게 하여, 디코더(26)의 스토리지 데이터 취득부(91)에 공급시킴과 함께, 필요에 따라, 유저에 의해 지정된 폰트에 대응하는 폰트 데이터를 판독 출력하게 하여, 디코더(26)의 스토리지 데이터 취득부(91)에 공급시킨다.
단계 S66에서, 디코더(26)에 의해, 도 38 및 도 39를 이용하여 후술하는 자막 표시 처리1이 실행된다.
단계 S67에서, 조작 입력 취득부(32)는, 표시시키는 자막 데이터의 언어의 변경을 명령하는 조작 입력을 받았는지의 여부를 판단한다. 단계 S67에서, 표시시키는 자막 데이터의 언어의 변경을 명령하는 조작 입력을 받았다고 판단된 경우, 처리는, 단계 S65로 되돌아가서, 그 이후의 처리가 반복된다.
단계 S62에서, 자막 데이터의 표시를 명령하는 조작 입력을 받지 않았다고 판단된 경우, 또는, 단계 S67에서, 표시시키는 자막 데이터의 언어의 변경을 명령하는 조작 입력을 받지 않았다고 판단된 경우, 단계 S68에서, 조작 입력 취득부(32)는, 콘텐츠의 재생의 종료를 명령하는 조작 입력을 받았는지, 또는, 재생 중의 AV 스트림 데이터가 종료되었는지의 여부를 판단한다.
단계 S68에서, 콘텐츠의 재생의 종료를 명령하는 조작 입력을 받지 않고, 또한, 재생 중의 AV 스트림 데이터가 종료되지 않았다고 판단된 경우, 단계 S69에서, 조작 입력 취득부(32)는, 자막의 표시를 중지시키는 조작 입력을 받았는지의 여부를 판단한다.
단계 S69에서, 자막의 표시를 중지시키는 조작 입력을 받지 않았다고 판단된 경우, 처리는, 단계 S66으로 되돌아가서, 그 이후의 처리가 반복된다. 단계 S69에서, 자막의 표시를 중지시키는 조작 입력을 받았다고 판단된 경우, 처리는, 단계 S61로 되돌아가서, 그 이후의 처리가 반복된다.
단계 S68에서, 콘텐츠의 재생의 종료를 명령하는 조작 입력을 받았거나, 재생 중의 AV 스트림 데이터가 종료되었다고 판단된 경우, 처리가 종료된다.
이러한 처리에 의해, 미리 광 디스크(11)에 기록되어 있거나, 또는, 서버(3)로부터 다운로드되어, 로컬 스토리지(24)에 기억되어 있는 텍스트 자막 파일이 이용되어, 유저가 원하는 언어의 자막이 콘텐츠의 영상 및 음성과 함께 표시되고, 유저의 조작 입력에 기초하여, 표시되는 자막의 언어를 변경하기 위해, 판독 출력되는 텍스트 자막 파일이 변경된다.
다음으로, 도 38 및 도 39의 플로우차트를 참조하여, 도 37의 단계 S66에서 실행되는 자막 표시 처리1에 대해서 설명한다.
단계 S91에서, 디코더(26)의 텍스트 자막 처리부(92)의 텍스트 데이터 디코더(121)는, 스토리지 데이터 취득부(91)에 의해 취득된 텍스트 서브 타이틀 데이터를 디코드한다.
단계 S92에서, 텍스트 자막 처리부(92)의 텍스트 데이터 디코더(121)는, 디코드된 텍스트 서브 타이틀 데이터에 포함되는 문자 객체를 텍스트 자막 처리부(92)의 문자 객체 버퍼(122)에 공급하므로, 문자 객체 버퍼(122)에, 문자 객체가 버퍼링된다.
단계 S93에서, 텍스트 데이터 디코더(121)는, 디코드된 텍스트 서브 타이틀 데이터에 포함되는 속성 데이터를 텍스트 자막 처리부(92)의 어트리뷰트 데이터 버퍼(123)에 공급하므로, 어트리뷰트 데이터 버퍼(123)에 속성 데이터가 버퍼링된다.
단계 S94에서, 제어부(81)는, 재생 제어부(37)(컨트롤러(21))로부터, 예를 들면, 폰트 사이즈 등의 자막의 속성의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받았는지의 여부를 판단한다.
단계 S94에서, 자막의 속성의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받았다고 판단된 경우, 단계 S95에서, 제어부(81)는, 어트리뷰트 데이터 버퍼(123)에 보유되어 있는 속성 데이터를 변경한다.
단계 S94에서, 자막의 속성의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받지 않았다고 판단된 경우, 또는, 단계 S95의 처리의 종료 후, 단계 S96에서, 텍스트 자막 처리부(92)의 폰트 래스터라이저(124)는, 문자 객체 버퍼(122) 및 어트리뷰트 데이터 버퍼(123)로부터 문자 객체 및 속성 데이터를 취득한다.
단계 S97에서, 제어부(81)는, 재생 제어부(37)(컨트롤러(21))로부터 폰트 타입의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받았는지의 여부를 판단한다.
단계 S97에서, 폰트 타입의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받았다고 판단된 경우, 재생 제어부(37)의 제어를 받은 로컬 스토리지 디렉토리 관리부(34)(컨트롤러(21))의 처리에 의해, 조작 입력에 기초하여, 서로 다른 폰트 데이터가 로컬 스토리지(24)로부터 판독 출력되기 때문에, 단계 S98에서, 텍스트 자막 처리부(92)의 폰트 래스터라이저(124)는, 조작 입력에 기초한 서로 다른 폰트 데이터를 취득한다.
단계 S97에서, 폰트 타입의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받지 않았다고 판단된 경우, 또는, 단계 S98의 처리의 종료 후, 단계 S99에서, 폰트 래스터라이저(124)는, 단계 S96에서 취득된 속성 및 북마크 버퍼(125)를 참조하여, 래스터라이즈하고자 하고 있는 자막 데이터는, 북마크되어, 이미 북마크 버퍼(125)에 버퍼링되어 있는 자막 데이터인지의 여부를 판단한다.
단계 S99에서, 북마크되어, 버퍼링되어 있는 자막 데이터인 것으로 판단된 경우, 단계 S100에서, 폰트 래스터라이저(124)는, 북마크 버퍼(125)로부터, 보존되어 있는 북마크 대상의 자막 화상 데이터(래스터 데이터)를 판독 출력하여 출력하고, 처리는, 단계 S104로 진행한다.
단계 S99에서, 이미 북마크되어 있는 자막 데이터가 아니라고 판단된 경우, 단계 S101에서, 폰트 래스터라이저(124)는, 취득된 문자 객체 및 속성 데이터에 기초하여, 래스터라이즈를 실행하여 자막 그래픽스 플레인 처리부(93)에 출력한다. 자막 그래픽스 플레인 처리부(93)는, 공급된 래스터 데이터에 기초하여, 자막 그래픽스 플레인을 생성하여, 합성 처리부(94)에 공급한다.
단계 S102에서, 폰트 래스터라이저(124)는, 단계 S101에서 래스터라이즈한 자막 데이터의 속성 데이터에 기초하여, 이 속성 데이터에는, 새로운 북마크가 기재되어 있는지의 여부를 판단한다.
단계 S102에서, 북마크가 기재되어 있다고 판단된 경우, 단계 S103에서, 폰트 래스터라이저(124)는, 래스터라이즈된 자막 화상 데이터를 북마크 버퍼(125)에 보존한다.
단계 S100의 처리의 종료 후, 단계 S102에서, 북마크가 기재되어 있지 않다고 판단된 경우, 또는, 단계 S103의 처리의 종료 후, 단계 S104에서, 합성 처리부(94)는, 공급된 자막 화상 데이터를 영상 데이터와 합성하여 출력하고, 처리는, 도 37의 단계 S67로 진행한다.
이러한 처리에 의해, 유저가 원하는 언어의 자막 데이터가, 유저가 원하는 속성으로, 유저가 원하는 폰트로 표시되도록, 텍스트 자막 파일 및 폰트 파일의 데이터의 판독 출력이 제어되며, 필요에 따라서 버퍼링되어 있는 속성 데이터가 변경되어, 래스터라이즈된다.
그런데, 본 발명을 적용한 재생 장치에서는, 상술한 경우 외에, 이하에 나타내는 바와 같은 방법으로, 광 디스크에 기록되어 있는 콘텐츠와, 로컬 스토리지에 기록되어 있는 콘텐츠를 관련시켜 재생할 수 있다. 이하, 광 디스크에 기록되어 있는 콘텐츠와, 로컬 스토리지에 기록되어 있는 콘텐츠를 관련시켜 재생하기 위한 제2 실시예에 대해서 설명한다.
도 40은, 본 발명을 적용한 제2 실시예에서의 재생 장치(181)의 구성예를 도시하는 블록도이다.
또한, 도 40의 재생 장치(181)에서는, 도 1을 이용하여 설명한 재생 장치(1)에서의 경우와 대응하는 부분에는 동일한 부호를 붙이고 있으며, 그 설명은 적절히 생략한다. 즉, 도 40의 재생 장치(181)는, 컨트롤러(21) 대신에, 컨트롤러(191)가 설치되고, 디코더(26) 대신에, 디코더(192)가 설치되어 있는 것 이외에는, 기본적으로, 도 1을 이용하여 설명한 재생 장치(1)와 마찬가지의 구성을 갖는 것이다. 또한, 재생 장치(181)는, 도 42를 이용하여 후술하는 파일 구조를 갖는 광 디스크(193)에 기록된 데이터를 판독 입력하여, AV 스트림, 또는, 텍스트 데이터를 디코드하여 재생한다.
컨트롤러(191)는, 미리 준비되어 있는 제어 프로그램을 실행하여, 재생 장치(181)의 전체의 동작을 제어하거나, 또는, 광 디스크 드라이브(22)를 제어하여 광 디스크(193)에 기록되어 있는, 복수의 커맨드로 구성되어 있는 MovieObject(무비 객체: 상세한 것은 후술함)를 판독 출력하여, 메모리(23)에 전개하여 커맨드를 실행함으로써, 광 디스크(11) 및 로컬 스토리지(24)에 기억되어 있는 데이터의 재생 동작을 제어한다. 예를 들면, 컨트롤러(191)는, 광 디스크(193)가 장착되었을 때, 소정의 메뉴 화면을 외부의 표시 장치에 표시시킬 수 있다.
디코더(192)는, 컨트롤러(191)의 제어에 기초하여, 광 디스크 드라이브(22), 또는, 로컬 스토리지(24)로부터 공급되는 AV 스트림, 또는, 텍스트 데이터를 디코드하여, 얻어진 비디오 신호와 오디오 신호를 외부의 표시 장치에 출력한다. 표시 장치에서는, 디코더(192)에 의해 디코드된 신호에 기초하여, 예를 들면, 광 디스크(193)에 기록되어 있는 콘텐츠의 출력(영상의 표시, 음성의 출력)이 행하여진다.
도 41은, 도 40의 컨트롤러(191)의 기능 구성예를 도시하는 블록도이다.
도 41의 각 구성은, 미리 준비되어 있는 제어 프로그램이 컨트롤러(191)에 의해 실행됨으로써, 또는, 광 디스크(193)에 기록되어 있는 MovieObject를 구성하는 커맨드가 컨트롤러(191)에 의해 실행됨으로써 실현된다.
또한, 도 41에 도시되는 기능 구성도에서는, 도 6을 이용하여 설명한 경우와 대응하는 부분에는 동일한 부호를 붙이고 있으며, 그 설명은 적절히 생략한다. 즉, 도 41에 도시되는 컨트롤러(191)의 기능 구성은, 로컬 스토리지 디렉토리 관리부(34) 대신에, 로컬 스토리지 디렉토리 관리부(201)가 설치되고, 광 디스크 디렉토리 관리부(35) 대신에, 광 디스크 디렉토리 관리부(202)가 설치되며, 파일 시스템 머지 처리부(36) 대신에, 파일 시스템 머지 처리부(203)가 설치되고, 재생 제어부(37) 대신에, 재생 제어부(204)가 설치되어 있는 것 이외에는, 도 6을 이용하여 설명한 컨트롤러(21)의 기능 구성과 기본적으로 동일하다.
로컬 스토리지 디렉토리 관리부(201)는, 로컬 스토리지(24)의 디렉토리를 관리하고, 로컬 스토리지(24)에 대한 데이터의 기입, 및, 로컬 스토리지(24)로부터의 데이터의 판독 출력을 제어한다. 예를 들면, 로컬 스토리지 디렉토리 관리부(201)의 제어에 의해 로컬 스토리지(24)로부터 판독 출력된 PlayList는, 메모리(23)에 출력되고, 로컬 스토리지(24)로부터 판독 출력된 AV 스트림의 음성 데이터 및 영상 데이터나 텍스트 자막 파일의 텍스트 데이터는, 디코더(192)에 출력된다. 또한, 로컬 스토리지 디렉토리 관리부(201)는, 후술하는 바와 같이, 광 디스크(193)의 파일 시스템과, 로컬 스토리지(24)의 파일 시스템과의 머지가 파일 시스템 머지 처리부(203)에 의해 행하여져, 후술하는 제2 가상 파일 시스템이 생성되는 경우, 로컬 스토리지(24)의 파일 시스템에 관한 정보를 파일 시스템 머지 처리부(203)에 출력한다.
또한, 로컬 스토리지 디렉토리 관리부(201)는, 데이터 취득부(33)에 의해, 유저가 지시한 업데이트 파일이 서버(3)로부터 다운로드되어 취득되고, 취득된 업데이트 파일이, 이미 존재하는 PlayList에 대응하는 업데이트 파일인 경우, 취득된 업데이트 파일을 참조하여, 이미 로컬 스토리지(24)에 기록되어 있는 데이터의 갱신 절차를 실행한다.
광 디스크 디렉토리 관리부(202)는, 광 디스크(193)의 디렉토리를 관리하고, 광 디스크(193)로부터의 각 데이터의 판독 출력을 제어한다. 광 디스크(193)에는, 유저 등에 의해 재기입할 수 없는 시큐어한 식별 정보인 author_id(또는, 제1 실시예에서의 Studio_id)와, disc_id(또는, 제1 실시예에서의 Content_id)가 전자적인 데이터로서, 또는, 물리적으로 피트에 의해 기재되고 있고, 광 디스크 디렉토리 관리부(202)의 제어에 의해, 광 디스크(193)로부터 판독 출력된 author_id와 disc_id는, 로컬 스토리지 디렉토리 관리부(201)에 출력된다. 또한, 광 디스크 디렉토리 관리부(202)의 제어에 의해, 광 디스크(193)로부터 판독 출력된 PlayList는, 메모리(23)에 출력되고, 광 디스크(193)로부터 판독 출력된 AV 스트림의 음성 데이터 및 영상 데이터나 텍스트 자막 파일의 텍스트 데이터는, 디코더(192)에 출력된다. 또한, 광 디스크 디렉토리 관리부(202)는, 후술하는 바와 같이, 광 디스크(193)의 파일 시스템과, 로컬 스토리지(24)의 파일 시스템과의 머지가 파일 시스템 머지 처리부(203)에 의해 행하여져, 후술하는 제2 가상 파일 시스템이 생성되는 경우, 광 디스크(193)의 파일 시스템에 관한 정보를 파일 시스템 머지 처리부(203)에 출력한다.
파일 시스템 머지 처리부(203)는, 광 디스크 디렉토리 관리부(202)로부터 공급되는 광 디스크(193)의 파일 시스템과, 로컬 스토리지 디렉토리 관리부(201)로부터 공급되는 로컬 스토리지(24)의 파일 시스템을 머지하여, 1개의 가상적인 파일 시스템을 생성한다. 파일 시스템 머지 처리부(203)는, 2개의 파일 시스템을 머지함으로써 생성한 가상적인 파일 시스템을 재생 제어부(204)에 출력한다. 이하, 제2 실시예에서, 파일 시스템 머지 처리부(203)에 의해 생성되는 가상적인 파일 시스템을, 제2 가상 파일 시스템으로 칭한다.
재생 제어부(204)는, 파일 시스템 머지 처리부(203)로부터 공급되는 제2 가상 파일 시스템에서 지정되는 MovieObject에 포함되는 커맨드를 실행함으로써, 콘텐츠의 재생을 제어한다. 구체적으로는, 재생 제어부(204)는 메모리(23)에 공급되어, 기억된 PlayList를 참조하여, 로컬 스토리지 디렉토리 관리부(201) 또는 광 디스크 디렉토리 관리부(202)를 제어하여, 광 디스크(193) 또는 로컬 스토리지(24)에 기록되어 있는 AV 스트림의 음성 데이터, 영상 데이터, 및, 필요에 따라서 텍스트 자막 파일의 텍스트 데이터를 판독 출력하게 하고, 도 40의 디코더(192)를 제어하여, 광 디스크(193) 또는 로컬 스토리지(24)에 기록되어 있는 AV 스트림의 음성 데이터, 영상 데이터, 및, 필요에 따라서 텍스트 자막 파일의 텍스트 데이터의 디코드(재생)를 행하게 한다.
또한, 제2 실시예에서도, 본 발명을 적용한 재생 장치(181)에 장착되는 광 디스크(193)의 어플리케이션 포맷의 예는, PlayListLayer 및 ClipLayer에서는, 도 2 및 도 3을 이용하여 설명한 광 디스크(11)에서의 경우와, 기본적으로 마찬가지이므로, 그 설명은 생략한다.
제2 실시예에서도, 본 발명을 적용한 재생 장치(181)는, 광 디스크(193)에 기록되어 있는 콘텐츠와, 로컬 스토리지(24)에 기록되어 있는 콘텐츠를 관련시켜 재생할 수 있다고 하는, 상술한 제1 실시예에서의 경우와 마찬가지의 작용 효과를 발휘한다. 따라서, 예를 들면, 광 디스크(193)에 기록되어 있는, PlayList의 PlayItem이 참조하는 Clip1의 AV 스트림은, 영화 콘텐츠의 영상을 표시시켜, 대응하는 음성을 재생시키기 위한 스트림이며, PlayList의 SubPlayItem이 참조하는 Clip2의 자막 관련 정보1은, 영상의 표시에 더불어 영어의 자막을 표시시키기 위한 텍스트 자막 파일일 때, 유저는, 재생 장치(181)에, 광 디스크(193)에 기록되어 있는 영화에 대응하는 원하는 언어의 텍스트 자막 파일을 서버(3)로부터 네트워크(2)를 경유하여 다운로드(또는, 리무버블 미디어(28)를 이용하여 취득)시켜, 광 디스크(193)에 기록되어 있는 콘텐츠와, 로컬 스토리지(24)에 기록되어 있는 콘텐츠를 관련시켜 재생할 수 있다.
즉, 유저가, 광 디스크(193)에 미리 기록되어 있는 PlayList에 대응하는, 아라비아어에 의한 텍스트 자막 파일의 다운로드를 지시한 경우, 재생 장치(181)에서는, 네트워크(2)를 통하여, 서버(3)에 대한 액세스가 행하여지고, 광 디스크(193)에 기록되어 있는 콘텐츠를 업데이트하는 것으로서, 그 서버(3)에 준비되어 있는 파일의 다운로드가 행하여진다. 그리고, 재생 장치(181)는, 광 디스크(193)에 기록되어 있는 콘텐츠와, 로컬 스토리지(24)에 기록되어 있는 콘텐츠를 관련시킴과 함께, Clip AV 스트림과, 텍스트 자막 스트림을, 동기시켜 재생할 수 있다.
도 42는, 광 디스크(193)의 파일 시스템의 예를 도시하는 도면이다. 도 42에 도시되는 바와 같이, 광 디스크(193)의 파일 시스템은 디렉토리 구조를 갖고 있다.
광 디스크(193)의 「root」 아래에는 「BDMV」의 이름이 설정된 디렉토리가 준비되며, 그 디렉토리에, 「Index.bdmv」의 이름이 설정된 파일과, 「MovieObject.bdmv」의 이름이 설정된 파일이 저장되어 있다. 이하, 적절하게, 이들 파일을 각각 Index 파일, MovieObject 파일로 칭한다. 또한, 적절하게, 각 파일에 대해서는, 「파일명」에 「파일」을 부가한 형태로, 또는, 각 디렉토리에 대해서는, 「디렉토리명」에 「디렉토리」를 부가한 형태로 칭한다.
Index 파일은, 광 디스크(193)를 재생하는 메뉴에 관한 정보를 포함한다. 재생 장치(181)는, 예를 들면, 광 디스크(193)의 콘텐츠를 모두 재생한다, 특정한 챕터만 재생한다, 반복 재생한다, 초기 메뉴를 표시한다 등의 내용의 항목을 포함하는 재생 메뉴 화면을 Index 파일에 기초하여, 표시 장치에 표시시킨다. Index 파일에는 각 항목이 선택되었을 때에 실행하는 MovieObject를 설정할 수 있으며, 유저에 의해 재생 메뉴 화면으로부터 1개의 항목이 선택된 경우, 재생 장치(181)는 Index 파일에 설정되어 있는 MovieObject의 커맨드를 실행한다.
MovieObject 파일은, MovieObject를 포함하는 파일이다. MovieObject는, 광 디스크(193)에 기록되어 있는 PlayList의 재생을 제어하는 커맨드를 포함하고, 예를 들면, 재생 장치(181)는, 광 디스크(193)에 기록되어 있는 MovieObject 중으로부터 1개를 선택하여, 실행함으로써, 광 디스크(193)에 기록되어 있는 콘텐츠를 재생시킬 수 있다.
BDMV 디렉토리에는 또한, 「BACKUP」의 이름이 설정된 디렉토리(BACKUP 디렉토리), 「PLAYLIST」의 이름이 설정된 디렉토리(PLAYLIST 디렉토리), 「CLIPINF」의 이름이 설정된 디렉토리(CLIPINF 디렉토리), 「STREAM」의 이름이 설정된 디렉토리(STREAM 디렉토리), 「AUXDATA」의 이름이 설정된 디렉토리(AUXDATA 디렉토리)가 설정되어 있다.
BACKUP 디렉토리에는, 광 디스크(193)에 기록되어 있는 파일이나 데이터를 백업하기 위한 파일이나 데이터가 기록된다.
PLAYLIST 디렉토리에는, PlayList 파일이 저장된다. 각 PlayList 파일에는, 도면 내에 도시되는 바와 같이 5자릿수의 숫자로 이루어지는 파일명에 확장자 「.mpls」를 부가한 명칭이 명명된다.
CLIPINF 디렉토리에는, Clip Information 파일이 저장된다. 각 Clip Information 파일에는, 도면 내에 도시되는 바와 같이 5자릿수의 숫자로 이루어지는 파일명에 확장자 「.clpi」를 부가한 명칭이 명명된다.
STREAM 디렉토리에는, Clip AV 스트림 파일이나 서브 스트림 파일이 저장된다. 각 스트림 파일에는, 도면 내에 도시되는 바와 같이 5자릿수의 숫자로 이루어지는 파일명에 확장자 「.m2ts」를 부가한 명칭이 명명된다.
AUXDATA 디렉토리에는, Clip AV 스트림 파일이나 서브 스트림 파일에 포함되지 않고, Clip AV 스트림 파일이나 서브 스트림 파일로부터 참조되는 데이터나, Clip AV 스트림 파일이나 서브 스트림 파일과는 독립하여 이용되는 데이터 등의 파일이 저장된다. 도 42의 예에서는, AUXDATA 디렉토리에는, 「11111.otf」의 이름이 붙여져 있는 자막의 폰트의 파일, 「sound.bdmv」의 이름이 설정된 효과음의 파일이 저장되어 있다.
또한, 광 디스크(193)에는, 제작 회사나 영화의 배급 회사 등의 광 디스크(193)의 콘텐츠 제작원인 타이틀 오서를 식별하기 위해 각 타이틀 오서에 할당된 식별자인 author_id(또는, 제1 실시예에서의 Studio_id), 및, author_id 에 나타내어지는 타이틀 오서에서 제작된 광 디스크(193)의 종류를 식별하기 위해 할당된 식별자인 disc_id(또는, 제1 실시예에서의 Content_id)가, 유저 등에 의해 재기입할 수 없는 시큐어한 전자 데이터로서, 또는, 물리적으로 피트에 의해 기록되어 있다.
또한, 본 발명의 제2 실시예에서는, 자막 데이터를 저장한 텍스트 자막 파일 및 렌더링에 필요하게 되는 폰트 파일을 지정한, SubPath 및 SubPlayItem을 정의하고 있는 PlayList 파일과 Clip Information 파일이, 새롭게 다운로드됨으로써, Clip AV 스트림과 텍스트 자막과의 동기가 실현되도록 되어 있다. 다운로드되는 1조의 아카이브 파일에는, 도 43에 도시되는 바와 같이, PlayList 파일, Clip Information 파일, 텍스트 자막 스트림 파일, 및, 폰트 파일이, 필수로 포함된다.
다음으로, 본 발명의 제2 실시예에서 추가하여 배포되는 대상으로 되는 데이터의 아카이브를 도 44에 도시한다.
도 44에 도시되는 바와 같이, 유저에게 새롭게 배포되는 아카이브 파일은, 재생 장치(181)에서의 파일 추가 또는 갱신 수속을 위해, 메타 데이터가 부가된 구조로 되어 있다.
compression_type의 8비트의 필드는, FileArchive() 내 데이터의 압축 방식을 지정한다. compression_type의 8비트에 0이 지정된 경우, FileArchive() 내의 데이터는, 비압축 형식인 것으로 한다. encryption_type의 8비트의 필드는, FileArchive() 내 데이터의 스크램블 방식(암호화 방식)을 지정한다. encryption_type의 8비트의 필드에 0이 지정된 경우, FileArchive() 내의 데이터는, 논스크램블 형식(평문 형식)인 것으로 한다. 또한, FileArchive() 내 데이터의 스크램블과 압축의 순서는, 압축 처리가 먼저 행하여지고, 그 후, 스크램블 처리가 행하여지는 것으로 한다.
PlayList_file_name의 8×5비트의 필드는, 후속하는 PlayList 파일의 파일 명칭을 지정한다. 파일 명칭의 부호화 방식은, ISO/IEC 646 규격에 따른다. PlayList_file_size의 32비트의 필드는, 다음에 이어지는 PlayList 파일의 바이트 단위로의 사이즈를 지정한다. PlayList_file_size의 필드에는, 0을 지정해서는 안된다.
PlayList_file는, PlayList 파일을 바이트 시퀀스로서 저장한다.
number_of_Files의 16비트의 필드는, 파일 총수를 지정한다. number_of_Files 필드에는 0을 지정해서는 안된다. 또한, number_of_Files 필드에서 지정한 파일 총수는, 직전의 PlayList_file 중의 SubPlayItem 내에서 정의되어 있는 SubClip_entry의 총수와 일치해야 한다.
그리고, 메타 데이터에는, author_id, disc_id, title_id, version, operation_type, display_name, 및, permission이 포함되어 있다.
author_id는, 타이틀 오서를 특정하기 위한 식별자를 지정하는 8비트의 필드이다. title_id는, 타이틀을 특정하기 위한 식별자를 지정하는 8비트의 필드이다. disc_id는, 디스크를 특정하기 위한 식별자를 지정하는 8비트의 필드이다. version은, 아카이브 내 파일의 이력 관리를 위한 버전 정보를 지정하는 8비트의 필드이다.
operation_type는, 아카이브 내 파일의 갱신 방법을 지정하는 8비트의 필드이다. operation_type에 지정 가능한 값과, 파일의 갱신 방법의 구체예에 대해서는, 후술한다.
display_name는, 이 파일에 대응하여 GUI에서 표시되는 이름을 지정하는 8×128비트의 필드이다. 도 1을 이용하여 설명한 컨트롤러(191)는, 소정의 메뉴 화면을 외부의 표시 장치에 표시시킬 수 있다. 예를 들면, 유저에, 파일을 선택시키는 조작을 행하게 하기 위해서 소정의 메뉴 화면을 외부의 표시 장치에 표시시키는 경우, 메뉴 화면에 표시되는 것이 아카이브 내에서 정의되어 있는 파일 명칭에서는, 유저는 파일의 내용을 특정할 수 없기 때문에, 원하는 파일을 선택하는 것이 곤란하게 된다. 그 때문에, display_name 필드에는, 메뉴 화면에 표시시키기 위한, 유저가 파일의 내용을 특정하기 쉬운 이름을 나타내는 정보가 기재된다. display_name 필드에 저장되는 데이터의 부호화 방식은, ISO/IEC 10646-1 규격에 따르는 것으로 한다.
permission은, 이 메타 데이터를 부수하고 있는 파일의 속성을 나타내는 것이며, 구체적으로는, 대응하는 파일을 유저에 대하여 가시 속성으로 해도 되는지, 불가시 속성으로 해 둘지 등의 인허가 정보를 지정하는 8비트의 필드이다. permission에 지정 가능한 값에 대해서는, 후술한다.
그리고, clip_information_file_name는, 후속하는 Clip Information 파일의 파일 명칭을 지정하는 8×5비트의 필드이다. clip_information_file_name에 기재되는 파일 명칭의 부호화 방식은, ISO/IEC 646 규격에 따른다.
clip_information_file_size는, 다음에 이어지는 Clip Information 파일의 바이트 단위로의 사이즈를 지정하는 32비트의 필드이다. clip_information_file_size 필드에는 0을 지정해서는 안된다.
clip_information_file는, Clip Information 파일을 바이트 시퀀스로서 저장한다.
text_subtitle_file_name는, 후속하는 텍스트 자막 스트림 파일의 파일 명칭을 지정하는 8×5비트의 필드이다. text_subtitle_file_name에 기재되는 파일 명칭의 부호화 방식은, ISO/IEC 646 규격에 따른다.
text_subtitle_file_size는, 다음에 이어지는 텍스트 자막 스트림 파일의 바이트 단위로의 사이즈를 지정하는 32비트의 필드이다. text_subtitle_file_size 필드에는 0을 지정해서는 안된다.
text_subtitle_file는, 텍스트 자막 스트림 파일을 바이트 시퀀스로서 저장한다. 텍스트 자막 스트림이 저장되는 subtitle_file의 구문에 대해서는, 도 54를 이용하여 후술한다. 또한, 텍스트 자막 스트림이 저장되는 컨테이너 파일의 구조에 대해서는, 도 58을 이용하여 후술한다.
font_file_name는, 후속하는 폰트 파일의 파일 명칭을 지정하는 8×5비트의 필드이다. font_file_name에 기재되는 파일 명칭의 부호화 방식은, ISO/IEC 646 규격에 따른다.
font_file_size는, 다음에 이어지는 폰트 파일의 바이트 단위로의 사이즈를 지정하는 32비트의 필드이다. font_file_size 필드에는 0을 지정해서는 안된다.
font_file는, 폰트 파일을 바이트 시퀀스로서 저장한다.
추가되어 배포되는 업데이트 파일의 데이터에 포함되는 PlayList는, MainPath 및 SubPath를 포함한다. 도 45는, SubPath의 데이터 구조를 도시하는 도면이다. 우선, 도 45의 좌측에 도시되는 SubPath의 최상위층의 데이터 구조에 대해서 설명한다.
SubPath_type는, SubPath의 어플리케이션 종류를 나타낸다. SubPath_type는, 예를 들면, SubPath가 오디오인지, 비트맵 자막인지, 텍스트 자막인지 등의 종류를 나타내는 경우에 이용된다. is_repeat_SubPath는, SubPath의 재생 방법을 나타내며, MainPath의 재생 동안에 SubPath의 재생을 반복하여 행할지, 또는 SubPath의 재생을 1회만 행할지를 나타내는 것이다. number_of_SubPlayItems는, SubPath에 포함되는 SubPlayItem의 수(엔트리수)를 나타낸다. 그 후, number_of_SubPlayItems에 포함되는 수의 SubPlayItem이 포함된다.
다음으로, 도 45의 중앙에 도시되는 SubPlayItem의 데이터 구조에 대해서 설명한다.
Clip_Information_file_name는, SubPlayItem이 참조하는 서브 Clip에 포함되는 Clip Information 파일의 파일명을 나타낸다. Clip_codec_identifier은, SubPlayItem이 참조하는 서브 Clip의 CODEC 방식을 나타낸다. is_multi_Clip_entries는, 이 SubPlayItem이 복수의 서브 Clip를 참조하는지의 여부를 나타내는 플래그이다. ref_to_STC_id는, STC(System Time Clock) 불연속점(시스템 타임 베이스의 불연속점)에 관한 정보를 나타낸다.
SubPlayItem_IN_time와 SubPlayItem_OUT_time는, SubPlayItem이 참조하는 서브 Clip에 포함되는 서브 스트림의 재생 구간을 나타낸다. sync_PlayItem_id와 sync_start_PTS_of_PlayItem은, MainPath의 시간축 상에서 SubPlayItem이 재생을 개시하는 시간을 지정하기 위해 이용된다. 구체적으로는, sync_PlayItem_id의 값과 동일한 값의 PlayItem_id를 갖는 PlayItem의 시간축 상에서, sync_star_PTS_of_PlayItem에서 지정되는 시각에, 이 SubPlayItem의 재생이 개시된다.
number_of_Clip_entries는, SubPlayItem이 참조하는 서브 Clip의 수를 나타내고 있다. 그 후, number_of_CliP_entries에 의해 나타내어지는 수만큼의 SubClip_entry가 포함된다.
다음으로, 도 45의 우측에 도시되는 SubClip_entry의 데이터 구조에 대해서 설명한다.
Clip_Information_file_name는, SubPlayItem이 참조하는 서브 Clip에 포함되는 Clip Information 파일의 파일명을 나타낸다. Clip_codec_identifier은, SubPlayItem이 참조하는 서브 Clip의 CODEC 방식을 나타낸다. ref_to_STC_id는, STC 불연속점(시스템 타임 베이스의 불연속점)에 관한 정보를 나타낸다.
다음으로, 도 46에, 도 44의 메타 데이터에 포함되는 operation_type에 지정 가능한 값의 일람을 도시한다.
도 46에 도시되는 바와 같이, operation_type의 8비트의 필드에, 0x01이 기재되어 있었을 때, 아카이브 내 파일의 갱신 방법은, PlayList의 교환이다. 즉, operation_type의 8비트의 필드에, 0x01이 기재되어 있는 업데이트 파일이 다운로드된 경우, 이 업데이트 파일을 이용하여 머지되어 작성되는 제2 가상 파일 시스템에서는, 다운로드되어 로컬 스토리지(24)에 기록되어 있는 PlayList가 그대로의 상태로 참조되며, 광 디스크(193)의 PlayList는 전혀 참조되지 않는다.
또한, operation_type의 8비트의 필드에, 0x02가 기재되어 있었을 때, 다운로드된 파일로부터, SubPath 요소가 추출되며, 광 디스크(193)에 기록되어 있는 SubPath 요소에, 추출된 SubPath 요소가 가해지도록 파일 시스템이 머지되어 갱신된다(제2 가상적인 파일 시스템이 생성됨).
예를 들면, operation_type의 8비트의 필드에, 0x02가 기재되어, 도 47에 도시되는 바와 같이, 광 디스크(193)에는 SubPath#1을 포함하는 PlayList#1 파일, Clip AV 스트림#1 파일, 및, 예를 들면, 부음성에 대응하는 Audio 스트림#1 파일이 기록되며, 서버(3)로부터 다운로드한 콘텐츠 패키지에는, SubPath#2를 갖는 PlayList#1 파일, 및, 텍스트 자막 스트림#1 파일이 포함되어 있었을 때, 콘텐츠 패키지 내의 PlayList#1 파일의 SubPath#2가 추출되며, 추출된 SubPath#2가, 광 디스크(193)로부터 판독 출력된 갱신원의 PlayList#1 파일에 추가된 상태로 파일 시스템이 갱신된다.
즉, 도 48에 도시되는 바와 같이, PlayItem으로 구성되는 MainPath, 및, SubPlayItem으로 구성되는 SubPath를 갖는 업데이트 전의, 즉, 광 디스크(193)의 PlayList에서는, PlayItem이 참조하는 Clip AV 스트림#1, 및, SubPlayItem이 참조하고, Clip AV 스트림1과 동기하여 재생되는 부음성의 데이터인 Audio 스트림#1이 재생되도록 이루어져 있다. 이 광 디스크(193)에 기록되어 있는 콘텐츠에 대하여, 업데이트 후(즉, 파일 시스템이 머지되어 갱신된 후)의 PlayList에서는, Clip AV 스트림#1에 동기하여 재생되며, 또한, 독립하여 재생 구간을 설정 가능한 2개째의 SubPlayItem이 SubPath에 추가되므로, PlayItem이 참조하는 Clip AV 스트림#1, 및, 1개째의 SubPlayItem이 참조하고, Clip AV 스트림#1과 동기하여 재생되는 부음성의 데이터인 Audio 스트림#1이 재생될 뿐만 아니라, Audio 스트림#1과는 독립하여 재생 구간이 설정 가능한 텍스트 자막 스트림#1이 재생 가능하도록 되어 있다.
또한, operation_type의 8비트의 필드에, 0x03이 기재되어 있었을 때, 다운로드된 파일로부터, SubPlayItem 요소가 추출되고, 광 디스크(193)에 기록되어 있는 SubPlayItem 요소에, 추출된 SubPlayItem 요소가 가해지도록 파일 시스템이 머지되어 갱신된다(제2 가상적인 파일 시스템이 생성됨).
예를 들면, operation_type의 8비트의 필드에, 0x03이 기재되어, 도 49에 도시되는 바와 같이, 광 디스크(193)에는 SubPlayItem#1로 구성되는 SubPath#1을 포함하는 PlayList#1 파일, Clip AV 스트림#1 파일, 및, 예를 들면, 부음성에 대응하는 Audio 스트림#1 파일이 기록되며, 서버(3)로부터 다운로드한 콘텐츠 패키지에는, SubPlayItem#2로 구성되는 SubPath#1을 갖는 PlayList#1 파일, 및, 텍스트 자막 스트림#2 파일이 포함되어 있었을 때, 콘텐츠 패키지 내의 PlayList#1 파일의 SubPath#1을 구성하는 SubPlayItem#2가 추출되며, 추출된 SubPlayItem#2가, 광 디스크(193)로부터 판독 출력된 갱신원의 PlayList#1 파일의 SubPath#1에 추가된 상태로, 파일 시스템이 갱신된다.
즉, 도 50에 도시되는 바와 같이, PlayItem으로 구성되는 MainPath, 및, SubPlayItem#1(도면에서 SPI1로 기재)로 구성되는 SubPath를 갖는 업데이트 전의 PlayList에서는, PlayItem이 참조하는 Clip AV 스트림#1, 및, SubPlayItem#1이 참조하고, Clip AV 스트림#1과 동기하여 소정의 제1 구간에 재생되는 부음성의 데이터인 Audio 스트림#1이 재생되도록 이루어져 있다. 이 광 디스크(193)에 기록되어 있는 콘텐츠에 대하여, 업데이트 후(즉, 파일 시스템이 머지되어 갱신된 후)의 PlayList에서는, PlayItem이 참조하는 Clip AV 스트림#1, 및, SubPlayItem#1이 참조하고, Clip AV 스트림1과 동기하여 소정의 제1 구간에 재생되는 부음성의 데이터인 Audio 스트림#1이 재생될 뿐만 아니라, SubPlayItem#1과 동일한 SubPath에 포함되는 SubPlayItem#2(도면에서 SPI2로 기재)가 추가되므로, Clip AV 스트림#1과 동기하여, 소정의 제2 구간에 텍스트 자막 스트림#1을 재생 가능하도록 이루어져 있다.
그리고, operation_type의 8비트의 필드에, 0x04가 기재되어 있었을 때, 다운로드된 파일로부터, SubClip_entry 요소가 추출되고, 광 디스크(193)에 기록되어 있는 SubClip_entry 요소에, 추출된 SubClip_entry 요소가 가해지도록 파일 시스템이 머지되어 갱신된다(제2 가상적인 파일 시스템이 생성됨).
예를 들면, operation_type의 8비트의 필드에, 0x04가 기재되어, 도 51에 도시되는 바와 같이, 광 디스크(193)에는 Clip#1이 대응지어져 있는 SubPlayItem#1로 구성되는 SubPath#1을 포함하는 PlayList#1 파일, Clip AV 스트림#1 파일, 및, 예를 들면, 제1 언어의 자막에 대응하는 텍스트 자막 스트림#1 파일이 기록되며, 서버(3)로부터 다운로드한 콘텐츠 패키지에는, Clip#2가 대응지어져 있는 SubPlayItem#1로 구성되는 SubPath#1을 갖는 PlayList#1 파일, 및, 제2 언어의 자막에 대응하는 텍스트 자막 스트림#2 파일이 포함되어 있었을 때, 콘텐츠 패키지 내의 PlayList#1 파일의 SubPath#1을 구성하는 SubPlayItem#1의 Clip#2가 추출되며, 추출된 Clip#2가, 광 디스크(193)로부터 판독 출력된 갱신원의 PlayList#1 파일의 SubPath#1을 구성하는 SubPlayItem#1에 추가된 상태로 파일 시스템이 갱신된다.
즉, 도 52에 도시되는 바와 같이, PlayItem으로 구성되는 MainPath, 및, SubPlayItem으로 구성되는 SubPath를 갖는 업데이트 전의 PlayList에서는, PlayItem이 참조하는 Clip AV 스트림#1, 및, SubPlayItem#1이 참조하고, Clip AV 스트림#1과 동기하여, 제1 언어의 자막에 대응하는 텍스트 자막 스트림#1이 재생되도록 이루어져 있다. 이 광 디스크(193)에 기록되어 있는 콘텐츠에 대하여, 업데이트 후(즉, 파일 시스템이 머지되어 갱신된 후)의 PlayList에서는, PlayItem이 참조하는 Clip AV 스트림#1, 및, SubPlayItem이 참조하고, Clip AV 스트림#1과 동기하여 재생되는 제1 언어의 자막에 대응하는 텍스트 자막 스트림#1이 재생될 뿐만 아니라, SubPath를 구성하는 SubPlayItem에, 또한, Clip#2가 추가되므로, Clip AV 스트림#1과 동기하여, SubPlayItem이 참조하는, 제2 언어에 대응하는 텍스트 자막 스트림#2가, 또한 재생 가능하도록 이루어져 있다.
도 53에, 도 44의 메타 데이터에 포함되는 permission에 지정 가능한 값의 일람을 도시한다.
도 53에 도시되는 바와 같이, permission의 8비트의 필드에, 0x00이 기재되어 있는 경우, 이 메타 데이터를 부수하고 있는 파일의 속성은, 유저에 대하여 불가시 속성이고, permission의 8비트의 필드에, 0x01이 기재되어 있는 경우, 이 메타 데이터를 부수하고 있는 파일의 속성은, 유저에 대하여 가시 속성이며, permission의 8비트의 필드에, 0x03이 기재되어 있는 경우, 이 메타 데이터를 부수하고 있는 파일의 속성은, 덮어쓰기 금지 속성이다.
또한, 도 44를 이용하여 설명한 바와 같이, subtitle_file의 필드에는, 텍스트 자막 스트림 파일이 바이트 시퀀스로서 저장되어 있다. 텍스트 자막 파일은, 도 54에 도시되는 구문에 따르는 것으로 한다.
기본적으로, 제2 실시예에서의 텍스트 자막 파일의 구문은, 도 12를 이용하여 설명한 제2 실시예에서의 경우와, 기본적으로 동일한 부분이 많지만, 도 54에 도시되는, 제2 실시예에서의 텍스트 자막 파일의 구문은, 도 12를 이용하여 설명한 경우와 비교하여, 메타 데이터에 포함되는 version(버전) 정보가 생략되고, start_PTS 및 end_PTS 전이, 데이터 경계를 조정하기 위한 8비트의 패딩 비트(reserved)로 구획되며, 자막 데이터를 지정하는 정보인 subtitle_data가, 바이트 시퀀스로 저장되도록 이루어져 있다.
즉, markup_type는, 마크업의 형식을 지정하는 8비트의 정보이다. subtitle_count는, 자막 데이터의 총수를 지정하는 32비트의 정보이다. (subtitle_count는, 개행 코드의 총수가 아님.) reserved는, 데이터 경계를 조정하기 위한 8비트의 패딩 비트이다. start_PTS는, 자막 데이터의 표시 개시 시각을, PlayList의 개시 시각을 0으로 한 시간축에서의 PTS(Presentation Time Stamp)로 지정하는 33비트의 정보이다. end_PTS는, 자막 데이터의 표시 종료 시각을, PlayList의 개시 시각을 0으로 한 시간축에서의 PTS로 지정하는 33비트의 정보이다. PTS에는, 90㎑로 계측된 값을 사용한다. start_PTS 및 end_PTS에서는, PTS에는, 90㎑로 계측된 값이 사용된다.
subtitle_data_length는, subtitle_data의 바이트수를 지정하는(자막의 문자수가 아닌) 32비트의 정보이다. subtitle_data는, 자막 데이터를 지정하는 정보이며, 바이트 시퀀스로서 저장되어 있다.
또한, 제2 실시예에서도, 자막 데이터는, 자막을 구성하는 문자 그 자체를 나타내는 「문자 객체」와 「속성 데이터(어트리뷰트)」로 구성되며, 자막 데이터의 속성 데이터에는, 제어 문자에 의한 속성 설정과, 마크업에 의한 인라인 속성 설정의 2개의 속성 설정 방법이 있다.
제어 문자에 의한 속성 설정은, 도 13 및 도 14를 이용하여 설명한 경우와 마찬가지이다. 또한, 마크업에 의한 인라인 속성 설정에서도, 마크업의 형식은, TLV(Type-Length-Value) 인코드 형식으로 마크업하는 경우와, 태그 부가 언어의 요소 및 속성에 의해 마크업하는 경우의 2종류가 있고, 도 15를 이용하여 설명한 경우와 마찬가지로, 마크업 형식 식별자가 0x00일 때, 마크업의 형식은, TLV 인코드 형식인 것으로 정의되며, 마크업 형식 식별자가 0x01일 때, 마크업의 형식은, 태그 부가 언어인 것으로 정의된다.
우선, TLV 인코드 방식에 의한 속성 지정이 행하여지는 경우에 대해 설명한다. TLV 인코드 방식에 의한 속성 지정의 경우, 자막 데이터의 문자 부호화 방식은, 도 11을 이용하여 설명한, SubPlayItem 중의 character_code_id의 지정에 따르는 것으로 한다.
도 55를 이용하여, TLV 인코드 방식에 의한 속성 지정의 경우의, subtitle_data()의 데이터 구조에 대해서 설명한다.
escape_code의 8비트의 필드는, 도 17을 이용하여 설명한 바와 같이, 뒤에 속성이 기술되어 있는 것을 나타내는 에스케이프 코드 0x1B를 지정한다. data_type의 8비트의 필드는, 속성 종별을 지정한다. data_value_length의 16비트의 필드는, 후속하는 속성 데이터의 바이트수를 지정한다. data_value는, 속성 데이터, 또는, 문자 객체의 바이트 시퀀스를 지정한다.
도 56에, data_type로서 지정 가능한 속성을 나타낸다.
subtitle_data()의 data_type의 8비트의 필드에 0x01이 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 자막 데이터로서 사용되는 문자열을 지정하는 자막 문자열의 설정이다. 자막 데이터는, SubPlayItem() 중의character_code_id 필드에서 지정된 부호화 방식으로 부호화되어 있어야 한다.
subtitle_data()의 data_type의 8비트의 필드에 0x02가 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 인덱스 데이터와 대표색 데이터와의 변환 테이블인 CLUT(Color Look Up Table)의 설정이다. CLUT는, 도 63을 이용하여 후술하는 자막 그래픽스 플레인 처리부(93)에 기억되는 변환 테이블이다. subtitle_data()의 data_type에 기재되어 있는 속성 종별이 CLUT 설정일 때의, data_value의 데이터 구조는, 도 19를 이용하여 설명한 경우와 마찬가지이다. subtitle_data()의 data_type의 8비트의 필드에 0x03이 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 영역 원점의 지정이다. subtitle_data()의 data_type에서, 기재되어 있는 속성 종별이 영역 원점 지정일 때의 data_value의 데이터 구조는, 도 20을 이용하여 설명한 경우와 마찬가지이다. subtitle_data()의 data_type의 8비트의 필드에 0x04가 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 행간(Line Space)의 지정이다.
subtitle_data()의 data_type의 8비트의 필드에 0x05가 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 렌더링 방향의 지정이다. subtitle_data()의 data_type에서, 기재되어 있는 속성 종별이 렌더링 방향 지정일 때, data_value에 기재되는 코드는, 도 21을 이용하여 설명한 경우와 마찬가지이다. subtitle_data()의 data_type의 8비트의 필드에 0x06이 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 폰트색의 지정이다. 디폴트는, 「0」인 것으로 해도 된다. subtitle_data()의 data_type의 8비트의 필드에 0x07이 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 배경색의 지정이다. 지정된 배경색으로 전부 칠해지는 영역은, 영역 단위이다. 디폴트는, 무지정(투과)인 것으로 해도 된다.
subtitle_data()의 data_type의 8비트의 필드에 0x08이 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 폰트 스타일의 지정이다. subtitle_data()의 data_type에서, 기재되어 있는 속성 종별이 폰트 스타일의 지정일 때, data_value에는, 도 22를 이용하여 설명한 코드 중의 어느 하나가 기재되어, 폰트의 스타일이 지정된다. 또한, 폰트의 스타일의 디폴트는, 「표준」으로 하도록 해도 된다. subtitle_data()의 data_type의 8비트의 필드에 0x09가 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 폰트 사이즈의 지정이다. subtitle_data()의 data_type에서, 기재되어 있는 속성 종별이 폰트 사이즈의 지정일 때, data_value에는, 폰트 사이즈를 나타내는 8 이상 72 이하의 값이 지정된다. 또한, 폰트 사이즈를 지정하는 값의 디폴트는, 「32」로 하도록 해도 된다. subtitle_data()의 data_type의 8비트의 필드에 0x0A가 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 폰트 회전각의 지정이다. subtitle_data()의 data_type에서, 기재되어 있는 속성 종별이 폰트 회전각의 지정일 때, data_value에는, 폰트 회전각에 대응하는 0 이상 360 이하의 값이 지정된다. 또한, 회전 방향은, 예를 들면, 반시계 방향이 정방향으로 되고, 디폴트는, 「0」으로 하도록 해도 된다.
subtitle_data()의 data_type의 8비트의 필드에 0x0B가 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 북마크의 개시 위치이다. 북마크란, 복수 회 동일한 문자가 동일한 형식으로 표시되는 경우에 렌더링 처리를 생략할 수 있도록, 텍스트 자막 파일의 공급원이 미리 부여하는 정보이다. subtitle_data()의 data_type에서, 기재되어 있는 속성 종별이 북마크 개시 위치 지정일 때의 data_value의 데이터 구조는, 도 23을 이용하여 설명한 경우와 마찬가지이다. subtitle_data()의 data_type의 8비트의 필드에 0x0C가 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 북마크의 종료 위치이다. subtitle_data()의 data_type에서, 기재되어 있는 속성 종별이 북마크 종료 위치 지정일 때의 data_value의 데이터 구조는, 도 24를 이용하여 설명한 경우와 마찬가지이다. subtitle_data()의 data_type의 8비트의 필드에 0x0D가 기재되어 있었을 때, 기재되어 있는 속성의 종별은, 북마크가 부여된 문자 객체 시퀀스의 반복 지정이다. subtitle_data()의 data_type에서, 기재되어 있는 속성 종별이 문자 객체 시퀀스 반복 지정일 때의 data_value의 데이터 구조는, 도 25를 이용하여 설명한 경우와 마찬가지이다.
다음으로, 태그 부가 언어에 의한 속성 지정의 경우에 대해 설명한다. 태그 부가 언어에 의한 속성 지정의 경우, 자막 데이터의 문자 부호화 방식은, SubPlayItem 중의 character_code_id의 지정을 무시하고, ISO/IEC 646 인코드인 것으로 한다. 태그 부가 언어에 의한 속성 지정의 경우의, subtitle_data()의 데이터 구조는, 도 26을 이용하여 설명한 경우와 마찬가지이며, TaggedAttr은, 도 27을 이용하여 설명한 바와 같이, 소정의 형식에 따른다. char_data는, 문자 객체의 바이트 시퀀스를 지정한다. 단, 바이트 시퀀스는, BASE64 인코딩 방식에 의해 ISO/IEC 646 인코드하는 것으로 한다. 그 때, 「<」 및 「>」는, 「0x1B」에 의해 에스케이프한다.
다음으로, 도 57을 참조하여, 태그 부가 언어에 의한 속성 지정의 요소 및 속성 종별에 대해서 설명한다.
CLUT 설정은, <CLUT size= y= cb= cr= t= >로 기재되며, 속성 「size」에 CLUT의 사이즈가 지정되고, 속성 「y」, 「cb」, 「cr」 및 「t」에는, 도 63을 이용하여 후술하는 자막 그래픽스 플레인 처리부(93)에서의 CLUT의 인덱스 열이 지정된다.
영역 원점 지정은, <region x= y= >로 기재되며, 속성 「x」 및 「y」에, 영역의 원점 좌표(x, y)가 지정된다.
행간(Line Space) 지정은, <linespace d=>로 기재되며, 속성 「d」에, 행간이 픽셀 단위로 지정된다. 또한, 행간의 디폴트는, 「폰트의 높이」로 하도록 해도 된다.
렌더링 방향 지정은, <textflow d=>로 기재되며, 속성 「d」에, 문자 객체를 묘화할 때의 방향이 지정된다. 또한, 렌더링 방향의 디폴트는, 「좌로부터 우로」로 하도록 해도 된다.
폰트색 지정의 개시는, <fontcolor c=>로 기재되며, 속성 「c」에, 도 63을 이용하여 후술하는 자막 그래픽스 플레인 처리부(93)에서의 CLUT에 대한 인덱스가 지정된다. 또한, 폰트색에 대응하는 인덱스의 디폴트는, 「0」으로 하도록 해도 된다. 그리고, 폰트색 지정의 종료는, </fontcolor>로 기재된다.
배경색 지정은, <backgroundcolor c=>로 기재되며, 속성 「c」에, 도 63을 이용하여 후술하는 자막 그래픽스 플레인 처리부(93)에서의 CLUT에 대한 인덱스가 지정된다. 단, 배경색으로 전부 칠해지는 영역은, 영역 단위이며, 배경색의 디폴트는, 무지정(투과)으로 하도록 해도 된다.
폰트 스타일 지정은, <fontstyle s=>로 기재되며, 속성 「s」에, 굵은 글자, 기울임꼴, 표준 등의 폰트의 스타일이 지정된다. 또한, 폰트의 스타일의 디폴트는, 「표준」으로 하도록 해도 된다. 그리고, 폰트 스타일 지정의 종료는, </fontstyle>로 기재된다.
폰트 사이즈 지정은, <fontsize s=>로 기재되며, 속성 「s」에, 폰트 사이즈에 대응하는 8 이상 72 이하의 값이 지정된다. 또한, 폰트 사이즈를 지정하는 값의 디폴트는, 「32」으로 하도록 해도 된다. 그리고, 폰트 사이즈 지정의 종료는, </fontsize>로 기재된다.
폰트 회전각 지정은, <fontrotate a=>로 기재되며, 속성 「a」에, 폰트의 회전각에 대응하는 0 이상 360 이하의 값이 지정된다. 또한, 회전 방향은, 반시계 방향이 정방향으로 되고, 폰트의 회전각에 대응하는 값의 디폴트는, 「0」으로 하도록 해도 된다. 그리고, 폰트의 회전 각도 지정의 종료는, </fontrotate>로 기재된다.
북마크 지정은, <mark id=>로 기재되며, 속성 「id」에, 북마크를 개별로 구별 가능한 0 이상 255 이하의 값이 지정된다. 이에 의해, 본 요소의 스코프 내의 자막 데이터에 대하여 북마크가 부여된 것으로 된다. 북마크는, 최대 256개까지 지정할 수 있다. 그리고, 북마크를 부여하는 자막 텍스트의 종료는, </mark>로 기재된다.
문자 객체 시퀀스 반복 지정은, <repeat id= c=>로 기재되며, 속성 「id」에, 북마크를 개별로 구별 가능한 0 이상 255 이하의 값이, 속성 「c」에는 반복 횟수가 지정된다. 이에 의해, 속성 「id」에 의해 설정된 속성값에 대응하는 북마크가 부여된 자막 데이터가, 속성 「c」에 설정된 횟수 반복된다.
상술한 바와 같은 방법으로 속성이 지정된 텍스트 자막 파일의 텍스트 데이터는, 각각의 속성의 설정에 기초하여, 예를 들면, 도 29를 이용하여 설명한 바와 같이, 렌더링 방향이 좌로부터 우로 지정되며, 설정된 개행 위치에서 아래 방향으로 개행되어 표시되거나, 도 30을 이용하여 설명한 바와 같이, 렌더링 방향이 우로부터 좌로 지정되며, 설정된 개행 위치에서 아래 방향으로 개행되어 표시되거나, 도 31을 이용하여 설명한 바와 같이, 렌더링 방향이 위로부터 아래로 지정되며, 설정된 개행 위치에서 왼쪽 방향으로 개행되어 표시된다.
또한, 예를 들면, 표시되는 자막에 대하여, 페이드 인 또는 페이드 아웃을 지정할 때에는, 도 63을 이용하여 후술하는 자막 그래픽스 플레인 처리부(93)에서의 CLUT의 T값을 변경하여, 문자의 투명도를 변화시키면서, 문자 객체 시퀀스를 반복 지정하도록 하면 된다.
다음으로, 텍스트 자막 스트림이 저장되는 컨테이너 파일에 대하여 설명한다.
텍스트 자막 스트림이 저장되는 컨테이너 파일은, Clip AV 스트림에 다중화되어 있지 않은 별도 파일 형식인 것으로 한다. 또한, 컨테이너 파일의 포맷은, BDAV MPEG-2 트랜스포트 스트림인 것으로 한다. 그리고, 텍스트 자막 스트림이 저장되는 PES(Packetized Elementary Stream) 패킷은, 도 58에 도시되는 Private Stream2 형식에 따른다.
도 58에서, packet_start_code_prefix는, 패킷의 개시를 식별하는 패킷 개시 코드인 24비트의 필드이며, 값 0x000001이 설정된다. stream_id는, 스트림의 종류와 번호를 규정하는 8비트의 필드이며, 값 0xBF가 설정된다. PES_packet_length는, 직후에 이어지는 바이트 시퀀스의 바이트수를 지정하는 16비트의 필드이다. 그리고, PES_packet_data_byte는, 텍스트 자막 스트림 파일을 바이트 시퀀스로서 지정한다.
또한, 텍스트 자막 스트림이 저장되는 컨테이너 파일에서, PAT 패킷, PMT 패킷, 및, SIT 패킷은, Aligned Unit의 선두에, 각각 1회만 출현하도록 이루어져 있으며, PCR(Program Clock Reference 기준 시각 정보) 패킷을 갖지 않도록 이루어져 있다.
따라서, 텍스트 자막 스트림이 저장되는 BDAV MPEG-2 트랜스포트 스트림은, 예를 들면, 도 59에 도시되는 바와 같은 구성으로 된다.
도 59에 도시되는 텍스트 자막 스트림이 저장되는 BDAV MPEG-2 트랜스포트 스트림에서는, 각각의 Aligned Unit에서, 소스 패킷#1이, PAT 패킷을 포함하고, 소스 패킷#2가, PMT 패킷을 포함하며, 소스 패킷#3이, SIT 패킷을 포함하고, 소스 패킷#4 내지 소스 패킷#32가, 도 58을 이용하여 설명한 Private Stream2 형식으로 텍스트 자막 스트림 파일이 저장된 패킷#1 내지 패킷#29를 포함하는 것으로 되어 있다.
이와 같이, 제2 실시예에서는, 서버(3)로부터 다운로드되는 등에 의해, 이상 설명한 업데이트 데이터가 취득되어, 로컬 스토리지(24)에 기록된다. 도 60에, 로컬 스토리지(24)에 기억되는 데이터의 데이터 구조를 도시한다.
로컬 스토리지(24)의 루트 디렉토리의 바로 아래에 처리 대상 업데이트 데이터 파일을 기록하는 author_id 디렉토리가 없는 경우, 로컬 스토리지(24)의 루트 디렉토리의 바로 아래에 처리 대상 업데이트 파일의 author_id와 동일한 이름의 author_id 디렉토리가 작성된다. 그리고, author_id 디렉토리 아래에 처리 대상 업데이트 파일의 disc_id와 동일한 이름의 disc_id 디렉토리가 작성된다.
그리고, 작성한 disc_id 디렉토리 아래에, 도 42를 이용하여 설명한 광 디스크(193)의 BDMV 디렉토리보다 아래의 계층과 마찬가지로, BACKUP 디렉토리, PLAYLIST 디렉토리, CLIPINF 디렉토리, STREAM 디렉토리, 및 AUXDATA 디렉토리가 작성되며, PLAYLIST 디렉토리에는 PlayList 파일이, CLIPINF 디렉토리에는 Clip Information 파일이, STREAM 디렉토리에는, 텍스트 자막 스트림 파일이, AUXDATA 디렉토리에는, 폰트 파일이, 각각 저장된다. 또한, 도 60의 예에서는, author_id 디렉토리의 명칭 및 disc_id 디렉토리의 명칭 모두 「1」이다. 즉, 도 60에 도시되는 디렉토리 아래에는 author_id 및 disc_id가 모두 1인 업데이트 파일이 기록되어 있다.
로컬 스토리지(24)에 기록되는 업데이트 데이터 파일의 이름은, 도 60에 도시되는 바와 같이, 파일명과 확장자 사이에 「.」 (피리어드)와 4자릿수의 숫자의 번호를 삽입한 것으로 된다. 이 4자릿수의 숫자는 버전 번호를 나타내며, 0000으로부터 시작되어, 새로운 버전의 업데이트 파일이 기록될 때마다 1씩 증가된다. 예를 들면, 「01001.mpls」의 이름의 PlayList 파일의 업데이트 파일이 PLAYLIST 디렉토리에 기록되는 경우, PLAYLIST 디렉토리에 「01001.****.mpls(****은 버전 번호)」의 파일명의 파일이 기록되어 있지 않을 때, 즉, 「01001.mpls」의 이름의 PlayList 파일의 업데이트 파일이 아직 존재하지 않을 때, 업데이트 파일은 「01001.0000.mpls」의 이름으로 기록되며, PLAYLIST 디렉토리에 이미 「01001.0000.mpls」의 파일이 기록되어 있을 때, 업데이트 파일은 「01001.0001.mpls」의 이름으로 기록된다.
또한, 서버(3)로부터 다운로드되는 업데이트 데이터에는, 메타 데이터가 포함되어 있다. 메타 데이터는, 메타 데이터가 대응하는 업데이트 파일과 동일한 디렉토리에, 업데이트 파일의 파일명의 말미에 확장자 「.data」를 부가한 파일명으로 기록된다.
그리고, 도 42를 이용하여 설명한, 광 디스크(193)에 기록되어 있는 데이터 파일과, 도 60을 이용하여 설명한, 로컬 스토리지(24)에 기억되어 있는 데이터 파일이 머지되어, 제2 가상 파일 시스템이 생성된다.
도 61에, 제2 가상 파일 시스템의 데이터 구조를 도시한다.
제2 가상 파일 시스템에서는, author_id 및 disc_id가 동일한 광 디스크(193)에 기록되어 있는 데이터 파일과, 로컬 스토리지(24)에 기억되어 있는 데이터 파일이 머지되어, 「VBDMV」의 이름이 설정된 디렉토리가 준비되고, 도 42를 이용하여 설명한 광 디스크(193)의 「BDMV」 디렉토리에 저장되어 있는, 「Index.bdmV」의 이름이 설정된 파일과, 「MovieObject.bdmv」의 이름이 설정된 파일이 저장됨과 함께, BDMV 디렉토리보다 아래의 계층과 마찬가지의 구성으로 되도록, BACKUP 디렉토리, PLAYLIST 디렉토리, CLIPINF 디렉토리, STREAM 디렉토리, 및 AUXDATA 디렉토리가 작성되며, 각각, 대응하는 디렉토리 아래에, 데이터 파일이 저장되어 있는 것으로 되어 있다.
제2 가상 파일 시스템의 PLAYLIST 디렉토리, CLIPINF 디렉토리, STREAM 디렉토리, 및 AUXDATA 디렉토리에 저장되는 데이터 파일 중, 실제로는 로컬 스토리지(24)에 기억되어 있는 데이터 파일에는, 각각, 메타 데이터 파일이 대응되어 있다.
이와 같이 하여, 광 디스크에 기록되어 있는 콘텐츠와, 로컬 스토리지에 기록되어 있는 콘텐츠를 관련시켜 재생할 수 있도록, 제2 가상 파일 시스템에 의해 데이터가 머지된다.
또한, 도 2를 이용하여 설명한 경우와 마찬가지로, 제2 실시예에서도, PlayList에는, PlayItem에 의해 지정되는 메인 패스(Main Path) 외에, 도 3에 도시되는 바와 같은 서브 플레이 아이템(Sub Play Item)을 이용하여 지정되는 서브 패스(Sub path)의 정보를 포함시킬 수 있고, SubPlayItem을 정의하면, 예를 들면, PlayItem에 의해 지정되는 Clip(예를 들면, MPEG2 트랜스포트 스트림)에 다중화되어 있지 않은, 독립된 데이터 스트림을 AV 스트림 재생에 동기하여 재생시킬 수 있다.
즉, 도 62에 도시되는 바와 같이, PlayItem에 의해 지정되는 메인 패스의 Clip AV 스트림에 대응시켜, 텍스트 자막 파일, 및, 렌더링에 필요하게 되는 폰트 파일로 구성되는 자막 관련 정보와 자막 관련 정보의 재생 구간을 지정한 SubPlayItem에 의해 구성되는 서브 패스를 준비함으로써, Clip AV 스트림의 재생에 대하여, 텍스트 자막 파일에 기재되어 있는 데이터에 대응하는 자막을, 동기시켜 표시시키도록 할 수 있다.
유저는, 텍스트 자막 스트림용의 서브 패스 및 서브 플레이 아이템을 취득함으로써, 메인 패스에 설정되어 있는 Clip AV 스트림과, 텍스트 자막 스트림을 동기시켜 재생시킬 수 있다. 또한, 하나의 서브 플레이 아이템에는, 복수의 텍스트 자막 스트림을 지정할 수 있다.
또한, 본 발명의 재생 장치(181)에서는, 동기 재생을 행하기 위해, 서브 패스의 재생 처리에서도, 메인 패스의 재생 처리에서 참조되는 STC(System Time Clock)를 참조하는 것으로 할 수 있다. 또한, 서브 패스의 재생 처리에서, 디코더(192)는, 텍스트 자막 스트림을 일괄 프리로드하거나, 부분 프리로드할 수 있다.
또한, 본 발명의 재생 장치(181)에서는, 서브 패스의 재생 처리에서, 텍스트 자막 스트림을 일괄 프리로드하거나, 또는, 텍스트 자막 파일에 관한, 후술하는 EP_map를 작성함으로써, 텍스트 자막 파일에 대하여, 고속의 랜덤 액세스를 실현시킬 수 있다.
도 63은, 동기 재생을 위한 STC를 참조할 수 있으며, 또한, 텍스트 자막 스트림을 일괄 프리로드하거나, 부분 프리로드할 수 있음과 함께, 텍스트 자막 파일에 대하여 랜덤 액세스를 실행할 수 있는, 본 발명을 적용한 재생 장치(181)의 디코더(192)의 구성을 도시하는 블록도이다.
또한, 도 63의 디코더(192)에서는, 도 33에서 설명한 경우와 대응하는 부분에는 동일한 부호를 붙이고 있으며, 그 설명은 적절히 생략한다. 즉, 디코더(192)는, STC 카운터(211), 메모리(216), 버퍼(217), 및, 버퍼(219)가 새롭게 설치되고, 오디오 디코더(86) 대신에, 오디오 디코더(212)가 설치되며, MPEG 비디오 디코더(87) 대신에, MPEG 비디오 디코더(213)가 설치되고, 제어부(81) 대신에, 제어부(214)가 설치되며, 디스크 데이터 취득부(82) 대신에, 디스크 데이터 취득부(215)가 설치되고, 스토리지 데이터 취득부(91) 대신에, 스토리지 데이터 취득부(218)가 설치되며, 텍스트 자막 처리부(92) 대신에, 텍스트 자막 처리부(220)가 설치되어 있는 것 이외에는, 도 33을 이용하여 설명한 디코더(26)와, 기본적으로 마찬가지의 구성을 갖는 것이다.
STC 카운터(211)는, STC를 카운트한다. 오디오 디코더(212)는, STC 카운터(211)의 카운터값을 참조하여, PTS(Program Time Stamp)를 계산하고, 계산된 PTS에 따라서, 오디오 스트림을 디코드하고, 디코드된 오디오 스트림의 데이터를 출력한다. MPEG 비디오 디코더(213)는, STC 카운터(211)의 카운터값을 참조하여, PTS를 계산하고, 계산된 PTS에 따라서, 비디오 스트림을 디코드하고, 디코드된 비디오 데이터를 비디오 플레인 처리부(88)에 출력한다.
제어부(214)는, 재생 제어부(204)의 제어에 기초하여, 디코더(192)의 각 부의 처리를 제어하는 것으로, 예를 들면, 디스크 데이터 취득부(215) 또는 스토리지 데이터 취득부(218)를 제어하여, 텍스트 자막 스트림을 일괄 프리로드시켜 버퍼(217)에 버퍼링시킴으로써, 텍스트 자막 스트림의 랜덤 액세스를 제어하거나, 디스크 데이터 취득부(215), 또는, 스토리지 데이터 취득부(218)로부터 공급된 텍스트 자막 스트림에 대응하는 SubPlayItem_IN_time 및 SubPlayItem_OUT_time 등의 정보에 기초하여, 텍스트 자막 스트림에 대응하는 EP_map를 생성하여, 메모리(216)에 보존하고, 보존된 EP_map를 참조해서 텍스트 자막 스트림의 랜덤 액세스를 제어할 수 있다. 또한, 제어부(214)는, 메인 패스에서 지정되는 Clip AV 스트림과, 서브 패스에서 지정되는 텍스트 자막 스트림을 동기해서 재생시키는 위해, 메인 패스에서의 논심리스(non-seamless) 접속 조건 하에서의 플레이 아이템 절환에 의해 발생하는, 오디오 디코더(212) 및 MPEG 비디오 디코더(213)에 의한 Clip AV 스트림의 디코드 동작의 갭 등의 정보를, 텍스트 자막 처리부(220)에 통지한다.
디스크 데이터 취득부(215)는, 제어부(214)의 제어에 기초하여, 광 디스크(193)로부터 판독 출력된 데이터 중, 디코더(192)에 공급된 데이터를 취득하고, PlayItem에 의해 지정되는 AV 스트림 등의 다중화 스트림을 버퍼(83)에 공급하며, SubPlayItem에 의해 지정되는, 텍스트 자막 파일 또는 폰트 파일의 데이터를 버퍼(84)에 공급한다. 또한, 디코더(192)는, 텍스트 자막 스트림을 일괄 프리로드하거나, 부분 프리로드할 수 있다. 디스크 데이터 취득부(215)는, 광 디스크(193)에 기록되어 있는 텍스트 자막 스트림이 일괄 프리로드되는 경우, 대응하는 모든 텍스트 자막 파일을 판독 출력하여, 버퍼(217)에 공급한다. 또한, 디스크 데이터 취득부(215)는, 광 디스크(193)에 기록되어 있는 텍스트 자막 스트림이 부분 프리로드되는 경우, 광 디스크(193)에 기록되어 있는 텍스트 자막 스트림에 대응하는 SubPlayItem_IN_time 및 SubPlayItem_OUT_time 등의 정보를 취득하여, 제어부(214)에 공급한다.
메모리(216)는, 제어부(214)에 의해 생성된, 텍스트 자막 스트림에 대응하는 EP_map를 보존한다. 버퍼(217)는, 디스크 데이터 취득부(215), 또는, 스토리지 데이터 취득부(218)로부터 공급된, 일괄 프리로드된 텍스트 자막 스트림을 보존한다.
스토리지 데이터 취득부(218)는, 로컬 스토리지(24)로부터 판독 출력된 데이터 중, 디코더(192)에 공급된 데이터(즉, 텍스트 자막 파일 또는 폰트 파일의 데이터)를 취득하고, 일괄 프리로드가 행하여지는 경우에는, 버퍼(217)에, 프리로드가 행하여지지 않는 경우, 또는, 부분 프리로드가 행하여지는 경우에는, 내부의 트랜스포트 스트림용의 도시하지 않은 버퍼에 일시 보존하고, 버퍼(219)에, 취득한 데이터를 공급한다. 또한, 스토리지 데이터 취득부(218)는, 로컬 스토리지(24)에 기록되어 있는 텍스트 자막 스트림이 부분 프리로드되는 경우, 로컬 스토리지(24)에 기록되어 있는 텍스트 자막 스트림에 대응하는 SubPlayItem_IN_time 및 SubPlayItem_OUT_time 등의 정보를 취득하여, 제어부(214)에 공급한다.
버퍼(219)는, 텍스트 자막 처리부(220)에 공급되는 텍스트 자막 스트림 데이터 및 폰트 파일의 데이터를 일시 버퍼링한다. 텍스트 자막 처리부(220)는, 텍스트 자막 스트림 데이터 및 폰트 파일의 데이터의 공급을 받아, STC 카운터(211)의 카운터값, 및, 제어부(214)로부터 공급되는 Clip AV 스트림의 디코드 동작의 갭 등의 정보에 기초하여, Clip AV 스트림과 동기하여 재생되도록, 공급된 텍스트 자막 스트림을 디코드한다.
이와 같이, 본 발명을 적용한 재생 장치(181)의 디코더(192)에서는, 텍스트 자막 스트림을 일괄 프리로드하거나, 부분 프리로드할 수 있음과 함께, 텍스트 자막 파일에 대하여, 고속으로 랜덤 액세스를 실행할 수 있다.
일괄 프리로드는, 디스크 데이터 취득부(215) 또는 스토리지 데이터 취득부(218)에, 재생에 필요한 텍스트 자막 스트림 전체를 취득시켜, 버퍼(217)에 한번에 프리로드하는 방식이다. 부분 프리로드는, 디스크 데이터 취득부(215) 또는 스토리지 데이터 취득부(218)에, 텍스트 자막 스트림의 일부분만을 프리로드시키는 방식이다. 부분 프리로드된 텍스트 자막 스트림의 트랜스포트 스트림 데이터는, 트랜스포트 스트림 버퍼인 버퍼(84), 또는, 스토리지 데이터 취득부(218) 내부의 도시하지 않은 버퍼의 리크 레이트값에 대응한 전송 레이트로, 소스 패킷 단위로 버퍼(219)에 로드된다(버퍼(219)에 로드되는 스트림은, TextSubtitle의 엘리멘터리 스트림임).
다음으로, Clip AV 스트림의 재생 시에 텍스트 자막 스트림에 랜덤 액세스하는 경우에 대해 설명한다.
Clip AV 스트림의 경우, PlayItem 중에서 임의의 PTS값으로부터 소스 패킷 번호를 구하기 위해서 EP_map를 참조한다. EP_map에 대해서 도 64를 이용하여 설명한다.
EP_map란, 클립 중의 엔트리 포인트의 타임 스탬프(PTS_EP_start)와, 클립 AV 스트림 파일 중에서 스트림의 디코드를 개시할 소스 패킷 번호(SPN_EP_start)의 페어를 저장한 테이블로서, Clip Information 파일 중에 정의된다. 바꾸어 말하면, 재생 장치(181)는, 엔트리 포인트의 타임 스탬프(PTS_EP_start)가 지정됨으로써, 랜덤 액세스하는 대상으로 되는(디코드를 개시할) 소스 패킷의 소스 패킷 번호(SPN_EP_start)를 검출할 수 있다. 즉, 재생 장치(181)는, Clip AV 스트림의 EP_map를 참조함으로써, Clip AV 스트림의 랜덤 액세스, 퍼스트 포워드 재생, 또는, 퍼스트 리버스 재생에 대응할 수 있다. 또한, 소스 패킷 번호란, AV 스트림 파일 중의 소스 패킷의 순서대로 1개씩 인크리먼트하는 번호로서, 파일의 선두의 소스 패킷 번호가 제로로 된다.
그러나, 텍스트 자막 스트림은, 규격 상에서는, Clip AV 스트림과는 달리, EP_map를 갖지 않는 것으로 되어 있다.
그 때문에, 제어부(214)는, 디스크 데이터 취득부(215) 또는 스토리지 데이터 취득부(218)를 제어하여, 텍스트 자막 스트림을 일괄 프리로드시켜 버퍼(217)에 버퍼링시킴과 함께, 재생 장치(181)에서의 글로벌 시간축에서의 PTS값 T에 대하여, 다음의 수학식 1 및 수학식 2를 모두 만족시키는 음이 아닌 정수 i를 구함으로써, PTS값 T에 대응한 자막 데이터가 저장된 데이터 위치에의 랜덤 액세스를 제어할 수 있다.
Figure pat00001
Figure pat00002
한편으로, 텍스트 자막 스트림은, 오디오/비디오의 Clip AV 스트림과 마찬가지로 시계열 데이터의 성질을 갖기 때문에, 항상, 다음의 수학식 3에 표현되는 관계가 성립한다.
Figure pat00003
따라서, 제어부(214)는, 임의의 PTS값 T에 대하여, 수학식 1 및 수학식 2로 표현되는 조건을 만족시키는 음이 아닌 정수 i를 구하는 고속의 알고리즘으로서, 예를 들면, B-Tree 인덱싱 등을 이용하도록 함으로써, 자막 데이터에의 랜덤 액세스를 제어하는 것이 가능하게 된다. 또한, 제어부(214)는, B-Tree 인덱싱 이외의 알고리즘을 이용하여, 임의의 PTS값 T에 대하여, 수학식 1 및 수학식 2로 표현되는 조건을 만족시키는 음이 아닌 정수 i를 구하도록 해도 되는 것은 물론이다.
또한, 제어부(214)는, 텍스트 자막 스트림이 부분 프리로드되는 경우, 랜덤 액세스를 허가하지 않고, 시퀀셜 액세스만을 제어하도록 해도 된다. 또한, 제어부(214)는, PlayList 재생 시에, 디스크 데이터 취득부(215)로부터, 광 디스크(193)에 기록되어 있는 텍스트 자막 스트림에 대응하는 SubPlayItem_IN_time 및 SubPlayItem 등의 정보의 공급을 받거나, 스토리지 데이터 취득부(218)로부터, 로컬 스토리지(24)에 기록되어 있는 텍스트 자막 스트림에 대응하는 SubPlayItem_IN_time 및 SubPlayItem_0UT_time 등의 정보의 공급을 받아, 도 64를 이용하여 설명한 EP_map와 마찬가지의, 텍스트 자막 스트림의 EP_map를, 사전에 생성하여, 메모리(216)에 기억시켜 두고, 메모리(216)에 기억된 텍스트 자막 스트림의 EP_map를 참조하여, 랜덤 액세스를 제어할 수 있도록 해도 된다.
도 65는, 도 63의 텍스트 자막 처리부(220)의 구성을 도시하는 블록도이다.
또한, 도 65의 텍스트 자막 처리부(220)에서는, 도 34를 이용하여 설명한 경우와 대응하는 부분에는 동일한 부호를 붙이고 있으며, 그 설명은 적절히 생략한다. 즉, 텍스트 자막 처리부(220)는, STC 카운터(211)의 카운터값, 및, 제어부(214)로부터 공급되는 Clip AV 스트림의 디코드 동작의 갭 등의 정보를 취득하고, Clip AV 스트림과 동기해서 텍스트 자막 스트림이 재생되도록, 텍스트 데이터 디코더(232)의 동작의 기준으로 되는 PTS를 계산하는 STC 처리부(231)가 새롭게 설치되고, 텍스트 데이터 디코더(121) 대신에, STC 처리부(231)가 STC에 기초하여 계산한 PTS에 기초하여, 공급된 텍스트 자막 스트림을 디코드하는 텍스트 데이터 디코더(232)가 설치되어 있는 것 이외에는, 기본적으로, 도 34를 이용하여 설명한 텍스트 자막 처리부(92)와 마찬가지의 구성을 갖는 것이다.
텍스트 데이터 디코더(232)에 의한 텍스트 데이터의 디코드 처리에서는, MainPath의 Clip AV 스트림이 참조하는 STC를 참조함으로써, Clip AV 스트림과 텍스트 자막 스트림과의 동기를 도모할 수 있다. 그러나, Clip AV 스트림은, 1개의 PlayList 파일 중에서 복수의 STC를 보유할 수 있기 때문에, 텍스트 데이터 디코더(232)가 MainPath의 Clip AV 스트림이 참조하는 STC를 직접 참조하게 되면, 텍스트 자막 스트림의 재생 제어가 복잡하게 되는 요인으로 된다. 또한, 텍스트 자막 스트림은, 상술한 바와 같이, PCR 패킷을 갖지 않는다.
따라서, 텍스트 자막 스트림을 디코드하는 텍스트 자막 처리부(220)에서는, Main Path의 Clip AV 스트림의 재생 시에 참조되는 STC에 기초하여, 재생 장치(181)에서 일관한 글로벌한 시간축을 상정하는 것으로 한다. STC 처리부(231)는, 이 시간축을 기준으로 하여 타임 스탬프를 계산하여, 텍스트 데이터 디코더(232)에 공급한다. 텍스트 데이터 디코더(232)는, 공급된 타임 스탬프를 기준으로 디코드 처리를 실행한다.
즉, 도 66에서 도시되는 바와 같이, Clip AV 스트림은, 1개의 PlayList 파일 중의 각각의 PlayItem에서, 각각에 STC를 참조한다. 따라서, STC 처리부(231)는, STC 카운터(211)의 카운터값을 적산하여, PlayList 내에서의 글로벌한 시간축을 구성하고, 텍스트 데이터 디코더(232)의 동작의 기준으로 되는 PTS를 계산한다.
그 때, STC 처리부(231)는, 도 67에 도시되는 바와 같이, 논심리스 접속 조건 하에서의 PlayItem 절환에 의해 발생하는 갭을 고려하여, STC 카운터(211)의 카운터값을 적산할 필요가 있다. 따라서, STC 처리부(231)는, 제어부(214)로부터 공급되는 Clip AV 스트림의 디코드 동작의 갭 등의 정보를 취득하고, 그 정보에 기초하여, PlayItem 절환에 의해 발생하는 갭을 고려한 STC 카운터(211)의 카운터값의 적산을 실행하여, 텍스트 데이터 디코더(232)의 동작의 기준으로 되는 PTS를 계산한다.
텍스트 데이터 디코더(232)는, 도 66 및 도 67을 이용하여 설명한 바와 같이, PlayItem 절환에 의해 발생하는 갭을 고려하여, Main Path의 Clip AV 스트림이 참조하는 STC 카운터(211)의 카운터값을 적산함으로써 산출되는 PTS에 기초하여, 공급되는 텍스트 자막의 엘리멘터리 스트림을 디코드한다.
다음으로, 도 68의 플로우차트를 참조하여, 서버(3)로부터 업데이트 파일을 다운로드하는 재생 장치(181)의 컨트롤러(191)의 처리인 다운로드 처리2에 대해서 설명한다.
이 처리는, 광 디스크(193)가 재생 장치(181)에 장착되어 있는지의 여부에 관계없이, 유저에 의해, 업데이트용 데이터의 취득이 명령된 경우에 실행된다.
단계 S201에서, 컨트롤러(191)의 데이터 취득부(33)는, 인터넷 인터페이스(24)를 제어하여, 인터넷(2)을 통해서 서버(3)에 액세스하여, 업데이트용의 메뉴 화면에 대응하는 데이터의 송신을 요구한다.
단계 S202에서, 데이터 취득부(33)는, 인터넷 인터페이스(24)를 제어하여, 인터넷(2)을 통해서 서버(3)로부터, 업데이트용의 메뉴 화면에 대응하는 데이터를 수신한다. 데이터 취득부(33)는, 서버(3)로부터 송신되어, 인터넷 인터페이스(24)에 의해 수신된 업데이트용의 메뉴 화면에 대응하는 데이터를, 메뉴 화면 표시 제어부(31)에 공급한다.
단계 S203에서, 메뉴 화면 표시 제어부(31)는, 업데이트용의 메뉴 화면을 표시 장치에 표시시키고, 단계 S204로 진행하여, 조작 입력 취득부(32)로부터 공급되는 신호에 기초하여, 메뉴 화면의 버튼이 유저에 의해 조작되어, 업데이트의 내용이 선택되었는지의 여부를 판정한다.
단계 S204에서, 메뉴 화면 표시 제어부(31)는, 업데이트의 내용이 선택되었다고 판정할 때까지 대기하고, 업데이트의 내용이 선택되었다고 판정한 경우, 단계 S205로 진행한다. 유저에 의해 선택된 업데이트의 내용을 나타내는 정보는, 메뉴 화면 표시 제어부(31)로부터 데이터 취득부(33)에 출력된다.
단계 S205에서, 데이터 취득부(33)는, 인터넷 인터페이스(24)를 제어하여, 업데이트의 내용을 나타내는 정보를 서버(3)에 송신시켜, 유저가 지정한 업데이트 파일의 다운로드를 요구한다.
단계 S206에서, 데이터 취득부(33)는, 인터넷 인터페이스(24)를 제어하여, 서버(3)에 의해 업데이트 파일로서 준비되는, PlayList 파일, Clip Information 파일, 텍스트 자막 스트림 파일, 및, 폰트 파일을 다운로드시키고, 이들 파일이 다운로드된 것을, 로컬 스토리지 디렉토리 관리부(201)에 통지한다.
단계 S207에서, 로컬 스토리지 디렉토리 관리부(201)는, 다운로드된 업데이트 데이터 파일의 메타 데이터에 포함되는 author_id와 disc_id에 기초하여, 그들 ID로 식별되는 디렉토리를 로컬 스토리지(24)에 작성한다. 이에 의해, 예를 들면, 도 60을 이용하여 설명한 구조의 파일 시스템이 로컬 스토리지(24)에 작성된다.
단계 S208에서, 로컬 스토리지 디렉토리 관리부(201)는, 단계 S209에서 작성한 디렉토리에, 서버(3)로부터 다운로드된 각각의 파일을 전개하여, 저장시킨다.
이러한 처리에 의해, 서버(3)로부터 업데이트 파일이 다운로드되어, 로컬 스토리지(24)에 기록되므로, 예를 들면, 영화 등의 콘텐츠가 기록된 광 디스크(193)를 구입한 유저가, 광 디스크(193)에 미리 기록되어 있지 않은 언어의 자막을 표시시키기 위해 필요한 파일을 취득하여 기록시킬 수 있다. 따라서, 광 디스크(193)에 기록되어 있는 AV 스트림과 동기시켜, 유저가 원하는 언어의 자막을 표시시켜, 콘텐츠를 시청하는 것이 가능하게 된다.
또한, 이상과 같은 업데이트 파일의 다운로드는, 유료로 행할 수 있는 것이어도 되고, 무료로 행할 수 있는 것이어도 된다.
다음으로, 도 36의 플로우차트를 참조하여, 컨트롤러(191)에 의해 제어가 실행되는 재생 처리2에 대해서 설명한다.
상술한 바와 같이 하여 다운로드된 업데이트 파일이 로컬 스토리지(24)에 기록되어 있는 상태에서, 광 디스크(193)가 장착되어, 기록되어 있는 콘텐츠의 재생이 지시된 경우, 단계 S221에서, 광 디스크 디렉토리 관리부(202)는, 광 디스크(193)로부터, 유저에 의해 재기입 불가능하도록 기록되어 있는 author_id와 disc_id를 판독 출력하고, 판독 출력한 author_id와 disc_id를 로컬 스토리지 디렉토리 관리부(201)에 출력한다.
단계 S222에서, 로컬 스토리지 디렉토리 관리부(201)는, 광 디스크 디렉토리 관리부(202)로부터 공급된 author_id와 disc_id에 기초하여, 광 디스크(193)의 파일 시스템에 대응하는, 로컬 스토리지(24)의 파일 시스템을 검색하여, 파일 시스템 머지 처리부(203)에 공급한다. 상술한 바와 같이, 광 디스크(193)의 파일 시스템에 대응하는 파일 시스템은, 로컬 스토리지(24)에서, author_id와 disc_id를 이용하여 특정 가능한 디렉토리에 저장되어 있다(도 60).
이 때, 광 디스크 디렉토리 관리부(202)로부터는, 광 디스크(193)의 파일 시스템이 파일 시스템 머지 처리부(203)에 출력되어, 광 디스크(193)의 파일 시스템과, 로컬 스토리지(24)의 파일 시스템이, 도 61을 참조하여 설명한 바와 같이 하여 머지된다. 그리고, 단계 S223에서, 도 70을 이용하여 후술하는 가상 파일 시스템 생성 처리가 실행되어, 제2 가상 파일 시스템이 생성된다. 생성된 제2 가상 파일 시스템은, 재생 제어부(204)에 출력되어, AV 스트림 파일의 재생에 이용된다.
재생 제어부(204)는, 단계 S224에서, 생성된 제2 가상 파일 시스템으로부터 MovieObject를 지정하고, MovieObject에 포함되는 재생 커맨드를 실행하며, 단계 S225에서, MovieObject에 포함되는 재생 커맨드에서 재생 구간으로서 지정되는 PlayList와 SubPlayItem을 취득하고, 단계 S226에서, 로컬 스토리지 디렉토리 관리부(201) 및 광 디스크 디렉토리 관리부(202)를 제어하여, 취득한 PlayList와 SubPlayItem이 참조하는 파일(AV 파일, 텍스트 자막 파일, 폰트 파일 등)을 판독 출력하게 하여, 디코더(192)에 공급시킨다.
그리고, 단계 S227에서, 도 71을 이용하여 후술하는 콘텐츠 재생 처리2, 또는, 도 74를 이용하여 후술하는 콘텐츠 재생 처리 3이 실행되어, 판독 출력된 AV 스트림 파일이나 텍스트 자막 스트림 파일 등이 디코드되어, 영상이나 음성, 또는 자막이 표시 장치로부터 출력되고, 처리가 종료된다.
이상과 같이, 제2 가상 파일 시스템이 생성되어, 콘텐츠의 재생 시에 이용됨으로써, 예를 들면, SubPlayItem이 참조하는 텍스트 자막 파일의 데이터가, AV 스트림과 동시에 판독 출력되어 재생된다.
다음으로, 도 70의 플로우차트를 참조하여, 도 69의 단계 S223에서 실행되는 가상 파일 시스템 생성 처리에 대해서 설명한다.
파일 시스템 머지 처리부(203)는, 광 디스크(193)의 파일 시스템과, 로컬 스토리지(24)의 파일 시스템을, 도 61을 참조하여 설명한 바와 같이 하여 머지하여, 제2 가상 파일 시스템을 생성한다.
단계 S241에서, 파일 시스템 머지 처리부(203)는, 처리 대상으로 되는 업데이트 파일, 즉, 도 69의 단계 S222에서 검출된 파일 시스템에서의 메타 데이터의 operation_type의 값이 0x01인지의 여부를 판정한다. 단계 S241에서, 업데이트 파일의 메타 데이터의 operation_type의 값이 0x01이 아니라고 판정된 경우, 처리는 후술하는 단계 S243으로 진행한다.
단계 S241에서, 업데이트 파일의 메타 데이터의 operation_type의 값이 0x01이라고 판정된 경우, 단계 S242에서, 파일 시스템 머지 처리부(203)는, 광 디스크(193)의 PlayList가 업데이트 파일의 PlayList로 변환되어 갱신된 제2 가상 파일 시스템을 생성하고, 처리는, 도 69의 단계 S223으로 되돌아가서, 단계 S224로 진행한다. 즉, 업데이트 파일의 메타 데이터의 operation_type의 값이 0x01이라고 판정된 경우, 다운로드되어 로컬 스토리지(24)에 기록되어 있는 PlayList가 그대로의 상태로 참조되며, 광 디스크(193)의 PlayList는 전혀 참조되지 않는다.
단계 S241에서, 업데이트 파일의 메타 데이터의 Operation_type의 값이 0x01이 아니라고 판정된 경우, 단계 S243에서, 파일 시스템 머지 처리부(203)는, 처리 대상으로 되는 업데이트 파일, 즉, 도 69의 단계 S222에서 검출된 파일 시스템에서의 메타 데이터의 operation_type의 값이 0x02인지의 여부를 판정한다. 단계 S243에서, 메타 데이터의 operation_type의 값이 0x02가 아니라고 판단된 경우, 처리는, 단계 S225로 진행한다.
단계 S243에서, 메타 데이터의 operation_type의 값이 0x02라고 판단된 경우, 단계 S244에서, 파일 시스템 머지 처리부(203)는, 광 디스크(193)의 PlayList 파일에, 업데이트 파일의 SubPath가 추가되어 갱신된 제2 가상 파일 시스템을 생성하고, 처리는, 도 69의 단계 S223으로 되돌아가서, 단계 S224로 진행한다. 즉, 업데이트 파일의 메타 데이터의 operation_type의 값이 0x02라고 판정된 경우, 도 47 및 도 48을 이용하여 설명한 바와 같이, 다운로드된 파일로부터, SubPath 요소가 추출되고, 광 디스크(193)에 기록되어 있는 SubPath 요소에, 추출된 SubPath 요소가 가해지도록 파일 시스템이 머지되어 갱신된다.
단계 S243에서, 메타 데이터의 operation_type의 값이 0x02가 아니라고 판단된 경우, 단계 S245에서, 파일 시스템 머지 처리부(203)는, 처리 대상으로 되는 업데이트 파일, 즉, 도 69의 단계 S222에서 검출된 파일 시스템에서의 메타 데이터의 operation_type의 값이 0x03인지의 여부를 판정한다. 단계 S245에서, 메타 데이터의 operation_type의 값이 0x03이 아니라고 판단된 경우, 처리는, 단계 S227로 진행한다.
단계 S245에서, 메타 데이터의 operation_type의 값이 0x03이라고 판단된 경우, 단계 S246에서, 파일 시스템 머지 처리부(203)는, 광 디스크(193)의 PlayList 파일에, 업데이트 파일의 SubPlayItem이 추가되어 갱신된 제2 가상 파일 시스템을 생성하고, 처리는, 도 69의 단계 S223으로 되돌아가서, 단계 S224로 진행한다. 즉, 업데이트 파일의 메타 데이터의 operation_type의 값이 0x03이라고 판정된 경우, 도 49 및 도 50을 이용하여 설명한 바와 같이, 다운로드된 파일로부터, SubPlayItem 요소가 추출되고, 광 디스크(193)에 기록되어 있는 SubPlayItem 요소에, 추출된 SubPlayItem 요소가 가해지도록 파일 시스템이 머지되어 갱신된다.
단계 S245에서, 메타 데이터의 operation_type의 값이 0x03이 아니라고 판단된 경우, 즉, operation_type의 값이 0x04인 경우, 단계 S247에서, 파일 시스템 머지 처리부(203)는, SubClip_entry를 추가하는 SubPlayItem에서, is_multi_Clip_entries(도 45)의 값이 1인지의 여부를 판정한다.
단계 S247에서, is_multi_Clip_entries의 값이 1이 아니라고 판정된 경우, 즉, SubClip_entry를 추가하는 SubPlayItem이, 현재 1개의 SubClip_entry만을 참조하고 있는 경우, 단계 S248에서, 파일 시스템 머지 처리부(203)는, 갱신원의 PlayList 파일 내의 SubClip_entry를 추가하는 SubPlayItem의 is_multi_Clip_entries의 값을 1로 설정한다.
단계 S247에서, is_multi_Clip_entries의 값이 1이라고 판정된 경우, 또는, 단계 S248의 처리의 종료 후, 단계 S249에서, 파일 시스템 머지 처리부(203)는, SubClip_entry를 추가하는 SubPlayItem의 number_of_Clip_entries(도 45)의 값을, 현재의 값으로부터 1 증가시킨다. 즉, SubClip_entry를 추가하는 SubPlayItem이 참조하는 서브 Clip의 수의 설정값이 1씩 증가된다.
그리고, 단계 S250에서, 파일 시스템 머지 처리부(203)는, 광 디스크(193)의 PlayList 파일의 SubPlayItem에, 업데이트 파일의 SubClip_entry가 추가되어 갱신된 제2 가상 파일 시스템을 생성하고, 처리는, 도 69의 단계 S223으로 되돌아가서, 단계 S224로 진행한다. 즉, 업데이트 파일의 메타 데이터의 operation_type의 값이 0x04라고 판정된 경우, 도 45를 이용하여 설명한 SubPlayItem의 is_multi_Clip_entries 및 number_of_Clip_entries의 값이 적절하게 수정된 후, 도 51 및 도 52를 이용하여 설명한 바와 같이, 다운로드된 파일로부터, SubClip_entry 요소가 추출되고, 광 디스크(193)에 기록되어 있는 SubClip_entry 요소에, 추출된 SubClip_entry 요소가 가해지도록 파일 시스템이 머지되어 갱신된다.
이러한 처리에 의해, 메타 데이터의 operation_type의 값에 의해 정해진 방법으로, 광 디스크(193)에 기록되어 있는 데이터와, 로컬 스토리지(24)에 기록되어 있는 데이터가 머지되어, 광 디스크(193)에 기록되어 있는 데이터가, 로컬 스토리지(24)에 기록되어 있는 업데이트 파일의 데이터에 의해 갱신된 것처럼 유저로부터 보이도록, 제2 가상 파일 시스템이 생성된다.
또한, 콘텐츠의 재생을 위한 텍스트 자막 데이터의 로드 방법에는, 상술한 바와 같이, 일괄 프리로드와 부분 로드의 2종류의 방법이 있다. 부분 로드가 실행되는 경우, 텍스트 자막 데이터의 랜덤 액세스를 가능하게 하기 위해서는, 텍스트 자막 데이터에 대응하는 EP_map를 작성할 필요가 있다.
다음으로, 도 71의 플로우차트를 참조하여, 도 68의 단계 S227에서 실행 되는, 콘텐츠 재생 처리2에 대해서 설명한다. 콘텐츠 재생 처리2에서는, 텍스트 자막 데이터를 일괄 프리로드함으로써, 텍스트 자막 데이터의 랜덤 액세스가 가능하도록 이루어져 있다.
단계 S261에서, 재생 제어부(204)는, 디코더(192)를 제어하여, 도 70을 이용하여 설명한 처리에 의해 생성된 제2 가상 파일 시스템의 PlayItem에 의해 지정되는 AV 스트림 데이터를 재생시킨다.
단계 S262 내지 단계 S264에서, 도 37의 단계 S62 내지 단계 S64와 기본적으로 마찬가지의 처리가 실행된다. 즉, 자막 데이터의 표시를 명령하는 조작 입력을 받았는지의 여부가 판단되고, 자막 데이터의 표시를 명령하는 조작 입력을 받았다고 판단된 경우, 유저의 조작 입력에 대응하는 신호가 메뉴 화면 표시 제어부(31)에 공급되어, 표시 장치에 표시 가능한 자막 데이터의 일람 메뉴가 표시되어, 표시시키는 자막 데이터의 언어를 지정하는 조작 입력을 받았는지의 여부가 판단된다. 단계 S264에서, 표시시키는 자막 데이터의 언어를 지정하는 조작 입력을 받지 않았다고 판단된 경우, 처리는, 단계 S263으로 되돌아가서, 그 이후의 처리가 반복된다.
단계 S264에서, 표시시키는 자막 데이터의 언어를 지정하는 조작 입력을 받았다고 판단된 경우, 단계 S265에서, 조작 입력 취득부(32)는, 유저의 조작 입력에 대응하는 신호를 재생 제어부(204)에 공급한다. 재생 제어부(204)는, 로컬 스토리지 디렉토리 관리부(201)를 제어하여, 유저의 조작 입력에 기초하여 지정되는 SubPlayItem에 의해 참조되는 텍스트 서브 타이틀 데이터, 즉, 텍스트 자막 데이터를 디코더(192)의 스토리지 데이터 취득부(218)에 공급시켜, 제어부(214)의 제어에 기초하여, 버퍼(217)에 일괄 프리로드시킴과 함께, 필요에 따라, 유저에 의해 지정된 폰트에 대응하는 폰트 데이터를 판독 출력하게 하여, 디코더(192)의 스토리지 데이터 취득부(218)에 공급시킨다.
단계 S266에서, 도 72 및 도 73을 이용하여 후술하는 자막 표시 처리2가 실행된다.
단계 S267 내지 단계 S269에서, 도 37의 단계 S67 내지 단계 S69와 기본적으로 마찬가지의 처리가 실행된다. 즉, 표시시키는 자막 데이터의 언어의 변경을 명령하는 조작 입력을 받았는지의 여부가 판단되고, 표시시키는 자막 데이터의 언어의 변경을 명령하는 조작 입력을 받았다고 판단된 경우, 처리는, 단계 S265로 되돌아가서, 그 이후의 처리가 반복된다. 또한, 단계 S262에서, 자막 데이터의 표시를 명령하는 조작 입력을 받지 않았다고 판단된 경우, 또는, 단계 S267에서, 표시시키는 자막 데이터의 언어의 변경을 명령하는 조작 입력을 받지 않았다고 판단된 경우, 단계 S268에서, 콘텐츠의 재생의 종료를 명령하는 조작 입력을 받았는지, 또는, 재생 중의 AV 스트림 데이터가 종료되었는지의 여부가 판단되어, 콘텐츠의 재생의 종료를 명령하는 조작 입력을 받지 않고, 또한, 재생 중의 AV 스트림 데이터가 종료되어 있지 않았다고 판단된 경우, 단계 S269에서, 자막의 표시를 중지시키는 조작 입력을 받았는지의 여부가 판단된다. 자막의 표시를 중지시키는 조작 입력을 받지 않았다고 판단된 경우, 처리는, 단계 S266으로 되돌아가서, 그 이후의 처리가 반복되고, 자막의 표시를 중지시키는 조작 입력을 받았다고 판단된 경우, 처리는, 단계 S261로 되돌아가서, 그 이후의 처리가 반복된다.
또한, 단계 S268에서, 콘텐츠의 재생의 종료를 명령하는 조작 입력을 받았거나, 재생 중의 AV 스트림 데이터가 종료되었다고 판단된 경우, 처리는, 도 68의 단계 S227로 되돌아가서, 종료된다.
이러한 처리에 의해, 서버(3)로부터 다운로드되어, 로컬 스토리지(24)에 기억되어 있는 텍스트 자막 파일 중의, 유저가 원하는 언어의 자막에 대응하는 데이터가 랜덤 액세스 가능하게 되어, 광 디스크(193)에 기록되어 있는 콘텐츠의 영상 및 음성에 동기되어 표시됨과 함께, 유저의 조작 입력에 기초하여, 표시되는 자막의 언어를 변경하기 위해, 판독 출력되는 텍스트 자막 파일이 변경된다.
다음으로, 도 72 및 도 73의 플로우차트를 참조하여, 도 71의 단계 S266에서 실행되는 자막 표시 처리2에 대해서 설명한다.
단계 S291에서, 디코더(192)의 제어부(214)는, 랜덤 액세스에서의 디코드 개시 위치를 산출한다. 그리고, 제어부(214)는, 디코드 개시 위치의 산출 결과 에 기초하여, 일괄 프리로드되어, 버퍼(217)에 버퍼링되어 있는 텍스트 서브 타이틀 데이터, 즉, 텍스트 자막 데이터를, 버퍼(219)를 통하여, 텍스트 자막 처리부(220)에 공급한다.
단계 S292에서, 디코더(192)의 텍스트 자막 처리부(220)의 텍스트 데이터 디코더(232)는, STC 처리부(231)의 처리에 의해, Clip AV 스트림이 참조하고 있는 STC와 동일한 STC 카운터의 카운트 및 제어부(214)에 의해 공급되는 Clip AV 스트림의 디코드 동작의 갭 등의 정보에 기초하여, PlayItem 절환에 의해 발생하는 갭을 고려하여 계산된 PTS에 기초하여, 공급된 텍스트 서브 타이틀 데이터를 디코드한다.
단계 S293 내지 단계 S305에서, 도 38 및 도 39의 단계 S92 내지 단계 S104에서 실행된 처리와 기본적으로 마찬가지의 처리가 실행된다. 즉, 텍스트 자막 처리부(220)의 텍스트 데이터 디코더(232)는, 디코드된 텍스트 서브 타이틀 데이터에 포함되는 문자 객체를, 텍스트 자막 처리부(220)의 문자 객체 버퍼(122)에 공급하여, 버퍼링시키고, 텍스트 데이터 디코더(232)는, 디코드된 텍스트 서브 타이틀 데이터에 포함되는 속성 데이터를 텍스트 자막 처리부(220)의 어트리뷰트 데이터 버퍼(123)에 공급하여, 어트리뷰트 데이터 버퍼(123)에 속성 데이터를 버퍼링시킨다.
그리고, 제어부(214)는, 재생 제어부(204)(컨트롤러(191))로부터, 예를 들면, 폰트 사이즈 등의 자막의 속성의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받았는지의 여부를 판단하고, 자막의 속성의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받았다고 판단된 경우, 어트리뷰트 데이터 버퍼(123)에 보유되어 있는 속성 데이터가 변경된다.
단계 S295에서, 자막의 속성의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받지 않았다고 판단된 경우, 또는, 단계 S296의 처리의 종료 후, 문자 객체 버퍼(122) 및 어트리뷰트 데이터 버퍼(123)로부터 문자 객체 및 속성 데이터가 취득되어, 재생 제어부(204)(컨트롤러(191))로부터 폰트 타입의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받았는지의 여부가 판단되며, 폰트 타입의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받았다고 판단된 경우, 재생 제어부(204)의 제어를 받은 로컬 스토리지 디렉토리 관리부(201)(컨트롤러(191))의 처리에 의해, 조작 입력에 기초하여, 다른 폰트 데이터가 로컬 스토리지(24)로부터 판독 출력되어, 다른 폰트 데이터가 취득된다.
단계 S298에서, 폰트 타입의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받지 않았다고 판단된 경우, 또는, 단계 S299의 처리의 종료 후, 취득된 속성 및 북마크 버퍼(125)가 참조되어, 래스터라이즈하고자 하고 있는 자막 데이터는, 북마크되어, 이미 북마크 버퍼(125)에 버퍼링되어 있는 자막 데이터인지의 여부가 판단되고, 북마크되어, 버퍼링되어 있는 자막 데이터라고 판단된 경우, 폰트 래스터라이저(124)에 의해, 북마크 버퍼(125)로부터, 보존되어 있는 북마크 대상의 자막 화상 데이터(래스터 데이터)가 판독 출력되어 출력된다.
그리고, 이미 북마크되어 있는 자막 데이터가 아니라고 판단된 경우, 취득된 문자 객체 및 속성 데이터에 기초하여, 래스터라이즈가 실행되어, 자막 그래픽스 플레인 처리부(93)에 출력되고, 자막 그래픽스 플레인이 생성되어, 합성 처리부(94)에 공급된다. 그리고, 이 속성 데이터에는, 새로운 북마크가 기재되어 있는지의 여부가 판단되며, 북마크가 기재되어 있다고 판단된 경우, 래스터라이즈된 자막 화상 데이터가 북마크 버퍼(125)에 보존된다.
그리고, 합성 처리부(94)에 의해, 공급된 자막 화상 데이터가 영상 데이터와 합성되어 출력되고, 처리는, 도 71의 단계 S266으로 되돌아가서, 단계 S267로 진행한다.
이러한 처리에 의해, 유저가 원하는 언어의 자막 데이터가, 유저가 원하는 속성으로, 유저가 원하는 폰트로 표시되도록, 일괄 프리로드된 텍스트 자막 파일 및 폰트 파일의 데이터의 판독 출력이 제어되고, 필요에 따라서 버퍼링되어 있는 속성 데이터가 변경되어, 래스터라이즈된다.
다음으로, 도 74의 플로우차트를 참조하여, 도 68의 단계 S227에서 실행 되는, 콘텐츠 재생 처리 3에 대해서 설명한다. 콘텐츠 재생 처리 3에서는, 텍스트 자막 데이터는 부분 프리로드되어, 텍스트 자막 스트림에 대응하는 EP_map가 생성됨으로써, 텍스트 자막 데이터의 랜덤 액세스가 가능하도록 이루어져 있다.
단계 S361에서, 재생 제어부(204)는, 디코더(192)를 제어하여, 도 70을 이용하여 설명한 처리에 의해 생성된 제2 가상 파일 시스템의 PlayItem에 의해 지정되는 AV 스트림 데이터를 재생시킨다.
단계 S362 내지 단계 S364에서, 도 37의 단계 S62 내지 단계 S64와 기본적으로 마찬가지의 처리가 실행된다. 즉, 자막 데이터의 표시를 명령하는 조작 입력을 받았는지의 여부가 판단되며, 자막 데이터의 표시를 명령하는 조작 입력을 받았다고 판단된 경우, 유저의 조작 입력에 대응하는 신호가 메뉴 화면 표시 제어부(31)에 공급되어, 표시 장치에 표시 가능한 자막 데이터의 일람 메뉴가 표시되어, 표시시키는 자막 데이터의 언어를 지정하는 조작 입력을 받았는지의 여부가 판단된다. 단계 S364에서, 표시시키는 자막 데이터의 언어를 지정하는 조작 입력을 받지 않았다고 판단된 경우, 처리는, 단계 S363으로 되돌아가서, 그 이후의 처리가 반복된다.
단계 S364에서, 표시시키는 자막 데이터의 언어를 지정하는 조작 입력을 받았다고 판단된 경우, 단계 S365에서, 디코더(192)의 제어부(214)는, 디스크 데이터 취득부(215)로부터, 광 디스크(193)에 기록되어 있는 텍스트 자막 스트림에 대응하는 SubPlayItem_IN_time 및 SubPlayItem_OUT_time 등의 정보의 공급을 받거나, 스토리지 데이터 취득부(218)로부터, 로컬 스토리지(24)에 기록되어 있는 텍스트 자막 스트림에 대응하는 SubPlayItem_IN_time 및 SubPlayItem_OUT_time 등의 정보의 공급을 받아, 도 64를 이용하여 설명한 EP_map와 마찬가지의, 텍스트 자막 스트림의 EP_map를 생성하고, 메모리(216)에 기억시킨다.
단계 S366에서, 조작 입력 취득부(32)는, 유저의 조작 입력에 대응하는 신호를 재생 제어부(204)에 공급한다. 재생 제어부(204)는, 로컬 스토리지 디렉토리 관리부(201)를 제어하여, 유저의 조작 입력에 기초하여 지정되는 SubPlayItem에 의해 참조되는 텍스트 서브 타이틀 데이터, 즉, 텍스트 자막 데이터를 디코더(192)의 스토리지 데이터 취득부(218)에 공급시키고, 제어부(214)의 제어에 기초하여, 버퍼(84)에 버퍼링시키거나, 또는, 스토리지 데이터 기억부(218)의 내부의 버퍼에 버퍼링시킴과 함께, 필요에 따라, 유저에게 지정된 폰트에 대응하는 폰트 데이터를 판독 출력하게 하여, 디코더(192)의 스토리지 데이터 취득부(218)에 공급시킨다.
단계 S367에서, 디코더(192)에 의해, 도 75 및 도 76을 이용하여 후술하는 자막 표시 처리 3이 실행된다.
단계 S368 내지 단계 S370에서, 도 37의 단계 S67 내지 단계 S69와 기본적으로 마찬가지의 처리가 실행된다. 즉, 표시시키는 자막 데이터의 언어의 변경을 명령하는 조작 입력을 받았는지의 여부가 판단되며, 표시시키는 자막 데이터의 언어의 변경을 명령하는 조작 입력을 받았다고 판단된 경우, 처리는, 단계 S365로 되돌아가서, 그 이후의 처리가 반복된다. 또한, 단계 S362에서, 자막 데이터의 표시를 명령하는 조작 입력을 받지 않았다고 판단된 경우, 또는, 단계 S368에서, 표시시키는 자막 데이터의 언어의 변경을 명령하는 조작 입력을 받지 않았다고 판단된 경우, 단계 S369에서, 콘텐츠의 재생의 종료를 명령하는 조작 입력을 받았는지, 또는, 재생 중의 AV 스트림 데이터가 종료되었는지의 여부가 판단되며, 콘텐츠의 재생의 종료를 명령하는 조작 입력을 받지 않고, 또한, 재생 중의 AV 스트림 데이터가 종료되어 있지 않았다고 판단된 경우, 단계 S370에서, 자막의 표시를 중지시키는 조작 입력을 받았는지의 여부가 판단된다. 자막의 표시를 중지시키는 조작 입력을 받지 않았다고 판단된 경우, 처리는, 단계 S367로 되돌아가서, 그 이후의 처리가 반복되며, 자막의 표시를 중지시키는 조작 입력을 받았다고 판단된 경우, 처리는, 단계 S361로 되돌아가서, 그 이후의 처리가 반복된다.
또한, 단계 S369에서, 콘텐츠의 재생의 종료를 명령하는 조작 입력을 받았거나, 재생 중의 AV 스트림 데이터가 종료하였다고 판단된 경우, 처리는, 도 68의 단계 S227로 되돌아가서, 처리가 종료된다.
이러한 처리에 의해, 서버(3)로부터 다운로드되어, 로컬 스토리지(24)에 기억되어 있는 텍스트 자막 스트림에 대응하는 EP_map가 생성되어, 유저가 원하는 언어의 자막에 대응하는 데이터가 랜덤 액세스 가능하게 되어, 광 디스크(193)에 기록되어 있는 콘텐츠의 영상 및 음성에 동기되어 표시됨과 함께, 유저의 조작 입력에 기초하여, 표시되는 자막의 언어를 변경하기 위해, 판독 출력되는 텍스트 자막 파일이 변경된다.
다음으로, 도 75 및 도 76의 플로우차트를 참조하여, 도 74의 단계 S367에서 실행되는 자막 표시 처리 3에 대해서 설명한다.
단계 S391에서, 디코더(192)의 제어부(214)는, 도 74의 단계 S365에서 생성되어, 메모리(216)에 기억된 EP_map를 참조하여, 버퍼(84), 또는, 스토리지 데이터 취득부(218)의 내부의 버퍼에 버퍼링되어 있는 텍스트 서브 타이틀 데이터 즉, 텍스트 자막 데이터를, 버퍼(219)를 통하여, 텍스트 자막 처리부(220)에 공급하고, 텍스트 자막 처리부(220)를 제어하여, 디코드시킨다. 디코더(192)의 텍스트 자막 처리부(220)의 텍스트 데이터 디코더(232)는, STC 처리부(231)의 처리에 의해, Clip AV 스트림이 참조하고 있는 STC와 동일한 STC 카운터의 카운트 및 제어부(214)에 의해 공급되는 Clip AV 스트림의 디코드 동작의 갭 등의 정보에 기초하여, PlayItem 절환에 의해 발생하는 갭을 고려하여 계산된 PTS에 기초하여, 공급된 텍스트 서브 타이틀 데이터를 디코드한다.
단계 S392 내지 단계 S404에서, 도 38 및 도 39의 단계 S92 내지 단계 S104에서 실행된 처리와 기본적으로 마찬가지의 처리가 실행된다. 즉, 텍스트 자막 처리부(220)의 텍스트 데이터 디코더(232)는, 디코드된 텍스트 서브 타이틀 데이터에 포함되는 문자 객체를, 텍스트 자막 처리부(220)의 문자 객체 버퍼(122)에 공급하여, 버퍼링시키고, 텍스트 데이터 디코더(232)는, 디코드된 텍스트 서브 타이틀 데이터에 포함되는 속성 데이터를 텍스트 자막 처리부(220)의 어트리뷰트 데이터 버퍼(123)에 공급하여, 어트리뷰트 데이터 버퍼(123)에 속성 데이터를 버퍼링시킨다.
그리고, 제어부(214)는, 재생 제어부(204)(컨트롤러(191))로부터, 예를 들면, 폰트 사이즈 등의 자막의 속성의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받았는지의 여부를 판단하고, 자막의 속성의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받았다고 판단된 경우, 어트리뷰트 데이터 버퍼(123)에 보유되어 있는 속성 데이터가 변경된다.
단계 S394에서, 자막의 속성의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받지 않았다고 판단된 경우, 또는, 단계 S395의 처리의 종료 후, 문자 객체 버퍼(122) 및 어트리뷰트 데이터 버퍼(123)로부터 문자 객체 및 속성 데이터가 취득되어, 재생 제어부(204)(컨트롤러(191))로부터 폰트 타입의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받았는지의 여부가 판단되고, 폰트 타입의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받았다고 판단된 경우, 재생 제어부(204)의 제어를 받은 로컬 스토리지 디렉토리 관리부(201)(컨트롤러(191))의 처리에 의해, 조작 입력에 기초하여, 다른 폰트 데이터가 로컬 스토리지(24)로부터 판독 출력되어, 다른 폰트 데이터가 취득된다.
단계 S397에서, 폰트 타입의 변경을 명령하는 조작 입력을 나타내는 신호의 입력을 받지 않았다고 판단된 경우, 또는, 단계 S398의 처리의 종료 후, 취득된 속성 및 북마크 버퍼(125)가 참조되어, 래스터라이즈하고자 하고 있는 자막 데이터는, 북마크되어, 이미 북마크 버퍼(125)에 버퍼링되어 있는 자막 데이터인지의 여부가 판단되고, 북마크되어, 버퍼링되어 있는 자막 데이터라고 판단된 경우, 폰트 래스터라이저(124)에 의해, 북마크 버퍼(125)로부터, 보존되어 있는 북마크 대상의 자막 화상 데이터(래스터 데이터)가 판독 출력되어 출력된다.
그리고, 이미 북마크되어 있는 자막 데이터가 아니라고 판단된 경우, 취득된 문자 객체 및 속성 데이터에 기초하여, 래스터라이즈가 실행되어, 자막 그래픽스 플레인 처리부(93)에 출력되고, 자막 그래픽스 플레인이 생성되어, 합성 처리부(94)에 공급된다. 그리고, 이 속성 데이터에는, 새로운 북마크가 기재되어 있는지의 여부가 판단되고, 북마크가 기재되어 있다고 판단된 경우, 래스터라이즈된 자막 화상 데이터가 북마크 버퍼(125)에 보존된다.
그리고, 합성 처리부(94)에 의해, 공급된 자막 화상 데이터가 영상 데이터와 합성되어 출력되고, 처리는, 도 74의 단계 S367로 되돌아가서, 단계 S368로 진행한다.
이러한 처리에 의해, 유저가 원하는 언어의 자막 데이터가, 유저가 원하는 속성으로, 유저가 원하는 폰트로 표시되도록, 일괄 프리로드된 텍스트 자막 파일 및 폰트 파일의 데이터의 판독 출력이 제어되고, 필요에 따라서 버퍼링되어 있는 속성 데이터가 변경되어, 래스터라이즈된다.
이상 설명한 바와 같이, 본 발명의 제2 실시예에서도, 광 디스크에 기록되어 있는 콘텐츠와, 다운로드되어 로컬 스토리지에 기록되어 있는 콘텐츠를 관련시켜 재생할 수 있다. 또한, 광 디스크에 기록되어 있는 콘텐츠와, 로컬 스토리지에 기록되어 있는 콘텐츠를 관련시켜 재생시키기 위한 제2 가상 파일 시스템은, 다운로드되어 로컬 스토리지에 기록되어 있는 아카이브 데이터의 메타 데이터에 포함되는 operation_type에 지정되는 값에 기초하여 생성된다.
또한, 본 발명의 제2 실시예에서, 다운로드되어 로컬 스토리지에 기록되어 있는 콘텐츠는, 재생 시에, 일괄 프리로드되어도 되고, 부분 프리로드되어도 되며, 본 발명을 적용함으로써, 프리로드의 형식에 관계없이, 광 디스크에 기록되어 있는 콘텐츠와, 로컬 스토리지에 기록되어 있는 콘텐츠는, STC를 기준으로 하여, 동기되어 재생되도록 이루어져 있다.
상술한 일련의 처리는, 소프트웨어에 의해 실행할 수도 있다. 그 소프트웨어는, 그 소프트웨어를 구성하는 프로그램이, 전용의 하드웨어에 내장되어 있는 컴퓨터, 또는, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들면 범용의 퍼스널 컴퓨터 등에, 프로그램 저장 매체로부터 인스톨된다.
이 프로그램 저장 매체는, 도 1 또는 도 40에 도시하는 바와 같이, 컴퓨터와는 별도로, 유저에게 프로그램을 제공하기 위해 배포되는, 프로그램이 기록되어 있는 자기 디스크(플렉시블 디스크를 포함함), 광 디스크(CD-ROM(Compact Disk-Read Only Memory), DVD(Digital Versatile Disk)를 포함함), 광 자기 디스크(MD(Mini-Disk)(상표)를 포함함), 혹은 반도체 메모리 등으로 이루어지는 리무버블 미디어(28)에 의해 구성될 뿐만 아니라, 장치 본체에 미리 내장된 상태로 유저에게 제공되는, 프로그램이 기록되어 있는 ROM 또는 RAM 등의 메모리(23)나, 하드디스크 등의 로컬 스토리지(24) 등에 의해 구성된다.
또한, 본 명세서에서, 프로그램 저장 매체에 기록되는 프로그램을 기술하는 단계는, 기재된 순서를 따라 시계열적으로 행하여지는 처리는 물론, 반드시 시계열적으로 처리되지 않더라도, 병렬적 또는 개별로 실행되는 처리도 포함하는 것이다.
또한, 본 명세서에서, 시스템이란, 복수의 장치에 의해 구성되는 장치 전체를 나타내는 것이다.
1 : 재생 장치
11 : 광 디스크
21 : 컨트롤러
22 : 광 디스크 드라이브
23 : 메모리
24 : 로컬 스토리지
26 : 디코더
31 : 메뉴 화면 표시 제어부
32 : 조작 입력 취득부
33 : 데이터 취득부
34 : 로컬 스토리지 디렉토리 관리부
35 : 광 디스크 디렉토리 관리부
66 : 파일 시스템 머지 처리부
37 : 재생 제어부
81 : 제어부
86 : 오디오 디코더
87 : MPEG 비디오 디코더
92 : 텍스트 자막 처리부
93 : 자막 그래픽스 플레인 처리부
94 : 합성 처리부
121 : 텍스트 데이터 버퍼
122 : 문자 객체 버퍼
123 : 어트리뷰트 데이터 버퍼
124 : 폰트 래스터라이저
125 : 북마크 버퍼
181 : 재생 장치
191 : 컨트롤러
192 : 디코더
193 : 광 디스크
201 : 로컬 스토리지 디렉토리 관리부
202 : 광 디스크 디렉토리 관리부
203 : 파일 시스템 머지 처리부
204 : 재생 제어부
211 : STC 카운터
214 : 제어부
215 : 디스크 데이터 취득부
216 : 메모리
217 : 버퍼
218 : 스토리지 데이터 취득부
219 : 버퍼
220 : 텍스트 자막 처리부
231 : STC 처리부
232 : 텍스트 데이터 디코더

Claims (6)

  1. 착탈 가능한 기록 매체에 기록되어 있는 AV 스트림을 재생함과 함께, 상기 AV 스트림에 대응하는 자막을 표시시키기 위한 자막 데이터를 생성하는 재생 장치로서,
    상기 자막을 표시하기 위한 문자 객체 및 속성 데이터를 포함하는 제1 정보의, 상기 기록 매체, 또는, 상기 재생 장치 내부의 기억부로부터의 판독 출력을 제어하는 판독 출력 제어 수단과,
    상기 판독 출력 제어 수단에 의해 판독 출력이 제어된 상기 제1 정보에 포함되는 상기 문자 객체를 보유하는 문자 객체 보유 수단과,
    상기 판독 출력 제어 수단에 의해 판독 출력이 제어된 상기 제1 정보에 포함되는 상기 속성 데이터를 보유하는 속성 데이터 보유 수단과,
    폰트 데이터를 취득하고, 상기 문자 객체 보유 수단에 의해 보유된 상기 문자 객체를, 상기 속성 데이터 보유 수단에 의해 보유된 상기 속성 데이터 및 상기 폰트 데이터를 이용하여 자막 데이터로 변환하는 변환 수단과,
    네트워크를 통하여, 소정의 정보 처리 장치와 정보를 수수하는 통신 수단을 포함하고,
    상기 재생 장치 내부의 상기 기억부에는 상기 통신 수단에 의해 수신된 상기 제1 정보가 기억되는 것을 특징으로 하는 재생 장치.
  2. 제1항에 있어서,
    상기 기록 매체에 기억되어 있는 제1 데이터군의 파일 시스템과, 상기 재생 장치 내부의 상기 기억부에 기억되어 있는 제2 데이터군의 파일 시스템에 기초하여, 상기 제1 데이터군 및 상기 제2 데이터군의 각각의 적어도 일부를 포함하는 가상적인 파일 시스템을 생성하는 가상 파일 시스템 생성 수단을 더 포함하는 것을 특징으로 하는 재생 장치.
  3. 제2항에 있어서,
    상기 재생 장치 내부의 상기 기억부에 기억되어 있는 상기 제1 정보에는 상기 가상적인 파일 시스템의 생성에 관한 제2 정보가 포함되며,
    상기 판독 출력 제어 수단은 상기 재생 장치 내부의 상기 기억부에 기억되어 있는 상기 제2 정보의 판독 출력을 더 제어하고,
    상기 가상 파일 시스템 생성 수단은 상기 판독 출력 제어 수단에 의해 판독 출력이 제어된 상기 제2 정보에 기초하여 상기 가상적인 파일 시스템을 생성하는 것을 특징으로 하는 재생 장치.
  4. 착탈 가능한 기록 매체에 기록되어 있는 AV 스트림을 재생함과 함께, 상기 AV 스트림에 대응하는 자막을 표시시키기 위한 자막 데이터를 생성하는 재생 장치의 재생 방법으로서,
    상기 자막을 표시하기 위한 문자 객체 및 속성 데이터를 포함하는 제1 정보의, 상기 기록 매체, 또는, 상기 재생 장치 내부의 기억부로부터의 판독 출력을 제어하는 판독 출력 제어 단계와,
    상기 판독 출력 제어 단계에서 판독 출력이 제어된 상기 제1 정보에 포함되는 상기 문자 객체를 보유하는 문자 객체 보유 단계와,
    상기 판독 출력 제어 단계에서 판독 출력이 제어된 상기 제1 정보에 포함되는 상기 속성 데이터를 보유하는 속성 데이터 보유 단계와,
    폰트 데이터를 취득하고, 상기 문자 객체 보유 단계에서 보유된 상기 문자 객체를, 상기 속성 데이터 보유 단계에서 보유된 상기 속성 데이터 및 상기 폰트 데이터를 이용하여 자막 데이터로 변환하는 변환 단계와,
    네트워크를 통하여, 소정의 정보 처리 장치와 정보를 수수하는 통신 단계를 포함하고,
    상기 재생 장치 내부의 상기 기억부에는 상기 통신 단계에서 수신된 상기 제1 정보가 기억되는 것을 특징으로 하는 재생 방법.
  5. 제4항에 있어서,
    상기 기록 매체에 기억되어 있는 제1 데이터군의 파일 시스템과, 상기 재생 장치 내부의 상기 기억부에 기억되어 있는 제2 데이터군의 파일 시스템에 기초하여, 상기 제1 데이터군 및 상기 제2 데이터군의 각각의 적어도 일부를 포함하는 가상적인 파일 시스템을 생성하는 가상 파일 시스템 생성 단계를 더 포함하는 것을 특징으로 하는 재생 방법.
  6. 제5항에 있어서,
    상기 재생 장치 내부의 상기 기억부에 기억되어 있는 상기 제1 정보에는 상기 가상적인 파일 시스템의 생성에 관한 제2 정보가 포함되며,
    상기 판독 출력 제어 단계에서는 상기 재생 장치 내부의 상기 기억부에 기억되어 있는 상기 제2 정보의 판독 출력을 더 제어하고,
    상기 가상 파일 시스템 생성 단계에서는 상기 판독 출력 제어 단계에서 판독 출력이 제어된 상기 제2 정보에 기초하여 상기 가상적인 파일 시스템을 생성하는 것을 특징으로 하는 재생 방법.
KR1020117019375A 2004-02-16 2005-02-15 재생 장치 및 재생 방법 KR101226884B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JPJP-P-2004-038573 2004-02-16
JP2004038573 2004-02-16
JP2004204875A JP5119566B2 (ja) 2004-02-16 2004-07-12 再生装置および再生方法、プログラム記録媒体、並びにプログラム
JPJP-P-2004-204875 2004-07-12
PCT/JP2005/002232 WO2005079063A1 (ja) 2004-02-16 2005-02-15 再生装置および再生方法、プログラム格納媒体、並びにプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020067016321A Division KR101122382B1 (ko) 2004-02-16 2005-02-15 재생 장치 및 재생 방법

Publications (2)

Publication Number Publication Date
KR20110110337A true KR20110110337A (ko) 2011-10-06
KR101226884B1 KR101226884B1 (ko) 2013-01-25

Family

ID=34863471

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020117019375A KR101226884B1 (ko) 2004-02-16 2005-02-15 재생 장치 및 재생 방법
KR1020117019377A KR101226775B1 (ko) 2004-02-16 2005-02-15 재생 장치 및 재생 방법
KR1020117019372A KR101161530B1 (ko) 2004-02-16 2005-02-15 재생 장치 및 재생 방법
KR1020117019373A KR101161529B1 (ko) 2004-02-16 2005-02-15 재생 장치 및 재생 방법
KR1020067016321A KR101122382B1 (ko) 2004-02-16 2005-02-15 재생 장치 및 재생 방법

Family Applications After (4)

Application Number Title Priority Date Filing Date
KR1020117019377A KR101226775B1 (ko) 2004-02-16 2005-02-15 재생 장치 및 재생 방법
KR1020117019372A KR101161530B1 (ko) 2004-02-16 2005-02-15 재생 장치 및 재생 방법
KR1020117019373A KR101161529B1 (ko) 2004-02-16 2005-02-15 재생 장치 및 재생 방법
KR1020067016321A KR101122382B1 (ko) 2004-02-16 2005-02-15 재생 장치 및 재생 방법

Country Status (6)

Country Link
US (2) US7805058B2 (ko)
EP (1) EP1718074A4 (ko)
JP (1) JP5119566B2 (ko)
KR (5) KR101226884B1 (ko)
CN (1) CN102523457B (ko)
WO (1) WO2005079063A1 (ko)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101826363B (zh) * 2003-11-10 2012-11-28 松下电器产业株式会社 记录介质,播放装置,程序,播放方法,系统集成电路
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
WO2006009221A1 (ja) 2004-07-22 2006-01-26 Matsushita Electric Industrial Co., Ltd. 再生装置、再生方法、プログラム及びコンピュータ読取可能な記録媒体
US7613384B2 (en) 2004-08-17 2009-11-03 Lg Electronics Inc. Method for configuring composite file structure for data reproduction, and method and apparatus for reproducing data using the composite file structure
US7609939B2 (en) 2004-08-17 2009-10-27 Lg Electronics Inc. Method and apparatus of reproducing data recorded on recording medium and local storage
US7609945B2 (en) 2004-08-17 2009-10-27 Lg Electronics Inc. Recording medium, and method and apparatus for reproducing data from the recording medium
WO2006019259A1 (en) 2004-08-17 2006-02-23 Lg Electronics Inc. Method and apparatus of reproducing data recorded on recording medium and local storage
US7725010B2 (en) 2004-08-17 2010-05-25 Lg Electronics, Inc. Method and apparatus of reproducing data recorded on recording medium and local storage
EP1789958A4 (en) * 2004-09-13 2009-12-09 Lg Electronics Inc METHOD AND DEVICE FOR REPRODUCING DATA RECORDED IN A RECORDING MEDIUM USING A LOCAL STORAGE
WO2006031054A2 (en) * 2004-09-13 2006-03-23 Lg Electronics Inc. Method and apapratus for reproducing data from recording medium using local storage
US7599611B2 (en) 2004-09-13 2009-10-06 Lg Electronics Co. Recording medium, and method and apparatus of reproducing data recorded on the same
US8473475B2 (en) * 2004-09-15 2013-06-25 Samsung Electronics Co., Ltd. Information storage medium for storing metadata supporting multiple languages, and systems and methods of processing metadata
KR20060047549A (ko) 2004-10-12 2006-05-18 엘지전자 주식회사 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치
KR20060063601A (ko) 2004-12-03 2006-06-12 엘지전자 주식회사 로컬 스토리지에 데이터를 다운로드/업데이트 하는 방법 및장치
CN101057286B (zh) 2004-11-08 2010-04-07 Lg电子株式会社 利用本地存储器从记录介质中再现出数据的方法和装置
EP1817773A4 (en) * 2004-12-03 2009-12-23 Lg Electronics Inc METHOD AND APPARATUS FOR REPRODUCING DATA FROM A RECORDING MEDIUM USING LOCAL MEMORY
KR20060065476A (ko) 2004-12-10 2006-06-14 엘지전자 주식회사 기록매체, 기록매체 내의 콘텐츠 서치방법 및 기록매체재생방법과 재생장치
KR20060081323A (ko) 2005-01-07 2006-07-12 엘지전자 주식회사 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치
KR100656207B1 (ko) * 2005-03-14 2006-12-13 삼성전자주식회사 ―vr포맷에서 북마크를 이용해 자동으로 재생목록을 생성하는 것이 가능한 영상 기록/재생 장치 및 그 재생목록 생성방법
KR101267956B1 (ko) * 2005-03-18 2013-05-27 소니 가부시끼가이샤 정보 처리 장치 및 정보 처리 방법과 컴퓨터 판독가능한 기록 매체
JP4715278B2 (ja) 2005-04-11 2011-07-06 ソニー株式会社 情報処理装置および情報処理方法、プログラム格納媒体、プログラム、並びに提供装置
US20070106516A1 (en) * 2005-11-10 2007-05-10 International Business Machines Corporation Creating alternative audio via closed caption data
JP4687424B2 (ja) * 2005-11-25 2011-05-25 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
BRPI0619181B1 (pt) 2005-11-29 2020-10-06 Pioneer Corporation Aparelho e método de reprodução de informações
JP2007179591A (ja) * 2005-12-26 2007-07-12 Toshiba Corp 動画像再生装置
WO2007106844A2 (en) 2006-03-14 2007-09-20 Divx, Inc. Federated digital rights management scheme including trusted systems
JP2007281537A (ja) * 2006-04-03 2007-10-25 Hitachi Ltd 録画再生装置及び録画再生装置を含むテレビジョン受信機
DK2418594T3 (en) * 2006-11-10 2015-08-24 United Video Properties Inc Visualization and grouping method of maintaining the order of the assets in a playlist.
US20080115173A1 (en) 2006-11-10 2008-05-15 Guideworks Llc Systems and methods for using playlists
JP5100746B2 (ja) 2007-03-22 2012-12-19 三菱電機株式会社 映像再生装置および映像再生方法
JP2008283518A (ja) * 2007-05-11 2008-11-20 Ricoh Co Ltd 通信装置およびその制御方法
JP4349441B2 (ja) * 2007-06-12 2009-10-21 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
WO2009065137A1 (en) 2007-11-16 2009-05-22 Divx, Inc. Hierarchical and reduced index structures for multimedia files
EP2242263A1 (en) * 2008-02-14 2010-10-20 Panasonic Corporation Reproduction device, integrated circuit, reproduction method, program, and computer-readable recording medium
EP2257931A4 (en) * 2008-06-06 2011-03-16 Divx Inc SYSTEMS AND METHOD FOR WRITING FILES OPTIMIZATION FOR MULTIMEDIA FILES
JP4577409B2 (ja) * 2008-06-10 2010-11-10 ソニー株式会社 再生装置、再生方法、プログラム、及び、データ構造
US8510303B2 (en) 2009-01-07 2013-08-13 Divx, Llc Singular, collective and automated creation of a media guide for online content
US9319444B2 (en) 2009-06-22 2016-04-19 Monotype Imaging Inc. Font data streaming
WO2011023134A1 (en) 2009-08-28 2011-03-03 Beijing Innovation Works Technology Company Limited Method and system for managing distributed storage system through virtual file system
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
US8615709B2 (en) 2010-04-29 2013-12-24 Monotype Imaging Inc. Initiating font subsets
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
KR102163151B1 (ko) 2011-08-30 2020-10-08 디빅스, 엘엘씨 복수의 최대 비트레이트 레벨들을 사용하여 인코딩된 비디오를 인코딩하고 스트리밍하기 위한 시스템들 및 방법들
US8818171B2 (en) 2011-08-30 2014-08-26 Kourosh Soroushian Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
WO2013122909A1 (en) * 2012-02-13 2013-08-22 Ortsbo, Inc. Real time closed captioning language translation
US20130215126A1 (en) * 2012-02-17 2013-08-22 Monotype Imaging Inc. Managing Font Distribution
US10452715B2 (en) 2012-06-30 2019-10-22 Divx, Llc Systems and methods for compressing geotagged video
CN102843603A (zh) * 2012-08-17 2012-12-26 Tcl集团股份有限公司 一种智能电视及其字幕控制的方法
US9817615B2 (en) 2012-12-03 2017-11-14 Monotype Imaging Inc. Network based font management for imaging devices
US9569865B2 (en) 2012-12-21 2017-02-14 Monotype Imaging Inc. Supporting color fonts
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
EP2943894A2 (en) 2013-01-09 2015-11-18 Monotype Imaging Inc. Advanced text editor
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US10283013B2 (en) * 2013-05-13 2019-05-07 Mango IP Holdings, LLC System and method for language learning through film
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
CN104424192A (zh) * 2013-08-20 2015-03-18 北大方正集团有限公司 形成多字型字库、通过该字库显示不同字型的方法及装置
US9317777B2 (en) 2013-10-04 2016-04-19 Monotype Imaging Inc. Analyzing font similarity for presentation
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US9691169B2 (en) 2014-05-29 2017-06-27 Monotype Imaging Inc. Compact font hinting
JP6618246B2 (ja) 2014-09-30 2019-12-11 キヤノン株式会社 情報処理装置、表示方法、及びコンピュータプログラム
US10542233B2 (en) * 2014-10-22 2020-01-21 Genetec Inc. System to dispatch video decoding to dedicated hardware resources
WO2016132482A1 (ja) * 2015-02-18 2016-08-25 三菱電機株式会社 再生装置及び再生方法
CN106156032B (zh) * 2015-03-25 2020-01-17 北京奇虎科技有限公司 清理文件的识别方法及装置
US10115215B2 (en) 2015-04-17 2018-10-30 Monotype Imaging Inc. Pairing fonts for presentation
US11537262B1 (en) 2015-07-21 2022-12-27 Monotype Imaging Inc. Using attributes for font recommendations
JP6812141B2 (ja) * 2016-05-31 2021-01-13 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
CA3028354C (en) * 2016-07-05 2021-02-16 Sharp Kabushiki Kaisha Systems and methods for communicating user settings in conjunction with execution of an application
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
US11805293B2 (en) 2017-03-29 2023-10-31 Samsung Electronics Co., Ltd. Device and method for transmitting and receiving signal in multimedia system
US11334750B2 (en) 2017-09-07 2022-05-17 Monotype Imaging Inc. Using attributes for predicting imagery performance
US10909429B2 (en) 2017-09-27 2021-02-02 Monotype Imaging Inc. Using attributes for identifying imagery for selection
WO2019089578A1 (en) 2017-10-30 2019-05-09 Monotype Imaging Inc. Font identification from imagery
CN108989876B (zh) * 2018-07-27 2021-07-30 青岛海信传媒网络技术有限公司 一种字幕显示的方法及装置
US20200118593A1 (en) * 2018-10-16 2020-04-16 Vudu Inc. Systems and methods for identifying scene changes in video files
CN115657900B (zh) * 2022-07-15 2023-09-22 内蒙古师范大学 基于自动翻译及文本转换的多文种私章定制方法与装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01280853A (ja) * 1988-03-03 1989-11-13 Fujitsu Ltd 端末コンピユータ
JPH04122659A (ja) 1990-09-14 1992-04-23 Seikosha Co Ltd プリンタのフォント制御装置
JPH04332918A (ja) * 1991-05-02 1992-11-19 Yamaha Corp Cd再生装置の文字表示回路およびcdの情報配置方法
JPH0890864A (ja) 1994-09-20 1996-04-09 Casio Comput Co Ltd 印刷装置
CN1104725C (zh) * 1995-11-24 2003-04-02 株式会社东芝 多种语言记录介质的再现装置
JPH10117332A (ja) * 1996-10-11 1998-05-06 Toshiba Corp マルチネットワークテレビジョン装置
WO2001018811A1 (fr) * 1999-09-09 2001-03-15 Sony Corporation Dispositif et procede d'enregistrement/lecture de donnees
JP4122659B2 (ja) 1999-10-18 2008-07-23 ソニー株式会社 発振信号生成装置及び発振信号生成方法
JP2001186454A (ja) * 1999-12-24 2001-07-06 Matsushita Electric Ind Co Ltd 光ディスク再生装置
JP2002236479A (ja) * 2001-02-08 2002-08-23 Aiwa Co Ltd 集積回路
KR20030007706A (ko) * 2001-04-02 2003-01-23 마츠시타 덴끼 산교 가부시키가이샤 디지털 영상 콘텐츠의 영상재생 장치, 영상재생 방법,영상재생 프로그램, 패키지 미디어
JP2002369154A (ja) * 2001-04-02 2002-12-20 Matsushita Electric Ind Co Ltd ディジタル映像コンテンツの映像再生装置、映像再生方法、映像再生プログラム、パッケージメディア
US20040081434A1 (en) 2002-10-15 2004-04-29 Samsung Electronics Co., Ltd. Information storage medium containing subtitle data for multiple languages using text data and downloadable fonts and apparatus therefor
JP3840183B2 (ja) * 2003-01-10 2006-11-01 株式会社東芝 情報再生装置及び情報再生方法
JP4165895B2 (ja) * 2003-01-20 2008-10-15 エルジー エレクトロニクス インコーポレーテッド 記録された静止映像の再生を管理するためのデータ構造を有する記録媒体、それによる記録と再生の方法及び装置
JP4534501B2 (ja) * 2004-01-30 2010-09-01 株式会社日立製作所 映像再生装置および記録媒体
CN1922869B (zh) * 2004-02-16 2012-02-08 索尼株式会社 重放装置以及重放方法
JP4715278B2 (ja) 2005-04-11 2011-07-06 ソニー株式会社 情報処理装置および情報処理方法、プログラム格納媒体、プログラム、並びに提供装置

Also Published As

Publication number Publication date
JP5119566B2 (ja) 2013-01-16
KR20110110336A (ko) 2011-10-06
KR101161530B1 (ko) 2012-07-02
US7805058B2 (en) 2010-09-28
US8615158B2 (en) 2013-12-24
KR20110110335A (ko) 2011-10-06
KR20060123546A (ko) 2006-12-01
KR101122382B1 (ko) 2012-04-12
EP1718074A4 (en) 2012-02-15
KR101226884B1 (ko) 2013-01-25
KR20110110338A (ko) 2011-10-06
KR101226775B1 (ko) 2013-01-25
CN102523457A (zh) 2012-06-27
CN102523457B (zh) 2015-05-20
KR101161529B1 (ko) 2012-07-02
US20100310228A1 (en) 2010-12-09
JP2005269595A (ja) 2005-09-29
EP1718074A1 (en) 2006-11-02
US20070172199A1 (en) 2007-07-26
WO2005079063A1 (ja) 2005-08-25

Similar Documents

Publication Publication Date Title
KR101161529B1 (ko) 재생 장치 및 재생 방법
US7982802B2 (en) Text subtitle decoder and method for decoding text subtitle streams
KR101383290B1 (ko) 정보 처리 장치, 정보 처리 방법 및 데이터가 기록된 기록 매체
KR20070028325A (ko) 텍스트 서브타이틀 디코더 및 텍스트 서브타이틀 스트림디코딩 방법
US20060146660A1 (en) Optical disc, reproducing device, program, reproducing method, recording method
US8208782B2 (en) Recording device, recording method, and recording program
JP4626799B2 (ja) 再生装置および方法、情報提供装置および方法、データ、記録媒体、並びにプログラム
US8145033B2 (en) Recording medium having data structure for managing reproducton duration of still pictures recorded thereon and recording and reproducing methods and apparatuses
JP5120484B2 (ja) 再生装置および再生方法、プログラム記録媒体、並びにプログラム
EP1751757A2 (en) Recording medium having a data structure for managing reproduction of text subtitle data and methods and apparatuses associated therewith
CA2516041C (en) Recording medium having data structure for managing reproduction duration of still pictures recorded thereon and recording and reproducing methods and apparatuses

Legal Events

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