(57)【要約】  本発明は、ビデオデータ冗長制御方法及び装置に関する。方法は、受信端によってフィードバックされたビデオ符号レートと冗長レベルを取得するステップであって、ビデオ符号レートと冗長レベルは受信端によってパケットロス率に基づいて決定される、ステップと、冗長レベルに基づいて冗長率を得るステップと、圧縮ビデオデータを得るためにビデオ符号レートに従ってソースビデオデータの圧縮符号化を実行するステップと、ビデオ符号化率およびデータ冗長率に基づいて、圧縮ビデオデータのフレームに対してフレームレベル冗長符号レートバジェットを割り当てるステップと、圧縮ビデオデータのフレームのサブパッケージ化をフレームレベルの冗長符号化率バジェットに従って実装するステップと、圧縮ビデオデータのサブパッケージ化されたフレームの冗長符号化を実装するステップと、を含む。
2019501566.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータ冗長制御方法であって、
受信端によって送信されたビデオビットレートおよび冗長レベルを取得するステップであって、前記ビデオビットレートおよび前記冗長レベルは、パケットロス率に従って決定される、ステップと、
前記冗長レベルに従ってデータ冗長率を取得するステップと、
前記ビデオビットレートに従って元のビデオデータに圧縮符号化を実行して、圧縮ビデオデータを取得するステップと、
前記ビデオビットレートおよび前記データ冗長率に従って、前記圧縮ビデオデータのフレームに対してフレームレベルの冗長ビットレートバジェットを割り当てるステップと、
前記フレームレベルの冗長ビットレートバジェットに従って、前記圧縮ビデオデータの前記フレームをパケット化し、次いで前記圧縮ビデオデータの前記パケット化されたフレームに冗長符号化を実行するステップと、を含む、
方法。
【請求項２】
前記冗長レベルに従って前記データ冗長率を取得する前記ステップは、
冗長レベルテーブルを照会することによって、前記冗長レベルに対応する前記データ冗長率を取得するステップを含み、前記冗長レベルテーブルは、前記冗長レベルと前記データ冗長率との間の対応を格納する、
請求項１に記載の方法。
【請求項３】
前記圧縮ビデオデータの前記フレームに対して前記フレームレベルの冗長ビットレートバジェットを割り当てる前記ステップは、
前記ビデオビットレートと前記データ冗長率に従って、前記圧縮ビデオデータのIフレームイントラ期間に対してイントラ期間レベル冗長ビットレートバジェットを割り当てるステップと、
前記イントラ期間レベル冗長ビットレートバジェットに従って、前記Iフレームイントラ期間内でフレームに対して前記フレームレベルの冗長ビットレートバジェットを割り当てるステップと、を含む、
請求項１に記載の方法。
【請求項４】
前記圧縮ビデオデータの前記Iフレームイントラ期間に対して前記イントラ期間レベル冗長ビットレートバジェットを割り当てる前記ステップは、
式
【数１】
2019501566.tif 000025
に従って前記圧縮ビデオデータの前記Iフレームイントラ期間に対して前記イントラ期間レベル冗長ビットレートバジェットを割り当てるステップを含み、
ここでBRvは前記ビデオビットレートであり、rは前記データ冗長率であり、BRrは前記イントラ期間レベル冗長ビットレートバジェットである、
請求項３に記載の方法。
【請求項５】
前記イントラ期間レベル冗長ビットレートバジェットに従って前記Iフレームイントラ期間内の前記フレームについて前記フレームレベルの冗長ビットレートバジェットを割り当てる前記ステップは、式
【数２】
2019501566.tif 000026
に従って前記Iフレームイントラ期間内で前記フレームに対して前記フレームレベルの冗長ビットレートバジェットを割り当てるステップを含み、
ここでηiは前記Iフレームイントラ期間内のi番目のフレームの重みであり、Riは前記i番目のフレームの前記フレームレベルの冗長ビットレートバジェットであり、iは正の整数である、
請求項４に記載の方法。
【請求項６】
前記式に従って前記Iフレームイントラ期間内で前記フレームに対して前記フレームレベルの冗長ビットレートバジェットを割り当てる前記ステップの後に、
範囲[α*Si,β*Si]内にRiを制限するために、前記i番目のフレームの符号化サイズSiに従って前記i番目のフレームの前記フレームレベルの冗長ビットレートバジェットRiを補正するステップであって、αおよびβは部分冗長係数であり、αおよびβの値の範囲は[0, 1]である、ステップをさらに含む、
請求項５に記載の方法。
【請求項７】
前記圧縮ビデオデータの前記フレームをパケット化する前記ステップは、前記フレームレベルの冗長ビットレートバジェットに従って前記圧縮ビデオデータの前記フレームの最適パケット化パラメータを計算するステップと、
前記最適パケット化パラメータに従ってパケット化を実行するステップと、を含む、
請求項１乃至６のいずれか一項に記載の方法。
【請求項８】
前記フレームレベルの冗長ビットレートバジェットに従って前記圧縮ビデオデータの前記フレームの最適パケット化パラメータを計算する前記ステップは、
前記圧縮ビデオデータのi番目のフレームのパケット量の範囲を決定するステップであって、iは正の整数である、ステップと、
前記範囲内の各パケット量Njについて、前記符号化サイズと前記i番目のフレームの前記フレームレベルの冗長ビットレートバジェットに従って、冗長パケット量Mjおよび前記パケット量Njに対応するパケットサイズLjを計算するステップ、並びに前記パケット量Njに従ってパケットレベル冗長率rpとオーバーバジェット偏差Δとを計算するステップであって、ここで
【数３】
2019501566.tif 000027
であり、Siは前記i番目のフレームの前記符号化サイズであって、Riは前記i番目のフレームの前記フレームレベルの冗長ビットレートバジェットである、ステップと、
前記パケットレベル冗長率rpが最大であり、かつ前記オーバーバジェット偏差Δが最小である時、前記パケット量、前記パケットサイズ、および前記冗長パケット量が前記最適パケット化パラメータであることを決定するステップと、を含む、
請求項７に記載の方法。
【請求項９】
受信したビデオデータのパケットロス率を数えるステップと、
前記パケットロス率に従ってデータ冗長率を決定するステップと、
帯域幅範囲に従ってビットレート割り当てを実行して、セキュリティ伝送ビットレートを得る、ステップと、
前記データ冗長率および前記セキュリティ伝送ビットレートに従ってビデオビットレートを計算するステップと、
前記データ冗長率に対応する冗長レベルを取得するステップと、
前記ビデオビットレートと前記冗長レベルを送信端に送信するステップであって、前記ビデオビットレートと前記冗長レベルは、前記ビデオデータに冗長制御を実行するために前記送信端によって使用される、ステップと、を含む、
ビデオデータ冗長制御方法。
【請求項１０】
前記パケットロス率に従って前記データ冗長率を決定する前記ステップは、
式r=k*lに従って前記データ冗長率を決定するステップを含み、lは前記パケットロス率であり、kは3以下1以上の係数であり、rは前記データ冗長率である、
請求項９に記載の方法。
【請求項１１】
前記データ冗長率と前記セキュリティ伝送ビットレートに従って前記ビデオビットレートを計算する前記ステップは、
式BRv=BRs*(1-r)に従って前記ビデオビットレートを計算するステップを含み、BRsは前記セキュリティ伝送ビットレートであり、BRvは前記ビデオビットレートである、
請求項１０に記載の方法。
【請求項１２】
受信端によって送信されたビデオビットレートおよび冗長レベルを取得するように構成された受信モジュールであって、前記ビデオビットレートおよび前記冗長レベルは、パケットロス率に従って計算される、受信モジュールと、
前記冗長レベルに従ってデータ冗長率を取得するように構成された取得モジュールと、
前記ビデオビットレートに従って元のビデオデータに圧縮符号化を実行して、圧縮ビデオデータを取得するように構成された、ビデオ符号化モジュールと、
前記ビデオビットレートおよび前記データ冗長率に従って、前記圧縮ビデオデータのフレームに対してフレームレベルの冗長ビットレートバジェットを割り当てるように構成された、冗長割り当てモジュールと、
前記フレームレベルの冗長ビットレートバジェットに従って、前記圧縮ビデオデータの前記フレームをパケット化し、次いで前記圧縮ビデオデータの前記パケット化されたフレームに冗長符号化を実行するように構成された、冗長符号化モジュールと、を備える、
ビデオデータ冗長制御装置。
【請求項１３】
前記取得モジュールは、冗長レベルテーブルを照会することによって、前記冗長レベルに対応する前記データ冗長率を取得するようにさらに構成され、前記冗長レベルテーブルは、前記冗長レベルと前記データ冗長率との間の対応を格納する、請求項１２に記載の装置。
【請求項１４】
前記冗長割り当てモジュールが、
前記ビデオビットレートと前記データ冗長率に従って、前記圧縮ビデオデータのIフレームイントラ期間に対してイントラ期間レベル冗長ビットレートバジェットを割り当て、
前記イントラ期間レベル冗長ビットレートバジェットに従って、前記Iフレームイントラ期間内でフレームに対して前記フレームレベルの冗長ビットレートバジェットを割り当てるようにさらに構成された、
請求項１２に記載の装置。
【請求項１５】
前記冗長割り当てモジュールが、
式
【数４】
2019501566.tif 000028
に従って前記圧縮ビデオデータの前記Iフレームイントラ期間に対して前記イントラ期間レベル冗長ビットレートバジェットを割り当てるように具体的に構成され、
ここでBRvは前記ビデオビットレートであり、rは前記データ冗長率であり、BRrは前記イントラ期間レベル冗長ビットレートバジェットである、
請求項１４に記載の装置。
【請求項１６】
前記冗長割り当てモジュールは、式
【数５】
2019501566.tif 000029
に従って前記Iフレームイントラ期間内で前記フレームに対して前記フレームレベルの冗長ビットレートバジェットを割り当てるように具体的に構成され、
ここでηiは前記Iフレームイントラ期間内のi番目のフレームの重みであり、Riは前記i番目のフレームの前記フレームレベルの冗長ビットレートバジェットであり、iは正の整数である、
請求項１５に記載の装置。
【請求項１７】
前記冗長割り当てモジュールは、
範囲[α*Si,β*Si]内にRiを制限するために、前記i番目のフレームの符号化サイズSiに従って前記i番目のフレームの前記フレームレベルの冗長ビットレートバジェットRiを補正するようにさらに構成され、αおよびβは部分冗長係数であり、αおよびβの値の範囲は[0, 1]である、
請求項１６に記載の装置。
【請求項１８】
前記冗長符号化モジュールは、前記フレームレベルの冗長ビットレートバジェットに従って前記圧縮ビデオデータの前記フレームの最適パケット化パラメータを計算し、前記最適パケット化パラメータに従ってパケット化を実行するようにさらに構成される、請求項１２乃至１７のいずれか一項に記載の装置。
【請求項１９】
前記冗長符号化モジュールは、前記圧縮ビデオデータのi番目のフレームのパケット量の範囲を決定するようにさらに構成され、ここでiは正の整数であって、
前記冗長符号化モジュールは、前記範囲内の各パケット量Njについて、前記符号化サイズと前記i番目のフレームの前記フレームレベルの冗長ビットレートバジェットに従って、冗長パケット量Mjおよび前記パケット量Njに対応するパケットサイズLjを計算し、並びに前記パケット量Njに従ってパケットレベル冗長率rpとオーバーバジェット偏差Δとを計算するようにさらに構成され、ここで
【数６】
2019501566.tif 000030
であり、Siは前記i番目のフレームの前記符号化サイズであって、Riは前記i番目のフレームの前記フレームレベルの冗長ビットレートバジェットであり、
前記冗長符号化モジュールは、前記パケットレベル冗長率rpが最大であり、かつ前記オーバーバジェット偏差Δが最小である時、前記パケット量、前記パケットサイズ、および前記冗長パケット量が前記最適パケット化パラメータであることを決定するようにさらに構成された、
請求項１８に記載の装置。
【請求項２０】
受信したビデオデータのパケットロス率を数えるように構成された、計数モジュールと、
前記パケットロス率に従ってデータ冗長率を決定するように構成された、決定モジュールと、
帯域幅範囲に従ってビットレート割り当てを実行して、セキュリティ伝送ビットレートを得るように構成された、獲得モジュールと、
前記データ冗長率および前記セキュリティ伝送ビットレートに従ってビデオビットレートを計算するように構成された、計算モジュールと、
前記データ冗長率に対応する冗長レベルを取得するように構成された、取得モジュールと、
前記ビデオビットレートと前記冗長レベルを送信端に送信するように構成された、送信モジュールであって、前記ビデオビットレートと前記冗長レベルは、前記ビデオデータに冗長制御を実行するために前記送信端によって使用される、送信モジュールと、を含む、
ビデオデータ冗長制御装置。
【請求項２１】
前記決定モジュールが、
式r=k*lに従って前記データ冗長率を決定するように具体的に構成され、ここでlは前記パケットロス率であり、kは3以下1以上の係数であり、rは前記データ冗長率である、
請求項２０に記載の装置。
【請求項２２】
前記計算モジュールが、
式BRv=BRs*(1-r)に従って前記ビデオビットレートを計算するように具体的に構成され、BRsは前記セキュリティ伝送ビットレートであり、BRvは前記ビデオビットレートである、
請求項２１に記載の装置。
【請求項２３】
プロセッサ、メモリ、バス、および通信インタフェースを含むコンピュータデバイスであって、
前記メモリは、プログラムを格納するように構成され、前記プロセッサは、前記バスを介して前記メモリに接続され、前記コンピュータデバイスが動作するとき、前記プロセッサが前記メモリに格納された前記プログラムを実行し、そうすることによって前記コンピュータデバイスが請求項１乃至８のいずれか一項に記載のビデオデータ冗長制御方法、あるいは請求項９乃至１１のいずれか一項に記載のビデオデータ冗長制御方法を実行する、
コンピュータデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１６年３月１１日に中国特許庁に提出され、「VIDEO DATA REDUNDANCY CONTROL METHOD AND APPARATUS」と題された中国特許出願第201610140656.2号に対する優先権を主張し、参照によりその全体が本明細書に組み込まれる。
【背景技術】
【０００２】
本開示は、ビデオデータ伝送技術の分野に関し、特に、ビデオデータ冗長制御方法および装置に関する。
【０００３】
ベストエフォート（Best-Effort）は、標準インターネットサービスモデルである。Best-Effortのデータネットワークサービスにとって、伝送中のパケットロスは避けられない。
【０００４】
ビデオ通話技術の分野において、ビデオデータの特性に基づいて、DPCM（Differential Pulse Code Modulation）符号化アーキテクチャが現在の主流のビデオ圧縮および符号化基準で一般的に使用されている。ビデオデータの各フレームが正常に復号化されるか否かは、フレームのデータ完全性だけでなく、参照フレームが復号化されるか否か次第である。このような符号化アーキテクチャにおいて、Iフレーム（イントラフレーム符号化フレームとも呼ばれる）は、任意のフレームを参照せずに独立して復号化されることができ、Pフレーム（インターフレーム符号化フレームまたは順方向予測符号化フレームとも呼ばれる）は、その参照フレームとの組み合わせでうまく復号されることができ、およびフレームの参照イントラ期間は異なる可能性がある。従って、データの各フレームの重要度が異なる。
【０００５】
既存の技術では、大部分のビデオデータ冗長制御方式は、IフレームおよびIフレームイントラ期間（Intra-period）内のフロントフレームに対してより多くの保護を経験的に提供するだけであるが、これらの方式では、各フレームの冗長保護が十分に改良されておらず、異なる符号列構造に対するそれらのスケーラビリティは高くない。
【発明の概要】
【０００６】
本開示の実施形態は、ビデオデータの各フレームに改良された冗長保護を実施してビデオデータ冗長制御方法および装置を提供し、そうすることによってビデオデータの伝送性能が向上する。
【課題を解決するための手段】
【０００７】
本開示の第１の態様は、ビデオデータ冗長制御方法を提供する。概方法は、受信端によって送信されたビデオビットレートおよび冗長レベルを取得するステップであって、ビデオビットレートおよび冗長レベルは、パケットロス率に従って決定される、ステップと、冗長レベルに従ってデータ冗長率を取得するステップと、ビデオビットレートに従って元のビデオデータに圧縮符号化を実行して、圧縮ビデオデータを取得するステップと、ビデオビットレートおよびデータ冗長率に従って、圧縮ビデオデータのフレームに対してフレームレベルの冗長ビットレートバジェットを割り当てるステップと、フレームレベルの冗長ビットレートバジェットに従って、圧縮ビデオデータのフレームをパケット化し、次いで圧縮ビデオデータのパケット化されたフレームに冗長符号化を実行するステップと、を含む。
【０００８】
本開示の第２の態様は、別のビデオデータ冗長制御方法を提供する。概方法は、受信したビデオデータのパケットロス率を数えるステップと、パケットロス率に従ってデータ冗長率を決定するステップと、帯域幅範囲に従ってビットレート割り当てを実行して、セキュリティ伝送ビットレートを得る、ステップと、データ冗長率およびセキュリティ伝送ビットレートに従ってビデオビットレートを計算するステップと、データ冗長率に対応する冗長レベルを取得するステップと、ビデオビットレートと冗長レベルを送信端に送信するステップであって、ビデオビットレートと冗長レベルは、ビデオデータに冗長制御を実行するために送信端によって使用される、ステップと、を含む。
【０００９】
本開示の第３の態様は、ビデオデータ冗長制御装置を提供する。概装置は、受信端によって送信されたビデオビットレートおよび冗長レベルを取得するように構成された受信モジュールであって、ビデオビットレートおよび冗長レベルは、パケットロス率に従って計算される、受信モジュールと、冗長レベルに従ってデータ冗長率を取得するように構成された取得モジュールと、ビデオビットレートに従って元のビデオデータに圧縮符号化を実行して、圧縮ビデオデータを取得するように構成された、ビデオ符号化モジュールと、ビデオビットレートおよびデータ冗長率に従って、圧縮ビデオデータのフレームに対してフレームレベルの冗長ビットレートバジェットを割り当てるように構成された、冗長割り当てモジュールと、フレームレベルの冗長ビットレートバジェットに従って、圧縮ビデオデータのフレームをパケット化し、次いで圧縮ビデオデータのパケット化されたフレームに冗長符号化を実行するように構成された、冗長符号化モジュールと、を備える。
【００１０】
本開示の第４の態様は、別のビデオデータ冗長制御装置を提供する。概装置は、受信したビデオデータのパケットロス率を数えるように構成された、計数モジュールと、パケットロス率に従ってデータ冗長率を決定するように構成された、決定モジュールと、帯域幅範囲に従ってビットレート割り当てを実行して、セキュリティ伝送ビットレートを得るように構成された、獲得モジュールと、データ冗長率およびセキュリティ伝送ビットレートに従ってビデオビットレートを計算するように構成された、計算モジュールと、データ冗長率に対応する冗長レベルを取得するように構成された、取得モジュールと、ビデオビットレートと冗長レベルを送信端に送信するように構成された、送信モジュールであって、ビデオビットレートと冗長レベルは、ビデオデータに冗長制御を実行するために送信端によって使用される、送信モジュールと、を含む。
【００１１】
本開示の第５の態様は、コンピュータデバイスを提供する。概コンピュータデバイスは、プロセッサ、メモリ、バス、および通信インタフェースを含む。メモリは、プログラムを格納するように構成される。プロセッサは、バスを介してメモリに接続される。コンピュータデバイスが動作するとき、プロセッサは、メモリに格納されたプログラムを実行し、そうすることによってコンピュータデバイスが本開示の第１の態様に従ったビデオデータ冗長制御方法、あるいは本開示の第２の態様に従ったビデオデータ冗長制御方法を実行する。
【００１２】
前述から、本開示のいくつかの実現可能な実装において、受信端がビデオビットレートおよび冗長レベルをフィードバックし、送信端がビデオビットレートに従って圧縮符号化を実行して圧縮ビデオデータを取得し、冗長レベルに従ってデータ冗長率を取得し、ビデオビットレートおよびデータ冗長率に従って圧縮ビデオデータのフレームに対してフレームレベルの冗長ビットレートバジェットを割り当て、およびイントラ期間レベル冗長ビットレートバジェットとフレームレベルの冗長ビットレートバジェットに従って、圧縮ビデオデータのフレームをパケット化し、パケット化されたフレームに冗長符号化を実行する。従って、ビデオデータへの冗長制御は、各フレームに対して洗練され、各フレームの重要性は反映されることができ、そうすることによって、ビデオデータの冗長制御の改良が改善され、これによってパケットロス率の低減、ビデオデータの伝送性能の向上を容易にし、複数の符号化構造に適用可能となるように符号列構造のスケーラビリティの向上を容易にする。
【図面の簡単な説明】
【００１３】
以下、本開示の実施形態における技術的解決策をより明確に説明するために、実施形態および既存技術を説明するために必要な添付図面を簡単に紹介する。明らかに、以下の説明における添付の図面は、本開示のいくつかの実施形態を示すだけであり、当業者は創造的な努力無しにこれらの添付の図面から他の図面を得ることができる。
【図１】HPP符号化構造の概略図である。
【図２】本開示の一実施形態に従った冗長制御システムのシステムアーキテクチャ図である。
【図３】本開示の一実施形態に従ったビデオデータ冗長制御方法の概略フローチャート図である。
【図４】本開示の別の実施形態に従ったビデオデータ冗長制御方法の概略フローチャート図である。
【図５】本開示の一実施形態に従ったビデオデータ冗長制御装置の概略構成図である。
【図６】本開示の別の実施形態に従ったビデオデータ冗長制御装置の概略構成図である。
【図７】本開示の一実施形態に従ったコンピュータデバイスの概略構成図である。
【図８】本開示の別の実施形態に従ったコンピュータデバイスの概略構成図である。
【発明を実施するための形態】
【００１４】
当業者が本開示における解決策をよりよく理解するために、本開示の実施形態における添付図面を参照して、本開示の実施形態における技術的解決策を以下に明確かつ完全に説明する。明らかに、記載された実施形態は、本開示の実施形態の一部だけであって全てではない。創造的努力なしに本開示の実施形態に基づいて当業者によって得られる他の全ての実施形態は、本開示の保護範囲内に入るものとする。
【００１５】
背景技術で説明したように、Best-Effortデータネットワークサービスでは、伝送中のパケットロスが避けられない。テレビ電話アプリケーションでは、伝送性能を向上するためにビデオデータに冗長エラー訂正パケットを付加して、できる限りパケットロスを回復する冗長符号化制御方法が一般的に用いられている。例えば、VoIP(Voice over Internet Protocol)アプリケーションでは、時間遅延を低減するために、UDP(User Datagram Protocol)プロトコルが一般的に使用される。QoS(Quality of Service)を保証するために、一般的に、冗長誤り訂正パケットを付加することにより、できる限りパケットロスが回復される。
【００１６】
ビデオデータに冗長誤り訂正パケットを付加する方法は、以下の方法であってもよい。最初に、ビデオデータの各フレームがパケット化され、そうすることによって各フレームのデータがｐ個のデータパケットに分割される。次いで、FEC(ForwardError Correction)符号化、RS(Reed-solomon)符号化、およびBose, BCH(Bose, Ray-Chaudhuri, and Hocquenghem)符号化のような特定の冗長符号化アルゴリズムに従って、ｑ個の冗長誤り訂正パケットがフレームに付加される。最語に、フレームのデータパケットおよび冗長訂正パケットが受信端に送信される。この方法は、ｑ個のデータパケットのパケットロスに耐えることができる。パケットがロスした場合、ロスしたデータパケットは、冗長誤り訂正パケットを使用することによって回復されることができる。ここでｑおよびｐはどちらも正の整数である。パケットロス耐性は、付加された冗長誤り訂正パケットの数に従って決定されることに留意されたい。重要でより多くの保護を必要とするフレームついては、比較的多くの冗長誤り訂正パケットが付与されてもよい。
【００１７】
DPCM符号化アーキテクチャは、現在の主流のビデオ圧縮で一般的に使用されており、符号化標準である。このアーキテクチャにおいて、ビデオデータフレームは2つのタイプに分類される。1つのタイプはIフレームである。Iフレームは、フレーム内符号化フレームであり、別のフレームを参照せずに直接圧縮および符号化される。別のタイプはPフレームである。Pフレームは、フレーム間符号化フレームであり、例えばPフレームの前のIフレームといった、その参照フレームを参照する必要がある。圧縮符号化は、Pフレームとその参照フレームとを比較することによって得られた差分に対して行われる。したがって、Iフレームは直接符号化または復号化されることができるが、Pフレームの符号化または復号化のためには、Pフレームの参照フレームが参照される必要がある。したがって、IフレームとPフレームとは重要性が異なる。さらに、異なるPフレームの重要性も異なる可能性がある。例えば、フレームｎがIフレームであり、フレームｎがフレームn+1とフレームn+2の参照フレームであり、フレームn+2がフレームn+3の参照フレームであるとすると、フレームn+2の復号化に失敗した場合、フレームn+3は復号化されることができない。フレームn+1とフレームn+2は両方Pフレームであり重要性が異なることがわかる。
【００１８】
他の符号化構造では、フレームの重要性も異なる可能性がある。図１に示すHPP(Hierarchical P-frame Prediction)符号化構造を参照すると、階層的な予測方法がHPPにおいて使用される。異なる時間レイヤのフレームは明らかに重要性が異なる。図１に示すように、レイヤ０におけるフレーム（P0, P4, およびP8）の重要性は、レイヤ１におけるフレーム(P2およびP6)の重要性よりも高く、レイヤ２におけるフレーム(P1, P3, …, P7)の重要性よりもいっそう高い。
【００１９】
しかしながら、現在のビデオデータ冗長制御方式において、いくつかの重要なフレームに特別な保護を実行するためにUEC(Unequal Error Protection)ポリシーも使用されるが、IフレームとIフレームのイントラ期間内のフロントフレームだけにより多くの保護が経験的に提供される。冗長保護は、フレームの異なる重要性に応じてそれぞれ実行されることができず、各フレームの重要性は定量的に量子化されることができない、あるいは洗練されたフレームレベルの冗長保護は実装されることができない。結果として、異なる符号列構造に対するスケーラビリティは強くない。
【００２０】
さらに、ビデオパケット化方法に関して、既存の技術では、パケット数を減らすために、パケットはできる限りMTU(Maximum Transmission Unit)サイズに基づいて送信され、そうすることによってヘッダオーバーヘッドを節約する。既存技術のパケット化方法では、MTUのサイズにできるだけ近い大きいパケットが送信され、ネットワークが輻輳している時、パケットは、経路のパケットキューイングポリシーによって優先的に破棄される可能性があり、結果的にパケットロス耐性が不十分となり、従って伝送性能が低下する。
【００２１】
上記の問題を踏まえて、パケットロス耐性を向上するため、およびビデオデータの伝送性能を向上するために、本開示の実施形態は、ビデオデータ冗長制御方法および対応する装置を提供する。
【００２２】
以下に、具体的な実施形態を用いて詳細に説明する。
【００２３】
図２は、本開示の一実施形態に従った冗長制御システムのシステムアーキテクチャ図である。冗長制御システムは、送信端と受信端とを含む。送信端または受信端は、パーソナルコンピュータなどの端末デバイス、あるいはスマートフォンまたはタブレットコンピュータなどの移動通信端末上に展開されてもよい。
【００２４】
図２に示すように、本開示のこの実施形態における冗長制御システムでは、送信端の作業プロセスは、ビデオビットレートのような符号化パラメータを設定するための符号化パラメータ設定と、設定された符号化パラメータに従ってビデオデータに対して圧縮符号化を行うビデオ符号化と、ビデオ符号化によって得られた圧縮ビデオデータのフレームに冗長ビットレートを割り当てるための冗長割り当てと、例えば、データのフレームが分割されるデータパケットの数といった、各フレームのパケット化解決策を決定するためのポリシーの適応パケット化、FECといった誤り訂正符号化方法を使用して冗長符号化を行うことにより各フレームについて冗長誤り訂正パケットを付加するための冗長符号化、およびビデオデータのデータパケットと付加された冗長誤り訂正パケットを、ネットワークを介して受信端に送信するためのネットワーク送信と、を含んでもよい。
【００２５】
受信端の作業プロセスは、送信端によって送信されたビデオデータのデータパケットと冗長誤り訂正パケットを含む受信データのためのネットワークパケット受信と、輻輳状態を推定するためにパケットロス率を数えるためのパケットロス計数と、同一フレーム内のパケットのグループ化および同一フレームのデータパケットと冗長誤り訂正パケットを１つのグループにグループ化することによって復号化するための冗長復号化、およびパケットがロスした場合に各フレームの圧縮ビデオデータを取得するための、冗長誤り訂正パケットを用いることによる紛失したデータパケットの復元と、元のビデオデータを取得するために、取得した圧縮ビデオデータへビデオ復号化を行うためのビデオ復号化と、例えばパケットロス率に応じてパケットロス率に耐えるデータ冗長率を決定して、適切な冗長制御を行うように送信端に指示するといった、復号化状態に応じて冗長率を決定するための冗長制御と、帯域幅の状態に応じて、送信端で使用されるべきビデオビットレートを決定するための輻輳制御と、データ冗長率およびビデオビットレートを送信端に戻すフィードバックと、を含んでもよい。データ冗長率およびビデオビットレートを受信した後、送信端は、データ冗長率とビデオビットレートに従って符号化パラメータを設定してもよい。
【００２６】
図３を参照すると、本開示の実施形態は、ビデオデータ冗長制御方法を提供する。この方法は、冗長制御システムの送信端に適用される。この方法は、以下のステップを含んでもよい。
【００２７】
３１０で、受信端によって送信されたビデオビットレートおよび冗長レベルが取得され、ビデオビットレートおよび冗長レベルはパケットロス率に従って受信端によって決定される。
【００２８】
３２０で、データ冗長率は冗長レベルに従って取得される。
【００２９】
任意選択的に、冗長レベルテーブルは受信端と送信端の両方に格納されてもよい。冗長レベルを受信した後、送信端は、冗長レベルテーブルに問い合わせることによって冗長レベルに対応するデータ冗長率を取得してもよい。冗長レベルテーブルは、冗長レベルとデータ冗長率との間の対応を格納するために使用される。
【００３０】
３３０で、圧縮符号化は、ビデオビットレートに従って元のビデオデータに実行される圧縮ビデオデータを取得する。
【００３１】
任意選択的に、送信端は圧縮ビデオデータを取得するために、DPCM符号化方式を使用することによってビデオビットレートに従って元のビデオデータを圧縮し符号化してもよい。圧縮ビデオデータはIフレームおよびPフレームのような異なるタイプのフレームを含んでもよい。２つの隣接するIフレーム間のフレームの量は、Iフレームのイントラ期間と呼ばれることがある。Iフレームイントラ期間は、１つのIフレームおよび複数のPフレームを含んでもよい。
【００３２】
３４０で、フレームレベルの冗長ビットレートバジェットは、ビデオビットレートとデータ冗長率に従って圧縮ビデオデータのフレームに対して割り当てられる。
【００３３】
このステップでは、最初に、ビデオビットレートとデータ冗長率に従って、イントラ期間レベル冗長ビットレートバジェットが圧縮ビデオデータの各Iフレームイントラ期間に対して割り当てられてもよい。次いで、フレームの重要性に従って、Iフレームイントラ期間内のフレームに対して異なる重みが割り当てられてもよく、割り当てられた重みとIフレームイントラ期間のイントラ期間レベル冗長ビットレートバジェットとに従って、フレームレベルの冗長ビットレートバジェットがIフレームイントラ期間の各フレームにそれぞれ割り当てられてもよい。
【００３４】
いくつかの実施形態において、フレームの重要性は、Intra-period内でフレームに続くフレームの量であると定義されてもよいが、フレームが復号化に失敗したために復号化されることができない。Ciが、Intra-period内のi番目のフレームに続くフレームの量を表すが、i番目のフレームが復号化に失敗した場合に復号化されることができないと仮定すると、重みはCiに従ってフレームに割り当てられてもよい。i番目のフレームの割り当てられた重みは、
【数１】
2019501566.tif 000003
であり、
【数２】
2019501566.tif 000004
は、Intra-period内のすべてのCiの合計である。
【００３５】
いくつかの実施形態において、BRvはビデオビットレートであり、rはデータ冗長率、BRrはイントラ期間レベル冗長ビットレートバジェット、およびイントラ期間レベル冗長ビットレートバジェットは、式
【数３】
2019501566.tif 000005
に従って計算され割り当てられてもよい。
【００３６】
いくつかの実施形態において、
【数４】
2019501566.tif 000006
はIフレームイントラ期間内のi番目のフレームの重みであり、Riはi番目のフレームのフレームレベルの冗長ビットレートバジェットであり、フレームレベルの冗長ビットレートバジェットは、式
【数５】
2019501566.tif 000007
に従って計算され割り当てられてもよい。
【００３７】
いくつかの実施形態において、キーフレームが冗長要件を満たし、総ビットレートがセキュリティ伝送ビットレートBRsを超えないことを保証するために、フレームレベルの冗長ビットレートが補正されてもよい。i番目のフレームを例として用いると、i番目のフレームのフレームレベルの冗長ビットレートバジェットRiは、Riを範囲[α*Si, β*Si]内に制限するために、i番目のフレームの符号化サイズSiに従って補正されてもよく、ここでαおよびβは部分冗長係数であり、αとβの値の範囲は[0, 1]である。
【００３８】
３５０で、フレームレベルの冗長ビットレートバジェットに従って、圧縮ビデオデータのフレームがパケット化され、圧縮ビデオデータのパケット化されたフレームに冗長符号化が実行される。
【００３９】
本開示の実施形態において、圧縮ビデオデータのフレームがパケット化された後、FEC符号化、RS符号化、あるいはBCH符号化のような符号化方法を使用することによって、圧縮ビデオデータのフレームに冗長符号化が実行されてもよい。割り当てられたフレームレベルの冗長ビットレートバジェットに従って、異なる量の冗長誤り訂正パケットが異なるフレームにそれぞれ付加され、そうすることによってフレームレベルの洗練された冗長保護を実装する。
【００４０】
既存技術におけるパケット化方法では、できるだけMTUのサイズに近い大きなパケットが送信され、ネットワークが輻輳している場合には経路のパケットキューイングポリシーによってパケットが優先的に破棄されてもよく、結果としてパケットロス耐性が不十分となる。本開示のいくつかの実施形態において、圧縮ビデオデータのフレームの最適なパケット化パラメータは、データ冗長率要件に従って計算されてもよく、パケット化は最適なパケット化パラメータに従って実行され、そうすることによってパケットのサイズを適応的に調整する。従って、制限された冗長ビットレートバジェットを備えた最も強いパケットロス耐性を有する解決策が選択される。
【００４１】
i番目のフレームを例として使用すると、最適なパケット化パラメータを計算する過程は、
圧縮ビデオデータのi番目のフレームのパケット量の範囲を決定することであって、iは正の整数である、決定することと、
範囲内内の各パケット量Njについて、パケット量Njに対応する冗長パケット量MjおよびパケットサイズLjを計算すること、およびパケット量Njに従ってパケットレベル冗長率rpおよびオーバーバジェット偏差Δを計算することであって、ここで
【数６】
2019501566.tif 000008
であり、Siはi番目のフレームの符号化サイズであり、Riはi番目のフレームのフレームレベルの冗長ビットレートバジェットである、計算することと、
パケットレベル冗長率rpが最大であり、かつオーバーバジェット偏差Δが最小である時、パケット量、パケットサイズ、冗長パケット量は最適なパケット化パラメータであることを決定することと、を含んでもよい。
【００４２】
以上の説明では、図３を参照して、送信端を実行体として用いることによって本開示の実施形態の方法が説明される。この方法において、受信端はビデオビットレートと冗長レベルをフィードバックし、送信端は圧縮ビデオデータを取得するために、ビデオビットレートに従って圧縮符号化を行い、冗長レベルに従ってデータ冗長率を取得し、ビデオビットレートとデータ冗長率に従って圧縮ビデオデータのIフレームイントラ期間についてイントラ期間レベル冗長ビットレートバジェットを割り当て、Iフレームイントラ期間内のフレームについてフレームレベルの冗長ビットレートバジェットを割り当て、イントラ期間レベル冗長ビットレートバジェットおよびフレームレベルの冗長ビットレートバジェットに従って圧縮ビデオデータにパケット化と冗長符号化を実行する。従って、Iフレームイントラ期間およびフレームのレベルで冗長制御が実現され、ビデオデータへの冗長制御が各フレームについて洗練され、各フレームの重要性が反映されてもよく、そうすることによって、ビデオデータの冗長制御の改善が向上され、それによってパケットロス率の低減、ビデオデータの伝送性能の向上を容易にし、さまざまな符号化構造に適用可能となるように符号列構造のスケーラビリティを向上することを容易にする。
【００４３】
以下では、本開示の実施形態に従った方法が、受信端を実行体として使用することによって説明される。
【００４４】
図４を参照すると、本開示の一実施形態は、ビデオデータ冗長制御方法をさらに提供する。この方法は、冗長制御システムの受信端に適用される。この方法は、以下のステップを含んでもよい。
【００４５】
４１０において、受信されたビデオデータのパケットロス率が数えられる。
【００４６】
送信端によって送信されたビデオデータのデータパケットを受信する過程において、受信端はパケットロス率を数えてもよい。ここで、lはパケットロス率を示すために用いられる。
【００４７】
４２０において、データ冗長率は、パケットロス率に従って決定される。
【００４８】
いくつかの実施形態において、データ冗長率は、式r=k*lに従って決定されてもよく、ここで、lはパケットロス率、ｋは3以下1以上の係数であり、ｒはデータ冗長率である。好ましくは、ｒは1未満に限定されてもよい。
【００４９】
４３０において、セキュリティ伝送ビットレートを取得するために、ビットレート割り当てが帯域幅範囲に従って実行される。
【００５０】
セキュリティ伝送ビットレートは、利用可能な帯域幅よりも大きくすべきではない。
【００５１】
４４０において、ビデオビットレートはデータ冗長率およびセキュリティ伝送ビットレートに従って計算される。
【００５２】
いくつかの実施形態において、ビデオビットレートは、式
【数７】
2019501566.tif 000009
に従って計算されてもよく、ここでBRsはセキュリティ伝送ビットレートであり、およびBRvはビデオビットレートである。
【００５３】
４５０において、データ冗長率に対応する冗長レベルが取得される。
【００５４】
任意選択的に、冗長レベルテーブルは、受信端と送信端の両方に格納されてもよい。受信端は、冗長レベルテーブルに問い合わせることによって、データ冗長率ｒに対応するデータ冗長レベルRSLevelを取得してもよい。冗長レベルテーブルは、冗長レベルと冗長率との間の対応を格納するために使用される。
【００５５】
４６０において、ビデオビットレートと冗長レベルは、送信端にフィードバックされ、ビデオビットレートと冗長レベルはビデオデータに冗長制御を実行するために、送信端によって使用される。
【００５６】
任意選択的に、受信端は、RTCP（Real-Time Control Protocol）プロトコルを使用して、送信端にBRvとRSLevelをフィードバックしてもよい。
【００５７】
以上の説明では、図４を参照して、受信端を実行体として用いることによって本開示の実施形態の方法が説明された。この方法において、受信端はパケットロス率を数えることによって、ビデオビットレートと、データ冗長率と、データ冗長率に対応する冗長レベルと、を決定し、ビデオビットレートと冗長レベルを送信端にフィードバックし、そうすることによって、送信端はビデオデータにフレームレベルの冗長制御を行う。従って、ビデオデータの冗長制御の改善が向上され、それによってパケットロス率の低減、ビデオデータの伝送性能の向上を容易にし、さまざまな符号化構造に適用可能となるように符号列構造のスケーラビリティを向上することを容易にする。
【００５８】
本開示の実施形態において提供される技術的解決策の理解を容易にするために、例として具体的なシナリオにおける実装を使用して、以下に説明する。
【００５９】
本開示の実施形態に従った別のビデオデータ冗長制御方法は、以下のステップを含んでもよい。
【００６０】
S1において、送信端は冗長符号化を実行する。
【００６１】
本開示の実施形態において、パケットロス耐性冗長符号化のために、パケットロスの量を回復する能力を有する、特定のエラー補正符号化方法、例えばFEC符号化、RS符号化、およびBCH符号化等が使用されてもよい。圧縮符号化後に取得されたビデオデータのフレームは、N(N≧1)個のデータパケットに分割されてもよく、これは、それぞれP1, ... PNであり、およびM個の冗長データパケットであり、前述の特定の冗長符号化アルゴリズムに従って、それぞれR1, ..., RMが追加され、そうすることによって、符号グループ{P1…PN, R1…RM}は、M未満の数のパケットのロスに耐えることができ、つまり、パケットロス率は
【数８】
2019501566.tif 000010
を超えない。
【００６２】
S2において、冗長レベルテーブルが設定される。
【００６３】
フィードバックデータの量を削減するために、送信端および受信端は、合意した冗長レベルテーブルを格納してもよい。テーブルにおいて、冗長レベルはデータ冗長率ｒに対応し、特定のネットワークパケットロス率lに耐える。
【００６４】
S3において、受信端はデータ冗長率を決定する。
【００６５】
受信端がパケットを受信する時、パケットロス率lが数えられてもよい。冗長制御システムにおいて、パケットロス率に十分に耐え得るデータ冗長率rは、特定のポリシーに従って決定されてもよい。ポリシーはr=lのような保守的なポリシー、あるいはr=k*l (k>1)のような保証されたポリシーであってもよい。実際の使用において、ネットワーク帯域幅能力限界とパケットロス耐性との間のバランスを考慮して、1≦k≦3が規定されてもよい。
【００６６】
S4において、受信端はRTCPフィードバックを実行する。
【００６７】
データ冗長率rを取得した後、受信端は、受信端のトラフィック輻輳制御機能を使用することによって、許可された帯域幅範囲内でビットレート割り当てを実行する。輻輳制御機能を使用することによって取得されたセキュリティ伝送ビットレートがBRs(BRs <= A, ここでAは推定された使用可能な帯域幅である)であると仮定すると、純粋なビデオビットレートは、BRv = BRs*(1-r)である。さらに、データ冗長率rに対応する冗長レベルRSLevelは冗長レベルテーブルで見つけられてもよく、BRvおよびRSLevelはRTCPプロトコルを使用することによって、送信端にフィードバックされる。
【００６８】
S5において、送信端はビデオ符号化を行い、Intra-periodレベルビデオについて冗長バジェットを割り当てる。
【００６９】
送信端はRTCPフィードバックを受信し、次いでBRvおよびBRvと関連するパラメータのセットを使用することによって、圧縮符号化を実行してもよい。ここで、Intra-period内の符号化されたi番目のフレームのフレームサイズをSiとする。さらに、送信端はRTCPで搬送されたRSLevelを使用することによって予想されるデータ冗長率rを見つけてもよく、Intra-Periodの冗長符号ビットバジェットは、式
【数９】
2019501566.tif 000011
に従って計算される。
【００７０】
フレーム間の参照関係の違いにより、Intra-Period内のフレームの重要性が異なり、それによってフレームの重要性と組み合わせて不均等なエラー保護が実行される必要がある。Iフレームの重要性は、例えばPフレームの重要性よりも高い。IPPP参照構造において、前者のフレームの重要性はGOP（Group of Pictures）における後者のフレームの重要性よりも高い。さらに、異なる符号化構造において、フレームの重要性が異なる。例えば、HPP参照構造において、下位レイヤのフレームの重要性が上位レイヤのフレームの重要性よりも高く、下位レイヤのIntra-Periodにおいてフロントのフレームはバックのフレームよりも重要である。フレームの重要性を量子化するために、i番目のフレームの重みがηiと定義され、ηiは正規化された値である。
【００７１】
重みは、経験的な値であってもよく、あるいは特定のアルゴリズムに従って計算されてもよい。例えば、フレームの重要性はIntra-period内のフレームに続くフレームの量であると定義されてもよいが、フレームが復号化に失敗するという理由で、復号化されることができない。
【００７２】
上述の定義された重みに従って、i番目のフレームに割り当てられた予想される冗長ビットレートは、Ri=ηi＊BRrであることが得られてもよい。
【００７３】
さらに、ビデオシナリオは変更されてもよく、そうすることによって、実際の符号化ビットレートが予想されるビットレートBRvと等しくなくてもよい。従って、HPPのIフレームやレイヤ0のフレームといったキーフレームが冗長要件を満たし、総ビットレートがセキュリティ伝送ビットレートBRsを超えないようにするために、冗長率は、実際の符号化サイズに従って訂正されてもよい。
【００７４】
具体的には、i番目のフレームを一例として使用すると、Riは、区間[α*Si, β*Si]内に制限されてもよく、αおよびβは部分冗長係数であり、値の範囲は、[0, 1]であり、つまり、Ri=MAX(MIN(Ri, β*Si), α*Si)である。
【００７５】
S6において、パケットのサイズのフレームレベル適応調整が行われる。
【００７６】
一般に、ネットワークパケットのサイズは最大伝送ユニット（MTU）を超えない。伝送効率とオーディオデータへの影響の可能性を考慮すると、ビデオパケットのサイズは小さすぎるべきではない。一般に、最小経験値Lminが存在する。送信端の冗長制御機能は、現在のフレームの符号化サイズと現在の冗長ビットレートバジェットに従ってパケットのサイズを適応的に調整することができる。全体的な目的は以下のとおりである。
（１）比率に従って、冗長制御可能に正確に冗長性を追加する。
（２）冗長バジェット内のパケットロス耐性を最大化する。
【００７７】
冗長バジェットRiが取得された後、パケット化方法はフレームの実際の符号化サイズSiと組み合わせて決定される。
【００７８】
アルゴリズムは以下の通りである。
【００７９】
ビデオフレーム[Nmax, Nmin]の最大量および最小量は、パケットサイズ範囲[Lmin, Lmax]に従って決定され、ここで
【数１０】
2019501566.tif 000012
であり、ceilは切り上げ、floor切り捨てである。
【００８０】
パケットの量
【数１１】
2019501566.tif 000013
は全てトラバース(traverse)され、対応するパケットサイズ
【数１２】
2019501566.tif 000014
が計算され、対応する冗長パケットの量
【数１３】
2019501566.tif 000015
が取得され、ここでγは弾性係数である。主に小数部分が比較的大きい場合、冗長率は切り捨てによって減少すると考えられている。この場合、Intra-periodレベル冗長バジェットが十分であれば、弾性範囲内の現在のフレームに対する冗長バジェットが許可される。
【００８１】
各パケット化解決策についてのパケットレベル冗長率rpおよび実際のオーバーバジェット偏差Δが次のように計算される。
【数１４】
2019501566.tif 000016
【００８２】
rpが最大値である、すなわち、パケットロス耐性が最も強い解決策は、全てのパケット化方式で探し出され、最適なパケット化パラメータ｛N*, L*, M*｝が得られる。最大パケットレベル冗長率rpが複数のパケット化解決策に対応する場合、Δが最小である解決策が使用される。
【００８３】
以上のことから、実施形態の方法は、テレビ電話などのビデオデータ伝送にも適用可能であることがわかる。Intra-periodレベルでは、冗長率は各フレームの重要性に従って割り当てられてもよく、適応パケット化パラメータ調整は、最大パケットロス耐性に達するように、圧縮符号化後に取得されたビデオフレームの冗長ビットレートバジェットおよび実際のサイズに従って実行されてもよい。
【００８４】
本開示の実施形態に従った冗長制御システムにおいて、ある程度のネットワークパケットロスに耐えることができるように、受信端がパケットロス状態に従って冗長率を合理的に決定する。冗長ビットレートバジェットは、ネットワーク帯域幅推定に従って取得される。冗長制御システムにおいて、冗長ビットレートバジェット割り当ては、IフレームIntra-periodレベル全体制御およびフレームレベル適応調整の２段階を通して実行される。ビデオIntra-period内の全てのフレームに関して、システムは、全体Intra-period回復能力を改善するために、各フレームの重要性に従って、圧縮符号化後に得られたデータに対応するレベルで、フレームレベル冗長保護を提供する。さらに、冗長バジェット内の単一フレームのパケットロス耐性を最大限に向上するために、本開示のこの実施形態において、最大の“パケットレベル”冗長率に達するように、最適なパケット化パラメータが、適応調整を用いることによって探し出される。
【００８５】
本開示の実施形態における上述の解決策をより良く実装するために、上述の解決策を実装するように構成された関連装置が以下にさらに提供される。
【００８６】
図５を参照すると、本開示の一実施形態は、ビデオデータ冗長制御装置５００を提供する。装置は、冗長制御システムの送信端で使用されてもよい。装置は、
受信端によって送信されたビデオビットレートおよび冗長レベルを取得するように構成された受信モジュール５１０であって、ビデオビットレートおよび冗長レベルは、パケットロス率に従って決定される、受信モジュールと、
冗長レベルに従ってデータ冗長率を取得するように構成された取得モジュール５２０と、
圧縮ビデオデータを取得するために、ビデオビットレートに従って元のビデオデータに圧縮符号化を実行するように構成されたビデオ符号化モジュール５３０と、
ビデオビットレートおよびデータ冗長率に従って、圧縮ビデオデータのフレームに対してフレームレベルの冗長ビットレートバジェットを割り当てるように構成された冗長割り当てモジュール５４０と、
フレームレベルの冗長ビットレートバジェットに従って、圧縮ビデオデータのフレームをパケット化し、次いで圧縮ビデオデータのパケット化されたフレームに冗長符号化を実行するように構成された冗長符号化モジュール５５０と、を含んでもよい。
【００８７】
本開示のいくつかの実施形態において、取得モジュール５２０は、冗長レベルテーブルに問い合わせることによって、冗長レベルに対応するデータ冗長率を取得するように具体的に構成され、冗長レベルテーブルは、冗長レベルとデータ冗長率との間の対応を格納する。
【００８８】
本開示のいくつかの実施形態において、冗長割り当てモジュール５４０は、ビデオビットレートとデータ冗長率に従って、圧縮ビデオデータのIフレームイントラ期間に対してイントラ期間レベル冗長ビットレートバジェットを割り当て、イントラ期間レベル冗長ビットレートバジェットに従って、Iフレームイントラ期間内でフレームに対してフレームレベルの冗長ビットレートバジェットを割り当てるようにさらに構成される。
【００８９】
本開示のいくつかの実施形態において、冗長割り当てモジュール５４０は、式
【数１５】
2019501566.tif 000017
に従って圧縮ビデオデータのIフレームイントラ期間に対してイントラ期間レベル冗長ビットレートバジェットを割り当てるように具体的に構成され、
BRvはビデオビットレートであり、rはデータ冗長率であり、BRrはイントラ期間レベル冗長ビットレートバジェットである。
【００９０】
本開示のいくつかの実施形態において、冗長割り当てモジュール５４０は、
【数１６】
2019501566.tif 000018
に従ってIフレームイントラ期間内のフレームについてフレームレベルの冗長ビットレートバジェットを割り当てることであって、
ここでηiはIフレームイントラ期間のi番目のフレームの重みであり、Riはi番目のフレームのフレームレベルの冗長ビットレートバジェットであり、iは正の整数である、割り当てることを実行するように具体的に構成される。
【００９１】
本開示のいくつかの実施形態において、冗長割り当てモジュール５４０は、
Riを範囲[α*Si,β*Si]内に制限するために、i番目のフレームの符号化サイズSiに従ってi番目のフレームのフレームレベルの冗長ビットレートバジェットRiを補正することであって、αおよびβは部分冗長係数であり、αおよびβの値の範囲は[0, 1]である、補正することを実行するようにさらに構成される。
【００９２】
本開示のいくつかの実施形態において、冗長符号化モジュール５５０は、フレームレベルの冗長ビットレートバジェットに従って、圧縮ビデオデータのフレームの最適パケット化パラメータを計算し、および最適パケット化パラメータに従ってパケット化を実行するように具体的に構成される。
【００９３】
本開示のいくつかの実施形態において、冗長符号化モジュール５５０は、
圧縮ビデオデータのi番目のフレームのパケット量の範囲を決定するように構成され、iは正の整数であり、
範囲内の各パケット量Njについて、冗長パケット量Mjおよびパケット量Njに対応するパケットサイズLjを計算し、並びにパケットレベル冗長率rpとパケット量Njに従ってオーバーバジェット偏差Δとを計算し、ここで
【数１７】
2019501566.tif 000019
であり、Siはi番目のフレームの符号化サイズであって、Riはi番目のフレームのフレームレベルの冗長ビットレートバジェットであり、および、
冗長符号化モジュール５５０は、パケットレベル冗長率rpが最大であり、かつオーバーバジェット偏差Δが最小である時、パケット量、パケットサイズ、および冗長パケット量が最適パケット化パラメータであることを決定するように構成される。
【００９４】
本開示のこの実施形態における装置の機能モジュールの機能は、上述の方法の実施形態の方法に従って、具体的に実装されてもよい。装置の特定の実装過程は、上述の方法の実施形態における関連する説明を参照する。ここでは詳細は再度説明しない。
【００９５】
上述の説明において、図５を参照すると、本開示のこの実施形態は、送信端で使用されるビデオデータ冗長制御装置を提供する。装置は、受信端によってフィードバックされるビデオビットレートおよび冗長レベルを取得してもよく、圧縮ビデオデータを取得するために、ビデオビットレートに従って圧縮符号化を実行してもよく、冗長レベルに従ってデータ冗長率を取得してもよく、ビデオビットレートおよびデータ冗長率に従って圧縮ビデオデータのIフレームイントラ期間についてイントラ期間レベル冗長ビットレートバジェットを割り当ててもよく、Iフレームイントラ期間内のフレームに対してフレームレベルの冗長ビットレートバジェットを割り当ててもよく、および、イントラ期間レベル冗長ビットレートバジェットとフレームレベルの冗長ビットレートバジェットに従って、圧縮ビデオデータにパケット化と冗長符号化を実行してもよい。従って、Iフレームイントラ期間とフレームのレベルでの冗長制御が実装されてもよく、ビデオデータの冗長制御は各フレームに対して洗練され、各フレームの重要性は反映されることができ、そうすることによって、ビデオデータの冗長制御の改良が改善され、これによってパケットロス率の低減、ビデオデータの伝送性能の向上を容易にし、様々な符号化構造に適用可能となるように符号列構造のスケーラビリティの向上を容易にする。
【００９６】
図６を参照して、本開示の一実施形態は、ビデオデータ冗長制御装置６００を提供する。装置は、冗長制御システムの受信端で使用されてもよい。装置は、
受信したビデオデータのパケットロス率を数えるように構成された、計数モジュール６１０と、
パケットロス率に従ってデータ冗長率を決定するように構成された、決定モジュール６２０と、
セキュリティ伝送ビットレートを得るために、帯域幅範囲に従ってビットレート割り当てを実行するように構成された、獲得モジュール６３０と、
データ冗長率およびセキュリティ伝送ビットレートに従ってビデオビットレートを計算するように構成された、計算モジュール６４０と、
データ冗長率に対応する冗長レベルを取得するように構成された、取得モジュール６５０と、
ビデオビットレートと冗長レベルを送信端に送信するように構成された、送信モジュール６６０であって、ビデオビットレートと冗長レベルは、ビデオデータに冗長制御を実行するために送信端によって使用される、送信モジュールと、を含んでもよい。
【００９７】
本開示の一実施形態において、決定モジュール６２０は、
式r=k*lに従ってデータ冗長率を決定するように具体的に構成され、ここで、lはパケットロス率、ｋは3以下1以上の係数であり、ｒはデータ冗長率であり、好ましくは、ｒは1未満に限定されてもよい。
【００９８】
本開示の一実施形態において、計算モジュール６４０は、
式
【数１８】
2019501566.tif 000020
に従ってビデオビットレートを計算するように具体的に構成され、ここでBRsはセキュリティ伝送ビットレートであり、およびBRvはビデオビットレートである。
【００９９】
本開示のこの実施形態における装置の機能モジュールの機能は、上述の方法の実施形態の方法に従って具体的に実装され得ることが理解されよう。装置の特定の実装過程は、上述の方法の実施形態における関連する説明を参照する。ここでは詳細は再度説明しない。
【０１００】
上記の説明では、図６を参照して、本開示のこの実施形態は、受信端で使用されるビデオデータ冗長制御装置を提供する。装置は、パケットロス率を数えることによって、ビデオビットレート、およびデータ冗長率、並びにデータ冗長率に対応する冗長レベルを決定してもよく、データ冗長率および冗長レベルを送信端にフィードバックし、そうすることによって、送信端はビデオデータにフレームレベルの冗長制御を実行する。従って、ビデオデータの冗長制御の改善が向上され、それによってパケットロス率の低減、ビデオデータの伝送性能の向上を容易にし、さまざまな符号化構造に適用可能となるように符号列構造のスケーラビリティを向上することを容易にする。
【０１０１】
本開示の一実施形態は、コンピュータ記憶媒体をさらに提供する。コンピュータ記憶媒体は、プログラムを格納してもよい。プログラムは、実行される時、図３に示す方法の実施形態におけるビデオデータ冗長制御方法の一部またはすべてのステップを実行するか、あるいは、図４に示す方法の実施形態のビデオデータ冗長制御方法の一部またはすべてのステップを実行する。コンピュータ記憶媒体に格納されたプログラムが、１つまたは複数のプロセッサを含むコンピュータデバイスによって実行される時、コンピュータデバイスが、図３に示す方法の実施形態におけるビデオデータ冗長制御方法を実行するか、あるいは、図４に示す方法の実施形態におけるビデオデータ冗長制御方法を実行するように設定する。
【０１０２】
図７を参照すると、本開示の一実施形態は、
プロセッサ７１０、メモリ７２０、通信インタフェース７３０、およびバス７４０を含む、コンピュータデバイス７００をさらに提供する。
【０１０３】
メモリ７２０は、プログラム７５０を格納するように構成され、プロセッサ７１０は、バス７４０を介してメモリ７２０に接続される。コンピュータデバイス７００が動作すると、プロセッサ７１０は、メモリ７２０に記憶されたプログラム７５０を実行し、そうすることによって、コンピュータデバイス７００は図３に示す方法の実施形態におけるビデオデータ冗長制御方法を実行する。
【０１０４】
通信インタフェース７３０は、以下のステップ、すなわち、受信端によってフィードバックされたビデオビットレートおよび冗長レベルを取得するステップであって、ビデオビットレートと冗長レベルはパケットロス率に従って受信端によって計算される、ステップを実行するように構成される。
【０１０５】
プロセッサ７１０は、以下のステップ、すなわち、冗長レベルに従ってデータ冗長率を取得するステップと、圧縮ビデオデータを取得するために、ビデオビットレートに従って元のビデオデータに圧縮符号化を実行するステップと、ビデオビットレートおよびデータ冗長率に従って、圧縮ビデオデータのフレームに対してフレームレベルの冗長ビットレートバジェットを割り当てるステップと、ビデオビットレートおよびデータ冗長率に従って、圧縮ビデオデータのフレームをパケット化し、次いで圧縮ビデオデータのパケット化されたフレームに冗長符号化を実行するステップと、を実行するように構成される。
【０１０６】
任意選択的に、プロセッサ７１０は、以下のステップ、すなわち、冗長レベルテーブルを照会することによって、冗長レベルに対応するデータ冗長率を取得するステップを実行するステップであって、冗長レベルテーブルは、冗長レベルとデータ冗長率との間の対応を格納する、ステップを実行するようにさらに構成される。
【０１０７】
任意選択的に、プロセッサ７１０は、以下のステップ、すなわち、ビデオビットレートとデータ冗長率に従って、圧縮ビデオデータのIフレームイントラ期間に対してイントラ期間レベル冗長ビットレートバジェットを割り当てるステップと、イントラ期間レベル冗長ビットレートバジェットに従って、Iフレームイントラ期間内でフレームに対してフレームレベルの冗長ビットレートバジェットを割り当てるステップと、を実行するようにさらに構成される。
【０１０８】
任意選択的に、プロセッサ７１０は、以下のステップ、すなわち、
式
【数１９】
2019501566.tif 000021
に従って圧縮ビデオデータのIフレームイントラ期間に対してイントラ期間レベル冗長ビットレートバジェットを割り当てるステップであって、
BRvはビデオビットレートであり、rはデータ冗長率であり、BRrはイントラ期間レベル冗長ビットレートバジェットである、ステップを実行するようにさらに構成される。
【０１０９】
任意選択的に、プロセッサ７１０は、以下のステップ、すなわち、
式
【数２０】
2019501566.tif 000022
に従ってIフレームイントラ期間内のフレームについてフレームレベルの冗長ビットレートバジェットを割り当てるステップであって、
ここでηiはIフレームイントラ期間内のi番目のフレームの重みであり、Riはi番目のフレームのフレームレベルの冗長ビットレートバジェットであり、iは正の整数である、ステップを実行するようにさらに構成される。
【０１１０】
任意選択的に、プロセッサ７１０は、以下のステップ、すなわち、
Riを範囲[α*Si,β*Si]内に制限するために、i番目のフレームの符号化サイズSiに従ってi番目のフレームのフレームレベルの冗長ビットレートバジェットRiを補正するステップであって、αおよびβは部分冗長係数であり、αおよびβの値の範囲は[0, 1]である、ステップを実行するようにさらに構成される。
【０１１１】
任意選択的に、プロセッサ７１０は、以下のステップ、すなわち、
フレームレベルの冗長ビットレートバジェットに従って、圧縮ビデオデータのフレームの最適パケット化パラメータを計算するステップと、最適パケット化パラメータに従ってパケット化を実行するステップと、をさらに実行する。
【０１１２】
任意選択的に、プロセッサ７１０は、以下のステップ、すなわち、
圧縮ビデオデータのi番目のフレームのパケット量の範囲を決定するステップであって、iは正の整数であり、
範囲内の各パケット量Njについて、冗長パケット量Mjおよびパケット量Njに対応するパケットサイズLjを計算するステップ、並びにパケットレベル冗長率rpとパケット量Njに従ってオーバーバジェット偏差Δとを計算するステップであって、ここで
【数２１】
2019501566.tif 000023
であり、Siはi番目のフレームの符号化サイズであって、Riはi番目のフレームのフレームレベルの冗長ビットレートバジェットである、ステップと、
パケットレベル冗長率rpが最大であり、かつオーバーバジェット偏差Δが最小である時、パケット量、パケットサイズ、および冗長パケット量が最適パケット化パラメータであることを決定するステップと、を実行するようにさらに構成される。
【０１１３】
バス７４０は、業界標準アーキテクチャ（ISA）バス、周辺構成要素相互接続（PCI）バス、拡張業界標準アーキテクチャ（EISA）バス等であってもよい。バスは、アドレスバス、データバス、および制御バスのうちの１つまたは複数を含んでもよい。表現を容易にするために、図中のバスを表すために１つの太字の線しか使用されていないが、これは１つのバスまたは１つのタイプのバスしか存在しないことを意味するものではない。
【０１１４】
メモリ７２０は、高速ランダムアクセスメモリ（RAM）を含んでもよい。任意選択的に、メモリ７２０は、不揮発性メモリをさらに含んでもよい。例えば、メモリ７２０は、磁気ディスクメモリを含んでもよい。
【０１１５】
プロセッサ７１０は、中央処理装置（CPU）であってもよく、プロセッサ７１０は、特定用途向け集積回路（ASIC）であってもよく、あるいはプロセッサ７１０は、本開示の実施形態を実装するように構成された１つ以上の集積回路であってもよい。
【０１１６】
本開示の実施形態におけるコンピュータデバイスの機能モジュールの機能は、上述した方法の実施形態に従って具体的に実装され得ることが理解されよう。特定の実装過程は、上述した方法の実施形態における関連する説明を参照し、ここでは詳細は再度説明しない。
【０１１７】
本開示の実施形態で開示されるコンピュータデバイスは、上述した方法の実施形態に従ったビデオデータ冗長制御方法を実行してもよく、上述した方法の実施形態が得られるという技術的効果を得てもよい。
【０１１８】
図８を参照すると、本開示の一実施形態は、プロセッサ８１０、メモリ８２０、通信インタフェース８３０、およびバス８４０を含むコンピュータデバイス８００をさらに提供する。
【０１１９】
メモリ８２０は、プログラム８５０を格納するように構成され、プロセッサ８１０は、バス８４０を介してメモリ８２０に接続される。コンピュータデバイス８００が動作する時、プロセッサ８１０はメモリ８２０に格納されたプログラム８５０を実行し、そうすることによって、コンピュータデバイス８００は、図４に示す方法の実施形態においてビデオデータ冗長制御を実行する。
【０１２０】
プロセッサ８１０は、以下のステップ、すなわち受信したビデオデータのパケットロス率を数えるステップと、パケットロス率に従って、パケットロス率に耐えるために使用されるデータ冗長率を決定するステップと、セキュリティ伝送ビットレートを得るために、許可された帯域幅範囲内でビットレート割り当てを実行するステップと、データ冗長率とセキュリティ伝送ビットレートに従ってビデオビットレートを計算するステップと、データ冗長率に対応する冗長レベルを取得するステップと、を実行するように構成される。
【０１２１】
通信インタフェース８３０は、以下のステップ、すなわちビデオビットレートおよび冗長レベルを送信端に送信するステップを実行するように構成され、ビデオビットレートおよび冗長レベルは、ビデオデータに冗長制御を実行するために送信端によって使用される。
【０１２２】
任意選択的に、プロセッサ８１０は、以下のステップ、すなわち式r=k*lに従ってデータ冗長率を決定するステップをさらに含み、ここでlはパケットロス率、ｋは3以下1以上の係数であり、ｒはデータ冗長率である。好ましくは、ｒは1未満に限定されてもよい。
【０１２３】
任意選択的に、プロセッサ８１０は、以下のステップ、すなわち式
【数２２】
2019501566.tif 000024
に従ってビデオビットレートを計算するステップをさらに含み、ここでBRsはセキュリティ伝送ビットレートであり、BRvはビデオビットレートである。
【０１２４】
バス８４０は、業界標準アーキテクチャ（ISA）バス、周辺構成要素相互接続（PCI）バス、拡張業界標準アーキテクチャ（EISA）バス等であってもよい。バスは、アドレスバス、データバス、および制御バスのうちの１つまたは複数を含んでもよい。表現を容易にするために、図中のバスを表すために１つの太字の線しか使用されていないが、これは１つのバスまたは１つのタイプのバスしか存在しないことを意味するものではない。
【０１２５】
メモリ８２０は、高速ランダムアクセスメモリ（RAM）を含んでもよい。任意選択的に、メモリ８２０は、不揮発性メモリをさらに含んでもよい。例えば、メモリ８２０は、磁気ディスクメモリを含んでもよい。
【０１２６】
プロセッサ８１０は、中央処理装置（CPU）であってもよく、プロセッサ８１０は、特定用途向け集積回路（ASIC）であってもよく、あるいはプロセッサ８１０は、本開示の実施形態を実装するように構成された１つ以上の集積回路であってもよい。
【０１２７】
本開示の実施形態におけるコンピュータデバイスの機能モジュールの機能は、上述した方法の実施形態における方法に従って具体的に実装され得ることが理解されよう。特定の実装過程は、上述した方法の実施形態における関連する説明を参照し、ここでは詳細は再度説明しない。
【０１２８】
本開示のこの実施形態で開示されるコンピュータデバイスは、上述した方法の実施形態に従ってビデオデータ冗長制御方法を実行してもよく、上述した方法の実施形態が得られるという技術的効果を得ることができる。
【０１２９】
上述の実施形態では、各実施形態の説明はそれぞれ焦点を有する。一実施形態において詳細に説明されていない部分については、他の実施形態における関連する説明を参照することができる。
【０１３０】
説明を容易にするために、前述の方法の実施形態は一連の実行の組み合わせとして説明される。しかしながら、いくつかのステップが別のシーケンスで実行されてもよく、あるいは本開示に従って同時に実行されてもよいため、当業者は、本開示が記載された動作のシーケンスに限定されないことを理解すべきである。加えて、当業者は、本明細に記載されたすべての実施形態が好ましい実施形態であり、および関連する動作およびモジュールは本開示において必ずしも必要とされないことを理解すべきである。
【０１３１】
当業者は、実施形態の方法のステップの全てまたは一部を、関連するハードウェアを指示するプログラムによって実装できることを理解することができる。プログラムは、コンピュータ可読記憶媒体に格納されてもよい。記憶媒体は、ROM、RAM、磁気ディスク、または光ディスクを含んでもよい。
【０１３２】
以上、本開示の実施形態に係るビデオデータ冗長制御方法および装置について詳細に説明した。本明細書の特定の実施形態を使用して本開示の原理および実装を説明したが、実施形態の前述の説明は、本開示の方法および方法の核心の思想を理解することを助けることのみを意図している。一方、当業者は、本開示の思想に従って、特定の実施形態および適用範囲を変更することができる。結論として、本明細書の内容は、本開示に対する限定として解釈されるべきではない。
【符号の説明】
【０１３３】
５００  ビデオデータ冗長制御装置
５１０  受信モジュール
５２０  取得モジュール
５３０  ビデオ符号化モジュール
５４０  冗長割り当てモジュール
５４０  冗長割り当てモジュール
５５０  冗長符号化モジュール
６００  ビデオデータ冗長制御装置
６１０  計数モジュール
６２０  決定モジュール
６３０  獲得モジュール
６４０  計算モジュール
６５０  取得モジュール
６６０  送信モジュール
７００  コンピュータデバイス
７１０  プロセッサ
７２０  メモリ
７３０  通信インタフェース
７４０  バス
７５０  プログラム
８００  コンピュータデバイス
８１０  プロセッサ
８２０  メモリ
８３０  通信インタフェース
８４０  バス
８５０  プログラム
【図１】
2019501566.tif 000031
【図２】
2019501566.tif 000032
【図３】
2019501566.tif 000033
【図４】
2019501566.tif 000034
【図５】
2019501566.tif 000035
【図６】
2019501566.tif 000036
【図７】
2019501566.tif 000037
【図８】
2019501566.tif 000038
【国際調査報告】
2019501566.tif 000039
2019501566.tif 000040
2019501566.tif 000041
2019501566.tif 000042
2019501566.tif 000043
2019501566.tif 000044