(57)【要約】【課題】ネットワークを介して配信される複数のビデオソースを受信して連続的に再生する。【解決手段】ネットワーク２０を経由してシナリオ管理部１１に読み込まれた再生シナリオに記載された再生情報の中から、コンテンツ中で連続再生されるビデオソースＶｍと、ビデオソースＶｍの表示時間を抽出し、表示時間順に並び替え、複数のデコーダモジュールＤｎへのビデオソースＶｍの配分と再生スケジュール、切替スイッチ１２の切替スケジュールを決定し、複数のビデオソースＶｍを連続的に再生する。【選択図】　　　　図１
2004140536.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して配信される複数の動画像情報を受信して再生する再生装置において、
前記動画像情報を復号する複数のデコーダモジュールと、
複数の前記動画像情報の再生情報が記載された再生シナリオを読み込み、前記再生情報に応じて再生スケジュールを決定し、複数の前記デコーダモジュールへの前記動画像情報の配分及び前記デコーダモジュールからの出力の切り替え制御を行うシナリオ管理部と、
前記切り替え制御に応じて複数の前記デコーダモジュールからの出力を切り替える出力切替部と、
前記ネットワークを介して、前記再生シナリオの配信要求、前記再生シナリオの受信、前記動画像情報の配信要求及び前記動画像情報の受信を行う通信処理部と、
前記動画像情報を出力する出力部と、
を有することを特徴とする再生装置。
【請求項２】
前記シナリオ管理部は、時間的に隣接する前記動画像情報を異なる前記デコーダモジュールで再生するような前記再生スケジュールを決定することを特徴とする請求項１記載の再生装置。
【請求項３】
前記シナリオ管理部は、それぞれの前記デコーダモジュールが初期状態から前記動画像情報を画像として出力できるまでの初期化時間と、前記出力を終了して前記初期状態に戻るまでの終了時間をもとに、前記動画像情報を復号する前記デコーダモジュールを選択することを特徴とする請求項１記載の再生装置。
【請求項４】
前記シナリオ管理部は、ストリーミングサーバ毎の前記初期化時間と前記終了時間を、前記デコーダモジュールにおける実測値を用いて逐次更新する係数格納テーブルを有し、前記係数格納テーブルの係数値が更新されたときに、未表示の前記動画像情報について前記再生スケジュールを更新することを特徴とする請求項１記載の再生装置。
【請求項５】
ネットワークを介して配信される複数の動画像情報を受信して再生する再生方法において、
複数の前記動画像情報の再生情報が記載された再生シナリオを読み込み、
前記再生情報に応じて再生スケジュールを決定し、
前記再生スケジュールに従って、複数のデコーダモジュールへの前記動画像情報の配分及び前記デコーダモジュールからの出力の切り替え制御を行うことを特徴とする再生方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の動画像情報を再生する再生装置および再生方法に関し、特に、ネットワークを介して配信される複数の動画像情報を受信して再生する再生装置及び再生方法に関する。
【０００２】
【従来の技術】
近年、インターネットなどのネットワークを介して、音楽や動画などのコンテンツのストリーミング配信が盛んに行われている。
【０００３】
ストリーミング配信中のコンテンツに対するコマーシャルフィルムの挿入を行う場合など、複数の動画像情報（以下、ビデオソースと呼ぶ）を連続して再生する場合がある。
【０００４】
他にも、Ｗ３Ｃ（Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ　Ｃｏｎｓｏｒｔｉｕｍ）標準のＳＭＩＬ（Ｓｙｎｃｈｒｏｎｉｚｅｄ　Ｍｕｌｔｉｍｅｄｉａ　Ｉｎｔｅｇｒａｔｉｏｎ　Ｌａｎｇｕａｇｅ）などによるマルチメディアプレゼンテーション、ネットワークを利用したラーニングシステム（ｅ−Ｌｅａｒｎｉｎｇ）などで、複数のストリーミングビデオを連続して再生することが行われている。
【０００５】
従来の、複数ビデオソースをネットワーク経由で連続的に再生するストリーミングビデオ配信について説明する。
図１１は、従来のストリーミングビデオ配信システムの概略の構成図である。
【０００６】
従来のストリーミングビデオ配信システムは、クライアント（以下再生装置と呼ぶ）５００、ネットワーク６００、コンテンツサーバ７００、ストリーミングサーバ８００、から構成される。
【０００７】
再生装置５００は、さらに、通信処理部５１０、シナリオ管理部５２０、図示しないストリーミングバッファ、デコーダからなるデコーダモジュール５３０、出力部５４０から構成される。
【０００８】
なお、図１１では、データの流れを実線、制御信号の流れを点線で示した。
コンテンツサーバ７００に格納されている再生シナリオＳ１０が、シナリオ配信要求によってネットワーク６００を介して、再生装置５００の通信処理部５１０に送信される。再生シナリオＳ１０にはビデオソースＶｍ（ｍ＝１，・・・，Ｍ）の再生順序などが記載されており、例えばＭｉｃｒｏｓｏｆｔ社のメディア処理技術Ｗｉｎｄｏｗｓ　Ｍｅｄｉａ　ＴｅｃｈｎｏｌｏｇｙではＡＳＸファイルがこれに相当する。シナリオ管理部５２０では再生シナリオＳ１０に記載されたビデオの再生順序に従い、ストリーミングサーバ８００にストリーミングビデオの配信要求を通知する。ストリーミングサーバ８００から配信されるビデオソースＶｍは、ネットワーク６００の不安定さを緩和して安定したビデオ再生を行うためのデコーダモジュール５３０の図示しないストリーミングバッファに数秒〜数秒分のビットストリームとして一時格納された後、古いものから逐次、図示しないデコーダで処理され、出力部５４０で出力されディスプレイなどに表示される。
【０００９】
再生シナリオＳ１０に記載されたビデオソースＶｍの切り替えタイミングになると、シナリオ管理部５２０は、デコーダモジュール５３０に対して再生終了の制御を行う。これによりデコーダモジュール５３０は、図示しないストリーミングバッファに蓄積されたデータの消去や、デコーダの停止などの終了処理を行う。終了処理完了後、シナリオ管理部５２０は次のビデオソースＶｍをストリーム配信するようにストリーミングサーバ８００に要求するとともに、デコーダモジュール５３０に再生開始を指示する。
【００１０】
上記の場合のデコーダモジュール５３０の時間軸上で見た再生状態は以下のようになる。
図１２は、従来の複数ビデオソースの連続再生時でのデコーダモジュールの動作を説明する説明図である。
【００１１】
ビデオソースＶ１とビデオソースＶ２を連続再生する場合、前段のビデオソースＶ１が再生終了後に終了処理があり、その後にストリーミングサーバ８００との通信時間やビットストリームのバッファリングなどの総和である初期化処理があり、その後、ビデオソースＶ２の再生が開始される。
【００１２】
一方、従来、ビデオソースを指定位置からリピート再生させるに当たり、シームレスに動画の連続性を損なうことなく画像をつなぐことを目的とする情報再生装置がある（例えば、特許文献１参照。）。
【００１３】
特許文献１で開示されている情報再生装置では、２つのデコーダを有している。この２つのデコーダにおいて、一方でビデオソースを再生しながら他方でリピート後のビデオソースを再生しポーズ状態にしておく。リピート指示があったとき出力するデコーダを切り替えることで連続的なビデオソースの表示を可能とする。
【００１４】
【特許文献１】
特開２００１−２０３９７７（段落番号〔００１７〕〜〔００４０〕，第１図）
【００１５】
【発明が解決しようとする課題】
しかし、従来の再生装置において、図１２で示したように終了処理＋初期化処理の時間はビデオ画像が出力されない非表示区間となってしまい、連続的なビデオ再生ができないという問題があった。
【００１６】
初期化処理のうち、バッファリングに関しては配信系の改良により大幅に短縮されつつあるが、その他のタイムラグ要因は削減が困難な状況にある。
また、前述の特許文献１で開示されているような情報再生装置では、複数のデコーダを用いて、リピート指定位置からのビデオソースの連続再生を可能にしているが、ユーザによる指定によりリピート指定位置を決定するものであり、再生シナリオを入力して自動的に複数のビデオソースを連続して再生するものではない。
【００１７】
本発明はこのような点に鑑みてなされたものであり、複数のストリーミングビデオを非表示時間なく連続再生可能な再生装置を提供することを目的とする。
また、本発明の他の目的は、複数のストリーミングビデオを非表示時間なく連続再生可能な再生方法を提供することである。
【００１８】
【課題を解決するための手段】
本発明では上記課題を解決するために、図１に示すようなネットワーク２０を介して配信される複数のビデオソースＶｍ（ｍ＝１，…，Ｍ）を受信して再生する再生装置１０において、ビデオソースＶｍを復号する複数のデコーダモジュールＤｎ（ｎ＝１，…，Ｎ）と、複数のビデオソースＶｍの再生情報が記載された再生シナリオＳ１を読み込み、再生情報に応じて再生スケジュールを決定し、複数のデコーダモジュールＤｎへのビデオソースＶｍの配分及びデコーダモジュールＤｎからの出力の切り替え制御を行うシナリオ管理部１１と、切り替え制御に応じて複数のデコーダモジュールＤｎからの出力を切り替える出力切替部（以下切替スイッチと呼ぶ）１２と、ネットワーク２０を介して、再生シナリオＳ１の配信要求、再生シナリオＳ１の受信、ビデオソースＶｍの配信要求及びビデオソースＶｍの受信を行う通信処理部１３と、ビデオソースＶｍを出力する出力部１４と、を有することを特徴とする再生装置１０が提供される。
【００１９】
上記構成によれば、ネットワーク２０を経由してシナリオ管理部１１に読み込まれた再生シナリオに記載された再生情報の中から、コンテンツ中で連続再生されるビデオソースＶｍと、ビデオソースＶｍの表示時間を抽出し、表示時間順に並び替え、複数のデコーダモジュールＤｎへのビデオソースＶｍの配分と再生スケジュール、切替スイッチ１２の切替スケジュールを決定し、複数のビデオソースＶｍを連続的に再生する。
【００２０】
【発明の実施の形態】
以下本発明の実施の形態を図面を参照して説明する。
図１は、本発明の再生装置の原理構成図である。
【００２１】
本発明の再生装置１０は、インターネットなどのネットワーク２０を介して、再生シナリオＳ１を管理するコンテンツサーバ３０と、複数のビデオソースＶｍ（ｍ＝１，…，Ｍ）を管理するストリーミングサーバ４０と接続される。
【００２２】
なお、図１では、データの流れを実線、制御信号の流れを点線で示した。
再生装置１０は、デコーダモジュールＤｎ（ｎ＝１，…，Ｎ）、シナリオ管理部１１、切替スイッチ１２、通信処理部１３、出力部１４から構成される。
【００２３】
デコーダモジュールＤｎは、図示しないストリーミングバッファとデコーダを有し、符号化されたストリーミングビデオを復号する。
シナリオ管理部１１は、複数のビデオソースＶｍの再生情報が記載された再生シナリオＳ１を読み込み、再生情報に応じて再生スケジュールを決定し、デコーダモジュールＤｎへのビデオソースＶｍの配分及びデコーダモジュールＤｎからの出力の切り替え制御を行う。
【００２４】
切替スイッチ１２は、シナリオ管理部１１の切り替え制御に応じてデコーダモジュールＤｎからの出力を切り替える。
通信処理部１３は、ネットワーク２０を介して、再生シナリオＳ１の配信要求、再生シナリオＳ１の受信、ビデオソースＶｍの配信要求及びビデオソースＶｍの受信を行う。
【００２５】
出力部１４は切替スイッチ１２により選択されたデコーダモジュールＤｎでデコードされたビデオソースＶｍを、図示しないディスプレイなどに出力する。
以下、再生装置１０の動作を説明する。
【００２６】
再生装置１０が再生シナリオＳ１の配信を要求すると、コンテンツサーバ３０に格納された再生シナリオＳ１は、ネットワーク２０を経由して通信処理部１３に入力されてシナリオ管理部１１にダウンロードされる。シナリオ管理部１１は、再生シナリオＳ１を読み込むとこれを解析し、再生シナリオＳ１に記載された再生情報の中から、コンテンツ中で連続表示されるビデオソースＶｍと、ビデオソースＶｍの表示時間を抽出し、表示時間順に並び替える。次にストリーミングサーバ４０の表示までのタイムラグ（ΔＳ）と終了処理に必要な時間（ΔＥ）をもとに、複数のデコーダモジュールＤｎへのビデオソースＶｍの配分と再生スケジュール、切替スイッチ１２の切替スケジュールを決定する。
【００２７】
表１は、ビデオソースのデータ構造を示す表である。
【００２８】
【表１】
2004140536.tif 000003
【００２９】
ビデオソースＶｍを表すデータ構造は、表１のように、ビデオソースＶｍ実体の格納場所を示す“ＵＲＬ（Ｕｎｉｆｏｒｍ　Ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｏｒ）”、ユーザの視聴時の時間である全体時間（シナリオ時間）での再生開始時間を示す“ｓｔａｒｔ”、ビデオソースＶｍ内での時間であるビデオ時間での再生開始時間を示す“ｌｏｃａｌ＃ｓｔａｒｔ”、ビデオ再生時間を示す“ｄｕｒａｔｉｏｎ”、配分されるデコーダＩＤである“ｄｅｃｏｄｅｒ”とからなる。ここで、“ＵＲＬ”、“ｓｔａｒｔ”、“ｌｏｃａｌ＃ｓｔａｒｔ”、“ｄｕｒａｔｉｏｎ”は、再生シナリオに記載されており、“ｄｅｃｏｄｅｒ”は、シナリオ管理部１１が後述の方法でデータ構造に付け加える。
【００３０】
図２は、ビデオソースを示すデータ構造を説明する説明図である。
図のように、ユーザ視聴時には、ビデオソースＶｍのビデオ時間の“Ｖｍ．ｌｏｃａｌ＃ｓｔａｒｔ”と“Ｖｍ．ｄｕｒａｔｉｏｎ”で指定された再生区間が、シナリオ時間の“Ｖｍ．ｓｔａｒｔ”で指定された時間に組み込まれる。Ｍ個のビデオソースＶｍは“ｓｔａｒｔ”の順で昇順にソートされているものとする。
【００３１】
このとき複数のビデオソースＶｍのデコーダモジュールＤｎへの配分は、以下のようになる。
図３は、Ｍ個のビデオソースを、Ｎ個のデコーダモジュールに配分する方法を示すフローチャートである。
【００３２】
なお、以下では、ビデオソースＩＤをｍ（ｍ＝１，…，Ｍ）、デコーダＩＤをｎ（ｎ＝１，…，Ｎ）として説明を進める。
シナリオ管理部１１では、再生シナリオＳ１を読み込むと、配分するビデオソースＶｍのＩＤであるｍの初期値を設定する。ｍの初期値は、コンテンツ再生前に全ての配分を終えてしまう静的配分では１を、コンテンツ再生と同時にあるいは適宜再生シナリオが追加されるような動的配分では未配分のビデオソースＩＤのうち最小のものが適用される（ステップＳ１）。
【００３３】
次に、配分済みのビデオソースＶｍのうち、“Ｖｍ’．ＵＲＬ＝Ｖｍ．ＵＲＬ”かつ、“Ｖｍ’．ｓｔａｒｔ＋Ｖｍ’．ｄｕｒａｔｉｏｎ＝Ｖｍ．ｓｔａｒｔ”の条件（以下条件１と呼ぶ）を満たすｍ’を探す。つまり、ビデオソースＶｍと同じ格納場所にあり、終了時間がビデオソースＶｍの再生開始時間と一致するビデオソースＶｍ’があるか探す。ここで、上記の条件を満たすｍ’が存在する場合はステップＳ３に進み、上記の条件を満たすｍ’が存在しない場合は、ステップＳ４に進む（ステップＳ２）。
【００３４】
ステップＳ２において示した条件を満たす場合は、ビデオソースＶｍのデコードはビデオソースＶｍ’を再生していたデコーダモジュールと同一のものを用いればよいので、“Ｖｍ．ｄｅｃｏｄｅｒ←Ｖｍ’．ｄｅｃｏｄｅｒ”となりビデオソースＶｍのデコーダＩＤには、ビデオソースＶｍ’のデコーダＩＤを配分する（ステップＳ３）。
【００３５】
ステップＳ２において示した条件を満たすｍ’がない場合、時刻“Ｖｍ．ｓｔａｒｔ”における空きデコーダモジュールＤｎを抽出する。デコーダモジュールＤｎの直前の終了時間をＴとすると、“Ｖｍ．ｓｔａｒｔ−ΔＳ＞Ｔ＋ΔＥ”の条件を満たすデコーダモジュールＤｎを探す。つまり、ビデオソースＶｍの再生開始時間“Ｖｍ．ｓｔａｒｔ”に初期化処理のための時間“ΔＳ”を減じた時間が、デコーダモジュールＤｎの直前の終了時間Ｔに終了処理分の時間“ΔＥ”を加えた時間より（後述するマージンを考慮して）大きくなるようなデコーダモジュールＤｎを探す。ここで、上記の条件を満たすデコーダＩＤのｎが１個存在する場合はステップＳ５に進み、複数個存在する場合はステップＳ６に進み、条件を満たすｎが存在しない場合にはステップＳ７に進む（ステップＳ４）。ｎが１個だけ存在する場合は、そのデコーダＩＤに対応するデコーダモジュールＤｎで再生を行う。すなわち“Ｖｍ．ｄｅｃｏｄｅｒ←ｎ”となる（ステップＳ５）。ｎが複数個存在する場合には、上記の条件を満たすデコーダモジュールＤｎ中で最初に終了するデコーダＩＤを“Ｖｍ．ｄｅｃｏｒｄｅｒ”にセットする（ステップＳ６）。上記の条件を満たすｎが存在しない場合には、全デコーダモジュールＤｎ中で最初に終了するデコーダＩＤを“Ｖｍ．ｄｅｃｏｒｄｅｒ”にセットする（ステップＳ７）。ステップＳ５〜Ｓ７で“Ｖｍ．ｄｅｃｏｄｅｒ”をセットし終わると、ビデオソースＩＤのｍを＋１インクリメントする（ステップＳ８）。ここでｍ＞Ｍとなり、全てのビデオソースＶｍが配分し終わった場合、処理を終了し、ｍ≦Ｍの場合は、ステップＳ２からの処理を繰り返す（ステップＳ９）。
【００３６】
このようにすることで、複数のビデオソースＶｍを、複数のデコーダモジュールＤｎに配分することができる。
図４は、図３で示した配分方法を適用した場合の例を示す図である。
【００３７】
ここでは、ビデオソースＶ８〜Ｖ１２を複数のデコーダモジュールＤ１、Ｄ２、Ｄ３に配分する場合を示したものである。
なお、ダウンロードした再生シナリオＳ１によって、ビデオソースＶｍを抽出し表示時間順に並べかえられたものとする。
【００３８】
例えば、ｍ＝１１のビデオソースＶ１１を配分する場合、図３のステップＳ２で、“Ｖｍ’．ＵＲＬ＝Ｖ１１．ＵＲＬ”かつ“Ｖｍ’．ｓｔａｒｔ＋Ｖｍ’．ｄｕｒａｔｉｏｎ＝Ｖ１１．ｓｔａｒｔ”を満たすｍ’がない場合、ステップＳ４に進む。ここで、“Ｖ１１．ｓｔａｒｔ−ΔＳ＞Ｔ＋ΔＥ”を満たす空きデコーダモジュールＤｎは、デコーダＩＤがｎ＝１のデコーダモジュールＤ１しかないため、ステップＳ５に進み、デコーダモジュールＤ１に配分されデコードされる。
【００３９】
シナリオ管理部１１は、このように配分されたビデオソースＶ８〜Ｖ１２をデコードするデコーダモジュールＤ１、Ｄ２、Ｄ３を図４の下段に示したような切替スケジュールで、出力を切り替えるように切替スイッチ１２を制御することによって、シームレスなビデオ表示が可能になる。
【００４０】
図５は、デコーダモジュールの制御タイミングを説明する図である。
図４においては、例えばデコーダモジュールＤ１において、１つのビデオソースＶ８の終了処理が終わってからある程度時間をおいて、次のビデオソースＶ１１の初期化処理を開始するように図示されているが、実際には、図５のように、後段のビデオソースＶ１１の初期化は、前段のビデオソースＶ８の終了処理が終わり再利用可能になったときに開始する。
【００４１】
他のデコーダモジュールＤｎも同様に動作する。
また、ビデオソースＶｍの配分ルールにより、再生開始時点までには再生可能状態になっているはずであるが、ネットワーク遅延の発生など初期化時間には不確定要素があるため再生開始時間までに再生可能であることは保証できない。そのため複数のデコーダモジュールＤｎが利用可能なときに、未使用時間が長いデコーダモジュールＤｎにビデオソースＶｍを配分して、初期化が遅延したときのマージンを見込む。
【００４２】
図６は、初期化が遅延してマージンを超えた場合のデコーダモジュールの制御タイミングを説明する図である。
初期化が遅延して、あらかじめ見込んだマージンを超えた場合、つまり再生開始時点でも初期化が終了していない場合は、再生開始が遅れた分の時間だけ全体スケジュールの時間を遅らせて以後の処理を行う。遅延後にそれ以降のビデオソースを再配分してもよい。
【００４３】
次に本発明の具体的な実施の形態について説明する。
図７は、本発明の実施の形態の再生装置の構成図である。
本発明の実施の形態の再生装置１００は、シナリオサーバ２１０、ストリーミングサーバ２２０からなるコンテンツサーバ２００と接続される。
【００４４】
シナリオサーバ２１０は、再生シナリオを格納しており、表１で示したビデオソースＶｍを表すデータ構造のうち“ｄｅｃｏｄｅｒ”を除く情報を記述してあるものであり、ＣＳＶ形式、ＸＭＬ形式などのようなフォーマットで記載する。
【００４５】
表２は、ＣＳＶ形式で記述した再生シナリオの例である。
【００４６】
【表２】
2004140536.tif 000004
【００４７】
１行が１つのビデオソースＶｍであり、カンマで区切られた文字はそれぞれ、単位が秒の“ｓｔａｒｔ”、“ｌｏｃａｌ＃ｓｔａｒｔ”、“ｄｕｒａｔｉｏｎ”及び“ＵＲＬ”である。
ストリーミングサーバ２２０は、各種ビデオコンテンツを保存し、適宜ストリーミング配信を行うＲｅａｌＳｅｒｖｅｒ（ＲｅａｌＳｅｒｖｅｒはＲｅａｌＮｅｔｗｏｒｋｓ，Ｉｎｃ．の商標である）やＷｉｎｄｏｗｓ　Ｍｅｄｉａ　Ｓｅｒｖｅｒ（Ｗｉｎｄｏｗｓ　Ｍｅｄｉａ　Ｓｅｒｖｅｒは、米国Ｍｉｃｒｏｓｏｆｔ　Ｃｏｒｐｏｒａｔｉｏｎの商標である）などの既存製品が相当し、再生シナリオ次第で複数個のサーバを利用することになる。
【００４８】
再生装置１００は、ユーザインタフェース１１０、全体制御部１２０、シナリオパーザ１３０、同期コントローラ１４０、スケジューラ１５０、ビデオプレイヤ１６０、表示部１７０からなる。
【００４９】
なお、再生装置１００は、ＰＣ（パーソナルコンピュータ）であってもよいし、専用ハードウェアであってもよい。前者の場合、再生装置１００のユーザインタフェース１１０、全体制御部１２０、シナリオパーザ１３０、同期コントローラ１４０、スケジューラ１５０、ビデオプレイヤ１６０のうち全て、もしくは一部をＪａｖａ（登録商標）及びＪａｖａＳｃｒｉｐｔなどのダウンロード実行可能な言語で記述し、シナリオダウンロード前に各モジュールとしてダウンロードして実行するようにしてもよい。後者の場合はハードウェアモジュールとして実現される。
【００５０】
ここで、図７のシナリオサーバ２１０は、図１のコンテンツサーバ３０と対応しており、ストリーミングサーバ２２０は、ストリーミングサーバ４０と対応している。図７では、シナリオサーバ２１０とストリーミングサーバ２２０をまとめてコンテンツサーバ２００としている。また、図１のネットワーク２０は、図７では図示を省略した。
【００５１】
また、図７の再生装置１００において、ユーザインタフェース１１０、全体制御部１２０、シナリオパーザ１３０の一部の機能、同期コントローラ１４０、スケジューラ１５０は、図１のシナリオ管理部１１と対応しており、図１の通信処理部１３は図示を省略しているが、シナリオパーザ１３０の一部の機能がこれに相当する。また、ビデオプレイヤ１６０は、デコーダモジュールＤｎと、表示部１７０は出力部１４とそれぞれ対応している。
【００５２】
ユーザインタフェース１１０は、再生する再生シナリオの指定（ＵＲＬ入力）、再生シナリオの再生、停止、一時停止などをユーザが指示することを可能とする。例えば、図示しないキーボード、スイッチ、マウスなどがこれに接続される。
【００５３】
全体制御部１２０はユーザインタフェース１１０で入力したユーザからの指示を各モジュールへの動作指示に変換するモジュールである。
シナリオパーザ１３０は、再生シナリオの読み込み指示が成されるとシナリオサーバ２１０と通信して該当する再生シナリオをダウンロードし内部形式に変換する。再生シナリオの内部形式は例えば、前述の表１のビデオソースＶｍ（ｍ＝１，…，Ｍ）を表すデータ構造の配列が利用できる。また、再生シナリオを内部形式に変換する際に、同時に全体時間での再生開始時間である“ｓｔａｒｔ”による昇順ソートも行う。
【００５４】
同期コントローラ１４０は、全体制御部１２０を介して入力される、表１のような（ただし、“ｄｅｃｏｄｅｒ”を除く）複数のビデオソースＶｍのデータ（昇順ソート済み）をセットし、スケジューラ１５０で決定される再生スケジュールに従い、ビデオプレイヤ１６０の動作と出力を制御する。また、全体制御部１２０からの再生シナリオの再生、停止、一時停止の指示に応じて、ビデオプレイヤ１６０の動作を制御する。
【００５５】
スケジューラ１５０は、同期コントローラ１４０にセットされたビデオソースＶｍのデータをもとに、図３で説明した配分の方法により、複数のビデオソースＶｍをどのビデオプレイヤ１６０で再生するかのスケジューリングを行う。
【００５６】
ビデオプレイヤ１６０は、前述のストリーミングサーバ２２０に対応して複数存在し、同期コントローラ１４０の制御のもと、図示しないネットワークを介して入力されるビデオソースＶｍを、図示しないネットワークの不安定さを緩和して安定したビデオ再生を行うため、図示しないストリーミングバッファに数秒〜数十秒分のビットストリームとして一時格納された後、古いものから逐次デコード処理し、表示部１７０に出力する。
【００５７】
表示部１７０は、ビデオプレイヤ１６０でデコードされたビデオソースＶｍを図示しないディスプレイなどに表示する。
なお、本実施の形態では明示的に図１で示した切替スイッチ１２を設ける代わりに、全ビデオプレイヤ１６０の可視／不可視を制御することで同等の効果を得る。出力は表示部１７０によって重畳表示されるが、可視となるビデオプレイヤ１６０が１個であるように再生シナリオが設定されているために常に１つのビデオのみが表示される。
【００５８】
以下再生装置１００の動作を説明する。
ユーザインタフェース１１０により、再生シナリオのＵＲＬ入力があると全体制御部１２０は、シナリオパーザ１３０に再生シナリオの読み込みを指示する。シナリオパーザ１３０は、再生シナリオをシナリオサーバ２１０からダウンロードし内部形式に変換し、さらに全体時間の再生開始時間で複数のビデオソースＶｍを昇順ソートする。ソート終了した読み込んだ複数のビデオソースＶｍを表すデータは、全体制御部１２０経由で同期コントローラ１４０の再生対象としてセットされる。
【００５９】
同期コントローラ１４０の動作を説明する。
図８は、同期コントローラの状態遷移図である。
なお、符号Ｔ１〜Ｔ４は各状態を表す。
【００６０】
初期状態（状態Ｔ１）のときに、再生シナリオが読み込まれると、ビデオソースＶｍを表すデータが再生対象としてセットされ、状態Ｔ２に遷移する。状態Ｔ２は再生シナリオの停止状態である。このとき、周期起動はオフとなり、シナリオ時間が初期状態（Ｔｓ＝０．０ｓｅｃ）になる。状態Ｔ２において、全体制御部１２０から再生シナリオの再生指示があると、同期コントローラ１４０は、微小時間（Δｔ、例えば数ｍｓｅｃ）ごとに周期起動されるようになり、再生シナリオの再生状態（状態Ｔ３）となり、スケジューラ１５０で決定されたスケジューリングに応じてビデオプレイヤ１６０からの再生及び出力を開始する。ここで、全体制御部１２０により、再生シナリオの一時停止指定があると周期起動を中断し、かつシナリオ時間の増加も停止する（状態Ｔ４）。シナリオ停止指定があると、状態Ｔ２に遷移し、周期起動を中断し、かつシナリオ時間を初期状態（Ｔｓ＝０．０ｓｅｃ）に戻す。再生シナリオの一時停止状態（状態Ｔ４）のとき、全体制御部１２０より、再生指示があれば状態Ｔ３に遷移し、停止指定があれば状態Ｔ２に遷移する。
【００６１】
以下、再生状態（状態Ｔ３）について詳細に説明を行なう。
再生シナリオの再生状態では前述のように同期コントローラ１４０は、周期起動される。周期起動した時に再生シナリオの再生開始から経過時間をシナリオ時間Ｔｓに反映する。ここで、シナリオ時間Ｔｓと再生シナリオを構成するビデオソースＶｍの配列を比較し、以下に示す条件により“Ｖｍ．ｄｅｃｏｄｅｒ”で示したビデオプレイヤ１６０の挙動を決定する。
【００６２】
まず“Ｖｍ−１．ｓｔａｒｔ＋Ｖｍ−１．ｄｕｒａｔｉｏｎ≦Ｔｓ＜Ｖｍ．ｓｔａｒｔ”の場合（以下条件２と呼ぶ）、つまり前段のビデオソースＶｍ−１の再生が終了して、後段のビデオソースＶｍ−１の再生前の場合、ビデオソースＶｍ−１が停止中ならば、“Ｖｍ．ＵＲＬ”を設定しプリフェッチする。
【００６３】
“Ｖｍ．ｓｔａｒｔ≦Ｔｓ＜Ｖｍ．ｓｔａｒｔ＋Ｖｍ．ｄｕｒａｔｉｏｎ”の場合（以下条件３と呼ぶ）、つまりビデオソースＶｍ−１の再生中の場合は、ビデオローカル時間で“Ｖｍ．ｌｏｃａｌ＃ｓｔａｒｔ＋Ｖｍ．ｓｔａｒｔ−Ｔｓ”秒を再生する。
【００６４】
“Ｖｍ．ｓｔａｒｔ＋Ｖｍ．ｄｕｒａｔｉｏｎ≦Ｔｓ”の場合（以下条件４と呼ぶ）、つまりビデオソースＶｍの再生の場合は、再生シナリオの停止状態（状態Ｔ２）に遷移する。
ここで、条件２はｍ＝１のときは“Ｔｓ＜Ｖｍ．ｓｔａｒｔ”のみを適用する。
【００６５】
なお、ビデオソースＶｍにおいて条件４を満たした場合でも、図３のステップＳ２で示した条件１を満たすＶｍ＋１が存在する場合は、後段のＶｍ＋１の条件３による再生を優先する。すなわち“Ｖｍ．ｄｅｃｏｄｅｒ（＝Ｖｍ＋１．ｄｅｃｏｄｅｒ）”において同一ＵＲＬのビデオソースＶｍが連続的に再生され続けることになる。
【００６６】
また、条件２でプリフェッチ状態への遷移がおきたにもかかわらずプリフェッチ遷移が完了せずに条件３に合致してしまった場合、再生を開始することができない。この場合、プリフェッチ遷移完了まで“Ｔｓ＝Ｖｍ．ｓｔａｒｔ”からＴｓを増加させない。プリフェッチ完了次第、再生状態に遷移しＴｓの増加を再開する。
【００６７】
次に、ビデオプレイヤ１６０動作を説明する。
図９は、ビデオプレイヤの状態遷移図である。
前述の条件２〜４により再生、一時停止、停止、ＵＲＬセットなどの制御を受けて状態遷移する。
【００６８】
停止状態（状態Ｔ１０）のときに、“Ｖｍ．ＵＲＬ”がセットされると、プリフェッチ状態（状態Ｔ１１）に遷移する。ここでは、ビデオ時間の再生開始時間である“Ｖｍ．ｌｏｃａｌ＃ｓｔａｒｔ”にシークする。プリフェッチが完了すると、ビデオ再生可能状態（状態Ｔ１２）に遷移する。このときは、一時停止状態であり、表示部１７０には出力されない。ビデオ再生可能状態において、再生制御がなされると、ビデオ再生状態（状態Ｔ１３）に遷移し、停止制御がなされる停止状態に遷移する。ここで、ビデオプレイヤ１６０は、表示部１７０にデコード処理したビデオを出力する。ビデオ再生状態において、停止制御がなされると、停止状態に遷移し、一時停止制御がなされるとビデオ再生可能状態に遷移する。
【００６９】
また、ビデオプレイヤ１６０は再生ビデオの可視／不可視（もしくは出力／非出力）の切り替えが可能となっており、ビデオ再生状態（状態Ｔ１３）では可視、それ以外の状態では不可視となる。
【００７０】
次に動的スケジューリングについて説明する。
上記ではスケジューリングを、再生シナリオを同期コントローラ１４０に設定したときに静的に行う場合について説明した。静的スケジューリングでは、スケジューリングを行う上で必要な係数ΔＳ及びΔＥは、固定の値を用いて、事前に個々のビデオソースＶｍをビデオプレイヤ１６０に配分して行う。しかし、これらの値は、ネットワークの状況、接続先のストリーミングサーバ２２０の負荷などによって変動する値である。
【００７１】
そこで、動的スケジューリングではビデオプレイヤ１６０が直前までの実行で実際に計測された値を、同期コントローラ１４０にフィードバックし、その値をもとにスケジューラ１５０により以降のスケジューリングに反映させることで、より柔軟な連続ビデオ再生を可能にするものである。
【００７２】
以下、動的スケジューリング時の再生装置１００の動作を説明する。
同期コントローラ１４０は、再生シナリオが設定されると当初は静的スケジューリングの場合と同様に動作する。
【００７３】
同期コントローラ１４０は、ビデオプレイヤ１６０に設定したＵＲＬに記載されたストリーミングサーバ２２０ごとにΔＳ及びΔＥを格納するテーブルを有する。
【００７４】
表３は、係数格納テーブルの例である。
【００７５】
【表３】
2004140536.tif 000005
【００７６】
このテーブルのΔＳ及びΔＥの初期値は静的スケジューリングで用いた固定の値を用いる。同期コントローラ１４０は、ビデオプレイヤ１６０に再生を指示するタイミングごとなどに、ＵＲＬ設定時からビデオ再生可能状態に遷移するまでの時間の実測値と、停止指示から停止状態に遷移するまでの時間の実測値を問い合わせ、最新の値をそれぞれ該当サーバ名に対応するΔＳとΔＥの値として更新する。係数格納テーブルの各係数へのアクセスは例えば、ΔＳ［サーバ名］及びΔＥ［サーバ名］という形式で記述するものとする。
【００７７】
ΔＳとΔＥの値の更新により、係数格納テーブルの値が変化したときに再スケジューリングが行われる。再スケジューリングの対象となるのは、まだ“Ｖｍ＊．ＵＲＬ”がビデオプレイヤ１６０に設定されていないｍ＊以降に対してであり、ｍ＊をｍの初期値としたスケジューリングを行う。
【００７８】
図１０は、動的スケジューリングにおける、Ｍ個のビデオソースを、Ｎ個のデコーダモジュールに配分する方法を示すフローチャートである。
図３と、ステップＳ１０とＳ１３のみ異なる。
【００７９】
ステップＳ１０の処理において、前述のように、再スケジューリングの対象となるのは、まだ“Ｖｍ＊．ＵＲＬ”がビデオプレイヤ１６０に設定されていないｍ＊以降に対してであるので、ｍ＊をｍの初期値とする。
【００８０】
ステップＳ１３の処理では図３のステップＳ４と同様に、空きデコーダモジュールＤｎを検索するが、“Ｖｍ．ｓｔａｒｔ＋ΔＳ［Ｖｍ．ＵＲＬのサーバ名］＞Ｔ＋ΔＥ［直前のサーバ名］”として、アクセス時での、ストリーミングサーバ２２０の状態に応じて、ΔＳとΔＥを設定している。
【００８１】
他の処理については、図３で示した配分方法と同様であるので説明を省略する。
このように、ストリーミングサーバ２２０との通信の直前までの実行で実際に計測された値をもとにΔＳとΔＥを決定し、それを同期コントローラ１４０にフィードバックすることで、該当サーバの最新のストリーミング状態を反映させた連続再生を実現できる。
【００８２】
なお、係数をサーバごとに固定で持つ係数格納テーブルを用意し、これを用いて静的スケジューリングを行っても良い。その場合、スケジューリングはｍ＊＝１とした図１０のフローチャートを用いることで実現する。係数格納テーブルの固定係数は、ストリーミングサーバ２２０ごとに測定した値を用いる。またこの固定係数格納テーブルの値を動的スケジューリング時の係数格納テーブルの初期値として用いても良い。
【００８３】
以上の説明では、再生シナリオの配信は再生シナリオの再生の前に全て終了しているものとして説明しているが、再生シナリオを複数のシナリオＳｐ（ｐ＝１，２，…）の集合として表し、再生シナリオが全て配信される前でも逐次配信される部分的なシナリオＳｐ（以下部分シナリオと呼ぶ）を用いて部分シナリオＳｐの実行を行うことも可能である。
【００８４】
シナリオサーバ２１０は再生シナリオを部分シナリオＳｐ（ｐ＝１，２，…）の集合として管理する。部分シナリオＳｐはあらかじめ保存されているものでもよいし、呼び出し時に逐次生成されるものであってもよい。
【００８５】
全体制御部１２０からシナリオパーザ１３０に再生シナリオの読み込み指示があると、シナリオパーザ１３０は再生シナリオの読み込みを開始し、部分シナリオＳｐを獲得する。部分シナリオＳｐは同期コントローラ１４０に送られ、静的もしくは動的スケジューリングによりビデオデコーダ配分を決定され、再生される。
【００８６】
全体制御部１２０は、一定時間ごとにシナリオパーザ１３０にすでに受信した部分から後の部分シナリオＳｐの読み込みを指示する。読み込まれた部分シナリオＳｐがない場合はそのまま、ある場合は新たに受信した部分シナリオＳｐを同期コントローラ１４０に設定する。同期コントローラ１４０はすでに設定されている部分シナリオＳｐと新たに設定された部分シナリオＳｐとを結合し、結合したシナリオに対して動的スケジューリングを施して再生を継続する。このときのスケジューリング方法は、図１０で示した処理方法と同様である。
【００８７】
また、部分シナリオＳｐはシナリオサーバ２１０からプッシュ配信されてもよい。この場合、プッシュ配信された部分シナリオＳｐはシナリオパーザ１３０によって解析され、前述と同様の処理が行われる。
【００８８】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、再生装置１００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｃ）、ＤＶＤ−ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）、ＣＤ−Ｒ（Ｒｅｃｏｒｄａｂｌｅ）／ＲＷ（ＲｅＷｒｉｔａｂｌｅ）などがある。光磁気記録媒体には、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ　ｄｉｓｃ）などがある。
【００８９】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００９０】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００９１】
（付記１）ネットワークを介して配信される複数の動画像情報を受信して再生する再生装置において、
前記動画像情報を復号する複数のデコーダモジュールと、
複数の前記動画像情報の再生情報が記載された再生シナリオを読み込み、前記再生情報に応じて再生スケジュールを決定し、複数の前記デコーダモジュールへの前記動画像情報の配分及び前記デコーダモジュールからの出力の切り替え制御を行うシナリオ管理部と、
前記切り替え制御に応じて複数の前記デコーダモジュールからの出力を切り替える出力切替部と、
前記ネットワークを介して、前記再生シナリオの配信要求、前記再生シナリオの受信、前記動画像情報の配信要求及び前記動画像情報の受信を行う通信処理部と、
前記動画像情報を出力する出力部と、
を有することを特徴とする再生装置。
【００９２】
（付記２）前記シナリオ管理部は、時間的に隣接する前記動画像情報を異なる前記デコーダモジュールで再生するような前記再生スケジュールを決定することを特徴とする付記１記載の再生装置。
【００９３】
（付記３）前記シナリオ管理部は、それぞれの前記デコーダモジュールが初期状態から前記動画像情報を画像として出力できるまでの初期化時間と、前記出力を終了して前記初期状態に戻るまでの終了時間をもとに、前記動画像情報を復号する前記デコーダモジュールを選択することを特徴とする付記１記載の再生装置。
【００９４】
（付記４）前記シナリオ管理部は、ストリーミングサーバ毎の前記初期化時間と前記終了時間の固定値を格納した係数格納テーブルを有し、格納された係数値を用いて事前に個々の前記動画像情報を前記デコーダモジュールに配分することを特徴とする付記１記載の再生装置。
【００９５】
（付記５）前記シナリオ管理部は、ストリーミングサーバ毎の前記初期化時間と前記終了時間を、前記デコーダモジュールにおける実測値を用いて逐次更新する係数格納テーブルを有し、前記係数格納テーブルの係数値が更新されたときに、未表示の前記動画像情報について前記再生スケジュールを更新することを特徴とする付記１記載の再生装置。
【００９６】
（付記６）前記通信処理部は、逐次配信される、前記再生シナリオを時間順に分割した部分シナリオを受信し、前記シナリオ管理部は、前記部分シナリオを受信済みのシナリオに結合し、前記再生スケジュールを更新することを特徴とする付記１記載の再生装置。
【００９７】
（付記７）前記シナリオ管理部は、周期的に起動し、シナリオ時間に応じてそれぞれの前記デコーダモジュールの状態を決定し、決定した前記状態に遷移するように前記デコーダモジュールを制御することを特徴とする付記１記載の再生装置。
【００９８】
（付記８）前記シナリオ管理部は、前記状態を前記シナリオ時間と前記再生スケジュールをもとに決定すること特徴とする付記７記載の再生装置。
（付記９）前記シナリオ管理部は、前記状態を再生状態に遷移させる前記決定がなされたにもかかわらず、前記デコーダモジュールが再生可能状態でない場合、前記デコーダモジュールが前記再生可能状態に遷移するまで前記シナリオ時間を停止させることを特徴とする付記７記載の再生装置。
【００９９】
（付記１０）ネットワークを介して配信される複数の動画像情報を受信して再生する再生方法において、
複数の前記動画像情報の再生情報が記載された、前記ネットワークを介して配信される、再生シナリオを読み込み、
前記再生情報に応じて再生スケジュールを決定し、
前記再生スケジュールに従って、複数のデコーダモジュールへの前記動画像情報の配分及び前記デコーダモジュールからの出力の切り替え制御を行うことを特徴とする再生方法。
【０１００】
（付記１１）ネットワークを介して配信される複数の動画像情報を受信して再生する再生プログラムにおいて、
コンピュータに、
複数の前記動画像情報の再生情報が記載された、前記ネットワークを介して配信される、再生シナリオを読み込み、
前記再生情報に応じて再生スケジュールを決定し、
前記再生スケジュールに従って、複数のデコーダモジュールへの前記動画像情報の配分及び前記デコーダモジュールからの出力の切り替え制御を行う、
処理を実行させることを特徴とする再生プログラム。
【０１０１】
（付記１２）ネットワークを介して配信される複数の動画像情報を受信して再生するための再生プログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータに、
複数の前記動画像情報の再生情報が記載された、前記ネットワークを介して配信される、再生シナリオを読み込み、
前記再生情報に応じて再生スケジュールを決定し、
前記再生スケジュールに従って、複数のデコーダモジュールへの前記動画像情報の配分及び前記デコーダモジュールからの出力の切り替え制御を行う、
処理を実行させることを特徴とする再生プログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１０２】
（付記１３）ネットワークを介して配信される動画像情報を再生する動画像情報再生システムにおいて、
複数の前記動画像情報の再生情報が記載された再生シナリオを格納したコンテンツサーバと、
前記複数の動画像情報を格納したストリーミングサーバと、
複数のデコーダモジュールを有し、前記ネットワークを介して前記再生シナリオと複数の前記動画像情報とを受信して、前記再生情報に応じて再生スケジュールを決定し、前記再生スケジュールに応じて前記デコーダモジュールへの前記動画像情報の配分及び前記デコーダモジュールからの出力を切り替えて複数の前記動画像情報を連続的に再生するクライアントと、
から構成されることを特徴とする動画像情報再生システム。
【０１０３】
【発明の効果】
以上説明したように本発明では、ネットワークを介して配信される複数のビデオソースを再生シナリオに記述した通りの順番で、なおかつ各ビデオの繋ぎ目部分で停滞することなく連続的な再生が実現する。
【０１０４】
また、複数のビデオソースを複数のデコーダモジュールに配分するスケジューリングするので、あらかじめ再生シナリオに再生スケジュールを記載せずとも柔軟な連続再生が実現する。
【図面の簡単な説明】
【図１】本発明の再生装置の原理構成図である。
【図２】ビデオソースを示すデータ構造を説明する説明図である。
【図３】Ｍ個のビデオソースを、Ｎ個のデコーダモジュールに配分する方法を示すフローチャートである。
【図４】図３で示した配分方法を適用した場合の例を示す図である。
【図５】デコーダモジュールの制御タイミングを説明する図である。
【図６】初期化が遅延してマージンを超えた場合のデコーダモジュールの制御タイミングを説明する図である。
【図７】本発明の実施の形態の再生装置の構成図である。
【図８】同期コントローラの状態遷移図である。
【図９】ビデオプレイヤの状態遷移図である。
【図１０】動的スケジューリングにおける、Ｍ個のビデオソースを、Ｎ個のデコーダモジュールに配分する方法を示すフローチャートである。
【図１１】従来のストリーミングビデオ配信システムの概略の構成図である。
【図１２】従来の複数ビデオソースの連続再生時でのデコーダモジュールの動作を説明する説明図である。
【符号の説明】
１０　再生装置
１１　シナリオ管理部
１２　切替スイッチ
１３　通信処理部
１４　出力部
２０　ネットワーク
３０　コンテンツサーバ
Ｄ１〜ＤＮ　デコーダモジュール
Ｖ１〜ＶＭ　ビデオソース
Ｓ１　再生シナリオ
【図１】
2004140536.tif 000006
【図２】
2004140536.tif 000007
【図３】
2004140536.tif 000008
【図４】
2004140536.tif 000009
【図５】
2004140536.tif 000010
【図６】
2004140536.tif 000011
【図７】
2004140536.tif 000012
【図８】
2004140536.tif 000013
【図９】
2004140536.tif 000014
【図１０】
2004140536.tif 000015
【図１１】
2004140536.tif 000016
【図１２】
2004140536.tif 000017