(57)【特許請求の範囲】
【請求項１】
ISO/IEC 14496-1:1999に準拠した複数のエレメンタリーストリームのそれぞれから複数のＳＬ（Synchronization Layer）パケットを生成するＳＬパケット生成手段と、
前記ＳＬパケットと、前記ＳＬパケットが属するエレメンタリーストリームを識別するための識別情報とを含む複合パケットを生成する複合パケット生成手段と、
複数の前記複合パケットを含む一つのデータストリームを生成するデータストリーム生成手段と、
ＵＳＢ２．０で規定されたアイソクロナス転送を用いて前記データストリームを外部装置に送信する送信手段とを有し、
前記複合パケット生成手段は、前記複合パケットのヘッダに、前記識別情報を付加することを特徴とするデータストリーム送信装置。
【請求項２】
ISO/IEC 14496-1:1999に準拠した複数のエレメンタリーストリームのそれぞれから複数のＳＬ（Synchronization Layer）パケットを生成するＳＬパケット生成手段と、
前記ＳＬパケットと、前記ＳＬパケットが属するエレメンタリーストリームを識別するための識別情報とを含む複合パケットを生成する複合パケット生成手段と、
複数の前記複合パケットを含む一つのデータストリームを生成するデータストリーム生成手段と、
ＵＳＢ２．０で規定されたバルク転送を用いて前記データストリームを外部装置に送信する送信手段とを有し、
前記複合パケット生成手段は、前記複合パケットのヘッダに、前記識別情報を付加することを特徴とするデータストリーム送信装置。
【請求項３】
外部装置からＵＳＢ２．０で規定されたアイソクロナス転送を用いて送信された一つのデータストリームを受信する受信手段と、
ＳＬ（Synchronization Layer）パケットと、前記ＳＬパケットが属するエレメンタリーストリームを識別するための識別情報とを含む複合パケットを、前記データストリームから分離する複合パケット分離手段と、
複数の前記複合パケットのヘッダから取得された複数の前記識別情報に従って、複数の前記複合パケットに含まれる複数の前記ＳＬパケットからISO/IEC 14496-1:1999に準拠した複数のエレメンタリーストリームを復元する復元手段とを有することを特徴とするデータストリーム受信装置。
【請求項４】
外部装置からＵＳＢ２．０で規定されたバルク転送を用いて送信された一つのデータストリームを受信する受信手段と、
ＳＬ（Synchronization Layer）パケットと、前記ＳＬパケットが属するエレメンタリーストリームを識別するための識別情報とを含む複合パケットを、前記データストリームから分離する複合パケット分離手段と、
複数の前記複合パケットのヘッダから取得された複数の前記識別情報に従って、複数の前記複合パケットに含まれる複数の前記ＳＬパケットからISO/IEC 14496-1:1999に準拠した複数のエレメンタリーストリームを復元する復元手段とを有することを特徴とするデータストリーム受信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ISO/IEC 14496-1:1999に準拠した複数のエレメンタリーストリームを扱うデータストリーム送信装置及びデータストリーム受信装置に関する。
【０００２】
【従来の技術】
近年、ホスト（パーソナルコンピュータなど）と周辺機器（デジタルビデオカメラなどの映像処理装置を含む）との間を接続する通信システムの一つとしてＵＳＢ２．０（非特許文献１参照）が知られている。
【０００３】
また、近年、ビジュアルオブジェクト及びオーディオオブジェクトの符号化方式の一つとしてＭＰＥＧ−４と呼ばれる符号化方式が注目されている（非特許文献２〜４参照）。
【０００４】
【非特許文献１】
Universal Serial Bus Specification Revision 2.0, April 27, 2000
【非特許文献２】
ISO/IEC 14496-1:1999, Information technology -- Coding of audio-visual
objects -- Part 1: Systems
【非特許文献３】
ISO/IEC 14496-2:1999, Information technology -- Coding of audio-visual
objects -- Part2: Visual
【非特許文献４】
ISO/IEC 14496-3:1999, Information technology -- Coding of audio-visual
objects -- Part3: Audio
【０００５】
【発明が解決しようとする課題】
しかしながら、従来の映像処理装置（特にデジタルビデオカメラ）には、ISO/IEC 14496-1:1999に準拠した一つ又は複数のエレメンタリーストリームをＵＳＢ２．０のアイソクロナス転送（Isochronous Transfer）又はバルク転送（Bulk Transfer）を用いて他の装置（ホストなど）に送信できるようにしたものはなかった。さらに、従来の映像処理装置には、ISO/IEC 14496-1:1999に準拠した一つ又は複数のエレメンタリーストリームをＵＳＢ２．０のアイソクロナス転送又はバルク転送を用いて他の装置（ホストなど）から受信できるようにしたものもなかった。
【０００６】
本発明は、このような課題を解決しようとするものであり、ISO/IEC 14496-1:1999に準拠した複数のエレメンタリーストリームをＵＳＢ２．０のアイソクロナス転送又はバルク転送を用いて他の装置（ホストなど）に送信することができるようにすることを目的とする。
【０００７】
また、本発明は、ISO/IEC 14496-1:1999に準拠した複数のエレメンタリーストリームをＵＳＢ２．０のアイソクロナス転送又はバルク転送を用いて他の装置（ホストなど）から受信することができるようにすることを目的とする。
【０００８】
【課題を解決するための手段】
本発明に係るデータストリーム送信装置の一つは、ISO/IEC 14496-1:1999に準拠した複数のエレメンタリーストリームのそれぞれから複数のＳＬ（Synchronization Layer）パケットを生成するＳＬパケット生成手段と、前記ＳＬパケットと、前記ＳＬパケットが属するエレメンタリーストリームを識別するための識別情報とを含む複合パケットを生成する複合パケット生成手段と、複数の前記複合パケットを含む一つのデータストリームを生成するデータストリーム生成手段と、ＵＳＢ２．０で規定されたアイソクロナス転送を用いて前記データストリームを外部装置に送信する送信手段とを有し、前記複合パケット生成手段は、前記複合パケットのヘッダに、前記識別情報を付加することを特徴とする。
【００１０】
本発明に係るデータストリーム送信装置の一つは、ISO/IEC 14496-1:1999に準拠した複数のエレメンタリーストリームのそれぞれから複数のＳＬ（Synchronization Layer）パケットを生成するＳＬパケット生成手段と、前記ＳＬパケットと、前記ＳＬパケットが属するエレメンタリーストリームを識別するための識別情報とを含む複合パケットを生成する複合パケット生成手段と、複数の前記複合パケットを含む一つのデータストリームを生成するデータストリーム生成手段と、ＵＳＢ２．０で規定されたバルク転送を用いて前記データストリームを外部装置に送信する送信手段とを有し、前記複合パケット生成手段は、前記複合パケットのヘッダに、前記識別情報を付加することを特徴とする。
【００１２】
本発明に係るデータストリーム受信装置の一つは、例えば、外部装置からＵＳＢ２．０で規定されたアイソクロナス転送を用いて送信された一つのデータストリームを受信する受信手段と、ＳＬ（Synchronization Layer）パケットと、前記ＳＬパケットが属するエレメンタリーストリームを識別するための識別情報とを含む複合パケットを、前記データストリームから分離する複合パケット分離手段と、複数の前記複合パケットのヘッダから取得された複数の前記識別情報に従って、複数の前記複合パケットに含まれる複数の前記ＳＬパケットからISO/IEC 14496-1:1999に準拠した複数のエレメンタリーストリームを復元する復元手段とを有することを特徴とする。
【００１４】
本発明に係るデータストリーム受信装置の一つは、例えば、外部装置からＵＳＢ２．０で規定されたバルク転送を用いて送信された一つのデータストリームを受信する受信手段と、ＳＬ（Synchronization Layer）パケットと、前記ＳＬパケットが属するエレメンタリーストリームを識別するための識別情報とを含む複合パケットを、前記データストリームから分離する複合パケット分離手段と、複数の前記複合パケットのヘッダから取得された複数の前記識別情報に従って、複数の前記複合パケットに含まれる複数の前記ＳＬパケットからISO/IEC 14496-1:1999に準拠した複数のエレメンタリーストリームを復元する復元手段とを有することを特徴とする。
【００１６】
【発明の実施の形態】
以下、図面を参照し、本発明に好適な実施の形態を説明する。
［第１の実施の形態］
まず、図１を参照し、第１の実施の形態における通信システムの主要な構成要素を説明する。映像処理装置１０及びホスト２０は、ISO/IEC 14496-1:1999に準拠した一つ又は複数のエレメンタリーストリームを扱うことができる装置である。例えば、ISO/IEC 14496-2:1999に準拠したビジュアルオブジェクト、ISO/IEC 14496-3:1999に準拠したオーディオオブジェクト及びISO/IEC 14496-1:1999に準拠したシーンディスクリプション（scene description）のエレメンタリーストリームを扱うことができる装置である。映像処理装置１０は、例えばデジタルビデオカメラであり、ホスト２０は、例えばパーソナルコンピュータである。
【００１７】
また、映像処理装置１０及びホスト２０は、ＵＳＢ２．０（非特許文献１参照）に準拠したデジタルインターフェース部を用いて互いに通信可能である。映像処理装置１０は、ＵＳＢ２．０で定義されたデバイスの機能を有する装置であり、ホスト２０は、ＵＳＢ２．０で定義されたホストの機能を有する装置である。
【００１８】
映像処理装置１０は、ISO/IEC 14496-1:1999に準拠した一つ又は複数のエレメンタリーストリームをＭＰＥＧ−４ＳＬストリーム（単一のデータストリームであって、第１の実施の形態で独自に定義したデータストリームである）に変換する機能と、そのＭＰＥＧ−４ＳＬストリームをＵＳＢ２．０のアイソクロナス転送（Isochronous Transfer）又はバルク転送（Bulk Transfer）を用いてホスト２０に送信する機能を有する。映像処理装置１０はさらに、ホスト２０からＵＳＢ２．０のアイソクロナス転送又はバルク転送を用いて送信されたＭＰＥＧ−４ＳＬストリームを受信する機能と、受信したＭＰＥＧ−４ＳＬストリームから一つ又は複数のエレメンタリーストリームを復元する機能とを有する装置である。ホスト２０も、映像処理装置１０と同様に、これらの機能を有する装置である。
【００１９】
次に、図２を参照し、映像処理装置１０及びホスト２０が備える構成要素を説明する。ＳＬパケット処理部２０１−１〜Ｎのそれぞれは、エレメンタリーストリーム１〜Ｎのそれぞれから複数のＳＬ（Synchronization Layer）パケットを生成する処理と、その逆の処理を行う。Ｍｕｘパケット処理部２０２は、各ＳＬパケットから一つのＭｕｘパケットを生成する処理と、その逆の処理を行う。ＭＰＥＧ−４ＳＬストリーム処理部２０３は、複数のＭｕｘパケットを多重化して一つのＭＰＥＧ−４ＳＬストリームを生成する処理と、その逆の処理を行う。また、ＭＰＥＧ−４ＳＬストリーム処理部２０３は、後述するストリームヘッダの生成及び解析を行う。デジタルインターフェース部２０４は、ＵＳＢ２．０に準拠するものであり、図６〜図９に示す手順に従ってＭＰＥＧ−４ＳＬストリームの送信又は受信を行う。
【００２０】
次に、図３を参照し、ISO/IEC 14496-1:1999に準拠した一つ又は複数のエレメンタリーストリームを一つのＭＰＥＧ−４ＳＬストリームに変換する機能の処理手順を説明する。
【００２１】
ステップＳ３０１：ＳＬパケット処理部２０１−１〜Ｎのそれぞれは、エレメンタリーストリーム１〜Ｎのそれぞれから複数のＳＬ（Synchronization Layer）パケットを生成し、生成した複数のＳＬパケットをＭｕｘパケット処理部２０２に供給する。ＳＬパケットの構成は、ISO/IEC 14496-1:1999に定義されているのでその詳細な説明を省略する。
【００２２】
ステップＳ３０２：Ｍｕｘパケット処理部２０２は、各ＳＬパケットから一つのＭｕｘパケットを生成し、生成したＭｕｘパケットをＭＰＥＧ−４ＳＬストリーム処理部２０３に供給する。Ｍｕｘパケットは、ISO/IEC 14496-1:1999が定義するFlexＭｕｘパケットとは異なるパケットであり、第１の実施の形態で独自に定義したパケットである。Ｍｕｘパケットの構成については、後で説明する（図５参照）。
【００２３】
ステップＳ３０３：ＭＰＥＧ−４ＳＬストリーム処理部２０３は、複数のＭｕｘパケットを多重化して一つのＭＰＥＧ−４ＳＬストリームを生成する。
【００２４】
このように、映像処理装置１０及びホスト２０は、ISO/IEC 14496-1:1999に準拠した一つ又は複数のエレメンタリーストリームから単一のデータストリームであるＭＰＥＧ−４ＳＬストリームに変換することができる。言い換えれば、ISO/IEC 14496-1:1999に準拠した一つ又は複数のエレメンタリーストリームを単一のデータストリームであるＭＰＥＧ−４ＳＬストリームに多重化することができる。また、映像処理装置１０及びホスト２０は、一つ又は複数のエレメンタリーストリームを一つのＭＰＥＧ−４ＳＬストリームに変換することができるので、一つ又は複数のエレメンタリーストリームを一つのエンドポイント（アイソクロナスエンドポイント又はバルクエンドポイント）から出力することも可能になる。
【００２５】
次に、図４を参照し、一つのＭＰＥＧ−４ＳＬストリームをISO/IEC 14496-1:1999に準拠した一つ又は複数のエレメンタリーストリームに復元する機能の処理手順を説明する。
【００２６】
ステップＳ４０１：ＭＰＥＧ−４ＳＬストリーム処理部２０４は、一つのＭＰＥＧ−４ＳＬストリームを複数のＭｕｘパケットに分離し、各ＭｕｘパケットをＭｕｘ処理部２０３に供給する。
【００２７】
ステップＳ４０２：Ｍｕｘ処理部２０３は、各ＭｕｘパケットからＥＳ_ＩＤ及びＳＬパケットを取り出し、ＥＳ_ＩＤを用いてＳＬパケットの属するエレメンタリーストリームを識別する。そして、Ｍｕｘ処理部２０３は、各ＳＬパケットをＳＬパケット処理部２０１−１〜Ｎの何れか一つに供給する。ＥＳ_ＩＤについては、後で説明する（図５参照）。
【００２８】
ステップＳ４０３：ＳＬパケット処理部２０１−１〜Ｎは、ＭＰＥＧ−４ＳＬストリーム処理部２０２から得られた複数のＳＬパケットからエレメンタリーストリーム１〜Ｎを復元する。
【００２９】
このように、映像処理装置１０及びホスト２０は、一つのＭＰＥＧ−４ＳＬストリームから一つ又は複数のエレメンタリーストリームを復元することができる。また、映像処理装置１０及びホスト２０は、一つのＭＰＥＧ−４ＳＬストリームから一つ又は複数のエレメンタリーストリームを復元することができるので、一つ又は複数のエレメンタリーストリームを一つのエンドポイント（アイソクロナスエンドポイント又はバルクエンドポイント）から入力することも可能になる。
【００３０】
次に、図５を参照し、上述のＭｕｘパケットの構成を説明する。図５において、ＭｕｘＨは、Ｍｕｘパケットのヘッダであり、ＭｕｘＰは、Ｍｕｘパケットのペイロードである。ＭｕｘＨは、ＥＳ_ＩＤ（Elementary Stream Identifier）などの付属情報を含む。ＥＳ_ＩＤは、Ｍｕｘパケット内のＳＬパケットの属するエレメンタリーストリームを識別するための識別子であり、ISO/IEC 14496-1:1999で定義されたＥＳ_ＩＤと同じものである。ＳＬＨは、ＳＬパケットのヘッダであり、ＳＬＰは、ＳＬパケットのペイロードである。第１の実施の形態では、一つのＳＬパケットのみから一つのＭｕｘパケットを生成するようにする。また、第１の実施の形態では、ＭＰＥＧ−４ＳＬストリームを一つのエレメンタリーストリームから生成する場合であっても、ＥＳ_ＩＤを省略しないようにする。このように、各ＭｕｘパケットにＥＳ_ＩＤを含めることにより、複数のエレメンタリーストリームから得られたＳＬパケットの多重化及び復元が可能になる。
【００３１】
次に、図６を参照し、上述のＭＰＥＧ−４ＳＬストリームをＵＳＢ２．０のアイソクロナスＩＮトランザクション（Isochronous IN Transaction）を用いて転送する手順の一例を説明する。アイソクロナスＩＮトランザクションを使用する場合、ＭＰＥＧ−４ＳＬストリームの送信される方向は、映像処理装置１０からホスト２０に向かう方向である。図６では、ＵＳＢ２．０のハイスピード（High-speed）を使用する形態を説明する。
【００３２】
図６において、ＩＮトークン（IN token）は、ＤＡＴＡ２、ＤＡＴＡ１又はＤＡＴＡ０を映像処理装置１０からホスト２０に送信することを要求するパケットである。ＤＡＴＡ２、ＤＡＴＡ１及びＤＡＴＡ０は、映像処理装置１０からホスト２０にアイソクロナス転送されるデータパケットである。ＳＨ（ストリームヘッダ）は、マイクロフレーム（１２５マイクロ秒）ごとに送信されるヘッダであり、ペイロード＃１〜＃Ｎ（Ｎは２以上の整数）は、１つのＭｕｘパケットから得られたデータである。
【００３３】
図６に示す手順をＭｕｘパケットごとに繰り返すことにより、映像処理装置１０はホスト２０にＭＰＥＧ−４ＳＬストリームを送信することができる。
【００３４】
このように、第１の実施の形態における通信システムによれば、上述のＭＰＥＧ−４ＳＬストリームをＵＳＢ２．０のアイソクロナスＩＮトランザクションを用いて送信することができる。言い換えれば、ISO/IEC 14496-1:1999に準拠した一つ又は複数のエレメンタリーストリームをＵＳＢ２．０のアイソクロナス転送を用いて映像処理装置１０からホスト２０に送信することができる。
【００３５】
次に、図７を参照し、上述のＭＰＥＧ−４ＳＬストリームをＵＳＢ２．０のアイソクロナスＯＵＴトランザクション（Isochronous OUT Transaction）を用いて転送する手順の一例を説明する。アイソクロナスＯＵＴトランザクションを使用する場合、ＭＰＥＧ−４ＳＬストリームの送信される方向は、ホスト２０から映像処理装置１０に向かう方向である。図７では、ＵＳＢ２．０のハイスピード（High-speed）を使用する形態を説明する。
【００３６】
図７において、ＯＵＴトークン（OUT token）は、ＭＤＡＴＡ２、ＤＡＴＡ２又はＤＡＴＡ１をホスト２０から映像処理装置１０に送信することを要求するパケットである。ＭＤＡＴＡ２、ＤＡＴＡ２及びＤＡＴＡ１は、ホスト２０から映像処理装置１０にアイソクロナス転送されるデータパケットである。ＳＨ（ストリームヘッダ）は、マイクロフレーム（１２５マイクロ秒）ごとに送信されるヘッダであり、ペイロード＃１〜＃Ｎ（Ｎは２以上の整数）は、１つのＭｕｘパケットから得られたデータである。
【００３７】
図７に示す手順をＭｕｘパケットごとに繰り返すことにより、ホスト２０は映像処理装置１０にＭＰＥＧ−４ＳＬストリームを送信することができる。
【００３８】
このように、第１の実施の形態における通信システムによれば、上述のＭＰＥＧ−４ＳＬストリームをＵＳＢ２．０のアイソクロナスＯＵＴトランザクションを用いて送信することができる。言い換えれば、ISO/IEC 14496-1:1999に準拠した一つ又は複数のエレメンタリーストリームをＵＳＢ２．０のアイソクロナス転送を用いてホスト２０から映像処理装置１０に送信することができる。
【００３９】
次に、図８を参照し、上述のＭＰＥＧ−４ＳＬストリームをＵＳＢ２．０のバルクＩＮトランザクション（Bulk IN Transaction）を用いて転送する手順の一例を説明する。バルクＩＮトランザクションを使用する場合、ＭＰＥＧ−４ＳＬストリームの送信される方向は、映像処理装置１０からホスト２０に向かう方向である。図８では、ＵＳＢ２．０のハイスピード（High-speed）を使用する形態を説明する。
【００４０】
図８において、ＩＮトークン（IN token）は、ＤＡＴＡ０又はＤＡＴＡ１を映像処理装置１０からホスト２０に送信することを要求するパケットである。ＤＡＴＡ０及びＤＡＴＡ１は、映像処理装置１０からホスト２０にバルク転送されるデータパケットである。ＳＨ（ストリームヘッダ）は、マイクロフレーム（１２５マイクロ秒）ごとに送信されるヘッダであり、ペイロード＃１〜＃Ｎ（Ｎは２以上の整数、Ｎ＞Ｍ）は、１つのＭｕｘパケットから得られたデータである。
【００４１】
図８に示す手順をＭｕｘパケットごとに繰り返すことにより、映像処理装置１０はホスト２０にＭＰＥＧ−４ＳＬストリームを送信することができる。
【００４２】
このように、第１の実施の形態における通信システムによれば、上述のＭＰＥＧ−４ＳＬストリームをＵＳＢ２．０のバルクＩＮトランザクションを用いて送信することができる。言い換えれば、ISO/IEC 14496-1:1999に準拠した一つ又は複数のエレメンタリーストリームをＵＳＢ２．０のバルク転送を用いて映像処理装置１０からホスト２０に送信することができる。
【００４３】
次に、図９を参照し、上述のＭＰＥＧ−４ＳＬストリームをＵＳＢ２．０のバルクＯＵＴトランザクション（Bulk OUT Transaction）を用いて転送する手順の一例を説明する。アイソクロナスＯＵＴトランザクションを使用する場合、ＭＰＥＧ−４ＳＬストリームの送信される方向は、ホスト２０から映像処理装置１０に向かう方向である。図９では、ＵＳＢ２．０のハイスピード（High-speed）を使用する形態を説明する。
【００４４】
図９において、ＯＵＴトークン（OUT token）は、ＤＡＴＡ０及びＤＡＴＡ１をホスト２０から映像処理装置１０に送信することを要求するパケットである。ＤＡＴＡ０及びＤＡＴＡ１は、ホスト２０から映像処理装置１０にアイソクロナス送信されるデータパケットである。ＳＨ（ストリームヘッダ）は、マイクロフレーム（１２５マイクロ秒）ごとに転送されるヘッダであり、ペイロード＃１〜＃Ｎ（Ｎは２以上の整数、Ｎ＞Ｍ）は、１つのＭｕｘパケットから得られたデータである。
【００４５】
図９に示す手順をＭｕｘパケットごとに繰り返すことにより、ホスト２０は映像処理装置１０にＭＰＥＧ−４ＳＬストリームを送信することができる。
【００４６】
このように、第１の実施の形態における通信システムによれば、上述のＭＰＥＧ−４ＳＬストリームをＵＳＢ２．０のバルクＯＵＴトランザクションを用いて送信することができる。言い換えれば、ISO/IEC 14496-1:1999に準拠した一つ又は複数のエレメンタリーストリームをＵＳＢ２．０のバルク転送を用いてホスト２０から映像処理装置１０に送信することができる。
【００４７】
次に、図１０を参照し、上述のストリームヘッダの構成の一例を説明する。ストリームヘッダは、図６〜図９に示すように、１マイクロフレーム（１２５マイクロ秒）ごとに送信されるヘッダである。映像処理装置１０からホスト２０にＭＰＥＧ−４ＳＬストリームを送信する場合、映像処理装置１０がストリームヘッダを生成する。また、ホスト２０から映像処理装置１０にＭＰＥＧ−４ＳＬストリームを送信する場合、ホスト２０がストリームヘッダを生成する。
【００４８】
図１０において、bHeader Lengthフィールド（１バイト）は、ストリームヘッダのデータ長（２バイト）を示す値を格納するフィールドである。bmHeaderInfoフィールド（可変長であるが、第１の実施の形態では１バイトとする）は、FID(Frame ID)、EOF(End of Frame)、PTS(Presentation Time Stamp)、SCR(Source Clock Reference)、RES(Reserved)、STI(Still Image)、ERR(Error bit)及びEOH(End of Header)フィールドから構成される。なお、bmHeaderInfoフィールド内の各フィールドのデータ長は１ビットである。
【００４９】
ストリームヘッダの後に送信されるペイロードが新しいＭｕｘパケットに切り替わるごとにFIDフィールドには０又は１を格納する。また、映像処理装置１０又はホスト２０は、ストリームヘッダの後に送信されるペイロードがＭｕｘパケットの最後の部分を含んでいる場合、EOFフィールドには１を格納し、それ以外の場合、EOFフィールドには０を格納する。ホスト２０及び映像処理装置１０は、FIDフィールド及びEOFフィールドの内容を調べることにより、Ｍｕｘパケットの切り替わりを検出することができる。
【００５０】
PTSフィールドはプレゼンテーションタイムスタンプを格納するフィールドであり、SCRフィールドはソースクロックリファレンスを格納するフィールドであるが、第１の実施の形態ではこれらのフィールドを使用しないのでこれらのフィールドには０を格納する。RESフィールドは将来の使用のために予約されているフィールドであるので、RESフィールドには０を格納する。
【００５１】
ストリームヘッダの後に送信されるペイロードが静止画を含む場合、STIフィールドには１を格納し、それ以外の場合、STIフィールドには０を格納する。ストリームヘッダの後に送信されるペイロードに何らかのエラーが生じている場合、ERRフィールドには１を格納し、それ以外の場合、ERRフィールドには０を格納する。EOHフィールドには、ストリームヘッダの終わりを示す値（１）を格納する。
【００５２】
上述の説明から明らかなように、第１の実施の形態によれば、映像処理装置１０は、一つ又は複数のエレメンタリーストリームをＵＳＢ２．０のアイソクロナス転送又はバルク転送を用いてホスト２０に送信することができる。ホスト２０も、一つ又は複数のエレメンタリーストリームをＵＳＢ２．０のアイソクロナス転送又はバルク転送を用いて映像処理装置１０に送信することができる。
【００５３】
また、第１の実施の形態によれば、映像処理装置１０は、一つ又は複数のエレメンタリーストリームをＵＳＢ２．０のアイソクロナス転送又はバルク転送を用いてホスト２０から受信することができる。ホスト２０も、一つ又は複数のエレメンタリーストリームをＵＳＢ２．０のアイソクロナス転送又はバルク転送を用いて映像処理装置１０から受信することができる。
【００５４】
また、第１の実施の形態によれば、映像処理装置１０は、一つ又は複数のエレメンタリーストリームを単一のデータストリーム（すなわち、ＭＰＥＧ−４ＳＬストリーム）に変換してからホスト２０に送信することができるので、映像処理装置１０のエンドポイントの数を１つにすることができる。複数のエレメンタリーストリームを別々のエンドポイントから送信する形態ではエンドポイント間の制御が必要になるが、第１の実施の形態ではそのような制御を不要にすることができる。
【００５５】
また、第１の実施の形態によれば、映像処理装置１０は、ホスト２０から送信された単一のデータストリーム（すなわち、ＭＰＥＧ−４ＳＬストリーム）から一つ又は複数のエレメンタリーストリームに復元することができるので、映像処理装置１０のエンドポイントの数を１つにすることができる。複数のエレメンタリーストリームを別々のエンドポイントから送信する形態ではエンドポイント間の制御が必要になるが、第１の実施の形態ではそのような制御を不要にすることができる。
【００５６】
また、第１の実施の形態によれば、映像処理装置１０は、データ形式の異なる複数のエレメンタリーストリームを１本のデータストリームにより転送することもできる。上述のように、ISO/IEC 14496-2:1999に準拠したビジュアルデータのエレメンタリーストリームと、ISO/IEC 14496-3:1999に準拠したオーディオデータのエレメンタリーストリームとを１本のデータストリームにより転送することも可能である。さらに、これらのエレメンタリーストリームにISO/IEC 14496-1:1999に準拠したシーンディスクリプション（scene description）のエレメンタリーストリームを加えることも可能である。
【００５７】
次に、図１１を参照し、第１の実施の形態に用いられるＭＰＥＧ−４ＳＬストリームフォーマットディスクリプタ（MPEG-4 SL Stream Format Descriptor）の構成の一例を説明する。
【００５８】
図１１において、bNumPacketsフィールドには、MPEG-4 SL Stream Format Descriptorで送付されるパケットの数がセットされる。この数は、後続の配列データの要素数として用いられる。bPacketLengthフィールドは、直後のbPacketフィールドにセットされるパケット・データのバイト長を示す。bPacketフィールドには、転送すべきストリームのMPEG4_Muxパケットがセットされる。bPacketLength及びbPacketフィールドの組は、配列の要素として用いられる。複数個のパケットを送付する場合は、各パケットのデータが記述されたbPacketLength及びbPacketフィールドの組を連続して記述する。
【００５９】
なお、bPacketLength及びbPacketフィールドはオプションである。ディスクリプタで送付すべきパケットがない場合には、bNumPacketsフィールドに0をセットし、後続のフィールドを省略することができる。第１の実施の形態のMPEG-4 SL Stream Format Descriptor には、確実に転送すべきストリームのパケットをセットするための配列状のデータ構造が定義される。
【００６０】
第１の実施の形態のMPEG-4 SL Stream Format Descriptorにセットされるパケットの配列データは、初期化時あるいは初期化後の任意のタイミングでホスト２０に送信すればよい。
【００６１】
前述したように、ストリームヘッダには、Errorビット（ERRフィールド）が定義されている。映像処理装置１０で何らかのエラーが発生した場合（例えば、エレメンタリーストリームの一つのデータフォーマットが変わった場合）、ERRフィールドの値を１にセットする。上記のように、フォーマットが変化した場合、映像処理装置１０は、デジタルインターフェース部２０４から出力されるペイロードの転送を停止し、ストリームヘッダのみを送信する。一方、ホスト２０は、ERRフィールドの内容に基づいてstream error code controlコマンドを発行すれば、エラーの内容を知ることができる。図１２にstream error code controlコマンドのデータ構造を示す。
【００６２】
stream error code controlは、ビデオ、又は、静止画の転送時にストリームエラーが発生したことを示す。このような場合、デバイスである第１の実施の形態の映像処理装置１０は、エラーの発生を報告するために、このコントロールを適切なコードに更新する。第１の実施の形態では、ホスト２０は、次に示すイベントの一つが発生したとき、そのエラーを特定するために、このコントロールのGET_CUR requestを送信しなくてはならないようになっている。
（１）ストリームヘッダのError bit がデバイスによって1にセットされた場合。
（２）デバイスが、ソースがStream Error Code Control である、"Stream Error" interrupt信号を発行した場合。
（３）トランザクションのデータステージ、又は、ハンドシェイクステージで、バルクビデオエンドポイントがストールパケットをホスト２０に送信した場合。
【００６３】
MPEG-4 Systemsデータは、ディスクリプタを用いずにＵＳＢパイプ上でストリームとして転送されてもよい。通常、MPEG-4 Systemsデータをストリームとして転送する場合、基本的にはバルク転送のような信頼性の高い方法で転送される。また、アイソクロナス通信を用いて、MPEG-4 Systemsデータをストリームとして転送しても良い。第１の実施の形態では、アイソクロナス転送で伝送エラーが発生した場合にどのようにリカバリ処理を行うかについては説明しないが、MPEG-4 Systemsデータを定期的に再送するなどのリカバリ処理は、必要に応じて行っても良い。
【００６４】
第１の実施の形態では、例えば、MPEG-4 SL Stream Format Descriptorは、MPEG-4 SLデータ・ストリームの特性情報が使用される。映像処理装置１０においては、USB IN及びOUTエンドポイントに対応するターミナル及びそれが属するインターフェースは、ひとつ以上のフォーマットに対応するFormat Descriptorをサポートしている。フォーマットを選択するには、ホスト・ソフトウェアは該当するインターフェースにコントロール・リクエストを送付する。MPEG-4 SL Payloadにおいては、付随するFrame Descriptorは定義されなくてもよい。
【００６５】
MPEG-4 Systemsでは、原則的に、初期ストリーム構成を示すイニシャル・オブジェクト・ディスクリプタを最初に伝送する必要がある。そのため、ストリームの送信側は、初期化時にMPEG-4 SL Stream Format DescriptorのbInitialObjectDescriptorフィールドにイニシャル・オブジェクト・ディスクリプタをセットして送付する。第１の実施の形態においては、イニシャル・オブジェクト・ディスクリプタにセットされるデータの内容は、ISO/IEC 14496-1:1999の仕様に従う限りは任意であるが、通常下記のデータがセットされる。
・profile_and_level_indication
・ES_Descriptor
・DecoderConfigDescriptor
・DecoderSpecificInfo（データの内容はストリームの符号化形式によって異なる。MPEG-4 Visualの場合は、Visual Object Sequenceデータがセットされる）
・SLConfigDescriptor（SLパケットヘッダのレイアウト解釈のために使用される）
【００６６】
通常、イニシャル・オブジェクト・ディスクリプタは、MPEG-4 SL Payload Formatが選択された際の初期化処理時に一度のみ送付し、２回以上は送付されないようになっている。もし、初期化完了後に再度イニシャル・オブジェクト・ディスクリプタが送付されるような場合は、受信側では再送されたイニシャル・オブジェクト・ディスクリプタの内容にしたがって再度初期化処理を行なう。上述のISO/IEC 14496-1:1999において定義されているOD、BIFS等のようなMPEG-4 Systemsストリームは、一般的には、伝送エラーによるデータ喪失が発生しないような方法で伝送される。第１の実施の形態では、そのようなデータストリームは、MPEG-4 SL Stream Format Descriptorにセットすることで、確実に転送することが可能になる。
【００６７】
なお、第１の実施の形態では、bInitialObjectDescriptorフィールドはオプションであり、省略することも可能である。この場合、映像処理装置１０は、イニシャル・オブジェクト・ディスクリプタを用いずにデフォルトの属性でストリームの初期化を行うようにことが可能である。
【００６８】
［第２の実施の形態］
第１の実施の形態では、図６〜図９を参照し、ＵＳＢ２．０のハイスピード（High-speed）を使用して上述のＭＰＥＧ−４ＳＬストリームを送受信する形態を説明したが、本発明はこのような形態に限定されるものではない。第１の実施の形態は、ＵＳＢ２．０のフルスピード（full-speed）を使用して上述のＭＰＥＧ−４ＳＬストリームを送受信する形態する形態に変更することも可能である。この場合、上述のストリームヘッダは、例えば、ＵＳＢフレーム（１ｍｓ）ごとに送信される。また、将来、ハイスピード（High-speed）よりも高速な転送タイプが規定された場合にはそれを使用して上述のＭＰＥＧ−４ＳＬストリームを送受信する形態に変更することも可能である。
【００６９】
［第３の実施の形態］
本発明は、現状のＵＳＢ２．０を使用する形態に限定されるものではない。本発明は、例えば、ＵＳＢ２．０を拡張した規格に準拠した通信システムを使用する形態、ＵＳＢ２．０と同等の機能を規定した規格に準拠した通信システムを使用する形態などにも適用可能である。
【００７０】
［第４の実施の形態］
本発明は、現状のISO/IEC 14496-1:1999に準拠したエレメンタリーストリームを使用する形態に限定されるものではない。本発明は、例えば、ISO/IEC 14496-1:1999を拡張した規格に準拠したエレメンタリーストリームを使用する形態、ISO/IEC 14496-1:1999と同等の機能を規定した規格に準拠したエレメンタリーストリームを使用する形態などにも適用可能である。
【００７１】
［他の実施の形態］
本発明は、上述の実施の形態においてのみ実現可能なものではなく、他の形態においても実現可能である。本発明は、例えば、コンピュータによって実行可能なプログラムにおいても実現可能であり、その場合、該プログラム自体が本発明を構成することとなる。プログラムを供給するための記憶媒体としては、ＲＯＭ、フロッピー（Ｒ）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカードなどを用いることができる。
【００７２】
【発明の効果】
本発明によれば、ISO/IEC 14496-1:1999に準拠した複数のエレメンタリーストリームをＵＳＢ２．０のアイソクロナス転送又はバルク転送を用いて他の装置（ホストなど）に送信することができる。
【００７３】
また、本発明によれば、ISO/IEC 14496-1:1999に準拠した複数のエレメンタリーストリームをＵＳＢ２．０のアイソクロナス転送又はバルク転送を用いて他の装置（ホストなど）から受信することができる。
【図面の簡単な説明】
【図１】第１の実施の形態における通信システムの主要な構成要素を示す図である。
【図２】映像処理装置１０及びホスト２０が備える構成要素を示す図である。
【図３】  ISO/IEC 14496-1:1999に準拠した一つ又は複数のエレメンタリーストリームをＭＰＥＧ−４ＳＬストリームに変換する手順を説明する図である。
【図４】ＭＰＥＧ−４ＳＬストリームをISO/IEC 14496-1:1999に準拠した一つ又は複数のエレメンタリーストリームに復元する手順を説明する図である。
【図５】Ｍｕｘパケットの構成を説明する図である。
【図６】ＵＳＢ２．０のアイソクロナスＩＮトランザクション（Isochronous IN Transaction）を用いてＭＰＥＧ−４ＳＬストリームを転送する手順の一例を示す図である。
【図７】ＵＳＢ２．０のアイソクロナスＯＵＴトランザクション（Isochronous OUT Transaction）を用いてＭＰＥＧ−４ＳＬストリームを転送する手順の一例を示す図である。
【図８】ＵＳＢ２．０のバルクＩＮトランザクション（Bulk IN Transaction）を用いてＭＰＥＧ−４ＳＬストリームを転送する手順の一例を示す図である。
【図９】ＵＳＢ２．０のバルクＯＵＴトランザクション（Bulk OUT Transaction）を用いてＭＰＥＧ−４ＳＬストリームを転送する手順の一例を示す図である。
【図１０】ストリームヘッダの構成を説明する図である。
【図１１】ＭＰＥＧ−４ＳＬストリームフォーマットディスクリプタの構成の一例を示す図である。
【図１２】  stream error code controlコマンドのデータ構造を説明する図である。
【符号の説明】
１０    映像処理装置
２０    ホスト
２０１  ＳＬパケット処理部
２０２  Ｍｕｘパケット処理部
２０３  ＭＰＥＧ−４ＳＬストリーム処理部
２０４  デジタルインターフェース部
【図１】
0004845335.tif 000002
【図２】
0004845335.tif 000003
【図３】
0004845335.tif 000004
【図４】
0004845335.tif 000005
【図５】
0004845335.tif 000006
【図６】
0004845335.tif 000007
【図７】
0004845335.tif 000008
【図８】
0004845335.tif 000009
【図９】
0004845335.tif 000010
【図１０】
0004845335.tif 000011
【図１１】
0004845335.tif 000012
【図１２】
0004845335.tif 000013