JPWO2005124779A1 - 再生装置、プログラム、再生方法 - Google Patents

再生装置、プログラム、再生方法 Download PDF

Info

Publication number
JPWO2005124779A1
JPWO2005124779A1 JP2006514805A JP2006514805A JPWO2005124779A1 JP WO2005124779 A1 JPWO2005124779 A1 JP WO2005124779A1 JP 2006514805 A JP2006514805 A JP 2006514805A JP 2006514805 A JP2006514805 A JP 2006514805A JP WO2005124779 A1 JPWO2005124779 A1 JP WO2005124779A1
Authority
JP
Japan
Prior art keywords
stream
text subtitle
language
information
playback
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2006514805A
Other languages
English (en)
Other versions
JP3996625B2 (ja
Inventor
航 池田
航 池田
岡田 智之
智之 岡田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Application granted granted Critical
Publication of JP3996625B2 publication Critical patent/JP3996625B2/ja
Publication of JPWO2005124779A1 publication Critical patent/JPWO2005124779A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42646Internal components of the client ; Characteristics thereof for reading from or writing on a non-volatile solid state storage medium, e.g. DVD, CD-ROM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • 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/11Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
    • 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]
    • 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/34Indicating arrangements 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles
    • 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
    • H04N7/087Systems 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 with signal insertion during the vertical blanking interval only
    • H04N7/088Systems 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 with signal insertion during the vertical blanking interval only the inserted signal being digital
    • H04N7/0882Systems 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 with signal insertion during the vertical blanking interval only the inserted signal being digital for the transmission of character code signals, e.g. for teletext
    • 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/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
    • 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/8233Transformation 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 a character code signal
    • 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/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • 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

Abstract

BD−ROM再生装置は、複数テキスト字幕ストリームのうち1つを選択して、選択したテキスト字幕ストリームを、動画と共に再生する装置である。PSR48〜61は、複数のDecode Capabilityフラグを記憶しており、各フラグの設定値にて、言語毎のテキスト字幕のデコード能力の有無を表している。Procedure実行部20は、PSR48〜61における各フラグの設定値を参照して、複数のテキスト字幕ストリームのそれぞれを表示することができるか否かを判定する。ストリーム選択部17は、表示できると判定されたテキスト字幕ストリームを選択する。

Description

本発明は、テキスト字幕表示技術の技術分野に属する発明である。
テキスト字幕表示とは、テキストコードで表現された字幕を、映画における個々のピクチャと同期して表示させる技術であり、BD−ROM(Blu−rayDisc Read Only Memory)再生装置の特有の技術の1つである。字幕の表現には、DVDで実現されているような、ビットマップによる表現と、文字コードによる表現とがある。字幕がビットマップで表現されれば、どの再生装置で再生しても、見栄えは同じになる。見た目を重視する映画作品の場合は、字幕をビットマップで表現することに大きな意味はある。その一方、ビットマップによる表現では、字幕の一文字一文字を作成せねばならないので、ほんの数文字、数行の字幕を記録媒体に記録するためにも、大きなデータサイズが必要となる。
BD−ROMは、DVDより大容量の記録媒体であるため、字幕をビットマップで表現して、ビデオストリームと多重しておいても差し支えない。しかし字幕をBD−ROMとは別に配布する場合、たとえば、ネットワークを通じたダウンロードや、メモリカードを介して再生装置に供給する場合、字幕のデータサイズがあまり大きくなってしまうのは望ましくない。BD−ROMに記録し得たとしても、メモリに字幕を常駐させておくために大規模なメモリを必要としたり、またダウンロードに長い時間がかかるので、データサイズは小さければ小さい方がよい。
これに対しテキスト字幕では、字幕が文字コードで表現されている。具体的にいうと、字幕一文字当たりの情報量は、ASCIIコードなどでは、1バイトになるし、JISコードなどでも、2バイトになる。汎用的な文字コードとしてUnicodeなどを用いれば、日本語の他に、中国語や韓国語といった複雑な文字体系もサポートすることが可能である。字幕を文字コードとして配布する場合、データのサイズは非常に小さくなり、インターネットを通じて配布するような場合には非常に有効になる。こうした事情から、今後普及するであろうBD−ROM再生装置は、テキスト字幕の表示機能を搭載する予定である。
かかるテキスト字幕の表示にあたってBD−ROM再生装置は、フォントを用いて、字幕を構成するコードを、ビットマップに展開し、このビットマップを、ビデオストリームにおける個々のピクチャと同期して表示するよう制御を行う。
尚、テキスト字幕の表示技術に関しては、以下の特許文献に示される先行技術がある。
特開2000−228656号公報
ところで、テキスト字幕として表示が予定されている言語の種類は、430言語に及ぶといわれている。これら430種類もの言語のテキスト字幕を、再生できるかどうかは、言語特性のサポートが存在するかによって変わる。日本語の“縦書き”という特性をサポートする場合を例にとって考えてみると、単に字幕の文字を縦方向に並べただけでは足りず、その縦書き表示に伴う、修正を施す必要がある。具体的にいうなら、括弧の形や文字の位置、長音の形を、横書き時とは異なる、独特なものにしておく必要がある。
ある言語での字幕表示が要求された場合、再生装置側に、その言語のフォントをレンタリングする能力がない場合、又は、フォントのレンタリングはあるが、言語特性のサポートする能力がないような場合は、字幕が文字化けして現れたり、またテキスト字幕が表示されたとしても、その言語の習熟者から見て、不自然な態様で、テキスト字幕が表示されることがありうる。
パソコンソフトの業界では、このような不都合な表示ななされたとしても、“よくあること”で済まされるかもしれない。WWWサイト閲覧ソフトでは、かかる表示が多々みられる。しかし民生機器の分野では、パソコンソフトの業界とは比べ物にならない、厳しい品質管理が要求されるため、文字化けや不自然な態様での表示を回避したいとの要望がすこぶる強い。しかしながらテキスト字幕の言語種は430言語にも及ぶので、文字化けや不自然な態様での表示が存在するか否かを、それぞれの言語について精査するというのは、再生装置を製造するメーカーにとって重荷になってしまう。
本発明の目的は、表示が予定されている言語が何百種類に及ぶ場合であっても、ユーザが表示を希望する言語での、字幕表示の可能性を即座に判定することができる再生装置を提供することである。
上記目的を達成するため、本発明に係る再生装置は、複数テキスト字幕ストリームのうち1つを選択して、選択したテキスト字幕ストリームを、動画と共に再生するものであり、複数のフラグを記憶しており、各フラグの設定値にて、言語毎のテキスト字幕のデコード能力の有無を表すレジスタセットと、レジスタセットにおける各フラグの設定値を参照することにより、複数のテキスト字幕ストリームのそれぞれをデコードできるか否かを判定する判定手段と、デコードできると判定されたテキスト字幕ストリームを選択する選択手段とを備えることを特徴としている。
レジスタセットには、テキスト字幕をデコードすることができる能力の有無が、言語毎に示されているので、ユーザがある言語でのテキスト字幕表示を希望した場合、その言語でのテキスト字幕表示の可能性の有無を、レジスタセットにおける各ビットの設定値を参照することにより、即座に判定することができる。
各ビットの設定値を参照するだけで、何れかの言語でのテキスト字幕の表示可能性の有無を判定することができるので、たとえ、テキスト字幕の言語種が何百言語に及んだとしても、所望の言語での、字幕表示の可能性を即座に判定することができる。
[図1]本発明に係る再生装置の、使用行為についての形態を示す図である。
[図2]BD−ROMの内部構成を示す図である。
[図3]拡張子.m2tsが付与されたファイルがどのように構成されているかを模式的に示す図である。
[図4]プレイリスト情報のデータ構造を示す図である。
[図5]AVClipと、PLとの関係を示す図である。
[図6]Subpath情報の内部構成をクローズアップして示す図である。
[図7]SubPlayItem時間軸上の再生区間定義と、同期指定を示す図である。
[図8](a)STN_tableの内部構成を示す図である。
(b)PGストリームに対応したentry−attributeの組みを示す図である。(c)テキスト字幕ストリームに対応したentry−attributeの組みを示す図である。
[図9]第1実施形態で取り上げるAVClipの一例を示す図である。
[図10]第1実施形態で取り上げる、PlayList情報の一例を示す図である。
[図11]図10に示したPlayList情報により規定されるデジタルストリームの束を示す図である。
[図12]は、第1実施形態に係る再生装置の内部構成を示す図である。
[図13]ローカルストレージに格納されたPlayList情報により、どのようなPlayList再生時間軸が定義されるかを示す図である。
[図14]ビデオエンコーダのデコードによるデコード結果と、ストリーム選択部17による選択結果とを、図12の内部構成に書き加えた図である。
[図15]PSR2、PSR17、PSR30、PSR48〜61の詳細設定を示すである。
[図16]PSR48〜61の内部構成を示す図である。
[図17]PSR48〜61におけるDecode Capabilityフラグと、textST_language_codeとの対応を示す図である。
[図18]PSR48〜61のうち、PSR53の内容を示す図である。
[図19]textST_language_codeの意味内容を示す図である。
[図20]第1実施形態におけるストリーム選択部17の特徴部分を示す図である。
[図21]PSR48〜61におけるPSR番号及びビット位置と、textST_language_codeとの対応関係を示す図である。
[図22]Procedure when playback condition is changedの処理手順を示すフローチャートである。
[図23]ストリーム変化時における設定手順を示すフローチャートである。
[図24]PSR2の設定手順を示すフローチャートである。
[図25]テキスト字幕ストリームのDecode Capabilityの有無を判定するにあたっての判定手順を示すフローチャートである。
[図26](a)〜(c)テキスト字幕ストリーム選択の具体例を示す図である。
[図27](a)〜(c)テキスト字幕ストリーム選択の具体例を示す図である。
[図28]制御部による再生手順を示すフローチャートである。
[図29]テキスト字幕ストリームの内部構成を示す図である。
[図30](a)スタイル情報,表示情報の設定例を示す図である。
(b)(a)のテキスト字幕ストリームから表示される合成画像を示す図である。
[図31]SubPlayItem#yに基づく再生処理を示すフローチャートである。
[図32]TextSTデコーダ12の内部構成を示す図である。
[図33](a)日本語の言語特性によるレイアウトの違いについて説明した図である。
(b)アラビア語の言語特性におけるレイアウトを示す。
[図34]日本語、英語、アラビア語という3つの言語のDecode Capabilityを設定するにあたっての、判断基準を示す図である。
[図35](a)(b)縦書き項目が完全にサポートされている日本語字幕と、縦書き項目のサポートが不完全な日本語字幕とを示す図である。
[図36]第3実施形態に係る、再生装置の内部構成を示す図である。
[図37]第3実施形態におけるPSR30のb23〜b16のビットアサインを示す図である。
[図38]PSRの予約領域におけるビット構成を示す図である。
[図39](a)(b)言語種の拡張をユーザが意図した際、表示されるメニューを示す図である。
[図40]第3実施形態におけるテキスト字幕ストリームの判定手順を示すフローチャートである。
[図41]各言語毎のDecode Capabilityの判定手順を示すフローチャートである。
[図42]セットアップ部32の処理手順を示すフローチャートである。
[図43](a)(b)アンサポート言語の表示をユーザが希望していない場合と、希望した場合とで、Decode Capabilityの設定を対比して示す図である。
[図44]第4実施形態に係るセットアップ部32の処理手順を示すフローチャートである。
[図45]ローダ13によるバッファへのプリロードを示す図である。
[図46]ストリーム選択部17による非プリロードのテキスト字幕ストリームの選択を示す図である。
[図47]AVClipの再生中において、非プリロードのテキスト字幕ストリームをユーザが選択した場合に、ローダ13が実行するロード処理を模式的に示す図である。
[図48](a)AVClipの記録領域から、テキスト字幕ストリームの記録領域へのシーク、テキスト字幕ストリーム記録記録から、AVClip記録領域へのシークを示す図である。
(b)デコーダへのAVClip供給が途絶えることによる、AVClipの再生の途切れを示す図である。
[図49]第5実施形態に係る再生装置の内部構成を示す図である。
[図50]PSRの予約領域に設けられたシームレスフラグの一例を示す図である。
[図51](a)AVClipに多重されているPGストリーム、プリロードされているテキスト字幕ストリーム、プリロードされていないテキスト字幕ストリームが、記述されたSTN_Tableを示す図である。
(b)シームレスフラグがオンに設定されている場合の状態遷移を示す図である。
(c)シームレスフラグがオンに設定されている場合の状態遷移を示す図である。
[図52](a)本実施形態において表示されるセットアップメニューを示す図である。(b)言語種の拡張をユーザが意図した際、表示されるメニューを示す図である。
[図53]第5実施形態に係る、選択手順を示すフローチャートである。
[図54]図52のステップS66の処理を詳細に示したフローチャートである。
[図55]セットアップ部32の処理手順を示すフローチャートである。
[図56](a)第6実施形態におけるSTN_Tableの内部構成を示す図である。
(b)STN_Tableに設けられたシームレスフラグの内容を示す。
[図57]フォントデータロードによる映像再生の途切れを示す図である。
[図58]本実施形態における記録媒体の内部構成を示す図である。
[図59]第6実施形態におけるローダ13によるロード処理を示す図である。
[図60](a)第7実施形態における記録媒体のディレクトリ構造を示す。
(b)ファイル管理情報の内部構成を示す。
[図61]必須と記述されているフォントデータがバッファにロードされてゆく様子を示す図である。
[図62]複数のPlayItemが連続して再生される状況を示す図である。
[図63]STN_Tableに基づくプリロードを示す図である。
[図64]第9実施形態に係るSTN_Tableの記述を示す図である。
[図65]PlayItem情報#1のSTN_TableにはPGストリームのPIDが記述されているが、PlayItem情報#2において、PGストリームは空白期間になっていて、PlayItem情報#2のSTN_TableにPGストリームのPIDが登録されていないケースを示す図である。
[図66]STN_Tableに登録されているストリームはプリロードされるテキスト字幕ストリームのみになってしまい、プリロードされるテキスト字幕ストリームが選ばれてしまう状況を示す図である。
[図67]PlayItem情報#2のSTN_Tableに多重化されたPGストリームが登録されていないため、プリロードされるストリームが選ばれてしまう状況を示す図である。
[図68]ダミーとしてPIDがSTN_Tableに登録されたデジタルストリームを選択した図である。
符号の説明
1 BD−ROMドライブ
2 Local Storage
3 操作受付部
4 多重分離部
5 ビデオデコーダ
6 ビデオプレーン
7 PGデコーダ
8 PGプレーン
9 合成部
10 テキストコードバッファ
11 フォントバッファ
12 TextSTデコーダ
13 ローダ
14 シナリオメモリ
15 制御部
16 PSRセット
17 ストリーム選択部
19 ビット割当テーブル
20 Procedure実行部
21 フォントレンダリング部
22 展開バッファ
23 コントローラ
31 セルフテスト部
32 セットアップ部
33 プリロード管理テーブル
200 再生装置
300 リモコン
400 テレビ
(第1実施形態)
以降、本発明に係る記録媒体の実施形態について説明する。先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為についての形態を説明する。図1は、本発明に係る再生装置の、使用行為についての形態を示す図である。図1において、本発明に係る再生装置は、再生装置200である。この再生装置200は、リモコン300、テレビ400により形成されるホームシアターシステムに、映画作品を供給するという用途に供される。
以上が本発明に係る再生装置の使用形態についての説明である。続いて本発明に係る再生装置が再生の対象としている、記録媒体について説明する。本発明に係る再生装置により、再生されるのは、BD−ROMである。図2は、BD−ROMの内部構成を示す図である。
本図の第4段目にBD−ROMを示し、第3段目にBD−ROM上のトラックを示す。本図のトラックは、BD−ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてBD−ROMの応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第1段目のようになる。この第1段目においてBD−ROMには、Rootディレクトリの下に、BDMVディレクトリがある。
BDMVディレクトリの配下には、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、BDJAディレクトリと呼ばれる4つのサブディレクトリが存在する。
STREAMディレクトリには、いわばデジタルストリーム本体となるファイルを格納しているディレクトリであり、拡張子m2tsが付与されたファイル(00001〜00003.m2ts)が存在する。
PLAYLISTディレクトリには、拡張子mplsが付与されたファイル(00001〜00003.mpls)が存在する。
CLIPINFディレクトリには、拡張子clpiが付与されたファイル(00001〜00003.clpi)が存在する。以下、これらのファイルについて説明する。
<AVClip>
先ず初めに、拡張子.m2tsが付与されたファイルについて説明する。図3は、拡張子.m2tsが付与されたファイルがどのように構成されているかを模式的に示す図である。拡張子.m2tsが付与されたファイル(00001.m2ts,00002.m2ts,00003.m2ts・・・・・)は、AVClipを格納している。AVClipは(中段)、複数のビデオフレーム(ピクチャpjl,2,3)からなるビデオストリーム、複数のオーディオフレームからなるオーディオストリームを(上1段目)、PESパケット列に変換し(上2段目)、更にTSパケットに変換し(上3段目)、同じく字幕系のプレゼンテーショングラフィクスストリーム(下1段目のPGストリーム)及び対話系のインタラクティブグラフィクスストリーム(下2段目のIGストリーム)をTSパケットに変換して(下3段目)、これらを多重化することで構成される。
プレゼンテーショングラフィクスストリームは、言語毎の字幕を構成するグラフィクスストリームである。
IGストリームは、対話制御を実現するグラフィクスストリームであり、メニュー、ボタン等のGUI部品を構成するグラフィクスデータ、ボタンの押下時において、再生装置に実行させるべきコマンド(ボタンコマンド)などを含む。
AVClipは、図3に示したように多重化がなされているストリームはMainClipと呼ばれる。この他に、多重化がなされていないものものある。かかるAVClipは、SubClipと呼ばれ、オーディオストリーム、PGストリーム、テキスト字幕ストリーム(TextSTStream)等を構成するAVClipが存在する。
<Clip情報>
拡張子“clpi”が付与されたファイル(00001.clpi)は、AVClipのそれぞれに1対1に対応するClip情報である。管理情報故に、Clip情報は、AVClipにおけるストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、対応するストリームにおける複数のエントリー位置を示すEP_mapをもっている。
<PlayList情報>
拡張子“mpls”が付与されたファイル(00001.mpls)は、PlayList(PL)情報を格納したファイルである。PlayList情報は、MainPath、Subpathと呼ばれる2種類の再生経路を束ねたものをPlaylist(PL)として定義する情報である。図4は、プレイリスト情報のデータ構造を示す図であり、本図に示すようにプレイリスト情報は、MainPathを定義するMainPath情報(MainPath())と、Subpathを定義するSubpath情報(Subpath())とからなる。
MainPathとは、主たるAVClip上に定義される再生経路である。一方Subpathは、SubClip上に定義される再生経路である。
PlayList情報の詳細その1
<MainPath>
先ずMainPathについて説明する。MainPathは、主映像たるビデオストリームやオーディオストリームに対して定義される再生経路である。
MainPathは、矢印mp1で示すように複数のPlayItem情報(・・・PlayItem()・・・)から定義される。PlayItem情報は、MainPathを構成する1つ以上の論理的な再生区間を定義する。PlayItem情報の構成は、引き出しmp2によりクローズアップされている。この引き出し線に示すようにPlayItem情報は、再生区間のIN点及びOut点が属するAVClipの再生区間情報のファイル名を示す『Clip_Information_file_name』と、再生区間の始点を示す時間情報『IN_time』と、再生区間の終点を示す時間情報『OUT_time』と、AVClipやSubClipに多重化されているエレメンタリストリームのうち、再生可能なものを示す『STN_table』とから構成される。
図5は、AVClipと、PlayList情報との関係を示す図である。第1段目はAVClipがもつ時間軸を示し、第2段目は、PlayList情報がもつ時間軸を示す。PlayList情報は、PlayItem#1,#2,#3という3つのPlayItem情報を含んでおり、これらPlayItem#1,#2,#3のIn_time,Out_timeにより、3つの再生区間が定義されることになる。これらの再生区間を配列させると、AVClip時間軸とは異なる時間軸が定義されることになる。これが第2段目に示すPL時間軸である。このように、PlayItem情報の定義により、AVClipとは異なる時間軸の定義が可能になる。
PlayList情報の詳細その2
<Subpath>
MainPathが、主映像たるビデオストリームやオーディオストリーム上に定義される再生経路であるのに対し、Subpathは、MainPathと同期すべきテキスト字幕ストリームやオーディオストリームに対して定義される再生経路である。
MainPathにおいて、主映像たるビデオストリームは、関連するオーディオストリームなどとともに多重化されて1本のストリームになっている。BDコンテンツを作成する際には、あらかじめ必要なストリームが判明しているため、同期再生すべき全てのストリームを1本のストリームとして多重化しておけばよい。それに対して、Subpathは、ダウンロードされたテキスト字幕ストリーム等、多重化はされないが、同期再生が必要なストリームである。たとえば、ある映画作品を、世界の様々な地域に頒布しようとした場合、オーサリング担当者は、欧米向けに出荷されるBD−ROMでは英語字幕しか入っていなかったけれど、日本向けに出荷されるBD−ROMには、日本語の字幕を、追加したいと考えることがある。しかし、日本語字幕を構成するストリームを作成し、これをビデオストリームに多重するという手間を払っていたのではコストがかかってしまう。
BD−ROMでは、SubPath情報を用いることにより、日本語字幕を構成する字幕ストリームだけをSubpathとして、MainPathに追加することができる。これにより日本語版作成を可能にさせるというのがSubpathの利点である。
図6は、Subpath情報の内部構成をクローズアップして示す。この矢印sh1に示すように各Subpathは、1つ以上のSubPlayItem情報(・・・SubPlayItem()・・・)からなる。また各SubPlayItem情報は、図中の矢印sh2に示すように『Clip_information_file_name』、『SubPlayItem_In_time』、『SubPlayItem_Out_time』、『sync_PlayItem_id』、『sync_start_PTS_of_PlayItem』からなる。
『Clip_information_file_name』は、Clip情報のファイル名を記述することにより、SubPlayItemに対応するSubClipを一意に指定する情報である。
『SubPlayItem_In_time』は、SubClipの再生時間軸上における、SubPlayItemの始点を示す情報である。
『SubPlayItem_Out_time』は、SubClipの再生時間軸上における、SubPlayItemの終点を示す情報である。
『sync_PlayItem_id』は、MainPathを構成するPlayItemのうち、本SubPlayItemが同期すべきものを一意に指定する情報である。SubPlayItem_In_timeは、このsync_PlayItem_idで指定されたPlayItemの再生時間軸上に存在する。
『sync_start_PTS_of_PlayItem』は、sync_PlayItem_idで指定されたPlay Itemの再生時間軸上において、SubPlayItem_In_timeで指定されたSubPlayItemの始点が、どこに存在するかを示す。SubPlayItemの再生時において、現在の再生時点が、このsync_start_PTS_of_PlayItemで指示される時点に到来した場合、SubPlayItemによる再生が開始される。SubpathをMainPathと同期させるには、Subpath上の再生開始時刻をMainPath上のどの時刻に合わせるかを、sync_start_PTS_of_PlayItemで指定すればよい。たとえば、MainPath上の再生開始から300秒経った位置から、Subpathで指定されるストリームの再生を開始するよう、sync_start_PTS_of_PlayItemで指定すればよい。再生装置側では、Clock Counterが適切なタイミングで、MainPathを構成するストリームおよびSubpathを構成するストリームを多重分離部に転送している。Clock Counterは、Clock Generatorの時刻を元に、同じ時間精度で現在時刻を計時しているので、上述したようなsync_start_PTS_of_PlayItemの指定により、MainPath、SubPath情報の再生を高い精度で同期させることができる。
図7は、SubPlayItem時間軸上の再生区間定義と、同期指定とを示す図である。本図において第1段目は、PL時間軸を示し、第2段目はSubPlayItem時間軸を示す。図中のSubPlayItem.IN_timeは再生区間の始点を、SubPlayItem.Out_timeは再生区間の終点をそれぞれ示す。これによりSubPlayItem時間軸上にも再生区間が定義されていることがわかる。矢印Sn1においてSync_PlayItem_Idは、PlayItemに対する同期指定を示し、矢印Sn2においてsync_start_PTS_of_PlayItemは、PL時間軸におけるPlayItem上の一時点の指定を示す。
Play Itemの再生時間軸上において、現在の再生時点がsync_start_PTS_of_PlayItemで指示される時点に到達した際、Clip_information_file_nameで指定されたSubClip(テキスト字幕ストリーム)のうち、SubPlayItem_In_timeからSubPlayItem_Out_timeまでの部分が再生されることになる。かかる再生により、テキスト字幕ストリームのうち、SubPlayItem_In_time、SubPlayItem_Out_timeで指定された部分がAVClipと同期再生されることになる。以上がSubpathについての説明である。
上述したPlay Item情報の構成においてSTN_tableは、本発明の実施になくてはならない必要不可欠な要素である。以降STN_tableについてより詳細に説明する。
PlayList情報の詳細その3
<STN_table>
STN_tableは、Play ItemのClip_Infomation_file_nameで指定されているAVClipに多重化された複数エレメンタリストリームやSubPlayItemのClip_Information_file_nameで指定されているSubClip内のエレメンタリストリームのうち、再生可能なものを示すテーブルである。具体的にいうと、複数エレメンタリストリームのそれぞれについてのentryを、attributeと対応付けることで構成される。ここで”再生可能なエレメンタリストリーム”とは、Play Itemにより指定されているAVClipに多重されているエレメンタリストリームを主として意味する。しかしこれだけではなく、AVClipとは別個に記録されながら、このエレメンタリストリームと共に再生されるエレメンタリストリーム(テキスト字幕ストリーム)も含む。
図8(a)は、STN_tableの内部構成を示す図である。本図に示すようにSTN_tableは、STN_tableにおけるentryと、attributeとの組み(entry−attribute)を複数含み、これらentry−attributeの組みの個数(number_of_video_stream_entries,number_of_audio_stream_entries,number_of_PG_textST_stream_entries,number_of_IG_stream_entries)を示すデータ構造になっている。
entry−attributeの組みは、図中の括弧記号”{”に示すように、Play Itemにおいて再生可能なビデオストリーム、オーディオストリーム、PGストリーム、テキスト字幕ストリーム、IGストリームのそれぞれに対応している。
entry−attributeの詳細について説明する。図8(b)〜(c)は、entry−attributeの詳細を示す図である。
図8(b)は、PGストリームに対応したentry−attributeの組みを示す図である。
PGストリームにおけるentryは、AVClipを多重分離するにあたって、当該PGストリームの抽出に用いられるPIDを示す『ref_to_stream_PID_of_mainClip』を含む。
PGストリームにおけるattributeは、0x90に設定されることによりPGストリームのコーディックを示す『stream_coding_type』と、対応するPGストリームの言語属性を示す『PG_language code』とからなる。『PG_language code』とは、対応するPGストリームの言語属性を、ISO639−2/Tの言語コード(language code)により表したものである。
図8(c)は、テキスト字幕ストリーム(textSTstreamと表記することがある。)に対応したentry−attributeの組みを示す図である。
テキスト字幕ストリームにおけるentryは、テキスト字幕ストリームを格納したAVClipのentry識別子を示す『ref_to_subClip_entry_ID』と、同期情報のIDを示す『ref_to_subPath_ID』と、テキスト字幕ストリームに付加されたPIDを示す『ref_to_stream_PID_of_subClip』とからなる。
テキスト字幕ストリームにおけるattributeは、0x92に設定されることによりテキスト字幕ストリームのコーディックを示す『stream_coding_type』と、対応するテキスト字幕ストリームのキャラクタコードを示す『character code』と、対応するテキスト字幕ストリームの言語属性を示す『textST_language_code』とからなる。『textST_language_code』とは、対応するテキスト字幕ストリームの言語属性を、ISO639−2/Tの言語コード(language code)により表したものである。
以上がSTN_Tableの内部構成である。
PlayList情報の詳細その4
<PlayList情報の具体例>
以降、各実施形態で引用するPlayList情報の具体例について説明する。図9は、第1実施形態で取り上げるAVClipの一例を示す図であり、図10は、第1実施形態で取り上げる、PlayList情報の一例を示す図である。本実施形態で引用するPlayList情報は、3つのPlayItem情報(PlayItem情報#1〜PlayItem情報#3)と、4つのSubPath情報(SubPath情報#1〜SubPath情報#4)とからなる。このうち4つのSubPath情報のClip_information_file_nameは4つの異なるClip情報を示している。
これら4つのClip情報のうち、SubPath情報#1に対応するAVClipが、日本語のテキスト字幕ストリーム、SubPath情報#2に対応するAVClipが、フランス語のテキスト字幕ストリーム、SubPath情報#3に対応するAVClipが中国語のテキスト字幕ストリーム、SubPath情報#4に対応するAVClipがアラビア語のテキスト字幕ストリームであるなら、これらのテキスト字幕ストリームが、SubPath情報として、MainPathと共に再生されることになる。一方、これらのMainPathにおける3つのPlayItem情報は、図5に示したものと同じであり、1つのPlayList時間軸を構成する。これらのPlayItem情報のClip_information_file_nameに記述されているのが、Clip情報のファイルであり、このClip情報には、ビデオストリームと、PGストリームとを多重したAVClipが対応しているものとする。
また図中の引き出し線cs1,cs2,cs3はPlayItem情報#1〜PlayItem情報#3のSTN_Tableの構成をクローズアップしている。この引き出し線に示すように、STN_Tableには、AVClipに多重されているPGストリームと、SubPath情報にて指定されているテキスト字幕ストリームのPIDが記述されているものとする。その結果、1:英語、2:日本語、3:フランス語、4:中国語、5:アラビア語という5つの言語のテキスト字幕ストリームが、再生可能になっている。
以上の図10におけるPlayList情報の記述により、図11に示すような、デジタルストリームの束が規定されることになる。図11は、図10に示したPlayList情報により規定されるデジタルストリームの束を示す図である。PlayItem情報#1〜PlayItem情報#3は、図5に示した時間軸を構成するため、時間軸においてPlayItem情報#1、PlayItem情報#2、PlayItem情報#3が再生されている期間に、ビデオストリームが再生され、また英語のPGストリーム、日本語〜アラビア語のテキスト字幕ストリームの再生が可能になる。つまりPlayList時間軸の再生進行に伴い、英語のPGストリーム、日本語〜アラビア語のテキスト字幕ストリームの再生が可能になり、これらのうち、英語のPGストリーム、日本語〜アラビア語のテキスト字幕ストリームの何れかを、ビデオストリームと同期して再生させることができる。
以上が記録媒体についての説明である。続いて本発明に係る再生装置について説明する。
図12は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、本図に示す内部に基づき、工業的に生産される。本発明に係る再生装置は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置は、BD−ROMドライブ1、Local Storage2、操作受付部3、多重分離部4、ビデオデコーダ5、ビデオプレーン6、PGデコーダ7、PGプレーン8、合成部9、テキストコードバッファ10、フォントバッファ11、TextSTデコーダ12、ローダ13、シナリオメモリ14、制御部15、PSRセット16から構成される。本図において一点鎖線で囲んだ部位は、システムLSIとして、ワンチップ化されている部位を示す。
BD−ROMドライブ1は、BD−ROMのローディング/イジェクトを行い、BD−ROMに対するアクセスを実行する。
ローカルストレージ2は、ネットワーク等を介してダウンロードされたAVClip、Clip情報、PlayList情報が格納される内蔵媒体である。ローカルストレージ2上のPlayList情報は、BD−ROM及びローカルストレージ2のどちらに存在するClip情報であっても、指定できる点でBD−ROM上のPlayList情報と異なる。この指定にあたって、ローカルストレージ2上のPlayList情報は、BD−ROM上のファイルをフルパスで指定する必要はない。本ローカルストレージ2は、BD−ROMと一体になって、仮想的な1つのドライブ(仮想ドライブ部)として、再生装置200により認識されるからである。故に、PlayItem情報におけるClip_information_file_name及びSubPlayItem情報のClip_Information_file_nameは、Clip情報の格納したファイルのファイルボデイにあたる5桁の数値を指定することにより、ローカルストレージ2、BD−ROM上のAVClipを指定することができる。このローカルストレージ2の記録内容を読み出し、BD−ROMの記録内容と動的に組み合わせることにより、様々な再生のバリエーションを産み出すことができる。
図13は、ローカルストレージに格納されたPlayList情報により、どのようなPlayList再生時間軸が定義されるかを示す図である。第1段目は、BD−ROMに記録されたAVClipにおける再生時間軸を示し、第2段目は、ローカルストレージに格納されたPlayList情報により定義されるPlayList再生時間軸を示す。この第1段目、第2段目に示すように、ローカルストレージに格納されたPlayList情報は、BD−ROM上のAVClipに対して独自の再生時間軸を定義することができる。第3段目は、ローカルストレージに格納されたSubPlayItemにおけるSubPlayItem再生時間軸を示す。図中のSubPlayItem.IN_timeは再生区間の始点を、SubPlayItem.Out_timeは再生区間の終点をそれぞれ示す。これによりSubPlayItem時間軸上にも再生区間が定義されていることがわかる。矢印Sn1においてSync_PlayItem_Idは、PlayItemに対する同期指定を示し、矢印Sn2においてsync_start_PTS_of_PlayItemは、PL時間軸におけるPlayItem上の一時点の指定を示す。
このため、SubPLayItem情報にて、SubPlayItem再生時間軸上に定義される再生区間は、ローカルストレージ上のPlayItem情報により定義されるPlayList再生時間軸と同期をとることになる。
ローカルストレージ上のPlayList情報は、BD−ROM上のAVClipに対し、PlayList再生時間軸を指定することができ、ローカルストレージ上のSubPLayItem情報は、この再生時間軸に対し、ローカルストレージ上のSubPlayItemとの同期を指定することができるので、ローカルストレージ上のSubPlayItemで指定されるAVClipがテキスト字幕ストリームである場合、このテキスト字幕ストリームをBD−ROM上のAVClipと同期させて再生することができる。
以上がLocal Storage2についての説明である。
操作受付部3は、ストリーム等を選択する操作が、リモコンや再生装置のフロントパネルに対してなされれば、その操作を示すUser Operation情報をストリーム選択部17に出力する。
多重分離部4は、Clock Counter、Clock Generatorを備え、Local Storage2からTSパケットを取り出して、このTSパケットを構成するTSパケットをPESパケットに変換し、ビデオストリーム及びIGストリームを得て、それぞれビデオデコーダ5、PGデコーダ7に出力する。
ビデオデコーダ5は、多重分離部4から出力された複数PESパケットを復号して非圧縮形式のピクチャを得てビデオプレーン6に書き込む。
ビデオプレーン6は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、再生装置において一画面分の画素データを格納しておくためのメモリ領域である。ビデオプレーン6における解像度は1920×1080であり、このビデオプレーン6に格納されたピクチャデータは、16ビットのYUV値で表現された画素データにより構成される。
P−Graphics(PG)デコーダ7は、BD−ROMから読み出されたプレゼンテーショングラフィクスストリームをデコードして、非圧縮グラフィクスをPresentation Graphicsプレーン8に書き込む。グラフィクスストリームのデコードにより、字幕が画面上に現れることになる。
Presentation Graphics(PG)プレーン8は、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。本プレーンにおける解像度は1920×1080であり、Presentation Graphicsプレーン8中の非圧縮グラフィクスの各画素は8ビットのインデックスカラーで表現される。CLUT(Color Lookup Table)を用いてかかるインデックスカラーを変換することにより、Presentation Graphicsプレーン8に格納された非圧縮グラフィクスは、表示に供される。
合成部9は、ビデオプレーン6に格納された非圧縮状態のピクチャデータを、Presentation Graphicsプレーン8の格納内容と合成する。
テキストコードバッファ10は、BD−ROM及びLocal Storage2から読み出されたテキスト字幕ストリームが格納されるバッファである。テキスト字幕ストリームの場合、2時間の映画作品用の字幕でも500Kバイト程度であるので、500Kバイト程度の規模がテキストコードバッファ10にあれば、1つのテキスト字幕ストリームを読み込むことができる。
フォントバッファ11は、テキスト字幕ストリームを構成するコード列をビットマップに展開する際、用いられるフォントデータが格納される。本フォントバッファ11は、1Mバイトほどのメモリ規模があれば、CJKフォント(中国語、日本語、韓国語)フォントを格納しておくことができる。このCJKフォントが格納されていれば、中国語、日本語、韓国語のテキスト字幕をビットマップに展開することができる。
TextSTデコーダ12は、フォントバッファ11に格納されているフォントデータを用いて、テキストコードバッファ10上のテキスト字幕ストリームに含まれるテキストコードをビットマップに展開してPresentation Graphicsプレーン8に書き込む。
ローダ13は、テキスト字幕ストリーム及びフォントデータをテキストコードバッファ10及びフォントバッファ11にロードする。ローダ13によるロードの対象は、テキスト字幕ストリーム及びこれの展開に必要なフォントデータであり、比較的データ量が小さいので、ローダ13は、STN_Tableに記述されている全てのテキスト字幕ストリームをテキストコードバッファ10に読み込み、それと共に、フォントデータをフォントバッファ11に読み込んでおくことができる。そうした読み込み後、現在の再生時点に応じてTextSTデコーダ12に必要なデータを供給する。こうしたMainPathの再生に先立ち、テキストコードバッファ10、フォントバッファ11にデータを読み込んでおくことを“プリロード”という。
ローダ13がプリロードを行うのは以下の理由による。MainPath情報とSubPath情報とで指定される2つのストリームがBD−ROM、ハードディスクとに別々に記録されていれば、2つのメディアからそれぞれ同時に読み取っていけばよい。しかしBD−ROMのような光ディスクは、比較的アクセス速度が遅いので、MainPath情報とにより指定されるストリームと、SubPath情報により指定されるストリームとが同じBD−ROMに記録されている場合、シークを行いながら2つのストリームにアクセスすることは非常に難しい。そこでローダ13は、MainPathの再生開始を行う前に、SubPath情報が指定するデータ、つまり、テキスト字幕ストリームと、これの展開に用いられるフォントデータとをバッファに読み込んでおくのである。
全てのデータをテキストコードバッファ10、フォントバッファ11に読み込んだ場合、MainPath側のストリームを再生させながら、SubPath側のストリームを再生させることもできる。ここで、SubPath情報側のストリームを選択せず、専らMainPath側のストリームを再生させたとしても、テキストコードバッファ10、フォントバッファ11が上書きされなければ、MainPath側のストリームから、SubPath側のストリームへの切り替えが可能になる。
シナリオメモリ14は、カレントのPlayList情報やカレントのClip情報を格納しておくためのメモリである。カレントPlayList情報とは、BD−ROMに記録されている複数PlayList情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD−ROMに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
制御部15は、シナリオメモリ14に読み出されたカレントPlayList情報、カレントClip情報に従い、BD−ROMに記録されたAVClipを読み出し、再生する制御を行う。
PSRセット16は、再生装置に内蔵されるレジスタであり、64個のPlayer Status/Setting Register(PSR)と、4096個のGeneral Purpose Register(GPR)とからなる。Player Status/Setting Registerの設定値(PSR)がどのような意味をもつかは、後で詳細に説明する。
ストリーム選択部17は、STN_tableに記述されているentry−attributeが記述されているPGストリーム又はテキスト字幕ストリームから1つを選択して、再生させる。ストリーム選択部17による選択とは、STN_Tableに記載された複数のentry−attributeの組みのうち、PSRに格納されたストリーム番号に対応するものから、PIDを取り出し、取り出されたPIDに対応するPGストリーム又はテキスト字幕ストリームを、動画像に合成させることをいう。ここで取り出されたPIDが、PGストリームを特定するものなら、そのPGストリームを多重分離するよう、多重分離部4を設定する。一方、取り出されたPIDがテキスト字幕ストリームを特定するものなら、そのテキスト字幕ストリームを、テキストコードバッファ10、フォントバッファ11からTextSTデコーダ12に供給する。
図14は、ビデオエンコーダのデコードによるデコード結果と、ストリーム選択部17による選択結果とを、図12の内部構成に書き加えた図である。ここでビデオエンコーダによるデコード結果とは、ピクチャ列であり、ストリーム選択部17による選択結果とは、「本当は」「ウソだった」「ごめん」「あれから」「3年たった」という字幕である。ストリーム選択部17は、PGストリームのデコード結果、テキスト字幕ストリームのデコードを選択的に、ピクチャ列に合成させることにより、再生装置は、PGストリームのデコード結果、テキスト字幕ストリームのデコード結果のどちらかを、字幕としてピクチャに合成した上で再生させることができる。
<PSRについての説明>
以上が本発明に係る再生装置の構成である。続いてPSRセットにおける個々のPSRについて説明する。PSRセットのうちPSR1、PSR2、PSR15、PSR17、PSR30、PSR48〜61は、再生装置における音声・字幕の選択や、これらをデコードする能力の有無、言語設定を示すものである。図15は、PSR2、PSR17、PSR30の詳細設定を示すである。
PSRの詳細その1.PSR2,17,30
PSR2は、現在選択されているPGストリーム又はテキスト字幕ストリームのストリーム番号を格納する。ここでストリーム番号とは、STN_Tableにおいて、PGストリーム及びテキスト字幕ストリームに対応するentry−attributeが何番目に記載されているかという、記載順位を示す番号であり、個々のSTN_Tableに依存した番号である。
またPSR2はdisp_flagを含む。disp_flagは、”0”に設定されることにより、PGストリーム及びテキスト字幕ストリームの表示が不可能であることを示し、”1”に設定されることによりPGストリーム及びテキスト字幕ストリームの表示が可能であることを示す。
PSR17は、本再生装置における字幕言語の設定を、ISO639−2/Tの言語コード(language code)により表す。ここで言語設定とは、再生装置に対し430言語という言語のうち、ユーザが再生を希望しているものを記憶しておくことをいう。このPSR17に記憶されている言語は、あくまでも、ユーザの希望であり、この言語に対応するPGストリーム、テキスト字幕ストリームがBD−ROMに存在するとは限らない。またPSR17に存在するDecode Capabilityが、再生装置に存在するとも限らない。とにかく、ユーザの希望が、字幕言語の設定として、PSR17に記憶されているのである。
PSR30は、最上位ビットが”0”に設定されることによりテキスト字幕を表示する能力が再生装置に存在しない旨を示し、最上位ビットが”1”に設定されることによりテキスト字幕を表示する能力が再生装置に存在する旨を示す。
再生装置にテキスト字幕ストリームをデコードする能力があったとしても、どの言語に対応するテキスト字幕ストリームのデコードが可能であり、どの言語に対応するテキスト字幕ストリームのデコードが不可能であるかは、言語によって違う。
PSRの詳細その2.PSR48〜61
テキスト字幕ストリームは、文字コードを用いて字幕を表現している。しかし日本・中国・韓国などの東南アジアにおいて顕著にみられるように、様々な言語ごとに、違う文字コードが存在することもある。そこで、言語ごとにフラグを用意して、対象となる言語が適切に表示できるか否かを、判定できるようにしている。PSRセットのPSR48〜61は、ISO639−2/Tの言語コード(language code)にて定義された個々の言語のテキスト字幕ストリームに対する、デコード能力の有無を示す。
図16は、PSR48〜61の内部構成を示す図である。本図における四角枠は、1つの言語におけるDecode Capabilityを示すDecode Capabilityフラグである。
これらPSR48〜61は、言語数分のフラグを格納している。フラグは各言語ごとに表示可能か否かを示すことができれば足りるので、1言語=1ビットに設定されている。利用人数の比較的少ないローカルな言語であっても、Decode Capabilityの有無を示すことにしているから、本図におけるビット構成は、430言語×1ビットにより、430ビット以上のレジスタ領域を必要としている。
かかるDecode Capabilityフラグは、430言語のそれぞれに対応しているから、これらのDecode Capabilityフラグのうち、STN_Tableに記述されたtextST_language_codeに対応するものを参照することにより、そのtextST_language_codeに対応する言語のテキスト字幕のデコード能力の有無を判定することができる。
図17は、PSR48〜61におけるDecode Capabilityフラグと、textST_language_codeとの対応を示す図である。PSR48〜61における個々のDecode Capabilityフラグが、PSR番号p及びビット位置qにより識別される。またテキスト字幕ストリームの言語属性は、textST_language_codeにて表現される。このtextST_language_codeを、PSR48〜61におけるPSR番号p及びビット位置qに変換することにより、テキスト字幕ストリームに対するDecode Capabilityが存在するか否かを判定することができる。
図18は、PSR48〜61のうち、PSR53の内容を示す図である。PSR53は、計32個のDecode Capabilityフラグを含む。“jpn”,“jav”,“ita”といった3バイトのコードは、textST_language_codeである。これらtextST_language_codeに示されるDecode Capabilityフラグが、計32個、PSR53に存在していることがわかる。図19は、textST_language_codeの意味内容を示す図である。この図における意味内容を照合すると、“ita”という3バイトのコードはイタリア語を示し、“jpn”という3バイトのコードは日本語を示す。“jav”という3バイトのコードはジャワ語を示していることがわかる。残りのPSRも、1ビットの値により、Decode Capabilityフラグの有無を示しているから、計430言語のDecode Capabilityフラグが、PSR48〜61に示される。以上が本実施形態におけるPSRセットの特徴部分である。続いてストリーム選択部17における特徴部分について説明する。
<ストリーム選択部17についての説明>
図20は、第1実施形態におけるストリーム選択部17の特徴部分を示す図である。ストリーム選択部17において特徴的であるのは、ビット割当テーブル19、Procedure実行部20がストリーム選択部17に存在している点である。
特徴その1.ビット割当テーブル19
割当テーブル19は、textST_language_codeを示す3バイトのコード列と、PSR48〜61におけるPSR番号、ビット位置との割り当てを示す。図21は、PSR48〜61におけるPSR番号及びビット位置と、textST_language_codeとの対応関係を示す図である。本図によると、textST_language_codeにおける“jpn”という3バイトのコードは、PSR番号“53”と、ビット番号“b8”に対応していることがわかる。
“jav”という3バイトのコードは、PSR番号“53”と、ビット番号“b7”に対応していることがわかる。
“ita”という3バイトのコードは、PSR番号“53”と、ビット番号“b9”に対応していることがわかる。
こうした対応付けを記憶しているので、STN_Tableに記述されたtextST_language_codeから、PSR48〜61におけるPSR番号、ビット位置を導くことができ、そして、そのPSR番号、ビット位置に示される1ビット値の設定値を参照することにより、そのtextST_language_codeに示される言語のDecode Capabilityの有無を判定することができる。以上が割当テーブルの詳細である。
特徴その2.Procedure実行部20
Procedure実行部20は、あるPlayItem情報から別のPlayItem情報への切り換わりが生じた場合、又はストリーム番号を切り換える旨の操作がユーザによりなされた場合、所定の手順を実行して、PSR2に新たなストリーム番号を書き込む。ストリーム選択部17は、PSR2に書き込まれたストリーム番号に応じて、PGストリーム又はテキスト字幕ストリームを選択するので、かかるPSR2の設定を通じて、PGストリーム、テキスト字幕ストリームのどちらかが再生されることになる。ここで、PlayItem情報の切り換わり時において、PSR2設定のために実行される手順を『Procedure when playback condition is changed』といい、ユーザ操作時において、PSR2設定のために実行される手順を『Procedure when Change is requested』という。
PlayItem情報の切り換わり時に、手順を実行するのは、STN_TableはPlayItem情報毎に存在するので、あるPlayItem情報においては再生可能であったテキスト字幕ストリームが、別のPlayItem情報において再生不可能になることが往々に有り得るからである。
また、ユーザ操作の際、手順を実行するのは、ユーザ操作にてPSR2に格納されるストリーム番号が、常に正しいとは限らず、不正なストリーム番号が書き込まれようとした際のリカバリーが必要になるからである。
『Procedure when playback condition is changed』及び『Procedure when change is requestedは、PGストリーム、テキスト字幕ストリームのそれぞれが、(a)(b)の条件を満たすか否かを判定して、満たした条件の数の多さにより、PGストリーム及びテキスト字幕ストリームに優先順位を付与する。そして、その優先順位が高いもののストリーム番号をPSR2に書き込むというものである。
.Procedure実行部20の詳細その1
<Procedure when playback condition is changed>
Procedure when playback condition is changedの処理手順は、図22のようになる。本処理手順は、ステップS1、ステップS2という2つの判定ステップの組合せで、PSR2の設定を行うものである。
ステップS1は、STN_tableにおけるentry数が0であるか否かの判定であり、もし0であればステップS3においてPSR2の値を維持する。
ステップS2は、STN_tableにおけるentry数は0ではない場合に、PSR2よりSTN_tableのentry数が多く、尚且つ、条件(A)が真であるかを判定するものである。条件(A)とは、PSR2で特定されるテキスト字幕ストリームをデコードする能力が再生装置に存在することである。もしステップS2がYesであればPSR2を維持する(ステップS4)。もしPSR2の値がentry数より大きいか、或は条件(A)を満たさない場合は、ステップS5において何等かの有効な値をPSR2に再設定する。
.Procedure実行部20の詳細その2
<Procedure when change is requested>
続いてProcedure when change is requestedについて説明する。図23は、ストリーム変化時における設定手順を示すフローチャートである。本フローチャートと、図22との違いは、図22におけるPSR2の表記がXに置き換えられている点である。このXは、操作受付部3から出力されたUser Operation情報やIGストリーム内のボタンコマンドに基づく値である。
本フローチャートにおけるステップS19は、XよりSTN_tableのentry数が多く、尚且つ、条件(A)が真であるかを判定するものである。条件(A)とは、PSR2で特定されるPGストリーム、テキスト字幕ストリームをデコードする能力が再生装置に存在することである。もしXがこの条件を満たすなら、PSR2にXを設定する(ステップS21)。
もしXがentry数より大きいか、或は条件(A)を満たさない場合は、Xが、Invalidな値(0xFFFF)であるか否かを判定する(ステップS22)。もし0xFFFFであれば、ユーザが選択を意図するPGストリーム、テキスト字幕ストリームの番号は無効であると考えられるので、ユーザ操作に基づく値Xを無視し、PSR2の設定値を維持する(ステップS24)。
もしPSR2の設定値が0xFFFFでないなら、値XをPSR2に設定する(ステップS23)。
.Procedure実行部20の詳細その3
<何等かの有効な値をPSR2に設定するための設定手順>
上述したフローチャートにおいて、ステップS5及びステップS23の処理の詳細は、図24に示した通りになる。図24は、PSR2の設定手順を示すフローチャートである。
本フローチャートのステップS31、ステップS32は、STN_tableに記述されているPG_textST_streamのそれぞれについて、ステップS33〜ステップS35の処理を繰り返すループ処理になっている。本ループ処理において処理対象となるPG_textST_streamをPG_textST_streamiとする。ステップS33は、PG_textST_streamiのstream_coding_typeが0x91であるか、0x92であるかの判定であり、もし0x91であるならステップS34に移行する。
ステップS34は、PG_streamiが、以下の(a)(b)を満たすか否かの判定である。
(a)PGストリームiをデコードする能力が再生装置に存在すること
(b)PGストリームiの言語属性が再生装置の言語設定と一致すること
この(b)の条件は、STN_tableにおけるPG_language_codeがPSR17と一致するか否かの判定でなされる。
一方ステップS35は、textST_streamiが(a)(b)を満たすかを否かの判定である。
(a)テキスト字幕ストリームiをデコードする能力が再生装置に存在すること
(b)テキスト字幕ストリームiの言語属性が再生装置の言語設定と一致すること
(a)の条件を具備しているかの判定は、PSR48〜61における対応するビットが″デコード能力有″を示すかどうかでなされる。(b)の条件を具備しているかの判定は、STN_tableのtextST_language_codeがPSR17の設定値と一致しているかどうかでなされる。
以上のステップS33〜ステップS35の処理が全てのPG_textST_streamについて繰り返されれば、ステップS36〜ステップS41の処理が実行される。
ステップS36は、(a)を満たすPGstreamが存在しないかどうかの判定であり、もし存在しないのなら、Invalidな値(0xFFFF)をPSR2に設定する(ステップS38)。
ステップS37は、(a)(b)の双方を満たすPG_textST_streamが存在するかどうかの判定であり、もし存在するのなら(a)(b)を満たすPG_textST_streamのうち、STN_tableにおけるエントリー順位が最も高いものをPSR2に設定する(ステップS39)。
ステップS41は、(a)のみを満たすPGstream、(a)のみを満たすtextST_streamのうち、STN_tableにおけるエントリー順位が最も高いものをPSR2に設定する。以降具体例を交えながら、本フローチャートの処理について説明する。
各テキスト字幕ストリームのDecode Capabilityの有無については、図25のフローチャートに基づき判定される。図25は、テキスト字幕ストリームのDecode Capabilityの有無を判定するにあたっての判定手順を示すフローチャートである。本フローチャートは、対象となるテキスト字幕ストリームのtextST_language_codeをSTN_Tableから取得して(ステップS11)、割当テーブルを参照することにより、テキスト字幕ストリームのtextST_language_codeにあたるPSR番号p及びビット位置qとを特定する(ステップS12)。そして、PSRpのqビット目が“1”であるか、“0”であるかを判定して(ステップS13)、PSRpのqビット目が“1”であれば、対象となるテキスト字幕ストリームが、条件(a)を満たすとする(ステップS14)。一方、PSRpのqビット目が“0”であれば、対象となるテキスト字幕ストリームが、条件(a)を満たすとする(ステップS15)。
.Procedure実行部20の詳細その3
<PSR2設定の具体例>
この具体例で想定している再生装置は、図26(a)に示すように日本語、中国語のテキスト字幕ストリームをデコードする能力はもっているが、フランス語、イタリア語をデコードする能力はもっていない再生装置である。そして中国語を示すよう、PSR17における言語設定がなされているものとする。
かかる再生装置に対し、図26(b)に示すようなSTN_tableがロードされたとする。このSTN_tableには、日本語、フランス語、中国語、アラビア語のテキスト字幕ストリームのentry(textST_stream1,2,3,4)が記述されている。
かかる記述内容のSTN_tableが処理対象であると、ステップS34、ステップS35において各PG_textST_streamが、条件(a)、条件(b)を具備しているかどうかのチェックが図26(c)に示すようになされる。ここで日本語のテキスト字幕ストリームは、3つの条件のうち、条件(a)しか満たさない。中国語のテキスト字幕ストリームは、条件(a)、条件(b)を満たす。
各ストリームについての条件具備が明らかになったので、条件(a)〜条件(b)の全てを満たす中国語のテキスト字幕ストリームに最高順位を付与する。その結果、中国語のテキスト字幕ストリームが選択されることになる。
.Procedure実行部20の詳細その4
<PSR2設定の具体例>
以降、図27を参照しながら、STN_tableにおけるentryの順序によるテキスト字幕ストリーム選択について説明する。ここで想定する再生装置は、図26(a)同様、日本語,中国語のデコード能力をもっている再生装置である。そして韓国語を示すよう、PSR17における言語設定がなされているものとする。
かかる再生装置に対し、図27(b)に示すようなSTN_tableがロードされたとする。このSTN_tableには、日本語〜アラビア語のテキスト字幕ストリームのentry(textST_stream1,2,3,4)が記述されている。
かかる記述内容のSTN_tableが処理対象であると、ステップS34、ステップS35において各PG_textST_streamが、条件(a)、条件(b)を具備しているかどうかのチェックが図27(c)に示すようになされる。ここで日本語のテキスト字幕ストリームは、3つの条件のうち、条件(a)しか満たさない。中国語のテキスト字幕ストリームも、条件(a)しか満たさない。
ここで、条件(a)のみを満たしているテキスト字幕ストリームが複数ある場合、STN_tableにおけるentryの順位に応じて、各ストリームにおける順位を定める。ここで、STN_Tableにおいては、日本語の順位が最高になっているので、日本語のテキスト字幕ストリームが選択されることになる。以上がProcedure実行部20についての説明である。続いて制御部15による処理手順についての説明を行う。
特徴その3.制御部15による処理手順
図28は、制御部15による再生手順を示すフローチャートである。本フローチャートは、PlayList情報における先頭のPlayItem情報をPlayItem情報iとして、ステップS133〜ステップS142のループ処理を実行するものである。ステップS133〜ステップS142のループ処理における制御変数は、変数iであり、ステップS133〜ステップS140の処理を実行して、その後、制御変数iをインクリメントするという処理を、変数iが、PlayItem数(Number Of PlayItem)を越えるまで実行するものである(ステップS141)。
このステップS133〜ステップS140の処理について説明する。これらの処理は、PlayItem情報iのClip_information_file_nameに記述されているAVClipを、AVClipjとし(ステップS133)、再生の対象とする。ステップS134は、Procedure when Playback Control is changedの実行であり、その後、PlayItem.In_timeからPlayItem.Out_timeまでの部分を再生するよう、ドライブ装置及びデコーダに指示する(ステップS135)。
ステップS136は、PlayItem情報iをSync_PlayItem_idに指定しているSubPlayItemkが存在するか否かの判定である。もし存在しなけば、そのままステップS141に移行する。
もし存在すれば、SubPlayItemkのClip_information_file_nameに記述されているAVClipをAVCliphにし(ステップS138)、そのAVCliphのうち、Sync_Start_PTS_of_PlayItemから、Out_timeまでを再生するよう、ドライブ装置及びデコーダに指示してステップS141に移行する(ステップS140)。
以上の処理を、PlayList情報を構成する全てのPlayItem情報について繰り返すことにより、PlayList情報にて規定されるAVClipの再生がなされる。このループ処理において、1つのPlayItem情報の再生がなされる度に、Procedure when Playback Control is changedがProcedure実行部20により実行され、このProcedure実行部20の実行により、PGストリーム、テキスト字幕ストリームのうち、1つが選択されることになる。そしてこうして選択されたストリームがテキスト字幕ストリームであり、SubPath情報で指定されているものなら、ステップS136〜ステップS140の手順により、このテキスト字幕ストリームが再生されることになる。
以上のように本実施形態によれば、PSR48〜61には、テキスト字幕を表示することができる能力の有無が、言語毎に示されているので、ユーザがある言語でのテキスト字幕表示を希望した場合、その言語でのテキスト字幕表示の可能性の有無を、レジスタセットにおける各ビットの設定値を参照することにより、即座に判定することができる。
各ビットの設定値を参照するだけで、何れかの言語でのテキスト字幕の表示可能性の有無を判定することができるので、たとえ、テキスト字幕の言語種が何百言語に及んだとしても、所望の言語での、字幕表示の可能性を即座に判定することができる。
(第2実施形態)
第2実施形態では、テキスト字幕ストリーム及びTextSTデコーダ12の内部構成をより詳細に説明する。図29は、テキスト字幕ストリームの内部構成を示す図である。本図の第1段目は、SubPlayItem情報の時間軸を示し、第2段目はEP_mapを示す。第3段目は、テキスト字幕ストリームを示す。この第3段目におけるテキスト字幕ストリームの内部構成について説明する。
テキスト字幕ストリームは、先頭に唯1つ存在する『スタイル情報』と、複数の『表示情報』とからなる。このスタイル情報は、スタイル情報は、テキスト字幕ストリームの先頭に1つのみ存在している。スタイル情報は、自身の識別子である『スタイルID』と、ビットマップへの展開に用いるフォントデータを示す『フォントID』、ビットマップへの展開時における『フォントサイズ』、PGプレーン8における表示領域の水平位置、垂直位置を示す『表示位置』とからなり、テキスト字幕ストリームは、これらの情報をまとめて“スタイル”として管理している。またスタイル情報内に複数のスタイルが定義されることがある(図29では2つ)。
スタイル情報に、フォントサイズを記載しているのは、最低限のフォントバッファのサイズを宣言するためである。つまりフォントセットはプリロードが必要であるため、必ず読み込まなければならないフォントデータを、ストリーム再生前に明示的に指定しておくようにしている。
表示情報は、字幕の『表示開始時刻』と、字幕の『表示終了時刻』、字幕を表すコード列である『テキストコード列』、この字幕を表示すべき表示位置を一意に特定する『スタイルIDの参照値』からなる。テキスト字幕に対応するEP_mapは、テキスト字幕を構成する個々の表示情報をエントリー位置として指定している。そのため、図28に示したように、テキスト字幕ストリームをその内部から再生させるにあたって、TextSTデコーダ12は、これら複数の表示情報のうち、SubPlayItem情報のSubPlayItem_In_time,SubPlayItem_Out_timeに対応するものを再生してゆく。以上がスタイル情報、表示情報について説明である。
図30(a)は、スタイル情報,表示情報の設定例を示す図である。この設定例においてスタイル情報#1は、Presentation Graphicsプレーン8における座標(x1,y1)を示すよう設定されているものとする。
そして図30(a)における3つの表示情報は、スタイル情報において定義された字幕の表示領域を指定している。各表示情報における表示開始時刻は、それぞれt1,t2,t3に設定されており、各表示情報におけるテキスト文字列は「本当は」「ウソだった」「ごめん」に設定されている。こうした設定により、表示情報における字幕は、動画の再生時刻の進行に伴い、順々に切り換わってゆくことになる。
図30(a)の表示情報を含むテキスト字幕ストリームと、BDT−ROM上のAVClipとの同期がLocal Storage32上のPlayList情報に規定されているものとする。そうすると、表示情報の表示位置、表示開始時刻に基づきテキスト文字列をPresentation Graphicsプレーン8上に配置することにより、図30(b)のような合成画像が再生されることになる。
以上が本実施形態におけるテキスト字幕ストリームの内部構成である。
続いてEP_mapについて説明する。図29の第2段目におけるEP_mapは、テキスト字幕ストリームにおける表示情報のエントリー位置を、SubPlayItem情報時間軸におけるエントリー時刻と対応づけて示す。かかる対応付けを示すことにより、SubPlayItem情報時間軸における任意の位置から、テキスト字幕における表示情報のアドレスを導くことができる。
以上がテキスト字幕ストリームについての説明である。
続いて、SubPlayItem情報を用いたテキスト字幕ストリームの再生について説明する。図29に示したように、EP_mapにより、エントリー時刻とエントリー位置との対応付けがなされているので、SubPlayItem情報のIn_time、Out_timeを、テキスト字幕ストリームのエントリー位置に変換することにより、In_timeに対応する表示情報のアドレスを、得ることができる。
図31は、図28のステップS140の詳細フローチャートであり、テキスト字幕ストリームの再生処理を示すフローチャートである。
ステップS148では、カレントClip情報のEP_mapを用いて、SubPlayItem#yのIn_timeを、テキスト字幕ストリームにおける表示情報の相対アドレスαに変換する。一方ステップS149では、SubPlayItem#yのOut_timeを,カレントClip情報のEP_mapを用いて、テキスト字幕ストリームにおける表示情報の相対アドレスβに変換する。これらの変換で得られたアドレスβの次のアドレスを求めて、そのアドレスの1つ手前をアドレスγに設定し(ステップS151)、そうして算出されたアドレスγを用いて、テキスト字幕ストリームにおけるアドレスαからアドレスγまでの部分をTSデコーダに投入する(ステップS152)。このフローチャートにより、SubPlayItem情報におけるIn_timeを、テキスト字幕ストリームにおけるエントリー位置に変換することにより、SubPlayItem情報に基づき、テキスト字幕ストリームを再生させることができる
かかる処理により、MainPathの再生、SubPathの再生の双方が再生されるので、動画と字幕とからなる合成画像が表示されることになる。
続いて本実施形態におけるTextSTデコーダ12の内部構成について説明する。
図32は、TextSTデコーダ12の内部構成を示す図である。本図に示すようにTextSTデコーダ12は、フォントレンダリング部21と、展開バッファ22と、コントローラ23とからなる。
フォントレンダリング部21は、テキストコードバッファ10に格納されている表示情報のコード列を、ビットマップに展開する。この展開にあたっては、その表示情報におけるスタイルIDを取り出して、そのスタイルIDに対応するフォントデータをバッファから取り出し、このフォントデータを用いることにより行う。
展開バッファ22は、フォントレンダリング部21により展開されたビットマップが格納される。
テキスト字幕ストリームを構成するコード列と、このコード列の展開に必要なフォントデータとをバッファに読み込む処理を“プリロード”という。テキストコードバッファ10、フォントバッファ11に複数のストリームを読み込むことができる場合、読み込まれる優先順位は、第1実施形態で述べた、STN_tableにおける順位などによって決められる。優先順位の高いストリームからテキストコードバッファ10、フォントバッファ11に読み込めるだけ読み込んでおけば、再生中にシークを発生させずに切り替えられるストリームの種類が増す。
コントローラ23は、展開バッファ22に格納されたビットマップを、表示情報における表示時刻及び表示位置に従い、PGプレーン8に書き込む。
フォントレンダリング部21によるビットマップへの展開にあたっては、テキスト字幕ストリームに対応する言語の言語特性をサポートするような制御を行う。言語特性のサポートには、横書き、縦書き、カーニング、行末禁則、右から左への描画、合字・抱き字といったものがある。
ここでカーニングとは、文字の形状により字間を詰めて見た目をよくする機能をいう。行末禁則とは、行末の「。」がフォントの配置により行頭にくることを禁止する機能をいう。
以上がTextSTデコーダ12の内部構成を示す図である。字幕をグラフィクスで表現する場合には、発生しなかったが、コード列で表現する場合に新たに発生する技術的課題について説明する。
<コード列表現による技術的課題>
グラフィクスで表現された字幕の場合、どの再生装置でも同じ見た目を保つことは簡単になる。字幕が文字コードで表現されている場合は、図32の内部構成に示したような、Font GeneraterあるいはRendererと呼ばれるような、文字コードをビットマップに変換して画面上に表示するためのモジュール(フォントレンダリング部21)が必要になる。そしてFont Generaterは機器によって、文字の見せ方、サポートする言語が違ってくる可能性がある。
これは、グラフィクスで表現された字幕の場合、見た目はオーサリング時に決められるのに対して、字幕が文字コードで表現されている場合、字幕の見た目は、再生装置のFont Generatorの性能に依存してしまうためである。
多少の文字の形の違いは、現在のWebページを閲覧するようなHTMLブラウザでも存在し、それほど大きな問題ではないが、以下に述べるような言語特性による違いは非常に大きい。
図33(a)は、日本語の言語特性によるレイアウトの違いについて説明した図である。図33(a)における“括弧の形”は、括弧記号が横書きと、縦書きとで90度傾きが異なることを示す。“文字の位置”は、「ゃ」のような小さな文字を、横書きと縦書きとで、配置位置を微妙に調整しておく必要があることを示す。“長音の形”は、横書きと縦書きとで、文字の形自体を変えておくことを示す。図33(b)は、アラビア語の言語特性におけるレイアウトを示す。この図33(b)に示すように、アラビア語では、文字は右側から左側に流れていくことがわかる。
このような特殊な文字・言語をFont Generaterが生成しなければならないが、これは対応するフォント情報を与えればよいというものではなく、フォントレンダリング部21がビットマップを描画するにあたっての、描画機能としてこれらをサポートする必要がある。これらのサポートが必要なので、品質保証を考えれば、サポートが全て満たされた限り、デコード能力を有りとするのが望ましい。
また、欧米で発売されるようなBD−ROM再生装置においては滅多に日本語やアラビア語の字幕を表示する必要はないため、必ずしもこれらの文字を適切に表示するためのFont Generaterは必要ではない。各々の再生装置が全ての言語をサポートする必要はなく、またサポートするためには余分なコストがかかってしまうので望ましくない。あるいは、全ての再生装置は全言語の適切は表示をサポートしなければならないとした場合、製造する国によっては対象となる全言語に対する知識がなく、どのようにFont Generaterを製造して良いか分からないため、再生装置を製造できなくなってしまうのも望ましくない。その一方、商品の付加価値を高めるためには、表示可能な言語種が多いほどよい。
そこで、テキスト字幕ストリーム制御のためのアプリケーションに、どの言語を適切に表示できるかを伝えるべく、本実施形態では、図34に示すように、PSR48〜61に対する設定を行う。
図34は、日本語、英語、アラビア語という3つの言語のDecode Capabilityを設定するにあたっての、判断基準を示す図である。
上の表は、英語、日本語、アラビア語の文字フォントをレンダリングする能力の有無を示し、下の表は、英語、日本語、アラビア語の言語特性をサポートする能力の有無を示す。
この下側の表を参照すると、英語の字幕表示は、PGプレーン8にビットマップを書き込むにあたって、“横書き”,“カーニング”,“合字・抱き字”という機能がサポートされて初めて、言語特性がサポートされていると判断することができる(言語特性のサポート→1)。
日本語の字幕表示は、PGプレーン8にビットマップを書き込むにあたって、“横書き”,“縦書き”,“行末禁則”,“ルビ”という機能がサポートされて初めて、言語特性がサポートされていると判断することができる(言語特性のサポート→1)。
アラビア語の字幕表示は、PGプレーン8にビットマップを書き込むにあたって、“右から左の描画”、“合字・抱き字”という機能がサポートされて初めて、言語特性がサポートされていると判断することができる(言語特性のサポート→1)。
これらの機能は、コード列をビットマップに展開する機能(レンタリング)が前提になるから、本実施形態では、レンダリング能力と、言語特性のサポート能力とが満たされて初めて、PSR48〜61における、日本語、英語、アラビア語に対応するDecode Capabilityフラグをオン“1”に設定するよう規定しておく。
再生装置を商品化するにあたって、メーカーの技術者は、TextSTデコーダ12が、図34に示した複数の項目のうち、どれを具備しており、どれを具備していないかをチェックする。そしてレンダリング能力、サポート能力の具備を条件にして、PSR48〜61を設定する。こうしてことにより、Procedure実行部20がテキスト字幕ストリームをデコードできるか否かの判定が適切なものになり、各言語でのテキスト字幕表示の適切化を期することができる。
尚、PSR48〜61は、言語のDecode Capabilityの有無を示したが、言語ごとではなく、サポートすべき機能(横書き、縦書き、カーニング、行末禁則、合字・抱き字等)ごとに、言語特性をサポートしているか否かを示してもよい。この仕組みを用いると、言語ごとに、どの機能が必要かをあらかじめ決めておけば、言語数分のレジスタ領域を使わずにすむ。この場合、各機能をサポートしている場合は、フラグをONに、サポートしていなければフラグをOFFにしておけばよい。この場合、図34に示したような対応表が再生装置内に必要となるが、この対応表は、レジスタとしてではなく、プログラムとして組み込むことができるため、言語が増えてもアップデートできる可能性もある。
テキスト字幕ストリームの属性情報として、これまでに説明したように言語属性、つまり日本語や英語であるといった情報ではなく、表示するためにどの機能が必要であるかを、Clip情報に示しておいてもよい。
(第3実施形態)
第1実施形態では、PSR48〜61に示されるDecode Capabilityフラグの設定値のみを参照して、各言語の表示時刻の有無を判定したが、本実施形態は、字幕表示を可とする言語種を拡大する実施形態である。
対象となる言語が再生装置でサポートされていない場合、フォントデータはディスクあるいはダウンロードによって供給されるため、配置などがおかしなことはあるが、読めないことはないかもしれない。そのため、再生装置の状態やユーザーの設定により、サポートしていない言語も表示することを許してもよいし、サポートされていない言語が不適切に表示されて困る場合には表示は避けたい。
ここで言語特性のサポートがない言語(アンサポート言語)における字幕表示の可能性について説明する。図35(a)(b)は、縦書き項目が完全にサポートされている日本語字幕と、縦書き項目のサポートが不完全な日本語字幕とを示す図である。再生装置を製造するメーカーは、アンサポート言語が表示されることによって、文字が読めないなどという商品苦情があっては困る。こうした事情から、このような表示を禁止したいかもしれない。
ところが、日本語の適切な表示をサポートしていなくても、図35(b)に示すように、何とか読める可能性があり、音声として日本語が入っておらず、他の言語の音声や字幕を理解することができなければ、多少読みにくくてもユーザーは表示を望む可能性がある。再生装置の製造者は基本的には禁止しているが、ユーザーが望むのならば、表示を許可するような設定を再生装置で実現できれば、字幕表示可能な言語種別が格段に増え、ユーザに対する利便性が向上する。尚、ここでいう“ユーザ”とは、いわゆるエンドユーザ(最終消費者)をさすが、メーカの技術者であってもよく、いわゆる“操作者全般”の意味である。
以上のように、品質保証に細心の注意を払っているようなメーカーは、図35(b)のような字幕表示は禁じたいところであるが、ユーザによっては、図35(b)のような表示でも、字幕表示が存在することにはかわりないので、このような状態での字幕表示を希望することがある。
こうしたメーカー側の要望と、ユーザ側の要望との調和を図るべく、本実施形態では以下に示すような改良がなされている。アンサポート言語の選択を実現するため、本実施形態における再生装置は、図36に示すような内部構成を有する。本図における改良点は以下の通りである。
i)PSR30のb23〜b16に、アンサポート言語の選択を許可するか否かを示す許可フラグが存在していること。
ii)PSRの予約領域に、特定の言語圏に属する個々の言語がアンサポート言語であるか否かが示されていること。
iii)Procedure実行部20が、PSR30のb23〜b16に従ってアンサポート言語の選択を実行すること。
iv)セルフテスト部31、セットアップ部32が制御部15内に存在すること
である。
改良点その1.PSR30のb23〜b16
図37は、第3実施形態におけるPSR30のb23〜b16のビットアサインを示す図である。本図においてPSR30のb23〜b16に、サポートされていない言語のユーザー選択を許可するか否かがが示さている。
つまりPSR30のb23〜b16が“00000000(=OFF)”の場合は、サポートされていない言語はユーザーが選択しても表示されない。そもそも選択さえできなくしてもよい。このPSR30のb23〜b16が“10000000(=ON)”の場合は、適切な表示ではないかもしれないが、ユーザーが選択して画面上にテキスト字幕ストリームを表示することが可能となることを示す。以上がPSR30のb23〜b16に対する改良である。
続いて予約領域における改良について説明する。
改良点その2.予約領域
図38は、PSRの予約領域におけるビット構成を示す図である。この予約領域は、漢字圏等、特定の言語圏に属する個々の言語が、アンサポート言語であるか否かを示す。この予約領域における各ビットは、特定の言語圏に属する各言語に対応しており、このビットが“1”であるなら、その言語がアンサポート言語であることを示し、“0”であるなら、その言語は、対応するレンダリング能力が再生装置側にない言語(アンレンダリング言語)であることを示す。かかるビット設定により、特定の言語圏に属する言語については、アンサポート言語であるかどうかが判明することになる。尚、予約領域における各ビットが、どの言語に対応するかという割り当ては、図21に示したような割当テーブルを用いてなされる。以上がPSRに対する改良である。続いてセルフテスト部31に対する改良について説明する。
改良点その3.セルフテスト部31
セルフテスト部31は、工場出荷時において、レンダリング能力、言語特性のサポートの具備のテストをメーカーの技術者に行わせ、テスト結果に応じて、PSR48〜61の何れかを設定する。ここでセットアップ部32は、様々のテストパターンを保持しており、それらをTextSTデコーダ12に与えて、字幕表示における言語特性のサポートのテスト表示を実行させ、テスト結果を、ディスプレイに表示させる。レンダリング能力はあるが、サポート能力がないなら、メーカーの技術者からの操作に従い、その言語をアンサポート言語として登録する。レンダリング能力もサポート能力もないなら、メーカーの技術者からの操作に従い、その言語をアンレンダリング言語として登録する。
改良点その4.セットアップ部32
セットアップ部32は、ユーザによるリモコン300に対する操作に応じてセットアップメニューを表示して、PSR30のb23〜b16の設定値を書き換える。図39(a)は、セットアップメニューを示す図である。本図に示すようにセットアップメニューにより受け付けられる設定項目には、『国・地域』、『メニュー言語』、『音声言語』、『字幕言語』、『表示できる言語の拡張』という5つの項目がある。本セットアップ部32による特徴は、表示できる言語の拡張を行うかどうかの指定をユーザから受け付ける点である。
図39(b)は、言語種の拡張をユーザが意図した際、表示されるメニューを示す図である。本図におけるメニューは、アンサポート言語の一覧表示(図中のイタリア語、スペイン語、ロシア語・・・・・)と、このアンサポート言語のテキスト字幕ストリームを表示させる際の警告文Wn1と、言語種の拡張を実行するか否かの選択を受け付けるボタンbn1,bn2とを含む。
この警告文Wn1は、アンサポート言語の字幕を表示する際、字幕表示の一部がおかしくなることをユーザに警告するものである。そして上述のボタンbn1,bn2は、かかる警告にも拘らず、言語種の拡張を実行するか、しないかを受け付ける。以上が本実施形態における各構成要素の改良点である。続いて、Procedure実行部20、セルフテスト部31、セットアップ部32による処理手順を、図40のフローチャートを参照しながら説明する。
図40は、第3実施形態におけるテキスト字幕ストリームの判定手順を示すフローチャートである。本フローチャートは、図25のフローチャートに対し、ステップS16、ステップS17を加えた構成になっている。
このステップS16は、対象となるテキスト字幕ストリームが、アンサポート言語であるか否かを判定するものである。ステップS17は、PSR30のb23〜b16が1000 0000bであるかを判定するものである。ここでステップS16がYes、ステップS17がYesと判定された場合、このテキスト字幕ストリームはアンサポート言語であったとしても条件(a)を満たすとされる。一方、ステップS16、ステップS17のどちらかがNoであれば、条件(a)を満たさないと判定される。
図41は、セルフテスト部31の処理手順を示すフローチャートである。本フローチャートは、textST_language_codeにて表現される、430言語のそれぞれについて、ステップS42〜ステップS48の処理を繰り返すループ処理になっている。ループ処理において対象となる言語を言語uとすると、ステップS42は、言語のtextST_language_codeのPSR番号、ビット位置に変換するものである。
ステップS43は、言語のフォントをレンタリングする能力が有るかどうかの判定であり、もしレンタリングする能力が、ないとと判定されれば、PSRpのqビット目は、0に設定されることになる(ステップS48)。
ステップS44は、言語特性のサポートする能力があるかどうかの判定である。もし有ると判定されれば、PSRpのqビット目は、1に設定されることになる(ステップS45)。もしないと判定されれば、言語uをアンサポート言語として登録した上で(ステップS47)、PSRpのqビット目は、0に設定する(ステップS48)。
以上の処理を全ての言語について実行すれば、ステップS49、ステップS50の処理を行う。ステップS49は、アンサポート言語の字幕表示を実行するかどうかをユーザに問い合わせるステップである。アンサポート言語の字幕表示を実行させたいならステップS50を実行する。ステップS50は、PSR30のb23〜b16を1000 0000に設定する処理である。もしアンサポート言語の字幕表示を実行させたくないなら、ステップS50をスキップする。以上がセルフテスト部31の処理手順である。
図42は、セットアップ部32の処理手順を示すフローチャートである。セットアップ部32は、セットアップメニューを表示してから(ステップS51)、アンサポート言語が存在するか否かの判定を行う(ステップS52)。存在しないならステップS54に移行するが、存在すれば、“表示できる言語の拡張”を受け付けるための設定項目を、セットアップメニューに追加して(ステップS53)、セットアップメニューの設定項目における選択待ちを行う(ステップS54)。
設定項目が選択されれば、その選択項目が言語種の拡張であるかの判定を行う(ステップS55)。もし異なれば、国・地域、メニュー言語、音声言語、字幕言語の設定を行うよう、該当する処理手順を実行する(これらの処理手順は本発明の主眼ではないので説明は省略する)。
言語種の拡張であれば、図39のメニューを表示して(ステップS56)、ユーザからの操作待ちとなる(ステップS57、58)。移動キーが押下されれば(ステップS57でYes)、セットアップメニュー上のフォーカスを行う(ステップS59)。終了操作がなされれば(ステップS58でYes)、フォーカスが、拡張を意図するボタン上に存在するか否かを判定し(ステップS60)、存在しなければ、そのまま処理を終了する。存在すれば、PSR30のb23〜b16を10000000に設定して(ステップS61)、本フローチャートの処理を終了する。
以上のように本実施形態によれば、サポートしていない言語でも選択を許可するためのフラグ(PSR30のb23〜b16)を、メーカが設定することで、アンサポート言語をストリーム選択部17に選択させるか否かを切り換えることができる。フラグの設定1つで、アンサポート言語選択の可否を決定することができるので、再生装置を製造するメーカーが、品質保証を厳しくするために、アンサポート言語の選択を禁じたり、またユーザの自己責任にて、アンサポート言語の選択を許可したりするという、セッティング変更を容易に実行することができる。
これによりユーザは、字幕表示に不都合が生じることを承知した上で、不都合が生じるような言語のテキスト字幕を表示させることができる。ユーザによる自己責任により、アンサポート言語の字幕を、表示するので、ユーザとメーカーとの調和を図ることができる。
尚、サポートしていない言語でも選択を許可するためのフラグ(PSR30のb23〜b16)は、テキスト字幕ストリームとともにClip情報中に記録されていてもよい。また、再生装置とディスク上の両方に記録されていた場合、論理和をとってもよいし論理積をとって処理してもよい
(第4実施形態)
第3実施形態では、アンサポート言語の字幕表示をユーザが希望している場合、アンサポート言語を、Decode Capability有として判定するよう、処理を行ったが、本実施形態は、アンサポート言語の字幕表示をユーザが希望している場合、PSR48〜61における、そのアンサポート言語に対応するDecode Capabilityを、全て“Decode Capability有り”に設定するよう更新を行う実施形態である。
図43(a)(b)は、アンサポート言語の表示をユーザが希望していない場合と、希望した場合とで、Decode Capabilityの設定を対比して示す図である。図43(a)では、レンダリング能力=“1”であり、尚且つサポート能力=“0”である言語については、Decode Capabilityは“0”になっていることがわかる。
しかし図43(b)において、ユーザが、アンサポート言語の字幕表示をユーザが希望した際、レンダリング能力=“1”であり、尚且つサポート能力=“0”である言語についてのDecode Capabilityは“1”に変化していることがわかる。このように、レンダリング能力=“1”であり、尚且つサポート能力=“0”である言語についてのDecode Capabilityを“1”に変化させるよう、本実施形態では、更新処理を行う。
この更新処理を実現するための改良は、セットアップ部32に存在する。
図44は、第4実施形態に係るセットアップ部32の処理手順を示すフローチャートである。本フローチャートは、図42のフローチャートをベースにして作成されている。この図42のフローチャートとの違いは、ステップS61の代わりにステップS63が存在する点である。このステップS63は、言語種の拡張を意図するボタンに、フォーカスが存在すると判定された場合に(ステップS60でYes)、実行されるステップであり、アンサポート言語に対応する全ての言語のDecode Capabilityを示すDecode Capabilityフラグを、“1”に設定するものである。このステップS63の実行により、ユーザが言語種の拡張を希望した場合は、一律に、それらの言語に対応するDecode Capabilityフラグが、“1”に設定されることになる。
以上のように本実施形態によれば、ユーザの希望時において、PSR48〜61におけるアンサポート言語に対応するDecode Capabilityフラグを“1”に設定するので、PSR2を設定する際の設定手順が簡単になる。
(第5実施形態)
第5実施形態は、再生の途切れに関する実施形態である。ここで再生の途切れとは、AVClipを再生する際、プリロードされていないテキスト字幕ストリームをBD−ROMからバッファに読み込もうとすることにより、生じる再生の途切れである。かかる途切れは、STN_Tableに記述されていながら、プリロードすることができなかったテキスト字幕ストリームをユーザが選択しようとしたことから生じる。
ここで、SubPath情報で指定されるストリームが複数存在する場合、テキストコードバッファ10、フォントバッファ11の容量により、そのうちいくつかのストリームしかバッファに読み込むことができないこともある。プリロードされていないストリームに切り替えようとすると、BD−ROMに対するディスクシークを実行してデータを読み込む必要があるため、AVClipの再生が途切れる。
図45はテキストコードバッファ10、フォントバッファ11の容量が、3言語分しかなかった場合に、テキスト字幕ストリームの切替の様子を示している。
本図では、3つの言語にあたる日本語、フランス語、中国語のテキスト字幕ストリームをプリロードした後、MainPathの再生を開始している。図10に示されるSTN_Tableに基づき、ローダ13がプリロードを実行する際、ローダ13は、図45のようなプリロードを行う。図45は、ローダ13によるバッファへのプリロードを示す図である。つまりテキスト字幕ストリームのうち、STN_Tableの記述順序が高いものを順次バッファにロードしてゆき、そしてバッファが充填された段階でプリロードを終える。STN_Tableにおける順位が最も低いテキスト字幕ストリーム(本図ではアラビア語のテキスト字幕ストリーム)は、バッファにプリロードされなくなる。
バッファにプリロードされていないにも拘らず、STN_Tableには、アラビア語のテキスト字幕ストリームが記述されているので、ストリーム選択部17は、その非プリロードのテキスト字幕ストリームを、図46に示すように、再生対象に選ぶことがありうる。
ストリーム選択部17により選択されたテキスト字幕ストリームがバッファにない場合、これをメモリにロードするとの処理を行うので、AVClipの再生中に、テキスト字幕ストリームをバッファに読み込もうとする。この場合、ストリーム選択部17は、AVストリームの再生を一時中断し、アラビア語のテキスト字幕ストリームをテキストコードバッファ10、フォントバッファ11に読み込んでから、再生を中断した地点から再生を再開(Resume)するとの手順をとる。
図47は、AVClipの再生中において、非プリロードのテキスト字幕ストリームをユーザが選択した場合に、ローダ13が実行するロード処理を模式的に示す図である。
AVClipの再生中、光ピックアップは、AVClipをアクセスしているにも拘らず、非プリロードのテキスト字幕ストリームを読み出そうとすると、この読み出しには、図48(a)に示すようなAVClipの記録領域から、テキスト字幕ストリームの記録領域へのシーク、テキスト字幕ストリーム記録記録から、AVClip記録領域へのシークを伴うので、シークがなされている間、図48(b)に示すように、デコーダへのAVClip供給は途絶えることになり、AVClipの再生途切れが生じる。一部の言語のテキスト字幕ストリームについては、再生の途切れを生じさせない配慮を講じているのに、プリロードできなかった一部の言語について、かかる再生の途切れが生じるのは、不合理である。しかしユーザによっては、AVClipの再生途切れよりも、切り換え可能な言語種を広げたいという要望があり、再生途切れの解消を優先するか、言語種の拡大を重視するかという、要望にメーカは迷うことになる。
AVClipの連続再生、つまり、途切れることなくAVClipを再生させることの要求と、AVClipの再生が途切れてもストリームの切替を優先したい要求とは、様々な要因に応じて変動する。そこでどちらを優先するかの規範が、再生装置側に必要となる。本実施形態は、かかる規範を、再生装置側に設けるものである。
図49は、本実施形態に係る再生装置の内部構成を示す図である。以降、本図を参照しながら、本実施形態における再生装置の改良点について説明する。本実施形態における改良点は、以下の4つi)〜iv)である。
i)本図におけるローダ13に対する改良点は、プリロード管理テーブル33が追加されている点である。
ii)PSRセットに対する改良点は、許可フラグがPSRの予約領域に追加されている点である。
iii)ストリーム選択部17における改良点は、各PGストリーム、テキスト字幕ストリームを選択するかどうかの判定にあたって、上述した(a)(b)の判定基準に加え、許可フラグがオンになっているか、テキスト字幕ストリームがプリロードされているかという判断基準が加えられている点である。
iv)セットアップ部32における改良点は、許可フラグのオン/オフをユーザからの操作に従い、設定する点である。
以降本実施形態における再生装置の個々の改良点について詳しく説明する。
改良点その1.プリロード管理テーブル33
プリロード管理テーブル33は、STN_Tableに記述されたテキスト字幕ストリームのうち、どれがプリロードされているか、どれがプリロードされていないかを示すテーブルである。ローダ13は、テキストコードバッファ10、フォントバッファ11へのプリロードを行うにあたって、STN_Tableに基づきこのプリロード管理テーブルを作成し、個々のテキスト字幕ストリームのプリロードが完了すれば、そのテキスト字幕ストリームに対応する本テーブル上の項目をONにしてゆく。そうして、テキストコードバッファ10、フォントバッファ11が充填するまで、各テキスト字幕ストリームのプリロードを繰り返す。こうした処理により、プリロード管理テーブルには、プリロードが完了したテキスト字幕ストリーム、プリロードされなかったテキスト字幕ストリームが示されることになる。
改良点その2.シームレスフラグ
図50は、PSRの予約領域に設けられたシームレスフラグの一例を示す図である。図中の引き出し線は、シームレスフラグの意味内容を示す図である。本図におけるシームレスフラグは、PSRの予約領域に設けられており、“1”に設定されることにより、シームレス再生を優先する旨を示す。つまりAVClipの再生途切れが生じるようなテキスト字幕ストリームの選択を許可しない旨を示す。シームレスフラグが有効“1(=ON)”であれば、AVClipの途切れない再生(シームレス再生)を優先するため、プリロードされていないストリームへの切替は禁止される。シームレスフラグが無効“0(=OFF)”の場合は、AVClipのシームレス再生はそれほど重要ではないため、STN_Tableに登録されている全てのストリームに対して切替が可能となる。プリロードされていないストリームに切り替える場合は、AVClipの再生を中断して、ストリームを切り替える。以上がシームレスフラグについての説明である。
改良点その3.ストリーム選択部17
本実施形態にかかるストリーム選択部17は、シームレスフラグにおける設定値に基づき、AVClipの再生途切れを招くようなテキスト字幕切り換えをユーザが意図しているか否かを判定し、その判定に基づき、バッファにないテキスト字幕ストリームを、選択対象にするかどうかの選択手続きを実行する。
図51(a)に示すように、AVClipに多重されているPGストリーム、プリロードされているテキスト字幕ストリーム、プリロードされていないテキスト字幕ストリームが、STN_Tableに記述されているものとする。そして、シームレス再生を優先するよう、シームレスフラグが設定されている場合、状態遷移は図51(b)のようになる。図中の丸は、MainPath側のPGストリーム、プリロードされたSubPath側のテキスト字幕ストリーム、プリロードされていないSubPath側のテキスト字幕ストリームをそれぞれ模式的に示す。矢印は、各ストリーム間の切り換えを示す。シームレスフラグがオンなら、PGストリームからプリロードされたテキスト字幕ストリームへの切り換えや、プリロードされたテキスト字幕ストリームからPGストリームへの切り換えは可能になる。しかしシームレスフラグがオフなら、図51(c)に示すように、PGストリームから非プリロードテキスト字幕ストリームへの切り換えや、非プリロードテキスト字幕ストリームからPGストリームへの切り換えは不可能になる。以上がストリーム選択部17における改良点についての説明である。
改良点その4.セットアップ部32
セットアップ部32は、第3実施形態同様、ユーザによるリモコン300に対する操作に応じてセットアップメニューを表示して、PSRの予約領域におけるシームレスフラグの更新を行う。図52(a)は、本実施形態においてセルフテスト部31により表示されるセットアップメニューを示す図である。
本実施形態においてセットアップメニューにより受け付けられる設定項目には、『国・地域』、『メニュー言語』、『音声言語』、『字幕言語』、『表示できる言語の拡張』という5つの項目がある。本セットアップ部32による特徴は、表示できる言語を拡張するかどうかの指定をユーザから受け付ける点である。ここでの“言語の拡張”は、第1実施形態〜第3実施形態に示したものとは異なり、シームレス再生を実現するため、選択が禁止されている言語のテキスト字幕を、選択の対象に加えることを意味する。
図52(b)は、言語種の拡張をユーザが意図した際、表示されるメニューを示す図である。本図におけるメニューは、言語種の拡張が、映像の再生を中断させ得ることを示す警告文Wn2と、シームレス再生を保障する操作を受け付けるためのボタンbn3、シームレス再生よりも字幕切替を優先する操作を受け付けるボタンbn4とを示す。
警告文Wn2は、言語種の拡張が、映像の再生を中断させ得ることを示しており、そして上述のボタンbn3,4は、かかる警告にも拘らず、言語種の拡張を実行するか、しないかを受け付ける。かかる表示により、自己責任により、字幕表示を実行するか否かをユーザは選択することができる。これにより途切れることなくAVClipを再生させたいとの要望と、AVClipの再生が途切れてもストリームの切替を優先したいとの要望との調和を図ることができる。
以上が本実施形態における各構成要素の改良点である。続いて、本実施形態に係るストリーム選択部17による選択手順について説明する。
図53は、第5実施形態に係る、ストリーム選択部17による選択手順を示すフローチャートであり、本フローチャートは、図24を改良したものになっている。本フローチャートのステップS31、ステップS32は、図24同様、STN_tableに記述されているPGストリーム、テキスト字幕ストリームのそれぞれについて、ステップS33〜ステップS34、ステップS61の処理を繰り返すループ処理になっている。ステップS33、ステップS34の処理は、図24と同じであるが、ステップS61の処理は、図24と異なる。
具体的にいうと、ステップS61では、textST_streamiが以下の(a)(b)(c)(d)を満たすかを否かを判定している。
(a)テキスト字幕ストリームiをデコードする能力が再生装置に存在すること
(b)テキスト字幕ストリームiの言語属性が再生装置の言語設定と一致すること
(c)テキスト字幕ストリームiの表示に必要なデータがプリロードされているか
(d)シームレス再生が要求されているか
(c)の条件を具備しているかの判定は、プリロード管理テーブルを参照することでなされる。(d)の条件を具備しているかの判定は、PSRの予約領域における許可フラグを参照することでなされる。
以上のステップS33〜ステップS35の処理が全てのPG_textST_streamについて繰り返されれば、ステップS62〜ステップS63、ステップS65〜ステップS68の処理が実行される。
ステップS62は、シームレスフラグによりシームレス再生が要求されているか否かの判定であり、ステップS63は、条件(c)を満たすPGストリーム、テキスト字幕ストリームに表示可能なものが存在するか否かの判定である。
シームレスフラグによりシームレス再生が要求されていない場合、ステップS62がNoになり、図24と同様の処理を行う。つまり表示可能なPGストリーム、テキスト字幕ストリームが存在するか否かを判定して(ステップS65)、もし存在すれば、条件(a)、条件(b)を満たすPGストリーム、テキスト字幕ストリームのうち、STN_Tableでの順位が最も高いもをPSR2に設定する(ステップS67)。存在しなければ、Invalidな値をPSR2に設定する(ステップS68)。
シームレスフラグによりシームレス再生が要求されており(ステップS62でYes)、尚且つ条件(c)を満たすテキスト字幕ストリームが存在する場合(ステップS63でYes)、条件(a)、条件(b)、条件(c)を満たすPGストリーム、テキスト字幕ストリームのうち、最もエントリー順位が高いものを、PSR2に設定する(ステップS66)。
シームレスフラグによりシームレス再生が要求されているが(ステップS62でYes)、条件(c)を満たすテキスト字幕ストリームが存在しない場合(ステップS63でNo)、Invalidな値をPSR2に設定する(ステップS68)。以上が図53のフローチャートである。
図54は、図53のステップS66の処理を詳細に示したフローチャートである。
ステップS91は、条件(a)、条件(b)、条件(c)の全てを満たすPGストリーム、テキスト字幕ストリームが存在するか否かの判定である。もし存在すれば、条件(a)、条件(b)、条件(c)の全てを満たすPGストリーム、テキスト字幕ストリームのうち、STN_Tableにおける順位が最も高いものをPSR2に設定する(ステップS93)。
条件(a)、条件(b)、条件(c)の全てを満たすPGストリーム、テキスト字幕ストリームが存在しない場合、ステップS92が実行されることになる。ステップS92は、条件(a)、条件(c)を満たすPGストリーム、テキスト字幕ストリームが存在するか否かの判定である。もし存在すれば、条件(a)、条件(c)の全てを満たすPGストリーム、テキスト字幕ストリームのうち、STN_Tableにおける順位が最も高いものをPSR2に設定する(ステップS94)。
以上が本実施形態におけるProcedure実行部20の処理手順である。続いてセットアップ部32によるシームレスフラグの設定について説明する。図55は、セットアップ部32によるシームレスフラグの設定手順を示すフローチャートである。
図55は、セットアップ部32の処理手順を示すフローチャートである。セットアップ部32は、セットアップメニューを表示してから(ステップS71)、ステップS72、ステップS73の判定を実行する。ステップS72は、シームレスフラグがONに設定されているか否かの判定であり、ステップS73は、STN_Tableに記述されていながら、プリロードされていないテキスト字幕ストリームが存在するか否かの判定である。
ステップS72、ステップS73の双方がYesなら、言語種を拡張する操作を受け付けるための選択項目をセットアップメニューに追加する。ステップS72、ステップS73のどちらかがNoなら、このステップS74をスキップする。
続いてセットアップメニューの設定項目における選択待ちを行う(ステップS75)。設定項目が選択されれば、その選択項目が言語種の拡張であるかの判定を行う(ステップS76)。もし異なれば、国・地域、メニュー言語、音声言語、字幕言語の設定を行うよう、該当する処理手順を実行する(これらの処理手順は本発明の主眼ではないので説明は省略する)。
言語種の拡張をユーザが選択すれば、図52(b)のメニューを表示してユーザからの操作待ちとなる(ステップS78〜79)。移動キーが押下されれば(ステップS78でYes)、セットアップメニュー上のフォーカス移動を行う(ステップS80)。終了操作がなされれば(ステップS79でYes)、フォーカスが、“字幕切り替えを優先”を意図するボタン上に存在するか否かを判定し(ステップS81)、存在すればそのまま処理を終了する。字幕切り換え優先を意図するボタンにフォーカスが存在すれば、予約領域におけるシームレスフラグを“0”に更新して(ステップS82)、本フローチャートの処理を終了する。
以上のように本実施形態によれば、AVClipの連続再生、つまり、途切れることなくAVClipを再生させることの要求と、AVClipの再生が途切れてもストリームの切替を優先したい要求とが要求される場合において、どちらを優先するかが、シームレスフラグに示されるので、それらの要求の調和を図ることができる。
尚、本実施形態ではMainPath側のAVClipもSubPath側のテキスト字幕ストリーム及びフォントデータもともにBD−ROM上に記録されている場合を説明している。SubPath側のストリームがMainPathのデータとは違う記録媒体上、たとえばハードディスクのように比較的アクセスが早い記録媒体に、テキスト字幕ストリームが記録されており、AVClipのデコーダバッファのアンダーフローが起きないのであれば、たとえシームレスフラグが有効であり、AVClipのシームレス再生を優先させる場合においても、プリロードされていないストリームへの切替を許可してもよい。
また、SubPath側のストリームが光ディスク上にあったとしても、光ディスクのアクセススピードが十分速いため、AVClipのデコーダバッファのアンダーフローが起きないのであれば、たとえプリロードされていないストリームであっても切替を許可してもよい。
更に、MainPath再生中のシークは、MainPathと同じBD−ROM上にSubPath情報を構成するテキスト字幕ストリームが記録されているため発生するから、SubPath側のストリームをハードディスクなどのアクセスが早い記録媒体上にコピーした上で、MainPathの再生を開始しても良い。こうすることにより、再生中によけいなシークが発生することを抑制できる。
(第6実施形態)
第5実施形態では、AVClipのシームレス再生を優先するか、テキスト字幕ストリームの切り換えを優先するかを、PSRに示しておいたが、本実施形態は、STN_Tableに設ける実施形態である。本図におけるSTN_Tableは、Attribute−PIDの組みのうち、Attributeに、シームレスフラグが設けられている。図56(a)は、第6実施形態におけるSTN_Tableの内部構成を示す図である。本図に示すように、本実施形態におけるSTN_Tableには、テキスト字幕ストリームに対応するentryと、attributeとの組みのうち、attributeにシームレスフラグが存在する。
図56(b)は、STN_Tableに設けられたシームレスフラグの内容を示す。本図におけるシームレスフラグの意味内容は、図50と同じである。AVClipのシームレス再生を優先するか、字幕切り換え可能な言語種の多さを優先するかの指定がSTN_Table内のシームレスフラグにより規定されるので、どちらを優先すべきかをオーサリング担当者が予め規定しておくことができる。この場合、シームレスフラグを付与すべき単位は、ディスク全体の属性であってもよいし、再生単位であるプレイリストの属性であってもよいし、ストリームの属性であってもよい。
以上のように本実施形態によれば、通常の映画作品の場合、オーサーリング担当者はAVストリームの再生が途切れることを望んではいないため、STN_Tableに対する設定を通じて、その意向を、再生装置に伝えることができる。
(第7実施形態)
テキスト字幕ストリームの場合は、テキスト字幕ストリーム自身のプリロードと、フォントデータのプリロードの2種類のプリロードが必要になる。
プリロードされるデータとして2つのデータがそろわなければ、テキスト字幕ストリームは表示できない。そのため、STN_Tableにテキスト字幕ストリームが登録されていて、テキスト字幕ストリームがテキストコードバッファ10に読み込まれていたとしても、フォントデータがフォントバッファ11に読み込まれていなければ、表示することができないので、そのようなストリーム選択は禁止すべきである。
ところが、フォントバッファのサイズがフォントセット1個分の容量である場合、ID=1のフォントデータのフォントデータしか読み込んでおくことができず、途中からID=2のフォントデータのフォントデータに切り替える必要がある場合には、フォントバッファにデータを読み込まなければいけない。この時、これまで述べたように、AVストリームが途切れずに再生することが要求されているならば、フォントデータの再読込は制限されるべきである。
テキスト字幕ストリームの字幕表示には、フォントデータが必要であるが、このフォントデータのロードがAVClipの再生途上に発生した場合、ビデオストリームの再生が途切れることがある。
図57は、1本のテキスト字幕ストリームの途中において、使用するフォントが切り替わる例である。本図において時点までは、ID=1のフォントデータを用いて字幕を表示しているが、t1以降は、ID=2のフォントデータを用いて字幕を実現したとする。このID=2のフォントデータがバッファになければ、ローダ13がAVClipの再生中に、フォントデータをロードする。このフォントデータをロードするためのディスクシークが発生するため、ビデオストリームの再生の途切れが生じる。
ところで第2実施形態に示したように、テキスト字幕ストリーム内のスタイル情報には、フォントのIDあるいは名称と、どの時点でそのフォントが必要になるかが記録されている。しかしスタイル情報への記述のみでは、テキスト字幕ストリーム自体を解析しないとこれらフォントのIDを知ることができない。
そこで本実施形態では、Clip情報に、必要なフォントデータのIDを記述しておく。必要なフォントのIDがClip情報に列挙されているので、テキスト字幕ストリームが格納されているファイルを解析せずに必要なフォントのIDを調べることができる。
具体的にいうとBD−ROMを図58のように構成している。図58は、本実施形態における記録媒体の内部構成を示す図である。本図において0002〜0005.m2tsのファイルは、それぞれテキスト字幕ストリームを構成している。
また本図のディレクトリにおいて、ファイル0002〜0005.clpiは、AVClip#2〜#5のそれぞれに対応する、Clip情報である。この各AVClip(テキスト字幕ストリーム)に対応するClip情報は、そのテキスト字幕ストリームの再生に必要となるフォントデータの識別子を記述している。例えば、Clip情報#2のID=2のフォントデータ、ID=3のフォントデータは、このClip情報に対応するAVClipを再生するにあたってには、ID=2のフォントデータ、ID=3のフォントデータのフォントデータのプリロードが必要であることを示す。
Clip情報#3のID=1のフォントデータは、このClip情報に対応するAVClipを再生するにあたってには、ID=1のフォントデータのフォントデータのプリロードが必要であることを示す。
このように再生に必要となる全てのフォントデータの識別子が、Clip情報に記述されているので、ローダ13は、テキスト字幕ストリームをプリロードする際、Clip情報を参照することにより、そのテキスト字幕ストリームの再生に必要なフォントデータを、漏れなくバッファに読み込んでおくことができる。
図59は、実施形態におけるローダ13によるロード処理を示す図である。ここで、BD−ROMにおけるFontディレクトリに複数のフォントデータが記録されており、各テキスト字幕ストリームに対応するClip情報に、ID=2のフォントデータ、ID=3のフォントデータ、ID=1のフォントデータの識別子が記述されているとすると、ローダ13は、このディレクトリから、Clip情報に記述されている識別子に基づき、フォントデータをフォントバッファ11にプリロードする。日本語のテキスト字幕ストリームの再生時において、再生の途中でフォントが切り換わる場合でも、その両方のフォントデータの識別子をClip情報に記述しておけば、これらを漏れなく、フォントバッファ11にロードしておくことができる。
ここで図59のように、再生の途中でID=2のフォントデータのフォントデータが必要になる場合でも、Clip情報に、ID=2のフォントデータを記述しておけば、ローダ13が、このID=2のフォントデータに対応するテキスト字幕ストリームをバッファにプリロードするので、AVClip再生の途上における途切れを防止することができる。
尚、全てのフォントデータを再生装置組み込みのデータとして格納していてもよい。この場合、コード列さえあればいつでも文字を表示可能であるが、様々な言語の全てのフォントデータを再生装置組み込みとして実現するのは難しい。また、コンテンツ作成側にとっては、映画のイメージにあった独自のフォントで字幕などを表示したいため、フォントをあらかじめ組み込んでおくのはあまり効果的ではない。従って、フォントデータを再生装置に組み込むという考えは、フォントデータがなかった場合の例外対策程度のものとなる。
(第8実施形態)
先の実施形態では、必要なフォントデータを、Clip情報に記述していたが、本実施形態では、ファイル管理情報を設け、これにフォントデータの識別子を記述しておくことにする。
図60(a)は、本実施形態における記録媒体のディレクトリ構造を示す。FONTディレクトリには、4つのフォントデータが存在しており、このFONTディレクトリには、ファイル管理情報と、フォントデータID=1〜ID=3とが存在する。図60(b)は、ファイル管理情報の内部構成を示す。ファイル管理情報は、フォントデータID=1〜ID=3のそれぞれのプリロードが、必須であるか、任意的であるかを示す。必須のフォントとはテキスト字幕ストリームを表示する際に必ず必要になるフォントであり、任意のフォントとはユーザーが表示やフォントを切り替える際に必要になるかもしれないフォントである。必須のフォントは必ずAVストリームの再生前にフォントバッファ11に読み込んでおく必要がある。
図61は、ファイル管理情報に基づく、プリロードを示す図である。ファイル管理情報においてID=1のフォントデータ、ID=2のフォントデータのフォントデータのプリロードが必須と記述されているので、ローダ13は、図61に示すように、必須と記述されているフォントデータをバッファにロードしてゆく。そして、必須とされたフォントデータがバッファにロードされれば、バッファ上の残りの領域に、任意的と記述されたフォントデータをロードしてゆく。
以上のように本実施形態によれば、プリロードが必須であるか、任意的であるかが、ファイル管理情報に記述されているので、このファイル管理情報を参照してプリロードを行えば、AVClip再生を途切れさせるような、フォントデータのロードが発生する確率を減少させることができる。
尚、テキスト字幕ストリームを解析した結果、必要となるフォントデータが見つからない、あるいはプリロードされておらずシームレス再生が要求されているため読み込むことができない場合は、すでにテキストコードバッファ10、フォントバッファ11に読み込まれているフォントや再生装置組み込みのフォントで代用してもよい。
(第9実施形態)
本実施形態は、ストリームあるいは管理情報を工夫することにより、プリロードされていないストリームを読みに行かなければならなくなるような状況を排除する方法について述べる。
テキスト字幕ストリームには、字幕が存在しない空白期間が存在することがある。そしてPlayItem情報のうち、かかる空白期間を、IN点、Out_timeに指定するものは、対象となるテキスト字幕ストリームの一部が存在しないので、オーサリング担当者は、そのPlayItem情報のSTN_Tableにおけるテキスト字幕ストリームのPID登録を省くことがある。
しかし、たとえ空白期間であるとはいえ、PlayItem情報におけるSTN_Tableの記載を省略すると、以下のような不都合が生じる。
図62に示すように複数のPlayItemが連続して再生される状況を考える。PlayItem情報#1とPlayItem情報#2の境界ではシームレス再生が要求されているとする。Subpathに含まれていてプリロードされるべき日本語のテキスト字幕ストリームは、PlayItem情報#1では空白期間になっているので、STN_Tableにはには登録されておらず、PlayItem情報#2およびPlayItem情報#3の区間で再生されるとする。
ローダ13は、STN_Tableに基づき、プリロードを行う。ここでテキスト字幕ストリームのプリロードであるが、ローダ13がプリロードを行うのは、PlayList情報のうち、先頭のPlayItem情報(PlayItem情報#1)のSTN_Tableに記載されているテキスト字幕ストリームである。たとえ再生の途中に必要であっても、先頭のPlayItem情報のSTN_Tableに記述がないテキスト字幕ストリームについては、プリロードはなされない。図63は、STN_Tableに基づくプリロードを示す図である。本図において日本語は、PlayItem情報#2、PlayItem情報#3のSTN_Tableに記述されているものの、PlayItem情報#1には記述されていない。そのため、ローダ13は、日本語のテキスト字幕ストリームをプリロードしないことも有り得る。
PlayItem情報#2の再生が開始される際に、PlayItem情報#2のSTN_Tableにはプリロードされるストリームが必要なことが判定できるが、PlayItem情報#1とPlayItem情報#2はシームレス再生が要求されているため、AVストリームの再生を中断することができず、データをテキストコードバッファ10、フォントバッファ11に読み込むことができない。そのため、本来表示されることが期待されているプリロードされるストリームが表示されなくなってしまう。
そこで、連続して再生されるPlayItemにおいては、全てのSTN_Tableでプリロードされているべきストリームを登録しておく。PlayItem情報#1においては実際にPlayItem#1が表示されることはないが、STN_Tableに登録されているため、対象となるPlayItem#1はプリロードされる。PlayItem情報#2において必要になったときにはすでにプリロードされているデータを表示すればよい。図64は、あるPlayItem情報のIn_time、Out_timeにより指定されるテキスト字幕ストリームの一部が空白期間であっても、そのPlayItem情報のSTN_Tableに、テキスト字幕ストリームのPIDを記述しておく例である。つまり空白期間にあたるPlayItem情報のSTN_Tableは、ダミーの値に設定しておくのである。こうすることにより、日本語がプリロードされ、AVClipの再生の途上で日本語を選択したとしても、AVClipの再生を途切れさせることなく、日本語への切り換えを実行することができる。
(第10実施形態)
本実施形態では、先の実施形態と同様、空白期間に関する。先の実施形態では、空白期間が先頭のPlayItem情報に存在するとしたが、途中に空白期間が存在する場合を本実施形態では想定している。PlayItem情報のIn_time、Out_timeで指定されている部分が空白期間であると、そのPlayItem情報のSTN_Tableに、PIDを記述しないことがある。
図65は、PlayItem情報#1,#3のSTN_TableにはPGストリームのPIDが記述されているが、PlayItem情報#2において、PGストリームは空白期間になっていて、PlayItem情報#2のSTN_Tableには、PGストリームのPIDが登録されていないケースを示す図である。
この場合、PlayItem情報#2のSTN_Tableに登録されているストリームはプリロードされるテキスト字幕ストリームのみになってしまい、図66に示すように、必ずプリロードされるストリームが選ばれてしまう。
ここでPlayItem情報#1の再生時において、多重化されたPGストリームが選択されたため、PlayItem情報#1再生中にテキストコードバッファ10、フォントバッファ11の内容が破壊されたとする。このような場合、すでにテキストコードバッファ10、フォントバッファ11から削除されているにもかかわらず、ローダ13は、再び読み込みを行おうとする。
更に、PlayItem情報#1とPlayItem情報#2の境界でシームレス再生が要求されていると、そのような読み込みを実行することができず、選択しているのに表示することができなくなる。
このような状況を防ぐために、たとえPlayItem情報#2において多重化されたストリームが存在しないとしても、図67に示すように、ダミーとしてPGストリームのPIDをSTN_Tableに登録しておく。ダミーのPIDをSTN_Tableに登録しておくことで、空白期間においても、PGストリームが選択されることがあるが、たとえ選択されたとしても何も表示されないだけであって、ストリーム選択に問題はない(図68)。また、必然的にプリロードされるストリームが選ばれるのを防ぐことができるため、シークが発生せず、再生が中断することをオーサリング段階で防ぐことが可能となる。
(備考)
以上の説明は、本発明の全ての実施行為の形態を示している訳ではない。下記(A)(B)(C)(D)・・・・・の変更を施した実施行為の形態によっても、本発明の実施は可能となる。本願の請求項に係る各発明は、以上に記載した複数の実施形態及びそれらの変形形態を拡張した記載、ないし、一般化した記載としている。拡張ないし一般化の程度は、本発明の技術分野の、出願当時の技術水準の特性に基づく。
(A)全ての実施形態では、再生の対象となる記録媒体をBD−ROMとして実施したが、本発明の記録媒体は、記録されるグラフィクスストリームに特徴があり、この特徴は、BD−ROMの物理的性質に依存するものではない。グラフィクスストリームを記録しうる記録媒体なら、どのような記録媒体であってもよい。例えば、DVD−ROM,DVD−RAM,DVD−RW,DVD−R,DVD+RW,DVD+R,CD−R,CD−RW等の光ディスク、PD,MO等の光磁気ディスクであってもよい。また、コンパクトフラッシュ(登録商標)カード、スマートメディア、メモリスティック、マルチメディアカード、PCM−CIAカード等の半導体メモリカードであってもよい。フレシキブルディスク、SuperDisk,Zip,Clik!等の磁気記録ディスク(i)、ORB,Jaz,SparQ,SyJet,EZFley,マイクロドライブ等のリムーバルハードディスクドライブ(ii)であってもよい。更に、機器内蔵型のハードディスクであってもよい。
(B)全ての実施形態における再生装置は、BD−ROMに記録されたAVClipをデコードした上でTVに出力していたが、再生装置をBD−ROMドライブのみとし、これ以外の構成要素をTVに具備させてもい、この場合、再生装置と、TVとをIEEE1394で接続されたホームネットワークに組み入れることができる。また、実施形態における再生装置は、テレビと接続して利用されるタイプであったが、ディスプレイと一体型となった再生装置であってもよい。更に、各実施形態の再生装置において、処理の本質的部分をなすシステムLSI(集積回路)のみを、実施としてもよい。これらの再生装置及び集積回路は、何れも本願明細書に記載された発明であるから、これらの何れの態様であろうとも、第1実施形態に示した再生装置の内部構成を元に、再生装置を製造する行為は、本願の明細書に記載された発明の実施行為になる。第1実施形態に示した再生装置の有償・無償による譲渡(有償の場合は販売、無償の場合は贈与になる)、貸与、輸入する行為も、本発明の実施行為である。店頭展示、カタログ勧誘、パンフレット配布により、これらの譲渡や貸渡を、一般ユーザに申し出る行為も本再生装置の実施行為である。
(C)各フローチャートに示したプログラムによる情報処理は、ハードウェア資源を用いて具体的に実現されていることから、上記フローチャートに処理手順を示したプログラムは、単体で発明として成立する。全ての実施形態は、再生装置に組み込まれた態様で、本発明に係るプログラムの実施行為についての実施形態を示したが、再生装置から分離して、第1実施形態に示したプログラム単体を実施してもよい。プログラム単体の実施行為には、これらのプログラムを生産する行為(1)や、有償・無償によりプログラムを譲渡する行為(2)、貸与する行為(3)、輸入する行為(4)、双方向の電子通信回線を介して公衆に提供する行為(5)、店頭、カタログ勧誘、パンフレット配布により、プログラムの譲渡や貸渡を、一般ユーザに申し出る行為(6)がある。
(D)各フローチャートにおいて時系列に実行される各ステップの「時」の要素を、発明を特定するための必須の事項と考える。そうすると、これらのフローチャートによる処理手順は、再生方法の使用形態を開示していることがわかる。各ステップの処理を、時系列に行うことで、本発明の本来の目的を達成し、作用及び効果を奏するよう、これらのフローチャートの処理を行うのであれば、本発明に係る記録方法の実施行為に該当することはいうまでもない。
(E)BD−ROMに記録するにあたって、AVClipを構成する各TSパケットには、拡張ヘッダを付与しておくことが望ましい。拡張ヘッダは、TP_extra_headerと呼ばれ、『Arribval_Time_Stamp』と、『copy_permission_indicator』とを含み4バイトのデータ長を有する。TP_extra_header付きTSパケット(以下EX付きTSパケットと略す)は、32個毎にグループ化されて、3つのセクタに書き込まれる。32個のEX付きTSパケットからなるグループは、6144バイト(=32×192)であり、これは3個のセクタサイズ6144バイト(=2048×3)と一致する。3個のセクタに収められた32個のEX付きTSパケットを”Aligned Unit”という。
IEEE1394を介して接続されたホームネットワークでの利用時において、再生装置は、以下のような送信処理にてAligned Unitの送信を行う。つまり送り手側の機器は、Aligned Unitに含まれる32個のEX付きTSパケットのそれぞれからTP_extra_headerを取り外し、TSパケット本体をDTCP規格に基づき暗号化して出力する。TSパケットの出力にあたっては、TSパケット間の随所に、isochronousパケットを挿入する。この挿入箇所は、TP_extra_headerのArribval_Time_Stampに示される時刻に基づいた位置である。TSパケットの出力に伴い、再生装置はDTCP_Descriptorを出力する。DTCP_Dscriptorは、TP_extra_headerにおけるコピー許否設定を示す。ここで「コピー禁止」を示すようDTCP_Descriptorを記述しておけば、IEEE1394を介して接続されたホームネットワークでの利用時においてTSパケットは、他の機器に記録されることはない。
(F)各実施形態におけるデジタルストリームは、BD−ROM規格のAVClipであったが、DVD−Video規格、DVD−Video Recording規格のVOB(Video Object)であってもよい。VOBは、ビデオストリーム、オーディオストリームを多重化することにより得られたISO/IEC13818−1規格準拠のプログラムストリームである。またAVClipにおけるビデオストリームは、MPEG4やWMV方式であってもよい。更にオーディオストリームは、Linear−PCM方式、MP3方式、MPEG−AAC方式であってもよい。
(G)各実施形態における映画作品は、アナログ放送で放送されたアナログ映像信号をエンコードすることにより得られたものでもよい。デジタル放送で放送されたトランスポートストリームから構成されるストリームデータであってもよい。
またビデオテープに記録されているアナログ/デジタルの映像信号をエンコードしてコンテンツを得ても良い。更にビデオカメラから直接取り込んだアナログ/デジタルの映像信号をエンコードしてコンテンツを得ても良い。他にも、配信サーバにより配信されるデジタル著作物でもよい。
(H)ストリーム選択部17は、操作受付部3から出力されたUser Operation情報、IGストリームにおけるボタンコマンドに基づき、PSRに設定すべき値(値X)を決定し、この値Xに基づき、PSRを更新する処理を行ってもよい。ここで操作受付部3から出力されたUser Operation情報が、音声切換キー、副映像切換キーの押下を示すものであるなら、PSRの数値に1を加えた値を値Xとして決定する。また操作受付部3から出力されたUser Operation情報が数値キーの押下を示すものなら、その押下された値を値Xとして決定する。一方、操作受付部3から出力されたボタンコマンドがPSRの設定を再生装置に命じるものなら、そのボタンコマンドの引数で指定された値を値Xとして決定する。このようにして値Xが決定されれば、値Xが有効な値(Valid)であるか、不定値であるかは、無効な値(Invalid)であるかを判定し、判定結果に応じたPSR更新処理を行う。ここで値Xが有効であるなら、値Xを用いてPSRを上書きする。値Xが不定値であるなら、最適な値を選んでPSRに設定する。値Xが無効な値であるなら、PSRの数値を維持する。
(I)セットアップメニューを表示して、字幕の言語設定を受け付けるにあたって、設定のためのメニューに”おまかせボタン”なるボタンを設けてもよい。かかるボタンに対応するボタン情報は、PSR2に不定値を設定するボタンコマンドを有している。おまかせボタンの確定で、かかるボタンコマンドが実行されれば、PSR1、PSR2に不定値が設定され、Procedure when playback condition is changedが起動されて最適なオーディオストリーム、PG_textST_streamが選択されることになる。
(J)第1実施形態において、満たすべき条件は(a)〜(b)の2つであったが、3つ以上であってもよい。
本発明に係る再生装置は、上記実施形態に内部構成が開示されており、この内部構成に基づき量産することが可能なので、資質において工業上利用することができる。このことから本発明に係る再生装置は、産業上利用可能性を有する。
本発明は、テキスト字幕表示技術の技術分野に属する発明である。
テキスト字幕表示とは、テキストコードで表現された字幕を、映画における個々のピクチャと同期して表示させる技術であり、BD-ROM(Blu-rayDiscRead Only Memory)再生装置の特有の技術の1つである。字幕の表現には、DVDで実現されているような、ビットマップによる表現と、文字コードによる表現とがある。字幕がビットマップで表現されれば、どの再生装置で再生しても、見栄えは同じになる。見た目を重視する映画作品の場合は、字幕をビットマップで表現することに大きな意味はある。その一方、ビットマップによる表現では、字幕の一文字一文字を作成せねばならないので、ほんの数文字、数行の字幕を記録媒体に記録するためにも、大きなデータサイズが必要となる。
BD-ROMは、DVDより大容量の記録媒体であるため、字幕をビットマップで表現して、ビデオストリームと多重しておいても差し支えない。しかし字幕をBD-ROMとは別に配布する場合、たとえば、ネットワークを通じたダウンロードや、メモリカードを介して再生装置に供給する場合、字幕のデータサイズがあまり大きくなってしまうのは望ましくない。BD-ROMに記録し得たとしても、メモリに字幕を常駐させておくために大規模なメモリを必要としたり、またダウンロードに長い時間がかかるので、データサイズは小さければ小さい方がよい。
これに対しテキスト字幕では、字幕が文字コードで表現されている。具体的にいうと、字幕一文字当たりの情報量は、ASCIIコードなどでは、1バイトになるし、JISコードなどでも、2バイトになる。汎用的な文字コードとしてUnicodeなどを用いれば、日本語の他に、中国語や韓国語といった複雑な文字体系もサポートすることが可能である。字幕を文字コードとして配布する場合、データのサイズは非常に小さくなり、インターネットを通じて配布するような場合には非常に有効になる。こうした事情から、今後普及するであろうBD-ROM再生装置は、テキスト字幕の表示機能を搭載する予定である。
かかるテキスト字幕の表示にあたってBD-ROM再生装置は、フォントを用いて、字幕を構成するコードを、ビットマップに展開し、このビットマップを、ビデオストリームにおける個々のピクチャと同期して表示するよう制御を行う。
尚、テキスト字幕の表示技術に関しては、以下の特許文献に示される先行技術がある。
特開2000-228656号公報
ところで、テキスト字幕として表示が予定されている言語の種類は、430言語に及ぶといわれている。これら430種類もの言語のテキスト字幕を、再生できるかどうかは、言語特性のサポートが存在するかによって変わる。日本語の"縦書き"という特性をサポートする場合を例にとって考えてみると、単に字幕の文字を縦方向に並べただけでは足りず、その縦書き表示に伴う、修正を施す必要がある。具体的にいうなら、括弧の形や文字の位置、長音の形を、横書き時とは異なる、独特なものにしておく必要がある。
ある言語での字幕表示が要求された場合、再生装置側に、その言語のフォントをレンタリングする能力がない場合、又は、フォントのレンタリングはあるが、言語特性のサポートする能力がないような場合は、字幕が文字化けして現れたり、またテキスト字幕が表示されたとしても、その言語の習熟者から見て、不自然な態様で、テキスト字幕が表示されることがありうる。
パソコンソフトの業界では、このような不都合な表示がなされたとしても、"よくあること"で済まされるかもしれない。WWWサイト閲覧ソフトでは、かかる表示が多々みられる。しかし民生機器の分野では、パソコンソフトの業界とは比べ物にならない、厳しい品質管理が要求されるため、文字化けや不自然な態様での表示を回避したいとの要望がすこぶる強い。しかしながらテキスト字幕の言語種は430言語にも及ぶので、文字化けや不自然な態様での表示が存在するか否かを、それぞれの言語について精査するというのは、再生装置を製造するメーカーにとって重荷になってしまう。
本発明の目的は、表示が予定されている言語が何百種類に及ぶ場合であっても、ユーザが表示を希望する言語での、字幕表示の可能性を即座に判定することができる再生装置を提供することである。
上記目的を達成するため、本発明に係る再生装置は、複数テキスト字幕ストリームのうち1つを選択して、選択したテキスト字幕ストリームを、動画と共に再生するものであり、複数のフラグを記憶しており、各フラグの設定値にて、言語毎のテキスト字幕のデコード能力の有無を表すレジスタセットと、レジスタセットにおける各フラグの設定値を参照することにより、複数のテキスト字幕ストリームのそれぞれをデコードできるか否かを判定する判定手段と、デコードできると判定されたテキスト字幕ストリームを選択する選択手段とを備えることを特徴としている。
レジスタセットには、テキスト字幕をデコードすることができる能力の有無が、言語毎に示されているので、ユーザがある言語でのテキスト字幕表示を希望した場合、その言語でのテキスト字幕表示の可能性の有無を、レジスタセットにおける各ビットの設定値を参照することにより、即座に判定することができる。
各ビットの設定値を参照するだけで、何れかの言語でのテキスト字幕の表示可能性の有無を判定することができるので、たとえ、テキスト字幕の言語種が何百言語に及んだとしても、所望の言語での、字幕表示の可能性を即座に判定することができる。
(第1実施形態)
以降、本発明に係る記録媒体の実施形態について説明する。先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為についての形態を説明する。図1は、本発明に係る再生装置の、使用行為についての形態を示す図である。図1において、本発明に係る再生装置は、再生装置200である。この再生装置200は、リモコン300、テレビ400により形成されるホームシアターシステムに、映画作品を供給するという用途に供される。
以上が本発明に係る再生装置の使用形態についての説明である。続いて本発明に係る再生装置が再生の対象としている、記録媒体について説明する。本発明に係る再生装置により、再生されるのは、BD-ROMである。図2は、BD-ROMの内部構成を示す図である。
本図の第4段目にBD-ROMを示し、第3段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第1段目のようになる。この第1段目においてBD-ROMには、Rootディレクトリの下に、BDMVディレクトリがある。
BDMVディレクトリの配下には、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、BDJAディレクトリと呼ばれる4つのサブディレクトリが存在する。
STREAMディレクトリには、いわばデジタルストリーム本体となるファイルを格納しているディレクトリであり、拡張子m2tsが付与されたファイル(00001〜00003.m2ts)が存在する。
PLAYLISTディレクトリには、拡張子mplsが付与されたファイル(00001〜00003.mpls)が存在する。
CLIPINFディレクトリには、拡張子clpiが付与されたファイル(00001〜00003.clpi)が存在する。以下、これらのファイルについて説明する。
<AVClip>
先ず初めに、拡張子.m2tsが付与されたファイルについて説明する。図3は、拡張子.m2tsが付与されたファイルがどのように構成されているかを模式的に示す図である。拡張子.m2tsが付与されたファイル(00001.m2ts,00002.m2ts,00003.m2ts・・・・・)は、AVClipを格納している。AVClipは(中段)、複数のビデオフレーム(ピクチャpj1,2,3)からなるビデオストリーム、複数のオーディオフレームからなるオーディオストリームを(上1段目)、PESパケット列に変換し(上2段目)、更にTSパケットに変換し(上3段目)、同じく字幕系のプレゼンテーショングラフィクスストリーム(下1段目のPGストリーム)及び対話系のインタラクティブグラフィクスストリーム(下2段目のIGストリーム)をTSパケットに変換して(下3段目)、これらを多重化することで構成される。
プレゼンテーショングラフィクスストリームは、言語毎の字幕を構成するグラフィクスストリームである。
IGストリームは、対話制御を実現するグラフィクスストリームであり、メニュー、ボタン等のGUI部品を構成するグラフィクスデータ、ボタンの押下時において、再生装置に実行させるべきコマンド(ボタンコマンド)などを含む。
AVClipは、図3に示したように多重化がなされているストリームはMainClipと呼ばれる。この他に、多重化がなされていないものものある。かかるAVClipは、SubClipと呼ばれ、オーディオストリーム、PGストリーム、テキスト字幕ストリーム(TextSTStream)等を構成するAVClipが存在する。
<Clip情報>
拡張子"clpi"が付与されたファイル(00001.clpi)は、AVClipのそれぞれに1対1に対応するClip情報である。管理情報故に、Clip情報は、AVClipにおけるストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、対応するストリームにおける複数のエントリー位置を示すEP_mapをもっている。
<PlayList情報>
拡張子"mpls"が付与されたファイル(00001.mpls)は、PlayList(PL)情報を格納したファイルである。PlayList情報は、MainPath、Subpathと呼ばれる2種類の再生経路を束ねたものをPlaylist(PL)として定義する情報である。図4は、プレイリスト情報のデータ構造を示す図であり、本図に示すようにプレイリスト情報は、MainPathを定義するMainPath情報(MainPath())と、Subpathを定義するSubpath情報(Subpath())とからなる。
MainPathとは、主たるAVClip上に定義される再生経路である。一方Subpathは、SubClip上に定義される再生経路である。

PlayList情報の詳細その1
<MainPath>
先ずMainPathについて説明する。MainPathは、主映像たるビデオストリームやオーディオストリームに対して定義される再生経路である。
MainPathは、矢印mp1で示すように複数のPlayItem情報(・・・PlayItem()・・・)から定義される。PlayItem情報は、MainPathを構成する1つ以上の論理的な再生区間を定義する。PlayItem情報の構成は、引き出しmp2によりクローズアップされている。この引き出し線に示すようにPlayItem情報は、再生区間のIN点及びOut点が属するAVClipの再生区間情報のファイル名を示す『Clip_Information_file_name』と、再生区間の始点を示す時間情報『IN_time』と、再生区間の終点を示す時間情報『OUT_time』と、AVClipやSubClipに多重化されているエレメンタリストリームのうち、再生可能なものを示す『STN_table』とから構成される。
図5は、AVClipと、PlayList情報との関係を示す図である。第1段目はAVClipがもつ時間軸を示し、第2段目は、PlayList情報がもつ時間軸を示す。PlayList情報は、PlayItem#1,#2,#3という3つのPlayItem情報を含んでおり、これらPlayItem#1,#2,#3のIn_time,Out_timeにより、3つの再生区間が定義されることになる。これらの再生区間を配列させると、AVClip時間軸とは異なる時間軸が定義されることになる。これが第2段目に示すPL時間軸である。このように、PlayItem情報の定義により、AVClipとは異なる時間軸の定義が可能になる。

PlayList情報の詳細その2
<Subpath>
MainPathが、主映像たるビデオストリームやオーディオストリーム上に定義される再生経路であるのに対し、Subpathは、MainPathと同期すべきテキスト字幕ストリームやオーディオストリームに対して定義される再生経路である。
MainPathにおいて、主映像たるビデオストリームは、関連するオーディオストリームなどとともに多重化されて1本のストリームになっている。BDコンテンツを作成する際には、あらかじめ必要なストリームが判明しているため、同期再生すべき全てのストリームを1本のストリームとして多重化しておけばよい。それに対して、Subpathは、ダウンロードされたテキスト字幕ストリーム等、多重化はされないが、同期再生が必要なストリームである。たとえば、ある映画作品を、世界の様々な地域に頒布しようとした場合、オーサリング担当者は、欧米向けに出荷されるBD-ROMでは英語字幕しか入っていなかったけれど、日本向けに出荷されるBD-ROMには、日本語の字幕を、追加したいと考えることがある。しかし、日本語字幕を構成するストリームを作成し、これをビデオストリームに多重するという手間を払っていたのではコストがかかってしまう。
BD-ROMでは、SubPath情報を用いることにより、日本語字幕を構成する字幕ストリームだけをSubpathとして、MainPathに追加することができる。これにより日本語版作成を可能にさせるというのがSubpathの利点である。
図6は、Subpath情報の内部構成をクローズアップして示す。この矢印sh1に示すように各Subpathは、1つ以上のSubPlayItem情報(・・・SubPlayItem()・・・)からなる。また各SubPlayItem情報は、図中の矢印sh2に示すように『Clip_information_file_name』、『SubPlayItem_In_time』、『SubPlayItem_Out_time』、『sync_PlayItem_id』、『sync_start_PTS_of_PlayItem』からなる。
『Clip_information_file_name』は、Clip情報のファイル名を記述することにより、SubPlayItemに対応するSubClipを一意に指定する情報である。
『SubPlayItem_In_time』は、SubClipの再生時間軸上における、SubPlayItemの始点を示す情報である。
『SubPlayItem_Out_time』は、SubClipの再生時間軸上における、SubPlayItemの終点を示す情報である。
『sync_PlayItem_id』は、MainPathを構成するPlayItemのうち、本SubPlayItemが同期すべきものを一意に指定する情報である。SubPlayItem_In_timeは、このsync_PlayItem_idで指定されたPlayItemの再生時間軸上に存在する。
『sync_start_PTS_of_PlayItem』は、sync_PlayItem_idで指定されたPlay Itemの再生時間軸上において、SubPlayItem_In_timeで指定されたSubPlayItemの始点が、どこに存在するかを示す。SubPlayItemの再生時において、現在の再生時点が、このsync_start_PTS_of_PlayItemで指示される時点に到来した場合、SubPlayItemによる再生が開始される。SubpathをMainPathと同期させるには、Subpath上の再生開始時刻をMainPath上のどの時刻に合わせるかを、sync_start_PTS_of_PlayItemで指定すればよい。たとえば、MainPath上の再生開始から300秒経った位置から、Subpathで指定されるストリームの再生を開始するよう、sync_start_PTS_of_PlayItemで指定すればよい。再生装置側では、Clock Counterが適切なタイミングで、MainPathを構成するストリームおよびSubpathを構成するストリームを多重分離部に転送している。ClockCounterは、Clock Generatorの時刻を元に、同じ時間精度で現在時刻を計時しているので、上述したようなsync_start_PTS_of_PlayItemの指定により、MainPath、SubPath情報の再生を高い精度で同期させることができる。
図7は、SubPlayItem時間軸上の再生区間定義と、同期指定とを示す図である。本図において第1段目は、PL時間軸を示し、第2段目はSubPlayItem時間軸を示す。図中のSubPlayItem.IN_timeは再生区間の始点を、SubPlayItem.Out_timeは再生区間の終点をそれぞれ示す。これによりSubPlayItem時間軸上にも再生区間が定義されていることがわかる。矢印Sn1においてSync_PlayItem_Idは、PlayItemに対する同期指定を示し、矢印Sn2においてsync_start_PTS_of_PlayItemは、PL時間軸におけるPlayItem上の一時点の指定を示す。
Play Itemの再生時間軸上において、現在の再生時点がsync_start_PTS_of_PlayItemで指示される時点に到達した際、Clip_information_file_nameで指定されたSubClip(テキスト字幕ストリーム)のうち、SubPlayItem_In_timeからSubPlayItem_Out_timeまでの部分が再生されることになる。かかる再生により、テキスト字幕ストリームのうち、SubPlayItem_In_time、SubPlayItem_Out_timeで指定された部分がAVClipと同期再生されることになる。以上がSubpathについての説明である。
上述したPlay Item情報の構成においてSTN_tableは、本発明の実施になくてはならない必要不可欠な要素である。以降STN_tableについてより詳細に説明する。

PlayList情報の詳細その3
<STN_table>
STN_tableは、Play ItemのClip_Information_file_nameで指定されているAVClipに多重化された複数エレメンタリストリームやSubPlayItemのClip_Information_file_nameで指定されているSubClip内のエレメンタリストリームのうち、再生可能なものを示すテーブルである。具体的にいうと、複数エレメンタリストリームのそれぞれについてのentryを、attributeと対応付けることで構成される。ここで"再生可能なエレメンタリストリーム"とは、PlayItemにより指定されているAVClipに多重されているエレメンタリストリームを主として意味する。しかしこれだけではなく、AVClipとは別個に記録されながら、このエレメンタリストリームと共に再生されるエレメンタリストリーム(テキスト字幕ストリーム)も含む。
図8(a)は、STN_tableの内部構成を示す図である。本図に示すようにSTN_tableは、STN_tableにおけるentryと、attributeとの組み(entry-attribute)を複数含み、これらentry−attributeの組みの個数(number_of_video_stream_entries,number_of_audio_stream_entries,number_of_PG_textST_stream_entries,number_of_IG_stream_entries)を示すデータ構造になっている。
entry-attributeの組みは、図中の括弧記号"{"に示すように、Play Itemにおいて再生可能なビデオストリーム、オーディオストリーム、PGストリーム、テキスト字幕ストリーム、IGストリームのそれぞれに対応している。
entry−attributeの詳細について説明する。図8(b)〜(c)は、entry−attributeの詳細を示す図である。
図8(b)は、PGストリームに対応したentry−attributeの組みを示す図である。
PGストリームにおけるentryは、AVClipを多重分離するにあたって、当該PGストリームの抽出に用いられるPIDを示す『ref_to_stream_PID_of_mainClip』を含む。
PGストリームにおけるattributeは、0x90に設定されることによりPGストリームのコーディックを示す『stream_coding_type』と、対応するPGストリームの言語属性を示す『PG_languagecode』とからなる。『PG_language code』とは、対応するPGストリームの言語属性を、IS0639-2/Tの言語コード(languagecode)により表したものである。
図8(c)は、テキスト字幕ストリーム(textSTstreamと表記することがある。)に対応したentry−attributeの組みを示す図である。
テキスト字幕ストリームにおけるentryは、テキスト字幕ストリームを格納したAVClipのentry識別子を示す『ref_to_subClip_entry_ID』と、同期情報のIDを示す『ref_to_subPath_ID』と、テキスト字幕ストリームに付加されたPIDを示す『ref_to_stream_PID_of_subClip』とからなる。
テキスト字幕ストリームにおけるattributeは、0x92に設定されることによりテキスト字幕ストリームのコーディックを示す『stream_coding_type』と、対応するテキスト字幕ストリームのキャラクタコードを示す『charactercode』と、対応するテキスト字幕ストリームの言語属性を示す『textST_language_code』とからなる。『textST_language_code』とは、対応するテキスト字幕ストリームの言語属性を、IS0639-2/Tの言語コード(languagecode)により表したものである。
以上がSTN_Tableの内部構成である。

PlayList情報の詳細その4
<PlayList情報の具体例>
以降、各実施形態で引用するPlayList情報の具体例について説明する。図9は、第1実施形態で取り上げるAVClipの一例を示す図であり、図10は、第1実施形態で取り上げる、PlayList情報の一例を示す図である。本実施形態で引用するPlayList情報は、3つのPlayItem情報(PlayItem情報#1〜PlayItem情報#3)と、4つのSubPath情報(SubPath情報#1〜SubPath情報#4)とからなる。このうち4つのSubPath情報のClip_information_file_nameは4つの異なるClip情報を示している。
これら4つのClip情報のうち、SubPath情報#1に対応するAVClipが、日本語のテキスト字幕ストリーム、SubPath情報#2に対応するAVClipが、フランス語のテキスト字幕ストリーム、SubPath情報#3に対応するAVClipが中国語のテキスト字幕ストリーム、SubPath情報#4に対応するAVClipがアラビア語のテキスト字幕ストリームであるなら、これらのテキスト字幕ストリームが、SubPath情報として、MainPathと共に再生されることになる。一方、これらのMainPathにおける3つのPlayItem情報は、図5に示したものと同じであり、1つのPlayList時間軸を構成する。これらのPlayItem情報のClip_information_file_nameに記述されているのが、Clip情報のファイルであり、このClip情報には、ビデオストリームと、PGストリームとを多重したAVClipが対応しているものとする。
また図中の引き出し線cs1,cs2,cs3はPlayItem情報#1〜PlayItem情報#3のSTN_Tableの構成をクローズアップしている。この引き出し線に示すように、STN_Tableには、AVClipに多重されているPGストリームと、SubPath情報にて指定されているテキスト字幕ストリームのPIDが記述されているものとする。その結果、1:英語、2:日本語、3:フランス語、4:中国語、5:アラビア語という5つの言語のテキスト字幕ストリームが、再生可能になっている。
以上の図10におけるPlayList情報の記述により、図11に示すような、デジタルストリームの束が規定されることになる。図11は、図10に示したPlayList情報により規定されるデジタルストリームの束を示す図である。PlayItem情報#1〜PlayItem情報#3は、図5に示した時間軸を構成するため、時間軸においてPlayItem情報#1、PlayItem情報#2、PlayItem情報#3が再生されている期間に、ビデオストリームが再生され、また英語のPGストリーム、日本語〜アラビア語のテキスト字幕ストリームの再生が可能になる。つまりPlayList時間軸の再生進行に伴い、英語のPGストリーム、日本語〜アラビア語のテキスト字幕ストリームの再生が可能になり、これらのうち、英語のPGストリーム、日本語〜アラビア語のテキスト字幕ストリームの何れかを、ビデオストリームと同期して再生させることができる。
以上が記録媒体についての説明である。続いて本発明に係る再生装置について説明する。
図12は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、本図に示す内部に基づき、工業的に生産される。本発明に係る再生装置は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置は、BD-ROMドライブ1、LocalStorage2、操作受付部3、多重分離部4、ビデオデコーダ5、ビデオプレーン6、PGデコーダ7、PGプレーン8、合成部9、テキストコードバッファ10、フォントバッファ11、TextSTデコーダ12、ローダ13、シナリオメモリ14、制御部15、PSRセット16から構成される。本図において一点鎖線で囲んだ部位は、システムLSIとして、ワンチップ化されている部位を示す。
BD-ROMドライブ1は、BD-ROMのローディング/イジェクトを行い、BD-ROMに対するアクセスを実行する。
ローカルストレージ2は、ネットワーク等を介してダウンロードされたAVClip、Clip情報、PlayList情報が格納される内蔵媒体である。ローカルストレージ2上のPlayList情報は、BD-ROM及びローカルストレージ2のどちらに存在するClip情報であっても、指定できる点でBD-ROM上のPlayList情報と異なる。この指定にあたって、ローカルストレージ2上のPlayList情報は、BD-ROM上のファイルをフルパスで指定する必要はない。本ローカルストレージ2は、BD-ROMと一体になって、仮想的な1つのドライブ(仮想ドライブ部)として、再生装置200により認識されるからである。故に、PlayItem情報におけるClip_Information_file_name及びSubPlayItem情報のClip_Information_file_nameは、Clip情報の格納したファイルのファイルボデイにあたる5桁の数値を指定することにより、ローカルストレージ2、BD-ROM上のAVClipを指定することができる。このローカルストレージ2の記録内容を読み出し、BD-ROMの記録内容と動的に組み合わせることにより、様々な再生のバリエーションを産み出すことができる。
図13は、ローカルストレージに格納されたPlayList情報により、どのようなPlayList再生時間軸が定義されるかを示す図である。第1段目は、BD-ROMに記録されたAVClipにおける再生時間軸を示し、第2段目は、ローカルストレージに格納されたPlayList情報により定義されるPlayList再生時間軸を示す。この第1段目、第2段目に示すように、ローカルストレージに格納されたPlayList情報は、BD-ROM上のAVClipに対して独自の再生時間軸を定義することができる。第3段目は、ローカルストレージに格納されたSubPlayItemにおけるSubPlayItem再生時間軸を示す。図中のSubPlayItem.IN_timeは再生区間の始点を、SubPlayItem.Out_timeは再生区間の終点をそれぞれ示す。これによりSubPlayItem時間軸上にも再生区間が定義されていることがわかる。矢印Sn1においてSync_PlayItem_Idは、PlayItemに対する同期指定を示し、矢印Sn2においてsync_start_PTS_of_PlayItemは、PL時間軸におけるPlayItem上の一時点の指定を示す。
このため、SubPLayItem情報にて、SubPlayItem再生時間軸上に定義される再生区間は、ローカルストレージ上のPlayItem情報により定義されるPlayList再生時間軸と同期をとることになる。
ローカルストレージ上のPlayList情報は、BD-ROM上のAVClipに対し、PlayList再生時間軸を指定することができ、ローカルストレージ上のSubPLayItem情報は、この再生時間軸に対し、ローカルストレージ上のSubPlayItemとの同期を指定することができるので、ローカルストレージ上のSubPlayItemで指定されるAVClipがテキスト字幕ストリームである場合、このテキスト字幕ストリームをBD-ROM上のAVClipと同期させて再生することができる。
以上がLocal Storage2についての説明である。
操作受付部3は、ストリーム等を選択する操作が、リモコンや再生装置のフロントパネルに対してなされれば、その操作を示すUser Operation情報をストリーム選択部17に出力する。
多重分離部4は、Clock Counter、Clock Generatorを備え、Local Storage2からTSパケットを取り出して、このTSパケットを構成するTSパケットをPESパケットに変換し、ビデオストリーム及びIGストリームを得て、それぞれビデオデコーダ5、PGデコーダ7に出力する。
ビデオデコーダ5は、多重分離部4から出力された複数PESパケットを復号して非圧縮形式のピクチャを得てビデオプレーン6に書き込む。
ビデオプレーン6は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、再生装置において一画面分の画素データを格納しておくためのメモリ領域である。ビデオプレーン6における解像度は1920×1080であり、このビデオプレーン6に格納されたピクチャデータは、16ビットのYUV値で表現された画素データにより構成される。
P-Graphics(PG)デコーダ7は、BD-ROMから読み出されたプレゼンテーショングラフィクスストリームをデコードして、非圧縮グラフィクスをPresentationGraphicsプレーン8に書き込む。グラフィクスストリームのデコードにより、字幕が画面上に現れることになる。
Presentation Graphics(PG)プレーン8は、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。本プレーンにおける解像度は1920×1080であり、PresentationGraphicsプレーン8中の非圧縮グラフィクスの各画素は8ビットのインデックスカラーで表現される。CLUT(Color Lookup Table)を用いてかかるインデックスカラーを変換することにより、PresentationGraphicsプレーン8に格納された非圧縮グラフィクスは、表示に供される。
合成部9は、ビデオプレーン6に格納された非圧縮状態のピクチャデータを、Presentation Graphicsプレーン8の格納内容と合成する。
テキストコードバッファ10は、BD-ROM及びLocal Storage2から読み出されたテキスト字幕ストリームが格納されるバッファである。テキスト字幕ストリームの場合、2時間の映画作品用の字幕でも500Kバイト程度であるので、500Kバイト程度の規模がテキストコードバッファ10にあれば、1つのテキスト字幕ストリームを読み込むことができる。
フォントバッファ11は、テキスト字幕ストリームを構成するコード列をビットマップに展開する際、用いられるフォントデータが格納される。本フォントバッファ11は、1Mバイトほどのメモリ規模があれば、CJKフォント(中国語、日本語、韓国語)フォントを格納しておくことができる。このCJKフォントが格納されていれば、中国語、日本語、韓国語のテキスト字幕をビットマップに展開することができる。
TextSTデコーダ12は、フォントバッファ11に格納されているフォントデータを用いて、テキストコードバッファ10上のテキスト字幕ストリームに含まれるテキストコードをビットマップに展開してPresentationGraphicsプレーン8に書き込む。
ローダ13は、テキスト字幕ストリーム及びフォントデータをテキストコードバッファ10及びフォントバッファ11にロードする。ローダ13によるロードの対象は、テキスト字幕ストリーム及びこれの展開に必要なフォントデータであり、比較的データ量が小さいので、ローダ13は、STN_Tableに記述されている全てのテキスト字幕ストリームをテキストコードバッファ10に読み込み、それと共に、フォントデータをフォントバッファ11に読み込んでおくことができる。そうした読み込み後、現在の再生時点に応じてTextSTデコーダ12に必要なデータを供給する。こうしたMainPathの再生に先立ち、テキストコードバッファ10、フォントバッファ11にデータを読み込んでおくことを"プリロード"という。
ローダ13がプリロードを行うのは以下の理由による。MainPath情報とSubPath情報とで指定される2つのストリームがBD-ROM、ハードディスクとに別々に記録されていれば、2つのメディアからそれぞれ同時に読み取っていけばよい。しかしBD-ROMのような光ディスクは、比較的アクセス速度が遅いので、MainPath情報とにより指定されるストリームと、SubPath情報により指定されるストリームとが同じBD-ROMに記録されている場合、シークを行いながら2つのストリームにアクセスすることは非常に難しい。そこでローダ13は、MainPathの再生開始を行う前に、SubPath情報が指定するデータ、つまり、テキスト字幕ストリームと、これの展開に用いられるフォントデータとをバッファに読み込んでおくのである。
全てのデータをテキストコードバッファ10、フォントバッファ11に読み込んだ場合、MainPath側のストリームを再生させながら、SubPath側のストリームを再生させることもできる。ここで、SubPath情報側のストリームを選択せず、専らMainPath側のストリームを再生させたとしても、テキストコードバッファ10、フォントバッファ11が上書きされなければ、MainPath側のストリームから、SubPath側のストリームへの切り替えが可能になる。
シナリオメモリ14は、カレントのPlayList情報やカレントのClip情報を格納しておくためのメモリである。カレントPlayList情報とは、BD-ROMに記録されている複数PlayList情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROMに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
制御部15は、シナリオメモリ14に読み出されたカレントPlayList情報、カレントClip情報に従い、BD-ROMに記録されたAVClipを読み出し、再生する制御を行う。
PSRセット16は、再生装置に内蔵されるレジスタであり、64個のPlayer Status/Setting Register(PSR)と、4096個のGeneralPurpose Register(GPR)とからなる。Player Status/Setting Registerの設定値(PSR)がどのような意味をもつかは、後で詳細に説明する。
ストリーム選択部17は、STN_tableに記述されているentry−attributeが記述されているPGストリーム又はテキスト字幕ストリームから1つを選択して、再生させる。ストリーム選択部17による選択とは、STN_Tableに記載された複数のentry-attributeの組みのうち、PSRに格納されたストリーム番号に対応するものから、PIDを取り出し、取り出されたPIDに対応するPGストリーム又はテキスト字幕ストリームを、動画像に合成させることをいう。ここで取り出されたPIDが、PGストリームを特定するものなら、そのPGストリームを多重分離するよう、多重分離部4を設定する。一方、取り出されたPIDがテキスト字幕ストリームを特定するものなら、そのテキスト字幕ストリームを、テキストコードバッファ10、フォントバッファ11からTextSTデコーダ12に供給する。
図14は、ビデオエンコーダのデコードによるデコード結果と、ストリーム選択部17による選択結果とを、図12の内部構成に書き加えた図である。ここでビデオエンコーダによるデコード結果とは、ピクチャ列であり、ストリーム選択部17による選択結果とは、「本当は」「ウソだった」「ごめん」「あれから」「3年たった」という字幕である。ストリーム選択部17は、PGストリームのデコード結果、テキスト字幕ストリームのデコードを選択的に、ピクチャ列に合成させることにより、再生装置は、PGストリームのデコード結果、テキスト字幕ストリームのデコード結果のどちらかを、字幕としてピクチャに合成した上で再生させることができる。

<PSRについての説明>
以上が本発明に係る再生装置の構成である。続いてPSRセットにおける個々のPSRについて説明する。PSRセットのうちPSR1、PSR2、PSR15、PSR17、PSR30、PSR48〜61は、再生装置における音声・字幕の選択や、これらをデコードする能力の有無、言語設定を示すものである。図15は、PSR2、PSR17、PSR30の詳細設定を示すである。

PSRの詳細その1.PSR2,17,30
PSR2は、現在選択されているPGストリーム又はテキスト字幕ストリームのストリーム番号を格納する。ここでストリーム番号とは、STN_Tableにおいて、PGストリーム及びテキスト字幕ストリームに対応するentry-attributeが何番目に記載されているかという、記載順位を示す番号であり、個々のSTN_Tableに依存した番号である。
またPSR2はdisp_flagを含む。disp_flagは、"0"に設定されることにより、PGストリーム及びテキスト字幕ストリームの表示が不可能であることを示し、"1"に設定されることによりPGストリーム及びテキスト字幕ストリームの表示が可能であることを示す。
PSR17は、本再生装置における字幕言語の設定を、IS0639-2/Tの言語コード(language code)により表す。ここで言語設定とは、再生装置に対し430言語という言語のうち、ユーザが再生を希望しているものを記憶しておくことをいう。このPSR17に記憶されている言語は、あくまでも、ユーザの希望であり、この言語に対応するPGストリーム、テキスト字幕ストリームがBD-ROMに存在するとは限らない。またPSR17に存在するDecodeCapabilityが、再生装置に存在するとも限らない。とにかく、ユーザの希望が、字幕言語の設定として、PSR17に記憶されているのである。
PSR30は、最上位ビットが"0"に設定されることによりテキスト字幕を表示する能力が再生装置に存在しない旨を示し、最上位ビットが"1"に設定されることによりテキスト字幕を表示する能力が再生装置に存在する旨を示す。
再生装置にテキスト字幕ストリームをデコードする能力があったとしても、どの言語に対応するテキスト字幕ストリームのデコードが可能であり、どの言語に対応するテキスト字幕ストリームのデコードが不可能であるかは、言語によって違う。

PSRの詳細その2.PSR48〜61
テキスト字幕ストリームは、文字コードを用いて字幕を表現している。しかし日本・中国・韓国などの東南アジアにおいて顕著にみられるように、様々な言語ごとに、違う文字コードが存在することもある。そこで、言語ごとにフラグを用意して、対象となる言語が適切に表示できるか否かを、判定できるようにしている。PSRセットのPSR48〜61は、IS0639-2/Tの言語コード(language code)にて定義された個々の言語のテキスト字幕ストリームに対する、デコード能力の有無を示す。

図16は、PSR48〜61の内部構成を示す図である。本図における四角枠は、1つの言語におけるDecode Capabilityを示すDecodeCapabilityフラグである。
これらPSR48〜61は、言語数分のフラグを格納している。フラグは各言語ごとに表示可能か否かを示すことができれば足りるので、1言語=1ビットに設定されている。利用人数の比較的少ないローカルな言語であっても、DecodeCapabilityの有無を示すことにしているから、本図におけるビット構成は、430言語×1ビットにより、430ビット以上のレジスタ領域を必要としている。
かかるDecode Capabilityフラグは、430言語のそれぞれに対応しているから、これらのDecode Capabilityフラグのうち、STN_Tableに記述されたtextST_language_codeに対応するものを参照することにより、そのtextST_language_codeに対応する言語のテキスト字幕のデコード能力の有無を判定することができる。
図17は、PSR48〜61におけるDecode Capabilityフラグと、textST_language_codeとの対応を示す図である。PSR48〜61における個々のDecodeCapabilityフラグが、PSR番号p及びビット位置qにより識別される。またテキスト字幕ストリームの言語属性は、textST_language_codeにて表現される。このtextST_language_codeを、PSR48〜61におけるPSR番号p及びビット位置qに変換することにより、テキスト字幕ストリームに対するDecodeCapabilityが存在するか否かを判定することができる。
図18は、PSR48〜61のうち、PSR53の内容を示す図である。PSR53は、計32個のDecode Capabilityフラグを含む。"jpn","jav","ita"といった3バイトのコードは、textST_language_codeである。これらtextST_language_codeに示されるDecodeCapabilityフラグが、計32個、PSR53に存在していることがわかる。図19は、textST_language_codeの意味内容を示す図である。この図における意味内容を照合すると、"ita"という3バイトのコードはイタリア語を示し、"jpn"という3バイトのコードは日本語を示す。"jav"という3バイトのコードはジャワ語を示していることがわかる。残りのPSRも、1ビットの値により、DecodeCapabilityフラグの有無を示しているから、計430言語のDecode Capabilityフラグが、PSR48〜61に示される。以上が本実施形態におけるPSRセットの特徴部分である。続いてストリーム選択部17における特徴部分について説明する。

<ストリーム選択部17についての説明>
図20は、第1実施形態におけるストリーム選択部17の特徴部分を示す図である。ストリーム選択部17において特徴的であるのは、ビット割当テーブル19、Procedure実行部20がストリーム選択部17に存在している点である。

特徴その1.ビット割当テーブル19
割当テーブル19は、textST_language_codeを示す3バイトのコード列と、PSR48〜61におけるPSR番号、ビット位置との割り当てを示す。図21は、PSR48〜61におけるPSR番号及びビット位置と、textST_language_codeとの対応関係を示す図である。本図によると、textST_language_codeにおける"jpn"という3バイトのコードは、PSR番号"53"と、ビット番号"b8"に対応していることがわかる。
"jav"という3バイトのコードは、PSR番号"53"と、ビット番号"b7"に対応していることがわかる。
"ita"という3バイトのコードは、PSR番号"53"と、ビット番号"b9"に対応していることがわかる。
こうした対応付けを記憶しているので、STN_Tableに記述されたtextST_language_codeから、PSR48〜61におけるPSR番号、ビット位置を導くことができ、そして、そのPSR番号、ビット位置に示される1ビット値の設定値を参照することにより、そのtextST_language_codeに示される言語のDecodeCapabilityの有無を判定することができる。以上が割当テーブルの詳細である。

特徴その2.Procedure実行部20
Procedure実行部20は、あるPlayItem情報から別のPlayItem情報への切り換わりが生じた場合、又はストリーム番号を切り換える旨の操作がユーザによりなされた場合、所定の手順を実行して、PSR2に新たなストリーム番号を書き込む。ストリーム選択部17は、PSR2に書き込まれたストリーム番号に応じて、PGストリーム又はテキスト字幕ストリームを選択するので、かかるPSR2の設定を通じて、PGストリーム、テキスト字幕ストリームのどちらかが再生されることになる。ここで、PlayItem情報の切り換わり時において、PSR2設定のために実行される手順を『Procedurewhen playback condition is changed』といい、ユーザ操作時において、PSR2設定のために実行される手順を『Procedurewhen change is requested』という。
PlayItem情報の切り換わり時に、手順を実行するのは、STN_TableはPlayItem情報毎に存在するので、あるPlayItem情報においては再生可能であったテキスト字幕ストリームが、別のPlayItem情報において再生不可能になることが往々に有り得るからである。
また、ユーザ操作の際、手順を実行するのは、ユーザ操作にてPSR2に格納されるストリーム番号が、常に正しいとは限らず、不正なストリーム番号が書き込まれようとした際のリカバリーが必要になるからである。
『Procedure when playback condition is changed』及び『Procedure when change isrequestedは、PGストリーム、テキスト字幕ストリームのそれぞれが、(a)(b)の条件を満たすか否かを判定して、満たした条件の数の多さにより、PGストリーム及びテキスト字幕ストリームに優先順位を付与する。そして、その優先順位が高いもののストリーム番号をPSR2に書き込むというものである。

.Procedure実行部20の詳細その1
<Procedure when playback condition is changed>
Procedure when playback condition is changedの処理手順は、図22のようになる。本処理手順は、ステップS1、ステップS2という2つの判定ステップの組合せで、PSR2の設定を行うものである。
ステップS1は、STN_tableにおけるentry数が0であるか否かの判定であり、もし0であればステップS3においてPSR2の値を維持する。
ステップS2は、STN_tableにおけるentry数は0ではない場合に、PSR2よりSTN_tableのentry数が多く、尚且つ、条件(A)が真であるかを判定するものである。条件(A)とは、PSR2で特定されるテキスト字幕ストリームをデコードする能力が再生装置に存在することである。もしステップS2がYesであればPSR2を維持する(ステップS4)。もしPSR2の値がentry数より大きいか、或は条件(A)を満たさない場合は、ステップS5において何等かの有効な値をPSR2に再設定する。

.Procedure実行部20の詳細その2
<Procedure when change is requested>
続いてProcedure when change is requestedについて説明する。図23は、ストリーム変化時における設定手順を示すフローチャートである。本フローチャートと、図22との違いは、図22におけるPSR2の表記がXに置き換えられている点である。このXは、操作受付部3から出力されたUserOperation情報やIGストリーム内のボタンコマンドに基づく値である。
本フローチャートにおけるステップS19は、XよりSTN_tableのentry数が多く、尚且つ、条件(A)が真であるかを判定するものである。条件(A)とは、PSR2で特定されるPGストリーム、テキスト字幕ストリームをデコードする能力が再生装置に存在することである。もしXがこの条件を満たすなら、PSR2にXを設定する(ステップS21)。
もしXがentry数より大きいか、或は条件(A)を満たさない場合は、Xが、Invalidな値(0xFFFF)であるか否かを判定する(ステップS22)。もしOxFFFFであれば、ユーザが選択を意図するPGストリーム、テキスト字幕ストリームの番号は無効であると考えられるので、ユーザ操作に基づく値Xを無視し、PSR2の設定値を維持する(ステップS24)。
もし値Xが0xFFFFでないなら、値XをPSR2に設定する(ステップS23)。
.Procedure実行部20の詳細その3
<何等かの有効な値をPSR2に設定するための設定手順>
上述したフローチャートにおいて、ステップS5及びステップS23の処理の詳細は、図24に示した通りになる。図24は、PSR2の設定手順を示すフローチャートである。
本フローチャートのステップS31、ステップS32は、STN_tableに記述されているPG_textST_streamのそれぞれについて、ステップS33〜ステップS35の処理を繰り返すループ処理になっている。本ループ処理において処理対象となるPG_textST_streamをPG_textST_streamiとする。ステップS33は、PG_textST_streamiのstream_coding_typeが0x91であるか、0x92であるかの判定であり、もし0x91であるならステップS34に移行する。
ステップS34は、PG_streamiが、以下の(a)(b)を満たすか否かの判定である。
(a)PGストリームiをデコードする能力が再生装置に存在すること
(b)PGストリームiの言語属性が再生装置の言語設定と一致すること
この(b)の条件は、STN_tableにおけるPG_language_codeがPSR17と一致するか否かの判定でなされる。
一方ステップS35は、textST_streamiが(a)(b)を満たすかを否かの判定である。
(a)テキスト字幕ストリームiをデコードする能力が再生装置に存在すること
(b)テキスト字幕ストリームiの言語属性が再生装置の言語設定と一致すること
(a)の条件を具備しているかの判定は、PSR48〜61における対応するビットが"デコード能力有"を示すかどうかでなされる。(b)の条件を具備しているかの判定は、STN_tableのtextST_language_codeがPSR17の設定値と一致しているかどうかでなされる。
以上のステップS33〜ステップS35の処理が全てのPG_textST_streamについて繰り返されれば、ステップS36〜ステップS41の処理が実行される。
ステップS36は、(a)を満たすPGstreamが存在しないかどうかの判定であり、もし存在しないのなら、Invalidな値(0xFFFF)をPSR2に設定する(ステップS38)。
ステップS37は、(a)(b)の双方を満たすPG_textST_streamが存在するかどうかの判定であり、もし存在するのなら(a)(b)を満たすPG_textST_streamのうち、STN_tableにおけるエントリー順位が最も高いものをPSR2に設定する(ステップS39)。
ステップS41は、(a)のみを満たすPGstream、(a)のみを満たすtextST_streamのうち、STN_tableにおけるエントリー順位が最も高いものをPSR2に設定する。以降具体例を交えながら、本フローチャートの処理について説明する。
各テキスト字幕ストリームのDecode Capabilityの有無については、図25のフローチャートに基づき判定される。図25は、テキスト字幕ストリームのDecodeCapabilityの有無を判定するにあたっての判定手順を示すフローチャートである。本フローチャートは、対象となるテキスト字幕ストリームのtextST_language_codeをSTN_Tableから取得して(ステップS11)、割当テーブルを参照することにより、テキスト字幕ストリームのtextST_language_codeにあたるPSR番号p及びビット位置qとを特定する(ステップS12)。そして、PSRpのqビット目が"1"であるか、"0"であるかを判定して(ステップS13)、PSRpのqビット目が"1"であれば、対象となるテキスト字幕ストリームが、条件(a)を満たすとする(ステップS14)。一方、PSRpのqビット目が"0"であれば、対象となるテキスト字幕ストリームが、条件(a)を満たさないとする(ステップS15)。

.Procedure実行部20の詳細その3
<PSR2設定の具体例>
この具体例で想定している再生装置は、図26(a)に示すように日本語、中国語のテキスト字幕ストリームをデコードする能力はもっているが、フランス語、イタリア語をデコードする能力はもっていない再生装置である。そして中国語を示すよう、PSR17における言語設定がなされているものとする。
かかる再生装置に対し、図26(b)に示すようなSTN_tableがロードされたとする。このSTN_tableには、日本語、フランス語、中国語、アラビア語のテキスト字幕ストリームのentry(textST_stream1,2,3,4)が記述されている。
かかる記述内容のSTN_tableが処理対象であると、ステップS34、ステップS35において各PG_textST_streamが、条件(a)、条件(b)を具備しているかどうかのチェックが図26(c)に示すようになされる。ここで日本語のテキスト字幕ストリームは、2つの条件のうち、条件(a)しか満たさない。中国語のテキスト字幕ストリームは、条件(a)、条件(b)を満たす。
各ストリームについての条件具備が明らかになったので、条件(a)〜条件(b)の全てを満たす中国語のテキスト字幕ストリームに最高順位を付与する。その結果、中国語のテキスト字幕ストリームが選択されることになる。

.Procedure実行部20の詳細その4
<PSR2設定の具体例>
以降、図27を参照しながら、STN_tableにおけるentryの順序によるテキスト字幕ストリーム選択について説明する。ここで想定する再生装置は、図26(a)同様、日本語,中国語のデコード能力をもっている再生装置である。そして韓国語を示すよう、PSR17における言語設定がなされているものとする。
かかる再生装置に対し、図27(b)に示すようなSTN_tableがロードされたとする。このSTN_tableには、日本語〜アラビア語のテキスト字幕ストリームのentry(textST_stream1,2,3,4)が記述されている。
かかる記述内容のSTN_tableが処理対象であると、ステップS34、ステップS35において各PG_textST_streamが、条件(a)、条件(b)を具備しているかどうかのチェックが図27(c)に示すようになされる。ここで日本語のテキスト字幕ストリームは、2つの条件のうち、条件(a)しか満たさない。中国語のテキスト字幕ストリームも、条件(a)しか満たさない。
ここで、条件(a)のみを満たしているテキスト字幕ストリームが複数ある場合、STN_tableにおけるentryの順位に応じて、各ストリームにおける順位を定める。ここで、STN_Tableにおいては、日本語の順位が最高になっているので、日本語のテキスト字幕ストリームが選択されることになる。以上がProcedure実行部20についての説明である。続いて制御部15による処理手順についての説明を行う。

特徴その3.制御部15による処理手順
図28は、制御部15による再生手順を示すフローチャートである。本フローチャートは、PlayList情報における先頭のPlayItem情報をPlayItem情報iとして、ステップS133〜ステップS142のループ処理を実行するものである。ステップS133〜ステップS142のループ処理における制御変数は、変数iであり、ステップS133〜ステップS140の処理を実行して、その後、制御変数iをインクリメントするという処理を、変数iが、PlayItem数(NumberOf PlayItem)を越えるまで実行するものである(ステップS141)。
このステップS133〜ステップS140の処理について説明する。これらの処理は、PlayItem情報iのClip_information_file_nameに記述されているAVClipを、AVClipjとし(ステップS133)、再生の対象とする。ステップS134は、Procedurewhen Playback Control is changedの実行であり、その後、PlayItem.In_timeからPlayItem.Out_timeまでの部分を再生するよう、ドライブ装置及びデコーダに指示する(ステップS135)。
ステップS136は、PlayItem情報iをSync_PlayItem_idに指定しているSubPlayItemkが存在するか否かの判定である。もし存在しなけば、そのままステップS141に移行する。
もし存在すれば、SubPlayItemkのClip_information_file_nameに記述されているAVClipをAVCliphにし(ステップS138)、そのAVCliphのうち、Sync_Start_PTS_of_PlayItemから、Out_timeまでを再生するよう、ドライブ装置及びデコーダに指示してステップS141に移行する(ステップS140)。
以上の処理を、PlayList情報を構成する全てのPlayItem情報について繰り返すことにより、PlayList情報にて規定されるAVClipの再生がなされる。このループ処理において、1つのPlayItem情報の再生がなされる度に、Procedurewhen Playback Control is changedがProcedure実行部20により実行され、このProcedure実行部20の実行により、PGストリーム、テキスト字幕ストリームのうち、1つが選択されることになる。そしてこうして選択されたストリームがテキスト字幕ストリームであり、SubPath情報で指定されているものなら、ステップS136〜ステップS140の手順により、このテキスト字幕ストリームが再生されることになる。
以上のように本実施形態によれば、PSR48〜61には、テキスト字幕を表示することができる能力の有無が、言語毎に示されているので、ユーザがある言語でのテキスト字幕表示を希望した場合、その言語でのテキスト字幕表示の可能性の有無を、レジスタセットにおける各ビットの設定値を参照することにより、即座に判定することができる。
各ビットの設定値を参照するだけで、何れかの言語でのテキスト字幕の表示可能性の有無を判定することができるので、たとえ、テキスト字幕の言語種が何百言語に及んだとしても、所望の言語での、字幕表示の可能性を即座に判定することができる。
(第2実施形態)
第2実施形態では、テキスト字幕ストリーム及びTextSTデコーダ12の内部構成をより詳細に説明する。図29は、テキスト字幕ストリームの内部構成を示す図である。本図の第1段目は、SubPlayItem情報の時間軸を示し、第2段目はEP_mapを示す。第3段目は、テキスト字幕ストリームを示す。この第3段目におけるテキスト字幕ストリームの内部構成について説明する。
テキスト字幕ストリームは、先頭に唯1つ存在する『スタイル情報』と、複数の『表示情報』とからなる。このスタイル情報は、スタイル情報は、テキスト字幕ストリームの先頭に1つのみ存在している。スタイル情報は、自身の識別子である『スタイルID』と、ビットマップへの展開に用いるフォントデータを示す『フォントID』、ビットマップへの展開時における『フォントサイズ』、PGプレーン8における表示領域の水平位置、垂直位置を示す『表示位置』とからなり、テキスト字幕ストリームは、これらの情報をまとめて"スタイル"として管理している。またスタイル情報内に複数のスタイルが定義されることがある(図29では2つ)。
スタイル情報に、フォントサイズを記載しているのは、最低限のフォントバッファのサイズを宣言するためである。つまりフォントセットはプリロードが必要であるため、必ず読み込まなければならないフォントデータを、ストリーム再生前に明示的に指定しておくようにしている。
表示情報は、 字幕の『表示開始時刻』と、字幕の『表示終了時刻』、字幕を表すコード列である『テキストコード列』、この字幕を表示すべき表示位置を一意に特定する『スタイルIDの参照値』からなる。テキスト字幕に対応するEP_mapは、テキスト字幕を構成する個々の表示情報をエントリー位置として指定している。そのため、図28に示したように、テキスト字幕ストリームをその内部から再生させるにあたって、TextSTデコーダ12は、これら複数の表示情報のうち、SubPlayItem情報のSubPlayItem_In_time,SubPlayItem_Out_timeに対応するものを再生してゆく。以上がスタイル情報、表示情報について説明である。
図30(a)は、スタイル情報,表示情報の設定例を示す図である。この設定例においてスタイル情報#1は、Presentation Graphicsプレーン8における座標(x1,y1)を示すよう設定されているものとする。
そして図30(a)における3つの表示情報は、スタイル情報において定義された字幕の表示領域を指定している。各表示情報における表示開始時刻は、それぞれt1,t2,t3に設定されており、各表示情報におけるテキスト文字列は「本当は」「ウソだった」「ごめん」に設定されている。こうした設定により、表示情報における字幕は、動画の再生時刻の進行に伴い、順々に切り換わってゆくことになる。
図30(a)の表示情報を含むテキスト字幕ストリームと、BD-ROM上のAVClipとの同期がLocal Storage32上のPlayList情報に規定されているものとする。そうすると、表示情報の表示位置、表示開始時刻に基づきテキスト文字列をPresentationGraphicsプレーン8上に配置することにより、図30(b)のような合成画像が再生されることになる。
以上が本実施形態におけるテキスト字幕ストリームの内部構成である。
続いてEP_mapについて説明する。図29の第2段目におけるEP_mapは、テキスト字幕ストリームにおける表示情報のエントリー位置を、SubPlayItem情報時間軸におけるエントリー時刻と対応づけて示す。かかる対応付けを示すことにより、SubPlayItem情報時間軸における任意の位置から、テキスト字幕における表示情報のアドレスを導くことができる。
以上がテキスト字幕ストリームについての説明である。
続いて、SubPlayItem情報を用いたテキスト字幕ストリームの再生について説明する。図29に示したように、EP_mapにより、エントリー時刻とエントリー位置との対応付けがなされているので、SubPlayItem情報のIn_time、Out_timeを、テキスト字幕ストリームのエントリー位置に変換することにより、In_timeに対応する表示情報のアドレスを、得ることができる。
図31は、図28のステップS140の詳細フローチャートであり、テキスト字幕ストリームの再生処理を示すフローチャートである。
ステップS148では、カレントClip情報のEP_mapを用いて、SubPlayItem#yのIn_timeを、テキスト字幕ストリームにおける表示情報の相対アドレスαに変換する。一方ステップS149では、SubPlayItem#yのOut_timeを,カレントClip情報のEP_mapを用いて、テキスト字幕ストリームにおける表示情報の相対アドレスβに変換する。これらの変換で得られたアドレスβの次のアドレスを求めて、そのアドレスの1つ手前をアドレスγに設定し(ステップS151)、そうして算出されたアドレスγを用いて、テキスト字幕ストリームにおけるアドレスαからアドレスγまでの部分をTSデコーダに投入する(ステップS152)。このフローチャートにより、SubPlayItem情報におけるIn_timeを、テキスト字幕ストリームにおけるエントリー位置に変換することにより、SubPlayItem情報に基づき、テキスト字幕ストリームを再生させることができる
かかる処理により、MainPathの再生、SubPathの再生の双方が再生されるので、動画と字幕とからなる合成画像が表示されることになる。
続いて本実施形態におけるTextSTデコーダ12の内部構成について説明する。
図32は、TextSTデコーダ12の内部構成を示す図である。本図に示すようにTextSTデコーダ12は、フォントレンダリング部21と、展開バッファ22と、コントローラ23とからなる。
フォントレンダリング部21は、テキストコードバッファ10に格納されている表示情報のコード列を、ビットマップに展開する。この展開にあたっては、その表示情報におけるスタイルIDを取り出して、そのスタイルIDに対応するフォントデータをバッファから取り出し、このフォントデータを用いることにより行う。
展開バッファ22は、フォントレンダリング部21により展開されたビットマップが格納される。
テキスト字幕ストリームを構成するコード列と、このコード列の展開に必要なフォントデータとをバッファに読み込む処理を"プリロード"という。テキストコードバッファ10、フォントバッファ11に複数のストリームを読み込むことができる場合、読み込まれる優先順位は、第1実施形態で述べた、STN_tableにおける順位などによって決められる。優先順位の高いストリームからテキストコードバッファ10、フォントバッファ11に読み込めるだけ読み込んでおけば、再生中にシークを発生させずに切り替えられるストリームの種類が増す。
コントローラ23は、展開バッファ22に格納されたビットマップを、表示情報における表示時刻及び表示位置に従い、PGプレーン8に書き込む。
フォントレンダリング部21によるビットマップへの展開にあたっては、テキスト字幕ストリームに対応する言語の言語特性をサポートするような制御を行う。言語特性のサポートには、横書き、縦書き、カーニング、行末禁則、右から左への描画、合字・抱き字といったものがある。
ここでカーニングとは、文字の形状により字間を詰めて見た目をよくする機能をいう。行末禁則とは、行末の「。」がフォントの配置により行頭にくることを禁止する機能をいう。
以上がTextSTデコーダ12の内部構成を示す図である。字幕をグラフィクスで表現する場合には、発生しなかったが、コード列で表現する場合に新たに発生する技術的課題について説明する。

<コード列表現による技術的課題>
グラフィクスで表現された字幕の場合、どの再生装置でも同じ見た目を保つことは簡単になる。字幕が文字コードで表現されている場合は、図32の内部構成に示したような、FontGeneraterあるいはRendererと呼ばれるような、文字コードをビットマップに変換して画面上に表示するためのモジュール(フォントレンダリング部21)が必要になる。そしてFontGeneraterは機器によって、文字の見せ方、サポートする言語が違ってくる可能性がある。
これは、グラフィクスで表現された字幕の場合、見た目はオーサリング時に決められるのに対して、字幕が文字コードで表現されている場合、字幕の見た目は、再生装置のFontGeneratorの性能に依存してしまうためである。
多少の文字の形の違いは、現在のWebページを閲覧するようなHTMLブラウザでも存在し、それほど大きな問題ではないが、以下に述べるような言語特性による違いは非常に大きい。
図33(a)は、日本語の言語特性によるレイアウトの違いについて説明した図である。図33(a)における"括弧の形"は、括弧記号が横書きと、縦書きとで90度傾きが異なることを示す。"文字の位置"は、「ゃ」のような小さな文字を、横書きと縦書きとで、配置位置を微妙に調整しておく必要があることを示す。"長音の形"は、横書きと縦書きとで、文字の形自体を変えておくことを示す。図33(b)は、アラビア語の言語特性におけるレイアウトを示す。この図33(b)に示すように、アラビア語では、文字は右側から左側に流れていくことがわかる。
このような特殊な文字・言語をFont Generaterが生成しなければならないが、これは対応するフォント情報を与えればよいというものではなく、フォントレンダリング部21がビットマップを描画するにあたっての、描画機能としてこれらをサポートする必要がある。これらのサポートが必要なので、品質保証を考えれば、サポートが全て満たされた限り、デコード能力を有りとするのが望ましい。
また、欧米で発売されるようなBD-ROM再生装置においては滅多に日本語やアラビア語の字幕を表示する必要はないため、必ずしもこれらの文字を適切に表示するためのFontGeneraterは必要ではない。各々の再生装置が全ての言語をサポートする必要はなく、またサポートするためには余分なコストがかかってしまうので望ましくない。あるいは、全ての再生装置は全言語の適切は表示をサポートしなければならないとした場合、製造する国によっては対象となる全言語に対する知識がなく、どのようにFontGeneraterを製造して良いか分からないため、再生装置を製造できなくなってしまうのも望ましくない。その一方、商品の付加価値を高めるためには、表示可能な言語種が多いほどよい。
そこで、テキスト字幕ストリーム制御のためのアプリケーションに、どの言語を適切に表示できるかを伝えるべく、本実施形態では、図34に示すように、PSR48〜61に対する設定を行う。
図34は、日本語、英語、アラビア語という3つの言語のDecode Capabilityを設定するにあたっての、判断基準を示す図である。
上の表は、英語、日本語、アラビア語の文字フォントをレンダリングする能力の有無を示し、下の表は、英語、日本語、アラビア語の言語特性をサポートする能力の有無を示す。
この下側の表を参照すると、英語の字幕表示は、PGプレーン8にビットマップを書き込むにあたって、"横書き","カーニング","合字・抱き字"という機能がサポートされて初めて、言語特性がサポートされていると判断することができる(言語特性のサポート→1)。
日本語の字幕表示は、PGプレーン8にビットマップを書き込むにあたって、"横書き","縦書き","行末禁則","ルビ"という機能がサポートされて初めて、言語特性がサポートされていると判断することができる(言語特性のサポート→1)。
アラビア語の字幕表示は、PGプレーン8にビットマップを書き込むにあたって、"右から左の描画"、"合字・抱き字"という機能がサポートされて初めて、言語特性がサポートされていると判断することができる(言語特性のサポート→1)。
これらの機能は、コード列をビットマップに展開する機能(レンタリング)が前提になるから、本実施形態では、レンダリング能力と、言語特性のサポート能力とが満たされて初めて、PSR48〜61における、日本語、英語、アラビア語に対応するDecodeCapabilityフラグをオン"1"に設定するよう規定しておく。
再生装置を商品化するにあたって、メーカーの技術者は、TextSTデコーダ12が、図34に示した複数の項目のうち、どれを具備しており、どれを具備していないかをチェックする。そしてレンダリング能力、サポート能力の具備を条件にして、PSR48〜61を設定する。こうしてことにより、Procedure実行部20がテキスト字幕ストリームをデコードできるか否かの判定が適切なものになり、各言語でのテキスト字幕表示の適切化を期することができる。
尚、PSR48〜61は、言語のDecode Capabilityの有無を示したが、言語ごとではなく、サポートすべき機能(横書き、縦書き、カーニング、行末禁則、合字・抱き字等)ごとに、言語特性をサポートしているか否かを示してもよい。この仕組みを用いると、言語ごとに、どの機能が必要かをあらかじめ決めておけば、言語数分のレジスタ領域を使わずにすむ。この場合、各機能をサポートしている場合は、フラグをONに、サポートしていなければフラグをOFFにしておけばよい。この場合、図34に示したような対応表が再生装置内に必要となるが、この対応表は、レジスタとしてではなく、プログラムとして組み込むことができるため、言語が増えてもアップデートできる可能性もある。
テキスト字幕ストリームの属性情報として、これまでに説明したように言語属性、つまり日本語や英語であるといった情報ではなく、表示するためにどの機能が必要であるかを、Clip情報に示しておいてもよい。
(第3実施形態)
第1実施形態では、PSR48〜61に示されるDecode Capabilityフラグの設定値のみを参照して、各言語のデコード能力の有無を判定したが、本実施形態は、字幕表示を可とする言語種を拡大する実施形態である。
対象となる言語が再生装置でサポートされていない場合、フォントデータはディスクあるいはダウンロードによって供給されるため、配置などがおかしなことはあるが、読めないことはないかもしれない。そのため、再生装置の状態やユーザーの設定により、サポートしていない言語も表示することを許してもよいし、サポートされていない言語が不適切に表示されて困る場合には表示は避けたい。
ここで言語特性のサポートがない言語(アンサポート言語)における字幕表示の可能性について説明する。図35(a)(b)は、縦書き項目が完全にサポートされている日本語字幕と、縦書き項目のサポートが不完全な日本語字幕とを示す図である。再生装置を製造するメーカーは、アンサポート言語が表示されることによって、文字が読めないなどという商品苦情があっては困る。こうした事情から、このような表示を禁止したいかもしれない。
ところが、日本語の適切な表示をサポートしていなくても、図35(b)に示すように、何とか読める可能性があり、音声として日本語が入っておらず、他の言語の音声や字幕を理解することができなければ、多少読みにくくてもユーザーは表示を望む可能性がある。再生装置の製造者は基本的には禁止しているが、ユーザーが望むのならば、表示を許可するような設定を再生装置で実現できれば、字幕表示可能な言語種別が格段に増え、ユーザに対する利便性が向上する。尚、ここでいう"ユーザ"とは、いわゆるエンドユーザ(最終消費者)をさすが、メーカの技術者であってもよく、いわゆる"操作者全般"の意味である。
以上のように、品質保証に細心の注意を払っているようなメーカーは、図35(b)のような字幕表示は禁じたいところであるが、ユーザによっては、図35(b)のような表示でも、字幕表示が存在することにはかわりないので、このような状態での字幕表示を希望することがある。
こうしたメーカー側の要望と、ユーザ側の要望との調和を図るべく、本実施形態では以下に示すような改良がなされている。アンサポート言語の選択を実現するため、本実施形態における再生装置は、図36に示すような内部構成を有する。本図における改良点は以下の通りである。

i)PSR30のb23〜b16に、アンサポート言語の選択を許可するか否かを示す許可フラグが存在していること。
ii)PSRの予約領域に、特定の言語圏に属する個々の言語がアンサポート言語であるか否かが示されていること。
iii)Procedure実行部20が、PSR30のb23〜b16に従ってアンサポート言語の選択を実行すること。
iv)セルフテスト部31、セットアップ部32が制御部15内に存在すること
である。

改良点その1.PSR30のb23〜b16
図37は、第3実施形態におけるPSR30のb23〜b16のビットアサインを示す図である。本図においてPSR30のb23〜b16に、サポートされていない言語のユーザー選択を許可するか否かがが示さている。
つまりPSR30のb23〜b16が"00000000(=OFF)"の場合は、サポートされていない言語はユーザーが選択しても表示されない。そもそも選択さえできなくしてもよい。このPSR30のb23〜b16が"10000000(=ON)"の場合は、適切な表示ではないかもしれないが、ユーザーが選択して画面上にテキスト字幕ストリームを表示することが可能となることを示す。以上がPSR30のb23〜b16に対する改良である。
続いて予約領域における改良について説明する。

改良点その2.予約領域
図38は、PSRの予約領域におけるビット構成を示す図である。この予約領域は、漢字圏等、特定の言語圏に属する個々の言語が、アンサポート言語であるか否かを示す。この予約領域における各ビットは、特定の言語圏に属する各言語に対応しており、このビットが"1"であるなら、その言語がアンサポート言語であることを示し、"0"であるなら、その言語は、対応するレンダリング能力が再生装置側にない言語(アンレンダリング言語)であることを示す。かかるビット設定により、特定の言語圏に属する言語については、アンサポート言語であるかどうかが判明することになる。尚、予約領域における各ビットが、どの言語に対応するかという割り当ては、図21に示したような割当テーブルを用いてなされる。以上がPSRに対する改良である。続いてセルフテスト部31に対する改良について説明する。

改良点その3.セルフテスト部31
セルフテスト部31は、工場出荷時において、レンダリング能力、言語特性のサポートの具備のテストをメーカーの技術者に行わせ、テスト結果に応じて、PSR48〜61の何れかを設定する。ここでセットアップ部32は、様々のテストパターンを保持しており、それらをTextSTデコーダ12に与えて、字幕表示における言語特性のサポートのテスト表示を実行させ、テスト結果を、ディスプレイに表示させる。レンダリング能力はあるが、サポート能力がないなら、メーカーの技術者からの操作に従い、その言語をアンサポート言語として登録する。レンダリング能力もサポート能力もないなら、メーカーの技術者からの操作に従い、その言語をアンレンダリング言語として登録する。

改良点その4.セットアップ部32
セットアップ部32は、ユーザによるリモコン300に対する操作に応じてセットアップメニューを表示して、PSR30のb23〜b16の設定値を書き換える。図39(a)は、セットアップメニューを示す図である。本図に示すようにセットアップメニューにより受け付けられる設定項目には、『国・地域』、『メニュー言語』、『音声言語』、『字幕言語』、『表示できる言語の拡張』という5つの項目がある。本セットアップ部32による特徴は、表示できる言語の拡張を行うかどうかの指定をユーザから受け付ける点である。
図39(b)は、言語種の拡張をユーザが意図した際、表示されるメニューを示す図である。本図におけるメニューは、アンサポート言語の一覧表示(図中のイタリア語、スペイン語、ロシア語・・・・・)と、このアンサポート言語のテキスト字幕ストリームを表示させる際の警告文Wn1と、言語種の拡張を実行するか否かの選択を受け付けるボタンbn1,bn2とを含む。
この警告文Wn1は、アンサポート言語の字幕を表示する際、字幕表示の一部がおかしくなることをユーザに警告するものである。そして上述のボタンbn1,bn2は、かかる警告にも拘らず、言語種の拡張を実行するか、しないかを受け付ける。以上が本実施形態における各構成要素の改良点である。続いて、Procedure実行部20、セルフテスト部31、セットアップ部32による処理手順を、図40のフローチャートを参照しながら説明する。
図40は、第3実施形態におけるテキスト字幕ストリームの判定手順を示すフローチャートである。本フローチャートは、図25のフローチャートに対し、ステップS16、ステップS17を加えた構成になっている。
このステップS16は、対象となるテキスト字幕ストリームが、アンサポート言語であるか否かを判定するものである。ステップS17は、PSR30のb23〜b16が10000000bであるかを判定するものである。ここでステップS16がYes、ステップS17がYesと判定された場合、このテキスト字幕ストリームはアンサポート言語であったとしても条件(a)を満たすとされる。一方、ステップS16、ステップS17のどちらかがNoであれば、条件(a)を満たさないと判定される。
図41は、セルフテスト部31の処理手順を示すフローチャートである。本フローチャートは、textST_language_codeにて表現される、430言語のそれぞれについて、ステップS42〜ステップS48の処理を繰り返すループ処理になっている。ループ処理において対象となる言語を言語uとすると、ステップS42は、言語のtextST_language_codeのPSR番号、ビット位置に変換するものである。
ステップS43は、言語のフォントをレンタリングする能力が有るかどうかの判定であり、もしレンタリングする能力が、ないとと判定されれば、PSRpのqビット目は、0に設定されることになる(ステップS48)。
ステップS44は、言語特性のサポートする能力があるかどうかの判定である。もし有ると判定されれば、PSRpのqビット目は、1に設定されることになる(ステップS45)。もしないと判定されれば、言語uをアンサポート言語として登録した上で(ステップS47)、PSRpのqビット目は、0に設定する(ステップS48)。
以上の処理を全ての言語について実行すれば、ステップS49、ステップS50の処理を行う。ステップS49は、アンサポート言語の字幕表示を実行するかどうかをユーザに問い合わせるステップである。アンサポート言語の字幕表示を実行させたいならステップS50を実行する。ステップS50は、PSR30のb23〜b16を10000000に設定する処理である。もしアンサポート言語の字幕表示を実行させたくないなら、ステップS50をスキップする。以上がセルフテスト部31の処理手順である。
図42は、セットアップ部32の処理手順を示すフローチャートである。セットアップ部32は、セットアップメニューを表示してから(ステップS51)、アンサポート言語が存在するか否かの判定を行う(ステップS52)。存在しないならステップS54に移行するが、存在すれば、"表示できる言語の拡張"を受け付けるための設定項目を、セットアップメニューに追加して(ステップS53)、セットアップメニューの設定項目における選択待ちを行う(ステップS54)。
設定項目が選択されれば、その選択項目が言語種の拡張であるかの判定を行う(ステップS55)。もし異なれば、国・地域、メニュー言語、音声言語、字幕言語の設定を行うよう、該当する処理手順を実行する(これらの処理手順は本発明の主眼ではないので説明は省略する)。
言語種の拡張であれば、図39のメニューを表示して(ステップS56)、ユーザからの操作待ちとなる(ステップS57、58)。移動キーが押下されれば(ステップS57でYes)、セットアップメニュー上のフォーカスを行う(ステップS59)。終了操作がなされれば(ステップS58でYes)、フォーカスが、拡張を意図するボタン上に存在するか否かを判定し(ステップS60)、存在しなければ、そのまま処理を終了する。存在すれば、PSR30のb23〜b16を10000000に設定して(ステップS61)、本フローチャートの処理を終了する。
以上のように本実施形態によれば、サポートしていない言語でも選択を許可するためのフラグ(PSR30のb23〜b16)を、メーカが設定することで、アンサポート言語をストリーム選択部17に選択させるか否かを切り換えることができる。フラグの設定1つで、アンサポート言語選択の可否を決定することができるので、再生装置を製造するメーカーが、品質保証を厳しくするために、アンサポート言語の選択を禁じたり、またユーザの自己責任にて、アンサポート言語の選択を許可したりするという、セッティング変更を容易に実行することができる。
これによりユーザは、字幕表示に不都合が生じることを承知した上で、不都合が生じるような言語のテキスト字幕を表示させることができる。ユーザによる自己責任により、アンサポート言語の字幕を、表示するので、ユーザとメーカーとの調和を図ることができる。
尚、サポートしていない言語でも選択を許可するためのフラグ(PSR30のb23〜b16)は、テキスト字幕ストリームとともにClip情報中に記録されていてもよい。また、再生装置とディスク上の両方に記録されていた場合、論理和をとってもよいし論理積をとって処理してもよい
(第4実施形態)
第3実施形態では、アンサポート言語の字幕表示をユーザが希望している場合、アンサポート言語を、Decode Capability有として判定するよう、処理を行ったが、本実施形態は、アンサポート言語の字幕表示をユーザが希望している場合、PSR48〜61における、そのアンサポート言語に対応するDecodeCapabilityを、全て"Decode Capability有り"に設定するよう更新を行う実施形態である。
図43(a)(b)は、アンサポート言語の表示をユーザが希望していない場合と、希望した場合とで、Decode Capabilityの設定を対比して示す図である。図43(a)では、レンダリング能力="1"であり、尚且つサポート能力="0"である言語については、DecodeCapabilityは"0"になっていることがわかる。
しかし図43(b)において、ユーザが、アンサポート言語の字幕表示をユーザが希望した際、レンダリング能力="1"であり、尚且つサポート能力="0"である言語についてのDecodeCapabilityは"1"に変化していることがわかる。このように、レンダリング能力="1"であり、尚且つサポート能力="0"である言語についてのDecodeCapabilityを"1"に変化させるよう、本実施形態では、更新処理を行う。
この更新処理を実現するための改良は、セットアップ部32に存在する。
図44は、第4実施形態に係るセットアップ部32の処理手順を示すフローチャートである。本フローチャートは、図42のフローチャートをベースにして作成されている。この図42のフローチャートとの違いは、ステップS61の代わりにステップS63が存在する点である。このステップS63は、言語種の拡張を意図するボタンに、フォーカスが存在すると判定された場合に(ステップS60でYes)、実行されるステップであり、アンサポート言語に対応する全ての言語のDecodeCapabilityを示すDecode Capabilityフラグを、"1"に設定するものである。このステップS63の実行により、ユーザが言語種の拡張を希望した場合は、一律に、それらの言語に対応するDecodeCapabilityフラグが、"1"に設定されることになる。
以上のように本実施形態によれば、ユーザの希望時において、PSR48〜61におけるアンサポート言語に対応するDecode Capabilityフラグを"1"に設定するので、PSR2を設定する際の設定手順が簡単になる。
(第5実施形態)
第5実施形態は、再生の途切れに関する実施形態である。ここで再生の途切れとは、AVClipを再生する際、プリロードされていないテキスト字幕ストリームをBD-ROMからバッファに読み込もうとすることにより、生じる再生の途切れである。かかる途切れは、STN_Tableに記述されていながら、プリロードすることができなかったテキスト字幕ストリームをユーザが選択しようとしたことから生じる。
ここで、SubPath情報で指定されるストリームが複数存在する場合、テキストコードバッファ10、フォントバッファ11の容量により、そのうちいくつかのストリームしかバッファに読み込むことができないこともある。プリロードされていないストリームに切り替えようとすると、BD-ROMに対するディスクシークを実行してデータを読み込む必要があるため、AVClipの再生が途切れる。
図45はテキストコードバッファ10、フォントバッファ11の容量が、3言語分しかなかった場合に、テキスト字幕ストリームの切替の様子を示している。
本図では、3つの言語にあたる日本語、フランス語、中国語のテキスト字幕ストリームをプリロードした後、MainPathの再生を開始している。図10に示されるSTN_Tableに基づき、ローダ13がプリロードを実行する際、ローダ13は、図45のようなプリロードを行う。図45は、ローダ13によるバッファへのプリロードを示す図である。つまりテキスト字幕ストリームのうち、STN_Tableの記述順序が高いものを順次バッファにロードしてゆき、そしてバッファが充填された段階でプリロードを終える。STN_Tableにおける順位が最も低いテキスト字幕ストリーム(本図ではアラビア語のテキスト字幕ストリーム)は、バッファにプリロードされなくなる。
バッファにプリロードされていないにも拘らず、STN_Tableには、アラビア語のテキスト字幕ストリームが記述されているので、ストリーム選択部17は、その非プリロードのテキスト字幕ストリームを、図46に示すように、再生対象に選ぶことがありうる。
ストリーム選択部17により選択されたテキスト字幕ストリームがバッファにない場合、これをメモリにロードするとの処理を行うので、AVClipの再生中に、テキスト字幕ストリームをバッファに読み込もうとする。この場合、ストリーム選択部17は、AVストリームの再生を一時中断し、アラビア語のテキスト字幕ストリームをテキストコードバッファ10、フォントバッファ11に読み込んでから、再生を中断した地点から再生を再開(Resume)するとの手順をとる。
図47は、AVClipの再生中において、非プリロードのテキスト字幕ストリームをユーザが選択した場合に、ローダ13が実行するロード処理を模式的に示す図である。
AVClipの再生中、光ピックアップは、AVClipをアクセスしているにも拘らず、非プリロードのテキスト字幕ストリームを読み出そうとすると、この読み出しには、図48(a)に示すようなAVClipの記録領域から、テキスト字幕ストリームの記録領域へのシーク、テキスト字幕ストリーム記録記録から、AVClip記録領域へのシークを伴うので、シークがなされている間、図48(b)に示すように、デコーダへのAVClip供給は途絶えることになり、AVClipの再生途切れが生じる。 一部の言語のテキスト字幕ストリームについては、再生の途切れを生じさせない配慮を講じているのに、プリロードできなかった一部の言語について、かかる再生の途切れが生じるのは、不合理である。しかしユーザによっては、AVClipの再生途切れよりも、切り換え可能な言語種を広げたいという要望があり、再生途切れの解消を優先するか、言語種の拡大を重視するかという、要望にメーカは迷うことになる。
AVClipの連続再生、つまり、途切れることなくAVClipを再生させることの要求と、AVClipの再生が途切れてもストリームの切替を優先したい要求とは、様々な要因に応じて変動する。そこでどちらを優先するかの規範が、再生装置側に必要となる。本実施形態は、かかる規範を、再生装置側に設けるものである。
図49は、本実施形態に係る再生装置の内部構成を示す図である。以降、本図を参照しながら、本実施形態における再生装置の改良点について説明する。本実施形態における改良点は、以下の4つi)〜iv)である。

i)本図におけるローダ13に対する改良点は、プリロード管理テーブル33が追加されている点である。
ii)PSRセットに対する改良点は、許可フラグがPSRの予約領域に追加されている点である。
iii)ストリーム選択部17における改良点は、各PGストリーム、テキスト字幕ストリームを選択するかどうかの判定にあたって、上述した(a)(b)の判定基準に加え、許可フラグがオンになっているか、テキスト字幕ストリームがプリロードされているかという判断基準が加えられている点である。
iv)セットアップ部32における改良点は、許可フラグのオン/オフをユーザからの操作に従い、設定する点である。
以降本実施形態における再生装置の個々の改良点について詳しく説明する。

改良点その1.プリロード管理テーブル33
プリロード管理テーブル33は、STN_Tableに記述されたテキスト字幕ストリームのうち、どれがプリロードされているか、どれがプリロードされていないかを示すテーブルである。ローダ13は、テキストコードバッファ10、フォントバッファ11へのプリロードを行うにあたって、STN_Tableに基づきこのプリロード管理テーブルを作成し、個々のテキスト字幕ストリームのプリロードが完了すれば、そのテキスト字幕ストリームに対応する本テーブル上の項目をONにしてゆく。そうして、テキストコードバッファ10、フォントバッファ11が充填するまで、各テキスト字幕ストリームのプリロードを繰り返す。こうした処理により、プリロード管理テーブルには、プリロードが完了したテキスト字幕ストリーム、プリロードされなかったテキスト字幕ストリームが示されることになる。

改良点その2.シームレスフラグ
図50は、PSRの予約領域に設けられたシームレスフラグの一例を示す図である。図中の引き出し線は、シームレスフラグの意味内容を示す図である。本図におけるシームレスフラグは、PSRの予約領域に設けられており、"1"に設定されることにより、シームレス再生を優先する旨を示す。つまりAVClipの再生途切れが生じるようなテキスト字幕ストリームの選択を許可しない旨を示す。シームレスフラグが有効"1(=ON)"であれば、AVClipの途切れない再生(シームレス再生)を優先するため、プリロードされていないストリームへの切替は禁止される。シームレスフラグが無効"0(=OFF)"の場合は、AVClipのシームレス再生はそれほど重要ではないため、STN_Tableに登録されている全てのストリームに対して切替が可能となる。プリロードされていないストリームに切り替える場合は、AVClipの再生を中断して、ストリームを切り替える。以上がシームレスフラグについての説明である。

改良点その3.ストリーム選択部17
本実施形態にかかるストリーム選択部17は、シームレスフラグにおける設定値に基づき、AVClipの再生途切れを招くようなテキスト字幕切り換えをユーザが意図しているか否かを判定し、その判定に基づき、バッファにないテキスト字幕ストリームを、選択対象にするかどうかの選択手続きを実行する。
図51(a)に示すように、AVClipに多重されているPGストリーム、プリロードされているテキスト字幕ストリーム、プリロードされていないテキスト字幕ストリームが、STN_Tableに記述されているものとする。そして、シームレス再生を優先するよう、シームレスフラグが設定されている場合、状態遷移は図51(b)のようになる。図中の丸は、MainPath側のPGストリーム、プリロードされたSubPath側のテキスト字幕ストリーム、プリロードされていないSubPath側のテキスト字幕ストリームをそれぞれ模式的に示す。矢印は、各ストリーム間の切り換えを示す。シームレスフラグがオンなら、PGストリームからプリロードされたテキスト字幕ストリームへの切り換えや、プリロードされたテキスト字幕ストリームからPGストリームへの切り換えは可能になる。しかしシームレスフラグがオフなら、図51(c)に示すように、PGストリームから非プリロードテキスト字幕ストリームへの切り換えや、非プリロードテキスト字幕ストリームからPGストリームへの切り換えは不可能になる。以上がストリーム選択部17における改良点についての説明である。

改良点その4.セットアップ部32
セットアップ部32は、第3実施形態同様、ユーザによるリモコン300に対する操作に応じてセットアップメニューを表示して、PSRの予約領域におけるシームレスフラグの更新を行う。図52(a)は、本実施形態においてセルフテスト部31により表示されるセットアップメニューを示す図である。
本実施形態においてセットアップメニューにより受け付けられる設定項目には、『国・地域』、『メニュー言語』、『音声言語』、『字幕言語』、『表示できる言語の拡張』という5つの項目がある。本セットアップ部32による特徴は、表示できる言語を拡張するかどうかの指定をユーザから受け付ける点である。ここでの"言語の拡張"は、第1実施形態〜第3実施形態に示したものとは異なり、シームレス再生を実現するため、選択が禁止されている言語のテキスト字幕を、選択の対象に加えることを意味する。
図52(b)は、言語種の拡張をユーザが意図した際、表示されるメニューを示す図である。本図におけるメニューは、言語種の拡張が、映像の再生を中断させ得ることを示す警告文Wn2と、シームレス再生を保障する操作を受け付けるためのボタンbn3、シームレス再生よりも字幕切替を優先する操作を受け付けるボタンbn4とを示す。
警告文Wn2は、言語種の拡張が、映像の再生を中断させ得ることを示しており、そして上述のボタンbn3,4は、かかる警告にも拘らず、言語種の拡張を実行するか、しないかを受け付ける。かかる表示により、自己責任により、字幕表示を実行するか否かをユーザは選択することができる。これにより途切れることなくAVClipを再生させたいとの要望と、AVClipの再生が途切れてもストリームの切替を優先したいとの要望との調和を図ることができる。
以上が本実施形態における各構成要素の改良点である。続いて、本実施形態に係るストリーム選択部17による選択手順について説明する。
図53は、第5実施形態に係る、ストリーム選択部17による選択手順を示すフローチャートであり、本フローチャートは、図24を改良したものになっている。本フローチャートのステップS31、ステップS32は、図24同様、STN_tableに記述されているPGストリーム、テキスト字幕ストリームのそれぞれについて、ステップS33〜ステップS34、ステップS61の処理を繰り返すループ処理になっている。ステップS33、ステップS34の処理は、図24と同じであるが、ステップS61の処理は、図24と異なる。
具体的にいうと、ステップS61では、textST_streamiが以下の(a)(b)(c)(d)を満たすかを否かを判定している。
(a)テキスト字幕ストリームiをデコードする能力が再生装置に存在すること
(b)テキスト字幕ストリームiの言語属性が再生装置の言語設定と一致すること
(c)テキスト字幕ストリームiの表示に必要なデータがプリロードされているか
(d)シームレス再生が要求されているか
(c)の条件を具備しているかの判定は、プリロード管理テーブルを参照することでなされる。(d)の条件を具備しているかの判定は、PSRの予約領域における許可フラグを参照することでなされる。
以上のステップS33〜ステップS35の処理が全てのPG_textST_streamについて繰り返されれば、ステップS62〜ステップS63、ステップS65〜ステップS68の処理が実行される。
ステップS62は、シームレスフラグによりシームレス再生が要求されているか否かの判定であり、ステップS63は、条件(c)を満たすPGストリーム、テキスト字幕ストリームに表示可能なものが存在するか否かの判定である。
シームレスフラグによりシームレス再生が要求されていない場合、ステップS62がNoになり、図24と同様の処理を行う。つまり表示可能なPGストリーム、テキスト字幕ストリームが存在するか否かを判定して(ステップS65)、もし存在すれば、条件(a)、条件(b)を満たすPGストリーム、テキスト字幕ストリームのうち、STN_Tableでの順位が最も高いもをPSR2に設定する(ステップS67)。存在しなければ、Invalidな値をPSR2に設定する(ステップS68)。
シームレスフラグによりシームレス再生が要求されており(ステップS62でYes)、尚且つ条件(c)を満たすテキスト字幕ストリームが存在する場合(ステップS63でYes)、条件(a)、条件(b)、条件(c)を満たすPGストリーム、テキスト字幕ストリームのうち、最もエントリー順位が高いものを、PSR2に設定する(ステップS66)。
シームレスフラグによりシームレス再生が要求されているが(ステップS62でYes)、条件(c)を満たすテキスト字幕ストリームが存在しない場合(ステップS63でNo)、Invalidな値をPSR2に設定する(ステップS68)。以上が図53のフローチャートである。
図54は、図53のステップS66の処理を詳細に示したフローチャートである。
ステップS91は、条件(a)、条件(b)、条件(c)の全てを満たすPGストリーム、テキスト字幕ストリームが存在するか否かの判定である。もし存在すれば、条件(a)、条件(b)、条件(c)の全てを満たすPGストリーム、テキスト字幕ストリームのうち、STN_Tableにおける順位が最も高いものをPSR2に設定する(ステップS93)。
条件(a)、条件(b)、条件(c)の全てを満たすPGストリーム、テキスト字幕ストリームが存在しない場合、ステップS92が実行されることになる。ステップS92は、条件(a)、条件(c)を満たすPGストリーム、テキスト字幕ストリームが存在するか否かの判定である。もし存在すれば、条件(a)、条件(c)の全てを満たすPGストリーム、テキスト字幕ストリームのうち、STN_Tableにおける順位が最も高いものをPSR2に設定する(ステップS94)。
以上が本実施形態におけるProcedure実行部20の処理手順である。続いてセットアップ部32によるシームレスフラグの設定について説明する。図55は、セットアップ部32によるシームレスフラグの設定手順を示すフローチャートである。
図55は、セットアップ部32の処理手順を示すフローチャートである。セットアップ部32は、セットアップメニューを表示してから(ステップS71)、ステップS72、ステップS73の判定を実行する。ステップS72は、シームレスフラグがONに設定されているか否かの判定であり、ステップS73は、STN_Tableに記述されていながら、プリロードされていないテキスト字幕ストリームが存在するか否かの判定である。
ステップS72、ステップS73の双方がYesなら、言語種を拡張する操作を受け付けるための選択項目をセットアップメニューに追加する。ステップS72、ステップS73のどちらかがNoなら、このステップS74をスキップする。
続いてセットアップメニューの設定項目における選択待ちを行う(ステップS75)。設定項目が選択されれば、その選択項目が言語種の拡張であるかの判定を行う(ステップS76)。もし異なれば、国・地域、メニュー言語、音声言語、字幕言語の設定を行うよう、該当する処理手順を実行する(これらの処理手順は本発明の主眼ではないので説明は省略する)。
言語種の拡張をユーザが選択すれば、図52(b)のメニューを表示してユーザからの操作待ちとなる(ステップS78〜79)。移動キーが押下されれば(ステップS78でYes)、セットアップメニュー上のフォーカス移動を行う(ステップS80)。終了操作がなされれば(ステップS79でYes)、フォーカスが、“字幕切り替えを優先”を意図するボタン上に存在するか否かを判定し(ステップS81)、存在しなければそのまま処理を終了する。字幕切り換え優先を意図するボタンにフォーカスが存在すれば、予約領域におけるシームレスフラグを“0”に更新して(ステップS82)、本フローチャートの処理を終了する。
以上のように本実施形態によれば、AVClipの連続再生、つまり、途切れることなくAVClipを再生させることの要求と、AVClipの再生が途切れてもストリームの切替を優先したい要求とが要求される場合において、どちらを優先するかが、シームレスフラグに示されるので、それらの要求の調和を図ることができる。
尚、本実施形態ではMainPath側のAVClipもSubPath側のテキスト字幕ストリーム及びフォントデータもともにBD-ROM上に記録されている場合を説明している。 SubPath側のストリームがMainPathのデータとは違う記録媒体上、たとえばハードディスクのように比較的アクセスが早い記録媒体に、テキスト字幕ストリームが記録されており、AVClipのデコーダバッファのアンダーフローが起きないのであれば、たとえシームレスフラグが有効であり、AVClipのシームレス再生を優先させる場合においても、プリロードされていないストリームへの切替を許可してもよい。
また、SubPath側のストリームが光ディスク上にあったとしても、光ディスクのアクセススピードが十分速いため、AVClipのデコーダバッファのアンダーフローが起きないのであれば、たとえプリロードされていないストリームであっても切替を許可してもよい。
更に、MainPath再生中のシークは、MainPathと同じBD-ROM上にSubPath情報を構成するテキスト字幕ストリームが記録されているため発生するから、SubPath側のストリームをハードディスクなどのアクセスが早い記録媒体上にコピーした上で、MainPathの再生を開始しても良い。こうすることにより、再生中によけいなシークが発生することを抑制できる。

(第6実施形態)
第5実施形態では、AVClipのシームレス再生を優先するか、テキスト字幕ストリームの切り換えを優先するかを、PSRに示しておいたが、本実施形態は、STN_Tableに設ける実施形態である。本図におけるSTN_Tableは、Attribute−PIDの組みのうち、Attributeに、シームレスフラグが設けられている。図56(a)は、第6実施形態におけるSTN_Tableの内部構成を示す図である。本図に示すように、本実施形態におけるSTN_Tableには、テキスト字幕ストリームに対応するentryと、attributeとの組みのうち、attributeにシームレスフラグが存在する。
図56(b)は、STN_Tableに設けられたシームレスフラグの内容を示す。本図におけるシームレスフラグの意味内容は、図50と同じである。AVClipのシームレス再生を優先するか、字幕切り換え可能な言語種の多さを優先するかの指定がSTN_Table内のシームレスフラグにより規定されるので、どちらを優先すべきかをオーサリング担当者が予め規定しておくことができる。この場合、シームレスフラグを付与すべき単位は、ディスク全体の属性であってもよいし、再生単位であるプレイリストの属性であってもよいし、ストリームの属性であってもよい。
以上のように本実施形態によれば、通常の映画作品の場合、オーサーリング担当者はAVストリームの再生が途切れることを望んではいないため、STN_Tableに対する設定を通じて、その意向を、再生装置に伝えることができる。
(第7実施形態)
テキスト字幕ストリームの場合は、テキスト字幕ストリーム自身のプリロードと、フォントデータのプリロードの2種類のプリロードが必要になる。
プリロードされるデータとして2つのデータがそろわなければ、テキスト字幕ストリームは表示できない。そのため、STN_Tableにテキスト字幕ストリームが登録されていて、テキスト字幕ストリームがテキストコードバッファ10に読み込まれていたとしても、フォントデータがフォントバッファ11に読み込まれていなければ、表示することができないので、そのようなストリーム選択は禁止すべきである。
ところが、フォントバッファのサイズがフォントセット1個分の容量である場合、ID=1のフォントデータのフォントデータしか読み込んでおくことができず、途中からID=2のフォントデータのフォントデータに切り替える必要がある場合には、フォントバッファにデータを読み込まなければいけない。この時、これまで述べたように、AVストリームが途切れずに再生することが要求されているならば、フォントデータの再読込は制限されるべきである。
テキスト字幕ストリームの字幕表示には、フォントデータが必要であるが、このフォントデータのロードがAVClipの再生途上に発生した場合、ビデオストリームの再生が途切れることがある。
図57は、1本のテキスト字幕ストリームの途中において、使用するフォントが切り替わる例である。本図において時点までは、ID=1のフォントデータを用いて字幕を表示しているが、t1以降は、ID=2のフォントデータを用いて字幕を実現したとする。このID=2のフォントデータがバッファになければ、ローダ13がAVClipの再生中に、フォントデータをロードする。このフォントデータをロードするためのディスクシークが発生するため、ビデオストリームの再生の途切れが生じる。
ところで第2実施形態に示したように、テキスト字幕ストリーム内のスタイル情報には、フォントのIDあるいは名称と、どの時点でそのフォントが必要になるかが記録されている。しかしスタイル情報への記述のみでは、テキスト字幕ストリーム自体を解析しないとこれらフォントのIDを知ることができない。
そこで本実施形態では、Clip情報に、必要なフォントデータのIDを記述しておく。必要なフォントのIDがClip情報に列挙されているので、テキスト字幕ストリームが格納されているファイルを解析せずに必要なフォントのIDを調べることができる。
具体的にいうとBD-ROMを図58のように構成している。図58は、本実施形態における記録媒体の内部構成を示す図である。本図において0002〜0005.m2tsのファイルは、それぞれテキスト字幕ストリームを構成している。
また本図のディレクトリにおいて、ファイル0002〜0005.clpiは、AVClip#2〜#5のそれぞれに対応する、Clip情報である。この各AVClip(テキスト字幕ストリーム)に対応するClip情報は、そのテキスト字幕ストリームの再生に必要となるフォントデータの識別子を記述している。例えば、Clip情報#2のID=2のフォントデータ、ID=3のフォントデータは、このClip情報に対応するAVClipを再生するにあたってには、ID=2のフォントデータ、ID=3のフォントデータのフォントデータのプリロードが必要であることを示す。
Clip情報#3のID=1のフォントデータは、このClip情報に対応するAVClipを再生するにあたってには、ID=1のフォントデータのフォントデータのプリロードが必要であることを示す。
このように再生に必要となる全てのフォントデータの識別子が、Clip情報に記述されているので、ローダ13は、テキスト字幕ストリームをプリロードする際、Clip情報を参照することにより、そのテキスト字幕ストリームの再生に必要なフォントデータを、漏れなくバッファに読み込んでおくことができる。
図59は、実施形態におけるローダ13によるロード処理を示す図である。ここで、BD-ROMにおけるFontディレクトリに複数のフォントデータが記録されており、各テキスト字幕ストリームに対応するClip情報に、ID=2のフォントデータ、ID=3のフォントデータ、ID=1のフォントデータの識別子が記述されているとすると、ローダ13は、このディレクトリから、Clip情報に記述されている識別子に基づき、フォントデータをフォントバッファ11にプリロードする。日本語のテキスト字幕ストリームの再生時において、再生の途中でフォントが切り換わる場合でも、その両方のフォントデータの識別子をClip情報に記述しておけば、これらを漏れなく、フォントバッファ11にロードしておくことができる。
ここで図59のように、再生の途中でID=2のフォントデータのフォントデータが必要になる場合でも、Clip情報に、ID=2のフォントデータを記述しておけば、ローダ13が、このID=2のフォントデータに対応するテキスト字幕ストリームをバッファにプリロードするので、AVClip再生の途上における途切れを防止することができる。
尚、全てのフォントデータを再生装置組み込みのデータとして格納していてもよい。この場合、コード列さえあればいつでも文字を表示可能であるが、様々な言語の全てのフォントデータを再生装置組み込みとして実現するのは難しい。また、コンテンツ作成側にとっては、映画のイメージにあった独自のフォントで字幕などを表示したいため、フォントをあらかじめ組み込んでおくのはあまり効果的ではない。従って、フォントデータを再生装置に組み込むという考えは、フォントデータがなかった場合の例外対策程度のものとなる。

(第8実施形態)
先の実施形態では、必要なフォントデータを、Clip情報に記述していたが、本実施形態では、ファイル管理情報を設け、これにフォントデータの識別子を記述しておくことにする。
図60(a)は、本実施形態における記録媒体のディレクトリ構造を示す。FONTディレクトリには、4つのフォントデータが存在しており、このFONTディレクトリには、ファイル管理情報と、フォントデータID=1〜ID=3とが存在する。図60(b)は、ファイル管理情報の内部構成を示す。ファイル管理情報は、フォントデータID=1〜ID=3のそれぞれのプリロードが、必須であるか、任意的であるかを示す。必須のフォントとはテキスト字幕ストリームを表示する際に必ず必要になるフォントであり、任意のフォントとはユーザーが表示やフォントを切り替える際に必要になるかもしれないフォントである。必須のフォントは必ずAVストリームの再生前にフォントバッファ11に読み込んでおく必要がある。
図61は、ファイル管理情報に基づく、プリロードを示す図である。ファイル管理情報においてID=1のフォントデータ、ID=2のフォントデータのフォントデータのプリロードが必須と記述されているので、ローダ13は、図61に示すように、必須と記述されているフォントデータをバッファにロードしてゆく。そして、必須とされたフォントデータがバッファにロードされれば、バッファ上の残りの領域に、任意的と記述されたフォントデータをロードしてゆく。
以上のように本実施形態によれば、プリロードが必須であるか、任意的であるかが、ファイル管理情報に記述されているので、このファイル管理情報を参照してプリロードを行えば、AVClip再生を途切れさせるような、フォントデータのロードが発生する確率を減少させることができる。
尚、テキスト字幕ストリームを解析した結果、必要となるフォントデータが見つからない、あるいはプリロードされておらずシームレス再生が要求されているため読み込むことができない場合は、すでにテキストコードバッファ10、フォントバッファ11に読み込まれているフォントや再生装置組み込みのフォントで代用してもよい。
(第9実施形態)
本実施形態は、ストリームあるいは管理情報を工夫することにより、プリロードされていないストリームを読みに行かなければならなくなるような状況を排除する方法について述べる。
テキスト字幕ストリームには、字幕が存在しない空白期間が存在することがある。そしてPlayItem情報のうち、かかる空白期間を、IN点、Out_timeに指定するものは、対象となるテキスト字幕ストリームの一部が存在しないので、オーサリング担当者は、そのPlayItem情報のSTN_Tableにおけるテキスト字幕ストリームのPID登録を省くことがある。
しかし、たとえ空白期間であるとはいえ、PlayItem情報におけるSTN_Tableの記載を省略すると、以下のような不都合が生じる。
図62に示すように複数のPlayItemが連続して再生される状況を考える。PlayItem情報#1とPlayItem情報#2の境界ではシームレス再生が要求されているとする。Subpathに含まれていてプリロードされるべき日本語のテキスト字幕ストリームは、PlayItem情報#1では空白期間になっているので、STN_Tableにはには登録されておらず、PlayItem情報#2およびPlayItem情報#3の区間で再生されるとする。
ローダ13は、STN_Tableに基づき、プリロードを行う。ここでテキスト字幕ストリームのプリロードであるが、ローダ13がプリロードを行うのは、PlayList情報のうち、先頭のPlayItem情報(PlayItem情報#1)のSTN_Tableに記載されているテキスト字幕ストリームである。たとえ再生の途中に必要であっても、先頭のPlayItem情報のSTN_Tableに記述がないテキスト字幕ストリームについては、プリロードはなされない。図63は、STN_Tableに基づくプリロードを示す図である。本図において日本語は、PlayItem情報#2、PlayItem情報#3のSTN_Tableに記述されているものの、PlayItem情報#1には記述されていない。そのため、ローダ13は、日本語のテキスト字幕ストリームをプリロードしないことも有り得る。
PlayItem情報#2の再生が開始される際に、PlayItem情報#2のSTN_Tableにはプリロードされるストリームが必要なことが判定できるが、PlayItem情報#1とPlayItem情報#2はシームレス再生が要求されているため、AVストリームの再生を中断することができず、データをテキストコードバッファ10、フォントバッファ11に読み込むことができない。そのため、本来表示されることが期待されているプリロードされるストリームが表示されなくなってしまう。
そこで、連続して再生されるPlayItemにおいては、全てのSTN_Tableでプリロードされているべきストリームを登録しておく。PlayItem情報#1においては実際にPlayItem#1が表示されることはないが、STN_Tableに登録されているため、対象となるPlayItem#1はプリロードされる。PlayItem情報#2において必要になったときにはすでにプリロードされているデータを表示すればよい。図64は、あるPlayItem情報のIn_time、Out_timeにより指定されるテキスト字幕ストリームの一部が空白期間であっても、そのPlayItem情報のSTN_Tableに、テキスト字幕ストリームのPIDを記述しておく例である。つまり空白期間にあたるPlayItem情報のSTN_Tableは、ダミーの値に設定しておくのである。こうすることにより、日本語がプリロードされ、AVClipの再生の途上で日本語を選択したとしても、AVClipの再生を途切れさせることなく、日本語への切り換えを実行することができる。
(第10実施形態)
本実施形態では、先の実施形態と同様、空白期間に関する。先の実施形態では、空白期間が先頭のPlayItem情報に存在するとしたが、途中に空白期間が存在する場合を本実施形態では想定している。PlayItem情報のIn_time、Out_timeで指定されている部分が空白期間であると、そのPlayItem情報のSTN_Tableに、PIDを記述しないことがある。
図65は、PlayItem情報#1,#3のSTN_TableにはPGストリームのPIDが記述されているが、PlayItem情報#2において、PGストリームは空白期間になっていて、PlayItem情報#2のSTN_Tableには、PGストリームのPIDが登録されていないケースを示す図である。
この場合、PlayItem情報#2のSTN_Tableに登録されているストリームはプリロードされるテキスト字幕ストリームのみになってしまい、図66に示すように、必ずプリロードされるストリームが選ばれてしまう。
ここでPlayItem情報#1の再生時において、多重化されたPGストリームが選択されたため、PlayItem情報#1再生中にテキストコードバッファ10、フォントバッファ11の内容が破壊されたとする。このような場合、すでにテキストコードバッファ10、フォントバッファ11から削除されているにもかかわらず、ローダ13は、再び読み込みを行おうとする。
更に、PlayItem情報#1とPlayItem情報#2の境界でシームレス再生が要求されていると、そのような読み込みを実行することができず、選択しているのに表示することができなくなる。
このような状況を防ぐために、たとえPlayItem情報#2において多重化されたストリームが存在しないとしても、図67に示すように、ダミーとしてPGストリームのPIDをSTN_Tableに登録しておく。ダミーのPIDをSTN_Tableに登録しておくことで、空白期間においても、PGストリームが選択されることがあるが、たとえ選択されたとしても何も表示されないだけであって、ストリーム選択に問題はない(図68)。また、必然的にプリロードされるストリームが選ばれるのを防ぐことができるため、シークが発生せず、再生が中断することをオーサリング段階で防ぐことが可能となる。
(備考)
以上の説明は、本発明の全ての実施行為の形態を示している訳ではない。下記(A)(B)(C)(D)・・・・・の変更を施した実施行為の形態によっても、本発明の実施は可能となる。本願の請求項に係る各発明は、以上に記載した複数の実施形態及びそれらの変形形態を拡張した記載、ないし、一般化した記載としている。拡張ないし一般化の程度は、本発明の技術分野の、出願当時の技術水準の特性に基づく。
(A)全ての実施形態では、再生の対象となる記録媒体をBD-ROMとして実施したが、本発明の記録媒体は、記録されるグラフィクスストリームに特徴があり、この特徴は、BD-ROMの物理的性質に依存するものではない。グラフィクスストリームを記録しうる記録媒体なら、どのような記録媒体であってもよい。例えば、DVD-ROM,DVD-RAM,DVD-RW,DVD-R,DVD+RW,DVD+R,CD-R,CD-RW等の光ディスク、PD,MO等の光磁気ディスクであってもよい。また、コンパクトフラッシュ(登録商標)カード、スマートメディア、メモリスティック、マルチメディアカード、PCM-CIAカード等の半導体メモリカードであってもよい。フレシキブルディスク、SuperDisk,Zip,Clik!等の磁気記録ディスク(i)、ORB,Jaz,SparQ,SyJet,EZFley,マイクロドライブ等のリムーバルハードディスクドライブ(ii)であってもよい。更に、機器内蔵型のハードディスクであってもよい。
(B)全ての実施形態における再生装置は、BD-ROMに記録されたAVClipをデコードした上でTVに出力していたが、再生装置をBD-ROMドライブのみとし、これ以外の構成要素をTVに具備させてもい、この場合、再生装置と、TVとをIEEE1394で接続されたホームネットワークに組み入れることができる。また、実施形態における再生装置は、テレビと接続して利用されるタイプであったが、ディスプレィと一体型となった再生装置であってもよい。更に、各実施形態の再生装置において、処理の本質的部分をなすシステムLSI(集積回路)のみを、実施としてもよい。これらの再生装置及び集積回路は、何れも本願明細書に記載された発明であるから、これらの何れの態様であろうとも、第1実施形態に示した再生装置の内部構成を元に、再生装置を製造する行為は、本願の明細書に記載された発明の実施行為になる。第1実施形態に示した再生装置の有償・無償による譲渡(有償の場合は販売、無償の場合は贈与になる)、貸与、輸入する行為も、本発明の実施行為である。店頭展示、カタログ勧誘、パンフレット配布により、これらの譲渡や貸渡を、一般ユーザに申し出る行為も本再生装置の実施行為である。
(C)各フローチャートに示したプログラムによる情報処理は、ハードウェア資源を用いて具体的に実現されていることから、上記フローチャートに処理手順を示したプログラムは、単体で発明として成立する。全ての実施形態は、再生装置に組み込まれた態様で、本発明に係るプログラムの実施行為についての実施形態を示したが、再生装置から分離して、第1実施形態に示したプログラム単体を実施してもよい。プログラム単体の実施行為には、これらのプログラムを生産する行為(1)や、有償・無償によりプログラムを譲渡する行為(2)、貸与する行為(3)、輸入する行為(4)、双方向の電子通信回線を介して公衆に提供する行為(5)、店頭、カタログ勧誘、パンフレット配布により、プログラムの譲渡や貸渡を、一般ユーザに申し出る行為(6)がある。
(D)各フロ−チャ−トにおいて時系列に実行される各ステップの「時」の要素を、発明を特定するための必須の事項と考える。そうすると、これらのフロ−チャ−トによる処理手順は、再生方法の使用形態を開示していることがわかる。各ステップの処理を、時系列に行うことで、本発明の本来の目的を達成し、作用及び効果を奏するよう、これらのフロ−チャ−トの処理を行うのであれば、本発明に係る記録方法の実施行為に該当することはいうまでもない。
(E)BD-ROMに記録するにあたって、AVClipを構成する各TSパケットには、拡張ヘッダを付与しておくことが望ましい。拡張ヘッダは、TP_extra_headerと呼ばれ、『Arribval_Time_Stamp』と、『copy_permission_indicator』とを含み4バイトのデータ長を有する。TP_extra_header付きTSパケット(以下EX付きTSパケットと略す)は、32個毎にグループ化されて、3つのセクタに書き込まれる。32個のEX付きTSパケットからなるグループは、6144バイト(=32×192)であり、これは3個のセクタサイズ6144バイト(=2048×3)と一致する。3個のセクタに収められた32個のEX付きTSパケットを"AlignedUnit"という。
IEEE1394を介して接続されたホームネットワークでの利用時において、再生装置は、以下のような送信処理にてAligned Unitの送信を行う。つまり送り手側の機器は、AlignedUnitに含まれる32個のEX付きTSパケットのそれぞれからTP_extra_headerを取り外し、TSパケット本体をDTCP規格に基づき暗号化して出力する。TSパケットの出力にあたっては、TSパケット間の随所に、isochronousパケットを挿入する。この挿入箇所は、TP_extra_headerのArribval_Time_Stampに示される時刻に基づいた位置である。TSパケットの出力に伴い、再生装置はDTCP_Descriptorを出力する。DTCP_Descriptorは、TP_extra_headerにおけるコピー許否設定を示す。ここで「コピー禁止」を示すようDTCP_Descriptorを記述しておけば、IEEE1394を介して接続されたホームネットワークでの利用時においてTSパケットは、他の機器に記録されることはない。

(F)各実施形態におけるデジタルストリームは、BD-ROM規格のAVClipであったが、DVD-Video規格、DVD-Video Recording規格のVOB(VideoObject)であってもよい。VOBは、ビデオストリーム、オーディオストリームを多重化することにより得られたISO/IEC13818-1規格準拠のプログラムストリームである。またAVClipにおけるビデオストリームは、MPEG4やWMV方式であってもよい。更にオーディオストリームは、Linear-PCM方式、MP3方式、MPEG-AAC方式であってもよい。
(G)各実施形態における映画作品は、アナログ放送で放送されたアナログ映像信号をエンコードすることにより得られたものでもよい。デジタル放送で放送されたトランスポートストリームから構成されるストリームデータであってもよい。
またビデオテープに記録されているアナログ/デジタルの映像信号をエンコードしてコンテンツを得ても良い。更にビデオカメラから直接取り込んだアナログ/デジタルの映像信号をエンコードしてコンテンツを得ても良い。他にも、配信サーバにより配信されるデジタル著作物でもよい。
(H)ストリーム選択部17は、操作受付部3から出力されたUser Operation情報、IGストリームにおけるボタンコマンドに基づき、PSRに設定すべき値(値X)を決定し、この値Xに基づき、PSRを更新する処理を行ってもよい。ここで操作受付部3から出力されたUserOperation情報が、音声切換キー、副映像切換キーの押下を示すものであるなら、PSRの数値に1を加えた値を値Xとして決定する。また操作受付部3から出力されたUserOperation情報が数値キーの押下を示すものなら、その押下された値を値Xとして決定する。一方、操作受付部3から出力されたボタンコマンドがPSRの設定を再生装置に命じるものなら、そのボタンコマンドの引数で指定された値を値Xとして決定する。このようにして値Xが決定されれば、値Xが有効な値(Valid)であるか、不定値であるかは、無効な値(Invalid)であるかを判定し、判定結果に応じたPSR更新処理を行う。ここで値Xが有効であるなら、値Xを用いてPSRを上書きする。値Xが不定値であるなら、最適な値を選んでPSRに設定する。値Xが無効な値であるなら、PSRの数値を維持する。
(I)セットアップメニューを表示して、字幕の言語設定を受け付けるにあたって、設定のためのメニューに"おまかせボタン"なるボタンを設けてもよい。かかるボタンに対応するボタン情報は、PSR2に不定値を設定するボタンコマンドを有している。おまかせボタンの確定で、かかるボタンコマンドが実行されれば、PSR1、PSR2に不定値が設定され、Procedurewhen playback condition is changedが起動されて最適なオーディオストリーム、PG_textST_streamが選択されることになる。
(J)第1実施形態において、満たすべき条件は(a)〜(b)の2つであったが、3つ以上であってもよい。
本発明に係る再生装置は、上記実施形態に内部構成が開示されており、この内部構成に基づき量産することが可能なので、資質において工業上利用することができる。このことから本発明に係る再生装置は、産業上利用可能性を有する。
本発明に係る再生装置の、使用行為についての形態を示す図である。 BD-ROMの内部構成を示す図である。 拡張子.m2tsが付与されたファイルがどのように構成されているかを模式的に示す図である。 プレイリスト情報のデータ構造を示す図である。 AVClipと、PLとの関係を示す図である。 Subpath情報の内部構成をクローズアップして示す図である。 SubPlayItem時間軸上の再生区間定義と、同期指定を示す図である。 (a)STN_tableの内部構成を示す図である。 (b)PGストリームに対応したentry−attributeの組みを示す図である。 (c)テキスト字幕ストリームに対応したentry−attributeの組みを示す図である。 第1実施形態で取り上げるAVClipの一例を示す図である。 第1実施形態で取り上げる、PlayList情報の一例を示す図である。 図10に示したPlayList情報により規定されるデジタルストリームの束を示す図である。 は、第1実施形態に係る再生装置の内部構成を示す図である。 ローカルストレージに格納されたPlayList情報により、どのようなPlayList再生時間軸が定義されるかを示す図である。 ビデオエンコーダのデコードによるデコード結果と、ストリーム選択部17による選択結果とを、図12の内部構成に書き加えた図である。 PSR2、PSR17、PSR30、PSR48〜61の詳細設定を示すである。 PSR48〜61の内部構成を示す図である。 PSR48〜61におけるDecode Capabilityフラグと、textST_language_codeとの対応を示す図である。 PSR48〜61のうち、PSR53の内容を示す図である。 textST_language_codeの意味内容を示す図である。 第1実施形態におけるストリーム選択部17の特徴部分を示す図である。 PSR48〜61におけるPSR番号及びビット位置と、textST_language_codeとの対応関係を示す図である。 Procedure when playback condition is changedの処理手順を示すフローチャートである。 ストリーム変化時における設定手順を示すフローチャートである。 PSR2の設定手順を示すフローチャートである。 テキスト字幕ストリームのDecode Capabilityの有無を判定するにあたっての判定手順を示すフローチャートである。 (a)〜(c)テキスト字幕ストリーム選択の具体例を示す図である。 (a)〜(c)テキスト字幕ストリーム選択の具体例を示す図である。 制御部による再生手順を示すフローチャートである。 テキスト字幕ストリームの内部構成を示す図である。 (a)スタイル情報,表示情報の設定例を示す図である。 (b)(a)のテキスト字幕ストリームから表示される合成画像を示す図である。 SubPlayItem#yに基づく再生処理を示すフローチャートである。 TextSTデコーダ12の内部構成を示す図である。 (a)日本語の言語特性によるレイアウトの違いについて説明した図である。 (b)アラビア語の言語特性におけるレイアウトを示す。 日本語、英語、アラビア語という3つの言語のDecode Capabilityを設定するにあたっての、判断基準を示す図である。 (a)(b)縦書き項目が完全にサポートされている日本語字幕と、縦書き項目のサポートが不完全な日本語字幕とを示す図である。 第3実施形態に係る、再生装置の内部構成を示す図である。 第3実施形態におけるPSR30のb23〜b16のビットアサインを示す図である。 PSRの予約領域におけるビット構成を示す図である。 (a)(b)言語種の拡張をユーザが意図した際、表示されるメニューを示す図である。 第3実施形態におけるテキスト字幕ストリームの判定手順を示すフローチャートである。 各言語毎のDecode Capabilityの判定手順を示すフローチャートである。 セットアップ部32の処理手順を示すフローチャートである。 (a)(b)アンサポート言語の表示をユーザが希望していない場合と、希望した場合とで、Decode Capabilityの設定を対比して示す図である。 第4実施形態に係るセットアップ部32の処理手順を示すフローチャートである。 ローダ13によるバッファへのプリロードを示す図である。 ストリーム選択部17による非プリロードのテキスト字幕ストリームの選択を示す図である。 AVClipの再生中において、非プリロードのテキスト字幕ストリームをユーザが選択した場合に、ローダ13が実行するロード処理を模式的に示す図である。 (a)AVClipの記録領域から、テキスト字幕ストリームの記録領域へのシーク、テキスト字幕ストリーム記録記録から、AVClip記録領域へのシークを示す図である。 (b)デコーダへのAVClip供給が途絶えることによる、AVClipの再生の途切れを示す図である。 第5実施形態に係る再生装置の内部構成を示す図である。 PSRの予約領域に設けられたシームレスフラグの一例を示す図である。 (a)AVClipに多重されているPGストリーム、プリロードされているテキスト字幕ストリーム、プリロードされていないテキスト字幕ストリームが、記述されたSTN_Tableを示す図である。 (b)シームレスフラグがオンに設定されている場合の状態遷移を示す図である。 (c)シームレスフラグがオフに設定されている場合の状態遷移を示す図である。 (a)本実施形態において表示されるセットアップメニューを示す図である。 (b)言語種の拡張をユーザが意図した際、表示されるメニューを示す図である。 第5実施形態に係る、選択手順を示すフローチャートである。 図53のステップS66の処理を詳細に示したフローチャートである。 セットアップ部32の処理手順を示すフローチャートである。 (a)第6実施形態におけるSTN_Tableの内部構成を示す図である。 (b)STN_Tableに設けられたシームレスフラグの内容を示す。 フォントデータロードによる映像再生の途切れを示す図である。 本実施形態における記録媒体の内部構成を示す図である。 第6実施形態におけるローダ13によるロード処理を示す図である。 (a)第7実施形態における記録媒体のディレクトリ構造を示す。 (b)ファイル管理情報の内部構成を示す。 必須と記述されているフォントデータがバッファにロードされてゆく様子を示す図である。 複数のPlayItemが連続して再生される状況を示す図である。 STN_Tableに基づくプリロードを示す図である。 第9実施形態に係るSTN_Tableの記述を示す図である。 PlayItem情報#1のSTN_TableにはPGストリームのPIDが記述されているが、PlayItem情報#2において、PGストリームは空白期間になっていて、PlayItem情報#2のSTN_TableにPGストリームのPIDが登録されていないケースを示す図である。 STN_Tableに登録されているストリームはプリロードされるテキスト字幕ストリームのみになってしまい、プリロードされるテキスト字幕ストリームが選ばれてしまう状況を示す図である。 PlayItem情報#2のSTN_Tableに多重化されたPGストリームが登録されていないため、プリロードされるストリームが選ばれてしまう状況を示す図である。 ダミーとしてPIDがSTN_Tableに登録されたデジタルストリームを選択した図である。
符号の説明
1 BD-ROMドライブ
2 Local Storage
3 操作受付部
4 多重分離部
5 ビデオデコーダ
6 ビデオプレーン
7 PGデコーダ
8 PGプレーン
9 合成部
10 テキストコードバッファ
11 フォントバッファ
12 TextSTデコーダ
13 ローダ
14 シナリオメモリ
15 制御部
16 PSRセット
17 ストリーム選択部
19 ビット割当テーブル
20 Procedure実行部
21 フォントレンダリング部
22 展開バッファ
23 コントローラ
31 セルフテスト部
32 セットアップ部
33 プリロード管理テーブル
200 再生装置
300 リモコン
400 テレビ
上記目的を達成するため、本発明に係る再生装置は、複数テキスト字幕ストリームのうち1つを選択して、選択したテキスト字幕ストリームを、動画と共に再生する再生装置であって、言語特性を表現する能力が存在するか否かを、複数の言語毎に記憶するレジスタセットと、レジスタセットに記憶されている言語特性の表現能力のうち、前記各テキスト字幕ストリームの言語属性に合致するものを参照することにより、言語特性を表現することができるか否かを判定する判定手段と、言語特性を表現することができると判定されたテキスト字幕ストリームを選択する選択手段とを備え、前記レジスタセットは、複数言語のそれぞれに対応したフラグを記憶しており、言語特性の表現能力の存否は、各フラグの設定値で表現されることを特徴としている。
上記目的を達成するため、本発明に係る再生装置は、複数テキスト字幕ストリームのうち1つを選択して、選択したテキスト字幕ストリームを、動画と共に再生する再生装置であって、言語特有の表示方法に対応するテキスト字幕の処理能力を有しているか否かを示すフラグを、言語毎に記憶するレジスタセットと、レジスタセットに記憶されている複数のフラグのうち、前記各テキスト字幕ストリームの言語属性に合致するものを参照することで、当該各テキスト字幕ストリームの言語特有の表示方法を処理することができるか否かを判定する判定手段と、言語特有の表示方法を処理することができると判定されたテキスト字幕ストリームを選択する選択手段とを備えることを特徴としている。
レジスタセットには、言語特有の表示方法に対応するテキスト字幕の処理能力を有しているか否かを示すフラグが格納されているので、ユーザがある言語でのテキスト字幕表示を希望した場合、その言語でのテキスト字幕表示の可能性の有無を、レジスタセットにおける各フラグの設定値を参照することにより、即座に判定することができる。
フラグの設定値を参照するだけで、何れかの言語でのテキスト字幕の表示可能性の有無を判定することができるので、たとえ、テキスト字幕の言語種が何百言語に及んだとしても、所望の言語での、字幕表示の可能性を即座に判定することができる。

Claims (9)

  1. 複数テキスト字幕ストリームのうち1つを選択して、選択したテキスト字幕ストリームを、動画と共に再生する再生装置であって、
    複数のフラグを記憶しており、各フラグの設定値にて、言語毎のテキスト字幕のデコード能力の有無を表すレジスタセットと、
    レジスタセットにおける各フラグの設定値を参照することにより、複数のテキスト字幕ストリームのそれぞれをデコードできるか否かを判定する判定手段と、
    デコードできると判定されたテキスト字幕ストリームを選択する選択手段と
    を備えることを特徴とする再生装置。
  2. 前記記録媒体には、ストリーム番号テーブルが記録されており、
    前記ストリーム番号テーブルは、各テキスト字幕ストリームについてのパケット識別子を、ストリーム番号と対応づけて示し、
    レジスタセットは更に、番号レジスタを備え、
    前記選択手段による選択は、
    デコードできると判定されたテキスト字幕ストリームに対応するストリーム番号を、レジスタセットにおける番号レジスタに書き込むことでなされ、
    前記再生装置は、
    番号レジスタに書き込まれたストリーム番号に対応するパケット識別子をストリーム番号テーブルから取り出して、そのパケット識別子に基づき、テキスト字幕ストリームの再生を行う再生手段を備える、請求項1記載の再生装置。
  3. 前記レジスタセットは更に、
    再生装置における言語設定を示す言語設定レジスタを備え、
    判定手段により“デコード能力有り”と判定されたテキスト字幕ストリームの中に、言語設定レジスタにおける言語設定と同じ言語属性をもつものが存在する場合、前記選択手段は、同じ言語属性をもつテキスト字幕ストリームのストリーム番号を、番号レジスタに書き込む、請求項2記載の再生装置。
  4. 判定手段により“デコード能力有り”と判定されたテキスト字幕ストリームが複数存在する場合、前記選択手段は、それらのテキスト字幕ストリームのうち、ストリーム番号テーブルでの順位が最も高いもののストリーム番号を、番号レジスタに書き込む、請求項2記載の再生装置。
  5. 前記記録媒体には、
    ビデオストリームにおける再生区間を定義する再生区間情報が複数記録されており、
    前記ストリーム番号テーブルは、再生区間情報のそれぞれについて存在しており、
    再生中の再生区間情報が、新たな再生区間情報に切り換わる度に、判定手段及び選択手段は、判定処理及び選択処理を実行する、請求項2記載の再生装置。
  6. 前記再生装置は、テキスト字幕ストリーム選択操作を受け付ける受付手段を備え、
    選択操作において、ユーザが要求したストリーム番号が無効である場合に、判定手段及び選択手段は、判定処理及び選択処理を実行する、請求項2記載の再生装置。
  7. 前記再生装置は、割り当てテーブルを有し、
    割り当てテーブルは、レジスタセットにおけるレジスタ番号及びビット位置と、テキスト字幕ストリームの言語属性を示すコードとの対応関係を示し、
    前記判定手段は、割り当てテーブルを参照することにより、選択しようとするテキスト字幕ストリームの言語属性を、レジスタ番号及びビット位置に変換して、レジスタセットにおいて、レジスタ番号及びビット位置に示される設定値を参照する
    ことを特徴とする請求項1記載の再生装置。
  8. 複数テキスト字幕ストリームのうち1つを選択して、選択したテキスト字幕ストリームを、動画と共に再生する処理をコンピュータに行わせるプログラムであって、
    複数のフラグを記憶しており、各フラグの設定値にて、言語毎のテキスト字幕のデコード能力の有無を表すレジスタセットの、各フラグの設定値を参照することにより、複数のテキスト字幕ストリームのそれぞれをデコードできるか否かを判定する判定ステップと、
    デコードできると判定されたテキスト字幕ストリームを選択する選択ステップと
    を備えることを特徴とするプログラム。
  9. 複数テキスト字幕ストリームのうち1つを選択して、選択したテキスト字幕ストリームを、動画と共に再生する再生方法であって、
    複数のフラグを記憶しており、各フラグの設定値にて、言語毎のテキスト字幕のデコード能力の有無を表すレジスタセットの、各フラグの設定値を参照することにより、複数のテキスト字幕ストリームのそれぞれをデコードできるか否かを判定する判定ステップと、
    デコードできると判定されたテキスト字幕ストリームを選択する選択ステップと
    を備えることを特徴とする再生方法。
JP2006514805A 2004-06-18 2005-06-17 再生装置、プログラム、再生方法 Active JP3996625B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2004181400 2004-06-18
JP2004181400 2004-06-18
JP2004195439 2004-07-01
JP2004195439 2004-07-01
PCT/JP2005/011162 WO2005124779A1 (ja) 2004-06-18 2005-06-17 再生装置、プログラム、再生方法

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2007124285A Division JP3996634B1 (ja) 2004-06-18 2007-05-09 再生装置、再生方法、プログラム
JP2007124284A Division JP3996633B1 (ja) 2004-06-18 2007-05-09 再生装置、プログラム、再生方法

Publications (2)

Publication Number Publication Date
JP3996625B2 JP3996625B2 (ja) 2007-10-24
JPWO2005124779A1 true JPWO2005124779A1 (ja) 2008-04-17

Family

ID=35509963

Family Applications (9)

Application Number Title Priority Date Filing Date
JP2006514805A Active JP3996625B2 (ja) 2004-06-18 2005-06-17 再生装置、プログラム、再生方法
JP2006514806A Active JP4210695B2 (ja) 2004-06-18 2005-06-17 再生装置、プログラム、再生方法
JP2005179195A Expired - Fee Related JP4406621B2 (ja) 2004-06-18 2005-06-20 再生装置、プログラム、再生方法。
JP2007124284A Active JP3996633B1 (ja) 2004-06-18 2007-05-09 再生装置、プログラム、再生方法
JP2007124285A Active JP3996634B1 (ja) 2004-06-18 2007-05-09 再生装置、再生方法、プログラム
JP2008090438A Active JP4243312B2 (ja) 2004-06-18 2008-03-31 再生装置、プログラム、再生方法
JP2008090439A Active JP4243313B2 (ja) 2004-06-18 2008-03-31 再生装置、プログラム、再生方法
JP2008095729A Expired - Fee Related JP4402727B2 (ja) 2004-06-18 2008-04-02 システムlsi
JP2008095728A Active JP4210709B2 (ja) 2004-06-18 2008-04-02 記録媒体、再生装置、記録方法、再生方法

Family Applications After (8)

Application Number Title Priority Date Filing Date
JP2006514806A Active JP4210695B2 (ja) 2004-06-18 2005-06-17 再生装置、プログラム、再生方法
JP2005179195A Expired - Fee Related JP4406621B2 (ja) 2004-06-18 2005-06-20 再生装置、プログラム、再生方法。
JP2007124284A Active JP3996633B1 (ja) 2004-06-18 2007-05-09 再生装置、プログラム、再生方法
JP2007124285A Active JP3996634B1 (ja) 2004-06-18 2007-05-09 再生装置、再生方法、プログラム
JP2008090438A Active JP4243312B2 (ja) 2004-06-18 2008-03-31 再生装置、プログラム、再生方法
JP2008090439A Active JP4243313B2 (ja) 2004-06-18 2008-03-31 再生装置、プログラム、再生方法
JP2008095729A Expired - Fee Related JP4402727B2 (ja) 2004-06-18 2008-04-02 システムlsi
JP2008095728A Active JP4210709B2 (ja) 2004-06-18 2008-04-02 記録媒体、再生装置、記録方法、再生方法

Country Status (7)

Country Link
US (8) US7877002B2 (ja)
EP (7) EP1758121B1 (ja)
JP (9) JP3996625B2 (ja)
KR (6) KR100939860B1 (ja)
CN (8) CN101114505B (ja)
DE (6) DE602005023227D1 (ja)
WO (2) WO2005124780A1 (ja)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
KR20060043284A (ko) * 2004-03-08 2006-05-15 엘지전자 주식회사 기록매체의 텍스트 서브타이틀 스트림 재생방법과 재생장치
US7877002B2 (en) * 2004-06-18 2011-01-25 Panasonic Corporation Reproduction device, program, and reproduction method
EP1864214B1 (en) * 2004-12-23 2012-02-15 Koninklijke Philips Electronics N.V. Method and apparatus for configuring software resources for playing network programs
US9275052B2 (en) 2005-01-19 2016-03-01 Amazon Technologies, Inc. Providing annotations of a digital work
KR20070052642A (ko) * 2005-11-17 2007-05-22 엘지전자 주식회사 데이터 재생방법 및 재생장치와 데이터 전송방법
JP4364176B2 (ja) * 2005-06-20 2009-11-11 シャープ株式会社 映像データ再生装置及び映像データ生成装置
US7515710B2 (en) 2006-03-14 2009-04-07 Divx, Inc. Federated digital rights management scheme including trusted systems
JP4702621B2 (ja) * 2006-03-20 2011-06-15 ソニー株式会社 再生装置および再生方法、プログラム格納媒体、並びに、プログラム
WO2007136195A1 (en) * 2006-05-19 2007-11-29 Lg Electronics Inc. Method for managing and processing information of an object for presentation of multiple sources and apparatus for conducting said method
TWM304101U (en) * 2006-06-14 2007-01-01 Wei-Jing Yang DVD player capable of showing multi-national captions
US9672533B1 (en) 2006-09-29 2017-06-06 Amazon Technologies, Inc. Acquisition of an item based on a catalog presentation of items
US8725565B1 (en) 2006-09-29 2014-05-13 Amazon Technologies, Inc. Expedited acquisition of a digital item following a sample presentation of the item
EP2077035A1 (en) * 2006-10-25 2009-07-08 Koninklijke Philips Electronics N.V. Playback of video and corresponding subtitle data
US7865817B2 (en) * 2006-12-29 2011-01-04 Amazon Technologies, Inc. Invariant referencing in digital works
CN103561278B (zh) 2007-01-05 2017-04-12 索尼克知识产权股份有限公司 包含连续播放的视频分配系统
JP2008204560A (ja) * 2007-02-21 2008-09-04 D & M Holdings Inc 再生装置、再生方法、プログラム及び記録媒体
US8385719B2 (en) * 2007-03-22 2013-02-26 Mitsubishi Electric Corporation Video reproducing apparatus and method
US9665529B1 (en) 2007-03-29 2017-05-30 Amazon Technologies, Inc. Relative progress and event indicators
US7921309B1 (en) 2007-05-21 2011-04-05 Amazon Technologies Systems and methods for determining and managing the power remaining in a handheld electronic device
JP2009118168A (ja) * 2007-11-06 2009-05-28 Hitachi Ltd 番組録画再生装置、および、番組録画再生方法
WO2009065137A1 (en) 2007-11-16 2009-05-22 Divx, Inc. Hierarchical and reduced index structures for multimedia files
US8997161B2 (en) 2008-01-02 2015-03-31 Sonic Ip, Inc. Application enhancement tracks
BRPI0902891A2 (pt) * 2008-02-15 2015-09-22 Panasonic Corp dispositivo de reprodução, dispositivo de gravação, método de reprodução e método de gravação
JP2009271589A (ja) * 2008-04-30 2009-11-19 Sony Corp 情報処理装置、その制御方法、制御プログラム及びネームマッピング情報
RU2518189C2 (ru) 2008-06-26 2014-06-10 Панасоник Корпорэйшн Носитель записи, устройство воспроизведения, устройство записи, способ воспроизведения, способ записи и программа
US9087337B2 (en) * 2008-10-03 2015-07-21 Google Inc. Displaying vertical content on small display devices
JP5445467B2 (ja) * 2009-01-06 2014-03-19 日本電気株式会社 クレジット情報区間検出方法、クレジット情報区間検出装置及びクレジット情報区間検出プログラム
CN105072454B (zh) 2009-01-07 2019-04-19 索尼克Ip股份有限公司 针对在线内容的媒体指南的特定化、集中式、自动化创建
US9087032B1 (en) 2009-01-26 2015-07-21 Amazon Technologies, Inc. Aggregation of highlights
CN102685514B (zh) * 2009-02-19 2014-02-19 松下电器产业株式会社 再生装置、记录方法及记录介质再生系统
WO2010134316A1 (ja) 2009-05-19 2010-11-25 パナソニック株式会社 記録媒体、再生装置、符号化装置、集積回路、及び再生出力装置
EP2343906B1 (en) * 2009-06-11 2016-08-10 Panasonic Intellectual Property Management Co., Ltd. Playback device, integrated circuit, recording medium
WO2010143439A1 (ja) * 2009-06-12 2010-12-16 パナソニック株式会社 再生装置、集積回路、記録媒体
KR101648450B1 (ko) * 2009-08-10 2016-08-16 엘지전자 주식회사 데이터 재생 방법 및 재생 장치
US8692763B1 (en) 2009-09-28 2014-04-08 John T. Kim Last screen rendering for electronic book reader
KR20120091007A (ko) 2009-10-02 2012-08-17 파나소닉 주식회사 입체 시 영상을 재생할 수 있는 재생장치, 집적회로, 재생방법, 프로그램
US20110080462A1 (en) * 2009-10-02 2011-04-07 Panasonic Corporation Playback device, integrated circuit, playback method, and program for stereoscopic video playback
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
KR20110066578A (ko) * 2009-12-11 2011-06-17 삼성전자주식회사 디지털 컨텐츠와 이를 위한 재생장치 및 방법
JP5533163B2 (ja) * 2010-04-08 2014-06-25 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP5652642B2 (ja) * 2010-08-02 2015-01-14 ソニー株式会社 データ生成装置およびデータ生成方法、データ処理装置およびデータ処理方法
JP5633236B2 (ja) * 2010-08-09 2014-12-03 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US9495322B1 (en) 2010-09-21 2016-11-15 Amazon Technologies, Inc. Cover display
US8989499B2 (en) * 2010-10-20 2015-03-24 Comcast Cable Communications, Llc Detection of transitions between text and non-text frames in a video stream
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
JP2012249045A (ja) * 2011-05-27 2012-12-13 Sony Corp 再生装置、再生方法、およびプログラム
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
CN108989847B (zh) 2011-08-30 2021-03-09 帝威视有限公司 用于编码和流处理视频的系统和方法
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8806188B2 (en) 2011-08-31 2014-08-12 Sonic Ip, Inc. Systems and methods for performing adaptive bitrate streaming using automatically generated top level index files
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
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
JP5794568B2 (ja) * 2011-09-01 2015-10-14 国立大学法人東京工業大学 データ編集装置およびデータ編集方法
US9158741B1 (en) 2011-10-28 2015-10-13 Amazon Technologies, Inc. Indicators for navigating digital works
US20130179199A1 (en) 2012-01-06 2013-07-11 Rovi Corp. Systems and methods for granting access to digital content using electronic tickets and ticket tokens
US9197685B2 (en) * 2012-06-28 2015-11-24 Sonic Ip, Inc. Systems and methods for fast video startup using trick play streams
US9143812B2 (en) 2012-06-29 2015-09-22 Sonic Ip, Inc. Adaptive streaming of multimedia
US10452715B2 (en) 2012-06-30 2019-10-22 Divx, Llc Systems and methods for compressing geotagged video
WO2014015110A1 (en) 2012-07-18 2014-01-23 Verimatrix, Inc. Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution
US8997254B2 (en) 2012-09-28 2015-03-31 Sonic Ip, Inc. Systems and methods for fast startup streaming of encrypted multimedia content
US8914836B2 (en) 2012-09-28 2014-12-16 Sonic Ip, Inc. Systems, methods, and computer program products for load adaptive streaming
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9264475B2 (en) 2012-12-31 2016-02-16 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
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
US9344517B2 (en) 2013-03-28 2016-05-17 Sonic Ip, Inc. Downloading and adaptive streaming of multimedia content to a device with cache assist
CN103269447A (zh) * 2013-04-22 2013-08-28 深圳市视维科技有限公司 一种机顶盒上实现多国语言的方法
US10283013B2 (en) * 2013-05-13 2019-05-07 Mango IP Holdings, LLC System and method for language learning through film
US9247317B2 (en) 2013-05-30 2016-01-26 Sonic Ip, Inc. Content streaming with client device trick play index
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
US9343112B2 (en) 2013-10-31 2016-05-17 Sonic Ip, Inc. Systems and methods for supplementing content from a server
CN103780942B (zh) * 2013-12-23 2017-07-11 青岛海信电器股份有限公司 一种信息配置方法及装置
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
CN111212251B (zh) * 2014-09-10 2022-05-27 松下电器(美国)知识产权公司 再现装置以及再现方法
JP6618246B2 (ja) 2014-09-30 2019-12-11 キヤノン株式会社 情報処理装置、表示方法、及びコンピュータプログラム
EP3910904A1 (en) 2015-01-06 2021-11-17 DivX, LLC Systems and methods for encoding and sharing content between devices
WO2016132482A1 (ja) * 2015-02-18 2016-08-25 三菱電機株式会社 再生装置及び再生方法
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
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
EP3573341B1 (en) 2017-03-29 2022-07-13 Samsung Electronics Co., Ltd. Device and method for transmitting and receiving signal in multimedia system
CN108040277B (zh) 2017-12-04 2020-08-25 海信视像科技股份有限公司 针对解码后得到的多语种字幕的字幕切换方法及装置
CN109874026B (zh) * 2019-03-05 2020-07-07 网易(杭州)网络有限公司 数据处理方法与装置、存储介质、电子设备
CN112580302B (zh) * 2020-12-11 2023-07-14 海信视像科技股份有限公司 一种字幕校正方法及显示设备

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55129979A (en) * 1979-03-29 1980-10-08 Sony Corp Vtr control unit
DE3641406A1 (de) * 1986-12-04 1988-06-09 Grundig Emv Einrichtung zur decodierung eines satelliten-fernsehsignals
JPH03280096A (ja) 1990-03-29 1991-12-11 Seiko Epson Corp フォントデータ生成装置
JPH0580738A (ja) 1990-12-25 1993-04-02 Matsushita Electric Ind Co Ltd テレテキスト自動文字変換装置
BE1005554A3 (fr) 1991-12-10 1993-10-26 Bundy Internat Ltd Procede de fabrication d'un tube a paroi multiple.
NZ268754A (en) 1993-06-09 1998-07-28 Intelligence At Large Inc Prioritised packetised data for multiple media digital communication
DE69524151T2 (de) * 1994-07-12 2002-06-06 Thomson Brandt Gmbh Untertitelverfahren eines Teletext-Systems
FI98591C (fi) 1995-05-23 1997-07-10 Nokia Technology Gmbh Videokuvan tekstitysmenetelmä
TW293981B (ja) * 1995-07-21 1996-12-21 Philips Electronics Nv
KR100276950B1 (ko) 1995-11-24 2001-03-02 니시무로 타이죠 다종 언어 기록 매체와 그 재생 장치
JP3728344B2 (ja) 1996-03-22 2005-12-21 パイオニア株式会社 情報再生装置及び情報再生方法
CN1099806C (zh) * 1996-04-05 2003-01-22 松下电器产业株式会社 多媒体光盘及其再生装置、再生方法
WO1998009290A1 (en) 1996-08-29 1998-03-05 Philips Electronics N.V. Playback control in digital video disc players
EP0866461A3 (en) * 1997-03-19 2001-11-07 Sony Corporation Video data decoding and video signal reproduction
JP3025462B2 (ja) 1997-08-05 2000-03-27 翼システム株式会社 画像表示システム及び記録媒体
JP3407287B2 (ja) 1997-12-22 2003-05-19 日本電気株式会社 符号化復号システム
EP0926680A3 (en) 1997-12-25 2001-10-04 Pioneer Electronic Corporation Information reproducing apparatus
JP3058870B1 (ja) 1999-02-05 2000-07-04 株式会社次世代デジタルテレビジョン放送システム研究所 Afc回路
EP1035735A3 (en) 1999-03-12 2007-09-05 Kabushiki Kaisha Toshiba Moving image coding and decoding apparatus optimised for the application of the Real Time Protocol (RTP)
EP1885128A3 (en) 1999-09-20 2008-03-12 Tivo, Inc. Closed caption tagging system
JP2001273095A (ja) 2000-03-27 2001-10-05 Toshiba Corp データ転送方法及びデータ記録装置
KR100399999B1 (ko) * 2001-02-05 2003-09-29 삼성전자주식회사 멀티스트림이 기록된 기록매체, 그 기록장치, 그기록방법, 그 재생장치, 및 그 재생방법
JP2002313029A (ja) 2001-04-11 2002-10-25 Alpine Electronics Inc Dvd再生装置
JP2002374494A (ja) 2001-06-14 2002-12-26 Fuji Electric Co Ltd ビデオコンテンツファイル生成システムおよびビデオコンテンツファイル検索方法。
JP3871123B2 (ja) * 2001-06-16 2007-01-24 三星電子株式会社 プリロードフォント情報を有する情報貯蔵媒体、その再生装置及び再生方法
JP2003084952A (ja) 2001-09-14 2003-03-20 Canon Inc 文字処理装置および文字処理方法よび記憶媒体およびプログラム
KR100457512B1 (ko) * 2001-11-29 2004-11-17 삼성전자주식회사 광 기록 매체, 광 기록 매체 재생 장치 및 방법
JP4061567B2 (ja) * 2001-12-03 2008-03-19 松下電器産業株式会社 Dvdオーディオ再生装置、及びdvdオーディオ再生方法
JP2004096512A (ja) 2002-08-30 2004-03-25 Alpine Electronics Inc ビデオディスク再生装置
KR20040024113A (ko) 2002-09-13 2004-03-20 엘지전자 주식회사 디지털 다기능 디스크 장치에서의 재생 제어방법
JP4082968B2 (ja) 2002-09-17 2008-04-30 三洋電機株式会社 光ディスク再生装置
KR100460910B1 (ko) * 2002-10-04 2004-12-09 현대자동차주식회사 자동차 극장에서 다국적 자막 지원장치 및 방법
WO2004036574A1 (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
KR100970727B1 (ko) * 2002-10-15 2010-07-16 삼성전자주식회사 텍스트 데이터와 다운로드 폰트를 이용한 다국어 지원용서브 타이틀 데이터가 기록된 정보저장매체 및 그 장치
JP3816865B2 (ja) * 2002-11-05 2006-08-30 パイオニア株式会社 情報記録媒体並びにその記録装置及び再生装置
KR100892976B1 (ko) 2002-11-27 2009-04-10 엘지전자 주식회사 고밀도 광디스크의 멀티 경로 데이터 스트림 재생방법
WO2004049710A1 (ja) 2002-11-28 2004-06-10 Sony Corporation 再生装置、再生方法、再生プログラムおよび記録媒体
KR20040067084A (ko) * 2003-01-21 2004-07-30 엘지전자 주식회사 선택적 자막 출력이 가능한 동영상 재생기
JP2004328653A (ja) 2003-04-28 2004-11-18 Toshiba Corp 再生装置
CN1839627B (zh) * 2003-06-18 2015-04-01 松下电器产业株式会社 再现装置以及再现方法
KR100897466B1 (ko) * 2003-06-30 2009-05-14 파나소닉 주식회사 기록매체, 재생장치, 기록방법, 재생방법
WO2005088634A1 (en) 2004-03-17 2005-09-22 Lg Electronics Inc. Recording medium, method, and apparatus for reproducing text subtitle streams
US7877002B2 (en) * 2004-06-18 2011-01-25 Panasonic Corporation Reproduction device, program, and reproduction method
US7751455B2 (en) * 2004-12-14 2010-07-06 Palo Alto Research Center Incorporated Blue and green laser diodes with gallium nitride or indium gallium nitride cladding laser structure

Also Published As

Publication number Publication date
EP1758121A1 (en) 2007-02-28
JP2006050570A (ja) 2006-02-16
EP1965388B1 (en) 2010-08-25
US7853125B2 (en) 2010-12-14
EP1863032A3 (en) 2008-04-02
JP3996633B1 (ja) 2007-10-24
DE602005023066D1 (de) 2010-09-30
CN1969335B (zh) 2012-06-13
US7609948B2 (en) 2009-10-27
US7519278B2 (en) 2009-04-14
CN101414473A (zh) 2009-04-22
EP1758122A1 (en) 2007-02-28
KR20070101335A (ko) 2007-10-16
JP4406621B2 (ja) 2010-02-03
US20080232773A1 (en) 2008-09-25
US7949225B2 (en) 2011-05-24
US20080008451A1 (en) 2008-01-10
KR20080056026A (ko) 2008-06-19
DE602005023672D1 (de) 2010-10-28
CN1728806A (zh) 2006-02-01
CN101114506A (zh) 2008-01-30
JPWO2005124780A1 (ja) 2008-04-17
WO2005124780A1 (ja) 2005-12-29
CN101299345A (zh) 2008-11-05
EP1758121A4 (en) 2008-04-02
EP1863031B1 (en) 2011-01-05
KR100939860B1 (ko) 2010-01-29
JP3996625B2 (ja) 2007-10-24
JP2007306567A (ja) 2007-11-22
KR20070020126A (ko) 2007-02-16
US7877002B2 (en) 2011-01-25
JP4210695B2 (ja) 2009-01-21
EP1965388A1 (en) 2008-09-03
JP2008251150A (ja) 2008-10-16
EP1863031A3 (en) 2008-04-02
US20060078301A1 (en) 2006-04-13
CN101299345B (zh) 2012-09-26
JP2008251152A (ja) 2008-10-16
JP2008251151A (ja) 2008-10-16
CN101404172A (zh) 2009-04-08
KR100872950B1 (ko) 2008-12-08
CN101114506B (zh) 2010-06-02
US7856169B2 (en) 2010-12-21
KR100917512B1 (ko) 2009-09-16
WO2005124779A1 (ja) 2005-12-29
DE602005023301D1 (de) 2010-10-14
DE602005025813D1 (de) 2011-02-17
KR100890312B1 (ko) 2009-03-26
JP2007312382A (ja) 2007-11-29
DE602005023449D1 (de) 2010-10-21
US8027566B2 (en) 2011-09-27
EP1863032A2 (en) 2007-12-05
KR20080056028A (ko) 2008-06-19
KR20080056027A (ko) 2008-06-19
CN1981342A (zh) 2007-06-13
EP1968065B1 (en) 2011-12-14
US20080232774A1 (en) 2008-09-25
DE602005023227D1 (de) 2010-10-07
JP4243312B2 (ja) 2009-03-25
EP1968065A1 (en) 2008-09-10
EP1863032B1 (en) 2010-08-18
CN101114505A (zh) 2008-01-30
US20080008450A1 (en) 2008-01-10
KR20070100370A (ko) 2007-10-10
JP4210709B2 (ja) 2009-01-21
JP4402727B2 (ja) 2010-01-20
EP1758122B1 (en) 2010-09-08
EP1863031A2 (en) 2007-12-05
CN101414473B (zh) 2013-01-23
CN101114505B (zh) 2010-06-02
US20080232772A1 (en) 2008-09-25
CN100588238C (zh) 2010-02-03
EP1758121B1 (en) 2010-09-01
EP1968064B1 (en) 2010-09-15
CN1969335A (zh) 2007-05-23
EP1758122A4 (en) 2008-04-02
US20070286576A1 (en) 2007-12-13
EP1968064A1 (en) 2008-09-10
US7583888B2 (en) 2009-09-01
KR100939858B1 (ko) 2010-01-29
KR100872949B1 (ko) 2008-12-08
US20080025697A1 (en) 2008-01-31
JP2008257845A (ja) 2008-10-23
JP3996634B1 (ja) 2007-10-24
JP4243313B2 (ja) 2009-03-25

Similar Documents

Publication Publication Date Title
JP3996625B2 (ja) 再生装置、プログラム、再生方法
KR100939859B1 (ko) 재생장치, 재생방법

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070710

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070802

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3996625

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130810

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130810

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140810

Year of fee payment: 7