(57)【要約】  【課題】  【解決手段】  ビデオデータストリームを符号化するステップを具えるシステム。このシステムは、ビデオデータストリームに関連する属性を決定する第１のデターミネータと、第１のデターミネータから属性を受信して、ストリームシンタックスを認識するストリームヘッダを符号化するエンコーダを具える。ストリームヘッダは、マーク付け言語で符号化される。マルチプレクサが、符号化したストリームヘッダをビデオデータストリームと組み合わせる。【選択図】  図１
2008516478.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータストリームを符号化するシステムにおいて、前記システムが：
前記ビデオデータストリームに関連する属性を決定する第１のデターミネータと；
前記第１のデターミネータから前記属性を受信して、ストリームシンタックスを認識するストリームヘッダを符号化するエンコーダであって、前記ストリームヘッダがマーク付け言語で符号化されるエンコーダと；
前記符号化したストリームヘッダを前記ビデオデータストリームと組み合わせるマルチプレクサと；
を具えることを特徴とするシステム。
【請求項２】
請求項１に記載のシステムが更に、前記データストリーム内のフレーム群に関連する属性を決定する第２のデターミネータを具えることを特徴とするシステム。
【請求項３】
請求項２に記載のシステムにおいて、前記エンコーダが、マーク付け言語で記載されている前記データストリームの各フレーム群についてのフレーム群シンタックスを認識する前記決定された属性を含むセグメントヘッダを符号化することを特徴とするシステム。
【請求項４】
請求項３に記載のシステムにおいて、前記マーク付け言語がＸＭＬであることを特徴とするシステム。
【請求項５】
請求項３に記載のシステムにおいて、前記マルチプレクサが、前記データストリームのペイロードに先立って前記符号化したストリームヘッダを位置決めして、前記ペイロードが前記フレーム群を全て具えることを特徴とするシステム。
【請求項６】
請求項５に記載のシステムにおいて、前記マルチプレクサが、データストリームの各フレーム群に先立って、前記データストリーム内の各符号化したセグメントヘッダを位置決めすることを特徴とするシステム。
【請求項７】
請求項１に記載のシステムが更に、前記データストリームが送信可能なパケットに区割りするパーティショナ４４を具えることを特徴とするシステム。
【請求項８】
請求項１に記載のシステムにおいて、前記ストリームヘッダが、複数のフィールドを具え、各フィールドが前記決定されたストリーム属性のそれぞれ一つを規定することを特徴とするシステム。
【請求項９】
請求項３に記載のシステムにおいて、前記セグメントヘッダがそれぞれ複数のフィールドを具え、各フィールドが前記決定されたフレーム群属性のそれぞれ一つを規定することを特徴とするシステム。
【請求項１０】
符号化されたビデオデータストリームを復号化するシステムにおいて、前記システムが：
複数のフレームを具えるデータストリームを形成する複数の受信パケットをコンパイルするコンパイラと；
前記データストリームとストリームヘッダを分析して、前記受信したデータストリームと前記データストリームのフレームの属性を認識するマーク付けタグの存在を決定するパーサと；
前記受信したデータストリームとマーク付けタグを復号化するデコーダと；
前記受信したデータストリームの認識した属性に対応する前記復号したビデオデータストリームのディスプレイを生成するディスプレイ発生器と；
を具えることを特徴とするシステム。
【請求項１１】
請求項１０に記載のシステムにおいて、前記マーク付け言語がＸＭＬであることを特徴とするシステム。
【請求項１２】
ビデオデータストリームを符号化する方法において、当該方法が：
前記ビデオデータストリームに関連する属性を決定する機能と；
前記決定したストリーム属性に基づいてストリームシンタックスを認識するストリームヘッダを符号化する機能であって、前記ストリームヘッダがマーク付け言語で符号化される機能と；
前記符号化したストリームヘッダを前記ビデオデータストリームに組み合わせる機能と；
を具えることを特徴とする方法。
【請求項１３】
請求項１２に記載の方法が更に：
前記データストリーム内の各フレーム群に関連する属性を決定する機能と；
各フレーム群についてセグメントヘッダを符号化する機能であって、各セグメントヘッダが前記各フレーム群のフレーム群シンタックスを規定する機能と；
を具えることを特徴とする方法。
【請求項１４】
請求項１２に記載の方法において、前記マーク付け言語がＸＭＬであることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願のクロスリファレンス
本出願は、２００４年１０月５日に出願された米国暫定特許出願第６０／６１５，９８９号の非暫定出願である。
【０００２】
発明の属する技術分野
本システムは、ビデオデータの符号化に関し、特に、データストリーム内のデータを認識して処理する機構を提供するものである。
【０００３】
発明の背景
マルチメディアデータストリームは、プレーヤアプリケーション、典型的にはメディアプレーヤアプリケーションによって受信するために送信可能な符号化したビデオデータのストリームである。マルチメディアデータストリームの送信に先立って、データストリームは、符号化したビデオデータのフレームの一部を表すデータを含む複数のパケットに区割りされる。このストリーム自体およびこのストリームの各パケットの双方とも、受信されるストリーム及び／又はパケットに関する受信システムへのストリームシンタックスを表す情報を提供するヘッダを具える。現存のシステムは、テキストフォーマットと二進フォーマットの少なくとも一方でこの情報を符号化している。しかしながら、これらのフォーマットは、容易にバージョンアップができないこと、およびプレーヤが符号化したフォーマット中のストリームを復号できるインストラクションセットでコード化することが困難であるという問題がある。従って、データストリームを復号化するのに使用されるストリームプロキシをバージョンアップして、あらゆる変更されたストリームシンタックスを操作しなくてはならず、その他のものは失敗しやすいので、このストリームの柔軟性は低い。
【０００４】
マーク付け言語は、データの要素に関連する論理的構造又は意味を表す方法を提供するのに広く使用されている言語であり、受信したデータストリームの操作、処理、表示の少なくとも一つをどのように行うかについてをシステムに指示する。マーク付け言語の例は、Hypertextマーク付け言語（ＨＴＭＬ）、eXtensible マーク付け言語（ＸＭＬ）、およびStandard General マーク付け言語（ＳＧＭＬ）である。マーク付け言語は、データに注釈をつける機構、又は、ドキュメントまたはデータファイルの構造およびそのデータ要素の内容を表示するためのデジタルデータの収集を提供する。これらの言語は、容易に拡張可能である。しかしながら、これらの言語は、一般的にデータストリームに関連しているが、データストリームと一体的に形成されているわけではない。
【０００５】
本発明の原理に係るシステムは、これらの欠点および関連する問題に取り組むものである。
【０００６】
発明の概要
ビデオデータストリームを符号化するシステム及び方法である。デターミネータが、ビデオデータストリームに関連する属性を決定する。エンコーダが、第１のデターミネータからの属性を受信して、ストリームシンタックスを認識するストリームヘッダを符号化する。このストリームヘッダは、マーク付け言語で符号化される。マルチプレクサが、符号化したストリームヘッダをビデオデータストリームと組み合わせる。
【０００７】
符号化されたビデオデータストリームを復号するシステムである。パーサが受信したデータストリームとストリームヘッダを分析して、受信したデータストリームとデータストリームのフレームの属性を認識するマーク付けタグの存在を決定する。デコーダは、受信したデータストリームとマーク付けタグを復号する。ディスプレイ発生器は、受信したデータストリームの認識した属性に対応する復号したビデオデータストリームのディスプレイを生成する。
【０００８】
発明の詳細な説明
ここで用いられているアプリケーションは、実行可能なコンピュータプログラム、または、例えば、ユーザのコマンドあるいは入力に応答する、オペレーティングシステム、ヘルスケア情報システム、またはその他の情報処理システムの機能を含む所定の機能を実装するためのコードまたは機械的に読み取り可能な指示を含む指示セットである。実行可能な手順は、コードのセグメント（機械的に読み取り可能な指示）、サブルーチン、またはその他の明確なコードセクションあるいは一またはそれ以上の特定のプロセスを実行する実行可能なアプリケーションの部分であり、受信した入力パラメータの動作（または、受信した入力パラメータに応じて）を実行するステップを具え、結果としての出力パラメータを提供するものである。ここで使用されているプロセッサは、課題を実行するためのデバイス及び／又は機械で読み取り可能な指示セットである。プロセッサは、ハードウエア、ファームウエア、及び／又はソフトウエアのいずれか一つ、またはこれらの組み合わせを具える。プロセッサは、実行可能な手順または情報デバイスによって使用する情報を操作、分析、変更、変換又は転送することによって、及び／又は出力デバイスへ情報をルーティングすることによって、情報に作用する。プロセッサは、例えば、コントローラまたはマイクロプロセッサの機能を使用する、またはこれを具えるものであっても良い。マルチメディアコンテントまたはここで使用されているコンテントストリームは、ビデオデータとオーディオデータのうちの少なくとも一方を有する符号化された、または符号化されていないデータである。ここで使用されているフレームは、最小単位のアプリケーションデータを表し、フレーム群は、フレームの群を意味する。
【０００９】
マルチメディアデータストリームは、複数の種類の異なる符号化スキームを用いて符号化され、圧縮される。符号化スキームの選択は、ビデオデータを受信し処理するアプリケーションによって異なる。このシステムは、特許権のある符号化フォーマットを用いて符号化されたマルチメディアデータストリームを含んでおり、ここでは、ビデオデータストリームが各フレーム群に区割りされており、各フレーム群は複数の独立したビデオフレームから形成されている。このフレーム群の構造と、この群を形成するフレームは、使用するコード化スキームに基づいて決定される。ここで使用されているこのデータストリームは、システムストリームとして知られており、例示的なシステムストリーム２０が図１に示されている。
【００１０】
各システムストリーム２０は、ストリームヘッダ２２と複数のフレーム群２６、２８を有する。ストリームヘッダ２２は、ＸＭＬなどのマーク付け言語を用いて符号化される。ストリームヘッダ２２は、データストリームに関連する少なくとも一のストリーム属性を記述するマーク付け言語で符号化したドキュメントであり、この属性がこのデータストリームに埋め込まれている。ストリームヘッダ２２内に記述されている各ストリーム属性は、マーク付け言語タグによって記載されており、各属性を表示しているデータの少なくとも一つを識別し、各属性を表示するデータを処理する場合の指示を提供する。これらのストリーム属性は、メディアプレーヤアプリケーションによって読み取り可能であり、受信したストリームデータをどのように処理するかについてメディアプレーヤアプリケーションに指示を提供するのに必要な、ストリームシンタックスを集合的に定義している。例えば、ストリームヘッドは、受信したデータストリームを復号化する正確なデコーダを初期化するための情報を提供することができる。正しい指示なくしては、あるいはデータストリームがメディアアプリケーションによって読み取ることができないヘッダを具える場合は、メディアプレーヤアプリケーションは機能しないし、データストリームは復号されないであろう。従って、メディアプレーヤアプリケーションは、各マーク付け言語タグをどのように操作するかに関する指示セットを提供するものでなければならない。
【００１１】
ストリーム属性データを符号化するのにマーク付け言語を使用することには利点がある。マーク付け言語は、容易に拡張して新しい特徴を組み込むことができ、それが表すデータに対して機能する。所望のストリーム属性はいずれも、ストリームヘッダ２２内で符号化することができる。これは、データストリームフォーマットの将来の拡張と展開を目的としている。更に、ＸＭＬ中のストリームシンタックスを提供するシステムストリームによれば、どのメディアプレーヤアプリケーションも既知のタグで表される情報を受信し復号することができ、未知のタグによって表された情報は無視する。従って、メディアプレーヤアプリケーションは、それに関連する未知の指示情報を有するストリームを復号化しようとする場合に、失敗することがない。ストリーム属性には、限定されるものではないが、高さ、幅、ビットレート、フレームレート、ストリームサイズおよびストリーム期間が含まれる。
【００１２】
図１に示すデータストリームは、第１フレーム群２６と第２フレーム群２８の二つのフレーム群を有する。各フレーム群２６、２８は、複数の個別フレームを有する。第１のフレーム群２６は、三つのフレーム２６Ａ、２６Ｂ、２６Ｃを有し、第２のフレーム群２８は、二つのフレーム２８Ａ、２８Ｂを有する。ここに示すストリームは、例示の目的のためだけのものであり、データストリーム２０はデータストリーム２０を符号化するのに使用されるコード化スキームによって決定される、任意の数の個別フレームから形成された任意の数のフレーム群を具えていても良い。各フレーム群は、それに関連する少なくとも一のフレーム群属性を有する。システムストリーム２０は、複数のセグメントヘッダ２４を具えており、各セグメントヘッダ２４は、各フレーム群の第１の個別フレームの直前に位置している。ストリームヘッダ２２と同様に、セグメントヘッダ２４は、マーク付け言語で符号化したドキュメントであり、少なくとも一のストリーム属性に対応する情報を具える。フレーム群属性には、限定するものではないが、ある種のフレーム群、すなわち、キー（Ｉ）フレーム群またはデルタ（Ｐ）フレーム群、群長さ、および群シーケンス数が含まれる。
【００１３】
ストリームヘッダ２２とセグメントヘッダ２４は、属性情報を表す。これらのヘッダ２２、２４は、各パケットまたはデータグラムのフレーミングとシーケンシングに関する情報を含んでいる個別パケットまたはデータグラムヘッダと同じではない。これに対して、ストリームヘッダ２２とパケットヘッダ２４は、パケット又はデータグラムとは別のデータストリーム２０内に埋め込まれており、データストリームをどのように処理し使用するかをアプリケーションに指示する情報をメディアプレーヤアプリケーションに提供する。
【００１４】
データストリームと、フレーム群の各々の属性は、フレームデータと共にアプリケーションインターフェースを通過する。ＸＭＬエンコーダが、この属性を分析して、これらの属性の変化を検出する。属性の変化を検出すると、エンコーダは、ストリームヘッダ２２またはセグメントヘッダ２４のいずれかを符号化し、関連する変化が検出される場合に、各々のマーク付け言語タグを挿入する。このストリームのいくつかの属性は、オペレータによって間接的に特定される。例えば、オペレータがこのビデオが３２０×２４０画素で符号化されるべきであると特定した場合、これらのパラメータがストリームヘッダ中に符号化される。ストリームシンタックスに対するあらゆるバージョンアップが、ヘッダ内の新しいタグとして表されるであろう。
【００１５】
図２は、例示的なストリームヘッダ２２である。ストリームヘッダ２２とセグメントヘッダ２４のぞれぞれのフォーマットは同じであり、データストリームまたはそれに関連するフレーム群を記述するために各ヘッダ２２、２４中に記述すべき属性の数に直接的に依存する。ストリームヘッダ２２は、ヘッダとして符号化されているドキュメントを認識するマーク付け言語タグを含むオープニングフィールド１２を具える。ストリームヘッダ２２は、更に、ヘッダが埋め込まれているデータストリームを記述する属性に対応する情報を各々が有する複数の属性フィールド１４を具える。第１の属性フィールド１４Ａは、第１の属性を表すデータを表示する第１のマーク付け言語タグを具える。第２の属性フィールド１４Ｂ、第３の属性フィールド１４Ｃ、および第４の属性フィールド１４Ｄはそれぞれ、図１に示すデータストリーム２０の追加の属性を表すデータを表示するマーク付け言語タグを具える。ストリームヘッダ２２は、ヘッダ２２が閉じられており、追加の情報が存在しないことを示すマーク付け言語タグを含むクローズドフィールド１６を具える。
【００１６】
図３は、本システムのエンコーダのブロック図である。予め決められたコード化スキームを用いて符号化したソースビデオデータ３０が提供されている。符号化したビデオデータは、第１のデターミネータ３４、第２のデターミネータ３６、及びマルチプレクサ４２の各々に提供されている。第１のデターミネータ３４は、この符号化したデータストリームを精査して、ビデオデータストリームに関連する属性を決定し、この決定した属性を第１のヘッダエンコーダ３８に提供する。第１のヘッダエンコーダ３８は、マーク付け言語を用いて、決定したストリーム属性に応じたストリームシンタックスを設定するストリームヘッダを符号化する。第２のデターミネータ３６は、データストリームを形成しているフレーム群を分析して、データストリーム内の各フレーム群に関連する属性を決定する。この決定されたフレーム群属性は、第２のヘッダエンコーダ４０に提供されて、マーク付け言語を用いて、決定したフレーム群属性に応じたフレーム群シンタックスを設定するフレーム群ヘッダを符号化する。第１のヘッダエンコーダ３８と第２のヘッダエンコーダ４０は、符号化したストリームとフレーム群ヘッダをビデオデータストリームと組み合わせるマルチプレクサ４２に提供する。多重化したビデオデータストリームは、パーティショナ４４に提供されて、データストリームを送信可能なパケットに区割りする。送信可能なパケットは、そのパケット４８を同報通信するブロードキャスタ４６に提供される。
【００１７】
図４は、本システムによって実行される符号化動作の詳細のフローチャートである。ステップＳ４００で、ビデオデータストリームがデターミネータに提供される。このデターミネータで、提供されたデータストリームを表す属性が、ステップＳ４０２で決定される。ステップＳ４０４において、エンコーダは、決定したストリーム属性に応じてストリームヘッダを符号化する。ステップＳ４０４は、ＸＭＬなどのマーク付け言語を用いて実行される。ステップＳ４０４で符号化されたストリームヘッダは、複数の属性フィールドを具えており、その数は、ステップＳ４０２からの決定されたストリーム属性の数に直接的に関係している。データストリーム中のフレーム群の存在に関するビデオデータストリームから更なる決定がなされる。フレーム群が存在しなければこの方法は、以下に説明するステップＳ４１２に進む。フレーム中にフレーム群が存在する場合は、ステップＳ４０８で、第２のデターミネータがストリーム内の各フレーム群と関連する属性を決定する。ステップＳ４０８における決定に応じて、各フレーム群についてのセグメントヘッダがステップＳ４１０で符号化される。ストリームヘッダと同様に、セグメントヘッダは複数の属性フィールドを有し、その数は、ステップＳ４０８からの決定されたフレーム群属性の数に直接的に関連する。ステップＳ４１２において、ビデオデータストリームは、処理すべきストリームヘッダと、各セグメントヘッダの各々と組み合わされ、図５及び６で説明するように、メディアプレーヤアプリケーションによって受信されるように送信される。組み合わせステップＳ４１２の間に、ストリームヘッダは、各フレーム群のいずれにも先立って挿入され、各セグメントヘッダは、このヘッダに関連する各フレーム群の直前に挿入される。
【００１８】
図５は、複数のパケット４８を受信するメディアプレーヤアプリケーション５０のブロック図である。メディアプレーヤアプリケーション５０は、受信器５２、コンパイラ、パーサ５４、第１のデコーダ５６、第２のデコーダ５８、タグテーブル５５およびディスプレイ発生器６０を具える。受信器５２は、図３に示すブロードキャスタによって同報通信されるパケット４８のソースを受信する。コンパイラ５３は受信したパケットをコンパイルして、複数のフレームを含むデータストリームを形成する。送信層は、ストリームヘッダと各セグメントヘッダを、復号前の個別フレームとして取り扱う。パーサ５４は、受信したデータストリームを解析して、少なくとも一のストリームヘッダとセグメントヘッダを分析する。この分析は、各ストリーム属性とフレーム群属性を認識するマーク付けタグの存在を決定する。各タグの値は、タグテーブル５５に保存される。タグテーブル５５の値は、各デコーダ５６、５８に与えられる。デコーダは、ヘッダ内のタグを検討して、テーブル内の項目を見て、このタグがデコーダ５６、５８で実行する機能を開始する指示を含んでいるかどうかを決定する。少なくとも一のデータストリームまたは、このストリーム内の各フレーム群に関連する属性を決定すると、第１のデコーダ５８と第２のデコーダ５６のいずれかが、受信したデータストリームの復号化を開始する。復号したストリームは、ディスプレイ発生器６０に提供され、メディアプレーヤアプリケーションを介してデータストリームを出力するディスプレイを生成する。ディスプレイ発生器６０は、パーサ５４とも通信しており、ストリームヘッダまたはセグメントヘッダ内の各マーク付けタグに関連するデータに応じて動作する。
【００１９】
図６は、図５に示すメディアプレーヤアプリケーションの動作の詳細を示すフローチャートである。メディアプレーヤアプリケーションは、ステップＳ６００で、受信器を介して符号化したデータストリームを形成する複数のパケットを受信する。ステップＳ６０２では、データストリームが解析され、ストリームヘッダと各セグメントヘッダの各々が分析される。ステップＳ６０４では、パーサが、データストリーム全体の属性を認識するマーク付けタグの存在を決定し、ステップＳ６０６に見られるマーク付けタグに応じてデータストリームをどのように復号化するかに関するすべての構成要素へ指示を提供する。データストリームが何らかのフレーム群を具えているかどうかの決定はステップＳ６０８でなされる。具えていなければ、以下に述べるようにステップＳ６１４での処理に続く。データストリームがフレーム群を具えている場合は、パーサが、各フレーム群に関連するフレーム群属性を表すいずれかのマーク付けタグ用のセグメントヘッダを分析する。セグメントヘッダからの指示は、ステップＳ６１０に配置されているマーク付けタグを用いて、データストリームのフレーム群を復号化する構成要素に提供される。このストリームと各フレーム群の復号化に応じて、復号したストリームがディスプレイ発生器に提供され、メディアプレーヤアプリケーションを用いて復号したストリームのディスプレイを生成する。
【００２０】
ストリームバージョンフォーマットへのバージョンアップは透過的であり、容易に実現することができる。なぜなら、複数のメディアプレーヤアプリケーションへの新しいストリーム復号化パラメータの主要な展開が不要であるためである。マーク付け言語によって、現存のメディアプレーヤは、新しいストリームバージョンを復号することができる。なぜなら、メディアプレーヤアプリケーションは、熟知しているマーク付け言語タグを分析して使用するだけだからである。このように、注釈、同期したメディアイベントデータ、あるいはその他の属性といった更なる種類のデータを、予め展開させた構成部品を操作できなくすることなく、ストリームシンタックスに選択的に追加することができる。
【図面の簡単な説明】
【００２１】
【図１】図１は、本発明の原理による複数の種類のヘッダを含むデータストリームを示す図である。
【図２】図２は、本発明の原理によって符号化したヘッダのブロック図である。
【図３】図３は、本発明の原理によるデータストリームエンコーダのブロック図である。
【図４】図４は、本発明のエンコーダの動作の詳細を示すフローチャートである。
【図５】図５は、本発明の原理によるメディアプレーヤアプリケーションのブロック図である。
【図６】図６は、本発明の原理によるメディアプレーヤアプリケーションの動作の詳細を示すフローチャートである。
【図１】
2008516478.tif 000003
【図２】
2008516478.tif 000004
【図３】
2008516478.tif 000005
【図４】
2008516478.tif 000006
【図５】
2008516478.tif 000007
【図６】
2008516478.tif 000008
【国際調査報告】
2008516478.tif 000009
2008516478.tif 000010
2008516478.tif 000011