(57)【特許請求の範囲】
【請求項１】
デジタルマルチメディアデータを処理するための方法であって、
デジタルマルチメディアデータの流れと関連づけられた複数のデータセグメントに関する少なくとも品質及びレート情報を受け取ることと、
前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定することと、
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた少なくとも前記品質及びレート情報に基づいてサイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択することと、
前記複数のデータセグメントに関する前記利用可能な帯域幅を達成するために前記１つ以上の選択されたデータセグメントの各々のサイズ変更を要求することとを備え、
前記品質及びレート情報が前記複数のデータセグメントのためにビットレートの関数として品質評価基準を示し、前記品質評価基準は、前記デジタルマルチメディアデータの流れを目標品質レベルで出力することに関連して設定される、方法。
【請求項２】
少なくとも品質及びレート情報を受け取ることは、前記複数のデータセグメントと関連づけられた少なくとも品質−レート曲線を受け取ることを備える請求項１に記載の方法。
【請求項３】
少なくとも品質及びレート情報を受け取ることは、前記複数のデータセグメントと関連づけられた少なくとも品質−レートテーブルを受け取ることを備え、前記品質−レートテーブルの各々は、対応するデータセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項１に記載の方法。
【請求項４】
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まるかどうかを決定することは、
前記品質レベルのうちの選択された１つに対応するサイズで前記データセグメントの各々を送るために必要な送信チャネル資源量を決定することと、
前記データセグメントを送るために必要な前記送信チャネル資源量を合計することと、
すべての前記データセグメントによって要求される送信チャネル資源の前記合計を利用可能な送信チャネル資源量と比較して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まるかどうかを決定することとをさらに備える請求項３に記載の方法。
【請求項５】
サイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択することは、前記データセグメントを送るために必要な前記送信資源の前記合計が利用可能な帯域幅量よりも大きいときにサイズが縮小されるべき前記複数のデータセグメントのうちの１つ以上を選択することを備える請求項４に記載の方法。
【請求項６】
サイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択することは、前記データセグメントを送るために必要な前記送信資源の前記合計が利用可能な帯域幅量よりも少ないときにサイズが拡大されるべき前記複数のデータセグメントのうちの１つ以上を選択することを備える請求項４記載の方法。
【請求項７】
前記複数のデータセグメントのうちの１つ以上を選択することは、
前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別することと、
前記品質−レートテーブルを解析して現在の品質レベルにおける前記識別されたデータセグメントのサイズを決定することと、
前記現在の品質レベルにおいて最大の推定サイズを有する前記識別されたデータセグメントのうちの少なくとも１つを選択することとを備える請求項３に記載の方法。
【請求項８】
前記後続品質レベルにおける前記選択されたデータセグメントの前記サイズを用いて前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定することと、
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた前記品質及びレート情報に基づいてサイズが変更されるべき１つ以上の追加のデータセグメントを選択することとをさらに備える請求項７に記載の方法。
【請求項９】
前記複数のデータセグメントのうちの１つ以上を選択することは、
前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別することと、
前記データセグメントの各々に関して、現在の品質レベルにおける前記識別されたデータセグメントのサイズと前記後続品質レベルにおける前記識別されたデータセグメントのサイズとの間の差を計算することと、
計算された差が最大である前記識別されたデータセグメントのうちの少なくとも１つを選択することとを備える請求項３に記載の方法。
【請求項１０】
前記データセグメントのうちの１つ以上を選択することは、
前記複数のデータセグメントと関連づけられた前記品質及びレート情報を解析することと、
前記解析に基づいて対応する縮小されたサイズにおける品質上の影響が最も小さい前記１つ以上のデータセグメントを選択することとを備える請求項１に記載の方法。
【請求項１１】
前記対応する縮小されたサイズにおける品質上の影響が最も小さい１つ以上のデータセグメントを選択することは、方程式を最大化することを備える請求項１０に記載の方法。
【数１】
0005897447.tif 000015
ここで、ｎはデータセグメント総数であり、ＱＴｏｔａｌは全データセグメントの全体的品質であり、ｋｉはｉ番目のデータセグメントと関連づけられた定数であり、ｒｉはｉ番目のデータセグメントと関連づけられたビットレートであり、Ｒは全体的な利用可能ビットレートであり、ＱＶｉは、ｉ番目のデータセグメントと関連づけられた品質であり、ＱＶ−ｍｉｎｉは、ｉ番目のデータセグメントと関連づけられた最低品質であり、ｗｉはｉ番目のデータセグメントと関連づけられた優先度である。
【請求項１２】
前記選択されたデータセグメントのサイズ変更を要求することは、前記選択されたデータセグメントに関する少なくとも最大サイズを指定することを備える請求項１に記載の方法。
【請求項１３】
ある期間にわたる前記データセグメントのマルチメディアデータを処理することをさらに備える請求項１に記載の方法。
【請求項１４】
サイズ変更に関して選択された前記データセグメントに関する符号化されたコンテンツの転送を要求することと、
前記複数のデータセグメントのうちの残りのデータセグメントに関する符号化されたコンテンツの転送を要求することと、
前記要求に応答して前記複数のデータセグメントの各々に関する前記コンテンツを受け取ることとをさらに備える請求項１に記載の方法。
【請求項１５】
デジタルマルチメディアデータを処理するための装置であって、
前記デジタルマルチメディアデータの流れと関連づけられた複数のデータセグメントに関する少なくとも品質及びレート情報を受け取るデータ収集モジュールと、
前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定する割り当てモジュールと、
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた少なくとも前記品質及びレート情報に基づいてサイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択し及び前記複数のデータセグメントに関する前記利用可能な帯域幅を達成するために前記１つ以上の選択されたデータセグメントの各々のサイズ変更を要求する選択モジュールとを備え、
前記品質及びレート情報が前記複数のデータセグメントのためにビットレートの関数として品質評価基準を示し、前記品質評価基準は、前記デジタルマルチメディアデータの流れを目標品質レベルで出力することに関連して設定される、装置。
【請求項１６】
前記データ収集モジュールは、前記複数のデータセグメントと関連づけられた少なくとも品質−レート曲線を受け取る備える請求項１５に記載の装置。
【請求項１７】
前記データ収集モジュールは、前記複数のデータセグメントと関連づけられた少なくとも品質−レートテーブルを受け取り、前記品質−レートテーブルの各々は、対応するデータセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項１５に記載の装置。
【請求項１８】
前記割り当てモジュールは、前記品質レベルのうちの選択された１つに対応するサイズで前記データセグメントの各々を送るために必要な送信チャネル資源量を決定し、前記データセグメントを送るために必要な前記送信チャネル資源量を合計し、及びすべての前記データセグメントによって要求される送信チャネル資源の前記合計を利用可能な送信チャネル資源量と比較して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まるかどうかを決定する請求項１７に記載の装置。
【請求項１９】
前記選択モジュールは、前記データセグメントを送るために必要な前記送信資源の前記合計が利用可能な帯域幅量よりも大きいときにサイズが縮小されるべき前記複数のデータセグメントのうちの１つ以上を選択する請求項１８に記載の装置。
【請求項２０】
前記選択モジュールは、前記データセグメントを送るために必要な前記送信資源の前記合計が利用可能な帯域幅量よりも少ないときにサイズが拡大されるべき前記複数のデータセグメントのうちの１つ以上を選択する請求項１８に記載の装置。
【請求項２１】
前記選択モジュールは、前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別し、前記品質−レートテーブルを解析して現在の品質レベルにおける前記識別されたデータセグメントのサイズを決定し及び前記現在の品質レベルにおいて最大の推定サイズを有する前記識別されたデータセグメントのうちの少なくとも１つを選択する請求項１７に記載の装置。
【請求項２２】
前記割り当てモジュールは、前記後続品質レベルにおける前記選択されたデータセグメントの前記サイズを用いて前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まるかどうかを決定し、
前記選択モジュールは、前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた前記品質及びレート情報に基づいてサイズが変更されるべき１つ以上の追加のデータセグメントを選択する請求項２１に記載の装置。
【請求項２３】
前記選択モジュールは、前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別し、前記データセグメントの各々に関して、現在の品質レベルにおける前記識別されたデータセグメントのサイズと前記後続品質レベルにおける前記識別されたデータセグメントのサイズとの間の差を計算し、及び計算された差が最大である前記識別されたデータセグメントのうちの少なくとも１つを選択する請求項１７に記載の装置。
【請求項２４】
前記選択モジュールは、前記複数のデータセグメントと関連づけられた前記品質及びレート情報を解析し及び前記解析に基づいて対応する縮小されたサイズにおける品質上の影響が最も小さい前記１つ以上のデータセグメントを選択する請求項１５に記載の装置。
【請求項２５】
前記選択は、方程式を最大化することによって前記１つ以上のデータセグメントを選択する請求項２４に記載の装置。
【数２】
0005897447.tif 000016
ここで、ｎはデータセグメント総数であり、ＱＴｏｔａｌは全データセグメントの全体的品質であり、ｋｉはｉ番目のデータセグメントと関連づけられた定数であり、ｒｉはｉ番目のデータセグメントと関連づけられたビットレートであり、Ｒは全体的な利用可能ビットレートであり、ＱＶｉは、ｉ番目のデータセグメントと関連づけられた品質であり、ＱＶ−ｍｉｎｉは、ｉ番目のデータセグメントと関連づけられた最低品質であり、ｗｉはｉ番目のデータセグメントと関連づけられた優先度である。
【請求項２６】
前記選択モジュールは、サイズ変更を要求時に前記選択されたデータセグメントに関する少なくとも最大サイズを指定する請求項１５に記載の装置。
【請求項２７】
前記データセグメントは、ある期間にわたる前記流れの一部分を備える請求項１５に記載の装置。
【請求項２８】
前記データ収集モジュールは、サイズ変更に関して選択された前記データセグメントに関する符号化されたコンテンツの転送を要求し、前記複数のデータセグメントのうちの残りのデータセグメントに関する符号化されたコンテンツの転送を要求し、及び前記要求に応答して前記複数のデータセグメントの各々に関する前記コンテンツを受け取る請求項１５に記載の装置。
【請求項２９】
デジタルマルチメディアデータを処理するための装置であって、
デジタルマルチメディアデータの流れと関連づけられた複数のデータセグメントに関する少なくとも品質及びレート情報を受け取るための手段と、
前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定するための手段と、
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた前記品質及びレート情報に基づいてサイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択するための手段と、
前記複数のデータセグメントに関する前記利用可能な帯域幅を達成するために前記１つ以上の選択されたデータセグメントの各々のサイズ変更を要求するための手段とを備え、
前記品質及びレート情報が前記複数のデータセグメントのためにビットレートの関数として品質評価基準を示し、前記品質評価基準は、前記デジタルマルチメディアデータの流れを目標品質レベルで出力することに関連して設定される、装置。
【請求項３０】
前記受け取る手段は、前記複数のデータセグメントと関連づけられた少なくとも品質−レート曲線を受け取る請求項２９に記載の装置。
【請求項３１】
前記受け取る手段は、前記複数のデータセグメントと関連づけられた少なくとも品質−レートテーブルを受け取り、前記品質−レートテーブルの各々は、対応するデータセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項２９に記載の装置。
【請求項３２】
前記決定する手段は、前記品質レベルのうちの選択された１つに対応するサイズで前記データセグメントの各々を送るために必要な送信チャネル資源量を決定し、前記データセグメントを送るために必要な前記送信チャネル資源量を合計し、すべての前記データセグメントによって要求される送信チャネル資源の前記合計を利用可能な送信チャネル資源量と比較して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まるかどうかを決定する請求項３１に記載の装置。
【請求項３３】
前記選択する手段は、前記データセグメントを送るために必要な前記送信資源の前記合計が前記利用可能な帯域幅量よりも大きいときにサイズが縮小されるべき前記複数のデータセグメントのうちの１つ以上を選択する請求項３２に記載の装置。
【請求項３４】
前記選択する手段は、前記データセグメントを送るために必要な前記送信資源の前記合計が前記利用可能な帯域幅量よりも少ないときにサイズが拡大されるべき前記複数のデータセグメントのうちの１つ以上を選択する請求項３２記載の装置。
【請求項３５】
前記選択する手段は、前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別し、前記品質−レートテーブルを解析して現在の品質レベルにおける前記識別されたデータセグメントのサイズを決定し及び前記現在の品質レベルにおいて最大の推定サイズを有する前記識別されたデータセグメントのうちの少なくとも１つを選択する請求項３１に記載の装置。
【請求項３６】
前記選択する手段は、前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別し、前記データセグメントの各々に関して、現在の品質レベルにおける前記識別されたデータセグメントのサイズと前記後続品質レベルにおける前記識別されたデータセグメントのサイズとの間の差を計算し、及び計算された差が最大である前記識別されたデータセグメントのうちの少なくとも１つを選択する請求項３１に記載の装置。
【請求項３７】
前記選択する手段は、前記複数のデータセグメントと関連づけられた前記品質及びレート情報を解析し及び方程式を最大化することによる品質上の影響が最も小さい前記１つ以上のデータセグメントを選択する請求項２９に記載の装置。
【数３】
0005897447.tif 000017
ここで、ｎはデータセグメント総数であり、ＱＴｏｔａｌは全データセグメントの全体的品質であり、ｋｉはｉ番目のデータセグメントと関連づけられた定数であり、ｒｉはｉ番目のデータセグメントと関連づけられたビットレートであり、Ｒは全体的な利用可能ビットレートであり、ＱＶｉは、ｉ番目のデータセグメントと関連づけられた品質であり、ＱＶ−ｍｉｎｉは、ｉ番目のデータセグメントと関連づけられた最低品質であり、ｗｉはｉ番目のデータセグメントと関連づけられた優先度である。
【請求項３８】
デジタル映像データを処理するためのプロセッサであって、
デジタルマルチメディアデータの流れと関連づけられた複数のデータセグメントに関する品質及びレート情報を受け取り、
前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定し、
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた前記品質及びレート情報に基づいてサイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択し、及び
複数のストリームに関する前記利用可能な帯域幅を達成するために前記１つ以上の選択されたデータセグメントの各々のサイズ変更を要求するように適合化され、
前記品質及びレート情報が前記複数のデータセグメントのためにビットレートの関数として品質評価基準を示し、前記品質評価基準は、前記デジタルマルチメディアデータの流れを目標品質レベルで出力することに関連して設定される、プロセッサ。
【請求項３９】
前記プロセッサは、前記複数のデータセグメントと関連づけられた少なくとも品質−レート曲線を受け取るように適合化される請求項３８に記載のプロセッサ。
【請求項４０】
前記プロセッサは、前記複数のデータセグメントと関連づけられた少なくとも品質−レートテーブルを受け取るように適合化され、前記品質−レートテーブルの各々は、対応するデータセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項３８に記載のプロセッサ。
【請求項４１】
前記プロセッサは、
前記品質レベルのうちの選択された１つに対応するサイズで前記データセグメントの各々を送るために必要な送信チャネル資源量を決定し、
前記データセグメントを送るために必要な送信チャネル資源量を合計し、及び
すべての前記データセグメントによって要求される送信チャネル資源の前記合計を利用可能な送信チャネル資源量と比較して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まるかどうかを決定するように適合化される請求項４０に記載のプロセッサ。
【請求項４２】
前記プロセッサは、前記データセグメントを送るために必要な前記送信資源の前記合計が利用可能な帯域幅量よりも大きいときにサイズが縮小されるべき前記複数のデータセグメントのうちの１つ以上を選択するように適合化される請求項４１に記載のプロセッサ。
【請求項４３】
前記プロセッサは、前記データセグメントを送るために必要な前記送信資源の前記合計が利用可能な帯域幅量よりも少ないときにサイズが拡大されるべき前記複数のデータセグメントのうちの１つ以上を選択するように適合化される請求項４１記載のプロセッサ。
【請求項４４】
前記プロセッサは、
前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別し、
前記品質−レートテーブルを解析して現在の品質レベルにおける前記識別されたデータセグメントのサイズを決定し、及び
前記現在の品質レベルにおいて最大の推定サイズを有する前記識別されたデータセグメントのうちの少なくとも１つを選択するように適合化される請求項４０に記載のプロセッサ。
【請求項４５】
前記プロセッサは、
前記後続品質レベルにおける前記選択されたデータセグメントの前記サイズを用いて前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定し、及び
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた前記品質及びレート情報に基づいてサイズが変更されるべき１つ以上の追加のデータセグメントを選択するように適合化される請求項４４に記載のプロセッサ。
【請求項４６】
前記プロセッサは、
前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別し、
前記データセグメントの各々に関して、現在の品質レベルにおける前記識別されたデータセグメントのサイズと前記後続品質レベルにおける前記識別されたデータセグメントのサイズとの間の差を計算し、及び
計算された差が最大である前記識別されたデータセグメントのうちの少なくとも１つを選択するように適合化される請求項４０に記載のプロセッサ。
【請求項４７】
前記プロセッサは、
前記複数のデータセグメントと関連づけられた前記品質及びレート情報を解析し、及び
前記解析に基づいて対応する縮小されたサイズにおける品質上の影響が最も小さい前記１つ以上のデータセグメントを選択するように適合化される請求項３８に記載のプロセッサ。
【請求項４８】
前記プロセッサは、方程式を最大化するように適合化される請求項４７に記載のプロセッサ。
【数４】
0005897447.tif 000018
ここで、ｎはデータセグメント総数であり、ＱＴｏｔａｌは全データセグメントの全体的品質であり、ｋｉはｉ番目のデータセグメントと関連づけられた定数であり、ｒｉはｉ番目のデータセグメントと関連づけられたビットレートであり、Ｒは全体的な利用可能ビットレートであり、ＱＶｉは、ｉ番目のデータセグメントと関連づけられた品質であり、ＱＶ−ｍｉｎｉは、ｉ番目のデータセグメントと関連づけられた最低品質であり、ｗｉはｉ番目のデータセグメントと関連づけられた優先度である。
【請求項４９】
前記プロセッサは、前記選択されたデータセグメントに関する少なくとも最大サイズを指定するように適合化される請求項３８に記載のプロセッサ。
【請求項５０】
前記プロセッサは、ある期間にわたる前記データセグメントのマルチメディアデータを結合するように適合化される請求項３８に記載のプロセッサ。
【請求項５１】
前記プロセッサは、
サイズ変更に関して選択された前記データセグメントに関する符号化されたコンテンツの転送を要求し、
前記複数のデータセグメントのうちの残りのデータセグメントに関する符号化されたコンテンツの転送を要求し、及び
前記要求に応答して前記複数のデータセグメントの各々に関する前記コンテンツを受け取るように適合化される請求項３８に記載のプロセッサ。
【請求項５２】
デジタル映像データを処理するためのコンピュータプログラムであって、
デジタルマルチメディアデータの流れと関連づけられた複数のデータセグメントに関する品質及びレート情報を受け取り、
前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定し、
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた前記品質及びレート情報に基づいてサイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択し、及び
複数のストリームに関する前記利用可能な帯域幅を達成するために前記１つ以上の選択されたデータセグメントの各々のサイズ変更を要求し、前記品質及びレート情報が前記複数のデータセグメントのためにビットレートの関数として品質評価基準を示し、前記品質評価基準は、前記デジタルマルチメディアデータの流れを目標品質レベルで出力することに関連して設定されることを少なくとも１つのコンピュータに行わせる命令を備える、デジタル映像データを処理するためのコンピュータプログラム。
【請求項５３】
少なくとも品質及びレート情報を受け取ることを前記コンピュータに行わせる前記命令は、前記複数のデータセグメントと関連づけられた少なくとも品質−レート曲線を受け取ることを前記コンピュータに行わせる命令を備える請求項５２に記載のコンピュータプログラム。
【請求項５４】
少なくとも品質及びレート情報を受け取ることを前記コンピュータに行わせる前記命令は、前記複数のデータセグメントと関連づけられた少なくとも品質−レートテーブルを受け取ることを前記コンピュータに行わせる命令を備え、前記品質−レートテーブルの各々は、対応するデータセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項５２に記載のコンピュータプログラム。
【請求項５５】
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まるかどうかを決定することを前記コンピュータに行わせる前記命令は、
前記品質レベルのうちの選択された１つに対応する前記サイズで前記データセグメントの各々を送るために必要な送信チャネル資源量を決定し、
前記データセグメントを送るために必要な前記送信チャネル資源量を合計し、及び
すべての前記データセグメントによって要求される送信チャネル資源の前記合計を利用可能な送信チャネル資源量と比較して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まるかどうかを決定することを前記コンピュータに行わせる命令をさらに備える請求項５４に記載のコンピュータプログラム。
【請求項５６】
サイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択することを前記コンピュータに行わせる前記命令は、前記データセグメントを送るために必要な前記送信資源の前記合計が利用可能な帯域幅量よりも大きいときにサイズが縮小されるべき前記複数のデータセグメントのうちの１つ以上を選択することを前記コンピュータに行わせる命令を備える請求項５５に記載のコンピュータプログラム。
【請求項５７】
サイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択することを前記コンピュータに行わせる前記命令は、前記データセグメントを送るために必要な前記送信資源の前記合計が利用可能な帯域幅量よりも少ないときにサイズが拡大されるべき前記複数のデータセグメントのうちの１つ以上を選択することを前記コンピュータに行わせる命令を備える請求項５５記載のコンピュータプログラム。
【請求項５８】
前記複数のデータセグメントのうちの１つ以上を選択することを前記コンピュータに行わせる命令は、
前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別し、
前記品質−レートテーブルを解析して現在の品質レベルにおける前記識別されたデータセグメントのサイズを決定し、及び
前記現在の品質レベルにおいて最大の推定サイズを有する前記識別されたデータセグメントのうちの少なくとも１つを選択することを前記コンピュータに行わせる命令を備える請求項５４に記載のコンピュータプログラム。
【請求項５９】
前記後続品質レベルにおける前記選択されたデータセグメントの前記サイズを用いて前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定し、及び
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた前記品質及びレート情報に基づいてサイズが変更されるべき１つ以上の追加のデータセグメントを選択することを前記コンピュータに行わせる命令をさらに備える請求項５８に記載のコンピュータプログラム。
【請求項６０】
前記複数のデータセグメントのうちの１つ以上を選択することを前記コンピュータに行わせる命令は、
前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別し、
前記データセグメントの各々に関して、現在の品質レベルにおける前記識別されたデータセグメントのサイズと前記後続品質レベルにおける前記識別されたデータセグメントのサイズとの間の差を計算し、及び
計算された差が最大である前記識別されたデータセグメントのうちの少なくとも１つを選択することを前記コンピュータに行わせる命令を備える請求項５４に記載のコンピュータプログラム。
【請求項６１】
前記データセグメントのうちの１つ以上を選択することを前記コンピュータに行わせる命令は、
前記複数のデータセグメントと関連づけられた前記品質及びレート情報を解析し、及び
前記解析に基づいて対応する縮小されたサイズにおける品質上の影響が最も小さい前記１つ以上のデータセグメントを選択することを前記コンピュータに行わせる命令を備える請求項５２に記載のコンピュータプログラム。
【請求項６２】
前記対応する縮小されたサイズにおける品質上の影響が最も小さい１つ以上のデータセグメントを選択することを前記コンピュータに行わせる命令は、方程式を最大化することを前記コンピュータに行わせる命令を備える請求項６１に記載のコンピュータプログラム。
【数５】
0005897447.tif 000019
ここで、ｎはデータセグメント総数であり、ＱＴｏｔａｌは全データセグメントの全体的品質であり、ｋｉはｉ番目のデータセグメントと関連づけられた定数であり、ｒｉはｉ番目のデータセグメントと関連づけられたビットレートであり、Ｒは全体的な利用可能ビットレートであり、ＱＶｉは、ｉ番目のデータセグメントと関連づけられた品質であり、ＱＶ−ｍｉｎｉは、ｉ番目のデータセグメントと関連づけられた最低品質であり、ｗｉはｉ番目のデータセグメントと関連づけられた優先度である。
【請求項６３】
前記選択されたデータセグメントのサイズ変更を要求することを前記コンピュータに行わせる命令は、前記選択されたデータセグメントに関する少なくとも最大サイズを指定することを前記コンピュータに行わせる命令を備える請求項５２に記載のコンピュータプログラム。
【請求項６４】
ある期間にわたる前記データセグメントのうちのマルチメディアデータを結合することを前記コンピュータに行わせる命令をさらに備える請求項５２に記載のコンピュータプログラム。
【請求項６５】
サイズ変更のために選択された前記データセグメントに関する符号化されたコンテンツの転送を要求し、
前記複数のデータセグメントのうちの残りのデータセグメントに関する符号化されたコンテンツの転送を要求し、及び
前記要求に応答して前記複数のデータセグメントの各々に関する前記コンテンツを受け取ることを前記コンピュータに行わせる命令をさらに備える請求項５２に記載のコンピュータプログラム。
【請求項６６】
デジタルマルチメディアデータを処理するための方法であって、
流れのデータセグメントを少なくとも品質及びレート情報と関連づけることと、
前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送ることとを備え、
前記品質及びレート情報が前記データセグメントのためにビットレートの関数として品質評価基準を示し、前記品質及びレート情報は、複数のデータセグメントが利用可能な帯域幅内にぴったり納まらない場合、サイズが変更されるべきデータセグメントを選択するために使用され、前記品質評価基準は、前記デジタルマルチメディアデータの流れを目標品質レベルで出力することに関連して設定される、方法。
【請求項６７】
前記データセグメントのコンテンツを解析することと、
前記解析に基づいて前記データセグメントを複数の品質−レート曲線のうちの１つと関連づけることとをさらに備える請求項６６に記載の方法。
【請求項６８】
少なくとも前記品質及びレート情報を送ることは、前記データセグメントと関連づけられた少なくとも前記品質−レート曲線を送ることを備える請求項６７に記載の方法。
【請求項６９】
少なくとも前記品質及びレート情報を送ることは、前記データセグメントと関連づけられた少なくとも品質−レートテーブルを送ることを備え、前記品質−レートテーブルは、前記データセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項６６に記載の方法。
【請求項７０】
前記データセグメントのコンテンツを解析することと、
前記コンテンツの前記解析に基づいて前記データセグメントに関する複数の品質−レート曲線のうちの１つを選択することと、
前記選択された品質−レート曲線を用いて前記データセグメントと関連づけられた前記品質−レートテーブルを生成することとをさらに備える請求項６９に記載の方法。
【請求項７１】
前記品質−レートテーブルを生成することは、
前記データセグメントを符号化することができる前記サイズを計算することと、
前記選択された品質−レート曲線を用いて前記サイズの各々と関連づけられた品質レベルを決定することであって、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離されることとを備える請求項７０に記載の方法。
【請求項７２】
前記品質−レートテーブルを生成することは、
前記データセグメントを符号化することができる複数の品質レベルを計算することであって、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離されることと、
前記選択された品質−レート曲線を用いて前記品質レベルの各々における前記データセグメントの前記サイズを決定することとを備える請求項７０に記載の方法。
【請求項７３】
前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を送る要求を受け取ることと、
前記要求に応答して前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送ることとをさらに備える請求項６６に記載の方法。
【請求項７４】
前記データセグメントのサイズを変更する要求を受け取ることと、
前記要求に応答して前記データセグメントのサイズを変更することとをさらに備える請求項６６に記載の方法。
【請求項７５】
前記サイズが変更されたデータセグメントに関するコンテンツ転送要求を受け取ることと、
前記要求に応答して前記サイズが変更されたデータセグメントに関する前記コンテンツを多重処理のために送ることとをさらに備える請求項７４に記載の方法。
【請求項７６】
デジタルマルチメディアデータを処理するための装置であって、
流れのデータセグメントを少なくとも品質及びレート情報と関連づけるコンテンツ分類モジュールと、
前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送る符号化モジュールとを備え、
前記品質及びレート情報が前記データセグメントのためにビットレートの関数として品質評価基準を示し、前記品質及びレート情報は、複数のデータセグメントが利用可能な帯域幅内にぴったり納まらない場合、サイズが変更されるべきデータセグメントを選択するために使用され、前記品質評価基準は、前記デジタルマルチメディアデータの流れを目標品質レベルで出力することに関連して設定される、装置。
【請求項７７】
前記コンテンツ分類モジュールは、前記データセグメントのコンテンツを解析して前記解析に基づいて前記データセグメントを複数の品質−レート曲線のうちの１つと関連づける請求項７６に記載の装置。
【請求項７８】
前記符号化モジュールは、前記データセグメントと関連づけられた少なくとも前記品質−レート曲線を送る請求項７７に記載の装置。
【請求項７９】
前記符号化モジュールは、前記データセグメントと関連づけられた少なくとも品質−レートテーブルを送り、前記品質−レートテーブルは、前記データセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項７６に記載の装置。
【請求項８０】
前記コンテンツ分類モジュールは、前記データセグメントのコンテンツを解析し及び前記コンテンツの前記解析に基づいて前記データセグメントに関する複数の品質−レート曲線のうちの１つを選択し、及び
品質及びレート情報生成モジュールは、前記選択された品質−レート曲線を用いて前記データセグメントと関連づけられた前記品質−レートテーブルを生成することをさらに備える請求項７９に記載の装置。
【請求項８１】
前記品質及びレート情報生成モジュールは、前記データセグメントを符号化することができるサイズを計算し、前記選択された品質−レート曲線を用いて前記サイズの各々と関連づけられた品質レベルを決定し、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離される請求項８０に記載の装置。
【請求項８２】
前記品質及びレート情報生成モジュールは、前記データセグメントを符号化することができる複数の品質レベルを計算し、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離され、前記選択された品質−レート曲線を用いて前記品質レベルの各々における前記データセグメントの前記サイズを決定する請求項８０に記載の装置。
【請求項８３】
前記符号化モジュールは、前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を送る要求を受け取り、前記要求に応答して前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送る請求項７６に記載の装置。
【請求項８４】
前記データセグメントのサイズを変更する要求を受け取り及び前記要求に応答して前記データセグメントのサイズを変更するサイズ変更モジュールをさらに備える請求項７６に記載の装置。
【請求項８５】
前記符号化モジュールは、前記サイズが変更されたデータセグメントに関するコンテンツ転送要求を受け取り及び前記要求に応答して前記サイズが変更されたデータセグメントに関する前記コンテンツを多重処理のために送る請求項８４に記載の装置。
【請求項８６】
デジタルマルチメディアデータを処理するための装置であって、
流れのデータセグメントを少なくとも品質及びレート情報と関連づけるための手段と、
前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送るための手段とを備え、
前記品質及びレート情報が前記データセグメントのためにビットレートの関数として品質評価基準を示し、前記品質及びレート情報は、複数のデータセグメントが利用可能な帯域幅内にぴったり納まらない場合、サイズが変更されるべきデータセグメントを選択するために使用され、前記品質評価基準は、前記デジタルマルチメディアデータの流れを目標品質レベルで出力することに関連して設定される、装置。
【請求項８７】
関連づけるための前記手段は、前記データセグメントのコンテンツを解析し及び前記解析に基づいて前記データセグメントを複数の品質−レート曲線のうちの１つと関連づける請求項８６に記載の装置。
【請求項８８】
前記送る手段は、前記データセグメントと関連づけられた少なくとも前記品質−レート曲線を送る請求項８７に記載の装置。
【請求項８９】
前記送る手段は、前記データセグメントと関連づけられた少なくとも品質−レートテーブルを送り、前記品質−レートテーブルは、前記データセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項８６に記載の装置。
【請求項９０】
関連づけるための前記手段は、前記データセグメントのコンテンツを解析し及び前記コンテンツの前記解析に基づいて前記データセグメントに関する複数の品質−レート曲線のうちの１つを選択し、
前記選択された品質−レート曲線を用いて前記データセグメントと関連づけられた前記品質−レートテーブルを生成するための手段をさらに備える請求項８９に記載の装置。
【請求項９１】
前記生成する手段は、前記データセグメントを符号化することができるサイズを計算し及び前記選択された品質−レート曲線を用いて前記サイズの各々と関連づけられた品質レベルを決定し、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離される請求項９０に記載の装置。
【請求項９２】
前記生成する手段は、前記データセグメントを符号化することができる複数の品質レベルを計算し、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離され及び前記選択された品質−レート曲線を用いて前記品質レベルの各々における前記データセグメントの前記サイズを決定する請求項９０に記載の装置。
【請求項９３】
前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を送る要求を受け取るための手段をさらに備え、
前記送る手段は、前記要求に応答して前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送る請求項８６に記載の装置。
【請求項９４】
前記データセグメントのサイズを変更する要求を受け取るための手段と、
前記要求に応答して前記データセグメントのサイズを変更するための手段と、をさらに備え、
前記送る手段は、前記サイズが変更されたデータセグメントに関するコンテンツを多重処理のために送る請求項８６に記載の装置。
【請求項９５】
デジタル映像データを処理するためのプロセッサであって、
流れのデータセグメントを品質及びレート情報と関連づけ、及び
前記データセグメントと関連づけられた前記品質及びレート情報をマルチプレクス装置に送るように適合化され、
前記品質及びレート情報が前記データセグメントのためにビットレートの関数として品質評価基準を示し、前記品質及びレート情報は、複数のデータセグメントが利用可能な帯域幅内にぴったり納まらない場合、サイズが変更されるべきデータセグメントを選択するために使用され、前記品質評価基準は、デジタルマルチメディアデータの流れを目標品質レベルで出力することに関連して設定される、プロセッサ。
【請求項９６】
前記プロセッサは、
前記データセグメントのコンテンツを解析し、及び
前記解析に基づいて前記データセグメントを複数の品質−レート曲線のうちの１つと関連づけるように適合化される請求項９５に記載のプロセッサ。
【請求項９７】
前記プロセッサは、前記データセグメントと関連づけられた少なくとも前記品質−レート曲線を送るように適合化される請求項９６に記載のプロセッサ。
【請求項９８】
前記プロセッサは、前記データセグメントと関連づけられた少なくとも品質−レートテーブルを送るように適合化され、前記品質−レートテーブルは、前記データセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項９５に記載のプロセッサ。
【請求項９９】
前記プロセッサは、
前記データセグメントのコンテンツを解析し、及び
前記コンテンツの前記解析に基づいて前記データセグメントに関する複数の品質−レート曲線のうちの１つを選択し、及び
前記選択された品質−レート曲線を用いて前記データセグメントと関連づけられた前記品質−レートテーブルを生成するように適合化される請求項９８に記載のプロセッサ。
【請求項１００】
前記プロセッサは、
前記データセグメントを符号化することができるサイズを計算し、及び
前記選択された品質−レート曲線を用いて前記サイズの各々と関連づけられた品質レベルを決定するように適合化され、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離される請求項９９に記載のプロセッサ。
【請求項１０１】
前記プロセッサは、
前記データセグメントを符号化することができる複数の品質レベルを計算し、
前記選択された品質−レート曲線を用いて前記品質レベルの各々における前記データセグメントの前記サイズを決定するように適合化され、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離される請求項９９に記載のプロセッサ。
【請求項１０２】
前記プロセッサは、
前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を送る要求を受け取り、及び
前記要求に応答して前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送るように適合化される請求項９５に記載のプロセッサ。
【請求項１０３】
前記プロセッサは、
前記データセグメントのサイズを変更する要求を受け取り、及び
前記要求に応答して前記データセグメントのサイズを変更するように適合化される請求項９５に記載のプロセッサ。
【請求項１０４】
前記プロセッサは、
前記サイズが変更されたデータセグメントに関するコンテンツ転送要求を受け取り、及び
前記要求に応答して前記サイズが変更されたデータセグメントに関する前記コンテンツを多重処理のために送るように適合化される請求項１０３に記載のプロセッサ。
【請求項１０５】
デジタル映像データを処理するためのコンピュータプログラムであって、
流れのデータセグメントを品質及びレート情報と関連づけ、及び
前記データセグメントと関連づけられた前記品質及びレート情報をマルチプレクス装置に送り、
前記品質及びレート情報が前記データセグメントのためにビットレートの関数として品質評価基準を示し、前記品質及びレート情報は、複数のデータセグメントが利用可能な帯域幅内にぴったり納まらない場合、サイズが変更されるべきデータセグメントを選択するために使用され、前記品質評価基準は、デジタルマルチメディアデータの流れを目標品質レベルで出力することに関連して設定される、ことを少なくとも１つのコンピュータに行わせる命令を備える、デジタル映像データを処理するためのコンピュータプログラム。
【請求項１０６】
前記データセグメントのコンテンツを解析し、及び
前記解析に基づいて前記データセグメントを複数の品質−レート曲線のうちの１つと関連づけることを前記コンピュータに行わせる命令をさらに備える請求項１０５に記載のコンピュータプログラム。
【請求項１０７】
少なくとも前記品質及びレート情報を送ることを前記コンピュータに行わせる命令は、前記データセグメントと関連づけられた少なくとも前記品質−レート曲線を送ることを前記コンピュータに行わせる命令を備える請求項１０６に記載のコンピュータプログラム。
【請求項１０８】
少なくとも前記品質及びレート情報を送ることを前記コンピュータに行わせる命令は、前記データセグメントと関連づけられた少なくとも品質−レートテーブルを送ることを前記コンピュータに行わせる命令を備え、前記品質−レートテーブルは、前記データセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項１０５に記載のコンピュータプログラム。
【請求項１０９】
前記データセグメントのコンテンツを解析し、及び
前記コンテンツの前記解析に基づいて前記データセグメントに関する複数の品質−レート曲線のうちの１つを選択し、及び
前記選択された品質−レート曲線を用いて前記データセグメントと関連づけられた前記品質−レートテーブルを生成することを前記コンピュータに行わせる命令をさらに備える請求項１０８に記載のコンピュータプログラム。
【請求項１１０】
前記品質−レートテーブルを生成することを前記コンピュータに行わせる命令は、
前記データセグメントを符号化することができる前記サイズを計算し、及び
前記選択された品質−レート曲線を用いて前記サイズの各々と関連づけられた品質レベルを決定することを前記コンピュータに行わせる命令を備え、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離される請求項１０９に記載のコンピュータプログラム。
【請求項１１１】
前記品質−レートテーブルを生成することを前記コンピュータに行わせる命令は、
前記データセグメントを符号化することができる複数の品質レベルを計算し、及び
前記選択された品質−レート曲線を用いて前記品質レベルの各々における前記データセグメントのサイズを決定することを前記コンピュータに行わせる命令を備え、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離される請求項１０９に記載のコンピュータプログラム。
【請求項１１２】
前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を送る要求を受け取り、及び
前記要求に応答して前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送ることを前記コンピュータに行わせる命令をさらに備える請求項１０５に記載のコンピュータプログラム。
【請求項１１３】
前記データセグメントのサイズを変更する要求を受け取り、及び
前記要求に応答して前記データセグメントのサイズを変更することを前記コンピュータに行わせる命令をさらに備える請求項１０５に記載のコンピュータプログラム。
【請求項１１４】
前記サイズが変更されたデータセグメントに関するコンテンツ転送要求を受け取り、及び
前記要求に応答して前記サイズが変更されたデータセグメントに関する前記コンテンツを多重処理のために送ることを前記コンピュータに行わせる命令をさらに備える請求項１１３に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、マルチメディアの符号化及び復号に関するものである。この開示は、より具体的には、効率的な統計的多重化のためのマルチメディアのサイズ変更に関するものである。
【背景技術】
【０００２】
データネットワーク、例えば無線通信ネットワーク、は、単一の端末に関してカスタム化されたサービスと非常に多数の端末に提供されるサービスとの間でいずれかを犠牲にしなければならない。例えば、非常に多数の資源が制限されたポータブルデバイス（加入者）へのマルチメディアコンテンツの配信は、複雑な問題である。従って、ネットワーク管理者、コンテンツ小売業者、及びサービスプロバイダがコンテンツ及び／又はその他のネットワークサービスをネットワーク化されたデバイスにおいて提示することを目的として高速かつ効率的な方法で配信するための方法を有することが非常に重要である。
【０００３】
コンテンツ配送／メディア配信システムは、リアルタイム及び非リアルタイムのサービスを送信フレーム内にパッキングすること及びそのフレームをネットワーク上のデバイスに配送することができる。例えば、通信ネットワークは、ネットワークサーバーと１つ以上のモバイルデバイスとの間において通信を提供するために直交周波数分割多重（ＯＦＤＭ）を利用することができる。この技術は、配信ネットワークを通じて配送及び送信する対象となるサービスがパッキングされたデータスロットを有する送信フレームを提供する。
【発明の概要】
【０００４】
一般的には、この開示は、複数の符号器モジュールからのデータセグメントを向上された品質を有する状態で結合するために前記複数の符号器モジュールとマルチプレクスモジュールとの間で情報を交換するための技法を説明する。特に、前記符号器モジュールは、各々のデータセグメントを品質及びレート情報、例えば品質−レート曲線及び／又は品質−レートテーブル、と関連づける。前記符号器モジュールは、前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を前記マルチプレクスモジュールに送る。
【０００５】
前記マルチプレクスモジュールは、少なくとも前記品質及びレート情報を解析して前記符号器モジュールが送信することを希望するデータセグメントが送信チャネルの利用可能な帯域幅内にぴったり納まる（ｆｉｔ）かどうかを決定する。前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないと前記マルチプレクスモジュールが決定した場合は、前記マルチプレクスモジュールは、前記符号器モジュールから受け取られた少なくとも前記品質及びレート情報に基づいてサイズが変更されるべき前記セグメントのうちの１つ以上を選択する。マルチプレクスモジュールは、前記選択されたデータセグメントと関連づけられた前記符号器モジュールが前記縮小されたビット割り当てに従って前記データセグメントのサイズを変更するように要求する。
【０００６】
一側面においては、デジタルマルチメディアデータの流れを結合するための方法は、前記デジタルマルチメディアデータの流れと関連づけられた複数のデータセグメントに関する少なくとも品質及びレート情報を受け取ることと、前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定することと、前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた少なくとも前記品質及びレート情報に基づいてサイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択することと、前記複数のセグメントに関して前記利用可能な帯域幅を達成するために前記１つ以上の選択されたデータセグメントの各々のサイズ変更を要求すること、とを備える。
【０００７】
他の側面においては、デジタルマルチメディアデータの流れを結合するための装置は、前記デジタルマルチメディアデータの流れと関連づけられた複数のデータセグメントに関する少なくとも品質及びレート情報を受け取るデータ収集モジュールと、前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定する割り当てモジュールと、前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた少なくとも前記品質及びレート情報に基づいてサイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択し及び前記複数のセグメントに関する前記利用可能な帯域幅を達成するために前記１つ以上の選択されたセグメントの各々のサイズ変更を要求する選択モジュールと、を備える。
【０００８】
さらなる側面においては、デジタルマルチメディアデータの流れを結合するための装置は、前記デジタルマルチメディアデータの流れと関連づけられた複数のデータセグメントに関する少なくとも品質及びレート情報を受け取るための手段と、前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定するための手段と、前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた少なくとも前記品質及びレート情報に基づいてサイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択するための手段と、前記複数のセグメントに関する前記利用可能な帯域幅を達成するために前記１つ以上の選択されたセグメントの各々のサイズ変更を要求するための手段と、を備える。
【０００９】
他の側面においては、デジタル映像データを処理するためのプロセッサは、前記デジタルマルチメディアデータの流れと関連づけられた複数のデータセグメントに関する少なくとも品質及びレート情報を受け取り、前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定し、前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた少なくとも前記品質及びレート情報に基づいてサイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択し、及び前記複数のセグメントに関する前記利用可能な帯域幅を達成するために前記１つ以上の選択されたセグメントの各々のサイズ変更を要求するように適合化される。
【００１０】
ここにおいて説明される技法は、ハードウェア、ソフトウェア、ファームウェア、又はその組み合わせにおいて実装することができる。ソフトウェアにおいて実装される場合は、これらの技法は、プロセッサによって実行されたときにここにおいて説明される方法のうちの１つ以上を実行する命令を備えるコンピュータによって読み取り可能な媒体によって全体又は一部を実現することができる。従って、この開示は、デジタル映像データを処理するためのコンピュータプログラム製品も企図し、前記デジタルマルチメディアデータの流れと関連づけられた複数のデータセグメントに関する少なくとも品質及びレート情報を受信することを少なくとも１つのコンピュータに行わせる命令を備えるコンピュータによって読み取り可能な媒体を備え、前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定し、前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた少なくとも前記品質及びレート情報に基づいてサイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択し、及び前記複数のセグメントに関する前記利用可能な帯域幅を達成するために前記１つ以上の選択されたデータセグメントの各々のサイズ変更を要求する。
【００１１】
さらに他の側面においては、デジタルマルチメディアデータの流れを符号化するための方法は、前記流れのデータセグメントを少なくとも品質及びレート情報と関連づけることと、前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送信すること、とを備える。
【００１２】
他の側面においては、デジタルマルチメディアデータの流れを符号化するための装置は、前記流れのデータセグメントを少なくとも品質及びレート情報と関連づけるコンテンツ分類モジュールと、前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送る符号化モジュールと、を備える。
【００１３】
他の側面においては、デジタルマルチメディアデータの流れを符号化するための装置は、前記流れのデータセグメントを少なくとも品質及びレート情報と関連づけるための手段と、前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送るための手段と、を備える。
【００１４】
他の側面においては、デジタル映像データを処理するためのプロセッサは、前記流れのデータセグメントを少なくとも品質及びレート情報と関連づけ及び前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送るように適合化される。
【００１５】
他の側面においては、デジタル映像データを処理するためのコンピュータプログラム製品は、前記流れのデータセグメントを少なくとも品質及びレート情報と関連づけること及び前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送ることを少なくとも１つのコンピュータに行わせる命令を備えるコンピュータによって読み取り可能な媒体を備える。
【００１６】
１つ以上の側面の詳細が添付図面及び以下の説明において示される。その他の特徴、目的、及び利点が、これらの説明及び図面から、及び請求項から明らかになるであろう。  
【図面の簡単な説明】
【００１７】
【図１】典型的多重化システムを備えるネットワークを示した図である。
【図２】マルチプレクサシステムにおいて用いるための典型的サーバーを示した図である。
【図３】多重化システムにおいて用いるためのＭＬＣのスロット割り当てを例示する典型的フレームを示した図である。
【図４】多重化システムにおいて用いるための様々なＭＬＣ割り当て形状を備える典型的フレームを示した図である。
【図５】選択されたＭＬＣ割り当てに関する送信モードパラメータと最大スロット高値との間の関係を示すテーブルである。
【図６】多重化システムにおいて用いるための異なるＭＬＣスロット割り当てを例示する典型的フレームを示した図である。
【図７】多重化システムにおいて用いられる典型的割り当てアルゴリズムを提供する方法を示した図である。
【図８】多重化システムにおいて用いるための第１の不等式条件に基づいてＲＴサービスにスロットを割り当てるための典型的方法を示した図である。
【図９】多重化システムにおいて用いるための第２の不等式条件に基づいてＲＴサービスにスロットを割り当てるための典型的方法を示した図である。
【図１０】余分の４つのブロックサービスを割り当てるための典型的多重化システムの動作を例示するフレームを示した図である。
【図１１】多重化システムにおいて用いるための第３の不等式条件に基づいてＲＴサービスにスロットを割り当てるための典型的方法を示した図である。
【図１２】余分の３つのブロックサービスを割り当てるための典型的多重化システムの動作を例示するフレームを示した図である。
【図１３】多重化システムにおいて用いるための第４の不等式条件に基づいてＲＴサービスにスロットを割り当てるための典型的方法を示した図である。
【図１４】余分の６つのブロックサービスを割り当てるための典型的多重化システムの動作を例示するフレームを示した図である。
【図１５】多重化システムにおいて用いるために２つのＲＴサービスを送信フレーム内にパッキングするための典型的割り当てアルゴリズムの動作を例示するフレームを示した図である。
【図１６】未使用スロットが２つのエリア内にグループ分けされるような形でＲＴサービスをパッキングするための典型的割り当てアルゴリズムの動作を例示するフレームを示した図である。
【図１７】多重化システムにおいて用いるためにＲＴサービス及びＯＲＴサービスに関する領域に分割される典型的フレームを示した図である。
【図１８】ＯＲＴサービス領域が異なる高さのブロックに分割される典型的フレームを示した図である。
【図１９】多重化システムにおいて用いるためのＯＲＴサービスにスロットを割り当てるための典型的方法を示した図である。
【図２０】多重化システムにおいて用いるためのスロット割り当て、サイズ変更及び混雑の制御を提供するための典型的方法を示した図である。
【図２１】多重化システムにおいて用いるためのリアルタイムサービスのサイズ変更を提供するための典型的方法を示した図である。
【図２２】多重化システムにおいて用いるための混雑制御を提供するための典型的方法を示した図である。
【図２３】典型的多重化システムを示した図である。
【図２４】ここにおいて説明される技法によるマルチメディアデータを符号化する典型的マルチメディア符号化デバイスを例示するブロック図である。
【図２５】ここにおいて説明される技法によるマルチメディアデータを符号化する典型的マルチメディア符号化デバイスを例示するブロック図である。
【図２６】この開示の技法により機能する典型的符号器モジュールを例示するブロック図である。
【図２７】この開示の技法によるビット割り当てを管理する典型的マルチプレックスモジュールを例示するブロック図である。
【図２８】この開示の技法によるマルチメディアデータを符号化する符号器モジュールの典型的動作を例示する流れ図である。
【図２９】この開示の技法によるビット割り当てを管理するマルチプレクスモジュールの典型的動作の流れ図である。
【図３０】データセグメントと関連づけられた品質−レートテーブルを用いてサイズが変更されるべきデータセグメントを選択するマルチプレクスモジュールの典型的動作を例示する流れ図である。
【発明を実施するための形態】
【００１８】
この開示の１つ以上の側面において、コンテンツ流をデータネットワークにおける送信のために多重化して送信フレームに入れるために動作する多重化システムが提供される。例えば、多重化されたコンテンツ流は、デバイスに送信するためのリアルタイム及び／又は非リアルタイムサービスの特定の配置、シーケンス、結合、及び／又は選択を備える。システムは、無線ネットワーク環境において用いるのに特に適するが、あらゆるタイプのネットワーク環境において用いることができ、限定されることなしに、通信ネットワーク、公共ネットワーク、例えばインターネット、プライベートネットワーク、例えば仮想プライベートネットワーク（ＶＰＮ）、ローカルエリアネットワーク、ワイドエリアネットワーク、長距離ネットワーク、又はその他のタイプのデータネットワークを含む。
【００１９】
この説明の目的上、ここにおいては、多重化システムの１つ以上の側面が、ネットワークサーバーと１つ以上のモバイルデバイスとの間で通信を提供するために直交周波数分割多重（ＯＦＤＭ）を利用する通信ネットワークを参照しながら説明される。例えば、ＯＦＤＭシステムにおいては、時分割多重（ＴＤＭ）パイロット信号と、周波数分割多重（ＦＤＭ）パイロット信号と、オーバーヘッド情報シンボル（ＯＩＳ）と、データシンボルとを備えるスーパーフレームが定義される。データスロットは、１つのＯＦＤＭシンボル時間にわたって生じる一組のデータシンボルを含む。一例として、データスロットは、一組の５００のデータシンボルを含むことができる。さらに、スーパーフレームにおけるＯＦＤＭシンボル時間は、複数のデータスロット、例えば７つのスロット、を搬送することができる。
【００２０】
ここにおいては、多重化システムの１つ以上の側面を説明するために以下の定義が用いられる。
【００２１】
流れ        サービスの１つの要素であり、例えば、サービスは、２つの流れ−音声の流れ及び映像の流れ、を有することができる。
【００２２】
サービス  １つ以上の流れを有することができるメディアコンテンツ
ＭＬＣ    データ又は制御情報に関して用いられるメディア論理チャネル（“チャネル”）
サイズ変更  送信のために要求される帯域幅を小さくするためにサービスのサイズが変更される手順
オーバーヘッド情報シンボル（ＯＩＳ）
スーパーフレーム内における様々なＭＬＣの位置に関する情報を搬送する該スーパーフレーム内のシンボル
スロット    ＯＦＤＭシンボルを通じてＭＬＣに割り当てられる帯域幅の最小単位
図１は、マルチメディア符号化及び復号システム１００を示す。システム１００は、マルチメディア符号化デバイス、例えばサーバー１０４と、マルチメディア復号デバイス、例えばモバイルデバイス１０２と、データネットワーク１０６と、を備える。この説明の目的上、データネットワーク１０６は、ＯＦＤＭ技術を用いる１つ以上のポータブルデバイスと通信するために動作すると仮定されるが、マルチプレクサシステムは、その他の送信技術、例えば様々な無線アクセス技術、例えば、グローバル移動体通信システム（ＧＳＭ（登録商標））、ＣＤＭＡ２０００、広帯域ＣＤＭＡ（Ｗ−ＣＤＭＡ）、ＣＤＭＡ１ｘＥＶ−ＤＯ、又は様々なＩＥＥＥ８０１．１１ｘ基準によって定義される無線ネットワーク化を容易にするために開発された基準の広範な系統、とともに用いるのに適する。
【００２３】
一側面においては、サーバー１０４は、ネットワーク１０６と通信中の１つ以上のデバイス、例えばモバイルデバイス１０２、に対してサービスを提供するために動作する。例えば、デバイスは、サーバー１０４によって提供されるサービスを受ける契約をすることができる。サーバー１０４は、通信リンク１０８を通じてネットワーク１０６に結合される。通信リンク１０８は、あらゆる適切な通信リンク、例えばサーバー１０４がネットワーク１０６と通信するのを可能にするために動作する有線及び／又は無線リンク、を備える。ネットワーク１０６は、サーバー１０４からネットワーク１０６と通信中のデバイス、例えばデバイス１０２、にサービスが配送されるのを可能にする有線及び／又は無線ネットワークの組み合わせを備える。
【００２４】
ネットワーク１０６は、この開示の適用範囲内にあるあらゆる数の及び／又は型のポータブルデバイスと通信できることが注目されるべきである。単純化することを目的として図１には単一のマルチメディア復号デバイス１８が示される。例えば、マルチプレクサシステムにおいて用いるのに適したその他のデバイスは、限定されることなしに、パーソナルデジタルアシスタント（ＰＤＡ）と、電子メールデバイスと、ページャと、ノート型又はラップトップ型コンピュータと、デスクトップコンピュータデジタル音楽及び映像デバイス、例えばｍｐ３プレーヤー及び商標“ｉＰｏｄ”の名称で販売されるプレーヤーと、ラジオテレフォン、例えばセルラー、衛星又は地上に基づくラジオテレフォンと、を含む。無線リンク１１０は、ＯＦＤＭ技術に基づく無線通信リンクを備える。しかしながら、無線リンクは、デバイスがネットワーク１０６と通信するのを可能にするために動作するあらゆる適切な無線技術を備えることができる。
【００２５】
図１に示されるデバイス１０２は、無線リンク１１０を通じてネットワーク１０６と通信する携帯電話を備える。幾つかの場合においては、デバイス１０２は、デバイス１０２がネットワーク１０６を通じてサービスを受け取る契約をするのを可能にするアクティブ化プロセスに参加する。アクティブ化プロセスは、サーバー１０４によって行うことができる。しかしながら、アクティブ化プロセスは、他のサーバー、サービスプロバイダ、コンテンツ小売業者、又はその他のネットワークエンティティによって行うこともできる。この説明の目的上、デバイス１０２は、サーバー１０４によるアクティブ化プロセスを行い、現在はサーバー１０４と契約してサービスを受け取ることが可能な状態にあると仮定される。図１に示される例は、サービス契約をする観点で説明される一方で、デバイス１０２は、加入契約を要求しないネットワーク１０６を介してサービスを受け取ることができる。
【００２６】
サーバー１０４は、１つ以上のリアルタイム（ＲＴ）サービス１１２を含むコンテンツを備える又は該コンテンツへのアクセス権を有するリアルタイムメディアサーバー（ＲＴＭＳ）１２６と通信する。サーバー１０４は、１つ以上のリアルタイム以外の（ＯＲＴ）又は非リアルタイムの（ＮＲＴ）サービス１２０を備える又は該サービスへのアクセス権を有する非リアルタイムメディアサーバー（ＮＲＴＭＳ）１２８と通信することもできる。例えば、サービス（１１２、１２０）は、ニュース、スポーツ、天候、金融情報、映画、及び／又はアプリケーション、番組、脚本、又はその他のあらゆるタイプの適切なコンテンツ又はサービスを含むマルチメディアコンテンツを備える。従って、サービス（１１２、１２０）は、あらゆる適切なフォーマットでフォーマット化された映像、音声又はその他の情報を備えることができる。サーバー１０４は、ＲＴ及び／又はＯＲＴサービスを備えるか又は該サービスへのアクセス権を有する１つ以上のその他のメディアサーバーと通信できることも注目されるべきである。サービス（１１２、１２０）は、帯域幅、品質及びレート情報、優先度、レーテンシー、サービスのタイプを含むがこれらに限定されない関連づけられた配送要求事項、及び／又はその他のあらゆるタイプの配送要求事項を有する。
【００２７】
サーバー１０４は、配送要求事項に基づいてサービス（１１２、１２０）のうちの１つ以上を効率的に多重化して送信フレーム１２２に入れるために動作するマルチプレクサ（ＭＵＸ）１１４も備える。サーバー１０４は、経路１１８によって示されるように、ネットワーク１０６を通じて送信フレームをデバイス１０２に送信する。ＭＵＸ１１４のより詳細な説明がこの文書の他の箇所において示される。ＭＵＸ１０４の動作の結果、サービス（１１２、１２０）は、最適な形で送信フレーム１２２内にパッキングされ、従って、サービス（１１２、１２０）の配送要求事項（帯域幅、優先度、レーテンシー、サービスのタイプ、等）が満たされ、送信フレーム１２２の送信帯域幅が効率的に利用され、受信デバイス１０２における電力が節約される。例えば、利用可能な帯域幅を効率的に利用することによって、モバイルデバイスは、送信されたサービスを短時間で受信し、それによって電池電力を節約することができる。
【００２８】
ＭＵＸ１１４は、ＲＴサービス１１２及び／又はＯＲＴサービス１２０のサイズがどのように変更されるかを制御するために動作するサイズ変更コントローラ１１６を備えることができる。例えば、多重化して送信フレーム１２２に入れる対象として選択されたＲＴサービス１１２が送信フレーム１２２の利用可能な帯域幅内にぴったり納まらない場合は、サイズ変更コントローラ１１６が動作し、要求される帯域幅を縮小するためにこれらのサービスのサイズ変更（再符号化）方法を制御する。ここにおいて詳細に説明されるように、サイズ変更コントローラ１１６は、ＲＴサービスと関連づけられた品質及びレート情報を解析していずれのＲＴサービスのサイズを変更すべきかを決定し、ＲＴＭＳ１２６と通信して選択されたＲＴサービスの選択されたサイズ変更を要求することができる。サイズ変更コントローラ１１６は、同様に動作し、ＮＲＴＭＳ１２８と通信して選択されたＯＲＴサービス１２０のサイズ変更方法を制御する。サイズ変更コントローラ１１６の動作の結果、サイズが変更されたＲＴ及びＯＲＴサービスは、送信フレーム１２２の利用可能な帯域幅内にぴったり納まる。サイズ変更コントローラ１１６のより詳細な説明がこの文書の他の箇所において示される。
【００２９】
デバイス１０２は、送信フレーム１２２の多重化を解除して送信されたサービス（１１２、１２０）を得るために動作するデマルチプレクサ（ＤＥ−ＭＵＸ）論理１２４を備えることができる。サービスは、効率的に多重化されて送信フレーム１２２内に入れられているため、ネットワーク帯域幅が節約され、デバイス１０２は、送信されたサービスを受信するためにより少ない電力を利用する。
【００３０】
従って、多重化システムは、以下の機能のうちの１つ以上を実行してＲＴ及びＯＲＴサービスを効率的に多重化して送信フレームに入れるために動作する。
【００３１】
１．ネットワークを通じての送信のために１つ以上のＲＴ及び／又はＯＲＴサービスを受信するか又は該サービスへのアクセス権を取得する
２．ＲＴ及び／又はＯＲＴサービスが送信フレームの利用可能な帯域幅内にぴったり納まるかどうか決定する。
【００３２】
３．ＲＴ及び／又はＯＲＴサービスが送信フレーム内にぴったり納まらない場合は、１つ以上の選択されたＲＴ及び／又はＯＲＴサービスのサイズを変更して帯域幅要求を軽減する
４．割り当てアルゴリズムを利用し、送信フレームを原及び／又はサイズが変更されたＲＴサービス、及び原及び／又はサイズが変更されたＯＲＴサービスとともに組み立て、そのフレームが効率的にパッキングされるようにする。
【００３３】
５．ネットワークを通じて送信フレームを１つ以上の受信デバイスに送信する
従って、多重化システムは、１つ以上のＲＴ及び／又はＯＲＴサービスを効率的に多重化してデータネットワーク上のデバイスに送信するために動作する。多重化システムは、図１を参照して説明される実装に制限されないこと及びその他の実装がこの開示の適用範囲内において可能であることが注目されるべきである。
【００３４】
図２は、多重化システムにおいて用いるための典型的サーバー２００を示す。例えば、サーバー２００は、図１におけるサーバー１０４として用いることができる。サーバー２００は、処理論理２０２と、メモリ２０４と、トランシーバ論理２０６と、を備え、すべてデータバス２０８に結合される。サーバー２００は、マルチプレクサ（ＭＵＸ）論理２１０と、サイズ変更コントローラ２１２とも備え、これらもデータバス２０８に結合される。サーバー２００は、単なる１つの実装を表すこと及びその他の実装もこの開示の適用範囲内において可能であることが注目されるべきである。
【００３５】
処理論理２０２は、ＣＰＵ、プロセッサ、ゲートアレイ、ハードウェア論理、メモリ要素、仮想マシン、ソフトウェア、及び／又はハードウェアとソフトウェアの組み合わせを備えることができる。従って、処理論理２０２は、一般的には、機械によって読み取り可能な命令を実行し及びデータバス２０８を介してサーバー２００の１つ以上のその他の機能的要素を制御するための論理を備える。
【００３６】
トランシーバ論理２０６は、サーバー２００が通信チャネル２１４を通じて遠隔デバイス又はシステムとデータ及び／又はその他の情報を送信及び受信するのを可能にするために動作するハードウェア及び／又はソフトウェアを備える。例えば、通信チャネル２１４は、サーバー２００がその他のサーバーと直接又は１つ以上のデータネットワーク及び／又はこれらのデータネットワークに結合されたデバイスと通信するのを可能にするためのあらゆる適切な型の無線又は有線通信リンク、又はその組み合わせを備えることができる。
【００３７】
メモリ２０４は、サーバー２００が情報パラメータを格納するのを可能にするあらゆる適切な型の記憶デバイス又は要素を備える。例えば、メモリ２０４は、あらゆる型のランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、ハードディスク、又はその他の型の記憶デバイスを備えることができる。
【００３８】
処理論理２０２は、トランシーバ論理２０６及びチャネル２１４を通じて１つ以上のコンテンツプロバイダと通信するために動作することができる。処理論理２０２は、ＲＴサービス２１６を受信するためにＲＴＭＳと通信し、ＯＲＴサービス２１８を受信するためにＮＲＴＭＳと通信する。例えば、ＲＴサービス２１６及びＯＲＴサービス２１８は、ネットワーク上のデバイスに配送されるべき１つ以上のコンテンツ流を備える。さらに、ＲＴ２１６及びＯＲＴ２１８サービスは、限定されることなしに、品質及びレート情報、帯域幅、優先度、レーテンシー、サービスのタイプを含む関連づけられた配送要求事項、及び／又はその他のタイプの配送要求事項を有する。この開示の一側面においては、処理論理２０２は、送信フレーム１２２内に含められるべきＲＴサービス２１６のサイズをモニタリングし及びサイズが変更されるべきＲＴサービス２１６のうちの１つ以上を選択するのを援助するためにＲＴサービス２１６と関連づけられた少なくとも品質及びレート情報を受け取る。さらに、処理論理２０２が送信フレーム内にＯＲＴサービス２１８を含めている場合は、処理論理２０２は、送信フレーム１２２内に含められるべきＯＲＴサービスのサイズをモニタリングするためにＯＲＴサービス２１８と関連づけられた配送要求事項、例えば優先度及びレーテンシー情報、を受け取ることができる。
【００３９】
ＭＵＸ論理２１０は、ＣＰＵ、プロセッサ、ゲートアレイ、ハードウェア論理、メモリ要素、仮想マシン、ソフトウェア、ファームウェア及び／又はハードウェア、ソフトウェア及びファームウェアの組み合わせを備えることができる。ＭＵＸ論理２１０は、トランシーバ論理２０６及びチャネル２１４を用いてデバイスに送信するために配送要求事項に基づいてＲＴサービス２１６及び／又はＯＲＴサービス２１８のうちの１つ以上を多重化して送信フレームに入れるために動作する。例えば、ＭＵＸ論理２１０は、選択されたＯＲＴサービス２１８、ＲＴサービス２１６、及びベストエフォートサービス（示されていない）が（配送要求事項に関して）送信フレームの利用可能な帯域幅内にぴったり納まるかどうかを決定するために動作する。一側面においては、ＭＵＸ論理２１０は、ＲＴサービス２１６、ＯＲＴサービス２１８及びベストエフォートサービス（示されていない）と関連づけられた配送要求事項を解析してサービス２１６、２１８が送信フレームの利用可能な帯域幅内にぴったり納まるかどうかを決定する。例えばＲＴサービス２１６に関して、ＭＵＸ論理２１０は、ＲＴサービス２１６の各々と関連づけられた少なくとも品質及びレート情報を解析してＲＴサービス２１６が送信フレームの利用可能な帯域幅内又は少なくとも送信フレームのうちのＲＴ２１６を送信するための部分にぴったり納まるかどうかを決定することができる。同様に、ＯＲＴサービス２１８に関して、ＭＵＸ論理２１０は、その他の配送要求事項、例えば優先度及びレーテンシー要求事項、を解析してＲＴサービス２１６が送信フレームの利用可能な帯域幅内にぴったり納まるかどうかを決定することができる。例えば、ベストエフォートサービスは、送信する必要があるあらゆるタイプのデータ又は情報を備える。上記の流れが利用可能な帯域幅内にぴったり納まる場合は、ＭＵＸ論理２１０は、ここにおいて説明される１つ以上の割り当てアルゴリズムに従ってこれらの流れを送信フレーム内にパッキングするために動作する。
【００４０】
選択されたＲＴサービス２１６及び／又はＯＲＴサービス２１８が送信フレーム内にぴったり合わない場合は、ＭＵＸ論理２１０は、サイズ変更コントローラ２１２にシグナリングする。サイズ変更コントローラ２１２は、これらのサービスが送信フレームの利用可能な帯域幅内にぴったり納まるためにどのようにサイズ変更されるかを制御するために動作する。この開示の一側面においては、サイズ変更コントローラ２１２は、サービスと関連づけられた配送要求事項を解析してサイズが変更されるべきサービス２１６、２１８のうちの１つ以上を選択する。例えば、サイズ変更コントローラ２１２は、ＲＴサービス２１６と関連づけられた少なくとも品質及びレート情報及びＯＲＴサービス２１８と関連づけられた優先度及びレーテンシー要求事項を解析してサイズが変更されるべきサービスを選択することができる。この方法により、サイズ変更コントローラ２１２は、特定のサービスが送信帯域幅要求を軽減するためにどの程度の“サイズ変更”が必要であるかを決定するために動作する。サイズ変更コントローラ２１２は、そのサービスと関連づけられたメディアサーバーに送信されるサイズ変更要求を組み立てる。例えば、サイズ変更要求は、通信リンク２１４を用いてトランシーバ論理２０６によって送信される。これで、メディアサーバーが動作し、ここにおいて説明される技法により要求に応じてサービスのサイズを変更する。サービスのサイズが変更されて帯域幅要求が軽減された後は、ＭＵＸ論理２１０は、原サービス及びサイズが変更されたサービスを送信フレーム内に効率的にパッキングすることができる。ＭＵＸ論理２１０によって提供される割り当てアルゴリズムのより詳細な説明がこの文書の他の箇所において示される。
【００４１】
サイズ変更コントローラ２１２は、ＣＰＵ、プロセッサ、ゲートアレイ、ハードウェア論理、メモリ要素、仮想マシン、ソフトウェア、及び／又はハードウェアとソフトウェアの組み合わせを備えることができる。サイズ変更コントローラ２１２は、ＲＴサービス２１６及びＯＲＴサービス２１８の流れのうちの１つ以上が送信フレームの利用可能な帯域幅内にぴったり納まるようにするためにサービスと関連づけられた配送要求事項に基づいてこれらの流れのサイズをどのように変更するかを制御するために動作する。従って、サイズ変更コントローラ２１２は、関連づけられた配送要求事項を調整するために１つ以上のサービスのサイズを変更するために動作する。例えば、サービスは、そのサービスを送信するための十分な帯域幅が存在しないときにはサイズを縮小して帯域幅要求が軽減されるようにし、余分の（ｅｘｃｅｓｓ）利用可能な帯域幅が存在するときにはサイズを拡大して帯域幅要求を大きくすることができる。サイズ変更コントローラ２１２は、ＭＵＸ論理２１０の一部であることができる。サイズ変更コントローラ２１２のより詳細な説明がこの文書の他の箇所において示される。
【００４２】
多重化システムは、コンピュータによって読み取り可能な媒体上に格納され、少なくとも１つのプロセッサ、例えば処理論理２０２、によって実行されたときにここにおいて説明される多重化システムの機能を提供する１つ以上のプログラム命令（“命令”）を有するコンピュータプログラムを備えることができる。例えば、命令は、コンピュータによって読み取り可能な媒体、例えばフロッピー（登録商標）ディスク、ＣＤＲＯＭ、メモリカード、ＦＬＡＳＨメモリデバイス、ＲＡＭ、ＲＯＭ、又はサーバー２００とインタフェースするその他の型のメモリデバイス又はコンピュータによって読み取り可能な媒体、からサーバー２００内にローディングすることができる。代替として、これらの命令は、トランシーバ論理２０６を通じてサーバー２００とインタフェースする外部デバイス又はネットワーク資源からサーバー２００内にダウンロードすることができる。これらの命令は、処理論理２０２によって実行されときに、ここにおいて説明される多重化システムの１つ以上の側面を提供する。
【００４３】
従って、サーバー２００は、ネットワーク上のデバイスに送信するためにＲＴサービス２１６及びＯＲＴサービス２１８と関連づけられた流れを効率的に多重化して送信フレームに入れるために動作する。
【００４４】
送信フレームスロット割り当てアルゴリズム
以下の説明は、多重化システムにおいて用いるためのスロット割り当てアルゴリズムを説明する。スロット割り当てアルゴリズムは、送信フレーム内のスロットを利用可能なＲＴ及びＯＲＴサービスと関連づけられたコンテンツ流に割り当てるために動作することができる。割り当てアルゴリズムは、効率的な帯域幅の利用を達成しそれによって受信デバイスが電力を節約するのを可能にするために動作する。割り当てアルゴリズムは、ＭＵＸ論理２１０によって及び／又はＭＵＸ論理２１０の制御下で実行することができる。
【００４５】
この説明の目的上、送信フレームは、これ以降においてはスーパーフレームと呼ばれる。スーパーフレームは、単なる１つの実装であるにすぎないこと及び多重化システムはその他のタイプの送信フレーム実装とともに用いるのに適することが注目されるべきである。
【００４６】
スーパーフレームは、例えば、帯域幅割り当てのために利用されるデータシンボル部分を備えることができる。スーパーフレームのデータシンボル部分は、これ以降においては“フレーム”と呼ばれる４つの等しい部分に分割することができる。送信されるサービスからのデータは、一側面においてはリード・ソロモン（ＲＳ）ブロック内にあり、４つのフレームにわたって均等に分散される。従って、スーパーフレーム全体におけるスロット割り当てアルゴリズムの動作は、フレーム全体におけるスロット割り当てアルゴリズムの動作の繰り返しである。従って、以下の説明は、フレーム全体におけるスロット割り当てを説明するが、スーパーフレーム全体に対しても等しく当てはまる。さらに、説明されるスロット割り当てアルゴリズムは、限定されることなしに、リアルタイムサービスと、非リアルタイムサービスと、ＩＰデータキャストとを含むあらゆるタイプのデータに関してスロットを割り当てるために用いることができる。
【００４７】
チャネル割り当て
１つ以上の側面において、メディア論理チャネル（ＭＬＣ）は、同じサービスの１つ以上の流れを搬送する。従って、すべてのサービスは、ＯＩＳにおいて記述されるフレーム内の位置に所在する１つ以上のＭＬＣを有することができる。特定のＭＬＣを受信することを希望するデバイスは、そのＭＬＣの位置をＯＩＳから入手する。フレーム内におけるＭＬＣの位置は、ＯＩＳにおいては下記を用いて記述されている。
【００４８】
−開始シンボル
−開始スロット
−最低スロット
−最高スロット
−総スロット
図３は、多重化システムにおいて用いるためのＭＬＣのスロット割り当てを例示するフレーム３００の例を示す。フレーム３００は、７つのスロットの各々に関して“Ｎ”のＯＦＤＭシンボルを備える。ＭＬＣのスロット割り当ては、３０２において一般的に示される陰影付き領域である。スロット割り当てを記述するために２つの変数、すなわち、長さ及び高さ、が用いられる。単位は、長さがＯＦＤＭシンボルであり、高さがスロットである。
【００４９】
割り当て形状
図４は、多重化システムにおいて用いるための様々なＭＬＣ割り当て形状を備えるフレーム４００の例を示す。例えば、ＭＬＣ割り当ては、４０２、４０４、４０６、及び４０８において一般的に示される陰影付き領域である。一例においては、割り当て形状は、固定された限られた数のデータフィールドを用いてフレーム４００のＯＩＳにおいて記述することができるような割り当て形状が選択される。
【００５０】
割り当ての高さ
図５は、選択されたＭＬＣ割り当てに関する送信モードパラメータと最大スロット高値との間の関係を例示するテーブル５００を示す。受信デバイスにおけるターボ復号器のピーク出力レートが、単一のＯＦＤＭシンボルにおいて復号できるターボパケット数を制限する。その結果、ＭＬＣ割り当ての高さを制約することができる。所定の送信モードに関するＭＬＣ割り当ての最大スロット高を表すために最大スロット高さと呼ばれる変数（“ｍａｘＳｌｏｔＨｅｉｇｈｔ”）が用いられる。例えば、テーブル５００から、（４）の送信モードは、（３）のｍａｘＳｌｏｔＨｅｉｇｈｔを有するＭＬＣ割り当てをサポートし、（１）の送信モードは（７）のｍａｘＳｌｏｔＨｅｉｇｈｔを有するＭＬＣ割り当てをサポートする。
【００５１】
割り当てアルゴリズム
一側面においては、選択されたサービスの全ＭＬＣがグループに分けられ、このためその割り当てはフレーム内において一時的に隣接する。これは、受信デバイスがサービスの異なるＭＬＣを受信するために“ウェークアップする”必要がある回数を少なくする。従って、受信デバイスの電力消費量が低減されるか又は節約される。
【００５２】
受信デバイスの電力消費量に関して、ＭＬＣ割り当ての高さはｍａｘＳｌｏｔＨｅｉｇｈｔであることが好ましい。これは、デバイスがそのＭＬＣを受信する上で可能な“オンタイム”を最小にする。しかしながら、パッキングを容易にするため、サービスのすべてのグループ分けされたＭＬＣに同じ高さが割り当てられる。従って、“サービスのｍａｘＳｌｏｔＨｅｉｇｈｔ”の概念は、そのサービスに関してグループ分けされた全ＭＬＣのｍａｘＳｌｏｔＨｅｉｇｈｔパラメータの最低又は最小のパラメータであると定義される。この説明の残りの部分に関して、サービスの高さは、そのサービスのすべてのＭＬＣ割り当ての共通の高さを意味する。
【００５３】
図６は、多重化システムにおいて用いるための異なるＭＬＣスロット割り当てを例示するフレーム６００の例を示す。フレーム６００は、異なる高さのブロックを有するＭＬＣ割り当てに分割される。一例においては、ブロックの高さは、サービスがとることができる可能なｍａｘＳｌｏｔＨｅｉｇｈｔに対応する。図５に示されるテーブル５００から、４つの可能なｍａｘＳｌｏｔＨｅｉｇｈｔ（すなわち、３、４、６、又は７）が存在すると決定することができる。一例においては、スロット割り当てアルゴリズムは、ｍａｘＳｌｏｔＨｅｉｇｈｔパラメータに基づいてサービスを異なるブロック割り当てにパッキングするために動作する。例えば、可能なｍａｘＳｌｏｔＨｅｉｇｈｔ（すなわち、３、４、６、又は７）に基づく割り当てが６０２、６０４、６０６、及び６０７においてそれぞれ示される。
【００５４】
割り当てアルゴリズム動作
以下は、多重化システムにおいて用いるための典型的割り当てアルゴリズムの説明である。ＭＵＸ論理２１０は、後述される機能を実行するために割り当てアルゴリズムを実装するために動作することができる。
【００５５】
割り当てアルゴリズムへの入力は以下の通りである。
【００５６】
１．サービスの各チャネルがフレームに関して有するデータスロット数。
【００５７】
２．サービスの各チャネルのｍａｘＳｌｏｔＨｅｉｇｈｔであり、そのチャネルの送信モードによって決定される。
【００５８】
アルゴリズムの出力は以下の通りである。
【００５９】
１．パッキングが可能であるかどうかを示す決定。パッキングが可能である場合は、アルゴリズムは、ＭＬＣ割り当ての位置を与える。
【００６０】
２．パッキングが可能でない場合は、スロット割り当てアルゴリズムは、サービスのサイズ変更をサイズ変更コントローラ２１２に依頼する．一側面においては、サイズ変更コントローラ２１２は、いずれのサービスに関して及びどのようなレートでサイズを変更すべきかを決定する。サイズ変更コントローラ２１２の動作の説明がこの文書の他の箇所において示される。
【００６１】
図７は、多重化システムにおいて用いるための割り当てアルゴリズムを提供するための典型的方法７００を示す。例えば、方法７００は、１つ以上のＲＴサービスにスロットを割り当てるために動作する。一側面においては、ＭＵＸ論理２１０は、後述されるように方法７００の機能を提供するために動作する。
【００６２】
ブロック７０２において、多重化してフレームに入れるためにすべてのＲＴサービスによって要求される総スロット数が利用可能なスロット数よりも多いかどうかを決定するための試験が行われる。例えば、ＭＵＸ論理２１０がこの決定を行う。一側面においては、利用可能なスロット数は、“フレーム当たりのスロット数”（ｎｕｍＯｆｄｍＳｙｍｂｏｌｓＰｅｒＦｒｍ）の７倍の値を有する。要求されるスロット数が利用可能なスロットよりも多い場合は、方法はブロック７１８に進む。要求されるスロット数が利用可能なスロット数以下である場合は、方法はブロック７０４に進む。
【００６３】
ブロック７１８において、パックの失敗が決定される。例えば、一側面においては、ＭＵＸ論理２１０が、サービスをパックする上での十分な利用可能スロットが存在しないと決定し、方法がブロック７１６において終了する。
【００６４】
ブロック７０４において、各ＲＴサービスに関するｍａｘＳｌｏｔＨｅｉｇｈｔパラメータが計算される。例えば、一側面においては、ＭＵＸ論理２１０が動作してこの計算を行う。ｍａｘＳｌｏｔＨｅｉｇｈｔは、各ＲＴサービスに関して許容可能なシンボル当たりの最大スロット数を示す。
【００６５】
ブロック７０６において、多重化されるべきＲＴサービスは、ｍａｘＳｌｏｔＨｅｉｇｈｔパラメータに基づいて、“３つのブロックサービス”（ｔｈｒｅｅＢｌｋＳｒｖｃｓ）、“４つのブロックサービス”（ｆｏｕｒＢｌｋＳｒｖｃｓ）、
“６つのブロックサービス”（ｓｉｘＢｌｋＳｒｖｃｓ）、及び“７つのブロックサービス”（ｓｅｖｅｎＢｌｋＳｒｖｃｓ）にグループ分けされる。一側面においては、ＭＵＸ論理２１０は、スロット要求事項によってサービスをグループ分けするために動作する。
【００６６】
ブロック７０８において、各グループ内のＲＴサービスは、データスロット数の降順でソートされる。例えば、ＲＴサービスは、要求されるデータスロットに関して最多から最少に向かって順にソートされる。
【００６７】
ブロック７１０において、長さ変数Ｌ７、Ｌ６、Ｌ４及びＬ３が計算される。例えば、ｓｅｖｅｎＢｌｋＳｒｖｃｓの長さは“Ｌ７”であり、ｓｉｘＢｌｋＳｒｖｃｓの長さは“Ｌ６”であり、ｆｏｕｒＢｌｋＳｒｖｃｓの長さは“Ｌ４”であり、ｔｈｒｅｅＢｌｋＳｒｖｃｓの長さは“Ｌ３”である。例えば、すべてのｓｅｖｅｎＢｌｋＳｒｖｃｓの長さは以下のように定義される。
【００６８】
Ｌ７＝ｃｅｉｌ（すべてのｓｅｖｅｎＢｌｋＳｒｖｃｓの総データスロット数／７）
ここで、ｃｅｉｌ（ｘ）は、ｘよりも大きい最小の整数である。一側面においては、ＭＵＸ論理２１０は、長さパラメータ（Ｌ７、Ｌ６、Ｌ４及びＬ３）を計算するために動作する。
【００６９】
ブロック７１２において、１つ以上の不等式検査が行われる。例えば、以下の不等式が検査されて各々が真であるか又は偽であるかを決定する。
【００７０】
Ｌ７＋Ｌ３＋Ｌ６≦ｎｕｍＯｆｄｍＳｙｍｂｏｌｓＰｅｒＦｒｍ
（１）
Ｌ７＋Ｌ４＋Ｌ６≦ｎｕｍＯｆｄｍＳｙｍｂｏｌｓＰｅｒＦｒｍ
（２）
上記の不等方程式の結果、４つの不等式条件が決定される。第１の不等式（１）は、以降においては（１Ｔ、１Ｆ）と呼ばれる真及び偽の結果を有する。第２の不等式（２）は、以降においては（２Ｔ、２Ｆ）と呼ばれる真及び偽の結果を有する。以上のように、上記の２つの不等式は、多重化システムの１つ以上の側面に従ってスロットを割り当てるために用いられる４つの不等式条件（すなわち、１Ｔ２Ｔ、１Ｔ２Ｆ、１Ｆ２Ｔ、１Ｆ２Ｆ）を提供する。
【００７１】
ブロック７１４において、４つの不等式条件のうちの１つに基づいてＲＴサービスに対してスロットが割り当てられる。例えば、ブロック７１２において行われた不等式検査の結果は、ＲＴサービスにスロットを割り当てるために用いられる。４つの条件の各々は、この文書の以下の節において説明される割り当て方法において説明されるように割り当てを決定する。
【００７２】
方法７００は、単なる１つの実装を表すにすぎず、方法７００の変更、追加、削除、結合又はその他の修正もこの開示の適用範囲内において可能であることが注目されるべきである。
【００７３】
図８は、多重化システムにおいて用いるための第１の不等式条件に基づいてＲＴサービスにスロットを割り当てるための典型的方法８００を示す。例えば、方法８００は、（１Ｔ２Ｔ）によって説明される第１の不等式条件と関連づけられたスロット割り当てを提供する。一側面においては、ＭＵＸ論理２１０は、後述されるように方法８００の機能を提供するために動作する。
【００７４】
ブロック８０２において、第１の不等式条件の状態が真（すなわち、１Ｔ）であるかどうかを決定するための試験が行われる。第１の不等式（１）の状態が１Ｔでない場合は、方法はブロック８０４に進む。第１の不等式（１）の状態が１Ｔである場合は、方法はブロック８０６に進む。
【００７５】
ブロック８０４において、方法は、第２の不等式条件の試験に進む。例えば、第１の不等式（１）の状態が１Ｔでないため、方法は、方法９００に進んで第２の不等式条件（１Ｔ２Ｆ）を試験する。
【００７６】
ブロック８０６において、第２の不等式（２）の状態が真（すなわち、２Ｔ）であるかどうかを決定するための試験が行われる。第２の不等式（２）の状態が２Ｔでない場合は、方法はブロック８０４に進む。第２の不等式（２）の状態が２Ｔである場合は、方法はブロック８０８に進む。
【００７７】
ブロック８０８において、方法は最終動作に進む。両方の状態（１Ｔ２Ｔ）が存在するため、方法は最終動作（後述）に進んでスロット割り当てを完了される。
【００７８】
方法８００は、単なる１つの実装を表すにすぎず、方法８００の変更、追加、削除、結合又はその他の修正もこの開示の適用範囲内において可能であることが注目されるべきである。
【００７９】
図９は、多重化システムにおいて用いるための第２の不等式条件に基づいてＲＴサービスにスロットを割り当てるための典型的方法９００を示す。例えば、方法９００は、（１Ｔ２Ｆ）によって説明される第２の不等式条件と関連づけられたスロット割り当てを提供する。一側面においては、ＭＵＸ論理２１０は、後述されるように方法９００の機能を提供するために動作する。
【００８０】
ブロック９０２において、第１の不等式（１）の状態が真（すなわち、１Ｔ）であるかどうかを決定するための試験が行われる。第１の不等式（１）の状態が１Ｔでない場合は、方法はブロック９０４に進む。第１の不等式（１）の状態が１Ｔである場合は、方法はブロック９０６に進む。
【００８１】
ブロック９０４において、方法は、第３の不等式条件の試験に進む。例えば、第１の不等式（１）の状態は１Ｔでないため、方法は方法１１００に進んで第３の不等式条件（１Ｆ２Ｔ）を試験する。
【００８２】
ブロック９０６において、第２の不等式（２）の状態が偽（すなわち、２Ｆ）であるかどうかを決定するための試験が行われる。第２の不等式（２）の状態が２Ｆでない場合は、方法はブロック９０４に進む。第２の不等式（２）の状態が２Ｆである場合は、方法はブロック９０８に進み、４つのブロックサービスが処理される。
【００８３】
図１０は、余分の４つのブロックサービスを割り当てるための多重化システムの側面の動作を例示するフレーム１０００を示す。例えば、割り当てブロックは、ｔｈｒｅｅＢｌｋ１００２と、ｆｏｕｒＢｌｋ１００４と、ｓｉｘＢｌｋ１００６と、ｓｅｖｅｎＢｌｋ１００８と、を備える。割り当てブロックは、ｒｅｇ２Ｂｌｋ１０１０も含む。フレーム１０００は、方法９００が余分の４つのブロックサービス（ｆｏｕｒＢｌｋＳｒｖｃ）１０１２をｆｏｕｒｂｌｋ１００４、ｔｈｒｅｅｂｌｃｋ１００２及びｒｅｇ２ｂｌｋ１０１０割り当てブロックに割り当てるためにどのように動作するかを示す。一側面においては、方法９００は、図１０に示されるフレーム１０００にＲＴサービスを割り当てるために動作する。
【００８４】
再度図９に関して、ブロック９０８において、４つのブロックサービスが処理される。例えば、一側面においては、ＭＵＸ論理２１０は、図１０に示されるフレーム１０００を参照して後述されるように４つのブロックサービスを処理するために動作する。
【００８５】
ａ．  ｆｏｕｒＢｌｋ１００４が上の方法８００を参照して説明される第１の不等式条件を満たすために保持することができるｆｏｕｒＢｌｋＳｒｖｃを見つける。次に、余分のｆｏｕｒＢｌｋＳｒｖｃｓなしでｆｏｕｒＢｌｋＳｒｖｃ１００４を更新する。
【００８６】
ｂ．   余分のｆｏｕｒＢｌｋＳｒｖｃｓをｔｈｒｅｅＢｌｋ１００２及びｒｅｇ２Ｂｌｋ１０１０に移動させる。Ｒｅｇ２Ｂｌｋ１０１０は、 図１０に示されるような高さ１のブロックである。
【００８７】
ｃ．  余分のｆｏｕｒＢｌｋＳｒｖｃｓを移動させる一方で、後続するサービスがｆｏｕｒＢｌｋ１００４自体にぴったり納まることができるかどうも検査する。
【００８８】
ｄ．  以下の条件付き不等式が真である場合のみに移動を完了させる。
【００８９】
（（Ｌ７＋Ｌ３＋Ｌ６）≦ｎｕｍＯｆｄｍＳｙｍｂｏｌｓＰｅｒＦｒｍ）＆＆
（（Ｌ７＋Ｌ４＋Ｌ６）≦ｎｕｍＯｆｄｍＳｙｍｂｏｌｓＰｅｒＦｒｍ）＆＆
（（Ｌ７＋Ｌ４＋Ｌｒｅｇ２）≦ｎｕｍＯｆｄｍＳｙｍｂｏｌｓＰｅｒＦｒｍ）
ブロック９１０において、余分の４つのブロックサービスを上記のように移動できるかどうかを検査するための試験が行われる。ブロック９０８において条件付き不等式を満たすために余分のｆｏｕｒＢｌｋＳｒｖｃｓをｔｈｒｅｅＢｌｋ１００２又はｒｅｇ２Ｂｌｋ１０１０のいずれにも移動させることができない場合は、方法はブロック９１４に進み、ブロック９１４において、パッキング失敗が決定されて方法が停止する。余分のｆｏｕｒＢｌｋＳｒｖｃｓを移動させることができる場合は、方法はブロック９１２に進む。
【００９０】
ブロック９１２において、方法は最終動作に進む。余分のｆｏｕｒＢｌｋＳｒｖｃｓを成功裏に移動させることができたため、方法は最終動作に進んでスロット割り当てを完了させる。
【００９１】
方法９００は、単なる１つの実装を表すにすぎず、方法９００の変更、追加、削除、結合又はその他の修正もこの開示の適用範囲内において可能であることが注目されるべきである。
【００９２】
図１１は、多重化システムにおいて用いるための第３の不等式条件に基づいてＲＴサービスにスロットを割り当てるための典型的方法１１００を示す。例えば、方法１１００は、第３の不等式条件（１Ｆ２Ｔ）が存在するときに割り当てを提供する。一側面においては、ＭＵＸ論理２１０は、後述されるように方法１１００の機能を提供するために動作する。
【００９３】
ブロック１１０２において、第１の不等式（１）の状態が偽（すなわち、１Ｆ）であるかどうかを決定するための試験が行われる。第１の不等式（１）の状態が１Ｆでない場合は、方法はブロック１１０４に進む。第１の不等式（１）の状態が１Ｆである場合は、方法はブロック１１０６に進む。
【００９４】
ブロック１１０４において、方法は、第４の不等式条件の処理に進む。例えば、第１の不等式（１）の状態が１Ｆでないため、方法は、方法１３００に進み、第４の不等式条件（１Ｆ２Ｆ）が残っている唯一の条件であるため現在存在しなければならない第４の不等式条件（１Ｆ２Ｆ）を処理する。
【００９５】
ブロック１１０６において、第２の不等式（２）の状態が真（すなわち、２Ｔ）であるかどうかを決定するための試験が行われる。第２の不等式（２）の状態が２Ｔでない場合は、方法はブロック１１０４に進む。第２の不等式（２）の状態が２Ｔである場合は、方法はブロック１１０８に進む。
【００９６】
図１２は、余分の３つのブロックサービスを割り当てるための多重化システムの一側面の動作を例示するフレーム１２００を示す。例えば、割り当てブロックは、ｔｈｒｅｅＢｌｋ１２０２と、ｆｏｕｒＢｌｋ１２０４と、ｓｉｘＢｌｋ１２０６と、ｒｅｇ２Ｂｌｋ１２０８と、ｒｅｇ１Ｂｌｋ１２１０とを備える。フレーム１２００は、方法１１００が余分の３つのブロックサービス（ｔｈｒｅｅＢｌｋＳｒｖｃｓ）１２１２をｔｈｒｅｅＢｌｋ１２０２、ｒｅｇ１Ｂｌｋ１２１０及びｒｅｇ２Ｂｌｋ１２０８割り当てブロックに割り当てるためにどのように動作するかを示す。
【００９７】
再度図１１に関して、ブロック１１０８において、３つのブロックサービス（ｔｈｒｅｅｂｌｋＳｒｖｃｓ）が処理される。例えば、一側面においては、ＭＵＸ論理２１０は、ｔｈｒｅｅｂｌｋＳｒｖｃｓを以下のように処理するために動作する。
【００９８】
ａ．  ｔｈｒｅｅＢｌｋ１２０２が上の方法８００を参照して説明される第１の不等式条件を満たすために保持することができるｔｈｒｅｅＢｌｋＳｒｖｃを見つける。次に、余分のｔｈｒｅｅＢｌｋＳｒｖｃｓなしでｔｈｒｅｅＢｌｋ１２０２を更新する。
【００９９】
ｂ．  余分のｔｈｒｅｅＢｌｋＳｒｖｃｓをｒｅｇ１Ｂｌｋ１２１０及びｒｅｇ２Ｂｌｋ１２０８に移動させる。Ｒｅｇ１Ｂｌｋ１２１０は、図１２に示されるような高さ３のブロックである。
【０１００】
ｃ．  移動させる一方で、後続するサービスがｔｈｒｅｅＢｌｋ１２０２自体にぴったり納まることができるかどうも検査する。
【０１０１】
ｄ．  以下の条件付き不等式が真である場合のみに移動を完了させる。
【０１０２】
（（Ｌ７＋Ｌ３＋Ｌ６）≦ｎｕｍＯｆｄｍＳｙｍｂｏｌｓＰｅｒＦｒｍ）＆＆
（（Ｌ７＋Ｌ４＋Ｌ６）≦ｎｕｍＯｆｄｍＳｙｍｂｏｌｓＰｅｒＦｒｍ）＆＆
（（Ｌ７＋Ｌ４＋Ｌｒｅｇ２）≦ｎｕｍＯｆｄｍＳｙｍｂｏｌｓＰｅｒＦｒｍ）
ブロック１１１０において、余分の３つのブロックサービスを移動できるかどうかを決定するための試験が行われる。ブロック１１０８において条件付き不等式を満たすために余分のｔｈｒｅｅＢｌｋＳｒｖｃｓをｒｅｇ１Ｂｌｋ１２１０又はｒｅｇ２Ｂｌｋ１２０８のいずれにも移動させることができない場合は、方法はブロック１１１２に進み、ブロック１１１２において、パッキング失敗が決定され、方法が停止する。余分の３つのブロックサービスを移動させることができる場合は、方法はブロック１１１４に進む。
【０１０３】
ブロック１１１４において、方法は最終動作に進む。余分のｔｈｒｅｅＢｌｋＳｒｖｃｓを成功裏に移動させることができたため、方法は最終動作に進んでスロット割り当てを完了させる。
【０１０４】
方法１１００は、単なる１つの実装を表すにすぎず、方法１１００の変更、追加、削除、結合又はその他の修正もこの開示の適用範囲内において可能であることが注目されるべきである。
【０１０５】
図１３は、多重化システムにおいて用いるための第４の不等式条件に基づいてＲＴサービスにスロットを割り当てるための典型的方法１３００を示す。方法１３００は、第１、第２及び第３の不等式条件が存在しないときに割り当てを提供する。この場合は、不等方程式の状態は（１Ｆ２Ｆ）として記述することができる。一側面においては、ＭＵＸ論理２１０は、後述されるように方法１３００の機能を提供するために提供する。
【０１０６】
図１４は、余分の６つのブロックサービスを割り当てるための多重化システムの一側面の動作を例示するフレーム１４００を示す。例えば、フレーム１４００は、ｔｈｒｅｅＢｌｋ１４０２、ｆｏｕｒＢｌｋ１４０４、ｒｅｇ２Ｂｌｋ１４０６、及びｓｉｘＢｌｋ１４０８割り当てブロックを備える。フレーム１４００は、余分の６つのブロックサービス（ｓｉｘＢｌｋＳｒｖｃｓ）１４１０がどのように割り当てられるかを示す。
【０１０７】
再度図１３に関して、ブロック１３０２において、６つのブロックサービスが処理される。例えば、一側面においては、ＭＵＸ論理２１０は、６つのブロックサービスを以下のように処理するために動作する。
【０１０８】
ａ．  ｆｏｕｒＢｌｋ１４０４及びｓｉｘＢｌｋ１４０８が上の方法８００を参照して説明される第１の不等式条件を満たすために保持することができるｓｉｘＢｌｋＳｒｖｃを見つける。次に、余分のサービスなしでｓｉｘＢｌｋ１４０８を更新する。
【０１０９】
ｂ．  余分のｓｉｘＢｌｋＳｒｖｃｓをｔｈｒｅｅＢｌｋ１４０２、ｆｏｕｒｂｌｋ１４０４、及びｒｅｇ２Ｂｌｋ１４０６に移動させる。
【０１１０】
ｃ．  移動させる一方で、後続するサービスがｓｉｘＢｌｋ１４０８自体にぴったり納まることができるかどうも検査する。
【０１１１】
ｄ．  以下の条件付き不等式が真である場合のみに移動を完了させる。
【０１１２】
（（Ｌ７＋Ｌ３＋Ｌ６）≦ｎｕｍＯｆｄｍＳｙｍｂｏｌｓＰｅｒＦｒｍ）＆＆
（（Ｌ７＋Ｌ４＋Ｌ６）≦ｎｕｍＯｆｄｍＳｙｍｂｏｌｓＰｅｒＦｒｍ）＆＆
（（Ｌ７＋Ｌ４＋Ｌｒｅｇ２）≦ｎｕｍＯｆｄｍＳｙｍｂｏｌｓＰｅｒＦｒｍ）
ブロック１３０４において、余分の６つのブロックサービスを移動できるかどうかを決定するための試験が行われる。ブロック１３０２において条件付き不等式を満たすために余分の６つのブロックサービスをｆｏｕｒｂｌｋ１４０４、ｔｈｒｅｅｂｌｋ１４０２、又はｒｅｇ２Ｂｌｋ１４０６に移動させることができない場合は、方法はブロック１３０６に進み、ブロック１３０６において、パッキング失敗が決定され、方法が停止する。余分の６つのブロックサービスを移動させることができる場合は、方法はブロック１３０８に進む。
【０１１３】
ブロック１３０８において、方法は最終動作に進む。余分のｓｉｘＢｌｋＳｒｖｃｓを成功裏に移動させることができたため、方法は最終動作に進んでスロット割り当てを完了させる。
【０１１４】
方法１３００は、単なる１つの実装を表すにすぎず、方法１３００の変更、追加、削除、結合又はその他の修正もこの開示の適用範囲内において可能であることが注目されるべきである。
【０１１５】
最終動作
上において行われた動作から、各ＲＴサービスがいずれのブロックに割り当てられるかに関する情報が入手される。さらに、現在は、ＲＴサービスの各チャネルがフレームに関して有するデータスロット数が既知である。この情報は、すべてのチャネル割り当ての位置に到達する上で十分である。一側面においては、スロットは、最大高さ制約を尊重しつつ隣接させてブロック内のチャネルに割り当てることができる。
【０１１６】
パッキング例
図１５は、多重化システムにおいて用いるために２つのＲＴサービスを送信フレーム内にパッキングする割り当てアルゴリズムの側面の動作を例示するフレーム１５００を示す。この例においては、２つのＲＴサービス、すなわちサービスＡ及びＢ、がフレーム１５００のｆｏｕｒｂｌｋ領域内にパッキングされる。説明の目的上、以前の動作では両方のＲＴサービスがｆｏｕｒＢｌｋ領域内に存在すると決定していると仮定される。さらに、これらのＲＴサービスの両方が２つのチャネル、すなわち１及び２、を有すると仮定される。各チャネルに関するデータスロット数は以下の通りであるとさらに仮定される。
【０１１７】
サービスＡのチャネル１＝９
サービスＡのチャネル２＝９
サービスＢのチャネル１＝８
サービスＢのチャネル２＝７
フレーム１５００において例示されるように、ＲＴサービスは、以下のパラメータに従ってｆｏｕｒｂｌｋ領域内にパッキングされる。
【０１１８】
チャネル１サービスＡ（１５０２）
開始シンボル＝５
開始スロット＝６
最低スロット＝４
最高スロット＝７
総スロット＝９
チャネル２サービスＡ（１５０４）
開始シンボル＝７
開始スロット＝７
最低スロット＝４
最高スロット＝７
総スロット＝９
チャネル１サービスＢ（１５０６）
開始シンボル＝１０
開始スロット＝４
最低スロット＝４
最高スロット＝７
総スロット＝８
チャネル２サービスＢ（１５０８）
開始シンボル＝１２
開始スロット＝４
最低スロット＝４
最高スロット＝７
総スロット＝７
アルゴリズム概要
１つ以上の側面においては、割り当てアルゴリズムは、フレーム内への流れの効率的なパッキングを提供し、それにより受信デバイスの“ウェークアップ”頻度及び“オンタイム”を最小にする。例えば、サービスのチャネルをグループ分けすることは、ウェークアップ頻度を低減させ、ｍａｘＳｌｏｔＨｅｉｇｈｔにおいてサービスを送信することは、オンタイムを短くする。
【０１１９】
一側面においては、アルゴリズムによって提供されるスロット割り当てが４つの不等式条件のうちの１つに起因して失敗した場合は、アルゴリズムは、サービスのサイズがどのように変更されるかを制御するサイズ変更コントローラ２１２に指示（ｄｉｒｅｃｔｉｖｅ）を渡す。サイズ変更コントローラ２１２がこれらの指示に基づいてサービスのサイズを変更させる場合は、パッキング解決方法が保証される。
【０１２０】
図１６は、未使用スロットが２つのエリアにおいてグループ分けされるような形でＲＴサービスをパッキングするための割り当てアルゴリズムの一側面の動作を例示するフレーム１６００を示す。より少ないエリアにおいて未使用スロットを収集することは、割り当てアルゴリズムに入力されたサービスよりも優先度が低いサービスによるこれらのスロットのより良い利用を保証する。一側面においては、ＯＲＴサービスは、これらのエリア内にパッキングすることができる。例えば、フレーム１６００においては、未使用スロットはエリア１６０２及び１６０４にグループ分けされる。
【０１２１】
リアルタイムサービスサイズ変更アルゴリズム
１つ以上の側面においては、サイズ変更コントローラ１１６は、サービスをフレーム内にパッキングできるようにするためにこれらのサービスがどのようにサイズ変更されるかを制御するために動作する。例えば、サービスは、関連づけられた配送要求事項を調整するためにサイズが変更される。一側面においては、１つ以上のサービスは、関連づけられた帯域幅要求を軽減するためにサイズが変更される。しかしながら、サイズ変更コントローラ１１６は、関連づけられた配送要求事項のうちのいずれかを調整するためにサービスのサイズを変更するために動作する。以下の説明は、ＲＴサービスにおいて構成要素ストリームのサイズを変更するために動作するサイズ変更アルゴリズムを説明する。ＲＴサービスのサイズ変更を生じさせる条件も提供される。一側面においては、サイズ変更コントローラ１１６は、サイズ変更パラメータを決定するサイズ変更アルゴリズムを実装するために動作する。これらのパラメータは、サイズ変更要求においてＲＴサービスと関連づけられたＲＴＭＳに送信される。次にＲＴＭＳが動作し、識別されたＲＴサービスをサイズ変更要求内のパラメータに従ってサイズ変更する。
【０１２２】
サイズ変更コントローラ１１６は、ＯＲＴサービスのサイズを変更するためにも動作することにも注目すべきである。例えば、サイズ変更コントローラ１１６は、１つ以上のＯＲＴサービスのサイズがどのようにして変更されるべきか及びＮＲＴＭＳと通信して決定されたサイズ変更を実装することを決定するために動作可能である。その結果、それらのサービスと関連づけられた配送要求事項が調整される。例えば、サイズ変更コントローラ１１６は、ＮＲＴＭＳと通信してＯＲＴサービスの帯域幅要求を軽減し、それによって配送要求事項を調整することができる。以上のように、ＲＴサービスのサイズ変更を参照してここにおいて説明される側面は、ＯＲＴサービスに対しても同様に当てはめることが可能である。
【０１２３】
図１に示されるように、ＭＵＸ１１４は、コンテンツ流データ、及び関連づけられたシグナリングデータをＲＴＭＳ１２６及びＮＲＴＭＳ１２８から受け取る。スーパーフレームごとに、ＭＵＸ１１４は、すべてのアクティブなリアルタイムサービスに関してはＲＴＭＳ１２６と、及びＯＲＴサービスに関してはＮＲＴＭＳ１２８と選択的に、データ帯域幅を交渉する。一側面においては、帯域幅交渉は、以下の動作順序を含む。
【０１２４】
ａ．  ＭＵＸ１１４が、スーパーフレームにおいて送信されるべきＲＴサービスに関するデータサイズを要求するためにＧｅｔＤａｔａＳｉｚｅ．ＲｅｑｕｅｓｔメッセージをＲＴＭＳ１２６に送る。
【０１２５】
ｂ．  ＲＴＭＳ１２６が、スーパーフレームにおいて送信されるべきＲＴサービスに関するデータサイズを指定するＧｅｔＤａｔａＳｉｚｅ．ＲｅｓｐｏｎｓｅメッセージをＭＵＸ１１４に送る。
【０１２６】
ｃ．  ＭＵＸ１１４が、ＲＴＭＳ１２６からの及びその他のソースからのすべての受信されたデータサイズに基づいてコンテンツスケジューリング（割り当て）を行う。
【０１２７】
ｄ．  ＭＵＸ１１４が、ＵｐｄａｔｅＤａｔａＳｉｚｅ．Ｎｏｔｉｆｉｃａｔｉｏｎメッセージの一部としてＲＴサービス流データに関する更新されたサイズをＲＴＭＳ１２６に送る。
【０１２８】
一側面においては、ＭＵＸ１１４は、上述されるスロット割り当てアルゴリズムの側面を備えるコンテンツスケジューリング機能を提供するために動作する。サイズ変更コントローラ１１６は、サイズ変更アルゴリズムの側面を提供する。スロット割り当てアルゴリズムは、スーパーフレーム内のすべてのメディアサービスに割り当てられたスロット（レート）をぴったり納める責任を有する。一定のシステム上の制約（例えば、デバイスのターボ復号器のピークスループットは、単一のＯＦＤＭシンボルにおいて特定のメディアサービスに割り当てることができるスロット数を制限する）は、割り当てられた総スロット数がスーパーフレームにおいて利用可能な総スロット数以下であるにもかかわらずスロット割り当て手順を失敗させる可能性がある。さらに、エアリンク資源要求の圧倒的割合を占めることが予想されるリアルタイムのサービス構成要素は、映像コンテンツである。このコンテンツは、ソースコーディングを用いて圧縮され、その結果可変性が非常に高いビートレート流になる。最後に、リアルタイムサービスの送信に関して利用可能なスーパーフレーム当たりの容量は、その他の同時並行するメディアサービスの要求事項に起因して変化する可能性がある。これらの要因は、以下の割り当て状態のうちの１つを生じさせる。
【０１２９】
１．  ＲＴサービスによって要求される全データの合計が利用可能な容量以下であり、スロット割り当てアルゴリズムが成功である。
【０１３０】
２．  ＲＴサービスによって要求される全データの合計が利用可能な容量以下であるが、スロット割り当てアルゴリズムは失敗である。
【０１３１】
３．  ＲＴサービスによって要求される全データの合計が利用可能な容量よりも大きい。
【０１３２】
割り当て状態２及び３は、結果的に、ＲＴサービス流によって要求されるデータ量を割り当てることができない。これらのシナリオにおいては、ＭＵＸ１１４は、サイズ変更コントローラ１１６を呼び出し、サイズ変更アルゴリズムを実行してＲＴサービスのサイズを変更する。次の節では、リアルタイムサービスに関する品質概念及びサイズ変更アルゴリズムの側面の目標を説明する。
【０１３３】
リアルタイムサービス品質及びサイズ変更アルゴリズムの目標
品質概念は、リアルタイムストリーミングメディアサービス内での映像流と関連づけられる。リアルタイムサービスの品質（Ｑ）は、サービス流に割り当てられたビットレートの関数であり、以下のように表される品質関数によってモデル化される。
【０１３４】
Ｑ＝ｆ（ｒ）
（３）
スーパーフレームごとに、ＲＴＭＳ１２６は、ＭＵＸ１１４がこの関数を評価するのを援助する情報を提供する。この情報は、ＧｅｔＤａｔａＳｉｚｅ．ＲｅｓｐｏｎｓｅメッセージにおいてＭＵＸ１１４に送られる。以下の節において説明されるように、ＭＵＸ１１４は、この情報をリアルタイムサービスの品質推定のために用いてサイズ変更手順を容易にする。選択された品質測定又は特徴も品質推定のためにＭＵＸ１１４によって使用可能であることも注目されるべきである。
【０１３５】
サイズ変更アルゴリズムは、スロット割り当てアルゴリズムが成功するように割り当てられた総レートがＲＴサービスに関して利用可能な容量以下であるような形でリアルタイムサービスにレートを割り当てる（単位は、物理層パケット（ＰＬＰ））。従って、一側面においては、ＲＴサービスに関するレート割り当ては、ＲＴサービス映像流の品質関数が以下のように重みに比例するようにすべきである。
【０１３６】
（Ｑｉ／Ｑｊ）＝（Ｗｉ／Ｗｊ）
（４）
ここで、Ｑｉ（Ｗｉ）及びＱｊ（Ｗｊ）は、いずれかのＲＴサービスｉ、ｊに関する品質関数（流れ重み）である。品質関数は、上の方程式（３）を用いて推定される。流れと関連づけられた重み値は、その他のＲＴ映像流間におけるその流れの相対的有意性の尺度である。一側面においては、ＭＵＸ１１４は、サブスクリプション・アンド・プロビジョニング（Ｓｕｂｓｃｒｉｐｔｉｏｎ  ａｎｄ  Ｐｒｏｖｉｓｉｏｎｉｎｇ）サブシステムからこれらの流れ重み値を入手し、該サブシステムは、配信ネットワークと関連づけられたサービス計画策定及び管理関数に関する責任を有することもできる。
【０１３７】
サイズ変更アルゴリズム
この節は、ＲＴサービスサイズ変更アルゴリズムの側面を説明する。このアルゴリズムは、ＲＴサービスにおける映像成分ストリーム（流れ）に関するレート割り当てに収斂する繰り返し手法を用いる。このアルゴリズムは、最初に、各映像ストリームによって要求されるＰＬＰ数（レート）から開始する。このアルゴリズムの繰り返しの各々は、レート引き下げに関する候補サービスを識別することを含む。候補ストリームは、レート引き下げの影響を最も受けにくく、その他のストリームと比較して不都合な品質低下を被らないストリームである。一側面においては、サイズ変更アルゴリズムの関数は、図２に示されるサイズ変更コントローラ２１２によって提供される。
【０１３８】
候補ストリームが識別された後は、そのストリームに割り当てられたレートが引き下げられる。例えば、レートは、２つのリード−ソロモン符号ブロックに対応する量だけ引き下げることができる。ネットワークは、１つのリード−ソロモンブロックに対応するＰＬＰ数によって定義される粒度で全サービスにレートを割り当てる。映像ストリームは、基本及び拡張映像成分を有するネットワークの層化送信モードのうちの１つを用いて送信されると仮定される。さらに、システムは、２つの映像成分内のデータが等しくなるように制約する。従って、２つのリード−ソロモンブロックがレート引き下げ単位として選択される。しかしながら、ストリームのレートをその他の選択された量だけ引き下げることは側面の適用範囲内にあることが注目されるべきである。
【０１３９】
定数
多重化システムの側面においてはサイズ変更関数を提供するために以下の定数パラメータが用いられる。
【０１４０】
ｒａｔｅＲｅｄｕｃｔｉｏｎＢｎｄ
リアルタイム映像ストリームに関する分数的レート引き下げの上限。この限度は、ストリームによって要求されるレートを参照する。一側面においては、０．５の値が用いられる。
【０１４１】
ｓｙｓＭｉｎ
ストリームの品質に関する最低値。レート引き下げ限度に達しているストリームのレートがさらに引き下げられるのを防止するために用いられる。
【０１４２】
ｐａｙｌｏａｄＰＬＰ
ＰＬＰに関する有効ペイロードであり、約９６８ビットである。
【０１４３】
アルゴリズム入力
多重化システムの側面においてはサイズ変更関数を提供するために以下の入力が用いられる。
【０１４４】
ｍａｘＲＴＳＯＦＤＭＳｙｍ
リアルタイムサービスに関して利用可能なスーパーフレーム当たりのＯＦＤＭシンボル数を単位とする容量。
【０１４５】
ｎｕｍＲＴＳ
利用可能な容量を共有するリアルタイムサービス数
ｎｕｍＶＳｔｒｅａｍｓ
リアルタイムサービスにおける映像成分ストリーム総数。例えば、ＶＳｔｒｅａｍは、各リアルタイム映像成分ストリームを記述する構造のリストである。
【０１４６】
＿ｗｅｉｇｈｔ
ストリームに関する相対的重み値を保有する。
【０１４７】
ｒｅｑｕｅｓｔｅｄＰＬＰｓ
ストリームによって要求されるスーパーフレーム当たりのＰＬＰ数を保有する。要求される生ビット数をｒｅｑｕｅｓｔｅｄＰＬＰｓｘｐａｙｌｏａｄＰＬＰ（９６８ビット）として推定することが可能である。
【０１４８】
ｒｓＣｏｄｅＰａｒａｍｅｔｅｒＫ
リード・ソロモン（Ｎ，Ｋ）符号に関するパラメータＫ
変数
多重化システムの側面においてはサイズ変更関数を提供するために以下の変数が用いられる。
【０１４９】
ｒｅｑＰＬＰｓ［ｎｕｍＶＳｔｒｅａｍｓ］
映像成分ストリームを識別する数字（０乃至ｎｕｍＶＳｔｒｅａｍｓ−１）によってインデキシングされたアレイ。アレイは、このストリームによって要求されるスーパーフレーム当たりのＰＬＰ数を保有し、ＶＳｔｒｅａｍ構造のｒｅｑｕｅｓｔｅｄＰＬＰｓ数によって示される。
【０１５０】
ａｓｓｇｎＰＬＰｓ［ｎｕｍＶＳｔｒｅａｍｓ］
映像成分ストリームを識別する数字（０乃至ｎｕｍＶＳｔｒｅａｍｓ−１）によってインデキシングされたアレイ。アレイは、このストリームに割り当てられたスーパーフレーム当たりのＰＬＰ数を保有する。
【０１５１】
ｔｅｍｐＰＬＰｓ［ｎｕｍＶＳｔｒｅａｍｓ］
映像成分ストリームを識別する数字（０乃至ｎｕｍＶＳｔｒｅａｍｓ−１）によってインデキシングされたアレイ。アレイは、映像成分ストリームに割り当てられたスーパーフレーム当たりのＰＬＰ数を保有する。これは、アルゴリズムによって内部で用いられる一時的変数である。
【０１５２】
ｗｅｉｇｈｔ［ｎｕｍＶＳｔｒｅａｍｓ］
映像成分ストリームを識別する数字（０乃至ｎｕｍＶＳｔｒｅａｍｓ−１）によってインデキシングされたアレイ。アレイは、ＶＳｔｒｅａｍ構造の＿ｗｅｉｇｈｔ要素によって示されるストリームの相対的重み値を保有する。
【０１５３】
ｅｆｆＱｕａｌｉｔｙ［ｎｕｍＶＳｔｒｅａｍｓ］
映像成分ストリームを識別する数字（０乃至ｎｕｍＶＳｔｒｅａｍｓ−１）によってインデキシングされたアレイ。アレイは、リアルタイムサービスストリームに関する推定された品質を保有する。
【０１５４】
ＰＬＰｓＰｅｒＲＳＢ１ｋ［ｎｕｍＶＳｔｒｅａｍｓ］
映像成分ストリームを識別する数字（０乃至ｎｕｍＶＳｔｒｅａｍｓ−１）によってインデキシングされたアレイ。アレイは、ＶＳｔｒｅａｍ構造のｒｓＣｏｄｅＰａｒａｍｅｔｅｒＫ要素によって示されるリード−ソロモン符号ブロック当たりのデータ数ＰＬＰを保有する。
【０１５５】
アルゴリズム出力
多重化システムの側面においてはサイズ変更関数を提供するために以下の出力が用いられる。
【０１５６】
ｓｕｃｃｅｓｓＦｌａｇ
サイズ変更アルゴリズムが制約を満たすレート割り当てに収斂するのに成功した場合に１に設定されるフラグ。その他の場合は、ｓｕｃｃｅｓｓＦｌａｇは０に設定される。
【０１５７】
サイズ変更アルゴリズムによって呼び出される内部手順
以下は、多重化システムの側面においてサイズ変更アルゴリズムによって呼び出される内部手順である。
【０１５８】
ｒｅｄｕｃｅＰＬＰ  （  ）
レート引き下げに関する映像ストリームを識別し、そのストリームに割り当てられたデータ量を低減させる手順。この手順は、主ルーチンに関して定義される変数スペースを共有する。
【０１５９】
再符号化アルゴリズムによって呼び出される外部アルゴリズム
以下は、多重化システムの側面においてサイズ変更アルゴリズムによって呼び出される外部手順である。
【０１６０】
ｓｌｏｔＡｌｌｏｃａｔｉｏｎ
スロット割り当てアルゴリズムは、すべてのメディアサービスに割り当てられたスロットをスーパーフレーム内にぴったり納める責任を有する。サイズ変更アルゴリズムは、全メディアサービスに関する割り当てられたデータ（レート）を含む要求される入力引数を用いてスロット割り当てアルゴリズムを呼び出す。
【０１６１】
アルゴリズム
以下は、多重化システムの側面において用いるためのサイズ変更アルゴリズムの一側面の説明である。一側面においては、サイズ変更コントローラ２１２は、サイズ変更アルゴリズムを実装し、以下の機能のうちの１つ以上を実行する。
【０１６２】
ａ．  ＶＳｔｒｅａｍ構造データを用いて、アレイｒｅｑＰＬＰｓ［］、ｑｕａｌｉｔｙＩｎｄｅｘ［］、ＰＬＰｓＰｅｒＲＳＢｌｋ［］、及びｗｅｉｇｈｔ［］にポピュレートする。
【０１６３】
ｂ．  ｒｅｑＰＬＰｓ［］内の対応する要素に合わせてアレイａｓｓｇｎＰＬＰｓ［］の全要素を初期設定する。
【０１６４】
ｃ．  ａｌｇｏｒｉｔｈｍＦｌａｇ＝１、及びｓｕｃｃｅｓｓＦｌａｇ＝０を初期設定する。
【０１６５】
ｄ．  以下の機能(functions)を実行する。
【０１６６】
ｗｈｉｌｅ  ａｌｇｏｒｉｔｈｍ  Ｆｌａｇ＝＝１
ｒｅｄｕｃｅＰＬＰｓ（）
ｉｆ  ｒｅｄｕｃｔｉｏｎ＞０
ｃａｌｌ  ｓｌｏｔＡｌｌｏｃａｔｉｏｎ  Ａｌｇｏｒｉｔｈｍ
ｉｆ  ｓｌｏｔＡｌｌｏｃａｔｉｏｎ  Ａｌｇｏｒｉｔｈｍ  ｓｕｃｃｅｅｄｓ
ａｌｇｏｒｉｔｈｍＦｌａｇ＝０
ｓｕｃｃｅｓｓ  Ｆｌａｇ＝１
ｅｎｄｉｆ
ｅｌｓｅ     
／＊この条件は、ｒａｔｅＲｅｄｕｃｔｉｏｎＢｎｄ限度を尊重する一方でのサイズ変更の失敗を意味する。＊／
ｅｎｄｉｆ
ｅｎｄｗｈｉｌｅ  
以下の機能は、ｒｅｄｕｃｅＰＬＰｓ（）手順の一部として実行される。
【０１６７】
ｆｏｒｉ＝０  ｔｏ  ｎｕｍＶＳｔｒｅａｍｓ
ｔｅｍｐＰＬＰｓ［ｉ］＝ａｓｓｇｎＰＬＰ［ｉ］
ｔｅｍｐＰＬＰｓ［ｉ］＝ｔｅｍｐＰＬＰｓ［ｉ］−２ｘＰＬＰｓＰｅｒＲＳＢｌｋ［ｉ］
／＊ストリームに割り当てられたＰＬＰは、２つのリード−ソロモンブロックに対応する量だけ減らされる。一側面においては、基本成分及び拡張成分の両方から１つのＲＳブロックが除去される。システムは、基本映像成分及び拡張映像成分内のデータが等しくなるように制約する。＊／
ｉｆ  ｔｅｍｐＰＬＰｓ［ｉ］／ｒｅｑＰＬＰｓ［ｉ］≧ｒａｔｅＲｅｄｕｃｔｉｏｎＢｎｄ
ｅｆｆＱｕａｌｉｔｙ［ｉ］＝ｆ（ｔｅｍｐＰＬＰｓ［ｉ］ｘｐａｙｌｏａｄＰＬＰ）／ｗｅｉｇｈｔ［ｉ］
ｅｌｓｅ
ｅｆｆＱｕａｌｉｔｙ［ｉ］＝ｓｙｓＭｉｎ
ｅｎｄｉｆ
ｅｎｄｆｏｒ
／＊ｆ（）は、品質を評価するために用いることができる適切な関数である＊／
ｅ．  アレイｅｆｆＱｕａｌｉｔｙ［］によって与えられる最大有効品質を          有するサービスのインデックスを識別する。＿ｉｎｄｅｘパラメータをその値に設定する。
【０１６８】
ｆ．  以下の機能を実行する。
【０１６９】
ｉｆ  ｅｆｆＱｕａｌｉｔｙ［＿ｉｎｄｅｘ］＝＝ｓｙｓＭｉｎ
／＊この条件は、ｒａｔｅＲｅｄｕｃｔｉｏｎＢｎｄ限度を尊重する一方でのサイズ変更の失敗を意味する。＊／
ｒｅｄｕｃｔｉｏｎ＝−１
ｅｌｓｅ
ｒｅｄｕｃｔｉｏｎ＝２ｘＰＬＰｓＰｅｒＲＳＢｌｋＬｉｎｄｅｘ］
ａｓｓｇｎＰＬＰｓＬｉｎｄｅｘ］＝ｔｅｍｐＰＬＰｓＬｉｎｄｅｘ］  
ｅｎｄｉｆ  
従って、サイズ変更コントローラ２１２は、多重化システムの側面においてサービスのサイズを変更するために上記の機能を提供するために動作する。例えば、上述される割り当てアルゴリズムの側面によって提供されるスーパーフレームの利用可能なスロットにサービスを割り当てることができるようにＲＴサービスのレートが引き下げられる。
【０１７０】
リアルタイム以外のサービス（ＯＲＴＳ）
様々な制約を考慮に入れ、及びＯＦＤＭシンボルにおいてサービスに関して送信されるターボパケット数をデバイスによって復号可能であるようにするスロット割り当てアルゴリズムの側面が上述される。デバイスはいずれかの時点においても１つのＲＴサービスのみを受信することが要求されるため、このアルゴリズムはＲＴサービスに関して好ましい。しかしながら、デバイスは、スーパーフレームにおいて複数のＯＲＴサービスを受信中である可能性がある。同じアルゴリズムが用いられる場合は、ＯＦＤＭシンボルにおいてデバイスによって契約されたすべてのＯＲＴサービスに関する総パケット数は、デバイス限度よりも大きくなる可能性がある。これは、“ターボパケット衝突”と呼ばれる。ターボパケット衝突は、ＯＲＴサービスデータの損失に結び付く。損失の規模は、一般的には、ユーザーのサービス契約パターンに依存する。従って、ターボパケット衝突を完全に排除する、ＯＲＴサービスに関するスロット割り当てアルゴリズムの追加の側面が以下において提供されて説明される。
【０１７１】
図１７は、多重化システムにおいて用いるためのＲＴサービス及びＯＲＴサービスに関する領域内に分割される典型的フレーム１７００を示す。第１の領域１７０２は、ＲＴサービスに関して提供され、第２の領域１７０４は、ＯＲＴサービスに関して提供される。フレームをこれらの領域にパーティショニングすることは、ＲＴサービスとＯＲＴサービスとの間においてターボパケット衝突が存在しないようにする。ＲＴ１７０２とＯＲＴ１７０４との間のパーティションは、“ソフト”パーティションである（すなわち、スーパーフレームごとに異なり、そのスーパーフレーム内における利用可能なＲＴ及びＯＲＴサービスに依存する）。ＲＴサービスは、上述されるスロット割り当てアルゴリズム及びサイズ変更アルゴリズムのうちの１つを用いてＲＴサービス領域１７０２において割り当てられる。ＯＲＴサービスは、後述されるＯＲＴサービスアルゴリズムのうちの１つを用いてＯＲＴサービス領域１７０４においてスロット割り当てされる。１つ以上の側面においては、ＯＲＴサービスも、利用可能な帯域幅内にぴったり納まるようにサイズが変更される。ＯＲＴサービスに対して適用されるサイズ変更のより詳細な説明が以下において提供される。
【０１７２】
ＯＲＴサービススロット割り当て
受信デバイスの電力消費量に関して、ＭＬＣ割り当ての高さはｍａｘＳｌｏｔＨｅｉｇｈｔであることが好ましい。これは、デバイスがそのＭＬＣを受信するための可能な“オンタイム”を最小にする。しかしながら、パッキングを容易にするために、サービスのすべてのグループ分けされたＭＬＣに対して同じ高さが割り当てられる。従って、ＯＲＴサービスに関する場合においても、“サービスのｍａｘＳｌｏｔＨｅｉｇｈｔ”の概念は、そのサービスに関してグループ分けされた全ＭＬＣのｍａｘＳｌｏｔＨｅｉｇｈｔパラメータの最低又は最小のパラメータであると定義される。この説明の残りの部分に関しては、サービスの高さは、そのサービスのすべてのＭＬＣ割り当ての共通の高さを意味する。
【０１７３】
サービスのチャネルがグループ分けされる
一側面においては、サービスの全チャネルがグループ分けされ、従ってそれらのチャネルの割り当てがフレーム内において一時的に隣接する。この手法は、デバイスがサービスの異なるチャネルを受信するために“ウェークアップ”する必要がある回数を減らし、従ってデバイスが電力消費量を低減させるのに役立つ。
【０１７４】
ＯＲＴＳ領域がブロックに分割される
図１８は、ＯＲＴＳ領域が異なる高さのブロックに分割される典型的フレーム１８００を示す。一側面においては、ブロックの高さは、サービスがとることができる可能なｍａｘＳｌｏｔＨｅｉｇｈｔに対応する。テーブル５００から、４つのｍａｘＳｌｏｔＨｅｉｇｈｔ（すなわち、３、４、６及び７）が存在することがわかる。従って、フレーム１８００は、関連づけられたサービスを割り当てるために用いられるｔｈｒｅｅＢｌｋ１８０２、ｆｏｕｒＢｌｋ１８０４、ｓｉｘＢｌｋ１８０６、及びｓｅｖｅｎＢｌｋ１８０８を示す。これで、ＯＲＴサービススロット割り当てアルゴリズムが動作し、ｍａｘＳｌｏｔＨｅｉｇｈｔに基づいてサービスをパッキングして異なるブロック入れる。
【０１７５】
ブロックの上方に他のブロックが存在しない
一側面においては、ブロックは、ブロックの上方に他のブロックが存在しないような形でフレーム１８００内に配置される。これは、いずれの２つのＯＲＴサービスもターボパケット衝突を有さないことを保証する。
【０１７６】
ＯＲＴサービススロットアルゴリズム
１つ以上の側面においては、以下のパラメータは、ＯＲＴサービススロット割り当てアルゴリズムへの入力を表す。
【０１７７】
ａ．  サービスの各ＭＬＣがフレームに関して有するデータスロット数。
【０１７８】
ｂ．  サービスの各ＭＬＣのｍａｘＳｌｏｔＨｅｉｇｈｔであり、そのＭＬＣの送信モードによって決定される。
【０１７９】
ｃ．  ＯＲＴサービスに関して利用可能な総シンボル数（ｎｕｍＡｖａｉｌＯｒｔｓＳｙｍＰｅｒＦｒｍ）。
【０１８０】
１つ以上の側面においては、以下のパラメータは、ＯＲＴサービススロット割り当てアルゴリズムからの出力を表す。
【０１８１】
ａ．  パッキングが可能であるかどうかの決定
ｂ．  パッキングが成功である場合は、ＯＲＴサービスによって占められるシンボル数（ｎｕｍＯｃｃｕＯｒｔｓＳｙｍＰｅｒＦｒｍ）。
【０１８２】
図１９は、多重化システムにおいて用いるためのＯＲＴサービスにスロットを割り当てる典型的方法１９００を示す。一側面においては、ＭＵＸ論理２１０は、後述される方法１９００の機能を提供するために動作する。
【０１８３】
ブロック１９０２において、各ＯＲＴサービスのｍａｘＳｌｏｔＨｅｉｇｈｔの計算が実行される。一側面においては、ＭＵＸ論理２１０がこの計算を行う。
【０１８４】
ブロック１９０４において、ＯＲＴサービスが各サービスに関するｍａｘＳｌｏｔＨｅｉｇｈｔパラメータに基づいてブロックにグループ分けされる。例えば、一側面においては、サービスは、ｔｈｒｅｅＢｌｋＳｒｖｃｓ、ｆｏｕｒＢｌｋＳｒｖｃｓ、ｓｉｘＢｌｋＳｒｖｃｓ、及びｓｅｖｅｎＢｌｋＳｒｖｃｓにグループ分けされる。一側面においては、ＭＵＸ論理２１０がこの動作を実行する。
【０１８５】
ブロック１９０６において、長さ変数Ｌ７、Ｌ６、Ｌ４及びＬ３が計算される。例えば、Ｌ７＝ｃｅｉｌ（すべてのｓｅｖｅｎＢｌｋＳｒｖｃｓの総スロット数／７）であり、ここで、ｃｅｉｌ（ｘ）は、ｘよりも大きい最小整数である。一側面においては、ＭＵＸ２１０がこの動作を実行する。
【０１８６】
ブロック１９０８において、要求されるシンボル数が利用可能なシンボル数よりも多いかどうかを決定するための試験が行われる。例えば、以下の不等式が評価される。
【０１８７】
（Ｌ７＋Ｌ６＋Ｌ４＋Ｌ３≦ｎｕｍＡｖａｉｌＯｒｔｓＳｙｍｂｏｌｓＰｅｒＦｒｍ）
一側面においては、ＭＵＸ論理２１０がこの動作を行う。上記の不等式が偽である場合は、方法はブロック１９１０に進む。上記の不等式が真である場合は、方法はブロック１９１２に進む。
【０１８８】
ブロック１９１０において、パッキングが失敗であることが決定され、方法がブロック１９１４において終了する。
【０１８９】
ブロック１９１２において、パッキングが成功であり、占有されるシンボル数が以下の方程式から決定される。
【０１９０】
ｎｕｍＯｃｃｕＯｒｔｓＳｙｍＰｅｒＦｒｍ＝Ｌ７＋Ｌ６＋Ｌ４＋Ｌ３
一側面においては、ＭＵＸ論理２１０がこの動作を行う。パッキングが成功した時点で、各サービスが属するブロックは既知であるため、すべてのＭＬＣ割り当ての位置に到達するのは容易である。
【０１９１】
方法１９００は、単なる１つの実装を表すにすぎず、方法１９００の変更、追加、削除、結合又はその他の修正もこの開示の適用範囲内において可能であることが注目されるべきである。
【０１９２】
スロット割り当てとサイズ変更アルゴリズムとの間の相互関係
これまでの節においては、スロット割り当て及びサイズ変更アルゴリズムの側面が説明されている。以下の節は、多重化システムの側面において用いるためのこれらのアルゴリズムの全体的相互関係を説明する。
【０１９３】
図２０は、多重化システムにおいて用いるためのスロット割り当て、サイズ変更、及び混雑制御を提供するための典型的方法２０００を示す。例えば、サーバー２００は、後述される機能を提供するために動作する。
【０１９４】
ブロック２００２において、優先度が高及び中のＯＲＴサービスにスロットが割り当てられる。例えば、スーパーフレームごとに、ＭＵＸ１１４は、ＧｅｔＤａｔａＳｉｚｅ．Ｒｅｓｐｏｎｓｅ命令を用いて様々な流れデータ量及びその相対的優先度をコンテンツエンティティ、例えばＲＴＭＳ１２６及びＮＲＴＭＳ１２８、から入手する。この情報を用いて、優先度が高及び中のＯＲＴサービスに関するスロット割り当てが行われる。例えば、一側面においては、ＭＵＸ２１０は、上記のアルゴリズムによる高及び中優先度のＯＲＴサービスのスロット割り当てを行うために動作する。
【０１９５】
ブロック２００４において、優先度が高及び中であるＯＲＴサービスのスロット割り当てが成功であったかどうかを決定するための試験が行われる。割り当てが成功であった場合は、方法はブロック２００６に進む。割り当てが成功でなかった場合は、方法はブロック２０１８に進む。
【０１９６】
ブロック２０１８において、混雑制御が行われる。高及び中優先度のＯＲＴサービススロット割り当てが成功でなかった場合は、システムは、対処する必要がある混雑を経験する。一側面においては、ＭＵＸ論理２１０は、図２２を参照して説明される混雑制御アルゴリズムを実行する。混雑制御から戻った時点で、方法はブロック２０２８において停止する。
【０１９７】
ブロック２００６において、ＯＲＴサービススロット割り当ての成功に基づき、ＲＴサービスに関して利用可能なシンボル数が計算され、繰り返しパラメータがゼロに設定される。例えば、一側面においては、ＭＵＸ論理２１０がこれらの機能を実行する。
【０１９８】
ブロック２００８において、フレーム内の残りのシンボルを用いてＲＴサービスのスロット割り当てが行われる。例えば、上述されるスロット割り当てアルゴリズムの側面は、ＲＴサービスにスロットを割り当てるために用いられる。
【０１９９】
ブロック２０１０において、ＲＴサービスが成功裏に割り当てられたかどうかを決定するための試験が行われる。割り当てが成功でなかった場合は、方法はブロック２０１４に進む。割り当てが成功であった場合は、方法はブロック２０１２に進む。
【０２００】
ブロック２０１２において、利用可能なシンボル数が減らされて繰り返しパラメータが増加される。例えば、一側面においては、ＭＵＸ論理２１０がこれらの機能を実行する。次に、方法はブロック２００８に進んでＲＴサービスにスロットを割り当てる。
【０２０１】
ブロック２０１４において、繰り返しパラメータがゼロよりも大きいかどうかを決定するための試験が行われる。例えば、一側面においては、ＭＵＸ論理２１０がこれらの機能を実行する。繰り返しパラメータがゼロよりも大きい場合は、方法はブロック２０１６に進む。繰り返しパラメータがゼロよりも大きくない場合は、方法はブロック２０２０に進む。
【０２０２】
ブロック２０１６において、ｎｕｍＲＴＳｙｍｂｏｌｓ＋１を用いたＲＴサービススロット割り当てが行われる。例えば、ＭＵＸ論理２１０は、増加されたｎｕｍＲＴＳｙｍｂｏｌｓ値を用いてＲＴサービスに関するスロット割り当てを行う。方法はブロック２０２４に進む。
【０２０３】
ブロック２０２０において、選択されたＲＴのサイズが変更される。一側面においては、ＲＴサービススロット割り当てが成功できるようにするためにサイズ変更アルゴリズムが用いられて１つ以上の流れのレートのサイズが変更される。例えば、サイズ変更コントローラ２１２が動作し、ここにおいて説明されるサイズ変更アルゴリズムのうちの１つを実行する。サイズ変更アルゴリズムから戻った時点で、方法はブロック２０２２に進む。
【０２０４】
ブロック２０２２において、ＲＴサービスのサイズ変更が成功であったかどうかを決定するための試験が行われる。例えば、サイズ変更アルゴリズムが受け入れ可能な下限映像品質又は下限サイズ変更比でのスロット割り当てを達成できない状況が存在することがある。サイズ変更が成功であった場合は、方法はブロック２０２４に進む。サイズ変更が成功でなかった場合は、この状況は、システムが混雑していることを意味し、このため方法はブロック２０１８に進んで混雑制御を実行する。
【０２０５】
ブロック２０２４において、優先度の低いＯＲＴサービスに対して順位の昇順でスロットが割り当てられる。例えば、ＭＵＸ論理２１０がこの機能を実行する。
【０２０６】
ブロック２０２６において、ベストエフォートＯＲＴサービス又はデータにスロットが割り当てられる。例えば、ＭＵＸ論理２１０がこの機能を実行する。これで、方法２０００が２０２８において終了する。
【０２０７】
従って、方法２０００の完了時点において、ＭＵＸ論理１１４は、現在のスーパーフレームにおいて送信することができる様々な流れの正確なデータサイズに関する情報を有する。この情報は、ＵｐｄａｔｅＤａｔａＳｉｚｅ．Ｎｏｔｉｆｉｃａｔｉｏｎメッセージを用いてＲＴＭＳ１２６及びＯＲＴＭＳ１２８に戻される。
【０２０８】
方法２０００は、単なる１つの実装を表すにすぎず、方法２０００の変更、追加、削除、結合又はその他の修正もこの開示の適用範囲内において可能であることが注目されるべきである。
【０２０９】
図２１は、多重化システムにおいて用いるためのサイズ変更を提供するための典型的方法２１００を示す。例えば、方法２１００は、図２０００におけるブロック２０２０として用いるのに適する。一側面においては、サイズ変更コントローラ２１２が後述される機能を提供するために動作する。
【０２１０】
ブロック２１０２において、要求されるスロット数が評価されてパラメータｎが計算される。一側面においては、ｎは、サービスに関して要求されるスロット数と利用可能なスロット数の比を表す。例えば、サイズ変更コントローラ２１２がこの計算を行う。
【０２１１】
ブロック２１０４において、サイズ変更されるべき流れの品質が評価される。例えば、各流れに関するＭＬＣをｎの符号ブロックだけ縮小後に品質評価が行われる。例えば、サービスの品質（Ｑ）は、サービス流に割り当てられたビットレート（ｒ）の関数であり、上記において表される品質関数によってモデル化される。例えば、サイズ変更コントローラ２１２がこの品質決定を行う。
【０２１２】
ブロック２１０６において、最高の結果的に得られた品質を有する流れが決定される（候補）。例えば、サイズ変更コントローラ２１２は、ブロック２１０４において符号ブロックの低減を行った結果得られる最高品質を有する流れを決定する。
【０２１３】
ブロック２１０８において、最高品質がシステムの最低品質要求よりも高いかどうかを決定するための試験が行われる。例えば、サイズ変更コントローラ２１２がこの試験の結果を決定する。最高品質がシステムの最低品質要求よりも高くない場合は、方法はブロック２１１６に進む。最高品質がシステムの最低品質要求よりも高い場合は、方法はブロック２１１０に進む。
【０２１４】
ブロック２１１０において、最高の品質を有する流れのサイズが変更されてスロット割り当てが行われる。例えば、最高の品質を有する流れがｎの符号ブロックだけ縮小されてスロット割り当てが行われる。例えば、サイズ変更コントローラ２１２が流れのサイズを変更し及びスロット割り当てを行うようにＭＵＸ論理２１０に要求する。
【０２１５】
ブロック２１１２において、スロット割り当てが成功であったかどうかを決定するための試験が行われる。例えば、サイズ変更コントローラ２１２は、ブロック２１１０において行われたスロット割り当てが成功であったかどうかを示すインジケータをＭＵＸ論理１１４から受け取る。スロット割り当てが成功であった場合は、方法はブロック２１１４に進む。スロット割り当てが成功でなかった場合は、方法はブロック２１０２に進む。
【０２１６】
ブロック２１１４においては、サイズ変更が成功であることが決定され、ブロック２１１６においては、サイズ変更が失敗であったことが決定される。例えば、サイズ変更コントローラ２１２がこれらの決定を行う。方法はブロック２１１８に進み、ブロック２１１８において、方法は図２０００のブロック２０２０に戻る。
【０２１７】
従って、方法２１００は、多重化システムにおいて用いるためのサイズ変更を提供するために動作する。方法２１００は、単なる１つの実装を表すにすぎず、方法２１００の変更、追加、削除、結合又はその他の修正もこの開示の適用範囲内において可能であることが注目されるべきである。
【０２１８】
図２２は、多重化システムにおいて用いるための混雑制御を提供するための典型的方法２２００を示す。例えば、方法２２００は、図２０００におけるブロック２０１８として用いるのに適する。一側面においては、ＭＵＸ２１０が後述される機能を提供するために動作する。
【０２１９】
ブロック２２０２において、優先度の高いＯＲＴサービスにスロットが割り当てられる。例えば、ＭＵＸ２１０がここにおいて説明される割り当てアルゴリズムの側面に従ってこの割り当てを行う。
【０２２０】
ブロック２２０４において、ブロック２２０２において行われた割り当てが成功であったかどうかを決定するための試験が行われる。例えば、ＭＵＸ２１０がこの機能を実行する。割り当てが成功であった場合は、方法はブロック２２０８に進む。割り当てが成功でなかった場合は、方法はブロック２２０６に進む。
【０２２１】
ブロック２２０６において、優先度の高いＯＲＴサービスが順位の昇順で割り当てられる。例えば、ＭＵＸ論理２１０は、ここにおいて説明される割り当てアルゴリズムの側面に従ってこの割り当てを実行する。これで、方法２２００は２２１８において終了する。
【０２２２】
ブロック２２０８において、すべての可能なＲＴサービス流が選択された量だけ縮小され、これらの流れのスロット割り当てが行われる。例えば、サイズ変更コントローラ２１２及びＭＵＸ２１０がここにおいて説明される側面に従ってこれらの動作を行う。選択された量は、システムにとって既知のレート引き下げパラメータに基づく。
【０２２３】
ブロック２２１０において、ブロック２２０８におけるＲＴサービススロット割り当てが成功であったかどうかを決定するための試験が行われる。例えば、ＭＵＸ２１０がこの機能を実行する。割り当てが成功であった場合は、方法はブロック２１１２に進む。割り当てが成功でなかった場合は、方法はブロック２２１４に進む。
【０２２４】
ブロック２２１２において、優先度が中であるＯＲＴサービスに順位の昇順でスロットが割り当てられる。例えば、ＭＵＸ２１０がここにおいて説明される割り当てアルゴリズムの側面に従ってこの割り当てを行う。これで、方法２２００は２２１８において終了する。
【０２２５】
ブロック２２１４において、順位が次に最も低いサービスを除外するＲＴサービススロット割り当てが行われる。例えば、ＭＵＸ２１０がここにおいて説明される割り当てアルゴリズムの側面に従ってこの割り当てを行う。
【０２２６】
ブロック２２１６において、ブロック２２１４における割り当てが成功であったかどうかを決定するための試験が行われる。例えば、ＭＵＸ２１０がこの機能を実行する。割り当てが成功であった場合は、方法はブロック２２１２に進む。割り当てが成功でなかった場合は、方法はブロック２２１４に戻って他のサービスを除外してスロット割り当てを再度試みる。
【０２２７】
従って、方法２２００は、多重化システムにおいて用いるための混雑制御を提供するために動作する。方法２２００は、単なる１つの実装を表すにすぎず、方法２２００の変更、追加、削除、結合又はその他の修正もこの開示の適用範囲内において可能であることが注目されるべきである。
【０２２８】
図２３は、典型的多重化システム２３００を示す。多重化システム２３００は、データを受信するための手段（２３０２）と、帯域幅を決定するための手段（２３０４）と、データを割り当てるための手段（２３０６）と、データのサイズを変更するための手段（２３０８）と、を含む。一側面においては、手段（２３０２乃至２３０８）は、ここにおいて説明される多重化システムの側面を提供するためのコンピュータプログラムを実行する少なくとも１つのプロセッサによって提供される。
【０２２９】
図２４は、ここにおいて説明される技法に従ってマルチメディアデータを符号化する他の典型的マルチメディア符号化デバイス２４００を示すブロック図である。マルチメディア符号化デバイス２４００は、マルチメディアデータの１つ以上のチャネルをブロードキャストするために用いられるブロードキャストネットワーク構成要素の一部を成すことができる。マルチメディア符号化デバイス２４００は、例えば、符号化されたマルチメディアデータの１つ以上のチャネルを１つ以上の無線デバイス、例えばモバイルデバイス１０２（図１）、にブロードキャストするために用いられる無線基地局、サーバー、又はインフラストラクチャノードの一部を成すことができる。例えば、マルチメディア符号化デバイス２４００は、図１のサーバー１０４を表すことができる。
【０２３０】
マルチメディア符号化デバイス２４００は、マルチメディアデータの１つ以上の流れを含む複数のサービスを符号化し、符号化された流れを結合し、結合された流れを送信チャネル２４０２を介してマルチメディア復号デバイスに送信する。この開示の一側面においては、マルチメディア符号化デバイス２４００は、ある期間にわたって受信されたデータの流れの一部分を符号化、結合及び送信する。一例として、マルチメディア符号化デバイス２４００は、１秒ごとに流れに対して動作することができる。換言すると、マルチメディア符号化デバイス２４００は、複数の流れのうちの１秒のデータセグメントを符号化し、１秒のデータセグメントを結合してデータのスーパーフレームを形成し、送信機２４０８を介して送信チャネル２４０２を通じてそのスーパーフレームを送信する。ここにおいて用いられる用語“スーパーフレーム”は、ある期間又はウィンドー、例えば１秒の期間又はウィンドー、にわたって収集されたデータセグメントのグループを指す。データセグメントは、１つ以上のデータフレームを含むことができる。この開示の技法は、１秒のデータセグメントに関して説明されるが、これらの技法は、その他のデータセグメントを結合及び送信するために、例えば固定された期間である場合とない場合がある異なる期間にわたって受信されたデータセグメントに関して、又は個々のデータフレーム又はデータフレームの組に関しても利用することができる。換言すると、スーパーフレームは、１秒の期間よりも長い又は短い時間間隔、又は時間が可変の間隔、を網羅するように定義することが可能である。
【０２３１】
送信チャネル２４０２は、あらゆる有線又は無線媒体、又はその組み合わせを備えることができる。一側面においては、送信チャネル２４０２は、固定された帯域幅のチャネルである。この場合は、マルチメディア符号化デバイス２４００が送信チャネル２４０２を介して送信することができるデータビット数は、固定された帯域幅のチャネルのサイズに制限される。マルチメディア符号化デバイス２４００は、目標となる品質レベルでデータ流の各々を出力することを試みる。ビットレートを決定するために用いられる目標品質レベルは、予め選択すること、ユーザーによって選択すること、自動プロセス又はユーザーからの又は他のプロセスからの入力を要求する半自動プロセスを通じて選択すること、又は予め決定された判定基準に基づいて符号化デバイス又はシステムによって動的に選択することができる。目標品質レベルは、例えば、符号化アプリケーションのタイプ、又はマルチメディアデータを受信するクライアントデバイスの型に基づいて選択することができる。データの流れの各々を目標品質レベルで出力するために必要なビット数が送信チャネル２４０２を通じて利用可能なビット数を超える場合は、マルチメディア符号化デバイス２４００は、この開示の技法に従って複数の流れに関する最高の全体的品質を保持することを試みてデータ流間におけるビット割り当てを管理する。
【０２３２】
図２４に示されるように、マルチメディア符号化デバイス２４００は、符号器モジュール２４０４Ａ乃至２４０４Ｎ（総称として“符号器モジュール２４０４”と呼ばれる）と、マルチプレクスモジュール２４０６と、送信機２４０８と、を含む。符号器モジュール２４０４は、１つ以上のソースからデジタルマルチメディアデータの流れを受け取る。符号器モジュール２４０４は、例えば、符号器モジュール２４０４に結合されたメモリ又は画像キャプチャデバイスからマルチメディアデータの流れを受け取る。マルチメディアデータの流れは、コーディングされてブロードキャストとして送信される対象となるライブのリアルタイム映像、音声、又は映像と音声の流れを備えることができ、又はコーディングされてブロードキャストとして又は要求に応じて送信される対象となる予め記録されて格納された映像、音声、又は映像と音声を備えることができる。この開示の技法は、非リアルタイムサービス又はリアルタイムサービスと非リアルタイムサービスの組み合わせに対しても適用することができる。換言すると、マルチメディア符号化デバイス２４００は、ＯＲＴサービスを生成する１つ以上のＯＲＴモジュールを含むことができる。しかしながら、説明を単純化するため、図２４は、符号器モジュール２４０４のみを例示する。
【０２３３】
符号器モジュール２４０４は、受信されたデータ流を少なくとも品質及びレート情報と関連づけることができる。より詳細に説明されるように、符号化モジュール２４０４は、流れのコンテンツを解析し、流れを、各々の品質及びレート情報、例えば品質−レート曲線、コンテンツ分類曲線又は品質−レートテーブルと関連づけることができる。品質及びレート情報は、特に、符号器モジュール２４０４が現在のスーパーフレーム内に含めることを希望するデータセグメントに関して異なる品質レベルでデータセグメントのサイズを示すことができる。符号器モジュール２４０４は、データセグメントと関連づけられた少なくとも品質及びレート情報をマルチプレクスモジュール２４０６に送る。符号器モジュール２４０４は、制御チャネルを介して品質及びレート情報をマルチプレクスモジュール２４０６に送ることができる。例えば、符号器モジュール２４０４は、マルチプレクスモジュール２４０６から受け取られた要求に応答して制御チャネルを介して品質及びレート情報を送ることができる。マルチプレクスモジュール２４０６及び符号器モジュール２４０４は、幾つかの異なる通信プロトコルを用いて通信することができる。一側面においては、マルチプレクスモジュール２４０６は、メッセージトランスポート層（ＭＴＬ）を基本的なトランスポート機構として利用するプロトコルを用いて通信することができる。
【０２３４】
マルチプレクスモジュール２４０６は、品質及びレート情報を受け取る。幾つかの場合においては、マルチプレクスモジュール２４０６は、配送要求事項、例えば１つ以上のＯＲＴサービスと関連づけられた優先度及びレーテンシーの要求事項を受け取ることもできる。マルチプレクスモジュール２４０６は、１つ以上の配送要求事項を解析し、符号器モジュール２４０４が現在のスーパーフレーム内に含めることを希望するデータセグメントが送信チャネル２４０２の利用可能な帯域幅内にぴったり納まるかどうかを決定する。マルチプレクスモジュール２４０６は、例えば、マルチメディア符号化デバイス２４００の目標品質レベルとデータセグメントと関連づけられた各々の品質−レート曲線との間の交点に対応するサイズを用いてデータセグメントが現在のスーパーフレーム内にぴったり納まるかどうかについての最初の決定を行う。他の例として、マルチプレクスモジュール２４０６は、データセグメントと関連づけられた品質−レートテーブルにおいて指定される最高の品質レベルに対応するサイズを用いてデータセグメントが現在のスーパーフレーム内にぴったり納まるかどうかについての最初の決定を行うことができる。
【０２３５】
データセグメントが送信チャネル２４０２の利用可能な帯域幅内にぴったり納まるかどうかを決定するために、マルチプレクスモジュール２４０６は、品質レベルのうちの選択された１つに対応するサイズでデータセグメントの各々を送るために必要な送信資源量を決定し、データセグメントを送るために必要な送信チャネル資源量を合計し、及び全データセグメントによって要求される送信チャネル資源の合計量を利用可能な送信チャネル資源量と比較してデータセグメントを送る上での十分な送信チャネル資源が存在するかどうかを決定することができる。無線に関しては、送信チャネル資源は、エアリンク又はエアインタフェース資源を備えることができる。一側面例においては、マルチプレクスモジュール２４０６は、十分な送信チャネル資源が存在するかどうかを決定するためのスロット割り当てアルゴリズム、例えば上述されるスロット割り当てアルゴリズムのうちの１つ、を実行することができる。上記においてより詳細に説明されるように、マルチプレクスモジュール２４０６は、全サービス／セグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定するために符号器モジュール２４０４のデータセグメントと関連づけられた品質及びレート情報と連携してＯＲＴサービス配送要求事項を考慮に入れることもできる。
【０２３６】
複数のデータセグメントが利用可能な帯域幅内にぴったり納まらないことをマルチプレクスモジュール２４０６が決定した場合、例えば、スロット割り当てアルゴリズムが失敗であるか又は必要な送信チャネル資源の合計が利用可能な送信チャネル資源を超える場合は、マルチプレクスモジュール２４０６は、符号器モジュール２４０４から受け取られた品質及びレート情報に基づいてサイズが変更されるべき１つ以上のセグメントを選択する。マルチプレクスモジュール２４０６は、対応する縮小されたサイズにおける品質上の影響が最も小さいサイズが変更されるべきデータセグメントを選択することを試みる。以下においてより詳細に説明されるように、マルチプレクスモジュール２４０６は、品質−レート情報を解析してセグメントに対して割り当てられたビット数の減少後における各々のデータセグメントへの品質上の影響を決定し、縮小されたサイズにおいて最高のレベルを有するデータセグメントのうちの１つ以上を選択する。この方法により、マルチプレクスモジュールは、符号器モジュール２４０４のリアルタイムサービス間で裁定することができる。しかしながら、幾つかの場合においては、マルチプレクスモジュール２４０６は、関連づけられた配送要求事項に基づいてサイズが変更されるべき１つ以上のＯＲＴサービスを選択し、符号器モジュール２４０４のリアルタイムサービス及びＯＲＴサービス間で帯域幅を割り当てることができる。繰り返すと、ここにおける技法は、典型例を目的としてリアルタイムサービスに関して説明される。マルチプレクスモジュール２４０６は、依然として、上述される技法に従ってＯＲＴサービスを解析及びサイズ変更することができる。以上のように、以下の図において説明される技法は、リアルタイムサービスのサイズ変更により適用可能である。
【０２３７】
マルチプレクスモジュール２４０６は、選択されたデータセグメントと関連づけられた符号器モジュール２４０４に対して、縮小されたビット割り当てに従ってデジタルマルチメディアデータの流れのサイズを変更するように要求する。幾つかの場合においては、マルチプレクスモジュール２４０６は、サービスを送信する上で十分な帯域幅が存在しないときに選択されたデータセグメントのサイズを縮小するように符号器モジュール２４０４に要求することができる。その他の場合においては、マルチプレクスモジュール２４０６は、余分の利用可能な帯域幅が存在するときに選択されたデータセグメントのサイズを拡大するように符号器モジュール２４０４に要求することができる。マルチプレクスモジュール２４０６は、選択されたセグメントと関連づけられた符号器モジュール２４０４に対して制御チャネルを介してサイズ変更要求を送ることができる。サイズ変更要求は、選択されたデータセグメントに関するサイズを、例えばビット単位で指定することができる。
【０２３８】
選択されたデータセグメントと関連づけられた符号器モジュール２４０４は、各々のデータセグメントと関連づけられたサイズ変更要求を受け取り、マルチメディアデータセグメントのサイズを変更する。符号器モジュール２４０４は、幾つかの異なる方法でデータセグメントのサイズを変更することができる。選択されたデータセグメントと関連づけられた符号器モジュール２４０４は、１つ以上の符号化変数を調整し、データセグメントのサイズをサイズ変更要求において指定される最大サイズ以下に縮小することができる。例えば、符号化モジュール２４０４は、より高い量子化パラメータ（ＱＰ）を用いてデータセグメントを再符号化することができる。他の例として、符号化モジュール２４０４は、引き下げられた符号化レートでデータセグメントを再符号化することができる。代替として又は追加で、符号化モジュール２４０４は、符号化されるべき情報量を減らし、それによってデータセグメントのサイズを縮小することができる。幾つかの場合においては、符号化モジュール２４０４は、１つ以上の符号化変数を調整し、サイズ変更要求において指定されるサイズとなるデータセグメントのサイズを拡大することができる。例えば、符号化モジュール２４０４は、より小さいＱＰを用いてデータセグメントを再符号化するか又は引き上げられた符号化レートでデータセグメントを再符号化することができる。
【０２３９】
マルチプレクスモジュール２４０６は、マルチプレクスモジュール２４０６が現在のスーパーフレームを生成する準備が完了しているときに符号化されたデータセグメントを収集する。マルチプレクスモジュール２４０６は、例えば、制御チャネルを介して符号化モジュール２４０４に転送要求を送ることができる。要求に応答して、符号化モジュール２４０４は、符号化されたマルチメディアデータセグメントをマルチプレクスモジュール２４０６に送る。マルチプレクスモジュール２４０６は、マルチメディアデータの流れを結合してスーパーフレームを形成し、送信チャネル２４０２を介して１つ以上の復号デバイスに送信するためにそのスーパーフレームを送信機２４０８に送る。この方法により、マルチプレクスモジュール２４０６は、複数のデータ流の最高の全体的品質を保持しながらすべてのデータセグメントを固定された帯域幅チャネル２４０２内に最も効率的に入れることができるように流れ間でのビット割り当てを管理する。
【０２４０】
マルチメディア符号化デバイス２４００内の構成要素は、ここにおいて説明される技法を実装するために適用可能な構成要素の典型例である。しかしながら、マルチメディア符号化デバイス２４００は、希望される場合はその他の数多くの構成要素を含むことができる。さらに、この開示の技法は、図２４のようなシステム又はブロードキャストシステムにおいて用いることには必ずしも限定されない。これらの技法は、制限された帯域幅を有する送信チャネルにおいて送信するために複数のマルチメディアデータ流を符号化するために符号化技法が用いられるあらゆるマルチメディア符号化環境において用途を見つけることができる。マルチメディア符号化デバイス２４００の例示される構成要素は、符号器／復号器（ＣＯＤＥＣ）の一部として統合することができる。送信機２４０８は、符号器又はＣＯＤＥＣとは異なる構成要素又はチップ上において形成することができる。
【０２４１】
マルチメディア符号化デバイス２４００内の構成要素は、１つ以上のプロセッサ、デジタル信号プロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、又はその組み合わせとして実装することができる。さらに、マルチメディア符号化デバイス２４００は、マルチメディアコーディング基準、例えば、ムービング・ピクチャ・エキスパーツ・グループ（ＭＰＥＧ−４）、国際電気通信連合標準化セクター（ＩＴＵ−Ｔ）、例えばＨ．２６３又はＨ．２６４、又は他のコーディング基準、又はこれらの組み合わせに準拠することができる。特に、マルチプレクスモジュール２４０６と通信する各々の符号器モジュール２４０４は、裁定するためにマルチプレクスモジュール２４０４によって用いられる品質及びレート情報は各々の符号器モジュール２４０４に関して独立して生成できるという事実のおかげで異なるマルチメディアコーディング基準に準拠することができる。
【０２４２】
異なる特徴をモジュールとして描くことは、マルチメディア符号化デバイス２４００の異なる機能上の側面を強調することが意図されており、該モジュールを別個のハードウェア又はソフトウェア構成要素によって実現しなければならないということは必ずしも意味しない。むしろ、１つ以上のモジュールと関連づけられた機能は、共通の又は別個のハードウェア又はソフトウェア構成要素内において統合することができる。従って、開示は、マルチメディア符号化デバイス２４００の例に制限されるべきでない。
【０２４３】
図２５は、複数の流れに関する最高の全体的品質を保持しながらこれらの複数の流れがスーパーフレーム内に最も効率的にぴったり納まるように試みてこれらの複数の流れ間でのビット割り当てを管理する他の典型的マルチメディア符号化デバイス２５００を示すブロック図である。マルチメディア符号化デバイス２５００は、図２４のマルチメディア符号化デバイス２４００に実質的に準拠するが、選択されたマルチメディアデータセグメントのサイズ変更は、選択されたデータセグメントと関連づけられたサイズ変更モジュール２５０２Ａ乃至２５０２Ｎ（総称して“サイズ変更モジュール２５０２”）によって行われる。
【０２４４】
従って、図２４の符号器モジュール２４０４の機能は、符号器モジュール２５０４とサイズ変更モジュール２５０２との間で分割される。換言すると、符号器モジュール２５０４は、利用可能な帯域幅をデータセグメントに割り当て、その割り当てが失敗したときにサイズが変更されるべきデータセグメントのうちの１つ以上を選択する際に用いるために各々のデータセグメントと関連づけられた品質及びレート情報をマルチプレクスモジュール２５０６に提供する。サイズ変更モジュール２５０２は、データセグメントのサイズを変更する要求をマルチプレクスモジュール２５０６から受け取り、マルチプレクスモジュール２５０６から受け取られたサイズ変更に従ってデータセグメントのサイズを変更する。
【０２４５】
図２６は、この開示の技法により機能する典型的符号器モジュール２６００を例示するブロック図である。符号器モジュール２６００は、例えば、図２４の符号化デバイス２４００の符号器モジュール２４０４のうちのいずれか１つを表すことができる。符号器モジュール２６００は、マルチプレクスモジュールインタフェース２６０２と、コンテンツ分類モジュール２６０４と、品質−レート情報モジュール２６０６と、符号化モジュール２６０２と、を含む。符号化モジュール２６０８は、サイズ変更モジュール２６１２をさらに含む。サイズ変更モジュール２６１２は、図１のサイズ変更コントローラ１１６を表すことができる。
【０２４６】
符号化モジュール２６００は、１つ以上のマルチメディアデータ流をソースから受け取る。符号器モジュール２６００は、例えば、符号器モジュール２６００に結合されたメモリ又は画像キャプチャデバイスからマルチメディアデータの流れを受け取る。マルチメディアデータの流れは、コーディングされてブロードキャストとして送信される対象となるライブのリアルタイム映像、音声又は映像と音声の流れを備えることができ、又はコーディングされてブロードキャストとして又は要求に応じて送信される対象となる予め記録されて保存された映像、音声、又は映像と音声の流れを備えることができる。この開示の技法は、非リアルタイムサービス又はリアルタイムサービスと非リアルタイムサービスの組み合わせに対しても適用することができる。
【０２４７】
上述されるように、符号器モジュール２６００は、データのコンテンツにかかわらずデータ流に関する一定の認識品質評価基準を維持することを試みることができる。換言すると、符号器モジュール２６００は、すべてのデータ流を目標品質レベルで出力するのを試みることができる。一定の又は同様の認識品質レベルを維持するために、符号器モジュール２６００は、異なるコンテンツを有するデータセグメントに関して異なるビットレートを選択することができる。この目的のため、コンテンツ分類モジュール２６０４は、コンテンツに基づいてデータセグメントを分類する。コンテンツ分類モジュール２６０４は、データセグメントのデータの複雑さ（例えば、空間的複雑さ及び／又は時間的複雑さ）に基づいてデータセグメントを分類することができる。適切なコンテンツ分類方法が、“CONTENT CLASSIFICATION FOR MULTIMEDIA PROCESSING”（マルチメディア処理に関するコンテンツ分類）という題名を有し、その全内容が参照されることによってここにおいて組み入れられている、同時係属中であり共通して譲渡された米国特許出願一連番号１１／３７３，５７７［Ａｔｔｏｒｎｅｙ  Ｄｏｃｋｅｔ  Ｎｏ．０５０２５３］（出願日：２００６年３月１０日）において説明されている。例えば、コンテンツ分類モジュール２６０４は、動き情報を（ｘ軸における）“高”、“中”、及び“低”のカテゴリに分類し、テクスチャ情報を（ｙ軸における）“高”、“中”、及び“低”のカテゴリに分類することができ、コンテンツ分類は、交差点において示される。この分類は、例えば特定の品質−レート曲線と関連づけることができる。
【０２４８】
コンテンツ分類モジュール２６０４は、分類に基づいてデータセグメントを品質及びレート情報と関連づける。一側面においては、コンテンツ分類モジュール２６０４は、データセグメントを各々の品質−レート曲線と関連づける。品質−レート曲線は、品質評価基準、例えばピーク信号対雑音比（ＰＳＮＲ）、をビットレートの関数としてモデル化する。品質−レート曲線は、例えば、以下の形の対数関数を用いてモデル化することができる。
【０２４９】
Ｑ＝ａ＊ｌｎ（Ｒ）＋ｂ
ここで、Ｑは品質評価基準であり、Ｒはビットレートであり、ａ及びｂは幾つかのサンプルデータポイントを用いて計算された定数である。符号器モジュール２６００は、様々なコンテンツを有するデータの流れに関する品質−レート特性を表す複数の品質−レート曲線を維持することができる。一例として、符号器モジュール２６００は、流れのコンテンツ内における様々なレベルの動き及びテクスチャと関連づけられた８つの異なるクラス、例えば様々なレベルの動き及びテクスチャ、に関する品質−レート曲線を維持することができる。一定のＰＳＮＲが必ずしも一定の認識品質を意味するものではないという事実を考慮して、符号器モジュール２６００は、ＰＳＮＲ以外の品質評価基準、例えば平均意見点数（ＭＯＳ）、を用いる品質−レート曲線を維持することができる。代替として、符号器モジュール２６００は、一定のＰＳＮＲが必ずしも一定の認識品質を意味するものではないという事実を考慮して品質−レート曲線を調整することができる。例えば、符号器モジュール２６００は、“CONTENT CLASSIFICATION FOR MULTIMEDIA PROCESSING”（マルチメディア処理に関するコンテンツ分類）という題名を有し、その全内容が参照されることによってここにおいて組み入れられている、同時係属中であり共通して譲渡された米国特許出願一連番号１１／３７３，５７７［Ａｔｔｏｒｎｅｙ  Ｄｏｃｋｅｔ  Ｎｏ．０５０２５３］（出願日：２００６年３月１０日）において詳述されているように伝統的な品質−レート曲線をオフセットだけ調整することができる。
【０２５０】
代替として、符号器モジュール２６００は、各コンテンツ曲線と関連づけられた目標品質レベルをオフセットだけ調整することができる。高い動き、高いテクスチャコンテンツを含むデータセグメントは、例えば、目標品質レベルに関してわずかにより低い品質で符号化することができ、低い動き、低いテクスチャコンテンツを含むデータセグメントは、例えば、目標品質レベルに関してわずかにより高い品質で符号化することができる。各コンテンツクラスは、全体的な目標品質レベルに関する自己の調整された品質レベルを有するため、符号器モジュール２６００は、各コンテンツクラスに関する品質レベルを正規化して符号器モジュール２６００における現在の品質レベルを測定することができる。符号器モジュール２６００は、以下の線形方程式に従ってこの正規化を達成することができる。
【０２５１】
Ｑｎｏｒｍ=Ｑｒ−Ｑｋ  （５）
ここで、Ｑｎｏｒｍは正規化された品質レベルであり、Ｑｒは記録された品質レベルであり、Ｑｋは曲線ｋに関する品質レベルの調整オフセットである。品質正規化が線形関数でない場合は、順位決定は品質正規化後に行わなければならない。
【０２５２】
この開示の他の側面においては、コンテンツ分類モジュール２６０４は、データセグメントを、これらのセグメントと関連づけられた１つ以上の品質レベル及び各々の品質レベルにおけるセグメントのサイズを示す予め計算された品質−レートテーブルと関連づけることができる。このために、コンテンツ分類モジュール２６０４は、データセグメントを、品質−レートテーブルのうちの特定の１つに対応する品質−レート曲線と関連づけることができる。品質−レート曲線、調整された品質−レート曲線、及び予め計算された品質−レートテーブルは、メモリ内において維持し（示されていない）、必要時にコンテンツ分類モジュール２６０４によってアクセスすることができる。
【０２５３】
幾つかの場合においては、符号器モジュール２６００は、予め計算された品質−レート情報を格納しないか又は単に品質−レート情報の一部を予め計算するだけである。品質−レート情報生成モジュール２６０６は、例えば、コンテンツ分類において用いるために複数の品質−レート曲線及び調整された品質−レート曲線を予め計算することができる。品質−レート曲線及びコンテンツ分類曲線を生成するための１つの典型的技法が、“CONTENT CLASSIFICATION FOR MULTIMEDIA PROCESSING”（マルチメディア処理に関するコンテンツ分類）という題名を有し、その全内容が参照されることによってここにおいて組み入れられている、同時係属中であり共通して譲渡された米国特許出願一連番号１１／３７３，５７７［Ａｔｔｏｒｎｅｙ  Ｄｏｃｋｅｔ  Ｎｏ．０５０２５３］（出願日：２００６年３月１０日）において説明されている。
【０２５４】
しかしながら、品質−レート情報生成モジュール２６０６は、データセグメントの各々に関する品質−レートテーブルを分類に基づいて各セグメントごとに生成することができる。例えば、品質−レート情報生成モジュール２６０６は、順位とサイズの対を記載するテーブルを生成することができる。これらの順位は、特定の品質レベルに対応する。各順位は、例えば、品質評価基準の特定の低下と対応することができる。ＰＳＮＲを典型的な品質評価基準として用いることによって、各順位は、ＰＳＮＲの０．０５ｄＢの低下に対応することができる。特に、０の順位は、ベストエフォート品質レベルに対応することができ、１の順位は、最高の品質レベルと対応し、２の順位は、前の品質レベルよりも０．０５ｄＢだけ低い品質レベルに対応し、以下同様である。一側面においては、最高の品質に対応する順位（例えば、順位１、２及び３）は、実際には、目標品質レベルよりも高い品質レベルに対応することができる。
【０２５５】
品質−レート情報生成モジュール２６０６は、以下においてさらに詳細に説明されるように、品質−レート曲線のうちの対応する１つを用いて順位を決定することができる。一側面においては、品質−レート情報生成モジュール２６０６は、複数の品質レベル及び対応する順位を計算し、対応する品質−レート曲線を用いて品質レベルの各々における各データセグメントのサイズを決定することができる。この開示の他の側面においては、品質−レート情報生成モジュール２６０６は、符号器モジュール２６００が提供することができるデータセグメントのサイズを計算し、次にこれらのサイズの各々における品質レベル及び対応する順位を計算することができる。例えば、符号器モジュール２６００は、固定された量だけ、例えば送信チャネルの最小送信単位サイズだけ、サイズを増分的に縮小し、以下の方程式を用いて希望されるサイズの各々に対応する順位を計算することができる。
【０２５６】
Ｒａｎｋ＝ＣＥＩＬＩＮＧ（（Ａｋ−Ｓ）／ｘｋ）  （６）
ここで、ＲＡＮＫは、希望されるサイズに関する対応する順位値であり、Ａｋはｋ番目の品質−レート曲線に関する調整された目標品質レベルであり、Ｓは希望されるサイズに対応する品質レベル（すなわち、希望されるサイズとｋ番目の品質−レート曲線の交点に対応する品質レベル）であり、ｘｋは、順位当たりの増分的品質低下であり、ＣＥＩＬＩＮＧ（ｘ）はｘ以上である最小整数値を出力する天井関数である。
【０２５７】
符号器モジュール２６００は、マルチプレクスモジュール（２４０６、２５０６）が現在のスーパーフレームのサイズをモニタリングし及びデータセグメントのうちのいずれをサイズ変更すべきかを決定するのを援助するためにデータセグメントの各々と関連づけられた少なくとも品質及びレート情報をマルチプレクスモジュール（２４０６、２５０６）に送る。符号器モジュール２６００は、例えば、現在のスーパーフレーム内に含められるべきデータセグメントと関連づけられた品質及びレート情報を送ることができる。符号器モジュール２６００は、マルチプレクスモジュール（２４０６、２５０６）からの要求に応答して少なくとも品質及びレート情報をマルチプレクスモジュール（２４０６、２５０６）に送ることができる。符号器モジュール２６００は、例えば、データセグメントと関連づけられた品質−レート曲線又は品質−レートテーブルを送ることができる。
【０２５８】
符号器モジュール２６００と関連づけられたデータセグメントのうちのいずれかをサイズ変更する必要がある場合は、マルチプレクスモジュール（２４０６、２５０６）は、符号器モジュール２６００にサイズ変更要求を送る。サイズ変更要求に応答して、サイズ変更モジュール２６１２は、マルチメディアデータセグメントのサイズを変更する。一例においては、サイズ変更モジュール２６１２は、データセグメントのサイズを大きくする、すなわち、データセグメントを拡大することができる。他の例においては、サイズ変更モジュール２６１２は、データセグメントのサイズを小さくする、すなわちデータセグメントを縮小する。データセグメントの縮小は、データセグメントの品質レベルを目標品質レベル以下に低下させる可能性がある。しかしながら、サイズが変更されたデータセグメントの品質レベルが最低品質レベルを下回る場合は、サイズ変更モジュール２６１２は、最低品質レベル以上であるサイズにデータセグメントのサイズを変更することしかできない。マルチプレクスモジュール（２４０６、２５０６）からのサイズ変更要求は、データセグメントに関するサイズ、例えば最大サイズ、を含むことができ、及びサイズ変更モジュール２６１２は、再符号化要求において指定されるサイズを達成するために１つ以上の符号化変数を調整することができる。サイズ変更モジュール２６１２は、例えば、データセグメントのサイズを変更するためにデータセグメントを調整されたビットレートで再符号化する、例えば、データセグメントがサイズ変更要求において指定される最大サイズ以下になるようにサイズ変更するためにデータセグメントを引き下げられたビットレートで再符号化することができる。他の例として、サイズ変更モジュール２６１２は、調整された量子化パラメータを用いてデータセグメントを再符号化することができる。
【０２５９】
符号器モジュール２６００は、現在のスーパーフレーム内に含められるべき符号化されたデータセグメントを送る要求をマルチプレクスモジュール（２４０６、２５０６）から受け取る。マルチプレクスモジュール（２４０６、２５０６）からの要求に応答して、符号器モジュール２６００は、符号化されたデータセグメントをマルチプレクスモジュール（２４０６、２５０６）に送る。上述されるように、符号器モジュール２６００は、構成された目標品質でサイズ変更するために選択されなかったデータセグメントを送る。しかしながら、符号器モジュール２６００は、低下された品質でサイズ変更するために選択されたデータセグメントを送る。
【０２６０】
符号器モジュール２６００内の構成要素は、ここにおいて説明される技法を実装するために適用可能な構成要素の典型である。しかしながら、符号器モジュール２６００は、希望される場合はその他の数多くの構成要素を含むことができる。符号器モジュール２６００内の構成要素は、１つ以上のプロセッサ、デジタル信号プロセッサ、ＡＳＩＣ、ＦＰＧＡ、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、又はその組み合わせとして実装することができる。さらに、符号器モジュール２６００は、ＭＰＥＧ−４、ＩＴＵ−ＴＨ．２６３、ＩＴＵ−ＴＨ．２６４、又は他のコーディング基準、等のマルチメディアコーディング基準に準拠することができる。異なる特徴をモジュールとして描くことは、符号化モジュール２６００の異なる機能上の側面を強調することが意図されており、該モジュールを別個のハードウェア又はソフトウェア構成要素によって実現しなければならないということは必ずしも意味しない。むしろ、１つ以上のモジュールと関連づけられた機能は、共通の又は別個のハードウェア又はソフトウェア構成要素内において統合することができる。従って、開示は、符号化デバイス２６００の例に制限されるべきでない。
【０２６１】
図２７は、この開示の技法によりビット割り当てを管理する典型的マルチプレクスモジュール２７００を例示するブロック図である。特に、マルチプレクスモジュール２７００は、各々の符号器モジュール、例えば符号器モジュール２４０４（図２４）、から複数のデータセグメントを受け取り、データセグメントを送るために必要なエアリンク資源が利用可能なエアリンク資源を超えないような形でデータセグメントのうちの１つ以上のサイズを変更するように要求する。マルチプレクスモジュール２７００は、例えば、図２４のマルチプレクスモジュール２４０６又は図２５のマルチプレクスモジュール２５０６を表すことができる。マルチプレクスモジュール２７００は、符号器モジュールインタフェース２７０２と、データ収集モジュール２０８６と、ビット管理モジュール２７０４と、を含む。ビット管理モジュール２７０４は、利用可能な帯域幅を割り当てる割り当てモジュール２７０８と、帯域幅割り当てが不成功であるときにデータセグメントのうちのいずれをサイズ変更すべきかを決定する選択モジュール２７１０と、を含む。
【０２６２】
上述されるように、マルチプレクスモジュール２７００は、符号化されたデータセグメントを符号器モジュールインタフェース２７０２を介して符号器モジュール２４０４から受け取り、符号化されたデータセグメントを結合してスーパーフレーム内に入れ、そのスーパーフレームを１つ以上の復号デバイス、例えば図１のモバイルデバイス１０２、に送信する。この開示の技法は、１秒のデータスーパーフレームに関して説明されるが、これらの技法は、その他のデータセグメントを送信するために、例えば異なる期間にわたって受け取られるデータセグメントに関して又は個々のデータフレームに関して利用することもできる。
【０２６３】
ビット管理モジュール２７０４は、生成されたスーパーフレームの各々のスーパーフレームのサイズをモニタリングし、スーパーフレームを送るために必要な送信チャネル資源（例えば、エアリンク資源）が送信チャネル２４０２を通じての利用可能な送信チャネル資源を超過しないようにする。ビット管理モジュール２７０４がスーパーフレームのサイズをモニタリングするのを援助するため、データ収集モジュール２７０６は、各々の符号器モジュール２７０４から品質及びレート情報を受け取る。データ収集モジュール２７０６は、例えば、符号器モジュール２４０４が現在のスーパーフレーム内に含めることを希望する各データセグメントと関連づけられた配送要求事項、例えば品質及びレート情報、を要求する要求を各々の符号器モジュール２４０４に送ることができる。品質及びレート情報は、データセグメントに関する少なくとも品質評価基準をビットレート又はデータサイズの関数として示す。例えば、データ収集モジュール２７０６は、ＰＳＮＲ等の品質評価基準をモデル化するセグメントに対応する品質−レート曲線を、各々のデータセグメントに関するビットレートの関数として受け取ることができる。他の例においては、データ収集モジュール２７０６は、データセグメントと関連づけられた品質−レートテーブルを受け取る。上述されるように、品質−レートテーブルは、様々な順位（又は品質レベル）及び異なる順位の各々と関連づけられたサイズを示すことができる。従って、品質及びレート情報は、特に、符号器モジュール２４０４が現在のスーパーフレームにおいて送信することを希望するデータセグメントに関する異なる品質レベルにおけるデータセグメントのサイズを記述する。
【０２６４】
ビット管理モジュール２７０４は、少なくとも品質及びレート情報を解析して複数のデータセグメントが送信チャネル２４０２の利用可能な帯域幅内にぴったり納まるかどうかを決定することができる。ビット管理モジュール２７０４は、品質及びレート情報に加えてその他の配送要求事項を解析することができる。例えば、ビット管理モジュール２７０４は、ＯＲＴサービスと関連づけられた優先度及びレーテンシー要求事項を解析することができる。ビット管理モジュール２７０４は、データセグメント間で利用可能な帯域幅を割り当てることを試みる割り当てモジュール２７０８を含むことができる。割り当てモジュール２７０８は、例えば、上述される割り当てアルゴリズムのうちの１つを用いて利用可能な帯域幅を割り当てることを試みることができる。利用可能な帯域幅を割り当てる第１の試みにおいては、割り当てモジュール２７０８は、データセグメントと関連づけられた目標品質レベルと各々の品質−レート曲線との間の交点に対応するサイズを用いて帯域幅を割り当てることを試みることができる。他の例として、マルチプレクスモジュール２４０６は、データセグメントと関連づけられた品質−レートテーブルにおいて指定される最高の品質レベルに対応するサイズを用いてデータセグメントが現在のスーパーフレーム内にぴったり納まるかどうかに関する最初の決定を行うことができる。割り当てモジュール２７０８がデータセグメント間において帯域幅を割り当てることに成功した場合、例えば、データセグメントを送る上での十分な送信チャネル資源が存在し及び余分の送信チャネル資源が存在しない場合は、サイズ変更は必要ない。
【０２６５】
しかしながら、割り当てモジュール２７０８が目標品質レベル又は最高の品質レベルと関連づけられたサイズ情報を用いて利用可能な帯域幅を成功裏に割り当てることができない場合は、ビット管理モジュール２７０４は、サイズ変更されるべきデータセグメントのうちの１つ以上を選択する。例えば、ビット管理モジュール２７０４は、不十分な送信チャネル資源が存在するときにサイズが変更されるべきデータセグメントのうちの１つ以上を選択することができる。他の例として、ビット管理モジュール２７０４は、余分の送信チャネル資源量がしきい値を超えるときにサイズが変更されるべきデータセグメントのうちの１つ以上を選択することができる。特に、ビット管理モジュール２７０４は、符号器モジュール２４０４から受け取られた少なくとも品質及びレート情報を解析して１つ以上のデータセグメントをサイズ変更のために選択する選択モジュール２７１０を含む。選択モジュール２７１０がサイズ縮小のために１つ以上のデータセグメントを選択する場合おいては、選択モジュール２７１０は、解析に基づいて、対応する縮小されたサイズにおける品質への影響が最低である１つ以上のデーセグメントを選択することができる。データセグメントの品質（ＱＶ）は、データセグメントに割り当てられたビットレート（ｒ）の関数であり、以下の品質関数によって与えられる。
【数１】
0005897447.tif 000002
【０２６６】
ここで、ｋはマルチメディアセグメント特有の定数であり、符号器モジュール２４０４によって提供される。
【０２６７】
選択モジュール２７１０は、以下に示される最適化問題に従ってすべてのデータセグメントの全体的品質を最高にすることを試みる。
【数２】
0005897447.tif 000003
【０２６８】
ここで、ｎはデータセグメント総数であり、ＱＴｏｔａｌは全データセグメントの全体的品質であり、ｋｉはｉ番目のデータセグメントと関連づけられた定数であり、ｒｉはｉ番目のデータセグメントと関連づけられたビットレートであり、Ｒは全体的な利用可能帯域幅であり、ＱＶｉはｉ番目のデータセグメントと関連づけられた品質であり、ＱＶ−ｍｉｎｉはｉ番目のデータセグメントと関連づけられた最低品質であり、ｗｉはｉ番目のデータセグメントと関連づけられた優先度である。
【０２６９】
選択モジュール２７１０は、存在する場合において、データセグメントと関連づけられた結果的に得られる品質が割り当てられた優先度に比例するような形でビットレート、従ってサイズ、をデータセグメントに割り当てる。上記の最適化問題は、ラグランジュ乗数法及びクーン・タッカー条件を用いて解くことができる。最適化問題を標準形（最大化及び≦制約）に変換することによって以下を得る。
【数３】
0005897447.tif 000004
【０２７０】
ラグランジュ関数は以下のように定義される。
【数４】
0005897447.tif 000005
【０２７１】
以下は、クーン・タッカー条件の組である。
【数５】
0005897447.tif 000006
【数６】
0005897447.tif 000007
【０２７２】
リアルタイム映像流へのビットレートの望ましい割り当ては、方程式（１０）乃至（１５）を満たすべきである。選択モジュール２７１０は、標準的な非線形プログラミング技法のうちのいずれかを用いてこれらの方程式の組を解くことができる。
【０２７３】
以下は、２つのデータセグメント（すなわち、ｎ＝２）に関するレート及び以下のパラメータ値のスケジューリング例である。
【数７】
0005897447.tif 000008
【０２７４】
上記のパラメータに基づき、選択モジュール２７１０は、４８００ｋｂｐｓのビットレートを第１のマルチメディアセグメントに割り当て、２００ｋｂｐｓのビットレートを第２のマルチメディアセグメントに割り当てる。１秒のデータセグメントの場合は、第１のデータセグメントの最大サイズは、４８００キロビットで、第２のデータセグメントの最大サイズは２００キロビットである。選択モジュール２７１０は、品質及びレート情報において示されるデータセグメントの推定サイズを計算された最大サイズと比較し、関連づけられた最大サイズを超えるいずれかのデータセグメントをサイズ変更されるべきセグメントとして選択する。
【０２７５】
他の例においては、マルチプレクスモジュール１４は、符号器モジュール２４０４から受け取られた品質−レートテーブルを用いてサイズが変更されるべき１つ以上のデータセグメントを選択することができる。上述されるように、最初の帯域幅割り当て中に、割り当てモジュール２７０８は、最高の品質レベルと関連づけられた順位に対応するサイズ情報を用いて帯域幅を割り当てることを試みる。選択された順位のサイズにおけるデータセグメントへの帯域幅割り当てが不成功であるときには、選択モジュール２７１０は、次に最高の全体的品質を有するデータセグメントに関する順位の組み合わせを選択する。以下のテーブル１は、品質−レートテーブルのうちで流れ１乃至４と関連づけられた４つのデータセグメントに対応する部分を示す。特に、テーブル１は、現在の順位値、現在の順位におけるデータセグメントのサイズ、次の順位値、及び流れ１乃至４と関連づけられた４つのデータセグメントに関する次の順位におけるデータセグメントのサイズを示す。選択モジュール２７１０の選択プロセスを例示しやすくするためにテーブル１の参照が用いられる。
【表１】
0005897447.tif 000009
【０２７６】
選択モジュール２７１０は、品質−レートテーブルを解析して最高の品質レベルと関連づけられた次の順位を有するデータセグメントのうちの１つ以上を識別する。テーブル１に示される事例においては、最小値を有する次の順位は、最高の品質レベルに対応する。テーブル１に関して、選択モジュール２７１０は、流れ１及び流れ３と関連づけられたセグメントを最小の次の順位を有するとして識別する。テーブル１に示されるように、流れ１及び流れ３と関連づけられたデータセグメントは、両方とも、次の順位値である５を有し、流れ２及び流れ４と関連づけられたデータセグメントは、最低の品質レベルに対応する、次の順位値６及び８をそれぞれ有する。この方法により、選択モジュール２７１０は、品質−レートテーブルを解析して次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別する。  
選択モジュール２７１０は、サイズを変更すべき識別されたデータセグメントのうちの少なくとも１つを選択する。識別されたデータセグメントのうちで、選択モジュール２７１０は、現在の順位と関連づけられた最大サイズを有する識別されたデータセグメントを選択することができる。テーブル１に関して、選択モジュール２７１０は、流れ３と関連づけられたデータセグメントの現在のサイズが４０，０００バイトではなく４５，０００バイトであるためこのデータセグメントを選択する。代替として、選択モジュール２７１０は、現在の順位におけるセグメントのサイズと次の順位におけるセグメントのサイズとの間の差が最大である識別されたデータセグメントを選択することができる。再度テーブル１に関して、選択モジュール２７１０は、流れ３と関連づけられたセグメントに関する５，０００バイトの差とは対照的に１０，０００バイトの差を有する流れ１と関連づけられたデータセグメントを選択する。
【０２７７】
選択モジュール２７１０がデータセグメントのうちの１つ以上を選択後は、割り当てモジュール２７０８は、選択されたデータセグメントに関する引き下げられた順位又は品質と関連づけられたサイズを用いて利用可能な帯域幅を割り当てることを試みる。割り当てアルゴリズムが依然として不成功である場合は、選択モジュール２７１０は、サイズが変更されるべき追加のデータセグメント又はさらに引き下げられたレベルにおいてサイズが変更されるべき同じセグメントを選択する。
【０２７８】
割り当てモジュール２７０８がデータセグメント間で利用可能な帯域幅を成功裏に割り当てた後は、ビット管理モジュール２７０４は、全データセグメントが送信チャネルの利用可能な帯域幅内にぴったり納まるように各々の選択されたデータセグメントのサイズ変更を要求する。ビット管理モジュール２７０４は、例えば、選択されたマルチメディアデータセグメントと関連づけられた符号器モジュール２４０４にサイズ変更要求を送る。ビット管理モジュール２７０４は、データセグメントの最大の受け入れ可能なサイズを指定することができる。符号器モジュール２４０４は、上記において詳細に説明されるようにサイズ変更要求に含まれる情報に基づいてデータを再符号化する。
【０２７９】
割り当てモジュール２７０８及び選択モジュール２７１０は、データセグメントに関するビット割り当てを行い、同様の方法でサイズを拡大すべき１つ以上のデータセグメントを選択することができる。例えば、選択されたデータセグメントと関連づけられた品質−レートテーブルを用いて、割り当てモジュールは、最初に、目標品質レベルと関連づけられた順位に対応するサイズ情報を用いて帯域幅を割り当てることを試みることができる。目標品質レベルに対応するサイズにおけるデータセグメントへの帯域幅の割り当てが不成功である、すなわち、この場合においては余分の帯域幅量がしきい値を超えるときには、選択モジュール２７１０は、より良い全体的品質を有するデータセグメントに関する順位の新しい組み合わせを選択する。
【０２８０】
特に、選択モジュール２７１０は、品質−レートテーブルを解析して次に最高の品質レベルと関連づけられた次に最高の順位を有するデータセグメントのうちの１つ以上を識別することができる。選択モジュール２７１０は、サイズを拡大すべき識別されたデータセグメントのうちの少なくとも１つを選択する。識別されたデータセグメントのうちで、選択モジュール２７１０は、現在の順位に対応する最小サイズを有する識別されたデータセグメントを選択することができる。代替として、選択モジュール２７１０は、現在の順位におけるセグメントのサイズと次に最高の順位におけるセグメントのサイズの間の差が最小である識別されたデータセグメントを選択することができる。
【０２８１】
いずれの場合においても、データ収集モジュール２７０６は、データセグメントを結合してスーパーフレーム内に入れる準備が完了しているときにデータ要求を送出する。データ収集モジュール２７０６は、コマンドに応答して符号化されたデータセグメントを受け取る。マルチプレクスモジュール２７００は、符号化されたマルチメディアデータセグメントを結合することによってスーパーフレームを組み立てる。マルチプレクスモジュール２７００は、スーパーフレームを送信のために送信機２４０８（図２４）に提供するか又は送信機２４０８がスーパーフレームを要求するまでスーパーフレームをバッファリングすることができる。
【０２８２】
マルチメディアマルチプレクスモジュール２７００内の構成要素は、ここにおいて説明される技法を実装するために適用可能な構成要素の典型例である。しかしながら、マルチプレクスモジュール２７００は、希望される場合はその他の数多くの構成要素を含むことができる。マルチプレクスモジュール２７００内の構成要素は、１つ以上のプロセッサ、デジタル信号プロセッサ、ＡＳＩＣ、ＦＰＧＡ、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、又はその組み合わせとして実装することができる。さらに、マルチプレクスモジュール２７００は、マルチメディアコーディング基準、例えば、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４、又は他のコーディング基準、に準拠することができる。異なる特徴をモジュールとして描くことは、マルチプレクスモジュール２７００の異なる機能上の側面を強調することが意図されており、該モジュールを別個のハードウェア又はソフトウェア構成要素によって実現しなければならないということは必ずしも意味しない。むしろ、１つ以上のモジュールと関連づけられた機能は、共通の又は別個のハードウェア又はソフトウェア構成要素内において統合することができる。従って、開示は、マルチプレクスモジュール２７００の例に制限されるべきでない。
【０２８３】
図２８は、この開示の技法によりマルチメディアデータを符号化する符号器モジュール、例えば図２６の符号器モジュール２６００、の典型的動作を例示する流れ図である。符号器モジュール２６００は、１つ以上のマルチメディアデータ流をソースから受け取る（２８００）。符号器モジュール２６００は、例えば、符号器モジュール２４０４に結合されたメモリ又は画像キャプチャデバイスからマルチメディアデータ流を受け取ることができる。マルチメディアデータ流は、ライブのリアルタイムコンテンツ、非リアルタイムコンテンツ、又はリアルタイムコンテンツと非リアルタイムコンテンツの組み合わせを備えることができる。
【０２８４】
符号器モジュール２６００は、コンテンツに基づいてデータセグメントを分類する（２８０２）。コンテンツ分類モジュール２６０４（図２６）は、例えば、セグメントのデータの複雑さ（例えば、空間的複雑さ及び／又は時間的複雑さ）に基づいて受信されたデータセグメントを分類することができる。
【０２８５】
コンテンツ分類モジュール２６０４は、分類に基づいてデータセグメントを品質及びレート情報と関連づける（２８０４）。一例として、コンテンツ分類モジュール２６０４は、データセグメントを複数の品質−レート曲線のうちの１つと関連づけることができる。上述されるように、品質−レート曲線は、予め計算してメモリ内に格納することができる。他の例として、コンテンツ分類モジュール２６０４は、データセグメントを複数の予め計算された品質−レートテーブルのうちの１つと関連づけることができる。
【０２８６】
符号器モジュール２６００は、データセグメントに関する追加の品質及びレート情報を生成することができる（２８０６）。例えば、品質及びレート情報生成モジュール２６０６は、各々のデータセグメントに関する品質−レートテーブルを生成することができる。上述されるように、品質−レートテーブルは、データセグメントと関連づけられた１つ以上の品質レベル及び各々の品質レベルにおけるデータセグメントのサイズを示す。一例として、品質及びレート情報生成モジュール２６０６は、データセグメントと関連づけられた品質−レート曲線を用いて順位とサイズの対を記載するテーブルを生成することができる。
【０２８７】
符号器モジュール２６００は、データセグメントと関連づけられた品質及びレート情報をマルチプレクスモジュールに送る（２８０８）。符号器モジュール２６００は、例えば、マルチプレクスモジュールからの要求に応答してデータセグメントと関連づけられた品質及びレート情報を送ることができる。符号器モジュール２６００は、例えば、データセグメントと関連づけられた品質−レート曲線及び／又は品質−レートテーブルを送ることができる。上記において詳細に説明されるように、マルチプレクスモジュールは、品質及びレート情報を用いて現在のスーパーフレームのサイズをモニタリングし及びマルチプレクスモジュールがデータセグメントのうちのいずれをサイズ変更する必要があるかを決定するのを援助する。
【０２８８】
符号器モジュール２６００と関連づけられたデータセグメントのうちのいずれかのサイズを変更する必要がある場合は、符号器モジュール２６００は、マルチプレクスモジュールからサイズ変更要求を受け取る（２８１０）。マルチプレクスモジュールからのサイズ変更要求は、データセグメントに関するサイズ、例えば単位がビットの最大サイズ、を含むことができる。サイズ変更要求に応答して、サイズ変更モジュール２６１２は、サイズ変更要求において指定されるサイズ制限を満たすように符号化されたデータセグメントのサイズを変更する（２８１２）。この開示の一側面においては、サイズ変更モジュール２６１２は、データセグメントのサイズを縮小するように１つ以上の符号化変数を調整する。サイズ変更モジュール２６１２は、例えば、引き下げられたビットレートで又は調整された、例えばより高い量子化パラメータを用いてデータセグメントを再符号化することができる。代替として又は追加で、サイズ変更モジュール２６１２は、符号化されるべき情報量を調整することができる。例えば、サイズ変更モジュール２６１２は、データセグメントのサイズを縮小するために動き情報を符号化するために用いられるビット数を減少させることができる。この開示の他の側面においては、サイズ変更モジュール２６１２は、データセグメントのサイズを拡大するように１つ以上の符号化変数を調整することができる。サイズ変更モジュール２６１２は、例えば、大きくされたビットレートで又はより小さい量子化パラメータを用いてデータセグメントを再符号化することができる。
【０２８９】
符号器モジュール２６００は、現在のスーパーフレーム内に含められるべきデータセグメントの符号化されたコンテンツを送る要求をマルチプレクスモジュールから受け取る（２８１４）。マルチプレクスモジュールからの要求に応答して、符号器モジュール２６００は、データセグメントの符号化されたコンテンツをマルチプレクスモジュールに送る（２８１６）。上述されるように、符号器モジュール２６００は、サイズ変更のために選択されなかったデータセグメントを原サイズで送り、サイズ変更のために選択されたデータセグメントを縮小されたサイズで送る。
【０２９０】
図２９は、この開示の技法に従ってビット割り当てを管理するマルチプレクスモジュール２８００の典型的動作の流れ図である。データ収集モジュール２８０６は、少なくとも品質及びレート情報を符号器モジュール２４０４の各々のから受け取る（２９００）。データ収集モジュール２８０６は、品質及びレート情報に加えて、符号器モジュール２４０４からのその他の配送要求情報を要求することができる。さらに、データ収集モジュール２８０６は、マルチプレクスモジュール２８００が現在のスーパーフレーム内に含めるＯＲＴサービスと関連づけられた１つ以上の配送要求事項を要求することができる。データ収集モジュール２８０６は、符号器モジュール２４０４の各々が現在のスーパーフレーム内に含めることを希望するデータセグメントと関連づけられた少なくとも品質及びレート情報を受け取る（２９０２）。上述されるように、品質及びレート情報は、特に、データセグメントに関する品質評価基準をビットレート又はデータサイズの関数として示す。品質及びレート情報は、例えば、データセグメントと関連づけられた品質−レート曲線又はデータセグメントと関連づけられた品質−レートテーブルを含むことができる。上述されるように、データ収集モジュール２８０６は、データセグメントに関する品質及びレート情報以外の配送要求事項及びＯＲＴサービスと関連づけられた１つ以上の配送要求事項も受け取ることができる。
【０２９１】
割り当てモジュール２８０８は、利用可能な帯域幅をデータセグメント間で割り当てることを試みる（２９０４）。割り当てモジュール２８０８は、例えば、上述される割り当てアルゴリズムのうちの１つを用いて利用可能な帯域幅を割り当てることを試みることができる。利用可能な帯域幅を割り当てる第１の試みにおいては、割り当てモジュール２８０８は、データセグメントの最高の希望される品質と関連づけられたサイズを用いて帯域幅を割り当てるのを試みることができる。品質及びレート情報が例えば品質−レートテーブルを備える場合は、割り当てモジュール２８０８は、１の順位値と関連づけられたサイズを用いて帯域幅を割り当てることを試みる。品質及びレート情報が品質−レート曲線を備える場合は、割り当てモジュール２８０８は、目標品質レベルと各々の品質−レート曲線の交点に対応するサイズを用いて帯域幅を割り当てることを試みることができる。割り当てモジュール２８０８は、上記において詳細に説明されるようにデータセグメントとＯＲＴサービスとの間において利用可能な帯域幅をさらに割り当てることができる。
【０２９２】
割り当てモジュール２８０８は、利用可能な帯域幅の割り当てが成功であるかどうかを決定する（２９０６）。割り当てモジュール２８０８が帯域幅を成功裏に割り当てない場合は、選択モジュール２８１０は、データセグメントと関連づけられた品質及びレート情報に基づいてサイズが変更されるべきデータセグメントのうちの少なくとも１つを選択する（２９０８）。一側面においては、選択モジュール２８１０は、サービスを送信するための十分な帯域幅が存在しないときにサイズが縮小されるべき１つ以上のデータセグメントを選択することができる。特に、選択モジュール２８１０は、対応する縮小されたサイズにおける品質上の影響が最も小さい１つ以上のデータセグメントを選択する。例えば、選択モジュール２８１０は、次に最高の品質レベルに対応する次の順位を有する１つ以上のデータセグメントを識別することができる。２つ以上のデータセグメントが同じ次の順位を有する場合は、選択モジュール２８１０は、現在の順位と関連づけられた最大のサイズを有する識別されたデータセグメントを選択することができる。代替として、選択モジュール２８１０は、現在の順位におけるセグメントのサイズと次の順位におけるセグメントのサイズとの間の差が最大である識別されたデータセグメントを選択することができる。他の側面においては、選択モジュール２８１０は、余分の利用可能な帯域幅量がしきい値を超えるときにサイズが拡大されるべき１つ以上のデータセグメントを選択することができる。幾つかの場合においては、選択モジュール２８１０は、サイズが変更されるべき１つ以上のＯＲＴサービスを選択することもできる。
【０２９３】
割り当てモジュール２８０８は、選択されたデータセグメントの縮小されたサイズを用いて利用可能な帯域幅を割り当てることを再度試みる。割り当てアルゴリズムが依然として不成功である場合は、選択モジュール２８１０は、サイズが変更されるべき追加のデータセグメント又はさらに低下された品質でサイズが変更されるべき同じセグメントを選択する。
【０２９４】
割り当てモジュール２８０８が利用可能な帯域幅をデータセグメント間で成功裏に割り当てた後に、マルチプレクスモジュール２８００は、複数のセグメントに関して利用可能な帯域幅を達成するために選択されたデータセグメントの各々のサイズ変更を要求する（２９１０）。マルチプレクスモジュール２８００は、例えば、選択されたデータセグメントと関連づけられた符号器モジュール２４０４の各々にサイズ変更要求を送ることができる。サイズ変更要求は、データセグメントの最大の受け入れ可能なサイズ又は引き下げられたビットレートを指定することができる。符号器モジュール２４０４は、上記において詳細に説明されるようにサイズ変更要求に含まれる情報に基づいてデータのサイズを変更する。
【０２９５】
データ収集モジュール２８０６は、符号器モジュール２４０４からのデータセグメントの符号化されたコンテンツの転送を要求する（２９１２）。データ収集モジュール２８０６は、例えば、符号化モジュール２４０４がデータを結合してスーパーフレーム内に入れる準備が完了しているときに符号化モジュール２４０４にデータ要求を送ることができる。データ収集モジュール２８０６は、コマンドに応答して符号化されたデータセグメントを受け取る（２９１４）。マルチプレクスモジュール２８００は、符号化されたマルチメディアデータセグメントを結合することによってスーパーフレームを組み立てる（２９１６）。マルチプレクスモジュール２８００は、スーパーフレームを送信のために送信機２４０８に送ることができる（２９１８）。幾つかの場合においては、マルチプレクスモジュール２８００は、送信機２４０８がスーパーフレームを要求するまでスーパーフレームをバッファリングすることができる。
【０２９６】
図３０は、データセグメントと関連づけられた品質−レートテーブルを用いてサイズが変更されるべきデータセグメントを選択するマルチプレクスモジュール２８００の典型的動作を例示する流れ図である。最初に、選択モジュール２８１０は、その他の可能な順位の組み合わせが存在するかどうかを決定する（３０００）。選択モジュール２８１０は、品質−レートテーブルを解析して最低順位にないデータセグメントが存在するかどうかを決定することができる。上述される例においては、最低順位は、最も大きい番号が付された順位に相当することができる。その他の可能な順位の組み合わせが存在しない、すなわち、データセグメントの各々が最低順位にある場合は、選択モジュール２８１０は、スーパーフレームから取り除くべき１つ以上のデータセグメントを選択するのを開始する（３００１）。選択モジュール２８１０は、例えば、上述される混雑制御アルゴリズムを用いてスーパーフレームから取り除かれるべき１つ以上のデータセグメントを選択することができる。
【０２９７】
その他の可能な順位の組み合わせが存在する場合は、選択モジュール２８１０は、次に最高の品質レベルに対応する次の順位を有する１つ以上のデータセグメントを識別する（３００２）。例えば、選択モジュール２８１０は、品質−レートテーブルが上述されるように生成されたときに最小の次の順位を有するデータセグメントを識別することができる。この方法により、選択モジュール２８１０は、品質−レートテーブルを解析して次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のストリームを識別する。
【０２９８】
選択モジュール２８１０は、サイズが変更されるべき識別されたデータセグメントのうちの１つを選択する（３００４）。１つのデータセグメントのみが最小の次の順位値を有する場合は、マルチプレクスモジュール２８００はそのセグメントを選択する。２つ以上のデータセグメントが同じ次の順位を有する場合は、選択モジュール２８１０は、現在の順位と関連づけられた最大のサイズを有する識別されたデータセグメントを選択することができる。代替として、選択モジュール２８１０は、現在の順位におけるセグメントのサイズと次の順位におけるセグメントのサイズとの間の差が最大である識別されたデータセグメントを選択することができる。
【０２９９】
選択モジュール２８１０は、選択されたデータセグメントと関連づけられた順位を次の順位に設定する（３００６）。選択モジュール２８１０がデータセグメントのうちの１つ以上を選択後は、割り当てモジュール２８０８は、選択されたデータセグメントに関する引き下げられた順位と関連づけられたサイズを用いて利用可能な帯域幅を割り当てることを再度試みる。割り当てアルゴリズムが依然として不成功である場合は、選択モジュール２８１０は、サイズが変更されるべき追加のデータセグメント又はさらに引き下げられたレベルにおいてサイズが変更されるべき同じセグメントを上述されるのと同様の方法で選択する。
【０３００】
ここにおいて説明される技法は、ハードウェア、ソフトウェア、ファームウェア、又はその組み合わせにおいて実装することができる。ハードウェア内に実装される場合は、これらの技法は、デジタルハードウェア、アナログハードウェア又はその組み合わせを用いて実現することができる。これらの技法は、ソフトウェアにおいて実装される場合は、少なくとも部分的には、コンピュータによって読み取り可能な媒体上の１つ以上の格納された又は送信された命令又は符号によって実現することができる。コンピュータによって読み取り可能な媒体は、コンピュータ記憶媒体、通信媒体、又は両方を含むことができ、及び１つの場所から他の場所へのコンピュータプログラムの転送を容易にするあらゆる媒体を含むことができる。記憶媒体は、コンピュータによってアクセス可能なあらゆる利用可能な媒体であることができる。
【０３０１】
一例として、及び制限することなしに、該コンピュータによって読み取り可能な媒体は、ＲＡＭ、例えば同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、非揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、ＲＯＭ、電気的消去可能ブログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、ＥＥＰＲＯＭ、ＦＬＡＳＨメモリ、ＣＤ−ＲＯＭ又はその他の光学ディスク記憶装置、磁気ディスク記憶装置又はその他の磁気記憶デバイス、又は希望されるプログラムコードを命令又はデータ構造の形で搬送又は格納するために用いることができ及びコンピュータによってアクセスすることができるその他のあらゆる有形の媒体を備えることができる。
【０３０２】
あらゆる接続が、コンピュータによって読み取り可能な媒体と適切に呼ばれる。例えば、ソフトウェアが同軸ケーブル、光ファイバケーブル、より対線、データ加入者ライン（ＤＳＬ）、又は無線技術、例えば赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバー、又はその他の遠隔ソースから送信される場合は、その同軸ケーブル、光ファイバケーブル、より対線、ＤＳＬ、又は無線技術、例えば赤外線、無線、及びマイクロ波は、媒体の定義に含められる。ここにおいて用いられるディスク（ｄｉｓｋ）及びディスク（ｄｉｓｃ）は、コンパクトディスク（ｄｉｓｃ）（ＣＤ）と、レーザーディスク（登録商標）（ｄｉｓｃ）と、光学ディスク（ｄｉｓｃ）と、デジタルバーサタイルディスク（ｄｉｓｃ）（ＤＶＤ）と、フロッピーディスク（ｄｉｓｋ）と、ブルーレイディスク（ｄｉｓｃ）とを備え、ディスク（ｄｉｓｋ）は通常は磁気的にデータを複製し、ディスク（ｄｉｓｃ）は例えばレーザーを用いて光学的にデータを複製する。上記の組み合わせもコンピュータによって読み取り可能な媒体の適用範囲内に含まれるべきである。
【０３０３】
ここにおいで開示されるコンピュータプログラム製品は、コンピュータによって読み取り可能な媒体と、コンピュータによって読み取り可能な媒体と関連するあらゆる材料とを含み、コンピュータによって読み取り可能な媒体がパッケージングされるパッケージング材料を含む。コンピュータプログラム製品のコンピュータによって読み取り可能な媒体のコードは、コンピュータによって、例えば１つ以上のプロセッサ、例えば１つ以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、ＡＳＩＣ、ＦＰＧＡ、又はその他の同等の集積回路又は個別論理回路、によって実行することができる。幾つかの側面においては、ここにおいて説明される機能は、符号化及び復号のために構成される専用のソフトウェアモジュール又はハードウェアモジュール内において提供するか又は結合されたＣＯＤＥＣ内に組み入れることができる。
【０３０４】
様々な側面が説明されている。これらの及びその他の側面は、以下の請求項の適用範囲内にある。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
デジタルマルチメディアデータの流れを結合するための方法であって、
前記デジタルマルチメディアデータの流れと関連づけられた複数のデータセグメントに関する少なくとも品質及びレート情報を受け取ることと、
前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定することと、
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた少なくとも前記品質及びレート情報に基づいてサイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択することと、
前記複数のセグメントに関する前記利用可能な帯域幅を達成するために前記１つ以上の選択されたデータセグメントの各々のサイズ変更を要求すること、とを備える、方法。
［Ｃ２］
少なくとも品質及びレート情報を受け取ることは、前記複数のデータセグメントと関連づけられた少なくとも品質−レート曲線を受け取ることを備える請求項１に記載の方法。
［Ｃ３］
少なくとも品質及びレート情報を受け取ることは、前記複数のデータセグメントと関連づけられた少なくとも品質−レートテーブルを受け取ることを備え、前記品質−レートテーブルの各々は、前記対応するデータセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項１に記載の方法。
［Ｃ４］
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まるかどうかを決定することは、
前記品質レベルのうちの選択された１つに対応する前記サイズで前記データセグメントの各々を送るために必要な送信チャネル資源量を決定することと、
前記データセグメントを送るために必要な前記送信チャネル資源量を合計することと、
前記すべてのデータセグメントによって要求される送信チャネル資源の前記合計を利用可能な送信チャネル資源量と比較して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まるかどうかを決定すること、とをさらに備える請求項３に記載の方法。
［Ｃ５］
サイズが変更されるべき前記複数のセグメントのうちの１つ以上を選択することは、前記データセグメントを送るために必要な前記送信資源の前記合計が前記利用可能な帯域幅量よりも大きいときにサイズが縮小されるべき前記複数のセグメントのうちの１つ以上を選択することを備える請求項４に記載の方法。
［Ｃ６］
サイズが変更されるべき前記複数のセグメントのうちの１つ以上を選択することは、前記データセグメントを送るために必要な前記送信資源の前記合計が前記利用可能な帯域幅量よりも少ないときにサイズが拡大されるべき前記複数のセグメントのうちの１つ以上を選択することを備える請求項４記載の方法。
［Ｃ７］
前記複数のセグメントのうちの１つ以上を選択することは、
前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別することと、
前記品質−レートテーブルを解析して現在の品質レベルにおける前記識別されたデータセグメントのサイズを決定することと、
前記現在の品質レベルにおいて最大の推定サイズを有する前記識別されたデータセグメントのうちの少なくとも１つを選択すること、とを備える請求項３に記載の方法。
［Ｃ８］
前記後続品質レベルにおける前記選択されたデータセグメントの前記サイズを用いて前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定することと、
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた前記品質及びレート情報に基づいてサイズが変更されるべき１つ以上の追加のデータセグメントを選択すること、とをさらに備える請求項７に記載の方法。
［Ｃ９］
前記複数のデータセグメントのうちの１つ以上を選択することは、
前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別することと、
前記データセグメントの各々に関して、現在の品質レベルにおける前記識別されたデータセグメントのサイズと前記後続品質レベルにおける前記識別されたデータセグメントのサイズとの間の差を計算することと、
計算された差が最大である前記識別されたデータセグメントのうちの少なくとも１つを選択すること、とを備える請求項３に記載の方法。
［Ｃ１０］
前記データセグメントのうちの１つ以上を選択することは、
前記複数のデータセグメントと関連づけられた前記品質及びレート情報を解析することと、
前記解析に基づいて前記対応する縮小されたサイズにおける品質上の影響が最も小さい前記１つ以上のデータセグメントを選択すること、とを備える請求項１に記載の方法。
［Ｃ１１］
前記対応する縮小されたサイズにおける品質上の影響が最も小さい１つ以上のデータセグメントを選択することは、方程式を最大化することを備える請求項１０に記載の方法。
【数６】
0005897447.tif 000010
ここで、ｎはデータセグメント総数であり、ＱＴｏｔａｌは全データセグメントの全体的品質であり、ｋｉはｉ番目のデータセグメントと関連づけられた定数であり、ｒｉはｉ番目のデータセグメントと関連づけられたビットレートであり、Ｒは全体的な利用可能ビットレートであり、ＱＶｉは、ｉ番目のデータセグメントと関連づけられた品質であり、ＱＶ−ｍｉｎｉは、ｉ番目のデータセグメントと関連づけられた最低品質であり、ｗｉはｉ番目のデータセグメントと関連づけられた優先度である。
［Ｃ１２］
前記選択されたデータセグメントのサイズ変更を要求することは、前記選択されたデータセグメントに関する少なくとも最大サイズを指定することを備える請求項１に記載の方法。
［Ｃ１３］
ある期間にわたる前記データセグメントのマルチメディアデータを結合することをさらに備える請求項１に記載の方法。
［Ｃ１４］
サイズ変更に関して選択された前記データセグメントに関する符号化されたコンテンツの転送を要求することと、
前記複数のデータセグメントのうちの残りのデータセグメントに関する符号化されたコンテンツの転送を要求することと、
前記要求に応答して前記複数のデータセグメントの各々に関する前記コンテンツを受け取ること、とをさらに備える請求項１に記載の方法。
［Ｃ１５］
デジタルマルチメディアデータの流れを結合するための装置であって、
前記デジタルマルチメディアデータの流れと関連づけられた複数のデータセグメントに関する少なくとも品質及びレート情報を受け取るデータ収集モジュールと、
前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定する割り当てモジュールと、
前記複数のデータセグメントが前記利用可能な帯域内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた少なくとも前記品質及びレート情報に基づいてサイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択し及び前記複数のセグメントに関する前記利用可能な帯域幅を達成するために前記１つ以上の選択されたデータセグメントの各々のサイズ変更を要求する選択モジュールと、を備える、装置。
［Ｃ１６］
前記データ収集モジュールは、前記複数のデータセグメントと関連づけられた少なくとも品質−レート曲線を受け取る備える請求項１５に記載の装置。
［Ｃ１７］
前記データ収集モジュールは、前記複数のデータセグメントと関連づけられた少なくとも品質−レートテーブルを受け取り、前記品質−レートテーブルの各々は、前記対応するデータセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項１５に記載の装置。
［Ｃ１８］
前記割り当てモジュールは、前記品質レベルのうちの選択された１つに対応する前記サイズで前記データセグメントの各々を送るために必要な送信チャネル資源量を決定し、前記データセグメントを送るために必要な前記送信チャネル資源量を合計し、及び前記すべてのデータセグメントによって要求される送信チャネル資源の前記合計を利用可能な送信チャネル資源量と比較して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まるかどうかを決定する請求項１７に記載の装置。
［Ｃ１９］
前記選択モジュールは、前記データセグメントを送るために必要な前記送信資源の前記合計が前記利用可能な帯域幅量よりも大きいときにサイズが縮小されるべき前記複数のデータセグメントのうちの１つ以上を選択する請求項１８に記載の装置。
［Ｃ２０］
前記選択モジュールは、前記データセグメントを送るために必要な前記送信資源の前記合計が前記利用可能な帯域幅量よりも少ないときにサイズが拡大されるべき前記複数のセグメントのうちの１つ以上を選択する請求項１８に記載の装置。
［Ｃ２１］
前記選択モジュールは、前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別し、前記品質−レートテーブルを解析して現在の品質レベルにおける前記識別されたデータセグメントのサイズを決定し及び前記現在の品質レベルにおいて最大の推定サイズを有する前記識別されたデータセグメントのうちの少なくとも１つを選択する請求項１７に記載の装置。
［Ｃ２２］
前記割り当てモジュールは、前記後続品質レベルにおける前記選択されたデータセグメントの前記サイズを用いて前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まるかどうかを決定し、
前記選択モジュールは、前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた前記品質及びレート情報に基づいてサイズが変更されるべき１つ以上の追加のデータセグメントを選択する請求項２１に記載の装置。
［Ｃ２３］
前記選択モジュールは、前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別し、前記データセグメントの各々に関して、現在の品質レベルにおける前記識別されたデータセグメントのサイズと前記後続品質レベルにおける前記識別されたデータセグメントのサイズとの間の差を計算し、及び計算された差が最大である前記識別されたデータセグメントのうちの少なくとも１つを選択する請求項１７に記載の装置。
［Ｃ２４］
前記選択モジュールは、前記複数のデータセグメントと関連づけられた前記品質及びレート情報を解析し及び前記解析に基づいて前記対応する縮小されたサイズにおける品質上の影響が最も小さい前記１つ以上のデータセグメントを選択する請求項１５に記載の装置。
［Ｃ２５］
前記選択は、方程式を最大化することによって前記１つ以上のデータセグメントを選択する請求項２４に記載の装置。
【数７】
0005897447.tif 000011
ここで、ｎはデータセグメント総数であり、ＱＴｏｔａｌは全データセグメントの全体的品質であり、ｋｉはｉ番目のデータセグメントと関連づけられた定数であり、ｒｉはｉ番目のデータセグメントと関連づけられたビットレートであり、Ｒは全体的な利用可能ビットレートであり、ＱＶｉは、ｉ番目のデータセグメントと関連づけられた品質であり、ＱＶ−ｍｉｎｉは、ｉ番目のデータセグメントと関連づけられた最低品質であり、ｗｉはｉ番目のデータセグメントと関連づけられた優先度である。
［Ｃ２６］
前記選択モジュールは、サイズ変更を要求時に前記選択されたデータセグメントに関する少なくとも最大サイズを指定する請求項１５に記載の装置。
［Ｃ２７］
前記データセグメントは、ある期間にわたる前記流れの一部分を備える請求項１５に記載の装置。
［Ｃ２８］
前記データ収集モジュールは、サイズ変更に関して選択された前記データセグメントに関する符号化されたコンテンツの転送を要求し、前記複数のデータセグメントのうちの残りのデータセグメントに関する符号化されたコンテンツの転送を要求し、及び前記要求に応答して前記複数のデータセグメントの各々に関する前記コンテンツを受け取る請求項１５に記載の装置。
［Ｃ２９］
デジタルマルチメディアデータの流れを結合するための装置であって、
前記デジタルマルチメディアデータの流れと関連づけられた複数のデータセグメントに関する少なくとも品質及びレート情報を受け取るための手段と、
前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定するための手段と、
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた前記品質及びレート情報に基づいてサイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択するための手段と、  前記複数のセグメントに関する前記利用可能な帯域幅を達成するために前記１つ以上の選択されたデータセグメントの各々のサイズ変更を要求するための手段と、を備える、装置。
［Ｃ３０］
前記受け取る手段は、前記複数のデータセグメントと関連づけられた少なくとも品質−レート曲線を受け取る請求項２９に記載の装置。
［Ｃ３１］
前記受け取る手段は、前記複数のデータセグメントと関連づけられた少なくとも品質−レートテーブルを受け取り、前記品質−レートテーブルの各々は、前記対応するデータセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項２９に記載の装置。
［Ｃ３２］
前記決定する手段は、前記品質レベルのうちの選択された１つに対応する前記サイズで前記データセグメントの各々を送るために必要な送信チャネル資源量を決定し、前記データセグメントを送るために必要な前記送信チャネル資源量を合計し、前記すべてのデータセグメントによって要求される送信チャネル資源の前記合計を利用可能な送信チャネル資源量と比較して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まるかどうかを決定する請求項３１に記載の装置。
［Ｃ３３］
前記選択する手段は、前記データセグメントを送るために必要な前記送信資源の前記合計が前記利用可能な帯域幅量よりも大きいときにサイズが縮小されるべき前記複数のデータセグメントのうちの１つ以上を選択する請求項３２に記載の装置。
［Ｃ３４］
前記選択する手段は、前記データセグメントを送るために必要な前記送信資源の前記合計が前記利用可能な帯域幅量よりも少ないときにサイズが拡大されるべき前記複数のセグメントのうちの１つ以上を選択する請求項３２記載の装置。
［Ｃ３５］
前記選択する手段は、前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別し、前記品質−レートテーブルを解析して現在の品質レベルにおける前記識別されたデータセグメントのサイズを決定し及び前記現在の品質レベルにおいて最大の推定サイズを有する前記識別されたデータセグメントのうちの少なくとも１つを選択する請求項３１に記載の装置。
［Ｃ３６］
前記選択する手段は、前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別し、前記データセグメントの各々に関して、現在の品質レベルにおける前記識別されたデータセグメントのサイズと前記後続品質レベルにおける前記識別されたデータセグメントのサイズとの間の差を計算し、及び計算された差が最大である前記識別されたデータセグメントのうちの少なくとも１つを選択する請求項３１に記載の装置。
［Ｃ３７］
前記選択する手段は、前記複数のデータセグメントと関連づけられた前記品質及びレート情報を解析し及び方程式を最大化することによる品質上の影響が最も小さい前記１つ以上のデータセグメントを選択する請求項２９に記載の装置。
【数８】
0005897447.tif 000012
ここで、ｎはデータセグメント総数であり、ＱＴｏｔａｌは全データセグメントの全体的品質であり、ｋｉはｉ番目のデータセグメントと関連づけられた定数であり、ｒｉはｉ番目のデータセグメントと関連づけられたビットレートであり、Ｒは全体的な利用可能ビットレートであり、ＱＶｉは、ｉ番目のデータセグメントと関連づけられた品質であり、ＱＶ−ｍｉｎｉは、ｉ番目のデータセグメントと関連づけられた最低品質であり、ｗｉはｉ番目のデータセグメントと関連づけられた優先度である。
［Ｃ３８］
デジタル映像データを処理するためのプロセッサであって、
前記デジタルマルチメディアデータの流れと関連づけられた複数のデータセグメントに関する品質及びレート情報を受け取り、
前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定し、
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた前記品質及びレート情報に基づいてサイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択し、及び
前記複数のストリームに関する前記利用可能な帯域幅を達成するために前記１つ以上の選択されたデータセグメントの各々のサイズ変更を要求するように適合化される、プロセッサ。
［Ｃ３９］
前記プロセッサは、前記複数のデータセグメントと関連づけられた少なくとも品質−レート曲線を受け取るように適合化される請求項３８に記載のプロセッサ。
［Ｃ４０］
前記プロセッサは、前記複数のデータセグメントと関連づけられた少なくとも品質−レート曲線を受け取るように適合化され、前記品質−レートテーブルの各々は、前記対応するデータセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項３８に記載のプロセッサ。
［Ｃ４１］
前記プロセッサは、
前記品質レベルのうちの選択された１つに対応する前記サイズで前記データセグメントの各々を送るために必要な送信チャネル資源量を決定し、
前記データセグメントを送るために必要な送信チャネル資源量を合計し、及び
前記すべてのデータセグメントによって要求される送信チャネル資源の前記合計を利用可能な送信チャネル資源量と比較して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まるかどうかを決定するように適合化される請求項４０に記載のプロセッサ。
［Ｃ４２］
前記プロセッサは、前記データセグメントを送るために必要な前記送信資源の前記合計が前記利用可能な帯域幅量よりも大きいときにサイズが縮小されるべき前記複数のデータセグメントのうちの１つ以上を選択するように適合化される請求項４１に記載のプロセッサ。
［Ｃ４３］
前記プロセッサは、前記データセグメントを送るために必要な前記送信資源の前記合計が前記利用可能な帯域幅量よりも少ないときにサイズが拡大されるべき前記複数のセグメントのうちの１つ以上を選択するように適合化される請求項４１記載のプロセッサ。
［Ｃ４４］
前記プロセッサは、
前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別し、
前記品質−レートテーブルを解析して現在の品質レベルにおける前記識別されたデータセグメントのサイズを決定し、及び
前記現在の品質レベルにおいて最大の推定サイズを有する前記識別されたデータセグメントのうちの少なくとも１つを選択するように適合化される請求項４０に記載のプロセッサ。
［Ｃ４５］
前記プロセッサは、
前記後続品質レベルにおける前記選択されたデータセグメントの前記サイズを用いて前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定し、及び
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた前記品質及びレート情報に基づいてサイズが変更されるべき１つ以上の追加のデータセグメントを選択するように適合化される請求項４４に記載のプロセッサ。
［Ｃ４６］
前記プロセッサは、
前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別し、
前記データセグメントの各々に関して、現在の品質レベルにおける前記識別されたデータセグメントのサイズと前記後続品質レベルにおける前記識別されたデータセグメントのサイズとの間の差を計算し、及び
計算された差が最大である前記識別されたデータセグメントのうちの少なくとも１つを選択するように適合化される請求項４０に記載のプロセッサ。
［Ｃ４７］
前記プロセッサは、
前記複数のデータセグメントと関連づけられた前記品質及びレート情報を解析し、及び
前記解析に基づいて前記対応する縮小されたサイズにおける品質上の影響が最も小さい前記１つ以上のデータセグメントを選択するように適合化される請求項３８に記載のプロセッサ。
［Ｃ４８］
前記プロセッサは、方程式を最大化するように適合化される請求項４７に記載のプロセッサ。
【数９】
0005897447.tif 000013
ここで、ｎはデータセグメント総数であり、ＱＴｏｔａｌは全データセグメントの全体的品質であり、ｋｉはｉ番目のデータセグメントと関連づけられた定数であり、ｒｉはｉ番目のデータセグメントと関連づけられたビットレートであり、Ｒは全体的な利用可能ビットレートであり、ＱＶｉは、ｉ番目のデータセグメントと関連づけられた品質であり、ＱＶ−ｍｉｎｉは、ｉ番目のデータセグメントと関連づけられた最低品質であり、ｗｉはｉ番目のデータセグメントと関連づけられた優先度である。
［Ｃ４９］
前記プロセッサは、前記選択されたデータセグメントに関する少なくとも最大サイズを指定するように適合化される請求項３８に記載のプロセッサ。
［Ｃ５０］
前記プロセッサは、ある期間にわたる前記データセグメントのマルチメディアデータを結合するように適合化される請求項３８に記載のプロセッサ。
［Ｃ５１］
前記プロセッサは、
サイズ変更に関して選択された前記データセグメントに関する符号化されたコンテンツの転送を要求し、
前記複数のデータセグメントのうちの残りのデータセグメントに関する符号化されたコンテンツの転送を要求し、及び
前記要求に応答して前記複数のデータセグメントの各々に関する前記コンテンツを受け取るように適合化される請求項３８に記載のプロセッサ。
［Ｃ５２］
デジタル映像データを処理するためのコンピュータプログラム製品であって、
前記デジタルマルチメディアデータの流れと関連づけられた複数のデータセグメントに関する品質及びレート情報を受け取り、
前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定し、
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた前記品質及びレート情報に基づいてサイズが変更されるべき前記複数のデータセグメントのうちの１つ以上を選択し、及び
前記複数のストリームに関する前記利用可能な帯域幅を達成するために前記１つ以上の選択されたデータセグメントの各々のサイズ変更を要求することを少なくとも１つのコンピュータに行わせる命令を備えるコンピュータによって読み取り可能な媒体を備える、デジタル映像データを処理するためのコンピュータプログラム製品。
［Ｃ５３］
少なくとも品質及びレート情報を受け取ることを前記コンピュータに行わせる前記命令は、前記複数のデータセグメントと関連づけられた少なくとも品質−レート曲線を受け取ることを前記コンピュータに行わせる命令を備える請求項５２に記載のコンピュータプログラム製品。
［Ｃ５４］
少なくとも品質及びレート情報を受け取ることを前記コンピュータに行わせる前記命令は、前記複数のデータセグメントと関連づけられた少なくとも品質−レートテーブルを受け取ることを前記コンピュータに行わせる命令を備え、前記品質−レートテーブルの各々は、前記対応するデータセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項５２に記載のコンピュータプログラム製品。
［Ｃ５５］
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まるかどうかを決定することを前記コンピュータに行わせる前記命令は、
前記品質レベルのうちの選択された１つに対応する前記サイズで前記データセグメントの各々を送るために必要な送信チャネル資源量を決定し、
前記データセグメントを送るために必要な前記送信チャネル資源量を合計し、及び
前記すべてのデータセグメントによって要求される送信チャネル資源の前記合計を利用可能な送信チャネル資源量と比較して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まるかどうかを決定することを前記コンピュータに行わせる命令をさらに備える請求項５４に記載のコンピュータプログラム製品。
［Ｃ５６］
サイズが変更されるべき前記複数のセグメントのうちの１つ以上を選択することを前記コンピュータに行わせる前記命令は、前記データセグメントを送るために必要な前記送信資源の前記合計が前記利用可能な帯域幅量よりも大きいときにサイズが縮小されるべき前記複数のデータセグメントのうちの１つ以上を選択することを前記コンピュータに行わせる命令を備える請求項５５に記載のコンピュータプログラム製品。
［Ｃ５７］
サイズが変更されるべき前記複数のセグメントのうちの１つ以上を選択することを前記コンピュータに行わせる前記命令は、前記データセグメントを送るために必要な前記送信資源の前記合計が前記利用可能な帯域幅量よりも少ないときにサイズが拡大されるべき前記複数のセグメントのうちの１つ以上を選択することを前記コンピュータに行わせる命令を備える請求項５５記載のコンピュータプログラム製品。
［Ｃ５８］
前記複数のデータセグメントのうちの１つ以上を選択することを前記コンピュータに行わせる命令は、
前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別し、
前記品質−レートテーブルを解析して現在の品質レベルにおける前記識別されたデータセグメントのサイズを決定し、及び
前記現在の品質レベルにおいて最大の推定サイズを有する前記識別されたデータセグメントのうちの少なくとも１つを選択することを前記コンピュータに行わせる命令を備える請求項５４に記載のコンピュータプログラム製品。
［Ｃ５９］
前記後続品質レベルにおける前記選択されたデータセグメントの前記サイズを用いて前記複数のデータセグメントが利用可能な帯域幅内にぴったり納まるかどうかを決定し、及び
前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに前記複数のデータセグメントと関連づけられた前記品質及びレート情報に基づいてサイズが変更されるべき１つ以上の追加のデータセグメントを選択することを前記コンピュータに行わせる命令をさらに備える請求項５８に記載のコンピュータプログラム製品。
［Ｃ６０］
前記複数のデータセグメントのうちの１つ以上を選択することを前記コンピュータに行わせる命令は、
前記品質−レートテーブルを解析して前記複数のデータセグメントが前記利用可能な帯域幅内にぴったり納まらないときに次に最高の品質レベルに対応する後続品質レベルを有する１つ以上のデータセグメントを識別し、
前記データセグメントの各々に関して、現在の品質レベルにおける前記識別されたデータセグメントのサイズと前記後続品質レベルにおける前記識別されたデータセグメントのサイズとの間の差を計算し、及び
計算された差が最大である前記識別されたデータセグメントのうちの少なくとも１つを選択することを前記コンピュータに行わせる命令を備える請求項５４に記載のコンピュータプログラム製品。
［Ｃ６１］
前記データセグメントのうちの１つ以上を選択することを前記コンピュータに行わせる命令は、
前記複数のデータセグメントと関連づけられた前記品質及びレート情報を解析し、及び
前記解析に基づいて前記対応する縮小されたサイズにおける品質上の影響が最も小さい前記１つ以上のデータセグメントを選択することを前記コンピュータに行わせる命令を備える請求項５２に記載のコンピュータプログラム製品。
［Ｃ６２］
前記対応する縮小されたサイズにおける品質上の影響が最も小さい１つ以上のデータセグメントを選択することを前記コンピュータに行わせる命令は、方程式を最大化することを前記コンピュータに行わせる命令を備える請求項６１に記載のコンピュータプログラム製品。
【数１０】
0005897447.tif 000014
ここで、ｎはデータセグメント総数であり、ＱＴｏｔａｌは全データセグメントの全体的品質であり、ｋｉはｉ番目のデータセグメントと関連づけられた定数であり、ｒｉはｉ番目のデータセグメントと関連づけられたビットレートであり、Ｒは全体的な利用可能ビットレートであり、ＱＶｉは、ｉ番目のデータセグメントと関連づけられた品質であり、ＱＶ−ｍｉｎｉは、ｉ番目のデータセグメントと関連づけられた最低品質であり、ｗｉはｉ番目のデータセグメントと関連づけられた優先度である。
［Ｃ６３］
前記選択されたデータセグメントのサイズ変更を要求することを前記コンピュータに行わせる命令は、前記選択されたデータセグメントに関する少なくとも最大サイズを指定することを前記コンピュータに行わせる命令を備える請求項５２に記載のコンピュータプログラム製品。
［Ｃ６４］
ある期間にわたる前記データセグメントのうちのマルチメディアデータを結合することを前記コンピュータに行わせる命令をさらに備える請求項５２に記載のコンピュータプログラム製品。
［Ｃ６５］
サイズ変更のために選択された前記データセグメントに関する符号化されたコンテンツの転送を要求し、
前記複数のデータセグメントのうちの残りのデータセグメントに関する符号化されたコンテンツの転送を要求し、及び
前記要求に応答して前記複数のデータセグメントの各々に関する前記コンテンツを受け取ることを前記コンピュータに行わせる命令をさらに備える請求項５２に記載のコンピュータプログラム製品。
［Ｃ６６］
デジタルマルチメディアデータの流れを符号化するための方法であって、
前記流れのデータセグメントを少なくとも品質及びレート情報と関連づけることと、
前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送ること、とを備える、方法。
［Ｃ６７］
前記データセグメントのコンテンツを解析することと、
前記解析に基づいて前記データセグメントを複数の品質−レート曲線のうちの１つと関連づけること、とをさらに備える請求項６６に記載の方法。
［Ｃ６８］
少なくとも前記品質及びレート情報を送ることは、前記データセグメントと関連づけられた少なくとも前記品質−レート曲線を送ることを備える請求項６７に記載の方法。
［Ｃ６９］
少なくとも前記品質及びレート情報を送ることは、前記データセグメントと関連づけられた少なくとも品質−レートテーブルを送ることを備え、前記品質−レートテーブルは、前記データセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項６６に記載の方法。
［Ｃ７０］
前記データセグメントのコンテンツを解析することと、
前記コンテンツの前記解析に基づいて前記データセグメントに関する複数の品質−レート曲線のうちの１つを選択することと、
前記選択された品質−レート曲線を用いて前記データセグメントと関連づけられた前記品質−レートテーブルを生成すること、とをさらに備える請求項６９に記載の方法。
［Ｃ７１］
前記品質−レートテーブルを生成することは、
前記データセグメントを符号化することができる前記サイズを計算することと、
前記選択された品質−レート曲線を用いて前記サイズの各々と関連づけられた品質レベルを決定することであって、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離されること、とを備える請求項７０に記載の方法。
［Ｃ７２］
前記品質−レートテーブルを生成することは、
前記データセグメントを符号化することができる複数の品質レベルを計算することであって、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離されることと、  前記選択された品質−レート曲線を用いて前記品質レベルの各々における前記データセグメントの前記サイズを決定すること、とを備える請求項７０に記載の方法。
［Ｃ７３］
前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を送る要求を受け取ることと、
前記要求に応答して前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送ること、とをさらに備える請求項６６に記載の方法。
［Ｃ７４］
前記データセグメントのサイズを変更する要求を受け取ることと、
前記要求に応答して前記データセグメントのサイズを変更すること、とをさらに備える請求項６６に記載の方法。
［Ｃ７５］
前記サイズが変更されたデータセグメントに関するコンテンツ転送要求を受け取ることと、
前記要求に応答して前記サイズが変更されたデータセグメントに関する前記コンテンツを多重処理のために送ること、とをさらに備える請求項７４に記載の方法。
［Ｃ７６］
デジタルマルチメディアデータの流れを符号化するための装置であって、
前記流れのデータセグメントを少なくとも品質及びレート情報と関連づけるコンテンツ分類モジュールと、
前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送る符号化モジュールと、を備える、装置。
［Ｃ７７］
前記コンテンツ分類モジュールは、前記データセグメントのコンテンツを解析して前記解析に基づいて前記データセグメントを複数の品質−レート曲線のうちの１つと関連づける請求項７６に記載の装置。
［Ｃ７８］
前記符号化モジュールは、前記データセグメントと関連づけられた少なくとも前記品質−レート曲線を送る請求項７７に記載の装置。
［Ｃ７９］
前記符号化モジュールは、前記データセグメントと関連づけられた少なくとも品質−レートテーブルを送り、前記品質−レートテーブルは、前記データセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項７６に記載の装置。
［Ｃ８０］
前記コンテンツ分類モジュールは、前記データセグメントのコンテンツを解析し及び前記コンテンツの前記解析に基づいて前記データセグメントに関する複数の品質−レート曲線のうちの１つを選択し、及び
品質及びレート情報生成モジュールは、前記選択された品質−レート曲線を用いて前記データセグメントと関連づけられた前記品質−レートテーブルを生成することをさらに備える請求項７９に記載の装置。
［Ｃ８１］
前記品質及びレート情報生成モジュールは、前記データセグメントを符号化することができる前記サイズを計算し、前記選択された品質−レート曲線を用いて前記サイズの各々と関連づけられた品質レベルを決定し、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離される請求項８０に記載の装置。
［Ｃ８２］
前記品質及びレート情報生成モジュールは、前記データセグメントを符号化することができる複数の品質レベルを計算し、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離され、前記選択された品質−レート曲線を用いて前記品質レベルの各々における前記データセグメントの前記サイズを決定する請求項８０に記載の装置。
［Ｃ８３］
前記符号化モジュールは、前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を送る要求を受け取り、前記要求に応答して前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送る請求項７６に記載の装置。
［Ｃ８４］
前記データセグメントのサイズを変更する要求を受け取り及び前記要求に応答して前記データセグメントのサイズを変更するサイズ変更モジュールをさらに備える請求項７６に記載の装置。
［Ｃ８５］
前記符号化モジュールは、前記サイズが変更されたデータセグメントに関するコンテンツ転送要求を受け取り及び前記要求に応答して前記サイズが変更されたデータセグメントに関する前記コンテンツを多重処理のために送る請求項８４に記載の装置。
［Ｃ８６］
デジタルマルチメディアデータの流れを符号化するための装置であって、
前記流れのデータセグメントを少なくとも品質及びレート情報と関連づけるための手段と、
前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送るための手段と、を備える、装置。
［Ｃ８７］
関連づけるための前記手段は、前記データセグメントのコンテンツを解析し及び前記解析に基づいて前記データセグメントを複数の品質−レート曲線のうちの１つと関連づける請求項８６に記載の装置。
［Ｃ８８］
前記送る手段は、前記データセグメントと関連づけられた少なくとも前記品質−レート曲線を送る請求項８７に記載の装置。
［Ｃ８９］
前記送る手段は、前記データセグメントと関連づけられた少なくとも品質−レートテーブルを送り、前記品質−レートテーブルは、前記データセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項８６に記載の装置。
［Ｃ９０］
関連づけるための前記手段は、前記データセグメントのコンテンツを解析し及び前記コンテンツの前記解析に基づいて前記データセグメントに関する複数の品質−レート曲線のうちの１つを選択し、
前記選択された品質−レート曲線を用いて前記データセグメントと関連づけられた前記品質−レートテーブルを生成するための手段をさらに備える請求項８９に記載の装置。
［Ｃ９１］
前記生成する手段は、前記データセグメントを符号化することができる前記サイズを計算し及び前記選択された品質−レート曲線を用いて前記サイズの各々と関連づけられた品質レベルを決定し、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離される請求項９０に記載の装置。
［Ｃ９２］
前記生成する手段は、前記データセグメントを符号化することができる複数の品質レベルを計算し、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離され及び前記選択された品質−レート曲線を用いて前記品質レベルの各々における前記データセグメントの前記サイズを決定する請求項９０に記載の装置。
［Ｃ９３］
前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を送る要求を受け取るための手段をさらに備え、
前記送る手段は、前記要求に応答して前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送る請求項８６に記載の装置。
［Ｃ９４］
前記データセグメントのサイズを変更する要求を受け取るための手段と、
前記要求に応答して前記データセグメントのサイズを変更するための手段と、をさらに備え、
前記送る手段は、前記サイズが変更されたデータセグメントに関するコンテンツを多重処理のために送る請求項８６に記載の装置。
［Ｃ９５］
デジタル映像データを処理するためのプロセッサであって、
前記流れのデータセグメントを品質及びレート情報と関連づけ、及び
前記データセグメントと関連づけられた前記品質及びレート情報をマルチプレクス装置に送るように適合化される、プロセッサ。
［Ｃ９６］
前記プロセッサは、
前記データセグメントのコンテンツを解析し、及び
前記解析に基づいて前記データセグメントを複数の品質−レート曲線のうちの１つと関連づけるように適合化される請求項９５に記載のプロセッサ。
［Ｃ９７］
前記プロセッサは、前記データセグメントと関連づけられた少なくとも前記品質−レート曲線を送るように適合化される請求項９６に記載のプロセッサ。
［Ｃ９８］
前記プロセッサは、前記データセグメントと関連づけられた少なくとも品質−レートテーブルを送るように適合化され、前記品質−レートテーブルは、前記データセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項９５に記載のプロセッサ。
［Ｃ９９］
前記プロセッサは、
前記データセグメントのコンテンツを解析し、及び
前記コンテンツの前記解析に基づいて前記データセグメントに関する複数の品質−レート曲線のうちの１つを選択し、及び
前記選択された品質−レート曲線を用いて前記データセグメントと関連づけられた前記品質−レートテーブルを生成するように適合化される請求項９８に記載のプロセッサ。
［Ｃ１００］
前記プロセッサは、
前記データセグメントを符号化することができる前記サイズを計算し、及び
前記選択された品質−レート曲線を用いて前記サイズの各々と関連づけられた品質レベルを決定するように適合化され、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離される請求項９９に記載のプロセッサ。
［Ｃ１０１］
前記プロセッサは、  
前記データセグメントを符号化することができる複数の品質レベルを計算し、
前記選択された品質−レート曲線を用いて前記品質レベルの各々における前記データセグメントの前記サイズを決定するように適合化され、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離される請求項９９に記載のプロセッサ。
［Ｃ１０２］
前記プロセッサは、
前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を送る要求を受け取り、及び
前記要求に応答して前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送るように適合化される請求項９５に記載のプロセッサ。
［Ｃ１０３］
前記プロセッサは、
前記データセグメントのサイズを変更する要求を受け取り、及び
前記要求に応答して前記データセグメントのサイズを変更するように適合化される請求項９５に記載のプロセッサ。
［Ｃ１０４］
前記プロセッサは、
前記サイズが変更されたデータセグメントに関するコンテンツ転送要求を受け取り、及び
前記要求に応答して前記サイズが変更されたデータセグメントに関する前記コンテンツを多重処理のために送るように適合化される請求項１０３に記載のプロセッサ。
［Ｃ１０５］
デジタル映像データを処理するためのコンピュータプログラム製品であって、
前記流れのデータセグメントを品質及びレート情報と関連づけ、及び
前記データセグメントと関連づけられた前記品質及びレート情報をマルチプレクス装置に送ることを少なくとも１つのコンピュータに行わせる命令を備えるコンピュータによって読み取り可能な媒体を備える、デジタル映像データを処理するためのコンピュータプログラム製品。
［Ｃ１０６］
前記データセグメントのコンテンツを解析し、及び
前記解析に基づいて前記データセグメントを複数の品質−レート曲線のうちの１つと関連づけることを前記コンピュータに行わせる命令をさらに備える請求項１０５に記載のコンピュータプログラム製品。
［Ｃ１０７］
少なくとも前記品質及びレート情報を送ることを前記コンピュータに行わせる命令は、前記データセグメントと関連づけられた少なくとも前記品質−レート曲線を送ることを前記コンピュータに行わせる命令を備える請求項１０６に記載のコンピュータプログラム製品。
［Ｃ１０８］
少なくとも前記品質及びレート情報を送ることを前記コンピュータに行わせる命令は、前記データセグメントと関連づけられた少なくとも品質−レートテーブルを送ることを前記コンピュータに行わせる命令を備え、前記品質−レートテーブルは、前記データセグメントと関連づけられた少なくとも１つ以上の品質レベル及び前記品質レベルの各々における前記データセグメントのサイズを示す請求項１０５に記載のコンピュータプログラム製品。
［Ｃ１０９］
前記データセグメントのコンテンツを解析し、及び
前記コンテンツの前記解析に基づいて前記データセグメントに関する複数の品質−レート曲線のうちの１つを選択し、及び
前記選択された品質−レート曲線を用いて前記データセグメントと関連づけられた前記品質−レートテーブルを生成することを前記コンピュータに行わせる命令をさらに備える請求項１０８に記載のコンピュータプログラム製品。
［Ｃ１１０］
前記品質−レートテーブルを生成することを前記コンピュータに行わせる命令は、
前記データセグメントを符号化することができる前記サイズを計算し、及び
前記選択された品質−レート曲線を用いて前記サイズの各々と関連づけられた品質レベルを決定することを前記コンピュータに行わせる命令を備え、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離される請求項１０９に記載のコンピュータプログラム製品。
［Ｃ１１１］
前記品質−レートテーブルを生成することを前記コンピュータに行わせる命令は、
前記データセグメントを符号化することができる複数の品質レベルを計算し、及び
前記選択された品質−レート曲線を用いて前記品質レベルの各々における前記データセグメントの前記サイズを決定することを前記コンピュータに行わせる命令を備え、前記品質レベルの各々は、品質増分だけ隣接品質レベルから分離される請求項１０９に記載のコンピュータプログラム製品。
［Ｃ１１２］
前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を送る要求を受け取り、及び
前記要求に応答して前記データセグメントと関連づけられた少なくとも前記品質及びレート情報を多重処理のために送ることを前記コンピュータに行わせる命令をさらに備える請求項１０５に記載のコンピュータプログラム製品。
［Ｃ１１３］
前記データセグメントのサイズを変更する要求を受け取り、及び
前記要求に応答して前記データセグメントのサイズを変更することを前記コンピュータに行わせる命令をさらに備える請求項１０５に記載のコンピュータプログラム製品。
［Ｃ１１４］
前記サイズが変更されたデータセグメントに関するコンテンツ転送要求を受け取り、及び
前記要求に応答して前記サイズが変更されたデータセグメントに関する前記コンテンツを多重処理のために送ることを前記コンピュータに行わせる命令をさらに備える請求項１１３に記載のコンピュータプログラム製品。
【図１】
0005897447.tif 000020
【図２】
0005897447.tif 000021
【図３】
0005897447.tif 000022
【図４】
0005897447.tif 000023
【図５】
0005897447.tif 000024
【図６】
0005897447.tif 000025
【図７】
0005897447.tif 000026
【図８】
0005897447.tif 000027
【図９】
0005897447.tif 000028
【図１０】
0005897447.tif 000029
【図１１】
0005897447.tif 000030
【図１２】
0005897447.tif 000031
【図１３】
0005897447.tif 000032
【図１４】
0005897447.tif 000033
【図１５】
0005897447.tif 000034
【図１６】
0005897447.tif 000035
【図１７】
0005897447.tif 000036
【図１８】
0005897447.tif 000037
【図１９】
0005897447.tif 000038
【図２０】
0005897447.tif 000039
【図２１】
0005897447.tif 000040
【図２２】
0005897447.tif 000041
【図２３】
0005897447.tif 000042
【図２４】
0005897447.tif 000043
【図２５】
0005897447.tif 000044
【図２６】
0005897447.tif 000045
【図２７】
0005897447.tif 000046
【図２８】
0005897447.tif 000047
【図２９】
0005897447.tif 000048
【図３０】
0005897447.tif 000049