(57)【特許請求の範囲】
【請求項１】
MP4 file format、又は、ISO base media file formatに準拠したフォーマットの動画に関する動画データと、前記動画の表示区間の全体にわたって表示される字幕に関する字幕データとを含むストリームに含まれる前記字幕データに従い、前記字幕を再生する再生手段を備え、
前記字幕データは、前記字幕の表示が一定の区間を、前記字幕の表示単位として、前記表示単位の前記字幕データであるディスプレイセットに区分されており、
前記ディスプレイセットは、表示される前記字幕の数を表す字幕数情報と、前記字幕の透明度を表す透明度情報とを含み、MP4 file format、又は、ISO base media file formatの１サンプルに対応し、
前記字幕を非表示とする非表示区間のディスプレイセットは、前記字幕の数が0であることを表す前記字幕数情報、又は、前記字幕が完全に透明であることを表す前記透明度情報を含み、
前記非表示区間は、前記動画の先頭から最初の字幕が表示されるまでの字幕が表示されない区間と、字幕とその字幕の次に表示される字幕との間の字幕が表示されない区間とであり、
前記再生手段は、非表示区間のディスプレイセットに従い、0個の前記字幕、又は、完全に透明な前記字幕を再生する
再生装置。
【請求項２】
字幕を再生する再生装置が、
MP4 file format、又は、ISO base media file formatに準拠したフォーマットの動画の表示区間の全体にわたって表示される前記字幕に関する字幕データを含むストリームに含まれる前記字幕データに従い、前記字幕を再生する再生ステップを含み、
前記字幕データは、前記字幕の表示が一定の区間を、前記字幕の表示単位として、前記表示単位の前記字幕データであるディスプレイセットに区分されており、
前記ディスプレイセットは、表示される前記字幕の数を表す字幕数情報と、前記字幕の透明度を表す透明度情報とを含み、MP4 file format、又は、ISO base media file formatの１サンプルに対応し、
前記字幕を非表示とする非表示区間のディスプレイセットは、前記字幕の数が0であることを表す前記字幕数情報、又は、前記字幕が完全に透明であることを表す前記透明度情報を含み、
前記非表示区間は、前記動画の先頭から最初の字幕が表示されるまでの字幕が表示されない区間と、字幕とその字幕の次に表示される字幕との間の字幕が表示されない区間とであり、
前記再生ステップでは、非表示区間のディスプレイセットに従い、0個の前記字幕、又は、完全に透明な前記字幕を再生する
再生方法。
【請求項３】
MP4 file format、又は、ISO base media file formatに準拠したフォーマットの動画に関する動画データと、前記動画の表示区間の全体にわたって表示される字幕に関する字幕データとを含むストリームに含まれる前記字幕データに従い、前記字幕を再生する再生手段を備え、
前記字幕データは、前記字幕の表示が一定の区間を、前記字幕の表示単位として、前記表示単位の前記字幕データであるディスプレイセットに区分されており、
前記ディスプレイセットは、表示される前記字幕の数を表す字幕数情報と、前記字幕の透明度を表す透明度情報とを含み、MP4 file format、又は、ISO base media file formatの１サンプルに対応し、
前記字幕を非表示とする非表示区間のディスプレイセットは、前記字幕の数が0であることを表す前記字幕数情報、又は、前記字幕が完全に透明であることを表す前記透明度情報を含み、
前記非表示区間は、前記動画の先頭から最初の字幕が表示されるまでの字幕が表示されない区間と、字幕とその字幕の次に表示される字幕との間の字幕が表示されない区間とであり、
前記再生手段は、非表示区間のディスプレイセットに従い、0個の前記字幕、又は、完全に透明な前記字幕を再生する
再生装置として、コンピュータを機能させるためのプログラム。
【請求項４】
MP4 file format、又は、ISO base media file formatに準拠したフォーマットの動画に関する動画データと、前記動画の表示区間の全体にわたって表示される字幕に関する字幕データとを含み、
前記字幕データは、前記字幕の表示が一定の区間を、前記字幕の表示単位として、前記表示単位の前記字幕データであるディスプレイセットに区分されており、
前記ディスプレイセットは、表示される前記字幕の数を表す字幕数情報と、前記字幕の透明度を表す透明度情報とを含み、MP4 file format、又は、ISO base media file formatの１サンプルに対応し、
前記字幕を非表示とする非表示区間のディスプレイセットは、前記字幕の数が0であることを表す前記字幕数情報、又は、前記字幕が完全に透明であることを表す前記透明度情報を含み、
前記非表示区間は、前記動画の先頭から最初の字幕が表示されるまでの字幕が表示されない区間と、字幕とその字幕の次に表示される字幕との間の字幕が表示されない区間とである
ストリームのデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再生装置、再生方法、プログラム、及び、データ構造に関し、特に、例えば、MP4 file formatや、ISO base media file format等のフォーマットのファイルに、字幕に関する字幕データを格納したファイルから、字幕の表示を適切に行うことができるようにする再生装置、再生方法、プログラム、及び、データ構造に関する。
【背景技術】
【０００２】
ファイルのフォーマットとしては、例えば、ISO base media file format(ISO/IEC((International Organization for Standardization/International Engineering Consortium)) 14496-12: Part 12)がある（例えば、非特許文献１を参照）。
【０００３】
また、ISO/IEC 14496-12: Part 12から派生したフォーマットとして、MP4 file format(ISO/IEC 14496-14: Part 14)がある（例えば、非特許文献２を参照）。
【０００４】
ISO base media file format、及び、MP4 file formatのデータの管理方法は、表示単位（アクセスユニット）の表示時間と、表示単位の表示開始時刻から次の表示単位の表示開始時刻までの時間とが一致する、例えば、動画データとの親和性が高い。例えば、動画データについては、1フレームや1GOP(Group Of Picture)を、表示単位とし、その表示端を、ISO base media file formatの１サンプルとして（１サンプルに対応させて）、ISO base media file formatのファイルに格納することができる。
【０００５】
ここで、以下では、ISO base media file formatと、MP4 file formatとのうちの、例えば、ISO base media file formatについて説明する。但し、以下の説明は、MP4 file formatについても当てはまる。
【０００６】
【非特許文献１】ISO/IEC 14496-12:2005(E) Part 12:ISO base media file format
【非特許文献２】ISO/IEC 14496-14:2003(E) Part 14: MP4 file format
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、近年においては、インターネットやLAN(Local Area Network)等の、データを配信する配信手段によって、動画や音声のコンテンツを流通させる動きが活発になっている。
【０００８】
そして、動画のコンテンツについては、動画に重畳して字幕を表示することが要請されている。
【０００９】
動画に字幕を重畳して表示するには、例えば、MPEG-2 TS等のように、ストリームの中に、動画データの他、字幕データを含める必要がある。しかしながら、動画データや音声データ等の、いわゆるメディアデータを格納するISO base media file formatのファイルに、字幕データを格納することは困難であった。
【００１０】
すなわち、動画データや音声データ等のメディアデータは、表示（出力）単位と、その表示単位の表示（出力）開始時刻から次の表示単位の表示開始時刻までの時間とが一致するので、ISO base media file formatとの親和性が高く、ISO base media file formatのファイルに、容易に格納することができる。
【００１１】
しかしながら、字幕データは、表示単位と、表示単位の表示開始時刻から次の表示単位の表示開始時刻までの時間とが一致するとは限らないため、ISO base media file formatのファイルに格納しても、不都合が生じ、字幕を適切に表示することができないことがある。
【００１２】
本発明は、このような状況に鑑みてなされたものであり、ISO base media file format等のフォーマットのファイルに、字幕データを格納し、その字幕データを格納したファイルから、字幕の表示を適切に行うことができるようにするものである。
【課題を解決するための手段】
【００１３】
本発明の一側面の再生装置、又は、プログラムは、MP4 file format、又は、ISO base media file formatに準拠したフォーマットの動画に関する動画データと、前記動画の表示区間の全体にわたって表示される字幕に関する字幕データとを含むストリームに含まれる前記字幕データに従い、前記字幕を再生する再生手段を備え、前記字幕データは、前記字幕の表示が一定の区間を、前記字幕の表示単位として、前記表示単位の前記字幕データであるディスプレイセットに区分されており、前記ディスプレイセットは、表示される前記字幕の数を表す字幕数情報と、前記字幕の透明度を表す透明度情報とを含み、MP4 file format、又は、ISO base media file formatの１サンプルに対応し、前記字幕を非表示とする非表示区間のディスプレイセットは、前記字幕の数が0であることを表す前記字幕数情報、又は、前記字幕が完全に透明であることを表す前記透明度情報を含み、前記非表示区間は、前記動画の先頭から最初の字幕が表示されるまでの字幕が表示されない区間と、字幕とその字幕の次に表示される字幕との間の字幕が表示されない区間とであり、前記再生手段は、非表示区間のディスプレイセットに従い、0個の前記字幕、又は、完全に透明な前記字幕を再生する再生装置、又は、再生装置として、コンピュータを機能させるためのプログラムである。
【００１４】
本発明の一側面の再生方法は、字幕を再生する再生装置が、MP4 file format、又は、ISO base media file formatに準拠したフォーマットの動画の表示区間の全体にわたって表示される前記字幕に関する字幕データを含むストリームに含まれる前記字幕データに従い、前記字幕を再生する再生ステップを含み、前記字幕データは、前記字幕の表示が一定の区間を、前記字幕の表示単位として、前記表示単位の前記字幕データであるディスプレイセットに区分されており、前記ディスプレイセットは、表示される前記字幕の数を表す字幕数情報と、前記字幕の透明度を表す透明度情報とを含み、MP4 file format、又は、ISO base media file formatの１サンプルに対応し、前記字幕を非表示とする非表示区間のディスプレイセットは、前記字幕の数が0であることを表す前記字幕数情報、又は、前記字幕が完全に透明であることを表す前記透明度情報を含み、前記非表示区間は、前記動画の先頭から最初の字幕が表示されるまでの字幕が表示されない区間と、字幕とその字幕の次に表示される字幕との間の字幕が表示されない区間とであり、前記再生ステップでは、非表示区間のディスプレイセットに従い、0個の前記字幕、又は、完全に透明な前記字幕を再生する再生方法である。
【００１５】
本発明の一側面のデータ構造は、MP4 file format、又は、ISO base media file formatに準拠したフォーマットの動画に関する動画データと、前記動画の表示区間の全体にわたって表示される字幕に関する字幕データとを含み、前記字幕データは、前記字幕の表示が一定の区間を、前記字幕の表示単位として、前記表示単位の前記字幕データであるディスプレイセットに区分されており、前記ディスプレイセットは、表示される前記字幕の数を表す字幕数情報と、前記字幕の透明度を表す透明度情報とを含み、MP4 file format、又は、ISO base media file formatの１サンプルに対応し、前記字幕を非表示とする非表示区間のディスプレイセットは、前記字幕の数が0であることを表す前記字幕数情報、又は、前記字幕が完全に透明であることを表す前記透明度情報を含み、前記非表示区間は、前記動画の先頭から最初の字幕が表示されるまでの字幕が表示されない区間と、字幕とその字幕の次に表示される字幕との間の字幕が表示されない区間とであるストリームのデータ構造である。
【００１６】
本発明の一側面においては、MP4 file format、又は、ISO base media file formatに準拠したフォーマットの動画に関する動画データと、前記動画の表示区間の全体にわたって表示される字幕に関する字幕データとを含み、前記字幕データが、前記字幕の表示が一定の区間を、前記字幕の表示単位として、前記表示単位の前記字幕データであるディスプレイセットに区分されており、MP4 file format、又は、ISO base media file formatの１サンプルに対応する前記ディスプレイセットが、表示される前記字幕の数を表す字幕数情報と、前記字幕の透明度を表す透明度情報とを含み、前記字幕を非表示とする非表示区間のディスプレイセットが、前記字幕の数が0であることを表す前記字幕数情報、又は、前記字幕が完全に透明であることを表す前記透明度情報を含むストリームの字幕データに従い、字幕が再生される。非表示区間では、その非表示区間のディスプレイセットに従い、0個の前記字幕、又は、完全に透明な前記字幕が再生される。前記非表示区間には、前記動画の先頭から最初の字幕が表示されるまでの字幕が表示されない区間と、字幕とその字幕の次に表示される字幕との間の字幕が表示されない区間とがある。
【００１７】
なお、再生装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【００１８】
また、プログラムやストリームは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【発明の効果】
【００１９】
本発明の一側面によれば、字幕の表示を適切に行うことができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態について説明するが、その前に、前段階の準備として、ISO base media file formatについて、簡単に説明する。
【００２１】
図１は、ISO Base Media File Formatのファイルに格納されるメディアデータの例を示している。
【００２２】
図１では、メディアデータは、９個のサンプルSample#1ないしSample#9に区分されている。
【００２３】
ここでは、１サンプルとは、メディアデータを表示(出力）する表示(出力）単位である。メディアデータが動画データである場合には、例えば、１フレームや、MPEG(Moving Picture Experts Group)-2 Video 規格の1GOP（Group of Pictures）等が、１サンプルに対応する。また、メディアデータが音声データである場合には、例えば、その音声データの規格で定められた１オーディオフレーム等が、１サンプルに対応する。
【００２４】
サンプルは、時間軸上、隙間なく密に並び、すなわち、再生時刻順に密に並べられ、再生時には、順次再生される。
【００２５】
ISO Base Media File Formatでは、１個以上のサンプルによって、チャンク(Chunk)が構成される。
【００２６】
チャンクは、同一の性質を有する、１個以上の、連続するサンプルの集まりである。動画データについては、例えば、フレームレート等が同一の連続するサンプルが、１個のチャンクとされる。また、音声データについては、サンプリング周波数や量子化ステップ等が同一の連続するサンプルが、１個のチャンクとされる。
【００２７】
図１では、先頭から３個のサンプルSample#1ないしSample#3が、１個のチャンクChunk#1に、その後の３個のサンプルSample#4ないしSample#6が、１個のチャンクChunk#2に、その後の１個のサンプルSample#7が、１個のチャンクChunk#3に、その後の１個のサンプルSample#8が、１個のチャンクChunk#4に、最後の１個のSample#9が、１個のチャンクChunk#5に、それぞれなっている。
【００２８】
ISO Base Media File Format においては、各サンプルの表示(出力）を開始する表示(出力）開始時刻が、sample table atom（以下、適宜、atomという）と呼ばれる一種のデータベースに登録される。atomとは、ISO Base Media File Formatにおいて定義された、メディアデータに関するメタデータ（情報、属性）を格納するためのデータベース構造である。atomについての詳細は、例えば、ISO/IEC 14496-12:2005(E) Part 12:ISO base media file formatに記載されている。
【００２９】
図２は、図１のメディアデータのatomの概要を示している。
【００３０】
atomには、例えば、time-to-sample atom，sample size atom，sample-to-chunk atom，chunk offset atomがある。
【００３１】
図２Ａは、図１のメディアデータのtime-to-sample atomの概要を示している。
【００３２】
サンプルは、durationと呼ばれる再生時間（区間）を有し、time-to-sample atomは、duration(Sample duration)と、そのdurationを有するサンプルの個数(Sample count)との対応を表す。
【００３３】
図２Ａのtime-to-sample atomは、duration=3のサンプルが４個、duration=1のサンプルが２個、duration=2のサンプルが３個、それぞれ存在することを表している。
【００３４】
図２Ｂは、図１のメディアデータのsample size atomの概要を示している。
【００３５】
sample size atomは、サンプル(Sample)と、そのサンプルの、バイト数によるサイズ(size)との対応を表す。
【００３６】
図２Ｃは、図１のメディアデータのsample-to-chunk atomの概要を示している。
【００３７】
sample-to-chunk atomは、サンプルとチャンクとの関係を表し、サンプルの個数(Samples-per-chunk)と属性(Sample Description ID)が同一のチャンクについてのsample-to-chunk atomは、１個のエントリ（レコード）にまとめられる。
【００３８】
すなわち、sample-to-chunk atomには、サンプルの個数と属性が同一の、連続する１個以上のチャンクの先頭のチャンク(First chunk)（を表す情報）と、その１個以上のチャンクのサンプルの個数(Samples-per-chunk)及び属性(Sample Description ID)とが記述される。
【００３９】
図１のメディアデータのうちの、先頭のチャンクChunk#1と２番目（先頭から２番目）のチャンクChunk#2については、いずれも、サンプルの個数が３個で、Sample Description IDが23になっている。
このため、図２Ｃの、sample-to-chunk atomの先頭から１行目のエントリには、サンプルの個数が３個で、Sample Description IDが23になっている、連続する２個のチャンクChunk#1及びChunk#2のうちの先頭のチャンクが、チャンクChunk#1であること、及び、チャンクを構成するサンプルの個数が３個で、Sample Description IDが23であることが記述されている。
【００４０】
また、図１のメディアデータのうちの、３番目のチャンクChunk#3と４番目のチャンクChunk#4については、いずれも、サンプルの個数が１個で、Sample Description IDが23になっている。
【００４１】
このため、図２Ｃの、sample-to-chunk atomの先頭から２行目のエントリには、サンプルの個数が１個で、Sample Description IDが23になっている、連続する２個のチャンクChunk#3及びChunk#4のうちの先頭のチャンクが、チャンクChunk#3であること、及び、チャンクを構成するサンプルの個数が１個で、Sample Description IDが23であることが記述されている。
【００４２】
さらに、図１のメディアデータのうちの、最後（５番目）のチャンクChunk#5については、サンプルの個数が１個で、Sample Description IDが24になっている。
【００４３】
このため、図２Ｃの、sample-to-chunk atomの先頭から３行目のエントリには、サンプルの個数が１個で、Sample Description IDが24になっている１個のチャンクChunk#5の先頭のチャンクが、チャンクChunk#5であること、及び、チャンクを構成するサンプルの個数が１個で、Sample Description IDが24であることが記述されている。
【００４４】
図２Ｄは、図１のメディアデータのchunk offset atomの概要を示している。
【００４５】
chunk offset atomは、チャンク(Chunk)と、そのチャンクの、バイト数による、ファイルの先頭からの相対的な位置(Offset)との対応を表す。
【００４６】
なお、ISO Base Media File Formatでは、各サンプルの表示開始時刻が、atomに記述（登録）される。
【００４７】
動画や音声については、あるサンプルの表示（出力）が終了する表示終了時刻（の直後の時刻）が、次のサンプルの表示（出力）開始時刻となるので、各サンプルの表示（出力）を、そのサンプルの表示（出力）開始時刻となったときに開始することで、連続した動画や音声が表示（出力）される。
【００４８】
一方、字幕を、動画に重畳して表示するには、ISO Base Media File Formatのファイルに、その字幕に関する字幕データを、メディアデータとして格納する必要がある。
【００４９】
ここで、字幕とは、ある時間（動画の再生区間）だけ、動画上のある領域に重畳して表示される文字等の画像である。
【００５０】
図３は、字幕の表示を説明する図である。
【００５１】
字幕は、動画に重畳して表示が開始され、ある時間を経過すると、消去されることが、必要に応じて繰り返される。
【００５２】
すなわち、字幕は、不連続に表示される。
【００５３】
ISO Base Media File Formatのサンプルの管理は、サンプルが隙間なく連続に表示（出力）されることを前提としている。このため、ISO Base Media File Formatでは、字幕のような不連続に表示されるメディアデータを管理する方法、すなわち、字幕データをファイルに格納する方法は、標準規格として制定されていない。
【００５４】
そこで、例えば、１個の字幕に関する字幕データを、１サンプルとして扱うこととすると、ISO Base Media File Formatでは、ある字幕と、その次に表示される字幕との間の、字幕が表示されない区間（時間）や、動画の先頭から、最初の字幕が表示されるまでの、字幕が表示されない区間を定義（規定）することができないという不都合が生じる。
【００５５】
すなわち、図３Ａは、１個の字幕に関する字幕データを、１サンプルとして扱う場合の、字幕の表示を示している。
【００５６】
１個の字幕に関する字幕データを、１サンプルとして扱う場合には、図３ＡにおいてL1で示す、ある字幕と、その次に表示される字幕との間の、字幕が表示されない区間、及び、図３ＡにおいてL2で示す、動画の先頭から、最初の字幕が表示されるまでの、字幕が表示されない区間を定義することができない。
【００５７】
そこで、図３Ｂは、字幕の表示を開始してから、その字幕が消去され、次の字幕の表示が開始される（直前）までを（又は、動画の最後までを）、１サンプルとして扱う場合の、字幕の表示を示している。
【００５８】
字幕の表示を開始してから、次の字幕の表示が開始されるまでを、１サンプルとして扱う場合には、字幕のサンプルは、動画や音声のサンプルと同様に、再生時刻順に密に並ぶことになる。
【００５９】
しかしながら、この場合でも、図３ＢにおいてL2で示す、動画の先頭から、最初の字幕が表示されるまでの、字幕が表示されない区間を定義することができないという不都合を解消することができない。
【００６０】
さらに、字幕が表示されている区間と、その字幕が消去された後の、その字幕が表示されていない区間とを、１サンプルとすると、字幕の１サンプルの区間と、字幕が表示されている区間とが（必ずしも）一致しなくなる。
【００６１】
したがって、ISO Base Media File Formatのatomでは、サンプルの区間を認識することはできるが、字幕が実際に表示されている区間（実表示区間）を認識することができないという不都合が生じる。
【００６２】
そこで、ISO Base Media File Formatに適した字幕データのデータ構造（フォーマット）を定義し、さらに、そのデータ構造の字幕データを、ISO Base Media File Formatのファイルに格納したファイルのフォーマット（以下、新フォーマットという）を定義する。
【００６３】
図４を参照して、新フォーマットについて説明する。
【００６４】
新フォーマットでは、ファイルに格納されるストリームは、動画に関する動画データと、その動画の表示区間の全体にわたって表示される字幕に関する字幕データとを、少なくとも含む。さらに、字幕データは、字幕の表示が一定の区間を、字幕の表示単位として、その表示単位の字幕データであるディスプレイセットに区分される。
【００６５】
すなわち、新フォーマットでは、字幕が、動画の表示区間の全体にわたって表示されるとみなす。但し、字幕が表示されない区間（非表示区間）については、「ない」（存在しない、又は見えない）字幕が表示されるとみなす。
【００６６】
さらに、字幕の色その他が変化しない、字幕（「ない」字幕を含む）の表示が一定の区間を、字幕の表示単位とし、字幕データは、表示単位ごとに独立して定義する。
【００６７】
いま、表示単位の字幕データを、ディスプレイセットと呼ぶこととすると、新フォーマットでは、動画の表示区間の全体にわたって表示される字幕に関する字幕データは、ディスプレイセットに区分される。
【００６８】
新フォーマットでは、（見える）字幕が表示される区間（表示区間）については、その字幕のディスプレイセットが存在し、字幕の非表示区間については、「ない」字幕のディスプレイセットが存在する。
【００６９】
また、例えば、ある字幕の表示後、その字幕の色や、文字、表示の位置等を変化させる場合には、その変化のための字幕データが必要となるので、変化前の字幕と、変化後の字幕とは、別のディスプレイセットで定義される。
【００７０】
新フォーマットでは、コンテンツとしての動画に重畳して表示される一連の字幕は、１個以上のディスプレイセットの集合で定義することができる。
【００７１】
また、新フォーマットでは、１個のディスプレイセットが、ISO Base Media File Formatの１サンプルに対応する。
【００７２】
図４は、ディスプレイセットとサンプルとの対応を示している。
【００７３】
図４では、字幕を非表示とする非表示区間のディスプレイセット（「ない」字幕のディスプレイセット）#1、字幕Aのディスプレイセット（字幕Aを表示するディスプレイセット）#2、非表示区間のディスプレイセット#3、字幕Bのディスプレイセット#4、字幕Cのディスプレイセット#5、非表示区間のディスプレイセット#6、字幕Dのディスプレイセット#7、及び、非表示区間のディスプレイセット#8が、時間順に並んでいる。
【００７４】
そして、ディスプレイセット#1ないし#8のそれぞれは、１個のサンプルに対応している。
【００７５】
以上のように、「ない」字幕を含め、字幕の表示が一定の区間を、字幕の表示単位として、その表示単位の字幕データであるディスプレイセットを定義することにより、図３で説明した、字幕が表示されない区間（非表示区間）を定義（規定）することができないという不都合、及び、字幕の１サンプルの区間と字幕が表示される区間（表示区間）とが一致しないことに起因して、字幕の表示区間を認識することができないという不都合を解消することができる。
【００７６】
そして、その結果、ISO Base Media File Formatのファイルに、字幕データを格納することが可能となる（字幕が適切に表示されるように、字幕データを格納することができる）。
【００７７】
また、字幕の表示が一定の区間（表示単位）の字幕データをディスプレイセットとすることで、字幕を適切に表示することができる。
【００７８】
すなわち、例えば、図４において、仮に、連続する２個のディスプレイセット#4及び#5を、１個のディスプレイセットに合体した場合には、その、ディスプレイセット#4及び#5を合体したディスプレイセット（以下、合体ディスプレイセットという）によれば、まず、字幕Bが表示され、その後、字幕Bに代えて、字幕Cが表示される。
【００７９】
したがって、例えば、字幕Cが表示されるべき、ディスプレイセット#5の区間にランダムアクセスがされた場合に、合体ディスプレイセットによれば、ディスプレイセット#5の区間で表示されるべき字幕Cではなく、字幕Bが表示される。
【００８０】
これに対して、字幕の表示が一定の区間に区分されたディスプレイセット#4及び#5が存在する場合には、字幕Cが表示されるべき、ディスプレイセット#5の区間にランダムアクセスがされたときに、字幕Cが表示される。
【００８１】
以上のように、その区間で表示すべき字幕を表示することができる。
【００８２】
図５は、新フォーマットのファイルに格納されるストリームの例を示している。
【００８３】
新フォーマットのファイルに格納されるストリームは、ISO Base Media File Formatに準拠したストリームであり、図５では、そのストリームの先頭に、atomを含むメタデータが配置されている。
【００８４】
メタデータに続いては、動画データ、音声データ、及び、字幕データが順次配置されている。そして、動画データ、音声データ、及び、字幕データは、いずれも、サンプル単位のデータになっている。
【００８５】
なお、新フォーマットのファイルに格納されるストリームは、ISO Base Media File Formatではなく、MP4 file formatに準拠したストリームとすることもできる。
【００８６】
上述したように、新フォーマットの字幕データのサンプルは、ディスプレイセットである。そして、ディスプレイセットは、字幕の画像データや、画面（動画）上の字幕の表示領域を表す座標、色（パレット）等のデータを有する。
【００８７】
さらに、ディスプレイセットは、その他、１画面に表示される字幕の数を表す字幕数情報としての後述するnumber_of_region_composition_objectsや、字幕の透明度を表す透明度情報としての後述するT-value等を有する。
【００８８】
ここで、number_of_region_composition_objectsは、１画面（フレーム又はフィールド）に表示すべき字幕（オブジェクト）のid(identification)、字幕の表示領域を表すid、及び、字幕の表示位置（の情報）から構成される。また、T-valueは、0以上の値をとり、値が0である場合、字幕が完全に透明（無色透明）であることを表す。
【００８９】
非表示区間のディスプレイセットでは、１画面に表示される字幕の数を表す字幕数情報としてのnumber_of_region_composition_objectsが0とされるか、又は、字幕の透明度を表す透明度情報としてのT-valueが0とされる。
【００９０】
number_of_region_composition_objectsが0である場合、表示される字幕は存在しない。したがって、number_of_region_composition_objectsが0になっているディスプレイセットによれば、存在しない字幕が表示され、これにより、字幕の非表示が実現される。
【００９１】
また、T-valueが0である場合、完全に透明な字幕が表示される。したがって、T-valueが0になっているディスプレイセットによれば、完全に透明な字幕、つまり、見えない字幕が表示され、これにより、字幕の非表示が実現される。
【００９２】
すなわち、新フォーマットのファイルを再生する後述する再生装置は、ディスプレイセット（の字幕）を表示する際に、字幕を表示する表示領域であるリージョン内の字幕をクリア（消去）する。したがって、表示順で直前のディスプレイセットによって表示された字幕がリージョン内に存在すれば、その字幕はクリアされることになる。
【００９３】
再生装置は、リージョン内の字幕を消去した後、新たな字幕の描画を開始する。このとき、表示すべき字幕（オブジェクト）の数が0であれば、リージョン内には、何も描画されない。また、表示すべき字幕が完全に透明であれば、リージョン内には、完全に透明な字幕が描画される。いずれにしても、字幕は、等価的に表示されない。
【００９４】
図６は、新フォーマットのファイルに格納される字幕データ（サブタイトルグラフィックスストリーム）のデータ構造を模式的に示している。
【００９５】
なお、図６の字幕データのデータ構造は、BD-ROM(Blu-Ray Disc Read Only Memory)や、AVCHDの規格に規定されている字幕のデータとの親和性が高いものになっている。したがって、新フォーマットのファイルを再生する再生装置は、例えば、BD-ROM、又は、AVCHDの規格に準拠した記録媒体を再生する装置を改良することで、容易に製造することができる。すなわち、新フォーマットのファイルを再生するにあたり、そのファイル専用の再生装置を一から新たに製造する必要は、必ずしもない。
【００９６】
図６において、字幕データは、１個以上のエポック(EPOCH)の並びから構成される。
【００９７】
１個のエポックは、１個以上のディスプレイセットの並びから構成される。
【００９８】
ディスプレイセットには、Display Period Startディスプレイセット(Display Set)と、Display Change Pointディスプレイセットとの２種類がある。
【００９９】
エポックは、１個のDisplay Period Startディスプレイセットと、０個以上のDisplay Change Pointディスプレイセットとから構成される。すなわち、エポックの先頭には、Display Period Startディスプレイセットが配置され、その後に、０個以上のDisplay Change Pointディスプレイセットが配置される。
【０１００】
エポックは、字幕の表示順に、１個ずつ有効になり、新フォーマットのファイルの再生装置は、有効なエポックについて、メモリ管理を維持する。すなわち、再生装置は、エポックが有効である間、そのエポックに関するデータ（エポックを処理している再生装置の状態を含む）の記憶を維持する。
【０１０１】
また、再生装置は、あるエポックが有効になった後、（そのエポックが無効となり、）次のエポックが有効になった場合には、直前に有効であったエポックに関するデータを維持しない。
【０１０２】
エポックは、字幕を表示する字幕プレーン（字幕の表示のための、字幕（の画像データ）が描画されるメモリの記憶領域）の記憶内容が維持される単位であり、字幕プレーンは、有効なエポックが切り替わるときに、すなわち、有効なエポックの先頭に配置されたDisplay Period Startディスプレイセットのタイミングで、クリアされる。なお、Display Change Pointディスプレイセットのタイミングでは、上述したように、字幕プレーンのうちの、リージョン内がクリアされる。
【０１０３】
エポックが有効である間、その有効なエポックに対して、１個のパレットテーブル(CLUT(Color Look Up Table))と、最大で２個の字幕（オブジェクト）とを有効にすることができる。したがって、本実施の形態では、１画面において、最大で、２個の字幕を同時に表示することができる。
【０１０４】
なお、同時に表示する字幕の数は２個に限定されるものではなく、１個だけ、又は３個以上の個数にすることができる。
【０１０５】
ディスプレイセットは、字幕データの基本的な構成要素であり、セグメント(Segment)の集合である。
【０１０６】
すなわち、ディスプレイセットは、２個以上のセグメントから構成され、ページコンポジションセグメント(Page Composition Segment)(以下、PCSともいう）から始まり、エンドセグメント(END Segment)で終わる。
【０１０７】
PCSとエンドセグメントの間には、0個以上のデフィニションセグメント(Definition Segment)が挿入（配置）される。
【０１０８】
ディスプレイセットの先頭のPCSには、そのディスプレイセット（の字幕）の表示を開始する表示開始時刻を表すPTS(Presentation Start Time)が付与される。したがって、ディスプレイセットは、PTSを有し、表示開始時刻を指定することができる最小の単位となる。
【０１０９】
ディスプレイセットは、時刻が、そのディスプレイセット（が有するPCS）のPTSが表す時刻になると、有効(active)になる。
【０１１０】
なお、有効になるディスプレイセットは、有効なエポックに含まれるディスプレイセットである。また、ディスプレイセットは、同時に２個以上が有効になることはなく、あるディスプレイセットが有効になるときには、それまで有効であったディスプレイセットは終了する（無効になる）。
【０１１１】
図７は、ディスプレイセットが有効になるタイミングを示している。
【０１１２】
いま、あるディスプレイセット(Display Set)#0が、PCS#0を有し、その次に（字幕が）表示されるディスプレイセット#1が、PCS#1を有することとする。
【０１１３】
時刻が、PCS#0に付与されたPTSが表す表示開始時刻となると、そのPCS#0を有するディスプレイセット#0が有効(active)となり、そのディスプレイセット#0（の字幕）が表示される。その後、時刻が、PCS#1に付与されたPTSが表す表示開始時刻となると、ディスプレイセット#0は無効となり、代わって、PCS#1を有するディスプレイセット#1が有効となる。そして、有効となったディスプレイセット#1が表示される。
【０１１４】
図８は、ディスプレイセットのデータ構造を示している。
【０１１５】
上述したように、ディスプレイセットには、Display Period Startディスプレイセットと、Display Change Pointディスプレイセットとの２種類がある。
【０１１６】
図８Ａは、Display Period Startディスプレイセットのデータ構造を示しており、図８Ｂは、Display Change Pointディスプレイセットのデータ構造を示している。
【０１１７】
Display Period Startディスプレイセット、及び、Display Change Pointディスプレイセットは、同一のデータ構造を有する。
【０１１８】
すなわち、ディスプレイセットは、図６で説明したように、その先頭に配置されるPCSと、最後に配置されるエンドセグメント(以下、ENDともいう)とを有する。
【０１１９】
つまり、ディスプレイセットは、唯一のPCSから開始し、唯一のENDで終了する。PCSは、そのPCSを有するディスプレイセット内で定義されたオブジェクトだけを参照する。
【０１２０】
PCSとENDとの間には、デフィニションセグメント(Definition Segment)が配置される。
【０１２１】
デフィニションセグメントとしては、リージョンを定義するリージョンデフィニションセグメント(Region Definition Segment)（以下、RDSともいう）、パレットの色を定義するCLUTデフィニションセグメント(CLUT Definition Segment)（以下、CDSともいう）、及び、字幕の画像データを格納するオブジェクトデータデフィニションセグメント(Object data Definition Segment)（以下、ODSともいう）、の３種類がある。
【０１２２】
ディスプレイセットは、唯一のRDSを有する。RDSは、そのRDSを有するエポック内で利用可能なすべてのリージョン（字幕が表示される表示領域）を定義する。リージョンのサイズとリージョンの位置は、エポック内で変わらない。RDSでは、例えば、最大で２個のリージョンを定義することができる。
【０１２３】
さらに、ディスプレイセットは、唯一のCDSを有する。CDSは、そのCDSを有するディスプレイセット内で利用可能な色の情報(CLUT)を定義する。CDSでは、既定値の色データを除くすべての色データ（後述するCLUT_entry()）が定義される。
【０１２４】
また、ディスプレイセットは、最大で２個のODSを有することができる。ODSでは、PCSから参照されるすべてのオブジェクト(Object)が定義される。
【０１２５】
２種類のディスプレイセット、つまり、Display Period Startディスプレイセット（図８Ａ）とDisplay Change Pointディスプレイセット（図８Ｂ）との違いは、エポックの先頭を表すか否かだけである。
【０１２６】
すなわち、Display Period Startディスプレイセットは、エポックの先頭（開始）を表す。そして、Display Period Startディスプレイセットには、字幕を、エポックにおいて最初に表示するための情報が格納される。
【０１２７】
一方、Display Change Pointディスプレイセットは、エポック内で字幕の表示が変化する場合に、その変化のための情報が格納される。
【０１２８】
Display Period Startディスプレイセット、及び、Display Change Pointディスプレイセットは、いずれも、字幕の表示のために必要な情報を有しており、エポック内での、デコード等を含む再生の開始が可能な箇所でもある。
【０１２９】
したがって、再生装置では、字幕データを、エポックの途中からの読み込んでも、完全な状態のDisplay Change Pointディスプレイセットを読み込むことができれば、そのDisplay Change Pointディスプレイセット（の字幕）の表示を開始することができる。
【０１３０】
図９は、PCSのシンタクス(Syntax)の例を示している。
【０１３１】
PCSには、主として、字幕を重畳する動画の解像度やフレームレート等の動画の属性の情報、ディスプレイセットの種類（そのPCSが含まれるディスプレイセットが、Display Period Startディスプレイセット、又は、Display Change Pointディスプレイセットのうちのいずれであるか）、字幕を構成するオブジェクト（字幕の画像データ）のid、字幕が表示されるリージョンのid、及び、オブジェクトを字幕プレーン上に配置するための座標の情報等が格納される。
【０１３２】
すなわち、図９において、segment_typeは、セグメントの種類を表す。セグメントとしては、図６及び図８で説明したPCS，END，RDS，CDS、及びODSの５種類がある。PCSのsegment_typeには、セグメントがPCSであることを表す値がセットされる。
【０１３３】
segment_lengthは、このsegment_lengthのフィールドの直後から、セグメント(PCS)の終わりまでの長さ（サイズ）を表す。
【０１３４】
video_horizontal_sizeは、このPCSを含むディスプレイセットの字幕が重畳される動画の水平方向のサイズを表す。すなわち、video_horizontal_sizeには、動画の表示のための、動画（の画像データ）が描画されるメモリの記憶領域であるビデオプレーンの水平方向のピクセル数を表す値がセットされる。
【０１３５】
video_vertical_sizeは、このPCSを含むディスプレイセットの字幕が重畳される動画の垂直方向のサイズを表す。すなわち、video_vertical_sizeには、ビデオプレーンの垂直方向のライン数を表す値がセットされる。
【０１３６】
video_frame_rateは、このPCSを含むディスプレイセットの字幕が重畳される動画のフレームレートを表す。
【０１３７】
page_version_numberは、PCSのバージョン番号を表す。すなわち、page_version_numberには、このPCSを含むディスプレイセットの直前に表示されるディスプレイセットに含まれるPCSのpage_version_numberの値を、例えば、1だけ増加(increment)した値がセットされる。
【０１３８】
但し、このPCSを含むディスプレイセットの字幕のオブジェクトが、直前に表示されるディスプレイセット（以下、直前ディスプレイセットともいう）の字幕のオブジェクトと同一である場合（前に、字幕の表示に利用されたODS（のobject_data）を利用して、字幕の表示が行われる場合）には、page_version_numberには、直前ディスプレイセットに含まれるPCSのpage_version_numberの値と同一の値がセットされる。
【０１３９】
すなわち、例えば、このPCSを含むディスプレイセットの字幕の文字が、直前ディスプレイセットの字幕の文字と、色だけが異なる文字である場合には、page_version_numberには、直前ディスプレイセットに含まれるPCSのpage_version_numberの値と同一の値がセットされる。
【０１４０】
したがって、Display Period Startディスプレイセットのpage_version_numberには、基本的には、直前ディスプレイセットに含まれるPCSのpage_version_numberの値を1だけ増加した値がセットされる。
【０１４１】
また、Display Change Pointディスプレイセットのpage_version_numberには、そのDisplay Change Pointディスプレイセットの字幕のオブジェクトが、直前ディスプレイセットの字幕のオブジェクトと同一であるどうかによって、その直前ディスプレイセットに含まれるPCSのpage_version_numberの値を1だけ増加した値、又は、同一の値がセットされる。
【０１４２】
page_stateは、ディスプレイセットの種類を表す。すなわち、page_stateには、このPCSを含むディスプレイセットが、Display Period Startディスプレイセット、又は、Display Change Pointディスプレイセットのうちのいずれであるかを表す情報がセットされる。
【０１４３】
ref_to_CLUT_idは、このPCSを含むディスプレイセット（の字幕）の表示に使用するCLUTを特定するidであるCLUT_id を表す。CLUT_id は、CDSで定義される。
【０１４４】
number_of_region_composition_objectsは、このPCSで定義されるregion_composition_object()の数を表す。本実施の形態では、number_of_region_composition_objectsには、0ないし2の範囲の整数値をセットすることができる。
【０１４５】
region_composition_object() は、ref_to_object_id，ref_to_region_id，object_horizontal_position、及び、object_vertical_positionを含む。region_composition_object()は、新フォーマットのファイルを再生する再生装置が、region内のピクセルを、字幕プレーンに描画するときに使用される。すなわち、例えば、region_composition_object()によって、表示する字幕のオブジェクト（ODSのobject_data）の特定や、字幕を表示するリージョンの特定等が行われる。
【０１４６】
なお、１個のregion_composition_object() は、このPCSを含むディスプレイセット内のRDSで定義される、後述するregion()の１個に関連付けられる。１個のregion()には、例えば、最大で、２つのregion_composition_object()を関連付けることができる。
【０１４７】
ref_to_object_idは、このPCSを含むディスプレイセットの字幕のオブジェクトを特定するidであるobject_id を表す。object_id は、ODSで定義される。
【０１４８】
ref_to_region_idは、このPCSを含むディスプレイセット（の字幕）の表示で使用されるregionを指定（定義）するregion()を特定するidであるregion_id を表す。region_id は、RDSで定義される。
【０１４９】
なお、上述のref_to_object_idによって特定される字幕のオブジェクト（のピクセル）は、全体が、ref_to_region_idによって特定されるregion()によって指定されるregionの範囲内になければならない。
【０１５０】
object_horizontal_positionは、ref_to_object_idによって特定される字幕のオブジェクトの左上のピクセルの表示位置の、水平方向の座標を表す。座標の原点は、字幕プレーン（グラフィックスプレーン）の左上のピクセルの点である。object_horizontal_positionの値は、ref_to_region_idによって特定されるregion()によって指定されるregionの範囲内でなければならない。
【０１５１】
object_vertical_positionは、ref_to_object_idによって特定される字幕のオブジェクトの左上のピクセルの表示位置の、垂直方向の座標を表す。座標の原点は、object_horizontal_positionの場合と同様に、字幕プレーンの左上のピクセルの点である。object_vertical_positionの値は、object_horizontal_positionの場合と同様に、ref_to_region_idによって特定されるregion()によって指定されるregionの範囲内でなければならない。
【０１５２】
ここで、region_composition_object()は、このPCSを含むディスプレイセットで表示される字幕の数だけ設けられる。したがって、region_composition_object()の数を表すnumber_of_region_composition_objectsは、１画面に表示される字幕の数を表す字幕数情報ということができる。
【０１５３】
非表示区間のディスプレイセットでは、例えば、この字幕数情報としてのnumber_of_region_composition_objectsが0とされ、存在しない字幕が表示されることで、字幕が非表示にされる。
【０１５４】
図１０は、図９のPCSのpage_stateがとる値を説明する図である。
【０１５５】
page_stateは、２ビットの値をとる。但し、２ビットの値のうちの、00b（bは、その前の値が２進数であることを表す）と11bは、将来の拡張のために予約(reserved)されている。
【０１５６】
page_stateが01bである場合、そのpage_stateを有するPCSを含むディスプレイセットが、Display Change Pointディスプレイセットであることを表す。
【０１５７】
page_stateが10bである場合、そのpage_stateを有するPCSを含むディスプレイセットが、エポックの開始（先頭）のディスプレイセットであるDisplay Period Startディスプレイセットであることを表す。
【０１５８】
図１１は、RDSのシンタクスの例を示している。
【０１５９】
RDSは、字幕が表示される、表示画面上の矩形の表示領域であるリージョン(region)の、例えば、左上の座標、並びに、横（水平）方向のピクセルサイズ、及び、縦（垂直）方向のピクセルサイズを定義する。字幕は、RDSで定義されたリージョン内にのみ表示される。
【０１６０】
segment_typeは、図９で説明したように、セグメントの種類を表す。RDSのsegment_typeには、セグメントがRDSであることを表す値がセットされる。
【０１６１】
segment_lengthは、このsegment_lengthのフィールドの直後から、セグメント(RCS)の終わりまでの長さを表す。
【０１６２】
number_of_regionsは、このRDSで定義されるregion()の数を表す。本実施の形態では、number_of_regionsには、0ないし2の範囲の整数値をセットすることができる。
【０１６３】
region()は、region_id，region_horizontal_position，region_vertical_position，region_width、及び、region_heightを含む。region()は、PCS（図９）のref_to_object_idで特定される字幕のオブジェクトを表示するリージョン（オブジェクトを描画する字幕プレーンの領域）を定義する。
【０１６４】
なお、１個のRDSでは、最大で、２個のregion()によって２個のリージョンを定義することが可能である。但し、１個のRDSで定義される２個のリージョンには、重なりがあってはならない。
【０１６５】
region_idは、リージョンを特定する固有の番号である。region_idの値は、例えば、00h(hは、その前の値が１６進数であることを表す）、及び、01hのうちのいずれかの値でなければならない。
【０１６６】
また、１個のRDSでは、上述したように、最大で、２個のregion()を定義することができるが、１個のRDSにおいて、２個のregion()を定義する場合には、その２個のregion()のregion_id の値それぞれは、固有の値（異なる値）でなければならない。
【０１６７】
region_horizontal_positionは、region_idによって特定されるリージョン（region()によって定義されるリージョン）の左上のピクセルの位置の、字幕プレーン上での水平方向の座標を表す。座標の原点は、字幕プレーン左上のピクセルの点である。region_horizontal_positionの値は、0から、video_horizontal_size（図９） - 1までの範囲内でなければならない。
【０１６８】
region_vertical_positionは、region_idによって特定されるリージョンの左上のピクセルの位置の、字幕プレーン上での垂直方向の座標を表す。座標の原点は、region_horizontal_positionの場合と同様に、字幕プレーンの左上のピクセルの点である。region_vertical_positionの値は、0から、video_vertical_size（図９） - 1の範囲内でなければならない。
【０１６９】
region_widthは、region_idによって特定されるリージョンの横幅（水平方向の長さ）を表す。region_widthの値は、1から、video_horizontal_size（図９） - region_horizontal_position（図１１）の範囲内でなければならない。
【０１７０】
region_heightは、region_idによって特定されるリージョンの高さ（垂直方向の長さ）を表す。region_heightの値は、1から、video_vertical_size（図９） - region_vertical_position（図１１）の範囲内でなければならない。
【０１７１】
図１２は、字幕（のオブジェクト）、リージョン、及び、字幕プレーンの関係を示している。
【０１７２】
RCS（図９）のregion_composition_object()によって、表示すべき字幕（のオブジェクト）や、その字幕を表示すべきリージョン等が特定される。
【０１７３】
すなわち、region_composition_object()が有するref_to_object_id（図９）によって、字幕のオブジェクトが特定される。
【０１７４】
また、region_composition_object()が有するobject_horizontal_positionとobject_vertical_position（図９）によって、字幕のオブジェクトの左上のピクセルの表示位置(Destination position)の、水平方向と垂直方向の座標が、それぞれ特定される。
【０１７５】
さらに、region_composition_object()が有するref_to_region_id（図９）によって特定されるregion()（ref_to_region_idが表す値と同一の値のregion_idを有するregion()）が有するregion_horizontal_positionとregion_vertical_position（図１１）によって、字幕を表示するリージョン(Region)の左上のピクセルの位置の、字幕プレーン上での水平方向と垂直方向の座標が、それぞれ特定される。
【０１７６】
また、そのregion()が有するregion_widthとregion_heightによって、字幕を表示するリージョン(Region)の横幅と高さが、それぞれ特定される。
【０１７７】
図１３は、CDSのシンタクスの例を示している。
【０１７８】
CDSには、CLUT（カラーパレットデータ）が格納される。CLUTは、字幕プレーン上のピクセルの色と透明度の情報を、エポック内で使用することが可能な色の数分だけ有する。
【０１７９】
すなわち、CDSは、色データの集合であるCLUT(Color Look Up Table)を一意に特定するidであるCLUT_id、CLUTのバージョン番号であるCLUT_version_number、並びに、輝度Y、色差Cr,Cb、及び透明度Tをコンポーネントとして有する色データとその色データを特定するid （インデクス）(CLUT_entry_id)の組を定義する。
【０１８０】
segment_typeは、図９で説明したように、セグメントの種類を表す。CDSのsegment_typeには、セグメントがCDSであることを表す値がセットされる。
【０１８１】
segment_lengthは、このsegment_lengthのフィールドの直後から、セグメント(CDS)の終わりまでの長さを表す。
【０１８２】
CLUT_idは、エポック内において、このCDS（に格納されたCLUT）を特定する固有の番号を表す。本実施の形態では、CLUT_idは、例えば、00hに固定されている。
【０１８３】
CLUT_version_numberは、エポック内における、このCDS（に格納されたCLUT）のバージョン番号を表す。
【０１８４】
エポックに新しいCLUTデフィニションセグメントが導入されると、CLUT_version_numberの値は、0にセット（リセット）される。エポック内において、前のCDSと異なるCDSが導入されると、CLUT_version_numberの値は、前のCDSのCLUT_version_numberの値を、例えば、１だけインクリメント(increment)した値にセットされる。
【０１８５】
すなわち、エポックの最初のCDSのCLUT_version_numberには、0がセットされる。その後のCDSのCLUT_version_numberには、エポック内において、そのCDSのCLUT(CLUT_entry())が、直前のCDSのCLUTと異なる場合には、直前のCDSのCLUT_version_numberを１だけインクリメントした値がセットされ、直前のCDSのCLUTと異ならない場合には、直前のCDSのCLUT_version_numberと同一の値がセットされる。
【０１８６】
CLUT_entry()は、CLUTのエントリ（レコード）であり、CLUT_entry_id，Y-value，Cr-value，Cb-value、及び、T-valueを有する。
【０１８７】
CLUT_entry_idは、CLUTのエントリの番号（インデクス）を表す。CLUT_entry_idによって、ある一色が特定される。
【０１８８】
なお、CLUT_entry_idは、例えば、８ビットであり、00hないしFFhの範囲の値をとる。但し、CLUT_entry_idの値がFFhであるエントリCLUT_entry()は、CDSに格納されない（ようにすることができる）。したがって、CLUT_entry_idの値がFFhであるCLUT_entry()は、CDSに存在しない（ようにすることができる）。
【０１８９】
CLUT_entry_idの値がFFhであるエントリCLUT_entry()の色データは、既定値として、例えば、完全な透明色であると扱われる。
【０１９０】
以上から、CDSには、最大で、CLUT_entry_idが、00hないしFEhの値それぞれの、255個のエントリCLUT_entry()を格納することができ、字幕の色としては、透明色（CLUT_entry_idがFFhである場合）を含めて、最大で、256色の色を、同時に使用することができる。
【０１９１】
Y-valueは、CLUT_entry_idが表すエントリCLUT_entry()の色データの輝度Yを表す。Y-valueは、例えば、16から235までの値をとる。
【０１９２】
Cr-valueは、CLUT_entry_idが表すエントリCLUT_entry()の色データの色差Crを表す。Cr-valueは、例えば、16から240までの値をとる。
【０１９３】
Cb-valueは、CLUT_entry_idが表すエントリCLUT_entry()の色データの色差Cbを表す。Cb-valueは、例えば、16から240までの値をとる。
【０１９４】
なお、輝度Yと色差Cr,Cbは、Rec. ITU-R BT.601-5、及び、Rec. ITU-R BT.709-5の規定に準拠する。
【０１９５】
T-valueは、CLUT_entry_idが表すエントリCLUT_entry()の色データの透明度Tを表す。T-valueは、0から255までの値をとる。値が255のT-valueは、完全に不透明であることを表し、T-valueの値が小さくなるほど、透明度が大になる。そして、値が0のT-valueは、完全に透明であることを表す。
【０１９６】
ここで、T-valueの既定値は、例えば、0に定義されている。また、Y-value，Cr-value、及び、Cb-valueについては、既定値は定義されていない。
【０１９７】
なお、CDSには、必ずしも、CLUT_entry_idが00hないしFFhの各値の、255個のエントリCLUT_entry()すべてを格納する必要はない。
【０１９８】
但し、上述したように、CLUT_entry_idがFFhであるエントリCLUT_entry()の色データは、完全な透明色であると扱われ、そのエントリCLUT_entry()は、CDSに格納されない（ようにすることができる）。この場合、CDSに格納されていないエントリCLUT_entry()の色データは、すべて、完全な透明色であると扱われる。
【０１９９】
ここで、T-valueは、字幕の透明度を表す透明度情報ということができる。非表示区間のディスプレイセットでは、例えば、この透明度情報としてのT-valueが、完全に透明であることを表す値、つまり、ここでは、既定値である0とされ、見えない字幕が表示されることで、字幕が非表示にされる。
【０２００】
なお、字幕を非表示にするためには、CDSに格納されるCLUTのエントリCLUT_entry()のすべてのT-valueを0とする必要があるが、本実施の形態では、これは、CDSに、CLUTのエントリCLUT_entry()を、一切格納しないことによって、等価的に、行うことができる。
【０２０１】
図１４は、ODSのシンタクスの例を示している。
【０２０２】
ODSには、字幕のオブジェクト（画像データ）、そのオブジェクトを一意に特定するidであるobject_id、及び、オブジェクトのバージョン番号(object_version_number)等が格納される。
【０２０３】
segment_typeは、図９で説明したように、セグメントの種類を表す。ODSのsegment_typeには、セグメントがODSであることを表す値がセットされる。
【０２０４】
segment_lengthは、このsegment_lengthのフィールドの直後から、セグメント(ODS)の終わりまでの長さを表す。
【０２０５】
object_idは、このODSで定義される字幕のオブジェクトを特定する固有の番号である。本実施の形態では、上述したように、１個のエポックにおいて、最大で、２個の字幕を同時に表示することができ、object_idには、その最大の２個の字幕のオブジェクトを特定するために、0000h，及び0001hのうちのいずれかがセットされる。
【０２０６】
object_version_numberは、このODSで定義されるオブジェクトのバージョン番号を表す。
【０２０７】
object_data()には、１個の字幕の画像データ、その他のデータが格納される。
【０２０８】
すなわち、object_data()は、object_length，object_horizontal_size，object_vertical_size、及び、encoded_data_string()を有する。
【０２０９】
object_lengthは、このobject_lengthのフィールドの直後のフィールドからobject_data()の最後までのバイト数を表す。
【０２１０】
object_horizontal_sizeは、オブジェクトの横幅（水平方向）のピクセル数を表す。オブジェクトの横幅は、例えば、8ピクセル以上でなければならない。したがって、object_horizontal_sizeの値は、8からvideo_horizontal_size（図９）までの間の値でなければならない。
【０２１１】
object_vertical_sizeは、オブジェクトの高さ（垂直方向）のピクセル数を表す。オブジェクトの高さは、例えば、8ピクセル以上でなければならない。したがって、object_vertical_sizeの値は、8 からvideo_vertical_size（図９）までの間の値でなければならない。
【０２１２】
encoded_data_string()には、字幕の画像データ（オブジェクト）を、例えば、ランレングス圧縮することによって得られるエンコードデータが格納される。
【０２１３】
なお、エポック内で表示する字幕のオブジェクトは、例えば、エポック内に、異なるencoded_data_string()が格納されたODSを有する複数のディスプレイセットを配置することで更新（変更）することができる。
【０２１４】
また、字幕の画像データは、画素値として、例えば、CLUT_entry_id（図１３）を有する。
【０２１５】
図１５は、ENDのシンタクスの例を示している。
【０２１６】
ENDは、セグメントの集合であるディスプレイセットの終わりを表す。
【０２１７】
segment_typeは、図９で説明したように、セグメントの種類を表す。ENDのsegment_typeには、セグメントがENDであることを表す値がセットされる。
【０２１８】
segment_lengthは、このsegment_lengthのフィールドの直後から、セグメント(END)の終わりまでの長さを表す。
【０２１９】
図１６は、新フォーマットのファイルを再生する再生装置の一実施の形態の構成例を示すブロック図である。
【０２２０】
図１６において、再生装置は、記録媒体１１、ファイル読み込み部１２、データ分配部１３、ビデオデコードシステム１４、ビデオフレームバッファ１５、合成部１６、表示フレームバッファ１７、画像表示装置１８、オーディオデコードシステム１９、オーディオ出力装置２０、及び、字幕デコードシステム３０から構成される。
【０２２１】
記録媒体１１には、新フォーマットのストリームが格納されたファイル（新フォーマットのファイル）が記録されている。
【０２２２】
なお、記録媒体１１は、再生装置が内蔵する記録媒体（再生装置に対して着脱可能な記録媒体を含む）であっても良いし、外部の記録媒体（インターネット等のネットワーク上の記録媒体を含む）であっても良い。
【０２２３】
ファイル読み込み部１２は、例えば、ユーザの操作等に応じて、記録媒体１１に記録された新フォーマットのファイルを読み込み（受信し）、データ分配部１３に供給する。
【０２２４】
データ分配部１３は、ファイル読み込み部１２からの新フォーマットのファイルに格納されたストリーム（図５）から、動画データ、及び動画データの再生に必要なメタデータを抽出し、ビデオデコードシステム１４に供給（分配）する。
【０２２５】
また、データ分配部１３は、ファイル読み込み部１２からの新フォーマットのファイルに格納されたストリームから、音声データ、及び音声データの再生に必要なメタデータを抽出し、オーディオデコードシステム１９に供給する。
【０２２６】
さらに、データ分配部１３は、ファイル読み込み部１２からの新フォーマットのファイルに格納されたストリームから、字幕データ、及び字幕データの再生に必要なメタデータを抽出し、字幕デコードシステム３０に供給する。
【０２２７】
ビデオデコードシステム１４は、データ分配部１３からのデータに従い、そのデータのデコード等を行うことにより、動画の画像データ（ベースバンドの画像データ）を再生し、ビデオフレームバッファ１５に供給する。
【０２２８】
ビデオフレームバッファ１５は、ビデオデコードシステム１４からの動画の画像データを一時記憶し、合成部１６に供給する。
【０２２９】
合成部１６は、ビデオフレームバッファ１５からの動画の画像データに、字幕デコードシステム３０から供給される字幕の画像データを合成（重畳）し、その合成の結果得られる合成画像データを、表示フレームバッファ１７に供給する。
【０２３０】
表示フレームバッファ１７は、合成部１６からの合成画像データを一時記憶する。
【０２３１】
画像表示装置１８は、LCD(Liquid Crystal Display)や、有機EL(Electro Luminescence)パネル等のディスプレイで構成され、表示フレームバッファ１７に記憶された合成画像データに対応する画像を表示する。
【０２３２】
オーディオデコードシステム１９は、データ分配部１３からのデータに従い、そのデータのデコード等を行うことにより、音声データを再生し、オーディオ出力装置２０に供給する。
【０２３３】
オーディオ出力装置２０は、図示せぬアンプやスピーカ等で構成され、オーディオデコードシステム１９からの音声データに必要な処理を施し、その結果得られる音声データに対応する音声を出力する。
【０２３４】
字幕デコードシステム３０は、字幕データに従い、字幕を再生する再生手段の一例であり、データ分配部１３からのデータに従い、そのデータをデコード等を行うことにより、字幕の画像データを再生し、合成部１６に供給する。
【０２３５】
すなわち、字幕デコードシステム３０は、デコードバッファ３１、字幕デコーダ３２、及び、字幕バッファ３３から構成される。
【０２３６】
デコードバッファ３１は、データ分配部１３から字幕デコードシステム３０に供給されるデータを一時記憶する。
【０２３７】
すなわち、データ分配部１３からデコードバッファ３１に対しては、字幕データとしてのディスプレイセット、及び、メタデータとしての、字幕の表示開始時刻のデータ（例えば、字幕についての、ISO base media file formatのtime-to-sample atom（図２Ａ）等）が供給される。
【０２３８】
デコードバッファ３１は、データ分配部１３からのディスプレイセット、及び、字幕（ディスプレイセット）の表示開始時刻のデータを一時記憶する。
【０２３９】
字幕デコーダ３２は、デコードバッファ３１に記憶されたディスプレイセットを読み出し、そのディスプレイセットに従い、字幕の画像データ（オブジェクト）を再生して、後段の字幕バッファ３３に描画する。
【０２４０】
すなわち、字幕デコーダ３２は、例えば、デコードバッファ３１から読み出したディスプレイセットのODS（図１４）が有するencoded_data_string()に格納されたエンコードデータを、字幕の画像データ（オブジェクト）にデコードする。
【０２４１】
さらに、字幕デコーダ３２は、字幕の画像データを、デコードバッファ３１から読み出したディスプレイセットのCDS（図１３）が有するCLUT_entry()に対応する色及び透明度等で、そのディスプレイセットのPCS（図９）が有するobject_horizontal_position及びobject_vertical_position等によって特定される、字幕バッファ３３の記憶領域上の位置に描画する。
【０２４２】
字幕バッファ３３は、いわゆるダブルバッファの構成を有し、字幕デコーダ３２からの字幕の画像データを一時記憶して、合成部１６に供給する。
【０２４３】
すなわち、字幕バッファ３３は、２個のスイッチ３４及び３５、並びに、２個のフレームバッファ３６及び３７から構成される。
【０２４４】
スイッチ３４は、フレームバッファ３６及び３７のうちの一方を選択し、その選択した方に対して、字幕デコーダ３３から字幕バッファ３３に供給される字幕の画像データを供給する。
【０２４５】
スイッチ３５は、フレームバッファ３６及び３７のうちの一方を選択し、その選択した方から、字幕の画像データを読み出して、合成部１６に供給する。
【０２４６】
フレームバッファ３６及び３７は、上述した字幕プレーンに相当し、スイッチ３４から供給される字幕の画像データを一時記憶する。
【０２４７】
ここで、スイッチ３４及び３５は連動して動作する。すなわち、スイッチ３５が、フレームバッファ３６及び３７のうちの一方を選択しているとき、スイッチ３４は、他方を選択する。
【０２４８】
スイッチ３５が、フレームバッファ３６及び３７のうちの一方を選択することにより、その選択された一方からは、字幕の画像データが読み出され、スイッチ３５、合成部１６、及び表示フレームバッファ１７を介して、画像表示装置１８に供給されることで、フレームバッファ３６及び３７のうちの一方に記憶された字幕の画像データに対応する画像（字幕）が、画像表示装置１８に表示される。
【０２４９】
同時に、スイッチ３４が、フレームバッファ３６及び３７のうちの他方を選択することにより、その選択された他方に対して、画像表示装置１８に、次に表示すべき字幕の画像データが記憶（描画）される。
【０２５０】
すなわち、フレームバッファ３６及び３７のうちの一方に記憶された字幕の画像データ（に対応する画像としての字幕）が、画像表示装置１８に表示されている間に、フレームバッファ３６及び３７のうちの他方の記憶内容の更新、つまり、次に表示すべき字幕の画像データの描画が行われる。
【０２５１】
なお、スイッチ３５は、デコードバッファ３１に記憶された字幕の表示開始時刻のデータを参照し、時刻が、フレームバッファ３６及び３７のうちの一方に記憶された字幕の画像データの表示開始時刻となると、フレームバッファ３６及び３７のうちの一方を選択し、その選択した一方から、字幕の画像データを読み出して、合成部１６に供給する。
【０２５２】
スイッチ３５が、フレームバッファ３６及び３７のうちの一方を選択すると、上述したように、スイッチ３４は、フレームバッファ３６及び３７のうちの他方を選択する。
【０２５３】
また、時刻が、フレームバッファ３６及び３７のうちの一方に記憶された字幕の画像データの表示開始時刻となると、字幕デコーダ３２は、その一方に記憶された字幕の次に表示すべき字幕のディスプレイセットを、デコードバッファ３１から読み出す。さらに、字幕デコーダ３２は、デコーダバッファ３１から読み出した、次に表示すべき字幕のディスプレイセットに従い、字幕の画像データのデコード等の再生を開始して、その字幕の画像データを、フレームバッファ３６及び３７のうちの、スイッチ３４が選択している方への描画を行う。
【０２５４】
以上の処理が繰り返されることで、画像表示装置１８には、動画に重畳して、字幕が表示される。
【０２５５】
以上のように構成される再生装置では、動画の処理（動画再生処理）、音声の処理（音声再生処理）、及び、字幕の処理（字幕再生処理）が行われる。
【０２５６】
すなわち、動画再生処理では、ファイル読み込み部１２が、記録媒体１１に記録された新フォーマットのファイルから、動画データ、及び動画データの再生に必要なメタデータを読み出し、データ分配部１３を介して、ビデオデコードシステム１４に供給する。
【０２５７】
ビデオデコードシステム１４は、データ分配部１３を介して供給されるデータのデコード等を行うことにより、動画の画像データを再生し、ビデオフレームバッファ１５を介して、合成部１６に供給する。
【０２５８】
合成部１６は、ビデオフレームバッファ１５を介して供給される動画の画像データに、後述する字幕再生処理が行われることによって、字幕デコードシステム３０から供給される字幕の画像データを合成（重畳）し、その合成の結果得られる合成画像データを、表示フレームバッファ１７を介して、画像表示装置１８に供給する。
【０２５９】
画像表示装置１８では、表示フレームバッファ１７を介して供給される合成画像データに従い、その合成画像データに対応する画像が表示される。
【０２６０】
一方、音声再生処理では、ファイル読み込み部１２が、記録媒体１１に記録された新フォーマットのファイルから、音声データ、及び音声データの再生に必要なメタデータを読み出し、データ分配部１３を介して、オーディオデコードシステム１９に供給する。
【０２６１】
オーディオデコードシステム１９は、データ分配部１３を介して供給されるデータのデコード等を行うことにより、音声データを再生し、オーディオ出力装置２０に供給する。
【０２６２】
オーディオ出力装置２０では、オーディオデコードシステム１９からの音声データに対応する音声が出力（放音）される。
【０２６３】
また、字幕再生処理では、ファイル読み込み部１２が、記録媒体１１に記録された新フォーマットのファイルから、字幕データ、及び字幕データの再生に必要なメタデータを読み出し、データ分配部１３を介して、字幕デコードシステム３０に供給する。
【０２６４】
字幕デコードシステム３０は、データ分配部１３を介して供給されるデータをデコード等を行うことにより、字幕の画像データを再生し、合成部１６に供給する。
【０２６５】
上述したように、合成部１６では、ビデオフレームバッファ１５からの動画の画像データに、字幕デコードシステム３０から供給される字幕の画像データが合成され、合成画像データが、表示フレームバッファ１７を介して、画像表示装置１８に供給される。
【０２６６】
画像表示装置１８では、合成画像データに対応する画像が表示され、これにより、字幕が、動画に重畳して表示される。
【０２６７】
すなわち、図１７は、図１６の再生装置による字幕再生処理を説明するフローチャートである。
【０２６８】
ステップＳ１１において、ファイル読み込み部１２は、記録媒体１１に記録された新フォーマットのファイルから、字幕データの再生に必要なメタデータとしての字幕の表示開始時刻のデータを読み出し、データ分配部１３を介して、字幕デコードシステム３０のデコードバッファ３１に供給する。
【０２６９】
デコードバッファ３１は、データ分配部１３を介して供給される字幕の表示開始時刻のデータを記憶し、処理は、ステップＳ１１からステップＳ１２に進む。
【０２７０】
ステップＳ１２では、ファイル読み込み部１２は、記録媒体１１に記録された新フォーマットのファイルから、１個のディスプレイセットを読み出し、データ分配部１３を介して、字幕デコードシステム３０のデコードバッファ３１に供給する。
【０２７１】
すなわち、ファイル読み込み部１２は、例えば、新フォーマットのファイルに記録されている、まだ読み出されていないディスプレイセットのうちの、ファイルへの記録順が最も早い１個のディスプレイセットを読み出し、データ分配部１３を介して、字幕デコードシステム３０のデコードバッファ３１に供給する。
【０２７２】
デコードバッファ３１は、データ分配部１３を介して供給されるディスプレイセットを一時記憶し、処理は、ステップＳ１２からステップＳ１３に進む。
【０２７３】
ステップＳ１３では、字幕デコーダ３２が、デコードバッファ３１に記憶されたディスプレイセットを読み出し、そのディスプレイセットに従い、字幕の画像データを再生して、字幕バッファ３３に描画する。
【０２７４】
すなわち、字幕デコーダ３２は、デコードバッファ３１から読み出したディスプレイセットを、字幕の画像データにデコードする。
【０２７５】
さらに、字幕デコーダ３２は、字幕の画像データを、字幕バッファ３３のフレームバッファ３６及び３７のうちの、スイッチ３４が選択している方（表示に使用されていない方）に描画する（貼り付ける）。
【０２７６】
そして、処理は、ステップＳ１３からステップＳ１４に進み、字幕デコードシステム３０は、直前のステップＳ１３で描画された字幕（の画像データ）の表示開始時刻になったかどうかを判定する。
【０２７７】
ステップＳ１４において、直前のステップＳ１３で描画された字幕（以下、最新字幕という）の表示開始時刻になっていないと判定された場合、処理は、ステップＳ１４に戻る。
【０２７８】
また、ステップＳ１４において、最新字幕の表示開始時刻になったと判定された場合、処理は、ステップＳ１５に進み、スイッチ３５は、字幕バッファ３３のフレームバッファ３６及び３７のうちの、最新字幕の画像データが記憶（描画）された方を選択する。
【０２７９】
なお、このとき、スイッチ３４は、フレームバッファ３６及び３７のうちの、スイッチ３５が選択していない方を選択する。
【０２８０】
フレームバッファ３６及び３７のうちの、スイッチ３５が選択した方からは、最新字幕の画像データが読み出され、合成部１６に供給される。
【０２８１】
合成部１６では、ビデオフレームバッファ１５からの動画の画像データに、字幕デコードシステム３０のスイッチ３５から供給される最新字幕の画像データが合成され、その結果得られる合成画像データに対応する画像が、画像表示装置１８に表示される。すなわち、最新字幕が、動画に重畳して表示される。
【０２８２】
その後、処理は、ステップＳ１５からステップＳ１６に進み、ファイル読み込み部１２は、記録媒体１１に記録された新フォーマットのファイルから、ディスプレイセットのすべてを読み出したかどうかを判定する。
【０２８３】
ステップＳ１６において、新フォーマットのファイルから、ディスプレイセットのすべてを、まだ読み出していないと判定された場合、すなわち、まだ読み出していないディスプレイセットがある場合、処理は、ステップＳ１２に戻り、ファイル読み込み部１２は、上述したように、まだ読み出していないディスプレイセットのうちの１個のディスプレイセットを読み出し、すなわち、最新字幕のディスプレイセットの次のディスプレイセットを読み出し、データ分配部１３を介して、デコードバッファ３１に供給する。
【０２８４】
デコードバッファ３１は、データ分配部１３を介して供給されるディスプレイセットを一時記憶し、処理は、ステップＳ１２からステップＳ１３に進む。
【０２８５】
ステップＳ１３では、字幕デコーダ３２が、デコードバッファ３１に記憶されたディスプレイセット（最新字幕のディスプレイセットの次のディスプレイセット）を読み出し、そのディスプレイセットに従い、字幕の画像データを再生して、フレームバッファ３６及び３７のうちの、スイッチ３４が選択している方に描画する。
【０２８６】
以下、同様の処理が繰り返される。
【０２８７】
一方、ステップＳ１６において、新フォーマットのファイルから、ディスプレイセットのすべてを読み出したと判定された場合、字幕再生処理は終了する。
【０２８８】
以上のように、字幕デコードシステム３０では、最新字幕の表示開始時刻になると、スイッチ３５では、フレームバッファ３６及び３７のうちの、最新字幕の画像データが記憶された方が選択され、これにより、画像表示装置１８において、最新字幕が、動画に重畳して表示される。
【０２８９】
さらに、最新字幕の表示開始時刻となると、字幕デコーダ３２において、最新字幕のディスプレイセットの次のディスプレイセットの再生が開始され、その再生によって得られる字幕の画像データが、フレームバッファ３６及び３７のうちの、スイッチ３４が選択している方に描画される。
【０２９０】
上述したように、スイッチ３４及び３５は連動して動作し、スイッチ３５が、フレームバッファ３６及び３７のうちの一方を選択しているとき、スイッチ３４は、他方を選択する。
【０２９１】
したがって、スイッチ３５が、フレームバッファ３６及び３７のうちの、最新字幕の画像データが記憶された方を選択し、これにより、最新字幕が、画像表示装置１８に表示されているとき、スイッチ３４では、フレームバッファ３６及び３７のうちの、最新字幕の画像データが記憶されていない方が選択され、スイッチ３４が選択している方に、字幕デコーダ３２によって再生された次の字幕の画像データ（最新字幕のディスプレイセットの次のディスプレイセットの字幕の画像データ）が描画される。
【０２９２】
以上のように、字幕デコードシステム３０では、あるディスプレイセット（の字幕）の表示開始時刻を、次に表示するディスプレイセットのデコード等の再生を開始するデコード開始時刻（再生開始時刻）であるとみなして、ディスプレイセットが、順次再生される。すなわち、あるディスプレイセットの表示開始時刻になると、そのディスプレイセットの字幕の表示が開始されると同時に、次に表示すべき（字幕の）ディスプレイセットがファイルから読み込まれ、再生が開始される。
【０２９３】
なお、最初のディスプレイセット（最初に表示するディスプレイセット）については、その直前のディスプレイセットが存在しないので、最初のディスプレイセットがファイルから読み出され、デコードバッファ３１に記憶されると、字幕デコーダ３２は、即座に、再生を開始する。
【０２９４】
また、字幕デコーダ３２は、非表示区間のディスプレイセット、すなわち、PCS（図９）のnumber_of_region_composition_objectsが0になっているディスプレイセット、又は、CDS（図１３）のT-valueが0になっているディスプレイセットについては、ステップＳ１３において、そのディスプレイセットに従い、0個の字幕の画像データ、又は、完全に透明な字幕の画像データを再生する。
【０２９５】
これにより、字幕は非表示になる。
【０２９６】
以上のように、字幕の表示が一定の区間を、字幕の表示単位として、字幕データを、表示単位の字幕データであるディスプレイセットに区分するとともに、ディスプレイセットに、１画面に表示される字幕の数を表す字幕数情報としてのnumber_of_region_composition_objectsと、字幕の透明度を表す透明度情報としてのT-valueとを含ませ、字幕を非表示とする非表示区間のディスプレイセットについては、number_of_region_composition_objectsを0とするか、又は、T-valueを0として、字幕を非表示とすることにより、ISO base media file formatやMP4 file formatのフォーマットのファイルに、字幕データを（字幕を適切に表示することができるように）格納し、その字幕データを格納したファイルから、字幕の表示を適切に行うこと（ファイル（コンテンツ）の制作者が意図した字幕の表示を行うこと）ができる。
【０２９７】
なお、新フォーマットの字幕データのデータ構造は、DVBの字幕ストリームを参考にしている。
【０２９８】
すなわち、字幕データは、図６に示したように、最上位階層から、エポック、ディスプレイセット、及びセグメントの３階層の階層構造で、新フォーマットのファイルに格納されるが、このことは、DVBの字幕ストリームと共通する。
【０２９９】
また、図６で説明した、字幕データが１個以上のエポックの並びから構成されること、１個のエポックが1個以上のディスプレイセットの並びから構成されること、及び、ディスプレイセットがセグメントから構成されることも、DVBのエポック、ディスプレイセット、及びセグメントとほぼ共通する。
【０３００】
しかしながら、DVBの字幕ストリームを、そのまま、ISO Base Media File Format(MP4 file formatについても同様)のファイルに格納することはできない。
【０３０１】
一方、新フォーマットの字幕データのデータ構造は、ISO Base Media File Formatのファイルに格納するために、図９や、図１１、及び図１３等で説明したセグメントの内容(syntax)、並びに、図１０で説明したディスプレイセットの種類等の点で、DVBの字幕ストリームとは異なっている。
【０３０２】
さらに、新フォーマットの字幕データのデータ構造は、１個のディスプレイセットがISO Base Media File Formatの１サンプルに対応する点でも、DVBの字幕ストリームとは異なる。これも、字幕データを、ISO Base Media File Formatのファイルに格納するためである。
【０３０３】
なお、DVBの字幕ストリームについては、例えば、ETSI EN 300 743, Digital Video Broadcasting (DVB); Subtitling systemsに記載されている。
【０３０４】
次に、以上のように、字幕データを、ディスプレイセットとして、ISO base media file format等のファイルに格納した場合に、そのディスプレイセット（の字幕）のデコード等の再生を開始するデコード開始時刻と、表示を開始する表示開始時刻とを、メタデータとして、併せて、ファイルに格納することができれば、字幕デコードシステム３０（図１６）では、デコード開始時刻に、ディスプレイセットのデコード等の再生を開始し、表示開始時刻に、字幕の表示を開始すれば良い。
【０３０５】
しかしながら、ISO base media file formatでは（MP4 file formatでも同様）、表示開始時刻を、メタデータとして管理することはできるが、デコード開始時刻、さらには、デコード等の再生に要する必要時間（デコード時間）を、メタデータとして管理する方法が定義されていない。
【０３０６】
なお、例えば、MPEG2ビデオのDTS(Decode Time Stamp)は、デコード開始時刻であるが、MPEG2ビデオでは、DTSと、PTS(Present Time Stamp)とが等しいピクチャがあることから、デコーダモデル上は、ピクチャのデコードに要するデコード時間そのものは0であるとされている。ここで、DTSとPTSとの差は、Bピクチャ(Bidirectionally Predictive Picture)のリオーダリングのために必要な時間であり、デコード時間そのものは考慮されていない。
【０３０７】
ISO base media file formatに、字幕データとしてのディスプレイセットを格納した場合、上述したように、ディスプレイセット（の字幕）の表示開始時刻は管理することができるが、ディスプレイセットのデコード等の再生を開始するデコード開始時刻や、デコード等の再生に要する時間である必要時間は、管理することができない。
【０３０８】
したがって、必要時間を考慮することなく、ISO base media file formatに、ディスプレイセットを格納すると、ディスプレイセットの再生が、そのディスプレイセットの表示開始時刻に間に合わずに、字幕を適切に表示することができないこと（字幕の表示が破綻すること）が生じうる。
【０３０９】
すなわち、図１６の再生装置では、新フォーマットのファイルに格納されたメタデータから、ディスプレイセットの表示開始時刻は認識することができる。しかしながら、再生装置は、その表示開始時刻に、ディスプレイセットの再生が間に合うようにするために、いつから再生を開始すればよいのかは、認識することができない。
【０３１０】
そのため、図１６の再生装置では、例えば、上述したように、ディスプレイセットのデコード開始時刻として、そのディスプレイセットの直前のディスプレイセットの表示開始時刻を採用し、あるディスプレイセットの表示開始時刻になると、次のディスプレイセット（次に表示すべき字幕のディスプレイセット）のデコード等の再生を開始する。
【０３１１】
しかしながら、ディスプレイセットのデコード等の再生に要する必要時間を考慮することなく、ディスプレイセットが、新フォーマットのファイルに格納されている場合には、あるディスプレイセットの表示開始時刻から、次のディスプレイセットの表示開始時刻までに、次のディスプレイセットのデコード等の再生が完了するとは限らず、字幕の表示に、その字幕の再生が間に合わないことがあり得る。
【０３１２】
そこで、以下では、ISO base media file formatに、ディスプレイセットを格納することで、新フォーマットのファイルを生成する生成装置において、そのファイルの生成に一定の制約（以下、ファイル生成制約ともいう）を課すことで、ファイルからの字幕の再生を、その字幕の表示に間に合うように行う方法について説明する。
【０３１３】
なお、新フォーマットのファイルを再生する再生装置としては、図１６の再生装置、すなわち、ディスプレイセットのデコードを行う字幕デコーダ３２が１個だけの再生装置を（１個のディスプレイセットのデコードしか行うことができず、同時に、複数のディスプレイセットのデコードを行うことができない再生装置）採用することを前提とする。
【０３１４】
図１６の再生装置は、１個の字幕デコーダ３２しか有しないため、字幕の再生を、その表示に間に合うようにするには、第１の条件として、あるディスプレイセットのデコードに要するデコード時間と、他のディスプレイセットのデコード時間とが重ならないこと、及び、第２の条件として、字幕デコーダ３２によるディスプレイセットのデコードが完了するデコード完了時刻が、そのディスプレイセットの表示開始時刻よりも前の時刻であること、が必要である。
【０３１５】
仮に、新フォーマットのファイルにおいて、ディスプレイセットの表示開始時刻とデコード開始時刻とを管理（格納）することができるのであれば、生成装置において、第１及び第２の条件を満たすように、ディスプレイセットを格納したファイルを生成することにより、再生装置では、字幕の再生を、その表示に間に合うようにすることができる。
【０３１６】
すなわち、この場合、再生装置では、新フォーマットのファイルにおけるデコード開始時刻に、ディスプレイセットのデコード等の再生を開始し、表示開始時刻に、表示を開始するだけで、字幕の再生を、その表示に間に合うようにすることができる。
【０３１７】
図１８は、再生装置が、第１及び第２の条件を満たすように生成されたファイルから行う、ディスプレイセットの再生、及び、表示のシーケンスを示している。
【０３１８】
再生装置では、デコード開始時刻となると、ディスプレイセットのデコード等の再生が開始される。そして、表示開始時刻となると、ディスプレイセット（の字幕）の表示が開始される。
【０３１９】
デコード開始時刻、及び、表示開始時刻は、第１及び第２の条件を満たすので、再生装置では、上述したように、ディスプレイセットの再生と表示を、それぞれ、デコード開始時刻と表示開始時刻に従って行うだけで、字幕の再生を、その表示に間に合うようにすることができる。
【０３２０】
ところで、ディスプレイセットの再生に要する必要時間は、ほとんど、デコードに要する時間である。このデコードに要する時間、ひいては、必要時間は、字幕のエンコードデータ（encoded_data_string()（図１４））のエンコード方式や、字幕の大きさ（ピクセル数）、字幕の色数、字幕（の画像）の複雑さ、字幕を重畳する動画のフレームレート、解像度等の、様々な要素に依存するので、ディスプレイセット（サンプル）ごとに異なる。
【０３２１】
生成装置において、このような、様々な要素に依存し、ディスプレイセットごとに異なる必要時間に応じて、第１及び第２の条件を満たすデコード開始時刻、及び、表示開始時刻を決める処理を行うのでは、その処理の負担が大になる。
【０３２２】
なお、表示開始時刻は、一般には、コンテンツの制作時に決められるので、生成装置では、実質的には、第１及び第２の条件を満たすデコード開始時刻を決めることになる。
【０３２３】
また、ISO Base Media File Formatのファイルに字幕データを格納した、新フォーマットのファイルを再生する再生装置にとって、上述のような、サンプルのデコード開始時刻を必要とするデコーダモデルは適していない。
【０３２４】
すなわち、ISO Base Media File Formatでは、サンプルであるディスプレイセットの表示開始時刻は、メタデータとしてのtime-to-sample atom（図２Ａ）のduration(sample durationに)よって求めることができるが、サンプルのデコード開始時刻を表現する方法がない。
【０３２５】
そのため、生成装置において、第１及び第２の条件を満たすデコード開始時刻、及び、表示開始時刻を決めても、新フォーマットのファイルを再生する再生装置には、生成装置で決めたデコード開始時刻を認識させることができない。
【０３２６】
したがって、ファイル生成制約として、第１及び第２の条件を満たすデコード開始時刻、及び、表示開始時刻を決めることを課すことを採用するのは、適切でない。
【０３２７】
そこで、生成装置の処理の負担が大となることを抑制し、かつ、新フォーマットのファイルを再生する再生装置において、字幕の再生を、その表示に間に合うようにすることを、容易に行うために、ファイル生成制約として、以下のルールR1ないしR6を採用することとする。
【０３２８】
ルールR1は、ディスプレイセットのデコード等の再生を開始するデコード（再生）開始時刻を、直前に表示される(字幕の）ディスプレイセットの表示を開始する表示開始時刻と同一とすることである。
【０３２９】
ルールR2は、あるディスプレイセットに注目したときに、その注目ディスプレイセット（注目しているディスプレイセット）の直前に表示されるディスプレイセット（直前ディスプレイセット）の表示開始時刻から、注目ディスプレイセットの表示開始時刻（の直前）までの時間（直前ディスプレイセットの表示開始時刻と、注目ディスプレイセットの表示開始時刻との間の時間）を、注目ディスプレイセットの再生に使用可能な使用可能時間Tとすることである。
【０３３０】
ルールR3は、直前ディスプレイセットが、非表示区間のディスプレイセットである場合には、ルールR2を適用せずに、注目ディスプレイセット（の字幕）の直前に表示されるディスプレイセット(非表示区間のディスプレイセット）の、さらに直前に表示されるディスプレイセットの表示開始時刻から、注目ディスプレイセットの表示開始時刻までの時間を、注目ディスプレイセットの使用可能時間Tとすることである。
【０３３１】
ルールR4は、注目ディスプレイセットのデコード等の再生に要する必要時間Tminを、注目ディスプレイセットの使用可能時間Tの最小値として、使用可能時間Tが、必要時間Tminを下回ってはいけないことである。
【０３３２】
ルールR4によれば、注目ディスプレイセットの使用可能時間Tが、必要時間Tminを下回らないので、注目ディスプレイセットのデコード等の再生が、使用可能時間Tの間に完了すること、つまり、注目ディスプレイセットの再生が、その表示開始時刻までに完了することが保証される。
【０３３３】
したがって、注目ディスプレイセットの再生を、その表示に間に合うように行うことができる。さらに、注目ディスプレイセットのデコード等の再生が完了しないうちに、注目ディスプレイセットの表示開始時刻、すなわち、注目ディスプレイセットの次のディスプレイセットのデコード開始時刻となって、ディスプレイセットのデコード等の再生の処理が破綻することを防止することができる。
【０３３４】
なお、連続する２個のディスプレイセットの表示開始時刻の間隔を、ディスプレイセット間隔ということとすると、使用可能時間Tは、原則として、ディスプレイセット間隔となる。また、必要時間Tminは、ディスプレイセットの再生を、その表示に間に合うように行うことを保証するための、ディスプレイセット間隔の最小値である。
【０３３５】
ルールR4によれば、あるディスプレイセットを、表示時間軸上のどこに配置するかが、そのディスプレイセット単体に関するパラメータではなく、直前ディスプレイセット（ルールR3が適用される場合には、直前ディスプレイセットの、さらに直前に表示されるディスプレイセット）の表示時間（ディスプレイセット間隔）で制約される。
【０３３６】
ルールR5は、注目ディスプレイセットの必要時間Tminは、注目ディスプレイセットのエンコードデータ（encoded_data_string()（図１４））のサイズのみに依存するとみなすことである。
【０３３７】
すなわち、ディスプレイセットの必要時間Tminは、現実には、字幕（の画像データ）をエンコードデータにエンコードするエンコード方式や、字幕の画像データのサイズ、字幕（の画像）の大きさ（横のピクセル数×縦のピクセル数）、字幕の色数、字幕（の画像）の複雑さ、字幕の形状(字幕が縦長であるか、又は横長であるか等）、字幕を表示する表示位置、さらには、字幕を重畳する動画のフレームレート、スキャンタイプ（インタレースであるか、又はプログレッシブであるか）、ビットレート（ピークレートおよび平均レート）等の様々な要素の影響を受ける。
【０３３８】
このような様々な要素をすべて考慮して、必要時間Tminを求める場合には、必要時間Tminとして、正確な値を求めることができるが、その反面、必要時間Tminを求める処理の負担が大になる。
【０３３９】
また、このような様々な要素をすべて考慮して、必要時間Tminを求めるには、例えば、その様々な要素を引数として、正確な値の必要時間Tminを出力する関数（モデル）を求める必要があるが、そのような関数を求めることは困難である。
【０３４０】
そこで、注目ディスプレイセットの必要時間Tminが、注目ディスプレイセットのエンコードデータのサイズのみに依存するとみなすルールR5を採用することにより、必要時間Tminを容易に求めることができる。
【０３４１】
ルールR6は、注目ディスプレイセットが、ストリームの最初に表示されるディスプレイセットである場合には、ルールR1ないしR5を適用しないことである。
【０３４２】
すなわち、新フォーマットのファイルには、動画の表示区間の全体にわたって表示される字幕のディスプレイセットが格納されるため、最初に表示されるディスプレイセットの表示開始時刻は、動画の表示が開始される時刻に一致する（一致しなければならない）。
【０３４３】
そして、最初に表示されるディスプレイセットの必要時間は、いわゆるスタートアップディレイに含まれることとなるため、そもそも、ディスプレイセットの再生が、その表示に間に合わないことがなく、ファイル生成制約を課す必要がない。
【０３４４】
ルールR6は、例えば、図４の最初に表示されるディスプレイセット#1に適用される。図４のディスプレイセット#1は、非表示区間のディスプレイセットであるが、ルールR6は、非表示区間でない区間（表示区間）のディスプレイセットにも適用される。
【０３４５】
図１９を参照して、ルールR1ないしR3について、さらに説明する。
【０３４６】
なお、以下では、注目ディスプレイセットを、カレントディスプレイセット(current Display Set)ともいい、直前ディスプレイセットを、プリシーディングディスプレイセット(preceding Display Set)ともいう。
【０３４７】
図１９Ａは、プリシーディングディスプレイセットが、非表示区間のディスプレイセットでない場合の、プリシーディングディスプレイセットと、カレントディスプレイセットとの並びを示している。
【０３４８】
カレントディスプレイセット（の字幕）は、カレントディスプレイセットの表示開始時刻から次に表示されるディスプレイセット（フォローイングディスプレイセット）の表示開始時刻まで表示される。この、カレントディスプレイセットの表示開始時刻からフォローイングディスプレイセットの表示開始時刻までの時間を、カレントディスプレイセットがアクティブ(active)な時間（期間）という。
【０３４９】
プリシーディングディスプレイセットは、そのプリシーディングディスプレイセットの表示開始時刻から、カレントディスプレイセットの表示開始時刻までの時間表示されるので、この時間が、プリシーディングディスプレイセットがアクティブな時間である。
【０３５０】
ディスプレイセットの再生が、その表示に間に合うように行われることを前提とすると、ルールR1、すなわち、ディスプレイセットのデコード開始時刻を、直前ディスプレイセットの表示開始時刻と同一とするルールは、カレントディスプレイセットのデコード等の再生に要する時間が、プリシーディングディスプレイセットがアクティブな時間、又はそれ以下であるとモデル化を行うことに相当する。
【０３５１】
すなわち、ディスプレイセットの再生が、その表示に間に合うように行われているのであれば、プリシーディングディスプレイセットの表示開始時刻においては、そのプリシーディングディスプレイセットの再生が必ず完了していなければならない。
【０３５２】
したがって、プリシーディングディスプレイセットの表示開始時刻においては、字幕デコーダ３２（図１６）は、次のディスプレイセットであるカレントディスプレイセットのデコードを開始することができる。そして、カレントディスプレイセットのデコード等の再生も、カレントディスプレイセットの表示開始時刻までに、つまり、プリシーディングディスプレイセットがアクティブな時間の間に、必ず完了していなければならない。
【０３５３】
なお、カレントディスプレイセットの再生が、その表示開始時刻よりも前に完了した場合には、字幕デコーダ３２は、カレントディスプレイセットの再生の完了後、その表示開始時刻までの間、アイドル状態（データ待ち）（フォローイングディスプレイセットのデコードの開始を待つ状態）になる。
【０３５４】
ルールR2は、ルールR1から導かれるルールである。
【０３５５】
すなわち、ルールR1によれば、カレントディスプレイセットの再生は、プリシーティングディスプレイセットの表示開始時刻から、プリシーディングディスプレイセットがアクティブな時間の間に完了していなければならない。
【０３５６】
したがって、カレントディスプレイセットの再生に使用可能な使用可能時間Tは、プリシーディングディスプレイセットがアクティブな時間（プリシーディングディスプレイセットの表示開始時刻と、カレントディスプレイセットの表示開始時刻との間の時間）となり、ルールR2が導かれる。
【０３５７】
図１９Ｂは、ルールR3を説明する図である。
【０３５８】
いま、連続して表示される３個のディスプレイセットのうちの、最後に表示されるディスプレイセットが、カレントディスプレイセットであるとする。
【０３５９】
この場合、連続して表示される３個のディスプレイセットのうちの、２番目に表示されるディスプレイセットがプリシーディングディスプレイセットとなる。
【０３６０】
ここで、連続して表示される３個のディスプレイセットのうちの、１番目に表示されるディスプレイセット、つまり、プリシーディングディスプレイセットの直前に表示されるディスプレイセットを、セカンドプリシーディングディスプレイセットという。
【０３６１】
いま、プリシーディングディスプレイセットが、非表示区間のディスプレイセット、つまり、セカンドプリシーディングディスプレイセット（の字幕）を消去するためだけのディスプレイセットであるとする。
【０３６２】
プリシーティングディスプレイセットは、非表示区間のディスプレイセットであるから、字幕デコーダ３２でデコードしなければならないエンコードデータ（encoded_data_string()（図１４））は存在しない（エンコードデータをデコードする必要はない）。
【０３６３】
したがって、字幕デコーダ３２は、セカンドプリシーディングディスプレイセットがアクティブな時間に、プリシーディングディスプレイセットをデコードする必要がない。よって、字幕デコーダ３２は、カレントディスプレイセットのデコードを、プリシーディングディスプレイセットの表示開始時刻ではなく、セカンドプリシーディングディスプレイセットの表示開始時刻から開始することができる。
【０３６４】
以上から、カレントディスプレイセットの再生に使用可能な使用可能時間Tは、セカンドプリシーディングディスプレイセットの表示開始時刻から、カレントディスプレイセットの表示開始時刻までの時間となる。
【０３６５】
すなわち、直前ディスプレイセットが、非表示区間のディスプレイセットである場合には、注目ディスプレイセットの直前に表示されるディスプレイセット(非表示区間のディスプレイセット）の、さらに直前に表示されるディスプレイセットの表示開始時刻から、注目ディスプレイセットの表示開始時刻までの時間を、注目ディスプレイセットの使用可能時間TとするルールR3が導かれる。
【０３６６】
なお、プリシーティングディスプレイセットが、非表示区間のディスプレイセットである場合に、セカンドプリシーディングディスプレイセットが、非表示区間のディスプレイセットであることはないこととする。
【０３６７】
すなわち、仮に、連続する２個のディスプレイセットが、いずれも、非表示区間のディスプレイセットである場合には、その２個のディスプレイセットは、１個の非表示区間のディスプレイセットにまとめることができる。このようにディスプレイセットをまとめることで、プリシーティングディスプレイセットが、非表示区間のディスプレイセットである場合には、セカンドプリシーディングディスプレイセットは、必ず、非表示区間のディスプレイセットでないディスプレイセットとなる。
【０３６８】
次に、図２０を参照して、ルールR5による必要時間Tminの求め方について説明する。
【０３６９】
ディスプレイセットの再生に要する必要時間Tminは、エンコードデータのデコードに要する時間とみなすことができる。但し、エンコードデータのデコードに要する時間は、上述したように、様々な要素に依存するので、正確にモデル化をするのは困難である。
【０３７０】
ルールR5では、注目ディスプレイセットの必要時間Tminが、注目ディスプレイセットのエンコードデータ（encoded_data_string()（図１４））のサイズのみに依存するとみなし、これにより、必要時間Tminのモデル化を容易に行う。
【０３７１】
ルールR5によれば、ディスプレイセットの必要時間Tminは、そのディスプレイセットのエンコードデータのサイズsを引数とする関数F(s)によって、式Tmin=F(s)で表され、モデル化では、関数F(s)を求めることとなる。
【０３７２】
関数F(s)は、字幕デコードシステム３０（図１６）の仕様、特に、字幕デコーダ３２の性能に依存する。
【０３７３】
図２０は、ある性能の字幕デコーダ３２について、シミュレーションによって求められた関数F(s)を示している。
【０３７４】
関数F(s)は、エンコードデータのサイズsを引数として、必要時間Tminを出力するから、エンコードデータのサイズsと必要時間Tminとの関係であるサイズ時間関係を表しているということができる。
【０３７５】
図２０において、横軸は、エンコードデータのサイズsを、バイトを単位として表しており、縦軸は、必要時間Tminを、動画のフレーム（ビデオフレーム）の数を単位として表している。
【０３７６】
なお、ディスプレイセット（の字幕）の表示が開始されるタイミングは、字幕が重畳される動画のフレームが表示されるタイミングに一致するため（一致させる必要があるため）、図２０では、縦軸の必要時間Tminの単位を、フレームの数としてある。
【０３７７】
また、横軸のエンコードデータのサイズsは、ODS（図１４）に格納されるencoded_data_string()のバイトサイズである。
【０３７８】
シミュレーションによれば、必要時間Tminは、エンコードデータのサイズsが大になるほど大になることが確認され、図２０は、そのシミュレーションの結果に基づいて作成されたサイズ時間関係を示している。
【０３７９】
なお、図２０のサイズ時間関係においては、ディスプレイセットの再生が、その表示に確実に間に合うように、必要時間Tminは、シミュレーションで得られた値に、いわゆるマージンを上乗せした値になっている。マージンは、ディスプレイセットの再生が、その表示に間に合うことの確実性を考慮して決めることができる。
【０３８０】
次に、図２１は、上述のルールR1ないしR6に従って、新フォーマットのファイルを生成する生成装置の一実施の形態の構成例を示すブロック図である。
【０３８１】
生成装置は、字幕表示時刻データベース４０、字幕処理部５０、メタデータ処理部６１、画像処理部６２、音声処理部６３、及び、データ合成部６４から構成される。
【０３８２】
字幕表示時刻データベース４０は、字幕の表示開始時刻を記憶している。ここで、字幕の表示開始時刻は、例えば、図２１の生成装置によってファイル（コンテンツ）を制作する制作者等によって、あらかじめ決められる。
【０３８３】
字幕処理部５０には、字幕の画像データが供給される。字幕処理部５０は、そこに供給される字幕の画像データを処理することにより、字幕のサンプル、つまり、ディスプレイセットを生成し、データ合成部６４に供給する。
【０３８４】
すなわち、字幕処理部５０は、字幕エンコーダ５１、判定部５２、サイズ時間関係データベース５３、及び、エラー処理部５４から構成される。
【０３８５】
字幕エンコーダ５１には、字幕の画像データとしての、例えば、１枚（画面分）のビットマップのデータが、適宜供給される。
【０３８６】
字幕エンコーダ５１は、そこに供給される字幕の画像データをエンコードすることにより、新フォーマットのファイルに格納される字幕データを生成して、判定部５２に供給する。
【０３８７】
すなわち、字幕エンコーダ５１は、そこに供給される字幕の画像データをエンコードすることにより、エンコードデータ（encoded_data_string()（図１４））を生成する。そして、字幕エンコーダ５１は、そのエンコードデータを用いて、字幕のサンプルであるディスプレイセットを生成し、注目ディスプレイセットとして、判定部５２に供給する。
【０３８８】
字幕エンコーダ５１は、さらに、字幕表示時刻データベース４０に記憶された字幕（ディスプレイセット）の表示開始時刻を参照して、注目ディスプレイセットの使用可能時間Tを求め、判定部５２に供給する。
【０３８９】
なお、字幕エンコーダ５１で生成されるディスプレイセットが、非表示区間のディスプレイセットである場合には、エンコードデータは不要とすることができる。
【０３９０】
判定部５２は、字幕エンコーダ５１からの注目ディスプレイセットに含まれるエンコードデータのサイズsを検出する。さらに、判定部５２は、注目ディスプレイセットに含まれるエンコードデータのサイズsに基づいて、例えば、図１６の再生装置による、注目ディスプレイセットの再生が、その表示に間に合うかどうかを判定する。
【０３９１】
すなわち、判定部５２は、サイズ時間関係データベース５３に記憶されたサイズ時間関係としての関数F(s)（図２０）に従い、注目ディスプレイセットに含まれるエンコードデータのサイズsから、注目ディスプレイセットについての必要時間Tminを求める。
【０３９２】
さらに、判定部５２は、字幕エンコーダ５１からの、注目ディスプレイセットの使用可能時間Tと、注目ディスプレイセットに含まれるエンコードデータのサイズsから求められた必要時間Tminとの大小関係を求め、その大小関係に基づいて、注目ディスプレイセットの再生が、その表示に間に合うかどうかを判定する。
【０３９３】
具体的には、判定部５２は、注目ディスプレイセットの使用可能時間Tが、必要時間Tmin以上である場合には、注目ディスプレイセットの再生が、その表示に間に合うと判定する。また、判定部５２は、注目ディスプレイセットの使用可能時間Tが、必要時間Tmin以上でない場合には、注目ディスプレイセットの再生が、その表示に間に合わないと判定する。
【０３９４】
判定部５２は、注目ディスプレイセットの再生が、その表示に間に合うと判定した場合、注目ディスプレイセットを、データ合成部６４に供給する。
【０３９５】
また、判定部５２は、注目ディスプレイセットの再生が、その表示に間に合わないと判定した場合、エラーを表すエラー情報を出力する。
【０３９６】
サイズ時間関係データベース５３は、図２０で説明したようにして、あらかじめ求められたサイズ時間関係としての関数F(s)を記憶している。
【０３９７】
エラー処理部５４は、判定部５２によるエラー情報の出力に応じて、ディスプレイセットの再生が、その表示に間に合うようにするためのエラー処理を行う。
【０３９８】
すなわち、例えば、エラー処理部５４は、判定部５２がエラー情報を出力すると、例えば、注目ディスプレイセットの使用可能時間Tを大にする処理を、エラー処理として行う。
【０３９９】
ここで、エラー処理部５４は、例えば、注目ディスプレイセットの表示開始時刻を遅らせることにより、又は、注目ディスプレイセットの直前のディスプレイセットの表示開始時刻を早めることにより、注目ディスプレイセットの使用可能時間Tを大にする。
【０４００】
すなわち、エラー処理部５４は、注目ディスプレイセットの表示開始時刻を遅らせること、又は、注目ディスプレイセットの直前のディスプレイセットの表示開始時刻を早めることを指示する制御信号を、字幕エンコーダ５１に供給する。
【０４０１】
字幕エンコーダ５１は、エラー処理部５４から制御信号が供給された場合、その制御信号に従って、注目ディスプレイセットの表示開始時刻を遅らせるか、又は、注目ディスプレイセットの直前のディスプレイセットの表示開始時刻を早める時刻調整を行う。さらに、字幕エンコーダ５１は、時刻調整後の表示開始時刻を用いて、注目ディスプレイセットの使用可能時間Tを求め直し、判定部５２に供給する。
【０４０２】
ここで、上述したように、注目ディスプレイセットの表示開始時刻を遅らせるか、又は、注目ディスプレイセットの直前のディスプレイセットの表示開始時刻を早める時刻調整を行うことで、注目ディスプレイセットの使用可能時間Tは、大にすることができる。
【０４０３】
但し、注目ディスプレイセットの表示開始時刻を遅らせた場合には、注目ディスプレイセットの次のディスプレイセットの使用可能時間Tが小となる。また、注目ディスプレイセットの直前のディスプレイセットの表示開始時刻を早めた場合には、その直前のディスプレイセットの使用可能時間Tが小となる。
【０４０４】
注目ディスプレイセットの次のディスプレイセットの使用可能時間Tが小となることによって、その使用可能時間Tが、注目ディスプレイセットの次のディスプレイセットの必要時間Tmin以上とならなくなる場合には、注目ディスプレイセットの次のディスプレイセットの再生が、その表示に間に合わなくなる。
【０４０５】
また、注目ディスプレイセットの直前のディスプレイセットの使用可能時間Tが小となることによって、その使用可能時間Tが、注目ディスプレイセットの直前のディスプレイセットの必要時間Tmin以上とならなくなる場合には、注目ディスプレイセットの直前のディスプレイセットの再生が、その表示に間に合わなくなる。
【０４０６】
そこで、注目ディスプレイセットの表示開始時刻を遅らせることによって、注目ディスプレイセットの次のディスプレイセットの使用可能時間Tが、その必要時間Tmin以上とならなくなる場合、及び、注目ディスプレイセットの直前のディスプレイセットの表示開始時刻を早めることによって、注目ディスプレイセットの直前のディスプレイセットの使用可能時間Tが、その必要時間Tmin以上とならなくなる場合には、エラー処理部５４は、別のエラー処理を行う。
【０４０７】
すなわち、エラー処理部５４は、注目ディスプレイセットの必要時間Tminを小にする処理を、エラー処理として行う。
【０４０８】
ここで、エラー処理部５４は、例えば、字幕エンコーダ５１に、エンコードのパラメータを変更させて、字幕エンコーダ５１で得られる注目ディスプレイセットのエンコードデータのサイズを小にすることにより、注目ディスプレイセットの必要時間Tminを小にする。
【０４０９】
すなわち、エラー処理部５４は、エンコードの対象とする字幕の画像データの色数を小にすることや、その画像データの大きさ（ピクセル数）を小にする（間引く）こと等を指示する制御信号を、字幕エンコーダ５１に供給する。
【０４１０】
字幕エンコーダ５１は、エラー処理部５４から制御信号が供給された場合、その制御信号に従って、エンコードの対象とする字幕の画像データの色数を小にすることや、その画像データの大きさを小にする処理を行い、その処理後の字幕の画像データを、エンコードデータにする再エンコードを行う。そして、字幕エンコーダ５１は、再エンコードの結果得られたエンコードデータを用いて、注目ディスプレイセットを再生成し、判定部５２に供給する。
【０４１１】
判定部５２は、上述したように、サイズ時間関係データベース５３に記憶されたサイズ時間関係としての関数F(s)（図２０）に従い、注目ディスプレイセットに含まれるエンコードデータのサイズsから、注目ディスプレイセットの必要時間Tminを求める。
【０４１２】
いまの場合、注目ディスプレイセットに含まれるエンコードデータは、色数や大きさが小の字幕の画像データをエンコードして得られるデータであるので、そのサイズsは小になり、したがって、そのサイズsから、サイズ時間関係に従って求められる必要時間Tminも小となる。
【０４１３】
メタデータ処理部６１には、メタデータ（付加情報）が供給される。メタデータ処理部６１は、そこに供給されるメタデータに必要な処理を施し、データ合成部６４に供給する。
【０４１４】
画像処理部６２には、動画データが供給される。画像処理部６２は、そこに供給される動画データに必要な処理を施し、データ合成部６４に供給する。
【０４１５】
音声処理部６３には、音声データ（例えば、動画データに付随する音声データ）が供給される。音声処理部６３は、そこに供給される音声データに必要な処理を施し、データ合成部６４に供給する。
【０４１６】
データ合成部６４は、メタデータ処理部６１からのメタデータ、画像処理部６２からの動画データ、音声処理部６３からの音声データ、及び、字幕処理部５０（の判定部５２）からの字幕データとしてのディスプレイセットを合成（多重化）し、その合成の結果得られるストリームを格納した新フォーマットのファイルを生成して出力する。
【０４１７】
なお、メタデータには、字幕表示時刻データベース４０に記憶されたディスプレイセットの表示開始時刻が含まれるが、この表示開始時刻は、データ合成部６４において、例えば、ISO base media file formatのtime-to-sample atom（図２Ａ）等の形で、新フォーマットのファイルに格納される。
【０４１８】
また、エラー処理部５４において行われるエラー処理によって、ディスプレイセットの表示開始時刻の時刻調整が行われた場合には、その時刻調整後の表示開始時刻が、新フォーマットのファイルに格納される。
【０４１９】
次に、図２２を参照して、図２１の生成装置の字幕処理部５０で行われる処理（字幕生成処理）について説明する。
【０４２０】
字幕処理部５０では、字幕エンコーダ５１が、字幕の画像データとしての、例えば、１枚（画面分）のビットマップのデータが供給されるのを待って、ステップＳ５１において、その字幕の画像データを取得（受信）して、処理は、ステップＳ５２に進む。
【０４２１】
ステップＳ５２では、字幕エンコーダ５１は、字幕表示時刻データベース４０に記憶された字幕（ディスプレイセット）の表示開始時刻を参照して、注目ディスプレイセットの使用可能時間Tを求める。そして、字幕エンコーダ５１は、注目ディスプレイセットの使用可能時間Tを、その表示開始時刻とともに、判定部５２に供給して、処理は、ステップＳ５２からステップＳ５３に進む。
【０４２２】
ステップＳ５３では、字幕エンコーダ５１は、直前のステップＳ５１で取得した字幕の画像データをエンコード（符号化）することにより、エンコードデータ（encoded_data_string()（図１４））を生成する。さらに、字幕エンコーダ５１は、そのエンコードデータを用いて、字幕のサンプルとなるディスプレイセットを生成し、注目ディスプレイセットとして、判定部５２に供給して、処理は、ステップＳ５３からステップＳ５４に進む。
【０４２３】
ステップＳ５４では、判定部５２は、字幕エンコーダ５１からの注目ディスプレイセットに含まれるエンコードデータのサイズsを検出する。さらに、判定部５２は、注目ディスプレイセットに含まれるエンコードデータのサイズsから、サイズ時間関係データベース５３に記憶されたサイズ時間関係（図２０）に従い、注目ディスプレイセットの必要時間Tminを求める。
【０４２４】
そして、処理は、ステップＳ５４からステップＳ５５に進み、判定部５２は、注目ディスプレイセットの使用可能時間Tが、注目ディスプレイセットの必要時間Tmin以上であるかどうかを判定する。
【０４２５】
ステップＳ５５において、注目ディスプレイセットの使用可能時間Tが、注目ディスプレイセットの必要時間Tmin以上でないと判定された場合、すなわち、注目ディスプレイセットの再生が、その表示に間に合わない場合、処理は、ステップＳ５６に進み、判定部５２は、エラー情報を出力して、処理は、ステップＳ５７に進む。
【０４２６】
ステップＳ５７では、エラー処理部５４が、注目ディスプレイセットの表示開始時刻を遅らせるか、又は、注目ディスプレイセットの直前のディスプレイセットの表示開始時刻を早める時刻調整を行うことで、注目ディスプレイセットの使用可能時間Tを変更すること（大とすること）が可能であるかどうかを判定する。
【０４２７】
ここで、時刻調整を行うことで、注目ディスプレイセットの使用可能時間Tを大とした場合には、図２０で説明したように、注目ディスプレイセットの次のディスプレイセットの使用可能時間Tが小となることによって、その使用可能時間Tが、注目ディスプレイセットの次のディスプレイセットの必要時間Tmin以上とならなくなり、注目ディスプレイセットの次のディスプレイセットの再生が、その表示に間に合わなくなること、又は、注目ディスプレイセットの直前のディスプレイセットの使用可能時間Tが小となることによって、その使用可能時間Tが、注目ディスプレイセットの直前のディスプレイセットの必要時間Tmin以上とならなくなり、注目ディスプレイセットの直前のディスプレイセットの再生が、その表示に間に合わなくなることがある。
【０４２８】
ステップＳ５７では、上述のような、ディスプレイセットの再生が、その表示に間に合わなくなることが生じる場合に、時刻調整を行うことで、注目ディスプレイセットの使用可能時間Tを大とすることが可能でないと判定される。一方、上述のような、ディスプレイセットの再生が、その表示に間に合わなくなることが生じない場合には、ステップＳ５７では、時刻調整を行うことで、注目ディスプレイセットの使用可能時間Tを大とすることが可能であると判定される。
【０４２９】
ステップＳ５７において、時刻調整を行うことで、注目ディスプレイセットの使用可能時間Tを大とすることが可能であると判定された場合、処理は、ステップＳ５８に進み、エラー処理部５４は、注目ディスプレイセットの表示開始時刻を遅らせること、又は、注目ディスプレイセットの直前のディスプレイセットの表示開始時刻を早めることを指示する時刻調整の制御信号を、字幕エンコーダ５１に供給する。
【０４３０】
字幕エンコーダ５１は、エラー処理部５４から時刻調整の制御信号が供給された場合、その制御信号に従って、注目ディスプレイセットの表示開始時刻を遅らせるか、又は、注目ディスプレイセットの直前のディスプレイセットの表示開始時刻を早める時刻調整を行う。さらに、字幕エンコーダ５１は、時刻調整後の表示開始時刻を用いて、注目ディスプレイセットの使用可能時間Tを求め直し、判定部５２に供給する。なお、時刻調整の対象が、注目ディスプレイセットの表示開始時刻である場合には、字幕エンコーダ５１は、注目ディスプレイセットの、時刻調整後の表示開始時刻も、判定部５２に供給する。
【０４３１】
その後、処理は、ステップＳ５８からステップＳ５５に戻り、以下、同様の処理が繰り返される。
【０４３２】
また、ステップＳ５７において、時刻調整を行うことで、注目ディスプレイセットの使用可能時間Tを大とすることが可能でないと判定された場合、処理は、ステップＳ５９に進み、エラー処理部５４は、エンコードの対象とする字幕の画像データの色数を小にすることや、その画像データの大きさを小にすること等を指示する、エンコードのパラメータを変更する制御信号を、字幕エンコーダ５１に供給する。
【０４３３】
字幕エンコーダ５１は、エラー処理部５４から、エンコードのパラメータを変更する制御信号が供給された場合、その制御信号に従って、前回エンコードの対象とした字幕の画像データの色数を小にすることや、その画像データの大きさを小にする処理（以下、小サイズ化処理ともいう）を行う。そして、処理は、ステップＳ５９からステップＳ５３に戻り、字幕エンコーダ５１は、小サイズ化処理後の字幕の画像データをエンコードし、以下、同様の処理が繰り返される。
【０４３４】
一方、ステップＳ５５において、注目ディスプレイセットの使用可能時間Tが、注目ディスプレイセットの必要時間Tmin以上であると判定された場合、すなわち、注目ディスプレイセットの再生が、その表示に間に合う場合、処理は、ステップＳ６０に進み、判定部５２は、注目ディスプレイセットと、注目ディスプレイセットの表示開始時刻（時刻調整が行われた場合には、時刻調整後の表示開始時刻）を、データ合成部６４に供給して、処理は、ステップＳ６１に進む。
【０４３５】
ここで、合成部６４では、以上のようにして、判定部５２から供給される注目ディスプレイセットの表示開始時刻が、例えば、ISO base media file formatのtime-to-sample atom（図２Ａ）等の形で、新フォーマットのファイルに格納される。
【０４３６】
ステップＳ６１では、字幕処理部５０が、新フォーマットのファイルに格納すべき字幕の画像データをすべて処理したかどうかを判定する。
【０４３７】
ステップＳ６１において、新フォーマットのファイルに格納すべき字幕の画像データの中で、まだ処理をしていない字幕の画像データがあると判定された場合、処理は、ステップＳ５１に戻り、以下、同様の処理が繰り返される。
【０４３８】
また、ステップＳ６１において、新フォーマットのファイルに格納すべき字幕の画像データをすべて処理したと判定された場合、字幕生成処理は終了する。
【０４３９】
以上のように、判定部５２において、注目ディスプレイセットの使用可能時間Tが、注目ディスプレイセットの必要時間Tmin以上でないとき、注目ディスプレイセットの再生が、注目ディスプレイセットの表示に間に合わないと判定し、エラー情報を出力するようにしたので、ディスプレイセットの再生が、ディスプレイセットの表示に間に合わないファイルが生成されるのを防止すること、ひいては、再生装置において、ファイルからの字幕の再生を、その字幕の表示に間に合うように行うことができる。
【０４４０】
すなわち、図１６の再生装置では、上述したように、字幕デコードシステム３０において、あるディスプレイセット（の字幕）の表示開始時刻を、次に表示するディスプレイセットのデコード開始時刻であるとして、ディスプレイセットが、順次再生される。
【０４４１】
一方、図２１の生成装置によれば、あるディスプレイセットの表示開始時刻から、次に表示するディスプレイセットの表示開始時刻までの時間（次に表示するディスプレイセットの使用可能時間T）は、そのディスプレイセットの必要時間Tmin以上であることが保証される。
【０４４２】
したがって、図１６の再生装置では、ディスプレイセットの再生を、その表示に間に合うように行うことができる。
【０４４３】
ここで、本実施の形態では、ディスプレイセットの使用可能時間Tが、必要時間Tmin以上でない場合には、字幕の画像データの色数や大きさを小にすることで、エンコードデータのサイズs、ひいては、必要時間Tminを小とするようにしたが、字幕の画像データの色数や大きさを小にすることは、ファイル（コンテンツ）の内容を変更することになるので、必要時間Tminを小とするための、字幕の画像データの色数や大きさを小にする等の処理は、ユーザ（ファイルの制作者）の確認をとってから行うようにすることができる。あるいは、生成装置では、必要時間Tminを小とするための、字幕の画像データの色数や大きさを小にする等のエラー処理は行わずに、エラー情報、すなわち、字幕の再生が、その表示に間に合わない旨を、ユーザに報知するだけに止め、その後の対処は、ユーザからの指示を待って行うようにすることができる。
【０４４４】
使用可能時間Tを大とするための、表示開始時刻の時刻調整を行うエラー処理についても、同様である。
【０４４５】
なお、エラー処理を行わない場合には、字幕処理部５０（図２１）は、エラー処理部５４を設けずに構成することができる。
【０４４６】
また、エンコードデータのサイズs、ひいては、必要時間Tminを小とすることは、字幕の画像データの色数や大きさを小にする他、複数個の字幕の画像データ（複数枚の画像データ）を合成して、１枚の画像データ（１個の字幕の画像データ）とする方法等がある。
【０４４７】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０４４８】
そこで、図２３は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０４４９】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク１０５やROM１０３に予め記録しておくことができる。
【０４５０】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体１１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体１１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０４５１】
なお、プログラムは、上述したようなリムーバブル記録媒体１１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部１０８で受信し、内蔵するハードディスク１０５にインストールすることができる。
【０４５２】
コンピュータは、CPU(Central Processing Unit)１０２を内蔵している。CPU１０２には、バス１０１を介して、入出力インタフェース１１０が接続されており、CPU１０２は、入出力インタフェース１１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部１０７が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)１０３に格納されているプログラムを実行する。あるいは、また、CPU１０２は、ハードディスク１０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部１０８で受信されてハードディスク１０５にインストールされたプログラム、またはドライブ１０９に装着されたリムーバブル記録媒体１１１から読み出されてハードディスク１０５にインストールされたプログラムを、RAM(Random Access Memory)１０４にロードして実行する。これにより、CPU１０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU１０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース１１０を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部１０６から出力、あるいは、通信部１０８から送信、さらには、ハードディスク１０５に記録等させる。
【０４５３】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０４５４】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０４５５】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０４５６】
【図１】ISO Base Media File Formatのファイルに格納されるメディアデータの例を示す図である。
【図２】ISO Base Media File Formatのatomの概要を示す図である。
【図３】字幕の表示を説明する図である。
【図４】新フォーマットを説明する図である。
【図５】新フォーマットのファイルに格納されるストリームの例を示す図である。
【図６】新フォーマットのファイルに格納される字幕データのデータ構造の例を示す図である。
【図７】ディスプレイセットが有効になるタイミングを示す図である。
【図８】ディスプレイセットのデータ構造の例を示す図である。
【図９】PCSのシンタクスの例を示す図である。
【図１０】PCSのpage_stateがとる値を説明する図である。
【図１１】RDSのシンタクスの例を示す図である。
【図１２】字幕、リージョン、及び、字幕プレーンの関係を示す図である。
【図１３】CDSのシンタクスの例を示す図である。
【図１４】ODSのシンタクスの例を示す図である。
【図１５】ENDのシンタクスの例を示す図である。
【図１６】再生装置の一実施の形態の構成例を示すブロック図である。
【図１７】字幕再生処理を説明するフローチャートである。
【図１８】ディスプレイセットの再生、及び、表示のシーケンスを示す図である。
【図１９】ルールR1ないしR3を説明するための図である。
【図２０】サイズ時間関係を示す図である。
【図２１】生成装置の一実施の形態の構成例を示すブロック図である。
【図２２】字幕生成処理を説明するフローチャートである。
【図２３】コンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０４５７】
１１  記録媒体，  １２  ファイル読み込み部，  １３  データ分配部，  １４  ビデオデコードシステム，  １５  ビデオフレームバッファ，  １６  合成部，  １７  表示フレームバッファ，  １８  画像表示装置，  １９  オーディオデコードシステム，  ２０  オーディオ出力装置，  ３０  字幕デコードシステム，  ３１  デコードバッファ，  ３２  字幕デコーダ，  ３３  字幕バッファ，  ３４，３５  スイッチ，  ３６，３７  フレームバッファ，  ４０  字幕表示時刻データベース，  ５０  字幕処理部，  ５１  字幕エンコーダ，  ５２  判定部，  ５３  サイズ時間関係データベース，  ５４  エラー処理部，  ６１  メタデータ処理部，  ６２  画像処理部，  ６３  音声処理部，  ６４  データ合成部，  １０１  バス，  １０２  CPU，  １０３  ROM，  １０４  RAM，  １０５  ハードディスク，  １０６  出力部，  １０７  入力部，  １０８  通信部，  １０９  ドライブ，  １１０  入出力インタフェース，  １１１  リムーバブル記録媒体
【図１】
0004577409.tif 000002
【図２】
0004577409.tif 000003
【図３】
0004577409.tif 000004
【図４】
0004577409.tif 000005
【図５】
0004577409.tif 000006
【図６】
0004577409.tif 000007
【図７】
0004577409.tif 000008
【図８】
0004577409.tif 000009
【図９】
0004577409.tif 000010
【図１０】
0004577409.tif 000011
【図１１】
0004577409.tif 000012
【図１２】
0004577409.tif 000013
【図１３】
0004577409.tif 000014
【図１４】
0004577409.tif 000015
【図１５】
0004577409.tif 000016
【図１６】
0004577409.tif 000017
【図１７】
0004577409.tif 000018
【図１８】
0004577409.tif 000019
【図１９】
0004577409.tif 000020
【図２０】
0004577409.tif 000021
【図２１】
0004577409.tif 000022
【図２２】
0004577409.tif 000023
【図２３】
0004577409.tif 000024