(57)【要約】  本発明は、ビデオエンコーダに基づく符号レート制御方法、装置及びビデオサーバーを提供する。本発明によるビデオエンコーダに基づく符号レート制御方法は、ビデオ再生中に符号レートを切り替える必要がある場合、切り替え中にビデオエンコーダへ伝送しようとするフレームのタイムスタンプを変更し、タイムスタンプが変更されたフレームをビデオエンコーダに伝送し、ビデオエンコーダにより出力するフレームの各々に対し、出力フレームのタイムスタンプをオリジナルタイムスタンプに回復させる。これにより、符号化の中断による詰まりが発生せず、切り替えが非常にスムーズに行われる。
2020528242.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ再生中において、符号レートを切り替える必要がある場合、切り替え中にビデオエンコーダへ伝送しようとするフレームのタイムスタンプを変更するステップと、
タイムスタンプが変更されたフレームをビデオエンコーダに伝送するステップと、
ビデオエンコーダにより出力するフレームの各々に対し、出力フレームのタイムスタンプをオリジナルタイムスタンプに回復させるステップと、
を含むビデオエンコーダに基づく符号レート制御方法。
【請求項２】
前記ビデオ再生中において、符号レートを切り替える必要がある場合、切り替え中にビデオエンコーダに伝送しようとするフレームのタイムスタンプを変更する前に、
ビデオエンコーダの初期化段階において、一定のフレームレートと符号レートを設定し、正確なタイムスタンプに従ってフレームをビデオエンコーダに伝送して符号化するステップをさらに含んでおり、
ビデオエンコーダは設定された符号レートに従って符号化を行って、ビデオ出力をし、出力されたビデオの符号レートと設定された符号レートとが一致する、
ことを特徴とする請求項１に記載のビデオエンコーダに基づく符号レート制御方法。
【請求項３】
前記正確なタイムスタンプとは、隣接するフレームのタイムスタンプの間隔がフレームレートに対応し、ビデオエンコーダから出力するビデオの符号レートと設定された符号レートが一致するものである、
ことを特徴とする請求項２に記載のビデオエンコーダに基づく符号レート制御方法。
【請求項４】
前記ビデオ再生中において、符号レートを切り替える必要がある場合、切り替え中にビデオエンコーダに伝送しようとするフレームのタイムスタンプを変更することは、
ビデオ再生中に第一の符号レートを第二の符号レートに切り替える必要がある場合、前記第一の符号レートに対応する第一の隣接フレームのタイムスタンプ間隔を、前記第二の符号レートに対応する第二の隣接フレームのタイムスタンプ間隔に変更し、
ここで、前記第二の符号レートと前記第一の符号レートの比は、前記第二の隣接フレームのタイムスタンプ間隔と前記第一の隣接フレームのタイムスタンプ間隔の比に等しくなっており、
すでにビデオエンコーダに伝送した直近の一つのフレームの実際タイムスタンプと、前記第二の隣接フレームのタイムスタンプ間隔とによって、現在フレームのタイムスタンプを変更することを含む、
ことを特徴とする請求項１に記載のビデオエンコーダに基づく符号レート制御方法。
【請求項５】
前記ビデオエンコーダにより出力するフレームの各々に対し、出力フレームのタイムスタンプをオリジナルタイムスタンプに回復させることは、
正確なタイムスタンプと変更後のタイムスタンプのマッピングテーブルを作成し、
変更しようとするフレームのオリジナルタイムスタンプと変更後のタイムスタンプを前記マッピングテーブルに相応して加え、
前記ビデオエンコーダにより出力するフレームの各々に対し、受信したフレームに表記のタイムスタンプによって、前記マッピングテーブルの中で検索を行い、対応するオリジナルタイムスタンプを見つけ、
出力するフレームのタイムスタンプをオリジナルタイムスタンプに回復させることを含む、
ことを特徴とする請求項１に記載のビデオエンコーダに基づく符号レート制御方法。
【請求項６】
ビデオ再生中において、符号レートを切り替える必要がある場合、切り替え中にビデオエンコーダへ伝送しようとするフレームのタイムスタンプを変更する変更モジュールと、
タイムスタンプが変更されたフレームをビデオエンコーダに伝送する伝送モジュールと、
ビデオエンコーダにより出力するフレームの各々に対し、出力フレームのタイムスタンプをオリジナルタイムスタンプに回復させる回復モジュールと、
を含むビデオエンコーダに基づく符号レート制御装置。
【請求項７】
前記変更モジュールは、
ビデオ再生中において第一の符号レートを第二の符号レートに切り替える必要がある場合、前記第一の符号レートに対応する第一の隣接フレームのタイムスタンプ間隔を、前記第二の符号レートに対応する第二の隣接フレームのタイムスタンプ間隔に変更する第一の変更サブモジュールと、ここで、前記第二の符号レートと前記第一の符号レートの比は、前記第二の隣接フレームのタイムスタンプ間隔と前記第一の隣接フレームのタイムスタンプ間隔の比に等しくなっており、
すでにビデオエンコーダに伝送した直近の一フレームの実際タイムスタンプと、前記第二の隣接フレームのタイムスタンプ間隔とによって、現在フレームのタイムスタンプを変更する第二の変更サブモジュールと、
を含む請求項６に記載のビデオエンコーダに基づく符号レート制御装置。
【請求項８】
前記回復モジュールは、
正確なタイムスタンプと変更後のタイムスタンプのマッピングテーブルを作成する作成ユニットと、
変更しようとするフレームのオリジナルタイムスタンプと変更後のタイムスタンプを前記マッピングテーブルに相応して加える添加ユニットと、
前記ビデオエンコーダにより出力するフレームの各々に対し、受信したフレームに表記のタイムスタンプによって、前記マッピングテーブルの中で検索を行い、対応するオリジナルタイムスタンプを見つける検索ユニットと、
出力したフレームのタイムスタンプをオリジナルタイムスタンプに回復させる回復サブユニットと、
を含む請求項６に記載のビデオエンコーダに基づく符号レート制御装置。
【請求項９】
コンピュータープログラムが記憶されているコンピューター読み取り可能な記憶媒体であって、
処理装置により前記コンピュータープログラムを実行する際、前記請求項１乃至５のいずれか一項に記載のビデオエンコーダに基づく符号レート制御方法を実現する、
ことを特徴とするコンピューター読み取り可能な記憶媒体。
【請求項１０】
一つ又は複数の処理装置と、記憶装置と、一つ又は複数のコンピュータープログラムとを含むビデオサーバーであって、
一つ又は複数の前記コンピュータープログラムは、前記記憶装置に記憶されて、一つ又は複数の前記処理装置により実行されるように配置され、
前記処理装置により前記コンピュータープログラムを実行する際、前記請求項１乃至５のいずれか一項に記載のビデオエンコーダに基づく符号レート制御方法を実現する、
ことを特徴とするビデオサーバー。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオの分野に属し、特に、ビデオエンコーダに基づく符号レート制御方法、装置及びビデオサーバーに関する。
【背景技術】
【０００２】
ライブ放送の応用において、ライブストリームをプッシュ配信する際、ネットワーク帯域幅に変動があるため、現在の帯域幅に基づいてビデオエンコーダの出力符号レートをリアルタイムで制御することで、帯域幅に自動的に適応させることが特に重要である。現在、より正確な帯域幅推定及びより優れた符号レート制御を行う戦略など多様なやり方があるが、出力符号レートを切り替える必要のある場合に、どのようにビデオエンコーダで出力符号レートの切り替えを完成し、符号化が中断されないように確保するかについては検討していない。
【０００３】
現在、多様なライブ放送プラットフォームの各種のビデオエンコーダは、符号化パラメーターの制御において、通常、固定ビットレート（Ｃｏｎｓｔａｎｔ  Ｂｉｔ  Ｒａｔｅ、ＣＢＲ）或いは可変ビットレート（Ｖａｒｉａｂｌｅ  Ｂｉｔ  Ｒａｔｅ、ＶＢＲ）を提供し、固定ビットレートのエンコードの出力レートは基本的に変わらず、可変ビットレートのエンコードは内容によって変化する。しかし、いずれの方式であっても、符号化中にソフトウェアにより符号レートをリアルタイムで変更、制御することはできない。
【０００４】
そのため、現在、動的レート制御の一般的な方法は、既存のビデオエンコーダのインスタンスを閉じ、新しいビデオエンコーダのインスタンスを再作成して、新しいビデオエンコーダの符号レートを切り替えて必要のある符号レートとして設定する。そして、新しく作成されたビデオエンコーダのコンポーネントを使用して、新しい符号レートパラメーターの応用を実現する。
【０００５】
しかし、上記方法には、限られているリソースのプラットフォームにおいて、ビデオエンコーダのインスタンスを自由に作成することができないという問題がある。その場合、既存のビデオエンコーダを閉じてから新しいビデオエンコーダを作成、起動しなければならない。そのためには、以下のようなステップの実行が必要となっている。
１．既存のビデオエンコーダのすべての符号化フレームの符号化及び出力が終わるまで待つ。
２．既存のビデオエンコーダを閉じる。
３．新しいビデオエンコーダを作成、設定し、起動する。
４．最新の符号化しようとするデータをビデオエンコーダに伝送し、新しい符号レートの符号化方式の応用を開始する。
【０００６】
ただし、上記の処理中では符号化が行えないため、符号レートを切り替える時、符号化の必要のあるフレームは、新しいビデオエンコーダの初期化が完了するまで待つしかできないため、出力されるビデオストリームの詰まりが発生する。ここで、リアルタイムで符号化を待つフレームの一時保存が不可となり、一時保存空間が無効となる場合、切り替え中にそれらのフレームを破棄しなければならないため、最終の符号化画面にはフレームスキップが表示される。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以上に鑑みて、本発明の目的は、ビデをオエンコーダに基づく符号レート制御方法、装置及びビデオサーバーを提供して、既存のビデオエンコーダを閉じてから新しいビデオエンコーダを作成、設定し起動する動的レート制御方式による、出力されるビデオストリームの詰まりの発生や、リアルタイムで符号化を待つフレームが切り替え中に破棄される恐れがあって、符号化画面にフレームスキップが表示されるなど、従来技術に存在する問題を解決することである。
【課題を解決するための手段】
【０００８】
まず、本発明によるビデオエンコーダに基づく符号レート制御方法は、ビデオ再生中において、符号レートを切り替える必要がある場合、切り替え中にビデオエンコーダへ伝送しようとするフレームのタイムスタンプを変更するステップと、タイムスタンプが変更されたフレームをビデオエンコーダに伝送するステップと、ビデオエンコーダにより出力するフレームの各々に対し、出力フレームのタイムスタンプをオリジナルタイムスタンプに回復させるステップとを含む。
【０００９】
次に、本発明によるビデオエンコーダに基づく符号レート制御装置は、ビデオ再生中において、符号レートを切り替える必要がある場合、切り替え中にビデオエンコーダへ伝送しようとするフレームのタイムスタンプを変更する変更モジュールと、タイムスタンプが変更されたフレームをビデオエンコーダに伝送する伝送モジュールと、ビデオエンコーダにより出力するフレームの各々に対し、出力フレームのタイムスタンプをオリジナルタイムスタンプに回復させる回復モジュールとを含む。
【００１０】
そして、本発明によるコンピューター読み取り可能な記憶媒体は、コンピュータープログラムが記憶されているコンピューター読み取り可能な記憶媒体であって、処理装置により前記コンピュータープログラムを実行する際、上記ビデオエンコーダに基づく符号レート制御方法のステップを実現する。
【００１１】
そして、本発明によるビデオサーバーは、一つ又は複数の処理装置と、記憶装置と、一つ又は複数のコンピュータープログラムとを含むビデオサーバーであって、一つ又は複数の前記コンピュータープログラムは、前記記憶装置に記憶されて、一つ又は複数の前記処理装置により実行されるように配置され、前記処理装置により前記コンピュータープログラムを実行する際、上記ビデオエンコーダに基づく符号レート制御方法のステップを実現する。
【発明の効果】
【００１２】
本発明によれば、ビデオ再生中において、符号レートを切り替える必要がある場合、切り替え中にビデオエンコーダへ伝送しようとするフレームのタイムスタンプを変更し、ビデオエンコーダにより出力するフレームの各々に対し、出力フレームのタイムスタンプをオリジナルタイムスタンプに回復することによって、ビデオエンコーダの出力フレームの実際符号レートを制御する。既存のビデオエンコーダを閉じる必要がなく、新しいビデオエンコーダの作成、設定が可能であるため、再開中の符号化の中断を起こすことなく、ライブ配信など即時性の高い応用場面であっても、符号化の中断による詰まりが発生せず、切り替えが非常にスムーズに行われる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第一の実施形態によるビデオエンコーダに基づく符号レート制御方法のフローチャートである。
【図２】本発明の第二の実施形態によるビデオエンコーダに基づく符号レート制御装置の概略図である。
【図３】本発明の第四の実施形態によるビデオサーバーの構成を示す概略図である。
【発明を実施するための形態】
【００１４】
以下、本発明の目的、技術案、効果をより明確に説明するために、図面を参照し実施形態に基づいて、本発明を分かりやすく詳細に説明する。もちろん、以下の実施形態は本発明を詳しく説明するためであり、本発明を限定するものではない。
【００１５】
［第一の実施形態］
図１に示すように、本発明の第一の実施形態によるビデオエンコーダに基づく符号レート制御方法は、以下のようなステップを含んでいる。
【００１６】
Ｓ１０１：ビデオ再生中において、符号レートを切り替える必要がある場合、切り替え中にビデオエンコーダへ伝送しようとするフレームのタイムスタンプを変更する。
【００１７】
本実施形態において、ステップＳ１０１は具体的に、
ビデオ再生中第一の符号レートを第二の符号レートに切り替える必要がある場合、第一の符号レートに対応する第一の隣接フレームのタイムスタンプ間隔を、第二の符号レートに対応する第二の隣接フレームのタイムスタンプ間隔に変更し、ここで、第二の符号レートと第一の符号レートの比は、第二の隣接フレームのタイムスタンプ間隔と第一の隣接フレームのタイムスタンプ間隔の比に等しくなっており、
すでにビデオエンコーダに伝送した直近の一つのフレームの実際タイムスタンプと、第二の隣接フレームのタイムスタンプ間隔とによって、現在フレームのタイムスタンプを変更することである。
【００１８】
本実施形態において、ステップＳ１０１の前に、さらに下記ステップを含む。すなわち、
ビデオエンコーダの初期化段階において、一定のフレームレートと符号レートを設定し、正確なタイムスタンプに従ってフレームをビデオエンコーダに伝送して符号化し、
ビデオエンコーダは、設定された符号レートに従って符号化を行って、ビデオ出力をし、出力されたビデオの符号レートと設定された符号レートは一致する。
【００１９】
ここで、正確なタイムスタンプとは、隣接するフレームのタイムスタンプの間隔がフレームレートに対応し、この場合、ビデオエンコーダから出力するビデオの符号レートと設定された符号レートが一致することである。
【００２０】
Ｓ１０２：タイムスタンプが変更されたフレームをビデオエンコーダに伝送する。
【００２１】
Ｓ１０３：ビデオエンコーダにより出力するフレームの各々に対し、出力フレームのタイムスタンプをオリジナルタイムスタンプに回復させる。
【００２２】
本実施形態において、ステップＳ１０３は具体的に、
正確なタイムスタンプと変更後のタイムスタンプとのマッピングテーブルを作成し、
変更しようとするフレームのオリジナルタイムスタンプと変更後のタイムスタンプをマッピングテーブルに相応して加え、
ビデオエンコーダにより出力するフレームの各々に対し、受信したフレームに表記のタイムスタンプによって、マッピングテーブルの中で検索を行い、対応するオリジナルタイムスタンプを見つけ、
出力フレームのタイムスタンプをオリジナルタイムスタンプに回復させることである。
【００２３】
ビデオエンコーダに伝送する各フレームの実際のタイムスタンプに変更が発生するため、実際にビデオエンコーダに伝送するフレームレートの変更を引き起こし、最終的にはビデオエンコーダの符号レート制御にも影響を与える。
【００２４】
以下実施例を挙げて説明する。
例えば、最初の符号化のフレームレートを３０フレーム／秒とすることが必要である場合、符号レートが２Ｍｂｐｓのビデオを出力し、途中のある段階で、出力の符号レートを２Ｍｂｐｓから４Ｍｂｐｓに切り替える必要がある。
【００２５】
１．ビデオエンコーダを作成し、フレームレートを３０フレーム／秒（相応的に、隣接するフレームのタイムスタンプの間隔は３３．３３ｍｓである）に、符号レートを２Ｍｂｐｓに設定する。
【００２６】
２．フレームをビデオエンコーダに伝送し始め、隣接するフレームのタイムスタンプの間隔はフレームレートに対応しなければならず、例えば、第一のフレームの時間が０ｍｓであり、第二のフレームの時間が３３．３３ｍｓであり、第三のフレームの時間が６６．６６ｍｓであって、同じように、この場合のビデオエンコーダにより出力するビデオ符号レートは設定した符号レートと一致し、２Ｍｂｐｓである。
【００２７】
３．出力の符号レートを４Ｍｂｐｓに切り換える必要がある場合、隣接するフレームのタイムスタンプの間隔が６６．６６ｍｓである方式に従って、ビデオエンコーダに伝送する各フレームのタイムスタンプを変更する。例えば、すでにビデオエンコーダに伝送された直近の一つのフレームの実際タイムスタンプが２０００ｍｓであると、通常、次のフレームのタイムスタンプは２０３３．３３ｍｓ（フレーム間隔が３３．３３ｍｓである）となるが、フレーム間隔が６６．６６ｍｓに達するようにするためには、現在フレームのタイムスタンプを２０６６．６６ｍｓに変更して、ビデオエンコーダに伝送する。
【００２８】
４．正確なタイムスタンプと変更後のタイムスタンプのマッピングテーブルを作成する。
【００２９】
５．変更しようとするフレームのオリジナルタイムスタンプと変更後のタイムスタンプを、マッピングテーブルに相応して加える。
【００３０】
６．ビデオエンコーダにより出力するフレームの各々に対し、受信したフレームに表記のタイムスタンプによって、マッピングテーブルの中で検索を行い、対応するオリジナルタイムスタンプを見つける。
【００３１】
７．出力するフレームのタイムスタンプをオリジナルタイムスタンプに回復させる。
【００３２】
ビデオエンコーダに伝送するフレームは、隣接するフレームのタイムスタンプが６６．６６ｍｓに変わったため、ビデオエンコーダにおいて、入力のフレームシーケンシャルは毎秒１５フレームに変わる。このため、元々３０フレームに配分してきた出力バイト（２Ｍｂｉｔ）が、現在は１５フレームに配分されるので、毎秒あたりのバイトが変わらないようにするためには、フレームごとの大きさが平均して元の２倍に増大される。
【００３３】
上記方法によれば、符号化中のいずれの段階でも、ビデオエンコーダの実際の出力符号レートが実際符号レートであるように制御することができる。
【００３４】
本実施形態において、ビデオ再生中に符号レートを切り替える必要がある場合、切り替え中にビデオエンコーダへ伝送しようとするフレームのタイムスタンプを変更させ、ビデオエンコーダにより出力するフレームの各々に対し、出力フレームのタイムスタンプをオリジナルタイムスタンプに回復させることにより、ビデオエンコーダの出力フレームの実際の符号レートを制御する。既存のビデオエンコーダを閉じる必要がなく、新しいビデオエンコーダの作成、設定が可能であるため、再開中の符号化の中断を起こすことなく、ライブ配信など即時性の高い応用場面であっても、符号化の中断による詰まりが発生せず、切り替えが非常にスムーズに行われる。
【００３５】
［第二の実施形態］
図２に示すように、本発明の第二の実施形態によるビデオエンコーダに基づく符号レート制御装置は、
ビデオ再生中において、符号レートを切り替える必要がある場合、切り替え中にビデオエンコーダへ伝送しようとするフレームのタイムスタンプを変更する変更モジュール１１と、
タイムスタンプが変更されたフレームをビデオエンコーダに伝送する伝送モジュール１２と、
ビデオエンコーダにより出力するフレームの各々に対し、出力フレームのタイムスタンプをオリジナルタイムスタンプに回復させる回復モジュール１３とを含んでいる。
【００３６】
本実施形態において、変更モジュール１１は、
ビデオ再生中に第一の符号レートを第二の符号レートに切り替える必要がある場合、第一の符号レートに対応する第一の隣接フレームのタイムスタンプ間隔を、第二の符号レートに対応する第二の隣接フレームのタイムスタンプ間隔に変更する第一の変更サブモジュールを含み、ここで、第二の符号レートと第一の符号レートの比は、第二の隣接フレームのタイムスタンプ間隔と第一の隣接フレームのタイムスタンプ間隔の比に等しくなっており、
すでにビデオエンコーダに伝送した直近の一フレームの実際タイムスタンプと、第二の隣接フレームのタイムスタンプ間隔とによって、現在フレームのタイムスタンプを変更する第二の変更サブモジュールを含んでいる。
【００３７】
また、本実施形態において、回復モジュール１３は、
正確なタイムスタンプと変更後のタイムスタンプのマッピングテーブルを作成する作成ユニットと、
変更しようとするフレームのオリジナルタイムスタンプと変更後のタイムスタンプを前記マッピングテーブルに相応して加える添加ユニットと、
ビデオエンコーダにより出力するフレームの各々に対し、受信したフレームに表記のタイムスタンプによって、マッピングテーブルの中で検索を行い、対応するオリジナルタイムスタンプを見つける検索ユニットと、
出力したフレームのタイムスタンプをオリジナルタイムスタンプに回復させる回復サブユニットとを含んでいる。
【００３８】
［第三の実施形態］
本発明の第三の実施形態によるコンピューター読み取り可能な記憶媒体は、コンピュータープログラムが記憶されており、そのコンピュータープログラムを処理装置により実行する際、本発明の第一の実施形態に記載のビデオエンコーダに基づく符号レート制御方法を実現する。
【００３９】
［第四の実施形態］
図３は、本発明の第四の実施形態によるビデオサーバーの構成を示す概略図であり、本実施形態によるビデオサーバー１００は、一つ又は複数の処理装置１０１と、記憶装置１０２と、一つ又は複数のコンピュータープログラムとを含んでおり、
一つ又は複数のコンピュータープログラムは、記憶装置１０２に記憶されて、一つ又は複数の処理装置１０１により実行されるように配置され、処理装置１０１によりコンピュータープログラムを実行する際、本発明の第一の実施形態に記載のビデオエンコーダに基づく符号レート制御方法を実現する。
【００４０】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、本発明の趣旨及びその範囲から逸脱しない限り、その趣旨に基づいて変更、均等置換または改善することができ、いずれも本発明の保護範囲に含まれる。
【図１】
2020528242.tif 000003
【図２】
2020528242.tif 000004
【図３】
2020528242.tif 000005
【国際調査報告】
2020528242.tif 000006
2020528242.tif 000007
2020528242.tif 000008
2020528242.tif 000009