(57)【特許請求の範囲】
【請求項１】
フレーム内予測方法であって、ビデオ符号化装置に応用され、
ターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定し、前記ターゲット符号化ブロックは、予測符号化待ちの符号化ブロックであり、
各画素主方向から設定値内にあるフレーム内予測方向をそれぞれサーチすることで、前記各画素主方向に対応してサーチされたフレーム内予測方向を取得し、
少なくとも前記各画素主方向に対応してサーチされたフレーム内予測方向と前記各画素主方向に基づいて候補フレーム内予測方向を形成し、
それぞれ各候補フレーム内予測方向に基づいて前記ターゲット符号化ブロックに対して予測符号化を行い、前記各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、前記各候補フレーム内予測方向からターゲットフレーム内予測方向を確定する、ことを含むフレーム内予測方法であって、
前記したターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定することは、
いずれかの参照符号化済みブロックについて、前記参照符号化済みブロックの各画素の方向をエッジ検出により判定し、前記参照符号化済みブロックにおける画素数が最も多い方向を、前記参照符号化済みブロックの画素主方向とすることを含み、
前記方法がさらに、
前記ターゲット符号化ブロックに接する上方の設定行の再構成画素の第１の平均値、および前記ターゲット符号化ブロックに接する左方の設定行の再構成画素の第２の平均値を確定し、
前記第１の平均値と前記第２の平均値との絶対誤差が第１の閾値よりも小さいかどうか、且つ前記各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも第１の設定フレーム内予測方向であるかどうかを判断し、
前記第１の平均値と前記第２の平均値との絶対誤差が前記第１の閾値よりも小さくなく、および／又は、前記各参照符号化済みブロックのターゲットフレーム内予測方向のいずれも前記第１の設定フレーム内予測方向でないと、前記したターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定するステップを実行するようにトリガーする、ことをさらに含む
フレーム内予測方法。
【請求項２】
前記した各画素主方向から設定値内にあるフレーム内予測方向をそれぞれサーチすることで、前記各画素主方向に対応してサーチされたフレーム内予測方向を取得することは、
いずれかの画素主方向について、前記画素主方向より設定値以内小さいフレーム内予測方向、及び前記画素主方向より設定値以内大きいフレーム内予測方向をサーチすることで、前記画素主方向に対応してサーチされたフレーム内予測方向を取得する、ことを含む請求項１に記載のフレーム内予測方法。
【請求項３】
前記方法は、
前記第１の平均値と前記第２の平均値との絶対誤差が前記第１の閾値よりも小さく、且つ、前記各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも前記第１の設定フレーム内予測方向であると、前記第１の設定フレーム内予測方向を前記ターゲット符号化ブロックのターゲットフレーム内予測方向とすることをさらに含む請求項１に記載のフレーム内予測方法。
【請求項４】
前記した少なくとも前記各画素主方向に対応してサーチされたフレーム内予測方向と前記各画素主方向に基づいて候補フレーム内予測方向を形成することは、
前記第１の平均値と前記第２の平均値との絶対誤差が第２の閾値よりも大きくなく、および／又は、前記各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも前記第１の設定フレーム内予測方向または第２の設定フレーム内予測方向であると、前記第１の設定フレーム内予測方向、前記第２の設定フレーム内予測方向、前記各画素主方向に対応してサーチされたフレーム内予測方向、および前記各画素主方向を、候補フレーム内予測方向として確定し、
前記第１の平均値と前記第２の平均値との絶対誤差が前記第２の閾値よりも大きく、且つ前記各参照符号化済みブロックのターゲットフレーム内予測方向のいずれも前記第１の設定フレーム内予測方向または前記第２の設定フレーム内予測方向でないと、前記各画素主方向に対応してサーチされたフレーム内予測方向と、前記各画素主方向とを候補フレーム内予測方向として確定する、ことを含む請求項１に記載のフレーム内予測方法。
【請求項５】
前記参照符号化済みブロックは、前記ターゲット符号化ブロックの上コーナーの左側に接する第１の符号化済みブロックと、前記ターゲット符号化ブロックの左コーナーの上側に接する第２の符号化済みブロックとを含む請求項１に記載のフレーム内予測方法。
【請求項６】
前記したそれぞれ各候補フレーム内予測方向に基づいて前記ターゲット符号化ブロックに対して予測符号化を行い、前記各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、前記各候補フレーム内予測方向からターゲットフレーム内予測方向を確定することは、
前記各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、前記各候補フレーム内予測方向に対応するレート歪みコストを確定し、
選択レート歪みコストが最小の候補フレーム内予測方向を、前記ターゲットフレーム内予測方向として選択する、ことを含む請求項１に記載のフレーム内予測方法。
【請求項７】
前記した前記各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、前記各候補フレーム内予測方向に対応するレート歪みコストを確定することは、
前記各候補フレーム内予測方向でターゲット符号化ブロックに対して予測符号化を行った後のフレーム内予測残差をそれぞれ確定することで、前記各候補フレーム内予測方向に対応するフレーム内予測残差を取得し、
それぞれ前記各候補フレーム内予測方向に対応するフレーム内予測残差に対して変換および量子化を行うことで、前記各候補フレーム内予測方向に対応する変換および量子化結果を取得し、
それぞれ前記各候補フレーム内予測方向に対応する変換および量子化結果に対して逆量子化および逆変換を行って、前記各候補フレーム内予測方向に対応するターゲット符号化ブロックの画素再構成値を取得し、
それぞれ前記各候補フレーム内予測方向に対応するターゲット符号化ブロックの画素再構成値と前記ターゲット符号化ブロックの画素オリジナル値に基づいて、前記各候補フレーム内予測方向に対応するレート歪みコストを確定する、ことを含む請求項６に記載のフレーム内予測方法。
【請求項８】
フレーム内予測装置であって、ビデオ符号化装置に応用され、
ターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定するための画素主方向確定モジュールであって、前記ターゲット符号化ブロックは、予測符号化待ち符号化ブロックであり、前記画素主方向確定モジュールが、いずれかの参照符号化済みブロックについて、前記参照符号化済みブロックの各画素の方向をエッジ検出により判定し、前記参照符号化済みブロックにおける画素数が最も多い方向を、前記参照符号化済みブロックの画素主方向とするものである、前記画素主方向確定モジュールと、
各画素主方向から設定値内にあるフレーム内予測方向をそれぞれサーチすることで、前記各画素主方向に対応してサーチされたフレーム内予測方向を取得するための予測方向サーチモジュールと、
少なくとも前記各画素主方向に対応してサーチされたフレーム内予測方向と前記各画素主方向に基づいて候補フレーム内予測方向を形成するための候補予測方向確定モジュールと、
それぞれ各候補フレーム内予測方向に基づいて、前記ターゲット符号化ブロックに対して予測符号化を行い、前記各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、前記各候補フレーム内予測方向からターゲットフレーム内予測方向を確定するためのターゲットフレーム内予測方向確定モジュールと、を含むフレーム内予測装置であって、
前記ターゲット符号化ブロックに接する上方の設定行の再構成画素の第１の平均値、および前記ターゲット符号化ブロックに接する左方の設定行の再構成画素の第２の平均値を確定するための画素平均値確定モジュールと、
前記第１の平均値と前記第２の平均値との絶対誤差が第１の閾値よりも小さいかどうか、且つ前記各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも第１の設定フレーム内予測方向であるかどうかを判断するための判断モジュールと、
前記判断モジュールによって前記第１の平均値と前記第２の平均値との絶対誤差が前記第１の閾値よりも小さくなく、および／又は、前記各参照符号化済みブロックのターゲットフレーム内予測方向のいずれも前記第１の設定フレーム内予測方向でないと判断されると、前記画素主方向確定モジュールをトリガーして、前記ターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定するステップを実行させるための第１の判断結果実行モジュールと、をさらに含む、
フレーム内予測装置。
【請求項９】
前記予測方向サーチモジュールは、各画素主方向から設定値内にあるフレーム内予測方向をそれぞれサーチすることで、前記各画素主方向に対応してサーチされたフレーム内予測方向を取得するためのものであり、具体的に、
いずれかの画素主方向について、前記画素主方向より設定値以内小さいフレーム内予測方向、および前記画素主方向より設定値以内大きいフレーム内予測方向をサーチすることで、前記画素主方向に対応してサーチされたフレーム内予測方向を取得することを含む請求項８に記載のフレーム内予測装置。
【請求項１０】
前記判断モジュールによって前記第１の平均値と前記第２の平均値との絶対誤差が前記第１の閾値よりも小さく、前記各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも前記第１の設定フレーム内予測方向であると判断されると、前記第１の設定フレーム内予測方向を前記ターゲット符号化ブロックのターゲットフレーム内予測方向とするための第２の判断結果実行モジュールをさらに含む請求項８に記載のフレーム内予測装置。
【請求項１１】
前記候補予測方向確定モジュールは、少なくとも前記各画素主方向に対応してサーチされたフレーム内予測方向と前記各画素主方向に基づいて候補フレーム内予測方向を形成するためのものであり、具体的に、
前記第１の平均値と前記第２の平均値との絶対誤差が第２の閾値よりも大きくなく、および／又は、前記各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも前記第１の設定フレーム内予測方向または第２の設定フレーム内予測方向であると、前記第１の設定フレーム内予測方向、前記第２の設定フレーム内予測方向、前記各画素主方向に対応してサーチされたフレーム内予測方向、および前記各画素主方向を、候補フレーム内予測方向として確定し、
前記第１の平均値と前記第２の平均値との絶対誤差が前記第２の閾値よりも大きく、且つ前記各参照符号化済みブロックのターゲットフレーム内予測方向のいずれも前記第１の設定フレーム内予測方向または前記第２の設定フレーム内予測方向でないと、前記各画素主方向に対応してサーチされたフレーム内予測方向と、前記各画素主方向とを、候補フレーム内予測方向として確定する、ことを含む請求項８に記載のフレーム内予測装置。
【請求項１２】
ビデオ符号化装置であって、情報を記憶するためのメモリと、プロセッサーとを含み、
前記プロセッサーは、前記メモリに接続され、前記メモリに記憶されているコンピュータプログラムを実行することにより、
ターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定し、
各画素主方向から設定値内にあるフレーム内予測方向をそれぞれサーチすることで、前記各画素主方向に対応してサーチされたフレーム内予測方向を取得し、
少なくとも前記各画素主方向に対応してサーチされたフレーム内予測方向と前記各画素主方向に基づいて候補フレーム内予測方向を形成し、
それぞれ各候補フレーム内予測方向に基づいて、前記ターゲット符号化ブロックに対して予測符号化を行い、前記各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、前記各候補フレーム内予測方向からターゲットフレーム内予測方向を確定する処理を実行することができるビデオ符号化装置であって、
いずれかの参照符号化済みブロックについて、前記参照符号化済みブロックの各画素の方向をエッジ検出により判定し、前記参照符号化済みブロックにおける画素数が最も多い方向を、前記参照符号化済みブロックの画素主方向とするものであり、
更に、前記ターゲット符号化ブロックに接する上方の設定行の再構成画素の第１の平均値、および前記ターゲット符号化ブロックに接する左方の設定行の再構成画素の第２の平均値を確定し、
前記第１の平均値と前記第２の平均値との絶対誤差が第１の閾値よりも小さいかどうか、且つ前記各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも第１の設定フレーム内予測方向であるかどうかを判断し、
前記第１の平均値と前記第２の平均値との絶対誤差が前記第１の閾値よりも小さくなく、および／又は、前記各参照符号化済みブロックのターゲットフレーム内予測方向のいずれも前記第１の設定フレーム内予測方向でないと、前記したターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定するステップを実行するようにトリガーする、
処理を実行することができるビデオ符号化装置。
【請求項１３】
記憶媒体であって、中央処理装置またはグラフィックスプロセッサによる実行に適するプログラムが記憶されており、前記プログラムは、請求項１〜７のいずれか一項に記載の方法を実行するためのものである記憶媒体。
【請求項１４】
コンピュータプログラムであって、コマンドを含み、コンピュータ上で実行される場合に、コンピュータに請求項１〜７のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１７年９月２８日に中国専利局に提出した、出願番号が２０１７１０９０１１９３.１であって、発明の名称が「フレーム内予測方法、装置、及び記憶媒体」である中国特許出願の優先権を主張し、本願で、その全ての内容を援用するものとする。
【０００２】
本開示は、ビデオ処理の技術分野に関し、具体的に、フレーム内予測技術に関する。
【背景技術】
【０００３】
フレーム内予測は、ビデオ符号化の一部であり、フレーム内予測によりビデオ符号化における空間的冗長情報を排除でき、ビデオ符号化効果が最適化され、フレーム内予測は、特に、Ｈ.２６４/ＡＶＣ、Ｈ.２６５/ＨＥＶＣ、ＡＶＳなどの混合符号化フレームワークのビデオ符号化に応用される。
【０００４】
フレーム内予測は、ターゲット符号化ブロックのターゲットフレーム内予測方向で、ターゲット符号化ブロックに対して予測符号化を行うプロセスである。ターゲット符号化ブロックに対してフレーム内予測を行う重要な内容は、多くのフレーム内予測方向から、ターゲット符号化ブロックの最適であるフレーム内予測方向を、ターゲットフレーム内予測方向として選択し、ターゲットフレーム内予測方向でターゲット符号化ブロックに対して最終の予測符号化を行い、つまり、ターゲットフレーム内予測方向は多くのフレーム内予測方向のうちのターゲット符号化ブロックにとって最適なフレーム内予測方向である。選択されたターゲットフレーム内予測方向を利用してターゲット符号化ブロックに対して予測符号化を行うことに加えて、選択されたターゲットフレーム内予測方向は、さらにビットストリームに書き込まれて、復号器に配信してターゲット符号化ブロックの復号化に用いることもできる。
【０００５】
現在のフレーム内予測の実現プロセスにおいて、ターゲットフレーム内予測方向の選択方式は、主に、まずすべてのフレーム内予測方向からフレーム内予測方向を粗く選択し、粗く選択されたフレーム内予測方向と、既に確定されたターゲット符号化ブロックの周りの符号化済みブロックのターゲットフレーム内予測方向とを、候補フレーム内予測方向とし、次に、候補フレーム内予測方向からターゲット符号化ブロックのターゲットフレーム内予測方向を細かく選択することである。このような方式は、ターゲットフレーム内予測方向の選択が複雑であるため、ビデオ符号化の複雑さが高くなり、ビデオ符号化のリアルタイム性要件を満たすことができないという問題がある。
【発明の概要】
【課題を解決するための手段】
【０００６】
これに鑑み、本開示の実施例は、フレーム内予測方法、装置、及び記憶媒体を提供し、ターゲットフレーム内予測方向の選択複雑さを低減することにより、ビデオ符号化の複雑さを低減させ、ビデオ符号化のリアルタイム性要件を満たすようにする。
【０００７】
上記の目的を実現するために、本開示の実施例は、以下の技術案を提供する。
フレーム内予測方法であって、ビデオ符号化装置に応用され、
予測符号化が行われる符号化ブロックであるターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定し、
各画素主方向から設定値内にあるフレーム内予測方向をそれぞれサーチすることで、前記各画素主方向に対応してサーチされたフレーム内予測方向を取得し、
少なくとも前記各画素主方向に対応してサーチされたフレーム内予測方向と前記各画素主方向に基づいて候補フレーム内予測方向を形成し、
それぞれ各候補フレーム内予測方向に基づいて前記ターゲット符号化ブロックに対して予測符号化を行い、前記各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、前記各候補フレーム内予測方向からターゲットフレーム内予測方向を確定する、ことを含むフレーム内予測方法。
【０００８】
本開示の実施例では、フレーム内予測装置であって、ビデオ符号化装置に応用され、
予測符号化待ち符号化ブロックであるターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定するための画素主方向確定モジュールと、
各画素主方向から設定値内にあるフレーム内予測方向をそれぞれサーチすることで、前記各画素主方向に対応してサーチされたフレーム内予測方向を取得するための予測方向サーチモジュールと、
少なくとも前記各画素主方向に対応してサーチされたフレーム内予測方向と前記各画素主方向に基づいて候補フレーム内予測方向を形成するための候補予測方向確定モジュールと、
それぞれ各候補フレーム内予測方向に基づいて、前記ターゲット符号化ブロックに対して予測符号化を行い、前記各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、前記各候補フレーム内予測方向からターゲットフレーム内予測方向を確定するためのターゲットフレーム内予測方向確定モジュールと、を含むフレーム内予測装置をさらに提供する。
【０００９】
本開示の実施例では、ビデオ符号化装置であって、情報を記憶するためのメモリと、プロセッサーとを含み、
前記プロセッサーは、前記メモリに接続され、前記メモリに記憶されているコンピュータプログラムを実行することにより、
ターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定し、
各画素主方向から設定値内にあるフレーム内予測方向をそれぞれサーチすることで、前記各画素主方向に対応してサーチされたフレーム内予測方向を取得し、
少なくとも前記各画素主方向に対応してサーチされたフレーム内予測方向と前記各画素主方向に基づいて候補フレーム内予測方向を形成し、
それぞれ各候補フレーム内予測方向に基づいて、前記ターゲット符号化ブロックに対して予測符号化を行い、前記各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、前記各候補フレーム内予測方向からターゲットフレーム内予測方向を確定する処理を実行することができるビデオ符号化装置をさらに提供する。
【００１０】
本開示の実施例では、記憶媒体であって、中央処理装置またはグラフィックスプロセッサによる実行に適するプログラムが記憶されており、前記プログラムは、前記フレーム内予測方法を実行するためのものである記憶媒体をさらに提供する。
【００１１】
本開示の実施例では、コンピュータプログラムであって、コマンドを含み、コンピュータ上で実行される場合に、コンピュータに前記フレーム内予測方法を実行させるコンピュータプログラムをさらに提供する。
【００１２】
上記技術案によれば、本開示の実施例では、ターゲット符号化ブロックに空間的に隣接する各参照符号化済みブロックの画素主方向に基づいて、各画素主方向から設定値内にあるフレーム内予測方向をサーチし、少なくとも各画素主方向に対応してサーチされたフレーム内予測方向と各画素主方向に基づいて候補フレーム内予測方向を生成することにより、各候補フレーム内予測方向に基づいて、それぞれターゲット符号化ブロックに対して予測符号化を行い、各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、各候補フレーム内予測方向からターゲットフレーム内予測方向を確定することができる。本開示の実施例では、少なくとも各画素主方向に対応してサーチされたフレーム内予測方向と各画素主方向に基づいて候補フレーム内予測方向を形成することができ、候補フレーム内予測方向の数を減らすとともに、ターゲットフレーム内予測方向が直接に確定された候補フレーム内予測方向に基づいて選択されるように制御し、すべてのフレーム内予測方向に基づいて粗く選択するプロセスを省略し、ターゲットフレーム内予測方向選択の処理複雑さが低減され、ビデオ符号化の全体の複雑さが低減され、ビデオ符号化のリアルタイム性が確保されるようにする。
【図面の簡単な説明】
【００１３】
本開示の実施例または従来技術における技術案をより明確に説明するために、以下で実施例または従来技術の記述において使用する必要がある図面を簡単に紹介し、もちろん、以下に記述の図面は本開示のいくつかの実施例に過ぎず、当業者にとって、創造的な労力をしない前提で、提供される図面に基づいて他の図面を得ることもできる。
【図１】すべてのフレーム内予測方向の概略図である。
【図２】本開示の実施例で提供されるフレーム内予測方法のフローチャートである。
【図３】参照符号化済みブロックの概略図である。
【図４】本開示の実施例で提供されるフレーム内予測方法の他のフローチャートである。
【図５】各候補フレーム内予測方向からターゲットフレーム内予測方向を確定する方法フローチャートである。
【図６】本開示の実施例で提供されるフレーム内予測方法の他のフローチャートである。
【図７】ターゲット符号化ブロックの上方の二行と左方の二行の再構成画素の平均値の概略図である。
【図８】本開示の実施例で提供されるフレーム内予測方法のさらに他のフローチャートである。
【図９】本開示の実施例で提供される応用例の流れ模式図である。
【図１０】本開示の実施例で提供される応用例の他の流れ模式図である。
【図１１】本開示の実施例で提供されるフレーム内予測装置の構造ブロック図である。
【図１２】本開示の実施例で提供されるフレーム内予測装置の他の構造ブロック図である。
【図１３】ビデオ符号化装置のハードウェア構造ブロック図である。
【発明を実施するための形態】
【００１４】
高効率ビデオ符号化 (Ｈｉｇｈ Ｅｆｆｉｃｉｅｎｃｙ Ｖｉｄｅｏ Ｃｏｄｉｎｇ、ＨＥＶＣ)方式のビデオ符号化を例に、現在、ＨＥＶＣは合計３５個のフレーム内予測方向を有し、図１に示すように、図１中の一つの数字番号は、一つのフレーム内予測方向を示し、従来技術では、ターゲット符号化ブロックに対してフレーム内予測を行う場合に、当該３５個のフレーム内予測方向でそれぞれターゲット符号化ブロックに対して予測符号化を行い、当該３５個のフレーム内予測方向から、ビデオ残差が最小のＮ(Ｎは３５よりも小さい整数であり、予め定義し得る)個のフレーム内予測方向を粗く選択し、当該Ｎ個のフレーム内予測方向を候補とするとともに、ターゲット符号化ブロックの周りの符号化済みブロックによって選択されたターゲットフレーム内予測方向も候補として追加し、さらに候補の各フレーム内予測方向のそれぞれでターゲット符号化ブロックに対して予測符号化を行い、候補からレート歪みコストが最小のフレーム内予測方向を、ターゲット符号化ブロックのターゲットフレーム内予測方向として選択する必要がある。
【００１５】
このように、現在、ＨＥＶＣを例とするフレーム内予測プロセスにおいて、まず、ビデオ残差を算出することで、すべての３５個のフレーム内予測方向を粗く選択し、次に、粗く選択されたフレーム内予測方向と、周りの符号化済みブロックによって選択されたターゲットフレーム内予測方向とを候補とし、候補からレート歪みコストを算出することで、ターゲット符号化ブロックのターゲットフレーム内予測方向を細かく選択する必要がある。このような方式は、ターゲット符号化ブロックに対して２段階のフレーム内予測を順に行う必要があり(即ち、一つ目の段階において、すべてのフレーム内予測方向でそれぞれターゲット符号化ブロックに対してフレーム内予測を行い、二つ目の階段において、候補のフレーム内予測方向でそれぞれターゲット符号化ブロックに対してフレーム内予測を行う)、現在、ターゲット符号化ブロックに対してターゲットフレーム内予測方向を選択するプロセスの複雑さが高く、ビデオ符号化の全体の複雑さが高くなり、ビデオ符号化のリアルタイム性に影響することが分かる。
【００１６】
従って、フレーム内予測方向を最適化し、候補のフレーム内予測方向の数を減らし、ターゲット符号化ブロックのターゲットフレーム内予測方向の選択を一つの階段のフレーム内予測のプロセスに制御することにより、ターゲットフレーム内予測方向の選択複雑さを低減させ、ビデオ符号化の全体の複雑さを低減させ、ビデオ符号化のリアルタイム性要件を確保することを考慮する。
【００１７】
これに基づいて、以下に、本開示の実施例における図面と組み合わせて、本開示の実施例における技術案を明確かつ十分に記述するが、明らかに、記述する実施例は本出願の一部の実施例に過ぎず、実施例の全てではない。本開示における実施例に基づいて、当業者が創造的な労力をしない前提で得られる全ての他の実施例は、本出願の保護する範囲に属する。
【００１８】
図２は、本開示の実施例で提供されるフレーム内予測方法のフローチャートであり、当該フレーム内予測方法はビデオ符号化装置に応用でき、ビデオ符号化装置は、ビデオ符号化能力を有するＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）またはＧＰＵ（Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）であってもよく、選択的に、ビデオ符号化装置は、携帯電話、ノートパソコンなどの端末として実現されてもよいし、サーバとして実現されてもよい。
【００１９】
図２を参照して、本開示の実施例で提供されるフレーム内予測方法は以下のステップを含むことができる。
【００２０】
ステップＳ１００において、ターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定する。
【００２１】
ターゲット符号化ブロックは、現在予測符号化を行う必要がある符号化ブロックであり、符号化済みブロックは、本開示の実施例で提供されるフレーム内予測方法を利用してターゲットフレーム内予測方向を確定し、確定されたターゲットフレーム内予測方向で予測符号化が行われた符号化ブロックである。
【００２２】
選択的に、符号化済みブロックは、再構成符号化ブロックとも呼ばれ、一つの符号化ブロックは、確定されたターゲットフレーム内予測方向を介して予測符号化が行われた後に符号化済みブロックになり、符号化済みブロックにおける画素は、処理再構成される。例えば、いずれかの符号化ブロックについて、本開示の実施例で提供されるフレーム内予測方法で当該符号化ブロックのターゲットフレーム内予測方向を確定し、当該符号化ブロックに対して予測符号化を行った後に、当該符号化ブロックのフレーム内予測残差を取得することができ、さらに当該フレーム内予測残差に対して変換および量子化を行い、次に逆量子化、逆変換を行うことで、当該符号化ブロックの再構成画素値を取得することができ、当該符号化ブロックは、ターゲットフレーム内予測方向を介して予測符号化が行われた後に、画素が再構成される。
【００２３】
選択的に、選択されたターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックは、ターゲット符号化ブロックに空間的に隣接し、且つターゲット符号化ブロックのコーナーに接する符号化済みブロックであってもよい。参照符号化済みブロックの符号化された情報に基づいて、本開示の実施例は、ターゲット符号化ブロックの候補フレーム内予測方向の確定を実現することができる。
【００２４】
選択的に、本開示の実施例は、ターゲット符号化ブロックの上コーナーの左側に接する第１の符号化済みブロックと、ターゲット符号化ブロックの左コーナーの上側に接する第２の符号化済みブロックとを、前記参照符号化済みブロックとして選択してもよく、図３に示すように、ターゲット符号化ブロックｃｕｒの上コーナーの左側に接する第１の符号化済みブロックＡと、ターゲット符号化ブロックｃｕｒの左コーナーの上側に接する第２の符号化済みブロックＢとを、選択されたターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックとして選択してもよい。
【００２５】
なお、図３に任意の例を示し、具体的な応用において、前記参照符号化済みブロックの数は１つまたは少なくとも２つであってもよく、図３に示す参照符号化済みブロックに限定されないことは言うまでもなく、例えば、図３に示す参照符号化済みブロックと、ターゲット符号化ブロックの他のコーナーに接する符号化済みブロックとを、選択の参照符号化済みブロックとしてもよく、具体的な方式について、実際の必要に応じて決定してもよい。
【００２６】
ターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックを選択した後に、前記参照符号化済みブロックにおける各参照符号化済みブロックの画素主方向を確定することができる。
【００２７】
選択的に、一つの参照符号化済みブロックについて、本開示の実施例では、当該参照符号化済みブロック各画素の方向を確定し、当該参照符号化済みブロックにおける画素数が最も多い方向を、当該参照符号化済みブロックの画素主方向としてもよく、このような方式で各参照符号化済みブロックを処理することで、各参照符号化済みブロックの画素主方向を得ることができる。
【００２８】
選択的に、一つの参照符号化済みブロックについて、本開示の実施例では、Ｓｏｂｅｌ演算子を利用して(Ｓｏｂｅｌアルゴリズムはソーベルの演算子とも呼ばれ、画素図像エッジ検出における最も重要な演算子の１つである)、当該参照符号化済みブロックの各画素の方向を確定してもよい。
【００２９】
ステップＳ１１０において、各画素主方向から設定値内にあるフレーム内予測方向をそれぞれサーチすることで、各画素主方向に対応してサーチされたフレーム内予測方向を取得する。
【００３０】
選択的に、各参照符号化済みブロックの画素主方向を確定した後に、各参照符号化済みブロックの画素主方向(即ち、各画素主方向)について、本開示の実施例では、それぞれ各画素主方向を中心として、各画素主方向の周りの設定値内のフレーム内予測方向をサーチすることで、各画素主方向に対応してサーチされたフレーム内予測方向を取得することができ、つまり、一つの画素主方向に対応してサーチされたフレーム内予測方向は、当該画素主方向を中心としてサーチされた当該画素主方向の周りの設定値内のフレーム内予測方向である。
【００３１】
一つの参照符号化済みブロックについて、当該参照符号化済みブロックの画素主方向は一つのフレーム内予測方向に対応し得て、これにより、当該画素主方向から設定値内にある対応するフレーム内予測方向をサーチする(例えば、図１に示す各フレーム内予測方向の番号に基づいてサーチする)ことで、当該画素主方向に対応してサーチされたフレーム内予測方向を取得することができる。
【００３２】
選択的に、各画素主方向を中心として、各画素主方向の周りの設定値内のフレーム内予測方向をサーチすることは、一つの画素主方向について、当該画素主方向より設定値内小さいフレーム内予測方向、および当該画素主方向より設定値内大きいフレーム内予測方向をサーチすることで、当該画素主方向に対応してサーチされたフレーム内予測方向を取得することであってもよい。
【００３３】
設定値が２であることを例に、一つの画素主方向ｍｏｄＡについて、ｍｏｄＡを中心として、サーチされたｍｏｄＡの周りの設定値内のフレーム内予測方向は、ｍｏｄＡ-２、ｍｏｄＡ-１、ｍｏｄＡ+１、ｍｏｄＡ+２であり、即ち、画素主方向ｍｏｄＡに対応してサーチされたフレーム内予測方向は、ｍｏｄＡからの距離が２以内のフレーム内予測方向である。
【００３４】
ステップＳ１２０において、少なくとも各画素主方向に対応してサーチされたフレーム内予測方向と各画素主方向に基づいて候補フレーム内予測方向を形成する。
【００３５】
各画素主方向に対応してサーチされたフレーム内予測方向を確定した後に、本開示の実施例では、少なくとも各画素主方向に対応してサーチされたフレーム内予測方向を、各画素主方向と組み合わせて候補フレーム内予測方向を形成することができる。
【００３６】
選択的に、一つの実現において、候補フレーム内予測方向は、各画素主方向に対応してサーチされたフレーム内予測方向と各画素主方向とを組み合わせて形成されてもよく、即ち、候補フレーム内予測方向の数は、各画素主方向に対応してサーチされたフレーム内予測方向の数に、各画素主方向の数を加えたものであってもよい。
【００３７】
選択的に、他の実現において、候補フレーム内予測方向は、各画素主方向に対応してサーチされたフレーム内予測方向、各画素主方向、第１の設定フレーム内予測方向、第２の設定フレーム内予測方向を組み合わせて形成されてもよく、即ち、候補フレーム内予測方向の数は、各画素主方向に対応してサーチされたフレーム内予測方向の数に、各画素主方向の数を加えてから、さらに２を加えたものであってもよく、選択的に、第１の設定フレーム内予測方向は、例えば、ＤＣ(直流成分予測)フレーム内予測方向であり、第２の設定フレーム内予測方向は、例えば、ｐｌａｎａｒ(平面予測)フレーム内予測方向である。
【００３８】
選択的に、前記候補フレーム内予測方向の数はすべてのフレーム内予測方向の数よりも少なく、即ち、本開示の実施例では、上記候補フレーム内予測方向の形成形式に関係なく、候補フレーム内予測方向の数は、すべてのフレーム内予測方向の数よりも小さく、例えば、ＨＥＶＣビデオ符号化を例に、候補フレーム内予測方向の数は３５よりも小さい。本開示の実施例では、候補フレーム内予測方向の数は、上記設定値を設置することで制御してもよく、また、上記参照符号化済みブロックの数を設置することで制御してもよい。
【００３９】
選択的に、本開示の実施例では、候補リストを設置し、当該候補リストにステップＳ１３０である少なくとも各画素主方向に対応してサーチされたフレーム内予測方向と各画素主方向に基づいて形成した各候補フレーム内予測方向を記録してもよい。
【００４０】
ステップＳ１３０において、それぞれ各候補フレーム内予測方向に基づいてターゲット符号化ブロックに対して予測符号化を行い、候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、各候補フレーム内予測方向からターゲットフレーム内予測方向を確定する。
【００４１】
各候補フレーム内予測方向を確定した後に、本開示の実施例では、それぞれ各候補フレーム内予測方向に基づいてターゲット符号化ブロックに対して予測符号化を行うことにより、各候補フレーム内予測方向のそれぞれに対応する予測符号化結果を取得することができ、各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、各候補フレーム内予測方向からターゲットフレーム内予測方向を確定して、フレーム内予測プロセスにおいて、ターゲット符号化ブロックについてのターゲットフレーム内予測方向の選択を実現することができる。
【００４２】
選択的に、本開示の実施例では、各候補フレーム内予測方向にそれぞれ対応する予測符号化結果に基づいて、各候補フレーム内予測方向に対応するレート歪みコストを確定し、レート歪みコストが最小の候補フレーム内予測方向を、ターゲットフレーム内予測方向として選択することができる。
【００４３】
ターゲット符号化ブロックのターゲットフレーム内予測方向を確定した後に、ターゲットフレーム内予測方向を利用してターゲット符号化ブロックに対して最終の予測符号化を行うとともに、ターゲット符号化ブロックのターゲットフレーム内予測方向をビットストリームに書き込んで、復号器に転送して符号化されたターゲット符号化ブロックを復号化することができる。
【００４４】
本開示の実施例で提供されるフレーム内予測方法は、ターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定すること、各画素主方向から設定値内にあるフレーム内予測方向をそれぞれサーチすることで、各画素主方向に対応してサーチされたフレーム内予測方向を取得することと、少なくとも各画素主方向に対応してサーチされたフレーム内予測方向と各画素主方向に基づいて候補フレーム内予測方向を形成することと、それぞれ各候補フレーム内予測方向に基づいてターゲット符号化ブロックに対して予測符号化を行い、各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、各候補フレーム内予測方向からターゲットフレーム内予測方向を確定することと、を含む。
【００４５】
本開示の実施例では、ターゲット符号化ブロックに空間的に隣接する各参照符号化済みブロックの画素主方向に基づいて、各画素主方向から設定値内にあるフレーム内予測方向をサーチし、少なくとも各画素主方向に対応してサーチされたフレーム内予測方向と各画素主方向に基づいて候補フレーム内予測方向を形成することにより、各候補フレーム内予測方向に基づいてそれぞれターゲット符号化ブロックに対して予測符号化を行い、各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、各候補フレーム内予測方向からターゲットフレーム内予測方向を確定する。本開示の実施例では、少なくとも各画素主方向に対応してサーチされたフレーム内予測方向と各画素主方向に基づいて候補フレーム内予測方向を形成することができ、候補フレーム内予測方向の数を減らすとともに、ターゲットフレーム内予測方向が直接に確定の候補フレーム内予測方向に基づいて選択されるように制御し、すべてのフレーム内予測方向に基づいて粗く選択するプロセスを省略し、ターゲットフレーム内予測方向選択の処理複雑さが低減され、ビデオ符号化の全体の複雑さが低減され、ビデオ符号化のリアルタイム性が確保されるようにする。
【００４６】
ここで、説明する必要があることは、発明者は、ターゲット符号化ブロックのターゲットフレーム内予測方向がターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックの画素主方向の周りのフレーム内予測方向と相関があることを見出したので、各画素主方向から設定値内にある当該関連性に該当するフレーム内予測方向をサーチし、少なくともサーチされたフレーム内予測方向と各画素主方向に基づいて候補フレーム内予測方向を形成することにより、候補フレーム内予測方向にターゲット符号化ブロックのターゲットフレーム内予測方向に含ませることができる。従って、本開示の実施例で提供されるフレーム内予測方法に基づいて確定されたターゲットフレーム内予測方向の正確性は確保できる。
【００４７】
選択的に、任意の例として、本開示の実施例では、ターゲット符号化ブロックの上コーナーの左側に接する第１の符号化済みブロックと、ターゲット符号化ブロックの左コーナーの上側に接する第２の符号化済みブロックを、選択の参照符号化済みブロックとして選択してもよい。
【００４８】
選択的に、図４は、本開示の実施例で提供されるフレーム内予測方法の他のフローチャートを示しており、図４を参照して、当該方法は以下のステップを含むことができる。
【００４９】
ステップＳ２００において、ターゲット符号化ブロックの上コーナーの左側に接する第１の符号化済みブロックの第１の画素主方向と、ターゲット符号化ブロックの左コーナーの上側に接する第２の符号化済みブロックの第２の画素主方向とを確定する。
【００５０】
記述の便宜上、本開示の実施例では、ターゲット符号化ブロックの上コーナーの左側に接する符号化済みブロックを第１の符号化済みブロックと呼び、図３のように、符号化済みブロックＡは第１の符号化済みブロックであり、ターゲット符号化ブロックの左コーナーの上側に接する符号化済みブロックを第２の符号化済みブロックと呼び、図３のように、符号化済みブロックＢは第２の符号化済みブロックであってもよい。
【００５１】
選択的に、本開示の実施例では、Ｓｏｂｅｌ演算子を利用して第１の符号化済みブロックの各画素の方向を確定し、第１の符号化済みブロックにおける画素数が最も多い方向を、第１の符号化済みブロックの画素主方向(第１の画素主方向と呼ばれる)とするとともに、Ｓｏｂｅｌ演算子を利用して第２の符号化済みブロックの各画素の方向を確定し、第２の符号化済みブロックにおける画素数が最も多い方向を、第２の符号化済みブロックの画素主方向(第２の画素主方向と呼ばれる)としてもよい。
【００５２】
ステップＳ２１０において、第１の画素主方向より設定値内小さいフレーム内予測方向と、第１の画素主方向より設定値内大きいフレーム内予測方向とをサーチし、第２の画素主方向より設定値内小さいフレーム内予測方向と、第２の画素主方向より設定値内大きいフレーム内予測方向とをサーチする。
【００５３】
選択的に、第１の画素主方向について、本開示の実施例では、第１の画素主方向から設定値内を減ったフレーム内予測方向と、第１の画素主方向に設定値内を加えたフレーム内予測方向をサーチすることで、第１の画素主方向に対応してサーチされたフレーム内予測方向を取得してもよく、例えば、設定値が２、第１の画素主方向がｍｏｄＡであることを例に、ｍｏｄＡについてｍｏｄＡ-２、ｍｏｄＡ-１、ｍｏｄＡ+１、ｍｏｄＡ+２のフレーム内予測方向がサーチされた。
【００５４】
第２の画素主方向について、本開示の実施例では、第２の画素主方向から設定値内を減ったフレーム内予測方向と、第２の画素主方向に設定値内を加えたフレーム内予測方向とをサーチすることで、第２の画素主方向に対応してサーチされたフレーム内予測方向を取得してもよく、設定値が２、第２の画素主方向がｍｏｄＢであることを例に、ｍｏｄＢについて、ｍｏｄＢ-２、ｍｏｄＢ-１、ｍｏｄＢ+１、ｍｏｄＢ+２のフレーム内予測方向がサーチされた。
【００５５】
明らかに、設定値の具体的な数値を２にすることは任意の例に過ぎず、３、４などとしてもよく、具体的には、実際の必要に応じて決定される。
【００５６】
ステップＳ２２０において、少なくとも第１の画素主方向より設定値内小さいフレーム内予測方向、第１の画素主方向より設定値内大きいフレーム内予測方向、第１の画素主方向、第２の画素主方向より設定値内小さいフレーム内予測方向、第２の画素主方向より設定値内大きいフレーム内予測方向、第２の画素主方向に基づいて、候補フレーム内予測方向を形成する。
【００５７】
選択的に、上記設定値が２、第１の画素主方向がｍｏｄＡ、第２の画素主方向がｍｏｄＢであることを例に、本開示の実施例では、少なくともｍｏｄＡ-２、ｍｏｄＡ-１、ｍｏｄＡ、ｍｏｄＡ+１、ｍｏｄＡ+２、ｍｏｄＢ-２、ｍｏｄＢ-１、ｍｏｄＢ、ｍｏｄＢ+１、ｍｏｄＢ+２に基づいて、候補フレーム内予測方向を生成してもよい。
【００５８】
任意の例として、候補フレーム内予測方向の範囲は{ｍｏｄＡ-２、ｍｏｄＡ-１、ｍｏｄＡ、ｍｏｄＡ+１、ｍｏｄＡ+２、ｍｏｄＢ-２、ｍｏｄＢ-１、ｍｏｄＢ、ｍｏｄＢ+１、ｍｏｄＢ+２}であってもよい。
【００５９】
他の任意の例として、候補フレーム内予測方向は、第１の設定フレーム内予測方向(例えば、ＤＣフレーム内予測方向)と第２の設定フレーム内予測方向(例えば、ｐｌａｎａｒフレーム内予測方向)を組み合わせてもよく、それに対応して、候補フレーム内予測方向の範囲は{ＤＣ、ｐｌａｎａｒ、ｍｏｄＡ-２、ｍｏｄＡ-１、ｍｏｄＡ、ｍｏｄＡ+１、ｍｏｄＡ+２、ｍｏｄＢ-２、ｍｏｄＢ-１、ｍｏｄＢ、ｍｏｄＢ+１、ｍｏｄＢ+２}であってもよい。
【００６０】
従って、候補フレーム内予測方向の数がすべてのフレーム内予測方向の数よりも小さく、すべてのフレーム内予測方向(例えば、ＨＥＶＣの場合における３５個のフレーム内予測方向)に比べて、本開示の実施例で提供されるフレーム内予測方法は、確定の候補フレーム内予測方向の数は大幅に削減される。
【００６１】
ステップＳ２３０において、それぞれ各候補フレーム内予測方向に基づいてターゲット符号化ブロックに対して予測符号化を行い、各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、各候補フレーム内予測方向からターゲットフレーム内予測方向を確定する。
【００６２】
なお、図４の方法で選択される前記参照符号化済みブロックの形式はオプションであり、前記参照符号化済みブロックの形式は、具体的な状況に応じて決定されてもよい。
【００６３】
選択的に、本開示の実施例では、それぞれ各候補フレーム内予測方向に基づいてターゲット符号化ブロックに対して予測符号化を行った後、ＲＤＯ(Ｒａｔｅ Ｄｉｓｔｏｒｔｉｏｎ Ｏｐｔｉｍｉｚａｔｉｏｎ、レート歪み最適化)方式で、各候補フレーム内予測方向からターゲット符号化ブロックのターゲットフレーム内予測方向を判定してもよい。
【００６４】
選択的に、図５は、各候補フレーム内予測方向からターゲットフレーム内予測方向を確定する方法流れを示しており、図５を参照して、当該方法は以下のステップを含むことができる。
【００６５】
ステップＳ３００において、各候補フレーム内予測方向でターゲット符号化ブロックに対して予測符号化を行ったフレーム内予測残差をそれぞれ確定して、各候補フレーム内予測方向に対応するフレーム内予測残差を取得する。
【００６６】
本開示の実施例では、各候補フレーム内予測方向に基づいてターゲット符号化ブロックに対して予測符号化を行った後に、各候補フレーム内予測方向でのフレーム内予測残差(即ち、各候補フレーム内予測方向に対応するフレーム内予測残差)を取得することができる。
【００６７】
ステップＳ３１０において、それぞれ各候補フレーム内予測方向に対応するフレーム内予測残差に対して変換および量子化を行うことで、各候補フレーム内予測方向に対応する変換および量子化結果を取得する。
【００６８】
各候補フレーム内予測方向に対応するフレーム内予測残差の確定について、本開示の実施例では、それぞれ各候補フレーム内予測方向に対応するフレーム内予測残差に対して変換および量子化を行うことで、各候補フレーム内予測方向に対応する変換および量子化結果を取得してもよい。
【００６９】
ステップＳ３２０において、それぞれ各候補フレーム内予測方向に対応する変換および量子化結果に対して逆量子化および逆変換を行うことで、各候補フレーム内予測方向に対応するターゲット符号化ブロックの画素再構成値を取得する。
【００７０】
各候補フレーム内予測方向に対応する変換および量子化結果を確定した後に、本開示の実施例では、それぞれ各候補フレーム内予測方向に対応する変換および量子化結果に対して逆量子化および逆変換処理を行うことで、各候補フレーム内予測方向において、ターゲット符号化ブロックの画素再構成値を取得してもよい。
【００７１】
ステップＳ３３０において、それぞれ各候補フレーム内予測方向に対応するターゲット符号化ブロックの画素再構成値と、ターゲット符号化ブロックの画素オリジナル値とに基づいて、各候補フレーム内予測方向に対応するレート歪みコストを確定する。
【００７２】
選択的に、ステップＳ３００〜ステップＳ３３０は、各候補フレーム内予測方向に対応する予測符号化結果に基づいて、各候補フレーム内予測方向に対応するレート歪みコストを確定するオプションの実現と考えられる。
【００７３】
ステップＳ３４０において、レート歪みコストが最小の候補フレーム内予測方向を、ターゲット符号化ブロックのターゲットフレーム内予測方向として確定する。
【００７４】
各候補フレーム内予測方向に対応するターゲット符号化ブロックの画素再構成値を確定した後に、本開示の実施例では、いずれかの候補フレーム内予測方向について、相応するターゲット符号化ブロックの画素再構成値とターゲット符号化ブロックの画素オリジナル値とに基づいて、二乗和誤差(Ｓｕｍ ｏｆ Ｓｑｕａｒｅ Ｅｒｒｏｒ)に基づくＲＤ ｃｏｓｔ(Ｒａｔｅ Ｄｉｓｔｏｒｔｉｏｎ ｃｏｓｔ、レート歪みコスト)を確定して、当該候補フレーム内予測方向に対応するＲＤ ｃｏｓｔを取得することにより、各候補フレーム内予測方向に対応するＲＤ ｃｏｓｔを確定し、ＲＤ ｃｏｓｔが最小の候補フレーム内予測方向を、ターゲット符号化ブロックのターゲットフレーム内予測方向として確定してもよい。
【００７５】
明らかに、上記したＲＤＯ方式でターゲット符号化ブロックのターゲットフレーム内予測方向を判定する方式はオプションであり、本開示の実施例では、各候補フレーム内予測方向に基づいてターゲット符号化ブロックに対して予測符号化を行った後に、各候補フレーム内予測方向に対応する他の形式のコストを確定し(例えば、直接にフレーム内予測残差をコストとして使用する)、コストが最小の候補フレーム内予測方向を、ターゲット符号化ブロックのターゲットフレーム内予測方向として選択してもよい。
【００７６】
選択的に、図２、図４に示す方法は、制限なしで実行可能であり、現在、ある一つの符号化ブロックに対してフレーム内予測を行う必要がある場合に、直接に図２、図４に示す方法で当該符号化ブロックのフレーム内予測を実現でき、このプロセスでは、第１の設定フレーム内予測方向および第２の設定フレーム内予測方向を候補フレーム内予測方向に追加するかどうかを任意で選択することができる。
【００７７】
他の実現として、図２、図４に示す方法は、制限条件を満たす場合に実行してもよく、即ち、一定の制限条件を設置し、当該制限条件を満たす場合のみに、図２、図４に示す方法で本開示の実施例で提供されるフレーム内予測方法を実現し、制限条件を満たさない場合に、上記の方法の内容と異なる並列する他のフレーム内予測流れによりフレーム内予測方法を実現してもよい。
【００７８】
選択的に、図６は、本開示の実施例で提供されるフレーム内予測方法の他のフローチャートを示しており、図６を参照して、当該方法は以下のステップを含むことができる。
【００７９】
ステップＳ４００において、ターゲット符号化ブロックに接する上方の設定行の再構成画素の第１の平均値、およびターゲット符号化ブロックに接する左方の設定行の再構成画素の第２の平均値を確定する。
【００８０】
選択的に、ターゲット符号化ブロックに接する上方の設定行の再構成画素は、例えば、ターゲット符号化ブロックの上方符号化済みブロックがターゲット符号化ブロックと接する設定行の再構成画素であってもよく、ターゲット符号化ブロックの上方符号化済みブロックがターゲット符号化ブロックと接する設定行再構成画素の平均値を確定することで、第１の平均値を取得してもよい。
【００８１】
ターゲット符号化ブロックに接する左方の設定行の再構成画素は、例えば、ターゲット符号化ブロックの左方の符号化済みブロックがターゲット符号化ブロックと接する設定行再構成画素であってもよく、ターゲット符号化ブロックの左方の符号化済みブロックがターゲット符号化ブロックと接する設定行の再構成画素の平均値を確定することで、第２の平均値を取得してもよい。
【００８２】
任意の例として、例えば、図７に示すように、本開示の実施例では、ターゲット符号化ブロックの上方の符号化済みブロックの最下部の２行の再構成画素の平均値を確定することで、第１の平均値(ａｖｇ_ｕｐとも呼ばれ得る)を取得してもよく、本開示の実施例では、ターゲット符号化ブロックの左方の符号化済みブロックの最右部の２行の再構成画素の平均値を確定することで、第２の平均値(ａｖｇ_ｌｅｆｔとも呼ばれ得る)を取得してもよい。
【００８３】
即ち、ターゲット符号化ブロックの上方の符号化済みブロックの最下部の２行の再構成画素は、ターゲット符号化ブロックと接する上方の設定行の再構成画素と考えられてもよく、ターゲット符号化ブロックの左方の符号化済みブロックの最右部の２行の再構成画素は、ターゲット符号化ブロックと接する左方の設定行の再構成画素と考えられてもよい。
【００８４】
例として、一つの符号化ブロックの行および列の数は１６ｘ１６であってもよく、１行に１６個の画素があり、明らかに、符号化ブロックの行および列の数および１行の画素数は、実際の状況に応じて決定されてもよく、ここで例示的に説明する。
【００８５】
ステップＳ４１０において、前記第１の平均値と前記第２の平均値との絶対誤差が第１の閾値よりも小さいかどうかを判断し、且つ、ターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックのターゲットフレーム内予測方向がすべて第１の設定フレーム内予測方向であるかどうかを判断し、いずれかの判定結果がＮＯであると、ステップＳ４２０を実行し、判断結果がすべてＹＥＳであると、ステップＳ４６０を実行する。
【００８６】
ステップＳ４２０において、各参照符号化済みブロックの画素主方向を確定する。
【００８７】
ステップＳ４１０のいずれか判断結果がＮＯであることは、前記第１の平均値と前記第２の平均値との絶対誤差が第１の閾値よりも小さくなく、および／又は、各参照符号化済みブロックのターゲットフレーム内予測方向のいずれも第１の設定フレーム内予測方向ではないことを説明し、この場合、図２、図４に示す流れを実行し、まず、前記参照符号化済みブロックにおける各参照符号化済みブロックの画素主方向を確定してから、図２、図４に示す流れに従って方法実行を行ってもよい。
【００８８】
選択的に、第１の閾値は、実際の状況に応じて設定されてもよく、前記第１の平均値と前記第２の平均値との絶対誤差が第１の閾値よりも小さくなく、且つ、各参照符号化済みブロックのターゲットフレーム内予測方向のいずれも第１の設定フレーム内予測方向ではない(図４に示すように、第１の符号化済みブロックのターゲットフレーム内予測方向と第２の符号化済みブロックのターゲットフレーム内予測方向とのいずれもＤＣフレーム内予測方向ではなく、前記ＤＣフレーム内予測方向は第１の設定フレーム内予測方向とされてよい)ので、ターゲット符号化ブロックに空間的に隣接する符号化済みブロックの再構成画素の差は大きいと考えられ、ターゲット符号化ブロックについて、フレーム内予測方向の選択範囲を拡大する必要がある。
【００８９】
本開示の実施例では、ターゲット符号化ブロックのターゲットフレーム内予測方向の選択の処理複雑さを低減させるために、前記各参照符号化済みブロックの画素主方向を確定してから、各画素主方向で候補フレーム内予測方向に追加できるフレーム内予測方向をサーチすることにより、候補フレーム内予測方向の数は制御される。
【００９０】
ステップＳ４３０において、各画素主方向から設定値内にあるフレーム内予測方向をそれぞれサーチすることで、各画素主方向に対応してサーチされたフレーム内予測方向を取得する。
【００９１】
ステップＳ４４０において、少なくとも各画素主方向に対応してサーチされたフレーム内予測方向と各画素主方向に基づいて候補フレーム内予測方向を形成する。
【００９２】
ステップＳ４５０において、それぞれ各候補フレーム内予測方向に基づいてターゲット符号化ブロックに対して予測符号化を行い、各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、各候補フレーム内予測方向からターゲットフレーム内予測方向を確定する。
【００９３】
ステップＳ４６０において、前記第１の設定フレーム内予測方向を、ターゲット符号化ブロックのターゲットフレーム内予測方向とする。
【００９４】
ステップＳ４１０の判断結果がいずれもＹＥＳであることは、前記第１の平均値と前記第２の平均値との絶対誤差が第１の閾値よりも小さく、且つ、各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも第１の設定フレーム内予測方向であることを説明し、ターゲット符号化ブロックに空間的に隣接する符号化済みブロックの再構成画素の差が小さく、ターゲット符号化ブロックのターゲットフレーム内予測方向は、非常に大きい確率で、参照符号化済みブロックのターゲットフレーム内予測方向と一致すると考えられ、即ち、ターゲット符号化ブロックのターゲットフレーム内予測方向は空間的に隣接する参照符号化済みブロックによって使用される第１の設定フレーム内予測方向である(例えば、ターゲット符号化ブロックのターゲットフレーム内予測方向はＤＣフレーム内予測方向である)と考えられ、第１の設定フレーム内予測方向を、ターゲット符号化ブロックのターゲットフレーム内予測方向とし、候補予測フレーム内方向に基づいてターゲット符号化ブロックごとに予測符号化を行って、ターゲットフレーム内予測方向を確定するプロセスを省略することができ、大幅に処理複雑さを低減させる。
【００９５】
従って、本開示の実施例では、前記第１の平均値と前記第２の平均値との絶対誤差が第１の閾値よりも小さくなく、および／又は、各参照符号化済みブロックのターゲットフレーム内予測方向のいずれも第１の設定フレーム内予測方向ではない場合に、図１和図４に示す方法を実行することができる。
【００９６】
前記第１の平均値と前記第２の平均値との絶対誤差が第１の閾値よりも小さく、且つ各参照符号化済みブロックのターゲットフレーム内予測方向のいずれも第１の設定フレーム内予測方向である場合に、図１、図４に示す方法と異なる並列流れを提供し、即ち、直接に第１の設定フレーム内予測方向をターゲット符号化ブロックのターゲットフレーム内予測方向とする。
【００９７】
図６の任意の例として、前記少なくとも一つの参照符号化済みブロックが第１の符号化済みブロックＡと第２の符号化済みブロックＢであり、第１の画素主方向がｍｏｄＡ、第２の画素主方向がｍｏｄＢ、設定値が２であることを例に、本開示の実施例では、ターゲット符号化ブロックｃｕｒに対してフレーム内予測を行う場合に、以下のプロセスにより実現することができる。
【００９８】
ターゲット符号化ブロックｃｕｒに接する上方の２行の再構成画素の第１の平均値(ａｖｇ_ｕｐと定義する)と、ターゲット符号化ブロックｃｕｒに接する左方の２行の再構成画素の第２の平均値(ａｖｇ_ｌｅｆｔと定義する)とを確定する。
【００９９】
ａｖｇ_ｕｐとａｖｇ_ｌｅｆｔとの絶対誤差が第１の閾値(Ｔｈｄ１と定義する)よりも小さく、且つ、第１の符号化済みブロックＡのターゲットフレーム内予測方向と第２の符号化済みブロックＢのターゲットフレーム内予測方向とがいずれもＤＣフレーム内予測方向であると、ターゲット符号化ブロックｃｕｒのターゲットフレーム内予測方向がＤＣフレーム内予測方向であると確定できる。明らかに、ａｖｇ_ｕｐとａｖｇ_ｌｅｆｔとの絶対誤差がＴｈｄ１よりも小さく、且つ、第１の符号化済みブロックＡのターゲットフレーム内予測方向と第２の符号化済みブロックＢのターゲットフレーム内予測方向とがいずれもｐｌａｎａｒフレーム内予測方向であると、ターゲット符号化ブロックｃｕｒのターゲットフレーム内予測方向がｐｌａｎａｒフレーム内予測方向であると確定できるように設置されてもよい。
【０１００】
ａｖｇ_ｕｐとａｖｇ_ｌｅｆｔとの絶対誤差がＴｈｄ１よりも小さくなく、および／又は、第１の符号化済みブロックＡのターゲットフレーム内予測方向と第２の符号化済みブロックＢのターゲットフレーム内予測方向とがいずれもＤＣフレーム内予測方向ではないと、第１の参照符号化済みブロックＡの第１の画素主方向ｍｏｄＡ、第２の参照符号化済みブロックＢの第２の画素主方向ｍｏｄＢを確定でき、ｍｏｄＡからの距離が２以内のフレーム内予測方向ｍｏｄＡ-２、ｍｏｄＡ-１、ｍｏｄＡ+１、ｍｏｄＡ+２、およびｍｏｄＢからの距離が２以内のフレーム内予測方向ｍｏｄＢ-２、ｍｏｄＢ-１、ｍｏｄＢ+１、ｍｏｄＢ+２をそれぞれサーチし、少なくともｍｏｄＡ-２、ｍｏｄＡ-１、ｍｏｄＡ、ｍｏｄＡ+１、ｍｏｄＡ+２、ｍｏｄＢ-２、ｍｏｄＢ-１、ｍｏｄＢ、ｍｏｄＢ+１、ｍｏｄＢ+２に基づいて候補フレーム内予測方向を形成し、さらに、ＲＤＯなどの方式により候補フレーム内予測方向から、ターゲット符号化ブロックのターゲットフレーム内予測方向を判定してもよい。
【０１０１】
いくつかの場合において、前記第１の平均値と前記第２の平均値との絶対誤差が第１の閾値よりも小さくなく、および／又は、前記各参照符号化済みブロックのターゲットフレーム内予測方向のいずれも第１の設定フレーム内予測方向ではないことを確定した上に、本開示の実施例では、さらに第１の設定フレーム内予測方向と第２の設定フレーム内予測方向(例えば、ＤＣとｐｌａｎａｒフレーム内予測方向)とをターゲット符号化ブロックの候補フレーム内予測方向に追加するかどうかを選択することもできる。
【０１０２】
選択的に、図８は、本開示の実施例で提供されるフレーム内予測方法の更なるフローチャートであり、図８を参照して、当該方法は、以下のステップを含むことができる。
【０１０３】
ステップＳ５００において、ターゲット符号化ブロックに接する上方の設定行の再構成画素の第１の平均値、およびターゲット符号化ブロックに接する左方の設定行の再構成画素の第２の平均値を確定する。
【０１０４】
ステップＳ５１０において、前記第１の平均値と前記第２の平均値との絶対誤差が第１の閾値よりも小さいかどうかを判断し、且つ、ターゲット符号化ブロックに空間的に隣接する少なくとも一つの参照符号化済みブロックにおいて、各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも第１の設定フレーム内予測方向であるかどうかを判断し、いずれかの判断結果がＮＯであると、ステップＳ５２０を実行し、判断結果がいずれもＹＥＳであると、ステップＳ５７０を実行する。
【０１０５】
ステップＳ５２０において、各参照符号化済みブロックの画素主方向を確定し、各画素主方向から設定値内にあるフレーム内予測方向をそれぞれサーチすることで、各画素主方向に対応してサーチされたフレーム内予測方向を取得する。
【０１０６】
ステップＳ５３０において、前記第１の平均値と前記第２の平均値との絶対誤差が第２の閾値よりも大きいかどうかを判断し、且つ各参照符号化済みブロックのターゲットフレーム内予測方向のいずれも第１の設定フレーム内予測方向または第２の設定フレーム内予測方向ではないかどうかを判断し、いずれかの判断結果がＮＯであると、ステップＳ５４０を実行し、判断結果がいずれもＹＥＳであると、ステップＳ５５０を実行する。
【０１０７】
ステップＳ５４０において、第１の設定フレーム内予測方向、第２の設定フレーム内予測方向、各画素主方向に対応してサーチされたフレーム内予測方向、各画素主方向を、候補フレーム内予測方向として確定する。
【０１０８】
選択的に、前記第１の平均値と前記第２の平均値との絶対誤差が第２の閾値よりも大きくなく、および／又は、各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも第１の設定フレーム内予測方向または第２の設定フレーム内予測方向であると、第１の設定フレーム内予測方向、第２の設定フレーム内予測方向、各画素主方向に対応してサーチされたフレーム内予測方向、各画素主方向を、候補フレーム内予測方向として確定してもよい。
【０１０９】
例えば、本開示の実施例では、前記第１の平均値と前記第２の平均値との絶対誤差が第１の閾値よりも小さくなく、且つ、第２の閾値よりも大きくないと確定した場合に、各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも第１の設定フレーム内予測方向または第２の設定フレーム内予測方向であるかどうかに関係なく、第１の設定フレーム内予測方向と第２の設定フレーム内予測方向とを候補フレーム内予測方向に追加してもよい。
【０１１０】
また、本開示の実施例では、前記第１の平均値と前記第２の平均値との絶対誤差が第１の閾値よりも小さくなく、且つ、第２の閾値よりも大きく、且つ、各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも第１の設定フレーム内予測方向または第２の設定フレーム内予測方向であると確定した場合に、第１の設定フレーム内予測方向と、第２の設定フレーム内予測方向とを、候補フレーム内予測方向に追加してもよい。
【０１１１】
さらに、本開示の実施例では、各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも第２の設定フレーム内予測方向であると確定した場合に、第１の設定フレーム内予測方向と、第２の設定フレーム内予測方向とを、候補フレーム内予測方向に追加してもよい。
【０１１２】
ステップＳ５５０において、各画素主方向に対応してサーチされたフレーム内予測方向、各画素主方向を、候補フレーム内予測方向として確定する。
【０１１３】
選択的に、前記第１の平均値と前記第２の平均値との絶対誤差が第２の閾値よりも大きく、且つ、各参照符号化済みブロックのターゲットフレーム内予測方向のいずれも第１の設定フレーム内予測方向または第２の設定フレーム内予測方向ではないと、第１の設定フレーム内予測方向または第２の設定フレーム内予測方向がターゲット符号化ブロックのターゲットフレーム内予測方向である可能性がないと考えられ、これにより、直接に各画素主方向に対応してサーチされたフレーム内予測方向、各画素主方向を、候補フレーム内予測方向として確定する。
【０１１４】
ステップＳ５６０において、それぞれ各候補フレーム内予測方向に基づいてターゲット符号化ブロックに対して予測符号化を行い、各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、各候補フレーム内予測方向からターゲットフレーム内予測方向を確定する。
【０１１５】
ステップＳ５７０において、前記第１の設定フレーム内予測方向を、ターゲット符号化ブロックのターゲットフレーム内予測方向とする。
【０１１６】
選択的に、本開示の実施例では、前記第１の設定フレーム内予測方向をターゲット符号化ブロックのターゲットフレーム内予測方向とする並列流れを省略し、前記第１の平均値と前記第２の平均値との絶対誤差が第１の閾値よりも小さいかどうか、且つ、前記各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも第１の設定フレーム内予測方向であるかどうかの判断を行わず、以下のような方式に従って候補フレーム内予測方向を確定してもよい。
【０１１７】
前記第１の平均値と前記第２の平均値との絶対誤差が第２の閾値よりも大きくなく、および／又は、前記各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも第１の設定フレーム内予測方向または第２の設定フレーム内予測方向である場合に、第１の設定フレーム内予測方向、第２の設定フレーム内予測方向、各画素主方向に対応してサーチされたフレーム内予測方向、および各画素主方向を、候補フレーム内予測方向として確定する。
【０１１８】
前記第１の平均値と前記第２の平均値との絶対誤差が第２の閾値よりも大きく、且つ、各参照符号化済みブロックのターゲットフレーム内予測方向のいずれも第１の設定フレーム内予測方向または第２の設定フレーム内予測方向ではない場合に、各画素主方向に対応してサーチされたフレーム内予測方向と、各画素主方向とを、候補フレーム内予測方向として確定する。
【０１１９】
明らかに、本開示の実施例では、上記の条件判断を行わず、第１の設定フレーム内予測方向と第２の設定フレーム内予測方向とを、候補フレーム内予測方向に追加するかどうかを任意で選択することが可能である。
【０１２０】
なお、図６、図８に示す方法はオプションであり、本開示の実施例では、フレーム内予測方法を実現する場合に、直接に図２に示す方法を実行することでターゲット符号化ブロックのターゲットフレーム内予測方向の確定を実現してもよい。
【０１２１】
本開示の実施例で提供されるフレーム内予測方法の一応用例は、ビデオ符号化装置に応用され、ビデオ符号化装置においてビデオ画像に対してビデオ符号化を行う場合に、フレーム内予測符号化方式でビデオ画像のいずれかのターゲット符号化ブロックを符号化し、そして、このプロセスにおいて、本開示の実施例で提供されるフレーム内予測方法を使用して、ターゲット符号化ブロックのターゲットフレーム内予測方向の確定を実現することであってもよい。
【０１２２】
選択的に、一応用例として、本開示の実施例で提供されるフレーム内予測方法を応用するビデオ符号化プロセスは、例えば、図９に示すように、以下のステップを含むことができる。
【０１２３】
ステップＳ０１において、ビデオ符号化装置は、ビデオ採集装置によって伝送される符号化待ちビデオ画像を取得する。
【０１２４】
選択的に、ビデオ採集装置は、ビデオ画像を採集した後に、採集したビデオ画像をビデオ符号化装置に伝送し、ビデオ符号化装置はフレーム内予測符号化方式でビデオ符号化を行ってもよい。
【０１２５】
選択的に、ビデオ採集装置は、カメラなどの図像採集装置を有する端末装置であってもよく、例えば、ライブストリーミングシーンにおけるビデオ採集端末などであってもよく、もちろん、ビデオ符号化装置が、符号化待ちビデオ画像を取得するソースは、ビデオ採集装置に限定されず、例えば、ビデオ符号化装置は、保存されたビデオ画像に対して再符号化などを行うことも可能である。
【０１２６】
選択的に、ビデオ符号化装置は、携帯電話、ノートパソコンなどの端末として実現されてもよいし、例えば、ネットワーク側に設置されるサーバなどとして実現されてもよい。
【０１２７】
ステップＳ０２において、前記ビデオ画像における符号化待ちのいずれかのターゲット符号化ブロックについて、ビデオ符号化装置は、前記ターゲット符号化ブロックのターゲットフレーム内予測方向を確定する。
【０１２８】
ビデオ符号化装置は、符号化待ちビデオ画像を取得した後に、符号化ブロック単位でビデオ画像の符号化を行ってもよく、例えば、ビデオ符号化装置は、ビデオ画像を取得した後に、ビデオ画像に対して図像分割を行って、複数の符号化ブロックに分割してもよい。
【０１２９】
ビデオ画像における符号化待ちのいずれかのターゲット符号化ブロックについて、以上で記述された本開示の実施例で提供されるフレーム内予測方法で、ターゲット符号化ブロックのターゲットフレーム内予測方向の確定を実現することができる。
【０１３０】
選択的に、ターゲット符号化ブロックのターゲットフレーム内予測方向を確定するプロセスは、例えば、図９におけるステップＳ０２の詳細に示すように、以下のステップを含むことができる。
【０１３１】
ステップＳ０２１において、ターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定する。
【０１３２】
ステップＳ０２２において、各画素主方向から設定値内にあるフレーム内予測方向をそれぞれサーチすることで、各画素主方向に対応してサーチされたフレーム内予測方向を取得する。
【０１３３】
ステップＳ０２３において、少なくとも各画素主方向に対応してサーチされたフレーム内予測方向と各画素主方向に基づいて候補フレーム内予測方向を形成する。
【０１３４】
ステップＳ０２４において、それぞれ各候補フレーム内予測方向に基づいてターゲット符号化ブロックに対して予測符号化を行い、各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、各候補フレーム内予測方向からターゲットフレーム内予測方向を確定する。
【０１３５】
選択的に、ステップＳ０２１〜ステップＳ０２４の詳細説明について、上記の対応する部分の説明を参照してもよい。
【０１３６】
ステップＳ０３において、ビデオ符号化装置は、前記ターゲットフレーム内予測方向でターゲット符号化ブロックに対して予測符号化を行うことで、フレーム内予測残差を取得する。
【０１３７】
ビデオ符号化装置は、ターゲット符号化ブロックのターゲットフレーム内予測方向を確定した後に、ターゲット符号化ブロックに空間的に隣接する符号化済みブロックの再構成画素を利用して、当該ターゲットフレーム内予測方向に従ってターゲット符号化ブロックに対して予測符号化を行うことで、ターゲット符号化ブロックの当該ターゲットフレーム内予測方向におけるフレーム内予測残差を取得してもよい。
【０１３８】
ステップＳ０４において、ビデオ符号化装置は、取得したフレーム内予測残差に対して変換および量子化を行うことで、前記ターゲットフレーム内予測方向でのターゲット符号化ブロックの変換および量子化結果を取得する。
【０１３９】
当該ターゲットフレーム内予測方向でのターゲット符号化ブロックのフレーム内予測残差を取得した後に、ビデオ符号化装置は、当該フレーム内予測残差を変換してから (例えば、直交変換)、量子化処理を行うことで (例えば、係数量子化処理)、前記ターゲットフレーム内予測方向でのターゲット符号化ブロックの変換および量子化結果を取得してもよい。
【０１４０】
ステップＳ０５において、ビデオ符号化装置は、前記変換および量子化結果を符号化することで、ターゲット符号化ブロックの符号化結果を取得する。
【０１４１】
選択的に、本開示の実施例では、エントロピー符号化方式で、前記ターゲットフレーム内予測方向でのターゲット符号化ブロックの変換および量子化結果を符号化することで、ターゲット符号化ブロックの符号化結果を取得してもよい。
【０１４２】
それに対応するように、各符号化ブロックの符号化結果を組み合わせると、ビデオ画像の符号化結果を取得することができる。
【０１４３】
選択的に、ビデオ画像における各符号化ブロックのターゲットフレーム内予測方向をビットストリームに書き込んで、符号化されたビデオ画像を復号化することができ、符号化されたビデオ画像を復号化するプロセスについては、上記の符号化プロセスと逆であってもよく、つまり、符号化されたビデオ画像における各符号化ブロックの符号化結果に対して、上記の符号化プロセスと逆の処理を行ってもよい。
【０１４４】
上記の応用例に基づいて、以下、前記参照符号化済みブロックが第１の符号化済みブロックＡと第２の符号化済みブロックＢ、第１の画素主方向がｍｏｄＡ、第２の画素主方向がｍｏｄＢ、設定値が２であることを例に(明らかに、具体的な設定値は、実際の状況に応じて調整され得る)、本開示の実施例で提供されるフレーム内予測方法でビデオ符号化を行うプロセスのより詳細について説明し、当該応用例プロセスは図１０を参照でき、具体的には、以下の通りである。
【０１４５】
ビデオ採集装置は、ビデオ画像をビデオ符号化装置に入力した後に、ビデオ符号化装置はビデオ画像に対して画像分割を行って、複数の符号化ブロックに分割してもよい。
【０１４６】
いずれかのターゲット符号化ブロックについて、ターゲット符号化ブロックの上コーナーの左側に接する第１の符号化済みブロックＡ、およびターゲット符号化ブロックの左コーナーの上側に接する第２の符号化済みブロックＢを確定する。
【０１４７】
ターゲット符号化ブロックに接する上方の２行の再構成画素の第１の平均値(ａｖｇ_ｕｐと定義する)と、ターゲット符号化ブロックに接する左方の２行の再構成画素の第２の平均値(ａｖｇ_ｌｅｆｔと定義する)とを確定する。
【０１４８】
ａｖｇ_ｕｐとａｖｇ_ｌｅｆｔとの絶対誤差が第１の閾値(Ｔｈｄ１と定義する)よりも小さく、且つ、第１の符号化済みブロックＡのターゲットフレーム内予測方向と第２の符号化済みブロックＢのターゲットフレーム内予測方向とがいずれもＤＣフレーム内予測方向であると、ターゲット符号化ブロックのターゲットフレーム内予測方向がＤＣフレーム内予測方向であると確定できる。
【０１４９】
ａｖｇ_ｕｐとａｖｇ_ｌｅｆｔとの絶対誤差がＴｈｄ１よりも小さくなく、および／又は、第１の符号化済みブロックＡのターゲットフレーム内予測方向と第２の符号化済みブロックＢのターゲットフレーム内予測方向とがいずれもＤＣフレーム内予測方向ではない場合に、本開示の実施例では、第１の符号化済みブロックＡにおける画素数が最も多い方向を、第１の符号化済みブロックの画素主方向ｍｏｄＡとし、第２の符号化済みブロックＢにおける画素数が最も多い方向を、第２の符号化済みブロックの画素主方向ｍｏｄＢとし、且つ、ｍｏｄＡからの距離が２以内のフレーム内予測方向ｍｏｄＡ-２、ｍｏｄＡ-１、ｍｏｄＡ+１、ｍｏｄＡ+２、およびｍｏｄＢからの距離が２以内のフレーム内予測方向ｍｏｄＢ-２、ｍｏｄＢ-１、ｍｏｄＢ+１、ｍｏｄＢ+２をサーチし、続いて、具体的詳細に従って、ＤＣフレーム内予測方向とｐｌａｎａｒフレーム内予測方向とを候補フレーム内予測方向に追加するかどうかを確定してもよく、具体的には、以下の通りである。
【０１５０】
第一の場合は、ａｖｇ_ｕｐとａｖｇ_ｌｅｆｔとの絶対誤差がＴｈｄ１よりも小さくなく且つ第２の閾値よりも大きくないと(第２の閾値はＴｈｄ２と定義される)、候補フレーム内予測方向である{ＤＣ、ｐｌａｎａｒ、ｍｏｄＡ-２、ｍｏｄＡ-１、ｍｏｄＡ、ｍｏｄＡ+１、ｍｏｄＡ+２、ｍｏｄＢ-２、ｍｏｄＢ-１、ｍｏｄＢ、ｍｏｄＢ+１、ｍｏｄＢ+２}を形成する。
【０１５１】
第二の場合は、ａｖｇ_ｕｐとａｖｇ_ｌｅｆｔとの絶対誤差がＴｈｄ１よりも小さくなく、且つ、Ｔｈｄ２よりも大きく、且つ、第１の符号化済みブロックＡのターゲットフレーム内予測方向と第２の符号化済みブロックＢのターゲットフレーム内予測方向とがいずれもＤＣフレーム内予測方向またはｐｌａｎａｒフレーム内予測方向であると、候補フレーム内予測方向である{ＤＣ、ｐｌａｎａｒ、ｍｏｄＡ-２、ｍｏｄＡ-１、ｍｏｄＡ、ｍｏｄＡ+１、ｍｏｄＡ+２、ｍｏｄＢ-２、ｍｏｄＢ-１、ｍｏｄＢ、ｍｏｄＢ+１、ｍｏｄＢ+２}を形成する。
【０１５２】
第三の場合は、第１の符号化済みブロックＡのターゲットフレーム内予測方向と第２の符号化済みブロックＢのターゲットフレーム内予測方向とがいずれもｐｌａｎａｒフレーム内予測方向である場合に、候補フレーム内予測方向である{ＤＣ、ｐｌａｎａｒ、ｍｏｄＡ-２、ｍｏｄＡ-１、ｍｏｄＡ、ｍｏｄＡ+１、ｍｏｄＡ+２、ｍｏｄＢ-２、ｍｏｄＢ-１、ｍｏｄＢ、ｍｏｄＢ+１、ｍｏｄＢ+２}を形成する。
【０１５３】
第四の場合は、ａｖｇ_ｕｐとａｖｇ_ｌｅｆｔとの絶対誤差がＴｈｄ２よりも大きく、且つ、第１の符号化済みブロックＡのターゲットフレーム内予測方向と第２の符号化済みブロックＢのターゲットフレーム内予測方向とがいずれもＤＣフレーム内予測方向またはｐｌａｎａｒフレーム内予測方向でないと、候補フレーム内予測方向である{ｍｏｄＡ-２、ｍｏｄＡ-１、ｍｏｄＡ、ｍｏｄＡ+１、ｍｏｄＡ+２、ｍｏｄＢ-２、ｍｏｄＢ-１、ｍｏｄＢ、ｍｏｄＢ+１、ｍｏｄＢ+２}を形成する。
【０１５４】
上記それぞれの場合で形成された候補フレーム内予測方向に基づいて、ＲＤＯなどの方式により候補フレーム内予測方向から、レート歪みコストが最小の候補フレーム内予測方向を判定し、ターゲット符号化ブロックのターゲットフレーム内予測方向としてもよい。
【０１５５】
ターゲット符号化ブロックのターゲットフレーム内予測方向を確定した後に、ターゲットフレーム内予測方向でターゲット符号化ブロックに対して最終の予測符号化を行うことで、フレーム内予測残差を取得し、ターゲットフレーム内予測方向をビットストリームに書き込んでもよい。
【０１５６】
続いて、ターゲット符号化ブロックのフレーム内予測残差に対して、変換(ｔｒａｎｓｆｏｒｍ)、量子化(ｑｕａｎｔｉｚａｔｉｏｎ)、エントロピー符号化(ｅｎｔｒｏｐｙ ｃｏｄｉｎｇ)処理を行い、ターゲット符号化ブロックに対する符号化を完成し、ターゲット符号化ブロックの符号化結果を得る。
【０１５７】
各符号化ブロックの符号化結果を組み合わせて、ビデオ画像の符号化結果を取得する。
【０１５８】
本開示の実施例で提供されるフレーム内予測方法によれば、少なくともターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向に対応してサーチされたフレーム内予測方向と各画素主方向に基づいて候補フレーム内予測方向を形成することができ、大幅に候補フレーム内予測方向の数を減らすとともに、ターゲットフレーム内予測方向が直接に確定の候補フレーム内予測方向に基づいて選択されるように制御し、すべてのフレーム内予測方向に基づいて粗く選択するプロセスを省略し、ターゲットフレーム内予測方向選択の処理複雑さが低減され、ビデオ符号化の全体の複雑さが低減され、ビデオ符号化のリアルタイム性が確保される。
【０１５９】
いくつかの場合に、前記第１の平均値と前記第２の平均値との絶対誤差が第１の閾値よりも小さく、且つ、前記各参照符号化済みブロックのターゲットフレーム内予測方向のいずれも第１の設定フレーム内予測方向である場合に、直接に、ターゲット符号化ブロックのターゲットフレーム内予測方向が第１のフレーム内予測方向であると確定してもよく、大幅に処理複雑さを低減させる。
【０１６０】
以下、本開示の実施例で提供されるフレーム内予測装置について紹介し、以下で記述するフレーム内予測装置はビデオ符号化装置とみなし、本開示の実施例で提供されるフレーム内予測方法を実現するために設置されるプログラムモジュールである。以下記述するフレーム内予測装置の内容は、以上で記述されたフレーム内予測方法の内容と相互に参照することができる。
【０１６１】
図１１は、本開示の実施例で提供されるフレーム内予測装置の構造ブロック図であり、当該フレーム内予測装置はビデオ符号化装置に応用でき、図１１を参照して、当該フレーム内予測装置は、
ターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定するための画素主方向確定モジュール１００と、
各画素主方向から設定値内にあるフレーム内予測方向をそれぞれサーチすることで、各画素主方向に対応してサーチされたフレーム内予測方向を取得するための予測方向サーチモジュール２００と、
少なくとも各画素主方向に対応してサーチされたフレーム内予測方向と各画素主方向に基づいて候補フレーム内予測方向を形成するための候補予測方向確定モジュール３００と、
それぞれ各候補フレーム内予測方向に基づいて、ターゲット符号化ブロックに対して予測符号化を行い、各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、各候補フレーム内予測方向からターゲットフレーム内予測方向を確定するためのターゲットフレーム内予測方向確定モジュール４００と、を含むことができる。
【０１６２】
選択的に、予測方向サーチモジュール２００は、各画素主方向から設定値内にあるフレーム内予測方向をそれぞれサーチすることで、前記各画素主方向に対応してサーチされたフレーム内予測方向を取得するためのものであり、具体的に、
各画素主方向を中心として、各画素主方向の周りの設定値内のフレーム内予測方向をサーチすることで、各画素主方向に対応してサーチされたフレーム内予測方向を取得することを含む。
【０１６３】
より詳細に、予測方向サーチモジュール２００は、
いずれかの画素主方向について、当該画素主方向より設定値以内小さいフレーム内予測方向、および当該画素主方向より設定値以内大きいフレーム内予測方向をサーチすることで、当該画素主方向に対応してサーチされたフレーム内予測方向を取得するために用いられてもよい。
【０１６４】
選択的に、画素主方向確定モジュール１００は、ターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定するためのものであり、具体的には、
いずれかの参照符号化済みブロックについて、当該参照符号化済みブロックの各画素の方向を確定し、当該参照符号化済みブロックにおける画素数が最も多い方向を、当該参照符号化済みブロックの画素主方向とすることを含む。
【０１６５】
選択的に、図１２は、本開示の実施例で提供されるフレーム内予測装置の他の構造ブロック図を示しており、図１１、図１２に示すように、当該フレーム内予測装置は、
ターゲット符号化ブロックに接する上方の設定行の再構成画素の第１の平均値、およびターゲット符号化ブロックに接する左方の設定行の再構成画素の第２の平均値を確定するための画素平均値確定モジュール５００と、
前記第１の平均値と前記第２の平均値との絶対誤差が第１の閾値よりも小さいかどうかを判断し、且つ前記各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも第１の設定フレーム内予測方向であるかどうかを判断するための判断モジュール６００と、
前記判断モジュールによって前記第１の平均値と前記第２の平均値との絶対誤差が前記第１の閾値よりも小さくなく、および／又は、前記各参照符号化済みブロックのターゲットフレーム内予測方向のいずれも前記第１の設定フレーム内予測方向ではないと判断されると、前記画素主方向確定モジュールをトリガーして、前記ターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定するステップを実行させるための第１の判断結果実行モジュール７００とを含む。
【０１６６】
選択的に、図１２を参照して、図１２に示すフレーム内予測装置は、
前記判断モジュールによって前記第１の平均値と前記第２の平均値との絶対誤差が前記第１の閾値よりも小さく、且つ、前記各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも前記第１の設定フレーム内予測方向であると判断されると、前記第１の設定フレーム内予測方向を前記ターゲット符号化ブロックのターゲットフレーム内予測方向とするための第２の判断結果実行モジュール８００をさらに含んでもよい。
【０１６７】
選択的に、図１２に示すように、前記候補予測方向確定モジュール３００は、少なくとも各画素主方向に対応してサーチされたフレーム内予測方向と各画素主方向に基づいて候補フレーム内予測方向を形成するためのものであり、具体的には、
前記第１の平均値と前記第２の平均値との絶対誤差が第２の閾値よりも大きくなく、および／又は、前記各参照符号化済みブロックのターゲットフレーム内予測方向がいずれも第１の設定フレーム内予測方向または第２の設定フレーム内予測方向であると、第１の設定フレーム内予測方向、第２の設定フレーム内予測方向、各画素主方向に対応してサーチされたフレーム内予測方向、および各画素主方向を、候補フレーム内予測方向として確定し、
前記第１の平均値と前記第２の平均値との絶対誤差が前記第２の閾値よりも大きく、且つ前記各参照符号化済みブロックのターゲットフレーム内予測方向のいずれも第１の設定フレーム内予測方向または第２の設定フレーム内予測方向でないと、各画素主方向に対応してサーチされたフレーム内予測方向と、各画素主方向とを、候補フレーム内予測方向として確定する、ことを含む。
【０１６８】
選択的に、上記候補予測方向確定モジュール３００が候補フレーム内予測方向を確定する具体的な内容は、独立して実現することもできる。
【０１６９】
選択的に、候補予測方向確定モジュール３００は、第１の設定フレーム内予測方向と第２の設定フレーム内予測方向とを、候補フレーム内予測方向に追加するかどうかを任意で選択してもよく、具体的には、実際の必要に応じて決定される。
【０１７０】
選択的に、前記参照符号化済みブロックは、ターゲット符号化ブロックの上コーナーの左側に接する第１の符号化済みブロックと、ターゲット符号化ブロックの左コーナーの上側に接する第２の符号化済みブロックとを含んでもよい。
【０１７１】
選択的に、ターゲットフレーム内予測方向確定モジュール４００は、各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、各候補フレーム内予測方向からターゲットフレーム内予測方向を確定するためのものであり、具体的には、
各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、各候補フレーム内予測方向に対応するレート歪みコストを確定し、
レート歪みコストが最小の候補フレーム内予測方向を、ターゲットフレーム内予測方向として選択する、ことを含む。
【０１７２】
選択的に、ターゲットフレーム内予測方向確定モジュール４００は、各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、各候補フレーム内予測方向に対応するレート歪みコストを確定するためのものであり、具体的には、
各候補フレーム内予測方向でターゲット符号化ブロックに対して予測符号化を行ったフレーム内予測残差をそれぞれ確定することで、各候補フレーム内予測方向に対応するフレーム内予測残差を取得し、
それぞれ各候補フレーム内予測方向に対応するフレーム内予測残差に対して変換および量子化を行うことで、各候補フレーム内予測方向に対応する変換および量子化結果を取得し、
それぞれ各候補フレーム内予測方向に対応する変換および量子化結果に対して逆量子化および逆変換を行うことで、各候補フレーム内予測方向に対応するターゲット符号化ブロックの画素再構成値を取得し、
それぞれ各候補フレーム内予測方向に対応するターゲット符号化ブロックの画素再構成値と、ターゲット符号化ブロックの画素オリジナル値とに基づいて、各候補フレーム内予測方向に対応するレート歪みコストを確定する、ことを含む。
【０１７３】
本開示の実施例で提供されるフレーム内予測装置は、ターゲットフレーム内予測方向の選択複雑さを低減させ、ビデオ符号化の複雑さが低減され、ビデオ符号化のリアルタイム性要件を満たすようにする。
【０１７４】
本開示の実施例は、ビデオ符号化装置をさらに提供し、当該ビデオ符号化装置は、上記プログラムモジュール機能を実現するプログラムをロードすることで、本開示の実施例で提供されるフレーム内予測方法を実現することができ、当該ビデオ符号化装置は、携帯電話、ノートパソコンなどの端末等として実現されてもよいし、サーバであってもよい。
【０１７５】
図１３は、ビデオ符号化装置のハードウェア構造ブロック図を示しており、図１３を参照して、当該ビデオ符号化装置は、少なくとも一つの中央処理装置１、少なくとも一つの通信インタフェース２、少なくとも一つのメモリ３、少なくとも一つの通信バス４、および少なくとも一つのグラフィックスプロセッサ５を含むことができる。
【０１７６】
本開示の実施例では、プロセッサー１、通信インタフェース２、メモリ３、通信バス４、グラフィックスプロセッサ５の数は少なくとも一つであり、且つ、プロセッサー１、通信インタフェース２、メモリ３は、通信バス４を介して相互の通信を完成する。
【０１７７】
なお、メモリには、中央処理装置またはグラフィックスプロセッサによる実行に適するプログラムが記憶され、前記プログラムは、
ターゲット符号化ブロックに空間的に隣接する参照符号化済みブロックにおいて、各参照符号化済みブロックの画素主方向を確定し、
各画素主方向から設定値内にあるフレーム内予測方向をそれぞれサーチすることで、各画素主方向に対応してサーチされたフレーム内予測方向を取得し、
少なくとも各画素主方向に対応してサーチされたフレーム内予測方向と各画素主方向に基づいて候補フレーム内予測方向を形成し、
それぞれ各候補フレーム内予測方向に基づいて、ターゲット符号化ブロックに対して予測符号化を行い、各候補フレーム内予測方向のそれぞれに対応する予測符号化結果に基づいて、前記各候補フレーム内予測方向からターゲットフレーム内予測方向を確定する、ためのものである。
【０１７８】
選択的に、前記プログラムの詳細な機能と拡張機能については、上記の相応する部分の記述を参照することができる。
【０１７９】
本開示の実施例は記憶媒体をさらに提供し、当該記憶媒体には、中央処理装置またはグラフィックスプロセッサによる実行に適するプログラムが記憶されており、前記プログラムは、前述各実施例に記載のフレーム内予測方法におけるいずれかの実施形態を実行するために用いられる。
【０１８０】
本開示の実施例はコンピュータプログラム製品をさらに提供し、コマンドを含み、コンピュータ上で実行される場合に、コンピュータに前述各実施例に記載のフレーム内予測方法におけるいずれかの実施形態を実行させる。
【０１８１】
選択的に、前記プログラムの詳細な機能と拡張機能については、上記の相応する部分の記述を参照することができる。
【０１８２】
本明細書中の実施例は段階的方式で説明し、各実施例は他の実施例との差を主に説明し、各実施例の間で同一又は類似の部分について互いに参照すればよい。装置の実施例は方法の実施例と対応するため、簡潔に説明し、関連部分について方法の実施例を参照すればよい。
【０１８３】
当業者は、本明細書で開示された実施例に基づいて説明された各例のユニット及びアルゴリズム、ステップは、電子ハードウェア、コンピュータソフトウェア、又はこれらの組み合わせで実現できることを理解し得る。ハードウェア及びソフトウェアの間の可換性を明確に説明するために、前述の説明で機能に従って各例の構成及びステップを一般的に説明した。これらの機能がハードウェアの形態で実行されるか又はソフトウェアの形態で実行されるかは、技術的解決策の具体的な用途及び設計制約条件に依存する。当業者は、各々の特定の応用に対して異なる方法を使用して説明の機能を実現することができるが、その実現が本開示の範囲を越えると考えるべきではない。
【０１８４】
本明細書で開示された実施例に基づいて説明された方法又はアルゴリズムのステップは、ハードウェア、プロセッサにより実行されるソフトウェアモジュール、又はこれらの組み合わせを使用して直接に実現されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ（ＲＡＭ）、メモリ、読取専用メモリ（ＲＯＭ）、電気的プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラム可能ＲＯＭ（ＥＥＰＲＯＭ）、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ‐ＲＯＭ、又は当該技術分野で周知の他の形式の任意の記憶媒体に配置されてもよい。
【０１８５】
開示された実施例の上記説明は、当業者が本開示を実現又は使用することを可能にする。当業者にとってこれらの実施例に対する様々な変更が可能であり、本明細書で定義された一般的原理は、本開示の主旨及び範囲から逸脱することなく他の実施例で実現されてもよい。本開示は、本明細書で例示されたこれらの実施例に限定されず、本明細書で開示された原理及び新規の特徴に一致する最も広い範囲に従う。
【符号の説明】
【０１８６】
1  中央処理装置
2  通信インタフェース
3  メモリ
4  通信バス
5  グラフィックスプロセッサ
100  画素主方向確定モジュール
200  予測方向サーチモジュール
300  候補予測方向確定モジュール
400  ターゲットフレーム内予測方向確定モジュール
500  画素平均値確定モジュール
600  判断モジュール
700  第１の判断結果実行モジュール
800  第２の判断結果実行モジュール
【図１】
0006943482.tif 000002
【図２】
0006943482.tif 000003
【図３】
0006943482.tif 000004
【図４】
0006943482.tif 000005
【図５】
0006943482.tif 000006
【図６】
0006943482.tif 000007
【図７】
0006943482.tif 000008
【図８】
0006943482.tif 000009
【図９】
0006943482.tif 000010
【図１０】
0006943482.tif 000011
【図１１】
0006943482.tif 000012
【図１２】
0006943482.tif 000013
【図１３】
0006943482.tif 000014