(57)【要約】本発明は、マルチメディアデータを処理する装置、システム、及び方法を含む。マルチメディアデータを処理する方法は、該マルチメディアデータのフレームを、Ｉフレーム、チャネル切替フレーム、およびＰフレームとして符号化すること、及び、該符号化Ｉフレームのサイズと、該符号化チャネル切替フレームおよび該符号化Ｐフレームのサイズとが、第１の条件を満たす場合、該符号化Ｉフレームを選択すること、を含む。マルチメディアデータを処理する装置は、該マルチメディアデータのフレームを、Ｉフレーム、チャネル切替フレーム、およびＰフレームとして符号化し、及び、該符号化Ｉフレームのサイズと、該符号化チャネル切替フレームおよび該符号化Ｐフレームのサイズとが、第１の条件を満たす場合、該符号化Ｉフレームを選択する符号化器を含む。【選択図】図１
2010520678.tif 000002
【特許請求の範囲】
【請求項１】
マルチメディアデータを処理する方法であって、
前記マルチメディアデータのフレームを、Ｉフレーム、チャネル切替フレーム、およびＰフレームとして符号化すること；及び
前記符号化Ｉフレームのサイズと、前記符号化チャネル切替フレームおよび前記符号化Ｐフレームのサイズとが、第１の条件を満たす場合、前記符号化Ｉフレームを選択すること；
を含む方法。
【請求項２】
前記符号化Ｉフレームのサイズが、前記符号化チャネル切替フレームに前記符号化Ｐフレームを加えたサイズより小さい場合、前記第１の条件が満たされる請求項１記載の方法。
【請求項３】
前記符号化Ｉフレームのサイズと、前記符号化チャネル切替フレーム及び前記符号化Ｐフレームのサイズとが、第２の条件を満たす場合、前記符号化チャネル切替フレーム及び前記符号化Ｐフレームを選択すること、をさらに含む請求項１記載の方法。
【請求項４】
前記符号化チャネル切替フレーム及び前記符号化Ｐフレームのサイズが、前記符号化Ｉフレームのサイズより小さい場合、前記第２の条件が満たされる請求項３記載の方法。
【請求項５】
フレームを符号化することは、第１フレームをＩフレームとして符号化することと、第２フレームをチャネル切替フレームとして符号化することと、を含む請求項１記載の方法。
【請求項６】
空間的複雑さ及び時間的複雑さに基づき、前記符号化Ｉフレームのサイズと、前記チャネル切替フレームおよび前記符号化Ｐフレームのサイズとを推定すること、をさらに含む請求項１記載の方法。
【請求項７】
前記マルチメディアデータのフレームをＢフレームとして符号化すること；
前記符号化Ｉフレームと前記符号化Ｂフレームとのうちの少なくとも１つを用いて、第１ベースレイヤデータパケット及び第１拡張レイヤデータパケットを生成すること；及び
前記符号化Ｐフレームと前記符号化チャネル切替フレームとのうちの少なくとも１つを用いて、第２ベースレイヤデータパケットおよび第２拡張レイヤデータパケットを生成すること；
をさらに含む請求項1記載の方法。
【請求項８】
前記第１拡張レイヤデータパケットと類似するサイズとなるように、前記第１ベースレイヤデータパケットを釣り合わせること、及び、前記第２拡張レイヤデータパケットと類似するサイズとなるように、前記第２ベースレイヤデータパケットを釣り合わせること、をさらに含む請求項7記載の方法。
【請求項９】
前記第１拡張レイヤデータパケットと同じサイズとなるように、前記第１ベースレイヤデータパケットをパッディングすること、及び、前記第２拡張レイヤデータパケットと同じサイズとなるように、前記第２ベースレイヤデータパケットをパッディングすること、をさらに含む請求項８記載の方法。
【請求項１０】
前記第１ベースレイヤデータパケットと前記第１拡張レイヤデータパケットとの第１総サイズを決定すること；
前記第１総サイズを前記符号化Ｉフレームに割り当てること；
前記第２ベースレイヤデータパケットと前記第２拡張レイヤデータパケットとの第２総サイズを決定すること；及び
前記第２総サイズを、前記符号化チャネル切替フレームと前記符号化Ｐフレームとのサイズに割り当てること；
をさらに含む請求項9記載の方法。
【請求項１１】
マルチメディアデータを処理する装置であって、
前記マルチメディアデータのフレームを、Ｉフレーム、チャネル切替フレーム、およびＰフレームとして符号化し、
前記符号化Ｉフレームのサイズと、前記符号化チャネル切替フレームおよび前記符号化Ｐフレームのサイズとが、第１の条件を満たす場合、前記符号化Ｉフレームを選択する符号化器を含む装置。
【請求項１２】
前記符号化Ｉフレームのサイズが、前記符号化チャネル切替フレームに前記符号化Ｐフレームを加えたサイズより小さい場合、前記第１の条件が満たされる請求項１１記載の装置。
【請求項１３】
前記符号化器は、前記符号化Ｉフレームのサイズと、前記符号化チャネル切替フレーム及び前記符号化Ｐフレームのサイズとが、第２の条件を満たす場合、前記符号化チャネル切替フレーム及び前記符号化Ｐフレームを選択する請求項１１記載の装置。
【請求項１４】
前記符号化チャネル切替フレーム及び前記符号化Ｐフレームのサイズが、前記符号化Ｉフレームのサイズより小さい場合、前記第２の条件が満たされる請求項１３記載の装置。
【請求項１５】
フレームを符号化することは、第１フレームをＩフレームとして符号化することと、第２フレームをチャネル切替フレームとして符号化することと、を含む請求項１１記載の装置。
【請求項１６】
前記符号化器は、空間的複雑さ及び時間的複雑さに基づき、前記符号化Ｉフレームのサイズと、前記チャネル切替フレームおよび前記符号化Ｐフレームのサイズとを推定する請求項１記載の装置。
【請求項１７】
前記符号化器は、
前記マルチメディアデータのフレームをＢフレームとして符号化し、
前記符号化Ｉフレームと前記符号化Ｂフレームとのうちの少なくとも１つを用いて、第１ベースレイヤデータパケット及び第１拡張レイヤデータパケットを生成し、及び
前記符号化Ｐフレームと前記符号化チャネル切替フレームとのうちの少なくとも１つを用いて、第２ベースレイヤデータパケットおよび第２拡張レイヤデータパケットを生成する、
請求項1１記載の装置。
【請求項１８】
前記第１拡張レイヤデータパケットと類似するサイズとなるように、前記第１ベースレイヤデータパケットを釣り合わせ、及び、前記第２拡張レイヤデータパケットと類似するサイズとなるように、前記第２ベースレイヤデータパケットを釣り合わせる、バランシングモジュールをさらに含む請求項１7記載の装置。
【請求項１９】
前記第１拡張レイヤデータパケットと同じサイズとなるように、前記第１ベースレイヤデータパケットをパッディングし、及び、前記第２拡張レイヤデータパケットと同じサイズとなるように、前記第２ベースレイヤデータパケットをパッディングするパッディングモジュールをさらに含む請求項１８記載の装置。
【請求項２０】
前記符号化器は、
前記第１ベースレイヤデータパケットと前記第１拡張レイヤデータパケットとの第１総サイズを決定し、
前記第１総サイズを前記符号化Ｉフレームに割り当て、
前記第２ベースレイヤデータパケットと前記第２拡張レイヤデータパケットとの第２総サイズを決定し、及び
前記第２総サイズを、前記符号化チャネル切替フレームと前記符号化Ｐフレームとのサイズに割り当てる
請求項１9記載の装置。
【請求項２１】
マルチメディアデータを処理する装置であって、
前記マルチメディアデータのフレームを、Ｉフレーム、チャネル切替フレーム、およびＰフレームとして符号化する手段；及び
前記符号化Ｉフレームのサイズと、前記符号化チャネル切替フレームおよび前記符号化Ｐフレームのサイズとが、第１の条件を満たす場合、前記符号化Ｉフレームを選択する手段；
を含む装置。
【請求項２２】
前記符号化Ｉフレームのサイズが、前記符号化チャネル切替フレームに前記符号化Ｐフレームを加えたサイズより小さい場合、前記第１の条件が満たされる請求項２１記載の装置。
【請求項２３】
前記選択する手段は、前記符号化Ｉフレームのサイズと、前記符号化チャネル切替フレーム及び前記符号化Ｐフレームのサイズとが、第２の条件を満たす場合、前記符号化チャネル切替フレーム及び前記符号化Ｐフレームを選択する請求項２１記載の装置。
【請求項２４】
前記符号化チャネル切替フレーム及び前記符号化Ｐフレームのサイズが、前記符号化Ｉフレームのサイズより小さい場合、前記第２の条件が満たされる請求項２３記載の装置。
【請求項２５】
フレームを符号化することは、第１フレームをＩフレームとして符号化することと、第２フレームをチャネル切替フレームとして符号化することと、を含む請求項２１記載の装置。
【請求項２６】
前記符号化する手段は、空間的複雑さ及び時間的複雑さに基づき、前記符号化Ｉフレームのサイズと、前記チャネル切替フレームおよび前記符号化Ｐフレームのサイズとを推定する請求項２１記載の装置。
【請求項２７】
前記符号化する手段は、
前記マルチメディアデータのフレームをＢフレームとして符号化し、
前記符号化Ｉフレームと前記符号化Ｂフレームとのうちの少なくとも１つを用いて、第１ベースレイヤデータパケット及び第１拡張レイヤデータパケットを生成し、及び
前記符号化Ｐフレームと前記符号化チャネル切替フレームとのうちの少なくとも１つを用いて、第２ベースレイヤデータパケットおよび第２拡張レイヤデータパケットを生成する
請求項２１記載の装置。
【請求項２８】
前記第１拡張レイヤデータパケットと類似するサイズとなるように、前記第１ベースレイヤデータパケットを釣り合わせ、及び、前記第２拡張レイヤデータパケットと類似するサイズとなるように、前記第２ベースレイヤデータパケットを釣り合わせる手段をさらに含む請求項２７記載の装置。
【請求項２９】
前記第１拡張レイヤデータパケットと同じサイズとなるように、前記第１ベースレイヤデータパケットをパッディングし、及び、前記第２拡張レイヤデータパケットと同じサイズとなるように、前記第２ベースレイヤデータパケットをパッディングする手段をさらに含む請求項２８記載の装置。
【請求項３０】
前記符号化する手段は、
前記第１ベースレイヤデータパケットと前記第１拡張レイヤデータパケットとの第１総サイズを決定し、
前記第１総サイズを前記符号化Ｉフレームに割り当て、
前記第２ベースレイヤデータパケットと前記第２拡張レイヤデータパケットとの第２総サイズを決定し、及び
前記第２総サイズを、前記符号化チャネル切替フレームと前記符号化Ｐフレームとのサイズに割り当てる
請求項２９記載の装置。
【請求項３１】
マルチメディアデータを処理するための命令群を機械読み取り可能な媒体であって、前記命令は、実行されると、機械に、
前記マルチメディアデータのフレームを、Ｉフレーム、チャネル切替フレーム、およびＰフレームとして符号化させ；及び
前記符号化Ｉフレームのサイズと、前記符号化チャネル切替フレームおよび前記符号化Ｐフレームのサイズとが、第１の条件を満たす場合、前記符号化Ｉフレームを選択させる、
機械読み取り可能な媒体。
【請求項３２】
前記符号化Ｉフレームのサイズが、前記符号化チャネル切替フレームに前記符号化Ｐフレームを加えたサイズより小さい場合、前記第１の条件が満たされる請求項３１記載の機械読み取り可能な媒体。
【請求項３３】
前記符号化Ｉフレームのサイズと、前記符号化チャネル切替フレーム及び前記符号化Ｐフレームのサイズとが、第２の条件を満たす場合、前記符号化チャネル切替フレーム及び前記符号化Ｐフレームを選択する命令をさらに含む請求項３１記載の機械読み取り可能な媒体。
【請求項３４】
前記符号化チャネル切替フレーム及び前記符号化Ｐフレームのサイズが、前記符号化Ｉフレームのサイズより小さい場合、前記第２の条件が満たされる請求項３３記載の機械読み取り可能な媒体。
【請求項３５】
フレームを符号化することは、第１フレームをＩフレームとして符号化することと、第２フレームをチャネル切替フレームとして符号化することと、を含む請求項３１記載の機械読み取り可能な媒体。
【請求項３６】
空間的複雑さ及び時間的複雑さに基づき、前記符号化Ｉフレームのサイズと、前記チャネル切替フレームおよび前記符号化Ｐフレームのサイズとを推定する命令をさらに含む請求項３１記載の機械読み取り可能な媒体。
【請求項３７】
前記マルチメディアデータのフレームをＢフレームとして符号化し、
前記符号化Ｉフレームと前記符号化Ｂフレームとのうちの少なくとも１つを用いて、第１ベースレイヤデータパケット及び第１拡張レイヤデータパケットを生成し、及び
前記符号化Ｐフレームと前記符号化チャネル切替フレームとのうちの少なくとも１つを用いて、第２ベースレイヤデータパケットおよび第２拡張レイヤデータパケットを生成する命令をさらに含む請求項３１記載の機械読み取り可能な媒体。
【請求項３８】
前記第１拡張レイヤデータパケットと類似するサイズとなるように、前記第１ベースレイヤデータパケットを釣り合わせ、及び、前記第２拡張レイヤデータパケットと類似するサイズとなるように、前記第２ベースレイヤデータパケットを釣り合わせる命令をさらに含む請求項３7記載の機械読み取り可能な媒体。
【請求項３９】
前記第１拡張レイヤデータパケットと同じサイズとなるように、前記第１ベースレイヤデータパケットをパッディングし、及び、前記第２拡張レイヤデータパケットと同じサイズとなるように、前記第２ベースレイヤデータパケットをパッディングする命令をさらに含む請求項３８記載の機械読み取り可能な媒体。
【請求項４０】
前記第１ベースレイヤデータパケットと前記第１拡張レイヤデータパケットとの第１総サイズを決定し、
前記第１総サイズを前記符号化Ｉフレームに割り当て、
前記第２ベースレイヤデータパケットと前記第２拡張レイヤデータパケットとの第２総サイズを決定し、及び
前記第２総サイズを、前記符号化チャネル切替フレームと前記符号化Ｐフレームとのサイズに割り当てる
命令をさらに含む請求項３９記載の機械読み取り可能な媒体。
【請求項４１】
マルチメディアデータを処理する送受信器であって、
前記マルチメディアデータのフレームを、Ｉフレーム、チャネル切替フレーム、およびＰフレームとして符号化し、
前記符号化Ｉフレームのサイズと、前記符号化チャネル切替フレームおよび前記符号化Ｐフレームのサイズとが、第１の条件を満たす場合、前記符号化Ｉフレームを選択する符号化器を含む送受信器。
【請求項４２】
前記符号化Ｉフレームのサイズが、前記符号化チャネル切替フレームに前記符号化Ｐフレームを加えたサイズより小さい場合、前記第１の条件が満たされる請求項４１記載の送受信器。
【請求項４３】
前記符号化器は、前記符号化Ｉフレームのサイズと、前記符号化チャネル切替フレーム及び前記符号化Ｐフレームのサイズとが、第２の条件を満たす場合、前記符号化チャネル切替フレーム及び前記符号化Ｐフレームを選択する請求項４１記載の送受信器。
【請求項４４】
前記符号化チャネル切替フレーム及び前記符号化Ｐフレームのサイズが、前記符号化Ｉフレームのサイズより小さい場合、前記第２の条件が満たされる請求項４３記載の送受信器。
【請求項４５】
フレームを符号化することは、第１フレームをＩフレームとして符号化することと、第２フレームをチャネル切替フレームとして符号化することと、を含む請求項４１記載の送受信器。
【請求項４６】
前記符号化器は、空間的複雑さ及び時間的複雑さに基づき、前記符号化Ｉフレームのサイズと、前記チャネル切替フレームおよび前記符号化Ｐフレームのサイズとを推定する請求項４１記載の送受信器。
【請求項４７】
前記符号化器は、
前記マルチメディアデータのフレームをＢフレームとして符号化し、
前記符号化Ｉフレームと前記符号化Ｂフレームとのうちの少なくとも１つを用いて、第１ベースレイヤデータパケット及び第１拡張レイヤデータパケットを生成し、及び
前記符号化Ｐフレームと前記符号化チャネル切替フレームとのうちの少なくとも１つを用いて、第２ベースレイヤデータパケットおよび第２拡張レイヤデータパケットを生成する、
請求項４１記載の送受信器。
【請求項４８】
前記第１拡張レイヤデータパケットと類似するサイズとなるように、前記第１ベースレイヤデータパケットを釣り合わせ、及び、前記第２拡張レイヤデータパケットと類似するサイズとなるように、前記第２ベースレイヤデータパケットを釣り合わせる、バランシングモジュールをさらに含む請求項４7記載の送受信器。
【請求項４９】
前記第１拡張レイヤデータパケットと同じサイズとなるように、前記第１ベースレイヤデータパケットをパッディングし、及び、前記第２拡張レイヤデータパケットと同じサイズとなるように、前記第２ベースレイヤデータパケットをパッディングするパッディングモジュールをさらに含む請求項４８記載の送受信器。
【請求項５０】
前記符号化器は、
前記第１ベースレイヤデータパケットと前記第１拡張レイヤデータパケットとの第１総サイズを決定し、
前記第１総サイズを前記符号化Ｉフレームに割り当て、
前記第２ベースレイヤデータパケットと前記第２拡張レイヤデータパケットとの第２総サイズを決定し、及び
前記第２総サイズを、前記符号化チャネル切替フレームと前記符号化Ｐフレームとのサイズに割り当てる
請求項４9記載の送受信器。
【請求項５１】
マルチメディアデータを処理する集積回路であって、
前記マルチメディアデータのフレームを、Ｉフレーム、チャネル切替フレーム、およびＰフレームとして符号化し、
前記符号化Ｉフレームのサイズと、前記符号化チャネル切替フレームおよび前記符号化Ｐフレームのサイズとが、第１の条件を満たす場合、前記符号化Ｉフレームを選択する、符号化回路を含む集積回路。
【請求項５２】
前記符号化Ｉフレームのサイズが、前記符号化チャネル切替フレームに前記符号化Ｐフレームを加えたサイズより小さい場合、前記第１の条件が満たされる請求項５１記載の集積回路。
【請求項５３】
前記符号化回路は、前記符号化Ｉフレームのサイズと、前記符号化チャネル切替フレーム及び前記符号化Ｐフレームのサイズとが、第２の条件を満たす場合、前記符号化チャネル切替フレーム及び前記符号化Ｐフレームを選択する請求項５１記載の集積回路。
【請求項５４】
前記符号化チャネル切替フレーム及び前記符号化Ｐフレームのサイズが、前記符号化Ｉフレームのサイズより小さい場合、前記第２の条件が満たされる請求項５３記載の集積回路。
【請求項５５】
フレームを符号化することは、第１フレームをＩフレームとして符号化することと、第２フレームをチャネル切替フレームとして符号化することと、を含む請求項５１記載の集積回路。
【請求項５６】
前記符号化回路は、空間的複雑さ及び時間的複雑さに基づき、前記符号化Ｉフレームのサイズと、前記チャネル切替フレームおよび前記符号化Ｐフレームのサイズとを推定する請求項５１記載の集積回路。
【請求項５７】
前記符号化回路は、
前記マルチメディアデータのフレームをＢフレームとして符号化し、
前記符号化Ｉフレームと前記符号化Ｂフレームとのうちの少なくとも１つを用いて、第１ベースレイヤデータパケット及び第１拡張レイヤデータパケットを生成し、及び
前記符号化Ｐフレームと前記符号化チャネル切替フレームとのうちの少なくとも１つを用いて、第２ベースレイヤデータパケットおよび第２拡張レイヤデータパケットを生成する、
請求項５１記載の集積回路。
【請求項５８】
前記第１拡張レイヤデータパケットと類似するサイズとなるように、前記第１ベースレイヤデータパケットを釣り合わせ、及び、前記第２拡張レイヤデータパケットと類似するサイズとなるように、前記第２ベースレイヤデータパケットを釣り合わせる、バランシング回路をさらに含む請求項５7記載の集積回路。
【請求項５９】
前記第１拡張レイヤデータパケットと同じサイズとなるように、前記第１ベースレイヤデータパケットをパッディングし、及び、前記第２拡張レイヤデータパケットと同じサイズとなるように、前記第２ベースレイヤデータパケットをパッディングするパッディング回路をさらに含む請求項５８記載の集積回路。
【請求項６０】
前記符号化回路は、
前記第１ベースレイヤデータパケットと前記第１拡張レイヤデータパケットとの第１総サイズを決定し、
前記第１総サイズを前記符号化Ｉフレームに割り当て、
前記第２ベースレイヤデータパケットと前記第２拡張レイヤデータパケットとの第２総サイズを決定し、及び
前記第２総サイズを、前記符号化チャネル切替フレームと前記符号化Ｐフレームとのサイズに割り当てる
請求項５9記載の集積回路。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本特許出願は、２００７年３月１日に出願され、この譲受人に譲渡され、ここに参照として明示的に組込まれている、「ＳＹＳＴＥＭＳ  ＡＮＤ  ＭＥＴＨＯＤＳ  ＦＯＲ  ＡＤＡＰＴＩＶＥＬＹ  ＤＥＣＩＤＩＮＧ、ＩＦＲＡＭＥＳ  ＦＯＲ  ＡＣＱＵＩＳＩＴＩＯＮ  ＡＮＤ  ＢＡＳＥ  ＡＮＤ  ＥＮＨＡＮＣＥＭＥＮＴ  ＬＡＹＥＲ、ＢＡＬＡＮＣＩＮＧ」というタイトルの仮出願６０／８９２，３３７の優先権を主張する。
【技術分野】
【０００２】
本発明は、オーディオデータ、ビデオデータあるいはこれら両方を含むことがあるマルチメディアデータの符号化に関する。より詳しくは、本発明は、取得と、ベース及び拡張レイヤとの釣り合いのためにＩフレームを適応的に決定することに関連する。
【背景技術】
【０００３】
マルチメディアデータは、オーディオデータ、ビデオデータ、あるいはオーディオ及びビデオデータの組合せになりえる。マルチメディアデータは、１つまたは複数のフレームまたはピクチャを表わす多くのビットを含む。マルチメディアデータは、Ｉフレーム（イントラ符号化フレーム）で始まり、その後、１つまたは複数のＢフレーム（双方向フレームbi-directional frame）またはＰフレーム（予測フレームpredictive frame）が続く。一般に、Ｉフレームは、フレームを表示するための全てのデータを記憶し、Ｂフレームは１つ又は複数の前のおよび／または後のフレームに依存する（例えば、前のフレームから変化したデータを単に含むか、後のフレーム中のデータとは異なることがある）。また、Ｐフレームは、前のフレームから変化したデータを含む。一般的な用法では、Ｉフレームは、符号化されたマルチメディアデータ中にＢフレームおよびＰフレームとともにちりばめられている。サイズ（例えば、フレームを符号化するために用いられるビット）の点から、Ｉフレームは通常Ｐフレームより大きく、それは通常Ｂフレームより大きい。
【０００４】
マルチメディアデータは異なる複数のショット（すなわちシーン）に分割することができる。ショットは、１つのアクションについて連続する複数のビデオフレームをもつビデオシーケンスである。連続する２つのフレームが異なるイメージあるいは場面を作り出す場合、シーンチェンジが生じる。シーンチェンジは、多くのシーンチェンジアルゴリズムを用いて検出することができ、マルチメディアデータの効率的な符号化の重要な部分になりえる。一連のフレーム中の１つのフレームが、前のフレームと比較して異なるシーンを示すデータをもつとき、シーンチェンジが生じる。一般に、一連のフレームは、任意の隣接した２つまたは３つの（あるいはより多くの）フレームに著しい変化を持たないことがあり、あるいは、遅い変化、あるいは速い変化があってもよい。
【０００５】
シーンが著しく変化しないとき、多くのＢフレームおよびＰフレームが後続するＩフレームは、後のマルチメディアデータの復号および表示が視覚的に許容できるように、ビデオを十分に符号化することができる。しかし、シーンが著しく、突然またはゆっくり変わるとき、追加のＩフレームおよびそれほど予測的でない符号化（ＢフレームおよびＰフレーム）は、続いて復号される視覚的に許容できる結果を生成するために用いられる。急なシーンチェンジとして分類されたフレームの内容は、その前のフレームとは異なるため、急なシーンチェンジフレームは、通常Ｉフレームとして符号化されるべきである。しかし、シーンチェンジ検出は必ずしも正確だとは限らないので、マルチメディアデータをＩフレーム、Ｂフレーム、またはＰフレームとして符号化するかどうかを決定することにおける改良は、符号化効率を改善することができる（すなわち、符号化されるビットの数を減少させる）。
【発明の概要】
【０００６】
この発明は、マルチメディアデータを処理する装置、システムおよび方法を含む。マルチメディアデータを処理する方法は、前記マルチメディアデータのフレームをＩフレーム、チャネル切替フレーム、及びＰフレームとして符号化すること、及び、前記符号化されたＩフレームのサイズと、前記符号化されたチャネル切替フレームおよび前記符号化されたＰフレームのサイズとが第１の条件を満たす場合、前記符号化されたＩフレームを選択すること、を含む。
【０００７】
マルチメディアデータを処理する装置は、前記マルチメディアデータのフレームを、Ｉフレーム、チャネル切替フレーム、及びＰフレームとして符号化し、符号化されたＩフレームのサイズと、前記符号化されたチャネル切替フレームおよび前記符号化されたＰフレームのサイズとが、第１の条件を満たす場合、前記符号化されたＩフレームを選択する符号化器を含むことがある。
【０００８】
マルチメディアデータを処理する装置は、前記マルチメディアデータのフレームを、Ｉフレーム、チャネル切替フレーム、及びＰフレームとして符号化する手段を含むことがある。前記符号化する手段は、また、前記マルチメディアデータのフレームをBフレームとして符号化し、前記符号化されたＩフレームと前記符号化されたＢフレームとのうちの少なくとも１つを用いて第１ベースレイヤデータパケット及び第１拡張レイヤデータパケットを生成し、前記符号化されたＰフレームと前記チャネル切替フレームとのうちの少なくとも１つを用いて、第２ベースレイヤデータパケット及ぶ第２拡張レイヤデータパケットを生成する。前記装置は、さらに、前記符号化されたＩフレームのサイズと、前記符号化されたチャネル切替フレーム及び前記符号化されたＰフレームのサイズとが第１の条件を満たす場合、前記符号化されたＩフレームを選択する手段を含むことがある。
【０００９】
機械読み取り可能な媒体は、マルチメディアデータを処理する命令を含むことがあり、前記命令は実行されると、機械に、前記マルチメディアデータのフレームをＩフレーム、チャネル切替フレーム、及びＰフレームとして符号化させ、前記符号化されたＩフレームのサイズと、前記符号化されたチャネル切替フレーム及び前記符号化されたＰフレームのサイズとが第１の条件を満たす場合、前記符号化されたＩフレームを選択させる。
【００１０】
発明の特徴、オブジェクトおよび利点は、図面とともに考慮されると、以下に述べられた詳細な説明からより明白になるだろう。
【図面の簡単な説明】
【００１１】
【図１】マルチメディアデータの符号化及び復号を行うシステムのブロック図。
【図２】非レイヤモードで動作する符号化装置のブロック図。
【図３Ａ】非レイヤモードにおける取得のためにマルチメディアデータを選択する方法のフローチャート。
【図３Ｂ】非レイヤモードにおける取得のためにマルチメディアデータを選択する方法のフローチャート。
【図４】レイヤモードで動作する符号化装置のブロック図。
【図５Ａ】レイヤモードにおける獲得のためにマルチメディアデータを選択する方法のフローチャート。
【図５Ｂ】レイヤモードにおける獲得のためにマルチメディアデータを選択する方法のフローチャート。
【図５Ｃ】レイヤモードにおける獲得のためにマルチメディアデータを選択する方法のフローチャート。
【図６】符号化方法に基づいた典型的なベースレイヤおよび拡張レイヤ構成。
【図７】多くの符号化フレームについての符号化順、表示順、Ｐフレームサイズ、及びＢフレームサイズを示すテーブル。
【図８】正常なＩフレーム符号化方法を実施したときと、正常なＩフレーム符号化方法を実施しないときとのベースレイヤ及び拡張レイヤで生成されるバイト数を示すテーブル。
【発明を実施するための形態】
【００１２】
本発明の種々の特徴の実施形態を実装する装置、システム、および方法が、ここに、図面を参照して説明される。図面および関連する説明は、発明のいくつかの実施形態を説明するために提供されるが、この発明の範囲を制限するものではない。図面の全体にわたって、参考番号は参考されるエレメント間で同じものを示すために再度使用される。さらに、各参照番号の最初の数字は、当該エレメントが最初に現われる図を示す。
【００１３】
図１は、マルチメディア（例えばビデオ、オーディオあるいは両方）データの符号化及び復号を行うシステム１００のブロック図である。マルチメディアデータは、一連のピクチャまたはビデオフレームの形式でもよい。システム１００はマルチメディアデータを、符号化（例えば、圧縮）したり、復号（例えば解凍）したりするように構成されてもよい。システム１００は、サーバ１０５、デバイス１１０、および、デバイス１１０にサーバ１０５を接続する通信チャンネル１１５を含むことがある。システム１００は、マルチメディアデータの符号化及び復号を行う、以下に述べる方法を説明するために使用されることがある。システム１００は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコードあるいはそれの任意の組合せを用いて実装されることがある。１つまたは複数のエレメントを配置および／または組み合わすことができ、この発明の趣旨及び範囲を維持しながら、システム１００の代わりに他のシステムも用いることができる。さらなるエレメントをシステム１００に追加してもよいし、あるいは、この発明の趣旨および範囲を維持しながらシステム１００から取り除いてもよい。
【００１４】
サーバ１０５はプロセッサ１２０、記憶媒体１２５、符号化器１３０およびＩ／Ｏデバイス１３５（例えばトランシーバ）を含むことがある。プロセッサ１２０および／または符号化器１３０は、一連のピクチャまたはビデオフレームの形で、マルチメディアデータを受信することがある。プロセッサ１２０および／または符号化器１３０は、アドバンストＲＩＳＣマシン（ＡＲＭ：Advanced RISC Machine）、コントローラ、デジタル信号プロセッサ（ＤＳＰ）、マイクロプロセッサあるいはマルチメディアデータを処理することができる他のデバイスでもよい。プロセッサ１２０および／または符号化器１３０は、記憶するためにマルチメディアデータを記憶媒体１２５に送信してもよいし、及びまたは、マルチメディアデータを符号化してもよい。記憶媒体１２５は、さらに、サーバ１０５の動作および機能を制御するために、プロセッサ１２０および／または符号化器１３０によって用いられるコンピュータ命令を記憶することがある。記憶媒体１２５は、マルチメディアデータを記憶する１つまたは複数のデバイス、および／または情報を記憶する他の機械読み取り可能な媒体を表わすことがある。用語「機械読み取り可能媒体」は、これに限定するものではないが、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、読み出し専用メモリ（ＲＯＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ、無線チャネル、及び、命令群およびまたはデータを格納、包含または、運ぶことのできる種々の他の媒体を含む。
【００１５】
記憶媒体１２５から受信されたコンピュータ命令を用いて、符号化器１３０はマルチメディアデータの並列および順次処理（例えば符号化）の両方を実行する。以下の方法に説明されるように、コンピュータ命令が実行されてもよい。一旦マルチメディアデータが符号化されれば、符号化されたマルチメディアデータは、通信チャンネル１１５によってデバイス１１０への送信のためにＩ／Ｏデバイス１３５へ送られることがある。
【００１６】
デバイス１１０は、プロセッサ１４０、記憶媒体１４５、復号器１５０、Ｉ／Ｏデバイス１５５（例えばトランシーバ）、およびディスプレイデバイスまたはスクリーン１６０を含むことがある。デバイス１１０は、コンピュータ、ディジタルビデオレコーダ、送受信器handset device（例えば携帯電話、モバイルユニット、ブラックベリー（Blackberry）、ｉＰｈｏｎｅなど）、セットトップボックス、テレビ、および、マルチメディアデータを受信、処理（例えば、圧縮）および／または表示することができる他のデバイスでもよい。Ｉ／Ｏデバイス１５５は、符号化されたマルチメディアデータを受信し、該符号化されたマルチメディアデータは、圧縮のために復号器１５０およびまたは記憶媒体１４５へ送られる。復号器１５０は、符号化されたマルチメディアデータを用いて、該マルチメディアデータを再生する。一旦復号されると、マルチメディアデータは記憶媒体１４５に保存することができる。記憶媒体１４５から検索されたコンピュータ命令群を用いて、復号器１５０は、マルチメディアデータの並列および順次処理（例えば減圧）の両方を実行し、一連のピクチャまたはビデオフレームを再生する。以下の方法に説明されるように、コンピュータ命令群が実装されてもよい。プロセッサ１４０は、記憶媒体１４５および／または復号器１５０からマルチメディアデータを受信し、該マルチメディアデータをディスプレイデバイス１６０に表示することがある。記憶媒体１４５は、さらに、デバイス１１０の動作および機能を制御するために、プロセッサ１４０および／または復号器１５０によって用いられるコンピュータ命令群を格納してもよい。
【００１７】
通信チャンネル１１５は、サーバ１０５とデバイス１１０との間で符号化されたマルチメディアデータを送信するために使用されてもよい。通信チャンネル１１５は、有線接続またはネットワーク、およびまたは無線接続またはネットワークでもよい。例えば、通信チャンネル１１５は、インターネット、同軸ケーブル、光ファイバーライン、衛星リンク、地上リンク、無線リンク、信号を伝搬することのできる他の媒体、およびこれらの任意の組合せを含むことができる。
【００１８】
図２は、非レイヤモードで動作する符号化装置２００のブロック図である。装置２００の符号化は、図１の符号化器１３０の代わりに用いてもよいし、符号化器１３０の一部でもよい。非レイヤモードにおいて、単一レイヤが、マルチメディアデータに使用され、また、フレームは、パケットフォーマット（例えばスーパフレーム）でグループ化されることがある。符号化装置２００は、符号器２０５および比較モジュール２１０を含むことがある。符号化器２０５と比較モジュールとの間をつなぐフィードバックループ２１５は、マルチパス（例えば２つのパス）符号化及びトランスコーディング（transcoding）を可能にする。マルチパス符号化及びトランスコーディングにおいて、符号化器２０５は、第２パス符号化または再符号化前の各フレームの複雑さについての情報をもつ。符号化器２０５につながれたフィードフォワードループ２２０は、第２及び後続のパスの間、符号化されたマルチメディアデータが比較モジュール２１０をスキップすることを可能にする。
【００１９】
図３Ａおよび３Ｂは、非レイヤモードにおける取得のために、マルチメディアデータを選択する方法のフローチャートである。図２、３Ａおよび３Ｂを参照すると、マルチメディアデータは、ビットのストリームの形で符号化器２０５により受信される（ブロック３０５）。ビットのストリームは、１つ又は複数のスーパーフレームとしてグループ化または組織化されることがある。一実施形態において、スーパーフレームはマルチメディアデータの約１秒に等しい。例えば、各スーパーフレームは、マルチメディアデータのフレームレートに依存して、１、１２、１５、２４、３０あるいは６０個のフレーム、または他の数のフレームをもつことがある。用語“フレーム”は、この開示において、用語“スーパーフレームと置き換えることができ、これらは、この開示の全体にわたって交換可能に使用することができる。用語“サイズ”は、この開示において、用語“スーパーフレームサイズ”と置き換えることができ、これらは、この開示の全体にわたって交換可能に使用することができる。さらに、ここに説明された装置及び方法は、ブロック、マクロブロック、フレームおよびスーパーフレームのようなマルチメディアデータの任意の部分に実行することができる。
【００２０】
符号化器２０５は、符号化すべきスーパーフレーム中で、１つまたは複数のフレームを選択する。一実施形態では、符号器２０５は、Ｉフレーム符号化及びチャネル切替フレーム符号化のための取得ポイントである、マルチメディアデータの各スーパーフレームにつき、１つ又は複数のフレーム（例えば、１つ又は複数のシーンチェンジフレーム）を検出及び選択するためのシーンチェンジ検出アルゴリズムを用いることがある（ブロック３１０）。Ｉフレーム符号化のために選択されたフレームは、チャネル切替フレーム符号化のために選択されたフレームとは同じかもしれないし、同じではないかもしれない。例えば、フレーム１がＩフレーム符号化のために選択され、フレーム７がチャネル切替フレーム符号化のために選択されてもよい。この例において、配置されたＰフレームはフレーム１である。したがって、符号化器２０５は、Ｉフレーム及びＰフレームとしてフレーム１を符号化し、チャネル切替フレームとしてフレーム７を符号化する。別の実施形態では、符号化器２０５は、Ｉフレーム符号化、チャネル切替フレーム符号化、およびＰフレーム符号化に、スーパーフレーム中で同じフレーム（例えばフレーム１）を選択することがある。
【００２１】
以下にさらに議論されるように、選択されたフレームは、多くの異なる符号化アルゴリズムを用いて符号化されてもよい。例えば、選択されたフレームは、３つの異なる符号化アルゴリズムを用いて符号化されて、標準品質のＩフレーム、チャネル切替フレーム（例えば、低品質Ｉフレーム）、およびＰフレームのような、符号化マルチメディアデータを生成する。チャネル切替フレームおよび標準品質のＰフレームは、配置された取得ポイントである。符号化器２０５は、例えば、符号化効率、取得ポイント、およびパケット化に基づき、Ｉフレーム、チャネル切替フレーム、およびＰフレームとして選択された１つまたは複数のフレームを符号化すべきかどうか、そしてそれはいつ符号化するかを適応的に決定する。
【００２２】
符号化器２０５は、マルチメディアデータ（例えば１つまたは複数の選択されたフレーム）を、Ｉフレームとして符号化する（ブロック３１５）。一実施形態では、符号化器２０５は、１つまたは複数の選択されたフレームを、標準品質のＩフレームとして符号化するＩフレーム符号化アルゴリズムを用いる。例えば、標準品質のＩフレームは、レート制御アルゴリズムに基づく効果または品質を破らないようにするために、前の隣接フレームと同じかまたは類似する品質をもつことができる。Ｉフレーム符号化アルゴリズムは、標準品質をもつ符号化Ｉフレームを生成するために用いられる。
【００２３】
符号化器２０５は、マルチメディアデータ（例えば、１つまたは複数の選択されたフレーム）をチャネル切替フレームとして符号化する（ブロック３２０）。一実施形態では、符号化器２０５は、１つまたは複数の選択されたフレームをチャネル切替フレームまたは低品質Ｉフレームとして符号化するために、低品質Ｉフレーム符号化アルゴリズムを用いる。低品質Ｉフレーム符号化アルゴリズムを用いることにより、チャネル切替フレームの量子化パラメータ（ＱＰ）は、配置されたＰフレームのＱＰよりある値だけ増加されることがある。チャネル切替フレーム符号化アルゴリズムは、低品質の符号化Ｉフレームを生成するために用いられる。
【００２４】
符号化器２０５は、マルチメディアデータ（例えば、１つまたは複数の選択されたフレーム）をＰフレームとして符号化する（ブロック３２５）。一実施形態では、符号化器２０５は、１つまたは複数の選択されたフレームを、標準品質のＰフレームとして符号化するために、Ｐフレーム符号化アルゴリズムを用いる。例えば、標準品質のＰフレームは、レート制御アルゴリズムに基づく効果または品質を破らないようにするために、前の隣接フレームと同じかまたは類似する品質をもつことができる。Ｐフレーム符号化アルゴリズムは、標準品質をもつ符号化Ｐフレームを生成するために用いられる。ブロック３２８では、符号化器２０５は、マルチメディアデータの１つまたは複数の選択されたフレーム（例えば、スーパーフレーム内の残りのフレーム）を、ＰフレームまたはＢフレームとして符号化する。
【００２５】
マルチメディアデータ（例えば１つまたは複数の選択されたフレーム）用の効率的な符号化アルゴリズムを決定するために、符号化器２０５は、符号化Ｉフレームのサイズ、符号化チャネル切替フレームのサイズ、および符号化Ｐフレームのサイズを決定する（ブロック３３０）。符号化Ｉフレームのサイズ、符号化チャネル切替フレームのサイズ、および符号化Ｐフレームのサイズが、ブロック３１５、３２０および３２５の符号化プロセスの間に決定される場合、ブロック３３０はスキップされてもよい。
【００２６】
図３Ａの中で示されるように、ブロック３１５、３２０、３２５および３２８はスキップされてもよい。ブロック３１５、３２０、３２５および３２８がスキップされる場合、符号化器２０５は、スキップフラグを、符号化器２０５がマルチメディアデータの符号化をスキップしたことを示す「１」に設定する（ブロック３３３）。ブロック３１５、３２０、３２５および３２８がスキップされた場合、符号化器２０５は、Ｉフレームとして符号化された場合の当該１つまたは複数の選択されたフレームのサイズ、チャネル切替フレームとして符号化された場合の当該１つまたは複数の選択されたフレームのサイズ、Ｐフレームとして符号化された場合の当該１つまたは複数の選択されたフレームのサイズを推定する（ブロック３３０）。一実施形態では、マルチメディアデータ（例えば、１つまたは複数の選択されたフレーム）に、空間的複雑さおよび時間的複雑さに基づき当該マルチメディアデータのサイズを推定するために、符号化器２０５により、前処理が実行される。マルチメディアデータの複雑さの量は、Ｉフレーム符号化、チャネル切替フレーム符号化、およびＰフレーム符号化がマルチメディアデータに実行された場合に、符号化器２０５が該マルチメディアデータのサイズを推定することを可能にする。
【００２７】
一旦サイズの決定または推定がなされると、比較モジュール２１０は、符号化チャネル切替フレームに符号化Ｐフレームを加えたサイズと、符号化Ｉフレームのサイズとを比較する（ブロック３３５）。標準品質Ｉフレームのサイズと、低品質Ｉフレームおよび標準品質Ｐフレームのサイズとを比較することにより、比較モジュール２１は、選択されたフレームに最も効率的な符号化アルゴリズムを選択する。一実施形態では、比較モジュール２１０は、符号化チャネル切替フレームに符号化Ｐフレームを加えたスーパーフレームサイズと、符号化Ｉフレームのスーパーフレームサイズとを比較してもよい。比較モジュール２１０は、選択されたフレームについての符号化コードを符号化器２０５へ送信することがある。符号化コードは、選択されたフレームに使用するための符号化タイプを表わす。
【００２８】
ブロック３４０では、符号化器２０５は、スキップフラグが「１」に等しいかどうかを決定する。スキップフラグが「１」に等しい場合、符号化がスキップされたので、符号化器２０５は１つまたは複数の選択されたフレームを符号化する必要がある。
【００２９】
符号化器２０５は、Ｉフレームのサイズが、チャネル切替フレームに、配置されたＰフレームを加えたサイズより小さい場合、Ｉフレーム符号化（すなわち、標準品質Ｉフレーム）を用いて、当該１または複数の選択されたフレームを符号化する（ブロック３４５）。符号化器２０５は、チャネル切替フレームにＰフレームを加えたサイズがＩフレームのサイズより小さい場合、チャネル切替フレーム符号化（すなわち、低品質Ｉフレームとして）およびＰフレーム符号化（すなわち、標準品質Ｐフレームとして）を用いて、当該１つまたは複数の選択されたフレームを符号化する（ブロック３５０）。チャネル切替フレームおよび標準品質Ｐフレームは、取得ポイントとして配置される。従って、符号化器２０５は、最小量のビットまたはバイトを生成する符号化方法を選択する。ブロック３５５では、符号化器２０５は、ＰフレームあるいはＢフレームとして、マルチメディアデータの１つまたは複数の選択されていないフレーム（例えば、スーパーフレーム中の残りのフレーム）を符号化する。
【００３０】
スキップフラグが「１」に等しくない場合、符号化がブロック３１５、３２０、３２５および３２８で実行されないので、符号化器２０５は、当該１つまたは複数の選択されたフレームを符号化する必要はない。符号化器２０５は、符号化Ｉフレームのサイズが、符号化チャネル切替フレームに符号化Ｐフレームを加えたサイズよりも小さい場合、符号化Ｉフレームを選択する（ブロック３６０）。符号化Ｉフレームが選択された場合、符号化器２０５は、符号化チャネル切替フレームおよび符号化Ｐフレームを廃棄することがある。符号化器２０５は、符号化チャネル切替フレームに符号化Ｐフレームを加えたサイズが、符号化Ｉフレームのサイズより小さい場合、符号化チャネル切替フレームと符号化Ｐフレーとを選択する（ブロック３６５）。符号化チャネル切替フレームおよび符号化Ｐフレームが選択された場合、符号化器２０５は符号化Ｉフレームを廃棄することがある。
【００３１】
図４は、レイヤモードで動作する符号化装置４００のブロック図である。
【００３２】
レイヤモードにおいて、ベースレイヤおよび拡張レイヤはマルチメディアデータの処理のために使用される。符号化装置４００は、符号化器４０５、バランシング（balancing）／パッディング（padding）モジュール４１０、比較モジュール４１５、およびパケット化モジュール４２０を含むことがある。符号化器４０５と比較モジュール４１５との間をつなぐフィードバックループ４２５は、マルチパス（例えば２つのパス）符号化およびトランスコーディングを可能にする。マルチパス符号化またはトランスコーディングにおいて、符号化器４０５は、第２パス符号化または再符号化前の各フレームの複雑さについての情報をもつ。符号化装置４００は、図１の符号化器１３０の代わりに用いてもよいし、符号化器１３０の一部でもよい。
【００３３】
図５Ａ、５Ｂおよび５Ｃは、レイヤモードにおける取得のためのマルチメディアデータの選択方法のフローチャートである。図４、５Ａ、５Ｂおよび５Ｃを参照すると、マルチメディアデータは、ビットのストリームのかたちで、符号化器４０５によって受信される。当該ビットのストリームは、１つまたは複数のスーパーフレームとしてグループ化または組織化されることがある。符号化器４０５は、符号化するべきスーパーフレーム中で、シーンチェンジフレームを選択する。一実施形態では、符号化器４０５は、Ｉフレーム符号化及びチャネル切替フレーム符号化のための取得ポイントである、マルチメディアデータの各スーパーフレームにつき、１つ又は複数のフレーム（例えば、１つ又は複数のシーンチェンジフレーム）を検出及び選択するためのシーンチェンジ検出アルゴリズムを用いることがある（ブロック５１０）。Ｉフレーム符号化のために選択されたフレームは、チャネル切替フレーム符号化のために選択されたフレームとは同じかもしれないし、同じではないかもしれない。
【００３４】
以下に議論されるように、選択されたフレームは、多くの異なる符号化アルゴリズムを使用して符号化されてもよい。例えば、選択されたフレームは、３つの異なる符号化アルゴリズムを用いて符号化されて、標準品質のＩフレーム、チャネル切替フレーム（例えば、低品質Ｉフレーム）、およびＰフレームのような、符号化マルチメディアデータを生成する。チャネル切替フレームおよび標準品質のＰフレームは、配置された取得ポイントである。符号化器４０５は、例えば、符号化効率、取得ポイント、およびパケット化に基づき、Ｉフレーム、チャネル切替フレーム、およびＰフレームとして選択された１つまたは複数のフレームを符号化すべきかどうか、そしてそれはいつ符号化するかを適応的に決定する。
【００３５】
符号化器４０５は、マルチメディアデータ（例えば、１つまたは複数の選択されたフレーム）を符号化する（ブロック５１５）。一実施形態では、符号化器４０５は、当該１つまたは複数の選択されたフレームを標準品質のＩフレームとして符号化するために、Ｉフレーム符号化アルゴリズムを用いる。例えば、標準品質のＩフレームは、レート制御アルゴリズムに基づく効果または品質を破らないようにするために、前の隣接フレームと同じかまたは類似する品質をもつことができる。Ｉフレーム符号化アルゴリズムは、標準品質をもつ符号化Ｉフレームを生成するために用いられる。
【００３６】
符号化器４０５は、マルチメディアデータ（例えば、１つまたは複数の選択されたフレーム）をチャネル切替フレームとして符号化する（ブロック５２０）。一実施形態では、符号器４０５は、１つまたは複数の選択されたフレームを、チャネル切替フレームまたは低品質Ｉフレームとして符号化するために、低品質Ｉフレーム符号化アルゴリズムを用いる。低品質Ｉフレーム符号化アルゴリズムを用いることにより、チャネル切替フレームの量子化パラメータ（ＱＰ）は、配置されたＰフレームのＱＰよりある値だけ増加される場合がある。チャネル切替フレーム符号化アルゴリズムは、低品質の符号化Ｉフレームを生成するために用いられる。
【００３７】
符号器４０５は、マルチメディアデータ（例えば、１つ又は複数の選択されたフレーム）を、Ｐフレームとして符号化する（ブロック５２５）。一実施形態では、符号器４０５は、１つ又は複数の選択されたフレームを標準品質のＰフレームとして符号化するために、Ｐフレーム符号化アルゴリズムを使用する。標準品質のＰフレームは、レート制御アルゴリズムに基づく効果または品質を破らないようにするために、前の隣接フレームと同じかまたは類似する品質をもつことができる。Ｐフレーム符号化アルゴリズムは、標準品質の符号化Ｐフレームを生成するために用いられる。ブロック５２８では、符号化器４０５は、マルチメディアデータの１つまたは複数の選択されていないフレーム（例えばスーパーフレーム中の残りのフレーム）を、ＰフレームまたはＢフレームとして符号化する。
【００３８】
図５Ａに示されるように、ブロック５１５、５２０、５２５および５２８はスキップされてもよい。ブロック５１５、５２０、５２５および５２８がスキップされる場合、符号化器４０５は、スキップフラグを、符号化器４０５がマルチメディアデータの符号化をスキップしたことを示す「１」に設定する（ブロック５３３）。
【００３９】
ブロック５３０では、符号器４０５は、スキップフラグが「１」に等しいかどうかを決定する。スキップフラグが「１」に等しい場合、符号化器４０５は、Ｉフレームとして符号化される場合の当該１つ又は複数の選択されたフレームのサイズ、チャネル切替フレームとして符号化される場合の当該１つまたは複数の選択されたフレームのサイズ、およびＰフレームとして符号化される場合の当該１つまたは複数の選択されたフレームのサイズを推定する（ブロック５３５）。一実施形態では、マルチメディアデータ（例えば、１つまたは複数の選択されたフレーム）に、空間的複雑さおよび時間的複雑さに基づき当該マルチメディアデータのサイズを推定するために、符号化器２０５により、前処理が実行される。マルチメディアデータの複雑さの量は、Ｉフレーム符号化、チャネル切替フレーム符号化、およびＰフレーム符号化がマルチメディアデータに実行された場合に、符号化器２０５が該マルチメディアデータのサイズを推定することを可能にする。
【００４０】
マルチメディアデータが符号化されていないので、符号化器４０５は、Ｉフレーム符号化、チャネル切替フレーム符号化、及びＰフレーム符号化がマルチメディアデータに実行される場合の当該マルチメディアデータのサイズの少なくとも１つを用いて、ベースレイヤデータパケット及び拡張レイヤデータパケットをシミュレートする（ブロック５４０）。マルチメディアデータのサイズは、符号化器４０５が、ベースレイヤデータパケットおよび拡張レイヤデータパケットのコンテンツを予測することを可能にする。
【００４１】
スキップフラグが「１」に等しくない場合、符号化器４０５は、符号化Ｉフレームのサイズ、符号化チャネル切替フレームのサイズ、および符号化Ｐフレームのサイズを決定する（ブロック５４５）。符号化Ｉフレームのサイズ、符号化チャネル切替フレームのサイズ、および符号化Ｐフレームのサイズが、ブロック５１５、５２０および５２５の符号化プロセスの間に決定される場合には、ブロック５４５はスキップされることがある。
【００４２】
マルチメディアデータが符号化されたので、符号化器４０５は、（１）符号化Ｉフレーム、及び（２）符号化チャネル切替フレーム及び符号化Ｐフレームについて、ベースレイヤデータパケットおよび拡張レイヤデータパケットを生成する（ブロック５５０）。従って、符号化器４０５は２つのベースレイヤデータパケットおよび２つの拡張レイヤデータパケットを生成する。すなわち、Ｉフレーム符号化について１つのベースレイヤデータパケットおよび１つの拡張レイヤデータパケット、チャネル切替フレームおよびＰフレーム符号化について１つのベースレイヤデータパケット及び１つの拡張レイヤデータパケット。
【００４３】
バランシング／パッディングモジュール４１０は、ベースレイヤデータパケットと拡張レイヤデータパケットとが同じサイズとなるように、釣り合わせる（バランスをとる）（ブロック５５５）。ベースレイヤのサイズが拡張レイヤのサイズと異なる場合、バランシング／パッディングモジュール４１０は、当該２つのレイヤのサイズが類似するように、大きい方のレイヤから小さい方のレイヤへ、複数のフレームまたは複数のフレームの一部を移動（move または transfer）することがある。一実施形態では、バランシング／パッディングモジュール４１０は、ＢフレームまたはＰフレームを選択して、１つのレイヤから他のレイヤへ移動する。釣り合わせることは、パディングするビットあるいはバイトの数を減らす。一旦、釣り合わせることが完了すると、バランシング／パッディングモジュール４１０は、ベースレイヤのサイズおよび拡張レイヤのサイズを決定し、大きい方のレイヤと等しくなるように、小さい方のレイヤを埋めるかまたはパッディングする（ブロック５６０）。
【００４４】
比較モジュール４１５は、標準品質のＩフレームについて、ベースレイヤに拡張レイヤを加えた第１総サイズを計算または決定する（ブロック５６５）。比較モジュール４１５は、低品質Ｉフレーム及び標準品質Ｐフレームについて、ベースレイヤに拡張レイヤを加えた第２総サイズを計算または決定する（ブロック５７０）。
【００４５】
ブロック５７５では、符号化器４０５は、スキップフラグが「１」に等しいかどうかを決定する。スキップフラグが「１」に等しい場合、符号化がスキップされたので、符号化器４０５は１つまたは複数のフレームを符号化する必要がある。符号化器４０５は、Ｉフレームのサイズが、チャネル切替フレームに配置されたＰフレームを加えたサイズより小さい場合、Ｉフレーム符号化（例えば、標準品質のＩフレーム）を用いて、１つまたは複数の選択されたフレームを符号化する（ブロック５８０）。符号化器４０５は、チャネル切替フレームにＰフレームを加えたサイズが、Ｉフレームのサイズより小さい場合、チャネル切替フレーム符号化（すなわち、低品質Ｉフレームとして）およびＰフレーム符号化（すなわち、標準品質Ｐフレームとして）を用いて、１つまたは複数の選択されたフレームを符号化する（ブロック５８５）。チャネル切替フレームおよび標準品質のＰフレームは、取得ポイントとして配置される。ブロック５９０では、符号化器４０５は、マルチメディアデータの１つまたは複数の選択されていないフレーム（例えば、スーパーフレーム中の残りのフレーム）を、ＰフレームあるいはＢフレームとして符号化する。
【００４６】
スキップフラグが「１」に等しくない場合、符号化はブロック５１５、５２０および５２５で実行されないので、符号化器４０５は１つ又は複数の選択されたフレームを符号化する必要はない。符号化器４０５は、第１総サイズが第２総サイズより小さい場合、符号化Ｉフレームのベースレイヤデータパケットおよび拡張レイヤデータパケットを選択する（ブロック５９２）。符号化Ｉフレームが選択された場合、符号化器４０５である、符号化チャネル切替フレームおよび符号化Ｐフレーム用のベースレイヤデータパケットおよび拡張レイヤデータパケットを廃棄することがある。第２総サイズが第１総サイズより小さい場合、符号化器４０５は、符号化チャネル切替フレーム及び符号化Ｐフレームのベースレイヤデータパケットおよび拡張レイヤデータパケットを選択する（ブロック５９４）。符号化チャネル切替フレームおよび符号化Ｐフレームが選択された場合、符号化器４０５は、符号化Ｉフレーム用のベースレイヤデータパケットおよび拡張レイヤデータパケットを廃棄することがある。従って、符号化器４０５は、ベースレイヤに拡張レイヤのための最も小さいサイズを生成する符号化方法を選択する。パケット化モジュール４２０は、符号化フレームを、ベースレイヤデータパケットおよび拡張レイヤデータパケットを転送することがある（ブロック５９６）。
【００４７】
図６は、当該符号化方法に基づく典型的なベースレイヤおよび拡張レイヤ構成である。一実施形態では、第１ベースレイヤは最初のＰフレームをもち、第１拡張レイヤは配置されたチャネル切替フレームをもち、第２ベースレイヤは最初のＩフレームをもち、第２拡張レイヤはパッディングされた複数のビットをもつことがある。
【００４８】
図７は、多くの符号化フレームについての、符号化順、表示順、Ｐフレームサイズ、およびＢフレームサイズを説明するテーブルである。ベースレイヤがＩフレームを持っていない場合、全てのＰフレームがベースレイヤへ送られる。ベースレイヤがＩフレームをもつ場合、Ｉフレームまたはその前のＰフレームは（表示順に基づき）、ベースレイヤまたは拡張レイヤに送られ得る。
【００４９】
図８は、標準Ｉフレーム符号化方法を強要したときと、標準Ｉフレーム符号化方法を強要しないときとに、ベースレイヤ及び拡張レイヤで生成されるバイト数を説明するテーブルを説明する。以下で言及されるフレーム番号は、符号化順に基づく。フレーム６０に対応するチャネル切替フレームは、６，４８７バイトをもつ。ベースレイヤおよび拡張レイヤが同じサイズであるので、Ｉフレームが強要されないとき、符号化器４０５は、全てのＰフレームをベースレイヤへ送り、全てのＢフレーム及びチャネル切替フレームを拡張レイヤへ送る。拡張レイヤ（８，８８１バイト）は、そのサイズがベースレイヤのサイズ（２７，４１４バイト）と等しくなるように、詰め物のバイトでパッディングされる。１３，６９２バイトをもつＩフレームが、フレーム７３で強要されたとき（フレーム７３のＰフレームが廃棄される）、符号化器４０５はフレーム６０、７３、７９および８５をベースレイヤへ送り、残りのＰフレーム及び全てのＢフレームが拡張レイヤへ送られる。ベースレイヤ（１６，０９７バイト）は、そのサイズが拡張レイヤ（１９，０９１バイト）と等しくなるように、詰め物のバイトでパッディングされる。図８に示されるように、Ｉフレームを強要しないと、符号化方法は、５４，８２８バイトの第１総サイズとなる。しかし、Ｉフレームを強要することによって、符号化方法は、３８，１８２バイトの第２総サイズとなる。従って、符号化器４０５は、バイトの数を少なくできるので、標準品質のＩフレームを用いる符号化を強要する符号化方法を選択する。
【００５０】
発明のいくつかの実施形態では、マルチメディアデータを処理する装置が開示されている。当該装置は、マルチメディアデータをＩフレーム、チャネル切替フレーム、及びＰフレームとして符号化する手段を含む。マルチメディアデータを符号化する手段は、プロセッサ１２０、符号化器１３０、符号化器２０５および／または符号化器４０５であることがある。該装置は、符号化マルチメディアデータを選択する手段を含むことがある。該選択する手段は、プロセッサ１２０、符号化器１３０、符号化器２０５、比較モジュール２１０、符号化器４０５およびまたは比較モジュール４１５であることがある。該装置は、第１ベースレイヤデータパケットが、第１拡張レイヤデータパケットと類似するサイズとなるように釣り合わせ、第２ベースレイヤデータパケットが、第２拡張レイヤデータパケットと類似するサイズとなるように釣り合わせる手段を含むことがある。該釣り合わせる手段は、プロセッサ１２０、符号化器１３０、符号化器２０５、比較モジュール２１０、符号化器４０５、バランシング／パッディングモジュール４１０、及びまたは比較モジュール４１５であることがある。該装置は、第１ベースレイヤデータパケットを第１拡張レイヤデータパケットと同じサイズとなるようにパッディングし、第２ベースレイヤデータパケットを第２の拡張レイヤデータパケットと同じサイズとなるようにパッディングする手段を含むことがある。該パディングする手段は、プロセッサ１２０、符号化器１３０、符号化器２０５、比較モジュール２１０、符号化器４０５、バランシング／パッディングモジュール４１０、及びまたは比較モジュール４１５であることがある。
【００５１】
当業者には、ここに開示された例に関する種々の具体的な論理ブロック、モジュール、及びアルゴリズムステップが、電子ハードウェア、コンピューターソフトウェアあるいはその両方の組合せとして実装される得ることは言うまでもない。ハードウェアとソフトウェアとの互換性を明確に説明するために、種々の具体的コンポーネント、ブロック、モジュール、回路およびステップが、それらの機能の観点で一般的に上記に説明されている。そのような機能が、ハードウェアまたはソフトウェアとして実装されるかどうかは、システム全体に課された特定用途および設計制約に依存する。熟練者は、当該説明された機能を、特定用途毎に種々の方法で実装することができるが、そのような実装決定は、開示された方法の範囲から逸脱するとは解釈されるべきでない。
【００５２】
種々の例示的な論理的ブロック、モジュール、およびここに示された例に関して説明された回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラム可能論理回路で、個別のゲートまたはトランジスターロジック、個別のハードウェアコンポーネント、あるいは、ここに説明された機能を実行するために設計されたこれらの任意の組合せで実装されたり実行されたりすることがある。汎用プロセッサは、マイクロプロセッサでもよいが、その代わりに、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラあるいはステートマシーンでもよい。プロセッサも、コンピュータ機器、例えば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと併用される１つまたは複数のマイクロプロセッサ、または、任意の他のそのような構成として実装されてもよい。
【００５３】
ここに開示された例に関して説明された方法またはアルゴリズムのステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、あるいはこの２つの組合せで、直接具体化されてもよい。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当該技術分野で既知の任意の他の形式の記憶媒体に存在してもよい。典型的な記憶媒体は、プロセッサが当該記憶媒体に対し情報の読出及び書込が可能なように、当該プロセッサに連結されている。代案では、記憶媒体はプロセッサに組込まれていてもよい。プロセッサと記憶媒体は、特定用途向け集積回路（ＡＳＩＣ）に存在してもよい。ＡＳＩＣは無線モデムに存在してもよい。代案では、プロセッサと記憶媒体は、無線モデム中の個別のコンポーネントとして存在してもよい。
【００５４】
開示された例の前述の説明は、当業者が、開示された方法および装置の製造または使用を可能にするために提供される。これらの例に対する種々の修正は、当業者には容易に理解できるであろう。また、ここに定義された原理は、開示された方法および装置の精神または範囲から逸脱することなく、他の例に適用されることがある。説明された実施形態は、全ての点で、限定的ではなく、単なる例示として、考慮される。従って、本発明の範囲は、先の説明よりは添付のクレームにより示される。クレームと同等の意味および範囲内の全ての変更は、それらの範囲内に包含されることになる。
【図１】
2010520678.tif 000003
【図２】
2010520678.tif 000004
【図３Ａ】
2010520678.tif 000005
【図３Ｂ】
2010520678.tif 000006
【図４】
2010520678.tif 000007
【図５Ａ】
2010520678.tif 000008
【図５Ｂ】
2010520678.tif 000009
【図５Ｃ】
2010520678.tif 000010
【図６】
2010520678.tif 000011
【図７】
2010520678.tif 000012
【図８】
2010520678.tif 000013
【国際調査報告】
2010520678.tif 000014
2010520678.tif 000015