(57)【特許請求の範囲】
【請求項１】
ビデオの符号化処理方法であって、
コンピュータ機器が、前の１グループのビデオフレームシーケンス内のフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得するステップと、
前記コンピュータ機器が、前記占める割合に基づいて現在のビデオシーンが変化したかどうかを確定するステップと、
前記現在のビデオシーンが変化したことを確定する場合、前記占める割合に基づいて、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定するステップと、
前記コンピュータ機器が、前記ターゲットビットレートに基づいて前記フレーム内符号化フレームを符号化するステップと、を含み、
選択された前記フレーム間予測フレームが複数の連続したフレーム間予測フレームであり、
前記占める割合に基づいて現在のビデオシーンが変化したかどうかを確定する前記ステップは、
前記コンピュータ機器が、前記占める割合の最大値と最小値を確定することと、
前記コンピュータ機器が、複数の予め設定された、フレーム内予測ブロックの占める割合閾値を取得することと、
前記コンピュータ機器が、前記最大値と前記最小値との間に少なくとも１つの前記フレーム内予測ブロックの占める割合閾値が存在する場合、前記現在のビデオシーンが変化したと判断することと、を含み、
変化したことを確定する場合、前記占める割合に基づいて、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定する前記ステップは、
前記占める割合に基づいて現在のビデオシーンが変化したことを確定する場合、前記コンピュータ機器が、前記占める割合の平均値を確定することと、
前記コンピュータ機器が、前記占める割合の平均値に基づいて、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することであって、前記比率が前記占める割合の平均値と負相関することと、を含むことを特徴とする、ビデオの符号化処理方法。
【請求項２】
前記コンピュータ機器が、前の１グループのビデオフレームシーケンス内のフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得する前記ステップは、
コンピュータ機器が、選択のターゲット数を取得することと、
前記コンピュータ機器が、現在グループのビデオフレームシーケンスに近い順で、前記前の１グループのビデオフレームシーケンスから、前記選択のターゲット数を満たす連続したフレーム間予測フレームを選択することと、
前記コンピュータ機器が、前記フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得することと、を含むことを特徴とする
請求項１に記載の方法。
【請求項３】
前記コンピュータ機器が選択のターゲット数を取得することは、
コンピュータ機器が、前の１グループのビデオフレームシーケンス内のフレーム間予測フレームの総数を確定することと、
前記コンピュータ機器が、予め設定された選択数を取得することと、
前記コンピュータ機器が、前記予め設定された選択数及び確定された前記総数のうちのより小さい値を選択のターゲット数とすることと、を含むことを特徴とする
請求項２に記載の方法。
【請求項４】
前記コンピュータ機器が、前記占める割合に基づいて現在のビデオシーンが変化したかどうかを確定する前記ステップは、更に、
前記コンピュータ機器が、前記最大値と前記最小値が隣接する２つの前記フレーム内予測ブロックの占める割合閾値の間にあるかどうかを判断することと、
前記最大値と前記最小値が隣接する２つの前記フレーム内予測ブロックの占める割合閾値の間にある場合、前記コンピュータ機器が、現在のビデオシーンが変化していないと判断することと、を含むことを特徴とする
請求項１から３のいずれか１項に記載の方法。
【請求項５】
更に、
前記占める割合に基づいて、現在のビデオシーンが変化していないことを確定する場合、前記コンピュータ機器が、前記前の１グループのビデオフレームシーケンス内のフレーム間予測フレームの平均量子化パラメータを取得することと、
前記コンピュータ機器が、前記平均量子化パラメータ及び予め設定された量子化パラメータのオフセット量に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームの量子化パラメータを確定することと、
前記コンピュータ機器が、前記量子化パラメータに基づき、前記フレーム内符号化フレームを符号化することと、を含むことを特徴とする
請求項１から４のいずれか１項に記載の方法。
【請求項６】
更に、
前記占める割合に基づいて、現在のビデオシーンが変化していないことを確定する場合、前記コンピュータ機器が、前記前の１グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのビットレートと、含まれるフレーム間予測フレームの平均ビットレートとの第１比率を確定することと、
前記コンピュータ機器が、前記前の１グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームの量子化ステップサイズを、含まれるフレーム間予測フレームの平均量子化ステップサイズで割って、第２比率を取得することと、
前記コンピュータ機器が、前記第１比率と前記第２比率との積に基づき、現在グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのターゲットビットレートと、含まれるフレーム間予測フレームの平均ターゲットビットレートとのビットレート比率を取得することと、
前記コンピュータ機器が、前記現在グループのビデオフレームシーケンスの総ターゲットビットレートを取得することと、
前記コンピュータ機器が、前記総ターゲットビットレート及び前記ビットレート比率に基づき、前記現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを取得することと、を含むことを特徴とする
請求項１から５のいずれか１項に記載の方法。
【請求項７】
前記現在グループのビデオフレームシーケンスがビデオ通話アプリケーションにより取得されたビデオフレームシーケンスであり、
前記方法は、更に、
前記コンピュータ機器が、前記ビデオ通話アプリケーションによって符号化して得られた符号化ビデオストリームをビデオ通話相手側に送信して復号再生することを含むことを特徴とする
請求項１から６のいずれか１項に記載の方法。
【請求項８】
コンピュータ機器であって、
メモリと、１つ又は複数のプロセッサとを備え、前記メモリにコンピュータ可読命令が記憶され、前記コンピュータ可読命令が１つ又は複数のプロセッサにより実行されるとき、前記１つ又は複数のプロセッサは、
請求項１から７のいずれか１項に記載の方法を行うように構成された、コンピュータ機器。
【請求項９】
コンピュータ機器に、請求項１から７のいずれか１項に記載の方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、２０１７年０９月２６日に提出した中国特許出願第２０１７１０８８０６４５２号、発明の名称「ビデオの符号化処理方法、装置、設備及び記憶媒体」に基づく優先権を主張し、その全内容が本願の一部として援用される。
［技術分野］
本願はコンピュータ技術分野に関し、特にビデオの符号化処理方法、コンピュータ機器及び記憶媒体に関する。
【背景技術】
【０００２】
科学技術の発展に伴い、情報伝送方式が多様化されている。ビデオは展示する内容が豊富であるため、非常に重要な情報伝送方式となり、例えば、ビデオ通話又はオンライン生放送等が挙げられる。ビデオによって情報伝送を行うとき、ビデオを符号化する必要がある。
【０００３】
現在、ビデオを符号化するとき、現在のフレーム内符号化フレームの前のビデオフレームのビットレート又は量子化ステップサイズに基づいて現在のフレーム内符号化フレームの符号化ビットレートを確定することにより、該符号化ビットレートに基づいて現在のフレーム内符号化フレームを符号化する必要がある。
【０００４】
ところが、ビデオでは画面の変化が複雑であり、前のビデオフレームシーケンス内のビデオフレームのビットレート又は量子化ステップサイズが、現在のフレーム内符号化フレームの符号化ビットレートの割り当てのために、参照となる意味があまりない。そこで、従来の符号化方式は現在のフレーム内符号化フレームの符号化ビットレートを正確に確定することが困難であるため、適応符号化機能が悪い。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本願に係る様々な実施例に基づき、ビデオの符号化処理方法、コンピュータ機器及び記憶媒体を提供する。
【課題を解決するための手段】
【０００６】
ビデオの符号化処理方法であって、
コンピュータ機器が前の１グループのビデオフレームシーケンス内のフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得することと、
前記コンピュータ機器は前記占める割合に基づいて現在のビデオシーンが変化したかどうかを確定し、変化したことを確定する場合、前記占める割合に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することと、
前記コンピュータ機器が前記ターゲットビットレートに基づいて前記フレーム内符号化フレームを符号化することと、を含む。
【０００７】
コンピュータ機器であって、メモリと、１つ又は複数のプロセッサとを備え、前記メモリにコンピュータ可読命令が記憶され、前記コンピュータ可読命令が１つ又は複数のプロセッサにより実行されるとき、前記プロセッサは、
前の１グループのビデオフレームシーケンス内のフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得し、
前記占める割合に基づいて現在のビデオシーンが変化したかどうかを確定し、変化したことを確定する場合、前記占める割合に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定し、
前記ターゲットビットレートに基づいて前記フレーム内符号化フレームを符号化するステップを実行する。
【０００８】
コンピュータ可読命令が記憶される１つ又は複数の不揮発性記憶媒体であって、前記コンピュータ可読命令が１つ又は複数のプロセッサにより実行されるとき、１つ又は複数のプロセッサは、
前の１グループのビデオフレームシーケンス内のフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得し、
前記占める割合に基づいて現在のビデオシーンが変化したかどうかを確定し、変化したことを確定する場合、前記占める割合に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定し、
前記ターゲットビットレートに基づいて前記フレーム内符号化フレームを符号化するステップを実行する。
【０００９】
以下の図面及び説明において本願の１つ又は複数の実施例の詳細を提供する。本願の他の特徴、目的及び利点は明細書、図面及び特許請求の範囲から明らかになる。
【図面の簡単な説明】
【００１０】
【図１】図１は一実施例におけるビデオの符号化処理方法の応用環境を示す図である。
【図２】図２は一実施例におけるビデオの符号化処理方法のフローチャートである。
【図３】図３は一実施例における区分確定ステップのフローチャートである。
【図４】図４は一実施例におけるターゲットビットレート確定ステップのフローチャートである。
【図５】図５は他の実施例におけるビデオの符号化処理方法のフローチャートである。
【図６】図６は一実施例におけるビデオの符号化処理方法の原理模式図である。
【図７】図７は一実施例におけるビデオの符号化処理装置のブロック図である。
【図８】図８は一実施例における占める割合取得モジュールのブロック図である。
【図９】図９は他の実施例におけるビデオの符号化処理装置のブロック図である。
【図１０】図１０は一実施例におけるコンピュータ機器のブロック図である。
【発明を実施するための形態】
【００１１】
本願の実施例の技術案をより明確に説明するために、以下に実施例の記述において必要な図面を用いて簡単に説明を行うが、当然ながら、以下に記載する図面は単に本願の実施例の一例であって、当業者であれば、創造的な労力を要することなく、これらの図面に基づいて他の図面に想到しうる。
【００１２】
本願の目的、技術案及び利点をより明確にするために、以下に図面を参照しながら実施例によって本願を更に詳しく説明する。ここで説明される具体的な実施例は本願を解釈するためのものであり、本願を制限するためのものではないと理解すべきである。
【００１３】
図１は一実施例におけるビデオの符号化処理方法の応用環境を示す図である。図１に示すように、該応用環境にはネットワーク経由で接続される第１端末１１０及び第２端末１２０が含まれる。第１端末１１０及び第２端末１２０がビデオ符号化・復号機能を有する。一実施例では、第１端末１１０及び第２端末１２０にはビデオ通話アプリケーションプログラムがインストールされてもよい。第１端末１１０及び第２端末１２０がデスクトップパソコン又はモバイル端末であってもよく、モバイル端末は携帯電話、タブレットＰＣ、パーソナルデジタルアシスタント及びウェアラブルデバイス等のうちの少なくとも１つを含んでもよい。
【００１４】
一実施例では、第１端末１１０及び第２端末１２０がビデオ通話アプリケーションプログラムによってビデオ通話をリアルタイムに行う。第１端末１１０は前の１グループのビデオフレームシーケンス内のフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得することができる。第１端末１１０は占める割合に基づいて現在のビデオシーンが変化したかどうかを確定し、変化したことを確定する場合、占める割合に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することができる。第１端末１１０はターゲットビットレートに基づいてフレーム内符号化フレームを符号化することができる。更に、第１端末１１０は符号化して得られた符号化ビデオストリームを第２端末１２０（すなわち、ビデオ通話相手側）に送信することができ、第２端末１２０が受信された符号化ビデオストリームを復号再生する。
【００１５】
多者ビデオ通話を実現することができるため、第２端末１２０が少なくとも１つであってもよいと理解される。
【００１６】
説明すべきことは、図１に示される応用環境を示す図は本願に係るビデオの符号化処理方法の一実施例に過ぎない。他の実施例では、第１端末１１０は更にサーバによって第２端末１２０とネットワーク接続を実現することができ、つまり、第１端末１１０は符号化後の符号化ビデオストリームをサーバに送信して、サーバによって該符号化ビデオストリームを第２端末１２０に転送することができる。
【００１７】
本願に係るビデオの符号化処理方法はビデオリアルタイム通話シーンに適用されるだけでなく、ビデオオンライン生放送応用環境にも適用され、該応用環境は第３端末、サーバ及び第４端末を含むと理解される。第３端末は収集されたビデオフレームをサーバに送信することに用いられ、サーバはビデオフレームを符号化して符号化後の符号化ビデオストリームを第４端末にプッシュすることに用いられ、第４端末はサーバがプッシュした符号化ビデオストリームを復号して再生することに用いられる。そうすると、本願に係るビデオの符号化処理方法は該ビデオオンライン生放送応用環境におけるサーバに適用され、該応用環境におけるサーバが本願に係るビデオの符号化処理方法でフレーム内符号化フレームを符号化することにより、生放送ビデオストリームの符号化を実現し、符号化後の符号化ビデオストリームを第４端末に送信して復号再生する。
【００１８】
ここで、「第１」「第２」「第３」及び「第４」は区分説明するためのものであって、他の従属、権限及び順序等の面で制限するためのものではないと理解される。
【００１９】
図２は一実施例におけるビデオの符号化処理方法のフローチャートである。本実施例は主に該ビデオの符号化処理方法がコンピュータ機器に適用される場合を例として説明し、該コンピュータ機器が図１における第１端末１１０又は第２端末１２０であってもよいし、上記ビデオオンライン生放送応用環境におけるサーバであってもよい。図２に示すように、該方法は具体的に以下のステップを含む。
【００２０】
Ｓ２０２、前の１グループのビデオフレームシーケンス内のフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得する。
【００２１】
フレーム間予測フレームはビデオ画像インターの関連性を利用して他のビデオフレームを参照して符号化するビデオフレームである。フレーム間予測フレームはＰフレーム（前方フレーム間予測フレーム、Ｐｒｅｄｉｃｔｉｖｅ−ｃｏｄｅｄＰｉｃｔｕｒｅ）及び／又はＢフレーム（双方向フレーム間予測フレーム、Ｂｉｄｉｒｅｃｔｉｏｎａｌｌｙ  ｐｒｅｄｉｃｔｅｄ  ｐｉｃｔｕｒｅ）を含む。
【００２２】
１組のビデオフレームシーケンス（ＧＯＰ：Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅ）はフレーム内符号化フレーム（Ｉフレーム、Ｉｎｔｒａ−ｃｏｄｅｄ  ｐｉｃｔｕｒｅ）を開始フレームとする、フレーム間予測フレームを含む１組のビデオフレームシーケンスである。前の１グループのビデオフレームシーケンスは現在グループのビデオフレームシーケンスに最も接近する前の１組のビデオフレームシーケンスである。現在グループのビデオフレームシーケンスは現在の符号化対象のビデオフレームシーケンスである。
【００２３】
具体的に、コンピュータ機器は前の１グループのビデオフレームシーケンス内の全部又は一部のフレーム間予測フレームを選択してもよい。一実施例では、コンピュータ機器は前の１グループのビデオフレームシーケンス内の現在グループのビデオフレームシーケンスに最も接近する１つのフレーム間予測フレームを選択してもよい。コンピュータ機器は更に前の１グループのビデオフレームシーケンス内のフレーム間予測フレームの総数を確定し、現在グループのビデオフレームシーケンスに近い順で、前の１グループのビデオフレームシーケンスから数が該総数より小さい複数の連続したフレーム間予測フレームを選択してもよい。例えば、前の１グループのビデオフレームシーケンスが（Ｉｐｒｅ，Ｐ１，Ｐ２，Ｂ１，Ｐ３，Ｐ４）である場合、コンピュータ機器は最も接近する１つのＰ４フレームを選択してもよいし、現在グループのビデオフレームシーケンスに近い順で、前の１グループのビデオフレームシーケンスから数が前の１グループのビデオフレームシーケンス内のフレーム間予測フレームの総数５より小さい複数の連続したフレーム間予測フレームを選択してもよい。例えば、３つの最も接近する連続したフレーム間予測フレームＰ４、Ｐ３及びＢ１を選択する。
【００２４】
コンピュータ機器は前の１グループのビデオフレームシーケンス内の完全に連続しないフレーム間予測フレームを選択してもよいと理解される。例えば、コンピュータ機器はＰ１、Ｂ１、Ｐ３及びＰ４を選択してもよく、Ｐ１がＢ１に連続しない。
【００２５】
フレーム内予測ブロック（Ｉｎｔｒａブロック）は１フレームにフレーム内符号化モードで符号化するブロックである。フレーム内予測ブロックは隣接する画素の関連性を利用して、画素ブロックの左側及び上側の画素によって予測し、実際値と予測値との差値のみを符号化するブロックである。
【００２６】
１フレームのフレーム間予測フレームは複数のブロックで構成され、フレーム間予測フレームを構成するこの複数のブロックにはフレーム内予測ブロック及びフレーム間予測ブロックが含まれると理解される。フレーム間予測ブロック（Ｉｎｔｅｒブロック）は１フレームにインター符号化モードで符号化するブロックである。
【００２７】
フレーム内予測ブロックの占める割合は同じフレーム間予測フレームを構成するすべてのブロックにおいて、フレーム内予測ブロックが占有した比率である。例えば、３０個のブロックが１つのフレーム間予測フレームを構成し、フレーム内予測ブロックが１０個ある場合、フレーム内予測ブロックの占める割合が１０／３０＝１／３である。
【００２８】
ステップＳ２０２において選択されたのが複数のフレーム間予測フレームである場合、それぞれ各フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得する必要があると理解される。
【００２９】
Ｓ２０４、占める割合に基づいて現在のビデオシーンが変化したかどうかを確定し、変化したことを確定する場合、占める割合に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定する。
【００３０】
ビットレート、すなわちビデオビットレートはデータ伝送時に単位時間内に伝送するデータビット数である。
【００３１】
現在のビデオシーンは現在のビデオシーンである。ビデオシーンはビデオ画像全体で展示する。ビデオシーンが変化したとは、現在のビデオ画像の安定性又は密集度が変化したことを意味し、例えば、現在のビデオシーンが静止状態から運動状態に変える場合、現在のビデオ画像の安定性が変化したと説明され、現在のビデオシーンが変化し、更に、又は、現在のビデオシーンの背景が簡単から複雑になる場合、現在のビデオ画像の密集度が変化したと説明され、現在のビデオシーンが変化した。
【００３２】
一実施例では、コンピュータ機器はフレーム内予測ブロックの占める割合に基づいて現在のビデオシーンが変化したかどうかを判断することができる。具体的に、コンピュータ機器は取得されたフレーム内予測ブロックの占める割合を予め設定されたフレーム内予測ブロックの占める割合閾値と直接比較し、比較結果に基づき、現在のビデオシーンが変化したかどうかを判断することができる。
【００３３】
一実施例では、選択されたフレーム間予測フレームが複数の連続したフレーム間予測フレームである場合、占める割合に基づいて現在のビデオシーンが変化したかどうかを確定することは、各フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合の最大値と最小値を確定することと、複数の予め設定された、フレーム内予測ブロックの占める割合閾値を取得することと、最大値と最小値との間に少なくとも１つのフレーム内予測ブロックの占める割合閾値が存在する場合、現在のビデオシーンが変化したことを判断することと、を含む。
【００３４】
一実施例では、複数の予め設定された、フレーム内予測ブロックの占める割合閾値は、
【００３５】
【数１】
0006899448.tif 000002
【００３６】
であってもよく、Ｔｈｒｅがフレーム内予測ブロックの占める割合閾値を示す。
【００３７】
以下、上記複数の予め設定された、フレーム内予測ブロックの占める割合閾値と組み合わせてどのように現在のビデオシーンが変化したことを判断するかを説明する。例えば、各占める割合の最大値と最小値がそれぞれ１５％と８％であり、最大値１５％と最小値８％との間に１つのフレーム内予測ブロックの占める割合閾値１０％（Ｔｈｒｅ３）がある場合、現在のビデオシーンが変化したことを判断する。
【００３８】
一実施例では、占める割合に基づいて現在のビデオシーンが変化したかどうかを確定することは、更に、最大値と最小値が隣接する２つのフレーム内予測ブロックの占める割合閾値の間にあるかどうかを判断することと、最大値と最小値が隣接する２つのフレーム内予測ブロックの占める割合閾値の間にある場合、現在のビデオシーンが変化していないことを判断することと、を含む。
【００３９】
同様に上記複数の予め設定された、フレーム内予測ブロックの占める割合閾値と組み合わせて例を挙げて説明する。例えば、各占める割合の最大値と最小値がそれぞれ８％と６％であり、最大値８％と最小値６％が隣接する２つのフレーム内予測ブロックの占める割合閾値５％（Ｔｈｒｅ２）と１０％（Ｔｈｒｅ３）との間にある場合、現在のビデオシーンが変化していないことを判断する。
【００４０】
選択されたフレーム間予測フレームが１つである場合、取得されたフレーム内予測ブロックの占める割合が１つであると理解される。具体的に、コンピュータ機器は該フレーム間予測フレームにおける各フレーム内予測ブロックの分布位置及び分布傾向、並びにフレーム内予測ブロックの占める割合の大きさに基づき、現在のビデオシーンが変化したかどうかを直接判断することができる。
【００４１】
具体的に、占める割合に基づいて現在のビデオシーンが変化したことを確定する場合、コンピュータ機器は占める割合そのものに基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することができる。
【００４２】
一実施例では、選択されたフレーム間予測フレームが１つである場合、取得されたフレーム内予測ブロックの占める割合が１つしかない。コンピュータ機器は占める割合と予め設定されたビットレートとのマッピング関係に基づき、該占める割合に対応してマッピングする予め設定されたビットレートを現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとして取得することができる。
【００４３】
他の実施例では、選択されたフレーム間予測フレームが複数である場合、取得されたフレーム内予測ブロックの占める割合も複数ある。コンピュータ機器は該複数の占める割合の平均値に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することができる。コンピュータ機器は該複数の占める割合から一部の占める割合を選択し、該選択された一部の占める割合の平均値に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することもできる。一実施例では、コンピュータ機器は更に現在グループのビデオフレームシーケンスに最も接近するフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を選択し、該占める割合に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することができる。
【００４４】
Ｓ２０６、ターゲットビットレートに基づいてフレーム内符号化フレームを符号化する。
【００４５】
具体的に、コンピュータ機器は確定された現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートに基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームを符号化することができる。
【００４６】
上記実施例では、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームを符号化するとき、選択された前の１グループのビデオフレームシーケンス内のフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合によって、現在のビデオシーンが変化したかどうかを判断する。現在のビデオシーンが変化したことを確定する場合、フレーム内予測ブロックの占める割合に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定する。フレーム内予測ブロックの占める割合は画像同士の関連性の強さを示すことができ、画像同士の関連性の強さを示すことのできるフレーム内予測ブロックの占める割合に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートの割り当てを確定することにより、現在のビデオシーンが変化したとき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートの割り当てをより正確にし、それにより適応符号化機能を向上させる。
【００４７】
一実施例では、選択されたフレーム間予測フレームが複数の連続したフレーム間予測フレームである。変化したことを確定する場合、占める割合に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することは、占める割合に基づいて現在のビデオシーンが変化したことを確定する場合、各フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合の平均値を確定することと、占める割合の平均値に基づいて、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することと、を含み、ターゲットビットレートが占める割合の平均値と負相関する。
【００４８】
占める割合の平均値が算術平均値であってもよいし、加重平均値であってもよい。一実施例では、コンピュータ機器は選択された各フレーム間予測フレームと現在グループのビデオフレームシーケンスとの距離の大きさに基づき、各フレーム間予測フレームに対応する重みを割り当てることができる。重みが現在グループのビデオフレームシーケンスの距離と逆相関し、現在グループのビデオフレームシーケンスとの距離が小さければ小さいほど（つまり、近ければ近いほど）、対応する重みが大きくなり、現在グループのビデオフレームシーケンスとの距離が大きければ大きいほど（つまり、遠くければ遠いほど）、対応する重みが小さくなる。
【００４９】
一実施例では、コンピュータ機器は占める割合の平均値と予め設定されたビットレートとのマッピング関係に基づき、確定された占める割合の平均値にマッピングする予め設定されたビットレートを現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとして取得することができる。ターゲットビットレートが占める割合の平均値と負相関する。
【００５０】
他の実施例では、コンピュータ機器は占める割合の平均値に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率を確定し、該比率が占める割合の平均値と負相関し、シングルフレームの平均ビットレートを取得し、シングルフレームの平均ビットレート及び比率に基づき、フレーム内符号化フレームのターゲットビットレートを取得することもできる。
【００５１】
シングルフレームの平均ビットレートは１フレームの平均ビットレートである。一実施例では、コンピュータ機器にはエンコーダが設置されてもよく、エンコーダによってビデオフレームを符号化する。エンコーダにはいずれも符号化パラメータが予め設定され、該符号化パラメータは１秒当たりのターゲットビットレート及びフレームレートを含み、該符号化パラメータは更にシングルフレームの平均ビットレートを含んでもよい。一実施例では、エンコーダにはシングルフレームの平均ビットレートを予め設定してもよく、コンピュータ機器は予め設定されたシングルフレームの平均ビットレートを取得することができる。他の実施例では、エンコーダには１秒当たりのターゲットビットレート及びフレームレートを予め設定してもよく、コンピュータ機器は予め設定された１秒当たりのターゲットビットレート及びフレームレートを取得し、１秒当たりのターゲットビットレートをフレームレートで割って、シングルフレームの平均ビットレートを取得することができる。
【００５２】
一実施例では、コンピュータ機器は占める割合の平均値と予め設定された比率とのマッピング関係に基づき、占める割合の平均値にマッピングする予め設定された比率を前組のビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率として取得することができる。該比率が占める割合の平均値と負相関する。コンピュータ機器は該比率と取得されたシングルフレームの平均ビットレートとの積に基づき、前組のビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを取得することができる。
【００５３】
上記実施例では、占める割合に基づいて現在のビデオシーンが変化したことを確定する場合、各フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合の平均値に基づく。占める割合の平均値は画像同士の関連性の強さを示すことができ、占める割合の平均値がより小さい場合、静止シーンである場合が多く、画像同士の関連性がより強く、占める割合の平均値がより大きい場合、運動シーンである場合が多く、画像同士の関連性がより弱い。占める割合の平均値に基づいて、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定し、ターゲットビットレートが占める割合の平均値と負相関する。占める割合の平均値がより小さく、画像同士の関連性がより強い場合、フレーム間予測フレームに必要なビットレートがより低く、この時、ビデオ全体の圧縮効率を向上させるために、フレーム内符号化フレームのビットレートを増加させてもよいと理解される。占める割合の平均値がより大きく、画像同士の関連性がより弱い場合、フレーム間予測フレームに必要なビットレートがより高く、この時、フレーム内符号化フレームのビットレートを減少させてもよい。
【００５４】
一実施例では、ステップＳ２０２は、選択のターゲット数を取得することと、現在グループのビデオフレームシーケンスに近い順で、前の１グループのビデオフレームシーケンスから、選択のターゲット数を満たす連続したフレーム間予測フレームを選択することと、選択されたフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得することと、を含む。
【００５５】
選択のターゲット数はフレーム間予測フレームを選択すべきターゲット数である。一実施例では、選択のターゲット数は予め設定された選択数であってもよい。
【００５６】
他の実施例では、選択のターゲット数を取得することは、前の１グループのビデオフレームシーケンス内のフレーム間予測フレームの総数を確定することと、予め設定された選択数を取得することと、予め設定された選択総数及び確定された数のうちのより小さい値を選択のターゲット数とすることと、を含む。
【００５７】
前の１グループのビデオフレームシーケンス内のフレーム間予測フレームの総数は前の１グループのビデオフレームシーケンス内のすべてのフレーム間予測フレームの数の総和である。予め設定された選択数は予め設定された選択すべきフレーム間予測フレームの数である。
【００５８】
具体的に、コンピュータ機器は予め設定された選択総数及び確定された数のうちのより小さい値を確定し、確定されたより小さい値を選択のターゲット数とすることができる。該実施例におけるより小さい値の選択方式によって、現在グループのビデオフレームシーケンス内のフレーム間予測フレームの総数が予め設定された選択数より小さい場合の選択誤りという問題を防止することができ、システムの柔軟性と安定性を強化すると理解される。
【００５９】
上記実施例では、現在グループのビデオフレームシーケンスに近い順で、前の１グループのビデオフレームシーケンスから、選択のターゲット数を満たす連続したフレーム間予測フレームを選択することにより、選択されたフレーム間予測フレームの状態と現在グループのビデオフレームシーケンスのフレーム内符号化フレームとの関連性を強化し、現在のビデオシーンにおけるフレーム内符号化フレームに必要なターゲットビットレートをより正確に示すことができる。
【００６０】
一実施例では、占める割合の平均値に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率を確定することは、逓減の予め設定された区分関数における、占める割合の平均値に対応する区分を確定することと、確定された区分に対応する予め設定された比率を取得することと、取得された予め設定された比率を現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率とすることと、を含む。
【００６１】
区分関数は、独立変数の値の異なる区間に対して異なる対応法則がある関数である。対応法則は独立変数と従属変数との依存関係を示すことに用いられ、例えば、ｙ＝ｆ（ｘ）は変数ｙが変数ｘの関数であることを示し、ｆが変数ｙと変数ｘとの対応法則を示す。区分関数の独立変数は同じ値区間内に同じ対応法則を有し、異なる値区間の独立変数はそれぞれ異なる対応法則がある。区分関数は複数の限られた区分を含むことを理解することができる。区分関数の各区分は独立変数の値区間に基づいて分けられ、独立変数の同じ値区間が１つの区分に対応する。
【００６２】
逓減の予め設定された区分関数は予め設定された逓減の区分関数である。区分関数における独立変数の異なる値区間を比較し、比較結果がより大きな独立変数値区間の逓減の区分関数における対応区分に対応する関数値はより小さい。区分関数に対して、より大きな値区間における独立変数の任意値がより小さな値区間における独立変数の値より大きく、例えば、値区間１が０以上５％未満、値区間２が５％以上１０％未満である場合、値区間２が値区間１より大きく、値区間２における任意値がいずれも値区間１における独立変数の値より大きいと理解される。
【００６３】
具体的に、コンピュータ機器は予め設定された占める割合の平均値と予め設定された区分関数における各区分とのマッピング関数に基づき、予め設定された区分関数における、該占める割合の平均値に対応する区分を確定することができる。例えば、占める割合の平均値が８％である場合、予め設定された区分関数における第２区分に対応する。
【００６４】
更に、コンピュータ機器は確定された区分に対応する予め設定された比率を取得し、取得された予め設定された比率を現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率とすることができる。一実施例では、コンピュータ機器は予め設定された区分と予め設定された比率との対応関係を取得し、該区分に対応する予め設定された比率を取得することができる。例えば、第２区分に対応する予め設定された比率が５：１である。
【００６５】
他の実施例では、区分関数が区分的定数関数である。区分的定数関数の関数値が複数の定数であり、同じ値区間の独立変数が同じ定数関数値に対応し、異なる値区間の独立変数が異なる定数関数値に対応する。区分関数における独立変数の異なる値区間を比較し、比較結果がより大きな独立変数値区間の逓減の区分的定数関数における対応区分に対応する定数関数値はより小さいと理解される。本実施例では、区分的定数関数の各区分における定数関数値が該区分に対応する予め設定された比率である。
【００６６】
上記実施例では、ターゲットビットレートを迅速に確定するために、逓減の予め設定された区分関数における、占める割合の平均値に対応する区分を確定し、確定された区分に対応する予め設定された比率を取得し、取得された予め設定された比率を現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率とすることにより、複雑な計算をせずに、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率を迅速且つ正確に確定することができ、それによりビデオ符号化効率を向上させる。
【００６７】
図３に示すように、一実施例では、逓減の予め設定された区分関数における、占める割合の平均値に対応する区分を確定する（区分確定ステップと略称される）ことは、具体的に以下のステップを含む。
【００６８】
Ｓ３０２、複数の予め設定されたビットレート割当の占める割合閾値を取得する。
【００６９】
ビットレート割当の占める割合閾値は予め設定された、ビットレート割り当てを実現するための占める割合閾値である。説明すべきことは、ビットレート割当の占める割合閾値はフレーム内予測ブロックの占める割合閾値と同じ値を設定してもよいし、異なる値を設定してもよい。
【００７０】
一実施例では、複数の予め設定されたビットレート割当の占める割合閾値は、
【００７１】
【数２】
0006899448.tif 000003
【００７２】
であってもよく、ＴＨがビットレート割当の占める割合閾値を示す。
【００７３】
Ｓ３０４、占める割合の平均値を複数の予め設定されたビットレート割当の占める割合閾値とそれぞれ比較して、占める割合の平均値の所在するビットレート割当の占める割合閾値区間を確定する。
【００７４】
ビットレート割当の占める割合閾値区間は２つごとの大きさが隣接するビットレート割当の占める割合閾値で構成される区間である。異なるビットレート割当の占める割合閾値区間に含まれるビットレート割当の占める割合閾値が重複しないと理解される。１つの臨界位置にあるビットレート割当の占める割合閾値が１つのみのビットレート割当の占める割合閾値区間に含まれ、現在の１つのビットレート割当の占める割合閾値区間には該臨界位置にあるビットレート割当の占める割合閾値が含まれる場合、次のビットレート割当の占める割合閾値区間には該臨界位置にあるビットレート割当の占める割合閾値が含まれない。
【００７５】
例えば、５％（ＴＨ２）が１つの臨界位置にあるビットレート割当の占める割合閾値であり、ビットレート割当の占める割合閾値区間１が０以上５％未満である場合、ビットレート割当の占める割合閾値区間２は５％のビットレート割当の占める割合閾値を含み、ビットレート割当の占める割合閾値区間２が５以上１５％未満である。
【００７６】
以下、ステップＳ３０２における一実施例に示されるビットレート割当の占める割合閾値を例として占める割合の平均値の所在するビットレート割当の占める割合閾値区間を説明する。占める割合の平均値が３０％、ビットレート割当の占める割合閾値区間がそれぞれ０以上５％未満、５％以上１５％未満、１５％以上４０％未満、４０％以上１００％未満であると仮定する場合、占める割合の平均値３０％が１５％以上４０％未満のビットレート割当の占める割合閾値区間にある。
【００７７】
Ｓ３０６、複数のビットレート割当の占める割合閾値を関数のジャンプ点とする、逓減の予め設定された区分関数から、該ビットレート割当の占める割合閾値区間に対応する区分を確定する。
【００７８】
区分関数の関数のジャンプ点は区分関数を区分に分ける点である。大きさが隣接する２つの関数のジャンプ点の間は区分関数の１つの区分に対応する。
【００７９】
２つごとの大きさが隣接するビットレート割当の占める割合閾値で構成されたビットレート割当の占める割合閾値区間は複数のビットレート割当の占める割合閾値を関数のジャンプ点とする予め設定された区分関数に対応する各区分に対応し、つまり、予め設定された区分関数では１つのビットレート割当の占める割合閾値区間は対応する区分があると理解される。
【００８０】
一実施例では、２つごとの大きさが隣接するビットレート割当の占める割合閾値で構成されたビットレート割当の占める割合閾値区間は該区間を構成するビットレート割当の占める割合閾値を関数のジャンプ点として構成された区分に対応する。
【００８１】
具体的に、コンピュータ機器は複数の予め設定されたビットレート割当の占める割合閾値を関数のジャンプ点とする予め設定された区分関数を予め設定することができ、該予め設定された区分関数が逓減の区分関数である。コンピュータ機器は該ビットレート割当の占める割合閾値区間を構成するビットレート割当の占める割合閾値を取得し、取得されたビットレート割当の占める割合閾値を関数のジャンプ点として構成された区分を確定し、該ビットレート割当の占める割合閾値区間に対応する区分を取得することができる。
【００８２】
一実施例では、複数のビットレート割当の占める割合閾値を関数のジャンプ点とする、逓減の予め設定された区分関数は、
【００８３】
【数３】
0006899448.tif 000004
【００８４】
であり、Ｘが独立変数であり、Ｙが関数の従属変数であり、ＴＨがビットレート割当の占める割合閾値を示す。
【００８５】
以下、ステップＳ３０２における一実施例に示されるビットレート割当の占める割合閾値を例としてどのように区分を確定するかを説明する。確定された占める割合の平均値１５％の位置するビットレート割当の占める割合閾値区間が１５％以上４０％未満であると仮定する場合、該ビットレート割当の占める割合閾値区間に対応する区分が第３区分であり、該第３区分に対応する予め設定された比率（すなわち、関数値）が３である場合、予め設定された比率３を現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率とする。
【００８６】
上記実施例では、複数のビットレート割当の占める割合閾値を関数のジャンプ点とする、逓減の予め設定された区分関数を設定し、実際に計算するとき、ターゲットビットレートを迅速に取得するために、占める割合の平均値を複数のビットレート割当の占める割合閾値と比較すれば、対応するビットレート割当の占める割合閾値区間を確定でき、該区間に基づいて予め設定された区分関数における、対応する区分を迅速に確定することができ、更に現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率を迅速に確定することができ、それによりビデオ符号化効率を向上させる。
【００８７】
一実施例では、該方法は、更に、占める割合に基づいて現在のビデオシーンが変化していないことを確定する場合、前の１グループのビデオフレームシーケンス内のフレーム間予測フレームの平均量子化パラメータを取得することと、平均量子化パラメータ及び予め設定された量子化パラメータのオフセット量に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームの量子化パラメータを確定することと、量子化パラメータに基づき、フレーム内符号化フレームを符号化することと、を含む。
【００８８】
量子化パラメータ（Ｑｕａｎｔｉｚａｔｉｏｎ  ｐａｒａｍｅｔｅｒ）は空間詳細圧縮状況を示し、ＱＰがより小さい場合、多くの詳細が保存され、ＱＰが大きくなる場合、いくつかの詳細が紛失し、ビットレートが減少し、画像歪みが増加して品質が低下する。フレーム間予測フレームの平均量子化パラメータは前の１グループのビデオフレームシーケンス内の各フレーム間予測フレームの量子化パラメータの平均値を求めて取得した平均量子化パラメータである。量子化パラメータのオフセット量は量子化パラメータをオフセットすべき量である。
【００８９】
具体的に、コンピュータ機器は平均量子化パラメータから予め設定された量子化パラメータのオフセット量を引いて、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームの量子化パラメータを取得することができる。コンピュータ機器は該量子化パラメータに基づいてフレーム内符号化フレームを符号化することができる。
【００９０】
上記実施例では、現在のビデオシーンが変化していない場合、前の１グループのビデオフレームシーケンス内のフレーム間予測フレームの平均量子化パラメータがより正確な参照となり、従って、前の１グループのビデオフレームシーケンス内のフレーム間予測フレームの平均量子化パラメータ及び量子化パラメータのオフセット量に基づいて確定した現在グループのビデオフレームシーケンス内のフレーム内符号化フレームの量子化パラメータは現在のビデオビットレートのニーズを満たすことができ、それにより量子化パラメータに基づいてフレーム内符号化フレームを符号化し、ビデオ符号化品質を確保する。
【００９１】
図４に示すように、一実施例では、該方法は更にターゲットビットレートの確定ステップを含み、具体的に以下のステップを含む。
【００９２】
Ｓ４０２、占める割合に基づいて現在のビデオシーンが変化していないことを確定する場合、前の１グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのビットレートと、含まれるフレーム間予測フレームの平均ビットレートとの第１比率を確定する。
【００９３】
現在グループのビデオフレームシーケンスを符号化するとき、前の１グループのビデオフレームシーケンスの各ビデオフレームの符号化が既に完了し、符号化ビットレートが既に確定されたと理解される。コンピュータ機器は前の１グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのビットレート及び前の１グループのビデオフレームシーケンスに含まれるフレーム間予測フレームの平均ビットレートを取得し、含まれるフレーム内符号化フレームのビットレートを含まれるフレーム間予測フレームの平均ビットレートで割って第１比率を取得することができる。
【００９４】
Ｓ４０４、前の１グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームの量子化ステップサイズを、含まれるフレーム間予測フレームの平均量子化ステップサイズで割って、第２比率を取得する。
【００９５】
量子化は圧縮すべき画像のデータに対して一定の変換マッピングを行う過程である。量子化ステップサイズは入力された画像を量子化・逆量子化処理する際に関わる１つの要素である。量子化ステップサイズの大きさが量子化前の入力画像と量子化及び逆量子化後の出力画像との差分と正相関する。量子化ステップサイズが小さければ小さいほど、量子化及び逆量子化後の出力画像が量子化前の入力画像に接近する。つまり、量子化ステップサイズがビデオの圧縮品質に影響を与える。
【００９６】
現在グループのビデオフレームシーケンスを符号化するとき、前の１グループのビデオフレームシーケンスの各ビデオフレームの符号化が既に完了する場合、前の１グループのビデオフレームシーケンス内の各フレームの量子化ステップサイズが既に確定されたと理解される。コンピュータ機器は前の１グループのビデオフレームシーケンスに含まれるフレーム間予測フレームの量子化ステップサイズを取得して、各フレーム間予測フレームの平均量子化ステップサイズを求めることができる。コンピュータ機器は前の１グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームの量子化ステップサイズを取得し、含まれるフレーム内符号化フレームの量子化ステップサイズを、含まれるフレーム間予測フレームの平均量子化ステップサイズで割って、第２比率を取得することができる。
【００９７】
Ｓ４０６、第１比率と第２比率との積に基づき、現在グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのターゲットビットレートと、含まれるフレーム間予測フレームの平均ターゲットビットレートとのビットレート比率を取得する。
【００９８】
具体的に、コンピュータ機器は直接第１比率と第２比率との積を現在グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのターゲットビットレートと現在グループのビデオフレームシーケンスに含まれるフレーム間予測フレームの平均ターゲットビットレートとのビットレート比率とすることができる。コンピュータ機器は第１比率と第２比率との積を対応するビットレート比率調整係数に乗じて、現在グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのターゲットビットレートと現在グループのビデオフレームシーケンスに含まれるフレーム間予測フレームの平均ターゲットビットレートとのビットレート比率を取得することもできる。
【００９９】
Ｓ４０８、現在グループのビデオフレームシーケンスの総ターゲットビットレートを取得する。
【０１００】
コンピュータ機器に符号化パラメータが予め設定され、該符号化パラメータには１組のビデオフレームシーケンスの総ビットレートが含まれると理解される。コンピュータ機器は予め設定された総ビットレートを現在グループのビデオフレームシーケンスの総ターゲットビットレートとして取得することができる。
【０１０１】
Ｓ４１０、総ターゲットビットレート及びビットレート比率に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを取得する。
【０１０２】
ビットレート比率は現在グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのターゲットビットレートと含まれるフレーム間予測フレームの平均ターゲットビットレートとの比率であると理解される。
【０１０３】
具体的に、コンピュータ機器は現在グループのビデオフレームシーケンス内のフレーム間予測フレームの数を取得し、該数、総ターゲットビットレート及びビットレート比率に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを取得することができる。
【０１０４】
総ターゲットビットレートは現在グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのターゲットビットレートと含まれる各フレーム間予測フレームのターゲットビットレートとの和であると理解される。
【０１０５】
一実施例では、コンピュータ機器は、
【０１０６】
【数４】
0006899448.tif 000005
【０１０７】
公式に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを取得することができ、
ＣＴが現在グループのビデオフレームシーケンスの総ターゲットビットレートであり、ＣＩが現在グループのビデオフレームシーケンスのフレーム内符号化フレームのターゲットビットレートであり、ＣＪｉが現在グループのビデオフレームシーケンスの各フレーム間予測フレームのターゲットビットレートであり、ｎが現在グループのビデオフレームシーケンス内のフレーム間予測フレームの数であり、Ｒが現在グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのターゲットビットレートと、含まれるフレーム間予測フレームの平均ターゲットビットレートとのビットレート比率である。
【０１０８】
コンピュータ機器は取得された現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートに基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームを符号化することができると理解される。
【０１０９】
上記実施例では、現在のビデオシーンが変化していない場合、前の１グループのビデオフレームシーケンス内の各フレームのビットレート及び量子化ステップサイズがより正確な参照となり、従って、前の１グループのビデオフレームシーケンス内の各フレームのビットレート及び量子化ステップサイズに基づいて取得した現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートがより正確であり、それによりビデオ符号化品質を確保する。
【０１１０】
一実施例では、現在グループのビデオフレームシーケンスはビデオ通話アプリケーションにより取得されたビデオフレームシーケンスである。該方法は、更に、ビデオ通話アプリケーションによって符号化して得られた符号化ビデオストリームをビデオ通話相手側に送信して復号再生することを含む。
【０１１１】
ビデオリアルタイム通話を実現するために、コンピュータ機器にビデオ通話アプリケーションがインストールされると理解される。ビデオリアルタイム通話過程において、コンピュータ機器はビデオストリーム送信側として、ビデオ通話アプリケーションによってビデオフレームシーケンスをリアルタイムに収集して、収集されたビデオフレームシーケンスを符号化することができる。確定されたターゲットビットレートに基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームを符号化した後、コンピュータ機器はビデオ通話アプリケーションによって符号化して得られた符号化ビデオストリームをビデオ通話相手側に送信することができる。ビデオ通話相手側は少なくとも１つである。符号化ビデオストリームを受信したビデオ通話相手側は符号化ビデオストリームを復号して、復号後のビデオストリームを再生することができる。
【０１１２】
上記実施例では、コンピュータ機器はビデオ通話アプリケーションによって現在グループのビデオフレームシーケンスを取得して、前の１グループのビデオフレームシーケンス内のフレーム間予測フレームのフレーム内予測ブロックの占める割合によって現在グループのビデオフレームシーケンスのターゲットビットレートを確定して、これに応じて符号化する。コンピュータ機器はビデオ通話アプリケーションによって上記方法で符号化した符号化ビデオストリームをビデオ通話相手側に送信して復号再生することにより、ビデオリアルタイム通話の適応符号化機能を強化し、ビデオリアルタイム通話品質を向上させる。
【０１１３】
図５に示すように、一実施例では、他のビデオの符号化処理方法を提供し、該方法は具体的に以下のステップを含む。
【０１１４】
Ｓ５０２、前の１グループのビデオフレームシーケンス内のフレーム間予測フレームの総数を確定し、予め設定された選択数を取得する。
【０１１５】
Ｓ５０４、予め設定された選択数及び確定された総数のうちのより小さい値を選択のターゲット数とする。
【０１１６】
Ｓ５０６、現在グループのビデオフレームシーケンスに近い順で、前の１グループのビデオフレームシーケンスから、選択のターゲット数を満たす連続したフレーム間予測フレームを選択する。
【０１１７】
現在グループのビデオフレームシーケンスはビデオ通話アプリケーションにより取得されたビデオフレームシーケンスである。
【０１１８】
Ｓ５０８、フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得し、各占める割合の最大値と最小値を確定する。
【０１１９】
Ｓ５１０、複数の予め設定された、フレーム内予測ブロックの占める割合閾値を取得する。
【０１２０】
Ｓ５１２、最大値と最小値との間に少なくとも１つのフレーム内予測ブロックの占める割合閾値が存在する場合、現在のビデオシーンが変化したことを判断し、ステップＳ５１６に入る。
【０１２１】
Ｓ５１４、最大値と最小値が隣接する２つのフレーム内予測ブロックの占める割合閾値の間にある場合、現在のビデオシーンが変化していないことを判断し、ステップＳ５２６に入る。
【０１２２】
Ｓ５１６、各フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合の平均値を確定し、複数の予め設定されたビットレート割当の占める割合閾値を取得する。
【０１２３】
Ｓ５１８、占める割合の平均値を複数の予め設定されたビットレート割当の占める割合閾値とそれぞれ比較して、占める割合の平均値の所在するビットレート割当の占める割合閾値区間を確定する。
【０１２４】
Ｓ５２０、複数のビットレート割当の占める割合閾値を関数のジャンプ点とする、逓減の予め設定された区分関数から、ビットレート割当の占める割合閾値区間に対応する区分を確定する。
【０１２５】
Ｓ５２２、確定された区分に対応する予め設定された比率を取得し、取得された予め設定された比率を現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率とする。
比率が占める割合の平均値と負相関する。
【０１２６】
Ｓ５２４、シングルフレームの平均ビットレートを取得し、シングルフレームの平均ビットレート及び比率に基づき、フレーム内符号化フレームのターゲットビットレートを取得する。
【０１２７】
シングルフレームの平均ビットレートを取得することは、予め設定された１秒当たりのターゲットビットレートを取得することと、予め設定されたフレームレートを取得することと、１秒当たりのターゲットビットレートをフレームレートで割って、シングルフレームの平均ビットレートを取得することと、を含む。
【０１２８】
Ｓ５２６、前の１グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのビットレートと、含まれるフレーム間予測フレームの平均ビットレートとの第１比率を確定する。
【０１２９】
Ｓ５２８、前の１グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームの量子化ステップサイズを、含まれるフレーム間予測フレームの平均量子化ステップサイズで割って、第２比率を取得する。
【０１３０】
Ｓ５３０、第１比率と第２比率との積に基づき、現在グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのターゲットビットレートと、含まれるフレーム間予測フレームの平均ターゲットビットレートとのビットレート比率を取得する。
【０１３１】
Ｓ５３２、現在グループのビデオフレームシーケンスの総ターゲットビットレートを取得し、総ターゲットビットレート及びビットレート比率に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを取得する。
【０１３２】
Ｓ５３４、ターゲットビットレートに基づいてフレーム内符号化フレームを符号化し、ビデオ通話アプリケーションによって符号化して得られた符号化ビデオストリームをビデオ通話相手側に送信して復号再生する。
【０１３３】
上記ビデオの符号化処理方法において、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームを符号化するとき、選択された前の１グループのビデオフレームシーケンス内のフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合によって、現在のビデオシーンが変化したかどうかを判断する。現在のビデオシーンが変化したことを確定する場合、フレーム内予測ブロックの占める割合に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定する。フレーム内予測ブロックの占める割合は画像同士の関連性の強さを示すことができ、画像同士の関連性の強さを示すことのできるフレーム内予測ブロックの占める割合に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートの割り当てを確定することにより、現在のビデオシーンが変化したとき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートの割り当てをより正確にし、それにより適応符号化機能を向上させる。
【０１３４】
次に、占める割合に基づいて現在のビデオシーンが変化したことを確定する場合、各フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合の平均値に基づく。占める割合の平均値は画像同士の関連性の強さを示すことができ、占める割合の平均値がより小さい場合、静止シーンである場合が多く、画像同士の関連性がより強く、占める割合の平均値がより大きい場合、運動シーンである場合が多く、画像同士の関連性がより弱い。占める割合の平均値に基づいて、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定し、ターゲットビットレートが占める割合の平均値と負相関する。占める割合の平均値がより小さく、画像同士の関連性がより強い場合、フレーム間予測フレームに必要なビットレートがより低く、この時、ビデオ全体の圧縮効率を向上させるために、フレーム内符号化フレームのビットレートを増加させてもよいと理解される。占める割合の平均値がより大きく、画像同士の関連性がより弱い場合、フレーム間予測フレームに必要なビットレートがより高く、この時、フレーム内符号化フレームのビットレートを減少させてもよい。
【０１３５】
ついでに、ターゲットビットレートを迅速に確定するために、逓減の予め設定された区分関数における、占める割合の平均値に対応する区分を確定し、確定された区分に対応する予め設定された比率を取得し、取得された予め設定された比率を現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率とすることにより、複雑な計算をせずに、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率を迅速且つ正確に確定することができ、それによりビデオ符号化効率を向上させる。
【０１３６】
最後に、ビデオ通話アプリケーションによって現在グループのビデオフレームシーケンスを取得して、前の１グループのビデオフレームシーケンス内のフレーム間予測フレームのフレーム内予測ブロックの占める割合によって、現在グループのビデオフレームシーケンスのターゲットビットレートを確定して、これに応じて符号化する。コンピュータ機器はビデオ通話アプリケーションによって上記方法で符号化した符号化ビデオストリームをビデオ通話相手側に送信して復号再生することにより、ビデオリアルタイム通話の適応符号化機能を強化し、ビデオリアルタイム通話品質を向上させる。
【０１３７】
図６は一実施例におけるビデオの符号化処理方法の原理模式図である。図６に示すように、現在グループのＧＯＰ（すなわち、現在グループのビデオフレームシーケンス）及び前の１グループのＧＯＰ（前の１グループのビデオフレームシーケンス）がいずれもＩフレーム（すなわち、フレーム内符号化フレーム）及びＰ／Ｂフレーム（Ｐ／ＢフレームがＰフレーム及び／又はＢフレームを示し、Ｐフレーム及びＢフレームがいずれもフレーム間予測フレームであると理解される）で構成されたビデオフレームシーケンスである。
【０１３８】
コンピュータ機器は現在グループのＧＯＰに近い順で、前の１グループのＧＯＰからフレーム間予測フレームを選択し、図６に示すように、最も接近する２つのＰフレームを選択してもよい。各ＰフレームはＩｎｔｒａブロック（フレーム内予測ブロック）及びＩｎｔｅｒブロック（フレーム間予測ブロック）を含む。コンピュータ機器はそれぞれ選択された各ＰフレームにおけるＩｎｔｒａブロックの占める割合を確定し、Ｉｎｔｒａブロックの占める割合１及びＩｎｔｒａブロックの占める割合２を取得することができる。コンピュータ機器はＩｎｔｒａブロックの占める割合１及びＩｎｔｒａブロックの占める割合２をそれぞれ予め設定された複数のＴｈｒｅ（すなわち、Ｉｎｔｒａブロックの占める割合閾値）と比較することができる。比較結果が図６における第（１）状況であり、つまり、Ｉｎｔｒａブロックの占める割合１とＩｎｔｒａブロックの占める割合２との間にＴｈｒｅ４がある場合、現在のビデオシーンが変化したことを判断する。比較結果が図６における第（２）状況であり、つまり、Ｉｎｔｒａブロックの占める割合１及びＩｎｔｒａブロックの占める割合２が隣接するＴｈｒｅ４とＴｈｒｅ５との間にある場合、現在のビデオシーンが変化していないことを判断する。
【０１３９】
現在のビデオシーンが変化した状況に対して、コンピュータ機器はＩｎｔｒａブロックの占める割合１とＩｎｔｒａブロックの占める割合２との平均値を確定して、該平均値を予め設定された複数のＴＨ（すなわち、ビットレート割当の占める割合閾値）と比較することにより、該平均値の該複数のＴＨをジャンプ点とする、逓減の予め設定された区分関数Ｙにおける、対応する区分を確定することができる。大きさが隣接する２つのＴＨは該予め設定された区分関数の１つの区分に対応するため、平均値を予め設定された複数のＴＨと比較することにより、予め設定された区分関数における、該平均値に対応する区分を確定することができ、予め設定された区分関数における各区分はいずれも１つの対応する予め設定された比率があると理解される。図６に示すように、該平均値に対応するのがＴＨ４以上ＴＨ５未満の区分である場合、コンピュータ機器はＴＨ４以上ＴＨ５未満の区分に対応する予め設定された比率２を取得し、該予め設定された比率２を現在グループのＧＯＰのＩフレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率とすることができる。コンピュータ機器はシングルフレームの平均ビットレートを取得し、該比率と組み合わせて、現在グループのＧＯＰのＩフレームのターゲットビットレートを取得することができる。
【０１４０】
現在のビデオシーンが変化していない状況に対して、コンピュータ機器は前の１グループのＧＯＰのＩフレームのビットレートをＰ／Ｂフレームの平均ビットレートで割って、第１比率を取得して、前の１グループのＧＯＰのＩフレームの量子化ステップサイズをＰ／Ｂフレームの平均量子化ステップサイズで割って、第２比率を取得し、第１比率及び第２比率に基づき、現在グループのＧＯＰのＩフレームのターゲットビットレートとＰ／Ｂフレームのターゲットビットレートとの比率を取得することができる。コンピュータ機器は現在グループのＧＯＰの総ターゲットビットレートを取得して、現在グループのＧＯＰのＩフレームのターゲットビットレートとＰ／Ｂフレームのターゲットビットレートとの比率と組み合わせて、現在グループのＧＯＰのＩフレームのターゲットビットレートを取得することができる。
【０１４１】
コンピュータ機器は取得された現在グループのＧＯＰのＩフレームのターゲットビットレートに基づき、現在グループのＧＯＰのＩフレームを符号化することができる。
【０１４２】
一実施例では、コンピュータ機器を提供し、該コンピュータ機器の内部構造は図１０に示されてもよく、該コンピュータ機器はビデオの符号化処理装置を備え、ビデオの符号化処理装置には各モジュールが含まれ、各モジュールは全部又は一部がソフトウェア、ハードウェア又はそれらの組み合わせで実現されてもよい。
【０１４３】
図７に示すように、一実施例では、ビデオの符号化処理装置７００を提供し、該装置７００は占める割合取得モジュール７０２、ビデオシーン検出モジュール７０４、ターゲットビットレート確定モジュール７０６及び符号化モジュール７０８を備え、
占める割合取得モジュール７０２は、前の１グループのビデオフレームシーケンス内のフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得することに用いられる。
【０１４４】
ビデオシーン検出モジュール７０４は、占める割合に基づいて現在のビデオシーンが変化したかどうかを確定することに用いられる。
【０１４５】
ターゲットビットレート確定モジュール７０６は、ビデオシーン検出モジュール７０４が、現在のビデオシーンが変化したことを確定する場合、占める割合に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することに用いられる。
【０１４６】
符号化モジュール７０８は、ターゲットビットレートに基づいてフレーム内符号化フレームを符号化することに用いられる。
【０１４７】
一実施例では、選択されたフレーム間予測フレームは複数の連続したフレーム間予測フレームである。ターゲットビットレート確定モジュール７０６は、更に、占める割合に基づいて現在のビデオシーンが変化したことを確定する場合、各フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合の平均値を確定し、占める割合の平均値に基づいて、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することに用いられ、ターゲットビットレートが占める割合の平均値と負相関する。
【０１４８】
図８に示すように、一実施例では、占める割合取得モジュール７０２は、
選択のターゲット数を取得し、現在グループのビデオフレームシーケンスに近い順で、前の１グループのビデオフレームシーケンスから、選択のターゲット数を満たす連続したフレーム間予測フレームを選択するためのフレーム間予測フレーム選択モジュール７０２ａと、
フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得するための予測ブロック占める割合確定モジュール７０２ｂと、を備える。
【０１４９】
一実施例では、フレーム間予測フレーム選択モジュール７０２ａは、更に、前の１グループのビデオフレームシーケンス内のフレーム間予測フレームの総数を確定し、予め設定された選択数を取得し、予め設定された選択数及び確定された総数のうちのより小さい値を選択のターゲット数とすることに用いられる。
【０１５０】
一実施例では、選択されたフレーム間予測フレームは複数の連続したフレーム間予測フレームである。ビデオシーン検出モジュール７０４は、更に、各フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合の最大値と最小値を確定し、複数の予め設定された、フレーム内予測ブロックの占める割合閾値を取得し、最大値と最小値との間に少なくとも１つのフレーム内予測ブロックの占める割合閾値が存在する場合、現在のビデオシーンが変化したことを判断することに用いられる。
【０１５１】
一実施例では、ビデオシーン検出モジュール７０４は、更に、最大値と最小値が隣接する２つのフレーム内予測ブロックの占める割合閾値の間にあるかどうかを判断し、最大値と最小値が隣接する２つのフレーム内予測ブロックの占める割合閾値の間にある場合、現在のビデオシーンが変化していないことを判断することに用いられる。
【０１５２】
一実施例では、ターゲットビットレート確定モジュール７０６は、更に、占める割合の平均値に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率を確定し、比率が占める割合の平均値と負相関し、シングルフレームの平均ビットレートを取得し、シングルフレームの平均ビットレート及び比率に基づき、フレーム内符号化フレームのターゲットビットレートを取得することに用いられる。
【０１５３】
一実施例では、ターゲットビットレート確定モジュール７０６は、更に、逓減の予め設定された区分関数における、占める割合の平均値に対応する区分を確定し、確定された区分に対応する予め設定された比率を取得し、取得された予め設定された比率を現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率とすることに用いられる。
【０１５４】
一実施例では、ターゲットビットレート確定モジュール７０６は、更に、複数の予め設定されたビットレート割当の占める割合閾値を取得し、占める割合の平均値を複数の予め設定されたビットレート割当の占める割合閾値とそれぞれ比較して、占める割合の平均値の所在するビットレート割当の占める割合閾値区間を確定し、複数のビットレート割当の占める割合閾値を関数のジャンプ点とする、逓減の予め設定された区分関数から、ビットレート割当の占める割合閾値区間に対応する区分を確定することに用いられる。
【０１５５】
一実施例では、ターゲットビットレート確定モジュール７０６は、更に、予め設定された１秒当たりのターゲットビットレートを取得し、予め設定されたフレームレートを取得し、１秒当たりのターゲットビットレートをフレームレートで割って、シングルフレームの平均ビットレートを取得することに用いられる。
【０１５６】
一実施例では、ターゲットビットレート確定モジュール７０６は、更に、占める割合に基づいて現在のビデオシーンが変化していないことを確定する場合、前の１グループのビデオフレームシーケンス内のフレーム間予測フレームの平均量子化パラメータを取得し、平均量子化パラメータ及び予め設定された量子化パラメータのオフセット量に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームの量子化パラメータを確定し、量子化パラメータに基づき、フレーム内符号化フレームを符号化することに用いられる。
【０１５７】
一実施例では、ターゲットビットレート確定モジュール７０６は、更に、占める割合に基づいて現在のビデオシーンが変化していないことを確定する場合、前の１グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのビットレートと、含まれるフレーム間予測フレームの平均ビットレートとの第１比率を確定し、前の１グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームの量子化ステップサイズを、含まれるフレーム間予測フレームの平均量子化ステップサイズで割って、第２比率を取得し、第１比率と第２比率との積に基づき、現在グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのターゲットビットレートと、含まれるフレーム間予測フレームの平均ターゲットビットレートとのビットレート比率を取得し、現在グループのビデオフレームシーケンスの総ターゲットビットレートを取得し、総ターゲットビットレート及びビットレート比率に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを取得することに用いられる。
【０１５８】
図９に示すように、一実施例では、現在グループのビデオフレームシーケンスはビデオ通話アプリケーションにより取得されたビデオフレームシーケンスである。該装置は、更に、
ビデオ通話アプリケーションによって符号化して得られた符号化ビデオストリームをビデオ通話相手側に送信して復号再生するためのビデオストリーム送信モジュール７１０を備える。
【０１５９】
図１０は一実施例におけるコンピュータ機器のブロック図である。図１０に示すように、該コンピュータ機器は図１に示される第１端末１１０又は第２端末１２０であってもよい。該コンピュータ機器はシステムバスにより接続されるプロセッサ、メモリ、ネットワークインターフェース、ディスプレイ及び入力装置を備える。メモリは不揮発性記憶媒体及び内部メモリを含む。不揮発性記憶媒体は不揮発性可読記憶媒体であってもよい。該コンピュータ機器の不揮発性記憶媒体にオペレーティングシステム及びコンピュータ可読命令が記憶されてもよく、該コンピュータ可読命令が実行されるとき、プロセッサがビデオの符号化処理方法を実行する。該コンピュータ機器のプロセッサは計算及び制御能力を提供し、コンピュータ機器全体の動作をサポートすることに用いられる。該内部メモリにコンピュータ可読命令が記憶されてもよく、該コンピュータ可読命令がプロセッサにより実行されるとき、プロセッサがビデオの符号化処理方法を実行する。コンピュータ機器のネットワークインターフェースはネットワーク通信を行うことに用いられる。コンピュータ機器のディスプレイは液晶ディスプレイ又は電子インクディスプレイ等であってもよく、コンピュータ機器の入力装置はディスプレイに覆われるタッチ層であってもよいし、端末のハウジングに設置されるボタン、トラックボール又はタッチパッドであってもよく、更に外接されるキーボード、タッチパッド又はマウス等であってもよい。該コンピュータ機器はパーソナルコンピュータ、モバイル端末又は車載装置であってもよく、モバイル端末は携帯電話、タブレットＰＣ、パーソナルデジタルアシスタント又はウェアラブルデバイス等のうちの少なくとも１つを含む。
【０１６０】
当業者であれば、図１０に示される構造は本願案に関連する構造の一部のブロック図であって、本願案を用いたコンピュータ機器を制限するためのものではなく、具体的なコンピュータ機器は図中より多く又は少ない部材を備え、又はいくつかの部材を組み合わせ、又は異なる部材配置を有してもよいと理解される。
【０１６１】
一実施例では、本願に係るビデオの符号化処理装置はコンピュータ可読命令の形式で実現されてもよく、前記コンピュータ可読命令は図１０に示されるコンピュータ機器において実行されてもよく、前記コンピュータ機器の不揮発性記憶媒体には該ビデオの符号化処理装置を構成する各プログラムモジュール、例えば、図７に示される占める割合取得モジュール７０２、ビデオシーン検出モジュール７０４、ターゲットビットレート確定モジュール７０６及び符号化モジュール７０８が記憶されてもよい。各プログラムモジュールで構成されたコンピュータ可読命令は該コンピュータ機器に本明細書に説明される本願の各実施例のビデオの符号化処理方法におけるステップを実行させることに用いられ、例えば、コンピュータ機器は図７に示されるビデオの符号化処理装置７００における占める割合取得モジュール７０２によって前の１グループのビデオフレームシーケンス内のフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得することができる。コンピュータ機器はビデオシーン検出モジュール７０４によって占める割合に基づいて現在のビデオシーンが変化したかどうかを確定して、ターゲットビットレート確定モジュール７０６によって現在のビデオシーンが変化したことを確定する場合、占める割合に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することができる。コンピュータ機器は符号化モジュール７０８によってターゲットビットレートに基づいてフレーム内符号化フレームを符号化することができる。
【０１６２】
一実施例では、コンピュータ機器を提供し、メモリ及びプロセッサを備え、前記メモリにコンピュータ可読命令が記憶され、前記コンピュータ可読命令がプロセッサにより実行されるとき、前記プロセッサは、
前の１グループのビデオフレームシーケンス内のフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得し、
前記占める割合に基づいて現在のビデオシーンが変化したかどうかを確定し、変化したことを確定する場合、前記占める割合に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定し、
前記ターゲットビットレートに基づいて前記フレーム内符号化フレームを符号化するステップを実行する。
【０１６３】
一実施例では、選択された前記フレーム間予測フレームが複数の連続したフレーム間予測フレームであり、変化したことを確定する場合、前記占める割合に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することは、
前記占める割合に基づいて現在のビデオシーンが変化したことを確定する場合、
各前記フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合の平均値を確定することと、
前記占める割合の平均値に基づいて、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することと、を含み、前記ターゲットビットレートが前記占める割合の平均値と負相関する。
【０１６４】
一実施例では、前の１グループのビデオフレームシーケンス内のフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得することは、
選択のターゲット数を取得することと、
現在グループのビデオフレームシーケンスに近い順で、前記前の１グループのビデオフレームシーケンスから、前記選択のターゲット数を満たす連続したフレーム間予測フレームを選択することと、
前記フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得することと、を含む。
【０１６５】
一実施例では、選択のターゲット数を取得することは、
前の１グループのビデオフレームシーケンス内のフレーム間予測フレームの総数を確定することと、
予め設定された選択数を取得することと、
前記予め設定された選択数及び確定された前記総数のうちのより小さい値を選択のターゲット数とすることと、を含む。
【０１６６】
一実施例では、選択された前記フレーム間予測フレームが複数の連続したフレーム間予測フレームであり、前記占める割合に基づいて現在のビデオシーンが変化したかどうかを確定することは、
各前記フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合の最大値と最小値を確定することと、
複数の予め設定された、フレーム内予測ブロックの占める割合閾値を取得することと、
前記最大値と前記最小値との間に少なくとも１つの前記フレーム内予測ブロックの占める割合閾値が存在する場合、現在のビデオシーンが変化したことを判断することと、を含む。
【０１６７】
一実施例では、前記占める割合に基づいて現在のビデオシーンが変化したかどうかを確定することは、更に、
前記最大値と前記最小値が隣接する２つの前記フレーム内予測ブロックの占める割合閾値の間にあるかどうかを判断することと、
前記最大値と前記最小値が隣接する２つの前記フレーム内予測ブロックの占める割合閾値の間にある場合、現在のビデオシーンが変化していないことを判断することと、を含む。
【０１６８】
一実施例では、前記占める割合に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することは、
前記占める割合の平均値に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率を確定し、前記比率が前記占める割合の平均値と負相関することと、
シングルフレームの平均ビットレートを取得することと、
前記シングルフレームの平均ビットレート及び前記比率に基づき、前記フレーム内符号化フレームのターゲットビットレートを取得することと、を含む。
【０１６９】
一実施例では、前記占める割合の平均値に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率を確定することは、
逓減の予め設定された区分関数における、前記占める割合の平均値に対応する区分を確定することと、
確定された前記区分に対応する予め設定された比率を取得することと、
取得された前記予め設定された比率を現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率とすることと、を含む。
【０１７０】
一実施例では、逓減の予め設定された区分関数における、前記占める割合の平均値に対応する区分を確定することは、
複数の予め設定されたビットレート割当の占める割合閾値を取得することと、
前記占める割合の平均値を複数の予め設定されたビットレート割当の占める割合閾値とそれぞれ比較して、前記占める割合の平均値の所在するビットレート割当の占める割合閾値区間を確定することと、
複数の前記ビットレート割当の占める割合閾値を関数のジャンプ点とする、逓減の予め設定された区分関数から、前記ビットレート割当の占める割合閾値区間に対応する区分を確定することと、を含む。
【０１７１】
一実施例では、シングルフレームの平均ビットレートを取得することは、
予め設定された１秒当たりのターゲットビットレートを取得することと、
予め設定されたフレームレートを取得することと、
前記１秒当たりのターゲットビットレートを前記フレームレートで割って、シングルフレームの平均ビットレートを取得することと、を含む。
【０１７２】
一実施例では、前記コンピュータ可読命令によって、プロセッサは、更に、
前記占める割合に基づいて現在のビデオシーンが変化していないことを確定する場合、
前記前の１グループのビデオフレームシーケンス内のフレーム間予測フレームの平均量子化パラメータを取得し、
前記平均量子化パラメータ及び予め設定された量子化パラメータのオフセット量に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームの量子化パラメータを確定し、
前記量子化パラメータに基づき、前記フレーム内符号化フレームを符号化するステップを実行する。
【０１７３】
一実施例では、前記コンピュータ可読命令によって、プロセッサは、更に、
前記占める割合に基づいて現在のビデオシーンが変化していないことを確定する場合、
前記前の１グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのビットレートと、含まれるフレーム間予測フレームの平均ビットレートとの第１比率を確定し、
前記前の１グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームの量子化ステップサイズを、含まれるフレーム間予測フレームの平均量子化ステップサイズで割って、第２比率を取得し、
前記第１比率と前記第２比率との積に基づき、現在グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのターゲットビットレートと、含まれるフレーム間予測フレームの平均ターゲットビットレートとのビットレート比率を取得し、
前記現在グループのビデオフレームシーケンスの総ターゲットビットレートを取得し、
前記総ターゲットビットレート及び前記ビットレート比率に基づき、前記現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを取得するステップを実行する。
【０１７４】
一実施例では、前記現在グループのビデオフレームシーケンスがビデオ通話アプリケーションにより取得されたビデオフレームシーケンスであり、
前記コンピュータ可読命令によって、プロセッサは、更に、前記ビデオ通話アプリケーションによって符号化して得られた符号化ビデオストリームをビデオ通話相手側に送信して復号再生するステップを実行する。
【０１７５】
一実施例では、コンピュータ可読命令が記憶される記憶媒体を提供し、前記コンピュータ可読命令が１つ又は複数のプロセッサにより実行されるとき、１つ又は複数のプロセッサは、
前の１グループのビデオフレームシーケンス内のフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得し、
前記占める割合に基づいて現在のビデオシーンが変化したかどうかを確定し、変化したことを確定する場合、前記占める割合に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定し、
前記ターゲットビットレートに基づいて前記フレーム内符号化フレームを符号化するステップを実行する。
【０１７６】
一実施例では、選択された前記フレーム間予測フレームが複数の連続したフレーム間予測フレームであり、変化したことを確定する場合、前記占める割合に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することは、
前記占める割合に基づいて現在のビデオシーンが変化したことを確定する場合、
各前記フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合の平均値を確定することと、
前記占める割合の平均値に基づいて、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することと、を含み、前記ターゲットビットレートが前記占める割合の平均値と負相関する。
【０１７７】
一実施例では、前の１グループのビデオフレームシーケンス内のフレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得することは、
選択のターゲット数を取得することと、
現在グループのビデオフレームシーケンスに近い順で、前記前の１グループのビデオフレームシーケンスから、前記選択のターゲット数を満たす連続したフレーム間予測フレームを選択することと、
前記フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合を取得することと、を含む。
【０１７８】
一実施例では、選択のターゲット数を取得することは、
前の１グループのビデオフレームシーケンス内のフレーム間予測フレームの総数を確定することと、
予め設定された選択数を取得することと、
前記予め設定された選択数及び確定された前記総数のうちのより小さい値を選択のターゲット数とすることと、を含む。
【０１７９】
一実施例では、選択された前記フレーム間予測フレームが複数の連続したフレーム間予測フレームであり、前記占める割合に基づいて現在のビデオシーンが変化したかどうかを確定することは、
各前記フレーム間予測フレームにおけるフレーム内予測ブロックの占める割合の最大値と最小値を確定することと、
複数の予め設定された、フレーム内予測ブロックの占める割合閾値を取得することと、
前記最大値と前記最小値との間に少なくとも１つの前記フレーム内予測ブロックの占める割合閾値が存在する場合、現在のビデオシーンが変化したことを判断することと、を含む。
【０１８０】
一実施例では、前記占める割合に基づいて現在のビデオシーンが変化したかどうかを確定することは、更に、
前記最大値と前記最小値が隣接する２つの前記フレーム内予測ブロックの占める割合閾値の間にあるかどうかを判断することと、
前記最大値と前記最小値が隣接する２つの前記フレーム内予測ブロックの占める割合閾値の間にある場合、現在のビデオシーンが変化していないことを判断することと、を含む。
【０１８１】
一実施例では、前記占める割合に基づいて現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを確定することは、
前記占める割合の平均値に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率を確定し、前記比率が前記占める割合の平均値と負相関することと、
シングルフレームの平均ビットレートを取得することと、
前記シングルフレームの平均ビットレート及び前記比率に基づき、前記フレーム内符号化フレームのターゲットビットレートを取得することと、を含む。
【０１８２】
一実施例では、前記占める割合の平均値に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率を確定することは、
逓減の予め設定された区分関数における、前記占める割合の平均値に対応する区分を確定することと、
確定された前記区分に対応する予め設定された比率を取得することと、
取得された前記予め設定された比率を現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートとシングルフレームの平均ビットレートとの比率とすることと、を含む。
【０１８３】
一実施例では、逓減の予め設定された区分関数における、前記占める割合の平均値に対応する区分を確定することは、
複数の予め設定されたビットレート割当の占める割合閾値を取得することと、
前記占める割合の平均値を複数の予め設定されたビットレート割当の占める割合閾値とそれぞれ比較して、前記占める割合の平均値の所在するビットレート割当の占める割合閾値区間を確定することと、
複数の前記ビットレート割当の占める割合閾値を関数のジャンプ点とする、逓減の予め設定された区分関数から、前記ビットレート割当の占める割合閾値区間に対応する区分を確定することと、を含む。
【０１８４】
一実施例では、シングルフレームの平均ビットレートを取得することは、
予め設定された１秒当たりのターゲットビットレートを取得することと、
予め設定されたフレームレートを取得することと、
前記１秒当たりのターゲットビットレートを前記フレームレートで割って、シングルフレームの平均ビットレートを取得することと、を含む。
【０１８５】
一実施例では、前記コンピュータ可読命令によって、プロセッサは、更に、
前記占める割合に基づいて現在のビデオシーンが変化していないことを確定する場合、
前記前の１グループのビデオフレームシーケンス内のフレーム間予測フレームの平均量子化パラメータを取得し、
前記平均量子化パラメータ及び予め設定された量子化パラメータのオフセット量に基づき、現在グループのビデオフレームシーケンス内のフレーム内符号化フレームの量子化パラメータを確定し、
前記量子化パラメータに基づき、前記フレーム内符号化フレームを符号化するステップを実行する。
【０１８６】
一実施例では、前記コンピュータ可読命令によって、プロセッサは、更に、
前記占める割合に基づいて現在のビデオシーンが変化していないことを確定する場合、
前記前の１グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのビットレートと、含まれるフレーム間予測フレームの平均ビットレートとの第１比率を確定し、
前記前の１グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームの量子化ステップサイズを、含まれるフレーム間予測フレームの平均量子化ステップサイズで割って、第２比率を取得し、
前記第１比率と前記第２比率との積に基づき、現在グループのビデオフレームシーケンスに含まれるフレーム内符号化フレームのターゲットビットレートと、含まれるフレーム間予測フレームの平均ターゲットビットレートとのビットレート比率を取得し、
前記現在グループのビデオフレームシーケンスの総ターゲットビットレートを取得し、
前記総ターゲットビットレート及び前記ビットレート比率に基づき、前記現在グループのビデオフレームシーケンス内のフレーム内符号化フレームのターゲットビットレートを取得するステップを実行する。
【０１８７】
一実施例では、前記現在グループのビデオフレームシーケンスがビデオ通話アプリケーションにより取得されたビデオフレームシーケンスであり、
前記コンピュータ可読命令によって、プロセッサは、更に、前記ビデオ通話アプリケーションによって符号化して得られた符号化ビデオストリームをビデオ通話相手側に送信して復号再生するステップを実行する。
【０１８８】
本願の各実施例における各ステップは必ずステップの番号で示す順序に応じて順に実行されるわけではないと理解すべきである。本明細書に明確に説明しない限り、これらのステップの実行順序が制限されず、これらのステップが他の順序で実行されてもよい。且つ、各実施例では、少なくとも一部のステップは複数のサブステップ又は複数のステップを含んでもよく、これらのサブステップ又はステップが必ず同じ時刻に実行して完了するわけではなく、異なる時刻に実行されてもよく、これらのサブステップ又はステップの実行順序が必ず順に行われるわけではなく、他のステップ又は他のステップのサブステップ又はステップの少なくとも一部と順番又は交互に実行されてもよい。
【０１８９】
当業者であれば、上記実施例の方法における全部又は一部のプロセスの実現はコンピュータ可読命令が関連するハードウェアを命令することで完了してもよく、前記プログラムが不揮発性コンピュータ可読記憶媒体に記憶されてもよく、該プログラムは実行時、上記各方法の実施例のプロセスを含んでもよいと理解される。本願に係る各実施例に使用されるメモリ、記憶、データベース又は他の媒体のいかなる引用はいずれも不揮発性メモリ及び／又は揮発性メモリを含んでもよい。不揮発性メモリは読み出し専用メモリ（ＲＯＭ）、プログラム可能ＲＯＭ（ＰＲＯＭ）、消去可能プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラム可能ＲＯＭ（ＥＥＰＲＯＭ）又はフラッシュメモリを含んでもよい。揮発性メモリはランダムアクセスメモリ（ＲＡＭ）又は外部キャッシュメモリを含んでもよい。制限的ではなく、説明として、ＲＡＭは多くの形式で得られるものであり、例えばスタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲＳＤＲＡＭ）、拡張型ＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンク（Ｓｙｎｃｈｌｉｎｋ）ＤＲＡＭ（ＳＬＤＲＡＭ）、ラムバス（Ｒａｍｂｕｓ）ダイレクトＲＡＭ（ＲＤＲＡＭ）、ダイレクトラムバスダイナミックＲＡＭ（ＤＲＤＲＡＭ）及びラムバスダイナミックＲＡＭ（ＲＤＲＡＭ）等が挙げられる。
【０１９０】
以上の実施例の各技術的特徴を任意に組み合わせることができ、説明を簡潔にするために、上記実施例の各技術的特徴のすべての可能な組み合わせを説明しないが、これらの技術的特徴の組み合わせは矛盾しない限り、いずれも本明細書に記載する範囲に含まれるべきである。
【０１９１】
以上の実施例は本願のいくつかの実施形態を説明したが、その説明はより具体的且つ詳細であるが、本発明の保護範囲を制限するためのものではない。ただし、当業者であれば、本願の構想を逸脱せずに、更にいくつかの変形や改良を行うことができ、これらの変形や改良はいずれも本願の保護範囲に属すべきである。従って、本願の保護範囲は添付の特許請求の範囲に準じるべきである。
【符号の説明】
【０１９２】
１１０  第１端末１１０
１２０  第２端末
【図１】
0006899448.tif 000006
【図２】
0006899448.tif 000007
【図３】
0006899448.tif 000008
【図４】
0006899448.tif 000009
【図５】
0006899448.tif 000010
【図６】
0006899448.tif 000011
【図７】
0006899448.tif 000012
【図８】
0006899448.tif 000013
【図９】
0006899448.tif 000014
【図１０】
0006899448.tif 000015