JP2005229587A - 多重化方式変換装置 - Google Patents

多重化方式変換装置 Download PDF

Info

Publication number
JP2005229587A
JP2005229587A JP2005005731A JP2005005731A JP2005229587A JP 2005229587 A JP2005229587 A JP 2005229587A JP 2005005731 A JP2005005731 A JP 2005005731A JP 2005005731 A JP2005005731 A JP 2005005731A JP 2005229587 A JP2005229587 A JP 2005229587A
Authority
JP
Japan
Prior art keywords
data
packet
sample
multiplexing
missing
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.)
Pending
Application number
JP2005005731A
Other languages
English (en)
Other versions
JP2005229587A5 (ja
Inventor
Tadamasa Toma
正真 遠間
Yoshinori Matsui
義徳 松井
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005005731A priority Critical patent/JP2005229587A/ja
Publication of JP2005229587A publication Critical patent/JP2005229587A/ja
Publication of JP2005229587A5 publication Critical patent/JP2005229587A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】 ユーザに対して正しく復号できない動画像データを表示してしまうことを防止することができる多重化方式変換装置を提供する。
【解決手段】 多重化方式変換装置の変換部103は、TSパケットのパケットロスを判定し、パケットロスが検出された際には、エラー処理を行い、エラー処理後のペイロードデータを出力するパケットロス判定部202と、入力されたAUのデータおよびPESヘッダにおける表示時間に基づいて、エラー情報を含むmoov、およびmdatを作成するBox作成部206とを備える。
【選択図】 図2

Description

本発明は、動画像、音声などの符号化メディアデータの多重化方式を変換して出力する多重化方式変換装置に関する。
近年、蓄積メディアや通信ネットワークの大容量化、あるいは伝送技術の進歩にともない、動画や音声などの符号化マルチメディアデータを扱う機器や、サービスが普及してきた。例えば、放送分野においては、従来のアナログ放送に代わり、デジタル符号化されたメディアデータの放送が開始された。現在のデジタル放送は、固定受信のみを対象としているが、将来的には携帯電話などの移動体向けの放送も予定されている。また、通信分野においても、第3世代の携帯電話向けの動画配信サービスが立ち上がるなど、固定端末と携帯端末の双方でマルチメディアデータを扱う環境が整ってきている。これらの背景を鑑みると、SD(Secure Digital)カードなどのメモリカード、あるいはDVD-RAM(Digital Versatile Disk-Rewritable)などの光ディスクに、放送や、インターネット経由で受信したコンテンツデータを記録し、機器間でコンテンツデータを共有するといった使用方法の普及が見込まれる。
メディアデータを放送、蓄積、あるいはネットワーク経由で配信する際には、メディアデータの再生に必要なヘッダ情報とメディアデータとが多重化される。多重化にあたっては、放送やDVDなどの蓄積機器向け、および移動体向けに、それぞれ標準の多重化方式が規格化されている。まず、デジタル放送やDVDにおいては、ISO/IEC JTC1/SC29/WG 11 (International Standardisation Organization/International Engineering Consortium)において標準化されたMPEG−2(Moving Picture Expert Group)システム規格が使用される。また、携帯端末では、第3世代の移動体通信システムの規格化を目的とする国際標準化団体である3GPP(Third Generation Partnership Project)で、無線による動画配信規格として定められたTS26.234(Transparent end-to-end packet switched streaming service)において、ISO/IEC JTC1/SC29/WG 11で標準化されたMP4ファイルフォーマットが採用されている。
また、動画の符号化方式としては、現在普及しているMPEG−2 VisualやMPEG−4 Visualの後継規格としてMPEG−4 AVC(Advanced Video Coding)が標準化されたことから、今後MPEG−4 AVCの符号化ビデオデータをMPEG−2システム規格やMP4ファイルフォーマット(以降、MP4と呼ぶ)により多重化し、放送、蓄積あるいは配信することが予想される。
以下に、MPEG−2システム、およびMP4における符号化データ多重化方法の概要について説明する。MPEG−2システム、およびMP4では、符号化データを扱う際の基本単位としてアクセスユニット(AU)を使用するため、まずAUの構造について説明する。AUとは、1ピクチャ分の符号化データを含む単位であり、MPEG−4 AVCにおけるAUデータは、図24に示す構造をもつ。MPEG−4 AVCでは、ピクチャの復号に必須のデータに加えて、復号に必須でないSEI(Supplemental Enhancement Information)と呼ばれる補助情報や、AUの境界情報などをAUデータに含めることができ、これらのデータは全てNAL(Network Adaptation Layer)ユニットに格納される。なお、MPEG−2システムでは、Access Unit Delimiterと呼ばれるAUの開始を示すNALユニットが、必ずAUの先頭に付加される。NALユニットは、図24(a)に示すようにヘッダとペイロードから構成され、ヘッダのサイズは1バイトであり、ペイロードに格納されるデータのタイプ(以降、NALユニットタイプと呼ぶ)を示すフィールドなどが含まれる。NALユニットタイプは、スライスやSEIなどデータの種類別に値が定義されており、NALユニットに格納されたデータの種類を取得する際にはNALユニットタイプを参照する。AUには、図24(b)および(c)に示すように、1ピクチャ分のスライスデータに加えて、ヘッダ情報やSEIなどのNALユニットが格納されるが、NALユニットにはNALユニットデータの境界を識別するための情報が存在しないため、AU格納時には、各NALユニットの先頭に境界情報が付加することができる。境界情報としては、図24(b)のように0x000001の3バイトで示されるスタートコードプレフィックスを付加する方法(以降、バイトストリームフォーマットと呼ぶ)と、図24(c)のようにNALユニットのサイズを付加する方法(以降、NALサイズフォーマットと呼ぶ)の2種類がある。なお、AUの先頭NALユニット、および特定のNALユニットタイプ値をもつNALユニットに対しては、スタートコードプレフィックスの前に、zero_byte(値が0x00である1バイト)を1つ以上付加することが規定されている。MPEG−2システムでは、バイトストリームフォーマットが使用され、MP4ではNALサイズフォーマットが使用される。
次に、スライス、およびヘッダ情報について詳しく説明する。スライスは、IDR(Instantaneous Decoder Refresh)スライスとそれ以外のスライスの2種類に分けられる。IDRスライスとは、画面内符号化されたスライスデータであり、後述するSPS(Sequence Parameter Set)などのヘッダ情報はIDRスライスにおいてのみ切り替えることができる。ピクチャにIDRスライスが含まれる際には、同一ピクチャ内の他のスライスも全てIDRスライスであるため、以降、IDRスライスを含むAUをIDR AUと呼ぶことにする。また、IDR AUから、次のIDR AUの直前AUにより構成される単位をシーケンスと呼び、AUのスライスデータを復号する際には、シーケンス内のAUのみが参照されるため、シーケンス単位でランダムアクセスすることができる。次に、ヘッダ情報にはSPSとPPS(Picture Parameter Set)の2種類があり、SPSはシーケンス単位で固定のヘッダ情報であり、PPSはピクチャ単位で切り替えることのできるヘッダ情報である。SPSとPPSは、ともに複数もつことができ、個々のSPS、あるいはPPSはインデックス番号により区別される。また、1NALユニットには1つのSPS、あるいはPPSが格納される。各ピクチャが参照するSPS、およびPPSのインデックス番号は次のように取得される。まず、ピクチャが参照するPPSのインデックス番号は、スライスデータのヘッダ部に示される。次に、PPSには、PPSが参照するSPSのインデックス番号が示されるため、ピクチャが参照するPPSを解析することにより、ピクチャが参照するSPSのインデックス番号を取得する。ピクチャが参照するSPSおよびPPSは、ピクチャのスライスデータ復号時に必須となる。
次に、放送において、MPEG−2システムによりAUデータを多重化する際の方法について説明する。MPEG−2システムでは、符号化データは、まずPES(Packetized Elementary Stream)パケットに多重化され、さらにPESパケットがTS(Transport Stream)パケットに多重化される。図25の(a)と(b)に、それぞれPESパケットとTSパケットの構造を示す。PESパケットのペイロードには、アクセスユニット(AU)データが格納される。図25(a)の(1)から(3)は、PESパケットのペイロードへのAUデータの格納例を示すものであり、(1)、(2)に示すように1以上のAUをまとめて格納してもよいし、(3)に示すようにAUデータを分割して格納してもよい。さらに、ペイロードには、AUデータとは別に、スタッフィングデータを含めることもできる。PESパケットのヘッダは、0x000001の3バイトで示されるスタートコードプレフィックス、および1バイトのストリームIDから構成される計4バイトのスタートコードから開始する。ストリームIDとは、PESパケットのペイロードデータに含まれる符号化データの種類を示す識別番号であり、MPEG−4AVCでは、0xE0以上0xEF以下の任意の値をとることができる。ヘッダには、ペイロード内で開始する先頭AUの復号時間、および表示時間を格納することができるが、全てのPESパケットに必ずこれらの時間情報が格納されるわけではなく、時間情報が格納されないPESパケットも存在する。PESパケットのヘッダにより復号時間、あるいは表示時間が示されないAUの時間情報が必要である際には、AUデータを解析して、直前AUとの復号時間、あるいは表示時間の差分値を取得する。なお、PESパケットの開始位置は、TSパケットのペイロードデータ内で、4バイトのスタートコードをサーチすることにより検出する。一方、PESパケットのデータは、図25の(b)に示すように、TSパケットのペイロードに分割して格納される。TSパケットは、サイズが188バイトである固定長のパケットであり、4バイトのヘッダ、アダプテーションフィールド、ペイロードデータから構成される。なお、アダプテーションフィールドは、ヘッダ内の特定のフラグがセットされている場合にのみ存在する。ヘッダには、TSパケットが伝送するデータの種類を示すPIDと呼ばれる識別番号と、continuity_counterと呼ばれるカウンタが含まれる。continuity_counterは、4ビットのフィールドであり、同一PIDのTSパケットにおいては、送信順に1ずつ増加し、最大値に達すると循環する。TSパケットのPIDと、TSパケットが伝送するデータの種類との対応関係は、別途TSパケットにより送信されるプログラム情報によって提供される。このため、TSパケット受信時には、まず、TSパケットのPIDを取得し、PIDの値に応じてパケットを振り分ける。例えば、受信開始時に取得したプログラム情報により、MPEG−4 AVCのデータはPIDが32であるTSパケットにより伝送されることが示される際には、PIDが32であるTSパケットを取得することにより、MPEG−4 AVCのAUデータを取得することができる。ここで、受信したTSパケットのcontinuity_counter値にギャップが発生している際には、伝送路においてパケットロスが発生したことを示す。また、TSパケットからAUデータを分離する際には、TSパケットのペイロードデータからPESパケットを分離し、分離されたPESパケットからAUのデータを分離する。
最後に、MP4におけるAUデータの多重化方法について説明する。MP4では、サンプル単位のヘッダ情報やメディアデータは、Boxと呼ばれるオブジェクト単位で管理する。ここで、サンプルとは、MP4においてメディアデータを扱う際の基本単位であり、1サンプルは1AUに相当する。各サンプルには、復号時間順で昇順となるようにサンプル番号が振られ、サンプル番号は、サンプル毎に1ずつ増加する。図26(a)はBoxの構造を示し、以下のフィールドから構成される。
size:sizeフィールドも含めたBox全体のサイズ
type:Boxの識別子であり、通常はアルファベット4文字で表される。フィールド長は4バイトであり、MP4ファイル内でBoxを検索する際には、連続する4バイト分のデータがtypeフィールドの識別子と一致するかどうかを判定することにより行う。
version:Boxのバージョン番号
flags:Box毎に設定されるフラグ情報
データ:ヘッダ情報やメディアデータが格納される。
なお、versionとflagsは必須でないため、Boxによってはこれらのフィールドは存在しない。以後、Boxの参照にはtypeフィールドの識別子を使用することとし、例えばtypeが'moov'であるBoxは、moovと呼ぶ。MP4ファイルにおけるBox構造を図26(b)に示す。MP4ファイルは、ftyp、moov、mdat、あるいはmoofから構成され、ftypがファイルの先頭に配置される。ftypは、MP4ファイルを識別するための情報を含み、mdatには、メディアデータが格納される。mdatに含まれる各メディアデータはトラックと呼ばれ、各トラックはトラックIDにより識別される。次に、moovにはmdatの各トラックに含まれるサンプルについてのヘッダ情報が格納される。moov内では、図27(a)に示すように、Boxが階層的に配置され、オーディオ、ビデオなどの各メディアトラックにヘッダ情報は、それぞれ別々のtrakに格納される。trak内においても、Boxが階層的に配置され、サンプルのサイズや復号時間、表示開始時間、あるいはランダムアクセス可能なサンプルの情報などがstbl内の各Boxに格納される(図27(b))。ランダムアクセス可能なサンプルはシンクサンプルと呼ばれ、シンクサンプルのサンプル番号の一覧は、stbl内のstssにより示される。上記では、トラック内の全サンプルのヘッダ情報をmoovに格納していたが、トラックを分割してフラグメント化し、フラグメント単位でヘッダ情報を格納することもできる。トラックを分割した単位に対するヘッダ情報は、moofにより示され、図28の例では、mdat #1に格納されるサンプルのヘッダ情報を、moof #1に格納することができる。
ここで、携帯端末において受信した放送データを、携帯電話から電子メールに添付して送信するケースを考えてみる。3GPPでは、電子メールにおいて動画像や音声などを扱う際には、メディアデータをMP4で多重化することが規定されている。このため、電子メール送信時には、多重化方式をTSからMP4へ変換する必要がある。以下に、従来の多重化方式変換装置において、MPEG−4 AVCの符号化データが多重化されたTSパケットのパケット列を、MP4ファイルに変換する際の動作について説明する(例えば特許文献1参照)。なお、変換後のMP4においては、フラグメントは使用しないものとする。図29は、変換動作を示すフローチャートである。ステップ101では、入力されたTSパケットのペイロードからPESパケットの開始位置を検出することにより、PESパケットのデータを分離する。次に、ステップ102では、分離されたPESパケットのペイロードデータから、AUの開始位置を検出する。AUの開始位置が検出されるまでステップ101とステップ102を繰り返し(ループA)、検出された時点で、1AU分のAUデータを分離する。ステップ103では、PESヘッダに示される表示時間情報を取得し、ステップ104では、moov、およびmdatを作成する。最終TSパケットの処理が完了するまでステップ101からステップ104(ループB)の処理を繰り返し、メディアデータの全AUを処理した時点で、ループBを終了し、ステップ105において、moov、およびmdatのデータを連結し、MP4ファイルの作成を完了する。図30は、ステップ104の処理の詳細を示すフローチャートである。ステップ201において、AUデータを解析し、moov内のBoxを作成するために必要なヘッダ情報を取得する。ステップ202では、AUを構成するNALユニットの格納形式を、バイトストリームフォーマットからNALサイズフォーマットに変換する。ステップ203では、ステップ201において取得したAUのヘッダ情報をもとに、moov内のBoxデータを作成し、ステップ204ではmdatデータを作成する。なお、サンプルのサイズ、および復号時間情報など、サンプル毎のヘッダ情報を格納するBoxは、トラック内の全AUの処理が完了した時点で作成が完了する。
特開2003−114845号公報
放送されるTSパケットを受信する際には、天候や受信条件によってはパケットロスが発生する。特に、携帯電話などの移動体端末によって移動しながら受信するようなケースでは、パケットロスが頻発することがある。TSパケットでは、continuity_counter値が不連続となっていないかどうかを調べることにより、パケットロスによりAUデータが欠落していることを検出できるが、MP4においてはサンプルデータの欠落を示すことができない。そのため、MP4ファイルを再生する際に、データが欠落していて正常に復号することができないサンプルデータを復号し、結果として、画質の低い動画像データを表示してしまうという第1の課題があった。
さらに、多重化方式をTSからMP4に変換する際には、NALユニットの格納形式をバイトストリームフォーマットからNALサイズフォーマットに変換する必要がある。バイトストリームフォーマットでは、NALユニットの先頭に付加されたスタートコードを検出することによりNALユニットの境界を検出するが、パケットロスにより境界部分がロストした際には、境界が検出できず、NALユニットのデータを正確に分離することができない。従来は、NALユニットデータが正確に分離できなかった際に、NALユニットのデータをMP4のサンプルとして格納する方法が規定されていなかったため、変換後のNALユニットに格納するデータを決定できないという第2の課題があった。
そこで、本発明は上記の事情に鑑みてなされたものであり、ユーザに対して正しく復号できない動画像データを表示してしまうことを防止することができる多重化方式変換装置を提供することを目的とする。
上記目的を達成するために、本発明に係る多重化方式変換装置は、第1の方式によりパケット多重化された符号化メディアデータを前記第1の方式と異なる第2の方式によりパケット多重化して出力する多重化方式変換装置であって、前記第1の方式によりパケット多重化された符号化メディアデータにおけるパケットロスの有無を判定するパケットロス判定手段と、前記パケットロス判定手段でパケットロスが有と判定された場合に、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、データ欠落に関する欠落情報を生成する欠落情報生成手段と、前記欠落情報生成手段で生成された欠落情報を前記第2の方式のパケットに格納するとともに、前記符号化メディアデータを前記第2の方式によりパケット多重化する多重化手段とを備えることを特徴とする。
これによって、例えばMP4である第2の方式のファイルでは、サンプルデータを復号することなく、例えばMPEG−2システムのTSである第1の方式のTSパケットのパケットロスによりデータが欠落したサンプルについての情報が得られるため、例えばオーディオやビデオの復号手段よりも上位のシステムレイヤにおいて、サンプルの復号、あるいは表示動作を決定することができる。
また、前記多重化方式変換装置は、さらに、前記第1の方式によりパケット多重化された符号化メディアデータのパケットからヘッダとペイロードを分離するパケット分離手段を備えてもよい。
また、前記多重化方式変換装置は、さらに、前記パケット分離手段で分離された前記ペイロードから前記符号化メディアデータのフレーム境界を検出してフレームを分離するフレーム分離手段を備え、前記欠落情報生成手段は、前記パケットロス判定手段でパケットロスが有と判定された場合に、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、データ欠落に関する欠落情報をフレーム単位で生成し、前記多重化手段は、前記欠落情報生成手段で生成された前記フレーム単位の欠落情報を前記第2の方式のパケットに格納してもよい。ここで、前記欠落情報生成手段は、復号に必須なデータが欠落していないフレームが復号順で1枚以上連続する区間を示す情報を前記欠落情報として生成してもよい。
これによって、例えばMP4である第2の方式のファイルでは、サンプルが正しく復号できる区間をシステムレイヤにおいて特定できるため、データが欠落したサンプルを復号して、乱れた表示画像を出力することによる再生品質の低下を防ぐことができる。
また、前記多重化方式変換装置は、さらに、ランダムアクセス可能であるフレームを登録するためのテーブルを作成する作成手段を備え、前記多重化手段は、前記符号化メディアデータのランダムアクセス可能であるフレームを前記テーブルへ登録する際に、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、前記フレームにおいて復号に必須なデータが欠落しているか否かを判定し、前記フレームにおいて復号に必須なデータが欠落していれば、前記フレームをランダムアクセス可能なフレームとして前記テーブルへ登録しなくてもよい。
これによって、例えばMP4である第2の方式のファイルでは、シンクサンプルが正しく復号できることが保証されるため、ランダムアクセス時の再生品質の低下を防ぐことができる。
また、前記多重化方式変換装置は、さらに、前記符号化メディアデータの格納形式を変換する変換手段を備えてもよい。ここで、格納形式とは、多重化方式より狭い意味で用い、例えばフレームデータの格納方式等である。
また、前記フレームが1以上のサブフレーム単位から構成され、前記変換手段は、サブフレーム単位の先頭に前記サブフレームのサイズ情報を付加して前記格納形式を変換する際には、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、前記第2の方式のパケットに格納するサブフレームデータ、およびサブフレームデータのサイズを決定してもよい。
これによって、例えばMP4である第2の方式のファイルでは、パケットロスによりデータが欠落している際にも、MPEG−4 AVCのAUデータを、NALサイズフォーマットに変換することができる。
また、前記フレームが1以上のサブフレーム単位から構成され、前記変換手段は、前記符号化メディアデータにおけるデータが欠落した位置に、データの欠落を示すサブフレーム単位を挿入した上で、前記符号化メディアデータを前記第2の方式によりパケット多重化してもよい。
これによって、例えばMP4である第2の方式のファイルでは、サンプルデータに挿入された、パケットロス情報を通知するためのNALユニットを検出することにより、復号手段においてもAUデータの欠落位置を特定でき、適切なエラー隠匿処理を行うことができる。
また、前記欠落情報生成手段は、所定単位の復号に必須なデータが欠落しているか否かを示す情報を前記欠落情報として生成してもよい。
これによって、例えばMP4である第2の方式のファイルでは、復号に必須な例えばSPS(Sequence Parameter Set)やPPS(Picture Parameter Set)、あるいはスライス等のデータが欠落したサンプルをシステムレイヤにおいて特定できるため、データが欠落したサンプルを復号して、乱れた表示画像を出力することによる再生品質の低下を防ぐことができる。
また、本発明に係る逆多重化装置は、符号化メディアデータがパケット多重化された多重化データを復号する逆多重化装置であって、前記多重化データからデータ欠落に関する欠落情報を抽出する欠落情報抽出手段と、前記欠落情報抽出手段で抽出された前記欠落情報に基づいて前記符号化メディアデータの中で復号するデータを決定する欠落情報解析手段と、前記欠落情報解析手段で復号すると決定された前記データを復号する復号手段とを備えることを特徴とする。
これによって、例えばMP4である多重化データでは、サンプルの欠落情報を示すBoxを参照して、サンプルの復号、表示動作を決定することができるため、データが欠落したサンプルを復号して、乱れた表示画像を出力することによる再生品質の低下を防ぐことができるとともに、エラー隠匿方法が異なる復号表示手段を使用した際にも、同一の出力結果を得ることができる。
また、前記逆多重化装置は、さらに、前記欠落情報抽出手段で抽出された前記欠落情報に基づいて再生品質をユーザに通知する欠落情報通知手段を備えてもよい。
これによって、例えばMP4である多重化データでは、例えばサンプルデータの欠落率(欠落データ/全データ)等の再生品質をユーザに通知することができる。
さらに、本発明は、このような多重化方式変換装置および逆多重化装置として実現することができるだけでなく、このような多重化方式変換装置および逆多重化装置が含む特徴的な手段をステップとして含む多重化方式変換方法および逆多重化方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
以上の説明から明らかなように、本発明に係る多重化方式変換装置によれば、正しく復号できない動画像データを示すことにより、再生品質の低下を示すことができる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
まず、本発明の実施の形態1に係る多重化方式変換装置について図1から図12を参照して説明する。ここでは、MPEG−4 AVCの符号化ビデオデータが多重化されたTSパケットを入力して、TSパケットからAUデータを分離し、MP4に多重化して出力するものとする。なお、パケット多重化される符号化データは、MPEG−4 AVCに限定されるものではなく、MPEG−4 VisualやH.263、あるいはSMPTE(Society of Motion Picture and Television Engineers)で規格化中のVC−1などのビデオ符号化データ、あるいはMPEG−4 AACやAMRなどのオーディオ符号化データであってもよい。さらに、入力されるTSパケットには、ビデオの符号化データを伝送するTSパケットだけでなく、オーディオ、あるいはプログラム情報が含まれていてもよい。この場合は、まずプログラム情報を含むTSパケットを取得して、ビデオ、およびオーディオの符号化データを伝送するTSパケットのPIDを決定する。その後、PIDの値に基づいて、ビデオとオーディオのTSパケットを振り分け、それぞれ処理を行う。
図1は、多重化方式変換装置の全体構成を示す図である。本装置は、TSパケットデータを入力してメモリ102に格納するとともに、多重化方式変換後のMP4ファイルを出力するデータI/O部101と、メモリ102からTSパケットデータを取得してAUデータ、およびPESパケットのヘッダを分離、解析し、解析結果をメモリ102に記憶させ、前記分離したAUデータを、前記解析結果を用いてMP4に変換し、変換処理結果をメモリ102に出力する変換部103とから構成される。ここで、メモリ102には、入出力データの保存領域、および変換処理結果やAUデータを一時的に格納するワーク領域が存在し、各領域のサイズは可変とできる。また、再構成部103は、ここではCPUであるとするが、専用のハードウェアであってもよい。以下に、変換部103の動作を詳細に説明する。
図2は、変換部103の構成を示すブロック図である。変換部103は、TSペイロード分離部201、パケットロス判定部202、PES分離解析部203、AU分離部204、PESヘッダ解析部205、Box作成部206、および連結部207とを備える。TSペイロード分離部201は、TSパケットのヘッダ、およびペイロードを分離して、パケットロス判定部202に出力する。パケットロス判定部202は、TSパケットのパケットロスを判定し、パケットロスが検出された際には、エラー処理を行い、エラー処理後のペイロードデータをPES分離解析部に出力する。パケットロスを判定する際は、TSヘッダからcontinuity_counter値を取得して、直前に入力されたTSパケットのcontinuity_counter値と比較し、値が不連続である際には、パケットがロスしたと判定する。ここで、continuity_counterの最大値は15であるため、直前TSパケットのcontinuity_counter値が15で、現TSパケットのcontinuity_counter値が0である際には、continuity_counterが循環したとみなし、パケットロスとは判定しない。パケットロスを検出した際には、パケットロス通知用の情報として、NALユニットタイプが25であり、ペイロードが空であるNALユニットを、バイトストリームフォーマット形式として、現TSパケットのペイロードデータの先頭に挿入する。なお、挿入するNALユニットのNALユニットタイプは、当該NALユニットタイプが他の目的で使用されていなければ、24以上31以下の任意の値をとることができる。ここで、0、および24以上31以下のNALユニットタイプは、AVC規格において、アプリケーションが任意に使用できる領域として定義されている。また、パケットロス通知用の情報としては、AVCストリーム内で現われることのないコードパターンを挿入してもよいし、ストリームとは別にパケットロス情報を管理してもよい。次に、PES分離解析部では、パケットロス通知用のNALユニットが挿入されたTSパケットのペイロードデータから、MPEG−4 AVCにおけるPESパケットのスタートコード(0x000001E0以上、0x000001EF以下の値)をサーチすることによりPESパケットの開始位置を検出する。ここで、PESパケットのヘッダには、PESパケットのサイズを示すフィールドが存在する場合には、当該サイズを用いてペイロードを分離してもよい。PESパケットを分離した後、PESパケットのヘッダとペイロードを分離し、ヘッダデータをPESヘッダ解析部205に出力し、ペイロードデータをAU分離部204に出力する。なお、PESパケットにおけるスタッフィングデータは、ペイロードデータには含めない。AU分離部204では、PESパケットのペイロードデータから、AUの境界を検出してAUデータを分離し、分離したAUデータをBox作成部206に出力する。ここで、パケットロス判定部によりパケットロス通知用のNALユニットが挿入された際には、Box作成部206に出力されるAUデータにも、パケットロス通知用NALユニットが含まれる。PESヘッダ解析部205では、入力されたPESヘッダのデータに、PESペイロード内で開始する先頭AUの表示時間が含まれるか判定し、含まれる際には、AUの表示時間をBox作成部206に出力する。次に、Box作成部206は、入力されたAUのデータ、およびPESヘッダにおける表示時間に基づいて、パケットロス情報を含むmoov、およびmdatを作成し、連結部207に出力する。なお、Box作成部206は、moov、mdatに加えて、moofやmfraを作成してもよい。最後に、連結部207は、moovとmdatを連結してMP4ファイルのデータとして出力する。
図3は、変換部103の動作を示すフローチャートである。まず、ステップ301において、TSパケットのロスが発生したかどうか判定し、パケットロスの発生を検出した際には、パケットロス検出位置に、パケットロス通知用のNALユニットを挿入する。続いて、ステップ302において、PESパケットのヘッダとペイロードを分離し、ステップ303において、分離したPESパケットのペイロードからAUの境界を検出し、AUデータを分離する。図3のループAに示すように、ステップ301からステップ303の動作を、1AU分のデータが分離できるまで繰り返す。1AU分のデータを分離した後、ステップ304では、PESパケットのヘッダを解析して、PESペイロード内で開始する先頭AUの表示時間が含まれるか判定し、含まれる際には、AUの表示時間を取得する。なお、ステップ304の処理は、ループA内の処理で行ってもよい。次に、ステップ305において、ループAにおいて分離したAUデータ、およびステップ304において取得した表示時間情報をもとに、MP4ファイル内のBoxデータを作成する。入力されるTSパケットに含まれる全AUデータの処理が完了するまで、ループBの処理を繰り返し、全AUデータの処理を完了した時点で、moov、およびmdatを完成し、ステップ306において、moov、およびmdatを連結してMP4ファイルを出力する。ここで、ループBは、ループA、ステップ304、およびステップ305の処理を含む。なお、ftypについては、ステップ305において作成し、moovに付加して出力する、あるいは、ステップ306においてmoovに付加することとする。なお、フラグメントを使用したMP4ファイルを出力することとしてもよい。この際は、ステップ305において、1フラグメント分のmoofとmdatが決定した時点でmoofとmdatを出力してループBを抜け、ステップ306において、出力されたmoofとmdatを順次連結する。さらに、フラグメント使用時には、メディアトラックの全サンプルのヘッダ情報をmoofに格納してもよいし、トラックの先頭部分のサンプルについては、ヘッダ情報をmoovに格納してもよい。
Box作成部205の構成、および動作について、詳しく説明する。なお、以下では、単にNALユニットと記述する場合には、TSパケットのペイロードに含まれていたNALユニットを指し、パケットロス通知用のNALユニットは含めないものとする。図4は、Box作成部205の構成を示すブロック図である。Box作成部205は、AU解析部301、エラー情報生成部302、AU形式変換部303、およびBoxデータ決定部304とから構成される。まず、AU解析部301は、AUデータを解析し、AUの表示時間、あるいは、AU IDRであるかどうかなど、従来のMP4ファイルを構成するBoxの作成に必要な情報を取得し、解析結果をBoxデータ決定部304に出力する。ここで、AU解析部301が出力する解析結果には、AUのサイズは含めない。また、従来のMP4ファイルを構成するBoxには、エラー情報(欠落情報)を示すBox、あるいは、mdat内でエラー情報を示すための識別情報は含まれない。
以下に、パケットロスのために、AUの時間情報、あるいはAUデータを復号する際に参照するSPS、あるいはPPSのデータが欠落している際の動作について説明する。PESパケットのヘッダ情報から復号時間、あるいは表示時間が取得できないAUについては、AU内のデータを解析して時間情報を取得する。具体的には、Picture Order Countと呼ばれるピクチャの表示順序を示すパラメータ、あるいはPicture Timing SEI, Buffering Period SEIなどのSEIを解析する。これらの時間情報を示す情報がパケットロスにより欠落していた際には、予め定めた方法により、AUの復号時間、あるいは表示時間を計算する。SPSや、符号化メディアデータとは別のPIDをもつTSパケットにより伝送されるデスクリプタの情報により、フレームレートが固定であることが示される際には、当該フレームレートに基づいて復号時間、あるいは表示時間を決定してもよい。なお、デスクリプタとは、MPEG−2システム規格において規定される、符号化メディアデータの補助情報である。次に、MP4においては、SPSおよびPPSは、サンプルデスクリプションボックス('stsd')内のサンプルエントリ、あるいは、パラメータセット用のトラックに格納される。さらに、MPEG−4 AVCの符号化データのトラックにおけるサンプルと、サンプルが参照するSPS、およびPPSを格納するサンプルエントリ、あるいはパラメータセットのトラックのサンプルとは一対一に関連付けられる。従って、サンプルを復号する際に参照するSPS、あるいはPPSのデータが欠落した際には、直前サンプルと同一のSPS、あるいはPPSを参照することとする。なお、予め設定したデフォルトのSPS、あるいはPPSを使用してもよい。
エラー情報生成部302では、AUデータから、パケットロス通知用のNALユニットを検索し、パケットロス通知用のNALユニットを検出した際には、エラー情報を示すBoxのデータを作成する。さらに、AUを構成するNALユニットのデータにおけるパケットロスの有無に基づいて、mdatに格納するNALユニットデータを決定し、mdatにサンプルデータとして格納すると決定したNALユニットデータから構成されるAUデータのサイズを決定して、エラー情報を示すBoxのデータとともに、Boxデータ決定部304に出力する。AU形式変換部303では、エラー情報生成部において、サンプルデータとして格納すると決定されたAU内のNALユニットのデータを、バイトストリームフォーマットからNALサイズフォーマット変換し、変換後のAUデータをBox決定部304に出力する。ここでBox決定部304に出力された、変換後のAUデータが、MP4におけるサンプルデータとなる。
図5は、Box作成部205の動作を示すフローチャートである。まず、ステップ401において、入力されたAUデータから、従来のMP4ファイルを構成するBoxの作成に必要な情報を取得する。ステップ402では、AUデータからパケットロス通知用のNALユニットを検出することにより、エラー情報を示すBoxのデータ作成し、さらに、ステップ403において、MP4ファイル内でサンプルデータとして格納するNALユニットデータを決定する。ステップ404では、ステップ403においてサンプルデータとして格納すると決定されたNALユニットデータをNALサイズフォーマットに変換し、変換後のNALユニットデータから構成されるサンプルデータを作成する。続いて、ステップ405では、ステップ402において作成された、エラー情報を示すBoxを含むmoovのデータを作成する。ステップ406では、ステップ404において作成されたサンプルデータを格納するmdatデータを作成する。図6は、ステップ405の動作を示すフローチャートである。ステップ404においては、まず、ステップ501において、従来のMP4ファイルを構成するBoxを作成し、次に、ステップ502において、エラー情報を格納するBoxを作成する。
次に、ステップ402において、エラー情報を示すBoxのデータを作成する際の手順について説明する。図7は、ステップ402の動作を示すフローチャートである。ここでは、MP4ファイルにおけるBoxデータ作成方法について説明するため、サンプルという用語を用いるが、1サンプルは1AUと同一である。まず、ステップ601において、AUデータにパケットロス通知用のNALユニットが含まれるかどうか検索する。検索時には、AUの先頭データから順に、バイトアライン位置において、バイトストリームフォーマットのスタートコードプレフィックス(0x000001から成る3バイト)を調べることにより、NALユニットの開始位置を検出する。続いて、検出したNALユニットのNALユニットタイプを取得して、NALユニットタイプの値が所定の値であれば、パケットロス通知用のNALユニットであると判定する。AUの最終NALユニットまでのNALユニットタイプを調べた後に、ステップ602において、サンプル内にパケットロス通知用NALユニットが検出されたかどうかを判定する。パケットロス通知用NALユニットが検出された際にはステップ603の処理を行い、検出されなかった際には、Boxデータの作成処理を終了する。ステップ603では、当該サンプルのサンプル番号を、エラーを含むサンプルの一覧を示すテーブルに追加する。以下、図8に具体例を挙げて、ステップ601からステップ603までの動作について説明する。図8(a)は、AVCの符号化データにおけるサンプルデータを復号順に並べたものであり、図中の番号は、サンプル番号を示す。この例では、サンプル番号が7、9、および15であるサンプルにおいて、サンプル内のNALユニットデータにパケットロス通知用のNALユニットが検出されたとする。サンプル番号が1から15までのサンプルについて、エラー情報を示すBoxを作成する際の手順は、次のようになる。なお、エラー情報を示すBoxの名称は、Error Sample Boxとする。まず、1から6番目のサンプルについては、ステップ601においてパケットロス通知用のNALユニットが検出されないため、ステップ602では、サンプル内にパケットロス通知用のNALユニットは存在しないと判定され、Error Sample Boxのテーブルデータを更新せずに処理を終了する。7番目のサンプルについては、ステップ601においてパケットロス通知用のNALユニットが検出されるため、ステップ602において、Error Sample Boxのテーブルデータを更新すると判定され、ステップ603で更新処理を行う。ステップ603では、7番目のサンプルにパケットロスが含まれることを示すために、テーブルのエントリを追加してサンプル番号7を格納する。後続サンプルについても同様の処理を行い、サンプル番号9とサンプル番号15をテーブルに追加する。結果として、Error Sample Boxのテーブルには、図8(b)に示すように、パケットロスを含むサンプルの番号として、7、9、15が格納される。図8(c)は、Error Sample Boxのシンタックス例であり、error_sample_numberは、サンプル内のNALユニットデータがパケットロスにより欠落しているサンプルのサンプル番号を示す。Error Sample Boxは、moovにおいては、trak内のstbl直下に配置することとし、moofにおいては、トラックフラグメントランボックス('traf')直下に配置するが、他のBoxの直下に配置することとしてもよい。ここで、Error Sample Boxは、メディアトラックにおいて、データが欠落したサンプルが存在する場合にのみ作成することとするが、データが欠落したサンプルが存在しない場合にも、エントリが空であるError Sample Boxを作成してもよい。なお、traf内に配置する際には、error_sample_numberは、traf内の先頭サンプルの番号を1として、順にサンプルをカウントした際の番号を示す。例えば、traf内に10個のサンプルが含まれ、3番目と5番目のサンプルのデータがパケットロスにより欠落していることを示す際には、error_sample_numberが3、および5である2つのエントリを作成する。あるいはまた、トラックフラグメントランボックス('trun')において、各サンプルのヘッダ情報についてのフラグ情報を示すフィールドであるtr_flagsにおいて、サンプル内のデータがパケットロスにより欠落していることを示すフラグを追加することとしてもよい。
さらに、上記では、サンプル内のデータがパケットロスにより欠落しているかを示すこととしたが、サンプル内の特定NALユニットにおいてデータが欠落しているかどうかを示すこととしてもよい。例えば、MPEG−4 AVCにおいては、スライス、あるいは、SPS、PPSのNALユニットのデータにおいて、データが欠落しているかどうかを示す。これは、スライス、およびスライスが参照するパラメータセットが揃っていれば、正しい復号結果が得られるためである。より具体的には、パラメータセットのNALユニットについては、サンプル内のスライスデータを復号するために必要なSPS、あるいはPPSのデータが欠落しているかどうかを示してもよい。また、図8(d)に示すようなシンタックスとして、データが欠落しているNALユニットを特定するための情報を格納してもよい。図中のerror_nal_unit_numberは、データが欠落しているNALユニットを特定するための番号であり、例えば、サンプル内の2番目、および4番目のNALユニットがロストした際には、error_nal_unit_numberが2、および4である2つのエントリを作成する。エントリ内において、NALユニットタイプを示すこととしてもよい。さらに、error_nal_unit_numberは、MPEG−4 Visualにおけるビデオパケット、あるいはH.263におけるスライスを特定することとしてもよい。
また、パケットロスだけでなく、ビット誤りについての情報を取得できる際には、サンプルデータにおいてビット誤りが含まれるサンプル、あるいはNALユニットを特定するための情報を格納してもよい。
次に、ステップ403、およびステップ404において、MP4ファイル内でサンプルデータとして格納するNALユニットデータを決定し、NALユニットの格納形式をNALサイズフォーマットに変換する際の動作について、図9のフローチャートを参照して説明する。まず、ステップ701において、AU内の各NALユニットにおいて有効なデータを決定し、分離する。ここで、パケットロス通知用のNALユニットが検出された際には、直前にNALユニットの開始位置が検出されたNALユニットにおいて有効なデータは、パケットロス通知用のNALユニットの直前までのデータとする。パケットロス通知用のNALユニット以降で、次にNALユニットの開始位置が検出されるまでのデータは無効となるが、これは、前記無効部分のデータが属するNALユニットが特定できない場合がある、あるいは、特定できたとしても、欠落したデータサイズが不明であるため、復号時に使用できないためである。パケットロス通知用のNALユニットが検出されなければ、NALユニットデータは全て有効なデータとみなす。なお、有効なデータとして分離されるNALユニットデータには、zero_byte、およびスタートコードプレフィックスは含めない。次に、ステップ702では、ステップ701において分離した有効なデータのサイズを取得する。ステップ703では、ステップ703において取得したサイズをもとに、前記有効なデータを含むNALユニットデータを、NALサイズフォーマットに変換する。ここで、NALサイズフォーマットにおいて、NALユニットのサイズを示すフィールドのサイズは、1から4バイトの間で可変であるが、フィールドサイズは予め与えられるものとする。次に、ステップ704において、当該NALユニットのデータが欠落していたかどうかを判定し、欠落していた際には、エラー通知用のNALユニットをNALサイズフォーマットとして挿入する。上記ステップ701からステップ705までの処理(ループA)を、サンプルの最終NALユニットの処理が終了するまで繰り返す。なお、サンプルのサイズは、サンプルの最終NALユニットのサイズが決定した時点で決定される。
また、サンプルのデータが欠落しているかどうかは、moov、あるいはmoof内に格納されたエラー情報を示すBoxにおいてのみ示すこととし、mdatに格納されるサンプルデータには、パケットロス通知用のNALユニットは挿入しないこととしてもよい。このとき、ステップ704、およびステップ705は不要となる。
また、上記で無効とされたデータを破棄せずに、TSパケットのペイロードに含まれていたNALユニットデータを全て格納してもよい。さらに、パケットロスにより欠落したデータのサイズが特定できる際には、欠落部分をスタッフィングする目的の特別なNALユニット(以後、パケットロス補完用のNALユニットと呼ぶ。)を挿入してもよい。パケットロス補完用のNALユニットでは、Unspecified領域であり、かつパケットロス通知用とは異なるNALユニットタイプを使用する。また、エラー情報はエラー通知用のNALユニットにおいてのみ示すこととして、Error Sample Boxは作成しないこととしてもよい。
また、パケットロス通知用のNALユニットではなく、AU内のNALユニットデータにおけるパケットロス情報が別途提供される際には、ステップ701では、別途示される情報に基づいて、NALユニットにおいて有効なデータを決定する。
図10から図12は、有効なNALユニットデータを決定し、NALサイズフォーマットに変換する際の具体例を示すものである。各図において、SCP、Nal_len、ERR_NALUは、それぞれ、バイトストリームフォーマットにおけるスタートコードプレフィックス、NALサイズフォーマットにおいてNALユニットのサイズを示すフィールドのサイズ、エラー通知用のNALユニットを示すものとする。図10は、パケットロスによるNALユニットデータの欠落が、NALユニットの境界をまたがない例である。図10(a)は、変換前のAUデータを示す。AUは、NALU#1からNALU#4までの4つのNALユニットから構成され、3番目のNALユニットにおいてパケットロスが発生している。NALU#3は、本来、図中の受信1、ロスト、および受信2と示された領域のデータから構成されるが、パケットロスによりロスト領域が欠落しているため、受信1部分のデータ直後にERR_NALUが挿入されている。このとき、NALU#3において有効なデータと判定されるのは、受信1部分のデータのみであるため、mdatのサンプルデータとして格納されるのは、受信1部分のデータのみとなる。受信1部分のデータサイズは、size3_1であるため、NALU#3のデータをNALサイズフォーマットに変換する際には、Nal_lenフィールド値はsize3_1となる。次に、NALU#3の直後には、NALサイズフォーマットのERR_NALUが挿入される。図10(b)は、変換後に出力されるAUデータの構造を示す。なお、エラー通知用のNALユニットを挿入せずに、TSパケットのペイロードに含まれていたNALユニットデータを全て格納する際のAUのデータ構造は図10(c)に示すようになり、NALU#3のサイズは、size3_1とsize3_2(受信2部分のサイズ)との和になる。
図11は、パケットロスによるNALユニットデータの欠落が、NALユニットの境界をまたぐ例である。図11(a)は、変換前のAUデータを示す。AUは、NALU#1からNALU#4までの4つのNALユニットから構成され、NALU#2の終端部分から、NALU#3の先頭部分にかけて、NALユニットをまたいでデータが欠落している(図中に、ロストと示した領域のデータ)。このとき、NALU#2において有効となるのは、図中の受信1部分のデータとなる。次に、NALU#3については、NALユニット開始位置が検出できなかったため、ERROR_NALUの直後から、NAUL#4の開始位置までのデータは無効となり、結果として、NALU#3のデータは、サンプルデータには格納されない。つまり、図中の受信2部分のデータが無効となる。図11(b)は、変換後に出力されるAUデータの構造を示す。
図12は、パケットロスによるNALユニットデータの欠落が、AUの境界をまたぐ例である。図12(a)は、変換前のAUデータを示す。AU#1からAU#3までの3つのAUデータは、それぞれ、NALU#1からNALU#4、NALU#5からNALU#8、およびNALU#9からNALU#12から構成されるが、NALU#4の途中からNALU#9の先頭部分にかけて、AU#2をまたいでデータが欠落している(図中に、ロストと示した領域のデータ)。AU#1からAU#3において有効なデータは、次のようになる。AU#1では、NALU#1からNALU#3までの全データ、およびNALU#4において取得したnal4_size分のデータが有効となる。AU#2のデータは全てロストしたため、有効となるデータは存在しない。このため、MP4ファイルにおいては、AU#1を格納するサンプルの次に、AU#3を格納するサンプルが格納される。このとき、AU#1を格納するサンプルの再生時間長としては、AU#1とAU#2の再生時間長の和を格納する。最後に、AU#3では、NALU#10からNALU#12までのデータが有効となる。ここで、NALU#10が、AU#3における先頭NALユニットでないことが特定できる際には、NALU#10の先頭にERR_NALUを挿入することとしてもよい。例えば、MPEG−2システム規格においては、AUの先頭に、Access Unit Delimiterと呼ばれるAU境界判別用のNALユニットを挿入することが規定されているため、NALU#10がAccess Unit DelimiterのNALユニットでなければ、AU#3の先頭NALユニットがロストしたと判定できる。図12(b)は、変換後に出力されるAUデータの構造を示す。図12(c)は、パケットロス補完用のNALユニットを使用する際に出力されるAUデータの構造例を示す。AU#1とAU#3の出力データは、図12(b)と同一であるが、この例では、AU#2のデータも出力することとしている。AU#2のデータには、パケットロス補完用のNALユニットのみが含まれ、パケットロス補完用のNALユニットのサイズは、MPEG‐4 AVCデータの符号化ビットレート、および、固定フレームレートであるかどうかの情報をもとに推定することができる。このように、パケットロス補完用のNALユニットを挿入することにより、ビデオデータが固定ビットレートで符号化されている際には、パケットロスによりデータが欠落した際にも、MP4におけるサンプルデータを、なるべく元の固定ビットレートを保持して格納することができる。また、ストリームが固定フレームレートである際には、パケットロス補完用のNALユニットから構成されるサンプルを作成することにより、サンプルの再生時間長が一定となり、結果として、サンプルの再生時間長を格納するテーブルのサイズを低減できる。
また、AUのスライスデータが欠落している際には、復号順または表示順で直前のAUと同一のデータを格納する、あるいは、スライスなどの単位でエラー隠匿処理を行うことによりAUデータを再構成して記録してもよい。さらに、AUデータが再構成されていることを示す情報を別途示してもよい。
なお、SEIメッセージ(Supplemental Enhancement Information)により、パケットロスに関する情報を格納してもよい。例えば、ユーザーデータ格納用のSEIメッセージが使用できる。
なお、パケットロスにより欠落したデータの割合や、AU内のスライスのうち、データが欠落したスライスの割合、あるいはビット誤りの発生頻度などのエラー情報を、エラー通知用のNALユニットのペイロードやError Sample Boxに格納してもよい。また、エラー通知用のNALユニットのNALユニットタイプ、サイズ、あるいは、エラー通知用NALユニットのペイロードにエラー情報を記述する際には、記述するエラー情報の種類などを示すBoxを、moov、あるいはmoof内に格納してもよい。
なお、上記各動作は、サンプルデスクリプションボックス(stsd)内のサンプルエントリにおけるfrme_countフィールドを使用することにより、複数のAUを1サンプルとして格納する際にも適用できる。
さらに、エラー通知用のBoxを作成する、あるいはエラー通知用のNALユニットをサンプルデータ内に挿入する方法は、RTP(Real-time Transmission Protocol)パケットにより多重化しされた符号化メディアデータをMP4ファイルに変換する際にも適用できる。RTPパケットにおいては、RTPパケットのヘッダに付加されたシーケンス番号の連続性を調べることにより、パケットロスを判定できる。
また、本実施の形態では、トラック毎にError Sample Box等のエラー情報を付加しているが、これに限られるものではない。例えば、MP4ファイル単位にエラー情報を付加しても構わない。この場合、エラー情報は、moov直下に配置することができる。また、フラグメント使用時には、最終フラグメントのmoof、またはmfra内のBoxなどに配置することとしてもよい。これによって、再生時にMP4ファイル全体として、例えばサンプルデータの欠落率(欠落データ/全データ)や、全再生時間長のうちオーディオとビデオが共に再生できる時間長の割合等の情報をユーザに通知することが可能になる。
また、例えば所定の再生区間が指定されるアイテムをリスト形式に複数有し、このアイテムを順に再生するプレイリストおいては、アイテム毎にエラー情報を付加しても構わない。このプレイリストとは、例えばオーディオデータであれば1つの曲をアイテムとして、ユーザによって選択された曲が選択された順に記載されるリストである。ここで、各再生区間は、同一ファイル内の異なる区間であってもよいし、異なるファイル、または異なるファイルの特定区間であってもよい。この場合、再生時には、プレイリスト参照するだけでアイテム毎の例えばサンプルデータの欠落率等の情報を取得することが可能になる。
(実施の形態2)
本発明の実施の形態2に係る多重化方式変換装置について図13、および図14を参照して説明する。多重化方式変換装置の構成は、実施の形態1に係る多重化方式変換装置と同一であり、Boxデータ決定部304において、シンクサンプルのテーブルであるstssを作成する際の動作のみが異なることから、stssの作成方法についてのみ説明する。
実施の形態1の多重化方式変換装置においては、サンプル内のデータが欠落しているかどうかに関わらず、IDR AUをシンクサンプルとしていた。しかしながら、シンクサンプルはランダムアクセスする際に復号を開始するサンプルとなるため、シンクサンプルが正常に復号化できないと、シーケンス内の以降のサンプルについても正常な復号結果が得られないことがあるという問題があった。そこで、本実施の形態の多重化方式変換装置では、データが欠落していないIDR AUのみをシンクサンプルとすることで、シンクサンプルから復号を開始した際に、少なくともシンクサンプルにおいては乱れのない復号結果を得ることができる。
図13は、Boxデータ決定部304において、stssを作成する際の動作を示すフローチャートである。まず、ステップ801において、サンプルデータ内にIDRスライスのNALユニットが含まれているかどうか判定する。ここで、IDRスライスのNALユニットであるかどうかは、NALユニットタイプにより識別する。IDRスライスのNALユニットが含まれていない場合には、処理を終了し、含まれている際には、ステップ802の処理を行う。ステップ802において、サンプルデータ内に、パケットロスのためにデータが欠落したNALユニットが含まれるかどうかを、エラー情報生成部302において取得したサンプル毎のエラー情報に基づいて判定する。サンプルデータが欠落していると判定された際には、処理を終了し、欠落していないと判定された際には、ステップ803において、シンクサンプルの一覧を示すstssのテーブルに、当該サンプルのサンプル番号を追加する。以上、ステップ801からステップ803までの処理を、トラック内の最終サンプルまで繰り返すことにより、stssを作成する。なお、IDRスライスのNALユニットを含み、データが欠落していないサンプルを全てシンクサンプルとせずに、例えば、シンクサンプル間の再生開始時間の差分値がなるべく一定となるようにシンクサンプルを決定してもよい。また、IDRスライスを含むAUにおいて、スライス、あるいは、SPS、PPSのNALユニットにおいてデータが欠落していなければ、シンクサンプルとしてもよい。より具体的には、サンプル内のスライスデータを復号するために必要なSPS、あるいはPPSのデータが当該サンプル内、あるいは復号時刻が前のサンプルから取得できる場合にのみシンクサンプルとしてもよい。
図14は、図13のフローチャートに示した動作によりstssを作成する際の具体例を示す。図14(a)は、サンプル番号順にサンプルを並べたものであり、サンプル番号が1、11、21、および31のサンプルが、IDRスライスのNALユニットを含むが、21番目のサンプルにおいては、サンプルデータ内のデータが欠落している。このとき、ステップ801では、1、11、21、および31番目のサンプルがシンクサンプルの候補とされるが、ステップ802において、21番目のサンプルはシンクサンプルとしないと決定されるため、結果として、ステップ803において1、11、および31番目のサンプルがstssのテーブルに追加される(図14(b))。
なお、mfraに登録するランダムアクセス可能なサンプルも、同様の方法で決定できる。
なお、stssを上記の方法により作成することと、Error Sample Boxを作成するとは独立に選択できるとし、例えば、上記の方法でstssを作成し、Error Sample Boxは作成しなくてもよい。
(実施の形態3)
本発明の実施の形態3に係る多重化方式変換装置について図15から図17を参照して説明する。多重化方式変換装置の構成は、実施の形態1に係る多重化方式変換装置と同一であり、エラー情報生成部302において、図5のステップ402の動作によりサンプルのエラー情報を示すBoxを作成する際の動作のみが異なるため、この部分の動作について説明する。本多重化方式変換装置では、シンクサンプルから復号を開始した際に、シンクサンプル以降の何番目のサンプルまでが正しく復号できるかどうかを示すBoxを作成する。本多重化方式変換装置で作成したMP4ファイルを再生する際には、このBoxを参照することにより、正しく復号できることが保証されるサンプルを特定した後に、表示するサンプルを決定できる。
図15は、エラー情報を示すBoxを作成する際の動作を示すフローチャートである。err_free_flagは、シーケンスの開始するサンプルから、当該サンプルまでのサンプルにおいて、データの欠落が発生していないことを示すフラグであり、初期値は0とする。ステップ901では、サンプル内にIDRスライスのNALユニットが含まれるかどうかを判定し、含まれる際には、ステップ902においてerr_free_flagを1にセットする。ステップ903では、err_free_flagが1であるかどうか判定し、1である際にはステップ904の処理を行い、0である際には以降の処理ステップをスキップし、次サンプルの処理を行う。ステップ904では、サンプルを構成するNALユニットのデータが欠落しているかどうかを判定する。なお、スライス、あるいは、SPS、PPSのNALユニットデータが欠落していなければ、ステップ904において、データが欠落していないと判定してもよい。データの欠落したNALユニットが存在する際には、ステップ905において、エラーフリー区間の最終サンプルの一覧を示すテーブルに、直前サンプルのサンプル番号を追加する。ここで、エラーフリー区間とは、復号順で配置される当該区間のサンプルにおいて、データの欠落が発生しないことが保証される区間である。ランダムアクセスする際には、シンクサンプルから復号が開始され、さらに、シンクサンプルはIDRスライスのNALユニットを含むサンプルであるため、エラーフリー区間の開始サンプルはシンクサンプルとなる。なお、IDRスライスのNALユニットを含むサンプルにおいてデータが欠落している際には、当該サンプルに対するエラーフリー区間は定義されない。したがって、ステップ905はスキップされる。以上、ステップ901からステップ905までの処理をトラックの最終サンプルの処理が完了するまで繰り返す。ここで、データの欠落が発生しないことを保証するというのは、TSパケットのcontinuity_counter値からはエラーが検出できなかったことを示すものであり、必ずしも、データの欠落が全く発生していないことを保証するものではない。なお、continuity_counter以外のパケットロス情報により、より正確にパケットロスを検出できる際には、当該情報を利用してエラーを検出してもよい。
なお、エラーフリー区間を示すことができれば、エラーフリー区間に含まれるサンプル数を示すなど、最終サンプル以外の情報を用いてもよい。
図16は、図15のフローチャートに示した動作により、エラー情報を格納するBoxを作成する際の具体例を示す。図16(a)は、それぞれ10個のサンプルから構成される、連続する2つのシーケンスを示す。シーケンス#1は、1番目のサンプルから開始し、7番目、および9番目のサンプルのデータが欠落しており、シーケンス#2は、11番目のサンプルから開始し、16番目のサンプルのデータが欠落している。エラーフリー区間を決定する際の手順を以下に説明する。まず、1番目のサンプルにおいて、err_free_flagが1にセットされる。6番目のサンプルまでは、ステップ904において、サンプルデータが欠落していないと判定されるため、ステップ905、およびステップ906の処理はスキップされ、err_free_flagの値は1のまま保持される。次に、7番目のサンプルでは、ステップ904において、サンプルデータが欠落していると判定されるため、ステップ905において、エラーフリー区間の最終サンプルを格納するテーブルにエントリが追加され、1つ手前のサンプルである6番目のサンプルを示すサンプル番号が格納される。10番目のサンプルまでは、err_free_flagの値は0のままである。続いて、11番目のサンプルにおいて、再びerr_free_flagが1にセットされ、シーケンス#1と同様にして、15番目のサンプルが、エラーフリー区間の最終サンプルとしてテーブルに追加される。図16(b)は、シンクサンプルテーブルを示す。図16(b)は、エラーフリー区間の最終サンプルのテーブルを示す。図16(b)、および図16(c)の2つのテーブルから、シーケンス#1におけるエラーフリー区間は、サンプル番号が1から6までのサンプルであり、シーケンス#2におけるエラーフリー区間は、サンプル番号が11から15までのサンプルであることが示される。図16(d)は、エラーフリー区間の最終サンプルの一覧を示すBoxであるError Free End Sample Boxのシンタックス例であり、end_sample_numberは、エラーフリー区間の最終サンプルのサンプル番号を示す。Error Free End Sample Boxは、moovにおいては、trak内のstbl直下に配置することとし、moofにおいては、トラックフラグメントランボックス('traf')直下に配置するが、他のBoxの直下に配置してもよい。
なお、ステップ901では、サンプル内にIDRスライスのNALユニットが含まれるかどうかを判定し、err_free_flagをセットすることとしたが、IDRスライスのNALユニットが含まれるサンプルを必ずしもシンクサンプルとはしない場合には、stssに示されるシンクサンプル一覧とError Free End Sample Boxを用いてエラーフリー区間を特定することができない。そこで、ステップ901において、当該サンプルがシンクサンプルであるかどうかを判定し、シンクサンプルであればerr_free_flagをセットすることとしてもよい。また、エラーフリー区間の最終サンプルではなく、先頭サンプルを示すこととしてもよい。例えば、図16(a)において、シーケンス#1の6番目から10番目までのサンプルのデータが完全に揃っている際には、エラーフリー区間の先頭サンプルを6とすることにより、6番目のサンプルから、シーケンス2の先頭サンプルである11番目のサンプルまでがエラーフリー区間であると示すことができる。
なお、MP4では、ランダムアクセス可能なサンプルとして、シンクサンプルの他に、Gradual Decoder Refreshポイントを指定することができる。Gradual Decoder Refreshポイントとは、当該サンプルにおいては正しい復号結果が得られないものの、復号順で後続のサンプルを指定された個数だけ復号すれば、正しい復号結果が得られるようになるサンプルを指す。あるいは、あるサンプルにおいて正しい復号結果を得るためには、復号順で指定された個数だけ前のサンプルから復号を開始する必要がある際の、復号開始サンプルを指すこともできる。例えば、復号順でM番目のサンプルから復号を開始した際に、正しい復号結果が得られるのはN番目(N>M)のサンプルからである場合に、MP4ファイルにおいては、NとMの差分値を示す情報が示される。そのため、エラーフリー区間の先頭サンプルとして、Gradual Decoder Refreshポイントに相当するサンプルも使用してよい。
なお、シンクサンプルと対応付けることなしにエラーフリー区間を特定できるように、エラーフリー区間の先頭サンプルと最終サンプルを共に示すこととしてもよい。
上記では、エラーフリー区間の最終サンプルの一覧を示すこととしたが、データの欠落したサンプルがシーケンス内に含まれるかどうかを示すこととしてもよい。以下、図17に例を示して説明する。図17(a)は、それぞれが10個のサンプルから構成される、連続する6つのシーケンスを示す。ここで、シーケンス#1、シーケンス#3、シーケンス#4、およびシーケンス#6の4つのシーケンスについては、シーケンス内の全てのサンプルデータが完全に揃っており、シーケンス#2、およびシーケンス#5においては、データの欠落したサンプルが含まれるものとする。図17(c)は、シーケンス内の全てのサンプルデータが完全に揃っているシーケンスにおける先頭サンプルの一覧である。図17(b)は、各シーケンスの先頭サンプルをシンクサンプルとした際のシンクサンプルの一覧であり、図17(b)と図17(c)の2つのテーブルを参照することにより、シーケンス内でデータの欠落が発生しているシーケンスは、サンプル番号が11、および41のシンクサンプルから開始するシーケンスであり、発生していないシーケンスはサンプル番号が1、21、31、51のシンクサンプルから開始するシーケンスであることが分かる。なお、IDRスライスのNALユニットが含まれるサンプルを必ずしもシンクサンプルとはしない場合には、連続する2つのシンクサンプル間のサンプルデータに欠落が発生しているかどうかを示してもよい。図17(d)は、シーケンス内でデータの欠落が発生していないシーケンスの先頭サンプルの一覧を示すError Free Sequence Boxのシンタックス例である。シンタックス内のsequence_start_sample_numberは、シーケンスの先頭サンプルのサンプル番号を示す。なお、シーケンスの先頭サンプル番号以外にも、シーケンスにおける欠落データの割合などに応じて、シーケンスを再生した際の再生画像の品質を示すパラメータとして、Good、Medium、Badなどの指標を示すこととしてもよい。例えば、欠落データの割合、画面内符号化されたAUの頻度、イントラマクロブロックの割合などに応じて品質を決定することができる。さらに、シーケンス内で正しく復号できるサンプルを示すための情報を格納することとしてもよい。具体的には、サンプル間の参照関係と、各サンプルにおけるスライスデータ、SPS、あるいはPPSのNALユニットにおいてデータの欠落しているどうか、を示すことにより、サンプルを復号する際に、参照先サンプルのデータが欠落しているかが分かるため、当該サンプルを正しく復号できるかどうか判定することができる。Error Free Sequence Boxは、moovにおいては、trak内のstbl直下に配置することとし、moofにおいては、トラックフラグメントランボックス('traf')直下に配置することするが、他のBoxの直下に配置してもよい。
また、実施の形態1から実施の形態3において説明したError Sample Box、Error Free End Sample Box、およびError Free Sequence Boxの各Boxは、組み合わせて使用してもよい。例えば、Error Sample BoxとError Free End Sample Boxを組み合わせることにより、エラーフリー区間に含まれないサンプルにおいて、どのサンプルのデータが欠落しているかを特定し、復号するサンプルを決定することができる。
また、正しく復号できるサンプル、あるいは、データが欠落したサンプルの割合などからトラックの再生品質を決定し、再生品質を示す情報を格納したBoxを、trak直下に配置してもよいし、オーディオ、ビデオ、あるいはテキストデータのトラックを同時に再生した際の再生品質を示すBoxをmoov直下に配置してもよい。
なお、上記各実施の形態において、バイトストリームフォーマットからNALサイズフォーマットに変換する部分と、データの欠落を示す情報を付加する処理とは別々に実施してもよい。例えば、NALサイズフォーマットや、RTP(Real Time Transmission Protocol)などインターネットの動画配信で使用されるフォーマットにより伝送されたNALユニットのデータに対して、データの欠落情報を付加できる。
また、MPEG−4 AVCの符号化データを多重化する際にも、AU形式変換部303を使用できる。例えば、MPEG−4 AVCの符号化処理を簡略化するために符号化データのフォーマットをバイトストリームフォーマットに統一できるが、このとき、当該符号化部から出力された符号化データをTSやMP4など、符号化データの格納形式が異なる多重化方式で多重化する際に、AU形式変換部303の処理を適用できる。ここで、符号化時はストリームにエラーが存在しないため、データの欠落を補償する処理は省略できる。なお、AU形式変換部303では、バイトストリームフォーマットからNALサイズフォーマットへ変換したが、符号化時の出力がNALサイズフォーマットに統一される際には、NALサイズフォーマットからバイトストリームフォーマットへ変換してもよい。
(実施の形態4)
本発明の実施の形態4に係る逆多重化装置について図18から図20を参照して説明する。本逆多重化装置は、実施の形態1から実施の形態3に係る多重化方式変換装置により作成されたMP4ファイルを入力して、AUデータを分離して、復号、表示するものであるが、Error Sample Boxなどに示されるエラー情報を参照することにより、復号、あるいは表示動作を決定する。このため、シーケンス内に正しく復号できないサンプルが多数含まれる際には、次のシーケンスまでスキップするなどの動作をファイルフォーマットレベルの情報から決定することができ、結果として、正しく復号できないサンプルを復号、表示することによる再生品質の低下を防ぐことができる。また、ファイルフォーマットレベルの情報により復号、表示動作を決定することにより、エラー隠匿処理の異なる復号部、あるいは表示部を用いた際にも、同一の出力結果を得ることができる。なお、逆多重化装置に入力されるMP4ファイルでは、サンプルにおけるデータの欠落を示す際には、エラー情報(欠落情報)を示すBoxが必ず付加されているものとする。以下では、MPEG−4 AVCのトラックを再生する際の動作について説明するが、再生するトラックはMPEG−4 AVCに限定されるものではなく、H.263やMPEG−4 Visualなどのビデオ符号化データ、あるいはMPEG−4 AACやAMRなどのオーディオ符号化データであってもよいし、ビデオとオーディオのトラックを同時に再生するものであってもよい。
図18は、逆多重化装置の構成を示すブロック図である。本装置は、ヘッダ分離部401、ヘッダメモリ402、mdatメモリ403、サンプル取得部404、エラー情報解析部405、および復号再生部406とから構成され、外部から入力される再生開始時間をトリガとして再生処理を開始する。ファイル先頭から開始する際には、再生開始時間は0秒となり、先頭から10秒の位置から開始する際には、10秒となる。ただし、シンクサンプルから復号・再生を開始する際には、入力された再生開始時間に一致する再生開始時間をもつシンクサンプルが存在しないことがあり、この場合は、入力された再生開始時間より前、あるいは後で最も再生開始時間が近いシンクサンプルから復号・再生を開始する。なお、シンクサンプルではなく、Gradual Decoder Refreshポイントとして示されるサンプルから再生を開始することとしてもよい。
ヘッダ分離部401は、MP4ファイルからmoov、およびmoofを含むヘッダ部と、mdatから成るデータ部を分離し、ヘッダ部のデータをヘッダメモリ402に出力し、mdatのデータをmdatメモリ403に出力する。サンプル取得部404は、外部から入力された再生開始時間に基づいて、復号を開始するシンクサンプルを決定する。以降のサンプルについては、シンクサンプルについてのヘッダ情報を取得する際に、当該シンクサンプルのサンプル番号をエラー情報解析部405に出力する。エラー情報解析部405では、サンプル取得部404から入力されたシンクサンプル番号から開始するシーケンスにおけるエラー情報を、Error Sample Box、Error Free End Sample Box、あるいはError Free Sequence Boxから取得して、解析し、シーケンス内で復号するサンプルを決定した後に、復号すると決定したサンプルの一覧をサンプル取得部404に出力する。また、エラー情報解析部405は、取得した欠落情報を復号表示部406の欠落情報通知部406cに出力する。また、スライスのNALユニット毎の欠落情報が取得できる際には、サンプルにおいて復号するスライスを示す情報を出力してもよい。なお、復号するサンプルの決定をシンクサンプル毎に行わずに、予め決められた個数のサンプル毎に行うこととしてもよい。サンプル取得部404は、moovあるいはmoofを解析して、エラー情報解析部により復号すると決定されたサンプルのデータ、および表示時間を取得して、復号表示部406に出力する。ここで、moovあるいはmoofはヘッダメモリ402から取得し、サンプルのデータは、mdatメモリ403から取得する。なお、復号時間と表示時間とが異なる際には、両者をともに復号表示部406に出力してもよい。
最後に、復号表示部406は、復号部406a、サンプル表示部406b、および欠落情報通知部406cを備えている。復号部406aは、サンプルデータを復号する。サンプル表示部406bは、復号されたサンプルデータを表示時間に従って表示する。欠落情報通知部406cは、欠落情報に基づいて例えばサンプルデータの欠落率(欠落データ/全データ)等の情報をユーザに通知し、MP4ファイルを再生するか否かの問い合わせを行う。また、欠落情報通知部406cは、サンプルデータの欠落率等の情報によりユーザが再生を許可した場合の再生許可信号を受け付けると、サンプル取得部404に再生指示信号を出力する。なお、エラー情報解析部405においては復号するサンプルを決定せずに、データが欠落しているサンプル、あるいはエラーフリー区間の情報などのエラー情報を、復号表示部406に出力し、復号表示部において、入力されたエラー情報、あるいはサンプルデータに挿入されたエラー通知用のNALユニットにより示される情報に基づいて、復号するサンプル、あるいはスライスデータを決定してもよい。このとき、復号サンプルの一覧はサンプル取得部404には出力しない。
次に、上記のように構成された逆多重化装置において、MP4ファイルを再生する際の動作について説明する。図19は、MP4ファイルを再生する際の動作を示すフローチャートである。
欠落情報通知部406cは、エラー情報解析部405によってヘッダ情報(moov)から取得されたMP4ファイルまたはトラック単位の欠落情報をユーザに通知するとともに、ユーザに対してMP4ファイルを再生するか否かの問い合わせを行う(ステップ1001)。次に、問い合わせに対してユーザが再生を指示したか否かを判定する(ステップ1002)。この結果、再生が指示されていれば(ステップ1002でyes)、欠落情報通知部406cは、サンプル取得部404に再生指示信号を出力することで、再生を指示する(ステップ1004)。入力された再生開始時間から再生を開始し、最終サンプルまたはユーザから再生終了が指示されるまでサンプルを復号し、再生する(ステップ1005)。一方、再生が指示されていなければ(ステップ1002でno)、MP4ファイルを再生しない旨をユーザに通知する(ステップ1003)。
次に、ステップ1005において、サンプルを再生する際の手順について説明する。図20は、ステップ1005の動作を示すフローチャートである。まず、ステップ1101において、入力された再生開始時間に基づいて、復号を開始するシンクサンプルを決定する。ステップ1101の処理終了後、ループBの処理を行う。ループBは、ステップ1102からステップ1106までの処理を繰り返すループ処理であり、復号時に新規のシンクサンプルを検出する度に繰り返される。ステップ1102では、Error Sample Box、Error Free End Sample Box、あるいはError Free Sequence Boxから、次シンクサンプルまでの間のサンプルにおいて、データが欠落しているかどうかなどのエラー情報を取得する。ステップ1103では、ステップ1102において取得したエラー情報に基づいて、当該シーケンス内で復号するサンプルを決定し、復号するサンプルのサンプル番号の一覧をテーブルに格納する。ステップ1103の終了後、ループAの処理において、ステップ1103において作成されたテーブルにより、復号すると決定されたサンプルを順に復号し、表示する。ループAは、ステップ1104からステップ1106までの処理から構成され、再生時に復号する最終サンプルの処理が終了するまで繰り返す。ステップ1104では、moovあるいはmoofを解析してサンプルデータ、およびサンプルの表示時間を取得する。ステップ1105では、ステップ1104において取得したサンプルデータを復号し、ステップ1106では、ステップ1104において取得した表示時間に基づいて、ステップ1105で復号されたサンプルデータを表示する。
以下に、ステップ1102において、Error Sample Box、Error Free End Sample Box、およびError Free Sequence Boxの各Boxを参照して、復号するサンプルを決定する際の手順について順に説明する。
まず、Error Sample Boxを参照する際は、データが欠落していることが示されるサンプルは復号しないと決定する。なお、スライスのNALユニット単位でのデータ欠落情報が取得できる際には、サンプル内のスライスNALユニット単位で復号するかどうかを決定してもよい。また、サンプル内のスライスNALユニットを復号する際に参照するスライスNALユニットのデータが欠落しているかどうかが示される際には、参照先のスライスNALユニットのデータが完全に揃っている場合にのみ、当該スライスNALユニットのデータを復号するとしてもよい。例えば、各サンプルを構成するスライスNALユニットの符号化タイプが周期的に変化する際には、周期構造が既知であれば、スライスNALユニットが参照するサンプルのデータを特定することができる。一例として、符合化タイプの周期が15サンプルであり、周期内の各サンプルにおけるスライスNALユニットの符号化タイプが、復号順でIBBPBBPBBPBBPBBであるとする。ここで、Iはイントラスライス、あるいはIDRスライスから構成されるサンプル、Bは双予測のスライスから構成されるサンプル、Pは一方向予測のスライスから構成されるサンプルを示す。このとき、Bサンプルは、復号順で直前にあるBサンプル以外の2つのサンプル、Pサンプルは、復号順で直前にあるBサンプル以外のサンプルを参照すると、Bサンプル、およびPサンプルのスライスデータが参照するサンプルを特定することができる。
次に、Error Free End Sample Boxを参照して復号するサンプルを決定する際には、エラーフリー区間に含まれないサンプルは復号しないと決定する。
最後に、Error Free Sequence Boxを参照して復号するサンプルを決定する際には、連続した2つのシンクサンプル間にデータの欠落したサンプルが含まれる際には、最初のシンクサンプルのみ復号する。
なお、Error Sample Box、Error Free End Sample Box、およびError Free Sequence Boxが2つ以上同時に使用されている際には、使用されているBoxに応じて、復号するサンプルの決定方法を変更することとしてもよい。例えば、Error Sample BoxとError Free End Sample Boxが同時に使用されている際には、エラーフリー区間に含まれないサンプルについても、Error Sample Boxの情報により、正しく復号できるサンプルが示される。このときは、エラーフリー区間外のサンプルを復号することとしてもよい。Error Sample BoxとError Free Sequence Boxが同時に使用されている際も、同様である。
また、本実施の形態では、欠落情報通知部406cは、ユーザに対してMP4ファイルを再生するか否かの問い合わせを行っているが、これに限られるものではない。例えば、欠落情報通知部406cは、ユーザに対してMP4ファイルを再生するか否かの問い合わせを行わずに、単にサンプルデータの欠落率等の情報をユーザに通知するだけであっても構わない。また、欠落情報通知部406cは、例えばサンプルデータの欠落率等の情報を所定の閾値で判定し、条件を満たした場合にサンプル取得部404に再生指示信号を出力するようにしても構わない。さらに、欠落情報通知部406cは、例えばサンプルデータの欠落率等の情報を所定の閾値で判定し、条件を満たさない場合にだけユーザに対してMP4ファイルを再生するか否かの問い合わせを行っても構わない。
なお、本多重化装置は、従来のMP4ファイルも再生できる。
(実施の形態5)
本発明の実施の形態5に係る逆多重化装置について図21を参照して説明する。本逆多重化装置は、実施の形態1から実施の形態3に係る多重化方式変換装置により作成されたMP4ファイルを入力して、AUデータを分離して、復号、表示するものであるが、サンプルデータに挿入されたエラー通知用のNALユニットに示されるエラー情報を参照することにより、復号、あるいは表示動作を決定する。なお、逆多重化装置に入力されるMP4ファイルにおいては、エラー情報を示すBoxは付加されていなくてもよい。以下では、MPEG−4 AVCのトラックを再生する際の動作について説明するが、再生するトラックはMPEG−4 AVCに限定されるものではなく、H.263やMPEG−4 Visualなどのビデオ符号化データ、あるいはMPEG−4 AACやAMRなどのオーディオ符号化データであってもよいし、ビデオとオーディオのトラックを同時に再生するものであってもよい。
本逆多重化装置の構成は、図18に示した実施の形態4の逆多重化装置においてエラー情報解析部405を除いた構成と同一であるため、説明を省略する。図21は、本逆多重化装置の動作を示すフローチャートである。まず、ステップ1101において、入力された再生開始時間に基づいて、復号を開始するシンクサンプルを決定する。ステップ1101の処理終了後、ループAの処理を行う。ループAは、ステップ1102からステップ1005までの処理を繰り返すループ処理であり、再生時に復号する最終サンプルの処理が終了するまで繰り返す。ステップ1102では、復号するサンプルのデータを取得する。以降、ステップ1103からステップ1105までの処理は、復号表示部406における処理となる。ステップ1103では、ステップ1102において取得したサンプルデータにおいて、エラー通知用のNALユニット、あるいはサンプルを特定し、サンプルが正しく復号できないと示される際には、サンプルの復号を行わない。続いて、ステップ1104では、ステップ1103において復号すると決定されたスライスNALユニットのデータを復号し、ステップ1105では、復号されたサンプルデータを表示時間に基づいて表示する。
(実施の形態6)
ここで、上記実施の形態1から実施の形態5で示した多重化方式変換装置、および逆多重化装置を用いたシステムを説明する。
図22は、放送、および通信によるコンテンツ配信サービスを実現するシステムの全体構成を示すブロック図である。まず、放送データを受信するケースについて述べる。携帯電話ex105、あるいはDVDレコーダなどのディスクレコーダex104は、デジタル化された符号化メディアデータが多重化されたTSパケット列を受信する。携帯電話ex105では、受信したTSパケット列を、本発明に係る多重化方式変換装置によってMP4に変換してからSDカードex106に記録する。記録したMP4ファイルは、本発明に係る逆多重化装置を備えた携帯電話ex105、ディスクレコーダex104、あるいは図示しないパーソナルコンピュータなどで視聴することができる。また、MP4ファイルを電子メールに添付して、携帯電話ex105から無線基地局ex107を経由して、本発明に係る逆多重化装置を備えた別の携帯電話ex108に送信し、携帯電話ex108においてMP4ファイルを視聴することもできる。さらに、メール添付ではなく、HTTP(Hyper Text Transport Protocol)およびTCP(Transmission Control Protocol)などのプロトコルを使用して、携帯電話ex105から携帯電話ex108にダウンロード、あるいは擬似ストリーミング配信してもよい。
ディスクレコーダex104においても、受信したTSパケット列を本発明に係る多重化方式変換装置によってMP4に変換し、SDカード、DVDなどの光ディスク、あるいはハードディスクに記録することができる。また、記録したMP4ファイルを、携帯電話や図示しないパーソナルコンピュータに対してダウンロード、あるいは擬似ストリーミング配信してもよい。なお、SDカードにはTSパケット列を記録し、配信時にMP4に変換することとしてもよい。
コンテンツサーバex102からインターネット経由で配信されたTSパケット列を携帯電話ex105、あるいはディスクレコーダex104において受信する際にも、上記放送データを受信した際と同様にMP4ファイルを使用することができる。
(実施の形態7)
上記各実施の形態で示した多重化方式変換装置における多重化方式変換方法、および逆多重化装置における逆多重化方法を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図23は、上記各実施の形態の多重化方式変換装置における多重化方式変換方法、および逆多重化装置における逆多重化方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
図23(b) は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図23(a) は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムが記録されている。
また、図23(c) は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。多重化方式変換装置における多重化方式変換方法、および逆多重化装置における逆多重化方法を実現する上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムをフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記各実施の形態の多重化方式変換装置における多重化方式変換方法、および逆多重化装置における逆多重化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
本発明に係る多重化方式変換装置は、TSにより送信されたMPEG−4 AVCなどの符号化データを、MP4に変換して記録、あるいは送信する機器全般に適用することができ、特にデジタル放送を受信する携帯電話などに有効である。
本発明の実施の形態1に係る多重化方式変換装置の全体構成を示すブロック図である。 本発明の実施の形態1に係る多重化方式変換装置における変換部103の構成を示すブロック図である。 本発明の実施の形態1に係る多重化方式変換装置の動作を示すフローチャートである。 本発明の実施の形態1に係る多重化方式変換装置におけるBoxデータ決定部の構成を示すブロック図である。 本発明の実施の形態1に係る多重化方式変換装置におけるBox作成部205の動作を示すフローチャートである。 本発明の実施の形態1に係る多重化方式変換装置のBox作成部205においてMP4のヘッダ部の作成動作を示すフローチャートである。 本発明の実施の形態1に係る多重化方式変換装置におけるError Sample Boxの作成動作を示すフローチャートである。 本発明の実施の形態1に係る多重化方式変換装置におけるError Sample Boxの作成動作の例である。 本発明の実施の形態1に係る多重化方式変換装置におけるサンプルデータの決定方法を示すフローチャートである。 本発明の実施の形態1に係る多重化方式変換装置において、パケットロスがNALユニットをまたがない場合のサンプルデータ変換例である。 本発明の実施の形態1に係る多重化方式変換装置において、パケットロスがNALユニットをまたぐ場合のサンプルデータ変換例である。 本発明の実施の形態1に係る多重化方式変換装置において、パケットロスがAU境界をまたぐ場合のサンプルデータ変換例である。 本発明の実施の形態2に係る多重化方式変換装置におけるシンクサンプルボックスの作成方法を示すフローチャートである。 本発明の実施の形態2に係る多重化方式変換装置におけるシンクサンプルボックスの作成例である。 本発明の実施の形態3に係る多重化方式変換装置におけるError Free End Sample Boxの作成動作を示すフローチャートである。 本発明の実施の形態3に係る多重化方式変換装置におけるError Free End Sample Boxの作成動作の例である。 本発明の実施の形態3に係る多重化方式変換装置におけるError Free Sequence Boxの作成動作の例である。 本発明の実施の形態4に係る逆多重化装置の構成を示すブロック図である。 本発明の実施の形態4に係る逆多重化装置におけるMP4ファイルを再生する際の動作を示すフローチャートである。 本発明の実施の形態4に係る逆多重化装置の動作を示すフローチャートである。 本発明の実施の形態5に係る逆多重化装置の動作を示すフローチャート図である。 本実施の形態6における多重化方式変換装置の使用例を示す図である。 上記各実施の形態の多重化方式変換装置における多重化方式変換方法、および逆多重化装置における逆多重化方法をコンピュータシステムにより実現するためのプログラムを格納するための記憶媒体についての説明図である。 MPEG−4 AVCにおけるAUのデータ構造を示す図である。 PESパケット、およびTSパケットのデータ構造を示す図である。 MP4のBox構造を示す図である。 MP4におけるmoovの階層構造を示す図である。 MP4におけるmoofの使用方法を示す図である。 従来の多重化方式変換装置の動作を示すフローチャートである。 従来の多重化方式変換装置におけるMP4ファイルの作成動作を示すフローチャートである。
符号の説明
101 データI/O部
102 メモリ
103 変換部
201 TSペイロード分離部
202 パケットロス判定部
203 PES分離解析部
204 AU分離部
205 PESヘッダ解析部
206 Box作成部
207 連結部
301 AU解析部
302 エラー情報生成部
303 AU形式変換部
304 Boxデータ決定部
401 ヘッダ分離部
402 ヘッダメモリ
403 mdatメモリ
404 サンプル取得部
405 エラー情報解析部
406 復号再生部
406a 復号部
406b サンプル表示部
406c 欠落情報通知部

Claims (17)

  1. 第1の方式によりパケット多重化された符号化メディアデータを前記第1の方式と異なる第2の方式によりパケット多重化して出力する多重化方式変換装置であって、
    前記第1の方式によりパケット多重化された符号化メディアデータにおけるパケットロスの有無を判定するパケットロス判定手段と、
    前記パケットロス判定手段でパケットロスが有と判定された場合に、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、データ欠落に関する欠落情報を生成する欠落情報生成手段と、
    前記欠落情報生成手段で生成された欠落情報を前記第2の方式のパケットに格納するとともに、前記符号化メディアデータを前記第2の方式によりパケット多重化する多重化手段と
    を備えることを特徴とする多重化方式変換装置。
  2. 前記多重化方式変換装置は、さらに、
    前記第1の方式によりパケット多重化された符号化メディアデータのパケットからヘッダとペイロードを分離するパケット分離手段
    を備えることを特徴とする請求項1記載の多重化方式変換装置。
  3. 前記パケットロス判定手段は、前記パケット分離手段で分離された前記ヘッダに基づいてパケットロスの有無を判定する
    ことを特徴とする請求項2記載の多重化方式変換装置。
  4. 前記多重化方式変換装置は、さらに、
    前記パケット分離手段で分離された前記ペイロードから前記符号化メディアデータのフレーム境界を検出してフレームを分離するフレーム分離手段を備え、
    前記欠落情報生成手段は、前記パケットロス判定手段でパケットロスが有と判定された場合に、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、データ欠落に関する欠落情報をフレーム単位で生成し、
    前記多重化手段は、前記欠落情報生成手段で生成された前記フレーム単位での欠落情報を前記第2の方式のパケットに格納する
    ことを特徴とする請求項2記載の多重化方式変換装置。
  5. 前記欠落情報生成手段は、復号に必須なデータが欠落していないフレームが復号順で1枚以上連続する区間を示す情報を前記欠落情報として生成する
    ことを特徴とする請求項4記載の多重化方式変換装置。
  6. 前記欠落情報生成手段は、前記区間を示す情報として前記区間の先頭フレームの情報を生成する
    ことを特徴とする請求項5記載の多重化方式変換装置。
  7. 前記欠落情報生成手段は、前記区間を示す情報として前記区間の最終フレームの情報を生成する
    ことを特徴とする請求項5記載の多重化方式変換装置。
  8. 前記多重化方式変換装置は、さらに、
    ランダムアクセス可能であるフレームを登録するためのテーブルを作成する作成手段を備え、
    前記多重化手段は、前記符号化メディアデータのランダムアクセス可能であるフレームを前記テーブルへ登録する際に、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、前記フレームにおいて復号に必須なデータが欠落しているか否かを判定し、前記フレームにおいて復号に必須なデータが欠落していれば、前記フレームをランダムアクセス可能なフレームとして前記テーブルへ登録しない
    ことを特徴とする請求項4記載の多重化方式変換装置。
  9. 前記多重化方式変換装置は、さらに、
    前記符号化メディアデータの格納形式を変換する変換手段
    を備えることを特徴とする請求項4記載の多重化方式変換装置。
  10. 前記フレームが1以上のサブフレーム単位から構成され、
    前記変換手段は、サブフレーム単位の先頭に前記サブフレームのサイズ情報を付加して前記格納形式を変換する際には、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、前記第2の方式のパケットに格納するサブフレームデータ、およびサブフレームデータのサイズを決定する
    ことを特徴とする請求項9記載の多重化方式変換装置。
  11. 前記フレームが1以上のサブフレーム単位から構成され、
    前記変換手段は、前記符号化メディアデータにおけるデータが欠落した位置に、データの欠落を示すサブフレーム単位を挿入した上で、前記符号化メディアデータを前記第2の方式によりパケット多重化する
    ことを特徴とする請求項9記載の多重化方式変換装置。
  12. 前記欠落情報生成手段は、所定単位の復号に必須なデータが欠落しているか否かを示す情報を前記欠落情報として生成する
    ことを特徴とする請求項1記載の多重化方式変換装置。
  13. 符号化メディアデータがパケット多重化された多重化データを復号する逆多重化装置であって、
    前記多重化データからデータ欠落に関する欠落情報を抽出する欠落情報抽出手段と、
    前記欠落情報抽出手段で抽出された前記欠落情報に基づいて前記符号化メディアデータの中で復号するデータを決定する欠落情報解析手段と、
    前記欠落情報解析手段で復号すると決定された前記データを復号する復号手段と
    を備えることを特徴とする逆多重化装置。
  14. 前記逆多重化装置は、さらに、
    前記欠落情報抽出手段で抽出された前記欠落情報に基づいて再生品質をユーザに通知する欠落情報通知手段
    を備えることを特徴とする請求項13記載の逆多重化装置。
  15. 前記欠落情報通知手段は、前記通知に基づくユーザの指示を受け付ける
    ことを特徴とする請求項14記載の逆多重化装置。
  16. 第1の方式によりパケット多重化された符号化メディアデータを前記第1の方式と異なる第2の方式によりパケット多重化して出力する多重化方式変換方法であって、
    前記第1の方式によりパケット多重化された符号化メディアデータにおけるパケットロスの有無を判定するパケットロス判定ステップと、
    前記パケットロス判定ステップにおいてパケットロスが有と判定された場合に、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、データ欠落に関する欠落情報を生成する欠落情報生成ステップと、
    前記欠落情報生成ステップにおいて生成された欠落情報を前記第2の方式のパケットに格納するとともに、前記符号化メディアデータを前記第2の方式によりパケット多重化する多重化ステップと
    を含むことを特徴とする多重化方式変換方法。
  17. 第1の方式によりパケット多重化された符号化メディアデータを前記第1の方式と異なる第2の方式によりパケット多重化して出力するためのプログラムであって、
    前記第1の方式によりパケット多重化された符号化メディアデータにおけるパケットロスの有無を判定するパケットロス判定ステップと、
    前記パケットロス判定ステップにおいてパケットロスが有と判定された場合に、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、データ欠落に関する欠落情報を生成する欠落情報生成ステップと、
    前記欠落情報生成ステップにおいて生成された欠落情報を前記第2の方式のパケットに格納するとともに、前記符号化メディアデータを前記第2の方式によりパケット多重化する多重化ステップとをコンピュータに実行させる
    ことを特徴とするプログラム。
JP2005005731A 2004-01-15 2005-01-12 多重化方式変換装置 Pending JP2005229587A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005005731A JP2005229587A (ja) 2004-01-15 2005-01-12 多重化方式変換装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004007817 2004-01-15
JP2005005731A JP2005229587A (ja) 2004-01-15 2005-01-12 多重化方式変換装置

Publications (2)

Publication Number Publication Date
JP2005229587A true JP2005229587A (ja) 2005-08-25
JP2005229587A5 JP2005229587A5 (ja) 2008-01-17

Family

ID=35003921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005005731A Pending JP2005229587A (ja) 2004-01-15 2005-01-12 多重化方式変換装置

Country Status (1)

Country Link
JP (1) JP2005229587A (ja)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007034634A1 (ja) * 2005-09-20 2007-03-29 Pioneer Corporation デジタル放送受信機
WO2008085013A1 (en) * 2007-01-12 2008-07-17 University-Industry Cooperation Group Of Kyung Hee University Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, qos control algorithm and apparatus for ipv6 label switching using the format
JP2009010934A (ja) * 2007-06-27 2009-01-15 Lianfa Science & Technology Co Ltd ビットストリームの処理方法および装置
JP2009509390A (ja) * 2005-09-19 2009-03-05 エヌエックスピー ビー ヴィ マルチレベルで適応型の消失データを組み入れるモバイルワイヤレスアプリケーションにおける誤り訂正用の装置及び方法
JP2009530881A (ja) * 2006-03-17 2009-08-27 テールズ 追加的なネットワーク抽象化層(nal)を用いるマルチメディア・データの保護方法
JP2009534892A (ja) * 2006-04-18 2009-09-24 フランス テレコム ソシエテ アノニム 音声信号の転送欠陥の通知方法
JP2010539834A (ja) * 2007-09-19 2010-12-16 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン メディアデータコンテナとメタデータコンテナとを有するファイルを格納し読み取るための装置及び方法
JP2012175608A (ja) * 2011-02-24 2012-09-10 Nec Personal Computers Ltd 変換装置、情報配信装置、通信システム、制御方法及びプログラム
WO2014002618A1 (ja) * 2012-06-27 2014-01-03 ソニー株式会社 画像復号装置、画像復号方法、画像符号化装置及び画像符号化方法
JP2015515192A (ja) * 2012-03-16 2015-05-21 アルカテル−ルーセント 保護されていない配信サービスを使用する保護されたコンテンツの配信の有効化
WO2015072127A1 (ja) * 2013-11-15 2015-05-21 パナソニック株式会社 ファイル生成方法およびファイル生成装置
JP2015097386A (ja) * 2013-11-15 2015-05-21 パナソニック株式会社 ファイル生成方法およびファイル生成装置
JP2015133696A (ja) * 2014-01-10 2015-07-23 パナソニックIpマネジメント株式会社 ファイル生成方法、ファイル生成装置および記録媒体
WO2015178112A1 (ja) * 2014-05-19 2015-11-26 ソニー株式会社 情報処理装置、情報生成装置、情報記録媒体、および情報処理方法、並びにプログラム
WO2016031589A1 (ja) * 2014-08-29 2016-03-03 ソニー株式会社 受信装置、及び、受信方法
JP2017034664A (ja) * 2015-08-03 2017-02-09 パナソニックIpマネジメント株式会社 送信方法、受信方法、送信装置及び受信装置。
JP2017073761A (ja) * 2015-10-07 2017-04-13 パナソニックIpマネジメント株式会社 受信装置及び受信方法
WO2017090463A1 (ja) * 2015-11-27 2017-06-01 ソニー株式会社 受信装置および方法、並びに通信システム
JP2018170791A (ja) * 2011-09-29 2018-11-01 サムスン エレクトロニクス カンパニー リミテッド コンテンツの送受信方法及び装置
JP2021508977A (ja) * 2018-05-29 2021-03-11 北京字節跳動網絡技術有限公司Beijing Bytedance Network Technology Co., Ltd. メタデータ容器の解析方法、装置及び記憶媒体
US11095934B2 (en) 2015-10-07 2021-08-17 Panasonic Intellectual Property Management Co., Ltd. Receiving device and receiving method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001148853A (ja) * 1999-03-12 2001-05-29 Toshiba Corp 動画像符号化装置および復号化装置
JP2003319389A (ja) * 2002-04-26 2003-11-07 Matsushita Electric Ind Co Ltd 画像データ復号装置、画像データ構造
JP2004032225A (ja) * 2002-06-25 2004-01-29 Hitachi Ltd 双方向通信システム
JP2004159015A (ja) * 2002-11-05 2004-06-03 Matsushita Electric Ind Co Ltd データ多重化方法、データ逆多重化方法
JP2004297710A (ja) * 2003-03-28 2004-10-21 Sony Corp 信号処理装置および方法、記録媒体、並びにプログラム
JP2005123907A (ja) * 2003-10-16 2005-05-12 Matsushita Electric Ind Co Ltd データ再構成装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001148853A (ja) * 1999-03-12 2001-05-29 Toshiba Corp 動画像符号化装置および復号化装置
JP2003319389A (ja) * 2002-04-26 2003-11-07 Matsushita Electric Ind Co Ltd 画像データ復号装置、画像データ構造
JP2004032225A (ja) * 2002-06-25 2004-01-29 Hitachi Ltd 双方向通信システム
JP2004159015A (ja) * 2002-11-05 2004-06-03 Matsushita Electric Ind Co Ltd データ多重化方法、データ逆多重化方法
JP2004297710A (ja) * 2003-03-28 2004-10-21 Sony Corp 信号処理装置および方法、記録媒体、並びにプログラム
JP2005123907A (ja) * 2003-10-16 2005-05-12 Matsushita Electric Ind Co Ltd データ再構成装置

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009509390A (ja) * 2005-09-19 2009-03-05 エヌエックスピー ビー ヴィ マルチレベルで適応型の消失データを組み入れるモバイルワイヤレスアプリケーションにおける誤り訂正用の装置及び方法
WO2007034634A1 (ja) * 2005-09-20 2007-03-29 Pioneer Corporation デジタル放送受信機
JPWO2007034634A1 (ja) * 2005-09-20 2009-03-19 パイオニア株式会社 デジタル放送受信機
JP2009530881A (ja) * 2006-03-17 2009-08-27 テールズ 追加的なネットワーク抽象化層(nal)を用いるマルチメディア・データの保護方法
JP2009534892A (ja) * 2006-04-18 2009-09-24 フランス テレコム ソシエテ アノニム 音声信号の転送欠陥の通知方法
WO2008085013A1 (en) * 2007-01-12 2008-07-17 University-Industry Cooperation Group Of Kyung Hee University Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, qos control algorithm and apparatus for ipv6 label switching using the format
US9853893B2 (en) 2007-01-12 2017-12-26 University-Industry Cooperation Group of Kyung Hee University Kyunghee Univ. (Suwon Campus) Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, QoS control algorithm and apparatus for IPv6 label switching using the format
US10728148B2 (en) 2007-01-12 2020-07-28 University-Industry Cooperation Group of Kyung Hee University Kyunghee Univ. (Suwon Campus) Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, QoS control algorithm and apparatus for IPv6 label switching using the format
US11848864B2 (en) 2007-01-12 2023-12-19 University-Industry Cooperation Group Of Kyung Hee University Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, QOS control algorithm and apparatus for IPv6 label switching using the format
US11374861B2 (en) 2007-01-12 2022-06-28 University-Industry Cooperation Group Of Kyung Hee University Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, QOS control algorithm and apparatus for IPv6 label
US9344362B2 (en) 2007-01-12 2016-05-17 University-Industry Cooperation Group Of Kyung Hee University Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, QOS control algorithm and apparatus for IPV6 label switching using the format
US11743185B2 (en) 2007-01-12 2023-08-29 University-Industry Cooperation Group Of Kyung Hee University Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, QOS control algorithm and apparatus for IPV6 label switching using the format
JP2009010934A (ja) * 2007-06-27 2009-01-15 Lianfa Science & Technology Co Ltd ビットストリームの処理方法および装置
JP2010539834A (ja) * 2007-09-19 2010-12-16 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン メディアデータコンテナとメタデータコンテナとを有するファイルを格納し読み取るための装置及び方法
US8849778B2 (en) 2007-09-19 2014-09-30 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for storing and reading a file having a media data container and a metadata container
JP2012175608A (ja) * 2011-02-24 2012-09-10 Nec Personal Computers Ltd 変換装置、情報配信装置、通信システム、制御方法及びプログラム
US11082479B2 (en) 2011-09-29 2021-08-03 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving content
US11647071B2 (en) 2011-09-29 2023-05-09 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving content
JP2018170791A (ja) * 2011-09-29 2018-11-01 サムスン エレクトロニクス カンパニー リミテッド コンテンツの送受信方法及び装置
US10659519B2 (en) 2011-09-29 2020-05-19 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving content
JP2015515192A (ja) * 2012-03-16 2015-05-21 アルカテル−ルーセント 保護されていない配信サービスを使用する保護されたコンテンツの配信の有効化
US9948695B2 (en) 2012-03-16 2018-04-17 Alcatel Lucent Enabling delivery of protected content using unprotected delivery services
WO2014002618A1 (ja) * 2012-06-27 2014-01-03 ソニー株式会社 画像復号装置、画像復号方法、画像符号化装置及び画像符号化方法
WO2015072127A1 (ja) * 2013-11-15 2015-05-21 パナソニック株式会社 ファイル生成方法およびファイル生成装置
CN105210365A (zh) * 2013-11-15 2015-12-30 松下电器产业株式会社 文件生成方法以及文件生成装置
JP2015097386A (ja) * 2013-11-15 2015-05-21 パナソニック株式会社 ファイル生成方法およびファイル生成装置
EP3094083A4 (en) * 2014-01-10 2016-11-16 Panasonic Ip Man Co Ltd FILE POSITIONING METHOD, FILE POSITIONING DEVICE AND RECORDING MEDIUM
JP2015133696A (ja) * 2014-01-10 2015-07-23 パナソニックIpマネジメント株式会社 ファイル生成方法、ファイル生成装置および記録媒体
JPWO2015178112A1 (ja) * 2014-05-19 2017-04-20 ソニー株式会社 情報処理装置、情報生成装置、情報記録媒体、および情報処理方法、並びにプログラム
US10535369B2 (en) 2014-05-19 2020-01-14 Sony Corporation Information processing device, information generation device, information recording medium, information processing method, and program
WO2015178112A1 (ja) * 2014-05-19 2015-11-26 ソニー株式会社 情報処理装置、情報生成装置、情報記録媒体、および情報処理方法、並びにプログラム
WO2016031589A1 (ja) * 2014-08-29 2016-03-03 ソニー株式会社 受信装置、及び、受信方法
JPWO2016031589A1 (ja) * 2014-08-29 2017-06-29 ソニー株式会社 受信装置、及び、受信方法
JP2017034664A (ja) * 2015-08-03 2017-02-09 パナソニックIpマネジメント株式会社 送信方法、受信方法、送信装置及び受信装置。
US11095934B2 (en) 2015-10-07 2021-08-17 Panasonic Intellectual Property Management Co., Ltd. Receiving device and receiving method
JP2022016499A (ja) * 2015-10-07 2022-01-21 パナソニックIpマネジメント株式会社 受信装置及び受信方法
JP2017073761A (ja) * 2015-10-07 2017-04-13 パナソニックIpマネジメント株式会社 受信装置及び受信方法
JP7209234B2 (ja) 2015-10-07 2023-01-20 パナソニックIpマネジメント株式会社 受信装置及び受信方法
JP7429895B2 (ja) 2015-10-07 2024-02-09 パナソニックIpマネジメント株式会社 受信装置
WO2017090463A1 (ja) * 2015-11-27 2017-06-01 ソニー株式会社 受信装置および方法、並びに通信システム
JPWO2017090463A1 (ja) * 2015-11-27 2018-09-27 ソニー株式会社 受信装置および方法、並びに通信システム
US10631043B2 (en) 2015-11-27 2020-04-21 Sony Corporation Receiving device and method, and communicating system
JP7174762B2 (ja) 2018-05-29 2022-11-17 北京字節跳動網絡技術有限公司 メタデータ容器の解析方法、装置及び記憶媒体
JP2021508977A (ja) * 2018-05-29 2021-03-11 北京字節跳動網絡技術有限公司Beijing Bytedance Network Technology Co., Ltd. メタデータ容器の解析方法、装置及び記憶媒体

Similar Documents

Publication Publication Date Title
KR101073777B1 (ko) 다중화 방식 변환 장치
JP2005229587A (ja) 多重化方式変換装置
CN111656796B (zh) 动态条件性广告***
KR101549760B1 (ko) 비디오 데이터를 스트리밍하기 위한 랜덤 액세스 포인트의 시그널링
JP4071811B2 (ja) 動画像ストリーム生成装置、動画像ストリーム生成方法、動画像復号化装置、動画像復号化方法、記録方法および動画像復号化システム
JP4541962B2 (ja) 多重化装置、再生装置
US20050193138A1 (en) Storage medium storing multimedia data, and method and apparatus for reproducing the multimedia data
KR101421390B1 (ko) 트릭 모드 비디오 표현물에 대한 비디오 샘플의 시그널링
US7558296B2 (en) Multiplexer and demultiplexer
US20070165676A1 (en) Information processing device, information processing method, program, and data structure
JP2005123907A (ja) データ再構成装置
JP2004282703A (ja) データ処理装置
JP2006238003A (ja) 逆多重化装置
CN115244943A (zh) 确定数据组块的可用性以用于网络流式传输媒体数据
JP3792770B2 (ja) 記録再生装置
JP4114868B2 (ja) 多重化装置および多重化方法
JP2004312713A (ja) データ送信装置
WO2023133365A1 (en) Dynamic resolution change hints for adaptive streaming
WO2004043065A1 (ja) データ処理装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071121

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110628