(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-01
(54)【発明の名称】ビデオ符号化方法、装置と電子機器
(51)【国際特許分類】
H04N 19/115 20140101AFI20240325BHJP
H04N 19/14 20140101ALI20240325BHJP
H04N 19/146 20140101ALI20240325BHJP
H04N 19/172 20140101ALI20240325BHJP
H04N 19/152 20140101ALI20240325BHJP
【FI】
H04N19/115
H04N19/14
H04N19/146
H04N19/172
H04N19/152
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023564189
(86)(22)【出願日】2022-04-25
(85)【翻訳文提出日】2023-10-19
(86)【国際出願番号】 CN2022088950
(87)【国際公開番号】W WO2022228375
(87)【国際公開日】2022-11-03
(31)【優先権主張番号】202110454418.X
(32)【優先日】2021-04-26
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】517372494
【氏名又は名称】維沃移動通信有限公司
【氏名又は名称原語表記】VIVO MOBILE COMMUNICATION CO., LTD.
【住所又は居所原語表記】No.1, vivo Road, Chang’an, Dongguan,Guangdong 523863, China
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100180806
【氏名又は名称】三浦 剛
(74)【代理人】
【識別番号】100196601
【氏名又は名称】酒井 祐市
(72)【発明者】
【氏名】張 勇
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA01
5C159MC11
5C159ME01
5C159PP04
5C159TA60
5C159TB04
5C159TC10
5C159TC18
5C159TC38
5C159TC41
5C159TC52
5C159TD07
5C159UA02
5C159UA05
(57)【要約】
本出願は、ビデオ符号化方法、装置と電子機器を開示し、通信技術分野に属する。この方法は、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定することと、第二のビット数に基づいて、第一の画像を符号化することとを含み、ここで、第一の比は、第一の画像の予測符号化複雑度とMフレームの第二の画像の実際の符号化複雑度との比であり、第一の画像は、ターゲット画像群における符号化されていない第一のフレーム画像であり、Mフレームの第二の画像は、ターゲット画像群におけるすでに符号化された画像であり、第一のビット数は、ターゲット画像群における残りのビット数であり、第一の数は、ターゲット画像群における符号化されていない画像の数であり、Mは、1よりも大きい整数である。
【選択図】
図4
【特許請求の範囲】
【請求項1】
ビデオ符号化方法であって、
第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定することと、
前記第二のビット数に基づいて、前記第一の画像を符号化することとを含み、
ここで、前記第一の比は、前記第一の画像の予測符号化複雑度とMフレームの第二の画像の実際の符号化複雑度との比であり、前記第一の画像は、ターゲット画像群における符号化されていない第一のフレーム画像であり、前記Mフレームの第二の画像は、前記ターゲット画像群におけるすでに符号化された画像であり、前記第一のビット数は、前記ターゲット画像群における残りのビット数であり、前記第一の数は、前記ターゲット画像群における符号化されていない画像の数であり、Mは、1よりも大きい整数である、ビデオ符号化方法。
【請求項2】
前記の、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定することは、
前記第一の比によって、前記第一の比に対応する重み付けパラメータを決定することと、
前記重み付けパラメータ、前記第一のビット数と前記第一の数に基づいて、前記第一の画像を符号化する前記第二のビット数を決定することとを含む、請求項1に記載の方法。
【請求項3】
前記の、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定することは、
前記第一の比、前記第一のビット数、前記第一の数とターゲットパラメータに基づいて、前記第一の画像を符号化する前記第二のビット数を決定することを含み、
ここで、前記ターゲットパラメータは、バッファ領域の推定占有量と、前記バッファ領域の実際の占有量と、符号化フレームレートと、前記第一の画像を符号化する前の利用可能なチャネル伝送レートとを含む、請求項1又は2に記載の方法。
【請求項4】
前記の、前記第一の比、前記第一のビット数、前記第一の数とターゲットパラメータに基づいて、前記第一の画像を符号化する前記第二のビット数を決定することは、
前記第一の比、前記第一のビット数と前記第一の数に基づいて、第三のビット数を決定することと、
前記ターゲットパラメータに基づいて、第四のビット数を決定することと、
前記第三のビット数と前記第四のビット数とを重み付け加算し、前記第二のビット数を得ることとを含む、請求項3に記載の方法。
【請求項5】
前記の、前記第二のビット数に基づいて、前記第一の画像を符号化することは、
前記第二のビット数と前記第一の画像の予測符号化複雑度に基づいて、二次レート歪みモデルにより、前記第一の画像の量子化パラメータを決定し、前記量子化パラメータに従って、前記第一の画像を符号化することを含む、請求項1に記載の方法。
【請求項6】
前記の、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定する前に、前記方法は、
前記第一の画像の予測符号化複雑度と前記Mフレームの第二の画像の平均符号化複雑度に基づいて、前記第一の比を決定することをさらに含む、請求項1に記載の方法。
【請求項7】
ビデオ符号化装置であって、決定モジュールと符号化モジュールとを含み、
決定モジュールは、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定するために用いられ、
前記符号化モジュールは、前記決定モジュールにより決定された前記第二のビット数に基づいて、前記第一の画像を符号化するために用いられ、
ここで、前記第一の比は、前記第一の画像の予測符号化複雑度とMフレームの第二の画像の実際の符号化複雑度との比であり、前記第一の画像は、ターゲット画像群における符号化されていない第一のフレーム画像であり、前記Mフレームの第二の画像は、前記ターゲット画像群におけるすでに符号化された画像であり、前記第一のビット数は、前記ターゲット画像群における残りのビット数であり、前記第一の数は、前記ターゲット画像群における符号化されていない画像の数であり、Mは、1よりも大きい整数である、ビデオ符号化装置。
【請求項8】
前記決定モジュールは、具体的に前記第一の比によって、前記第一の比に対応する重み付けパラメータを決定し、且つ前記重み付けパラメータ、前記第一のビット数と前記第一の数に基づいて、前記第一の画像を符号化する前記第二のビット数を決定するために用いられる、請求項7に記載の装置。
【請求項9】
前記決定モジュールは、具体的に前記第一の比、前記第一のビット数、前記第一の数とターゲットパラメータに基づいて、前記第一の画像を符号化する前記第二のビット数を決定するために用いられ、ここで、前記ターゲットパラメータは、バッファ領域の推定占有量と、前記バッファ領域の実際の占有量と、符号化フレームレートと、前記第一の画像を符号化する前の利用可能なチャネル伝送レートとを含む、請求項7又は8に記載の装置。
【請求項10】
前記決定モジュールは、第一の決定サブモジュールと処理サブモジュールとを含み、
前記第一の決定サブモジュールは、前記第一の比、前記第一のビット数と前記第一の数に基づいて、第三のビット数を決定し、且つ前記ターゲットパラメータに基づいて、第四のビット数を決定するために用いられ、
前記処理サブモジュールは、前記第一の決定サブモジュールにより決定された前記第三のビット数と前記第四のビット数とを重み付け加算し、前記第二のビット数を得るために用いられる、請求項9に記載の装置。
【請求項11】
前記符号化モジュールは、第二の決定サブモジュールと符号化サブモジュールとを含み、
前記第二の決定サブモジュールは、前記第二のビット数と前記第一の画像の予測符号化複雑度に基づいて、二次レート歪みモデルにより、前記第一の画像の量子化パラメータを決定するために用いられ、
前記符号化サブモジュールは、前記第二の決定サブモジュールにより決定された前記量子化パラメータに従って、前記第一の画像を符号化するために用いられる、請求項7に記載の装置。
【請求項12】
前記決定モジュールはさらに、前記第一の比、前記第一のビット数と前記第一の数に基づいて、前記第一の画像を符号化する前記第二のビット数を決定する前に、前記第一の画像の予測符号化複雑度と前記Mフレームの第二の画像の平均符号化複雑度に基づいて、前記第一の比を決定するために用いられる、請求項7に記載の装置。
【請求項13】
プロセッサと、メモリと、前記メモリに記憶され、且つ前記プロセッサ上で運行できるプログラム又は命令とを含み、前記プログラム又は命令が前記プロセッサにより実行される時、請求項1から6のいずれか1項に記載のビデオ符号化方法のステップを実現する、電子機器。
【請求項14】
プログラム又は命令が記憶されており、前記プログラム又は命令がプロセッサにより実行される時、請求項1から6のいずれか1項に記載のビデオ符号化方法のステップを実現する、可読記憶媒体。
【請求項15】
少なくとも一つのプロセッサにより実行されて、請求項1から6のいずれか1項に記載のビデオ符号化方法を実現する、コンピュータソフトウェア製品。
【請求項16】
請求項1から6のいずれか1項に記載のビデオ符号化方法を実行するように構成される、電子機器。
【請求項17】
プロセッサと通信インターフェースとを含み、前記通信インターフェースは、前記プロセッサと結合され、前記プロセッサは、プログラム又は命令を運行し、請求項1から6のいずれか1項に記載のビデオ符号化方法を実現するために用いられる、チップ。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2021年04月26日に中国で提出された中国特許出願番号202110454418.Xの優先権を主張しており、同出願の内容のすべては、ここに参照として取り込まれる。
【0002】
本出願は、通信技術分野に属し、具体的にビデオ符号化方法、装置と電子機器に関する。
【背景技術】
【0003】
ビデオ符号化は、デジタルビデオに対するデータ圧縮方法であり、元のビデオ画像における冗長を除去し、記憶と伝送コストを節約し、且つ同等の符号化コードレート条件で、符号化後のビデオ画像の歪みをできる限り低減させ、符号化後のビデオの品質を向上させることを目標とする。
【0004】
現在、ビデオ符号化規格H.264/AVCにおけるJVT-G012コードレート制御アルゴリズムによってビデオを符号化することができる。JVT-G012コードレート制御アルゴリズムは、画像群GOP(Group of Pictures)レベル、フレームレベル、及びマクロブロックレベルの三レベルのコードレート制御を実現しており、制御機能は、比較的に全面的である。
【0005】
しかしながら、ビデオシーケンスにおける一つの画像群にPフレーム画像(即ち前方探索フレーム)が含まれない場合、JVT-G012コードレート制御アルゴリズムは、均等割り当ての方式でこの画像群におけるPフレーム画像にビット数を割り当て、即ちJVT-G012コードレート制御アルゴリズムは、ビット割り当てを行う時に、フレームレベルで符号化複雑度の問題を考慮しておらず、このようにGOP内部の各フレーム画像のピーク信号対雑音比(Peak Signal-to-Noise Ratio、PSNR)曲線を変動させ、それによってビデオシーケンス全体の平均ピーク信号対雑音比PSNRを低下させる可能性がある。このように、符号化後のビデオの品質が比較的悪いことを引き起こす。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本出願の実施例の目的は、フレームレベルで符号化複雑度を考慮しておらず、符号化後のビデオの平均ピーク信号対雑音比PSNRを低下させ、それによって符号化後のビデオの品質が比較的悪いことを引き起こすという問題を解決できるビデオ符号化方法、装置と電子機器を提供することである。
【課題を解決するための手段】
【0007】
第一の態様によれば、本出願の実施例は、ビデオ符号化方法を提供し、この方法は、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定することと、第二のビット数に基づいて、第一の画像を符号化することとを含み、ここで、第一の比は、第一の画像の予測符号化複雑度とMフレームの第二の画像の実際の符号化複雑度との比であり、第一の画像は、ターゲット画像群における符号化されていない第一のフレーム画像であり、このMフレームの第二の画像は、ターゲット画像群におけるすでに符号化された画像であり、第一のビット数は、ターゲット画像群における残りのビット数であり、第一の数は、ターゲット画像群における符号化されていない画像の数であり、Mは、1よりも大きい整数である。
【0008】
第二の態様によれば、本出願の実施例は、ビデオ符号化装置を提供し、この装置は、決定モジュールと符号化モジュールとを含み、決定モジュールは、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定するために用いられ、符号化モジュールは、決定モジュールにより決定された第二のビット数に基づいて、第一の画像を符号化するために用いられ、ここで、第一の比は、第一の画像の予測符号化複雑度とMフレームの第二の画像の実際の符号化複雑度との比であり、第一の画像は、ターゲット画像群における符号化されていない第一のフレーム画像であり、このMフレームの第二の画像は、ターゲット画像群におけるすでに符号化された画像であり、第一のビット数は、ターゲット画像群における残りのビット数であり、第一の数は、ターゲット画像群における符号化されていない画像の数であり、Mは、1よりも大きい整数である。
【0009】
第三の態様によれば、本出願の実施例は、電子機器を提供し、この電子機器は、プロセッサと、メモリと、前記メモリに記憶され、且つ前記プロセッサ上で運行できるプログラム又は命令とを含み、前記プログラム又は命令が前記プロセッサにより実行される時、第一の態様に記載の方法のステップを実現する。
【0010】
第四の態様によれば、本出願の実施例は、可読記憶媒体を提供し、前記可読記憶媒体上には、プログラム又は命令が記憶されており、前記プログラム又は命令がプロセッサにより実行される時、第一の態様に記載の方法のステップを実現する。
【0011】
第五の態様によれば、本出願の実施例は、チップを提供し、前記チップは、プロセッサと通信インターフェースとを含み、前記通信インターフェースは、前記プロセッサと結合され、前記プロセッサは、プログラム又は命令を運行し、第一の態様に記載の方法を実現するために用いられる。
【発明の効果】
【0012】
本出願の実施例では、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定し、且つ第二のビット数に基づいて、第一の画像を符号化することができ、ここで、第一の比は、第一の画像の予測符号化複雑度とMフレームの第二の画像の実際の符号化複雑度との比であり、第一の画像は、ターゲット画像群における符号化されていない第一のフレーム画像であり、Mフレームの第二の画像は、ターゲット画像群におけるすでに符号化された画像であり、第一のビット数は、ターゲット画像群における残りのビット数であり、第一の数は、ターゲット画像群における符号化されていない画像の数であり、Mは、1よりも大きい整数である。この方案によれば、第一の比は、第一の画像とターゲット画像群におけるすでに符号化されたMフレームの第二の画像との間の相対符号化複雑度を指示することができ、即ち本出願の実施例によるビデオ符号化方法は、ターゲット画像群における符号化されるべき画像とすでに符号化された画像との間の相対符号化複雑度、ターゲット画像群における残りのビット数とターゲット画像群における残りのフレーム数に基づいて、符号化されるべき画像にビット数を割り当てることができるため、ターゲット画像群における符号化複雑度の低い画像から符号化ビットを節約することを実現することができ、節約された符号化ビットを符号化複雑度の高い画像の符号化に用いることによって、平均符号化コードレートがターゲットコードレート(平均符号化コードレート)に近いことを維持する前提で、画像群における各フレーム画像PSNR曲線の変動を減小させることができ、さらに符号化後のビデオの品質を向上させることができる。
【図面の簡単な説明】
【0013】
【
図1】ビデオ符号化におけるコードレート制御の基本フレームワーク図である。
【
図3】コードレート制御アルゴリズムの一般的な構造図である。
【
図4】本出願の実施例によるビデオ符号化方法のフローチャートである。
【
図5】本出願の実施例によるビデオ符号化装置の概略図である。
【
図6】本出願の実施例による電子機器の概略図である。
【
図7】本出願の実施例による電子機器のハードウェア概略図である。
【発明を実施するための形態】
【0014】
以下は、本出願の実施例における図面を結び付けながら、本出願の実施例における技術案を明瞭に記述し、明らかに、記述された実施例は、本出願の一部の実施例であり、すべての実施例ではない。本出願における実施例に基づき、当業者により得られたすべての他の実施例は、いずれも本出願の保護範囲に属する。
【0015】
本出願の明細書と特許請求の範囲における用語である「第一」、「第二」などは、類似している対象を区別するものであり、特定の順序又は前後手順を記述するためのものではない。理解すべきこととして、このように使用される用語は、適切な場合に交換可能であり、それにより本出願の実施例は、ここで図示又は記述されたもの以外の順序で実施されることが可能である。且つ「第一」、「第二」などによって区別される対象は、一般的には同一種類であり、対象の個数を限定せず、例えば第一の対象は、一つであってもよく、複数であってもよい。なお、明細書及び請求項における「及び/又は」は、接続される対象のうちの少なくとも一つを表し、文字である「/」は、一般的には前後関連対象が「又は」の関係であることを表す。
【0016】
以下では、まず本出願の特許請求の範囲と明細書に関するいくつかの名詞又は用語について解釈して説明する。
【0017】
基本ユニットBU(basic unit、BU):一つ又は複数のマクロブロックMB(macro block、MB)の集合である。一つのBUに含まれるMB数は、1フレーム画像に含まれるMB数で割り切ることができるはずであり、例えばQCIFフォーマットのビデオシーケンスにおいて、1フレーム画像が99個のMBを含む場合、この画像の一つのBUには、99、33、11、9、3、1個のMBが含まれてもよく、それによってこの画像には、1、3、9、11、33、99つのBUが含まれてもよい。
【0018】
ここで分かるように、一つのBUは、一つのMB、一つのスライス、一つのフィールド又は1フレーム画像を含んでもよい。
【0019】
例示的に、一つの基本ユニットBUが少なくとも一つのマクロブロックからなることを例とする。一つの画像がa個のマクロブロックMBからなり、一つのBUがb個の連続するMBからなるとすると、c=a/bであり、ここで、cは、この画像に含まれるすべてのBUの数であり、且つa、b、cは、いずれも正の整数である。
【0020】
説明すべきこととして、一つの基本ユニットBU内のすべてのマクロブロックMBは、いずれも同一の量子化パラメータQPを用いて符号化する。一つのBUに含まれるMBの数が多いほど、このBUのサイズが大きくなり、このBUを符号化する計算複雑度が低くなり、制御精度も低くなることを表し、一つのBUに含まれるMBの数が少ないほど、このBUのサイズが小さくなり、このBUを符号化する計算複雑度が高くなり、制御精度が高くなることを表す。リアルタイムアプリケーションでは、一般的には比較的大きいサイズのBUが選択され、例えば画像の1ラインのすべてのMBを一つの基本ユニットBUとして構成し、又は1フレーム画像を一つの基本ユニットBUとする。
【0021】
トラフィック往復モデル:現在のフレーム画像に割り当てられるターゲットビット、即ち現在のフレーム画像に割り当てられるビット数を計算するために用いられる。
【0022】
【0023】
バッファ:バッファレジスタとも呼ばれ、外部機器(例えばエンコーダ)から送信されてきたデータを一時的に格納することによって、チャネル帯域幅によってこのデータを伝送することために用いられる。本発明の実施例におけるバッファ領域は、バッファのバッファ領域である。
【0024】
MAD線形予測モデル:ために用いられj-1番目のフレーム画像の実際のMADに基づいてj番目のフレーム画像のMADを予測し、又はj-1番目のフレーム画像における一つの基本ユニットのMADに基づいてj番目のフレーム画像における該当する位置の基本ユニットのMADを予測し、jは、1よりも大きい正の整数である。
【0025】
【0026】
【0027】
画像のMAD:現在のフレーム画像のYUV値(例えばY値)と現在のフレーム画像の1つ前のフレーム画像(Pフレーム画像又はIフレーム画像であるはず)のYUV値(例えばY値)との絶対平均差である。
【0028】
ここで、YUVのうちの「Y」は、輝度(Luminance又はLuma)を表し、「U」と「V」は、彩度又は濃度(Chrominance又はChroma)を表し、「U」と「V」は、画像の色及び飽和度を記述する役割を果たし、画像の彩度を指示するために用いられる。
【0029】
基本ユニットBUのMAD:一つのBUのYUV値と別のBUのYUV値との絶対平均差であり、ここで、この別のBUは、この一つのBUが位置する画像(例えばj番目のフレーム画像)の1つ前のフレーム画像(例えばj-1番目のフレーム画像)におけるBUであり、且つこの一つのBUのj番目のフレーム画像における座標情報は、この別のBUのj-1番目のフレーム画像における座標情報と同じであり、j番目のフレーム画像は、j-1番目のフレーム画像と同じ画像群に属し、jは、1よりも大きい整数である。
【0030】
以下では、図面を結び付けながら、具体的な実施例及びその応用シナリオによって本出願の実施例によるビデオ符号化方法を詳細に説明する。
【0031】
ビデオ信号伝送帯域幅は、一般的に一定の制限を受け、チャネル帯域幅と伝送遅延を満たす状況でビデオデータを効果的に伝送し、ビデオ業務の再生品質を保証するために、ビデオ符号化プロセスに対してコードレート制御を行う必要がある。コードレート制御とは、適切な符号化パラメータ、例えば量子化パラメータQPを選択し、この量子化パラメータに従ってこの量子化パラメータに対応する画像を符号化することにより、ビデオ信号の符号化後のビットレートが帯域幅の制限を満たすとともに、符号化歪みをできる限り小さくする。理解できるように、コードレート制御は、典型的なマルチ制約条件、マルチターゲットのレート歪み最適化問題であり、この問題は、ビデオ信号の総符号化ビット数がRc(制限ビット、又はターゲットビット)以下である条件で、総歪みが最小となるように、各符号化ユニットのために最適な符号化パラメータを決定するように記述されてもよく、具体的には、下記の式(3)で表されることができる。
【0032】
【0033】
ビデオシーケンスは、エンコーダによって符号化されることができ、符号化後の符号化ビットストリームは、一般的に通信チャネルを介して伝送される必要がある。実際の応用における通信チャネルは、ほとんどが一定のビットレートCBR(Constant Bitrate、CBR)チャネルであるが、エンコーダが出力する符号化コードストリームは、ほとんどが可変ビットレートVBR(Variable Bitrate、VBR)コードストリームであるため、CBRチャネルにおいてVBRコードストリームを効果的に伝送することを実現するために、エンコーダ出力部分に一つのバッファを設置してもよく、例えばこのビデオ符号化におけるコードレート制御の基本フレームワークを
図1に示す。
【0034】
図2に示すように、
図2は、バッファの概略図である。
図2におけるAは、ビデオエンコーダがバッファに出力する符号化ビットストリームを表し、Bsは、バッファのバッファ領域の大きさを表し、Bc(即ち
図2における充填領域)は、バッファのバッファ領域における送信すべきビット数であり、Cbは、チャネル帯域幅であり、Frは、符号化フレームレートであり、Cb/Frは、エンコーダが1フレーム画像を符号化する時間長内に、通信チャネルで伝送されるデータ量を表す。
【0035】
以下では、従来技術におけるコードレート制御アルゴリズムの原理を例示的に説明する。
【0036】
コードレート制御の目標は、限られた帯域幅でより良いビデオ品質を得ることである。この目標を達成するために、符号化ビット数をどのように割り当てるか、どのように割り当てられるビット数を効果的に利用して最適な符号化パラメータを推定するか、という二つの問題を解決する必要があり、言い換えれば、コードレート制御アルゴリズムは一般的に、ビット割り当てと量子化パラメータQP推定との2つのステップを含む。ここで、ビット割り当てとは、限られたリソースを画像群、フレーム及びマクロブロックなどの画像ユニットに割り当てることである。量子化パラメータ推定とは、画像ユニットに割り当てられたリソース(以下、リソース0と呼ばれ、即ちビット数)に基づいて、符号化後のビデオの歪みが最小となるように、このリソース0に対応する最適な符号化パラメータを推定することである。
【0037】
コードレート制御アルゴリズムは、一方では、符号化後のコードストリームが帯域制限チャネル(例えばCBRチャネル)上での伝送に適合することを要求し、他方では、限られたチャネル伝送帯域幅でより良いビデオ品質を得ることを要求する。ビデオ品質の良否を判断するには、一般的には2つの側面を考慮する必要があり、1つ目は、シーケンス全体のすべてのフレームの平均PSNRを確認することであり、平均PSNRがより良いビデオシーケンスの品質がより良く、2つ目は、ビデオシーケンス符号化過程におけるPSNR曲線の変化状況を確認することであり、より滑らかなPSNR曲線を持つビデオシーケンスの品質がより良い。
【0038】
従来のコードレート制御アルゴリズムでは、以上の二つの問題は、三つのプロファイルで研究され、この三つのプロファイルは、それぞれGOP層、フレーム層とBU層である。ビデオ符号化では、一般的にGOP単位で、「3層2ステップ」のコードレート制御を行い、
図3に示す。
【0039】
一つのGOPは、一般的にフレーム内予測符号化を採用する一つのIフレームから始まり、その後にフレーム間予測符号化を採用する若干のPフレーム及び/又はBフレームが続く。ここで、Iフレームは、GOPにおけるキーフレームであり、フレーム内圧縮に属し、Iフレームの画面は、完全にリザーブされ、Iフレームを復号化する時に本フレームデータのみで完了することができる。Pフレームは、前方探索フレームであり、差分フレーム又はフレーム間圧縮とも呼ばれ、Pフレームを符号化した後は、現在のフレームとIフレーム又は現在のフレームの前のPフレームとの差分情報を表し、Pフレームを復号化する時に、現在のフレームの前のPフレーム又はIフレームでキャッシュされた画面に本フレームで定義された符号化の差分情報を重畳し、現在のフレームの画面を再構成する必要がある。Bフレームは、双方向差分フレームであり、つまり、符号化後のBフレームは、本フレーム(即ち現在のフレーム)と前後フレームとの差分情報を記録し、言い換えれば、Bフレームを復号化するには、その前のキャッシュ画面を得るだけでなく、その後の画面を復号化する必要もあり、前後フレームと本フレームの符号化データによって本フレーム画像を再構成する。
【0040】
上述から分かるように、Iフレームの符号化によって発生したデータ量は、Pフレームの符号化とBフレームの符号化によって発生したデータ量よりもはるかに大きいため、Iフレームを符号化した後に、バッファの占有量Bcは、比較的高いレベルに達し、且つこの占有量Bcは、Iフレームの後のPフレームとBフレームを符号化する過程において徐々に低下していき、一つのGOPにおける画像の符号化が完了した後に、バッファ占有量は、このGOPを符号化する前のレベルに回復することができる。
【0041】
実際の実現では、GOP層からBU層まで、コードレート制御アルゴリズムは、符号化リソースを上から下へ割り当て、利用可能な符号化ビット数に基づいて量子化パラメータQPを決定する。具体的には、
GOP層コードレート制御の主なタスクは、GOP全体に符号化ビット数を割り当てることであり、割り当ての根拠は、現在のGOPに含まれるフレーム数、エンコーダ出力バッファ領域の占有量とチャネル帯域幅である。そしてGOP開始IフレームのQPを計算する必要があり、IフレームQPを計算する過程は、フレーム内予測フレームとフレーム間予測フレームとの間に符号化リソースを割り当てる過程であり、JVT-G012では、各GOPのIフレームQPは、前のGOPにおけるすべてのPフレームの平均QPに基づいて計算されたものであり、一番目のGOPに対して、経験に基づいて一番目のGOPにおけるIフレームのためにQPを選択することができる。
【0042】
フレーム層コードレート制御は、ビデオ符号化における重要な一環であり、GOP層コードレート制御かBU層コードレート制御かにかかわらず、フレーム層コードレート制御を中心に行われる。フレーム層コードレート制御では、まずGOP内部の各Pフレームの間にターゲットビットの形式で符号化ビットを割り当て、そして割り当てられた符号化ビット数に基づいて現在のフレームのQPを推定する必要がある。
【0043】
GOP層コードレート制御とフレーム層コードレート制御の符号化ビット割り当てにおいて、IフレームQPと各Pフレームの符号化ビット数を設定する方式で、IフレームとPフレームとの間、異なるPフレーム間の符号化ビット数の割り当てを完了する。フレーム層コードレート制御のQP計算とBU層コードレート制御では、主なタスクは、フレーム内の各MBに適切なQPを設定することにより、符号化されて発生した実際のビット数とターゲットビット数とを一致させることである。
【0044】
以下では、H.264/AVCビデオ符号化に推奨されるJVT-F086コードレート制御アルゴリズムとJVT-G012コードレート制御アルゴリズムを例として、従来技術のコードレート制御方法を例示的に説明する。
【0045】
JVT-F086コードレート制御アルゴリズムとJVT-G012コードレート制御アルゴリズム
I、JVT-F086コードレート制御アルゴリズムは、MPEG-2 TM5コードレートモデルをベースに、バッファ状態に応じてビット割り当てを行い、できる限りバッファがオーバーフローもアンダーフローもしないように保証する。JVT-F086コードレート制御アルゴリズムでは、まず1フレーム画像を符号化する前にこのフレーム画像の符号化に必要なビット数を推定する必要があり、そしてバッファのフィードバックに基づいて一つのQPを予め仮定し、このQPに従ってこのフレーム画像を符号化し、そして現在のフレーム画像の実際の符号化結果に基づいて、予め仮定されたQPを調整する必要があるかどうかを判断し、調整する必要がある場合、まずQPを調整し、調整後のQPに従ってこのフレーム画像を再符号化処理してもよく、即ちJVT-F086コードレート制御アルゴリズムでは、各フレーム画像を符号化する時、QPを再付与するかどうかを判断し、再付与されたQPに従ってこのフレーム画像を再符号化する必要があり、それによってJVT-F086の計算複雑度が比較的高い。同時に、JVT-F086コードレート制御アルゴリズムは、バッファの飽和度の方面からコードレートを制御し、それは、バッファに対する制御が比較的に良く、バッファ占有量の変化は、比較的に滑らかであるが、その符号化後のビデオ品質の変動は、比較的大きい。
【0046】
II、JVT-G012コードレート制御アルゴリズムは、MPEG-4 VM8コードレート制御アルゴリズムの構想を継承し、二次レート歪みモデルを流用し、ソース特徴に基づいてモデルパラメータをタイムリーに調整することができ、JVT-G012コードレート制御アルゴリズムの主要な技術は、トラフィック往復モデル、MAD線形予測モデルと二次レート歪みモデルなどを含む。JVT-G012コードレート制御アルゴリズムは、予めで定義されたビットレート、フレームレート、バッファ充足度とバッファ対象線に基づいて現在のフレームにターゲット符号化ビットを割り当て、そして線形トラッキング理論を利用して現在のフレーム画像のMADを予測し、最後に二次レート歪みモデルによって現在のフレーム画像のQPを計算する。JVT-G012コードレート制御アルゴリズムは、MADを予測する方法を利用してQPパラドックス問題を解決し、そしてJVT-F086コードレート制御アルゴリズムに比べて、符号化されるべき各フレーム画像を1回符号化するだけでよいため、JVT-G012コードレート制御アルゴリズムの計算複雑度が比較的低い。さらに、JVT-G012コードレート制御アルゴリズムは、GOP層、フレーム層、マクロブロック層の3段階のコードレート制御を実現しており、制御機能は、比較的に全面的である。
【0047】
以下では、JVT-G012コードレート制御アルゴリズムがGOP層、フレーム層とマクロブロック層の3段階のコードレート制御を実現する過程について詳細に説明する。
【0048】
【0049】
【0050】
【0051】
【0052】
ビデオシーケンスにおける一番目のGOPを除く他のGOPのIフレームと一番目のPフレームの初期量子化パラメータは、下記の式(7)によって計算されることができる。
【0053】
【0054】
フレーム層コードレート制御
フレーム層コードレート制御は、符号化前段階と符号化後段階との二つの段階を含む。
【0055】
(一)、符号化前段階
本段階の主なタスクは、PフレームとBフレームを含むすべての符号化フレームのために量子化パラメータを計算することである。Bフレームは、一般的に参照フレームとして使用されないため、そのQPは、隣接フレームのQPから簡単な線形補間によって得られるが、Pフレームは、後続のフレームの参照フレームとなり、そのQPの値は、正確に計算して得られる。そのため、異なるフレームの量子化パラメータの計算方法をそれぞれ考慮する必要がある。
【0056】
【0057】
【0058】
【0059】
b、E>1時、即ち隣接する二つのPフレームの間に一つ以上のBフレームが存在する場合、Bフレームの量子化パラメータの計算式は、式(9)となる。
【0060】
【0061】
【0062】
【0063】
【0064】
【0065】
【0066】
【0067】
【0068】
【0069】
【0070】
【0071】
【0072】
【0073】
【0074】
【0075】
【0076】
(二)、符号化後段階
この段階の主なタスクは、線形予測モデルにおけるパラメータの更新、二次レート歪みモデルにおけるパラメータの更新、及びスキップフレーム数の決定の3つのタスクがある。
【0077】
【0078】
【0079】
【0080】
バッファの占有量は、下記の式(22)によって計算されることができる。
【0081】
【0082】
以上をまとめ、上記の式(12)~式(17)から分かるように、一つのGOPにBフレームが存在しない場合、JVT-G012コードレート制御アルゴリズムは、ビット割り当てを行う時に、フレームレベルで各Pフレームの間の符号化複雑度を考慮しない。つまり、同一GOPにおける各Pフレームの符号化複雑度が同じであり、各Pフレームに符号化リソースを均等に割り当てるとする。しかし、実際のビデオシーケンスにおいて、各フレームの符号化複雑度は、各フレームに含まれる運動の幅と量によって変化し、均等割り当てポリシーを採用することは、GOP内部の各フレームのPSNR曲線の変動を引き起こすだけでなく、シーケンス全体の平均PSNRの低下を引き起こし、ビデオ符号化全体の品質を低減させた。
【0083】
コードレート制御では、制御対象の符号化複雑度を正確に推定することは、合理的かつ効果的にリソース割り当てを行う基礎である。JVT-G012では、同一GOPにおける各Pフレームの符号化複雑度が同じであり、各Pフレームに符号化リソースを均等に割り当てるとする。一方、実際のビデオにおいて、ビデオにおける各フレーム画像の符号化複雑度は、各フレーム画像に含まれる運動の幅と量によって変化し、均等割り当てのポリシーを採用することは、圧縮後のビデオ品質の変動を引き起こす。以上の問題に対して、出願の実施例は、符号化複雑度に基づくビデオ符号化方法を提案し、JVT-G012方法におけるフレーム層コードレート制御において、Pフレームのビット数を計算するステップを最適化した。
【0084】
具体的には、本出願の実施例によるビデオ符号化方法は、符号化されるべきビデオの一つの画像群GOP内で、符号化複雑度に基づいてフレーム層のビット割り当てを行い、複雑度の低いフレーム符号化から符号化ビットを節約し、それを複雑度の高いフレーム符号化に用いることにより、例えば平均符号化コードレートがターゲットコードレートに近いことを維持する前提で、画像群における各フレーム画像PSNR曲線の変動を減小させることができ、それによって符号化後のビデオの品質を向上させることができる。
【0085】
ビデオシーケンスにおける各フレーム画像の符号化後の画面品質が互いにさらに近くなるようにするために、符号化複雑度に基づいて各フレーム画像に適切な符号化ビット数を割り当てる必要があり、このようなビット数の割り当ては、一般的に各GOP内部で行われる。同一GOPにおける異なる画像間でビット割り当てを行い、画像の間の符号化相対複雑度を知り、符号化相対複雑度に基づいて一つの重み付けパラメータを計算してJVT-G012フレーム層コードレート制御で均等割り当てポリシーを用いて割り当てたビット数を修正する必要がある。
【0086】
本出願の実施例は、ビデオ符号化方法を提供し、
図4に示すように、この方法は、下記のステップ101とステップ102とを含んでもよい。以下では、ビデオ符号化装置を実行本体とすることを例としてこの方法を例示的に説明する。
【0087】
ステップ101、ビデオ符号化装置は、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定する。
【0088】
ステップ102、ビデオ符号化装置は、第二のビット数に基づいて、第一の画像を符号化する。
【0089】
ここで、第一の比は、第一の画像の予測符号化複雑度とMフレームの第二の画像の実際の符号化複雑度との比である。第一の画像は、ターゲット画像群における符号化されていない第一のフレーム画像であり、上記Mフレームの第二の画像は、ターゲット画像群におけるすでに符号化された画像であり、第一のビット数は、ターゲット画像群における残りのビット数であり、第一の数は、ターゲット画像群における符号化されていない画像の数であり、Mは、1よりも大きい整数であってもよい。
【0090】
本出願の実施例では、第二のビット数は、ビデオ符号化装置が第一の画像に構成するビット数であり、即ち第二のビット数は、第一の画像のターゲットビット数である。
【0091】
本出願の実施例では、第一の比は、符号化されるべきとなる第一の画像のターゲット画像群におけるすでに符号化されたMフレームの第二の画像に対する相対符号化複雑度を表すために用いられてもよい。
【0092】
説明すべきこととして、第一の画像、M個の第二の画像と第一の数は、ターゲット画像群の符号化進捗に応じて決定される。
【0093】
例えば、ターゲット画像群が10フレーム画像を含み、それぞれ画像1、画像2、画像3、画像4、画像5、画像6、画像7、画像8、画像9と画像10であり、且つ画像3が直近に符号化された画像であるとすると、第一の画像は、画像4であり、このM(M=3)個の第二の画像は、画像1、画像2と画像3を含み、第一の数は、7である。且つ符号化画像4の符号化が完了した後に、画像5は、ターゲット画像群における符号化されていない第一のフレーム画像となり、それによってビデオ符号化装置は、画像5を新たな第一の画像とし、上記ステップ101とステップ102を再実行してもよく、画像10の符号化が完了するまで、これに基づき類推する。そして、ビデオ符号化装置は、次の画像群を符号化し続けてもよい。
【0094】
本出願の実施例によるビデオ符号化方法において、第一の比は、第一の画像とターゲット画像群におけるすでに符号化されたMフレームの第二の画像との間の相対符号化複雑度を指示することができ、即ち本出願の実施例によるビデオ符号化方法は、ターゲット画像群における符号化されるべき画像とすでに符号化された画像との間の相対符号化複雑度、ターゲット画像群における残りのビット数とターゲット画像群における残りのフレーム数に基づいて、符号化されるべき画像のビット数を決定できるため、ターゲット画像群における符号化複雑度の低い画像から符号化ビットを節約することを実現することができ、節約された符号化ビットを符号化複雑度の高い画像の符号化に用いることによって、例えば平均符号化コードレートがターゲットコードレート(平均符号化コードレート)に近いことを維持する前提で、画像群における各フレーム画像PSNR曲線の変動を減小させ、それによって符号化後のビデオの品質を向上させることができる。
【0095】
選択的に、本出願の実施例では、上記ステップ101は、具体的に下記のステップ101aとステップ101bによって実現されることができる。
【0096】
ステップ101a、ビデオ符号化装置は、第一の比によって、第一の比に対応する重み付けパラメータを決定する。
【0097】
【0098】
【0099】
選択的に、本出願の実施例では、上記式(23)におけるaとbは、定数であり、例えばa=1.1、b=3.5である。無論、実際の実現では、aとbは、他の値、例えばa=1.1±0.5、b=3.5±1であってもよい。
【0100】
【0101】
【0102】
理解できるように、Shigh値が大きすぎると、複雑度の高い画像は、符号化リソースを過度に使用して後続のフレームの符号化品質に影響を与え、Shigh値が小さすぎると、複雑度の高い画像に割り当てられる符号化リソースが制限され、その符号化品質の向上に影響を与える。Slow値が大きすぎると、複雑度の比較的低い画像を符号化する時のリソース節約に影響を与え、Slow値が小さすぎると、いくつかの画像は、割り当てられた符号化リソースが少な過ぎるため、符号化品質が大幅に低下する可能性がある。
【0103】
選択的に、本出願の実施例では、ShighとSlowの値は、定数であってもよく、例えばShigh=1.5、Slow=0.45であってもよい。
【0104】
ステップ101b、ビデオ符号化装置に基づいて重み付けパラメータ、第一のビット数と第一の数、第一の画像を符号化する第二のビット数を決定する。
【0105】
【0106】
【0107】
本出願の実施例では、まず第一の画像とターゲット画像群におけるすでに符号化された画像との相対符号化複雑度を表す第一の比に対応する重み付けパラメータを決定し、そしてこの重み付けパラメータ、残りのビット数と符号化されていない画像の数に基づいて、第一の画像を符号化するビット数を決定してもよく、即ち画像群における各フレーム画像の間の相対符号化複雑度に基づいて符号化画像のビット数を決定してもよいため、均等割り当ての方法で符号化画像のビット数を決定する方案と比べて、本出願の実施例によるビデオ符号化方法は、符号化後のフレーム間のビデオ品質の変動を比較的に良く抑制することができる。
【0108】
選択的に、本出願の実施例では、符号化されるべき画像(上記のような第一の画像)とすでに符号化された画像との間の相対符号化複雑度、残りのビット数、残りのフレーム数とバッファ状態に基づいて、符号化されるべき画像のビット数を決定してもよく、例えばバッファ占有量のオーバーフローとアンダーフローを回避することができる。
【0109】
選択的に、本出願の実施例では、上記ステップ101は、具体的に下記のステップ101cによって実現されることができる。
【0110】
ステップ101c、ビデオ符号化装置は、第一の比、第一のビット数、第一の数とターゲットパラメータに基づいて、第一の画像を符号化する第二のビット数を決定する。
【0111】
ここで、ターゲットパラメータは、バッファの推定占有量と、バッファ領域の実際の占有量と、符号化フレームレートと、第一の画像を符号化する前の利用可能なチャネル伝送レートとを含む。CBRチャネルに対して、各フレーム画像を符号化する前の利用可能なチャネル伝送レートは、同じである。
【0112】
本出願の実施例では、第一の比、第一のビット数、第一の数とターゲットパラメータに基づいて、第一の画像を符号化する第二のビット数を決定できるため、フレーム間の符号化品質の変動を抑制し、そしてバッファの占有量のオーバーフロー又はアンダーフローを回避することができる。このように符号化後のビデオの品質をさらに向上されることができる。
【0113】
選択的に、本出願の実施例では、上記ステップ101cは、具体的に下記のステップAとステップBによって実現されることができる。
【0114】
ステップA、ビデオ符号化装置は、第一の比、第一のビット数と第一の数に基づいて、第三のビット数を決定する。
【0115】
理解できるように、ステップAは、ターゲット画像群における画像の間の相対符号化複雑度に基づいて、第一の画像を符号化するビット数を決定する。
【0116】
本出願の実施例では、ビデオ符号化装置は、まず第一の比に基づいて、第一の比に対応する重み付けパラメータを決定し、そしてこの重み付けパラメータ、第一のビット数と第一の数に基づいて、第三のビット数を決定してもよく、上記式(25)を参照する。具体的には、ステップ101aとステップ101bの関連記述を参照することができ、繰り返しを回避するために、ここでこれ以上説明しない。
【0117】
ステップB、ビデオ符号化装置は、ターゲットパラメータに基づいて、第四のビット数を決定する。
【0118】
理解できるように、本出願の実施例では、第四のビット数は、エンコーダの占有量に基づいて第一の画像を符号化するビット数を決定するものである。
【0119】
【0120】
【0121】
ステップC、ビデオ符号化装置は、第三のビット数と第四のビット数とを重み付け加算し、第二のビット数を得る。
【0122】
【0123】
【0124】
本出願の実施例では、それぞれ相対符号化複雑度の角度から第一の画像を符号化する第三のビット数を決定し、且つバッファ占有量の角度から第一の画像を符号化する第四のビット数を決定し、第三のビット数と第四のビット数との重み値の和を、第一の画像を最終的に符号化するビット数としてもよいため、複雑度の高い画像の符号化後の品質を向上させることができるだけでなく、そしてターゲット画像群内部の各フレーム画像のPSNR曲線の平滑度を向上させ、PSNR曲線の変動を減少させることもでき、それによって符号化後のビデオシーケンス全体の平均PSNRを向上させることができる。このように符号化後のビデオの品質を向上させることができる。
【0125】
選択的に、本出願の実施例では、上記ステップ102は、具体的に下記のステップ102aとステップ102bによって実現されることができる。
【0126】
ステップ102a、ビデオ符号化装置は、第二のビット数と第一の画像の予測符号化複雑度に基づいて、二次レート歪みモデルにより、第一の画像の量子化パラメータ(以下、ターゲット量子化パラメータと呼ばれる)を決定する。
【0127】
ステップ102b、ビデオ符号化装置は、ターゲット量子化パラメータに従って、第一の画像を符号化する。
【0128】
選択的に、第一の画像の予測符号化複雑度は、第一の画像の予測MAD値によって表され、第一の画像の予測MAD値は、第一の画像の1つ前のフレーム画像(以下、第三の画像と呼ばれる)の実際のMAD値に基づいて、線形予測モデルによって予測され、そして第一の画像の予測符号化複雑度、第三の画像の実際の符号化複雑度に基づいて、二次レート歪みモデルにより、ターゲット量子化パラメータが予測される。
【0129】
【0130】
【0131】
【0132】
【0133】
【0134】
以下では、ビデオ符号化装置によるBU層コードレート制御の方法を例示的に説明する。
【0135】
画像群におけるIフレームとBフレームに対して、1フレーム画像内のすべてのマクロブロックMBは、いずれも同一の量子化パラメータを採用して符号化し、例えばいずれもこの画像の量子化パラメータを採用して符号化する。そのため、BU層のコードレート制御の主な対象は、画像群におけるPフレームである。
【0136】
画像群における各Pフレームに対して、まず一つのPフレームに割り当てられたビット数を、このPフレームにおける各BUに割り当てる必要がある。現在のPフレームにおける符号化されていない基本ユニットのMAD値(即ち符号化複雑度)が未知であるため、現在のPフレームに残っている利用可能なビット数を、現在のPフレームにおける符号化されていない基本ユニットに均等割り当てることができる。
【0137】
BU層コードレート制御アルゴリズムは、以下のような五ステップを含んでもよい。
【0138】
ステップ1、符号化されるべきBUのターゲットビット数、即ちこの符号化付きBUに割り当てられるビット数を計算する。
【0139】
【0140】
【0141】
【0142】
【0143】
【0144】
【0145】
ステップ5:算出された量子化パラメータに基づいて、c番目のBUにおけるすべてのマクロブロックに対してレート歪み最適化の符号化を行い、符号化完了後にi番目のフレーム画像の残りのビット数、MAD線形予測モデルのパラメータと二項式レート歪みモデルのパラメータを更新する。具体的には、上記実施例における関連記述を参照すればよい。
【0146】
選択的に、本出願の実施例では、上記ステップ101の前に、本出願の実施例によるビデオ符号化方法は、下記のステップ103をさらに含んでもよい。
【0147】
ステップ103、ビデオ符号化装置は、第一の画像の予測符号化複雑度とMフレームの第二の画像の平均符号化複雑度に基づいて、第一の比を決定する。
【0148】
【0149】
【0150】
【0151】
本出願の実施例では、1フレーム画像にビット数を割り当てる時に、この画像が位置するGOPにおけるすでに符号化された画像の平均符号化複雑度を参照すればよいため、同じGOPにおける画像の符号化後のビデオ品質が互いにさらに近くなることを確保することができ、それによって同じGOP内部の各フレーム画像のピーク信号対雑音比曲線の変動を減小させることができ、例えば符号化後のビデオの品質を向上させることができる。
【0152】
説明すべきこととして、本出願の実施例によるビデオ符号化方法では、実行本体は、ビデオ符号化装置、又はこのビデオ符号化装置におけるビデオ符号化方法を実行するための制御モジュールであってもよい。本出願の実施例では、ビデオ符号化装置によるビデオ符号化方法の実行を例とし、本出願の実施例によるビデオ符号化装置を説明する。
【0153】
図5は、本出願の実施例によるビデオ符号化装置を実現する可能な構造概略図であり、
図5に示すように、ビデオ符号化装置50は、決定モジュール51と符号化モジュール52とを含んでもよい。決定モジュール51、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定するために用いられてもよく、符号化モジュール52は、決定モジュール51により決定された第二のビット数に基づいて、第一の画像を符号化するために用いられてもよく、ここで、第一の比は、第一の画像の予測符号化複雑度とMフレームの第二の画像の実際の符号化複雑度との比であってもよく、第一の画像は、ターゲット画像群における符号化されていない第一のフレーム画像であり、このMフレームの第二の画像は、ターゲット画像群におけるすでに符号化された画像であり、第一のビット数は、ターゲット画像群における残りのビット数であり、第一の数は、ターゲット画像群における符号化されていない画像の数であり、Mは、1よりも大きい整数である。
【0154】
選択的に、本出願の実施例では、決定モジュール51は具体的に、第一の比によって、第一の比に対応する重み付けパラメータを決定し、重み付けパラメータ、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定するために用いられてもよい。
【0155】
選択的に、本出願の実施例では、決定モジュール51は具体的に、第一の比、第一のビット数、第一の数とターゲットパラメータに基づいて、第一の画像を符号化する第二のビット数を決定するために用いられてもよく、ここで、ターゲットパラメータは、バッファ領域の推定占有量と、バッファ領域の実際の占有量と、符号化フレームレートと、第一の画像を符号化する前の利用可能なチャネル伝送レートとを含む。
【0156】
選択的に、本出願の実施例では、上記決定モジュール51は、第一の決定サブモジュールと処理サブモジュールとを含んでもよく、第一の決定サブモジュールは、第一の比、第一のビット数と第一の数に基づいて、第三のビット数を決定し、ターゲットパラメータに基づいて、第四のビット数を決定するために用いられてもよく、処理サブモジュールは、第一の決定サブモジュールにより決定された第三のビット数と第四のビット数とを重み付け加算し、第二のビット数を得るために用いられてもよい。
【0157】
選択的に、本出願の実施例では、符号化モジュール52は、第二の決定サブモジュールと符号化サブモジュールとを含んでもよく、
第二の決定サブモジュールは、第二のビット数と第一の画像の予測符号化複雑度に基づいて、二次レート歪みモデルにより、第一の画像の量子化パラメータを決定するために用いられてもよく、
符号化サブモジュールは、第二の決定サブモジュールにより決定された量子化パラメータに従って、第一の画像を符号化するために用いられてもよい。
【0158】
選択的に、本出願の実施例では、決定モジュール51はさらに、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定する前に、第一の画像の予測符号化複雑度とMフレームの第二の画像の平均符号化複雑度に基づいて、第一の比を決定するために用いられてもよい。
【0159】
本出願の実施例によるビデオ符号化装置では、第一の比が第一の画像とターゲット画像群におけるすでに符号化されたMフレームの第二の画像との間の相対符号化複雑度を指示することができ、即ち本出願の実施例によるビデオ符号化方法は、ターゲット画像群における符号化されるべき画像とすでに符号化された画像との間の相対符号化複雑度、ターゲット画像群における残りのビット数とターゲット画像群における残りのフレーム数に基づいて、符号化されるべき画像のビット数を決定できるため、ターゲット画像群における符号化複雑度の低い画像から符号化ビットを節約することを実現することができ、節約された符号化ビットを符号化複雑度の高い画像の符号化に用いることによって、平均符号化コードレートがターゲットコードレート(平均符号化コードレート)に近いことを維持する前提で、画像群における各フレーム画像PSNR曲線の変動を減小させることができ、さらに符号化後のビデオの品質を向上させることができる。
【0160】
本実施例における様々な実現方式が有する有益な効果は、具体的に上記方法の実施例における該当する実現方式が有する有益な効果を参照することができ、説明の繰り返しを回避するために、ここでこれ以上説明しない。
【0161】
本出願の実施例におけるビデオ符号化装置は、装置であってもよく、端末における部材、集積回路、又はチップであってもよい。この装置は、移動電子機器であってもよく、非移動電子機器であってもよい。例示的には、移動電子機器は、携帯電話、タブレットパソコン、ノートパソコン、パームトップコンピュータ、車載電子機器、ウェアラブルデバイス、ウルトラモバイルパーソナルコンピュータ(ultra-mobile personal computer、UMPC)、ネットブック又はパーソナルデジタルアシスタント(personal digital assistant、PDA)などであってもよく、非移動電子機器は、ネットワーク接続型ストレージ(Network Attached Storage、NAS)、パーソナルコンピュータ(personal computer、PC)、テレビ(television、TV)、預入支払機又はセルフサービス機などであってもよく、本出願の実施例は、具体的に限定しない。
【0162】
本出願の実施例におけるビデオ符号化装置は、オペレーティングシステムを有する装置であってもよい。このオペレーティングシステムは、アンドロイド(登録商標)(Android(登録商標))オペレーティングシステムであってもよく、iosオペレーティングシステムであってもよく、他の可能なオペレーティングシステムであってもよく、本出願の実施例は、具体的に限定しない。
【0163】
本出願の実施例によるビデオ符号化装置は、
図1から
図4の方法の実施例により実現される各プロセスを実現することができ、説明の繰り返しを回避するために、ここでこれ以上説明しない。
【0164】
図6に示すように、本出願の実施例は、電子機器200をさらに提供し、プロセッサ202と、メモリ201と、メモリ201に記憶されており、且つプロセッサ202上で運行できるプログラム又は命令とを含み、このプログラム又は命令がプロセッサ202により実行される時、上記ビデオ符号化方法の実施例の各プロセスを実現し、且つ同じ技術的効果を達成することができる。説明の繰り返しを回避するために、ここでこれ以上説明しない。
【0165】
注意すべきこととして、本出願の実施例における電子機器は、以上に記載の移動電子機器と非移動電子機器を含む。
【0166】
図7は、本出願の実施例を実現する電子機器のハードウェア構造概略図である。
【0167】
図7に示すように、電子機器1000は、無線周波数ユニット1001、ネットワークモジュール1002、オーディオ出力ユニット1003、入力ユニット1004、センサ1005、表示ユニット1006、ユーザ入力ユニット1007、インターフェースユニット1008、メモリ1009、及びプロセッサ1010などの部材を含むが、それらに限らない。
【0168】
当業者であれば理解できるように、電子機器1000は、各部材に給電する電源(例えば、電池)をさらに含んでもよく、電源は、電源管理システムによってプロセッサ1010にロジック的に接続されてもよく、それにより電源管理システムによって充放電管理及び消費電力管理などの機能を実現することができる。
図7に示す電子機器構造は、電子機器に対する限定を構成せず、電子機器は、図示された部材の数よりも多く又は少ない部材、又はいくつかの部材の組み合わせ、又は異なる部材の配置を含んでもよく、ここでこれ以上説明しない。
【0169】
ここで、プロセッサ1010は、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定し、且つ第二のビット数に基づいて、第一の画像を符号化するために用いられてもよく、ここで、第一の比は、第一の画像の予測符号化複雑度とMフレームの第二の画像の実際の符号化複雑度との比であってもよく、第一の画像は、ターゲット画像群における符号化されていない第一のフレーム画像であり、このMフレームの第二の画像は、ターゲット画像群におけるすでに符号化された画像であり、第一のビット数は、ターゲット画像群における残りのビット数であり、第一の数は、ターゲット画像群における符号化されていない画像の数であり、Mは、1よりも大きい整数である。
【0170】
選択的に、本出願の実施例では、プロセッサ1010は具体的に、第一の比によって、第一の比に対応する重み付けパラメータを決定し、重み付けパラメータ、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定するために用いられてもよい。
【0171】
選択的に、本出願の実施例では、プロセッサ1010は具体的に、第一の比、第一のビット数、第一の数とターゲットパラメータに基づいて、第一の画像を符号化する第二のビット数を決定するために用いられてもよく、ここで、ターゲットパラメータは、バッファ領域の推定占有量と、バッファ領域の実際の占有量と、符号化フレームレートと、第一の画像を符号化する前の利用可能なチャネル伝送レートとを含む。
【0172】
選択的に、本出願の実施例では、プロセッサ1010は、第一の比、第一のビット数と第一の数に基づいて、第三のビット数を決定し、且つターゲットパラメータに基づいて、第四のビット数を決定し、第三のビット数と第四のビット数とを重み付け加算し、第二のビット数を得るために用いられてもよい。
【0173】
選択的に、本出願の実施例では、プロセッサ1010は、第二のビット数と第一の画像の予測符号化複雑度に基づいて、二次レート歪みモデルにより、第一の画像の量子化パラメータを決定し、且つこの量子化パラメータに従って、第一の画像を符号化するために用いられてもよい。
【0174】
選択的に、本出願の実施例では、プロセッサ1010はさらに、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定する前に、第一の画像の予測符号化複雑度とMフレームの第二の画像の平均符号化複雑度に基づいて、第一の比を決定するために用いられてもよい。
【0175】
本出願の実施例によるビデオ符号化装置では、第一の比が第一の画像とターゲット画像群におけるすでに符号化されたMフレームの第二の画像との間の相対符号化複雑度を指示することができ、即ち本出願の実施例によるビデオ符号化方法は、ターゲット画像群における符号化されるべき画像とすでに符号化された画像との間の相対符号化複雑度、ターゲット画像群における残りのビット数とターゲット画像群における残りのフレーム数に基づいて、符号化されるべき画像のビット数を決定できるため、ターゲット画像群における符号化複雑度の低い画像から符号化ビットを節約することを実現することができ、節約された符号化ビットを符号化複雑度の高い画像の符号化に用いることによって、平均符号化コードレートがターゲットコードレート(平均符号化コードレート)に近いことを維持する前提で、画像群における各フレーム画像PSNR曲線の変動を減小させることができ、さらに符号化後のビデオの品質を向上させることができる。
【0176】
本実施例における様々な実現方式が有する有益な効果は、具体的に上記方法の実施例における該当する実現方式が有する有益な効果を参照することができ、説明の繰り返しを回避するために、ここでこれ以上説明しない。
【0177】
理解すべきこととして、本出願の実施例では、入力ユニット1004は、グラフィックスプロセッサ(Graphics Processing Unit、GPU)10041とマイクロホン10042を含んでもよく、グラフィックスプロセッサ10041は、ビデオキャプチャモード又は画像キャプチャモードにおいて画像キャプチャ装置(例えば、カメラ)によって得られた静止画像又はビデオの画像データを処理する。表示ユニット1006は、表示パネル10061を含んでもよく、液晶ディスプレイ、有機発光ダイオードなどの形式で表示パネル10061が構成されてもよい。ユーザ入力ユニット1007は、タッチパネル10071及び他の入力機器10072を含む。タッチパネル10071は、タッチスクリーンとも呼ばれる。タッチパネル10071は、タッチ検出装置とタッチコントローラという二つの部分を含んでもよい。他の入力機器10072は、物理的キーボード、機能キー(例えば、音量制御ボタン、スイッチボタンなど)、トラックボール、マウス、操作レバーを含んでもよいが、それらに限らず、ここでこれ以上説明しない。メモリ1009は、ソフトウェアプログラム及び様々なデータを記憶するために用いられてもよく、アプリケーションプログラムとオペレーティングシステムとを含むが、それらに限らない。プロセッサ1010は、アプリケーションプロセッサとモデムプロセッサを統合してもよい。ここで、アプリケーションプロセッサは、主にオペレーティングシステム、ユーザインタフェース及びアプリケーションプログラムなどを処理するためのものであり、モデムプロセッサは、主に無線通信を処理するためのものである。理解できるように、上記モデムプロセッサは、プロセッサ1010に統合されなくてもよい。
【0178】
本出願の実施例は、可読記憶媒体をさらに提供し、前記可読記憶媒体上にはプログラム又は命令が記憶されており、このプログラム又は命令がプロセッサにより実行される時、上記ビデオ符号化方法の実施例の各プロセスを実現し、且つ同じ技術的効果を達成することができる。説明の繰り返しを回避するために、ここでこれ以上説明しない。
【0179】
ここで、前記プロセッサは、上記実施例に記載の電子機器におけるプロセッサである。前記可読記憶媒体は、コンピュータ可読記憶媒体、例えばコンピュータリードオンリーメモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁気ディスク又は光ディスクなどを含む。
【0180】
本出願の実施例は、チップをさらに提供し、前記チップは、プロセッサと通信インターフェースとを含み、前記通信インターフェースは、前記プロセッサと結合され、前記プロセッサは、プログラム又は命令を運行し、上記ビデオ符号化方法の実施例の各プロセスを実現するために用いられ、且つ同じ技術的効果を達成することができる。説明の繰り返しを回避するために、ここでこれ以上説明しない。
【0181】
理解すべきこととして、本出願の実施例に言及されたチップは、システムレベルチップ、システムチップ、チップシステム又はシステムオンチップなどと呼ばれてもよい。
【0182】
説明すべきこととして、本明細書では、用語である「含む」、「包含」又はその他の任意の変形は、非排他的な「含む」を意図的にカバーするものであり、それによって一連の要素を含むプロセス、方法、物品又は装置は、それらの要素を含むだけではなく、明確にリストアップされていない他の要素も含み、又はこのようなプロセス、方法、物品又は装置に固有の要素も含む。それ以上の制限がない場合に、「……を1つ含む」という文章で限定された要素について、この要素を含むプロセス、方法、物品又は装置には他の同じ要素も存在することが排除されるものではない。なお、指摘すべきこととして、本出願の実施の形態における方法と装置の範囲は、図示又は討論された順序で機能を実行することに限らず、関わる機能に基づいて基本的に同時である方式又は逆の順序で機能を実行することを含んでもよく、例えば記述されたものとは異なる手順で記述された方法を実行することができるとともに、様々なステップを追加、省略又は組み合わせることができる。また、いくつかの例を参照して記述された特徴は、他の例で組み合わせられることができる。
【0183】
以上の実施の形態の記述によって、当業者であればはっきりと分かるように上記実施例の方法は、ソフトウェアと必要な汎用ハードウェアプラットフォームの形態によって実現されることができる。無論、ハードウェアによって実現されてもよいが、多くの場合、前者は、より好適な実施の形態である。このような理解を踏まえて、本出願の技術案が実質には又は従来の技術に寄与した部分は、コンピュータソフトウェア製品の形式で具現化されてもよく、このコンピュータソフトウェア製品は、一つの記憶媒体(例えばROM/RAM、磁気ディスク、光ディスク)に記憶され、一台の端末(携帯電話、コンピュータ、サーバ、又はネットワーク機器などであってもよい)に本出願の各実施例に記載の方法を実行させるための若干の命令を含む。
【0184】
以上は、図面を結び付けながら、本出願の実施例を記述したが、本出願は、上記の具体的な実施の形態に限らない。上記の具体的な実施の形態は、例示的なものに過ぎず、制限性のあるものではない。当業者は、本出願の示唆で、本出願の趣旨と特許請求の範囲から逸脱しない限り、多くの形式を行うこともでき、いずれも本出願の保護範囲に属する。
【手続補正書】
【提出日】2023-10-19
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオ符号化方法であって、
第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定することと、
前記第二のビット数に基づいて、前記第一の画像を符号化することとを含み、
ここで、前記第一の比は、前記第一の画像の予測符号化複雑度とMフレームの第二の画像の実際の符号化複雑度との比であり、前記第一の画像は、ターゲット画像群における符号化されていない第一のフレーム画像であり、前記Mフレームの第二の画像は、前記ターゲット画像群におけるすでに符号化された画像であり、前記第一のビット数は、前記ターゲット画像群における残りのビット数であり、前記第一の数は、前記ターゲット画像群における符号化されていない画像の数であり、Mは、1よりも大きい整数である、ビデオ符号化方法。
【請求項2】
前記の、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定することは、
前記第一の比によって、前記第一の比に対応する重み付けパラメータを決定することと、
前記重み付けパラメータ、前記第一のビット数と前記第一の数に基づいて、前記第一の画像を符号化する前記第二のビット数を決定することとを含む、請求項1に記載の方法。
【請求項3】
前記の、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定することは、
前記第一の比、前記第一のビット数、前記第一の数とターゲットパラメータに基づいて、前記第一の画像を符号化する前記第二のビット数を決定することを含み、
ここで、前記ターゲットパラメータは、バッファ領域の推定占有量と、前記バッファ領域の実際の占有量と、符号化フレームレートと、前記第一の画像を符号化する前の利用可能なチャネル伝送レートとを含む、請求項
1に記載の方法。
【請求項4】
前記の、前記第一の比、前記第一のビット数、前記第一の数とターゲットパラメータに基づいて、前記第一の画像を符号化する前記第二のビット数を決定することは、
前記第一の比、前記第一のビット数と前記第一の数に基づいて、第三のビット数を決定することと、
前記ターゲットパラメータに基づいて、第四のビット数を決定することと、
前記第三のビット数と前記第四のビット数とを重み付け加算し、前記第二のビット数を得ることとを含む、請求項3に記載の方法。
【請求項5】
前記の、前記第二のビット数に基づいて、前記第一の画像を符号化することは、
前記第二のビット数と前記第一の画像の予測符号化複雑度に基づいて、二次レート歪みモデルにより、前記第一の画像の量子化パラメータを決定し、前記量子化パラメータに従って、前記第一の画像を符号化することを含む、請求項1に記載の方法。
【請求項6】
前記の、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定する前に、前記方法は、
前記第一の画像の予測符号化複雑度と前記Mフレームの第二の画像の平均符号化複雑度に基づいて、前記第一の比を決定することをさらに含む、請求項1に記載の方法。
【請求項7】
ビデオ符号化装置であって、決定モジュールと符号化モジュールとを含み、
決定モジュールは、第一の比、第一のビット数と第一の数に基づいて、第一の画像を符号化する第二のビット数を決定するために用いられ、
前記符号化モジュールは、前記決定モジュールにより決定された前記第二のビット数に基づいて、前記第一の画像を符号化するために用いられ、
ここで、前記第一の比は、前記第一の画像の予測符号化複雑度とMフレームの第二の画像の実際の符号化複雑度との比であり、前記第一の画像は、ターゲット画像群における符号化されていない第一のフレーム画像であり、前記Mフレームの第二の画像は、前記ターゲット画像群におけるすでに符号化された画像であり、前記第一のビット数は、前記ターゲット画像群における残りのビット数であり、前記第一の数は、前記ターゲット画像群における符号化されていない画像の数であり、Mは、1よりも大きい整数である、ビデオ符号化装置。
【請求項8】
前記決定モジュールは、具体的に前記第一の比によって、前記第一の比に対応する重み付けパラメータを決定し、且つ前記重み付けパラメータ、前記第一のビット数と前記第一の数に基づいて、前記第一の画像を符号化する前記第二のビット数を決定するために用いられる、請求項7に記載の装置。
【請求項9】
前記決定モジュールは、具体的に前記第一の比、前記第一のビット数、前記第一の数とターゲットパラメータに基づいて、前記第一の画像を符号化する前記第二のビット数を決定するために用いられ、ここで、前記ターゲットパラメータは、バッファ領域の推定占有量と、前記バッファ領域の実際の占有量と、符号化フレームレートと、前記第一の画像を符号化する前の利用可能なチャネル伝送レートとを含む、請求項
7に記載の装置。
【請求項10】
前記決定モジュールは、第一の決定サブモジュールと処理サブモジュールとを含み、
前記第一の決定サブモジュールは、前記第一の比、前記第一のビット数と前記第一の数に基づいて、第三のビット数を決定し、且つ前記ターゲットパラメータに基づいて、第四のビット数を決定するために用いられ、
前記処理サブモジュールは、前記第一の決定サブモジュールにより決定された前記第三のビット数と前記第四のビット数とを重み付け加算し、前記第二のビット数を得るために用いられる、請求項9に記載の装置。
【請求項11】
前記符号化モジュールは、第二の決定サブモジュールと符号化サブモジュールとを含み、
前記第二の決定サブモジュールは、前記第二のビット数と前記第一の画像の予測符号化複雑度に基づいて、二次レート歪みモデルにより、前記第一の画像の量子化パラメータを決定するために用いられ、
前記符号化サブモジュールは、前記第二の決定サブモジュールにより決定された前記量子化パラメータに従って、前記第一の画像を符号化するために用いられる、請求項7に記載の装置。
【請求項12】
前記決定モジュールはさらに、前記第一の比、前記第一のビット数と前記第一の数に基づいて、前記第一の画像を符号化する前記第二のビット数を決定する前に、前記第一の画像の予測符号化複雑度と前記Mフレームの第二の画像の平均符号化複雑度に基づいて、前記第一の比を決定するために用いられる、請求項7に記載の装置。
【請求項13】
プロセッサと、メモリと、前記メモリに記憶され、且つ前記プロセッサ上で運行できるプログラム又は命令とを含み、前記プログラム又は命令が前記プロセッサにより実行される時、請求項1から6のいずれか1項に記載のビデオ符号化方法のステップを実現する、電子機器。
【請求項14】
プログラム又は命令が記憶されており、前記プログラム又は命令がプロセッサにより実行される時、請求項1から6のいずれか1項に記載のビデオ符号化方法のステップを実現する、可読記憶媒体。
【請求項15】
少なくとも一つのプロセッサにより実行されて、請求項1から6のいずれか1項に記載のビデオ符号化方法を実現する、コンピュータソフトウェ
ア。
【国際調査報告】