この仕様は、EPUB コンテンツ ドキュメントと同期した音声の表現のために、[[SMIL3]] (Synchronized Multimedia Integration Language)、パッケージ ドキュメント、CSS スタイル シート及び EPUB® コンテンツ ドキュメントの使用法を定義する。

メディア オーバーレイによって可能となるテキストとオーディオの同期により、伝統的な本のテキストを辿るのが困難な全てのユーザーへ、強化されたアクセシビリティを提供する。メディア オーバーレイはまた、伝統的なオーディオ埋め込み技術では不可能な、何らかの理由でテキストを読み取ることができない読者に対して、継続的なリスニング体験を提供する。これらは、(例えば、語学学習や商用オーディオブックの読解など)伝統的にアクセシビリティの問題を考慮されていない目的のためにも有用である。

この仕様は、XML や Web 標準に基づいたデジタル出版物の交換や配信形式であり、EPUB 3 [[EPUB32]] を構成する仕様群のひとつである。 この仕様は EPUB 3 を構成する以下の他の仕様と共に読み、理解することになっている:

この仕様と前身の多くの相違については [[EPUB32Changes]] を参照されたい。

前置き

他の使用との関連性

SMIL との関連性

この仕様は、メディア オーバーレイ ドキュメントの定義で定義された EPUB メディア オーバーレイの要素と属性の派生元である [[SMIL3]] のサブセットに依存する。

用語

EPUB 3 固有の意味を持つ用語は、このドキュメント(例えば、「製作者」、「リーディング システム」)に利用できる。これらの用語と定義の完全なリストは、[[!EPUB32]] で提供されている。

セクションにある用語の最初のインスタンスのみが、その定義にリンクされる。

名前空間プレフィックスのマッピング

便宜上、明示的に宣言することなく、次の名前空間プレフィックス [[!XML-NAMES]] はこの仕様で使用される。これらのプレフィックスのいずれかを使用するには、宣言が必須(REQUIRED)である。

prefix URI
epub http://www.idpf.org/2007/ops

メディア オーバーレイ ドキュメントの定義

前置き

同期された音声ナレーションは、主要な電子書籍、教材、印刷物を読むことのできない人向けにフォーマットされた電子書籍が含まれる。EPUB 3 では、これらの種類の本は録音済み音声ナレーションのタイミングや、それを EPUB コンテンツ ドキュメントのマークアップにどう関係付けるかを記述するためにメディア オーバーレイ ドキュメントを用いて作成される。メディア オーバーレイのファイル形式は、XML でマルチメディア情報を同期表現する W3C 勧告の [[SMIL3]] のサブセットで定義される。

メディア オーバーレイの機能は、機能をサポートしていない EPUB リーディング システムに対して無視するよう設計されている。EPUB 出版物にメディア オーバーレイを包含することは、あたかもメディア オーバーレイが存在しないかのように EPUB 出版物を表示するメディア オーバーレイに非対応のリーディング システムの能力に影響を与えない。

この仕様の将来のバージョンは動画メディアをサポート(例えばテキストと手話を同期する本)するかもしれないが、現バージョンは EPUB コンテンツ ドキュメントに含まれる音声メディアの同期のみサポートする。

コンテンツの適合性

メディア オーバーレイ ドキュメントは次の条件を全て満たしていなければならない(MUST):

ドキュメントのプロパティ

XML 適合性 [[EPUB32]] で定義された XML 文書の適合性の制約を満たしていなければならない(MUST)。

付録 A, メディア オーバーレイのスキーマで定義されているメディア オーバーレイのスキーマに対して妥当であること、およびメディア オーバーレイ ドキュメントの定義で表現される全てのコンテンツの適合性の制約に準拠しなければならない(MUST)。

構造で提示されたように、関連付けられている EPUB コンテンツ ドキュメントの構造を反映しなければならない(MUST)。

ひとつ以上の EPUB コンテンツ ドキュメントを参照してもよい(MAY)が、EPUB コンテンツ ドキュメントは、ひとつ以上のメディア オーバーレイ ドキュメントによって参照されてはならない(MUST NOT)。

埋め込まれたメディアの必須要件を確実に実行しなければならない(MUST)。

意味の変化に記載されているとおり、適切なセマンティック マークアップを使うべきである(SHOULD)。

EPUB 出版物は、パッケージングに示されるようにパッケージしなければならない(MUST)。

ファイル プロパティ

メディア オーバーレイ ドキュメントのファイル名はファイル拡張子 .smil を使用すべきである(SHOULD)。

リーディング システムの適合性

EPUB リーディング システムのメディア オーバーレイのサポートは省略可能(OPTIONAL)である。メディア オーバーレイをサポートしているリーディング システムは次の条件を全て満たしていなければならない(MUST)

メディア オーバーレイをサポートしていないリーディング システムは以下の基準に対処しなければならない(MUST)。

メディア オーバーレイ ドキュメントの定義

特に指定のない限り、このセクションで定義されている全ての要素 [[!XML]] は名前空間 https://www.w3.org/ns/SMIL [[!XML-NAMES]] である。

smil 要素

smil 要素は全てのメディア オーバーレイ ドキュメントのルート要素である。

要素名

smil

使用方法

smil 要素はメディア オーバーレイ ドキュメントのルート要素である。

属性
version [必須]

メディア オーバーレイに準拠する [[!SMIL3]] 仕様書のバージョン番号を指定する。

属性は、値「3.0」を持たねばならない(MUST)。

id [省略可]

要素の ID [[!XML]] はドキュメントのスコープ内で一意でなければならない(MUST)。

epub:prefix [省略可]

追加のメタデータ語彙プリフィックスを宣言する。

詳細については意味の変化を参照されたい。

コンテンツモデル

記述順序:

  • head [0または1]

  • body [正確にひとつ]

head 要素

head 要素は、メディア オーバーレイ ドキュメント内のメタデータのコンテナである。

要素名

head

使用方法

head 要素は smil 要素の省略可能(OPTIONAL)な最初の子要素。

属性

なし

コンテンツモデル

metadata [0またはひとつ]

この仕様では、メディア オーバーレイ ドキュメントで発生する必要があるメタデータのプロパティは定義されていないため、head 要素は省略可能(OPTIONAL)である。

metadata 要素

metadata 要素はメディア オーバーレイ ドキュメントのメタデータを表す。metadata 要素は任意のメタ情報の構造化言語で記述されたメタデータを含めることができる拡張ポイントである。

要素名

metadata

使用方法

head 要素の子。

属性

なし

コンテンツモデル

任意の名前空間からの [0個以上] の要素

この仕様はメディア オーバーレイ ドキュメントに発生しなければならず(MUST)、メタデータのプロパティを定義しない。metadata 要素は特別なメタデータの要件により提供される。

body 要素

body 要素はメディア オーバーレイ ドキュメントに含まれているプレゼンテーションのための開始地点である。それは parseq 要素の主要なシーケンスを含んでいる。

要素名

body

使用方法

body 要素は smil 要素に必須(REQUIRED)な二番目の子要素。

属性
epub:type [省略可]

EPUB コンテンツ ドキュメント内の対応する要素の構造的な意味の語句。

値はプロパティ [[!Packages32]] の種類が空白で区切られたリストでである。詳細については意味の変化を参照されたい。

id [省略可]

要素の ID [[!XML]] はドキュメントのスコープ内で一意でなければならない(MUST)。

epub:textref [省略可]

対応する EPUB コンテンツ ドキュメントの相対的な IRI 参照 [[!RFC3987]] は、[[!XPTRSH]] のように明確な要素を参照するフラグメント識別子を含んでいる。

コンテンツモデル

記述順序:

  • seq [0個以上]

  • par [0個以上]

少なくともひとつの par または seq が必須(REQUIRED)である。

seq 要素

seq 要素は順番にレンダリングされるメディアオブジェクトが含まれている。

要素名

seq

使用方法

ひとつ以上の seq 要素は bodyseq 要素の子に出現してもよい(MAY)

属性
epub:type [省略可]

EPUB コンテンツ ドキュメント内の対応する要素の構造的な意味の語句。

値はプロパティ [[!Packages32]] の種類が空白で区切られたリストである。詳細については意味の変化を参照されたい。

id [省略可]

要素の ID [[!XML]] はドキュメントのスコープ内で一意でなければならない(MUST)。

epub:textref [必須]

対応する EPUB コンテンツ ドキュメントの相対的な IRI 参照 [[!RFC3987]] は、[[!XPTRSH]] のように明確な要素を参照するフラグメント識別子を含んでいる。

詳細情報は、構造を参照されたい。

コンテンツモデル

記述順序:

  • seq [0個以上]

  • par [0個以上]

少なくともひとつの par または seq が必須(REQUIRED)である。

par 要素

par 要素は並列にレンダリングされるメディアオブジェクトが含まれている。

要素名

par

使用方法

0個以上の par 要素は bodyseq 要素の子に出現してもよい(MAY)

属性
epub:type [省略可]

EPUB コンテンツ ドキュメント内の対応する要素の構造的な意味の語句。

値はプロパティ [[!Packages32]] の種類が空白で区切られたリストである。詳細については意味の変化を参照されたい。

id [省略可]

要素の ID [[!XML]] はドキュメントのスコープ内で一意でなければならない(MUST)。

コンテンツモデル

記述順序:

  • text [正確にひとつ]

  • audio [0または1]

audio 要素は音声や動画メディア(埋め込まれたメディアを参照)またはテキスト読み上げ (TTS) 経由でレンダリングされた対象となる原文のコンテンツを参照している兄弟 text 要素がある場合に限り省略可能(OPTIONAL)である。

text 要素

text 要素は EPUB コンテンツ ドキュメント内を参照する要素。text 要素は通常、テキスト要素を参照するだけでなく、他の EPUB コンテンツ ドキュメントのメディア要素(埋め込まれたメディアを参照)を参照できる。

要素名

text

使用方法

par 要素の必須(REQUIRED)の子。

属性
src [必須]

対応する EPUB コンテンツ ドキュメントの相対的な IRI 参照 [[!RFC3987]] は、[[!XPTRSH]] のように明確な要素を参照するフラグメント識別子を含んでいる。

id [省略可]

要素の ID [[!XML]] はドキュメントのスコープ内で一意でなければならない(MUST)。

コンテンツモデル

audio 要素

audio 要素はオーディオメディアのクリップを表している。

要素名

audio

使用方法

音声又は映像メディアを参照している兄弟 text 要素やテキスト読み上げ(TTS)を介してレンダリングすることを意図したテキスト コンテンツである場合を除き、par 要素の必須(REQUIRED)の子は、省略可能(OPTIONAL)である(埋め込まれたメディアを見よ)。

属性
id [省略可]

要素の ID [[!XML]] はドキュメントのスコープ内で一意でなければならない(MUST)。

src [必須]

音声ファイルの相対的または絶対的 IRI 参照 [[!RFC3987]]。音声ファイルは、コア メディア タイプ リソース [[!EPUB32]] 表に記載されている音声フォーマットのいずれかでなければならない(MUST)。

clipBegin [省略可]

音声クリップの開始地点に一致する物理的メディアへのオフセットを記述するクロック値。

[[!SMIL3]] クロック値でなければならない(MUST)

付録 B クロック値の例を見よ。

clipEnd [省略可]

音声クリップの終了地点に一致する物理的メディアへのオフセットを記述するクロック値。

[[!SMIL3]] クロック値でなければならない(MUST)

付録 B クロック値の例を見よ。

終了位置の時系列オフセットは clipBegin 属性で指定された開始オフセットの後でなければならない(MUST)。

コンテンツモデル

メディア オーバーレイの制作

導入

出版物の録音済みナレーションは EPUB コンテンツ ドキュメントの一部のそれぞれに対応する音声クリップの連続として表すことができる。単一の音声クリップは、例えば、一般的に単一のフレーズや段落を表現するが、他のクリップや文書のテキストに対する相対的な順番を推測しない。メディア オーバーレイは [[SMIL3]] マークアップを使用し、EPUB コンテンツ ドキュメント内の対応するテキスト(または他のメディア)に構造化された音声ナレーションを紐付けることにより、同期のこの問題を解決する。メディア オーバーレイは、実際には、これらのクリップの再生順序を定義することを許可する SMIL 3.0 の単純化したサブセットである。

メディア オーバーレイを構成するために使用される主要な SMIL 要素は body (主な再生順序のために使用される)、seq (再生順序)と par (並列再生)である。(これらと他の SMIL 要素のより詳細な情報は メディア オーバーレイ ドキュメントの定義を参照されたい。)

par 要素はオーバーレイの基本構成単位であり、EPUB コンテンツ ドキュメントのフレーズに対応している。要素は 1) フレーズのためのナレーションを含んだ音声クリップと 2) EPUB コンテンツ ドキュメント フラグメントに結びつけられたポインターという同期コンテンツの二つの重要な要素を提供する。par 要素はこの情報を表現する audio 要素と text 要素という2つのメディア子要素を使用する。par 要素は並列にこれら子要素を表現するので、音声クリップと EPUB コンテンツ ドキュメント フラグメントは同期プレゼンテーションの結果、同時に再生される。

text 要素の src 属性は IRI 参照によって EPUB コンテンツ ドキュメントの関連したフレーズやセンテンス、または他のセグメントを参照する。audio 要素の src 属性は一致する音声クリップの位置を同様に参照し、省略可能(OPTIONAL)な clipBeginclipEnd 属性はクリップ内の特定のオフセットを示すために追加する。

par 要素はフレーズまたはセンテンスの連続を形成するために順番に一緒に配置される。全ての EPUB コンテンツ ドキュメントの要素が、音声ナレーションに関連するだけのメディア オーバーレイの par 要素に対応するとは限らない。

par 要素は部や章など、より複雑な構造を定義する seq 要素に追加することもできる(構造を見よ)。

EPUB コンテンツ ドキュメントとの関係

このセクションでは、EPUB コンテンツ ドキュメントXHTML コンテンツ ドキュメントと仮定する。メディア オーバーレイは SVG コンテンツ ドキュメントで利用できるが、再生の動作は一貫性のないものかもしれず、そのために相互運用性も保証されない。

構造

メディア オーバーレイ ドキュメントの body は、par 要素と seq 要素の、二つの要素から成る。これら要素の順番は、EPUB コンテンツ ドキュメントのデフォルトの読み上げ順と一致しなければならない(MUST)。

par 要素は、フレーズを表す。各要素は、再生中に同期させるテキストとオーディオのコンポーネントを識別する。

seq 要素は、シークエンスを表す。セクション、アサイド、ヘッダー、脚注(footnote)などの、ネストされたコンテナを表すために使用される。これらコンテナに固有の構造は、メディア オーバーレイ ドキュメント内に保持できる。

seq 要素は、epub:textref 属性を含まなければならない(MUST)。この属性の IRI [[!RFC3987]] 値は、EPUB コンテンツ ドキュメント内の対応する構造要素を参照しなければならない(MUST)。seq 要素は、同期指示を提供しないので、この属性は、リーディング システムに、テキスト内の位置へ要素を一致させることができる。

次の例では、セクションのヘッダーと図の両方を持つ章を表現したネスト化された seq 要素を含むメディア オーバーレイ ドキュメントを示している。

<smil xmlns="http://www.w3.org/ns/SMIL" xmlns:epub="http://www.idpf.org/2007/ops" version="3.0">
    <body>

        <!-- a chapter -->
        <seq id="id1" epub:textref="chapter1.xhtml#sectionstart" epub:type="chapter">

            <!-- the section title -->
            <par id="id2">
                <text src="chapter1.xhtml#section1_title"/>
                <audio src="chapter1_audio.mp3"
                       clipBegin="0:23:23.84"
                       clipEnd="0:23:34.221"/>
            </par>

            <!-- some sentences in the chapter -->
            <par id="id3">
                <text src="chapter1.xhtml#text1"/>
                <audio src="chapter1_audio.mp3"
                       clipBegin="0:23:34.221"
                       clipEnd="0:23:59.003"/>
            </par>
            <par id="id4">
                <text src="chapter1.xhtml#text2"/>
                <audio src="chapter1_audio.mp3"
                       clipBegin="0:23:59.003"
                       clipEnd="0:24:15.000"/>
            </par>

            <!-- a figure -->
            <seq id="id7" epub:textref="chapter1.xhtml#figure">
                <par id="id8">
                    <text src="chapter1.xhtml#photo"/>
                    <audio src="chapter1_audio.mp3"
                           clipBegin="0:24:18.123"
                           clipEnd="0:24:28.764"/>
                </par>
                <par id="id9">
                    <text src="chapter1.xhtml#caption"/>
                    <audio src="chapter1_audio.mp3"
                           clipBegin="0:24:28.764"
                           clipEnd="0:24:50.010"/>
                </par>
            </seq>

            <!-- more sentences in the chapter (outside the figure) -->
            <par id="id12">
                <text src="chapter1.xhtml#text3"/>
                <audio src="chapter1_audio.mp3"
                       clipBegin="0:25:45.515"
                       clipEnd="0:26:30.203"/>
            </par>
            <par id="id13">
                <text src="chapter1.xhtml#text4"/>
                <audio src="chapter1_audio.mp3"
                       clipBegin="0:26:30.203"
                       clipEnd="0:27:15.000"/>
            </par>

        </seq>
    </body>
</smil>

seq 要素内のセクション、図、表組や注釈のようなグループ化した構造にする理由は、それらの開始位置と終了位置を再生する時に識別できるようにするためである。リーディング システムは、例えば長い図を読み飛ばしたり、改ページのアナウンスの解釈を停止させたり(読み飛ばし機能と回避機能を参照)、または例えば表組など一揃いの構造に合わせて読み取りのモードをカスタマイズするように、特定のレンディションのレイアウトにあわせて再生のオプションを提供できる。

粒度

メディア オーバーレイ text 要素 の src 属性は ID [[XML]] によって EPUB コンテンツ ドキュメントの要素を参照する。メディア オーバーレイの粒度レベルは、どのように EPUB コンテンツ ドキュメントをマークアップしているかによって異なる。マークアップの最高のレベルが段落レベルであるならば、それはメディア オーバーレイの同期が生み出すことのできる最も良いレベルである。同様に、小段落のマークアップに、例えば [[HTML]] の span 要素で表現されるフレーズやセンテンスなどが利用できるならば、それはメディア オーバーレイ内で可能なより良い粒度である。より良い粒度はユーザーに、単語またはフレーズによるナビゲーションやテキストの検索、同期再生のための正確な結果を与えるが、メディア オーバーレイ ドキュメントのファイルサイズは増加する。

埋め込まれたメディア

メディア オーバーレイに関連付けられた全ての EPUB コンテンツ ドキュメントは、動画、音声、画像などの埋め込みメディアを含んでもよい(MAY)。メディア オーバーレイ text 要素は ID [[!XML]] 値によって埋め込みメディアを参照する場合に使用してもよい(MAY)。

text 要素が音声を含む埋め込みメディアを参照する時、audio 兄弟要素は省略可能(OPTIONAL)である。

製作者は、メディア オーバーレイの再生動作と衝突するかもしれないので、参照される埋め込まれた EPUB コンテンツ ドキュメント メディアの再生を制御するスクリプトを使用することは避けるべきである(SHOULD)。

テキスト読み上げ

この仕様は録音済み音声クリップに加えてテキスト読み上げ(TTS) の使用を許可している。audio 兄弟要素を含まないメディア オーバーレイの text 要素が対象となる EPUB コンテンツ ドキュメント内部の要素を参照する時、参照された要素のコンテンツは TTS を経由してレンダリングできなければならない(MUST)。たとえば、テキストの EPUB コンテンツ ドキュメント要素もしくはテキストのフォールバックを含めることができる。

意味の変化

意味の変化を表現するために epub:type 属性 [[!ContentDocs32]] を、メディア オーバーレイの parseqbody 要素に付与してもよい(MAY)。

メディア オーバーレイの epub:type 属性値は EPUB コンテンツ ドキュメント内の epub:type 属性と同じように制限される。詳細については 意味の変化 [[!ContentDocs32]] を参照されたい。

epub:type 属性は、セマンティック型が示すリーディング システムの適した動作を手助けする。これらの動作の例としては読み飛ばし機能と回避機能Noteである。

この仕様は変更されていない語彙の関連付け [[!ContentDocs32]] で定義された語彙の関連付けメカニズムを採用する。初期設定の語彙 の用語は、オーバーレイ ドキュメント内で接頭辞を付けずに使用しなければならない(MUST)。

メディア オーバーレイは、ルート smil 要素の epub:prefix 属性でそれらを定義することによって、追加の語彙を使用してもよい(MAY)。

スタイル情報の関連付け

現在再生している EPUB コンテンツ ドキュメント要素の視覚的なレンダリング情報は、製作者が定義したクラスを使用して CSS スタイル シートで表現してもよい(MAY)。著者が定義したクラス名はメタデータプロパティの active-classplayback-active-class [Overlays Vocab] を使用している パッケージ ドキュメントのメタデータ内に宣言すべきである(SHOULD)。それによりクラス名が、リーディング システムによって発見可能となる。

active-class 及び playback-active-class プロパティは、常にレンディション全体に適用されるとみなされるので、refines 属性 [[!Packages32]] と一緒に使用してはならない(MUST NOT)。

この例では著者が現在再生している EPUB コンテンツ ドキュメントにスタイルの情報を関連付けることができる方法を示している。

この例では -epub-media-overlay-active-epub-media-overlay-playing を使用しているが、任意のクラス名が許可されている。クラス名の選択は、任意にサポートされている CSS の機能と共に使用できる。

この例では、リーディング システムが、それが再生時にアクティブになった時、EPUB コンテンツ ドキュメントの各テキスト要素に著者が定義した -epub-media-overlay-active クラスを適用する。つまり、クラス名は要素がアクティブでない時は取り除かれる。読者はその要素が再生中は黄色の背景でスタイル付された各 EPUB コンテンツ ドキュメント要素を見ることができる。

リーディング システムはまた、メディア オーバーレイの再生を開始するとき、EPUB コンテンツ ドキュメントのドキュメントの要素に製作者が定義した -epub-media-overlay-playing クラスも適用する。クラス名は、再生を止めたとき、削除される。XHTML コンテンツ ドキュメントの場合、クラス名は、html 要素に適用されるであろう。SVG コンテンツ ドキュメントの場合、それは、svg 要素に適用されるであろう。読者は、メディア オーバーレイを再生する間、非アクティブな全てのテキスト要素は灰色に反転して見えるであろう。再生を止めたとき、要素の色は、初期設定に戻るであろう。

パッケージング

メディア オーバーレイを含める

EPUB コンテンツ ドキュメントが、メディア オーバーレイによって全体または一部分が参照されている場合、そのマニフェスト item 要素 [[!Packages32]] は、media-overlay 属性を包含しなければならない(MUST)。属性は、対応するメディア オーバーレイ ドキュメントのマニフェスト item の ID [[!XML]] を参照しなければならない(MUST)。

media-overlay 属性は、EPUB コンテンツ ドキュメントを参照していないマニフェスト item 要素に付けてはならない(MUST NOT)

メディア オーバーレイ ドキュメントのためのマニフェスト項目は、メディア タイプ application/smil+xml を持たなければならない(MUST)。

パッケージ メタデータ

パッケージ ドキュメントは、duration プロパティを持つ meta 要素内にレンディション全体の時間を包含しなければならない(MUST)。

加えて、関連するメディア オーバーレイを持つ各 EPUB コンテンツ ドキュメントの持続時間を提供しなければならない(MUST)。refines 属性 [[!Packages32]] は、対応するマニフェスト item [[!Packages32]] へ、各持続時間の宣言を関連付けるために使用される。

製作者はまた、現在再生している EPUB コンテンツ ドキュメントの要素に適用する、製作者が定義した CSS のクラス名だけでなく、パッケージ ドキュメントに narrator 情報を包含してもよい(MAY)。

プリフィックス media: は、パッケージ メタデータ内にあるこれらプロパティを内包するため、[[Packages32]] で予約済みである。

再生の動作

メディア オーバーレイの読み込み

EPUB リーディング システムパッケージ ドキュメントを読み込む時、それは EPUB コンテンツ ドキュメントに対応するメディア オーバーレイを見出するために マニフェスト item 要素media-overlay 属性を参照しなければならない(MUST)。再生は目的の EPUB コンテンツ ドキュメントの開始地点に対応するメディア オーバーレイの要素から開始しなければならない(MUST)。EPUB コンテンツ ドキュメントの開始は開始時もしくはメディア オーバーレイの真ん中にある要素に対応してもよい(MAY)ことに注意されたい。メディア オーバーレイ ドキュメントが再生を終了する時、リーディング システムは(パッケージ ドキュメントのスパインに指定してある)次の EPUB コンテンツ ドキュメントを読み込むべきであり(SHOULD)、そして同様にそれに対応するメディア オーバーレイ ドキュメントのいずれかを提供し、読み込む。

基本的な再生

タイミングと同期

リーディング システムは順番に body 要素の直下の子をレンダリングしなければならない(MUST)。seq 要素の子は順番にレンダリングされなければならず(MUST)、そして最後の子の再生が終了した時に再生は完了する。par 要素の子は(それぞれが同時に開始して)並列にレンダリングされなければならなず(MUST)、そして全ての子の再生が終了した時に再生は完了する。body 要素の最後の子の再生を完了する時、メディア オーバーレイ ドキュメントの再生は完了する。

音声のレンダリング

メディア オーバーレイの audio 要素を示された時、リーディング システムは clipBegin 属性によって与えられるクリップのオフセットタイム(時間偏差)から開始し、clipEnd 属性によって与えられるクリップのオフセットタイム(時間偏差)で終了する src 属性によって参照される音声リソースを再生しなければならない(MUST)。以下の規則は守らなければならない(MUST):

  • clipBegin が指定されていないとき、その値は "0" みなされる。

  • clipEnd が指定されていないとき、その値は物理メディアの全体の長さとみなされる。

  • clipEnd が物理メディアの全体の長さを超えるとき、その値は物理メディアの全体の長さとみなされる。

ユーザーがコントロール可能な音声の再生オプションは、再生速度がピッチにより歪まないタイムスケールの変更を含めるべきである(SHOULD)。推奨範囲は半分から倍の速度である。

EPUB コンテンツ ドキュメント要素のレンダリング

メディア オーバーレイの text 要素が示されたら、リーディング システムはビューポート内に出現する src 属性によって参照される EPUB コンテンツ ドキュメント要素を確保するべきである(SHOULD)。メディア オーバーレイを再生している間、ビューポートを持つリーディング システムは EPUB コンテンツ ドキュメントの適切な要素に、メタデータの active-classplayback-active-class プロパティによって与えられるクラス名を付与するべきである(SHOULD)。逆に言えば、クラス名はスタイル情報の関連付けに記載されているとおり、再生状態が変化した時に、削除するべきである(SHOULD)。

メタデータの active-classplayback-active-class プロパティは省略可能(OPTIONAL)で、省略した場合、リーディング システムの動作は実装依存である。

EPUB コンテンツ ドキュメントとの相互作用

ナビゲーション

メディア オーバーレイは EPUB コンテンツ ドキュメントと密接に結合されているので、メディア オーバーレイが再生している現在位置に基づき EPUB コンテンツ ドキュメント内の位置を見つけるのはリーディング システムにはとても容易である。ユーザーが同期再生を中止し、EPUB 出版物の別の場所に移動したら、同期再生はそのポイントで再生を再開しなければならない(MUST)。例えば、EPUB コンテンツ ドキュメントの特定のページ番号が適切な場所なら、そのとき、メディア オーバーレイでの同じ場所へ移動して再生が開始される。

これと同様のアプローチとして、EPUB ナビゲーション ドキュメント内のナビゲーションポイントを読者が選択し、メディア オーバーレイの再生を同期することも考慮しておく。リーディング システムはそのファイルをメディア オーバーレイを読み込み、ナビゲーションポイントのターゲットの ID [[!XML]] に基づいて再生を開始するために正しい位置を見つける。

メディア オーバーレイ ドキュメントは XHTML コンテンツ ドキュメントスパイン内に含まれているかどうかに関わらず、そのコンテンツの同期再生を提供するためにナビゲーション ドキュメントと直接結びつけることができる。詳細の情報は、EPUB ナビゲーション ドキュメントを見よ。

メディア オーバーレイ ドキュメント要素は、例えば表組など、EPUB コンテンツ ドキュメントの構造物と結びつけることができる。リーディング システムは、メディア オーバーレイの再生は表組の列やセルのユーザーによるナビゲーションと同期した状態を確保する必要がある。リーディング システムはまた、セルのコンテンツに先立って、対応する表組の見出しを再生するかもしれない。

埋め込まれた音声と動画

メディア オーバーレイが結びついている EPUB コンテンツ ドキュメントは、それ自身に埋め込まれた動画や音声メディアを含んでもよく(MAY)、それはメディア オーバーレイ要素で指示されてもよい(MAY)。テキストや画像とは異なり、動画や音声メディアは本質的に時間を持っている。それ故に、リーディング システムがメディア オーバーレイの記述により同期のレンダリングをするとき、関連付けられている EPUB コンテンツ ドキュメントは埋め込まれている音声や動画メディアの初期設定の再生の動作を上書きしなければならない(MUST)。

以下の規則は関連付けられている EPUB コンテンツ ドキュメントが参照している [[!HTML]] の video または audio 要素のみ適用されることに注意されたい。つまり、規則はメディア オーバーレイ(例えば、src 属性を介して)内の text 要素によって指示されるそれらの要素のみ適用する。メディア オーバーレイ要素によって参照されない埋め込まれたメディアはこれらの規則の対象ではない。

  • EPUB コンテンツ ドキュメントに埋め込まれた全ての参照されている音声と動画メディアは、そのパブリックな再生インターフェース(一般的に再生/一時停止、タイムスライダ、音量など)が無効になっていなければならない(MUST)。この動作は、メディア オーバーレイによって定義され予定されている再生シークエンスとユーザーのインタラクションやスクリプトの実行による任意の再生動作との干渉を避けるために必要である。結果として、リーディング システムが再生モードにあるとき、これらを行うべきである(SHOULD):

    • [[!HTML]] の controls 属性によって定義された初期設定の動作を上書きする個々の動画/音声の UI コントロールを非表示にする。

    • JavaScript の音声/動画再生 API(すなわち、初期設定の動作の一部として記述されている)を起動することにより EPUB コンテンツ ドキュメントに埋め込まれているスクリプトが実行されるのを防ぐ。コンテンツの制作者は埋め込まれた音声/動画メディアの再生をコントロールするために専用のスクリプトを埋め込んで出版することを避けることを推奨する(RECOMMENDED)。発行されたメディア オーバーレイはスクリプトが可能にするカスタム動作からの干渉のいかなるリスクもなしに同期した表示の全てのコントロールを保持できる。

  • EPUB コンテンツ ドキュメントに埋め込まれた全ての参照されている音声と動画メディアは、それらの"停止"状態に初期化され、それらのコンテンツの流れの中で0位置(おそらく [[!HTML]] の poster 属性を使用して指定する画像)からいつでも再生されなければならない(MUST)。この要件は [[!HTML]] の autoplay 属性で定義されている初期設定の動作を上書きする。

  • EPUB コンテンツ ドキュメントがアクティブになる時、CSS スタイル シートの視覚を強調するルールは、その要素の src 属性によって参照されるコンテンツ タイプにかかわらず適用する(例えば、メタデータの active-class プロパティによって定義された CSS クラス名は、ホストの EPUB コンテンツ ドキュメントの中で可視化されている動画と音声のプレーヤーのコントロールに適用されるべきである(SHOULD))。

  • テキストの断片や画像によるメディア オーバーレイの起動の初期設定の動作加えて、音声や動画の再生は(標準の [[!SMIL3]] のタイミングモデルに従い)記述されているメディア オーバーレイの同期によって暗示される時間と一致して起動や停止をしなければならない(MUST)。2つの可能なシナリオがある:

    • メディア オーバーレイの text 要素が par の親コンテナ内に audio の兄弟を持たないとき、参照される EPUB コンテンツ ドキュメントの音声や動画メディアは(text 要素のライフスパンの末端の場所)終わりまで再生しなければならない(MUST)。この場合、text 要素、すなわち親の par コンテナの潜在的な時間は、参照された音声もしくは動画クリップの時間である。

    • メディア オーバーレイの text 要素が par の親コンテナ内に audio の兄弟を持っているとき、参照される EPUB コンテンツ ドキュメントの音声や動画メディアの再生の時間は audio の兄弟の時間によって制限されなければならない(MUST)。この場合、親の par コンテナの実際の時間は、text 要素によって指し示された動画もしくは音声メディアの時間にかかかわらず子の音声クリップの時間である。この動作は(全時間に到達する前より)早く終点の再生が埋め込まれた動画もしくは音声メディアに生じることができ、また、並列なメディア オーバーレイ audio の再生以前の終点は完了する(この際、最後に再生される動画のフレームが、親の par コンテナの末端を表示したままにするべきである(SHOULD))。この動作は、[[!SMIL3]] の endsync 属性の動作を暗黙に引き継ぐメディア オーバーレイの audio 要素に相当する。

      さらに、リーディング システムは、音声出力が聴き手の要求と合致するよう調整できるように、それぞれ独立した音声トラック(すなわち、メディア オーバーレイの audio 要素や EPUB コンテンツ ドキュメント内に埋め込まれている音声もしくは動画メディアから)の音量のための読者のコントロールを公開するべきである(SHOULD)。音声トラックを重複して持つのは、一般的にオーサリング時に関係しているのに注意されたい。コンテンツ制作者は通常、説明の目的のため動画トラック上に音声情報のレイヤーを加える。リーディング システムは任意の特定の方法で同時に音量レベルを処理することは必須ではなく(NOT REQUIRED)、重複した音声の状態は制作段階で慎重に検討し取り扱うことを推奨する(RECOMMENDED)。

  • text 要素がメディア オーバーレイ内でアクティブでなくなったとき、そして埋め込まれている動画や音声メディアを指しているとき、参照されているメディアは、それらの「停止」状態に初期化され、それらのコンテンツの流れの中でゼロ位置(おそらく [[!HTML]] マークアップ を使用して指定する画像)からいつでも再生されなければならない(MUST)。

テキスト読み上げ

audio 兄弟要素を含まないメディア オーバーレイ text 要素が対象となる EPUB コンテンツ ドキュメント内部のテキストを参照する時、テキスト読み上げ(TTS) を利用できるリーディング システムは TTS を使用して参照したテキストをレンダリングするべきである(SHOULD)。

リーディング システムの適合性要件のように、対象となる EPUB コンテンツ ドキュメントの中に準備されたスピーチを関連付ける情報はメディア オーバーレイ レンダリングの一部として音声ストリームの再生に使用されるべきである(SHOULD)。リーディング システムのテキスト読み上げの適合性要件 [[!EPUB32]] を参照。

メディア オーバーレイの text 要素のライフスパンは、結びついている音声合成のレンダリング時間に一致する。text 要素、すなわち親の par 要素の潜在的な時間は、テキスト読み上げエンジンの遂行によって決定され、音声出力に影響するスピーチ速度、停止や他の韻律パラメータのような要因をオーサリング時に知ることできない。

読み飛ばし機能と回避機能

読み飛ばし機能

読書する間に、ユーザーは、脚注(footnote)、ページ番号(page number)または他の二次的な種類のコンテンツのようなコンテンツの特定の機能をオンまたはオフにすることかもしれない。この機能は読み飛ばし機能と呼ばれている。リーディング システムはユーザーがスキップ可能な機能のオプションを提供するかを決定するためのメディア オーバーレイ要素の epub:type 属性によって提供される意味情報を使用するべきである(SHOULD)。

次の非網羅的なリストは、リーディング システムがスキップ可能のオプションを提供する [[!EPUB-SSV]] から用語を説明している。

  • footnote

  • endnote

  • pagebreak

epub:type 値に基づいた読み飛ばし機能のためのリーディング システムのサポートは、想定するべきではない(SHOULD NOT)。

回避機能

回避可能な項目は、ユーザーがスキップし、ネストされた構造の直後のポイントから読みの継続を望むかもしれない、例えば表やリストなどのネストされた構造である。回避機能は全ての種類の項目を使用可能または無効にするわけではないので読み飛ばし機能とは異なるが、(たとえばユーザーが回避する前にコンテンツの一部を聞くことができるなど)そこからの出口を提供する。

リーディング システムは入れ子構造の回避を許可するべきである(SHOULD)。リーディング システムは epub:type 属性の値によって入れ子構造の開始位置を決定しなければならず(MUST)、そして構造をスキップ再生し、その後にあるコンテンツの再生を再開するオプションをユーザーに提供するべきである(SHOULD)。

次の非網羅的なリストは、リーディング システムが回避可能なオプションを提供する [[!EPUB-SSV]] から用語を説明している。

  • table

  • table-row

  • table-cell

  • list

  • list-item

  • figure

EPUB ナビゲーション ドキュメント

EPUB ナビゲーション ドキュメントは、XHTML コンテンツ ドキュメントであり、それ故に、オーディオのメディア オーバーレイと関連付けることができる。しかしながら、従来の XHTML コンテンツ ドキュメントとは異なり、リーディング システムは、それがスパインに包含されていなくても、ユーザーに EPUB ナビゲーション ドキュメントを表示する必要がある(EPUB Navigation Documents — リーディング システムの適合性 [[!Packages32]] を見よ)。結果として、関連付けられたメディア オーバーレイが動作する方法は、コンテクストに応じて変化する可能性がある。

特定の実装の詳細は、この仕様の範囲を超えている。DAISY Media Overlays Playback Requirements ドキュメントは、製作者のためのベストプラクティスを説明し、リーディング システム開発者のための推奨を提供している。

メディア オーバーレイのスキーマ

メディア オーバーレイのスキーマは https://github.com/w3c/epubcheck/tree/master/src/main/resources/com/adobe/epubcheck/schema/30/media-overlay-30.nvdl である。

このスキーマを使用する検証は [[!NVDL]]、[[!RelaxNG-Schema]]、[[!ISOSchematron]] と [[!XMLSCHEMA-2]] をサポートするプロセッサが必要になる。

NVDL スキーマレイヤーは単独で埋め込まれた RELAX NG と ISO Schematron スキーマを使用して、マルチパスの検証することで代用できることに注意されたい。

クロック値の例

以下は許可されたクロック値の例を示している: