明 細 書
データ処理装置、サーバおよびデータ処理方法
技術分野
[0001] 本発明は、適切なランダムアクセス性を確保した符号ィ匕映像情報の処理に関する。
背景技術
[0002] 近年、 DVDメディア(以下単に「DVD」と記す)は非常に普及してきて 、る。中でも 、 DVD— Videoディスクは映画等を収録したパッケージソフトとして既に市場に多く 出回っている。
[0003] 図 1は、 DVDのデータ構造を示す。図 1の下段に示すように、 DVDの最内周のリ ードインカ 最外周のリードアウトまでの間の領域には論理アドレスが割り当てられ、 その論理アドレスに基づ 、て論理データが記録される。論理アドレスに基づ 、てァク セス可能なデータ領域 (論理アドレス空間)の先頭以降には、ファイルシステムのボリ ユーム情報が記録され、続いて映像 '音声などのアプリケーションデータが記録され ている。
[0004] ファイルシステムとは、 ISO9660、 UDF (Universal Disc Format)等を表しており、 ディスク上のデータをディレクトリまたはファイルと呼ばれる単位で管理するシステムで ある。 日常使って 、る PC (パーソナルコンピュータ)の場合でも、 FATまたは NTFSと 呼ばれるファイルシステムを通すことにより、ディレクトリ、ファイル等のデータ構造で ハードディスクに記録されたデータがコンピュータ上で表現され、ユーザピリティを高 めている。
[0005] DVDでは、 UDFおよび ISO9660の両方のファイルシステムが利用され(両方を合 わせて「UDFブリッジ」と呼ぶことがある)、 UDFまたは ISO9660どちらのファイルシ ステムドライバによってもデータの読み出しができるようになつている。いうまでもなぐ 書き換え型の DVDメディアである DVD—RAM/R/RWでは、これらファイルシス テムを介し、物理的にデータの読み、書き、削除が可能である。
[0006] DVD上に記録されたデータは、 UDFブリッジを通して、図 1左上に示すようなディ レクトリまたはファイルとして見ることができる。ルートディレクトリ(図中「ROOT」 )の直
下に「VIDEO— TS」と呼ばれるディレクトリが置かれ、ここに DVDのアプリケーション データが記録されている。アプリケーションデータは複数のファイルとして記録され、 以下の主なファイルが存在する。
[0007] VIDEO— TS . IFO:ディスク再生制御情報ファイル
VTS— 01— 0. IFO :ビデオタイトルセット # 1再生制御情報ファイル
VTS— 01— 0. VOB :ビデオタイトルセット # 1ストリームファイル
[0008] ファイルシステムでは 2種類の拡張子が規定されて 、る。拡張子「IFO」は再生制御 情報が記録されたファイルを示し、拡張子「VOB」は AVデータである MPEGストリー ムが記録されたファイルを示す。再生制御情報とは、 DVDで採用された、ユーザの 操作に応じて再生を動的に変化させるインタラクテイビティを実現するための情報、メ タデータのようなタイトルに付属する情報、ストリームに付属する情報等を含む。また、 DVDでは一般的に再生制御情報のことをナビゲーシヨン情報と呼ぶことがある。
[0009] 再生制御情報ファイルは、ディスク全体を管理する「VIDEO— TS. IFO」と、個々 のビデオタイトルセット(DVDでは複数のタイトル、言い換えれば異なる映画や異なる バージョンの映画を 1枚のディスクに記録することが可能である)毎の再生制御情報 である「VTS— 01— 0. IFO」がある。ここで、ファイル名ボディにある「01」はビデオタ ィトルセットの番号を示しており、例えば、ビデオタイトルセット # 2の場合は、「VTS —02—0. IFO」となる。
[0010] 図 1の右上部は、 DVDのアプリケーション層での DVDナビゲーシヨン空間であり、 前述した再生制御情報が展開された論理構造空間である。「VIDEO— TS. IFOJ 内の情報は、 VMGI (Video Manager Information)として、「VTS— 01— 0. IFOJま たは、他のビデオタイトルセット毎に存在する再生制御情報は VTSI (Video Title Set Information)として DVDナビゲーシヨン空間に展開される。
[0011] VTSIの中には PGC (Program Chain)と呼ばれる再生シーケンスの情報である PG CI (Program Chain Information)が記述されている。 PGCIは、セル(Cell)の集合とコ マンドと呼ばれる一種のプログラミング情報によって構成されている。セル自身は MP EGストリームに対応する VOB (Video Object)の一部区間または全部区間の集合で あり、セルの再生は、当該 VOBのセルによって指定された区間を再生することを意味
している。
[0012] コマンドは、ブラウザ上で実行される Java (登録商標)スクリプトなどに近い概念であ り、 DVDの仮想マシンによって処理される。ただし、 Java (登録商標)スクリプトが論理 演算の他にウィンドやブラウザの制御 (例えば、新しいブラウザのウィンドを開く等)を 行うのに対し、 DVDのコマンドは論理演算の他に AVタイトルの再生制御(例えば、 再生するチヤプタの指定等)を実行するに過ぎな ヽ点で異なって 、る。
[0013] セルはディスク上に記録されて!、る VOBの開始および終了アドレス(ディスク上で の論理記録アドレス)をその内部情報として有しており、プレーヤはセルに記述された VOBの開始および終了アドレス情報を使ってデータの読み出し、再生を実行する。
[0014] 図 2は、ストリーム中に埋め込まれているナビゲーシヨン情報に含まれる各種の情報 を示す。 DVDの特長であるインタラクテイビティは前述した「VIDEO— TS. IFO」、「
VTS— 01— 0. IFO」等に記録されているナビゲーシヨン情報のみによって実現され ているのではなぐ幾つかの重要な情報はナビゲーシヨン'パック(「ナビパック」また は「NV_PCK」と記す)と呼ばれる専用キャリアを使い VOB内に映像データ、音声 データと一緒に多重化されて ヽる。
[0015] ここでは簡単なインタラクテイビティの例としてメニューを説明する。メニュー画面上 には、幾つかのボタンが現れ、それぞれのボタンには当該ボタンが選択実行された 時の処理が定義されている。また、メニュー上では一つのボタンが選択されており(ハ イライトによって選択ボタン上に半透明色がオーバーレイされており該ボタンが選択 状態であることをユーザに示す)、ユーザは、リモコンの上下左右キーを使って、選択 状態のボタンを上下左右の何れかのボタンに移動させることが出来る。すなわち、ュ 一ザがリモコンの上下左右キーを使って選択実行したいボタンまでノヽイライトを移動 させ、決定キーを押して決定することにより、対応するコマンドのプログラムが実行さ れる。一般的には対応するタイトルやチヤプタの再生がコマンドによって実行されて いる。
[0016] NV— PCK内には、ハイライトカラー情報と個々のボタン情報などが含まれている。
ノ、イライトカラー情報には、カラーパレット情報が記述され、オーバーレイ表示される ノ、イライトの半透明色が指定される。ボタン情報には、個々のボタンの位置情報であ
る矩形領域情報と、当該ボタン力 他のボタンへの移動情報 (ユーザの上下左右キ 一操作それぞれに対応する移動先ボタンの指定)と、ボタンコマンド情報(当該ボタン が決定された時に実行されるコマンド)が記述されて 、る。
[0017] メニュー上のハイライトは、メニュー画像へのオーバーレイ画像として作成される。す なわち、ボタン情報の矩形領域に対応する領域にカラーパレット情報に基づいて色 が付され、それがメニューのボタン情報の矩形領域に重ね合わせられることにより、メ ニュー上のハイライトが実現される。このオーバーレイ画像は背景画像と合成されて 画面上に表示される。
[0018] なお、 NV—PCKを使ってナビゲーシヨンデータの一部をストリーム中に埋め込ん でいる理由は、第 1には、ストリームと同期して動的にメニュー情報を更新したり(例え ば、映画再生の途中 5分〜 10分の間にだけメニューが表示される等)、同期タイミン グが問題となりやすいアプリケーションであっても確実に同期させるためである。また 、第 2には、 NV—PCKには特殊再生を支援するための情報を格納し、早送り、巻き 戻し等の特殊再生時にも円滑に AVデータをデコードし再生させる等、ユーザの操作 性を向上させるためである。
[0019] 図 3A〜3Cは、 VOBの生成手順を示し、図 3Dは生成された VOBを再生するため の装置の構成を示す。図 3Aに示す動画、音声、字幕等は、図 3Bに示すように MPE Gシステム規格(ISO/IEC13818-1)に基づいてパケット化およびパック化される。この とき、映像は高精彩映像 (以下、「HD映像」と記す)であり、その映像品質を保った状 態でパケットィ匕およびパック化される。 HD映像には、動画、静止画、文字図形等の 各種の高精彩画質の映像が含まれる。そして、図 3Cに示すようにそれぞれが多重化 されて 1本の MPEG— 2プログラムストリームが生成される。このとき、インタラクテイビ ティを実現するためのボタンコマンドを含んだ NV—PCKも一緒に多重化されている
[0020] MPEGシステムの多重化の特徴は、動画、音声、字幕の種別ごとにみると MPEG ストリームデータはそのデコード順に基づくビット列で配置されている力 多重化され ている動画、音声、字幕の各種別間ではデータは必ずしも再生順にビット列が形成さ れているとは限らないことにある。例えば、動画データのパックと字幕データのパック
とが連続して配置されているとすると、その動画データと字幕データとは、必ずしも同 一タイミングでデコードまたは再生されるとは限らない。
[0021] このように多重化される理由は、 MPEGストリームは所定のデコーダモデル(一般に いうシステムターゲットデコーダ(System Target Decoder ; STD)においてデコードが 可能になるようにエンコードしなければならな 、、 t 、う制約が設けられて 、るからで ある。すなわち、デコーダモデルには個々のエレメンタリストリームに対応するデコー ダバッファが規定されており、そのバッファの容量は個々のエレメンタリストリーム毎に サイズが異なる。具体的には動画に対しては 232KB、音声に対しては 4KB、字幕に 対しては 52KBである。そして、映像、音声等の各データは、デコードタイミングが到 来するまで一時的に蓄積されている。デコードタイミングは、ノ ッファ容量に応じて異 なるため、隣接して多重化されてもデコード等のタイミングが異なることになる。
[0022] MPEGプログラムストリームを再生するときは、図 3Dに示す装置に入力される。デ マルチプレクサ 3100は MPEGプログラムストリームを受け取り、動画データ、字幕デ ータおよびオーディオデータを含むパックを分離して、バッファ 3101へ送る。ノッファ 3101は、パックデータをバッファし、バッファしたその一部のデータをデコーダに送る 。デコーダ 3102は動画データ、字幕データ等ごとにデコードしてストリームを構築す る。具体的には、ノ ッファ 3101は、ビデオバッファ、字幕用バッファおよびオーディオ ノ ッファを有しており、ビデオバッファに動画データを格納し、字幕用バッファに字幕 データを格納し、オーディオバッファに音声データを格納する。デコーダ 3102はビ デォデコーダ、字幕用デコーダおよびオーディオデコーダを有しており、各バッファ 力もデータを受け取って、ノ ックデータに基づいて動画データ、字幕データおよび音 声データを構築して出力する。音声データについては、デコード後にスピーカ等に出 力され、音声として再生される。
[0023] DVDでは、基本技術として MPEG— 2規格に従ったプログラムストリーム(MPEG —2プログラムストリーム)が採用されている。このストリームを用いて、標準解像度映 像 (以下、「SD映像」と記す)のパッケージ配信 (DVD— Video規格)やアナログ放 送の記録(DVD Video Recording規格)が実現されている。
[0024] 一方、次世代光ディスクとして、 MPEG— 2トランスポートストリームを利用した BD (
Blu-ray Disc)の標準化が進められている。 BDには、 HD映像の映画素材をその ままの品質で記録することが可能である。再生専用の規格として BD— ROM規格 (B1 u-ray Disc Read— Only— Memory規格)の標準化が進められている。
[0025] さらに、新しく標準化が進む MPEG— 4 AVC (Advanced Video Coding)規格(
ISO/IEC 14496-10)を用いると、非常に低いビットレートで HD映像のデータを BDに 蓄積することができる。
[0026] しかし、 MPEG— 4 AVC規格(以下「AVC規格」と記述する)に対応するために は、従来の MPEG— 2エンコーダ Zデコーダと同じハードウェアおよびソフトウェアで は処理能力が不足する恐れが高い。その理由は、 AVC規格では符号化 Z復号ィ匕 処理に関する自由度が高いため、全ての処理に対応するためには従来必要とされて いたよりもはるかに高い性能のエンコーダ Zデコーダが求められるからである。例え ば、 AVC規格にお!、て要求される演算量は MPEG— 2規格にお!、て要求される演 算量よりも非常に多く(数十倍ともいわれる)、それに伴って処理プログラムも複雑に なり、また要求されるメモリ量も多くなる。そのため、エンコーダ Zデコーダのコストが 割高になる。よって AVC規格は実装に関してはネガティブファクターを兼ね備えてい るといえる。
[0027] BDに記録された映像を再生するにあたっては、先頭からの通常の再生のみならず 、他の再生機能も求められる。例えば、早送り再生等の特殊再生、ストリームの途中 力 再生を開始するいわゆる飛び込み再生などは通常求められる機能である。また DVDで実現されているマルチアングル再生等の機能も要求される。よって、 AVC規 格に基づいて符号ィ匕 Z復号ィ匕処理を行う際には、さらなる負荷の増大を防止するた めにも、特殊再生等の処理のためにデコードが容易になるような支援が必要である。 例えば、 AVC規格による符号ィ匕処理を一部制限することによって実装への影響を低 減し、符号化処理に関する情報 (符号ィ匕情報)を管理情報に記述することによって、 復号時 (再生時)の処理を支援する必要がある。例えば特許文献 1は、特殊再生に 関する処理を支援するために、特殊再生支援情報 (タイムマップ)を生成する技術を 開示している。
特許文献 1:特開 2000 - 228656号公報
発明の開示
発明が解決しょうとする課題
[0028] 現在の DVDや BDでは、 MPEG— 2規格に基づく符号化処理および復号化処理 への対応は規格内では整っているといえる力 AVC規格に基づく符号ィ匕処理およ び復号ィ匕処理への対応は十分とはいえない。特に、特殊再生を容易にするための データ構造上の支援およびそのようなデータ構造に対応するための機器の処理の対 応は不十分である。
[0029] 本発明の目的は、 MPEG— 4 AVC規格等の映像の符号化処理および復号化処 理に関し、特殊再生を容易にするためのデータ構造上の支援およびそのようなデー タ構造に対応する機器を提供することである。
課題を解決するための手段
[0030] 本発明によるデータ処理装置は、複数のピクチャを切り替えることによって表示され る映像のデータを圧縮符号ィ匕して、データストリームを生成するエンコーダと、前記デ 一タストリームを、所定のストリーム形式で出力する処理部とを備えている。前記映像 のデータは、前記複数のピクチャの各々に対応するピクチャデータを含んでいる。前 記エンコーダは、前記複数のピクチャを、少なくとも、 自己復号化可能な第 1タイプの ピクチャ、および、時間的に前に符号ィ匕されたピクチャのみを参照することによって復 号ィ匕可能な第 2タイプのピクチャに分類し、分類にしたがって各ピクチャデータを圧 縮符号化し、かつ、圧縮符号ィ匕後の各ピクチャデータに関し、前記第 1タイプのピク チヤの後に 2以上の前記第 2タイプのピクチャを連続して配置したデータストリームを 生成する。
[0031] 前記エンコーダは、前記複数のピクチャを、前記第 1タイプのピクチャ、前記第 2タイ プのピクチャ、および、第 3タイプのピクチャに分類して各ピクチャデータを圧縮符号 化し、前記第 3タイプのピクチャは、時間的に前に表示されるピクチャおよび時間的 に後に表示されるピクチャを参照して復号ィ匕可能であってもよ 、。
[0032] 前記処理部は、前記データストリームを前記記録媒体に書き込んでもよい。
[0033] 前記処理部は、圧縮符号化後の各ピクチャデータに関し、前記記録媒体上の前記 第 1タイプのピクチャの先頭アドレス、および、前記先頭アドレス力 最後に配置され
た前記第 2タイプのピクチャの終端アドレスまでのオフセットを特定する管理情報を生 成して、前記記録媒体に書き込んでもよい。
[0034] 前記処理部は、前記第 1タイプのピクチャおよび前記第 2タイプのピクチャの各ピク チヤデータを含む複合ピクチャストリーム、および、前記第 3タイプのピクチャの各ピク チヤデータを含む単一ピクチャストリームを生成し、前記記録媒体に書き込んでもよ い。
[0035] 前記処理部は、前記単一ピクチャストリームを暗号化して前記記録媒体に書き込ん でもよい。
[0036] 本発明によるサーバは、サーノくからクライアントに対して、映像に関するデータストリ ームを配信する配信システムにおいて利用される。前記サーバは、前記データストリ ームを格納した記録媒体から、前記データストリームを読み出す処理部と、ネットヮー クを介して前記データストリームを前記クライアントに送信するネットワーク制御部とを 備えている。前記映像は、複数のピクチャを切り替えることによって表示される。前記 データストリームにおいて、前記複数のピクチャは、 自己復号ィ匕可能な第 1タイプのピ クチャ、および、時間的に前に符号ィ匕されたピクチャのみを参照することによって復 号ィ匕可能な第 2タイプのピクチャに分類されて、分類にしたがって各ピクチャデータ が圧縮符号化して生成されており、かつ、圧縮符号ィ匕後の各ピクチャデータに関し、 第 1タイプのピクチャの後に 2以上の第 2タイプのピクチャが連続して配置されている
[0037] 前記サーバは、前記クライアントの復号化処理の処理性能を特定する性能情報に 基づいて、前記データストリームの読み出しに関する指示を出す中央処理部をさらに 備えている。前記データストリームにおいて、前記複数のピクチャは、前記第 1タイプ のピクチャ、前記第 2タイプのピクチャ、および、第 3タイプのピクチャに分類されて各 ピクチャデータが圧縮符号化されており、前記第 3タイプのピクチャは、時間的に前 に表示されるピクチャおよび時間的に後に表示されるピクチャを参照して復号ィ匕可能 である。前記データストリームは、前記第 1タイプのピクチャおよび前記第 2タイプのピ クチャの各ピクチャデータを含む複合ピクチャストリーム、および、前記第 3タイプのピ クチャの各ピクチャデータを含む単一ピクチャストリーム力 構成されて 、る。前記記
録媒体において、前記複合ピクチャストリームは第 1ファイルに格納され、前記単一ピ クチャストリームは前記第 1ファイルとは異なる第 2ファイルに格納されている。前記ネ ットワーク制御部は、前記クライアントの復号ィ匕性能および前記ネットワークを介した 通信速度の少なくとも一方を特定する性能情報を取得し、前記中央処理部は、前記 性能情報に基づいて、前記第 1ファイルのみを送信するか、前記第 1ファイルおよび 前記第 2ファイルを送信する力を指示してもよ 、。
[0038] 前記中央処理部は、前記性能情報に基づ!、て特定される前記通信速度が、前記 複合ピクチャストリームの伝送速度および前記単一ピクチャストリームの伝送速度の 和以上のときには、前記第 1ファイルおよび前記第 2ファイルの送信を指示し、前記 性能情報に基づいて特定される前記通信速度が、前記複合ピクチャストリームの伝 送速度および前記単一ピクチャストリームの伝送速度の和よりも小さぐかつ前記複 合ピクチヤストリームの伝送速度以上のときには、前記第 1ファイルのみの送信を指示 してちよい。
[0039] 前記記録媒体において、前記複合ピクチャストリームおよび前記単一ピクチヤストリ ームは、前記圧縮符号ィ匕後の各ピクチャデータを格納した複数のパケットから構成さ れ、前記複数のパケットの各々は、前記各ピクチャデータの復号順序に応じて、前記 複合ピクチャストリームおよび前記単一ピクチャストリームの各パケットを配列したとき の順序に応じて変化する第 1カウンタ値を有しており、前記複合ピクチャストリームを 構成する複数のパケットの各々は、前記複合ピクチャストリームのみに含まれる各ピク チヤデータの復号順序に応じて、前記複合ピクチャストリームの各パケットを配列した ときの順序に応じて変化する第 2カウンタ値を有していてもよい。
[0040] 前記記録媒体にお!、て、前記単一ピクチャストリームは暗号ィ匕されて 、てもよ 、。
[0041] 本発明による方法は、映像を構成する複数のピクチャを、少なくとも、自己復号化可 能な第 1タイプのピクチャ、および、時間的に前に符号ィ匕されたピクチャのみを参照 することによって復号ィ匕可能な第 2タイプのピクチャに分類するステップと、分類にし たがって各ピクチャデータを圧縮符号化するステップと、圧縮符号化後の各ピクチャ データに関し、前記第 1タイプのピクチャの後に 2以上の前記第 2タイプのピクチャを 連続して配置したデータストリームを生成するステップと、前記データストリームを、所
定のストリーム形式で出力するステップとを包含する。 発明の効果
[0042] 本発明によれば、映像データの圧縮符号ィ匕後のピクチャデータに関し、自己復号 化可能な第 1タイプのピクチャの後に、時間的に前に符号化されたピクチャのみを参 照することによって復号ィ匕可能な第 2タイプのピクチャを 2以上連続して配置する。ピ クチャデータが連続して存在すれば復号化処理が可能であるから、特に特殊再生の ための復号ィ匕処理時において、まとめて読み出し、その後の復号ィ匕処理を行うことに より、容易に高速再生 (スキップ再生)が可能となる。
図面の簡単な説明
[0043] [図 1]DVDのデータ構造を示す図である。
[図 2]ストリーム中に埋め込まれているナビゲーシヨン情報に含まれる各種の情報を示 す図である。
[図 3]A〜Cは VOBの生成手順を示す図であり、 Dは生成された VOBを再生するた めの装置の構成を示す図である。
[図 4]ディスク状の記録媒体である BD104と、記録されているデータ 101、 102、 103 の構成を示す図である。
[図 5]BDに記録されている論理データのディレクトリ 'ファイル構造を示す図である。
[図 6]BD201上の映像データを読み出し、映像を再生するプレーヤの概略的な機能 構成を示す図である。
[図 7]プレーヤの詳細な機能ブロックの構成を示す図である。
[図 8]BDのアプリケーション空間の概念を示す図である。
[図 9]映像のピクチャとトランスポートストリームのデータ構造との関係を示す図である [図 10]TSパケットのデータ構造を示す図である。
[図 11] VOBデータファイル等と、それらのファイルを読み出すためのプレーヤの機能 ブロックの構成を示す図である。
[図 12]トラックバッファを使った VOBデータ連続供給モデルを示す図である。
[図 13]VOB管理情報ファイル ("YYY. VOBI")の内部構造を示す図である。
[図 14]VOBU # kに関する VOBU情報を構成する再生開始時刻 (PTS # k)および アドレス(I— start # kおよび I— end # k)と、 VOBU # kに含まれるピクチャとの関係 を示す図である。
圆 15]プレイリスト情報のデータ構造を示す図である。
[図 16]イベントハンドラテーブル("XXX. PROG")のデータ構造を示す図である。 圆 17]BD全体に関する情報のデータ構造を示す図である。
[図 18]グローバルイベントハンドラのプログラムのテーブル("BD. PROG")を示す図 である。
[図 19]タイムイベントの概念を示す図である。
[図 20]メニュー操作を行うユーザイベントの概念を示す図である。
[図 21]グローバルイベントの概念を示す図である。
[図 22]プログラムプロセッサに関連する機能ブロックの構成を示す図である。
[図 2¾システムパラメータ(SPRM)の一覧を示す図である。
[図 24]2つの選択ボタンを持ったメニューのプログラムの例を示す図である。
[図 25]メニュー選択のユーザイベントのイベントハンドラのプログラムの例を示す図で ある。
[図 26]AV再生までの基本処理フローを示す図である。
[図 27]プレイリスト再生の開始から VOB再生が開始されるまでの処理フローを示す図 である。
[図 28]AV再生開始後からのイベント処理フローを示す図である。
[図 29]字幕処理のフローを示す図である。
[図 30] (a)および (b)は、 MPEG— 2規格によるピクチヤの参照相関関係の例を示す 図であり、(c)はリ'オーダ'バッファに格納されているピクチャを示す図であり、(d)は デコーダのバッファに関する機能ブロックの構成を示す図である。
[図 31]本発明の実施形態によるレコーダ 100のハードウェア構成を示す図である。
[図 32]レコーダ 100の符号化処理の手順を示す図である。
[図 33] (a)および (b)は、レコーダ 100の符号化処理に関するピクチャの並べ替えの 概念を示す図である。
[図 34]デコーダ 3106の構成を示す図である図である。
[図 35] (a)〜(c)は、 AVC規格によるピクチヤの参照相関関係の例を示す図である。
[図 36] (a)〜 (c)は、特殊再生時の BDドライブ装置の動作と、読み出されて再生表 示されるピクチャとの関係を示す図である。
[図 37] (a)は、早戻し再生時の BDドライブ装置の動作を示す図であり、(b)は、従来 の早戻し再生時の BDドライブ装置の動作を示す図である。
[図 38]IPピクチャデータと Bピクチャデータとが別個のファイルとして記録されている B D3105aを示す図である。
[図 39]コンテンツ配信システムのシステム構成を示す図である。
[図 40]サーバ 390において行われる処理の手順を示す図である。
符号の説明
100 レコーダ
3101a デジタルチューナ
3101b アナログチューナ
3102 ADコンバータ
3103 エンコーダ
3104 ストリーム処理部
3105a BD
3105b HDD
3105c メモリカード
3106 デコーダ
3110 プログラム ROM
3111 中央処理部(CPU)
3112 RAM
3113 CPUノ ス
3114 ネットワーク制御部
3115 指示受信部
3116 インターフェース(IZF)部
3117 メモリカード制御部
3150 システム制御部
3160 ネットワーク
3229 TV
発明を実施するための最良の形態
[0045] 以下、本発明の実施形態を説明する。本実施形態では、映像は符号化処理されて 、映像データのデータストリームとして DVDや DVDの数倍の記録容量を持つ高密 度メディアに記録される。符号化処理は、先行する 3以上のピクチャを参照することが 可能であるとし、ここでは MPEG4— AVC規格 (AVC規格)を例に挙げて説明する。 なお、 AVC規格では、最大 15ピクチャを参照して 1つのピクチャを構築することが可 能である。また高密度メディアの例としてブルーレイディスク(Blu— ray disc ;以下「 BD」と記す)を挙げる。以下、映像を符号ィ匕してデータストリームとして記録する記録 装置、および、記録装置が BDに書き込んだデータストリームのデータ構造を説明す る。また、そのようなデータ構造のデータストリームを BD力も読み出して復号ィ匕し、映 像を再生することが可能な再生装置の構成および動作を説明する。
[0046] まず、本実施形態における用語の意義を説明する。
[0047] 映像:複数のピクチャを所定の垂直走査周波数で次々と切り替えることによって表 示される画像。映像は、動画、静止画、字幕などの文字や図形等を含む。動画、静 止画は主映像と呼ばれ、主映像に同期して重畳表示される字幕等は副映像とも呼ば れる。
[0048] ピクチャ:インターレース方式では奇数ラインと偶数ラインの 2つのフィールドによつ て構成される画像または奇数ライン、偶数ラインのどちらか一方により構成される画像 。プログレッシブ方式では 1つのフレームによって構成される画像。ピクチャは、フレ ームおよびフィールドの両方を表す概念である。
[0049] Iピクチャ: 1枚のピクチヤのデジタルデータのみを用いて圧縮符号ィ匕されたピクチャ 。 Iピクチャは、そのデータのみで 1枚のピクチヤのデータが復号化可能である。これ を自己復号化可能ともいう。
[0050] Pピクチャ:過去のピクチャから一方向のピクチャ間予測が行われて、差分値が符号
化されたピクチャ。 Pピクチャは、時間的に前に表示される Iピクチャまたは他の Pピク チヤのいずれか 1つのピクチャを参照して圧縮符号ィ匕されている。したがって、 Pピク チヤは参照ピクチヤである Iピクチャまたは他の Pピクチャを参照して復号ィ匕が可能で ある。
[0051] Bピクチャ:過去および未来のピクチャから二方向のピクチャ間予測が行われて、差 分値が符号化されたピクチャ。 Bピクチャは、時間的に前に表示されるピクチャおよび 時間的に後に表示されるピクチャの少なくとも 2つのピクチャを参照して圧縮符号化さ れる。参照されるピクチャは、 Iピクチャまたは Pピクチャである。過去の 2つのピクチャ を参照した Bピクチャち許される。
[0052] 通常再生:記録された映像を、記録時の速度で再生することを!、う。
[0053] 特殊再生:通常再生以外の再生をいう。例えば、早送り再生、早戻し再生、コマ送り 再生、コマ戻し再生が該当する。なお、ストリームの途中力も再生を開始するいわゆる 飛び込み再生は、再生開始時は特殊再生である力 その後は通常再生である。
[0054] SD映像:標準画質の映像(NTSC方式の 480i映像、 PAL方式の 576i映像)を!、
[0055] HD映像:上記 SD映像以外の高精細の映像 (例えばノヽイビジョン映像)を!、う。
[0056] 以下では、理解を容易にするため、項目を分けて説明する。項目は、(1) BDの論 理データ構造、(2)プレーヤの構成、(3) BDのアプリケーション空間、(4)VOBの詳 細、(5) VOBのインターリーブ記録、(6)ナビゲーシヨンデータ構造、(7)プレイリスト のデータ構造、(8)イベント発生のメカニズム、(9)仮想プレーヤマシン、(10)プログ ラムの例、(11)仮想プレーヤの処理フロー、(12) 1、 Pピクチャデータを集中配置す る符号化処理、(13)集中配置した I、 Pピクチャデータに基づく特殊再生処理、(14) I、 Pピクチャと Bピクチャの個別管理である。なお、本発明による特徴的な処理は、主 として項目(12)力 項目(14)にある。
[0057] 以下、 AVC規格に従ったデータストリームを利用して、本実施形態による処理を説 明する。 AVC規格において規定される Iピクチャ、 Pピクチャおよび Bピクチャ等の概 念は、従来の MPEG— 2規格において規定される概念と重複する個所が多い。また 、 MPEGでは、映像、音声等のエレメンタリストリームの多重化方法を既存の MPEG
システム規格に委ねているため、 AVC規格の映像データストリームを MPEG— 2トラ ンスポートストリーム(以下「トランスポートストリーム」または「TS」と記述する)によって 伝送することも可能である。そこで以下では、既存の Iピクチャ、 Pピクチャおよび Bピク チヤの概念を利用し、かつ、 AVC規格の映像データストリームがトランスポートストリ ームによって伝送され、そのデータ構造を利用して記録媒体に書き込まれるとして説 明する。なお、トランスポートストリームの詳細については ISO/IEC13818-1で規定さ れている。
[0058] (1) BDの論理データ構造
図 4は、ディスク状の記録媒体である BD104と、記録されているデータ 101、 102、 103の構成を示す。 BD104に記録されるデータは、 AVデータ 103と、 AVデータに 関する管理情報および AV再生シーケンスなどの BD管理情報 102と、インタラタティ ブを実現する BD再生プログラム 101である。本実施の形態では、映画の AVコンテ ンッを再生するための AVアプリケーションを主眼において BDを説明する。し力し、こ の用途に限られな 、ことは 、うまでもな!/、。
[0059] 図 5は、上述した BDに記録されている論理データのディレクトリ 'ファイル構造を示 す。 BDは、他の光ディスク、例えば DVDや CDなどと同様にその内周力 外周に向 けてらせん状に記録領域を持ち、 DVDと同様、論理アドレスによってアクセス可能な データ領域 (論理アドレス空間)を有する。また、リードインの内側には BCA (Burst Cutting Area)と呼ばれるドライブのみが読み出せる特別な領域がある。この領域は アプリケーション力もは読み出せないため、例えば著作権保護技術などに利用される ことがある。
[0060] 論理アドレス空間には、ファイルシステム情報 (ボリューム)を先頭に映像データなど のアプリケーションデータが記録されて 、る。ファイルシステムとは従来技術として説 明した通り、 UDFや ISO9660等のことであり、通常の PCと同じように、記録されてい る論理データをディレクトリ、ファイル構造を使って読み出すことができる。
[0061] 本実施形態では、 BD上のディレクトリ、ファイル構造は、ルートディレクトリ (ROOT) 直下に BDVIDEOディレクトリが置かれている。このディレクトリは BDで扱う AVコンテ ンッゃ管理情報などのデータ(図 4で説明したデータ 101、 102、 103)が格納されて
いるディレクトリである。
[0062] BDVIDEOディレクトリの下には、次の(a)〜(g)の 7種類のファイルが記録されて いる。
[0063] (a) BD. INFO (ファイル名固定)
「BD管理情報」の一つであり、 BD全体に関する情報を記録したファイルである。 B Dプレーヤは最初にこのファイルを読み出す。
[0064] (b) BD. PROG (ファイル名固定)
「BD再生プログラム」の一つであり、 BD全体に関わる再生制御情報を記録したファ ィルである。
[0065] (c)XXX. ?1^ (「 ^¾は可変、拡張子「!^」は固定)
「BD管理情報」の一つであり、シナリオ (再生シーケンス)であるプレイリスト情報を 記録したファイルである。プレイリスト毎に 1つのファイルを持っている。
[0066] (d)XXX. PROG (「XXX」は可変、拡張子「PL」は固定)
「BD再生プログラム」の一つであり、前述したプレイリスト毎の再生制御情報を記録 したファイルである。プレイリストとの対応はファイルボディ名(「XXX」がー致する)に よって識別される。
[0067] (e)YYY. VOB (「YYY」は可変、拡張子「VOB」は固定)
「AVデータ」の一つであり、 VOB (従来例で説明した VOBと同じ)を記録したフアイ ルである。 VOB毎に 1つのファイルを持っている。
[0068] (f)YYY. VOBI (「YYY」は可変、拡張子「VOBI」は固定)
「BD管理情報」の一つであり、 AVデータである VOBに関わるストリーム管理情報 を記録したファイルである。 VOBとの対応はファイルボディ名(「YYY」が一致する) によって識別される。
[0069] (g) ZZZ. PNG (「ZZZ」は可変、拡張子「PNG」は固定)
「AVデータ」の一つであり、字幕およびメニューを構成するためのイメージデータ P NG (W3Cによって標準化された画像フォーマットであり「ビング」と読む)を記録した ファイルである。 1つの PNGイメージ毎に 1つのファイルを持つ。
[0070] (2)プレーヤの構成
次に、図 6および図 7を参照しながら、前述した BDを再生するプレーヤの構成を説 明する。ここで説明する再生処理は一般的な再生処理であり、通常再生および特殊 再生に共通する処理である。なお、後述の項目(13)においても再生処理を説明す る力 これは主にプレーヤの特殊再生処理に関している。
[0071] 図 6は、 BD201上の映像データを読み出し、映像を再生するプレーヤの概略的な 機能構成を示す。プレーヤは、光ピックアップ 202と、種々のメモリ(プログラム記録メ モリ 203、管理情報記録メモリ 204、 AV記録メモリ 205)と、プログラム処理部 206と、 管理情報処理部 207とを有する。
[0072] 光ピックアップ 202は、 BD201からデータを読み出す。
[0073] プログラム処理部 206は、管理情報処理部 207より再生するプレイリストの情報ゃプ ログラムの実行タイミングなどのイベント情報を受け取ってプログラムの処理を行う。ま た、プログラムでは再生するプレイリストを動的に変える事が可能であり、この場合は 管理情報処理部 207に対してプレイリストの再生命令を送ることによって実現する。 プログラム処理部 206は、ユーザからのイベント、即ちリモコンキーからのリクエストを 受け、ユーザイベントに対応するプログラムがある場合は、それを実行する。
[0074] 管理情報処理部 207は、プログラム処理部 206の指示を受け、対応するプレイリス トおよびプレイリストに対応した VOBの管理情報を解析し、プレゼンテーション処理 部 208に対象となる AVデータの再生を指示する。また、管理情報処理部 207は、プ レゼンテーシヨン処理部 208より基準時刻情報を受け取り、時刻情報に基づ 、てプレ ゼンテーシヨン処理部 208に AVデータ再生の停止指示を行い、また、プログラム処 理部 206に対してプログラム実行タイミングを示すイベントを生成する。
[0075] プレゼンテーション処理部 208は、動画、音声、字幕 Zイメージ (静止画)のそれぞ れに対応するデコーダを持ち、管理情報処理部 207からの指示に従い、 AVデータ のデコードおよび出力を行う。動画データ、字幕 Zイメージは、デコード後にそれぞ れの専用プレーン、ビデオプレーン 210およびイメージプレーン 209に描画される。
[0076] 合成処理部 211は、映像の合成処理を行い TV等の表示デバイスへ出力する。
[0077] プレーヤの処理の流れは以下のとおりである。 BD201上のデータは、光ピックアツ プ 202を通して読み出される。読み出されたデータはそれぞれのデータの種類に応
じて専用のメモリに転送される。 BD再生プログラム(「BD. PROG」または「XXX. PR OG」ファイルの中身)はプログラム記録メモリ 203に、 BD管理情報(「BD. INFO」、 「 XXX. PL」または「YYY. VOBI」)は管理情報記録メモリ 204に、 AVデータ(「ΥΥΥ . VOB」または「ZZZ. PNG」)は AV記録メモリ 205にそれぞれ転送される。
[0078] そして、プログラム記録メモリ 203に記録された BD再生プログラムは、プログラム処 理部 206によって処理される。また、管理情報記録メモリ 204に記録された BD管理 情報は管理情報処理部 207によって処理される。 AV記録メモリ 205に記録された A Vデータはプレゼンテーション処理部 208によって処理される。
[0079] プレゼンテーション処理部 208は、動画、音声、字幕 Zイメージ (静止画)のそれぞ れをデコードして出力する。その結果、動画データ、字幕 Zイメージ力 ビデオプレ ーン 210およびイメージプレーン 209に描画される。そして、合成処理部 211は、動 画と字幕等を合成して出力する。
[0080] このように図 6に示すように、 BDプレーヤは図 4に示す BDに記録されているデータ 構成に基づ ヽて構成されて ヽる。
[0081] 図 7は、プレーヤの詳細な機能ブロックの構成を示す。図 7のイメージメモリ 308とト ラックバッファ 309は、図 6の AV記録メモリ 205に対応し、プログラムプロセッサ 302 および UOPマネージャ 303はプログラム処理部 206に対応する。また、シナリオプロ セッサ 305とプレゼンテーションコントローラ 306は図 6の管理情報処理部 207に対 応し、クロック 307、デマルチプレクサ 310、イメージプロセッサ 311、ビデオプロセッ サ 312とサウンドプロセッサ 313は図 6のプレゼンテーション処理部 208に対応してい る。
[0082] BD201から読み出された MPEGストリーム(VOBデータ)はトラックバッファ 309に 、イメージデータ(PNG)はイメージメモリ 308にそれぞれ記録される。デマルチプレク サ 310は、クロック 307の時刻に基づいてトラックバッファ 309に記録された VOBデ ータを抜き出し、映像データをビデオプロセッサ 312に送り、音声データをサウンドプ 口セッサ 313に送る。ビデオプロセッサ 312およびサウンドプロセッサ 313は MPEG システム規格にしたがって、それぞれデコーダバッファとデコーダから構成されて 、る 。即ち、デマルチプレクサ 310から送りこまれる映像、音声それぞれのデータは、それ
ぞれのデコーダバッファに一時的に記録され、クロック 307に従い個々のデコーダで デコード処理される。
[0083] イメージメモリ 308に記録された PNGは、次の 2つの処理方法のいずれかによつて 処理される。
[0084] イメージデータが字幕用の場合は、プレゼンテーションコントローラ 306によってデ コードタイミングが指示される。クロック 307からの時刻情報をシナリオプロセッサ 305 がー且受け、適切な字幕表示が行えるように、字幕表示時刻(開始および終了)にな ればプレゼンテーションコントローラ 306に対して字幕の表示、非表示の指示を出す 。プレゼンテーションコントローラ 306からデコード/表示の指示を受けたイメージプ 口セッサ 311は対応する PNGデータをイメージメモリ 308から抜き出し、デコードし、 イメージプレーン 314に描画する。
[0085] 次に、イメージデータがメニュー用の場合は、プログラムプロセッサ 302によってデ コードタイミングが指示される。プログラムプロセッサ 302が何時イメージのデコードを 指示するかは、プログラムプロセッサ 302が処理して!/、る BDプログラムに依存しー概 には決まらない。
[0086] イメージデータおよび映像データは、図 6で説明したようにそれぞれデコード後にィ メージプレーン 314、ビデオプレーン 315に出力され、合成処理部 316によって合成 後出力される。
[0087] BD201から読み出された管理情報 (シナリオ、 AV管理情報)は、管理情報記録メ モリ 304に格納される力 シナリオ情報(「BD. INFO」および「XXX. PL」)はシナリ ォプロセッサ 305へ読み込み処理される。また、 AV管理情報(「YYY. VOBI」)はプ レゼンテーシヨンコントローラ 306によって読み出され処理される。
[0088] シナリオプロセッサ 305は、プレイリストの情報を解析し、プレイリストによって参照さ れている VOBとその再生位置をプレゼンテーションコントローラ 306に指示し、プレ ゼンテーシヨンコントローラ 306は対象となる VOBの管理情報(「YYY. VOBI」)を解 祈して、対象となる VOBを読み出すようにドライブコントローラ 317に指示を出す。
[0089] ドライブコントローラ 317はプレゼンテーションコントローラ 306の指示に従い、光ピ ックアップを移動させ、対象となる AVデータの読み出しを行う。読み出された AVデ
ータは、前述したようにイメージメモリ 308またはトラックバッファ 309に読み出される。
[0090] また、シナリオプロセッサ 305は、クロック 307の時刻を監視し、管理情報で設定さ れているタイミングでイベントをプログラムプロセッサ 302に送る。
[0091] プログラム記録メモリ 301に記録された BDプログラム(「BD. PROGJまたは「XXX . PROG」)は、プログラムプロセッサ 302によって実行処理される。プログラムプロセ ッサ 302が BDプログラムを処理するのは、シナリオプロセッサ 305からイベントが送ら れてきた場合か、 UOPマネージャ 303からイベントが送られた場合である。 UOPマ ネージャ 303は、ユーザからリモコンキーによってリクエストが送られてきた場合に、プ ログラムプロセッサ 302に対するイベントを生成する。
[0092] (3) BDのアプリケーション空間
図 8は、 BDのアプリケーション空間の概念を示す。
[0093] BDのアプリケーション空間では、プレイリスト(PlayList)がーつの再生単位になつ ている。プレイリストはセル (Cell)の連結で、連結の順序により決定される再生シーケ ンスである静的なシナリオと、プログラムによって記述される動的なシナリオを有して いる。プログラムによる動的なシナリオが無い限り、プレイリストは個々のセルを順に再 生する手順のみを規定する。プレイリストによる再生は全てのセルの再生を終了した 時点で終了する。一方、プログラムによれば、プレイリストをまたぐ再生経路を記述す ることができ、ユーザ選択またはプレーヤの状態によって再生する対象を動的に変え ることが可能である。典型的な例としてはメニューがあげられる。メニューはユーザの 選択によって再生するシナリオであると定義することができ、プログラムによってプレイ リストを動的に選択することを表す。
[0094] 以下、プログラムをより詳細に説明する。ここで言うプログラムとは、時間イベントまた はユーザイベントによって実行されるイベントハンドラを表す。
[0095] 時間イベントは、プレイリスト中に埋め込まれた時刻情報に基づいて生成される。図 7で説明したシナリオプロセッサ 305からプログラムプロセッサ 302に送られるイベント 力 れに相当する。時間イベントが発行されると、プログラムプロセッサ 302は IDによ つて対応付けられるイベントハンドラを実行処理する。前述した通り、実行されるプロ グラムが他のプレイリストの再生を指示することが可能であり、この場合には、現在再
生されているプレイリストの再生は中止され、指定されたプレイリストの再生へと遷移 する。
[0096] ユーザイベントは、ユーザのリモコンキー操作によって生成される。ユーザイベント は大きく 2つのタイプに分けられる。
[0097] 第 1のユーザイベントは、特定のキーの操作によって生成されるメニュー選択のィべ ントである。特定のキーとは、例えば BDプレーや本体またはリモコンのカーソルキー( 「上」「下」「左」「右」キー)や「決定」キーである。メニュー選択のイベントに対応するィ ベントハンドラはプレイリスト内の限られた期間でのみ有効である。プレイリストの情報 として、個々のイベントハンドラの有効期間が設定されている。特定のキーが押された 時に有効なイベントハンドラを検索して、有効なイベントハンドラがある場合は当該ィ ベントハンドラが実行処理される。他の場合は、メニュー選択のイベントは無視される ことになる。
[0098] 第 2のユーザイベントは、特定のキーの操作によって生成されるメニュー呼び出しの イベントである。特定のキーとは、例えば BDプレーや本体またはリモコンの「メニュー 」キーである。メニュー呼び出しのイベントが生成されると、グローバルイベントハンド ラが呼ばれる。グローノ レイベントノヽンドラはプレイリストに依存せず、常に有効なィ ベントハンドラである。この機能を使うことにより、 DVDのメニューコール(タイトル再生 中に音声、字幕メニューなどを呼び出し、音声または字幕を変更後に中断した地点 力ものタイトル再生を実行する機能等)と同等のメニューコールを実装することができ る。
[0099] プレイリストで静的シナリオを構成する単位であるセル(Cell)は VOB (MPEGストリ ーム)の全部または一部の再生区間を参照したものである。セルは VOB内の再生区 間を開始、終了時刻の情報として持っている。個々の VOBと一対になっている VOB 管理情報 (VOBI)は、その内部にデータの再生時刻に対応した記録アドレスのテー ブル情報であるタイムマップ(Time Mapまたは TM)を有しており、このタイムマップに よって前述した VOBの再生、終了時刻を VOB内(即ち対象となるファイル「YYY. V OBJ内)での読み出し開始アドレスおよび終了アドレスを導き出すことが可能である。 なおタイムマップの詳細は後述する。
[0100] (4)VOBの詳細
図 9は、映像のピクチャとトランスポートストリームのデータ構造との関係を示す。最 下段は VOBのデータ構造を示しており、 1以上の VOBU (Video Object Unit)によつ て構成されている。各 VOBUは、その内部にビデオパケット (V_PKT)とオーディオ ノケット(A— PKT)を有している。本実施形態では各パケットのパケットサイズは 188 バイトに固定されている。
[0101] VOBUは、 MPEG— 2ビデオストリームで言う GOP (Group Of Pictures)を基準とし て構成されており、音声データ等も含む、多重化ストリームとしての一再生単位である 。 VOBUは映像の再生時間にして 1. 0秒以下の範囲内(通常は 0. 5秒程度)のデ ータを含む。多くの場合、 1GOPには NTSCの場合には 15フレーム程度のフレーム が格納されている。
[0102] VOBU先頭の TSパケット(MPEG- 2 Transport Stream Packet)は、シーケンスへッ ダとそれに続く GOPヘッダと Iピクチャ(Intra-coded)のデータを格納しており、この Iピ クチャからの復号が開始できるようにされている。
[0103] このようなデータストリームには、「タイムマップ」(TMAPまたは TimeMap)が規定され る。タイムマップのエントリは VOBU先頭の TSパケットごとに与えられている。図 9で は、 VOBU先頭の TSパケットごとに、エントリ(TimeMap Entry#n)が与えられているこ とが示されている。具体的には、タイムマップは、 VOBU先頭の Iピクチャデータの先 頭部分を含む TSパケットのアドレス(開始アドレス)と、この開始アドレスから Iピクチャ データの末尾部分を含む TSパケットまでのアドレス(終了アドレス)と、 Iピクチャの再 生開始時刻 (PTS)とを管理するデータ構造を有している。
[0104] なお各 TSパケットの直前には、その TSパケットの相対的なデコーダ供給開始時刻 を示す到着時刻情報(Arrival Time Stamp ; ATS)が付与されている。 BDに書き込ま れる MPEG— 2TSに関しては、各 TSパケットごとに上述の ATSが付与される。 ATS を各 TSパケットごとに付与するのは、この MPEG— 2TSのシステムレートが固定レー トではなぐ可変レートだ力もである。一般的にシステムレートを固定にする場合には NULLパケットと呼ばれるダミーの TSパケットを挿入することになる。し力し、限られ た記録容量の中に高画質で記録するためには、可変レートが適している。そこで MP
EG— 2TSの各 TSパケットには ATSが付されて BDに記録される。
[0105] 図 10は、 TSパケットのデータ構造を示す。最上段は MPEG— 2TSを示しており、 MPEG- 2TS中に示す各単位が 1つの TSパケットを表して!/、る。中段は TSパケット のデータ構造を示す。 TSパケットは、 TSパケットヘッダと、適用フィールドと、ペイ口 ード部から構成される。 TSパケットヘッダにはパケット ID (Packet Identifier; PID)が 格納され、これにより、 TSパケットがどのような情報を格納しているの力識別される。 適用フィールドには、プログラムクロック参照(Program Clock Reference; PCR)が格 納される。 PCRはストリームをデコードする機器の基準クロック(System Time Clock; STC)の参照値である。機器はシステムストリームをデマルチプレタスし、ビデオストリ ーム等の各種ストリームを再構築する。ペイロードには PESパケットが格納される。
[0106] 図 10の最下段は、 PESパケットのデータ構造を示す。 PESパケットは、パケットへッ ダ(PES Packet Header)、ペイロード(PES Packet Payload)を含む。パケットヘッダお よびペイロードはあわせてパケット(PES Packet)を構成する。 PESペイロードはバケツ ト(PES Packet)のデータ格納領域である。 PESペイロードには、ビデオデータおよび オーディオデータ等のエレメンタリデータが格納される。 PESパケットヘッダには、ぺ ィロードに格納してあるデータがどのストリームなのかを識別するための ID (stream —id)と、当該ペイロードのデコードおよび表示時刻情報であるタイムスタンプ、 DTS (Decoding Time Stamp)および PTS (Presentation Time Stamp) 己録 れる。なお、 PTSZDTSは必ずしも全てのパケットヘッダに記録されているとは限られない。
[0107] (5) VOBのインターリーブ記録
次に、図 11および図 12を参照しながら、インターリーブ記録された VOBファイルの 再生処理を説明する。
[0108] 図 11は、 VOBデータファイル等と、それらのファイルを読み出すためのプレーヤの 機能ブロックの構成を示す。
[0109] 図 11の下段は、 BD上での VOBデータファイルおよび PNGファイルのインターリー ブ記録を示す。図 11に示すように、 VOBデータファイルは分断されてディスク上に離 散的に配置されている。ある連続区間から他の区間への移動にはシーク動作が必要 になり、この間データの読み出しが止まる。すなわち、データの供給が止まる可能性
がある。
[0110] 一般的な ROM、例えば CD— ROMや DVD— ROMの場合、一連の連続再生単 位となる AVデータは連続記録されている。連続記録されている限り、ドライブは順次 データを読み出し、デコーダに送るだけでよく処理が簡単になる力もである。よって V OBデータファイルは連続領域に記録することが望ましい。しかし、それでもなおこの ようなデータ構造にする理由は、例えば字幕データのように VOBに記録されている 映像データと同期して再生されるデータがあり、 VOBファイルと同様に字幕データも 何らかの方法によって BD力 読み出す事が必要になる。よって、 VOBデータフアイ ルを幾つかのブロックに分けて、その間に字幕用のイメージデータ(PNGファイル)を 配置する必要があるからである。
[0111] なお、字幕データの読み出し方法の一方法として、 VOBの再生開始前に一まとめ で字幕用のイメージデータ (PNGファイル)を読み出してしまう方法がある。しかしな がら、この場合には大量のメモリが必要となり、非現実的である。
[0112] VOBファイルとイメージデータを適切にインターリーブ配置することで、前述したよう な大量の一時記録メモリ無しに、必要なタイミングでイメージデータをイメージメモリに 格納することが可能になる。
[0113] プレーヤの機能ブロックは、前述したプレーヤの一部である。 BD上のデータは、光 ピックアップを通して読み出される。 VOBデータファイルは(すなわち MPEGストリー ムは)トラックバッファへ入力され、 PNG (すなわちイメージデータ)ファイルはイメージ メモリへ入力される。
[0114] トラックバッファは FIFO (First In First Out)であり、入力された VOBのデータは入 力された順にデマルチプレクサへと送られる。この時、前述した ATSに従って個々の パックはトラックバッファ力も抽出され、そのデータはデマルチプレクサを介してビデ ォプロセッサまたはサウンドプロセッサへと送られる。一方、イメージデータについて は、どのイメージを描画するかはプレゼンテーションコントローラによって指示される。 また、描画に使ったイメージデータは、字幕用イメージデータの場合は同時にィメー ジメモリから削除される力 メニュー用のイメージデータの場合は、そのメニュー描画 中はイメージメモリ内にそのまま残される。これはメニューの描画はユーザ操作に依
存しており、ユーザの操作に追従してメニューの一部分を再表示もしくは異なるィメー ジに置き換えることがあり、その際に再表示される部分のイメージデータのデコードを 容易にするためである。
[0115] 図 12は、トラックバッファを使った VOBデータ連続供給モデルを示す。まず、図 12 の上段に記すように VOBの一連続記録領域が論理アドレスの" al"から" a2"まで続 くとする。 "a2"から" a3"の間は、イメージデータが記録されていて、 VOBデータの読 み出しが行えない区間であるとする。
[0116] VOBのデータはー且トラックバッファに蓄積されるため、トラックバッファへのデータ 入力レート(Va)とトラックバッファからのデータ出力レート (Vb)の間に差 (Va>Vb) を設けると、 BD力もデータを読み出し続けている限りトラックバッファのデータ蓄積量 は増加し続ける。図 12の下段は、トラックバッファに格納されるデータのデータ量を示 す。横軸が時間、縦軸がトラックバッファ内部に蓄積されているデータ量を示している 。時刻" tl"が VOBの一連続記録領域の開始点である" al"の読み出しを開始した時 刻を示している。この時刻以降、トラックバッファにはレート Va—Vbでデータが蓄積さ れていく。このレートはトラックバッファの入出力レートの差である。時刻" t2"は一連 続記録領域の終了点である" a2"のデータまで読み込みが終了した時刻である。時 刻" tl"から" t2"の間レート Va—Vbでトラックバッファ内はデータ量が増加していき、 時刻" t2"でのデータ蓄積量 B (t2)は下式によって求めることができる。
[0117] (式 1) B (t2) = (Va-Vb) X (t2~tl)
[0118] この後、 BD上のアドレス" a3"まではイメージデータが続くため、トラックバッファへ の入力は 0となり、出力レートである " Vb"でトラックバッファ内のデータ量は減少す る。これは読み出し位置" a3" (時刻" t3")までになる。
[0119] ここで留意すべきは、時刻" t3"より前にトラックバッファに蓄積されているデータ量 力 SOになると、デコーダへ供給する VOBのデータが無くなり、 VOBの再生がストップ する可能性があることである。よって、時刻" t3"でトラックバッファにデータが残ってい る場合には、 VOBの再生がストップすることなく連続できる。
[0120] この条件は下式によって示すことができる。
(式 2) B (t2) ≥ -Vb X (t3-t2)
[0121] 即ち、式 2を満たすようにイメージデータ(非 VOBデータ)の配置を決めればよい。
[0122] (6)ナビゲーシヨンデータ構造
図 13から図 19を参照しながら、 BDのナビゲーシヨンデータ (BD管理情報)構造を 説明をする。
[0123] 図 13は、 VOB管理情報ファイル("YYY. VOBI")の内部構造を示す。 VOB管理 情報は、当該 VOBのストリーム属性情報 (Attribute)とタイムマップ (TMAP)を有し ている。ストリーム属性は、ビデオ属性 (Video)、オーディオ属性 (Audio # 0〜Audi o # m)個々に有する。特にオーディオストリームの場合は、 VOBが複数本のオーデ ィォストリームを同時に持つことができるため、オーディオストリーム数 (Number)によ つてデータフィールドの有無を示して 、る。
[0124] 下記はビデオ属性 (Video)の持つフィールドとそれぞれが取り得る値である。
[0125] 圧縮方式 (Coding) :
MPEG1
MPEG2
MPEG4
MPEG4 - AVC (Advanced Video Coding)
解像度(Resolution):
1920x1080
1440x1080
1280x720
720x480
720x565
アスペクト比(Aspect)
4 : 3
16 : 9
~~ムレ1 ~~ト (Framerate)
60
59. 94 (60/1. 001)
50
30
29. 97 (30/1. 001)
25
24
23. 976 (24/1. 001)
[0126] 下記はオーディオ属性 (Audio)の持つフィールドとそれぞれが取り得る値である。
[0127] 圧縮方式 (Coding) :
AC 3
MPEG1
MPEG2
LPCM
チャンネル数(Ch):
1〜8
m 属性 (Language):
[0128] タイムマップ (TMAP)は VOBU毎の情報を持つテーブルであって、当該 VOBが 有する VOBU数(Number)と各 VOBU情報(VOBU # l〜VOBU # n)を持つ。個 々の VOBU情報は、 Iピクチャデータの先頭アドレス(I— start)と、その Iピクチャの終 端アドレスまでのオフセットアドレス (I— end)、およびその Iピクチャの再生開始時刻 ( PTS)から構成される。
[0129] ただし、本実施形態にぉ ヽてはオフセットアドレス (I— end)に関する拡張を行う。
具体的には、アドレス" I— end"には Iピクチャの終了アドレスまでのオフセットアドレス ではなぐ後述の処理によって Iピクチャの後に配置される複数の Pピクチャのうち、所 定の Pピクチヤの終了アドレスまでのオフセットアドレスが記述される。オフセットの基 準となるアドレスは、 VOBU先頭の Iピクチャの開始アドレスである。拡張に関する説 明は、例えば図 36の(a)から(c)、図 37の(a)等を参照しながら、後に詳述する。
[0130] 以下、タイムマップ (TMAP)を設けた理由を説明する。
[0131] 広く知られているように、 MPEGビデオストリームは高画質記録するために可変ビッ
トレートで圧縮符号ィ匕されることがある。よって、映像の再生時間とその映像データの データサイズ間に単純な相関はな 、。
[0132] 音声の圧縮規格である AC3は固定ビットレートで圧縮符号ィ匕を行っているため、時 間とアドレスとの関係は 1次式によって求めることができる力 MPEGビデオストリーム に関しては、時間とアドレスの関係を一次式の形で表現することは不可能である。そ の理由を説明すると、 MPEGビデオストリームでは、映像の個々のピクチャの表示時 間は、例えば NTSCの場合は 1フレームは 1Z29. 97秒であり固定されている。とこ ろが、個々のフレームの圧縮後のデータサイズは、その映像の特性や圧縮に使った ピクチャタイプ、すなわち IZPZBピクチャの!/、ずれのピクチャタイプであるかによつ て大きく変動するからである。
[0133] そこで、 VOB内での時間とアドレスとの対応関係を規定するために、上述のタイム マップ (TMAP)が設けられている。図 14は、 VOBU # kに関する VOBU情報を構 成する再生開始時刻 (PTS#k)およびアドレス (I— start # kおよび I— end # k)と、 V OBU # kに含まれるピクチャとの関係を示す。図 14に示されるように、再生開始時刻 (PTS # k)は、 VOBU # kの先頭の Iピクチャの再生開始時刻を示している。そして、 アドレス(I— start # k)はその Iピクチャデータの先頭アドレス(BDの論理アドレスまた は物理アドレス)を示し、オフセットアドレス(I— end)は、アドレス(I— start)から終了 アドレスまでのデータ量を示す。
[0134] VOBU情報を利用すると、プレーヤは、ある時刻の情報が与えられたときにその時 刻に対応する再生時刻のピクチャ力も再生することが可能になる。具体的には、プレ ーャは先ず当該時刻がどの VOBUに属するのかを検索する。この処理は各 VOBU の VOBU情報 (先頭 Iピクチャの再生開始時刻 (PTS) )を参照して、当該時刻と比較 することによって行われる。そして、どの VOBUに属するかが特定されると、その VO BUの VOBU情報からアドレス(I— start)を取得して、そのアドレスから Iピクチャのデ ータを読み出す。そしてその Iピクチャデータ力 順に復号を開始し、当該時刻のピク チヤ力 出力を開始する。これにより、指定された時刻のピクチャ力 表示が開始され る。
[0135] (7)プレイリストのデータ構造
次に図 15を参照しながら、プレイリスト情報("XXX. PL")のデータ構造を説明する 。図 15は、プレイリスト情報のデータ構造を示す。プレイリスト情報は、セルリスト(Cell List)とイベントリスト(EventList)から構成されて 、る。
[0136] セルリスト(CellList)は、プレイリスト内の再生セルシーケンスであり、本リストの記述 順でセルが再生される事になる。セルリスト(CellList)の中身は、セルの数(Numbe r)と各セル情報(Cell # l〜Cell # n)である。
[0137] セル情報(Cell # )は、 VOBファイル名 (VOBName)、当該 VOB内での開始時刻
(In)および終了時刻 (Out)と、字幕テーブル (SubtitleTable)を持って!/、る。開始 時刻 (In)および終了時刻 (Out)は、それぞれ当該 VOB内でのフレーム番号で表現 され、前述したタイムマップ (TMAP)を使うことによって再生に必要な VOBデータの アドレスを得ることができる。
[0138] 字幕テーブル (SubtitleTable)は、当該 VOBと同期再生される字幕情報を持つ。
字幕は音声同様に複数の言語を持つことができ、字幕テーブル (SubtitleTable)最 初の情報も言語数 (Number)とそれに続く個々の言語ごとのテーブル(Language # 1〜: Language # k)から構成されて 、る。
[0139] 各言語のテーブル (Language # )は、言語情報 (Lang)と、個々に表示される字幕 の字幕情報数 (Number)と、個々に表示される字幕の字幕情報(Speech # l〜Sp eech # j)から構成され、字幕情報(Speech # )は対応するイメージデータファイル名 (Name)、字幕表示開始時刻 (In)および字幕表示終了時刻 (Out)と、字幕の表示 位置(Position)力 構成されて 、る。
[0140] イベントリスト(EventList)は、当該プレイリスト内で発生するイベントを定義したテ 一ブルである。イベントリストは、イベント数(Number)に続いて個々のイベント(Eve nt # l〜Event # m)から構成され、個々のイベント(Event # )は、イベントの種類 ( Type)、イベントの ID (ID)、イベント発生時刻(Time)と有効期間(Duration)から 構成されている。
[0141] 図 16は、イベントハンドラテーブル("XXX. PROG")のデータ構造を示す。ィベン トハンドラテーブル("XXX. PROG")は、個々のプレイリスト毎のイベントハンドラ(時 間イベントと、メニュー選択用のユーザイベント)を持つ。
[0142] イベントハンドラテーブルは、定義されているイベントハンドラ Zプログラム数 (Num ber)と個々のイベントハンドラ Zプログラム(Program # l〜Program # n)を有して いる。各イベントハンドラ Zプログラム(Program # )内の記述は、イベントハンドラ開 始の定義(く event— handler >タグ)と前述したイベントの IDと対になるイベントノヽ ンドラの ID (ID)を持ち、その後に当該プログラムも Functionに続く括弧 " {"ど '} "の 間に記述する。前述の" XXX. PL"のイベントリスト(EventList)に格納されたィベン ト(Event # l〜Event # m)は,, XXX. PROG"のイベントハンドラの ID (ID)を用い て特定される。
[0143] 次に、図 17を参照しながら BD全体に関する情報("BD. INFO")の内部構造を説 明する。図 17は、 BD全体に関する情報のデータ構造を示す。
[0144] BD全体に関する情報は、タイトルリスト(TitleList)とグローバルイベント用のィべ ントテーブル (EventList)とを有する。
[0145] タイトルリスト(TitleList)は、ディスク内のタイトル数(Number)と、これに続く各タ ィトル情報 (Title # l〜Title # n)力 構成されて 、る。個々のタイトル情報 (Title # )は、タイトルに含まれるプレイリストのテーブル(PLTable)とタイトル内のチヤプタリス ト(ChapterList)を含んで!/、る。プレイリストのテーブル (PLTable)はタイトル内のプ レイリストの数(Number)と、プレイリスト名(Name)即ちプレイリストのファイル名を有 している。
[0146] チヤプタリスト(ChapterList)は、当該タイトルに含まれるチヤプタ数(Number)と 個々のチヤプタ情報(Chapter # l〜Chapter # n)力ら構成されて 、る。チヤプタ情 報(Chapter# )は当該チヤプタが含むセルのテーブル(CellTable)を持ち、セルの テーブル (CellTable)はセル数 (Number)と個々のセルのエントリ情報(CellEntry # l〜CellEntry # k)力 構成されている。セルのエントリ情報(CellEntry # )は当 該セルを含むプレイリスト名と、プレイリスト内でのセル番号によって記述されている。
[0147] イベントリスト(EventList)は、グローバルイベントの数(Number)と個々のグロ一 バルイベントの情報を持っている。ここで留意すべきは、最初に定義されるグローバ ルイベントはファーストイベント(FirstEvent)と呼ばれる、 BDがプレーヤに挿入され た時に最初に呼び出されるイベントであることである。グローバルイベント用イベント
情報はイベントタイプ (Type)とイベントの ID (ID)のみを持って!/、る。
[0148] 図 18は、グローバルイベントハンドラのプログラムのテーブル("BD. PROG")を示 す。このテーブルは、図 16で説明したイベントハンドラテーブルと同一内容である。
[0149] (8)イベント発生のメカニズム
続いて、図 19から図 21を参照しながらイベント発生のメカニズムを説明する。
[0150] 図 19はタイムイベントの概念を示す。前述のとおり、タイムイベントはプレイリスト情 報("XXX. PL")のイベントリスト(EventList)によって定義される。タイムイベントとし て定義されているイベント、即ちイベントタイプ (Type)力 S"TimeEvent"の場合、ィべ ント生成時刻 ("tl")になった時点で ID"Exl"を持つタイムイベントがシナリオプロセ ッサからプログラムプロセッサに渡される。プログラムプロセッサは、イベント ID"Exl" を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本 実施形態では、 2つのボタンイメージの描画を行うなどを行うことができる。
[0151] 図 20はメニュー操作を行うユーザイベントの概念を示す。
[0152] 前述のとおり、メニュー操作を行うユーザイベントもプレイリスト情報("XXX. PL") のイベントリスト(EventList)によって定義される。ユーザイベントとして定義されるィ ベント、即ちイベントタイプ(Type)力 "UserEvent"の場合、イベント生成時刻("tl" )になった時点で、当該ユーザイベントがレディとなる。この時、イベント自身は未だ生 成されてはいない。当該イベントは、有効期間情報 (Duration)で記される期間レデ ィ状態にある。
[0153] 図 20に示すように、ユーザがリモコンキーの「上」「下」「左」「右」キーまたは「決定」 キーを押した場合、まず UOPイベントが UOPマネージャによって生成されプログラム プロセッサに渡される。プログラムプロセッサは、シナリオプロセッサに対して UOPィ ベントを流す。そして、シナリオプロセッサは UOPイベントを受け取った時刻に有効な ユーザイベントが存在するかを検索し、対象となるユーザイベントがあった場合は、ュ 一ザイベントを生成し、プログラムプロセッサに渡す。プログラムプロセッサでは、ィべ ント ID"Evl"を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する 。例えば、本実施形態ではプレイリスト # 2の再生を開始する。
[0154] 生成されるユーザイベントには、どのリモコンキーがユーザによって押されたかの情
報は含まれていない。選択されたリモコンキーの情報は、 UOPイベントによってプロ グラムプロセッサに伝えられ、仮想プレーヤが持つレジスタ SPRM (8)に記録保持さ れる。イベントハンドラのプログラムは、このレジスタの値を調べ分岐処理を実行する ことが可能である。
[0155] 図 21はグローバルイベントの概念を示す。前述したとおり、グローバルイベントは B D全体に関する情報("BD. INFO")のイベントリスト(EventList)によって定義され る。グローバルイベントとして定義されるイベント、即ちイベントタイプ (Type)が" Glob alEvent"の場合、ユーザのリモコンキー操作があった場合にのみイベントが生成さ れる。
[0156] ユーザ力 S "メニュー"を押した場合、先ず UOPイベントが UOPマネージャによって 生成されプログラムプロセッサに上げられる。プログラムプロセッサは、シナリオプロセ ッサに対して UOPイベントを流し、シナリオプロセッサは、該当するグローバルィベン トを生成し、プログラムプロセッサに送る。プログラムプロセッサでは、イベント ID"me nu"を持つイベントノヽンドラを探し、対象のイベントハンドラを実行処理する。例えば、 本実施形態ではプレイリスト # 3の再生を開始して 、る。
[0157] なお、ここでは単に "メニュー"キーと呼んでいる力 DVDのように複数のメニューキ 一があってもよい。各メニューキーに対応する IDをそれぞれ定義することで対応する ことが可能である。
[0158] (9)仮想プレーヤマシン
図 22を参照しながら、プログラムプロセッサの機能を説明する。図 22は、プログラム プロセッサに関連する機能ブロックの構成を示す。プログラムプロセッサは、内部に仮 想プレーヤマシンを持つ処理モジュールである。仮想プレーヤマシンは BDに関連し て定義された機能モデルであって、各 BDプレーヤの具体的に実装された構成には 依存しな 、。よってどの BDプレーヤにお 、ても同様の機能を実行するできることを保 証している。例えば、図 6および図 7は、以下に説明する機能を有することを前提とし た構成である。
[0159] 仮想プレーヤマシンは大きく 2つの機能を持っている。プログラミング関数 (a〜c)と プレーヤ変数 (レジスタ)である。プログラミング関数は、例え «Java (登録商標) Scri
ptをベースとして、以下に記す 3つの機能を BD固有関数として定義して 、る。
[0160] (a)リンク関数:現在の再生を停止し、指定するプレイリスト、セル、時刻からの再生を 開始する。
書式: Link (PL # , Cell # , time)
PL # : プレイリスト名
Cell # : セル番号
time : セル内での再生開始時刻
[0161] (b) PNG描画関数:指定 PNGデータをイメージプレーンに描画する。
書式: Draw (File, X, Y)
File : PNGファイル名
X : X座標位置
Y : Y座標位置
[0162] (c)イメージプレーンクリア関数:イメージプレーンの指定領域をクリアする。
書式: Clear (X, Y, W, H)
X : X座標位置
Y : Y座標位置
W : X方向幅
H : Y方向幅
[0163] プレーヤ変数は、プレーヤの状態を示すシステムパラメータ(SPRM)と一般用途と して使用可能なゼネラルパラメータ(GPRM)とがある。
[0164] 図 23はシステムパラメータ(SPRM)の一覧である。
SPRM (0) :言語コード
SPRM (l) :音声ストリーム番号
SPRM (2) :字幕ストリーム番号
SPRM (3) :アングル番号
SPRM (4) :タイトル番号
SPRM (5) :チヤプタ番号
SPRM (6) :プログラム番号
SPRM (7) :セル番号
SPRM (8) :選択キー情報
SPRM (9) :ナビゲーシヨンタイマー
SPRM (10) :再生時刻情報
SPRM (11) :カラオケ用ミキシングモード、
SPRM (12) :パレンタル用国情報
SPRM (13) :ノ レンタノレレべノレ
SPRM (14) :プレーヤ設定値 (ビデオ)
SPRM (15) :プレーヤ設定値 (オーディオ)
SPRM (16) :音声ストリーム用目口口"31 ~ -ド、
SPRM (17) :音声ストリーム用目口口"31 ~ -ド (拡張)
SPRM (18) :字幕ストリーム用目口口"31 ~ -ド、
SPRM (19) :字幕ストリーム用目口口"31 ~ -ド (拡張)
SPRM (20) :プレーヤリ、一ジョンコード
SPRM (21) :予備
SPRM (22) :予備
SPRM (23) :再生状態
SPRM (24) :予備
SPRM (25) :予備
SPRM (26) :予備
SPRM (27) :予備
SPRM (28) :予備
SPRM (29) :予備
SPRM (30) :予備
SPRM (31) :予備
本実施形態では、仮想プレーヤのプログラミング関数を Java (登録商標) Scriptベ ースとしたが、他に、 UNIX (登録商標) OS等で使われている B— Shellや、 Perl Sc riptなど他のプログラミング関数であってもよい。言い換えれば、本発明〖お ava (登録
商標) Scriptに限定されることはない。
[0167] (10)プログラムの例
図 24および図 25を参照しながら、イベントハンドラでのプログラムの例を説明する。
[0168] 図 24は、 2つの選択ボタンを持ったメニューのプログラムの例である。
[0169] セル(PlayList # 1. Cell# 1)先頭において、タイムイベントを使って、図 24中の" く event— handler ID = "pre" > "で始まるプログラムが実行される。ここでは、最 初にゼネラルパラメータの一つ GPRM (O)に" 1"がセットされている。 GPRM (O)は、 当該プログラムの中で選択されて!ヽるボタンを識別するのに用いられて ヽる。当初は 、左側に配置されたボタン 1が選択されて 、る状態が初期値として規定されて 、る。 次に、 PNGの描画を描画関数である Drawを使ってボタン 1、ボタン 2それぞれにつ いて行っている。ボタン 1は、座標(10、 200)を起点(左端)として PNGイメージ" lbl ack. png"を描画している。ボタン 2は、座標(330, 200)を起点(左端)として PNG イメージ" 2white. png"を描画している。
[0170] また、本セル最後ではタイムイベントを使って図 24右側のプログラムが実行される。
ここでは、 Link関数を使って当該セルの先頭力も再度再生するように指定している。
[0171] 図 25は、メニュー選択のユーザイベントのイベントハンドラのプログラムの例である。
[0172] 「左」キー、「右」キー、「決定」キー何れかのリモコンキーが押された場合それぞれ に対応するプログラムがイベントハンドラに記述されて 、る。ユーザがリモコンキーを 押した場合、図 20で説明したとおり、ユーザイベントが生成され、図 25のイベントハン ドラが起動される。本イベントハンドラは、選択ボタンを識別している GPRM (O)の値 と、選択されたリモコンキーを識別する SPRM (8)を使って分岐処理を行う。条件に 対する分岐および実行処理は以下のとおりである。
[0173] 条件 1)ボタン 1が選択されている、かつ、選択キーが「右」キーの場合: GPRM (O) を 2に再設定して、選択状態にあるボタンを右ボタン 2に変更する。ボタン 1、ボタン 2 のイメージをそれぞれ書き換える。
[0174] 条件 2)選択キーが「決定 (OK)」の場合で、ボタン 1が選択されて 、る場合:プレイ リスト # 2の再生を開始する。
[0175] 条件 3)選択キーが「決定 (OK)」の場合で、ボタン 2が選択されて 、る場合:プレイ
リスト # 3の再生を開始する。
[0176] (11)仮想プレーヤの処理フロー
次に、図 26から図 29を参照しながら、プレーヤにおける処理フローを説明する。図
26は、 AV再生までの基本処理フローを示す。
[0177] BDを挿入すると(S101)、 BDプレーヤは BD. INFOファイルの読み込みおよび解 析(S102)、 BD. PROGの読み込みを実行する(S 103)。 BD. INFOおよび BD. P
ROGは共に管理情報記録メモリにー且格納され、シナリオプロセッサによって解析さ れる。
[0178] 続いて、シナリオプロセッサは、 BD. INFOファイル内のファーストイベント(FirstE vent)情報に従い、最初のイベントを生成する(S 104)。生成されたファーストイベン トは、プログラムプロセッサで受け取られ、当該イベントに対応するイベントハンドラを 実行処理する(S 105)。
[0179] ファーストイベントに対応するイベントハンドラには、最初に再生するべきプレイリスト 情報が記録されていることが期待される。仮に、プレイリスト再生 (PL再生)が指示さ れていない場合には、プレーヤは何も再生することなぐユーザイベントを受け付ける のを待ち続けるだけになる。(S201)。 BDプレーヤはユーザからのリモコン操作を受 け付けると、 UOPマネージャはプログラムマネージャに対して UOPイベントを発行す る(S202)。
[0180] プログラムマネージャは、 UOPイベントがメニューキーかを判別し(S203)、メ-ュ 一キーの場合は、シナリオプロセッサに UOPイベントを流し、シナリオプロセッサがュ 一ザイベントを生成する(S204)。プログラムプロセッサは生成されたユーザイベント に対応するイベントハンドラを実行処理する(S205)。
[0181] 図 27は、プレイリスト再生の開始力 VOB再生が開始されるまでの処理フローを示 す。
[0182] 前述のように、ファーストイベントハンドラまたはグローバノレイベントハンドラによって プレイリスト再生が開始される(S301)。シナリオプロセッサは、再生対象のプレイリス ト再生に必要な情報として、プレイリスト情報" XXX. PL"の読み込みと解析 (S302) 、プレイリストに対応するプログラム情報" XXX. PROG"を読み込む(S303)。続い
てシナリオプロセッサは、プレイリストに登録されているセル情報に基づいてセルの再 生を指示する(S304)。セル再生は、シナリオプロセッサからプレゼンテーションコン トローラに対して要求ができることを意味し、プレゼンテーションコントローラは AV再 生を開始する(S305)。
[0183] AV再生を開始すると(S401)、プレゼンテーションコントローラは再生するセルに 対応する VOBの情報ファイル (XXX. VOBI)を読み込み、解析する(S402)。プレ ゼンテーシヨンコントローラは、タイムマップを使って再生開始する VOBUとそのアド レスを特定し、ドライブコントローラに読み出しアドレスを指示する。ドライブコントロー ラは対象となる VOBデータを読み出し (S403)、 VOBデータがデコーダに送られ再 生が開始される(S404)。
[0184] VOB再生はその VOBの再生区間が終了するまで続けられ(S405)、終了すると次 のセル再生 S 304へ移行する。次のセルが存在しない場合は、再生が終了する(S4 06)。
[0185] 図 28は、 AV再生開始後力 のイベント処理フローを示す。 BDプレーヤはイベント ドリブン型である。プレイリストの再生を開始すると、タイムイベント系、ユーザイベント 系、字幕表示系のイベント処理プロセスがそれぞれ起動され、並行してイベント処理 を実行する。
[0186] S501力 S505までの処理は、タイムイベント系の処理フローである。プレイリスト再 生開始後(S501)、プレイリスト再生が終了しているかを確認するステップ (S502)を 経て、シナリオプロセッサは、タイムイベント発生時刻になつたかを確認する(S503) 。タイムイベント発生時刻になっている場合には、シナリオプロセッサはタイムイベント を生成し(S504)、プログラムプロセッサがタイムイベントを受け取りイベントハンドラを 実行処理する(S505)。
[0187] ステップ S503でタイムイベント発生時刻になっていない場合、または、ステップ S5 05でイベントハンドラ実行処理後は、再度ステップ S502へ戻って同じ処理を繰り返 す。一方、ステップ S502でプレイリスト再生が終了したことが確認されると、タイムィべ ント系の処理は強制的に終了する。
[0188] S601力ら S608までの処理は、ユーザイベント系の処理フローである。プレイリスト
再生開始後(S601)、プレイリスト再生終了確認ステップ(S602)を経て、 UOP受付 確認ステップの処理に移る(S603)。 UOPの受付があった場合、 UOPマネージャは UOPイベントを生成し(S604)、 UOPイベントを受け取ったプログラムプロセッサは UOPイベントがメニューコールであるかを確認する(S605)。メニューコールであった 場合は、プログラムプロセッサはシナリオプロセッサにイベントを生成させ(S607)、プ ログラムプロセッサはイベントハンドラを実行処理する(S608)。
[0189] ステップ S605で UOPイベントがメニューコールで無いと判断した場合には、 UOP イベントはカーソルキーまたは「決定」キーによるイベントであることを示す。この場合 、現在時刻がユーザイベント有効期間内であるかをシナリオプロセッサが判断し (S6
06)、有効期間内である場合には、シナリオプロセッサがユーザイベントを生成し (S6
07)、プログラムプロセッサが対象のイベントハンドラを実行処理する(S608)。
[0190] ステップ S603で UOP受付が無い場合、ステップ S606で現在時刻がユーザィベン ト有効期間に無い場合、または、ステップ S608でイベントハンドラ実行処理後は再度 ステップ S602へ戻り、同じ処理を繰り返す。また、ステップ S602でプレイリスト再生 が終了したことが確認されると、ユーザイベント系の処理は強制的に終了する。
[0191] 図 29は字幕処理のフローを示す。プレイリスト再生が開始されると(S701)、プレイ リスト再生終了確認ステップ(S702)を経て、字幕描画開始時刻確認ステップに移る (S703)。字幕描画開始時刻の場合、シナリオプロセッサはプレゼンテーションコント ローラに字幕描画を指示し、プレゼンテーションコントローラはイメージプロセッサに 字幕描画を指示する(S704)。ステップ S703で字幕描画開始時刻で無いと判断さ れた場合、字幕表示終了時刻であるかを確認する(S705)。字幕表示終了時刻であ ると判断された場合は、プレゼンテーションコントローラがイメージプロセッサに字幕 消去指示を行い、描画されている字幕をイメージプレーンから消去する(S706)。
[0192] 字幕描画の指示 (ステップ S704)の終了後、字幕消去の指示 (ステップ S706)の 終了後、または、字幕表示終了時刻の確認 (ステップ S705)において当該時刻でな いことが判断された後は、ステップ S702に戻り、同じ処理を繰り返す。ステップ S702 でプレイリスト再生が終了したことが確認されると、処理は強制的に終了される。
[0193] (12) 1、 Pピクチャデータを集中配置する符号化処理
以下では、 MPEG -4 AVC規格 (AVC規格)を利用した符号化処理を説明する 。 AVC規格の映像データの特徴をよりよく理解するために、まず MPEG— 2規格に 従った映像データのデータ構造を説明する。その後、 AVC規格従った映像データを 生成する機器 (レコーダ)のハードウェア構成、符号化処理の手順、符号化処理の結 果得られるピクチャデータの配置、および、そのようなピクチャデータを利用した再生 を説明する。
[0194] 図 30 (a)および (b)は、 MPEG— 2規格によるピクチヤの参照相関関係の例を示す 。 MPEG— 2規格では、符号ィ匕方法に応じて複数タイプのピクチャ (Iピクチャ、 Pピク チヤおよび Bピクチャ)が規定されている。図 30 (a)および (b)では、 I、 Pおよび Bの各 ピクチャのタイプを、「I」、「P」および「B」としてそれぞれ示している。また、 I、 P、 Bの 後に付された数字は GOP内での表示順序を示しており、番号の小さいピクチャ(図 では BOピクチャ)力も順に再生される。なお、図 30 (a)等においてハッチングされた 最初の 3つのピクチャ B9、 BIOおよび P11は、 1つ前の GOPに属し、 12ピクチャ以降 力も新たな GOPが構成されて 、るとする。図 30 (a)および (b)力も理解されるように、 符号化されたピクチャの順序と、表示されるピクチャの順序 (すなわち入力されたピク チヤの順序)とは一致して ヽな 、。
[0195] MPEG— 2規格では、 Bピクチャは最大 2枚の他のピクチャを参照できる。ある Bピ クチャを構築するためには、参照されるピクチャデータが既に入力されてデコードさ れていなければならない。そこで、デコーダ内には参照されるピクチャ 2枚分のデータ を格納するための参照バッファが用意されている。参照バッファは、リ'オーダ'バッフ ァ(Re- order buffer)とも呼ばれる。図 30 (c)はリ'オーダ'バッファに格納されているピ クチャを示し、(d)はデコーダのバッファに関する機能ブロックの構成を示す。エレメ ンタリデコーダバッファ EBは映像ストリーム(ビデオエレメンタリストリーム)を受け取り 、順次デコーダ Dに入力する。デコーダは MPEG— 2規格に従って復号ィ匕し、復号 化されたデータを出力する。復号化されたデータは、リ'オーダ'バッファ Oに一時的 に格納され、または、そのまま出力される。リ'オーダ'バッファ Oに格納されることによ り、後のデータの復号ィ匕に際してそのピクチヤが参照されることになる。
[0196] 例えば、図 30 (b)の B0ピクチャは、時間的に前に表示される P11ピクチャおよび時
間的に後に表示される 12ピクチャの 2つのピクチャを参照して復号ィ匕される。そのた め、 P11ピクチャおよび 12ピクチャの符号化データが BOピクチャの符号化データより も先に映像ストリームに配置される。 Iピクチャの次に Pピクチャを符号ィ匕すると、その 時点でリ ·オーダ ·バッファがフルになり、次に符号ィ匕されるのは必ず Bピクチャとなつ てしまう。その結果、 Iピクチャに続けて 2枚以上の Pピクチャを符号ィ匕することはでき なかった。
[0197] 次に、図 31を参照しながら本実施形態によるレコーダの構成を説明し、その後、レ コーダの符号化処理を説明する。本実施形態によるレコーダが採用する AVC規格 による圧縮符号化方法もまた、上述の Iピクチャ、 Pピクチャおよび Bピクチャの概念を 利用した圧縮符号ィ匕を行うことが可能である。なお AVC規格の Bピクチャは、 3以上 の他のピクチャを参照することが許容されて 、る。
[0198] 図 31は、本実施形態によるレコーダ 100のハードウェア構成を示す。レコーダ 100 は、記録媒体として BD3105aのみならず、ハードディスク 3105bおよびメモリカード 3105cにもデータを書き込むことができる。
[0199] レコーダ 100は、デジタルチューナ 3101aおよびアナログチューナ 3101bと、 AD コンバータ 3102と、エンコーダ 3103と、ストリーム処理部 3104と、デコーダ 3106と、 グラフィック制御部 3107と、メモリ 3108と、 CPUノ ス 3113と、ネットワーク制御部 31 14と、指示受信部 3115と、インターフェース (IZF)部 3116と、メモリカード制御部 3 117と、システム制御部 3150とを含む。なお、図 31には、光ディスク 3105aがレコー ダ 100内に記載されている力 光ディスク 3105aは光ディスクレコーダ 100から取り外 し可能であり、レコーダ 100自体の構成要素ではない。メモリカード 3105cについて も同様にレコーダ 100自体の構成要素ではない。一方の HDD3105bはレコーダ 10 0に内蔵されていればレコーダ 100の構成要素である。し力し、 HDD3105bはレコ ーダ 100に外部接続されて 、てもよぐそのときはレコーダ 100自体の構成要素では ない。
[0200] 以下、各構成要素の機能を説明する。デジタルチューナ 3101aは、アンテナから 1 以上の番組が含まれるデジタル信号を受け取る。デジタル信号として伝送されるトラ ンスポートストリームには複数の番組のパケットが混在している。複数の番組のバケツ
トを含むトランスポートストリームは"フル TS"と呼ばれる。デジタルチューナ 3101aは 、選局を行ってフル TS力も必要な番組のパケットのみを取り出し、 "パーシャル TS"と して出力する。
[0201] フル TSから所望のチャンネルのパケットを取り出す手順は、以下のとおりである。い ま、希望の番組の番組番号 (チャンネル番号)を Xとする。まずはじめに、フル TSから 番組表パケットが検索される。番組表パケットのパケット ID (PID)には、必ず 0が与え られているので、その値を有するパケットを検索すればよい。番組表パケット内の番 組表には、各番組番号と、その番組番号に対応する各番組の番組対応表パケットの PIDが格納されている。これにより、番組番号 Xに対応する番組対応表 PMTのパケ ッ HD (PID)を特定できる。番組対応表 PMTの PIDを XXとする。
[0202] 次に、 PID=XXが付された番組対応表パケットを抽出すると、番組番号 Xに対応 する番組対応表 PMTが得られる。番組対応表 PMTには、番組ごとに、視聴の対象 として各番組を構成する映像 ·音声情報等が格納された TSパケットの PIDが格納さ れている。例えば、番組番号 Xの映像情報の PIDは XVであり、音声情報の PIDは X Aである。このようにして得られた映像情報を格納したパケットの PID (=XV)と、音声 情報を格納したパケットの PID (=XA)とを利用して、フル TS力 特定の番組に関す る映像 '音声のパケットを抽出できる。
[0203] なお、フル TSからパーシャル TSを生成する際には、必要な映像 ·音声情報を格納 したパケットを取り出すだけでなぐその他のパケットの修正も必要である。しかしその 処理は周知であり、本発明の説明上特に問題とはならないため、その説明は省略す る。
[0204] アナログチューナ 3101bは、アンテナ力もアナログ信号を受け取り、周波数に基づ V、て選局を行って必要な番組の信号を取り出す。そして番組の映像および音声信号 を ADコンバータ 3102に出力する。なお図 5では、入力されるデジタル信号およびァ ナログ信号の信号系統は各 1本である力 S、これらは映像のみならず音声をも含みうる
。デジタル信号に関しては、上述のパケット ID等により映像および音声のデータを分 けることが可能である。アナログ信号に関しては、信号の周波数等を利用して映像お よび音声のデータを分けることが可能である。
[0205] ADコンバータ 3102は入力された信号をデジタル変換してエンコーダ 3103に供給 する。エンコーダ 3103は、録画の開始指示を受け取ると、供給されたアナログ放送 のデジタルデータを AVC規格の形式に圧縮符号ィ匕したストリーム(以下「AVCストリ ーム」と記述する)を生成し、ストリーム処理部 3104に入力する。この処理は、ェンコ ーダ 3103が録画の終了指示を受け取るまで継続される。エンコーダ 3103は圧縮符 号ィ匕を行うために、参照ピクチャ等を一時的に保持するバッファ(図示せず)等を有し ている。
[0206] ストリーム処理部 3104は、動画の記録時にはエンコーダ 3103から受け取った AV Cストリーム力も TSを生成する。またはストリーム処理部 3104は、デジタルチューナ 3 10 laからパーシャル TSを受け取る。パーシャル TSを受け取ったストリーム処理部 3 104は、パーシャル TSに AVCストリームが含まれていないことを確認してパーシャル TSをデコーダ 3106に出力する。この理由は、本実施形態による処理を適用して符 号ィ匕映像データを生成し、記録媒体に書き込むためである。ストリーム処理部 3104 は、デコーダ 3106によってー且復号ィ匕され、その後、本実施形態の処理を行うェン コーダ 3103によって再度符号化された AVCストリームを受け取ると、その AVCストリ ーム力 TSを生成する。これにより、ストリーム処理部 3104は AVC規格のストリーム を受け取り、 MPEG— 2TSとして記録媒体に記録することができる。なお、メモリカー ド 3105c等に対しては TSではなく AVCストリームを書き込んでもよい。
[0207] パーシャル TSが入力されたときの処理は、いわゆる再エンコード処理と呼ばれてい る。レコーダ 100は、再エンコード処理を行わないことも可能である。再エンコード処 理を行わないときは、ストリーム処理部 3104は、受け取った TSまたはパーシャル TS を通常どおり BD3105a、 HDD3105bおよび/またはメモリカード 3105cに書き込 むことができる。
[0208] ストリーム処理部 3104は、動画の再生時には、 BD3105aおよび Zまたは HDD31 05bからトランスポートストリームを読み出し、デコーダ 3106に出力する。または、スト リーム処理部 3104は、後述するメモリカード制御部 3117からメモリカード 3105cに 格納された AVCストリームを受け取り、デコーダ 3106に出力することができる。
[0209] なお、本明細書では、ストリーム処理部 3104が BD3105aおよび Zまたは HDD31
05bにトランスポートストリームを記録し、またはそれらからトランスポートストリームを読 み出すとして説明している力 これは説明の便宜のためである。 BD3105aや HDD3 105bに対するトランスポートストリームの書き込みや読み出しは、実際には、ディスク の回転、ヘッドの移動とともに各々のドライブ装置に設けられたドライブコントローラが 行っている。
[0210] デコーダ 3106は、供給されたトランスポートストリームを解析して圧縮符号ィ匕データ を取得する。そして、その圧縮符号ィ匕データを伸長して非圧縮データに変換し、ダラ フィック制御部 3107に供給する。また、デコーダ 3106は、 AVCストリームのみならず 、例え «JPEG規格に従った静止画データも非圧縮データに変換することができる。 グラフィック制御部 3107には内部演算用のメモリ 3108が接続されており、オン'スク リーン'ディスプレイ(On Screen Display ;OSD)機能を実現できる。例えば、ダラ フィック制御部 3107は種々のメニュー画像と映像とを合成して BDレコーダ 100の外 部に接続された TV3229に出力することができる。
[0211] CPUバス 3113はレコーダ 100内の信号を伝送する経路であり、図示されるように 各機能ブロックと接続されている。また、 CPUバス 3113には、後述するシステム制御 部 3150の各構成要素も接続されて 、る。
[0212] ネットワーク制御部 3114は、レコーダ 100をインターネット等のネットワーク 3160に 接続するためのインターフェイスであり、例えば、イーサネット(登録商標)規格に準拠 した端子およびコントローラである。ネットワーク制御部 3114は、ネットワーク 3160を 介してデータを授受する。このデータは、例えば放送番組に関する番組表のデータ や、レコーダ 100の動作を制御するためのソフトウェアプログラムの更新データである
[0213] 指示受信部 3115は、レコーダ 100の本体部に設けられた操作ボタン、または、リモ ートコントローラ力もの赤外線を受光する受光部である。指示受信部 3115は、ユー ザから、例えば録画の開始 Z停止、録画した番組の再生の開始 Z停止等の指示や 、装填されたメモリカード 3105cの静止画を BD3105aまたは HDD3105bにコピー する指示を与える。
[0214] インターフェース(IZF)部 3116は、レコーダ 100が他の機器と通信するためのコ
ネクタおよびその通信を制御する。 1 部3116は、例えば USB2. 0規格の端子、 I EEE1394規格の端子および各規格によるデータ通信を可能とするコントローラを含 み、各規格に準拠した方式でデータを授受することができる。例えば、レコーダ 100 は、 USB2. 0規格の端子を介して PCや、カムコーダ(図示せず)等と接続され、 IEE E1394規格の端子を介してデジタルハイビジョンチューナや、カムコーダ(図示せず )等と接続される。
[0215] メモリカード制御部 3117は、メモリカード 3105cをレコーダ 100に装填するための スロット、および、レコーダ 100とメモリカード 3105cとの間のデータ通信を制御するコ ントローラである。メモリカード制御部 3117は、装填されたメモリカード 3105cから AV Cストリーム等を読み出して、 CPUバス 3113に伝送する。
[0216] システム制御部 3150は、レコーダ 100内の信号の流れを含む全体的な処理を制 御する。システム制御部 3150は、プログラム ROM3110と、中央処理部(CPU) 311 1と、 RAM3112とを有している。それぞれは CPUバス 3113に接続されている。プロ グラム ROM3110にはレコーダ 100を制御するためのソフトウェアプログラムが格納さ れている。
[0217] CPU3111は、レコーダ 100の全体の動作を制御する中央制御ユニットである。 CP U3111は、プログラムを読み出して実行することにより、プログラムに基づいて規定さ れる処理を実現するための制御信号を生成し、 CPUバス 3113を介して各構成要素 に出力する。メモリ 3112は、 CPU3111がプログラムを実行するために必要なデータ を格納するためのワーク領域を有する。例えば、 CPU3111は、 CPUバス 3113を使 用してプログラム ROM3110からプログラムをランダムアクセスメモリ(RAM) 3112に 読み出し、そのプログラムを実行する。なお、コンピュータプログラムは、 CD— ROM 等の記録媒体に記録して巿場に流通され、または、インターネット等の電気通信回線 を通じて伝送される。これにより、 PC等を利用して構成されたコンピュータシステムを 、本実施形態によるレコーダ 100と同等の機能を有するデータ処理装置として動作さ せることができる。
[0218] 次に、図 32および図 33を参照しながら、本実施形態によるレコーダ 100の符号ィ匕 処理の手順を説明する。ここではレコーダ 100がアナログ信号を受信したときの符号
化処理を例に挙げて説明する。
[0219] 図 32は、レコーダ 100の符号化処理の手順を示す。ステップ S801において、アナ ログチューナ 3101bが映像信号を受け取ると、エンコーダ 3103は ADコンバータ 31 02を介して映像を構成する各ピクチャのピクチャデータを受け取る。そして各ピクチ ャを、 I、 Pおよび Bピクチャのいずれのピクチャとするか分類して、その分類に応じて 各ピクチャデータを圧縮符号化する。
[0220] Iピクチャは他ピクチャを参照しないため、他ピクチャとの相関が低い場合に使うと効 果的である。例えば、シーンチェンジと呼ばれるような今までの映像が全く相関のな V、映像に切り替わる場合には、 Iピクチャを伴って切り替えられることが多!、。
[0221] Pピクチャ、 Bピクチャについては、 MPEG2ビデオでの圧縮効率を上げるために最 大参照ピクチャ数の 2枚を使い、 Pピクチャ 1枚と Bピクチャ 2枚を一組としたパターン にて符号ィ匕されることが多 、。
[0222] ステップ S802において、エンコーダ 3103は GOPの先頭から順に Iピクチャおよび 2以上の Pピクチャが配置されるように、符号化されたピクチャデータを出力する。ステ ップ S803においては、エンコーダ 3103は Iおよび Pピクチャのピクチャデータの後に Bピクチャデータを配置して出力する。
[0223] ステップ S804において、エンコーダ 3103は 1つの GOPに含めるべきすべての符 号ィ匕ピクチャデータを出力した力否かを判定する。すべての符号ィ匕ピクチャデータを 出力したときには、処理はステップ S805に進み、終了していないときには処理はステ ップ S802に戻って、符号化処理を継続する。
[0224] ステップ S805において、映像信号が引き続き入力されているときには処理はステツ プ S801に戻り、レコーダ 100は引き続き映像信号を受け取り、エンコーダ 3103は次 の GOPに属する各ピクチャデータを圧縮符号ィ匕する。
[0225] 本実施形態によるレコーダ 100の処理の特徴の一つは、ステップ S802およびステ ップ S803の処理にある。これらの処理の詳細を、図 33を参照しながら説明する。
[0226] 図 33 (a)および(b)は、レコーダ 100の符号化処理に関するピクチャの並べ替えの 概念を示す。まず図 33 (a)は、入力された各ピクチャを示す。付された数字は入力さ れたピクチャの順序、換言すれば表示されるピクチャの順序を示している。ピクチャ 0
から順に、各ピクチャが所定の垂直走査周波数で次々と切り替えられることにより、動 画映像が表示される。これらのピクチャのうち、ピクチャ 2が Iピクチャ(12)、ピクチャ 5 および 8が Pピクチャ(P5および P8)として符号ィ匕されるとする。他のピクチャは Bピク チヤとして符号化されるとする。そして、ピクチャ 0から 8までのピクチャによって 1つの GOPが構成されるとする。
[0227] なお、本実施形態においては、 1つの GOP内の Pおよび Bピクチャ全て力 同じ GO P内の Iピクチャまたは Pピクチャのみを参照して構築されるとする。すなわち、いわゆ る" Closed GOP"であるとする。 " Closed GOP"であれば、 GOP (k)の先頭から順 に配置された 12ピクチャ、 P5ピクチヤおよび P8ピクチヤは、その 3つのピクチャを読み 込むだけで復号ィ匕が可能である。
[0228] 図 33 (b)は、符号化され、 BD3105aに書き込まれるピクチャの順序を示す。ェンコ ーダ 3103は、符号化されたピクチャのうち、 Iピクチャ(12)、 2枚の Pピクチャ(P5およ び P8)を GOP (n)の先頭力も順に配置し、残りの Bピクチャをその後に配置している 。すなわち、 Iピクチャおよび Pピクチャをまとめて GOPの先頭部分に配置している。 エンコーダ 3103によって図 33 (b)に示す順序でピクチャが配置された符号化データ を、ストリーム処理部 3104は、この順序を維持した状態でトランスポートストリームとし て BD3105aに対して出力する。その結果、トランスポートストリームが BD3105aに書 き込まれる。
[0229] 符号ィ匕データが読み出されるときも Iピクチャ (12)、 Pピクチャ (P5および P8)から順 に読み出されることになる。なお、図示される BD3105aにおいては、符号化データ は連続して描かれている。これは論理的に連続していることを示すに過ぎず、物理的 に連続した領域に書き込まれることに限定されることはない。
[0230] 後述のように、本実施形態によるレコーダ 100は、 5枚のピクチャデータを格納する ことが可能なリ'オーダ'バッファを有している。よって、図に示すように Iピクチャ (12ピ クチャ)の後に 2枚以上の Pピクチャ (P5、 P8ピクチヤ)を続けて配置しても、復号化処 理が可能である。
[0231] 上述の処理に伴い、図 13に示す TMAPが生成される。図 13に関連して説明した ように、タイムマップ (TMAP)には VOBU情報が記述される。このうちアドレス" I e
nd"として、通常は Iピクチャの終了アドレスまでのオフセットアドレスが記述される。
[0232] しかし本実施形態にぉ 、ては、 12ピクチャデータの先頭アドレス(I— start)から、後 続の Pピクチャのうちの最後の Pピクチャ(すなわち P8ピクチヤ)の終端アドレスまでの オフセットアドレス力 アドレス" I— end"として記述される。 CPU3111は、そのような アドレスを記述するようストリーム処理部 3104に指示する。ストリーム処理部 3104は その指示に基づ 、て、指示されたオフセットアドレスを TMAP内の VOBU情報中の" I _ end"に已述 *5る。
[0233] 図 33 (b)に示すように各 I、 Pおよび Bピクチャを配置することによって、復号化時お よび再生時 (特に特殊再生時)において処理を大幅に効率ィ匕することができる。その 処理を説明するに先立って、まず図 34を参照しながら、デコーダ 3106の構成を説 明する。
[0234] 図 34は、デコーダ 3106の構成を示す図である。図 34にはまた、映像を合成するグ ラフィック制御部 3107の構成も示している。図 34では、動画データおよび音声デー タが個々に入力されている力 これは、光ヘッドがトランスポートストリームを BD力 読 み出し、そのトランスポートストリームをデマルチプレクサが受け取り、動画データおよ び音声データをそれぞれ格納したパケットに分離して出力した結果である。デマルチ プレクサは、例えば図 3のデマルチプレクサ 3100と同等の機能を有している。
[0235] レコーダ 100のデコーダ 3106は、大きく分けて入力バッファ 3121と、デコーダ部 3
122と、出カノくッファ咅 3123とを含む。
[0236] 入カノッファ 3121は、動画データおよび音声データのそれぞれを複数の段に分け て格納するバッファを有する。また、デコーダ部 3122は、 AVC規格に基づいて圧縮 符号化された映像データおよび音声データをデコードする。
[0237] 出力バッファ部 3123は、ピクチャデータの出力を制御する。出力バッファ部 3123 は、リ'オーダ'バッファ 3205を有している。また出力バッファ部 3123は、リ'オーダ' バッファ 3205からの出力と、ビデオデコーダ 3204からの出力とを切り替えるスィッチ を有する。
[0238] 本実施形態においては、リ'オーダ'バッファ 3205は 5枚のピクチヤのデータを格納 することが可能な容量を有する。 AVC規格は符号化方式の自由度が高ぐ 1つのピ
クチャを復号するために最大 15枚のピクチャを参照することが許容されているからで ある。なお、最大参照ピクチャ数は AVC規格に規定されるレベルに応じて決定され る。
[0239] リ'オーダ'バッファ 3205は、復号化されたピクチャデータが他のピクチャ力 参照 されるピクチャである場合には、符号ィ匕順序で後のピクチヤのためにそのピクチャを 保持し、当該他のピクチャの復号ィ匕時に読み出して参照する。一方、他のピクチャか ら参照が行われな 、 ピクチャにつ ヽてはリ ·オーダ ·バッファ 3205に格納されず、そ のまま出力する。
[0240] なお、デコーダ 3106は 1つのデコーダチップとして実現されてもよい。よって、入力 ノ ッファ 3121、デコーダ部 3122および出力バッファ部 3123は 1つのチップ上に実 装され得る。
[0241] 以下、圧縮符号化データから映像を再生する機能を説明する。なお、圧縮符号ィ匕 データによって構成される AVCストリームは TSパケットに格納されて TSとして伝送さ れる。しかし、以下では理解を容易にするために、 AVCストリームが伝送されるとして 説明する。
[0242] まず AVCストリームのデータはビデオのデコーダラインへ転送され、トランスポート バッファ TB (3201)から、マルチプレキシングバッファ MB (3202)を通り、エレメンタ リバッファ EB (3203)に一時蓄積される。 EB (3203)に蓄積されたピクチャデータは 、指定されたデコード時刻(DTS)になった瞬間にビデオデコーダ 3204へ転送され デコードされる。他のピクチャ力も参照されるピクチャ (Iピクチャ、 Pピクチャ)はリ 'ォ 一ダ.バッファ 0 (3205)に転送され、他のピクチヤのデコードのために利用される。 各ピクチャは、再生時刻 (PTS)の時刻に TV3229に送られる。
[0243] 図 35 (a)〜(c)は、 AVC規格によるピクチヤの参照相関関係の例を示す。図 35の 各図の表記は、図 30と同様である。すなわち、 I、 Pおよび Bの各ピクチャのタイプを、 「I」、「P」および「B」としてそれぞれ示している。また、 I、 P、 Bの後に付された数字は GOP内での表示順序を示しており、番号の小さいピクチャ(図では B0ピクチャ)から 順に再生される。図 35 (a)等においてハッチングされた最初の 3つのピクチャ B4、 B 6および B7は、 1つ前の GOP (k— 1)に属し、 12ピクチャ以降力も新たな GOP (k)が
構成されているとする。
[0244] 図 35 (a)は、入力されたピクチャに基づいて符号ィ匕された AVCストリームのピクチ ャの配置を示す。図 32および図 33を参照しながら説明したように、 AVCストリームに お!、ては、 Iピクチャ(12)、 Pピクチャ(P5および P8)が GOP (n)の先頭力 順に配置 され、残りの Bピクチャがその後に配置されている。
[0245] 図 35 (b)は、映像再生時に表示されるピクチャの順序を示す。圧縮符号化された 時においては、各ピクチャは図 35 (a)に示される順序で入力されている。そのため、 映像再生時もその順序で再生される。図 35 (b)の実線の矢印に示すように、 BOピク チヤは、 P8ピクチヤ、 12ピクチャおよび P5ピクチヤの 3つのピクチャを参照して復号化 される。よって、 AVCストリームにおいては、参照される P8ピクチヤ、 12ピクチャおよ び P5ピクチヤは、 BOピクチャのデータよりも前に配置されて 、る。
[0246] レコーダ 100は、まず 12ピクチャを復号する。その後、直前の 12ピクチャを参照しな 力 P5ピクチャを復号する。そして、 12ピクチャおよび Zまたは P5ピクチヤを参照しな 力 P8ピクチャを復号する。復号ィ匕にはこれら以外のピクチャのデータは必要とされ ない。
[0247] 図 35 (c)は、リ'オーダ'バッファ 3205に蓄積されるピクチャデータを示す。図 35 (a )に示す順序で 12ピクチャ、 P5ピクチヤおよび P8ピクチヤのデータが読み込まれると 、それに応じてリ'オーダ'バッファ 3205に蓄積されていくことが理解される。読み込 まれたデータは後の BOピクチャ等の復号ィ匕時に参照され、各ピクチャの表示順序が 到来すると出力される。 Iおよび Pピクチャの再生出力後であっても、それらのデータ はリ'オーダ'バッファ 3205内には保持される。後続の Bピクチャによって参照され得 るカゝらである。
[0248] 符号ィ匕処理に関連して説明したように、本実施形態においては、 1つの GOP内の P および Bピクチャ全てが、同じ GOP内の Iピクチャまたは Pピクチャのみを参照して構 築されててもよい。この場合、属する GOPが異なる複数のピクチャのデータがリ 'ォー ダ 'バッファ 3205内に格納されていたとしても、それらは相互に特に関連はない。
[0249] (13) 1、 Pピクチャを集中配置した AVCストリームの特殊再生処理
次に、図 36を参照しながら、本実施形態による AVCストリームの特殊再生処理を
説明する。この特殊再生処理は、例えば指示受信部 3115がユーザ力 入力された コマンドに基づいて行われる早送り再生であるとする。なお従来の再生装置において は、 Iピクチャおよび Pピクチャのみを再生することにより早送り再生を実現して 、る。 そこで、本実施形態によるレコーダ 100もまた、 Iピクチャおよび Pピクチャのみを再生 することによって早送り再生を実現するとして説明する。
[0250] 図 36 (a)〜(c)は、特殊再生時の BDドライブ装置の動作と、読み出されて再生表 示されるピクチャとの関係を示す。(a)はドライブ装置の動作状態を示し、(b)はその 動作に対応するピクチャ配置を示す。早送り再生の開始が指示されると、レコーダ 10 0の CPU3111は図 13に示す Iピクチャのアドレス(I— start)にアクセスする。このと き、そのアドレスに至るまでは (a)に示す最初のシークが行われ、(b)に示すピクチャ B4、 B6および B7が読み飛ばされる。
[0251] その後、 12ピクチャのデータが、 TMAP内の VOBU情報のアドレス" I— end"に示 されるデータ量だけ読み出される。図 33に関連して説明したように、本実施形態にお いては、アドレス" I— end"には、 12ピクチャデータの先頭アドレス(I— start)から、最 後の Pピクチャ(P8ピクチャ)データの終端アドレスまでのオフセットアドレスが記述さ れている。よって、 12ピクチャ、 P5および P8ピクチヤの各データが読み出される。図 3 6 (a)には、 12、 P5および P8ピクチヤに対して、ドライブ動作は、読み出し(「リード」) になっていることが示されている。アドレス" I— end"は最後の Pピクチャを示すとした 1S これに限る必要はなぐ I— start力も数えて N枚目のピクチヤの終端アドレスまで のオフセット量としても良い。(図 36 (b)の例では、 N = 3の場合は P8ピクチヤの終端 までとなる)この Nの値をタイムマップ等の領域に記述するようにしてストリーム毎の特 殊再生の精度を制御しても良い。
[0252] 読み出された 12ピクチャ、 P5および P8ピクチヤのデータは、それらのみによって復 号ィ匕することが可能である。よって、 12ピクチャのデータが読み出されると、復号およ び再生が可能になる。図 36 (c)は、再生表示されるピクチャを示す。 12ピクチャ、 P5 および P8ピクチヤが再生されていることが理解される。 2番目、 5番目および 8番目の ピクチャが順に表示されているため、早送り再生が行われているといえる。特殊再生 時に、集中配置された I、 Pピクチャを読み込み、それらをデコードし表示することで、
高速再生 (スキップ再生)が可能となる。
[0253] 同様に逆方向の IP再生(早戻し再生)も可能である。図 37 (a)は、早戻し再生時の BDドライブ装置の動作を示す。図 37 (a)に示すピクチャ群は、通常再生においては 左側のピクチャ力 右側のピクチャにかけて次々と切り替えられ、それにより映像が表 示されるとする。早戻し再生に関しても、本実施形態においては Iピクチャおよび Pピ クチャのみを再生することによって実現するとして説明する。
[0254] 早戻し再生の開始が指示されると、レコーダ 100は、図 37 (a)に示す Iピクチャのう ち、最も右に配置された 12ピクチャのアドレス(I— start)の情報を図 13に示す VOB U情報 (VOBU # k)力も取得する。そしてシーク(0)を行って、そのアドレス(I— star t)を特定する。そして、そのアドレス力 アドレス" I— end"に示されるデータ量だけピ クチャデータを読み出す。この結果、 12、 P5および P8ピクチヤのデータが読み出され る。この読み出し処理を、図 37 (a)においてリード(1)として示す。
[0255] リード(1)の対象となった 3枚のピクチヤのデータは、例えば入力バッファ 3121に格 納されるため、一度読み出せば再度読み出す必要はない。また、これら 3枚のピクチ ャのデータは復号ィ匕処理には他のピクチヤのデータは必要とされないため、他のピク チヤのデータをこれ以上読み出す必要もない。デコーダ 3106は、取得したピクチャ データのうち、 P8、 P5および 12の順にピクチャを出力する。これによりこれらのピクチ ャが再生表示される。
[0256] リード(1)が終了すると、上述の復号化および再生表示処理と並行して、その直前 に配置された 12ピクチャのデータが格納されたアドレスまでシーク(2)が行われる。換 言すれば、このシーク(2)は前の GOPの先頭位置までのジャンプを意味している。そ の後、 12、 P5および P8ピクチヤのデータが連続して読み出され、復号化され、 P8、 P 5および 12ピクチャの順に再生出力される。その後、さらに前の Iピクチャが格納され たアドレスまでシーク (4)が行われ、以後同様の処理が行われる。
[0257] 早戻し再生を行う際にも、 VOBU情報を構成する" I— start"および" I— end"を参 照して、各 GOPの先頭に集中的に配置された Iおよび Pピクチャのデータをまとめて 読み出す。これにより、 BDドライブ装置のシーク動作およびリード動作が全体として 少なくなり、アクセス時間を低減できるとともに、ドライブ装置の動作の制御を簡単ィ匕
でき、同時に特殊再生のレスポンスを向上することができる。
[0258] この効果をよりわ力りやすく説明するために、図 37 (b)を参照しながら従来の BDド ライブ装置の動作を説明する。図 37 (b)は、従来の早戻し再生時の BDドライブ装置 の動作を示す。図 37 (b)においては、ピクチャ群は、各 GOP先頭から 12、 BO、 Bl、 P5、 B3、 B4、 P8、 B6、 B7という順序で配置されている。ただし、 MPEG— 2規格で は、 Iピクチャと Pピクチャが離れた位置に符号ィ匕されており、再生機器は予め Pピクチ ャの位置を特定することはできない。よって、 Iピクチャと Pピクチャを使った高速再生( IP再生)は、全てのピクチャを読み込み、そのうちの Iピクチャと Pピクチャだけを表示 することによってのみ実現されると 、える。
[0259] 早戻し再生処理が開始されると、最も右の 12ピクチャの先頭データ位置まで読み出 し位置を移動する(シーク (0) )。そしてその位置力 データの読み出しが開始される 。図 37 (b)に示す早戻し再生においては、まず P5ピクチヤの再生から開始する必要 があるため、 12ピクチャのデータを読み出した後もそのまま読み出しを継続し、 P5ピ クチャのデータを取得する(リード(1) )。読み出し効率を考慮して、 12ピクチャと P5ピ クチャとの間に存在する BO、 B1ピクチャのデータも連続して読み出される。その後、 I 2ピクチャが復号化されてリ'オーダ'バッファに蓄積され、その後、蓄積された 12ピク チヤを参照して P5ピクチャが復号ィ匕され出力される。次に、読み出し位置を再び 12ピ クチャの先頭位置に戻し (シーク(2) )、再度 12ピクチャを読み出す (リード(3) )。 12ピ クチャを再度読み出す理由は、 P5ピクチャを読み出した後、リ'オーダ'バッファがリ セットされ、 12ピクチャのデータが残らな!/、からである。
[0260] リード(3)によって 12ピクチャを読み出した後は、読み出し位置を 1つ前の GOPの 先頭 12ピクチャのデータ位置まで移動し (シーク (4) )、 P8ピクチヤまでのデータを読 み出す (リード(5) )。 P8ピクチャを復号ィ匕するためには P5ピクチヤが必要であり、 P5 ピクチャを復号ィ匕するためには 12ピクチャが必要である。そのため、リード(5)によつ て 12ピクチャおよび P5ピクチャのピクチャデータを取得する。これにより、 P8ピクチヤ を再生出力できる。その後、読み出し位置をその GOPの先頭 12ピクチャの位置まで 移動する(シーク(6) )。このシーク(6)は、先のシーク (0)に対応する。そして先のリ ード(1)、シーク(2)、リード(3)およびシーク (4)とまったく同様に、
以後のリード(7)、シーク(8)、リード(9)およびシーク(10)が行われ、その GOPの P 5ピクチャおよび 12ピクチャが出力される。
[0261] 上述のように、図 37 (b)に示す従来のデータストリームを用いた早戻し再生処理で はシーク動作およびリード動作が非常に多ぐアクセス時間が非常に長くなるとともに 、早戻し再生処理のための制御は非常に複雑である。よって、図 37 (a)に示すように 、本実施形態による AVCストリームを用いて、 GOPの先頭にまとめて配置された 12、 P5および P8ピクチヤをまとめて読み出すことにより、ドライブ装置の動作の制御を簡 単ィ匕できる。当然、アクセス時間を低減できる。
[0262] ( 14) IPピクチャデータおよび Bピクチャデータの個別管理
次に、図 38を参照しながら、 Iピクチャおよび Pピクチャのデータと、 Bピクチャのデ 一タとを個別に管理する態様を説明する。以下では、 Iピクチャおよび Pピクチャのデ ータを含む AVCストリームを単に「IPピクチャデータ」と記述し、 Bピクチャのデータを 含む AVCストリームを単に「Bピクチャデータ」と記述する。 IPピクチャデータは Iピク チヤおよび Pピクチャのデータを含む複合ピクチヤのストリームであり、全てのピクチャ が当該複合ピクチャだけを参照していることである。 Bピクチャデータは Bピクチヤの みのデータを含む単一ピクチヤのストリームであり、 IPピクチャデータが無ければ、 B ピクチャデータは復号できな 、。
[0263] 図 38は、 IPピクチャデータと Bピクチャデータとが別個のファイルとして記録されて いる BD3105aを示す。 IPピクチャデータはファイル Aとして管理され、 Bピクチャデー タはファイル Bとして管理されて 、る。
[0264] 図 38に示すように、ファイル Aにおいては、 GOP (n— 1)に属する 12、 P5および P8 ピクチャのデータが順に配列されている。そしてその後には、 GOP (n)に属する 12、 P5および P8ピクチヤのデータが順に配列されている。一方、ファイル Bにおいては、 GOP (n- l)に属する Bピクチャ群(B0、 Bl、 B3、 B4、 B6、 B7)のデータが順に配 列されており、その後、 GOP (n)に属する Bピクチャ群(B0、 Bl、 B3、 B4、 B6、 B7) のデータが配列されて 、る。
[0265] ファイル Aおよび Bとして別々に管理することにより、ファイル Aおよび Bの BD3105 a上の記録領域を物理的に相違させることができる。例えばファイル Aを BD3105aの
外周よりの領域に記録し、ファイル Bを BD3105aの内周よりの領域に記録してもよい し、その逆にしてもよい。 IPピクチャデータは必ず読み出すことが要求されるため、フ アイル Aを読み出しやす 、領域 (例えばディスクの外縁よりの領域)に記録することは 効果的である。また、 IPピクチャデータは相対的にみてデータ量が多いため、 BD31 05aを回転させるためにドライブ装置に力かる負荷が比較的小さい領域に記録するこ とにより、ドライブ装置が安定してファイル Aを読み出すことが可能になる。
[0266] ファイル Aおよび Bを別々に管理することにより、特殊再生処理が簡単化される。す なわち、ファイル A内の Iおよび Pピクチャのみで復号ィ匕および再生出力が可能である ため、ファイル Aのみを読み出せば Iおよび Pピクチャのみによる再生、すなわち早送 り Z戻し再生等の特殊再生が容易に実現できる。
[0267] 本実施形態においては、ファイル Aに対し、トランスポートストリームにおけるコンティ 二ユイティ'カウンタ(continuity counter)と同じ概念を利用して、ファイル Aのみの再 生を可能にしている。一般のトランスポートストリームでは、各パケットの先頭に配置さ れたパケットヘッダ内にコンティ-ユイティ.カウンタが規定されている。コンティ-ユイ ティ'カウンタとは、パケット ID (PID)ごとに管理される値であって、同じパケット ID (PI D)を有するパケットに対し、パケットを配列したときの順序に応じて 1から順に付加さ れる値である。所定の値に至ると値を 1に戻し、再び 1ずつ増加する。コンティ-ユイ ティ'カウンタを管理し、各パケットに割り当てるのは、そのトランスポートストリームを生 成した機器である。
[0268] 本実施形態においても、ファイル Aおよび Bに分散された 1つの GOPを構成するピ クチャデータを格納した一連のパケット群について、連続するコンティ-ユイティ'カウ ンタを付加する。すなわち、ファイル A内の 12、 P5および P8ピクチヤのデータを格納 したパケットのコンティ-ユイティ.カウンタの値が順に大きくなる。そして、ファイル Bの
B0ピクチャのピクチャデータを格納した最初のパケットには、 P8ピクチヤのデータを 格納した最後のパケットのカウンタ値に 1を加えた値が格納される。この結果、フアイ ル Aおよび Bの各ピクチャを、符号ィ匕時の順序と同じ順序で連続して再生することが できる。
[0269] さらに本実施形態では、ファイル Aのみに含まれるピクチャデータを格納した一連
のパケット群についても、コンティ-ユイティ'カウンタと類似のカウンタを規定する。具 体的には、各ピクチャデータの復号順序に応じてパケットを配列したときの順序に応 じて 1ずつ変化するカウンタ値を、各パケットに付与する。ファイル Aのパケット群のみ に関するこのカウンタを、以下、「特殊再生用カウンタ」と称する。特殊再生用カウンタ は、例えば 5ビット(1〜31)で表され、通常のコンティ-ユイティ'カウンタとは異なるフ ィールドに記述される。レコーダは、カウンタ値が 32になると、次のパケットの特殊再 生用カウンタのカウンタ値を 1に戻し、再び 1ずつ増加させる。ファイル Aのみのデー タを利用した特殊再生時には、特殊再生用カウンタが順に増カロしていることを受信し たクライアントが確認することにより、パケットの配置順序を規定できるとともにパケット ロスの有無を確認できる。
[0270] ファイル Aおよび Bとして別々に管理することにより、種々の応用を考えることができ る。例えば、映画等のコンテンツを AVCストリームとして圧縮符号ィ匕して配信するシス テムを例に挙げて、その応用例を説明する。
[0271] このシステムでは、ファイル Aは、システムの利用者が制限なくダウンロード可能な 状態におかれる。またファイル Bは、そのファイルに含まれる Bピクチャデータが暗号 化されて!/、る。利用者はファイル Aをダウンロードすればその映画の概要や画質等を 把握できる。そして、利用者がそのコンテンツを購入して暗号解読キー等を入手して 認証を受けることにより、その利用者は暗号ィ匕された Bピクチヤデータを復号ィ匕し再 生することができる。 Bピクチャの再生とともに Iおよび Pピクチャの再生も可能であるか ら、ファイル Aおよび Bを利用してそのコンテンツの通常再生が可能になる。コンテン ッのすべてのデータを再生可能にコピーすることはできなくなるため、そのコンテンツ の著作権を確実に保護することが可能になる。なお、暗号ィ匕をいつ行うかは任意で ある。例えば AVCストリームを BD3105a等に書き込む際に、ストリーム処理部 3104 力 Sリアルタイムで暗号化処理を行ってもよい。または、 AVCストリーム全体をー且 BD 3105a等に書き込んだ後、ストリーム処理部 3104が Bピクチヤデータのみに対して 暗号化処理を行い、ファイル Bとして書き込んでもよい。さら〖こ、どのような暗号ィ匕技 術を利用する力もまた任意である。例えば、 AES (Advanced Encryption Standard)技 術を利用して暗号ィ匕することができる。この暗号ィ匕技術の原理等の詳細は周知であ
るため、説明は省略する。
[0272] さらに他の応用例を考えることができる。図 39は、コンテンツ配信システムのシステ ム構成を示す。このシステムは、サーノ 390と、少なくとも 1つのクライアント(図 39で はクライアント 391および 392)を含んでいる。サーノ 390と、クライアント 391および 3 92とは、ネットワークを介して接続されている。サーバ 390は主として図 31に示すレコ ーダ 100と同じ構成を有しているとする。サーバ 390の記録媒体には、コンテンツの AVCストリームが、 IPピクチャデータを含むファイル Aと、 Bピクチャデータを含むファ ィル Bとに分けて格納されている。上述のように、 Bピクチャデータを暗号ィ匕してフアイ ル Bに格納してもよい。なお、サーバ 390は自ら AVCストリームを生成し、記録媒体 に書き込んでもよいし、他の機器 (例えばレコーダ 100)が AVCストリームを生成して もよい。最終的にサーバ 390がアクセス可能な記録媒体に AVCストリームが存在して いればよい。
[0273] なお、一般に BD3105aと HDD3105bとを比較すると、現時点では、 HDD3105b の方が高速であり、記録容量も大きい。よってファイル Aおよび Bは HDD3105bに格 納されていると想定すればよい。ただし、この想定は BD315aやメモリカード 3105c 等の利用を排除するものではない。
[0274] このシステムの主要な特徴の 1つは、サーバ 390力 クライアントの処理能力や通信 速度等の性能に応じて、ファイル Aおよび Bを送信するか、ファイル Aのみを送信する かを変化させることにある。例えば、サーバ 390とクライアントとの間の通信回線の性 能が、クライアント 391については比較的高速な 100Mbpsであるとし、クライアント 39 2については比較的低速な 10Mbpsであるとする。サーバ 390は、コンテンツをクライ アント 391に対して送信するときは、ファイル Aおよび Bの両方のデータを送信する。 一方、クライアント 392に対して送信するときはファイル Aのみのデータを送信する。 ただし通信回線の性能が高くてもクライアント 391の処理性能が低いときには、クライ アント 391にはファイル Aのみのデータを送信する。クライアントの処理能力(復号ィ匕 能力)および通信速度等の性能に関する性能情報の取得や、データの送信および 受信を含むデータ通信は図 31に示すネットワーク制御部 3114によって行われると する。
[0275] 図 40は、サーバ 390において行われる処理の手順を示す。まずステップ S901に お!、て、サーノ 390の CPU3111はネットワーク制御部 3114を介してクライアントか らコンテンツの配信要求を受け取る。そしてステップ S902において、ネットワーク制 御部 3114は、クライアントのハードウ ア性能、通信性能等の性能を特定する。すな わち性能情報を取得する。例えば、サーバ 390との通信開始時にそのクライアントの 利用者に提供を要求し、その結果得られた数値等を性能情報として取得する。また は、サーバ 390からテスト用のデータを送信し、テスト用データの送信を開始した時 から、処理終了の通知をクライアントから受信した時までの時間を計測することにより 、その時間をクライアントの処理能力 (復号ィ匕能力)および通信速度等を総合した性 能情報として取得することもできる。
[0276] そしてステップ S903において、サーバ 390の CPU3111は性能情報によって特定 したクライアントの性能に基づ 、て、クライアント側で全てのピクチャの再生が可能か 否かを判断する。再生可能であると判断するとステップ S904に進み、再生不可能で あると判断するとステップ S905に進む。
[0277] ステップ S904において、サーバ 390のネットワーク制御部 3114は、 CPU3111の 指示に基づ 、て読み出された全ピクチャのピクチャデータ、すなわちファイル Aおよ び Bの両方のデータを送信する。このとき、 GOP単位でファイル Aの IPピクチャデー タと、ファイル Bの Bピクチヤデータとを交互に送信すればよい。送信が終了すると、 処理が終了する。
[0278] ステップ S905において、サーノ 390の CPU3111はさらに I、 Pピクチャの再生が 可能か否かを判断する。 I、 Pピクチャの再生が可能であればステップ S906に進み、 それらの再生もできな 、場合には、ファイル Aおよび Bの 、ずれを送信することなく処 理は終了する。ステップ S905を含めた理由は、 I、 Pピクチャの再生ができないにもか かわらず送信することは、サーバ 390の処理負荷および通信負荷を不要に高めるこ とになるため、それを回避するためである。
[0279] ステップ S906においては、サーバ 390は IPピクチャデータを送信し、その送信が 終了すると、処理が終了する。
[0280] 上述の処理から理解されるように、ステップ S903およびステップ S905の判断を行
うために、サーバ 390は例えばプログラム ROM3110等に少なくとも 2つの基準を保 持しているといえる。例えば送信するコンテンツが HD映像であって、 IPピクチャデー タの伝送速度が 20Mbps必要であり、 Bピクチャデータの伝送速度が 10Mbps必要 であるとする。このとき、 IPピクチャデータおよび Bピクチャデータの両方を伝送するた めに必要な伝送速度は、各伝送速度の和である 30Mbps必要である。このとき、ステ ップ S903においては、 30Mbps以上で通信できるか否かを基準とすればよぐステ ップ S905においては、 20Mbps以上(かつ 30Mbps未満)で通信できるか否かを基 準とすればよい。
[0281] これらの基準は、送信対象となるコンテンツが HD映像力 SD映像かに応じてさらに 別個に規定することが好ましい。例えばステップ S903の判断に際しては、コンテンツ が HD映像であれば上述の基準を適用し、コンテンツが SD映像であれば、 15Mbps で通信でき、かつその処理が可能力否かを基準とすればよい。また、クライアントがー 般の家電機器であるカゝ、携帯電話や携帯型情報機器 (Personal Digital Assistant ;P DA)であるかに応じてさらに別個に規定してもよい。携帯電話等は画面が小さいた め映像の表示サイズを小さくすることができる。また、画面を毎秒 30枚でピクチャを切 り替えなくても、それより低いレート、例えば毎秒 15枚で送信しても十分視聴に耐え 得る。よって、クライアントが携帯電話等のときは、上述の基準をさらに低く設定できる
[0282] なお図 40に示す処理は、送信前にクライアントの性能を判断し、その判断結果に 基づ ヽて送信するデータ (送信するファイル)を決定して!/ヽるが、送信完了までの性 能の変化に応じて送信するデータを動的に変化させてもよい。例えば、一般には通 信速度は通信中に変動することが多い。そこでサーバ 390は、所定の基準以上の通 信速度が保持されて 、る間は IPピクチャデータ(ファイル A)および Bピクチャデータ( ファイル B)を送信し、その基準を下回ったことを検出すれば Bピクチャデータ (フアイ ル B)の送信を止めて IPピクチャデータ(ファイル A)のみを送信すればよ!ヽ。通信速 度が低下しているにもかかわらず Bピクチャデータを送信しつづけると、 IPピクチャデ ータの送信が失敗する可能性がある。 Bピクチャデータは IPピクチャデータを利用し て復号ィ匕されるため、 IPピクチャデータの送信が失敗すると 1つの GOPがすべて復
号できなくなる可能性がある。よって、送信完了までの性能の変化に動的に対応して 送信するデータを変化させることは非常に有用である。
[0283] また、図 39および図 40に関連する説明では、比較的低速な通信回線で接続され ているクライアントにファイル Aを送信するとした。しかし、比較的高速な通信回線で 接続されているクライアントに対してファイル Aのみを送信してもよい。このとき、高速 な通信回線を利用して 、ると 、う利点を活力して、複数の映像コンテンツの IPピクチ ャデータを格納したファイル Aをまとめて送信してもよい。
[0284] なお、上述の説明にお!/、ては、 Bピクチャデータ(ファイル B)は Bピクチヤのみを含 むとして説明した。しかし本発明はこれに限られず、 Bピクチャデータ(ファイル B)力 , Pピクチャを含んでもよい。
[0285] なお、本実施形態では、 MPEG— 4 AVC規格のストリームへの適用に好適なハ 一ドウエアの構成および処理を説明した。しかし、本発明が適用される対象は MPEG 4 AVC規格のストリームに限られない。 MPEG— 2規格の符号化方式と比較して 、符号ィ匕順序と再生順序が大きく異なる自由度の高い映像符号ィ匕方式を用いて生 成された符号化ストリームであればよい。より具体的には、 I、 Pおよび Bピクチャを利 用して符号化され、かつ、 GOP (先頭に Iピクチャデータが配置され、有限の枚数の ピクチャデータが含まれて 、るピクチャのまとまり)を観念できるデータストリームであ れば、本発明を適用することができる。 Iピクチャと Pピクチャを参照バッファ(リ 'オーダ 'バッファ)の容量が許す限り、 GOP先頭の Iピクチャの次に 1以上の Pピクチャをまと めて配置し、その後に Bピクチャを配置して復号ィ匕できるように規定すればよい。これ により、より効率的に特殊再生が可能となる。
[0286] なお本実施形態においては、まとめて配置された Iおよび Pピクチャのうち、最後の ピクチャの終了アドレスまでのオフセットアドレスを、 VOBU情報の" I— end"フィール ドの値に記述することにより、本実施形態による符号化処理と一般的な符号化処理と の整合を図っている。 VOBU情報は管理情報の一部であり、データストリームとは独 立している。しかし、このような情報をデータストリームの内部、もしくは他の管理情報 のフィールドに記述することもできる。 "I— end"フィールドには、 Iピクチャデータの最 後の位置までのアドレスオフセットが記述される。このようにする利点は、再生機器が
予め特殊再生の方法し Iピクチャのみの再生、または、 Iおよび Pピクチャの再生)を 選択できる点にある。
[0287] また、例えば" I—endl"フィールドと" I—end2"フィールドとを設け、 "I— endl"フィ 一ルドに Iピクチャデータの終端位置までのアドレスオフセットを記述し、 "I— end2"フ ィールドには、上述の処理によってまとめて配置された Iおよび Pピクチャのピクチャデ ータのうち、最後のピクチャデータの終端位置までのアドレスオフセットを記述しても よい。再生機器は、 Iピクチャだけを再生する際には、 I— startカゝら I—endlまでを読 み込み、 IPピクチャの再生を行う際は、 I— start力も I— end2までを読み込む。これ により、再生機器は異なる特殊再生の方法を選択でき、その選択に従った特殊再生 を実現できる。
[0288] 本明細書においては、 AVCストリームを MPEG— 2TSのシステムターゲットデコー ダ (T—STD)を利用して実施形態を説明した。しかし、これは例であり、映像、音声 等のエレメンタリストリームの多重化方法は任意であり、 MPEG— PSや他の映像およ び音声の多重化ストリームを利用して格納してもよい。
産業上の利用可能性
[0289] 本発明のデータ処理装置によれば、映像データの圧縮符号ィ匕後のピクチャデータ に関し、自己復号ィ匕可能な第 1タイプのピクチャの後に、時間的に前に符号化された ピクチャのみを参照することによって復号ィ匕可能な第 2タイプのピクチャを 2以上連続 して配置する。ピクチャデータが連続して存在すれば復号化処理が可能であるから、 特に特殊再生のための復号ィ匕処理時において、まとめて読み出し、その後の復号化 処理を行うことにより、容易に高速再生 (スキップ再生)が可能となる。ユーザからの要 求に応じてレスポンス良く特殊再生を実現することが可能であり、特殊再生を支援で きる。