JP4882269B2 - 多重化装置および多重化方法、プログラム、並びに記録媒体 - Google Patents

多重化装置および多重化方法、プログラム、並びに記録媒体 Download PDF

Info

Publication number
JP4882269B2
JP4882269B2 JP2005125546A JP2005125546A JP4882269B2 JP 4882269 B2 JP4882269 B2 JP 4882269B2 JP 2005125546 A JP2005125546 A JP 2005125546A JP 2005125546 A JP2005125546 A JP 2005125546A JP 4882269 B2 JP4882269 B2 JP 4882269B2
Authority
JP
Japan
Prior art keywords
audio
packet
pes
packets
audio data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005125546A
Other languages
English (en)
Other versions
JP2006301442A (ja
Inventor
綾子 岩瀬
元樹 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2005125546A priority Critical patent/JP4882269B2/ja
Application filed by Sony Corp filed Critical Sony Corp
Priority to TW095114048A priority patent/TW200709177A/zh
Priority to CN2006800135587A priority patent/CN101164103B/zh
Priority to PCT/JP2006/308298 priority patent/WO2006115163A1/ja
Priority to EP06732156.2A priority patent/EP1873755B1/en
Priority to US11/911,666 priority patent/US7688822B2/en
Publication of JP2006301442A publication Critical patent/JP2006301442A/ja
Priority to US12/708,423 priority patent/US7974281B2/en
Application granted granted Critical
Publication of JP4882269B2 publication Critical patent/JP4882269B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/322Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier used signal is digitally coded
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs

Description

本発明は、多重化装置および多重化方法、プログラム、並びに記録媒体に関し、特に、異なる符号化方式によりエンコードされたオーディオストリームのTSパケットを多重化する多重化装置および多重化方法、プログラム、並びに記録媒体に関する。
MPEG(Moving Picture Expert Group)方式を用いて、ビデオストリームやオーディオストリームをTS(Transport Stream)パケット化し、多重化する場合、デコーダとして標準的なモデル(システムターゲットデコーダ(STD))が想定され、このSTDにおいて正しくデコード処理(復号処理)できるように、符号化処理(エンコード処理)が行われる。
例えば、特許文献1には、図1に示されるような符号化装置が、図2に示されるSTDモデルを想定し、エレメンタリストリームをTSパケット化し、MPEGトランスポートストリームを生成する技術が開示されている。
図1の符号化装置は、アクセスユニット検出器1、疑似アクセスユニット計算機2、パケッタイザ3、およびスケジューラ4を備えている。また、図2のSTDモデルは、前段バッファ21、後段バッファ22、およびデコーダ23を備えている。
符号化装置のアクセスユニット検出器1は、エレメンタリストリームよりアクセスユニットを取得し、そのアクセスユニットの大きさとデコード時刻情報を検出する。疑似アクセスユニット計算機2は、図2の前段バッファ21の大きさと、前段バッファ21へのデータ転送レートに応じて、アクセスユニットを、所定の大きさの疑似アクセスユニットに分割したときに、その疑似アクセスユニットが前段バッファ21へ入力される時刻(入力完了時刻)(疑似アクセスユニットのデコード時刻)を計算する。スケジューラ4は、疑似アクセスユニットの大きさと疑似デコード時刻から、多重化ストリームをデコーダに供給する時刻(クロックリファレンス)とパケットの大きさ(パケットサイズ)を計算する。
パケッタイザ3は、エレメンタリストリームを、パケットサイズに従ってパケット化し、デコード時刻とクロックリファレンスをエンコードし、MPEGトランスポートストリームを生成する。生成されたMPEGトランスポートストリームは、伝送路5を介して送信されたり、記録媒体5に記録される。
ところで、オーディオストリームを、MPEG方式を用いてTSパケット化し、1つのトランスポートストリームに多重化する場合、そのオーディオストリームは、予め所定の符号化方式によりエンコードされている。この符号化方式には、例えば、固定長符号化方式や、可変長符号化方式などがある。
そこで、異なる符号化方式により符号化された2つのオーディオストリームを、1つのトランスポートストリームに多重化することが考えられる。
特開平9−261604号公報
しかしながら、異なる符号化方式でエンコードされた2つのオーディオストリームを、同一のPIDのTSパケットにTSパケット化して多重化することは、図2に示されるようなSTDモデルでは想定されておらず、異なる符号化方式でエンコードされた2つのオーディオストリームを、同一のPIDのTSパケットにTSパケット化して1つのトランスポートストリームに多重化することは困難であった。
本発明はこのような状況に鑑みてなされたものであり、異なる符号化方式でエンコードされた2つのオーディオストリームのTSパケットを、1つのトランスポートストリームに多重化するものである。
本発明の多重化装置は、オーディオデータを、所定の符号化方式である第1の符号化方式でエンコードする第1のエンコード手段と、オーディオデータを、可変長符号化方式であり、かつ、第1の符号化方式とは異なる第2の符号化方式であって、所定のオーディオデータの単位ごとに、デコードされる場合に利用されるタイミングを表すタイミング値を付加する第2の符号化方式でエンコードする第2のエンコード手段と、第1のエンコード手段によりエンコードされたオーディオデータと、第2のエンコード手段によりエンコードされたオーディオデータとを、PESパケットにパケット化するとともに、パケット化した複数のPESパケットに、デコードされる場合に利用される時刻情報を付加するPESパケット化手段と、PESパケット化手段によりPESパケット化されたPESパケットを、TSパケットにパケット化するとともに、パケット化した複数のTSパケットに同一のIDを付加するTSパケット化手段と、TSパケット化手段によりパケット化された複数のTSパケットの中から、多重化するTSパケットを決定する決定手段と、決定手段により決定されたTSパケットを多重化する多重化手段とを備え、PESパケット化手段は、所定の周期を満たすオーディオデータの単位がPESペイロードの先頭に現れるように、第1のエンコード手段によりエンコードされたオーディオデータと、第2のエンコード手段によりエンコードされたオーディオデータとを、PESパケットにパケット化し、決定手段は、第1のエンコード手段によりエンコードされたオーディオデータをデコードする第1の仮想デコーダと、第2のエンコード手段によりエンコードされたオーディオデータに付加されているタイミング値に基づいて、第2のエンコード手段によりエンコードされたオーディオデータをデコードする第2の仮想デコーダとを想定するとともに、多重化されたTSパケットをランダムアクセスするための多重化制約に基づいて、多重化するTSパケットを決定する場合、第1の仮想デコーダが有する第1のエレメンタリバッファおよび第1のエレメンタリバッファへのデータ転送レートと、第2の仮想デコーダが有する第2のエレメンタリバッファおよび第2のエレメンタリバッファへのデータ転送レートとに基づいて、第1の仮想デコーダが有する第1のエレメンタリバッファと、第2の仮想デコーダが有する第2のエレメンタリバッファとが、オーバーフローおよびアンダーフローしないように、TSパケット化手段によりパケット化された複数のTSパケットの中から、多重化するTSパケットを決定することを特徴とする。
多重化手段により多重化されたTSパケットを記録媒体に記録する記録手段をさらに備えるものとすることができる。
オーディオデータの単位は、オーディオアクセスユニットであるものとすることができる。
第1の仮想デコーダは、第1のエレメンタリバッファの前段にトランスポートバッファを有し、第2の仮想デコーダは、第2のエレメンタリバッファの前段にトランスポートバッファを有するとともに、第2のエレメンタリバッファの後段に、第3のエレメンタリバッファをさらに有するものとすることができる。
決定手段は、第3のエレメンタリバッファへの入力タイミングが、タイミング値に対するタイミングであると想定して、TSパケット化手段によりパケット化された複数のTSパケットの中から、多重化するTSパケットを決定するものとすることができる。
タイミング値は、オーディオストリームの単位が、第3のエレメンタリバッファに渡される、オーディオ情報のサンプリング周期で表される値であるものとすることができる。
PESパケット化手段は、第2のエンコード手段によりエンコードされたオーディオデータをPESパケット化する場合、周期を満たし、その位置からデコードを開始するためのデコード情報が含まれるオーディオデータの単位がPESペイロードの先頭に現れるように、第2のエンコード手段によりエンコードされたオーディオデータをPESパケットにパケット化するものとすることができる。
多重化制約は、第1のエンコード手段によりエンコードされたオーディオデータのTSパケットに含まれる時刻情報と同じ時刻情報を有する、第2のエンコード手段によりエンコードされたオーディオデータのTSパケットがTSに含まれる場合、その第2のエンコード手段によりエンコードされたオーディオデータのTSパケットより先に、第1のエンコード手段によりエンコードされたオーディオデータのTSパケットを多重化する制約であり、決定手段は、第1の仮想デコーダおよび第2の仮想デコーダの想定と、この多重化制約とに基づいて、多重化するTSパケットを決定するものとすることができる。
本発明の多重化方法は、オーディオデータを、所定の符号化方式である第1の符号化方式でエンコードする第1のエンコードステップと、オーディオデータを、可変長符号化方式であり、かつ、第1の符号化方式とは異なる第2の符号化方式であって、所定のオーディオデータの単位ごとに、デコードされる場合に利用されるタイミングを表すタイミング値を付加する第2の符号化方式でエンコードする第2のエンコードステップと、第1のエンコードステップの処理によりエンコードされたオーディオデータと、第2のエンコードステップの処理によりエンコードされたオーディオデータとを、PESパケットにパケット化するとともに、パケット化した複数のPESパケットに、デコードされる場合に利用される時刻情報を付加するPESパケット化ステップと、PESパケット化ステップの処理によりPESパケット化されたPESパケットを、TSパケットにパケット化するとともに、パケット化した複数のTSパケットに同一のIDを付加するTSパケット化ステップと、TSパケット化ステップの処理によりパケット化された複数のTSパケットの中から、多重化するTSパケットを決定する決定ステップと、決定ステップの処理により決定されたTSパケットを多重化する多重化ステップとを含み、PESパケット化ステップの処理は、所定の周期を満たすオーディオデータの単位がPESペイロードの先頭に現れるように、第1のエンコードステップの処理によりエンコードされたオーディオデータと、第2のエンコードステップの処理によりエンコードされたオーディオデータとを、PESパケットにパケット化し、決定ステップの処理は、第1のエンコードステップの処理によりエンコードされたオーディオデータをデコードする第1の仮想デコーダと、第2のエンコードステップの処理によりエンコードされたオーディオデータに付加されているタイミング値に基づいて、第2のエンコードステップの処理によりエンコードされたオーディオデータをデコードする第2の仮想デコーダとを想定するとともに、多重化されたTSパケットをランダムアクセスするための多重化制約に基づいて、多重化するTSパケットを決定する場合、第1の仮想デコーダが有する第1のエレメンタリバッファおよび第1のエレメンタリバッファへのデータ転送レートと、第2の仮想デコーダが有する第2のエレメンタリバッファおよび第2のエレメンタリバッファへのデータ転送レートとに基づいて、第1の仮想デコーダが有する第1のエレメンタリバッファと、第2の仮想デコーダが有する第2のエレメンタリバッファとが、オーバーフローおよびアンダーフローしないように、TSパケット化ステップの処理によりパケット化された複数のTSパケットの中から、多重化するTSパケットを決定することを特徴とする。
本発明のプログラムは、オーディオデータを、所定の符号化方式である第1の符号化方式でエンコードする第1のエンコードステップと、オーディオデータを、可変長符号化方式であり、かつ、第1の符号化方式とは異なる第2の符号化方式であって、所定のオーディオデータの単位ごとに、デコードされる場合に利用されるタイミングを表すタイミング値を付加する第2の符号化方式でエンコードする第2のエンコードステップと、第1のエンコードステップの処理によりエンコードされたオーディオデータと、第2のエンコードステップの処理によりエンコードされたオーディオデータとを、PESパケットにパケット化するとともに、パケット化した複数のPESパケットに、デコードされる場合に利用される時刻情報を付加するPESパケット化ステップと、PESパケット化ステップの処理によりPESパケット化されたPESパケットを、TSパケットにパケット化するとともに、パケット化した複数のTSパケットに同一のIDを付加するTSパケット化ステップと、TSパケット化ステップの処理によりパケット化された複数のTSパケットの中から、多重化するTSパケットを決定する決定ステップと、決定ステップの処理により決定されたTSパケットを多重化する多重化ステップとを含む処理をコンピュータに実行させ、PESパケット化ステップの処理は、所定の周期を満たすオーディオデータの単位がPESペイロードの先頭に現れるように、第1のエンコードステップの処理によりエンコードされたオーディオデータと、第2のエンコードステップの処理によりエンコードされたオーディオデータとを、PESパケットにパケット化し、決定ステップの処理は、第1のエンコードステップの処理によりエンコードされたオーディオデータをデコードする第1の仮想デコーダと、第2のエンコードステップの処理によりエンコードされたオーディオデータに付加されているタイミング値に基づいて、第2のエンコードステップの処理によりエンコードされたオーディオデータをデコードする第2の仮想デコーダとを想定するとともに、多重化されたTSパケットをランダムアクセスするための多重化制約に基づいて、多重化するTSパケットを決定する場合、第1の仮想デコーダが有する第1のエレメンタリバッファおよび第1のエレメンタリバッファへのデータ転送レートと、第2の仮想デコーダが有する第2のエレメンタリバッファおよび第2のエレメンタリバッファへのデータ転送レートとに基づいて、第1の仮想デコーダが有する第1のエレメンタリバッファと、第2の仮想デコーダが有する第2のエレメンタリバッファとが、オーバーフローおよびアンダーフローしないように、TSパケット化ステップの処理によりパケット化された複数のTSパケットの中から、多重化するTSパケットを決定することを特徴とする。
第1の本発明によれば、第1の符号化方式でエンコードされたオーディオデータと、第2の符号化方式でエンコードされたオーディオデータとが、PESパケットにパケット化されるとともに、パケット化した複数のPESパケットに、デコードされる場合に利用される時刻情報が付加され、PESパケットが、TSパケットにパケット化されるとともに、複数のTSパケットに同一のIDが付加される。また、複数のTSパケットの中から、多重化するTSパケットが決定され、決定されたTSパケットが多重化される。PESパケット化は、所定の周期を満たすオーディオデータの単位がPESペイロードの先頭に現れるように、第1の符号化方式でエンコードされたオーディオデータと、第2の符号化方式でエンコードされたオーディオデータとが、PESパケットにパケット化される。さらに、多重化されるTSパケットの決定は、第1の符号化方式でエンコードされたオーディオデータをデコードする第1の仮想デコーダと、第2の符号化方式でエンコードされたオーディオデータに付加されているタイミング値に基づいて、第2の符号化方式でエンコードされたオーディオデータをデコードする第2の仮想デコーダとが想定され、多重化されたTSパケットをランダムアクセスするための多重化制約に基づいて、多重化するTSパケットが決定される。第1の仮想デコーダが有する第1のエレメンタリバッファおよび第1のエレメンタリバッファへのデータ転送レートと、第2の仮想デコーダが有する第2のエレメンタリバッファおよび第2のエレメンタリバッファへのデータ転送レートとに基づいて、第1の仮想デコーダが有する第1のエレメンタリバッファと、第2の仮想デコーダが有する第2のエレメンタリバッファとが、オーバーフローおよびアンダーフローしないように、パケット化された複数のTSパケットの中から、多重化するTSパケットが決定される。
本発明の記録媒体は、所定の符号化方式である第1の符号化方式でエンコードされたオーディオデータが、複数のPESパケットにパケット化され、さらに複数のTSパケットにパケット化された複数のTSパケットと、可変長符号化方式であり、かつ、第1の符号化方式とは異なる第2の符号化方式であって、所定のオーディオデータの単位ごとに、デコードされる場合に利用されるタイミングを表すタイミング値が付加される第2の符号化方式でエンコードされたオーディオデータが、複数のPESパケットにパケット化され、さらに複数のTSパケットにパケット化された複数のTSパケットとが、多重化されて記録され、複数のPESパケットは、デコードされる場合に利用される時刻情報を含むとともに、所定の周期を満たすオーディオデータの単位がPESペイロードの先頭に現れるように、第1符号化方式でエンコードされたオーディオデータと、第2の符号化方式でエンコードされたオーディオデータとが、PESパケット化されたものであり、複数のTSパケットは、同一のIDを含むとともに、第1の符号化方式でエンコードされたオーディオデータをデコードする第1の仮想デコーダと、第2の符号化方式でエンコードされたオーディオデータに付加されているタイミング値に基づいて、第2の符号化方式によりエンコードされたオーディオデータをデコードする第2の仮想デコーダとが想定されるとともに、多重化されたTSパケットをランダムアクセスするための多重化制約とに基づいて、多重化すると決定されたTSパケットであり、第1の仮想デコーダが有する第1のエレメンタリバッファおよび第1のエレメンタリバッファへのデータ転送レートと、第2の仮想デコーダが有する第2のエレメンタリバッファおよび第2のエレメンタリバッファへのデータ転送レートとに基づいて、第1の仮想デコーダが有する第1のエレメンタリバッファと、第2の仮想デコーダが有する第2のエレメンタリバッファとが、オーバーフローおよびアンダーフローしないように、パケット化された複数のTSパケットの中から、多重化すると決定されたTSパケットであることを特徴とする。
第2の本発明によれば、第1の符号化方式でエンコードされたオーディオデータが、複数のPESパケットにパケット化され、さらに複数のTSパケットにパケット化された複数のTSパケットと、所定のオーディオデータの単位ごとに、デコードされる場合に利用されるタイミングを表すタイミング値が付加される第2の符号化方式でエンコードされたオーディオデータが、複数のPESパケットにパケット化され、さらに複数のTSパケットにパケット化された複数のTSパケットとが、多重化されて記録され、複数のPESパケットは、デコードされる場合に利用される時刻情報を含むとともに、所定の周期を満たすオーディオデータの単位がPESペイロードの先頭に現れるように、第1符号化方式でエンコードされたオーディオデータと、第2の符号化方式でエンコードされたオーディオデータとが、PESパケット化されたものであり、複数のTSパケットは、同一のIDを含むとともに、第1の符号化方式でエンコードされたオーディオデータをデコードする第1の仮想デコーダと、第2の符号化方式でエンコードされたオーディオデータに付加されているタイミング値に基づいて、第2の符号化方式によりエンコードされたオーディオデータをデコードする第2の仮想デコーダとが想定されるとともに、多重化されたTSパケットをランダムアクセスするための多重化制約とに基づいて、多重化すると決定されたTSパケットとされる。第1の仮想デコーダが有する第1のエレメンタリバッファおよび第1のエレメンタリバッファへのデータ転送レートと、第2の仮想デコーダが有する第2のエレメンタリバッファおよび第2のエレメンタリバッファへのデータ転送レートとに基づいて、第1の仮想デコーダが有する第1のエレメンタリバッファと、第2の仮想デコーダが有する第2のエレメンタリバッファとが、オーバーフローおよびアンダーフローしないように、パケット化された複数のTSパケットの中から、多重化すると決定されたTSパケットとされる。
本発明によれば、オーディオストリームのTSパケットを多重化することができる。特に、本発明によれば、異なる符号化方式でエンコードされた2つのオーディオストリームのTSパケットを、1つのトランスポートストリームに多重化することができる。
以下、図を参照して、本発明の実施の形態について説明する。
図3は、本発明を適用した送信装置111がMPEG(Moving Picture Experts Group)2-TS(Transport stream)(以下、MPEG2-TSと称する)の方式を用いてオーディオストリームを送信する場合の制約を説明する図である。
この送信装置111は、例えば、MPEG2-TS方式を用いて、ストリームをPESパケット化した後、TSパケット化し、多重化してMPEG2-TS(MPEG2トランスポートストリーム)を生成し、送信する装置である。例えば、送信装置111は、生成したMPEG2-TSを、ドライブ112を介してリムーバブルメディア113に記録させたり、通信部114を制御して、ネットワーク115に送信させる。このとき、送信装置111は、ビデオストリームやオーディオストリームをMPEG2-TSの方式を用いてTSパケット化する場合、デコーダの標準的なモデル(システムターゲットデコーダ(STD))として、仮想的な受信装置120に設けられている仮想デコーダ121を想定し、この仮想デコーダにおいて正しくデコード処理(復号処理)できるように、MPEG2-TSを生成する。仮想的な受信装置120は、ドライブ122に接続されており、ドライブ122を介してリムーバブルメディア113に記録されたMPEG2-TSを読み出したり、通信部123を制御して、ネットワーク115からMPEG2-TSを取得するものとして想定されている。なお、リムーバブルメディア113は、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどにより構成される。また、仮想デコーダ121の構成例は、図14と図15を参照して後述する。
図4は、図3の送信装置111の構成例を示すブロック図である。図4においては、送信装置111が、オーディオストリームを符号化し、これをTSパケット化して(MPEG2-TSパケットとして)送信するものとして説明する。
送信装置111には、入力部131、オーディオエンコーダ132、バッファ133、抽出情報付加部134、制御部135、PES(Packetized Elementarty Stream)パケット化部136、TSパケット化部137、多重化部138、および送信部139が設けられている。また、オーディオエンコーダ132には、第1のエンコーダ141と第2のエンコーダ142とが設けられている。さらに、バッファ133には、第1のバッファ143と第2のバッファ144とが設けられている。
入力部131には、送信対象のオーディオデータが入力される。入力部131は、入力されたオーディオデータを、オーディオエンコーダ132の第1のエンコーダ141と、第2のエンコーダ142のそれぞれに供給する。
第1のエンコーダ141は、汎用のオーディオデコーダでデコード可能な音声符号化方式(例えば、固定長符号化方式)でオーディオデータのエンコードを行うエンコーダである。第2のエンコーダ142は、高性能なオーディオデコーダでのみでデコード可能な音声符号化方式(可変長符号化方式)でオーディオデータのエンコードを行うエンコーダである。具体的には、第2のエンコーダ142は、可変ビットレート(VBR)オーディオであり、復号時に、VBRのピークレートを低く抑えるためのFIFO(First-In First-Out)バッファを用いるオーディオ符号化方式を用いてエンコードを行う。また、第2のエンコーダ142は、オーディオアクセスユニットが仮想デコーダのFIFOバッファ(後述する図10のFIFOバッファ391)に渡されるオーディオ情報のサンプリング周期で表されている時間を示すタイミング値を、エンコードする際に付加する。なお、第2のエンコーダ142がエンコードする際に付加する、オーディオアクセスユニットが仮想デコーダのFIFOバッファに渡されるオーディオ情報のサンプリング周期で表されている時間を示すタイミング値を、以下においては、インプットタイミング(Input timing)とも称する。なお、第1のエンコーダ141は、エンコードする際にインプットタイミングは付加しない。
ここで、第2のエンコーダ142は、第1のエンコーダ141よりも高性能な符号化方式を用いてエンコードを行うので、第1のエンコーダ141によりエンコードされた結果のオーディオストリームを復号して再生した場合よりも、第2のエンコーダ142によりエンコードされた結果のオーディオストリームを復号して再生した場合の方が、オーディオの再生品質が高くなったり、機能性が高くなったりする。
なお、以下において、第1のエンコーダ141が用いる符号化方式を第1の符号化方式と称し、第2のエンコーダ142が用いる符号化方式を第2の符号化方式と称する。第2の符号化方式は、可変ビットレート(VBR)オーディオであり、復号時に、VBRのピークレートを低く抑えるためのFIFO(First-In First-Out)バッファを用いるオーディオ符号化方式である。すなわち、第2の符号化方式は、可変長符号化方式であり、この方式により符号化されたオーディオESを復号する場合、復号側では、FIFOバッファが必要となる。ここで、可変長符号化方式によりエンコードされて出力されるオーディオストリームの出力ビットレートは可変長とされる。逆に固定長符号化方式によりエンコードされて出力されるオーディオストリームの出力ビットレートは固定長とされる。以下において、第1のエンコーダ141が第1の符号化方式を用いてオーディオデータをエンコードした結果のストリームを、BSオーディオES(基本オーディオエレメンタリストリーム)と称し、第2のエンコーダ142が第2の符号化方式を用いてオーディオデータをエンコードした結果のストリームを、HQオーディオES(高品質オーディオエレメンタリストリーム)と称する。
第1のエンコーダ141は、入力部131から供給されたオーディオデータを、第1の符号化方式を用いてエンコード(符号化)し、その結果得られたBSオーディオESをバッファ133の第1のバッファ143に供給する。第2のエンコーダ142は、入力部131から供給されたオーディオデータを、第2の符号化方式を用いてエンコード(符号化)し、その結果得られたHQオーディオESを、バッファ133の第2のバッファ144に供給する。このように、第1のバッファ143は、BSオーディオESを格納(バッファリング)し、第2のバッファ144は、HQオーディオESを格納(バッファリング)する。そして、第1のバッファ143と第2のバッファ144のそれぞれは、制御部135からの制御に基づいて、自分自身に格納されているオーディオストリームを所定のタイミングで読み出し、PESパケット化部136に供給する。
制御部135は、第1のバッファ143と第2のバッファ144のそれぞれに格納されたBSオーディオESとHQオーディオESを監視したり、PESパケット化部136、TSパケット化部137、多重化部138、および送信部139の各部を制御したりする。また、制御部135は、デコードされる場合に利用される時刻情報であるPTS(Presentation Time Stamp)を管理したり、ストリームの種類を識別するためにTSパケットに付加するPID(Packet Identification)を、TSパケット化部137に供給したりする。さらに、制御部135は、仮想デコーダとして、後述する図14と図15の仮想デコーダ121を想定し、この仮想デコーダ121のバッファ占有量の計算を行うとともに、ランダムアクセスのための多重化制約に基づいて、TSパケット化部137によりパケット化された複数のTSパケットの中から、多重化するTSパケットを決定する。すなわち、制御部135は、仮想デコーダ121のバッファ占有量の計算と、ランダムアクセスのための多重化制約に基づいて、多重化部138が多重化するTSパケットを決定(制御)する。
PESパケット化部136は、第1のバッファ143に格納されているBSオーディオESおよび第2のバッファ144に格納されているHQオーディオESを、制御部135からの制御に基づくタイミングでそれぞれ引き抜き、制御部135からの制御に基づいて、これをPESパケット化する。このとき、PESパケット化部136は、制御部135から供給されてきたPTSを、PESの各PESパケットに格納する。すなわち、PESパケット化部136から出力されるPESパケット(BSオーディオESに対応するPESパケットとHQオーディオESに対応するPESパケット)には、それぞれPTSが格納されている。
本実施の形態では、BSオーディオESに基づいて生成された複数のPESパケット(BSオーディオPESパケット)がそれぞれ、所定の順番で連続してTSパケット化部136からTSパケット化部137に供給されるとする。この場合、結果として複数のBSオーディオPESパケットからなる1つのストリーム(この1つのストリームを、以下においては、BSオーディオPESと称する)がPESパケット化部136からTSパケット化部137に供給されることになる。また、HQオーディオESに基づいて生成された複数のPESパケット(HQオーディオPESパケット)がそれぞれ、所定の順番で連続してTSパケット化部136からTSパケット化部137に供給されるとする。この場合、結果として複数のHQオーディオPESパケットからなる1つのストリーム(この1つのストリームを、以下においては、HQオーディオPESと称する)がPESパケット化部136からTSパケット化部137に供給されることになる。
抽出情報付加部134は、BSオーディオストリームとHQオーディオストリームとが(すなわち、異なる符号化方式によりエンコードされたストリーム)の抽出がデコード側(図3の仮想的な受信装置120側)で可能となるように、BSオーディオストリームとHQオーディオストリームのそれぞれの種類に対して一意に付されたユニークな値のID(Identification)を、TSパケット化部137に供給する。すなわち、抽出情報付加部134は、BSオーディオストリームとHQオーディオストリームのそれぞれを識別するための識別情報(ID)を、TSパケット化部137に供給する。
このIDには、例えば、トランスポートパケットヘッダにあるTransport_priorityフラグを用いることができる。抽出情報付加部134は、BSオーディオストリームを伝送するトランスポートパケットには、Transport_priority=1をセットし、HQオーディオストリームを伝送するトランスポートパケットには、Transport_priority=0をセットするような情報(抽出情報)を、TSパケット化部137に供給する。
TSパケット化部137は、制御部135からの制御に基づいて、PESパケット化部136から供給されたPESパケットストリームをTSパケット(トランスポートストリームパケット)にパケット化する。具体的には、TSパケット化部137は、PESパケット化部136から供給されたBSオーディオPESをTSパケット化するとともに、PESパケット化部136から供給されたHQオーディオPESをTSパケット化する。このとき、TSパケット化部136には、抽出情報134からID(例えば、Transport_priorityフラグ)が供給されてくる他、制御部135から、PIDが供給されてくる。本実施の形態においては、PIDは、BSオーディオストリームと、HQオーディオストリームとで同一のIDとされる。すなわち、2つの異なる符号化方式により符号化されたオーディオTSパケットを、多重化して1本のオーディオストリームとする場合に、この1本のオーディオストリーム全体で、同一のIDとなるようにPIDを付す。TSパケット化部137は、抽出情報付加部134から供給された抽出情報(例えば、Transport_priorityフラグ)と、制御部135から供給されたPIDを含めるように(TSパケットのヘッダに含めるように)、TSパケットを生成する。なお、以下においては、BSオーディオPESがTSパケット化された結果を、BSオーディオTSパケットと称し、HQオーディオPESがTSパケット化された結果を、HQオーディオTSパケットと称する。また、BSオーディオTSパケットとHQオーディオTSパケットでは、各TSパケットに付された抽出情報(例えば、Transport_priorityフラグ)は異なるが、PIDは同一とされる。
多重化部138は、TSパケット化部137から供給されたTSパケットを、制御部135からの制御に基づいて多重化する。具体的には、多重化部138は、TSパケット化部137から供給されたBSオーディオTSパケットとHQオーディオTSパケットとを、制御部135からの制御に基づいて多重化し、1本のPIDが同一となるオーディオストリーム(MPEG2-TS)を生成する。このとき、多重化部138が多重化するTSパケットの順番などの制約や、PESパケット化部136がPESパケット化するときの制約については後述する。多重化部138は、多重化して生成したMPEG2-TSを、後段の送信部139に送信する。
送信部139は、多重化部138から供給されたMPEG2-TSを送信する。例えば、送信部139は、図3に示されるように、ドライブ112を制御してリムーバブルメディア113に記録させたり、通信部114を制御してネットワーク115を介して外部機器に送信する。
なお、抽出情報付加部134は、TSパケット化部137に抽出情報としてIDを供給するだけでなく、PESパケット化部136にさらに抽出情報を送信するようにしてもよい。例えば、抽出情報付加部134は、BSオーディオストリームとHQオーディオストリームのそれぞれの種類のストリームの抽出がデコード側(例えば、図3の仮想的な受信装置121側)で可能となるように、BSオーディオストリームとHQオーディオストリームのそれぞれの種類に対して一意に付されたユニークな値のIDを、PESパケット化部146に供給する。
このIDについて、本実施の形態では、Stream_idまたはStream_id_extensionを用いる。Stream_idは、MPEG2 systems規格で規定されているPESパケットヘッダにあるStream_idを指す。また、Stream_id_extensionは、MPEG2 systems規格Amendment2(2003)で規定されているPESパケットヘッダにあるStream_id_extensionを指す。オーディオストリームがMPEG Audio(MPEG-1/-2 Audio, MPEG AAC)以外のストリームである場合、Stream_id_extensionを採用すると好適である。Stream_id_extensionを用いる場合、MPEG2 systems規格Amendment2(2003)は、Stream_idに「1111 1101」(extended_stream_idを意味する値)をセットすることを規定している。また、MPEG2 systems規格Amendment2(2003)は、ストリームの種類(BSオーディオストリームとHQオーディオストリーム)を識別するユニークな値のStream_id_extensionの使用ができることを規定している。
抽出情報付加部134が、PESパケット化部136にストリームID(例えば、stream_id_extension)を供給する場合、PESパケット化部146は、取得したBSオーディオストリームとHQオーディオストリームのそれぞれを、抽出情報付加部134から供給されたストリームID(例えば、stream_id_extension)のうちの対応する1つのストリームIDを、PESパケットに含めるようにそれぞれパケット化する。各PESパケットのそれぞれのストリームIDは、対応するPESパケットの種類を識別するためのものである。ここで、PESパケットの種類とは、BSオーディオストリームとHQオーディオストリームのうちのいずれかとなる。例えば、BSオーディオストリームの種類のPESパケットとは、BSオーディオストリーム(BSオーディオES)のうちの少なくとも一部のデータが含まれているPESパケットを指す。従って、受信側の図3の仮想的な受信装置120で、所望のオーディオストリームの種類のPESパケットを選択するためには、そのPESパケットに付されているストリームIDの値を認識すればよい。
次に、図5のフローチャートを参照して、図4の送信装置111におけるデータ(ストリーム)の流れの例を簡単に説明する。
入力部131は、入力されたオーディオデータを、ステップS1において第1のエンコーダ141に供給するとともに、ステップS11において第2のエンコーダ142に供給する。第1のエンコーダ141は、ステップS2において入力されたオーディオデータを符号化し、ステップS3においてBSオーディオESをPESパケット化部136に供給する。PESパケット化部136は、ステップS4において第1のエンコーダ141から供給されたBSオーディオESをPESパケット化し、ステップS5においてBSオーディオPESをTSパケット化部137に供給する。TSパケット化部137は、ステップS6においてPESパケット化部136から供給されたBSオーディオPESをTSパケット化し、ステップS7においてBSオーディオTSを、多重化部138に供給する。また、同様にして、第2のエンコーダ142は、ステップS12において入力されたオーディオデータを符号化し、ステップS13においてHQオーディオESをPESパケット化部136に供給する。PESパケット化部136は、ステップS14において第2のエンコーダ142から供給されたHQオーディオESをPESパケット化し、ステップS15においてHQオーディオPESをTSパケット化部137に供給する。TSパケット化部137は、ステップS16においてPESパケット化部136から供給されたHQオーディオPESをTSパケット化し、ステップS17においてHQオーディオTSを、多重化部138に供給する。多重化部138は、ステップS7とステップS17の処理で供給されてきたBSオーディオTSとHQオーディオTSとを、ステップS21において多重化し、1つのMPEG2-TS(トランスポートストリーム)を生成し、ステップS22において生成したMPEG2-TSを出力する(図4の場合、送信部139に出力する)。
このように、第1のエンコーダ141によりエンコードされて得られたBSオーディオESと、第2のエンコーダ142によりエンコードされて得られたHQオーディオESとは、それぞれ独立に、PESパケット化が行われる(ステップS4とステップS14)とともに、TSパケット化が行われ(ステップS6とステップS16)、多重化部138で、多重化されて1つのオーディオストリーム(トランスポートストリーム)となる。
より具体的な例を、図6を参照して説明する。図6において、図5と対応する処理については、同一のステップ番号を付してある。
図6の例において、1段目は、BSオーディオES171とHQオーディオES181とを示しており、2段目は、BSオーディオPES172とHQオーディオPES182とを示しており、3段目は、BSオーディオTS173とHQオーディオTS183とを示しており、4段目はTS(トランスポートストリーム)190を示している。
BSオーディオES171は、図4の第1のエンコーダ141によりエンコードされて出力された状態を示しており、BSオーディオPES172は、図4のPESパケット化部136によりPESパケット化されて(ステップS4)出力された状態を示しており、BSオーディオTS173は、図4のTSパケット化部137によりTSパケット化されて(ステップS6)出力された状態を示している。また、HQオーディオES181は、図4の第2のエンコーダ142によりエンコードされて出力された状態を示しており、HQオーディオPES182は、図4のPESパケット化部136によりPESパケット化されて(ステップS14)出力された状態を示しており、HQオーディオTS183は、図4のTSパケット化部137によりTSパケット化されて(ステップS16)出力された状態を示している。そして、TS190は、図4の多重化部138により多重化されて(ステップS21)出力された状態を示している。
BSオーディオES171とHQオーディオES181とは何れも、所定のオーディオサンプル数を1つの単位として符号化されており、それぞれの単位毎に括弧で示す添え字で区切って示されている。具体的には例えば、BSオーディオES171は、BS(1),BS(2),・・・,BS(n)(nは任意の自然数)というように、複数の単位(オーディオアクセスユニット)に分離されて符号化されている。同様に例えば、HQオーディオES181は、HQ1(1),HQ(2),・・・,HQ(m)というように、複数の単位(オーディオアクセスユニット)に分離されて符号化されている。オーディオアクセスユニットとは、オーディオESを構成する符号化の単位であり、また、復号単位でもある。例えば、BSオーディオESの1つのオーディオアクセスユニットを再生した場合、その再生時間は、32ミリ秒とされ、HQオーディオESの1つのオーディオアクセスユニットを再生した場合、その再生時間は1200分の1秒とされる。
図4のPESパケット化部136は、BSオーディオES171とHQオーディオES181とを、それぞれ別のストリームIDのPESパケットにパケット化する。例えば、PESパケット化部136は、BSオーディオES171に対応するPESパケットのストリームIDを、「Stream_id_extension=b1」とし、これを生成するPESパケットのPESヘッダに含める。また、例えば、PESパケット化部136は、HQオーディオES181に対応するPESパケットのストリームIDを、「Stream_id_extension=b2」とし、これを生成するPESパケットのPESヘッダに含める。図4において、BSオーディオPES172は、PESヘッダとPESペイロード(図中、BS(1)、BS(2)、・・・、BS(n')と記述されている)とからなるPESパケット172−1乃至172−n'により構成されている。すなわち、n'個(n'は任意の自然数)のPESパケット172−1乃至172−n'により、BSオーディオPES172が構成されている。また、HQオーディオPES182は、PESヘッダとPESペイロード(図中、HQ(1)、HQ(2)、・・・、BS(m')と記述されている)とからなるBSオーディオPESパケット182−1乃至182−m'により構成されている。すなわち、m'個(m'は任意の自然数)のHQオーディオPESパケット182−1乃至182−m'により、HQオーディオPES182が構成されている。
このPESパケット化をする場合の制約として、BSオーディオPES172のPESヘッダに格納されるPTS値とHQオーディオPES182のPESヘッダに格納されるPTS値が同じになるPESパケットが1秒以内に必ず存在するようにPESパケット化をしなければならないという制約がある。ここでは、BSオーディオPESパケット172−1(PESヘッダとPESペイロード(図中、BS(1)と記述されている)からなるPESパケット)と、HQオーディオPESパケット182−1(PESヘッダとPESペイロード(図中、HQ(1)と記述されている)からなるPESパケット)との間で、互いのPESヘッダの中に含まれるPTSの値が等しい。このようなPTSが同じであるPESパケットが、PTSを時間に変換(演算)した場合に、1秒以内に必ず存在するように、PESパケット化が行われる。すなわち、BSオーディオPESパケットのPTSと同一のPTSを有するHQオーディオPESパケットが、1秒以内に存在するように、PESパケット化が行われる。なお、図4の送信装置111においては、PESパケット化部136が、この制約に基づいて、PESパケット化するものとされる。
例えば、PESパケット化部136は、図7の1段目と2段目に示されるように、BSオーディオPES172を構成する複数のBSオーディオPESパケットの各PESヘッダにPTS(例えば、BSオーディオPESパケット172−1にはPTS=BS1)を付加するとともに、BSオーディオES171に含まれる1個以上のアクセスユニットを、各PESペイロードに格納する。また、例えば、PESパケット化部136は、図8の1段目と2段目に示されるように、HQオーディオPES182を構成する複数のHQオーディオPESパケットの各PESヘッダにPTS(例えば、HQオーディオPESパケット182−1にはPTS=HQ1)を付加するとともに、HQオーディオES181に含まれる1個以上のアクセスユニットを、各PESペイロードに格納する。このようにして、PESパケット化部136は、図6に示されるBSオーディオPES172とHQオーディオPES182とを生成して、TSパケット化部137に供給する。
これに対して、TSパケット化部137は、BSオーディオPES172を構成する各PESパケットのそれぞれを、TSパケットにパケット化するとともに、HQオーディオPES182を構成する各PESパケットのそれぞれを、TSパケット化にパケット化する。このとき、TSパケット化部137は、BSオーディオPES172とHQオーディオPES182とを識別するためのtransport_priorityフラグと、オーディオストリームを識別するためのPIDを、生成するTSパケットのヘッダ(TSヘッダ)に付加する。すなわち、生成されたBSオーディオTS173を構成する複数のTSパケット231−1乃至231−j(jは任意の自然数)の各TSヘッダに格納されているPIDと、HQオーディオTS183を構成する複数のTSパケット232−1乃至232−k(kは任意の自然数)の各TSヘッダに格納されているPIDとは、同一のPIDとされ、生成されたBSオーディオTS173を構成する複数のTSパケット231−1乃至231−jの各TSヘッダに格納されているtransport_priorityフラグと、HQオーディオTS183を構成する複数のTSパケット232−1乃至232−kの各TSヘッダに格納されているtransport_priorityフラグとは、異なるtransport_priorityフラグとされる。
具体的には、TSパケット化部137は、図7の2段目と3段目に示されるように、BSオーディオTS173を構成する複数のBSオーディオTSパケットの各TSヘッダに「PID=a0,tp(transport_priority)=1」を付加し、図8の2段目と3段目に示されるように、HQオーディオTS183を構成する複数のHQオーディオTSパケットの各ヘッダに「PID=a0,tp(transport_priority)=0」を付加する。
このように、1本のオーディオストリーム(TS190)に対しては同一のPIDが付され、1本のストリームに含まれるBSオーディオESとHQオーディオESとを識別するために、それぞれ異なるtp(transport_priority)が付される。
多重化部138は、BSオーディオTS173とHQオーディオTS183とを、制御部135からの制御に基づいて多重化し、1本のトランスポートストリーム (MPEG2-TS)190を生成する。図6の例において、TS(MPEG2-TS)190は、PAT(Program Association Table)に対応するTSパケット221およびPMT(Program Map Table)に対応するTSパケット222、BSオーディオTS231−1乃至231−j(jは任意の自然数)、並びに、HQオーディオTS232−1乃至232−k(kは任意の自然数)を含むように構成されている。
この多重化をする場合の制約には、以下の2つの制約がある。
1つ目は、1PESパケット分のTSパケットの多重化が終了した後に、次の1PESパケット分のTSパケットの多重化を行わなければならないという制約である。すなわち、BSオーディオESとHQオーディオESの両方において、1PESパケット分のTSパケットは連続して多重化しなければならず、異なる種類のPESパケットを含むTSパケットが混ざり合ってはならない。具体的な例としては、BSオーディオPESパケット172−1が、BSオーディオTSパケット231−1乃至231−3のTSペイロードに格納され、HQオーディオPESパケット182−1が、HQオーディオTSパケット232−1乃至232−3のTSペイロードに格納されている場合、BSオーディオTSパケット231−1乃至231−3は、連続して多重化しなければならないし、HQオーディオTSパケット232−1乃至232−3も、連続して多重化しなければならない。この制約に基づけば、例えば、BSオーディオTSパケット231−1乃至231−3の後に、HQオーディオTSパケット232−1乃至232−3が連続して多重化されることになる。この制約により、例えば、他の種類のオーディオストリームも再生しうる再生装置において、オーディオの管理を円滑に行うことができる。
2つ目は、同一のPTS値を有するBSオーディオTSパケットと、HQオーディオTSパケットの関係は、必ずHQオーディオTSパケットがBSオーディオTSパケットよりも後ろにくるように多重化しなければならないという制約(ランダムアクセスのための多重化制約)がある。例えば、BSオーディオTSパケット231−1と、HQオーディオTSパケット232−1とに格納されているPTS値が、同一のPTS値を有する場合、BSオーディオTSパケット231−1の後に(直後ではなく、その後ろであれば構わない)に、HQオーディオTSパケット232−1が配置されるように多重化しなければならない。すなわち、同一のPTS値を有するPESパケットとPESペイロードが格納されているTSパケットについて、BSオーディオESの後に、HQオーディオESのTSパケットが配置されるような制約が設けられている。この2つ目の制約は、ランダムアクセスを行うときに利用されるEP_mapのエントリーポイントが1秒以下の間隔とされなければならないことによる制約である。EP_mapの詳細は、図23乃至図29を参照して後述する。
この周期としては、例えば、BSオーディオES171のオーディオアクセスユニット5個分の再生時間と、HQオーディオES181のオーディオアクセスユニット192個分の再生時間が等しい場合、BSオーディオES171のオーディオアクセスユニット5個分(すなわち、HQオーディオES181のオーディオアクセスユニット192個分)の周期で同じPTSを有するアクセスユニットが存在することになる。
次に、図7を参照して、図6のBSオーディオES171がPESパケット化されてBSオーディオPES172とされ、BSオーディオPES172がさらにTSパケット化されてBSオーディオTS173とされる場合のデータ構造の変化を簡単に説明する。なお、図中、図6と対応する部分には、同一の符号とステップ番号を付してある。
図7に示されるように、BSオーディオES171がPESパケット化された場合(ステップS4)、BSオーディオPES172を構成するBSオーディオPESパケット172−1乃至172−n'のPESペイロードに、BSオーディオES171に含まれる複数のオーディオアクセスユニット(BS(1)、BS(2)、・・・BS(n))が格納される。図7の例の場合、BSオーディオPESパケット172−1のPESペイロードに、BSオーディオES171のBS(1)乃至BS(3)の3つのオーディオアクセスユニットが格納され、BSオーディオPESパケット172−1のPESヘッダに、PTS=BS1の値が格納される。また、例えば、BSオーディオPESパケット172−2のPESペイロードに、BSオーディオES171のBS(4)乃至BS(6)の3つのオーディオアクセスユニットが格納され、BSオーディオPESパケット172−2のPESヘッダに、PTS=BS2の値が格納される。また、例えば、BSオーディオPESパケット172−n'のPESペイロードに、BSオーディオES171のBS(n−1)とBS(n)の2つのオーディオアクセスユニットが格納され、BSオーディオPESパケット172−n'のPESヘッダにPTS=BSn'の値が格納される。
そして、BSオーディオPES172がTSパケット化された場合(ステップS6)、BSオーディオTS173を構成するBSオーディオTSパケット231−1乃至231−jのTSペイロードに、BSオーディオPES172のデータがそれぞれ格納される。例えば、BSオーディオTSパケット231−1と231−2の各TSペイロードに、BSオーディオPESパケット172−1が格納され、BSオーディオTSパケット231−3と232−4の各TSペイロードに、BSオーディオPESパケット172−2が格納される。このとき、BSオーディオTSパケット231−1のTSペイロードに、BSオーディオPESパケット172−1のPESヘッダのPTS、すなわち、PTS=BS1が格納され、BSオーディオTSパケット231−3のTSペイロードに、BSオーディオPESパケット172−2のPESヘッダのPTS、すなわち、PTS=BS2が格納され、BSオーディオTSパケット231−j−1のTSペイロードに、BSオーディオPESパケット172−n'のPESヘッダのPTS、すなわち、PTS=BSn'が格納されている。
このように、BSオーディオTSパケットの中には、そのTSペイロードに、PTSの値が格納されているものがある。
次に、図8を参照して、図6のHQオーディオES181がPESパケット化されてHQオーディオPES182とされ、HQオーディオPES182がさらにTSパケット化されてHQオーディオTS183とされる場合のデータ構造の変化を簡単に説明する。なお、図中、図6と対応する部分には、同一の符号とステップ番号を付してある。また、基本的には、図8のHQオーディオESは、図7のBSオーディオESの場合と同様である。
図8に示されるように、HQオーディオES181がPESパケット化された場合(ステップS14)、HQオーディオPES182を構成するHQオーディオPESパケット182−1乃至182−m'のPESペイロードに、HQオーディオES181に含まれる複数のオーディオアクセスユニット(HQ(1)、HQ(2)、・・・HQ(m))が格納される。図8の例の場合、HQオーディオPESパケット182−1のPESペイロードに、HQオーディオES181のHQ(1)乃至HQ(3)の3つのオーディオアクセスユニットが格納され、HQオーディオPESパケット182−1のPESヘッダに、PTS=HQ1の値が格納される。また、例えば、HQオーディオPESパケット182−2のPESペイロードに、HQオーディオES181のHQ(4)乃至HQ(6)の3つのオーディオアクセスユニットが格納され、HQオーディオPESパケット182−2のPESヘッダに、PTS=HQ2の値が格納される。また、例えば、HQオーディオPESパケット182−m'のPESペイロードに、HQオーディオES181のHQ(m−1)とHQ(m)の2つのオーディオアクセスユニットが格納され、HQオーディオPESパケット182−m'のPESヘッダにPTS=HQm'の値が格納される。
そして、HQオーディオPES182がTSパケット化された場合(ステップS16)、HQオーディオTS183を構成するHQオーディオTSパケット232−1乃至232−kのTSペイロードに、HQオーディオPES182のデータがそれぞれ格納される。例えば、HQオーディオTSパケット232−1乃至232−3の各TSペイロードに、HQオーディオPESパケット182−1が格納され、HQオーディオTSパケット232−4乃至232−6の各TSペイロードに、HQオーディオPESパケット182−2が格納される。このとき、HQオーディオTSパケット232−1のTSペイロードに、HQオーディオPESパケット182−1のPESヘッダのPTS、すなわち、PTS=HQ1が格納され、HQオーディオTSパケット232−4のTSペイロードに、HQオーディオPESパケット182−2のPESヘッダのPTS、すなわち、PTS=HQ2が格納され、HQオーディオTSパケット232−k−2のTSペイロードに、HQオーディオPESパケット182−m'のPESヘッダのPTS、すなわち、PTS=HQm'が格納されている。
このように、HQオーディオTSパケットの中には、そのTSペイロードに、PTSの値が格納されているものがある。
そして、図7のBSオーディオTS173と、図8のHQオーディオTS183とを多重化する場合に、1PESパケット分のTSパケットの多重化が終了した後に、次の1PESパケット分のTSパケットの多重化を行わなければならないという制約と、同一のPTS値を有するBSオーディオTSパケットと、HQオーディオTSパケットの関係は、必ずHQオーディオTSパケットがBSオーディオTSパケットよりも後ろにくるように多重化しなければならないという制約とに基づいて、多重化を行う。
制約に基づく多重化の具体的な例を、図9を参照して説明する。図9において、1段目は、BSオーディオTS173とHQオーディオTS183とを示し、2段目は、BSオーディオTS173とHQオーディオTS183とを多重化した場合のTS190を示している。
例えば、BSオーディオTSパケット231−1に格納されているPTS値(=BS1)と、HQオーディオTSパケット232−1に格納されているPTS値(=HQ1)とが等しい場合、図9の2段目に示されるように、PTS=BS1を有するBSオーディオTSパケット231−1より後方に、HQオーディオTSパケット232−1が位置するように多重化される(2つ目の多重化制約)。また、このとき、BSオーディオTSパケット231−1は、上述した図7のBSオーディオPESパケット172−1のデータが一部格納されたものであり、BSオーディオPESパケット172−1のデータは、BSオーディオTSパケット231−1に限らず、BSオーディオTSパケット231−2にも格納されているので、BSオーディオTSパケット231−1とBSオーディオTSパケット231−2とは、連続して多重化される必要がある(1つ目の多重化制約)。また、HQオーディオTSパケット232−1は、上述した図8のHQオーディオPESパケット182−1のデータが一部格納されたものであり、HQオーディオPESパケット182−1のデータは、HQオーディオTSパケット232−1に限らず、HQオーディオTSパケット232−2および232−3にも格納されているので、HQオーディオTSパケット232−1乃至232−3は、連続して多重化される必要がある(1つ目の多重化制約)。
その結果、図9の2段目に示されるように、BSオーディオTSパケット231−1と231−2の後に、HQオーディオTSパケット232−1乃至232−3が配置されることになる。なお、図9の例では、BSオーディオTSパケット231−1と231−2の直後に、HQオーディオTSパケット232−1乃至232−3が配置されるようにしているが、BSオーディオTSパケット231−1と231−2と、HQオーディオTSパケット232−1乃至232−3との間に他のデータを配置するようにしてもよい。
なお、図9までの説明では、図4の送信装置111が、オーディオデータを送信する場合について説明したが、実際には、図4の送信装置111がオーディオデータ以外のデータとして、ビデオデータやシステムデータ(グラフィックスストリームやテキストサブタイトルストリームのデータなど)も送信する。この場合についても、ビデオデータが図示せぬビデオエンコーダによりエンコードされ、PESパケット化されてTSパケット化された後、多重化部138で、オーディオのTSパケットとともに多重化される。このとき、ビデオデータに対応するTSパケットと、オーディオデータに対応するTSパケットとでは、図10に示されるように、PIDが異なっている(勿論、BSオーディオTSパケットとHQオーディオTSパケットのPIDは同一である)。図10の例の場合、ビデオデータ(ビデオES)のTS241に含まれる各TSパケットのヘッダには、1段目に示されるように「PID=V0」が付加されており、その他のデータ(システムデータ)のTS242に含まれる各TSパケットのヘッダには、4段目に示されるように「PID=E0」が付加されている。このように、1つのプログラムストリームには、1つ以上の異なるPIDを有するストリームが含まれる。
すなわち、多重化部138には、ビデオのTS241、BSオーディオTS173、HQオーディオTS283、およびその他のTS242というように、別々のストリームとして入力される。ここで、BSオーディオESとHQオーディオESとは、互いに独立したストリームであり、階層関係がない。そのため、多重化する際の制約が存在しない(例えば、BSオーディオESとHQオーディオESとをセットで多重化するなどの制約がない)。また、本実施の形態では、異なる符号化方式により符号化されたオーディオESに、同一のPIDが付されてトランスポートストリームが生成される。
次に、BSオーディオPES172のPTS値と同じPTSの値を有するHQオーディオES181のPESパケットの構造と、TSパケットの構造を、図11を参照して説明する。具体的には、図11は、図6乃至図9において、PTS=BS1=HQ1である場合の、HQオーディオES181のPESパケット182−1(図8)の構造と、TSパケット232−1の構造を説明する図である。
HQオーディオPESパケット182−1は、図6や図8を参照して上述したように、PESヘッダとPESペイロードから構成される。PESヘッダには、PTS_DTS_flags261、その他のデータ262、PTS263、およびその他のデータ264が含まれている。
PTS_DTS_flags261は、PTSとDTS(Decoding Time Stamp)の有無を示す情報である。PTS_DTS_flagsの値が「00(b)」である場合、PTSとDTSのフィールドがPESヘッダに存在しないことを示し、PTS_DTS_flagsの値が「10(b)」である場合、PTSのフィールドのみがPESヘッダに存在することを示し、PTS_DTS_flagsの値が「11(b)」である場合、PTSとDTSのフィールドがPESヘッダに存在することを示す。図11の例の場合、PTS_DTS_flags261の値は、PTS_DTS_flags=10(b)とされており、PESヘッダに、PTS263の値のみが存在し、DTSの値は存在しないことを示しており、PTSの値は、PTS263のフィールドに記述されている。図11の例の場合、PTS263のフィールドには、対応するBSオーディオPESパケット172−1に格納されているPTS(=BS1)と同じPTS値であるPTS=HQ1が格納されている。
HQオーディオPESパケット182−1のPESペイロードには、図11の例の場合、4個のオーディオアクセスユニット(AU)271乃至274が含まれている。オーディオアクセスユニット271乃至274は、高品質(高品位)オーディオである。オーディオアクセスユニット271には、Input timing(インプットタイミング)情報275と詳細情報276が含まれている。Input timing情報275は、第2のエンコーダ142がエンコードする際に付加する、オーディオアクセスユニットが仮想デコーダのFIFOバッファに渡されるオーディオ情報のサンプリング周期で表されている時間を示すタイミング値である。詳細情報276は、その位置からデコードが開始可能となるデコード情報である。すなわち、詳細情報276とは、その位置からデコードを開始するための情報である。このデコードが開始可能となる情報(詳細情報)には、例えば、サンプリング周波数、およびチャンネル情報などが含まれる。また、詳細情報276は、全てのアクセスユニットに挿入されているわけではない。
このように、BSオーディオPESのPTSと同じPTSを有するHQオーディオPESパケットの(PESペイロードの中の)先頭のオーディオアクセスユニットには、Input timing情報275と、詳細情報276が含まれている。
なお、詳細情報276は、HQオーディオPESパケットに必ず含まれているわけではない。具体的には、BSオーディオPESのPTSと同じPTSを有するHQオーディオPESパケットには含まれているが、BSオーディオPESのPTSと同じPTSを有しないHQオーディオPESパケットには含まれていないことがある。
HQオーディオPESパケット182−1がTSパケット化された結果のTSパケット232−1乃至232−3のそれぞれには、図6や図8を参照して上述したように、TSヘッダ(TS header)と、TSペイロード(TS payload)とが含まれている。TSヘッダには、図11では図示していないが、図10を参照して上述したPIDとtpが付加されている。
このように、第2のエンコーダ142がエンコードする際に付加するタイミング値(インプットタイミング)は、オーディオアクセスユニット271の先頭のデータが格納されるPESペイロードに、Input timing情報275として格納される。なお、例えば、PTS263のデータ長は、33bitとされ、DTSのデータ長は33bitとされ、Input timingのデータ長は16bitとされる。
ここで、図12を参照して、図6のBSオーディオTS173とHQオーディオTS183を多重化する場合(TS190とする場合)の制約を満たす例を2つ説明する。
上述したように、BSオーディオTS173とHQオーディオTS183をTS190に多重化する場合の制約は、1PESパケット分のTSパケットの多重化が終了した後に、次の1PESパケット分のTSパケットの多重化を行わなければならないという制約(1つ目の制約)と、同一のPTS値を有するBSオーディオTSパケットと、HQオーディオTSパケットの関係は、必ずHQオーディオTSパケットがBSオーディオTSパケットよりも後ろにくるように多重化しなければならならないという制約(2つ目の制約)である。
パケットの配置の1つ目の例を、図12の上段を用いて説明する。なお、ここで、BSオーディオTSパケット281−1やBSオーディオTSパケット281−2は、図6のBSオーディオTSパケット231−1乃至231−jのいずれかに対応し、HQオーディオTSパケット282−1やHQオーディオTSパケット282−2は、図6のBSオーディオTSパケット232−1乃至232−kのいずれかに対応する。
図12の上段は、BSオーディオTSパケット281−1と、HQオーディオTSパケット282−1のPTSの値が共にPTS#1である場合に、BSオーディオTSパケット281−1の後に、HQオーディオTSパケット282−1が配置されている。すなわち、PTSの値が同じ(ともにPTS#1)であるTSパケットについて、HQオーディオTSパケット282−1より前に、BSオーディオTSパケット281−1が配置されている。また、BSオーディオTSパケット281−2と、HQオーディオTSパケット282−2のPTSの値が共にPTS#2である場合に、BSオーディオTSパケット281−2の後に、HQオーディオTSパケット282−2が配置されている。すなわち、PTSの値が同じ(ともにPTS#2)であるTSパケットについて、HQオーディオTSパケット282−2より前に、BSオーディオTSパケット281−2が配置されている。
このとき、上述したPESパケット化時の制約によれば、PTSが同じであるPESパケットは、PTSを時間に変換(演算)した場合に、1秒以内に必ず存在するようにPESパケット化されているので、PTS#1からPTS#2までを時間に換算した場合、その時間は1秒以内とされる。すなわち、図13に示されるように、((PTS#2)−(PTS#1))は、1秒以内とされる。
ここで、BSオーディオESのアクセスユニットと、HQオーディオESのアクセスユニットの表示時刻が等しくなる周期(例えば、図13の「PTS#2−PTS#1」の周期)であって、1周期の間隔が1秒以内となる周期を、以下においては、周期Nと称する。この周期Nは、ストリーム内で変化してもよい。
パケットの配列の2つ目の例を、図12の下段を用いて説明する。図12の下段は、BSオーディオTSパケット281−1と、HQオーディオTSパケット282−1のPTSの値が共にPTS#1である場合に、BSオーディオTSパケット281−1の後に、HQオーディオTSパケット282−1が配置されている。すなわち、PTSの値が同じ(ともにPTS#1)であるTSパケットについて、HQオーディオTSパケット282−1より前に、BSオーディオTSパケット281−1が配置されている。また、BSオーディオTSパケット281−2と、HQオーディオTSパケット282−2のPTSの値が共にPTS#2である場合に、BSオーディオTSパケット281−2の後に、HQオーディオTSパケット282−2が配置されている。すなわち、PTSの値が同じ(ともにPTS#2)であるTSパケットについて、HQオーディオTSパケット282−2より前に、BSオーディオTSパケット281−2が配置されている。
図12の下段のTSは、上段とは異なり、BSオーディオTSパケット281−2の後に、HQオーディオTSパケット282−1が配置されている。すなわち、PTS#1であるHQオーディオTSパケット282−1より前に、PTS#2であるBSオーディオTSパケット281−2が配置されている。しかしながら、制約としては、同じPTSをを含むTSパケットにおいて、BSオーディオTSパケットの後にHQオーディオTSパケットが配置されればよい、すなわち、同じPTSを持つBSオーディオTSパケットとHQオーディオTSパケットとの間に、他のデータが含まれていてもよいので、図12の下段のTSにおいても、この制約は守られていることになる。
このように、BSオーディオTSパケットのPTSの値と同じPTSの値を有するHQオーディオTSパケットは、BSオーディオTSパケットよりも後ろに存在すればよく、図12の下段に示されるように、PTS#2を有するBSオーディオTSパケット281−2より、PTS#1を有するHQオーディオTSパケット282−1が後に存在しても、1PESパケット分のTSパケットの多重化が終了した後に、次の1PESパケット分のTSパケットの多重化がしてあれば、制約は満たしていることになる。
なお、図12の下段においても、PTSが同じであるPESパケットは、PTSを時間に変換(演算)した場合に、1秒以内に必ず存在するようにPESパケット化されているので、PTS#1からPTS#2までを時間に換算した場合、その時間は1秒以内とされる。
本実施の形態においては、送信装置111が、BSオーディオES171とHQオーディオES181とをそれぞれTSパケット化し、その結果得られたBSオーディオTS173を構成する複数のBSオーディオTSパケットとHQオーディオTS183を構成する複数のHQオーディオTSパケットとを、多重化して1本のトランスポートストリーム190(MPEG2-TS)にする場合に、仮想的な受信装置120(図3)の能力と、ランダムアクセスのための多重化制約に応じて多重化するTSパケットを決定するようにする。すなわち、仮想的な受信装置120が、BSオーディオESとHQオーディオESの両方に対応した(BSオーディオESとHQオーディオESの両方を復号可能な)仮想的な受信装置である場合であっても、仮想的な受信装置120が、BSオーディオESのみに対応した(BSオーディオESのみ復号可能な)受信装置である場合であっても、それらの仮想的な受信装置120に設けられているバッファがオーバーフローおよびアンダーフローせずに復号可能となるように、また、ランダムアクセスのための多重化制約が守られるように、送信装置111側で、TSパケットを多重化するタイミングを調整する(多重化するTSパケットを順次決定する)ようにする。
具体的には、送信装置111は、図6のBSオーディオTS173を復号可能な仮想的な受信装置(以下、第1の仮想的な受信装置と称する)と、図6のHQオーディオTS183を復号可能な受信装置(以下、第2の仮想的な受信装置と称する)とに対応するように、多重化するTSパケットを調整して、図6のトランスポートストリーム190を生成する。すなわち、送信装置111は、仮想的な受信装置120がBSオーディオESを抽出して復号する場合に、所定のサイズのBSオーディオES用のデコーダバッファをオーバーフローおよびアンダーフローさせることがないように、かつ、仮想的な受信装置120がHQオーディオESを抽出して復号する場合に、所定のサイズのHQオーディオES用のデコーダバッファをオーバーフローおよびアンダーフローさせることがないように、そして、ランダムアクセスのための多重化制約が守られるように、多重化するTSパケットを決定する。
すなわち、仮想的な受信装置120が、BSオーディオESしか復号できない場合、または、HQオーディオESを復号できる場合の、2種類の仮想的な受信装置を想定し、この2種類の仮想的な受信装置(第1の仮想的な受信装置と第2の仮想的な受信装置)のそれぞれで多重化したTS190が復号可能となるように、かつ、ランダムアクセスのための多重化制約に基づいて、TSパケットの多重化のタイミングを調整する。
図14は、BSオーディオTSとHQオーディオTSとを多重化する場合の、符号化制約のための仮想的なデコーダ121のモデルを説明する図である。すなわち、送信装置111が、BSオーディオTSとHQオーディオTSとを、MPEG2-TSの方式で多重化する場合に想定する、仮想的な受信装置120が有する仮想デコーダ121(図3)モデルの構成例が、図14に示されている。換言すれば、図14の仮想デコーダ121は、送信装置111がBSオーディオTSとHQオーディオTSとを多重化する場合に想定する仮想デコーダ121のモデルである。
仮想的な受信装置120(図3)に送信されてきたMPEG2-TSは、仮想デコーダ121に供給される。仮想デコーダ121に供給されたMPEG2-TSは、図14に示されるように、フィルタ341によって、TSパケットの種類ごとにフィルタリングされる。
具体的には、MPEG2-TSは、複数のTSパケットにより構成されており、各TSパケットには、そのTSパケットを識別するためのPIDが付されている。フィルタ341は、MPEG2-TSを構成する各パケットに付されたPIDに基づいて、ビデオストリームを構成するTSパケット(図10の例の場合、PID=V0のTSパケット)を、ビデオストリームを処理するためのビデオデータデコード処理部350に供給し、オーディオストリームを構成するTSパケット(図10の例の場合、PID=a0のTSパケット)を、オーディオストリームを処理するためのオーディオデータデコード処理部360に供給し、システムに関するTSパケット(図10の例の場合、PID=E0のTSパケット)を、システムに関するデータを処理するためのシステムデータデコード処理部370に供給する。
ビデオデータデコード処理部350には、トランスポートバッファ(図中、TBvと記述する)351、マルチプレクスバッファ(図中、MBvと記述する)352、エレメンタリバッファ(図中、EBvと記述する)353、ビデオデコーダ(図中、Dvと記述する)354、およびアウトプットリオーダリングバッファ(図中、Ovと記述する)355が設けられている。
ビデオストリームを構成するTSパケット(図10の例の場合、PID=V0のTSパケット)が、フィルタ341を介してビデオデータデコード処理部350に供給されると、トランスポートバッファ351に蓄積される。そして、所定のビットレートでマルチプレクスバッファ352にデータが供給される。マルチプレクスバッファ352は、供給されたデータを蓄積してスムージングした後、所定のビットレートでエレメンタリバッファ353にデータを供給する。ビデオデコーダ354は、エレメンタリバッファ353に蓄積されているビデオアクセスユニットを所定のタイミングで引き抜き、それを復号して出力する。復号されたデータのうちの一部は、アウトプットリオーダリングバッファ355を介して端子356から出力され、その他のデータは、端子357から出力され、再生される。
オーディオデータデコード処理部360には、トランスポートプリオリティフィルタ(Transport priority filter)361、トランスポートバッファ(図中、TBnと記述する)362、エレメンタリバッファ(図中、Bnと記述する)363、およびオーディオデコーダ(図中、Dnと記述する)364が設けられている。
オーディオストリームを構成するTSパケット(図10の例の場合、PID=a0のTSパケット)が、フィルタ341を介してオーディオデータデコード処理部360に供給されると、トランスポートプリオリティフィルタ361は、仮想デコーダ121の能力に応じて、TSパケットのフィルタリングを行う。例えば、トランスポートプリオリティフィルタ361は、TSパケットのヘッダ(例えば、図11のTSヘッダ282)に付されたtpの値(図10参照)に基づいてフィルタリングを行う。トランスポートプリオリティフィルタ361によりフィルタリングされたTSパケットは、後段のトランスポートバッファ362に供給される。トランスポートバッファ362は、トランスポートプリオリティフィルタ361によりフィルタリングされて供給されてきたTSパケットを蓄積する。
トランスポートバッファ362に蓄積されたTSパケットは、仮想デコーダ121の能力に応じたレートRxnでエレメンタリバッファ363に供給される。Rxnは、トランスポートバッファ362からのLeak rate(リークレート)であり、トランスポートバッファ362にデータが入っている場合、データはRxnのレートでトランスポートバッファ362からエレメンタリバッファ363へ入力される。また、トランスポートバッファ362にデータが入っていない場合、Rxnは0となる。
エレメンタリバッファ363は、トランスポートバッファ362からRxnのビットレートで供給されたデータを蓄積する。ここで、エレメンタリバッファ363のサイズは、オーディオ符号化方法(MPEG1オーディオやMPEG2 AACオーディオなど)によって異なるものとされている。なお、トランスポートバッファ362にデータが入っている場合にはトランスポートバッファ362から、Rxnのビットレート(速度)でエレメンタリバッファ363に供給されるが、トランスポートバッファ362にデータが入っていない場合には、トランスポートバッファ362からのデータは、エレメンタリバッファ363には供給されない(すなわちRxn=0となる)。
オーディオデコーダ364は、エレメンタリバッファ363に蓄積されているオーディオアクセスユニットを所定のタイミングで引き抜き、それを復号し、端子365を介して出力し、再生する。具体的には、オーディオデコーダ364は、オーディオアクセスユニットのPTSが、T-STDのシステムタイムクロック上の時間に等しくなったときに、そのオーディオアクセスユニットをエレメンタリバッファ363から引き抜く。なお、オーディオアクセスユニットとは、オーディオストリームを構成する符号化単位であり、また、それが復号単位となる。なお、図14のオーディオデータデコード処理部360の詳細は、図15を参照して後述する。
システムデータデコード処理部370には、トランスポートバッファ(図中、TBsysと記述する)371、エレメンタリバッファ(図中、Bsys記述する)372、およびシステムデコーダ(図中、Dsysと記述する)373が設けられている。
システムに関するTSパケット(図10の例の場合、PID=E0のTSパケット)が、フィルタ341を介してシステムデータデコード処理部370に供給されると、トランスポートバッファ371に蓄積される。トランスポートバッファ371に蓄積されたデータは、エレメンタリバッファ372に供給される。システムデコーダ373は、エレメンタリバッファ72に蓄積されているシステムアクセスユニットを所定のタイミングで引き抜き、それを復号し、端子374を介して出力する。
なお、システムに関するTSパケットには、例えば、図6のPATのTSパケット221やPMTのTSパケット222が含まれる。
次に、図15を参照して、図14のオーディオデータデコード処理部360の詳細を説明する。
オーディオデータデコード処理部360の内部は、図15に示されるように、BSオーディオデータデコード処理部360−1とHQオーディオデータデコード処理部360−2の2系統にわかれている。これは、BSオーディオESのみのデコードを対象としたデコーダモデルであるオーディオデータデコード処理部360−1と、HQオーディオESのデコードを対象としたデコーダモデルであるオーディオデータデコード処理部360−2の2つを一度に検証するためである。
BSオーディオデータデコード処理部360−1には、トランスポートプリオリティフィルタ(図中、transport priority filter (tp=1)と記述する)361−1、トランスポートバッファ(図中、TB1と記述する)362−1、エレメンタリバッファ(図中、B1と記述する)363−1、およびオーディオデコーダ(図中、D1と記述する)364−1が設けられている。すなわち、図14のオーディオデータデコード処理部360のトランスポートプリオリティフィルタ361、トランスポートバッファ362、エレメンタリバッファ363、およびオーディオデコーダ364に、図15のオーディオデータデコード処理部360−1のトランスポートプリオリティフィルタ361−1、トランスポートバッファ362−1、エレメンタリバッファ363−1、およびオーディオデコーダ364−1がそれぞれ対応している。
トランスポートプリオリティフィルタ361−1は、tp=1(Transport_priority=1)のTSパケットだけを選択し、トランスポートバッファ362−1へ供給する。トランスポートバッファ362−1は、エレメンタリバッファ363−1への入力ビットレートの値(Rxn)をRx1としてデータを供給する。エレメンタリバッファ363−1は、トランスポートバッファ362−1からRx1のビットレートで供給されたデータを蓄積する。ここで、エレメンタリバッファ363−1の容量(Bn)は、B1とされる。オーディオデコーダ364−1は、エレメンタリバッファ363−1に蓄積されているオーディオアクセスユニットを所定のタイミングで引き抜き、それを復号し、出力する。具体的には、オーディオデコーダ364−1は、オーディオアクセスユニットのPTSが、T-STDのシステムタイムクロック上の時間に等しくなったときに、そのオーディオアクセスユニットをエレメンタリバッファ363−1から引き抜く。
このように、BSオーディオデータデコード処理部360−1は、BSオーディオESのデコードを想定した仮想デコーダである。以下において、仮想デコーダ121のオーディオデータデコード処理部360が、BSオーディオデータデコード処理部360−1に置き換えられているものを、第1の仮想デコーダと称する。すなわち、第1の仮想的な受信装置に設けられている仮想デコーダが、第1の仮想デコーダとされる。
一方、HQオーディオデータデコード処理部360−2には、トランスポートプリオリティフィルタ(図中、transport priority filter (tp=0)と記述する)361−2、トランスポートバッファ(図中、TB2と記述する)362−2、エレメンタリバッファ(図中、B2_1と記述する)363−2、および可変ビットレートのオーディオデコーダ364−2が設けられている。また、可変ビットレートのオーディオデコーダ364−2には、FIFOバッファ(図中、B2_2と記述する)391とオーディオデコーダ(図中、D2と記述する)392とが設けられている。換言すれば、HQオーディオデータデコード処理部360−2のエレメンタリバッファは、2つ(エレメンタリバッファ363−2とFIFOバッファ391の2つ)に分割されている。すなわち、図14のオーディオデータデコード処理部360のトランスポートプリオリティフィルタ361、トランスポートバッファ362、エレメンタリバッファ363、およびオーディオデコーダ364に、図15のオーディオデータデコード処理部360−2のトランスポートプリオリティフィルタ361−2、トランスポートバッファ362−2、エレメンタリバッファ363−2、および可変ビットレートのオーディオデータ364−2がそれぞれ対応している。
トランスポートプリオリティフィルタ361−2は、tp=0(Transport_priority=0)のTSパケットだけを選択し、トランスポートバッファ362−2へ供給する。トランスポートバッファ362−2は、エレメンタリバッファ363−2への入力ビットレートの値(Rxn)をRx2としてデータを供給する。エレメンタリバッファ363−2は、トランスポートバッファ362−2からRx2のビットレートで供給されたデータを蓄積する。ここで、エレメンタリバッファ363−2の容量(Bn)は、B2_1とされる。
可変ビットレートのオーディオデコーダ364−2は、エレメンタリバッファ363−2に蓄積されているオーディオアクセスユニットを所定のタイミングで引き抜き、それを復号し、出力する。具体的には、図16に示されるように、可変ビットレートのオーディオデコーダ364−2のFIFOバッファ391へのデータの入力タイミングは、HQオーディオESの中に存在するInput timing(タイミング値)により決定される。このInput timingは、図11を参照して上述したように、第2のエンコーダ142がオーディオデータを符号化する際に付加する値(図11のInput timing情報275)である。すなわち、HQオーディオES(可変ビットレートのオーディオストリーム)に埋め込まれているInput timing(図11のInput timing情報275)に基づくタイミングで、FIFOバッファ391にデータが入力される。また、オーディオデコーダ392は、オーディオアクセスユニットのPTSがT-STDのシステムタイムクロック上の時間に等しくなったときに、そのオーディオアクセスユニットをFIFOバッファ391から引き抜き、これを復号し、出力する。すなわち、FIFOバッファ391は、可変ビットレートのオーディオデコーダ364−2のためのバッファとされている。このように、FIFOバッファ391とオーディオデコーダ392とにより、可変ビットレートのオーディオデコーダ364−2が実現される。
このとき、FIFOバッファ391へのデータの入力タイミングを、Input timing(タイミング値)に基づいて決定するようにしたので、DTS(Decoding Time Stamp)をストリームに付加する必要がなくなり、その結果、送信装置111(図4)のPESパケット化部136は、HQオーディオESをPESパケット化する場合に、DTSを求めるための計算を行う必要がなくなり、PESパケット化の処理を、より円滑に行うことができる。また、PESパケット化部136は、あらかじめHQオーディオESに含まれているInput timingを、そのままPESパケットのPESペイロード253(図11)に格納するだけでよく、容易にPESパケット化を行うことができる。さらに、PESパケット化部136は、生成するPESパケットに、DTSの値を格納せずに済むので、PESパケットのデータ量を抑えることができる。すなわち、PESパケットのデータ量を、より削減することができる。
このように、HQオーディオデータデコード処理部360−2は、HQオーディオESのデコードを想定した仮想デコーダである。以下において、仮想デコーダ121のオーディオデータデコード処理部360が、HQオーディオデータデコード処理部360−2に置き換えられているものを、第2の仮想デコーダと称する。すなわち、第2の仮想的な受信装置に設けられている仮想デコーダが、第2の仮想デコーダとされる。
図15のエレメンタリバッファ363−2(B2_1)は、Input timingに基づくタイミングでバッファの占有量が減少する。また、FIFOバッファ391(B2_2)は、オーバーフローすることはないが、アンダーフローする可能性はある。そのため、FIFOバッファ391(B2_2)がアンダーフローしないように、エレメンタリバッファ363−2(B2_1)がオーバーフローおよびアンダーフローしないようなタイミングでTSパケットを多重化するようにしなければならない。
なお、図15において、例えば、エレメンタリバッファ363−1(B1)のバッファサイズは18640bytesとされ、エレメンタリバッファ363−1(B2_1)+FIFOバッファ391のバッファサイズは524250bytesとされ、リークレートRx1は2Mbpsとされ、リークレートRx2は48Mbpsとされる。
図4の送信装置111は、図15の仮想デコーダ121を有する仮想的な受信装置120によって正しくデコードされるように、かつ、ランダムアクセスのための多重化制約に基づいて、BSオーディオTSパケットとHQオーディオTSパケットの中から、多重化するTSパケットを順次決定して、多重化する必要がある。
すなわち、送信装置111は、例えば図15の仮想デコーダ121の中のトランスポートバッファ362−1およびトランスポートバッファ362−2がオーバーフローすることなく、かつ、エレメンタリバッファ363−1およびエレメンタリバッファ363−2がオーバーフローおよびアンダーフローすることなく、さらに、FIFOバッファ391がアンダーフローすることがないように、また、ランダムアクセスのための多重化制約に基づいて、多重化するオーディオのTSパケットを決定(調整)し、多重化しなければならない。
そのため、送信装置111は、上述した図15の仮想デコーダ121を満たすように、すなわち、図15のBSオーディオデータデコード処理部360−1とHQオーディオデータデコード処理部360−2の両方でデコードできるように、かつ、ランダムアクセスのための多重化制約に基づいて、図6のBSオーディオTS173とHQオーディオTS183とを多重化してトランスポートストリーム190を生成するための多重化のタイミングを調整する。すなわち、送信装置111は、第1の仮想的な受信装置(第1の仮想デコーダ、すなわち、BSオーディオデータデコード処理部360−1を有する仮想デコーダ121)と第2の仮想的な受信装置(第2の仮想デコーダ、すなわち、HQオーディオデータデコード処理部360−2を有する仮想デコーダ121)のそれぞれのバッファがオーバーフローおよびアンダーフローしないようなタイミングであって、ランダムアクセスのための多重化制約に基づいて、多重化するTSパケットを順次決定し、多重化する。
次に、これまでに説明した送信装置111が、仮想的な受信装置121の能力を考慮するとともに、ランダムアクセスのための多重化制約に基づいて、オーディオストリームをエンコードおよびTSパケット化し、多重化して送信する場合の処理を説明する。図17と図18は、図4の送信装置111における、TSパケット送信処理を説明するフローチャートである。なお、この処理は、送信装置111の電源がオンされ、入力部131にオーディオストリームが入力されたとき開始される。
ステップS51において、入力部131は、オーディオデータの入力を受け付け、受け付けたオーディオデータをオーディオエンコーダ132に出力する。具体的には、入力部131は、オーディオデータを、オーディオエンコーダ132の中の第1のエンコーダ141と第2のエンコーダ142とに供給する。
ステップS52において、第1のエンコーダ141は、オーディオデータを第1の符号化方式でエンコードする。上述したように、第1の符号化方式は、例えば、固定長符号化方式とされる。第1のエンコーダ141は、エンコードした結果得られたBSオーディオESを、後段のバッファ133の第1のバッファ143に供給する。
ステップS53において、第2のエンコーダ142は、オーディオデータを第2の符号化方式でエンコードする。上述したように、第2の符号化方式は可変長符号化方式であり、第2のエンコーダ142は、エンコードする際にインプットタイミングを付加する(図11のInput timing情報275)。第2のエンコーダ142は、エンコードした結果得られたHQオーディオESを、後段のバッファ133の第2のバッファ144に供給する。
なお、ステップS52で第1のエンコーダ141から出力されるBSオーディオESが、図6のBSオーディオES171に対応し、ステップS53で第2のエンコーダ142から出力されるHQオーディオESが、図6のHQオーディオES181に対応する。
ステップS54において、第1のバッファ143は、オーディオエンコーダ13の第1のエンコーダ141から供給されたBSオーディオES171(図6参照)を格納(バッファリング)する。
ステップS55において、第2のバッファ144は、オーディオエンコーダ13の第2のエンコーダ142から供給されたHQオーディオES181(図6参照)を格納(バッファリング)する。
ステップS56において、制御部135は、送るべきオーディオアクセスユニットがバッファ133にあるか否かを判定し、送るべきオーディオアクセスユニットがバッファ133にあると判定するまで処理を待機する。制御部135は、バッファ133(第1のバッファ143と第2のバッファ144)にそれぞれ格納されたエレメンタリストリーム(BSオーディES171とHQオーディオES181)を監視するとともに、PTSを管理しているので、これらに基づいてステップS56の判定を行う。具体的には、制御部135は、BSオーディオESの場合、送るべきオーディオアクセスユニットが第1のバッファ143にあるか否かをPTSに基づいて判定し、HQオーディオESの場合、送るべきオーディオアクセスユニットが第2のバッファ144にあるか否かをInput timing(図11のInput timing情報275)に基づいて判定する。
例えば、BSオーディオES171のオーディオアクセスユニット(例えば、図6のBS(1)、BS(2)、・・・、BS(n))のそれぞれは固定長とされているので、制御部135は、PTS(N)=PTS0+TT×h(「PTS0」は一番最初のオーディオアクセスユニットのPTSとされ、「TT」はアクセスユニットの表示間隔とされ、hは図6の括弧で示される添え字の数とされる)に対応するオーディオアクセスユニット(図6の括弧で示される添え字hに対応するオーディオアクセスユニット)が、第1のバッファ143に格納されたか否かを判定する。また、例えば、HQオーディオES181のオーディオアクセスユニット(例えば、図6のHQ(1)、HQ(2)、・・・、HQ(m))のそれぞれは可変長とされているので、制御部135は、オーディオアクセスユニットが、第2のバッファ144に格納されたか否かを、HQオーディオES181に付加されているInput timingに基づいて判定する。これは、HQオーディオESは、BSオーディオESのときと違い、オーディオアクセスユニットが可変長であるため、PTSで制御すると、例えばアクセスユニットのサイズが大きい場合に、転送が間に合わずに、アンダーフローを起こす可能性があるため、PTSの時刻よりも早いInput timing(図11のInput timing情報275)で求められる時刻に可変ビットレートオーディオデコーダに渡さないといけないためである。
なお、ここでいう固定長、可変長とは、オーディオアクセスユニットのデータサイズに対しての定義であって、1つのオーディオアクセスユニットに対する表示間隔はいずれも一定とされる。例えば、BSオーディオESの表示間隔は、1アクセスユニットあたり32ミリ秒とされ、HQオーディオESの表示間隔は、1アクセスユニットあたり1200分の1秒とされる。
ステップS56において、送るべきオーディオアクセスユニットがあると判定された場合、ステップS57において、制御部135は、送るべきオーディオアクセスユニットを対象となるバッファ133から読み出し、PESパケット化部136に供給させるよう制御する。例えば、制御部135は、送るべきオーディオアクセスユニットを第1のバッファ143から読み出し、PESパケット化部136に供給させるよう制御する。また、例えば、制御部135は、送るべきオーディオアクセスユニットを第2のバッファ144から読み出し、PESパケット化部136に供給させるよう制御する。また、制御部135は、PESパケット化部136にPESパケット化を指令し、処理をステップS58に進める。
ステップS58において、PESパケット化部136は、ステップS57の処理で供給されてきたオーディオアクセスユニットをPESパケット化する。具体的には、PESパケット化部136は、ステップS57の処理で第1のバッファ143または第2のバッファ144から供給されてきたオーディオアクセスユニット(BSオーディオESまたはHQオーディオESのオーディオアクセスユニット)に、制御部135から供給されたPTSを含め、制約を満たすようにPESパケット化する。PESパケット化部136は、PESパケット化して生成したPESパケットを、TSパケット化部137に供給する。
例えば、PESパケット化部136は、第1のバッファ143から供給されたBSオーディオESを取得し(PTSに対応するオーディオアクセスユニットを取得し)、BSオーディオESを、PESパケットにパケット化する。また、例えば、PESパケット化部136は、第2のバッファ144から供給されたHQオーディオESを取得し(Input timingに対応するオーディオアクセスユニットを取得し)、HQオーディオESを、PESパケットにパケット化する。このとき、PESパケット化部136は、制御部135から供給されてきたPTSを、PESパケットストリーム(例えば、図6のBSオーディオPES172またはHQオーディオPES182)を構成するPESパケットのそれぞれに格納する。そして、PESパケット化部136は、生成したPESパケット(例えば、図6のBSオーディオPES172の中で、このステップS57の処理でPESパケット化したPESパケット、または、図6のHQオーディオPES182の中で、このステップS57の処理でPESパケット化したPESパケット)を、TSパケット化部137に供給する。このとき、PESパケット化部136は、PESパケット化のときの制約に基づいてPESパケット化を行う。このPESパケット化処理の詳細は、図19を参照して後述する。
なお、ステップS58でPESパケット化部136から出力されるBSオーディオPESが、図6のBSオーディオPES172に対応し、ステップS58でPESパケット化部136から出力されるHQオーディオPESが、図6のHQオーディオPES182に対応する。
ステップS59において、TSパケット化部137は、PESパケット化部136から供給されてきたPESパケットをTSパケット化し、TSパケット化したTSパケットを多重化部138に供給する。例えば、TSパケット化部137は、BSオーディオPES172を構成する複数のBSオーディオPESパケットを、図6のBSオーディオTS173を構成する複数のBSオーディオTSパケットのように、TSパケット化する。そして、TSパケット化部137は、BSオーディTS173を構成する複数のBSオーディオTSパケットを、後段の多重化部138に供給する。また、例えば、TSパケット化部137は、HQオーディオPES182を構成する複数のHQオーディオPESパケットを、図6のHQオーディオTS183を構成する複数のHQオーディオTSパケットのように、TSパケット化する。そして、TSパケット化部137は、HQオーディTS183を構成する複数のHQオーディオTSパケットを、後段の多重化部138に供給する。
このとき、TSパケット化されたBSオーディオTS173と、HQオーディオTS183の各TSヘッダには、図10に示されるように、同一のPIDが付されているとともに、異なるtransport_priorityの値が付されている。図5の例の場合、BSオーディオTS183の各TSパケットには「PID=a0,tp=1」が含まれ、HQオーディオTS183の各TSパケットには「PID=a0,tp=0」が含まれる。
ステップS60において、制御部135は、仮想デコーダ121のバッファ占有量の計算と、ランダムアクセスのための多重化制約に基づいて、多重化するTSパケットを決定する。具体的には、制御部135は、第1の仮想デコーダと第2の仮想デコーダ(図14と図15参照)のバッファ占有量の計算と、ランダムアクセスのための多重化制約に基づいて、次に多重化するTSパケット(BSオーディオTSパケットとHQオーディオTSパケットのうちのいずれかのTSパケット)を決定し、多重化すると決定されたTSパケットを多重化するよう、多重化部138を制御する。すなわち、制御部135は、図6のBSオーディオTS173とHQオーディオTS183とを多重化して、トランスポートストリーム190を生成するために、多重化するTSパケットの順番を決定する。なお、この仮想デコーダ121(第1の仮想デコーダと第2の仮想デコーダ)のバッファ占有量の計算の処理については、図20と図21を参照して後述し、ランダムアクセスのための多重化制約処理については、図22を参照して後述する。
ステップS61において、多重化部138は、TSパケット化部137から供給されたTSパケットのうち、制御部135によるステップS60の処理で多重化すると決定されたTSパケットを多重化する。具体的には、多重化部138は、図6のBSオーディオTS173の各TSパケットとHQオーディオTS183の各TSパケットのうち、ステップS60の処理で多重化すると決定されたTSパケットを(順次)多重化する。これにより、図6のトランスポートストリーム190が生成される。多重化部138は、BSオーディオTS173とHQオーディオTS183を多重化して生成したトランスポートストリーム190を、送信部139に供給する。
ステップS62において、送信部139は、多重化部138から供給されたトランスポートストリーム190(図6)を送信する。送信部139は、例えば、図3に示されるように、ドライブ112を制御して、リムーバブルメディア113にトランスポートストリーム(MPEG2-TS)を送信したり、通信部114を制御して、ネットワーク115を介して、受信装置に送信したりする。この受信装置は、図3や図14を参照して説明した仮想的な受信装置120ではなく、実際にMPEG2-TSを受信する(デコーダを有する)図示せぬ受信装置である。
ステップS63において、制御部135は、終了するか否かを判定する。例えば、制御部135は、入力部131へのオーディオデータの入力が終了した場合や、ユーザによりTSパケット送信処理の終了が指令された場合や、1本のオーディオストリームの送信が終了した場合などに、処理を終了すると判定する。ステップS63において、終了しないと判定された場合、処理はステップS51に戻り、それ以降の処理が繰り返される。すなわち、再びオーディオデータの入力が受け付けられてTSパケット化され、仮想デコーダ121のバッファ占有量の計算とランダムアクセスのための多重化制約に基づいて多重化するTSパケットが決定されて多重化され、多重化された結果生成されたトランスポートストリームが送信される。ステップS63において、終了すると判定された場合、処理は終了される。
図17と図18の処理により、図14と図15を参照して説明した第1の仮想デコーダと第2の仮想デコーダ(仮想デコーダ121)のバッファ占有量の計算と、ランダムアクセスのための多重化制約に基づいて、多重化すると決定された順番でTSパケットが多重化されるので、図14と図15の仮想デコーダ121のモデルに対応するデコーダを有する受信装置(図示せず)であれば、この処理で多重化されたトランスポートストリーム(複数のTSパケット)を確実にデコード(復号)することができる。
次に、図17のステップS58の処理で、PESパケット化部136により実行される、PESパケット化処理の詳細を、図19のフローチャートを参照して説明する。
ステップS71において、PESパケット化部136は、第1のバッファ143または第2のバッファ144から供給されてきたオーディオアクセスユニット(BSオーディオESまたはHQオーディオESのオーディオアクセスユニット)が、BSオーディオESのアクセスユニットであるか否かを判定する。例えば、図6の例の場合、PESパケット化部136には、1段目のBSオーディオES171またはHQオーディオES181のオーディオアクセスユニットが供給されてくるので、その供給されてきたオーディオアクセスユニットが、BSオーディオESであるかHQオーディオESであるか否かを判定する。
ステップS71において、BSオーディオESのアクセスユニットであると判定された場合、処理はステップS72に進み、PESパケット化部136は、そのBSオーディオESのアクセスユニットが、周期Nを満たすアクセスユニットであるか否かを判定する。すなわち、PESパケット化部136は、そのBSオーディオESのアクセスユニットが、図13を用いて上述した周期Nを満たすアクセスユニットであるか否かを判定する。
ステップS72において、そのBSオーディオESのアクセスユニットが周期Nを満たすアクセスユニットであると判定された場合、ステップS73において、PESパケット化部136は、そのアクセスユニットがPESペイロードの先頭に現れるように、PESパケット化する。このとき、PESパケット化部136は、制御部135から供給されたPTSを、PESパケットのPESヘッダに含める。図7の例において、BSオーディオES171のBS(1)のアクセスユニットが、周期Nを満たすアクセスユニットであると判定された場合、PESパケット化部136は、そのアクセスユニット(BS(1))がPESパケット172−1のPESペイロードの先頭に現れるように、PESパケット化する。そして、PESパケット化部136は、制御部135から供給されたPTS=BS1を、PESパケット172−1のPESヘッダに格納する。
一方、ステップS72において、そのBSオーディオESのアクセスユニットが周期Nを満たすアクセスユニットではないと判定された場合、処理はステップS74に進み、PESパケット化部136は、PESパケット化する。図7の例において、BSオーディオES171のBS(2)のアクセスユニットが、周期Nを満たすアクセスユニットでないと判定された場合、PESパケット化部136は、そのアクセスユニット(BS(2))を、PESパケット172−1のPESペイロードに格納することでPESパケット化する。
このように、ステップS72、ステップS73、ステップS74の処理により、BSオーディオESのアクセスユニットを、順次PESパケット化することができる。具体的には、周期Nを満たすBSオーディオESのアクセスユニットについては、そのアクセスユニットがPESペイロードの先頭に現れるようにPESパケット化が行われ、その他のアクセスユニットについては、制約が設けられずにPESパケット化が行われる。
一方、ステップS71において、BSオーディオESのアクセスユニットではないと判定された場合、すなわち、PESパケット化部136に供給されてきたオーディオアクセスユニットが、HQオーディオESのオーディオアクセスユニットである場合、処理はステップS75に進み、PESパケット化部136は、そのHQオーディオESのアクセスユニットが、周期Nを満たすアクセスユニットであるか否かを判定する。すなわち、PESパケット化部136は、そのHQオーディオESのアクセスユニットが、図13を用いて上述した周期Nを満たすアクセスユニットであるか否かを判定する。
ステップS75において、そのHQオーディオESのアクセスユニットが周期Nを満たすアクセスユニットであると判定された場合、ステップS76において、PESパケット化部136は、そのアクセスユニットが、詳細情報をヘッダに含むアクセスユニットであるかをさらに判定する。具体的には、PESパケット化部136は、図11を参照して上述した詳細情報276が、オーディオアクセスユニットのヘッダに含まれているか否かを判定する。
ステップS76において、そのアクセスユニットが、詳細情報276をヘッダに含むアクセスユニットであると判定された場合、処理はステップS77に進み、PESパケット化部136は、そのアクセスユニットがPESペイロードの先頭に現れるように、PESパケット化する。このとき、PESパケット化部136は、制御部135から供給されたPTSを、PESパケットのPESヘッダに含める。図8の例において、HQオーディオES181のHQ(1)のアクセスユニットが、周期Nを満たすアクセスユニットであると判定された場合(ステップS75でYES)、かつ、詳細情報276をヘッダに含むアクセスユニットであると判定された場合(ステップS76でYES)、PESパケット化部136は、そのアクセスユニット(HQ(1))がPESパケット182−1のPESペイロードの先頭に現れるように、PESパケット化する。そして、PESパケット化部136は、制御部135から供給されたPTS=HQ1を、PESパケット182−1のPESヘッダに格納する。
一方、ステップS75において、周期Nを満たすアクセスユニットでないと判定された場合、またはステップS76において、詳細情報276をヘッダに含むアクセスユニットでないと判定された場合、処理はステップS74に進み、PESパケット化部136は、PESパケット化する。図8の例において、HQオーディオES181のHQ(2)のアクセスユニットが、周期Nを満たすアクセスユニットでないと判定された場合や、周期Nを満たすアクセスユニットではあるが、詳細情報276をヘッダに含むアクセスユニットではないと判定された場合、PESパケット化部136は、そのアクセスユニット(HQ(2))を、PESパケット182−1のPESペイロードに格納することでPESパケット化する。
このように、ステップS74乃至ステップS77の処理により、HQオーディオESのアクセスユニットを、順次PESパケット化することができる。具体的には、周期Nを満たし、かつ、詳細情報276(図11)をヘッダに含むHQオーディオESのアクセスユニットについては、そのアクセスユニットがPESペイロードの先頭に現れるようにPESパケット化が行われ、その他のアクセスユニットについては、制約が設けられずにPESパケット化が行われる。
ステップS73の処理の後、ステップS74の処理の後、またはステップS77の処理の後、処理は終了される。
このように、BSオーディオESのアクセスユニットとHQオーディオESのアクセスユニットの表示時刻が等しくなる周期N(図13)で、かつ、1周期の間隔が1秒以内となる周期Nを定義し、BSオーディオESのアクセスユニットの場合は、この周期に基づいてPESパケット化を行い、HQオーディオESのアクセスユニットの場合は、この周期に加え、さらに、詳細情報をヘッダに含むか否かに基づいて、PESパケット化を行うようにしたので、多重化する場合や、ランダムアクセスの場合の制約を考慮して、PESパケットを生成することができる。
次に、図18のステップS60で制御部135により実行される、仮想デコーダのバッファ占有量の計算を、図20と図21を参照して説明する。
最初に、図20のフローチャートを参照して、BSオーディオに対するバッファ占有量の計算処理を説明する。なお、この処理は、図4の制御部135が、受信側の仮想デコーダ121がBSオーディオESのみをデコード可能であると想定してTSパケットの多重化のタイミングを計算する処理である。すなわち、制御部135が、受信側の仮想デコーダ121が、第1の仮想デコーダであると想定して実行する処理である。
ステップS101において、制御部135は、図15のBSオーディオデータデコード処理部360−1のトランスポートバッファ362−1にtp=1のTSパケットを入れる空きがあれば、TSパケットを多重化するよう、多重化部138を制御する。すなわち、図15のトランスポートバッファ362−1にBSオーディオTSパケット(BSオーディオESに対応するTSパケット)を入れる空きがあれば、そのBSオーディオTSパケットを多重化するよう多重化部138を制御する。
ステップS102において、制御部135は、図15の仮想デコーダ121のエレメンタリバッファ363−1(Bn=B1)に空きがあれば、トランスポートバッファ362−1からRx1(Rxn=Rx1)のビットレートでデータを引き抜き、これをエレメンタリバッファ363−1(B1)に供給するものとして計算する。上述したように、第1の仮想デコーダのエレメンタリバッファ363−1への入力ビットレートはRx1であるので、Rx1のレートでデータが引き抜かれるものとして計算され、エレメンタリバッファ363−1の記憶容量はBn=B1であるものとして計算される。
ステップS103において、制御部135は、オーディオアクセスユニットのPTSが、仮想デコーダ121のシステムタイムクロック上の時間に等しくなったとき、そのオーディオアクセスユニットをエレメンタリバッファ363−1(B1)から引き抜き、オーディオデコーダ364−1に供給するものとして計算する。例えば、仮想デコーダ121のシステムタイムクロックが、オーディオアクセスユニットのPTSと等しくなったとき、そのPTSのオーディオアクセスユニットをエレメンタリバッファ363−1から引き抜き、オーディオデコーダ364−1に供給されるものとして計算する。その後、処理は終了される。
なお、図20の処理は、図18のステップS60の処理を実行する場合に実行される処理であって、繰り返し実行されるものである。
このように、制御部135は、BSオーディオESのみをデコード可能なデコーダ(第1の仮想デコーダ)を想定してデコーダのバッファ占有量を計算する。すなわち、制御部135は、図15のBSオーディオデータデコード処理部360−1が、図14のオーディオデータデコード処理部360に設けられているものとして、第1の仮想デコーダのバッファ占有量を計算し、これと、後述する図22のランダムアクセスのための多重化制約とに基づいて、TSパケットの多重化タイミングを決定する。これにより、BSオーディオESのみをデコード可能なデコーダ(実際のデコーダ)は、バッファ占有量をオーバーフローやアンダーフローすることなく、確実にBSオーディオESをデコード(復号)することができる。
次に、図20のフローチャートを参照して、HQオーディオに対するバッファ占有量の計算処理を説明する。なお、この処理は、図4の制御部135が、受信側の仮想デコーダ121がHQオーディオESをデコード可能であると想定してTSパケットの多重化のタイミングを計算する処理である。すなわち、制御部135が、受信側の仮想デコーダ121が、第2の仮想デコーダであると想定して実行する処理である。
ステップS151において、制御部135は、図15のHQオーディオデータデコード処理部360−2のトランスポートバッファ362−2にtp=0のTSパケットを入れる空きがあれば、TSパケットを多重化するよう、多重化部138を制御する。すなわち、図15のトランスポートバッファ362−2にHQオーディオTSパケット(HQオーディオESに対応するTSパケット)を入れる空きがあれば、そのHQオーディオTSパケットを多重化するよう多重化部138を制御する。
ステップS152において、制御部135は、図15の仮想デコーダ121のエレメンタリバッファ363−2(Bn=B2_1)に空きがあれば、トランスポートバッファ362−2からRx2(Rxn=Rx2)のビットレートでデータを引き抜き、これをエレメンタリバッファ363−2(B2_1)に供給するものとして計算する。上述したように、第2の仮想デコーダのエレメンタリバッファ363−2への入力ビットレートはRx2であるので、Rx2のレートでデータが引き抜かれるものとして計算され、エレメンタリバッファ363−2の記憶容量はBn=B2_1であるものとして計算される。
ステップS153において、制御部135は、オーディオアクセスユニットのInput timingに基づいて、そのオーディオアクセスユニットをエレメンタリバッファ363−2(B2_1)から引き抜き、FIFOバッファ391(B2_2)に供給するものとして計算する。上述したように、第2のエンコーダ142によりエンコードされて出力されるHQオーディオESには、Input timing(図11参照)が付加されているので、制御部135は、このInput timingに基づいて、オーディオアクセスユニットをエレメンタリバッファ363−2(B2_1)から引き抜き、FIFOバッファ391(B2_2)に供給するものとして計算する。
ステップS154において、制御部135は、オーディオアクセスユニットのPTSに基づいて、そのオーディオアクセスユニットをFIFOバッファ391(B2_2)から引き抜き、オーディオデコーダ392に供給するものとして計算する。具体的には、制御部135は、オーディオアクセスユニットのPTSが、仮想デコーダ121(第2の仮想デコーダ)のシステムタイムクロック上の時間に等しくなったとき、そのオーディオアクセスユニットをFIFOバッファ391から引き抜き、オーディオデコーダ392に供給するものとして計算する。その後、処理は終了される。
このように、エレメンタリバッファ363−2(B2_1)は、Input timingに基づくタイミングでバッファの占有量が現象する。また、FIFOバッファ391(B2_2)は、オーバーフローすることはないが、アンダーフローする可能性はある。そのため、図21に示されるように、FIFOバッファ391(B2_2)がアンダーフローしないように、エレメンタリバッファ363−2(B2_1)がオーバーフローおよびアンダーフローしないようなタイミングでTSパケットを多重化するようにする。
次に、図18のステップS60で制御部135により実行される、ランダムアクセスのための多重化制約処理を、図22のフローチャートを参照して説明する。なお、この処理は、図4の制御部135が、ランダムアクセスをするために作成されるEP_map(詳細は後述する)を考慮して、TSパケットの多重化のタイミングを制約する処理である。
ステップS201において、制御部135は、BSオーディオTSパケットのTSペイロードに含まれるPESヘッダのPTS値と同じPTS値をもった、HQオーディオPESパケットを含むTSパケットが、BSオーディオTSとHQオーディオTSの中に存在するか否かを判定する。例えば、制御部135は、図7のBSオーディオTSパケットのペイロードに含まれるPESヘッダ(図7のBSオーディオPESパケット172−1)のPTS値であるPTS=BS1と、同じPTS値をもった、HQオーディオのPESパケットを含むTSパケットが、BSオーディオTS173とHQオーディオTS183の中に存在するか否かを判定する。PTS=BS1(図7)=HQ1(図8)である場合、制御部135は、BSオーディオTSパケットのTSペイロードに含まれるPESヘッダのPTS値(BS1)と同じPTS値(BS1=HQ1)をもった、HQオーディオPESパケットを含むTSパケット(図8のHQオーディオTSパケット232−1)が、BSオーディオTS173とHQオーディオTS183の中に存在すると判定する。
より具体的な例を、図9を参照して説明する。BSオーディオTSパケット231−1、231−3、231−j−1には、PESヘッダのPTS値が格納されている。また、HQオーディオTSパケット232−1,232−4,232−k−2には、PESヘッダのPTS値が格納されている。ここで、PTS#1=BS1=HQ1,PTS#2=BSn'=HQm'が成立し、BS2はHQ2と異なるものとする。このとき、BSオーディオTSパケット231−1のTSペイロードに含まれるPESヘッダのPTS値(PTS#1=BS1)と同じPTS値(PTS#1=HQ1)をもった、HQオーディオPESパケットを含むTSパケット232−1が、BSオーディオTS173とHQオーディオTS183の中に存在すると判定される。一方、BSオーディオTSパケット231−3のTSペイロードに含まれるPESヘッダのPTS値(BS2)と同じPTS値をもった、HQオーディオPESパケットを含むTSパケットは、BS2とHQ2が等しくないため、BSオーディオTS173とHQオーディオTS183の中に存在しないと判定される。
ステップS201において、BSオーディオTSパケットのTSペイロードに含まれるPESヘッダのPTS値と同じPTS値をもった、HQオーディオPESパケットを含むTSパケットが、BSオーディオTSとHQオーディオTSの中に存在すると判定された場合、処理はステップS202に進み、制御部135は、そのBSオーディオPESパケットを含むTSパケットは、そのHQオーディオPESパケットを含むTSパケットより、先に多重化するTSパケットとする。例えば、図9において、BSオーディオTSパケット231−1のTSペイロードに含まれるPESヘッダのPTS値(PTS#1=BS1)と同じPTS値(PTS#1=HQ1)をもった、HQオーディオPESパケットを含むTSパケット232−1が、BSオーディオTS173とHQオーディオTS183の中に存在すると判定された場合、制御部135は、ステップS202において、そのBSオーディオPESパケット172−1(図7参照)を含むTSパケット231−1は、そのHQオーディオPESパケット182−1(図8参照)を含むTSパケット232−1より、先に多重化するTSパケットとする。
ステップS201において、BSオーディオTSパケットのTSペイロードに含まれるPESヘッダのPTS値と同じPTS値をもった、HQオーディオPESパケットを含むTSパケットが、BSオーディオTSとHQオーディオTSの中に存在しないと判定された場合、または、ステップS202の処理の後、処理は終了される。
図22の処理により、BSオーディオTSパケットとHQオーディオTSパケットにそれぞれ含まれるPTS値が一致する場合、そのPESパケットを含むTSパケットについては、HQオーディオのTSパケットより、BSオーディオTSパケットの方が先に多重化されるものとされる。
なお、図22の処理は、図18のステップS60の処理を実行する場合に実行される処理であって、繰り返し実行されるものである。
このように、制御部135は、ランダムアクセスのための多重化制約処理を実行する。これにより、ランダムアクセスのために作成されるEP_mapを作成することができ、もって、ランダムアクセス可能なように、TSを多重化することができる。これにより、実際のデコーダは、バッファ占有量をオーバーフローやアンダーフローすることなく、確実にBSオーディオESをデコード(復号)することができるとともに、ランダムアクセスを可能とすることができる。
なお、図21や図22の処理も、図18のステップS60の処理を実行する場合に実行される処理であって、繰り返し実行されるものである。すなわち、図18のステップS60の処理を実行する場合に、図20と図21と図22の処理が並行して実行される。より具体的には、図18のステップS60の処理を実行する場合に、制御部135は、図20の処理によりBSオーディオに対応するTSパケットの多重化のタイミングを計算するとともに、図21の処理により、HQオーディオに対応するTSパケットの多重化のタイミングを計算し、さらに、図22の処理により、ランダムアクセスのための多重化制約処理を繰り返し実行する。
換言すれば、制御部135は、図15の仮想デコーダ121の中のトランスポートバッファ362−1およびトランスポートバッファ362−2がオーバーフローすることなく、かつ、エレメンタリバッファ363−1およびエレメンタリバッファ363−2がオーバーフローおよびアンダーフローすることなく、さらに、FIFOバッファ391がアンダーフローすることがないように、かつ、ランダムアクセスすることができるように、多重化するオーディオのTSパケットを決定(調整)する。
このように、制御部135は、BSオーディオESをデコード可能な仮想デコーダ(第1の仮想デコーダ)と、HQオーディオESをデコード可能な仮想デコーダ(第2の仮想デコーダ)とを想定してデコーダのバッファ占有量を計算するとともに、ランダムアクセスのための多重化制約処理を実行し、多重化するTSパケットを決定(多重化するTSパケットの順番を決定)する。これにより、BSオーディオESのみをデコード可能なデコーダ(実際のデコーダ)であっても、HQオーディオESをデコード可能なデコーダ(実際のデコーダ)であっても、バッファ占有量をオーバーフローやアンダーフローすることなく、確実にデコードすることができる。また、多重化されたTS190のランダムアクセスが可能となる。
すなわち、実際に送信装置111により多重化されたTSパケット(MPEG2-TS)を受信する実際の受信装置が、BSオーディオESのみしかデコードできない場合であっても、HQオーディオESをデコードできる場合であっても、それぞれの受信装置が有するバッファをオーバーフローおよびアンダーフローさせることなく、円滑にデコードすることができる。
なお、BSオーディオESとHQオーディオESとは、図10に示されるように、transport_priority(tp)の値によって識別されているものの、互いが独立した関係にあるため、BSオーディオTSパケットとHQオーディオTSパケットとを多重化する場合の制約がない。そのため、BSオーディオESとHQオーディオESとを、独立したストリームとして扱うことができる。
次に、図17と図18の処理により送信されたMPES2-TSを用いて、ランダムアクセスのためのEP_mapを作成する例を説明する。例えば、MPES2-TSに基づいて生成されたClip AVストリームファイルが、記録媒体に記録されている場合であって、そのClip AVストリームファイルに基づいて、ランダムアクセスのためのEP_mapを作成し、記録する場合の処理について説明する。
図23は、光ディスク511に記録されたClip AVストリームファイルに基づいて、EP_mapを作成し、記録する記録装置501の構成例を示すブロック図である。
この記録装置501には、光ディスク511、コントローラ521、操作入力部523、AV(Audio Visual)エンコーダ524、バッファ525、記録制御部526、ドライブ527、およびリムーバブルメディア528が設けられている。
コントローラ521は、予め用意されている制御プログラムを実行することで、記録装置501の全体の動作を制御する。例えば、コントローラ521は、装着された記録媒体である光ディスク511に記録されているClip AVストリームファイルに基づいて、後述する再生装置(図30の再生装置641)において光ディスク511へのランダムアクセスができるようにするための、EP_mapなどを記録させるための処理を制御することができる。
操作入力部522は、例えば、ボタン、キー、タッチパネル、ジョグダイヤル、マウスなどの入力デバイスや、所定のリモートコマンダから送信される赤外線などの信号を受信する受信部により構成され、ユーザの操作入力を取得し、コントローラ521に供給する。
データ取得部523は、AVデータ、すなわち、ビデオデータとオーディオデータを外部から取得し、AVエンコーダ524に供給する。AVエンコーダ524は、供給されたビデオデータとオーディオデータを、それぞれ所定の符号化方式でエンコード(符号化)し、ビデオES(エレメンタリストリーム)とオーディオESとをバッファ525に供給する。バッファ525は、エンコードされたデータを一時バッファリングし、これを、所定のタイミングで記録制御部526に供給する。
記録制御部526は、コントローラ521による制御にしたがって、バッファ525またはコントローラ521から供給されたデータ(MPEG2-TS)を光ディスク511に記録する。
また、例えば、操作入力部522は、ユーザからの、AVストリームの中の所定の再生区間の指定の入力を受け付け、これを、コントローラ521に供給する。これに対して、コントローラ521は、AVストリームのデータベース(Clip)、AVストリームの再生区間(PlayItem)をグループ化したもの(PlayList)のデータベース、および光ディスク511の記録内容の管理情報(index.bdmv とMovieObject.bdmv)を作成する。これらの情報から構成されるアプリケーションデータベース情報は、AVストリームと同様にして、記録制御部526へ入力される。記録制御部526は、コントローラ521から出力される制御信号に基づいて、光ディスク511へデータベースファイルを記録する。
また、コントローラ521には、必要に応じてドライブ527も接続されており、ドライブ527には、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVDを含む)、光磁気ディスク(MD(登録商標)(Mini-Disk)を含む)、または、半導体メモリなどよりなるリムーバブルメディア528が装着される。
なお、コンテンツを記録する記録媒体は、光ディスク511の他、例えば、磁気ディスクや半導体メモリであってもよいことは言うまでもない。
図24は、図23の記録装置501や後述する図30の再生装置641に装着される光ディスク511上のアプリケーションフォーマットの例を示す図である。
アプリケーションフォーマットは、AVストリームの管理のためにPlayListとClipの2つのレイヤを有している。ここでは、1つのAVストリームとそれに付随する情報であるClipインフォメーションのペアを1つのオブジェクトと考え、それらをまとめてClipと称する。以下、AVストリームをAVストリームファイルとも称する。また、ClipインフォメーションをClipインフォメーションファイルとも称する。
1つのAVストリームファイルは、MPEG(Moving Picture Expert Group)2トランスポートストリームをアプリケーションフォーマットによって規定される構造に配置したデータをストアする。一般的に、コンピュータ等で用いられるファイルはバイト列として扱われるが、AVストリームファイルのコンテンツは時間軸上に展開され、Clipのアクセスポイントは、主に、タイムスタンプでPlayListにより指定される。すなわち、PlayListとClipは、AVストリームの管理のためのレイヤである。
Clip中のアクセスポイントがタイムスタンプでPlayListにより示されている場合、Clip Informationファイル(例えば、EP_map)は、タイムスタンプから、AVストリームファイル中のデコードを開始すべきアドレス情報を見つけるために使用される。
PlayListは、AVストリームの再生区間の集まりである。あるAVストリーム中の1つの再生区間はPlayItemと呼ばれ、それは、時間軸上の再生区間のIN点(再生開始点)とOUT点(再生終了点)のペアで表される。従って、PlayListは、図24に示されるように1つ、または複数のPlayItemにより構成される。
図24において、左から1番目のPlayListは2つのPlayItemから構成され、その2つのPlayItemにより、左側のClipに含まれるAVストリームの前半部分と後半部分がそれぞれ参照されている。また、左から2番目のPlayListは1つのPlayItemから構成され、それにより、右側のClipに含まれるAVストリーム全体が参照されている。さらに、左から3番目のPlayListは2つのPlayItemから構成され、その2つのPlayItemにより、左側のClipに含まれるAVストリームのある部分と、右側のClipに含まれるAVストリームのある部分がそれぞれ参照されている。
例えば、図24のディスクナビゲーションプログラムにより、そのときの再生位置を表す情報として、左から1番目のPlayListに含まれる左側のPlayItemがユーザにより指定された場合、そのPlayItemが参照する、左側のClipに含まれるAVストリームの前半部分の再生が行われる。このように、PlayListは、AVストリームファイルの再生を管理するための再生管理情報として用いられる。
ディスクナビゲーションプログラムは、PlayListの再生の順序や、PlayListのインタラクティブな再生をコントロールする機能を有する。また、ディスクナビゲーションプログラムは、各種の再生の実行をユーザが指示するためのメニュー画面を表示する機能なども有する。このディスクナビゲーションプログラムは、例えば、Java(登録商標)などのプログラミング言語で記述され、記録媒体上に用意される。
本実施の形態では、PlayListの中で、1つ以上のPlayItemの並びによって(連続するPlayItemにより)作られる再生パスをメインパス(Main Path)と称し、PlayListの中で、Main Pathに平行(並列)して、1つ以上のSub Pathの並びによって(非連続でもよいし、連続してもよいSubPlayItemにより)作られる再生パスをサブパス(Sub Path)と称する。すなわち、記録装置501や再生装置(図30を参照して後述する再生装置641)に装着される記録媒体上のアプリケーションフォーマットは、メインパスに関連付けられて(合わせて)再生されるサブパス(Sub Path)をPlayListの中に持つ。
次に、Clip Information file(図24のClipインフォメーション)について説明する。本実施の形態における記録装置501は、1つのClip AVストリームと、それに対応するのClip インフォメーションファイルとを別々のファイルとして、光ディスク511に記録する。ここで、Clip AVストリームは、上述した図17と図18の処理で送信されたMPEG-TSがファイル化されたものである。Clip インフォメーションファイルは、CPI(Characteristic Point Information)とClipMarkとを有している。
CPIは、Clipインフォメーションファイルに含まれるデータであり、主に、それはClipへのアクセスポイントのタイムスタンプが与えられた時、Clip AV stream fileの中でデータの読み出しを開始すべきデータアドレスを見つけるために用いられる。本実施の形態では、EP_mapの種類のCPIが用いられる。
図25は、EP_mapとClip AVストリームとの関係を説明する図である。
EP_mapは、エントリーポイント(EP)データのリストであり、それはエレメンタリストリームおよびトランスポートストリームから抽出されたものである。これは、AVストリームの中でデコードを開始すべきエントリーポイントの場所を見つけるためのアドレス情報を持つ。1つのEPデータは、プレゼンテーションタイムスタンプ(PTS)と、そのPTSに対応するアクセスユニットのAVストリームの中のデータアドレスの対で構成される。
EP_mapは、主に2つの目的のために使用される。第1に、PlayListの中でプレゼンテーションタイムスタンプによって参照されるアクセスユニットのAVストリームの中のデータアドレスを見つけるために使用される。ランダムアクセス再生される場合もこれに該当する。第2に、ファーストフォワード再生やファーストリバース再生のために使用される。記録装置501が、AVストリームを記録する場合や、AVストリームのシンタクスを解析することができるとき、EP_mapが作成され、ディスクに記録される。
図25に示すように、Clipの中のアクセスポイントをプレゼンテーションタイムスタンプ(PTS)で指定されたときに、Clip AVストリームファイルの中でストリームのデコードを開始すべきアドレス情報を見つけるためにEP_mapが用いられる。このように、EP_mapは、上述したPlayListで示される時間軸上のIN点及びOUT点に対応するアドレスを示すテーブルであり、PlayList等のプレゼンテーションタイムスタンプ(PTS)をこれに対応するアドレスに変換するために使用される。すなわち、EP_mapは、プレゼンテーションタイムスタンプ(PTS)と、Clip AVストリームのソースパケットナンバー(トランスポートストリームのTS(トランスポートストリーム)パケットの番号)とを対応付けたテーブルである。
このEP_mapにより、Clip AVストリームから該当するデータを選択して読み出すことができる。また、EP_mapは、ランダムアクセスを行う場合に用いられる。例えば、ユーザが、操作入力部522に操作を入力して、Clipの中のアクセスポイントを、タイムスタンプ(PTS)で指定した場合、コントローラ521は、Clip AVストリームファイルの中でストリームのデコードを開始すべきアドレス情報を、EP_mapを参照して取得し、これに基づいて、ランダムアクセスを行うよう記録制御部526を制御する。なお、EP_mapの種類には、ビデオ用とオーディオ用がある。
図26は、オーディオ用EP_mapの構造を説明する図である。具体的には、図26(A)は、Clip AVストリームにおけるプレゼンテーションタイムスタンプ(PTS)の位置を説明する図、図26(B)は、図26(A)に示すClip AVストリームの一部を拡大して示す図、図26(C)は、オーディオ用EP_mapのデータ構造を示す図である。
オーディオ用EP_mapは、図26(C)に示されるように、Clip AVストリームのプレゼンテーションタイムスタンプ(PTS)(PTS_EP_start)と、それに対応するソースパケット番号(TSパケットの番号)を示す情報(SPN_EP_start)とが記述されたテーブルである。
ここで、アドレスの表現として、ソースパケット番号(SPN: Source Packet Number)を使用することができる。このソースパケット番号(SPN)は、Clip AVストリーム内の全てのソースパケットに一連の番号を付したものである。ソースパケット番号SPNは、Clip AVストリームの中で、最初のソースパケットをソースパケット番号SPN=0(ゼロ)とし、その次のソースパケットのソースパケット番号SPN=1とし、以後、次のパケット毎にソースパケット番号SPNは1ずつ増加するものとする。従って、オーディオ用EP_mapのSPN_EP_startとしては、ソースパケット番号(SPN)が記述される。
次に、図17と図18の処理により多重化されて生成されたTS190(図6や図9参照)に基づいて生成されるEP_map例を、図27を用いて説明する。
図27は、BSオーディオTS173とHQオーディオTS183を多重化した場合のTS190のEP_mapの例を示している。すなわち、オーディオとして、BSオーディオTS173とHQオーディオTS183という2種類のオーディオESが含まれている。
図27の例の場合、ClipAVストリームは、BSオーディオESとHQオーディオESのTSパケットから構成される。このとき、BSオーディオTSパケットの(さらに中のPESパケットの)PTSの値と同じPTSの値を有するHQオーディオTSパケットが、BSオーディオTSパケットより後ろに存在する場合、BSオーディオTSパケットが、エントリーポイントとなり得る。このとき、上述した図22の制約を満たすように、多重化されていれば、同じPTS値を有するオーディオTSパケットについては、HQオーディオTSパケットよりBSオーディオTSパケットの方が前に存在することになる。
SPN_EP_startは、ソースパケット(TSパケット)のエントリーポイントを示す情報であり、図27においては、SPN_EP_startの矢印が示すBSオーディオTSパケット311−1の位置が、SPN_EP_startにより示されている。図27のTSにおいて、SPN_EP_startにより示されるTSパケットから順番に、BSオーディオTSパケット311−1,311−2、HQオーディオTSパケット321−1乃至321−4が配置されている。
ここで、ClipAVストリームファイルに格納されている複数のTSパケットは、複数のPES(Packetized Elementarty Stream)パケットを含んでいる。そのため、複数のTSパケット(図27の例においては、7個のTSパケット)からは、図27に示されるように、PESパケット(図27の例においては、3個のPESパケット)を抜き出すことができる。図27のPESパケットは、ソースパケットのエントリーポイントとされているTSパケットを含む複数のTSパケットから抜き出されたPESパケットである。より詳細には、図27のPESパケットの先頭のデータは、ソースパケットのエントリーポイントとされたTSパケットに含まれているものとされる。この例の場合、ソースパケットのエントリーポイントとされているTSパケットを含むTSパケット311−1,311−2,321−1乃至321−4から抜き出されたPESパケットは、PESパケット301乃至303とされている。PESパケット301乃至303は、それぞれ、PESヘッダとPESペイロードにより構成されている。
PESパケット301は、BSオーディオESをPESパケット化したものであり、PESパケット302と303は、HQオーディオESをPESパケット化したものである。PESパケット301は、PESヘッダ301−1とPESペイロード301−2により構成され、PESパケット302は、PESヘッダ302−1とPESペイロード302−2により構成され、PESパケット303は、PESヘッダ303−1とPESペイロード303−2により構成される。このとき、PESパケット301のPESペイロード301−2には、BSオーディオESのデータが格納され、PESパケット302と303のPESペイロード302−2と303−2とには、HQオーディオESのデータが格納される。
ここで、先頭のPESパケット301のPESヘッダ301−1に格納されているPTSは、PTS_EP_start(PESパケットのPTS値)とされている。すなわち、SPN_EP_startは、PTS_EP_startによって参照されているPESパケット301の第1バイトを含んだTSパケット311−1のソースパケット番号とされる。
PESパケット301のPESペイロード301−2には、BSオーディオESである複数のオーディオアクセスユニット(BS Audio AU)が含まれている。図27の例の場合、BSオーディオESは固定長符号化方式(第1の符号化方式)によりエンコードされたものであるので、各オーディオアクセスユニットの大きさは固定である。PESパケット302のPESペイロード302−2には、HQオーディオESである複数のオーディオアクセスユニット(HQ Audio AU)が含まれている。図31の例の場合、HQオーディオESは可変長符号化方式(第2の符号化方式)によりエンコードされたものであるので、各オーディオアクセスユニットの大きさは可変である。ここで、PESパケット302のPESヘッダ302−1に含まれるPTSの値(PTS_EP_startで示されるBSオーディオTSパケット311−1から取得されたPTSの値)と、PESパケット301のPESヘッダ301−1に含まれるPTSの値は同一とされる。PESパケット303のPESペイロード303−2には、HQオーディオESである複数のオーディオアクセスユニットが含まれている。図27の例の場合、HQオーディオESは可変長符号化方式によりエンコードされたものであるので、各オーディオアクセスユニットの大きさは可変である。
このように、PTS_EP_startはPESパケットのPTSの値を表し、SPN_EP_startはPTS_EP_startによって参照されているPESパケット301の第1バイトを含んだTSパケット311−1のソースパケット番号となる。
次に、図28のフローチャートを参照して、光ディスク511に記録されているClip AVストリームファイルに関連するClip Informationファイルを作成し、記録する処理を説明する。この処理は、例えば、図4の送信装置111によって、光ディスク511にClipAVストリームファイルが記録た状態で開始される。すなわち、上述した、BSオーディオTSパケットとHQオーディオTSパケットからなるTS190(上述した制約を満たすTS)がファイル化されたClipAVストリームファイルが記録されている光ディスク511が、図23の記録装置501に装着されている状態で開始される。
ステップS311において、記録制御部526は、光ディスク511に記録されているClipAVストリームファイルを読み出し、これをコントローラ521に供給する。読み出されたClip AVストリームファイルは、上述した図17乃至図22の処理の結果、多重化されて生成されたMPEG2-TSをファイル化したものである。
ステップS312において、コントローラ521は、ClipAVストリームファイルについてのClipInfoを作成する。ClipInfo()は、それに対応するAVストリームファイル(Clip AVストリーム)の属性情報をストアする情報である。
ステップS313において、コントローラ521は、ClipAVストリームファイルについてのSequenceInfoを作成する。
ステップS314において、コントローラ521は、ClipAVストリームファイルについてのProgramInfoを作成する。
ステップS315において、コントローラ521は、ClipAVストリームファイルについてのCPI (EP-map)を作成する。具体的には、コントローラ521は、ClipインフォメーションファイルのCPI()に含まれるEP_mapを作成する。なお、この処理の詳細は、図29を参照して後述する。
ステップS316において、コントローラ521は、ClipAVストリームファイルについてのClipMarkを作成する。
ステップS317において、コントローラ521は、ClipInfo()、SequenceInfo()、ProgramInfo()、CPI()、およびClipMark()がストアされたClip Informationファイルを記録する。
図28の処理により、ClipAVストリームファイルに基づいて、Clipインフォメーションファイルを作成し、記録することができる。
なお、図28では各処理を時系列に説明したが、ステップS312乃至ステップS316の処理は、実際には同時に動作するものである。
次に、図29のフローチャートを参照して、図32のステップS315のEP-mapの作成処理の詳細を説明する。なお、この処理は、図6、図9、または図27を用いて上述したようなTS190が記録されている光ディスク511が、図1の記録装置501に装着されている状態で開始される。すなわち、上述した多重化制約に基づいて生成された、BSオーディオESとHQオーディオESからなるTS190が記録されている光ディスク511が記録装置501に装着されている状態で開始される。
ステップS351において、記録制御部526は、光ディスク511に記録されているClipインフォメーションファイルを読み出し、BSオーディオESとHQオーディオESからなるTS190の入力を受け付ける。TSは、上述したように、図6,図9,図27に示される構成を有しており、HQオーディオESのTSパケットと、HQオーディオESのTSパケットにより構成されている。入力を受け付けたTSは、複数のTSパケットにより構成されているので、TSパケットを順次コントローラ521に供給する。
ステップS352において、コントローラ521は、記録制御部526から供給されたTSパケットを取得し、このTSパケットがBSオーディオESのTSパケットであるか否かを判定する。TSパケットは、図27に示されるように、BSオーディオTSパケット311−1(BSオーディオESのTSパケット)、または、HQオーディオTSパケット321−1(HQオーディオESのTSパケット)であるので、コントローラ521は、取得したTSパケットが、BSオーディオESのTSパケット(BSオーディオTSパケットであるか否かを判定する。各TSパケットのヘッダには、そのTSパケットがBSオーディオESのTSパケットであるかHQオーディオESのTSパケットであるかを識別するためのtransport_priorityフラグ(tpフラグ)が付されているので、コントローラ521は、このTSパケットのヘッダに付されているtpフラグに基づいてこれを判定する。例えば、tpフラグが1である場合、コントローラ521は、そのTSパケットがBSオーディオESのTSパケットであると判定する。
ステップS352において、BSオーディオESのTSパケットではないと判定された場合、処理はステップS352に戻り、それ以降の処理が繰り返される。すなわち、BSオーディオESのTSパケットである場合に、ステップS352以降の処理が実行される。
ステップS352において、BSオーディオESのTSパケットであると判定された場合、処理はステップS353に進み、コントローラ521は、TSパケットのペイロードからPESパケットのPTSの値を取得する。ここで、TSパケットはTSヘッダとTSペイロードからなり、PESパケットのデータは、TSペイロードに格納されている。そのため、例えば、図27のTSパケット311−1のTSペイロードにはPESヘッダ301−1が含まれているので、コントローラ521は、PESヘッダ301−1に格納されているPTSの値を取得する。例えば、コントローラ521は、PTSの値としてPTS#1を取得する。
なお、複数のTSパケットから1つのPESパケットが構成されるので、対象となるTSパケットにPESヘッダが含まれていない場合もあり得る。そのため、例えば、TSパケットのペイロードに、PESヘッダが含まれておらず、PESペイロードしか含まれていない場合、処理はステップS352に戻り、次のTSパケットが取得され、それ以降の処理が繰り返される。
ステップS354において、コントローラ521は、取得したPTS(例えば、PTS#1)と同じPTSの値を有するHQオーディオESのPESパケットを含んだTSパケットが、TSの後ろに存在し、かつ、先頭アクセスユニットが詳細情報(図11の詳細情報276)のヘッダを含んでいるか否かを判定する。まず、コントローラ521は、例えば、ステップS353の処理で取得したPTS#1と同じPTSの値を有するHQオーディオESのPESパケットを含んだTSパケットが、TSの後ろ(すなわち、TSにおいて、ステップS352の処理で取得したTSパケットより後ろ)に存在するかを判定する。換言すれば、コントローラ521は、PTS#1を取得したBSオーディオESのTSパケットより、TSにおいて後ろの位置に、PTS#1を有するHQオーディオESのTSパケットが存在するか否かを判定する。そして、次に、上記の判定がYESである場合(PTS#1を取得したBSオーディオESのTSパケットより、TSにおいて後ろの位置に、PTS#1を有するHQオーディオESのTSパケットが存在する場合)に、さらに、そのPTS#1を有するHQオーディオTSパケットのPESペイロード302−2(より詳細には、PESペイロード302−2のヘッダ)に、詳細情報(図11の詳細情報276)を含んでいるか否かを判定する。すなわち、コントローラ521は、図12を用いて上述した配置が満たされており、さらに、一致するとされるPTSを有するHQオーディオTSパケットから抜き出されたPESペイロードに、詳細情報276(図11)が含まれているか否かを判定する。なお、上述したような制約を満たすように多重化やPESパケット化が行われているのは、このためである。
ステップS354において、取得したPTS(例えば、PTS#1)と同じPTSの値を有するHQオーディオESのPESパケットを含んだTSパケットが、TSの後ろに存在しないと判定された場合、または、先頭アクセスユニットが詳細情報276のヘッダを含んでいないと判定された場合、処理はステップS352に戻り、それ以降の処理が繰り返される。すなわち、この2つの条件を両方とも満たしていなければ、処理はステップS352に戻る。いずれの条件も満たされている場合(YESである場合)、処理をステップS355に進める。
ステップS354において、取得したPTS(例えば、PTS#1)と同じPTSの値を有するHQオーディオESのPESパケットを含んだTSパケットが、TSの後ろに存在し、かつ、先頭アクセスユニットが詳細情報のヘッダを含んでいると判定された場合、ステップS355において、コントローラ521は、現在のTSパケットを、エントリーポイントとする。例えば、コントローラ521は、図27のTSパケット311−1を、エントリーポイントとする。すなわち、PTSの値が一致する場合であって、一致するPTSを有するBSオーディオTSパケットよりHQオーディオTSパケットの方が後に配置され、HQオーディオTSパケットから取得したPESペイロードに、詳細情報276が含まれている場合に、そのBSオーディオTSパケットがエントリーポイントとされる。
このように、エントリーポイントとされるPTSと同じPTSのHQオーディオTSパケットに、詳細情報を含めるようにすることで、HQオーディオを再生する場合に、詳細情報を円滑に取得することができるので、迅速に再生を行うことができる。
ステップS356において、コントローラ521は、BSオーディオESとHQオーディオESのPIDと、TSパケットの番号、および、ステップS353の処理で取得したPTSの値に基づいて、EP_mapを作成する。なお、PIDは、上述したように、TSパケット化されるときに付加され、BSオーディオESとHQオーディオESのPIDは同一とされている(例えば、PID=a0)。そのため、例えば、コントローラ521は、PID=a0、TSパケットの番号(図27のBSオーディオTSパケット311−1のソースパケット番号)、および、PTS#1に基づいて、EP_mapを作成する。
ステップS357において、コントローラ521は、現在処理しているTPパケットが、最後のTSパケットであるか否かを判定する。最後のTSパケットではない、すなわち、まだ対象としていないTSパケットが残っていると判定された場合には、処理はステップS352に戻り、それ以降の処理が繰り返される。すなわち、最後のTSパケットを処理し終えるまで処理は繰り返される。ステップS357において、現在処理しているTSパケットが、最後のTSパケットであると判定された場合、処理を終了する。
図29の処理により、EP_mapを生成することができる。
次に、光ディスク511に記録されたClipAVストリームファイルと、図28の処理により光ディスク511に記録されたClipインフォメーションファイル(Clip)を再生する場合について説明する。図30は、光ディスク511に記録されたデータを再生する再生装置641の構成例を示すブロック図である。
コントローラ651は、操作入力部652により入力されるユーザの操作入力などに基づいて、予め用意されている制御プログラムを実行するか、または、再生制御部654を制御して光ディスク511に記録されている制御プログラムを読み出し、メモリ653に展開して実行することで、再生装置641の全体の動作を制御する。例えば、コントローラ651は、光ディスク311が装着されたとき、所定のメニュー画面を外部の表示装置に表示させることができる。
操作入力部652は、例えば、ボタン、キー、タッチパネル、ジョグダイヤル、マウスなどの入力デバイスや、所定のリモートコマンダから送信される赤外線などの信号を受信する受信部により構成され、ユーザの操作入力を取得し、コントローラ651に供給する。
メモリ653は、コントローラ651が各種の処理を実行する上において必要なデータなどを適宜記憶する。
再生制御部654は、コントローラ651による制御にしたがって、光ディスク511からデータを読み出し、読み出したデータを、コントローラ651、メモリ653、または、AVデコーダ656に供給するためにバッファ655に出力する。光ディスク511から読み出された情報が、制御プログラムや制御情報、または、Clipインフォメーションファイル(EP_map)などであった場合、再生制御部654により読み出された情報は、コントローラ651、または、メモリ653に出力される。光ディスク511から読み出された情報が、AVストリームファイルなどのAVデータであった場合、再生制御部654により読み出された情報は、AVデコーダ656に供給するためにバッファ655に出力される。
バッファ655は、再生制御部654により光ディスク511から読み出されたAVストリームなどのAVデータを一時バッファリングし、AVデコーダ656に供給する。なお、実際には、このAVストリームはTS190により構成されているので、コントローラ651は、TSからPESを取得し、さらに、ESを取得する。このESには、BSオーディオES、HQオーディオES、およびビデオESが含まれている。
AVデコーダ656は、再生制御部654から供給されるAVストリームなどのAVデータをデコードし、得られたビデオ信号とオーディオ信号を外部の表示装置に出力する。具体的には、このAVストリームには、エンコードされているBSオーディオES、HQオーディオES、およびビデオESが含まれている。
AVデコーダ656は、例えば、図31に示されるように、第1の符号化方式によりエンコードされたオーディオESをデコードする第1のオーディオデコーダ656−1と、ビデオESをデコードするビデオデコーダ656−3とを有するAVデコーダの場合もあれば、図32に示されるように、第2の符号化方式によりエンコードされたオーディオESをデコードする第2のオーディオデコーダ656−2と、ビデオESをデコードするビデオデコーダ656−3とを有するAVデコーダの場合もある。
すなわち、図31のAVデコーダ656では、オーディオとしては、BSオーディオESのみをデコードすることができ、HQオーディオESはデコードすることができない。図32のAVデコーダ656では、オーディオとしてHQオーディオESをデコードすることができる。なお、図32のAVデコーダ656は、第1のオーディオデコーダ656−1より高性能である第2のオーディオデコーダ656−2を有しているので、もちろん、BSオーディオESをデコードすることもできるが、より高性能のものを再生するのが一般的であるので、ここでは、図32のAVデコーダ656が、HQオーディオESをデコードの対象とするものとして説明する。
図30に戻って、表示装置においては、デコーダ656によりデコードされたデータ(ビデオデータとオーディオデータ)に基づいて、例えば、光ディスク511に記録されているコンテンツの出力(映像の表示、音声の出力)が行われる。
また、コントローラ651には、必要に応じてドライブ657も接続されており、ドライブ657には、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVDを含む)、光磁気ディスク(MD(登録商標)(Mini-Disk)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア528が装着される。
次に、図29の処理で作成された(図28のステップS315の処理で作成され、記録された)EP_mapを使用して特殊再生を行う方法を説明する。EP_mapは、ランダムアクセス再生をするために役立つ。
ディジタル放送のトランスポートストリームの中では、オーディオPIDが変化する場合があるので、AVデコーダ(図30の再生装置641のAVデコーダ656)は記録されているトランスポートストリームの中のPIDマッピングを知る必要がある。そのために、EP_mapはEP_map_for_one_stream_PID()と呼ばれるサブテーブル毎にそれが参照するオーディオPIDの値を持ち、また、ProgramInfoはPIDマッピングについての情報を持つ。
図33は、BSオーディオESに対するランダムアクセス再生処理を説明するフローチャートである。この処理は、例えば、図31のAVデコーダ656を有する図30の再生装置641が、これまでの処理により光ディスク511に記録されたClip(ClipAVストリームファイルとClipインフォメーションファイル)からBSオーディオESを再生する場合に実行される処理である。すなわち、再生装置641が、BSオーディオESとビデオESのみに対応する場合(HQオーディオESには対応していない場合)であって、BSオーディオESのランダムアクセス再生を行う場合に、実行される処理である。また、ランダムアクセス再生、すなわち、光ディスク511に記録されたClipAVストリームファイルを先頭から再生するのではなく、ユーザの指令した再生位置から再生を開始する処理である。なお、この処理は、Clipが記録された光ディスク511が、図30の再生装置641(図31のAVデコーダ656を有する再生装置)に装着された場合に開始される。
ステップS411において、再生制御部654は、コントローラ651からの制御に基づいて、光ディスク511に記録されているBSオーディオESとHQオーディオESとを含むClipからEP_map(例えば、図29の処理で作成されたEP_map)を取得する。再生制御部654は、取得したEP_mapを、コントローラ651に供給する。
ステップS412において、操作入力部652は、ユーザからのランダムアクセス再生の指令を受け付ける。操作入力部652は、受け付けた指令に対応する信号を、コントローラ651に供給する。例えば、ユーザは、ランダムアクセス再生の指令として、再生位置(エントリーポイント)を時刻(このAVストリーム上の再生時刻)で指令するので、操作入力部652は、受け付けたエントリーポイントの時刻に対応する信号を、コントローラ651に供給する。エントリーポイントは、図29を用いて上述したように、所定のBSオーディオTSパケットに対して設定されている。コントローラ651は、操作入力部652から供給された時刻に対応する信号に基づいて、所定の演算を行い、PTSを求める。すなわち、コントローラ651は、ユーザにより指定された時刻(AVストリーム上の時刻)を、PTSに変換することが可能である。
ステップS413において、コントローラ651は、取得したEP_mapに基づいて、受け付けたエントリーポイントのソースパケット番号とPTS値を取得する。例えば、図27において、SPN_EP_startで示される位置(時刻)がエントリーポイントとして受け付けられた場合、コントローラ651は、エントリーポイントのソースパケット番号として、SPN_EP_start(すなわち、BSオーディオTSパケット311−1の番号)であるSPN#1を取得するとともに、PTS値として、そのBSオーディオTSパケット311−1を含むTSパケット(TSパケットのTSペイロードの部分)から抜き出されたPESパケットのPESヘッダに格納されているPTS値(PTS_EP_start)として、PTS#1を取得する。
ステップS414において、コントローラ651は、BSオーディオESとHQオーディオESとを含むClipの読み出し位置を、取得したソースパケット番号とする。例えば、コントローラ651は、取得したソースパケット番号SPN#1(SPN_EP_start)を、光ディスク511のClipの読み出し位置とする。このとき、エントリーポイントは、図29を用いて上述したように、BSオーディオTSパケットのみに設定可能であるので、光ディスク511の読み出し位置は、BSオーディオTSパケットに設定されている。
ステップS415において、再生制御部654は、コントローラ651からの制御に基づいて、そのソースパケット番号を有するBSオーディオESのTSパケットを読み出し、第1のオーディオデコーダ656−1に供給する。例えば、再生制御部654は、ソースパケット番号SPN#1を有するBSオーディオESのTSパケットを読み出し、図31の第1のオーディオデコーダ656−1に供給する。
ステップS416において、第1のオーディオデコーダ656−1は、供給されたBSオーディオESのTSパケットからデコードを開始する。すなわち、ソースパケット番号SPN#1を有するBSオーディオTSパケット311−1(図27)から再生が開始される。第1のオーディオデコーダ656−1は、図31のような構成を有し、BSオーディオESをデコードすることができるので、BSオーディオESのTSパケットが順次読み出され、デコードされて出力される。以後のTSパケットは、一般的な再生と同様であるのでその詳細な説明は省略するが、順次BSオーディオTSパケットのみがピックアップされて、デコードされる。
図33の処理により、BSオーディオESに対応する図31のAVデコーダ656を有する再生装置641(図30)は、EP_mapを参照することで、ユーザからのランダムアクセス再生の指令に基づいて、BSオーディオESのランダムアクセス再生を行うことができる。
次に、図34のフローチャートを参照して、HQオーディオESに対するランダムアクセス再生処理を説明する。この処理は、例えば、図32のAVデコーダ656を有する図30の再生装置641が、これまでの処理により光ディスク511に記録されたClip(ClipAVストリームファイルとClipインフォメーションファイル)からHQオーディオESを再生する場合に実行される処理である。すなわち、再生装置641が、HQオーディオESとビデオESに対応する場合であって、HQオーディオESのランダムアクセス再生を行う場合に、実行される処理である。また、ランダムアクセス再生、すなわち、光ディスク511に記録されたClipAVストリームファイルを先頭から再生するのではなく、ユーザの指令した再生位置から再生を開始する処理である。なお、この処理は、Clipが記録された光ディスク511が、図30の再生装置641(図32のAVデコーダ656を有する再生装置)に装着された場合に開始される。
ステップS451において、再生制御部654は、コントローラ651からの制御に基づいて、光ディスク511に記録されているBSオーディオESとHQオーディオESとを含むClipからEP_map(例えば、図29の処理で作成されたEP_map)を取得する。再生制御部654は、取得したEP_mapを、コントローラ651に供給する。
ステップS452において、操作入力部652は、ユーザからのランダムアクセス再生の指令を受け付ける。操作入力部652は、受け付けた指令に対応する信号を、コントローラ651に供給する。例えば、ユーザは、ランダムアクセス再生の指令として、再生位置(エントリーポイント)を時刻で指令するので、操作入力部652は、受け付けたエントリーポイントの時刻に対応する信号を、コントローラ651に供給する。エントリーポイントは、図29を用いて上述したように、所定のBSオーディオTSパケットに対して設定されている。すなわち、この再生装置641は、図32のAVデコーダ656を有しており、HQオーディオESに対応しているので、例えば、図27の例の場合、HQオーディオTSパケット321−1からの再生が要求されるが、ここで取得されたのは、BSオーディオTSパケット311−1のエントリーポイントである。そのため、以降の処理で、最適なHQオーディオTSパケットに読み出し位置を設定する必要がある。なお、ユーザは、ランダムアクセスの再生位置として、PTSを時間(再生時間)に直したものを指定することもできる。
ステップS453において、コントローラ651は、取得したEP_mapに基づいて、受け付けたエントリーポイントのソースパケット番号とPTS値を取得する。例えば、図27において、SPN_EP_startで示される位置(時刻)がエントリーポイントとして受け付けられた場合、コントローラ651は、エントリーポイントのソースパケット番号として、SPN_EP_start(すなわち、BSオーディオTSパケット311−1の番号)であるSPN#1を取得するとともに、PTS値として、そのBSオーディオTSパケット311−1を含むTSパケット(TSパケットのTSペイロードの部分)から抜き出されたPESパケットのPESヘッダに格納されているPTS値(PTS_EP_start)として、PTS#1を取得する。
ステップS454において、コントローラ651は、BSオーディオESとHQオーディオESとを含むClipの読み出し位置を、取得したソースパケット番号とする。例えば、コントローラ651は、取得したソースパケット番号SPN#1(SPN_EP_start)を、光ディスク511のClipの読み出し位置とする。このとき、エントリーポイントは、図29を用いて上述したように、BSオーディオTSパケットのみに設定可能であるので、光ディスク511の読み出し位置は、BSオーディオTSパケットに設定されている。
ステップS455において、再生制御部654は、コントローラ651からの制御に基づいて、現在の読み出し位置から光ディスク511を読み出し、読み出し位置の後ろ(記録時間としての後ろ)に、最初に記録されているHQオーディオTSパケットを取得する。例えば、図27の例において、BSオーディオTSパケット311−1に読み出し位置が設定されている場合、再生制御部654は、ソースパケット番号が、BSオーディオTSパケット311−1(SPN#1)より後であり、最初のHQオーディオTSパケットであるHQオーディオTSパケット321−1を取得する。再生制御部654は、取得したHQオーディオTSパケット321−1を、コントローラ651に供給する。
ステップS456において、コントローラ651は、取得したHQオーディオTSパケットのTSペイロードに含まれるPTSヘッダのPTS値が、取得したPTSの値と一致するか否かを判定する。図27の例の場合、コントローラ651は、取得したHQオーディオTSパケット321−1のTSペイロードに含まれるPTSヘッダ302−1のPTS値が、ステップS453の処理で取得したPTS値(PTS#1)と一致するか否かを判定する。取得されたHQオーディオTSパケットに対応するPTS値と、ステップS453の処理で取得されたPTS値が一致しないと判定された場合、処理はステップS455に戻り、それ以降の処理が繰り返される。例えば、いま読み出されたHQオーディオTSパケット321−1よりさらに後ろの位置に記録されている(ソースパケット番号が後ろである)HQオーディオTSパケット321−2が取得され、その取得されたHQオーディオTSパケット321−2について、ステップS456の判定が行われる。なお、複数のTSパケットから1つのPESパケットが構成されるので、対象となるHQオーディオTSパケットにPESヘッダが含まれていない場合もあり得る。そのため、例えば、HQオーディオTSパケットのペイロードに、PESヘッダが含まれておらず、PESペイロードしか含まれていない場合、処理はステップS455に戻り、次のHQオーディオTSパケットが取得され、それ以降の処理が繰り返される。
ステップS456において、取得されたHQオーディオTSパケットに対応するPTS値と、ステップS453の処理で取得されたPTS値が一致すると判定された場合、コントローラ651は、そのHQオーディオTSパケットを、新たな読み出し位置とする。そして、ステップS457に進み、再生制御部654は、コントローラ651からの制御に基づいて、PTS値が一致するとされたHQオーディオTSパケットを読み出し、図32の第2のオーディオデコーダ656−2に供給する。すなわち、取得したHQオーディオTSパケット321−1に対応するPTS値と、ステップS453の処理で取得されたPTS値が一致する場合、そのBSオーディオTSパケット311−1とHQオーディオTSパケット321−1は、同じ再生時刻に対応している。そのため、再生制御部654は、PTS値が一致すると判定されたそのHQオーディオTSパケット321−1の位置から、再生を開始する。
ステップS458において、第2のオーディオデコーダ656−2は、供給されたHQオーディオTSパケット321−1からデコードを開始する。すなわち、再生する位置として指定されたエントリーポイントのBSオーディオTSパケット311−1(図27)と同じPTS#1を有するHQオーディオTSパケット321−1から、再生が開始される。第2のオーディオデコーダ656−2は、図32のような構成を有し、HQオーディオESをデコードすることができるので、HQオーディオESのTSパケットが順次読み出され、デコードされて出力される。以後のTSパケットは、一般的な再生と同様であるのでその詳細な説明は省略するが、順次HQオーディオTSパケットのみがピックアップされて、デコードされる。
図29のステップS354とステップS355の処理で上述したように、エントリーポイントのBSオーディオTSパケットと同じPTSを有するHQオーディオTSパケットには、詳細情報276(図11)、すなわち、その位置からデコード開始となる情報が含まれるようにEP_mapを作成するようにしたので、第2のオーディオデコーダ656−2は、供給されたHQオーディオTSパケットからデコードをすることができ、もって、迅速に再生をすることができる。もし、詳細情報276が、そのHQオーディオTSパケットに含まれていない場合、詳細情報を含むHQオーディオTSパケットを探さなければならず、迅速なHQオーディオESの再生を行うことができないが、本実施の形態では、BSオーディオTSパケットのPTSと同じPTS値を有するHQオーディオTSパケットが詳細情報276を有している場合に、エントリーポイントとするようにしたので(図29の処理)、HQオーディオESを迅速に再生することができる。
図34の処理により、HQオーディオESに対応する図32のAVデコーダ656を有する再生装置641(図30)は、EP_mapを参照することで、ユーザからのランダムアクセス再生の指令に基づいて、HQオーディオESのランダムアクセス再生を行うことができる。
このように、BSオーディオTSパケットとHQオーディオTSパケットを多重化する場合に、図18乃至図22に示されるような処理を実行し、PESパケット化時の制約や、ランダムアクセスのための多重化制約を満たすように、多重化するようにし、これにより生成されたClip AVストリームファイルが記録されている光ディスク511において、図29を用いて上述した処理によりEP_mapを作成するようにしたので、EP_mapに基づいて、ランダムアクセス再生をすることが可能となる。すなわち、図22に示されるランダムアクセスのための多重化制約は、図29のEP_mapを作成するための多重化制約である。
また、異なる符号化方式によりエンコードされたオーディオデータが、TSパケット化されて多重化され、AVストリームとして光ディスクに記録される場合に、エントリーポイントとして設定可能な一方のオーディオストリームのTSパケット(BSオーディオESのTSパケット)のPTSと同じPTS値を有するHQオーディオTSパケットがあり、TSにおいて、そのPTS値を含むBSオーディオTSパケットよりHQオーディオTSパケットの方が後ろの位置とするように記録するようにし、そのBSオーディオTSパケットをエントリーポイントとするように設定し、EP_mapを作成するようにしたので、ユーザにより指定された位置に対応するHQオーディオESを再生する場合であっても、エントリーポイントのBSオーディオTSパケットのPTSと同じPTSを有するHQオーディオTSを読み出すことができ、HQオーディオESのランダムアクセス再生をすることが可能となる。
また、BSオーディオTSパケットとHQオーディオTSパケットが同じPTSを有し、BSオーディオTSパケットよりHQオーディオTSパケットの方が後ろに配置されているとともに、さらに、HQオーディオTSパケットに詳細情報276(図11)が記録されている場合に、エントリーポイントを設定するようにしたので、エントリーポイントのBSオーディオTSパケットのPTSと同じPTSを有するHQオーディオTSに、必ず詳細情報276が記録されていることになり、その位置から、HQオーディオESを迅速に再生することができる。
なお、図33と図34では、光ディスク511に記録されたClip(ClipAVストリームファイルとClipインフォメーションファイル)を、オーディオ用のEP_map(その記録されているClipに含まれるEP_map)を使用して再生する場合について説明した。ここで、オーディオ用のEP_mapを使用する場合とは、例えば、ブラウザブルスライドショーを再生する場合の他、あらかじめ他の第1の記録媒体(図示せず)に記録されているビデオストリームと、ネットワークや他の第2の記録媒体(第2の記録媒体は、例えば、図30の光ディスク511であってもよい)を介してダウンロードしたオーディオストリームとを、同期させて再生する場合が考えられる。あらかじめ他の第1の記録媒体に記録されているビデオストリームと、ネットワークや他の第2の記録媒体を介してダウンロードしたオーディオストリームとを、同期させて再生する場合、ステップS412やステップS452では、ユーザからのランダムアクセスの指令を受け付け、ステップS413やステップS453の処理では、まず、ビデオ用のEP_map(あらかじめ他の第1の記録媒体に記録されているビデオス用のEP_map)が参照され、ビデオ用のEP_mapのエントリーポイントと同期するオーディオストリームのエントリーポイントが、オーディオ用のEP_map(ダウンロードされたオーディオに対応するEpmap)から取得され、次に、上述したステップS413やステップS453の処理と同様に、エントリーポイントのソースパケット番号とPTSとが取得される。
なお、本実施の形態においては、記録装置501(図23)と再生装置641(図30)とを別々の装置として記載したが、これらが一体となった記録再生装置に適用することもできる。その場合、上述した記録処理や再生処理は、全て記録再生装置によって実行されることになる。また、送信装置111(図4)と、記録装置501(図23)とを一体とするようにしてもよい。
以上により、異なる符号化方式によりエンコードされて生成されたBSオーディオESとHQオーディオESを、それぞれTSパケット化して、1本のトランスポートストリームに多重化する場合に、BSオーディオESのみに対応している第1の仮想デコーダ(図15のBSオーディオデータデコード処理部360−1を備える図14の仮想デコーダ121)を有する第1の仮想的な受信装置120と、HQオーディオESに対応している第2の仮想デコーダ(図15のHQオーディオデータデコード処理部360−2を備える図14の仮想デコーダ121)を有する第2の仮想的な受信装置120とを想定し、また、ランダムアクセスのための多重化制約を満たすように、多重化するTSパケットを決定するようにしたので、BSオーディオESのみにしか対応していない受信装置であっても、HQオーディオESに対応している受信装置であっても、円滑にデコードすることができる。
すなわち、送信装置111は、第1の仮想デコーダを備える仮想的な第1の受信装置のトランスポートバッファ362−1がオーバーフローすることなく、エレメンタリバッファ363−1がオーバーフローおよびアンダーフローすることがないように、多重化するTSパケットを調整(決定)するとともに、第2の仮想デコーダを備える仮想的な第2の受信装置のトランスポートバッファ362−2がオーバーフローすることなく、かつ、エレメンタリバッファ363−2がオーバーフローおよびアンダーフローすることなく、かつ、FIFOバッファ391がアンダーフローすることがないように、さらに、ランダムアクセスのための多重化制約を満たすように、多重化するTSパケットを調整(決定)するようにしたので、BSオーディオESのみにしか対応していない受信装置であっても、HQオーディオESに対応している受信装置であっても、円滑にデコードすることができる。
また、PESパケット化部136は、HQオーディオESをPESパケット化する場合に、DTSを求めるための計算を行う必要がなくなり、PESパケット化の処理を、より円滑に行うことができる。さらに、PESパケット化部136は、生成するPESパケットに、DTSの値を格納せずに済むので、PESパケットのデータ量を抑えることができる。すなわち、PESパケットのデータ量を、より削減することができる。
なお、本発明は、図4の送信装置111に限らず、オーディオストリーム(オーディオES)のTSパケットを多重化する全ての多重化装置に適用することができる。
また、以上の例では、第1のエンコーダ141によりエンコードされたBSオーディオESと第2のエンコーダ142によりエンコードされたHQオーディオESを、それぞれTSパケット化して1つのストリームに多重化する場合の順番(タイミング)について説明したが、異なる符号化方式により符号化(エンコード)されたオーディオESを、それぞれTSパケット化して、1つのストリームに多重化する場合であれば、他の場合においても適用することができる。
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、上述した処理は、図35に示されるようなパーソナルコンピュータ700により実行される。
図35において、CPU701は、ROM702に記憶されているプログラム、または、記憶部708からRAM703にロードされたプログラムに従って各種の処理を実行する。RAM703にはまた、CPU701が各種の処理を実行する上において必要なデータなどが適宜記憶される。
CPU701、ROM702、およびRAM703は、内部バス704を介して相互に接続されている。この内部バス704にはまた、入出力インターフェース705も接続されている。
入出力インターフェース705には、キーボード、マウスなどよりなる入力部706、CRT,LCDなどよりなるディスプレイ、スピーカなどよりなる出力部707、ハードディスクなどより構成される記憶部708、並びに、モデム、ターミナルアダプタなどより構成される通信部709が接続されている。通信部709は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。
入出力インターフェース705にはまた、必要に応じてドライブ710が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどによりなるリムーバブルメディア721が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部708にインストールされる。
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、図35に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア521よりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM702や記憶部708が含まれるハードディスクなどで構成される。
なお、本明細書において、コンピュータプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
従来の符号化装置の構成を説明する図である。 図1の符号化装置が想定するSTDモデルを示す図である。 本発明を適用した送信装置がMPEG2-TSの方式を用いてオーディオストリームを符号化する場合の制約を説明する図である。 図3の送信装置の構成例を示す図である。 BSオーディオESとHQオーディオESのデータの流れを説明する図である。 BSオーディオESとHQオーディオESのデータの構成例を説明する図である。 BSオーディオESがBSオーディオTSに変換される例を説明する図である。 HQオーディオESがHQオーディオTSに変換される例を説明する図である。 BSオーディオTSとHQオーディオTSが多重化される例を説明する図である。 図4のTS多重化部に入力されるTSを説明する図である。 HQオーディオPESパケットとHQオーディオTSパケットのデータ構造の例を説明する図である。 BSオーディオTSパケットとHQオーディオTSパケットの多重化制約を説明するための図である。 BSオーディオTSパケットとHQオーディオTSパケットの多重化制約を説明するための図である。 図3の仮想的なデコーダのモデルの例を示す図である。 図14のオーディオデータデコード処理部の詳細な例を説明する図である。 図15の可変ビットレートのオーディオデコーダを説明する図である。 TSパケット送信処理を説明するフローチャートである。 TSパケット送信処理を説明するフローチャートである。 PESパケット化処理を説明するフローチャートである。 BSオーディオに対するバッファ占有量の計算処理を説明するフローチャートである。 HQオーディオに対するバッファ占有量の計算処理を説明するフローチャートである。 ランダムアクセスのための多重化制約処理を説明するフローチャートである。 EP_mapを作成する記録装置の構成例を示すブロック図である。 光ディスク上のアプリケーションフォーマットの例を示す図である。 EP_mapとClipAVストリームとの関係を説明する図である。 オーディオ用のEP_mapの構造を説明する図である。 BSオーディオESとHQオーディオTSによりTSが構成される場合の、EP_mapを説明する図である。 Clipインフォメーションファイルの記録処理を説明するフローチャートである。 BSオーディオESとHQオーディオESに対するEP_mapの作成処理を説明するフローチャートである。 再生装置の構成例を示すブロック図である。 図30のAVデコーダの構成例を示すブロック図である。 図30のAVデコーダの他の構成例を示すブロック図である。 BSオーディオESに対するランダムアクセス再生処理を説明するフローチャートである。 HQオーディオESに対するランダムアクセス再生処理を説明するフローチャートである。 パーソナルコンピュータの構成例を示す図である。
符号の説明
111 送信装置, 112 仮想的な受信装置, 121 仮想デコーダ, 131 入力部, 132 オーディオエンコーダ, 133 バッファ, 134 抽出情報付加部, 135 制御部, 136 PESパケット化部, 137 TSパケット化部, 138 多重化部, 139 送信部, 141 第1のエンコーダ, 142 第2のエンコーダ, 143 第1のバッファ, 144 第2のバッファ, 171 BSオーディオES, 172 BSオーディオPES, 173 BSオーディオTS, 181 HQオーディオES, 182 HQオーディオPES, 183 HQオーディオTS, 190 トランスポートストリーム, 231−1乃至231−j BSオーディオTSパケット, 232−1乃至232−k HQオーディオTSパケット, 261 PTS_DTS_flags, 263 PTS, 275 Input timing情報, 276 詳細情報, 341 PIDフィルタ, 361−1,361−2 トランスポートプリオリティフィルタ, 362−1.362−2 トランスポートバッファ, 363−1,363−2 エレメンタリバッファ, 364−1 オーディオデコーダ, 364−2 可変ビットレートのオーディオデコーダ, 391 FIFOバッファ, 392 オーディオデコーダ, 501 記録装置, 521 コントローラ, 522 操作入力部, 526 記録制御部

Claims (11)

  1. オーディオデータをTS(Transport Stream)パケットとして多重化する多重化装置において、
    前記オーディオデータを、所定の符号化方式である第1の符号化方式でエンコードする第1のエンコード手段と、
    前記オーディオデータを、可変長符号化方式であり、かつ、前記第1の符号化方式とは異なる第2の符号化方式であって、所定のオーディオデータの単位ごとに、デコードされる場合に利用されるタイミングを表すタイミング値を付加する前記第2の符号化方式でエンコードする第2のエンコード手段と、
    前記第1のエンコード手段によりエンコードされた前記オーディオデータと、前記第2のエンコード手段によりエンコードされた前記オーディオデータとを、PESパケットにパケット化するとともに、パケット化した複数の前記PESパケットに、デコードされる場合に利用される時刻情報を付加するPESパケット化手段と、
    前記PESパケット化手段によりPESパケット化された前記PESパケットを、TSパケットにパケット化するとともに、パケット化した複数の前記TSパケットに同一のIDを付加するTSパケット化手段と、
    前記TSパケット化手段によりパケット化された複数の前記TSパケットの中から、多重化するTSパケットを決定する決定手段と、
    前記決定手段により決定された前記TSパケットを多重化する多重化手段と
    を備え、
    前記PESパケット化手段は、所定の周期を満たす前記オーディオデータの単位がPESペイロードの先頭に現れるように、前記第1のエンコード手段によりエンコードされた前記オーディオデータと、前記第2のエンコード手段によりエンコードされた前記オーディオデータとを、PESパケットにパケット化し、
    前記決定手段は、前記第1のエンコード手段によりエンコードされた前記オーディオデータをデコードする第1の仮想デコーダと、前記第2のエンコード手段によりエンコードされた前記オーディオデータに付加されている前記タイミング値に基づいて、前記第2のエンコード手段によりエンコードされた前記オーディオデータをデコードする第2の仮想デコーダとを想定するとともに、多重化された前記TSパケットをランダムアクセスするための多重化制約に基づいて、多重化するTSパケットを決定する場合、前記第1の仮想デコーダが有する第1のエレメンタリバッファおよび前記第1のエレメンタリバッファへのデータ転送レートと、前記第2の仮想デコーダが有する第2のエレメンタリバッファおよび前記第2のエレメンタリバッファへのデータ転送レートとに基づいて、前記第1の仮想デコーダが有する前記第1のエレメンタリバッファと、前記第2の仮想デコーダが有する前記第2のエレメンタリバッファとが、オーバーフローおよびアンダーフローしないように、前記TSパケット化手段によりパケット化された複数の前記TSパケットの中から、多重化するTSパケットを決定する
    ことを特徴とする多重化装置。
  2. 前記多重化手段により多重化された前記TSパケットを記録媒体に記録する記録手段をさらに備える
    ことを特徴とする請求項1に記載の多重化装置。
  3. 前記オーディオデータの単位は、オーディオアクセスユニットである
    ことを特徴とする請求項1に記載の多重化装置。
  4. 前記第1の仮想デコーダは、前記第1のエレメンタリバッファの前段にトランスポートバッファを有し、
    前記第2の仮想デコーダは、前記第2のエレメンタリバッファの前段にトランスポートバッファを有するとともに、前記第2のエレメンタリバッファの後段に、第3のエレメンタリバッファをさらに有する
    ことを特徴とする請求項に記載の多重化装置。
  5. 前記決定手段は、前記第3のエレメンタリバッファへの入力タイミングが、前記タイミング値に対するタイミングであると想定して、前記TSパケット化手段によりパケット化された複数の前記TSパケットの中から、多重化するTSパケットを決定する
    ことを特徴とする請求項に記載の多重化装置。
  6. 前記タイミング値は、前記オーディオストリームの単位が、前記第3のエレメンタリバッファに渡される、オーディオ情報のサンプリング周期で表される値である
    ことを特徴とする請求項に記載の多重化装置。
  7. 前記PESパケット化手段は、前記第2のエンコード手段によりエンコードされた前記オーディオデータをPESパケット化する場合、前記周期を満たし、その位置からデコードを開始するためのデコード情報が含まれる前記オーディオデータの単位がPESペイロードの先頭に現れるように、前記第2のエンコード手段によりエンコードされた前記オーディオデータをPESパケットにパケット化する
    ことを特徴とする請求項1に記載の多重化装置。
  8. 前記多重化制約は、
    第1のエンコード手段によりエンコードされたオーディオデータのTSパケットに含まれる前記時刻情報と同じ時刻情報を有する、第2のエンコード手段によりエンコードされたオーディオデータのTSパケットがTSに含まれる場合、その第2のエンコード手段によりエンコードされたオーディオデータのTSパケットより先に、第1のエンコード手段によりエンコードされたオーディオデータのTSパケットを多重化する制約であり、
    前記決定手段は、第1の仮想デコーダおよび第2の仮想デコーダの想定と、この多重化制約とに基づいて、多重化するTSパケットを決定する
    ことを特徴とする請求項1に記載の多重化装置。
  9. オーディオデータをTS(Transport Stream)パケットとして多重化する多重化装置の多重化方法において、
    前記オーディオデータを、所定の符号化方式である第1の符号化方式でエンコードする第1のエンコードステップと、
    前記オーディオデータを、可変長符号化方式であり、かつ、前記第1の符号化方式とは異なる第2の符号化方式であって、所定のオーディオデータの単位ごとに、デコードされる場合に利用されるタイミングを表すタイミング値を付加する前記第2の符号化方式でエンコードする第2のエンコードステップと、
    前記第1のエンコードステップの処理によりエンコードされた前記オーディオデータと、前記第2のエンコードステップの処理によりエンコードされた前記オーディオデータとを、PESパケットにパケット化するとともに、パケット化した複数の前記PESパケットに、デコードされる場合に利用される時刻情報を付加するPESパケット化ステップと、
    前記PESパケット化ステップの処理によりPESパケット化された前記PESパケットを、TSパケットにパケット化するとともに、パケット化した複数の前記TSパケットに同一のIDを付加するTSパケット化ステップと、
    前記TSパケット化ステップの処理によりパケット化された複数の前記TSパケットの中から、多重化するTSパケットを決定する決定ステップと、
    前記決定ステップの処理により決定された前記TSパケットを多重化する多重化ステップと
    を含み、
    前記PESパケット化ステップの処理は、所定の周期を満たす前記オーディオデータの単位がPESペイロードの先頭に現れるように、前記第1のエンコードステップの処理によりエンコードされた前記オーディオデータと、前記第2のエンコードステップの処理によりエンコードされた前記オーディオデータとを、PESパケットにパケット化し、
    前記決定ステップの処理は、前記第1のエンコードステップの処理によりエンコードされた前記オーディオデータをデコードする第1の仮想デコーダと、前記第2のエンコードステップの処理によりエンコードされた前記オーディオデータに付加されている前記タイミング値に基づいて、前記第2のエンコードステップの処理によりエンコードされた前記オーディオデータをデコードする第2の仮想デコーダとを想定するとともに、多重化された前記TSパケットをランダムアクセスするための多重化制約に基づいて、多重化するTSパケットを決定する場合、前記第1の仮想デコーダが有する第1のエレメンタリバッファおよび前記第1のエレメンタリバッファへのデータ転送レートと、前記第2の仮想デコーダが有する第2のエレメンタリバッファおよび前記第2のエレメンタリバッファへのデータ転送レートとに基づいて、前記第1の仮想デコーダが有する前記第1のエレメンタリバッファと、前記第2の仮想デコーダが有する前記第2のエレメンタリバッファとが、オーバーフローおよびアンダーフローしないように、前記TSパケット化ステップの処理によりパケット化された複数の前記TSパケットの中から、多重化するTSパケットを決定する
    ことを特徴とする多重化方法。
  10. オーディオデータをTS(Transport Stream)パケットとして多重化するプログラムであって、
    前記オーディオデータを、所定の符号化方式である第1の符号化方式でエンコードする第1のエンコードステップと、
    前記オーディオデータを、可変長符号化方式であり、かつ、前記第1の符号化方式とは異なる第2の符号化方式であって、所定のオーディオデータの単位ごとに、デコードされる場合に利用されるタイミングを表すタイミング値を付加する前記第2の符号化方式でエンコードする第2のエンコードステップと、
    前記第1のエンコードステップの処理によりエンコードされた前記オーディオデータと、前記第2のエンコードステップの処理によりエンコードされた前記オーディオデータとを、PESパケットにパケット化するとともに、パケット化した複数の前記PESパケットに、デコードされる場合に利用される時刻情報を付加するPESパケット化ステップと、
    前記PESパケット化ステップの処理によりPESパケット化された前記PESパケットを、TSパケットにパケット化するとともに、パケット化した複数の前記TSパケットに同一のIDを付加するTSパケット化ステップと、
    前記TSパケット化ステップの処理によりパケット化された複数の前記TSパケットの中から、多重化するTSパケットを決定する決定ステップと、
    前記決定ステップの処理により決定された前記TSパケットを多重化する多重化ステップと
    を含む処理をコンピュータに実行させ、
    前記PESパケット化ステップの処理は、所定の周期を満たす前記オーディオデータの単位がPESペイロードの先頭に現れるように、前記第1のエンコードステップの処理によりエンコードされた前記オーディオデータと、前記第2のエンコードステップの処理によりエンコードされた前記オーディオデータとを、PESパケットにパケット化し、
    前記決定ステップの処理は、前記第1のエンコードステップの処理によりエンコードされた前記オーディオデータをデコードする第1の仮想デコーダと、前記第2のエンコードステップの処理によりエンコードされた前記オーディオデータに付加されている前記タイミング値に基づいて、前記第2のエンコードステップの処理によりエンコードされた前記オーディオデータをデコードする第2の仮想デコーダとを想定するとともに、多重化された前記TSパケットをランダムアクセスするための多重化制約に基づいて、多重化するTSパケットを決定する場合、前記第1の仮想デコーダが有する第1のエレメンタリバッファおよび前記第1のエレメンタリバッファへのデータ転送レートと、前記第2の仮想デコーダが有する第2のエレメンタリバッファおよび前記第2のエレメンタリバッファへのデータ転送レートとに基づいて、前記第1の仮想デコーダが有する前記第1のエレメンタリバッファと、前記第2の仮想デコーダが有する前記第2のエレメンタリバッファとが、オーバーフローおよびアンダーフローしないように、前記TSパケット化ステップの処理によりパケット化された複数の前記TSパケットの中から、多重化するTSパケットを決定する
    ことを特徴とするプログラム。
  11. 多重化されたTS(Transport Stream)パケットが記録されている記録媒体であって、
    所定の符号化方式である第1の符号化方式でエンコードされたオーディオデータが、複数のPESパケットにパケット化され、さらに複数のTSパケットにパケット化された複数のTSパケットと、可変長符号化方式であり、かつ、前記第1の符号化方式とは異なる第2の符号化方式であって、所定のオーディオデータの単位ごとに、デコードされる場合に利用されるタイミングを表すタイミング値が付加される前記第2の符号化方式でエンコードされたオーディオデータが、複数のPESパケットにパケット化され、さらに複数のTSパケットにパケット化された複数のTSパケットとが、多重化されて記録され、
    複数の前記PESパケットは、
    デコードされる場合に利用される時刻情報を含むとともに、
    所定の周期を満たす前記オーディオデータの単位がPESペイロードの先頭に現れるように、前記第1符号化方式でエンコードされた前記オーディオデータと、前記第2の符号化方式でエンコードされた前記オーディオデータとが、PESパケット化されたものであり、
    複数の前記TSパケットは、
    同一のIDを含むとともに、
    前記第1の符号化方式でエンコードされた前記オーディオデータをデコードする第1の仮想デコーダと、前記第2の符号化方式でエンコードされた前記オーディオデータに付加されている前記タイミング値に基づいて、前記第2の符号化方式によりエンコードされた前記オーディオデータをデコードする第2の仮想デコーダとが想定されるとともに、多重化された前記TSパケットをランダムアクセスするための多重化制約とに基づいて、多重化すると決定されたTSパケットであり、前記第1の仮想デコーダが有する第1のエレメンタリバッファおよび前記第1のエレメンタリバッファへのデータ転送レートと、前記第2の仮想デコーダが有する第2のエレメンタリバッファおよび前記第2のエレメンタリバッファへのデータ転送レートとに基づいて、前記第1の仮想デコーダが有する前記第1のエレメンタリバッファと、前記第2の仮想デコーダが有する前記第2のエレメンタリバッファとが、オーバーフローおよびアンダーフローしないように、パケット化された複数の前記TSパケットの中から、多重化すると決定されたTSパケットである
    ことを特徴とする記録媒体。
JP2005125546A 2005-04-22 2005-04-22 多重化装置および多重化方法、プログラム、並びに記録媒体 Active JP4882269B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2005125546A JP4882269B2 (ja) 2005-04-22 2005-04-22 多重化装置および多重化方法、プログラム、並びに記録媒体
CN2006800135587A CN101164103B (zh) 2005-04-22 2006-04-20 复用器和复用方法
PCT/JP2006/308298 WO2006115163A1 (ja) 2005-04-22 2006-04-20 多重化装置および多重化方法、プログラム、並びに記録媒体
EP06732156.2A EP1873755B1 (en) 2005-04-22 2006-04-20 Multiplexing device and multiplexing method, program, recording medium
TW095114048A TW200709177A (en) 2005-04-22 2006-04-20 Multiplexing device and method, program, and recording medium
US11/911,666 US7688822B2 (en) 2005-04-22 2006-04-20 Multiplexing device and multiplexing method, program, recording medium
US12/708,423 US7974281B2 (en) 2005-04-22 2010-02-18 Multiplexer and multiplexing method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005125546A JP4882269B2 (ja) 2005-04-22 2005-04-22 多重化装置および多重化方法、プログラム、並びに記録媒体

Publications (2)

Publication Number Publication Date
JP2006301442A JP2006301442A (ja) 2006-11-02
JP4882269B2 true JP4882269B2 (ja) 2012-02-22

Family

ID=37214781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005125546A Active JP4882269B2 (ja) 2005-04-22 2005-04-22 多重化装置および多重化方法、プログラム、並びに記録媒体

Country Status (6)

Country Link
US (2) US7688822B2 (ja)
EP (1) EP1873755B1 (ja)
JP (1) JP4882269B2 (ja)
CN (1) CN101164103B (ja)
TW (1) TW200709177A (ja)
WO (1) WO2006115163A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4882269B2 (ja) * 2005-04-22 2012-02-22 ソニー株式会社 多重化装置および多重化方法、プログラム、並びに記録媒体
KR20080006441A (ko) * 2006-07-12 2008-01-16 삼성전자주식회사 미디어 데이터 전송 장치 및 방법 및 미디어 데이터 수신장치 및 방법
KR101427647B1 (ko) * 2007-04-25 2014-08-07 삼성전자주식회사 패킷 생성과 처리에 관한 방법 및 그 장치
WO2011084913A2 (en) * 2010-01-06 2011-07-14 Dolby Laboratories Licensing Corporation Complexity-adaptive scalable decoding and streaming for multi-layered video systems
US9485533B2 (en) * 2013-03-13 2016-11-01 Nagrastar Llc Systems and methods for assembling and extracting command and control data
US10055242B2 (en) * 2015-10-16 2018-08-21 Microsoft Technology Licensing, Llc Virtualizing audio decoding hardware
JP7140352B2 (ja) * 2018-01-18 2022-09-21 ソニーセミコンダクタソリューションズ株式会社 信号処理装置
JP2018207495A (ja) * 2018-07-18 2018-12-27 シャープ株式会社 放送信号送信装置、放送信号送信方法、制御プログラム、および記録媒体

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH099215A (ja) * 1995-06-20 1997-01-10 Matsushita Electric Ind Co Ltd データ多重方法、データ伝送方法、及び多重データ復号方法、多重データ復号装置
JP4016215B2 (ja) 1996-01-18 2007-12-05 ソニー株式会社 ディジタル信号符号化方法および装置、並びにディジタル信号伝送方法および装置
JP3400681B2 (ja) * 1997-07-16 2003-04-28 株式会社日立製作所 データパケット再多重方法及び再多重装置
US6396874B1 (en) * 1997-11-12 2002-05-28 Sony Corporation Decoding method and apparatus and recording method and apparatus for moving picture data
JPH11261958A (ja) * 1998-03-09 1999-09-24 Sony Corp 映像編集装置及び映像編集方法
JP3844877B2 (ja) * 1998-04-08 2006-11-15 パイオニア株式会社 ストリーム変換装置
US6573942B1 (en) * 1998-08-17 2003-06-03 Sharp Laboratories Of America, Inc. Buffer system for controlled and timely delivery of MPEG-2F data services
US6853385B1 (en) * 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
JP4329157B2 (ja) * 1999-05-19 2009-09-09 ソニー株式会社 受信装置および方法、並びに記録媒体
GB9930788D0 (en) * 1999-12-30 2000-02-16 Koninkl Philips Electronics Nv Method and apparatus for converting data streams
JP2001285234A (ja) * 2000-04-04 2001-10-12 Sony Corp データ多重化装置およびデータ多重化方法、並びに記録媒体
JP4541517B2 (ja) * 2000-09-13 2010-09-08 キヤノン株式会社 記録装置
JP2003046949A (ja) * 2001-07-30 2003-02-14 Hitachi Ltd データ多重化方法、データ記録媒体、データ記録装置及びデータ記録プログラム
US20050013583A1 (en) * 2001-11-20 2005-01-20 Masanori Itoh Audio/video information recording/reproducing apparatus and method, and recording medium in which information is recorded by using the audio/video information recording/reproducing apparatus and method
CA2439048C (en) * 2001-11-30 2011-10-04 Matsushita Electric Industrial Co., Ltd. A method and an apparatus for stream conversion, a method and an apparatus for data recording, and data recording medium
US7388871B2 (en) * 2004-02-05 2008-06-17 Broadcom Corporation Method and system for changing message filter coefficients dynamically
JP4678486B2 (ja) * 2005-03-11 2011-04-27 ソニー株式会社 多重化装置および多重化方法、プログラム、並びに記録媒体
JP4882269B2 (ja) * 2005-04-22 2012-02-22 ソニー株式会社 多重化装置および多重化方法、プログラム、並びに記録媒体

Also Published As

Publication number Publication date
TWI319564B (ja) 2010-01-11
TW200709177A (en) 2007-03-01
US20100142554A1 (en) 2010-06-10
US7974281B2 (en) 2011-07-05
US20090052469A1 (en) 2009-02-26
EP1873755A4 (en) 2009-06-03
EP1873755A1 (en) 2008-01-02
US7688822B2 (en) 2010-03-30
CN101164103A (zh) 2008-04-16
JP2006301442A (ja) 2006-11-02
WO2006115163A1 (ja) 2006-11-02
CN101164103B (zh) 2011-12-21
EP1873755B1 (en) 2015-06-03

Similar Documents

Publication Publication Date Title
JP4438798B2 (ja) 記録装置および記録方法、再生装置および再生方法、プログラム、並びに記録媒体
JP4882269B2 (ja) 多重化装置および多重化方法、プログラム、並びに記録媒体
US7782846B2 (en) Data structure, information processing device, information processing method, transmission device, transmission method, multiplexing device, multiplexing method, and program
JP4678486B2 (ja) 多重化装置および多重化方法、プログラム、並びに記録媒体
JP2010239654A (ja) ブラウザブルスライドショー提供のためのデータ復号装置、その復号方法及びそのための情報保存媒体
JP2010061803A (ja) オーディオ/ビデオ記録装置、記録方法、再生装置、再生方法、再生プログラム及び記録プログラム
US20070165676A1 (en) Information processing device, information processing method, program, and data structure
JPWO2004095834A1 (ja) 情報処理装置および情報処理方法、プログラム格納媒体、並びに、プログラム
WO2004047441A1 (ja) 伝送装置と伝送方法と再生装置と再生方法およびプログラムと記録媒体
US8086087B2 (en) Information processing device and method, program, and recording medium
JPH0950673A (ja) データ符号化装置および方法、データ記録媒体並びにデータ復号化装置および方法
JP2004280994A (ja) データ作成方法及びデータ記録装置
US7505669B2 (en) Content reproduction apparatus
JP2006352587A (ja) 情報処理装置
JP2019149790A (ja) 記録装置、再生装置、変換装置、送信装置、記録方法、再生方法、変換方法、及び、ストリームデータのデータ構造
JP2009100303A (ja) 動画像符号化装置およびそのデータ処理方法
JP2011023067A (ja) 再生装置、再生制御方法、プログラム及びデータ処理装置
JP2002199356A (ja) Ps多重化システム及びps多重化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110425

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111108

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111121

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

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4882269

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250