(57)【特許請求の範囲】
【請求項１】
ビデオ復号方法であって、
ビデオ圧縮ビットストリームの復号化後に取得された変換ユニット及び予測ユニットをMxM残差ブロック及びMxM予測ブロックにそれぞれ変換するステップであって、M=16, 8, 又は4であり、かつ前記ビデオ圧縮ビットストリームは、高能率ビデオ符号化HEVCビットストリーム、VP9ビットストリーム、及びオーディオビデオ標準AVS2.0ビットストリームのいずれか一つを含む、ステップと、
前記残差ブロック及び前記予測ブロックに基づいて、再構成ピクチャブロックを取得するステップと、
前記再構成ピクチャブロックに対してフィルタリングを実行することによって、復号化された再構成ピクチャを取得するステップと、
を含む方法であって、
ここで、M=16であり、かつビデオ圧縮ビットストリームの復号化後に取得された変換ユニット及び予測ユニットをMxM残差ブロック及びMxM予測ブロックにそれぞれ変換する前記ステップは特に、
復号化されるコードツリーブロックの複数のコードユニットを取得するステップであって、各コードユニットのサイズは2Nx8x8であり、かつN=0, 2, 4, 又は8であり、各コードユニットは少なくとも1の予測ユニット又は少なくとも1の変換ユニットを含み、
もしN=0の場合、前記コードツリーブロックの4のコードユニットを1の予測ブロック又は残差ブロックに組み合わせるステップ、又は
もしN=2の場合、前記コードツリーブロックの各コードユニットを1の予測ブロック又は残差ブロックとして直接使用するステップ、又は
もしN=4の場合、前記コードツリーブロックの各コードユニットを4の予測ブロック又は残差ブロックに分割するステップ、又は
もしN=8の場合、前記コードツリーブロックの各コードユニットを16の予測ブロック又は残差ブロックに分割するステップ
を含む、方法。
【請求項２】
ビデオ圧縮ビットストリームの復号化後に取得された変換ユニット及び予測ユニットを、MxM残差ブロック及びMxM予測ブロックにそれぞれ変換する前記ステップの前に、
前記ビデオ圧縮ビットストリームをエントロピー復号化することによって、動きベクトル及び変換係数を含む構文要素を解析するステップと、
前記変換ユニットを取得するために、前記変換係数で、逆スキャニングと、逆量子化と、逆変換とを実行するステップと、
前記予測ユニットを取得するために、前記動きベクトル及び参照ピクチャに基づいてフレーム間動き補償を実行するステップ又はフレーム内予測ピクチャに基づいてフレーム内動き補償を実行するステップと
をさらに含む請求項1に記載の方法。
【請求項３】
ビデオ圧縮ビットストリームの復号化後に取得された変換ユニット及び予測ユニットを、MxM残差ブロック及びMxM予測ブロックにそれぞれ変換する前記ステップの後に、
前記予測ブロックに画素補間処理を実行するステップ
をさらに含む請求項1に記載の方法。
【請求項４】
前記再構成ピクチャブロックに対してフィルタリングを実行することによって復号化された再構成ピクチャを取得する前記ステップは、特に
前記再構成ピクチャブロックに対してデブロッキングフィルタリングを実行することによって前記復号化された再構成ピクチャを取得するステップを含む、請求項1〜3のいずれか一項に記載の方法。
【請求項５】
ビデオデコーダであって、
ビデオ圧縮ビットストリームの復号化後に取得された変換ユニット及び予測ユニットを、MxM残差ブロック及びMxM予測ブロックにそれぞれ変換するように構成された変換モジュールであって、M=16, 8, 又は4であり、かつ前記ビデオ圧縮ビットストリームは、HEVCビットストリーム、VP9ビットストリーム、及びAVS2.0ビットストリームのいずれか一つを含む、変換モジュールと、
前記残差ブロック及び前記予測ブロックに基づいて、再構成ピクチャブロックを取得するように構成された再構成モジュールと、
前記再構成ピクチャブロックに対してデブロッキングフィルタリングを実行することによって復号化された再構成ピクチャを取得するように構成されたフィルタリングモジュールと
を備えるビデオデコーダであって、
ここで、M=16であり、かつ前記変換モジュールは特に、復号化されるコードツリーブロックの複数のコードユニットを取得するように構成され、各コードユニットのサイズは2Nx8x8であり、かつN=0, 2, 4, 又は8であり、各コードユニットは少なくとも1の予測ユニット又は少なくとも1の変換ユニットを含み、
もしN=0の場合、前記コードツリーブロックの4のコードユニットを1の予測ブロック又は残差ブロックに組み合わせ、又は
もしN=2の場合、前記コードツリーブロックの各コードユニットを1の予測ブロック又は残差ブロックとして直接使用し、又は
もしN=4の場合、前記コードツリーブロックの各コードユニットを4の予測ブロック又は残差ブロックに分割し、又は
もしN=8の場合、前記コードツリーブロックの各コードユニットを16の予測ブロック又は残差ブロックに分割する
ように構成される、ビデオデコーダ。
【請求項６】
前記ビデオ圧縮ビットストリームをエントロピー復号化することによって、動きベクトル及び変換係数を含む構文要素を解析するように構成されたビットストリーム解析モジュールと、
前記変換ユニットを取得するために、前記変換係数で、逆スキャニングと、逆量子化と、逆変換とを実行するように構成された逆変換モジュールと、
前記予測ユニットを取得するために、前記動きベクトル及び参照ピクチャに基づいてフレーム間動き補償を実行し、又はフレーム内予測ピクチャに基づいてフレーム内動き補償を実行するように構成された予測モジュールと
をさらに備える請求項5に記載のビデオデコーダ。
【請求項７】
前記予測ブロックに対して画素補間処理を実行し、かつ補間処理後に予測ブロックを前記再構成モジュールに移すように構成された補間モジュールをさらに備える、請求項5に記載のビデオデコーダ。
【請求項８】
前記フィルタリングモジュールは、前記再構成ピクチャブロックに対してデブロッキングフィルタリングを実行することによって、前記復号化された再構成ピクチャを取得するように構成された、請求項5〜7のいずれか一項に記載のビデオデコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はピクチャ処理の分野に関し、特にビデオ復号方法及びビデオデコーダに関する。
【背景技術】
【０００２】
ビデオ圧縮技術は、インターネット、テレビ放送、記憶媒体、及び通信の分野に広く適用されている。1993年のMPEG(Moving Picture Experts Group)標準以来、承継及び発展の数年後に、様々なビデオ圧縮フォーマットが共存している。これまで、あるコマーシャルビデオデコーダは、例えばMPEG-1, MPEG-2, MPEG-4, H.263, H.264, H.265, Real8, Real9, VC1, AVSP2, VP8, VP9, 及びDIVXのような11以上のビデオ圧縮フォーマットをサポートする必要があった。これは、ビデオデコーダに大きな課題をもたらし、かつ特にインテリジェントデバイスの出現により、ハードウェアの観点からビデオデコーダの面積及び電力消費に厳しい要件を課した。
【０００３】
例えば(MPEG-1, MPEG-2, MPEG-4, H.263, H.264, Real8, Real9, VC1, AVSP2, VP8, VP9, 及びDIVX)のような2013年よりも前のプロトコルでは、16x16マクロブロックが、ビデオピクチャを分割しかつ圧縮するために基本画素ユニットとして使用され、かつ前記マクロブロックを内部分割しかつ圧縮するための方法は様々なプロトコルにおいて異なっている。
【０００４】
しかしながら、2013年以後、例えばHEVC(高能率ビデオ符号化, High Efficiency Video Coding), VP9, 又はAVS(Audio Video Coding Standard, オーディオビデオコーディング標準)2.0のような新たなビデオ圧縮プロトコルが出現し、新たなピクチャ分割フォーマットが提唱され、かつ新たなピクチャ分割フォーマットの基本画素ユニットに対して、マクロブロックよりも大きいラージブロックと、前記マクロブロックよりも小さいスモールブロックが存在し、それによって、ビデオデコーダ設計の複雑さ及び難しさを増加させた。現在、多くの場合、問題を解決するために、新たなプロトコルをサポートする複数の復号コアが、このビデオデコーダのために独立的に設計される。しかしながら、複数の独立の復号コアを含むこのビデオデコーダの面積及び電力消費は増加し、開発期間は延びてしまう。
【発明の概要】
【課題を解決するための手段】
【０００５】
技術的問題を解決するために、本発明の態様は、ビデオ復号方法及びビデオデコーダを提供し、従来技術における、長い開発期間、大きなチップ面積、及びマルチプロトコルビデオデコーダの高電力消費の欠点を解消することができる。
【０００６】
前述の技術的問題を解決するために、本発明の実施の第1態様は、ビデオ復号方法を提供し、
ビデオ圧縮ビットストリームの復号化後に取得された変換ユニット及び予測ユニットを、MxM残差ブロック及びMxM予測ブロックにそれぞれ変換するステップであって、M=16, 8,又は4であり、かつビデオ圧縮ビットストリームは、HEVCビットストリーム、VP9ビットストリーム、及びAVS2.0ビットストリームのいずれか1つを含む、ステップと、
前記残差ブロック及び前記予測ブロックに基づいて、再構成ピクチャブロックを取得するステップと、
前記再構成ピクチャブロックに対してフィルタリングを実行することによって、復号化された再構成ピクチャを取得するステップと
を含む。
【０００７】
第1態様を参照する第1の可能な実施方式において、ビデオ圧縮ビットストリームの復号化後に取得された変換ユニット及び予測ユニットを、MxM残差ブロック及びMxM予測ブロックにそれぞれ変換する前記ステップの前に、前記方法はさらに、
前記ビデオ圧縮ビットストリームをエントロピー復号化することによって、動きベクトル及び変換係数を含む構文要素を解析するステップと、
前記変換ユニットを取得するために、前記変換係数で、逆スキャニングと、逆量子化と、逆変換とを実行するステップと、
前記予測ユニットを取得するために、前記動きベクトル及び参照ピクチャに基づいてフレーム間動き補償を実行するステップ、又はフレーム内予測ピクチャに基づいてフレーム内動き補償を実行するステップと
を含む。
【０００８】
第1態様又は第1の可能な実施方式を参照する第2の可能な実施方式において、M=16であり、かつビデオ圧縮ビットストリームの復号化後に取得された変換ユニット及び予測ユニットを、MxM残差ブロック及びMxM予測ブロックにそれぞれ変換する前記ステップは特に、
復号化されるコードツリーブロックの複数のコードユニットを取得するステップであって、各コードユニットのサイズは2Nx8x8であり、かつN=0, 2, 4, 又は8であり、各コードユニットは少なくとも1の予測ユニット又は少なくとも1の変換ユニットを含み、
もしN=0の場合、前記コードツリーブロックの4のコードユニットを、1の予測ブロック又は残差ブロックに組み合わせるステップ、又は
もしN=2の場合、前記コードツリーブロックの各コードユニットを、1の予測ブロック又は残差ブロックとして直接使用するステップ、又は
もしN=4の場合、前記コードツリーブロックの各コードユニットを、4の予測ブロック又は残差ブロックに分割するステップ、又は
もしN=8の場合、前記コードツリーブロックの各コードユニットを、16の予測ブロック又は残差ブロックに分割するステップ
を含む。
【０００９】
第1態様の第2の可能な実施方式を参照する第3の可能な実施方式において、ビデオ圧縮ビットストリームの復号化後に取得された変換ユニット及び予測ユニットを、MxM残差ブロック及びMxM予測ブロックにそれぞれ変換する前記ステップの後に、前記方法はさらに、
前記予測ブロックに対して画素補間処理を実行するステップ
を含む。
【００１０】
第1態様から第3の可能な実施方式までのいずれか一つを参照する第4の可能な実施方式において、前記再構成ピクチャブロックに対してフィルタリングを実行することによって復号化された再構成ピクチャを取得する前記ステップは、特に、
前記再構成ピクチャブロックに対してデブロッキングフィルタリングを実行することによって前記復号化された再構成ピクチャを取得するステップを含む。
【００１１】
それに対応して、本発明の実施の第2態様は、ビデオデコーダをさらに提供し、前記ビデオデコーダは、
ビデオ圧縮ビットストリームの復号化後に取得された変換ユニット及び予測ユニットを、MxM残差ブロック及びMxM予測ブロックにそれぞれ変更するように構成される変換モジュールであって、M=16, 8, 又は4であり、かつビデオ圧縮ビットストリームは、HEVCビットストリーム、VP9ビットストリーム、及びAVS2.0ビットストリームのいずれか1つを含む、変換モジュールと、
前記残差ブロック及び前記予測ブロックに基づいて再構成ピクチャブロックを取得するように構成された再構成モジュールと、
前記再構成ピクチャブロックに対して、デブロッキングフィルタリングを実行することによって、復号化された再構成ピクチャを取得するように構成されたフィルタリングモジュールと
を備える。
【００１２】
第2態様を参照する第1の可能な実施方式において、前記ビデオデコーダはさらに、
前記ビデオ圧縮ビットストリームをエントロピー復号化することによって、動きベクトル及び変換係数を含む構文要素を解析するように構成されたビットストリーム解析モジュールと、
前記変換ユニットを取得するために、前記変換係数で、逆スキャニングと、逆量子化と、逆変換とを実行するように構成された逆変換モジュールと、
前記予測ユニットを取得するために、前記動きベクトル及び参照ピクチャに基づいてフレーム間動き補償を実行し、又はフレーム内予測ピクチャに基づいてフレーム内動き補償を実行するように構成された予測モジュールと
を備える。
【００１３】
第2態様又は第1の可能な実施方式を参照する第2の可能な実施方式において、M=16であり、かつ前記変換モジュールは特に、復号化されるコードツリーブロックの複数のコードユニットを取得するように構成され、各コードユニットのサイズは2Nx8x8であり、かつN=0, 2, 4,又は8であり、各コードユニットは少なくとも1の予測ユニット又は少なくとも1の変換ユニットを含み、
もしN=0の場合、前記コードツリーブロックの4のコードユニットを、1の予測ブロック又は残差ブロックに組み合わせ、又は
もしN=2の場合、前記コードツリーブロックの各コードユニットを、1の予測ブロック又は残差ブロックとして直接使用し、又は
もしN=4の場合、前記コードツリーブロックの各コードユニットを、4の予測ブロック又は残差ブロックに分割し、又は
もしN=8の場合、前記コードツリーブロックの各コードユニットを、16の予測ブロック又は残差ブロックに分割する。
【００１４】
第2態様から第3の可能な実施方式までのいずれか一つを参照する第4の可能な実施方式において、前記フィルタリングモジュールは特に、前記再構成ピクチャブロックに対してデブロッキングフィルタリングを実行することによって、復号化された再構成ピクチャを取得するように構成される。
【００１５】
以下の有益な効果が本発明の態様を実施することによってもたらされる。
【００１６】
すなわち、異なるサイズである予測ユニット及び変換ユニットが、16x16, 8x8, 又は4x4の粒度に変換され、その結果、HEVCプロトコル、VP9プロトコル、又はAVS2.0プロトコルをサポートする復号コアのパイプライン粒度はマクロブロックに基づく復号コアのパイプライン粒度に等しく、かつHEVCプロトコル、VP9プロトコル、又はAVS2.0における復号コアは、3つのプロトコルのうちビデオ復号処理に共通する部分を使用することによって、最後の生成の復号コアのいくつかのモジュールを再利用してもよく、新たな復号コアのモジュール開発を減少させ、かつHEVCプロトコル、VP9プロトコル、又はAVS2.0プロトコルをサポートするマルチプロトコルビデオデコーダの面積及び電力消費を効果的にに減少させる。
【図面の簡単な説明】
【００１７】
本発明の実施形態又は従来技術における技術的解決策をより明瞭に説明するために、以下に実施形態又は従来技術を説明するために必要な添付図面を簡潔に説明する。当然ながら、以下の説明における添付図面は、本発明のいくつかの実施形態を示しているに過ぎず、当業者は、創造的努力なしにこれらの添付からさらに他の図面を導き出すことができる。
【図１】本発明の第1の実施形態に基づくビデオ復号方法の概略フローチャートである。
【図２】図1における変換ユニットを変換することの概略図である。
【図３】図1における変換ユニットを変換することの別の概略図である。
【図４】図1における変換ユニットを変換することのさらに別の概略図である。
【図５】図1における予測ユニットを変換することの概略図である。
【図６】図1における予測ユニットを変換することの別の概略図である。
【図７】本発明の第2の実施形態に基づくビデオ復号方法の概略フローチャートである。
【図８】本発明の第1の実施形態に基づくビデオデコーダの概略構造図である。
【図９】本発明の第2の実施形態に基づくビデオデコーダの概略構造図である。
【図１０】本発明の第3の実施形態に基づくビデオデコーダの概略構造図である。
【図１１】本発明の第4の実施形態に基づくビデオデコーダの概略構造図である。
【発明を実施するための形態】
【００１８】
本発明の実施形態における添付図面を参照して、本発明の実施形態における技術的解決策を以下に明確かつ十分に説明する。当然ながら、説明される実施形態は、単なる本発明のいくつかの実施形態に過ぎず全てではない。創造的努力なしに本発明の実施形態に基づいて当業者によって取得される他の全ての実施形態は、本発明の保護範囲内であるものとする。
【００１９】
図1を参照すると、図1は、本発明の実施形態に基づくビデオ復号方法である。この実施形態において、前記方法は以下のステップを含む。
【００２０】
S101: ビデオ圧縮ビットストリームの復号化後に取得された変換ユニット及び予測ユニットをMxM残差ブロック及びMxM予測ブロックにそれぞれ変換する。M=16, 8, 又は4である。
【００２１】
特に、ビデオエンコーダ側で、ビデオエンコーダが、HEVCプロトコル、VP9プロトコル、又はAVS2.0プロトコルに基づいてビデオに圧縮処理を実行するとき、CTB(Code Tree Block, コードツリーブロック)が基本分割ユニット(basic partition unit)として使用され、CTBは四分木構造であり、各CTBは1又は4のCU(Code Unit, コードユニット)を含み、CU分割のサイズは固定ではなく、各CUは0,1,又は4のPU(Prediction Unit, 予測ユニット)を有し、又は各CUは1又は4のTU(Transform Unit, 変換ユニット)を有する。CUのサイズは、4つの形式、すなわち8x8, 16x16, 32x32, 及び64x64を含む。CU, PU, 及びTUのさらなる定義については、既存のビデオ符号化技術のプロトコルの説明を参照されたく、この実施形態においては省略する。
【００２２】
ビデオデコーダは、NAL(Network Abstraction Layer, ネットワーク抽象化層)からビデオ圧縮ビットストリームを受信し、かつビデオ圧縮ビットストリームを解析した後、予測ユニット及び/又は変換ユニットを別々に取得する。前記ビデオ圧縮ビットストリームは、例えばHEVCビットストリーム、VP9ビットストリーム、及びAVS2.0ビットストリームのようなビデオ圧縮ビットストリームのいずれか一つを含む。ビデオデコーダは2つの並列処理チャネルを含み、1つは変換チャネルであり、もう1つは予測チャネルである。変換ユニットは残差情報を含み、予測ユニットは予測情報を含み、解析によって取得された変換ユニットは変換チャネル上で処理され、かつ予測ユニットは予測チャネル上で処理される。前記ビデオデコーダは、ビデオ圧縮ビットストリームにおけるCTBのサイズを使用することによって変換チャネル上で、変換ユニットに対して分割操作及び組み合わせ操作を実行し、かつ変換チャネル上にある変換ユニットを、MxMサイズの残差ブロックにそれぞれ変換するとともに、予測チャネル上にある予測ユニットをMxMサイズの予測ブロックに変換する。
【００２３】
どのようにビデオデコーダが変換チャネル及び予測チャネル上で変換ユニット及び予測ユニットを変換するのかを説明するために、M=16が以下に実施例として使用される。
【００２４】
図2は、変換チャネル上でCUを再結合する実施例を示している。ビデオデコーダは、ビデオ圧縮ビットストリームを解析することによって、復号化されるCTBのCUのサイズが8x8であることを学習し、かつ、変換を実行するためにキャッシュから復号化されるCTBによって含まれる4つのCUを読む。前記4つのCUはそれぞれCU 0, CU 1, CU 2, 及びCU 3として同定され、かつ4つの8x8 CUは、1つの16x16残差ブロックMB 0を形成する。CU 0はそれぞれTU 00, TU 01, TU 02, 及びTU 03である4つのTUを含む。CU 1は1つのTUユニットを含み、かつ前記TUはTU 10として同定され、CU 2は1つのTUを含み、かつ前記TUはTU 20として同定され、かつCU 3は4つのTUを含み、かつ4つのTUはそれぞれTU 30, TU 31, TU 32, 及びTU 33として同定される。
【００２５】
図3は、変換チャネル上でCUを分割する実施例を示している。ビデオデコーダは、ビデオ圧縮ビットストリームを解析することによって、復号化されるCTBのCUのサイズは32x32であることを学習し、CUは1のTUを含み、かつ前記TUはTU 0として同定される。前記32x32 CUは4つの16x16 残差ブロック、それぞれMB 0, MB 1, MB 2, 及びMB 3に分割される。分割の後、MB 0はTU 0の1/4であるTU 00から構成され、MB 1はTU 0の1/4であるTU 01から構成され、MB 2はTU 0の1/4であるTU 02から構成され、かつMB 3はTU 0の1/4であるTU 03から構成される。
【００２６】
図4は、変換チャネル上でCUを分割する実施例を示している。ビデオデコーダは、ビデオ圧縮ビットストリームを解析することによって、復号化されるCTBのCUのサイズは32x32であることを学習し、CUは31のTUを含み、それぞれTU 00−TU 09, TU 10−TU 115, TU 20−TU 22, 及びTU 30として同定され、かつ前記32x32 CUは4つの16x16 残差ブロック、それぞれはMB 0, MB 1, MB 2, 及びMB 3に分割される。分割の後、MB 0はTU 00−TU 09から構成され、MB 1はTU 10−TU 115から構成され、MB 2はTU 20−TU 22から構成され、かつMB 3はTU 30から構成される。
【００２７】
図5は、予測チャネル上でCUを再結合する実施例を示している。ビデオデコーダは、ビデオ圧縮ビットストリームを解析することによって、復号化されるCTBのCUのサイズが8x8であることを学習し、かつ変換を実行するためにキャッシュから復号化されるCTBによって含まれる4つのCUを読む。前記4つのCUは、それぞれCU 0, CU 1, CU 2, 及びCU 3として同定され、かつ4つの8x8 CUは1つの16x16 予測ブロックMB 0を形成する。CU 0はPU 00及びPU 01として同定される2のPUを含み、CU 1はPU 10として同定される1つのPUユニットを含み、CU 2はPU 20として同定される1つのPUを含み、CU 3はPU 30及びPU 31として同定される2つのPUを含む。
【００２８】
図6は、予測チャネル上でCUを分割する実施例を示している。ビデオデコーダは、ビデオ圧縮ビットストリームを解析することによって、復号化されるCTBのCUのサイズが32x32であることを学習し、CUはPU 0及びPU 1としてそれぞれ同定される2つのPUを含み、かつ32x32のCUは、それぞれがMB 0, MB 1, MB 2, 及びMB 3である4つの16x16の予測ブロックに分割される。分割の後に、MB 0はPU 0の1/3であるPU 00から構成され、MB 1はPU 0の1/6であるPU 01と、PU 1の1/2であるPU 10とから構成され、MB 2はPU 0の1/3であるPU 02から構成され、かつMB 3はPU 0の1/6であるPU 03と、PU 1の1/2であるPU 11とから構成される。
【００２９】
もしM=8又は4である場合、ビデオデコーダは、前述の分割又は再結合方法を使用することによって、コードユニット又は予測ユニットをMxMの粒度に変換してもよいと理解されてもよい。
【００３０】
異なるサイズである予測ユニット及び変換ユニットは、16x16, 8x8, 又は4x4の粒度に変換され、その結果、HEVCプロトコル、VP9プロトコル、又はAVS2.0プロトコルをサポートする復号コア(decoding core)のパイプライン粒度(pipeline granularity)は、マクロブロックに基づく復号コアのパイプライン粒度と等しく、かつHEVCプロトコル、VP9プロトコル、又はAVS2.0における復号コアは、3つのプロトコルのうちビデオ復号処理に共通する部分を使用することにより、最後の生成の復号コアのいくつかのモジュールを再利用してもよく、新たな復号コアのモジュール開発を減少させ、かつ、HEVCプロトコル、VP9プロトコル、又はAVS2.0プロトコルをサポートするマルチプロトコルビデオデコーダの面積及び電力消費を効果的に減少させる。
【００３１】
S102: 前記残差ブロック及び前記予測ブロックに基づいて、再構成ピクチャブロックを取得する。
【００３２】
特に、前記再構成ピクチャブロックは、前記残差ブロック及び前記予測ブロックが重み付けされた後に取得される。
【００３３】
S103: 前記再構成ピクチャブロックに対してフィルタリングを実行することによって復号化された再構成ピクチャを取得する。
【００３４】
特に、前記復号化された再構成ピクチャは、例えば再構成ピクチャブロックに対してデブロッキングフィルタリング又は適応フィルタリングのようなフィルタリング処理を実行することによって取得される。
【００３５】
図7を参照すると、図7は、本発明の実施形態に基づくビデオ復号方法の別の概略フローチャートである。この実施形態において、方法は、以下のステップを含む。
【００３６】
S201: ビデオ圧縮ビットストリームをエントロピー復号化することによって、動きベクトル及び変換係数を含む構文要素を解析する。
【００３７】
特に、ビデオデコーダは、NALからビデオ圧縮ビットストリームを受信し、圧縮ピクチャデータと、例えばシーケンスパラメータセット又はピクチャパラメータセットのようなパラメータとを解析し、かつ、エントロピー復号化を実行した後に、例えば動きベクトル及び変換係数のような構文要素を取得する。
【００３８】
S202: 変換ユニットを取得するために、前記変換係数で、逆スキャニングと、逆量子化と、逆変換とを実行する。
【００３９】
特に、S201において取得された変換係数は一次元データであり、ビデオデコーダは、逆スキャニングと、逆量子化と、逆変換との処理を実行することによって、一次元データ(変換係数)を二次元配列又は行列、つまり前記変換ユニットに変換し、かつ前記変換ユニットは、対応するブロックの輝度及び/又はクロミナンスについての残差情報を含む。
【００４０】
S203: 予測ユニットを取得するために、前記動きベクトル及び参照ピクチャに基づいてフレーム間動き補償を実行し、又はフレーム内予測ピクチャに基づいてフレーム内動き補償を実行する。
【００４１】
特に、前記予測ユニットは、動きベクトルに基づいて、対応する参照ピクチャから取得され、かつこの場合、予測ユニットはフレーム間予測情報を含む。あるいは、予測ユニットは、フレーム内予測ピクチャに基づいて、フレーム内動き補償が実行された後に取得され、かつこの場合、予測ユニットはフレーム内予測情報を含む。
【００４２】
S204: 前記ビデオ圧縮ビットストリームの復号化の後に取得される変換ユニット及び予測ユニットを、MxM残差ブロック及びMxM予測ブロックにそれぞれ変換する。M=16, 8, 又は4である。
【００４３】
特に、2Nx8x8として表されるコードユニットのサイズの4タイプが存在することがHEVCプロトコルで指定されており、N=0, 2, 4, 又は8であり、各コードユニットは少なくとも1の予測ユニット又は少なくとも1の変換ユニットを含む。コードユニットにおける変換ユニット又は予測ユニットの変換を説明するために、M=16, 8, 又は4が以下に実施例として別々に使用される。
【００４４】
実施例として、M=16を使用することによって変換が実行される。もしN=0の場合、コードツリーブロックの4のコードユニットが1の予測ブロック又は残差ブロックに組み合わされる。又は、もしN=2の場合、コードツリーブロックの各コードユニットが1の予測ブロック又は残差ブロックとして直接使用される。又は、もしN=4の場合、コードツリーブロックの各コードユニットが、4の予測ブロック又は残差ブロックに分割される。又は、もしN=8の場合、コードツリーブロックの各コードユニットが、16の予測ブロック又は残差ブロックに分割される。
【００４５】
実施例として、M=8を使用することによって変換が実行される。もしN=0の場合、コードツリーブロックの各コードユニットは、1の予測ブロック又は残差ブロックとして直接使用され、又は、もしN=2の場合、コードツリーブロックの各コードユニットは、4の予測ブロック又は残差ブロックに分割され、又は、もしN=4の場合、コードツリーブロックの各コードユニットは、16の予測ブロック又は残差ブロックに分割され、又は、もしN=8の場合、コードツリーブロックの各コードユニットは、64の予測ブロック又は残差ブロックに分割される。
【００４６】
実施例として、M=4を使用することによって変換が実行される。もしN=0の場合、コードツリーブロックの各コードユニットは、4の予測ブロック又は残差ブロックに分割され、もしN=2の場合、コードツリーブロックの各コードユニットは、8の予測ブロック又は残差ブロックに分割され、もしN=4の場合、コードツリーブロックの各コードユニットは、64の予測ブロック又は残差ブロックに分割され、もしN=8の場合、コードツリーブロックの各コードユニットは、256の予測ブロック又は残差ブロックに分割される。
【００４７】
S205: 前記予測ブロックに対して画素補間処理を実行する。
【００４８】
特に、補間点は隣接画素によって決定され、かつ補間はプロトコル標準に基づくフィルタによって完了される。
【００４９】
S206: 前記残差ブロック及び前記予測ブロックに基づいて再構成ピクチャブロックを取得する。
【００５０】
特に、再構成ピクチャブロックは、残差情報を含む残差ブロックと、予測情報を含む予測ブロックとに重み付け処理を実行することによって取得される。
【００５１】
S207: 再構成ピクチャブロックに対してフィルタリング(例えばデブロッキング効果フィルタリング又は適応補償フィルタリング)を実行することによって、復号化された再構成ピクチャを取得する。
【００５２】
異なるサイズである予測ユニット及び変換ユニットは、16x16, 8x8, 又は4x4の粒度に変換され、その結果、HEVCプロトコル、VP9プロトコル、又はAVS2.0プロトコルをサポートする復号コアのパイプライン粒度は、マクロブロックに基づく復号コアのパイプライン粒度に等しくなり、かつ、HEVCプロトコル、VP9プロトコル、又はAVS2.0における復号コアは、3つのプロトコルのうちビデオ復号処理に共通する部分を使用することによって、マクロブロックに基づく復号コアのいくつかのモジュールを再利用してもよく、新たな復号コアのモジュール開発を減少させ、かつ、HEVCプロトコル、VP9プロトコル、又はAVS2.0プロトコルをサポートするマルチプロトコルビデオデコーダの面積及び電力消費を効果的に減少させる。
【００５３】
図8を参照すると、図8は、本発明の実施形態に基づくビデオデコーダの概略構造図である。この実施形態において、ビデオデコーダは、変換モジュール10と、再構成モジュール11と、フィルタリングモジュール12とを備える。
【００５４】
前記変換モジュール10は、ビデオ圧縮ビットストリームの復号化後に取得された変換ユニット及び予測ユニットを、MxM残差ブロック及びMxM予測ブロックにそれぞれ変換するように構成される。M=16, 8, 又は4である。
【００５５】
特に、ビデオエンコーダ側で、ビデオエンコーダがビデオに対してHEVC圧縮処理を実行するとき、CTB(Code Tree Block, コードツリーブロック)が基本分割ユニットとして使用され、前記CTBは四分木構造であり、各CTBは1又は4のCU(Code Unit, コードユニット)を含み、CU分割のサイズは固定ではなく、各CUは0,1,又は4つのPU(Prediction Unit, 予測ユニット)を有し、又は各CUは1又は4つのTU(Transform Unit, 変換ユニット)を有する。CUのサイズは、4つの形式8x8, 16x16, 32x32, 及び64x64を含む。
【００５６】
前記ビデオデコーダは、NALからビデオ圧縮ビットストリームを受信し、かつビデオ圧縮ビットストリームを解析した後、変換ユニット及び予測ユニットをそれぞれ取得し、かつビデオデコーダは2の並列処理チャネルを含み、その1つが変換チャネルであり、もう1つが予測チャネルである。前記変換ユニットは残差情報を含み、前記予測ユニットは予測情報を含み、解析によって取得された変換ユニットは、変換チャネルで処理され、かつ予測ユニットは予測チャネルで処理される。変換モジュール10は、ビデオ圧縮ビットストリームにおけるCTBのサイズを使用することによって、変換チャネル上の変換ユニットに対して、分割操作(splitting operation)又は組み合わせ操作を実行し、変換チャネル上にある変換ユニットを、MxMサイズの残差ブロックにそれぞれ変換し、かつ、予測チャネル上にある予測ユニットを、MxMサイズの予測ブロックに変換する。
【００５７】
再構成モジュール11は、前記残差ブロック及び前記予測ブロックに基づいて再構成ピクチャブロックを取得するように構成される。
【００５８】
フィルタリングモジュール12は、再構成ピクチャブロックに対してフィルタリング(例えばデブロッキング効果フィルタリング又は適応補償)を実行することによって、復号化された再構成ピクチャを取得するように構成される。
【００５９】
本発明の実施形態及び方法の実施形態1は、同一の概念に基づいている。詳細なプロセスについては、方法の実施形態1の説明を参照されたく、ここでは省略する。
【００６０】
さらに、図9を参照すると、図9は、本発明の実施形態に基づくビデオデコーダの概略構造図である。この実施形態において、ビデオデコーダは、ビットストリーム解析モジュール13と、逆変換モジュール14と、予測モジュール15と、補間モジュール16と、さらに、前記変換モジュール10と、前記再構成モジュール11と、前記フィルタリングモジュール12とを備える。
【００６１】
ビットストリーム解析モジュール13は、ビデオ圧縮ビットストリームをエントロピー復号化することによって、モード情報と、動きベクトルと、変換係数とを含む構文要素を解析するように構成される。
【００６２】
前記逆変換モジュール14は、変換ユニットを取得するために、変換係数で、逆スキャニングと、逆量子化と、逆変換とを実行するように構成される。
【００６３】
予測モジュール15は、予測ユニットを取得するために、前記動きベクトル及び参照ピクチャに基づいてフレーム間動き補償を実行し、又は前記フレーム内予測ピクチャに基づいてフレーム内動き補償を実行するように構成される。
【００６４】
前記補間モジュール16は、予測ブロックに対して補間処理を実行し、かつ補間処理の後に予測ブロックを再構成モジュールに移すように構成される。
【００６５】
任意に、M=16であり、かつ変換モジュールは復号化されるコードツリーブロックから複数のコードユニットを取得するように構成され、各コードユニットのサイズは2Nx8x8であり、かつN=0, 2, 4, 又は8であり、各コードユニットは少なくとも1の予測ユニット又は少なくとも1の変換ユニットを含み、
もしN=0の場合、前記コードツリーブロックの4のコードユニットを、1の予測ブロック又は残差ブロックに組み合わせ、又は
もしN=2の場合、前記コードツリーブロックの各コードユニットを、1の予測ブロック又は残差ブロックとして直接使用し、又は
もしN=4の場合、前記コードツリーブロックの各コードユニットを、4の予測ブロック又は残差ブロックに分割し、
もしN=8の場合、前記コードツリーブロックの各コードユニットを、16の予測ブロック又は残差ブロックに分割する。
【００６６】
本発明のこの実施形態及び方法の実施形態2は同一の概念に基づいている。詳細なプロセスについては、方法の実施形態2の説明を参照されたく、ここでは省略する。
【００６７】
図10を参照すると、図10は、本発明の実施形態に基づくマルチプロトコルビデオデコーダの概略構造図である。この実施形態において、前記ビデオデコーダはHEVCプロトコル及びH.264プロトコルをサポートし、マルチプロトコルビデオデコーダは2の復号コア、すなわちH.264復号コア及びHEVC復号コアを含み、H.264復号コアはビットストリーム解析モジュール23を含み、H.264復号コアはビットストリーム解析モジュール23と、逆変換モジュール24と、予測モジュール25と、補間モジュール26と、再構成モジュール21と、フィルタリングモジュール22とを備える。HEVC復号コアは、ビットストリーム解析モジュール33と、逆変換モジュール34と、予測モジュール35と、変換モジュール30と、補間モジュール26と、再構成モジュール21と、フィルタリングモジュール22とを備える。トップ解析モジュール37は、ビデオ圧縮ビットストリームのフォーマットを同定するように構成され、もしビデオ圧縮ビットストリームがH.264ビットストリームである場合、ビデオ圧縮ビットストリームはビデオ復号化のためにH.264復号コアに送信され、H.264復号コアは、H.264プロトコルにおける方法を使用することによって、予測チャネル及び変換チャネルに対して予測処理及び変換処理をそれぞれ実行し、かつ予測処理又は変換処理の後、16x16マクロブロックが取得される。もしビデオ圧縮ビットストリームがHEVCビットストリームである場合、ビデオ圧縮ビットストリームが、復号化のためにHEVC復号コアに送信され、かつHEVC復号コアは、予測チャネル上で、取得された予測ユニットをMxM予測ブロックに変換し、かつ同時に変換チャネル上で、取得された変換ユニットをMxM残差ブロックに変換する。前述のパイプライン粒度の変換の後、HEVC復号コアは、H.264復号コアの補間モジュール26と、再構成モジュール21と、フィルタリングモジュール22とを再利用してもよい。同様に、VP9復号コア及びAVS2.0復号コアは、H.264復号コアの補間モジュール26と、再構成モジュール21と、フィルタリングモジュール22とを再利用してもよい。このように、マルチプロトコルビデオデコーダのいくつかのモジュールの開発は減少し、マルチプロトコルビデオデコーダのチップ面積及び電力消費は減少し、かつ開発期間は短縮する。
【００６８】
前述のビデオデコーダは、集積回路の製造プロセスを用いて、集積回路基板上に集積されてもよい。
【００６９】
それに応じて、図11を参照すると、本発明の第4の実施形態はビデオデコーダをさらに提供する。この実施形態において、デコーダ1は、プロセッサ61と、メモリ62と、通信インタフェース63とを備え、前記通信インタフェース63は外部デバイスと通信するように構成される。デコーダ1の中には1又は2以上のプロセッサ61があってもよく、かつ1のプロセッサは、図11における実施例として使用される。本発明のいくつかの実施形態において、プロセッサ61と、メモリ62と、通信インタフェース63とが、バス又は他の手段を使用して、お互いに接続されてもよく、かつバス接続が、図11において実施例として使用される。
【００７０】
メモリ62は、プログラムコードの一群を記憶し、かつプロセッサ61は、メモリ62に記憶されたプログラムコードを起動するように構成され、その結果、以下の動作を実行する。
ビデオ圧縮ビットストリームの復号化後に取得された変換ユニット及び予測ユニットを、MxM残差ブロック及びMxM予測ブロックにそれぞれ変換するステップであって、M=16, 8,又は4であり、かつ、ビデオ圧縮ビットストリームは、高能率ビデオ符号化HEVCビットストリーム、VP9ビットストリーム、及びオーディオビデオ標準AVS2.0ビットストリームのいずれか1つを含む、ステップ、
前記残差ブロック及び前記予測ブロックに基づいて、再構成ピクチャブロックを取得するステップ、及び
前記再構成ピクチャブロックに対してフィルタリングを実行することによって、復号化された再構成ピクチャを取得するステップ。
【００７１】
本発明のこの実施形態において、プロセッサ61はさらに、
ビデオ圧縮ビットストリームをエントロピー復号化することによって、動きベクトル及び変換係数を含む構文要素を解析し、
前記変換ユニットを取得するために、前記変換係数で、逆スキャニングと、逆量子化と、逆変換とを実行し、かつ
前記予測ユニットを取得するために、前記動きベクトル及び参照ピクチャに基づいてフレーム間動き補償を実行するか、又はフレーム内予測ピクチャに基づいてフレーム内動き補償を実行するように構成される。
【００７２】
本発明のいくつかの実施形態において、M=16であり、かつ、プロセッサ61によって実行されるビデオ圧縮ビットストリームの復号化後に取得された変換ユニット及び予測ユニットを、MxM残差ブロック及びMxM予測ブロックにそれぞれ変換する前記ステップは特に、
復号化されるコードツリーブロックの複数のコードユニットを取得するステップであって、各コードユニットのサイズは2Nx8x8であり、かつN=0, 2, 4, 又は8であり、各コードユニットは少なくとも1の予測ユニット又は少なくとも1の変換ユニットを含み、
もしN=0の場合、前記コードツリーブロックの4のコードユニットを、1の予測ブロック又は残差ブロックに組み合わせるステップ、又は
もしN=2の場合、前記コードツリーブロックの各コードユニットを、1の予測ブロック又は残差ブロックとして直接使用するステップ、又は
もしN=4の場合、前記コードツリーブロックの各コードユニットを、4の予測ブロック又は残差ブロックに分割するステップ、又は
もしN=8の場合、前記コードツリーブロックの各コードユニットを、16の予測ブロック又は残差ブロックに分割するステップを含む。
【００７３】
本発明のいくつかの実施形態において、プロセッサ61は予測ブロックに対して画素補間処理を実行するようにさらに構成される。
【００７４】
本発明のいくつかの実施形態において、プロセッサ61によって実行される再構成ピクチャブロックに対してフィルタリングを実行することによって復号化された再構成ピクチャを取得する前記ステップは、特に、
再構成ピクチャブロックに対してデブロッキングフィルタリングを実行することによって、復号化された再構成ピクチャを取得するステップを含み。
【００７５】
本発明のこの実施形態が実施されるとき、異なるサイズである予測ユニット及び変換ユニットが16x16, 8x8, 又は4x4の粒度に変換され、その結果、HEVCプロトコル、VP9プロトコル、又はAVS2.0プロトコルをサポートする復号コアのパイプライン粒度は、マクロブロックに基づく復号コアのパイプライン粒度に等しく、かつ、HEVCプロトコル、VP9プロトコル、又はAVS2.0における復号コアは、3つのプロトコルのうちビデオ復号処理に共通する部分を使用することによって、マクロブロックに基づく復号コアのいくつかのモジュールを再利用してもよく、新たな復号コアのモジュール開発を減少させ、かつHEVCプロトコル、VP9プロトコル、又はAVS2.0プロトコルをサポートするマルチプロトコルビデオデコーダの面積及び電力消費を効果的に減少させる。
【００７６】
当業者は、実施形態における方法のプロセスの全てまたはいくつかは、関連ハードウェアに命令するコンピュータプログラムによって実行されることができると理解できる。前記プログラムは、コンピュータ可読記憶媒体に記憶されてもよい。前記プログラムが動作するとき、実施形態における方法のプロセスが実行される。前述の記憶媒体は、磁気ディスク、光ディスク、読み取り専用メモリ(Read-Only Memory, ROM)、又はランダムアクセスメモリ(Random Access Memory, RAM)を含んでもよい。
【００７７】
上記に開示されているのは、本発明の例示的な実施形態に過ぎず、かつ当然ながら、本発明の保護範囲を限定することを意図していない。当業者は、前述の実施形態を実施するプロセスの全て又はいくつかと、本発明の特許請求の範囲に基づいて成される同等の修正は、本発明の保護範囲内であるものとする。
【符号の説明】
【００７８】
10  変換モジュール
11  再構成モジュール
12  フィルタリングモジュール
13  コードストリーム解析モジュール
14  逆変換モジュール
15  予測モジュール
16  補間モジュール
30  変換モジュール
21  再構成モジュール
22  フィルタリングモジュール
23  コードストリーム解析モジュール
24  逆変換モジュール
25  予測モジュール
26  補間モジュール
33  コードストリーム解析モジュール
34  逆変換モジュール
35  予測モジュール
37  トップ解析モジュール
61  プロセッサ
62  メモリ
63  通信インタフェース
【図１】
0006004407.tif 000002
【図２】
0006004407.tif 000003
【図３】
0006004407.tif 000004
【図４】
0006004407.tif 000005
【図５】
0006004407.tif 000006
【図６】
0006004407.tif 000007
【図７】
0006004407.tif 000008
【図８】
0006004407.tif 000009
【図９】
0006004407.tif 000010
【図１０】
0006004407.tif 000011
【図１１】
0006004407.tif 000012